______ ____ ____ ____ ____ ______ _ ______ .' ____ \ |_ \ / _||_ _| |_ _||_ _ `. (_) .' ___ | | (___ \_| | \/ | \ \ /\ / / | | `. \ __ .--. / .' \_| _.____`. | |\ /| | \ \/ \/ / | | | |[ | ( (`\]| | | \____) | _| |_\/_| |_ \ /\ / _| |_.' / | | `'.'.\ `.___.'\ \______.'|_____||_____| \/ \/ |______.' [___][\__) )`.____ .' This is taken directly off of etherpad.com/SMWDISC, and contains the major indexes, etc. Irrelevant info is taken out. Bank 00 is updated. Commented: Pipe Stuff, hurt/death routines, RESET routine, the SPC700 transfer, part of the game mode table, SNES header, etc. Bank 00 has: Mario Physics, the general initilization for the ROM, basic routines for important game modes, interrupts (RESET, IRQ, NMI, etc.), etc Bank 01 is updated. Commented: $018000-$018B00 has been commented (badly-ish) (I'll have to go back through it.) Basically, $018000-$019000 has been commented- a bit is missing. Also, Status Bar routine and HandleSprCarried (handle sprite carried) routine are mostly-ish documented. Bank 01 has: Mario Physics (?), sprite stuff, Bank 02 is updated. Commented: Generator routines, balloon/cloud control, DropReservedItem, etc Bank 02 has: Sprite stuff, Bank 03 is updated. Commented: First few sprite main routines Bank 03 has: Sprite stuff, Bank 04 is updated. Commented: Nothing Bank 04 has: Overworld stuff Bank 05 is updated. Commented: Nothing, except that I told my tool to add labels to some places Bank 05 has: Layer 2 scrolling commands, layer 3 data (Possibly non-layer 1 data?), the main level loading routine Bank 06 is not updated. Commented: Nothing Bank 06 has: Unknown contents Bank 07 is not updated. Commented: Nothing Bank 07 has: Sprite Misc, Bank 08 is not updated. Commented: Nothing Bank 08 has: Graphics, Bank 09 is not updated. Commented: Nothing Bank 09 has: Graphics, Bank 0A is not updated. Commented: Nothing Bank 0A has: Graphics, Bank 0B is not updated. Commented: Nothing Bank 0B has: Graphics, Bank 0C is not updated. Commented: Nothing Bank 0C has: Credits, Bank 0D is updated. Commented (including freespace, which is just labelled as Empty0Dxxxx): $0DA0A0-$0DBBFF $0DC1A0-$0DC7FF $0DCD90-$0DD3FF $0DD990-$0DE2FF $0DE890-$0DF2FF $0DFE8E-$0DFFFF Stuff I won't put comments on (this is about 48% of the bank, and I put some labels there (I have a tool)): $0D8000-$0DA09F (map16 tables) $0DBC00-$0DC19F (more map16 tables) $0DC800-$0DCD8F (even more map16) $0DD400-$0DD98F (map16 again) $0DE300-$0DE88F (still map16) $0DF300-$0DFE8D (enemy names (credits)) Bank 0D has: The codes for loading the objects (level loading routine), map16 page tables, enemy names (used in the credits), some freespace, and nothing else. Bank 0E is updated. Bank 0E has: Music dat Bank 0F is not updated. Commented: Nothing Bank 0F has: Sample Data, Chat: #SMWDISC on irc.caffie.net Credit: Contributions by: Smallhacker (Hosting ideas, constructive criticisms, etc) 1024 lolcats439 Roy YoshiCookieZeus Imamelia Nicol Bolas Buster Beetle Gekko Kernigh Maxx Edit1754 Alcaro all.log by MikeyK250 Remember: You can get somewhere quick by pressing ctrl+f and typing in the address. $00:8000 seems to consist of the most basic of the code, from the startup to basic DMA and such. EmuRESET: ; Emulation mode RESET interrupt $008000: 78 SEI ; Disable IRQ $008001: 9C 00 42 STZ $4200 ; Disable IRQ, NMI and joypad reading $008004: 9C 0C 42 STZ $420C ; Disable HDMA $008007: 9C 0B 42 STZ $420B ; Disable DMA $00800A: 9C 40 21 STZ $2140 ;\ Clear APU I/O ports (1-4) (End music) $00800D: 9C 41 21 STZ $2141 ;| $008010: 9C 42 21 STZ $2142 ;| $008013: 9C 43 21 STZ $2143 ;/ $008016: A9 80 LDA #$80 ;\ Activate force blank (lowest brightness) $008018: 8D 00 21 STA $2100 ;/ $00801B: 18 CLC ;\ Disable 6502 emulation mode $00801C: FB XCE ;/ $00801D: C2 38 REP #$38 ; Disable decimal mode; widen A, X and Y to 16-bit $00801F: A9 00 00 LDA #$0000 ;\ Set the Direct Page $000000-FF $008022: 5B TCD ;/ (mirror of $7E0000-FF) $008023: A9 FF 01 LDA #$01FF ;\ Set the Stack Pointer $008026: 1B TCS ;/ $008027: A9 A9 F0 LDA #$F0A9 ;\ Create a routine in RAM (see Appendix A) $00802A: 8F 00 80 7F STA $7F8000 ;| $00802E: A2 7D 01 LDX #$017D ;| $008031: A0 FD 03 LDY #$03FD ;| $008034: A9 8D 00 LDA #$008D ;| $008037: 9F 02 80 7F STA $7F8002,X ;| $00803B: 98 TYA ;| $00803C: 9F 03 80 7F STA $7F8003,X ;| $008040: 38 SEC ;| $008041: E9 04 00 SBC #$0004 ;| $008044: A8 TAY ;| $008045: CA DEX ;| $008046: CA DEX ;| $008047: CA DEX ;| $008048: 10 EA BPL $EA [$8034] ;| $00804A: E2 30 SEP #$30 ;| $00804C: A9 6B LDA #$6B ;| $00804E: 8F 82 81 7F STA $7F8182 ;/ $008052: 20 E8 80 JSR $80E8 ; Jump to SPC Upload $008055: 9C 00 01 STZ $0100 ; Clear the game mode $008058: 9C 09 01 STZ $0109 ; Clear the level number $00805B: 20 4E 8A JSR $8A4E ; Clear most of the memory $00805E: 20 FD 80 JSR $80FD ; $008061: 20 50 92 JSR $9250 ; $008064: A9 03 LDA #$03 ;\ Set OAM name base to #$03, clear the name and allow 8x8 and 16x16 sprites $008066: 8D 01 21 STA $2101 ;/ $008069: E6 10 INC $10 ; Bypass the loop the first time $00806B: A5 10 LDA $10 ;\ Loop until $10 isn't 00 (through interrupt?) $00806D: F0 FC BEQ $FC [$806B] ;/ $00806F: 58 CLI ; Enable IRQ $008070: E6 13 INC $13 ; Increment frame number $008072: 20 22 93 JSR $9322 ; $008075: 64 10 STZ $10 ;\ Wait for IRQ/NMI $008077: 80 F2 BRA $F2 [$806B] ;/ ; SPC Upload information is here: http://romhack.wikia.com/wiki/Spc700.rom and http://romhacking.net/docs/197/ SPC700UploadLoop: $008079: 08 PHP ; $00807A: C2 30 REP #$30 ; Make A 16-bit $00807C: A0 00 00 LDY #$0000 ; $00807F: A9 AA BB LDA #$BBAA ;\ Wait until SPC700 is ready to recive data $008082: CD 40 21 CMP $2140 ;| $008085: D0 FB BNE $FB [$8082] ;/ $008087: E2 20 SEP #$20 ; Make A 8-bit $008089: A9 CC LDA #$CC ; Load byte to start transfer routine $00808B: 80 26 BRA $26 [$80B3] ; $00808D: B7 00 LDA [$00],Y ;\ Load the byte of data $00808F: C8 INY ;| (Ensure that the address is shifted properly) $008090: EB XBA ;| $008091: A9 00 LDA #$00 ;| Load the counter(00) $008093: 80 0B BRA $0B [$80A0] ;/ $008095: EB XBA ;\ Load the byte of data $008096: B7 00 LDA [$00],Y ;/ $008098: C8 INY ; Shift the used location appropriately $008099: EB XBA ; Make sure the byte of data is put into APU I/O port 1 $00809A: CD 40 21 CMP $2140 ;\ Wait for $2140 to equal the counter (SPC700 has caught up) $00809D: D0 FB BNE $FB [$809A] ;/ $00809F: 1A INC A ; Increase the counter $0080A0: C2 20 REP #$20 ;\Make A 16-bit to input the byte of data into APU I/O port 1 and the counter into APU I/O port 0 $0080A2: 8D 40 21 STA $2140 ;| $0080A5: E2 20 SEP #$20 ;/Make A 8-bit $0080A7: CA DEX ;\ Repeat this until you have covered the whole block $0080A8: D0 EB BNE $D0 [$8095] ;/ $0080AA: CD 40 21 CMP $2140 ; Then make sure that APU I/O port 0 is the same as X $0080AD: D0 FB BNE $FB [$80AA] ; $0080AF: 69 03 ADC #$03 ;\ Increase the counter by 03 unless it would become 00, in which case, add another 03 to prevent the transfer from ending $0080B1: F0 FC BEQ $FC [$80AF] ;/ $0080B3: 48 PHA ; Push A $0080B4: C2 20 REP #$20 ; Make A 16-bit $0080B6: B7 00 LDA [$00],Y ; Load music data length $0080B8: C8 INY ;\ Get ready to load the address $0080B9: C8 INY ;/ $0080BA: AA TAX ; Put the length in X $0080BB: B7 00 LDA [$00],Y ; Load the address $0080BD: C8 INY ;\ Get ready to load the data $0080BE: C8 INY ;/ $0080BF: 8D 42 21 STA $2142 ; Store the address to APU I/O ports 2 and 3 (SPC700's) $0080C2: E2 20 SEP #$20 ; Make A (8 bit) $0080C4: E0 01 00 CPX #$0001 ; Compare the previous address to 1 (if 0000, the carry flag will not be set and therfore the code will end) $0080C7: A9 00 LDA #$00 ;\ Clear A $0080C9: 2A ROL ;| Puts carry into A $0080CA: 8D 41 21 STA $2141 ;/ End the block transfer $0080CD: 69 7F ADC #$7F ; Set the overflow flag if carry flag is set (Length is over 0000) $0080CF: 68 PLA ;\ Take out A $0080D0: 8D 40 21 STA $2140 ;| Store it into APU I/O port 0. Wait until they are equal (SPC700 has caught up) $0080D3: CD 40 21 CMP $2140 ;| $0080D6: D0 FB BNE $FB [$80D3] ;/ $0080D8: 70 B3 BVS $B3 [$808D] ; If the length was 0000, then finish the routine. Otherwise, loop back. $0080DA: 9C 40 21 STZ $2140 ;\ Clear the APU I/O ports (End transfer) $0080DD: 9C 41 21 STZ $2141 ;| $0080E0: 9C 42 21 STZ $2142 ;| $0080E3: 9C 43 21 STZ $2143 ;/ $0080E6: 28 PLP ; Return the processor's state back to normal $0080E7: 60 RTS ; Return UploadSPCEngine: $0080E8: A9 00 LDA #$00 ;\ 0E8000 is used for most music data, etc. $0080EA: 8D 00 00 STA $0000 ;| ($00-$02 are later used by an LDA [$00],y) $0080ED: A9 80 LDA #$80 ;| $0080EF: 8D 01 00 STA $0001 ;| $0080F2: A9 0E LDA #$0E ;| $0080F4: 8D 02 00 STA $0002 ;/ UploadDataToSPC: $0080F7: 78 SEI ; Prevent IRQ during upload $0080F8: 20 79 80 JSR $8079 ; $0080FB: 58 CLI ; $0080FC: 60 RTS ; UploadSamples: $0080FD: A9 00 LDA #$00 ;\ $0080FF: 8D 00 00 STA $0000 ;| $008102: A9 80 LDA #$80 ;|Loads The Address 0F:8000 to 00-02 (SAMPLE DATA + PTRS) $008104: 8D 01 00 STA $0001 ;|[SPC Sample Pointers/Data ROM Address, this is] $008107: A9 0F LDA #$0F ;| $008109: 8D 02 00 STA $0002 ;/ $00810C: 80 0F BRA $0F [$811D] ; UploadMusicBank1: $00810E: A9 B1 LDA #$B1 ;\ $0E98B1 for music data $008110: 8D 00 00 STA $0000 ;| $008113: A9 98 LDA #$98 ;| $008115: 8D 01 00 STA $0001 ;| $008118: A9 0E LDA #$0E ;| $00811A: 8D 02 00 STA $0002 ;/ StrtSPCMscUpld: $00811D: A9 FF LDA #$FF $00811F: 8D 41 21 STA $2141 ; Tell SPC700 to jump to upload routine? $008122: 20 F7 80 JSR $80F7 ; Jump to upload routine (SNES side) $008125: A2 03 LDX #$03 ;\ Clear APU I/O ports (and SMW mirrors?) SPC700ZeroLoop: $008127: 9E 40 21 STZ $2140,X ;| $00812A: 9E F9 1D STZ $1DF9,X ;| $00812D: 9E FD 1D STZ $1DFD,X ;| $008130: CA DEX ;| $008131: 10 F4 BPL SPC700ZeroLoop ;/ $008133: 60 RTS $008134: AD 25 14 LDA $1425 $008137: D0 0F BNE UploadMusicBank2 $008139: AD 09 01 LDA $0109 $00813C: C9 E9 CMP #$E9 $00813E: F0 08 BEQ UploadMusicBank2 $008140: 0D 1A 14 ORA $141A $008143: 0D 1D 14 ORA $141D $008146: D0 EB BNE $008133 UploadMusicBank2: A9 D6 LDA #$D6 ; \ $00814A: 8D 00 00 STA $0000 ; |Loads the Bank 2 music address(Levels) $00814D: A9 AE LDA #$AE ; | (0E:AED6) $00814F: 8D 01 00 STA $0001 ; | $008152: A9 0E LDA #$0E ; | $008154: 8D 02 00 STA $0002 ; / $008157: 80 C4 BRA StrtSPCMscUpld UploadMusicBank3: A9 00 LDA #$00 ; \ $00815B: 8D 00 00 STA $0000 ; |Bank 3 music(Ending) ROM address $00815E: A9 E4 LDA #$E4 ; | $008160: 8D 01 00 STA $0001 ; | ($03:E400) $008163: A9 03 LDA #$03 ; | $008165: 8D 02 00 STA $0002 ; / $008168: 80 B3 BRA StrtSPCMscUpld NMIStart: $00816A: 78 SEI ; Disable IRQ (Only to be pushed afterwards?) $00816B: 08 PHP ; Push proccessor status flags $00816C: C2 30 REP #$30 ; Make A, X and Y 16-bit (pointless?) $00816E: 48 PHA ;\ Push the registers $00816F: DA PHX ;| $008170: 5A PHY ;| $008171: 8B PHB ;| $008172: 4B PHK ;/ Put the program bank in the data bank $008173: AB PLB ; $008174: E2 30 SEP #$30 ; Make A, X and Y 16-bit $008176: AD 10 42 LDA $4210 ; Possibly required to be read? $008179: AD FB 1D LDA $1DFB ;\ if music is playing $00817C: D0 08 BNE $008186 ;/ don't make it silent (also don't do something with 1DFF $00817E: AC 42 21 LDY $2142 ; $008181: CC FF 1D CPY $1DFF ; $008184: D0 09 BNE $00818F ; $008186: 8D 42 21 STA $2142 ;\ $008189: 8D FF 1D STA $1DFF ;| $00818C: 9C FB 1D STZ $1DFB ;|update and handle all sound addresses $00818F: AD F9 1D LDA $1DF9 ;| (where is $0DDA, I wonder?) $008192: 8D 40 21 STA $2140 ;| $008195: AD FA 1D LDA $1DFA ;| $008198: 8D 41 21 STA $2141 ;| $00819B: AD FC 1D LDA $1DFC ;| $00819E: 8D 43 21 STA $2143 ;| $0081A1: 9C F9 1D STZ $1DF9 ;| $0081A4: 9C FA 1D STZ $1DFA ;| $0081A7: 9C FC 1D STZ $1DFC ;/ $0081AA: A9 80 LDA #$80 ;\ $0081AC: 8D 00 21 STA $2100 ;/ force blank, but why I'm not sure $0081AF: 9C 0C 42 STZ $420C ; unknown register..! $0081B2: A5 41 LDA $41 ;\ $0081B4: 8D 23 21 STA $2123 ;| $0081B7: A5 42 LDA $42 ;| $0081B9: 8D 24 21 STA $2124 ;|Updating all mask/screen mirrors $0081BC: A5 43 LDA $43 ;| $0081BE: 8D 25 21 STA $2125 ;| $0081C1: A5 44 LDA $44 ;| $0081C3: 8D 30 21 STA $2130 ;/ $0081C6: AD 9B 0D LDA $0D9B ;\ if on common modes, make sure that the graphics and CGADSUB stuff is normal $0081C9: 10 03 BPL $0081CE ;/ and then run the NMI routine for normal levels $0081CB: 4C C4 82 JMP $0082C4 ; if on a not-common mode, go to 82C4 ; | ; V It seems a lot of this- for at least x350 bytes- is the very basic handling of lag, levels, exceptions on levels, updating mirrors, etc $0081CE: A5 40 LDA $40 ; \ Get the CGADSUB byte... $0081D0: 29 FB AND #$FB ; |Get the Add/Subtract Select and Enable part... $0081D2: 8D 31 21 STA $2131 ; / ...and store it to the A/SSaE register... ; Add/Subtract Select and Enable $0081D5: A9 09 LDA #$09 ; \ 8x8 tiles, Graphics mode 1 $0081D7: 8D 05 21 STA $2105 ; / ; BG Mode and Tile Size Setting $0081DA: A5 10 LDA $10 ; \ If there isn't any lag, $0081DC: F0 09 BEQ $0081E7 ; / branch to $81E7 $0081DE: AD 9B 0D LDA $0D9B ; \ $0081E1: 4A LSR ; |If not on a special level, branch to NMINotSpecialLv $0081E2: F0 62 BEQ NMINotSpecialLv ; / $0081E4: 4C 7A 82 JMP $00827A ; $0081E7: E6 10 INC $10 $0081E9: 20 88 A4 JSR $00A488 $0081EC: AD 9B 0D LDA $0D9B $0081EF: 4A LSR $0081F0: D0 30 BNE $008222 $0081F2: B0 03 BCS $0081F7 $0081F4: 20 AC 8D JSR DrawStatusBar $0081F7: AD C6 13 LDA $13C6 ; \ $0081FA: C9 08 CMP #$08 ; |If the current cutscene isn't the ending, $0081FC: D0 0B BNE $008209 ; / branch to $8209 $0081FE: AD FE 1F LDA $1FFE ; \ $008201: F0 17 BEQ $00821A ; |Related to reloading the palettes when switching $008203: 22 67 95 0C JSL CODE_0C9567 ; |to another background during the credits. $008207: 80 11 BRA $00821A ; / $008209: 22 AD 87 00 JSL $87AD $00820D: AD 3A 14 LDA $143A $008210: F0 05 BEQ $05 [$8217] $008212: 20 C2 A7 JSR $A7C2 $008215: 80 26 BRA $00823D $008217: 20 90 A3 JSR $00A390 $00821A: 20 36 A4 JSR $00A436 $00821D: 20 00 A3 JSR MarioGFXDMA $008220: 80 1B BRA $00823D $008222: AD D9 13 LDA $13D9 $008225: C9 0A CMP #$0A $008227: D0 0E BNE $008237 $008229: AC E8 1D LDY $1DE8 $00822C: 88 DEY $00822D: 88 DEY $00822E: C0 04 CPY #$04 $008230: B0 05 BCS $008237 $008232: 20 29 A5 JSR $00A529 $008235: 80 0C BRA $008243 $008237: 20 E3 A4 JSR $00A4E3 $00823A: 20 00 A3 JSR MarioGFXDMA $00823D: 20 D2 85 JSR LoadScrnImage $008240: 20 49 84 JSR DoSomeSpriteDMA $008243: 20 50 86 JSR ControllerUpdate NMINotSpecialLv: A5 1A LDA RAM_ScreenBndryXLo ; \ $008248: 8D 0D 21 STA $210D ; |Set BG 1 Horizontal Scroll Offset ; BG 1 Horizontal Scroll Offset $00824B: A5 1B LDA RAM_ScreenBndryXHi ; |to X position of screen boundry $00824D: 8D 0D 21 STA $210D ; / ; BG 1 Horizontal Scroll Offset $008250: A5 1C LDA RAM_ScreenBndryYLo ; \ $008252: 18 CLC ; | $008253: 6D 88 18 ADC RAM_Layer1DispYLo ; |Set BG 1 Vertical Scroll Offset $008256: 8D 0E 21 STA $210E ; |to Y position of screen boundry + Layer 1 disposition ; BG 1 Vertical Scroll Offset $008259: A5 1D LDA RAM_ScreenBndryYHi ; | $00825B: 6D 89 18 ADC RAM_Layer1DispYHi ; | $00825E: 8D 0E 21 STA $210E ; / ; BG 1 Vertical Scroll Offset $008261: A5 1E LDA $1E ; \ $008263: 8D 0F 21 STA $210F ; |Set BG 2 Horizontal Scroll Offset ; BG 2 Horizontal Scroll Offset $008266: A5 1F LDA $1F ; |to X position of Layer 2 $008268: 8D 0F 21 STA $210F ; / ; BG 2 Horizontal Scroll Offset $00826B: A5 20 LDA $20 ; \ $00826D: 8D 10 21 STA $2110 ; |Set BG 2 Vertical Scroll Offset ; BG 2 Vertical Scroll Offset $008270: A5 21 LDA $21 ; |to Y position of Layer 2 $008272: 8D 10 21 STA $2110 ; / ; BG 2 Vertical Scroll Offset $008275: AD 9B 0D LDA $0D9B ; \ If in a normal (not special) level, branch $008278: F0 18 BEQ $008292 ; / $00827A: A9 81 LDA #$81 $00827C: AC C6 13 LDY $13C6 ; \ $00827F: C0 08 CPY #$08 ; |If not playing ending movie, branch to $82A1 $008281: D0 1E BNE $0082A1 ; / $008283: AC AE 0D LDY $0DAE ; \ $008286: 8C 00 21 STY $2100 ; / Set brightness to $0DAE ; Screen Display Register $008289: AC 9F 0D LDY $0D9F ; \ $00828C: 8C 0C 42 STY $420C ; / Set HDMA channel enable to $0D9F ; H-DMA Channel Enable $00828F: 4C 8C 83 JMP IRQNMIEnding CODE_008292: A0 24 LDY.B #$24 ; \ ; IRQ timer, at which scanline the IRQ will be fired. CODE_008294: AD 11 42 LDA.W $4211 ; |(i.e. below the status bar) ; IRQ Flag By H/V Count Timer CODE_008297: 8C 09 42 STY.W $4209 ; | ; V-Count Timer (Upper 8 Bits) CODE_00829A: 9C 0A 42 STZ.W $420A ; / ; V-Count Timer MSB (Bit 0) CODE_00829D: 64 11 STZ $11 CODE_00829F: A9 A1 LDA.B #$A1 CODE_0082A1: 8D 00 42 STA.W $4200 ; NMI, V/H Count, and Joypad Enable CODE_0082A4: 9C 11 21 STZ.W $2111 ; \ ; BG 3 Horizontal Scroll Offset- Write twice register CODE_0082A7: 9C 11 21 STZ.W $2111 ; |Set Layer 3 horizontal and vertical ; BG 3 Horizontal Scroll Offset CODE_0082AA: 9C 12 21 STZ.W $2112 ; |scroll to x00 ; BG 3 Vertical Scroll Offset ; Write twice register CODE_0082AD: 9C 12 21 STZ.W $2112 ; / ; BG 3 Vertical Scroll Offset CODE_0082B0: AD AE 0D LDA.W $0DAE ; \ CODE_0082B3: 8D 00 21 STA.W $2100 ; / Set brightness to $0DAE ; Screen Display Register CODE_0082B6: AD 9F 0D LDA.W $0D9F ; \ CODE_0082B9: 8D 0C 42 STA.W $420C ; / Set HDMA channel enable to $0D9F ; H-DMA Channel Enable CODE_0082BC: C2 30 REP #$30 ; \ Pull all ; Index (16 bit) Accum (16 bit) CODE_0082BE: AB PLB ; | CODE_0082BF: 7A PLY ; | CODE_0082C0: FA PLX ; | CODE_0082C1: 68 PLA ; | CODE_0082C2: 28 PLP ; / CODE_0082C3: 40 RTI ; And return CODE_0082C4: A5 10 LDA $10 ; \ If there is lag, ; Index (8 bit) Accum (8 bit) CODE_0082C6: D0 2F BNE CODE_0082F7 ; / branch to $82F7 CODE_0082C8: E6 10 INC $10 ; make it lag? CODE_0082CA: AD 3A 14 LDA.W $143A ; \ If Mario Start! graphics shouldn't be loaded, CODE_0082CD: F0 05 BEQ CODE_0082D4 ; / branch to $82D4 ADDR_0082CF: 20 C2 A7 JSR.W CODE_00A7C2 ADDR_0082D2: 80 14 BRA CODE_0082E8 CODE_0082D4: 20 36 A4 JSR.W CODE_00A436 ; CODE_0082D7: 20 00 A3 JSR.W MarioGFXDMA ; do DMA for mario (big routine!) CODE_0082DA: 2C 9B 0D BIT.W $0D9B ;\ CODE_0082DD: 50 09 BVC CODE_0082E8 ;/ if not on special type of mode, skip the JSR and such CODE_0082DF: 20 A9 98 JSR.W CODE_0098A9 CODE_0082E2: AD 9B 0D LDA.W $0D9B ;\ CODE_0082E5: 4A LSR ;| CODE_0082E6: B0 03 BCS CODE_0082EB ;/ CODE_0082E8: 20 AC 8D JSR.W DrawStatusBar ;\ CODE_0082EB: 20 88 A4 JSR.W MoreDMA ;| run some important routines CODE_0082EE: 20 D2 85 JSR.W LoadScrnImage ;| CODE_0082F1: 20 49 84 JSR.W DoSomeSpriteDMA ;| CODE_0082F4: 20 50 86 JSR.W ControllerUpdate ;/ CODE_0082F7: A9 09 LDA.B #$09 ;\ Make it mode 1, and Layer 3 have priority CODE_0082F9: 8D 05 21 STA.W $2105 ;/BG Mode and Tile Size Setting CODE_0082FC: A5 2A LDA $2A ;\ CODE_0082FE: 18 CLC ;| Copy over the Mode 7 addresses from their SMW mirrors CODE_0082FF: 69 80 ADC.B #$80 ;| CODE_008301: 8D 1F 21 STA.W $211F ; Mode 7 Center Position X CODE_008304: A5 2B LDA $2B ;| CODE_008306: 69 00 ADC.B #$00 ;| CODE_008308: 8D 1F 21 STA.W $211F ; Mode 7 Center Position X CODE_00830B: A5 2C LDA $2C ;| CODE_00830D: 18 CLC ;| CODE_00830E: 69 80 ADC.B #$80 ;| CODE_008310: 8D 20 21 STA.W $2120 ; Mode 7 Center Position Y CODE_008313: A5 2D LDA $2D ;| CODE_008315: 69 00 ADC.B #$00 ;| CODE_008317: 8D 20 21 STA.W $2120 ; Mode 7 Center Position Y CODE_00831A: A5 2E LDA $2E ;| CODE_00831C: 8D 1B 21 STA.W $211B ; Mode 7 Matrix Parameter A CODE_00831F: A5 2F LDA $2F ;| CODE_008321: 8D 1B 21 STA.W $211B ; Mode 7 Matrix Parameter A CODE_008324: A5 30 LDA $30 ;| CODE_008326: 8D 1C 21 STA.W $211C ; Mode 7 Matrix Parameter B CODE_008329: A5 31 LDA $31 ;| CODE_00832B: 8D 1C 21 STA.W $211C ; Mode 7 Matrix Parameter B CODE_00832E: A5 32 LDA $32 ;| CODE_008330: 8D 1D 21 STA.W $211D ; Mode 7 Matrix Parameter C CODE_008333: A5 33 LDA $33 ;| CODE_008335: 8D 1D 21 STA.W $211D ; Mode 7 Matrix Parameter C CODE_008338: A5 34 LDA $34 ;| CODE_00833A: 8D 1E 21 STA.W $211E ; Mode 7 Matrix Parameter D CODE_00833D: A5 35 LDA $35 ;| CODE_00833F: 8D 1E 21 STA.W $211E ;/Mode 7 Matrix Parameter D CODE_008342: 20 16 84 JSR.W SETL1SCROLL ;scroll layer 1 accordingly (update layer 1) CODE_008345: AD 9B 0D LDA.W $0D9B ;\ CODE_008348: 4A LSR ;| if not in a battle, very special level modes, etc. CODE_008349: 90 11 BCC CODE_00835C ;/ CODE_00834B: AD AE 0D LDA.W $0DAE ;\ update brightness CODE_00834E: 8D 00 21 STA.W $2100 ;/Screen Display Register CODE_008351: AD 9F 0D LDA.W $0D9F ;\ CODE_008354: 8D 0C 42 STA.W $420C ;/H-DMA Channel Enable CODE_008357: A9 81 LDA.B #$81 ;\ CODE_008359: 4C F3 83 JMP.W CODE_0083F3 ;/ update more layer position mirrors and such CODE_00835C: A0 24 LDY.B #$24 CODE_00835E: 2C 9B 0D BIT.W $0D9B ;\ CODE_008361: 50 0E BVC CODE_008371 ;/ if not on special mode, update part of game (mostly) CODE_008363: AD FC 13 LDA.W $13FC CODE_008366: 0A ASL CODE_008367: AA TAX CODE_008368: BD E8 F8 LDA.W DATA_00F8E8,X CODE_00836B: C9 2A CMP.B #$2A CODE_00836D: D0 02 BNE CODE_008371 CODE_00836F: A0 2D LDY.B #$2D CODE_008371: 4C 94 82 JMP.W CODE_008294 IRQHandler: 78 SEI ; Set Interrupt flag so routine can start IRQStart: 08 PHP ; \ Save A/X/Y/P/B CODE_008376: C2 30 REP #$30 ; |P = Processor Flags, B = bank number for all $xxxx operations ; Index (16 bit) Accum (16 bit) CODE_008378: 48 PHA ; |Set B to 0$0 CODE_008379: DA PHX ; | CODE_00837A: 5A PHY ; | CODE_00837B: 8B PHB ; | CODE_00837C: 4B PHK ; | CODE_00837D: AB PLB ; / CODE_00837E: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_008380: AD 11 42 LDA.W $4211 ; Read the IRQ register, 'unapply' the interrupt ; IRQ Flag By H/V Count Timer CODE_008383: 10 2D BPL CODE_0083B2 ; If "Timer IRQ" is clear, skip the next code block CODE_008385: A9 81 LDA.B #$81 CODE_008387: AC 9B 0D LDY.W $0D9B CODE_00838A: 30 2E BMI CODE_0083BA ; If Bit 7 (negative flag) is set, branch to a different IRQ mode IRQNMIEnding: 8D 00 42 STA.W $4200 ; Enable NMI Interrupt and Automatic Joypad reading ; NMI, V/H Count, and Joypad Enable CODE_00838F: A0 1F LDY.B #$1F ; CODE_008391: 20 3B 84 JSR.W WaitForHBlank ; Wait for H-blank CODE_008394: A5 22 LDA $22 ; \ Adjust scroll settings for layer 3 CODE_008396: 8D 11 21 STA.W $2111 ; | ; BG 3 Horizontal Scroll Offset CODE_008399: A5 23 LDA $23 ; | CODE_00839B: 8D 11 21 STA.W $2111 ; | ; BG 3 Horizontal Scroll Offset CODE_00839E: A5 24 LDA $24 ; | CODE_0083A0: 8D 12 21 STA.W $2112 ; | ; BG 3 Vertical Scroll Offset CODE_0083A3: A5 25 LDA $25 ; | CODE_0083A5: 8D 12 21 STA.W $2112 ; / ; BG 3 Vertical Scroll Offset CODE_0083A8: A5 3E LDA $3E ; \Set the layer BG sizes, L3 priority, and BG mode CODE_0083AA: 8D 05 21 STA.W $2105 ; /(Effectively, this is the screen mode) ; BG Mode and Tile Size Setting CODE_0083AD: A5 40 LDA $40 ; \Write CGADSUB CODE_0083AF: 8D 31 21 STA.W $2131 ; / ; Add/Subtract Select and Enable CODE_0083B2: C2 30 REP #$30 ; \ Pull everything back ; Index (16 bit) Accum (16 bit) CODE_0083B4: AB PLB ; | CODE_0083B5: 7A PLY ; | CODE_0083B6: FA PLX ; | CODE_0083B7: 68 PLA ; | CODE_0083B8: 28 PLP ; / EmptyHandler: 40 RTI ; And Return CODE_0083BA: 2C 9B 0D BIT.W $0D9B ; Get bit 6 of $0D9B ; Index (8 bit) Accum (8 bit) CODE_0083BD: 50 24 BVC CODE_0083E3 ; If clear, skip the next code section CODE_0083BF: A4 11 LDY $11 ; \Skip if $11 = 0 CODE_0083C1: F0 0D BEQ CODE_0083D0 ; / CODE_0083C3: 8D 00 42 STA.W $4200 ; #$81 -> NMI / Controller Enable reg ; NMI, V/H Count, and Joypad Enable CODE_0083C6: A0 14 LDY.B #$14 CODE_0083C8: 20 3B 84 JSR.W WaitForHBlank CODE_0083CB: 20 16 84 JSR.W SETL1SCROLL CODE_0083CE: 80 D8 BRA CODE_0083A8 CODE_0083D0: E6 11 INC $11 ; $11++ CODE_0083D2: AD 11 42 LDA.W $4211 ; \ Set up the IRQ routine for layer 3 ; IRQ Flag By H/V Count Timer CODE_0083D5: A9 AE LDA.B #$AE ; |-\ CODE_0083D7: 38 SEC ; | |Vertical Counter trigger at 174 - $1888 CODE_0083D8: ED 88 18 SBC.W RAM_Layer1DispYLo ; |-/ Oddly enough, $1888 seems to be 16-bit, but the CODE_0083DB: 8D 09 42 STA.W $4209 ; |Store to Vertical Counter Timer ; V-Count Timer (Upper 8 Bits) CODE_0083DE: 9C 0A 42 STZ.W $420A ; / Make the high byte of said timer 0 ; V-Count Timer MSB (Bit 0) CODE_0083E1: A9 A1 LDA.B #$A1 ; A = NMI enable, V count enable, joypad automatic read enable, H count disable CODE_0083E3: AC 93 14 LDY.W $1493 ; if $1493 = 0 skip down CODE_0083E6: F0 0B BEQ CODE_0083F3 CODE_0083E8: AC 95 14 LDY.W $1495 ; \ If $1495 is <#$40 CODE_0083EB: C0 40 CPY.B #$40 ; | CODE_0083ED: 90 04 BCC CODE_0083F3 ; / Skip down CODE_0083EF: A9 81 LDA.B #$81 CODE_0083F1: 80 99 BRA IRQNMIEnding ; Jump up to IRQNMIEnding CODE_0083F3: 8D 00 42 STA.W $4200 ; A -> NMI/Joypad Auto-Read/HV-Count Control Register ; NMI, V/H Count, and Joypad Enable CODE_0083F6: 20 39 84 JSR.W CODE_008439 CODE_0083F9: EA NOP ; \Not often you see NOP, I think there was a JSL here at one point maybe CODE_0083FA: EA NOP ; / CODE_0083FB: A9 07 LDA.B #$07 ; \Write Screen register CODE_0083FD: 8D 05 21 STA.W $2105 ; / ; BG Mode and Tile Size Setting CODE_008400: A5 3A LDA $3A ; \ Write L1 Horizontal scroll CODE_008402: 8D 0D 21 STA.W $210D ; | ; BG 1 Horizontal Scroll Offset CODE_008405: A5 3B LDA $3B ; | CODE_008407: 8D 0D 21 STA.W $210D ; / ; BG 1 Horizontal Scroll Offset CODE_00840A: A5 3C LDA $3C ; \ Write L1 Vertical Scroll CODE_00840C: 8D 0E 21 STA.W $210E ; | ; BG 1 Vertical Scroll Offset CODE_00840F: A5 3D LDA $3D ; | CODE_008411: 8D 0E 21 STA.W $210E ; / ; BG 1 Vertical Scroll Offset CODE_008414: 80 9C BRA CODE_0083B2 ; And exit IRQ SETL1SCROLL: A9 59 LDA.B #$59 ; \ CODE_008418: 8D 07 21 STA.W $2107 ; /Write L1 GFX source address ; BG 1 Address and Size CODE_00841B: A9 07 LDA.B #$07 ; \Write L1/L2 Tilemap address CODE_00841D: 8D 0B 21 STA.W $210B ; / ; BG 1 & 2 Tile Data Designation CODE_008420: A5 1A LDA RAM_ScreenBndryXLo ; \ Write L1 Horizontal scroll CODE_008422: 8D 0D 21 STA.W $210D ; | ; BG 1 Horizontal Scroll Offset CODE_008425: A5 1B LDA RAM_ScreenBndryXHi ; | CODE_008427: 8D 0D 21 STA.W $210D ; / ; BG 1 Horizontal Scroll Offset CODE_00842A: A5 1C LDA RAM_ScreenBndryYLo ; \ $1C + $1888 -> L1 Vert scroll CODE_00842C: 18 CLC ; |$1888 = Some sort of vertioffset CODE_00842D: 6D 88 18 ADC.W RAM_Layer1DispYLo ; | CODE_008430: 8D 0E 21 STA.W $210E ; / ; BG 1 Vertical Scroll Offset CODE_008433: A5 1D LDA RAM_ScreenBndryYHi ; \Other half of L1 vert scroll CODE_008435: 8D 0E 21 STA.W $210E ; / ; BG 1 Vertical Scroll Offset Return008438: 60 RTS ; Return CODE_008439: A0 20 LDY.B #$20 ; <<- Could this be just to waste time? WaitForHBlank: 2C 12 42 BIT.W $4212 ; So... LDY gets set with 20 if there is a H-Blank...? ; H/V Blank Flags and Joypad Status CODE_00843E: 70 F9 BVS CODE_008439 ; if in H-Blank, make Y #$20 and try again CODE_008440: 2C 12 42 BIT.W $4212 ; Now wait until not in H-Blank ; H/V Blank Flags and Joypad Status CODE_008443: 50 FB BVC CODE_008440 CODE_008445: 88 DEY ; |Y = 0 CODE_008446: D0 FD BNE CODE_008445 ; / ...wait a second... why didn't they just do LDY #$00? ...waste more time? Return008448: 60 RTS ; return DoSomeSpriteDMA: 9C 00 43 STZ.W $4300 ; Parameters for DMA Transfer CODE_00844C: C2 20 REP #$20 ; Accum (16 bit) CODE_00844E: 9C 02 21 STZ.W $2102 ; OAM address ; Address for Accessing OAM CODE_008451: A9 04 00 LDA.W #$0004 CODE_008454: 8D 01 43 STA.W $4301 ; Dest. address = $2104 (data write to OAM) ; B Address CODE_008457: A9 02 00 LDA.W #$0002 CODE_00845A: 8D 03 43 STA.W $4303 ; Source address = $00:0200 ; A Address (High Byte) CODE_00845D: A9 20 02 LDA.W #$0220 CODE_008460: 8D 05 43 STA.W $4305 ; $0220 bytes to transfer ; Number Bytes to Transfer (Low Byte) (DMA) CODE_008463: A0 01 LDY.B #$01 CODE_008465: 8C 0B 42 STY.W $420B ; Start DMA ; Regular DMA Channel Enable CODE_008468: E2 20 SEP #$20 ; Accum (8 bit) CODE_00846A: A9 80 LDA.B #$80 ; \ CODE_00846C: 8D 03 21 STA.W $2103 ; | CODE_00846F: A5 3F LDA $3F ; |Change the OAM read/write address to #$8000 + $3F CODE_008471: 8D 02 21 STA.W $2102 ; / ; Address for Accessing OAM Return008474: 60 RTS ; Return DATA_008475: .db $00,$00,$08,$00,$10,$00,$18,$00 .db $20,$00,$28,$00,$30,$00,$38,$00 .db $40,$00,$48,$00,$50,$00,$58,$00 .db $60,$00,$68,$00,$70,$00,$78 CODE_008494: A0 1E LDY.B #$1E CODE_008496: BE 75 84 LDX.W DATA_008475,Y CODE_008499: BD 23 04 LDA.W $0423,X CODE_00849C: 0A ASL CODE_00849D: 0A ASL CODE_00849E: 1D 22 04 ORA.W $0422,X CODE_0084A1: 0A ASL CODE_0084A2: 0A ASL CODE_0084A3: 1D 21 04 ORA.W $0421,X CODE_0084A6: 0A ASL CODE_0084A7: 0A ASL CODE_0084A8: 1D 20 04 ORA.W $0420,X CODE_0084AB: 99 00 04 STA.W $0400,Y CODE_0084AE: BD 27 04 LDA.W $0427,X CODE_0084B1: 0A ASL CODE_0084B2: 0A ASL CODE_0084B3: 1D 26 04 ORA.W $0426,X CODE_0084B6: 0A ASL CODE_0084B7: 0A ASL CODE_0084B8: 1D 25 04 ORA.W $0425,X CODE_0084BB: 0A ASL CODE_0084BC: 0A ASL CODE_0084BD: 1D 24 04 ORA.W $0424,X CODE_0084C0: 99 01 04 STA.W $0401,Y CODE_0084C3: 88 DEY CODE_0084C4: 88 DEY CODE_0084C5: 10 CF BPL CODE_008496 Return0084C7: 60 RTS CODE_0084C8: 8B PHB ; Wrapper CODE_0084C9: 4B PHK CODE_0084CA: AB PLB CODE_0084CB: 20 D2 85 JSR.W LoadScrnImage CODE_0084CE: AB PLB Return0084CF: 6B RTL ImagePointers: 7D 83 7F .dw $837D .db $7F ; Not used? 75 B3 05 .dw DATA_05B375 .db :$DATA_05B375 ; Title screen 00 A4 04 .dw DATA_04A400 .db :$DATA_04A400 ; OW border FF B0 05 .dw DATA_05B0FF .db :$DATA_05B0FF 1C B9 05 .dw DATA_05B91C .db :$DATA_05B91C ; CONTINUE/END 00 B8 0C .dw DATA_0CB800 .db :$DATA_0CB800 72 B8 05 .dw DATA_05B872 .db :$DATA_05B872 ; 1 PLAYER GAME/2 PLAYER GAME 9F 81 04 .dw DATA_04819F .db :$DATA_04819F ; OW scroll arrows E0 81 04 .dw DATA_0481E0 .db :$DATA_0481E0 ; Remove OW scroll arrows 99 F4 04 .dw DATA_04F499 .db :$DATA_04F499 C7 B8 05 .dw DATA_05B8C7 .db :$DATA_05B8C7 ; CONTINUE AND SAVE F1 BF 0C .dw DATA_0CBFF1 .db :$DATA_0CBFF1 C3 BF 0C .dw DATA_0CBFC3 .db :$DATA_0CBFC3 ; Cutscene 1 text: Line 7 8E BF 0C .dw DATA_0CBF8E .db :$DATA_0CBF8E ; Cutscene 1 text: Line 6 59 BF 0C .dw DATA_0CBF59 .db :$DATA_0CBF59 ; Cutscene 1 text: Line 5 24 BF 0C .dw DATA_0CBF24 .db :$DATA_0CBF24 ; Cutscene 1 text: Line 4 EF BE 0C .dw DATA_0CBEEF .db :$DATA_0CBEEF ; Cutscene 1 text: Line 3 BA BE 0C .dw DATA_0CBEBA .db :$DATA_0CBEBA ; Cutscene 1 text: Line 2 85 BE 0C .dw DATA_0CBE85 .db :$DATA_0CBE85 ; Cutscene 1 text: Line 1 65 C1 0C .dw DATA_0CC165 .db :$DATA_0CC165 ; Cutscene 2 text: Line 8 30 C1 0C .dw DATA_0CC130 .db :$DATA_0CC130 ; Cutscene 2 text: Line 7 FB C0 0C .dw DATA_0CC0FB .db :$DATA_0CC0FB ; Cutscene 2 text: Line 6 C6 C0 0C .dw DATA_0CC0C6 .db :$DATA_0CC0C6 91 C0 0C .dw DATA_0CC091 .db :$DATA_0CC091 ; ...etc... 5C C0 0C .dw DATA_0CC05C .db :$DATA_0CC05C 27 C0 0C .dw DATA_0CC027 .db :$DATA_0CC027 F2 BF 0C .dw DATA_0CBFF2 .db :$DATA_0CBFF2 F1 BF 0C .dw DATA_0CBFF1 .db :$DATA_0CBFF1 CE C2 0C .dw DATA_0CC2CE .db :$DATA_0CC2CE 99 C2 0C .dw DATA_0CC299 .db :$DATA_0CC299 64 C2 0C .dw DATA_0CC264 .db :$DATA_0CC264 2F C2 0C .dw DATA_0CC22F .db :$DATA_0CC22F FA C1 0C .dw DATA_0CC1FA .db :$DATA_0CC1FA C5 C1 0C .dw DATA_0CC1C5 .db :$DATA_0CC1C5 90 C1 0C .dw DATA_0CC190 .db :$DATA_0CC190 6C C4 0C .dw DATA_0CC46C .db :$DATA_0CC46C 37 C4 0C .dw DATA_0CC437 .db :$DATA_0CC437 02 C4 0C .dw DATA_0CC402 .db :$DATA_0CC402 CD C3 0C .dw DATA_0CC3CD .db :$DATA_0CC3CD 98 C3 0C .dw DATA_0CC398 .db :$DATA_0CC398 63 C3 0C .dw DATA_0CC363 .db :$DATA_0CC363 2E C3 0C .dw DATA_0CC32E .db :$DATA_0CC32E F9 C2 0C .dw DATA_0CC2F9 .db :$DATA_0CC2F9 F1 BF 0C .dw DATA_0CBFF1 .db :$DATA_0CBFF1 DD C5 0C .dw DATA_0CC5DD .db :$DATA_0CC5DD A8 C5 0C .dw DATA_0CC5A8 .db :$DATA_0CC5A8 73 C5 0C .dw DATA_0CC573 .db :$DATA_0CC573 3E C5 0C .dw DATA_0CC53E .db :$DATA_0CC53E 09 C5 0C .dw DATA_0CC509 .db :$DATA_0CC509 D4 C4 0C .dw DATA_0CC4D4 .db :$DATA_0CC4D4 9F C4 0C .dw DATA_0CC49F .db :$DATA_0CC49F 85 C7 0C .dw DATA_0CC785 .db :$DATA_0CC785 50 C7 0C .dw DATA_0CC750 .db :$DATA_0CC750 1B C7 0C .dw DATA_0CC71B .db :$DATA_0CC71B E6 C6 0C .dw DATA_0CC6E6 .db :$DATA_0CC6E6 B1 C6 0C .dw DATA_0CC6B1 .db :$DATA_0CC6B1 7C C6 0C .dw DATA_0CC67C .db :$DATA_0CC67C 47 C6 0C .dw DATA_0CC647 .db :$DATA_0CC647 12 C6 0C .dw DATA_0CC612 .db :$DATA_0CC612 2D C9 0C .dw DATA_0CC92D .db :$DATA_0CC92D F8 C8 0C .dw DATA_0CC8F8 .db :$DATA_0CC8F8 C3 C8 0C .dw DATA_0CC8C3 .db :$DATA_0CC8C3 8E C8 0C .dw DATA_0CC88E .db :$DATA_0CC88E 59 C8 0C .dw DATA_0CC859 .db :$DATA_0CC859 24 C8 0C .dw DATA_0CC824 .db :$DATA_0CC824 EF C7 0C .dw DATA_0CC7EF .db :$DATA_0CC7EF BA C7 0C .dw DATA_0CC7BA .db :$DATA_0CC7BA 56 BA 0C .dw DATA_0CBA56 .db :$DATA_0CBA56 ; Cutscene border, cave ground B9 BB 0C .dw DATA_0CBBB9 .db :$DATA_0CBBB9 BF B9 0C .dw DATA_0CB9BF .db :$DATA_0CB9BF 80 93 0C .dw DATA_0C9380 .db :$DATA_0C9380 36 B6 0C .dw DATA_0CB636 .db :$DATA_0CB636 ; Ending: THE END 00 F3 0D .dw DATA_0DF300 .db :$DATA_0DF300 ; Ending: Enemies: Lakitu 2D F4 0D .dw DATA_0DF42D .db :$DATA_0DF42D ; Ending: Enemies: Hammer Bro. 72 F5 0D .dw DATA_0DF572 .db :$DATA_0DF572 ; Ending: Enemies: Pokey 6B F6 0D .dw DATA_0DF66B .db :$DATA_0DF66B ; Ending: Enemies: Rex 42 F7 0D .dw DATA_0DF742 .db :$DATA_0DF742 ; Ending: Enemies: Dino-Rhino 37 F8 0D .dw DATA_0DF837 .db :$DATA_0DF837 ; Ending: Enemies: Blargg FA F8 0D .dw DATA_0DF8FA .db :$DATA_0DF8FA ; Ending: Enemies: Urchin CD F9 0D .dw DATA_0DF9CD .db :$DATA_0DF9CD ; Ending: Enemies: Boo 98 FA 0D .dw DATA_0DFA98 .db :$DATA_0DFA98 ; Ending: Enemies: Dry Bones 73 FB 0D .dw DATA_0DFB73 .db :$DATA_0DFB73 ; Ending: Enemies: Grinder 58 FC 0D .dw DATA_0DFC58 .db :$DATA_0DFC58 ; Ending: Enemies: Reznor D5 FC 0D .dw DATA_0DFCD5 .db :$DATA_0DFCD5 ; Ending: Enemies: Mechakoopa 5C FD 0D .dw DATA_0DFD5C .db :$DATA_0DFD5C ; Ending: Enemies: Bowser 02 BD 0C .dw DATA_0CBD02 .db :$DATA_0CBD02 LoadScrnImage: A4 12 LDY $12 ; 12 = Image loader CODE_0085D4: B9 D0 84 LDA.W ImagePointers,Y ; \ CODE_0085D7: 85 00 STA $00 ; | CODE_0085D9: B9 D1 84 LDA.W ImagePointers+1,Y ; |Load pointer CODE_0085DC: 85 01 STA $01 ; | CODE_0085DE: B9 D2 84 LDA.W ImagePointers+2,Y ; | CODE_0085E1: 85 02 STA $02 ; / CODE_0085E3: 20 1E 87 JSR.W CODE_00871E CODE_0085E6: A5 12 LDA $12 CODE_0085E8: D0 0D BNE CODE_0085F7 CODE_0085EA: 8F 7B 83 7F STA.L $7F837B CODE_0085EE: 8F 7C 83 7F STA.L $7F837C CODE_0085F2: 3A DEC A CODE_0085F3: 8F 7D 83 7F STA.L $7F837D CODE_0085F7: 64 12 STZ $12 ; Do not reload the same thing next frame Return0085F9: 60 RTS CODE_0085FA: 20 7D 93 JSR.W TurnOffIO CODE_0085FD: A9 FC LDA.B #$FC CODE_0085FF: 85 00 STA $00 CODE_008601: 9C 15 21 STZ.W $2115 ; Set "VRAM Address Increment Value" to x00 ; VRAM Address Increment Value CODE_008604: 9C 16 21 STZ.W $2116 ; Set "Address for VRAM Read/Write (Low Byte)" to x00 ; Address for VRAM Read/Write (Low Byte) CODE_008607: A9 50 LDA.B #$50 ; \ Set "Address for VRAM Read/Write (High Byte)" to x50 CODE_008609: 8D 17 21 STA.W $2117 ; / ; Address for VRAM Read/Write (High Byte) CODE_00860C: A2 06 LDX.B #$06 CODE_00860E: BD 49 86 LDA.W DATA_008649,X CODE_008611: 9D 10 43 STA.W $4310,X CODE_008614: CA DEX CODE_008615: 10 F7 BPL CODE_00860E CODE_008617: A0 02 LDY.B #$02 ; DMA something to VRAM, my guess is a tilemap... CODE_008619: 8C 0B 42 STY.W $420B ; Regular DMA Channel Enable CODE_00861C: A9 38 LDA.B #$38 CODE_00861E: 85 00 STA $00 CODE_008620: A9 80 LDA.B #$80 CODE_008622: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_008625: 9C 16 21 STZ.W $2116 ; \Change CRAM address ; Address for VRAM Read/Write (Low Byte) CODE_008628: A9 50 LDA.B #$50 ; | CODE_00862A: 8D 17 21 STA.W $2117 ; / ; Address for VRAM Read/Write (High Byte) CODE_00862D: A2 06 LDX.B #$06 ; And Repeat the DMA CODE_00862F: BD 49 86 LDA.W DATA_008649,X CODE_008632: 9D 10 43 STA.W $4310,X CODE_008635: CA DEX CODE_008636: 10 F7 BPL CODE_00862F CODE_008638: A9 19 LDA.B #$19 ; \but change desination address to $2119 CODE_00863A: 8D 11 43 STA.W $4311 ; / ; B Address CODE_00863D: 8C 0B 42 STY.W $420B ; Start DMA ; Regular DMA Channel Enable CODE_008640: 64 3F STZ $3F ; $3B = 0 (not sure what $3B is) CODE_008642: 22 00 80 7F JSL.L RAM_7F8000 ; and JSL to a RAM routine CODE_008646: 4C 49 84 JMP.W DoSomeSpriteDMA ; Jump to the next part of this routine DATA_008649: .db $08,$18,$00,$00,$00,$00,$10 ControllerUpdate: AD 18 42 LDA.W $4218 ; \ ; Joypad 1Data (Low Byte) CODE_008653: 29 F0 AND.B #$F0 ; | CODE_008655: 8D A4 0D STA.W $0DA4 ; | CODE_008658: A8 TAY ; | CODE_008659: 4D AC 0D EOR.W $0DAC ; | CODE_00865C: 2D A4 0D AND.W $0DA4 ; | CODE_00865F: 8D A8 0D STA.W $0DA8 ; | CODE_008662: 8C AC 0D STY.W $0DAC ; | CODE_008665: AD 19 42 LDA.W $4219 ; | ; Joypad 1Data (High Byte) CODE_008668: 8D A2 0D STA.W $0DA2 ; | CODE_00866B: A8 TAY ; | CODE_00866C: 4D AA 0D EOR.W $0DAA ; | CODE_00866F: 2D A2 0D AND.W $0DA2 ; | CODE_008672: 8D A6 0D STA.W RAM_OWControllerA ; | CODE_008675: 8C AA 0D STY.W $0DAA ; |Read controller data CODE_008678: AD 1A 42 LDA.W $421A ; | ; Joypad 2Data (Low Byte) CODE_00867B: 29 F0 AND.B #$F0 ; | CODE_00867D: 8D A5 0D STA.W $0DA5 ; | CODE_008680: A8 TAY ; | CODE_008681: 4D AD 0D EOR.W $0DAD ; | CODE_008684: 2D A5 0D AND.W $0DA5 ; | CODE_008687: 8D A9 0D STA.W $0DA9 ; | CODE_00868A: 8C AD 0D STY.W $0DAD ; | CODE_00868D: AD 1B 42 LDA.W $421B ; | ; Joypad 2Data (High Byte) CODE_008690: 8D A3 0D STA.W $0DA3 ; | CODE_008693: A8 TAY ; | CODE_008694: 4D AB 0D EOR.W $0DAB ; | CODE_008697: 2D A3 0D AND.W $0DA3 ; | CODE_00869A: 8D A7 0D STA.W $0DA7 ; | CODE_00869D: 8C AB 0D STY.W $0DAB ; / CODE_0086A0: AE A0 0D LDX.W $0DA0 ; \ CODE_0086A3: 10 03 BPL CODE_0086A8 ; |If $0DA0 is positive, set X to $0DA0 ADDR_0086A5: AE B3 0D LDX.W $0DB3 ; |Otherwise, set X to current character CODE_0086A8: BD A4 0D LDA.W $0DA4,X ; \ CODE_0086AB: 29 C0 AND.B #$C0 ; | CODE_0086AD: 1D A2 0D ORA.W $0DA2,X ; | CODE_0086B0: 85 15 STA RAM_ControllerA ; | CODE_0086B2: BD A4 0D LDA.W $0DA4,X ; | CODE_0086B5: 85 17 STA RAM_ControllerB ; |Update controller data bytes CODE_0086B7: BD A8 0D LDA.W $0DA8,X ; | CODE_0086BA: 29 40 AND.B #$40 ; | CODE_0086BC: 1D A6 0D ORA.W RAM_OWControllerA,X ; | CODE_0086BF: 85 16 STA $16 ; | CODE_0086C1: BD A8 0D LDA.W $0DA8,X ; | CODE_0086C4: 85 18 STA $18 ; / Return0086C6: 60 RTS ; Return CODE_0086C7: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0086C9: A2 62 00 LDX.W #$0062 CODE_0086CC: A9 02 02 LDA.W #$0202 CODE_0086CF: 9D 20 04 STA.W $0420,X CODE_0086D2: CA DEX CODE_0086D3: CA DEX CODE_0086D4: 10 F9 BPL CODE_0086CF CODE_0086D6: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0086D8: A9 F0 LDA.B #$F0 CODE_0086DA: 22 2E 81 7F JSL.L RAM_7F812E Return0086DE: 60 RTS ;;; JSL trampoline ;;; precondition that A, X, Y are 8-bit registers ;;; takes A = index/2 to table ;;; destroys RAM $00..$03 ;;; preserves X, Y, RAM $04..$0f ;;; ;;; [Usage] ;;; JSL ExecutePtr ;;; .db $nn, $mm ; jump $mmnn if A == 0 ;;; .db $nn, $mm ; jump $mmnn if A == 1 ;;; .db $nn, $mm ; jump $mmnn if A == 2 ;;; ... ;;; [Alternative] ;;; JMP (MyTable,X) ;;; MyTable: ;;; .db $nn, $mm ; jump $mmnn if X == 0 ;;; .db $nn, $mm ; jump $mmnn if X == 2 ;;; .db $nn, $mm ; jump $mmnn if X == 4 ;;; ... ;;; ;;; Jumps to an address in a table. The accumulator A selects the address. ;;; ;;; ExecutePtr is a trampoline, not a subroutine. This trampoline never returns. The JSL pushes the ;;; long address of the table minus 1; this trampoline pulls it to find the table. ;;; ;;; JMP (MyTable,X) is better than JSL ExecutePtr in new code. The trampoline might be a port from ;;; the 6502 (the processor in the NES). The only JMP instructions of the 6502 were JMP $mmnn and ;;; JMP ($mmnn); there was no JMP ($mmnn,X). The base hack of SMW was Super Mario Bros. 3 (NES); I ;;; wonder if a search for "7a 84 00 0a a8" would find the trampoline in SMB3. When the hackers at ;;; Nintendo ported code from SMB3 to the 65816, a port of the trampoline would have been easier ;;; than a replacement of the trampoline with JMP (MyTable,X). ;;; ExecutePtr: 84 03 STY $03 ; "Push" Y {to RAM $03, not the stack} ;; ;; JSL ExecutePtr pushes return address - 1 to the stack. The stack grows down, ;; so we pull the low byte, then the high byte, then the bank byte. ;; CODE_0086E1: 7A PLY ; \ RAM $00 = low byte CODE_0086E2: 84 00 STY $00 ; / of (return address - 1) CODE_0086E4: C2 30 REP #$30 ; 16-bit A,X,Y CODE_0086E6: 29 FF 00 AND.W #$00FF ; Set high byte of A to zero CODE_0086E9: 0A ASL ; \ Y = A * 2 {because table contains CODE_0086EA: A8 TAY ; / 2-byte addresses} CODE_0086EB: 68 PLA ; \ RAM $01 = high byte CODE_0086EC: 85 01 STA $01 ; / RAM $02 = bank byte CODE_0086EE: C8 INY ; Y = Y + 1 {to find start of table} CODE_0086EF: B7 00 LDA [$00],Y ; \ RAM $00..$01 = address from table CODE_0086F1: 85 00 STA $00 ; / CODE_0086F3: E2 30 SEP #$30 ; 8-bit A,X,Y CODE_0086F5: A4 03 LDY $03 ; "Pull" Y from RAM $03 CODE_0086F7: DC 00 00 JMP [$0000] ; Jump to address in RAM $00..$02 ;;; JSL trampoline ;;; precondition that A, X, Y are 8-bit registers ;;; takes A = index/3 to table ;;; destroys RAM $00..$05 ;;; preserves X, Y, RAM $06..$0f ;;; ;;; [Usage] ;;; JSL ExecutePtrLong ;;; .db $nn, $mm, $kk ; jump $kkmmnn if A == 0 ;;; .db $nn, $mm, $kk ; jump $kkmmnn if A == 1 ;;; .db $nn, $mm, $kk ; jump $kkmmnn if A == 2 ;;; ... ;;; ;;; Jumps to a long address in a table. This variant of ExecutePtr uses 24-bit addresses instead of ;;; of 16-bit addresses. See above comments for ExecutePtr. This trampoline has no equivalent JMP ;;; instruction, so you might use JSL ExecutePtrLong in new code. ;;; ExecutePtrLong: 84 05 STY $05 ; "Push" Y to RAM $05 CODE_0086FC: 7A PLY ; \ RAM $02 = low byte CODE_0086FD: 84 02 STY $02 ; / of (return address - 1) CODE_0086FF: C2 30 REP #$30 ; 16-bit A,X,Y CODE_008701: 29 FF 00 AND.W #$00FF ; Clear bits 8..15 of A CODE_008704: 85 03 STA $03 ; RAM $03 = A CODE_008706: 0A ASL ; \ Y = A * 3 {because table contains ;; carry flag is clear ; | 3-byte addresses} CODE_008707: 65 03 ADC $03 ; |{ASL moves bit 15 of A, which is CODE_008709: A8 TAY ; / zero, to the carry flag.} CODE_00870A: 68 PLA ; \ RAM $03 = high byte CODE_00870B: 85 03 STA $03 ; / RAM $04 = bank byte CODE_00870D: C8 INY ; Y = Y + 1 {to find start of table} CODE_00870E: B7 02 LDA [$02],Y ; \ RAM $00 = low byte CODE_008710: 85 00 STA $00 ; / RAM $01 = high byte CODE_008712: C8 INY ; Y = Y + 1 {for high, bank bytes} CODE_008713: B7 02 LDA [$02],Y ; \ RAM $01 = high byte {again} CODE_008715: 85 01 STA $01 ; / RAM $E0 RAM $02 = bank byte CODE_008717: E2 30 SEP #$30 ; 8 bit A,X,Y CODE_008719: A4 05 LDY $05 ; "Pull" Y from RAM $05 CODE_00871B: DC 00 00 JMP [$0000] ; Jump to adress in RAM $00..$02 CODE_00871E: C2 10 REP #$10 ; 16 bit X,Y ; Index (16 bit) CODE_008720: 8D 14 43 STA.W $4314 ; A Address Bank CODE_008723: A0 00 00 LDY.W #$0000 ; Set index to 0 CODE_008726: B7 00 LDA [$00],Y ; \ Read line header byte 1 CODE_008728: 10 03 BPL CODE_00872D ; |If the byte & %10000000 is true, CODE_00872A: E2 30 SEP #$30 ; |Set A,X,Y to 8 bit and return ; Index (8 bit) Accum (8 bit) Return00872C: 60 RTS ; | CODE_00872D: 85 04 STA $04 ; Store byte in $04 ; Index (16 bit) CODE_00872F: C8 INY ; Move onto the next byte CODE_008730: B7 00 LDA [$00],Y ; Read line header byte 2 CODE_008732: 85 03 STA $03 ; Store byte in $03 CODE_008734: C8 INY ; Move onto the next byte CODE_008735: B7 00 LDA [$00],Y ; Read line header byte 3 CODE_008737: 64 07 STZ $07 ; \ CODE_008739: 0A ASL ; |Store direction bit in $07 CODE_00873A: 26 07 ROL $07 ; / CODE_00873C: A9 18 LDA.B #$18 ; \ Set B address (DMA) to x18 CODE_00873E: 8D 11 43 STA.W $4311 ; / ; B Address CODE_008741: B7 00 LDA [$00],Y ; Re-read line header byte 3 CODE_008743: 29 40 AND.B #$40 ; \ CODE_008745: 4A LSR ; | CODE_008746: 4A LSR ; |Store RLE bit << 3 in $05 CODE_008747: 4A LSR ; | CODE_008748: 85 05 STA $05 ; / CODE_00874A: 64 06 STZ $06 CODE_00874C: 09 01 ORA.B #$01 CODE_00874E: 8D 10 43 STA.W $4310 ; Parameters for DMA Transfer CODE_008751: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_008753: A5 03 LDA $03 CODE_008755: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_008758: B7 00 LDA [$00],Y CODE_00875A: EB XBA CODE_00875B: 29 FF 3F AND.W #$3FFF CODE_00875E: AA TAX CODE_00875F: E8 INX CODE_008760: C8 INY CODE_008761: C8 INY CODE_008762: 98 TYA CODE_008763: 18 CLC CODE_008764: 65 00 ADC $00 CODE_008766: 8D 12 43 STA.W $4312 ; A Address (Low Byte) CODE_008769: 8E 15 43 STX.W $4315 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00876C: A5 05 LDA $05 CODE_00876E: F0 25 BEQ CODE_008795 CODE_008770: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_008772: A5 07 LDA $07 CODE_008774: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_008777: A9 02 LDA.B #$02 CODE_008779: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_00877C: A9 19 LDA.B #$19 CODE_00877E: 8D 11 43 STA.W $4311 ; B Address CODE_008781: C2 21 REP #$21 ; Accum (16 bit) CODE_008783: A5 03 LDA $03 CODE_008785: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_008788: 98 TYA CODE_008789: 65 00 ADC $00 CODE_00878B: 1A INC A CODE_00878C: 8D 12 43 STA.W $4312 ; A Address (Low Byte) CODE_00878F: 8E 15 43 STX.W $4315 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_008792: A2 02 00 LDX.W #$0002 CODE_008795: 86 03 STX $03 CODE_008797: 98 TYA CODE_008798: 18 CLC CODE_008799: 65 03 ADC $03 CODE_00879B: A8 TAY CODE_00879C: E2 20 SEP #$20 ; Accum (8 bit) CODE_00879E: A5 07 LDA $07 CODE_0087A0: 09 80 ORA.B #$80 CODE_0087A2: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_0087A5: A9 02 LDA.B #$02 CODE_0087A7: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_0087AA: 4C 26 87 JMP.W CODE_008726 CODE_0087AD: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0087AF: AD E4 1B LDA.W $1BE4 ; \ CODE_0087B2: D0 03 BNE CODE_0087B7 ; |If Layer 1 has to be updated, CODE_0087B4: 4C DD 88 JMP.W CODE_0088DD ; |jump to $88DD CODE_0087B7: A5 5B LDA RAM_IsVerticalLvl ; \ CODE_0087B9: 29 01 AND.B #$01 ; | CODE_0087BB: F0 03 BEQ CODE_0087C0 ; |If on a vertical level, CODE_0087BD: 4C 49 88 JMP.W CODE_008849 ; |jump to $8849 CODE_0087C0: A0 81 LDY.B #$81 ; \ Set "VRAM Address Increment Value" to x81 CODE_0087C2: 8C 15 21 STY.W $2115 ; / ; VRAM Address Increment Value CODE_0087C5: AD E5 1B LDA.W $1BE5 CODE_0087C8: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_0087CB: AD E4 1B LDA.W $1BE4 CODE_0087CE: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_0087D1: A2 06 LDX.B #$06 CODE_0087D3: BD 16 8A LDA.W DATA_008A16,X CODE_0087D6: 9D 10 43 STA.W $4310,X CODE_0087D9: CA DEX CODE_0087DA: 10 F7 BPL CODE_0087D3 CODE_0087DC: A9 02 LDA.B #$02 ; \ Enable DMA channel 1 CODE_0087DE: 8D 0B 42 STA.W $420B ; / ; Regular DMA Channel Enable CODE_0087E1: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_0087E4: AD E5 1B LDA.W $1BE5 CODE_0087E7: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_0087EA: AD E4 1B LDA.W $1BE4 CODE_0087ED: 18 CLC CODE_0087EE: 69 08 ADC.B #$08 CODE_0087F0: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_0087F3: A2 06 LDX.B #$06 CODE_0087F5: BD 1D 8A LDA.W DATA_008A1D,X CODE_0087F8: 9D 10 43 STA.W $4310,X CODE_0087FB: CA DEX CODE_0087FC: 10 F7 BPL CODE_0087F5 CODE_0087FE: A9 02 LDA.B #$02 CODE_008800: 8D 0B 42 STA.W $420B ; \ Enable DMA channel 1 ; Regular DMA Channel Enable CODE_008803: 8C 15 21 STY.W $2115 ; / ; VRAM Address Increment Value CODE_008806: AD E5 1B LDA.W $1BE5 CODE_008809: 1A INC A CODE_00880A: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00880D: AD E4 1B LDA.W $1BE4 CODE_008810: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_008813: A2 06 LDX.B #$06 CODE_008815: BD 24 8A LDA.W DATA_008A24,X CODE_008818: 9D 10 43 STA.W $4310,X CODE_00881B: CA DEX CODE_00881C: 10 F7 BPL CODE_008815 CODE_00881E: A9 02 LDA.B #$02 ; \ Enable DMA channel 1 CODE_008820: 8D 0B 42 STA.W $420B ; / ; Regular DMA Channel Enable CODE_008823: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_008826: AD E5 1B LDA.W $1BE5 CODE_008829: 1A INC A CODE_00882A: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00882D: AD E4 1B LDA.W $1BE4 CODE_008830: 18 CLC CODE_008831: 69 08 ADC.B #$08 CODE_008833: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_008836: A2 06 LDX.B #$06 CODE_008838: BD 2B 8A LDA.W DATA_008A2B,X CODE_00883B: 9D 10 43 STA.W $4310,X CODE_00883E: CA DEX CODE_00883F: 10 F7 BPL CODE_008838 CODE_008841: A9 02 LDA.B #$02 ; \ Enable DMA channel 1 CODE_008843: 8D 0B 42 STA.W $420B ; / ; Regular DMA Channel Enable CODE_008846: 4C DD 88 JMP.W CODE_0088DD CODE_008849: A0 80 LDY.B #$80 ; CODE_00884B: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_00884E: AD E5 1B LDA.W $1BE5 CODE_008851: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_008854: AD E4 1B LDA.W $1BE4 CODE_008857: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_00885A: A2 06 LDX.B #$06 CODE_00885C: BD 16 8A LDA.W DATA_008A16,X CODE_00885F: 9D 10 43 STA.W $4310,X CODE_008862: CA DEX CODE_008863: 10 F7 BPL CODE_00885C CODE_008865: A9 02 LDA.B #$02 CODE_008867: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_00886A: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_00886D: AD E5 1B LDA.W $1BE5 CODE_008870: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_008873: AD E4 1B LDA.W $1BE4 CODE_008876: 18 CLC CODE_008877: 69 04 ADC.B #$04 CODE_008879: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_00887C: A2 06 LDX.B #$06 CODE_00887E: BD 1D 8A LDA.W DATA_008A1D,X CODE_008881: 9D 10 43 STA.W $4310,X CODE_008884: CA DEX CODE_008885: 10 F7 BPL CODE_00887E CODE_008887: A9 40 LDA.B #$40 CODE_008889: 8D 15 43 STA.W $4315 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00888C: A9 02 LDA.B #$02 CODE_00888E: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_008891: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_008894: AD E5 1B LDA.W $1BE5 CODE_008897: 18 CLC CODE_008898: 69 20 ADC.B #$20 CODE_00889A: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00889D: AD E4 1B LDA.W $1BE4 CODE_0088A0: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_0088A3: A2 06 LDX.B #$06 CODE_0088A5: BD 24 8A LDA.W DATA_008A24,X CODE_0088A8: 9D 10 43 STA.W $4310,X CODE_0088AB: CA DEX CODE_0088AC: 10 F7 BPL CODE_0088A5 CODE_0088AE: A9 02 LDA.B #$02 CODE_0088B0: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_0088B3: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_0088B6: AD E5 1B LDA.W $1BE5 CODE_0088B9: 18 CLC CODE_0088BA: 69 20 ADC.B #$20 CODE_0088BC: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_0088BF: AD E4 1B LDA.W $1BE4 CODE_0088C2: 18 CLC CODE_0088C3: 69 04 ADC.B #$04 CODE_0088C5: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_0088C8: A2 06 LDX.B #$06 CODE_0088CA: BD 2B 8A LDA.W DATA_008A2B,X CODE_0088CD: 9D 10 43 STA.W $4310,X CODE_0088D0: CA DEX CODE_0088D1: 10 F7 BPL CODE_0088CA CODE_0088D3: A9 40 LDA.B #$40 CODE_0088D5: 8D 15 43 STA.W $4315 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_0088D8: A9 02 LDA.B #$02 CODE_0088DA: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_0088DD: A9 00 LDA.B #$00 CODE_0088DF: 8D E4 1B STA.W $1BE4 CODE_0088E2: AD E6 1C LDA.W $1CE6 CODE_0088E5: D0 03 BNE CODE_0088EA CODE_0088E7: 4C 10 8A JMP.W CODE_008A10 CODE_0088EA: A5 5B LDA RAM_IsVerticalLvl CODE_0088EC: 29 02 AND.B #$02 CODE_0088EE: F0 03 BEQ CODE_0088F3 CODE_0088F0: 4C 7C 89 JMP.W CODE_00897C CODE_0088F3: A0 81 LDY.B #$81 CODE_0088F5: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_0088F8: AD E7 1C LDA.W $1CE7 CODE_0088FB: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_0088FE: AD E6 1C LDA.W $1CE6 CODE_008901: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_008904: A2 06 LDX.B #$06 CODE_008906: BD 32 8A LDA.W DATA_008A32,X CODE_008909: 9D 10 43 STA.W $4310,X CODE_00890C: CA DEX CODE_00890D: 10 F7 BPL CODE_008906 CODE_00890F: A9 02 LDA.B #$02 ;\ CODE_008911: 8D 0B 42 STA.W $420B ;/Regular DMA Channel Enable CODE_008914: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_008917: AD E7 1C LDA.W $1CE7 CODE_00891A: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00891D: AD E6 1C LDA.W $1CE6 CODE_008920: 18 CLC CODE_008921: 69 08 ADC.B #$08 CODE_008923: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_008926: A2 06 LDX.B #$06 CODE_008928: BD 39 8A LDA.W DATA_008A39,X CODE_00892B: 9D 10 43 STA.W $4310,X CODE_00892E: CA DEX CODE_00892F: 10 F7 BPL CODE_008928 CODE_008931: A9 02 LDA.B #$02 CODE_008933: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_008936: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_008939: AD E7 1C LDA.W $1CE7 CODE_00893C: 1A INC A CODE_00893D: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_008940: AD E6 1C LDA.W $1CE6 CODE_008943: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_008946: A2 06 LDX.B #$06 CODE_008948: BD 40 8A LDA.W DATA_008A40,X CODE_00894B: 9D 10 43 STA.W $4310,X CODE_00894E: CA DEX CODE_00894F: 10 F7 BPL CODE_008948 CODE_008951: A9 02 LDA.B #$02 CODE_008953: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_008956: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_008959: AD E7 1C LDA.W $1CE7 CODE_00895C: 1A INC A CODE_00895D: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_008960: AD E6 1C LDA.W $1CE6 CODE_008963: 18 CLC CODE_008964: 69 08 ADC.B #$08 CODE_008966: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_008969: A2 06 LDX.B #$06 CODE_00896B: BD 47 8A LDA.W DATA_008A47,X CODE_00896E: 9D 10 43 STA.W $4310,X CODE_008971: CA DEX CODE_008972: 10 F7 BPL CODE_00896B CODE_008974: A9 02 LDA.B #$02 CODE_008976: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_008979: 4C 10 8A JMP.W CODE_008A10 CODE_00897C: A0 80 LDY.B #$80 CODE_00897E: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_008981: AD E7 1C LDA.W $1CE7 CODE_008984: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_008987: AD E6 1C LDA.W $1CE6 CODE_00898A: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_00898D: A2 06 LDX.B #$06 CODE_00898F: BD 32 8A LDA.W DATA_008A32,X CODE_008992: 9D 10 43 STA.W $4310,X CODE_008995: CA DEX CODE_008996: 10 F7 BPL CODE_00898F CODE_008998: A9 02 LDA.B #$02 CODE_00899A: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_00899D: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_0089A0: AD E7 1C LDA.W $1CE7 CODE_0089A3: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_0089A6: AD E6 1C LDA.W $1CE6 CODE_0089A9: 18 CLC CODE_0089AA: 69 04 ADC.B #$04 CODE_0089AC: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_0089AF: A2 06 LDX.B #$06 CODE_0089B1: BD 39 8A LDA.W DATA_008A39,X CODE_0089B4: 9D 10 43 STA.W $4310,X CODE_0089B7: CA DEX CODE_0089B8: 10 F7 BPL CODE_0089B1 CODE_0089BA: A9 40 LDA.B #$40 CODE_0089BC: 8D 15 43 STA.W $4315 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_0089BF: A9 02 LDA.B #$02 CODE_0089C1: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_0089C4: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_0089C7: AD E7 1C LDA.W $1CE7 CODE_0089CA: 18 CLC CODE_0089CB: 69 20 ADC.B #$20 CODE_0089CD: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_0089D0: AD E6 1C LDA.W $1CE6 CODE_0089D3: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_0089D6: A2 06 LDX.B #$06 CODE_0089D8: BD 40 8A LDA.W DATA_008A40,X CODE_0089DB: 9D 10 43 STA.W $4310,X CODE_0089DE: CA DEX CODE_0089DF: 10 F7 BPL CODE_0089D8 CODE_0089E1: A9 02 LDA.B #$02 CODE_0089E3: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_0089E6: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_0089E9: AD E7 1C LDA.W $1CE7 CODE_0089EC: 18 CLC CODE_0089ED: 69 20 ADC.B #$20 CODE_0089EF: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_0089F2: AD E6 1C LDA.W $1CE6 CODE_0089F5: 18 CLC CODE_0089F6: 69 04 ADC.B #$04 CODE_0089F8: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_0089FB: A2 06 LDX.B #$06 CODE_0089FD: BD 47 8A LDA.W DATA_008A47,X CODE_008A00: 9D 10 43 STA.W $4310,X CODE_008A03: CA DEX CODE_008A04: 10 F7 BPL CODE_0089FD CODE_008A06: A9 40 LDA.B #$40 CODE_008A08: 8D 15 43 STA.W $4315 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_008A0B: A9 02 LDA.B #$02 CODE_008A0D: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_008A10: A9 00 LDA.B #$00 CODE_008A12: 8D E6 1C STA.W $1CE6 Return008A15: 6B RTL DATA_008A16: .db $01,$18,$E6,$1B,$00,$40,$00 DATA_008A1D: .db $01,$18,$26,$1C,$00,$2C,$00 DATA_008A24: .db $01,$18,$66,$1C,$00,$40,$00 DATA_008A2B: .db $01,$18,$A6,$1C,$00,$2C,$00 DATA_008A32: .db $01,$18,$E8,$1C,$00,$40,$00 DATA_008A39: .db $01,$18,$28,$1D,$00,$2C,$00 DATA_008A40: .db $01,$18,$68,$1D,$00,$40,$00 DATA_008A47: .db $01,$18,$A8,$1D,$00,$2C,$00 ClearStack: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_008A50: A2 FE 1F LDX.W #$1FFE CODE_008A53: 74 00 STZ $00,X CODE_008A55: CA DEX CODE_008A56: CA DEX CODE_008A57: E0 FF 01 CPX.W #$01FF CODE_008A5A: 10 05 BPL CODE_008A61 CODE_008A5C: E0 00 01 CPX.W #$0100 CODE_008A5F: 10 F4 BPL CODE_008A55 CODE_008A61: E0 FE FF CPX.W #$FFFE CODE_008A64: D0 ED BNE CODE_008A53 CODE_008A66: A9 00 00 LDA.W #$0000 CODE_008A69: 8F 7B 83 7F STA.L $7F837B CODE_008A6D: 9C 81 06 STZ.W $0681 CODE_008A70: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_008A72: A9 FF LDA.B #$FF CODE_008A74: 8F 7D 83 7F STA.L $7F837D Return008A78: 60 RTS SetUpScreen: 9C 33 21 STZ.W $2133 ; Set "Screen Initial Settings" to x00 ; Screen Initial Settings CODE_008A7C: 9C 06 21 STZ.W $2106 ; Turn off mosaic ; Mosaic Size and BG Enable CODE_008A7F: A9 23 LDA.B #$23 ;\ lalala, this just makes sure that the size and address of all the layers are good CODE_008A81: 8D 07 21 STA.W $2107 ; BG 1 Address and Size CODE_008A84: A9 33 LDA.B #$33 ;| CODE_008A86: 8D 08 21 STA.W $2108 ; ; BG 2 Address and Size CODE_008A89: A9 53 LDA.B #$53 ;| CODE_008A8B: 8D 09 21 STA.W $2109 ;|BG 3 Address and Size CODE_008A8E: A9 00 LDA.B #$00 ;| CODE_008A90: 8D 0B 21 STA.W $210B ;|BG 1 & 2 Tile Data Designation CODE_008A93: A9 04 LDA.B #$04 ;| CODE_008A95: 8D 0C 21 STA.W $210C ;/BG 3 & 4 Tile Data Designation CODE_008A98: 64 41 STZ $41 ;\ CODE_008A9A: 64 42 STZ $42 ;| also, no weird windowing, masks,etc CODE_008A9C: 64 43 STZ $43 ;/ CODE_008A9E: 9C 2A 21 STZ.W $212A ; BG 1, 2, 3 and 4 Window Logic Settings CODE_008AA1: 9C 2B 21 STZ.W $212B ; Color and OBJ Window Logic Settings CODE_008AA4: 9C 2E 21 STZ.W $212E ; Window Mask Designation for Main Screen CODE_008AA7: 9C 2F 21 STZ.W $212F ; Window Mask Designation for Sub Screen CODE_008AAA: A9 02 LDA.B #$02 ;\ initally, fixed color math CODE_008AAC: 85 44 STA $44 ;/ CODE_008AAE: A9 80 LDA.B #$80 ; \ Set Mode7 "Screen Over" to %10000000, disable Mode7 flipping CODE_008AB0: 8D 1A 21 STA.W $211A ; / ; Initial Setting for Mode 7 Return008AB3: 60 RTS ; Return DATA_008AB4: .db $00,$00,$FE,$00,$00,$00,$FE,$00 DATA_008ABC: .db $00,$00,$02,$00,$00,$00,$02,$00 .db $00,$00,$00,$01,$FF,$FF,$00,$10 .db $F0 ; | ; V Mode 7 Stuff.. updating M7 mirrors, etc CODE_008ACD: A5 39 LDA $39 ;\ Vertical mode 7 scaling = $00 CODE_008ACF: 85 00 STA $00 ;/ CODE_008AD1: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_008AD3: 20 E8 8A JSR.W CODE_008AE8 ; Run rotation handling/formatting CODE_008AD6: A5 38 LDA $38 ;\ CODE_008AD8: 85 00 STA $00 ;/ Mode 7 Scaling = $00 CODE_008ADA: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_008ADC: A5 2E LDA $2E ;\ Scaling of X/Y is the same CODE_008ADE: 85 34 STA $34 ;/ CODE_008AE0: A5 30 LDA $30 ;\ CODE_008AE2: 49 FF FF EOR.W #$FFFF ;| invert 30 CODE_008AE5: 1A INC A ;| store to 32 CODE_008AE6: 85 32 STA $32 ;/ making shear Y = oppposite of shear X CODE_008AE8: A5 36 LDA $36 ; CODE_008AEA: 0A ASL CODE_008AEB: 48 PHA CODE_008AEC: EB XBA CODE_008AED: 29 03 00 AND.W #$0003 CODE_008AF0: 0A ASL CODE_008AF1: A8 TAY CODE_008AF2: 68 PLA CODE_008AF3: 29 FE 00 AND.W #$00FE CODE_008AF6: 59 B4 8A EOR.W DATA_008AB4,Y CODE_008AF9: 18 CLC CODE_008AFA: 79 BC 8A ADC.W DATA_008ABC,Y CODE_008AFD: AA TAX CODE_008AFE: 20 2B 8B JSR.W CODE_008B2B CODE_008B01: C0 04 00 CPY.W #$0004 CODE_008B04: 90 04 BCC CODE_008B0A CODE_008B06: 49 FF FF EOR.W #$FFFF CODE_008B09: 1A INC A CODE_008B0A: 85 30 STA $30 CODE_008B0C: 8A TXA CODE_008B0D: 49 FE 00 EOR.W #$00FE CODE_008B10: 18 CLC CODE_008B11: 69 02 00 ADC.W #$0002 CODE_008B14: 29 FF 01 AND.W #$01FF CODE_008B17: AA TAX CODE_008B18: 20 2B 8B JSR.W CODE_008B2B CODE_008B1B: 88 DEY CODE_008B1C: 88 DEY CODE_008B1D: C0 04 00 CPY.W #$0004 CODE_008B20: B0 04 BCS CODE_008B26 CODE_008B22: 49 FF FF EOR.W #$FFFF CODE_008B25: 1A INC A CODE_008B26: 85 2E STA $2E CODE_008B28: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return008B2A: 60 RTS CODE_008B2B: E2 20 SEP #$20 ; Accum (8 bit) CODE_008B2D: BD 58 8B LDA.W DATA_008B58,X CODE_008B30: F0 02 BEQ CODE_008B34 CODE_008B32: A5 00 LDA $00 CODE_008B34: 85 01 STA $01 CODE_008B36: BD 57 8B LDA.W DATA_008B57,X CODE_008B39: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_008B3C: A5 00 LDA $00 CODE_008B3E: 8D 03 42 STA.W $4203 ; Multplier B CODE_008B41: EA NOP CODE_008B42: EA NOP CODE_008B43: EA NOP CODE_008B44: EA NOP CODE_008B45: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_008B48: 18 CLC CODE_008B49: 65 01 ADC $01 CODE_008B4B: EB XBA CODE_008B4C: AD 16 42 LDA.W $4216 ; Product/Remainder Result (Low Byte) CODE_008B4F: C2 20 REP #$20 ; Accum (16 bit) CODE_008B51: 4A LSR CODE_008B52: 4A LSR CODE_008B53: 4A LSR CODE_008B54: 4A LSR CODE_008B55: 4A LSR Return008B56: 60 RTS DATA_008B57: .db $00 DATA_008B58: .db $00,$03,$00,$06,$00,$09,$00,$0C .db $00,$0F,$00,$12,$00,$15,$00,$19 .db $00,$1C,$00,$1F,$00,$22,$00,$25 .db $00,$28,$00,$2B,$00,$2E,$00,$31 .db $00,$35,$00,$38,$00,$3B,$00,$3E .db $00,$41,$00,$44,$00,$47,$00,$4A .db $00,$4D,$00,$50,$00,$53,$00,$56 .db $00,$59,$00,$5C,$00,$5F,$00,$61 .db $00,$64,$00,$67,$00,$6A,$00,$6D .db $00,$70,$00,$73,$00,$75,$00,$78 .db $00,$7B,$00,$7E,$00,$80,$00,$83 .db $00,$86,$00,$88,$00,$8B,$00,$8E .db $00,$90,$00,$93,$00,$95,$00,$98 .db $00,$9B,$00,$9D,$00,$9F,$00,$A2 .db $00,$A4,$00,$A7,$00,$A9,$00,$AB .db $00,$AE,$00,$B0,$00,$B2,$00,$B5 .db $00,$B7,$00,$B9,$00,$BB,$00,$BD .db $00,$BF,$00,$C1,$00,$C3,$00,$C5 .db $00,$C7,$00,$C9,$00,$CB,$00,$CD .db $00,$CF,$00,$D1,$00,$D3,$00,$D4 .db $00,$D6,$00,$D8,$00,$D9,$00,$DB .db $00,$DD,$00,$DE,$00,$E0,$00,$E1 .db $00,$E3,$00,$E4,$00,$E6,$00,$E7 .db $00,$E8,$00,$EA,$00,$EB,$00,$EC .db $00,$ED,$00,$EE,$00,$EF,$00,$F1 .db $00,$F2,$00,$F3,$00,$F4,$00,$F4 .db $00,$F5,$00,$F6,$00,$F7,$00,$F8 .db $00,$F9,$00,$F9,$00,$FA,$00,$FB .db $00,$FB,$00,$FC,$00,$FC,$00,$FD .db $00,$FD,$00,$FE,$00,$FE,$00,$FE .db $00,$FF,$00,$FF,$00,$FF,$00,$FF .db $00,$FF,$00,$FF,$00,$FF,$00,$00 .db $01,$B7,$3C,$B7,$BC,$B8,$3C,$B9 .db $3C,$BA,$3C,$BB,$3C,$BA,$3C,$BA .db $BC,$BC,$3C,$BD,$3C,$BE,$3C,$BF .db $3C,$C0,$3C,$B7,$BC,$C1,$3C,$B9 .db $3C,$C2,$3C,$C2,$BC,$B7,$3C,$C0 .db $FC,$3A,$38,$3B,$38,$3B,$38,$3A .db $78 DATA_008C89: .db $30,$28,$31,$28,$32,$28,$33,$28 .db $34,$28,$FC,$38,$FC,$3C,$FC,$3C .db $FC,$3C,$FC,$3C,$FC,$38,$FC,$38 .db $4A,$38,$FC,$38,$FC,$38,$4A,$78 .db $FC,$38,$3D,$3C,$3E,$3C,$3F,$3C .db $FC,$38,$FC,$38,$FC,$38,$2E,$3C .db $26,$38,$FC,$38,$FC,$38,$00,$38 .db $26,$38,$FC,$38,$00,$38,$FC,$38 .db $FC,$38,$FC,$38,$64,$28,$26,$38 .db $FC,$38,$FC,$38,$FC,$38,$4A,$38 .db $FC,$38,$FC,$38,$4A,$78,$FC,$38 .db $FE,$3C,$FE,$3C,$00,$3C,$FC,$38 .db $FC,$38,$FC,$38,$FC,$38,$FC,$38 .db $FC,$38,$FC,$38,$00,$38,$3A,$B8 .db $3B,$B8,$3B,$B8,$3A,$F8 GM04DoDMA: A9 80 LDA.B #$80 ; More DMA ; Accum (8 bit) CODE_008D01: 8D 15 21 STA.W $2115 ; Increment when $2119 accessed ; VRAM Address Increment Value CODE_008D04: A9 2E LDA.B #$2E ; \VRAM address = #$502E CODE_008D06: 8D 16 21 STA.W $2116 ; | ; Address for VRAM Read/Write (Low Byte) CODE_008D09: A9 50 LDA.B #$50 ; | CODE_008D0B: 8D 17 21 STA.W $2117 ; / ; Address for VRAM Read/Write (High Byte) CODE_008D0E: A2 06 LDX.B #$06 CODE_008D10: BD 90 8D LDA.W DATA_008D90,X CODE_008D13: 9D 10 43 STA.W $4310,X ; Load up the DMA regs CODE_008D16: CA DEX ; DMA Source = 8C:8118 (...) CODE_008D17: 10 F7 BPL CODE_008D10 ; Dest = $2118, Transfer: #$08 bytes CODE_008D19: A9 02 LDA.B #$02 CODE_008D1B: 8D 0B 42 STA.W $420B ; Do the DMA ; Regular DMA Channel Enable CODE_008D1E: A9 80 LDA.B #$80 ; \ Set VRAM mode = same as above CODE_008D20: 8D 15 21 STA.W $2115 ; |Address = #$5042 ; VRAM Address Increment Value CODE_008D23: A9 42 LDA.B #$42 ; | CODE_008D25: 8D 16 21 STA.W $2116 ; | ; Address for VRAM Read/Write (Low Byte) CODE_008D28: A9 50 LDA.B #$50 ; | CODE_008D2A: 8D 17 21 STA.W $2117 ; / ; Address for VRAM Read/Write (High Byte) CODE_008D2D: A2 06 LDX.B #$06 ; \ Set up more DMA CODE_008D2F: BD 97 8D LDA.W DATA_008D97,X ; |Dest = $2100 CODE_008D32: 9D 10 43 STA.W $4310,X ; |Fixed source address = $89:1801 (Lunar Address: 7E:1801) CODE_008D35: CA DEX ; |#$808C bytes to transfer CODE_008D36: 10 F7 BPL CODE_008D2F ; /Type = One reg write once CODE_008D38: A9 02 LDA.B #$02 CODE_008D3A: 8D 0B 42 STA.W $420B ; Start DMA ; Regular DMA Channel Enable CODE_008D3D: A9 80 LDA.B #$80 ; \prep VRAM for another write CODE_008D3F: 8D 15 21 STA.W $2115 ; | ; VRAM Address Increment Value CODE_008D42: A9 63 LDA.B #$63 ; | CODE_008D44: 8D 16 21 STA.W $2116 ; | ; Address for VRAM Read/Write (Low Byte) CODE_008D47: A9 50 LDA.B #$50 ; | CODE_008D49: 8D 17 21 STA.W $2117 ; / ; Address for VRAM Read/Write (High Byte) CODE_008D4C: A2 06 LDX.B #$06 ; \ Load up DMA again CODE_008D4E: BD 9E 8D LDA.W DATA_008D9E,X ; |Dest = $2118 CODE_008D51: 9D 10 43 STA.W $4310,X ; |Source Address = $39:8CC1 CODE_008D54: CA DEX ; |Size = #$0100 bytes CODE_008D55: 10 F7 BPL CODE_008D4E ; /Type = Two reg write once CODE_008D57: A9 02 LDA.B #$02 ; \Start Transfer CODE_008D59: 8D 0B 42 STA.W $420B ; / ; Regular DMA Channel Enable CODE_008D5C: A9 80 LDA.B #$80 ; \ CODE_008D5E: 8D 15 21 STA.W $2115 ; |Set up VRAM once more ; VRAM Address Increment Value CODE_008D61: A9 8E LDA.B #$8E ; | CODE_008D63: 8D 16 21 STA.W $2116 ; | ; Address for VRAM Read/Write (Low Byte) CODE_008D66: A9 50 LDA.B #$50 ; | CODE_008D68: 8D 17 21 STA.W $2117 ; / ; Address for VRAM Read/Write (High Byte) CODE_008D6B: A2 06 LDX.B #$06 ; \Last DMA... CODE_008D6D: BD A5 8D LDA.W DATA_008DA5,X ; |Reg = $2118 Type = Two reg write once CODE_008D70: 9D 10 43 STA.W $4310,X ; |Source Address = $08:8CF7 CODE_008D73: CA DEX ; |Size = #$9C00 bytes (o_o) CODE_008D74: 10 F7 BPL CODE_008D6D ; / CODE_008D76: A9 02 LDA.B #$02 ; \Transfer CODE_008D78: 8D 0B 42 STA.W $420B ; / ; Regular DMA Channel Enable CODE_008D7B: A2 36 LDX.B #$36 ; \Copy some data into RAM CODE_008D7D: A0 6C LDY.B #$6C ; | CODE_008D7F: B9 89 8C LDA.W DATA_008C89,Y ; | CODE_008D82: 9D F9 0E STA.W $0EF9,X ; | CODE_008D85: 88 DEY ; | CODE_008D86: 88 DEY ; | CODE_008D87: CA DEX ; | CODE_008D88: 10 F5 BPL CODE_008D7F ; / CODE_008D8A: A9 28 LDA.B #$28 ;\ CODE_008D8C: 8D 30 0F STA.W $0F30 ;/ 28 -> Timer frame counter Return008D8F: 60 RTS ; Return DATA_008D90: .db $01,$18,$81,$8C,$00,$08,$00 DATA_008D97: .db $01,$18,$89,$8C,$00,$38,$00 DATA_008D9E: .db $01,$18,$C1,$8C,$00,$36,$00 DATA_008DA5: .db $01,$18,$F7,$8C,$00,$08,$00 DrawStatusBar: 9C 15 21 STZ.W $2115 ; Set VRAM Address Increment Value to x00 ; VRAM Address Increment Value CODE_008DAF: A9 42 LDA.B #$42 ; \ CODE_008DB1: 8D 16 21 STA.W $2116 ; |Set Address for VRAM Read/Write to x5042 ; Address for VRAM Read/Write (Low Byte) CODE_008DB4: A9 50 LDA.B #$50 ; | CODE_008DB6: 8D 17 21 STA.W $2117 ; / ; Address for VRAM Read/Write (High Byte) CODE_008DB9: A2 06 LDX.B #$06 ; \ CODE_008DBB: BD E7 8D LDA.W DMAdata_StBr1,X ; |Load settings from DMAdata_StBr1 into DMA channel 1 CODE_008DBE: 9D 10 43 STA.W $4310,X ; | CODE_008DC1: CA DEX ; | CODE_008DC2: 10 F7 BPL CODE_008DBB ; / CODE_008DC4: A9 02 LDA.B #$02 ; \ Activate DMA channel 1 CODE_008DC6: 8D 0B 42 STA.W $420B ; / ; Regular DMA Channel Enable CODE_008DC9: 9C 15 21 STZ.W $2115 ; Set VRAM Address Increment Value to x00 ; VRAM Address Increment Value CODE_008DCC: A9 63 LDA.B #$63 ; \ CODE_008DCE: 8D 16 21 STA.W $2116 ; |Set Address for VRAM Read/Write to x5063 ; Address for VRAM Read/Write (Low Byte) CODE_008DD1: A9 50 LDA.B #$50 ; | CODE_008DD3: 8D 17 21 STA.W $2117 ; / ; Address for VRAM Read/Write (High Byte) CODE_008DD6: A2 06 LDX.B #$06 ; \ CODE_008DD8: BD EE 8D LDA.W DMAdata_StBr2,X ; |Load settings from DMAdata_StBr2 into DMA channel 1 CODE_008DDB: 9D 10 43 STA.W $4310,X ; | CODE_008DDE: CA DEX ; | CODE_008DDF: 10 F7 BPL CODE_008DD8 ; / CODE_008DE1: A9 02 LDA.B #$02 ; \ Activate DMA channel 1 CODE_008DE3: 8D 0B 42 STA.W $420B ; / ; Regular DMA Channel Enable Return008DE6: 60 RTS ; Return DMAdata_StBr1: .db $00,$18,$F9,$0E,$00,$1C,$00 DMAdata_StBr2: .db $00,$18,$15,$0F,$00,$1B,$00 DATA_008DF5: .db $40,$41,$42,$43 DATA_008DF9: .db $44,$24,$26,$48,$0E DATA_008DFE: .db $00,$02,$04 DATA_008E01: .db $02,$08,$0A,$00,$04 DATA_008E06: .db $B7 DATA_008E07: .db $C3,$B8,$B9,$BA,$BB,$BA,$BF,$BC .db $BD,$BE,$BF,$C0,$C3,$C1,$B9,$C2 .db $C4,$B7,$C5 ; Yay status bar stuff. Down here, X is commonly used as a "step counter" type thing as well as a index to the tile to handle. Just to put that out there. CODE_008E1A: AD 93 14 LDA.W $1493 ; \ CODE_008E1D: 05 9D ORA RAM_SpritesLocked ; |If level is ending or sprites are locked, CODE_008E1F: D0 4E BNE CODE_008E6F ; / don't decrement timer, handle it at 00, etc basically, freeze timer if sprites locked CODE_008E21: AD 9B 0D LDA.W $0D9B ;\ CODE_008E24: C9 C1 CMP.B #$C1 ;| CODE_008E26: F0 47 BEQ CODE_008E6F ;/ if at bowser, do not worry about time running out CODE_008E28: CE 30 0F DEC.W $0F30 ;\Decrement timer, basically...decrementing the timer's timer, to be exact CODE_008E2B: 10 42 BPL CODE_008E6F ;/ if it's not to lower the timer, skip time running out and such CODE_008E2D: A9 28 LDA.B #$28 ;\ CODE_008E2F: 8D 30 0F STA.W $0F30 ;/ reset the timer's timer CODE_008E32: AD 31 0F LDA.W $0F31 ; \ CODE_008E35: 0D 32 0F ORA.W $0F32 ; |If time is 0, CODE_008E38: 0D 33 0F ORA.W $0F33 ; |don't handle time running out, since it's already out CODE_008E3B: F0 32 BEQ CODE_008E6F ; / CODE_008E3D: A2 02 LDX.B #$02 ;\ CODE_008E3F: DE 31 0F DEC.W $0F31,X ;| CODE_008E42: 10 08 BPL CODE_008E4C ;|handle decrementing the timer CODE_008E44: A9 09 LDA.B #$09 ;| CODE_008E46: 9D 31 0F STA.W $0F31,X ;| CODE_008E49: CA DEX ;| CODE_008E4A: 10 F3 BPL CODE_008E3F ;/ CODE_008E4C: AD 31 0F LDA.W $0F31 ; \ CODE_008E4F: D0 0F BNE CODE_008E60 ; | CODE_008E51: AD 32 0F LDA.W $0F32 ; | CODE_008E54: 2D 33 0F AND.W $0F33 ; |If time is 99, CODE_008E57: C9 09 CMP.B #$09 ; |speed up the music CODE_008E59: D0 05 BNE CODE_008E60 ; | CODE_008E5B: A9 FF LDA.B #$FF ; | CODE_008E5D: 8D F9 1D STA.W $1DF9 ; | CODE_008E60: AD 31 0F LDA.W $0F31 ; \ CODE_008E63: 0D 32 0F ORA.W $0F32 ; | CODE_008E66: 0D 33 0F ORA.W $0F33 ; |If time is 0, CODE_008E69: D0 04 BNE CODE_008E6F ; |JSL to $00F606 CODE_008E6B: 22 06 F6 00 JSL.L KillMario ; | CODE_008E6F: AD 31 0F LDA.W $0F31 ; \ CODE_008E72: 8D 25 0F STA.W $0F25 ; | CODE_008E75: AD 32 0F LDA.W $0F32 ; |Copy time to $0F25-$0F27 CODE_008E78: 8D 26 0F STA.W $0F26 ; | CODE_008E7B: AD 33 0F LDA.W $0F33 ; | CODE_008E7E: 8D 27 0F STA.W $0F27 ; / CODE_008E81: A2 10 LDX.B #$10 ;\ CODE_008E83: A0 00 LDY.B #$00 ;| CODE_008E85: B9 31 0F LDA.W $0F31,Y ;| CODE_008E88: D0 0B BNE CODE_008E95 ;|handle when to put a space if the time in that digit (10's, 100's place, etc) is 0 CODE_008E8A: A9 FC LDA.B #$FC ;| CODE_008E8C: 9D 15 0F STA.W $0F15,X ;| CODE_008E8F: C8 INY ;| CODE_008E90: E8 INX ;| CODE_008E91: C0 02 CPY.B #$02 ;| CODE_008E93: D0 F0 BNE CODE_008E85 ;/ CODE_008E95: A2 03 LDX.B #$03 ;\ CODE_008E97: BD 36 0F LDA.W $0F36,X ;| Middle byte of Luigi's score to $00, to determine if we need a 00 for it CODE_008E9A: 85 00 STA $00 ;/ CODE_008E9C: 64 01 STZ $01 ; CODE_008E9E: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_008EA0: BD 34 0F LDA.W $0F34,X ;\ CODE_008EA3: 38 SEC ;| CODE_008EA4: E9 3F 42 SBC.W #$423F ;| CODE_008EA7: A5 00 LDA $00 ;| ...? CODE_008EA9: E9 0F 00 SBC.W #$000F ;| CODE_008EAC: 90 11 BCC CODE_008EBF ;/ ADDR_008EAE: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) ADDR_008EB0: A9 0F LDA.B #$0F ;\ ADDR_008EB2: 9D 36 0F STA.W $0F36,X ;| ADDR_008EB5: A9 42 LDA.B #$42 ;| ADDR_008EB7: 9D 35 0F STA.W $0F35,X ;| ADDR_008EBA: A9 3F LDA.B #$3F ;| ADDR_008EBC: 9D 34 0F STA.W $0F34,X ;/ CODE_008EBF: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_008EC1: CA DEX ;\ CODE_008EC2: CA DEX ;| X = 00 (LDX #$00 anyone?) CODE_008EC3: CA DEX ;/ CODE_008EC4: 10 D1 BPL CODE_008E97 CODE_008EC6: AD 36 0F LDA.W $0F36 ; \ Store high byte of Mario's score in $00 CODE_008EC9: 85 00 STA $00 ; / CODE_008ECB: 64 01 STZ $01 ; Store x00 in $01 CODE_008ECD: AD 35 0F LDA.W $0F35 ; \ Store mid byte of Mario's score in $03 CODE_008ED0: 85 03 STA $03 ; / CODE_008ED2: AD 34 0F LDA.W $0F34 ; \ Store low byte of Mario's score in $02 CODE_008ED5: 85 02 STA $02 ; / CODE_008ED7: A2 14 LDX.B #$14 ;\ CODE_008ED9: A0 00 LDY.B #$00 ;| seems to handle score display CODE_008EDB: 20 12 90 JSR.W CODE_009012 ;/ CODE_008EDE: A2 00 LDX.B #$00 ; \ CODE_008EE0: BD 29 0F LDA.W $0F29,X ; | CODE_008EE3: D0 0A BNE CODE_008EEF ; | CODE_008EE5: A9 FC LDA.B #$FC ; |Replace all leading zeroes in the score with spaces CODE_008EE7: 9D 29 0F STA.W $0F29,X ; | CODE_008EEA: E8 INX ; | CODE_008EEB: E0 06 CPX.B #$06 ; | CODE_008EED: D0 F1 BNE CODE_008EE0 ; | CODE_008EEF: AD B3 0D LDA.W $0DB3 ; Get current player CODE_008EF2: F0 29 BEQ CODE_008F1D ; If player is Mario, branch to $8F1D CODE_008EF4: AD 39 0F LDA.W $0F39 ; \ Store high byte of Luigi's score in $00 CODE_008EF7: 85 00 STA $00 ; / CODE_008EF9: 64 01 STZ $01 ; Store x00 in $01 CODE_008EFB: AD 38 0F LDA.W $0F38 ; \ Store mid byte of Luigi's score in $03 CODE_008EFE: 85 03 STA $03 ; / CODE_008F00: AD 37 0F LDA.W $0F37 ; \ Store low byte of Luigi's score in $02 CODE_008F03: 85 02 STA $02 ; / CODE_008F05: A2 14 LDX.B #$14 ;\ CODE_008F07: A0 00 LDY.B #$00 ;| again handling score display CODE_008F09: 20 12 90 JSR.W CODE_009012 ;/ CODE_008F0C: A2 00 LDX.B #$00 ; \ CODE_008F0E: BD 29 0F LDA.W $0F29,X ; | CODE_008F11: D0 0A BNE CODE_008F1D ; | CODE_008F13: A9 FC LDA.B #$FC ; |Replace all leading zeroes in the score with spaces CODE_008F15: 9D 29 0F STA.W $0F29,X ; | CODE_008F18: E8 INX ; | CODE_008F19: E0 06 CPX.B #$06 ; | CODE_008F1B: D0 F1 BNE CODE_008F0E ; / CODE_008F1D: AD CC 13 LDA.W $13CC ; \ If Coin increase isn't x00, CODE_008F20: F0 19 BEQ CODE_008F3B ; / branch to $8F3B CODE_008F22: CE CC 13 DEC.W $13CC ; Decrease "Coin increase" CODE_008F25: EE BF 0D INC.W RAM_StatusCoins ; Increase coins by 1 CODE_008F28: AD BF 0D LDA.W RAM_StatusCoins ; \ CODE_008F2B: C9 64 CMP.B #$64 ; |If coins<100, branch to $8F3B CODE_008F2D: 90 0C BCC CODE_008F3B ; / CODE_008F2F: EE E4 18 INC.W $18E4 ; Increase lives by 1 CODE_008F32: AD BF 0D LDA.W RAM_StatusCoins ; \ CODE_008F35: 38 SEC ; |Decrease coins by 100 CODE_008F36: E9 64 SBC.B #$64 ; | CODE_008F38: 8D BF 0D STA.W RAM_StatusCoins ; / CODE_008F3B: AD BE 0D LDA.W RAM_StatusLives ; \ If amount of lives is negative, CODE_008F3E: 30 09 BMI CODE_008F49 ; / branch to $8F49 CODE_008F40: C9 62 CMP.B #$62 ; \ If amount of lives is less than 98, CODE_008F42: 90 05 BCC CODE_008F49 ; / branch to $8F49 CODE_008F44: A9 62 LDA.B #$62 ; \ Set amount of lives to 98 CODE_008F46: 8D BE 0D STA.W RAM_StatusLives ; / CODE_008F49: AD BE 0D LDA.W RAM_StatusLives ; \ CODE_008F4C: 1A INC A ; |Get amount of lives in decimal CODE_008F4D: 20 45 90 JSR.W HexToDec ; / CODE_008F50: 9B TXY ; \ CODE_008F51: D0 02 BNE CODE_008F55 ; |If 10s is 0, replace with space CODE_008F53: A2 FC LDX.B #$FC ; | CODE_008F55: 8E 16 0F STX.W $0F16 ; \ Write lives to status bar CODE_008F58: 8D 17 0F STA.W $0F17 ; / CODE_008F5B: AE B3 0D LDX.W $0DB3 ; \ Get bonus stars CODE_008F5E: BD 48 0F LDA.W $0F48,X ; / CODE_008F61: C9 64 CMP.B #$64 ; \ If bonus stars is less than 100, CODE_008F63: 90 0E BCC CODE_008F73 ; / branch to $8F73 CODE_008F65: A9 FF LDA.B #$FF ; \ Start bonus game when the level ends CODE_008F67: 8D 25 14 STA.W $1425 ; / CODE_008F6A: BD 48 0F LDA.W $0F48,X ; \ CODE_008F6D: 38 SEC ; |Subtract bonus stars by 100 CODE_008F6E: E9 64 SBC.B #$64 ; | CODE_008F70: 9D 48 0F STA.W $0F48,X ; / CODE_008F73: AD BF 0D LDA.W RAM_StatusCoins ; \ Get amount of coins in decimal CODE_008F76: 20 45 90 JSR.W HexToDec ; / CODE_008F79: 9B TXY ; \ CODE_008F7A: D0 02 BNE CODE_008F7E ; |If 10s is 0, replace with space CODE_008F7C: A2 FC LDX.B #$FC ; | CODE_008F7E: 8D 14 0F STA.W $0F14 ; \ Write coins to status bar CODE_008F81: 8E 13 0F STX.W $0F13 ; / CODE_008F84: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_008F86: AE B3 0D LDX.W $0DB3 ; Load Character into X CODE_008F89: 64 00 STZ $00 ;\ CODE_008F8B: 64 01 STZ $01 ;| CODE_008F8D: 64 03 STZ $03 ;/ get rid of the temp. luigi score stuff (!?) CODE_008F8F: BD 48 0F LDA.W $0F48,X ;\ CODE_008F92: 85 02 STA $02 ;/ bonus stars for character = $02 CODE_008F94: A2 09 LDX.B #$09 ;\ CODE_008F96: A0 10 LDY.B #$10 ;| handles something CODE_008F98: 20 51 90 JSR.W CODE_009051 ;/ CODE_008F9B: A2 00 LDX.B #$00 ; Loop-like thing- basically just handling when to put spaces and when to not on the bonus stars CODE_008F9D: BD 1E 0F LDA.W $0F1E,X ;\ if there is no tens digit present, ignore this CODE_008FA0: D0 0D BNE CODE_008FAF ;/ CODE_008FA2: A9 FC LDA.B #$FC ;\ CODE_008FA4: 9D 1E 0F STA.W $0F1E,X ;| if there are no bonus stars in the ones place, then just make that space empty CODE_008FA7: 9D 03 0F STA.W $0F03,X ;/ CODE_008FAA: E8 INX ;| CODE_008FAB: E0 01 CPX.B #$01 ;| unless X = 01, rerun this loop with a extra tile displacement CODE_008FAD: D0 EE BNE CODE_008F9D ;/ CODE_008FAF: BD 1E 0F LDA.W $0F1E,X ;| CODE_008FB2: 0A ASL ;| CODE_008FB3: A8 TAY ;/ Y = Index to bonus star tiles CODE_008FB4: B9 06 8E LDA.W DATA_008E06,Y ;\ CODE_008FB7: 9D 03 0F STA.W $0F03,X ;| CODE_008FBA: B9 07 8E LDA.W DATA_008E07,Y ;| CODE_008FBD: 9D 1E 0F STA.W $0F1E,X ;/ load correct tiles for bonus star counter CODE_008FC0: E8 INX ;\ CODE_008FC1: E0 02 CPX.B #$02 ;| CODE_008FC3: D0 EA BNE CODE_008FAF ;/ do it again if X isn't 02 now CODE_008FC5: 20 79 90 JSR.W CODE_009079 ; Largeish routine CODE_008FC8: AD B3 0D LDA.W $0DB3 ;\\ This handles wether to show "MARIO" or "LUIGI" on the status bar CODE_008FCB: F0 0B BEQ CODE_008FD8 ;/ if playing as mario, CODE_008FCD: A2 04 LDX.B #$04 ;\ CODE_008FCF: BD F5 8D LDA.W DATA_008DF5,X ;| CODE_008FD2: 9D F9 0E STA.W $0EF9,X ;| Load LUIGI instead of mario! CODE_008FD5: CA DEX ;| CODE_008FD6: 10 F7 BPL CODE_008FCF ;/ CODE_008FD8: AD 22 14 LDA.W $1422 ;\ CODE_008FDB: C9 05 CMP.B #$05 ;| only handle yoshi coins if less than all 5 have been collected CODE_008FDD: 90 02 BCC CODE_008FE1 ;/ CODE_008FDF: A9 00 LDA.B #$00 ;\ CODE_008FE1: 3A DEC A ;| CODE_008FE2: 85 00 STA $00 ;/ loop CODE_008FE4: A2 00 LDX.B #$00 ;\ CODE_008FE6: A0 FC LDY.B #$FC ;| CODE_008FE8: A5 00 LDA $00 ;| CODE_008FEA: 30 02 BMI CODE_008FEE ;| show yoshi coin if that coin has been collected, otherwise show blank CODE_008FEC: A0 2E LDY.B #$2E ;| CODE_008FEE: 98 TYA ;| CODE_008FEF: 9D FF 0E STA.W $0EFF,X ;/ CODE_008FF2: C6 00 DEC $00 ;\ CODE_008FF4: E8 INX ;| Prime for next run of loop, unless we're done CODE_008FF5: E0 04 CPX.B #$04 ;| CODE_008FF7: D0 ED BNE CODE_008FE6 ;/ Return008FF9: 60 RTS ; Whew, long routine! DATA_008FFA: .db $01,$00 DATA_008FFC: .db $A0,$86,$00,$00,$10,$27,$00,$00 .db $E8,$03,$00,$00,$64,$00,$00,$00 .db $0A,$00,$00,$00,$01,$00 Remember: You can get somewhere quick by pressing ctrl+f and typing in the address. .db $E8,$03,$00,$00,$64,$00,$00,$00 .db $0A,$00,$00,$00,$01,$00 ; | ; V this all seems to have to do with the status bar. Specifically, the score display, and when to show 00. ; X = Y = ; $00, $01, $02, $03 seem to hold the score bytes to the current character's score. CODE_009012: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_009014: 9E 15 0F STZ.W $0F15,X ; Make "0" appear, usually on score and stuff CODE_009017: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_009019: A5 02 LDA $02 ;\ CODE_00901B: 38 SEC ;| CODE_00901C: F9 FC 8F SBC.W DATA_008FFC,Y ;| CODE_00901F: 85 06 STA $06 ;| CODE_009021: A5 00 LDA $00 ;| 06, 04 are indexes to..something CODE_009023: F9 FA 8F SBC.W DATA_008FFA,Y ;| CODE_009026: 85 04 STA $04 ;/ CODE_009028: 90 0F BCC CODE_009039 ; CODE_00902A: A5 06 LDA $06 ;\ CODE_00902C: 85 02 STA $02 ;| CODE_00902E: A5 04 LDA $04 ;| CODE_009030: 85 00 STA $00 ;/ CODE_009032: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_009034: FE 15 0F INC.W $0F15,X CODE_009037: 80 DE BRA CODE_009017 CODE_009039: E8 INX ;\ CODE_00903A: C8 INY ;| CODE_00903B: C8 INY ;| CODE_00903C: C8 INY ;| CODE_00903D: C8 INY ;| Add 4 to Y.. if that makes it 18, then return CODE_00903E: C0 18 CPY.B #$18 ;| otherwise rerun routine CODE_009040: D0 D0 BNE CODE_009012 ;/ CODE_009042: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) Return009044: 60 RTS HexToDec: A2 00 LDX.B #$00 ; | CODE_009047: C9 0A CMP.B #$0A ; | CODE_009049: 90 05 BCC Return009050 ; |Sets A to 10s of original A CODE_00904B: E9 0A SBC.B #$0A ; |Sets X to 1s of original A CODE_00904D: E8 INX ; | CODE_00904E: 80 F7 BRA CODE_009047 ; | Return009050: 60 RTS ; / CODE_009051: E2 20 SEP #$20 ; Accum (8 bit) CODE_009053: 9E 15 0F STZ.W $0F15,X CODE_009056: C2 20 REP #$20 ; Accum (16 bit) CODE_009058: A5 02 LDA $02 CODE_00905A: 38 SEC CODE_00905B: F9 FC 8F SBC.W DATA_008FFC,Y CODE_00905E: 85 06 STA $06 CODE_009060: 90 0B BCC CODE_00906D CODE_009062: A5 06 LDA $06 CODE_009064: 85 02 STA $02 CODE_009066: E2 20 SEP #$20 ; Accum (8 bit) CODE_009068: FE 15 0F INC.W $0F15,X CODE_00906B: 80 E9 BRA CODE_009056 CODE_00906D: E8 INX CODE_00906E: C8 INY CODE_00906F: C8 INY CODE_009070: C8 INY CODE_009071: C8 INY CODE_009072: C0 18 CPY.B #$18 CODE_009074: D0 DB BNE CODE_009051 CODE_009076: E2 20 SEP #$20 ; Accum (8 bit) Return009078: 60 RTS CODE_009079: A0 E0 LDY.B #$E0 CODE_00907B: 2C 9B 0D BIT.W $0D9B CODE_00907E: 50 0E BVC CODE_00908E CODE_009080: A0 00 LDY.B #$00 CODE_009082: AD 9B 0D LDA.W $0D9B CODE_009085: C9 C1 CMP.B #$C1 CODE_009087: F0 05 BEQ CODE_00908E CODE_009089: A9 F0 LDA.B #$F0 CODE_00908B: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_00908E: 84 01 STY $01 CODE_009090: AC C2 0D LDY.W $0DC2 CODE_009093: F0 3B BEQ Return0090D0 CODE_009095: B9 01 8E LDA.W DATA_008E01,Y CODE_009098: 85 00 STA $00 CODE_00909A: C0 03 CPY.B #$03 CODE_00909C: D0 0D BNE CODE_0090AB ADDR_00909E: A5 13 LDA RAM_FrameCounter ADDR_0090A0: 4A LSR ADDR_0090A1: 29 03 AND.B #$03 ADDR_0090A3: 5A PHY ADDR_0090A4: A8 TAY ADDR_0090A5: B9 FE 8D LDA.W DATA_008DFE,Y ADDR_0090A8: 7A PLY ADDR_0090A9: 85 00 STA $00 CODE_0090AB: A4 01 LDY $01 CODE_0090AD: A9 78 LDA.B #$78 ;\ CODE_0090AF: 99 00 02 STA.W OAM_ExtendedDispX,Y ;| CODE_0090B2: A9 0F LDA.B #$0F ;| CODE_0090B4: 99 01 02 STA.W OAM_ExtendedDispY,Y ;| CODE_0090B7: A9 30 LDA.B #$30 ;| CODE_0090B9: 05 00 ORA $00 ;| Draw... CODE_0090BB: 99 03 02 STA.W OAM_ExtendedProp,Y ;| CODE_0090BE: AE C2 0D LDX.W $0DC2 ;| CODE_0090C1: BD F9 8D LDA.W DATA_008DF9,X ;| CODE_0090C4: 99 02 02 STA.W OAM_ExtendedTile,Y ;/ CODE_0090C7: 98 TYA CODE_0090C8: 4A LSR CODE_0090C9: 4A LSR CODE_0090CA: A8 TAY CODE_0090CB: A9 02 LDA.B #$02 CODE_0090CD: 99 20 04 STA.W $0420,Y Return0090D0: 60 RTS DATA_0090D1: .db $00,$FF,$4D,$4C,$03,$4D,$5D,$FF .db $03,$00,$4C,$03,$04,$15,$00,$02 .db $00,$4A,$4E,$FF,$4C,$4B,$4A,$03 .db $5F,$05,$04,$03,$02,$00,$FF,$01 .db $4A,$5F,$05,$04,$00,$4D,$5D,$03 .db $02,$01,$00,$FF,$5B,$14,$5F,$01 .db $5E,$FF,$FF,$FF DATA_009105: .db $10,$FF,$00,$5C,$13,$00,$5D,$FF .db $03,$00,$5C,$13,$14,$15,$00,$12 .db $00,$03,$5E,$FF,$5C,$4B,$5A,$03 .db $5F,$05,$14,$13,$12,$10,$FF,$11 .db $03,$5F,$05,$14,$00,$00,$5D,$03 .db $12,$11,$10,$FF,$5B,$01,$5F,$01 .db $5E,$FF,$FF,$FF DATA_009139: .db $34,$00,$34,$34,$34,$34,$30,$00 .db $34,$34,$34,$34,$74,$34,$34,$34 .db $34,$34,$34,$00,$34,$34,$34,$34 .db $34,$34,$34,$34,$34,$34,$00,$34 .db $34,$34,$34,$34,$34,$34,$34,$34 .db $34,$34,$34,$34,$34,$34,$34,$34 .db $34 DATA_00916A: .db $34,$00,$B4,$34,$34,$B4,$F0,$00 .db $B4,$B4,$34,$34,$74,$B4,$B4,$34 .db $B4,$B4,$34,$00,$34,$B4,$34,$B4 .db $B4,$B4,$34,$34,$34,$34,$00,$34 .db $B4,$B4,$B4,$34,$B4,$B4,$B4,$B4 .db $34,$34,$34,$34,$F4,$B4,$F4,$B4 .db $B4 CODE_00919B: A5 71 LDA RAM_MarioAnimation ;\ CODE_00919D: C9 0A CMP.B #$0A ;| If mario is not entering a castle, CODE_00919F: D0 05 BNE CODE_0091A6 ;/ continue CODE_0091A1: 20 93 C5 JSR.W CODE_00C593 ; Perhaps the code for Animation 0A? CODE_0091A4: 80 0A BRA Return0091B0 ; Return CODE_0091A6: AD 1A 14 LDA.W $141A ;\ CODE_0091A9: D0 05 BNE Return0091B0 ;/ if 141A is anything but 00, return CODE_0091AB: A9 1E LDA.B #$1E ;\ Coins to collect = 30 CODE_0091AD: 8D C0 0D STA.W $0DC0 ;/ Return0091B0: 60 RTS CODE_0091B1: 20 2D A8 JSR.W CODE_00A82D CODE_0091B4: A2 00 LDX.B #$00 CODE_0091B6: A9 B0 LDA.B #$B0 CODE_0091B8: AC 25 14 LDY.W $1425 ;\ CODE_0091BB: F0 0D BEQ CODE_0091CA ;/ if not to go to bonus level, don't STZ time CODE_0091BD: 9C 31 0F STZ.W $0F31 ; \ CODE_0091C0: 9C 32 0F STZ.W $0F32 ; |Set timer to 000 CODE_0091C3: 9C 33 0F STZ.W $0F33 ; / CODE_0091C6: A2 26 LDX.B #$26 CODE_0091C8: A9 A4 LDA.B #$A4 ;\ CODE_0091CA: 85 00 STA $00 ;/ $00 = A4 CODE_0091CC: 64 01 STZ $01 ; $01 = 00 CODE_0091CE: A0 70 LDY.B #$70 CODE_0091D0: 20 E9 91 JSR.W CODE_0091E9 CODE_0091D3: E8 INX CODE_0091D4: E0 08 CPX.B #$08 CODE_0091D6: D0 07 BNE CODE_0091DF CODE_0091D8: AD B3 0D LDA.W $0DB3 CODE_0091DB: F0 02 BEQ CODE_0091DF CODE_0091DD: A2 0E LDX.B #$0E CODE_0091DF: 98 TYA CODE_0091E0: 38 SEC CODE_0091E1: E9 08 SBC.B #$08 CODE_0091E3: A8 TAY CODE_0091E4: D0 EA BNE CODE_0091D0 CODE_0091E6: 4C 94 84 JMP.W CODE_008494 CODE_0091E9: BD 39 91 LDA.W DATA_009139,X ;\ CODE_0091EC: 99 0B 03 STA.W OAM_Tile3Prop,Y ;| CODE_0091EF: BD 6A 91 LDA.W DATA_00916A,X ;| CODE_0091F2: 99 0F 03 STA.W OAM_Tile4Prop,Y ;| CODE_0091F5: A5 00 LDA $00 ;| CODE_0091F7: 99 08 03 STA.W OAM_Tile3DispX,Y ;| CODE_0091FA: 99 0C 03 STA.W OAM_Tile4DispX,Y ;| CODE_0091FD: 38 SEC ;| CODE_0091FE: E9 08 SBC.B #$08 ;| peculiar.. OAM stuff CODE_009200: 85 00 STA $00 ;| CODE_009202: B0 02 BCS CODE_009206 ;/ CODE_009204: C6 01 DEC $01 CODE_009206: 5A PHY CODE_009207: 98 TYA CODE_009208: 4A LSR CODE_009209: 4A LSR CODE_00920A: A8 TAY CODE_00920B: A5 01 LDA $01 CODE_00920D: 29 01 AND.B #$01 CODE_00920F: 99 62 04 STA.W $0462,Y CODE_009212: 99 63 04 STA.W $0463,Y CODE_009215: 7A PLY CODE_009216: BD D1 90 LDA.W DATA_0090D1,X CODE_009219: 30 13 BMI Return00922E CODE_00921B: 99 0A 03 STA.W OAM_Tile3,Y CODE_00921E: BD 05 91 LDA.W DATA_009105,X CODE_009221: 99 0E 03 STA.W OAM_Tile4,Y CODE_009224: A9 68 LDA.B #$68 CODE_009226: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_009229: A9 70 LDA.B #$70 CODE_00922B: 99 0D 03 STA.W OAM_Tile4DispY,Y Return00922E: 60 RTS ; | | ; V This code is kinda finishing and finalizing showing the Nitendo Presents. V NintenDMAINIT: 9C 03 07 STZ.W $0703 ;\ CODE_009232: 9C 04 07 STZ.W $0704 ;/ Make the first two colors of the palette black CODE_009235: 9C 21 21 STZ.W $2121 ; Set "Address for CG-RAM Write" to 0 ; Address for CG-RAM Write CODE_009238: A2 06 LDX.B #$06 ;\ CODE_00923A: BD 49 92 LDA.W DATA_009249,X ;| CODE_00923D: 9D 20 43 STA.W $4320,X ;| Setting DMA stuff on channel 2 CODE_009240: CA DEX ;| CODE_009241: 10 F7 BPL CODE_00923A ;/ CODE_009243: A9 04 LDA.B #$04 ;\ CODE_009245: 8D 0B 42 STA.W $420B ;/Regular DMA Channel Enable Return009248: 60 RTS DATA_009249: .db $00,$22,$03,$07,$00,$00,$02 CODE_009250: A2 04 LDX.B #$04 CODE_009252: BD 77 92 LDA.W DATA_009277,X CODE_009255: 9D 70 43 STA.W $4370,X CODE_009258: CA DEX CODE_009259: 10 F7 BPL CODE_009252 CODE_00925B: A9 00 LDA.B #$00 CODE_00925D: 8D 77 43 STA.W $4377 ; Data Bank (H-DMA) CODE_009260: 9C 9F 0D STZ.W $0D9F ; Disable all HDMA channels CODE_009263: C2 10 REP #$10 ; 16 bit A ; Index (16 bit) CODE_009265: A2 BE 01 LDX.W #$01BE ; \ CODE_009268: A9 FF LDA.B #$FF ; | CODE_00926A: 9D A0 04 STA.W $04A0,X ; |Clear "HDMA table for windowing effects" CODE_00926D: 9E A1 04 STZ.W $04A1,X ; |...hang on again. It clears one set of RAM here, but not the same CODE_009270: CA DEX ; | CODE_009271: CA DEX ; | CODE_009272: 10 F6 BPL CODE_00926A ; / CODE_009274: E2 10 SEP #$10 ; \ Set A to 8bit and return ; Index (8 bit) Return009276: 60 RTS ; / DATA_009277: .db $41,$26,$7C,$92,$00,$F0,$A0,$04 .db $F0,$80,$05,$00 CODE_009283: 20 63 92 JSR.W CODE_009263 CODE_009286: AD 9B 0D LDA.W $0D9B CODE_009289: 4A LSR CODE_00928A: B0 14 BCS CODE_0092A0 CODE_00928C: C2 10 REP #$10 ; Index (16 bit) CODE_00928E: A2 BE 01 LDX.W #$01BE WindowHDMAenable: 9E A0 04 STZ.W $04A0,X ; out? CODE_009294: A9 FF LDA.B #$FF ; CODE_009296: 9D A1 04 STA.W $04A1,X ; ... This is, uh, strange. It pastes $00FF into the $04A0,x table CODE_009299: E8 INX ; instead of $FF00 o_O CODE_00929A: E8 INX CODE_00929B: E0 C0 01 CPX.W #$01C0 CODE_00929E: 90 F1 BCC WindowHDMAenable CODE_0092A0: A9 80 LDA.B #$80 ; Enable channel 7 in HDMA, disable all other HDMA channels CODE_0092A2: 8D 9F 0D STA.W $0D9F ; $7E:0D9F - H-DMA Channel Enable RAM Mirror CODE_0092A5: E2 10 SEP #$10 ; Index (8 bit) Return0092A7: 60 RTS CODE_0092A8: 20 63 92 JSR.W CODE_009263 ; these are somewhat the same subroutine, but also not >_> CODE_0092AB: C2 10 REP #$10 ; Index (16 bit) CODE_0092AD: A2 98 01 LDX.W #$0198 CODE_0092B0: 80 DF BRA WindowHDMAenable CODE_0092B2: A9 58 LDA.B #$58 ;\Index (8 bit) CODE_0092B4: 8D A0 04 STA.W $04A0 ;\ CODE_0092B7: 8D AA 04 STA.W $04AA ;| CODE_0092BA: 8D B4 04 STA.W $04B4 ;| CODE_0092BD: 9C A9 04 STZ.W $04A9 ;|seems to be resetting the HDMA effects? CODE_0092C0: 9C B3 04 STZ.W $04B3 ;| CODE_0092C3: 9C BD 04 STZ.W $04BD ;/ CODE_0092C6: A2 04 LDX.B #$04 CODE_0092C8: BD 13 93 LDA.W DATA_009313,X CODE_0092CB: 9D 50 43 STA.W $4350,X CODE_0092CE: BD 18 93 LDA.W DATA_009318,X CODE_0092D1: 9D 60 43 STA.W $4360,X CODE_0092D4: BD 1D 93 LDA.W DATA_00931D,X CODE_0092D7: 9D 70 43 STA.W $4370,X CODE_0092DA: CA DEX CODE_0092DB: 10 EB BPL CODE_0092C8 CODE_0092DD: A9 00 LDA.B #$00 ;\ HDMA channels 5,6, and 7 all use data bank 00 and 00 only! CODE_0092DF: 8D 57 43 STA.W $4357 ;|Data Bank (H-DMA) CODE_0092E2: 8D 67 43 STA.W $4367 ;|Data Bank (H-DMA) CODE_0092E5: 8D 77 43 STA.W $4377 ;/Data Bank (H-DMA) CODE_0092E8: A9 E0 LDA.B #$E0 CODE_0092EA: 8D 9F 0D STA.W $0D9F CODE_0092ED: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0092EF: A0 08 00 LDY.W #$0008 ;\ CODE_0092F2: A2 14 00 LDX.W #$0014 ;| CODE_0092F5: B9 1A 00 LDA.W RAM_ScreenBndryXLo,Y ;| CODE_0092F8: 9D A1 04 STA.W $04A1,X ;| HDMA Effect stuff CODE_0092FB: 9D A4 04 STA.W $04A4,X ;| CODE_0092FE: B9 62 14 LDA.W $1462,Y ;| CODE_009301: 9D A7 04 STA.W $04A7,X ;/ CODE_009304: 8A TXA CODE_009305: 38 SEC CODE_009306: E9 0A 00 SBC.W #$000A CODE_009309: AA TAX CODE_00930A: 88 DEY CODE_00930B: 88 DEY CODE_00930C: 88 DEY CODE_00930D: 88 DEY CODE_00930E: 10 E5 BPL CODE_0092F5 CODE_009310: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return009312: 60 RTS DATA_009313: .db $02,$0D,$A0,$04,$00 DATA_009318: .db $02,$0F,$AA,$04,$00 DATA_00931D: .db $02,$11,$B4,$04,$00 GetGameMode: AD 00 01 LDA.W RAM_GameMode ; Load game mode CODE_009325: 22 DF 86 00 JSL.L ExecutePtr Ptrs009329: 91 93 .dw CODE_009391 ; 00 - Load Nintendo Presents 0F 94 .dw CODE_00940F ; 01 - Nintendo Presents screen 6F 9F .dw CODE_009F6F ; 02 - Fade to title screen AE 96 .dw CODE_0096AE ; 03 - Load title screen 8B 9A .dw CODE_009A8B ; 04 - Prepare title screen 6F 9F .dw CODE_009F6F ; 05 - Title Screen: Fade in 1B 94 .dw CODE_00941B ; 06 - Title: Circle effect 64 9C .dw GAMEMODE_07 ; 07 - Titlescreen D1 9C .dw CODE_009CD1 ; 08 - Game slot select screen 1A 9B .dw CODE_009B1A ; 09 - file Delete screen FA 9D .dw CODE_009DFA ; 0A - Player select screen 6F 9F .dw CODE_009F6F ; 0B - Fading out of title screen or level 87 A0 .dw LoadMapGameMode ; 0C - load OW 6F 9F .dw CODE_009F6F ; 0D - Fading into overworld BE A1 .dw CODE_00A1BE ; 0E - On overworld 37 9F .dw TmpFade ; 0F - Fading to level 8E 96 .dw CODE_00968E ; 10 - Delay between OW and Mario Start screen D5 96 .dw MarioStartGameMode ; 11 - Mario Start screen 9C A5 .dw GM04Load ; 12 - Prepare Level 37 9F .dw TmpFade ; 13 - Fading into level DA A1 .dw InLevelGameMode ; 14 - In level 6F 9F .dw CODE_009F6F ; 15 - Fade to game over 50 97 .dw CODE_009750 ; 16 - Fade some more? 59 97 .dw CODE_009759 ; 17 - Game over 6F 9F .dw CODE_009F6F ; 18 - Credits/Cutscene 68 94 .dw CODE_009468 ; 19 - ^ 6F 9F .dw CODE_009F6F ; 1A - ^ FD 94 .dw CODE_0094FD ; 1B - Ending 6F 9F .dw CODE_009F6F ; 1C - Fade to yoshi's house 83 95 .dw CODE_009583 ; 1D - load/prepare yoshi's house? 6F 9F .dw CODE_009F6F ; 1E - Fade in to Yoshi's house AB 95 .dw CODE_0095AB ; 1F - Yoshi's House in ending 6F 9F .dw CODE_009F6F ; 20 - Fade to enemies BC 95 .dw CODE_0095BC ; 21 - Load enemies? 6F 9F .dw CODE_009F6F ; 22 - ^ C1 95 .dw CODE_0095C1 ; 23 - ^ 6F 9F .dw CODE_009F6F ; 24 - Fade in to enemies 2C 96 .dw CODE_00962C ; 25 - Enemies 6F 9F .dw CODE_009F6F ; 26 - Fade to the end 3D 96 .dw CODE_00963D ; 27 - load the end (?) 7C 9F .dw CODE_009F7C ; 28 - Fade in to the end 8D 96 .dw Return00968D ; 29 - END TurnOffIO: 9C 00 42 STZ.W $4200 ; Disable NMI ,VIRQ, HIRQ, Joypads ; NMI, V/H Count, and Joypad Enable CODE_009380: 9C 0C 42 STZ.W $420C ; Turn off all HDMA ; H-DMA Channel Enable CODE_009383: A9 80 LDA.B #$80 ; \ CODE_009385: 8D 00 21 STA.W $2100 ; /Disable Screen ; Screen Display Register Return009388: 60 RTS ; And return NintendoPos: .db $60,$70,$80,$90 NintendoTile: .db $02,$04,$06,$08 ; Nintendo Presents tilemap ; | | ; V This loads the "Nintendo Presents" and handles it. V CODE_009391: 20 FA 85 JSR.W CODE_0085FA ; Something with DMA.. CODE_009394: 20 79 8A JSR.W SetUpScreen ; Guess what this one does CODE_009397: 20 93 A9 JSR.W CODE_00A993 ; Load graphics routine CODE_00939A: A0 0C LDY.B #$0C ; \ Load Nintendo Presents logo CODE_00939C: A2 03 LDX.B #$03 ; | CODE_00939E: BD 89 93 LDA.W NintendoPos,X ; | CODE_0093A1: 99 00 02 STA.W OAM_ExtendedDispX,Y ; | CODE_0093A4: A9 70 LDA.B #$70 ; | <-Y position of logo CODE_0093A6: 99 01 02 STA.W OAM_ExtendedDispY,Y ; | CODE_0093A9: BD 8D 93 LDA.W NintendoTile,X ; | CODE_0093AC: 99 02 02 STA.W OAM_ExtendedTile,Y ; | CODE_0093AF: A9 30 LDA.B #$30 ; | CODE_0093B1: 99 03 02 STA.W OAM_ExtendedProp,Y ; | CODE_0093B4: 88 DEY ; | CODE_0093B5: 88 DEY ; | CODE_0093B6: 88 DEY ; | CODE_0093B7: 88 DEY ; | CODE_0093B8: CA DEX ; | CODE_0093B9: 10 E3 BPL CODE_00939E ; / CODE_0093BB: A9 AA LDA.B #$AA ; \ Related to making the sprites 16x16? CODE_0093BD: 8D 00 04 STA.W $0400 ; / CODE_0093C0: A9 01 LDA.B #$01 ; \ Play "Bing" sound? CODE_0093C2: 8D FC 1D STA.W $1DFC ; / CODE_0093C5: A9 40 LDA.B #$40 ; \ Set timer to x40 CODE_0093C7: 8D F5 1D STA.W $1DF5 ; / CODE_0093CA: A9 0F LDA.B #$0F ; \ Set brightness to max CODE_0093CC: 8D AE 0D STA.W $0DAE ; / CODE_0093CF: A9 01 LDA.B #$01 ;\ CODE_0093D1: 8D AF 0D STA.W $0DAF ;/ Set mosaic to growing CODE_0093D4: 9C 2E 19 STZ.W $192E ; Sprite palette setting = 0 CODE_0093D7: 20 ED AB JSR.W LoadPalette ; Load the palette CODE_0093DA: 9C 01 07 STZ.W $0701 ; \ Black background CODE_0093DD: 9C 02 07 STZ.W $0702 ; / CODE_0093E0: 20 2F 92 JSR.W NintenDMAINIT ; Init for the DMA of the Nintendo Presents? CODE_0093E3: 9C 92 1B STZ.W $1B92 ; Set menu pointer position to 0 CODE_0093E6: A2 10 LDX.B #$10 ; Enable sprites, disable layers CODE_0093E8: A0 04 LDY.B #$04 ; Set Layer 3 to subscreen CODE_0093EA: A9 01 LDA.B #$01 ;\ CODE_0093EC: 8D 9B 0D STA.W $0D9B ;/ Mini-mode select, now set for the DMA sort of stuff CODE_0093EF: A9 20 LDA.B #$20 ; CGADSUB = 20 CODE_0093F1: 20 FD 93 JSR.W ScreenSettings ; Apply above settings CODE_0093F4: EE 00 01 INC.W RAM_GameMode ; Move on to Game Mode 01 Mode04Finish: A9 81 LDA.B #$81 ; \ Enable NMI and joypad, Disable V-count and H-cout CODE_0093F9: 8D 00 42 STA.W $4200 ; / ; NMI, V/H Count, and Joypad Enable Return0093FC: 60 RTS ; Return ScreenSettings: 8D 31 21 STA.W $2131 ; \ Set CGADSUB settings to A ; Add/Subtract Select and Enable CODE_009400: 85 40 STA $40 ; / CODE_009402: 8E 2C 21 STX.W $212C ; Set "Background and Object Enable" to X ; Background and Object Enable CODE_009405: 8C 2D 21 STY.W $212D ; Set "Sub Screen Designation" Y ; Sub Screen Designation CODE_009408: 9C 2E 21 STZ.W $212E ; \ Set "Window Mask Designation" for main and sub screen to x00 ; Window Mask Designation for Main Screen CODE_00940B: 9C 2F 21 STZ.W $212F ; / ; Window Mask Designation for Sub Screen Return00940E: 60 RTS ; Return CODE_00940F: CE F5 1D DEC.W $1DF5 ; Decrease timer CODE_009412: D0 06 BNE Return00941A ; \ If timer is 0: CODE_009414: 20 88 B8 JSR.W CODE_00B888 ; |Jump to sub $B888 CODE_009417: EE 00 01 INC.W RAM_GameMode ; |Move on to Game Mode 02 Return00941A: 60 RTS ; Return ; | ; V part of the "prepare title screen" code? CODE_00941B: 20 74 9A JSR.W SetUp0DA0GM4 ; Set up the title screen CODE_00941E: 20 BE 9C JSR.W CODE_009CBE ; CODE_009421: F0 0B BEQ CODE_00942E ; CODE_009423: A9 EC LDA.B #$EC ; CODE_009425: 20 40 94 JSR.W CODE_009440 ; CODE_009428: EE 00 01 INC.W RAM_GameMode ;\Move on CODE_00942B: 4C 9F 9C JMP.W CODE_009C9F ;/ CODE_00942E: CE F5 1D DEC.W $1DF5 ;\ if "controller bits sequence" is not 01 CODE_009431: D0 E7 BNE Return00941A ;/ return CODE_009433: EE F5 1D INC.W $1DF5 ; restore previous amount CODE_009436: AD 33 14 LDA.W $1433 ;\ CODE_009439: 18 CLC ;| CODE_00943A: 69 04 ADC.B #$04 ;| CODE_00943C: C9 F0 CMP.B #$F0 ;| if the "circle effect" on the title screen is at step F0 or higher, move on in the game mode CODE_00943E: B0 D7 BCS CODE_009417 ;/ to the title screen itself CODE_009440: 8D 33 14 STA.W $1433 ; otherwise continue CODE_009443: 20 61 CA JSR.W CODE_00CA61 ; CODE_009446: A9 80 LDA.B #$80 ; \ CODE_009448: 85 00 STA $00 ; |Store x80 in $00, CODE_00944A: A9 70 LDA.B #$70 ; |Store x70 in $01 CODE_00944C: 85 01 STA $01 ; / CODE_00944E: 4C 88 CA JMP.W CODE_00CA88 CutsceneBgColor: .db $02,$00,$04,$01,$00,$06,$04 CutsceneCastlePal: .db $03,$06,$05,$06,$03,$03,$06,$06 ; Castle palette to use for cutscenes ; Purpose of first byte is unknown DATA_009460: .db $03,$FF,$FF,$C9,$0F,$FF,$CC,$C9 CODE_009468: 20 FA 85 JSR.W CODE_0085FA CODE_00946B: 20 A6 A1 JSR.W Clear_1A_13D3 CODE_00946E: 20 79 8A JSR.W SetUpScreen CODE_009471: AE C6 13 LDX.W $13C6 ; Cutscene number CODE_009474: A9 18 LDA.B #$18 ;\ CODE_009476: 8D 31 19 STA.W $1931 ;/ Set correct tileset CODE_009479: A9 14 LDA.B #$14 ;\ Set correct sprite GFX CODE_00947B: 8D 2B 19 STA.W $192B ;/ CODE_00947E: BD 50 94 LDA.W CutsceneBgColor-1,X ;\ CODE_009481: 8D 2F 19 STA.W $192F ;| Set correct background colors/settings for colors CODE_009484: BD 58 94 LDA.W CutsceneCastlePal,X ;| depending on the cutscene CODE_009487: 8D 30 19 STA.W $1930 ;/ CODE_00948A: 9C 2E 19 STZ.W $192E ; Default sprite palette settings CODE_00948D: A9 01 LDA.B #$01 ;\ CODE_00948F: 8D 2D 19 STA.W $192D ;/ Set brown/cream FG palette (#1) CODE_009492: E0 08 CPX.B #$08 ;\ CODE_009494: D0 1C BNE CODE_0094B2 ;/ if not on credits, don't load credits etc CODE_009496: 20 5E 95 JSR.W CODE_00955E ;> init the VRAM write CODE_009499: A9 D2 LDA.B #$D2 ;\ CODE_00949B: 85 12 STA $12 ;/ load credits image I think CODE_00949D: 20 D2 85 JSR.W LoadScrnImage ;\ CODE_0094A0: 20 59 81 JSR.W UploadMusicBank3 ;/ self explanitory CODE_0094A3: 22 DD 93 0C JSL.L CODE_0C93DD CODE_0094A7: 20 60 92 JSR.W CODE_009260 ; clear out all HDMA CODE_0094AA: EE 31 19 INC.W $1931 ;\ CODE_0094AD: EE 2B 19 INC.W $192B ;/ +1 to tileset/Sprite GFX CODE_0094B0: 80 25 BRA CODE_0094D7 CODE_0094B2: A9 15 LDA.B #$15 ;\ play "rescue egg" CODE_0094B4: 8D FB 1D STA.W $1DFB ;/ CODE_0094B7: BD 60 94 LDA.W DATA_009460,X ;\ CODE_0094BA: 85 12 STA $12 ;| load certain image CODE_0094BC: 20 D2 85 JSR.W LoadScrnImage ;/ CODE_0094BF: A9 CF LDA.B #$CF ;\ CODE_0094C1: 85 12 STA $12 ;| load another image CODE_0094C3: 20 D2 85 JSR.W LoadScrnImage ;/ CODE_0094C6: C2 20 REP #$20 ; Accum (16 bit) CODE_0094C8: A9 90 00 LDA.W #$0090 ;\ CODE_0094CB: 85 94 STA RAM_MarioXPos ;| CODE_0094CD: A9 58 00 LDA.W #$0058 ;| move mario offscreen CODE_0094D0: 85 96 STA RAM_MarioYPos ;/ (usually will kill him..) CODE_0094D2: E2 20 SEP #$20 ; Accum (8 bit) CODE_0094D4: EE 8F 14 INC.W $148F ; Mario is holding an object (Multi Use..?) CODE_0094D7: 20 DA A9 JSR.W UploadSpriteGFX ;\ CODE_0094DA: 20 ED AB JSR.W LoadPalette ;/ self explanitory CODE_0094DD: 20 2F 92 JSR.W CODE_00922F ; CODE_0094E0: A2 0B LDX.B #$0B ;\ CODE_0094E2: 74 1A STZ RAM_ScreenBndryXLo,X ;| CODE_0094E4: CA DEX ;| set ALL layers to bottom CODE_0094E5: 10 FB BPL CODE_0094E2 ;/ CODE_0094E7: A9 20 LDA.B #$20 ;\ CODE_0094E9: 85 64 STA $64 ;/ Sprites use same palette CODE_0094EB: 20 35 A6 JSR.W CODE_00A635 CODE_0094EE: 64 76 STZ RAM_MarioDirection ; Default Direction CODE_0094F0: 64 72 STZ RAM_IsFlying ; No flying! CODE_0094F2: 22 B1 CE 00 JSL.L CODE_00CEB1 CODE_0094F6: A2 17 LDX.B #$17 CODE_0094F8: A0 00 LDY.B #$00 CODE_0094FA: 20 22 96 JSR.W CODE_009622 CODE_0094FD: 22 00 80 7F JSL.L RAM_7F8000 ; Move all sprites offscreen CODE_009501: AD C6 13 LDA.W $13C6 ;\ CODE_009504: C9 08 CMP.B #$08 ;| if on credits.. CODE_009506: F0 4F BEQ CODE_009557 ;/ CODE_009508: A5 17 LDA RAM_ControllerB ;\ CODE_00950A: 29 00 AND.B #$00 ;|Change to #$30 to enter debug region below CODE_00950C: C9 30 CMP.B #$30 ;| CODE_00950E: D0 19 BNE CODE_009529 ;/Always go to 009529 ADDR_009510: A5 15 LDA RAM_ControllerA ; \ Unreachable ADDR_009512: 29 08 AND.B #$08 ; | Debug: Boss defeated scene select ADDR_009514: F0 0D BEQ ADDR_009523 ; | ADDR_009516: AD C6 13 LDA.W $13C6 ; | ADDR_009519: 1A INC A ; | ADDR_00951A: C9 09 CMP.B #$09 ; | ADDR_00951C: 90 02 BCC ADDR_009520 ; | ADDR_00951E: A9 01 LDA.B #$01 ; | ADDR_009520: 8D C6 13 STA.W $13C6 ; | ADDR_009523: A9 18 LDA.B #$18 ; | ADDR_009525: 8D 00 01 STA.W RAM_GameMode ; | Return009528: 60 RTS ; / CODE_009529: 22 7E C9 0C JSL.L CODE_0CC97E CODE_00952D: C2 20 REP #$20 ; Accum (16 bit) CODE_00952F: A5 1A LDA RAM_ScreenBndryXLo ;\ CODE_009531: 48 PHA ;| Preserving layer 1pos CODE_009532: A5 1C LDA RAM_ScreenBndryYLo ;| CODE_009534: 48 PHA ;/ CODE_009535: A5 1E LDA $1E ;\ CODE_009537: 85 1A STA RAM_ScreenBndryXLo ;|Layer 2 ismoved to the same space as layer 1 CODE_009539: A5 20 LDA $20 ;| CODE_00953B: 85 1C STA RAM_ScreenBndryYLo ;/ CODE_00953D: E2 20 SEP #$20 ; Accum (8 bit) CODE_00953F: 22 BD E2 00 JSL.L CODE_00E2BD ; Update game routine, sort of... CODE_009543: C2 20 REP #$20 ; Accum (16 bit) CODE_009545: 68 PLA ;\ CODE_009546: 85 1C STA RAM_ScreenBndryYLo ;| now Layer 1 = what it was before CODE_009548: 68 PLA ;| CODE_009549: 85 1A STA RAM_ScreenBndryXLo ;/ CODE_00954B: E2 20 SEP #$20 ; Accum (8 bit) CODE_00954D: A9 0C LDA.B #$0C ;\ CODE_00954F: 85 71 STA RAM_MarioAnimation ;/ castle enterance moves CODE_009551: 20 7E C4 JSR.W CODE_00C47E ;..strange routine... CODE_009554: 4C 94 84 JMP.W CODE_008494 ; End up where $00955B takes you CODE_009557: 22 8D 93 0C JSL.L CODE_0C938D ; Whoa there CODE_00955B: 4C 94 84 JMP.W CODE_008494 ; Graphics related CODE_00955E: A0 2F LDY.B #$2F CODE_009560: 22 28 BA 00 JSL.L CODE_00BA28 CODE_009564: A9 80 LDA.B #$80 CODE_009566: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_009569: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00956B: A9 00 46 LDA.W #$4600 CODE_00956E: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_009571: A2 00 02 LDX.W #$0200 CODE_009574: A7 00 LDA [$00] CODE_009576: 8D 18 21 STA.W $2118 ; Data for VRAM Write (Low Byte) CODE_009579: E6 00 INC $00 CODE_00957B: E6 00 INC $00 CODE_00957D: CA DEX CODE_00957E: D0 F4 BNE CODE_009574 CODE_009580: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return009582: 60 RTS ; | ; These routines need a lot of context to figure out V CODE_009583: EE C6 13 INC.W $13C6 CODE_009586: A9 28 LDA.B #$28 CODE_009588: A0 01 LDY.B #$01 CODE_00958A: 20 CF 96 JSR.W CODE_0096CF CODE_00958D: CE 00 01 DEC.W RAM_GameMode CODE_009590: A9 16 LDA.B #$16 CODE_009592: 8D 2B 19 STA.W $192B CODE_009595: 20 9C A5 JSR.W GM04Load CODE_009598: CE 00 01 DEC.W RAM_GameMode CODE_00959B: 20 7D 93 JSR.W TurnOffIO CODE_00959E: 20 FA 85 JSR.W CODE_0085FA CODE_0095A1: 20 93 A9 JSR.W CODE_00A993 CODE_0095A4: 22 C9 A3 0C JSL.L CODE_0CA3C9 CODE_0095A8: 20 1E 96 JSR.W CODE_00961E CODE_0095AB: 22 00 80 7F JSL.L RAM_7F8000 CODE_0095AF: 22 9A 93 0C JSL.L CODE_0C939A CODE_0095B3: E6 14 INC RAM_FrameCounterB CODE_0095B5: 22 39 BB 05 JSL.L CODE_05BB39 CODE_0095B9: 4C 94 84 JMP.W CODE_008494 CODE_0095BC: 22 AD 93 0C JSL.L CODE_0C93AD Return0095C0: 60 RTS CODE_0095C1: 20 FA 85 JSR.W CODE_0085FA CODE_0095C4: 20 A6 A1 JSR.W Clear_1A_13D3 CODE_0095C7: 20 79 8A JSR.W SetUpScreen CODE_0095CA: 22 8C AD 0C JSL.L CODE_0CAD8C CODE_0095CE: 22 1E 80 05 JSL.L CODE_05801E CODE_0095D2: AD E9 1D LDA.W $1DE9 CODE_0095D5: C9 0A CMP.B #$0A CODE_0095D7: D0 07 BNE CODE_0095E0 CODE_0095D9: A9 13 LDA.B #$13 CODE_0095DB: 8D 2B 19 STA.W $192B CODE_0095DE: 80 09 BRA CODE_0095E9 CODE_0095E0: C9 0C CMP.B #$0C CODE_0095E2: D0 05 BNE CODE_0095E9 CODE_0095E4: A9 17 LDA.B #$17 CODE_0095E6: 8D 2B 19 STA.W $192B CODE_0095E9: 20 DA A9 JSR.W UploadSpriteGFX CODE_0095EC: 20 ED AB JSR.W LoadPalette CODE_0095EF: 22 9E 80 05 JSL.L CODE_05809E CODE_0095F3: 20 F9 A5 JSR.W CODE_00A5F9 CODE_0095F6: 22 F6 AD 0C JSL.L CODE_0CADF6 CODE_0095FA: AD E9 1D LDA.W $1DE9 CODE_0095FD: C9 0C CMP.B #$0C CODE_0095FF: D0 11 BNE CODE_009612 CODE_009601: A2 0B LDX.B #$0B CODE_009603: BD C0 B3 LDA.W BowserEndPalette,X CODE_009606: 9D 07 08 STA.W $0807,X CODE_009609: BD CC B3 LDA.W DATA_00B3CC,X CODE_00960C: 9D 27 08 STA.W $0827,X CODE_00960F: CA DEX CODE_009610: 10 F1 BPL CODE_009603 CODE_009612: 20 2F 92 JSR.W CODE_00922F CODE_009615: 20 B2 92 JSR.W CODE_0092B2 CODE_009618: 20 D2 85 JSR.W LoadScrnImage CODE_00961B: 20 2C 96 JSR.W CODE_00962C CODE_00961E: A2 15 LDX.B #$15 CODE_009620: A0 02 LDY.B #$02 CODE_009622: 20 29 9F JSR.W KeepModeActive CODE_009625: A9 09 LDA.B #$09 CODE_009627: 85 3E STA $3E CODE_009629: 4C EA 93 JMP.W CODE_0093EA CODE_00962C: 9C 84 0D STZ.W $0D84 CODE_00962F: 20 ED 92 JSR.W CODE_0092ED CODE_009632: 22 00 80 7F JSL.L RAM_7F8000 CODE_009636: 22 A5 93 0C JSL.L CODE_0C93A5 CODE_00963A: 4C 94 84 JMP.W CODE_008494 CODE_00963D: 20 FA 85 JSR.W CODE_0085FA CODE_009640: 20 A6 A1 JSR.W Clear_1A_13D3 CODE_009643: 20 79 8A JSR.W SetUpScreen CODE_009646: 20 5E 95 JSR.W CODE_00955E CODE_009649: A9 19 LDA.B #$19 CODE_00964B: 8D 2B 19 STA.W $192B CODE_00964E: A9 03 LDA.B #$03 CODE_009650: 8D 2F 19 STA.W $192F CODE_009653: A9 03 LDA.B #$03 CODE_009655: 8D 30 19 STA.W $1930 CODE_009658: 20 DA A9 JSR.W UploadSpriteGFX CODE_00965B: 20 ED AB JSR.W LoadPalette CODE_00965E: A2 0B LDX.B #$0B CODE_009660: BD 0E B7 LDA.W TheEndPalettes,X CODE_009663: 9D A7 08 STA.W $08A7,X CODE_009666: BD 1A B7 LDA.W DATA_00B71A,X CODE_009669: 9D C7 08 STA.W $08C7,X CODE_00966C: BD 26 B7 LDA.W DATA_00B726,X CODE_00966F: 9D E7 08 STA.W $08E7,X CODE_009672: CA DEX CODE_009673: 10 EB BPL CODE_009660 CODE_009675: 20 2F 92 JSR.W CODE_00922F CODE_009678: A9 D5 LDA.B #$D5 CODE_00967A: 85 12 STA $12 CODE_00967C: 20 D2 85 JSR.W LoadScrnImage CODE_00967F: 22 DF AA 0C JSL.L CODE_0CAADF CODE_009683: 20 94 84 JSR.W CODE_008494 CODE_009686: A2 14 LDX.B #$14 CODE_009688: A0 00 LDY.B #$00 CODE_00968A: 4C 22 96 JMP.W CODE_009622 Return00968D: 60 RTS CODE_00968E: 20 FA 85 JSR.W CODE_0085FA CODE_009691: AD 25 14 LDA.W $1425 CODE_009694: D0 12 BNE CODE_0096A8 CODE_009696: AD 1A 14 LDA.W $141A CODE_009699: 0D 1D 14 ORA.W $141D CODE_00969C: 0D 09 01 ORA.W $0109 CODE_00969F: D0 0A BNE CODE_0096AB CODE_0096A1: AD C1 13 LDA.W $13C1 CODE_0096A4: C9 56 CMP.B #$56 CODE_0096A6: F0 03 BEQ CODE_0096AB CODE_0096A8: 20 B1 91 JSR.W CODE_0091B1 CODE_0096AB: 4C CA 93 JMP.W CODE_0093CA CODE_0096AE: 9C 00 42 STZ.W $4200 ; NMI, V/H Count, and Joypad Enable CODE_0096B1: 20 4E 8A JSR.W ClearStack CODE_0096B4: A2 07 LDX.B #$07 CODE_0096B6: A9 FF LDA.B #$FF CODE_0096B8: 9D 01 01 STA.W $0101,X CODE_0096BB: CA DEX CODE_0096BC: 10 FA BPL CODE_0096B8 CODE_0096BE: AD 09 01 LDA.W $0109 CODE_0096C1: D0 08 BNE CODE_0096CB CODE_0096C3: 20 0E 81 JSR.W UploadMusicBank1 CODE_0096C6: A9 01 LDA.B #$01 ; \ Set title screen music CODE_0096C8: 8D FB 1D STA.W $1DFB ; / CODE_0096CB: A9 EB LDA.B #$EB CODE_0096CD: A0 00 LDY.B #$00 CODE_0096CF: 8D 09 01 STA.W $0109 CODE_0096D2: 8C 11 1F STY.W $1F11 MarioStartGameMode: CODE_0096D5: 9C 00 42 STZ.W $4200 ; NMI, V/H Count, and Joypad Enable CODE_0096D8: 20 2D F6 JSR.W NoButtons ; no screwing with buttons allowed CODE_0096DB: AD 1A 14 LDA.W $141A ;\ CODE_0096DE: D0 09 BNE CODE_0096E9 ;/ if set to go to a bonus level, and disable the MARIO START, then don't show "MARIO START!" CODE_0096E0: AD 1D 14 LDA.W $141D ;\ if set to disable MARIO START, then don't show "MARIO START!" CODE_0096E3: F0 04 BEQ CODE_0096E9 ;/ CODE_0096E5: 22 09 DC 04 JSL.L CODE_04DC09 ; Show MARIO START CODE_0096E9: 9C D5 13 STZ.W $13D5 ; CODE_0096EC: 9C D9 13 STZ.W $13D9 ; disable mario actions from the OW CODE_0096EF: A9 50 LDA.B #$50 CODE_0096F1: 8D D6 13 STA.W $13D6 CODE_0096F4: 22 96 D7 05 JSL.L CODE_05D796 CODE_0096F8: A2 07 LDX.B #$07 ;\ CODE_0096FA: B5 1A LDA RAM_ScreenBndryXLo,X ;| CODE_0096FC: 9D 62 14 STA.W $1462,X ;| Update layer positions CODE_0096FF: CA DEX ;| CODE_009700: 10 F8 BPL CODE_0096FA ;/ CODE_009702: 20 34 81 JSR.W CODE_008134 CODE_009705: 20 35 A6 JSR.W CODE_00A635 CODE_009708: A9 20 LDA.B #$20 CODE_00970A: 85 5E STA $5E CODE_00970C: 20 96 A7 JSR.W CODE_00A796 CODE_00970F: EE 04 14 INC.W $1404 CODE_009712: 22 DB F6 00 JSL.L CODE_00F6DB CODE_009716: 22 1E 80 05 JSL.L CODE_05801E CODE_00971A: AD 09 01 LDA.W $0109 ;\ Branch if there is not OW override set CODE_00971D: F0 09 BEQ CODE_009728 ;/ CODE_00971F: C9 E9 CMP.B #$E9 ;\ Branch if not intro level CODE_009721: D0 1D BNE CODE_009740 ;/ CODE_009723: A9 13 LDA.B #$13 ;\ Set intro level music CODE_009725: 8D DA 0D STA.W $0DDA ;/ CODE_009728: AD DA 0D LDA.W $0DDA ;\ CODE_00972B: C9 40 CMP.B #$40 ;| If music is playing (question: most values covered by the BCS are unused, so why in the world did they start with 40? Possibly extra music was planned? CODE_00972D: B0 0C BCS CODE_00973B ;/ CODE_00972F: AC 9B 0D LDY.W $0D9B ;\ CODE_009732: C0 C1 CPY.B #$C1 ;| Branch if mode is not browser fight CODE_009734: D0 02 BNE CODE_009738 ;/ CODE_009736: A9 16 LDA.B #$16 ;\ Set browser fight music (?) CODE_009738: 8D FB 1D STA.W $1DFB ;/ CODE_00973B: 29 BF AND.B #$BF ;\ Bit 6 must be removed from the music number (?) CODE_00973D: 8D DA 0D STA.W $0DDA ;/ CODE_009740: 9C AE 0D STZ.W $0DAE ; Make it black CODE_009743: 9C AF 0D STZ.W $0DAF ; Default mosaic effect CODE_009746: EE 00 01 INC.W RAM_GameMode ; Move on CODE_009749: 4C F7 93 JMP.W Mode04Finish CODE_00974C: 20 45 90 JSR.W HexToDec ;\ Return00974F: 6B RTL ;/ JSL to this code so that you can use Hex > Decmial routine outside bank 00! CODE_009750: 20 FA 85 JSR.W CODE_0085FA CODE_009753: 20 2D A8 JSR.W CODE_00A82D CODE_009756: 4C CA 93 JMP.W CODE_0093CA CODE_009759: 22 00 80 7F JSL.L RAM_7F8000 ; Move all sprites offscreen CODE_00975D: AD 3C 14 LDA.W $143C CODE_009760: D0 29 BNE CODE_00978B CODE_009762: CE 3D 14 DEC.W $143D CODE_009765: D0 27 BNE CODE_00978E CODE_009767: AD BE 0D LDA.W RAM_StatusLives ;\ CODE_00976A: 10 1C BPL CODE_009788 ;/ if mario should live on, CODE_00976C: 9C C1 0D STZ.W RAM_OWHasYoshi ; Get rid of yoshi CODE_00976F: AD B4 0D LDA.W RAM_PlayerLives ;\ CODE_009772: 0D B5 0D ORA.W $0DB5 ;| if mario and luigi both have lives, CODE_009775: 10 11 BPL CODE_009788 ;/ CODE_009777: A2 0C LDX.B #$0C ;\ CODE_009779: 9E 2F 1F STZ.W $1F2F,X ;| getting rid of some yoshi coins, CODE_00977C: 9E 06 00 STZ.W $0006,X ;| temp. RAM addresses.. CODE_00977F: 9E EE 1F STZ.W $1FEE,X ;| etc CODE_009782: CA DEX ;| (no pattern..?) CODE_009783: 10 F4 BPL CODE_009779 ;/ CODE_009785: EE C9 13 INC.W $13C9 CODE_009788: 4C 62 9E JMP.W CODE_009E62 CODE_00978B: 38 SEC CODE_00978C: E9 04 SBC.B #$04 CODE_00978E: 8D 3C 14 STA.W $143C CODE_009791: 18 CLC CODE_009792: 69 A0 ADC.B #$A0 CODE_009794: 85 00 STA $00 CODE_009796: 26 01 ROL $01 CODE_009798: AE 3B 14 LDX.W $143B CODE_00979B: A0 48 LDY.B #$48 CODE_00979D: C0 28 CPY.B #$28 CODE_00979F: D0 0D BNE CODE_0097AE CODE_0097A1: A9 78 LDA.B #$78 CODE_0097A3: 38 SEC CODE_0097A4: ED 3C 14 SBC.W $143C CODE_0097A7: 85 00 STA $00 CODE_0097A9: 2A ROL CODE_0097AA: 49 01 EOR.B #$01 CODE_0097AC: 85 01 STA $01 CODE_0097AE: 20 E9 91 JSR.W CODE_0091E9 CODE_0097B1: E8 INX CODE_0097B2: 98 TYA CODE_0097B3: 38 SEC CODE_0097B4: E9 08 SBC.B #$08 CODE_0097B6: A8 TAY CODE_0097B7: D0 E4 BNE CODE_00979D CODE_0097B9: 4C 94 84 JMP.W CODE_008494 CODE_0097BC: A9 0F LDA.B #$0F CODE_0097BE: 8D AE 0D STA.W $0DAE ; Set brightness to full (RAM mirror) CODE_0097C1: 9C B0 0D STZ.W $0DB0 ; Default mosaic size CODE_0097C4: 20 5B 9F JSR.W GM++Mosaic ; Run mosaic CODE_0097C7: A9 20 LDA.B #$20 ; \ CODE_0097C9: 85 38 STA $38 ; | CODE_0097CB: 85 39 STA $39 ; /Set mode 7 scaling registers (why?) CODE_0097CD: 9C 88 18 STZ.W RAM_Layer1DispYLo CODE_0097D0: 20 FA 85 JSR.W CODE_0085FA CODE_0097D3: A9 FF LDA.B #$FF CODE_0097D5: 8D 31 19 STA.W $1931 CODE_0097D8: 22 58 D9 03 JSL.L CODE_03D958 CODE_0097DC: 2C 9B 0D BIT.W $0D9B CODE_0097DF: 50 20 BVC CODE_009801 CODE_0097E1: 20 25 99 JSR.W CODE_009925 CODE_0097E4: AC FC 13 LDY.W $13FC CODE_0097E7: C0 03 CPY.B #$03 CODE_0097E9: 90 06 BCC CODE_0097F1 CODE_0097EB: D0 4E BNE CODE_00983B CODE_0097ED: A9 18 LDA.B #$18 CODE_0097EF: 80 0B BRA CODE_0097FC CODE_0097F1: A9 03 LDA.B #$03 CODE_0097F3: 8D F9 13 STA.W RAM_IsBehindScenery CODE_0097F6: A9 C8 LDA.B #$C8 CODE_0097F8: 85 3F STA $3F CODE_0097FA: A9 12 LDA.B #$12 CODE_0097FC: CE 31 19 DEC.W $1931 CODE_0097FF: 80 3C BRA CODE_00983D CODE_009801: 20 D9 AD JSR.W CODE_00ADD9 CODE_009804: 20 A8 92 JSR.W CODE_0092A8 CODE_009807: A2 50 LDX.B #$50 CODE_009809: 20 3D 9A JSR.W CODE_009A3D CODE_00980C: C2 20 REP #$20 ; Accum (16 bit) CODE_00980E: A9 50 00 LDA.W #$0050 CODE_009811: 85 94 STA RAM_MarioXPos CODE_009813: A9 D0 FF LDA.W #$FFD0 CODE_009816: 85 96 STA RAM_MarioYPos CODE_009818: 64 1A STZ RAM_ScreenBndryXLo CODE_00981A: 9C 62 14 STZ.W $1462 CODE_00981D: A9 90 FF LDA.W #$FF90 CODE_009820: 85 1C STA RAM_ScreenBndryYLo CODE_009822: 8D 64 14 STA.W $1464 CODE_009825: A9 80 00 LDA.W #$0080 CODE_009828: 85 2A STA $2A CODE_00982A: A9 50 00 LDA.W #$0050 CODE_00982D: 85 2C STA $2C CODE_00982F: A9 80 00 LDA.W #$0080 CODE_009832: 85 3A STA $3A CODE_009834: A9 10 00 LDA.W #$0010 CODE_009837: 85 3C STA $3C CODE_009839: E2 20 SEP #$20 ; Accum (8 bit) CODE_00983B: A9 13 LDA.B #$13 CODE_00983D: 8D 2B 19 STA.W $192B CODE_009840: 20 DA A9 JSR.W UploadSpriteGFX CODE_009843: A9 11 LDA.B #$11 CODE_009845: 8D 2E 21 STA.W $212E ; Window Mask Designation for Main Screen CODE_009848: 9C 2D 21 STZ.W $212D ; Sub Screen Designation CODE_00984B: 9C 2F 21 STZ.W $212F ; Window Mask Designation for Sub Screen CODE_00984E: A9 02 LDA.B #$02 CODE_009850: 85 41 STA $41 CODE_009852: A9 32 LDA.B #$32 CODE_009854: 85 43 STA $43 CODE_009856: A9 20 LDA.B #$20 CODE_009858: 85 44 STA $44 CODE_00985A: 20 FF 8C JSR.W GM04DoDMA CODE_00985D: 20 CD 8A JSR.W CODE_008ACD CODE_009860: 22 BD E2 00 JSL.L CODE_00E2BD CODE_009864: 20 F3 A2 JSR.W CODE_00A2F3 CODE_009867: 20 93 C5 JSR.W CODE_00C593 CODE_00986A: 64 7D STZ RAM_MarioSpeedY ; Y speed = 0 CODE_00986C: 22 8C 80 01 JSL.L CODE_01808C CODE_009870: 22 00 80 7F JSL.L RAM_7F8000 Return009874: 60 RTS DATA_009875: .db $01,$00,$FF,$FF,$40,$00,$C0,$01 CODE_00987D: 20 CD 8A JSR.W CODE_008ACD CODE_009880: 2C 9B 0D BIT.W $0D9B CODE_009883: 50 03 BVC CODE_009888 CODE_009885: 4C 52 9A JMP.W CODE_009A52 CODE_009888: 22 00 80 7F JSL.L RAM_7F8000 CODE_00988C: 22 C6 C0 03 JSL.L CODE_03C0C6 Return009890: 60 RTS DATA_009891: .db $9E,$12,$1E,$12,$9E,$11,$1E,$11 .db $1E,$16,$9E,$15,$1E,$15,$9E,$14 .db $1E,$14,$9E,$13,$1E,$13,$9E,$16 CODE_0098A9: AD 9B 0D LDA.W $0D9B ; \ CODE_0098AC: 4A LSR ; |If "Special level" is even, CODE_0098AD: B0 32 BCS CODE_0098E1 ; / branch to $98E1 CODE_0098AF: A5 14 LDA RAM_FrameCounterB CODE_0098B1: 4A LSR CODE_0098B2: 4A LSR CODE_0098B3: 29 06 AND.B #$06 CODE_0098B5: AA TAX CODE_0098B6: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_0098B8: A0 80 LDY.B #$80 CODE_0098BA: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_0098BD: A9 01 18 LDA.W #$1801 CODE_0098C0: 8D 20 43 STA.W $4320 ; Parameters for DMA Transfer CODE_0098C3: A9 00 78 LDA.W #$7800 CODE_0098C6: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_0098C9: BF 39 BA 05 LDA.L DATA_05BA39,X CODE_0098CD: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_0098D0: A0 7E LDY.B #$7E CODE_0098D2: 8C 24 43 STY.W $4324 ; A Address Bank CODE_0098D5: A9 80 00 LDA.W #$0080 CODE_0098D8: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_0098DB: A0 04 LDY.B #$04 CODE_0098DD: 8C 0B 42 STY.W $420B ; Regular DMA Channel Enable CODE_0098E0: 18 CLC CODE_0098E1: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_0098E3: A9 04 00 LDA.W #$0004 CODE_0098E6: A0 06 LDY.B #$06 CODE_0098E8: 90 05 BCC CODE_0098EF CODE_0098EA: A9 08 00 LDA.W #$0008 CODE_0098ED: A0 16 LDY.B #$16 CODE_0098EF: 85 00 STA $00 CODE_0098F1: A9 80 C6 LDA.W #$C680 CODE_0098F4: 85 02 STA $02 CODE_0098F6: 9C 15 21 STZ.W $2115 ; VRAM Address Increment Value CODE_0098F9: A9 00 18 LDA.W #$1800 CODE_0098FC: 8D 20 43 STA.W $4320 ; Parameters for DMA Transfer CODE_0098FF: A2 7E LDX.B #$7E CODE_009901: 8E 24 43 STX.W $4324 ; A Address Bank CODE_009904: A2 04 LDX.B #$04 CODE_009906: B9 91 98 LDA.W DATA_009891,Y CODE_009909: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00990C: A5 02 LDA $02 CODE_00990E: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_009911: 18 CLC CODE_009912: 65 00 ADC $00 CODE_009914: 85 02 STA $02 CODE_009916: A5 00 LDA $00 CODE_009918: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00991B: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00991E: 88 DEY CODE_00991F: 88 DEY CODE_009920: 10 E4 BPL CODE_009906 CODE_009922: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) Return009924: 60 RTS CODE_009925: 64 97 STZ RAM_MarioYPosHi CODE_009927: C2 20 REP #$20 ; Accum (16 bit) CODE_009929: A9 20 00 LDA.W #$0020 CODE_00992C: 85 94 STA RAM_MarioXPos CODE_00992E: 64 1A STZ RAM_ScreenBndryXLo CODE_009930: 9C 62 14 STZ.W $1462 CODE_009933: 64 1C STZ RAM_ScreenBndryYLo CODE_009935: 9C 64 14 STZ.W $1464 CODE_009938: A9 80 00 LDA.W #$0080 CODE_00993B: 85 2A STA $2A CODE_00993D: A9 A0 00 LDA.W #$00A0 CODE_009940: 85 2C STA $2C CODE_009942: E2 20 SEP #$20 ; Accum (8 bit) CODE_009944: 20 15 AE JSR.W CODE_00AE15 CODE_009947: 22 8C 80 01 JSL.L CODE_01808C CODE_00994B: AD 9B 0D LDA.W $0D9B CODE_00994E: 4A LSR CODE_00994F: A2 C0 LDX.B #$C0 CODE_009951: A9 A0 LDA.B #$A0 CODE_009953: 90 06 BCC CODE_00995B CODE_009955: 9C 11 14 STZ.W $1411 CODE_009958: 4C 17 9A JMP.W CODE_009A17 CODE_00995B: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00995D: AD FC 13 LDA.W $13FC CODE_009960: 29 FF 00 AND.W #$00FF CODE_009963: 0A ASL CODE_009964: AA TAX CODE_009965: A0 C0 02 LDY.W #$02C0 CODE_009968: BD E8 F8 LDA.W DATA_00F8E8,X CODE_00996B: 10 03 BPL CODE_009970 CODE_00996D: A0 80 FB LDY.W #$FB80 CODE_009970: C9 12 00 CMP.W #$0012 CODE_009973: D0 03 BNE CODE_009978 CODE_009975: A0 20 03 LDY.W #$0320 CODE_009978: 84 00 STY $00 CODE_00997A: A2 00 00 LDX.W #$0000 CODE_00997D: A9 5A C0 LDA.W #$C05A CODE_009980: 9F 7D 83 7F STA.L $7F837D,X CODE_009984: EB XBA CODE_009985: 18 CLC CODE_009986: 69 80 00 ADC.W #$0080 CODE_009989: EB XBA CODE_00998A: 9F 01 84 7F STA.L $7F8401,X CODE_00998E: EB XBA CODE_00998F: 38 SEC CODE_009990: E5 00 SBC $00 CODE_009992: EB XBA CODE_009993: 9F 85 84 7F STA.L $7F8485,X CODE_009997: A9 00 7F LDA.W #$7F00 CODE_00999A: 9F 7F 83 7F STA.L $7F837F,X CODE_00999E: 9F 03 84 7F STA.L $7F8403,X CODE_0099A2: 9F 87 84 7F STA.L $7F8487,X CODE_0099A6: A0 10 00 LDY.W #$0010 CODE_0099A9: A9 A2 38 LDA.W #$38A2 CODE_0099AC: 9F 81 83 7F STA.L $7F8381,X CODE_0099B0: 1A INC A CODE_0099B1: 9F 83 83 7F STA.L $7F8383,X CODE_0099B5: A9 B2 38 LDA.W #$38B2 CODE_0099B8: 9F C1 83 7F STA.L $7F83C1,X CODE_0099BC: 1A INC A CODE_0099BD: 9F C3 83 7F STA.L $7F83C3,X CODE_0099C1: A9 80 2C LDA.W #$2C80 CODE_0099C4: 9F 05 84 7F STA.L $7F8405,X CODE_0099C8: 1A INC A CODE_0099C9: 9F 07 84 7F STA.L $7F8407,X CODE_0099CD: 1A INC A CODE_0099CE: 9F 45 84 7F STA.L $7F8445,X CODE_0099D2: 1A INC A CODE_0099D3: 9F 47 84 7F STA.L $7F8447,X CODE_0099D7: A9 A0 28 LDA.W #$28A0 CODE_0099DA: 9F 89 84 7F STA.L $7F8489,X CODE_0099DE: 1A INC A CODE_0099DF: 9F 8B 84 7F STA.L $7F848B,X CODE_0099E3: A9 B0 28 LDA.W #$28B0 CODE_0099E6: 9F C9 84 7F STA.L $7F84C9,X CODE_0099EA: 1A INC A CODE_0099EB: 9F CB 84 7F STA.L $7F84CB,X CODE_0099EF: E8 INX CODE_0099F0: E8 INX CODE_0099F1: E8 INX CODE_0099F2: E8 INX CODE_0099F3: 88 DEY CODE_0099F4: D0 B3 BNE CODE_0099A9 CODE_0099F6: 8A TXA CODE_0099F7: 18 CLC CODE_0099F8: 69 4C 01 ADC.W #$014C CODE_0099FB: AA TAX CODE_0099FC: A9 5E C0 LDA.W #$C05E CODE_0099FF: E0 18 03 CPX.W #$0318 CODE_009A02: B0 03 BCS CODE_009A07 CODE_009A04: 4C 80 99 JMP.W CODE_009980 CODE_009A07: A9 FF 00 LDA.W #$00FF CODE_009A0A: 9F 7D 83 7F STA.L $7F837D,X CODE_009A0E: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_009A10: 20 D2 85 JSR.W LoadScrnImage CODE_009A13: A2 B0 LDX.B #$B0 CODE_009A15: A9 90 LDA.B #$90 CODE_009A17: 85 96 STA RAM_MarioYPos CODE_009A19: 20 1F 9A JSR.W CODE_009A1F CODE_009A1C: 4C 83 92 JMP.W CODE_009283 CODE_009A1F: A0 10 LDY.B #$10 CODE_009A21: A9 32 LDA.B #$32 CODE_009A23: 9F 00 C8 7E STA.L $7EC800,X CODE_009A27: 9F B0 C9 7E STA.L $7EC9B0,X CODE_009A2B: 9F 00 C8 7F STA.L $7FC800,X CODE_009A2F: 9F B0 C9 7F STA.L $7FC9B0,X CODE_009A33: E8 INX CODE_009A34: 88 DEY CODE_009A35: D0 EC BNE CODE_009A23 CODE_009A37: E0 C0 CPX.B #$C0 CODE_009A39: D0 12 BNE Return009A4D CODE_009A3B: A2 D0 LDX.B #$D0 CODE_009A3D: A0 10 LDY.B #$10 CODE_009A3F: A9 05 LDA.B #$05 CODE_009A41: 9F 00 C8 7E STA.L $7EC800,X CODE_009A45: 9F B0 C9 7E STA.L $7EC9B0,X CODE_009A49: E8 INX CODE_009A4A: 88 DEY CODE_009A4B: D0 F4 BNE CODE_009A41 Return009A4D: 60 RTS DATA_009A4E: .db $FF,$01,$18,$30 CODE_009A52: AD 9B 0D LDA.W $0D9B CODE_009A55: 4A LSR CODE_009A56: B0 17 BCS CODE_009A6F CODE_009A58: 22 DB F6 00 JSL.L CODE_00F6DB CODE_009A5C: 22 00 BC 05 JSL.L CODE_05BC00 CODE_009A60: AD FC 13 LDA.W $13FC CODE_009A63: C9 04 CMP.B #$04 CODE_009A65: F0 08 BEQ CODE_009A6F CODE_009A67: 20 C7 86 JSR.W CODE_0086C7 CODE_009A6A: 22 7D 82 02 JSL.L CODE_02827D Return009A6E: 60 RTS CODE_009A6F: 22 00 80 7F JSL.L RAM_7F8000 Return009A73: 60 RTS SetUp0DA0GM4: AD 16 40 LDA.W $4016 ;\ Controller 1 has already been read CODE_009A77: 4A LSR ;/ So 1 will sent into carry if it is connected CODE_009A78: AD 17 40 LDA.W $4017 ;\ Controller 2 also has been read CODE_009A7B: 2A ROL ;/ Add in the controller 1 bit CODE_009A7C: 29 03 AND.B #$03 ; Bit 0 set if cont. 1 / bit 1 set if cont. 2 connected CODE_009A7E: F0 07 BEQ CODE_009A87 ; If no controllers connected, controller 1 data (all 0s) is used CODE_009A80: C9 03 CMP.B #$03 ;\ If there is only one controller connected (in either port) CODE_009A82: D0 02 BNE CODE_009A86 ;/ than that contollers data will be used ADDR_009A84: 09 80 ORA.B #$80 ; If both are connected than make it negative, which signals to use the one of the cur. player CODE_009A86: 3A DEC A ;\ Store the index of the controller data 0=cont1 1=cont2 CODE_009A87: 8D A0 0D STA.W $0DA0 ;/ (negative is an override) Return009A8A: 60 RTS ; CODE_009A8B: 20 74 9A JSR.W SetUp0DA0GM4 ; Set up mode 4 CODE_009A8E: 20 9C A5 JSR.W GM04Load ; Load mode 4 CODE_009A91: 9C 31 0F STZ.W $0F31 ; Zero the timer CODE_009A94: 20 FA 85 JSR.W CODE_0085FA ; Base mode 4 code? CODE_009A97: A9 03 LDA.B #$03 ; \ Load title screen Layer 3 image CODE_009A99: 85 12 STA $12 ; | CODE_009A9B: 20 D2 85 JSR.W LoadScrnImage ; / CODE_009A9E: 20 A6 AD JSR.W CODE_00ADA6 CODE_009AA1: 20 2F 92 JSR.W CODE_00922F CODE_009AA4: 22 75 F6 04 JSL.L CODE_04F675 ; Hai MikeyK CODE_009AA8: A9 01 LDA.B #$01 ; \ Set special level to x01 CODE_009AAA: 8D 9B 0D STA.W $0D9B ; / CODE_009AAD: A9 33 LDA.B #$33 CODE_009AAF: 85 41 STA $41 CODE_009AB1: A9 00 LDA.B #$00 CODE_009AB3: 85 42 STA $42 CODE_009AB5: A9 23 LDA.B #$23 CODE_009AB7: 85 43 STA $43 CODE_009AB9: A9 12 LDA.B #$12 CODE_009ABB: 85 44 STA $44 CODE_009ABD: 20 43 94 JSR.W CODE_009443 CODE_009AC0: A9 10 LDA.B #$10 CODE_009AC2: 8D F5 1D STA.W $1DF5 CODE_009AC5: 4C F7 93 JMP.W Mode04Finish ; Finish Mode 4 DATA_009AC8: .db $01,$FF,$FF CODE_009ACB: 5A PHY CODE_009ACC: 20 74 9A JSR.W SetUp0DA0GM4 CODE_009ACF: 7A PLY CODE_009AD0: EE 91 1B INC.W $1B91 ; Blinking cursor frame counter (file select, save prompt, etc) CODE_009AD3: 20 82 9E JSR.W CODE_009E82 CODE_009AD6: AE 92 1B LDX.W $1B92 CODE_009AD9: A5 16 LDA $16 CODE_009ADB: 29 90 AND.B #$90 CODE_009ADD: D0 04 BNE CODE_009AE3 CODE_009ADF: A5 18 LDA $18 CODE_009AE1: 10 07 BPL CODE_009AEA CODE_009AE3: A9 01 LDA.B #$01 CODE_009AE5: 8D FC 1D STA.W $1DFC CODE_009AE8: 80 27 BRA CODE_009B11 CODE_009AEA: 68 PLA CODE_009AEB: 68 PLA CODE_009AEC: A5 16 LDA $16 CODE_009AEE: 29 20 AND.B #$20 CODE_009AF0: 4A LSR CODE_009AF1: 4A LSR CODE_009AF2: 4A LSR CODE_009AF3: 05 16 ORA $16 CODE_009AF5: 29 0C AND.B #$0C CODE_009AF7: F0 1D BEQ Return009B16 CODE_009AF9: A0 06 LDY.B #$06 CODE_009AFB: 8C FC 1D STY.W $1DFC CODE_009AFE: 9C 91 1B STZ.W $1B91 CODE_009B01: 4A LSR CODE_009B02: 4A LSR CODE_009B03: A8 TAY CODE_009B04: 8A TXA CODE_009B05: 79 C7 9A ADC.W DATA_009AC8-1,Y CODE_009B08: 10 03 BPL CODE_009B0D CODE_009B0A: A5 8A LDA $8A CODE_009B0C: 3A DEC A CODE_009B0D: C5 8A CMP $8A CODE_009B0F: 90 02 BCC CODE_009B13 CODE_009B11: A9 00 LDA.B #$00 CODE_009B13: 8D 92 1B STA.W $1B92 Return009B16: 60 RTS DATA_009B17: .db $04,$02,$01 CODE_009B1A: C2 20 REP #$20 ; Accum (16 bit) CODE_009B1C: A9 C9 39 LDA.W #$39C9 CODE_009B1F: A0 60 LDY.B #$60 CODE_009B21: 20 30 9D JSR.W CODE_009D30 CODE_009B24: A5 16 LDA $16 ; Accum (8 bit) CODE_009B26: 05 18 ORA $18 CODE_009B28: 29 40 AND.B #$40 CODE_009B2A: F0 0C BEQ CODE_009B38 CODE_009B2C: CE 00 01 DEC.W RAM_GameMode ;\ go back two game modes CODE_009B2F: CE 00 01 DEC.W RAM_GameMode ;/ CODE_009B32: 20 11 9B JSR.W CODE_009B11 CODE_009B35: 4C B0 9C JMP.W CODE_009CB0 CODE_009B38: A0 08 LDY.B #$08 CODE_009B3A: 20 D0 9A JSR.W CODE_009AD0 CODE_009B3D: E0 03 CPX.B #$03 CODE_009B3F: D0 2C BNE CODE_009B6D CODE_009B41: A0 02 LDY.B #$02 CODE_009B43: 4E DE 0D LSR.W $0DDE CODE_009B46: 90 1F BCC CODE_009B67 CODE_009B48: 5A PHY CODE_009B49: B9 CB 9C LDA.W DATA_009CCB,Y CODE_009B4C: EB XBA CODE_009B4D: B9 CE 9C LDA.W DATA_009CCE,Y CODE_009B50: C2 10 REP #$10 ; Index (16 bit) CODE_009B52: AA TAX CODE_009B53: A0 8F 00 LDY.W #$008F CODE_009B56: A9 00 LDA.B #$00 CODE_009B58: 9F 00 00 70 STA.L $700000,X CODE_009B5C: 9F AD 01 70 STA.L $7001AD,X CODE_009B60: E8 INX CODE_009B61: 88 DEY CODE_009B62: D0 F4 BNE CODE_009B58 CODE_009B64: E2 10 SEP #$10 ; Index (8 bit) CODE_009B66: 7A PLY CODE_009B67: 88 DEY CODE_009B68: 10 D9 BPL CODE_009B43 CODE_009B6A: 4C 89 9C JMP.W CODE_009C89 CODE_009B6D: 8E 92 1B STX.W $1B92 CODE_009B70: BD 17 9B LDA.W DATA_009B17,X CODE_009B73: 0D DE 0D ORA.W $0DDE CODE_009B76: 8D DE 0D STA.W $0DDE CODE_009B79: 85 05 STA $05 CODE_009B7B: A2 00 LDX.B #$00 CODE_009B7D: 4C 3C 9D JMP.W CODE_009D3C CODE_009B80: 8B PHB ; Wrapper CODE_009B81: 4B PHK CODE_009B82: AB PLB CODE_009B83: 20 88 9B JSR.W CODE_009B88 CODE_009B86: AB PLB Return009B87: 6B RTL CODE_009B88: 3A DEC A CODE_009B89: 22 DF 86 00 JSL.L ExecutePtr Ptrs009B8D: 91 9B .dw CODE_009B91 9A 9B .dw CODE_009B9A CODE_009B91: A0 0C LDY.B #$0C CODE_009B93: 20 29 9D JSR.W CODE_009D29 CODE_009B96: EE C9 13 INC.W $13C9 Return009B99: 60 RTS CODE_009B9A: A0 00 LDY.B #$00 CODE_009B9C: 20 D0 9A JSR.W CODE_009AD0 CODE_009B9F: 8A TXA CODE_009BA0: D0 03 BNE ADDR_009BA5 CODE_009BA2: 4C 17 9E JMP.W CODE_009E17 ADDR_009BA5: 4C 89 9C JMP.W CODE_009C89 CODE_009BA8: 8B PHB ; Wrapper CODE_009BA9: 4B PHK CODE_009BAA: AB PLB CODE_009BAB: 20 B0 9B JSR.W CODE_009BB0 CODE_009BAE: AB PLB Return009BAF: 6B RTL CODE_009BB0: A0 06 LDY.B #$06 CODE_009BB2: 20 D0 9A JSR.W CODE_009AD0 CODE_009BB5: 8A TXA CODE_009BB6: D0 0C BNE CODE_009BC4 CODE_009BB8: 9C FC 1D STZ.W $1DFC CODE_009BBB: A9 05 LDA.B #$05 CODE_009BBD: 8D F9 1D STA.W $1DF9 CODE_009BC0: 22 C9 9B 00 JSL.L CODE_009BC9 CODE_009BC4: 22 13 9C 00 JSL.L CODE_009C13 Return009BC8: 60 RTS ;V Save game routine CODE_009BC9: 8B PHB CODE_009BCA: 4B PHK CODE_009BCB: AB PLB CODE_009BCC: AE 0A 01 LDX.W $010A ; X = Save file CODE_009BCF: BD CB 9C LDA.W DATA_009CCB,X ; If save file 3, A = 01 CODE_009BD2: EB XBA CODE_009BD3: BD CE 9C LDA.W DATA_009CCE,X CODE_009BD6: C2 10 REP #$10 ; Index (16 bit) CODE_009BD8: AA TAX CODE_009BD9: A0 00 00 LDY.W #$0000 CODE_009BDC: 84 8A STY $8A CODE_009BDE: B9 49 1F LDA.W $1F49,Y CODE_009BE1: 9F 00 00 70 STA.L $700000,X CODE_009BE5: 18 CLC CODE_009BE6: 65 8A ADC $8A CODE_009BE8: 85 8A STA $8A CODE_009BEA: 90 02 BCC CODE_009BEE CODE_009BEC: E6 8B INC $8B CODE_009BEE: E8 INX CODE_009BEF: C8 INY CODE_009BF0: C0 8D 00 CPY.W #$008D CODE_009BF3: 90 E9 BCC CODE_009BDE CODE_009BF5: C2 20 REP #$20 ; Accum (16 bit) CODE_009BF7: A9 5A 5A LDA.W #$5A5A CODE_009BFA: 38 SEC CODE_009BFB: E5 8A SBC $8A CODE_009BFD: 9F 00 00 70 STA.L $700000,X CODE_009C01: E0 AD 01 CPX.W #$01AD CODE_009C04: B0 09 BCS CODE_009C0F CODE_009C06: 8A TXA CODE_009C07: 69 20 01 ADC.W #$0120 CODE_009C0A: AA TAX CODE_009C0B: E2 20 SEP #$20 ; Accum (8 bit) CODE_009C0D: 80 CA BRA CODE_009BD9 CODE_009C0F: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_009C11: AB PLB Return009C12: 6B RTL CODE_009C13: EE 87 1B INC.W $1B87 CODE_009C16: EE 88 1B INC.W $1B88 CODE_009C19: A0 1B LDY.B #$1B Instr009C1B: .db $20,$29,$9D Return009C1E: 6B RTL IntroControlData: .db $41 ItrCntrlrSqnc: .db $0F,$C1,$30,$00,$10,$42,$20,$41 .db $70,$81,$11,$00,$80,$82,$0C,$00 .db $30,$C1,$30,$41,$60,$C1,$10,$00 .db $40,$01,$30,$E1,$01,$00,$60,$41 .db $4E,$80,$10,$00,$30,$41,$58,$00 .db $20,$60,$01,$00,$30,$60,$01,$00 .db $30,$60,$01,$00,$30,$60,$01,$00 .db $30,$60,$01,$00,$30,$41,$1A,$C1 .db $30,$00,$30,$FF GAMEMODE_07: 20 74 9A JSR.W SetUp0DA0GM4 CODE_009C67: 20 BE 9C JSR.W CODE_009CBE CODE_009C6A: D0 33 BNE CODE_009C9F CODE_009C6C: 20 2D F6 JSR.W NoButtons ; Zero controller RAM mirror CODE_009C6F: AE F4 1D LDX.W $1DF4 ; (Unknown byte) -> X CODE_009C72: CE F5 1D DEC.W $1DF5 ; Decrement controller bits time CODE_009C75: D0 0B BNE CODE_009C82 ; if != 0 branch forward CODE_009C77: BD 20 9C LDA.W ItrCntrlrSqnc,X ; Load $00/9C20,$1DF4 CODE_009C7A: 8D F5 1D STA.W $1DF5 ; And store to $1DF5 CODE_009C7D: E8 INX CODE_009C7E: E8 INX ; $1DF4+=2 CODE_009C7F: 8E F4 1D STX.W $1DF4 CODE_009C82: BD 1D 9C LDA.W ADDR_009C1D,X ; With the +=2 above, this is effectively LDA $9C20,$1DF4 CODE_009C85: C9 FF CMP.B #$FF CODE_009C87: D0 06 BNE CODE_009C8F CODE_009C89: A0 02 LDY.B #$02 ; If = #$FF, switch to game mode #$02... CODE_009C8B: 8C 00 01 STY.W RAM_GameMode Return009C8E: 60 RTS ; ...And finish CODE_009C8F: 29 DF AND.B #$DF CODE_009C91: 85 15 STA RAM_ControllerA ; Write to controller RAM byte 01 CODE_009C93: DD 1D 9C CMP.W ADDR_009C1D,X CODE_009C96: D0 02 BNE CODE_009C9A CODE_009C98: 29 9F AND.B #$9F CODE_009C9A: 85 16 STA $16 ; Write to byte 01, Just-pressed variant CODE_009C9C: 4C DA A1 JMP.W InLevelGameMode ; Jump to another section of this routine CODE_009C9F: 22 00 80 7F JSL.L RAM_7F8000 ; Move sprites offscreen (effectively gone) CODE_009CA3: A9 04 LDA.B #$04 CODE_009CA5: 8D 2C 21 STA.W $212C ; Zero something related to PPU ; Background and Object Enable CODE_009CA8: A9 13 LDA.B #$13 CODE_009CAA: 8D 2D 21 STA.W $212D ; Sub Screen Designation CODE_009CAD: 9C 9F 0D STZ.W $0D9F ; Disable all HDMA CODE_009CB0: A9 E9 LDA.B #$E9 CODE_009CB2: 8D 09 01 STA.W $0109 ; #$E9-24=C5: the intro level number CODE_009CB5: 20 06 9F JSR.W CODE_WRITEOW CODE_009CB8: 20 38 9D JSR.W CODE_009D38 ; -> here CODE_009CBB: 4C 17 94 JMP.W CODE_009417 ; Increase the Game mode and return (at jump point) CODE_009CBE: A5 17 LDA RAM_ControllerB CODE_009CC0: 29 C0 AND.B #$C0 CODE_009CC2: D0 06 BNE Return009CCA CODE_009CC4: A5 15 LDA RAM_ControllerA CODE_009CC6: 29 F0 AND.B #$F0 CODE_009CC8: D0 00 BNE Return009CCA Return009CCA: 60 RTS DATA_009CCB: .db $00,$00,$01 DATA_009CCE: .db $00,$8F,$1E CODE_009CD1: C2 20 REP #$20 ; Game Mode 8: File select; 16 bit A ; Accum (16 bit) CODE_009CD3: A9 93 73 LDA.W #$7393 ;\ Change BG color CODE_009CD6: A0 20 LDY.B #$20 ;| and CGADSUB CODE_009CD8: 20 30 9D JSR.W CODE_009D30 ;/ CODE_009CDB: A0 02 LDY.B #$02 ;\ Indicates which menu CODE_009CDD: 20 CB 9A JSR.W CODE_009ACB ;/ Handle the cursor position CODE_009CE0: EE 00 01 INC.W RAM_GameMode ; Only returns here if option selected; GM = Erase File CODE_009CE3: E0 03 CPX.B #$03 ;\ Branch if selecting savegame (X=option number) CODE_009CE5: D0 08 BNE CODE_009CEF ;/ CODE_009CE7: 9C DE 0D STZ.W $0DDE ; Clear RAM that specifies which files to be deleted CODE_009CEA: A2 00 LDX.B #$00 ;\ Pointer to stripe image data CODE_009CEC: 4C 3A 9D JMP.W CODE_009D3A ;/ change menu tilemap to erase data tiles CODE_009CEF: 8E 0A 01 STX.W $010A ; Store save file number CODE_009CF2: 20 B5 9D JSR.W CODE_009DB5 CODE_009CF5: D0 2B BNE CODE_009D22 CODE_009CF7: DA PHX CODE_009CF8: 9C 09 01 STZ.W $0109 CODE_009CFB: A9 8F LDA.B #$8F CODE_009CFD: 85 00 STA $00 CODE_009CFF: BF 00 00 70 LDA.L $700000,X CODE_009D03: DA PHX CODE_009D04: BB TYX CODE_009D05: 9F 00 00 70 STA.L $700000,X CODE_009D09: FA PLX CODE_009D0A: E8 INX CODE_009D0B: C8 INY CODE_009D0C: C6 00 DEC $00 CODE_009D0E: D0 EF BNE CODE_009CFF CODE_009D10: FA PLX CODE_009D11: A0 00 00 LDY.W #$0000 CODE_009D14: BF 00 00 70 LDA.L $700000,X CODE_009D18: 99 49 1F STA.W $1F49,Y CODE_009D1B: E8 INX CODE_009D1C: C8 INY CODE_009D1D: C0 8D 00 CPY.W #$008D CODE_009D20: 90 F2 BCC CODE_009D14 CODE_009D22: E2 10 SEP #$10 ; Index (8 bit) CODE_009D24: A0 12 LDY.B #$12 ; \ Draw 1 PLAYER GAME/2 PLAYER GAME text CODE_009D26: EE 00 01 INC.W RAM_GameMode ; |Increase Game Mode to 9 CODE_009D29: 84 12 STY $12 ; / CODE_009D2B: A2 00 LDX.B #$00 CODE_009D2D: 4C D4 9E JMP.W CODE_009ED4 CODE_009D30: 8D 01 07 STA.W $0701 ; Store A in BG color CODE_009D33: 84 40 STY $40 ; Store Y in CGADSUB CODE_009D35: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) Return009D37: 60 RTS CODE_009D38: A2 CB LDX.B #$CB ; Index to stripe image data (file select) CODE_009D3A: 64 05 STZ $05 CODE_009D3C: C2 10 REP #$10 ; Index (16 bit) CODE_009D3E: A0 00 00 LDY.W #$0000 CODE_009D41: BF FE B6 05 LDA.L DATA_05B6FE,X ; X = read index CODE_009D45: DA PHX ; Y = write index CODE_009D46: BB TYX CODE_009D47: 9F 7D 83 7F STA.L $7F837D,X CODE_009D4B: FA PLX CODE_009D4C: E8 INX CODE_009D4D: C8 INY CODE_009D4E: C0 CC 00 CPY.W #$00CC ; If not at end of loop, continue CODE_009D51: D0 EE BNE CODE_009D41 CODE_009D53: E2 10 SEP #$10 ; Index (8 bit) CODE_009D55: A9 84 LDA.B #$84 CODE_009D57: 85 00 STA $00 CODE_009D59: A2 02 LDX.B #$02 ;\ Amount of save files-1 to handle writing the number exits CODE_009D5B: 86 04 STX $04 ;/ CODE_009D5D: 46 05 LSR $05 ;\ If one is sent into carry the the file is empty CODE_009D5F: B0 45 BCS CODE_009DA6 ;/ and the default "EMPTY" text will be kept CODE_009D61: 20 B5 9D JSR.W CODE_009DB5 CODE_009D64: D0 40 BNE CODE_009DA6 CODE_009D66: BF 8C 00 70 LDA.L $70008C,X ; Load number of exits for the file CODE_009D6A: E2 10 SEP #$10 ; Index (8 bit) CODE_009D6C: C9 60 CMP.B #$60 ;\ If not 96 exits CODE_009D6E: 90 06 BCC CODE_009D76 ;/ store a regular number CODE_009D70: A0 87 LDY.B #$87 ;\ Two tiles for the *96 gfx CODE_009D72: A9 88 LDA.B #$88 ;/ CODE_009D74: 80 04 BRA CODE_009D7A CODE_009D76: 20 45 90 JSR.W HexToDec ; Turn exits into decimal CODE_009D79: 9B TXY ; Y=tens A=ones CODE_009D7A: A6 00 LDX $00 ;\ Restore stripe image table index CODE_009D7C: 9F 81 83 7F STA.L $7F8381,X ;/ and store ones counter CODE_009D80: 98 TYA ;\ Only store tens digit if there is one CODE_009D81: D0 02 BNE CODE_009D85 ;/ CODE_009D83: A0 FC LDY.B #$FC ;\ Other wise use a blank tile CODE_009D85: 98 TYA ;/ CODE_009D86: 9F 7F 83 7F STA.L $7F837F,X ; Store tens digit CODE_009D8A: A9 38 LDA.B #$38 ;\ CODE_009D8C: 9F 80 83 7F STA.L $7F8380,X ;| use the generic 0x38 tile properties CODE_009D90: 9F 82 83 7F STA.L $7F8382,X ;/ CODE_009D94: C2 20 REP #$20 ; Accum (16 bit) CODE_009D96: A0 03 LDY.B #$03 ;\ CODE_009D98: A9 FC 38 LDA.W #$38FC ;| Blank out three more tiles with a loop CODE_009D9B: 9F 83 83 7F STA.L $7F8383,X ;| CODE_009D9F: E8 INX ;| CODE_009DA0: E8 INX ;| CODE_009DA1: 88 DEY ;| CODE_009DA2: D0 F4 BNE CODE_009D98 ;/ CODE_009DA4: E2 20 SEP #$20 ; Accum (8 bit) CODE_009DA6: E2 10 SEP #$10 ; Index (8 bit) CODE_009DA8: A5 00 LDA $00 ; Load index CODE_009DAA: 38 SEC ;\ Subtract index to move to write the next save file's tiles CODE_009DAB: E9 24 SBC.B #$24 ;/ the length of each entry CODE_009DAD: 85 00 STA $00 CODE_009DAF: A6 04 LDX $04 ;\ CODE_009DB1: CA DEX ;| move to the next file until they are all done CODE_009DB2: 10 A7 BPL CODE_009D5B ;/ Return009DB4: 60 RTS CODE_009DB5: BD CB 9C LDA.W DATA_009CCB,X CODE_009DB8: EB XBA CODE_009DB9: BD CE 9C LDA.W DATA_009CCE,X CODE_009DBC: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_009DBE: AA TAX CODE_009DBF: 18 CLC CODE_009DC0: 69 AD 01 ADC.W #$01AD CODE_009DC3: A8 TAY CODE_009DC4: DA PHX CODE_009DC5: 5A PHY CODE_009DC6: BF 8D 00 70 LDA.L $70008D,X CODE_009DCA: 85 8A STA $8A CODE_009DCC: E2 20 SEP #$20 ; Accum (8 bit) CODE_009DCE: A0 8D 00 LDY.W #$008D CODE_009DD1: BF 00 00 70 LDA.L $700000,X CODE_009DD5: 18 CLC CODE_009DD6: 65 8A ADC $8A CODE_009DD8: 85 8A STA $8A CODE_009DDA: 90 02 BCC CODE_009DDE CODE_009DDC: E6 8B INC $8B CODE_009DDE: E8 INX CODE_009DDF: 88 DEY CODE_009DE0: D0 EF BNE CODE_009DD1 CODE_009DE2: C2 20 REP #$20 ; Accum (16 bit) CODE_009DE4: 7A PLY CODE_009DE5: FA PLX CODE_009DE6: A5 8A LDA $8A CODE_009DE8: C9 5A 5A CMP.W #$5A5A CODE_009DEB: F0 0A BEQ CODE_009DF7 CODE_009DED: E0 AC 01 CPX.W #$01AC CODE_009DF0: B0 05 BCS CODE_009DF7 CODE_009DF2: DA PHX CODE_009DF3: BB TYX CODE_009DF4: 7A PLY CODE_009DF5: 80 CD BRA CODE_009DC4 CODE_009DF7: E2 20 SEP #$20 ; Accum (8 bit) Return009DF9: 60 RTS CODE_009DFA: A5 16 LDA $16 ; Index (8 bit) CODE_009DFC: 05 18 ORA $18 CODE_009DFE: 29 40 AND.B #$40 CODE_009E00: F0 06 BEQ CODE_009E08 CODE_009E02: CE 00 01 DEC.W RAM_GameMode CODE_009E05: 4C 2C 9B JMP.W CODE_009B2C CODE_009E08: A0 04 LDY.B #$04 CODE_009E0A: 20 CB 9A JSR.W CODE_009ACB CODE_009E0D: 8E B2 0D STX.W $0DB2 CODE_009E10: 20 95 A1 JSR.W ConfMapFromSave CODE_009E13: 22 AD DA 04 JSL.L CODE_04DAAD CODE_009E17: A9 80 LDA.B #$80 CODE_009E19: 8D FB 1D STA.W $1DFB CODE_009E1C: A9 FF LDA.B #$FF CODE_009E1E: 8D B5 0D STA.W $0DB5 CODE_009E21: AE B2 0D LDX.W $0DB2 CODE_009E24: A9 04 LDA.B #$04 CODE_009E26: 9D B4 0D STA.W RAM_PlayerLives,X CODE_009E29: CA DEX CODE_009E2A: 10 FA BPL CODE_009E26 CODE_009E2C: 8D BE 0D STA.W RAM_StatusLives CODE_009E2F: 9C BF 0D STZ.W RAM_StatusCoins CODE_009E32: 9C C1 0D STZ.W RAM_OWHasYoshi CODE_009E35: 64 19 STZ RAM_MarioPowerUp CODE_009E37: 9C C2 0D STZ.W $0DC2 CODE_009E3A: 9C C9 13 STZ.W $13C9 CODE_009E3D: C2 20 REP #$20 ; Accum (16 bit) CODE_009E3F: 9C B6 0D STZ.W RAM_PlayerCoins CODE_009E42: 9C B8 0D STZ.W RAM_PlayerPowerUp CODE_009E45: 9C BA 0D STZ.W RAM_PlyrYoshiColor CODE_009E48: 9C C2 0D STZ.W $0DC2 CODE_009E4B: 9C 48 0F STZ.W $0F48 CODE_009E4E: 9C 34 0F STZ.W $0F34 CODE_009E51: 9C 37 0F STZ.W $0F37 CODE_009E54: E2 20 SEP #$20 ; Accum (8 bit) CODE_009E56: 9C 36 0F STZ.W $0F36 CODE_009E59: 9C 39 0F STZ.W $0F39 CODE_009E5C: 9C D5 0D STZ.W $0DD5 CODE_009E5F: 9C B3 0D STZ.W $0DB3 CODE_009E62: 20 29 9F JSR.W KeepModeActive CODE_009E65: A0 0B LDY.B #$0B CODE_009E67: 4C 8B 9C JMP.W CODE_009C8B DATA_009E6A: .db $02,$00,$04,$00,$02,$00,$02,$00 .db $04,$00 DATA_009E74: .db $CB,$51,$E8,$51,$08,$52,$C4,$51 .db $E5,$51 DATA_009E7E: .db $01,$02,$04,$08 CODE_009E82: AE 92 1B LDX.W $1B92 CODE_009E85: BD 7E 9E LDA.W DATA_009E7E,X CODE_009E88: AA TAX CODE_009E89: AD 91 1B LDA.W $1B91 CODE_009E8C: 49 1F EOR.B #$1F CODE_009E8E: 29 18 AND.B #$18 CODE_009E90: D0 02 BNE CODE_009E94 CODE_009E92: A2 00 LDX.B #$00 CODE_009E94: 86 00 STX $00 CODE_009E96: AF 7B 83 7F LDA.L $7F837B CODE_009E9A: AA TAX CODE_009E9B: C2 20 REP #$20 ; Accum (16 bit) CODE_009E9D: B9 6A 9E LDA.W DATA_009E6A,Y CODE_009EA0: 85 8A STA $8A CODE_009EA2: 85 02 STA $02 CODE_009EA4: B9 74 9E LDA.W DATA_009E74,Y CODE_009EA7: EB XBA CODE_009EA8: 9F 7D 83 7F STA.L $7F837D,X CODE_009EAC: EB XBA CODE_009EAD: 18 CLC CODE_009EAE: 69 40 00 ADC.W #$0040 CODE_009EB1: 48 PHA CODE_009EB2: A9 00 01 LDA.W #$0100 CODE_009EB5: 9F 7F 83 7F STA.L $7F837F,X CODE_009EB9: A9 FC 38 LDA.W #$38FC CODE_009EBC: 46 00 LSR $00 CODE_009EBE: 90 03 BCC CODE_009EC3 CODE_009EC0: A9 2E 3D LDA.W #$3D2E CODE_009EC3: 9F 81 83 7F STA.L $7F8381,X CODE_009EC7: 68 PLA CODE_009EC8: E8 INX CODE_009EC9: E8 INX CODE_009ECA: E8 INX CODE_009ECB: E8 INX CODE_009ECC: E8 INX CODE_009ECD: E8 INX CODE_009ECE: C6 02 DEC $02 CODE_009ED0: D0 D5 BNE CODE_009EA7 CODE_009ED2: E2 20 SEP #$20 ; Accum (8 bit) CODE_009ED4: 8A TXA CODE_009ED5: 8F 7B 83 7F STA.L $7F837B CODE_009ED9: A9 FF LDA.B #$FF CODE_009EDB: 9F 7D 83 7F STA.L $7F837D,X Return009EDF: 60 RTS TBL_009EE0: .db $28 DATA_009EE1: .db $03,$4D,$01,$52,$01,$53,$01,$5B .db $08,$5C,$02,$57,$04,$30,$01 TBL_009EF0: .db $01,$01,$02,$00,$02,$00,$68,$00 .db $78,$00,$68,$00,$78,$00,$06,$00 .db $07,$00,$06,$00,$07,$00 CODE_WRITEOW: A2 8D LDX.B #$8D ; Index (8 bit) CODE_009F08: 9E 48 1F STZ.W $1F48,X CODE_009F0B: CA DEX CODE_009F0C: D0 FA BNE CODE_009F08 CODE_009F0E: A2 0E LDX.B #$0E CODE_009F10: BC E0 9E LDY.W TBL_009EE0,X ; \ CODE_009F13: BD E1 9E LDA.W DATA_009EE1,X ; |Write overworld settings to OW L1 table CODE_009F16: 99 49 1F STA.W $1F49,Y ; / CODE_009F19: CA DEX CODE_009F1A: CA DEX CODE_009F1B: 10 F3 BPL CODE_009F10 CODE_009F1D: A2 15 LDX.B #$15 CODE_009F1F: BD F0 9E LDA.W TBL_009EF0,X CODE_009F22: 9D B8 1F STA.W $1FB8,X ; <- This probably means that the table above ends at 1FB7 CODE_009F25: CA DEX CODE_009F26: 10 F7 BPL CODE_009F1F Return009F28: 60 RTS KeepModeActive: A9 01 LDA.B #$01 CODE_009F2B: 8D B1 0D STA.W $0DB1 Return009F2E: 60 RTS DATA_009F2F: .db $01,$FF DATA_009F31: .db $F0,$10 DATA_009F33: .db $0F,$00,$00,$F0 TmpFade: CE B1 0D DEC.W $0DB1 ; \If 0DB1 = 0 Then Exit Ssub CODE_009F3A: 10 32 BPL Return009F6E ; /Decrease it either way. CODE_009F3C: 20 29 9F JSR.W KeepModeActive ; #$01 -> $0DB1 CODE_009F3F: AC AF 0D LDY.W $0DAF CODE_009F42: AD B0 0D LDA.W $0DB0 ; \ CODE_009F45: 18 CLC ; |Increase $0DB0 (mosaic size) by $9F31,y CODE_009F46: 79 31 9F ADC.W DATA_009F31,Y ; | CODE_009F49: 8D B0 0D STA.W $0DB0 ; / CODE_009F4C: AD AE 0D LDA.W $0DAE ; Load Brightness byte from RAM CODE_009F4F: 18 CLC ; \Add $9F2F,Y CODE_009F50: 79 2F 9F ADC.W DATA_009F2F,Y ; / CODE_009F53: 8D AE 0D STA.W $0DAE ; Store back to brightness RAM byte CODE_009F56: D9 33 9F CMP.W DATA_009F33,Y CODE_009F59: D0 0B BNE CODE_009F66 GM++Mosaic: EE 00 01 INC.W RAM_GameMode ; Game Mode += 1 CODE_009F5E: AD AF 0D LDA.W $0DAF ; \ CODE_009F61: 49 01 EOR.B #$01 ; |$0DAF = $0DAF XOR 1 CODE_009F63: 8D AF 0D STA.W $0DAF ; / CODE_009F66: A9 03 LDA.B #$03 ; \ CODE_009F68: 0D B0 0D ORA.W $0DB0 ; |Set mosaic size to $0DB0, enable mosaic on Layer 1 and 2. CODE_009F6B: 8D 06 21 STA.W $2106 ; / ; Mosaic Size and BG Enable Return009F6E: 60 RTS ; I think we're done here CODE_009F6F: CE B1 0D DEC.W $0DB1 ; Decrement something... Seems like it might be a timing counter ; Index (8 bit) CODE_009F72: 10 FA BPL Return009F6E ; If positive, return from subroutine. CODE_009F74: 20 29 9F JSR.W KeepModeActive ; Remain in this mode CODE_009F77: AC AF 0D LDY.W $0DAF ; $0DAF -> Y, CODE_009F7A: 80 D0 BRA CODE_009F4C ; BRA to the fade control routine CODE_009F7C: CE B1 0D DEC.W $0DB1 ;\ CODE_009F7F: 10 ED BPL Return009F6E ;/ if timer is still above 00, return CODE_009F81: A9 08 LDA.B #$08 ;\ CODE_009F83: 20 2B 9F JSR.W CODE_009F2B ;| Keep some mode active, then do the fade control routine CODE_009F86: 80 EF BRA CODE_009F77 ;/ (The end of this routine adds one to the game mode. This means it will go to END, which simply returns and returns. This is clear at the "THE END" screen since it just sits there (the image upload is never cleared.) DATA_009F88: .db $01,$02,$C0,$01,$80,$81,$01,$02 .db $C0,$01,$02,$81,$01,$02,$80,$01 .db $02,$81,$01,$02,$81,$01,$02,$C0 .db $01,$02,$C0,$01,$02,$81,$01,$02 .db $80,$01,$02,$80,$01,$02,$80,$01 .db $02,$81,$01,$02,$81,$01,$02,$80 CODE_009FB8: AD 31 19 LDA.W $1931 ; \ CODE_009FBB: 0A ASL ; |Get (Tileset*3), store in $00 CODE_009FBC: 18 CLC ; | CODE_009FBD: 6D 31 19 ADC.W $1931 ; | CODE_009FC0: 85 00 STA $00 ; / CODE_009FC2: AD E3 1B LDA.W $1BE3 CODE_009FC5: F0 4B BEQ CODE_00A012 CODE_009FC7: 3A DEC A CODE_009FC8: 18 CLC CODE_009FC9: 65 00 ADC $00 CODE_009FCB: AA TAX CODE_009FCC: BD 88 9F LDA.W DATA_009F88,X CODE_009FCF: 30 19 BMI CODE_009FEA CODE_009FD1: 8D 03 14 STA.W $1403 CODE_009FD4: 4A LSR CODE_009FD5: 08 PHP CODE_009FD6: 20 45 A0 JSR.W CODE_00A045 CODE_009FD9: A9 70 LDA.B #$70 CODE_009FDB: 28 PLP CODE_009FDC: F0 02 BEQ CODE_009FE0 CODE_009FDE: A9 40 LDA.B #$40 CODE_009FE0: 85 24 STA $24 CODE_009FE2: 64 25 STZ $25 CODE_009FE4: 22 72 BC 05 JSL.L CODE_05BC72 CODE_009FE8: 80 31 BRA CODE_00A01B CODE_009FEA: 0A ASL CODE_009FEB: 30 25 BMI CODE_00A012 CODE_009FED: F0 18 BEQ CODE_00A007 CODE_009FEF: AD 31 19 LDA.W $1931 CODE_009FF2: C9 01 CMP.B #$01 CODE_009FF4: F0 04 BEQ CODE_009FFA CODE_009FF6: C9 03 CMP.B #$03 CODE_009FF8: D0 25 BNE CODE_00A01F CODE_009FFA: C2 20 REP #$20 ; Accum (16 bit) CODE_009FFC: A5 1A LDA RAM_ScreenBndryXLo CODE_009FFE: 4A LSR CODE_009FFF: 85 22 STA $22 in1Remember: You can get somewhere quick by pressing ctrl+f and typing in the address. CODE_00A001: E2 20 SEP #$20 ; Accum (8 bit) CODE_00A003: A9 C0 LDA.B #$C0 CODE_00A005: 80 10 BRA CODE_00A017 CODE_00A007: A2 07 LDX.B #$07 CODE_00A009: BD 6C B6 LDA.W DATA_00B66C,X CODE_00A00C: 9D 1B 07 STA.W $071B,X CODE_00A00F: CA DEX CODE_00A010: 10 F7 BPL CODE_00A009 CODE_00A012: EE D5 13 INC.W $13D5 CODE_00A015: A9 D0 LDA.B #$D0 CODE_00A017: 85 24 STA $24 CODE_00A019: 64 25 STZ $25 CODE_00A01B: A9 04 LDA.B #$04 CODE_00A01D: 14 40 TRB $40 CODE_00A01F: AD E3 1B LDA.W $1BE3 CODE_00A022: F0 20 BEQ Return00A044 CODE_00A024: 3A DEC A CODE_00A025: 18 CLC CODE_00A026: 65 00 ADC $00 CODE_00A028: 85 01 STA $01 CODE_00A02A: 0A ASL CODE_00A02B: 18 CLC CODE_00A02C: 65 01 ADC $01 CODE_00A02E: AA TAX CODE_00A02F: BF 00 90 05 LDA.L Layer3Ptr,X CODE_00A033: 85 00 STA $00 CODE_00A035: BF 01 90 05 LDA.L Layer3Ptr+1,X CODE_00A039: 85 01 STA $01 CODE_00A03B: BF 02 90 05 LDA.L Layer3Ptr+2,X CODE_00A03F: 85 02 STA $02 CODE_00A041: 20 1E 87 JSR.W CODE_00871E Return00A044: 60 RTS CODE_00A045: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00A047: A2 00 01 LDX.W #$0100 CODE_00A04A: A0 58 00 LDY.W #$0058 CODE_00A04D: A9 00 00 LDA.W #$0000 CODE_00A050: 9F 00 E3 7E STA.L $7EE300,X CODE_00A054: E8 INX CODE_00A055: E8 INX CODE_00A056: 88 DEY CODE_00A057: D0 F7 BNE CODE_00A050 CODE_00A059: 8A TXA CODE_00A05A: 18 CLC CODE_00A05B: 69 00 01 ADC.W #$0100 CODE_00A05E: AA TAX CODE_00A05F: E0 00 1B CPX.W #$1B00 CODE_00A062: 90 E6 BCC CODE_00A04A CODE_00A064: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_00A066: A9 80 LDA.B #$80 CODE_00A068: 04 5B TSB RAM_IsVerticalLvl Return00A06A: 60 RTS DATA_00A06B: .db $00,$00,$EF,$FF,$EF,$FF,$EF,$FF .db $F0,$00,$F0,$00,$F0,$00 DATA_00A079: .db $00,$00,$D8,$FF,$80,$00,$28,$01 .db $D8,$FF,$80,$00,$28,$01 ;;; New labels (not in original all.log): ;;; CODE_00A087 => LoadMapGameMode ;;; CODE_00A195 => ConfMapFromSave ;;; JSR subroutine ;;; Implements game mode $0C, load the world map (the overworld). ;;; ;;; 00A087: LoadMapGameMode: 20 7D 93 JSR.W TurnOffIO CODE_00A08A: AD 9C 1B LDA.W $1B9C CODE_00A08D: F0 04 BEQ CODE_00A093 CODE_00A08F: 22 3B 85 04 JSL.L CODE_04853B CODE_00A093: 20 A6 A1 JSR.W Clear_1A_13D3 CODE_00A096: AD 09 01 LDA.W $0109 ;\ Branch unless using RAM $0109 CODE_00A099: F0 15 BEQ CODE_00A0B0 ;/ to bypass the world map. ;; | only runs if using RAM $0109 to bypass the world map ;; V CODE_00A09B: A9 B0 LDA.B #$B0 CODE_00A09D: 8D F5 1D STA.W $1DF5 CODE_00A0A0: 9C 11 1F STZ.W $1F11 CODE_00A0A3: A9 F0 LDA.B #$F0 CODE_00A0A5: 8D B0 0D STA.W $0DB0 CODE_00A0A8: A9 10 LDA.B #$10 CODE_00A0AA: 8D 00 01 STA.W RAM_GameMode CODE_00A0AD: 4C F7 93 JMP.W Mode04Finish ;; | runs if entering the world map ;; | (after opening save, completing level, or dying) ;; V CODE_00A0B0: 20 FA 85 JSR.W CODE_0085FA CODE_00A0B3: 20 0E 81 JSR.W UploadMusicBank1 ; <- CODE_00A0B6: 20 79 8A JSR.W SetUpScreen ; Set up the screen CODE_00A0B9: 9C DA 0D STZ.W $0DDA ; No music CODE_00A0BC: AE B3 0D LDX.W $0DB3 ; X = 0 if Mario, X = 1 if Luigi CODE_00A0BF: AD BE 0D LDA.W RAM_StatusLives ;\If number of lives < 0, CODE_00A0C2: 10 03 BPL CODE_00A0C7 ;| then increment RAM $7E1B87 CODE_00A0C4: EE 87 1B INC.W $1B87 ;/ to trigger death message on OW. CODE_00A0C7: 9D B4 0D STA.W RAM_PlayerLives,X ;\Update the lives, powerup status, CODE_00A0CA: A5 19 LDA RAM_MarioPowerUp ;| coins and on-Yoshi status of CODE_00A0CC: 9D B8 0D STA.W RAM_PlayerPowerUp,X ;| whichever character (Mario or Luigi) CODE_00A0CF: AD BF 0D LDA.W RAM_StatusCoins ;| CODE_00A0D2: 9D B6 0D STA.W RAM_PlayerCoins,X ;/ CODE_00A0D5: AD C1 0D LDA.W RAM_OWHasYoshi ;\ If current player has Yoshi, then CODE_00A0D8: F0 03 BEQ CODE_00A0DD ; \ then update the color of Yoshi, CODE_00A0DA: AD C7 13 LDA.W RAM_YoshiColor ;| else set color to zero. CODE_00A0DD: 9D BA 0D STA.W RAM_PlyrYoshiColor,X ;/ CODE_00A0E0: AD C2 0D LDA.W $0DC2 ;\Update the reserved item. CODE_00A0E3: 9D BC 0D STA.W $0DBC,X ;/ CODE_00A0E6: A9 03 LDA.B #$03 ;\Turn off color windows for color math. CODE_00A0E8: 85 44 STA $44 ;/Enable "fixed color", "direct select". CODE_00A0EA: A9 30 LDA.B #$30 ;\Screen settings if skipping ahead CODE_00A0EC: A2 15 LDX.B #$15 ;/ CODE_00A0EE: AC C9 13 LDY.W $13C9 ;\Skip ahead unless returning to CODE_00A0F1: F0 28 BEQ CODE_00A11B ;/ world map after Game Over. ;; | runs if returning to world map after Game Over ;; V CODE_00A0F3: 20 95 A1 JSR.W ConfMapFromSave ; Lose all progress after last save! CODE_00A0F6: AD 2E 1F LDA.W $1F2E ;\If player has zero exits, then end CODE_00A0F9: D0 06 BNE CODE_00A101 ;|game now. No continue/end menu. CODE_00A0FB: 20 89 9C JSR.W CODE_009C89 ;| Exit to title screen CODE_00A0FE: 4C F4 93 JMP.W CODE_0093F4 ;/ Move on, basically reset the game CODE_00A101: 22 AD DA 04 JSL.L CODE_04DAAD CODE_00A105: C2 20 REP #$20 ; Accum (16 bit) CODE_00A107: A9 8C 31 LDA.W #$318C CODE_00A10A: 8D 01 07 STA.W $0701 CODE_00A10D: E2 20 SEP #$20 ; Accum (8 bit) CODE_00A10F: A9 30 LDA.B #$30 CODE_00A111: 85 43 STA $43 CODE_00A113: A9 20 LDA.B #$20 CODE_00A115: 85 44 STA $44 CODE_00A117: A9 B3 LDA.B #$B3 ;\ Screen settings CODE_00A119: A2 17 LDX.B #$17 ;/ ;; fall through ;; | If continuing after Game Over: A = $B3, X = $17 ;; V If came here by skipping ahead: A = $30, X = $15 CODE_00A11B: A0 02 LDY.B #$02 CODE_00A11D: 20 FD 93 JSR.W ScreenSettings CODE_00A120: 8E 2E 21 STX.W $212E ; Window Mask Designation for Main Screen CODE_00A123: 8C 2F 21 STY.W $212F ; Window Mask Designation for Sub Screen CODE_00A126: 22 09 DC 04 JSL.L CODE_04DC09 ; Load all layers of world map CODE_00A12A: AE B3 0D LDX.W $0DB3 CODE_00A12D: BD 11 1F LDA.W $1F11,X CODE_00A130: 0A ASL CODE_00A131: AA TAX CODE_00A132: C2 20 REP #$20 ; Accum (16 bit) CODE_00A134: BD 6B A0 LDA.W DATA_00A06B,X CODE_00A137: 85 1A STA RAM_ScreenBndryXLo CODE_00A139: 85 1E STA $1E CODE_00A13B: BD 79 A0 LDA.W DATA_00A079,X CODE_00A13E: 85 1C STA RAM_ScreenBndryYLo CODE_00A140: 85 20 STA $20 CODE_00A142: E2 20 SEP #$20 ; Accum (8 bit) CODE_00A144: 20 DA A9 JSR.W UploadSpriteGFX CODE_00A147: A0 14 LDY.B #$14 CODE_00A149: 22 28 BA 00 JSL.L CODE_00BA28 CODE_00A14D: 20 25 AD JSR.W CODE_00AD25 CODE_00A150: 20 2F 92 JSR.W CODE_00922F CODE_00A153: A9 06 LDA.B #$06 ; \ Load overworld border CODE_00A155: 85 12 STA $12 ; | CODE_00A157: 20 D2 85 JSR.W LoadScrnImage ; / CODE_00A15A: 22 F2 DB 05 JSL.L CODE_05DBF2 CODE_00A15E: 20 D2 85 JSR.W LoadScrnImage CODE_00A161: 22 91 8D 04 JSL.L CODE_048D91 CODE_00A165: 22 E9 D6 04 JSL.L CODE_04D6E9 CODE_00A169: A9 F0 LDA.B #$F0 CODE_00A16B: 85 3F STA $3F CODE_00A16D: 20 94 84 JSR.W CODE_008494 CODE_00A170: 20 D2 85 JSR.W LoadScrnImage CODE_00A173: 9C D9 13 STZ.W $13D9 CODE_00A176: 20 29 9F JSR.W KeepModeActive CODE_00A179: A9 02 LDA.B #$02 CODE_00A17B: 8D 9B 0D STA.W $0D9B CODE_00A17E: C2 10 REP #$10 ; Index (16 bit) CODE_00A180: A2 BE 01 LDX.W #$01BE CODE_00A183: A9 FF LDA.B #$FF CODE_00A185: 9E A0 04 STZ.W $04A0,X CODE_00A188: 9D A1 04 STA.W $04A1,X CODE_00A18B: CA DEX CODE_00A18C: CA DEX CODE_00A18D: 10 F6 BPL CODE_00A185 CODE_00A18F: 20 A0 92 JSR.W CODE_0092A0 CODE_00A192: 4C F4 93 JMP.W CODE_0093F4 ;;; JSR subroutine ;;; ;;; Configures the world map. Sets the level settings (RAM $7e1ea2..$7e1f01), ;;; event flags (RAM $7e1f02..$7e1f10), and Mario and Luigi (RAM $7e1f11..$7e1f26), ;;; switch place status (RAM $7e1f27..$7e1f2a), unknown (RAM $7e1f2b..$7e1f2d) and ;;; number of exits (RAM $7e1f2e), ;;; by loading everything from the open save file (RAM $7e1f49..$7e1fd5). ;;; ;;; 00A195: ConfMapFromSave: C2 10 REP #$10 ; Index (16 bit) CODE_00A197: A2 8C 00 LDX.W #$008C ;\Move 141 bytes (index 0..140) CODE_00A19A: BD 49 1F LDA.W $1F49,X ;| from table $7e1f49..$7e1fd5 CODE_00A19D: 9D A2 1E STA.W $1EA2,X ;| to table $7e1ea2..$7e1f2e CODE_00A1A0: CA DEX ;| CODE_00A1A1: 10 F7 BPL CODE_00A19A ;/ CODE_00A1A3: E2 10 SEP #$10 ; Index (8 bit) Return00A1A5: 60 RTS ; Return from ConfMapFromSave Clear_1A_13D3: C2 10 REP #$10 ; 16 bit X,Y ; Index (16 bit) CODE_00A1A8: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_00A1AA: A2 BD 00 LDX.W #$00BD ; \ CODE_00A1AD: 74 1A STZ RAM_ScreenBndryXLo,X ; |Clear RAM addresses $1A-$D7 CODE_00A1AF: CA DEX ; | CODE_00A1B0: 10 FB BPL CODE_00A1AD ; / CODE_00A1B2: A2 CE 07 LDX.W #$07CE ; \ CODE_00A1B5: 9E D3 13 STZ.W $13D3,X ; |Clear RAM addresses $13D3-$1BA1 CODE_00A1B8: CA DEX ; | CODE_00A1B9: 10 FA BPL CODE_00A1B5 ; / CODE_00A1BB: E2 10 SEP #$10 ; 16 bit X,Y ; Index (8 bit) Return00A1BD: 60 RTS ; Return CODE_00A1BE: 20 74 9A JSR.W SetUp0DA0GM4 CODE_00A1C1: E6 14 INC RAM_FrameCounterB ; Increase alternate frame counter CODE_00A1C3: 22 00 80 7F JSL.L RAM_7F8000 CODE_00A1C7: 22 41 82 04 JSL.L GameMode_0E_Prim ; (Bank 4.asm) CODE_00A1CB: 4C 94 84 JMP.W CODE_008494 GrndShakeDispYLo: .db $FE,$00,$02,$00 GrndShakeDispYHi: .db $FF,$00,$00,$00 DATA_00A1D6: .db $12,$22,$12,$02 InLevelGameMode: CODE_00A1DA: AD 26 14 LDA.W $1426 ;\ if no message box running, don't run this next routine CODE_00A1DD: F0 05 BEQ CODE_00A1E4 ;/ CODE_00A1DF: 22 0C B1 05 JSL.L CODE_05B10C ; Run Message box routine Return00A1E3: 60 RTS CODE_00A1E4: AD 25 14 LDA.W $1425 ;\if not going to bonus game, don't check all these others CODE_00A1E7: F0 17 BEQ CODE_00A200 ;/ CODE_00A1E9: AD AB 14 LDA.W $14AB ;\ if the end of the bonus game, go to the same place as if you weren't going to the bonus game at all. CODE_00A1EC: F0 12 BEQ CODE_00A200 ;/ CODE_00A1EE: C9 40 CMP.B #$40 ;\ if we have some time to go, ditto above CODE_00A1F0: B0 0E BCS CODE_00A200 ;/ CODE_00A1F2: 20 2D F6 JSR.W NoButtons ; NO BUTTONS CODE_00A1F5: C9 1C CMP.B #$1C ;\ if we have some time to go, but still more time, ditto the ditto CODE_00A1F7: B0 07 BCS CODE_00A200 ;/ CODE_00A1F9: 20 31 CA JSR.W SetMarioPeaceImg ; Set the peace image CODE_00A1FC: A9 0D LDA.B #$0D ;\ Set Mario's animation CODE_00A1FE: 85 71 STA RAM_MarioAnimation ;/ (Thought to be a glitchy value!) CODE_00A200: 05 71 ORA RAM_MarioAnimation ;\ if normal exit time, and Mario's animation is 00, CODE_00A202: 0D 93 14 ORA.W $1493 ;| CODE_00A205: F0 0A BEQ CODE_00A211 ;/ CODE_00A207: A9 04 LDA.B #$04 ;\ mario is holding down CODE_00A209: 14 15 TRB RAM_ControllerA ;/ CODE_00A20B: A9 40 LDA.B #$40 ;\ CODE_00A20D: 14 16 TRB $16 ;| and X CODE_00A20F: 14 18 TRB $18 ;/ CODE_00A211: AD D3 13 LDA.W $13D3 ;\ if you can pause the game, CODE_00A214: F0 05 BEQ CODE_00A21B ;/ CODE_00A216: CE D3 13 DEC.W $13D3 ;\Otherwise decrement it and continue LIKE all those dittos above CODE_00A219: 80 27 BRA CODE_00A242 ;/ CODE_00A21B: A5 16 LDA $16 ;\ CODE_00A21D: 29 10 AND.B #$10 ;| if not holding start, don't check for all those technical animations and such CODE_00A21F: F0 21 BEQ CODE_00A242 ;/ CODE_00A221: AD 93 14 LDA.W $1493 ;\ if the exit is not regular exit, ^^ CODE_00A224: D0 1C BNE CODE_00A242 ;/ CODE_00A226: A5 71 LDA RAM_MarioAnimation ;\ CODE_00A228: C9 09 CMP.B #$09 ;| if some of the technical animations, like level ending, etc CODE_00A22A: B0 16 BCS CODE_00A242 ;/ continue like those ^^ CODE_00A22C: A9 3C LDA.B #$3C ;\ disable pressing pause CODE_00A22E: 8D D3 13 STA.W $13D3 ;/ CODE_00A231: A0 12 LDY.B #$12 ; CODE_00A233: AD D4 13 LDA.W $13D4 ;\ CODE_00A236: 49 01 EOR.B #$01 ;| and invert the pause flag CODE_00A238: 8D D4 13 STA.W $13D4 ;/ CODE_00A23B: F0 02 BEQ CODE_00A23F ; if it's now 00, go CODE_00A23D: A0 11 LDY.B #$11 ;\ play a sound CODE_00A23F: 8C F9 1D STY.W $1DF9 ;/ CODE_00A242: AD D4 13 LDA.W $13D4 ;\ if the pause flag is 00, CODE_00A245: F0 43 BEQ CODE_00A28A ;/ CODE_00A247: 80 12 BRA CODE_00A25B ; continue running the code ADDR_00A249: 2C A7 0D BIT.W $0DA7 ; \ Unreachable ADDR_00A24C: 70 0B BVS ADDR_00A259 ; | Debug: Slow motion ADDR_00A24E: AD A3 0D LDA.W $0DA3 ; | ADDR_00A251: 10 08 BPL CODE_00A25B ; | ADDR_00A253: A5 13 LDA RAM_FrameCounter ; | ADDR_00A255: 29 0F AND.B #$0F ; | ADDR_00A257: D0 02 BNE CODE_00A25B ; | ADDR_00A259: 80 2F BRA CODE_00A28A ; / CODE_00A25B: A5 15 LDA RAM_ControllerA ;\;;;;;;;;;;;;;;;;;;This handles what happens when you press start/select!;;;;;;;;;;;;;; CODE_00A25D: 29 20 AND.B #$20 ;| if select is not being pressed, return CODE_00A25F: F0 28 BEQ Return00A289 ;/ CODE_00A261: AC BF 13 LDY.W $13BF ;\ If the level is being beaten, CODE_00A264: B9 A2 1E LDA.W $1EA2,Y ;| return CODE_00A267: 10 20 BPL Return00A289 ;/ CODE_00A269: AD D5 0D LDA.W $0DD5 ;\ CODE_00A26C: F0 02 BEQ CODE_00A270 ;/ if exit is normal exit, then continue ADDR_00A26E: 10 19 BPL Return00A289 ; if special (?) exit time, return CODE_00A270: A9 80 LDA.B #$80 ;\ CODE_00A272: 80 0A BRA CODE_00A27E ;| (Go to 00A27E... ADDR_00A274: A9 01 LDA.B #$01 ; \ Unreachable ADDR_00A276: 24 15 BIT RAM_ControllerA ; | Debug: Beat level with Start+Select ADDR_00A278: 10 01 BPL ADDR_00A27B ; | ADDR_00A27A: 1A INC A ; | ADDR_00A27B: 8D CE 13 STA.W $13CE ; / <- Corrected CODE_00A27E: 8D D5 0D STA.W $0DD5 ;/ End the level) CODE_00A281: EE E9 1D INC.W $1DE9 ; Probably multi-use address, maybe transitioning game modes in this case CODE_00A284: A9 0B LDA.B #$0B ;\ set game mode to exit level CODE_00A286: 8D 00 01 STA.W RAM_GameMode ;/ Return00A289: 60 RTS ; Done! CODE_00A28A: AD 9B 0D LDA.W $0D9B ;\ CODE_00A28D: 10 06 BPL CODE_00A295 ;/ if "regular" game types and such, don't do these jumps CODE_00A28F: 20 7D 98 JSR.W CODE_00987D CODE_00A292: 4C A9 A2 JMP.W CODE_00A2A9 CODE_00A295: 22 00 80 7F JSL.L RAM_7F8000 ; Move all sprites offscreen CODE_00A299: 22 DB F6 00 JSL.L CODE_00F6DB CODE_00A29D: 22 00 BC 05 JSL.L CODE_05BC00 CODE_00A2A1: 22 F1 86 05 JSL.L CODE_0586F1 CODE_00A2A5: 22 39 BB 05 JSL.L CODE_05BB39 CODE_00A2A9: A5 1C LDA RAM_ScreenBndryYLo ;\ CODE_00A2AB: 48 PHA ;| CODE_00A2AC: A5 1D LDA RAM_ScreenBndryYHi ;| Save the Y screen boundary to retreive later CODE_00A2AE: 48 PHA ;/ CODE_00A2AF: 9C 88 18 STZ.W RAM_Layer1DispYLo ; \ Reset amout to shift level CODE_00A2B2: 9C 89 18 STZ.W RAM_Layer1DispYHi ; / CODE_00A2B5: AD 87 18 LDA.W RAM_ShakeGrndTimer ; \ If shake ground timer is set CODE_00A2B8: F0 1B BEQ CODE_00A2D5 ; | CODE_00A2BA: CE 87 18 DEC.W RAM_ShakeGrndTimer ; | Decrement timer CODE_00A2BD: 29 03 AND.B #$03 ; | CODE_00A2BF: A8 TAY ; | CODE_00A2C0: B9 CE A1 LDA.W GrndShakeDispYLo,Y ; | CODE_00A2C3: 8D 88 18 STA.W RAM_Layer1DispYLo ; | $1888-$1889 = Amount to shift level CODE_00A2C6: 18 CLC ; | CODE_00A2C7: 65 1C ADC RAM_ScreenBndryYLo ; | CODE_00A2C9: 85 1C STA RAM_ScreenBndryYLo ; | Adjust layer 1 accordingly CODE_00A2CB: B9 D2 A1 LDA.W GrndShakeDispYHi,Y ; | CODE_00A2CE: 8D 89 18 STA.W RAM_Layer1DispYHi ; | CODE_00A2D1: 65 1D ADC RAM_ScreenBndryYHi ; | CODE_00A2D3: 85 1D STA RAM_ScreenBndryYHi ; / CODE_00A2D5: 20 1A 8E JSR.W CODE_008E1A CODE_00A2D8: 22 BD E2 00 JSL.L CODE_00E2BD CODE_00A2DC: 20 F3 A2 JSR.W CODE_00A2F3 ; Update X/Y pos CODE_00A2DF: 20 7E C4 JSR.W CODE_00C47E CODE_00A2E2: 22 8C 80 01 JSL.L CODE_01808C CODE_00A2E6: 22 B1 8A 02 JSL.L CODE_028AB1 CODE_00A2EA: 68 PLA ;| CODE_00A2EB: 85 1D STA RAM_ScreenBndryYHi ;| Return layers to original position CODE_00A2ED: 68 PLA ;| CODE_00A2EE: 85 1C STA RAM_ScreenBndryYLo ;/ CODE_00A2F0: 4C 94 84 JMP.W CODE_008494 CODE_00A2F3: C2 20 REP #$20 ; Accum (16 bit) CODE_00A2F5: A5 94 LDA RAM_MarioXPos ;\ CODE_00A2F7: 85 D1 STA $D1 ;| Mario's X/Y pos = Mario's X/Y pos current frame CODE_00A2F9: A5 96 LDA RAM_MarioYPos ;| (Update X/Ypos) CODE_00A2FB: 85 D3 STA $D3 ;/ CODE_00A2FD: E2 20 SEP #$20 ; Accum (8 bit) Return00A2FF: 60 RTS MarioGFXDMA: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_00A302: A2 04 LDX.B #$04 ; We're using DMA channel 2 CODE_00A304: AC 84 0D LDY.W $0D84 CODE_00A307: F0 1F BEQ CODE_00A328 CODE_00A309: A0 86 LDY.B #$86 ; \ Set Address for CG-RAM Write to x86 CODE_00A30B: 8C 21 21 STY.W $2121 ; / ; Address for CG-RAM Write CODE_00A30E: A9 00 22 LDA.W #$2200 CODE_00A311: 8D 20 43 STA.W $4320 ; Parameters for DMA Transfer CODE_00A314: AD 82 0D LDA.W $0D82 ; \ Get location of palette from $0D82-$0D83 CODE_00A317: 8D 22 43 STA.W $4322 ; / ; A Address (Low Byte) CODE_00A31A: A0 00 LDY.B #$00 ; \ Palette is stored in bank x00 CODE_00A31C: 8C 24 43 STY.W $4324 ; / ; A Address Bank CODE_00A31F: A9 14 00 LDA.W #$0014 ; \ x14 bytes will be transferred CODE_00A322: 8D 25 43 STA.W $4325 ; / ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A325: 8E 0B 42 STX.W $420B ; Transfer the colors ; Regular DMA Channel Enable CODE_00A328: A0 80 LDY.B #$80 ; \ Set VRAM Address Increment Value to x80 CODE_00A32A: 8C 15 21 STY.W $2115 ; / ; VRAM Address Increment Value CODE_00A32D: A9 01 18 LDA.W #$1801 CODE_00A330: 8D 20 43 STA.W $4320 ; Parameters for DMA Transfer CODE_00A333: A9 F0 67 LDA.W #$67F0 CODE_00A336: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A339: AD 99 0D LDA.W $0D99 CODE_00A33C: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A33F: A0 7E LDY.B #$7E ; \ Set bank to x7E CODE_00A341: 8C 24 43 STY.W $4324 ; / ; A Address Bank CODE_00A344: A9 20 00 LDA.W #$0020 ; \ x20 bytes will be transferred CODE_00A347: 8D 25 43 STA.W $4325 ; / ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A34A: 8E 0B 42 STX.W $420B ; Transfer ; Regular DMA Channel Enable CODE_00A34D: A9 00 60 LDA.W #$6000 ; \ Set Address for VRAM Read/Write to x6000 CODE_00A350: 8D 16 21 STA.W $2116 ; / ; Address for VRAM Read/Write (Low Byte) CODE_00A353: A2 00 LDX.B #$00 CODE_00A355: BD 85 0D LDA.W $0D85,X ; \ Get address of graphics to copy CODE_00A358: 8D 22 43 STA.W $4322 ; / ; A Address (Low Byte) CODE_00A35B: A9 40 00 LDA.W #$0040 ; \ x40 bytes will be transferred CODE_00A35E: 8D 25 43 STA.W $4325 ; / ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A361: A0 04 LDY.B #$04 ; \ Transfer CODE_00A363: 8C 0B 42 STY.W $420B ; / ; Regular DMA Channel Enable CODE_00A366: E8 INX ; \ Move to next address CODE_00A367: E8 INX ; / CODE_00A368: EC 84 0D CPX.W $0D84 ; \ Repeat last segment while X<$0D84 CODE_00A36B: 90 E8 BCC CODE_00A355 ; / CODE_00A36D: A9 00 61 LDA.W #$6100 ; \ Set Address for VRAM Read/Write to x6100 CODE_00A370: 8D 16 21 STA.W $2116 ; / ; Address for VRAM Read/Write (Low Byte) CODE_00A373: A2 00 LDX.B #$00 CODE_00A375: BD 8F 0D LDA.W $0D8F,X ; \ Get address of graphics to copy CODE_00A378: 8D 22 43 STA.W $4322 ; / ; A Address (Low Byte) CODE_00A37B: A9 40 00 LDA.W #$0040 ; \ x40 bytes will be transferred CODE_00A37E: 8D 25 43 STA.W $4325 ; / ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A381: A0 04 LDY.B #$04 ; \ Transfer CODE_00A383: 8C 0B 42 STY.W $420B ; / ; Regular DMA Channel Enable CODE_00A386: E8 INX ; \ Move to next address CODE_00A387: E8 INX ; / CODE_00A388: EC 84 0D CPX.W $0D84 ; \ Repeat last segment while X<$0D84 CODE_00A38B: 90 E8 BCC CODE_00A375 ; / CODE_00A38D: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) Return00A38F: 60 RTS ; Return CODE_00A390: C2 20 REP #$20 ; Accum (16 bit) CODE_00A392: A0 80 LDY.B #$80 CODE_00A394: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_00A397: A9 01 18 LDA.W #$1801 CODE_00A39A: 8D 20 43 STA.W $4320 ; Parameters for DMA Transfer CODE_00A39D: A0 7E LDY.B #$7E CODE_00A39F: 8C 24 43 STY.W $4324 ; A Address Bank CODE_00A3A2: A2 04 LDX.B #$04 CODE_00A3A4: AD 80 0D LDA.W $0D80 CODE_00A3A7: F0 12 BEQ CODE_00A3BB CODE_00A3A9: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A3AC: AD 7A 0D LDA.W $0D7A CODE_00A3AF: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A3B2: A9 80 00 LDA.W #$0080 CODE_00A3B5: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A3B8: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A3BB: AD 7E 0D LDA.W $0D7E CODE_00A3BE: F0 12 BEQ CODE_00A3D2 CODE_00A3C0: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A3C3: AD 78 0D LDA.W $0D78 CODE_00A3C6: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A3C9: A9 80 00 LDA.W #$0080 CODE_00A3CC: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A3CF: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A3D2: AD 7C 0D LDA.W $0D7C CODE_00A3D5: F0 41 BEQ CODE_00A418 CODE_00A3D7: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A3DA: C9 00 08 CMP.W #$0800 CODE_00A3DD: F0 11 BEQ CODE_00A3F0 CODE_00A3DF: AD 76 0D LDA.W $0D76 CODE_00A3E2: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A3E5: A9 80 00 LDA.W #$0080 CODE_00A3E8: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A3EB: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A3EE: 80 28 BRA CODE_00A418 CODE_00A3F0: AD 76 0D LDA.W $0D76 CODE_00A3F3: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A3F6: A9 40 00 LDA.W #$0040 CODE_00A3F9: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A3FC: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A3FF: A9 00 09 LDA.W #$0900 CODE_00A402: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A405: AD 76 0D LDA.W $0D76 CODE_00A408: 18 CLC CODE_00A409: 69 40 00 ADC.W #$0040 CODE_00A40C: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A40F: A9 40 00 LDA.W #$0040 CODE_00A412: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A415: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A418: E2 20 SEP #$20 ; Accum (8 bit) CODE_00A41A: A9 64 LDA.B #$64 CODE_00A41C: 64 00 STZ $00 CODE_00A41E: 8D 21 21 STA.W $2121 ; Address for CG-RAM Write CODE_00A421: A5 14 LDA RAM_FrameCounterB CODE_00A423: 29 1C AND.B #$1C CODE_00A425: 4A LSR CODE_00A426: 65 00 ADC $00 CODE_00A428: A8 TAY CODE_00A429: B9 0C B6 LDA.W MorePalettes,Y CODE_00A42C: 8D 22 21 STA.W $2122 ; Data for CG-RAM Write CODE_00A42F: B9 0D B6 LDA.W DATA_00B60D,Y CODE_00A432: 8D 22 21 STA.W $2122 ; Data for CG-RAM Write Return00A435: 60 RTS CODE_00A436: AD 35 19 LDA.W $1935 CODE_00A439: F0 43 BEQ Return00A47E CODE_00A43B: 9C 35 19 STZ.W $1935 CODE_00A43E: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_00A440: A0 80 LDY.B #$80 CODE_00A442: 8C 15 21 STY.W $2115 ; VRAM Address Increment Value CODE_00A445: A9 A0 64 LDA.W #$64A0 CODE_00A448: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A44B: A9 01 18 LDA.W #$1801 CODE_00A44E: 8D 20 43 STA.W $4320 ; Parameters for DMA Transfer CODE_00A451: A9 F6 0B LDA.W #$0BF6 CODE_00A454: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A457: A0 00 LDY.B #$00 CODE_00A459: 8C 24 43 STY.W $4324 ; A Address Bank CODE_00A45C: A9 C0 00 LDA.W #$00C0 CODE_00A45F: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A462: A2 04 LDX.B #$04 CODE_00A464: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A467: A9 A0 65 LDA.W #$65A0 CODE_00A46A: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A46D: A9 B6 0C LDA.W #$0CB6 CODE_00A470: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A473: A9 C0 00 LDA.W #$00C0 CODE_00A476: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A479: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A47C: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) Return00A47E: 60 RTS DATA_00A47F: .db $82 DATA_00A480: .db $06 DATA_00A481: .db $00,$05,$09,$00,$03,$07,$00 MoreDMA: AC 80 06 LDY.W $0680 CODE_00A48B: BE 81 A4 LDX.W DATA_00A481,Y CODE_00A48E: 86 02 STX $02 CODE_00A490: 64 01 STZ $01 CODE_00A492: 64 00 STZ $00 CODE_00A494: 64 04 STZ $04 CODE_00A496: B9 80 A4 LDA.W DATA_00A480,Y CODE_00A499: EB XBA CODE_00A49A: B9 7F A4 LDA.W DATA_00A47F,Y CODE_00A49D: C2 10 REP #$10 ; Index (16 bit) CODE_00A49F: A8 TAY CODE_00A4A0: B7 00 LDA [$00],Y CODE_00A4A2: F0 2B BEQ CODE_00A4CF CODE_00A4A4: 8E 24 43 STX.W $4324 ; A Address Bank CODE_00A4A7: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A4AA: 85 03 STA $03 CODE_00A4AC: 9C 26 43 STZ.W $4326 ; Number Bytes to Transfer (High Byte) (DMA) CODE_00A4AF: C8 INY CODE_00A4B0: B7 00 LDA [$00],Y CODE_00A4B2: 8D 21 21 STA.W $2121 ; Address for CG-RAM Write CODE_00A4B5: C2 20 REP #$20 ; Accum (16 bit) CODE_00A4B7: A9 00 22 LDA.W #$2200 CODE_00A4BA: 8D 20 43 STA.W $4320 ; Parameters for DMA Transfer CODE_00A4BD: C8 INY CODE_00A4BE: 98 TYA CODE_00A4BF: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A4C2: 18 CLC CODE_00A4C3: 65 03 ADC $03 CODE_00A4C5: A8 TAY CODE_00A4C6: E2 20 SEP #$20 ; Accum (8 bit) CODE_00A4C8: A9 04 LDA.B #$04 CODE_00A4CA: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_00A4CD: 80 D1 BRA CODE_00A4A0 CODE_00A4CF: E2 10 SEP #$10 ; Index (8 bit) CODE_00A4D1: 20 47 AE JSR.W CODE_00AE47 CODE_00A4D4: AD 80 06 LDA.W $0680 CODE_00A4D7: D0 06 BNE CODE_00A4DF CODE_00A4D9: 9C 81 06 STZ.W $0681 CODE_00A4DC: 9C 82 06 STZ.W $0682 CODE_00A4DF: 9C 80 06 STZ.W $0680 Return00A4E2: 60 RTS CODE_00A4E3: C2 10 REP #$10 ; Index (16 bit) CODE_00A4E5: A9 80 LDA.B #$80 CODE_00A4E7: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_00A4EA: A0 50 07 LDY.W #$0750 CODE_00A4ED: 8C 16 21 STY.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A4F0: A0 01 18 LDY.W #$1801 CODE_00A4F3: 8C 20 43 STY.W $4320 ; Parameters for DMA Transfer CODE_00A4F6: A0 F6 0A LDY.W #$0AF6 CODE_00A4F9: 8C 22 43 STY.W $4322 ; A Address (Low Byte) CODE_00A4FC: 9C 24 43 STZ.W $4324 ; A Address Bank CODE_00A4FF: A0 60 01 LDY.W #$0160 CODE_00A502: 8C 25 43 STY.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A505: A9 04 LDA.B #$04 CODE_00A507: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_00A50A: E2 10 SEP #$10 ; Index (8 bit) CODE_00A50C: AD D9 13 LDA.W $13D9 CODE_00A50F: C9 0A CMP.B #$0A CODE_00A511: F0 CF BEQ Return00A4E2 CODE_00A513: A9 6D LDA.B #$6D CODE_00A515: 20 1C A4 JSR.W CODE_00A41C CODE_00A518: A9 10 LDA.B #$10 CODE_00A51A: 85 00 STA $00 CODE_00A51C: A9 7D LDA.B #$7D CODE_00A51E: 4C 1E A4 JMP.W CODE_00A41E DATA_00A521: .db $00,$04,$08,$0C DATA_00A525: .db $00,$08,$10,$18 CODE_00A529: A9 80 LDA.B #$80 CODE_00A52B: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_00A52E: 9C 16 21 STZ.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A531: A9 30 LDA.B #$30 CODE_00A533: 18 CLC CODE_00A534: 79 21 A5 ADC.W DATA_00A521,Y CODE_00A537: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_00A53A: A2 06 LDX.B #$06 CODE_00A53C: BD 86 A5 LDA.W DATA_00A586,X CODE_00A53F: 9D 10 43 STA.W $4310,X CODE_00A542: CA DEX CODE_00A543: 10 F7 BPL CODE_00A53C CODE_00A545: AD D6 0D LDA.W $0DD6 CODE_00A548: 4A LSR CODE_00A549: 4A LSR CODE_00A54A: AA TAX CODE_00A54B: BD 11 1F LDA.W $1F11,X CODE_00A54E: F0 05 BEQ CODE_00A555 CODE_00A550: A9 60 LDA.B #$60 CODE_00A552: 8D 13 43 STA.W $4313 ; A Address (High Byte) CODE_00A555: AD 13 43 LDA.W $4313 ; A Address (High Byte) CODE_00A558: 18 CLC CODE_00A559: 79 25 A5 ADC.W DATA_00A525,Y CODE_00A55C: 8D 13 43 STA.W $4313 ; A Address (High Byte) CODE_00A55F: A9 02 LDA.B #$02 CODE_00A561: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_00A564: A9 80 LDA.B #$80 CODE_00A566: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_00A569: 9C 16 21 STZ.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A56C: A9 20 LDA.B #$20 CODE_00A56E: 18 CLC CODE_00A56F: 79 21 A5 ADC.W DATA_00A521,Y CODE_00A572: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_00A575: A2 06 LDX.B #$06 CODE_00A577: BD 8D A5 LDA.W DATA_00A58D,X CODE_00A57A: 9D 10 43 STA.W $4310,X CODE_00A57D: CA DEX CODE_00A57E: 10 F7 BPL CODE_00A577 CODE_00A580: A9 02 LDA.B #$02 CODE_00A582: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable Return00A585: 60 RTS DATA_00A586: .db $01,$18,$00,$40,$7F,$00,$08 DATA_00A58D: .db $01,$18,$00,$E4,$7E,$00,$08 CODE_00A594: 8B PHB ; Wrapper CODE_00A595: 4B PHK CODE_00A596: AB PLB CODE_00A597: 20 25 AD JSR.W CODE_00AD25 CODE_00A59A: AB PLB Return00A59B: 6B RTL GM04Load: 20 FA 85 JSR.W CODE_0085FA ; gah, stupid keyboard >_< CODE_00A59F: 20 2D F6 JSR.W NoButtons CODE_00A5A2: 9C 3A 14 STZ.W $143A CODE_00A5A5: 20 79 8A JSR.W SetUpScreen CODE_00A5A8: 20 FF 8C JSR.W GM04DoDMA CODE_00A5AB: 22 9E 80 05 JSL.L CODE_05809E ; ->here CODE_00A5AF: AD 9B 0D LDA.W $0D9B CODE_00A5B2: 10 05 BPL CODE_00A5B9 CODE_00A5B4: 20 BC 97 JSR.W CODE_0097BC ; Working on this routine CODE_00A5B7: 80 16 BRA CODE_00A5CF CODE_00A5B9: 20 DA A9 JSR.W UploadSpriteGFX CODE_00A5BC: 20 ED AB JSR.W LoadPalette CODE_00A5BF: 22 8A BE 05 JSL.L CODE_05BE8A CODE_00A5C3: 20 B8 9F JSR.W CODE_009FB8 CODE_00A5C6: 20 F9 A5 JSR.W CODE_00A5F9 CODE_00A5C9: 20 60 92 JSR.W CODE_009260 CODE_00A5CC: 20 60 98 JSR.W CODE_009860 CODE_00A5CF: 20 2F 92 JSR.W CODE_00922F CODE_00A5D2: 20 29 9F JSR.W KeepModeActive CODE_00A5D5: 20 1A 8E JSR.W CODE_008E1A CODE_00A5D8: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00A5DA: 8B PHB CODE_00A5DB: A2 03 07 LDX.W #$0703 CODE_00A5DE: A0 05 09 LDY.W #$0905 CODE_00A5E1: A9 EF 01 LDA.W #$01EF CODE_00A5E4: 54 00 00 MVN $00,$00 CODE_00A5E7: AB PLB CODE_00A5E8: AE 01 07 LDX.W $0701 CODE_00A5EB: 8E 03 09 STX.W $0903 CODE_00A5EE: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_00A5F0: 20 9B 91 JSR.W CODE_00919B CODE_00A5F3: 20 94 84 JSR.W CODE_008494 CODE_00A5F6: 4C F4 93 JMP.W CODE_0093F4 CODE_00A5F9: A9 E7 LDA.B #$E7 CODE_00A5FB: 14 14 TRB RAM_FrameCounterB CODE_00A5FD: 22 39 BB 05 JSL.L CODE_05BB39 CODE_00A601: 20 90 A3 JSR.W CODE_00A390 CODE_00A604: E6 14 INC RAM_FrameCounterB CODE_00A606: A5 14 LDA RAM_FrameCounterB Instr00A608: .db $29,$07 CODE_00A60A: D0 F1 BNE CODE_00A5FD Return00A60C: 60 RTS DATA_00A60D: .db $00,$01,$01,$01 DATA_00A611: .db $0D,$00,$F3,$FF,$FE,$FF,$FE,$FF .db $00,$00,$00,$00 DATA_00A61D: .db $0A,$00,$00,$00,$1A,$1A,$0A,$0A DATA_00A625: .db $00,$80,$40,$00,$01,$02,$40,$00 .db $40,$00,$00,$00,$00,$02,$00,$00 CODE_00A635: AD AD 14 LDA.W RAM_BluePowTimer ; If blue pow... CODE_00A638: 0D AE 14 ORA.W RAM_SilverPowTimer ; ...or silver pow... CODE_00A63B: 0D 0C 19 ORA.W $190C ; or coin timer... CODE_00A63E: D0 0A BNE CODE_00A64A ; is on, go don't worry about positive music CODE_00A640: AD 90 14 LDA.W $1490 ; \ Branch if Mario doesn't have star CODE_00A643: F0 1B BEQ CODE_00A660 ; / CODE_00A645: AD DA 0D LDA.W $0DDA ;\ CODE_00A648: 10 05 BPL CODE_00A64F ;/ if normal music is playing, don't screw with music CODE_00A64A: AD DA 0D LDA.W $0DDA ;\ CODE_00A64D: 29 7F AND.B #$7F ;| Force music to be normal values CODE_00A64F: 09 40 ORA.B #$40 ;| CODE_00A651: 8D DA 0D STA.W $0DDA ;/ CODE_00A654: 9C AD 14 STZ.W RAM_BluePowTimer ; Zero out POW timer CODE_00A657: 9C AE 14 STZ.W RAM_SilverPowTimer ; Zero out silver POW timer CODE_00A65A: 9C 0C 19 STZ.W $190C ; Zero out coin timer CODE_00A65D: 9C 90 14 STZ.W $1490 ; Zero out star timer CODE_00A660: AD F4 13 LDA.W $13F4 ;\ CODE_00A663: 0D F5 13 ORA.W $13F5 ;| Misc. Level flags all = 00, CODE_00A666: 0D F6 13 ORA.W $13F6 ;| CODE_00A669: 0D F7 13 ORA.W $13F7 ;| CODE_00A66C: 0D F8 13 ORA.W $13F8 ;| CODE_00A66F: F0 03 BEQ CODE_00A674 ;/ CODE_00A671: 8D 1B 14 STA.W $141B ;/ Store to some address :\ (special level effects on/off flag?) CODE_00A674: A2 23 LDX.B #$23 ;\ CODE_00A676: 74 70 STZ $70,X ;| Clear ALL level-related flags CODE_00A678: CA DEX ;| CODE_00A679: D0 FB BNE CODE_00A676 ;/ CODE_00A67B: A2 37 LDX.B #$37 ;\ CODE_00A67D: 9E D9 13 STZ.W $13D9,X ;| CODE_00A680: CA DEX ;| Clear MORE level-related flags CODE_00A681: D0 FA BNE CODE_00A67D ;/ CODE_00A683: 0E CB 13 ASL.W $13CB ; Set some flag CODE_00A686: 9C 9A 14 STZ.W RAM_KickImgTimer ;\ CODE_00A689: 9C 98 14 STZ.W RAM_PickUpImgTimer ;| CODE_00A68C: 9C 95 14 STZ.W $1495 ;|clear more lefteover flags CODE_00A68F: 9C 19 14 STZ.W RAM_YoshiInPipe ;/ CODE_00A692: A0 01 LDY.B #$01 CODE_00A694: AE 31 19 LDX.W $1931 ;\ if Tileset > 10, go away CODE_00A697: E0 10 CPX.B #$10 ;/ CODE_00A699: B0 31 BCS CODE_00A6CC ; CODE_00A69B: BD 25 A6 LDA.W DATA_00A625,X ; CODE_00A69E: 4A LSR CODE_00A69F: F0 2B BEQ CODE_00A6CC CODE_00A6A1: AD 1D 14 LDA.W $141D CODE_00A6A4: 0D 1A 14 ORA.W $141A CODE_00A6A7: 0D 1F 14 ORA.W $141F CODE_00A6AA: D0 20 BNE CODE_00A6CC CODE_00A6AC: AD CF 13 LDA.W $13CF CODE_00A6AF: F0 05 BEQ CODE_00A6B6 CODE_00A6B1: 20 0A C9 JSR.W CODE_00C90A CODE_00A6B4: 80 16 BRA CODE_00A6CC CODE_00A6B6: 64 72 STZ RAM_IsFlying CODE_00A6B8: 84 76 STY RAM_MarioDirection CODE_00A6BA: 84 89 STY $89 CODE_00A6BC: A2 0A LDX.B #$0A CODE_00A6BE: A0 00 LDY.B #$00 CODE_00A6C0: AD C1 0D LDA.W RAM_OWHasYoshi CODE_00A6C3: F0 02 BEQ CODE_00A6C7 CODE_00A6C5: A0 0F LDY.B #$0F CODE_00A6C7: 86 71 STX RAM_MarioAnimation CODE_00A6C9: 84 88 STY $88 Return00A6CB: 60 RTS CODE_00A6CC: A5 1C LDA RAM_ScreenBndryYLo CODE_00A6CE: C9 C0 CMP.B #$C0 CODE_00A6D0: F0 03 BEQ CODE_00A6D5 CODE_00A6D2: EE F1 13 INC.W $13F1 CODE_00A6D5: AD 2A 19 LDA.W $192A CODE_00A6D8: F0 06 BEQ CODE_00A6E0 CODE_00A6DA: C9 05 CMP.B #$05 CODE_00A6DC: D0 38 BNE CODE_00A716 CODE_00A6DE: 66 86 ROR $86 CODE_00A6E0: 84 76 STY RAM_MarioDirection CODE_00A6E2: A9 24 LDA.B #$24 CODE_00A6E4: 85 72 STA RAM_IsFlying CODE_00A6E6: 64 9D STZ RAM_SpritesLocked CODE_00A6E8: AD 34 14 LDA.W $1434 CODE_00A6EB: F0 17 BEQ CODE_00A704 ADDR_00A6ED: AD DA 0D LDA.W $0DDA ADDR_00A6F0: 09 7F ORA.B #$7F ADDR_00A6F2: 8D DA 0D STA.W $0DDA ADDR_00A6F5: A5 94 LDA RAM_MarioXPos ADDR_00A6F7: 09 04 ORA.B #$04 ADDR_00A6F9: 8D 36 14 STA.W RAM_KeyHolePos1 ADDR_00A6FC: A5 96 LDA RAM_MarioYPos ADDR_00A6FE: 18 CLC ADDR_00A6FF: 69 10 ADC.B #$10 ADDR_00A701: 8D 38 14 STA.W RAM_KeyHolePos2 CODE_00A704: AD 95 1B LDA.W $1B95 CODE_00A707: F0 0C BEQ Return00A715 CODE_00A709: A9 08 LDA.B #$08 ; \ Animation = Rise off screen, CODE_00A70B: 85 71 STA RAM_MarioAnimation ; / for Yoshi Wing bonus stage CODE_00A70D: A9 A0 LDA.B #$A0 CODE_00A70F: 85 96 STA RAM_MarioYPos CODE_00A711: A9 90 LDA.B #$90 ; \ Set upward speed, #$90 CODE_00A713: 85 7D STA RAM_MarioSpeedY ; / Return00A715: 60 RTS CODE_00A716: C9 06 CMP.B #$06 CODE_00A718: 90 26 BCC CODE_00A740 CODE_00A71A: D0 18 BNE CODE_00A734 CODE_00A71C: 84 76 STY RAM_MarioDirection CODE_00A71E: 8C DF 13 STY.W $13DF CODE_00A721: A9 FF LDA.B #$FF CODE_00A723: 8D 19 14 STA.W RAM_YoshiInPipe CODE_00A726: A9 08 LDA.B #$08 CODE_00A728: 04 94 TSB RAM_MarioXPos CODE_00A72A: A9 02 LDA.B #$02 CODE_00A72C: 04 96 TSB RAM_MarioYPos CODE_00A72E: A2 07 LDX.B #$07 CODE_00A730: A0 20 LDY.B #$20 CODE_00A732: 80 93 BRA CODE_00A6C7 CODE_00A734: 84 85 STY RAM_IsWaterLevel CODE_00A736: AD CF 13 LDA.W $13CF CODE_00A739: 0D 34 14 ORA.W $1434 CODE_00A73C: D0 A2 BNE CODE_00A6E0 CODE_00A73E: A9 04 LDA.B #$04 CODE_00A740: 18 CLC CODE_00A741: 69 03 ADC.B #$03 CODE_00A743: 85 89 STA $89 CODE_00A745: A8 TAY CODE_00A746: 4A LSR CODE_00A747: 3A DEC A CODE_00A748: 8D 19 14 STA.W RAM_YoshiInPipe CODE_00A74B: B9 09 A6 LDA.W ADDR_00A609,Y CODE_00A74E: 85 76 STA RAM_MarioDirection CODE_00A750: A2 05 LDX.B #$05 CODE_00A752: C0 06 CPY.B #$06 CODE_00A754: 90 12 BCC CODE_00A768 CODE_00A756: A9 08 LDA.B #$08 CODE_00A758: 04 94 TSB RAM_MarioXPos CODE_00A75A: A2 06 LDX.B #$06 CODE_00A75C: C0 07 CPY.B #$07 CODE_00A75E: A0 1E LDY.B #$1E CODE_00A760: 90 08 BCC CODE_00A76A CODE_00A762: A0 0F LDY.B #$0F CODE_00A764: A5 19 LDA RAM_MarioPowerUp CODE_00A766: F0 02 BEQ CODE_00A76A CODE_00A768: A0 1C LDY.B #$1C ; \ Set downward speed, #$1C CODE_00A76A: 84 7D STY RAM_MarioSpeedY ; / CODE_00A76C: 20 C7 A6 JSR.W CODE_00A6C7 CODE_00A76F: AD 7A 18 LDA.W RAM_OnYoshi CODE_00A772: F0 21 BEQ Return00A795 CODE_00A774: A6 89 LDX $89 CODE_00A776: A5 88 LDA $88 CODE_00A778: 18 CLC CODE_00A779: 7D 1D A6 ADC.W DATA_00A61D,X CODE_00A77C: 85 88 STA $88 CODE_00A77E: 8A TXA CODE_00A77F: 0A ASL CODE_00A780: AA TAX CODE_00A781: C2 20 REP #$20 ; Accum (16 bit) CODE_00A783: A5 94 LDA RAM_MarioXPos CODE_00A785: 18 CLC CODE_00A786: 7D 09 A6 ADC.W ADDR_00A609,X CODE_00A789: 85 94 STA RAM_MarioXPos CODE_00A78B: A5 96 LDA RAM_MarioYPos CODE_00A78D: 18 CLC CODE_00A78E: 7D 11 A6 ADC.W DATA_00A611,X CODE_00A791: 85 96 STA RAM_MarioYPos CODE_00A793: E2 20 SEP #$20 ; Accum (8 bit) Return00A795: 60 RTS CODE_00A796: C2 20 REP #$20 ; Accum (16 bit) CODE_00A798: AC 14 14 LDY.W $1414 CODE_00A79B: F0 1C BEQ CODE_00A7B9 CODE_00A79D: 88 DEY CODE_00A79E: D0 07 BNE CODE_00A7A7 CODE_00A7A0: A5 20 LDA $20 CODE_00A7A2: 38 SEC CODE_00A7A3: E5 1C SBC RAM_ScreenBndryYLo CODE_00A7A5: 80 0F BRA CODE_00A7B6 CODE_00A7A7: A5 1C LDA RAM_ScreenBndryYLo CODE_00A7A9: 4A LSR CODE_00A7AA: 88 DEY CODE_00A7AB: F0 02 BEQ CODE_00A7AF CODE_00A7AD: 4A LSR CODE_00A7AE: 4A LSR CODE_00A7AF: 49 FF FF EOR.W #$FFFF CODE_00A7B2: 1A INC A CODE_00A7B3: 18 CLC CODE_00A7B4: 65 20 ADC $20 CODE_00A7B6: 8D 17 14 STA.W $1417 CODE_00A7B9: A9 80 00 LDA.W #$0080 CODE_00A7BC: 8D 2A 14 STA.W $142A CODE_00A7BF: E2 20 SEP #$20 ; Accum (8 bit) Return00A7C1: 60 RTS CODE_00A7C2: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_00A7C4: A2 80 LDX.B #$80 CODE_00A7C6: 8E 15 21 STX.W $2115 ; VRAM Address Increment Value CODE_00A7C9: A9 00 60 LDA.W #$6000 CODE_00A7CC: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A7CF: A9 01 18 LDA.W #$1801 CODE_00A7D2: 8D 20 43 STA.W $4320 ; Parameters for DMA Transfer CODE_00A7D5: A9 7B 97 LDA.W #$977B CODE_00A7D8: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A7DB: A2 7F LDX.B #$7F CODE_00A7DD: 8E 24 43 STX.W $4324 ; A Address Bank CODE_00A7E0: A9 C0 00 LDA.W #$00C0 CODE_00A7E3: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A7E6: A2 04 LDX.B #$04 CODE_00A7E8: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A7EB: A9 00 61 LDA.W #$6100 CODE_00A7EE: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A7F1: A9 3B 98 LDA.W #$983B CODE_00A7F4: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A7F7: A9 C0 00 LDA.W #$00C0 CODE_00A7FA: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A7FD: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A800: A9 A0 64 LDA.W #$64A0 CODE_00A803: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A806: A9 FB 98 LDA.W #$98FB CODE_00A809: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A80C: A9 C0 00 LDA.W #$00C0 CODE_00A80F: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A812: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A815: A9 A0 65 LDA.W #$65A0 CODE_00A818: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A81B: A9 BB 99 LDA.W #$99BB CODE_00A81E: 8D 22 43 STA.W $4322 ; A Address (Low Byte) CODE_00A821: A9 C0 00 LDA.W #$00C0 CODE_00A824: 8D 25 43 STA.W $4325 ; Number Bytes to Transfer (Low Byte) (DMA) CODE_00A827: 8E 0B 42 STX.W $420B ; Regular DMA Channel Enable CODE_00A82A: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) Return00A82C: 60 RTS CODE_00A82D: A0 0F LDY.B #$0F CODE_00A82F: 22 28 BA 00 JSL.L CODE_00BA28 CODE_00A833: AD 25 14 LDA.W $1425 CODE_00A836: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00A838: F0 08 BEQ CODE_00A842 CODE_00A83A: A5 00 LDA $00 CODE_00A83C: 18 CLC CODE_00A83D: 69 30 00 ADC.W #$0030 CODE_00A840: 85 00 STA $00 CODE_00A842: A2 00 00 LDX.W #$0000 CODE_00A845: A0 08 00 LDY.W #$0008 CODE_00A848: A7 00 LDA [$00] CODE_00A84A: 9F 7B 97 7F STA.L $7F977B,X CODE_00A84E: E8 INX CODE_00A84F: E8 INX CODE_00A850: E6 00 INC $00 CODE_00A852: E6 00 INC $00 CODE_00A854: 88 DEY CODE_00A855: D0 F1 BNE CODE_00A848 CODE_00A857: A0 08 00 LDY.W #$0008 CODE_00A85A: A7 00 LDA [$00] CODE_00A85C: 29 FF 00 AND.W #$00FF CODE_00A85F: 9F 7B 97 7F STA.L $7F977B,X CODE_00A863: E8 INX CODE_00A864: E8 INX CODE_00A865: E6 00 INC $00 CODE_00A867: 88 DEY CODE_00A868: D0 F0 BNE CODE_00A85A CODE_00A86A: E0 00 03 CPX.W #$0300 CODE_00A86D: 90 D6 BCC CODE_00A845 CODE_00A86F: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_00A871: A0 00 LDY.B #$00 CODE_00A873: 22 28 BA 00 JSL.L CODE_00BA28 CODE_00A877: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00A879: A9 F0 B3 LDA.W #$B3F0 CODE_00A87C: 85 00 STA $00 CODE_00A87E: A9 B3 7E LDA.W #$7EB3 CODE_00A881: 85 01 STA $01 CODE_00A883: A2 00 00 LDX.W #$0000 CODE_00A886: A0 08 00 LDY.W #$0008 CODE_00A889: A7 00 LDA [$00] CODE_00A88B: 9D F6 0B STA.W $0BF6,X CODE_00A88E: E8 INX CODE_00A88F: E8 INX CODE_00A890: E6 00 INC $00 CODE_00A892: E6 00 INC $00 CODE_00A894: 88 DEY CODE_00A895: D0 F2 BNE CODE_00A889 CODE_00A897: A0 08 00 LDY.W #$0008 CODE_00A89A: A7 00 LDA [$00] CODE_00A89C: 29 FF 00 AND.W #$00FF CODE_00A89F: 9D F6 0B STA.W $0BF6,X CODE_00A8A2: E8 INX CODE_00A8A3: E8 INX CODE_00A8A4: E6 00 INC $00 CODE_00A8A6: 88 DEY CODE_00A8A7: D0 F1 BNE CODE_00A89A CODE_00A8A9: E0 C0 00 CPX.W #$00C0 CODE_00A8AC: D0 05 BNE CODE_00A8B3 CODE_00A8AE: A9 70 B5 LDA.W #$B570 CODE_00A8B1: 85 00 STA $00 CODE_00A8B3: E0 80 01 CPX.W #$0180 CODE_00A8B6: 90 CE BCC CODE_00A886 CODE_00A8B8: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_00A8BA: A9 01 LDA.B #$01 CODE_00A8BC: 8D 3A 14 STA.W $143A CODE_00A8BF: 8D 35 19 STA.W $1935 Return00A8C2: 60 RTS SPRITEGFXLIST: .db $00,$01,$13,$02,$00,$01,$12,$03 ; Forest ; Castle .db $00,$01,$13,$05,$00,$01,$13,$04 ; Mushroom ; Underground .db $00,$01,$13,$06,$00,$01,$13,$09 ; Water ; Pokey .db $00,$01,$13,$04,$00,$01,$06,$11 ; Underground 2 ; Ghost House .db $00,$01,$13,$20,$00,$01,$13,$0F ; Banzai Bill ; Yoshi's House .db $00,$01,$13,$23,$00,$01,$0D,$14 ; Dino-Rhino ; Switch Palace .db $00,$01,$24,$0E,$00,$01,$0A,$22 ; Mechakoopa ; Wendy/Lemmy .db $00,$01,$13,$0E,$00,$01,$13,$14 ; Ninji ; Unused .db $00,$00,$00,$08,$10,$0F,$1C,$1D .db $00,$01,$24,$22,$00,$01,$25,$22 .db $00,$22,$13,$2D,$00,$01,$0F,$22 .db $00,$26,$2E,$22,$21,$0B,$25,$0A .db $00,$0D,$24,$22,$2C,$30,$2D,$0E OBJECTGFXLIST: .db $14,$17,$19,$15,$14,$17,$1B,$18 ; Normal 1 ; Castle 1 .db $14,$17,$1B,$16,$14,$17,$0C,$1A ; Rope 1 ; Underground 1 .db $14,$17,$1B,$08,$14,$17,$0C,$07 ; Switch Palace 1 ; Ghost House 1 .db $14,$17,$0C,$16,$14,$17,$1B,$15 ; Rope 2 ; Normal 2 .db $14,$17,$19,$16,$14,$17,$0D,$1A ; Rope 3 ; Underground 2 .db $14,$17,$1B,$08,$14,$17,$1B,$18 ; Switch Palace 2 ; Castle 2 .db $14,$17,$19,$1F,$14,$17,$0D,$07 ; Cloud/Forest ; Ghost House 2 .db $14,$17,$19,$1A,$14,$17,$14,$14 ; Underground 2 .db $0E,$0F,$17,$17,$1C,$1D,$08,$1E .db $1C,$1D,$08,$1E,$1C,$1D,$08,$1E .db $1C,$1D,$08,$1E,$1C,$1D,$08,$1E .db $1C,$1D,$08,$1E,$1C,$1D,$08,$1E .db $14,$17,$19,$2C,$19,$17,$1B,$18 CODE_00A993: 9C 16 21 STZ.W $2116 ; \ ; Address for VRAM Read/Write (Low Byte) CODE_00A996: A9 40 LDA.B #$40 ; |Set "Address for VRAM Read/Write" to x4000 CODE_00A998: 8D 17 21 STA.W $2117 ; / ; Address for VRAM Read/Write (High Byte) CODE_00A99B: A9 03 LDA.B #$03 CODE_00A99D: 85 0F STA $0F CODE_00A99F: A9 28 LDA.B #$28 CODE_00A9A1: 85 0E STA $0E CODE_00A9A3: A5 0E LDA $0E CODE_00A9A5: A8 TAY CODE_00A9A6: 22 28 BA 00 JSL.L CODE_00BA28 CODE_00A9AA: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00A9AC: A2 FF 03 LDX.W #$03FF CODE_00A9AF: A0 00 00 LDY.W #$0000 CODE_00A9B2: B7 00 LDA [$00],Y CODE_00A9B4: 8D 18 21 STA.W $2118 ; Data for VRAM Write (Low Byte) CODE_00A9B7: C8 INY CODE_00A9B8: C8 INY CODE_00A9B9: CA DEX CODE_00A9BA: 10 F6 BPL CODE_00A9B2 CODE_00A9BC: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_00A9BE: E6 0E INC $0E CODE_00A9C0: C6 0F DEC $0F CODE_00A9C2: 10 DF BPL CODE_00A9A3 CODE_00A9C4: 9C 16 21 STZ.W $2116 ; \ ; Address for VRAM Read/Write (Low Byte) CODE_00A9C7: A9 60 LDA.B #$60 ; |Set "Address for VRAM Read/Write" to x6000 CODE_00A9C9: 8D 17 21 STA.W $2117 ; / ; Address for VRAM Read/Write (High Byte) CODE_00A9CC: A0 00 LDY.B #$00 CODE_00A9CE: 20 6B AA JSR.W UploadGFXFile Return00A9D1: 60 RTS DATA_00A9D2: .db $78,$70,$68,$60 DATA_00A9D6: .db $18,$10,$08,$00 UploadSpriteGFX: A9 80 LDA.B #$80 ; Decompression as well? CODE_00A9DC: 8D 15 21 STA.W $2115 ; VRAM transfer control port ; VRAM Address Increment Value CODE_00A9DF: A2 03 LDX.B #$03 CODE_00A9E1: AD 2B 19 LDA.W $192B ; $192B = current sprite GFX list index CODE_00A9E4: 0A ASL ; \ CODE_00A9E5: 0A ASL ; }4A -> Y CODE_00A9E6: A8 TAY ; / CODE_00A9E7: B9 C3 A8 LDA.W SPRITEGFXLIST,Y ; | CODE_00A9EA: 95 04 STA $04,X ; | CODE_00A9EC: C8 INY ; | CODE_00A9ED: CA DEX ; | CODE_00A9EE: 10 F7 BPL CODE_00A9E7 ; / CODE_00A9F0: A9 03 LDA.B #$03 ; #$03 -> A -> $0F CODE_00A9F2: 85 0F STA $0F GFXTransferLoop: A6 0F LDX $0F ; $0F -> X CODE_00A9F6: 9C 16 21 STZ.W $2116 ; #$00 -> $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00A9F9: BD D2 A9 LDA.W DATA_00A9D2,X ; My guess: Locations in VRAM to upload GFX to CODE_00A9FC: 8D 17 21 STA.W $2117 ; Set VRAM address to $??00 ; Address for VRAM Read/Write (High Byte) CODE_00A9FF: B4 04 LDY $04,X ; Y is possibly which GFX file CODE_00AA01: BD 01 01 LDA.W $0101,X ; to upload to a section in VRAM, used in CODE_00AA04: D5 04 CMP $04,X ; the subroutine $00:BA28 CODE_00AA06: F0 03 BEQ Don'tUploadSpr ; don't upload when it''s not needed CODE_00AA08: 20 6B AA JSR.W UploadGFXFile ; JSR to a JSL... Don'tUploadSpr: C6 0F DEC $0F ; Decrement $0F CODE_00AA0D: 10 E5 BPL GFXTransferLoop ; if >= #$00, continue transfer CODE_00AA0F: A2 03 LDX.B #$03 ; \ UpdtCrrntSpritGFX: B5 04 LDA $04,X ; |Update $0101-$0104 to reflect the new sprite GFX CODE_00AA13: 9D 01 01 STA.W $0101,X ; |That's loaded now. CODE_00AA16: CA DEX ; | CODE_00AA17: 10 F8 BPL UpdtCrrntSpritGFX ; / CODE_00AA19: AD 31 19 LDA.W $1931 ; LDA Tileset CODE_00AA1C: C9 FE CMP.B #$FE CODE_00AA1E: B0 3B BCS SetallFGBG80 ; Branch to a routine that uploads file #$80 to every slot in FG/BG CODE_00AA20: A2 03 LDX.B #$03 CODE_00AA22: AD 31 19 LDA.W $1931 ; this routine is pretty close to the above CODE_00AA25: 0A ASL ; one, I'm guessing this does CODE_00AA26: 0A ASL ; object/BG GFX. CODE_00AA27: A8 TAY ; 4A -> Y PrepLoadFGBG: B9 2B A9 LDA.W OBJECTGFXLIST,Y ; FG/BG GFX table CODE_00AA2B: 95 04 STA $04,X CODE_00AA2D: C8 INY CODE_00AA2E: CA DEX CODE_00AA2F: 10 F7 BPL PrepLoadFGBG ; FG/Bg to upload -> $04 - $07 CODE_00AA31: A9 03 LDA.B #$03 CODE_00AA33: 85 0F STA $0F ; #$03 -> $0F CODE_00AA35: A6 0F LDX $0F ; $0F -> X CODE_00AA37: 9C 16 21 STZ.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_00AA3A: BD D6 A9 LDA.W DATA_00A9D6,X ; Load + Store VRAM upload positions CODE_00AA3D: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_00AA40: B4 04 LDY $04,X CODE_00AA42: BD 05 01 LDA.W $0105,X ; Check to see if the file to be uploaded already CODE_00AA45: D5 04 CMP $04,X ; exists in the slot in VRAM - if so, CODE_00AA47: F0 03 BEQ NoUploadFGBG ; don't bother uploading it again. CODE_00AA49: 20 6B AA JSR.W UploadGFXFile ; Upload the GFX file NoUploadFGBG: C6 0F DEC $0F ; Next GFX file CODE_00AA4E: 10 E5 BPL CODE_00AA35 CODE_00AA50: A2 03 LDX.B #$03 UpdateCurrentFGBG: B5 04 LDA $04,X CODE_00AA54: 9D 05 01 STA.W $0105,X CODE_00AA57: CA DEX CODE_00AA58: 10 F8 BPL UpdateCurrentFGBG Return00AA5A: 60 RTS ; Return from uploading the GFX SetallFGBG80: F0 03 BEQ NoUpdateVRAM80 ; If zero flag set, don't update the tileset CODE_00AA5D: 20 42 AB JSR.W CODE_00AB42 NoUpdateVRAM80: A2 03 LDX.B #$03 CODE_00AA62: A9 80 LDA.B #$80 ; my guess is that it gets called in the same set of routines Store80: 9D 05 01 STA.W $0105,X CODE_00AA67: CA DEX CODE_00AA68: 10 FA BPL Store80 Return00AA6A: 60 RTS ; Return UploadGFXFile: 22 28 BA 00 JSL.L CODE_00BA28 CODE_00AA6F: C0 01 CPY.B #$01 CODE_00AA71: D0 0D BNE SkipSpecial CODE_00AA73: AD EB 1E LDA.W $1EEB CODE_00AA76: 10 08 BPL SkipSpecial ; handle the post-special world graphics and koopa color swap. CODE_00AA78: A0 31 LDY.B #$31 CODE_00AA7A: 22 28 BA 00 JSL.L CODE_00BA28 CODE_00AA7E: A0 01 LDY.B #$01 SkipSpecial: C2 20 REP #$20 ; A = 16bit ; Accum (16 bit) CODE_00AA82: A9 00 00 LDA.W #$0000 CODE_00AA85: AE 31 19 LDX.W $1931 ; LDX Tileset CODE_00AA88: E0 11 CPX.B #$11 ; CPX #$11 CODE_00AA8A: 90 04 BCC CODE_00AA90 ; If Tileset < #$11 skip to lower area CODE_00AA8C: C0 08 CPY.B #$08 ; if Y = #$08 skip to JSR CODE_00AA8E: F0 06 BEQ JumpTo_____ CODE_00AA90: C0 1E CPY.B #$1E ; If Y = #$1E then CODE_00AA92: F0 02 BEQ JumpTo_____ ; JMP otherwise CODE_00AA94: D0 03 BNE CODE_00AA99 ; don't JMP JumpTo_____: 4C 02 AB JMP.W FilterSomeRAM CODE_00AA99: 85 0A STA $0A CODE_00AA9B: A9 FF FF LDA.W #$FFFF CODE_00AA9E: C0 01 CPY.B #$01 CODE_00AAA0: F0 07 BEQ CODE_00AAA9 CODE_00AAA2: C0 17 CPY.B #$17 CODE_00AAA4: F0 03 BEQ CODE_00AAA9 CODE_00AAA6: A9 00 00 LDA.W #$0000 CODE_00AAA9: 8D BC 1B STA.W $1BBC CODE_00AAAC: A0 7F LDY.B #$7F CODE_00AAAE: AD BC 1B LDA.W $1BBC CODE_00AAB1: F0 1A BEQ CODE_00AACD CODE_00AAB3: C0 7E CPY.B #$7E CODE_00AAB5: 90 07 BCC CODE_00AABE CODE_00AAB7: A9 00 FF LDA.W #$FF00 CODE_00AABA: 85 0A STA $0A CODE_00AABC: D0 0F BNE CODE_00AACD CODE_00AABE: C0 6E CPY.B #$6E CODE_00AAC0: 90 06 BCC CODE_00AAC8 CODE_00AAC2: C0 70 CPY.B #$70 CODE_00AAC4: B0 02 BCS CODE_00AAC8 CODE_00AAC6: 90 EF BCC CODE_00AAB7 CODE_00AAC8: A9 00 00 LDA.W #$0000 CODE_00AACB: 85 0A STA $0A CODE_00AACD: A2 07 LDX.B #$07 CODE_00AACF: A7 00 LDA [$00] CODE_00AAD1: 8D 18 21 STA.W $2118 ; Data for VRAM Write (Low Byte) CODE_00AAD4: EB XBA CODE_00AAD5: 07 00 ORA [$00] CODE_00AAD7: 9D B2 1B STA.W $1BB2,X CODE_00AADA: E6 00 INC $00 CODE_00AADC: E6 00 INC $00 CODE_00AADE: CA DEX CODE_00AADF: 10 EE BPL CODE_00AACF CODE_00AAE1: A2 07 LDX.B #$07 CODE_00AAE3: A7 00 LDA [$00] CODE_00AAE5: 29 FF 00 AND.W #$00FF CODE_00AAE8: 85 0C STA $0C CODE_00AAEA: A7 00 LDA [$00] CODE_00AAEC: EB XBA CODE_00AAED: 1D B2 1B ORA.W $1BB2,X CODE_00AAF0: 25 0A AND $0A CODE_00AAF2: 05 0C ORA $0C CODE_00AAF4: 8D 18 21 STA.W $2118 ; Data for VRAM Write (Low Byte) CODE_00AAF7: E6 00 INC $00 CODE_00AAF9: CA DEX CODE_00AAFA: 10 E7 BPL CODE_00AAE3 CODE_00AAFC: 88 DEY CODE_00AAFD: 10 AF BPL CODE_00AAAE CODE_00AAFF: E2 20 SEP #$20 ; Accum (8 bit) Return00AB01: 60 RTS ; Return FilterSomeRAM: A9 00 FF LDA.W #$FF00 ; Accum (16 bit) CODE_00AB05: 85 0A STA $0A CODE_00AB07: A0 7F LDY.B #$7F Upload????ToVRAM: C0 08 CPY.B #$08 ; \Completely pointless code. CODE_00AB0B: B0 00 BCS CODE_00AB0D ; /(Why not just NOPing it out, Nintendo?) CODE_00AB0D: A2 07 LDX.B #$07 AddressWrite1: A7 00 LDA [$00] ; \ Okay, so take [$00], store CODE_00AB11: 8D 18 21 STA.W $2118 ; |it to VRAM, then bitwise ; Data for VRAM Write (Low Byte) CODE_00AB14: EB XBA ; |OR the high and low bytes together CODE_00AB15: 07 00 ORA [$00] ; |store in both bytes of A CODE_00AB17: 9D B2 1B STA.W $1BB2,X ; /and store to $1BB2,x CODE_00AB1A: E6 00 INC $00 ; \Increment $7E:0000 by 2 CODE_00AB1C: E6 00 INC $00 ; / CODE_00AB1E: CA DEX ; \And continue on another 7 times (or 8 times total) CODE_00AB1F: 10 EE BPL AddressWrite1 ; / CODE_00AB21: A2 07 LDX.B #$07 ; hm.. It's like a FOR Y{FOR X{ } } thing ...yeah... AddressWrite2: A7 00 LDA [$00] CODE_00AB25: 29 FF 00 AND.W #$00FF ; A normal byte becomes 2 anti-compressed bytes. CODE_00AB28: 85 0C STA $0C ; I'm going up, to try and find out what's supposed to set $00-$02 for this routine. CODE_00AB2A: A7 00 LDA [$00] ; AHA, check $00/BA28. It writes a RAM address to $00-$02, $7EAD00 CODE_00AB2C: EB XBA ; So... Now to find otu what sets *That* CODE_00AB2D: 1D B2 1B ORA.W $1BB2,X ; ...this place gives me headaches... Can't we work on some other code? :( CODE_00AB30: 25 0A AND $0A ; Sure, go ahead. anyways, this seems to upload the decompressed GFX CODE_00AB32: 05 0C ORA $0C ; while scrambling it afterwards (o_O). CODE_00AB34: 8D 18 21 STA.W $2118 ; Okay... WHAT THE HELL? ; Data for VRAM Write (Low Byte) CODE_00AB37: E6 00 INC $00 ; I'll have nightmares about this routine for a few years. :( CODE_00AB39: CA DEX CODE_00AB3A: 10 E7 BPL AddressWrite2 ; Ouch. CODE_00AB3C: 88 DEY CODE_00AB3D: 10 CA BPL Upload????ToVRAM CODE_00AB3F: E2 20 SEP #$20 ; Accum (8 bit) Return00AB41: 60 RTS ; Return CODE_00AB42: A0 27 LDY.B #$27 CODE_00AB44: 22 28 BA 00 JSL.L CODE_00BA28 CODE_00AB48: C2 10 REP #$10 ; Index (16 bit) CODE_00AB4A: A0 00 00 LDY.W #$0000 CODE_00AB4D: A2 FF 03 LDX.W #$03FF CODE_00AB50: B7 00 LDA [$00],Y CODE_00AB52: 85 0F STA $0F CODE_00AB54: 20 C4 AB JSR.W CODE_00ABC4 CODE_00AB57: A5 04 LDA $04 CODE_00AB59: 8D 19 21 STA.W $2119 ; Data for VRAM Write (High Byte) CODE_00AB5C: 20 C4 AB JSR.W CODE_00ABC4 CODE_00AB5F: A5 04 LDA $04 CODE_00AB61: 8D 19 21 STA.W $2119 ; Data for VRAM Write (High Byte) CODE_00AB64: 64 04 STZ $04 CODE_00AB66: 26 0F ROL $0F CODE_00AB68: 26 04 ROL $04 CODE_00AB6A: 26 0F ROL $0F CODE_00AB6C: 26 04 ROL $04 CODE_00AB6E: C8 INY CODE_00AB6F: B7 00 LDA [$00],Y CODE_00AB71: 85 0F STA $0F CODE_00AB73: 26 0F ROL $0F CODE_00AB75: 26 04 ROL $04 CODE_00AB77: A5 04 LDA $04 CODE_00AB79: 8D 19 21 STA.W $2119 ; Data for VRAM Write (High Byte) CODE_00AB7C: 20 C4 AB JSR.W CODE_00ABC4 CODE_00AB7F: A5 04 LDA $04 CODE_00AB81: 8D 19 21 STA.W $2119 ; Data for VRAM Write (High Byte) CODE_00AB84: 20 C4 AB JSR.W CODE_00ABC4 CODE_00AB87: A5 04 LDA $04 CODE_00AB89: 8D 19 21 STA.W $2119 ; Data for VRAM Write (High Byte) CODE_00AB8C: 64 04 STZ $04 CODE_00AB8E: 26 0F ROL $0F CODE_00AB90: 26 04 ROL $04 CODE_00AB92: C8 INY CODE_00AB93: B7 00 LDA [$00],Y CODE_00AB95: 85 0F STA $0F CODE_00AB97: 26 0F ROL $0F CODE_00AB99: 26 04 ROL $04 CODE_00AB9B: 26 0F ROL $0F CODE_00AB9D: 26 04 ROL $04 CODE_00AB9F: A5 04 LDA $04 CODE_00ABA1: 8D 19 21 STA.W $2119 ; Data for VRAM Write (High Byte) CODE_00ABA4: 20 C4 AB JSR.W CODE_00ABC4 CODE_00ABA7: A5 04 LDA $04 CODE_00ABA9: 8D 19 21 STA.W $2119 ; Data for VRAM Write (High Byte) CODE_00ABAC: 20 C4 AB JSR.W CODE_00ABC4 CODE_00ABAF: A5 04 LDA $04 CODE_00ABB1: 8D 19 21 STA.W $2119 ; Data for VRAM Write (High Byte) CODE_00ABB4: C8 INY CODE_00ABB5: CA DEX CODE_00ABB6: 10 98 BPL CODE_00AB50 CODE_00ABB8: A2 00 20 LDX.W #$2000 CODE_00ABBB: 9C 19 21 STZ.W $2119 ; Data for VRAM Write (High Byte) CODE_00ABBE: CA DEX CODE_00ABBF: D0 FA BNE CODE_00ABBB CODE_00ABC1: E2 10 SEP #$10 ; Index (8 bit) Return00ABC3: 60 RTS ; Return CODE_00ABC4: 64 04 STZ $04 CODE_00ABC6: 26 0F ROL $0F CODE_00ABC8: 26 04 ROL $04 CODE_00ABCA: 26 0F ROL $0F CODE_00ABCC: 26 04 ROL $04 CODE_00ABCE: 26 0F ROL $0F CODE_00ABD0: 26 04 ROL $04 Return00ABD2: 60 RTS ; Return DATA_00ABD3: .db $00,$18,$30,$48,$60,$78,$90,$A8 .db $00,$14,$28,$3C DATA_00ABDF: .db $00,$00,$38,$00,$70,$00,$A8,$00 .db $E0,$00,$18,$01,$50,$01 LoadPalette: C2 30 REP #$30 ; 16 bit A, X and Y ; Index (16 bit) Accum (16 bit) CODE_00ABEF: A9 DD 7F LDA.W #$7FDD ; \ CODE_00ABF2: 85 04 STA $04 ; |Set color 1 in all object palettes to white CODE_00ABF4: A2 02 00 LDX.W #$0002 ; | CODE_00ABF7: 20 ED AC JSR.W LoadCol8Pal ; / CODE_00ABFA: A9 FF 7F LDA.W #$7FFF ; \ CODE_00ABFD: 85 04 STA $04 ; |Set color 1 in all sprite palettes to white CODE_00ABFF: A2 02 01 LDX.W #$0102 ; | CODE_00AC02: 20 ED AC JSR.W LoadCol8Pal ; / CODE_00AC05: A9 70 B1 LDA.W #$B170 ; \ CODE_00AC08: 85 00 STA $00 ; | CODE_00AC0A: A9 10 00 LDA.W #$0010 ; |Load colors 8-16 in the first two object palettes from 00/B170 CODE_00AC0D: 85 04 STA $04 ; |(Layer 3 palettes) CODE_00AC0F: A9 07 00 LDA.W #$0007 ; | CODE_00AC12: 85 06 STA $06 ; | CODE_00AC14: A9 01 00 LDA.W #$0001 ; | CODE_00AC17: 85 08 STA $08 ; | CODE_00AC19: 20 FF AC JSR.W LoadColors ; / CODE_00AC1C: A9 50 B2 LDA.W #$B250 ; \ CODE_00AC1F: 85 00 STA $00 ; | CODE_00AC21: A9 84 00 LDA.W #$0084 ; |Load colors 2-7 in palettes 4-D from 00/B250 CODE_00AC24: 85 04 STA $04 ; |(Object and sprite palettes) CODE_00AC26: A9 05 00 LDA.W #$0005 ; | CODE_00AC29: 85 06 STA $06 ; | CODE_00AC2B: A9 09 00 LDA.W #$0009 ; | CODE_00AC2E: 85 08 STA $08 ; | CODE_00AC30: 20 FF AC JSR.W LoadColors ; / CODE_00AC33: AD 2F 19 LDA.W $192F ; \ CODE_00AC36: 29 0F 00 AND.W #$000F ; | CODE_00AC39: 0A ASL ; |Load background color CODE_00AC3A: A8 TAY ; | CODE_00AC3B: B9 A0 B0 LDA.W Palettes?,Y ; | CODE_00AC3E: 8D 01 07 STA.W $0701 ; / CODE_00AC41: A9 90 B1 LDA.W #$B190 ; \Store base address in $00, ... CODE_00AC44: 85 00 STA $00 ; / CODE_00AC46: AD 2D 19 LDA.W $192D ; \...get current object palette, ... CODE_00AC49: 29 0F 00 AND.W #$000F ; / CODE_00AC4C: A8 TAY ; \ CODE_00AC4D: B9 D3 AB LDA.W DATA_00ABD3,Y ; | CODE_00AC50: 29 FF 00 AND.W #$00FF ; |...use it to figure out where to load from, ... CODE_00AC53: 18 CLC ; | CODE_00AC54: 65 00 ADC $00 ; |...add it to the base address... CODE_00AC56: 85 00 STA $00 ; / ...and store it in $00 CODE_00AC58: A9 44 00 LDA.W #$0044 ; \ CODE_00AC5B: 85 04 STA $04 ; | CODE_00AC5D: A9 05 00 LDA.W #$0005 ; | CODE_00AC60: 85 06 STA $06 ; |Load colors 2-7 in object palettes 2 and 3 from the address in $00 CODE_00AC62: A9 01 00 LDA.W #$0001 ; | CODE_00AC65: 85 08 STA $08 ; | CODE_00AC67: 20 FF AC JSR.W LoadColors ; / CODE_00AC6A: A9 18 B3 LDA.W #$B318 ; \Store base address in $00, ... CODE_00AC6D: 85 00 STA $00 ; / CODE_00AC6F: AD 2E 19 LDA.W $192E ; \...get current sprite palette, ... CODE_00AC72: 29 0F 00 AND.W #$000F ; / CODE_00AC75: A8 TAY ; \ CODE_00AC76: B9 D3 AB LDA.W DATA_00ABD3,Y ; | CODE_00AC79: 29 FF 00 AND.W #$00FF ; |...use it to figure out where to load from, ... CODE_00AC7C: 18 CLC ; | CODE_00AC7D: 65 00 ADC $00 ; |...add it to the base address... CODE_00AC7F: 85 00 STA $00 ; / ...and store it in $00 CODE_00AC81: A9 C4 01 LDA.W #$01C4 ; \ CODE_00AC84: 85 04 STA $04 ; | CODE_00AC86: A9 05 00 LDA.W #$0005 ; | CODE_00AC89: 85 06 STA $06 ; |Load colors 2-7 in sprite palettes 6 and 7 from the address in $00 CODE_00AC8B: A9 01 00 LDA.W #$0001 ; | CODE_00AC8E: 85 08 STA $08 ; | CODE_00AC90: 20 FF AC JSR.W LoadColors ; / CODE_00AC93: A9 B0 B0 LDA.W #$B0B0 ; \Store bade address in $00, ... CODE_00AC96: 85 00 STA $00 ; / CODE_00AC98: AD 30 19 LDA.W $1930 ; \...get current background palette, ... CODE_00AC9B: 29 0F 00 AND.W #$000F ; / CODE_00AC9E: A8 TAY ; \ CODE_00AC9F: B9 D3 AB LDA.W DATA_00ABD3,Y ; | CODE_00ACA2: 29 FF 00 AND.W #$00FF ; |...use it to figure out where to load from, ... CODE_00ACA5: 18 CLC ; | CODE_00ACA6: 65 00 ADC $00 ; |...add it to the base address... CODE_00ACA8: 85 00 STA $00 ; / ...and store it in $00 CODE_00ACAA: A9 04 00 LDA.W #$0004 ; \ CODE_00ACAD: 85 04 STA $04 ; | CODE_00ACAF: A9 05 00 LDA.W #$0005 ; | CODE_00ACB2: 85 06 STA $06 ; |Load colors 2-7 in object palettes 0 and 1 from the address in $00 CODE_00ACB4: A9 01 00 LDA.W #$0001 ; | CODE_00ACB7: 85 08 STA $08 ; | CODE_00ACB9: 20 FF AC JSR.W LoadColors ; / CODE_00ACBC: A9 74 B6 LDA.W #$B674 ; \ CODE_00ACBF: 85 00 STA $00 ; | CODE_00ACC1: A9 52 00 LDA.W #$0052 ; | CODE_00ACC4: 85 04 STA $04 ; | CODE_00ACC6: A9 06 00 LDA.W #$0006 ; |Load colors 9-F in object palettes 2-4 from 00/B674 CODE_00ACC9: 85 06 STA $06 ; | CODE_00ACCB: A9 02 00 LDA.W #$0002 ; | CODE_00ACCE: 85 08 STA $08 ; | CODE_00ACD0: 20 FF AC JSR.W LoadColors ; / CODE_00ACD3: A9 74 B6 LDA.W #$B674 ; \ CODE_00ACD6: 85 00 STA $00 ; | CODE_00ACD8: A9 32 01 LDA.W #$0132 ; | CODE_00ACDB: 85 04 STA $04 ; | CODE_00ACDD: A9 06 00 LDA.W #$0006 ; |Load colors 9-F in sprite palettes 1-3 from 00/B674 CODE_00ACE0: 85 06 STA $06 ; | CODE_00ACE2: A9 02 00 LDA.W #$0002 ; | CODE_00ACE5: 85 08 STA $08 ; | CODE_00ACE7: 20 FF AC JSR.W LoadColors ; / CODE_00ACEA: E2 30 SEP #$30 ; 8 bit A, X and Y ; Index (8 bit) Accum (8 bit) Return00ACEC: 60 RTS ; Return LoadCol8Pal: A0 07 00 LDY.W #$0007 ; Index (16 bit) Accum (16 bit) CODE_00ACF0: A5 04 LDA $04 CODE_00ACF2: 9D 03 07 STA.W $0703,X CODE_00ACF5: 8A TXA CODE_00ACF6: 18 CLC CODE_00ACF7: 69 20 00 ADC.W #$0020 CODE_00ACFA: AA TAX CODE_00ACFB: 88 DEY CODE_00ACFC: 10 F2 BPL CODE_00ACF0 Return00ACFE: 60 RTS ; Return LoadColors: A6 04 LDX $04 ; load byte offset (first color number * 2) into X CODE_00AD01: A4 06 LDY $06 ; load number of colors into Y CODE_00AD03: B2 00 LDA ($00) ; load pointer to colors into A CODE_00AD05: 9D 03 07 STA.W $0703,X ; Store color into RAM CODE_00AD08: E6 00 INC $00 ; \ add 2 to $00, to get next color to load CODE_00AD0A: E6 00 INC $00 ; / CODE_00AD0C: E8 INX ; \ add 2 to X, to offset the RAM address CODE_00AD0D: E8 INX ; / CODE_00AD0E: 88 DEY ; \ subtract 1 from Y, to decrease remaining color count CODE_00AD0F: 10 F2 BPL CODE_00AD03 ; / if Y is still positive, branch up to load next color CODE_00AD11: A5 04 LDA $04 ; after all colors loaded into this row, load RAM offset into A CODE_00AD13: 18 CLC ; \ add 20 to it to move the RAM offset hex 10 colors forward CODE_00AD14: 69 20 00 ADC.W #$0020 ; / CODE_00AD17: 85 04 STA $04 ; store offset to $04 again CODE_00AD19: C6 08 DEC $08 ; \ decrease number of rows to load CODE_00AD1B: 10 E2 BPL LoadColors ; / if $08 is still positive, branch to LoadColors to load colors into the next row Return00AD1D: 60 RTS ; Return DATA_00AD1E: .db $01,$00,$03,$04,$03,$05,$02 CODE_00AD25: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00AD27: A0 D8 B3 LDY.W #$B3D8 CODE_00AD2A: AD EA 1E LDA.W $1EEA CODE_00AD2D: 10 03 BPL CODE_00AD32 CODE_00AD2F: A0 32 B7 LDY.W #$B732 CODE_00AD32: 84 00 STY $00 CODE_00AD34: AD 31 19 LDA.W $1931 CODE_00AD37: 29 0F 00 AND.W #$000F CODE_00AD3A: 3A DEC A CODE_00AD3B: A8 TAY CODE_00AD3C: B9 1E AD LDA.W DATA_00AD1E,Y CODE_00AD3F: 29 FF 00 AND.W #$00FF CODE_00AD42: 0A ASL CODE_00AD43: A8 TAY CODE_00AD44: B9 DF AB LDA.W DATA_00ABDF,Y CODE_00AD47: 18 CLC CODE_00AD48: 65 00 ADC $00 CODE_00AD4A: 85 00 STA $00 CODE_00AD4C: A9 82 00 LDA.W #$0082 CODE_00AD4F: 85 04 STA $04 CODE_00AD51: A9 06 00 LDA.W #$0006 CODE_00AD54: 85 06 STA $06 CODE_00AD56: A9 03 00 LDA.W #$0003 CODE_00AD59: 85 08 STA $08 CODE_00AD5B: 20 FF AC JSR.W LoadColors CODE_00AD5E: A9 28 B5 LDA.W #$B528 CODE_00AD61: 85 00 STA $00 CODE_00AD63: A9 52 00 LDA.W #$0052 CODE_00AD66: 85 04 STA $04 CODE_00AD68: A9 06 00 LDA.W #$0006 CODE_00AD6B: 85 06 STA $06 CODE_00AD6D: A9 05 00 LDA.W #$0005 CODE_00AD70: 85 08 STA $08 CODE_00AD72: 20 FF AC JSR.W LoadColors CODE_00AD75: A9 7C B5 LDA.W #$B57C CODE_00AD78: 85 00 STA $00 CODE_00AD7A: A9 02 01 LDA.W #$0102 CODE_00AD7D: 85 04 STA $04 CODE_00AD7F: A9 06 00 LDA.W #$0006 CODE_00AD82: 85 06 STA $06 CODE_00AD84: A9 07 00 LDA.W #$0007 CODE_00AD87: 85 08 STA $08 CODE_00AD89: 20 FF AC JSR.W LoadColors CODE_00AD8C: A9 EC B5 LDA.W #$B5EC CODE_00AD8F: 85 00 STA $00 CODE_00AD91: A9 10 00 LDA.W #$0010 CODE_00AD94: 85 04 STA $04 CODE_00AD96: A9 07 00 LDA.W #$0007 CODE_00AD99: 85 06 STA $06 CODE_00AD9B: A9 01 00 LDA.W #$0001 CODE_00AD9E: 85 08 STA $08 CODE_00ADA0: 20 FF AC JSR.W LoadColors CODE_00ADA3: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return00ADA5: 60 RTS ; Return CODE_00ADA6: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00ADA8: A9 3C B6 LDA.W #$B63C CODE_00ADAB: 85 00 STA $00 CODE_00ADAD: A9 10 00 LDA.W #$0010 CODE_00ADB0: 85 04 STA $04 CODE_00ADB2: A9 07 00 LDA.W #$0007 CODE_00ADB5: 85 06 STA $06 CODE_00ADB7: A9 00 00 LDA.W #$0000 CODE_00ADBA: 85 08 STA $08 CODE_00ADBC: 20 FF AC JSR.W LoadColors CODE_00ADBF: A9 2C B6 LDA.W #$B62C CODE_00ADC2: 85 00 STA $00 CODE_00ADC4: A9 30 00 LDA.W #$0030 CODE_00ADC7: 85 04 STA $04 CODE_00ADC9: A9 07 00 LDA.W #$0007 CODE_00ADCC: 85 06 STA $06 CODE_00ADCE: A9 00 00 LDA.W #$0000 CODE_00ADD1: 85 08 STA $08 CODE_00ADD3: 20 FF AC JSR.W LoadColors CODE_00ADD6: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return00ADD8: 60 RTS ; Return CODE_00ADD9: 20 ED AB JSR.W LoadPalette CODE_00ADDC: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00ADDE: A9 17 00 LDA.W #$0017 CODE_00ADE1: 8D 01 07 STA.W $0701 CODE_00ADE4: A9 70 B1 LDA.W #$B170 CODE_00ADE7: 85 00 STA $00 CODE_00ADE9: A9 10 00 LDA.W #$0010 CODE_00ADEC: 85 04 STA $04 CODE_00ADEE: A9 07 00 LDA.W #$0007 CODE_00ADF1: 85 06 STA $06 CODE_00ADF3: A9 01 00 LDA.W #$0001 CODE_00ADF6: 85 08 STA $08 CODE_00ADF8: 20 FF AC JSR.W LoadColors CODE_00ADFB: A9 5C B6 LDA.W #$B65C CODE_00ADFE: 85 00 STA $00 CODE_00AE00: A9 00 00 LDA.W #$0000 CODE_00AE03: 85 04 STA $04 CODE_00AE05: A9 07 00 LDA.W #$0007 CODE_00AE08: 85 06 STA $06 CODE_00AE0A: A9 00 00 LDA.W #$0000 CODE_00AE0D: 85 08 STA $08 CODE_00AE0F: 20 FF AC JSR.W LoadColors CODE_00AE12: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return00AE14: 60 RTS ; Return ; | ; V Init palette for special levels? CODE_00AE15: A9 02 LDA.B #$02 ;\ CODE_00AE17: 8D 2E 19 STA.W $192E ;/ set sprite palette settings to 02 CODE_00AE1A: A9 07 LDA.B #$07 ;\ CODE_00AE1C: 8D 2D 19 STA.W $192D ;/ FG palette settings = 07 CODE_00AE1F: 20 ED AB JSR.W LoadPalette ; Load the palette CODE_00AE22: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00AE24: A9 17 00 LDA.W #$0017 ;\ CODE_00AE27: 8D 01 07 STA.W $0701 ;/ set BGcolor to something very dark CODE_00AE2A: A9 F4 B5 LDA.W #$B5F4 ;\ CODE_00AE2D: 85 00 STA $00 ;/ CODE_00AE2F: A9 18 00 LDA.W #$0018 ;\ CODE_00AE32: 85 04 STA $04 ;/ more init stuff? CODE_00AE34: A9 03 00 LDA.W #$0003 ;\ CODE_00AE37: 85 06 STA $06 ;/ CODE_00AE39: 64 08 STZ $08 ; CODE_00AE3B: 20 FF AC JSR.W LoadColors ; Load the colors (routines use scratch RAM, I assume.) CODE_00AE3E: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return00AE40: 60 RTS ; Return DATA_00AE41: .db $00,$05,$0A DATA_00AE44: .db $20,$40,$80 CODE_00AE47: A2 02 LDX.B #$02 CODE_00AE49: C2 20 REP #$20 ; Accum (16 bit) CODE_00AE4B: AD 01 07 LDA.W $0701 CODE_00AE4E: BC 41 AE LDY.W DATA_00AE41,X CODE_00AE51: 88 DEY CODE_00AE52: 30 03 BMI CODE_00AE57 CODE_00AE54: 4A LSR CODE_00AE55: 80 FA BRA CODE_00AE51 CODE_00AE57: E2 20 SEP #$20 ; Accum (8 bit) CODE_00AE59: 29 1F AND.B #$1F CODE_00AE5B: 1D 44 AE ORA.W DATA_00AE44,X CODE_00AE5E: 8D 32 21 STA.W $2132 ; Fixed Color Data CODE_00AE61: CA DEX CODE_00AE62: 10 E5 BPL CODE_00AE49 Return00AE64: 60 RTS ; Return DATA_00AE65: .db $1F,$00,$E0,$03,$00,$7C DATA_00AE6B: .db $FF,$FF,$E0,$FF,$00,$FC DATA_00AE71: .db $01,$00,$20,$00,$00,$04 DATA_00AE77: .db $00,$00,$00,$00,$01,$00,$00,$00 .db $00,$80,$00,$80,$20,$80,$00,$04 .db $80,$80,$80,$80,$08,$82,$40,$10 .db $20,$84,$20,$84,$44,$88,$10,$22 .db $88,$88,$88,$88,$22,$91,$88,$44 .db $48,$92,$48,$92,$92,$A4,$24,$49 .db $A4,$A4,$A4,$A4,$49,$A9,$94,$52 .db $AA,$AA,$94,$52,$AA,$AA,$54,$55 .db $AA,$AA,$AA,$AA,$AA,$D5,$AA,$AA .db $AA,$D5,$AA,$D5,$B5,$D6,$6A,$AD .db $DA,$DA,$DA,$DA,$6D,$DB,$DA,$B6 .db $B6,$ED,$B6,$ED,$DD,$EE,$76,$BB .db $EE,$EE,$EE,$EE,$BB,$F7,$EE,$DD .db $DE,$FB,$DE,$FB,$F7,$FD,$BE,$EF .db $FE,$FE,$FE,$FE,$DF,$FF,$FE,$FB .db $FE,$FF,$FE,$FF,$FF,$FF,$FE,$FF DATA_00AEF7: .db $00,$80,$00,$40,$00,$20,$00,$10 .db $00,$08,$00,$04,$00,$02,$00,$01 .db $80,$00,$40,$00,$20,$00,$10,$00 .db $08,$00,$04,$00,$02,$00,$01,$00 CODE_00AF17: AC 93 14 LDY.W $1493 ;\ CODE_00AF1A: A5 13 LDA RAM_FrameCounter ;| CODE_00AF1C: 4A LSR ;| CODE_00AF1D: 90 06 BCC CODE_00AF25 ;| every other frame CODE_00AF1F: 88 DEY ;| decrement level end timer CODE_00AF20: F0 03 BEQ CODE_00AF25 ;| CODE_00AF22: 8C 93 14 STY.W $1493 ;/ CODE_00AF25: C0 A0 CPY.B #$A0 CODE_00AF27: B0 0C BCS CODE_00AF35 CODE_00AF29: A9 04 LDA.B #$04 CODE_00AF2B: 14 40 TRB $40 CODE_00AF2D: A9 09 LDA.B #$09 CODE_00AF2F: 85 3E STA $3E CODE_00AF31: 22 FF CB 05 JSL.L CODE_05CBFF CODE_00AF35: A5 13 LDA RAM_FrameCounter CODE_00AF37: 29 03 AND.B #$03 CODE_00AF39: D0 67 BNE Return00AFA2 CODE_00AF3B: AD 95 14 LDA.W $1495 CODE_00AF3E: C9 40 CMP.B #$40 CODE_00AF40: B0 60 BCS Return00AFA2 CODE_00AF42: 20 A3 AF JSR.W CODE_00AFA3 ; Index (16 bit) Accum (16 bit) CODE_00AF45: A9 FE 01 LDA.W #$01FE CODE_00AF48: 8D 05 09 STA.W $0905 CODE_00AF4B: A2 EE 00 LDX.W #$00EE CODE_00AF4E: A9 07 00 LDA.W #$0007 CODE_00AF51: 85 00 STA $00 CODE_00AF53: BD 05 09 LDA.W $0905,X CODE_00AF56: 85 02 STA $02 CODE_00AF58: BD 03 07 LDA.W $0703,X CODE_00AF5B: 20 C0 AF JSR.W CODE_00AFC0 CODE_00AF5E: A5 04 LDA $04 CODE_00AF60: 9D 05 09 STA.W $0905,X CODE_00AF63: CA DEX CODE_00AF64: CA DEX CODE_00AF65: C6 00 DEC $00 CODE_00AF67: D0 EA BNE CODE_00AF53 CODE_00AF69: 8A TXA CODE_00AF6A: 38 SEC CODE_00AF6B: E9 12 00 SBC.W #$0012 CODE_00AF6E: AA TAX CODE_00AF6F: 10 DD BPL CODE_00AF4E CODE_00AF71: A2 04 00 LDX.W #$0004 CODE_00AF74: BD 1F 09 LDA.W $091F,X CODE_00AF77: 85 02 STA $02 CODE_00AF79: BD 1D 07 LDA.W $071D,X CODE_00AF7C: 20 C0 AF JSR.W CODE_00AFC0 CODE_00AF7F: A5 04 LDA $04 CODE_00AF81: 9D 1F 09 STA.W $091F,X CODE_00AF84: CA DEX CODE_00AF85: CA DEX CODE_00AF86: 10 EC BPL CODE_00AF74 CODE_00AF88: AD 01 07 LDA.W $0701 CODE_00AF8B: 85 02 STA $02 CODE_00AF8D: AD 03 09 LDA.W $0903 CODE_00AF90: 20 C0 AF JSR.W CODE_00AFC0 CODE_00AF93: A5 04 LDA $04 CODE_00AF95: 8D 01 07 STA.W $0701 CODE_00AF98: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_00AF9A: 9C 05 0A STZ.W $0A05 CODE_00AF9D: A9 03 LDA.B #$03 CODE_00AF9F: 8D 80 06 STA.W $0680 Return00AFA2: 60 RTS ; Return CODE_00AFA3: A8 TAY CODE_00AFA4: 1A INC A CODE_00AFA5: 1A INC A CODE_00AFA6: 8D 95 14 STA.W $1495 CODE_00AFA9: 98 TYA CODE_00AFAA: 4A LSR CODE_00AFAB: 4A LSR CODE_00AFAC: 4A LSR CODE_00AFAD: 4A LSR CODE_00AFAE: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00AFB0: 29 02 00 AND.W #$0002 CODE_00AFB3: 85 0C STA $0C CODE_00AFB5: 98 TYA CODE_00AFB6: 29 1E 00 AND.W #$001E CODE_00AFB9: A8 TAY CODE_00AFBA: B9 F7 AE LDA.W DATA_00AEF7,Y CODE_00AFBD: 85 0E STA $0E Return00AFBF: 60 RTS ; Return CODE_00AFC0: 85 0A STA $0A CODE_00AFC2: 29 1F 00 AND.W #$001F CODE_00AFC5: 0A ASL CODE_00AFC6: 0A ASL CODE_00AFC7: 85 06 STA $06 CODE_00AFC9: A5 0A LDA $0A CODE_00AFCB: 29 E0 03 AND.W #$03E0 CODE_00AFCE: 4A LSR CODE_00AFCF: 4A LSR CODE_00AFD0: 4A LSR CODE_00AFD1: 85 08 STA $08 CODE_00AFD3: A5 0B LDA $0B CODE_00AFD5: 29 7C 00 AND.W #$007C CODE_00AFD8: 85 0A STA $0A CODE_00AFDA: 64 04 STZ $04 CODE_00AFDC: A0 04 00 LDY.W #$0004 CODE_00AFDF: 5A PHY CODE_00AFE0: B9 06 00 LDA.W $0006,Y CODE_00AFE3: 05 0C ORA $0C CODE_00AFE5: A8 TAY CODE_00AFE6: B9 77 AE LDA.W DATA_00AE77,Y CODE_00AFE9: 7A PLY CODE_00AFEA: 25 0E AND $0E CODE_00AFEC: F0 0B BEQ CODE_00AFF9 CODE_00AFEE: B9 6B AE LDA.W DATA_00AE6B,Y CODE_00AFF1: 2C 93 14 BIT.W $1493 CODE_00AFF4: 10 03 BPL CODE_00AFF9 CODE_00AFF6: B9 71 AE LDA.W DATA_00AE71,Y CODE_00AFF9: 18 CLC CODE_00AFFA: 65 02 ADC $02 CODE_00AFFC: 39 65 AE AND.W DATA_00AE65,Y CODE_00AFFF: 04 04 TSB $04 Remember: You can get somewhere quick by pressing ctrl+f and typing in the address. CODE_00B001: 88 DEY CODE_00B002: 88 DEY CODE_00B003: 10 DA BPL CODE_00AFDF Return00B005: 60 RTS ; Return CODE_00B006: 8B PHB ;\ start of a subroutine most likely CODE_00B007: 4B PHK ;| CODE_00B008: AB PLB ;| CODE_00B009: 20 A3 AF JSR.W CODE_00AFA3 ;/ CODE_00B00C: A2 6E 00 LDX.W #$006E CODE_00B00F: A0 08 00 LDY.W #$0008 CODE_00B012: BD 07 09 LDA.W $0907,X CODE_00B015: 85 02 STA $02 CODE_00B017: BD 83 07 LDA.W $0783,X CODE_00B01A: 5A PHY CODE_00B01B: 20 C0 AF JSR.W CODE_00AFC0 CODE_00B01E: 7A PLY CODE_00B01F: A5 04 LDA $04 CODE_00B021: 9D 07 09 STA.W $0907,X CODE_00B024: BD 83 07 LDA.W $0783,X CODE_00B027: 38 SEC CODE_00B028: E5 04 SBC $04 CODE_00B02A: 9D 79 09 STA.W $0979,X CODE_00B02D: CA DEX CODE_00B02E: CA DEX CODE_00B02F: 88 DEY CODE_00B030: D0 E0 BNE CODE_00B012 CODE_00B032: 8A TXA CODE_00B033: 38 SEC CODE_00B034: E9 10 00 SBC.W #$0010 CODE_00B037: AA TAX CODE_00B038: 10 D5 BPL CODE_00B00F CODE_00B03A: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_00B03C: AB PLB Return00B03D: 6B RTL ; Return CODE_00B03E: 20 35 AF JSR.W CODE_00AF35 CODE_00B041: AD 80 06 LDA.W $0680 CODE_00B044: C9 03 CMP.B #$03 CODE_00B046: D0 48 BNE Return00B090 CODE_00B048: A9 00 LDA.B #$00 CODE_00B04A: 85 02 STA $02 CODE_00B04C: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00B04E: AD 82 0D LDA.W $0D82 CODE_00B051: 85 00 STA $00 CODE_00B053: A0 14 00 LDY.W #$0014 CODE_00B056: B7 00 LDA [$00],Y CODE_00B058: 99 11 0A STA.W $0A11,Y CODE_00B05B: 88 DEY CODE_00B05C: 88 DEY CODE_00B05D: 10 F7 BPL CODE_00B056 CODE_00B05F: A9 EE 81 LDA.W #$81EE CODE_00B062: 8D 05 0A STA.W $0A05 CODE_00B065: A2 CE 00 LDX.W #$00CE CODE_00B068: A9 07 00 LDA.W #$0007 CODE_00B06B: 85 00 STA $00 CODE_00B06D: BD 25 0A LDA.W $0A25,X CODE_00B070: 85 02 STA $02 CODE_00B072: BD 23 08 LDA.W $0823,X CODE_00B075: 20 C0 AF JSR.W CODE_00AFC0 CODE_00B078: A5 04 LDA $04 CODE_00B07A: 9D 25 0A STA.W $0A25,X CODE_00B07D: CA DEX CODE_00B07E: CA DEX CODE_00B07F: C6 00 DEC $00 CODE_00B081: D0 EA BNE CODE_00B06D CODE_00B083: 8A TXA CODE_00B084: 38 SEC CODE_00B085: E9 12 00 SBC.W #$0012 CODE_00B088: AA TAX CODE_00B089: 10 DD BPL CODE_00B068 CODE_00B08B: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_00B08D: 9C F5 0A STZ.W $0AF5 Return00B090: 60 RTS ; Return DATA_00B091: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF Palettes?: .db $9F,$5B,$FB,$6F,$80,$5D,$00,$00 .db $22,$1D,$C3,$24,$93,$73,$FF,$7F .db $49,$3A,$8B,$42,$CD,$4A,$0F,$53 .db $51,$5B,$93,$63,$FF,$7F,$00,$00 .db $20,$7F,$80,$7F,$E0,$7F,$E0,$7F .db $42,$39,$08,$52,$CE,$6A,$12,$63 .db $55,$6B,$98,$73,$42,$39,$08,$52 .db $CE,$6A,$42,$39,$08,$52,$CE,$6A .db $D6,$4E,$18,$57,$5A,$5F,$9C,$67 .db $DE,$6F,$FF,$77,$FF,$7F,$00,$00 .db $20,$7F,$80,$7F,$E0,$7F,$E0,$7F .db $A3,$20,$48,$31,$AC,$3D,$CE,$39 .db $32,$3E,$B6,$4A,$A2,$20,$25,$2D .db $68,$35,$8A,$35,$E4,$24,$52,$4A .db $C8,$50,$CC,$59,$6D,$52,$EB,$58 .db $4C,$65,$D0,$5A,$80,$5D,$39,$7F .db $93,$7E,$A8,$65,$48,$56,$28,$57 .db $62,$14,$46,$35,$A9,$45,$0D,$52 .db $B1,$62,$77,$7B,$00,$00,$1E,$7B .db $9F,$7B,$99,$7F,$F6,$7F,$FC,$7F .db $00,$00,$C5,$24,$49,$2D,$AD,$2D .db $53,$22,$18,$3F,$60,$10,$81,$18 .db $A3,$1C,$E4,$1C,$09,$29,$4B,$25 .db $60,$09,$A4,$01,$E8,$01,$2C,$02 .db $91,$02,$F5,$02,$FF,$7F,$00,$00 .db $E0,$7E,$20,$7F,$80,$7F,$E0,$7F .db $93,$73,$00,$00,$FB,$0C,$EB,$2F .db $93,$73,$00,$00,$DD,$7F,$7F,$2D .db $93,$73,$00,$00,$AB,$7A,$FF,$7F .db $93,$73,$00,$00,$9B,$1E,$7F,$3B .db $00,$00,$AF,$0D,$79,$2E,$E0,$25 .db $1C,$2B,$20,$03,$00,$00,$6B,$2D .db $EF,$3D,$73,$4E,$18,$63,$9C,$73 .db $00,$00,$E9,$00,$0D,$22,$8E,$05 .db $33,$1A,$B7,$32,$00,$00,$E0,$2D .db $E0,$52,$7F,$15,$5F,$32,$3F,$4B .db $00,$00,$C8,$59,$CE,$72,$CB,$39 .db $30,$3E,$B3,$4A,$00,$00,$16,$00 .db $1B,$00,$5F,$01,$1F,$02,$1F,$03 .db $00,$00,$EC,$49,$4F,$52,$B2,$5A .db $15,$67,$DB,$7F,$00,$00,$16,$00 .db $1B,$00,$5F,$01,$1F,$02,$1F,$03 .db $00,$00,$C9,$08,$4E,$19,$D3,$29 .db $78,$3E,$1D,$53,$00,$00,$C8,$14 .db $09,$1D,$6C,$29,$CF,$35,$32,$42 .db $EF,$55,$B5,$6E,$F7,$76,$39,$7F .db $7B,$7F,$BD,$7F,$00,$00,$C9,$2C .db $4E,$41,$D3,$55,$78,$6E,$1D,$7F .db $00,$00,$E9,$01,$AC,$02,$2F,$03 .db $99,$03,$FE,$53,$00,$00,$00,$00 .db $00,$00,$8F,$3C,$D8,$61,$7F,$7E .db $00,$00,$C5,$24,$49,$2D,$AD,$2D .db $53,$22,$18,$3F,$00,$00,$16,$00 .db $1B,$00,$5F,$01,$1F,$02,$1F,$03 .db $CE,$39,$00,$00,$18,$63,$34,$7F .db $95,$7F,$F8,$7F,$00,$00,$B7,$32 .db $FB,$67,$00,$02,$20,$03,$E0,$03 .db $00,$00,$71,$0D,$3F,$7C,$9B,$1E .db $7F,$13,$FF,$03,$00,$00,$17,$28 .db $1F,$40,$29,$45,$AD,$59,$10,$66 .db $00,$00,$71,$0D,$9B,$1E,$7F,$3B .db $FF,$7F,$FF,$7F,$00,$00,$CE,$39 .db $94,$52,$18,$63,$9C,$73,$5F,$2C .db $00,$00,$FF,$01,$1F,$03,$FF,$03 .db $B7,$00,$3F,$02,$00,$00,$08,$6D .db $AD,$6D,$31,$7E,$B7,$00,$3F,$02 .db $00,$00,$11,$00,$17,$00,$1F,$00 .db $B7,$00,$3F,$02,$00,$00,$E0,$01 .db $E0,$02,$E0,$03,$B7,$00,$3F,$02 .db $5F,$63,$1D,$58,$0A,$00,$1F,$39 .db $C4,$44,$08,$4E,$70,$67,$B6,$30 .db $DF,$35,$FF,$03,$3F,$4F,$1D,$58 .db $40,$11,$E0,$3F,$07,$3C,$AE,$7C .db $B3,$7D,$00,$2F,$5F,$16,$FF,$03 .db $5F,$63,$1D,$58,$29,$25,$FF,$7F .db $08,$00,$17,$00,$1F,$00,$7B,$57 .db $DF,$0D,$FF,$03,$1F,$3B,$1D,$58 .db $29,$25,$FF,$7F,$40,$11,$E0,$01 .db $E0,$02,$7B,$57,$DF,$0D,$FF,$03 .db $00,$00,$C5,$24,$49,$2D,$AD,$2D .db $53,$22,$18,$3F,$23,$25,$C4,$35 .db $25,$3E,$86,$46,$E7,$4E,$1F,$40 .db $00,$00,$C6,$41,$54,$73,$FA,$7F .db $FD,$7F,$08,$6D,$00,$00,$34,$34 .db $3A,$44,$9F,$65,$16,$01,$7F,$02 .db $00,$00,$C5,$24,$49,$2D,$AD,$2D .db $53,$22,$18,$3F,$00,$00,$AE,$2D .db $32,$3E,$B6,$4A,$F9,$52,$F3,$2C .db $00,$00,$6B,$51,$6D,$4E,$B3,$4F .db $BF,$30,$1D,$37,$32,$2E,$0D,$4A .db $88,$10,$4A,$21,$6D,$29,$CF,$3D .db $00,$00,$40,$29,$E0,$3D,$80,$52 .db $B7,$00,$3F,$02,$00,$00,$CE,$39 .db $94,$52,$18,$63,$B7,$00,$3F,$02 .db $00,$00,$70,$7E,$D3,$7E,$36,$7F .db $99,$7F,$1F,$40,$00,$00,$CE,$39 .db $94,$52,$18,$63,$9C,$73,$5F,$2C .db $00,$00,$DF,$4E,$DE,$5A,$BD,$66 .db $7C,$72,$1F,$40,$00,$00,$F5,$7F .db $F7,$7F,$F9,$7F,$FC,$7F,$FF,$7F BowserEndPalette: .db $00,$00,$FB,$63,$0C,$03,$0B,$02 .db $35,$15,$5F,$1A DATA_00B3CC: .db $00,$00,$34,$34,$3A,$44,$9F,$65 .db $16,$01,$7F,$02,$00,$00,$28,$12 .db $A8,$12,$48,$13,$7B,$32,$BF,$5B .db $60,$7D,$00,$00,$DE,$7B,$48,$13 .db $60,$7D,$7B,$32,$BF,$37,$7F,$2D .db $00,$00,$68,$32,$E8,$32,$48,$13 .db $FF,$5E,$7F,$6F,$60,$7D,$00,$00 .db $DE,$7B,$3B,$57,$A0,$7E,$F6,$01 .db $A8,$12,$48,$13,$00,$00,$28,$12 .db $A8,$12,$48,$13,$7B,$32,$BF,$5B .db $28,$7E,$00,$00,$DE,$7B,$48,$13 .db $28,$7E,$7B,$32,$BF,$37,$FF,$03 .db $00,$00,$12,$32,$75,$3E,$3B,$57 .db $7B,$32,$BF,$5B,$28,$7E,$00,$00 .db $DE,$7B,$3B,$57,$28,$7E,$7B,$32 .db $C4,$38,$48,$13,$C7,$2C,$F0,$69 .db $B2,$66,$D5,$67,$34,$66,$DE,$53 .db $FF,$7F,$C7,$2C,$60,$45,$80,$66 .db $F7,$7F,$1F,$03,$7F,$03,$FF,$47 .db $2C,$41,$F0,$69,$B2,$66,$D5,$67 .db $1F,$00,$FF,$7F,$C7,$2C,$C7,$2C .db $F0,$69,$B2,$66,$D5,$67,$2C,$41 .db $D5,$3A,$9C,$5B,$00,$00,$EC,$49 .db $2E,$56,$F1,$62,$26,$31,$BF,$5B .db $00,$00,$00,$00,$DE,$7B,$95,$57 .db $28,$7E,$26,$31,$BF,$37,$7F,$2D .db $00,$00,$26,$31,$89,$3D,$EC,$49 .db $26,$31,$BF,$5B,$28,$7E,$00,$00 .db $DE,$7B,$3B,$57,$C6,$32,$26,$31 .db $7F,$03,$7F,$03,$00,$00,$05,$1A .db $C5,$0A,$EF,$22,$75,$1A,$59,$43 .db $60,$7D,$00,$00,$39,$77,$EF,$22 .db $60,$7D,$18,$1E,$5C,$37,$09,$7E .db $00,$00,$60,$36,$20,$4B,$EF,$22 .db $5A,$4E,$3A,$53,$60,$7D,$00,$00 .db $7B,$32,$EF,$22,$19,$21,$F6,$01 .db $E6,$2D,$A8,$36,$C7,$2C,$F0,$69 .db $00,$00,$00,$00,$34,$66,$F9,$7F .db $FF,$7F,$00,$00,$60,$45,$80,$66 .db $F7,$7F,$1F,$03,$7F,$03,$FF,$47 .db $2C,$41,$F0,$69,$B2,$66,$D5,$67 .db $1F,$00,$FF,$7F,$C7,$2C,$C7,$2C .db $F0,$69,$B2,$66,$D5,$67,$2C,$41 .db $D5,$3A,$9C,$5B,$00,$00,$E7,$2C .db $6B,$3D,$EF,$4D,$73,$5E,$F7,$6E .db $FF,$7F,$F1,$7F,$BF,$01,$00,$7E .db $BF,$03,$E0,$03,$FC,$7F,$FF,$7F .db $00,$00,$4F,$19,$78,$3E,$3E,$57 .db $20,$7E,$E0,$7E,$E0,$7F,$00,$00 .db $31,$52,$F6,$66,$9C,$7B,$85,$16 .db $4B,$2F,$F1,$47,$00,$00,$4F,$19 .db $78,$3E,$3E,$57,$FF,$03,$DE,$7B .db $1F,$7C,$00,$00,$4F,$19,$78,$3E .db $3E,$57,$7F,$2D,$4B,$2F,$F1,$47 .db $FF,$7F,$00,$00,$71,$0D,$7F,$03 .db $FF,$4F,$3F,$4F,$E0,$7F,$FF,$7F .db $00,$00,$E0,$01,$AD,$7D,$80,$03 .db $B7,$00,$3F,$02,$FF,$7F,$00,$00 .db $16,$00,$1F,$00,$08,$6D,$DD,$2D .db $5F,$63,$FF,$7F,$00,$00,$80,$02 .db $E0,$03,$08,$6D,$1A,$26,$3B,$57 .db $FF,$7F,$00,$00,$E0,$7E,$20,$7F .db $80,$7F,$E0,$7F,$E0,$7F,$FF,$7F .db $00,$00,$E0,$7E,$20,$7F,$80,$7F .db $E0,$7F,$E0,$7F,$00,$00,$1B,$00 .db $2D,$46,$F3,$5E,$85,$16,$4B,$2F .db $F1,$47 DATA_00B5DE: .db $00,$00,$E7,$2C,$6B,$3D,$EF,$4D .db $73,$5E,$F7,$6E,$FF,$7F,$93,$73 .db $00,$00,$FF,$03,$3B,$57,$93,$73 .db $75,$3E,$12,$32,$AF,$25,$93,$73 .db $3B,$57,$FF,$7F,$00,$00,$93,$73 .db $00,$00,$3B,$57,$6C,$7E MorePalettes: .db $DF DATA_00B60D: .db $02,$5F,$03,$FF,$27,$FF,$5F,$FF .db $73,$FF,$5F,$FF,$27,$5F,$03,$BF .db $01,$1F,$00,$1B,$00,$18,$00,$18 .db $00,$1B,$00,$1F,$00,$BF,$01,$7F .db $43,$00,$00,$60,$7F,$3F,$17,$7F .db $43,$00,$00,$FF,$1C,$20,$03,$7F .db $43,$00,$00,$20,$03,$60,$7F,$7F .db $43,$BF,$5B,$7B,$32,$E7,$08,$00 .db $7E,$20,$7E,$A0,$7E,$E0,$7E,$20 .db $7F,$80,$7F,$E0,$7F,$E0,$7F,$00 .db $00,$E0,$1C,$E8,$3D,$F0,$5E,$F8 .db $7F,$FF,$7F,$85,$16,$4B,$2F DATA_00B66C: .db $93,$73,$00,$00,$71,$0D,$9B,$1E .db $FF,$7F,$00,$00,$20,$03,$16,$00 .db $1F,$00,$7F,$01,$9F,$02,$FF,$7F .db $00,$00,$20,$03,$7D,$34,$1E,$55 .db $FF,$65,$1F,$7B,$FF,$7F,$00,$00 .db $20,$03,$80,$03,$F1,$1F,$F9,$03 .db $FF,$4F DATA_00B69E: .db $FF,$7F,$C0,$18,$FB,$63,$0C,$03 .db $0B,$02,$35,$15,$5F,$1A,$9B,$77 .db $60,$18,$97,$5B,$A8,$02,$A7,$01 .db $D1,$0C,$FB,$11,$37,$6F,$00,$18 .db $33,$53,$45,$02,$43,$01,$6E,$04 .db $97,$09,$D3,$66,$00,$10,$CF,$4A .db $E1,$01,$E0,$00,$0A,$00,$33,$01 .db $6F,$5E,$00,$00,$6B,$42,$80,$01 .db $80,$00,$06,$00,$CF,$00,$0B,$56 .db $00,$00,$07,$3A,$20,$01,$20,$00 .db $02,$00,$6B,$00,$A7,$4D,$00,$00 .db $A3,$31,$C0,$00,$00,$00,$00,$00 .db $07,$00,$43,$45,$00,$00,$40,$29 .db $60,$00,$00,$00,$00,$00,$03,$00 TheEndPalettes: .db $C4,$44,$20,$03,$DF,$4A,$00,$02 .db $3B,$01,$08,$4E DATA_00B71A: .db $C4,$44,$1F,$39,$DF,$4A,$74,$28 .db $3F,$01,$08,$4E DATA_00B726: .db $D2,$28,$1E,$55,$5F,$63,$1F,$7B .db $FB,$01,$DE,$02,$00,$00,$33,$15 .db $B7,$25,$3B,$36,$AF,$25,$BF,$5B .db $C6,$5A,$00,$00,$DE,$7B,$3B,$36 .db $C6,$5A,$AF,$25,$BF,$37,$7F,$2D .db $00,$00,$33,$15,$B7,$25,$3B,$36 .db $FF,$5E,$7F,$6F,$C6,$5A,$00,$00 .db $DE,$7B,$3B,$57,$C6,$5A,$AF,$25 .db $A8,$12,$48,$13,$00,$00,$B7,$25 .db $3B,$36,$BF,$46,$AF,$25,$5F,$5B .db $C6,$5A,$00,$00,$DE,$7B,$BF,$46 .db $C6,$5A,$AF,$25,$BF,$37,$FF,$03 .db $00,$00,$85,$16,$4B,$2F,$F1,$47 .db $AF,$25,$5F,$5B,$C6,$5A,$00,$00 .db $DE,$7B,$3B,$57,$C6,$5A,$AF,$25 .db $C4,$38,$48,$13,$E7,$1C,$F3,$19 .db $B9,$32,$7F,$4B,$10,$76,$B9,$2E .db $FF,$7F,$E7,$1C,$60,$45,$80,$66 .db $F7,$7F,$1F,$03,$7F,$03,$FF,$47 .db $E7,$1C,$F3,$19,$B9,$32,$7F,$4B .db $1F,$00,$FF,$7F,$E7,$1C,$E7,$1C .db $F3,$19,$B9,$32,$7F,$4B,$C6,$58 .db $D5,$3A,$9C,$5B,$00,$00,$6D,$1D .db $D0,$29,$33,$36,$6B,$2D,$F9,$4E .db $00,$00,$00,$00,$DE,$7B,$33,$36 .db $82,$30,$6B,$2D,$BF,$37,$7F,$2D .db $00,$00,$A7,$00,$2B,$15,$8E,$21 .db $6B,$2D,$F9,$4E,$82,$30,$00,$00 .db $DE,$7B,$F9,$4E,$82,$30,$6B,$2D .db $82,$30,$48,$13,$00,$00,$71,$21 .db $F5,$31,$79,$32,$F6,$41,$3B,$57 .db $60,$7D,$00,$00,$39,$77,$79,$32 .db $60,$7D,$18,$1E,$5C,$37,$09,$7E .db $00,$00,$60,$36,$20,$4B,$EF,$22 .db $7A,$52,$3A,$53,$60,$7D,$00,$00 .db $8E,$21,$79,$32,$19,$21,$75,$3E .db $35,$11,$98,$1D,$C7,$2C,$F0,$69 .db $00,$00,$00,$00,$34,$66,$F9,$7F .db $FF,$7F,$00,$00,$60,$45,$80,$66 .db $F7,$7F,$1F,$03,$7F,$03,$FF,$47 .db $2C,$41,$F0,$69,$B2,$66,$D5,$67 .db $1F,$00,$FF,$7F,$C7,$2C,$C7,$2C .db $F0,$69,$B2,$66,$D5,$67,$2C,$41 .db $D5,$3A,$9C,$5B,$C0,$BF,$08,$00 .db $80,$08 CODE_00B888: C2 10 REP #$10 ; Index (16 bit) CODE_00B88A: A0 C0 BF LDY.W #$BFC0 ; \ CODE_00B88D: 84 8A STY $8A ; | Store the address 08/BFC0 at $8A-$8C CODE_00B88F: A9 08 LDA.B #$08 ; | this is the location of Mario's GFX (GFX32) CODE_00B891: 85 8C STA $8C ; / CODE_00B893: A0 00 20 LDY.W #$2000 ; \ CODE_00B896: 84 00 STY $00 ; | Store the address 7E/2000 at $00-$02 CODE_00B898: A9 7E LDA.B #$7E ; | this is the destination for Mario's GFX in the RAM CODE_00B89A: 85 02 STA $02 ; / CODE_00B89C: 20 DE B8 JSR.W CODE_00B8DE ; decompression routine CODE_00B89F: A9 7E LDA.B #$7E ; \ CODE_00B8A1: 85 8F STA $8F ; | CODE_00B8A3: C2 30 REP #$30 ; |Store the address 7E/ACFE at $8D-$8F ; Index (16 bit) Accum (16 bit) CODE_00B8A5: A9 FE AC LDA.W #$ACFE ; | CODE_00B8A8: 85 8D STA $8D ; / CODE_00B8AA: A2 FF 23 LDX.W #$23FF CODE_00B8AD: A0 08 00 LDY.W #$0008 CODE_00B8B0: BF 00 20 7E LDA.L $7E2000,X CODE_00B8B4: 29 FF 00 AND.W #$00FF CODE_00B8B7: 87 8D STA [$8D] CODE_00B8B9: CA DEX CODE_00B8BA: C6 8D DEC $8D CODE_00B8BC: C6 8D DEC $8D CODE_00B8BE: 88 DEY CODE_00B8BF: D0 EF BNE CODE_00B8B0 CODE_00B8C1: A0 08 00 LDY.W #$0008 CODE_00B8C4: CA DEX CODE_00B8C5: BF 00 20 7E LDA.L $7E2000,X CODE_00B8C9: 87 8D STA [$8D] CODE_00B8CB: CA DEX CODE_00B8CC: 30 09 BMI CODE_00B8D7 CODE_00B8CE: C6 8D DEC $8D CODE_00B8D0: C6 8D DEC $8D CODE_00B8D2: 88 DEY CODE_00B8D3: D0 EF BNE CODE_00B8C4 CODE_00B8D5: 80 D6 BRA CODE_00B8AD CODE_00B8D7: A9 00 80 LDA.W #$8000 CODE_00B8DA: 85 8A STA $8A CODE_00B8DC: E2 20 SEP #$20 ; Accum (8 bit) CODE_00B8DE: C2 10 REP #$10 ; Index (16 bit) CODE_00B8E0: A0 00 00 LDY.W #$0000 ; start at beginning of destination CODE_00B8E3: 20 83 B9 JSR.W ReadByte ; get current byte and advance to next CODE_00B8E6: C9 FF CMP.B #$FF ; \ if byte != #$FF, CODE_00B8E8: D0 03 BNE CODE_00B8ED ; / continue CODE_00B8EA: E2 10 SEP #$10 ; Index (8 bit) Return00B8EC: 60 RTS CODE_00B8ED: 85 8F STA $8F CODE_00B8EF: 29 E0 AND.B #$E0 CODE_00B8F1: C9 E0 CMP.B #$E0 CODE_00B8F3: F0 0A BEQ CODE_00B8FF CODE_00B8F5: 48 PHA CODE_00B8F6: A5 8F LDA $8F CODE_00B8F8: C2 20 REP #$20 ; Accum (16 bit) CODE_00B8FA: 29 1F 00 AND.W #$001F CODE_00B8FD: 80 12 BRA CODE_00B911 CODE_00B8FF: A5 8F LDA $8F ; Accum (8 bit) CODE_00B901: 0A ASL CODE_00B902: 0A ASL CODE_00B903: 0A ASL CODE_00B904: 29 E0 AND.B #$E0 CODE_00B906: 48 PHA CODE_00B907: A5 8F LDA $8F CODE_00B909: 29 03 AND.B #$03 CODE_00B90B: EB XBA CODE_00B90C: 20 83 B9 JSR.W ReadByte CODE_00B90F: C2 20 REP #$20 ; Accum (16 bit) CODE_00B911: 1A INC A CODE_00B912: 85 8D STA $8D CODE_00B914: E2 20 SEP #$20 ; Accum (8 bit) CODE_00B916: 68 PLA CODE_00B917: F0 17 BEQ CODE_00B930 CODE_00B919: 30 4B BMI CODE_00B966 CODE_00B91B: 0A ASL CODE_00B91C: 10 21 BPL CODE_00B93F CODE_00B91E: 0A ASL CODE_00B91F: 10 2B BPL CODE_00B94C CODE_00B921: 20 83 B9 JSR.W ReadByte CODE_00B924: A6 8D LDX $8D CODE_00B926: 97 00 STA [$00],Y CODE_00B928: 1A INC A CODE_00B929: C8 INY CODE_00B92A: CA DEX CODE_00B92B: D0 F9 BNE CODE_00B926 CODE_00B92D: 4C E3 B8 JMP.W CODE_00B8E3 CODE_00B930: 20 83 B9 JSR.W ReadByte CODE_00B933: 97 00 STA [$00],Y CODE_00B935: C8 INY CODE_00B936: A6 8D LDX $8D CODE_00B938: CA DEX CODE_00B939: 86 8D STX $8D CODE_00B93B: D0 F3 BNE CODE_00B930 CODE_00B93D: 80 A4 BRA CODE_00B8E3 CODE_00B93F: 20 83 B9 JSR.W ReadByte CODE_00B942: A6 8D LDX $8D CODE_00B944: 97 00 STA [$00],Y CODE_00B946: C8 INY CODE_00B947: CA DEX CODE_00B948: D0 FA BNE CODE_00B944 CODE_00B94A: 80 97 BRA CODE_00B8E3 CODE_00B94C: 20 83 B9 JSR.W ReadByte CODE_00B94F: EB XBA CODE_00B950: 20 83 B9 JSR.W ReadByte CODE_00B953: A6 8D LDX $8D CODE_00B955: EB XBA CODE_00B956: 97 00 STA [$00],Y CODE_00B958: C8 INY CODE_00B959: CA DEX CODE_00B95A: F0 07 BEQ CODE_00B963 CODE_00B95C: EB XBA CODE_00B95D: 97 00 STA [$00],Y CODE_00B95F: C8 INY CODE_00B960: CA DEX CODE_00B961: D0 F2 BNE CODE_00B955 CODE_00B963: 4C E3 B8 JMP.W CODE_00B8E3 CODE_00B966: 20 83 B9 JSR.W ReadByte CODE_00B969: EB XBA CODE_00B96A: 20 83 B9 JSR.W ReadByte CODE_00B96D: AA TAX CODE_00B96E: 5A PHY CODE_00B96F: 9B TXY CODE_00B970: B7 00 LDA [$00],Y CODE_00B972: BB TYX CODE_00B973: 7A PLY CODE_00B974: 97 00 STA [$00],Y CODE_00B976: C8 INY CODE_00B977: E8 INX CODE_00B978: C2 20 REP #$20 ; Accum (16 bit) CODE_00B97A: C6 8D DEC $8D CODE_00B97C: E2 20 SEP #$20 ; Accum (8 bit) CODE_00B97E: D0 EE BNE CODE_00B96E CODE_00B980: 4C E3 B8 JMP.W CODE_00B8E3 ReadByte: A7 8A LDA [$8A] ; Read the byte ; Index (16 bit) CODE_00B985: A6 8A LDX $8A ; \ Go to next byte CODE_00B987: E8 INX ; | CODE_00B988: D0 05 BNE CODE_00B98F ; | \ CODE_00B98A: A2 00 80 LDX.W #$8000 ; | |Handle bank crossing CODE_00B98D: E6 8C INC $8C ; | / CODE_00B98F: 86 8A STX $8A ; / Return00B991: 60 RTS ; Return DATA_00B992: .db $F9,$31,$BB,$52,$7D,$63,$6C,$10 .db $57,$A1,$15,$9C,$63,$D2,$CB,$E5 .db $1E,$AF,$BD,$10,$48,$E8,$74,$B4 .db $AD,$E4,$80,$66,$7E,$88,$7F,$43 .db $A1,$65,$CD,$CA,$E5,$B5,$21,$44 .db $6C,$A3,$7B,$F0,$B9,$06,$36,$85 .db $BB,$00 DATA_00B9C4: .db $D9,$E2,$EC,$F5,$FF,$89,$93,$9D .db $A6,$AF,$BA,$C3,$CD,$D5,$DD,$E6 .db $EF,$F7,$FF,$89,$93,$9A,$A3,$A9 .db $B2,$BB,$C3,$CC,$D4,$DC,$E6,$EE .db $F6,$FF,$88,$91,$9A,$A3,$AE,$B7 .db $C0,$C6,$CB,$D0,$D7,$E0,$E9,$F1 .db $F3,$F8 DATA_00B9F6: .db $08,$08,$08,$08,$08,$09,$09,$09 .db $09,$09,$09,$09,$09,$09,$09,$09 .db $09,$09,$09,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B CODE_00BA28: 8B PHB ; preserve data bank ; Accum (8 bit) CODE_00BA29: 5A PHY ; preserve Y (ExGFX file number) CODE_00BA2A: 4B PHK ; \ current bank CODE_00BA2B: AB PLB ; / -> data bank CODE_00BA2C: B9 92 B9 LDA.W DATA_00B992,Y ; \ CODE_00BA2F: 85 8A STA $8A ; | get address of CODE_00BA31: B9 C4 B9 LDA.W DATA_00B9C4,Y ; | ExGFX file from CODE_00BA34: 85 8B STA $8B ; | pointer tables and CODE_00BA36: B9 F6 B9 LDA.W DATA_00B9F6,Y ; | store to $8A-$8C CODE_00BA39: 85 8C STA $8C ; / CODE_00BA3B: A9 00 LDA.B #$00 ; \ CODE_00BA3D: 85 00 STA $00 ; | store destination CODE_00BA3F: A9 AD LDA.B #$AD ; | for decompressed CODE_00BA41: 85 01 STA $01 ; | ExGFX file (GFX CODE_00BA43: A9 7E LDA.B #$7E ; | Buffer) to $00-$02 CODE_00BA45: 85 02 STA $02 ; / CODE_00BA47: 20 DE B8 JSR.W CODE_00B8DE ; GFX decompression routine CODE_00BA4A: 7A PLY ; restore Y (ExGFX file number) CODE_00BA4B: AB PLB ; restore data bank Return00BA4C: 6B RTL ; Return DATA_00BA4D: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF DATA_00BA60: .db $00,$B0,$60,$10,$C0,$70,$20,$D0 .db $80,$30,$E0,$90,$40,$F0,$A0,$50 DATA_00BA70: .db $00,$B0,$60,$10,$C0,$70,$20,$D0 .db $80,$30,$E0,$90,$40,$F0,$A0,$50 DATA_00BA80: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00 DATA_00BA8E: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00 DATA_00BA9C: .db $C8,$C9,$CB,$CD,$CE,$D0,$D2,$D3 .db $D5,$D7,$D8,$DA,$DC,$DD,$DF,$E1 DATA_00BAAC: .db $E3,$E4,$E6,$E8,$E9,$EB,$ED,$EE .db $F0,$F2,$F3,$F5,$F7,$F8,$FA,$FC DATA_00BABC: .db $C8,$CA,$CC,$CE,$D0,$D2,$D4,$D6 .db $D8,$DA,$DC,$DE,$E0,$E2 DATA_00BACA: .db $E4,$E6,$E8,$EA,$EC,$EE,$F0,$F2 .db $F4,$F6,$F8,$FA,$FC,$FE DATA_00BAD8: .db $00,$C8,$7E,$B0,$C9,$7E,$60,$CB .db $7E,$10,$CD,$7E,$C0,$CE,$7E,$70 .db $D0,$7E,$20,$D2,$7E,$D0,$D3,$7E .db $80,$D5,$7E,$30,$D7,$7E,$E0,$D8 .db $7E,$90,$DA,$7E,$40,$DC,$7E,$F0 .db $DD,$7E,$A0,$DF,$7E,$50,$E1,$7E DATA_00BB08: .db $00,$E3,$7E,$B0,$E4,$7E,$60,$E6 .db $7E,$10,$E8,$7E,$C0,$E9,$7E,$70 .db $EB,$7E,$20,$ED,$7E,$D0,$EE,$7E .db $80,$F0,$7E,$30,$F2,$7E,$E0,$F3 .db $7E,$90,$F5,$7E,$40,$F7,$7E,$F0 .db $F8,$7E,$A0,$FA,$7E,$50,$FC,$7E DATA_00BB38: .db $00,$C8,$7E,$00,$CA,$7E,$00,$CC .db $7E,$00,$CE,$7E,$00,$D0,$7E,$00 .db $D2,$7E,$00,$D4,$7E,$00,$D6,$7E .db $00,$D8,$7E,$00,$DA,$7E,$00,$DC .db $7E,$00,$DE,$7E,$00,$E0,$7E,$00 .db $E2,$7E DATA_00BB62: .db $00,$E3,$7E,$B0,$E4,$7E,$60,$E6 .db $7E,$10,$E8,$7E,$C0,$E9,$7E,$70 .db $EB,$7E,$20,$ED,$7E,$D0,$EE,$7E .db $80,$F0,$7E,$30,$F2,$7E,$E0,$F3 .db $7E,$90,$F5,$7E,$40,$F7,$7E,$F0 .db $F8,$7E,$A0,$FA,$7E,$50,$FC,$7E DATA_00BB92: .db $00,$C8,$7E,$B0,$C9,$7E,$60,$CB .db $7E,$10,$CD,$7E,$C0,$CE,$7E,$70 .db $D0,$7E,$20,$D2,$7E,$D0,$D3,$7E .db $80,$D5,$7E,$30,$D7,$7E,$E0,$D8 .db $7E,$90,$DA,$7E,$40,$DC,$7E,$F0 .db $DD,$7E,$A0,$DF,$7E,$50,$E1,$7E DATA_00BBC2: .db $00,$E4,$7E,$00,$E6,$7E,$00,$E8 .db $7E,$00,$EA,$7E,$00,$EC,$7E,$00 .db $EE,$7E,$00,$F0,$7E,$00,$F2,$7E .db $00,$F4,$7E,$00,$F6,$7E,$00,$F8 .db $7E,$00,$FA,$7E,$00,$FC,$7E,$00 .db $FE,$7E DATA_00BBEC: .db $00,$C8,$7E,$00,$CA,$7E,$00,$CC .db $7E,$00,$CE,$7E,$00,$D0,$7E,$00 .db $D2,$7E,$00,$D4,$7E,$00,$D6,$7E .db $00,$D8,$7E,$00,$DA,$7E,$00,$DC .db $7E,$00,$DE,$7E,$00,$E0,$7E,$00 .db $E2,$7E DATA_00BC16: .db $00,$E4,$7E,$00,$E6,$7E,$00,$E8 .db $7E,$00,$EA,$7E,$00,$EC,$7E,$00 .db $EE,$7E,$00,$F0,$7E,$00,$F2,$7E .db $00,$F4,$7E,$00,$F6,$7E,$00,$F8 .db $7E,$00,$FA,$7E,$00,$FC,$7E,$00 .db $FE,$7E DATA_00BC40: .db $00,$C8,$7F,$B0,$C9,$7F,$60,$CB .db $7F,$10,$CD,$7F,$C0,$CE,$7F,$70 .db $D0,$7F,$20,$D2,$7F,$D0,$D3,$7F .db $80,$D5,$7F,$30,$D7,$7F,$E0,$D8 .db $7F,$90,$DA,$7F,$40,$DC,$7F,$F0 .db $DD,$7F,$A0,$DF,$7F,$50,$E1,$7F DATA_00BC70: .db $00,$E3,$7F,$B0,$E4,$7F,$60,$E6 .db $7F,$10,$E8,$7F,$C0,$E9,$7F,$70 .db $EB,$7F,$20,$ED,$7F,$D0,$EE,$7F .db $80,$F0,$7F,$30,$F2,$7F,$E0,$F3 .db $7F,$90,$F5,$7F,$40,$F7,$7F,$F0 .db $F8,$7F,$A0,$FA,$7F,$50,$FC,$7F DATA_00BCA0: .db $00,$C8,$7F,$00,$CA,$7F,$00,$CC .db $7F,$00,$CE,$7F,$00,$D0,$7F,$00 .db $D2,$7F,$00,$D4,$7F,$00,$D6,$7F .db $00,$D8,$7F,$00,$DA,$7F,$00,$DC .db $7F,$00,$DE,$7F,$00,$E0,$7F,$00 .db $E2,$7F DATA_00BCCA: .db $00,$E3,$7F,$B0,$E4,$7F,$60,$E6 .db $7F,$10,$E8,$7F,$C0,$E9,$7F,$70 .db $EB,$7F,$20,$ED,$7F,$D0,$EE,$7F .db $80,$F0,$7F,$30,$F2,$7F,$E0,$F3 .db $7F,$90,$F5,$7F,$40,$F7,$7F,$F0 .db $F8,$7F,$A0,$FA,$7F,$50,$FC,$7F DATA_00BCFA: .db $00,$C8,$7F,$B0,$C9,$7F,$60,$CB .db $7F,$10,$CD,$7F,$C0,$CE,$7F,$70 .db $D0,$7F,$20,$D2,$7F,$D0,$D3,$7F .db $80,$D5,$7F,$30,$D7,$7F,$E0,$D8 .db $7F,$90,$DA,$7F,$40,$DC,$7F,$F0 .db $DD,$7F,$A0,$DF,$7F,$50,$E1,$7F DATA_00BD2A: .db $00,$E4,$7F,$00,$E6,$7F,$00,$E8 .db $7F,$00,$EA,$7F,$00,$EC,$7F,$00 .db $EE,$7F,$00,$F0,$7F,$00,$F2,$7F .db $00,$F4,$7F,$00,$F6,$7F,$00,$F8 .db $7F,$00,$FA,$7F,$00,$FC,$7F,$00 .db $FE,$7F DATA_00BD54: .db $00,$C8,$7F,$00,$CA,$7F,$00,$CC .db $7F,$00,$CE,$7F,$00,$D0,$7F,$00 .db $D2,$7F,$00,$D4,$7F,$00,$D6,$7F .db $00,$D8,$7F,$00,$DA,$7F,$00,$DC .db $7F,$00,$DE,$7F,$00,$E0,$7F,$00 .db $E2,$7F DATA_00BD7E: .db $00,$E4,$7F,$00,$E6,$7F,$00,$E8 .db $7F,$00,$EA,$7F,$00,$EC,$7F,$00 .db $EE,$7F,$00,$F0,$7F,$00,$F2,$7F .db $00,$F4,$7F,$00,$F6,$7F,$00,$F8 .db $7F,$00,$FA,$7F,$00,$FC,$7F,$00 .db $FE,$7F Ptrs00BDA8: D8 BA .dw DATA_00BAD8 D8 BA .dw DATA_00BAD8 D8 BA .dw DATA_00BAD8 38 BB .dw DATA_00BB38 38 BB .dw DATA_00BB38 92 BB .dw DATA_00BB92 92 BB .dw DATA_00BB92 EC BB .dw DATA_00BBEC EC BB .dw DATA_00BBEC 00 00 .dw $0000 EC BB .dw DATA_00BBEC 00 00 .dw $0000 D8 BA .dw DATA_00BAD8 EC BB .dw DATA_00BBEC D8 BA .dw DATA_00BAD8 D8 BA .dw DATA_00BAD8 00 00 .dw $0000 D8 BA .dw DATA_00BAD8 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 D8 BA .dw DATA_00BAD8 D8 BA .dw DATA_00BAD8 Ptrs00BDE8: 08 BB .dw DATA_00BB08 08 BB .dw DATA_00BB08 08 BB .dw DATA_00BB08 62 BB .dw DATA_00BB62 62 BB .dw DATA_00BB62 C2 BB .dw DATA_00BBC2 C2 BB .dw DATA_00BBC2 16 BC .dw DATA_00BC16 16 BC .dw DATA_00BC16 00 00 .dw $0000 16 BC .dw DATA_00BC16 00 00 .dw $0000 08 BB .dw DATA_00BB08 16 BC .dw DATA_00BC16 08 BB .dw DATA_00BB08 08 BB .dw DATA_00BB08 00 00 .dw $0000 08 BB .dw DATA_00BB08 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 08 BB .dw DATA_00BB08 08 BB .dw DATA_00BB08 Ptrs00BE28: 40 BC .dw DATA_00BC40 40 BC .dw DATA_00BC40 40 BC .dw DATA_00BC40 A0 BC .dw DATA_00BCA0 A0 BC .dw DATA_00BCA0 FA BC .dw DATA_00BCFA FA BC .dw DATA_00BCFA 54 BD .dw DATA_00BD54 54 BD .dw DATA_00BD54 00 00 .dw $0000 54 BD .dw DATA_00BD54 00 00 .dw $0000 40 BC .dw DATA_00BC40 54 BD .dw DATA_00BD54 40 BC .dw DATA_00BC40 40 BC .dw DATA_00BC40 00 00 .dw $0000 40 BC .dw DATA_00BC40 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 40 BC .dw DATA_00BC40 40 BC .dw DATA_00BC40 Ptrs00BE68: 70 BC .dw DATA_00BC70 70 BC .dw DATA_00BC70 70 BC .dw DATA_00BC70 CA BC .dw DATA_00BCCA CA BC .dw DATA_00BCCA 2A BD .dw DATA_00BD2A 2A BD .dw DATA_00BD2A 7E BD .dw DATA_00BD7E 7E BD .dw DATA_00BD7E 00 00 .dw $0000 7E BD .dw DATA_00BD7E 00 00 .dw $0000 70 BC .dw DATA_00BC70 7E BD .dw DATA_00BD7E 70 BC .dw DATA_00BC70 70 BC .dw DATA_00BC70 00 00 .dw $0000 70 BC .dw DATA_00BC70 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 00 00 .dw $0000 70 BC .dw DATA_00BC70 70 BC .dw DATA_00BC70 LoadBlkPtrs: A8 BD .dw Ptrs00BDA8 E8 BD .dw Ptrs00BDE8 LoadBlkTable2: 28 BE .dw Ptrs00BE28 68 BE .dw Ptrs00BE68 GenerateTile: 08 PHP CODE_00BEB1: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00BEB3: DA PHX CODE_00BEB4: A5 9C LDA RAM_BlockBlock CODE_00BEB6: 29 FF 00 AND.W #$00FF CODE_00BEB9: D0 03 BNE CODE_00BEBE ADDR_00BEBB: 4C B9 BF JMP.W CODE_00BFB9 CODE_00BEBE: A5 9A LDA RAM_BlockYLo CODE_00BEC0: 85 0C STA $0C CODE_00BEC2: A5 98 LDA RAM_BlockXLo CODE_00BEC4: 85 0E STA $0E CODE_00BEC6: A9 00 00 LDA.W #$0000 CODE_00BEC9: E2 20 SEP #$20 ; Accum (8 bit) CODE_00BECB: A5 5B LDA RAM_IsVerticalLvl CODE_00BECD: 85 09 STA $09 CODE_00BECF: AD 33 19 LDA.W $1933 CODE_00BED2: F0 02 BEQ CODE_00BED6 ADDR_00BED4: 46 09 LSR $09 CODE_00BED6: A4 0E LDY $0E CODE_00BED8: A5 09 LDA $09 CODE_00BEDA: 29 01 AND.B #$01 CODE_00BEDC: F0 0E BEQ CODE_00BEEC CODE_00BEDE: A5 9B LDA RAM_BlockYHi CODE_00BEE0: 85 00 STA $00 CODE_00BEE2: A5 99 LDA RAM_BlockXHi CODE_00BEE4: 85 9B STA RAM_BlockYHi CODE_00BEE6: A5 00 LDA $00 CODE_00BEE8: 85 99 STA RAM_BlockXHi CODE_00BEEA: A4 0C LDY $0C CODE_00BEEC: C0 00 02 CPY.W #$0200 CODE_00BEEF: B0 CA BCS ADDR_00BEBB CODE_00BEF1: AD 33 19 LDA.W $1933 CODE_00BEF4: 0A ASL CODE_00BEF5: AA TAX CODE_00BEF6: BF A8 BE 00 LDA.L LoadBlkPtrs,X ; Set low byte of pointer CODE_00BEFA: 85 65 STA $65 CODE_00BEFC: BF A9 BE 00 LDA.L LoadBlkPtrs+1,X ; Set middle byte of pointer CODE_00BF00: 85 66 STA $66 CODE_00BF02: 64 67 STZ $67 ; High byte of pointer = #$00 CODE_00BF04: AD 25 19 LDA.W $1925 CODE_00BF07: 0A ASL CODE_00BF08: A8 TAY CODE_00BF09: B7 65 LDA [$65],Y CODE_00BF0B: 85 04 STA $04 CODE_00BF0D: C8 INY CODE_00BF0E: B7 65 LDA [$65],Y CODE_00BF10: 85 05 STA $05 CODE_00BF12: 64 06 STZ $06 CODE_00BF14: A5 9B LDA RAM_BlockYHi CODE_00BF16: 85 07 STA $07 CODE_00BF18: 0A ASL CODE_00BF19: 18 CLC CODE_00BF1A: 65 07 ADC $07 CODE_00BF1C: A8 TAY CODE_00BF1D: B7 04 LDA [$04],Y CODE_00BF1F: 85 6B STA $6B CODE_00BF21: 85 6E STA $6E CODE_00BF23: C8 INY CODE_00BF24: B7 04 LDA [$04],Y CODE_00BF26: 85 6C STA $6C CODE_00BF28: 85 6F STA $6F CODE_00BF2A: A9 7E LDA.B #$7E CODE_00BF2C: 85 6D STA $6D CODE_00BF2E: 1A INC A CODE_00BF2F: 85 70 STA $70 CODE_00BF31: A5 09 LDA $09 CODE_00BF33: 29 01 AND.B #$01 CODE_00BF35: F0 0A BEQ CODE_00BF41 CODE_00BF37: A5 99 LDA RAM_BlockXHi CODE_00BF39: 4A LSR CODE_00BF3A: A5 9B LDA RAM_BlockYHi CODE_00BF3C: 29 01 AND.B #$01 CODE_00BF3E: 4C 46 BF JMP.W CODE_00BF46 CODE_00BF41: A5 9B LDA RAM_BlockYHi CODE_00BF43: 4A LSR CODE_00BF44: A5 99 LDA RAM_BlockXHi CODE_00BF46: 2A ROL CODE_00BF47: 0A ASL CODE_00BF48: 0A ASL CODE_00BF49: 09 20 ORA.B #$20 CODE_00BF4B: 85 04 STA $04 CODE_00BF4D: E0 00 00 CPX.W #$0000 CODE_00BF50: F0 05 BEQ CODE_00BF57 ADDR_00BF52: 18 CLC ADDR_00BF53: 69 10 ADC.B #$10 ADDR_00BF55: 85 04 STA $04 CODE_00BF57: A5 98 LDA RAM_BlockXLo CODE_00BF59: 29 F0 AND.B #$F0 CODE_00BF5B: 18 CLC CODE_00BF5C: 0A ASL CODE_00BF5D: 2A ROL CODE_00BF5E: 85 05 STA $05 CODE_00BF60: 2A ROL CODE_00BF61: 29 03 AND.B #$03 CODE_00BF63: 05 04 ORA $04 CODE_00BF65: 85 06 STA $06 CODE_00BF67: A5 9A LDA RAM_BlockYLo CODE_00BF69: 29 F0 AND.B #$F0 CODE_00BF6B: 4A LSR CODE_00BF6C: 4A LSR CODE_00BF6D: 4A LSR CODE_00BF6E: 85 04 STA $04 CODE_00BF70: A5 05 LDA $05 CODE_00BF72: 29 C0 AND.B #$C0 CODE_00BF74: 05 04 ORA $04 CODE_00BF76: 85 07 STA $07 CODE_00BF78: C2 20 REP #$20 ; Accum (16 bit) CODE_00BF7A: A5 09 LDA $09 CODE_00BF7C: 29 01 00 AND.W #$0001 CODE_00BF7F: D0 1A BNE CODE_00BF9B CODE_00BF81: A5 1A LDA RAM_ScreenBndryXLo CODE_00BF83: 38 SEC CODE_00BF84: E9 80 00 SBC.W #$0080 CODE_00BF87: AA TAX CODE_00BF88: A4 1C LDY RAM_ScreenBndryYLo CODE_00BF8A: AD 33 19 LDA.W $1933 CODE_00BF8D: F0 23 BEQ CODE_00BFB2 ADDR_00BF8F: A6 1E LDX $1E ADDR_00BF91: A5 20 LDA $20 ADDR_00BF93: 38 SEC ADDR_00BF94: E9 80 00 SBC.W #$0080 ADDR_00BF97: A8 TAY ADDR_00BF98: 4C B2 BF JMP.W CODE_00BFB2 CODE_00BF9B: A6 1A LDX RAM_ScreenBndryXLo CODE_00BF9D: A5 1C LDA RAM_ScreenBndryYLo CODE_00BF9F: 38 SEC CODE_00BFA0: E9 80 00 SBC.W #$0080 CODE_00BFA3: A8 TAY CODE_00BFA4: AD 33 19 LDA.W $1933 CODE_00BFA7: F0 09 BEQ CODE_00BFB2 ADDR_00BFA9: A5 1E LDA $1E ADDR_00BFAB: 38 SEC ADDR_00BFAC: E9 80 00 SBC.W #$0080 ADDR_00BFAF: AA TAX ADDR_00BFB0: A4 20 LDY $20 CODE_00BFB2: 86 08 STX $08 CODE_00BFB4: 84 0A STY $0A CODE_00BFB6: 20 BC BF JSR.W CODE_00BFBC CODE_00BFB9: FA PLX CODE_00BFBA: 28 PLP Return00BFBB: 6B RTL ; Return CODE_00BFBC: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_00BFBE: A5 9C LDA RAM_BlockBlock CODE_00BFC0: 3A DEC A CODE_00BFC1: 4B PHK CODE_00BFC2: 62 03 00 PER $0003 CODE_00BFC5: 5C DF 86 00 JMP.L ExecutePtr ; $9C - Tile generated TileGenerationPtr: 74 C0 .dw CODE_00C074 ; 01 - empty space 77 C0 .dw CODE_00C077 ; 02 - empty space 77 C0 .dw CODE_00C077 ; 03 - vine 77 C0 .dw CODE_00C077 ; 04 - tree background, for berries 77 C0 .dw CODE_00C077 ; 05 - always turning block 77 C0 .dw CODE_00C077 ; 06 - coin 77 C0 .dw CODE_00C077 ; 07 - Mushroom scale base 77 C0 .dw CODE_00C077 ; 08 - mole hole C4 C0 .dw CODE_00C0C4 ; 09 - invisible solid C4 C0 .dw CODE_00C0C4 ; 0a - multiple coin turnblock C4 C0 .dw CODE_00C0C4 ; 0b - multiple coin q block C4 C0 .dw CODE_00C0C4 ; 0c - turn block C4 C0 .dw CODE_00C0C4 ; 0d - used block C4 C0 .dw CODE_00C0C4 ; 0e - music block C4 C0 .dw CODE_00C0C4 ; 0f - music C4 C0 .dw CODE_00C0C4 ; 10 - all way music block C4 C0 .dw CODE_00C0C4 ; 11 - sideways turn block C4 C0 .dw CODE_00C0C4 ; 12 - tranlucent C4 C0 .dw CODE_00C0C4 ; 13 - on off C4 C0 .dw CODE_00C0C4 ; 14 - side of pipe, left C4 C0 .dw CODE_00C0C4 ; 15 - side of pipe, right C1 C0 .dw CODE_00C0C1 ; 16 - used C1 C0 .dw CODE_00C0C1 ; 17 - O block from 1up game AC C1 .dw CODE_00C1AC ; 18 - invisible block containing wings 34 C3 .dw CODE_00C334 ; 19 - cage 34 C3 .dw CODE_00C334 ; 1a - cage D1 C3 .dw CODE_00C3D1 ; 1b - DATA_00BFFF: .db $00,$00,$80,$00,$00,$01 DATA_00C005: .db $80,$40,$20,$10,$08,$04,$02,$01 CODE_00C00D: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00C00F: A5 9A LDA RAM_BlockYLo ;\ CODE_00C011: 29 00 FF AND.W #$FF00 ;| CODE_00C014: 4A LSR ;| CODE_00C015: 4A LSR ;| CODE_00C016: 4A LSR ;| CODE_00C017: 4A LSR ;| CODE_00C018: 4A LSR ;| CODE_00C019: 4A LSR ;| CODE_00C01A: 85 04 STA $04 ;/ CODE_00C01C: A5 9A LDA RAM_BlockYLo CODE_00C01E: 29 80 00 AND.W #$0080 CODE_00C021: 4A LSR CODE_00C022: 4A LSR CODE_00C023: 4A LSR CODE_00C024: 4A LSR CODE_00C025: 4A LSR CODE_00C026: 4A LSR CODE_00C027: 4A LSR CODE_00C028: 05 04 ORA $04 CODE_00C02A: 85 04 STA $04 CODE_00C02C: A5 98 LDA RAM_BlockXLo CODE_00C02E: 29 00 01 AND.W #$0100 CODE_00C031: F0 07 BEQ CODE_00C03A CODE_00C033: A5 04 LDA $04 CODE_00C035: 09 02 00 ORA.W #$0002 CODE_00C038: 85 04 STA $04 CODE_00C03A: AD BE 13 LDA.W $13BE CODE_00C03D: 29 0F 00 AND.W #$000F CODE_00C040: 0A ASL CODE_00C041: AA TAX CODE_00C042: BF FF BF 00 LDA.L DATA_00BFFF,X CODE_00C046: 18 CLC CODE_00C047: 65 04 ADC $04 CODE_00C049: 85 04 STA $04 CODE_00C04B: A8 TAY CODE_00C04C: A5 9A LDA RAM_BlockYLo CODE_00C04E: 29 70 00 AND.W #$0070 CODE_00C051: 4A LSR CODE_00C052: 4A LSR CODE_00C053: 4A LSR CODE_00C054: 4A LSR CODE_00C055: AA TAX CODE_00C056: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C058: B9 F8 19 LDA.W $19F8,Y CODE_00C05B: 1F 05 C0 00 ORA.L DATA_00C005,X CODE_00C05F: 99 F8 19 STA.W $19F8,Y Return00C062: 60 RTS ; Return DATA_00C063: .db $7F,$BF,$DF,$EF,$F7,$FB,$FD,$FE TileToGeneratePg0: .db $25,$25,$25,$06,$49,$48,$2B,$A2 .db $C6 CODE_00C074: 20 0D C0 JSR.W CODE_00C00D CODE_00C077: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00C079: A5 98 LDA RAM_BlockXLo CODE_00C07B: 29 F0 01 AND.W #$01F0 CODE_00C07E: 85 04 STA $04 CODE_00C080: A5 9A LDA RAM_BlockYLo CODE_00C082: 4A LSR CODE_00C083: 4A LSR CODE_00C084: 4A LSR CODE_00C085: 4A LSR CODE_00C086: 29 0F 00 AND.W #$000F CODE_00C089: 05 04 ORA $04 CODE_00C08B: A8 TAY CODE_00C08C: A5 9C LDA RAM_BlockBlock ; \ X = index of tile to generate CODE_00C08E: 29 FF 00 AND.W #$00FF ; | CODE_00C091: AA TAX ; / CODE_00C092: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C094: B7 6E LDA [$6E],Y ; \ Reset #$01 bit CODE_00C096: 29 FE AND.B #$FE ; | CODE_00C098: 97 6E STA [$6E],Y ; / CODE_00C09A: BF 6B C0 00 LDA.L TileToGeneratePg0,X ; \ Store tile CODE_00C09E: 97 6B STA [$6B],Y ; / CODE_00C0A0: C2 20 REP #$20 ; Accum (16 bit) CODE_00C0A2: 29 FF 00 AND.W #$00FF CODE_00C0A5: 0A ASL CODE_00C0A6: A8 TAY CODE_00C0A7: 4C FB C0 JMP.W CODE_00C0FB DATA_00C0AA: .db $80,$40,$20,$10,$08,$04,$02,$01 TileToGeneratePg1: .db $52,$1B,$23,$1E,$32,$13,$15,$16 .db $2B,$2C,$12,$68,$69,$32,$5E CODE_00C0C1: 20 0D C0 JSR.W CODE_00C00D ;;;;;A big part of the block generation routines here!;;;;;;;;;;;; CODE_00C0C4: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00C0C6: A5 98 LDA RAM_BlockXLo CODE_00C0C8: 29 F0 01 AND.W #$01F0 CODE_00C0CB: 85 04 STA $04 CODE_00C0CD: A5 9A LDA RAM_BlockYLo CODE_00C0CF: 4A LSR CODE_00C0D0: 4A LSR CODE_00C0D1: 4A LSR CODE_00C0D2: 4A LSR CODE_00C0D3: 29 0F 00 AND.W #$000F CODE_00C0D6: 05 04 ORA $04 CODE_00C0D8: A8 TAY CODE_00C0D9: A5 9C LDA RAM_BlockBlock ; \ X = index of tile to generate CODE_00C0DB: 38 SEC ; | CODE_00C0DC: E9 09 00 SBC.W #$0009 ; | CODE_00C0DF: 29 FF 00 AND.W #$00FF ; | CODE_00C0E2: AA TAX ; / CODE_00C0E3: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C0E5: B7 6E LDA [$6E],Y ; \ Set #$01 bit CODE_00C0E7: 09 01 ORA.B #$01 ; | CODE_00C0E9: 97 6E STA [$6E],Y ; / CODE_00C0EB: BF B2 C0 00 LDA.L TileToGeneratePg1,X ; \ Store tile CODE_00C0EF: 97 6B STA [$6B],Y ; / CODE_00C0F1: C2 20 REP #$20 ; Accum (16 bit) CODE_00C0F3: 29 FF 00 AND.W #$00FF CODE_00C0F6: 09 00 01 ORA.W #$0100 CODE_00C0F9: 0A ASL CODE_00C0FA: A8 TAY CODE_00C0FB: A5 5B LDA RAM_IsVerticalLvl CODE_00C0FD: 85 00 STA $00 CODE_00C0FF: AD 33 19 LDA.W $1933 CODE_00C102: F0 02 BEQ CODE_00C106 ADDR_00C104: 46 00 LSR $00 CODE_00C106: A5 00 LDA $00 CODE_00C108: 29 01 00 AND.W #$0001 CODE_00C10B: D0 1A BNE CODE_00C127 CODE_00C10D: A5 08 LDA $08 CODE_00C10F: 29 F0 FF AND.W #$FFF0 CODE_00C112: 30 06 BMI CODE_00C11A CODE_00C114: C5 0C CMP $0C CODE_00C116: F0 26 BEQ CODE_00C13E CODE_00C118: B0 0A BCS CODE_00C124 CODE_00C11A: 18 CLC CODE_00C11B: 69 00 02 ADC.W #$0200 CODE_00C11E: C5 0C CMP $0C CODE_00C120: F0 02 BEQ CODE_00C124 CODE_00C122: B0 1A BCS CODE_00C13E CODE_00C124: 4C AB C1 JMP.W Return00C1AB CODE_00C127: A5 0A LDA $0A CODE_00C129: 29 F0 FF AND.W #$FFF0 CODE_00C12C: 30 06 BMI CODE_00C134 CODE_00C12E: C5 0E CMP $0E CODE_00C130: F0 0C BEQ CODE_00C13E CODE_00C132: B0 77 BCS Return00C1AB CODE_00C134: 18 CLC CODE_00C135: 69 00 02 ADC.W #$0200 CODE_00C138: C5 0E CMP $0E CODE_00C13A: F0 6F BEQ Return00C1AB CODE_00C13C: 90 6D BCC Return00C1AB CODE_00C13E: AF 7B 83 7F LDA.L $7F837B CODE_00C142: AA TAX CODE_00C143: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C145: A5 06 LDA $06 CODE_00C147: 9F 7D 83 7F STA.L $7F837D,X CODE_00C14B: 9F 85 83 7F STA.L $7F8385,X CODE_00C14F: A5 07 LDA $07 CODE_00C151: 9F 7E 83 7F STA.L $7F837E,X CODE_00C155: 18 CLC CODE_00C156: 69 20 ADC.B #$20 CODE_00C158: 9F 86 83 7F STA.L $7F8386,X CODE_00C15C: A9 00 LDA.B #$00 CODE_00C15E: 9F 7F 83 7F STA.L $7F837F,X CODE_00C162: 9F 87 83 7F STA.L $7F8387,X CODE_00C166: A9 03 LDA.B #$03 CODE_00C168: 9F 80 83 7F STA.L $7F8380,X CODE_00C16C: 9F 88 83 7F STA.L $7F8388,X CODE_00C170: A9 FF LDA.B #$FF CODE_00C172: 9F 8D 83 7F STA.L $7F838D,X CODE_00C176: A9 0D LDA.B #$0D CODE_00C178: 85 06 STA $06 CODE_00C17A: C2 20 REP #$20 ; Accum (16 bit) CODE_00C17C: B9 BE 0F LDA.W $0FBE,Y CODE_00C17F: 85 04 STA $04 CODE_00C181: A0 00 00 LDY.W #$0000 CODE_00C184: B7 04 LDA [$04],Y CODE_00C186: 9F 81 83 7F STA.L $7F8381,X CODE_00C18A: C8 INY CODE_00C18B: C8 INY CODE_00C18C: B7 04 LDA [$04],Y CODE_00C18E: 9F 89 83 7F STA.L $7F8389,X CODE_00C192: C8 INY CODE_00C193: C8 INY CODE_00C194: B7 04 LDA [$04],Y CODE_00C196: 9F 83 83 7F STA.L $7F8383,X CODE_00C19A: C8 INY CODE_00C19B: C8 INY CODE_00C19C: B7 04 LDA [$04],Y CODE_00C19E: 9F 8B 83 7F STA.L $7F838B,X CODE_00C1A2: 8A TXA CODE_00C1A3: 18 CLC CODE_00C1A4: 69 10 00 ADC.W #$0010 CODE_00C1A7: 8F 7B 83 7F STA.L $7F837B Return00C1AB: 60 RTS ; Return CODE_00C1AC: 20 0D C0 JSR.W CODE_00C00D CODE_00C1AF: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00C1B1: A5 98 LDA RAM_BlockXLo CODE_00C1B3: 29 F0 01 AND.W #$01F0 CODE_00C1B6: 85 04 STA $04 CODE_00C1B8: A5 9A LDA RAM_BlockYLo CODE_00C1BA: 4A LSR CODE_00C1BB: 4A LSR CODE_00C1BC: 4A LSR CODE_00C1BD: 4A LSR CODE_00C1BE: 29 0F 00 AND.W #$000F CODE_00C1C1: 05 04 ORA $04 CODE_00C1C3: A8 TAY CODE_00C1C4: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C1C6: A9 25 LDA.B #$25 CODE_00C1C8: 97 6B STA [$6B],Y CODE_00C1CA: C2 20 REP #$20 ; Accum (16 bit) CODE_00C1CC: 98 TYA CODE_00C1CD: 18 CLC CODE_00C1CE: 69 10 00 ADC.W #$0010 CODE_00C1D1: A8 TAY CODE_00C1D2: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C1D4: A9 25 LDA.B #$25 CODE_00C1D6: 97 6B STA [$6B],Y CODE_00C1D8: C2 20 REP #$20 ; Accum (16 bit) CODE_00C1DA: 29 FF 00 AND.W #$00FF CODE_00C1DD: 0A ASL CODE_00C1DE: A8 TAY CODE_00C1DF: A5 5B LDA RAM_IsVerticalLvl CODE_00C1E1: 85 00 STA $00 CODE_00C1E3: AD 33 19 LDA.W $1933 CODE_00C1E6: F0 02 BEQ CODE_00C1EA ADDR_00C1E8: 46 00 LSR $00 CODE_00C1EA: A5 00 LDA $00 CODE_00C1EC: 29 01 00 AND.W #$0001 CODE_00C1EF: D0 1A BNE CODE_00C20B CODE_00C1F1: A5 08 LDA $08 CODE_00C1F3: 29 F0 FF AND.W #$FFF0 CODE_00C1F6: 30 06 BMI CODE_00C1FE CODE_00C1F8: C5 0C CMP $0C CODE_00C1FA: F0 26 BEQ CODE_00C222 CODE_00C1FC: B0 AD BCS Return00C1AB CODE_00C1FE: 18 CLC CODE_00C1FF: 69 00 02 ADC.W #$0200 CODE_00C202: C5 0C CMP $0C CODE_00C204: 90 A5 BCC Return00C1AB CODE_00C206: F0 A3 BEQ Return00C1AB CODE_00C208: 4C 22 C2 JMP.W CODE_00C222 CODE_00C20B: A5 0A LDA $0A CODE_00C20D: 29 F0 FF AND.W #$FFF0 CODE_00C210: 30 06 BMI CODE_00C218 CODE_00C212: C5 0E CMP $0E CODE_00C214: F0 0C BEQ CODE_00C222 CODE_00C216: B0 93 BCS Return00C1AB CODE_00C218: 18 CLC CODE_00C219: 69 00 02 ADC.W #$0200 CODE_00C21C: C5 0E CMP $0E CODE_00C21E: F0 8B BEQ Return00C1AB CODE_00C220: 90 89 BCC Return00C1AB CODE_00C222: AF 7B 83 7F LDA.L $7F837B CODE_00C226: AA TAX CODE_00C227: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C229: A5 06 LDA $06 CODE_00C22B: 9F 7D 83 7F STA.L $7F837D,X CODE_00C22F: 9F 89 83 7F STA.L $7F8389,X CODE_00C233: A5 07 LDA $07 CODE_00C235: 9F 7E 83 7F STA.L $7F837E,X CODE_00C239: 1A INC A CODE_00C23A: 9F 8A 83 7F STA.L $7F838A,X CODE_00C23E: A9 80 LDA.B #$80 CODE_00C240: 9F 7F 83 7F STA.L $7F837F,X CODE_00C244: 9F 8B 83 7F STA.L $7F838B,X CODE_00C248: A9 07 LDA.B #$07 CODE_00C24A: 9F 80 83 7F STA.L $7F8380,X CODE_00C24E: 9F 8C 83 7F STA.L $7F838C,X CODE_00C252: A9 FF LDA.B #$FF CODE_00C254: 9F 95 83 7F STA.L $7F8395,X CODE_00C258: A9 0D LDA.B #$0D CODE_00C25A: 85 06 STA $06 CODE_00C25C: C2 20 REP #$20 ; Accum (16 bit) CODE_00C25E: B9 BE 0F LDA.W $0FBE,Y CODE_00C261: 85 04 STA $04 CODE_00C263: A0 00 00 LDY.W #$0000 CODE_00C266: B7 04 LDA [$04],Y CODE_00C268: 9F 81 83 7F STA.L $7F8381,X CODE_00C26C: 9F 85 83 7F STA.L $7F8385,X CODE_00C270: C8 INY CODE_00C271: C8 INY CODE_00C272: B7 04 LDA [$04],Y CODE_00C274: 9F 8D 83 7F STA.L $7F838D,X CODE_00C278: 9F 91 83 7F STA.L $7F8391,X CODE_00C27C: C8 INY CODE_00C27D: C8 INY CODE_00C27E: B7 04 LDA [$04],Y CODE_00C280: 9F 83 83 7F STA.L $7F8383,X CODE_00C284: 9F 87 83 7F STA.L $7F8387,X CODE_00C288: C8 INY CODE_00C289: C8 INY CODE_00C28A: B7 04 LDA [$04],Y CODE_00C28C: 9F 8F 83 7F STA.L $7F838F,X CODE_00C290: 9F 93 83 7F STA.L $7F8393,X CODE_00C294: 8A TXA CODE_00C295: 18 CLC CODE_00C296: 69 18 00 ADC.W #$0018 CODE_00C299: 8F 7B 83 7F STA.L $7F837B Return00C29D: 60 RTS ; Return FlippedGateBgTiles?: .db $99,$9C,$8B,$1C,$8B,$1C,$8B,$1C .db $8B,$1C,$99,$DC,$9B,$1C,$F8,$1C .db $F8,$1C,$F8,$1C,$F8,$1C,$9B,$5C .db $9B,$1C,$F8,$1C,$F8,$1C,$F8,$1C .db $F8,$1C,$9B,$5C,$9B,$1C,$F8,$1C .db $F8,$1C,$F8,$1C,$F8,$1C,$9B,$5C .db $9B,$1C,$F8,$1C,$F8,$1C,$F8,$1C .db $F8,$1C,$9B,$5C,$99,$1C,$8B,$9C .db $8B,$9C,$8B,$9C,$8B,$9C,$99,$5C .db $BA,$9C,$AB,$1C,$AB,$1C,$AB,$1C .db $AB,$1C,$BA,$DC,$AA,$1C,$82,$1C .db $82,$1C,$82,$1C,$82,$1C,$AA,$5C .db $AA,$1C,$82,$1C,$82,$1C,$82,$1C .db $82,$1C,$AA,$5C,$AA,$1C,$82,$1C .db $82,$1C,$82,$1C,$82,$1C,$AA,$5C .db $AA,$1C,$82,$1C,$82,$1C,$82,$1C .db $82,$1C,$AA,$5C,$BA,$1C,$AB,$9C .db $AB,$9C,$AB,$9C,$AB,$9C,$BA,$5C DATA_00C32E: .db $9E,$C2 DATA_00C330: .db $00,$E6,$C2,$00 CODE_00C334: E6 07 INC $07 ; Accum (8 bit) CODE_00C336: A5 07 LDA $07 CODE_00C338: 18 CLC CODE_00C339: 69 20 ADC.B #$20 CODE_00C33B: 85 07 STA $07 CODE_00C33D: A5 06 LDA $06 CODE_00C33F: 69 00 ADC.B #$00 CODE_00C341: 85 06 STA $06 CODE_00C343: A5 9C LDA RAM_BlockBlock CODE_00C345: 38 SEC CODE_00C346: E9 19 SBC.B #$19 CODE_00C348: 85 00 STA $00 CODE_00C34A: 0A ASL CODE_00C34B: 18 CLC CODE_00C34C: 65 00 ADC $00 CODE_00C34E: AA TAX CODE_00C34F: BF 30 C3 00 LDA.L DATA_00C330,X CODE_00C353: 85 04 STA $04 CODE_00C355: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00C357: BF 2E C3 00 LDA.L DATA_00C32E,X CODE_00C35B: 85 02 STA $02 CODE_00C35D: AF 7B 83 7F LDA.L $7F837B CODE_00C361: AA TAX CODE_00C362: A0 05 00 LDY.W #$0005 CODE_00C365: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C367: A5 06 LDA $06 CODE_00C369: 9F 7D 83 7F STA.L $7F837D,X CODE_00C36D: A5 07 LDA $07 CODE_00C36F: 9F 7E 83 7F STA.L $7F837E,X CODE_00C373: A9 00 LDA.B #$00 CODE_00C375: 9F 7F 83 7F STA.L $7F837F,X CODE_00C379: A9 0B LDA.B #$0B CODE_00C37B: 9F 80 83 7F STA.L $7F8380,X CODE_00C37F: A5 07 LDA $07 CODE_00C381: 18 CLC CODE_00C382: 69 20 ADC.B #$20 CODE_00C384: 85 07 STA $07 CODE_00C386: A5 06 LDA $06 CODE_00C388: 69 00 ADC.B #$00 CODE_00C38A: 85 06 STA $06 CODE_00C38C: C2 20 REP #$20 ; Accum (16 bit) CODE_00C38E: 8A TXA CODE_00C38F: 18 CLC CODE_00C390: 69 10 00 ADC.W #$0010 CODE_00C393: AA TAX CODE_00C394: 88 DEY CODE_00C395: 10 CE BPL CODE_00C365 CODE_00C397: AF 7B 83 7F LDA.L $7F837B CODE_00C39B: AA TAX CODE_00C39C: A0 00 00 LDY.W #$0000 CODE_00C39F: A9 05 00 LDA.W #$0005 CODE_00C3A2: 85 00 STA $00 CODE_00C3A4: B7 02 LDA [$02],Y CODE_00C3A6: 9F 81 83 7F STA.L $7F8381,X CODE_00C3AA: C8 INY CODE_00C3AB: C8 INY CODE_00C3AC: E8 INX CODE_00C3AD: E8 INX CODE_00C3AE: C6 00 DEC $00 CODE_00C3B0: 10 F2 BPL CODE_00C3A4 CODE_00C3B2: 8A TXA CODE_00C3B3: 18 CLC CODE_00C3B4: 69 04 00 ADC.W #$0004 CODE_00C3B7: AA TAX CODE_00C3B8: C0 48 00 CPY.W #$0048 CODE_00C3BB: D0 E2 BNE CODE_00C39F CODE_00C3BD: A9 FF 00 LDA.W #$00FF CODE_00C3C0: 9F 7D 83 7F STA.L $7F837D,X CODE_00C3C4: AF 7B 83 7F LDA.L $7F837B CODE_00C3C8: 18 CLC CODE_00C3C9: 69 60 00 ADC.W #$0060 CODE_00C3CC: 8F 7B 83 7F STA.L $7F837B Return00C3D0: 60 RTS ; Return CODE_00C3D1: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_00C3D3: A5 98 LDA RAM_BlockXLo CODE_00C3D5: 29 F0 01 AND.W #$01F0 CODE_00C3D8: 85 04 STA $04 CODE_00C3DA: A5 9A LDA RAM_BlockYLo CODE_00C3DC: 4A LSR CODE_00C3DD: 4A LSR CODE_00C3DE: 4A LSR CODE_00C3DF: 4A LSR CODE_00C3E0: 29 0F 00 AND.W #$000F CODE_00C3E3: 05 04 ORA $04 CODE_00C3E5: A8 TAY CODE_00C3E6: AF 7B 83 7F LDA.L $7F837B CODE_00C3EA: AA TAX CODE_00C3EB: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C3ED: A9 25 LDA.B #$25 CODE_00C3EF: 97 6B STA [$6B],Y CODE_00C3F1: C8 INY CODE_00C3F2: A9 25 LDA.B #$25 CODE_00C3F4: 97 6B STA [$6B],Y CODE_00C3F6: C2 20 REP #$20 ; Accum (16 bit) CODE_00C3F8: 98 TYA CODE_00C3F9: 18 CLC CODE_00C3FA: 69 10 00 ADC.W #$0010 CODE_00C3FD: A8 TAY CODE_00C3FE: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C400: A9 25 LDA.B #$25 CODE_00C402: 97 6B STA [$6B],Y CODE_00C404: 88 DEY CODE_00C405: A9 25 LDA.B #$25 CODE_00C407: 97 6B STA [$6B],Y CODE_00C409: A0 03 00 LDY.W #$0003 CODE_00C40C: A5 06 LDA $06 CODE_00C40E: 9F 7D 83 7F STA.L $7F837D,X CODE_00C412: A5 07 LDA $07 CODE_00C414: 9F 7E 83 7F STA.L $7F837E,X CODE_00C418: A9 40 LDA.B #$40 CODE_00C41A: 9F 7F 83 7F STA.L $7F837F,X CODE_00C41E: A9 06 LDA.B #$06 CODE_00C420: 9F 80 83 7F STA.L $7F8380,X CODE_00C424: C2 20 REP #$20 ; Accum (16 bit) CODE_00C426: A9 F8 18 LDA.W #$18F8 CODE_00C429: 9F 81 83 7F STA.L $7F8381,X CODE_00C42D: 8A TXA CODE_00C42E: 18 CLC CODE_00C42F: 69 06 00 ADC.W #$0006 CODE_00C432: AA TAX CODE_00C433: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C435: A5 07 LDA $07 CODE_00C437: 18 CLC CODE_00C438: 69 20 ADC.B #$20 CODE_00C43A: 85 07 STA $07 CODE_00C43C: A5 06 LDA $06 CODE_00C43E: 69 00 ADC.B #$00 CODE_00C440: 85 06 STA $06 CODE_00C442: 88 DEY CODE_00C443: 10 C7 BPL CODE_00C40C CODE_00C445: A9 FF LDA.B #$FF CODE_00C447: 9F 7D 83 7F STA.L $7F837D,X CODE_00C44B: C2 20 REP #$20 ; Accum (16 bit) CODE_00C44D: 8A TXA CODE_00C44E: 8F 7B 83 7F STA.L $7F837B Return00C452: 60 RTS ; Return DATA_00C453: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$80,$40,$20 .db $10,$08,$04,$02,$01,$80,$40,$20 .db $10,$08,$04,$02,$01 DATA_00C470: .db $90,$00,$90,$00 DATA_00C474: .db $04,$FC,$04,$FC DATA_00C478: .db $30,$33,$33,$30,$01,$00 CODE_00C47E: 64 78 STZ $78 ; Index (8 bit) Accum (8 bit) CODE_00C480: AD CB 13 LDA.W $13CB ;\ CODE_00C483: 10 07 BPL CODE_00C48C ;| If $13CB is 01, don't give him a star (?) ADDR_00C485: 22 80 C5 01 JSL.L CODE_01C580 ;| ADDR_00C489: 9C CB 13 STZ.W $13CB ;/ CODE_00C48C: AC 34 14 LDY.W $1434 ;\ finish this part of the code if the keyhole triggerish thing CODE_00C48F: F0 29 BEQ CODE_00C4BA ;/ is 00 CODE_00C491: 8C FB 13 STY.W $13FB ; Otherwise freeze him for as long as it is set CODE_00C494: 84 9D STY RAM_SpritesLocked ; Lock sprites too CODE_00C496: AE 35 14 LDX.W $1435 ; CODE_00C499: AD 33 14 LDA.W $1433 CODE_00C49C: DD 70 C4 CMP.W DATA_00C470,X CODE_00C49F: D0 1B BNE CODE_00C4BC CODE_00C4A1: 88 DEY CODE_00C4A2: D0 13 BNE CODE_00C4B7 CODE_00C4A4: EE 35 14 INC.W $1435 CODE_00C4A7: 8A TXA CODE_00C4A8: 4A LSR CODE_00C4A9: 90 4D BCC CODE_00C4F8 CODE_00C4AB: 20 EC FC JSR.W CODE_00FCEC CODE_00C4AE: A9 02 LDA.B #$02 CODE_00C4B0: A0 0B LDY.B #$0B CODE_00C4B2: 20 FE C9 JSR.W CODE_00C9FE CODE_00C4B5: A0 00 LDY.B #$00 CODE_00C4B7: 8C 34 14 STY.W $1434 CODE_00C4BA: 80 3C BRA CODE_00C4F8 CODE_00C4BC: 18 CLC CODE_00C4BD: 7D 74 C4 ADC.W DATA_00C474,X CODE_00C4C0: 8D 33 14 STA.W $1433 CODE_00C4C3: A9 22 LDA.B #$22 CODE_00C4C5: 85 41 STA $41 CODE_00C4C7: A9 02 LDA.B #$02 CODE_00C4C9: 85 42 STA $42 CODE_00C4CB: BD 78 C4 LDA.W DATA_00C478,X CODE_00C4CE: 85 43 STA $43 CODE_00C4D0: A9 12 LDA.B #$12 CODE_00C4D2: 85 44 STA $44 CODE_00C4D4: C2 20 REP #$20 ; Accum (16 bit) CODE_00C4D6: A9 93 CB LDA.W #$CB93 CODE_00C4D9: 85 04 STA $04 CODE_00C4DB: 64 06 STZ $06 CODE_00C4DD: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C4DF: AD 36 14 LDA.W RAM_KeyHolePos1 CODE_00C4E2: 38 SEC CODE_00C4E3: E5 1A SBC RAM_ScreenBndryXLo CODE_00C4E5: 18 CLC CODE_00C4E6: 69 04 ADC.B #$04 CODE_00C4E8: 85 00 STA $00 CODE_00C4EA: AD 38 14 LDA.W RAM_KeyHolePos2 CODE_00C4ED: 38 SEC CODE_00C4EE: E5 1C SBC RAM_ScreenBndryYLo CODE_00C4F0: 18 CLC CODE_00C4F1: 69 10 ADC.B #$10 CODE_00C4F3: 85 01 STA $01 CODE_00C4F5: 20 88 CA JSR.W CODE_00CA88 CODE_00C4F8: AD FB 13 LDA.W $13FB CODE_00C4FB: F0 03 BEQ CODE_00C500 CODE_00C4FD: 4C 8F C5 JMP.W CODE_00C58F CODE_00C500: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_00C502: D0 65 BNE CODE_00C569 ; / CODE_00C504: E6 14 INC RAM_FrameCounterB CODE_00C506: A2 13 LDX.B #$13 CODE_00C508: BD 95 14 LDA.W $1495,X CODE_00C50B: F0 03 BEQ CODE_00C510 CODE_00C50D: DE 95 14 DEC.W $1495,X CODE_00C510: CA DEX CODE_00C511: D0 F5 BNE CODE_00C508 CODE_00C513: A5 14 LDA RAM_FrameCounterB CODE_00C515: 29 03 AND.B #$03 CODE_00C517: D0 50 BNE CODE_00C569 CODE_00C519: AD 25 14 LDA.W $1425 CODE_00C51C: F0 15 BEQ CODE_00C533 CODE_00C51E: AD AB 14 LDA.W $14AB CODE_00C521: C9 44 CMP.B #$44 CODE_00C523: D0 05 BNE CODE_00C52A CODE_00C525: A0 14 LDY.B #$14 CODE_00C527: 8C FB 1D STY.W $1DFB ; / Change music CODE_00C52A: C9 01 CMP.B #$01 CODE_00C52C: D0 05 BNE CODE_00C533 CODE_00C52E: A0 0B LDY.B #$0B CODE_00C530: 8C 00 01 STY.W RAM_GameMode CODE_00C533: AC AD 14 LDY.W RAM_BluePowTimer CODE_00C536: CC AE 14 CPY.W RAM_SilverPowTimer CODE_00C539: B0 03 BCS CODE_00C53E CODE_00C53B: AC AE 14 LDY.W RAM_SilverPowTimer CODE_00C53E: AD DA 0D LDA.W $0DDA CODE_00C541: 30 0C BMI CODE_00C54F CODE_00C543: C0 01 CPY.B #$01 CODE_00C545: D0 08 BNE CODE_00C54F CODE_00C547: AC 0C 19 LDY.W $190C CODE_00C54A: D0 03 BNE CODE_00C54F CODE_00C54C: 8D FB 1D STA.W $1DFB ; / Change music CODE_00C54F: C9 FF CMP.B #$FF CODE_00C551: F0 09 BEQ CODE_00C55C CODE_00C553: C0 1E CPY.B #$1E CODE_00C555: D0 05 BNE CODE_00C55C CODE_00C557: A9 24 LDA.B #$24 ; \ Play sound effect CODE_00C559: 8D FC 1D STA.W $1DFC ; / CODE_00C55C: A2 06 LDX.B #$06 CODE_00C55E: BD A8 14 LDA.W $14A8,X CODE_00C561: F0 03 BEQ CODE_00C566 CODE_00C563: DE A8 14 DEC.W $14A8,X CODE_00C566: CA DEX CODE_00C567: D0 F5 BNE CODE_00C55E CODE_00C569: 20 93 C5 JSR.W CODE_00C593 CODE_00C56C: A5 16 LDA $16 CODE_00C56E: 29 20 AND.B #$20 CODE_00C570: F0 1D BEQ CODE_00C58F CODE_00C572: A5 15 LDA RAM_ControllerA CODE_00C574: 29 08 AND.B #$08 CODE_00C576: 80 0D BRA CODE_00C585 ; Change to BEQ to reach debug routine below ADDR_00C578: A5 19 LDA RAM_MarioPowerUp ; \ Unreachable ADDR_00C57A: 1A INC A ; | Debug: Cycle through powerups ADDR_00C57B: C9 04 CMP.B #$04 ; | ADDR_00C57D: 90 02 BCC ADDR_00C581 ; | ADDR_00C57F: A9 00 LDA.B #$00 ; | ADDR_00C581: 85 19 STA RAM_MarioPowerUp ; | ADDR_00C583: 80 0A BRA CODE_00C58F ; / CODE_00C585: 8B PHB CODE_00C586: A9 02 LDA.B #$02 CODE_00C588: 48 PHA CODE_00C589: AB PLB CODE_00C58A: 22 08 80 02 JSL.L CODE_028008 CODE_00C58E: AB PLB CODE_00C58F: 9C 02 14 STZ.W $1402 Return00C592: 60 RTS ; Return CODE_00C593: A5 71 LDA RAM_MarioAnimation CODE_00C595: 22 DF 86 00 JSL.L ExecutePtr AnimationSeqPtr: 68 CC .dw ResetAni ; 0 - Reset 29 D1 .dw PowerDownAni ; 1 - Power down 47 D1 .dw MushroomAni ; 2 - Mushroom power up 5F D1 .dw CapeAni ; 3 - Cape power up 6F D1 .dw FlowerAni ; 4 - Flower power up 97 D1 .dw DoorPipeAni ; 5 - Door/Horizontal pipe exit 03 D2 .dw VertPipeAni ; 6 - Vertical pipe exit 87 D2 .dw PipeCannonAni ; 7 - Shot out of diagonal pipe FD C7 .dw YoshiWingsAni ; 8 - Yoshi wings exit B6 D0 .dw MarioDeathAni ; 9 - Mario Death 70 C8 .dw EnterCastleAni ; A - Enter Castle B5 C5 .dw UnknownAniB ; B - freeze forever E7 C6 .dw UnknownAniC ; C - random movement?? 92 C5 .dw Return00C592 ; D - freeze forever UnknownAniB: 9C DE 13 STZ.W $13DE ;\ CODE_00C5B8: 9C ED 13 STZ.W $13ED ;/ these disable things I think CODE_00C5BB: AD 93 14 LDA.W $1493 ;\ CODE_00C5BE: F0 0E BEQ CODE_00C5CE ;/ if not ending level, CODE_00C5C0: 22 13 AB 0C JSL.L CODE_0CAB13 ; CODE_00C5C4: AD 00 01 LDA.W RAM_GameMode ;\ CODE_00C5C7: C9 14 CMP.B #$14 ;| if at a level, CODE_00C5C9: F0 06 BEQ CODE_00C5D1 ;/ CODE_00C5CB: 4C 5B C9 JMP.W CODE_00C95B ; CODE_00C5CE: 9C 9F 0D STZ.W $0D9F ; no HDMA! CODE_00C5D1: A9 01 LDA.B #$01 ;\ CODE_00C5D3: 8D 88 1B STA.W $1B88 ;/ message box is expanding CODE_00C5D6: A9 07 LDA.B #$07 ;\ CODE_00C5D8: 8D 28 19 STA.W $1928 ;/ CODE_00C5DB: 20 2D F6 JSR.W NoButtons ; No pressing buttons CODE_00C5DE: 4C 24 CD JMP.W CODE_00CD24 ; Mario speeds stuff over there DATA_00C5E1: .db $10,$30,$31,$32,$33,$34,$0E DATA_00C5E8: .db $26 DATA_00C5E9: .db $11,$02,$48,$00,$60,$01,$09,$80 .db $08,$00,$20,$04,$60,$00,$01,$FF .db $01,$02,$48,$00,$60,$41,$2C,$C1 .db $04,$27,$04,$2F,$08,$25,$01,$2F .db $04,$27,$04,$00,$08,$41,$1B,$C1 .db $04,$27,$04,$2F,$08,$25,$01,$2F .db $04,$27,$04,$00,$04,$01,$08,$20 .db $01,$01,$10,$00,$08,$41,$12,$81 .db $0A,$00,$40,$82,$10,$02,$20,$00 .db $30,$01,$01,$00,$50,$22,$01,$FF .db $01,$02,$48,$00,$60,$01,$09,$80 .db $08,$00,$20,$04,$60,$00,$20,$10 .db $20,$01,$58,$00,$2C,$31,$01,$3A .db $10,$31,$01,$3A,$10,$31,$01,$3A .db $20,$28,$A0,$28,$40,$29,$04,$28 .db $04,$29,$04,$28,$04,$29,$04,$28 .db $40,$22,$01,$FF,$01,$02,$48,$00 .db $60,$01,$09,$80,$08,$00,$20,$04 .db $60,$10,$20,$31,$01,$18,$60,$31 .db $01,$3B,$80,$31,$01,$3C,$40,$FF .db $01,$02,$48,$00,$60,$02,$30,$01 .db $84,$00,$20,$23,$01,$01,$16,$02 .db $20,$20,$01,$01,$20,$02,$20,$01 .db $02,$00,$80,$FF,$01,$02,$48,$00 .db $60,$02,$28,$01,$83,$00,$28,$24 .db $01,$02,$01,$00,$FF,$00,$40,$20 .db $01,$00,$40,$02,$60,$00,$30,$FF .db $01,$02,$48,$00,$60,$01,$4E,$00 .db $40,$26,$01,$00,$1E,$20,$01,$00 .db $20,$08,$10,$20,$01,$2D,$18,$00 .db $A0,$20,$01,$2E,$01,$FF DATA_00C6DF: .db $01,$00,$10,$A0,$84,$50,$BC,$D8 UnknownAniC: 20 2D F6 JSR.W NoButtons ; No buttons allowed CODE_00C6EA: 9C DE 13 STZ.W $13DE CODE_00C6ED: 20 2D DC JSR.W CODE_00DC2D CODE_00C6F0: A5 7D LDA RAM_MarioSpeedY ; \ Branch if Mario has upward speed CODE_00C6F2: 30 4B BMI CODE_00C73F ; / CODE_00C6F4: A5 96 LDA RAM_MarioYPos ;\ CODE_00C6F6: C9 58 CMP.B #$58 ;| if mario is at the last 2/3 of the screen(two placeslegit,for 2 high bytes) CODE_00C6F8: B0 3F BCS CODE_00C739 ;/ CODE_00C6FA: A4 94 LDY RAM_MarioXPos ;\ CODE_00C6FC: C0 40 CPY.B #$40 ;| CODE_00C6FE: 90 3F BCC CODE_00C73F ;/ CODE_00C700: C0 60 CPY.B #$60 CODE_00C702: 90 18 BCC CODE_00C71C CODE_00C704: A4 1C LDY RAM_ScreenBndryYLo CODE_00C706: F0 37 BEQ CODE_00C73F CODE_00C708: 18 CLC CODE_00C709: 65 1C ADC RAM_ScreenBndryYLo CODE_00C70B: C9 1C CMP.B #$1C CODE_00C70D: 30 30 BMI CODE_00C73F CODE_00C70F: 38 SEC CODE_00C710: E5 1C SBC RAM_ScreenBndryYLo CODE_00C712: A2 D0 LDX.B #$D0 CODE_00C714: A4 76 LDY RAM_MarioDirection CODE_00C716: F0 18 BEQ CODE_00C730 CODE_00C718: A0 00 LDY.B #$00 CODE_00C71A: 80 12 BRA CODE_00C72E CODE_00C71C: C9 4C CMP.B #$4C CODE_00C71E: 90 1F BCC CODE_00C73F CODE_00C720: A9 1B LDA.B #$1B ; \ Play sound effect CODE_00C722: 8D FC 1D STA.W $1DFC ; / CODE_00C725: EE 3E 14 INC.W RAM_ScrollSprNum CODE_00C728: A9 4C LDA.B #$4C CODE_00C72A: A0 F4 LDY.B #$F4 CODE_00C72C: A2 C0 LDX.B #$C0 CODE_00C72E: 84 7B STY RAM_MarioSpeedX CODE_00C730: 86 7D STX RAM_MarioSpeedY CODE_00C732: A2 01 LDX.B #$01 ; \ Play sound effect CODE_00C734: 8E F9 1D STX.W $1DF9 ; / CODE_00C737: 80 04 BRA CODE_00C73D CODE_00C739: 64 72 STZ RAM_IsFlying CODE_00C73B: A9 58 LDA.B #$58 CODE_00C73D: 85 96 STA RAM_MarioYPos CODE_00C73F: AE C6 13 LDX.W $13C6 CODE_00C742: A5 8F LDA $8F CODE_00C744: 18 CLC CODE_00C745: 7D DF C6 ADC.W DATA_00C6DF,X CODE_00C748: AA TAX CODE_00C749: A5 88 LDA $88 CODE_00C74B: D0 17 BNE CODE_00C764 CODE_00C74D: E6 8F INC $8F CODE_00C74F: E6 8F INC $8F CODE_00C751: E8 INX CODE_00C752: E8 INX CODE_00C753: BD E9 C5 LDA.W DATA_00C5E9,X CODE_00C756: 85 88 STA $88 CODE_00C758: BD E8 C5 LDA.W DATA_00C5E8,X CODE_00C75B: C9 2D CMP.B #$2D CODE_00C75D: D0 05 BNE CODE_00C764 CODE_00C75F: A9 1E LDA.B #$1E ; \ Play sound effect CODE_00C761: 8D F9 1D STA.W $1DF9 ; / CODE_00C764: BD E8 C5 LDA.W DATA_00C5E8,X CODE_00C767: C9 FF CMP.B #$FF CODE_00C769: D0 03 BNE CODE_00C76E CODE_00C76B: 4C F8 C7 JMP.W Return00C7F8 CODE_00C76E: 48 PHA CODE_00C76F: 29 10 AND.B #$10 CODE_00C771: F0 04 BEQ CODE_00C777 CODE_00C773: 22 A4 D4 0C JSL.L CODE_0CD4A4 CODE_00C777: 68 PLA CODE_00C778: A8 TAY CODE_00C779: 29 20 AND.B #$20 CODE_00C77B: D0 0C BNE CODE_00C789 CODE_00C77D: 84 15 STY RAM_ControllerA CODE_00C77F: 98 TYA CODE_00C780: 29 BF AND.B #$BF CODE_00C782: 85 16 STA $16 CODE_00C784: 20 39 CD JSR.W CODE_00CD39 CODE_00C787: 80 6D BRA CODE_00C7F6 CODE_00C789: 98 TYA CODE_00C78A: 29 0F AND.B #$0F CODE_00C78C: C9 07 CMP.B #$07 CODE_00C78E: B0 59 BCS CODE_00C7E9 CODE_00C790: 3A DEC A CODE_00C791: 10 0F BPL CODE_00C7A2 CODE_00C793: AD 98 14 LDA.W RAM_PickUpImgTimer CODE_00C796: F0 05 BEQ CODE_00C79D CODE_00C798: A9 09 LDA.B #$09 ; \ Play sound effect CODE_00C79A: 8D F9 1D STA.W $1DF9 ; / CODE_00C79D: EE 3E 14 INC.W RAM_ScrollSprNum CODE_00C7A0: 80 54 BRA CODE_00C7F6 CODE_00C7A2: D0 05 BNE CODE_00C7A9 CODE_00C7A4: EE 45 14 INC.W $1445 CODE_00C7A7: 80 4D BRA CODE_00C7F6 CODE_00C7A9: 3A DEC A CODE_00C7AA: D0 0A BNE CODE_00C7B6 CODE_00C7AC: A9 0E LDA.B #$0E ; \ Play sound effect CODE_00C7AE: 8D F9 1D STA.W $1DF9 ; / CODE_00C7B1: EE 46 14 INC.W $1446 CODE_00C7B4: 80 40 BRA CODE_00C7F6 CODE_00C7B6: 3A DEC A CODE_00C7B7: D0 07 BNE CODE_00C7C0 CODE_00C7B9: A0 88 LDY.B #$88 CODE_00C7BB: 8C 45 14 STY.W $1445 CODE_00C7BE: 80 36 BRA CODE_00C7F6 CODE_00C7C0: 3A DEC A CODE_00C7C1: D0 0B BNE CODE_00C7CE CODE_00C7C3: A9 38 LDA.B #$38 CODE_00C7C5: 8D 46 14 STA.W $1446 CODE_00C7C8: A9 07 LDA.B #$07 CODE_00C7CA: 14 94 TRB RAM_MarioXPos CODE_00C7CC: 80 28 BRA CODE_00C7F6 CODE_00C7CE: 3A DEC A CODE_00C7CF: D0 0E BNE CODE_00C7DF CODE_00C7D1: A9 09 LDA.B #$09 ; \ Play sound effect CODE_00C7D3: 8D FC 1D STA.W $1DFC ; / CODE_00C7D6: A9 D8 LDA.B #$D8 CODE_00C7D8: 85 7B STA RAM_MarioSpeedX CODE_00C7DA: EE 3E 14 INC.W RAM_ScrollSprNum CODE_00C7DD: 80 BE BRA CODE_00C79D CODE_00C7DF: A9 20 LDA.B #$20 CODE_00C7E1: 8D 98 14 STA.W RAM_PickUpImgTimer CODE_00C7E4: EE 8F 14 INC.W $148F CODE_00C7E7: 80 0D BRA CODE_00C7F6 CODE_00C7E9: A8 TAY CODE_00C7EA: B9 DA C5 LDA.W ADDR_00C5DA,Y CODE_00C7ED: 8D E0 13 STA.W MarioFrame CODE_00C7F0: 9C 8F 14 STZ.W $148F CODE_00C7F3: 20 E4 D7 JSR.W CODE_00D7E4 CODE_00C7F6: C6 88 DEC $88 Return00C7F8: 60 RTS ; Return DATA_00C7F9: .db $C0,$FF,$A0,$00 YoshiWingsAni: 20 2D F6 JSR.W NoButtons CODE_00C800: A9 0B LDA.B #$0B CODE_00C802: 85 72 STA RAM_IsFlying CODE_00C804: 20 E4 D7 JSR.W CODE_00D7E4 CODE_00C807: A5 7D LDA RAM_MarioSpeedY ; \ Branch if Mario has downward speed CODE_00C809: 10 04 BPL CODE_00C80F ; / CODE_00C80B: C9 90 CMP.B #$90 ; \ Branch if Y speed < #$90 CODE_00C80D: 90 05 BCC CODE_00C814 ; / CODE_00C80F: 38 SEC ; \ Y Speed -= #$0D CODE_00C810: E9 0D SBC.B #$0D ; | CODE_00C812: 85 7D STA RAM_MarioSpeedY ; / CODE_00C814: A9 02 LDA.B #$02 CODE_00C816: A4 7B LDY RAM_MarioSpeedX CODE_00C818: F0 0D BEQ CODE_00C827 CODE_00C81A: 30 02 BMI CODE_00C81E CODE_00C81C: A9 FE LDA.B #$FE CODE_00C81E: 18 CLC CODE_00C81F: 65 7B ADC RAM_MarioSpeedX CODE_00C821: 85 7B STA RAM_MarioSpeedX CODE_00C823: 50 02 BVC CODE_00C827 ADDR_00C825: 64 7B STZ RAM_MarioSpeedX CODE_00C827: 20 2D DC JSR.W CODE_00DC2D CODE_00C82A: C2 20 REP #$20 ; Accum (16 bit) CODE_00C82C: AC 95 1B LDY.W $1B95 CODE_00C82F: A5 80 LDA $80 CODE_00C831: D9 F9 C7 CMP.W DATA_00C7F9,Y CODE_00C834: E2 20 SEP #$20 ; Accum (8 bit) CODE_00C836: 10 0D BPL Instr00C845 CODE_00C838: 64 71 STZ RAM_MarioAnimation CODE_00C83A: 98 TYA CODE_00C83B: D0 08 BNE Instr00C845 CODE_00C83D: C8 INY CODE_00C83E: C8 INY CODE_00C83F: 8C 95 1B STY.W $1B95 CODE_00C842: 20 73 D2 JSR.W CODE_00D273 Instr00C845: .db $4C,$8F,$CD DATA_00C848: .db $01,$5F,$00,$30,$08,$30,$00,$20 .db $40,$01,$00,$30,$01,$80,$FF,$01 .db $3F,$00,$30,$20,$01,$80,$06,$00 .db $3A,$01,$38,$00,$30,$08,$30,$00 .db $20,$40,$01,$00,$30,$01,$80,$FF EnterCastleAni: 9C E2 13 STZ.W $13E2 ; Timer of some sort CODE_00C873: AE 31 19 LDX.W $1931 ;\ CODE_00C876: 3C 25 A6 BIT.W DATA_00A625,X ;| CODE_00C879: 30 0E BMI CODE_00C889 ;| Probably what GFX/Tileset music to load CODE_00C87B: 70 06 BVS ADDR_00C883 ;/ CODE_00C87D: 22 7C F5 02 JSL.L CODE_02F57C CODE_00C881: 80 0A BRA CODE_00C88D ADDR_00C883: 22 8C F5 02 JSL.L ADDR_02F58C ADDR_00C887: 80 04 BRA CODE_00C88D CODE_00C889: 22 84 F5 02 JSL.L CODE_02F584 CODE_00C88D: A6 88 LDX $88 CODE_00C88F: A5 16 LDA $16 CODE_00C891: 05 18 ORA $18 CODE_00C893: 20 2D F6 JSR.W NoButtons CODE_00C896: 30 63 BMI CODE_00C8FB CODE_00C898: 9C DE 13 STZ.W $13DE CODE_00C89B: C6 89 DEC $89 CODE_00C89D: D0 09 BNE CODE_00C8A8 CODE_00C89F: E8 INX CODE_00C8A0: E8 INX CODE_00C8A1: 86 88 STX $88 CODE_00C8A3: BD 47 C8 LDA.W ADDR_00C847,X CODE_00C8A6: 85 89 STA $89 CODE_00C8A8: BD 46 C8 LDA.W ADDR_00C846,X CODE_00C8AB: C9 FF CMP.B #$FF CODE_00C8AD: F0 4C BEQ CODE_00C8FB CODE_00C8AF: 29 DF AND.B #$DF CODE_00C8B1: 85 15 STA RAM_ControllerA CODE_00C8B3: DD 46 C8 CMP.W ADDR_00C846,X CODE_00C8B6: F0 04 BEQ CODE_00C8BC CODE_00C8B8: A0 80 LDY.B #$80 CODE_00C8BA: 84 18 STY $18 CODE_00C8BC: 0A ASL CODE_00C8BD: 10 12 BPL CODE_00C8D1 CODE_00C8BF: 20 2D F6 JSR.W NoButtons CODE_00C8C2: A0 B0 LDY.B #$B0 CODE_00C8C4: AE 31 19 LDX.W $1931 CODE_00C8C7: 3C 25 A6 BIT.W DATA_00A625,X CODE_00C8CA: 30 02 BMI CODE_00C8CE CODE_00C8CC: A0 7F LDY.B #$7F CODE_00C8CE: 8C D9 18 STY.W $18D9 CODE_00C8D1: 20 2D DC JSR.W CODE_00DC2D CODE_00C8D4: A9 24 LDA.B #$24 CODE_00C8D6: 85 72 STA RAM_IsFlying CODE_00C8D8: A9 6F LDA.B #$6F CODE_00C8DA: AC 7A 18 LDY.W RAM_OnYoshi CODE_00C8DD: F0 02 BEQ CODE_00C8E1 CODE_00C8DF: A9 5F LDA.B #$5F CODE_00C8E1: AE 31 19 LDX.W $1931 CODE_00C8E4: 3C 25 A6 BIT.W DATA_00A625,X CODE_00C8E7: 50 03 BVC CODE_00C8EC ADDR_00C8E9: 38 SEC ADDR_00C8EA: E9 10 SBC.B #$10 CODE_00C8EC: C5 96 CMP RAM_MarioYPos CODE_00C8EE: B0 08 BCS CODE_00C8F8 CODE_00C8F0: 1A INC A CODE_00C8F1: 85 96 STA RAM_MarioYPos CODE_00C8F3: 64 72 STZ RAM_IsFlying CODE_00C8F5: 9C 0D 14 STZ.W RAM_IsSpinJump CODE_00C8F8: 4C 82 CD JMP.W CODE_00CD82 CODE_00C8FB: EE 1D 14 INC.W $141D CODE_00C8FE: A9 0F LDA.B #$0F CODE_00C900: 8D 00 01 STA.W RAM_GameMode CODE_00C903: E0 11 CPX.B #$11 CODE_00C905: 90 03 BCC CODE_00C90A CODE_00C907: EE C1 0D INC.W RAM_OWHasYoshi CODE_00C90A: A9 01 LDA.B #$01 CODE_00C90C: 8D 9B 1B STA.W $1B9B CODE_00C90F: A9 03 LDA.B #$03 ; \ Play sound effect CODE_00C911: 8D FA 1D STA.W $1DFA ; / Return00C914: 60 RTS ; Return CODE_00C915: 20 2D F6 JSR.W NoButtons CODE_00C918: 9C C2 18 STZ.W $18C2 CODE_00C91B: 9C DE 13 STZ.W $13DE CODE_00C91E: 9C ED 13 STZ.W $13ED CODE_00C921: A5 5B LDA RAM_IsVerticalLvl CODE_00C923: 4A LSR CODE_00C924: B0 1E BCS CODE_00C944 CODE_00C926: AD C6 13 LDA.W $13C6 CODE_00C929: 0D D2 13 ORA.W $13D2 CODE_00C92C: F0 3D BEQ CODE_00C96B CODE_00C92E: A5 72 LDA RAM_IsFlying CODE_00C930: F0 03 BEQ CODE_00C935 ADDR_00C932: 20 E0 CC JSR.W CODE_00CCE0 CODE_00C935: AD D2 13 LDA.W $13D2 CODE_00C938: D0 0E BNE CODE_00C948 CODE_00C93A: 20 3E B0 JSR.W CODE_00B03E CODE_00C93D: AD 95 14 LDA.W $1495 CODE_00C940: C9 40 CMP.B #$40 CODE_00C942: 90 26 BCC Return00C96A CODE_00C944: 22 FF CB 05 JSL.L CODE_05CBFF CODE_00C948: A0 01 LDY.B #$01 CODE_00C94A: 84 9D STY RAM_SpritesLocked CODE_00C94C: A5 13 LDA RAM_FrameCounter CODE_00C94E: 4A LSR CODE_00C94F: 90 19 BCC Return00C96A CODE_00C951: CE 93 14 DEC.W $1493 CODE_00C954: D0 14 BNE Return00C96A CODE_00C956: AD D2 13 LDA.W $13D2 CODE_00C959: D0 07 BNE CODE_00C962 CODE_00C95B: A0 0B LDY.B #$0B CODE_00C95D: A9 01 LDA.B #$01 CODE_00C95F: 4C FE C9 JMP.W CODE_00C9FE CODE_00C962: A9 A0 LDA.B #$A0 CODE_00C964: 8D F5 1D STA.W $1DF5 CODE_00C967: EE 26 14 INC.W $1426 Return00C96A: 60 RTS ; Return CODE_00C96B: 20 17 AF JSR.W CODE_00AF17 CODE_00C96E: AD 99 1B LDA.W $1B99 CODE_00C971: D0 3C BNE CODE_00C9AF CODE_00C973: AD 93 14 LDA.W $1493 CODE_00C976: C9 28 CMP.B #$28 CODE_00C978: 90 0A BCC CODE_00C984 CODE_00C97A: A9 01 LDA.B #$01 CODE_00C97C: 85 76 STA RAM_MarioDirection CODE_00C97E: 85 15 STA RAM_ControllerA CODE_00C980: A9 05 LDA.B #$05 CODE_00C982: 85 7B STA RAM_MarioSpeedX CODE_00C984: A5 72 LDA RAM_IsFlying CODE_00C986: F0 03 BEQ CODE_00C98B CODE_00C988: 20 6B D7 JSR.W CODE_00D76B CODE_00C98B: A5 7B LDA RAM_MarioSpeedX CODE_00C98D: D0 15 BNE Instr00C9A4 CODE_00C98F: 9C 11 14 STZ.W $1411 CODE_00C992: 20 3E CA JSR.W CODE_00CA3E CODE_00C995: EE 99 1B INC.W $1B99 CODE_00C998: A9 40 LDA.B #$40 CODE_00C99A: 8D 92 14 STA.W $1492 CODE_00C99D: 0A ASL CODE_00C99E: 8D 94 14 STA.W $1494 CODE_00C9A1: 9C 95 14 STZ.W $1495 Instr00C9A4: .db $4C,$24,$CD DATA_00C9A7: .db $25,$07,$40,$0E,$20,$1A,$34,$32 CODE_00C9AF: 20 31 CA JSR.W SetMarioPeaceImg CODE_00C9B2: AD 92 14 LDA.W $1492 CODE_00C9B5: F0 0B BEQ CODE_00C9C2 CODE_00C9B7: CE 92 14 DEC.W $1492 CODE_00C9BA: D0 05 BNE Return00C9C1 CODE_00C9BC: A9 11 LDA.B #$11 CODE_00C9BE: 8D FB 1D STA.W $1DFB ; / Change music Return00C9C1: 60 RTS ; Return CODE_00C9C2: 20 44 CA JSR.W CODE_00CA44 CODE_00C9C5: A9 01 LDA.B #$01 CODE_00C9C7: 85 15 STA RAM_ControllerA CODE_00C9C9: 20 24 CD JSR.W CODE_00CD24 CODE_00C9CC: AD 33 14 LDA.W $1433 CODE_00C9CF: D0 5F BNE Return00CA30 CODE_00C9D1: AD 1C 14 LDA.W $141C ; \ Branch if Goal Tape extra bits == #$02 CODE_00C9D4: 1A INC A ; | (never happens) CODE_00C9D5: C9 03 CMP.B #$03 ; | CODE_00C9D7: D0 06 BNE CODE_00C9DF ; / ADDR_00C9D9: A9 01 LDA.B #$01 ; \ Unreachable ADDR_00C9DB: 8D 11 1F STA.W $1F11 ; | Set submap to be Yoshi's Island ADDR_00C9DE: 4A LSR ; / CODE_00C9DF: A0 0C LDY.B #$0C CODE_00C9E1: AE 25 14 LDX.W $1425 CODE_00C9E4: F0 12 BEQ CODE_00C9F8 CODE_00C9E6: A2 FF LDX.B #$FF CODE_00C9E8: 8E 25 14 STX.W $1425 CODE_00C9EB: A2 F0 LDX.B #$F0 CODE_00C9ED: 8E B0 0D STX.W $0DB0 CODE_00C9F0: 9C 93 14 STZ.W $1493 CODE_00C9F3: 9C DA 0D STZ.W $0DDA CODE_00C9F6: A0 10 LDY.B #$10 CODE_00C9F8: 9C AE 0D STZ.W $0DAE CODE_00C9FB: 9C AF 0D STZ.W $0DAF CODE_00C9FE: 8D D5 0D STA.W $0DD5 ; Store secret/normal exit info CODE_00CA01: AD C6 13 LDA.W $13C6 CODE_00CA04: F0 1F BEQ CODE_00CA25 CODE_00CA06: A2 08 LDX.B #$08 CODE_00CA08: AD BF 13 LDA.W $13BF CODE_00CA0B: C9 13 CMP.B #$13 CODE_00CA0D: D0 03 BNE CODE_00CA12 CODE_00CA0F: EE D5 0D INC.W $0DD5 CODE_00CA12: C9 31 CMP.B #$31 CODE_00CA14: F0 0A BEQ CODE_00CA20 CODE_00CA16: DD A6 C9 CMP.W ADDR_00C9A6,X CODE_00CA19: F0 05 BEQ CODE_00CA20 CODE_00CA1B: CA DEX CODE_00CA1C: D0 F8 BNE CODE_00CA16 CODE_00CA1E: 80 05 BRA CODE_00CA25 CODE_00CA20: 8E C6 13 STX.W $13C6 CODE_00CA23: A0 18 LDY.B #$18 CODE_00CA25: 8C 00 01 STY.W RAM_GameMode CODE_00CA28: EE E9 1D INC.W $1DE9 CODE_00CA2B: A9 01 LDA.B #$01 CODE_00CA2D: 8D CE 13 STA.W $13CE Return00CA30: 60 RTS ; Return SetMarioPeaceImg: A9 26 LDA.B #$26 ; \ Mario's image = Peace Sign, or CODE_00CA33: AC 7A 18 LDY.W RAM_OnYoshi ; | CODE_00CA36: F0 02 BEQ CODE_00CA3A ; | CODE_00CA38: A9 14 LDA.B #$14 ; | Mario's image = Peace Sign on Yoshi CODE_00CA3A: 8D E0 13 STA.W MarioFrame ; / Return00CA3D: 60 RTS ; Return CODE_00CA3E: A9 F0 LDA.B #$F0 CODE_00CA40: 8D 33 14 STA.W $1433 Return00CA43: 60 RTS ; Return CODE_00CA44: AD 33 14 LDA.W $1433 CODE_00CA47: D0 01 BNE CODE_00CA4A Return00CA49: 60 RTS ; Return CODE_00CA4A: 20 61 CA JSR.W CODE_00CA61 CODE_00CA4D: A9 FC LDA.B #$FC CODE_00CA4F: 20 6D CA JSR.W CODE_00CA6D CODE_00CA52: A9 33 LDA.B #$33 CODE_00CA54: 85 41 STA $41 CODE_00CA56: 85 43 STA $43 CODE_00CA58: A9 03 LDA.B #$03 CODE_00CA5A: 85 42 STA $42 CODE_00CA5C: A9 22 LDA.B #$22 CODE_00CA5E: 85 44 STA $44 Return00CA60: 60 RTS ; Return CODE_00CA61: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_00CA63: A9 12 CB LDA.W #$CB12 ; \ CODE_00CA66: 85 04 STA $04 ; |Load xCB12 into $04 and $06 CODE_00CA68: 85 06 STA $06 ; / CODE_00CA6A: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) Return00CA6C: 60 RTS ; Return CODE_00CA6D: 18 CLC CODE_00CA6E: 6D 33 14 ADC.W $1433 CODE_00CA71: 8D 33 14 STA.W $1433 CODE_00CA74: A5 7E LDA $7E CODE_00CA76: 18 CLC CODE_00CA77: 69 08 ADC.B #$08 CODE_00CA79: 85 00 STA $00 CODE_00CA7B: A9 18 LDA.B #$18 CODE_00CA7D: A4 19 LDY RAM_MarioPowerUp CODE_00CA7F: F0 02 BEQ CODE_00CA83 CODE_00CA81: A9 10 LDA.B #$10 CODE_00CA83: 18 CLC CODE_00CA84: 65 80 ADC $80 CODE_00CA86: 85 01 STA $01 CODE_00CA88: C2 30 REP #$30 ; 16 bit A ; Index (16 bit) Accum (16 bit) CODE_00CA8A: 29 FF 00 AND.W #$00FF ; Keep lower byte of A CODE_00CA8D: 0A ASL ; \ CODE_00CA8E: 3A DEC A ; |Set Y to ((2A-1)*2) CODE_00CA8F: 0A ASL ; | CODE_00CA90: A8 TAY ; / CODE_00CA91: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_00CA93: A2 00 00 LDX.W #$0000 CODE_00CA96: A5 01 LDA $01 CODE_00CA98: CD 33 14 CMP.W $1433 CODE_00CA9B: 90 20 BCC CODE_00CABD CODE_00CA9D: A9 FF LDA.B #$FF CODE_00CA9F: 9D A0 04 STA.W $04A0,X CODE_00CAA2: 9E A1 04 STZ.W $04A1,X CODE_00CAA5: C0 C0 01 CPY.W #$01C0 CODE_00CAA8: B0 07 BCS CODE_00CAB1 CODE_00CAAA: 99 A0 04 STA.W $04A0,Y CODE_00CAAD: 1A INC A CODE_00CAAE: 99 A1 04 STA.W $04A1,Y CODE_00CAB1: E8 INX CODE_00CAB2: E8 INX CODE_00CAB3: 88 DEY CODE_00CAB4: 88 DEY CODE_00CAB5: A5 01 LDA $01 CODE_00CAB7: F0 51 BEQ CODE_00CB0A CODE_00CAB9: C6 01 DEC $01 CODE_00CABB: 80 D9 BRA CODE_00CA96 CODE_00CABD: 20 14 CC JSR.W CODE_00CC14 CODE_00CAC0: 18 CLC CODE_00CAC1: 65 00 ADC $00 CODE_00CAC3: 90 02 BCC CODE_00CAC7 CODE_00CAC5: A9 FF LDA.B #$FF CODE_00CAC7: 9D A1 04 STA.W $04A1,X CODE_00CACA: A5 00 LDA $00 CODE_00CACC: 38 SEC CODE_00CACD: E5 02 SBC $02 CODE_00CACF: B0 02 BCS CODE_00CAD3 CODE_00CAD1: A9 00 LDA.B #$00 CODE_00CAD3: 9D A0 04 STA.W $04A0,X CODE_00CAD6: C0 E0 01 CPY.W #$01E0 CODE_00CAD9: B0 23 BCS CODE_00CAFE CODE_00CADB: A5 07 LDA $07 CODE_00CADD: D0 08 BNE CODE_00CAE7 CODE_00CADF: A9 00 LDA.B #$00 CODE_00CAE1: 99 A1 04 STA.W $04A1,Y CODE_00CAE4: 3A DEC A CODE_00CAE5: 80 14 BRA CODE_00CAFB CODE_00CAE7: A5 03 LDA $03 CODE_00CAE9: 65 00 ADC $00 CODE_00CAEB: 90 02 BCC CODE_00CAEF CODE_00CAED: A9 FF LDA.B #$FF CODE_00CAEF: 99 A1 04 STA.W $04A1,Y CODE_00CAF2: A5 00 LDA $00 CODE_00CAF4: 38 SEC CODE_00CAF5: E5 03 SBC $03 CODE_00CAF7: B0 02 BCS CODE_00CAFB CODE_00CAF9: A9 00 LDA.B #$00 CODE_00CAFB: 99 A0 04 STA.W $04A0,Y CODE_00CAFE: E8 INX CODE_00CAFF: E8 INX CODE_00CB00: 88 DEY CODE_00CB01: 88 DEY CODE_00CB02: A5 01 LDA $01 CODE_00CB04: F0 04 BEQ CODE_00CB0A CODE_00CB06: C6 01 DEC $01 CODE_00CB08: D0 B3 BNE CODE_00CABD CODE_00CB0A: A9 80 LDA.B #$80 CODE_00CB0C: 8D 9F 0D STA.W $0D9F CODE_00CB0F: E2 10 SEP #$10 ; Index (8 bit) Return00CB11: 60 RTS ; Return DATA_00CB12: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FE,$FE,$FE,$FE .db $FD,$FD,$FD,$FD,$FC,$FC,$FC,$FB .db $FB,$FB,$FA,$FA,$F9,$F9,$F8,$F8 .db $F7,$F7,$F6,$F6,$F5,$F5,$F4,$F3 .db $F3,$F2,$F1,$F1,$F0,$EF,$EE,$EE .db $ED,$EC,$EB,$EA,$E9,$E9,$E8,$E7 .db $E6,$E5,$E4,$E3,$E2,$E1,$DF,$DE .db $DD,$DC,$DB,$DA,$D8,$D7,$D6,$D5 .db $D3,$D2,$D0,$CF,$CD,$CC,$CA,$C9 .db $C7,$C6,$C4,$C2,$C1,$BF,$BD,$BB .db $B9,$B7,$B6,$B4,$B1,$AF,$AD,$AB .db $A9,$A7,$A4,$A2,$9F,$9D,$9A,$97 .db $95,$92,$8F,$8C,$89,$86,$82,$7F .db $7B,$78,$74,$70,$6C,$67,$63,$5E .db $59,$53,$4D,$46,$3F,$37,$2D,$1F .db $00,$54,$53,$52,$52,$51,$50,$50 .db $4F,$4E,$4E,$4D,$4C,$4C,$4B,$4A .db $4A,$4B,$48,$48,$47,$46,$46,$45 .db $44,$44,$43,$42,$42,$41,$40,$40 .db $3F,$3E,$3E,$3D,$3C,$3C,$3B,$3A .db $3A,$39,$38,$38,$37,$36,$36,$35 .db $34,$34,$33,$32,$32,$31,$33,$35 .db $38,$3A,$3C,$3E,$3F,$41,$43,$44 .db $45,$47,$48,$49,$4A,$4B,$4C,$4D .db $4E,$4E,$4F,$50,$50,$51,$51,$52 .db $52,$53,$53,$53,$53,$53,$53,$53 .db $53,$53,$53,$53,$53,$53,$52,$52 .db $51,$51,$50,$50,$4F,$4E,$4E,$4D .db $4C,$4B,$4A,$49,$48,$47,$45,$44 .db $43,$41,$3F,$3E,$3C,$3A,$38,$35 .db $33,$30,$2D,$2A,$26,$23,$1E,$18 .db $11,$00 CODE_00CC14: 5A PHY CODE_00CC15: A5 01 LDA $01 CODE_00CC17: 8D 05 42 STA.W $4205 ; Dividend (High-Byte) CODE_00CC1A: 9C 04 42 STZ.W $4204 ; Dividend (Low Byte) CODE_00CC1D: AD 33 14 LDA.W $1433 CODE_00CC20: 8D 06 42 STA.W $4206 ; Divisor B CODE_00CC23: EA NOP CODE_00CC24: EA NOP CODE_00CC25: EA NOP CODE_00CC26: EA NOP CODE_00CC27: EA NOP CODE_00CC28: EA NOP CODE_00CC29: C2 20 REP #$20 ; Accum (16 bit) CODE_00CC2B: AD 14 42 LDA.W $4214 ; Quotient of Divide Result (Low Byte) CODE_00CC2E: 4A LSR CODE_00CC2F: A8 TAY CODE_00CC30: E2 20 SEP #$20 ; Accum (8 bit) CODE_00CC32: B1 06 LDA ($06),Y CODE_00CC34: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_00CC37: AD 33 14 LDA.W $1433 CODE_00CC3A: 8D 03 42 STA.W $4203 ; Multplier B CODE_00CC3D: EA NOP CODE_00CC3E: EA NOP CODE_00CC3F: EA NOP CODE_00CC40: EA NOP CODE_00CC41: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_00CC44: 85 03 STA $03 CODE_00CC46: B1 04 LDA ($04),Y CODE_00CC48: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_00CC4B: AD 33 14 LDA.W $1433 CODE_00CC4E: 8D 03 42 STA.W $4203 ; Multplier B CODE_00CC51: EA NOP CODE_00CC52: EA NOP CODE_00CC53: EA NOP CODE_00CC54: EA NOP CODE_00CC55: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_00CC58: 85 02 STA $02 CODE_00CC5A: 7A PLY Return00CC5B: 60 RTS ; Return DATA_00CC5C: .db $00,$00,$00,$00,$02,$00,$06,$00 .db $FE,$FF,$FA,$FF ResetAni: A5 17 LDA RAM_ControllerB CODE_00CC6A: 29 20 AND.B #$20 CODE_00CC6C: F0 13 BEQ CODE_00CC81 CODE_00CC6E: A5 18 LDA $18 CODE_00CC70: C9 80 CMP.B #$80 CODE_00CC72: D0 0D BNE CODE_00CC81 ADDR_00CC74: EE 01 1E INC.W $1E01 ADDR_00CC77: AD 01 1E LDA.W $1E01 ADDR_00CC7A: C9 03 CMP.B #$03 ADDR_00CC7C: 90 03 BCC CODE_00CC81 ADDR_00CC7E: 9C 01 1E STZ.W $1E01 CODE_00CC81: AD 01 1E LDA.W $1E01 CODE_00CC84: 80 35 BRA CODE_00CCBB ; Change to BEQ to enable debug code below ADDR_00CC86: 4A LSR ; \ Unreachable ADDR_00CC87: F0 2A BEQ ADDR_00CCB3 ; | Debug: Free roaming mode ADDR_00CC89: A9 FF LDA.B #$FF ; | ADDR_00CC8B: 8D 97 14 STA.W $1497 ; | ADDR_00CC8E: A5 15 LDA RAM_ControllerA ; | ADDR_00CC90: 29 03 AND.B #$03 ; | ADDR_00CC92: 0A ASL ; | ADDR_00CC93: 0A ASL ; | ADDR_00CC94: A2 00 LDX.B #$00 ; | ADDR_00CC96: 20 9F CC JSR.W ADDR_00CC9F ; | ADDR_00CC99: A5 15 LDA RAM_ControllerA ; | ADDR_00CC9B: 29 0C AND.B #$0C ; | ADDR_00CC9D: A2 02 LDX.B #$02 ; | ADDR_00CC9F: 24 15 BIT RAM_ControllerA ; | ADDR_00CCA1: 50 02 BVC ADDR_00CCA5 ; | ADDR_00CCA3: 09 02 ORA.B #$02 ; | ADDR_00CCA5: A8 TAY ; | ADDR_00CCA6: C2 20 REP #$20 ; | Accum (16 bit) ; Accum (16 bit) ADDR_00CCA8: B5 94 LDA RAM_MarioXPos,X ; | ADDR_00CCAA: 18 CLC ; | ADDR_00CCAB: 79 5C CC ADC.W DATA_00CC5C,Y ; | ADDR_00CCAE: 95 94 STA RAM_MarioXPos,X ; | ADDR_00CCB0: E2 20 SEP #$20 ; | Accum (8 bit) ; Accum (8 bit) Return00CCB2: 60 RTS ; / Return ADDR_00CCB3: A9 70 LDA.B #$70 ADDR_00CCB5: 8D E4 13 STA.W $13E4 ADDR_00CCB8: 8D 9F 14 STA.W $149F CODE_00CCBB: AD 93 14 LDA.W $1493 CODE_00CCBE: F0 03 BEQ CODE_00CCC3 CODE_00CCC0: 4C 15 C9 JMP.W CODE_00C915 CODE_00CCC3: 20 DD CD JSR.W CODE_00CDDD CODE_00CCC6: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_00CCC8: D0 15 BNE Return00CCDF ; / CODE_00CCCA: 9C E8 13 STZ.W $13E8 ; don't run interation with cape CODE_00CCCD: 9C DE 13 STZ.W $13DE ; CODE_00CCD0: AD BD 18 LDA.W RAM_LockMarioTimer ; \ If lock Mario timer is set... CODE_00CCD3: F0 0B BEQ CODE_00CCE0 ; | CODE_00CCD5: CE BD 18 DEC.W RAM_LockMarioTimer ; | Decrease the timer CODE_00CCD8: 64 7B STZ RAM_MarioSpeedX ; | X speed = 0 CODE_00CCDA: A9 0F LDA.B #$0F ; | Mario's image = Going down tube CODE_00CCDC: 8D E0 13 STA.W MarioFrame ; / Return00CCDF: 60 RTS ; Return CODE_00CCE0: AD 9B 0D LDA.W $0D9B ;\ if running game and not on bosses and such CODE_00CCE3: 10 3F BPL CODE_00CD24 ;/ CODE_00CCE5: 4A LSR ;\ CODE_00CCE6: B0 3C BCS CODE_00CD24 ;/ CODE_00CCE8: 2C 9B 0D BIT.W $0D9B CODE_00CCEB: 70 2F BVS CODE_00CD1C CODE_00CCED: A5 72 LDA RAM_IsFlying ; \If mario is flying jump CODE_00CCEF: D0 2B BNE CODE_00CD1C ; /to CODE_00CCF1: C2 20 REP #$20 ; Accum (16 bit) CODE_00CCF3: AD 36 14 LDA.W RAM_KeyHolePos1 ;\Set Marios position to CODE_00CCF6: 85 94 STA RAM_MarioXPos ;|the keyhole position(16bit) CODE_00CCF8: AD 38 14 LDA.W RAM_KeyHolePos2 ;| CODE_00CCFB: 85 96 STA RAM_MarioYPos ;/ CODE_00CCFD: E2 20 SEP #$20 ; Accum (8 bit) CODE_00CCFF: 20 2D DC JSR.W CODE_00DC2D CODE_00CD02: C2 20 REP #$20 ; Accum (16 bit) CODE_00CD04: A5 94 LDA RAM_MarioXPos ;\ CODE_00CD06: 8D 36 14 STA.W RAM_KeyHolePos1 ;|Set the x,y position CODE_00CD09: 8D B4 14 STA.W $14B4 ;|to keyhole position CODE_00CD0C: A5 96 LDA RAM_MarioYPos ;|But only transfer first CODE_00CD0E: 29 F0 FF AND.W #$FFF0 ;|12 bits of y position. CODE_00CD11: 8D 38 14 STA.W RAM_KeyHolePos2 ;| CODE_00CD14: 8D B6 14 STA.W $14B6 ;/ CODE_00CD17: 20 C9 F9 JSR.W CODE_00F9C9 CODE_00CD1A: 80 03 BRA CODE_00CD1F CODE_00CD1C: 20 2D DC JSR.W CODE_00DC2D ; Accum (8 bit) CODE_00CD1F: 20 F2 F8 JSR.W CODE_00F8F2 CODE_00CD22: 80 12 BRA CODE_00CD36 CODE_00CD24: A5 7D LDA RAM_MarioSpeedY ; \ Branch if Mario has downward speed to CODE_00CD26: 10 08 BPL CODE_00CD30 ; | Skip checking is mario is blocked vertically. CODE_00CD28: A5 77 LDA RAM_MarioObjStatus ; |load mario's colision with objects to check CODE_00CD2A: 29 08 AND.B #$08 ; |If mario isn't blocked upward so he can CODE_00CD2C: F0 02 BEQ CODE_00CD30 ; |retain his Y speed (to keep wall walking?). CODE_00CD2E: 64 7D STZ RAM_MarioSpeedY ; Y speed = 0 CODE_00CD30: 20 2D DC JSR.W CODE_00DC2D ; |set mario's Y speed using his x acceleration? CODE_00CD33: 20 2B E9 JSR.W CODE_00E92B CODE_00CD36: 20 95 F5 JSR.W CODE_00F595 CODE_00CD39: 9C DD 13 STZ.W RAM_ChangingDir CODE_00CD3C: AC F3 13 LDY.W $13F3 CODE_00CD3F: D0 54 BNE CODE_00CD95 CODE_00CD41: AD BE 18 LDA.W $18BE CODE_00CD44: F0 04 BEQ CODE_00CD4A CODE_00CD46: A9 1F LDA.B #$1F CODE_00CD48: 85 8B STA $8B CODE_00CD4A: A5 74 LDA RAM_IsClimbing CODE_00CD4C: D0 24 BNE CODE_00CD72 CODE_00CD4E: AD 8F 14 LDA.W $148F If mario isn't holding something or riding yoshi CODE_00CD51: 0D 7A 18 ORA.W RAM_OnYoshi jump to the status tests to determine his physical abilities CODE_00CD54: D0 23 BNE CODE_00CD79 else, continue on. CODE_00CD56: A5 8B LDA $8B CODE_00CD58: 29 1B AND.B #$1B CODE_00CD5A: C9 1B CMP.B #$1B CODE_00CD5C: D0 1B BNE CODE_00CD79 CODE_00CD5E: A5 15 LDA RAM_ControllerA CODE_00CD60: 29 0C AND.B #$0C CODE_00CD62: F0 15 BEQ CODE_00CD79 CODE_00CD64: A4 72 LDY RAM_IsFlying CODE_00CD66: D0 0A BNE CODE_00CD72 CODE_00CD68: 29 08 AND.B #$08 CODE_00CD6A: D0 06 BNE CODE_00CD72 ADDR_00CD6C: A5 8B LDA $8B ADDR_00CD6E: 29 04 AND.B #$04 ADDR_00CD70: F0 07 BEQ CODE_00CD79 CODE_00CD72: A5 8B LDA $8B CODE_00CD74: 85 74 STA RAM_IsClimbing CODE_00CD76: 4C 17 DB JMP.W CODE_00DB17 CODE_00CD79: A5 75 LDA RAM_IsSwimming ;\If Mario is not swimming CODE_00CD7B: F0 05 BEQ CODE_00CD82 ;|do more status tests CODE_00CD7D: 20 88 D9 JSR.W CODE_00D988 ;|if not do status checks for underwater situations CODE_00CD80: 80 0D BRA CODE_00CD8F ;/and jump to a yoshi check CODE_00CD82: 20 F2 D5 JSR.W CODE_00D5F2 ;|Generic check/physic CODE_00CD85: 20 62 D0 JSR.W CODE_00D062 ;|powerup specific checks/physics CODE_00CD88: 20 E4 D7 JSR.W CODE_00D7E4 ;|Flying checks/physics CODE_00CD8B: 22 B1 CE 00 JSL.L CODE_00CEB1 ;|Decompiling Glitch??? CODE_00CD8F: AC 7A 18 LDY.W RAM_OnYoshi ;|Jump to yoshi-specific code CODE_00CD92: D0 19 BNE CODE_00CDAD ;|if currently riding yoshi. Return00CD94: 60 RTS ; Return CODE_00CD95: A9 42 LDA.B #$42 ;\ CODE_00CD97: A6 19 LDX RAM_MarioPowerUp ;| handle mario's image for going down a tube CODE_00CD99: F0 02 BEQ CODE_00CD9D ;| CODE_00CD9B: A9 43 LDA.B #$43 ;| CODE_00CD9D: 88 DEY ;| CODE_00CD9E: F0 05 BEQ CODE_00CDA5 ;| CODE_00CDA0: 8C F3 13 STY.W $13F3 ;/ CODE_00CDA3: A9 0F LDA.B #$0F ; \ Mario's image = Going down tube CODE_00CDA5: 8D E0 13 STA.W MarioFrame ; / CODE_00CDA8: 60 RTS OnYoshiAnimations: .db $20,$21,$27,$28 CODE_00CDAD: AE A3 14 LDX.W $14A3 CODE_00CDB0: F0 08 BEQ CODE_00CDBA CODE_00CDB2: A0 03 LDY.B #$03 CODE_00CDB4: E0 0C CPX.B #$0C CODE_00CDB6: B0 02 BCS CODE_00CDBA CODE_00CDB8: A0 04 LDY.B #$04 CODE_00CDBA: B9 A8 CD LDA.W CODE_00CDA8,Y CODE_00CDBD: 88 DEY CODE_00CDBE: D0 06 BNE CODE_00CDC6 CODE_00CDC0: A4 73 LDY RAM_IsDucking CODE_00CDC2: F0 02 BEQ CODE_00CDC6 CODE_00CDC4: A9 1D LDA.B #$1D ; \ Mario's image = Picking up object CODE_00CDC6: 8D E0 13 STA.W MarioFrame ; / CODE_00CDC9: AD 1E 14 LDA.W RAM_YoshiHasWings ; \ Check Yoshi wing ability address for #$01, CODE_00CDCC: C9 01 CMP.B #$01 ; / but this is an impossible value CODE_00CDCE: D0 0C BNE Return00CDDC ; \ Unreachable/unused code ADDR_00CDD0: 24 16 BIT $16 ; | Lets Mario (any power) shoot fireballs while on Yoshi ADDR_00CDD2: 50 08 BVC Return00CDDC ; | ADDR_00CDD4: A9 08 LDA.B #$08 ; | ADDR_00CDD6: 8D DB 18 STA.W $18DB ; | ADDR_00CDD9: 20 A8 FE JSR.W ShootFireball ; / Return00CDDC: 60 RTS ; Return CODE_00CDDD: AD 11 14 LDA.W $1411 CODE_00CDE0: F0 FA BEQ Return00CDDC CODE_00CDE2: AC FE 13 LDY.W $13FE CODE_00CDE5: AD FD 13 LDA.W $13FD CODE_00CDE8: 85 9D STA RAM_SpritesLocked CODE_00CDEA: D0 60 BNE CODE_00CE4C CODE_00CDEC: AD 00 14 LDA.W $1400 CODE_00CDEF: F0 05 BEQ CODE_00CDF6 CODE_00CDF1: 9C FE 13 STZ.W $13FE CODE_00CDF4: 80 52 BRA CODE_00CE48 CODE_00CDF6: A5 17 LDA RAM_ControllerB ; \ Branch if anything besides L/R being held CODE_00CDF8: 29 CF AND.B #$CF ; | CODE_00CDFA: 05 15 ORA RAM_ControllerA ; | CODE_00CDFC: D0 4B BNE CODE_00CE49 ; / CODE_00CDFE: A5 17 LDA RAM_ControllerB ; \ Branch if L/R not being held CODE_00CE00: 29 30 AND.B #$30 ; | CODE_00CE02: F0 45 BEQ CODE_00CE49 ; | CODE_00CE04: C9 30 CMP.B #$30 ; | CODE_00CE06: F0 41 BEQ CODE_00CE49 ; / ScrollScreen: 4A LSR CODE_00CE09: 4A LSR CODE_00CE0A: 4A LSR CODE_00CE0B: EE 01 14 INC.W $1401 CODE_00CE0E: AE 01 14 LDX.W $1401 CODE_00CE11: E0 10 CPX.B #$10 CODE_00CE13: 90 37 BCC CODE_00CE4C CODE_00CE15: AA TAX CODE_00CE16: C2 20 REP #$20 ; Accum (16 bit) CODE_00CE18: AD 2A 14 LDA.W $142A CODE_00CE1B: DD CB F6 CMP.W DATA_00F6CB,X CODE_00CE1E: E2 20 SEP #$20 ; Accum (8 bit) CODE_00CE20: F0 2A BEQ CODE_00CE4C CODE_00CE22: A9 01 LDA.B #$01 CODE_00CE24: 1C 2A 14 TRB.W $142A CODE_00CE27: EE FD 13 INC.W $13FD CODE_00CE2A: A9 00 LDA.B #$00 CODE_00CE2C: E0 02 CPX.B #$02 CODE_00CE2E: D0 03 BNE CODE_00CE33 CODE_00CE30: A5 5E LDA $5E CODE_00CE32: 3A DEC A CODE_00CE33: C2 20 REP #$20 ; Accum (16 bit) CODE_00CE35: EB XBA CODE_00CE36: 29 00 FF AND.W #$FF00 CODE_00CE39: C5 1A CMP RAM_ScreenBndryXLo CODE_00CE3B: E2 20 SEP #$20 ; Accum (8 bit) CODE_00CE3D: F0 05 BEQ CODE_00CE44 CODE_00CE3F: A0 0E LDY.B #$0E ; \ Play sound effect CODE_00CE41: 8C FC 1D STY.W $1DFC ; / CODE_00CE44: 8A TXA CODE_00CE45: 8D FE 13 STA.W $13FE CODE_00CE48: A8 TAY CODE_00CE49: 9C 01 14 STZ.W $1401 CODE_00CE4C: A2 00 LDX.B #$00 CODE_00CE4E: A5 76 LDA RAM_MarioDirection CODE_00CE50: 0A ASL CODE_00CE51: 8D FF 13 STA.W $13FF CODE_00CE54: C2 20 REP #$20 ; Accum (16 bit) CODE_00CE56: AD 2A 14 LDA.W $142A CODE_00CE59: D9 CB F6 CMP.W DATA_00F6CB,Y CODE_00CE5C: F0 0F BEQ CODE_00CE6D CODE_00CE5E: 18 CLC CODE_00CE5F: 79 BF F6 ADC.W DATA_00F6BF,Y CODE_00CE62: AC FF 13 LDY.W $13FF CODE_00CE65: D9 B3 F6 CMP.W DATA_00F6B3,Y CODE_00CE68: D0 06 BNE CODE_00CE70 CODE_00CE6A: 8E FE 13 STX.W $13FE CODE_00CE6D: 8E FD 13 STX.W $13FD CODE_00CE70: 8D 2A 14 STA.W $142A CODE_00CE73: 8E 00 14 STX.W $1400 CODE_00CE76: E2 20 SEP #$20 ; Accum (8 bit) CODE_00CE78: 60 RTS DATA_00CE79: .db $2A,$2B,$2C,$2D,$2E,$2F DATA_00CE7F: .db $2C,$2C,$2C,$2B,$2B,$2C,$2C,$2B .db $2B,$2C,$2D,$2A,$2A,$2D,$2D,$2A .db $2A,$2D,$2D,$2A,$2A,$2D,$2E,$2A .db $2A,$2E DATA_00CE99: .db $00,$00,$25,$44,$00,$00,$0F,$45 DATA_00CEA1: .db $00,$00,$00,$00,$01,$01,$01,$01 DATA_00CEA9: .db $02,$07,$06,$09,$02,$07,$06,$09 CODE_00CEB1: AD A2 14 LDA.W $14A2 ; Related to cape animation? CODE_00CEB4: D0 60 BNE lbl14A2Not0 CODE_00CEB6: AE DF 13 LDX.W $13DF ; Cape image CODE_00CEB9: A5 72 LDA RAM_IsFlying ; If Mario isn't in air, branch to $CEDE CODE_00CEBB: F0 21 BEQ MarioAnimAir ; branch to $CEDE CODE_00CEBD: A0 04 LDY.B #$04 CODE_00CEBF: 24 7D BIT RAM_MarioSpeedY ; \ If Mario is falling (and thus not on ground) CODE_00CEC1: 10 0A BPL CODE_00CECD ; / branch down CODE_00CEC3: C9 0C CMP.B #$0C ; \ If making a "run jump", CODE_00CEC5: F0 36 BEQ CODE_00CEFD ; / branch to $CEFD CODE_00CEC7: A5 75 LDA RAM_IsSwimming ; \ If Mario is in water, CODE_00CEC9: D0 32 BNE CODE_00CEFD ; |branch to $CEFD CODE_00CECB: 80 17 BRA MrioNtInWtr ; / otherwise, branch to $CEE4 CODE_00CECD: E8 INX ; \ CODE_00CECE: E0 05 CPX.B #$05 ; |if X >= #$04 and != #$FF then jump down <- counting the INX CODE_00CED0: B0 04 BCS CODE_00CED6 ; / CODE_00CED2: A2 05 LDX.B #$05 ; X = #$05 CODE_00CED4: 80 34 BRA CODE_00CF0A ; Branch to $CF04 CODE_00CED6: E0 0B CPX.B #$0B ; \ If X is less than #$0B, CODE_00CED8: 90 30 BCC CODE_00CF0A ; / branch to $CF0A CODE_00CEDA: A2 07 LDX.B #$07 ; X = #$07 CODE_00CEDC: 80 2C BRA CODE_00CF0A ; Mario is not in the air, branch to $CF0A MarioAnimAir: A5 7B LDA RAM_MarioSpeedX ; \ If Mario X speed isn't 0, CODE_00CEE0: D0 0E BNE CODE_00CEF0 ; / branch to $CEF0 CODE_00CEE2: A0 08 LDY.B #$08 ; Otherwise Y = #$08 MrioNtInWtr: 8A TXA ; A = X = #13DF CODE_00CEE5: F0 23 BEQ CODE_00CF0A ; If $13DF (now A) = 0 branch to $CF04 CODE_00CEE7: CA DEX ; \ CODE_00CEE8: E0 03 CPX.B #$03 ; |If X - 1 < #$03 Then Branch $CF04 CODE_00CEEA: 90 1E BCC CODE_00CF0A ; / CODE_00CEEC: A2 02 LDX.B #$02 ; X = #$02 CODE_00CEEE: 80 1A BRA CODE_00CF0A ; Branch to $CF04 CODE_00CEF0: 10 03 BPL CODE_00CEF5 ; \ CODE_00CEF2: 49 FF EOR.B #$FF ; |A = abs(A) CODE_00CEF4: 1A INC A ; | CODE_00CEF5: 4A LSR ; \ CODE_00CEF6: 4A LSR ; |Divide a by 8 CODE_00CEF7: 4A LSR ; / CODE_00CEF8: A8 TAY ; Y = A CODE_00CEF9: B9 7C DC LDA.W DATA_00DC7C,Y ; A = Mario animation speed? (I didn't know it was a table...) CODE_00CEFC: A8 TAY ; Load Y with this table CODE_00CEFD: E8 INX ; \ CODE_00CEFE: E0 03 CPX.B #$03 ; | CODE_00CF00: B0 02 BCS CODE_00CF04 ; |If X is < #$02 and != #$FF <- counting the INX CODE_00CF02: A2 05 LDX.B #$05 ; |then X = #$05 CODE_00CF04: E0 07 CPX.B #$07 ; \ CODE_00CF06: 90 02 BCC CODE_00CF0A ; |If X is greater than or equal to #$07 then X = #$03 CODE_00CF08: A2 03 LDX.B #$03 ; | CODE_00CF0A: 8E DF 13 STX.W $13DF ; And X goes right back into $13DF (cape image) after being modified CODE_00CF0D: 98 TYA ; Now Y goes back into A CODE_00CF0E: A4 75 LDY RAM_IsSwimming ; \ CODE_00CF10: F0 01 BEQ CODE_00CF13 ; |If mario is in water then A = 2A CODE_00CF12: 0A ASL ; | CODE_00CF13: 8D A2 14 STA.W $14A2 ; A -> $14A2 (do we know this byte yet?) no. lbl14A2Not0: AD 0D 14 LDA.W RAM_IsSpinJump ; A = Spin Jump Flag CODE_00CF19: 0D A6 14 ORA.W $14A6 CODE_00CF1C: F0 30 BEQ CODE_00CF4E ; If $140D OR $14A6 = 0 then branch to $CF4E CODE_00CF1E: 64 73 STZ RAM_IsDucking ; 0 -> Ducking while jumping flag CODE_00CF20: A5 14 LDA RAM_FrameCounterB ; \ CODE_00CF22: 29 06 AND.B #$06 ; |X = Y = Alternate frame counter AND #$06 CODE_00CF24: AA TAX ; | CODE_00CF25: A8 TAY ; / CODE_00CF26: A5 72 LDA RAM_IsFlying ; \ If on ground branch down CODE_00CF28: F0 05 BEQ CODE_00CF2F ; / CODE_00CF2A: A5 7D LDA RAM_MarioSpeedY ; \ If Mario moving upwards branch down CODE_00CF2C: 30 01 BMI CODE_00CF2F ; / CODE_00CF2E: C8 INY ; Y = Y + 1 CODE_00CF2F: B9 A9 CE LDA.W DATA_00CEA9,Y ; \ After loading from this table, CODE_00CF32: 8D DF 13 STA.W $13DF ; / Store A in cape image CODE_00CF35: A5 19 LDA RAM_MarioPowerUp ; A = Mario's powerup status CODE_00CF37: F0 01 BEQ CODE_00CF3A ; \ CODE_00CF39: E8 INX ; |If not small, increase X CODE_00CF3A: BD A1 CE LDA.W DATA_00CEA1,X ; \ Load from another table CODE_00CF3D: 85 76 STA RAM_MarioDirection ; / store to Mario's Direction CODE_00CF3F: A4 19 LDY RAM_MarioPowerUp ; \ CODE_00CF41: C0 02 CPY.B #$02 ; | CODE_00CF43: D0 03 BNE CODE_00CF48 ; |If Mario has cape, JSR CODE_00CF45: 20 44 D0 JSR.W CODE_00D044 ; |to possibly the graphics handler CODE_00CF48: BD 99 CE LDA.W DATA_00CE99,X ; \ Load from a table again CODE_00CF4B: 4C 1A D0 JMP.W CODE_00D01A ; / And jump CODE_00CF4E: AD ED 13 LDA.W $13ED ; \ If $13ED is #$01 - #$7F then CODE_00CF51: F0 0F BEQ CODE_00CF62 ; |branch to $CF85 CODE_00CF53: 10 30 BPL CODE_00CF85 ; | CODE_00CF55: AD E1 13 LDA.W $13E1 CODE_00CF58: 4A LSR CODE_00CF59: 4A LSR CODE_00CF5A: 05 76 ORA RAM_MarioDirection CODE_00CF5C: A8 TAY CODE_00CF5D: B9 7F CE LDA.W DATA_00CE7F,Y CODE_00CF60: 80 23 BRA CODE_00CF85 CODE_00CF62: A9 3C LDA.B #$3C ; \ Select Case $148F CODE_00CF64: AC 8F 14 LDY.W $148F ; |Case 0:A = #$3C CODE_00CF67: F0 02 BEQ CODE_00CF6B ; |Case Else: A = #$1D CODE_00CF69: A9 1D LDA.B #$1D ; |End Select CODE_00CF6B: A4 73 LDY RAM_IsDucking ; \ If Ducking while jumping CODE_00CF6D: D0 16 BNE CODE_00CF85 ; / Branch to $CF85 CODE_00CF6F: AD 9C 14 LDA.W RAM_FireballImgTimer ; \ If (Unknown) = 0 CODE_00CF72: F0 0A BEQ CODE_00CF7E ; / Branch to $CF7E CODE_00CF74: A9 3F LDA.B #$3F ; A = #$3F CODE_00CF76: A4 72 LDY RAM_IsFlying ; \ If Mario isn't in air, CODE_00CF78: F0 0B BEQ CODE_00CF85 ; |branch to $CF85 CODE_00CF7A: A9 16 LDA.B #$16 ; |Otherwise, set A to #$16 and CODE_00CF7C: 80 07 BRA CODE_00CF85 ; / branch to $CF85 CODE_00CF7E: A9 0E LDA.B #$0E ; A = #$0E CODE_00CF80: AC 9A 14 LDY.W RAM_KickImgTimer ; \ If Time to show Mario's current pose is 00, CODE_00CF83: F0 03 BEQ CODE_00CF88 ; | Don't jump to $D01A CODE_00CF85: 4C 1A D0 JMP.W CODE_00D01A ; | CODE_00CF88: A9 1D LDA.B #$1D ; A = #$1D CODE_00CF8A: AC 98 14 LDY.W RAM_PickUpImgTimer ; \ If $1499 != 0 then Jump to $D01A CODE_00CF8D: D0 F6 BNE CODE_00CF85 ; / CODE_00CF8F: A9 0F LDA.B #$0F ; A = #$0F CODE_00CF91: AC 99 14 LDY.W RAM_FaceCamImgTimer ; \ If $1499 != 0 then Jump to $D01A CODE_00CF94: D0 EF BNE CODE_00CF85 ; / CODE_00CF96: A9 00 LDA.B #$00 ; A = #$00 CODE_00CF98: AE C2 18 LDX.W $18C2 ; X = $18C2 (Unknown) CODE_00CF9B: D0 26 BNE MarioAnimNoAbs1 ; If X != 0 then branch down CODE_00CF9D: A5 72 LDA RAM_IsFlying ; \ If Mario is flying branch down CODE_00CF9F: F0 16 BEQ CODE_00CFB7 ; / CODE_00CFA1: AC A0 14 LDY.W $14A0 ; \ If $14A0 != 0 then CODE_00CFA4: D0 16 BNE CODE_00CFBC ; / Skip down CODE_00CFA6: AC 07 14 LDY.W $1407 ; Spaghetticode(tm) CODE_00CFA9: F0 03 BEQ CODE_00CFAE CODE_00CFAB: B9 78 CE LDA.W CODE_00CE78,Y CODE_00CFAE: AC 8F 14 LDY.W $148F ; \ If Mario isn't holding something, CODE_00CFB1: F0 67 BEQ CODE_00D01A ; |branch to $D01A CODE_00CFB3: A9 09 LDA.B #$09 ; |Otherwise, set A to #$09 and CODE_00CFB5: 80 63 BRA CODE_00D01A ; / branch to $D01A CODE_00CFB7: AD DD 13 LDA.W RAM_ChangingDir CODE_00CFBA: D0 5E BNE CODE_00D01A CODE_00CFBC: A5 7B LDA RAM_MarioSpeedX ; \ CODE_00CFBE: 10 03 BPL MarioAnimNoAbs1 ; | CODE_00CFC0: 49 FF EOR.B #$FF ; |Set A to absolute value of Mario's X speed CODE_00CFC2: 1A INC A ; | MarioAnimNoAbs1: AA TAX ; Copy A to X CODE_00CFC4: D0 0E BNE CODE_00CFD4 ; If Mario isn't standing still, branch to $CFD4 CODE_00CFC6: EB XBA ; "Push" A CODE_00CFC7: A5 15 LDA RAM_ControllerA ; \ CODE_00CFC9: 29 08 AND.B #$08 ; |If player isn't pressing up, CODE_00CFCB: F0 35 BEQ CODE_00D002 ; |branch to $D002 CODE_00CFCD: A9 03 LDA.B #$03 ; |Otherwise, store x03 in $13DE and CODE_00CFCF: 8D DE 13 STA.W $13DE ; |branch to $D002 CODE_00CFD2: 80 2E BRA CODE_00D002 ; / CODE_00CFD4: A5 86 LDA $86 ; \ If level isn't slippery, CODE_00CFD6: F0 0B BEQ CODE_00CFE3 ; / branch to $CFE3 CODE_00CFD8: A5 15 LDA RAM_ControllerA ;\ CODE_00CFDA: 29 03 AND.B #$03 ;| if Left/Right not held, branch CODE_00CFDC: F0 25 BEQ CODE_00D003 ;/ CODE_00CFDE: A9 68 LDA.B #$68 ;\ relates to running speed... CODE_00CFE0: 8D E5 13 STA.W $13E5 ;/ CODE_00CFE3: AD DB 13 LDA.W $13DB ; A = $13DB CODE_00CFE6: AC 96 14 LDY.W $1496 ; \ If Mario is hurt (flashing), CODE_00CFE9: D0 18 BNE CODE_00D003 ; / branch to $D003 CODE_00CFEB: 3A DEC A ; A = A - 1 CODE_00CFEC: 10 05 BPL CODE_00CFF3 ; \If bit 7 is clear, CODE_00CFEE: A4 19 LDY RAM_MarioPowerUp ; | Load amount of walking frames CODE_00CFF0: B9 78 DC LDA.W NumWalkingFrames,Y ; | for current powerup CODE_00CFF3: EB XBA ; \ >>-This code puts together an index to a table further down-<< CODE_00CFF4: 8A TXA ; |-\ Above Line: "Push" frame amount CODE_00CFF5: 4A LSR ; | |A = X / 8 CODE_00CFF6: 4A LSR ; | | CODE_00CFF7: 4A LSR ; |-/ CODE_00CFF8: 0D E5 13 ORA.W $13E5 ; |ORA with $13E5 CODE_00CFFB: A8 TAY ; |And store A to Y CODE_00CFFC: B9 7C DC LDA.W DATA_00DC7C,Y ; | CODE_00CFFF: 8D 96 14 STA.W $1496 ; / Remember: You can get somewhere quick by pressing ctrl+f and typing in the address. CODE_00D002: EB XBA ; \ Switch in frame amount and store it to $13DB CODE_00D003: 8D DB 13 STA.W $13DB ; / CODE_00D006: 18 CLC ; \ Add walking animation type CODE_00D007: 6D DE 13 ADC.W $13DE ; / (Walking, running...) CODE_00D00A: AC 8F 14 LDY.W $148F ; \ CODE_00D00D: F0 05 BEQ CODE_00D014 ; | CODE_00D00F: 18 CLC ; |If Mario is carrying something, add #$07 CODE_00D010: 69 07 ADC.B #$07 ; | CODE_00D012: 80 06 BRA CODE_00D01A ; | CODE_00D014: E0 2F CPX.B #$2F ; \ CODE_00D016: 90 02 BCC CODE_00D01A ; |If X is greater than #$2F, add #$04 CODE_00D018: 69 03 ADC.B #$03 ; / <-Carry is always set here, adding #$01 to (#$03 + A) CODE_00D01A: AC E3 13 LDY.W RAM_WallWalkStatus ; \ If Mario isn't rotated 45 degrees (triangle CODE_00D01D: F0 11 BEQ MarioAnimNo45 ; / block), branch to $D030 CODE_00D01F: 98 TYA ; \ Y AND #$01 -> Mario's Direction RAM Byte CODE_00D020: 29 01 AND.B #$01 ; | CODE_00D022: 85 76 STA RAM_MarioDirection ; / CODE_00D024: A9 10 LDA.B #$10 ; \ CODE_00D026: C0 06 CPY.B #$06 ; |If Y < 6 then CODE_00D028: 90 06 BCC MarioAnimNo45 ; | A = #13DB + $11 CODE_00D02A: AD DB 13 LDA.W $13DB ; |Else CODE_00D02D: 18 CLC ; | A = #$10 CODE_00D02E: 69 11 ADC.B #$11 ; |End If MarioAnimNo45: 8D E0 13 STA.W MarioFrame ; Store in Current animation frame Return00D033: 6B RTL ; And Finish DATA_00D034: .db $0C,$00,$F4,$FF,$08,$00,$F8,$FF DATA_00D03C: .db $10,$00,$10,$00,$02,$00,$02,$00 CODE_00D044: A0 01 LDY.B #$01 ;\ maybe setting a flag? CODE_00D046: 8C E8 13 STY.W $13E8 ;| CODE_00D049: 0A ASL ;| CODE_00D04A: A8 TAY ;/ CODE_00D04B: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_00D04D: A5 94 LDA RAM_MarioXPos ; \ CODE_00D04F: 18 CLC ; | CODE_00D050: 79 34 D0 ADC.W DATA_00D034,Y ; | CODE_00D053: 8D E9 13 STA.W $13E9 ; |Set cape<->sprite collision coordinates CODE_00D056: A5 96 LDA RAM_MarioYPos ; | CODE_00D058: 18 CLC ; | CODE_00D059: 79 3C D0 ADC.W DATA_00D03C,Y ; | CODE_00D05C: 8D EB 13 STA.W $13EB ; / CODE_00D05F: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) Return00D061: 60 RTS ; Return CODE_00D062: A5 19 LDA RAM_MarioPowerUp ;\ CODE_00D064: C9 02 CMP.B #$02 ;| if mario is not caped, CODE_00D066: D0 19 BNE CODE_00D081 ;/ CODE_00D068: 24 16 BIT $16 ;\ if X/Y not held, return CODE_00D06A: 50 41 BVC Return00D0AD ;/ CODE_00D06C: A5 73 LDA RAM_IsDucking ;\ CODE_00D06E: 0D 7A 18 ORA.W RAM_OnYoshi ;| if mario is ducking, on yoshi, or spinjumping, CODE_00D071: 0D 0D 14 ORA.W RAM_IsSpinJump ;|return CODE_00D074: D0 37 BNE Return00D0AD ;/ CODE_00D076: A9 12 LDA.B #$12 ;\ CODE_00D078: 8D A6 14 STA.W $14A6 ;/ make mario spin CODE_00D07B: A9 04 LDA.B #$04 ; \ Play sound effect CODE_00D07D: 8D FC 1D STA.W $1DFC ; / Return00D080: 60 RTS ; Return CODE_00D081: C9 03 CMP.B #$03 ;\ if mario not firey, return CODE_00D083: D0 28 BNE Return00D0AD ;/ CODE_00D085: A5 73 LDA RAM_IsDucking ;\ CODE_00D087: 0D 7A 18 ORA.W RAM_OnYoshi ;| ducking, or on yoshi? Return. CODE_00D08A: D0 21 BNE Return00D0AD ;/ CODE_00D08C: 24 16 BIT $16 ;\ if X/Y held, return CODE_00D08E: 70 1A BVS CODE_00D0AA ;/ CODE_00D090: AD 0D 14 LDA.W RAM_IsSpinJump ;\ if not on a spinjump, return CODE_00D093: F0 18 BEQ Return00D0AD ;/ CODE_00D095: EE E2 13 INC.W $13E2 ;\ handle when to shoot fireballs, as well as the direction CODE_00D098: AD E2 13 LDA.W $13E2 ;| CODE_00D09B: 29 0F AND.B #$0F ;| CODE_00D09D: D0 0E BNE Return00D0AD ;| CODE_00D09F: A8 TAY ;| CODE_00D0A0: AD E2 13 LDA.W $13E2 ;| CODE_00D0A3: 29 10 AND.B #$10 ;| CODE_00D0A5: F0 01 BEQ CODE_00D0A8 ;| CODE_00D0A7: C8 INY ;| CODE_00D0A8: 84 76 STY RAM_MarioDirection ;| CODE_00D0AA: 20 A8 FE JSR.W ShootFireball ;/ Return00D0AD: 60 RTS ; Return DATA_00D0AE: .db $7C,$00,$80,$00,$00,$06,$00,$01 MarioDeathAni: 64 19 STZ RAM_MarioPowerUp ; Set powerup to 0 CODE_00D0B8: A9 3E LDA.B #$3E ; \ CODE_00D0BA: 8D E0 13 STA.W MarioFrame ; / Set Mario image to death image CODE_00D0BD: A5 13 LDA RAM_FrameCounter ; \ CODE_00D0BF: 29 03 AND.B #$03 ; |Decrease "Death fall timer" every four frames CODE_00D0C1: D0 03 BNE CODE_00D0C6 ; | CODE_00D0C3: CE 96 14 DEC.W $1496 ; | CODE_00D0C6: AD 96 14 LDA.W $1496 ; \ If Death fall timer isn't #$00, CODE_00D0C9: D0 3D BNE DeathNotDone ; / branch to $D108 CODE_00D0CB: A9 80 LDA.B #$80 ;\ exit level without activating any events CODE_00D0CD: 8D D5 0D STA.W $0DD5 ;/ CODE_00D0D0: AD 9B 1B LDA.W $1B9B ;\ keep reserve item if this flag = 01 CODE_00D0D3: D0 03 BNE CODE_00D0D8 ;/ CODE_00D0D5: 9C C1 0D STZ.W RAM_OWHasYoshi ; Set reserve item to 0 CODE_00D0D8: CE BE 0D DEC.W RAM_StatusLives ; Decrease amount of lifes CODE_00D0DB: 10 09 BPL DeathNotGameOver ; If not Game Over, branch to $D0E6 CODE_00D0DD: A9 0A LDA.B #$0A ; \ CODE_00D0DF: 8D FB 1D STA.W $1DFB ; / Change music CODE_00D0E2: A2 14 LDX.B #$14 ; Set X (Death message) to x14 (Game Over) CODE_00D0E4: 80 0F BRA DeathShowMessage DeathNotGameOver: A0 0B LDY.B #$0B ; Set Y (game mode) to x0B (Fade to overworld) CODE_00D0E8: AD 31 0F LDA.W $0F31 ; \ CODE_00D0EB: 0D 32 0F ORA.W $0F32 ; |If time isn't zero, CODE_00D0EE: 0D 33 0F ORA.W $0F33 ; |branch to $D104 CODE_00D0F1: D0 11 BNE DeathNotTimeUp ; / CODE_00D0F3: A2 1D LDX.B #$1D ; Set X (Death message) to x1D (Time Up) DeathShowMessage: 8E 3B 14 STX.W $143B ; Store X in Death message CODE_00D0F8: A9 C0 LDA.B #$C0 ; \ Set Death message animation to xC0 CODE_00D0FA: 8D 3C 14 STA.W $143C ; /(Must be divisable by 4) CODE_00D0FD: A9 FF LDA.B #$FF ; \ Set Death message timer to xFF CODE_00D0FF: 8D 3D 14 STA.W $143D ; / CODE_00D102: A0 15 LDY.B #$15 ; Set Y (game mode) to x15 (Fade to Game Over) DeathNotTimeUp: 8C 00 01 STY.W RAM_GameMode ; Store Y in Game Mode Return00D107: 60 RTS ; Return DeathNotDone: C9 26 CMP.B #$26 ; \ If Death fall timer >= x26, CODE_00D10A: B0 10 BCS DeathNotDoneEnd ; / return CODE_00D10C: 64 7B STZ RAM_MarioSpeedX ; Set Mario X speed to 0 CODE_00D10E: 20 2D DC JSR.W CODE_00DC2D CODE_00D111: 20 2E D9 JSR.W CODE_00D92E CODE_00D114: A5 13 LDA RAM_FrameCounter ; \ CODE_00D116: 4A LSR ; | CODE_00D117: 4A LSR ; |Flip death image every four frames CODE_00D118: 29 01 AND.B #$01 ; | CODE_00D11A: 85 76 STA RAM_MarioDirection ; / DeathNotDoneEnd: 60 RTS GrowingAniImgs: .db $00,$3D,$00,$3D,$00,$3D,$46,$3D .db $46,$3D,$46,$3D PowerDownAni: AD 96 14 LDA.W $1496 ;\ if mario's hurt frame counter isn't done yet, CODE_00D12C: F0 12 BEQ CODE_00D140 ;/ set mario flashing, stop the sprites locked counter, and make mario look normal, and return CODE_00D12E: 4A LSR ;\ CODE_00D12F: 4A LSR ;| CODE_00D130: A8 TAY ;| CODE_00D131: B9 1D D1 LDA.W GrowingAniImgs,Y ;| Set Mario's image according to the frame counter CODE_00D134: 8D E0 13 STA.W MarioFrame ;/ CODE_00D137: AD 96 14 LDA.W $1496 ;\ CODE_00D13A: F0 03 BEQ Return00D13F ;/ if the hurt frame counter is at 00 now, return CODE_00D13C: CE 96 14 DEC.W $1496 ; decrement it Return00D13F: 60 RTS ; Return CODE_00D140: A9 7F LDA.B #$7F ;\ make mario flash for ~8 seconds CODE_00D142: 8D 97 14 STA.W $1497 ;/ CODE_00D145: 80 11 BRA CODE_00D158 ; Return after doing a few things MushroomAni: AD 96 14 LDA.W $1496 ;\ if hurt frame is 00, make mario big and return CODE_00D14A: F0 0A BEQ CODE_00D156 ;/ CODE_00D14C: 4A LSR ;\ CODE_00D14D: 4A LSR ;|set mario's image according to the frame counter CODE_00D14E: 49 FF EOR.B #$FF ;| CODE_00D150: 1A INC A ;| CODE_00D151: 18 CLC ;| CODE_00D152: 69 0B ADC.B #$0B ;| CODE_00D154: 80 DA BRA CODE_00D130 ;/ CODE_00D156: E6 19 INC RAM_MarioPowerUp ; Powerup+1 CODE_00D158: A9 00 LDA.B #$00 ;\ set mario to default CODE_00D15A: 85 71 STA RAM_MarioAnimation ;/ CODE_00D15C: 64 9D STZ RAM_SpritesLocked ; Let sprites go again Return00D15E: 60 RTS ; Return CapeAni: A9 7F LDA.B #$7F ;\ make mario invisible CODE_00D161: 85 78 STA $78 ;/ CODE_00D163: CE 96 14 DEC.W $1496 ; decrement hurt frame counter CODE_00D166: D0 F6 BNE Return00D15E ; if not at 00 yet, return CODE_00D168: A5 19 LDA RAM_MarioPowerUp ;\ CODE_00D16A: 4A LSR ;| if Mario is big or small, make him flash and stuff, but return CODE_00D16B: F0 D3 BEQ CODE_00D140 ;/ CODE_00D16D: D0 E9 BNE CODE_00D158 ;/ if he's flowery or cape, it's basically the same thing, but without the flash. FlowerAni: AD ED 13 LDA.W $13ED ;\ CODE_00D172: 29 80 AND.B #$80 ;| CODE_00D174: 0D 07 14 ORA.W $1407 ;| if not flying or sliding (I think?) then don't slow him down and such CODE_00D177: F0 0E BEQ CODE_00D187 ;/ ADDR_00D179: 9C 07 14 STZ.W $1407 ;\ stop flying, ADDR_00D17C: AD ED 13 LDA.W $13ED ;| stop sliding? ADDR_00D17F: 29 7F AND.B #$7F ;| ADDR_00D181: 8D ED 13 STA.W $13ED ;/ ADDR_00D184: 9C E0 13 STZ.W MarioFrame ; Make mario default again CODE_00D187: CE 9B 14 DEC.W RAM_FlashingPalTimer; and decrement the flashing palette timer. CODE_00D18A: F0 CC BEQ CODE_00D158 ; Return00D18C: 60 RTS ; Return PipeSpeedX: .db $F8,$08 PipeSpeedY: .db $00,$00,$F0 DATA_00D192: .db $10 HIDEPIPESETS: .db $00,$63,$1C,$00 DoorPipeAni: 20 2D F6 JSR.W NoButtons ; No buttons CODE_00D19A: 9C DE 13 STZ.W $13DE ;Animation(?) = Default CODE_00D19D: 22 B1 CE 00 JSL.L CODE_00CEB1 ;\ CODE_00D1A1: 22 BC CF 00 JSL.L CODE_00CFBC ;| :\ CODE_00D1A5: 20 F4 D1 JSR.W CODE_00D1F4 ;/ CODE_00D1A8: AD 7A 18 LDA.W RAM_OnYoshi ;\ if not on yoshi, don't make CODE_00D1AB: F0 05 BEQ CODE_00D1B2 ;| CODE_00D1AD: A9 29 LDA.B #$29 ;|Mario's image = Entering horizontal pipe on Yoshi CODE_00D1AF: 8D E0 13 STA.W MarioFrame ;/ CODE_00D1B2: C2 20 REP #$20 ; Accum (16 bit) CODE_00D1B4: A5 96 LDA RAM_MarioYPos ;\ CODE_00D1B6: 38 SEC ;| CODE_00D1B7: E9 08 00 SBC.W #$0008 ;| CODE_00D1BA: 29 F0 FF AND.W #$FFF0 ;|Correct Ypos to fit pipe CODE_00D1BD: 09 0E 00 ORA.W #$000E ;| CODE_00D1C0: 85 96 STA RAM_MarioYPos ;/ CODE_00D1C2: E2 20 SEP #$20 ; Accum (8 bit) CODE_00D1C4: A5 89 LDA $89 ;\ CODE_00D1C6: 4A LSR ;| CODE_00D1C7: A8 TAY ;| CODE_00D1C8: C8 INY ;| Set face screen timer only if on certain kinds of pipes CODE_00D1C9: B9 92 D1 LDA.W DATA_00D192,Y ;| CODE_00D1CC: AE 8F 14 LDX.W $148F ;| CODE_00D1CF: F0 0A BEQ CODE_00D1DB ;| CODE_00D1D1: 49 1C EOR.B #$1C ;| CODE_00D1D3: CE 99 14 DEC.W RAM_FaceCamImgTimer ;|\ CODE_00D1D6: 10 03 BPL CODE_00D1DB ;|| handle face camera timer CODE_00D1D8: EE 99 14 INC.W RAM_FaceCamImgTimer ;// CODE_00D1DB: A6 88 LDX $88 ;\ CODE_00D1DD: E0 1D CPX.B #$1D ;| if it'll be a while before mario warps while in the pipe CODE_00D1DF: B0 0F BCS CODE_00D1F0 ;/ handle hiding mario to work with it and such CODE_00D1E1: C0 03 CPY.B #$03 ;\ if entering a pipe, don't make mario move up CODE_00D1E3: 90 08 BCC CODE_00D1ED ;/ CODE_00D1E5: C2 20 REP #$20 ; Accum (16 bit) CODE_00D1E7: E6 96 INC RAM_MarioYPos ;\ make mario move up CODE_00D1E9: E6 96 INC RAM_MarioYPos ;/ CODE_00D1EB: E2 20 SEP #$20 ; Accum (8 bit) CODE_00D1ED: B9 93 D1 LDA.W HIDEPIPESETS,Y ;\ CODE_00D1F0: 85 78 STA $78 ;| hide mario to work with the pipes CODE_00D1F2: 80 39 BRA CODE_00D22D ;/ CODE_00D1F4: AD A2 14 LDA.W $14A2 ;\ CODE_00D1F7: F0 03 BEQ CODE_00D1FC ;| handle some RAM address, make it a timer at least CODE_00D1F9: CE A2 14 DEC.W $14A2 ;/ CODE_00D1FC: 4C 37 D1 JMP.W CODE_00D137 ; handle hurt frame counter and stuff PipeCntrBoundryX: .db $0A,$06 PipeCntringSpeed: .db $FF,$01 VertPipeAni: 20 2D F6 JSR.W NoButtons ; No pressing buttons! CODE_00D206: 9C DF 13 STZ.W $13DF ; Make the cape image default CODE_00D209: A9 0F LDA.B #$0F ;\ CODE_00D20B: AC 7A 18 LDY.W RAM_OnYoshi ;| set mario's image to going down pipe w/ yoshi if you have to CODE_00D20E: F0 1A BEQ CODE_00D22A ;/ CODE_00D210: A2 00 LDX.B #$00 ; \ CODE_00D212: A4 76 LDY RAM_MarioDirection ; | CODE_00D214: A5 94 LDA RAM_MarioXPos ; | If not relativly centered on the pipe... CODE_00D216: 29 0F AND.B #$0F ; | CODE_00D218: D9 FF D1 CMP.W PipeCntrBoundryX,Y ; | CODE_00D21B: F0 0B BEQ CODE_00D228 ; | CODE_00D21D: 10 01 BPL CODE_00D220 ; | CODE_00D21F: E8 INX ; | CODE_00D220: A5 94 LDA RAM_MarioXPos ; | ...adjust Mario's X postion CODE_00D222: 18 CLC ; | CODE_00D223: 7D 01 D2 ADC.W PipeCntringSpeed,X ; | CODE_00D226: 85 94 STA RAM_MarioXPos ; / CODE_00D228: A9 21 LDA.B #$21 ; \ Mario's image = going down pipe CODE_00D22A: 8D E0 13 STA.W MarioFrame ; / CODE_00D22D: A9 40 LDA.B #$40 ; \ Set holding X/Y on controller CODE_00D22F: 85 15 STA RAM_ControllerA ; / CODE_00D231: A9 02 LDA.B #$02 ; \ Set behind scenery flag CODE_00D233: 8D F9 13 STA.W RAM_IsBehindScenery ; / CODE_00D236: A5 89 LDA $89 ;\ CODE_00D238: C9 04 CMP.B #$04 ;| If mario is exiting from a left-facing pipe, CODE_00D23A: A4 88 LDY $88 ;| go somewhere..? CODE_00D23C: F0 2A BEQ CODE_00D268 ;/ CODE_00D23E: 29 03 AND.B #$03 ;\ CODE_00D240: A8 TAY ;/ Y holds if mario entered a pipe. CODE_00D241: C6 88 DEC $88 ; Decrement 88. CODE_00D243: D0 09 BNE CODE_00D24E ; CODE_00D245: B0 07 BCS CODE_00D24E ; CODE_00D247: A9 7F LDA.B #$7F ;\ hide mario CODE_00D249: 85 78 STA $78 ;/ CODE_00D24B: EE 05 14 INC.W $1405 ; some timer? CODE_00D24E: A5 7B LDA RAM_MarioSpeedX ; \ If Mario has no speed... CODE_00D250: 05 7D ORA RAM_MarioSpeedY ; | CODE_00D252: D0 05 BNE CODE_00D259 ; | CODE_00D254: A9 04 LDA.B #$04 ; | ...play sound effect CODE_00D256: 8D F9 1D STA.W $1DF9 ; / CODE_00D259: B9 8D D1 LDA.W PipeSpeedX,Y ; \ Set X speed CODE_00D25C: 85 7B STA RAM_MarioSpeedX ; / CODE_00D25E: B9 8F D1 LDA.W PipeSpeedY,Y ; \ Set Y speed CODE_00D261: 85 7D STA RAM_MarioSpeedY ; / CODE_00D263: 64 72 STZ RAM_IsFlying ; Mario flying = false CODE_00D265: 4C 2D DC JMP.W CODE_00DC2D CODE_00D268: 90 09 BCC CODE_00D273 CODE_00D26A: 9C F9 13 STZ.W RAM_IsBehindScenery ; \ In new level, reset values CODE_00D26D: 9C 19 14 STZ.W RAM_YoshiInPipe ; / CODE_00D270: 4C 58 D1 JMP.W CODE_00D158 ; Set mario to default, let sprites go, return CODE_00D273: EE 1A 14 INC.W $141A ;\ CODE_00D276: A9 0F LDA.B #$0F ;| load new level? CODE_00D278: 8D 00 01 STA.W RAM_GameMode ;/ Return00D27B: 60 RTS ; Return ADDR_00D27C: A5 96 LDA RAM_MarioYPos ; \ Unreachable ADDR_00D27E: 38 SEC ; | ADDR_00D27F: E5 D3 SBC $D3 ; | ADDR_00D281: 18 CLC ; | ADDR_00D282: 65 88 ADC $88 ; | ADDR_00D284: 85 88 STA $88 ; | Return00D286: 60 RTS ; / Return PipeCannonAni: 20 2D F6 JSR.W NoButtons ; No buttons! CODE_00D28A: A9 02 LDA.B #$02 ;\ put mario behind sprites CODE_00D28C: 8D F9 13 STA.W RAM_IsBehindScenery ;/ CODE_00D28F: A9 0C LDA.B #$0C ;\ make mario fly-sortof CODE_00D291: 85 72 STA RAM_IsFlying ;/ CODE_00D293: 20 8B CD JSR.W CODE_00CD8B ; CODE_00D296: C6 88 DEC $88 ; Handle timer? CODE_00D298: D0 03 BNE CODE_00D29D ; if not at 00, play init sounds for coming out of pipe cannon CODE_00D29A: 4C 6A D2 JMP.W CODE_00D26A ; handle like entering a new level (which you are) CODE_00D29D: A5 88 LDA $88 ;\ CODE_00D29F: C9 18 CMP.B #$18 ;| if close to finishing, don't play sound effect CODE_00D2A1: 90 07 BCC CODE_00D2AA ;/ or, play sound effect once only CODE_00D2A3: D0 0D BNE CODE_00D2B2 ; CODE_00D2A5: A9 09 LDA.B #$09 ; \ Play sound effect CODE_00D2A7: 8D FC 1D STA.W $1DFC ; / CODE_00D2AA: 9C F9 13 STZ.W RAM_IsBehindScenery ;\ make mario in front scenery, with no yoshi in pipe CODE_00D2AD: 9C 19 14 STZ.W RAM_YoshiInPipe ;/ CODE_00D2B0: 64 9D STZ RAM_SpritesLocked ; Set sprites not locked CODE_00D2B2: A9 40 LDA.B #$40 ; \ X speed = #$40 CODE_00D2B4: 85 7B STA RAM_MarioSpeedX ; / CODE_00D2B6: A9 C0 LDA.B #$C0 ; \ Y speed = #$C0 CODE_00D2B8: 85 7D STA RAM_MarioSpeedY ; / CODE_00D2BA: 4C 2D DC JMP.W CODE_00DC2D ; DATA_00D2BD: .db $B0,$B6,$AE,$B4,$AB,$B2,$A9,$B0 .db $A6,$AE,$A4,$AB,$A1,$A9,$9F,$A6 DATA_00D2CD: .db $00,$FF,$00,$01,$00,$FF,$00,$01; I wish I knew what this hunk of tables were .db $00,$FF,$00,$01,$80,$FE,$C0,$00 .db $40,$FF,$80,$01,$00,$FE,$40,$00 .db $C0,$FF,$00,$02,$00,$FE,$40,$00 .db $00,$FE,$40,$00,$C0,$FF,$00,$02 .db $C0,$FF,$00,$02,$00,$FC,$00,$FF .db $00,$01,$00,$04,$00,$FF,$00,$01 .db $00,$FF,$00,$01 DATA_00D309: .db $E0,$FF,$20,$00,$E0,$FF,$20,$00 .db $E0,$FF,$20,$00,$C0,$FF,$20,$00 .db $E0,$FF,$40,$00,$80,$FF,$20,$00 .db $E0,$FF,$80,$00,$80,$FF,$20,$00 .db $80,$FF,$20,$00,$E0,$FF,$80,$00 .db $E0,$FF,$80,$00,$00,$FE,$80,$FF .db $80,$00,$00,$02,$00,$FF,$00,$01 .db $00,$FF,$00,$01 MarioAccel?: .db $80 MarioAccel2?: .db $FE,$80,$FE,$80,$01,$80,$01,$80 .db $FE,$80,$FE,$80,$01,$80,$01,$80 .db $FE,$80,$FE,$80,$01,$80,$01,$80 .db $FE,$80,$FE,$40,$01,$40,$01,$C0 .db $FE,$C0,$FE,$80,$01,$80,$01,$80 .db $FE,$80,$FE,$00,$01,$00,$01,$00 .db $FF,$00,$FF,$80,$01,$80,$01,$80 .db $FE,$80,$FE,$00,$01,$00,$01,$80 .db $FE,$80,$FE,$00,$01,$00,$01,$00 .db $FF,$00,$FF,$80,$01,$80,$01,$00 .db $FF,$00,$FF,$80,$01,$80,$01,$00 .db $FC,$00,$FC,$00,$FD,$00,$FD,$00 .db $03,$00,$03,$00,$04,$00,$04,$00 .db $FC,$00,$FC,$00,$06,$00,$06,$00 .db $FA,$00,$FA,$00,$04,$00,$04,$80 .db $FF,$80,$00,$00,$FF,$00,$01,$80 .db $FE,$80,$01,$80,$FE,$80,$FE,$80 .db $01,$80,$01,$80,$FE,$80,$02,$80 .db $FD,$00,$FB,$80,$02,$00,$05,$80 .db $FD,$00,$FB,$80,$02,$00,$05,$80 .db $FD,$00,$FB,$80,$02,$00,$05,$40 .db $FD,$80,$FA,$40,$02,$80,$04,$C0 .db $FD,$80,$FB,$C0,$02,$80,$05,$00 .db $FD,$00,$FA,$00,$02,$00,$04,$00 .db $FE,$00,$FC,$00,$03,$00,$06,$00 .db $FD,$00,$FA,$00,$02,$00,$04,$00 .db $FD,$00,$FA,$00,$02,$00,$04,$00 .db $FE,$00,$FC,$00,$03,$00,$06,$00 .db $FE,$00,$FC,$00,$03,$00,$06,$00 .db $FD,$00,$FA,$00,$FD,$00,$FA,$00 .db $03,$00,$06,$00,$03,$00,$06 DATA_00D43D: .db $80,$FF,$80,$FE,$80,$00,$80,$01 .db $80,$FF,$80,$FE,$80,$00,$80,$01 .db $80,$FF,$80,$FE,$80,$00,$80,$01 .db $80,$FE,$80,$FE,$80,$00,$40,$01 .db $80,$FF,$C0,$FE,$80,$01,$80,$01 .db $80,$FE,$80,$FE,$80,$00,$00,$01 .db $80,$FF,$00,$FF,$80,$01,$80,$01 .db $80,$FE,$80,$FE,$80,$00,$00,$01 .db $80,$FE,$80,$FE,$80,$00,$00,$01 .db $80,$FF,$00,$FF,$80,$01,$80,$01 .db $80,$FF,$00,$FF,$80,$01,$80,$01 .db $00,$FC,$00,$FC,$00,$FE,$00,$FD .db $00,$03,$00,$03,$00,$04,$00,$04 .db $00,$FC,$00,$FC,$80,$00,$80,$00 .db $80,$FF,$80,$FF,$00,$04,$00,$04 .db $80,$FF,$80,$00,$00,$FF,$00,$01 .db $80,$FE,$80,$01,$80,$FE,$80,$FE .db $80,$01,$80,$01,$80,$FE,$80,$02 .db $C0,$FF,$80,$FD,$40,$00,$80,$02 .db $C0,$FF,$80,$FD,$40,$00,$80,$02 .db $C0,$FF,$80,$FD,$40,$00,$80,$02 .db $80,$FF,$40,$FD,$40,$00,$40,$02 .db $C0,$FF,$C0,$FD,$80,$00,$C0,$02 .db $00,$FD,$00,$FD,$40,$00,$00,$02 .db $C0,$FF,$00,$FE,$00,$03,$00,$03 .db $00,$FD,$00,$FD,$40,$00,$00,$02 .db $00,$FD,$00,$FD,$40,$00,$00,$02 .db $C0,$FF,$00,$FE,$00,$03,$00,$03 .db $C0,$FF,$00,$FE,$00,$03,$00,$03 .db $00,$FD,$00,$FD,$00,$FD,$00,$FD .db $00,$03,$00,$03,$00,$03,$00,$03 DATA_00D535: .db $EC,$14,$DC,$24,$DC,$24,$D0,$30 .db $EC,$14,$DC,$24,$DC,$24,$D0,$30 .db $EC,$14,$DC,$24,$DC,$24,$D0,$30 .db $E8,$12,$DC,$20,$DC,$20,$D0,$2C .db $EE,$18,$E0,$24,$E0,$24,$D4,$30 .db $DC,$10,$DC,$1C,$DC,$1C,$D0,$28 .db $F0,$24,$E4,$24,$E4,$24,$D8,$30 .db $DC,$10,$DC,$1C,$DC,$1C,$D0,$28 .db $DC,$10,$DC,$1C,$DC,$1C,$D0,$28 .db $F0,$24,$E4,$24,$E4,$24,$D8,$30 .db $F0,$24,$E4,$24,$E4,$24,$D8,$30 .db $DC,$F0,$DC,$F8,$DC,$F8,$D0,$FC .db $10,$24,$08,$24,$08,$24,$04,$30 .db $D0,$08,$D0,$08,$D0,$08,$D0,$08 .db $F8,$30,$F8,$30,$F8,$30,$F8,$30 .db $F8,$08,$F0,$10,$F4,$04,$E8,$08 .db $F0,$10,$E0,$20,$EC,$0C,$D8,$18 .db $D8,$28,$D4,$2C,$D0,$30,$D0,$D0 .db $30,$30,$E0,$20 DATA_00D5C9: .db $00 DATA_00D5CA: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$F0,$00,$10,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$E0,$00 .db $20,$00,$00,$00,$00,$00,$F0,$00 .db $F8 DATA_00D5EB: .db $FF,$FF,$02 DATA_00D5EE: .db $68,$70 DATA_00D5F0: .db $1C,$0C CODE_00D5F2: A5 72 LDA RAM_IsFlying ;\ if mario is not flying, continue on your way CODE_00D5F4: F0 03 BEQ CODE_00D5F9 ;/ CODE_00D5F6: 4C 82 D6 JMP.W CODE_00D682 ; go CODE_00D5F9: 64 73 STZ RAM_IsDucking ; Mario isn't ducking anymore CODE_00D5FB: AD ED 13 LDA.W $13ED ;\ if mario is sliding and such, don't check him to start sliding CODE_00D5FE: D0 0B BNE CODE_00D60B ;/ CODE_00D600: A5 15 LDA RAM_ControllerA ;\ CODE_00D602: 29 04 AND.B #$04 ;| if down is not being held, CODE_00D604: F0 05 BEQ CODE_00D60B ;/ CODE_00D606: 85 73 STA RAM_IsDucking ; Mario isn't ducking anymore CODE_00D608: 9C E8 13 STZ.W $13E8 ; Don't run interaction with cape CODE_00D60B: AD 71 14 LDA.W $1471 ;\ CODE_00D60E: C9 02 CMP.B #$02 ;| if mario is on a sinking platform, CODE_00D610: F0 0C BEQ CODE_00D61E ;/ don't check for being blocked and such CODE_00D612: A5 77 LDA RAM_MarioObjStatus ;\ CODE_00D614: 29 08 AND.B #$08 ;| if blocked from above, CODE_00D616: D0 06 BNE CODE_00D61E ;/ don't check CODE_00D618: A5 16 LDA $16 ;\ if A/B held go to below routine CODE_00D61A: 05 18 ORA $18 ;| CODE_00D61C: 30 12 BMI CODE_00D630 ;/ CODE_00D61E: A5 73 LDA RAM_IsDucking ;\ if not ducking, go to CODE_00D620: F0 60 BEQ CODE_00D682 ;/ CODE_00D622: A5 7B LDA RAM_MarioSpeedX ;\ if mario is not moving Xwise, CODE_00D624: F0 07 BEQ CODE_00D62D ;/ don't bother on checking if it's a slippery level CODE_00D626: A5 86 LDA $86 ;\ if it's slippery, don't JSR to next routine CODE_00D628: D0 03 BNE CODE_00D62D ;/ CODE_00D62A: 20 4A FE JSR.W CODE_00FE4A ; some routine..? handling sliding..? CODE_00D62D: 4C 64 D7 JMP.W CODE_00D764 ; and move on CODE_00D630: A5 7B LDA RAM_MarioSpeedX ;\ CODE_00D632: 10 03 BPL CODE_00D637 ;| CODE_00D634: 49 FF EOR.B #$FF ;| CODE_00D636: 1A INC A ;|get the absolute value of Mario's speed, but then take only certain bits of it CODE_00D637: 4A LSR ;| CODE_00D638: 4A LSR ;| CODE_00D639: 29 FE AND.B #$FE ;| CODE_00D63B: AA TAX ;/ CODE_00D63C: A5 18 LDA $18 ;\ If A not held ( Meaning B is held) CODE_00D63E: 10 1E BPL CODE_00D65E ;/ Go to that routine CODE_00D640: AD 8F 14 LDA.W $148F ;\ If mario is holding a object CODE_00D643: D0 19 BNE CODE_00D65E ;/ Don't spinjump, go to jump routine CODE_00D645: 1A INC A ;\ CODE_00D646: 8D 0D 14 STA.W RAM_IsSpinJump ;/ Make mario spinjump if he's not holding a object+ A held CODE_00D649: A9 04 LDA.B #$04 ; \ Play sound effect CODE_00D64B: 8D FC 1D STA.W $1DFC ; / Spinjump sound CODE_00D64E: A4 76 LDY RAM_MarioDirection ;\ CODE_00D650: B9 F0 D5 LDA.W DATA_00D5F0,Y ;| Handle spinjump fireball timer or something of that sort CODE_00D653: 8D E2 13 STA.W $13E2 ;/ CODE_00D656: AD 7A 18 LDA.W RAM_OnYoshi ;\ If mario is on yoshi handle that CODE_00D659: D0 27 BNE CODE_00D682 ;/ CODE_00D65B: E8 INX ; +1 CODE_00D65C: 80 05 BRA CODE_00D663 ; Go to some routine save making a sound CODE_00D65E: A9 01 LDA.B #$01 ; \ Play sound effect CODE_00D660: 8D FA 1D STA.W $1DFA ; / Jump IIRC CODE_00D663: BD BD D2 LDA.W DATA_00D2BD,X ;\ Oh look, the X speed determines the "gravity" CODE_00D666: 85 7D STA RAM_MarioSpeedY ;/ CODE_00D668: A9 0B LDA.B #$0B ; Sounds like a loop setup. CODE_00D66A: AC E4 13 LDY.W $13E4 ;\ CODE_00D66D: C0 70 CPY.B #$70 ;| If mario is not on max running speed, ignore this next part CODE_00D66F: 90 0C BCC CODE_00D67D ;/ CODE_00D671: AD 9F 14 LDA.W $149F ;\ CODE_00D674: D0 05 BNE CODE_00D67B ;/ If vertical screen scrolling is allowed, don't reset it CODE_00D676: A9 50 LDA.B #$50 ;\ Set screen scrolling to be allowed for x50 CODE_00D678: 8D 9F 14 STA.W $149F ;/ CODE_00D67B: A9 0C LDA.B #$0C ;\ CODE_00D67D: 85 72 STA RAM_IsFlying ;/ Make mario fly CODE_00D67F: 9C ED 13 STZ.W $13ED ; Mario isn't sliding anymore CODE_00D682: AD ED 13 LDA.W $13ED ;\ CODE_00D685: 30 0B BMI CODE_00D692 ;/ If not sliding continue on with game CODE_00D687: A5 15 LDA RAM_ControllerA ;\ CODE_00D689: 29 03 AND.B #$03 ;| If Left/Right pressed CODE_00D68B: D0 24 BNE CODE_00D6B1 ;/ Continue on with game CODE_00D68D: AD ED 13 LDA.W $13ED ;\ CODE_00D690: F0 1C BEQ CODE_00D6AE ;/ if mario isn't sliding CODE_00D692: 20 4A FE JSR.W CODE_00FE4A ; Make smoke appear on mario ( smoke effect from when mario slides) CODE_00D695: AD EE 13 LDA.W $13EE ;\ If unknown flag is not set CODE_00D698: F0 14 BEQ CODE_00D6AE ;/ continue on with game CODE_00D69A: 20 68 D9 JSR.W CODE_00D968 CODE_00D69D: AD E1 13 LDA.W $13E1 CODE_00D6A0: 4A LSR CODE_00D6A1: 4A LSR CODE_00D6A2: A8 TAY CODE_00D6A3: 69 76 ADC.B #$76 CODE_00D6A5: AA TAX CODE_00D6A6: 98 TYA CODE_00D6A7: 4A LSR CODE_00D6A8: 69 87 ADC.B #$87 CODE_00D6AA: A8 TAY CODE_00D6AB: 4C 42 D7 JMP.W CODE_00D742 CODE_00D6AE: 4C 64 D7 JMP.W CODE_00D764 CODE_00D6B1: 9C ED 13 STZ.W $13ED CODE_00D6B4: 29 01 AND.B #$01 CODE_00D6B6: AC 07 14 LDY.W $1407 CODE_00D6B9: F0 1A BEQ CODE_00D6D5 CODE_00D6BB: C5 76 CMP RAM_MarioDirection CODE_00D6BD: F0 04 BEQ CODE_00D6C3 CODE_00D6BF: A4 16 LDY $16 CODE_00D6C1: 10 CA BPL CODE_00D68D CODE_00D6C3: A6 76 LDX RAM_MarioDirection CODE_00D6C5: BC EE D5 LDY.W DATA_00D5EE,X CODE_00D6C8: 8C E1 13 STY.W $13E1 CODE_00D6CB: 85 01 STA $01 CODE_00D6CD: 0A ASL CODE_00D6CE: 0A ASL CODE_00D6CF: 0D E1 13 ORA.W $13E1 CODE_00D6D2: AA TAX CODE_00D6D3: 80 3E BRA CODE_00D713 CODE_00D6D5: A4 76 LDY RAM_MarioDirection CODE_00D6D7: C5 76 CMP RAM_MarioDirection CODE_00D6D9: F0 11 BEQ CODE_00D6EC CODE_00D6DB: AC 8F 14 LDY.W $148F CODE_00D6DE: F0 0A BEQ CODE_00D6EA CODE_00D6E0: AC 99 14 LDY.W RAM_FaceCamImgTimer CODE_00D6E3: D0 07 BNE CODE_00D6EC CODE_00D6E5: A0 08 LDY.B #$08 CODE_00D6E7: 8C 99 14 STY.W RAM_FaceCamImgTimer CODE_00D6EA: 85 76 STA RAM_MarioDirection CODE_00D6EC: 85 01 STA $01 CODE_00D6EE: 0A ASL CODE_00D6EF: 0A ASL CODE_00D6F0: 0D E1 13 ORA.W $13E1 CODE_00D6F3: AA TAX CODE_00D6F4: A5 7B LDA RAM_MarioSpeedX CODE_00D6F6: F0 1B BEQ CODE_00D713 CODE_00D6F8: 5D 46 D3 EOR.W MarioAccel2?,X CODE_00D6FB: 10 16 BPL CODE_00D713 CODE_00D6FD: AD A1 14 LDA.W $14A1 CODE_00D700: D0 11 BNE CODE_00D713 CODE_00D702: A5 86 LDA $86 CODE_00D704: D0 08 BNE CODE_00D70E CODE_00D706: A9 0D LDA.B #$0D CODE_00D708: 8D DD 13 STA.W RAM_ChangingDir CODE_00D70B: 20 4A FE JSR.W CODE_00FE4A CODE_00D70E: 8A TXA CODE_00D70F: 18 CLC CODE_00D710: 69 90 ADC.B #$90 CODE_00D712: AA TAX CODE_00D713: A0 00 LDY.B #$00 CODE_00D715: 24 15 BIT RAM_ControllerA CODE_00D717: 50 1E BVC CODE_00D737 CODE_00D719: E8 INX CODE_00D71A: E8 INX CODE_00D71B: C8 INY CODE_00D71C: A5 7B LDA RAM_MarioSpeedX CODE_00D71E: 10 03 BPL CODE_00D723 CODE_00D720: 49 FF EOR.B #$FF CODE_00D722: 1A INC A CODE_00D723: C9 23 CMP.B #$23 CODE_00D725: 30 10 BMI CODE_00D737 CODE_00D727: A5 72 LDA RAM_IsFlying CODE_00D729: D0 07 BNE CODE_00D732 CODE_00D72B: A9 10 LDA.B #$10 CODE_00D72D: 8D A0 14 STA.W $14A0 CODE_00D730: 80 04 BRA CODE_00D736 CODE_00D732: C9 0C CMP.B #$0C CODE_00D734: D0 01 BNE CODE_00D737 CODE_00D736: C8 INY CODE_00D737: 20 6A D9 JSR.W CODE_00D96A CODE_00D73A: 98 TYA CODE_00D73B: 0A ASL CODE_00D73C: 0D E1 13 ORA.W $13E1 CODE_00D73F: 05 01 ORA $01 CODE_00D741: A8 TAY CODE_00D742: A5 7B LDA RAM_MarioSpeedX CODE_00D744: 38 SEC CODE_00D745: F9 35 D5 SBC.W DATA_00D535,Y CODE_00D748: F0 21 BEQ CODE_00D76B CODE_00D74A: 59 35 D5 EOR.W DATA_00D535,Y CODE_00D74D: 10 1C BPL CODE_00D76B CODE_00D74F: C2 20 REP #$20 ; Accum (16 bit) CODE_00D751: BD 45 D3 LDA.W MarioAccel?,X CODE_00D754: A4 86 LDY $86 CODE_00D756: F0 07 BEQ CODE_00D75F CODE_00D758: A4 72 LDY RAM_IsFlying CODE_00D75A: D0 03 BNE CODE_00D75F CODE_00D75C: BD 3D D4 LDA.W DATA_00D43D,X CODE_00D75F: 18 CLC CODE_00D760: 65 7A ADC $7A CODE_00D762: 80 3C BRA CODE_00D7A0 CODE_00D764: 20 68 D9 JSR.W CODE_00D968 CODE_00D767: A5 72 LDA RAM_IsFlying CODE_00D769: D0 39 BNE Return00D7A4 CODE_00D76B: AD E1 13 LDA.W $13E1 CODE_00D76E: 4A LSR CODE_00D76F: A8 TAY CODE_00D770: 4A LSR CODE_00D771: AA TAX CODE_00D772: A5 7B LDA RAM_MarioSpeedX CODE_00D774: 38 SEC CODE_00D775: FD CA D5 SBC.W DATA_00D5CA,X CODE_00D778: 10 02 BPL CODE_00D77C CODE_00D77A: C8 INY CODE_00D77B: C8 INY CODE_00D77C: AD 93 14 LDA.W $1493 CODE_00D77F: 05 72 ORA RAM_IsFlying CODE_00D781: C2 20 REP #$20 ; Accum (16 bit) CODE_00D783: D0 07 BNE CODE_00D78C CODE_00D785: B9 09 D3 LDA.W DATA_00D309,Y CODE_00D788: 24 85 BIT RAM_IsWaterLevel CODE_00D78A: 30 03 BMI CODE_00D78F CODE_00D78C: B9 CD D2 LDA.W DATA_00D2CD,Y CODE_00D78F: 18 CLC CODE_00D790: 65 7A ADC $7A CODE_00D792: 85 7A STA $7A CODE_00D794: 38 SEC CODE_00D795: FD C9 D5 SBC.W DATA_00D5C9,X CODE_00D798: 59 CD D2 EOR.W DATA_00D2CD,Y CODE_00D79B: 30 05 BMI CODE_00D7A2 CODE_00D79D: BD C9 D5 LDA.W DATA_00D5C9,X CODE_00D7A0: 85 7A STA $7A CODE_00D7A2: E2 20 SEP #$20 ; Accum (8 bit) Return00D7A4: 60 RTS ; Return DATA_00D7A5: .db $06,$03,$04,$10,$F4,$01,$03,$04 .db $05,$06 DATA_00D7AF: .db $40,$40,$20,$40,$40,$40,$40,$40 .db $40,$40 DATA_00D7B9: .db $10,$C8,$E0,$02,$03,$03,$04,$03 .db $02,$00,$01,$00,$00,$00,$00 DATA_00D7C8: .db $01,$10,$30,$30,$38,$38,$40 CapeSpeed: .db $FF,$01,$01,$FF,$FF DATA_00D7D4: .db $01,$06,$03,$01,$00 DATA_00D7D9: .db $00,$00,$00,$F8,$F8,$F8,$F4,$F0 .db $C8,$02,$01 CODE_00D7E4: AC 07 14 LDY.W $1407 CODE_00D7E7: D0 3B BNE CODE_00D824 CODE_00D7E9: A5 72 LDA RAM_IsFlying CODE_00D7EB: F0 24 BEQ CODE_00D811 CODE_00D7ED: AD 8F 14 LDA.W $148F CODE_00D7F0: 0D 7A 18 ORA.W RAM_OnYoshi CODE_00D7F3: 0D 0D 14 ORA.W RAM_IsSpinJump CODE_00D7F6: D0 19 BNE CODE_00D811 CODE_00D7F8: AD ED 13 LDA.W $13ED CODE_00D7FB: 30 02 BMI CODE_00D7FF CODE_00D7FD: D0 12 BNE CODE_00D811 CODE_00D7FF: 9C ED 13 STZ.W $13ED CODE_00D802: A6 19 LDX RAM_MarioPowerUp CODE_00D804: E0 02 CPX.B #$02 CODE_00D806: D0 09 BNE CODE_00D811 CODE_00D808: A5 7D LDA RAM_MarioSpeedY CODE_00D80A: 30 05 BMI CODE_00D811 CODE_00D80C: AD 9F 14 LDA.W $149F CODE_00D80F: D0 03 BNE CODE_00D814 CODE_00D811: 4C CD D8 JMP.W CODE_00D8CD CODE_00D814: 64 73 STZ RAM_IsDucking ;\Mario isn't ducking CODE_00D816: A9 0B LDA.B #$0B ;| sort of flying CODE_00D818: 85 72 STA RAM_IsFlying ;| CODE_00D81A: 9C 09 14 STZ.W $1409 ;| time to fly up= none? CODE_00D81D: 20 4F D9 JSR.W CODE_00D94F ; Handling flying up time CODE_00D820: A2 02 LDX.B #$02 ;\ CODE_00D822: 80 37 BRA CODE_00D85B ;/ continue CODE_00D824: C0 02 CPY.B #$02 CODE_00D826: 90 03 BCC CODE_00D82B CODE_00D828: 20 4F D9 JSR.W CODE_00D94F CODE_00D82B: AE 08 14 LDX.W $1408 CODE_00D82E: E0 04 CPX.B #$04 CODE_00D830: F0 24 BEQ CODE_00D856 CODE_00D832: A2 03 LDX.B #$03 CODE_00D834: A4 7D LDY RAM_MarioSpeedY CODE_00D836: 30 1E BMI CODE_00D856 CODE_00D838: A5 15 LDA RAM_ControllerA CODE_00D83A: 29 03 AND.B #$03 CODE_00D83C: A8 TAY CODE_00D83D: D0 0A BNE CODE_00D849 CODE_00D83F: AD 07 14 LDA.W $1407 CODE_00D842: C9 04 CMP.B #$04 CODE_00D844: B0 10 BCS CODE_00D856 CODE_00D846: CA DEX CODE_00D847: 80 0D BRA CODE_00D856 CODE_00D849: 4A LSR CODE_00D84A: A4 76 LDY RAM_MarioDirection CODE_00D84C: F0 02 BEQ CODE_00D850 CODE_00D84E: 49 01 EOR.B #$01 CODE_00D850: AA TAX CODE_00D851: EC 08 14 CPX.W $1408 CODE_00D854: D0 05 BNE CODE_00D85B CODE_00D856: AD A4 14 LDA.W $14A4 CODE_00D859: D0 23 BNE CODE_00D87E CODE_00D85B: 24 15 BIT RAM_ControllerA CODE_00D85D: 70 02 BVS CODE_00D861 CODE_00D85F: A2 04 LDX.B #$04 CODE_00D861: AD 07 14 LDA.W $1407 CODE_00D864: DD D4 D7 CMP.W DATA_00D7D4,X CODE_00D867: F0 15 BEQ CODE_00D87E CODE_00D869: 18 CLC CODE_00D86A: 7D CF D7 ADC.W CapeSpeed,X CODE_00D86D: 8D 07 14 STA.W $1407 CODE_00D870: A9 08 LDA.B #$08 CODE_00D872: AC 09 14 LDY.W $1409 CODE_00D875: C0 C8 CPY.B #$C8 CODE_00D877: D0 02 BNE CODE_00D87B CODE_00D879: A9 02 LDA.B #$02 CODE_00D87B: 8D A4 14 STA.W $14A4 CODE_00D87E: 8E 08 14 STX.W $1408 CODE_00D881: AC 07 14 LDY.W $1407 CODE_00D884: F0 47 BEQ CODE_00D8CD CODE_00D886: A5 7D LDA RAM_MarioSpeedY CODE_00D888: 10 08 BPL CODE_00D892 CODE_00D88A: C9 C8 CMP.B #$C8 CODE_00D88C: B0 0C BCS CODE_00D89A CODE_00D88E: A9 C8 LDA.B #$C8 CODE_00D890: 80 08 BRA CODE_00D89A CODE_00D892: D9 C8 D7 CMP.W DATA_00D7C8,Y CODE_00D895: 90 03 BCC CODE_00D89A CODE_00D897: B9 C8 D7 LDA.W DATA_00D7C8,Y CODE_00D89A: 48 PHA CODE_00D89B: C0 01 CPY.B #$01 CODE_00D89D: D0 27 BNE CODE_00D8C6 CODE_00D89F: AE 09 14 LDX.W $1409 CODE_00D8A2: F0 20 BEQ CODE_00D8C4 CODE_00D8A4: A5 7D LDA RAM_MarioSpeedY CODE_00D8A6: 30 07 BMI CODE_00D8AF CODE_00D8A8: A9 09 LDA.B #$09 ; \ Play sound effect CODE_00D8AA: 8D F9 1D STA.W $1DF9 ; / CODE_00D8AD: 80 0A BRA CODE_00D8B9 CODE_00D8AF: CD 09 14 CMP.W $1409 CODE_00D8B2: B0 05 BCS CODE_00D8B9 CODE_00D8B4: 86 7D STX RAM_MarioSpeedY CODE_00D8B6: 9C 09 14 STZ.W $1409 CODE_00D8B9: A6 76 LDX RAM_MarioDirection CODE_00D8BB: A5 7B LDA RAM_MarioSpeedX CODE_00D8BD: F0 05 BEQ CODE_00D8C4 CODE_00D8BF: 5D 35 D5 EOR.W DATA_00D535,X CODE_00D8C2: 10 02 BPL CODE_00D8C6 CODE_00D8C4: A0 02 LDY.B #$02 CODE_00D8C6: 68 PLA CODE_00D8C7: C8 INY CODE_00D8C8: C8 INY CODE_00D8C9: C8 INY CODE_00D8CA: 4C 48 D9 JMP.W CODE_00D948 CODE_00D8CD: A5 72 LDA RAM_IsFlying ; \ Branch if not flying CODE_00D8CF: F0 57 BEQ CODE_00D928 ; / CODE_00D8D1: A2 00 LDX.B #$00 ; X = #$00 CODE_00D8D3: AD 7A 18 LDA.W RAM_OnYoshi ; \ Branch if not on Yoshi CODE_00D8D6: F0 0F BEQ CODE_00D8E7 ; / CODE_00D8D8: AD 1E 14 LDA.W RAM_YoshiHasWings ; \ Branch if not winged Yoshi CODE_00D8DB: 4A LSR ; | CODE_00D8DC: F0 09 BEQ CODE_00D8E7 ; / CODE_00D8DE: A0 02 LDY.B #$02 ; \ Branch if not Caped Mario CODE_00D8E0: C4 19 CPY RAM_MarioPowerUp ; | CODE_00D8E2: F0 01 BEQ CODE_00D8E5 ; / CODE_00D8E4: E8 INX ; X= #$01 CODE_00D8E5: 80 18 BRA CODE_00D8FF CODE_00D8E7: A5 19 LDA RAM_MarioPowerUp ; \ Branch if not Caped Mario CODE_00D8E9: C9 02 CMP.B #$02 ; | CODE_00D8EB: D0 3B BNE CODE_00D928 ; / CODE_00D8ED: A5 72 LDA RAM_IsFlying ; \ Branch if $72 != 0C CODE_00D8EF: C9 0C CMP.B #$0C ; | CODE_00D8F1: D0 0A BNE CODE_00D8FD ; / CODE_00D8F3: A0 01 LDY.B #$01 CODE_00D8F5: CC 9F 14 CPY.W $149F CODE_00D8F8: 90 05 BCC CODE_00D8FF CODE_00D8FA: EE 9F 14 INC.W $149F CODE_00D8FD: A0 00 LDY.B #$00 CODE_00D8FF: AD A5 14 LDA.W $14A5 CODE_00D902: D0 09 BNE CODE_00D90D CODE_00D904: B5 15 LDA RAM_ControllerA,X CODE_00D906: 10 1C BPL CODE_00D924 CODE_00D908: A9 10 LDA.B #$10 CODE_00D90A: 8D A5 14 STA.W $14A5 CODE_00D90D: A5 7D LDA RAM_MarioSpeedY CODE_00D90F: 10 0A BPL CODE_00D91B CODE_00D911: BE B9 D7 LDX.W DATA_00D7B9,Y CODE_00D914: 10 0E BPL CODE_00D924 CODE_00D916: D9 B9 D7 CMP.W DATA_00D7B9,Y CODE_00D919: 90 09 BCC CODE_00D924 CODE_00D91B: B9 B9 D7 LDA.W DATA_00D7B9,Y CODE_00D91E: C5 7D CMP RAM_MarioSpeedY CODE_00D920: F0 2A BEQ CODE_00D94C CODE_00D922: 30 28 BMI CODE_00D94C CODE_00D924: C0 02 CPY.B #$02 CODE_00D926: F0 08 BEQ CODE_00D930 CODE_00D928: A0 01 LDY.B #$01 CODE_00D92A: A5 15 LDA RAM_ControllerA CODE_00D92C: 30 02 BMI CODE_00D930 CODE_00D92E: A0 00 LDY.B #$00 CODE_00D930: A5 7D LDA RAM_MarioSpeedY ; \ If Mario's Y speed is negative (up), CODE_00D932: 30 14 BMI CODE_00D948 ; / branch to $D948 CODE_00D934: D9 AF D7 CMP.W DATA_00D7AF,Y CODE_00D937: 90 03 BCC CODE_00D93C CODE_00D939: B9 AF D7 LDA.W DATA_00D7AF,Y CODE_00D93C: A6 72 LDX RAM_IsFlying CODE_00D93E: F0 08 BEQ CODE_00D948 CODE_00D940: E0 0B CPX.B #$0B CODE_00D942: D0 04 BNE CODE_00D948 CODE_00D944: A2 24 LDX.B #$24 CODE_00D946: 86 72 STX RAM_IsFlying CODE_00D948: 18 CLC CODE_00D949: 79 A5 D7 ADC.W DATA_00D7A5,Y CODE_00D94C: 85 7D STA RAM_MarioSpeedY Return00D94E: 60 RTS ; Return CODE_00D94F: 9C 0A 14 STZ.W $140A CODE_00D952: A5 7D LDA RAM_MarioSpeedY ;\ if mario is moving to the right, keep A CODE_00D954: 10 02 BPL CODE_00D958 ;/ CODE_00D956: A9 00 LDA.B #$00 ; reset A CODE_00D958: 4A LSR ;\ CODE_00D959: 4A LSR ;| CODE_00D95A: 4A LSR ;| CODE_00D95B: A8 TAY ;|handle flying up time, I think CODE_00D95C: B9 D9 D7 LDA.W DATA_00D7D9,Y ;| CODE_00D95F: CD 09 14 CMP.W $1409 ;| CODE_00D962: 10 03 BPL Return00D967 ;| CODE_00D964: 8D 09 14 STA.W $1409 ;/ Return00D967: 60 RTS ; Return CODE_00D968: A0 00 LDY.B #$00 CODE_00D96A: AD E4 13 LDA.W $13E4 CODE_00D96D: 18 CLC CODE_00D96E: 79 EB D5 ADC.W DATA_00D5EB,Y CODE_00D971: 10 02 BPL CODE_00D975 CODE_00D973: A9 00 LDA.B #$00 CODE_00D975: C9 70 CMP.B #$70 CODE_00D977: 90 03 BCC CODE_00D97C CODE_00D979: C8 INY CODE_00D97A: A9 70 LDA.B #$70 CODE_00D97C: 8D E4 13 STA.W $13E4 Return00D97F: 60 RTS ; Return DATA_00D980: .db $16,$1A,$1A,$18 DATA_00D984: .db $E8,$F8,$D0,$D0 CODE_00D988: 9C ED 13 STZ.W $13ED CODE_00D98B: 64 73 STZ RAM_IsDucking CODE_00D98D: 9C 07 14 STZ.W $1407 CODE_00D990: 9C 0D 14 STZ.W RAM_IsSpinJump CODE_00D993: A4 7D LDY RAM_MarioSpeedY CODE_00D995: AD 8F 14 LDA.W $148F CODE_00D998: F0 51 BEQ CODE_00D9EB CODE_00D99A: A5 72 LDA RAM_IsFlying CODE_00D99C: D0 11 BNE CODE_00D9AF CODE_00D99E: A5 16 LDA $16 CODE_00D9A0: 05 18 ORA $18 CODE_00D9A2: 10 0B BPL CODE_00D9AF CODE_00D9A4: A9 0B LDA.B #$0B CODE_00D9A6: 85 72 STA RAM_IsFlying CODE_00D9A8: 9C ED 13 STZ.W $13ED CODE_00D9AB: A0 F0 LDY.B #$F0 CODE_00D9AD: 80 06 BRA CODE_00D9B5 CODE_00D9AF: A5 15 LDA RAM_ControllerA CODE_00D9B1: 29 04 AND.B #$04 CODE_00D9B3: F0 08 BEQ CODE_00D9BD CODE_00D9B5: 20 A9 DA JSR.W CODE_00DAA9 CODE_00D9B8: 98 TYA CODE_00D9B9: 18 CLC CODE_00D9BA: 69 08 ADC.B #$08 CODE_00D9BC: A8 TAY CODE_00D9BD: C8 INY CODE_00D9BE: AD FA 13 LDA.W $13FA CODE_00D9C1: D0 09 BNE CODE_00D9CC CODE_00D9C3: 88 DEY CODE_00D9C4: A5 14 LDA RAM_FrameCounterB CODE_00D9C6: 29 03 AND.B #$03 CODE_00D9C8: D0 02 BNE CODE_00D9CC CODE_00D9CA: 88 DEY CODE_00D9CB: 88 DEY CODE_00D9CC: 98 TYA CODE_00D9CD: 30 08 BMI CODE_00D9D7 CODE_00D9CF: C9 10 CMP.B #$10 CODE_00D9D1: 90 0A BCC CODE_00D9DD CODE_00D9D3: A9 10 LDA.B #$10 CODE_00D9D5: 80 06 BRA CODE_00D9DD CODE_00D9D7: C9 F0 CMP.B #$F0 CODE_00D9D9: B0 02 BCS CODE_00D9DD CODE_00D9DB: A9 F0 LDA.B #$F0 CODE_00D9DD: 85 7D STA RAM_MarioSpeedY CODE_00D9DF: A0 80 LDY.B #$80 CODE_00D9E1: A5 15 LDA RAM_ControllerA CODE_00D9E3: 29 03 AND.B #$03 CODE_00D9E5: D0 61 BNE CODE_00DA48 CODE_00D9E7: A5 76 LDA RAM_MarioDirection CODE_00D9E9: 80 5B BRA CODE_00DA46 CODE_00D9EB: A5 16 LDA $16 CODE_00D9ED: 05 18 ORA $18 CODE_00D9EF: 10 1A BPL CODE_00DA0B CODE_00D9F1: AD FA 13 LDA.W $13FA CODE_00D9F4: D0 15 BNE CODE_00DA0B CODE_00D9F6: 20 A9 DA JSR.W CODE_00DAA9 CODE_00D9F9: A5 72 LDA RAM_IsFlying CODE_00D9FB: D0 09 BNE CODE_00DA06 CODE_00D9FD: A9 0B LDA.B #$0B CODE_00D9FF: 85 72 STA RAM_IsFlying CODE_00DA01: 9C ED 13 STZ.W $13ED CODE_00DA04: A0 F0 LDY.B #$F0 CODE_00DA06: 98 TYA CODE_00DA07: 38 SEC CODE_00DA08: E9 20 SBC.B #$20 CODE_00DA0A: A8 TAY CODE_00DA0B: A5 14 LDA RAM_FrameCounterB CODE_00DA0D: 29 03 AND.B #$03 CODE_00DA0F: D0 02 BNE CODE_00DA13 CODE_00DA11: C8 INY CODE_00DA12: C8 INY CODE_00DA13: A5 15 LDA RAM_ControllerA CODE_00DA15: 29 0C AND.B #$0C CODE_00DA17: 4A LSR CODE_00DA18: 4A LSR CODE_00DA19: AA TAX CODE_00DA1A: 98 TYA CODE_00DA1B: 30 08 BMI CODE_00DA25 CODE_00DA1D: C9 40 CMP.B #$40 CODE_00DA1F: 90 0C BCC CODE_00DA2D CODE_00DA21: A9 40 LDA.B #$40 CODE_00DA23: 80 08 BRA CODE_00DA2D CODE_00DA25: DD 84 D9 CMP.W DATA_00D984,X CODE_00DA28: B0 03 BCS CODE_00DA2D CODE_00DA2A: BD 84 D9 LDA.W DATA_00D984,X CODE_00DA2D: 85 7D STA RAM_MarioSpeedY CODE_00DA2F: A5 72 LDA RAM_IsFlying CODE_00DA31: D0 0D BNE CODE_00DA40 CODE_00DA33: A5 15 LDA RAM_ControllerA CODE_00DA35: 29 04 AND.B #$04 CODE_00DA37: F0 07 BEQ CODE_00DA40 CODE_00DA39: 9C E8 13 STZ.W $13E8 CODE_00DA3C: E6 73 INC RAM_IsDucking CODE_00DA3E: 80 29 BRA CODE_00DA69 CODE_00DA40: A5 15 LDA RAM_ControllerA CODE_00DA42: 29 03 AND.B #$03 CODE_00DA44: F0 23 BEQ CODE_00DA69 CODE_00DA46: A0 78 LDY.B #$78 CODE_00DA48: 84 00 STY $00 CODE_00DA4A: 29 01 AND.B #$01 CODE_00DA4C: 85 76 STA RAM_MarioDirection CODE_00DA4E: 48 PHA CODE_00DA4F: 0A ASL CODE_00DA50: 0A ASL CODE_00DA51: AA TAX CODE_00DA52: 68 PLA CODE_00DA53: 05 00 ORA $00 CODE_00DA55: AC 03 14 LDY.W $1403 CODE_00DA58: F0 03 BEQ CODE_00DA5D CODE_00DA5A: 18 CLC CODE_00DA5B: 69 04 ADC.B #$04 CODE_00DA5D: A8 TAY CODE_00DA5E: A5 72 LDA RAM_IsFlying CODE_00DA60: F0 02 BEQ CODE_00DA64 CODE_00DA62: C8 INY CODE_00DA63: C8 INY CODE_00DA64: 20 42 D7 JSR.W CODE_00D742 CODE_00DA67: 80 13 BRA CODE_00DA7C CODE_00DA69: A0 00 LDY.B #$00 CODE_00DA6B: BB TYX CODE_00DA6C: AD 03 14 LDA.W $1403 CODE_00DA6F: F0 08 BEQ CODE_00DA79 CODE_00DA71: A2 1E LDX.B #$1E CODE_00DA73: A5 72 LDA RAM_IsFlying CODE_00DA75: D0 02 BNE CODE_00DA79 CODE_00DA77: E8 INX CODE_00DA78: E8 INX CODE_00DA79: 20 72 D7 JSR.W CODE_00D772 CODE_00DA7C: 20 62 D0 JSR.W CODE_00D062 CODE_00DA7F: 22 B1 CE 00 JSL.L CODE_00CEB1 CODE_00DA83: AD A6 14 LDA.W $14A6 CODE_00DA86: D0 04 BNE Return00DA8C CODE_00DA88: A5 72 LDA RAM_IsFlying CODE_00DA8A: D0 01 BNE CODE_00DA8D Return00DA8C: 60 RTS ; Return CODE_00DA8D: A9 18 LDA.B #$18 CODE_00DA8F: AC 9C 14 LDY.W RAM_FireballImgTimer CODE_00DA92: D0 0B BNE CODE_00DA9F CODE_00DA94: AD 96 14 LDA.W $1496 CODE_00DA97: 4A LSR CODE_00DA98: 4A LSR CODE_00DA99: 29 03 AND.B #$03 CODE_00DA9B: A8 TAY CODE_00DA9C: B9 80 D9 LDA.W DATA_00D980,Y CODE_00DA9F: AC 8F 14 LDY.W $148F CODE_00DAA2: F0 01 BEQ CODE_00DAA5 CODE_00DAA4: 1A INC A CODE_00DAA5: 8D E0 13 STA.W MarioFrame Return00DAA8: 60 RTS ; Return CODE_00DAA9: A9 0E LDA.B #$0E ; \ Play sound effect CODE_00DAAB: 8D F9 1D STA.W $1DF9 ; / CODE_00DAAE: AD 96 14 LDA.W $1496 CODE_00DAB1: 09 10 ORA.B #$10 CODE_00DAB3: 8D 96 14 STA.W $1496 Return00DAB6: 60 RTS ; Return DATA_00DAB7: .db $10,$08,$F0,$F8 DATA_00DABB: .db $B0,$F0 DATA_00DABD: .db $00,$01,$00,$01,$01,$01,$01,$01 .db $01,$01,$01,$01,$01,$01,$01,$01 DATA_00DACD: .db $22,$15,$22,$15,$21,$1F,$20,$20 .db $20,$20,$1F,$21,$1F,$21 ClimbingImgs: .db $15,$22 ClimbPunchingImgs: .db $1E,$23 DATA_00DADF: .db $10,$0F,$0E,$0D,$0C,$0B,$0A,$09 .db $08,$07,$06,$05,$05,$05,$05,$05 .db $05,$05 DATA_00DAF1: .db $20,$01,$40,$01,$2A,$01,$2A,$01 .db $30,$01,$33,$01,$32,$01,$34,$01 .db $36,$01,$38,$01,$3A,$01,$3B,$01 .db $45,$01,$45,$01,$45,$01,$45,$01 .db $45,$01,$45,$01,$08,$F8 CODE_00DB17: 64 72 STZ RAM_IsFlying CODE_00DB19: 64 7D STZ RAM_MarioSpeedY CODE_00DB1B: 9C DF 13 STZ.W $13DF CODE_00DB1E: 9C 0D 14 STZ.W RAM_IsSpinJump CODE_00DB21: AC 9D 14 LDY.W $149D CODE_00DB24: F0 57 BEQ CODE_00DB7D CODE_00DB26: AD 78 18 LDA.W $1878 CODE_00DB29: 10 03 BPL CODE_00DB2E CODE_00DB2B: 49 FF EOR.B #$FF CODE_00DB2D: 1A INC A CODE_00DB2E: AA TAX CODE_00DB2F: C0 1E CPY.B #$1E CODE_00DB31: 90 12 BCC CODE_00DB45 CODE_00DB33: BD DF DA LDA.W DATA_00DADF,X CODE_00DB36: 2C 78 18 BIT.W $1878 CODE_00DB39: 10 03 BPL CODE_00DB3E CODE_00DB3B: 49 FF EOR.B #$FF CODE_00DB3D: 1A INC A CODE_00DB3E: 85 7B STA RAM_MarioSpeedX CODE_00DB40: 64 7A STZ $7A CODE_00DB42: 9C DA 13 STZ.W $13DA CODE_00DB45: 8A TXA CODE_00DB46: 0A ASL CODE_00DB47: AA TAX CODE_00DB48: AD 78 18 LDA.W $1878 CODE_00DB4B: C0 08 CPY.B #$08 CODE_00DB4D: B0 02 BCS CODE_00DB51 CODE_00DB4F: 49 80 EOR.B #$80 CODE_00DB51: 0A ASL CODE_00DB52: C2 20 REP #$20 ; Accum (16 bit) CODE_00DB54: BD F1 DA LDA.W DATA_00DAF1,X CODE_00DB57: B0 04 BCS CODE_00DB5D CODE_00DB59: 49 FF FF EOR.W #$FFFF CODE_00DB5C: 1A INC A CODE_00DB5D: 18 CLC CODE_00DB5E: 65 7A ADC $7A CODE_00DB60: 85 7A STA $7A CODE_00DB62: E2 20 SEP #$20 ; Accum (8 bit) CODE_00DB64: 98 TYA CODE_00DB65: 4A LSR CODE_00DB66: 29 0E AND.B #$0E CODE_00DB68: 0D F0 13 ORA.W $13F0 CODE_00DB6B: A8 TAY CODE_00DB6C: B9 BD DA LDA.W DATA_00DABD,Y CODE_00DB6F: 2C 78 18 BIT.W $1878 CODE_00DB72: 30 02 BMI CODE_00DB76 CODE_00DB74: 49 01 EOR.B #$01 CODE_00DB76: 85 76 STA RAM_MarioDirection CODE_00DB78: B9 CD DA LDA.W DATA_00DACD,Y CODE_00DB7B: 80 15 BRA CODE_00DB92 CODE_00DB7D: 64 7B STZ RAM_MarioSpeedX CODE_00DB7F: 64 7A STZ $7A CODE_00DB81: AE F9 13 LDX.W RAM_IsBehindScenery CODE_00DB84: AD 9E 14 LDA.W $149E CODE_00DB87: F0 0D BEQ CODE_00DB96 CODE_00DB89: 8A TXA CODE_00DB8A: 1A INC A CODE_00DB8B: 1A INC A CODE_00DB8C: 20 44 D0 JSR.W CODE_00D044 CODE_00DB8F: BD DD DA LDA.W ClimbPunchingImgs,X CODE_00DB92: 8D E0 13 STA.W MarioFrame Return00DB95: 60 RTS ; Return CODE_00DB96: A4 75 LDY RAM_IsSwimming ; Mario is in Water flag CODE_00DB98: 24 16 BIT $16 CODE_00DB9A: 10 10 BPL CODE_00DBAC CODE_00DB9C: A9 0B LDA.B #$0B ;\ Certain amount of flying meter CODE_00DB9E: 85 72 STA RAM_IsFlying ;/ CODE_00DBA0: B9 BB DA LDA.W DATA_00DABB,Y ;\ Gravity I suppose CODE_00DBA3: 85 7D STA RAM_MarioSpeedY ;/ CODE_00DBA5: A9 01 LDA.B #$01 ; \ Play sound effect CODE_00DBA7: 8D FA 1D STA.W $1DFA ; / CODE_00DBAA: 80 54 BRA CODE_00DC00 CODE_00DBAC: 50 1C BVC CODE_00DBCA CODE_00DBAE: A5 74 LDA RAM_IsClimbing CODE_00DBB0: 10 18 BPL CODE_00DBCA CODE_00DBB2: A9 01 LDA.B #$01 ; \ Play sound effect CODE_00DBB4: 8D F9 1D STA.W $1DF9 ; / CODE_00DBB7: 8E F0 13 STX.W $13F0 CODE_00DBBA: A5 94 LDA RAM_MarioXPos ; Mario X CODE_00DBBC: 29 08 AND.B #$08 ;\ CODE_00DBBE: 4A LSR ;| CODE_00DBBF: 4A LSR ;| CODE_00DBC0: 4A LSR ;| CODE_00DBC1: 49 01 EOR.B #$01 ;| CODE_00DBC3: 85 76 STA RAM_MarioDirection ;/Mario's Direction Determined by Xpos CODE_00DBC5: A9 08 LDA.B #$08 CODE_00DBC7: 8D 9E 14 STA.W $149E CODE_00DBCA: BD DB DA LDA.W ClimbingImgs,X ;\ CODE_00DBCD: 8D E0 13 STA.W MarioFrame ;/Store A in Mario image CODE_00DBD0: A5 15 LDA RAM_ControllerA ;\ CODE_00DBD2: 29 03 AND.B #$03 ;| If Left/Right not pressed ignore this CODE_00DBD4: F0 1C BEQ CODE_00DBF2 ;/ CODE_00DBD6: 4A LSR ;\ CODE_00DBD7: AA TAX ;| CODE_00DBD8: A5 8B LDA $8B CODE_00DBDA: 29 18 AND.B #$18 CODE_00DBDC: C9 18 CMP.B #$18 CODE_00DBDE: F0 08 BEQ CODE_00DBE8 CODE_00DBE0: A5 74 LDA RAM_IsClimbing ;\ If climbing make him stop and return CODE_00DBE2: 10 1C BPL CODE_00DC00 ;/ CODE_00DBE4: E4 8C CPX $8C CODE_00DBE6: F0 0A BEQ CODE_00DBF2 CODE_00DBE8: 8A TXA ;\ CODE_00DBE9: 0A ASL ;| Index to Xspeed CODE_00DBEA: 05 75 ORA RAM_IsSwimming ;| CODE_00DBEC: AA TAX ;/ CODE_00DBED: BD B7 DA LDA.W DATA_00DAB7,X ;\$10,$08,$F0,$F8 CODE_00DBF0: 85 7B STA RAM_MarioSpeedX ;/ CODE_00DBF2: A5 15 LDA RAM_ControllerA ; \ CODE_00DBF4: 29 0C AND.B #$0C ; |If up or down isn't pressed, branch to $DC16 CODE_00DBF6: F0 1E BEQ CODE_00DC16 ; / CODE_00DBF8: 29 08 AND.B #$08 ; \ If up is pressed, branch to $DC03 CODE_00DBFA: D0 07 BNE CODE_00DC03 ; / CODE_00DBFC: 46 8B LSR $8B CODE_00DBFE: B0 0B BCS CODE_00DC0B CODE_00DC00: 64 74 STZ RAM_IsClimbing ; Mario isn't climbing Return00DC02: 60 RTS ; Return CODE_00DC03: C8 INY CODE_00DC04: C8 INY CODE_00DC05: A5 8B LDA $8B CODE_00DC07: 29 02 AND.B #$02 CODE_00DC09: F0 0B BEQ CODE_00DC16 CODE_00DC0B: A5 74 LDA RAM_IsClimbing CODE_00DC0D: 30 02 BMI CODE_00DC11 CODE_00DC0F: 64 7B STZ RAM_MarioSpeedX CODE_00DC11: B9 B7 DA LDA.W DATA_00DAB7,Y CODE_00DC14: 85 7D STA RAM_MarioSpeedY CODE_00DC16: 05 7B ORA RAM_MarioSpeedX CODE_00DC18: F0 12 BEQ Return00DC2C CODE_00DC1A: AD 96 14 LDA.W $1496 CODE_00DC1D: 09 08 ORA.B #$08 CODE_00DC1F: 8D 96 14 STA.W $1496 CODE_00DC22: 29 07 AND.B #$07 CODE_00DC24: D0 06 BNE Return00DC2C CODE_00DC26: A5 76 LDA RAM_MarioDirection CODE_00DC28: 49 01 EOR.B #$01 CODE_00DC2A: 85 76 STA RAM_MarioDirection Return00DC2C: 60 RTS ; Return CODE_00DC2D: A5 7D LDA RAM_MarioSpeedY ; \ Store Mario's Y speed in $8A CODE_00DC2F: 85 8A STA $8A ; / CODE_00DC31: AD E3 13 LDA.W RAM_WallWalkStatus CODE_00DC34: F0 0A BEQ CODE_00DC40 CODE_00DC36: 4A LSR CODE_00DC37: A5 7B LDA RAM_MarioSpeedX CODE_00DC39: 90 03 BCC CODE_00DC3E CODE_00DC3B: 49 FF EOR.B #$FF CODE_00DC3D: 1A INC A CODE_00DC3E: 85 7D STA RAM_MarioSpeedY CODE_00DC40: A2 00 LDX.B #$00 CODE_00DC42: 20 4F DC JSR.W CODE_00DC4F CODE_00DC45: A2 02 LDX.B #$02 CODE_00DC47: 20 4F DC JSR.W CODE_00DC4F CODE_00DC4A: A5 8A LDA $8A CODE_00DC4C: 85 7D STA RAM_MarioSpeedY Return00DC4E: 60 RTS ; Return CODE_00DC4F: B5 7B LDA RAM_MarioSpeedX,X CODE_00DC51: 0A ASL CODE_00DC52: 0A ASL CODE_00DC53: 0A ASL CODE_00DC54: 0A ASL CODE_00DC55: 18 CLC CODE_00DC56: 7D DA 13 ADC.W $13DA,X CODE_00DC59: 9D DA 13 STA.W $13DA,X CODE_00DC5C: C2 20 REP #$20 ; Accum (16 bit) CODE_00DC5E: 08 PHP CODE_00DC5F: B5 7B LDA RAM_MarioSpeedX,X CODE_00DC61: 4A LSR CODE_00DC62: 4A LSR CODE_00DC63: 4A LSR CODE_00DC64: 4A LSR CODE_00DC65: 29 0F 00 AND.W #$000F CODE_00DC68: C9 08 00 CMP.W #$0008 CODE_00DC6B: 90 03 BCC CODE_00DC70 CODE_00DC6D: 09 F0 FF ORA.W #$FFF0 CODE_00DC70: 28 PLP CODE_00DC71: 75 94 ADC RAM_MarioXPos,X CODE_00DC73: 95 94 STA RAM_MarioXPos,X CODE_00DC75: E2 20 SEP #$20 ; Accum (8 bit) Return00DC77: 60 RTS ; Return NumWalkingFrames: .db $01,$02,$02,$02 DATA_00DC7C: .db $0A,$08,$06,$04,$03,$02,$01,$01 .db $0A,$08,$06,$04,$03,$02,$01,$01 .db $0A,$08,$06,$04,$03,$02,$01,$01 .db $08,$06,$04,$03,$02,$01,$01,$01 .db $08,$06,$04,$03,$02,$01,$01,$01 .db $05,$04,$03,$02,$01,$01,$01,$01 .db $05,$04,$03,$02,$01,$01,$01,$01 .db $05,$04,$03,$02,$01,$01,$01,$01 .db $05,$04,$03,$02,$01,$01,$01,$01 .db $05,$04,$03,$02,$01,$01,$01,$01 .db $05,$04,$03,$02,$01,$01,$01,$01 .db $04,$03,$02,$01,$01,$01,$01,$01 .db $04,$03,$02,$01,$01,$01,$01,$01 .db $02,$02,$02,$02,$02,$02,$02,$02 DATA_00DCEC: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $02,$04,$04,$04,$0E,$08,$00,$00 .db $00,$00,$00,$00,$00,$00,$08,$08 .db $08,$08,$08,$08,$00,$00,$00,$00 .db $0C,$10,$12,$14,$16,$18,$1A,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$06,$00,$00 .db $00,$00,$00,$0A,$00,$00 DATA_00DD32: .db $00,$08,$10,$14,$18,$1E,$24,$24 .db $28,$30,$38,$3E,$44,$4A,$50,$54 .db $58,$58,$5C,$60,$64,$68,$6C,$70 .db $74,$78,$7C,$80 DATA_00DD4E: .db $00,$00,$00,$00,$10,$00,$10,$00 .db $00,$00,$00,$00,$F8,$FF,$F8,$FF .db $0E,$00,$06,$00,$F2,$FF,$FA,$FF .db $17,$00,$07,$00,$0F,$00,$EA,$FF .db $FA,$FF,$FA,$FF,$00,$00,$00,$00 .db $00,$00,$00,$00,$10,$00,$10,$00 .db $00,$00,$00,$00,$F8,$FF,$F8,$FF .db $00,$00,$F8,$FF,$08,$00,$00,$00 .db $08,$00,$F8,$FF,$00,$00,$00,$00 .db $F8,$FF,$00,$00,$00,$00,$10,$00 .db $02,$00,$00,$00,$FE,$FF,$00,$00 .db $00,$00,$00,$00,$FC,$FF,$05,$00 .db $04,$00,$FB,$FF,$FB,$FF,$06,$00 .db $05,$00,$FA,$FF,$F9,$FF,$09,$00 .db $07,$00,$F7,$FF,$FD,$FF,$FD,$FF .db $03,$00,$03,$00,$FF,$FF,$07,$00 .db $01,$00,$F9,$FF,$0A,$00,$F6,$FF .db $08,$00,$F8,$FF,$08,$00,$F8,$FF .db $00,$00,$04,$00,$FC,$FF,$FE,$FF .db $02,$00,$0B,$00,$F5,$FF,$14,$00 .db $EC,$FF,$0E,$00,$F3,$FF,$08,$00 .db $F8,$FF,$0C,$00,$14,$00,$FD,$FF .db $F4,$FF,$F4,$FF,$0B,$00,$0B,$00 .db $03,$00,$13,$00,$F5,$FF,$05,$00 .db $F5,$FF,$09,$00,$01,$00,$01,$00 .db $F7,$FF,$07,$00,$07,$00,$05,$00 .db $0D,$00,$0D,$00,$FB,$FF,$FB,$FF .db $FB,$FF,$FF,$FF,$0F,$00,$01,$00 .db $F9,$FF,$00,$00 DATA_00DE32: .db $01,$00,$11,$00,$11,$00,$19,$00 .db $01,$00,$11,$00,$11,$00,$19,$00 .db $0C,$00,$14,$00,$0C,$00,$14,$00 .db $18,$00,$18,$00,$28,$00,$18,$00 .db $18,$00,$28,$00,$06,$00,$16,$00 .db $01,$00,$11,$00,$09,$00,$11,$00 .db $01,$00,$11,$00,$09,$00,$11,$00 .db $01,$00,$11,$00,$11,$00,$01,$00 .db $11,$00,$11,$00,$01,$00,$11,$00 .db $11,$00,$01,$00,$11,$00,$11,$00 .db $01,$00,$11,$00,$01,$00,$11,$00 .db $11,$00,$05,$00,$04,$00,$14,$00 .db $04,$00,$14,$00,$0C,$00,$14,$00 .db $0C,$00,$14,$00,$10,$00,$10,$00 .db $10,$00,$10,$00,$10,$00,$00,$00 .db $10,$00,$00,$00,$10,$00,$00,$00 .db $10,$00,$00,$00,$0B,$00,$0B,$00 .db $11,$00,$11,$00,$FF,$FF,$FF,$FF .db $10,$00,$10,$00,$10,$00,$10,$00 .db $10,$00,$10,$00,$10,$00,$15,$00 .db $15,$00,$25,$00,$25,$00,$04,$00 .db $04,$00,$04,$00,$14,$00,$14,$00 .db $04,$00,$14,$00,$14,$00,$04,$00 .db $04,$00,$14,$00,$04,$00,$04,$00 .db $14,$00,$00,$00,$08,$00,$00,$00 .db $00,$00,$08,$00,$00,$00,$00,$00 .db $10,$00,$18,$00,$00,$00,$10,$00 .db $18,$00,$00,$00,$10,$00,$00,$00 .db $10,$00,$F8,$FF TilesetIndex: .db $00,$46,$83,$46 TileExpansion?: .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,$28,$00,$00,$00,$00 .db $00,$00,$04,$04,$04,$00,$00,$00 .db $00,$00,$08,$00,$00,$00,$00,$0C .db $0C,$0C,$00,$00,$10,$10,$14,$14 .db $18,$18,$00,$00,$1C,$00,$00,$00 .db $00,$20,$00,$00,$00,$00,$24,$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,$04 .db $04,$04,$00,$00,$00,$00,$00,$08 .db $00,$00,$00,$00,$0C,$0C,$0C,$00 .db $00,$10,$10,$14,$14,$18,$18,$00 .db $00,$1C,$00,$00,$00,$00,$20,$00 .db $00,$00,$00,$24,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 Mario8x8Tiles: .db $00,$02,$80,$80,$00,$02,$0C,$80 .db $00,$02,$1A,$1B,$00,$02,$0D,$80 .db $00,$02,$22,$23,$00,$02,$32,$33 .db $00,$02,$0A,$0B,$00,$02,$30,$31 .db $00,$02,$20,$21,$00,$02,$7E,$80 .db $00,$02,$02,$80,$04,$7F,$4A,$5B .db $4B,$5A DATA_00E00C: .db $50,$50,$50,$09,$50,$50,$50,$50 .db $50,$50,$09,$2B,$50,$2D,$50,$D5 .db $2E,$C4,$C4,$C4,$D6,$B6,$50,$50 .db $50,$50,$50,$50,$50,$C5,$D7,$2A .db $E0,$50,$D5,$29,$2C,$B6,$D6,$28 .db $E0,$E0,$C5,$C5,$C5,$C5,$C5,$C5 .db $5C,$5C,$50,$5A,$B6,$50,$28,$28 .db $C5,$D7,$28,$70,$C5,$70,$1C,$93 .db $C5,$C5,$0B,$85,$90,$84,$70,$70 .db $70,$A0,$70,$70,$70,$70,$70,$70 .db $A0,$74,$70,$80,$70,$84,$17,$A4 .db $A4,$A4,$B3,$B0,$70,$70,$70,$70 .db $70,$70,$70,$E2,$72,$0F,$61,$70 .db $63,$82,$C7,$90,$B3,$D4,$A5,$C0 .db $08,$54,$0C,$0E,$1B,$51,$49,$4A .db $48,$4B,$4C,$5D,$5E,$5F,$E3,$90 .db $5F,$5F,$C5,$70,$70,$70,$A0,$70 .db $70,$70,$70,$70,$70,$A0,$74,$70 .db $80,$70,$84,$17,$A4,$A4,$A4,$B3 .db $B0,$70,$70,$70,$70,$70,$70,$70 .db $E2,$72,$0F,$61,$70,$63,$82,$C7 .db $90,$B3,$D4,$A5,$C0,$08,$64,$0C .db $0E,$1B,$51,$49,$4A,$48,$4B,$4C .db $5D,$5E,$5F,$E3,$90,$5F,$5F,$C5 DATA_00E0CC: .db $71,$60,$60,$19,$94,$96,$96,$A2 .db $97,$97,$18,$3B,$B4,$3D,$A7,$E5 .db $2F,$D3,$C3,$C3,$F6,$D0,$B1,$81 .db $B2,$86,$B4,$87,$A6,$D1,$F7,$3A .db $F0,$F4,$F5,$39,$3C,$C6,$E6,$38 .db $F1,$F0,$C5,$C5,$C5,$C5,$C5,$C5 .db $6C,$4D,$71,$6A,$6B,$60,$38,$F1 .db $5B,$69,$F1,$F1,$4E,$E1,$1D,$A3 .db $C5,$C5,$1A,$95,$10,$07,$02,$01 .db $00,$02,$14,$13,$12,$30,$27,$26 .db $30,$03,$15,$04,$31,$07,$E7,$25 .db $24,$23,$62,$36,$33,$91,$34,$92 .db $35,$A1,$32,$F2,$73,$1F,$C0,$C1 .db $C2,$83,$D2,$10,$B7,$E4,$B5,$61 .db $0A,$55,$0D,$75,$77,$1E,$59,$59 .db $58,$02,$02,$6D,$6E,$6F,$F3,$68 .db $6F,$6F,$06,$02,$01,$00,$02,$14 .db $13,$12,$30,$27,$26,$30,$03,$15 .db $04,$31,$07,$E7,$25,$24,$23,$62 .db $36,$33,$91,$34,$92,$35,$A1,$32 .db $F2,$73,$1F,$C0,$C1,$C2,$83,$D2 .db $10,$B7,$E4,$B5,$61,$0A,$55,$0D .db $75,$77,$1E,$59,$59,$58,$02,$02 .db $6D,$6E,$6F,$F3,$68,$6F,$6F,$06 MarioPalIndex: .db $00,$40 DATA_00E18E: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$0D,$00,$10 .db $13,$22,$25,$28,$00,$16,$00,$00 .db $00,$00,$00,$00,$00,$08,$19,$1C .db $04,$1F,$10,$10,$00,$16,$10,$06 .db $04,$08,$2B,$30,$35,$3A,$3F,$43 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $16,$16,$00,$00,$08,$00,$00,$00 .db $00,$00,$00,$10,$04,$00 DATA_00E1D4: .db $06 DATA_00E1D5: .db $00 DATA_00E1D6: .db $06 DATA_00E1D7: .db $00 DATA_00E1D8: .db $86,$02,$06,$03,$06,$01,$06,$CE .db $06,$06,$40,$00,$06,$2C,$06,$06 .db $44,$0E,$86,$2C,$06,$86,$2C,$0A .db $86,$84,$08,$06,$0A,$02,$06,$AC .db $10,$06,$CC,$10,$06,$AE,$10,$00 .db $8C,$14,$80,$2E,$00,$CA,$16,$91 .db $2F,$00,$8E,$18,$81,$30,$00,$EB .db $1A,$90,$31,$04,$ED,$1C,$82,$06 .db $92,$1E DATA_00E21A: .db $84,$86,$88,$8A,$8C,$8E,$90,$90 .db $92,$94,$96,$98,$9A,$9C,$9E,$A0 .db $A2,$A4,$A6,$A8,$AA,$B0,$B6,$BC .db $C2,$C8,$CE,$D4,$DA,$DE,$E2,$E2 DATA_00E23A: .db $0A,$0A,$84,$0A,$88,$88,$88,$88 .db $8A,$8A,$8A,$8A,$44,$44,$44,$44 .db $42,$42,$42,$42,$40,$40,$40,$40 .db $22,$22,$22,$22,$A4,$A4,$A4,$A4 .db $A6,$A6,$A6,$A6,$86,$86,$86,$86 .db $6E,$6E,$6E,$6E DATA_00E266: .db $02,$02,$02,$0C,$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,$04,$12,$04,$04 .db $04,$12,$04,$04,$04,$12,$04,$04 .db $04,$12,$04,$04 DATA_00E292: .db $01,$01,$01,$01,$02,$02,$02,$02 .db $04,$04,$04,$04,$08,$08,$08,$08 DATA_00E2A2: .db $C8,$B2,$DC,$B2,$C8,$B2,$DC,$B2 .db $C8,$B2,$DC,$B2,$F0,$B2,$04,$B3 DATA_00E2B2: .db $10,$D4,$10,$E8 DATA_00E2B6: .db $08,$CC,$08 DATA_00E2B9: .db $E0,$10,$10,$30 ; CODE_00E2BD: 8B PHB ;\ CODE_00E2BE: 4B PHK ;|start of a routine? CODE_00E2BF: AB PLB ;/ CODE_00E2C0: A5 78 LDA $78 ;\ CODE_00E2C2: C9 FF CMP.B #$FF ;| If mario is completely CODE_00E2C4: F0 04 BEQ CODE_00E2CA ;/ disappeared CODE_00E2C6: 22 70 EA 01 JSL.L CODE_01EA70 ; CODE_00E2CA: AC 9B 14 LDY.W RAM_FlashingPalTimer ;\ if flashing palette timer is not 00, go CODE_00E2CD: D0 39 BNE CODE_00E308 ;/ CODE_00E2CF: AC 90 14 LDY.W $1490 ; \ Branch if Mario doesn't have star CODE_00E2D2: F0 40 BEQ CODE_00E314 ; / CODE_00E2D4: A5 78 LDA $78 ;\ CODE_00E2D6: C9 FF CMP.B #$FF ;| if mario is completely disappeared NOW, don't decrement star counter CODE_00E2D8: F0 09 BEQ CODE_00E2E3 ;/ CODE_00E2DA: A5 14 LDA RAM_FrameCounterB ;\ CODE_00E2DC: 29 03 AND.B #$03 ;| quite often, don't decrement the star counter CODE_00E2DE: D0 03 BNE CODE_00E2E3 ;/ CODE_00E2E0: CE 90 14 DEC.W $1490 ; Decrease star timer CODE_00E2E3: A5 13 LDA RAM_FrameCounter ; A = Frame counter CODE_00E2E5: C0 1E CPY.B #$1E ;\ If Star Timer is going out soon, go to palette handler CODE_00E2E7: 90 21 BCC CODE_00E30A ;/ CODE_00E2E9: D0 21 BNE CODE_00E30C ; If it's simply still running, go to palette handler CODE_00E2EB: AD DA 0D LDA.W $0DDA ;\ CODE_00E2EE: C9 FF CMP.B #$FF ;| if no music is playing (?) CODE_00E2F0: F0 16 BEQ CODE_00E308 ;/ CODE_00E2F2: 29 7F AND.B #$7F ;| otherwise set the music to certain values (check later?) CODE_00E2F4: 8D DA 0D STA.W $0DDA ;/ CODE_00E2F7: AA TAX ; the new 0DDA = A CODE_00E2F8: AD AD 14 LDA.W RAM_BluePowTimer ;\ CODE_00E2FB: 0D AE 14 ORA.W RAM_SilverPowTimer ;| if POW timers and dicrectional coin timers are all 00, CODE_00E2FE: 0D 0C 19 ORA.W $190C ;| Make music Whatever 0DDA is CODE_00E301: F0 02 BEQ CODE_00E305 ;/ ADDR_00E303: A2 0E LDX.B #$0E ; Otherwise, Music = Directional coins CODE_00E305: 8E FB 1D STX.W $1DFB ; / Change music CODE_00E308: A5 13 LDA RAM_FrameCounter ;\ CODE_00E30A: 4A LSR ;| CODE_00E30B: 4A LSR ;| AND with bits 3/4 unless coming in from later CODE_00E30C: 29 03 AND.B #$03 ;| CODE_00E30E: 1A INC A ;| Add 4 (CLC and ADC would work better..) CODE_00E30F: 1A INC A ;| CODE_00E310: 1A INC A ;| CODE_00E311: 1A INC A ;| and continue CODE_00E312: 80 06 BRA CODE_00E31A ;/ CODE_00E314: A5 19 LDA RAM_MarioPowerUp ;\ CODE_00E316: 0A ASL ;| CODE_00E317: 0D B3 0D ORA.W $0DB3 ;|get the default palette CODE_00E31A: 0A ASL ;| CODE_00E31B: A8 TAY ;/ CODE_00E31C: C2 20 REP #$20 ; Accum (16 bit) CODE_00E31E: B9 A2 E2 LDA.W DATA_00E2A2,Y ;\ set the palette CODE_00E321: 8D 82 0D STA.W $0D82 ;/ CODE_00E324: E2 20 SEP #$20 ; Accum (8 bit) CODE_00E326: AE E0 13 LDX.W MarioFrame ; Probably init X CODE_00E329: A9 05 LDA.B #$05 ;\ CODE_00E32B: CD E3 13 CMP.W RAM_WallWalkStatus ;| if mario is coming up the right wall, CODE_00E32E: B0 0E BCS CODE_00E33E ;/ CODE_00E330: AD E3 13 LDA.W RAM_WallWalkStatus ;\ ;;;;;;;;;;;;;;GET PLAYER'S Y-POSITON, ETC;;;;;;;;;;;;;;;;;;;;;; CODE_00E333: A4 19 LDY RAM_MarioPowerUp ;| if not wall-walking, don't worry about mario's frame being 13 CODE_00E335: F0 04 BEQ CODE_00E33B ;/ CODE_00E337: E0 13 CPX.B #$13 ;\ if mario's frame = 13, CODE_00E339: D0 02 BNE CODE_00E33D ;/ do not invert bit 1 CODE_00E33B: 49 01 EOR.B #$01 ;\ invert bit one and shift the bits to the left CODE_00E33D: 4A LSR ;/ CODE_00E33E: C2 20 REP #$20 ; Accum (16 bit) CODE_00E340: A5 94 LDA RAM_MarioXPos ;\ CODE_00E342: E5 1A SBC RAM_ScreenBndryXLo ;| CODE_00E344: 85 7E STA $7E ;/ and with this, we have mario's X screen position. CODE_00E346: AD 8B 18 LDA.W $188B ;\ CODE_00E349: 29 FF 00 AND.W #$00FF ;| inverting something that has to do with the Ypos, high byte CODE_00E34C: 18 CLC ;| and then adding the regular Ypos to it. CODE_00E34D: 65 96 ADC RAM_MarioYPos ;/ CODE_00E34F: A4 19 LDY RAM_MarioPowerUp ;\ CODE_00E351: C0 01 CPY.B #$01 ;| If mario's powerup is firey or caped, CODE_00E353: A0 01 LDY.B #$01 ;| do not dec A/Y CODE_00E355: B0 02 BCS CODE_00E359 ;| CODE_00E357: 3A DEC A ;|\ adjust for small mario disposition CODE_00E358: 88 DEY ;|/ CODE_00E359: E0 0A CPX.B #$0A ;| if frame is 0A CODE_00E35B: B0 03 BCS CODE_00E360 ;| don't subtract the screen boundaries CODE_00E35D: CC DB 13 CPY.W $13DB ; Could have something to do with the extra bits of the positions? CODE_00E360: E5 1C SBC RAM_ScreenBndryYLo ;| CODE_00E362: E0 1C CPX.B #$1C ;| if frame is 1C CODE_00E364: D0 03 BNE CODE_00E369 ;/ don't add 1 CODE_00E366: 69 01 00 ADC.W #$0001 ; +1, with the carry. CODE_00E369: 85 80 STA $80 ;/ store to Ypos. CODE_00E36B: E2 20 SEP #$20 ; Accum (8 bit) CODE_00E36D: AD 97 14 LDA.W $1497 ;\ if not flashing invincible, CODE_00E370: F0 13 BEQ CODE_00E385 ;/ CODE_00E372: 4A LSR ;\ CODE_00E373: 4A LSR ;|Y = Flashing invincible timer, but "shrunk" CODE_00E374: 4A LSR ;| CODE_00E375: A8 TAY ;/ CODE_00E376: B9 92 E2 LDA.W DATA_00E292,Y ;\ CODE_00E379: 2D 97 14 AND.W $1497 ;| every now and then for the flashing invincible timer, branch to CODE_00E37C: 05 9D ORA RAM_SpritesLocked ;| adding in sprites locked, and if mario is frozen. CODE_00E37E: 0D FB 13 ORA.W $13FB ;| CODE_00E381: D0 02 BNE CODE_00E385 ;/ CODE_00E383: AB PLB ;\ Return00E384: 6B RTL ;/Return CODE_00E385: A9 C8 LDA.B #$C8 ;\ $04= E8 by default, unless the frame is 43, when it's C8 CODE_00E387: E0 43 CPX.B #$43 ;| CODE_00E389: D0 02 BNE CODE_00E38D ;| CODE_00E38B: A9 E8 LDA.B #$E8 ;| CODE_00E38D: 85 04 STA $04 ;/ CODE_00E38F: E0 29 CPX.B #$29 ;\ CODE_00E391: D0 06 BNE CODE_00E399 ;/ if frame is 29, don't check if mario is small or not and such CODE_00E393: A5 19 LDA RAM_MarioPowerUp ;\ CODE_00E395: D0 02 BNE CODE_00E399 ;| if powerup is not small, do not make X 20 CODE_00E397: A2 20 LDX.B #$20 ;/ CODE_00E399: BD EC DC LDA.W DATA_00DCEC,X ;\ CODE_00E39C: 05 76 ORA RAM_MarioDirection ;| now we have the (frame?) to show in Y CODE_00E39E: A8 TAY ;/ CODE_00E39F: B9 32 DD LDA.W DATA_00DD32,Y ;\ Something indexed by the frame in $05 CODE_00E3A2: 85 05 STA $05 ;/ CODE_00E3A4: A4 19 LDY RAM_MarioPowerUp ; Y = powerup CODE_00E3A6: AD E0 13 LDA.W MarioFrame ;\ CODE_00E3A9: C9 3D CMP.B #$3D ;| if mario's frame is 3D and up, do not add the tileset index + powerup CODE_00E3AB: B0 03 BCS CODE_00E3B0 ;| CODE_00E3AD: 79 16 DF ADC.W TilesetIndex,Y ;/ CODE_00E3B0: A8 TAY ; Frame = Y, perhaps Tileset+Frame = Y CODE_00E3B1: B9 1A DF LDA.W TileExpansion?,Y ;\ tile exspansion+ frame is $06 CODE_00E3B4: 85 06 STA $06 ;/ CODE_00E3B6: B9 0C E0 LDA.W DATA_00E00C,Y ;\ some table...? is $0A CODE_00E3B9: 85 0A STA $0A ;/ CODE_00E3BB: B9 CC E0 LDA.W DATA_00E0CC,Y ;\ some large table..? is $0B CODE_00E3BE: 85 0B STA $0B ;/ CODE_00E3C0: A5 64 LDA $64 ;\ load mario properties? CODE_00E3C2: AE F9 13 LDX.W RAM_IsBehindScenery ;| if properties = 0, do not make A = A table plus the behind scenery flag CODE_00E3C5: F0 03 BEQ CODE_00E3CA ;/ CODE_00E3C7: BD B9 E2 LDA.W DATA_00E2B9,X CODE_00E3CA: BC B2 E2 LDY.W DATA_00E2B2,X ;\ CODE_00E3CD: A6 76 LDX RAM_MarioDirection ;| CODE_00E3CF: 1D 8C E1 ORA.W MarioPalIndex,X ;| CODE_00E3D2: 99 03 03 STA.W OAM_Prop,Y ;| CODE_00E3D5: 99 07 03 STA.W OAM_Tile2Prop,Y ;| CODE_00E3D8: 99 0F 03 STA.W OAM_Tile4Prop,Y ;| CODE_00E3DB: 99 13 03 STA.W $0313,Y ;| Handling parts of Mario's OAM CODE_00E3DE: 99 FB 02 STA.W $02FB,Y ;| CODE_00E3E1: 99 FF 02 STA.W $02FF,Y ;/ CODE_00E3E4: A6 04 LDX $04 ;\ If E8 (if frame is not 43,) is $04, do not EOR with #$40 CODE_00E3E6: E0 E8 CPX.B #$E8 ;| CODE_00E3E8: D0 02 BNE CODE_00E3EC ;/ CODE_00E3EA: 49 40 EOR.B #$40 ; CODE_00E3EC: 99 0B 03 STA.W OAM_Tile3Prop,Y ;\ CODE_00E3EF: 20 5D E4 JSR.W CODE_00E45D ;| CODE_00E3F2: 20 5D E4 JSR.W CODE_00E45D ;| more OAM stuff CODE_00E3F5: 20 5D E4 JSR.W CODE_00E45D ;| CODE_00E3F8: 20 5D E4 JSR.W CODE_00E45D ;/ CODE_00E3FB: A5 19 LDA RAM_MarioPowerUp CODE_00E3FD: C9 02 CMP.B #$02 CODE_00E3FF: D0 57 BNE CODE_00E458 CODE_00E401: 5A PHY CODE_00E402: A9 2C LDA.B #$2C CODE_00E404: 85 06 STA $06 CODE_00E406: AE E0 13 LDX.W MarioFrame CODE_00E409: BD 8E E1 LDA.W DATA_00E18E,X CODE_00E40C: AA TAX CODE_00E40D: BD D7 E1 LDA.W DATA_00E1D7,X CODE_00E410: 85 0D STA $0D CODE_00E412: BD D8 E1 LDA.W DATA_00E1D8,X CODE_00E415: 85 0E STA $0E CODE_00E417: BD D5 E1 LDA.W DATA_00E1D5,X CODE_00E41A: 85 0C STA $0C CODE_00E41C: C9 04 CMP.B #$04 CODE_00E41E: B0 12 BCS CODE_00E432 CODE_00E420: AD DF 13 LDA.W $13DF CODE_00E423: 0A ASL CODE_00E424: 0A ASL CODE_00E425: 05 0C ORA $0C CODE_00E427: A8 TAY CODE_00E428: B9 3A E2 LDA.W DATA_00E23A,Y CODE_00E42B: 85 0C STA $0C CODE_00E42D: B9 66 E2 LDA.W DATA_00E266,Y CODE_00E430: 80 03 BRA CODE_00E435 CODE_00E432: BD D6 E1 LDA.W DATA_00E1D6,X CODE_00E435: 05 76 ORA RAM_MarioDirection CODE_00E437: A8 TAY CODE_00E438: B9 1A E2 LDA.W DATA_00E21A,Y CODE_00E43B: 85 05 STA $05 CODE_00E43D: 7A PLY CODE_00E43E: BD D4 E1 LDA.W DATA_00E1D4,X CODE_00E441: 04 78 TSB $78 CODE_00E443: 30 03 BMI CODE_00E448 CODE_00E445: 20 5D E4 JSR.W CODE_00E45D CODE_00E448: AE F9 13 LDX.W RAM_IsBehindScenery CODE_00E44B: BC B6 E2 LDY.W DATA_00E2B6,X CODE_00E44E: 20 5D E4 JSR.W CODE_00E45D CODE_00E451: A5 0E LDA $0E CODE_00E453: 85 06 STA $06 CODE_00E455: 20 5D E4 JSR.W CODE_00E45D CODE_00E458: 20 36 F6 JSR.W CODE_00F636 CODE_00E45B: AB PLB Return00E45C: 6B RTL ; Return CODE_00E45D: 46 78 LSR $78 CODE_00E45F: B0 3E BCS CODE_00E49F CODE_00E461: A6 06 LDX $06 CODE_00E463: BD DA DF LDA.W Mario8x8Tiles,X CODE_00E466: 30 37 BMI CODE_00E49F CODE_00E468: 99 02 03 STA.W OAM_Tile,Y CODE_00E46B: A6 05 LDX $05 CODE_00E46D: C2 20 REP #$20 ; Accum (16 bit) CODE_00E46F: A5 80 LDA $80 CODE_00E471: 18 CLC CODE_00E472: 7D 32 DE ADC.W DATA_00DE32,X CODE_00E475: 48 PHA CODE_00E476: 18 CLC CODE_00E477: 69 10 00 ADC.W #$0010 CODE_00E47A: C9 00 01 CMP.W #$0100 CODE_00E47D: 68 PLA CODE_00E47E: E2 20 SEP #$20 ; Accum (8 bit) CODE_00E480: B0 1D BCS CODE_00E49F CODE_00E482: 99 01 03 STA.W OAM_DispY,Y CODE_00E485: C2 20 REP #$20 ; Accum (16 bit) CODE_00E487: A5 7E LDA $7E CODE_00E489: 18 CLC CODE_00E48A: 7D 4E DD ADC.W DATA_00DD4E,X CODE_00E48D: 48 PHA CODE_00E48E: 18 CLC CODE_00E48F: 69 80 00 ADC.W #$0080 CODE_00E492: C9 00 02 CMP.W #$0200 CODE_00E495: 68 PLA CODE_00E496: E2 20 SEP #$20 ; Accum (8 bit) CODE_00E498: B0 05 BCS CODE_00E49F CODE_00E49A: 99 00 03 STA.W OAM_DispX,Y CODE_00E49D: EB XBA CODE_00E49E: 4A LSR CODE_00E49F: 08 PHP CODE_00E4A0: 98 TYA CODE_00E4A1: 4A LSR CODE_00E4A2: 4A LSR CODE_00E4A3: AA TAX CODE_00E4A4: 06 04 ASL $04 CODE_00E4A6: 2A ROL CODE_00E4A7: 28 PLP CODE_00E4A8: 2A ROL CODE_00E4A9: 29 03 AND.B #$03 CODE_00E4AB: 9D 60 04 STA.W OAM_TileSize,X CODE_00E4AE: C8 INY CODE_00E4AF: C8 INY CODE_00E4B0: C8 INY CODE_00E4B1: C8 INY CODE_00E4B2: E6 05 INC $05 CODE_00E4B4: E6 05 INC $05 CODE_00E4B6: E6 06 INC $06 Return00E4B8: 60 RTS ; Return DATA_00E4B9: .db $08,$08,$08,$08,$10,$10,$10,$10 .db $18,$18,$20,$20,$28,$30,$08,$10 .db $00,$00,$28,$00,$00,$00,$00,$00 .db $38,$50,$48,$40,$58,$58,$60,$60 .db $00 DATA_00E4DA: .db $10,$10,$10,$10,$10,$10,$10,$10 .db $20,$20,$20,$20,$30,$30,$40,$30 .db $30,$30,$30,$00,$00,$00,$00,$00 .db $30,$30,$30,$30,$40,$40,$40,$40 .db $00 DATA_00E4FB: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $EC,$EC,$EE,$EE,$DA,$DA,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $DA,$DA,$DA,$DA,$00,$00,$00,$00 .db $00 DATA_00E51C: .db $08,$08,$08,$08,$08,$08,$08,$08 .db $09,$09,$09,$09,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$00,$00,$00,$00,$00 .db $0B,$0B,$0B,$0B,$14,$14,$14,$14 .db $06 DATA_00E53D: .db $FF,$FF,$FF,$FF,$01,$01,$01,$01 .db $FE,$FE,$02,$02,$FD,$03,$FD,$03 .db $FD,$03,$FD,$00,$00,$00,$00,$00 .db $08,$08,$F8,$F8,$FC,$FC,$04,$04 .db $00,$00,$00,$00,$00,$00,$01,$01 .db $01,$01,$01,$02,$02,$02,$02,$02 .db $03,$03,$03,$03,$03,$04,$04,$04 .db $04,$04,$05,$05,$05,$05,$05,$06 .db $06,$06,$06,$06,$07,$07,$07,$07 .db $07,$08,$08,$08,$08,$08,$09,$09 .db $09,$09,$09,$0A,$0A,$0A,$0A,$0A .db $0B,$0B,$0B,$0B,$0B,$0C,$0C,$0C .db $0C,$0C,$0D,$0D,$0D,$0D,$0D,$0E .db $0F,$10,$11,$03,$03,$04,$04,$09 .db $09,$0A,$0A,$0C,$0C,$0D,$0D,$12 .db $13,$14,$15,$16,$17,$1C,$1D,$1E .db $1F,$18,$19,$1A,$1B,$08,$09,$0A .db $0B,$0C,$0D,$00,$00,$00,$00,$00 .db $01,$01,$01,$01,$01,$02,$02,$02 .db $02,$02,$03,$03,$03,$03,$03,$04 .db $04,$04,$04,$04,$05,$05,$05,$05 .db $05,$06,$06,$06,$06,$06,$07,$07 .db $07,$07,$07,$08,$08,$08,$08,$08 .db $09,$09,$09,$09,$09,$0A,$0A,$0A .db $0A,$0A,$0B,$0B,$0B,$0B,$0B,$0C .db $0C,$0C,$0C,$0C,$0D,$0D,$0D,$0D .db $0D,$0E,$0F,$10,$11,$03,$03,$04 .db $04,$09,$09,$0A,$0A,$0C,$0C,$0D .db $0D,$0C,$0D,$0D,$0C,$16,$17,$1C .db $1D,$1E,$1F,$18,$19,$1A,$1B,$08 .db $09,$0A,$0B,$0C,$0D DATA_00E632: .db $0F,$0F,$0F,$0F,$0E,$0E,$0E,$0E .db $0D,$0D,$0D,$0D,$0C,$0C,$0C,$0C .db $0B,$0B,$0B,$0B,$0A,$0A,$0A,$0A .db $09,$09,$09,$09,$08,$08,$08,$08 .db $07,$07,$07,$07,$06,$06,$06,$06 .db $05,$05,$05,$05,$04,$04,$04,$04 .db $03,$03,$03,$03,$02,$02,$02,$02 .db $01,$01,$01,$01,$00,$00,$00,$00 .db $00,$00,$00,$00,$01,$01,$01,$01 .db $02,$02,$02,$02,$03,$03,$03,$03 .db $04,$04,$04,$04,$05,$05,$05,$05 .db $06,$06,$06,$06,$07,$07,$07,$07 .db $08,$08,$08,$08,$09,$09,$09,$09 .db $0A,$0A,$0A,$0A,$0B,$0B,$0B,$0B .db $0C,$0C,$0C,$0C,$0D,$0D,$0D,$0D .db $0E,$0E,$0E,$0E,$0F,$0F,$0F,$0F .db $0F,$0F,$0E,$0E,$0D,$0D,$0C,$0C .db $0B,$0B,$0A,$0A,$09,$09,$08,$08 .db $07,$07,$06,$06,$05,$05,$04,$04 .db $03,$03,$02,$02,$01,$01,$00,$00 .db $00,$00,$01,$01,$02,$02,$03,$03 .db $04,$04,$05,$05,$06,$06,$07,$07 .db $08,$08,$09,$09,$0A,$0A,$0B,$0B .db $0C,$0C,$0D,$0D,$0E,$0E,$0F,$0F .db $0F,$0E,$0D,$0C,$0B,$0A,$09,$08 .db $07,$06,$05,$04,$03,$02,$01,$00 .db $00,$01,$02,$03,$04,$05,$06,$07 .db $08,$09,$0A,$0B,$0C,$0D,$0E,$0F .db $0F,$0E,$0D,$0C,$0B,$0A,$09,$08 .db $07,$06,$05,$04,$03,$02,$01,$00 .db $00,$01,$02,$03,$04,$05,$06,$07 .db $08,$09,$0A,$0B,$0C,$0D,$0E,$0F .db $08,$06,$04,$03,$02,$02,$01,$01 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $01,$01,$02,$02,$03,$04,$06,$08 .db $FF,$FE,$FD,$FC,$FB,$FA,$F9,$F8 .db $F7,$F6,$F5,$F4,$F3,$F2,$F1,$F0 .db $F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7 .db $F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF .db $FF,$FF,$FE,$FE,$FD,$FD,$FC,$FC .db $FB,$FB,$FA,$FA,$F9,$F9,$F8,$F8 .db $F7,$F7,$F6,$F6,$F5,$F5,$F4,$F4 .db $F3,$F3,$F2,$F2,$F1,$F1,$F0,$F0 .db $F0,$F0,$F1,$F1,$F2,$F2,$F3,$F3 .db $F4,$F4,$F5,$F5,$F6,$F6,$F7,$F7 .db $F8,$F8,$F9,$F9,$FA,$FA,$FB,$FB .db $FC,$FC,$FD,$FD,$FE,$FE,$FF,$FF .db $0F,$0E,$0D,$0C,$0B,$0A,$09,$08 .db $07,$06,$05,$04,$03,$02,$01,$00 .db $00,$01,$02,$03,$04,$05,$06,$07 .db $08,$09,$0A,$0B,$0C,$0D,$0E,$0F .db $00,$01,$02,$03,$04,$05,$06,$07 .db $08,$09,$0A,$0B,$0C,$0D,$0E,$0F .db $0F,$0E,$0D,$0C,$0B,$0A,$09,$08 .db $07,$06,$05,$04,$03,$02,$01,$00 .db $10,$10,$10,$10,$10,$10,$10,$10 .db $0E,$0C,$0A,$08,$06,$04,$02,$00 .db $0E,$0C,$0A,$08,$06,$04,$02,$00 .db $FE,$FC,$FA,$F8,$F6,$F4,$F2,$F0 .db $00,$02,$04,$06,$08,$0A,$0C,$0E .db $10,$10,$10,$10,$10,$10,$10,$10 .db $F0,$F2,$F4,$F6,$F8,$FA,$FC,$FE .db $00,$02,$04,$06,$08,$0A DATA_00E830: .db $0C,$0E,$08,$00,$0E,$00,$0E,$00 .db $08,$00,$05,$00,$0B,$00,$08,$00 .db $02,$00,$02,$00,$08,$00,$0B,$00 .db $05,$00,$08,$00,$0E,$00,$0E,$00 .db $08,$00,$05,$00,$0B,$00,$08,$00 .db $02,$00,$02,$00,$08,$00,$0B,$00 .db $05,$00,$08,$00,$0E,$00,$0E,$00 .db $08,$00,$05,$00,$0B,$00,$08,$00 .db $02,$00,$02,$00,$08,$00,$0B,$00 .db $05,$00,$08,$00,$0E,$00,$0E,$00 .db $08,$00,$05,$00,$0B,$00,$08,$00 .db $02,$00,$02,$00,$08,$00,$0B,$00 .db $05,$00,$10,$00,$20,$00,$07,$00 .db $00,$00,$F0,$FF DATA_00E89C: .db $08,$00,$18,$00,$1A,$00,$16,$00 DATA_00E8A4: .db $10,$00,$20,$00,$20,$00,$18,$00 .db $1A,$00,$16,$00,$10,$00,$20,$00 .db $20,$00,$12,$00,$1A,$00,$0F,$00 .db $08,$00,$20,$00,$20,$00,$12,$00 .db $1A,$00,$0F,$00,$08,$00,$20,$00 .db $20,$00,$1D,$00,$28,$00,$19,$00 .db $13,$00,$30,$00,$30,$00,$1D,$00 .db $28,$00,$19,$00,$13,$00,$30,$00 .db $30,$00,$1A,$00,$28,$00,$16,$00 .db $10,$00,$30,$00,$30,$00,$1A,$00 .db $28,$00,$16,$00,$10,$00,$30,$00 .db $30,$00,$18,$00,$18,$00,$18,$00 .db $18,$00,$18,$00,$18,$00 DATA_00E90A: .db $01,$02,$11 DATA_00E90D: .db $FF DATA_00E90E: .db $FF,$01,$00 DATA_00E911: .db $02,$0D DATA_00E913: .db $01,$00,$FF,$FF,$01,$00,$01,$00 .db $FF,$FF,$FF,$FF DATA_00E91F: .db $00,$00,$00,$00,$FF,$FF,$01,$00 .db $FF,$FF,$01,$00 CODE_00E92B: 20 A6 EA JSR.W CODE_00EAA6 CODE_00E92E: AD 5C 18 LDA.W $185C CODE_00E931: F0 05 BEQ CODE_00E938 ADDR_00E933: 20 1D EE JSR.W CODE_00EE1D ADDR_00E936: 80 54 BRA CODE_00E98C CODE_00E938: AD EF 13 LDA.W $13EF CODE_00E93B: 85 8D STA $8D CODE_00E93D: 9C EF 13 STZ.W $13EF CODE_00E940: A5 72 LDA RAM_IsFlying CODE_00E942: 85 8F STA $8F CODE_00E944: A5 5B LDA RAM_IsVerticalLvl CODE_00E946: 10 30 BPL CODE_00E978 CODE_00E948: 29 82 AND.B #$82 CODE_00E94A: 85 8E STA $8E CODE_00E94C: A9 01 LDA.B #$01 ;\ process layer 1 CODE_00E94E: 8D 33 19 STA.W $1933 ;/ CODE_00E951: C2 20 REP #$20 ; Accum (16 bit) CODE_00E953: A5 94 LDA RAM_MarioXPos ;\ CODE_00E955: 18 CLC ;| CODE_00E956: 65 26 ADC $26 ;| CODE_00E958: 85 94 STA RAM_MarioXPos ;| CODE_00E95A: A5 96 LDA RAM_MarioYPos ;|update mario's position, with what I do not know CODE_00E95C: 18 CLC ;| CODE_00E95D: 65 28 ADC $28 ;| CODE_00E95F: 85 96 STA RAM_MarioYPos ;/ CODE_00E961: E2 20 SEP #$20 ; Accum (8 bit) CODE_00E963: 20 DB EA JSR.W CODE_00EADB CODE_00E966: C2 20 REP #$20 ; Accum (16 bit) CODE_00E968: A5 94 LDA RAM_MarioXPos CODE_00E96A: 38 SEC CODE_00E96B: E5 26 SBC $26 CODE_00E96D: 85 94 STA RAM_MarioXPos CODE_00E96F: A5 96 LDA RAM_MarioYPos CODE_00E971: 38 SEC CODE_00E972: E5 28 SBC $28 CODE_00E974: 85 96 STA RAM_MarioYPos CODE_00E976: E2 20 SEP #$20 ; Accum (8 bit) CODE_00E978: 0E EF 13 ASL.W $13EF CODE_00E97B: A5 5B LDA RAM_IsVerticalLvl CODE_00E97D: 29 41 AND.B #$41 CODE_00E97F: 85 8E STA $8E CODE_00E981: 0A ASL CODE_00E982: 30 08 BMI CODE_00E98C CODE_00E984: 9C 33 19 STZ.W $1933 CODE_00E987: 06 8D ASL $8D CODE_00E989: 20 DB EA JSR.W CODE_00EADB CODE_00E98C: AD 96 1B LDA.W $1B96 CODE_00E98F: F0 10 BEQ CODE_00E9A1 CODE_00E991: C2 20 REP #$20 ; Accum (16 bit) CODE_00E993: A5 7E LDA $7E CODE_00E995: C9 FA 00 CMP.W #$00FA CODE_00E998: E2 20 SEP #$20 ; Accum (8 bit) CODE_00E99A: 90 5F BCC CODE_00E9FB CODE_00E99C: 22 60 B1 05 JSL.L SubSideExit Return00E9A0: 60 RTS ; Return CODE_00E9A1: A5 7E LDA $7E CODE_00E9A3: C9 F0 CMP.B #$F0 CODE_00E9A5: B0 61 BCS CODE_00EA08 CODE_00E9A7: A5 77 LDA RAM_MarioObjStatus CODE_00E9A9: 29 03 AND.B #$03 CODE_00E9AB: D0 4E BNE CODE_00E9FB CODE_00E9AD: C2 20 REP #$20 ; Accum (16 bit) CODE_00E9AF: A0 00 LDY.B #$00 CODE_00E9B1: AD 62 14 LDA.W $1462 CODE_00E9B4: 18 CLC CODE_00E9B5: 69 E8 00 ADC.W #$00E8 CODE_00E9B8: C5 94 CMP RAM_MarioXPos CODE_00E9BA: F0 0C BEQ CODE_00E9C8 CODE_00E9BC: 30 0A BMI CODE_00E9C8 CODE_00E9BE: C8 INY CODE_00E9BF: A5 94 LDA RAM_MarioXPos CODE_00E9C1: 38 SEC CODE_00E9C2: E9 08 00 SBC.W #$0008 CODE_00E9C5: CD 62 14 CMP.W $1462 CODE_00E9C8: E2 20 SEP #$20 ; Accum (8 bit) CODE_00E9CA: F0 2F BEQ CODE_00E9FB CODE_00E9CC: 10 2D BPL CODE_00E9FB CODE_00E9CE: AD 11 14 LDA.W $1411 CODE_00E9D1: D0 23 BNE CODE_00E9F6 CODE_00E9D3: A9 80 LDA.B #$80 CODE_00E9D5: 04 77 TSB RAM_MarioObjStatus CODE_00E9D7: C2 20 REP #$20 ; Accum (16 bit) CODE_00E9D9: AD 46 14 LDA.W $1446 CODE_00E9DC: 4A LSR CODE_00E9DD: 4A LSR CODE_00E9DE: 4A LSR CODE_00E9DF: 4A LSR CODE_00E9E0: E2 20 SEP #$20 ; Accum (8 bit) CODE_00E9E2: 85 00 STA $00 CODE_00E9E4: 38 SEC CODE_00E9E5: E5 7B SBC RAM_MarioSpeedX CODE_00E9E7: 59 0E E9 EOR.W DATA_00E90E,Y CODE_00E9EA: 30 0A BMI CODE_00E9F6 CODE_00E9EC: A5 00 LDA $00 CODE_00E9EE: 85 7B STA RAM_MarioSpeedX CODE_00E9F0: AD 4E 14 LDA.W $144E CODE_00E9F3: 8D DA 13 STA.W $13DA CODE_00E9F6: B9 0A E9 LDA.W DATA_00E90A,Y CODE_00E9F9: 04 77 TSB RAM_MarioObjStatus CODE_00E9FB: A5 77 LDA RAM_MarioObjStatus CODE_00E9FD: 29 1C AND.B #$1C CODE_00E9FF: C9 1C CMP.B #$1C CODE_00EA01: D0 0A BNE CODE_00EA0D CODE_00EA03: AD 71 14 LDA.W $1471 CODE_00EA06: D0 05 BNE CODE_00EA0D CODE_00EA08: 20 29 F6 JSR.W CODE_00F629 CODE_00EA0B: 80 25 BRA CODE_00EA32 CODE_00EA0D: A5 77 LDA RAM_MarioObjStatus CODE_00EA0F: 29 03 AND.B #$03 CODE_00EA11: F0 21 BEQ CODE_00EA34 CODE_00EA13: 29 02 AND.B #$02 CODE_00EA15: A8 TAY CODE_00EA16: C2 20 REP #$20 ; Accum (16 bit) CODE_00EA18: A5 94 LDA RAM_MarioXPos CODE_00EA1A: 18 CLC CODE_00EA1B: 79 0D E9 ADC.W DATA_00E90D,Y CODE_00EA1E: 85 94 STA RAM_MarioXPos CODE_00EA20: E2 20 SEP #$20 ; Accum (8 bit) CODE_00EA22: A5 77 LDA RAM_MarioObjStatus CODE_00EA24: 30 0E BMI CODE_00EA34 CODE_00EA26: A9 03 LDA.B #$03 CODE_00EA28: 8D E5 13 STA.W $13E5 CODE_00EA2B: A5 7B LDA RAM_MarioSpeedX CODE_00EA2D: 59 0D E9 EOR.W DATA_00E90D,Y CODE_00EA30: 10 02 BPL CODE_00EA34 CODE_00EA32: 64 7B STZ RAM_MarioSpeedX CODE_00EA34: AD F9 13 LDA.W RAM_IsBehindScenery CODE_00EA37: C9 01 CMP.B #$01 CODE_00EA39: D0 07 BNE CODE_00EA42 CODE_00EA3B: A5 8B LDA $8B CODE_00EA3D: D0 03 BNE CODE_00EA42 CODE_00EA3F: 9C F9 13 STZ.W RAM_IsBehindScenery CODE_00EA42: 9C FA 13 STZ.W $13FA CODE_00EA45: A5 85 LDA RAM_IsWaterLevel CODE_00EA47: D0 15 BNE CODE_00EA5E CODE_00EA49: 46 8A LSR $8A CODE_00EA4B: 90 56 BCC CODE_00EAA3 CODE_00EA4D: A5 75 LDA RAM_IsSwimming CODE_00EA4F: D0 14 BNE CODE_00EA65 CODE_00EA51: A5 7D LDA RAM_MarioSpeedY CODE_00EA53: 30 10 BMI CODE_00EA65 CODE_00EA55: 46 8A LSR $8A CODE_00EA57: 90 4C BCC Return00EAA5 CODE_00EA59: 20 A5 FD JSR.W CODE_00FDA5 CODE_00EA5C: 64 7D STZ RAM_MarioSpeedY CODE_00EA5E: A9 01 LDA.B #$01 CODE_00EA60: 85 75 STA RAM_IsSwimming CODE_00EA62: 4C 08 FD JMP.W CODE_00FD08 CODE_00EA65: 46 8A LSR $8A CODE_00EA67: B0 F5 BCS CODE_00EA5E CODE_00EA69: A5 75 LDA RAM_IsSwimming CODE_00EA6B: F0 38 BEQ Return00EAA5 CODE_00EA6D: A9 FC LDA.B #$FC CODE_00EA6F: C5 7D CMP RAM_MarioSpeedY CODE_00EA71: 30 02 BMI CODE_00EA75 CODE_00EA73: 85 7D STA RAM_MarioSpeedY CODE_00EA75: EE FA 13 INC.W $13FA CODE_00EA78: A5 15 LDA RAM_ControllerA CODE_00EA7A: 29 88 AND.B #$88 CODE_00EA7C: C9 88 CMP.B #$88 CODE_00EA7E: D0 E2 BNE CODE_00EA62 CODE_00EA80: A5 17 LDA RAM_ControllerB CODE_00EA82: 10 0E BPL CODE_00EA92 CODE_00EA84: AD 8F 14 LDA.W $148F CODE_00EA87: D0 09 BNE CODE_00EA92 CODE_00EA89: 1A INC A CODE_00EA8A: 8D 0D 14 STA.W RAM_IsSpinJump CODE_00EA8D: A9 04 LDA.B #$04 ; \ Play sound effect CODE_00EA8F: 8D FC 1D STA.W $1DFC ; / CODE_00EA92: A5 77 LDA RAM_MarioObjStatus CODE_00EA94: 29 08 AND.B #$08 CODE_00EA96: D0 CA BNE CODE_00EA62 CODE_00EA98: 20 A5 FD JSR.W CODE_00FDA5 CODE_00EA9B: A9 0B LDA.B #$0B CODE_00EA9D: 85 72 STA RAM_IsFlying CODE_00EA9F: A9 AA LDA.B #$AA CODE_00EAA1: 85 7D STA RAM_MarioSpeedY CODE_00EAA3: 64 75 STZ RAM_IsSwimming Return00EAA5: 60 RTS ; Return CODE_00EAA6: 9C E5 13 STZ.W $13E5 CODE_00EAA9: 64 77 STZ RAM_MarioObjStatus CODE_00EAAB: 9C E1 13 STZ.W $13E1 CODE_00EAAE: 9C EE 13 STZ.W $13EE CODE_00EAB1: 64 8A STZ $8A CODE_00EAB3: 64 8B STZ $8B CODE_00EAB5: 9C 0E 14 STZ.W $140E Return00EAB8: 60 RTS ; Return DATA_00EAB9: .db $DE,$23 DATA_00EABB: .db $20,$E0 DATA_00EABD: .db $08,$00,$F8,$FF DATA_00EAC1: .db $71,$72,$76,$77,$7B,$7C,$81,$86 .db $8A,$8B,$8F,$90,$94,$95,$99,$9A .db $9E,$9F,$A3,$A4,$A8,$A9,$AD,$AE .db $B2,$B3 CODE_00EADB: A5 96 LDA RAM_MarioYPos CODE_00EADD: 29 0F AND.B #$0F CODE_00EADF: 85 90 STA $90 CODE_00EAE1: AD E3 13 LDA.W RAM_WallWalkStatus CODE_00EAE4: D0 03 BNE CODE_00EAE9 CODE_00EAE6: 4C 77 EB JMP.W CODE_00EB77 CODE_00EAE9: 29 01 AND.B #$01 CODE_00EAEB: A8 TAY CODE_00EAEC: A5 7B LDA RAM_MarioSpeedX CODE_00EAEE: 38 SEC CODE_00EAEF: F9 B9 EA SBC.W DATA_00EAB9,Y CODE_00EAF2: 59 B9 EA EOR.W DATA_00EAB9,Y CODE_00EAF5: 30 51 BMI CODE_00EB48 CODE_00EAF7: A5 72 LDA RAM_IsFlying CODE_00EAF9: 0D 8F 14 ORA.W $148F CODE_00EAFC: 05 73 ORA RAM_IsDucking CODE_00EAFE: 0D 7A 18 ORA.W RAM_OnYoshi CODE_00EB01: D0 45 BNE CODE_00EB48 CODE_00EB03: AD E3 13 LDA.W RAM_WallWalkStatus CODE_00EB06: C9 06 CMP.B #$06 CODE_00EB08: B0 18 BCS CODE_00EB22 CODE_00EB0A: A6 90 LDX $90 CODE_00EB0C: E0 08 CPX.B #$08 CODE_00EB0E: 90 66 BCC Return00EB76 CODE_00EB10: C9 04 CMP.B #$04 CODE_00EB12: B0 5F BCS CODE_00EB73 CODE_00EB14: 09 04 ORA.B #$04 CODE_00EB16: 8D E3 13 STA.W RAM_WallWalkStatus CODE_00EB19: A5 94 LDA RAM_MarioXPos CODE_00EB1B: 29 F0 AND.B #$F0 CODE_00EB1D: 09 08 ORA.B #$08 CODE_00EB1F: 85 94 STA RAM_MarioXPos Return00EB21: 60 RTS ; Return CODE_00EB22: A2 60 LDX.B #$60 CODE_00EB24: 98 TYA CODE_00EB25: F0 02 BEQ CODE_00EB29 CODE_00EB27: A2 66 LDX.B #$66 CODE_00EB29: 20 E8 EF JSR.W CODE_00EFE8 CODE_00EB2C: A5 19 LDA RAM_MarioPowerUp CODE_00EB2E: D0 04 BNE CODE_00EB34 CODE_00EB30: E8 INX CODE_00EB31: E8 INX CODE_00EB32: 80 03 BRA CODE_00EB37 CODE_00EB34: 20 E8 EF JSR.W CODE_00EFE8 CODE_00EB37: 20 4D F4 JSR.W CODE_00F44D CODE_00EB3A: D0 DD BNE CODE_00EB19 CODE_00EB3C: A9 02 LDA.B #$02 CODE_00EB3E: 1C E3 13 TRB.W RAM_WallWalkStatus Return00EB41: 60 RTS ; Return ADDR_00EB42: AD E3 13 LDA.W RAM_WallWalkStatus ADDR_00EB45: 29 01 AND.B #$01 ADDR_00EB47: A8 TAY CODE_00EB48: B9 BB EA LDA.W DATA_00EABB,Y CODE_00EB4B: 85 7B STA RAM_MarioSpeedX CODE_00EB4D: 98 TYA CODE_00EB4E: 0A ASL CODE_00EB4F: A8 TAY CODE_00EB50: C2 20 REP #$20 ; Accum (16 bit) CODE_00EB52: A5 94 LDA RAM_MarioXPos CODE_00EB54: 18 CLC CODE_00EB55: 79 BD EA ADC.W DATA_00EABD,Y CODE_00EB58: 85 94 STA RAM_MarioXPos CODE_00EB5A: A9 08 00 LDA.W #$0008 CODE_00EB5D: A4 19 LDY RAM_MarioPowerUp CODE_00EB5F: F0 03 BEQ CODE_00EB64 CODE_00EB61: A9 10 00 LDA.W #$0010 CODE_00EB64: 18 CLC CODE_00EB65: 65 96 ADC RAM_MarioYPos CODE_00EB67: 85 96 STA RAM_MarioYPos CODE_00EB69: E2 20 SEP #$20 ; Accum (8 bit) CODE_00EB6B: A9 24 LDA.B #$24 CODE_00EB6D: 85 72 STA RAM_IsFlying CODE_00EB6F: A9 E0 LDA.B #$E0 CODE_00EB71: 85 7D STA RAM_MarioSpeedY CODE_00EB73: 9C E3 13 STZ.W RAM_WallWalkStatus Return00EB76: 60 RTS ; Return CODE_00EB77: A2 00 LDX.B #$00 CODE_00EB79: A5 19 LDA RAM_MarioPowerUp CODE_00EB7B: F0 06 BEQ CODE_00EB83 CODE_00EB7D: A5 73 LDA RAM_IsDucking CODE_00EB7F: D0 02 BNE CODE_00EB83 CODE_00EB81: A2 18 LDX.B #$18 CODE_00EB83: AD 7A 18 LDA.W RAM_OnYoshi CODE_00EB86: F0 05 BEQ CODE_00EB8D CODE_00EB88: 8A TXA CODE_00EB89: 18 CLC CODE_00EB8A: 69 30 ADC.B #$30 CODE_00EB8C: AA TAX CODE_00EB8D: A5 94 LDA RAM_MarioXPos CODE_00EB8F: 29 0F AND.B #$0F CODE_00EB91: A8 TAY CODE_00EB92: 18 CLC CODE_00EB93: 69 08 ADC.B #$08 CODE_00EB95: 29 0F AND.B #$0F CODE_00EB97: 85 92 STA $92 CODE_00EB99: 64 93 STZ $93 CODE_00EB9B: C0 08 CPY.B #$08 CODE_00EB9D: 90 06 BCC CODE_00EBA5 CODE_00EB9F: 8A TXA CODE_00EBA0: 69 0B ADC.B #$0B CODE_00EBA2: AA TAX CODE_00EBA3: E6 93 INC $93 CODE_00EBA5: A5 90 LDA $90 CODE_00EBA7: 18 CLC CODE_00EBA8: 7D A4 E8 ADC.W DATA_00E8A4,X CODE_00EBAB: 29 0F AND.B #$0F CODE_00EBAD: 85 91 STA $91 CODE_00EBAF: 20 4D F4 JSR.W CODE_00F44D CODE_00EBB2: F0 29 BEQ CODE_00EBDD CODE_00EBB4: C0 11 CPY.B #$11 CODE_00EBB6: 90 6C BCC CODE_00EC24 CODE_00EBB8: C0 6E CPY.B #$6E CODE_00EBBA: 90 0D BCC CODE_00EBC9 CODE_00EBBC: 98 TYA CODE_00EBBD: 22 4D F0 00 JSL.L CODE_00F04D CODE_00EBC1: 90 61 BCC CODE_00EC24 ADDR_00EBC3: A9 01 LDA.B #$01 ADDR_00EBC5: 04 8A TSB $8A ADDR_00EBC7: 80 5B BRA CODE_00EC24 CODE_00EBC9: E8 INX CODE_00EBCA: E8 INX CODE_00EBCB: E8 INX CODE_00EBCC: E8 INX CODE_00EBCD: 98 TYA CODE_00EBCE: A0 00 LDY.B #$00 CODE_00EBD0: C9 1E CMP.B #$1E CODE_00EBD2: F0 06 BEQ CODE_00EBDA CODE_00EBD4: C9 52 CMP.B #$52 CODE_00EBD6: F0 02 BEQ CODE_00EBDA CODE_00EBD8: A0 02 LDY.B #$02 CODE_00EBDA: 4C 6F EC JMP.W CODE_00EC6F CODE_00EBDD: C0 9C CPY.B #$9C CODE_00EBDF: D0 07 BNE CODE_00EBE8 CODE_00EBE1: AD 31 19 LDA.W $1931 CODE_00EBE4: C9 01 CMP.B #$01 CODE_00EBE6: F0 1E BEQ CODE_00EC06 CODE_00EBE8: C0 20 CPY.B #$20 CODE_00EBEA: F0 15 BEQ CODE_00EC01 CODE_00EBEC: C0 1F CPY.B #$1F CODE_00EBEE: F0 0D BEQ CODE_00EBFD CODE_00EBF0: AD AD 14 LDA.W RAM_BluePowTimer CODE_00EBF3: F0 2C BEQ CODE_00EC21 CODE_00EBF5: C0 28 CPY.B #$28 CODE_00EBF7: F0 08 BEQ CODE_00EC01 CODE_00EBF9: C0 27 CPY.B #$27 CODE_00EBFB: D0 24 BNE CODE_00EC21 CODE_00EBFD: A5 19 LDA RAM_MarioPowerUp CODE_00EBFF: D0 23 BNE CODE_00EC24 CODE_00EC01: 20 43 F4 JSR.W CODE_00F443 CODE_00EC04: B0 1E BCS CODE_00EC24 CODE_00EC06: A5 8F LDA $8F CODE_00EC08: D0 1A BNE CODE_00EC24 CODE_00EC0A: A5 16 LDA $16 CODE_00EC0C: 29 08 AND.B #$08 CODE_00EC0E: F0 14 BEQ CODE_00EC24 CODE_00EC10: A9 0F LDA.B #$0F ; \ Play sound effect CODE_00EC12: 8D FC 1D STA.W $1DFC ; / CODE_00EC15: 20 73 D2 JSR.W CODE_00D273 CODE_00EC18: A9 0D LDA.B #$0D CODE_00EC1A: 85 71 STA RAM_MarioAnimation CODE_00EC1C: 20 2D F6 JSR.W NoButtons CODE_00EC1F: 80 03 BRA CODE_00EC24 CODE_00EC21: 20 8C F2 JSR.W CODE_00F28C CODE_00EC24: 20 4D F4 JSR.W CODE_00F44D CODE_00EC27: F0 0C BEQ CODE_00EC35 CODE_00EC29: C0 11 CPY.B #$11 CODE_00EC2B: 90 0D BCC CODE_00EC3A CODE_00EC2D: C0 6E CPY.B #$6E CODE_00EC2F: B0 09 BCS CODE_00EC3A CODE_00EC31: E8 INX CODE_00EC32: E8 INX CODE_00EC33: 80 19 BRA CODE_00EC4E CODE_00EC35: A9 10 LDA.B #$10 CODE_00EC37: 20 C9 F2 JSR.W CODE_00F2C9 CODE_00EC3A: 20 4D F4 JSR.W CODE_00F44D CODE_00EC3D: D0 07 BNE CODE_00EC46 CODE_00EC3F: A9 08 LDA.B #$08 CODE_00EC41: 20 C9 F2 JSR.W CODE_00F2C9 CODE_00EC44: 80 44 BRA CODE_00EC8A CODE_00EC46: C0 11 CPY.B #$11 CODE_00EC48: 90 40 BCC CODE_00EC8A CODE_00EC4A: C0 6E CPY.B #$6E CODE_00EC4C: B0 3C BCS CODE_00EC8A CODE_00EC4E: A5 76 LDA RAM_MarioDirection CODE_00EC50: C5 93 CMP $93 CODE_00EC52: F0 0B BEQ CODE_00EC5F CODE_00EC54: 20 C4 F3 JSR.W CODE_00F3C4 CODE_00EC57: DA PHX CODE_00EC58: 20 67 F2 JSR.W CODE_00F267 CODE_00EC5B: AC 93 16 LDY.W $1693 ; Current MAP16 tile number CODE_00EC5E: FA PLX CODE_00EC5F: A9 03 LDA.B #$03 CODE_00EC61: 8D E5 13 STA.W $13E5 CODE_00EC64: A4 93 LDY $93 CODE_00EC66: A5 94 LDA RAM_MarioXPos CODE_00EC68: 29 0F AND.B #$0F CODE_00EC6A: D9 11 E9 CMP.W DATA_00E911,Y CODE_00EC6D: F0 1B BEQ CODE_00EC8A CODE_00EC6F: AD 02 14 LDA.W $1402 CODE_00EC72: F0 07 BEQ CODE_00EC7B CODE_00EC74: AD 93 16 LDA.W $1693 CODE_00EC77: C9 52 CMP.B #$52 CODE_00EC79: F0 0F BEQ CODE_00EC8A CODE_00EC7B: B9 0A E9 LDA.W DATA_00E90A,Y CODE_00EC7E: 04 77 TSB RAM_MarioObjStatus CODE_00EC80: 29 03 AND.B #$03 CODE_00EC82: A8 TAY CODE_00EC83: AD 93 16 LDA.W $1693 ; Current MAP16 tile number CODE_00EC86: 22 27 F1 00 JSL.L CODE_00F127 CODE_00EC8A: 20 4D F4 JSR.W CODE_00F44D CODE_00EC8D: D0 22 BNE CODE_00ECB1 CODE_00EC8F: A9 02 LDA.B #$02 CODE_00EC91: 20 C2 F2 JSR.W CODE_00F2C2 CODE_00EC94: A4 7D LDY RAM_MarioSpeedY CODE_00EC96: 10 0B BPL CODE_00ECA3 CODE_00EC98: AD 93 16 LDA.W $1693 ; Current MAP16 tile number CODE_00EC9B: C9 21 CMP.B #$21 CODE_00EC9D: 90 04 BCC CODE_00ECA3 CODE_00EC9F: C9 25 CMP.B #$25 CODE_00ECA1: 90 03 BCC CODE_00ECA6 CODE_00ECA3: 4C 4A ED JMP.W CODE_00ED4A CODE_00ECA6: 38 SEC CODE_00ECA7: E9 04 SBC.B #$04 CODE_00ECA9: A0 00 LDY.B #$00 CODE_00ECAB: 22 7F F1 00 JSL.L CODE_00F17F CODE_00ECAF: 80 5C BRA CODE_00ED0D CODE_00ECB1: C0 11 CPY.B #$11 CODE_00ECB3: 90 EE BCC CODE_00ECA3 CODE_00ECB5: C0 6E CPY.B #$6E CODE_00ECB7: 90 41 BCC CODE_00ECFA CODE_00ECB9: C0 D8 CPY.B #$D8 CODE_00ECBB: 90 1D BCC CODE_00ECDA CODE_00ECBD: C2 20 REP #$20 ; Accum (16 bit) CODE_00ECBF: A5 98 LDA RAM_BlockXLo CODE_00ECC1: 18 CLC CODE_00ECC2: 69 10 00 ADC.W #$0010 CODE_00ECC5: 85 98 STA RAM_BlockXLo CODE_00ECC7: 20 61 F4 JSR.W CODE_00F461 CODE_00ECCA: F0 2C BEQ CODE_00ECF8 CODE_00ECCC: C0 6E CPY.B #$6E CODE_00ECCE: 90 7A BCC CODE_00ED4A CODE_00ECD0: C0 D8 CPY.B #$D8 CODE_00ECD2: B0 76 BCS CODE_00ED4A CODE_00ECD4: A5 91 LDA $91 ; Accum (8 bit) CODE_00ECD6: E9 0F SBC.B #$0F CODE_00ECD8: 85 91 STA $91 CODE_00ECDA: 98 TYA CODE_00ECDB: 38 SEC CODE_00ECDC: E9 6E SBC.B #$6E CODE_00ECDE: A8 TAY CODE_00ECDF: C2 20 REP #$20 ; Accum (16 bit) CODE_00ECE1: B7 82 LDA [$82],Y CODE_00ECE3: 29 FF 00 AND.W #$00FF CODE_00ECE6: 0A ASL CODE_00ECE7: 0A ASL CODE_00ECE8: 0A ASL CODE_00ECE9: 0A ASL CODE_00ECEA: E2 20 SEP #$20 ; Accum (8 bit) CODE_00ECEC: 05 92 ORA $92 CODE_00ECEE: C2 10 REP #$10 ; Index (16 bit) CODE_00ECF0: A8 TAY CODE_00ECF1: B9 32 E6 LDA.W DATA_00E632,Y CODE_00ECF4: E2 10 SEP #$10 ; Index (8 bit) CODE_00ECF6: 30 17 BMI CODE_00ED0F CODE_00ECF8: 80 50 BRA CODE_00ED4A CODE_00ECFA: A9 02 LDA.B #$02 CODE_00ECFC: 20 E9 F3 JSR.W CODE_00F3E9 CODE_00ECFF: 98 TYA CODE_00ED00: A0 00 LDY.B #$00 CODE_00ED02: 22 27 F1 00 JSL.L CODE_00F127 CODE_00ED06: AD 93 16 LDA.W $1693 ; Current MAP16 tile number CODE_00ED09: C9 1E CMP.B #$1E ; \ If block is turn block, branch to $ED3B CODE_00ED0B: F0 2E BEQ CODE_00ED3B ; / CODE_00ED0D: A9 F0 LDA.B #$F0 CODE_00ED0F: 18 CLC CODE_00ED10: 65 91 ADC $91 CODE_00ED12: 10 36 BPL CODE_00ED4A CODE_00ED14: C9 F9 CMP.B #$F9 CODE_00ED16: B0 10 BCS CODE_00ED28 CODE_00ED18: A4 72 LDY RAM_IsFlying CODE_00ED1A: D0 0C BNE CODE_00ED28 CODE_00ED1C: A5 77 LDA RAM_MarioObjStatus CODE_00ED1E: 29 FC AND.B #$FC CODE_00ED20: 09 09 ORA.B #$09 CODE_00ED22: 85 77 STA RAM_MarioObjStatus CODE_00ED24: 64 7B STZ RAM_MarioSpeedX CODE_00ED26: 80 13 BRA CODE_00ED3B CODE_00ED28: A4 72 LDY RAM_IsFlying CODE_00ED2A: F0 0B BEQ CODE_00ED37 CODE_00ED2C: 49 FF EOR.B #$FF CODE_00ED2E: 18 CLC CODE_00ED2F: 65 96 ADC RAM_MarioYPos CODE_00ED31: 85 96 STA RAM_MarioYPos CODE_00ED33: 90 02 BCC CODE_00ED37 CODE_00ED35: E6 97 INC RAM_MarioYPosHi CODE_00ED37: A9 08 LDA.B #$08 CODE_00ED39: 04 77 TSB RAM_MarioObjStatus CODE_00ED3B: A5 7D LDA RAM_MarioSpeedY CODE_00ED3D: 10 0B BPL CODE_00ED4A CODE_00ED3F: 64 7D STZ RAM_MarioSpeedY CODE_00ED41: AD F9 1D LDA.W $1DF9 ; / Play sound effect CODE_00ED44: D0 04 BNE CODE_00ED4A CODE_00ED46: 1A INC A CODE_00ED47: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_00ED4A: 20 4D F4 JSR.W CODE_00F44D CODE_00ED4D: D0 03 BNE CODE_00ED52 CODE_00ED4F: 4C DB ED JMP.W CODE_00EDDB CODE_00ED52: C0 6E CPY.B #$6E CODE_00ED54: B0 08 BCS CODE_00ED5E CODE_00ED56: A9 03 LDA.B #$03 CODE_00ED58: 20 E9 F3 JSR.W CODE_00F3E9 CODE_00ED5B: 4C F7 ED JMP.W CODE_00EDF7 CODE_00ED5E: C0 D8 CPY.B #$D8 CODE_00ED60: 90 24 BCC CODE_00ED86 CODE_00ED62: C0 FB CPY.B #$FB CODE_00ED64: 90 03 BCC CODE_00ED69 CODE_00ED66: 4C 29 F6 JMP.W CODE_00F629 CODE_00ED69: C2 20 REP #$20 ; Accum (16 bit) CODE_00ED6B: A5 98 LDA RAM_BlockXLo CODE_00ED6D: 38 SEC CODE_00ED6E: E9 10 00 SBC.W #$0010 CODE_00ED71: 85 98 STA RAM_BlockXLo CODE_00ED73: 20 61 F4 JSR.W CODE_00F461 CODE_00ED76: F0 71 BEQ CODE_00EDE9 CODE_00ED78: C0 6E CPY.B #$6E CODE_00ED7A: 90 6D BCC CODE_00EDE9 CODE_00ED7C: C0 D8 CPY.B #$D8 CODE_00ED7E: B0 69 BCS CODE_00EDE9 CODE_00ED80: A5 90 LDA $90 ; Accum (8 bit) CODE_00ED82: 69 10 ADC.B #$10 CODE_00ED84: 85 90 STA $90 CODE_00ED86: AD 31 19 LDA.W $1931 CODE_00ED89: C9 03 CMP.B #$03 CODE_00ED8B: F0 04 BEQ CODE_00ED91 CODE_00ED8D: C9 0E CMP.B #$0E CODE_00ED8F: D0 04 BNE CODE_00ED95 CODE_00ED91: C0 D2 CPY.B #$D2 CODE_00ED93: B0 54 BCS CODE_00EDE9 CODE_00ED95: 98 TYA CODE_00ED96: 38 SEC CODE_00ED97: E9 6E SBC.B #$6E CODE_00ED99: A8 TAY CODE_00ED9A: B7 82 LDA [$82],Y CODE_00ED9C: 48 PHA CODE_00ED9D: C2 20 REP #$20 ; Accum (16 bit) CODE_00ED9F: 29 FF 00 AND.W #$00FF CODE_00EDA2: 0A ASL CODE_00EDA3: 0A ASL CODE_00EDA4: 0A ASL CODE_00EDA5: 0A ASL CODE_00EDA6: E2 20 SEP #$20 ; Accum (8 bit) CODE_00EDA8: 05 92 ORA $92 CODE_00EDAA: DA PHX CODE_00EDAB: C2 10 REP #$10 ; Index (16 bit) CODE_00EDAD: AA TAX CODE_00EDAE: A5 90 LDA $90 CODE_00EDB0: 38 SEC CODE_00EDB1: FD 32 E6 SBC.W DATA_00E632,X CODE_00EDB4: 10 03 BPL CODE_00EDB9 CODE_00EDB6: EE EF 13 INC.W $13EF CODE_00EDB9: E2 10 SEP #$10 ; Index (8 bit) CODE_00EDBB: FA PLX CODE_00EDBC: 7A PLY CODE_00EDBD: D9 1C E5 CMP.W DATA_00E51C,Y CODE_00EDC0: B0 27 BCS CODE_00EDE9 CODE_00EDC2: 85 91 STA $91 CODE_00EDC4: 64 90 STZ $90 CODE_00EDC6: 20 05 F0 JSR.W CODE_00F005 CODE_00EDC9: C0 1C CPY.B #$1C CODE_00EDCB: 90 08 BCC CODE_00EDD5 CODE_00EDCD: A9 08 LDA.B #$08 CODE_00EDCF: 8D A1 14 STA.W $14A1 CODE_00EDD2: 4C D1 EE JMP.W CODE_00EED1 CODE_00EDD5: 20 BC EF JSR.W CODE_00EFBC CODE_00EDD8: 4C 85 EE JMP.W CODE_00EE85 CODE_00EDDB: C0 05 CPY.B #$05 CODE_00EDDD: D0 05 BNE CODE_00EDE4 CODE_00EDDF: 20 29 F6 JSR.W CODE_00F629 CODE_00EDE2: 80 05 BRA CODE_00EDE9 CODE_00EDE4: A9 04 LDA.B #$04 CODE_00EDE6: 20 C2 F2 JSR.W CODE_00F2C2 CODE_00EDE9: 20 4D F4 JSR.W CODE_00F44D CODE_00EDEC: D0 05 BNE CODE_00EDF3 CODE_00EDEE: 20 09 F3 JSR.W CODE_00F309 CODE_00EDF1: 80 2A BRA CODE_00EE1D CODE_00EDF3: C0 6E CPY.B #$6E CODE_00EDF5: B0 26 BCS CODE_00EE1D CODE_00EDF7: A5 7D LDA RAM_MarioSpeedY CODE_00EDF9: 30 3E BMI Return00EE39 CODE_00EDFB: AD 31 19 LDA.W $1931 CODE_00EDFE: C9 03 CMP.B #$03 CODE_00EE00: F0 04 BEQ CODE_00EE06 CODE_00EE02: C9 0E CMP.B #$0E CODE_00EE04: D0 0B BNE CODE_00EE11 CODE_00EE06: AC 93 16 LDY.W $1693 ; $ED3B CODE_00EE09: C0 59 CPY.B #$59 CODE_00EE0B: 90 04 BCC CODE_00EE11 CODE_00EE0D: C0 5C CPY.B #$5C CODE_00EE0F: 90 0C BCC CODE_00EE1D CODE_00EE11: A5 90 LDA $90 CODE_00EE13: 29 0F AND.B #$0F CODE_00EE15: 64 90 STZ $90 CODE_00EE17: C9 08 CMP.B #$08 CODE_00EE19: 85 91 STA $91 CODE_00EE1B: 90 1D BCC CODE_00EE3A CODE_00EE1D: AD 71 14 LDA.W $1471 ; \ If Mario isn't on a sprite platform, CODE_00EE20: F0 0B BEQ CODE_00EE2D ; / branch to $EE2D CODE_00EE22: A5 7D LDA RAM_MarioSpeedY ; \ If Mario is moving up, CODE_00EE24: 30 07 BMI CODE_00EE2D ; / branch to $EE2D CODE_00EE26: 64 8E STZ $8E CODE_00EE28: A0 20 LDY.B #$20 CODE_00EE2A: 4C E1 EE JMP.W CODE_00EEE1 CODE_00EE2D: A5 77 LDA RAM_MarioObjStatus ; \ CODE_00EE2F: 29 04 AND.B #$04 ; |If Mario is on an edge or in air, CODE_00EE31: 05 72 ORA RAM_IsFlying ; |branch to $EE39 CODE_00EE33: D0 04 BNE Return00EE39 ; / CODE_00EE35: A9 24 LDA.B #$24 ; \ Set "In air" to x24 (falling) CODE_00EE37: 85 72 STA RAM_IsFlying ; / Return00EE39: 60 RTS ; Return CODE_00EE3A: AC 93 16 LDY.W $1693 ; Current MAP16 tile number CODE_00EE3D: AD 31 19 LDA.W $1931 ; Tileset CODE_00EE40: C9 02 CMP.B #$02 ; \ If tileset is "Rope 1", CODE_00EE42: F0 04 BEQ CODE_00EE48 ; / branch to $EE48 CODE_00EE44: C9 08 CMP.B #$08 ; \ If tileset isn't "Rope 3", CODE_00EE46: D0 0F BNE CODE_00EE57 ; / branch to $EE57 CODE_00EE48: 98 TYA ; \ CODE_00EE49: 38 SEC ; |If the current tile isn't Rope 3's "Conveyor rope", CODE_00EE4A: E9 0C SBC.B #$0C ; |branch to $EE57 CODE_00EE4C: C9 02 CMP.B #$02 ; | CODE_00EE4E: B0 07 BCS CODE_00EE57 ; / ADDR_00EE50: 0A ASL ADDR_00EE51: AA TAX ADDR_00EE52: 20 CD EF JSR.W CODE_00EFCD ADDR_00EE55: 80 2C BRA CODE_00EE83 CODE_00EE57: 20 67 F2 JSR.W CODE_00F267 CODE_00EE5A: A0 03 LDY.B #$03 CODE_00EE5C: AD 93 16 LDA.W $1693 ; Current MAP16 tile number CODE_00EE5F: C9 1E CMP.B #$1E ; \ If block isn't "Turn block", CODE_00EE61: D0 15 BNE CODE_00EE78 ; / branch to $EE78 CODE_00EE63: A6 8F LDX $8F CODE_00EE65: F0 1C BEQ CODE_00EE83 CODE_00EE67: A6 19 LDX RAM_MarioPowerUp CODE_00EE69: F0 18 BEQ CODE_00EE83 CODE_00EE6B: AE 0D 14 LDX.W RAM_IsSpinJump CODE_00EE6E: F0 13 BEQ CODE_00EE83 CODE_00EE70: A9 21 LDA.B #$21 CODE_00EE72: 22 7F F1 00 JSL.L CODE_00F17F CODE_00EE76: 80 A5 BRA CODE_00EE1D CODE_00EE78: C9 32 CMP.B #$32 ; \ If block isn't "Brown block", CODE_00EE7A: D0 03 BNE CODE_00EE7F ; / branch to $EE7F CODE_00EE7C: 9C 09 19 STZ.W $1909 CODE_00EE7F: 22 20 F1 00 JSL.L CODE_00F120 CODE_00EE83: A0 20 LDY.B #$20 CODE_00EE85: A5 7D LDA RAM_MarioSpeedY ; \ If Mario isn't moving up, CODE_00EE87: 10 06 BPL CODE_00EE8F ; / branch to $EE8F CODE_00EE89: A5 8D LDA $8D CODE_00EE8B: C9 02 CMP.B #$02 CODE_00EE8D: 90 AA BCC Return00EE39 CODE_00EE8F: AE 23 14 LDX.W $1423 CODE_00EE92: F0 3D BEQ CODE_00EED1 CODE_00EE94: CA DEX CODE_00EE95: 8A TXA CODE_00EE96: 29 03 AND.B #$03 CODE_00EE98: F0 10 BEQ CODE_00EEAA CODE_00EE9A: C9 02 CMP.B #$02 CODE_00EE9C: B0 33 BCS CODE_00EED1 CODE_00EE9E: C2 20 REP #$20 ; Accum (16 bit) CODE_00EEA0: A5 9A LDA RAM_BlockYLo CODE_00EEA2: 38 SEC CODE_00EEA3: E9 10 00 SBC.W #$0010 CODE_00EEA6: 85 9A STA RAM_BlockYLo CODE_00EEA8: E2 20 SEP #$20 ; Accum (8 bit) CODE_00EEAA: 8A TXA CODE_00EEAB: 4A LSR CODE_00EEAC: 4A LSR CODE_00EEAD: AA TAX CODE_00EEAE: BD 27 1F LDA.W $1F27,X ; \ If switch block is already active, CODE_00EEB1: D0 1E BNE CODE_00EED1 ; / branch to $EED1 CODE_00EEB3: 1A INC A ; \ Activate switch block CODE_00EEB4: 9D 27 1F STA.W $1F27,X ; / CODE_00EEB7: 8D D2 13 STA.W $13D2 CODE_00EEBA: 5A PHY CODE_00EEBB: 8E 1E 19 STX.W $191E CODE_00EEBE: 20 45 FA JSR.W FlatPalaceSwitch CODE_00EEC1: 7A PLY CODE_00EEC2: A9 0C LDA.B #$0C CODE_00EEC4: 8D FB 1D STA.W $1DFB ; / Change music CODE_00EEC7: A9 FF LDA.B #$FF ; \ CODE_00EEC9: 8D DA 0D STA.W $0DDA ; / Set music to xFF CODE_00EECC: A9 08 LDA.B #$08 CODE_00EECE: 8D 93 14 STA.W $1493 CODE_00EED1: EE EF 13 INC.W $13EF CODE_00EED4: A5 96 LDA RAM_MarioYPos CODE_00EED6: 38 SEC CODE_00EED7: E5 91 SBC $91 CODE_00EED9: 85 96 STA RAM_MarioYPos CODE_00EEDB: A5 97 LDA RAM_MarioYPosHi CODE_00EEDD: E5 90 SBC $90 CODE_00EEDF: 85 97 STA RAM_MarioYPosHi CODE_00EEE1: B9 3D E5 LDA.W DATA_00E53D,Y CODE_00EEE4: D0 09 BNE CODE_00EEEF CODE_00EEE6: AE ED 13 LDX.W $13ED CODE_00EEE9: F0 1A BEQ CODE_00EF05 CODE_00EEEB: A6 7B LDX RAM_MarioSpeedX CODE_00EEED: F0 13 BEQ CODE_00EF02 CODE_00EEEF: 8D EE 13 STA.W $13EE CODE_00EEF2: A5 15 LDA RAM_ControllerA CODE_00EEF4: 29 04 AND.B #$04 CODE_00EEF6: F0 0D BEQ CODE_00EF05 CODE_00EEF8: AD 8F 14 LDA.W $148F CODE_00EEFB: 0D ED 13 ORA.W $13ED CODE_00EEFE: D0 05 BNE CODE_00EF05 CODE_00EF00: A2 1C LDX.B #$1C CODE_00EF02: 8E ED 13 STX.W $13ED CODE_00EF05: BE B9 E4 LDX.W DATA_00E4B9,Y CODE_00EF08: 8E E1 13 STX.W $13E1 CODE_00EF0B: C0 1C CPY.B #$1C CODE_00EF0D: B0 29 BCS CODE_00EF38 CODE_00EF0F: A5 7B LDA RAM_MarioSpeedX CODE_00EF11: F0 1E BEQ CODE_00EF31 CODE_00EF13: B9 3D E5 LDA.W DATA_00E53D,Y CODE_00EF16: F0 19 BEQ CODE_00EF31 CODE_00EF18: 45 7B EOR RAM_MarioSpeedX CODE_00EF1A: 10 15 BPL CODE_00EF31 CODE_00EF1C: 8E E5 13 STX.W $13E5 CODE_00EF1F: A5 7B LDA RAM_MarioSpeedX CODE_00EF21: 10 03 BPL CODE_00EF26 CODE_00EF23: 49 FF EOR.B #$FF CODE_00EF25: 1A INC A CODE_00EF26: C9 28 CMP.B #$28 CODE_00EF28: 90 05 BCC CODE_00EF2F CODE_00EF2A: B9 FB E4 LDA.W DATA_00E4FB,Y CODE_00EF2D: 80 31 BRA CODE_00EF60 CODE_00EF2F: A0 20 LDY.B #$20 CODE_00EF31: A5 7D LDA RAM_MarioSpeedY CODE_00EF33: D9 DA E4 CMP.W DATA_00E4DA,Y CODE_00EF36: 90 03 BCC CODE_00EF3B CODE_00EF38: B9 DA E4 LDA.W DATA_00E4DA,Y CODE_00EF3B: A6 8E LDX $8E CODE_00EF3D: 10 21 BPL CODE_00EF60 CODE_00EF3F: EE 0E 14 INC.W $140E CODE_00EF42: 48 PHA CODE_00EF43: C2 20 REP #$20 ; Accum (16 bit) CODE_00EF45: AD BE 17 LDA.W $17BE CODE_00EF48: 29 00 FF AND.W #$FF00 CODE_00EF4B: 10 03 BPL CODE_00EF50 CODE_00EF4D: 09 FF 00 ORA.W #$00FF CODE_00EF50: EB XBA CODE_00EF51: 49 FF FF EOR.W #$FFFF CODE_00EF54: 1A INC A CODE_00EF55: 18 CLC CODE_00EF56: 65 94 ADC RAM_MarioXPos CODE_00EF58: 85 94 STA RAM_MarioXPos CODE_00EF5A: E2 20 SEP #$20 ; Accum (8 bit) CODE_00EF5C: 68 PLA CODE_00EF5D: 18 CLC CODE_00EF5E: 69 28 ADC.B #$28 CODE_00EF60: 85 7D STA RAM_MarioSpeedY CODE_00EF62: AA TAX CODE_00EF63: 10 03 BPL CODE_00EF68 CODE_00EF65: EE EF 13 INC.W $13EF CODE_00EF68: 9C B5 18 STZ.W $18B5 CODE_00EF6B: 64 72 STZ RAM_IsFlying CODE_00EF6D: 64 74 STZ RAM_IsClimbing CODE_00EF6F: 9C 06 14 STZ.W $1406 CODE_00EF72: 9C 0D 14 STZ.W RAM_IsSpinJump CODE_00EF75: A9 04 LDA.B #$04 CODE_00EF77: 04 77 TSB RAM_MarioObjStatus CODE_00EF79: AC 07 14 LDY.W $1407 CODE_00EF7C: D0 1B BNE CODE_00EF99 CODE_00EF7E: AD 7A 18 LDA.W RAM_OnYoshi CODE_00EF81: F0 12 BEQ CODE_00EF95 CODE_00EF83: A5 8F LDA $8F CODE_00EF85: F0 0E BEQ CODE_00EF95 CODE_00EF87: AD E7 18 LDA.W RAM_YoshiHasStomp ; \ If Yoshi has stomp ability, CODE_00EF8A: F0 09 BEQ CODE_00EF95 ; | CODE_00EF8C: 22 BF 86 02 JSL.L YoshiStompRoutine ; | Run routine CODE_00EF90: A9 25 LDA.B #$25 ; | Play sound effect CODE_00EF92: 8D FC 1D STA.W $1DFC ; / CODE_00EF95: 9C 97 16 STZ.W $1697 Return00EF98: 60 RTS ; Return CODE_00EF99: 9C 97 16 STZ.W $1697 CODE_00EF9C: 9C 07 14 STZ.W $1407 CODE_00EF9F: C0 05 CPY.B #$05 CODE_00EFA1: B0 0B BCS CallGroundPound CODE_00EFA3: A5 19 LDA RAM_MarioPowerUp CODE_00EFA5: C9 02 CMP.B #$02 CODE_00EFA7: D0 04 BNE Return00EFAD CODE_00EFA9: 38 SEC CODE_00EFAA: 6E ED 13 ROR.W $13ED Return00EFAD: 60 RTS ; Return CallGroundPound: A5 8F LDA $8F CODE_00EFB0: F0 09 BEQ Return00EFBB CODE_00EFB2: 22 C1 94 02 JSL.L GroundPound CODE_00EFB6: A9 09 LDA.B #$09 ; \ Play sound effect CODE_00EFB8: 8D FC 1D STA.W $1DFC ; / Return00EFBB: 60 RTS ; Return CODE_00EFBC: AE 93 16 LDX.W $1693 CODE_00EFBF: E0 CE CPX.B #$CE CODE_00EFC1: 90 24 BCC Return00EFE7 CODE_00EFC3: E0 D2 CPX.B #$D2 CODE_00EFC5: B0 20 BCS Return00EFE7 CODE_00EFC7: 8A TXA CODE_00EFC8: 38 SEC CODE_00EFC9: E9 CC SBC.B #$CC CODE_00EFCB: 0A ASL CODE_00EFCC: AA TAX CODE_00EFCD: A5 13 LDA RAM_FrameCounter CODE_00EFCF: 29 03 AND.B #$03 CODE_00EFD1: D0 14 BNE Return00EFE7 CODE_00EFD3: C2 20 REP #$20 ; Accum (16 bit) CODE_00EFD5: A5 94 LDA RAM_MarioXPos CODE_00EFD7: 18 CLC CODE_00EFD8: 7D 13 E9 ADC.W DATA_00E913,X CODE_00EFDB: 85 94 STA RAM_MarioXPos CODE_00EFDD: A5 96 LDA RAM_MarioYPos CODE_00EFDF: 18 CLC CODE_00EFE0: 7D 1F E9 ADC.W DATA_00E91F,X CODE_00EFE3: 85 96 STA RAM_MarioYPos CODE_00EFE5: E2 20 SEP #$20 ; Accum (8 bit) Return00EFE7: 60 RTS ; Return CODE_00EFE8: 20 4D F4 JSR.W CODE_00F44D CODE_00EFEB: D0 03 BNE ADDR_00EFF0 CODE_00EFED: 4C 09 F3 JMP.W CODE_00F309 ADDR_00EFF0: C0 11 CPY.B #$11 ADDR_00EFF2: 90 10 BCC Return00F004 ADDR_00EFF4: C0 6E CPY.B #$6E ADDR_00EFF6: B0 0C BCS Return00F004 ADDR_00EFF8: 98 TYA ADDR_00EFF9: A0 00 LDY.B #$00 ADDR_00EFFB: 22 60 F1 00 JSL.L CODE_00F160 ADDR_00EFFF: 68 PLA ADDR_00F000: 68 PLA ADDR_00F001: 4C 42 EB JMP.W ADDR_00EB42 Return00F004: 60 RTS ; Return CODE_00F005: 98 TYA CODE_00F006: 38 SEC CODE_00F007: E9 0E SBC.B #$0E CODE_00F009: C9 02 CMP.B #$02 CODE_00F00B: B0 3F BCS Return00F04C CODE_00F00D: 49 01 EOR.B #$01 CODE_00F00F: C5 76 CMP RAM_MarioDirection CODE_00F011: D0 39 BNE Return00F04C CODE_00F013: AA TAX CODE_00F014: 4A LSR CODE_00F015: A5 92 LDA $92 CODE_00F017: 90 02 BCC CODE_00F01B CODE_00F019: 49 0F EOR.B #$0F CODE_00F01B: C9 08 CMP.B #$08 CODE_00F01D: B0 2D BCS Return00F04C CODE_00F01F: AD 7A 18 LDA.W RAM_OnYoshi ;\ if not on yoshi, CODE_00F022: F0 11 BEQ CODE_00F035 ;/ CODE_00F024: A9 08 LDA.B #$08 CODE_00F026: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_00F029: A9 80 LDA.B #$80 CODE_00F02B: 85 7D STA RAM_MarioSpeedY CODE_00F02D: 8D 06 14 STA.W $1406 CODE_00F030: 68 PLA CODE_00F031: 68 PLA CODE_00F032: 4C 35 EE JMP.W CODE_00EE35 CODE_00F035: A5 7B LDA RAM_MarioSpeedX CODE_00F037: 38 SEC CODE_00F038: FD B9 EA SBC.W DATA_00EAB9,X CODE_00F03B: 5D B9 EA EOR.W DATA_00EAB9,X CODE_00F03E: 30 0C BMI Return00F04C CODE_00F040: AD 8F 14 LDA.W $148F CODE_00F043: 05 73 ORA RAM_IsDucking CODE_00F045: D0 05 BNE Return00F04C CODE_00F047: E8 INX CODE_00F048: E8 INX CODE_00F049: 8E E3 13 STX.W RAM_WallWalkStatus Return00F04C: 60 RTS ; Return CODE_00F04D: DA PHX CODE_00F04E: A2 19 LDX.B #$19 CODE_00F050: DF C1 EA 00 CMP.L DATA_00EAC1,X CODE_00F054: F0 04 BEQ CODE_00F05A CODE_00F056: CA DEX CODE_00F057: 10 F7 BPL CODE_00F050 CODE_00F059: 18 CLC CODE_00F05A: FA PLX Return00F05B: 6B RTL ; Return DATA_00F05C: .db $01,$05,$01,$02,$01,$01,$00,$00 .db $00,$00,$00,$00,$00,$06,$02,$02 .db $02,$02,$02,$02,$02,$02,$02,$02 .db $02,$03,$03,$04,$02,$02,$02,$01 .db $01,$07,$11,$10 DATA_00F080: .db $80,$00,$00,$1E,$00,$00,$05,$09 .db $06,$81,$0E,$0C,$14,$00,$05,$09 .db $06,$07,$0E,$0C,$16,$18,$1A,$1A .db $00,$09,$00,$00,$FF,$0C,$0A,$00 .db $00,$00,$08,$02 DATA_00F0A4: .db $0C,$08,$0C,$08,$0C,$0F,$08,$08 .db $08,$08,$08,$08,$08,$08,$08,$08 .db $08,$08,$08,$08,$08,$08,$08,$08 .db $08,$03,$03,$08,$08,$08,$08,$08 .db $08,$04,$08,$08 DATA_00F0C8: .db $0E,$13,$0E,$0D,$0E,$10,$0D,$0D .db $0D,$0D,$0A,$0D,$0D,$0C,$0D,$0D .db $0D,$0D,$0B,$0D,$0D,$16,$0D,$0D .db $0D,$11,$11,$12,$0D,$0D,$0D,$0E .db $0F,$0C,$0D,$0D DATA_00F0EC: .db $08,$01,$02,$04,$ED,$F6,$00,$7D .db $BE,$00,$6F,$B7 DATA_00F0F8: .db $40,$50,$00,$70,$80,$00,$A0,$B0 DATA_00F100: .db $05,$09,$06,$05,$09,$06,$05,$09 .db $06,$05,$09,$06,$05,$09,$06,$05 .db $07,$0A,$10,$07,$0A,$10,$07,$0A .db $10,$07,$0A,$10,$07,$0A,$10,$07 CODE_00F120: EB XBA ;\ CODE_00F121: AD 7A 18 LDA.W RAM_OnYoshi ;| CODE_00F124: D0 39 BNE CODE_00F15F ;/ CODE_00F126: EB XBA CODE_00F127: C9 2F CMP.B #$2F CODE_00F129: F0 29 BEQ CODE_00F154 CODE_00F12B: C9 59 CMP.B #$59 CODE_00F12D: 90 15 BCC CODE_00F144 CODE_00F12F: C9 5C CMP.B #$5C CODE_00F131: B0 0D BCS CODE_00F140 CODE_00F133: EB XBA CODE_00F134: AD 31 19 LDA.W $1931 CODE_00F137: C9 05 CMP.B #$05 CODE_00F139: F0 19 BEQ CODE_00F154 CODE_00F13B: C9 0D CMP.B #$0D CODE_00F13D: F0 15 BEQ CODE_00F154 CODE_00F13F: EB XBA CODE_00F140: C9 5D CMP.B #$5D CODE_00F142: 90 08 BCC CODE_00F14C CODE_00F144: C9 66 CMP.B #$66 CODE_00F146: 90 18 BCC CODE_00F160 CODE_00F148: C9 6A CMP.B #$6A CODE_00F14A: B0 14 BCS CODE_00F160 CODE_00F14C: EB XBA CODE_00F14D: AD 31 19 LDA.W $1931 CODE_00F150: C9 01 CMP.B #$01 CODE_00F152: D0 0B BNE CODE_00F15F CODE_00F154: 8B PHB CODE_00F155: A9 01 LDA.B #$01 CODE_00F157: 48 PHA CODE_00F158: AB PLB CODE_00F159: 22 B7 F5 00 JSL.L HurtMario CODE_00F15D: AB PLB Return00F15E: 6B RTL ; Return CODE_00F15F: EB XBA CODE_00F160: 38 SEC CODE_00F161: E9 11 SBC.B #$11 CODE_00F163: C9 1D CMP.B #$1D CODE_00F165: 90 18 BCC CODE_00F17F CODE_00F167: EB XBA CODE_00F168: DA PHX CODE_00F169: AE 31 19 LDX.W $1931 CODE_00F16C: BF 25 A6 00 LDA.L DATA_00A625,X CODE_00F170: FA PLX CODE_00F171: 29 03 AND.B #$03 CODE_00F173: F0 01 BEQ CODE_00F176 Return00F175: 6B RTL ; Return CODE_00F176: EB XBA CODE_00F177: E9 59 SBC.B #$59 CODE_00F179: C9 02 CMP.B #$02 CODE_00F17B: B0 7B BCS Return00F1F8 CODE_00F17D: 69 22 ADC.B #$22 CODE_00F17F: DA PHX CODE_00F180: 48 PHA CODE_00F181: BB TYX CODE_00F182: BF EC F0 00 LDA.L DATA_00F0EC,X CODE_00F186: FA PLX CODE_00F187: 3F A4 F0 00 AND.L DATA_00F0A4,X CODE_00F18B: F0 69 BEQ CODE_00F1F6 CODE_00F18D: 84 06 STY $06 CODE_00F18F: BF C8 F0 00 LDA.L DATA_00F0C8,X CODE_00F193: 85 07 STA $07 CODE_00F195: BF 5C F0 00 LDA.L DATA_00F05C,X CODE_00F199: 85 04 STA $04 CODE_00F19B: BF 80 F0 00 LDA.L DATA_00F080,X CODE_00F19F: 10 19 BPL CODE_00F1BA CODE_00F1A1: C9 FF CMP.B #$FF CODE_00F1A3: D0 09 BNE CODE_00F1AE CODE_00F1A5: A9 05 LDA.B #$05 CODE_00F1A7: AC C0 0D LDY.W $0DC0 CODE_00F1AA: F0 24 BEQ CODE_00F1D0 CODE_00F1AC: 80 20 BRA CODE_00F1CE CODE_00F1AE: 4A LSR CODE_00F1AF: A5 9A LDA RAM_BlockYLo CODE_00F1B1: 6A ROR CODE_00F1B2: 4A LSR CODE_00F1B3: 4A LSR CODE_00F1B4: 4A LSR CODE_00F1B5: AA TAX CODE_00F1B6: BF 00 F1 00 LDA.L DATA_00F100,X CODE_00F1BA: 4A LSR CODE_00F1BB: 90 13 BCC CODE_00F1D0 CODE_00F1BD: C9 03 CMP.B #$03 CODE_00F1BF: F0 08 BEQ CODE_00F1C9 CODE_00F1C1: A4 19 LDY RAM_MarioPowerUp CODE_00F1C3: D0 0B BNE CODE_00F1D0 CODE_00F1C5: A9 01 LDA.B #$01 CODE_00F1C7: 80 07 BRA CODE_00F1D0 CODE_00F1C9: AC 90 14 LDY.W $1490 ; \ Branch if Mario has star CODE_00F1CC: D0 02 BNE CODE_00F1D0 ; / CODE_00F1CE: A9 06 LDA.B #$06 CODE_00F1D0: 85 05 STA $05 CODE_00F1D2: C9 05 CMP.B #$05 CODE_00F1D4: D0 04 BNE CODE_00F1DA CODE_00F1D6: A9 16 LDA.B #$16 CODE_00F1D8: 85 07 STA $07 CODE_00F1DA: A8 TAY CODE_00F1DB: A9 0F LDA.B #$0F CODE_00F1DD: 14 9A TRB RAM_BlockYLo CODE_00F1DF: 14 98 TRB RAM_BlockXLo CODE_00F1E1: C0 06 CPY.B #$06 CODE_00F1E3: D0 07 BNE CODE_00F1EC CODE_00F1E5: AC 31 19 LDY.W $1931 CODE_00F1E8: C0 04 CPY.B #$04 CODE_00F1EA: F0 0D BEQ CODE_00F1F9 CODE_00F1EC: 8B PHB CODE_00F1ED: A9 02 LDA.B #$02 CODE_00F1EF: 48 PHA CODE_00F1F0: AB PLB CODE_00F1F1: 22 52 87 02 JSL.L CODE_028752 CODE_00F1F5: AB PLB CODE_00F1F6: FA PLX CODE_00F1F7: 18 CLC Return00F1F8: 6B RTL ; Return CODE_00F1F9: A5 99 LDA RAM_BlockXHi CODE_00F1FB: 4A LSR CODE_00F1FC: A5 98 LDA RAM_BlockXLo CODE_00F1FE: 29 C0 AND.B #$C0 CODE_00F200: 2A ROL CODE_00F201: 2A ROL CODE_00F202: 2A ROL CODE_00F203: A8 TAY CODE_00F204: A5 9A LDA RAM_BlockYLo CODE_00F206: 4A LSR CODE_00F207: 4A LSR CODE_00F208: 4A LSR CODE_00F209: 4A LSR CODE_00F20A: AA TAX CODE_00F20B: B9 F3 13 LDA.W $13F3,Y CODE_00F20E: 1F EC F0 00 ORA.L DATA_00F0EC,X CODE_00F212: BE F3 13 LDX.W $13F3,Y CODE_00F215: 99 F3 13 STA.W $13F3,Y CODE_00F218: C9 FF CMP.B #$FF CODE_00F21A: D0 0A BNE CODE_00F226 CODE_00F21C: A9 05 LDA.B #$05 CODE_00F21E: 85 05 STA $05 CODE_00F220: A9 17 LDA.B #$17 CODE_00F222: 85 07 STA $07 CODE_00F224: 80 C6 BRA CODE_00F1EC CODE_00F226: AD 1B 14 LDA.W $141B CODE_00F229: D0 0B BNE CODE_00F236 CODE_00F22B: 8A TXA CODE_00F22C: F0 02 BEQ CODE_00F230 CODE_00F22E: A9 02 LDA.B #$02 CODE_00F230: 49 03 EOR.B #$03 CODE_00F232: 25 13 AND RAM_FrameCounter CODE_00F234: D0 EA BNE CODE_00F220 CODE_00F236: A9 2A LDA.B #$2A CODE_00F238: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_00F23B: 5A PHY CODE_00F23C: 64 05 STZ $05 CODE_00F23E: 8B PHB CODE_00F23F: A9 02 LDA.B #$02 ; \ Set data bank = $02 CODE_00F241: 48 PHA ; | CODE_00F242: AB PLB CODE_00F243: 22 52 87 02 JSL.L CODE_028752 CODE_00F247: AB PLB CODE_00F248: 7A PLY CODE_00F249: A2 07 LDX.B #$07 CODE_00F24B: B9 F3 13 LDA.W $13F3,Y CODE_00F24E: 4A LSR CODE_00F24F: B0 10 BCS CODE_00F261 CODE_00F251: 48 PHA CODE_00F252: A9 0D LDA.B #$0D ; \ Block to generate = Used block CODE_00F254: 85 9C STA RAM_BlockBlock ; / CODE_00F256: BF F8 F0 00 LDA.L DATA_00F0F8,X CODE_00F25A: 85 9A STA RAM_BlockYLo CODE_00F25C: 22 B0 BE 00 JSL.L GenerateTile CODE_00F260: 68 PLA CODE_00F261: CA DEX CODE_00F262: 10 EA BPL CODE_00F24E CODE_00F264: 4C F6 F1 JMP.W CODE_00F1F6 CODE_00F267: C0 2E CPY.B #$2E CODE_00F269: D0 20 BNE Return00F28B CODE_00F26B: 24 16 BIT $16 CODE_00F26D: 50 1C BVC Return00F28B CODE_00F26F: AD 8F 14 LDA.W $148F CODE_00F272: 0D 7A 18 ORA.W RAM_OnYoshi CODE_00F275: D0 14 BNE Return00F28B CODE_00F277: A9 02 LDA.B #$02 CODE_00F279: 48 PHA CODE_00F27A: AB PLB CODE_00F27B: 22 2F 86 02 JSL.L CODE_02862F CODE_00F27F: 30 08 BMI CODE_00F289 CODE_00F281: A9 02 LDA.B #$02 ;\ Block to generate = #$02 CODE_00F283: 85 9C STA RAM_BlockBlock ;| CODE_00F285: 22 B0 BE 00 JSL.L GenerateTile ;/ CODE_00F289: 4B PHK CODE_00F28A: AB PLB Return00F28B: 60 RTS ; Return CODE_00F28C: 98 TYA CODE_00F28D: 38 SEC CODE_00F28E: E9 6F SBC.B #$6F CODE_00F290: C9 04 CMP.B #$04 CODE_00F292: B0 2C BCS CODE_00F2C0 CODE_00F294: CD 21 14 CMP.W $1421 CODE_00F297: F0 0F BEQ CODE_00F2A8 CODE_00F299: 1A INC A CODE_00F29A: CD 21 14 CMP.W $1421 CODE_00F29D: F0 20 BEQ Return00F2BF CODE_00F29F: AD 21 14 LDA.W $1421 CODE_00F2A2: C9 04 CMP.B #$04 CODE_00F2A4: B0 19 BCS Return00F2BF CODE_00F2A6: A9 FF LDA.B #$FF CODE_00F2A8: 1A INC A CODE_00F2A9: 8D 21 14 STA.W $1421 CODE_00F2AC: C9 04 CMP.B #$04 CODE_00F2AE: D0 0F BNE Return00F2BF CODE_00F2B0: DA PHX CODE_00F2B1: 22 D9 C2 03 JSL.L TriggerInivis1Up CODE_00F2B5: 20 B2 F3 JSR.W CODE_00F3B2 CODE_00F2B8: 19 3C 1F ORA.W $1F3C,Y CODE_00F2BB: 99 3C 1F STA.W $1F3C,Y CODE_00F2BE: FA PLX Return00F2BF: 60 RTS ; Return CODE_00F2C0: A9 01 LDA.B #$01 CODE_00F2C2: C0 06 CPY.B #$06 CODE_00F2C4: B0 03 BCS CODE_00F2C9 CODE_00F2C6: 04 8A TSB $8A Return00F2C8: 60 RTS ; Return CODE_00F2C9: C0 38 CPY.B #$38 CODE_00F2CB: D0 21 BNE CODE_00F2EE CODE_00F2CD: A9 02 LDA.B #$02 ; \ Block to generate = #$02 CODE_00F2CF: 85 9C STA RAM_BlockBlock ;| generate blank tile CODE_00F2D1: 22 B0 BE 00 JSL.L GenerateTile ;/ CODE_00F2D5: 20 5A FD JSR.W CODE_00FD5A ; Generate twinkle effect CODE_00F2D8: AD CD 13 LDA.W $13CD ;\ CODE_00F2DB: F0 03 BEQ CODE_00F2E0 ;/ flag of some sort CODE_00F2DD: 20 2B CA JSR.W CODE_00CA2B CODE_00F2E0: A5 19 LDA RAM_MarioPowerUp ;\ CODE_00F2E2: D0 04 BNE CODE_00F2E8 ;/ if mario isn't small, don't make him big CODE_00F2E4: A9 01 LDA.B #$01 ;\ make mario big CODE_00F2E6: 85 19 STA RAM_MarioPowerUp ;/ CODE_00F2E8: A9 05 LDA.B #$05 ; \ midway point CODE_00F2EA: 8D F9 1D STA.W $1DF9 ; / Play sound effect Return00F2ED: 60 RTS ; Return CODE_00F2EE: C0 06 CPY.B #$06 CODE_00F2F0: F0 0A BEQ CODE_00F2FC CODE_00F2F2: C0 07 CPY.B #$07 CODE_00F2F4: 90 13 BCC CODE_00F309 CODE_00F2F6: C0 1D CPY.B #$1D CODE_00F2F8: B0 0F BCS CODE_00F309 CODE_00F2FA: 09 80 ORA.B #$80 CODE_00F2FC: C9 01 CMP.B #$01 CODE_00F2FE: D0 02 BNE CODE_00F302 CODE_00F300: 09 18 ORA.B #$18 CODE_00F302: 04 8B TSB $8B CODE_00F304: A5 93 LDA $93 CODE_00F306: 85 8C STA $8C Return00F308: 60 RTS ; Return CODE_00F309: C0 2F CPY.B #$2F CODE_00F30B: B0 04 BCS CODE_00F311 CODE_00F30D: C0 2A CPY.B #$2A CODE_00F30F: B0 1A BCS CODE_00F32B CODE_00F311: C0 6E CPY.B #$6E CODE_00F313: D0 61 BNE Return00F376 CODE_00F315: A9 0F LDA.B #$0F CODE_00F317: 22 8A F3 00 JSL.L CODE_00F38A CODE_00F31B: EE C5 13 INC.W $13C5 CODE_00F31E: DA PHX CODE_00F31F: 20 B2 F3 JSR.W CODE_00F3B2 CODE_00F322: 19 EE 1F ORA.W $1FEE,Y CODE_00F325: 99 EE 1F STA.W $1FEE,Y CODE_00F328: FA PLX CODE_00F329: 80 40 BRA CODE_00F36B CODE_00F32B: D0 05 BNE CODE_00F332 ;YOSHI COIN HANDLER CODE_00F32D: AD AD 14 LDA.W RAM_BluePowTimer ;\ CODE_00F330: F0 44 BEQ Return00F376 ;/ if POW timer = 00, return CODE_00F332: C0 2D CPY.B #$2D CODE_00F334: F0 09 BEQ CODE_00F33F CODE_00F336: 90 2F BCC CODE_00F367 CODE_00F338: A5 98 LDA RAM_BlockXLo CODE_00F33A: 38 SEC CODE_00F33B: E9 10 SBC.B #$10 CODE_00F33D: 85 98 STA RAM_BlockXLo CODE_00F33F: 22 77 F3 00 JSL.L CODE_00F377 CODE_00F343: EE 22 14 INC.W $1422 CODE_00F346: AD 22 14 LDA.W $1422 CODE_00F349: C9 05 CMP.B #$05 CODE_00F34B: 90 0B BCC CODE_00F358 CODE_00F34D: DA PHX CODE_00F34E: 20 B2 F3 JSR.W CODE_00F3B2 CODE_00F351: 19 2F 1F ORA.W $1F2F,Y CODE_00F354: 99 2F 1F STA.W $1F2F,Y CODE_00F357: FA PLX CODE_00F358: A9 1C LDA.B #$1C CODE_00F35A: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_00F35D: A9 01 LDA.B #$01 CODE_00F35F: 22 30 B3 05 JSL.L CODE_05B330 CODE_00F363: A0 18 LDY.B #$18 CODE_00F365: 80 06 BRA CODE_00F36D CODE_00F367: 22 4A B3 05 JSL.L CODE_05B34A CODE_00F36B: A0 01 LDY.B #$01 ; \ Block to generate = #$01 CODE_00F36D: 84 9C STY RAM_BlockBlock ; / CODE_00F36F: 22 B0 BE 00 JSL.L GenerateTile CODE_00F373: 20 5A FD JSR.W CODE_00FD5A Return00F376: 60 RTS ; Return CODE_00F377: AD 20 14 LDA.W $1420 CODE_00F37A: EE 20 14 INC.W $1420 CODE_00F37D: 18 CLC CODE_00F37E: 69 09 ADC.B #$09 CODE_00F380: C9 0D CMP.B #$0D CODE_00F382: 90 02 BCC CODE_00F386 CODE_00F384: A9 0D LDA.B #$0D CODE_00F386: 80 02 BRA CODE_00F38A CODE_00F388: A9 0D LDA.B #$0D ; Why this isn't after generating the score sprite is beyond me CODE_00F38A: 48 PHA ;\ CODE_00F38B: 22 34 AD 02 JSL.L CODE_02AD34 ; Generate score sprite? probably, looking at it CODE_00F38F: 68 PLA ;/ save A too, since it holds what score sprite it is CODE_00F390: 99 E1 16 STA.W RAM_ScoreSprNum,Y ;\ Y = index to score sprite CODE_00F393: A5 94 LDA RAM_MarioXPos ;| CODE_00F395: 99 ED 16 STA.W RAM_ScoreSprXLo,Y ;| CODE_00F398: A5 95 LDA RAM_MarioXPosHi ;| CODE_00F39A: 99 F3 16 STA.W RAM_ScoreSprXHi,Y ;| CODE_00F39D: A5 96 LDA RAM_MarioYPos ;| CODE_00F39F: 99 E7 16 STA.W RAM_ScoreSprYLo,Y ;| CODE_00F3A2: A5 97 LDA RAM_MarioYPosHi ;| CODE_00F3A4: 99 F9 16 STA.W RAM_ScoreSprYHi,Y ;| CODE_00F3A7: A9 30 LDA.B #$30 ;| CODE_00F3A9: 99 FF 16 STA.W RAM_ScoreSprSpeedY,Y;/ Score sprite pos is the same as Mario pos (would MVN be easier here?) CODE_00F3AC: A9 00 LDA.B #$00 ;\ CODE_00F3AE: 99 05 17 STA.W $1705,Y ;/ Hmm, a undocumented score sprite table. Perhaps score sprite timer? Return00F3B1: 6B RTL ; Return CODE_00F3B2: AD BF 13 LDA.W $13BF CODE_00F3B5: 4A LSR CODE_00F3B6: 4A LSR CODE_00F3B7: 4A LSR CODE_00F3B8: A8 TAY CODE_00F3B9: AD BF 13 LDA.W $13BF CODE_00F3BC: 29 07 AND.B #$07 CODE_00F3BE: AA TAX CODE_00F3BF: BF 5B B3 05 LDA.L DATA_05B35B,X Return00F3C3: 60 RTS ; Return CODE_00F3C4: C0 3F CPY.B #$3F CODE_00F3C6: D0 AE BNE Return00F376 CODE_00F3C8: A4 8F LDY $8F CODE_00F3CA: F0 03 BEQ CODE_00F3CF CODE_00F3CC: 4C 3F F4 JMP.W CODE_00F43F CODE_00F3CF: DA PHX CODE_00F3D0: AA TAX CODE_00F3D1: A5 94 LDA RAM_MarioXPos CODE_00F3D3: 9B TXY CODE_00F3D4: F0 03 BEQ CODE_00F3D9 CODE_00F3D6: 49 FF EOR.B #$FF CODE_00F3D8: 1A INC A CODE_00F3D9: 29 0F AND.B #$0F CODE_00F3DB: 0A ASL CODE_00F3DC: 18 CLC CODE_00F3DD: 69 20 ADC.B #$20 CODE_00F3DF: A0 05 LDY.B #$05 CODE_00F3E1: 80 27 BRA CODE_00F40A DATA_00F3E3: .db $0A,$FF PIPE_BUTTONS: .db $02,$01,$08,$04 ; Format: Button to press to go in pipe: Left, Right, Up, Down, for right facing, left facing, from the top, and from the bottom (normal.) CODE_00F3E9: EB XBA CODE_00F3EA: 98 TYA CODE_00F3EB: 38 SEC CODE_00F3EC: E9 37 SBC.B #$37 CODE_00F3EE: C9 02 CMP.B #$02 CODE_00F3F0: B0 50 BCS Return00F442 CODE_00F3F2: A8 TAY CODE_00F3F3: A5 92 LDA $92 CODE_00F3F5: F9 E3 F3 SBC.W DATA_00F3E3,Y CODE_00F3F8: C9 05 CMP.B #$05 CODE_00F3FA: B0 43 BCS CODE_00F43F CODE_00F3FC: DA PHX CODE_00F3FD: EB XBA CODE_00F3FE: AA TAX CODE_00F3FF: A9 20 LDA.B #$20 CODE_00F401: AC 7A 18 LDY.W RAM_OnYoshi CODE_00F404: F0 02 BEQ CODE_00F408 CODE_00F406: A9 30 LDA.B #$30 CODE_00F408: A0 06 LDY.B #$06 CODE_00F40A: 85 88 STA $88 CODE_00F40C: A5 15 LDA RAM_ControllerA ;\ CODE_00F40E: 3D E5 F3 AND.W PIPE_BUTTONS,X ;| if button to go down pipe is not pressed CODE_00F411: F0 2B BEQ CODE_00F43E ;/ CODE_00F413: 85 9D STA RAM_SpritesLocked ; Lock the sprites CODE_00F415: 29 01 AND.B #$01 ;\ CODE_00F417: 85 76 STA RAM_MarioDirection ;/ correct mario's direction CODE_00F419: 86 89 STX $89 CODE_00F41B: 8A TXA CODE_00F41C: 4A LSR CODE_00F41D: AA TAX CODE_00F41E: D0 10 BNE CODE_00F430 CODE_00F420: AD 8F 14 LDA.W $148F CODE_00F423: F0 0B BEQ CODE_00F430 CODE_00F425: A5 76 LDA RAM_MarioDirection ;\ CODE_00F427: 49 01 EOR.B #$01 ;| make mario switch directions CODE_00F429: 85 76 STA RAM_MarioDirection ;/ CODE_00F42B: A9 08 LDA.B #$08 ;\ CODE_00F42D: 8D 99 14 STA.W RAM_FaceCamImgTimer ;/ make mario face the screen CODE_00F430: E8 INX CODE_00F431: 8E 19 14 STX.W RAM_YoshiInPipe CODE_00F434: 84 71 STY RAM_MarioAnimation CODE_00F436: 20 2D F6 JSR.W NoButtons ; No buttons CODE_00F439: A9 04 LDA.B #$04 ; \ going down pipe sound CODE_00F43B: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_00F43E: FA PLX CODE_00F43F: AC 93 16 LDY.W $1693 Return00F442: 60 RTS ; Return CODE_00F443: A5 94 LDA RAM_MarioXPos CODE_00F445: 18 CLC CODE_00F446: 69 04 ADC.B #$04 CODE_00F448: 29 0F AND.B #$0F CODE_00F44A: C9 08 CMP.B #$08 Return00F44C: 60 RTS ; Return CODE_00F44D: E8 INX CODE_00F44E: E8 INX CODE_00F44F: C2 20 REP #$20 ; Accum (16 bit) CODE_00F451: A5 94 LDA RAM_MarioXPos CODE_00F453: 18 CLC CODE_00F454: 7D 30 E8 ADC.W DATA_00E830,X CODE_00F457: 85 9A STA RAM_BlockYLo CODE_00F459: A5 96 LDA RAM_MarioYPos CODE_00F45B: 18 CLC CODE_00F45C: 7D 9C E8 ADC.W DATA_00E89C,X CODE_00F45F: 85 98 STA RAM_BlockXLo CODE_00F461: 20 65 F4 JSR.W CODE_00F465 Return00F464: 60 RTS ; Return CODE_00F465: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F467: 9C 23 14 STZ.W $1423 CODE_00F46A: DA PHX CODE_00F46B: A5 8E LDA $8E CODE_00F46D: 10 03 BPL CODE_00F472 CODE_00F46F: 4C EC F4 JMP.W CODE_00F4EC CODE_00F472: D0 32 BNE CODE_00F4A6 CODE_00F474: C2 20 REP #$20 ; Accum (16 bit) CODE_00F476: A5 98 LDA RAM_BlockXLo CODE_00F478: C9 B0 01 CMP.W #$01B0 CODE_00F47B: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F47D: B0 21 BCS CODE_00F4A0 CODE_00F47F: 29 F0 AND.B #$F0 CODE_00F481: 85 00 STA $00 CODE_00F483: A6 9B LDX RAM_BlockYHi CODE_00F485: E4 5D CPX RAM_ScreensInLvl CODE_00F487: B0 17 BCS CODE_00F4A0 CODE_00F489: A5 9A LDA RAM_BlockYLo CODE_00F48B: 4A LSR CODE_00F48C: 4A LSR CODE_00F48D: 4A LSR CODE_00F48E: 4A LSR CODE_00F48F: 05 00 ORA $00 CODE_00F491: 18 CLC CODE_00F492: 7F 60 BA 00 ADC.L DATA_00BA60,X CODE_00F496: 85 00 STA $00 CODE_00F498: A5 99 LDA RAM_BlockXHi CODE_00F49A: 7F 9C BA 00 ADC.L DATA_00BA9C,X CODE_00F49E: 80 2D BRA CODE_00F4CD CODE_00F4A0: FA PLX CODE_00F4A1: A0 25 LDY.B #$25 CODE_00F4A3: A9 00 LDA.B #$00 Return00F4A5: 60 RTS ; Return CODE_00F4A6: A5 9B LDA RAM_BlockYHi CODE_00F4A8: C9 02 CMP.B #$02 CODE_00F4AA: B0 3B BCS CODE_00F4E7 CODE_00F4AC: A6 99 LDX RAM_BlockXHi CODE_00F4AE: E4 5D CPX RAM_ScreensInLvl CODE_00F4B0: B0 35 BCS CODE_00F4E7 CODE_00F4B2: A5 98 LDA RAM_BlockXLo CODE_00F4B4: 29 F0 AND.B #$F0 CODE_00F4B6: 85 00 STA $00 CODE_00F4B8: A5 9A LDA RAM_BlockYLo CODE_00F4BA: 4A LSR CODE_00F4BB: 4A LSR CODE_00F4BC: 4A LSR CODE_00F4BD: 4A LSR CODE_00F4BE: 05 00 ORA $00 CODE_00F4C0: 18 CLC CODE_00F4C1: 7F 80 BA 00 ADC.L DATA_00BA80,X CODE_00F4C5: 85 00 STA $00 CODE_00F4C7: A5 9B LDA RAM_BlockYHi CODE_00F4C9: 7F BC BA 00 ADC.L DATA_00BABC,X CODE_00F4CD: 85 01 STA $01 CODE_00F4CF: A9 7E LDA.B #$7E CODE_00F4D1: 85 02 STA $02 CODE_00F4D3: A7 00 LDA [$00] CODE_00F4D5: 8D 93 16 STA.W $1693 CODE_00F4D8: E6 02 INC $02 CODE_00F4DA: FA PLX CODE_00F4DB: A7 00 LDA [$00] CODE_00F4DD: 22 45 F5 00 JSL.L CODE_00F545 CODE_00F4E1: AC 93 16 LDY.W $1693 CODE_00F4E4: C9 00 CMP.B #$00 Return00F4E6: 60 RTS ; Return CODE_00F4E7: FA PLX CODE_00F4E8: A0 25 LDY.B #$25 CODE_00F4EA: 80 B7 BRA CODE_00F4A3 CODE_00F4EC: 0A ASL CODE_00F4ED: D0 2C BNE CODE_00F51B CODE_00F4EF: C2 20 REP #$20 ; Accum (16 bit) CODE_00F4F1: A5 98 LDA RAM_BlockXLo CODE_00F4F3: C9 B0 01 CMP.W #$01B0 CODE_00F4F6: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F4F8: B0 ED BCS CODE_00F4E7 CODE_00F4FA: 29 F0 AND.B #$F0 CODE_00F4FC: 85 00 STA $00 CODE_00F4FE: A6 9B LDX RAM_BlockYHi CODE_00F500: E0 10 CPX.B #$10 CODE_00F502: B0 E3 BCS CODE_00F4E7 CODE_00F504: A5 9A LDA RAM_BlockYLo CODE_00F506: 4A LSR CODE_00F507: 4A LSR CODE_00F508: 4A LSR CODE_00F509: 4A LSR CODE_00F50A: 05 00 ORA $00 CODE_00F50C: 18 CLC CODE_00F50D: 7F 70 BA 00 ADC.L DATA_00BA70,X CODE_00F511: 85 00 STA $00 CODE_00F513: A5 99 LDA RAM_BlockXHi CODE_00F515: 7F AC BA 00 ADC.L DATA_00BAAC,X CODE_00F519: 80 B2 BRA CODE_00F4CD CODE_00F51B: A5 9B LDA RAM_BlockYHi CODE_00F51D: C9 02 CMP.B #$02 CODE_00F51F: B0 C6 BCS CODE_00F4E7 CODE_00F521: A6 99 LDX RAM_BlockXHi CODE_00F523: E0 0E CPX.B #$0E CODE_00F525: B0 C0 BCS CODE_00F4E7 CODE_00F527: A5 98 LDA RAM_BlockXLo CODE_00F529: 29 F0 AND.B #$F0 CODE_00F52B: 85 00 STA $00 CODE_00F52D: A5 9A LDA RAM_BlockYLo CODE_00F52F: 4A LSR CODE_00F530: 4A LSR CODE_00F531: 4A LSR CODE_00F532: 4A LSR CODE_00F533: 05 00 ORA $00 CODE_00F535: 18 CLC CODE_00F536: 7F 8E BA 00 ADC.L DATA_00BA8E,X CODE_00F53A: 85 00 STA $00 CODE_00F53C: A5 9B LDA RAM_BlockYHi CODE_00F53E: 7F CA BA 00 ADC.L DATA_00BACA,X CODE_00F542: 4C CD F4 JMP.W CODE_00F4CD CODE_00F545: A8 TAY CODE_00F546: D0 2F BNE CODE_00F577 CODE_00F548: AC 93 16 LDY.W $1693 ; Load MAP16 tile number CODE_00F54B: C0 29 CPY.B #$29 ; \ If block isn't "Invisible POW ? block", CODE_00F54D: D0 0B BNE PSwitchNotInvQBlk ; / branch to PSwitchNotInvQBlk CODE_00F54F: AC AD 14 LDY.W RAM_BluePowTimer CODE_00F552: F0 40 BEQ Return00F594 CODE_00F554: A9 24 LDA.B #$24 CODE_00F556: 8D 93 16 STA.W $1693 Return00F559: 6B RTL ; Return PSwitchNotInvQBlk: C0 2B CPY.B #$2B ; \ If block is "Coin", CODE_00F55C: F0 0E BEQ PSwitchCoinBrown ; / branch to PSwitchCoinBrown CODE_00F55E: 98 TYA ;\ CODE_00F55F: 38 SEC ;| if block is map16 FC and above, CODE_00F560: E9 EC SBC.B #$EC ;|return CODE_00F562: C9 10 CMP.B #$10 ;| CODE_00F564: B0 2C BCS CODE_00F592 ;/ CODE_00F566: 1A INC A ;\ ? CODE_00F567: 8D 23 14 STA.W $1423 ;/ CODE_00F56A: 80 05 BRA CODE_00F571 ; Make block brown PSwitchCoinBrown: AC AD 14 LDY.W RAM_BluePowTimer ;\ Return if POW is not active CODE_00F56F: F0 23 BEQ Return00F594 ;/ CODE_00F571: A9 32 LDA.B #$32 ;\ make block a brown block CODE_00F573: 8D 93 16 STA.W $1693 ;/ Return00F576: 6B RTL ; Return CODE_00F577: AC 93 16 LDY.W $1693 ;\ if block not brown block CODE_00F57A: C0 32 CPY.B #$32 ;| CODE_00F57C: D0 06 BNE CODE_00F584 ;/ CODE_00F57E: AC AD 14 LDY.W RAM_BluePowTimer ;\ If POW is 00, return CODE_00F581: D0 0A BNE CODE_00F58D ;/ Return00F583: 6B RTL ; Return CODE_00F584: C0 2F CPY.B #$2F ;\ if block is not CODE_00F586: D0 0C BNE Return00F594 ;/ muncher, return CODE_00F588: AC AE 14 LDY.W RAM_SilverPowTimer ;\ if silver pow timer is 00, return CODE_00F58B: F0 07 BEQ Return00F594 ;/ CODE_00F58D: A0 2B LDY.B #$2B ;\ make muncher coin CODE_00F58F: 8C 93 16 STY.W $1693 ;/ CODE_00F592: A9 00 LDA.B #$00 ; A = 00 Return00F594: 6B RTL ; Return CODE_00F595: C2 20 REP #$20 ; Accum (16 bit) CODE_00F597: A9 80 FF LDA.W #$FF80 ;\;;;;;;Handling falling below the screen death!;;; CODE_00F59A: 18 CLC ;| CODE_00F59B: 65 1C ADC RAM_ScreenBndryYLo ;| If mario is below the screen border a certain CODE_00F59D: C5 96 CMP RAM_MarioYPos ;| amount CODE_00F59F: 30 02 BMI CODE_00F5A3 ;| CODE_00F5A1: 85 96 STA RAM_MarioYPos ;/ CODE_00F5A3: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F5A5: A5 81 LDA $81 ;\ CODE_00F5A7: 3A DEC A ;| and if mario Yhipos = 01, kill mario, unless.. CODE_00F5A8: 30 0C BMI Return00F5B6 ;/ CODE_00F5AA: AD 95 1B LDA.W $1B95 ;\ he's at a special level CODE_00F5AD: F0 03 BEQ CODE_00F5B2 ;/ CODE_00F5AF: 4C 5B C9 JMP.W CODE_00C95B ; if at a special level, finish the level, actually. CODE_00F5B2: 22 0A F6 00 JSL.L CODE_00F60A ; Go to part of the kill mario routine Return00F5B6: 60 RTS ; Return HurtMario: A5 71 LDA RAM_MarioAnimation ; \ Return if animation sequence activated CODE_00F5B9: D0 6D BNE Return00F628 ; / CODE_00F5BB: AD 97 14 LDA.W $1497 ; \ If flashing... CODE_00F5BE: 0D 90 14 ORA.W $1490 ; | ...or have star... CODE_00F5C1: 0D 93 14 ORA.W $1493 ; | ...or level ending... CODE_00F5C4: D0 62 BNE Return00F628 ; / ...return CODE_00F5C6: 9C E3 18 STZ.W $18E3 ; CODE_00F5C9: AD E3 13 LDA.W RAM_WallWalkStatus ;\ CODE_00F5CC: F0 07 BEQ CODE_00F5D5 ;/ if not wall-walking, skip running this routine ADDR_00F5CE: 8B PHB ADDR_00F5CF: 4B PHK ADDR_00F5D0: AB PLB ADDR_00F5D1: 20 42 EB JSR.W ADDR_00EB42 ; Stop wall walking, I beleive ADDR_00F5D4: AB PLB CODE_00F5D5: A5 19 LDA RAM_MarioPowerUp ; \ If Mario is small, kill him CODE_00F5D7: F0 2D BEQ KillMario ; / CODE_00F5D9: C9 02 CMP.B #$02 ; \ Branch if not Caped Mario CODE_00F5DB: D0 16 BNE PowerDown ; / CODE_00F5DD: AD 07 14 LDA.W $1407 ; \ Branch if not soaring CODE_00F5E0: F0 11 BEQ PowerDown ; / CancelSoaring: A0 0F LDY.B #$0F ; \ Break Mario out of soaring CODE_00F5E4: 8C F9 1D STY.W $1DF9 ; | (Play sound effect) CODE_00F5E7: A9 01 LDA.B #$01 ; | (Set spin jump flag) CODE_00F5E9: 8D 0D 14 STA.W RAM_IsSpinJump ; | CODE_00F5EC: A9 30 LDA.B #$30 ; | (Set flashing timer) CODE_00F5EE: 8D 97 14 STA.W $1497 ; / CODE_00F5F1: 80 2F BRA CODE_00F622 PowerDown: A0 04 LDY.B #$04 ; \ Play sound effect CODE_00F5F5: 8C F9 1D STY.W $1DF9 ; / CODE_00F5F8: 22 08 80 02 JSL.L CODE_028008 ; Drop reserved item from box CODE_00F5FC: A9 01 LDA.B #$01 ; \ Set power down animation CODE_00F5FE: 85 71 STA RAM_MarioAnimation ; / CODE_00F600: 64 19 STZ RAM_MarioPowerUp ; Mario status = Small CODE_00F602: A9 2F LDA.B #$2F ;\ set hurt frame timer, lock sprites, etc, for a shortish amount of time CODE_00F604: 80 17 BRA CODE_00F61D ;/ KillMario: A9 90 LDA.B #$90 ; \ Mario Y speed = #$90 CODE_00F608: 85 7D STA RAM_MarioSpeedY ; / CODE_00F60A: A9 09 LDA.B #$09 ; \ CODE_00F60C: 8D FB 1D STA.W $1DFB ; / Change music CODE_00F60F: A9 FF LDA.B #$FF ;\ CODE_00F611: 8D DA 0D STA.W $0DDA ;/ change music some more CODE_00F614: A9 09 LDA.B #$09 ; \ Animation sequence = Kill Mario CODE_00F616: 85 71 STA RAM_MarioAnimation ; / CODE_00F618: 9C 0D 14 STZ.W RAM_IsSpinJump ; Spin jump flag = 0 CODE_00F61B: A9 30 LDA.B #$30 ;\ CODE_00F61D: 8D 96 14 STA.W $1496 ;|Set hurt frame timer CODE_00F620: 85 9D STA RAM_SpritesLocked ;/set lock sprite timer CODE_00F622: 9C 07 14 STZ.W $1407 ; Cape status = 0 CODE_00F625: 9C 8A 18 STZ.W $188A ; ? Return00F628: 6B RTL ; Return CODE_00F629: 22 06 F6 00 JSL.L KillMario ; Kill Mario. NoButtons: 64 15 STZ RAM_ControllerA ;\Zero RAM mirrors for controller Input CODE_00F62F: 64 16 STZ $16 ;| CODE_00F631: 64 17 STZ RAM_ControllerB ;| CODE_00F633: 64 18 STZ $18 :/ Return00F635: 60 RTS ; Return CODE_00F636: C2 20 REP #$20 ; Accum (16 bit) CODE_00F638: A2 00 LDX.B #$00 CODE_00F63A: A5 09 LDA $09 CODE_00F63C: 09 00 08 ORA.W #$0800 CODE_00F63F: C5 09 CMP $09 CODE_00F641: F0 01 BEQ CODE_00F644 CODE_00F643: 18 CLC CODE_00F644: 29 00 F7 AND.W #$F700 CODE_00F647: 6A ROR CODE_00F648: 4A LSR CODE_00F649: 69 00 20 ADC.W #$2000 CODE_00F64C: 8D 85 0D STA.W $0D85 CODE_00F64F: 18 CLC CODE_00F650: 69 00 02 ADC.W #$0200 CODE_00F653: 8D 8F 0D STA.W $0D8F CODE_00F656: A2 00 LDX.B #$00 CODE_00F658: A5 0A LDA $0A CODE_00F65A: 09 00 08 ORA.W #$0800 CODE_00F65D: C5 0A CMP $0A CODE_00F65F: F0 01 BEQ CODE_00F662 CODE_00F661: 18 CLC CODE_00F662: 29 00 F7 AND.W #$F700 CODE_00F665: 6A ROR CODE_00F666: 4A LSR CODE_00F667: 69 00 20 ADC.W #$2000 CODE_00F66A: 8D 87 0D STA.W $0D87 CODE_00F66D: 18 CLC CODE_00F66E: 69 00 02 ADC.W #$0200 CODE_00F671: 8D 91 0D STA.W $0D91 CODE_00F674: A5 0B LDA $0B CODE_00F676: 29 00 FF AND.W #$FF00 CODE_00F679: 4A LSR CODE_00F67A: 4A LSR CODE_00F67B: 4A LSR CODE_00F67C: 69 00 20 ADC.W #$2000 CODE_00F67F: 8D 89 0D STA.W $0D89 CODE_00F682: 18 CLC CODE_00F683: 69 00 02 ADC.W #$0200 CODE_00F686: 8D 93 0D STA.W $0D93 CODE_00F689: A5 0C LDA $0C CODE_00F68B: 29 00 FF AND.W #$FF00 CODE_00F68E: 4A LSR CODE_00F68F: 4A LSR CODE_00F690: 4A LSR CODE_00F691: 69 00 20 ADC.W #$2000 CODE_00F694: 8D 99 0D STA.W $0D99 CODE_00F697: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F699: A9 0A LDA.B #$0A CODE_00F69B: 8D 84 0D STA.W $0D84 Return00F69E: 60 RTS ; Return DATA_00F69F: .db $64,$00,$7C,$00 DATA_00F6A3: .db $00,$00,$FF,$FF DATA_00F6A7: .db $FD,$FF,$05,$00,$FA,$FF DATA_00F6AD: .db $00,$00,$00,$00,$C0,$00 DATA_00F6B3: .db $90,$00,$60,$00,$00,$00,$00,$00 .db $00,$00,$00,$00 DATA_00F6BF: .db $00,$00,$FE,$FF,$02,$00,$00,$00 .db $FE,$FF,$02,$00 DATA_00F6CB: .db $00,$00,$20,$00 DATA_00F6CF: .db $D0,$00,$00,$00,$20,$00,$D0,$00 .db $01,$00,$FF,$FF CODE_00F6DB: 8B PHB CODE_00F6DC: 4B PHK CODE_00F6DD: AB PLB CODE_00F6DE: C2 20 REP #$20 ; Accum (16 bit) CODE_00F6E0: AD 2A 14 LDA.W $142A CODE_00F6E3: 38 SEC CODE_00F6E4: E9 0C 00 SBC.W #$000C CODE_00F6E7: 8D 2C 14 STA.W $142C CODE_00F6EA: 18 CLC CODE_00F6EB: 69 18 00 ADC.W #$0018 CODE_00F6EE: 8D 2E 14 STA.W $142E CODE_00F6F1: AD 62 14 LDA.W $1462 CODE_00F6F4: 85 1A STA RAM_ScreenBndryXLo CODE_00F6F6: AD 64 14 LDA.W $1464 CODE_00F6F9: 85 1C STA RAM_ScreenBndryYLo CODE_00F6FB: AD 66 14 LDA.W $1466 CODE_00F6FE: 85 1E STA $1E CODE_00F700: AD 68 14 LDA.W $1468 CODE_00F703: 85 20 STA $20 CODE_00F705: A5 5B LDA RAM_IsVerticalLvl CODE_00F707: 4A LSR CODE_00F708: 90 03 BCC CODE_00F70D CODE_00F70A: 4C 5C F7 JMP.W CODE_00F75C CODE_00F70D: A9 C0 00 LDA.W #$00C0 CODE_00F710: 20 F4 F7 JSR.W CODE_00F7F4 CODE_00F713: AC 11 14 LDY.W $1411 CODE_00F716: F0 42 BEQ CODE_00F75A CODE_00F718: A0 02 LDY.B #$02 CODE_00F71A: A5 94 LDA RAM_MarioXPos CODE_00F71C: 38 SEC CODE_00F71D: E5 1A SBC RAM_ScreenBndryXLo CODE_00F71F: 85 00 STA $00 CODE_00F721: CD 2A 14 CMP.W $142A CODE_00F724: 10 02 BPL CODE_00F728 CODE_00F726: A0 00 LDY.B #$00 CODE_00F728: 84 55 STY $55 CODE_00F72A: 84 56 STY $56 CODE_00F72C: 38 SEC CODE_00F72D: F9 2C 14 SBC.W $142C,Y CODE_00F730: F0 28 BEQ CODE_00F75A CODE_00F732: 85 02 STA $02 CODE_00F734: 59 A3 F6 EOR.W DATA_00F6A3,Y CODE_00F737: 10 21 BPL CODE_00F75A CODE_00F739: 20 AB F8 JSR.W CODE_00F8AB CODE_00F73C: A5 02 LDA $02 CODE_00F73E: 18 CLC CODE_00F73F: 65 1A ADC RAM_ScreenBndryXLo CODE_00F741: 10 03 BPL CODE_00F746 CODE_00F743: A9 00 00 LDA.W #$0000 CODE_00F746: 85 1A STA RAM_ScreenBndryXLo CODE_00F748: A5 5E LDA $5E CODE_00F74A: 3A DEC A CODE_00F74B: EB XBA CODE_00F74C: 29 00 FF AND.W #$FF00 CODE_00F74F: 10 03 BPL CODE_00F754 CODE_00F751: A9 80 00 LDA.W #$0080 CODE_00F754: C5 1A CMP RAM_ScreenBndryXLo CODE_00F756: 10 02 BPL CODE_00F75A CODE_00F758: 85 1A STA RAM_ScreenBndryXLo CODE_00F75A: 80 41 BRA CODE_00F79D CODE_00F75C: A5 5F LDA $5F CODE_00F75E: 3A DEC A CODE_00F75F: EB XBA CODE_00F760: 29 00 FF AND.W #$FF00 CODE_00F763: 20 F4 F7 JSR.W CODE_00F7F4 CODE_00F766: AC 11 14 LDY.W $1411 CODE_00F769: F0 32 BEQ CODE_00F79D CODE_00F76B: A0 00 LDY.B #$00 CODE_00F76D: A5 94 LDA RAM_MarioXPos CODE_00F76F: 38 SEC CODE_00F770: E5 1A SBC RAM_ScreenBndryXLo CODE_00F772: 85 00 STA $00 CODE_00F774: CD 2A 14 CMP.W $142A CODE_00F777: 30 02 BMI CODE_00F77B CODE_00F779: A0 02 LDY.B #$02 CODE_00F77B: 38 SEC CODE_00F77C: F9 2C 14 SBC.W $142C,Y CODE_00F77F: 85 02 STA $02 CODE_00F781: 59 A3 F6 EOR.W DATA_00F6A3,Y CODE_00F784: 10 17 BPL CODE_00F79D CODE_00F786: 20 AB F8 JSR.W CODE_00F8AB CODE_00F789: A5 02 LDA $02 CODE_00F78B: 18 CLC CODE_00F78C: 65 1A ADC RAM_ScreenBndryXLo CODE_00F78E: 10 03 BPL CODE_00F793 CODE_00F790: A9 00 00 LDA.W #$0000 CODE_00F793: C9 01 01 CMP.W #$0101 CODE_00F796: 30 03 BMI CODE_00F79B CODE_00F798: A9 00 01 LDA.W #$0100 CODE_00F79B: 85 1A STA RAM_ScreenBndryXLo CODE_00F79D: AC 13 14 LDY.W $1413 CODE_00F7A0: F0 08 BEQ CODE_00F7AA CODE_00F7A2: A5 1A LDA RAM_ScreenBndryXLo CODE_00F7A4: 88 DEY CODE_00F7A5: F0 01 BEQ CODE_00F7A8 CODE_00F7A7: 4A LSR CODE_00F7A8: 85 1E STA $1E CODE_00F7AA: AC 14 14 LDY.W $1414 CODE_00F7AD: F0 13 BEQ CODE_00F7C2 CODE_00F7AF: A5 1C LDA RAM_ScreenBndryYLo CODE_00F7B1: 88 DEY CODE_00F7B2: F0 08 BEQ CODE_00F7BC CODE_00F7B4: 4A LSR CODE_00F7B5: 88 DEY CODE_00F7B6: F0 04 BEQ CODE_00F7BC CODE_00F7B8: 4A LSR CODE_00F7B9: 4A LSR CODE_00F7BA: 4A LSR CODE_00F7BB: 4A LSR CODE_00F7BC: 18 CLC CODE_00F7BD: 6D 17 14 ADC.W $1417 CODE_00F7C0: 85 20 STA $20 CODE_00F7C2: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F7C4: A5 1A LDA RAM_ScreenBndryXLo CODE_00F7C6: 38 SEC CODE_00F7C7: ED 62 14 SBC.W $1462 CODE_00F7CA: 8D BD 17 STA.W $17BD CODE_00F7CD: A5 1C LDA RAM_ScreenBndryYLo CODE_00F7CF: 38 SEC CODE_00F7D0: ED 64 14 SBC.W $1464 CODE_00F7D3: 8D BC 17 STA.W $17BC CODE_00F7D6: A5 1E LDA $1E CODE_00F7D8: 38 SEC CODE_00F7D9: ED 66 14 SBC.W $1466 CODE_00F7DC: 8D BF 17 STA.W $17BF CODE_00F7DF: A5 20 LDA $20 CODE_00F7E1: 38 SEC CODE_00F7E2: ED 68 14 SBC.W $1468 CODE_00F7E5: 8D BE 17 STA.W $17BE CODE_00F7E8: A2 07 LDX.B #$07 CODE_00F7EA: B5 1A LDA RAM_ScreenBndryXLo,X CODE_00F7EC: 9D 62 14 STA.W $1462,X CODE_00F7EF: CA DEX CODE_00F7F0: 10 F8 BPL CODE_00F7EA CODE_00F7F2: AB PLB Return00F7F3: 6B RTL ; Return CODE_00F7F4: AE 12 14 LDX.W $1412 CODE_00F7F7: D0 01 BNE CODE_00F7FA Return00F7F9: 60 RTS ; Return CODE_00F7FA: 85 04 STA $04 ; Accum (16 bit) CODE_00F7FC: A0 00 LDY.B #$00 CODE_00F7FE: A5 96 LDA RAM_MarioYPos CODE_00F800: 38 SEC CODE_00F801: E5 1C SBC RAM_ScreenBndryYLo CODE_00F803: 85 00 STA $00 CODE_00F805: C9 70 00 CMP.W #$0070 CODE_00F808: 30 02 BMI CODE_00F80C CODE_00F80A: A0 02 LDY.B #$02 CODE_00F80C: 84 55 STY $55 CODE_00F80E: 84 56 STY $56 CODE_00F810: 38 SEC CODE_00F811: F9 9F F6 SBC.W DATA_00F69F,Y CODE_00F814: 85 02 STA $02 CODE_00F816: 59 A3 F6 EOR.W DATA_00F6A3,Y CODE_00F819: 30 04 BMI CODE_00F81F CODE_00F81B: A0 02 LDY.B #$02 CODE_00F81D: 64 02 STZ $02 CODE_00F81F: A5 02 LDA $02 CODE_00F821: 30 07 BMI CODE_00F82A CODE_00F823: A2 00 LDX.B #$00 CODE_00F825: 8E 04 14 STX.W $1404 CODE_00F828: 80 59 BRA CODE_00F883 CODE_00F82A: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F82C: AD E3 13 LDA.W RAM_WallWalkStatus CODE_00F82F: C9 06 CMP.B #$06 CODE_00F831: B0 12 BCS CODE_00F845 CODE_00F833: AD 10 14 LDA.W RAM_YoshiHasWingsB ; \ If winged Yoshi... CODE_00F836: 4A LSR ; | CODE_00F837: 0D 9F 14 ORA.W $149F CODE_00F83A: 05 74 ORA RAM_IsClimbing ; | ...or climbing CODE_00F83C: 0D F3 13 ORA.W $13F3 CODE_00F83F: 0D C2 18 ORA.W $18C2 CODE_00F842: 0D 06 14 ORA.W $1406 CODE_00F845: AA TAX CODE_00F846: C2 20 REP #$20 ; Accum (16 bit) CODE_00F848: D0 1F BNE CODE_00F869 CODE_00F84A: AE 7A 18 LDX.W RAM_OnYoshi CODE_00F84D: F0 07 BEQ CODE_00F856 CODE_00F84F: AE 1E 14 LDX.W RAM_YoshiHasWings ; \ Branch if 141E >= #$02 CODE_00F852: E0 02 CPX.B #$02 ; | CODE_00F854: B0 13 BCS CODE_00F869 ; / CODE_00F856: A6 75 LDX RAM_IsSwimming CODE_00F858: F0 04 BEQ CODE_00F85E CODE_00F85A: A6 72 LDX RAM_IsFlying CODE_00F85C: D0 0B BNE CODE_00F869 CODE_00F85E: AE 12 14 LDX.W $1412 CODE_00F861: CA DEX CODE_00F862: F0 11 BEQ CODE_00F875 CODE_00F864: AE F1 13 LDX.W $13F1 CODE_00F867: D0 0C BNE CODE_00F875 CODE_00F869: 8E F1 13 STX.W $13F1 CODE_00F86C: AE F1 13 LDX.W $13F1 CODE_00F86F: D0 10 BNE CODE_00F881 CODE_00F871: A0 04 LDY.B #$04 CODE_00F873: 80 0C BRA CODE_00F881 CODE_00F875: AE 04 14 LDX.W $1404 CODE_00F878: D0 07 BNE CODE_00F881 CODE_00F87A: A6 72 LDX RAM_IsFlying CODE_00F87C: D0 2C BNE Return00F8AA CODE_00F87E: EE 04 14 INC.W $1404 CODE_00F881: A5 02 LDA $02 CODE_00F883: 38 SEC CODE_00F884: F9 A7 F6 SBC.W DATA_00F6A7,Y CODE_00F887: 59 A7 F6 EOR.W DATA_00F6A7,Y CODE_00F88A: 0A ASL CODE_00F88B: A5 02 LDA $02 CODE_00F88D: B0 03 BCS CODE_00F892 CODE_00F88F: B9 A7 F6 LDA.W DATA_00F6A7,Y CODE_00F892: 18 CLC CODE_00F893: 65 1C ADC RAM_ScreenBndryYLo CODE_00F895: D9 AD F6 CMP.W DATA_00F6AD,Y CODE_00F898: 10 03 BPL CODE_00F89D CODE_00F89A: B9 AD F6 LDA.W DATA_00F6AD,Y CODE_00F89D: 85 1C STA RAM_ScreenBndryYLo CODE_00F89F: A5 04 LDA $04 CODE_00F8A1: C5 1C CMP RAM_ScreenBndryYLo CODE_00F8A3: 10 05 BPL Return00F8AA CODE_00F8A5: 85 1C STA RAM_ScreenBndryYLo CODE_00F8A7: 9C F1 13 STZ.W $13F1 Return00F8AA: 60 RTS ; Return CODE_00F8AB: AC FD 13 LDY.W $13FD CODE_00F8AE: D0 2E BNE Return00F8DE CODE_00F8B0: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F8B2: AE FF 13 LDX.W $13FF CODE_00F8B5: C2 20 REP #$20 ; Accum (16 bit) CODE_00F8B7: A0 08 LDY.B #$08 CODE_00F8B9: AD 2A 14 LDA.W $142A CODE_00F8BC: DD B3 F6 CMP.W DATA_00F6B3,X CODE_00F8BF: 10 02 BPL CODE_00F8C3 CODE_00F8C1: A0 0A LDY.B #$0A CODE_00F8C3: B9 BF F6 LDA.W DATA_00F6BF,Y CODE_00F8C6: 45 02 EOR $02 CODE_00F8C8: 10 14 BPL Return00F8DE CODE_00F8CA: BD BF F6 LDA.W DATA_00F6BF,X CODE_00F8CD: 45 02 EOR $02 CODE_00F8CF: 10 0D BPL Return00F8DE CODE_00F8D1: A5 02 LDA $02 CODE_00F8D3: 18 CLC CODE_00F8D4: 79 CF F6 ADC.W DATA_00F6CF,Y CODE_00F8D7: F0 05 BEQ Return00F8DE CODE_00F8D9: 85 02 STA $02 CODE_00F8DB: 8C 00 14 STY.W $1400 Return00F8DE: 60 RTS ; Return DATA_00F8DF: .db $0C,$0C,$08,$00,$20,$04,$0A,$0D .db $0D DATA_00F8E8: .db $2A,$00,$2A,$00,$12,$00,$00,$00 .db $ED,$FF CODE_00F8F2: 20 A6 EA JSR.W CODE_00EAA6 CODE_00F8F5: 2C 9B 0D BIT.W $0D9B CODE_00F8F8: 50 54 BVC CODE_00F94E CODE_00F8FA: 20 2B E9 JSR.W CODE_00E92B CODE_00F8FD: AD FC 13 LDA.W $13FC CODE_00F900: 0A ASL CODE_00F901: AA TAX CODE_00F902: DA PHX CODE_00F903: A4 7D LDY RAM_MarioSpeedY CODE_00F905: 10 17 BPL CODE_00F91E CODE_00F907: C2 20 REP #$20 ; Accum (16 bit) CODE_00F909: A5 96 LDA RAM_MarioYPos CODE_00F90B: DD E8 F8 CMP.W DATA_00F8E8,X CODE_00F90E: 10 0E BPL CODE_00F91E CODE_00F910: BD E8 F8 LDA.W DATA_00F8E8,X CODE_00F913: 85 96 STA RAM_MarioYPos CODE_00F915: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F917: 64 7D STZ RAM_MarioSpeedY CODE_00F919: A9 01 LDA.B #$01 CODE_00F91B: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_00F91E: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F920: FA PLX CODE_00F921: BD E8 F8 LDA.W DATA_00F8E8,X CODE_00F924: C9 2A CMP.B #$2A CODE_00F926: D0 25 BNE Return00F94D CODE_00F928: C2 20 REP #$20 ; Accum (16 bit) CODE_00F92A: A0 00 LDY.B #$00 CODE_00F92C: AD 17 16 LDA.W $1617 CODE_00F92F: 29 FF 00 AND.W #$00FF CODE_00F932: 1A INC A CODE_00F933: C5 94 CMP RAM_MarioXPos CODE_00F935: F0 13 BEQ CODE_00F94A CODE_00F937: 30 11 BMI CODE_00F94A CODE_00F939: AD 3D 15 LDA.W $153D CODE_00F93C: 29 FF 00 AND.W #$00FF CODE_00F93F: 85 00 STA $00 CODE_00F941: C8 INY CODE_00F942: A5 94 LDA RAM_MarioXPos CODE_00F944: 18 CLC CODE_00F945: 69 0F 00 ADC.W #$000F CODE_00F948: C5 00 CMP $00 CODE_00F94A: 4C C8 E9 JMP.W CODE_00E9C8 Return00F94D: 60 RTS ; Return CODE_00F94E: A0 00 LDY.B #$00 CODE_00F950: A5 7D LDA RAM_MarioSpeedY CODE_00F952: 10 03 BPL CODE_00F957 CODE_00F954: 4C 97 F9 JMP.W CODE_00F997 CODE_00F957: 20 A8 F9 JSR.W CODE_00F9A8 CODE_00F95A: B0 06 BCS CODE_00F962 CODE_00F95C: 20 1D EE JSR.W CODE_00EE1D CODE_00F95F: 4C 97 F9 JMP.W CODE_00F997 CODE_00F962: A5 72 LDA RAM_IsFlying CODE_00F964: F0 1D BEQ CODE_00F983 CODE_00F966: C2 20 REP #$20 ; Accum (16 bit) CODE_00F968: AD B8 14 LDA.W $14B8 CODE_00F96B: 29 FF 00 AND.W #$00FF CODE_00F96E: 8D B4 14 STA.W $14B4 CODE_00F971: 8D 36 14 STA.W RAM_KeyHolePos1 CODE_00F974: AD BA 14 LDA.W $14BA CODE_00F977: 29 F0 00 AND.W #$00F0 CODE_00F97A: 8D B6 14 STA.W $14B6 CODE_00F97D: 8D 38 14 STA.W RAM_KeyHolePos2 CODE_00F980: 20 C9 F9 JSR.W CODE_00F9C9 CODE_00F983: A5 36 LDA $36 ; Accum (8 bit) CODE_00F985: 18 CLC CODE_00F986: 69 48 ADC.B #$48 CODE_00F988: 4A LSR CODE_00F989: 4A LSR CODE_00F98A: 4A LSR CODE_00F98B: 4A LSR CODE_00F98C: AA TAX CODE_00F98D: BC DF F8 LDY.W DATA_00F8DF,X CODE_00F990: A9 80 LDA.B #$80 CODE_00F992: 85 8E STA $8E CODE_00F994: 20 E1 EE JSR.W CODE_00EEE1 CODE_00F997: C2 20 REP #$20 ; Accum (16 bit) CODE_00F999: A5 80 LDA $80 CODE_00F99B: C9 AE 00 CMP.W #$00AE CODE_00F99E: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F9A0: 30 03 BMI CODE_00F9A5 ADDR_00F9A2: 20 29 F6 JSR.W CODE_00F629 CODE_00F9A5: 4C 8C E9 JMP.W CODE_00E98C CODE_00F9A8: C2 20 REP #$20 ; Accum (16 bit) CODE_00F9AA: A5 94 LDA RAM_MarioXPos CODE_00F9AC: 18 CLC CODE_00F9AD: 69 08 00 ADC.W #$0008 CODE_00F9B0: 8D B4 14 STA.W $14B4 CODE_00F9B3: A5 96 LDA RAM_MarioYPos CODE_00F9B5: 18 CLC CODE_00F9B6: 69 20 00 ADC.W #$0020 CODE_00F9B9: 8D B6 14 STA.W $14B6 CODE_00F9BC: E2 20 SEP #$20 ; Accum (8 bit) CODE_00F9BE: 8B PHB CODE_00F9BF: A9 01 LDA.B #$01 CODE_00F9C1: 48 PHA CODE_00F9C2: AB PLB CODE_00F9C3: 22 9D CC 01 JSL.L CODE_01CC9D CODE_00F9C7: AB PLB Return00F9C8: 60 RTS ; Return CODE_00F9C9: A5 36 LDA $36 ; Accum (16 bit) CODE_00F9CB: 48 PHA CODE_00F9CC: 49 FF FF EOR.W #$FFFF CODE_00F9CF: 1A INC A CODE_00F9D0: 85 36 STA $36 CODE_00F9D2: 20 BC F9 JSR.W CODE_00F9BC CODE_00F9D5: C2 20 REP #$20 ; Accum (16 bit) CODE_00F9D7: 68 PLA CODE_00F9D8: 85 36 STA $36 CODE_00F9DA: AD B8 14 LDA.W $14B8 CODE_00F9DD: 29 FF 00 AND.W #$00FF CODE_00F9E0: 38 SEC CODE_00F9E1: E9 08 00 SBC.W #$0008 CODE_00F9E4: 85 94 STA RAM_MarioXPos CODE_00F9E6: AD BA 14 LDA.W $14BA CODE_00F9E9: 29 FF 00 AND.W #$00FF CODE_00F9EC: 38 SEC CODE_00F9ED: E9 20 00 SBC.W #$0020 CODE_00F9F0: 85 96 STA RAM_MarioYPos CODE_00F9F2: E2 20 SEP #$20 ; Accum (8 bit) Return00F9F4: 60 RTS ; Return Empty00F9F5: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF ADDR_00FA10: A2 0B LDX.B #$0B ; \ Unreachable ADDR_00FA12: 9E C8 14 STZ.W $14C8,X ; | Clear out sprite status table ADDR_00FA15: CA DEX ; | ADDR_00FA16: 10 FA BPL ADDR_00FA12 ; | Return00FA18: 6B RTL ; / CODE_00FA19: A0 32 LDY.B #$32 CODE_00FA1B: 84 05 STY $05 CODE_00FA1D: A0 E6 LDY.B #$E6 CODE_00FA1F: 84 06 STY $06 CODE_00FA21: A0 00 LDY.B #$00 CODE_00FA23: 84 07 STY $07 CODE_00FA25: 38 SEC CODE_00FA26: E9 6E SBC.B #$6E CODE_00FA28: A8 TAY CODE_00FA29: B7 82 LDA [$82],Y CODE_00FA2B: 85 08 STA $08 CODE_00FA2D: 0A ASL CODE_00FA2E: 0A ASL CODE_00FA2F: 0A ASL CODE_00FA30: 0A ASL CODE_00FA31: 85 01 STA $01 CODE_00FA33: 90 02 BCC CODE_00FA37 CODE_00FA35: E6 06 INC $06 CODE_00FA37: A5 0C LDA $0C CODE_00FA39: 29 0F AND.B #$0F CODE_00FA3B: 85 00 STA $00 CODE_00FA3D: A5 0A LDA $0A CODE_00FA3F: 29 0F AND.B #$0F CODE_00FA41: 05 01 ORA $01 CODE_00FA43: A8 TAY Return00FA44: 6B RTL ; Return FlatPalaceSwitch: A9 20 LDA.B #$20 ; \ Set "Time to shake ground" to x20 CODE_00FA47: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_00FA4A: A0 02 LDY.B #$02 ; \ CODE_00FA4C: A9 60 LDA.B #$60 ; |Set sprite x02 to x60 (Flat palace switch) CODE_00FA4E: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_00FA51: A9 08 LDA.B #$08 ; \ Set sprite's status to x08 CODE_00FA53: 99 C8 14 STA.W $14C8,Y ; / CODE_00FA56: A5 9A LDA RAM_BlockYLo ; \ CODE_00FA58: 29 F0 AND.B #$F0 ; |Set sprite X (low) to $9A & 0xF0 CODE_00FA5A: 99 E4 00 STA.W RAM_SpriteXLo,Y ; / CODE_00FA5D: A5 9B LDA RAM_BlockYHi ; \ Set sprite X (high) to $9B CODE_00FA5F: 99 E0 14 STA.W RAM_SpriteXHi,Y ; / CODE_00FA62: A5 98 LDA RAM_BlockXLo ; \ CODE_00FA64: 29 F0 AND.B #$F0 ; | CODE_00FA66: 18 CLC ; |Set sprite Y (low) to ($98 & 0xF0) + 0x10 CODE_00FA67: 69 10 ADC.B #$10 ; | CODE_00FA69: 99 D8 00 STA.W RAM_SpriteYLo,Y ; / CODE_00FA6C: A5 99 LDA RAM_BlockXHi ; \ CODE_00FA6E: 69 00 ADC.B #$00 ; |Set sprite Y (high) to $99 + carry CODE_00FA70: 99 D4 14 STA.W RAM_SpriteYHi,Y ; / (Carry carried over from previous addition) CODE_00FA73: DA PHX CODE_00FA74: BB TYX CODE_00FA75: 22 D2 F7 07 JSL.L InitSpriteTables CODE_00FA79: FA PLX CODE_00FA7A: A9 5F LDA.B #$5F ; \ Set sprite's "Spin Jump Death Frame Counter" to x5F CODE_00FA7C: 99 40 15 STA.W $1540,Y ; / Return00FA7F: 60 RTS ; Return TriggerGoalTape: 9C F3 13 STZ.W $13F3 CODE_00FA83: 9C 91 18 STZ.W $1891 CODE_00FA86: 9C C0 18 STZ.W RAM_TimeTillRespawn ; Don't respawn sprites CODE_00FA89: 9C B9 18 STZ.W RAM_GeneratorNum CODE_00FA8C: 9C DD 18 STZ.W $18DD CODE_00FA8F: A0 0B LDY.B #$0B ; Loop over sprites: LvlEndSprLoopStrt: B9 C8 14 LDA.W $14C8,Y ; \ If sprite status < 8, CODE_00FA94: C9 08 CMP.B #$08 ; | skip the current sprite CODE_00FA96: 90 39 BCC LvlEndNextSprite ; / CODE_00FA98: C9 0B CMP.B #$0B ; \ If Mario carries a sprite past the goal, CODE_00FA9A: D0 07 BNE CODE_00FAA3 ; | CODE_00FA9C: DA PHX ; | CODE_00FA9D: 20 00 FB JSR.W LvlEndPowerUp ; | he gets a powerup CODE_00FAA0: FA PLX ; | CODE_00FAA1: 80 2E BRA LvlEndNextSprite ; / CODE_00FAA3: B9 9E 00 LDA.W RAM_SpriteNum,Y ; \ Branch if goal tape CODE_00FAA6: C9 7B CMP.B #$7B ; | CODE_00FAA8: F0 08 BEQ CODE_00FAB2 ; / CODE_00FAAA: B9 A0 15 LDA.W RAM_OffscreenHorz,Y ; \ If sprite on screen... CODE_00FAAD: 19 6C 18 ORA.W RAM_OffscreenVert,Y ; | CODE_00FAB0: D0 13 BNE CODE_00FAC5 ; | CODE_00FAB2: B9 86 16 LDA.W RAM_Tweaker1686,Y ; | ...and "don't turn into coin" not set, CODE_00FAB5: 29 20 AND.B #$20 ; | CODE_00FAB7: D0 0C BNE CODE_00FAC5 ; | CODE_00FAB9: A9 10 LDA.B #$10 ; | Set coin animation timer = #$10 CODE_00FABB: 99 40 15 STA.W $1540,Y ; | CODE_00FABE: A9 06 LDA.B #$06 ; | Sprite status = Level end, turn to coins CODE_00FAC0: 99 C8 14 STA.W $14C8,Y ; | CODE_00FAC3: 80 0C BRA LvlEndNextSprite ; / CODE_00FAC5: B9 0F 19 LDA.W RAM_Tweaker190F,Y ; \ If "don't erase" not set, CODE_00FAC8: 29 02 AND.B #$02 ; | CODE_00FACA: D0 05 BNE LvlEndNextSprite ; | CODE_00FACC: A9 00 LDA.B #$00 ; | Erase sprite CODE_00FACE: 99 C8 14 STA.W $14C8,Y ; / LvlEndNextSprite: 88 DEY ; \ Goto next sprite CODE_00FAD2: 10 BD BPL LvlEndSprLoopStrt ; / CODE_00FAD4: A0 07 LDY.B #$07 ; \ CODE_00FAD6: A9 00 LDA.B #$00 ; | Clear out all extended sprites CODE_00FAD8: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; | CODE_00FADB: 88 DEY ; | CODE_00FADC: 10 FA BPL CODE_00FAD8 ; / Return00FADE: 6B RTL ; Return DATA_00FADF: .db $74,$74,$77,$75,$76,$E0,$F0,$74 .db $74,$77,$75,$76,$E0,$F1,$F0,$F0 .db $F0,$F0,$F1,$E0,$F2,$E0,$E0,$E0 .db $E0,$F1,$E0,$E4 DATA_00FAFB: .db $FF,$74,$75,$76,$77 LvlEndPowerUp: A6 19 LDX RAM_MarioPowerUp ; X = Mario's power up status CODE_00FB02: AD 90 14 LDA.W $1490 ; \ If Mario has star, X = #$04. However this never happens as $1490 is cleared earlier CODE_00FB05: F0 02 BEQ CODE_00FB09 ; | Otherwise Mario could get a star from carrying a sprite past the goal. ADDR_00FB07: A2 04 LDX.B #$04 ; / Unreachable instruction CODE_00FB09: AD 7A 18 LDA.W RAM_OnYoshi ; \ If Mario on Yoshi, X = #$05 CODE_00FB0C: F0 02 BEQ CODE_00FB10 ; | ADDR_00FB0E: A2 05 LDX.B #$05 ; / CODE_00FB10: B9 9E 00 LDA.W RAM_SpriteNum,Y ; \ If Spring Board, X += #$07 CODE_00FB13: C9 2F CMP.B #$2F ; | CODE_00FB15: F0 16 BEQ CODE_00FB2D ; / CODE_00FB17: C9 3E CMP.B #$3E ; \ If P Switch, X += #$07 CODE_00FB19: F0 12 BEQ CODE_00FB2D ; / CODE_00FB1B: C9 80 CMP.B #$80 ; \ If Key, X += #$0E CODE_00FB1D: F0 09 BEQ ADDR_00FB28 ; / CODE_00FB1F: C9 2D CMP.B #$2D ; \ If Baby Yoshi, X += #$15 CODE_00FB21: D0 0F BNE CODE_00FB32 ; / ADDR_00FB23: 8A TXA ADDR_00FB24: 18 CLC ADDR_00FB25: 69 07 ADC.B #$07 ADDR_00FB27: AA TAX ADDR_00FB28: 8A TXA ADDR_00FB29: 18 CLC ADDR_00FB2A: 69 07 ADC.B #$07 ADDR_00FB2C: AA TAX CODE_00FB2D: 8A TXA CODE_00FB2E: 18 CLC CODE_00FB2F: 69 07 ADC.B #$07 CODE_00FB31: AA TAX CODE_00FB32: BF DF FA 00 LDA.L DATA_00FADF,X CODE_00FB36: AE C2 0D LDX.W $0DC2 CODE_00FB39: DF FB FA 00 CMP.L DATA_00FAFB,X CODE_00FB3D: D0 02 BNE CODE_00FB41 CODE_00FB3F: A9 78 LDA.B #$78 CODE_00FB41: 64 0F STZ $0F CODE_00FB43: C9 E0 CMP.B #$E0 CODE_00FB45: 90 0E BCC LvlEndStoreSpr ADDR_00FB47: 48 PHA ADDR_00FB48: 29 0F AND.B #$0F ADDR_00FB4A: 85 0F STA $0F ADDR_00FB4C: 68 PLA ADDR_00FB4D: C9 F0 CMP.B #$F0 ADDR_00FB4F: A9 78 LDA.B #$78 ADDR_00FB51: B0 02 BCS LvlEndStoreSpr ADDR_00FB53: A9 78 LDA.B #$78 LvlEndStoreSpr: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_00FB58: C9 76 CMP.B #$76 CODE_00FB5A: D0 03 BNE CODE_00FB5F ADDR_00FB5C: EE CB 13 INC.W $13CB CODE_00FB5F: BB TYX CODE_00FB60: 22 D2 F7 07 JSL.L InitSpriteTables CODE_00FB64: A5 0F LDA $0F CODE_00FB66: 99 94 15 STA.W $1594,Y CODE_00FB69: A9 0C LDA.B #$0C ; \ Sprite status = Goal tape power up CODE_00FB6B: 99 C8 14 STA.W $14C8,Y ; / CODE_00FB6E: A9 D0 LDA.B #$D0 CODE_00FB70: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_00FB73: A9 05 LDA.B #$05 CODE_00FB75: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_00FB78: A9 20 LDA.B #$20 CODE_00FB7A: 99 4C 15 STA.W RAM_DisableInter,Y CODE_00FB7D: A9 0C LDA.B #$0C CODE_00FB7F: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_00FB82: A2 03 LDX.B #$03 CODE_00FB84: BD C0 17 LDA.W $17C0,X CODE_00FB87: F0 04 BEQ CODE_00FB8D ADDR_00FB89: CA DEX ADDR_00FB8A: 10 F8 BPL CODE_00FB84 Return00FB8C: 60 RTS ; Return CODE_00FB8D: A9 01 LDA.B #$01 CODE_00FB8F: 9D C0 17 STA.W $17C0,X CODE_00FB92: B9 D8 00 LDA.W RAM_SpriteYLo,Y CODE_00FB95: 9D C4 17 STA.W $17C4,X CODE_00FB98: B9 E4 00 LDA.W RAM_SpriteXLo,Y CODE_00FB9B: 9D C8 17 STA.W $17C8,X CODE_00FB9E: A9 1B LDA.B #$1B CODE_00FBA0: 9D CC 17 STA.W $17CC,X Return00FBA3: 60 RTS ; Return LvlEndSmokeTiles: .db $66,$64,$62,$60,$E8,$EA,$EC,$EA LvlEndSprCoins: 8B PHB CODE_00FBAD: 4B PHK CODE_00FBAE: AB PLB CODE_00FBAF: 20 B4 FB JSR.W LvlEndSprCoinsRt CODE_00FBB2: AB PLB Return00FBB3: 6B RTL ; Return LvlEndSprCoinsRt: A0 00 LDY.B #$00 CODE_00FBB6: AD BD 17 LDA.W $17BD CODE_00FBB9: 10 01 BPL CODE_00FBBC ADDR_00FBBB: 88 DEY CODE_00FBBC: 18 CLC CODE_00FBBD: 75 E4 ADC RAM_SpriteXLo,X CODE_00FBBF: 95 E4 STA RAM_SpriteXLo,X CODE_00FBC1: 98 TYA CODE_00FBC2: 7D E0 14 ADC.W RAM_SpriteXHi,X CODE_00FBC5: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_00FBC8: BD 40 15 LDA.W $1540,X CODE_00FBCB: F0 23 BEQ CODE_00FBF0 CODE_00FBCD: C9 01 CMP.B #$01 CODE_00FBCF: D0 04 BNE CODE_00FBD5 CODE_00FBD1: A9 D0 LDA.B #$D0 CODE_00FBD3: 95 AA STA RAM_SpriteSpeedY,X CODE_00FBD5: DA PHX CODE_00FBD6: A9 04 LDA.B #$04 ; \ Use Palette A CODE_00FBD8: 9D F6 15 STA.W RAM_SpritePal,X ; / CODE_00FBDB: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_00FBDF: BD 40 15 LDA.W $1540,X CODE_00FBE2: 4A LSR CODE_00FBE3: 4A LSR CODE_00FBE4: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_00FBE7: AA TAX CODE_00FBE8: BD A4 FB LDA.W LvlEndSmokeTiles,X CODE_00FBEB: 99 02 03 STA.W OAM_Tile,Y CODE_00FBEE: FA PLX Return00FBEF: 60 RTS ; Return CODE_00FBF0: FE 70 15 INC.W $1570,X CODE_00FBF3: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_00FBF7: F6 AA INC RAM_SpriteSpeedY,X CODE_00FBF9: F6 AA INC RAM_SpriteSpeedY,X CODE_00FBFB: B5 AA LDA RAM_SpriteSpeedY,X CODE_00FBFD: C9 20 CMP.B #$20 CODE_00FBFF: 30 1D BMI CODE_00FC1E CODE_00FC01: 22 4A B3 05 JSL.L CODE_05B34A CODE_00FC05: AD DD 18 LDA.W $18DD CODE_00FC08: C9 0D CMP.B #$0D CODE_00FC0A: 90 02 BCC CODE_00FC0E ADDR_00FC0C: A9 0D LDA.B #$0D CODE_00FC0E: 22 E5 AC 02 JSL.L GivePoints CODE_00FC12: AD DD 18 LDA.W $18DD CODE_00FC15: 18 CLC CODE_00FC16: 69 02 ADC.B #$02 CODE_00FC18: 8D DD 18 STA.W $18DD CODE_00FC1B: 9E C8 14 STZ.W $14C8,X CODE_00FC1E: 22 41 C6 01 JSL.L CoinSprGfx Return00FC22: 60 RTS ; Return ADDR_00FC23: A0 0B LDY.B #$0B ; \ Unreachable instructions ADDR_00FC25: B9 C8 14 LDA.W $14C8,Y ; / Status = Carried ADDR_00FC28: C9 08 CMP.B #$08 ADDR_00FC2A: D0 47 BNE ADDR_00FC73 ADDR_00FC2C: B9 9E 00 LDA.W RAM_SpriteNum,Y ADDR_00FC2F: C9 35 CMP.B #$35 ADDR_00FC31: D0 40 BNE ADDR_00FC73 ADDR_00FC33: A9 01 LDA.B #$01 ADDR_00FC35: 8D C1 0D STA.W RAM_OWHasYoshi ADDR_00FC38: 9C 1E 14 STZ.W RAM_YoshiHasWings ; No Yoshi wings ADDR_00FC3B: B9 F6 15 LDA.W RAM_SpritePal,Y ADDR_00FC3E: 29 F1 AND.B #$F1 ADDR_00FC40: 09 0A ORA.B #$0A ADDR_00FC42: 99 F6 15 STA.W RAM_SpritePal,Y ADDR_00FC45: AD 7A 18 LDA.W RAM_OnYoshi ADDR_00FC48: D0 28 BNE Return00FC72 ADDR_00FC4A: A5 1A LDA RAM_ScreenBndryXLo ADDR_00FC4C: 38 SEC ADDR_00FC4D: E9 10 SBC.B #$10 ADDR_00FC4F: 99 E4 00 STA.W RAM_SpriteXLo,Y ADDR_00FC52: A5 1B LDA RAM_ScreenBndryXHi ADDR_00FC54: E9 00 SBC.B #$00 ADDR_00FC56: 99 E0 14 STA.W RAM_SpriteXHi,Y ADDR_00FC59: A5 96 LDA RAM_MarioYPos ADDR_00FC5B: 99 D8 00 STA.W RAM_SpriteYLo,Y ADDR_00FC5E: A5 97 LDA RAM_MarioYPosHi ADDR_00FC60: 99 D4 14 STA.W RAM_SpriteYHi,Y ADDR_00FC63: A9 03 LDA.B #$03 ADDR_00FC65: 99 C2 00 STA.W RAM_SpriteState,Y ADDR_00FC68: A9 00 LDA.B #$00 ADDR_00FC6A: 99 7C 15 STA.W RAM_SpriteDir,Y ADDR_00FC6D: A9 10 LDA.B #$10 ADDR_00FC6F: 99 B6 00 STA.W RAM_SpriteSpeedX,Y Return00FC72: 6B RTL ; Return ADDR_00FC73: 88 DEY ADDR_00FC74: 10 AF BPL ADDR_00FC25 ADDR_00FC76: 9C C1 0D STZ.W RAM_OWHasYoshi Return00FC79: 6B RTL ; Return CODE_00FC7A: A9 02 LDA.B #$02 CODE_00FC7C: 8D FA 1D STA.W $1DFA ; / Play sound effect CODE_00FC7F: A2 00 LDX.B #$00 CODE_00FC81: AD 94 1B LDA.W $1B94 CODE_00FC84: D0 12 BNE CODE_00FC98 CODE_00FC86: A2 05 LDX.B #$05 CODE_00FC88: AD 92 16 LDA.W $1692 CODE_00FC8B: C9 0A CMP.B #$0A CODE_00FC8D: F0 09 BEQ CODE_00FC98 CODE_00FC8F: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ X = First free sprite slot, #$03 if none free CODE_00FC93: BB TYX ; | CODE_00FC94: 10 02 BPL CODE_00FC98 ; | CODE_00FC96: A2 03 LDX.B #$03 ; / CODE_00FC98: A9 08 LDA.B #$08 ; \ Status = Normal CODE_00FC9A: 9D C8 14 STA.W $14C8,X ; / CODE_00FC9D: A9 35 LDA.B #$35 ; \ Sprite = Yoshi CODE_00FC9F: 95 9E STA RAM_SpriteNum,X ; / CODE_00FCA1: A5 94 LDA RAM_MarioXPos ; \ Yoshi X position = Mario X position CODE_00FCA3: 95 E4 STA RAM_SpriteXLo,X ; | CODE_00FCA5: A5 95 LDA RAM_MarioXPosHi ; | CODE_00FCA7: 9D E0 14 STA.W RAM_SpriteXHi,X ; / CODE_00FCAA: A5 96 LDA RAM_MarioYPos ; \ Yoshi's Y position = Mario Y position - #$10 CODE_00FCAC: 38 SEC ; | Mario Y position = Mario Y position - #$10 CODE_00FCAD: E9 10 SBC.B #$10 ; | CODE_00FCAF: 85 96 STA RAM_MarioYPos ; | CODE_00FCB1: 95 D8 STA RAM_SpriteYLo,X ; | CODE_00FCB3: A5 97 LDA RAM_MarioYPosHi ; | CODE_00FCB5: E9 00 SBC.B #$00 ; | CODE_00FCB7: 85 97 STA RAM_MarioYPosHi ; | CODE_00FCB9: 9D D4 14 STA.W RAM_SpriteYHi,X ; / CODE_00FCBC: 22 D2 F7 07 JSL.L InitSpriteTables ; Reset sprite tables CODE_00FCC0: A9 04 LDA.B #$04 CODE_00FCC2: 9D E2 1F STA.W $1FE2,X CODE_00FCC5: AD C7 13 LDA.W RAM_YoshiColor ; \ Set Yoshi palette CODE_00FCC8: 9D F6 15 STA.W RAM_SpritePal,X ; / CODE_00FCCB: AD 95 1B LDA.W $1B95 CODE_00FCCE: F0 05 BEQ CODE_00FCD5 CODE_00FCD0: A9 06 LDA.B #$06 CODE_00FCD2: 9D F6 15 STA.W RAM_SpritePal,X CODE_00FCD5: EE 7A 18 INC.W RAM_OnYoshi CODE_00FCD8: F6 C2 INC RAM_SpriteState,X CODE_00FCDA: A5 76 LDA RAM_MarioDirection CODE_00FCDC: 49 01 EOR.B #$01 CODE_00FCDE: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_00FCE1: DE 0E 16 DEC.W $160E,X CODE_00FCE4: E8 INX CODE_00FCE5: 8E DF 18 STX.W $18DF CODE_00FCE8: 8E E2 18 STX.W $18E2 Return00FCEB: 6B RTL ; Return CODE_00FCEC: A2 0B LDX.B #$0B CODE_00FCEE: 9E C8 14 STZ.W $14C8,X CODE_00FCF1: CA DEX CODE_00FCF2: 10 FA BPL CODE_00FCEE Return00FCF4: 60 RTS ; Return CODE_00FCF5: A9 A0 LDA.B #$A0 CODE_00FCF7: 95 E4 STA RAM_SpriteXLo,X CODE_00FCF9: A9 00 LDA.B #$00 CODE_00FCFB: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_00FCFE: A9 00 LDA.B #$00 CODE_00FD00: 95 D8 STA RAM_SpriteYLo,X CODE_00FD02: A9 00 LDA.B #$00 CODE_00FD04: 9D D4 14 STA.W RAM_SpriteYHi,X Return00FD07: 6B RTL ; Return CODE_00FD08: A0 3F LDY.B #$3F CODE_00FD0A: A5 15 LDA RAM_ControllerA CODE_00FD0C: 29 83 AND.B #$83 CODE_00FD0E: D0 02 BNE CODE_00FD12 CODE_00FD10: A0 7F LDY.B #$7F CODE_00FD12: 98 TYA CODE_00FD13: 25 14 AND RAM_FrameCounterB CODE_00FD15: 05 9D ORA RAM_SpritesLocked CODE_00FD17: D0 0A BNE Return00FD23 CODE_00FD19: A2 07 LDX.B #$07 ; \ Find a free extended sprite slot CODE_00FD1B: BD 0B 17 LDA.W RAM_ExSpriteNum,X ; | CODE_00FD1E: F0 06 BEQ CODE_00FD26 ; | CODE_00FD20: CA DEX ; | CODE_00FD21: 10 F8 BPL CODE_00FD1B ; | Return00FD23: 60 RTS ; / Return if no free slots DATA_00FD24: .db $02,$0A CODE_00FD26: A9 12 LDA.B #$12 ; \ Extended sprite = Water buble CODE_00FD28: 9D 0B 17 STA.W RAM_ExSpriteNum,X ; / CODE_00FD2B: A4 76 LDY RAM_MarioDirection CODE_00FD2D: A5 94 LDA RAM_MarioXPos CODE_00FD2F: 18 CLC CODE_00FD30: 79 24 FD ADC.W DATA_00FD24,Y CODE_00FD33: 9D 1F 17 STA.W RAM_ExSpriteXLo,X CODE_00FD36: A5 95 LDA RAM_MarioXPosHi CODE_00FD38: 69 00 ADC.B #$00 CODE_00FD3A: 9D 33 17 STA.W RAM_ExSpriteXHi,X CODE_00FD3D: A5 19 LDA RAM_MarioPowerUp CODE_00FD3F: F0 06 BEQ CODE_00FD47 CODE_00FD41: A9 04 LDA.B #$04 CODE_00FD43: A4 73 LDY RAM_IsDucking CODE_00FD45: F0 02 BEQ CODE_00FD49 CODE_00FD47: A9 0C LDA.B #$0C CODE_00FD49: 18 CLC CODE_00FD4A: 65 96 ADC RAM_MarioYPos CODE_00FD4C: 9D 15 17 STA.W RAM_ExSpriteYLo,X CODE_00FD4F: A5 97 LDA RAM_MarioYPosHi CODE_00FD51: 69 00 ADC.B #$00 CODE_00FD53: 9D 29 17 STA.W RAM_ExSpriteYHi,X CODE_00FD56: 9E 6F 17 STZ.W $176F,X Return00FD59: 60 RTS ; Return CODE_00FD5A: A5 7F LDA $7F ;\ CODE_00FD5C: 05 81 ORA $81 ;| if mario is on lower-left part of screen return CODE_00FD5E: D0 0A BNE Return00FD6A ;/ CODE_00FD60: A0 03 LDY.B #$03 ;\ CODE_00FD62: B9 C0 17 LDA.W $17C0,Y ;| CODE_00FD65: F0 04 BEQ CODE_00FD6B ;| CODE_00FD67: 88 DEY ;| CODE_00FD68: 10 F8 BPL CODE_00FD62 ;/ set the smoke image Return00FD6A: 60 RTS ; Return CODE_00FD6B: A9 05 LDA.B #$05 CODE_00FD6D: 99 C0 17 STA.W $17C0,Y CODE_00FD70: A5 9A LDA RAM_BlockYLo CODE_00FD72: 29 F0 AND.B #$F0 CODE_00FD74: 99 C8 17 STA.W $17C8,Y CODE_00FD77: A5 98 LDA RAM_BlockXLo CODE_00FD79: 29 F0 AND.B #$F0 CODE_00FD7B: 99 C4 17 STA.W $17C4,Y CODE_00FD7E: AD 33 19 LDA.W $1933 CODE_00FD81: F0 14 BEQ CODE_00FD97 ADDR_00FD83: A5 9A LDA RAM_BlockYLo ADDR_00FD85: 38 SEC ADDR_00FD86: E5 26 SBC $26 ADDR_00FD88: 29 F0 AND.B #$F0 ADDR_00FD8A: 99 C8 17 STA.W $17C8,Y ADDR_00FD8D: A5 98 LDA RAM_BlockXLo ADDR_00FD8F: 38 SEC ADDR_00FD90: E5 28 SBC $28 ADDR_00FD92: 29 F0 AND.B #$F0 ADDR_00FD94: 99 C4 17 STA.W $17C4,Y CODE_00FD97: A9 10 LDA.B #$10 CODE_00FD99: 99 CC 17 STA.W $17CC,Y Return00FD9C: 60 RTS ; Return DATA_00FD9D: .db $08,$FC,$10,$04 DATA_00FDA1: .db $00,$FF,$00,$00 CODE_00FDA5: A5 72 LDA RAM_IsFlying CODE_00FDA7: F0 0A BEQ CODE_00FDB3 CODE_00FDA9: A0 0B LDY.B #$0B CODE_00FDAB: B9 F0 17 LDA.W $17F0,Y CODE_00FDAE: F0 04 BEQ CODE_00FDB4 CODE_00FDB0: 88 DEY CODE_00FDB1: 10 F8 BPL CODE_00FDAB CODE_00FDB3: C8 INY CODE_00FDB4: DA PHX CODE_00FDB5: A2 00 LDX.B #$00 CODE_00FDB7: A5 19 LDA RAM_MarioPowerUp CODE_00FDB9: F0 01 BEQ CODE_00FDBC CODE_00FDBB: E8 INX CODE_00FDBC: AD 7A 18 LDA.W RAM_OnYoshi CODE_00FDBF: F0 02 BEQ CODE_00FDC3 CODE_00FDC1: E8 INX CODE_00FDC2: E8 INX CODE_00FDC3: A5 96 LDA RAM_MarioYPos CODE_00FDC5: 18 CLC CODE_00FDC6: 7D 9D FD ADC.W DATA_00FD9D,X CODE_00FDC9: 08 PHP CODE_00FDCA: 29 F0 AND.B #$F0 CODE_00FDCC: 18 CLC CODE_00FDCD: 69 03 ADC.B #$03 CODE_00FDCF: 99 FC 17 STA.W $17FC,Y CODE_00FDD2: A5 97 LDA RAM_MarioYPosHi CODE_00FDD4: 69 00 ADC.B #$00 CODE_00FDD6: 28 PLP CODE_00FDD7: 7D A1 FD ADC.W DATA_00FDA1,X CODE_00FDDA: 99 14 18 STA.W $1814,Y CODE_00FDDD: FA PLX CODE_00FDDE: A5 94 LDA RAM_MarioXPos CODE_00FDE0: 99 08 18 STA.W $1808,Y CODE_00FDE3: A5 95 LDA RAM_MarioXPosHi CODE_00FDE5: 99 EA 18 STA.W $18EA,Y CODE_00FDE8: A9 07 LDA.B #$07 CODE_00FDEA: 99 F0 17 STA.W $17F0,Y CODE_00FDED: A9 00 LDA.B #$00 CODE_00FDEF: 99 50 18 STA.W $1850,Y CODE_00FDF2: A5 7D LDA RAM_MarioSpeedY CODE_00FDF4: 30 17 BMI Return00FE0D CODE_00FDF6: 64 7D STZ RAM_MarioSpeedY CODE_00FDF8: A4 72 LDY RAM_IsFlying CODE_00FDFA: F0 02 BEQ CODE_00FDFE CODE_00FDFC: 64 7B STZ RAM_MarioSpeedX CODE_00FDFE: A0 03 LDY.B #$03 CODE_00FE00: A5 19 LDA RAM_MarioPowerUp CODE_00FE02: D0 01 BNE CODE_00FE05 CODE_00FE04: 88 DEY CODE_00FE05: B9 0B 17 LDA.W RAM_ExSpriteNum,Y CODE_00FE08: F0 0C BEQ CODE_00FE16 CODE_00FE0A: 88 DEY CODE_00FE0B: 10 F8 BPL CODE_00FE05 Return00FE0D: 60 RTS ; Return DATA_00FE0E: .db $10,$16,$13,$1C DATA_00FE12: .db $00,$04,$0A,$07 CODE_00FE16: A9 12 LDA.B #$12 ; \ Extended sprite = Water bubble CODE_00FE18: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_00FE1B: 98 TYA CODE_00FE1C: 0A ASL CODE_00FE1D: 0A ASL CODE_00FE1E: 0A ASL CODE_00FE1F: 69 F7 ADC.B #$F7 CODE_00FE21: 99 65 17 STA.W $1765,Y CODE_00FE24: A5 96 LDA RAM_MarioYPos CODE_00FE26: 79 0E FE ADC.W DATA_00FE0E,Y CODE_00FE29: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_00FE2C: A5 97 LDA RAM_MarioYPosHi CODE_00FE2E: 69 00 ADC.B #$00 CODE_00FE30: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_00FE33: A5 94 LDA RAM_MarioXPos CODE_00FE35: 79 12 FE ADC.W DATA_00FE12,Y CODE_00FE38: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_00FE3B: A5 95 LDA RAM_MarioXPosHi CODE_00FE3D: 69 00 ADC.B #$00 CODE_00FE3F: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_00FE42: A9 00 LDA.B #$00 CODE_00FE44: 99 6F 17 STA.W $176F,Y CODE_00FE47: 4C 0A FE JMP.W CODE_00FE0A CODE_00FE4A: A5 13 LDA RAM_FrameCounter ;\ CODE_00FE4C: 29 03 AND.B #$03 ;| CODE_00FE4E: 05 72 ORA RAM_IsFlying ;| If sprites are locked, or every once in a while (short times) CODE_00FE50: 05 7F ORA $7F ;| CODE_00FE52: 05 81 ORA $81 ;|or mario has a high byte in the position CODE_00FE54: 05 9D ORA RAM_SpritesLocked ;| CODE_00FE56: D0 19 BNE Return00FE71 ;/ Return CODE_00FE58: A5 15 LDA RAM_ControllerA ;\ CODE_00FE5A: 29 04 AND.B #$04 ;| If down not pressed, CODE_00FE5C: F0 09 BEQ CODE_00FE67 ;/ CODE_00FE5E: A5 7B LDA RAM_MarioSpeedX ;\ CODE_00FE60: 18 CLC ;| CODE_00FE61: 69 08 ADC.B #$08 ;| If mario was going extrordinarily slow CODE_00FE63: C9 10 CMP.B #$10 ;| Return CODE_00FE65: 90 0A BCC Return00FE71 ;/ CODE_00FE67: A0 03 LDY.B #$03 ;\ Loop: CODE_00FE69: B9 C0 17 LDA.W $17C0,Y ;| If any of the smoke image is not showing CODE_00FE6C: F0 04 BEQ CODE_00FE72 ;| Continue CODE_00FE6E: 88 DEY ;| CODE_00FE6F: D0 F8 BNE CODE_00FE69 ;/ Otherwise Return00FE71: 60 RTS ; Return CODE_00FE72: A9 03 LDA.B #$03 ;\ CODE_00FE74: 99 C0 17 STA.W $17C0,Y ;| CODE_00FE77: A5 94 LDA RAM_MarioXPos ;| Calculating the smoke image CODE_00FE79: 69 04 ADC.B #$04 ;| CODE_00FE7B: 99 C8 17 STA.W $17C8,Y ;| CODE_00FE7E: A5 96 LDA RAM_MarioYPos ;| CODE_00FE80: 69 1A ADC.B #$1A ;| CODE_00FE82: DA PHX ;| CODE_00FE83: AE 7A 18 LDX.W RAM_OnYoshi ;|; As well as handling if yoshi is there CODE_00FE86: F0 02 BEQ CODE_00FE8A ;| CODE_00FE88: 69 10 ADC.B #$10 ;| CODE_00FE8A: 99 C4 17 STA.W $17C4,Y ;| CODE_00FE8D: FA PLX ;| CODE_00FE8E: A9 13 LDA.B #$13 ;| CODE_00FE90: 99 CC 17 STA.W $17CC,Y ;/ Return00FE93: 60 RTS ; Return DATA_00FE94: .db $FD,$03 DATA_00FE96: .db $00,$08,$F8,$10,$F8,$10 DATA_00FE9C: .db $00,$00,$FF,$00,$FF,$00 DATA_00FEA2: .db $08,$08,$0C,$0C,$14,$14 ShootFireball: A2 09 LDX.B #$09 ; \ Find a free fireball slot (08-09) CODE_00FEAA: BD 0B 17 LDA.W RAM_ExSpriteNum,X ; | CODE_00FEAD: F0 06 BEQ CODE_00FEB5 ; | CODE_00FEAF: CA DEX ; | CODE_00FEB0: E0 07 CPX.B #$07 ; | CODE_00FEB2: D0 F6 BNE CODE_00FEAA ; | Return00FEB4: 60 RTS ; / Return if no free slots CODE_00FEB5: A9 06 LDA.B #$06 CODE_00FEB7: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_00FEBA: A9 0A LDA.B #$0A CODE_00FEBC: 8D 9C 14 STA.W RAM_FireballImgTimer CODE_00FEBF: A9 05 LDA.B #$05 ; \ Extended sprite = Mario fireball CODE_00FEC1: 9D 0B 17 STA.W RAM_ExSpriteNum,X ; / CODE_00FEC4: A9 30 LDA.B #$30 CODE_00FEC6: 9D 3D 17 STA.W RAM_ExSprSpeedY,X CODE_00FEC9: A4 76 LDY RAM_MarioDirection CODE_00FECB: B9 94 FE LDA.W DATA_00FE94,Y CODE_00FECE: 9D 47 17 STA.W RAM_ExSprSpeedX,X CODE_00FED1: AD 7A 18 LDA.W RAM_OnYoshi CODE_00FED4: F0 09 BEQ CODE_00FEDF ADDR_00FED6: C8 INY ADDR_00FED7: C8 INY ADDR_00FED8: AD DC 18 LDA.W $18DC ADDR_00FEDB: F0 02 BEQ CODE_00FEDF ADDR_00FEDD: C8 INY ADDR_00FEDE: C8 INY CODE_00FEDF: A5 94 LDA RAM_MarioXPos CODE_00FEE1: 18 CLC CODE_00FEE2: 79 96 FE ADC.W DATA_00FE96,Y CODE_00FEE5: 9D 1F 17 STA.W RAM_ExSpriteXLo,X CODE_00FEE8: A5 95 LDA RAM_MarioXPosHi CODE_00FEEA: 79 9C FE ADC.W DATA_00FE9C,Y CODE_00FEED: 9D 33 17 STA.W RAM_ExSpriteXHi,X CODE_00FEF0: A5 96 LDA RAM_MarioYPos CODE_00FEF2: 18 CLC CODE_00FEF3: 79 A2 FE ADC.W DATA_00FEA2,Y CODE_00FEF6: 9D 15 17 STA.W RAM_ExSpriteYLo,X CODE_00FEF9: A5 97 LDA RAM_MarioYPosHi CODE_00FEFB: 69 00 ADC.B #$00 CODE_00FEFD: 9D 29 17 STA.W RAM_ExSpriteYHi,X CODE_00FF00: AD F9 13 LDA.W RAM_IsBehindScenery CODE_00FF03: 9D 79 17 STA.W $1779,X Return00FF06: 60 RTS ; Return ADDR_00FF07: C2 20 REP #$20 ; Accum (16 bit) ADDR_00FF09: AD BC 17 LDA.W $17BC ADDR_00FF0C: 29 00 FF AND.W #$FF00 ADDR_00FF0F: 10 03 BPL ADDR_00FF14 ADDR_00FF11: 09 FF 00 ORA.W #$00FF ADDR_00FF14: EB XBA ADDR_00FF15: 18 CLC ADDR_00FF16: 65 94 ADC RAM_MarioXPos ADDR_00FF18: 85 94 STA RAM_MarioXPos ADDR_00FF1A: AD BB 17 LDA.W $17BB ADDR_00FF1D: 29 00 FF AND.W #$FF00 ADDR_00FF20: 10 03 BPL ADDR_00FF25 ADDR_00FF22: 09 FF 00 ORA.W #$00FF ADDR_00FF25: EB XBA ADDR_00FF26: 49 FF FF EOR.W #$FFFF ADDR_00FF29: 1A INC A ADDR_00FF2A: 18 CLC ADDR_00FF2B: 65 96 ADC RAM_MarioYPos ADDR_00FF2D: 85 96 STA RAM_MarioYPos ADDR_00FF2F: E2 20 SEP #$20 ; Accum (8 bit) Return00FF31: 6B RTL ; Return ADDR_00FF32: BD E0 14 LDA.W RAM_SpriteXHi,X ADDR_00FF35: EB XBA ADDR_00FF36: B5 E4 LDA RAM_SpriteXLo,X ADDR_00FF38: C2 20 REP #$20 ; Accum (16 bit) ADDR_00FF3A: 38 SEC ADDR_00FF3B: E5 1A SBC RAM_ScreenBndryXLo ADDR_00FF3D: 85 00 STA $00 ADDR_00FF3F: A9 30 00 LDA.W #$0030 ADDR_00FF42: 38 SEC ADDR_00FF43: E5 00 SBC $00 ADDR_00FF45: 85 22 STA $22 ADDR_00FF47: E2 20 SEP #$20 ; Accum (8 bit) ADDR_00FF49: BD D4 14 LDA.W RAM_SpriteYHi,X ADDR_00FF4C: EB XBA ADDR_00FF4D: B5 D8 LDA RAM_SpriteYLo,X ADDR_00FF4F: C2 20 REP #$20 ; Accum (16 bit) ADDR_00FF51: 38 SEC ADDR_00FF52: E5 1C SBC RAM_ScreenBndryYLo ADDR_00FF54: 85 00 STA $00 ADDR_00FF56: A9 00 01 LDA.W #$0100 ADDR_00FF59: 38 SEC ADDR_00FF5A: E5 00 SBC $00 ADDR_00FF5C: 85 24 STA $24 ADDR_00FF5E: E2 20 SEP #$20 ; Accum (8 bit) Return00FF60: 6B RTL ; Return CODE_00FF61: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_00FF64: EB XBA CODE_00FF65: B5 E4 LDA RAM_SpriteXLo,X CODE_00FF67: C2 20 REP #$20 ; Accum (16 bit) CODE_00FF69: C9 00 FF CMP.W #$FF00 CODE_00FF6C: 30 05 BMI CODE_00FF73 CODE_00FF6E: C9 00 01 CMP.W #$0100 CODE_00FF71: 30 03 BMI CODE_00FF76 CODE_00FF73: A9 00 01 LDA.W #$0100 CODE_00FF76: 85 22 STA $22 CODE_00FF78: E2 20 SEP #$20 ; Accum (8 bit) CODE_00FF7A: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_00FF7D: EB XBA CODE_00FF7E: B5 D8 LDA RAM_SpriteYLo,X CODE_00FF80: C2 20 REP #$20 ; Accum (16 bit) CODE_00FF82: 85 00 STA $00 CODE_00FF84: A9 A0 00 LDA.W #$00A0 CODE_00FF87: 38 SEC CODE_00FF88: E5 00 SBC $00 CODE_00FF8A: 18 CLC CODE_00FF8B: 6D 88 18 ADC.W RAM_Layer1DispYLo CODE_00FF8E: 85 24 STA $24 CODE_00FF90: E2 20 SEP #$20 ; Accum (8 bit) Return00FF92: 6B RTL ; Return $00FF93: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF ;;; SNES header, see http://romhack.wikia.com/wiki/SNES_header ;;; ;; Name of ROM. "SUPER MARIOWORLD " in ASCII, 21 characters. $00FFC0: .db $53,$55,$50,$45,$52,$20,$4D,$41,$52,$49,$4F ; "SUPER MARIO" .db $57,$4F,$52,$4C,$44,$20,$20,$20,$20,$20 ; "WORLD " $00FFD5: .db $20 ; ROM status: slow LoROM $00FFD6: .db $02 ; Cartridge type: ROM with save-RAM $00FFD7: .db $09 ; ROM size: 512 kilobytes $00FFD8: .db $01 ; Save-RAM size: 2 kilobytes $00FFD9: .db $01 ; Country code: NTSC $00FFDA: .db $01 ; Licensee code: Nintendo $00FFDB: .db $00 ; Version: zero $00FFDC: .dw $5F25 ; Checksum complement (.db $25, $5F) $00FFDE: .dw $A0DA ; Checksum (.db $DA, A0) $00FFE0: .db $FF,$FF,$FF,$FF ; Technically free space $00FFE4: .dw $82C3 ; Native mode COP vector $00FFE6: .dw $FFFF ; Native mode BRK vector (change to use) $00FFE8: .dw $82C3 ; Native mode ABORT vector $00FFEA: .dw $816A ; Native mode NMI vector $00FFEC: .dw $8000 ; Never used, would be native mode RESET vector $00FFEE: .dw $8374 ; Native mode IRQ vector $00FFF0: .db $FF,$FF,$FF,$FF ; Technically free space $00FFF4: .dw $82C3 ; Emulation mode COP vector $00FFF6: .dw $82C3 ; Never used, would be emulation mode BRK vector $00FFF8: .dw $82C3 ; Emulation mode ABORT vector $00FFFA: .dw $82C3 ; Emulation mode NMI vector $00FFFC: .dw $8000 ; Emulation mode RESET vector $00FFFE: .dw $82C3 ; Emulation mode IRQ and BRK vector timer.BANK 1 Most of this is just sprite initalization stuff. DATA_018000: .db $80,$40,$20,$10,$08,$04,$02,$01 ; this belonged to previous code, I belive IsTouchingObjSide: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Set A to lower two bits of CODE_01800B: 29 03 AND.B #$03 ; / current sprite's blocked status Return01800D: 60 RTS ; Return status bar IsOnGround: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Set A to bit 2 of CODE_018011: 29 04 AND.B #$04 ; / current sprite's blocked Status Return018013: 60 RTS ; Return IsTouchingCeiling: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Set A to bit 3 of CODE_018017: 29 08 AND.B #$08 ; / current sprite's blocked Status Return018019: 60 RTS ; Return UpdateYPosNoGrvty: 8B PHB ; This starts the updating of the CODE_01801B: 4B PHK ; Ypos on a sprite CODE_01801C: AB PLB CODE_01801D: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_018020: AB PLB Return018021: 6B RTL ; Return UpdateXPosNoGrvty: 8B PHB ; This starts the updating of the Xpos CODE_018023: 4B PHK ; on a sprite. CODE_018024: AB PLB CODE_018025: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_018028: AB PLB Return018029: 6B RTL ; Return UpdateSpritePos: 8B PHB ; I think you can guess- This updates CODE_01802B: 4B PHK ; the position of a sprite. CODE_01802C: AB PLB CODE_01802D: 20 32 90 JSR.W SubUpdateSprPos CODE_018030: AB PLB Return018031: 6B RTL ; Return SprSprInteract: 8B PHB CODE_018033: 4B PHK ; Start of the sprite-on-sprite-contact CODE_018034: AB PLB ; routine (Details not covered by my CODE_018035: 20 0D A4 JSR.W SubSprSprInteract ; commentary CODE_018038: AB PLB Return018039: 6B RTL ; Return SprSpr+MarioSprRts: 8B PHB CODE_01803B: 4B PHK ; Start of the sprite/mario contact CODE_01803C: AB PLB ; routine (also not entirely covered..I know CODE_01803D: 20 C1 8F JSR.W SubSprSpr+MarioSpr ; what I am doing next lot CODE_018040: AB PLB Return018041: 6B RTL ; Return GenericSprGfxRt0: 8B PHB CODE_018043: 4B PHK CODE_018044: AB PLB ; Well, guess! :p Start of the generic sprite CODE_018045: 20 F3 9C JSR.W SubSprGfx0Entry0 ; graphics routine- what this exactly means I CODE_018048: AB PLB ; am not sure. I'll find out though. Return018049: 6B RTL ; Return ;;; 09:56 -!- Topic for #serioushax: The new #serioushax, your primary channel for ;;; 65c816 and SMW hacking questions, as well as random discussions | ;;; .............................. is a good place to post your ASM. | ;;; Check InvertAccum: in all.log ($01804A) if you need something to ;;; laugh at. ;;; 09:56 -!- Topic set by Alcaro [] [Tue Aug 25 13:20:30 2009] ;;; ;;; This short subroutine negates the accumulator. ;;; ;;; A "JSR.W InvertAccum" [20 4A 80] is three bytes. ;;; The code to negate A [49 FF 1A] is three bytes. ;;; So there is no reason to type "JSR.W InvertAccum" instead of "EOR.B #$FF\nINC A". ;;; SMW uses this routine only twice, from $0197DA an $0197E1. ;;; InvertAccum: 49 FF EOR.B #$FF ; \ Set A to -A CODE_01804C: 1A INC A ; / Return01804D: 60 RTS ; Return CODE_01804E: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if in air CODE_018051: F0 1F BEQ Return018072 ; / ---This seems to be the start of the smoke image generation routine, I think. CODE_018053: A5 13 LDA RAM_FrameCounter ;\ CODE_018055: 29 03 AND.B #$03 ;| Every three frames, if it isn't a slippery CODE_018057: 05 86 ORA $86 ;| level.. CODE_018059: D0 17 BNE Return018072 ;/ return. CODE_01805B: A9 04 LDA.B #$04 ;\ this will be used later CODE_01805D: 85 00 STA $00 ;/ in the smoke image display. CODE_01805F: A9 0A LDA.B #$0A ;\ CODE_018061: 85 01 STA $01 ;/ and again. CODE_018063: 20 CB 80 JSR.W IsSprOffScreen ; Checking if the sprite is offscreen... CODE_018066: D0 0A BNE Return018072 ; If it is, then return. CODE_018068: A0 03 LDY.B #$03 ;---Loop time! CODE_01806A: B9 C0 17 LDA.W $17C0,Y ;Load the smoke image frame... CODE_01806D: F0 04 BEQ CODE_018073 ;if it's not showing, branch.. CODE_01806F: 88 DEY ; check the next smoke image frame... CODE_018070: 10 F8 BPL CODE_01806A ; until it reaches 0, when it should... Return018072: 60 RTS ; Return CODE_018073: A9 03 LDA.B #$03 ;\ CODE_018075: 99 C0 17 STA.W $17C0,Y ;/ make the not-showing smoke frame frame 3. CODE_018078: B5 E4 LDA RAM_SpriteXLo,X ;\ Load the sprite's Xpos CODE_01807A: 65 00 ADC $00 ;| add a little bit (orig. #$04, see above) CODE_01807C: 99 C8 17 STA.W $17C8,Y ;/ and make that the smoke image Xpos. CODE_01807F: B5 D8 LDA RAM_SpriteYLo,X ;\ CODE_018081: 65 01 ADC $01 ;| and make the smoke ypos just a little bit CODE_018083: 99 C4 17 STA.W $17C4,Y ;/ below the sprite. CODE_018086: A9 13 LDA.B #$13 ;\ and then set the time for the smoke to display CODE_018088: 99 CC 17 STA.W $17CC,Y ;/ to 13 (frames? probably) Return01808B: 60 RTS ; Return CODE_01808C: 8B PHB ;Start of a routine, it seems. CODE_01808D: 4B PHK CODE_01808E: AB PLB CODE_01808F: AD 8F 14 LDA.W $148F ;\ CODE_018092: 8D 70 14 STA.W $1470 ;/Reset carrying enemy flag CODE_018095: 9C 8F 14 STZ.W $148F ;Stop mario from holding whatever he has CODE_018098: 9C 71 14 STZ.W $1471 ;Reset what platform mario is on CODE_01809B: 9C C2 18 STZ.W $18C2 ;Reset flag for mario is standing normally CODE_01809E: AD DF 18 LDA.W $18DF ;\If yoshi exists (I think that's what this is) CODE_0180A1: 8D E2 18 STA.W $18E2 ;/then make him loose! CODE_0180A4: 9C DF 18 STZ.W $18DF ; ...and then destroy him. Cool. CODE_0180A7: A2 0B LDX.B #$0B ;\---Another Loop! This one seems to handle all the sprites on the screen. CODE_0180A9: 8E E9 15 STX.W $15E9 ;/ Store X to- something! I wish I knew what CODE_0180AC: 20 D2 80 JSR.W CODE_0180D2 ; This routine decrements all the sprite timers. CODE_0180AF: 20 27 81 JSR.W HandleSprite ;Well, what do you think this is? :p CODE_0180B2: CA DEX ;And continue doing that until CODE_0180B3: 10 F4 BPL CODE_0180A9 ;you've handled every sprite. CODE_0180B5: AD B8 18 LDA.W $18B8 ;\ CODE_0180B8: F0 04 BEQ CODE_0180BE ;/ if some address is 00, then don't run this next routine CODE_0180BA: 22 08 F8 02 JSL.L CODE_02F808 ; some kind of sprite handling routine, not my area CODE_0180BE: AD DF 18 LDA.W $18DF ; probably yoshi related CODE_0180C1: D0 06 BNE CODE_0180C9 ; if it is not 00, then return CODE_0180C3: 9C 7A 18 STZ.W RAM_OnYoshi ;\Get rid of yoshi CODE_0180C6: 9C 8B 18 STZ.W $188B ;/ CODE_0180C9: AB PLB Return0180CA: 6B RTL ; Return IsSprOffScreen: BD A0 15 LDA.W RAM_OffscreenHorz,X ; \ A = Current sprite is offscreen CODE_0180CE: 1D 6C 18 ORA.W RAM_OffscreenVert,X ; / Return0180D1: 60 RTS ; Return CODE_0180D2: DA PHX ; In all sprite routines, X = current sprite CODE_0180D3: 8A TXA CODE_0180D4: AE 92 16 LDX.W $1692 ; $1692 = Current Sprite memory settings CODE_0180D7: 18 CLC ; \ CODE_0180D8: 7F B4 F0 07 ADC.L DATA_07F0B4,X ; |Add $07:F0B4,$1692 to sprite index. i.e. minimum one tile allotted to each sprite CODE_0180DC: AA TAX ; |the bytes read go straight to the OAM indexes CODE_0180DD: BF 00 F0 07 LDA.L DATA_07F000,X ; | CODE_0180E1: FA PLX ; / CODE_0180E2: 9D EA 15 STA.W RAM_SprOAMIndex,X ; Current sprite's OAM index CODE_0180E5: BD C8 14 LDA.W $14C8,X ; If sprite does not exist CODE_0180E8: F0 3C BEQ Return018126 ; do not decrement these counters CODE_0180EA: A5 9D LDA RAM_SpritesLocked ; Lock sprites timer CODE_0180EC: D0 38 BNE Return018126 ; if sprites locked, do not decrement counters CODE_0180EE: BD 40 15 LDA.W $1540,X ; \ Decrement a bunch of sprite counter tables CODE_0180F1: F0 03 BEQ CODE_0180F6 ; | CODE_0180F3: DE 40 15 DEC.W $1540,X ; |Do not decrement any individual counter if it's already at zero CODE_0180F6: BD 4C 15 LDA.W RAM_DisableInter,X ; | CODE_0180F9: F0 03 BEQ CODE_0180FE ; | CODE_0180FB: DE 4C 15 DEC.W RAM_DisableInter,X ; | CODE_0180FE: BD 58 15 LDA.W $1558,X ; | CODE_018101: F0 03 BEQ CODE_018106 ; | CODE_018103: DE 58 15 DEC.W $1558,X ; | CODE_018106: BD 64 15 LDA.W $1564,X ; | CODE_018109: F0 03 BEQ CODE_01810E ; | CODE_01810B: DE 64 15 DEC.W $1564,X ; | CODE_01810E: BD E2 1F LDA.W $1FE2,X ; | CODE_018111: F0 03 BEQ CODE_018116 ; | CODE_018113: DE E2 1F DEC.W $1FE2,X ; | CODE_018116: BD AC 15 LDA.W $15AC,X ; | CODE_018119: F0 03 BEQ CODE_01811E ; | CODE_01811B: DE AC 15 DEC.W $15AC,X ; | CODE_01811E: BD 3E 16 LDA.W $163E,X ; | CODE_018121: F0 03 BEQ Return018126 ; | CODE_018123: DE 3E 16 DEC.W $163E,X ; | Return018126: 60 RTS ; / Return HandleSprite: BD C8 14 LDA.W $14C8,X ; Call a routine based on the sprite's status CODE_01812A: F0 25 BEQ EraseSprite ; Routine for status 0 hardcoded, maybe for performance CODE_01812C: C9 08 CMP.B #$08 CODE_01812E: D0 03 BNE CODE_018133 ; Routine for status 8 hardcoded, maybe for preformance CODE_018130: 4C C3 85 JMP.W CallSpriteMain CODE_018133: 22 DF 86 00 JSL.L ExecutePtr SpriteStatusRtPtr: 51 81 .dw EraseSprite ; 0 - Non-existant (Bypassed above) 72 81 .dw CallSpriteInit ; 1 - Initialization A2 9A .dw HandleSprKilled ; 2 - Falling off screen (hit by star, shell, etc) E4 9A .dw HandleSprSmushed ; 3 - Smushed 52 9A .dw HandleSprSpinJump ; 4 - Spin Jumped 7B 9A .dw CODE_019A7B ; 5 6D 81 .dw HandleSprLvlEnd ; 6 - End of level turn to coin 56 81 .dw Return018156 ; 7 - Unused C2 85 .dw Return0185C2 ; 8 - Normal (Bypassed above) 3C 95 .dw HandleSprStunned ; 9 - Stationary (Carryable, flipped, stunned) 13 99 .dw HandleSprKicked ; A - Kicked 71 9F .dw HandleSprCarried ; B - Carried 57 81 .dw HandleGoalPowerup ; C - Power up from carrying a sprite past the goal tape EraseSprite: A9 FF LDA.B #$FF ; \ Permanently erase sprite: CODE_018153: 9D 1A 16 STA.W RAM_SprIndexInLvl,X ; | By changing the sprite's index into the level tables Return018156: 60 RTS ; / the actual sprite won't get marked for reloading HandleGoalPowerup: 20 C3 85 JSR.W CallSpriteMain ;\ this says it all. Handling the goal powerup. CODE_01815A: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01815D: 20 32 90 JSR.W SubUpdateSprPos CODE_018160: D6 AA DEC RAM_SpriteSpeedY,X CODE_018162: D6 AA DEC RAM_SpriteSpeedY,X CODE_018164: 20 0E 80 JSR.W IsOnGround CODE_018167: F0 03 BEQ Return01816C ADDR_018169: 20 04 9A JSR.W SetSomeYSpeed?? Return01816C: 60 RTS ;/ Return HandleSprLvlEnd: 22 AC FB 00 JSL.L LvlEndSprCoins Return018171: 60 RTS ; Return CallSpriteInit: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_018174: 9D C8 14 STA.W $14C8,X ; / CODE_018177: B5 9E LDA RAM_SpriteNum,X ;\ oh would you look at this, the handling for EVERY VANILLA SPRITE IN THE GAME! Woo. CODE_018179: 22 DF 86 00 JSL.L ExecutePtr SpriteInitPtr: 75 85 .dw InitStandardSprite ; 00 - Green Koopa, no shell 75 85 .dw InitStandardSprite ; 01 - Red Koopa, no shell 75 85 .dw InitStandardSprite ; 02 - Blue Koopa, no shell 75 85 .dw InitStandardSprite ; 03 - Yellow Koopa, no shell 75 85 .dw InitStandardSprite ; 04 - Green Koopa 75 85 .dw InitStandardSprite ; 05 - Red Koopa 75 85 .dw InitStandardSprite ; 06 - Blue Koopa 75 85 .dw InitStandardSprite ; 07 - Yellow Koopa 75 85 .dw InitStandardSprite ; 08 - Green Koopa, flying left 6E 85 .dw InitGrnBounceKoopa ; 09 - Green bouncing Koopa 75 85 .dw InitStandardSprite ; 0A - Red vertical flying Koopa 75 85 .dw InitStandardSprite ; 0B - Red horizontal flying Koopa 75 85 .dw InitStandardSprite ; 0C - Yellow Koopa with wings 5D 85 .dw InitBomb ; 0D - Bob-omb B8 E1 .dw InitKeyHole ; 0E - Keyhole 75 85 .dw InitStandardSprite ; 0F - Goomba 75 85 .dw InitStandardSprite ; 10 - Bouncing Goomba with wings 75 85 .dw InitStandardSprite ; 11 - Buzzy Beetle 75 F8 .dw UnusedInit ; 12 - Unused 75 85 .dw InitStandardSprite ; 13 - Spiny 75 85 .dw InitStandardSprite ; 14 - Spiny falling 11 B0 .dw Return01B011 ; 15 - Fish, horizontal 0B B0 .dw InitVerticalFish ; 16 - Fish, vertical 14 B0 .dw InitFish ; 17 - Fish, created from generator 14 B0 .dw InitFish ; 18 - Surface jumping fish DA 83 .dw InitMsg+SideExit ; 19 - Display text from level Message Box #1 B0 85 .dw InitPiranha ; 1A - Classic Piranha Plant C2 85 .dw Return0185C2 ; 1B - Bouncing football in place DD 84 .dw InitBulletBill ; 1C - Bullet Bill 75 85 .dw InitStandardSprite ; 1D - Hopping flame 6B 84 .dw InitLakitu ; 1E - Lakitu B8 BD .dw InitMagikoopa ; 1F - Magikoopa 83 85 .dw Return018583 ; 20 - Magikoopa's magic 7C 85 .dw FaceMario ; 21 - Moving coin 48 B9 .dw InitVertNetKoopa ; 22 - Green vertical net Koopa 48 B9 .dw InitVertNetKoopa ; 23 - Red vertical net Koopa 3E B9 .dw InitHorzNetKoopa ; 24 - Green horizontal net Koopa 3E B9 .dw InitHorzNetKoopa ; 25 - Red horizontal net Koopa 96 AE .dw InitThwomp ; 26 - Thwomp A2 AE .dw Return01AEA2 ; 27 - Thwimp 84 F8 .dw InitBigBoo ; 28 - Big Boo 2F CD .dw InitKoopaKid ; 29 - Koopa Kid 9A 85 .dw InitDownPiranha ; 2A - Upside down Piranha Plant C2 85 .dw Return0185C2 ; 2B - Sumo Brother's fire lightning 39 83 .dw InitYoshiEgg ; 2C - Yoshi egg 35 84 .dw InitKey+BabyYoshi ; 2D - Baby green Yoshi F2 83 .dw InitSpikeTop ; 2E - Spike Top C2 85 .dw Return0185C2 ; 2F - Portable spring board 7C 85 .dw FaceMario ; 30 - Dry Bones, throws bones 7C 85 .dw FaceMario ; 31 - Bony Beetle 7C 85 .dw FaceMario ; 32 - Dry Bones, stay on ledge 50 E0 .dw InitFireball ; 33 - Fireball C2 85 .dw Return0185C2 ; 34 - Boss fireball E0 83 .dw InitYoshi ; 35 - Green Yoshi C2 85 .dw Return0185C2 ; 36 - Unused 84 F8 .dw InitBigBoo ; 37 - Boo 7C F8 .dw InitEerie ; 38 - Eerie 7C F8 .dw InitEerie ; 39 - Eerie, wave motion 1B 84 .dw InitUrchin ; 3A - Urchin, fixed 1B 84 .dw InitUrchin ; 3B - Urchin, wall detect 04 84 .dw InitUrchinWallFllw ; 3C - Urchin, wall follow 31 84 .dw InitRipVanFish ; 3D - Rip Van Fish 4E 84 .dw InitPSwitch ; 3E - POW C2 85 .dw Return0185C2 ; 3F - Para-Goomba C2 85 .dw Return0185C2 ; 40 - Para-Bomb 3D 84 .dw Return01843D ; 41 - Dolphin, horizontal 3D 84 .dw Return01843D ; 42 - Dolphin2, horizontal 3D 84 .dw Return01843D ; 43 - Dolphin, vertical 3D 84 .dw Return01843D ; 44 - Torpedo Ted C2 85 .dw Return0185C2 ; 45 - Directional coins 08 85 .dw InitDigginChuck ; 46 - Diggin' Chuck EE 83 .dw Return0183EE ; 47 - Swimming/Jumping fish EE 83 .dw Return0183EE ; 48 - Diggin' Chuck's rock 81 83 .dw InitGrowingPipe ; 49 - Growing/shrinking pipe end EE 83 .dw Return0183EE ; 4A - Goal Point Question Sphere B0 85 .dw InitPiranha ; 4B - Pipe dwelling Lakitu A4 83 .dw InitExplodingBlk ; 4C - Exploding Block CE 84 .dw InitMontyMole ; 4D - Ground dwelling Monty Mole CE 84 .dw InitMontyMole ; 4E - Ledge dwelling Monty Mole B0 85 .dw InitPiranha ; 4F - Jumping Piranha Plant B0 85 .dw InitPiranha ; 50 - Jumping Piranha Plant, spit fire 7C 85 .dw FaceMario ; 51 - Ninji 90 88 .dw InitMovingLedge ; 52 - Moving ledge hole in ghost house C2 85 .dw Return0185C2 ; 53 - Throw block sprite 87 BA .dw InitClimbingDoor ; 54 - Climbing net door 5E B2 .dw InitChckbrdPlat ; 55 - Checkerboard platform, horizontal 5D B2 .dw Return01B25D ; 56 - Flying rock platform, horizontal 5E B2 .dw InitChckbrdPlat ; 57 - Checkerboard platform, vertical 5D B2 .dw Return01B25D ; 58 - Flying rock platform, vertical 67 B2 .dw Return01B267 ; 59 - Turn block bridge, horizontal and vertical 67 B2 .dw Return01B267 ; 5A - Turn block bridge, horizontal 36 B2 .dw InitFloatingPlat ; 5B - Brown platform floating in water 2B B2 .dw InitFallingPlat ; 5C - Checkerboard platform that falls 36 B2 .dw InitFloatingPlat ; 5D - Orange platform floating in water 2E B2 .dw InitOrangePlat ; 5E - Orange platform, goes on forever 4A C7 .dw InitBrwnChainPlat ; 5F - Brown platform on a chain 90 AE .dw Return01AE90 ; 60 - Flat green switch palace switch D9 87 .dw InitFloatingSkull ; 61 - Floating skulls 11 D7 .dw InitLineBrwnPlat ; 62 - Brown platform, line-guided D2 D6 .dw InitLinePlat ; 63 - Checker/brown platform, line-guided C4 D6 .dw InitLineRope ; 64 - Rope mechanism, line-guided ED D6 .dw InitLineGuidedSpr ; 65 - Chainsaw, line-guided ED D6 .dw InitLineGuidedSpr ; 66 - Upside down chainsaw, line-guided ED D6 .dw InitLineGuidedSpr ; 67 - Grinder, line-guided ED D6 .dw InitLineGuidedSpr ; 68 - Fuzz ball, line-guided C3 D6 .dw Return01D6C3 ; 69 - Unused C2 85 .dw Return0185C2 ; 6A - Coin game cloud 3D 84 .dw Return01843D ; 6B - Spring board, left wall 3E 84 .dw InitPeaBouncer ; 6C - Spring board, right wall C2 85 .dw Return0185C2 ; 6D - Invisible solid block 58 85 .dw InitDinos ; 6E - Dino Rhino 58 85 .dw InitDinos ; 6F - Dino Torch 4B 85 .dw InitPokey ; 70 - Pokey 28 85 .dw InitSuperKoopa ; 71 - Super Koopa, red cape 28 85 .dw InitSuperKoopa ; 72 - Super Koopa, yellow cape 2E 85 .dw InitSuperKoopaFthr ; 73 - Super Koopa, feather 8B 85 .dw InitPowerUp ; 74 - Mushroom 8B 85 .dw InitPowerUp ; 75 - Flower 8B 85 .dw InitPowerUp ; 76 - Star 8B 85 .dw InitPowerUp ; 77 - Feather 8B 85 .dw InitPowerUp ; 78 - 1-Up 83 85 .dw Return018583 ; 79 - Growing Vine 83 85 .dw Return018583 ; 7A - Firework 75 C0 .dw InitGoalTape ; 7B - Goal Point C2 85 .dw Return0185C2 ; 7C - Princess Peach C2 85 .dw Return0185C2 ; 7D - Balloon C2 85 .dw Return0185C2 ; 7E - Flying Red coin C2 85 .dw Return0185C2 ; 7F - Flying yellow 1-Up 35 84 .dw InitKey+BabyYoshi ; 80 - Key 3B 84 .dw InitChangingItem ; 81 - Changing item from translucent block AC DD .dw InitBonusGame ; 82 - Bonus game sprite 59 AD .dw InitFlying?Block ; 83 - Left flying question block 59 AD .dw InitFlying?Block ; 84 - Flying question block C2 85 .dw Return0185C2 ; 85 - Unused (Pretty sure) 29 88 .dw InitWiggler ; 86 - Wiggler C2 85 .dw Return0185C2 ; 87 - Lakitu's cloud 6F 88 .dw InitWingedCage ; 88 - Unused (Winged cage sprite) 3D 84 .dw Return01843D ; 89 - Layer 3 smash C2 85 .dw Return0185C2 ; 8A - Bird from Yoshi's house C2 85 .dw Return0185C2 ; 8B - Puff of smoke from Yoshi's house DA 83 .dw InitMsg+SideExit ; 8C - Fireplace smoke/exit from side screen C2 85 .dw Return0185C2 ; 8D - Ghost house exit sign and door C2 85 .dw Return0185C2 ; 8E - Invisible "Warp Hole" blocks B5 83 .dw InitScalePlats ; 8F - Scale platforms 7C 85 .dw FaceMario ; 90 - Large green gas bubble 69 88 .dw Return018869 ; 91 - Chargin' Chuck 04 85 .dw InitChuck ; 92 - Splittin' Chuck 04 85 .dw InitChuck ; 93 - Bouncin' Chuck 00 85 .dw InitWhistlinChuck ; 94 - Whistlin' Chuck E9 84 .dw InitClappinChuck ; 95 - Clapin' Chuck 69 88 .dw Return018869 ; 96 - Unused (Chargin' Chuck clone) FC 84 .dw InitPuntinChuck ; 97 - Puntin' Chuck ED 84 .dw InitPitchinChuck ; 98 - Pitchin' Chuck EE 83 .dw Return0183EE ; 99 - Volcano Lotus 73 83 .dw InitSumoBrother ; 9A - Sumo Brother A7 87 .dw InitHammerBrother ; 9B - Hammer Brother C2 85 .dw Return0185C2 ; 9C - Flying blocks for Hammer Brother 64 85 .dw InitBubbleSpr ; 9D - Bubble with sprite 96 83 .dw InitBallNChain ; 9E - Ball and Chain 87 83 .dw InitBanzai ; 9F - Banzai Bill 6E 83 .dw InitBowserScene ; A0 - Activates Bowser scene C2 85 .dw Return0185C2 ; A1 - Bowser's bowling ball C2 85 .dw Return0185C2 ; A2 - MechaKoopa 9A 83 .dw InitGreyChainPlat ; A3 - Grey platform on chain 16 B2 .dw InitFloatSpkBall ; A4 - Floating Spike ball 0B 84 .dw InitFuzzBall+Spark ; A5 - Fuzzball/Sparky, ground-guided 0B 84 .dw InitFuzzBall+Spark ; A6 - HotHead, ground-guided C2 85 .dw Return0185C2 ; A7 - Iggy's ball C2 85 .dw Return0185C2 ; A8 - Blargg 89 87 .dw InitReznor ; A9 - Reznor 8E 85 .dw InitFishbone ; AA - Fishbone 7C 85 .dw FaceMario ; AB - Rex 5B 83 .dw InitWoodSpike ; AC - Wooden Spike, moving down and up 6B 83 .dw InitWoodSpike2 ; AD - Wooden Spike, moving up/down first C2 85 .dw Return0185C2 ; AE - Fishin' Boo C2 85 .dw Return0185C2 ; AF - Boo Block 4E 83 .dw InitDiagBouncer ; B0 - Reflecting stream of Boo Buddies D6 84 .dw InitCreateEatBlk ; B1 - Creating/Eating block C2 85 .dw Return0185C2 ; B2 - Falling Spike 84 85 .dw InitBowsersFire ; B3 - Bowser statue fireball 7C 85 .dw FaceMario ; B4 - Grinder, non-line-guided C2 85 .dw Return0185C2 ; B5 - Sinking fireball used in boss battles 4E 83 .dw InitDiagBouncer ; B6 - Reflecting fireball C2 85 .dw Return0185C2 ; B7 - Carrot Top lift, upper right C2 85 .dw Return0185C2 ; B8 - Carrot Top lift, upper left C2 85 .dw Return0185C2 ; B9 - Info Box 26 83 .dw InitTimedPlat ; BA - Timed lift C2 85 .dw Return0185C2 ; BB - Grey moving castle block 14 83 .dw InitBowserStatue ; BC - Bowser statue 7D 83 .dw InitSlidingKoopa ; BD - Sliding Koopa without a shell C2 85 .dw Return0185C2 ; BE - Swooper bat 7C 85 .dw FaceMario ; BF - Mega Mole 0F 83 .dw InitGreyLavaPlat ; C0 - Grey platform on lava CE 84 .dw InitMontyMole ; C1 - Flying grey turnblocks 7C 85 .dw FaceMario ; C2 - Blurp fish 7C 85 .dw FaceMario ; C3 - Porcu-Puffer fish C2 85 .dw Return0185C2 ; C4 - Grey platform that falls 7C 85 .dw FaceMario ; C5 - Big Boo Boss 13 83 .dw Return018313 ; C6 - Dark room with spot light C2 85 .dw Return0185C2 ; C7 - Invisible mushroom C2 85 .dw Return0185C2 ; C8 - Light switch block for dark room InitGreyLavaPlat: F6 D8 INC RAM_SpriteYLo,X ;\ Now all the INIT routines! Great...? CODE_018311: F6 D8 INC RAM_SpriteYLo,X ;/ < This will make the sprite float down Return018313: 60 RTS InitBowserStatue: FE 7C 15 INC.W RAM_SpriteDir,X ; The context on these sprites is unreal. CODE_018317: 20 A4 83 JSR.W InitExplodingBlk ; I don't even know what Y is loaded with! :\ CODE_01831A: 94 C2 STY RAM_SpriteState,X CODE_01831C: C0 02 CPY.B #$02 CODE_01831E: D0 05 BNE Return018325 CODE_018320: A9 01 LDA.B #$01 CODE_018322: 9D F6 15 STA.W RAM_SpritePal,X Return018325: 60 RTS ; Return InitTimedPlat: A0 3F LDY.B #$3F CODE_018328: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_01832A: 29 10 AND.B #$10 ;| Looks like a way to time what frame the CODE_01832C: D0 02 BNE CODE_018330 ;| platform is using. FF usually, 3F sometimes, and so on. ;|Basically, every 9 frames, CODE_01832E: A0 FF LDY.B #$FF ;|do 3F, but otherwise do FF. CODE_018330: 98 TYA ;| CODE_018331: 9D 70 15 STA.W $1570,X ;/ Return018334: 60 RTS ; Return YoshiPal: .db $09,$07,$05,$07 InitYoshiEgg: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_01833B: 4A LSR ;| Color of the yoshi egg depends on the CODE_01833C: 4A LSR ;| X position of it CODE_01833D: 4A LSR ;| CODE_01833E: 4A LSR ;| CODE_01833F: 29 03 AND.B #$03 ;| CODE_018341: A8 TAY ;| CODE_018342: B9 35 83 LDA.W YoshiPal,Y ;| CODE_018345: 9D F6 15 STA.W RAM_SpritePal,X ;/ CODE_018348: FE 7B 18 INC.W $187B,X ;Also, the egg can't be stomped Return01834B: 60 RTS ; Return DiagBoospeeds: .db $10,$F0 InitDiagBouncer: 20 7C 85 JSR.W FaceMario ; Check to see which direction mario is, Y = which CODE_018351: B9 4C 83 LDA.W DATA_01834C,Y ;\ CODE_018354: 95 B6 STA RAM_SpriteSpeedX,X ;/ Set the X speed accordingly CODE_018356: A9 F0 LDA.B #$F0 ;\ CODE_018358: 95 AA STA RAM_SpriteSpeedY,X ;/ Return01835A: 60 RTS ; Return InitWoodSpike: B5 D8 LDA RAM_SpriteYLo,X ;\ CODE_01835D: 38 SEC ;| Take the wood spike's original position and CODE_01835E: E9 40 SBC.B #$40 ;| drop it down a bit CODE_018360: 95 D8 STA RAM_SpriteYLo,X ;/ CODE_018362: BD D4 14 LDA.W RAM_SpriteYHi,X ;\ CODE_018365: E9 00 SBC.B #$00 ;| If that means changing the XhiPos, then CODE_018367: 9D D4 14 STA.W RAM_SpriteYHi,X ;/ be it Return01836A: 60 RTS ; Return InitWoodSpike2: 4C CE 84 JMP.W InitMontyMole ; jump to the monty mole init. Who knew they had the same init routine? InitBowserScene: 22 F1 A0 03 JSL.L CODE_03A0F1 Return018372: 60 RTS ; Return InitSumoBrother: A9 03 LDA.B #$03 ;\ CODE_018375: 95 C2 STA RAM_SpriteState,X ;/ CODE_018377: A9 70 LDA.B #$70 ;\ CODE_018379: 9D 40 15 STA.W $1540,X ;/ Return01837C: 60 RTS ; Return InitSlidingKoopa: A9 04 LDA.B #$04 ;\ CODE_01837F: 80 F8 BRA CODE_018379 ;/ InitGrowingPipe: A9 40 LDA.B #$40 ;\ CODE_018383: 9D 34 15 STA.W $1534,X ;/ Return018386: 60 RTS ; Return InitBanzai: 20 30 AD JSR.W SubHorizPos ;\ If mario is to the right of CODE_01838A: 98 TYA ;| the banzai bill.... CODE_01838B: D0 03 BNE CODE_018390 ;| ADDR_01838D: 4C 80 AC JMP.W OffScrEraseSprite ;/ erase it CODE_018390: A9 09 LDA.B #$09 ;\ make "bullet bill shot" sound CODE_018392: 8D FC 1D STA.W $1DFC ; / Play sound effect Return018395: 60 RTS ; Return InitBallNChain: A9 38 LDA.B #$38 ;\ set the sprite stop immunity CODE_018398: 80 02 BRA CODE_01839C ;| InitGreyChainPlat: A9 30 LDA.B #$30 ;\ CODE_01839C: 9D 7B 18 STA.W $187B,X ;/ Return01839F: 60 RTS ; Return ExplodingBlkSpr: .db $15,$0F,$00,$04 InitExplodingBlk: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_0183A6: 4A LSR ;| CODE_0183A7: 4A LSR ;|sprite in exploding block CODE_0183A8: 4A LSR ;|depends on Xpos CODE_0183A9: 4A LSR ;| CODE_0183AA: 29 03 AND.B #$03 ;| CODE_0183AC: A8 TAY ;| CODE_0183AD: B9 A0 83 LDA.W ExplodingBlkSpr,Y ;/ CODE_0183B0: 95 C2 STA RAM_SpriteState,X Return0183B2: 60 RTS ; Return DATA_0183B3: .db $80,$40 InitScalePlats: B5 D8 LDA RAM_SpriteYLo,X ;\ CODE_0183B7: 9D 34 15 STA.W $1534,X ;/ save init Ypos for later? CODE_0183BA: BD D4 14 LDA.W RAM_SpriteYHi,X ;\ CODE_0183BD: 9D 1C 15 STA.W $151C,X ;/ save init yhipos for later? CODE_0183C0: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_0183C2: 29 10 AND.B #$10 ;| CODE_0183C4: 4A LSR ;| CODE_0183C5: 4A LSR ;| CODE_0183C6: 4A LSR ;|Find out where the other CODE_0183C7: 4A LSR ;|mushroom platform is going to be, CODE_0183C8: A8 TAY ;|based on Xpos CODE_0183C9: B5 E4 LDA RAM_SpriteXLo,X ;| CODE_0183CB: 18 CLC ;| CODE_0183CC: 79 B3 83 ADC.W DATA_0183B3,Y ;|And store in a extra info table CODE_0183CF: 95 C2 STA RAM_SpriteState,X ;/ (C2 is not the sprite state.) CODE_0183D1: BD E0 14 LDA.W RAM_SpriteXHi,X ;\ CODE_0183D4: 69 00 ADC.B #$00 ;|And set the sprite image according to the CODE_0183D6: 9D 02 16 STA.W $1602,X ;/hi xpos byte Return0183D9: 60 RTS ; Return InitMsg+SideExit: A9 28 LDA.B #$28 ; \ Set current sprite's "disable contact with other sprites" timer to x28 CODE_0183DC: 9D 64 15 STA.W $1564,X ; / Return0183DF: 60 RTS ; Return InitYoshi: DE 0E 16 DEC.W $160E,X ;\ woo yoshi init routine <- decrement "Yoshi Eating stuff" like table ADDR_0183E3: FE 7C 15 INC.W RAM_SpriteDir,X ; add 1 to the sprite direction, not much to say ADDR_0183E6: AD C1 0D LDA.W RAM_OWHasYoshi ;\ ADDR_0183E9: F0 03 BEQ Return0183EE ;|If the OW registered yoshi, ADDR_0183EB: 9E C8 14 STZ.W $14C8,X ;|delete yoshi (more info needed!) Return0183EE: 60 RTS ;/ DATA_0183EF: .db $08 ; uh, okay.... one byte, great. DATA_0183F0: .db $00,$08 InitSpikeTop: 20 30 AD JSR.W SubHorizPos ;\ CODE_0183F5: 98 TYA ;| CODE_0183F6: 49 01 EOR.B #$01 ;|Take the opposite of whichever way mario CODE_0183F8: 0A ASL ;|is and do set the speeds for going up/down walls CODE_0183F9: 0A ASL ;|using that data (Urchin init routine used) CODE_0183FA: 0A ASL ;| CODE_0183FB: 0A ASL ;| CODE_0183FC: 20 1D 84 JSR.W CODE_01841D ;/ CODE_0183FF: 9E 4A 16 STZ.W $164A,X ; don't make any little sprites follow it CODE_018402: 80 0A BRA CODE_01840E InitUrchinWallFllw: F6 D8 INC RAM_SpriteYLo,X ;\ add one it the Y pos, moving it down a bit CODE_018406: D0 03 BNE InitFuzzBall+Spark;| handle if it is on a Ypos boundary ADDR_018408: FE D4 14 INC.W RAM_SpriteYHi,X ;/ InitFuzzBall+Spark: 20 1B 84 JSR.W InitUrchin ; Run the regular urchin init CODE_01840E: BD 1C 15 LDA.W $151C,X ;\ CODE_018411: 49 10 EOR.B #$10 ;| invert the Y direction, or something like that CODE_018413: 9D 1C 15 STA.W $151C,X ;/ CODE_018416: 4A LSR ;\ CODE_018417: 4A LSR ;|scale it down and then store it to a misc. sprite table CODE_018418: 95 C2 STA RAM_SpriteState,X ;/ Return01841A: 60 RTS ; Return InitUrchin: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_01841D: A0 00 LDY.B #$00 ;|the spiketop enters here, since it also follows walls CODE_01841F: 29 10 AND.B #$10 ;| CODE_018421: 9D 1C 15 STA.W $151C,X ;/ what happens with the Ydir depending on the Xpos CODE_018424: D0 01 BNE CODE_018427 ;\ set the sprite xspeed to either 08 or 00, it seems CODE_018426: C8 INY ;| CODE_018427: B9 EF 83 LDA.W DATA_0183EF,Y ;| CODE_01842A: 95 B6 STA RAM_SpriteSpeedX,X;/ CODE_01842C: B9 F0 83 LDA.W DATA_0183F0,Y ;\ again, set the yspeed to either 00 or 08. CODE_01842F: 95 AA STA RAM_SpriteSpeedY,X;/ InitRipVanFish: FE 4A 16 INC.W $164A,X ; increment the sprite follower (bubbles?) Return018434: 60 RTS ; Return InitKey+BabyYoshi: A9 09 LDA.B #$09 ; \ Sprite status = Carryable CODE_018437: 9D C8 14 STA.W $14C8,X ; / Return01843A: 60 RTS ; Return InitChangingItem: F6 C2 INC RAM_SpriteState,X ; set a misc. sprite data table up one (for random?) Return01843D: 60 RTS InitPeaBouncer: B5 E4 LDA RAM_SpriteXLo,X ;\this is a springboard, peabouncer i don't even CODE_018440: 38 SEC ;| CODE_018441: E9 08 SBC.B #$08 ;| set the Xpos down 8 than where it was placed CODE_018443: 95 E4 STA RAM_SpriteXLo,X ;/ (probably to offset for when it bends) CODE_018445: BD E0 14 LDA.W RAM_SpriteXHi,X ;\ CODE_018448: E9 00 SBC.B #$00 ;| change the Yhipos if that's the case CODE_01844A: 9D E0 14 STA.W RAM_SpriteXHi,X ;/ Return01844D: 60 RTS ; Return InitPSwitch: B5 E4 LDA RAM_SpriteXLo,X ; \ $151C,x = Blue/Silver, CODE_018450: 4A LSR ; | depending on initial X position CODE_018451: 4A LSR ; | CODE_018452: 4A LSR ; | CODE_018453: 4A LSR ; | CODE_018454: 29 01 AND.B #$01 ; | CODE_018456: 9D 1C 15 STA.W $151C,X ; / CODE_018459: A8 TAY ; \ Store appropriate palette to RAM CODE_01845A: B9 66 84 LDA.W PSwitchPal,Y ; | CODE_01845D: 9D F6 15 STA.W RAM_SpritePal,X ; / CODE_018460: A9 09 LDA.B #$09 ; \ Sprite status = Carryable CODE_018462: 9D C8 14 STA.W $14C8,X ; / Return018465: 60 RTS ; Return PSwitchPal: .db $06,$02 ADDR_018468: 4C 80 AC JMP.W OffScrEraseSprite InitLakitu: A0 09 LDY.B #$09 ;\ CODE_01846D: CC E9 15 CPY.W $15E9 ;| If it's far back for being processed... CODE_018470: F0 12 BEQ CODE_018484 ;/ restart the loop CODE_018472: B9 C8 14 LDA.W $14C8,Y ;\ CODE_018475: C9 08 CMP.B #$08 ;| if it's runnning normally CODE_018477: D0 0B BNE CODE_018484 ;/ restart the loop CODE_018479: B9 9E 00 LDA.W RAM_SpriteNum,Y ;\ CODE_01847C: C9 87 CMP.B #$87 ;| if lakitu's cloud is around already CODE_01847E: F0 E8 BEQ ADDR_018468 ;/ erase the sprite CODE_018480: C9 1E CMP.B #$1E ;/ erase it if there is another lakitu, too CODE_018482: F0 E4 BEQ ADDR_018468 CODE_018484: 88 DEY ;\restart the loop! CODE_018485: 10 E6 BPL CODE_01846D ;/if it's not done, restart CODE_018487: 9C C0 18 STZ.W RAM_TimeTillRespawn ;\ CODE_01848A: 9C BF 18 STZ.W $18BF ;| CODE_01848D: 9C B9 18 STZ.W RAM_GeneratorNum ;/ And don't let it come back! CODE_018490: B5 D8 LDA RAM_SpriteYLo,X ;\ CODE_018492: 8D C3 18 STA.W $18C3 ;| working with the sprite's xpos and mario(?) CODE_018495: BD D4 14 LDA.W RAM_SpriteYHi,X ;| CODE_018498: 8D C4 18 STA.W $18C4 ;/ CODE_01849B: 22 E4 A9 02 JSL.L FindFreeSprSlot ;\ CODE_01849F: 30 2D BMI InitMontyMole ;/ if you can't find a free slot, then go monty mole CODE_0184A1: 8C E1 18 STY.W $18E1 ; CODE_0184A4: A9 87 LDA.B #$87 ; \ Sprite = Lakitu Cloud CODE_0184A6: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_0184A9: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_0184AB: 99 C8 14 STA.W $14C8,Y ; / CODE_0184AE: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_0184B0: 99 E4 00 STA.W RAM_SpriteXLo,Y ;| CODE_0184B3: BD E0 14 LDA.W RAM_SpriteXHi,X ;| CODE_0184B6: 99 E0 14 STA.W RAM_SpriteXHi,Y ;| CODE_0184B9: B5 D8 LDA RAM_SpriteYLo,X ;|make the cloud in the same place as lakitu CODE_0184BB: 99 D8 00 STA.W RAM_SpriteYLo,Y ;| CODE_0184BE: BD D4 14 LDA.W RAM_SpriteYHi,X ;| CODE_0184C1: 99 D4 14 STA.W RAM_SpriteYHi,Y ;/ CODE_0184C4: DA PHX ;\ preserve X CODE_0184C5: BB TYX ;| CODE_0184C6: 22 D2 F7 07 JSL.L InitSpriteTables ;| run the init routines for the cloud CODE_0184CA: FA PLX ;/ CODE_0184CB: 9C E0 18 STZ.W $18E0 ; InitMontyMole: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_0184D0: 29 10 AND.B #$10 ;|it's Ydir depends on what it's xpos is CODE_0184D2: 9D 1C 15 STA.W $151C,X ;/ Return0184D5: 60 RTS ; Return InitCreateEatBlk: A9 FF LDA.B #$FF ;\ CODE_0184D8: 8D 09 19 STA.W $1909 ;|run the monty mole routines CODE_0184DB: 80 F1 BRA InitMontyMole ;/ InitBulletBill: 20 30 AD JSR.W SubHorizPos ;\ CODE_0184E0: 98 TYA ;|take which direction mario is for future use CODE_0184E1: 95 C2 STA RAM_SpriteState,X ;/ CODE_0184E3: A9 10 LDA.B #$10 ;\ CODE_0184E5: 9D 40 15 STA.W $1540,X ;/ set something to do with it's frames Return0184E8: 60 RTS ; Return InitClappinChuck: A9 08 LDA.B #$08 ;\do the standard chuck thing, with CODE_0184EB: 80 2D BRA CODE_01851A ;/ it's own special code InitPitchinChuck: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_0184EF: 29 30 AND.B #$30 ;| CODE_0184F1: 4A LSR ;| CODE_0184F2: 4A LSR ;| CODE_0184F3: 4A LSR ;|Make it's Xpos do something CODE_0184F4: 4A LSR ;| CODE_0184F5: 9D 7B 18 STA.W $187B,X ;/ CODE_0184F8: A9 0A LDA.B #$0A ;\ run the standard chuck thing, with CODE_0184FA: 80 1E BRA CODE_01851A ;/ it's own special code InitPuntinChuck: A9 09 LDA.B #$09 ;\ run the standard chuck thing, with CODE_0184FE: 80 1A BRA CODE_01851A ;/ it's own special code InitWhistlinChuck: A9 0B LDA.B #$0B ;\ run the standard chuck thing, with CODE_018502: 80 16 BRA CODE_01851A ;/ it's own special code InitChuck: A9 05 LDA.B #$05 ;\ run the standard chuck thing with CODE_018506: 80 12 BRA CODE_01851A ;/ it's own special code InitDigginChuck: A9 30 LDA.B #$30 ;\ CODE_01850A: 9D 40 15 STA.W $1540,X ;/ set the chuck-related thing to 30 CODE_01850D: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_01850F: 29 10 AND.B #$10 ;| CODE_018511: 4A LSR ;|It's Xpos will determine the direction CODE_018512: 4A LSR ;| (in chucks, the direction address may mean CODE_018513: 4A LSR ;| something else, however.) CODE_018514: 4A LSR ;| CODE_018515: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ CODE_018518: A9 04 LDA.B #$04 ;\ CODE_01851A: 95 C2 STA RAM_SpriteState,X ;/ run the standard code with it's own speical code CODE_01851C: 20 7C 85 JSR.W FaceMario ; face mario CODE_01851F: B9 26 85 LDA.W DATA_018526,Y ;\ CODE_018522: 9D 1C 15 STA.W $151C,X ;/ Ydir is either 00 or 04... Return018525: 60 RTS ; Return DATA_018526: .db $00,$04 InitSuperKoopa: A9 28 LDA.B #$28 ;\ CODE_01852A: 95 AA STA RAM_SpriteSpeedY,X ;| face mario, and set the Yspeed to going down CODE_01852C: 80 4E BRA FaceMario ;/ InitSuperKoopaFthr: 20 7C 85 JSR.W FaceMario ; face mario CODE_018531: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_018533: 29 10 AND.B #$10 ;|xpos does something with a sprite table CODE_018535: F0 10 BEQ CODE_018547 ;/ CODE_018537: A9 10 LDA.B #$10 ; \ Can be jumped on CODE_018539: 9D 56 16 STA.W RAM_Tweaker1656,X ; / CODE_01853C: A9 80 LDA.B #$80 ;\ CODE_01853E: 9D 62 16 STA.W RAM_Tweaker1662,X ;|various tweaker bytes. CODE_018541: A9 10 LDA.B #$10 ;| CODE_018543: 9D 86 16 STA.W RAM_Tweaker1686,X ;/ Return018546: 60 RTS ; Return CODE_018547: FE 34 15 INC.W $1534,X ; unkown sprite table Return01854A: 60 RTS ; Return InitPokey: A9 1F LDA.B #$1F ; \ If on Yoshi, $C2,x = #$1F CODE_01854D: AC 7A 18 LDY.W RAM_OnYoshi ; | (5 segments, 1 bit each) CODE_018550: D0 02 BNE CODE_018554 ; | CODE_018552: A9 07 LDA.B #$07 ; | If not on Yoshi, $C2,x = #$07 CODE_018554: 95 C2 STA RAM_SpriteState,X ; / (3 segments, 1 bit each) CODE_018556: 80 24 BRA FaceMario InitDinos: A9 04 LDA.B #$04 ;\ CODE_01855A: 9D 1C 15 STA.W $151C,X ;| InitBomb: A9 FF LDA.B #$FF ;|setting various sprite values, and facing CODE_01855F: 9D 40 15 STA.W $1540,X ;|mario CODE_018562: 80 18 BRA FaceMario ;/ InitBubbleSpr: 20 A4 83 JSR.W InitExplodingBlk ; work a abit like the exploding block CODE_018567: 94 C2 STY RAM_SpriteState,X ; ^ just finishing up with that ^ CODE_018569: DE 34 15 DEC.W $1534,X ; some sprite table... CODE_01856C: 80 0E BRA FaceMario ; face mario InitGrnBounceKoopa: B5 D8 LDA RAM_SpriteYLo,X ;\ CODE_018570: 29 10 AND.B #$10 ;|ypos dertermines how high CODE_018572: 9D 0E 16 STA.W $160E,X ;/ InitStandardSprite: 22 F9 AC 01 JSL.L GetRand ;get a random number CODE_018579: 9D 70 15 STA.W $1570,X ; make that it's frame FaceMario: 20 30 AD JSR.W SubHorizPos ;\ CODE_01857F: 98 TYA ;| face mario CODE_018580: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ Return018583: 60 RTS InitBowsersFire: A9 17 LDA.B #$17 ;\ flame sound CODE_018586: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_018589: 80 F1 BRA FaceMario ; face mario InitPowerUp: F6 C2 INC RAM_SpriteState,X ; context in sprite Return01858D: 60 RTS ; Return InitFishbone: 22 F9 AC 01 JSL.L GetRand ;\get a random number... CODE_018592: 29 1F AND.B #$1F ;| CODE_018594: 9D 40 15 STA.W $1540,X ;/ calculate frames using it CODE_018597: 4C 7C 85 JMP.W FaceMario ; and, as always, face mario. InitDownPiranha: 1E F6 15 ASL.W RAM_SpritePal,X ;\ CODE_01859D: 38 SEC ;| CODE_01859E: 7E F6 15 ROR.W RAM_SpritePal,X ;| CODE_0185A1: B5 D8 LDA RAM_SpriteYLo,X ;| CODE_0185A3: 38 SEC ;|this sets up the sprite inside the pipe CODE_0185A4: E9 10 SBC.B #$10 ;| CODE_0185A6: 95 D8 STA RAM_SpriteYLo,X ;| CODE_0185A8: BD D4 14 LDA.W RAM_SpriteYHi,X ;| CODE_0185AB: E9 00 SBC.B #$00 ;| CODE_0185AD: 9D D4 14 STA.W RAM_SpriteYHi,X :| InitPiranha: B5 E4 LDA RAM_SpriteXLo,X ; \ Center sprite between two tiles CODE_0185B2: 18 CLC ; | CODE_0185B3: 69 08 ADC.B #$08 ; | CODE_0185B5: 95 E4 STA RAM_SpriteXLo,X ; / CODE_0185B7: D6 D8 DEC RAM_SpriteYLo,X ;| CODE_0185B9: B5 D8 LDA RAM_SpriteYLo,X ;\ CODE_0185BB: C9 FF CMP.B #$FF ;| if that means fixing the Yhipos, so be it CODE_0185BD: D0 03 BNE Return0185C2 ;| CODE_0185BF: DE D4 14 DEC.W RAM_SpriteYHi,X ;/ Return0185C2: 60 RTS ;/ CallSpriteMain: 9C 91 14 STZ.W $1491 ;\ CallSpriteMain CODE_0185C6: B5 9E LDA RAM_SpriteNum,X ;| index to what sprite CODE_0185C8: 22 DF 86 00 JSL.L ExecutePtr ;/ this calls the sprite, not much to say SpriteMainPtr: 04 89 .dw ShellessKoopas ; 00 - Green Koopa, no shell 04 89 .dw ShellessKoopas ; 01 - Red Koopa, no shell 04 89 .dw ShellessKoopas ; 02 - Blue Koopa, no shell 04 89 .dw ShellessKoopas ; 03 - Yellow Koopa, no shell FC 8A .dw Spr0to13Start ; 04 - Green Koopa FC 8A .dw Spr0to13Start ; 05 - Red Koopa FC 8A .dw Spr0to13Start ; 06 - Blue Koopa FC 8A .dw Spr0to13Start ; 07 - Yellow Koopa 4D 8C .dw GreenParaKoopa ; 08 - Green Koopa, flying left 4D 8C .dw GreenParaKoopa ; 09 - Green bouncing Koopa C3 8C .dw RedVertParaKoopa ; 0A - Red vertical flying Koopa BE 8C .dw RedHorzParaKoopa ; 0B - Red horizontal flying Koopa FC 8A .dw Spr0to13Start ; 0C - Yellow Koopa with wings E5 8A .dw Bobomb ; 0D - Bob-omb C8 E1 .dw Keyhole ; 0E - Keyhole FC 8A .dw Spr0to13Start ; 0F - Goomba 2E 8D .dw WingedGoomba ; 10 - Bouncing Goomba with wings FC 8A .dw Spr0to13Start ; 11 - Buzzy Beetle 7B F8 .dw Return01F87B ; 12 - Unused FC 8A .dw Spr0to13Start ; 13 - Spiny 18 8C .dw SpinyEgg ; 14 - Spiny falling 33 B0 .dw Fish ; 15 - Fish, horizontal 33 B0 .dw Fish ; 16 - Fish, vertical 92 B1 .dw GeneratedFish ; 17 - Fish, created from generator B4 B1 .dw JumpingFish ; 18 - Surface jumping fish 5B E7 .dw PSwitch ; 19 - Display text from level Message Box #1 76 8E .dw ClassicPiranhas ; 1A - Classic Piranha Plant 8E 87 .dw Bank3SprHandler ; 1B - Bouncing football in place E7 8F .dw BulletBill ; 1C - Bullet Bill 0D 8F .dw HoppingFlame ; 1D - Hopping flame 97 8F .dw Lakitu ; 1E - Lakitu D6 BD .dw Magikoopa ; 1F - Magikoopa 38 BC .dw MagikoopasMagic ; 20 - Magikoopa's magic 53 C3 .dw PowerUpRt ; 21 - Moving coin 7F B9 .dw ClimbingKoopa ; 22 - Green vertical net Koopa 7F B9 .dw ClimbingKoopa ; 23 - Red vertical net Koopa 7F B9 .dw ClimbingKoopa ; 24 - Green horizontal net Koopa 7F B9 .dw ClimbingKoopa ; 25 - Red horizontal net Koopa A3 AE .dw Thwomp ; 26 - Thwomp 9F AF .dw Thwimp ; 27 - Thwimp D5 F8 .dw BigBoo ; 28 - Big Boo C1 FA .dw KoopaKid ; 29 - Koopa Kid 76 8E .dw ClassicPiranhas ; 2A - Upside down Piranha Plant B6 87 .dw SumosLightning ; 2B - Sumo Brother's fire lightning 64 F7 .dw YoshiEgg ; 2C - Yoshi egg C2 85 .dw Return0185C2 ; 2D - Baby green Yoshi 5E 88 .dw WallFollowers ; 2E - Spike Top 23 E6 .dw SpringBoard ; 2F - Portable spring board 2B E4 .dw DryBonesAndBeetle ; 30 - Dry Bones, throws bones 2B E4 .dw DryBonesAndBeetle ; 31 - Bony Beetle 2B E4 .dw DryBonesAndBeetle ; 32 - Dry Bones, stay on ledge 93 E0 .dw Fireballs ; 33 - Fireball 4E D4 .dw BossFireball ; 34 - Boss fireball CA EB .dw Yoshi ; 35 - Green Yoshi 1F E4 .dw DATA_01E41F ; 36 - Unused DC F8 .dw Boo+BooBlock ; 37 - Boo 90 F8 .dw Eerie ; 38 - Eerie 90 F8 .dw Eerie ; 39 - Eerie, wave motion 5E 88 .dw WallFollowers ; 3A - Urchin, fixed 5E 88 .dw WallFollowers ; 3B - Urchin, wall detect 5E 88 .dw WallFollowers ; 3C - Urchin, wall follow 53 88 .dw RipVanFish ; 3D - Rip Van Fish 5B E7 .dw PSwitch ; 3E - POW FB D4 .dw ParachuteSprites ; 3F - Para-Goomba FB D4 .dw ParachuteSprites ; 40 - Para-Bomb 85 88 .dw Dolphin ; 41 - Dolphin, horizontal 85 88 .dw Dolphin ; 42 - Dolphin2, horizontal 85 88 .dw Dolphin ; 43 - Dolphin, vertical 38 88 .dw TorpedoTed ; 44 - Torpedo Ted CA 87 .dw DirectionalCoins ; 45 - Directional coins 06 88 .dw DigginChuck ; 46 - Diggin' Chuck 0B 88 .dw SwimJumpFish ; 47 - Swimming/Jumping fish 10 88 .dw DigginChucksRock ; 48 - Diggin' Chuck's rock 15 88 .dw GrowingPipe ; 49 - Growing/shrinking pipe end 63 87 .dw GoalSphere ; 4A - Goal Point Question Sphere 01 88 .dw PipeLakitu ; 4B - Pipe dwelling Lakitu CF 87 .dw ExplodingBlock ; 4C - Exploding Block CF E2 .dw MontyMole ; 4D - Ground dwelling Monty Mole CF E2 .dw MontyMole ; 4E - Ledge dwelling Monty Mole BB 87 .dw JumpingPiranha ; 4F - Jumping Piranha Plant BB 87 .dw JumpingPiranha ; 50 - Jumping Piranha Plant, spit fire 8E 87 .dw Bank3SprHandler ; 51 - Ninji 93 88 .dw MovingLedge ; 52 - Moving ledge hole in ghost house C2 85 .dw Return0185C2 ; 53 - Throw block sprite CD BA .dw ClimbingDoor ; 54 - Climbing net door 6C B2 .dw Platforms ; 55 - Checkerboard platform, horizontal 6C B2 .dw Platforms ; 56 - Flying rock platform, horizontal 6C B2 .dw Platforms ; 57 - Checkerboard platform, vertical 6C B2 .dw Platforms ; 58 - Flying rock platform, vertical A5 B6 .dw TurnBlockBridge ; 59 - Turn block bridge, horizontal and vertical DA B6 .dw HorzTurnBlkBridge ; 5A - Turn block bridge, horizontal 63 B5 .dw Platforms2 ; 5B - Brown platform floating in water 63 B5 .dw Platforms2 ; 5C - Checkerboard platform that falls 63 B5 .dw Platforms2 ; 5D - Orange platform floating in water 36 B5 .dw OrangePlatform ; 5E - Orange platform, goes on forever 73 C7 .dw BrownChainedPlat ; 5F - Brown platform on a chain 91 AE .dw PalaceSwitch ; 60 - Flat green switch palace switch DE 87 .dw FloatingSkulls ; 61 - Floating skulls 4A D7 .dw LineFuzzy+Plats ; 62 - Brown platform, line-guided 4A D7 .dw LineFuzzy+Plats ; 63 - Checker/brown platform, line-guided 19 D7 .dw LineRope+Chainsaw ; 64 - Rope mechanism, line-guided 19 D7 .dw LineRope+Chainsaw ; 65 - Chainsaw, line-guided 19 D7 .dw LineRope+Chainsaw ; 66 - Upside down chainsaw, line-guided 3A D7 .dw LineGrinder ; 67 - Grinder, line-guided 4A D7 .dw LineFuzzy+Plats ; 68 - Fuzz ball, line-guided C3 D6 .dw Return01D6C3 ; 69 - Unused 33 88 .dw CoinCloud ; 6A - Coin game cloud 48 88 .dw PeaBouncer ; 6B - Spring board, left wall 48 88 .dw PeaBouncer ; 6C - Spring board, right wall 5E 87 .dw InvisSolid+Dinos ; 6D - Invisible solid block 5E 87 .dw InvisSolid+Dinos ; 6E - Dino Rhino 5E 87 .dw InvisSolid+Dinos ; 6F - Dino Torch ED 87 .dw Pokey ; 70 - Pokey F2 87 .dw RedSuperKoopa ; 71 - Super Koopa, red cape F7 87 .dw YellowSuperKoopa ; 72 - Super Koopa, yellow cape FC 87 .dw FeatherSuperKoopa ; 73 - Super Koopa, feather 53 C3 .dw PowerUpRt ; 74 - Mushroom 49 C3 .dw FireFlower ; 75 - Flower 53 C3 .dw PowerUpRt ; 76 - Star ED C6 .dw Feather ; 77 - Feather 53 C3 .dw PowerUpRt ; 78 - 1-Up 83 C1 .dw GrowingVine ; 79 - Growing Vine 8E 87 .dw Bank3SprHandler ; 7A - Firework 98 C0 .dw GoalTape ; 7B - Goal Point 8E 87 .dw Bank3SprHandler ; 7C - Princess Peach F2 C1 .dw BalloonKeyFlyObjs ; 7D - Balloon F2 C1 .dw BalloonKeyFlyObjs ; 7E - Flying Red coin F2 C1 .dw BalloonKeyFlyObjs ; 7F - Flying yellow 1-Up F2 C1 .dw BalloonKeyFlyObjs ; 80 - Key 17 C3 .dw ChangingItem ; 81 - Changing item from translucent block 2A DE .dw BonusGame ; 82 - Bonus game sprite 6E AD .dw Flying?Block ; 83 - Left flying question block 6E AD .dw Flying?Block ; 84 - Flying question block 59 AD .dw InitFlying?Block ; 85 - Unused (Pretty sure) 2E 88 .dw Wiggler ; 86 - Wiggler A4 E7 .dw LakituCloud ; 87 - Lakitu's cloud 7A 88 .dw WingedCage ; 88 - Unused (Winged cage sprite) 3D 88 .dw Layer3Smash ; 89 - Layer 3 smash 1A 88 .dw YoshisHouseBirds ; 8A - Bird from Yoshi's house 1F 88 .dw YoshisHouseSmoke ; 8B - Puff of smoke from Yoshi's house 24 88 .dw SideExit ; 8C - Fireplace smoke/exit from side screen E3 87 .dw GhostHouseExit ; 8D - Ghost house exit sign and door E8 87 .dw WarpBlocks ; 8E - Invisible "Warp Hole" blocks D4 87 .dw ScalePlatforms ; 8F - Scale platforms C0 87 .dw GasBubble ; 90 - Large green gas bubble 6A 88 .dw Chucks ; 91 - Chargin' Chuck 6A 88 .dw Chucks ; 92 - Splittin' Chuck 6A 88 .dw Chucks ; 93 - Bouncin' Chuck 6A 88 .dw Chucks ; 94 - Whistlin' Chuck 6A 88 .dw Chucks ; 95 - Clapin' Chuck 6A 88 .dw Chucks ; 96 - Unused (Chargin' Chuck clone) 6A 88 .dw Chucks ; 97 - Puntin' Chuck 6A 88 .dw Chucks ; 98 - Pitchin' Chuck AC 87 .dw VolcanoLotus ; 99 - Volcano Lotus B1 87 .dw SumoBrother ; 9A - Sumo Brother 9D 87 .dw HammerBrother ; 9B - Hammer Brother A2 87 .dw FlyingPlatform ; 9C - Flying blocks for Hammer Brother 98 87 .dw BubbleWithSprite ; 9D - Bubble with sprite 93 87 .dw BanzaiBnCGrayPlat ; 9E - Ball and Chain 93 87 .dw BanzaiBnCGrayPlat ; 9F - Banzai Bill 8E 87 .dw Bank3SprHandler ; A0 - Activates Bowser scene 8E 87 .dw Bank3SprHandler ; A1 - Bowser's bowling ball 8E 87 .dw Bank3SprHandler ; A2 - MechaKoopa 93 87 .dw BanzaiBnCGrayPlat ; A3 - Grey platform on chain 59 B5 .dw FloatingSpikeBall ; A4 - Floating Spike ball 5E 88 .dw WallFollowers ; A5 - Fuzzball/Sparky, ground-guided 5E 88 .dw WallFollowers ; A6 - HotHead, ground-guided 58 FA .dw Iggy'sBall ; A7 - Iggy's ball 8E 87 .dw Bank3SprHandler ; A8 - Blargg 8E 87 .dw Bank3SprHandler ; A9 - Reznor 8E 87 .dw Bank3SprHandler ; AA - Fishbone 8E 87 .dw Bank3SprHandler ; AB - Rex 8E 87 .dw Bank3SprHandler ; AC - Wooden Spike, moving down and up 8E 87 .dw Bank3SprHandler ; AD - Wooden Spike, moving up/down first 8E 87 .dw Bank3SprHandler ; AE - Fishin' Boo DC F8 .dw Boo+BooBlock ; AF - Boo Block 8E 87 .dw Bank3SprHandler ; B0 - Reflecting stream of Boo Buddies 8E 87 .dw Bank3SprHandler ; B1 - Creating/Eating block 8E 87 .dw Bank3SprHandler ; B2 - Falling Spike 8E 87 .dw Bank3SprHandler ; B3 - Bowser statue fireball 5C DB .dw Grinder ; B4 - Grinder, non-line-guided 93 E0 .dw Fireballs ; B5 - Sinking fireball used in boss battles 8E 87 .dw Bank3SprHandler ; B6 - Reflecting fireball 8E 87 .dw Bank3SprHandler ; B7 - Carrot Top lift, upper right 8E 87 .dw Bank3SprHandler ; B8 - Carrot Top lift, upper left 8E 87 .dw Bank3SprHandler ; B9 - Info Box 8E 87 .dw Bank3SprHandler ; BA - Timed lift 8E 87 .dw Bank3SprHandler ; BB - Grey moving castle block 8E 87 .dw Bank3SprHandler ; BC - Bowser statue 8E 87 .dw Bank3SprHandler ; BD - Sliding Koopa without a shell 8E 87 .dw Bank3SprHandler ; BE - Swooper bat 8E 87 .dw Bank3SprHandler ; BF - Mega Mole 8E 87 .dw Bank3SprHandler ; C0 - Grey platform on lava 8E 87 .dw Bank3SprHandler ; C1 - Flying grey turnblocks 8E 87 .dw Bank3SprHandler ; C2 - Blurp fish 8E 87 .dw Bank3SprHandler ; C3 - Porcu-Puffer fish 8E 87 .dw Bank3SprHandler ; C4 - Grey platform that falls 8E 87 .dw Bank3SprHandler ; C5 - Big Boo Boss 8E 87 .dw Bank3SprHandler ; C6 - Dark room with spot light 8E 87 .dw Bank3SprHandler ; C7 - Invisible mushroom 8E 87 .dw Bank3SprHandler ; C8 - Light switch block for dark room InitGreyLavaPlat: F6 D8 INC RAM_SpriteYLo,X CODE_018311: F6 D8 INC RAM_SpriteYLo,X Return018313: 60 RTS InitBowserStatue: FE 7C 15 INC.W RAM_SpriteDir,X ; Set the direction to 01, probably CODE_018317: 20 A4 83 JSR.W InitExplodingBlk ;\Wow, shared INIT with the exploding block. CODE_01831A: 94 C2 STY RAM_SpriteState,X ;/ CODE_01831C: C0 02 CPY.B #$02 ;\ CODE_01831E: D0 05 BNE Return018325 ;/ CODE_018320: A9 01 LDA.B #$01 ;\ set the sprite palette CODE_018322: 9D F6 15 STA.W RAM_SpritePal,X ;/ Return018325: 60 RTS ; Return InitTimedPlat: A0 3F LDY.B #$3F ; CODE_018328: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_01832A: 29 10 AND.B #$10 ;| if on every 11 frames, make 1570 = 3F CODE_01832C: D0 02 BNE CODE_018330 ;/ CODE_01832E: A0 FF LDY.B #$FF ;\ CODE_018330: 98 TYA ;| otherwise, make it FF CODE_018331: 9D 70 15 STA.W $1570,X ;/ Return018334: 60 RTS ; Return YoshiPal: .db $09,$07,$05,$07 InitYoshiEgg: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_01833B: 4A LSR ;| CODE_01833C: 4A LSR ;| CODE_01833D: 4A LSR ;| CODE_01833E: 4A LSR ;| CODE_01833F: 29 03 AND.B #$03 ;| CODE_018341: A8 TAY ;| this allows the sprite to determine what color it will be based on the Xpos CODE_018342: B9 35 83 LDA.W YoshiPal,Y ;| CODE_018345: 9D F6 15 STA.W RAM_SpritePal,X ;/ CODE_018348: FE 7B 18 INC.W $187B,X ; Don't allow sprite to be stomped Return01834B: 60 RTS ; Return DiagBounceInitSpeed: .db $10,$F0 InitDiagBouncer: 20 7C 85 JSR.W FaceMario ; face mario CODE_018351: B9 4C 83 LDA.W DiagBounceInitSpeed,Y;\ set speed according to direction CODE_018354: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_018356: A9 F0 LDA.B #$F0 ;\ set to slowly go up CODE_018358: 95 AA STA RAM_SpriteSpeedY,X ;/ Return01835A: 60 RTS ; Return InitWoodSpike: B5 D8 LDA RAM_SpriteYLo,X ;\ CODE_01835D: 38 SEC ;| put it below where it was placed according to the ROM CODE_01835E: E9 40 SBC.B #$40 ;| CODE_018360: 95 D8 STA RAM_SpriteYLo,X ;/ CODE_018362: BD D4 14 LDA.W RAM_SpriteYHi,X ;\ CODE_018365: E9 00 SBC.B #$00 ;| handle high Y byte CODE_018367: 9D D4 14 STA.W RAM_SpriteYHi,X ;/ Return01836A: 60 RTS ; Return InitWoodSpike2: 4C CE 84 JMP.W InitMontyMole ; monty mole init InitBowserScene: 22 F1 A0 03 JSL.L CODE_03A0F1 Return018372: 60 RTS ; Return InitSumoBrother: A9 03 LDA.B #$03 ;\ CODE_018375: 95 C2 STA RAM_SpriteState,X ;/ CODE_018377: A9 70 LDA.B #$70 ;\ CODE_018379: 9D 40 15 STA.W $1540,X ;/ Return01837C: 60 RTS ; Return InitSlidingKoopa: A9 04 LDA.B #$04 ;\ 04 to 1570 CODE_01837F: 80 F8 BRA CODE_018379 ;/ InitGrowingPipe: A9 40 LDA.B #$40 ;\ CODE_018383: 9D 34 15 STA.W $1534,X ;/ Return018386: 60 RTS ; Return InitBanzai: 20 30 AD JSR.W SubHorizPos ;\ CODE_01838A: 98 TYA ;| CODE_01838B: D0 03 BNE CODE_018390 ;| if mario is coming from the right, to the left, erase the bullet bill ADDR_01838D: 4C 80 AC JMP.W OffScrEraseSprite ;| CODE_018390: A9 09 LDA.B #$09 ;| CODE_018392: 8D FC 1D STA.W $1DFC ; / Play sound effect Return018395: 60 RTS ; Return InitBallNChain: A9 38 LDA.B #$38 CODE_018398: 80 02 BRA CODE_01839C InitGreyChainPlat: A9 30 LDA.B #$30 CODE_01839C: 9D 7B 18 STA.W $187B,X Return01839F: 60 RTS ; Return ExplodingBlkSpr: .db $15,$0F,$00,$04 InitExplodingBlk: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_0183A6: 4A LSR ;| CODE_0183A7: 4A LSR ;| CODE_0183A8: 4A LSR ;| CODE_0183A9: 4A LSR ;|get type of exploding block based on Xpos CODE_0183AA: 29 03 AND.B #$03 ;| CODE_0183AC: A8 TAY ;| CODE_0183AD: B9 A0 83 LDA.W ExplodingBlkSpr,Y ;| CODE_0183B0: 95 C2 STA RAM_SpriteState,X ;/ Return0183B2: 60 RTS ; Return ScalePlatWidth: .db $80,$40 InitScalePlats: B5 D8 LDA RAM_SpriteYLo,X ;\ CODE_0183B7: 9D 34 15 STA.W $1534,X ;| probably preserved to make platforms return to original place CODE_0183BA: BD D4 14 LDA.W RAM_SpriteYHi,X ;| CODE_0183BD: 9D 1C 15 STA.W $151C,X ;/ CODE_0183C0: B5 E4 LDA RAM_SpriteXLo,X ;\ CODE_0183C2: 29 10 AND.B #$10 ;| CODE_0183C4: 4A LSR ;| CODE_0183C5: 4A LSR ;| CODE_0183C6: 4A LSR ;| CODE_0183C7: 4A LSR ;| CODE_0183C8: A8 TAY ;| handle type of Scale platforms according to CODE_0183C9: B5 E4 LDA RAM_SpriteXLo,X ;| Xpos CODE_0183CB: 18 CLC ;| ScalePlatWidth: the space between the platforms, determined by Xpos CODE_0183CC: 79 B3 83 ADC.W ScalePlatWidth,Y ;| CODE_0183CF: 95 C2 STA RAM_SpriteState,X ;| CODE_0183D1: BD E0 14 LDA.W RAM_SpriteXHi,X ;| CODE_0183D4: 69 00 ADC.B #$00 ;| CODE_0183D6: 9D 02 16 STA.W $1602,X ;/ Return0183D9: 60 RTS ; Return InitMsg+SideExit: A9 28 LDA.B #$28 ; \ Set current sprite's "disable contact with other sprites" timer to x28 CODE_0183DC: 9D 64 15 STA.W $1564,X ; / Return0183DF: 60 RTS ; Return InitYoshi: DE 0E 16 DEC.W $160E,X ; Yoshi table... ADDR_0183E3: FE 7C 15 INC.W RAM_SpriteDir,X ; Sprite Dir is always 01 ADDR_0183E6: AD C1 0D LDA.W RAM_OWHasYoshi ;\ ADDR_0183E9: F0 03 BEQ Return0183EE ;| if mario already has yoshi, don't make yoshi appear ADDR_0183EB: 9E C8 14 STZ.W $14C8,X ;/ Return0183EE: 60 RTS DATA_0183EF: .db $08 DATA_0183F0: .db $00,$08 InitSpikeTop: 20 30 AD JSR.W SubHorizPos ;\ CODE_0183F5: 98 TYA ;| CODE_0183F6: 49 01 EOR.B #$01 ;| CODE_0183F8: 0A ASL ;| Something with Mario positions and such CODE_0183F9: 0A ASL ;| CODE_0183FA: 0A ASL ;| CODE_0183FB: 0A ASL ;| CODE_0183FC: 20 1D 84 JSR.W CODE_01841D ; CODE_0183FF: 9E 4A 16 STZ.W $164A,X CODE_018402: 80 0A BRA CODE_01840E InitUrchinWallFllw: F6 D8 INC RAM_SpriteYLo,X ; sprite Ypos+1 (to make the sprite "hug" the wall?) CODE_018406: D0 03 BNE InitFuzzBall+Spark ;\ ADDR_018408: FE D4 14 INC.W RAM_SpriteYHi,X ;/ handle hi bytes accordingly InitFuzzBall+Spark: 20 1B 84 JSR.W InitUrchin ; Init like urchin CODE_01840E: BD 1C 15 LDA.W $151C,X ;\ CODE_018411: 49 10 EOR.B #$10 ;| CODE_018413: 9D 1C 15 STA.W $151C,X ;| CODE_018416: 4A LSR ;| CODE_018417: 4A LSR ;| CODE_018418: 95 C2 STA RAM_SpriteState,X ;/ Return01841A: 60 RTS ; Return InitUrchin: B5 E4 LDA RAM_SpriteXLo,X CODE_01841D: A0 00 LDY.B #$00 ; CODE_01841F: 29 10 AND.B #$10 ; CODE_018421: 9D 1C 15 STA.W $151C,X ; CODE_018424: D0 01 BNE CODE_018427 CODE_018426: C8 INY CODE_018427: B9 EF 83 LDA.W DATA_0183EF,Y CODE_01842A: 95 B6 STA RAM_SpriteSpeedX,X CODE_01842C: B9 F0 83 LDA.W DATA_0183F0,Y CODE_01842F: 95 AA STA RAM_SpriteSpeedY,X InitRipVanFish: FE 4A 16 INC.W $164A,X Return018434: 60 RTS ; Return InitKey+BabyYoshi: A9 09 LDA.B #$09 ; \ Sprite status = Carryable CODE_018437: 9D C8 14 STA.W $14C8,X ; / Return01843A: 60 RTS ; Return InitChangingItem: F6 C2 INC RAM_SpriteState,X Return01843D: 60 RTS InitPeaBouncer: B5 E4 LDA RAM_SpriteXLo,X CODE_018440: 38 SEC CODE_018441: E9 08 SBC.B #$08 CODE_018443: 95 E4 STA RAM_SpriteXLo,X CODE_018445: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_018448: E9 00 SBC.B #$00 CODE_01844A: 9D E0 14 STA.W RAM_SpriteXHi,X Return01844D: 60 RTS ; Return InitPSwitch: B5 E4 LDA RAM_SpriteXLo,X ; \ $151C,x = Blue/Silver, CODE_018450: 4A LSR ; | depending on initial X position CODE_018451: 4A LSR ; | CODE_018452: 4A LSR ; | CODE_018453: 4A LSR ; | CODE_018454: 29 01 AND.B #$01 ; | CODE_018456: 9D 1C 15 STA.W $151C,X ; / CODE_018459: A8 TAY ; \ Store appropriate palette to RAM CODE_01845A: B9 66 84 LDA.W PSwitchPal,Y ; | CODE_01845D: 9D F6 15 STA.W RAM_SpritePal,X ; / CODE_018460: A9 09 LDA.B #$09 ; \ Sprite status = Carryable CODE_018462: 9D C8 14 STA.W $14C8,X ; / Return018465: 60 RTS ; Return PSwitchPal: .db $06,$02 ADDR_018468: 4C 80 AC JMP.W OffScrEraseSprite InitLakitu: A0 09 LDY.B #$09 CODE_01846D: CC E9 15 CPY.W $15E9 CODE_018470: F0 12 BEQ CODE_018484 CODE_018472: B9 C8 14 LDA.W $14C8,Y CODE_018475: C9 08 CMP.B #$08 CODE_018477: D0 0B BNE CODE_018484 CODE_018479: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01847C: C9 87 CMP.B #$87 CODE_01847E: F0 E8 BEQ ADDR_018468 CODE_018480: C9 1E CMP.B #$1E CODE_018482: F0 E4 BEQ ADDR_018468 CODE_018484: 88 DEY CODE_018485: 10 E6 BPL CODE_01846D CODE_018487: 9C C0 18 STZ.W RAM_TimeTillRespawn CODE_01848A: 9C BF 18 STZ.W $18BF CODE_01848D: 9C B9 18 STZ.W RAM_GeneratorNum CODE_018490: B5 D8 LDA RAM_SpriteYLo,X CODE_018492: 8D C3 18 STA.W $18C3 CODE_018495: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_018498: 8D C4 18 STA.W $18C4 CODE_01849B: 22 E4 A9 02 JSL.L FindFreeSprSlot CODE_01849F: 30 2D BMI InitMontyMole CODE_0184A1: 8C E1 18 STY.W $18E1 CODE_0184A4: A9 87 LDA.B #$87 ; \ Sprite = Lakitu Cloud CODE_0184A6: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_0184A9: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_0184AB: 99 C8 14 STA.W $14C8,Y ; / CODE_0184AE: B5 E4 LDA RAM_SpriteXLo,X CODE_0184B0: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_0184B3: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_0184B6: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_0184B9: B5 D8 LDA RAM_SpriteYLo,X CODE_0184BB: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_0184BE: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_0184C1: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_0184C4: DA PHX CODE_0184C5: BB TYX CODE_0184C6: 22 D2 F7 07 JSL.L InitSpriteTables CODE_0184CA: FA PLX CODE_0184CB: 9C E0 18 STZ.W $18E0 InitMontyMole: B5 E4 LDA RAM_SpriteXLo,X CODE_0184D0: 29 10 AND.B #$10 CODE_0184D2: 9D 1C 15 STA.W $151C,X Return0184D5: 60 RTS ; Return InitCreateEatBlk: A9 FF LDA.B #$FF CODE_0184D8: 8D 09 19 STA.W $1909 CODE_0184DB: 80 F1 BRA InitMontyMole InitBulletBill: 20 30 AD JSR.W SubHorizPos CODE_0184E0: 98 TYA CODE_0184E1: 95 C2 STA RAM_SpriteState,X CODE_0184E3: A9 10 LDA.B #$10 CODE_0184E5: 9D 40 15 STA.W $1540,X Return0184E8: 60 RTS ; Return InitClappinChuck: A9 08 LDA.B #$08 CODE_0184EB: 80 2D BRA CODE_01851A InitPitchinChuck: B5 E4 LDA RAM_SpriteXLo,X CODE_0184EF: 29 30 AND.B #$30 CODE_0184F1: 4A LSR CODE_0184F2: 4A LSR CODE_0184F3: 4A LSR CODE_0184F4: 4A LSR CODE_0184F5: 9D 7B 18 STA.W $187B,X CODE_0184F8: A9 0A LDA.B #$0A CODE_0184FA: 80 1E BRA CODE_01851A InitPuntinChuck: A9 09 LDA.B #$09 CODE_0184FE: 80 1A BRA CODE_01851A InitWhistlinChuck: A9 0B LDA.B #$0B CODE_018502: 80 16 BRA CODE_01851A InitChuck: A9 05 LDA.B #$05 CODE_018506: 80 12 BRA CODE_01851A InitDigginChuck: A9 30 LDA.B #$30 CODE_01850A: 9D 40 15 STA.W $1540,X CODE_01850D: B5 E4 LDA RAM_SpriteXLo,X CODE_01850F: 29 10 AND.B #$10 CODE_018511: 4A LSR CODE_018512: 4A LSR CODE_018513: 4A LSR CODE_018514: 4A LSR CODE_018515: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_018518: A9 04 LDA.B #$04 CODE_01851A: 95 C2 STA RAM_SpriteState,X ;sprite state is used as a "chuck type" for chucks, since they share a ton of code CODE_01851C: 20 7C 85 JSR.W FaceMario CODE_01851F: B9 26 85 LDA.W DATA_018526,Y CODE_018522: 9D 1C 15 STA.W $151C,X Return018525: 60 RTS ; Return DATA_018526: .db $00,$04 InitSuperKoopa: A9 28 LDA.B #$28 CODE_01852A: 95 AA STA RAM_SpriteSpeedY,X CODE_01852C: 80 4E BRA FaceMario InitSuperKoopaFthr: 20 7C 85 JSR.W FaceMario CODE_018531: B5 E4 LDA RAM_SpriteXLo,X CODE_018533: 29 10 AND.B #$10 CODE_018535: F0 10 BEQ CODE_018547 CODE_018537: A9 10 LDA.B #$10 ; \ Can be jumped on CODE_018539: 9D 56 16 STA.W RAM_Tweaker1656,X ; / CODE_01853C: A9 80 LDA.B #$80 CODE_01853E: 9D 62 16 STA.W RAM_Tweaker1662,X CODE_018541: A9 10 LDA.B #$10 CODE_018543: 9D 86 16 STA.W RAM_Tweaker1686,X Return018546: 60 RTS ; Return CODE_018547: FE 34 15 INC.W $1534,X Return01854A: 60 RTS ; Return InitPokey: A9 1F LDA.B #$1F ; \ If on Yoshi, $C2,x = #$1F CODE_01854D: AC 7A 18 LDY.W RAM_OnYoshi ; | (5 segments, 1 bit each) CODE_018550: D0 02 BNE CODE_018554 ; | CODE_018552: A9 07 LDA.B #$07 ; | If not on Yoshi, $C2,x = #$07 CODE_018554: 95 C2 STA RAM_SpriteState,X ; / (3 segments, 1 bit each) CODE_018556: 80 24 BRA FaceMario InitDinos: A9 04 LDA.B #$04 CODE_01855A: 9D 1C 15 STA.W $151C,X InitBomb: A9 FF LDA.B #$FF CODE_01855F: 9D 40 15 STA.W $1540,X CODE_018562: 80 18 BRA FaceMario InitBubbleSpr: 20 A4 83 JSR.W InitExplodingBlk CODE_018567: 94 C2 STY RAM_SpriteState,X CODE_018569: DE 34 15 DEC.W $1534,X CODE_01856C: 80 0E BRA FaceMario InitGrnBounceKoopa: B5 D8 LDA RAM_SpriteYLo,X CODE_018570: 29 10 AND.B #$10 CODE_018572: 9D 0E 16 STA.W $160E,X InitStandardSprite: 22 F9 AC 01 JSL.L GetRand CODE_018579: 9D 70 15 STA.W $1570,X FaceMario: 20 30 AD JSR.W SubHorizPos CODE_01857F: 98 TYA CODE_018580: 9D 7C 15 STA.W RAM_SpriteDir,X Return018583: 60 RTS InitBowsersFire: A9 17 LDA.B #$17 ; \ fire sound effect CODE_018586: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_018589: 80 F1 BRA FaceMario InitPowerUp: F6 C2 INC RAM_SpriteState,X Return01858D: 60 RTS ; Return InitFishbone: 22 F9 AC 01 JSL.L GetRand CODE_018592: 29 1F AND.B #$1F CODE_018594: 9D 40 15 STA.W $1540,X CODE_018597: 4C 7C 85 JMP.W FaceMario InitDownPiranha: 1E F6 15 ASL.W RAM_SpritePal,X CODE_01859D: 38 SEC CODE_01859E: 7E F6 15 ROR.W RAM_SpritePal,X CODE_0185A1: B5 D8 LDA RAM_SpriteYLo,X CODE_0185A3: 38 SEC CODE_0185A4: E9 10 SBC.B #$10 CODE_0185A6: 95 D8 STA RAM_SpriteYLo,X CODE_0185A8: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_0185AB: E9 00 SBC.B #$00 CODE_0185AD: 9D D4 14 STA.W RAM_SpriteYHi,X InitPiranha: B5 E4 LDA RAM_SpriteXLo,X ; \ Center sprite between two tiles CODE_0185B2: 18 CLC ; | CODE_0185B3: 69 08 ADC.B #$08 ; | CODE_0185B5: 95 E4 STA RAM_SpriteXLo,X ; / CODE_0185B7: D6 D8 DEC RAM_SpriteYLo,X CODE_0185B9: B5 D8 LDA RAM_SpriteYLo,X CODE_0185BB: C9 FF CMP.B #$FF CODE_0185BD: D0 03 BNE Return0185C2 CODE_0185BF: DE D4 14 DEC.W RAM_SpriteYHi,X Return0185C2: 60 RTS CallSpriteMain: 9C 91 14 STZ.W $1491 ; CallSpriteMain CODE_0185C6: B5 9E LDA RAM_SpriteNum,X CODE_0185C8: 22 DF 86 00 JSL.L ExecutePtr SpriteMainPtr: 04 89 .dw ShellessKoopas ; 00 - Green Koopa, no shell 04 89 .dw ShellessKoopas ; 01 - Red Koopa, no shell 04 89 .dw ShellessKoopas ; 02 - Blue Koopa, no shell 04 89 .dw ShellessKoopas ; 03 - Yellow Koopa, no shell FC 8A .dw Spr0to13Start ; 04 - Green Koopa FC 8A .dw Spr0to13Start ; 05 - Red Koopa FC 8A .dw Spr0to13Start ; 06 - Blue Koopa FC 8A .dw Spr0to13Start ; 07 - Yellow Koopa 4D 8C .dw GreenParaKoopa ; 08 - Green Koopa, flying left 4D 8C .dw GreenParaKoopa ; 09 - Green bouncing Koopa C3 8C .dw RedVertParaKoopa ; 0A - Red vertical flying Koopa BE 8C .dw RedHorzParaKoopa ; 0B - Red horizontal flying Koopa FC 8A .dw Spr0to13Start ; 0C - Yellow Koopa with wings E5 8A .dw Bobomb ; 0D - Bob-omb C8 E1 .dw Keyhole ; 0E - Keyhole FC 8A .dw Spr0to13Start ; 0F - Goomba 2E 8D .dw WingedGoomba ; 10 - Bouncing Goomba with wings FC 8A .dw Spr0to13Start ; 11 - Buzzy Beetle 7B F8 .dw Return01F87B ; 12 - Unused FC 8A .dw Spr0to13Start ; 13 - Spiny 18 8C .dw SpinyEgg ; 14 - Spiny falling 33 B0 .dw Fish ; 15 - Fish, horizontal 33 B0 .dw Fish ; 16 - Fish, vertical 92 B1 .dw GeneratedFish ; 17 - Fish, created from generator B4 B1 .dw JumpingFish ; 18 - Surface jumping fish 5B E7 .dw PSwitch ; 19 - Display text from level Message Box #1 76 8E .dw ClassicPiranhas ; 1A - Classic Piranha Plant 8E 87 .dw Bank3SprHandler ; 1B - Bouncing football in place E7 8F .dw BulletBill ; 1C - Bullet Bill 0D 8F .dw HoppingFlame ; 1D - Hopping flame 97 8F .dw Lakitu ; 1E - Lakitu D6 BD .dw Magikoopa ; 1F - Magikoopa 38 BC .dw MagikoopasMagic ; 20 - Magikoopa's magic 53 C3 .dw PowerUpRt ; 21 - Moving coin 7F B9 .dw ClimbingKoopa ; 22 - Green vertical net Koopa 7F B9 .dw ClimbingKoopa ; 23 - Red vertical net Koopa 7F B9 .dw ClimbingKoopa ; 24 - Green horizontal net Koopa 7F B9 .dw ClimbingKoopa ; 25 - Red horizontal net Koopa A3 AE .dw Thwomp ; 26 - Thwomp 9F AF .dw Thwimp ; 27 - Thwimp D5 F8 .dw BigBoo ; 28 - Big Boo C1 FA .dw KoopaKid ; 29 - Koopa Kid 76 8E .dw ClassicPiranhas ; 2A - Upside down Piranha Plant B6 87 .dw SumosLightning ; 2B - Sumo Brother's fire lightning 64 F7 .dw YoshiEgg ; 2C - Yoshi egg C2 85 .dw Return0185C2 ; 2D - Baby green Yoshi 5E 88 .dw WallFollowers ; 2E - Spike Top 23 E6 .dw SpringBoard ; 2F - Portable spring board 2B E4 .dw DryBonesAndBeetle ; 30 - Dry Bones, throws bones 2B E4 .dw DryBonesAndBeetle ; 31 - Bony Beetle 2B E4 .dw DryBonesAndBeetle ; 32 - Dry Bones, stay on ledge 93 E0 .dw Fireballs ; 33 - Fireball 4E D4 .dw BossFireball ; 34 - Boss fireball CA EB .dw Yoshi ; 35 - Green Yoshi 1F E4 .dw DATA_01E41F ; 36 - Unused DC F8 .dw Boo+BooBlock ; 37 - Boo 90 F8 .dw Eerie ; 38 - Eerie 90 F8 .dw Eerie ; 39 - Eerie, wave motion 5E 88 .dw WallFollowers ; 3A - Urchin, fixed 5E 88 .dw WallFollowers ; 3B - Urchin, wall detect 5E 88 .dw WallFollowers ; 3C - Urchin, wall follow 53 88 .dw RipVanFish ; 3D - Rip Van Fish 5B E7 .dw PSwitch ; 3E - POW FB D4 .dw ParachuteSprites ; 3F - Para-Goomba FB D4 .dw ParachuteSprites ; 40 - Para-Bomb 85 88 .dw Dolphin ; 41 - Dolphin, horizontal 85 88 .dw Dolphin ; 42 - Dolphin2, horizontal 85 88 .dw Dolphin ; 43 - Dolphin, vertical 38 88 .dw TorpedoTed ; 44 - Torpedo Ted CA 87 .dw DirectionalCoins ; 45 - Directional coins 06 88 .dw DigginChuck ; 46 - Diggin' Chuck 0B 88 .dw SwimJumpFish ; 47 - Swimming/Jumping fish 10 88 .dw DigginChucksRock ; 48 - Diggin' Chuck's rock 15 88 .dw GrowingPipe ; 49 - Growing/shrinking pipe end 63 87 .dw GoalSphere ; 4A - Goal Point Question Sphere 01 88 .dw PipeLakitu ; 4B - Pipe dwelling Lakitu CF 87 .dw ExplodingBlock ; 4C - Exploding Block CF E2 .dw MontyMole ; 4D - Ground dwelling Monty Mole CF E2 .dw MontyMole ; 4E - Ledge dwelling Monty Mole BB 87 .dw JumpingPiranha ; 4F - Jumping Piranha Plant BB 87 .dw JumpingPiranha ; 50 - Jumping Piranha Plant, spit fire 8E 87 .dw Bank3SprHandler ; 51 - Ninji 93 88 .dw MovingLedge ; 52 - Moving ledge hole in ghost house C2 85 .dw Return0185C2 ; 53 - Throw block sprite CD BA .dw ClimbingDoor ; 54 - Climbing net door 6C B2 .dw Platforms ; 55 - Checkerboard platform, horizontal 6C B2 .dw Platforms ; 56 - Flying rock platform, horizontal 6C B2 .dw Platforms ; 57 - Checkerboard platform, vertical 6C B2 .dw Platforms ; 58 - Flying rock platform, vertical A5 B6 .dw TurnBlockBridge ; 59 - Turn block bridge, horizontal and vertical DA B6 .dw HorzTurnBlkBridge ; 5A - Turn block bridge, horizontal 63 B5 .dw Platforms2 ; 5B - Brown platform floating in water 63 B5 .dw Platforms2 ; 5C - Checkerboard platform that falls 63 B5 .dw Platforms2 ; 5D - Orange platform floating in water 36 B5 .dw OrangePlatform ; 5E - Orange platform, goes on forever 73 C7 .dw BrownChainedPlat ; 5F - Brown platform on a chain 91 AE .dw PalaceSwitch ; 60 - Flat green switch palace switch DE 87 .dw FloatingSkulls ; 61 - Floating skulls 4A D7 .dw LineFuzzy+Plats ; 62 - Brown platform, line-guided 4A D7 .dw LineFuzzy+Plats ; 63 - Checker/brown platform, line-guided 19 D7 .dw LineRope+Chainsaw ; 64 - Rope mechanism, line-guided 19 D7 .dw LineRope+Chainsaw ; 65 - Chainsaw, line-guided 19 D7 .dw LineRope+Chainsaw ; 66 - Upside down chainsaw, line-guided 3A D7 .dw LineGrinder ; 67 - Grinder, line-guided 4A D7 .dw LineFuzzy+Plats ; 68 - Fuzz ball, line-guided C3 D6 .dw Return01D6C3 ; 69 - Unused 33 88 .dw CoinCloud ; 6A - Coin game cloud 48 88 .dw PeaBouncer ; 6B - Spring board, left wall 48 88 .dw PeaBouncer ; 6C - Spring board, right wall 5E 87 .dw InvisSolid+Dinos ; 6D - Invisible solid block 5E 87 .dw InvisSolid+Dinos ; 6E - Dino Rhino 5E 87 .dw InvisSolid+Dinos ; 6F - Dino Torch ED 87 .dw Pokey ; 70 - Pokey F2 87 .dw RedSuperKoopa ; 71 - Super Koopa, red cape F7 87 .dw YellowSuperKoopa ; 72 - Super Koopa, yellow cape FC 87 .dw FeatherSuperKoopa ; 73 - Super Koopa, feather 53 C3 .dw PowerUpRt ; 74 - Mushroom 49 C3 .dw FireFlower ; 75 - Flower 53 C3 .dw PowerUpRt ; 76 - Star ED C6 .dw Feather ; 77 - Feather 53 C3 .dw PowerUpRt ; 78 - 1-Up 83 C1 .dw GrowingVine ; 79 - Growing Vine 8E 87 .dw Bank3SprHandler ; 7A - Firework 98 C0 .dw GoalTape ; 7B - Goal Point 8E 87 .dw Bank3SprHandler ; 7C - Princess Peach F2 C1 .dw BalloonKeyFlyObjs ; 7D - Balloon F2 C1 .dw BalloonKeyFlyObjs ; 7E - Flying Red coin F2 C1 .dw BalloonKeyFlyObjs ; 7F - Flying yellow 1-Up F2 C1 .dw BalloonKeyFlyObjs ; 80 - Key 17 C3 .dw ChangingItem ; 81 - Changing item from translucent block 2A DE .dw BonusGame ; 82 - Bonus game sprite 6E AD .dw Flying?Block ; 83 - Left flying question block 6E AD .dw Flying?Block ; 84 - Flying question block 59 AD .dw InitFlying?Block ; 85 - Unused (Pretty sure) 2E 88 .dw Wiggler ; 86 - Wiggler A4 E7 .dw LakituCloud ; 87 - Lakitu's cloud 7A 88 .dw WingedCage ; 88 - Unused (Winged cage sprite) 3D 88 .dw Layer3Smash ; 89 - Layer 3 smash 1A 88 .dw YoshisHouseBirds ; 8A - Bird from Yoshi's house 1F 88 .dw YoshisHouseSmoke ; 8B - Puff of smoke from Yoshi's house 24 88 .dw SideExit ; 8C - Fireplace smoke/exit from side screen E3 87 .dw GhostHouseExit ; 8D - Ghost house exit sign and door E8 87 .dw WarpBlocks ; 8E - Invisible "Warp Hole" blocks D4 87 .dw ScalePlatforms ; 8F - Scale platforms C0 87 .dw GasBubble ; 90 - Large green gas bubble 6A 88 .dw Chucks ; 91 - Chargin' Chuck 6A 88 .dw Chucks ; 92 - Splittin' Chuck 6A 88 .dw Chucks ; 93 - Bouncin' Chuck 6A 88 .dw Chucks ; 94 - Whistlin' Chuck 6A 88 .dw Chucks ; 95 - Clapin' Chuck 6A 88 .dw Chucks ; 96 - Unused (Chargin' Chuck clone) 6A 88 .dw Chucks ; 97 - Puntin' Chuck 6A 88 .dw Chucks ; 98 - Pitchin' Chuck AC 87 .dw VolcanoLotus ; 99 - Volcano Lotus B1 87 .dw SumoBrother ; 9A - Sumo Brother 9D 87 .dw HammerBrother ; 9B - Hammer Brother A2 87 .dw FlyingPlatform ; 9C - Flying blocks for Hammer Brother 98 87 .dw BubbleWithSprite ; 9D - Bubble with sprite 93 87 .dw BanzaiBnCGrayPlat ; 9E - Ball and Chain 93 87 .dw BanzaiBnCGrayPlat ; 9F - Banzai Bill 8E 87 .dw Bank3SprHandler ; A0 - Activates Bowser scene 8E 87 .dw Bank3SprHandler ; A1 - Bowser's bowling ball 8E 87 .dw Bank3SprHandler ; A2 - MechaKoopa 93 87 .dw BanzaiBnCGrayPlat ; A3 - Grey platform on chain 59 B5 .dw FloatingSpikeBall ; A4 - Floating Spike ball 5E 88 .dw WallFollowers ; A5 - Fuzzball/Sparky, ground-guided 5E 88 .dw WallFollowers ; A6 - HotHead, ground-guided 58 FA .dw Iggy'sBall ; A7 - Iggy's ball 8E 87 .dw Bank3SprHandler ; A8 - Blargg 8E 87 .dw Bank3SprHandler ; A9 - Reznor 8E 87 .dw Bank3SprHandler ; AA - Fishbone 8E 87 .dw Bank3SprHandler ; AB - Rex 8E 87 .dw Bank3SprHandler ; AC - Wooden Spike, moving down and up 8E 87 .dw Bank3SprHandler ; AD - Wooden Spike, moving up/down first 8E 87 .dw Bank3SprHandler ; AE - Fishin' Boo DC F8 .dw Boo+BooBlock ; AF - Boo Block 8E 87 .dw Bank3SprHandler ; B0 - Reflecting stream of Boo Buddies 8E 87 .dw Bank3SprHandler ; B1 - Creating/Eating block 8E 87 .dw Bank3SprHandler ; B2 - Falling Spike 8E 87 .dw Bank3SprHandler ; B3 - Bowser statue fireball 5C DB .dw Grinder ; B4 - Grinder, non-line-guided 93 E0 .dw Fireballs ; B5 - Sinking fireball used in boss battles 8E 87 .dw Bank3SprHandler ; B6 - Reflecting fireball 8E 87 .dw Bank3SprHandler ; B7 - Carrot Top lift, upper right 8E 87 .dw Bank3SprHandler ; B8 - Carrot Top lift, upper left 8E 87 .dw Bank3SprHandler ; B9 - Info Box 8E 87 .dw Bank3SprHandler ; BA - Timed lift 8E 87 .dw Bank3SprHandler ; BB - Grey moving castle block 8E 87 .dw Bank3SprHandler ; BC - Bowser statue 8E 87 .dw Bank3SprHandler ; BD - Sliding Koopa without a shell 8E 87 .dw Bank3SprHandler ; BE - Swooper bat 8E 87 .dw Bank3SprHandler ; BF - Mega Mole 8E 87 .dw Bank3SprHandler ; C0 - Grey platform on lava 8E 87 .dw Bank3SprHandler ; C1 - Flying grey turnblocks 8E 87 .dw Bank3SprHandler ; C2 - Blurp fish 8E 87 .dw Bank3SprHandler ; C3 - Porcu-Puffer fish 8E 87 .dw Bank3SprHandler ; C4 - Grey platform that falls 8E 87 .dw Bank3SprHandler ; C5 - Big Boo Boss 8E 87 .dw Bank3SprHandler ; C6 - Dark room with spot light 8E 87 .dw Bank3SprHandler ; C7 - Invisible mushroom 8E 87 .dw Bank3SprHandler ; C8 - Light switch block for dark room InvisSolid+Dinos: 22 34 9C 03 JSL.L InvisBlk+DinosMain ; solid block/dino routine (What the...) Return018762: 60 RTS ; Return GoalSphere: 20 0D 9F JSR.W SubSprGfx2Entry1 ; another standard graphics routine, it seems CODE_018766: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_018768: D0 1E BNE Return018788 ; / CODE_01876A: A5 13 LDA RAM_FrameCounter ;\ CODE_01876C: 29 1F AND.B #$1F ;|work with some routine, unkown CODE_01876E: 05 9D ORA RAM_SpritesLocked ;| CODE_018770: 20 52 B1 JSR.W CODE_01B152 ;/ CODE_018773: 20 E4 A7 JSR.W MarioSprInteractRt ; Interact with mario CODE_018776: 90 10 BCC Return018788 ; if mario isn't there, then return CODE_018778: 9E C8 14 STZ.W $14C8,X ;Destroy sprite, but first... CODE_01877B: A9 FF LDA.B #$FF ;\ CODE_01877D: 8D 93 14 STA.W $1493 ;| CODE_018780: 8D DA 0D STA.W $0DDA ;|end the level. CODE_018783: A9 0B LDA.B #$0B ;| CODE_018785: 8D FB 1D STA.W $1DFB ; / Change music Return018788: 60 RTS ; Return InitReznor: 22 72 98 03 JSL.L ReznorInit ;----------I'm not going to comment this. it is simply the JSL to the main sprite routines. Return01878D: 60 RTS ; Return Bank3SprHandler: 22 18 A1 03 JSL.L Bnk3CallSprMain Return018792: 60 RTS ; Return BanzaiBnCGrayPlat: 22 17 D6 02 JSL.L Banzai+Rotating Return018797: 60 RTS ; Return BubbleWithSprite: 22 AD D8 02 JSL.L BubbleSpriteMain Return01879C: 60 RTS ; Return HammerBrother: 22 52 DA 02 JSL.L HammerBrotherMain Return0187A1: 60 RTS ; Return FlyingPlatform: 22 4C DB 02 JSL.L FlyingPlatformMain Return0187A6: 60 RTS ; Return InitHammerBrother: 22 59 DA 02 JSL.L Return02DA59 ; Do nothing at all (Might as well be NOPs) Return0187AB: 60 RTS ; Return VolcanoLotus: 22 8B DF 02 JSL.L VolcanoLotusMain Return0187B0: 60 RTS ; Return SumoBrother: 22 AF DC 02 JSL.L SumoBrotherMain Return0187B5: 60 RTS ; Return SumosLightning: 22 A8 DE 02 JSL.L SumosLightningMain Return0187BA: 60 RTS ; Return JumpingPiranha: 22 C5 E0 02 JSL.L JumpingPiranhaMain Return0187BF: 60 RTS ; Return GasBubble: 22 03 E3 02 JSL.L GasBubbleMain Return0187C4: 60 RTS ; Return Unused0187C5: 22 AF DC 02 JSL.L SumoBrotherMain ; Unused call to main Sumo Brother routine Return0187C9: 60 RTS ; Return DirectionalCoins: 22 15 E2 02 JSL.L DirectionCoinsMain Return0187CE: 60 RTS ; Return ExplodingBlock: 22 17 E4 02 JSL.L ExplodingBlkMain Return0187D3: 60 RTS ; Return ScalePlatforms: 22 95 E4 02 JSL.L ScalePlatformMain Return0187D8: 60 RTS ; Return InitFloatingSkull: 22 82 ED 02 JSL.L FloatingSkullInit Return0187DD: 60 RTS ; Return FloatingSkulls: 22 D0 ED 02 JSL.L FloatingSkullMain Return0187E2: 60 RTS ; Return GhostHouseExit: 22 94 F5 02 JSL.L GhostExitMain Return0187E7: 60 RTS ; Return WarpBlocks: 22 D2 EA 02 JSL.L WarpBlocksMain Return0187EC: 60 RTS ; Return Pokey: 22 36 B6 02 JSL.L PokeyMain Return0187F1: 60 RTS ; Return RedSuperKoopa: 22 27 EB 02 JSL.L SuperKoopaMain Return0187F6: 60 RTS ; Return YellowSuperKoopa: 22 27 EB 02 JSL.L SuperKoopaMain Return0187FB: 60 RTS ; Return FeatherSuperKoopa: 22 27 EB 02 JSL.L SuperKoopaMain Return018800: 60 RTS ; Return PipeLakitu: 22 35 E9 02 JSL.L PipeLakituMain Return018805: 60 RTS ; Return DigginChuck: 22 F5 C1 02 JSL.L ChucksMain Return01880A: 60 RTS ; Return SwimJumpFish: 22 1F E7 02 JSL.L SwimJumpFishMain Return01880F: 60 RTS ; Return DigginChucksRock: 22 B5 E7 02 JSL.L ChucksRockMain Return018814: 60 RTS ; Return GrowingPipe: 22 2D E8 02 JSL.L GrowingPipeMain Return018819: 60 RTS ; Return YoshisHouseBirds: 22 0F F3 02 JSL.L BirdsMain Return01881E: 60 RTS ; Return YoshisHouseSmoke: 22 2C F4 02 JSL.L SmokeMain Return018823: 60 RTS ; Return SideExit: 22 CD F4 02 JSL.L SideExitMain Return018828: 60 RTS ; Return InitWiggler: 22 F2 EF 02 JSL.L WigglerInit Return01882D: 60 RTS ; Return Wiggler: 22 29 F0 02 JSL.L WigglerMain Return018832: 60 RTS ; Return CoinCloud: 22 A9 EE 02 JSL.L CoinCloudMain Return018837: 60 RTS ; Return TorpedoTed: 22 82 B8 02 JSL.L TorpedoTedMain Return01883C: 60 RTS ; Return Layer3Smash: 8B PHB ;\ CODE_01883E: A9 02 LDA.B #$02 ;| CODE_018840: 48 PHA ;| CODE_018841: AB PLB ;/ CODE_018842: 22 EA D3 02 JSL.L Layer3SmashMain CODE_018846: AB PLB Return018847: 60 RTS ; Return PeaBouncer: 8B PHB CODE_018849: A9 02 LDA.B #$02 ; see above. CODE_01884B: 48 PHA CODE_01884C: AB PLB CODE_01884D: 22 CB CD 02 JSL.L PeaBouncerMain CODE_018851: AB PLB Return018852: 60 RTS ; Return RipVanFish: 8B PHB CODE_018854: A9 02 LDA.B #$02 ;again... CODE_018856: 48 PHA CODE_018857: AB PLB CODE_018858: 22 CD BF 02 JSL.L RipVanFishMain CODE_01885C: AB PLB Return01885D: 60 RTS ; Return WallFollowers: 8B PHB CODE_01885F: A9 02 LDA.B #$02 ;and again.. CODE_018861: 48 PHA CODE_018862: AB PLB CODE_018863: 22 DB BC 02 JSL.L WallFollowersMain CODE_018867: AB PLB Return018868: 60 RTS ; Return Return018869: 60 RTS Chucks: 22 F5 C1 02 JSL.L ChucksMain Return01886E: 60 RTS ; Return InitWingedCage: 8B PHB ; \ (MikeyK...) ADDR_018870: A9 02 LDA.B #$02 ; | ADDR_018872: 48 PHA ; | Assumed bank = 02 ADDR_018873: AB PLB ; | ADDR_018874: 22 FD CB 02 JSL.L Return02CBFD ; | ADDR_018878: AB PLB ; / Return018879: 60 RTS ; Return WingedCage: 8B PHB ADDR_01887B: A9 02 LDA.B #$02 ADDR_01887D: 48 PHA ADDR_01887E: AB PLB ADDR_01887F: 22 FE CB 02 JSL.L WingedCageMain ; the infamous winged cage! ADDR_018883: AB PLB Return018884: 60 RTS ; Return Dolphin: 8B PHB CODE_018886: A9 02 LDA.B #$02 CODE_018888: 48 PHA CODE_018889: AB PLB CODE_01888A: 22 94 BB 02 JSL.L DolphinMain CODE_01888E: AB PLB Return01888F: 60 RTS ; Return InitMovingLedge: D6 D8 DEC RAM_SpriteYLo,X Return018892: 60 RTS ; Return MovingLedge: 22 B4 E5 02 JSL.L MovingLedgeMain Return018897: 60 RTS ; Return JumpOverShells: 8A TXA ; \ Process every 4 frames CODE_018899: 45 13 EOR RAM_FrameCounter ; | CODE_01889B: 29 03 AND.B #$03 ; | CODE_01889D: D0 0C BNE Return0188AB ; / CODE_01889F: A0 09 LDY.B #$09 ; \ Loop over sprites: JumpLoopStart: B9 C8 14 LDA.W $14C8,Y ; | CODE_0188A4: C9 0A CMP.B #$0A ; | If sprite status = kicked, try to jump it CODE_0188A6: F0 04 BEQ HandleJumpOver ; | JumpLoopNext: 88 DEY ; | CODE_0188A9: 10 F6 BPL JumpLoopStart ; / Return0188AB: 60 RTS ; Return HandleJumpOver: B9 E4 00 LDA.W RAM_SpriteXLo,Y ;\Y is the index to whatever shell is incoming. This is the "Jump over shell" thing the yellow koopa does. CODE_0188AF: 38 SEC ;| CODE_0188B0: E9 1A SBC.B #$1A ;| CODE_0188B2: 85 00 STA $00 ;| CODE_0188B4: B9 E0 14 LDA.W RAM_SpriteXHi,Y ;| CODE_0188B7: E9 00 SBC.B #$00 ;| CODE_0188B9: 85 08 STA $08 ;| CODE_0188BB: A9 44 LDA.B #$44 ;| CODE_0188BD: 85 02 STA $02 ;|now the position of the shell can be easily accessed CODE_0188BF: B9 D8 00 LDA.W RAM_SpriteYLo,Y ;| CODE_0188C2: 85 01 STA $01 ;| CODE_0188C4: B9 D4 14 LDA.W RAM_SpriteYHi,Y ;| CODE_0188C7: 85 09 STA $09 ;| CODE_0188C9: A9 10 LDA.B #$10 ;| CODE_0188CB: 85 03 STA $03 ;/ CODE_0188CD: 22 9F B6 03 JSL.L GetSpriteClippingA ;\ CODE_0188D1: 22 2B B7 03 JSL.L CheckForContact ;| CODE_0188D5: 90 D1 BCC JumpLoopNext ;/If not close to shell, go back to main loop CODE_0188D7: 20 0E 80 JSR.W IsOnGround ; \ If sprite not on ground, go back to main loop CODE_0188DA: F0 CC BEQ JumpLoopNext ; / CODE_0188DC: B9 7C 15 LDA.W RAM_SpriteDir,Y ; \ If sprite not facing shell, don't jump CODE_0188DF: DD 7C 15 CMP.W RAM_SpriteDir,X ; | CODE_0188E2: F0 07 BEQ Return0188EB ; / CODE_0188E4: A9 C0 LDA.B #$C0 ; \ Finally set jump speed CODE_0188E6: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_0188E8: 9E 3E 16 STZ.W $163E,X ; get rid of the jump timer Return0188EB: 60 RTS ; Return Spr0to13SpeedX: .db $08,$F8,$0C,$F4 Spr0to13Prop: .db $00,$02,$03,$0D,$40,$42,$43,$45 .db $50,$50,$50,$5C,$DD,$05,$00,$20 .db $20,$00,$00,$00 ShellessKoopas: A5 9D LDA RAM_SpritesLocked ; \ If sprites are locked, CODE_018906: F0 4A BEQ CODE_018952 ; / branch to $8952 so you don't work with kicking interaction and such CODE_018908: BD 3E 16 LDA.W $163E,X ;\ if a kick shell? timer has a short while to go CODE_01890B: C9 80 CMP.B #$80 ;| Then don't set frames down here VVV CODE_01890D: 90 10 BCC CODE_01891F ;/ CODE_01890F: A5 9D LDA RAM_SpritesLocked ; \ If sprites aren't locked, CODE_018911: D0 0C BNE CODE_01891F ; / branch to $891F CODE_018913: 20 5F 8E JSR.W SetAnimationFrame ; Set the animation frame, obviously. CODE_018916: BD 02 16 LDA.W $1602,X ; \ CODE_018919: 18 CLC ; |Increase sprite's image by x05 CODE_01891A: 69 05 ADC.B #$05 ; | CODE_01891C: 9D 02 16 STA.W $1602,X ; / CODE_01891F: 20 31 89 JSR.W CODE_018931 ; CODE_018922: 20 32 90 JSR.W SubUpdateSprPos ; Update sprite position (since we just set frames, etc?) CODE_018925: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_018927: 20 0E 80 JSR.W IsOnGround ; \ If sprite is on edge (on ground), CODE_01892A: F0 02 BEQ CODE_01892E ; |Sprite Y Speed = 0 CODE_01892C: 74 AA STZ RAM_SpriteSpeedY,X ; / CODE_01892E: 4C 03 8B JMP.W CODE_018B03 CODE_018931: B5 9E LDA RAM_SpriteNum,X ; \ CODE_018933: C9 02 CMP.B #$02 ; |If sprite isn't Blue shelless Koopa, CODE_018935: D0 05 BNE CODE_01893C ; / branch to $893C CODE_018937: 20 E4 A7 JSR.W MarioSprInteractRt ; interact with mario CODE_01893A: 80 15 BRA Return018951 ; return CODE_01893C: 1E 7A 16 ASL.W RAM_Tweaker167A,X ;\;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CODE_01893F: 38 SEC ;|Must be handling something CODE_018940: 7E 7A 16 ROR.W RAM_Tweaker167A,X ;|with mario. CODE_018943: 20 E4 A7 JSR.W MarioSprInteractRt ;| CODE_018946: 90 03 BCC CODE_01894B ;|Seems to be setting tweaker bits so that the sprite can CODE_018948: 20 2A B1 JSR.W CODE_01B12A ;| kick things correctly. CODE_01894B: 1E 7A 16 ASL.W RAM_Tweaker167A,X ;| CODE_01894E: 5E 7A 16 LSR.W RAM_Tweaker167A,X ;/ Return018951: 60 RTS ; Return CODE_018952: BD 3E 16 LDA.W $163E,X ;\ CODE_018955: F0 5D BEQ CODE_0189B4 ;/ if kick timer is 00 return CODE_018957: C9 80 CMP.B #$80 ;\ if it's not about to kick (probably) CODE_018959: D0 10 BNE CODE_01896B ;/ don't worry about checking to see if it's the blue koopa CODE_01895B: 20 7C 85 JSR.W FaceMario ; face mario CODE_01895E: B5 9E LDA RAM_SpriteNum,X ; \ CODE_018960: C9 02 CMP.B #$02 ; |If sprite is Blue shelless Koopa, CODE_018962: F0 04 BEQ CODE_018968 ; |Set Y speed to xE0 (make it float?) CODE_018964: A9 E0 LDA.B #$E0 ; | CODE_018966: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_018968: 9E 3E 16 STZ.W $163E,X ;reset kick shell timer CODE_01896B: C9 01 CMP.B #$01 ;\ if kick timer is not 01 CODE_01896D: D0 99 BNE CODE_018908 ;/ keep handling kicking and such CODE_01896F: BC 0E 16 LDY.W $160E,X ; Sprite being kicked? CODE_018972: B9 C8 14 LDA.W $14C8,Y ;\ CODE_018975: C9 09 CMP.B #$09 ;|IF that sprite is NOT STATIONARY, reset routine? CODE_018977: D0 8F BNE CODE_018908 ;/ CODE_018979: B5 E4 LDA RAM_SpriteXLo,X ;\KOOPA BLUE KICK SHELL! CODE_01897B: 38 SEC ;| CODE_01897C: F9 E4 00 SBC.W RAM_SpriteXLo,Y ;| CODE_01897F: 18 CLC ;|if sprite is more than 12 pixels away, CODE_018980: 69 12 ADC.B #$12 ;| reset routine CODE_018982: C9 24 CMP.B #$24 ;| CODE_018984: B0 82 BCS CODE_018908 ;/ CODE_018986: 20 28 A7 JSR.W PlayKickSfx ; < CODE_018989: 20 55 A7 JSR.W CODE_01A755 ; Kick shell routine, I think CODE_01898C: BC 7C 15 LDY.W RAM_SpriteDir,X ;\ CODE_01898F: B9 D7 A6 LDA.W DATA_01A6D7,Y ;| kick sprite in the right direction CODE_018992: BC 0E 16 LDY.W $160E,X ;| CODE_018995: 99 B6 00 STA.W RAM_SpriteSpeedX,Y;/ CODE_018998: A9 0A LDA.B #$0A ; \ Sprite status = Kicked CODE_01899A: 99 C8 14 STA.W $14C8,Y ; / CODE_01899D: B9 40 15 LDA.W $1540,Y ;\ CODE_0189A0: 99 C2 00 STA.W RAM_SpriteState,Y ;/ Special handling for shells? CODE_0189A3: A9 08 LDA.B #$08 ;\ CODE_0189A5: 99 64 15 STA.W $1564,Y ;/ don't let other sprites interact for a teeny bit CODE_0189A8: B9 7A 16 LDA.W RAM_Tweaker167A,Y ;\ CODE_0189AB: 29 10 AND.B #$10 ;| if sprite can be kicked like a shell, don't CODE_0189AD: F0 05 BEQ CODE_0189B4 ;/ set Y speeds on the sprite ADDR_0189AF: A9 E0 LDA.B #$E0 ;\ ADDR_0189B1: 99 AA 00 STA.W RAM_SpriteSpeedY,Y ;/ make the sprite go up CODE_0189B4: BD 28 15 LDA.W $1528,X ;\ CODE_0189B7: F0 5C BEQ CODE_018A15 ;/ CODE_0189B9: 20 08 80 JSR.W IsTouchingObjSide ;\if it's not touching a wall, don't make Xspeed 0. CODE_0189BC: F0 02 BEQ CODE_0189C0 ;/ CODE_0189BE: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_0189C0: 20 0E 80 JSR.W IsOnGround ;\ CODE_0189C3: F0 21 BEQ CODE_0189E6 ;/ if not on ground, skip this CODE_0189C5: A5 86 LDA $86 ;\ CODE_0189C7: C9 01 CMP.B #$01 ;|slippery level, $00 = 01, CODE_0189C9: A9 02 LDA.B #$02 ;|not, $00 = 02. CODE_0189CB: 90 01 BCC CODE_0189CE ;| CODE_0189CD: 4A LSR ;| CODE_0189CE: 85 00 STA $00 ;/ CODE_0189D0: B5 B6 LDA RAM_SpriteSpeedX,X ;\ if the sprite is REALLY slow, skip this part CODE_0189D2: C9 02 CMP.B #$02 ;| if it's positive, slow it down by 01 CODE_0189D4: 90 27 BCC CODE_0189FD ;| or 02, depending on if it's slippery or not CODE_0189D6: 10 06 BPL CODE_0189DE ;| CODE_0189D8: 18 CLC ;| CODE_0189D9: 65 00 ADC $00 ;| CODE_0189DB: 18 CLC ;| CODE_0189DC: 65 00 ADC $00 ;| CODE_0189DE: 38 SEC ;| CODE_0189DF: E5 00 SBC $00 ;| CODE_0189E1: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_0189E3: 20 4E 80 JSR.W CODE_01804E ; Handle kicked sprite? CODE_0189E6: 9E 70 15 STZ.W $1570,X ; (No sprite being kicked?) CODE_0189E9: 20 43 8B JSR.W CODE_018B43 ;\ Determine what tile to use====handle GFX/direction? CODE_0189EC: A9 E6 LDA.B #$E6 ;| CODE_0189EE: B4 9E LDY RAM_SpriteNum,X ;|\ Branch if Blue shelless CODE_0189F0: C0 02 CPY.B #$02 ;| | CODE_0189F2: F0 02 BEQ CODE_0189F6 ;|/ CODE_0189F4: A9 86 LDA.B #$86 ;| CODE_0189F6: BC EA 15 LDY.W RAM_SprOAMIndex,X ;|Y = Index into sprite OAM CODE_0189F9: 99 02 03 STA.W OAM_Tile,Y ;| Return0189FC: 60 RTS ;/Return NOTE: usually, Y has index to sprite kicked, X is index to sprite CODE_0189FD: 20 0E 80 JSR.W IsOnGround ;KOOPA CODE CODE_018A00: F0 0D BEQ CODE_018A0F ; If sprite is not on ground, don't even bother setting the sprite timer CODE_018A02: A9 FF LDA.B #$FF ;\ CODE_018A04: B4 9E LDY RAM_SpriteNum,X ;| CODE_018A06: C0 02 CPY.B #$02 ;| if sprite is blue shelless, CODE_018A08: D0 02 BNE CODE_018A0C ;/ set sprite timer to FF CODE_018A0A: A9 A0 LDA.B #$A0 ;\ CODE_018A0C: 9D 3E 16 STA.W $163E,X ;/ Otherwise, set timer to A0 CODE_018A0F: 9E 28 15 STZ.W $1528,X ; STZ a sprite address (sprite state backup, it seems) CODE_018A12: 4C 13 89 JMP.W CODE_018913 ; Setting frame animation stuff, and then moving on CODE_018A15: BD 34 15 LDA.W $1534,X ;\ don't handle kicking stuff if CODE_018A18: F0 6E BEQ CODE_018A88 ;/ the koopa doesn't have anything to kick CODE_018A1A: BC 0E 16 LDY.W $160E,X ;\ If sprite that koopa is trying to CODE_018A1D: B9 C8 14 LDA.W $14C8,Y ;| kick has been kicked, then CODE_018A20: C9 0A CMP.B #$0A ;| handle what is going on with them CODE_018A22: F0 05 BEQ CODE_018A29 ;/ CODE_018A24: 9E 34 15 STZ.W $1534,X ; Reset sprite kicked? CODE_018A27: 80 39 BRA CODE_018A62 ; Make frame normal and return CODE_018A29: 99 28 15 STA.W $1528,Y ; if stunned, then set that as the sprite state backup (?) CODE_018A2C: 20 08 80 JSR.W IsTouchingObjSide ;\ CODE_018A2F: F0 07 BEQ CODE_018A38 ;/ if not touching a side, do not stop the sprite CODE_018A31: A9 00 LDA.B #$00 ;\ CODE_018A33: 99 B6 00 STA.W RAM_SpriteSpeedX,Y ;| stop sprite and object it is holding CODE_018A36: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_018A38: 20 0E 80 JSR.W IsOnGround ;\If not on ground, CODE_018A3B: F0 25 BEQ CODE_018A62 ;/ don't CODE_018A3D: A5 86 LDA $86 ;\ CODE_018A3F: C9 01 CMP.B #$01 ;|if a slippery level, CODE_018A41: A9 02 LDA.B #$02 ;| A = 02 CODE_018A43: 90 01 BCC CODE_018A46 ;/ ADDR_018A45: 4A LSR ;\ otherwise make A = 01 and CODE_018A46: 85 00 STA $00 ;/ put it (01 or 02) in $00 for later use CODE_018A48: B9 B6 00 LDA.W RAM_SpriteSpeedX,Y ;\ CODE_018A4B: C9 02 CMP.B #$02 ;| if kicked sprite X speed >2, CODE_018A4D: 90 1A BCC CODE_018A69 ;/ go to CODE_018A4F: 10 06 BPL CODE_018A57 ; if it's going right but is faster than 2, go to CODE_018A51: 18 CLC ;\ If sprite is going right: CODE_018A52: 65 00 ADC $00 ;| Xspeed = +01/02 (not slippery/slippery) CODE_018A54: 18 CLC ;| If sprite is going left: CODE_018A55: 65 00 ADC $00 ;| Xspeed = -01/02 CODE_018A57: 38 SEC ;| CODE_018A58: E5 00 SBC $00 ;| CODE_018A5A: 99 B6 00 STA.W RAM_SpriteSpeedX,Y ;| CODE_018A5D: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_018A5F: 20 4E 80 JSR.W CODE_01804E ; Make effect for when koopa kicks it CODE_018A62: 9E 70 15 STZ.W $1570,X ; Set frame to 0 (normal) CODE_018A65: 20 43 8B JSR.W CODE_018B43 ; Return018A68: 60 RTS ; Return CODE_018A69: A9 00 LDA.B #$00 ;\ CODE_018A6B: 95 B6 STA RAM_SpriteSpeedX,X ;| stop the kicked sprite and koopa CODE_018A6D: 99 B6 00 STA.W RAM_SpriteSpeedX,Y ;/ CODE_018A70: 9E 34 15 STZ.W $1534,X ; Reset sprite kicked flag? CODE_018A73: A9 09 LDA.B #$09 ; \ Sprite status = Carryable CODE_018A75: 99 C8 14 STA.W $14C8,Y ; / CODE_018A78: DA PHX ; Preserve X for later CODE_018A79: BB TYX ; X = index to kicked sprite CODE_018A7A: 20 0B AA JSR.W CODE_01AA0B ;Handle being kicked (stun timer, etc) CODE_018A7D: BD 40 15 LDA.W $1540,X ;\ CODE_018A80: F0 05 BEQ CODE_018A87 ;|1540 is now 00 or FF ADDR_018A82: A9 FF LDA.B #$FF ;| ADDR_018A84: 9D 40 15 STA.W $1540,X ;/ CODE_018A87: FA PLX ; X = index to koopa again CODE_018A88: B5 C2 LDA RAM_SpriteState,X ;\ CODE_018A8A: F0 0F BEQ CODE_018A9B ;/ If koopa frame counter = 0 CODE_018A8C: D6 C2 DEC RAM_SpriteState,X ; Decrement sprite ram address (every frame to make it a timer) CODE_018A8E: C9 08 CMP.B #$08 ;\ If >8, make the sprite image 04 CODE_018A90: A9 04 LDA.B #$04 ;| CODE_018A92: B0 02 BCS CODE_018A96 ;| CODE_018A94: A9 00 LDA.B #$00 ;| Otherwise, make it 00 CODE_018A96: 9D 02 16 STA.W $1602,X ;| CODE_018A99: 80 65 BRA CODE_018B00 ;/ CODE_018A9B: BD 58 15 LDA.W $1558,X ;\ CODE_018A9E: C9 01 CMP.B #$01 ;| if timer = 01 CODE_018AA0: D0 68 BNE Spr0to13Main ;/ CODE_018AA2: BC 94 15 LDY.W $1594,X ; Y = SPRITE TO INTERACT WITH CODE_018AA5: B9 C8 14 LDA.W $14C8,Y ;\ CODE_018AA8: C9 08 CMP.B #$08 ;| If sprite is not running normal routines, being kicked, etc CODE_018AAA: 90 2D BCC Return018AD9 ;/ return CODE_018AAC: B9 AA 00 LDA.W RAM_SpriteSpeedY,Y ;\ if kicked sprite is going left, return CODE_018AAF: 30 28 BMI Return018AD9 ;/ CODE_018AB1: B9 9E 00 LDA.W RAM_SpriteNum,Y ; \ Return if Coin sprite CODE_018AB4: C9 21 CMP.B #$21 ; | CODE_018AB6: F0 21 BEQ Return018AD9 ; / CODE_018AB8: 22 9F B6 03 JSL.L GetSpriteClippingA ;\ CODE_018ABC: DA PHX ;| CODE_018ABD: BB TYX ;| CODE_018ABE: 22 E5 B6 03 JSL.L GetSpriteClippingB ;|if sprite has no contact, return CODE_018AC2: FA PLX ;| CODE_018AC3: 22 2B B7 03 JSL.L CheckForContact ;| CODE_018AC7: 90 10 BCC Return018AD9 ;/ CODE_018AC9: 20 80 AC JSR.W OffScrEraseSprite ;/ if has contact, get rid of sprite CODE_018ACC: BC 94 15 LDY.W $1594,X ;\ CODE_018ACF: A9 10 LDA.B #$10 ;| Set some timer for a kicked sprite CODE_018AD1: 99 58 15 STA.W $1558,Y ;/ (frozen? Disable interaction?) CODE_018AD4: B5 9E LDA RAM_SpriteNum,X ;\ CODE_018AD6: 99 0E 16 STA.W $160E,Y ;/ $160E = SPRITE NUMBER TO DEAL WITH Return018AD9: 60 RTS ; Return ExplodeBomb: 8B PHB ; \ Change Bob-omb into explosion CODE_018ADB: A9 02 LDA.B #$02 ; | CODE_018ADD: 48 PHA ; | CODE_018ADE: AB PLB ; | CODE_018ADF: 22 86 80 02 JSL.L ExplodeBombRt ; | CODE_018AE3: AB PLB ; | Return018AE4: 60 RTS ; / Bobomb: BD 34 15 LDA.W $1534,X ; \ Branch if exploding CODE_018AE8: D0 F0 BNE ExplodeBomb ; / CODE_018AEA: BD 40 15 LDA.W $1540,X ; \ Branch if not set to explode CODE_018AED: D0 0D BNE Spr0to13Start ; / CODE_018AEF: A9 09 LDA.B #$09 ; \ Sprite status = Stunned CODE_018AF1: 9D C8 14 STA.W $14C8,X ; / CODE_018AF4: A9 40 LDA.B #$40 ; \ Time until explosion = #$40 CODE_018AF6: 9D 40 15 STA.W $1540,X ; / CODE_018AF9: 4C 0D 9F JMP.W SubSprGfx2Entry1 ; Draw sprite Spr0to13Start: A5 9D LDA RAM_SpritesLocked ; \ If sprites locked... CODE_018AFE: F0 0A BEQ Spr0to13Main ; | CODE_018B00: 20 E4 A7 JSR.W MarioSprInteractRt ; | ...interact with Mario CODE_018B03: 20 0D A4 JSR.W SubSprSprInteract ; | ...interact with sprites CODE_018B06: 20 C3 8B JSR.W Spr0to13Gfx ; | ...draw sprite Return018B09: 60 RTS ; / Return Spr0to13Main: 20 0E 80 JSR.W IsOnGround ; \ If sprite on ground... CODE_018B0D: F0 1F BEQ CODE_018B2E ; | CODE_018B0F: B4 9E LDY RAM_SpriteNum,X ; | CODE_018B11: B9 F0 88 LDA.W Spr0to13Prop,Y ; | Set sprite X speed CODE_018B14: 4A LSR ; | CODE_018B15: BC 7C 15 LDY.W RAM_SpriteDir,X ; | CODE_018B18: 90 02 BCC CODE_018B1C ; | CODE_018B1A: C8 INY ; | Increase index if sprite set to go fast CODE_018B1B: C8 INY ; | CODE_018B1C: B9 EC 88 LDA.W Spr0to13SpeedX,Y ; | CODE_018B1F: 5D B8 15 EOR.W $15B8,X ; | what does $15B8,x do? CODE_018B22: 0A ASL ; | CODE_018B23: B9 EC 88 LDA.W Spr0to13SpeedX,Y ; | CODE_018B26: 90 04 BCC CODE_018B2C ; | CODE_018B28: 18 CLC ; | CODE_018B29: 7D B8 15 ADC.W $15B8,X ; | CODE_018B2C: 95 B6 STA RAM_SpriteSpeedX,X ; / CODE_018B2E: BC 7C 15 LDY.W RAM_SpriteDir,X ; \ If touching an object in the direction CODE_018B31: 98 TYA ; | that Mario is moving... CODE_018B32: 1A INC A ; | CODE_018B33: 3D 88 15 AND.W RAM_SprObjStatus,X ; | CODE_018B36: 29 03 AND.B #$03 ; | CODE_018B38: F0 02 BEQ CODE_018B3C ; | CODE_018B3A: 74 B6 STZ RAM_SpriteSpeedX,X ; / ...Sprite X Speed = 0 CODE_018B3C: 20 14 80 JSR.W IsTouchingCeiling ; \ If touching ceiling... CODE_018B3F: F0 02 BEQ CODE_018B43 ; | ADDR_018B41: 74 AA STZ RAM_SpriteSpeedY,X ; / ...Sprite Y Speed = 0 CODE_018B43: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_018B46: 20 32 90 JSR.W SubUpdateSprPos ; Apply speed to position CODE_018B49: 20 5F 8E JSR.W SetAnimationFrame ; Set the animation frame CODE_018B4C: 20 0E 80 JSR.W IsOnGround ; \ Branch if not on ground CODE_018B4F: F0 33 BEQ SpriteInAir ; / SpriteOnGround: 20 04 9A JSR.W SetSomeYSpeed?? CODE_018B54: 9E 1C 15 STZ.W $151C,X CODE_018B57: B4 9E LDY RAM_SpriteNum,X ; \ CODE_018B59: B9 F0 88 LDA.W Spr0to13Prop,Y ; | If follow Mario is set... CODE_018B5C: 48 PHA ; | CODE_018B5D: 29 04 AND.B #$04 ; | CODE_018B5F: F0 19 BEQ DontFollowMario ; | CODE_018B61: BD 70 15 LDA.W $1570,X ; | ...and time until turn == 0... CODE_018B64: 29 7F AND.B #$7F ; | CODE_018B66: D0 12 BNE DontFollowMario ; | CODE_018B68: BD 7C 15 LDA.W RAM_SpriteDir,X ; | CODE_018B6B: 48 PHA ; | CODE_018B6C: 20 7C 85 JSR.W FaceMario ; | ...face Mario CODE_018B6F: 68 PLA ; | If was facing the other direction... CODE_018B70: DD 7C 15 CMP.W RAM_SpriteDir,X ; | CODE_018B73: F0 05 BEQ DontFollowMario ; | CODE_018B75: A9 08 LDA.B #$08 ; | ...set turning timer CODE_018B77: 9D AC 15 STA.W $15AC,X ; / DontFollowMario: 68 PLA ; \ If jump over shells is set call routine CODE_018B7B: 29 08 AND.B #$08 ; | CODE_018B7D: F0 03 BEQ CODE_018B82 ; | CODE_018B7F: 20 98 88 JSR.W JumpOverShells ; | CODE_018B82: 80 2C BRA CODE_018BB0 ; / SpriteInAir: B4 9E LDY RAM_SpriteNum,X CODE_018B86: B9 F0 88 LDA.W Spr0to13Prop,Y ; \ If flutter wings is set... CODE_018B89: 10 05 BPL CODE_018B90 ; | ADDR_018B8B: 20 5F 8E JSR.W SetAnimationFrame ; | ...set frame... ADDR_018B8E: 80 03 BRA CODE_018B93 ; | ...and don't zero out $1570,x CODE_018B90: 9E 70 15 STZ.W $1570,X ; / CODE_018B93: B9 F0 88 LDA.W Spr0to13Prop,Y ; \ If stay on ledges is set... CODE_018B96: 29 02 AND.B #$02 ; | CODE_018B98: F0 16 BEQ CODE_018BB0 ; | CODE_018B9A: BD 1C 15 LDA.W $151C,X ; | todo: what are all these? CODE_018B9D: 1D 58 15 ORA.W $1558,X ; | CODE_018BA0: 1D 28 15 ORA.W $1528,X ; | CODE_018BA3: 1D 34 15 ORA.W $1534,X ; | CODE_018BA6: D0 08 BNE CODE_018BB0 ; | CODE_018BA8: 20 98 90 JSR.W FlipSpriteDir ; | ...change sprite direction CODE_018BAB: A9 01 LDA.B #$01 ; | CODE_018BAD: 9D 1C 15 STA.W $151C,X ; / CODE_018BB0: BD 28 15 LDA.W $1528,X CODE_018BB3: F0 05 BEQ CODE_018BBA CODE_018BB5: 20 31 89 JSR.W CODE_018931 CODE_018BB8: 80 03 BRA CODE_018BBD CODE_018BBA: 20 E4 A7 JSR.W MarioSprInteractRt ; Interact with Mario CODE_018BBD: 20 0D A4 JSR.W SubSprSprInteract ; Interact with other sprites CODE_018BC0: 20 89 90 JSR.W FlipIfTouchingObj ; Change direction if touching an object Spr0to13Gfx: BD 7C 15 LDA.W RAM_SpriteDir,X ; \ Store sprite direction CODE_018BC6: 48 PHA ; / CODE_018BC7: BC AC 15 LDY.W $15AC,X ; \ If turning timer is set... CODE_018BCA: F0 12 BEQ CODE_018BDE ; | CODE_018BCC: A9 02 LDA.B #$02 ; | ...set turning image CODE_018BCE: 9D 02 16 STA.W $1602,X ; | CODE_018BD1: A9 00 LDA.B #$00 ; | CODE_018BD3: C0 05 CPY.B #$05 ; | If turning timer >= 5... CODE_018BD5: 90 01 BCC CODE_018BD8 ; | CODE_018BD7: 1A INC A ; | ...flip sprite direction (temporarily) CODE_018BD8: 5D 7C 15 EOR.W RAM_SpriteDir,X ; | CODE_018BDB: 9D 7C 15 STA.W RAM_SpriteDir,X ; / CODE_018BDE: B4 9E LDY RAM_SpriteNum,X ; \ Branch if sprite is 2 tiles high CODE_018BE0: B9 F0 88 LDA.W Spr0to13Prop,Y ; | CODE_018BE3: 29 40 AND.B #$40 ; | CODE_018BE5: D0 05 BNE CODE_018BEC ; / CODE_018BE7: 20 0D 9F JSR.W SubSprGfx2Entry1 ; \ Draw 1 tile high sprite and return CODE_018BEA: 80 27 BRA DoneWithSprite ; / CODE_018BEC: BD 02 16 LDA.W $1602,X ; \ Nothing? CODE_018BEF: 4A LSR ; / CODE_018BF0: B5 D8 LDA RAM_SpriteYLo,X ; \ Y position -= #$0F (temporarily) CODE_018BF2: 48 PHA ; | CODE_018BF3: E9 0F SBC.B #$0F ; | CODE_018BF5: 95 D8 STA RAM_SpriteYLo,X ; | CODE_018BF7: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_018BFA: 48 PHA ; | CODE_018BFB: E9 00 SBC.B #$00 ; | CODE_018BFD: 9D D4 14 STA.W RAM_SpriteYHi,X ; / CODE_018C00: 20 67 9D JSR.W SubSprGfx1 ; Draw sprite CODE_018C03: 68 PLA ; \ Restore Y position CODE_018C04: 9D D4 14 STA.W RAM_SpriteYHi,X ; | CODE_018C07: 68 PLA ; | CODE_018C08: 95 D8 STA RAM_SpriteYLo,X ; / CODE_018C0A: B5 9E LDA RAM_SpriteNum,X ; \ Add wings if sprite number > #$08 CODE_018C0C: C9 08 CMP.B #$08 ; | CODE_018C0E: 90 03 BCC DoneWithSprite ; | CODE_018C10: 20 28 9E JSR.W KoopaWingGfxRt ; / DoneWithSprite: 68 PLA ; \ Restore sprite direction CODE_018C14: 9D 7C 15 STA.W RAM_SpriteDir,X ; / Return018C17: 60 RTS ; Return SpinyEgg: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_018C1A: D0 28 BNE CODE_018C44 ; / CODE_018C1C: BD C8 14 LDA.W $14C8,X CODE_018C1F: C9 08 CMP.B #$08 CODE_018C21: D0 21 BNE CODE_018C44 CODE_018C23: 20 5F 8E JSR.W SetAnimationFrame CODE_018C26: 20 32 90 JSR.W SubUpdateSprPos CODE_018C29: D6 AA DEC RAM_SpriteSpeedY,X CODE_018C2B: 20 0E 80 JSR.W IsOnGround CODE_018C2E: F0 0E BEQ CODE_018C3E CODE_018C30: A9 13 LDA.B #$13 ; \ Sprite = Spiny CODE_018C32: 95 9E STA RAM_SpriteNum,X ; / CODE_018C34: 22 D2 F7 07 JSL.L InitSpriteTables ; Reset sprite tables CODE_018C38: 20 7C 85 JSR.W FaceMario CODE_018C3B: 20 D5 97 JSR.W CODE_0197D5 CODE_018C3E: 20 89 90 JSR.W FlipIfTouchingObj CODE_018C41: 20 C1 8F JSR.W SubSprSpr+MarioSpr CODE_018C44: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_018C47: A9 02 LDA.B #$02 CODE_018C49: 20 F3 9C JSR.W SubSprGfx0Entry0 Return018C4C: 60 RTS ; Return GreenParaKoopa: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_018C4F: D0 66 BNE CODE_018CB7 ; / CODE_018C51: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_018C54: B9 EC 88 LDA.W Spr0to13SpeedX,Y CODE_018C57: 5D B8 15 EOR.W $15B8,X CODE_018C5A: 0A ASL CODE_018C5B: B9 EC 88 LDA.W Spr0to13SpeedX,Y CODE_018C5E: 90 04 BCC CODE_018C64 CODE_018C60: 18 CLC CODE_018C61: 7D B8 15 ADC.W $15B8,X CODE_018C64: 95 B6 STA RAM_SpriteSpeedX,X CODE_018C66: 98 TYA CODE_018C67: 1A INC A CODE_018C68: 3D 88 15 AND.W RAM_SprObjStatus,X ; \ If touching object, CODE_018C6B: 29 03 AND.B #$03 ; | CODE_018C6D: F0 02 BEQ CODE_018C71 ; | ADDR_018C6F: 74 B6 STZ RAM_SpriteSpeedX,X ; / Sprite X Speed = 0 CODE_018C71: B5 9E LDA RAM_SpriteNum,X ; \ If flying left Green Koopa... CODE_018C73: C9 08 CMP.B #$08 ; | CODE_018C75: D0 15 BNE CODE_018C8C ; | CODE_018C77: 20 CC AB JSR.W SubSprXPosNoGrvty ; | Update X position CODE_018C7A: A0 FC LDY.B #$FC ; | CODE_018C7C: BD 70 15 LDA.W $1570,X ; | Y speed = #$FC or #$04, CODE_018C7F: 29 20 AND.B #$20 ; | depending on 1570,x CODE_018C81: F0 02 BEQ CODE_018C85 ; | CODE_018C83: A0 04 LDY.B #$04 ; | CODE_018C85: 94 AA STY RAM_SpriteSpeedY,X ; | CODE_018C87: 20 D8 AB JSR.W SubSprYPosNoGrvty ; / Update Y position CODE_018C8A: 80 05 BRA CODE_018C91 CODE_018C8C: 20 32 90 JSR.W SubUpdateSprPos CODE_018C8F: D6 AA DEC RAM_SpriteSpeedY,X CODE_018C91: 20 C1 8F JSR.W SubSprSpr+MarioSpr CODE_018C94: 20 14 80 JSR.W IsTouchingCeiling CODE_018C97: F0 02 BEQ CODE_018C9B CODE_018C99: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_018C9B: 20 0E 80 JSR.W IsOnGround CODE_018C9E: F0 0E BEQ CODE_018CAE CODE_018CA0: 20 04 9A JSR.W SetSomeYSpeed?? CODE_018CA3: A9 D0 LDA.B #$D0 CODE_018CA5: BC 0E 16 LDY.W $160E,X CODE_018CA8: D0 02 BNE CODE_018CAC CODE_018CAA: A9 B0 LDA.B #$B0 CODE_018CAC: 95 AA STA RAM_SpriteSpeedY,X CODE_018CAE: 20 89 90 JSR.W FlipIfTouchingObj CODE_018CB1: 20 5F 8E JSR.W SetAnimationFrame CODE_018CB4: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_018CB7: 4C C3 8B JMP.W Spr0to13Gfx DATA_018CBA: .db $FF,$01 DATA_018CBC: .db $F0,$10 RedHorzParaKoopa: 20 2B AC JSR.W SubOffscreen1Bnk1 CODE_018CC1: 80 03 BRA CODE_018CC6 RedVertParaKoopa: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_018CC6: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_018CC8: D0 60 BNE CODE_018D2A ; / CODE_018CCA: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_018CCD: 48 PHA CODE_018CCE: 20 15 9A JSR.W UpdateDirection CODE_018CD1: 68 PLA CODE_018CD2: DD 7C 15 CMP.W RAM_SpriteDir,X CODE_018CD5: F0 05 BEQ CODE_018CDC CODE_018CD7: A9 08 LDA.B #$08 ; \ Set turning timer CODE_018CD9: 9D AC 15 STA.W $15AC,X ; / CODE_018CDC: 20 5F 8E JSR.W SetAnimationFrame CODE_018CDF: B5 9E LDA RAM_SpriteNum,X CODE_018CE1: C9 0A CMP.B #$0A CODE_018CE3: D0 05 BNE CODE_018CEA CODE_018CE5: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_018CE8: 80 13 BRA CODE_018CFD CODE_018CEA: A0 FC LDY.B #$FC CODE_018CEC: BD 70 15 LDA.W $1570,X CODE_018CEF: 29 20 AND.B #$20 CODE_018CF1: F0 02 BEQ CODE_018CF5 CODE_018CF3: A0 04 LDY.B #$04 CODE_018CF5: 94 AA STY RAM_SpriteSpeedY,X CODE_018CF7: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_018CFA: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_018CFD: BD 40 15 LDA.W $1540,X CODE_018D00: D0 25 BNE CODE_018D27 CODE_018D02: F6 C2 INC RAM_SpriteState,X CODE_018D04: B5 C2 LDA RAM_SpriteState,X CODE_018D06: 29 03 AND.B #$03 CODE_018D08: D0 1D BNE CODE_018D27 CODE_018D0A: BD 1C 15 LDA.W $151C,X CODE_018D0D: 29 01 AND.B #$01 CODE_018D0F: A8 TAY CODE_018D10: B5 B6 LDA RAM_SpriteSpeedX,X CODE_018D12: 18 CLC CODE_018D13: 79 BA 8C ADC.W DATA_018CBA,Y CODE_018D16: 95 AA STA RAM_SpriteSpeedY,X CODE_018D18: 95 B6 STA RAM_SpriteSpeedX,X CODE_018D1A: D9 BC 8C CMP.W DATA_018CBC,Y CODE_018D1D: D0 08 BNE CODE_018D27 CODE_018D1F: FE 1C 15 INC.W $151C,X CODE_018D22: A9 30 LDA.B #$30 CODE_018D24: 9D 40 15 STA.W $1540,X CODE_018D27: 20 C1 8F JSR.W SubSprSpr+MarioSpr CODE_018D2A: 20 B7 8C JSR.W CODE_018CB7 Return018D2D: 60 RTS ; Return WingedGoomba: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_018D31: A5 9D LDA RAM_SpritesLocked CODE_018D33: F0 04 BEQ CODE_018D39 CODE_018D35: 20 AC 8D JSR.W CODE_018DAC Return018D38: 60 RTS ; Return CODE_018D39: 20 BB 8D JSR.W CODE_018DBB CODE_018D3C: 20 32 90 JSR.W SubUpdateSprPos CODE_018D3F: D6 AA DEC RAM_SpriteSpeedY,X CODE_018D41: B5 C2 LDA RAM_SpriteState,X CODE_018D43: 4A LSR CODE_018D44: 4A LSR CODE_018D45: 4A LSR CODE_018D46: 29 01 AND.B #$01 CODE_018D48: 9D 02 16 STA.W $1602,X CODE_018D4B: 20 AC 8D JSR.W CODE_018DAC CODE_018D4E: F6 C2 INC RAM_SpriteState,X CODE_018D50: BD 1C 15 LDA.W $151C,X CODE_018D53: D0 0A BNE CODE_018D5F CODE_018D55: B5 AA LDA RAM_SpriteSpeedY,X CODE_018D57: 10 06 BPL CODE_018D5F CODE_018D59: FE 70 15 INC.W $1570,X CODE_018D5C: FE 70 15 INC.W $1570,X CODE_018D5F: FE 70 15 INC.W $1570,X CODE_018D62: 20 14 80 JSR.W IsTouchingCeiling CODE_018D65: F0 02 BEQ CODE_018D69 CODE_018D67: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_018D69: 20 0E 80 JSR.W IsOnGround CODE_018D6C: F0 37 BEQ CODE_018DA5 CODE_018D6E: B5 C2 LDA RAM_SpriteState,X CODE_018D70: 29 3F AND.B #$3F CODE_018D72: D0 03 BNE CODE_018D77 CODE_018D74: 20 7C 85 JSR.W FaceMario CODE_018D77: 20 04 9A JSR.W SetSomeYSpeed?? CODE_018D7A: BD 1C 15 LDA.W $151C,X CODE_018D7D: D0 03 BNE CODE_018D82 CODE_018D7F: 9E 70 15 STZ.W $1570,X CODE_018D82: BD 40 15 LDA.W $1540,X CODE_018D85: D0 1E BNE CODE_018DA5 CODE_018D87: FE 1C 15 INC.W $151C,X CODE_018D8A: A0 F0 LDY.B #$F0 CODE_018D8C: BD 1C 15 LDA.W $151C,X CODE_018D8F: C9 04 CMP.B #$04 CODE_018D91: D0 10 BNE CODE_018DA3 CODE_018D93: 9E 1C 15 STZ.W $151C,X CODE_018D96: 22 F9 AC 01 JSL.L GetRand CODE_018D9A: 29 3F AND.B #$3F CODE_018D9C: 09 50 ORA.B #$50 CODE_018D9E: 9D 40 15 STA.W $1540,X CODE_018DA1: A0 D0 LDY.B #$D0 CODE_018DA3: 94 AA STY RAM_SpriteSpeedY,X CODE_018DA5: 20 89 90 JSR.W FlipIfTouchingObj CODE_018DA8: 20 C1 8F JSR.W SubSprSpr+MarioSpr Return018DAB: 60 RTS ; Return CODE_018DAC: 20 E9 8D JSR.W GoombaWingGfxRt CODE_018DAF: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_018DB2: 18 CLC CODE_018DB3: 69 04 ADC.B #$04 CODE_018DB5: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_018DB8: 4C 0D 9F JMP.W SubSprGfx2Entry1 CODE_018DBB: A9 F8 LDA.B #$F8 CODE_018DBD: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_018DC0: D0 02 BNE CODE_018DC4 CODE_018DC2: A9 08 LDA.B #$08 CODE_018DC4: 95 B6 STA RAM_SpriteSpeedX,X Return018DC6: 60 RTS ; Return DATA_018DC7: .db $F7,$0B,$F6,$0D,$FD,$0C,$FC,$0D .db $0B,$F5,$0A,$F3,$0B,$FC,$0C,$FB DATA_018DD7: .db $F7,$F7,$F8,$F8,$01,$01,$02,$02 GoombaWingGfxProp: .db $46,$06 GoombaWingTiles: .db $C6,$C6,$5D,$5D GoombaWingTileSize: .db $02,$02,$00,$00 GoombaWingGfxRt: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_018DEC: BD 70 15 LDA.W $1570,X CODE_018DEF: 4A LSR CODE_018DF0: 4A LSR CODE_018DF1: 29 02 AND.B #$02 CODE_018DF3: 18 CLC CODE_018DF4: 7D 02 16 ADC.W $1602,X CODE_018DF7: 85 05 STA $05 CODE_018DF9: 0A ASL CODE_018DFA: 85 02 STA $02 CODE_018DFC: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_018DFF: 85 04 STA $04 CODE_018E01: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_018E04: DA PHX CODE_018E05: A2 01 LDX.B #$01 CODE_018E07: 86 03 STX $03 CODE_018E09: 8A TXA CODE_018E0A: 18 CLC CODE_018E0B: 65 02 ADC $02 CODE_018E0D: 48 PHA CODE_018E0E: A6 04 LDX $04 CODE_018E10: D0 03 BNE CODE_018E15 CODE_018E12: 18 CLC CODE_018E13: 69 08 ADC.B #$08 CODE_018E15: AA TAX CODE_018E16: A5 00 LDA $00 CODE_018E18: 18 CLC CODE_018E19: 7D C7 8D ADC.W DATA_018DC7,X CODE_018E1C: 99 00 03 STA.W OAM_DispX,Y CODE_018E1F: FA PLX CODE_018E20: A5 01 LDA $01 CODE_018E22: 18 CLC CODE_018E23: 7D D7 8D ADC.W DATA_018DD7,X CODE_018E26: 99 01 03 STA.W OAM_DispY,Y CODE_018E29: A6 05 LDX $05 CODE_018E2B: BD E1 8D LDA.W GoombaWingTiles,X CODE_018E2E: 99 02 03 STA.W OAM_Tile,Y CODE_018E31: 5A PHY CODE_018E32: 98 TYA CODE_018E33: 4A LSR CODE_018E34: 4A LSR CODE_018E35: A8 TAY CODE_018E36: BD E5 8D LDA.W GoombaWingTileSize,X CODE_018E39: 99 60 04 STA.W OAM_TileSize,Y CODE_018E3C: 7A PLY CODE_018E3D: A6 03 LDX $03 CODE_018E3F: A5 04 LDA $04 CODE_018E41: 4A LSR CODE_018E42: BD DF 8D LDA.W GoombaWingGfxProp,X CODE_018E45: B0 02 BCS CODE_018E49 CODE_018E47: 49 40 EOR.B #$40 CODE_018E49: 05 64 ORA $64 CODE_018E4B: 99 03 03 STA.W OAM_Prop,Y CODE_018E4E: 98 TYA CODE_018E4F: 18 CLC CODE_018E50: 69 08 ADC.B #$08 CODE_018E52: A8 TAY CODE_018E53: CA DEX CODE_018E54: 10 B1 BPL CODE_018E07 CODE_018E56: FA PLX CODE_018E57: A0 FF LDY.B #$FF CODE_018E59: A9 02 LDA.B #$02 CODE_018E5B: 20 BB B7 JSR.W FinishOAMWriteRt Return018E5E: 60 RTS ; Return SetAnimationFrame: FE 70 15 INC.W $1570,X CODE_018E62: BD 70 15 LDA.W $1570,X ; \ Change animation image every 8 cycles CODE_018E65: 4A LSR ; | CODE_018E66: 4A LSR ; | CODE_018E67: 4A LSR ; | CODE_018E68: 29 01 AND.B #$01 ; | CODE_018E6A: 9D 02 16 STA.W $1602,X ; / Return018E6D: 60 RTS ; Return PiranhaSpeed: .db $00,$F0,$00,$10 PiranTimeInState: .db $20,$30,$20,$30 ClassicPiranhas: BD 94 15 LDA.W $1594,X ; \ Don't draw the sprite if in pipe and Mario naerby CODE_018E79: D0 1F BNE CODE_018E9A ; / CODE_018E7B: A5 64 LDA $64 ; \ Set sprite to go behind objects CODE_018E7D: 48 PHA ; | for the graphics routine CODE_018E7E: BD D0 15 LDA.W $15D0,X ; | CODE_018E81: D0 04 BNE CODE_018E87 ; | CODE_018E83: A9 10 LDA.B #$10 ; | CODE_018E85: 85 64 STA $64 ; / CODE_018E87: 20 67 9D JSR.W SubSprGfx1 ; Draw the sprite CODE_018E8A: BC EA 15 LDY.W RAM_SprOAMIndex,X ; \ Modify the palette and page of the stem CODE_018E8D: B9 0B 03 LDA.W OAM_Tile3Prop,Y ; | CODE_018E90: 29 F1 AND.B #$F1 ; | CODE_018E92: 09 0B ORA.B #$0B ; | CODE_018E94: 99 0B 03 STA.W OAM_Tile3Prop,Y ; / CODE_018E97: 68 PLA ; \ Restore value of $64 CODE_018E98: 85 64 STA $64 ; / CODE_018E9A: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_018E9D: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_018E9F: D0 26 BNE Return018EC7 ; / CODE_018EA1: 20 5F 8E JSR.W SetAnimationFrame CODE_018EA4: BD 94 15 LDA.W $1594,X ; \ Don't don't process interactions if in pipe and Mario nearby CODE_018EA7: D0 03 BNE CODE_018EAC ; | CODE_018EA9: 20 C1 8F JSR.W SubSprSpr+MarioSpr ; / CODE_018EAC: B5 C2 LDA RAM_SpriteState,X ; \ Y = Piranha state CODE_018EAE: 29 03 AND.B #$03 ; | CODE_018EB0: A8 TAY ; / CODE_018EB1: BD 40 15 LDA.W $1540,X ; \ Change state if it's time CODE_018EB4: F0 12 BEQ ChangePiranhaState ; / CODE_018EB6: B9 6E 8E LDA.W PiranhaSpeed,Y ; Load Y speed CODE_018EB9: B4 9E LDY RAM_SpriteNum,X ; \ Invert speed if upside-down piranha CODE_018EBB: C0 2A CPY.B #$2A ; | CODE_018EBD: D0 03 BNE CODE_018EC2 ; | CODE_018EBF: 49 FF EOR.B #$FF ; | CODE_018EC1: 1A INC A ; / CODE_018EC2: 95 AA STA RAM_SpriteSpeedY,X ; Store Y Speed CODE_018EC4: 20 D8 AB JSR.W SubSprYPosNoGrvty ; Update position based on speed Return018EC7: 60 RTS ; Return ChangePiranhaState: B5 C2 LDA RAM_SpriteState,X ; \ $00 = Sprite state (00 - 03) CODE_018ECA: 29 03 AND.B #$03 ; | CODE_018ECC: 85 00 STA $00 ; / CODE_018ECE: D0 11 BNE CODE_018EE1 ; \ If the piranha is in the pipe (State 0)... CODE_018ED0: 20 30 AD JSR.W SubHorizPos ; | ...check if Mario is nearby... CODE_018ED3: A5 0F LDA $0F ; | CODE_018ED5: 18 CLC ; | CODE_018ED6: 69 1B ADC.B #$1B ; | CODE_018ED8: C9 37 CMP.B #$37 ; | CODE_018EDA: A9 01 LDA.B #$01 ; | CODE_018EDC: 9D 94 15 STA.W $1594,X ; | ...and set $1594,x if so CODE_018EDF: 90 0D BCC Return018EEE ; | CODE_018EE1: 9E 94 15 STZ.W $1594,X ; / CODE_018EE4: A4 00 LDY $00 ; \ Set time in state CODE_018EE6: B9 72 8E LDA.W PiranTimeInState,Y ; | CODE_018EE9: 9D 40 15 STA.W $1540,X ; / CODE_018EEC: F6 C2 INC RAM_SpriteState,X ; Go to next state Return018EEE: 60 RTS ; Return CODE_018EEF: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot CODE_018EF1: B9 0B 17 LDA.W RAM_ExSpriteNum,Y CODE_018EF4: F0 11 BEQ CODE_018F07 CODE_018EF6: 88 DEY CODE_018EF7: 10 F8 BPL CODE_018EF1 ADDR_018EF9: CE FC 18 DEC.W $18FC ADDR_018EFC: 10 05 BPL ADDR_018F03 ADDR_018EFE: A9 07 LDA.B #$07 ADDR_018F00: 8D FC 18 STA.W $18FC ADDR_018F03: AC FC 18 LDY.W $18FC Return018F06: 60 RTS ; Return CODE_018F07: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_018F0A: D0 FA BNE Return018F06 Return018F0C: 60 RTS ; Return HoppingFlame: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_018F0F: D0 38 BNE CODE_018F49 ; / CODE_018F11: FE 02 16 INC.W $1602,X CODE_018F14: 20 5F 8E JSR.W SetAnimationFrame CODE_018F17: 20 32 90 JSR.W SubUpdateSprPos CODE_018F1A: D6 AA DEC RAM_SpriteSpeedY,X CODE_018F1C: 20 BB 8D JSR.W CODE_018DBB CODE_018F1F: 16 B6 ASL RAM_SpriteSpeedX,X CODE_018F21: 20 0E 80 JSR.W IsOnGround CODE_018F24: F0 1D BEQ CODE_018F43 CODE_018F26: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_018F28: 20 04 9A JSR.W SetSomeYSpeed?? CODE_018F2B: BD 40 15 LDA.W $1540,X CODE_018F2E: F0 08 BEQ CODE_018F38 CODE_018F30: 3A DEC A CODE_018F31: D0 10 BNE CODE_018F43 CODE_018F33: 20 50 8F JSR.W CODE_018F50 CODE_018F36: 80 0B BRA CODE_018F43 CODE_018F38: 22 F9 AC 01 JSL.L GetRand CODE_018F3C: 29 1F AND.B #$1F CODE_018F3E: 09 20 ORA.B #$20 CODE_018F40: 9D 40 15 STA.W $1540,X CODE_018F43: 20 89 90 JSR.W FlipIfTouchingObj CODE_018F46: 20 E4 A7 JSR.W MarioSprInteractRt CODE_018F49: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_018F4C: 20 0D 9F JSR.W SubSprGfx2Entry1 Return018F4F: 60 RTS ; Return CODE_018F50: 22 F9 AC 01 JSL.L GetRand CODE_018F54: 29 0F AND.B #$0F CODE_018F56: 09 D0 ORA.B #$D0 CODE_018F58: 95 AA STA RAM_SpriteSpeedY,X CODE_018F5A: AD 8D 14 LDA.W RAM_RandomByte1 CODE_018F5D: 29 03 AND.B #$03 CODE_018F5F: D0 03 BNE CODE_018F64 CODE_018F61: 20 7C 85 JSR.W FaceMario CODE_018F64: 20 CB 80 JSR.W IsSprOffScreen CODE_018F67: D0 2D BNE Return018F96 CODE_018F69: 20 EF 8E JSR.W CODE_018EEF CODE_018F6C: B5 E4 LDA RAM_SpriteXLo,X CODE_018F6E: 18 CLC CODE_018F6F: 69 04 ADC.B #$04 CODE_018F71: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_018F74: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_018F77: 69 00 ADC.B #$00 CODE_018F79: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_018F7C: B5 D8 LDA RAM_SpriteYLo,X CODE_018F7E: 18 CLC CODE_018F7F: 69 08 ADC.B #$08 CODE_018F81: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_018F84: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_018F87: 69 00 ADC.B #$00 CODE_018F89: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_018F8C: A9 03 LDA.B #$03 ; \ Extended sprite = Hopping flame's flame CODE_018F8E: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_018F91: A9 FF LDA.B #$FF CODE_018F93: 99 6F 17 STA.W $176F,Y Return018F96: 60 RTS ; Return Lakitu: A0 00 LDY.B #$00 CODE_018F99: BD 58 15 LDA.W $1558,X CODE_018F9C: F0 02 BEQ CODE_018FA0 CODE_018F9E: A0 02 LDY.B #$02 CODE_018FA0: 98 TYA CODE_018FA1: 9D 02 16 STA.W $1602,X CODE_018FA4: 20 67 9D JSR.W SubSprGfx1 CODE_018FA7: BD 58 15 LDA.W $1558,X CODE_018FAA: F0 0C BEQ CODE_018FB8 CODE_018FAC: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_018FAF: B9 05 03 LDA.W OAM_Tile2DispY,Y CODE_018FB2: 38 SEC CODE_018FB3: E9 03 SBC.B #$03 CODE_018FB5: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_018FB8: BD 1C 15 LDA.W $151C,X CODE_018FBB: F0 04 BEQ SubSprSpr+MarioSpr CODE_018FBD: 22 72 E6 02 JSL.L CODE_02E672 SubSprSpr+MarioSpr: 20 0D A4 JSR.W SubSprSprInteract CODE_018FC4: 4C E4 A7 JMP.W MarioSprInteractRt BulletGfxProp: .db $42,$02,$03,$83,$03,$43,$03,$43 DATA_018FCF: .db $00,$00,$01,$01,$02,$03,$03,$02 BulletSpeedX: .db $20,$E0,$00,$00,$18,$18,$E8,$E8 BulletSpeedY: .db $00,$00,$E0,$20,$E8,$18,$18,$E8 BulletBill: A9 01 LDA.B #$01 CODE_018FE9: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_018FEC: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_018FEE: D0 24 BNE CODE_019014 ; / CODE_018FF0: B4 C2 LDY RAM_SpriteState,X CODE_018FF2: B9 C7 8F LDA.W BulletGfxProp,Y ; \ Store gfx properties into palette byte CODE_018FF5: 9D F6 15 STA.W RAM_SpritePal,X ; / CODE_018FF8: B9 CF 8F LDA.W DATA_018FCF,Y CODE_018FFB: 9D 02 16 STA.W $1602,X CODE_018FFE: B9 D7 8F LDA.W BulletSpeedX,Y ; \ Set X speed timerCODE_019001: 95 B6 STA RAM_SpriteSpeedX,X ; / CODE_019003: B9 DF 8F LDA.W BulletSpeedY,Y ; \ Set Y speed CODE_019006: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_019008: 20 CC AB JSR.W SubSprXPosNoGrvty ; \ Update position CODE_01900B: 20 D8 AB JSR.W SubSprYPosNoGrvty ; / CODE_01900E: 20 40 91 JSR.W CODE_019140 CODE_019011: 20 C1 8F JSR.W SubSprSpr+MarioSpr ; Interact with Mario and sprites CODE_019014: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_019017: B5 D8 LDA RAM_SpriteYLo,X CODE_019019: 38 STP CODE_01901A: E5 1C SBC RAM_ScreenBndryYLo CODE_01901C: C9 F0 CMP.B #$F0 CODE_01901E: 90 03 BCC CODE_019023 CODE_019020: 9E C8 14 STZ.W $14C8,X CODE_019023: BD 40 15 LDA.W $1540,X CODE_019026: F0 03 BEQ CODE_01902B CODE_019028: 4C 46 95 JMP.W CODE_019546 CODE_01902B: 4C 0D 9F JMP.W SubSprGfx2Entry1 DATA_01902E: .db $40,$10 DATA_019030: .db $03,$01 SubUpdateSprPos: 20 D8 AB JSR.W SubSprYPosNoGrvty ; Check for no gravity CODE_019035: A0 00 LDY.B #$00 ; init Y CODE_019037: BD 4A 16 LDA.W $164A,X ;\ (multi-use sprite address) if 00, don't make Ysp =E8 CODE_01903A: F0 0D BEQ CODE_019049 ;/ CODE_01903C: C8 INY ; Y =01 CODE_01903D: B5 AA LDA RAM_SpriteSpeedY,X ;\ CODE_01903F: 10 08 BPL CODE_019049 ;/ if moving down CODE_019041: C9 E8 CMP.B #$E8 ;\ CODE_019043: B0 04 BCS CODE_019049 ;/ if moving slowly up, don't make Ysp = E8 CODE_019045: A9 E8 LDA.B #$E8 ;\ CODE_019047: 95 AA STA RAM_SpriteSpeedY,X ;/ make Ysp E8 CODE_019049: B5 AA LDA RAM_SpriteSpeedY,X ;\ CODE_01904B: 18 CLC ;| add 03 if sprite address is 00(case1), 01 if it's not (case2) CODE_01904C: 79 30 90 ADC.W DATA_019030,Y ;| CODE_01904F: 95 AA STA RAM_SpriteSpeedY,X ;/ to Ysp CODE_019051: 30 0A BMI CODE_01905D ; if that makes the sprite go up, CODE_019053: D9 2E 90 CMP.W DATA_01902E,Y ;\ if speed is slower than 40 for case1, or 10 for case2, CODE_019056: 90 05 BCC CODE_01905D ;/ CODE_019058: B9 2E 90 LDA.W DATA_01902E,Y ;\ CODE_01905B: 95 AA STA RAM_SpriteSpeedY,X ;/ make that the speed CODE_01905D: B5 B6 LDA RAM_SpriteSpeedX,X ;\ CODE_01905F: 48 PHA ;/ Preserve Xsp CODE_019060: BC 4A 16 LDY.W $164A,X ; this address again CODE_019063: F0 11 BEQ CODE_019076 ; if 00, return after doing a few things (handling "sprite falls through things" mainly) CODE_019065: 0A ASL ; Otherwise, "x2" it CODE_019066: 76 B6 ROR RAM_SpriteSpeedX,X ;| CODE_019068: B5 B6 LDA RAM_SpriteSpeedX,X ;| CODE_01906A: 48 PHA ;| CODE_01906B: 85 00 STA $00 ;| CODE_01906D: 0A ASL ;| CODE_01906E: 66 00 ROR $00 ;| CODE_019070: 68 PLA ;| CODE_019071: 18 CLC ;| CODE_019072: 65 00 ADC $00 ;| CODE_019074: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_019076: 20 CC AB JSR.W SubSprXPosNoGrvty ; Act like there is no gravity CODE_019079: 68 PLA CODE_01907A: 95 B6 STA RAM_SpriteSpeedX,X CODE_01907C: BD DC 15 LDA.W $15DC,X ;\ CODE_01907F: D0 04 BNE ADDR_019085 ;| if sprite is suppposed to fall through things... CODE_019081: 20 40 91 JSR.W CODE_019140 Return019084: 60 RTS ; Return ADDR_019085: 9E 88 15 STZ.W RAM_SprObjStatus,X ;/ then don't let it be stopped by anything Return019088: 60 RTS ; Return FlipIfTouchingObj: BD 7C 15 LDA.W RAM_SpriteDir,X ; \ If touching an object in the direction CODE_01908C: 1A INC A ; | that the sprite is moving... CODE_01908D: 3D 88 15 AND.W RAM_SprObjStatus,X ; | CODE_019090: 29 03 AND.B #$03 ; | CODE_019092: F0 03 BEQ Return019097 ; | CODE_019094: 20 98 90 JSR.W FlipSpriteDir ; | ...flip direction Return019097: 60 RTS ; / FlipSpriteDir: BD AC 15 LDA.W $15AC,X ; \ Return if turning timer is set CODE_01909B: D0 14 BNE Return0190B1 ; / CODE_01909D: A9 08 LDA.B #$08 ; \ Set turning timer CODE_01909F: 9D AC 15 STA.W $15AC,X ; / CODE_0190A2: B5 B6 LDA RAM_SpriteSpeedX,X ; \ Invert speed CODE_0190A4: 49 FF EOR.B #$FF ; | CODE_0190A6: 1A INC A ; | CODE_0190A7: 95 B6 STA RAM_SpriteSpeedX,X ; / CODE_0190A9: BD 7C 15 LDA.W RAM_SpriteDir,X ; \ Flip sprite direction CODE_0190AC: 49 01 EOR.B #$01 ; | CODE_0190AE: 9D 7C 15 STA.W RAM_SpriteDir,X ; / Return0190B1: 60 RTS ; Return GenericSprGfxRt2: 8B PHB CODE_0190B3: 4B PHK CODE_0190B4: AB PLB CODE_0190B5: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_0190B8: AB PLB Return0190B9: 6B RTL ; Return SpriteObjClippingX: .db $0E,$02,$08,$08,$0E,$02,$07,$07 .db $07,$07,$07,$07,$0E,$02,$08,$08 .db $10,$00,$08,$08,$0D,$02,$08,$08 .db $07,$00,$04,$04,$1F,$01,$10,$10 .db $0F,$00,$08,$08,$10,$00,$08,$08 .db $0D,$02,$08,$08,$0E,$02,$08,$08 .db $0D,$02,$08,$08,$10,$00,$08,$08 .db $1F,$00,$10,$10,$08 SpriteObjClippingY: .db $08,$08,$10,$02,$12,$12,$20,$02 .db $07,$07,$07,$07,$10,$10,$20,$0B .db $12,$12,$20,$02,$18,$18,$20,$10 .db $04,$04,$08,$00,$10,$10,$1F,$01 .db $08,$08,$0F,$00,$08,$08,$10,$00 .db $48,$48,$50,$42,$04,$04,$08,$00 .db $00,$00,$00,$00,$08,$08,$10,$00 .db $08,$08,$10,$00,$04 DATA_019134: .db $01,$02,$04,$08 CODE_019138: 8B PHB CODE_019139: 4B PHK CODE_01913A: AB PLB CODE_01913B: 20 40 91 JSR.W CODE_019140 CODE_01913E: AB PLB Return01913F: 6B RTL ; Return CODE_019140: 9C 94 16 STZ.W $1694 CODE_019143: 9E 88 15 STZ.W RAM_SprObjStatus,X ; Set sprite's position status to 0 (in air) CODE_019146: 9E B8 15 STZ.W $15B8,X CODE_019149: 9C 5E 18 STZ.W $185E CODE_01914C: BD 4A 16 LDA.W $164A,X CODE_01914F: 8D 95 16 STA.W $1695 CODE_019152: 9E 4A 16 STZ.W $164A,X CODE_019155: 20 11 92 JSR.W CODE_019211 CODE_019158: A5 5B LDA RAM_IsVerticalLvl ; Vertical level flag CODE_01915A: 10 62 BPL CODE_0191BE CODE_01915C: EE 5E 18 INC.W $185E CODE_01915F: B5 E4 LDA RAM_SpriteXLo,X ; \ Sprite's X position += $26 CODE_019161: 18 CLC ; | for call to below routine CODE_019162: 65 26 ADC $26 ; | CODE_019164: 95 E4 STA RAM_SpriteXLo,X ; | CODE_019166: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_019169: 65 27 ADC $27 ; | CODE_01916B: 9D E0 14 STA.W RAM_SpriteXHi,X ; / CODE_01916E: B5 D8 LDA RAM_SpriteYLo,X ; \ Sprite's Y position += $28 CODE_019170: 18 CLC ; | for call to below routine CODE_019171: 65 28 ADC $28 ; | CODE_019173: 95 D8 STA RAM_SpriteYLo,X ; | CODE_019175: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_019178: 65 29 ADC $29 ; | CODE_01917A: 9D D4 14 STA.W RAM_SpriteYHi,X ; / CODE_01917D: 20 11 92 JSR.W CODE_019211 CODE_019180: B5 E4 LDA RAM_SpriteXLo,X ; \ Restore sprite's original position CODE_019182: 38 SEC ; | CODE_019183: E5 26 SBC $26 ; | CODE_019185: 95 E4 STA RAM_SpriteXLo,X ; | CODE_019187: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_01918A: E5 27 SBC $27 ; | CODE_01918C: 9D E0 14 STA.W RAM_SpriteXHi,X ; | CODE_01918F: B5 D8 LDA RAM_SpriteYLo,X ; | CODE_019191: 38 SEC ; | CODE_019192: E5 28 SBC $28 ; | CODE_019194: 95 D8 STA RAM_SpriteYLo,X ; | CODE_019196: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_019199: E5 29 SBC $29 ; | CODE_01919B: 9D D4 14 STA.W RAM_SpriteYHi,X ; / CODE_01919E: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_0191A1: 10 1B BPL CODE_0191BE CODE_0191A3: 29 03 AND.B #$03 CODE_0191A5: D0 17 BNE CODE_0191BE CODE_0191A7: A0 00 LDY.B #$00 CODE_0191A9: AD BF 17 LDA.W $17BF ; \ A = -$17BF CODE_0191AC: 49 FF EOR.B #$FF ; | CODE_0191AE: 1A INC A ; | CODE_0191AF: 10 01 BPL CODE_0191B2 ADDR_0191B1: 88 DEY CODE_0191B2: 18 CLC CODE_0191B3: 75 E4 ADC RAM_SpriteXLo,X CODE_0191B5: 95 E4 STA RAM_SpriteXLo,X CODE_0191B7: 98 TYA CODE_0191B8: 7D E0 14 ADC.W RAM_SpriteXHi,X CODE_0191BB: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_0191BE: BD 0F 19 LDA.W RAM_Tweaker190F,X ; \ Branch if "Don't get stuck in walls" is not set CODE_0191C1: 10 2A BPL CODE_0191ED ; / CODE_0191C3: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not touching object CODE_0191C6: 29 03 AND.B #$03 ; | CODE_0191C8: F0 23 BEQ CODE_0191ED ; / CODE_0191CA: A8 TAY CODE_0191CB: BD D0 15 LDA.W $15D0,X CODE_0191CE: D0 1D BNE CODE_0191ED CODE_0191D0: B5 E4 LDA RAM_SpriteXLo,X CODE_0191D2: 18 CLC CODE_0191D3: 79 83 92 ADC.W Return019283,Y CODE_0191D6: 95 E4 STA RAM_SpriteXLo,X CODE_0191D8: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_0191DB: 79 85 92 ADC.W DATA_019285,Y CODE_0191DE: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_0191E1: B5 B6 LDA RAM_SpriteSpeedX,X CODE_0191E3: D0 08 BNE CODE_0191ED CODE_0191E5: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_0191E8: 29 FC AND.B #$FC CODE_0191EA: 9D 88 15 STA.W RAM_SprObjStatus,X CODE_0191ED: BD 4A 16 LDA.W $164A,X CODE_0191F0: 4D 95 16 EOR.W $1695 CODE_0191F3: F0 1B BEQ Return019210 CODE_0191F5: 0A ASL CODE_0191F6: BD 6E 16 LDA.W RAM_Tweaker166E,X ; \ TODO: Unknown Bit A... CODE_0191F9: 29 40 AND.B #$40 ; | ... may be related to cape CODE_0191FB: 1D E2 1F ORA.W $1FE2,X CODE_0191FE: D0 10 BNE Return019210 CODE_019200: B0 0A BCS CODE_01920C CODE_019202: 2C 9B 0D BIT.W $0D9B CODE_019205: 30 05 BMI CODE_01920C CODE_019207: 22 C0 84 02 JSL.L CODE_0284C0 Return01920B: 60 RTS ; Return CODE_01920C: 22 28 85 02 JSL.L CODE_028528 Return019210: 60 RTS ; Return CODE_019211: AD 0E 19 LDA.W $190E CODE_019214: F0 45 BEQ CODE_01925B CODE_019216: A5 85 LDA RAM_IsWaterLevel CODE_019218: D0 3E BNE CODE_019258 CODE_01921A: A0 3C LDY.B #$3C CODE_01921C: 20 4D 94 JSR.W CODE_01944D CODE_01921F: F0 12 BEQ CODE_019233 CODE_019221: AD 93 16 LDA.W $1693 CODE_019224: C9 6E CMP.B #$6E CODE_019226: 90 33 BCC CODE_01925B CODE_019228: 22 4D F0 00 JSL.L CODE_00F04D CODE_01922C: AD 93 16 LDA.W $1693 CODE_01922F: 90 2A BCC CODE_01925B CODE_019231: B0 07 BCS CODE_01923A CODE_019233: AD 93 16 LDA.W $1693 CODE_019236: C9 06 CMP.B #$06 CODE_019238: B0 21 BCS CODE_01925B CODE_01923A: A8 TAY CODE_01923B: BD 4A 16 LDA.W $164A,X CODE_01923E: 09 01 ORA.B #$01 CODE_019240: C0 04 CPY.B #$04 CODE_019242: D0 14 BNE CODE_019258 CODE_019244: 48 PHA CODE_019245: B5 9E LDA RAM_SpriteNum,X ; \ Branch if Yoshi CODE_019247: C9 35 CMP.B #$35 ; | CODE_019249: F0 07 BEQ CODE_019252 ; / CODE_01924B: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ Branch if "Process interaction every frame" CODE_01924E: 29 02 AND.B #$02 ; | is set CODE_019250: D0 03 BNE CODE_019255 ; / CODE_019252: 20 30 93 JSR.W CODE_019330 CODE_019255: 68 PLA CODE_019256: 09 80 ORA.B #$80 CODE_019258: 9D 4A 16 STA.W $164A,X CODE_01925B: BD 86 16 LDA.W RAM_Tweaker1686,X CODE_01925E: 30 B0 BMI Return019210 CODE_019260: AD 5E 18 LDA.W $185E CODE_019263: F0 0A BEQ CODE_01926F CODE_019265: 2C 0E 19 BIT.W $190E CODE_019268: 70 56 BVS Return0192C0 CODE_01926A: BD 6E 16 LDA.W RAM_Tweaker166E,X ; \ TODO: Return if Unknown Bit B is set CODE_01926D: 30 51 BMI Return0192C0 ; / CODE_01926F: 20 C9 92 JSR.W CODE_0192C9 CODE_019272: BD 0F 19 LDA.W RAM_Tweaker190F,X ; \ Branch if "Don't get stuck in walls" is not set CODE_019275: 10 11 BPL CODE_019288 ; / CODE_019277: B5 B6 LDA RAM_SpriteSpeedX,X ; \ Branch if sprite has X speed... CODE_019279: 1D AC 15 ORA.W $15AC,X ; | ...or sprite is turning CODE_01927C: D0 0A BNE CODE_019288 ; / CODE_01927E: A5 13 LDA RAM_FrameCounter CODE_019280: 20 8E 92 JSR.W CODE_01928E Return019283: 60 RTS ; Return DATA_019284: .db $FC DATA_019285: .db $04,$FF,$00 CODE_019288: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01928A: F0 34 BEQ Return0192C0 CODE_01928C: 0A ASL CODE_01928D: 2A ROL CODE_01928E: 29 01 AND.B #$01 CODE_019290: A8 TAY CODE_019291: 20 41 94 JSR.W CODE_019441 CODE_019294: 8D 62 18 STA.W $1862 CODE_019297: F0 21 BEQ CODE_0192BA CODE_019299: AD 93 16 LDA.W $1693 CODE_01929C: C9 11 CMP.B #$11 CODE_01929E: 90 1A BCC CODE_0192BA CODE_0192A0: C9 6E CMP.B #$6E CODE_0192A2: B0 16 BCS CODE_0192BA CODE_0192A4: 20 25 94 JSR.W CODE_019425 CODE_0192A7: AD 93 16 LDA.W $1693 CODE_0192AA: 8D A7 18 STA.W $18A7 CODE_0192AD: AD 5E 18 LDA.W $185E CODE_0192B0: F0 08 BEQ CODE_0192BA CODE_0192B2: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_0192B5: 09 40 ORA.B #$40 CODE_0192B7: 9D 88 15 STA.W RAM_SprObjStatus,X CODE_0192BA: AD 93 16 LDA.W $1693 CODE_0192BD: 8D 60 18 STA.W $1860 Return0192C0: 60 RTS ; Return DATA_0192C1: .db $FE,$02,$FF,$00 DATA_0192C5: .db $01,$FF DATA_0192C7: .db $00,$FF CODE_0192C9: A0 02 LDY.B #$02 CODE_0192CB: B5 AA LDA RAM_SpriteSpeedY,X CODE_0192CD: 10 01 BPL CODE_0192D0 CODE_0192CF: C8 INY CODE_0192D0: 20 41 94 JSR.W CODE_019441 CODE_0192D3: 8D D7 18 STA.W $18D7 CODE_0192D6: 08 PHP CODE_0192D7: AD 93 16 LDA.W $1693 CODE_0192DA: 8D 5F 18 STA.W $185F CODE_0192DD: 28 PLP CODE_0192DE: F0 2F BEQ Return01930F CODE_0192E0: AD 93 16 LDA.W $1693 CODE_0192E3: C0 02 CPY.B #$02 CODE_0192E5: F0 29 BEQ CODE_019310 CODE_0192E7: C9 11 CMP.B #$11 CODE_0192E9: 90 24 BCC Return01930F CODE_0192EB: C9 6E CMP.B #$6E CODE_0192ED: 90 0A BCC CODE_0192F9 CODE_0192EF: CD 30 14 CMP.W $1430 CODE_0192F2: 90 1B BCC Return01930F CODE_0192F4: CD 31 14 CMP.W $1431 CODE_0192F7: B0 16 BCS Return01930F CODE_0192F9: 20 25 94 JSR.W CODE_019425 CODE_0192FC: AD 93 16 LDA.W $1693 CODE_0192FF: 8D 68 18 STA.W $1868 CODE_019302: AD 5E 18 LDA.W $185E CODE_019305: F0 08 BEQ Return01930F CODE_019307: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_01930A: 09 20 ORA.B #$20 CODE_01930C: 9D 88 15 STA.W RAM_SprObjStatus,X Return01930F: 60 RTS ; Return CODE_019310: C9 59 CMP.B #$59 CODE_019312: 90 27 BCC CODE_01933B CODE_019314: C9 5C CMP.B #$5C CODE_019316: B0 23 BCS CODE_01933B CODE_019318: AC 31 19 LDY.W $1931 CODE_01931B: C0 0E CPY.B #$0E CODE_01931D: F0 04 BEQ CODE_019323 CODE_01931F: C0 03 CPY.B #$03 CODE_019321: D0 18 BNE CODE_01933B CODE_019323: B5 9E LDA RAM_SpriteNum,X ; \ Branch if sprite == Yoshi CODE_019325: C9 35 CMP.B #$35 ; | CODE_019327: F0 07 BEQ CODE_019330 ; / CODE_019329: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ Branch if "Process interaction every frame" CODE_01932C: 29 02 AND.B #$02 ; | is set CODE_01932E: D0 0B BNE CODE_01933B ; / CODE_019330: A9 05 LDA.B #$05 ; \ Sprite status = #$05 ??? CODE_019332: 9D C8 14 STA.W $14C8,X ; / CODE_019335: A9 40 LDA.B #$40 CODE_019337: 9D 58 15 STA.W $1558,X Return01933A: 60 RTS ; Return CODE_01933B: C9 11 CMP.B #$11 CODE_01933D: 90 71 BCC CODE_0193B0 CODE_01933F: C9 6E CMP.B #$6E CODE_019341: 90 75 BCC CODE_0193B8 CODE_019343: C9 D8 CMP.B #$D8 CODE_019345: B0 3F BCS CODE_019386 CODE_019347: 22 19 FA 00 JSL.L CODE_00FA19 CODE_01934B: B7 05 LDA [$05],Y CODE_01934D: C9 10 CMP.B #$10 CODE_01934F: F0 5E BEQ Return0193AF CODE_019351: B0 33 BCS CODE_019386 CODE_019353: A5 00 LDA $00 CODE_019355: C9 0C CMP.B #$0C CODE_019357: B0 04 BCS CODE_01935D CODE_019359: D7 05 CMP [$05],Y CODE_01935B: 90 52 BCC Return0193AF CODE_01935D: B7 05 LDA [$05],Y CODE_01935F: 8D 94 16 STA.W $1694 CODE_019362: DA PHX CODE_019363: A6 08 LDX $08 CODE_019365: BF 3D E5 00 LDA.L DATA_00E53D,X CODE_019369: FA PLX CODE_01936A: 9D B8 15 STA.W $15B8,X CODE_01936D: C9 04 CMP.B #$04 CODE_01936F: F0 04 BEQ CODE_019375 CODE_019371: C9 FC CMP.B #$FC CODE_019373: D0 0F BNE CODE_019384 CODE_019375: 55 B6 EOR RAM_SpriteSpeedX,X CODE_019377: 10 07 BPL CODE_019380 CODE_019379: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01937B: F0 03 BEQ CODE_019380 CODE_01937D: 20 98 90 JSR.W FlipSpriteDir CODE_019380: 22 CA C1 03 JSL.L CODE_03C1CA CODE_019384: 80 32 BRA CODE_0193B8 CODE_019386: A5 0C LDA $0C CODE_019388: 29 0F AND.B #$0F CODE_01938A: C9 05 CMP.B #$05 CODE_01938C: B0 21 BCS Return0193AF CODE_01938E: BD C8 14 LDA.W $14C8,X ; \ Return if sprite status == Killed CODE_019391: C9 02 CMP.B #$02 ; | CODE_019393: F0 1A BEQ Return0193AF ; / CODE_019395: C9 05 CMP.B #$05 ; \ Return if sprite status == #$05 CODE_019397: F0 16 BEQ Return0193AF ; / CODE_019399: C9 0B CMP.B #$0B ; \ Return if sprite status == Carried CODE_01939B: F0 12 BEQ Return0193AF ; / CODE_01939D: B5 D8 LDA RAM_SpriteYLo,X CODE_01939F: 38 SEC CODE_0193A0: E9 01 SBC.B #$01 CODE_0193A2: 95 D8 STA RAM_SpriteYLo,X CODE_0193A4: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_0193A7: E9 00 SBC.B #$00 CODE_0193A9: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_0193AC: 20 C9 92 JSR.W CODE_0192C9 Return0193AF: 60 RTS ; Return CODE_0193B0: A5 0C LDA $0C CODE_0193B2: 29 0F AND.B #$0F CODE_0193B4: C9 05 CMP.B #$05 CODE_0193B6: B0 6C BCS Return019424 CODE_0193B8: BD 86 16 LDA.W RAM_Tweaker1686,X CODE_0193BB: 29 04 AND.B #$04 CODE_0193BD: D0 55 BNE CODE_019414 CODE_0193BF: BD C8 14 LDA.W $14C8,X ; \ Return if sprite status == Killed CODE_0193C2: C9 02 CMP.B #$02 ; | CODE_0193C4: F0 5E BEQ Return019424 ; / CODE_0193C6: C9 05 CMP.B #$05 ; \ Return if sprite status == #$05 CODE_0193C8: F0 5A BEQ Return019424 ; / CODE_0193CA: C9 0B CMP.B #$0B ; \ Return if sprite status == Carried CODE_0193CC: F0 56 BEQ Return019424 ; / CODE_0193CE: AC 93 16 LDY.W $1693 CODE_0193D1: C0 0C CPY.B #$0C CODE_0193D3: F0 04 BEQ CODE_0193D9 CODE_0193D5: C0 0D CPY.B #$0D CODE_0193D7: D0 2C BNE CODE_019405 CODE_0193D9: A5 13 LDA RAM_FrameCounter CODE_0193DB: 29 03 AND.B #$03 CODE_0193DD: D0 26 BNE CODE_019405 CODE_0193DF: 20 08 80 JSR.W IsTouchingObjSide CODE_0193E2: D0 21 BNE CODE_019405 CODE_0193E4: AD 31 19 LDA.W $1931 CODE_0193E7: C9 02 CMP.B #$02 CODE_0193E9: F0 04 BEQ ADDR_0193EF CODE_0193EB: C9 08 CMP.B #$08 CODE_0193ED: D0 16 BNE CODE_019405 ADDR_0193EF: 98 TYA ADDR_0193F0: 38 SEC ADDR_0193F1: E9 0C SBC.B #$0C ADDR_0193F3: A8 TAY ADDR_0193F4: B5 E4 LDA RAM_SpriteXLo,X ADDR_0193F6: 18 CLC ADDR_0193F7: 79 C5 92 ADC.W DATA_0192C5,Y ADDR_0193FA: 95 E4 STA RAM_SpriteXLo,X ADDR_0193FC: BD E0 14 LDA.W RAM_SpriteXHi,X ADDR_0193FF: 79 C7 92 ADC.W DATA_0192C7,Y ADDR_019402: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_019405: BD D0 15 LDA.W $15D0,X CODE_019408: D0 0A BNE CODE_019414 CODE_01940A: B5 D8 LDA RAM_SpriteYLo,X CODE_01940C: 29 F0 AND.B #$F0 CODE_01940E: 18 CLC CODE_01940F: 6D 94 16 ADC.W $1694 CODE_019412: 95 D8 STA RAM_SpriteYLo,X CODE_019414: 20 35 94 JSR.W CODE_019435 CODE_019417: AD 5E 18 LDA.W $185E CODE_01941A: F0 08 BEQ Return019424 CODE_01941C: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_01941F: 09 80 ORA.B #$80 CODE_019421: 9D 88 15 STA.W RAM_SprObjStatus,X Return019424: 60 RTS ; Return CODE_019425: A5 0A LDA $0A CODE_019427: 85 9A STA RAM_BlockYLo CODE_019429: A5 0B LDA $0B CODE_01942B: 85 9B STA RAM_BlockYHi CODE_01942D: A5 0C LDA $0C CODE_01942F: 85 98 STA RAM_BlockXLo CODE_019431: A5 0D LDA $0D CODE_019433: 85 99 STA RAM_BlockXHi CODE_019435: A4 0F LDY $0F CODE_019437: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_01943A: 19 34 91 ORA.W DATA_019134,Y CODE_01943D: 9D 88 15 STA.W RAM_SprObjStatus,X Return019440: 60 RTS ; Return CODE_019441: 84 0F STY $0F ; Can be 00-03 CODE_019443: BD 56 16 LDA.W RAM_Tweaker1656,X ; \ Y = $1656,x (Upper 4 bits) + $0F (Lower 2 bits) CODE_019446: 29 0F AND.B #$0F ; | CODE_019448: 0A ASL ; | CODE_019449: 0A ASL ; | CODE_01944A: 65 0F ADC $0F ; | CODE_01944C: A8 TAY ; / CODE_01944D: AD 5E 18 LDA.W $185E CODE_019450: 1A INC A CODE_019451: 25 5B AND RAM_IsVerticalLvl CODE_019453: F0 6A BEQ CODE_0194BF CODE_019455: B5 D8 LDA RAM_SpriteYLo,X CODE_019457: 18 CLC CODE_019458: 79 F7 90 ADC.W SpriteObjClippingY,Y CODE_01945B: 85 0C STA $0C CODE_01945D: 29 F0 AND.B #$F0 CODE_01945F: 85 00 STA $00 CODE_019461: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_019464: 69 00 ADC.B #$00 CODE_019466: C5 5D CMP RAM_ScreensInLvl CODE_019468: B0 4A BCS CODE_0194B4 CODE_01946A: 85 0D STA $0D CODE_01946C: B5 E4 LDA RAM_SpriteXLo,X CODE_01946E: 18 CLC CODE_01946F: 79 BA 90 ADC.W SpriteObjClippingX,Y CODE_019472: 85 0A STA $0A CODE_019474: 85 01 STA $01 CODE_019476: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_019479: 69 00 ADC.B #$00 CODE_01947B: C9 02 CMP.B #$02 CODE_01947D: B0 35 BCS CODE_0194B4 CODE_01947F: 85 0B STA $0B CODE_019481: A5 01 LDA $01 CODE_019483: 4A LSR CODE_019484: 4A LSR CODE_019485: 4A LSR CODE_019486: 4A LSR CODE_019487: 05 00 ORA $00 CODE_019489: 85 00 STA $00 CODE_01948B: A6 0D LDX $0D CODE_01948D: BF 80 BA 00 LDA.L DATA_00BA80,X CODE_019491: AC 5E 18 LDY.W $185E CODE_019494: F0 04 BEQ CODE_01949A CODE_019496: BF 8E BA 00 LDA.L DATA_00BA8E,X CODE_01949A: 18 CLC CODE_01949B: 65 00 ADC $00 CODE_01949D: 85 05 STA $05 CODE_01949F: BF BC BA 00 LDA.L DATA_00BABC,X CODE_0194A3: AC 5E 18 LDY.W $185E CODE_0194A6: F0 04 BEQ CODE_0194AC CODE_0194A8: BF CA BA 00 LDA.L DATA_00BACA,X CODE_0194AC: 65 0B ADC $0B CODE_0194AE: 85 06 STA $06 CODE_0194B0: 20 23 95 JSR.W CODE_019523 Return0194B3: 60 RTS ; Return CODE_0194B4: A4 0F LDY $0F CODE_0194B6: A9 00 LDA.B #$00 CODE_0194B8: 8D 93 16 STA.W $1693 CODE_0194BB: 8D 94 16 STA.W $1694 Return0194BE: 60 RTS ; Return CODE_0194BF: B5 D8 LDA RAM_SpriteYLo,X CODE_0194C1: 18 CLC CODE_0194C2: 79 F7 90 ADC.W SpriteObjClippingY,Y CODE_0194C5: 85 0C STA $0C CODE_0194C7: 29 F0 AND.B #$F0 CODE_0194C9: 85 00 STA $00 CODE_0194CB: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_0194CE: 69 00 ADC.B #$00 CODE_0194D0: 85 0D STA $0D CODE_0194D2: C2 20 REP #$20 ; Accum (16 bit) CODE_0194D4: A5 0C LDA $0C CODE_0194D6: C9 B0 01 CMP.W #$01B0 CODE_0194D9: E2 20 SEP #$20 ; Accum (8 bit) CODE_0194DB: B0 D7 BCS CODE_0194B4 CODE_0194DD: B5 E4 LDA RAM_SpriteXLo,X CODE_0194DF: 18 CLC CODE_0194E0: 79 BA 90 ADC.W SpriteObjClippingX,Y CODE_0194E3: 85 0A STA $0A CODE_0194E5: 85 01 STA $01 CODE_0194E7: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_0194EA: 69 00 ADC.B #$00 CODE_0194EC: 85 0B STA $0B CODE_0194EE: 30 C4 BMI CODE_0194B4 CODE_0194F0: C5 5D CMP RAM_ScreensInLvl CODE_0194F2: B0 C0 BCS CODE_0194B4 CODE_0194F4: A5 01 LDA $01 CODE_0194F6: 4A LSR CODE_0194F7: 4A LSR CODE_0194F8: 4A LSR CODE_0194F9: 4A LSR CODE_0194FA: 05 00 ORA $00 CODE_0194FC: 85 00 STA $00 CODE_0194FE: A6 0B LDX $0B CODE_019500: BF 60 BA 00 LDA.L DATA_00BA60,X CODE_019504: AC 5E 18 LDY.W $185E CODE_019507: F0 04 BEQ CODE_01950D CODE_019509: BF 70 BA 00 LDA.L DATA_00BA70,X CODE_01950D: 18 CLC CODE_01950E: 65 00 ADC $00 CODE_019510: 85 05 STA $05 CODE_019512: BF 9C BA 00 LDA.L DATA_00BA9C,X CODE_019516: AC 5E 18 LDY.W $185E CODE_019519: F0 04 BEQ CODE_01951F CODE_01951B: BF AC BA 00 LDA.L DATA_00BAAC,X CODE_01951F: 65 0D ADC $0D CODE_019521: 85 06 STA $06 CODE_019523: A9 7E LDA.B #$7E CODE_019525: 85 07 STA $07 CODE_019527: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01952A: A7 05 LDA [$05] CODE_01952C: 8D 93 16 STA.W $1693 CODE_01952F: E6 07 INC $07 CODE_019531: A7 05 LDA [$05] CODE_019533: 22 45 F5 00 JSL.L CODE_00F545 CODE_019537: A4 0F LDY $0F CODE_019539: C9 00 CMP.B #$00 Return01953B: 60 RTS ; Return HandleSprStunned: B5 9E LDA RAM_SpriteNum,X ; \ Branch if not Yoshi shell CODE_01953E: C9 2C CMP.B #$2C ; / YoshiShellSts9: D0 12 BNE CODE_019554 CODE_019542: B5 C2 LDA RAM_SpriteState,X CODE_019544: F0 24 BEQ CODE_01956A CODE_019546: A5 64 LDA $64 ; \ Temporarily set $64 = #$10... CODE_019548: 48 PHA ; | CODE_019549: A9 10 LDA.B #$10 ; | CODE_01954B: 85 64 STA $64 ; | CODE_01954D: 20 0D 9F JSR.W SubSprGfx2Entry1 ; | ...and call gfx routine CODE_019550: 68 PLA ; | CODE_019551: 85 64 STA $64 ; / Return019553: 60 RTS ; Return CODE_019554: C9 2F CMP.B #$2F ; \ If Spring Board... CODE_019556: F0 0A BEQ SetNormalStatus ; | ...Unused Sprite 85... CODE_019558: C9 85 CMP.B #$85 ; | ...or Balloon, CODE_01955A: F0 06 BEQ SetNormalStatus ; | Set Status = Normal... CODE_01955C: C9 7D CMP.B #$7D ; | ...and jump to $01A187 CODE_01955E: D0 0A BNE CODE_01956A ; | ADDR_019560: 74 AA STZ RAM_SpriteSpeedY,X ; | Balloon Y Speed = 0 SetNormalStatus: A9 08 LDA.B #$08 ; | CODE_019564: 9D C8 14 STA.W $14C8,X ; | CODE_019567: 4C 87 A1 JMP.W CODE_01A187 ; / CODE_01956A: A5 9D LDA RAM_SpritesLocked ; \ If sprites locked, CODE_01956C: F0 03 BEQ CODE_019571 ; | jump to $0195F5 CODE_01956E: 4C F5 95 JMP.W CODE_0195F5 ; / CODE_019571: 20 24 96 JSR.W CODE_019624 CODE_019574: 20 32 90 JSR.W SubUpdateSprPos CODE_019577: 20 0E 80 JSR.W IsOnGround CODE_01957A: F0 1C BEQ CODE_019598 CODE_01957C: 20 D5 97 JSR.W CODE_0197D5 CODE_01957F: B5 9E LDA RAM_SpriteNum,X CODE_019581: C9 16 CMP.B #$16 ; \ If Vertical or Horizontal Fish, CODE_019583: F0 04 BEQ ADDR_019589 ; | CODE_019585: C9 15 CMP.B #$15 ; | jump to $019562 CODE_019587: D0 03 BNE CODE_01958C ; | ADDR_019589: 4C 62 95 JMP.W SetNormalStatus ; / CODE_01958C: C9 2C CMP.B #$2C ; \ Branch if not Yoshi Egg CODE_01958E: D0 08 BNE CODE_019598 ; / CODE_019590: A9 F0 LDA.B #$F0 ; \ Set upward speed CODE_019592: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_019594: 22 4C F7 01 JSL.L CODE_01F74C CODE_019598: 20 14 80 JSR.W IsTouchingCeiling CODE_01959B: F0 3E BEQ CODE_0195DB CODE_01959D: A9 10 LDA.B #$10 ; \ Set downward speed CODE_01959F: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_0195A1: 20 08 80 JSR.W IsTouchingObjSide CODE_0195A4: D0 35 BNE CODE_0195DB CODE_0195A6: B5 E4 LDA RAM_SpriteXLo,X ; \ $9A = Sprite X position + #$08 CODE_0195A8: 18 CLC ; | CODE_0195A9: 69 08 ADC.B #$08 ; | CODE_0195AB: 85 9A STA RAM_BlockYLo ; | CODE_0195AD: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_0195B0: 69 00 ADC.B #$00 ; | CODE_0195B2: 85 9B STA RAM_BlockYHi ; / CODE_0195B4: B5 D8 LDA RAM_SpriteYLo,X ; \ $9A = Sprite X position CODE_0195B6: 29 F0 AND.B #$F0 ; | (Rounded down to nearest #$10) CODE_0195B8: 85 98 STA RAM_BlockXLo ; | CODE_0195BA: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_0195BD: 85 99 STA RAM_BlockXHi ; / CODE_0195BF: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_0195C2: 29 20 AND.B #$20 CODE_0195C4: 0A ASL CODE_0195C5: 0A ASL CODE_0195C6: 0A ASL CODE_0195C7: 2A ROL CODE_0195C8: 29 01 AND.B #$01 CODE_0195CA: 8D 33 19 STA.W $1933 CODE_0195CD: A0 00 LDY.B #$00 CODE_0195CF: AD 68 18 LDA.W $1868 CODE_0195D2: 22 60 F1 00 JSL.L CODE_00F160 CODE_0195D6: A9 08 LDA.B #$08 CODE_0195D8: 9D E2 1F STA.W $1FE2,X CODE_0195DB: 20 08 80 JSR.W IsTouchingObjSide CODE_0195DE: F0 12 BEQ CODE_0195F2 CODE_0195E0: B5 9E LDA RAM_SpriteNum,X ; \ Call $0195E9 if sprite number < #$0D CODE_0195E2: C9 0D CMP.B #$0D ; | (Koopa Troopas) CODE_0195E4: 90 03 BCC CODE_0195E9 ; | CODE_0195E6: 20 9E 99 JSR.W CODE_01999E ; / CODE_0195E9: B5 B6 LDA RAM_SpriteSpeedX,X CODE_0195EB: 0A ASL CODE_0195EC: 08 PHP CODE_0195ED: 76 B6 ROR RAM_SpriteSpeedX,X CODE_0195EF: 28 PLP CODE_0195F0: 76 B6 ROR RAM_SpriteSpeedX,X CODE_0195F2: 20 C1 8F JSR.W SubSprSpr+MarioSpr CODE_0195F5: 20 87 A1 JSR.W CODE_01A187 CODE_0195F8: 20 31 AC JSR.W SubOffscreen0Bnk1 Return0195FB: 60 RTS ; Return Unused0195FC: .db $00,$00,$00,$00,$04,$05,$06,$07 .db $00,$00,$00,$00,$04,$05,$06,$07 .db $00,$00,$00,$00,$04,$05,$06,$07 .db $00,$00,$00,$00,$04,$05,$06,$07 SpriteKoopasSpawn: .db $00,$00,$00,$00,$00,$01,$02,$03 CODE_019624: B5 9E LDA RAM_SpriteNum,X ; \ Branch away if sprite isn't a Bob-omb CODE_019626: C9 0D CMP.B #$0D ; | CODE_019628: D0 32 BNE CODE_01965C ; / CODE_01962A: BD 40 15 LDA.W $1540,X ; \ Branch away if it's not time to explode CODE_01962D: C9 01 CMP.B #$01 ; | CODE_01962F: D0 1D BNE CODE_01964E ; / CODE_019631: A9 09 LDA.B #$09 ; \ Bomb sound effect CODE_019633: 8D FC 1D STA.W $1DFC ; / CODE_019636: A9 01 LDA.B #$01 CODE_019638: 9D 34 15 STA.W $1534,X CODE_01963B: A9 40 LDA.B #$40 ; \ Set explosion timer CODE_01963D: 9D 40 15 STA.W $1540,X ; / CODE_019640: A9 08 LDA.B #$08 ; \ Set normal status CODE_019642: 9D C8 14 STA.W $14C8,X ; / CODE_019645: BD 86 16 LDA.W RAM_Tweaker1686,X ; \ Set to interact with other sprites CODE_019648: 29 F7 AND.B #$F7 ; | CODE_01964A: 9D 86 16 STA.W RAM_Tweaker1686,X ; / Return01964D: 60 RTS ; Return CODE_01964E: C9 40 CMP.B #$40 CODE_019650: B0 09 BCS Return01965B CODE_019652: 0A ASL CODE_019653: 29 0E AND.B #$0E CODE_019655: 5D F6 15 EOR.W RAM_SpritePal,X CODE_019658: 9D F6 15 STA.W RAM_SpritePal,X Return01965B: 60 RTS ; Return CODE_01965C: BD 40 15 LDA.W $1540,X CODE_01965F: 1D 58 15 ORA.W $1558,X CODE_019662: 95 C2 STA RAM_SpriteState,X CODE_019664: BD 58 15 LDA.W $1558,X CODE_019667: F0 33 BEQ CODE_01969C CODE_019669: C9 01 CMP.B #$01 CODE_01966B: D0 2F BNE CODE_01969C CODE_01966D: BC 94 15 LDY.W $1594,X CODE_019670: B9 D0 15 LDA.W $15D0,Y CODE_019673: D0 27 BNE CODE_01969C CODE_019675: 22 8B F7 07 JSL.L LoadSpriteTables CODE_019679: 20 7C 85 JSR.W FaceMario CODE_01967C: 1E F6 15 ASL.W RAM_SpritePal,X CODE_01967F: 5E F6 15 LSR.W RAM_SpritePal,X CODE_019682: BC 0E 16 LDY.W $160E,X CODE_019685: A9 08 LDA.B #$08 CODE_019687: C0 03 CPY.B #$03 CODE_019689: D0 0D BNE CODE_019698 CODE_01968B: FE 7B 18 INC.W $187B,X CODE_01968E: BD 6E 16 LDA.W RAM_Tweaker166E,X ; \ Disable fireball/cape killing CODE_019691: 09 30 ORA.B #$30 ; | CODE_019693: 9D 6E 16 STA.W RAM_Tweaker166E,X ; / CODE_019696: A9 0A LDA.B #$0A ; \ Sprite status = Kicked CODE_019698: 9D C8 14 STA.W $14C8,X ; / Return01969B: 60 RTS ; Return CODE_01969C: BD 40 15 LDA.W $1540,X ; \ Return if stun timer == 0 CODE_01969F: F0 FA BEQ Return01969B ; / CODE_0196A1: C9 03 CMP.B #$03 ; \ If stun timer == 3, un-stun the sprite CODE_0196A3: F0 04 BEQ UnstunSprite ; / CODE_0196A5: C9 01 CMP.B #$01 ; \ Every other frame, increment the stall timer CODE_0196A7: D0 2E BNE IncrmntStunTimer ; / to emulates a slower timer UnstunSprite: B5 9E LDA RAM_SpriteNum,X ; \ Branch if Buzzy Beetle CODE_0196AB: C9 11 CMP.B #$11 ; | CODE_0196AD: F0 1C BEQ SetNormalStatus ; / CODE_0196AF: C9 2E CMP.B #$2E ; \ Branch if Spike Top CODE_0196B1: F0 18 BEQ SetNormalStatus ; / CODE_0196B3: C9 2D CMP.B #$2D ; \ Return if Baby Yoshi CODE_0196B5: F0 13 BEQ Return0196CA ; / CODE_0196B7: C9 A2 CMP.B #$A2 ; \ Branch if MechaKoopa CODE_0196B9: F0 10 BEQ SetNormalStatus ; / CODE_0196BB: C9 0F CMP.B #$0F ; \ Branch if Goomba CODE_0196BD: F0 0C BEQ SetNormalStatus ; / CODE_0196BF: C9 2C CMP.B #$2C ; \ Branch if Yoshi Egg CODE_0196C1: F0 07 BEQ Return0196CA ; / CODE_0196C3: C9 53 CMP.B #$53 ; \ Branch if not Throw Block CODE_0196C5: D0 1A BNE GeneralResetSpr ; / CODE_0196C7: 20 CB 9A JSR.W CODE_019ACB ; Set throw block to vanish Return0196CA: 60 RTS ; Return SetNormalStatus: A9 08 LDA.B #$08 ; \ Sprite Status = Normal CODE_0196CD: 9D C8 14 STA.W $14C8,X ; / CODE_0196D0: 1E F6 15 ASL.W RAM_SpritePal,X ; \ Clear vertical flip bit CODE_0196D3: 5E F6 15 LSR.W RAM_SpritePal,X ; / Return0196D6: 60 RTS ; Return IncrmntStunTimer: A5 13 LDA RAM_FrameCounter ; \ Increment timer every other frame CODE_0196D9: 29 01 AND.B #$01 ; | CODE_0196DB: D0 03 BNE Return0196E0 ; | CODE_0196DD: FE 40 15 INC.W $1540,X ; | Return0196E0: 60 RTS ; / GeneralResetSpr: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free sprite slot found CODE_0196E5: 30 E3 BMI Return0196CA ; / CODE_0196E7: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_0196E9: 99 C8 14 STA.W $14C8,Y ; / CODE_0196EC: B5 9E LDA RAM_SpriteNum,X ; \ Store sprite number for shelless koopa CODE_0196EE: AA TAX ; | CODE_0196EF: BD 1C 96 LDA.W SpriteKoopasSpawn,X ; | CODE_0196F2: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_0196F5: BB TYX ; \ Reset sprite tables CODE_0196F6: 22 D2 F7 07 JSL.L InitSpriteTables ; | CODE_0196FA: AE E9 15 LDX.W $15E9 ; / CODE_0196FD: B5 E4 LDA RAM_SpriteXLo,X ; \ Shelless Koopa position = Koopa position CODE_0196FF: 99 E4 00 STA.W RAM_SpriteXLo,Y ; | CODE_019702: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_019705: 99 E0 14 STA.W RAM_SpriteXHi,Y ; | CODE_019708: B5 D8 LDA RAM_SpriteYLo,X ; | CODE_01970A: 99 D8 00 STA.W RAM_SpriteYLo,Y ; | CODE_01970D: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_019710: 99 D4 14 STA.W RAM_SpriteYHi,Y ; / CODE_019713: A9 00 LDA.B #$00 ; \ Direction = 0 CODE_019715: 99 7C 15 STA.W RAM_SpriteDir,Y ; / CODE_019718: A9 10 LDA.B #$10 CODE_01971A: 99 64 15 STA.W $1564,Y CODE_01971D: BD 4A 16 LDA.W $164A,X CODE_019720: 99 4A 16 STA.W $164A,Y CODE_019723: BD 40 15 LDA.W $1540,X CODE_019726: 9E 40 15 STZ.W $1540,X CODE_019729: C9 01 CMP.B #$01 CODE_01972B: F0 1A BEQ CODE_019747 CODE_01972D: A9 D0 LDA.B #$D0 ; \ Set upward speed CODE_01972F: 99 AA 00 STA.W RAM_SpriteSpeedY,Y ; / CODE_019732: 5A PHY ; \ Make Shelless Koopa face away from Mario CODE_019733: 20 30 AD JSR.W SubHorizPos ; | CODE_019736: 98 TYA ; | CODE_019737: 49 01 EOR.B #$01 ; | CODE_019739: 7A PLY ; | CODE_01973A: 99 7C 15 STA.W RAM_SpriteDir,Y ; / CODE_01973D: DA PHX ; \ Set Shelless X speed CODE_01973E: AA TAX ; | CODE_01973F: BD EC 88 LDA.W Spr0to13SpeedX,X ; | CODE_019742: 99 B6 00 STA.W RAM_SpriteSpeedX,Y ; | CODE_019745: FA PLX ; / Return019746: 60 RTS ; Return CODE_019747: 5A PHY CODE_019748: 20 30 AD JSR.W SubHorizPos CODE_01974B: B9 AD 97 LDA.W DATA_0197AD,Y CODE_01974E: 84 00 STY $00 CODE_019750: 7A PLY CODE_019751: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_019754: A5 00 LDA $00 CODE_019756: 49 01 EOR.B #$01 CODE_019758: 99 7C 15 STA.W RAM_SpriteDir,Y CODE_01975B: 85 01 STA $01 CODE_01975D: A9 10 LDA.B #$10 CODE_01975F: 99 4C 15 STA.W RAM_DisableInter,Y CODE_019762: 99 28 15 STA.W $1528,Y CODE_019765: B5 9E LDA RAM_SpriteNum,X ; \ If Yellow Koopa... CODE_019767: C9 07 CMP.B #$07 ; | CODE_019769: D0 0A BNE Return019775 ; | CODE_01976B: A0 08 LDY.B #$08 ; | ...find free sprite slot... CODE_01976D: B9 C8 14 LDA.W $14C8,Y ; | CODE_019770: F0 04 BEQ SpawnMovingCoin ; | ...and spawn moving coin CODE_019772: 88 DEY ; | CODE_019773: 10 F8 BPL CODE_01976D ; / Return019775: 60 RTS ; Return SpawnMovingCoin: A9 08 LDA.B #$08 ; \ Sprite status = normal CODE_019778: 99 C8 14 STA.W $14C8,Y ; / CODE_01977B: A9 21 LDA.B #$21 ; \ Sprite = Moving Coin CODE_01977D: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_019780: B5 E4 LDA RAM_SpriteXLo,X ; \ Copy X position to coin CODE_019782: 99 E4 00 STA.W RAM_SpriteXLo,Y ; | CODE_019785: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_019788: 99 E0 14 STA.W RAM_SpriteXHi,Y ; / CODE_01978B: B5 D8 LDA RAM_SpriteYLo,X ; \ Copy Y position to coin CODE_01978D: 99 D8 00 STA.W RAM_SpriteYLo,Y ; | CODE_019790: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_019793: 99 D4 14 STA.W RAM_SpriteYHi,Y ; / CODE_019796: DA PHX ; \ CODE_019797: BB TYX ; | CODE_019798: 22 D2 F7 07 JSL.L InitSpriteTables ; | Clear all sprite tables, and load new values CODE_01979C: FA PLX ; / CODE_01979D: A9 D0 LDA.B #$D0 ; \ Set Y speed CODE_01979F: 99 AA 00 STA.W RAM_SpriteSpeedY,Y ; / CODE_0197A2: A5 01 LDA $01 ; \ Set direction CODE_0197A4: 99 7C 15 STA.W RAM_SpriteDir,Y ; / CODE_0197A7: A9 20 LDA.B #$20 CODE_0197A9: 99 4C 15 STA.W RAM_DisableInter,Y Return0197AC: 60 RTS ; Return DATA_0197AD: .db $C0,$40 DATA_0197AF: .db $00,$00,$00,$F8,$F8,$F8,$F8,$F8 .db $F8,$F7,$F6,$F5,$F4,$F3,$F2,$E8 .db $E8,$E8,$E8,$00,$00,$00,$00,$FE .db $FC,$F8,$EC,$EC,$EC,$E8,$E4,$E0 .db $DC,$D8,$D4,$D0,$CC,$C8 CODE_0197D5: B5 B6 LDA RAM_SpriteSpeedX,X CODE_0197D7: 08 PHP CODE_0197D8: 10 03 BPL CODE_0197DD CODE_0197DA: 20 4A 80 JSR.W InvertAccum CODE_0197DD: 4A LSR CODE_0197DE: 28 PLP CODE_0197DF: 10 03 BPL CODE_0197E4 CODE_0197E1: 20 4A 80 JSR.W InvertAccum CODE_0197E4: 95 B6 STA RAM_SpriteSpeedX,X CODE_0197E6: B5 AA LDA RAM_SpriteSpeedY,X CODE_0197E8: 48 PHA CODE_0197E9: 20 04 9A JSR.W SetSomeYSpeed?? CODE_0197EC: 68 PLA CODE_0197ED: 4A LSR CODE_0197EE: 4A LSR CODE_0197EF: A8 TAY CODE_0197F0: B5 9E LDA RAM_SpriteNum,X ; \ If Goomba, Y += #$13 CODE_0197F2: C9 0F CMP.B #$0F ; | CODE_0197F4: D0 05 BNE CODE_0197FB ; | CODE_0197F6: 98 TYA ; | CODE_0197F7: 18 CLC ; | CODE_0197F8: 69 13 ADC.B #$13 ; | CODE_0197FA: A8 TAY ; / CODE_0197FB: B9 AF 97 LDA.W DATA_0197AF,Y CODE_0197FE: BC 88 15 LDY.W RAM_SprObjStatus,X CODE_019801: 30 02 BMI Return019805 CODE_019803: 95 AA STA RAM_SpriteSpeedY,X Return019805: 60 RTS ; Return CODE_019806: A9 06 LDA.B #$06 CODE_019808: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01980B: D0 02 BNE CODE_01980F CODE_01980D: A9 08 LDA.B #$08 CODE_01980F: 9D 02 16 STA.W $1602,X CODE_019812: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_019815: 48 PHA CODE_019816: F0 03 BEQ CODE_01981B CODE_019818: 18 CLC CODE_019819: 69 08 ADC.B #$08 CODE_01981B: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01981E: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_019821: 68 PLA CODE_019822: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_019825: AD EB 1E LDA.W $1EEB CODE_019828: 30 7C BMI Return0198A6 CODE_01982A: BD 02 16 LDA.W $1602,X CODE_01982D: C9 06 CMP.B #$06 CODE_01982F: D0 75 BNE Return0198A6 CODE_019831: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_019834: BD 58 15 LDA.W $1558,X CODE_019837: D0 09 BNE CODE_019842 CODE_019839: BD 40 15 LDA.W $1540,X CODE_01983C: F0 68 BEQ Return0198A6 CODE_01983E: C9 30 CMP.B #$30 CODE_019840: B0 0B BCS CODE_01984D CODE_019842: 4A LSR CODE_019843: B9 08 03 LDA.W OAM_Tile3DispX,Y CODE_019846: 69 00 ADC.B #$00 CODE_019848: B0 03 BCS CODE_01984D CODE_01984A: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_01984D: B5 9E LDA RAM_SpriteNum,X ; \ Branch away if a Buzzy Beetle CODE_01984F: C9 11 CMP.B #$11 ; | CODE_019851: F0 53 BEQ Return0198A6 ; / CODE_019853: 20 CB 80 JSR.W IsSprOffScreen CODE_019856: D0 4E BNE Return0198A6 CODE_019858: BD F6 15 LDA.W RAM_SpritePal,X CODE_01985B: 0A ASL CODE_01985C: A9 08 LDA.B #$08 CODE_01985E: 90 02 BCC CODE_019862 CODE_019860: A9 00 LDA.B #$00 CODE_019862: 85 00 STA $00 CODE_019864: B9 08 03 LDA.W OAM_Tile3DispX,Y CODE_019867: 18 CLC CODE_019868: 69 02 ADC.B #$02 CODE_01986A: 99 00 03 STA.W OAM_DispX,Y CODE_01986D: 18 CLC CODE_01986E: 69 04 ADC.B #$04 CODE_019870: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_019873: B9 09 03 LDA.W OAM_Tile3DispY,Y CODE_019876: 18 CLC CODE_019877: 65 00 ADC $00 CODE_019879: 99 01 03 STA.W OAM_DispY,Y CODE_01987C: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01987F: 5A PHY CODE_019880: A0 64 LDY.B #$64 CODE_019882: A5 14 LDA RAM_FrameCounterB CODE_019884: 29 F8 AND.B #$F8 CODE_019886: D0 02 BNE CODE_01988A CODE_019888: A0 4D LDY.B #$4D CODE_01988A: 98 TYA CODE_01988B: 7A PLY CODE_01988C: 99 02 03 STA.W OAM_Tile,Y CODE_01988F: 99 06 03 STA.W OAM_Tile2,Y CODE_019892: A5 64 LDA $64 CODE_019894: 99 03 03 STA.W OAM_Prop,Y CODE_019897: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_01989A: 98 TYA CODE_01989B: 4A LSR CODE_01989C: 4A LSR CODE_01989D: A8 TAY CODE_01989E: A9 00 LDA.B #$00 CODE_0198A0: 99 60 04 STA.W OAM_TileSize,Y CODE_0198A3: 99 61 04 STA.W $0461,Y Return0198A6: 60 RTS ; Return DATA_0198A7: .db $E0,$20 CODE_0198A9: A5 9D LDA RAM_SpritesLocked CODE_0198AB: F0 03 BEQ CODE_0198B0 CODE_0198AD: 4C 2A 9A JMP.W CODE_019A2A CODE_0198B0: 20 32 90 JSR.W SubUpdateSprPos CODE_0198B3: BD 1C 15 LDA.W $151C,X CODE_0198B6: 29 1F AND.B #$1F CODE_0198B8: D0 03 BNE CODE_0198BD CODE_0198BA: 20 7C 85 JSR.W FaceMario CODE_0198BD: B5 B6 LDA RAM_SpriteSpeedX,X CODE_0198BF: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_0198C2: C0 00 CPY.B #$00 CODE_0198C4: D0 0A BNE CODE_0198D0 CODE_0198C6: C9 20 CMP.B #$20 CODE_0198C8: 10 0E BPL CODE_0198D8 CODE_0198CA: F6 B6 INC RAM_SpriteSpeedX,X CODE_0198CC: F6 B6 INC RAM_SpriteSpeedX,X CODE_0198CE: 80 08 BRA CODE_0198D8 CODE_0198D0: C9 E0 CMP.B #$E0 CODE_0198D2: 30 04 BMI CODE_0198D8 CODE_0198D4: D6 B6 DEC RAM_SpriteSpeedX,X CODE_0198D6: D6 B6 DEC RAM_SpriteSpeedX,X CODE_0198D8: 20 08 80 JSR.W IsTouchingObjSide CODE_0198DB: F0 0D BEQ CODE_0198EA CODE_0198DD: 48 PHA CODE_0198DE: 20 9E 99 JSR.W CODE_01999E CODE_0198E1: 68 PLA CODE_0198E2: 29 03 AND.B #$03 CODE_0198E4: A8 TAY CODE_0198E5: B9 A6 98 LDA.W Return0198A6,Y CODE_0198E8: 95 B6 STA RAM_SpriteSpeedX,X CODE_0198EA: 20 0E 80 JSR.W IsOnGround CODE_0198ED: F0 07 BEQ CODE_0198F6 CODE_0198EF: 20 04 9A JSR.W SetSomeYSpeed?? CODE_0198F2: A9 10 LDA.B #$10 CODE_0198F4: 95 AA STA RAM_SpriteSpeedY,X CODE_0198F6: 20 14 80 JSR.W IsTouchingCeiling CODE_0198F9: F0 02 BEQ CODE_0198FD ADDR_0198FB: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_0198FD: A5 13 LDA RAM_FrameCounter CODE_0198FF: 29 01 AND.B #$01 CODE_019901: D0 0A BNE CODE_01990D CODE_019903: BD F6 15 LDA.W RAM_SpritePal,X CODE_019906: 1A INC A CODE_019907: 1A INC A CODE_019908: 29 CF AND.B #$CF CODE_01990A: 9D F6 15 STA.W RAM_SpritePal,X CODE_01990D: 4C 8C 99 JMP.W CODE_01998C DATA_019910: .db $F0,$EE,$EC HandleSprKicked: BD 7B 18 LDA.W $187B,X CODE_019916: F0 03 BEQ CODE_01991B CODE_019918: 4C A9 98 JMP.W CODE_0198A9 CODE_01991B: BD 7A 16 LDA.W RAM_Tweaker167A,X CODE_01991E: 29 10 AND.B #$10 CODE_019920: F0 06 BEQ CODE_019928 CODE_019922: 20 0B AA JSR.W CODE_01AA0B CODE_019925: 4C 87 A1 JMP.W CODE_01A187 CODE_019928: BD 28 15 LDA.W $1528,X CODE_01992B: D0 0C BNE CODE_019939 CODE_01992D: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01992F: 18 CLC CODE_019930: 69 20 ADC.B #$20 CODE_019932: C9 40 CMP.B #$40 CODE_019934: B0 03 BCS CODE_019939 CODE_019936: 20 0B AA JSR.W CODE_01AA0B CODE_019939: 9E 28 15 STZ.W $1528,X CODE_01993C: A5 9D LDA RAM_SpritesLocked CODE_01993E: 1D 3E 16 ORA.W $163E,X CODE_019941: F0 03 BEQ CODE_019946 CODE_019943: 4C 8F 99 JMP.W CODE_01998F CODE_019946: 20 15 9A JSR.W UpdateDirection CODE_019949: BD B8 15 LDA.W $15B8,X CODE_01994C: 48 PHA CODE_01994D: 20 32 90 JSR.W SubUpdateSprPos CODE_019950: 68 PLA CODE_019951: F0 16 BEQ CODE_019969 CODE_019953: 85 00 STA $00 CODE_019955: BC 4A 16 LDY.W $164A,X CODE_019958: D0 0F BNE CODE_019969 CODE_01995A: DD B8 15 CMP.W $15B8,X CODE_01995D: F0 0A BEQ CODE_019969 CODE_01995F: 55 B6 EOR RAM_SpriteSpeedX,X CODE_019961: 30 06 BMI CODE_019969 CODE_019963: A9 F8 LDA.B #$F8 ; \ Set upward speed CODE_019965: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_019967: 80 0C BRA CODE_019975 CODE_019969: 20 0E 80 JSR.W IsOnGround CODE_01996C: F0 16 BEQ CODE_019984 CODE_01996E: 20 04 9A JSR.W SetSomeYSpeed?? CODE_019971: A9 10 LDA.B #$10 ; \ Set downward speed CODE_019973: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_019975: AD 60 18 LDA.W $1860 CODE_019978: C9 B5 CMP.B #$B5 CODE_01997A: F0 04 BEQ CODE_019980 CODE_01997C: C9 B4 CMP.B #$B4 CODE_01997E: D0 04 BNE CODE_019984 CODE_019980: A9 B8 LDA.B #$B8 CODE_019982: 95 AA STA RAM_SpriteSpeedY,X CODE_019984: 20 08 80 JSR.W IsTouchingObjSide CODE_019987: F0 03 BEQ CODE_01998C CODE_019989: 20 9E 99 JSR.W CODE_01999E CODE_01998C: 20 C1 8F JSR.W SubSprSpr+MarioSpr CODE_01998F: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_019992: B5 9E LDA RAM_SpriteNum,X ; \ Branch if throw block sprite CODE_019994: C9 53 CMP.B #$53 ; | CODE_019996: F0 03 BEQ CODE_01999B ; / CODE_019998: 4C 2A 9A JMP.W CODE_019A2A CODE_01999B: 4C D4 A1 JMP.W StunThrowBlock CODE_01999E: A9 01 LDA.B #$01 CODE_0199A0: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_0199A3: 20 A2 90 JSR.W CODE_0190A2 CODE_0199A6: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_0199A9: D0 27 BNE CODE_0199D2 CODE_0199AB: B5 E4 LDA RAM_SpriteXLo,X CODE_0199AD: 38 SEC CODE_0199AE: E5 1A SBC RAM_ScreenBndryXLo CODE_0199B0: 18 CLC CODE_0199B1: 69 14 ADC.B #$14 CODE_0199B3: C9 1C CMP.B #$1C CODE_0199B5: 90 1B BCC CODE_0199D2 CODE_0199B7: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_0199BA: 29 40 AND.B #$40 CODE_0199BC: 0A ASL CODE_0199BD: 0A ASL CODE_0199BE: 2A ROL CODE_0199BF: 29 01 AND.B #$01 CODE_0199C1: 8D 33 19 STA.W $1933 CODE_0199C4: A0 00 LDY.B #$00 CODE_0199C6: AD A7 18 LDA.W $18A7 CODE_0199C9: 22 60 F1 00 JSL.L CODE_00F160 CODE_0199CD: A9 05 LDA.B #$05 CODE_0199CF: 9D E2 1F STA.W $1FE2,X CODE_0199D2: B5 9E LDA RAM_SpriteNum,X ; \ If Throw Block, break it CODE_0199D4: C9 53 CMP.B #$53 ; | CODE_0199D6: D0 03 BNE Return0199DB ; | CODE_0199D8: 20 DC 99 JSR.W BreakThrowBlock ; / Return0199DB: 60 RTS ; Return BreakThrowBlock: 9E C8 14 STZ.W $14C8,X ; Free up sprite slot CODE_0199DF: A0 FF LDY.B #$FF ; Is this for the shatter routine?? CODE_0199E1: 20 CB 80 JSR.W IsSprOffScreen ; \ Return if off screen CODE_0199E4: D0 1D BNE Return019A03 ; / CODE_0199E6: B5 E4 LDA RAM_SpriteXLo,X ; \ Store Y position in $9A-$9B CODE_0199E8: 85 9A STA RAM_BlockYLo ; | CODE_0199EA: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_0199ED: 85 9B STA RAM_BlockYHi ; / CODE_0199EF: B5 D8 LDA RAM_SpriteYLo,X ; \ Store X position in $98-$99 CODE_0199F1: 85 98 STA RAM_BlockXLo ; | CODE_0199F3: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_0199F6: 85 99 STA RAM_BlockXHi ; / CODE_0199F8: 8B PHB ; \ Shatter the brick CODE_0199F9: A9 02 LDA.B #$02 ; | CODE_0199FB: 48 PHA ; | CODE_0199FC: AB PLB ; | CODE_0199FD: 98 TYA ; | CODE_0199FE: 22 63 86 02 JSL.L ShatterBlock ; | CODE_019A02: AB PLB ; / Return019A03: 60 RTS ; Return SetSomeYSpeed??: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_019A07: 30 07 BMI CODE_019A10 CODE_019A09: A9 00 LDA.B #$00 ; \ Sprite Y speed = #$00 or #$18 CODE_019A0B: BC B8 15 LDY.W $15B8,X ; | Depending on 15B8,x ??? CODE_019A0E: F0 02 BEQ CODE_019A12 ; | CODE_019A10: A9 18 LDA.B #$18 ; | CODE_019A12: 95 AA STA RAM_SpriteSpeedY,X ; / Return019A14: 60 RTS ; Return UpdateDirection: A9 00 LDA.B #$00 ; \ Subroutine: Set direction from speed value CODE_019A17: B4 B6 LDY RAM_SpriteSpeedX,X ; | CODE_019A19: F0 06 BEQ Return019A21 ; | CODE_019A1B: 10 01 BPL CODE_019A1E ; | CODE_019A1D: 1A INC A ; | CODE_019A1E: 9D 7C 15 STA.W RAM_SpriteDir,X ; | Return019A21: 60 RTS ; / ShellAniTiles: .db $06,$07,$08,$07 ShellGfxProp: .db $00,$00,$00,$40 CODE_019A2A: B5 C2 LDA RAM_SpriteState,X CODE_019A2C: 9D 58 15 STA.W $1558,X CODE_019A2F: A5 14 LDA RAM_FrameCounterB CODE_019A31: 4A LSR CODE_019A32: 4A LSR CODE_019A33: 29 03 AND.B #$03 CODE_019A35: A8 TAY CODE_019A36: 5A PHY CODE_019A37: B9 22 9A LDA.W ShellAniTiles,Y CODE_019A3A: 20 0F 98 JSR.W CODE_01980F CODE_019A3D: 9E 58 15 STZ.W $1558,X CODE_019A40: 7A PLY CODE_019A41: B9 26 9A LDA.W ShellGfxProp,Y CODE_019A44: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_019A47: 59 0B 03 EOR.W OAM_Tile3Prop,Y CODE_019A4A: 99 0B 03 STA.W OAM_Tile3Prop,Y Return019A4D: 60 RTS ; Return SpinJumpSmokeTiles: .db $64,$62,$60,$62 HandleSprSpinJump: BD 40 15 LDA.W $1540,X ; \ Erase sprite if time up CODE_019A55: F0 20 BEQ SpinJumpEraseSpr ; / CODE_019A57: 20 0D 9F JSR.W SubSprGfx2Entry1 ; Call generic gfx routine CODE_019A5A: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_019A5D: BD 40 15 LDA.W $1540,X ; \ Load tile based on timer CODE_019A60: 4A LSR ; | CODE_019A61: 4A LSR ; | CODE_019A62: 4A LSR ; | CODE_019A63: 29 03 AND.B #$03 ; | CODE_019A65: DA PHX ; | CODE_019A66: AA TAX ; | CODE_019A67: BD 4E 9A LDA.W SpinJumpSmokeTiles,X ; | CODE_019A6A: FA PLX ; / CODE_019A6B: 99 02 03 STA.W OAM_Tile,Y ; Overwrite tile CODE_019A6E: 99 03 03 STA.W OAM_Prop,Y ; \ Overwrite properties CODE_019A71: 29 30 AND.B #$30 ; | CODE_019A73: 99 03 03 STA.W OAM_Prop,Y ; / Return019A76: 60 RTS ; Return SpinJumpEraseSpr: 20 80 AC JSR.W OffScrEraseSprite ; Permanently kill the sprite Return019A7A: 60 RTS ; Return CODE_019A7B: BD 58 15 LDA.W $1558,X CODE_019A7E: F0 F7 BEQ SpinJumpEraseSpr CODE_019A80: A9 04 LDA.B #$04 CODE_019A82: 95 AA STA RAM_SpriteSpeedY,X CODE_019A84: 1E 0F 19 ASL.W RAM_Tweaker190F,X CODE_019A87: 5E 0F 19 LSR.W RAM_Tweaker190F,X CODE_019A8A: B5 B6 LDA RAM_SpriteSpeedX,X CODE_019A8C: F0 0F BEQ CODE_019A9D CODE_019A8E: 10 04 BPL CODE_019A94 CODE_019A90: F6 B6 INC RAM_SpriteSpeedX,X CODE_019A92: 80 09 BRA CODE_019A9D CODE_019A94: D6 B6 DEC RAM_SpriteSpeedX,X CODE_019A96: 20 08 80 JSR.W IsTouchingObjSide CODE_019A99: F0 02 BEQ CODE_019A9D CODE_019A9B: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_019A9D: A9 01 LDA.B #$01 CODE_019A9F: 9D 32 16 STA.W RAM_SprBehindScrn,X HandleSprKilled: B5 9E LDA RAM_SpriteNum,X ; \ If Wiggler, call main sprite routine CODE_019AA4: C9 86 CMP.B #$86 ; | CODE_019AA6: D0 03 BNE CODE_019AAB ; | CODE_019AA8: 4C C3 85 JMP.W CallSpriteMain ; / CODE_019AAB: C9 1E CMP.B #$1E ; \ If Lakitu, $18E0 = #$FF CODE_019AAD: D0 05 BNE CODE_019AB4 ; | CODE_019AAF: A0 FF LDY.B #$FF ; | CODE_019AB1: 8C E0 18 STY.W $18E0 ; / CODE_019AB4: C9 53 CMP.B #$53 ; \ If Throw Block sprite... CODE_019AB6: D0 04 BNE CODE_019ABC ; | CODE_019AB8: 20 DC 99 JSR.W BreakThrowBlock ; | ...break block... Return019ABB: 60 RTS ; / ...and return CODE_019ABC: C9 4C CMP.B #$4C ; \ If Exploding Block Enemy CODE_019ABE: D0 04 BNE CODE_019AC4 ; | ADDR_019AC0: 22 63 E4 02 JSL.L CODE_02E463 ; / CODE_019AC4: BD 56 16 LDA.W RAM_Tweaker1656,X ; \ If "disappears in puff of smoke" is set... CODE_019AC7: 29 80 AND.B #$80 ; | CODE_019AC9: F0 0B BEQ CODE_019AD6 ; | CODE_019ACB: A9 04 LDA.B #$04 ; | ...Sprite status = Spin Jump Killed... CODE_019ACD: 9D C8 14 STA.W $14C8,X ; | CODE_019AD0: A9 1F LDA.B #$1F ; | ...Set Time to show smoke cloud... CODE_019AD2: 9D 40 15 STA.W $1540,X ; | Return019AD5: 60 RTS ; / ... and return CODE_019AD6: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_019AD8: D0 03 BNE CODE_019ADD ; / CODE_019ADA: 20 32 90 JSR.W SubUpdateSprPos CODE_019ADD: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_019AE0: 20 13 9B JSR.W HandleSpriteDeath Return019AE3: 60 RTS ; Return HandleSprSmushed: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_019AE6: D0 16 BNE CODE_019AFE ; / CODE_019AE8: BD 40 15 LDA.W $1540,X ; \ Free sprite slot when timer runs out CODE_019AEB: D0 04 BNE ShowSmushedGfx ; | CODE_019AED: 9E C8 14 STZ.W $14C8,X ; / Return019AF0: 60 RTS ; Return ShowSmushedGfx: 20 32 90 JSR.W SubUpdateSprPos CODE_019AF4: 20 0E 80 JSR.W IsOnGround CODE_019AF7: F0 05 BEQ CODE_019AFE CODE_019AF9: 20 04 9A JSR.W SetSomeYSpeed?? CODE_019AFC: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_019AFE: B5 9E LDA RAM_SpriteNum,X ; \ If Dino Torch... CODE_019B00: C9 6F CMP.B #$6F ; | CODE_019B02: D0 0C BNE CODE_019B10 ; | CODE_019B04: 20 0D 9F JSR.W SubSprGfx2Entry1 ; | ...call standard gfx routine... CODE_019B07: BC EA 15 LDY.W RAM_SprOAMIndex,X ; | CODE_019B0A: A9 AC LDA.B #$AC ; | ...and replace the tile with #$AC CODE_019B0C: 99 02 03 STA.W OAM_Tile,Y ; | Return019B0F: 60 RTS ; / Return CODE_019B10: 4C 00 E7 JMP.W SmushedGfxRt ; Call smushed gfx routine HandleSpriteDeath: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ If the main routine handles the death state... CODE_019B16: 29 01 AND.B #$01 ; | CODE_019B18: F0 03 BEQ CODE_019B1D ; | CODE_019B1A: 4C C3 85 JMP.W CallSpriteMain ; / ...jump to the main routine CODE_019B1D: 9E 02 16 STZ.W $1602,X CODE_019B20: BD 0F 19 LDA.W RAM_Tweaker190F,X ; \ Branch if "Death frame 2 tiles high" CODE_019B23: 29 20 AND.B #$20 ; | is NOT set CODE_019B25: F0 3D BEQ CODE_019B64 ; / CODE_019B27: BD 62 16 LDA.W RAM_Tweaker1662,X ; \ Branch if "Use shell as death frame" CODE_019B2A: 29 40 AND.B #$40 ; | is set CODE_019B2C: D0 31 BNE CODE_019B5F ; / CODE_019B2E: B5 9E LDA RAM_SpriteNum,X ; \ Branch if Lakitu CODE_019B30: C9 1E CMP.B #$1E ; | CODE_019B32: F0 09 BEQ CODE_019B3D ; / CODE_019B34: C9 4B CMP.B #$4B ; \ If Pipe Lakitu, CODE_019B36: D0 0C BNE CODE_019B44 ; | ADDR_019B38: A9 01 LDA.B #$01 ; | set behind scenery flag ADDR_019B3A: 9D 32 16 STA.W RAM_SprBehindScrn,X ; / CODE_019B3D: A9 01 LDA.B #$01 CODE_019B3F: 9D 02 16 STA.W $1602,X CODE_019B42: 80 08 BRA CODE_019B4C CODE_019B44: BD F6 15 LDA.W RAM_SpritePal,X ; \ Set to flip tiles vertically CODE_019B47: 09 80 ORA.B #$80 ; | CODE_019B49: 9D F6 15 STA.W RAM_SpritePal,X ; / CODE_019B4C: A5 64 LDA $64 ; \ If sprite is behind scenery, CODE_019B4E: 48 PHA ; | CODE_019B4F: BC 32 16 LDY.W RAM_SprBehindScrn,X ; | CODE_019B52: F0 02 BEQ CODE_019B56 ; | CODE_019B54: A9 10 LDA.B #$10 ; | temorarily set layer priority for gfx routine CODE_019B56: 85 64 STA $64 ; | CODE_019B58: 20 67 9D JSR.W SubSprGfx1 ; | Draw sprite CODE_019B5B: 68 PLA ; | CODE_019B5C: 85 64 STA $64 ; / Return019B5E: 60 RTS ; Return CODE_019B5F: A9 06 LDA.B #$06 CODE_019B61: 9D 02 16 STA.W $1602,X CODE_019B64: A9 00 LDA.B #$00 CODE_019B66: C0 1C CPY.B #$1C CODE_019B68: F0 02 BEQ CODE_019B6C CODE_019B6A: A9 80 LDA.B #$80 CODE_019B6C: 85 00 STA $00 CODE_019B6E: A5 64 LDA $64 ; \ If sprite is behind scenery, CODE_019B70: 48 PHA ; | CODE_019B71: BC 32 16 LDY.W RAM_SprBehindScrn,X ; | CODE_019B74: F0 02 BEQ CODE_019B78 ; | CODE_019B76: A9 10 LDA.B #$10 ; | temorarily set layer priority for gfx routine CODE_019B78: 85 64 STA $64 ; | CODE_019B7A: A5 00 LDA $00 CODE_019B7C: 20 09 9F JSR.W SubSprGfx2Entry0 ; | Draw sprite CODE_019B7F: 68 PLA ; | CODE_019B80: 85 64 STA $64 ; / Return019B82: 60 RTS ; Return SprTilemap: .db $82,$A0,$82,$A2,$84,$A4,$8C,$8A .db $8E,$C8,$CA,$CA,$CE,$CC,$86,$4E .db $E0,$E2,$E2,$CE,$E4,$E0,$E0,$A3 .db $A3,$B3,$B3,$E9,$E8,$F9,$F8,$E8 .db $E9,$F8,$F9,$E2,$E6,$AA,$A8,$A8 .db $AA,$A2,$A2,$B2,$B2,$C3,$C2,$D3 .db $D2,$C2,$C3,$D2,$D3,$E2,$E6,$CA .db $CC,$CA,$AC,$CE,$AE,$CE,$83,$83 .db $C4,$C4,$83,$83,$C5,$C5,$8A,$A6 .db $A4,$A6,$A8,$80,$82,$80,$84,$84 .db $84,$84,$94,$94,$94,$94,$A0,$B0 .db $A0,$D0,$82,$80,$82,$00,$00,$00 .db $86,$84,$88,$EC,$8C,$A8,$AA,$8E .db $AC,$AE,$8E,$EC,$EE,$CE,$EE,$A8 .db $EE,$40,$40,$A0,$C0,$A0,$C0,$A4 .db $C4,$A4,$C4,$A0,$C0,$A0,$C0,$40 .db $07,$27,$4C,$29,$4E,$2B,$82,$A0 .db $84,$A4,$67,$69,$88,$CE,$8E,$AE .db $A2,$A2,$B2,$B2,$00,$40,$44,$42 .db $2C,$42,$28,$28,$28,$28,$4C,$4C .db $4C,$4C,$83,$83,$6F,$6F,$AC,$BC .db $AC,$A6,$8C,$AA,$86,$84,$DC,$EC .db $DE,$EE,$06,$06,$16,$16,$07,$07 .db $17,$17,$16,$16,$06,$06,$17,$17 .db $07,$07,$84,$86,$00,$00,$00,$0E .db $2A,$24,$02,$06,$0A,$20,$22,$28 .db $26,$2E,$40,$42,$0C,$04,$2B,$6A .db $ED,$88,$8C,$A8,$8E,$AA,$AE,$8C .db $88,$A8,$AE,$AC,$8C,$8E,$CE,$EE .db $C4,$C6,$82,$84,$86,$8C,$CE,$CE .db $88,$89,$CE,$CE,$89,$88,$F3,$CE .db $F3,$CE,$A7,$A9 SprTilemapOffset: .db $09,$09,$10,$09,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$37,$00,$25 .db $25,$5A,$00,$4B,$4E,$8A,$8A,$8A .db $8A,$56,$3A,$46,$47,$69,$6B,$73 .db $00,$00,$80,$80,$80,$80,$8E,$90 .db $00,$00,$3A,$F6,$94,$95,$63,$9A .db $A6,$AA,$AE,$B2,$C2,$C4,$D5,$D9 .db $D7,$D7,$E6,$E6,$E6,$E2,$99,$17 .db $29,$E6,$E6,$E6,$00,$E8,$00,$8A .db $E8,$00,$ED,$EA,$7F,$EA,$EA,$3A .db $3A,$FA,$71,$7F GeneralSprDispX: .db $00,$08,$00,$08 GeneralSprDispY: .db $00,$00,$08,$08 GeneralSprGfxProp: .db $00,$00,$00,$00,$00,$40,$00,$40 .db $00,$40,$80,$C0,$40,$40,$00,$00 .db $40,$00,$C0,$80,$40,$40,$40,$40 SubSprGfx0Entry0: A0 00 LDY.B #$00 SubSprGfx0Entry1: 85 05 STA $05 CODE_019CF7: 84 0F STY $0F CODE_019CF9: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_019CFC: A4 0F LDY $0F CODE_019CFE: 98 TYA CODE_019CFF: 18 CLC CODE_019D00: 65 01 ADC $01 CODE_019D02: 85 01 STA $01 CODE_019D04: B4 9E LDY RAM_SpriteNum,X CODE_019D06: BD 02 16 LDA.W $1602,X CODE_019D09: 0A ASL CODE_019D0A: 0A ASL CODE_019D0B: 79 7F 9C ADC.W SprTilemapOffset,Y CODE_019D0E: 85 02 STA $02 CODE_019D10: BD F6 15 LDA.W RAM_SpritePal,X CODE_019D13: 05 64 ORA $64 CODE_019D15: 85 03 STA $03 CODE_019D17: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_019D1A: A9 03 LDA.B #$03 CODE_019D1C: 85 04 STA $04 CODE_019D1E: DA PHX CODE_019D1F: A6 04 LDX $04 CODE_019D21: A5 00 LDA $00 CODE_019D23: 18 CLC CODE_019D24: 7D D3 9C ADC.W GeneralSprDispX,X CODE_019D27: 99 00 03 STA.W OAM_DispX,Y CODE_019D2A: A5 01 LDA $01 CODE_019D2C: 18 CLC CODE_019D2D: 7D D7 9C ADC.W GeneralSprDispY,X CODE_019D30: 99 01 03 STA.W OAM_DispY,Y CODE_019D33: A5 02 LDA $02 CODE_019D35: 18 CLC CODE_019D36: 65 04 ADC $04 CODE_019D38: AA TAX CODE_019D39: BD 83 9B LDA.W SprTilemap,X CODE_019D3C: 99 02 03 STA.W OAM_Tile,Y CODE_019D3F: A5 05 LDA $05 CODE_019D41: 0A ASL CODE_019D42: 0A ASL CODE_019D43: 65 04 ADC $04 CODE_019D45: AA TAX CODE_019D46: BD DB 9C LDA.W GeneralSprGfxProp,X CODE_019D49: 05 03 ORA $03 CODE_019D4B: 99 03 03 STA.W OAM_Prop,Y CODE_019D4E: C8 INY CODE_019D4F: C8 INY CODE_019D50: C8 INY CODE_019D51: C8 INY CODE_019D52: C6 04 DEC $04 CODE_019D54: 10 C9 BPL CODE_019D1F CODE_019D56: FA PLX CODE_019D57: A9 03 LDA.B #$03 CODE_019D59: A0 00 LDY.B #$00 CODE_019D5B: 20 BB B7 JSR.W FinishOAMWriteRt Return019D5E: 60 RTS ; Return GenericSprGfxRt1: 8B PHB CODE_019D60: 4B PHK CODE_019D61: AB PLB CODE_019D62: 20 67 9D JSR.W SubSprGfx1 CODE_019D65: AB PLB Return019D66: 6B RTL ; Return SubSprGfx1: BD F6 15 LDA.W RAM_SpritePal,X CODE_019D6A: 10 04 BPL SubSprGfx1Hlpr0 CODE_019D6C: 20 D9 9D JSR.W SubSprGfx1Hlpr1 Return019D6F: 60 RTS ; Return SubSprGfx1Hlpr0: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_019D73: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_019D76: 85 02 STA $02 CODE_019D78: 98 TYA CODE_019D79: B4 9E LDY RAM_SpriteNum,X CODE_019D7B: C0 0F CPY.B #$0F CODE_019D7D: B0 02 BCS CODE_019D81 CODE_019D7F: 69 04 ADC.B #$04 CODE_019D81: A8 TAY CODE_019D82: 5A PHY CODE_019D83: B4 9E LDY RAM_SpriteNum,X CODE_019D85: BD 02 16 LDA.W $1602,X CODE_019D88: 0A ASL CODE_019D89: 18 CLC CODE_019D8A: 79 7F 9C ADC.W SprTilemapOffset,Y CODE_019D8D: AA TAX CODE_019D8E: 7A PLY CODE_019D8F: BD 83 9B LDA.W SprTilemap,X CODE_019D92: 99 02 03 STA.W OAM_Tile,Y CODE_019D95: BD 84 9B LDA.W SprTilemap+1,X CODE_019D98: 99 06 03 STA.W OAM_Tile2,Y CODE_019D9B: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_019D9E: A5 01 LDA $01 CODE_019DA0: 99 01 03 STA.W OAM_DispY,Y CODE_019DA3: 18 CLC CODE_019DA4: 69 10 ADC.B #$10 CODE_019DA6: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_019DA9: A5 00 LDA $00 CODE_019DAB: 99 00 03 STA.W OAM_DispX,Y CODE_019DAE: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_019DB1: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_019DB4: 4A LSR CODE_019DB5: A9 00 LDA.B #$00 CODE_019DB7: 1D F6 15 ORA.W RAM_SpritePal,X CODE_019DBA: B0 02 BCS CODE_019DBE CODE_019DBC: 09 40 ORA.B #$40 CODE_019DBE: 05 64 ORA $64 CODE_019DC0: 99 03 03 STA.W OAM_Prop,Y CODE_019DC3: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_019DC6: 98 TYA CODE_019DC7: 4A LSR CODE_019DC8: 4A LSR CODE_019DC9: A8 TAY CODE_019DCA: A9 02 LDA.B #$02 CODE_019DCC: 1D A0 15 ORA.W RAM_OffscreenHorz,X CODE_019DCF: 99 60 04 STA.W OAM_TileSize,Y CODE_019DD2: 99 61 04 STA.W $0461,Y CODE_019DD5: 20 DF A3 JSR.W CODE_01A3DF Return019DD8: 60 RTS ; Return SubSprGfx1Hlpr1: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_019DDC: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_019DDF: 85 02 STA $02 CODE_019DE1: 98 TYA CODE_019DE2: 18 CLC CODE_019DE3: 69 08 ADC.B #$08 CODE_019DE5: A8 TAY CODE_019DE6: 5A PHY CODE_019DE7: B4 9E LDY RAM_SpriteNum,X CODE_019DE9: BD 02 16 LDA.W $1602,X CODE_019DEC: 0A ASL CODE_019DED: 18 CLC CODE_019DEE: 79 7F 9C ADC.W SprTilemapOffset,Y CODE_019DF1: AA TAX CODE_019DF2: 7A PLY CODE_019DF3: BD 83 9B LDA.W SprTilemap,X CODE_019DF6: 99 06 03 STA.W OAM_Tile2,Y CODE_019DF9: BD 84 9B LDA.W SprTilemap+1,X CODE_019DFC: 99 02 03 STA.W OAM_Tile,Y CODE_019DFF: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_019E02: A5 01 LDA $01 CODE_019E04: 99 01 03 STA.W OAM_DispY,Y CODE_019E07: 18 CLC CODE_019E08: 69 10 ADC.B #$10 CODE_019E0A: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_019E0D: 4C A9 9D JMP.W CODE_019DA9 KoopaWingDispXLo: .db $FF,$F7,$09,$09 KoopaWingDispXHi: .db $FF,$FF,$00,$00 KoopaWingDispY: .db $FC,$F4,$FC,$F4 KoopaWingTiles: .db $5D,$C6,$5D,$C6 KoopaWingGfxProp: .db $46,$46,$06,$06 KoopaWingTileSize: .db $00,$02,$00,$02 KoopaWingGfxRt: A0 00 LDY.B #$00 ; \ If not on ground, $02 = animation frame (00 or 01) CODE_019E2A: 20 0E 80 JSR.W IsOnGround ; | else, $02 = 0 CODE_019E2D: D0 06 BNE CODE_019E35 ; | CODE_019E2F: BD 02 16 LDA.W $1602,X ; | CODE_019E32: 29 01 AND.B #$01 ; | CODE_019E34: A8 TAY ; | CODE_019E35: 84 02 STY $02 ; / CODE_019E37: BD 6C 18 LDA.W RAM_OffscreenVert,X ; \ Return if offscreen vertically CODE_019E3A: D0 58 BNE Return019E94 ; / CODE_019E3C: B5 E4 LDA RAM_SpriteXLo,X ; \ $00 = X position low CODE_019E3E: 85 00 STA $00 ; / CODE_019E40: BD E0 14 LDA.W RAM_SpriteXHi,X ; \ $04 = X position high CODE_019E43: 85 04 STA $04 ; / CODE_019E45: B5 D8 LDA RAM_SpriteYLo,X ; \ $01 = Y position low CODE_019E47: 85 01 STA $01 ; / CODE_019E49: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = index to OAM CODE_019E4C: DA PHX CODE_019E4D: BD 7C 15 LDA.W RAM_SpriteDir,X ; \ X = index into tables CODE_019E50: 0A ASL ; | CODE_019E51: 65 02 ADC $02 ; | CODE_019E53: AA TAX ; / CODE_019E54: A5 00 LDA $00 ; \ Store X position (relative to screen) CODE_019E56: 18 CLC ; | CODE_019E57: 7D 10 9E ADC.W KoopaWingDispXLo,X ; | CODE_019E5A: 85 00 STA $00 ; | CODE_019E5C: A5 04 LDA $04 ; | CODE_019E5E: 7D 14 9E ADC.W KoopaWingDispXHi,X ; | CODE_019E61: 48 PHA ; | CODE_019E62: A5 00 LDA $00 ; | CODE_019E64: 38 SEC ; | CODE_019E65: E5 1A SBC RAM_ScreenBndryXLo ; | CODE_019E67: 99 00 03 STA.W OAM_DispX,Y ; / CODE_019E6A: 68 PLA ; \ Return if off screen horizontally CODE_019E6B: E5 1B SBC RAM_ScreenBndryXHi ; | CODE_019E6D: D0 24 BNE CODE_019E93 ; / CODE_019E6F: A5 01 LDA $01 ; \ Store Y position (relative to screen) CODE_019E71: 38 SEC ; | CODE_019E72: E5 1C SBC RAM_ScreenBndryYLo ; | CODE_019E74: 18 CLC ; | CODE_019E75: 7D 18 9E ADC.W KoopaWingDispY,X ; | CODE_019E78: 99 01 03 STA.W OAM_DispY,Y ; / CODE_019E7B: BD 1C 9E LDA.W KoopaWingTiles,X ; \ Store tile CODE_019E7E: 99 02 03 STA.W OAM_Tile,Y ; / CODE_019E81: A5 64 LDA $64 ; \ Store tile properties CODE_019E83: 1D 20 9E ORA.W KoopaWingGfxProp,X ; | CODE_019E86: 99 03 03 STA.W OAM_Prop,Y ; / CODE_019E89: 98 TYA CODE_019E8A: 4A LSR CODE_019E8B: 4A LSR CODE_019E8C: A8 TAY CODE_019E8D: BD 24 9E LDA.W KoopaWingTileSize,X ; \ Store tile size CODE_019E90: 99 60 04 STA.W OAM_TileSize,Y ; / CODE_019E93: FA PLX Return019E94: 60 RTS ; Return CODE_019E95: B5 D8 LDA RAM_SpriteYLo,X CODE_019E97: 48 PHA CODE_019E98: 18 CLC CODE_019E99: 69 02 ADC.B #$02 CODE_019E9B: 95 D8 STA RAM_SpriteYLo,X CODE_019E9D: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_019EA0: 48 PHA CODE_019EA1: 69 00 ADC.B #$00 CODE_019EA3: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_019EA6: B5 E4 LDA RAM_SpriteXLo,X CODE_019EA8: 48 PHA CODE_019EA9: 38 SEC CODE_019EAA: E9 02 SBC.B #$02 CODE_019EAC: 95 E4 STA RAM_SpriteXLo,X CODE_019EAE: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_019EB1: 48 PHA CODE_019EB2: E9 00 SBC.B #$00 CODE_019EB4: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_019EB7: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_019EBA: 48 PHA CODE_019EBB: 18 CLC CODE_019EBC: 69 04 ADC.B #$04 CODE_019EBE: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_019EC1: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_019EC4: 48 PHA CODE_019EC5: 9E 7C 15 STZ.W RAM_SpriteDir,X CODE_019EC8: BD 70 15 LDA.W $1570,X CODE_019ECB: 4A LSR CODE_019ECC: 4A LSR CODE_019ECD: 4A LSR CODE_019ECE: 29 01 AND.B #$01 CODE_019ED0: A8 TAY CODE_019ED1: 20 35 9E JSR.W CODE_019E35 CODE_019ED4: B5 E4 LDA RAM_SpriteXLo,X CODE_019ED6: 18 CLC CODE_019ED7: 69 04 ADC.B #$04 CODE_019ED9: 95 E4 STA RAM_SpriteXLo,X CODE_019EDB: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_019EDE: 69 00 ADC.B #$00 CODE_019EE0: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_019EE3: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_019EE6: 18 CLC CODE_019EE7: 69 04 ADC.B #$04 CODE_019EE9: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_019EEC: FE 7C 15 INC.W RAM_SpriteDir,X CODE_019EEF: 20 37 9E JSR.W CODE_019E37 CODE_019EF2: 68 PLA CODE_019EF3: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_019EF6: 68 PLA CODE_019EF7: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_019EFA: 68 PLA CODE_019EFB: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_019EFE: 68 PLA CODE_019EFF: 95 E4 STA RAM_SpriteXLo,X CODE_019F01: 68 PLA CODE_019F02: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_019F05: 68 PLA CODE_019F06: 95 D8 STA RAM_SpriteYLo,X Return019F08: 60 RTS ; Return SubSprGfx2Entry0: 85 04 STA $04 CODE_019F0B: 80 02 BRA CODE_019F0F SubSprGfx2Entry1: 64 04 STZ $04 CODE_019F0F: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_019F12: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_019F15: 85 02 STA $02 CODE_019F17: B4 9E LDY RAM_SpriteNum,X CODE_019F19: BD 02 16 LDA.W $1602,X CODE_019F1C: 18 CLC CODE_019F1D: 79 7F 9C ADC.W SprTilemapOffset,Y CODE_019F20: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_019F23: AA TAX CODE_019F24: BD 83 9B LDA.W SprTilemap,X CODE_019F27: 99 02 03 STA.W OAM_Tile,Y CODE_019F2A: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_019F2D: A5 00 LDA $00 CODE_019F2F: 99 00 03 STA.W OAM_DispX,Y CODE_019F32: A5 01 LDA $01 CODE_019F34: 99 01 03 STA.W OAM_DispY,Y CODE_019F37: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_019F3A: 4A LSR CODE_019F3B: A9 00 LDA.B #$00 CODE_019F3D: 1D F6 15 ORA.W RAM_SpritePal,X CODE_019F40: B0 02 BCS CODE_019F44 CODE_019F42: 49 40 EOR.B #$40 CODE_019F44: 05 04 ORA $04 CODE_019F46: 05 64 ORA $64 CODE_019F48: 99 03 03 STA.W OAM_Prop,Y CODE_019F4B: 98 TYA CODE_019F4C: 4A LSR CODE_019F4D: 4A LSR CODE_019F4E: A8 TAY CODE_019F4F: A9 02 LDA.B #$02 CODE_019F51: 1D A0 15 ORA.W RAM_OffscreenHorz,X CODE_019F54: 99 60 04 STA.W OAM_TileSize,Y CODE_019F57: 20 DF A3 JSR.W CODE_01A3DF Return019F5A: 60 RTS ; Return DATA_019F5B: .db $0B,$F5,$04,$FC,$04,$00 DATA_019F61: .db $00,$FF,$00,$FF,$00,$00 ;;; all.log 019F67..01A0B0 ;;; ;;; RAM_IsFlying $72 acts as a "Mario is in the air" flag. This is nonzero when Mario is in the air ;;; (whether flying, jumping or falling). This is zero when Mario stands on a platform. ;;; ;;; RAM_YoshiInPipe $7E1419 is actually the "sprites go behind stuff" flag; see RAM map at ;;; SMWcentral. So whether or not Mario has Yoshi, we use this flag to make the carried sprites go ;;; behind stuff like pipes. ;;; ;;; Mysterious RAM locations: ;;; RAM_ChangingDir $7E13DD, not in SMWcentral RAM Map ;;; $7E13F3, might be the pose of Mario while using the P-balloon ;;; $7E1626, SMWcentral says "Consecutive enemies jumped on table." ;;; ;;; New labels (not in original all.log): ;;; $64 => RAM_SpriteProp (vhoopppN) ;;; $7E14C8 => RAM_SpriteAction ("sprite status table") ;;; $7E1891 => RAM_BalloonTimer ;;; CODE_019FC4 => BalloonExpired ;;; CODE_019FCA => BalloonActive ;;; CODE_019FE0 => NotCarryingBalloon ;;; CODE_01A015 => ReleaseSprCarried ;;; CODE_01A068 => TossUpSprCarried ;;; CODE_01A079 => KickSprCarried ;;; CODE_01A0A6 => StartKickPose ;;; CODE_02D214 => ControlSprCarried ;;; ;;; SMWcentral RAM map names RAM_SpriteAction $7E14C8 as the "sprite status table", but this is not ;;; the same table as RAM_SpriteState $C2 or RAM_SprObjStatus $7E1588. ;;; ;;; Values for RAM_SpriteAction,X: ;;; $00 => empty sprite slot ;;; $07 => in mouth of Yoshi ;;; $08 => normal ;;; $09 => stunned ;;; $0A => kicked ;;; $0B => carried by Mario ;;; See http://www.smwcentral.net/?p=thread&id=11960 for other values. ;; X position of carried sprite relative to Mario, ;; in table indexed by RAM_MarioDirection $76. ;; ;; DATA_019F67,0 with DATA_019F69,0 = position when facing left ;; DATA_019F67,1 with DATA_019F69,1 = position when facing right ;; DATA_019F67: .db $F3,$0D ; .db -13, 13 DATA_019F69: .db $FF,$00 ; high byte of -13, 13 ;; Sprite X speed when kicking a sprite. ;; Index 0 => Mario faces left, no Yoshi ;; 1 => Mario faces right, no Yoshi ;; 2 => Mario and Yoshi face left ;; 3 => Mario and Yoshi face right ;; ShellSpeedX: .db $D2,$2E,$CC,$34 ; .db -46, 46, -52, 52 .db $00,$10 ; unknown bytes ;;; JSR subroutine ;;; precondition that data bank = $01 ;;; and that Mario carries this sprite (so RAM_SpriteAction,X is $0B) ;;; takes X = index of this common sprite in the common sprite tables in RAM ;;; preserves X ;;; ;;; Handles a sprite while Mario carries the sprite. Positions the sprite in front of Mario. Also ;;; tosses up, kicks or drops the sprite if the player releases the Y (or X) button. ;;; ;;; This routine also handles the P-balloon. While Mario uses the P-balloon, Mario carries the ;;; P-balloon sprite. This routine handles the balloon timer and the animation for low time. ;;; ;;; Mario normally carries only one sprite, but you can set the common sprite tables such that, ;;; because there are 12 common sprite slots, Mario can carry simultaneously as many as 12 sprites. ;;; You can observe this with the glitch for carrying 2 sprites. There would be problems if Mario ;;; would carry 2 P-balloons, because the balloons would share some variables. ;;; ;;; TODO - does any part of this routine handle when sprites are in the mouth of Yoshi? ;;; HandleSprCarried: 20 9B 9F JSR.W CODE_019F9B ; Do first part of HandleSprCarried CODE_019F74: AD DD 13 LDA.W RAM_ChangingDir ; \ If RAM_ChangingDir is nonzero, or if CODE_019F77: D0 0A BNE CODE_019F83 ; |we are in a pipe (sprites go behind CODE_019F79: AD 19 14 LDA.W RAM_YoshiInPipe ; |stuff), or if Mario faces camera, CODE_019F7C: D0 05 BNE CODE_019F83 ; |then set OAM slot of sprite to 64. CODE_019F7E: AD 99 14 LDA.W RAM_FaceCamImgTimer ; |(TODO - why?) CODE_019F81: F0 03 BEQ CODE_019F86 ; | CODE_019F83: 9E EA 15 STZ.W RAM_SprOAMIndex,X ; / CODE_019F86: A5 64 LDA RAM_SpriteProp ; \ Save vhoopppN of current sprite CODE_019F88: 48 PHA ; / CODE_019F89: AD 19 14 LDA.W RAM_YoshiInPipe ; \ Do nothing if we are in a pipe. CODE_019F8C: F0 04 BEQ CODE_019F92 ; |Otherwise, vhoopppN = 00010000 CODE_019F8E: A9 10 LDA.B #$10 ; | no flipping, priority oo = 1, CODE_019F90: 85 64 STA RAM_SpriteProp ; / palette ppp = 0, N = 0 CODE_019F92: 20 87 A1 JSR.W CODE_01A187 CODE_019F95: 68 PLA ; \ Restore vhoopppN CODE_019F96: 85 64 STA RAM_SpriteProp ; / Return019F98: 60 RTS ; Return from HandleSprCarried ;; Sprite X speed relative to Mario X speed when dropping a ;; carried sprite in table indexed by RAM_MarioDirection $76. ;; DATA_019F99: .db $FC,$04 ; .db -4, 4 ;;; JSR subroutine, first part of HandleSprCarried ;;; CODE_019F9B: B5 9E LDA RAM_SpriteNum,X ; \ Branch unless sprite is P-balloon CODE_019F9D: C9 7D CMP.B #$7D ; | CODE_019F9F: D0 3F BNE NotCarryingBalloon ; / CODE_019FA1: A5 13 LDA RAM_FrameCounter ; \ The next code runs every four frames. CODE_019FA3: 29 03 AND.B #$03 ; |If the frame counter is not a multiple of 4, CODE_019FA5: D0 17 BNE CODE_019FBE ; / then skip ahead. CODE_019FA7: CE 91 18 DEC.W RAM_BalloonTimer ; Decrement the timer of the P-balloon CODE_019FAA: F0 18 BEQ BalloonExpired ; Branch if the P-balloon expired CODE_019FAC: AD 91 18 LDA.W RAM_BalloonTimer ; A = P-balloon's timer CODE_019FAF: C9 30 CMP.B #$30 ; \ Skip ahead if timer >= 48 CODE_019FB1: B0 0B BCS CODE_019FBE ; / CODE_019FB3: A0 01 LDY.B #$01 ; \ Divide timer by 8, take remainder. CODE_019FB5: 29 04 AND.B #$04 ; |If 0 <= remainder <= 3, then Y = 1. CODE_019FB7: F0 02 BEQ CODE_019FBB ; |If 4 <= remainder <= 7, then Y = 9. CODE_019FB9: A0 09 LDY.B #$09 ; / CODE_019FBB: 8C F3 13 STY.W $13F3 ; Write $13F3 = Y ;; Come here if skipping ahead CODE_019FBE: A5 71 LDA RAM_MarioAnimation ; \ Branch if no Mario animation CODE_019FC0: C9 01 CMP.B #$01 ; |sequence in progress CODE_019FC2: 90 06 BCC BalloonActive ; / ;; If animating Mario, then fall through to kill the P-balloon. ;; For example, if Mario grows into Super Mario then he loses the balloon. BalloonExpired: 9C F3 13 STZ.W $13F3 ; Write $13F3 = 0 CODE_019FC7: 4C 80 AC JMP.W OffScrEraseSprite ; Tail call, return from CODE_019F9B BalloonActive: 8B PHB ; Save previous data bank CODE_019FCB: A9 02 LDA.B #$02 ; \ Data bank = $02 CODE_019FCD: 48 PHA ; |(Precondition for ControlSprCarried) CODE_019FCE: AB PLB ; / CODE_019FCF: 22 14 D2 02 JSL.L ControlSprCarried ; React to Control Pad, adjust speed CODE_019FD3: AB PLB ; Restore previous data bank CODE_019FD4: 20 B1 A0 JSR.W CODE_01A0B1 ;; ;; RAM $7E0200..$7E041F is a mirror of OAM. This code uses $0301,Y ;; which would be the Y-position (relative to the screen) of the ;; sprite with OAM slot = (Y / 4) + 64. (TODO - is this correct?) ;; CODE_019FD7: BC EA 15 LDY.W RAM_SprOAMIndex,X ; \ Remove P-balloon sprite from screen CODE_019FDA: A9 F0 LDA.B #$F0 ; |by setting Y-position to -16. CODE_019FDC: 99 01 03 STA.W OAM_DispY,Y ; / Return019FDF: 60 RTS ; Return from CODE_019F9B ;;; all.log 019F67..01A0B0 ;;; continued from SMWDISC19 ;;; continuation of JSR subroutine CODE_019F9B ;;; NotCarryingBalloon: 20 40 91 JSR.W CODE_019140 CODE_019FE3: A5 71 LDA RAM_MarioAnimation ; \ Skip ahead if no Mario animation CODE_019FE5: C9 01 CMP.B #$01 ; |sequence in progress CODE_019FE7: 90 0B BCC CODE_019FF4 ; / CODE_019FE9: AD 19 14 LDA.W RAM_YoshiInPipe ; \ Skip ahead if in pipe CODE_019FEC: D0 06 BNE CODE_019FF4 ; / (sprites go behind stuff) ;; We are animating Mario and are not in a pipe CODE_019FEE: A9 09 LDA.B #$09 ; \ Sprite action = Stunned CODE_019FF0: 9D C8 14 STA.W RAM_SpriteAction,X ; / Return019FF3: 60 RTS ; Return from CODE_019F9B ;; Come here if we are not animating Mario or we are in a pipe CODE_019FF4: BD C8 14 LDA.W RAM_SpriteAction,X ; \ Return if sprite action == Normal CODE_019FF7: C9 08 CMP.B #$08 ; | status bar CODE_019FF9: F0 19 BEQ Return01A014 ; / CODE_019FFB: A5 9D LDA RAM_SpritesLocked ; \ Tail call if sprites locked CODE_019FFD: F0 03 BEQ CODE_01A002 ; |(Call CODE_01A0B1 and then return CODE_019FFF: 4C B1 A0 JMP.W CODE_01A0B1 ; / from CODE_019F9B) CODE_01A002: 20 24 96 JSR.W CODE_019624 CODE_01A005: 20 0D A4 JSR.W SubSprSprInteract CODE_01A008: AD 19 14 LDA.W RAM_YoshiInPipe ; \ Do nothing if we are in a pipe. CODE_01A00B: D0 04 BNE CODE_01A011 ; |Otherwise, if not holding Y or X, CODE_01A00D: 24 15 BIT RAM_ControllerA ; | then branch to release the sprite. CODE_01A00F: 50 04 BVC ReleaseSprCarried ; / (BIT moves bit $40 to flag V.) CODE_01A011: 20 B1 A0 JSR.W CODE_01A0B1 Return01A014: 60 RTS ; Return from CODE_019F9B ;; Mario carries a sprite but the player released the Y or X ;; button, so release the sprite. ;; ReleaseSprCarried: 9E 26 16 STZ.W $1626,X ; TODO - what is this? CODE_01A018: A0 00 LDY.B #$00 ; Y = 0 CODE_01A01A: B5 9E LDA RAM_SpriteNum,X ; \ If the sprite is a Goomba $0F, and CODE_01A01C: C9 0F CMP.B #$0F ; |if Mario is not in the air, then CODE_01A01E: D0 06 BNE CODE_01A026 ; |Y = -20. This is dead code; this has CODE_01A020: A5 72 LDA RAM_IsFlying ; |no effect because Mario collides CODE_01A022: D0 02 BNE CODE_01A026 ; |with the Goomba. You may safely NOP CODE_01A024: A0 EC LDY.B #$EC ; / or overwrite this code. ;; ;; The next line only affects kicked sprites. Later code will ;; set the vertical speed of tossed-up or dropped sprites. ;; Thus edits to address $01A019 affect only kicked sprites. ;; CODE_01A026: 94 AA STY RAM_SpriteSpeedY,X ; Sprite Y speed = register Y CODE_01A028: A9 09 LDA.B #$09 ; \ Sprite action = Stationary CODE_01A02A: 9D C8 14 STA.W RAM_SpriteAction,X ; / ;; ;; Decide whether to branch to the code for tossing up the sprite, ;; branch to the code for kicking the sprite, or continue with the ;; code for normally dropping the sprite. ;; ;; Bob-ombs $OD, Goombas $0F, Buzzy Beetles $11 are < $15. ;; Koopa shells are also < $15. ;; Most other carried sprites, like springboards $2F and ;; P-switches $3E are >= $15. ;; CODE_01A02D: A5 15 LDA RAM_ControllerA ; \ If holding up from Control Pad, CODE_01A02F: 29 08 AND.B #$08 ; |branch to toss up sprite CODE_01A031: D0 35 BNE TossUpSprCarried ; / CODE_01A033: B5 9E LDA RAM_SpriteNum,X ; \ Check if sprite number >= $15 CODE_01A035: C9 15 CMP.B #$15 ; | (unsigned comparison) CODE_01A037: B0 08 BCS CODE_01A041 ; / CODE_01A039: A5 15 LDA RAM_ControllerA ; \ For sprite number < $15, CODE_01A03B: 29 04 AND.B #$04 ; |Kick sprite unless holding down CODE_01A03D: F0 3A BEQ KickSprCarried ; | from Control Pad CODE_01A03F: 80 06 BRA CODE_01A047 ; / CODE_01A041: A5 15 LDA RAM_ControllerA ; \ For sprite number >= $15, CODE_01A043: 29 03 AND.B #$03 ; |Kick sprite if holding left or right CODE_01A045: D0 32 BNE KickSprCarried ; / from Control Pad ;; ;; Continue if not tossing up nor kicking the sprite. ;; Drop the sprite. ;; CODE_01A047: A4 76 LDY RAM_MarioDirection ; Y = 0 if Mario faces left, 1 if right CODE_01A049: A5 D1 LDA $D1 ; \ Sprite X position = CODE_01A04B: 18 CLC ; | Mario X position plus or minus 13 CODE_01A04C: 79 67 9F ADC.W DATA_019F67,Y ; | CODE_01A04F: 95 E4 STA RAM_SpriteXLo,X ; |Subtract 13 if Mario faces left. CODE_01A051: A5 D2 LDA $D2 ; |Add 13 if Mario faces right. ;; carry for 16-bit add ; | CODE_01A053: 79 69 9F ADC.W DATA_019F69,Y ; | CODE_01A056: 9D E0 14 STA.W RAM_SpriteXHi,X ; / CODE_01A059: 20 30 AD JSR.W SubHorizPos CODE_01A05C: B9 99 9F LDA.W DATA_019F99,Y ; \ Sprite X speed = CODE_01A05F: 18 CLC ; | Mario X speed plus or minus 4 CODE_01A060: 65 7B ADC RAM_MarioSpeedX ; |Subtract 4 if Mario faces left. CODE_01A062: 95 B6 STA RAM_SpriteSpeedX,X ; / Add 4 if Mario faces right. CODE_01A064: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01A066: 80 3E BRA StartKickPose ; Branch to pose Mario ;; Mario released the sprite, but the player held up from the ;; Control Pad, so we need to toss the sprite in the air. ;; TossUpSprCarried: 22 6F AB 01 JSL.L CODE_01AB6F CODE_01A06C: A9 90 LDA.B #$90 ; \ Sprite Y speed = -112 CODE_01A06E: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_01A070: A5 7B LDA RAM_MarioSpeedX ; \ Sprite X speed = 1/2 * Mario X speed CODE_01A072: 95 B6 STA RAM_SpriteSpeedX,X ; |(The ASL moves the sign bit to the CODE_01A074: 0A ASL ; | carry flag, such that the ROR CODE_01A075: 76 B6 ROR RAM_SpriteSpeedX,X ; / performs signed division by 2.) CODE_01A077: 80 2D BRA StartKickPose ; Branch to pose Mario ;; Mario released and kicked the sprite. ;; KickSprCarried: 22 6F AB 01 JSL.L CODE_01AB6F CODE_01A07D: BD 40 15 LDA.W $1540,X ; \ TODO - what is this? CODE_01A080: 95 C2 STA RAM_SpriteState,X ; / CODE_01A082: A9 0A LDA.B #$0A ; \ Sprite action = Kicked CODE_01A084: 9D C8 14 STA.W RAM_SpriteAction,X ; / CODE_01A087: A4 76 LDY RAM_MarioDirection ; \ Y = 0 if Mario faces left, no Yoshi CODE_01A089: AD 7A 18 LDA.W RAM_OnYoshi ; |Y = 1 if Mario faces right, no Yoshi CODE_01A08C: F0 02 BEQ CODE_01A090 ; |Y = 2 if Mario and Yoshi face left ADDR_01A08E: C8 INY ; |Y = 3 if Mario and Yoshi face right ADDR_01A08F: C8 INY ; / CODE_01A090: B9 6B 9F LDA.W ShellSpeedX,Y ; \ Sprite X speed = Value from table CODE_01A093: 95 B6 STA RAM_SpriteSpeedX,X ; / -46, 46, -52, 52 indexed by Y CODE_01A095: 45 7B EOR RAM_MarioSpeedX ; \ Skip ahead unless sign bits of Mario CODE_01A097: 30 0D BMI StartKickPose ; / and sprite X speeds are equal CODE_01A099: A5 7B LDA RAM_MarioSpeedX ; \ Carry flag = sign bit of Mario X CODE_01A09B: 85 00 STA $00 ; | speed CODE_01A09D: 06 00 ASL $00 ; / CODE_01A09F: 6A ROR ; \ Sprite X speed = Sprite X speed + CODE_01A0A0: 18 CLC ; | 1/2 * Mario X speed CODE_01A0A1: 79 6B 9F ADC.W ShellSpeedX,Y ; | CODE_01A0A4: 95 B6 STA RAM_SpriteSpeedX,X ; / ;; fall through to StartKickPose ;; Give the released sprite some time to move away from Mario. ;; (If Mario tries to toss up or drop a Koopa shell, we do want ;; the collision code to immediately kick the shell.) ;; ;; Show the pose of Mario kicking the sprite with the foot. ;; StartKickPose: A9 10 LDA.B #$10 ; \ Disable collisions between Mario CODE_01A0A8: 9D 4C 15 STA.W RAM_DisableInter,X ; / and this sprite for 16 frames. CODE_01A0AB: A9 0C LDA.B #$0C ; \ Display pose of Mario kicking for CODE_01A0AD: 8D 9A 14 STA.W RAM_KickImgTimer ; / 12 frames. Return01A0B0: 60 RTS ; Return from CODE_019F9B CODE_01A0B1: A0 00 LDY.B #$00 CODE_01A0B3: A5 76 LDA RAM_MarioDirection ; \ Y = Mario's direction CODE_01A0B5: D0 01 BNE CODE_01A0B8 ; | CODE_01A0B7: C8 INY ; / CODE_01A0B8: AD 99 14 LDA.W RAM_FaceCamImgTimer CODE_01A0BB: F0 07 BEQ CODE_01A0C4 CODE_01A0BD: C8 INY CODE_01A0BE: C8 INY CODE_01A0BF: C9 05 CMP.B #$05 CODE_01A0C1: 90 01 BCC CODE_01A0C4 CODE_01A0C3: C8 INY CODE_01A0C4: AD 19 14 LDA.W RAM_YoshiInPipe CODE_01A0C7: F0 04 BEQ CODE_01A0CD CODE_01A0C9: C9 02 CMP.B #$02 CODE_01A0CB: F0 07 BEQ CODE_01A0D4 CODE_01A0CD: AD DD 13 LDA.W RAM_ChangingDir CODE_01A0D0: 05 74 ORA RAM_IsClimbing CODE_01A0D2: F0 02 BEQ CODE_01A0D6 CODE_01A0D4: A0 05 LDY.B #$05 CODE_01A0D6: 5A PHY CODE_01A0D7: A0 00 LDY.B #$00 CODE_01A0D9: AD 71 14 LDA.W $1471 CODE_01A0DC: C9 03 CMP.B #$03 CODE_01A0DE: F0 02 BEQ CODE_01A0E2 CODE_01A0E0: A0 3D LDY.B #$3D CODE_01A0E2: B9 94 00 LDA.W RAM_MarioXPos,Y ; \ $00 = Mario's X position CODE_01A0E5: 85 00 STA $00 ; | CODE_01A0E7: B9 95 00 LDA.W RAM_MarioXPosHi,Y ; | CODE_01A0EA: 85 01 STA $01 ; / CODE_01A0EC: B9 96 00 LDA.W RAM_MarioYPos,Y ; \ $02 = Mario's Y position CODE_01A0EF: 85 02 STA $02 ; | CODE_01A0F1: B9 97 00 LDA.W RAM_MarioYPosHi,Y ; | CODE_01A0F4: 85 03 STA $03 ; / CODE_01A0F6: 7A PLY CODE_01A0F7: A5 00 LDA $00 CODE_01A0F9: 18 CLC CODE_01A0FA: 79 5B 9F ADC.W DATA_019F5B,Y CODE_01A0FD: 95 E4 STA RAM_SpriteXLo,X CODE_01A0FF: A5 01 LDA $01 CODE_01A101: 79 61 9F ADC.W DATA_019F61,Y CODE_01A104: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01A107: A9 0D LDA.B #$0D CODE_01A109: A4 73 LDY RAM_IsDucking ; \ Branch if ducking CODE_01A10B: D0 04 BNE CODE_01A111 ; / CODE_01A10D: A4 19 LDY RAM_MarioPowerUp ; \ Branch if Mario isn't small CODE_01A10F: D0 02 BNE CODE_01A113 ; / CODE_01A111: A9 0F LDA.B #$0F CODE_01A113: AC 98 14 LDY.W RAM_PickUpImgTimer CODE_01A116: F0 02 BEQ CODE_01A11A CODE_01A118: A9 0F LDA.B #$0F CODE_01A11A: 18 CLC CODE_01A11B: 65 02 ADC $02 CODE_01A11D: 95 D8 STA RAM_SpriteYLo,X CODE_01A11F: A5 03 LDA $03 CODE_01A121: 69 00 ADC.B #$00 CODE_01A123: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01A126: A9 01 LDA.B #$01 CODE_01A128: 8D 8F 14 STA.W $148F CODE_01A12B: 8D 70 14 STA.W $1470 ; Set carrying enemy flag Return01A12E: 60 RTS ; Return ;;; New labels (not in orignal all.log): ;;; $7E14C8 => RAM_SpriteAction ("sprite status table") ;;; ;;; The next code is part of subroutine CODE_01A187. The code is before the start of the subroutine ;;; so that branch instructions (having range -128..127) can reach the code. ;; Show a stunned (stationary or carried) Goomba. The sprite ;; appears vertically flipped (up-side-down) and moves its legs, ;; alternating its image after every 8 frames. ;; ;; The timer at table $1540 counts the frames until the Goomba ;; walks. If the timer is below 48, then the Goomba hastens its ;; animation, alternating its image after every 4 frames, to warn ;; the player that it will soon walk. ;; StunGoomba: A5 14 LDA RAM_FrameCounterB ; \ A = frame counter / 4 CODE_01A131: 4A LSR ; | (RAM $14 stops counting frames CODE_01A132: 4A LSR ; / while sprites are frozen.) CODE_01A133: BC 40 15 LDY.W $1540,X ; \ If timer < 48, CODE_01A136: C0 30 CPY.B #$30 ; | then A = frame counter / 8 CODE_01A138: 90 01 BCC CODE_01A13B ; | CODE_01A13A: 4A LSR ; / CODE_01A13B: 29 01 AND.B #$01 ; \ Sprite image = 0 or 1, CODE_01A13D: 9D 02 16 STA.W $1602,X ; / alternating after 4 or 8 frames CODE_01A140: C0 08 CPY.B #$08 ; \ If timer == 8, and Goomba is on the CODE_01A142: D0 09 BNE CODE_01A14D ; |ground (not in midair), then set ADDR_01A144: 20 0E 80 JSR.W IsOnGround ; |vertical speed of Goomba to -40. ADDR_01A147: F0 04 BEQ CODE_01A14D ; |(Exactly 8 turns before waking, the ADDR_01A149: A9 D8 LDA.B #$D8 ; | Goomba hops into the air!) ADDR_01A14B: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_01A14D: A9 80 LDA.B #$80 CODE_01A14F: 4C 09 9F JMP.W SubSprGfx2Entry0 ; TODO, seems to affect OAM ;; Show a stunned (stationary or carried) Mecha Koopa. The sprite ;; appears flattened. If the timer is below 48, then the Mecha ;; Koopa shakes to warn the player that it will soon walk. To ;; shake the sprite, we temporily move layer 1 left or right by ;; one pixel. ;; StunMechaKoopa: A5 1A LDA RAM_ScreenBndryXLo ; \ Push low byte of X-position CODE_01A154: 48 PHA ; / of layer 1 of level CODE_01A155: BD 40 15 LDA.W $1540,X ; \ Skip ahead if timer >= 48 CODE_01A158: C9 30 CMP.B #$30 ; | CODE_01A15A: B0 06 BCS CODE_01A162 ; / CODE_01A15C: 29 01 AND.B #$01 ; \ If timer is odd, then flip bit 1 CODE_01A15E: 45 1A EOR RAM_ScreenBndryXLo ; | of X-position of layer 1 CODE_01A160: 85 1A STA RAM_ScreenBndryXLo ; / ;; Come here if timer >= 48 CODE_01A162: 22 07 B3 03 JSL.L CODE_03B307 ; TODO CODE_01A166: 68 PLA ; \ Pull orignal low byte of X-position CODE_01A167: 85 1A STA RAM_ScreenBndryXLo ; / of layer 1 of level CODE_01A169: BD C8 14 LDA.W RAM_SpriteAction,X ; \ If sprite action == Carried, CODE_01A16C: C9 0B CMP.B #$0B ; | CODE_01A16E: D0 07 BNE Return01A177 ; | CODE_01A170: A5 76 LDA RAM_MarioDirection ; | Sprite direction = Opposite CODE_01A172: 49 01 EOR.B #$01 ; | direction of Mario CODE_01A174: 9D 7C 15 STA.W RAM_SpriteDir,X ; / Return01A177: 60 RTS ; Return ;; Draw a stunned Cheep-Cheep. (TODO - what is this?) StunFish: 20 5F 8E JSR.W SetAnimationFrame ADDR_01A17B: BD F6 15 LDA.W RAM_SpritePal,X ADDR_01A17E: 09 80 ORA.B #$80 ADDR_01A180: 9D F6 15 STA.W RAM_SpritePal,X ADDR_01A183: 20 0D 9F JSR.W SubSprGfx2Entry1 Return01A186: 60 RTS ; Return ;;; JSR subroutine ;;; takes X = index of this common sprite in the common sprite tables in RAM ;;; preserves X ;;; ;;; Shows graphics of a stationary sprite or a carried sprite. Without this routine, these sprites ;;; would be invisible. This routine handles all carryable sprites (including Koopa shells and ;;; P-balloons) and some other sprites? ;;; ;;; Kicked sprites (like kicked Koopa shells) use a different routine. ;;; ;;; RAM_SpriteAction,X is probably $09 (stationary or stunned) or $0B (carried by Mario). ;;; CODE_01A187: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ Branch if sprite changes into a shell CODE_01A18A: 29 08 AND.B #$08 ; | CODE_01A18C: F0 42 BEQ CODE_01A1D0 ; / ;; ;; Given a sprite number, branch to the correct case (so that at a ;; shell looks like a shell, not a springboard). We have here a ;; sequence of comparisons instead of a jump table. ;; ;; http://www.smwcentral.net/?p=thread&id=7562 is a list of sprite ;; numbers. Sprite $53 is not in the list, but we verified that it ;; is a grab block (aka a throw block). ;; CODE_01A18E: B5 9E LDA RAM_SpriteNum,X ; A = sprite number of this sprite CODE_01A190: C9 A2 CMP.B #$A2 ; \ Branch if A == $A2, CODE_01A192: F0 BE BEQ StunMechaKoopa ; / Mecha Koopa CODE_01A194: C9 15 CMP.B #$15 ; \ Branch if A == $15, CODE_01A196: F0 E0 BEQ StunFish ; / horizontal Cheep-Cheep CODE_01A198: C9 16 CMP.B #$16 ; \ Branch if A == $16, CODE_01A19A: F0 DC BEQ StunFish ; / vertical Cheep-Cheep CODE_01A19C: C9 0F CMP.B #$0F ; \ Branch if A == $0F, CODE_01A19E: F0 8F BEQ StunGoomba ; / Goomba CODE_01A1A0: C9 53 CMP.B #$53 ; \ Branch if A == $53, CODE_01A1A2: F0 30 BEQ StunThrowBlock ; / grab block CODE_01A1A4: C9 2C CMP.B #$2C ; \ Branch if A == $2C, CODE_01A1A6: F0 40 BEQ StunYoshiEgg ; / Yoshi egg CODE_01A1A8: C9 80 CMP.B #$80 ; \ Branch if A == $80, CODE_01A1AA: F0 47 BEQ StunKey ; / key CODE_01A1AC: C9 7D CMP.B #$7D ; \ Branch if A == $7D, CODE_01A1AE: F0 23 BEQ Return01A1D3 ; / P-balloon CODE_01A1B0: C9 3E CMP.B #$3E ; \ Branch if A == $3E, CODE_01A1B2: F0 49 BEQ StunPow ; / P-switch CODE_01A1B4: C9 2F CMP.B #$2F ; \ Branch if A == $2F, CODE_01A1B6: F0 71 BEQ StunSpringBoard ; / portable springboard CODE_01A1B8: C9 0D CMP.B #$0D ; \ Branch if A == $0D, CODE_01A1BA: F0 30 BEQ StunBomb ; / Bob-omb CODE_01A1BC: C9 2D CMP.B #$2D ; \ Branch if A == $2D, CODE_01A1BE: F0 6C BEQ StunBabyYoshi ; / baby Yoshi ADDR_01A1C0: C9 85 CMP.B #$85 ; \ Handle unused sprite $85 ADDR_01A1C2: D0 0C BNE CODE_01A1D0 ; | ADDR_01A1C4: 20 0D 9F JSR.W SubSprGfx2Entry1 ; | ADDR_01A1C7: BC EA 15 LDY.W RAM_SprOAMIndex,X ; | ADDR_01A1CA: A9 47 LDA.B #$47 ; |Set OAM with tile #$47 ADDR_01A1CC: 99 02 03 STA.W OAM_Tile,Y ; | Return01A1CF: 60 RTS ; / Return CODE_01A1D0: 20 06 98 JSR.W CODE_019806 ; Handle all other sprites Return01A1D3: 60 RTS ; Return ;; Draw a grab block (aka throw block) that is carried or is ;; stationary after being carried. In Super Mario World, grab ;; blocks start as blocks but become common sprites when someone ;; grabs them. As sprites, they blink by changing palettes. ;; StunThrowBlock: BD 40 15 LDA.W $1540,X ; \ If timer < 64, CODE_01A1D7: C9 40 CMP.B #$40 ; | and if timer is odd, CODE_01A1D9: B0 03 BCS CODE_01A1DE ; | then skip the change of palette. CODE_01A1DB: 4A LSR ; | CODE_01A1DC: B0 0A BCS StunYoshiEgg ; / CODE_01A1DE: BD F6 15 LDA.W RAM_SpritePal,X ; \ Change the palette. CODE_01A1E1: 1A INC A ; | CODE_01A1E2: 1A INC A ; | CODE_01A1E3: 29 0F AND.B #$0F ; | CODE_01A1E5: 9D F6 15 STA.W RAM_SpritePal,X ; / ;; fall through to StunYoshiEgg ;; For Yoshi egg: call SubSprGfx2Entry1 immediately. ;; For grab block: call it after running above code. StunYoshiEgg: 20 0D 9F JSR.W SubSprGfx2Entry1 Return01A1EB: 60 RTS ; Return StunBomb: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01A1EF: A9 CA LDA.B #$CA CODE_01A1F1: 80 2F BRA CODE_01A222 StunKey: 20 69 A1 JSR.W CODE_01A169 CODE_01A1F6: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01A1F9: A9 EC LDA.B #$EC CODE_01A1FB: 80 25 BRA CODE_01A222 StunPow: BC 3E 16 LDY.W $163E,X CODE_01A200: F0 16 BEQ CODE_01A218 CODE_01A202: C0 01 CPY.B #$01 CODE_01A204: D0 03 BNE CODE_01A209 CODE_01A206: 4C CB 9A JMP.W CODE_019ACB CODE_01A209: 20 00 E7 JSR.W SmushedGfxRt CODE_01A20C: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01A20F: B9 03 03 LDA.W OAM_Prop,Y CODE_01A212: 29 FE AND.B #$FE CODE_01A214: 99 03 03 STA.W OAM_Prop,Y Return01A217: 60 RTS ; Return CODE_01A218: A9 01 LDA.B #$01 CODE_01A21A: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01A21D: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01A220: A9 42 LDA.B #$42 CODE_01A222: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01A225: 99 02 03 STA.W OAM_Tile,Y Return01A228: 60 RTS ; Return StunSpringBoard: 4C F0 E6 JMP.W CODE_01E6F0 StunBabyYoshi: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01A22E: D0 4B BNE CODE_01A27B ; / CODE_01A230: B5 E4 LDA RAM_SpriteXLo,X CODE_01A232: 18 CLC CODE_01A233: 69 08 ADC.B #$08 CODE_01A235: 85 00 STA $00 CODE_01A237: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01A23A: 69 00 ADC.B #$00 CODE_01A23C: 85 08 STA $08 CODE_01A23E: B5 D8 LDA RAM_SpriteYLo,X CODE_01A240: 18 CLC CODE_01A241: 69 08 ADC.B #$08 CODE_01A243: 85 01 STA $01 CODE_01A245: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01A248: 69 00 ADC.B #$00 CODE_01A24A: 85 09 STA $09 CODE_01A24C: 22 FA B9 02 JSL.L CODE_02B9FA CODE_01A250: 22 4E EA 02 JSL.L CODE_02EA4E CODE_01A254: BD 3E 16 LDA.W $163E,X CODE_01A257: D0 25 BNE CODE_01A27E CODE_01A259: 3A DEC A CODE_01A25A: 9D 0E 16 STA.W $160E,X CODE_01A25D: BD C8 14 LDA.W $14C8,X ; \ Branch if sprite status != Stunned CODE_01A260: C9 09 CMP.B #$09 ; | CODE_01A262: D0 09 BNE CODE_01A26D ; / CODE_01A264: 20 0E 80 JSR.W IsOnGround CODE_01A267: F0 04 BEQ CODE_01A26D CODE_01A269: A9 F0 LDA.B #$F0 CODE_01A26B: 95 AA STA RAM_SpriteSpeedY,X CODE_01A26D: A0 00 LDY.B #$00 CODE_01A26F: A5 14 LDA RAM_FrameCounterB CODE_01A271: 29 18 AND.B #$18 CODE_01A273: D0 02 BNE CODE_01A277 CODE_01A275: A0 03 LDY.B #$03 CODE_01A277: 98 TYA CODE_01A278: 9D 02 16 STA.W $1602,X CODE_01A27B: 4C 4F A3 JMP.W CODE_01A34F CODE_01A27E: 9E EA 15 STZ.W RAM_SprOAMIndex,X CODE_01A281: C9 20 CMP.B #$20 CODE_01A283: F0 03 BEQ CODE_01A288 CODE_01A285: 4C 0A A3 JMP.W CODE_01A30A CODE_01A288: BC 0E 16 LDY.W $160E,X CODE_01A28B: A9 00 LDA.B #$00 ; \ Clear sprite status CODE_01A28D: 99 C8 14 STA.W $14C8,Y ; / CODE_01A290: A9 06 LDA.B #$06 CODE_01A292: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01A295: B9 0E 16 LDA.W $160E,Y CODE_01A298: D0 5A BNE CODE_01A2F4 CODE_01A29A: B9 9E 00 LDA.W RAM_SpriteNum,Y ; \ Branch if not Changing power up CODE_01A29D: C9 81 CMP.B #$81 ; | CODE_01A29F: D0 0C BNE CODE_01A2AD ; / ADDR_01A2A1: A5 14 LDA RAM_FrameCounterB ADDR_01A2A3: 4A LSR ADDR_01A2A4: 4A LSR ADDR_01A2A5: 4A LSR ADDR_01A2A6: 4A LSR ADDR_01A2A7: 29 03 AND.B #$03 ADDR_01A2A9: A8 TAY ADDR_01A2AA: B9 13 C3 LDA.W ChangingItemSprite,Y CODE_01A2AD: C9 74 CMP.B #$74 CODE_01A2AF: 90 43 BCC CODE_01A2F4 CODE_01A2B1: C9 78 CMP.B #$78 CODE_01A2B3: B0 3F BCS CODE_01A2F4 CODE_01A2B5: 9C AC 18 STZ.W $18AC CODE_01A2B8: 9C 1E 14 STZ.W RAM_YoshiHasWings ; No Yoshi wings CODE_01A2BB: A9 35 LDA.B #$35 ; \ Sprite = Yoshi CODE_01A2BD: 9D 9E 00 STA.W RAM_SpriteNum,X ; / CODE_01A2C0: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_01A2C2: 9D C8 14 STA.W $14C8,X ; / CODE_01A2C5: A9 1F LDA.B #$1F CODE_01A2C7: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_01A2CA: B5 D8 LDA RAM_SpriteYLo,X CODE_01A2CC: E9 10 SBC.B #$10 CODE_01A2CE: 95 D8 STA RAM_SpriteYLo,X CODE_01A2D0: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01A2D3: E9 00 SBC.B #$00 CODE_01A2D5: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01A2D8: BD F6 15 LDA.W RAM_SpritePal,X CODE_01A2DB: 48 PHA ; \ Reset sprite tables CODE_01A2DC: 22 D2 F7 07 JSL.L InitSpriteTables ; | CODE_01A2E0: 68 PLA ; / CODE_01A2E1: 29 FE AND.B #$FE CODE_01A2E3: 9D F6 15 STA.W RAM_SpritePal,X CODE_01A2E6: A9 0C LDA.B #$0C CODE_01A2E8: 9D 02 16 STA.W $1602,X CODE_01A2EB: DE 0E 16 DEC.W $160E,X CODE_01A2EE: A9 40 LDA.B #$40 CODE_01A2F0: 8D E8 18 STA.W $18E8 Return01A2F3: 60 RTS ; Return CODE_01A2F4: FE 70 15 INC.W $1570,X CODE_01A2F7: BD 70 15 LDA.W $1570,X CODE_01A2FA: C9 05 CMP.B #$05 CODE_01A2FC: D0 02 BNE CODE_01A300 CODE_01A2FE: 80 B5 BRA CODE_01A2B5 CODE_01A300: 22 4A B3 05 JSL.L CODE_05B34A CODE_01A304: A9 01 LDA.B #$01 CODE_01A306: 22 E5 AC 02 JSL.L GivePoints CODE_01A30A: BD 3E 16 LDA.W $163E,X CODE_01A30D: 4A LSR CODE_01A30E: 4A LSR CODE_01A30F: 4A LSR CODE_01A310: A8 TAY CODE_01A311: B9 5A A3 LDA.W DATA_01A35A,Y CODE_01A314: 9D 02 16 STA.W $1602,X CODE_01A317: 64 01 STZ $01 CODE_01A319: BD 3E 16 LDA.W $163E,X CODE_01A31C: C9 20 CMP.B #$20 CODE_01A31E: 90 2F BCC CODE_01A34F CODE_01A320: E9 10 SBC.B #$10 CODE_01A322: 4A LSR CODE_01A323: 4A LSR CODE_01A324: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01A327: F0 05 BEQ CODE_01A32E CODE_01A329: 49 FF EOR.B #$FF CODE_01A32B: 1A INC A CODE_01A32C: C6 01 DEC $01 CODE_01A32E: BC 0E 16 LDY.W $160E,X CODE_01A331: 18 CLC CODE_01A332: 75 E4 ADC RAM_SpriteXLo,X CODE_01A334: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01A337: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01A33A: 65 01 ADC $01 CODE_01A33C: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_01A33F: B5 D8 LDA RAM_SpriteYLo,X CODE_01A341: 38 SEC CODE_01A342: E9 02 SBC.B #$02 CODE_01A344: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_01A347: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01A34A: E9 00 SBC.B #$00 CODE_01A34C: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_01A34F: 20 69 A1 JSR.W CODE_01A169 CODE_01A352: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01A355: 22 25 EA 02 JSL.L CODE_02EA25 Return01A359: 60 RTS ; Return DATA_01A35A: .db $00,$03,$02,$02,$01,$01,$01 DATA_01A361: .db $10,$20 DATA_01A363: .db $01,$02 GetDrawInfoBnk1: 9E 6C 18 STZ.W RAM_OffscreenVert,X CODE_01A368: 9E A0 15 STZ.W RAM_OffscreenHorz,X CODE_01A36B: B5 E4 LDA RAM_SpriteXLo,X CODE_01A36D: C5 1A CMP RAM_ScreenBndryXLo CODE_01A36F: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01A372: E5 1B SBC RAM_ScreenBndryXHi CODE_01A374: F0 03 BEQ CODE_01A379 CODE_01A376: FE A0 15 INC.W RAM_OffscreenHorz,X CODE_01A379: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01A37C: EB XBA CODE_01A37D: B5 E4 LDA RAM_SpriteXLo,X CODE_01A37F: C2 20 REP #$20 ; Accum (16 bit) CODE_01A381: 38 SEC CODE_01A382: E5 1A SBC RAM_ScreenBndryXLo CODE_01A384: 18 CLC CODE_01A385: 69 40 00 ADC.W #$0040 CODE_01A388: C9 80 01 CMP.W #$0180 CODE_01A38B: E2 20 SEP #$20 ; Accum (8 bit) CODE_01A38D: 2A ROL CODE_01A38E: 29 01 AND.B #$01 CODE_01A390: 9D C4 15 STA.W $15C4,X CODE_01A393: D0 36 BNE CODE_01A3CB CODE_01A395: A0 00 LDY.B #$00 CODE_01A397: BD C8 14 LDA.W $14C8,X ; \ Branch if sprite status == Stunned CODE_01A39A: C9 09 CMP.B #$09 ; | CODE_01A39C: F0 08 BEQ CODE_01A3A6 ; / CODE_01A39E: BD 0F 19 LDA.W RAM_Tweaker190F,X ; \ Branch if "Death frame 2 tiles high" CODE_01A3A1: 29 20 AND.B #$20 ; | is NOT set CODE_01A3A3: F0 01 BEQ CODE_01A3A6 ; / CODE_01A3A5: C8 INY CODE_01A3A6: B5 D8 LDA RAM_SpriteYLo,X CODE_01A3A8: 18 CLC CODE_01A3A9: 79 61 A3 ADC.W DATA_01A361,Y CODE_01A3AC: 08 PHP CODE_01A3AD: C5 1C CMP RAM_ScreenBndryYLo CODE_01A3AF: 26 00 ROL $00 CODE_01A3B1: 28 PLP CODE_01A3B2: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01A3B5: 69 00 ADC.B #$00 CODE_01A3B7: 46 00 LSR $00 CODE_01A3B9: E5 1D SBC RAM_ScreenBndryYHi CODE_01A3BB: F0 09 BEQ CODE_01A3C6 CODE_01A3BD: BD 6C 18 LDA.W RAM_OffscreenVert,X CODE_01A3C0: 19 63 A3 ORA.W DATA_01A363,Y CODE_01A3C3: 9D 6C 18 STA.W RAM_OffscreenVert,X CODE_01A3C6: 88 DEY CODE_01A3C7: 10 DD BPL CODE_01A3A6 CODE_01A3C9: 80 02 BRA CODE_01A3CD CODE_01A3CB: 68 PLA CODE_01A3CC: 68 PLA CODE_01A3CD: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01A3D0: B5 E4 LDA RAM_SpriteXLo,X CODE_01A3D2: 38 SEC CODE_01A3D3: E5 1A SBC RAM_ScreenBndryXLo CODE_01A3D5: 85 00 STA $00 CODE_01A3D7: B5 D8 LDA RAM_SpriteYLo,X CODE_01A3D9: 38 SEC CODE_01A3DA: E5 1C SBC RAM_ScreenBndryYLo CODE_01A3DC: 85 01 STA $01 Return01A3DE: 60 RTS ; Return CODE_01A3DF: BD 6C 18 LDA.W RAM_OffscreenVert,X CODE_01A3E2: F0 26 BEQ Return01A40A CODE_01A3E4: DA PHX CODE_01A3E5: 4A LSR CODE_01A3E6: 90 10 BCC CODE_01A3F8 CODE_01A3E8: 48 PHA CODE_01A3E9: A9 01 LDA.B #$01 CODE_01A3EB: 99 60 04 STA.W OAM_TileSize,Y CODE_01A3EE: 98 TYA CODE_01A3EF: 0A ASL CODE_01A3F0: 0A ASL CODE_01A3F1: AA TAX CODE_01A3F2: A9 80 LDA.B #$80 CODE_01A3F4: 9D 00 03 STA.W OAM_DispX,X CODE_01A3F7: 68 PLA CODE_01A3F8: 4A LSR CODE_01A3F9: 90 0E BCC CODE_01A409 CODE_01A3FB: A9 01 LDA.B #$01 CODE_01A3FD: 99 61 04 STA.W $0461,Y CODE_01A400: 98 TYA CODE_01A401: 0A ASL CODE_01A402: 0A ASL CODE_01A403: AA TAX CODE_01A404: A9 80 LDA.B #$80 CODE_01A406: 9D 04 03 STA.W OAM_Tile2DispX,X CODE_01A409: FA PLX Return01A40A: 60 RTS ; Return DATA_01A40B: .db $02,$0A SubSprSprInteract: 8A TXA CODE_01A40E: F0 FA BEQ Return01A40A CODE_01A410: A8 TAY CODE_01A411: 45 13 EOR RAM_FrameCounter ; \ Return every other frame CODE_01A413: 4A LSR ; | CODE_01A414: 90 F4 BCC Return01A40A ; / CODE_01A416: CA DEX CODE_01A417: BD C8 14 LDA.W $14C8,X ; \ Jump to $01A4B0 if CODE_01A41A: C9 08 CMP.B #$08 ; | sprite status < 8 CODE_01A41C: B0 03 BCS CODE_01A421 ; | CODE_01A41E: 4C B0 A4 JMP.W CODE_01A4B0 ; / CODE_01A421: BD 86 16 LDA.W RAM_Tweaker1686,X CODE_01A424: 19 86 16 ORA.W RAM_Tweaker1686,Y CODE_01A427: 29 08 AND.B #$08 CODE_01A429: 1D 64 15 ORA.W $1564,X CODE_01A42C: 19 64 15 ORA.W $1564,Y CODE_01A42F: 1D D0 15 ORA.W $15D0,X CODE_01A432: 1D 32 16 ORA.W RAM_SprBehindScrn,X CODE_01A435: 59 32 16 EOR.W RAM_SprBehindScrn,Y CODE_01A438: D0 76 BNE CODE_01A4B0 CODE_01A43A: 8E 95 16 STX.W $1695 CODE_01A43D: B5 E4 LDA RAM_SpriteXLo,X CODE_01A43F: 85 00 STA $00 CODE_01A441: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01A444: 85 01 STA $01 CODE_01A446: B9 E4 00 LDA.W RAM_SpriteXLo,Y CODE_01A449: 85 02 STA $02 CODE_01A44B: B9 E0 14 LDA.W RAM_SpriteXHi,Y CODE_01A44E: 85 03 STA $03 CODE_01A450: C2 20 REP #$20 ; Accum (16 bit) CODE_01A452: A5 00 LDA $00 CODE_01A454: 38 SEC CODE_01A455: E5 02 SBC $02 CODE_01A457: 18 CLC CODE_01A458: 69 10 00 ADC.W #$0010 CODE_01A45B: C9 20 00 CMP.W #$0020 CODE_01A45E: E2 20 SEP #$20 ; Accum (8 bit) CODE_01A460: B0 4E BCS CODE_01A4B0 CODE_01A462: A0 00 LDY.B #$00 CODE_01A464: BD 62 16 LDA.W RAM_Tweaker1662,X CODE_01A467: 29 0F AND.B #$0F CODE_01A469: F0 01 BEQ CODE_01A46C CODE_01A46B: C8 INY CODE_01A46C: B5 D8 LDA RAM_SpriteYLo,X CODE_01A46E: 18 CLC CODE_01A46F: 79 0B A4 ADC.W DATA_01A40B,Y CODE_01A472: 85 00 STA $00 CODE_01A474: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01A477: 69 00 ADC.B #$00 CODE_01A479: 85 01 STA $01 CODE_01A47B: AC E9 15 LDY.W $15E9 ; Y = Sprite index CODE_01A47E: A2 00 LDX.B #$00 CODE_01A480: B9 62 16 LDA.W RAM_Tweaker1662,Y CODE_01A483: 29 0F AND.B #$0F CODE_01A485: F0 01 BEQ CODE_01A488 CODE_01A487: E8 INX CODE_01A488: B9 D8 00 LDA.W RAM_SpriteYLo,Y CODE_01A48B: 18 CLC CODE_01A48C: 7D 0B A4 ADC.W DATA_01A40B,X CODE_01A48F: 85 02 STA $02 CODE_01A491: B9 D4 14 LDA.W RAM_SpriteYHi,Y CODE_01A494: 69 00 ADC.B #$00 CODE_01A496: 85 03 STA $03 CODE_01A498: AE 95 16 LDX.W $1695 CODE_01A49B: C2 20 REP #$20 ; Accum (16 bit) CODE_01A49D: A5 00 LDA $00 CODE_01A49F: 38 SEC CODE_01A4A0: E5 02 SBC $02 CODE_01A4A2: 18 CLC CODE_01A4A3: 69 0C 00 ADC.W #$000C CODE_01A4A6: C9 18 00 CMP.W #$0018 CODE_01A4A9: E2 20 SEP #$20 ; Accum (8 bit) CODE_01A4AB: B0 03 BCS CODE_01A4B0 CODE_01A4AD: 20 BA A4 JSR.W CODE_01A4BA CODE_01A4B0: CA DEX CODE_01A4B1: 30 03 BMI CODE_01A4B6 CODE_01A4B3: 4C 17 A4 JMP.W CODE_01A417 CODE_01A4B6: AE E9 15 LDX.W $15E9 ; X = Sprite index Return01A4B9: 60 RTS ; Return CODE_01A4BA: B9 C8 14 LDA.W $14C8,Y ; \ Branch if sprite 2 status == Normal CODE_01A4BD: C9 08 CMP.B #$08 ; | CODE_01A4BF: F0 0D BEQ CODE_01A4CE ; / CODE_01A4C1: C9 09 CMP.B #$09 ; \ Branch if sprite 2 status == Carryable CODE_01A4C3: F0 1D BEQ CODE_01A4E2 ; / CODE_01A4C5: C9 0A CMP.B #$0A ; \ Branch if sprite 2 status == Kicked CODE_01A4C7: F0 3D BEQ CODE_01A506 ; / CODE_01A4C9: C9 0B CMP.B #$0B ; \ Branch if sprite 2 status == Carried CODE_01A4CB: F0 4D BEQ CODE_01A51A ; / Return01A4CD: 60 RTS ; Return CODE_01A4CE: BD C8 14 LDA.W $14C8,X ; \ Branch if sprite status == Normal CODE_01A4D1: C9 08 CMP.B #$08 ; | CODE_01A4D3: F0 68 BEQ CODE_01A53D ; / CODE_01A4D5: C9 09 CMP.B #$09 ; \ Branch if sprite status == Carryable CODE_01A4D7: F0 67 BEQ CODE_01A540 ; / CODE_01A4D9: C9 0A CMP.B #$0A ; \ Branch if sprite status == Kicked CODE_01A4DB: F0 5A BEQ CODE_01A537 ; / CODE_01A4DD: C9 0B CMP.B #$0B ; \ Branch if sprite status == Carried CODE_01A4DF: F0 53 BEQ CODE_01A534 ; / Return01A4E1: 60 RTS ; Return CODE_01A4E2: B9 88 15 LDA.W RAM_SprObjStatus,Y ; \ Branch if on ground CODE_01A4E5: 29 04 AND.B #$04 ; | CODE_01A4E7: D0 09 BNE CODE_01A4F2 ; / CODE_01A4E9: B9 9E 00 LDA.W RAM_SpriteNum,Y ; \ Branch if Goomba CODE_01A4EC: C9 0F CMP.B #$0F ; | CODE_01A4EE: F0 44 BEQ CODE_01A534 ; / CODE_01A4F0: 80 14 BRA CODE_01A506 CODE_01A4F2: BD C8 14 LDA.W $14C8,X ; \ Branch if sprite status == Normal CODE_01A4F5: C9 08 CMP.B #$08 ; | CODE_01A4F7: F0 47 BEQ CODE_01A540 ; / CODE_01A4F9: C9 09 CMP.B #$09 ; \ Branch if sprite status == Carryable CODE_01A4FB: F0 58 BEQ CODE_01A555 ; / CODE_01A4FD: C9 0A CMP.B #$0A ; \ Branch if sprite status == Kicked CODE_01A4FF: F0 39 BEQ ADDR_01A53A ; / CODE_01A501: C9 0B CMP.B #$0B ; \ Branch if sprite status == Carried CODE_01A503: F0 2F BEQ CODE_01A534 ; / Return01A505: 60 RTS ; Return CODE_01A506: BD C8 14 LDA.W $14C8,X ; \ Branch if sprite status == Normal CODE_01A509: C9 08 CMP.B #$08 ; | CODE_01A50B: F0 21 BEQ CODE_01A52E ; / CODE_01A50D: C9 09 CMP.B #$09 ; \ Branch if sprite status == Carryable CODE_01A50F: F0 20 BEQ CODE_01A531 ; / CODE_01A511: C9 0A CMP.B #$0A ; \ Branch if sprite status == Kicked CODE_01A513: F0 1F BEQ CODE_01A534 ; / CODE_01A515: C9 0B CMP.B #$0B ; \ Branch if sprite status == Carried CODE_01A517: F0 1B BEQ CODE_01A534 ; / Return01A519: 60 RTS ; Return CODE_01A51A: BD C8 14 LDA.W $14C8,X ; \ Branch if sprite status == Normal CODE_01A51D: C9 08 CMP.B #$08 ; | CODE_01A51F: F0 13 BEQ CODE_01A534 ; / CODE_01A521: C9 09 CMP.B #$09 ; \ Branch if sprite status == Carryable CODE_01A523: F0 0F BEQ CODE_01A534 ; / ADDR_01A525: C9 0A CMP.B #$0A ; \ Branch if sprite status == Kicked ADDR_01A527: F0 0B BEQ CODE_01A534 ; / ADDR_01A529: C9 0B CMP.B #$0B ; \ Branch if sprite status == Carried ADDR_01A52B: F0 07 BEQ CODE_01A534 ; / Return01A52D: 60 RTS ; Return CODE_01A52E: 4C 25 A6 JMP.W CODE_01A625 CODE_01A531: 4C 42 A6 JMP.W CODE_01A642 CODE_01A534: 4C 85 A6 JMP.W CODE_01A685 CODE_01A537: 4C C4 A5 JMP.W CODE_01A5C4 ADDR_01A53A: 4C C4 A5 JMP.W CODE_01A5C4 CODE_01A53D: 4C 6D A5 JMP.W CODE_01A56D CODE_01A540: 20 D9 A6 JSR.W CODE_01A6D9 CODE_01A543: DA PHX CODE_01A544: 5A PHY CODE_01A545: 98 TYA CODE_01A546: 9B TXY CODE_01A547: AA TAX CODE_01A548: 20 D9 A6 JSR.W CODE_01A6D9 CODE_01A54B: 7A PLY CODE_01A54C: FA PLX CODE_01A54D: BD 58 15 LDA.W $1558,X CODE_01A550: 19 58 15 ORA.W $1558,Y CODE_01A553: D0 6E BNE Return01A5C3 CODE_01A555: BD C8 14 LDA.W $14C8,X CODE_01A558: C9 09 CMP.B #$09 CODE_01A55A: D0 11 BNE CODE_01A56D CODE_01A55C: 20 0E 80 JSR.W IsOnGround CODE_01A55F: D0 0C BNE CODE_01A56D CODE_01A561: B5 9E LDA RAM_SpriteNum,X ; \ Branch if not Goomba CODE_01A563: C9 0F CMP.B #$0F ; | CODE_01A565: D0 03 BNE CODE_01A56A ; / ADDR_01A567: 4C 85 A6 JMP.W CODE_01A685 CODE_01A56A: 4C C4 A5 JMP.W CODE_01A5C4 CODE_01A56D: B5 E4 LDA RAM_SpriteXLo,X CODE_01A56F: 38 SEC CODE_01A570: F9 E4 00 SBC.W RAM_SpriteXLo,Y CODE_01A573: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01A576: F9 E0 14 SBC.W RAM_SpriteXHi,Y CODE_01A579: 2A ROL CODE_01A57A: 29 01 AND.B #$01 CODE_01A57C: 85 00 STA $00 CODE_01A57E: B9 86 16 LDA.W RAM_Tweaker1686,Y CODE_01A581: 29 10 AND.B #$10 CODE_01A583: D0 1C BNE CODE_01A5A1 CODE_01A585: AC E9 15 LDY.W $15E9 ; Y = Sprite index CODE_01A588: B9 7C 15 LDA.W RAM_SpriteDir,Y CODE_01A58B: 48 PHA CODE_01A58C: A5 00 LDA $00 CODE_01A58E: 99 7C 15 STA.W RAM_SpriteDir,Y CODE_01A591: 68 PLA CODE_01A592: D9 7C 15 CMP.W RAM_SpriteDir,Y CODE_01A595: F0 0A BEQ CODE_01A5A1 CODE_01A597: B9 AC 15 LDA.W $15AC,Y CODE_01A59A: D0 05 BNE CODE_01A5A1 CODE_01A59C: A9 08 LDA.B #$08 ; \ Set turning timer CODE_01A59E: 99 AC 15 STA.W $15AC,Y ; / CODE_01A5A1: BD 86 16 LDA.W RAM_Tweaker1686,X CODE_01A5A4: 29 10 AND.B #$10 CODE_01A5A6: D0 1B BNE Return01A5C3 CODE_01A5A8: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01A5AB: 48 PHA CODE_01A5AC: A5 00 LDA $00 CODE_01A5AE: 49 01 EOR.B #$01 CODE_01A5B0: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01A5B3: 68 PLA CODE_01A5B4: DD 7C 15 CMP.W RAM_SpriteDir,X CODE_01A5B7: F0 0A BEQ Return01A5C3 CODE_01A5B9: BD AC 15 LDA.W $15AC,X CODE_01A5BC: D0 05 BNE Return01A5C3 CODE_01A5BE: A9 08 LDA.B #$08 ; \ Set turning timer CODE_01A5C0: 9D AC 15 STA.W $15AC,X ; / Return01A5C3: 60 RTS ; Return CODE_01A5C4: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01A5C7: 38 SEC CODE_01A5C8: E9 83 SBC.B #$83 CODE_01A5CA: C9 02 CMP.B #$02 CODE_01A5CC: B0 0C BCS CODE_01A5DA CODE_01A5CE: 20 98 90 JSR.W FlipSpriteDir CODE_01A5D1: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01A5D3: DA PHX CODE_01A5D4: BB TYX CODE_01A5D5: 20 E2 B4 JSR.W CODE_01B4E2 CODE_01A5D8: FA PLX Return01A5D9: 60 RTS ; Return CODE_01A5DA: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01A5DD: AC 95 16 LDY.W $1695 CODE_01A5E0: 20 7C A7 JSR.W CODE_01A77C CODE_01A5E3: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_01A5E5: 99 C8 14 STA.W $14C8,Y ; / CODE_01A5E8: DA PHX CODE_01A5E9: BB TYX CODE_01A5EA: 22 72 AB 01 JSL.L CODE_01AB72 CODE_01A5EE: FA PLX CODE_01A5EF: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01A5F1: 0A ASL CODE_01A5F2: A9 10 LDA.B #$10 CODE_01A5F4: 90 02 BCC CODE_01A5F8 CODE_01A5F6: A9 F0 LDA.B #$F0 CODE_01A5F8: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_01A5FB: A9 D0 LDA.B #$D0 CODE_01A5FD: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_01A600: 5A PHY CODE_01A601: FE 26 16 INC.W $1626,X CODE_01A604: BC 26 16 LDY.W $1626,X CODE_01A607: C0 08 CPY.B #$08 CODE_01A609: B0 06 BCS CODE_01A611 CODE_01A60B: B9 1D A6 LDA.W Return01A61D,Y CODE_01A60E: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01A611: 98 TYA CODE_01A612: C9 08 CMP.B #$08 CODE_01A614: 90 02 BCC CODE_01A618 CODE_01A616: A9 08 LDA.B #$08 CODE_01A618: 7A PLY CODE_01A619: 22 E1 AC 02 JSL.L CODE_02ACE1 Return01A61D: 60 RTS ; Return DATA_01A61E: .db $13,$14,$15,$16,$17,$18,$19 CODE_01A625: B5 9E LDA RAM_SpriteNum,X CODE_01A627: 38 SEC CODE_01A628: E9 83 SBC.B #$83 CODE_01A62A: C9 02 CMP.B #$02 CODE_01A62C: B0 0F BCS CODE_01A63D CODE_01A62E: DA PHX CODE_01A62F: BB TYX CODE_01A630: 20 98 90 JSR.W FlipSpriteDir CODE_01A633: FA PLX CODE_01A634: A9 00 LDA.B #$00 CODE_01A636: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_01A639: 20 E2 B4 JSR.W CODE_01B4E2 Return01A63C: 60 RTS ; Return CODE_01A63D: 20 7C A7 JSR.W CODE_01A77C CODE_01A640: 80 08 BRA CODE_01A64A CODE_01A642: 20 0E 80 JSR.W IsOnGround CODE_01A645: D0 03 BNE CODE_01A64A ADDR_01A647: 4C 85 A6 JMP.W CODE_01A685 CODE_01A64A: DA PHX CODE_01A64B: B9 26 16 LDA.W $1626,Y CODE_01A64E: 1A INC A CODE_01A64F: 99 26 16 STA.W $1626,Y CODE_01A652: BE 26 16 LDX.W $1626,Y CODE_01A655: E0 08 CPX.B #$08 CODE_01A657: B0 06 BCS CODE_01A65F CODE_01A659: BD 1D A6 LDA.W Return01A61D,X CODE_01A65C: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01A65F: 8A TXA CODE_01A660: C9 08 CMP.B #$08 CODE_01A662: 90 02 BCC CODE_01A666 CODE_01A664: A9 08 LDA.B #$08 CODE_01A666: FA PLX CODE_01A667: 22 E5 AC 02 JSL.L GivePoints CODE_01A66B: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_01A66D: 9D C8 14 STA.W $14C8,X ; / CODE_01A670: 22 72 AB 01 JSL.L CODE_01AB72 CODE_01A674: B9 B6 00 LDA.W RAM_SpriteSpeedX,Y CODE_01A677: 0A ASL CODE_01A678: A9 10 LDA.B #$10 CODE_01A67A: 90 02 BCC CODE_01A67E CODE_01A67C: A9 F0 LDA.B #$F0 CODE_01A67E: 95 B6 STA RAM_SpriteSpeedX,X CODE_01A680: A9 D0 LDA.B #$D0 CODE_01A682: 95 AA STA RAM_SpriteSpeedY,X Return01A684: 60 RTS ; Return CODE_01A685: B5 9E LDA RAM_SpriteNum,X ; \ Branch if Flying Question Block CODE_01A687: C9 83 CMP.B #$83 ; | CODE_01A689: F0 0F BEQ ADDR_01A69A ; | CODE_01A68B: C9 84 CMP.B #$84 ; | CODE_01A68D: F0 0B BEQ ADDR_01A69A ; / CODE_01A68F: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_01A691: 9D C8 14 STA.W $14C8,X ; / CODE_01A694: A9 D0 LDA.B #$D0 CODE_01A696: 95 AA STA RAM_SpriteSpeedY,X CODE_01A698: 80 03 BRA CODE_01A69D ADDR_01A69A: 20 E2 B4 JSR.W CODE_01B4E2 CODE_01A69D: B9 9E 00 LDA.W RAM_SpriteNum,Y ; \ Branch if Flying Question Block or Key CODE_01A6A0: C9 80 CMP.B #$80 ; | CODE_01A6A2: F0 17 BEQ CODE_01A6BB ; | CODE_01A6A4: C9 83 CMP.B #$83 ; | CODE_01A6A6: F0 10 BEQ ADDR_01A6B8 ; | CODE_01A6A8: C9 84 CMP.B #$84 ; | CODE_01A6AA: F0 0C BEQ ADDR_01A6B8 ; / CODE_01A6AC: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_01A6AE: 99 C8 14 STA.W $14C8,Y ; / CODE_01A6B1: A9 D0 LDA.B #$D0 CODE_01A6B3: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_01A6B6: 80 03 BRA CODE_01A6BB ADDR_01A6B8: 20 D3 A5 JSR.W CODE_01A5D3 CODE_01A6BB: 22 6F AB 01 JSL.L CODE_01AB6F CODE_01A6BF: A9 04 LDA.B #$04 CODE_01A6C1: 22 E5 AC 02 JSL.L GivePoints CODE_01A6C5: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01A6C7: 0A ASL CODE_01A6C8: A9 10 LDA.B #$10 CODE_01A6CA: B0 02 BCS CODE_01A6CE CODE_01A6CC: A9 F0 LDA.B #$F0 CODE_01A6CE: 95 B6 STA RAM_SpriteSpeedX,X CODE_01A6D0: 49 FF EOR.B #$FF CODE_01A6D2: 1A INC A CODE_01A6D3: 99 B6 00 STA.W RAM_SpriteSpeedX,Y Return01A6D6: 60 RTS ; Return DATA_01A6D7: .db $30,$D0 CODE_01A6D9: 84 00 STY $00 CODE_01A6DB: 20 0E 80 JSR.W IsOnGround CODE_01A6DE: F0 4D BEQ Return01A72D CODE_01A6E0: B9 88 15 LDA.W RAM_SprObjStatus,Y ; \ Branch if not on ground CODE_01A6E3: 29 04 AND.B #$04 ; | CODE_01A6E5: F0 46 BEQ Return01A72D ; / CODE_01A6E7: BD 56 16 LDA.W RAM_Tweaker1656,X ; \ Return if doesn't kick/hop into shells CODE_01A6EA: 29 40 AND.B #$40 ; | CODE_01A6EC: F0 3F BEQ Return01A72D ; / CODE_01A6EE: B9 58 15 LDA.W $1558,Y CODE_01A6F1: 1D 58 15 ORA.W $1558,X CODE_01A6F4: D0 37 BNE Return01A72D CODE_01A6F6: 64 02 STZ $02 CODE_01A6F8: B5 E4 LDA RAM_SpriteXLo,X CODE_01A6FA: 38 SEC CODE_01A6FB: F9 E4 00 SBC.W RAM_SpriteXLo,Y CODE_01A6FE: 30 02 BMI CODE_01A702 CODE_01A700: E6 02 INC $02 CODE_01A702: 18 CLC CODE_01A703: 69 08 ADC.B #$08 CODE_01A705: C9 10 CMP.B #$10 CODE_01A707: 90 24 BCC Return01A72D CODE_01A709: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01A70C: C5 02 CMP $02 CODE_01A70E: D0 1D BNE Return01A72D CODE_01A710: B5 9E LDA RAM_SpriteNum,X ; \ Branch if not Blue Shelless CODE_01A712: C9 02 CMP.B #$02 ; | CODE_01A714: D0 18 BNE HopIntoShell ; / CODE_01A716: A9 20 LDA.B #$20 CODE_01A718: 9D 3E 16 STA.W $163E,X CODE_01A71B: 9D 58 15 STA.W $1558,X CODE_01A71E: A9 23 LDA.B #$23 CODE_01A720: 9D 64 15 STA.W $1564,X CODE_01A723: 98 TYA CODE_01A724: 9D 0E 16 STA.W $160E,X Return01A727: 60 RTS ; Return PlayKickSfx: A9 03 LDA.B #$03 ; \ Play sound effect CODE_01A72A: 8D F9 1D STA.W $1DF9 ; / Return01A72D: 60 RTS ; Return HopIntoShell: B9 40 15 LDA.W $1540,Y ; \ Return if timer is set CODE_01A731: D0 44 BNE Return01A777 ; / CODE_01A733: B9 9E 00 LDA.W RAM_SpriteNum,Y ; \ Return if sprite >= #$0F CODE_01A736: C9 0F CMP.B #$0F ; | CODE_01A738: B0 3D BCS Return01A777 ; / CODE_01A73A: B9 88 15 LDA.W RAM_SprObjStatus,Y ; \ Return if not on ground CODE_01A73D: 29 04 AND.B #$04 ; | CODE_01A73F: F0 36 BEQ Return01A777 ; / CODE_01A741: B9 F6 15 LDA.W RAM_SpritePal,Y ; \ Branch if $15F6,y positive... CODE_01A744: 10 17 BPL CODE_01A75D ; / CODE_01A746: 29 7F AND.B #$7F ; \ ...otherwise make it positive CODE_01A748: 99 F6 15 STA.W RAM_SpritePal,Y ; / CODE_01A74B: A9 E0 LDA.B #$E0 ; \ Set upward speed CODE_01A74D: 99 AA 00 STA.W RAM_SpriteSpeedY,Y ; / CODE_01A750: A9 20 LDA.B #$20 ; \ $1564,y = #$20 CODE_01A752: 99 64 15 STA.W $1564,Y ; / CODE_01A755: A9 20 LDA.B #$20 ; \ C2,x and 1558,x = #$20 CODE_01A757: 95 C2 STA RAM_SpriteState,X ; | (These are for the shell sprite) CODE_01A759: 9D 58 15 STA.W $1558,X ; / Return01A75C: 60 RTS ; Return CODE_01A75D: A9 E0 LDA.B #$E0 ; \ Set upward speed CODE_01A75F: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_01A761: BD 4A 16 LDA.W $164A,X CODE_01A764: C9 01 CMP.B #$01 CODE_01A766: A9 18 LDA.B #$18 CODE_01A768: 90 02 BCC CODE_01A76C ADDR_01A76A: A9 2C LDA.B #$2C CODE_01A76C: 9D 58 15 STA.W $1558,X CODE_01A76F: 8A TXA CODE_01A770: 99 94 15 STA.W $1594,Y CODE_01A773: 98 TYA CODE_01A774: 9D 94 15 STA.W $1594,X Return01A777: 60 RTS ; Return DATA_01A778: .db $10,$F0 DATA_01A77A: .db $00,$FF CODE_01A77C: B5 9E LDA RAM_SpriteNum,X CODE_01A77E: C9 02 CMP.B #$02 CODE_01A780: D0 40 BNE CODE_01A7C2 CODE_01A782: B9 7B 18 LDA.W $187B,Y CODE_01A785: D0 3B BNE CODE_01A7C2 CODE_01A787: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01A78A: D9 7C 15 CMP.W RAM_SpriteDir,Y CODE_01A78D: F0 33 BEQ CODE_01A7C2 CODE_01A78F: 84 01 STY $01 CODE_01A791: BC 34 15 LDY.W $1534,X CODE_01A794: D0 2A BNE CODE_01A7C0 CODE_01A796: 9E 28 15 STZ.W $1528,X Instr01A799: .db $9E,$3E,$16 CODE_01A79C: A8 TAY CODE_01A79D: 84 00 STY $00 CODE_01A79F: B5 E4 LDA RAM_SpriteXLo,X CODE_01A7A1: 18 CLC CODE_01A7A2: 79 78 A7 ADC.W DATA_01A778,Y CODE_01A7A5: A4 01 LDY $01 CODE_01A7A7: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01A7AA: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01A7AD: A4 00 LDY $00 CODE_01A7AF: 79 7A A7 ADC.W DATA_01A77A,Y CODE_01A7B2: A4 01 LDY $01 CODE_01A7B4: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_01A7B7: 98 TYA CODE_01A7B8: 9D 0E 16 STA.W $160E,X CODE_01A7BB: A9 01 LDA.B #$01 CODE_01A7BD: 9D 34 15 STA.W $1534,X CODE_01A7C0: 68 PLA CODE_01A7C1: 68 PLA CODE_01A7C2: AE 95 16 LDX.W $1695 CODE_01A7C5: AC E9 15 LDY.W $15E9 ; Y = Sprite index Return01A7C8: 60 RTS ; Return SpriteToSpawn: .db $00,$01,$02,$03,$04,$05,$06,$07 .db $04,$04,$05,$05,$07,$00,$00,$0F .db $0F,$0F,$0D MarioSprInteract: 8B PHB CODE_01A7DD: 4B PHK CODE_01A7DE: AB PLB CODE_01A7DF: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01A7E2: AB PLB Return01A7E3: 6B RTL ; Return MarioSprInteractRt: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ Branch if "Process interaction every frame" is set CODE_01A7E7: 29 20 AND.B #$20 ; | CODE_01A7E9: D0 0C BNE ProcessInteract ; / CODE_01A7EB: 8A TXA ; \ Otherwise, return every other frame CODE_01A7EC: 45 13 EOR RAM_FrameCounter ; | CODE_01A7EE: 29 01 AND.B #$01 ; | CODE_01A7F0: 1D A0 15 ORA.W RAM_OffscreenHorz,X ; | CODE_01A7F3: F0 02 BEQ ProcessInteract ; | ReturnNoContact: 18 CLC ; | Return01A7F6: 60 RTS ; / ProcessInteract: 20 30 AD JSR.W SubHorizPos CODE_01A7FA: A5 0F LDA $0F CODE_01A7FC: 18 CLC CODE_01A7FD: 69 50 ADC.B #$50 CODE_01A7FF: C9 A0 CMP.B #$A0 CODE_01A801: B0 F2 BCS ReturnNoContact ; No contact, return CODE_01A803: 20 42 AD JSR.W CODE_01AD42 CODE_01A806: A5 0E LDA $0E CODE_01A808: 18 CLC CODE_01A809: 69 60 ADC.B #$60 CODE_01A80B: C9 C0 CMP.B #$C0 CODE_01A80D: B0 E6 BCS ReturnNoContact ; No contact, return CODE_01A80F: A5 71 LDA RAM_MarioAnimation ; \ If animation sequence activated... CODE_01A811: C9 01 CMP.B #$01 ; | CODE_01A813: B0 E0 BCS ReturnNoContact ; / ...no contact, return CODE_01A815: A9 00 LDA.B #$00 ; \ Branch if bit 6 of $0D9B set? CODE_01A817: 2C 9B 0D BIT.W $0D9B ; | CODE_01A81A: 70 06 BVS CODE_01A822 ; / CODE_01A81C: AD F9 13 LDA.W RAM_IsBehindScenery ; \ If Mario and Sprite not on same side of scenery... CODE_01A81F: 5D 32 16 EOR.W RAM_SprBehindScrn,X ; | CODE_01A822: D0 58 BNE ReturnNoContact2 ; / ...no contact, return CODE_01A824: 22 64 B6 03 JSL.L GetMarioClipping CODE_01A828: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_01A82C: 22 2B B7 03 JSL.L CheckForContact CODE_01A830: 90 4A BCC ReturnNoContact2 ; No contact, return CODE_01A832: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ Branch if sprite uses default Mario interaction CODE_01A835: 10 04 BPL DefaultInteractR ; / CODE_01A837: 38 SEC ; Contact, return Return01A838: 60 RTS ; Return DATA_01A839: .db $F0,$10 DefaultInteractR: AD 90 14 LDA.W $1490 ; \ Branch if Mario doesn't have star CODE_01A83E: F0 3E BEQ CODE_01A87E ; / CODE_01A840: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ Branch if "Process interaction every frame" is set CODE_01A843: 29 02 AND.B #$02 ; | CODE_01A845: D0 37 BNE CODE_01A87E ; / CODE_01A847: 22 6F AB 01 JSL.L CODE_01AB6F CODE_01A84B: EE D2 18 INC.W $18D2 CODE_01A84E: AD D2 18 LDA.W $18D2 CODE_01A851: C9 08 CMP.B #$08 CODE_01A853: 90 05 BCC CODE_01A85A CODE_01A855: A9 08 LDA.B #$08 CODE_01A857: 8D D2 18 STA.W $18D2 CODE_01A85A: 22 E5 AC 02 JSL.L GivePoints CODE_01A85E: AC D2 18 LDY.W $18D2 CODE_01A861: C0 08 CPY.B #$08 CODE_01A863: B0 06 BCS CODE_01A86B CODE_01A865: B9 1D A6 LDA.W Return01A61D,Y CODE_01A868: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01A86B: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_01A86D: 9D C8 14 STA.W $14C8,X ; / CODE_01A870: A9 D0 LDA.B #$D0 CODE_01A872: 95 AA STA RAM_SpriteSpeedY,X CODE_01A874: 20 30 AD JSR.W SubHorizPos CODE_01A877: B9 39 A8 LDA.W DATA_01A839,Y CODE_01A87A: 95 B6 STA RAM_SpriteSpeedX,X ReturnNoContact2: 18 CLC Return01A87D: 60 RTS ; Return CODE_01A87E: 9C D2 18 STZ.W $18D2 CODE_01A881: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01A884: D0 0F BNE CODE_01A895 CODE_01A886: A9 08 LDA.B #$08 CODE_01A888: 9D 4C 15 STA.W RAM_DisableInter,X CODE_01A88B: BD C8 14 LDA.W $14C8,X CODE_01A88E: C9 09 CMP.B #$09 CODE_01A890: D0 05 BNE CODE_01A897 CODE_01A892: 20 42 AA JSR.W CODE_01AA42 CODE_01A895: 18 CLC Return01A896: 60 RTS ; Return CODE_01A897: A9 14 LDA.B #$14 CODE_01A899: 85 01 STA $01 CODE_01A89B: A5 05 LDA $05 CODE_01A89D: 38 SEC CODE_01A89E: E5 01 SBC $01 CODE_01A8A0: 26 00 ROL $00 CODE_01A8A2: C5 D3 CMP $D3 CODE_01A8A4: 08 PHP CODE_01A8A5: 46 00 LSR $00 CODE_01A8A7: A5 0B LDA $0B CODE_01A8A9: E9 00 SBC.B #$00 CODE_01A8AB: 28 PLP CODE_01A8AC: E5 D4 SBC $D4 CODE_01A8AE: 30 36 BMI CODE_01A8E6 CODE_01A8B0: A5 7D LDA RAM_MarioSpeedY CODE_01A8B2: 10 0C BPL CODE_01A8C0 CODE_01A8B4: BD 0F 19 LDA.W RAM_Tweaker190F,X ; \ TODO: Branch if Unknown Bit 11 is set CODE_01A8B7: 29 10 AND.B #$10 ; | CODE_01A8B9: D0 05 BNE CODE_01A8C0 ; / CODE_01A8BB: AD 97 16 LDA.W $1697 CODE_01A8BE: F0 26 BEQ CODE_01A8E6 CODE_01A8C0: 20 0E 80 JSR.W IsOnGround CODE_01A8C3: F0 04 BEQ CODE_01A8C9 CODE_01A8C5: A5 72 LDA RAM_IsFlying CODE_01A8C7: F0 1D BEQ CODE_01A8E6 CODE_01A8C9: BD 56 16 LDA.W RAM_Tweaker1656,X ; \ Branch if can be jumped on CODE_01A8CC: 29 10 AND.B #$10 ; | CODE_01A8CE: D0 4C BNE CODE_01A91C ; / CODE_01A8D0: AD 0D 14 LDA.W RAM_IsSpinJump CODE_01A8D3: 0D 7A 18 ORA.W RAM_OnYoshi CODE_01A8D6: F0 0E BEQ CODE_01A8E6 CODE_01A8D8: A9 02 LDA.B #$02 CODE_01A8DA: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01A8DD: 22 33 AA 01 JSL.L BoostMarioSpeed CODE_01A8E1: 22 99 AB 01 JSL.L DisplayContactGfx Return01A8E5: 60 RTS ; Return CODE_01A8E6: AD ED 13 LDA.W $13ED CODE_01A8E9: F0 0E BEQ CODE_01A8F9 CODE_01A8EB: BD 0F 19 LDA.W RAM_Tweaker190F,X ; \ Branch if "Takes 5 fireballs to kill"... CODE_01A8EE: 29 04 AND.B #$04 ; | ...is set CODE_01A8F0: D0 07 BNE CODE_01A8F9 ; / CODE_01A8F2: 20 28 A7 JSR.W PlayKickSfx CODE_01A8F5: 20 47 A8 JSR.W CODE_01A847 Return01A8F8: 60 RTS ; Return CODE_01A8F9: AD 97 14 LDA.W $1497 ; \ Return if Mario is invincible CODE_01A8FC: D0 1D BNE Return01A91B ; / CODE_01A8FE: AD 7A 18 LDA.W RAM_OnYoshi CODE_01A901: D0 18 BNE Return01A91B CODE_01A903: BD 86 16 LDA.W RAM_Tweaker1686,X CODE_01A906: 29 10 AND.B #$10 CODE_01A908: D0 07 BNE CODE_01A911 CODE_01A90A: 20 30 AD JSR.W SubHorizPos CODE_01A90D: 98 TYA CODE_01A90E: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01A911: B5 9E LDA RAM_SpriteNum,X CODE_01A913: C9 53 CMP.B #$53 CODE_01A915: F0 04 BEQ Return01A91B CODE_01A917: 22 B7 F5 00 JSL.L HurtMario Return01A91B: 60 RTS ; Return CODE_01A91C: AD 0D 14 LDA.W RAM_IsSpinJump CODE_01A91F: 0D 7A 18 ORA.W RAM_OnYoshi CODE_01A922: F0 23 BEQ CODE_01A947 CODE_01A924: 22 99 AB 01 JSL.L DisplayContactGfx CODE_01A928: A9 F8 LDA.B #$F8 CODE_01A92A: 85 7D STA RAM_MarioSpeedY CODE_01A92C: AD 7A 18 LDA.W RAM_OnYoshi CODE_01A92F: F0 04 BEQ CODE_01A935 CODE_01A931: 22 33 AA 01 JSL.L BoostMarioSpeed CODE_01A935: 20 CB 9A JSR.W CODE_019ACB CODE_01A938: 22 3B FC 07 JSL.L CODE_07FC3B CODE_01A93C: 20 46 AB JSR.W CODE_01AB46 CODE_01A93F: A9 08 LDA.B #$08 CODE_01A941: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01A944: 4C F2 A9 JMP.W CODE_01A9F2 CODE_01A947: 20 D8 A8 JSR.W CODE_01A8D8 CODE_01A94A: BD 7B 18 LDA.W $187B,X CODE_01A94D: F0 0E BEQ CODE_01A95D CODE_01A94F: 20 30 AD JSR.W SubHorizPos CODE_01A952: A9 18 LDA.B #$18 CODE_01A954: C0 00 CPY.B #$00 CODE_01A956: F0 02 BEQ CODE_01A95A CODE_01A958: A9 E8 LDA.B #$E8 CODE_01A95A: 85 7B STA RAM_MarioSpeedX Return01A95C: 60 RTS ; Return CODE_01A95D: 20 46 AB JSR.W CODE_01AB46 CODE_01A960: B4 9E LDY RAM_SpriteNum,X CODE_01A962: BD 86 16 LDA.W RAM_Tweaker1686,X CODE_01A965: 29 40 AND.B #$40 CODE_01A967: F0 55 BEQ CODE_01A9BE CODE_01A969: C0 72 CPY.B #$72 CODE_01A96B: 90 0C BCC CODE_01A979 CODE_01A96D: DA PHX CODE_01A96E: 5A PHY CODE_01A96F: 22 F2 EA 02 JSL.L CODE_02EAF2 CODE_01A973: 7A PLY CODE_01A974: FA PLX CODE_01A975: A9 02 LDA.B #$02 CODE_01A977: 80 22 BRA CODE_01A99B CODE_01A979: C0 6E CPY.B #$6E CODE_01A97B: D0 0D BNE CODE_01A98A CODE_01A97D: A9 02 LDA.B #$02 CODE_01A97F: 95 C2 STA RAM_SpriteState,X CODE_01A981: A9 FF LDA.B #$FF CODE_01A983: 9D 40 15 STA.W $1540,X CODE_01A986: A9 6F LDA.B #$6F ;DINO TORCH SPRITE NUM CODE_01A988: 80 11 BRA CODE_01A99B CODE_01A98A: C0 3F CPY.B #$3F CODE_01A98C: 90 0A BCC CODE_01A998 CODE_01A98E: A9 80 LDA.B #$80 CODE_01A990: 9D 40 15 STA.W $1540,X CODE_01A993: B9 9B A7 LDA.W ADDR_01A79B,Y CODE_01A996: 80 03 BRA CODE_01A99B CODE_01A998: B9 C9 A7 LDA.W SpriteToSpawn,Y CODE_01A99B: 95 9E STA RAM_SpriteNum,X CODE_01A99D: BD F6 15 LDA.W RAM_SpritePal,X CODE_01A9A0: 29 0E AND.B #$0E CODE_01A9A2: 85 0F STA $0F CODE_01A9A4: 22 8B F7 07 JSL.L LoadSpriteTables CODE_01A9A8: BD F6 15 LDA.W RAM_SpritePal,X CODE_01A9AB: 29 F1 AND.B #$F1 CODE_01A9AD: 05 0F ORA $0F CODE_01A9AF: 9D F6 15 STA.W RAM_SpritePal,X CODE_01A9B2: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01A9B4: B5 9E LDA RAM_SpriteNum,X CODE_01A9B6: C9 02 CMP.B #$02 CODE_01A9B8: D0 03 BNE Return01A9BD CODE_01A9BA: FE 1C 15 INC.W $151C,X Return01A9BD: 60 RTS ; Return CODE_01A9BE: B5 9E LDA RAM_SpriteNum,X CODE_01A9C0: 38 SEC CODE_01A9C1: E9 04 SBC.B #$04 CODE_01A9C3: C9 0D CMP.B #$0D CODE_01A9C5: B0 05 BCS CODE_01A9CC CODE_01A9C7: AD 07 14 LDA.W $1407 CODE_01A9CA: D0 07 BNE CODE_01A9D3 CODE_01A9CC: BD 56 16 LDA.W RAM_Tweaker1656,X ; \ Branch if doesn't die when jumped on CODE_01A9CF: 29 20 AND.B #$20 ; | CODE_01A9D1: F0 0F BEQ CODE_01A9E2 ; / CODE_01A9D3: A9 03 LDA.B #$03 ; \ Sprite status = Smushed CODE_01A9D5: 9D C8 14 STA.W $14C8,X ; / CODE_01A9D8: A9 20 LDA.B #$20 CODE_01A9DA: 9D 40 15 STA.W $1540,X CODE_01A9DD: 74 B6 STZ RAM_SpriteSpeedX,X ; \ Sprite Speed = 0 CODE_01A9DF: 74 AA STZ RAM_SpriteSpeedY,X ; / Return01A9E1: 60 RTS ; Return CODE_01A9E2: BD 62 16 LDA.W RAM_Tweaker1662,X ; \ Branch if Tweaker bit... CODE_01A9E5: 29 80 AND.B #$80 ; | ..."Falls straight down when killed"... CODE_01A9E7: F0 18 BEQ CODE_01AA01 ; / ...is NOT set. CODE_01A9E9: A9 02 LDA.B #$02 ; \ Sprite status = Falling off screen CODE_01A9EB: 9D C8 14 STA.W $14C8,X ; / CODE_01A9EE: 74 B6 STZ RAM_SpriteSpeedX,X ; \ Sprite Speed = 0 CODE_01A9F0: 74 AA STZ RAM_SpriteSpeedY,X ; / CODE_01A9F2: B5 9E LDA RAM_SpriteNum,X ; \ Return if NOT Lakitu CODE_01A9F4: C9 1E CMP.B #$1E ; | CODE_01A9F6: D0 08 BNE Return01AA00 ; / CODE_01A9F8: AC E1 18 LDY.W $18E1 CODE_01A9FB: A9 1F LDA.B #$1F CODE_01A9FD: 99 40 15 STA.W $1540,Y Return01AA00: 60 RTS ; Return CODE_01AA01: BC C8 14 LDY.W $14C8,X CODE_01AA04: 9E 26 16 STZ.W $1626,X CODE_01AA07: C0 08 CPY.B #$08 CODE_01AA09: F0 09 BEQ SetStunnedTimer CODE_01AA0B: B5 C2 LDA RAM_SpriteState,X CODE_01AA0D: D0 05 BNE SetStunnedTimer CODE_01AA0F: 9E 40 15 STZ.W $1540,X CODE_01AA12: 80 19 BRA SetAsStunned SetStunnedTimer: A9 02 LDA.B #$02 ; \ CODE_01AA16: B4 9E LDY RAM_SpriteNum,X ; | CODE_01AA18: C0 0F CPY.B #$0F ; | Set stunnned timer with: CODE_01AA1A: F0 0C BEQ CODE_01AA28 ; | CODE_01AA1C: C0 11 CPY.B #$11 ; | #$FF for Goomba, Buzzy Beetle, Mechakoopa, or Bob-omb... CODE_01AA1E: F0 08 BEQ CODE_01AA28 ; | #$02 for others CODE_01AA20: C0 A2 CPY.B #$A2 ; | CODE_01AA22: F0 04 BEQ CODE_01AA28 ; | CODE_01AA24: C0 0D CPY.B #$0D ; | CODE_01AA26: D0 02 BNE CODE_01AA2A ; | CODE_01AA28: A9 FF LDA.B #$FF ; | CODE_01AA2A: 9D 40 15 STA.W $1540,X ; / SetAsStunned: A9 09 LDA.B #$09 ; \ Status = stunned CODE_01AA2F: 9D C8 14 STA.W $14C8,X ; / Return01AA32: 60 RTS ; Return BoostMarioSpeed: A5 74 LDA RAM_IsClimbing ; \ Return if climbing CODE_01AA35: D0 0A BNE Return01AA41 ; / CODE_01AA37: A9 D0 LDA.B #$D0 CODE_01AA39: 24 15 BIT RAM_ControllerA CODE_01AA3B: 10 02 BPL CODE_01AA3F CODE_01AA3D: A9 A8 LDA.B #$A8 CODE_01AA3F: 85 7D STA RAM_MarioSpeedY Return01AA41: 6B RTL ; Return CODE_01AA42: AD 0D 14 LDA.W RAM_IsSpinJump CODE_01AA45: 0D 7A 18 ORA.W RAM_OnYoshi CODE_01AA48: F0 0E BEQ CODE_01AA58 CODE_01AA4A: A5 7D LDA RAM_MarioSpeedY CODE_01AA4C: 30 0A BMI CODE_01AA58 CODE_01AA4E: BD 56 16 LDA.W RAM_Tweaker1656,X ; \ Branch if can't be jumped on CODE_01AA51: 29 10 AND.B #$10 ; | CODE_01AA53: F0 03 BEQ CODE_01AA58 ; / CODE_01AA55: 4C 24 A9 JMP.W CODE_01A924 CODE_01AA58: A5 15 LDA RAM_ControllerA CODE_01AA5A: 29 40 AND.B #$40 CODE_01AA5C: F0 16 BEQ CODE_01AA74 CODE_01AA5E: AD 70 14 LDA.W $1470 ; \ Branch if carrying an enemy... CODE_01AA61: 0D 7A 18 ORA.W RAM_OnYoshi ; | ...or on Yoshi CODE_01AA64: D0 0E BNE CODE_01AA74 ; / CODE_01AA66: A9 0B LDA.B #$0B ; \ Sprite status = Being carried CODE_01AA68: 9D C8 14 STA.W $14C8,X ; / CODE_01AA6B: EE 70 14 INC.W $1470 ; Set carrying enemy flag CODE_01AA6E: A9 08 LDA.B #$08 CODE_01AA70: 8D 98 14 STA.W RAM_PickUpImgTimer Return01AA73: 60 RTS ; Return CODE_01AA74: B5 9E LDA RAM_SpriteNum,X ; \ Branch if Key CODE_01AA76: C9 80 CMP.B #$80 ; | CODE_01AA78: F0 3D BEQ CODE_01AAB7 ; / CODE_01AA7A: C9 3E CMP.B #$3E ; \ Branch if P Switch CODE_01AA7C: F0 34 BEQ CODE_01AAB2 ; / CODE_01AA7E: C9 0D CMP.B #$0D ; \ Branch if Bobomb CODE_01AA80: F0 15 BEQ CODE_01AA97 ; / CODE_01AA82: C9 2D CMP.B #$2D ; \ Branch if Baby Yoshi CODE_01AA84: F0 11 BEQ CODE_01AA97 ; / CODE_01AA86: C9 A2 CMP.B #$A2 ; \ Branch if MechaKoopa CODE_01AA88: F0 0D BEQ CODE_01AA97 ; / CODE_01AA8A: C9 0F CMP.B #$0F ; \ Branch if not Goomba CODE_01AA8C: D0 06 BNE CODE_01AA94 ; / ADDR_01AA8E: A9 F0 LDA.B #$F0 ADDR_01AA90: 95 AA STA RAM_SpriteSpeedY,X ADDR_01AA92: 80 03 BRA CODE_01AA97 CODE_01AA94: 20 46 AB JSR.W CODE_01AB46 CODE_01AA97: 20 28 A7 JSR.W PlayKickSfx CODE_01AA9A: BD 40 15 LDA.W $1540,X CODE_01AA9D: 95 C2 STA RAM_SpriteState,X CODE_01AA9F: A9 0A LDA.B #$0A ; \ Sprite status = Kicked CODE_01AAA1: 9D C8 14 STA.W $14C8,X ; / CODE_01AAA4: A9 10 LDA.B #$10 CODE_01AAA6: 9D 4C 15 STA.W RAM_DisableInter,X CODE_01AAA9: 20 30 AD JSR.W SubHorizPos CODE_01AAAC: B9 6B 9F LDA.W ShellSpeedX,Y CODE_01AAAF: 95 B6 STA RAM_SpriteSpeedX,X Return01AAB1: 60 RTS ; Return CODE_01AAB2: BD 3E 16 LDA.W $163E,X CODE_01AAB5: D0 75 BNE Return01AB2C CODE_01AAB7: 9E 4C 15 STZ.W RAM_DisableInter,X CODE_01AABA: B5 D8 LDA RAM_SpriteYLo,X CODE_01AABC: 38 SEC CODE_01AABD: E5 D3 SBC $D3 CODE_01AABF: 18 CLC CODE_01AAC0: 69 08 ADC.B #$08 CODE_01AAC2: C9 20 CMP.B #$20 CODE_01AAC4: 90 6B BCC CODE_01AB31 CODE_01AAC6: 10 05 BPL CODE_01AACD CODE_01AAC8: A9 10 LDA.B #$10 CODE_01AACA: 85 7D STA RAM_MarioSpeedY Return01AACC: 60 RTS ; Return CODE_01AACD: A5 7D LDA RAM_MarioSpeedY CODE_01AACF: 30 5B BMI Return01AB2C CODE_01AAD1: 64 7D STZ RAM_MarioSpeedY CODE_01AAD3: 64 72 STZ RAM_IsFlying CODE_01AAD5: EE 71 14 INC.W $1471 CODE_01AAD8: A9 1F LDA.B #$1F CODE_01AADA: AC 7A 18 LDY.W RAM_OnYoshi CODE_01AADD: F0 02 BEQ CODE_01AAE1 CODE_01AADF: A9 2F LDA.B #$2F CODE_01AAE1: 85 00 STA $00 CODE_01AAE3: B5 D8 LDA RAM_SpriteYLo,X CODE_01AAE5: 38 SEC CODE_01AAE6: E5 00 SBC $00 CODE_01AAE8: 85 96 STA RAM_MarioYPos CODE_01AAEA: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01AAED: E9 00 SBC.B #$00 CODE_01AAEF: 85 97 STA RAM_MarioYPosHi CODE_01AAF1: B5 9E LDA RAM_SpriteNum,X CODE_01AAF3: C9 3E CMP.B #$3E CODE_01AAF5: D0 35 BNE Return01AB2C CODE_01AAF7: 1E 7A 16 ASL.W RAM_Tweaker167A,X CODE_01AAFA: 5E 7A 16 LSR.W RAM_Tweaker167A,X CODE_01AAFD: A9 0B LDA.B #$0B CODE_01AAFF: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01AB02: AD DA 0D LDA.W $0DDA CODE_01AB05: 30 05 BMI CODE_01AB0C CODE_01AB07: A9 0E LDA.B #$0E CODE_01AB09: 8D FB 1D STA.W $1DFB ; / Change music CODE_01AB0C: A9 20 LDA.B #$20 CODE_01AB0E: 9D 3E 16 STA.W $163E,X CODE_01AB11: 5E F6 15 LSR.W RAM_SpritePal,X CODE_01AB14: 1E F6 15 ASL.W RAM_SpritePal,X CODE_01AB17: BC 1C 15 LDY.W $151C,X CODE_01AB1A: A9 B0 LDA.B #$B0 CODE_01AB1C: 99 AD 14 STA.W RAM_BluePowTimer,Y CODE_01AB1F: A9 20 LDA.B #$20 ; \ Set ground shake timer CODE_01AB21: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_01AB24: C0 01 CPY.B #$01 CODE_01AB26: D0 04 BNE Return01AB2C CODE_01AB28: 22 BD B9 02 JSL.L CODE_02B9BD Return01AB2C: 60 RTS ; Return DATA_01AB2D: .db $01,$00,$FF,$FF CODE_01AB31: 64 7B STZ RAM_MarioSpeedX CODE_01AB33: 20 30 AD JSR.W SubHorizPos CODE_01AB36: 98 TYA CODE_01AB37: 0A ASL CODE_01AB38: A8 TAY CODE_01AB39: C2 20 REP #$20 ; Accum (16 bit) CODE_01AB3B: A5 94 LDA RAM_MarioXPos CODE_01AB3D: 18 CLC CODE_01AB3E: 79 2D AB ADC.W DATA_01AB2D,Y CODE_01AB41: 85 94 STA RAM_MarioXPos CODE_01AB43: E2 20 SEP #$20 ; Accum (8 bit) Return01AB45: 60 RTS ; Return CODE_01AB46: 5A PHY CODE_01AB47: AD 97 16 LDA.W $1697 CODE_01AB4A: 18 CLC CODE_01AB4B: 7D 26 16 ADC.W $1626,X CODE_01AB4E: EE 97 16 INC.W $1697 CODE_01AB51: A8 TAY CODE_01AB52: C8 INY CODE_01AB53: C0 08 CPY.B #$08 CODE_01AB55: B0 06 BCS CODE_01AB5D CODE_01AB57: B9 1D A6 LDA.W Return01A61D,Y CODE_01AB5A: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01AB5D: 98 TYA CODE_01AB5E: C9 08 CMP.B #$08 CODE_01AB60: 90 02 BCC CODE_01AB64 CODE_01AB62: A9 08 LDA.B #$08 CODE_01AB64: 22 E5 AC 02 JSL.L GivePoints CODE_01AB68: 7A PLY Return01AB69: 60 RTS ; Return DATA_01AB6A: .db $0C,$FC,$EC,$DC,$CC CODE_01AB6F: 20 28 A7 JSR.W PlayKickSfx CODE_01AB72: 20 CB 80 JSR.W IsSprOffScreen CODE_01AB75: D0 21 BNE Return01AB98 ; if sprite is offscreen, return CODE_01AB77: 5A PHY CODE_01AB78: A0 03 LDY.B #$03 ;\ loop that checks for free smoke image slot CODE_01AB7A: B9 C0 17 LDA.W $17C0,Y ; | CODE_01AB7D: F0 04 BEQ CODE_01AB83 ; | CODE_01AB7F: 88 DEY ; | CODE_01AB80: 10 F8 BPL CODE_01AB7A ;/ CODE_01AB82: C8 INY ; if no free slot found, overwrite slot 0 ($17C0) CODE_01AB83: A9 02 LDA.B #$02 ;\ set smoke image CODE_01AB85: 99 C0 17 STA.W $17C0,Y ;/ CODE_01AB88: B5 E4 LDA RAM_SpriteXLo,X ;\ set smoke position CODE_01AB8A: 99 C8 17 STA.W $17C8,Y ; | CODE_01AB8D: B5 D8 LDA RAM_SpriteYLo,X ; | CODE_01AB8F: 99 C4 17 STA.W $17C4,Y ;/ CODE_01AB92: A9 08 LDA.B #$08 ;\ set time for smoke to be displayed CODE_01AB94: 99 CC 17 STA.W $17CC,Y ;/ CODE_01AB97: 7A PLY Return01AB98: 6B RTL ; Return DisplayContactGfx: 20 CB 80 JSR.W IsSprOffScreen CODE_01AB9C: D0 2D BNE Return01ABCB CODE_01AB9E: 5A PHY CODE_01AB9F: A0 03 LDY.B #$03 CODE_01ABA1: B9 C0 17 LDA.W $17C0,Y CODE_01ABA4: F0 04 BEQ CODE_01ABAA CODE_01ABA6: 88 DEY CODE_01ABA7: 10 F8 BPL CODE_01ABA1 CODE_01ABA9: C8 INY CODE_01ABAA: A9 02 LDA.B #$02 CODE_01ABAC: 99 C0 17 STA.W $17C0,Y CODE_01ABAF: A5 94 LDA RAM_MarioXPos CODE_01ABB1: 99 C8 17 STA.W $17C8,Y CODE_01ABB4: AD 7A 18 LDA.W RAM_OnYoshi CODE_01ABB7: C9 01 CMP.B #$01 CODE_01ABB9: A9 14 LDA.B #$14 CODE_01ABBB: 90 02 BCC CODE_01ABBF CODE_01ABBD: A9 1E LDA.B #$1E CODE_01ABBF: 18 CLC CODE_01ABC0: 65 96 ADC RAM_MarioYPos CODE_01ABC2: 99 C4 17 STA.W $17C4,Y CODE_01ABC5: A9 08 LDA.B #$08 CODE_01ABC7: 99 CC 17 STA.W $17CC,Y CODE_01ABCA: 7A PLY Return01ABCB: 6B RTL ; Return SubSprXPosNoGrvty: 8A TXA CODE_01ABCD: 18 CLC CODE_01ABCE: 69 0C ADC.B #$0C CODE_01ABD0: AA TAX CODE_01ABD1: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01ABD4: AE E9 15 LDX.W $15E9 ; X = Sprite index Return01ABD7: 60 RTS ; Return SubSprYPosNoGrvty: B5 AA LDA RAM_SpriteSpeedY,X ; Load current sprite's Y speed CODE_01ABDA: F0 2D BEQ CODE_01AC09 ; If speed is 0, branch to $AC09 CODE_01ABDC: 0A ASL ; \ CODE_01ABDD: 0A ASL ; |Multiply speed by 16 CODE_01ABDE: 0A ASL ; | CODE_01ABDF: 0A ASL ; / CODE_01ABE0: 18 CLC ; \ CODE_01ABE1: 7D EC 14 ADC.W $14EC,X ; |Increase (unknown sprite table) by that value CODE_01ABE4: 9D EC 14 STA.W $14EC,X ; / CODE_01ABE7: 08 PHP CODE_01ABE8: 08 PHP CODE_01ABE9: A0 00 LDY.B #$00 CODE_01ABEB: B5 AA LDA RAM_SpriteSpeedY,X ; Load current sprite's Y speed CODE_01ABED: 4A LSR ; \ CODE_01ABEE: 4A LSR ; |Multiply speed by 16 CODE_01ABEF: 4A LSR ; | CODE_01ABF0: 4A LSR ; / CODE_01ABF1: C9 08 CMP.B #$08 CODE_01ABF3: 90 03 BCC CODE_01ABF8 CODE_01ABF5: 09 F0 ORA.B #$F0 CODE_01ABF7: 88 DEY CODE_01ABF8: 28 PLP CODE_01ABF9: 48 PHA CODE_01ABFA: 75 D8 ADC RAM_SpriteYLo,X ; \ Add value to current sprite's Y position CODE_01ABFC: 95 D8 STA RAM_SpriteYLo,X ; / CODE_01ABFE: 98 TYA CODE_01ABFF: 7D D4 14 ADC.W RAM_SpriteYHi,X CODE_01AC02: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01AC05: 68 PLA CODE_01AC06: 28 PLP CODE_01AC07: 69 00 ADC.B #$00 CODE_01AC09: 8D 91 14 STA.W $1491 Return01AC0C: 60 RTS ; Return SpriteOffScreen1: .db $40,$B0 SpriteOffScreen2: .db $01,$FF SpriteOffScreen3: .db $30,$C0,$A0,$C0,$A0,$F0,$60,$90 SpriteOffScreen4: .db $01,$FF,$01,$FF,$01,$FF,$01,$FF SubOffscreen3Bnk1: A9 06 LDA.B #$06 ; \ Entry point of routine determines value of $03 CODE_01AC23: 85 03 STA $03 ; | CODE_01AC25: 80 06 BRA CODE_01AC2D ; | SubOffscreen2Bnk1: A9 04 LDA.B #$04 ; | CODE_01AC29: 80 02 BRA CODE_01AC2D ; | SubOffscreen1Bnk1: A9 02 LDA.B #$02 ; | CODE_01AC2D: 85 03 STA $03 ; | CODE_01AC2F: 80 02 BRA CODE_01AC33 ; | SubOffscreen0Bnk1: 64 03 STZ $03 ; / CODE_01AC33: 20 CB 80 JSR.W IsSprOffScreen ; \ if sprite is not off screen, return CODE_01AC36: F0 6C BEQ Return01ACA4 ; / CODE_01AC38: A5 5B LDA RAM_IsVerticalLvl ; \ vertical level CODE_01AC3A: 29 01 AND.B #$01 ; | CODE_01AC3C: D0 67 BNE VerticalLevel ; / CODE_01AC3E: B5 D8 LDA RAM_SpriteYLo,X ; \ CODE_01AC40: 18 CLC ; | CODE_01AC41: 69 50 ADC.B #$50 ; | if the sprite has gone off the bottom of the level... CODE_01AC43: BD D4 14 LDA.W RAM_SpriteYHi,X ; | (if adding 0x50 to the sprite y position would make the high byte >= 2) CODE_01AC46: 69 00 ADC.B #$00 ; | CODE_01AC48: C9 02 CMP.B #$02 ; | CODE_01AC4A: 10 34 BPL OffScrEraseSprite ; / ...erase the sprite CODE_01AC4C: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ if "process offscreen" flag is set, return CODE_01AC4F: 29 04 AND.B #$04 ; | CODE_01AC51: D0 51 BNE Return01ACA4 ; / CODE_01AC53: A5 13 LDA RAM_FrameCounter CODE_01AC55: 29 01 AND.B #$01 CODE_01AC57: 05 03 ORA $03 CODE_01AC59: 85 01 STA $01 CODE_01AC5B: A8 TAY CODE_01AC5C: A5 1A LDA RAM_ScreenBndryXLo CODE_01AC5E: 18 CLC CODE_01AC5F: 79 11 AC ADC.W SpriteOffScreen3,Y CODE_01AC62: 26 00 ROL $00 CODE_01AC64: D5 E4 CMP RAM_SpriteXLo,X CODE_01AC66: 08 PHP CODE_01AC67: A5 1B LDA RAM_ScreenBndryXHi CODE_01AC69: 46 00 LSR $00 CODE_01AC6B: 79 19 AC ADC.W SpriteOffScreen4,Y CODE_01AC6E: 28 PLP CODE_01AC6F: FD E0 14 SBC.W RAM_SpriteXHi,X CODE_01AC72: 85 00 STA $00 CODE_01AC74: 46 01 LSR $01 CODE_01AC76: 90 04 BCC CODE_01AC7C CODE_01AC78: 49 80 EOR.B #$80 CODE_01AC7A: 85 00 STA $00 CODE_01AC7C: A5 00 LDA $00 CODE_01AC7E: 10 24 BPL Return01ACA4 OffScrEraseSprite: B5 9E LDA RAM_SpriteNum,X ; \ If MagiKoopa... CODE_01AC82: C9 1F CMP.B #$1F ; | CODE_01AC84: D0 08 BNE CODE_01AC8E ; | Sprite to respawn = MagiKoopa CODE_01AC86: 8D C1 18 STA.W RAM_SpriteToRespawn ; | CODE_01AC89: A9 FF LDA.B #$FF ; | Set timer until respawn CODE_01AC8B: 8D C0 18 STA.W RAM_TimeTillRespawn ; / CODE_01AC8E: BD C8 14 LDA.W $14C8,X ; \ If sprite status < 8, permanently erase sprite CODE_01AC91: C9 08 CMP.B #$08 ; | CODE_01AC93: 90 0C BCC OffScrKillSprite ; / CODE_01AC95: BC 1A 16 LDY.W RAM_SprIndexInLvl,X ; \ Branch if should permanently erase sprite CODE_01AC98: C0 FF CPY.B #$FF ; | CODE_01AC9A: F0 05 BEQ OffScrKillSprite ; / CODE_01AC9C: A9 00 LDA.B #$00 ; \ Allow sprite to be reloaded by level loading routine CODE_01AC9E: 99 38 19 STA.W RAM_SprLoadStatus,Y ; / OffScrKillSprite: 9E C8 14 STZ.W $14C8,X ; Erase sprite Return01ACA4: 60 RTS VerticalLevel: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ If "process offscreen" flag is set, return CODE_01ACA8: 29 04 AND.B #$04 ; | CODE_01ACAA: D0 F8 BNE Return01ACA4 ; / CODE_01ACAC: A5 13 LDA RAM_FrameCounter ; \ Return every other frame CODE_01ACAE: 4A LSR ; | CODE_01ACAF: B0 F3 BCS Return01ACA4 ; / CODE_01ACB1: B5 E4 LDA RAM_SpriteXLo,X ; \ CODE_01ACB3: C9 00 CMP.B #$00 ; | If the sprite has gone off the side of the level... CODE_01ACB5: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_01ACB8: E9 00 SBC.B #$00 ; | CODE_01ACBA: C9 02 CMP.B #$02 ; | CODE_01ACBC: B0 C2 BCS OffScrEraseSprite ; / ...erase the sprite CODE_01ACBE: A5 13 LDA RAM_FrameCounter CODE_01ACC0: 4A LSR CODE_01ACC1: 29 01 AND.B #$01 CODE_01ACC3: 85 01 STA $01 CODE_01ACC5: A8 TAY CODE_01ACC6: F0 0A BEQ CODE_01ACD2 CODE_01ACC8: B5 9E LDA RAM_SpriteNum,X ; \ Return if Green Net Koopa CODE_01ACCA: C9 22 CMP.B #$22 ; | CODE_01ACCC: F0 D6 BEQ Return01ACA4 ; | CODE_01ACCE: C9 24 CMP.B #$24 ; | CODE_01ACD0: F0 D2 BEQ Return01ACA4 ; / CODE_01ACD2: A5 1C LDA RAM_ScreenBndryYLo CODE_01ACD4: 18 CLC CODE_01ACD5: 79 0D AC ADC.W SpriteOffScreen1,Y CODE_01ACD8: 26 00 ROL $00 CODE_01ACDA: D5 D8 CMP RAM_SpriteYLo,X CODE_01ACDC: 08 PHP CODE_01ACDD: AD 1D 00 LDA.W RAM_ScreenBndryYHi CODE_01ACE0: 46 00 LSR $00 CODE_01ACE2: 79 0F AC ADC.W SpriteOffScreen2,Y CODE_01ACE5: 28 PLP CODE_01ACE6: FD D4 14 SBC.W RAM_SpriteYHi,X CODE_01ACE9: 85 00 STA $00 CODE_01ACEB: A4 01 LDY $01 CODE_01ACED: F0 04 BEQ CODE_01ACF3 CODE_01ACEF: 49 80 EOR.B #$80 CODE_01ACF1: 85 00 STA $00 CODE_01ACF3: A5 00 LDA $00 CODE_01ACF5: 10 AD BPL Return01ACA4 CODE_01ACF7: 30 87 BMI OffScrEraseSprite GetRand: 5A PHY CODE_01ACFA: A0 01 LDY.B #$01 CODE_01ACFC: 22 07 AD 01 JSL.L CODE_01AD07 CODE_01AD00: 88 DEY CODE_01AD01: 22 07 AD 01 JSL.L CODE_01AD07 CODE_01AD05: 7A PLY Return01AD06: 6B RTL ; Return CODE_01AD07: AD 8B 14 LDA.W $148B CODE_01AD0A: 0A ASL CODE_01AD0B: 0A ASL CODE_01AD0C: 38 SEC CODE_01AD0D: 6D 8B 14 ADC.W $148B CODE_01AD10: 8D 8B 14 STA.W $148B CODE_01AD13: 0E 8C 14 ASL.W $148C CODE_01AD16: A9 20 LDA.B #$20 CODE_01AD18: 2C 8C 14 BIT.W $148C CODE_01AD1B: 90 04 BCC CODE_01AD21 CODE_01AD1D: F0 07 BEQ CODE_01AD26 CODE_01AD1F: D0 02 BNE CODE_01AD23 CODE_01AD21: D0 03 BNE CODE_01AD26 CODE_01AD23: EE 8C 14 INC.W $148C CODE_01AD26: AD 8C 14 LDA.W $148C CODE_01AD29: 4D 8B 14 EOR.W $148B CODE_01AD2C: 99 8D 14 STA.W RAM_RandomByte1,Y Return01AD2F: 6B RTL ; Return SubHorizPos: A0 00 LDY.B #$00 CODE_01AD32: A5 D1 LDA $D1 CODE_01AD34: 38 SEC CODE_01AD35: F5 E4 SBC RAM_SpriteXLo,X CODE_01AD37: 85 0F STA $0F CODE_01AD39: A5 D2 LDA $D2 CODE_01AD3B: FD E0 14 SBC.W RAM_SpriteXHi,X CODE_01AD3E: 10 01 BPL Return01AD41 CODE_01AD40: C8 INY Return01AD41: 60 RTS ; Return CODE_01AD42: A0 00 LDY.B #$00 CODE_01AD44: A5 D3 LDA $D3 CODE_01AD46: 38 SEC CODE_01AD47: F5 D8 SBC RAM_SpriteYLo,X CODE_01AD49: 85 0E STA $0E CODE_01AD4B: A5 D4 LDA $D4 CODE_01AD4D: FD D4 14 SBC.W RAM_SpriteYHi,X CODE_01AD50: 10 01 BPL Return01AD53 CODE_01AD52: C8 INY Return01AD53: 60 RTS ; Return DATA_01AD54: .db $FF,$FF,$FF,$FF,$FF InitFlying?Block: B5 E4 LDA RAM_SpriteXLo,X CODE_01AD5B: 4A LSR CODE_01AD5C: 4A LSR CODE_01AD5D: 4A LSR CODE_01AD5E: 4A LSR CODE_01AD5F: 29 03 AND.B #$03 CODE_01AD61: 9D 1C 15 STA.W $151C,X CODE_01AD64: FE 7C 15 INC.W RAM_SpriteDir,X Return01AD67: 60 RTS ; Return DATA_01AD68: .db $FF,$01 DATA_01AD6A: .db $F4,$0C DATA_01AD6C: .db $F0,$10 Flying?Block: BD 3E 16 LDA.W $163E,X CODE_01AD71: F0 0D BEQ CODE_01AD80 CODE_01AD73: 9E EA 15 STZ.W RAM_SprOAMIndex,X CODE_01AD76: AD 7A 18 LDA.W RAM_OnYoshi CODE_01AD79: D0 05 BNE CODE_01AD80 CODE_01AD7B: A9 04 LDA.B #$04 CODE_01AD7D: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01AD80: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01AD83: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01AD86: B9 01 03 LDA.W OAM_DispY,Y CODE_01AD89: 3A DEC A CODE_01AD8A: 99 01 03 STA.W OAM_DispY,Y CODE_01AD8D: 9E 28 15 STZ.W $1528,X CODE_01AD90: B5 C2 LDA RAM_SpriteState,X CODE_01AD92: D0 64 BNE CODE_01ADF8 CODE_01AD94: 20 95 9E JSR.W CODE_019E95 CODE_01AD97: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01AD99: D0 5D BNE CODE_01ADF8 ; / CODE_01AD9B: A5 13 LDA RAM_FrameCounter CODE_01AD9D: 29 01 AND.B #$01 CODE_01AD9F: D0 16 BNE CODE_01ADB7 CODE_01ADA1: BD 94 15 LDA.W $1594,X CODE_01ADA4: 29 01 AND.B #$01 CODE_01ADA6: A8 TAY CODE_01ADA7: B5 AA LDA RAM_SpriteSpeedY,X CODE_01ADA9: 18 CLC CODE_01ADAA: 79 68 AD ADC.W DATA_01AD68,Y CODE_01ADAD: 95 AA STA RAM_SpriteSpeedY,X CODE_01ADAF: D9 6A AD CMP.W DATA_01AD6A,Y CODE_01ADB2: D0 03 BNE CODE_01ADB7 CODE_01ADB4: FE 94 15 INC.W $1594,X CODE_01ADB7: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01ADBA: B5 9E LDA RAM_SpriteNum,X CODE_01ADBC: C9 83 CMP.B #$83 CODE_01ADBE: F0 28 BEQ CODE_01ADE8 CODE_01ADC0: BD 40 15 LDA.W $1540,X CODE_01ADC3: D0 21 BNE CODE_01ADE6 CODE_01ADC5: A5 13 LDA RAM_FrameCounter CODE_01ADC7: 29 03 AND.B #$03 CODE_01ADC9: D0 1B BNE CODE_01ADE6 CODE_01ADCB: BD 34 15 LDA.W $1534,X CODE_01ADCE: 29 01 AND.B #$01 CODE_01ADD0: A8 TAY CODE_01ADD1: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01ADD3: 18 CLC CODE_01ADD4: 79 68 AD ADC.W DATA_01AD68,Y CODE_01ADD7: 95 B6 STA RAM_SpriteSpeedX,X CODE_01ADD9: D9 6C AD CMP.W DATA_01AD6C,Y CODE_01ADDC: D0 08 BNE CODE_01ADE6 CODE_01ADDE: FE 34 15 INC.W $1534,X CODE_01ADE1: A9 20 LDA.B #$20 CODE_01ADE3: 9D 40 15 STA.W $1540,X CODE_01ADE6: 80 04 BRA CODE_01ADEC CODE_01ADE8: A9 F4 LDA.B #$F4 CODE_01ADEA: 95 B6 STA RAM_SpriteSpeedX,X CODE_01ADEC: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01ADEF: AD 91 14 LDA.W $1491 CODE_01ADF2: 9D 28 15 STA.W $1528,X CODE_01ADF5: FE 70 15 INC.W $1570,X CODE_01ADF8: 20 0D A4 JSR.W SubSprSprInteract CODE_01ADFB: 20 57 B4 JSR.W CODE_01B457 CODE_01ADFE: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01AE01: BD 58 15 LDA.W $1558,X CODE_01AE04: C9 08 CMP.B #$08 CODE_01AE06: D0 56 BNE CODE_01AE5E CODE_01AE08: B4 C2 LDY RAM_SpriteState,X CODE_01AE0A: C0 02 CPY.B #$02 CODE_01AE0C: F0 50 BEQ CODE_01AE5E CODE_01AE0E: 48 PHA CODE_01AE0F: F6 C2 INC RAM_SpriteState,X CODE_01AE11: A9 50 LDA.B #$50 CODE_01AE13: 9D 3E 16 STA.W $163E,X CODE_01AE16: B5 E4 LDA RAM_SpriteXLo,X CODE_01AE18: 85 9A STA RAM_BlockYLo CODE_01AE1A: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01AE1D: 85 9B STA RAM_BlockYHi CODE_01AE1F: B5 D8 LDA RAM_SpriteYLo,X CODE_01AE21: 85 98 STA RAM_BlockXLo CODE_01AE23: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01AE26: 85 99 STA RAM_BlockXHi CODE_01AE28: A9 FF LDA.B #$FF ; \ Set to permanently erase sprite CODE_01AE2A: 9D 1A 16 STA.W RAM_SprIndexInLvl,X ; / CODE_01AE2D: BC 1C 15 LDY.W $151C,X CODE_01AE30: A5 19 LDA RAM_MarioPowerUp CODE_01AE32: D0 04 BNE CODE_01AE38 CODE_01AE34: C8 INY CODE_01AE35: C8 INY CODE_01AE36: C8 INY CODE_01AE37: C8 INY CODE_01AE38: B9 88 AE LDA.W DATA_01AE88,Y CODE_01AE3B: 85 05 STA $05 CODE_01AE3D: 8B PHB CODE_01AE3E: A9 02 LDA.B #$02 CODE_01AE40: 48 PHA CODE_01AE41: AB PLB CODE_01AE42: DA PHX CODE_01AE43: 22 7D 88 02 JSL.L CODE_02887D CODE_01AE47: FA PLX CODE_01AE48: AC 5E 18 LDY.W $185E CODE_01AE4B: A9 01 LDA.B #$01 CODE_01AE4D: 99 28 15 STA.W $1528,Y CODE_01AE50: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01AE53: C9 75 CMP.B #$75 CODE_01AE55: D0 05 BNE CODE_01AE5C CODE_01AE57: A9 FF LDA.B #$FF CODE_01AE59: 99 C2 00 STA.W RAM_SpriteState,Y CODE_01AE5C: AB PLB CODE_01AE5D: 68 PLA CODE_01AE5E: 4A LSR CODE_01AE5F: A8 TAY CODE_01AE60: B9 7F AE LDA.W DATA_01AE7F,Y CODE_01AE63: 85 00 STA $00 CODE_01AE65: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01AE68: B9 01 03 LDA.W OAM_DispY,Y CODE_01AE6B: 38 SEC CODE_01AE6C: E5 00 SBC $00 CODE_01AE6E: 99 01 03 STA.W OAM_DispY,Y CODE_01AE71: B5 C2 LDA RAM_SpriteState,X CODE_01AE73: C9 01 CMP.B #$01 CODE_01AE75: A9 2A LDA.B #$2A CODE_01AE77: 90 02 BCC CODE_01AE7B CODE_01AE79: A9 2E LDA.B #$2E CODE_01AE7B: 99 02 03 STA.W OAM_Tile,Y Return01AE7E: 60 RTS ; Return DATA_01AE7F: .db $00,$03,$05,$07,$08,$08,$07,$05 .db $03 DATA_01AE88: .db $06,$02,$04,$05,$06,$01,$01,$05 Return01AE90: 60 RTS PalaceSwitch: 22 2D CD 02 JSL.L CODE_02CD2D Return01AE95: 60 RTS ; Return InitThwomp: B5 D8 LDA RAM_SpriteYLo,X CODE_01AE98: 9D 1C 15 STA.W $151C,X CODE_01AE9B: B5 E4 LDA RAM_SpriteXLo,X CODE_01AE9D: 18 CLC CODE_01AE9E: 69 08 ADC.B #$08 CODE_01AEA0: 95 E4 STA RAM_SpriteXLo,X Return01AEA2: 60 RTS Thwomp: 20 54 AF JSR.W ThwompGfx CODE_01AEA6: BD C8 14 LDA.W $14C8,X CODE_01AEA9: C9 08 CMP.B #$08 CODE_01AEAB: D0 F5 BNE Return01AEA2 CODE_01AEAD: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01AEAF: D0 F1 BNE Return01AEA2 ; / CODE_01AEB1: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01AEB4: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01AEB7: B5 C2 LDA RAM_SpriteState,X CODE_01AEB9: 22 DF 86 00 JSL.L ExecutePtr ThwompStatePtrs: C3 AE .dw CODE_01AEC3 FA AE .dw CODE_01AEFA 24 AF .dw CODE_01AF24 CODE_01AEC3: BD 6C 18 LDA.W RAM_OffscreenVert,X CODE_01AEC6: D0 26 BNE CODE_01AEEE CODE_01AEC8: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_01AECB: D0 2C BNE Return01AEF9 CODE_01AECD: 20 30 AD JSR.W SubHorizPos CODE_01AED0: 98 TYA CODE_01AED1: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01AED4: 9E 28 15 STZ.W $1528,X CODE_01AED7: A5 0F LDA $0F CODE_01AED9: 18 CLC CODE_01AEDA: 69 40 ADC.B #$40 CODE_01AEDC: C9 80 CMP.B #$80 CODE_01AEDE: B0 05 BCS CODE_01AEE5 CODE_01AEE0: A9 01 LDA.B #$01 CODE_01AEE2: 9D 28 15 STA.W $1528,X CODE_01AEE5: A5 0F LDA $0F CODE_01AEE7: 18 CLC CODE_01AEE8: 69 24 ADC.B #$24 CODE_01AEEA: C9 50 CMP.B #$50 CODE_01AEEC: B0 0B BCS Return01AEF9 CODE_01AEEE: A9 02 LDA.B #$02 CODE_01AEF0: 9D 28 15 STA.W $1528,X CODE_01AEF3: F6 C2 INC RAM_SpriteState,X CODE_01AEF5: A9 00 LDA.B #$00 CODE_01AEF7: 95 AA STA RAM_SpriteSpeedY,X Return01AEF9: 60 RTS ; Return CODE_01AEFA: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01AEFD: B5 AA LDA RAM_SpriteSpeedY,X CODE_01AEFF: C9 3E CMP.B #$3E CODE_01AF01: B0 04 BCS CODE_01AF07 CODE_01AF03: 69 04 ADC.B #$04 CODE_01AF05: 95 AA STA RAM_SpriteSpeedY,X CODE_01AF07: 20 40 91 JSR.W CODE_019140 CODE_01AF0A: 20 0E 80 JSR.W IsOnGround CODE_01AF0D: F0 14 BEQ Return01AF23 CODE_01AF0F: 20 04 9A JSR.W SetSomeYSpeed?? CODE_01AF12: A9 18 LDA.B #$18 ; \ Set ground shake timer CODE_01AF14: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_01AF17: A9 09 LDA.B #$09 CODE_01AF19: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_01AF1C: A9 40 LDA.B #$40 CODE_01AF1E: 9D 40 15 STA.W $1540,X CODE_01AF21: F6 C2 INC RAM_SpriteState,X Return01AF23: 60 RTS ; Return CODE_01AF24: BD 40 15 LDA.W $1540,X CODE_01AF27: D0 16 BNE Return01AF3F CODE_01AF29: 9E 28 15 STZ.W $1528,X CODE_01AF2C: B5 D8 LDA RAM_SpriteYLo,X CODE_01AF2E: DD 1C 15 CMP.W $151C,X CODE_01AF31: D0 05 BNE CODE_01AF38 CODE_01AF33: A9 00 LDA.B #$00 CODE_01AF35: 95 C2 STA RAM_SpriteState,X Return01AF37: 60 RTS ; Return CODE_01AF38: A9 F0 LDA.B #$F0 CODE_01AF3A: 95 AA STA RAM_SpriteSpeedY,X CODE_01AF3C: 20 D8 AB JSR.W SubSprYPosNoGrvty Return01AF3F: 60 RTS ; Return ThwompDispX: .db $FC,$04,$FC,$04,$00 ThwompDispY: .db $00,$00,$10,$10,$08 ThwompTiles: .db $8E,$8E,$AE,$AE,$C8 ThwompGfxProp: .db $03,$43,$03,$43,$03 ThwompGfx: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01AF57: BD 28 15 LDA.W $1528,X CODE_01AF5A: 85 02 STA $02 CODE_01AF5C: DA PHX CODE_01AF5D: A2 03 LDX.B #$03 CODE_01AF5F: C9 00 CMP.B #$00 CODE_01AF61: F0 01 BEQ CODE_01AF64 CODE_01AF63: E8 INX CODE_01AF64: A5 00 LDA $00 CODE_01AF66: 18 CLC CODE_01AF67: 7D 40 AF ADC.W ThwompDispX,X CODE_01AF6A: 99 00 03 STA.W OAM_DispX,Y CODE_01AF6D: A5 01 LDA $01 CODE_01AF6F: 18 CLC CODE_01AF70: 7D 45 AF ADC.W ThwompDispY,X CODE_01AF73: 99 01 03 STA.W OAM_DispY,Y CODE_01AF76: BD 4F AF LDA.W ThwompGfxProp,X CODE_01AF79: 05 64 ORA $64 CODE_01AF7B: 99 03 03 STA.W OAM_Prop,Y CODE_01AF7E: BD 4A AF LDA.W ThwompTiles,X CODE_01AF81: E0 04 CPX.B #$04 CODE_01AF83: D0 0A BNE CODE_01AF8F CODE_01AF85: DA PHX CODE_01AF86: A6 02 LDX $02 CODE_01AF88: E0 02 CPX.B #$02 CODE_01AF8A: D0 02 BNE CODE_01AF8E CODE_01AF8C: A9 CA LDA.B #$CA CODE_01AF8E: FA PLX CODE_01AF8F: 99 02 03 STA.W OAM_Tile,Y CODE_01AF92: C8 INY CODE_01AF93: C8 INY CODE_01AF94: C8 INY CODE_01AF95: C8 INY CODE_01AF96: CA DEX CODE_01AF97: 10 CB BPL CODE_01AF64 CODE_01AF99: FA PLX CODE_01AF9A: A9 04 LDA.B #$04 CODE_01AF9C: 4C 7E B3 JMP.W CODE_01B37E Thwimp: BD C8 14 LDA.W $14C8,X CODE_01AFA2: C9 08 CMP.B #$08 CODE_01AFA4: D0 60 BNE CODE_01B006 CODE_01AFA6: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01AFA8: D0 5C BNE CODE_01B006 ; / CODE_01AFAA: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01AFAD: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01AFB0: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01AFB3: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01AFB6: 20 40 91 JSR.W CODE_019140 CODE_01AFB9: B5 AA LDA RAM_SpriteSpeedY,X CODE_01AFBB: 30 06 BMI CODE_01AFC3 CODE_01AFBD: C9 40 CMP.B #$40 CODE_01AFBF: B0 07 BCS CODE_01AFC8 CODE_01AFC1: 69 05 ADC.B #$05 CODE_01AFC3: 18 CLC CODE_01AFC4: 69 03 ADC.B #$03 CODE_01AFC6: 80 02 BRA CODE_01AFCA CODE_01AFC8: A9 40 LDA.B #$40 CODE_01AFCA: 95 AA STA RAM_SpriteSpeedY,X CODE_01AFCC: 20 14 80 JSR.W IsTouchingCeiling ; \ If touching ceiling, CODE_01AFCF: F0 04 BEQ CODE_01AFD5 ; | CODE_01AFD1: A9 10 LDA.B #$10 ; | Y speed = #$10 CODE_01AFD3: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_01AFD5: 20 0E 80 JSR.W IsOnGround CODE_01AFD8: F0 2C BEQ CODE_01B006 CODE_01AFDA: 20 04 9A JSR.W SetSomeYSpeed?? CODE_01AFDD: 74 B6 STZ RAM_SpriteSpeedX,X ; \ Sprite Speed = 0 CODE_01AFDF: 74 AA STZ RAM_SpriteSpeedY,X ; / CODE_01AFE1: BD 40 15 LDA.W $1540,X CODE_01AFE4: F0 16 BEQ CODE_01AFFC CODE_01AFE6: 3A DEC A CODE_01AFE7: D0 1D BNE CODE_01B006 CODE_01AFE9: A9 A0 LDA.B #$A0 CODE_01AFEB: 95 AA STA RAM_SpriteSpeedY,X CODE_01AFED: F6 C2 INC RAM_SpriteState,X CODE_01AFEF: B5 C2 LDA RAM_SpriteState,X CODE_01AFF1: 4A LSR CODE_01AFF2: A9 10 LDA.B #$10 CODE_01AFF4: 90 02 BCC CODE_01AFF8 CODE_01AFF6: A9 F0 LDA.B #$F0 CODE_01AFF8: 95 B6 STA RAM_SpriteSpeedX,X CODE_01AFFA: 80 0A BRA CODE_01B006 CODE_01AFFC: A9 01 LDA.B #$01 CODE_01AFFE: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01B001: A9 40 LDA.B #$40 CODE_01B003: 9D 40 15 STA.W $1540,X CODE_01B006: A9 01 LDA.B #$01 CODE_01B008: 4C F3 9C JMP.W SubSprGfx0Entry0 InitVerticalFish: 20 7C 85 JSR.W FaceMario CODE_01B00E: FE 1C 15 INC.W $151C,X Return01B011: 60 RTS DATA_01B012: .db $10,$F0 InitFish: 20 30 AD JSR.W SubHorizPos CODE_01B017: B9 12 B0 LDA.W DATA_01B012,Y CODE_01B01A: 95 B6 STA RAM_SpriteSpeedX,X Return01B01C: 60 RTS ; Return DATA_01B01D: .db $08,$F8 DATA_01B01F: .db $00,$00,$08,$F8 DATA_01B023: .db $F0,$10 DATA_01B025: .db $E0,$E8,$D0,$D8 DATA_01B029: .db $08,$F8,$10,$F0,$04,$FC,$14,$EC DATA_01B031: .db $03,$0C Fish: BD C8 14 LDA.W $14C8,X CODE_01B036: C9 08 CMP.B #$08 CODE_01B038: D0 04 BNE CODE_01B03E CODE_01B03A: A5 9D LDA RAM_SpritesLocked CODE_01B03C: F0 03 BEQ CODE_01B041 CODE_01B03E: 4C 0A B1 JMP.W CODE_01B10A CODE_01B041: 20 5F 8E JSR.W SetAnimationFrame CODE_01B044: BD 4A 16 LDA.W $164A,X CODE_01B047: D0 5E BNE CODE_01B0A7 CODE_01B049: 20 32 90 JSR.W SubUpdateSprPos CODE_01B04C: 20 08 80 JSR.W IsTouchingObjSide CODE_01B04F: F0 03 BEQ CODE_01B054 CODE_01B051: 20 98 90 JSR.W FlipSpriteDir CODE_01B054: 20 0E 80 JSR.W IsOnGround CODE_01B057: F0 43 BEQ CODE_01B09C CODE_01B059: AD 0E 19 LDA.W $190E CODE_01B05C: F0 04 BEQ CODE_01B062 CODE_01B05E: 22 BC 84 02 JSL.L CODE_0284BC CODE_01B062: 22 F9 AC 01 JSL.L GetRand CODE_01B066: 65 13 ADC RAM_FrameCounter CODE_01B068: 29 07 AND.B #$07 CODE_01B06A: A8 TAY CODE_01B06B: B9 29 B0 LDA.W DATA_01B029,Y CODE_01B06E: 95 B6 STA RAM_SpriteSpeedX,X CODE_01B070: 22 F9 AC 01 JSL.L GetRand CODE_01B074: AD 8E 14 LDA.W RAM_RandomByte2 CODE_01B077: 29 03 AND.B #$03 CODE_01B079: A8 TAY CODE_01B07A: B9 25 B0 LDA.W DATA_01B025,Y CODE_01B07D: 95 AA STA RAM_SpriteSpeedY,X CODE_01B07F: AD 8D 14 LDA.W RAM_RandomByte1 CODE_01B082: 29 40 AND.B #$40 CODE_01B084: D0 08 BNE CODE_01B08E CODE_01B086: BD F6 15 LDA.W RAM_SpritePal,X CODE_01B089: 49 80 EOR.B #$80 CODE_01B08B: 9D F6 15 STA.W RAM_SpritePal,X CODE_01B08E: 22 F9 AC 01 JSL.L GetRand CODE_01B092: AD 8D 14 LDA.W RAM_RandomByte1 CODE_01B095: 29 80 AND.B #$80 CODE_01B097: D0 03 BNE CODE_01B09C CODE_01B099: 20 15 9A JSR.W UpdateDirection CODE_01B09C: BD 02 16 LDA.W $1602,X CODE_01B09F: 18 CLC CODE_01B0A0: 69 02 ADC.B #$02 CODE_01B0A2: 9D 02 16 STA.W $1602,X CODE_01B0A5: 80 43 BRA CODE_01B0EA CODE_01B0A7: 20 40 91 JSR.W CODE_019140 CODE_01B0AA: 20 15 9A JSR.W UpdateDirection CODE_01B0AD: 1E F6 15 ASL.W RAM_SpritePal,X CODE_01B0B0: 5E F6 15 LSR.W RAM_SpritePal,X CODE_01B0B3: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_01B0B6: BC 1C 15 LDY.W $151C,X CODE_01B0B9: 39 31 B0 AND.W DATA_01B031,Y CODE_01B0BC: D0 05 BNE CODE_01B0C3 CODE_01B0BE: BD 40 15 LDA.W $1540,X CODE_01B0C1: D0 07 BNE CODE_01B0CA CODE_01B0C3: A9 80 LDA.B #$80 CODE_01B0C5: 9D 40 15 STA.W $1540,X CODE_01B0C8: F6 C2 INC RAM_SpriteState,X CODE_01B0CA: B5 C2 LDA RAM_SpriteState,X CODE_01B0CC: 29 01 AND.B #$01 CODE_01B0CE: A8 TAY CODE_01B0CF: BD 1C 15 LDA.W $151C,X CODE_01B0D2: F0 02 BEQ CODE_01B0D6 CODE_01B0D4: C8 INY CODE_01B0D5: C8 INY CODE_01B0D6: B9 1D B0 LDA.W DATA_01B01D,Y CODE_01B0D9: 95 B6 STA RAM_SpriteSpeedX,X CODE_01B0DB: B9 1F B0 LDA.W DATA_01B01F,Y CODE_01B0DE: 95 AA STA RAM_SpriteSpeedY,X CODE_01B0E0: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01B0E3: 29 0C AND.B #$0C CODE_01B0E5: D0 03 BNE CODE_01B0EA CODE_01B0E7: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01B0EA: 20 0D A4 JSR.W SubSprSprInteract CODE_01B0ED: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01B0F0: 90 18 BCC CODE_01B10A CODE_01B0F2: BD 4A 16 LDA.W $164A,X CODE_01B0F5: F0 10 BEQ CODE_01B107 CODE_01B0F7: AD 90 14 LDA.W $1490 ; \ Branch if Mario has star CODE_01B0FA: D0 0B BNE CODE_01B107 ; / CODE_01B0FC: AD 7A 18 LDA.W RAM_OnYoshi CODE_01B0FF: D0 09 BNE CODE_01B10A CODE_01B101: 22 B7 F5 00 JSL.L HurtMario CODE_01B105: 80 03 BRA CODE_01B10A CODE_01B107: 20 2A B1 JSR.W CODE_01B12A CODE_01B10A: BD 02 16 LDA.W $1602,X CODE_01B10D: 4A LSR CODE_01B10E: 49 01 EOR.B #$01 CODE_01B110: 85 00 STA $00 CODE_01B112: BD F6 15 LDA.W RAM_SpritePal,X CODE_01B115: 29 FE AND.B #$FE CODE_01B117: 05 00 ORA $00 CODE_01B119: 9D F6 15 STA.W RAM_SpritePal,X CODE_01B11C: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01B11F: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01B122: 5E F6 15 LSR.W RAM_SpritePal,X CODE_01B125: 38 SEC CODE_01B126: 3E F6 15 ROL.W RAM_SpritePal,X Return01B129: 60 RTS ; Return CODE_01B12A: A9 10 LDA.B #$10 CODE_01B12C: 8D 9A 14 STA.W RAM_KickImgTimer CODE_01B12F: A9 03 LDA.B #$03 CODE_01B131: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01B134: 20 30 AD JSR.W SubHorizPos CODE_01B137: B9 23 B0 LDA.W DATA_01B023,Y CODE_01B13A: 95 B6 STA RAM_SpriteSpeedX,X CODE_01B13C: A9 E0 LDA.B #$E0 CODE_01B13E: 95 AA STA RAM_SpriteSpeedY,X CODE_01B140: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_01B142: 9D C8 14 STA.W $14C8,X ; / CODE_01B145: 84 76 STY RAM_MarioDirection CODE_01B147: A9 01 LDA.B #$01 CODE_01B149: 22 E5 AC 02 JSL.L GivePoints Return01B14D: 60 RTS ; Return CODE_01B14E: A5 13 LDA RAM_FrameCounter CODE_01B150: 29 03 AND.B #$03 CODE_01B152: 1D 6C 18 ORA.W RAM_OffscreenVert,X CODE_01B155: 05 9D ORA RAM_SpritesLocked CODE_01B157: D0 38 BNE Return01B191 CODE_01B159: 22 F9 AC 01 JSL.L GetRand CODE_01B15D: 29 0F AND.B #$0F CODE_01B15F: 18 CLC CODE_01B160: A0 00 LDY.B #$00 CODE_01B162: 69 FC ADC.B #$FC CODE_01B164: 10 01 BPL CODE_01B167 CODE_01B166: 88 DEY CODE_01B167: 18 CLC CODE_01B168: 75 E4 ADC RAM_SpriteXLo,X CODE_01B16A: 85 02 STA $02 CODE_01B16C: 98 TYA CODE_01B16D: 7D E0 14 ADC.W RAM_SpriteXHi,X CODE_01B170: 48 PHA CODE_01B171: A5 02 LDA $02 CODE_01B173: C5 1A CMP RAM_ScreenBndryXLo CODE_01B175: 68 PLA CODE_01B176: E5 1B SBC RAM_ScreenBndryXHi CODE_01B178: D0 17 BNE Return01B191 CODE_01B17A: AD 8E 14 LDA.W RAM_RandomByte2 CODE_01B17D: 29 0F AND.B #$0F CODE_01B17F: 18 CLC CODE_01B180: 69 FE ADC.B #$FE CODE_01B182: 75 D8 ADC RAM_SpriteYLo,X CODE_01B184: 85 00 STA $00 CODE_01B186: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01B189: 69 00 ADC.B #$00 CODE_01B18B: 85 01 STA $01 CODE_01B18D: 22 BA 85 02 JSL.L CODE_0285BA Return01B191: 60 RTS ; Return GeneratedFish: 20 09 B2 JSR.W CODE_01B209 CODE_01B195: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01B197: D0 17 BNE Return01B1B0 ; / CODE_01B199: 20 5F 8E JSR.W SetAnimationFrame CODE_01B19C: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01B19F: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01B1A2: 20 40 91 JSR.W CODE_019140 CODE_01B1A5: B5 AA LDA RAM_SpriteSpeedY,X CODE_01B1A7: C9 20 CMP.B #$20 CODE_01B1A9: 10 03 BPL CODE_01B1AE CODE_01B1AB: 18 CLC CODE_01B1AC: 69 01 ADC.B #$01 CODE_01B1AE: 95 AA STA RAM_SpriteSpeedY,X Return01B1B0: 60 RTS ; Return DATA_01B1B1: .db $D0,$D0,$B0 JumpingFish: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01B1B6: D0 51 BNE CODE_01B209 ; / CODE_01B1B8: BD 4A 16 LDA.W $164A,X CODE_01B1BB: 9D 1C 15 STA.W $151C,X CODE_01B1BE: 20 32 90 JSR.W SubUpdateSprPos CODE_01B1C1: BD 4A 16 LDA.W $164A,X CODE_01B1C4: F0 24 BEQ CODE_01B1EA CODE_01B1C6: B5 C2 LDA RAM_SpriteState,X CODE_01B1C8: C9 03 CMP.B #$03 CODE_01B1CA: F0 12 BEQ CODE_01B1DE CODE_01B1CC: F6 C2 INC RAM_SpriteState,X CODE_01B1CE: A8 TAY CODE_01B1CF: B9 B1 B1 LDA.W DATA_01B1B1,Y CODE_01B1D2: 95 AA STA RAM_SpriteSpeedY,X CODE_01B1D4: A9 10 LDA.B #$10 CODE_01B1D6: 9D 40 15 STA.W $1540,X CODE_01B1D9: 9E 4A 16 STZ.W $164A,X CODE_01B1DC: 80 28 BRA CODE_01B206 CODE_01B1DE: D6 AA DEC RAM_SpriteSpeedY,X CODE_01B1E0: A5 13 LDA RAM_FrameCounter CODE_01B1E2: 29 03 AND.B #$03 CODE_01B1E4: D0 02 BNE CODE_01B1E8 CODE_01B1E6: D6 AA DEC RAM_SpriteSpeedY,X CODE_01B1E8: 80 1C BRA CODE_01B206 CODE_01B1EA: FE 70 15 INC.W $1570,X CODE_01B1ED: FE 70 15 INC.W $1570,X CODE_01B1F0: DD 1C 15 CMP.W $151C,X CODE_01B1F3: F0 11 BEQ CODE_01B206 CODE_01B1F5: A9 10 LDA.B #$10 CODE_01B1F7: 9D 40 15 STA.W $1540,X CODE_01B1FA: B5 C2 LDA RAM_SpriteState,X CODE_01B1FC: C9 03 CMP.B #$03 CODE_01B1FE: D0 06 BNE CODE_01B206 CODE_01B200: 74 C2 STZ RAM_SpriteState,X CODE_01B202: A9 D0 LDA.B #$D0 CODE_01B204: 95 AA STA RAM_SpriteSpeedY,X CODE_01B206: 20 5F 8E JSR.W SetAnimationFrame CODE_01B209: 20 C1 8F JSR.W SubSprSpr+MarioSpr CODE_01B20C: 20 15 9A JSR.W UpdateDirection CODE_01B20F: 4C 0A B1 JMP.W CODE_01B10A DATA_01B212: .db $08,$F8,$10,$F0 InitFloatSpkBall: 20 7C 85 JSR.W FaceMario CODE_01B219: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01B21C: B5 E4 LDA RAM_SpriteXLo,X CODE_01B21E: 29 10 AND.B #$10 CODE_01B220: F0 02 BEQ CODE_01B224 CODE_01B222: C8 INY CODE_01B223: C8 INY CODE_01B224: B9 12 B2 LDA.W DATA_01B212,Y CODE_01B227: 95 B6 STA RAM_SpriteSpeedX,X CODE_01B229: 80 0B BRA InitFloatingPlat InitFallingPlat: FE 02 16 INC.W $1602,X InitOrangePlat: AD 0E 19 LDA.W $190E ADDR_01B231: D0 03 BNE InitFloatingPlat ADDR_01B233: F6 C2 INC RAM_SpriteState,X Return01B235: 60 RTS ; Return InitFloatingPlat: A9 03 LDA.B #$03 CODE_01B238: 9D 1C 15 STA.W $151C,X CODE_01B23B: 20 40 91 JSR.W CODE_019140 CODE_01B23E: BD 4A 16 LDA.W $164A,X CODE_01B241: D0 1A BNE Return01B25D CODE_01B243: DE 1C 15 DEC.W $151C,X CODE_01B246: 30 1A BMI CODE_01B262 CODE_01B248: B5 D8 LDA RAM_SpriteYLo,X CODE_01B24A: 18 CLC CODE_01B24B: 69 08 ADC.B #$08 CODE_01B24D: 95 D8 STA RAM_SpriteYLo,X CODE_01B24F: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01B252: 69 00 ADC.B #$00 CODE_01B254: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01B257: C9 02 CMP.B #$02 CODE_01B259: B0 02 BCS Return01B25D CODE_01B25B: 80 DE BRA CODE_01B23B Return01B25D: 60 RTS InitChckbrdPlat: FE 02 16 INC.W $1602,X Return01B261: 60 RTS ; Return CODE_01B262: A9 01 LDA.B #$01 ; \ Sprite status = Initialization CODE_01B264: 9D C8 14 STA.W $14C8,X ; / Return01B267: 60 RTS DATA_01B268: .db $FF,$01 DATA_01B26A: .db $F0,$10 Platforms: 20 D1 B2 JSR.W CODE_01B2D1 CODE_01B26F: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01B271: D0 4F BNE Return01B2C2 ; / CODE_01B273: BD 40 15 LDA.W $1540,X CODE_01B276: D0 2D BNE CODE_01B2A5 CODE_01B278: F6 C2 INC RAM_SpriteState,X CODE_01B27A: B5 C2 LDA RAM_SpriteState,X CODE_01B27C: 29 03 AND.B #$03 CODE_01B27E: D0 25 BNE CODE_01B2A5 CODE_01B280: BD 1C 15 LDA.W $151C,X CODE_01B283: 29 01 AND.B #$01 CODE_01B285: A8 TAY CODE_01B286: B5 AA LDA RAM_SpriteSpeedY,X CODE_01B288: 18 CLC CODE_01B289: 79 68 B2 ADC.W DATA_01B268,Y CODE_01B28C: 95 AA STA RAM_SpriteSpeedY,X CODE_01B28E: 95 B6 STA RAM_SpriteSpeedX,X CODE_01B290: D9 6A B2 CMP.W DATA_01B26A,Y CODE_01B293: D0 10 BNE CODE_01B2A5 CODE_01B295: FE 1C 15 INC.W $151C,X CODE_01B298: A9 18 LDA.B #$18 CODE_01B29A: B4 9E LDY RAM_SpriteNum,X CODE_01B29C: C0 55 CPY.B #$55 CODE_01B29E: D0 02 BNE CODE_01B2A2 CODE_01B2A0: A9 08 LDA.B #$08 CODE_01B2A2: 9D 40 15 STA.W $1540,X CODE_01B2A5: B5 9E LDA RAM_SpriteNum,X CODE_01B2A7: C9 57 CMP.B #$57 CODE_01B2A9: B0 05 BCS CODE_01B2B0 CODE_01B2AB: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01B2AE: 80 06 BRA CODE_01B2B6 CODE_01B2B0: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01B2B3: 9C 91 14 STZ.W $1491 CODE_01B2B6: AD 91 14 LDA.W $1491 CODE_01B2B9: 9D 28 15 STA.W $1528,X CODE_01B2BC: 20 57 B4 JSR.W CODE_01B457 CODE_01B2BF: 20 2B AC JSR.W SubOffscreen1Bnk1 Return01B2C2: 60 RTS ; Return DATA_01B2C3: .db $00,$01,$00,$01,$00,$00,$00,$00 .db $01,$01,$00,$00,$00,$00 CODE_01B2D1: B5 9E LDA RAM_SpriteNum,X CODE_01B2D3: 38 SEC CODE_01B2D4: E9 55 SBC.B #$55 CODE_01B2D6: A8 TAY CODE_01B2D7: B9 C3 B2 LDA.W DATA_01B2C3,Y CODE_01B2DA: F0 03 BEQ CODE_01B2DF CODE_01B2DC: 4C 95 B3 JMP.W CODE_01B395 CODE_01B2DF: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01B2E2: BD 02 16 LDA.W $1602,X CODE_01B2E5: 85 01 STA $01 CODE_01B2E7: B5 D8 LDA RAM_SpriteYLo,X CODE_01B2E9: 38 SEC CODE_01B2EA: E5 1C SBC RAM_ScreenBndryYLo CODE_01B2EC: 99 01 03 STA.W OAM_DispY,Y CODE_01B2EF: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01B2F2: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_01B2F5: A6 01 LDX $01 CODE_01B2F7: F0 06 BEQ CODE_01B2FF CODE_01B2F9: 99 0D 03 STA.W OAM_Tile4DispY,Y CODE_01B2FC: 99 11 03 STA.W $0311,Y CODE_01B2FF: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01B302: B5 E4 LDA RAM_SpriteXLo,X CODE_01B304: 38 SEC CODE_01B305: E5 1A SBC RAM_ScreenBndryXLo CODE_01B307: 99 00 03 STA.W OAM_DispX,Y CODE_01B30A: 18 CLC CODE_01B30B: 69 10 ADC.B #$10 CODE_01B30D: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_01B310: 18 CLC CODE_01B311: 69 10 ADC.B #$10 CODE_01B313: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_01B316: A6 01 LDX $01 CODE_01B318: F0 0C BEQ CODE_01B326 CODE_01B31A: 18 CLC CODE_01B31B: 69 10 ADC.B #$10 CODE_01B31D: 99 0C 03 STA.W OAM_Tile4DispX,Y CODE_01B320: 18 CLC CODE_01B321: 69 10 ADC.B #$10 CODE_01B323: 99 10 03 STA.W $0310,Y CODE_01B326: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01B329: A5 01 LDA $01 CODE_01B32B: F0 17 BEQ CODE_01B344 CODE_01B32D: A9 EA LDA.B #$EA CODE_01B32F: 99 02 03 STA.W OAM_Tile,Y CODE_01B332: A9 EB LDA.B #$EB CODE_01B334: 99 06 03 STA.W OAM_Tile2,Y CODE_01B337: 99 0A 03 STA.W OAM_Tile3,Y CODE_01B33A: 99 0E 03 STA.W OAM_Tile4,Y CODE_01B33D: A9 EC LDA.B #$EC CODE_01B33F: 99 12 03 STA.W $0312,Y CODE_01B342: 80 15 BRA CODE_01B359 CODE_01B344: A9 60 LDA.B #$60 CODE_01B346: 99 02 03 STA.W OAM_Tile,Y CODE_01B349: A9 61 LDA.B #$61 CODE_01B34B: 99 06 03 STA.W OAM_Tile2,Y CODE_01B34E: 99 0A 03 STA.W OAM_Tile3,Y CODE_01B351: 99 0E 03 STA.W OAM_Tile4,Y CODE_01B354: A9 62 LDA.B #$62 CODE_01B356: 99 12 03 STA.W $0312,Y CODE_01B359: A5 64 LDA $64 CODE_01B35B: 1D F6 15 ORA.W RAM_SpritePal,X CODE_01B35E: 99 03 03 STA.W OAM_Prop,Y CODE_01B361: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_01B364: 99 0B 03 STA.W OAM_Tile3Prop,Y CODE_01B367: 99 0F 03 STA.W OAM_Tile4Prop,Y CODE_01B36A: 99 13 03 STA.W $0313,Y CODE_01B36D: A5 01 LDA $01 CODE_01B36F: D0 05 BNE CODE_01B376 CODE_01B371: A9 62 LDA.B #$62 CODE_01B373: 99 0A 03 STA.W OAM_Tile3,Y CODE_01B376: A9 04 LDA.B #$04 CODE_01B378: A4 01 LDY $01 CODE_01B37A: D0 02 BNE CODE_01B37E CODE_01B37C: A9 02 LDA.B #$02 CODE_01B37E: A0 02 LDY.B #$02 CODE_01B380: 4C BB B7 JMP.W FinishOAMWriteRt DiagPlatTiles: .db $CB,$E4,$CC,$E5,$CC,$E5,$CC,$E4 .db $CB FlyRockPlatTiles: .db $85,$88,$86,$89,$86,$89,$86,$88 .db $85 CODE_01B395: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01B398: 5A PHY CODE_01B399: A0 00 LDY.B #$00 CODE_01B39B: B5 9E LDA RAM_SpriteNum,X CODE_01B39D: C9 5E CMP.B #$5E CODE_01B39F: D0 01 BNE CODE_01B3A2 ADDR_01B3A1: C8 INY CODE_01B3A2: 84 00 STY $00 CODE_01B3A4: 7A PLY CODE_01B3A5: B5 D8 LDA RAM_SpriteYLo,X CODE_01B3A7: 38 SEC CODE_01B3A8: E5 1C SBC RAM_ScreenBndryYLo CODE_01B3AA: 99 01 03 STA.W OAM_DispY,Y CODE_01B3AD: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_01B3B0: 99 11 03 STA.W $0311,Y CODE_01B3B3: A6 00 LDX $00 CODE_01B3B5: F0 06 BEQ CODE_01B3BD ADDR_01B3B7: 99 19 03 STA.W $0319,Y ADDR_01B3BA: 99 21 03 STA.W $0321,Y CODE_01B3BD: 18 CLC CODE_01B3BE: 69 10 ADC.B #$10 CODE_01B3C0: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01B3C3: 99 0D 03 STA.W OAM_Tile4DispY,Y CODE_01B3C6: A6 00 LDX $00 CODE_01B3C8: F0 06 BEQ CODE_01B3D0 ADDR_01B3CA: 99 15 03 STA.W $0315,Y ADDR_01B3CD: 99 1D 03 STA.W $031D,Y CODE_01B3D0: A9 08 LDA.B #$08 CODE_01B3D2: A6 00 LDX $00 CODE_01B3D4: D0 02 BNE CODE_01B3D8 CODE_01B3D6: A9 04 LDA.B #$04 CODE_01B3D8: 85 01 STA $01 CODE_01B3DA: 3A DEC A CODE_01B3DB: 85 02 STA $02 CODE_01B3DD: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01B3E0: BD F6 15 LDA.W RAM_SpritePal,X CODE_01B3E3: 85 03 STA $03 CODE_01B3E5: B5 9E LDA RAM_SpriteNum,X CODE_01B3E7: C9 5B CMP.B #$5B CODE_01B3E9: A9 00 LDA.B #$00 CODE_01B3EB: B0 02 BCS CODE_01B3EF ADDR_01B3ED: A9 09 LDA.B #$09 CODE_01B3EF: 48 PHA CODE_01B3F0: B5 E4 LDA RAM_SpriteXLo,X CODE_01B3F2: 38 SEC CODE_01B3F3: E5 1A SBC RAM_ScreenBndryXLo CODE_01B3F5: FA PLX CODE_01B3F6: 99 00 03 STA.W OAM_DispX,Y CODE_01B3F9: 18 CLC CODE_01B3FA: 69 08 ADC.B #$08 CODE_01B3FC: 48 PHA CODE_01B3FD: BD 83 B3 LDA.W DiagPlatTiles,X CODE_01B400: 99 02 03 STA.W OAM_Tile,Y CODE_01B403: A5 64 LDA $64 CODE_01B405: 05 03 ORA $03 CODE_01B407: DA PHX CODE_01B408: A6 01 LDX $01 CODE_01B40A: E4 02 CPX $02 CODE_01B40C: FA PLX CODE_01B40D: B0 02 BCS CODE_01B411 CODE_01B40F: 09 40 ORA.B #$40 CODE_01B411: 99 03 03 STA.W OAM_Prop,Y CODE_01B414: 68 PLA CODE_01B415: C8 INY CODE_01B416: C8 INY CODE_01B417: C8 INY CODE_01B418: C8 INY CODE_01B419: E8 INX CODE_01B41A: C6 01 DEC $01 CODE_01B41C: 10 D8 BPL CODE_01B3F6 CODE_01B41E: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01B421: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01B424: A5 00 LDA $00 CODE_01B426: D0 1C BNE CODE_01B444 CODE_01B428: B5 9E LDA RAM_SpriteNum,X CODE_01B42A: C9 5B CMP.B #$5B CODE_01B42C: B0 0C BCS CODE_01B43A ADDR_01B42E: A9 85 LDA.B #$85 ADDR_01B430: 99 12 03 STA.W $0312,Y ADDR_01B433: A9 88 LDA.B #$88 ADDR_01B435: 99 0E 03 STA.W OAM_Tile4,Y ADDR_01B438: 80 0A BRA CODE_01B444 CODE_01B43A: A9 CB LDA.B #$CB CODE_01B43C: 99 12 03 STA.W $0312,Y CODE_01B43F: A9 E4 LDA.B #$E4 CODE_01B441: 99 0E 03 STA.W OAM_Tile4,Y CODE_01B444: A9 08 LDA.B #$08 CODE_01B446: A4 00 LDY $00 CODE_01B448: D0 02 BNE CODE_01B44C CODE_01B44A: A9 04 LDA.B #$04 CODE_01B44C: 4C 7E B3 JMP.W CODE_01B37E InvisBlkMainRt: 8B PHB CODE_01B450: 4B PHK CODE_01B451: AB PLB CODE_01B452: 20 57 B4 JSR.W CODE_01B457 CODE_01B455: AB PLB Return01B456: 6B RTL ; Return CODE_01B457: 20 F7 A7 JSR.W ProcessInteract CODE_01B45A: 90 56 BCC CODE_01B4B2 CODE_01B45C: B5 D8 LDA RAM_SpriteYLo,X CODE_01B45E: 38 SEC CODE_01B45F: E5 1C SBC RAM_ScreenBndryYLo CODE_01B461: 85 00 STA $00 CODE_01B463: A5 80 LDA $80 CODE_01B465: 18 CLC CODE_01B466: 69 18 ADC.B #$18 CODE_01B468: C5 00 CMP $00 CODE_01B46A: 10 48 BPL CODE_01B4B4 CODE_01B46C: A5 7D LDA RAM_MarioSpeedY CODE_01B46E: 30 42 BMI CODE_01B4B2 CODE_01B470: A5 77 LDA RAM_MarioObjStatus CODE_01B472: 29 08 AND.B #$08 CODE_01B474: D0 3C BNE CODE_01B4B2 CODE_01B476: A9 10 LDA.B #$10 CODE_01B478: 85 7D STA RAM_MarioSpeedY CODE_01B47A: A9 01 LDA.B #$01 CODE_01B47C: 8D 71 14 STA.W $1471 CODE_01B47F: A9 1F LDA.B #$1F CODE_01B481: AC 7A 18 LDY.W RAM_OnYoshi CODE_01B484: F0 02 BEQ CODE_01B488 CODE_01B486: A9 2F LDA.B #$2F CODE_01B488: 85 01 STA $01 CODE_01B48A: B5 D8 LDA RAM_SpriteYLo,X CODE_01B48C: 38 SEC CODE_01B48D: E5 01 SBC $01 CODE_01B48F: 85 96 STA RAM_MarioYPos CODE_01B491: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01B494: E9 00 SBC.B #$00 CODE_01B496: 85 97 STA RAM_MarioYPosHi CODE_01B498: A5 77 LDA RAM_MarioObjStatus CODE_01B49A: 29 03 AND.B #$03 CODE_01B49C: D0 12 BNE CODE_01B4B0 CODE_01B49E: A0 00 LDY.B #$00 CODE_01B4A0: BD 28 15 LDA.W $1528,X CODE_01B4A3: 10 01 BPL CODE_01B4A6 CODE_01B4A5: 88 DEY CODE_01B4A6: 18 CLC CODE_01B4A7: 65 94 ADC RAM_MarioXPos CODE_01B4A9: 85 94 STA RAM_MarioXPos CODE_01B4AB: 98 TYA CODE_01B4AC: 65 95 ADC RAM_MarioXPosHi CODE_01B4AE: 85 95 STA RAM_MarioXPosHi CODE_01B4B0: 38 SEC Return01B4B1: 60 RTS ; Return CODE_01B4B2: 18 CLC Return01B4B3: 60 RTS ; Return CODE_01B4B4: BD 0F 19 LDA.W RAM_Tweaker190F,X ; \ Branch if "Make Platform Passable" is set CODE_01B4B7: 4A LSR ; | CODE_01B4B8: B0 F8 BCS CODE_01B4B2 ; / CODE_01B4BA: A9 00 LDA.B #$00 CODE_01B4BC: A4 73 LDY RAM_IsDucking CODE_01B4BE: D0 04 BNE CODE_01B4C4 CODE_01B4C0: A4 19 LDY RAM_MarioPowerUp CODE_01B4C2: D0 02 BNE CODE_01B4C6 CODE_01B4C4: A9 08 LDA.B #$08 CODE_01B4C6: AC 7A 18 LDY.W RAM_OnYoshi CODE_01B4C9: F0 02 BEQ CODE_01B4CD CODE_01B4CB: 69 08 ADC.B #$08 CODE_01B4CD: 18 CLC CODE_01B4CE: 65 80 ADC $80 CODE_01B4D0: C5 00 CMP $00 CODE_01B4D2: 90 31 BCC CODE_01B505 CODE_01B4D4: A5 7D LDA RAM_MarioSpeedY CODE_01B4D6: 10 1F BPL CODE_01B4F7 CODE_01B4D8: A9 10 LDA.B #$10 CODE_01B4DA: 85 7D STA RAM_MarioSpeedY CODE_01B4DC: B5 9E LDA RAM_SpriteNum,X CODE_01B4DE: C9 83 CMP.B #$83 CODE_01B4E0: 90 10 BCC CODE_01B4F2 CODE_01B4E2: A9 0F LDA.B #$0F CODE_01B4E4: 9D 64 15 STA.W $1564,X CODE_01B4E7: B5 C2 LDA RAM_SpriteState,X CODE_01B4E9: D0 07 BNE CODE_01B4F2 CODE_01B4EB: F6 C2 INC RAM_SpriteState,X CODE_01B4ED: A9 10 LDA.B #$10 CODE_01B4EF: 9D 58 15 STA.W $1558,X CODE_01B4F2: A9 01 LDA.B #$01 CODE_01B4F4: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_01B4F7: 18 CLC Return01B4F8: 60 RTS ; Return DATA_01B4F9: .db $0E,$F1,$10,$E0,$1F,$F1 DATA_01B4FF: .db $00,$FF,$00,$FF,$00,$FF CODE_01B505: 20 30 AD JSR.W SubHorizPos CODE_01B508: B5 9E LDA RAM_SpriteNum,X CODE_01B50A: C9 A9 CMP.B #$A9 CODE_01B50C: F0 12 BEQ CODE_01B520 CODE_01B50E: C9 9C CMP.B #$9C CODE_01B510: F0 0C BEQ CODE_01B51E CODE_01B512: C9 BB CMP.B #$BB CODE_01B514: F0 08 BEQ CODE_01B51E CODE_01B516: C9 60 CMP.B #$60 CODE_01B518: F0 04 BEQ CODE_01B51E CODE_01B51A: C9 49 CMP.B #$49 CODE_01B51C: D0 04 BNE CODE_01B522 CODE_01B51E: C8 INY CODE_01B51F: C8 INY CODE_01B520: C8 INY CODE_01B521: C8 INY CODE_01B522: B9 F9 B4 LDA.W DATA_01B4F9,Y CODE_01B525: 18 CLC CODE_01B526: 75 E4 ADC RAM_SpriteXLo,X CODE_01B528: 85 94 STA RAM_MarioXPos CODE_01B52A: B9 FF B4 LDA.W DATA_01B4FF,Y CODE_01B52D: 7D E0 14 ADC.W RAM_SpriteXHi,X CODE_01B530: 85 95 STA RAM_MarioXPosHi CODE_01B532: 64 7B STZ RAM_MarioSpeedX CODE_01B534: 18 CLC Return01B535: 60 RTS ; Return OrangePlatform: B5 C2 LDA RAM_SpriteState,X ADDR_01B538: F0 29 BEQ Platforms2 ADDR_01B53A: 20 D1 B2 JSR.W CODE_01B2D1 ADDR_01B53D: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked ADDR_01B53F: D0 17 BNE Return01B558 ; / ADDR_01B541: 20 CC AB JSR.W SubSprXPosNoGrvty ADDR_01B544: AD 91 14 LDA.W $1491 ADDR_01B547: 9D 28 15 STA.W $1528,X ADDR_01B54A: 20 57 B4 JSR.W CODE_01B457 ADDR_01B54D: 90 09 BCC Return01B558 ADDR_01B54F: A9 01 LDA.B #$01 ADDR_01B551: 8D 9A 1B STA.W $1B9A ADDR_01B554: A9 08 LDA.B #$08 ADDR_01B556: 95 B6 STA RAM_SpriteSpeedX,X Return01B558: 60 RTS ; Return FloatingSpikeBall: BD C8 14 LDA.W $14C8,X CODE_01B55C: C9 08 CMP.B #$08 CODE_01B55E: F0 03 BEQ Platforms2 CODE_01B560: 4C 66 B6 JMP.W CODE_01B666 Platforms2: A5 9D LDA RAM_SpritesLocked CODE_01B565: F0 03 BEQ CODE_01B56A CODE_01B567: 4C 4E B6 JMP.W CODE_01B64E CODE_01B56A: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_01B56D: 29 0C AND.B #$0C CODE_01B56F: D0 03 BNE CODE_01B574 CODE_01B571: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01B574: 9C 91 14 STZ.W $1491 CODE_01B577: B5 9E LDA RAM_SpriteNum,X CODE_01B579: C9 A4 CMP.B #$A4 CODE_01B57B: D0 03 BNE CODE_01B580 CODE_01B57D: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01B580: B5 AA LDA RAM_SpriteSpeedY,X CODE_01B582: C9 40 CMP.B #$40 CODE_01B584: 10 02 BPL CODE_01B588 CODE_01B586: F6 AA INC RAM_SpriteSpeedY,X CODE_01B588: BD 4A 16 LDA.W $164A,X CODE_01B58B: F0 19 BEQ CODE_01B5A6 CODE_01B58D: A0 F8 LDY.B #$F8 CODE_01B58F: B5 9E LDA RAM_SpriteNum,X CODE_01B591: C9 5D CMP.B #$5D CODE_01B593: 90 02 BCC CODE_01B597 CODE_01B595: A0 FC LDY.B #$FC CODE_01B597: 84 00 STY $00 CODE_01B599: B5 AA LDA RAM_SpriteSpeedY,X CODE_01B59B: 10 04 BPL CODE_01B5A1 CODE_01B59D: C5 00 CMP $00 CODE_01B59F: 90 05 BCC CODE_01B5A6 CODE_01B5A1: 38 SEC CODE_01B5A2: E9 02 SBC.B #$02 CODE_01B5A4: 95 AA STA RAM_SpriteSpeedY,X CODE_01B5A6: A5 7D LDA RAM_MarioSpeedY CODE_01B5A8: 48 PHA CODE_01B5A9: B5 9E LDA RAM_SpriteNum,X CODE_01B5AB: C9 A4 CMP.B #$A4 CODE_01B5AD: D0 06 BNE CODE_01B5B5 CODE_01B5AF: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01B5B2: 18 CLC CODE_01B5B3: 80 03 BRA CODE_01B5B8 CODE_01B5B5: 20 57 B4 JSR.W CODE_01B457 CODE_01B5B8: 68 PLA CODE_01B5B9: 85 00 STA $00 CODE_01B5BB: 9C 5E 18 STZ.W $185E CODE_01B5BE: 90 27 BCC CODE_01B5E7 CODE_01B5C0: B5 9E LDA RAM_SpriteNum,X CODE_01B5C2: C9 5D CMP.B #$5D CODE_01B5C4: 90 14 BCC CODE_01B5DA CODE_01B5C6: A0 03 LDY.B #$03 CODE_01B5C8: A5 19 LDA RAM_MarioPowerUp CODE_01B5CA: D0 01 BNE CODE_01B5CD ADDR_01B5CC: 88 DEY CODE_01B5CD: 84 00 STY $00 CODE_01B5CF: B5 AA LDA RAM_SpriteSpeedY,X CODE_01B5D1: C5 00 CMP $00 CODE_01B5D3: 10 05 BPL CODE_01B5DA CODE_01B5D5: 18 CLC CODE_01B5D6: 69 02 ADC.B #$02 CODE_01B5D8: 95 AA STA RAM_SpriteSpeedY,X CODE_01B5DA: EE 5E 18 INC.W $185E CODE_01B5DD: A5 00 LDA $00 CODE_01B5DF: C9 20 CMP.B #$20 CODE_01B5E1: 90 04 BCC CODE_01B5E7 CODE_01B5E3: 4A LSR CODE_01B5E4: 4A LSR CODE_01B5E5: 95 AA STA RAM_SpriteSpeedY,X CODE_01B5E7: AD 5E 18 LDA.W $185E CODE_01B5EA: DD 1C 15 CMP.W $151C,X CODE_01B5ED: 9D 1C 15 STA.W $151C,X CODE_01B5F0: F0 1E BEQ CODE_01B610 CODE_01B5F2: AD 5E 18 LDA.W $185E CODE_01B5F5: D0 19 BNE CODE_01B610 CODE_01B5F7: A5 7D LDA RAM_MarioSpeedY CODE_01B5F9: 10 15 BPL CODE_01B610 CODE_01B5FB: A0 08 LDY.B #$08 CODE_01B5FD: A5 19 LDA RAM_MarioPowerUp CODE_01B5FF: D0 02 BNE CODE_01B603 CODE_01B601: A0 06 LDY.B #$06 CODE_01B603: 84 00 STY $00 CODE_01B605: B5 AA LDA RAM_SpriteSpeedY,X CODE_01B607: C9 20 CMP.B #$20 CODE_01B609: 10 05 BPL CODE_01B610 CODE_01B60B: 18 CLC CODE_01B60C: 65 00 ADC $00 CODE_01B60E: 95 AA STA RAM_SpriteSpeedY,X CODE_01B610: A9 01 LDA.B #$01 CODE_01B612: 25 13 AND RAM_FrameCounter CODE_01B614: D0 38 BNE CODE_01B64E CODE_01B616: B5 AA LDA RAM_SpriteSpeedY,X CODE_01B618: F0 0A BEQ CODE_01B624 CODE_01B61A: 10 03 BPL CODE_01B61F CODE_01B61C: 18 CLC CODE_01B61D: 69 02 ADC.B #$02 CODE_01B61F: 38 SEC CODE_01B620: E9 01 SBC.B #$01 CODE_01B622: 95 AA STA RAM_SpriteSpeedY,X CODE_01B624: AC 5E 18 LDY.W $185E CODE_01B627: F0 08 BEQ CODE_01B631 CODE_01B629: A0 05 LDY.B #$05 CODE_01B62B: A5 19 LDA RAM_MarioPowerUp CODE_01B62D: D0 02 BNE CODE_01B631 ADDR_01B62F: A0 02 LDY.B #$02 CODE_01B631: 84 00 STY $00 CODE_01B633: B5 D8 LDA RAM_SpriteYLo,X CODE_01B635: 48 PHA CODE_01B636: 38 SEC CODE_01B637: E5 00 SBC $00 CODE_01B639: 95 D8 STA RAM_SpriteYLo,X CODE_01B63B: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01B63E: 48 PHA CODE_01B63F: E9 00 SBC.B #$00 CODE_01B641: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01B644: 20 40 91 JSR.W CODE_019140 CODE_01B647: 68 PLA CODE_01B648: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01B64B: 68 PLA CODE_01B64C: 95 D8 STA RAM_SpriteYLo,X CODE_01B64E: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01B651: B5 9E LDA RAM_SpriteNum,X CODE_01B653: C9 A4 CMP.B #$A4 CODE_01B655: F0 0F BEQ CODE_01B666 CODE_01B657: 4C D1 B2 JMP.W CODE_01B2D1 DATA_01B65A: .db $F8,$08,$F8,$08 DATA_01B65E: .db $F8,$F8,$08,$08 FloatMineGfxProp: .db $31,$71,$A1,$F1 CODE_01B666: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01B669: DA PHX CODE_01B66A: A2 03 LDX.B #$03 CODE_01B66C: A5 00 LDA $00 CODE_01B66E: 18 CLC CODE_01B66F: 7D 5A B6 ADC.W DATA_01B65A,X CODE_01B672: 99 00 03 STA.W OAM_DispX,Y CODE_01B675: A5 01 LDA $01 CODE_01B677: 18 CLC CODE_01B678: 7D 5E B6 ADC.W DATA_01B65E,X CODE_01B67B: 99 01 03 STA.W OAM_DispY,Y CODE_01B67E: A5 14 LDA RAM_FrameCounterB CODE_01B680: 4A LSR CODE_01B681: 4A LSR CODE_01B682: 29 04 AND.B #$04 CODE_01B684: 4A LSR CODE_01B685: 69 AA ADC.B #$AA CODE_01B687: 99 02 03 STA.W OAM_Tile,Y CODE_01B68A: BD 62 B6 LDA.W FloatMineGfxProp,X CODE_01B68D: 99 03 03 STA.W OAM_Prop,Y CODE_01B690: C8 INY CODE_01B691: C8 INY CODE_01B692: C8 INY CODE_01B693: C8 INY CODE_01B694: CA DEX CODE_01B695: 10 D5 BPL CODE_01B66C CODE_01B697: FA PLX CODE_01B698: A0 02 LDY.B #$02 CODE_01B69A: A9 03 LDA.B #$03 CODE_01B69C: 4C BB B7 JMP.W FinishOAMWriteRt BlkBridgeLength: .db $20,$00 TurnBlkBridgeSpeed: .db $01,$FF BlkBridgeTiming: .db $40,$40 TurnBlockBridge: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01B6A8: 20 10 B7 JSR.W CODE_01B710 CODE_01B6AB: 20 52 B8 JSR.W CODE_01B852 CODE_01B6AE: 20 B2 B6 JSR.W CODE_01B6B2 Return01B6B1: 60 RTS ; Return CODE_01B6B2: B5 C2 LDA RAM_SpriteState,X CODE_01B6B4: 29 01 AND.B #$01 CODE_01B6B6: A8 TAY CODE_01B6B7: BD 1C 15 LDA.W $151C,X CODE_01B6BA: D9 9F B6 CMP.W BlkBridgeLength,Y CODE_01B6BD: F0 12 BEQ CODE_01B6D1 CODE_01B6BF: BD 40 15 LDA.W $1540,X CODE_01B6C2: 05 9D ORA RAM_SpritesLocked CODE_01B6C4: D0 0A BNE Return01B6D0 CODE_01B6C6: BD 1C 15 LDA.W $151C,X CODE_01B6C9: 18 CLC CODE_01B6CA: 79 A1 B6 ADC.W TurnBlkBridgeSpeed,Y CODE_01B6CD: 9D 1C 15 STA.W $151C,X Return01B6D0: 60 RTS ; Return CODE_01B6D1: B9 A3 B6 LDA.W BlkBridgeTiming,Y CODE_01B6D4: 9D 40 15 STA.W $1540,X CODE_01B6D7: F6 C2 INC RAM_SpriteState,X Return01B6D9: 60 RTS ; Return HorzTurnBlkBridge: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01B6DD: 20 10 B7 JSR.W CODE_01B710 CODE_01B6E0: 20 52 B8 JSR.W CODE_01B852 CODE_01B6E3: 20 E7 B6 JSR.W CODE_01B6E7 Return01B6E6: 60 RTS ; Return CODE_01B6E7: B4 C2 LDY RAM_SpriteState,X CODE_01B6E9: BD 1C 15 LDA.W $151C,X CODE_01B6EC: D9 9F B6 CMP.W BlkBridgeLength,Y CODE_01B6EF: F0 12 BEQ CODE_01B703 CODE_01B6F1: BD 40 15 LDA.W $1540,X CODE_01B6F4: 05 9D ORA RAM_SpritesLocked CODE_01B6F6: D0 0A BNE Return01B702 CODE_01B6F8: BD 1C 15 LDA.W $151C,X CODE_01B6FB: 18 CLC CODE_01B6FC: 79 A1 B6 ADC.W TurnBlkBridgeSpeed,Y CODE_01B6FF: 9D 1C 15 STA.W $151C,X Return01B702: 60 RTS ; Return CODE_01B703: B9 A3 B6 LDA.W BlkBridgeTiming,Y CODE_01B706: 9D 40 15 STA.W $1540,X CODE_01B709: B5 C2 LDA RAM_SpriteState,X CODE_01B70B: 49 01 EOR.B #$01 CODE_01B70D: 95 C2 STA RAM_SpriteState,X Return01B70F: 60 RTS ; Return CODE_01B710: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01B713: 64 00 STZ $00 CODE_01B715: 64 01 STZ $01 CODE_01B717: 64 02 STZ $02 CODE_01B719: 64 03 STZ $03 CODE_01B71B: B5 C2 LDA RAM_SpriteState,X CODE_01B71D: 29 02 AND.B #$02 CODE_01B71F: A8 TAY CODE_01B720: BD 1C 15 LDA.W $151C,X CODE_01B723: 99 00 00 STA.W $0000,Y CODE_01B726: 4A LSR CODE_01B727: 99 01 00 STA.W $0001,Y CODE_01B72A: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01B72D: B5 D8 LDA RAM_SpriteYLo,X CODE_01B72F: 38 SEC CODE_01B730: E5 1C SBC RAM_ScreenBndryYLo CODE_01B732: 99 11 03 STA.W $0311,Y CODE_01B735: 48 PHA CODE_01B736: 48 PHA CODE_01B737: 48 PHA CODE_01B738: 38 SEC CODE_01B739: E5 02 SBC $02 CODE_01B73B: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_01B73E: 68 PLA CODE_01B73F: 38 SEC CODE_01B740: E5 03 SBC $03 CODE_01B742: 99 0D 03 STA.W OAM_Tile4DispY,Y CODE_01B745: 68 PLA CODE_01B746: 18 CLC CODE_01B747: 65 02 ADC $02 CODE_01B749: 99 01 03 STA.W OAM_DispY,Y CODE_01B74C: 68 PLA CODE_01B74D: 18 CLC CODE_01B74E: 65 03 ADC $03 CODE_01B750: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01B753: B5 E4 LDA RAM_SpriteXLo,X CODE_01B755: 38 SEC CODE_01B756: E5 1A SBC RAM_ScreenBndryXLo CODE_01B758: 99 10 03 STA.W $0310,Y CODE_01B75B: 48 PHA CODE_01B75C: 48 PHA CODE_01B75D: 48 PHA CODE_01B75E: 38 SEC CODE_01B75F: E5 00 SBC $00 CODE_01B761: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_01B764: 68 PLA CODE_01B765: 38 SEC CODE_01B766: E5 01 SBC $01 CODE_01B768: 99 0C 03 STA.W OAM_Tile4DispX,Y CODE_01B76B: 68 PLA CODE_01B76C: 18 CLC CODE_01B76D: 65 00 ADC $00 CODE_01B76F: 99 00 03 STA.W OAM_DispX,Y CODE_01B772: 68 PLA CODE_01B773: 18 CLC CODE_01B774: 65 01 ADC $01 CODE_01B776: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_01B779: B5 C2 LDA RAM_SpriteState,X CODE_01B77B: 4A LSR CODE_01B77C: 4A LSR CODE_01B77D: A9 40 LDA.B #$40 CODE_01B77F: 99 06 03 STA.W OAM_Tile2,Y CODE_01B782: 99 0E 03 STA.W OAM_Tile4,Y CODE_01B785: 99 12 03 STA.W $0312,Y CODE_01B788: 99 0A 03 STA.W OAM_Tile3,Y CODE_01B78B: 99 02 03 STA.W OAM_Tile,Y CODE_01B78E: A5 64 LDA $64 CODE_01B790: 99 0F 03 STA.W OAM_Tile4Prop,Y CODE_01B793: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_01B796: 99 0B 03 STA.W OAM_Tile3Prop,Y CODE_01B799: 99 13 03 STA.W $0313,Y CODE_01B79C: 09 60 ORA.B #$60 CODE_01B79E: 99 03 03 STA.W OAM_Prop,Y CODE_01B7A1: A5 00 LDA $00 CODE_01B7A3: 48 PHA CODE_01B7A4: A5 02 LDA $02 CODE_01B7A6: 48 PHA CODE_01B7A7: A9 04 LDA.B #$04 CODE_01B7A9: 20 7E B3 JSR.W CODE_01B37E CODE_01B7AC: 68 PLA CODE_01B7AD: 85 02 STA $02 CODE_01B7AF: 68 PLA CODE_01B7B0: 85 00 STA $00 Return01B7B2: 60 RTS ; Return FinishOAMWrite: 8B PHB ; Wrapper CODE_01B7B4: 4B PHK CODE_01B7B5: AB PLB CODE_01B7B6: 20 BB B7 JSR.W FinishOAMWriteRt CODE_01B7B9: AB PLB Return01B7BA: 6B RTL ; Return FinishOAMWriteRt: 84 0B STY $0B CODE_01B7BD: 85 08 STA $08 CODE_01B7BF: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01B7C2: B5 D8 LDA RAM_SpriteYLo,X CODE_01B7C4: 85 00 STA $00 CODE_01B7C6: 38 SEC CODE_01B7C7: E5 1C SBC RAM_ScreenBndryYLo CODE_01B7C9: 85 06 STA $06 CODE_01B7CB: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01B7CE: 85 01 STA $01 CODE_01B7D0: B5 E4 LDA RAM_SpriteXLo,X CODE_01B7D2: 85 02 STA $02 CODE_01B7D4: 38 SEC CODE_01B7D5: E5 1A SBC RAM_ScreenBndryXLo CODE_01B7D7: 85 07 STA $07 CODE_01B7D9: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01B7DC: 85 03 STA $03 CODE_01B7DE: 98 TYA CODE_01B7DF: 4A LSR CODE_01B7E0: 4A LSR CODE_01B7E1: AA TAX CODE_01B7E2: A5 0B LDA $0B CODE_01B7E4: 10 0A BPL CODE_01B7F0 CODE_01B7E6: BD 60 04 LDA.W OAM_TileSize,X CODE_01B7E9: 29 02 AND.B #$02 CODE_01B7EB: 9D 60 04 STA.W OAM_TileSize,X CODE_01B7EE: 80 03 BRA CODE_01B7F3 CODE_01B7F0: 9D 60 04 STA.W OAM_TileSize,X CODE_01B7F3: A2 00 LDX.B #$00 CODE_01B7F5: B9 00 03 LDA.W OAM_DispX,Y CODE_01B7F8: 38 SEC CODE_01B7F9: E5 07 SBC $07 CODE_01B7FB: 10 01 BPL CODE_01B7FE CODE_01B7FD: CA DEX CODE_01B7FE: 18 CLC CODE_01B7FF: 65 02 ADC $02 CODE_01B801: 85 04 STA $04 CODE_01B803: 8A TXA CODE_01B804: 65 03 ADC $03 CODE_01B806: 85 05 STA $05 CODE_01B808: 20 44 B8 JSR.W CODE_01B844 CODE_01B80B: 90 0C BCC CODE_01B819 CODE_01B80D: 98 TYA CODE_01B80E: 4A LSR CODE_01B80F: 4A LSR CODE_01B810: AA TAX CODE_01B811: BD 60 04 LDA.W OAM_TileSize,X CODE_01B814: 09 01 ORA.B #$01 CODE_01B816: 9D 60 04 STA.W OAM_TileSize,X CODE_01B819: A2 00 LDX.B #$00 CODE_01B81B: B9 01 03 LDA.W OAM_DispY,Y CODE_01B81E: 38 SEC CODE_01B81F: E5 06 SBC $06 CODE_01B821: 10 01 BPL CODE_01B824 CODE_01B823: CA DEX CODE_01B824: 18 CLC CODE_01B825: 65 00 ADC $00 CODE_01B827: 85 09 STA $09 CODE_01B829: 8A TXA CODE_01B82A: 65 01 ADC $01 CODE_01B82C: 85 0A STA $0A CODE_01B82E: 20 BF C9 JSR.W CODE_01C9BF CODE_01B831: 90 05 BCC CODE_01B838 CODE_01B833: A9 F0 LDA.B #$F0 CODE_01B835: 99 01 03 STA.W OAM_DispY,Y CODE_01B838: C8 INY CODE_01B839: C8 INY CODE_01B83A: C8 INY CODE_01B83B: C8 INY CODE_01B83C: C6 08 DEC $08 CODE_01B83E: 10 9E BPL CODE_01B7DE CODE_01B840: AE E9 15 LDX.W $15E9 ; X = Sprite index Return01B843: 60 RTS ; Return CODE_01B844: C2 20 REP #$20 ; Accum (16 bit) CODE_01B846: A5 04 LDA $04 CODE_01B848: 38 SEC CODE_01B849: E5 1A SBC RAM_ScreenBndryXLo CODE_01B84B: C9 00 01 CMP.W #$0100 CODE_01B84E: E2 20 SEP #$20 ; Accum (8 bit) Return01B850: 60 RTS ; Return Return01B851: 60 RTS CODE_01B852: BD C4 15 LDA.W $15C4,X CODE_01B855: D0 5A BNE Return01B8B1 CODE_01B857: A5 71 LDA RAM_MarioAnimation CODE_01B859: C9 01 CMP.B #$01 CODE_01B85B: B0 54 BCS Return01B8B1 CODE_01B85D: 20 FF B8 JSR.W CODE_01B8FF CODE_01B860: 90 4F BCC Return01B8B1 CODE_01B862: B5 D8 LDA RAM_SpriteYLo,X CODE_01B864: 38 SEC CODE_01B865: E5 1C SBC RAM_ScreenBndryYLo CODE_01B867: 85 02 STA $02 CODE_01B869: 38 SEC CODE_01B86A: E5 0D SBC $0D CODE_01B86C: 85 09 STA $09 CODE_01B86E: A5 80 LDA $80 CODE_01B870: 18 CLC CODE_01B871: 69 18 ADC.B #$18 CODE_01B873: C5 09 CMP $09 CODE_01B875: B0 3B BCS ADDR_01B8B2 CODE_01B877: A5 7D LDA RAM_MarioSpeedY CODE_01B879: 30 36 BMI Return01B8B1 CODE_01B87B: 64 7D STZ RAM_MarioSpeedY CODE_01B87D: A9 01 LDA.B #$01 CODE_01B87F: 8D 71 14 STA.W $1471 CODE_01B882: A5 0D LDA $0D CODE_01B884: 18 CLC CODE_01B885: 69 1F ADC.B #$1F CODE_01B887: AC 7A 18 LDY.W RAM_OnYoshi CODE_01B88A: F0 03 BEQ CODE_01B88F CODE_01B88C: 18 CLC CODE_01B88D: 69 10 ADC.B #$10 CODE_01B88F: 85 00 STA $00 CODE_01B891: B5 D8 LDA RAM_SpriteYLo,X CODE_01B893: 38 SEC CODE_01B894: E5 00 SBC $00 CODE_01B896: 85 96 STA RAM_MarioYPos CODE_01B898: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01B89B: E9 00 SBC.B #$00 CODE_01B89D: 85 97 STA RAM_MarioYPosHi CODE_01B89F: A0 00 LDY.B #$00 CODE_01B8A1: AD 91 14 LDA.W $1491 CODE_01B8A4: 10 01 BPL CODE_01B8A7 ADDR_01B8A6: 88 DEY CODE_01B8A7: 18 CLC CODE_01B8A8: 65 94 ADC RAM_MarioXPos CODE_01B8AA: 85 94 STA RAM_MarioXPos CODE_01B8AC: 98 TYA CODE_01B8AD: 65 95 ADC RAM_MarioXPosHi CODE_01B8AF: 85 95 STA RAM_MarioXPosHi Return01B8B1: 60 RTS ; Return ADDR_01B8B2: A5 02 LDA $02 ADDR_01B8B4: 18 CLC ADDR_01B8B5: 65 0D ADC $0D ADDR_01B8B7: 85 02 STA $02 ADDR_01B8B9: A9 FF LDA.B #$FF ADDR_01B8BB: A4 73 LDY RAM_IsDucking ADDR_01B8BD: D0 04 BNE ADDR_01B8C3 ADDR_01B8BF: A4 19 LDY RAM_MarioPowerUp ADDR_01B8C1: D0 02 BNE ADDR_01B8C5 ADDR_01B8C3: A9 08 LDA.B #$08 ADDR_01B8C5: 18 CLC ADDR_01B8C6: 65 80 ADC $80 ADDR_01B8C8: C5 02 CMP $02 ADDR_01B8CA: 90 09 BCC ADDR_01B8D5 ADDR_01B8CC: A5 7D LDA RAM_MarioSpeedY ADDR_01B8CE: 10 04 BPL Return01B8D4 ADDR_01B8D0: A9 10 LDA.B #$10 ADDR_01B8D2: 85 7D STA RAM_MarioSpeedY Return01B8D4: 60 RTS ; Return ADDR_01B8D5: A5 0E LDA $0E ADDR_01B8D7: 18 CLC ADDR_01B8D8: 69 10 ADC.B #$10 ADDR_01B8DA: 85 00 STA $00 ADDR_01B8DC: A0 00 LDY.B #$00 ADDR_01B8DE: B5 E4 LDA RAM_SpriteXLo,X ADDR_01B8E0: 38 SEC ADDR_01B8E1: E5 1A SBC RAM_ScreenBndryXLo ADDR_01B8E3: C5 7E CMP $7E ADDR_01B8E5: 90 08 BCC ADDR_01B8EF ADDR_01B8E7: A5 00 LDA $00 ADDR_01B8E9: 49 FF EOR.B #$FF ADDR_01B8EB: 1A INC A ADDR_01B8EC: 85 00 STA $00 ADDR_01B8EE: 88 DEY ADDR_01B8EF: B5 E4 LDA RAM_SpriteXLo,X ADDR_01B8F1: 18 CLC ADDR_01B8F2: 65 00 ADC $00 ADDR_01B8F4: 85 94 STA RAM_MarioXPos ADDR_01B8F6: 98 TYA ADDR_01B8F7: 7D E0 14 ADC.W RAM_SpriteXHi,X ADDR_01B8FA: 85 95 STA RAM_MarioXPosHi ADDR_01B8FC: 64 7B STZ RAM_MarioSpeedX Return01B8FE: 60 RTS ; Return CODE_01B8FF: A5 00 LDA $00 CODE_01B901: 85 0E STA $0E CODE_01B903: A5 02 LDA $02 CODE_01B905: 85 0D STA $0D CODE_01B907: B5 E4 LDA RAM_SpriteXLo,X CODE_01B909: 38 SEC CODE_01B90A: E5 00 SBC $00 CODE_01B90C: 85 04 STA $04 CODE_01B90E: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01B911: E9 00 SBC.B #$00 CODE_01B913: 85 0A STA $0A CODE_01B915: A5 00 LDA $00 CODE_01B917: 0A ASL CODE_01B918: 18 CLC CODE_01B919: 69 10 ADC.B #$10 CODE_01B91B: 85 06 STA $06 CODE_01B91D: B5 D8 LDA RAM_SpriteYLo,X CODE_01B91F: 38 SEC CODE_01B920: E5 02 SBC $02 CODE_01B922: 85 05 STA $05 CODE_01B924: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01B927: E9 00 SBC.B #$00 CODE_01B929: 85 0B STA $0B CODE_01B92B: A5 02 LDA $02 CODE_01B92D: 0A ASL CODE_01B92E: 18 CLC CODE_01B92F: 69 10 ADC.B #$10 CODE_01B931: 85 07 STA $07 CODE_01B933: 22 64 B6 03 JSL.L GetMarioClipping CODE_01B937: 22 2B B7 03 JSL.L CheckForContact Return01B93B: 60 RTS ; Return HorzNetKoopaSpeed: .db $08,$F8 InitHorzNetKoopa: 20 30 AD JSR.W SubHorizPos CODE_01B941: B9 3C B9 LDA.W HorzNetKoopaSpeed,Y CODE_01B944: 95 B6 STA RAM_SpriteSpeedX,X CODE_01B946: 80 08 BRA CODE_01B950 InitVertNetKoopa: F6 C2 INC RAM_SpriteState,X CODE_01B94A: F6 B6 INC RAM_SpriteSpeedX,X CODE_01B94C: A9 F8 LDA.B #$F8 CODE_01B94E: 95 AA STA RAM_SpriteSpeedY,X CODE_01B950: B5 E4 LDA RAM_SpriteXLo,X CODE_01B952: A0 00 LDY.B #$00 CODE_01B954: 29 10 AND.B #$10 CODE_01B956: D0 01 BNE CODE_01B959 CODE_01B958: C8 INY CODE_01B959: 98 TYA CODE_01B95A: 9D 32 16 STA.W RAM_SprBehindScrn,X CODE_01B95D: BD F6 15 LDA.W RAM_SpritePal,X CODE_01B960: 29 02 AND.B #$02 CODE_01B962: D0 04 BNE Return01B968 CODE_01B964: 16 B6 ASL RAM_SpriteSpeedX,X CODE_01B966: 16 AA ASL RAM_SpriteSpeedY,X Return01B968: 60 RTS ; Return DATA_01B969: .db $02,$02,$03,$04,$03,$02,$02,$02 .db $01,$02 DATA_01B973: .db $01,$01,$00,$00,$00,$01,$01,$01 .db $01,$01 DATA_01B97D: .db $03,$0C ClimbingKoopa: BD 40 15 LDA.W $1540,X CODE_01B982: F0 77 BEQ CODE_01B9FB CODE_01B984: C9 30 CMP.B #$30 CODE_01B986: 90 18 BCC CODE_01B9A0 CODE_01B988: C9 40 CMP.B #$40 CODE_01B98A: 90 17 BCC CODE_01B9A3 CODE_01B98C: D0 12 BNE CODE_01B9A0 CODE_01B98E: A4 9D LDY RAM_SpritesLocked CODE_01B990: D0 0E BNE CODE_01B9A0 CODE_01B992: BD 32 16 LDA.W RAM_SprBehindScrn,X CODE_01B995: 49 01 EOR.B #$01 CODE_01B997: 9D 32 16 STA.W RAM_SprBehindScrn,X CODE_01B99A: 20 98 90 JSR.W FlipSpriteDir CODE_01B99D: 20 7F BA JSR.W CODE_01BA7F CODE_01B9A0: 4C 37 BA JMP.W CODE_01BA37 CODE_01B9A3: B4 D8 LDY RAM_SpriteYLo,X CODE_01B9A5: 5A PHY CODE_01B9A6: BC D4 14 LDY.W RAM_SpriteYHi,X CODE_01B9A9: 5A PHY CODE_01B9AA: A0 00 LDY.B #$00 CODE_01B9AC: C9 38 CMP.B #$38 CODE_01B9AE: 90 01 BCC CODE_01B9B1 CODE_01B9B0: C8 INY CODE_01B9B1: B5 C2 LDA RAM_SpriteState,X CODE_01B9B3: F0 17 BEQ CODE_01B9CC CODE_01B9B5: C8 INY CODE_01B9B6: C8 INY CODE_01B9B7: B5 D8 LDA RAM_SpriteYLo,X CODE_01B9B9: 38 SEC CODE_01B9BA: E9 0C SBC.B #$0C CODE_01B9BC: 95 D8 STA RAM_SpriteYLo,X CODE_01B9BE: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01B9C1: E9 00 SBC.B #$00 CODE_01B9C3: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01B9C6: BD 32 16 LDA.W RAM_SprBehindScrn,X CODE_01B9C9: F0 01 BEQ CODE_01B9CC CODE_01B9CB: C8 INY CODE_01B9CC: AD EB 1E LDA.W $1EEB CODE_01B9CF: 10 05 BPL CODE_01B9D6 ADDR_01B9D1: C8 INY ADDR_01B9D2: C8 INY ADDR_01B9D3: C8 INY ADDR_01B9D4: C8 INY ADDR_01B9D5: C8 INY CODE_01B9D6: B9 69 B9 LDA.W DATA_01B969,Y CODE_01B9D9: 9D 02 16 STA.W $1602,X CODE_01B9DC: B9 73 B9 LDA.W DATA_01B973,Y CODE_01B9DF: 85 00 STA $00 CODE_01B9E1: BD F6 15 LDA.W RAM_SpritePal,X CODE_01B9E4: 48 PHA CODE_01B9E5: 29 FE AND.B #$FE CODE_01B9E7: 05 00 ORA $00 CODE_01B9E9: 9D F6 15 STA.W RAM_SpritePal,X CODE_01B9EC: 20 67 9D JSR.W SubSprGfx1 CODE_01B9EF: 68 PLA CODE_01B9F0: 9D F6 15 STA.W RAM_SpritePal,X CODE_01B9F3: 68 PLA CODE_01B9F4: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01B9F7: 68 PLA CODE_01B9F8: 95 D8 STA RAM_SpriteYLo,X Return01B9FA: 60 RTS ; Return CODE_01B9FB: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01B9FD: D0 54 BNE CODE_01BA53 ; / CODE_01B9FF: 20 40 91 JSR.W CODE_019140 CODE_01BA02: B4 C2 LDY RAM_SpriteState,X CODE_01BA04: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_01BA07: 39 7D B9 AND.W DATA_01B97D,Y CODE_01BA0A: F0 08 BEQ CODE_01BA14 CODE_01BA0C: 20 98 90 JSR.W FlipSpriteDir CODE_01BA0F: 20 7F BA JSR.W CODE_01BA7F CODE_01BA12: 80 23 BRA CODE_01BA37 CODE_01BA14: AD 5F 18 LDA.W $185F CODE_01BA17: B4 AA LDY RAM_SpriteSpeedY,X CODE_01BA19: F0 0C BEQ CODE_01BA27 CODE_01BA1B: 10 02 BPL CODE_01BA1F CODE_01BA1D: 30 0B BMI CODE_01BA2A CODE_01BA1F: C9 07 CMP.B #$07 CODE_01BA21: 90 E9 BCC CODE_01BA0C CODE_01BA23: C9 1D CMP.B #$1D CODE_01BA25: B0 E5 BCS CODE_01BA0C CODE_01BA27: AD 60 18 LDA.W $1860 CODE_01BA2A: C9 07 CMP.B #$07 CODE_01BA2C: 90 04 BCC CODE_01BA32 CODE_01BA2E: C9 1D CMP.B #$1D CODE_01BA30: 90 05 BCC CODE_01BA37 CODE_01BA32: A9 50 LDA.B #$50 CODE_01BA34: 9D 40 15 STA.W $1540,X CODE_01BA37: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01BA39: D0 18 BNE CODE_01BA53 ; / CODE_01BA3B: FE 70 15 INC.W $1570,X CODE_01BA3E: 20 15 9A JSR.W UpdateDirection CODE_01BA41: B5 C2 LDA RAM_SpriteState,X CODE_01BA43: D0 05 BNE CODE_01BA4A CODE_01BA45: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01BA48: 80 03 BRA CODE_01BA4D CODE_01BA4A: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01BA4D: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01BA50: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01BA53: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01BA56: 48 PHA CODE_01BA57: BD 70 15 LDA.W $1570,X CODE_01BA5A: 29 08 AND.B #$08 CODE_01BA5C: 4A LSR CODE_01BA5D: 4A LSR CODE_01BA5E: 4A LSR CODE_01BA5F: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01BA62: A5 64 LDA $64 CODE_01BA64: 48 PHA CODE_01BA65: BD 32 16 LDA.W RAM_SprBehindScrn,X CODE_01BA68: 9D 02 16 STA.W $1602,X CODE_01BA6B: BD 32 16 LDA.W RAM_SprBehindScrn,X CODE_01BA6E: F0 04 BEQ CODE_01BA74 CODE_01BA70: A9 10 LDA.B #$10 CODE_01BA72: 85 64 STA $64 CODE_01BA74: 20 67 9D JSR.W SubSprGfx1 CODE_01BA77: 68 PLA CODE_01BA78: 85 64 STA $64 CODE_01BA7A: 68 PLA CODE_01BA7B: 9D 7C 15 STA.W RAM_SpriteDir,X Return01BA7E: 60 RTS ; Return CODE_01BA7F: B5 AA LDA RAM_SpriteSpeedY,X CODE_01BA81: 49 FF EOR.B #$FF CODE_01BA83: 1A INC A CODE_01BA84: 95 AA STA RAM_SpriteSpeedY,X Return01BA86: 60 RTS ; Return InitClimbingDoor: B5 E4 LDA RAM_SpriteXLo,X CODE_01BA89: 18 CLC CODE_01BA8A: 69 08 ADC.B #$08 CODE_01BA8C: 95 E4 STA RAM_SpriteXLo,X CODE_01BA8E: B5 D8 LDA RAM_SpriteYLo,X CODE_01BA90: 69 07 ADC.B #$07 CODE_01BA92: 95 D8 STA RAM_SpriteYLo,X Return01BA94: 60 RTS ; Return DATA_01BA95: .db $30,$54 DATA_01BA97: .db $00,$01,$02,$04,$06,$09,$0C,$0D .db $14,$0D,$0C,$09,$06,$04,$02,$01 DATA_01BAA7: .db $00,$00,$00,$00,$00,$01,$01,$01 .db $02,$01,$01,$01,$00,$00,$00,$00 DATA_01BAB7: .db $00,$10,$00,$00,$10,$00,$01,$11 .db $01,$05,$15,$05,$05,$15,$05,$00 .db $00,$00,$03,$13,$03 Return01BACC: 60 RTS ; Return ClimbingDoor: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01BAD0: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01BAD3: C9 01 CMP.B #$01 CODE_01BAD5: D0 1E BNE CODE_01BAF5 CODE_01BAD7: A9 0F LDA.B #$0F ; \ Play sound effect CODE_01BAD9: 8D F9 1D STA.W $1DF9 ; / CODE_01BADC: A9 19 LDA.B #$19 CODE_01BADE: 22 00 C0 03 JSL.L GenTileFromSpr2 CODE_01BAE2: A9 1F LDA.B #$1F CODE_01BAE4: 9D 40 15 STA.W $1540,X CODE_01BAE7: 8D 9D 14 STA.W $149D CODE_01BAEA: A5 94 LDA RAM_MarioXPos CODE_01BAEC: 38 SEC CODE_01BAED: E9 10 SBC.B #$10 CODE_01BAEF: 38 SEC CODE_01BAF0: F5 E4 SBC RAM_SpriteXLo,X CODE_01BAF2: 8D 78 18 STA.W $1878 CODE_01BAF5: BD 40 15 LDA.W $1540,X CODE_01BAF8: 1D 4C 15 ORA.W RAM_DisableInter,X CODE_01BAFB: D0 19 BNE CODE_01BB16 CODE_01BAFD: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_01BB01: 20 1D BC JSR.W CODE_01BC1D CODE_01BB04: 22 2B B7 03 JSL.L CheckForContact CODE_01BB08: 90 0C BCC CODE_01BB16 CODE_01BB0A: AD 9E 14 LDA.W $149E CODE_01BB0D: C9 01 CMP.B #$01 CODE_01BB0F: D0 05 BNE CODE_01BB16 CODE_01BB11: A9 06 LDA.B #$06 CODE_01BB13: 9D 4C 15 STA.W RAM_DisableInter,X CODE_01BB16: BD 40 15 LDA.W $1540,X CODE_01BB19: F0 B1 BEQ Return01BACC CODE_01BB1B: C9 01 CMP.B #$01 CODE_01BB1D: D0 08 BNE CODE_01BB27 CODE_01BB1F: 48 PHA CODE_01BB20: A9 1A LDA.B #$1A CODE_01BB22: 22 00 C0 03 JSL.L GenTileFromSpr2 CODE_01BB26: 68 PLA CODE_01BB27: C9 10 CMP.B #$10 CODE_01BB29: D0 08 BNE CODE_01BB33 CODE_01BB2B: AD F9 13 LDA.W RAM_IsBehindScenery CODE_01BB2E: 49 01 EOR.B #$01 CODE_01BB30: 8D F9 13 STA.W RAM_IsBehindScenery CODE_01BB33: A9 30 LDA.B #$30 CODE_01BB35: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01BB38: 85 03 STA $03 CODE_01BB3A: A8 TAY CODE_01BB3B: B5 E4 LDA RAM_SpriteXLo,X CODE_01BB3D: 38 SEC CODE_01BB3E: E5 1A SBC RAM_ScreenBndryXLo CODE_01BB40: 85 00 STA $00 CODE_01BB42: B5 D8 LDA RAM_SpriteYLo,X CODE_01BB44: 38 SEC CODE_01BB45: E5 1C SBC RAM_ScreenBndryYLo CODE_01BB47: 85 01 STA $01 CODE_01BB49: BD 40 15 LDA.W $1540,X CODE_01BB4C: 4A LSR CODE_01BB4D: 85 02 STA $02 CODE_01BB4F: AA TAX CODE_01BB50: BD A7 BA LDA.W DATA_01BAA7,X CODE_01BB53: 85 06 STA $06 CODE_01BB55: A5 00 LDA $00 CODE_01BB57: 18 CLC CODE_01BB58: 7D 97 BA ADC.W DATA_01BA97,X CODE_01BB5B: 99 00 03 STA.W OAM_DispX,Y CODE_01BB5E: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_01BB61: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_01BB64: A5 06 LDA $06 CODE_01BB66: C9 02 CMP.B #$02 CODE_01BB68: F0 24 BEQ CODE_01BB8E CODE_01BB6A: A5 00 LDA $00 CODE_01BB6C: 18 CLC CODE_01BB6D: 69 20 ADC.B #$20 CODE_01BB6F: 38 SEC CODE_01BB70: FD 97 BA SBC.W DATA_01BA97,X CODE_01BB73: 99 0C 03 STA.W OAM_Tile4DispX,Y CODE_01BB76: 99 10 03 STA.W $0310,Y CODE_01BB79: 99 14 03 STA.W $0314,Y CODE_01BB7C: A5 06 LDA $06 CODE_01BB7E: D0 0E BNE CODE_01BB8E CODE_01BB80: A5 00 LDA $00 CODE_01BB82: 18 CLC CODE_01BB83: 69 10 ADC.B #$10 CODE_01BB85: 99 18 03 STA.W $0318,Y CODE_01BB88: 99 1C 03 STA.W $031C,Y CODE_01BB8B: 99 20 03 STA.W $0320,Y CODE_01BB8E: A5 01 LDA $01 CODE_01BB90: 99 01 03 STA.W OAM_DispY,Y CODE_01BB93: 99 0D 03 STA.W OAM_Tile4DispY,Y CODE_01BB96: 99 19 03 STA.W $0319,Y CODE_01BB99: 18 CLC CODE_01BB9A: 69 10 ADC.B #$10 CODE_01BB9C: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01BB9F: 99 11 03 STA.W $0311,Y CODE_01BBA2: 99 1D 03 STA.W $031D,Y CODE_01BBA5: 18 CLC CODE_01BBA6: 69 10 ADC.B #$10 CODE_01BBA8: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_01BBAB: 99 15 03 STA.W $0315,Y CODE_01BBAE: 99 21 03 STA.W $0321,Y CODE_01BBB1: A9 08 LDA.B #$08 CODE_01BBB3: 85 07 STA $07 CODE_01BBB5: A5 06 LDA $06 CODE_01BBB7: 0A ASL CODE_01BBB8: 0A ASL CODE_01BBB9: 0A ASL CODE_01BBBA: 65 06 ADC $06 CODE_01BBBC: AA TAX CODE_01BBBD: BD B7 BA LDA.W DATA_01BAB7,X CODE_01BBC0: 99 02 03 STA.W OAM_Tile,Y CODE_01BBC3: C8 INY CODE_01BBC4: C8 INY CODE_01BBC5: C8 INY CODE_01BBC6: C8 INY CODE_01BBC7: E8 INX CODE_01BBC8: C6 07 DEC $07 CODE_01BBCA: 10 F1 BPL CODE_01BBBD CODE_01BBCC: A4 03 LDY $03 CODE_01BBCE: A2 08 LDX.B #$08 CODE_01BBD0: A5 64 LDA $64 CODE_01BBD2: 09 09 ORA.B #$09 CODE_01BBD4: E0 06 CPX.B #$06 CODE_01BBD6: B0 02 BCS CODE_01BBDA CODE_01BBD8: 09 40 ORA.B #$40 CODE_01BBDA: E0 00 CPX.B #$00 CODE_01BBDC: F0 08 BEQ CODE_01BBE6 CODE_01BBDE: E0 03 CPX.B #$03 CODE_01BBE0: F0 04 BEQ CODE_01BBE6 CODE_01BBE2: E0 06 CPX.B #$06 CODE_01BBE4: D0 02 BNE CODE_01BBE8 CODE_01BBE6: 09 80 ORA.B #$80 CODE_01BBE8: 99 03 03 STA.W OAM_Prop,Y CODE_01BBEB: C8 INY CODE_01BBEC: C8 INY CODE_01BBED: C8 INY CODE_01BBEE: C8 INY CODE_01BBEF: CA DEX CODE_01BBF0: 10 DE BPL CODE_01BBD0 CODE_01BBF2: A5 06 LDA $06 CODE_01BBF4: 48 PHA CODE_01BBF5: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01BBF8: A9 08 LDA.B #$08 CODE_01BBFA: 20 7E B3 JSR.W CODE_01B37E CODE_01BBFD: A0 0C LDY.B #$0C CODE_01BBFF: 68 PLA CODE_01BC00: F0 1A BEQ Return01BC1C CODE_01BC02: C9 02 CMP.B #$02 CODE_01BC04: D0 0B BNE CODE_01BC11 CODE_01BC06: A9 03 LDA.B #$03 CODE_01BC08: 99 63 04 STA.W $0463,Y CODE_01BC0B: 99 64 04 STA.W $0464,Y CODE_01BC0E: 99 65 04 STA.W $0465,Y CODE_01BC11: A9 03 LDA.B #$03 CODE_01BC13: 99 66 04 STA.W $0466,Y CODE_01BC16: 99 67 04 STA.W $0467,Y CODE_01BC19: 99 68 04 STA.W $0468,Y Return01BC1C: 60 RTS ; Return CODE_01BC1D: A5 94 LDA RAM_MarioXPos ; \ $00 = Mario X Low CODE_01BC1F: 85 00 STA $00 ; / CODE_01BC21: A5 96 LDA RAM_MarioYPos ; \ $01 = Mario Y Low CODE_01BC23: 85 01 STA $01 ; / CODE_01BC25: A9 10 LDA.B #$10 ; \ $02 = $03 = #$10 CODE_01BC27: 85 02 STA $02 ; | CODE_01BC29: 85 03 STA $03 ; / CODE_01BC2B: A5 95 LDA RAM_MarioXPosHi ; \ $08 = Mario X High CODE_01BC2D: 85 08 STA $08 ; / CODE_01BC2F: A5 97 LDA RAM_MarioYPosHi ; \ $09 = Mario Y High CODE_01BC31: 85 09 STA $09 ; / Return01BC33: 60 RTS ; Return MagiKoopasMagicPals: .db $05,$07,$09,$0B !@# MagikoopasMagic: A5 9D LDA RAM_SpritesLocked CODE_01BC3A: F0 03 BEQ CODE_01BC3F CODE_01BC3C: 4C BD BC JMP.W CODE_01BCBD CODE_01BC3F: 20 4E B1 JSR.W CODE_01B14E CODE_01BC42: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01BC45: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01BC48: B5 AA LDA RAM_SpriteSpeedY,X CODE_01BC4A: 48 PHA CODE_01BC4B: A9 FF LDA.B #$FF CODE_01BC4D: 95 AA STA RAM_SpriteSpeedY,X CODE_01BC4F: 20 40 91 JSR.W CODE_019140 CODE_01BC52: 68 PLA CODE_01BC53: 95 AA STA RAM_SpriteSpeedY,X CODE_01BC55: 20 14 80 JSR.W IsTouchingCeiling CODE_01BC58: F0 63 BEQ CODE_01BCBD CODE_01BC5A: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_01BC5D: D0 5E BNE CODE_01BCBD CODE_01BC5F: A9 01 LDA.B #$01 ; \ Play sound effect CODE_01BC61: 8D F9 1D STA.W $1DF9 ; / CODE_01BC64: 9E C8 14 STZ.W $14C8,X CODE_01BC67: AD 5F 18 LDA.W $185F CODE_01BC6A: 38 SEC CODE_01BC6B: E9 11 SBC.B #$11 CODE_01BC6D: C9 1D CMP.B #$1D CODE_01BC6F: B0 48 BCS CODE_01BCB9 CODE_01BC71: 22 F9 AC 01 JSL.L GetRand CODE_01BC75: 6D 8E 14 ADC.W RAM_RandomByte2 CODE_01BC78: 65 7B ADC RAM_MarioSpeedX CODE_01BC7A: 65 13 ADC RAM_FrameCounter CODE_01BC7C: A0 78 LDY.B #$78 CODE_01BC7E: C9 35 CMP.B #$35 CODE_01BC80: F0 0E BEQ StoreSpriteNum CODE_01BC82: A0 21 LDY.B #$21 CODE_01BC84: C9 08 CMP.B #$08 CODE_01BC86: 90 08 BCC StoreSpriteNum CODE_01BC88: A0 27 LDY.B #$27 CODE_01BC8A: C9 F7 CMP.B #$F7 CODE_01BC8C: B0 02 BCS StoreSpriteNum CODE_01BC8E: A0 07 LDY.B #$07 StoreSpriteNum: 94 9E STY RAM_SpriteNum,X CODE_01BC92: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_01BC94: 9D C8 14 STA.W $14C8,X ; / CODE_01BC97: 22 D2 F7 07 JSL.L InitSpriteTables CODE_01BC9B: A5 9B LDA RAM_BlockYHi ; \ Sprite X position = block X position CODE_01BC9D: 9D E0 14 STA.W RAM_SpriteXHi,X ; | CODE_01BCA0: A5 9A LDA RAM_BlockYLo ; | CODE_01BCA2: 29 F0 AND.B #$F0 ; | CODE_01BCA4: 95 E4 STA RAM_SpriteXLo,X ; | CODE_01BCA6: A5 99 LDA RAM_BlockXHi ; / CODE_01BCA8: 9D D4 14 STA.W RAM_SpriteYHi,X ; \ Sprite Y position = block Y position CODE_01BCAB: A5 98 LDA RAM_BlockXLo ; | CODE_01BCAD: 29 F0 AND.B #$F0 ; | CODE_01BCAF: 95 D8 STA RAM_SpriteYLo,X ; / CODE_01BCB1: A9 02 LDA.B #$02 ; \ Block to generate = #$02 CODE_01BCB3: 85 9C STA RAM_BlockBlock ; / CODE_01BCB5: 22 B0 BE 00 JSL.L GenerateTile CODE_01BCB9: 20 98 BD JSR.W CODE_01BD98 Return01BCBC: 60 RTS ; Return CODE_01BCBD: 20 C1 8F JSR.W SubSprSpr+MarioSpr CODE_01BCC0: A5 13 LDA RAM_FrameCounter CODE_01BCC2: 4A LSR CODE_01BCC3: 4A LSR CODE_01BCC4: 29 03 AND.B #$03 CODE_01BCC6: A8 TAY CODE_01BCC7: B9 34 BC LDA.W MagiKoopasMagicPals,Y CODE_01BCCA: 9D F6 15 STA.W RAM_SpritePal,X CODE_01BCCD: 20 F0 BC JSR.W MagiKoopasMagicGfx CODE_01BCD0: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01BCD3: B5 D8 LDA RAM_SpriteYLo,X CODE_01BCD5: 38 SEC CODE_01BCD6: E5 1C SBC RAM_ScreenBndryYLo CODE_01BCD8: C9 E0 CMP.B #$E0 CODE_01BCDA: 90 03 BCC Return01BCDF CODE_01BCDC: 9E C8 14 STZ.W $14C8,X Return01BCDF: 60 RTS ; Return MagiKoopasMagicDisp: .db $00,$01,$02,$05,$08,$0B,$0E,$0F .db $10,$0F,$0E,$0B,$08,$05,$02,$01 MagiKoopasMagicGfx: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01BCF3: A5 14 LDA RAM_FrameCounterB CODE_01BCF5: 4A LSR CODE_01BCF6: 29 0F AND.B #$0F CODE_01BCF8: 85 03 STA $03 CODE_01BCFA: 18 CLC CODE_01BCFB: 69 0C ADC.B #$0C CODE_01BCFD: 29 0F AND.B #$0F CODE_01BCFF: 85 02 STA $02 CODE_01BD01: A5 01 LDA $01 CODE_01BD03: 38 SEC CODE_01BD04: E9 04 SBC.B #$04 CODE_01BD06: 85 01 STA $01 CODE_01BD08: A5 00 LDA $00 CODE_01BD0A: 38 SEC CODE_01BD0B: E9 04 SBC.B #$04 CODE_01BD0D: 85 00 STA $00 CODE_01BD0F: A6 02 LDX $02 CODE_01BD11: A5 01 LDA $01 CODE_01BD13: 18 CLC CODE_01BD14: 7D E0 BC ADC.W MagiKoopasMagicDisp,X CODE_01BD17: 99 01 03 STA.W OAM_DispY,Y CODE_01BD1A: A6 03 LDX $03 CODE_01BD1C: A5 00 LDA $00 CODE_01BD1E: 18 CLC CODE_01BD1F: 7D E0 BC ADC.W MagiKoopasMagicDisp,X CODE_01BD22: 99 00 03 STA.W OAM_DispX,Y CODE_01BD25: A5 02 LDA $02 CODE_01BD27: 18 CLC CODE_01BD28: 69 05 ADC.B #$05 CODE_01BD2A: 29 0F AND.B #$0F CODE_01BD2C: 85 02 STA $02 CODE_01BD2E: AA TAX CODE_01BD2F: A5 01 LDA $01 CODE_01BD31: 18 CLC CODE_01BD32: 7D E0 BC ADC.W MagiKoopasMagicDisp,X CODE_01BD35: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01BD38: A5 03 LDA $03 CODE_01BD3A: 18 CLC CODE_01BD3B: 69 05 ADC.B #$05 CODE_01BD3D: 29 0F AND.B #$0F CODE_01BD3F: 85 03 STA $03 CODE_01BD41: AA TAX CODE_01BD42: A5 00 LDA $00 CODE_01BD44: 18 CLC CODE_01BD45: 7D E0 BC ADC.W MagiKoopasMagicDisp,X CODE_01BD48: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_01BD4B: A5 02 LDA $02 CODE_01BD4D: 18 CLC CODE_01BD4E: 69 05 ADC.B #$05 CODE_01BD50: 29 0F AND.B #$0F CODE_01BD52: 85 02 STA $02 CODE_01BD54: AA TAX CODE_01BD55: A5 01 LDA $01 CODE_01BD57: 18 CLC CODE_01BD58: 7D E0 BC ADC.W MagiKoopasMagicDisp,X CODE_01BD5B: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_01BD5E: A5 03 LDA $03 CODE_01BD60: 18 CLC CODE_01BD61: 69 05 ADC.B #$05 CODE_01BD63: 29 0F AND.B #$0F CODE_01BD65: 85 03 STA $03 CODE_01BD67: AA TAX CODE_01BD68: A5 00 LDA $00 CODE_01BD6A: 18 CLC CODE_01BD6B: 7D E0 BC ADC.W MagiKoopasMagicDisp,X CODE_01BD6E: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_01BD71: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01BD74: BD F6 15 LDA.W RAM_SpritePal,X CODE_01BD77: 05 64 ORA $64 CODE_01BD79: 99 03 03 STA.W OAM_Prop,Y CODE_01BD7C: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_01BD7F: 99 0B 03 STA.W OAM_Tile3Prop,Y CODE_01BD82: A9 88 LDA.B #$88 CODE_01BD84: 99 02 03 STA.W OAM_Tile,Y CODE_01BD87: A9 89 LDA.B #$89 CODE_01BD89: 99 06 03 STA.W OAM_Tile2,Y CODE_01BD8C: A9 98 LDA.B #$98 CODE_01BD8E: 99 0A 03 STA.W OAM_Tile3,Y CODE_01BD91: A0 00 LDY.B #$00 ; \ 3 8x8 tiles CODE_01BD93: A9 02 LDA.B #$02 ; | CODE_01BD95: 4C BB B7 JMP.W FinishOAMWriteRt CODE_01BD98: A0 03 LDY.B #$03 CODE_01BD9A: B9 C0 17 LDA.W $17C0,Y CODE_01BD9D: F0 04 BEQ CODE_01BDA3 CODE_01BD9F: 88 DEY CODE_01BDA0: 10 F8 BPL CODE_01BD9A Return01BDA2: 60 RTS ; Return CODE_01BDA3: A9 01 LDA.B #$01 CODE_01BDA5: 99 C0 17 STA.W $17C0,Y CODE_01BDA8: B5 E4 LDA RAM_SpriteXLo,X CODE_01BDAA: 99 C8 17 STA.W $17C8,Y CODE_01BDAD: B5 D8 LDA RAM_SpriteYLo,X CODE_01BDAF: 99 C4 17 STA.W $17C4,Y CODE_01BDB2: A9 1B LDA.B #$1B CODE_01BDB4: 99 CC 17 STA.W $17CC,Y Return01BDB7: 60 RTS ; Return InitMagikoopa: A0 09 LDY.B #$09 CODE_01BDBA: CC E9 15 CPY.W $15E9 CODE_01BDBD: F0 10 BEQ CODE_01BDCF CODE_01BDBF: B9 C8 14 LDA.W $14C8,Y CODE_01BDC2: F0 0B BEQ CODE_01BDCF CODE_01BDC4: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01BDC7: C9 1F CMP.B #$1F CODE_01BDC9: D0 04 BNE CODE_01BDCF ADDR_01BDCB: 9E C8 14 STZ.W $14C8,X Return01BDCE: 60 RTS ; Return CODE_01BDCF: 88 DEY CODE_01BDD0: 10 E8 BPL CODE_01BDBA CODE_01BDD2: 9C BF 18 STZ.W $18BF Return01BDD5: 60 RTS ; Return Magikoopa: A9 01 LDA.B #$01 CODE_01BDD8: 9D D0 15 STA.W $15D0,X CODE_01BDDB: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_01BDDE: F0 02 BEQ CODE_01BDE2 CODE_01BDE0: 74 C2 STZ RAM_SpriteState,X CODE_01BDE2: B5 C2 LDA RAM_SpriteState,X CODE_01BDE4: 29 03 AND.B #$03 CODE_01BDE6: 22 DF 86 00 JSL.L ExecutePtr MagiKoopaPtrs: F2 BD .dw CODE_01BDF2 5F BE .dw CODE_01BE5F 6E BE .dw CODE_01BE6E 16 BF .dw CODE_01BF16 CODE_01BDF2: AD BF 18 LDA.W $18BF CODE_01BDF5: F0 04 BEQ CODE_01BDFB ADDR_01BDF7: 9E C8 14 STZ.W $14C8,X Return01BDFA: 60 RTS ; Return CODE_01BDFB: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01BDFD: D0 5F BNE Return01BE5E ; / CODE_01BDFF: A0 24 LDY.B #$24 CODE_01BE01: 84 40 STY $40 CODE_01BE03: BD 40 15 LDA.W $1540,X CODE_01BE06: D0 56 BNE Return01BE5E CODE_01BE08: 22 F9 AC 01 JSL.L GetRand CODE_01BE0C: C9 D1 CMP.B #$D1 CODE_01BE0E: B0 4E BCS Return01BE5E CODE_01BE10: 18 CLC CODE_01BE11: 65 1C ADC RAM_ScreenBndryYLo CODE_01BE13: 29 F0 AND.B #$F0 CODE_01BE15: 95 D8 STA RAM_SpriteYLo,X CODE_01BE17: A5 1D LDA RAM_ScreenBndryYHi CODE_01BE19: 69 00 ADC.B #$00 CODE_01BE1B: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01BE1E: 22 F9 AC 01 JSL.L GetRand CODE_01BE22: 18 CLC CODE_01BE23: 65 1A ADC RAM_ScreenBndryXLo CODE_01BE25: 29 F0 AND.B #$F0 CODE_01BE27: 95 E4 STA RAM_SpriteXLo,X CODE_01BE29: A5 1B LDA RAM_ScreenBndryXHi CODE_01BE2B: 69 00 ADC.B #$00 CODE_01BE2D: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01BE30: 20 30 AD JSR.W SubHorizPos CODE_01BE33: A5 0F LDA $0F CODE_01BE35: 18 CLC CODE_01BE36: 69 20 ADC.B #$20 CODE_01BE38: C9 40 CMP.B #$40 CODE_01BE3A: 90 22 BCC Return01BE5E CODE_01BE3C: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01BE3E: A9 01 LDA.B #$01 CODE_01BE40: 95 B6 STA RAM_SpriteSpeedX,X CODE_01BE42: 20 40 91 JSR.W CODE_019140 CODE_01BE45: 20 0E 80 JSR.W IsOnGround CODE_01BE48: F0 14 BEQ Return01BE5E CODE_01BE4A: AD 62 18 LDA.W $1862 CODE_01BE4D: D0 0F BNE Return01BE5E CODE_01BE4F: F6 C2 INC RAM_SpriteState,X CODE_01BE51: 9E 70 15 STZ.W $1570,X CODE_01BE54: 20 82 BE JSR.W CODE_01BE82 CODE_01BE57: 20 30 AD JSR.W SubHorizPos CODE_01BE5A: 98 TYA CODE_01BE5B: 9D 7C 15 STA.W RAM_SpriteDir,X Return01BE5E: 60 RTS ; Return CODE_01BE5F: 20 04 C0 JSR.W CODE_01C004 CODE_01BE62: 9E 02 16 STZ.W $1602,X CODE_01BE65: 20 67 9D JSR.W SubSprGfx1 Return01BE68: 60 RTS ; Return DATA_01BE69: .db $04,$02,$00 DATA_01BE6C: .db $10,$F8 CODE_01BE6E: 9E D0 15 STZ.W $15D0,X CODE_01BE71: 20 C1 8F JSR.W SubSprSpr+MarioSpr CODE_01BE74: 20 30 AD JSR.W SubHorizPos CODE_01BE77: 98 TYA CODE_01BE78: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01BE7B: BD 40 15 LDA.W $1540,X CODE_01BE7E: D0 06 BNE CODE_01BE86 CODE_01BE80: F6 C2 INC RAM_SpriteState,X CODE_01BE82: A0 34 LDY.B #$34 CODE_01BE84: 84 40 STY $40 CODE_01BE86: C9 40 CMP.B #$40 CODE_01BE88: D0 0C BNE CODE_01BE96 CODE_01BE8A: 48 PHA CODE_01BE8B: A5 9D LDA RAM_SpritesLocked CODE_01BE8D: 1D A0 15 ORA.W RAM_OffscreenHorz,X CODE_01BE90: D0 03 BNE CODE_01BE95 CODE_01BE92: 20 1D BF JSR.W CODE_01BF1D ;JUMP TO GENERATE MAGIC CODE_01BE95: 68 PLA CODE_01BE96: 4A LSR CODE_01BE97: 4A LSR CODE_01BE98: 4A LSR CODE_01BE99: 4A LSR CODE_01BE9A: 4A LSR CODE_01BE9B: 4A LSR CODE_01BE9C: A8 TAY CODE_01BE9D: 5A PHY CODE_01BE9E: BD 40 15 LDA.W $1540,X CODE_01BEA1: 4A LSR CODE_01BEA2: 4A LSR CODE_01BEA3: 4A LSR CODE_01BEA4: 29 01 AND.B #$01 CODE_01BEA6: 19 69 BE ORA.W DATA_01BE69,Y CODE_01BEA9: 9D 02 16 STA.W $1602,X CODE_01BEAC: 20 67 9D JSR.W SubSprGfx1 CODE_01BEAF: BD 02 16 LDA.W $1602,X CODE_01BEB2: 38 SEC CODE_01BEB3: E9 02 SBC.B #$02 CODE_01BEB5: C9 02 CMP.B #$02 CODE_01BEB7: 90 0D BCC CODE_01BEC6 CODE_01BEB9: 4A LSR CODE_01BEBA: 90 0A BCC CODE_01BEC6 CODE_01BEBC: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_01BEBF: AA TAX CODE_01BEC0: FE 01 03 INC.W OAM_DispY,X CODE_01BEC3: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01BEC6: 7A PLY CODE_01BEC7: C0 01 CPY.B #$01 CODE_01BEC9: D0 03 BNE CODE_01BECE CODE_01BECB: 20 4E B1 JSR.W CODE_01B14E CODE_01BECE: BD 02 16 LDA.W $1602,X CODE_01BED1: C9 04 CMP.B #$04 CODE_01BED3: 90 40 BCC Return01BF15 CODE_01BED5: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01BED8: B5 E4 LDA RAM_SpriteXLo,X CODE_01BEDA: 18 CLC CODE_01BEDB: 79 6C BE ADC.W DATA_01BE6C,Y CODE_01BEDE: 38 SEC CODE_01BEDF: E5 1A SBC RAM_ScreenBndryXLo CODE_01BEE1: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01BEE4: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_01BEE7: B5 D8 LDA RAM_SpriteYLo,X CODE_01BEE9: 38 SEC CODE_01BEEA: E5 1C SBC RAM_ScreenBndryYLo CODE_01BEEC: 18 CLC CODE_01BEED: 69 10 ADC.B #$10 CODE_01BEEF: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_01BEF2: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01BEF5: 4A LSR CODE_01BEF6: A9 00 LDA.B #$00 CODE_01BEF8: B0 02 BCS CODE_01BEFC CODE_01BEFA: 09 40 ORA.B #$40 CODE_01BEFC: 05 64 ORA $64 CODE_01BEFE: 1D F6 15 ORA.W RAM_SpritePal,X CODE_01BF01: 99 0B 03 STA.W OAM_Tile3Prop,Y CODE_01BF04: A9 99 LDA.B #$99 CODE_01BF06: 99 0A 03 STA.W OAM_Tile3,Y CODE_01BF09: 98 TYA CODE_01BF0A: 4A LSR CODE_01BF0B: 4A LSR CODE_01BF0C: A8 TAY CODE_01BF0D: A9 00 LDA.B #$00 CODE_01BF0F: 1D A0 15 ORA.W RAM_OffscreenHorz,X CODE_01BF12: 99 62 04 STA.W $0462,Y Return01BF15: 60 RTS ; Return CODE_01BF16: 20 E3 BF JSR.W CODE_01BFE3 CODE_01BF19: 20 67 9D JSR.W SubSprGfx1 Return01BF1C: 60 RTS ; Return CODE_01BF1D: A0 09 LDY.B #$09 CODE_01BF1F: B9 C8 14 LDA.W $14C8,Y CODE_01BF22: F0 04 BEQ CODE_01BF28 CODE_01BF24: 88 DEY CODE_01BF25: 10 F8 BPL CODE_01BF1F Return01BF27: 60 RTS ; Return CODE_01BF28: A9 10 LDA.B #$10 ; \ Play sound effect CODE_01BF2A: 8D F9 1D STA.W $1DF9 ; / CODE_01BF2D: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_01BF2F: 99 C8 14 STA.W $14C8,Y ; / CODE_01BF32: A9 20 LDA.B #$20 ;GENERATES MAGIC HERE! !@# CODE_01BF34: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_01BF37: B5 E4 LDA RAM_SpriteXLo,X CODE_01BF39: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01BF3C: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01BF3F: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_01BF42: B5 D8 LDA RAM_SpriteYLo,X CODE_01BF44: 18 CLC CODE_01BF45: 69 0A ADC.B #$0A CODE_01BF47: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_01BF4A: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01BF4D: 69 00 ADC.B #$00 CODE_01BF4F: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_01BF52: BB TYX CODE_01BF53: 22 D2 F7 07 JSL.L InitSpriteTables CODE_01BF57: A9 20 LDA.B #$20 CODE_01BF59: 20 6A BF JSR.W CODE_01BF6A CODE_01BF5C: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01BF5F: A5 00 LDA $00 ;PULLS SPEED FROM RAM HERE? CODE_01BF61: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_01BF64: A5 01 LDA $01 CODE_01BF66: 99 B6 00 STA.W RAM_SpriteSpeedX,Y Return01BF69: 60 RTS ; Return CODE_01BF6A: 85 01 STA $01 ;FILLS OUT RAM TO USE FOR SPEED? CODE_01BF6C: DA PHX CODE_01BF6D: 5A PHY CODE_01BF6E: 20 42 AD JSR.W CODE_01AD42 CODE_01BF71: 84 02 STY $02 CODE_01BF73: A5 0E LDA $0E CODE_01BF75: 10 05 BPL CODE_01BF7C CODE_01BF77: 49 FF EOR.B #$FF CODE_01BF79: 18 CLC CODE_01BF7A: 69 01 ADC.B #$01 CODE_01BF7C: 85 0C STA $0C CODE_01BF7E: 20 30 AD JSR.W SubHorizPos CODE_01BF81: 84 03 STY $03 CODE_01BF83: A5 0F LDA $0F CODE_01BF85: 10 05 BPL CODE_01BF8C CODE_01BF87: 49 FF EOR.B #$FF CODE_01BF89: 18 CLC CODE_01BF8A: 69 01 ADC.B #$01 CODE_01BF8C: 85 0D STA $0D CODE_01BF8E: A0 00 LDY.B #$00 CODE_01BF90: A5 0D LDA $0D CODE_01BF92: C5 0C CMP $0C CODE_01BF94: B0 09 BCS CODE_01BF9F CODE_01BF96: C8 INY CODE_01BF97: 48 PHA CODE_01BF98: A5 0C LDA $0C CODE_01BF9A: 85 0D STA $0D CODE_01BF9C: 68 PLA CODE_01BF9D: 85 0C STA $0C CODE_01BF9F: A9 00 LDA.B #$00 CODE_01BFA1: 85 0B STA $0B CODE_01BFA3: 85 00 STA $00 CODE_01BFA5: A6 01 LDX $01 CODE_01BFA7: A5 0B LDA $0B CODE_01BFA9: 18 CLC CODE_01BFAA: 65 0C ADC $0C CODE_01BFAC: C5 0D CMP $0D CODE_01BFAE: 90 04 BCC CODE_01BFB4 CODE_01BFB0: E5 0D SBC $0D CODE_01BFB2: E6 00 INC $00 CODE_01BFB4: 85 0B STA $0B CODE_01BFB6: CA DEX CODE_01BFB7: D0 EE BNE CODE_01BFA7 CODE_01BFB9: 98 TYA CODE_01BFBA: F0 0A BEQ CODE_01BFC6 CODE_01BFBC: A5 00 LDA $00 CODE_01BFBE: 48 PHA CODE_01BFBF: A5 01 LDA $01 CODE_01BFC1: 85 00 STA $00 CODE_01BFC3: 68 PLA CODE_01BFC4: 85 01 STA $01 CODE_01BFC6: A5 00 LDA $00 CODE_01BFC8: A4 02 LDY $02 CODE_01BFCA: F0 07 BEQ CODE_01BFD3 CODE_01BFCC: 49 FF EOR.B #$FF CODE_01BFCE: 18 CLC CODE_01BFCF: 69 01 ADC.B #$01 CODE_01BFD1: 85 00 STA $00 CODE_01BFD3: A5 01 LDA $01 CODE_01BFD5: A4 03 LDY $03 CODE_01BFD7: F0 07 BEQ CODE_01BFE0 CODE_01BFD9: 49 FF EOR.B #$FF CODE_01BFDB: 18 CLC CODE_01BFDC: 69 01 ADC.B #$01 CODE_01BFDE: 85 01 STA $01 CODE_01BFE0: 7A PLY CODE_01BFE1: FA PLX Return01BFE2: 60 RTS ; Return CODE_01BFE3: BD 40 15 LDA.W $1540,X CODE_01BFE6: D0 18 BNE Return01C000 CODE_01BFE8: A9 02 LDA.B #$02 CODE_01BFEA: 9D 40 15 STA.W $1540,X CODE_01BFED: DE 70 15 DEC.W $1570,X CODE_01BFF0: BD 70 15 LDA.W $1570,X CODE_01BFF3: C9 00 CMP.B #$00 CODE_01BFF5: D0 0A BNE CODE_01C001 CODE_01BFF7: F6 C2 INC RAM_SpriteState,X CODE_01BFF9: A9 10 LDA.B #$10 CODE_01BFFB: 9D 40 15 STA.W $1540,X CODE_01BFFE: 68 PLA CODE_01BFFF: 68 PLA Return01C000: 60 RTS ; Return CODE_01C001: 4C 28 C0 JMP.W CODE_01C028 CODE_01C004: BD 40 15 LDA.W $1540,X CODE_01C007: D0 55 BNE CODE_01C05E CODE_01C009: A9 04 LDA.B #$04 CODE_01C00B: 9D 40 15 STA.W $1540,X CODE_01C00E: FE 70 15 INC.W $1570,X CODE_01C011: BD 70 15 LDA.W $1570,X CODE_01C014: C9 09 CMP.B #$09 CODE_01C016: D0 04 BNE CODE_01C01C CODE_01C018: A0 24 LDY.B #$24 CODE_01C01A: 84 40 STY $40 CODE_01C01C: C9 09 CMP.B #$09 CODE_01C01E: D0 08 BNE CODE_01C028 CODE_01C020: F6 C2 INC RAM_SpriteState,X CODE_01C022: A9 70 LDA.B #$70 CODE_01C024: 9D 40 15 STA.W $1540,X Return01C027: 60 RTS ; Return CODE_01C028: BD 70 15 LDA.W $1570,X CODE_01C02B: 3A DEC A CODE_01C02C: 0A ASL CODE_01C02D: 0A ASL CODE_01C02E: 0A ASL CODE_01C02F: 0A ASL CODE_01C030: AA TAX CODE_01C031: 64 00 STZ $00 CODE_01C033: AC 81 06 LDY.W $0681 CODE_01C036: BF 02 B9 03 LDA.L MagiKoopaPals,X CODE_01C03A: 99 84 06 STA.W $0684,Y CODE_01C03D: C8 INY CODE_01C03E: E8 INX CODE_01C03F: E6 00 INC $00 CODE_01C041: A5 00 LDA $00 CODE_01C043: C9 10 CMP.B #$10 CODE_01C045: D0 EF BNE CODE_01C036 CODE_01C047: AE 81 06 LDX.W $0681 CODE_01C04A: A9 10 LDA.B #$10 CODE_01C04C: 9D 82 06 STA.W $0682,X CODE_01C04F: A9 F0 LDA.B #$F0 CODE_01C051: 9D 83 06 STA.W $0683,X CODE_01C054: 9E 94 06 STZ.W $0694,X CODE_01C057: 8A TXA CODE_01C058: 18 CLC CODE_01C059: 69 12 ADC.B #$12 CODE_01C05B: 8D 81 06 STA.W $0681 CODE_01C05E: AE E9 15 LDX.W $15E9 ; X = Sprite index Return01C061: 60 RTS ; Return ADDR_01C062: 20 75 C0 JSR.W InitGoalTape ; \ Unreachable ADDR_01C065: B5 D8 LDA RAM_SpriteYLo,X ; | Call Goal Tape INIT, then ADDR_01C067: 38 SEC ; | Sprite Y position -= #$4C ADDR_01C068: E9 4C SBC.B #$4C ; | ADDR_01C06A: 95 D8 STA RAM_SpriteYLo,X ; | ADDR_01C06C: BD D4 14 LDA.W RAM_SpriteYHi,X ; | ADDR_01C06F: E9 00 SBC.B #$00 ; | ADDR_01C071: 9D D4 14 STA.W RAM_SpriteYHi,X ; | Return01C074: 60 RTS ; / InitGoalTape: B5 E4 LDA RAM_SpriteXLo,X CODE_01C077: 38 SEC CODE_01C078: E9 08 SBC.B #$08 CODE_01C07A: 95 C2 STA RAM_SpriteState,X CODE_01C07C: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01C07F: E9 00 SBC.B #$00 CODE_01C081: 9D 1C 15 STA.W $151C,X CODE_01C084: B5 D8 LDA RAM_SpriteYLo,X CODE_01C086: 9D 28 15 STA.W $1528,X CODE_01C089: BD D4 14 LDA.W RAM_SpriteYHi,X ; \ Save extra bits into $187B,x CODE_01C08C: 9D 7B 18 STA.W $187B,X ; / CODE_01C08F: 29 01 AND.B #$01 ; \ Clear extra bits out of position CODE_01C091: 9D D4 14 STA.W RAM_SpriteYHi,X ; / CODE_01C094: 9D 34 15 STA.W $1534,X Return01C097: 60 RTS ; Return GoalTape: 20 2D C1 JSR.W CODE_01C12D CODE_01C09B: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01C09D: D0 05 BNE Return01C0A4 ; / CODE_01C09F: BD 02 16 LDA.W $1602,X CODE_01C0A2: F0 03 BEQ CODE_01C0A7 Return01C0A4: 60 RTS ; Return DATA_01C0A5: .db $10,$F0 CODE_01C0A7: BD 40 15 LDA.W $1540,X CODE_01C0AA: D0 08 BNE CODE_01C0B4 CODE_01C0AC: A9 7C LDA.B #$7C CODE_01C0AE: 9D 40 15 STA.W $1540,X CODE_01C0B1: FE 88 15 INC.W RAM_SprObjStatus,X CODE_01C0B4: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_01C0B7: 29 01 AND.B #$01 CODE_01C0B9: A8 TAY CODE_01C0BA: B9 A5 C0 LDA.W DATA_01C0A5,Y CODE_01C0BD: 95 AA STA RAM_SpriteSpeedY,X CODE_01C0BF: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01C0C2: B5 C2 LDA RAM_SpriteState,X CODE_01C0C4: 85 00 STA $00 CODE_01C0C6: BD 1C 15 LDA.W $151C,X CODE_01C0C9: 85 01 STA $01 CODE_01C0CB: C2 20 REP #$20 ; Accum (16 bit) CODE_01C0CD: A5 94 LDA RAM_MarioXPos CODE_01C0CF: 38 SEC CODE_01C0D0: E5 00 SBC $00 CODE_01C0D2: C9 10 00 CMP.W #$0010 CODE_01C0D5: E2 20 SEP #$20 ; Accum (8 bit) CODE_01C0D7: B0 53 BCS Return01C12C CODE_01C0D9: BD 28 15 LDA.W $1528,X CODE_01C0DC: C5 96 CMP RAM_MarioYPos CODE_01C0DE: BD 34 15 LDA.W $1534,X CODE_01C0E1: 29 01 AND.B #$01 CODE_01C0E3: E5 97 SBC RAM_MarioYPosHi CODE_01C0E5: 90 45 BCC Return01C12C CODE_01C0E7: BD 7B 18 LDA.W $187B,X ; \ $141C = #01 if Goal Tape triggers secret exit CODE_01C0EA: 4A LSR ; | CODE_01C0EB: 4A LSR ; | CODE_01C0EC: 8D 1C 14 STA.W $141C ; / CODE_01C0EF: A9 0C LDA.B #$0C CODE_01C0F1: 8D FB 1D STA.W $1DFB ; / Change music CODE_01C0F4: A9 FF LDA.B #$FF CODE_01C0F6: 8D DA 0D STA.W $0DDA CODE_01C0F9: A9 FF LDA.B #$FF CODE_01C0FB: 8D 93 14 STA.W $1493 CODE_01C0FE: 9C 90 14 STZ.W $1490 ; Zero out star timer CODE_01C101: FE 02 16 INC.W $1602,X CODE_01C104: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01C107: 90 1C BCC CODE_01C125 CODE_01C109: A9 09 LDA.B #$09 ; \ Play sound effect CODE_01C10B: 8D FC 1D STA.W $1DFC ; / CODE_01C10E: FE 0E 16 INC.W $160E,X CODE_01C111: BD 28 15 LDA.W $1528,X CODE_01C114: 38 SEC CODE_01C115: F5 D8 SBC RAM_SpriteYLo,X CODE_01C117: 9D 94 15 STA.W $1594,X CODE_01C11A: A9 80 LDA.B #$80 CODE_01C11C: 9D 40 15 STA.W $1540,X CODE_01C11F: 22 52 F2 07 JSL.L CODE_07F252 CODE_01C123: 80 03 BRA CODE_01C128 CODE_01C125: 9E 86 16 STZ.W RAM_Tweaker1686,X CODE_01C128: 22 80 FA 00 JSL.L TriggerGoalTape Return01C12C: 60 RTS ; Return CODE_01C12D: BD 0E 16 LDA.W $160E,X CODE_01C130: D0 43 BNE CODE_01C175 CODE_01C132: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01C135: A5 00 LDA $00 CODE_01C137: 38 SEC CODE_01C138: E9 08 SBC.B #$08 CODE_01C13A: 99 00 03 STA.W OAM_DispX,Y CODE_01C13D: 18 CLC CODE_01C13E: 69 08 ADC.B #$08 CODE_01C140: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_01C143: 18 CLC CODE_01C144: 69 08 ADC.B #$08 CODE_01C146: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_01C149: A5 01 LDA $01 CODE_01C14B: 18 CLC CODE_01C14C: 69 08 ADC.B #$08 CODE_01C14E: 99 01 03 STA.W OAM_DispY,Y CODE_01C151: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01C154: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_01C157: A9 D4 LDA.B #$D4 CODE_01C159: 99 02 03 STA.W OAM_Tile,Y CODE_01C15C: 1A INC A CODE_01C15D: 99 06 03 STA.W OAM_Tile2,Y CODE_01C160: 99 0A 03 STA.W OAM_Tile3,Y CODE_01C163: A9 32 LDA.B #$32 CODE_01C165: 99 03 03 STA.W OAM_Prop,Y CODE_01C168: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_01C16B: 99 0B 03 STA.W OAM_Tile3Prop,Y CODE_01C16E: A0 00 LDY.B #$00 CODE_01C170: A9 02 LDA.B #$02 CODE_01C172: 4C BB B7 JMP.W FinishOAMWriteRt CODE_01C175: BD 40 15 LDA.W $1540,X CODE_01C178: F0 05 BEQ CODE_01C17F CODE_01C17A: 22 CA F1 07 JSL.L CODE_07F1CA Return01C17E: 60 RTS ; Return CODE_01C17F: 9E C8 14 STZ.W $14C8,X Return01C182: 60 RTS ; Return GrowingVine: A5 64 LDA $64 CODE_01C185: 48 PHA CODE_01C186: BD 40 15 LDA.W $1540,X CODE_01C189: C9 20 CMP.B #$20 CODE_01C18B: 90 04 BCC CODE_01C191 CODE_01C18D: A9 10 LDA.B #$10 CODE_01C18F: 85 64 STA $64 CODE_01C191: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01C194: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01C197: A5 14 LDA RAM_FrameCounterB CODE_01C199: 4A LSR CODE_01C19A: 4A LSR CODE_01C19B: 4A LSR CODE_01C19C: 4A LSR CODE_01C19D: A9 AC LDA.B #$AC CODE_01C19F: 90 02 BCC CODE_01C1A3 CODE_01C1A1: A9 AE LDA.B #$AE CODE_01C1A3: 99 02 03 STA.W OAM_Tile,Y CODE_01C1A6: 68 PLA CODE_01C1A7: 85 64 STA $64 CODE_01C1A9: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01C1AB: D0 40 BNE Return01C1ED ; / CODE_01C1AD: A9 F0 LDA.B #$F0 CODE_01C1AF: 95 AA STA RAM_SpriteSpeedY,X CODE_01C1B1: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01C1B4: BD 40 15 LDA.W $1540,X CODE_01C1B7: C9 20 CMP.B #$20 CODE_01C1B9: B0 10 BCS CODE_01C1CB CODE_01C1BB: 20 40 91 JSR.W CODE_019140 CODE_01C1BE: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_01C1C1: D0 05 BNE CODE_01C1C8 CODE_01C1C3: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01C1C6: 10 03 BPL CODE_01C1CB CODE_01C1C8: 4C 80 AC JMP.W OffScrEraseSprite CODE_01C1CB: B5 D8 LDA RAM_SpriteYLo,X CODE_01C1CD: 29 0F AND.B #$0F CODE_01C1CF: C9 00 CMP.B #$00 CODE_01C1D1: D0 1A BNE Return01C1ED CODE_01C1D3: B5 E4 LDA RAM_SpriteXLo,X ; \ $9A = Sprite X position CODE_01C1D5: 85 9A STA RAM_BlockYLo ; | for block creation CODE_01C1D7: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_01C1DA: 85 9B STA RAM_BlockYHi ; / CODE_01C1DC: B5 D8 LDA RAM_SpriteYLo,X ; \ $98 = Sprite Y position CODE_01C1DE: 85 98 STA RAM_BlockXLo ; | for block creation CODE_01C1E0: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_01C1E3: 85 99 STA RAM_BlockXHi ; / CODE_01C1E5: A9 03 LDA.B #$03 ; \ Block to generate = Vine CODE_01C1E7: 85 9C STA RAM_BlockBlock ; / CODE_01C1E9: 22 B0 BE 00 JSL.L GenerateTile ; Generate the tile Return01C1ED: 60 RTS ; Return DATA_01C1EE: .db $FF,$01 DATA_01C1F0: .db $F0,$10 BalloonKeyFlyObjs: BD C8 14 LDA.W $14C8,X CODE_01C1F5: C9 0C CMP.B #$0C CODE_01C1F7: F0 5C BEQ CODE_01C255 CODE_01C1F9: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01C1FB: D0 58 BNE CODE_01C255 ; / CODE_01C1FD: B5 9E LDA RAM_SpriteNum,X CODE_01C1FF: C9 7D CMP.B #$7D CODE_01C201: D0 1A BNE CODE_01C21D CODE_01C203: BD 40 15 LDA.W $1540,X CODE_01C206: F0 15 BEQ CODE_01C21D ADDR_01C208: A5 64 LDA $64 ADDR_01C20A: 48 PHA ADDR_01C20B: A9 10 LDA.B #$10 ADDR_01C20D: 85 64 STA $64 ADDR_01C20F: 20 1A C6 JSR.W CODE_01C61A ADDR_01C212: 68 PLA ADDR_01C213: 85 64 STA $64 ADDR_01C215: A9 F8 LDA.B #$F8 ADDR_01C217: 95 AA STA RAM_SpriteSpeedY,X ADDR_01C219: 20 D8 AB JSR.W SubSprYPosNoGrvty Return01C21C: 60 RTS ; Return CODE_01C21D: A5 13 LDA RAM_FrameCounter CODE_01C21F: 29 01 AND.B #$01 CODE_01C221: D0 16 BNE CODE_01C239 CODE_01C223: BD 1C 15 LDA.W $151C,X CODE_01C226: 29 01 AND.B #$01 CODE_01C228: A8 TAY CODE_01C229: B5 AA LDA RAM_SpriteSpeedY,X CODE_01C22B: 18 CLC CODE_01C22C: 79 EE C1 ADC.W DATA_01C1EE,Y CODE_01C22F: 95 AA STA RAM_SpriteSpeedY,X CODE_01C231: D9 F0 C1 CMP.W DATA_01C1F0,Y CODE_01C234: D0 03 BNE CODE_01C239 CODE_01C236: FE 1C 15 INC.W $151C,X CODE_01C239: A9 0C LDA.B #$0C CODE_01C23B: 95 B6 STA RAM_SpriteSpeedX,X CODE_01C23D: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01C240: B5 AA LDA RAM_SpriteSpeedY,X CODE_01C242: 48 PHA CODE_01C243: 18 CLC CODE_01C244: 38 SEC CODE_01C245: E9 02 SBC.B #$02 CODE_01C247: 95 AA STA RAM_SpriteSpeedY,X CODE_01C249: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01C24C: 68 PLA CODE_01C24D: 95 AA STA RAM_SpriteSpeedY,X CODE_01C24F: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01C252: FE 70 15 INC.W $1570,X CODE_01C255: B5 9E LDA RAM_SpriteNum,X CODE_01C257: C9 7D CMP.B #$7D CODE_01C259: D0 07 BNE CODE_01C262 CODE_01C25B: A9 01 LDA.B #$01 CODE_01C25D: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01C260: 80 1D BRA CODE_01C27F CODE_01C262: B5 C2 LDA RAM_SpriteState,X CODE_01C264: C9 02 CMP.B #$02 CODE_01C266: D0 14 BNE CODE_01C27C CODE_01C268: A5 13 LDA RAM_FrameCounter CODE_01C26A: 29 03 AND.B #$03 CODE_01C26C: D0 03 BNE CODE_01C271 CODE_01C26E: 20 4E B1 JSR.W CODE_01B14E CODE_01C271: A5 14 LDA RAM_FrameCounterB CODE_01C273: 4A LSR CODE_01C274: 29 0E AND.B #$0E CODE_01C276: 5D F6 15 EOR.W RAM_SpritePal,X CODE_01C279: 9D F6 15 STA.W RAM_SpritePal,X CODE_01C27C: 20 95 9E JSR.W CODE_019E95 CODE_01C27F: B5 C2 LDA RAM_SpriteState,X CODE_01C281: F0 04 BEQ CODE_01C287 CODE_01C283: 20 65 A3 JSR.W GetDrawInfoBnk1 Return01C286: 60 RTS ; Return CODE_01C287: 20 1A C6 JSR.W CODE_01C61A CODE_01C28A: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01C28D: 90 43 BCC Return01C2D2 CODE_01C28F: B5 9E LDA RAM_SpriteNum,X CODE_01C291: C9 7E CMP.B #$7E CODE_01C293: D0 11 BNE CODE_01C2A6 ADDR_01C295: 20 F0 C4 JSR.W CODE_01C4F0 ADDR_01C298: A9 05 LDA.B #$05 ADDR_01C29A: 22 29 B3 05 JSL.L ADDR_05B329 ADDR_01C29E: A9 03 LDA.B #$03 ADDR_01C2A0: 22 E5 AC 02 JSL.L GivePoints ADDR_01C2A4: 80 69 BRA ADDR_01C30F CODE_01C2A6: C9 7F CMP.B #$7F CODE_01C2A8: D0 05 BNE CODE_01C2AF ADDR_01C2AA: 20 FE C5 JSR.W GiveMario1Up ADDR_01C2AD: 80 60 BRA ADDR_01C30F CODE_01C2AF: C9 80 CMP.B #$80 CODE_01C2B1: D0 1B BNE CODE_01C2CE ADDR_01C2B3: A5 7D LDA RAM_MarioSpeedY ADDR_01C2B5: 30 1B BMI Return01C2D2 ADDR_01C2B7: A9 09 LDA.B #$09 ; \ Sprite status = Carryable ADDR_01C2B9: 9D C8 14 STA.W $14C8,X ; / ADDR_01C2BC: A9 D0 LDA.B #$D0 ADDR_01C2BE: 85 7D STA RAM_MarioSpeedY ADDR_01C2C0: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 ADDR_01C2C2: 9E 40 15 STZ.W $1540,X ADDR_01C2C5: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ Use default interation with Mario ADDR_01C2C8: 29 7F AND.B #$7F ; | ADDR_01C2CA: 9D 7A 16 STA.W RAM_Tweaker167A,X ; / Return01C2CD: 60 RTS ; Return CODE_01C2CE: C9 7D CMP.B #$7D CODE_01C2D0: F0 01 BEQ CODE_01C2D3 Return01C2D2: 60 RTS ; Return CODE_01C2D3: A0 0B LDY.B #$0B CODE_01C2D5: B9 C8 14 LDA.W $14C8,Y CODE_01C2D8: C9 0B CMP.B #$0B CODE_01C2DA: D0 0C BNE CODE_01C2E8 CODE_01C2DC: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01C2DF: C9 7D CMP.B #$7D CODE_01C2E1: F0 05 BEQ CODE_01C2E8 CODE_01C2E3: A9 09 LDA.B #$09 ; \ Sprite status = Carryable CODE_01C2E5: 99 C8 14 STA.W $14C8,Y ; / CODE_01C2E8: 88 DEY CODE_01C2E9: 10 EA BPL CODE_01C2D5 CODE_01C2EB: A9 00 LDA.B #$00 CODE_01C2ED: AC F3 13 LDY.W $13F3 CODE_01C2F0: D0 02 BNE CODE_01C2F4 CODE_01C2F2: A9 0B LDA.B #$0B ; \ Sprite status = Being carried CODE_01C2F4: 9D C8 14 STA.W $14C8,X ; / CODE_01C2F7: A5 7D LDA RAM_MarioSpeedY CODE_01C2F9: 95 AA STA RAM_SpriteSpeedY,X CODE_01C2FB: A5 7B LDA RAM_MarioSpeedX CODE_01C2FD: 95 B6 STA RAM_SpriteSpeedX,X CODE_01C2FF: A9 09 LDA.B #$09 CODE_01C301: 8D F3 13 STA.W $13F3 CODE_01C304: A9 FF LDA.B #$FF CODE_01C306: 8D 91 18 STA.W $1891 CODE_01C309: A9 1E LDA.B #$1E ; \ Play sound effect CODE_01C30B: 8D F9 1D STA.W $1DF9 ; / Return01C30E: 60 RTS ; Return ADDR_01C30F: 9E C8 14 STZ.W $14C8,X Return01C312: 60 RTS ; Return ChangingItemSprite: .db $74,$75,$77,$76 ChangingItem: A9 01 LDA.B #$01 CODE_01C319: 9D 1C 15 STA.W $151C,X CODE_01C31C: BD D0 15 LDA.W $15D0,X CODE_01C31F: D0 03 BNE CODE_01C324 CODE_01C321: FE 7B 18 INC.W $187B,X CODE_01C324: BD 7B 18 LDA.W $187B,X ; \ Determine which power-up to act like CODE_01C327: 4A LSR ; | CODE_01C328: 4A LSR ; | CODE_01C329: 4A LSR ; | CODE_01C32A: 4A LSR ; | CODE_01C32B: 4A LSR ; | CODE_01C32C: 4A LSR ; | CODE_01C32D: 29 03 AND.B #$03 ; | CODE_01C32F: A8 TAY ; | CODE_01C330: B9 13 C3 LDA.W ChangingItemSprite,Y ; / CODE_01C333: 95 9E STA RAM_SpriteNum,X ; \ Change into the appropriate power up CODE_01C335: 22 8B F7 07 JSL.L LoadSpriteTables ; / CODE_01C339: 20 53 C3 JSR.W PowerUpRt ; Run the power up code CODE_01C33C: A9 81 LDA.B #$81 ; \ Change it back to the turning item CODE_01C33E: 95 9E STA RAM_SpriteNum,X ; | CODE_01C340: 22 8B F7 07 JSL.L LoadSpriteTables ; / Return01C344: 60 RTS ; Return EatenBerryGfxProp: .db $02,$02,$04,$06 FireFlower: A5 14 LDA RAM_FrameCounterB ; \ Flip flower every 8 frames CODE_01C34B: 29 08 AND.B #$08 ; | CODE_01C34D: 4A LSR ; | CODE_01C34E: 4A LSR ; | CODE_01C34F: 4A LSR ; | ($157C,x = 0 or 1) CODE_01C350: 9D 7C 15 STA.W RAM_SpriteDir,X ; / PowerUpRt: BD 0E 16 LDA.W $160E,X CODE_01C356: F0 19 BEQ CODE_01C371 DrawBerryGfx: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01C35B: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01C35E: A9 80 LDA.B #$80 ; \ Set berry tile to OAM CODE_01C360: 99 02 03 STA.W OAM_Tile,Y ; / CODE_01C363: DA PHX ; \ Set gfx properties of berry CODE_01C364: AE D6 18 LDX.W $18D6 ; | X = type of berry being eaten CODE_01C367: BD 45 C3 LDA.W EatenBerryGfxProp,X ; | CODE_01C36A: 05 64 ORA $64 ; | CODE_01C36C: 99 03 03 STA.W OAM_Prop,Y ; / CODE_01C36F: FA PLX ; X = sprite index Return01C370: 60 RTS ; Return CODE_01C371: A5 64 LDA $64 CODE_01C373: 48 PHA CODE_01C374: 20 AC C4 JSR.W CODE_01C4AC CODE_01C377: BD 34 15 LDA.W $1534,X CODE_01C37A: F0 13 BEQ CODE_01C38F CODE_01C37C: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01C37E: D0 07 BNE CODE_01C387 ; / CODE_01C380: A9 10 LDA.B #$10 CODE_01C382: 95 AA STA RAM_SpriteSpeedY,X CODE_01C384: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01C387: A5 14 LDA RAM_FrameCounterB CODE_01C389: 29 0C AND.B #$0C CODE_01C38B: D0 1E BNE CODE_01C3AB CODE_01C38D: 68 PLA Return01C38E: 60 RTS ; Return CODE_01C38F: BD 40 15 LDA.W $1540,X CODE_01C392: F0 1A BEQ CODE_01C3AE CODE_01C394: 20 40 91 JSR.W CODE_019140 CODE_01C397: BD 28 15 LDA.W $1528,X CODE_01C39A: D0 04 BNE CODE_01C3A0 CODE_01C39C: A9 10 LDA.B #$10 CODE_01C39E: 85 64 STA $64 CODE_01C3A0: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01C3A2: D0 07 BNE CODE_01C3AB ; / CODE_01C3A4: A9 FC LDA.B #$FC CODE_01C3A6: 95 AA STA RAM_SpriteSpeedY,X CODE_01C3A8: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01C3AB: 4C 8D C4 JMP.W CODE_01C48D CODE_01C3AE: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01C3B0: D0 F9 BNE CODE_01C3AB ; / CODE_01C3B2: BD C8 14 LDA.W $14C8,X CODE_01C3B5: C9 0C CMP.B #$0C CODE_01C3B7: F0 F2 BEQ CODE_01C3AB CODE_01C3B9: B5 9E LDA RAM_SpriteNum,X CODE_01C3BB: C9 76 CMP.B #$76 ; \ Useless code, branch nowhere if not a star CODE_01C3BD: D0 00 BNE CODE_01C3BF ; / CODE_01C3BF: FE 70 15 INC.W $1570,X CODE_01C3C2: 20 BB 8D JSR.W CODE_018DBB CODE_01C3C5: B5 9E LDA RAM_SpriteNum,X CODE_01C3C7: C9 75 CMP.B #$75 ; flower CODE_01C3C9: D0 07 BNE CODE_01C3D2 CODE_01C3CB: BD 1C 15 LDA.W $151C,X CODE_01C3CE: D0 02 BNE CODE_01C3D2 CODE_01C3D0: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_01C3D2: C9 76 CMP.B #$76 ; star CODE_01C3D4: F0 0B BEQ CODE_01C3E1 CODE_01C3D6: C9 21 CMP.B #$21 ; sprite coin CODE_01C3D8: F0 07 BEQ CODE_01C3E1 CODE_01C3DA: BD 1C 15 LDA.W $151C,X CODE_01C3DD: D0 02 BNE CODE_01C3E1 CODE_01C3DF: 16 B6 ASL RAM_SpriteSpeedX,X CODE_01C3E1: B5 C2 LDA RAM_SpriteState,X CODE_01C3E3: F0 0E BEQ CODE_01C3F3 CODE_01C3E5: 30 0A BMI CODE_01C3F1 CODE_01C3E7: 20 40 91 JSR.W CODE_019140 CODE_01C3EA: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_01C3ED: D0 02 BNE CODE_01C3F1 CODE_01C3EF: 74 C2 STZ RAM_SpriteState,X CODE_01C3F1: 80 44 BRA CODE_01C437 CODE_01C3F3: AD 9B 0D LDA.W $0D9B CODE_01C3F6: C9 C1 CMP.B #$C1 CODE_01C3F8: F0 32 BEQ CODE_01C42C CODE_01C3FA: 2C 9B 0D BIT.W $0D9B CODE_01C3FD: 50 2D BVC CODE_01C42C ADDR_01C3FF: 9E 88 15 STZ.W RAM_SprObjStatus,X ADDR_01C402: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 ADDR_01C404: BD D4 14 LDA.W RAM_SpriteYHi,X ADDR_01C407: D0 15 BNE ADDR_01C41E ADDR_01C409: B5 D8 LDA RAM_SpriteYLo,X ADDR_01C40B: C9 A0 CMP.B #$A0 ADDR_01C40D: 90 0F BCC ADDR_01C41E ADDR_01C40F: 29 F0 AND.B #$F0 ADDR_01C411: 95 D8 STA RAM_SpriteYLo,X ADDR_01C413: BD 88 15 LDA.W RAM_SprObjStatus,X ADDR_01C416: 09 04 ORA.B #$04 ADDR_01C418: 9D 88 15 STA.W RAM_SprObjStatus,X ADDR_01C41B: 20 BB 8D JSR.W CODE_018DBB ADDR_01C41E: 20 CC AB JSR.W SubSprXPosNoGrvty ADDR_01C421: 20 D8 AB JSR.W SubSprYPosNoGrvty ADDR_01C424: F6 AA INC RAM_SpriteSpeedY,X ADDR_01C426: F6 AA INC RAM_SpriteSpeedY,X ADDR_01C428: F6 AA INC RAM_SpriteSpeedY,X ADDR_01C42A: 80 03 BRA CODE_01C42F CODE_01C42C: 20 32 90 JSR.W SubUpdateSprPos CODE_01C42F: A5 13 LDA RAM_FrameCounter CODE_01C431: 29 03 AND.B #$03 CODE_01C433: F0 02 BEQ CODE_01C437 CODE_01C435: D6 AA DEC RAM_SpriteSpeedY,X CODE_01C437: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01C43A: 20 14 80 JSR.W IsTouchingCeiling CODE_01C43D: F0 04 BEQ CODE_01C443 CODE_01C43F: A9 00 LDA.B #$00 CODE_01C441: 95 AA STA RAM_SpriteSpeedY,X CODE_01C443: 20 0E 80 JSR.W IsOnGround CODE_01C446: D0 02 BNE CODE_01C44A CODE_01C448: 80 34 BRA CODE_01C47E CODE_01C44A: B5 9E LDA RAM_SpriteNum,X CODE_01C44C: C9 21 CMP.B #$21 ; sprite coin CODE_01C44E: D0 1C BNE CODE_01C46C CODE_01C450: 20 BB 8D JSR.W CODE_018DBB CODE_01C453: B5 AA LDA RAM_SpriteSpeedY,X CODE_01C455: 1A INC A CODE_01C456: 48 PHA CODE_01C457: 20 04 9A JSR.W SetSomeYSpeed?? CODE_01C45A: 68 PLA CODE_01C45B: 4A LSR CODE_01C45C: 20 EC CC JSR.W CODE_01CCEC CODE_01C45F: C9 FC CMP.B #$FC CODE_01C461: B0 07 BCS CODE_01C46A CODE_01C463: BC 88 15 LDY.W RAM_SprObjStatus,X CODE_01C466: 30 02 BMI CODE_01C46A CODE_01C468: 95 AA STA RAM_SpriteSpeedY,X CODE_01C46A: 80 12 BRA CODE_01C47E CODE_01C46C: 20 04 9A JSR.W SetSomeYSpeed?? CODE_01C46F: BD 1C 15 LDA.W $151C,X CODE_01C472: D0 06 BNE CODE_01C47A CODE_01C474: B5 9E LDA RAM_SpriteNum,X CODE_01C476: C9 76 CMP.B #$76 ; star CODE_01C478: D0 04 BNE CODE_01C47E CODE_01C47A: A9 C8 LDA.B #$C8 CODE_01C47C: 95 AA STA RAM_SpriteSpeedY,X CODE_01C47E: BD 58 15 LDA.W $1558,X CODE_01C481: 15 C2 ORA RAM_SpriteState,X CODE_01C483: D0 08 BNE CODE_01C48D CODE_01C485: 20 08 80 JSR.W IsTouchingObjSide CODE_01C488: F0 03 BEQ CODE_01C48D CODE_01C48A: 20 98 90 JSR.W FlipSpriteDir CODE_01C48D: BD 40 15 LDA.W $1540,X CODE_01C490: C9 36 CMP.B #$36 CODE_01C492: B0 14 BCS CODE_01C4A8 CODE_01C494: B5 C2 LDA RAM_SpriteState,X CODE_01C496: F0 04 BEQ CODE_01C49C CODE_01C498: C9 FF CMP.B #$FF CODE_01C49A: D0 05 BNE CODE_01C4A1 CODE_01C49C: BD 32 16 LDA.W RAM_SprBehindScrn,X CODE_01C49F: F0 04 BEQ CODE_01C4A5 CODE_01C4A1: A9 10 LDA.B #$10 CODE_01C4A3: 85 64 STA $64 CODE_01C4A5: 20 1A C6 JSR.W CODE_01C61A CODE_01C4A8: 68 PLA CODE_01C4A9: 85 64 STA $64 Return01C4AB: 60 RTS ; Return CODE_01C4AC: 20 0F A8 JSR.W CODE_01A80F CODE_01C4AF: 90 FA BCC Return01C4AB CODE_01C4B1: BD 1C 15 LDA.W $151C,X CODE_01C4B4: F0 04 BEQ CODE_01C4BA CODE_01C4B6: B5 C2 LDA RAM_SpriteState,X CODE_01C4B8: D0 40 BNE Return01C4FA CODE_01C4BA: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01C4BD: D0 3B BNE Return01C4FA CODE_01C4BF: BD 40 15 LDA.W $1540,X CODE_01C4C2: C9 18 CMP.B #$18 CODE_01C4C4: B0 34 BCS Return01C4FA CODE_01C4C6: 9E C8 14 STZ.W $14C8,X CODE_01C4C9: B5 9E LDA RAM_SpriteNum,X CODE_01C4CB: C9 21 CMP.B #$21 CODE_01C4CD: D0 69 BNE TouchedPowerUp CODE_01C4CF: 22 4A B3 05 JSL.L CODE_05B34A CODE_01C4D3: BD F6 15 LDA.W RAM_SpritePal,X CODE_01C4D6: 29 0E AND.B #$0E CODE_01C4D8: C9 02 CMP.B #$02 CODE_01C4DA: F0 04 BEQ CODE_01C4E0 CODE_01C4DC: A9 01 LDA.B #$01 CODE_01C4DE: 80 0C BRA CODE_01C4EC CODE_01C4E0: AD DD 18 LDA.W $18DD CODE_01C4E3: EE DD 18 INC.W $18DD CODE_01C4E6: C9 0A CMP.B #$0A CODE_01C4E8: 90 02 BCC CODE_01C4EC CODE_01C4EA: A9 0A LDA.B #$0A CODE_01C4EC: 22 E5 AC 02 JSL.L GivePoints CODE_01C4F0: A0 03 LDY.B #$03 CODE_01C4F2: B9 C0 17 LDA.W $17C0,Y CODE_01C4F5: F0 04 BEQ CODE_01C4FB CODE_01C4F7: 88 DEY CODE_01C4F8: 10 F8 BPL CODE_01C4F2 Return01C4FA: 60 RTS ; Return CODE_01C4FB: A9 05 LDA.B #$05 CODE_01C4FD: 99 C0 17 STA.W $17C0,Y CODE_01C500: B5 E4 LDA RAM_SpriteXLo,X CODE_01C502: 99 C8 17 STA.W $17C8,Y CODE_01C505: B5 D8 LDA RAM_SpriteYLo,X CODE_01C507: 99 C4 17 STA.W $17C4,Y CODE_01C50A: A9 10 LDA.B #$10 CODE_01C50C: 99 CC 17 STA.W $17CC,Y Return01C50F: 60 RTS ; Return ItemBoxSprite: .db $00,$01,$01,$01,$00,$01,$04,$02 .db $00,$00,$00,$00,$00,$01,$04,$02 .db $00,$00,$00,$00 GivePowerPtrIndex: .db $00,$01,$01,$01,$04,$04,$04,$01 .db $02,$02,$02,$02,$03,$03,$01,$03 .db $05,$05,$05,$05 TouchedPowerUp: 38 SEC ; \ Index created from... CODE_01C539: E9 74 SBC.B #$74 ; | ... powerup touched (upper 2 bits) CODE_01C53B: 0A ASL ; | CODE_01C53C: 0A ASL ; | CODE_01C53D: 05 19 ORA RAM_MarioPowerUp ; | ... Mario's status (lower 3 bits) CODE_01C53F: A8 TAY ; / CODE_01C540: B9 10 C5 LDA.W ItemBoxSprite,Y ; \ Put appropriate item in item box CODE_01C543: F0 08 BEQ NoItem ; | CODE_01C545: 8D C2 0D STA.W $0DC2 ; / CODE_01C548: A9 0B LDA.B #$0B ; \ CODE_01C54A: 8D FC 1D STA.W $1DFC ; / Play sound effect NoItem: B9 24 C5 LDA.W GivePowerPtrIndex,Y ; \ Call routine to change Mario's status CODE_01C550: 22 DF 86 00 JSL.L ExecutePtr ; / HandlePowerUpPtrs: 61 C5 .dw GiveMarioMushroom ; 0 - Big 6F C5 .dw CODE_01C56F ; 1 - No change 92 C5 .dw GiveMarioStar ; 2 - Star 98 C5 .dw GiveMarioCape ; 3 - Cape EC C5 .dw GiveMarioFire ; 4 - Fire FE C5 .dw GiveMario1Up ; 5 - 1Up Return01C560: 60 RTS GiveMarioMushroom: A9 02 LDA.B #$02 ; \ Set growing action CODE_01C563: 85 71 STA RAM_MarioAnimation ; / CODE_01C565: A9 2F LDA.B #$2F ; \ CODE_01C567: 99 96 14 STA.W $1496,Y ; | Set animation timer CODE_01C56A: 85 9D STA RAM_SpritesLocked ; / Set lock sprites timer CODE_01C56C: 4C 6F C5 JMP.W CODE_01C56F ; JMP to next instruction? CODE_01C56F: A9 04 LDA.B #$04 CODE_01C571: BC 34 15 LDY.W $1534,X CODE_01C574: D0 04 BNE CODE_01C57A CODE_01C576: 22 E5 AC 02 JSL.L GivePoints CODE_01C57A: A9 0A LDA.B #$0A ; \ CODE_01C57C: 8D F9 1D STA.W $1DF9 ; / Return01C57F: 60 RTS ; Return CODE_01C580: A9 FF LDA.B #$FF ; \ Set star timer CODE_01C582: 8D 90 14 STA.W $1490 ; / CODE_01C585: A9 0D LDA.B #$0D ; \ CODE_01C587: 8D FB 1D STA.W $1DFB ; / Change music CODE_01C58A: 0E DA 0D ASL.W $0DDA CODE_01C58D: 38 SEC CODE_01C58E: 6E DA 0D ROR.W $0DDA Return01C591: 6B RTL ; Return GiveMarioMushroom: A9 02 LDA.B #$02 ; \ Set growing action CODE_01C563: 85 71 STA RAM_MarioAnimation ; / CODE_01C565: A9 2F LDA.B #$2F ; \ Set animation timer: CODE_01C567: 99 96 14 STA.W $1496,Y ; | 48 frames CODE_01C56A: 85 9D STA RAM_SpritesLocked ; / Set lock sprites timer, also 48 frames CODE_01C56C: 4C 6F C5 JMP.W CODE_01C56F ; jump...0 bytes forward? CODE_01C56F: A9 04 LDA.B #$04 ; 04=1000 points in points routine, so load A with 04 CODE_01C571: BC 34 15 LDY.W $1534,X ; Load Y with a value from an unknown sprite table, $1534,x CODE_01C574: D0 04 BNE CODE_01C57A ; if that value is not 00, skip points routine CODE_01C576: 22 E5 AC 02 JSL.L GivePoints ; otherwise, jump to points routine CODE_01C57A: A9 0A LDA.B #$0A ; \ play sound effect: CODE_01C57C: 8D F9 1D STA.W $1DF9 ; / "get mushroom" sound effect Return01C57F: 60 RTS ; return ; Star code CODE_01C580: A9 FF LDA.B #$FF ; \ Set star timer: CODE_01C582: 8D 90 14 STA.W $1490 ; / 256 frames or 16 seconds CODE_01C585: A9 0D LDA.B #$0D ; change music CODE_01C587: 8D FB 1D STA.W $1DFB ; to star music CODE_01C58A: 0E DA 0D ASL.W $0DDA ; shift music value left 1 bit... CODE_01C58D: 38 SEC ; set carry flag... CODE_01C58E: 6E DA 0D ROR.W $0DDA ; ...and rotate music byte right 1 bit, causing the music value to remain the same it was before except that bit 7 has now been set (?) Return01C591: 6B RTL ; Return GiveMarioStar: 22 80 C5 01 JSL.L CODE_01C580 ; jump to actual star code (inefficiently; a byte could be saved here by using JSR instead, since we're already in bank 01) CODE_01C596: 80 D7 BRA CODE_01C56F ; jump to same points routine used by the mushroom GiveMarioCape: A9 02 LDA.B #$02 ; set Mario's powerup to 02, CODE_01C59A: 85 19 STA RAM_MarioPowerUp ; giving him a cape CODE_01C59C: A9 0D LDA.B #$0D ; \ play "get cape" sound effect CODE_01C59E: 8D F9 1D STA.W $1DF9 ; / CODE_01C5A1: A9 04 LDA.B #$04 ; use same points routine that all powerups use: CODE_01C5A3: 22 E5 AC 02 JSL.L GivePoints ; 04: 1000 points CODE_01C5A7: 22 AE C5 01 JSL.L CODE_01C5AE ; JSL to next part of cape code (again, JSR would have worked) CODE_01C5AB: E6 9D INC RAM_SpritesLocked ; increment sprite lock timer Return01C5AD: 60 RTS ; return CODE_01C5AE: A5 81 LDA $81 ; take the high byte of player's Y position... CODE_01C5B0: 05 7F ORA $7F ; ...and add in the high byte of the player's X position CODE_01C5B2: D0 37 BNE Return01C5EB ; if both high bytes were not 0, then just return CODE_01C5B4: A9 03 LDA.B #$03 ; CODE_01C5B6: 85 71 STA RAM_MarioAnimation ; display "get cape" animation ($71=03) CODE_01C5B8: A9 18 LDA.B #$18 ; set Mario hurt frame counter CODE_01C5BA: 8D 96 14 STA.W $1496 ; to 18 CODE_01C5BD: A0 03 LDY.B #$03 ; CODE_01C5BF: B9 C0 17 LDA.W $17C0,Y ; load fourth slot of smoke image table CODE_01C5C2: F0 10 BEQ CODE_01C5D4 ; if that slot is unused, skip check with $1863 CODE_01C5C4: 88 DEY ; decrement Y, and if Y is still positive... CODE_01C5C5: 10 F8 BPL CODE_01C5BF ; check next slot of smoke image table CODE_01C5C7: CE 63 18 DEC.W $1863 ; if all four slots of table full, decrement $1863 (unknown use) CODE_01C5CA: 10 05 BPL CODE_01C5D1 ; if $1863>=0, skip next part (storing to $1863) CODE_01C5CC: A9 03 LDA.B #$03 ; if $1863 is negative, CODE_01C5CE: 8D 63 18 STA.W $1863 ; change it to 03 CODE_01C5D1: AC 63 18 LDY.W $1863 ; load $1863... CODE_01C5D4: A9 81 LDA.B #$81 ; set type of smoke image: $81 (?) CODE_01C5D6: 99 C0 17 STA.W $17C0,Y ; CODE_01C5D9: A9 1B LDA.B #$1B ; set time to show smoke image: $18 CODE_01C5DB: 99 CC 17 STA.W $17CC,Y ; CODE_01C5DE: A5 96 LDA RAM_MarioYPos ; CODE_01C5E0: 18 CLC ; CODE_01C5E1: 69 08 ADC.B #$08 ; Y position of smoke image: CODE_01C5E3: 99 C4 17 STA.W $17C4,Y ; 8 pixels below Mario CODE_01C5E6: A5 94 LDA RAM_MarioXPos ; X position of smoke image CODE_01C5E8: 99 C8 17 STA.W $17C8,Y ; matches Mario's X position Return01C5EB: 6B RTL ; Return GiveMarioFire: A9 20 LDA.B #$20 ;\ make mario's palette flash CODE_01C5EE: 8D 9B 14 STA.W RAM_FlashingPalTimer ;/ CODE_01C5F1: 85 9D STA RAM_SpritesLocked ;/ and lock the sprites for that same amount of time CODE_01C5F3: A9 04 LDA.B #$04 ;\ set the "get powerup" animation CODE_01C5F5: 85 71 STA RAM_MarioAnimation ;/ CODE_01C5F7: A9 03 LDA.B #$03 ;\ CODE_01C5F9: 85 19 STA RAM_MarioPowerUp ;/ make mario firey CODE_01C5FB: 4C 6F C5 JMP.W CODE_01C56F GiveMario1Up: A9 08 LDA.B #$08 ;\ CODE_01C600: 18 CLC ;|points to give is calculated CODE_01C601: 7D 94 15 ADC.W $1594,X ;/ CODE_01C604: 22 E5 AC 02 JSL.L GivePoints ; give points Return01C608: 60 RTS ; Return PowerUpTiles: .db $24,$26,$48,$0E,$24,$00,$00,$00 .db $00,$E4,$E8,$24,$EC StarPalValues: .db $00,$04,$08,$04 CODE_01C61A: 20 65 A3 JSR.W GetDrawInfoBnk1 ; Draw sprite CODE_01C61D: 64 0A STZ $0A ; Scratch ram CODE_01C61F: AD 0F 14 LDA.W $140F CODE_01C622: D0 12 BNE CODE_01C636 CODE_01C624: AD 9B 0D LDA.W $0D9B CODE_01C627: C9 C1 CMP.B #$C1 CODE_01C629: F0 0B BEQ CODE_01C636 CODE_01C62B: 2C 9B 0D BIT.W $0D9B CODE_01C62E: 50 06 BVC CODE_01C636 CODE_01C630: A9 D8 LDA.B #$D8 CODE_01C632: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01C635: A8 TAY CODE_01C636: B5 9E LDA RAM_SpriteNum,X ;\ CODE_01C638: C9 21 CMP.B #$21 ;| if sprite is a coin, show certain graphics CODE_01C63A: D0 65 BNE PowerUpGfxRt ;/ CODE_01C63C: 22 41 C6 01 JSL.L CoinSprGfx Return01C640: 60 RTS ; Return CoinSprGfx: 20 45 C6 JSR.W CoinSprGfxSub ; Return01C644: 6B RTL ; Return CoinSprGfxSub: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01C648: A5 00 LDA $00 CODE_01C64A: 99 00 03 STA.W OAM_DispX,Y CODE_01C64D: A5 01 LDA $01 CODE_01C64F: 99 01 03 STA.W OAM_DispY,Y CODE_01C652: A9 E8 LDA.B #$E8 CODE_01C654: 99 02 03 STA.W OAM_Tile,Y CODE_01C657: BD F6 15 LDA.W RAM_SpritePal,X CODE_01C65A: 05 64 ORA $64 CODE_01C65C: 99 03 03 STA.W OAM_Prop,Y CODE_01C65F: 8A TXA CODE_01C660: 18 CLC CODE_01C661: 65 14 ADC RAM_FrameCounterB CODE_01C663: 4A LSR CODE_01C664: 4A LSR CODE_01C665: 29 03 AND.B #$03 CODE_01C667: D0 07 BNE CODE_01C670 CODE_01C669: A0 02 LDY.B #$02 CODE_01C66B: 80 2D BRA CODE_01C69A MovingCoinTiles: .db $EA,$FA,$EA CODE_01C670: DA PHX CODE_01C671: AA TAX CODE_01C672: A5 00 LDA $00 CODE_01C674: 18 CLC CODE_01C675: 69 04 ADC.B #$04 CODE_01C677: 99 00 03 STA.W OAM_DispX,Y CODE_01C67A: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_01C67D: A5 01 LDA $01 CODE_01C67F: 18 CLC CODE_01C680: 69 08 ADC.B #$08 CODE_01C682: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01C685: BF 6C C6 01 LDA.L MovingCoinTiles-1,X CODE_01C689: 99 02 03 STA.W OAM_Tile,Y CODE_01C68C: 99 06 03 STA.W OAM_Tile2,Y CODE_01C68F: B9 03 03 LDA.W OAM_Prop,Y CODE_01C692: 09 80 ORA.B #$80 CODE_01C694: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_01C697: FA PLX CODE_01C698: A0 00 LDY.B #$00 CODE_01C69A: A9 01 LDA.B #$01 CODE_01C69C: 22 B3 B7 01 JSL.L FinishOAMWrite Return01C6A0: 60 RTS ; Return PowerUpGfxRt: C9 76 CMP.B #$76 ; \ Setup flashing palette for star CODE_01C6A3: D0 0D BNE NoFlashingPal ; | CODE_01C6A5: A5 13 LDA RAM_FrameCounter ; | CODE_01C6A7: 4A LSR ; | CODE_01C6A8: 29 03 AND.B #$03 ; | CODE_01C6AA: 5A PHY ; | CODE_01C6AB: A8 TAY ; | CODE_01C6AC: B9 16 C6 LDA.W StarPalValues,Y ; | CODE_01C6AF: 7A PLY ; | CODE_01C6B0: 85 0A STA $0A ; / $0A contains palette info, will be applied later NoFlashingPal: A5 00 LDA $00 ; \ Set tile x position CODE_01C6B4: 99 00 03 STA.W OAM_DispX,Y ; / CODE_01C6B7: A5 01 LDA $01 ; \ Set tile y position CODE_01C6B9: 3A DEC A ; | CODE_01C6BA: 99 01 03 STA.W OAM_DispY,Y ; / CODE_01C6BD: BD 7C 15 LDA.W RAM_SpriteDir,X ; \ Flip flower/cape if 157C,x is set CODE_01C6C0: 4A LSR ; | CODE_01C6C1: A9 00 LDA.B #$00 ; | CODE_01C6C3: B0 02 BCS CODE_01C6C7 ; | CODE_01C6C5: 09 40 ORA.B #$40 ; / CODE_01C6C7: 05 64 ORA $64 ; \ Add in level priority information CODE_01C6C9: 1D F6 15 ORA.W RAM_SpritePal,X ; | Add in palette/gfx page CODE_01C6CC: 45 0A EOR $0A ; | Adjust palette for star CODE_01C6CE: 99 03 03 STA.W OAM_Prop,Y ; / Set property byte CODE_01C6D1: B5 9E LDA RAM_SpriteNum,X ; \ Set powerup tile CODE_01C6D3: 38 SEC ; | CODE_01C6D4: E9 74 SBC.B #$74 ; | CODE_01C6D6: AA TAX ; | X = Sprite number - #$74 CODE_01C6D7: BD 09 C6 LDA.W PowerUpTiles,X ; | CODE_01C6DA: 99 02 03 STA.W OAM_Tile,Y ; / CODE_01C6DD: AE E9 15 LDX.W $15E9 ; X = sprite index CODE_01C6E0: A9 00 LDA.B #$00 CODE_01C6E2: 20 7E B3 JSR.W CODE_01B37E Return01C6E5: 60 RTS ; Return DATA_01C6E6: .db $02,$FE DATA_01C6E8: .db $20,$E0 DATA_01C6EA: .db $0A,$F6,$08 Feather: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01C6EF: D0 53 BNE CODE_01C744 ; / CODE_01C6F1: B5 C2 LDA RAM_SpriteState,X ;\ CODE_01C6F3: F0 0C BEQ CODE_01C701 ;/ if delected, do not worry about checking if floating CODE_01C6F5: 20 40 91 JSR.W CODE_019140 CODE_01C6F8: BD 88 15 LDA.W RAM_SprObjStatus,X ;\ if not floating, do not delete sprite CODE_01C6FB: D0 02 BNE CODE_01C6FF ;/ ADDR_01C6FD: 74 C2 STZ RAM_SpriteState,X ; delete sprite CODE_01C6FF: 80 40 BRA CODE_01C741 CODE_01C701: BD C8 14 LDA.W $14C8,X ;\ if...uh... CODE_01C704: C9 0C CMP.B #$0C ;/ CODE_01C706: F0 3C BEQ CODE_01C744 CODE_01C708: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01C70B: F0 08 BEQ CODE_01C715 CODE_01C70D: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01C710: F6 AA INC RAM_SpriteSpeedY,X CODE_01C712: 4C 41 C7 JMP.W CODE_01C741 CODE_01C715: BD 28 15 LDA.W $1528,X CODE_01C718: 29 01 AND.B #$01 CODE_01C71A: A8 TAY CODE_01C71B: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01C71D: 18 CLC CODE_01C71E: 79 E6 C6 ADC.W DATA_01C6E6,Y CODE_01C721: 95 B6 STA RAM_SpriteSpeedX,X CODE_01C723: D9 E8 C6 CMP.W DATA_01C6E8,Y CODE_01C726: D0 03 BNE CODE_01C72B CODE_01C728: FE 28 15 INC.W $1528,X CODE_01C72B: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01C72D: 10 01 BPL CODE_01C730 CODE_01C72F: C8 INY CODE_01C730: B9 EA C6 LDA.W DATA_01C6EA,Y CODE_01C733: 18 CLC CODE_01C734: 69 06 ADC.B #$06 CODE_01C736: 95 AA STA RAM_SpriteSpeedY,X CODE_01C738: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01C73B: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01C73E: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01C741: 20 15 9A JSR.W UpdateDirection CODE_01C744: 20 AC C4 JSR.W CODE_01C4AC CODE_01C747: 4C 1A C6 JMP.W CODE_01C61A InitBrwnChainPlat: A9 80 LDA.B #$80 CODE_01C74C: 9D 1C 15 STA.W $151C,X CODE_01C74F: A9 01 LDA.B #$01 CODE_01C751: 9D 28 15 STA.W $1528,X CODE_01C754: B5 E4 LDA RAM_SpriteXLo,X CODE_01C756: 18 CLC CODE_01C757: 69 78 ADC.B #$78 CODE_01C759: 95 E4 STA RAM_SpriteXLo,X CODE_01C75B: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01C75E: 69 00 ADC.B #$00 CODE_01C760: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01C763: B5 D8 LDA RAM_SpriteYLo,X CODE_01C765: 18 CLC CODE_01C766: 69 68 ADC.B #$68 CODE_01C768: 95 D8 STA RAM_SpriteYLo,X CODE_01C76A: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01C76D: 69 00 ADC.B #$00 CODE_01C76F: 9D D4 14 STA.W RAM_SpriteYHi,X Return01C772: 60 RTS ; Return BrownChainedPlat: 20 27 AC JSR.W SubOffscreen2Bnk1 CODE_01C776: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01C778: D0 1B BNE CODE_01C795 ; / CODE_01C77A: A5 13 LDA RAM_FrameCounter CODE_01C77C: 29 03 AND.B #$03 CODE_01C77E: 1D 02 16 ORA.W $1602,X CODE_01C781: D0 12 BNE CODE_01C795 CODE_01C783: A9 01 LDA.B #$01 CODE_01C785: BC 04 15 LDY.W $1504,X CODE_01C788: F0 0B BEQ CODE_01C795 CODE_01C78A: 30 02 BMI CODE_01C78E CODE_01C78C: A9 FF LDA.B #$FF CODE_01C78E: 18 CLC CODE_01C78F: 7D 04 15 ADC.W $1504,X CODE_01C792: 9D 04 15 STA.W $1504,X CODE_01C795: BD 1C 15 LDA.W $151C,X CODE_01C798: 48 PHA CODE_01C799: BD 28 15 LDA.W $1528,X CODE_01C79C: 48 PHA CODE_01C79D: A9 00 LDA.B #$00 CODE_01C79F: 38 SEC CODE_01C7A0: FD 1C 15 SBC.W $151C,X CODE_01C7A3: 9D 1C 15 STA.W $151C,X CODE_01C7A6: A9 02 LDA.B #$02 CODE_01C7A8: FD 28 15 SBC.W $1528,X CODE_01C7AB: 29 01 AND.B #$01 CODE_01C7AD: 9D 28 15 STA.W $1528,X CODE_01C7B0: 20 CB CA JSR.W CODE_01CACB CODE_01C7B3: 20 20 CB JSR.W CODE_01CB20 CODE_01C7B6: 20 53 CB JSR.W CODE_01CB53 CODE_01C7B9: 68 PLA CODE_01C7BA: 9D 28 15 STA.W $1528,X CODE_01C7BD: 68 PLA CODE_01C7BE: 9D 1C 15 STA.W $151C,X CODE_01C7C1: AD B8 14 LDA.W $14B8 CODE_01C7C4: 48 PHA CODE_01C7C5: 38 SEC CODE_01C7C6: F5 C2 SBC RAM_SpriteState,X CODE_01C7C8: 8D 91 14 STA.W $1491 CODE_01C7CB: 68 PLA CODE_01C7CC: 95 C2 STA RAM_SpriteState,X CODE_01C7CE: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01C7D1: AD BA 14 LDA.W $14BA CODE_01C7D4: 38 SEC CODE_01C7D5: E5 1C SBC RAM_ScreenBndryYLo CODE_01C7D7: 38 SEC CODE_01C7D8: E9 08 SBC.B #$08 CODE_01C7DA: 99 01 03 STA.W OAM_DispY,Y CODE_01C7DD: AD B8 14 LDA.W $14B8 CODE_01C7E0: 38 SEC CODE_01C7E1: E5 1A SBC RAM_ScreenBndryXLo CODE_01C7E3: 38 SEC CODE_01C7E4: E9 08 SBC.B #$08 CODE_01C7E6: 99 00 03 STA.W OAM_DispX,Y CODE_01C7E9: A9 A2 LDA.B #$A2 CODE_01C7EB: 99 02 03 STA.W OAM_Tile,Y CODE_01C7EE: A9 31 LDA.B #$31 CODE_01C7F0: 99 03 03 STA.W OAM_Prop,Y CODE_01C7F3: A0 00 LDY.B #$00 CODE_01C7F5: AD BA 14 LDA.W $14BA CODE_01C7F8: 38 SEC CODE_01C7F9: ED B2 14 SBC.W $14B2 CODE_01C7FC: 10 04 BPL CODE_01C802 CODE_01C7FE: 49 FF EOR.B #$FF CODE_01C800: 1A INC A CODE_01C801: C8 INY CODE_01C802: 84 00 STY $00 CODE_01C804: 8D 05 42 STA.W $4205 ; Dividend (High-Byte) CODE_01C807: 9C 04 42 STZ.W $4204 ; Dividend (Low Byte) CODE_01C80A: A9 05 LDA.B #$05 CODE_01C80C: 8D 06 42 STA.W $4206 ; Divisor B CODE_01C80F: 20 94 CC JSR.W DoNothing CODE_01C812: AD 14 42 LDA.W $4214 ; Quotient of Divide Result (Low Byte) CODE_01C815: 85 02 STA $02 CODE_01C817: 85 06 STA $06 CODE_01C819: AD 15 42 LDA.W $4215 ; Quotient of Divide Result (High Byte) CODE_01C81C: 85 03 STA $03 CODE_01C81E: 85 07 STA $07 CODE_01C820: A0 00 LDY.B #$00 CODE_01C822: AD B8 14 LDA.W $14B8 CODE_01C825: 38 SEC CODE_01C826: ED B0 14 SBC.W $14B0 CODE_01C829: 10 04 BPL CODE_01C82F CODE_01C82B: 49 FF EOR.B #$FF CODE_01C82D: 1A INC A CODE_01C82E: C8 INY CODE_01C82F: 84 01 STY $01 CODE_01C831: 8D 05 42 STA.W $4205 ; Dividend (High-Byte) CODE_01C834: 9C 04 42 STZ.W $4204 ; Dividend (Low Byte) CODE_01C837: A9 05 LDA.B #$05 CODE_01C839: 8D 06 42 STA.W $4206 ; Divisor B CODE_01C83C: 20 94 CC JSR.W DoNothing CODE_01C83F: AD 14 42 LDA.W $4214 ; Quotient of Divide Result (Low Byte) CODE_01C842: 85 04 STA $04 CODE_01C844: 85 08 STA $08 CODE_01C846: AD 15 42 LDA.W $4215 ; Quotient of Divide Result (High Byte) CODE_01C849: 85 05 STA $05 CODE_01C84B: 85 09 STA $09 CODE_01C84D: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01C850: C8 INY CODE_01C851: C8 INY CODE_01C852: C8 INY CODE_01C853: C8 INY CODE_01C854: AD B2 14 LDA.W $14B2 CODE_01C857: 38 SEC CODE_01C858: E5 1C SBC RAM_ScreenBndryYLo CODE_01C85A: 38 SEC CODE_01C85B: E9 08 SBC.B #$08 CODE_01C85D: 85 0A STA $0A CODE_01C85F: 99 01 03 STA.W OAM_DispY,Y CODE_01C862: AD B0 14 LDA.W $14B0 CODE_01C865: 38 SEC CODE_01C866: E5 1A SBC RAM_ScreenBndryXLo CODE_01C868: 38 SEC CODE_01C869: E9 08 SBC.B #$08 CODE_01C86B: 85 0B STA $0B CODE_01C86D: 99 00 03 STA.W OAM_DispX,Y CODE_01C870: A9 A2 LDA.B #$A2 CODE_01C872: 99 02 03 STA.W OAM_Tile,Y CODE_01C875: A9 31 LDA.B #$31 CODE_01C877: 99 03 03 STA.W OAM_Prop,Y CODE_01C87A: A2 03 LDX.B #$03 CODE_01C87C: C8 INY CODE_01C87D: C8 INY CODE_01C87E: C8 INY CODE_01C87F: C8 INY CODE_01C880: A5 00 LDA $00 CODE_01C882: D0 0A BNE CODE_01C88E CODE_01C884: A5 0A LDA $0A CODE_01C886: 18 CLC CODE_01C887: 65 07 ADC $07 CODE_01C889: 99 01 03 STA.W OAM_DispY,Y CODE_01C88C: 80 08 BRA CODE_01C896 CODE_01C88E: A5 0A LDA $0A CODE_01C890: 38 SEC CODE_01C891: E5 07 SBC $07 CODE_01C893: 99 01 03 STA.W OAM_DispY,Y CODE_01C896: A5 06 LDA $06 CODE_01C898: 18 CLC CODE_01C899: 65 02 ADC $02 CODE_01C89B: 85 06 STA $06 CODE_01C89D: A5 07 LDA $07 CODE_01C89F: 65 03 ADC $03 CODE_01C8A1: 85 07 STA $07 CODE_01C8A3: A5 01 LDA $01 CODE_01C8A5: D0 0A BNE CODE_01C8B1 CODE_01C8A7: A5 0B LDA $0B CODE_01C8A9: 18 CLC CODE_01C8AA: 65 09 ADC $09 CODE_01C8AC: 99 00 03 STA.W OAM_DispX,Y CODE_01C8AF: 80 08 BRA CODE_01C8B9 CODE_01C8B1: A5 0B LDA $0B CODE_01C8B3: 38 SEC CODE_01C8B4: E5 09 SBC $09 CODE_01C8B6: 99 00 03 STA.W OAM_DispX,Y CODE_01C8B9: A5 08 LDA $08 CODE_01C8BB: 18 CLC CODE_01C8BC: 65 04 ADC $04 CODE_01C8BE: 85 08 STA $08 CODE_01C8C0: A5 09 LDA $09 CODE_01C8C2: 65 05 ADC $05 CODE_01C8C4: 85 09 STA $09 CODE_01C8C6: A9 A2 LDA.B #$A2 CODE_01C8C8: 99 02 03 STA.W OAM_Tile,Y CODE_01C8CB: A9 31 LDA.B #$31 CODE_01C8CD: 99 03 03 STA.W OAM_Prop,Y CODE_01C8D0: CA DEX CODE_01C8D1: 10 A9 BPL CODE_01C87C CODE_01C8D3: A2 03 LDX.B #$03 CODE_01C8D5: 86 02 STX $02 CODE_01C8D7: C8 INY CODE_01C8D8: C8 INY CODE_01C8D9: C8 INY CODE_01C8DA: C8 INY CODE_01C8DB: AD BA 14 LDA.W $14BA CODE_01C8DE: 38 SEC CODE_01C8DF: E5 1C SBC RAM_ScreenBndryYLo CODE_01C8E1: 38 SEC CODE_01C8E2: E9 10 SBC.B #$10 CODE_01C8E4: 99 01 03 STA.W OAM_DispY,Y CODE_01C8E7: AD B8 14 LDA.W $14B8 CODE_01C8EA: 38 SEC CODE_01C8EB: E5 1A SBC RAM_ScreenBndryXLo CODE_01C8ED: 18 CLC CODE_01C8EE: 7D B7 C9 ADC.W DATA_01C9B7,X CODE_01C8F1: 99 00 03 STA.W OAM_DispX,Y CODE_01C8F4: BD BB C9 LDA.W BrwnChainPlatTiles,X CODE_01C8F7: 99 02 03 STA.W OAM_Tile,Y CODE_01C8FA: A9 31 LDA.B #$31 CODE_01C8FC: 99 03 03 STA.W OAM_Prop,Y CODE_01C8FF: CA DEX CODE_01C900: 10 D3 BPL CODE_01C8D5 CODE_01C902: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01C905: A9 09 LDA.B #$09 CODE_01C907: 85 08 STA $08 CODE_01C909: AD B2 14 LDA.W $14B2 CODE_01C90C: 38 SEC CODE_01C90D: E9 08 SBC.B #$08 CODE_01C90F: 85 00 STA $00 CODE_01C911: AD B3 14 LDA.W $14B3 CODE_01C914: E9 00 SBC.B #$00 CODE_01C916: 85 01 STA $01 CODE_01C918: AD B0 14 LDA.W $14B0 CODE_01C91B: 38 SEC CODE_01C91C: E9 08 SBC.B #$08 CODE_01C91E: 85 02 STA $02 CODE_01C920: AD B1 14 LDA.W $14B1 CODE_01C923: E9 00 SBC.B #$00 CODE_01C925: 85 03 STA $03 CODE_01C927: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01C92A: B9 05 03 LDA.W OAM_Tile2DispY,Y CODE_01C92D: 85 06 STA $06 CODE_01C92F: B9 04 03 LDA.W OAM_Tile2DispX,Y CODE_01C932: 85 07 STA $07 CODE_01C934: 98 TYA CODE_01C935: 4A LSR CODE_01C936: 4A LSR CODE_01C937: AA TAX CODE_01C938: A9 02 LDA.B #$02 CODE_01C93A: 9D 60 04 STA.W OAM_TileSize,X CODE_01C93D: A2 00 LDX.B #$00 CODE_01C93F: B9 00 03 LDA.W OAM_DispX,Y CODE_01C942: 38 SEC CODE_01C943: E5 07 SBC $07 CODE_01C945: 10 01 BPL CODE_01C948 CODE_01C947: CA DEX CODE_01C948: 18 CLC CODE_01C949: 65 02 ADC $02 CODE_01C94B: 85 04 STA $04 CODE_01C94D: 8A TXA CODE_01C94E: 65 03 ADC $03 CODE_01C950: 85 05 STA $05 CODE_01C952: 20 44 B8 JSR.W CODE_01B844 CODE_01C955: 90 09 BCC CODE_01C960 CODE_01C957: 98 TYA CODE_01C958: 4A LSR CODE_01C959: 4A LSR CODE_01C95A: AA TAX CODE_01C95B: A9 03 LDA.B #$03 CODE_01C95D: 9D 60 04 STA.W OAM_TileSize,X CODE_01C960: A2 00 LDX.B #$00 CODE_01C962: B9 01 03 LDA.W OAM_DispY,Y CODE_01C965: 38 SEC CODE_01C966: E5 06 SBC $06 CODE_01C968: 10 01 BPL CODE_01C96B CODE_01C96A: CA DEX CODE_01C96B: 18 CLC CODE_01C96C: 65 00 ADC $00 CODE_01C96E: 85 09 STA $09 CODE_01C970: 8A TXA CODE_01C971: 65 01 ADC $01 CODE_01C973: 85 0A STA $0A CODE_01C975: 20 BF C9 JSR.W CODE_01C9BF CODE_01C978: 90 05 BCC CODE_01C97F CODE_01C97A: A9 F0 LDA.B #$F0 CODE_01C97C: 99 01 03 STA.W OAM_DispY,Y CODE_01C97F: A5 08 LDA $08 CODE_01C981: C9 09 CMP.B #$09 CODE_01C983: D0 14 BNE CODE_01C999 CODE_01C985: A5 04 LDA $04 CODE_01C987: 8D B8 14 STA.W $14B8 CODE_01C98A: A5 05 LDA $05 CODE_01C98C: 8D B9 14 STA.W $14B9 CODE_01C98F: A5 09 LDA $09 CODE_01C991: 8D BA 14 STA.W $14BA CODE_01C994: A5 0A LDA $0A CODE_01C996: 8D BB 14 STA.W $14BB CODE_01C999: C8 INY CODE_01C99A: C8 INY CODE_01C99B: C8 INY CODE_01C99C: C8 INY CODE_01C99D: C6 08 DEC $08 CODE_01C99F: 10 93 BPL CODE_01C934 CODE_01C9A1: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01C9A4: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01C9A7: A9 F0 LDA.B #$F0 CODE_01C9A9: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01C9AC: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01C9AE: D0 06 BNE Return01C9B6 ; / CODE_01C9B0: 20 F0 CC JSR.W CODE_01CCF0 CODE_01C9B3: 4C EC C9 JMP.W CODE_01C9EC Return01C9B6: 60 RTS ; Return DATA_01C9B7: .db $E0,$F0,$00,$10 BrwnChainPlatTiles: .db $60,$61,$61,$62 CODE_01C9BF: C2 20 REP #$20 ; Accum (16 bit) CODE_01C9C1: A5 09 LDA $09 CODE_01C9C3: 48 PHA CODE_01C9C4: 18 CLC CODE_01C9C5: 69 10 00 ADC.W #$0010 CODE_01C9C8: 85 09 STA $09 CODE_01C9CA: 38 SEC CODE_01C9CB: E5 1C SBC RAM_ScreenBndryYLo CODE_01C9CD: C9 00 01 CMP.W #$0100 CODE_01C9D0: 68 PLA CODE_01C9D1: 85 09 STA $09 CODE_01C9D3: E2 20 SEP #$20 ; Accum (8 bit) Return01C9D5: 60 RTS ; Return DATA_01C9D6: .db $01,$FF DATA_01C9D8: .db $40,$C0 CODE_01C9DA: BD 0E 16 LDA.W $160E,X CODE_01C9DD: F0 0C BEQ Return01C9EB CODE_01C9DF: 9E 0E 16 STZ.W $160E,X CODE_01C9E2: DA PHX CODE_01C9E3: 22 BD E2 00 JSL.L CODE_00E2BD CODE_01C9E7: FA PLX CODE_01C9E8: 8E E9 15 STX.W $15E9 Return01C9EB: 60 RTS ; Return CODE_01C9EC: AD B9 14 LDA.W $14B9 CODE_01C9EF: EB XBA CODE_01C9F0: AD B8 14 LDA.W $14B8 CODE_01C9F3: C2 20 REP #$20 ; Accum (16 bit) CODE_01C9F5: 38 SEC CODE_01C9F6: E5 1A SBC RAM_ScreenBndryXLo CODE_01C9F8: 18 CLC CODE_01C9F9: 69 10 00 ADC.W #$0010 CODE_01C9FC: C9 20 01 CMP.W #$0120 CODE_01C9FF: E2 20 SEP #$20 ; Accum (8 bit) CODE_01CA01: 2A ROL CODE_01CA02: 29 01 AND.B #$01 CODE_01CA04: 05 9D ORA RAM_SpritesLocked CODE_01CA06: 9D C4 15 STA.W $15C4,X CODE_01CA09: D0 CA BNE Return01C9D5 CODE_01CA0B: 20 9C CA JSR.W CODE_01CA9C CODE_01CA0E: 9E 02 16 STZ.W $1602,X CODE_01CA11: 90 C7 BCC CODE_01C9DA CODE_01CA13: A9 01 LDA.B #$01 CODE_01CA15: 9D 0E 16 STA.W $160E,X CODE_01CA18: AD BA 14 LDA.W $14BA CODE_01CA1B: 38 SEC CODE_01CA1C: E5 1C SBC RAM_ScreenBndryYLo CODE_01CA1E: 85 03 STA $03 CODE_01CA20: 38 SEC CODE_01CA21: E9 08 SBC.B #$08 CODE_01CA23: 85 0E STA $0E CODE_01CA25: A5 80 LDA $80 CODE_01CA27: 18 CLC CODE_01CA28: 69 18 ADC.B #$18 CODE_01CA2A: C5 0E CMP $0E CODE_01CA2C: B0 6D BCS Return01CA9B CODE_01CA2E: A5 7D LDA RAM_MarioSpeedY CODE_01CA30: 30 B0 BMI CODE_01C9E2 CODE_01CA32: 64 7D STZ RAM_MarioSpeedY CODE_01CA34: A9 03 LDA.B #$03 CODE_01CA36: 8D 71 14 STA.W $1471 CODE_01CA39: 9D 02 16 STA.W $1602,X CODE_01CA3C: A9 28 LDA.B #$28 CODE_01CA3E: AC 7A 18 LDY.W RAM_OnYoshi CODE_01CA41: F0 02 BEQ CODE_01CA45 CODE_01CA43: A9 38 LDA.B #$38 CODE_01CA45: 85 0F STA $0F CODE_01CA47: AD BA 14 LDA.W $14BA CODE_01CA4A: 38 SEC CODE_01CA4B: E5 0F SBC $0F CODE_01CA4D: 85 96 STA RAM_MarioYPos CODE_01CA4F: AD BB 14 LDA.W $14BB CODE_01CA52: E9 00 SBC.B #$00 CODE_01CA54: 85 97 STA RAM_MarioYPosHi CODE_01CA56: A5 77 LDA RAM_MarioObjStatus CODE_01CA58: 29 03 AND.B #$03 CODE_01CA5A: D0 12 BNE CODE_01CA6E CODE_01CA5C: A0 00 LDY.B #$00 CODE_01CA5E: AD 91 14 LDA.W $1491 CODE_01CA61: 10 01 BPL CODE_01CA64 CODE_01CA63: 88 DEY CODE_01CA64: 18 CLC CODE_01CA65: 65 94 ADC RAM_MarioXPos CODE_01CA67: 85 94 STA RAM_MarioXPos CODE_01CA69: 98 TYA CODE_01CA6A: 65 95 ADC RAM_MarioXPosHi CODE_01CA6C: 85 95 STA RAM_MarioXPosHi CODE_01CA6E: 20 E2 C9 JSR.W CODE_01C9E2 CODE_01CA71: A5 16 LDA $16 CODE_01CA73: 30 04 BMI CODE_01CA79 CODE_01CA75: A9 FF LDA.B #$FF CODE_01CA77: 85 78 STA $78 CODE_01CA79: A5 13 LDA RAM_FrameCounter CODE_01CA7B: 4A LSR CODE_01CA7C: 90 1D BCC Return01CA9B CODE_01CA7E: BD 1C 15 LDA.W $151C,X CODE_01CA81: 18 CLC CODE_01CA82: 69 80 ADC.B #$80 CODE_01CA84: BD 28 15 LDA.W $1528,X CODE_01CA87: 69 00 ADC.B #$00 CODE_01CA89: 29 01 AND.B #$01 CODE_01CA8B: A8 TAY CODE_01CA8C: BD 04 15 LDA.W $1504,X CODE_01CA8F: D9 D8 C9 CMP.W DATA_01C9D8,Y CODE_01CA92: F0 07 BEQ Return01CA9B CODE_01CA94: 18 CLC CODE_01CA95: 79 D6 C9 ADC.W DATA_01C9D6,Y CODE_01CA98: 9D 04 15 STA.W $1504,X Return01CA9B: 60 RTS ; Return CODE_01CA9C: AD B8 14 LDA.W $14B8 CODE_01CA9F: 38 SEC CODE_01CAA0: E9 18 SBC.B #$18 CODE_01CAA2: 85 04 STA $04 CODE_01CAA4: AD B9 14 LDA.W $14B9 CODE_01CAA7: E9 00 SBC.B #$00 CODE_01CAA9: 85 0A STA $0A CODE_01CAAB: A9 40 LDA.B #$40 CODE_01CAAD: 85 06 STA $06 CODE_01CAAF: AD BA 14 LDA.W $14BA CODE_01CAB2: 38 SEC CODE_01CAB3: E9 0C SBC.B #$0C CODE_01CAB5: 85 05 STA $05 CODE_01CAB7: AD BB 14 LDA.W $14BB CODE_01CABA: E9 00 SBC.B #$00 CODE_01CABC: 85 0B STA $0B CODE_01CABE: A9 13 LDA.B #$13 CODE_01CAC0: 85 07 STA $07 CODE_01CAC2: 22 64 B6 03 JSL.L GetMarioClipping CODE_01CAC6: 22 2B B7 03 JSL.L CheckForContact Return01CACA: 60 RTS ; Return CODE_01CACB: A9 50 LDA.B #$50 CODE_01CACD: 8D BC 14 STA.W $14BC CODE_01CAD0: 9C BF 14 STZ.W $14BF CODE_01CAD3: 9C BD 14 STZ.W $14BD CODE_01CAD6: 9C C0 14 STZ.W $14C0 CODE_01CAD9: B5 E4 LDA RAM_SpriteXLo,X CODE_01CADB: 8D B4 14 STA.W $14B4 CODE_01CADE: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01CAE1: 8D B5 14 STA.W $14B5 CODE_01CAE4: AD B4 14 LDA.W $14B4 CODE_01CAE7: 38 SEC CODE_01CAE8: ED BC 14 SBC.W $14BC CODE_01CAEB: 8D B0 14 STA.W $14B0 CODE_01CAEE: AD B5 14 LDA.W $14B5 CODE_01CAF1: ED BD 14 SBC.W $14BD CODE_01CAF4: 8D B1 14 STA.W $14B1 CODE_01CAF7: B5 D8 LDA RAM_SpriteYLo,X CODE_01CAF9: 8D B6 14 STA.W $14B6 CODE_01CAFC: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01CAFF: 8D B7 14 STA.W $14B7 CODE_01CB02: AD B6 14 LDA.W $14B6 CODE_01CB05: 38 SEC CODE_01CB06: ED BF 14 SBC.W $14BF CODE_01CB09: 8D B2 14 STA.W $14B2 CODE_01CB0C: AD B7 14 LDA.W $14B7 CODE_01CB0F: ED C0 14 SBC.W $14C0 CODE_01CB12: 8D B3 14 STA.W $14B3 CODE_01CB15: BD 1C 15 LDA.W $151C,X CODE_01CB18: 85 36 STA $36 CODE_01CB1A: BD 28 15 LDA.W $1528,X CODE_01CB1D: 85 37 STA $37 Return01CB1F: 60 RTS ; Return CODE_01CB20: A5 37 LDA $37 CODE_01CB22: 8D 66 18 STA.W $1866 CODE_01CB25: DA PHX CODE_01CB26: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_01CB28: A5 36 LDA $36 CODE_01CB2A: 0A ASL CODE_01CB2B: 29 FF 01 AND.W #$01FF CODE_01CB2E: AA TAX CODE_01CB2F: BF DB F7 07 LDA.L CircleCoords,X CODE_01CB33: 8D C2 14 STA.W $14C2 CODE_01CB36: A5 36 LDA $36 CODE_01CB38: 18 CLC CODE_01CB39: 69 80 00 ADC.W #$0080 CODE_01CB3C: 85 00 STA $00 CODE_01CB3E: 0A ASL CODE_01CB3F: 29 FF 01 AND.W #$01FF CODE_01CB42: AA TAX CODE_01CB43: BF DB F7 07 LDA.L CircleCoords,X CODE_01CB47: 8D C5 14 STA.W $14C5 CODE_01CB4A: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_01CB4C: A5 01 LDA $01 CODE_01CB4E: 8D 67 18 STA.W $1867 CODE_01CB51: FA PLX Return01CB52: 60 RTS ; Return CODE_01CB53: C2 20 REP #$20 ; Accum (16 bit) CODE_01CB55: AD C5 14 LDA.W $14C5 CODE_01CB58: 85 02 STA $02 CODE_01CB5A: AD BC 14 LDA.W $14BC CODE_01CB5D: 85 00 STA $00 CODE_01CB5F: E2 20 SEP #$20 ; Accum (8 bit) CODE_01CB61: 20 28 CC JSR.W CODE_01CC28 CODE_01CB64: AD 67 18 LDA.W $1867 CODE_01CB67: 4A LSR CODE_01CB68: C2 20 REP #$20 ; Accum (16 bit) CODE_01CB6A: A5 04 LDA $04 CODE_01CB6C: 90 04 BCC CODE_01CB72 CODE_01CB6E: 49 FF FF EOR.W #$FFFF CODE_01CB71: 1A INC A CODE_01CB72: 85 08 STA $08 CODE_01CB74: A5 06 LDA $06 CODE_01CB76: 90 04 BCC CODE_01CB7C CODE_01CB78: 49 FF FF EOR.W #$FFFF CODE_01CB7B: 1A INC A CODE_01CB7C: 85 0A STA $0A CODE_01CB7E: AD C2 14 LDA.W $14C2 CODE_01CB81: 85 02 STA $02 CODE_01CB83: AD BF 14 LDA.W $14BF CODE_01CB86: 85 00 STA $00 CODE_01CB88: E2 20 SEP #$20 ; Accum (8 bit) CODE_01CB8A: 20 28 CC JSR.W CODE_01CC28 CODE_01CB8D: AD 66 18 LDA.W $1866 CODE_01CB90: 4A LSR CODE_01CB91: C2 20 REP #$20 ; Accum (16 bit) CODE_01CB93: A5 04 LDA $04 CODE_01CB95: 90 04 BCC CODE_01CB9B CODE_01CB97: 49 FF FF EOR.W #$FFFF CODE_01CB9A: 1A INC A CODE_01CB9B: 85 04 STA $04 CODE_01CB9D: A5 06 LDA $06 CODE_01CB9F: 90 04 BCC CODE_01CBA5 CODE_01CBA1: 49 FF FF EOR.W #$FFFF CODE_01CBA4: 1A INC A CODE_01CBA5: 85 06 STA $06 CODE_01CBA7: A5 04 LDA $04 CODE_01CBA9: 18 CLC CODE_01CBAA: 65 08 ADC $08 CODE_01CBAC: 85 04 STA $04 CODE_01CBAE: A5 06 LDA $06 CODE_01CBB0: 65 0A ADC $0A CODE_01CBB2: 85 06 STA $06 CODE_01CBB4: A5 05 LDA $05 CODE_01CBB6: 18 CLC CODE_01CBB7: 6D B0 14 ADC.W $14B0 CODE_01CBBA: 8D B8 14 STA.W $14B8 CODE_01CBBD: AD C5 14 LDA.W $14C5 CODE_01CBC0: 85 02 STA $02 CODE_01CBC2: AD BF 14 LDA.W $14BF CODE_01CBC5: 85 00 STA $00 CODE_01CBC7: E2 20 SEP #$20 ; Accum (8 bit) CODE_01CBC9: 20 28 CC JSR.W CODE_01CC28 CODE_01CBCC: AD 67 18 LDA.W $1867 CODE_01CBCF: 4A LSR CODE_01CBD0: C2 20 REP #$20 ; Accum (16 bit) CODE_01CBD2: A5 04 LDA $04 CODE_01CBD4: 90 04 BCC CODE_01CBDA CODE_01CBD6: 49 FF FF EOR.W #$FFFF CODE_01CBD9: 1A INC A CODE_01CBDA: 85 08 STA $08 CODE_01CBDC: A5 06 LDA $06 CODE_01CBDE: 90 04 BCC CODE_01CBE4 CODE_01CBE0: 49 FF FF EOR.W #$FFFF CODE_01CBE3: 1A INC A CODE_01CBE4: 85 0A STA $0A CODE_01CBE6: AD C2 14 LDA.W $14C2 CODE_01CBE9: 85 02 STA $02 CODE_01CBEB: AD BC 14 LDA.W $14BC CODE_01CBEE: 85 00 STA $00 CODE_01CBF0: E2 20 SEP #$20 ; Accum (8 bit) CODE_01CBF2: 20 28 CC JSR.W CODE_01CC28 CODE_01CBF5: AD 66 18 LDA.W $1866 CODE_01CBF8: 4A LSR CODE_01CBF9: C2 20 REP #$20 ; Accum (16 bit) CODE_01CBFB: A5 04 LDA $04 CODE_01CBFD: 90 04 BCC CODE_01CC03 CODE_01CBFF: 49 FF FF EOR.W #$FFFF CODE_01CC02: 1A INC A CODE_01CC03: 85 04 STA $04 CODE_01CC05: A5 06 LDA $06 CODE_01CC07: 90 04 BCC CODE_01CC0D CODE_01CC09: 49 FF FF EOR.W #$FFFF CODE_01CC0C: 1A INC A CODE_01CC0D: 85 06 STA $06 CODE_01CC0F: A5 04 LDA $04 CODE_01CC11: 38 SEC CODE_01CC12: E5 08 SBC $08 CODE_01CC14: 85 04 STA $04 CODE_01CC16: A5 06 LDA $06 CODE_01CC18: E5 0A SBC $0A CODE_01CC1A: 85 06 STA $06 CODE_01CC1C: AD B2 14 LDA.W $14B2 CODE_01CC1F: 38 SEC CODE_01CC20: E5 05 SBC $05 CODE_01CC22: 8D BA 14 STA.W $14BA CODE_01CC25: E2 20 SEP #$20 ; Accum (8 bit) Return01CC27: 60 RTS ; Return CODE_01CC28: A5 00 LDA $00 CODE_01CC2A: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_01CC2D: A5 02 LDA $02 CODE_01CC2F: 8D 03 42 STA.W $4203 ; Multplier B CODE_01CC32: 20 94 CC JSR.W DoNothing CODE_01CC35: AD 16 42 LDA.W $4216 ; Product/Remainder Result (Low Byte) CODE_01CC38: 85 04 STA $04 CODE_01CC3A: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_01CC3D: 85 05 STA $05 CODE_01CC3F: A5 00 LDA $00 CODE_01CC41: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_01CC44: A5 03 LDA $03 CODE_01CC46: 8D 03 42 STA.W $4203 ; Multplier B CODE_01CC49: 20 94 CC JSR.W DoNothing CODE_01CC4C: AD 16 42 LDA.W $4216 ; Product/Remainder Result (Low Byte) CODE_01CC4F: 18 CLC CODE_01CC50: 65 05 ADC $05 CODE_01CC52: 85 05 STA $05 CODE_01CC54: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_01CC57: 69 00 ADC.B #$00 CODE_01CC59: 85 06 STA $06 CODE_01CC5B: A5 01 LDA $01 CODE_01CC5D: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_01CC60: A5 02 LDA $02 CODE_01CC62: 8D 03 42 STA.W $4203 ; Multplier B CODE_01CC65: 20 94 CC JSR.W DoNothing CODE_01CC68: AD 16 42 LDA.W $4216 ; Product/Remainder Result (Low Byte) CODE_01CC6B: 18 CLC CODE_01CC6C: 65 05 ADC $05 CODE_01CC6E: 85 05 STA $05 CODE_01CC70: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_01CC73: 65 06 ADC $06 CODE_01CC75: 85 06 STA $06 CODE_01CC77: A5 01 LDA $01 CODE_01CC79: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_01CC7C: A5 03 LDA $03 CODE_01CC7E: 8D 03 42 STA.W $4203 ; Multplier B CODE_01CC81: 20 94 CC JSR.W DoNothing CODE_01CC84: AD 16 42 LDA.W $4216 ; Product/Remainder Result (Low Byte) CODE_01CC87: 18 CLC CODE_01CC88: 65 06 ADC $06 CODE_01CC8A: 85 06 STA $06 CODE_01CC8C: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_01CC8F: 69 00 ADC.B #$00 CODE_01CC91: 85 07 STA $07 Return01CC93: 60 RTS ; Return DoNothing: EA NOP ; \ Do nothing at all CODE_01CC95: EA NOP ; | CODE_01CC96: EA NOP ; | CODE_01CC97: EA NOP ; | CODE_01CC98: EA NOP ; | CODE_01CC99: EA NOP ; | CODE_01CC9A: EA NOP ; | CODE_01CC9B: EA NOP ; | Return01CC9C: 60 RTS ; / CODE_01CC9D: AD B5 14 LDA.W $14B5 CODE_01CCA0: 0D B7 14 ORA.W $14B7 CODE_01CCA3: D0 20 BNE CODE_01CCC5 CODE_01CCA5: 20 C7 CC JSR.W CODE_01CCC7 CODE_01CCA8: 20 20 CB JSR.W CODE_01CB20 CODE_01CCAB: 20 53 CB JSR.W CODE_01CB53 CODE_01CCAE: AD BA 14 LDA.W $14BA CODE_01CCB1: 29 F0 AND.B #$F0 CODE_01CCB3: 85 00 STA $00 CODE_01CCB5: AD B8 14 LDA.W $14B8 CODE_01CCB8: 4A LSR CODE_01CCB9: 4A LSR CODE_01CCBA: 4A LSR CODE_01CCBB: 4A LSR CODE_01CCBC: 05 00 ORA $00 CODE_01CCBE: A8 TAY CODE_01CCBF: B9 F6 0A LDA.W $0AF6,Y CODE_01CCC2: C9 15 CMP.B #$15 Return01CCC4: 6B RTL ; Return CODE_01CCC5: 18 CLC Return01CCC6: 6B RTL ; Return CODE_01CCC7: C2 20 REP #$20 ; Accum (16 bit) CODE_01CCC9: A5 2A LDA $2A CODE_01CCCB: 8D B0 14 STA.W $14B0 CODE_01CCCE: A5 2C LDA $2C CODE_01CCD0: 8D B2 14 STA.W $14B2 CODE_01CCD3: AD B4 14 LDA.W $14B4 CODE_01CCD6: 38 SEC CODE_01CCD7: ED B0 14 SBC.W $14B0 CODE_01CCDA: 8D BC 14 STA.W $14BC CODE_01CCDD: AD B6 14 LDA.W $14B6 CODE_01CCE0: 38 SEC CODE_01CCE1: ED B2 14 SBC.W $14B2 CODE_01CCE4: 8D BF 14 STA.W $14BF CODE_01CCE7: E2 20 SEP #$20 ; Accum (8 bit) Return01CCE9: 60 RTS ; Return Return01CCEA: 60 RTS Return01CCEB: 60 RTS CODE_01CCEC: 49 FF EOR.B #$FF CODE_01CCEE: 1A INC A Return01CCEF: 60 RTS ; Return CODE_01CCF0: BD 04 15 LDA.W $1504,X CODE_01CCF3: 0A ASL CODE_01CCF4: 0A ASL CODE_01CCF5: 0A ASL CODE_01CCF6: 0A ASL CODE_01CCF7: 18 CLC CODE_01CCF8: 7D 10 15 ADC.W $1510,X CODE_01CCFB: 9D 10 15 STA.W $1510,X CODE_01CCFE: 08 PHP CODE_01CCFF: A0 00 LDY.B #$00 CODE_01CD01: BD 04 15 LDA.W $1504,X CODE_01CD04: 4A LSR CODE_01CD05: 4A LSR CODE_01CD06: 4A LSR CODE_01CD07: 4A LSR CODE_01CD08: C9 08 CMP.B #$08 CODE_01CD0A: 90 03 BCC CODE_01CD0F CODE_01CD0C: 09 F0 ORA.B #$F0 CODE_01CD0E: 88 DEY CODE_01CD0F: 28 PLP CODE_01CD10: 7D 1C 15 ADC.W $151C,X CODE_01CD13: 9D 1C 15 STA.W $151C,X CODE_01CD16: 98 TYA CODE_01CD17: 7D 28 15 ADC.W $1528,X CODE_01CD1A: 9D 28 15 STA.W $1528,X Return01CD1D: 60 RTS ; Return DATA_01CD1E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF PipeKoopaKids: 22 09 CC 03 JSL.L CODE_03CC09 Return01CD2E: 60 RTS ; Return InitKoopaKid: B5 D8 LDA RAM_SpriteYLo,X CODE_01CD31: 4A LSR CODE_01CD32: 4A LSR CODE_01CD33: 4A LSR CODE_01CD34: 4A LSR CODE_01CD35: 95 C2 STA RAM_SpriteState,X CODE_01CD37: C9 05 CMP.B #$05 CODE_01CD39: 90 13 BCC CODE_01CD4E CODE_01CD3B: A9 78 LDA.B #$78 CODE_01CD3D: 95 E4 STA RAM_SpriteXLo,X CODE_01CD3F: A9 40 LDA.B #$40 CODE_01CD41: 95 D8 STA RAM_SpriteYLo,X CODE_01CD43: A9 01 LDA.B #$01 CODE_01CD45: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01CD48: A9 80 LDA.B #$80 CODE_01CD4A: 9D 40 15 STA.W $1540,X Return01CD4D: 60 RTS ; Return CODE_01CD4E: A0 90 LDY.B #$90 CODE_01CD50: 94 D8 STY RAM_SpriteYLo,X CODE_01CD52: C9 03 CMP.B #$03 CODE_01CD54: 90 08 BCC CODE_01CD5E CODE_01CD56: 22 F5 FC 00 JSL.L CODE_00FCF5 CODE_01CD5A: 20 7C 85 JSR.W FaceMario Return01CD5D: 60 RTS ; Return CODE_01CD5E: A9 01 LDA.B #$01 CODE_01CD60: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01CD63: A9 20 LDA.B #$20 CODE_01CD65: 85 38 STA $38 CODE_01CD67: 85 39 STA $39 CODE_01CD69: 22 7D DD 03 JSL.L CODE_03DD7D CODE_01CD6D: B4 C2 LDY RAM_SpriteState,X CODE_01CD6F: B9 92 CD LDA.W DATA_01CD92,Y CODE_01CD72: 9D 7B 18 STA.W $187B,X CODE_01CD75: C9 01 CMP.B #$01 CODE_01CD77: F0 0E BEQ CODE_01CD87 CODE_01CD79: C9 00 CMP.B #$00 CODE_01CD7B: D0 04 BNE CODE_01CD81 CODE_01CD7D: A9 70 LDA.B #$70 CODE_01CD7F: 95 E4 STA RAM_SpriteXLo,X CODE_01CD81: A9 01 LDA.B #$01 CODE_01CD83: 9D E0 14 STA.W RAM_SpriteXHi,X Return01CD86: 60 RTS ; Return CODE_01CD87: A9 26 LDA.B #$26 CODE_01CD89: 9D 34 15 STA.W $1534,X CODE_01CD8C: A9 D8 LDA.B #$D8 CODE_01CD8E: 9D 0E 16 STA.W $160E,X Return01CD91: 60 RTS ; Return DATA_01CD92: .db $01,$01,$00,$02,$02,$03,$03 DATA_01CD99: .db $00,$09,$12 DATA_01CD9C: .db $00,$01,$02,$03,$04,$05,$06,$07 .db $08 DATA_01CDA5: .db $00,$80 CODE_01CDA7: 20 65 A3 JSR.W GetDrawInfoBnk1 Return01CDAA: 60 RTS ; Return WallKoopaKids: 9C FB 13 STZ.W $13FB CODE_01CDAE: BD 02 16 LDA.W $1602,X CODE_01CDB1: C9 1B CMP.B #$1B CODE_01CDB3: B0 20 BCS CODE_01CDD5 CODE_01CDB5: BD AC 15 LDA.W $15AC,X CODE_01CDB8: C9 08 CMP.B #$08 CODE_01CDBA: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01CDBD: B9 A5 CD LDA.W DATA_01CDA5,Y CODE_01CDC0: B0 02 BCS CODE_01CDC4 CODE_01CDC2: 49 80 EOR.B #$80 CODE_01CDC4: 85 00 STA $00 CODE_01CDC6: B4 C2 LDY RAM_SpriteState,X CODE_01CDC8: B9 99 CD LDA.W DATA_01CD99,Y CODE_01CDCB: BC 02 16 LDY.W $1602,X CODE_01CDCE: 18 CLC CODE_01CDCF: 79 9C CD ADC.W DATA_01CD9C,Y CODE_01CDD2: 18 CLC CODE_01CDD3: 65 00 ADC $00 CODE_01CDD5: 8D A2 1B STA.W $1BA2 CODE_01CDD8: 22 DF DE 03 JSL.L CODE_03DEDF CODE_01CDDC: 20 A7 CD JSR.W CODE_01CDA7 CODE_01CDDF: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01CDE1: D0 5A BNE Return01CE3D ; / CODE_01CDE3: 20 A8 D2 JSR.W CODE_01D2A8 CODE_01CDE6: 20 B1 D3 JSR.W CODE_01D3B1 CODE_01CDE9: BD 7B 18 LDA.W $187B,X CODE_01CDEC: C9 01 CMP.B #$01 CODE_01CDEE: F0 1B BEQ CODE_01CE0B CODE_01CDF0: BD 3E 16 LDA.W $163E,X CODE_01CDF3: D0 16 BNE CODE_01CE0B CODE_01CDF5: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01CDF8: 48 PHA CODE_01CDF9: 20 30 AD JSR.W SubHorizPos CODE_01CDFC: 98 TYA CODE_01CDFD: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01CE00: 68 PLA CODE_01CE01: DD 7C 15 CMP.W RAM_SpriteDir,X CODE_01CE04: F0 05 BEQ CODE_01CE0B CODE_01CE06: A9 10 LDA.B #$10 ; \ Set turning timer CODE_01CE08: 9D AC 15 STA.W $15AC,X ; / CODE_01CE0B: BD 1C 15 LDA.W $151C,X CODE_01CE0E: 22 DF 86 00 JSL.L ExecutePtr MortonPtrs1: 1E CE .dw CODE_01CE1E 3E CE .dw CODE_01CE3E 5F CE .dw CODE_01CE5F 7D CF .dw CODE_01CF7D E0 CF .dw CODE_01CFE0 43 D0 .dw CODE_01D043 CODE_01CE1E: BD 7B 18 LDA.W $187B,X CODE_01CE21: C9 01 CMP.B #$01 CODE_01CE23: D0 0F BNE CODE_01CE34 CODE_01CE25: 9C 11 14 STZ.W $1411 CODE_01CE28: EE A8 18 INC.W $18A8 CODE_01CE2B: 9C AA 18 STZ.W $18AA CODE_01CE2E: E6 9D INC RAM_SpritesLocked CODE_01CE30: FE 1C 15 INC.W $151C,X Return01CE33: 60 RTS ; Return CODE_01CE34: A5 1A LDA RAM_ScreenBndryXLo CODE_01CE36: C9 7E CMP.B #$7E CODE_01CE38: 90 03 BCC Return01CE3D CODE_01CE3A: FE 1C 15 INC.W $151C,X Return01CE3D: 60 RTS ; Return CODE_01CE3E: 64 7B STZ RAM_MarioSpeedX CODE_01CE40: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01CE43: B5 AA LDA RAM_SpriteSpeedY,X CODE_01CE45: C9 40 CMP.B #$40 CODE_01CE47: 10 03 BPL CODE_01CE4C CODE_01CE49: 18 CLC CODE_01CE4A: 69 03 ADC.B #$03 CODE_01CE4C: 95 AA STA RAM_SpriteSpeedY,X CODE_01CE4E: 20 C0 D0 JSR.W CODE_01D0C0 CODE_01CE51: 90 EA BCC Return01CE3D CODE_01CE53: FE 1C 15 INC.W $151C,X CODE_01CE56: B5 C2 LDA RAM_SpriteState,X CODE_01CE58: C9 02 CMP.B #$02 CODE_01CE5A: 90 E1 BCC Return01CE3D CODE_01CE5C: 4C A8 CE JMP.W CODE_01CEA8 CODE_01CE5F: B5 C2 LDA RAM_SpriteState,X CODE_01CE61: 22 DF 86 00 JSL.L ExecutePtr MortonPtrs2: 16 D1 .dw CODE_01D116 16 D1 .dw CODE_01D116 6B CE .dw CODE_01CE6B CODE_01CE6B: BD 28 15 LDA.W $1528,X CODE_01CE6E: 22 DF 86 00 JSL.L ExecutePtr Ptrs01CE72: 78 CE .dw CODE_01CE78 B6 CE .dw CODE_01CEB6 FD CE .dw CODE_01CEFD CODE_01CE78: 64 36 STZ $36 CODE_01CE7A: 64 37 STZ $37 CODE_01CE7C: BD 40 15 LDA.W $1540,X CODE_01CE7F: F0 24 BEQ CODE_01CEA5 CODE_01CE81: A0 03 LDY.B #$03 CODE_01CE83: 29 30 AND.B #$30 CODE_01CE85: D0 01 BNE CODE_01CE88 CODE_01CE87: C8 INY CODE_01CE88: 98 TYA CODE_01CE89: BC AC 15 LDY.W $15AC,X CODE_01CE8C: F0 02 BEQ CODE_01CE90 ADDR_01CE8E: A9 05 LDA.B #$05 CODE_01CE90: 9D 02 16 STA.W $1602,X CODE_01CE93: BD 40 15 LDA.W $1540,X CODE_01CE96: 29 3F AND.B #$3F CODE_01CE98: C9 2E CMP.B #$2E CODE_01CE9A: D0 08 BNE Return01CEA4 CODE_01CE9C: A9 30 LDA.B #$30 CODE_01CE9E: 9D 3E 16 STA.W $163E,X CODE_01CEA1: 20 59 D0 JSR.W CODE_01D059 Return01CEA4: 60 RTS ; Return CODE_01CEA5: FE 28 15 INC.W $1528,X CODE_01CEA8: A9 FF LDA.B #$FF CODE_01CEAA: 9D 40 15 STA.W $1540,X Return01CEAD: 60 RTS ; Return DATA_01CEAE: .db $30,$D0 DATA_01CEB0: .db $1B,$1C,$1D,$1B DATA_01CEB4: .db $14,$EC CODE_01CEB6: BD 40 15 LDA.W $1540,X CODE_01CEB9: D0 21 BNE CODE_01CEDC CODE_01CEBB: 20 30 AD JSR.W SubHorizPos CODE_01CEBE: 98 TYA CODE_01CEBF: DD E0 14 CMP.W RAM_SpriteXHi,X CODE_01CEC2: D0 18 BNE CODE_01CEDC CODE_01CEC4: FE 28 15 INC.W $1528,X CODE_01CEC7: B9 B4 CE LDA.W DATA_01CEB4,Y CODE_01CECA: 9D 0E 16 STA.W $160E,X CODE_01CECD: A9 30 LDA.B #$30 CODE_01CECF: 9D 40 15 STA.W $1540,X CODE_01CED2: A9 60 LDA.B #$60 CODE_01CED4: 9D 58 15 STA.W $1558,X CODE_01CED7: A9 D8 LDA.B #$D8 CODE_01CED9: 95 AA STA RAM_SpriteSpeedY,X Return01CEDB: 60 RTS ; Return CODE_01CEDC: 20 30 AD JSR.W SubHorizPos CODE_01CEDF: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01CEE1: D9 AE CE CMP.W DATA_01CEAE,Y CODE_01CEE4: F0 06 BEQ CODE_01CEEC CODE_01CEE6: 18 CLC CODE_01CEE7: 79 E7 D4 ADC.W DATA_01D4E7,Y CODE_01CEEA: 95 B6 STA RAM_SpriteSpeedX,X CODE_01CEEC: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01CEEF: A5 14 LDA RAM_FrameCounterB CODE_01CEF1: 4A LSR CODE_01CEF2: 4A LSR CODE_01CEF3: 29 03 AND.B #$03 CODE_01CEF5: A8 TAY CODE_01CEF6: B9 B0 CE LDA.W DATA_01CEB0,Y CODE_01CEF9: 9D 02 16 STA.W $1602,X Return01CEFC: 60 RTS ; Return CODE_01CEFD: BD 40 15 LDA.W $1540,X CODE_01CF00: F0 1A BEQ CODE_01CF1C CODE_01CF02: 3A DEC A CODE_01CF03: D0 0A BNE CODE_01CF0F CODE_01CF05: BD 0E 16 LDA.W $160E,X CODE_01CF08: 95 B6 STA RAM_SpriteSpeedX,X CODE_01CF0A: A9 08 LDA.B #$08 ; \ Play sound effect CODE_01CF0C: 8D FC 1D STA.W $1DFC ; / CODE_01CF0F: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01CF11: F0 08 BEQ Return01CF1B CODE_01CF13: 10 04 BPL CODE_01CF19 CODE_01CF15: F6 B6 INC RAM_SpriteSpeedX,X CODE_01CF17: F6 B6 INC RAM_SpriteSpeedX,X CODE_01CF19: D6 B6 DEC RAM_SpriteSpeedX,X Return01CF1B: 60 RTS ; Return CODE_01CF1C: 20 C0 D0 JSR.W CODE_01D0C0 CODE_01CF1F: 90 0E BCC CODE_01CF2F CODE_01CF21: B5 AA LDA RAM_SpriteSpeedY,X CODE_01CF23: 30 0A BMI CODE_01CF2F CODE_01CF25: 74 B6 STZ RAM_SpriteSpeedX,X ; \ Sprite Speed = 0 CODE_01CF27: 74 AA STZ RAM_SpriteSpeedY,X ; / CODE_01CF29: 9E 28 15 STZ.W $1528,X CODE_01CF2C: 4C A8 CE JMP.W CODE_01CEA8 CODE_01CF2F: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01CF32: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01CF35: A5 13 LDA RAM_FrameCounter CODE_01CF37: 4A LSR CODE_01CF38: B0 0A BCS CODE_01CF44 CODE_01CF3A: B5 AA LDA RAM_SpriteSpeedY,X CODE_01CF3C: 30 04 BMI CODE_01CF42 CODE_01CF3E: C9 70 CMP.B #$70 CODE_01CF40: B0 02 BCS CODE_01CF44 CODE_01CF42: F6 AA INC RAM_SpriteSpeedY,X CODE_01CF44: BD 58 15 LDA.W $1558,X CODE_01CF47: D0 06 BNE CODE_01CF4F CODE_01CF49: A5 36 LDA $36 CODE_01CF4B: 05 37 ORA $37 CODE_01CF4D: F0 18 BEQ CODE_01CF67 CODE_01CF4F: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01CF51: 0A ASL CODE_01CF52: A9 04 LDA.B #$04 CODE_01CF54: A0 00 LDY.B #$00 CODE_01CF56: 90 03 BCC CODE_01CF5B ADDR_01CF58: A9 FC LDA.B #$FC ADDR_01CF5A: 88 DEY CODE_01CF5B: 18 CLC CODE_01CF5C: 65 36 ADC $36 CODE_01CF5E: 85 36 STA $36 CODE_01CF60: 98 TYA CODE_01CF61: 65 37 ADC $37 CODE_01CF63: 29 01 AND.B #$01 CODE_01CF65: 85 37 STA $37 CODE_01CF67: A9 06 LDA.B #$06 CODE_01CF69: B4 AA LDY RAM_SpriteSpeedY,X CODE_01CF6B: 30 0C BMI CODE_01CF79 CODE_01CF6D: C0 08 CPY.B #$08 CODE_01CF6F: 90 08 BCC CODE_01CF79 CODE_01CF71: A9 05 LDA.B #$05 CODE_01CF73: C0 10 CPY.B #$10 CODE_01CF75: 90 02 BCC CODE_01CF79 CODE_01CF77: A9 02 LDA.B #$02 CODE_01CF79: 9D 02 16 STA.W $1602,X Return01CF7C: 60 RTS ; Return CODE_01CF7D: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01CF80: F6 AA INC RAM_SpriteSpeedY,X CODE_01CF82: 20 C0 D0 JSR.W CODE_01D0C0 CODE_01CF85: BD 40 15 LDA.W $1540,X CODE_01CF88: F0 2D BEQ CODE_01CFB7 CODE_01CF8A: C9 40 CMP.B #$40 CODE_01CF8C: 90 10 BCC CODE_01CF9E CODE_01CF8E: F0 36 BEQ CODE_01CFC6 CODE_01CF90: A0 06 LDY.B #$06 CODE_01CF92: A5 14 LDA RAM_FrameCounterB CODE_01CF94: 29 04 AND.B #$04 CODE_01CF96: F0 01 BEQ CODE_01CF99 CODE_01CF98: C8 INY CODE_01CF99: 98 TYA CODE_01CF9A: 9D 02 16 STA.W $1602,X Return01CF9D: 60 RTS ; Return CODE_01CF9E: AC A6 18 LDY.W $18A6 CODE_01CFA1: A5 38 LDA $38 CODE_01CFA3: C9 20 CMP.B #$20 CODE_01CFA5: F0 02 BEQ CODE_01CFA9 CODE_01CFA7: E6 38 INC $38 CODE_01CFA9: A5 39 LDA $39 CODE_01CFAB: C9 20 CMP.B #$20 CODE_01CFAD: F0 02 BEQ CODE_01CFB1 CODE_01CFAF: C6 39 DEC $39 CODE_01CFB1: A9 07 LDA.B #$07 CODE_01CFB3: 9D 02 16 STA.W $1602,X Return01CFB6: 60 RTS ; Return CODE_01CFB7: A9 02 LDA.B #$02 CODE_01CFB9: 9D 1C 15 STA.W $151C,X CODE_01CFBC: B5 C2 LDA RAM_SpriteState,X CODE_01CFBE: F0 05 BEQ Return01CFC5 CODE_01CFC0: A9 20 LDA.B #$20 CODE_01CFC2: 9D 4A 16 STA.W $164A,X Return01CFC5: 60 RTS ; Return CODE_01CFC6: FE 26 16 INC.W $1626,X CODE_01CFC9: BD 26 16 LDA.W $1626,X CODE_01CFCC: C9 03 CMP.B #$03 CODE_01CFCE: 90 0F BCC Return01CFDF CODE_01CFD0: A9 1F LDA.B #$1F ; \ Play sound effect CODE_01CFD2: 8D F9 1D STA.W $1DF9 ; / CODE_01CFD5: A9 04 LDA.B #$04 CODE_01CFD7: 9D 1C 15 STA.W $151C,X CODE_01CFDA: A9 13 LDA.B #$13 CODE_01CFDC: 9D 40 15 STA.W $1540,X Return01CFDF: 60 RTS ; Return CODE_01CFE0: BC 40 15 LDY.W $1540,X CODE_01CFE3: F0 17 BEQ CODE_01CFFC CODE_01CFE5: B5 D8 LDA RAM_SpriteYLo,X CODE_01CFE7: 38 SEC CODE_01CFE8: E9 01 SBC.B #$01 CODE_01CFEA: 95 D8 STA RAM_SpriteYLo,X CODE_01CFEC: B0 03 BCS CODE_01CFF1 ADDR_01CFEE: DE D4 14 DEC.W RAM_SpriteYHi,X CODE_01CFF1: C6 39 DEC $39 CODE_01CFF3: 98 TYA CODE_01CFF4: 29 03 AND.B #$03 CODE_01CFF6: F0 02 BEQ CODE_01CFFA CODE_01CFF8: C6 38 DEC $38 CODE_01CFFA: 80 13 BRA CODE_01D00F CODE_01CFFC: A5 36 LDA $36 CODE_01CFFE: 18 CLC CODE_01CFFF: 69 06 ADC.B #$06 CODE_01D001: 85 36 STA $36 CODE_01D001: 85 36 STA $36 CODE_01D003: A5 37 LDA $37 CODE_01D005: 69 00 ADC.B #$00 CODE_01D007: 29 01 AND.B #$01 CODE_01D009: 85 37 STA $37 CODE_01D00B: E6 38 INC $38 CODE_01D00D: E6 39 INC $39 CODE_01D00F: A5 39 LDA $39 CODE_01D011: C9 A0 CMP.B #$A0 CODE_01D013: 90 2D BCC Return01D042 CODE_01D015: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_01D018: D0 18 BNE CODE_01D032 CODE_01D01A: A9 01 LDA.B #$01 CODE_01D01C: 8D C0 17 STA.W $17C0 CODE_01D01F: B5 E4 LDA RAM_SpriteXLo,X CODE_01D021: E9 08 SBC.B #$08 CODE_01D023: 8D C8 17 STA.W $17C8 CODE_01D026: B5 D8 LDA RAM_SpriteYLo,X CODE_01D028: 69 08 ADC.B #$08 CODE_01D02A: 8D C4 17 STA.W $17C4 CODE_01D02D: A9 1B LDA.B #$1B CODE_01D02F: 8D CC 17 STA.W $17CC CODE_01D032: A9 D0 LDA.B #$D0 CODE_01D034: 95 D8 STA RAM_SpriteYLo,X CODE_01D036: 22 DF DE 03 JSL.L CODE_03DEDF CODE_01D03A: FE 1C 15 INC.W $151C,X CODE_01D03D: A9 30 LDA.B #$30 CODE_01D03F: 9D 40 15 STA.W $1540,X Return01D042: 60 RTS ; Return CODE_01D043: BD 40 15 LDA.W $1540,X CODE_01D046: D0 0E BNE Return01D056 CODE_01D048: EE C6 13 INC.W $13C6 CODE_01D04B: CE 93 14 DEC.W $1493 CODE_01D04E: A9 0B LDA.B #$0B CODE_01D050: 8D FB 1D STA.W $1DFB ; / Change music CODE_01D053: 9E C8 14 STZ.W $14C8,X Return01D056: 60 RTS ; Return DATA_01D057: .db $FF,$F1 CODE_01D059: A9 17 LDA.B #$17 ; \ Play sound effect CODE_01D05B: 8D FC 1D STA.W $1DFC ; / CODE_01D05E: A0 04 LDY.B #$04 CODE_01D060: B9 C8 14 LDA.W $14C8,Y CODE_01D063: F0 04 BEQ CODE_01D069 CODE_01D065: 88 DEY CODE_01D066: 10 F8 BPL CODE_01D060 Return01D068: 60 RTS ; Return CODE_01D069: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_01D06B: 99 C8 14 STA.W $14C8,Y ; / CODE_01D06E: A9 34 LDA.B #$34 CODE_01D070: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_01D073: B5 E4 LDA RAM_SpriteXLo,X CODE_01D075: 85 00 STA $00 CODE_01D077: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01D07A: 85 01 STA $01 CODE_01D07C: B5 D8 LDA RAM_SpriteYLo,X CODE_01D07E: 18 CLC CODE_01D07F: 69 03 ADC.B #$03 CODE_01D081: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_01D084: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01D087: 69 00 ADC.B #$00 CODE_01D089: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_01D08C: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01D08F: DA PHX CODE_01D090: AA TAX CODE_01D091: A5 00 LDA $00 CODE_01D093: 18 CLC CODE_01D094: 7D 57 D0 ADC.W DATA_01D057,X CODE_01D097: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01D09A: A5 01 LDA $01 CODE_01D09C: 69 FF ADC.B #$FF CODE_01D09E: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_01D0A1: FA PLX CODE_01D0A2: DA PHX CODE_01D0A3: BB TYX CODE_01D0A4: 22 D2 F7 07 JSL.L InitSpriteTables CODE_01D0A8: FA PLX CODE_01D0A9: DA PHX CODE_01D0AA: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01D0AD: 99 7C 15 STA.W RAM_SpriteDir,Y CODE_01D0B0: AA TAX CODE_01D0B1: BD BE D0 LDA.W DATA_01D0BE,X CODE_01D0B4: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_01D0B7: A9 30 LDA.B #$30 CODE_01D0B9: 99 40 15 STA.W $1540,Y CODE_01D0BC: FA PLX Return01D0BD: 60 RTS ; Return DATA_01D0BE: .db $20,$E0 CODE_01D0C0: B5 AA LDA RAM_SpriteSpeedY,X CODE_01D0C2: 30 18 BMI CODE_01D0DC CODE_01D0C4: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01D0C7: D0 13 BNE CODE_01D0DC CODE_01D0C9: A5 39 LDA $39 CODE_01D0CB: 4A LSR CODE_01D0CC: A8 TAY CODE_01D0CD: B5 D8 LDA RAM_SpriteYLo,X CODE_01D0CF: D9 D6 D0 CMP.W ADDR_01D0D6,Y CODE_01D0D2: 90 08 BCC CODE_01D0DC Instr01D0D4: .db $B9,$D6,$D0 CODE_01D0D7: 95 D8 STA RAM_SpriteYLo,X CODE_01D0D9: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 Return01D0DB: 60 RTS ; Return CODE_01D0DC: 18 CLC Return01D0DD: 60 RTS ; Return DATA_01D0DE: .db $80,$83,$85,$88,$8A,$8B,$8D,$8F .db $90,$91,$91,$92,$92,$93,$93,$94 .db $94,$95,$95,$96,$96,$97,$97,$98 .db $98,$98,$99,$99,$9A,$9A,$9B,$9B .db $9C,$9C,$9C,$9C,$9D,$9D,$9D,$9D .db $9E,$9E,$9E,$9E,$9E,$9F,$9F,$9F .db $9F,$9F,$9F,$9F,$9F,$9F,$9F,$9F CODE_01D116: BD 28 15 LDA.W $1528,X CODE_01D119: 22 DF 86 00 JSL.L ExecutePtr MortonPtrs3: 46 D1 .dw CODE_01D146 3F D2 .dw CODE_01D23F Return01D121: 60 RTS DATA_01D122: .db $F0,$00,$10,$00,$F0,$00,$10,$00 .db $E8,$00,$18,$00 DATA_01D12E: .db $00,$F0,$00,$10,$00,$F0,$00,$10 .db $00,$E8,$00,$18,$26,$26,$D8,$D8 DATA_01D13E: .db $90,$30,$30,$90 DATA_01D142: .db $00,$01,$02,$01 CODE_01D146: A5 14 LDA RAM_FrameCounterB CODE_01D148: 4A LSR CODE_01D149: BC 26 16 LDY.W $1626,X CODE_01D14C: C0 02 CPY.B #$02 CODE_01D14E: B0 01 BCS CODE_01D151 CODE_01D150: 4A LSR CODE_01D151: 29 03 AND.B #$03 CODE_01D153: A8 TAY CODE_01D154: B9 42 D1 LDA.W DATA_01D142,Y CODE_01D157: BC AC 15 LDY.W $15AC,X CODE_01D15A: F0 02 BEQ CODE_01D15E CODE_01D15C: A9 05 LDA.B #$05 CODE_01D15E: 9D 02 16 STA.W $1602,X CODE_01D161: BD 4A 16 LDA.W $164A,X CODE_01D164: F0 16 BEQ CODE_01D17C CODE_01D166: B4 E4 LDY RAM_SpriteXLo,X CODE_01D168: C0 50 CPY.B #$50 CODE_01D16A: 90 10 BCC CODE_01D17C CODE_01D16C: C0 80 CPY.B #$80 CODE_01D16E: B0 0C BCS CODE_01D17C CODE_01D170: DE 4A 16 DEC.W $164A,X CODE_01D173: 4A LSR CODE_01D174: B0 06 BCS CODE_01D17C CODE_01D176: FE 34 15 INC.W $1534,X CODE_01D179: DE 0E 16 DEC.W $160E,X CODE_01D17C: BD 34 15 LDA.W $1534,X CODE_01D17F: 85 05 STA $05 CODE_01D181: 85 06 STA $06 CODE_01D183: 85 0B STA $0B CODE_01D185: 85 0C STA $0C CODE_01D187: BD 0E 16 LDA.W $160E,X CODE_01D18A: 85 07 STA $07 CODE_01D18C: 85 08 STA $08 CODE_01D18E: 85 09 STA $09 CODE_01D190: 85 0A STA $0A CODE_01D192: A5 36 LDA $36 CODE_01D194: 0A ASL CODE_01D195: F0 03 BEQ CODE_01D19A CODE_01D197: 4C 24 D2 JMP.W CODE_01D224 CODE_01D19A: BC 94 15 LDY.W $1594,X CODE_01D19D: 98 TYA CODE_01D19E: 4A LSR CODE_01D19F: B0 14 BCS CODE_01D1B5 CODE_01D1A1: B5 E4 LDA RAM_SpriteXLo,X CODE_01D1A3: C0 00 CPY.B #$00 CODE_01D1A5: D0 07 BNE CODE_01D1AE CODE_01D1A7: DD 34 15 CMP.W $1534,X CODE_01D1AA: 90 69 BCC CODE_01D215 CODE_01D1AC: 80 2A BRA CODE_01D1D8 CODE_01D1AE: DD 0E 16 CMP.W $160E,X CODE_01D1B1: B0 62 BCS CODE_01D215 CODE_01D1B3: 80 23 BRA CODE_01D1D8 CODE_01D1B5: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01D1B8: D0 04 BNE CODE_01D1BE ADDR_01D1BA: C8 INY ADDR_01D1BB: C8 INY ADDR_01D1BC: C8 INY ADDR_01D1BD: C8 INY CODE_01D1BE: B9 05 00 LDA.W $0005,Y CODE_01D1C1: 95 E4 STA RAM_SpriteXLo,X CODE_01D1C3: BC 94 15 LDY.W $1594,X CODE_01D1C6: B5 D8 LDA RAM_SpriteYLo,X CODE_01D1C8: C0 03 CPY.B #$03 CODE_01D1CA: F0 07 BEQ ADDR_01D1D3 CODE_01D1CC: D9 3E D1 CMP.W DATA_01D13E,Y CODE_01D1CF: 90 44 BCC CODE_01D215 CODE_01D1D1: 80 05 BRA CODE_01D1D8 ADDR_01D1D3: D9 3E D1 CMP.W DATA_01D13E,Y ADDR_01D1D6: B0 3D BCS CODE_01D215 CODE_01D1D8: BD 26 16 LDA.W $1626,X CODE_01D1DB: C9 02 CMP.B #$02 CODE_01D1DD: 90 02 BCC CODE_01D1E1 CODE_01D1DF: A9 02 LDA.B #$02 CODE_01D1E1: 0A ASL CODE_01D1E2: 0A ASL CODE_01D1E3: 7D 94 15 ADC.W $1594,X CODE_01D1E6: A8 TAY CODE_01D1E7: B9 22 D1 LDA.W DATA_01D122,Y CODE_01D1EA: 95 B6 STA RAM_SpriteSpeedX,X CODE_01D1EC: B9 2E D1 LDA.W DATA_01D12E,Y CODE_01D1EF: 95 AA STA RAM_SpriteSpeedY,X CODE_01D1F1: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01D1F4: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01D1F7: BD 94 15 LDA.W $1594,X CODE_01D1FA: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01D1FD: D0 02 BNE CODE_01D201 ADDR_01D1FF: 49 02 EOR.B #$02 CODE_01D201: C9 02 CMP.B #$02 CODE_01D203: D0 0F BNE Return01D214 CODE_01D205: 20 30 AD JSR.W SubHorizPos CODE_01D208: A5 0F LDA $0F CODE_01D20A: 18 CLC CODE_01D20B: 69 10 ADC.B #$10 CODE_01D20D: C9 20 CMP.B #$20 CODE_01D20F: B0 03 BCS Return01D214 CODE_01D211: FE 28 15 INC.W $1528,X Return01D214: 60 RTS ; Return CODE_01D215: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01D218: BD 94 15 LDA.W $1594,X CODE_01D21B: 18 CLC CODE_01D21C: 79 3D D2 ADC.W DATA_01D23D,Y CODE_01D21F: 29 03 AND.B #$03 CODE_01D221: 9D 94 15 STA.W $1594,X CODE_01D224: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01D227: A5 36 LDA $36 CODE_01D229: 18 CLC CODE_01D22A: 79 39 D2 ADC.W DATA_01D239,Y CODE_01D22D: 85 36 STA $36 CODE_01D22F: A5 37 LDA $37 CODE_01D231: 79 3B D2 ADC.W DATA_01D23B,Y CODE_01D234: 29 01 AND.B #$01 CODE_01D236: 85 37 STA $37 Return01D238: 60 RTS ; Return DATA_01D239: .db $FC,$04 DATA_01D23B: .db $FF,$00 DATA_01D23D: .db $FF,$01 CODE_01D23F: BD 40 15 LDA.W $1540,X CODE_01D242: F0 1A BEQ CODE_01D25E CODE_01D244: C9 01 CMP.B #$01 CODE_01D246: D0 5F BNE Return01D2A7 CODE_01D248: 9E 28 15 STZ.W $1528,X CODE_01D24B: 20 30 AD JSR.W SubHorizPos CODE_01D24E: 98 TYA CODE_01D24F: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01D252: 0A ASL CODE_01D253: 49 02 EOR.B #$02 CODE_01D255: 9D 94 15 STA.W $1594,X CODE_01D258: A9 0A LDA.B #$0A ; \ Set turning timer CODE_01D25A: 9D AC 15 STA.W $15AC,X ; / Return01D25D: 60 RTS ; Return CODE_01D25E: A9 06 LDA.B #$06 CODE_01D260: 9D 02 16 STA.W $1602,X CODE_01D263: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01D266: B5 AA LDA RAM_SpriteSpeedY,X CODE_01D268: C9 70 CMP.B #$70 CODE_01D26A: B0 05 BCS CODE_01D271 CODE_01D26C: 18 CLC CODE_01D26D: 69 04 ADC.B #$04 CODE_01D26F: 95 AA STA RAM_SpriteSpeedY,X CODE_01D271: A5 36 LDA $36 CODE_01D273: 05 37 ORA $37 CODE_01D275: F0 0F BEQ CODE_01D286 CODE_01D277: A5 36 LDA $36 CODE_01D279: 18 CLC CODE_01D27A: 69 08 ADC.B #$08 CODE_01D27C: 85 36 STA $36 CODE_01D27E: A5 37 LDA $37 CODE_01D280: 69 00 ADC.B #$00 CODE_01D282: 29 01 AND.B #$01 CODE_01D284: 85 37 STA $37 CODE_01D286: 20 C0 D0 JSR.W CODE_01D0C0 CODE_01D289: 90 1C BCC Return01D2A7 CODE_01D28B: A9 20 LDA.B #$20 ; \ Set ground shake timer CODE_01D28D: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_01D290: A5 72 LDA RAM_IsFlying CODE_01D292: D0 05 BNE CODE_01D299 CODE_01D294: A9 28 LDA.B #$28 ; \ Lock Mario in place CODE_01D296: 8D BD 18 STA.W RAM_LockMarioTimer ; / CODE_01D299: A9 09 LDA.B #$09 ; \ Play sound effect CODE_01D29B: 8D FC 1D STA.W $1DFC ; / CODE_01D29E: A9 28 LDA.B #$28 CODE_01D2A0: 9D 40 15 STA.W $1540,X CODE_01D2A3: 64 36 STZ $36 CODE_01D2A5: 64 37 STZ $37 Return01D2A7: 60 RTS ; Return CODE_01D2A8: BD 1C 15 LDA.W $151C,X CODE_01D2AB: C9 03 CMP.B #$03 CODE_01D2AD: B0 69 BCS Return01D318 CODE_01D2AF: BD 7B 18 LDA.W $187B,X CODE_01D2B2: C9 03 CMP.B #$03 CODE_01D2B4: D0 07 BNE CODE_01D2BD ADDR_01D2B6: BD 28 15 LDA.W $1528,X ADDR_01D2B9: C9 03 CMP.B #$03 ADDR_01D2BB: B0 5B BCS Return01D318 CODE_01D2BD: 22 64 B6 03 JSL.L GetMarioClipping CODE_01D2C1: 20 0B D4 JSR.W CODE_01D40B CODE_01D2C4: 22 2B B7 03 JSL.L CheckForContact CODE_01D2C8: 90 4E BCC Return01D318 CODE_01D2CA: BD E2 1F LDA.W $1FE2,X CODE_01D2CD: D0 49 BNE Return01D318 CODE_01D2CF: A9 08 LDA.B #$08 CODE_01D2D1: 9D E2 1F STA.W $1FE2,X CODE_01D2D4: A5 72 LDA RAM_IsFlying CODE_01D2D6: F0 41 BEQ CODE_01D319 CODE_01D2D8: BD 02 16 LDA.W $1602,X CODE_01D2DB: C9 10 CMP.B #$10 CODE_01D2DD: B0 04 BCS CODE_01D2E3 CODE_01D2DF: C9 06 CMP.B #$06 CODE_01D2E1: B0 3B BCS ADDR_01D31E CODE_01D2E3: A5 96 LDA RAM_MarioYPos CODE_01D2E5: 18 CLC CODE_01D2E6: 69 08 ADC.B #$08 CODE_01D2E8: D5 D8 CMP RAM_SpriteYLo,X CODE_01D2EA: B0 32 BCS ADDR_01D31E CODE_01D2EC: BD 94 15 LDA.W $1594,X CODE_01D2EF: 4A LSR CODE_01D2F0: B0 42 BCS CODE_01D334 CODE_01D2F2: A5 7D LDA RAM_MarioSpeedY CODE_01D2F4: 30 27 BMI Return01D31D CODE_01D2F6: 20 51 D3 JSR.W CODE_01D351 CODE_01D2F9: A9 D0 LDA.B #$D0 CODE_01D2FB: 85 7D STA RAM_MarioSpeedY CODE_01D2FD: A9 02 LDA.B #$02 ; \ Play sound effect CODE_01D2FF: 8D F9 1D STA.W $1DF9 ; / CODE_01D302: BD 02 16 LDA.W $1602,X CODE_01D305: C9 1B CMP.B #$1B CODE_01D307: 90 70 BCC CODE_01D379 ADDR_01D309: A0 20 LDY.B #$20 ADDR_01D30B: B5 E4 LDA RAM_SpriteXLo,X ADDR_01D30D: 38 SEC ADDR_01D30E: E9 08 SBC.B #$08 ADDR_01D310: C5 94 CMP RAM_MarioXPos ADDR_01D312: 30 02 BMI ADDR_01D316 ADDR_01D314: A0 E0 LDY.B #$E0 ADDR_01D316: 84 7B STY RAM_MarioSpeedX Return01D318: 60 RTS ; Return CODE_01D319: 22 B7 F5 00 JSL.L HurtMario Return01D31D: 60 RTS ; Return ADDR_01D31E: A9 01 LDA.B #$01 ; \ Play sound effect ADDR_01D320: 8D F9 1D STA.W $1DF9 ; / ADDR_01D323: A5 7D LDA RAM_MarioSpeedY ADDR_01D325: 10 05 BPL ADDR_01D32C ADDR_01D327: A9 10 LDA.B #$10 ADDR_01D329: 85 7D STA RAM_MarioSpeedY Return01D32B: 60 RTS ; Return ADDR_01D32C: 20 09 D3 JSR.W ADDR_01D309 ADDR_01D32F: A9 D0 LDA.B #$D0 ADDR_01D331: 85 7D STA RAM_MarioSpeedY Return01D333: 60 RTS ; Return CODE_01D334: A9 01 LDA.B #$01 ; \ Play sound effect CODE_01D336: 8D F9 1D STA.W $1DF9 ; / CODE_01D339: A5 7D LDA RAM_MarioSpeedY CODE_01D33B: 10 05 BPL CODE_01D342 ADDR_01D33D: A9 20 LDA.B #$20 ADDR_01D33F: 85 7D STA RAM_MarioSpeedY Return01D341: 60 RTS ; Return CODE_01D342: A0 20 LDY.B #$20 CODE_01D344: B5 E4 LDA RAM_SpriteXLo,X CODE_01D346: 10 02 BPL CODE_01D34A ADDR_01D348: A0 E0 LDY.B #$E0 CODE_01D34A: 84 7B STY RAM_MarioSpeedX CODE_01D34C: A9 B0 LDA.B #$B0 CODE_01D34E: 85 7D STA RAM_MarioSpeedY Return01D350: 60 RTS ; Return CODE_01D351: B5 E4 LDA RAM_SpriteXLo,X CODE_01D353: 48 PHA CODE_01D354: 38 SEC CODE_01D355: E9 08 SBC.B #$08 CODE_01D357: 95 E4 STA RAM_SpriteXLo,X CODE_01D359: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01D35C: 48 PHA CODE_01D35D: E9 00 SBC.B #$00 CODE_01D35F: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01D362: B5 D8 LDA RAM_SpriteYLo,X CODE_01D364: 48 PHA CODE_01D365: 18 CLC CODE_01D366: 69 08 ADC.B #$08 CODE_01D368: 95 D8 STA RAM_SpriteYLo,X CODE_01D36A: 22 99 AB 01 JSL.L DisplayContactGfx CODE_01D36E: 68 PLA CODE_01D36F: 95 D8 STA RAM_SpriteYLo,X CODE_01D371: 68 PLA CODE_01D372: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01D375: 68 PLA CODE_01D376: 95 E4 STA RAM_SpriteXLo,X Return01D378: 60 RTS ; Return CODE_01D379: A9 18 LDA.B #$18 CODE_01D37B: 85 38 STA $38 CODE_01D37D: DA PHX CODE_01D37E: A5 39 LDA $39 CODE_01D380: 4A LSR CODE_01D381: AA TAX CODE_01D382: A9 28 LDA.B #$28 CODE_01D384: 85 39 STA $39 CODE_01D386: 4A LSR CODE_01D387: A8 TAY CODE_01D388: B9 D6 D0 LDA.W ADDR_01D0D6,Y CODE_01D38B: 38 SEC CODE_01D38C: FD D6 D0 SBC.W ADDR_01D0D6,X CODE_01D38F: FA PLX CODE_01D390: 18 CLC CODE_01D391: 75 D8 ADC RAM_SpriteYLo,X CODE_01D393: 95 D8 STA RAM_SpriteYLo,X CODE_01D395: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01D398: 69 00 ADC.B #$00 CODE_01D39A: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01D39D: 74 B6 STZ RAM_SpriteSpeedX,X ; \ Sprite Speed = 0 CODE_01D39F: 74 AA STZ RAM_SpriteSpeedY,X ; / CODE_01D3A1: A9 80 LDA.B #$80 CODE_01D3A3: 9D 40 15 STA.W $1540,X CODE_01D3A6: A9 03 LDA.B #$03 CODE_01D3A8: 9D 1C 15 STA.W $151C,X CODE_01D3AB: A9 28 LDA.B #$28 ; \ Play sound effect CODE_01D3AD: 8D FC 1D STA.W $1DFC ; / Return01D3B0: 60 RTS ; Return CODE_01D3B1: BD 1C 15 LDA.W $151C,X CODE_01D3B4: C9 03 CMP.B #$03 CODE_01D3B6: B0 52 BCS Return01D40A CODE_01D3B8: A0 0A LDY.B #$0A CODE_01D3BA: 8C 95 16 STY.W $1695 CODE_01D3BD: B9 0B 17 LDA.W RAM_ExSpriteNum,Y CODE_01D3C0: C9 05 CMP.B #$05 CODE_01D3C2: D0 41 BNE CODE_01D405 ADDR_01D3C4: B9 1F 17 LDA.W RAM_ExSpriteXLo,Y ADDR_01D3C7: 85 00 STA $00 ADDR_01D3C9: B9 33 17 LDA.W RAM_ExSpriteXHi,Y ADDR_01D3CC: 85 08 STA $08 ADDR_01D3CE: B9 15 17 LDA.W RAM_ExSpriteYLo,Y ADDR_01D3D1: 85 01 STA $01 ADDR_01D3D3: B9 29 17 LDA.W RAM_ExSpriteYHi,Y ADDR_01D3D6: 85 09 STA $09 ADDR_01D3D8: A9 08 LDA.B #$08 ADDR_01D3DA: 85 02 STA $02 ADDR_01D3DC: 85 03 STA $03 ADDR_01D3DE: 5A PHY ADDR_01D3DF: 20 0B D4 JSR.W CODE_01D40B ADDR_01D3E2: 7A PLY ADDR_01D3E3: 22 2B B7 03 JSL.L CheckForContact ADDR_01D3E7: 90 1C BCC CODE_01D405 ADDR_01D3E9: A9 01 LDA.B #$01 ; \ Extended sprite = Smoke puff ADDR_01D3EB: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / ADDR_01D3EE: A9 0F LDA.B #$0F ADDR_01D3F0: 99 6F 17 STA.W $176F,Y ADDR_01D3F3: A9 01 LDA.B #$01 ; \ Play sound effect ADDR_01D3F5: 8D F9 1D STA.W $1DF9 ; / ADDR_01D3F8: FE 26 16 INC.W $1626,X ADDR_01D3FB: BD 26 16 LDA.W $1626,X ADDR_01D3FE: C9 0C CMP.B #$0C ADDR_01D400: 90 03 BCC CODE_01D405 ADDR_01D402: 20 D0 CF JSR.W CODE_01CFD0 CODE_01D405: 88 DEY CODE_01D406: C0 07 CPY.B #$07 CODE_01D408: D0 B0 BNE CODE_01D3BA Return01D40A: 60 RTS ; Return CODE_01D40B: B5 E4 LDA RAM_SpriteXLo,X CODE_01D40D: 38 SEC CODE_01D40E: E9 08 SBC.B #$08 CODE_01D410: 85 04 STA $04 CODE_01D412: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01D415: E9 00 SBC.B #$00 CODE_01D417: 85 0A STA $0A CODE_01D419: A9 10 LDA.B #$10 CODE_01D41B: 85 06 STA $06 CODE_01D41D: A9 10 LDA.B #$10 CODE_01D41F: 85 07 STA $07 CODE_01D421: BD 02 16 LDA.W $1602,X CODE_01D424: C9 69 CMP.B #$69 CODE_01D426: A9 08 LDA.B #$08 CODE_01D428: 90 02 BCC CODE_01D42C ADDR_01D42A: 69 0A ADC.B #$0A CODE_01D42C: 18 CLC CODE_01D42D: 75 D8 ADC RAM_SpriteYLo,X CODE_01D42F: 85 05 STA $05 CODE_01D431: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01D434: 69 00 ADC.B #$00 CODE_01D436: 85 0B STA $0B Return01D438: 60 RTS ; Return DATA_01D439: .db $A8,$B0,$B8,$C0,$C8 ADDR_01D43E: 9E C8 14 STZ.W $14C8,X ; \ Unreachable Return01D441: 60 RTS ; / Erase sprite DATA_01D442: .db $00,$F0,$00,$10 LudwigFireTiles: .db $4A,$4C,$6A,$6C DATA_01D44A: .db $45,$45,$05,$05 BossFireball: A5 9D LDA RAM_SpritesLocked CODE_01D450: 0D FB 13 ORA.W $13FB CODE_01D453: D0 32 BNE CODE_01D487 CODE_01D455: BD 40 15 LDA.W $1540,X CODE_01D458: C9 10 CMP.B #$10 CODE_01D45A: B0 2B BCS CODE_01D487 CODE_01D45C: A8 TAY CODE_01D45D: D0 09 BNE CODE_01D468 CODE_01D45F: 20 5F 8E JSR.W SetAnimationFrame CODE_01D462: 20 5F 8E JSR.W SetAnimationFrame CODE_01D465: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01D468: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01D46B: B5 E4 LDA RAM_SpriteXLo,X CODE_01D46D: 18 CLC CODE_01D46E: 69 20 ADC.B #$20 CODE_01D470: 85 00 STA $00 CODE_01D472: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01D475: 69 00 ADC.B #$00 CODE_01D477: 85 01 STA $01 CODE_01D479: C2 20 REP #$20 ; Accum (16 bit) CODE_01D47B: A5 00 LDA $00 CODE_01D47D: C9 30 02 CMP.W #$0230 CODE_01D480: E2 20 SEP #$20 ; Accum (8 bit) CODE_01D482: 90 03 BCC CODE_01D487 CODE_01D484: 9E C8 14 STZ.W $14C8,X CODE_01D487: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01D48A: BD 02 16 LDA.W $1602,X CODE_01D48D: 0A ASL CODE_01D48E: 85 03 STA $03 CODE_01D490: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01D493: 0A ASL CODE_01D494: 85 02 STA $02 CODE_01D496: BD 39 D4 LDA.W DATA_01D439,X CODE_01D499: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01D49C: A8 TAY CODE_01D49D: DA PHX CODE_01D49E: BD 40 15 LDA.W $1540,X CODE_01D4A1: A2 01 LDX.B #$01 CODE_01D4A3: C9 08 CMP.B #$08 CODE_01D4A5: 90 01 BCC CODE_01D4A8 CODE_01D4A7: CA DEX CODE_01D4A8: DA PHX CODE_01D4A9: DA PHX CODE_01D4AA: 8A TXA CODE_01D4AB: 18 CLC CODE_01D4AC: 65 02 ADC $02 CODE_01D4AE: AA TAX CODE_01D4AF: A5 00 LDA $00 CODE_01D4B1: 18 CLC CODE_01D4B2: 7D 42 D4 ADC.W DATA_01D442,X CODE_01D4B5: 99 00 03 STA.W OAM_DispX,Y CODE_01D4B8: A5 14 LDA RAM_FrameCounterB CODE_01D4BA: 4A LSR CODE_01D4BB: 4A LSR CODE_01D4BC: 6A ROR CODE_01D4BD: 29 80 AND.B #$80 CODE_01D4BF: 1D 4A D4 ORA.W DATA_01D44A,X CODE_01D4C2: 99 03 03 STA.W OAM_Prop,Y CODE_01D4C5: A5 01 LDA $01 CODE_01D4C7: 1A INC A CODE_01D4C8: 1A INC A CODE_01D4C9: 99 01 03 STA.W OAM_DispY,Y CODE_01D4CC: 68 PLA CODE_01D4CD: 18 CLC CODE_01D4CE: 65 03 ADC $03 CODE_01D4D0: AA TAX CODE_01D4D1: BD 46 D4 LDA.W LudwigFireTiles,X CODE_01D4D4: 99 02 03 STA.W OAM_Tile,Y CODE_01D4D7: FA PLX CODE_01D4D8: C8 INY CODE_01D4D9: C8 INY CODE_01D4DA: C8 INY CODE_01D4DB: C8 INY CODE_01D4DC: CA DEX CODE_01D4DD: 10 C9 BPL CODE_01D4A8 CODE_01D4DF: FA PLX CODE_01D4E0: A0 02 LDY.B #$02 CODE_01D4E2: A9 01 LDA.B #$01 CODE_01D4E4: 4C BB B7 JMP.W FinishOAMWriteRt DATA_01D4E7: .db $01,$FF DATA_01D4E9: .db $0F,$00 DATA_01D4EB: .db $00,$02,$04,$06,$08,$0A,$0C,$0E .db $0E,$0C,$0A,$08,$06,$04,$02,$00 ParachuteSprites: BD C8 14 LDA.W $14C8,X CODE_01D4FE: C9 08 CMP.B #$08 CODE_01D500: F0 03 BEQ CODE_01D505 ADDR_01D502: 4C 71 D6 JMP.W CODE_01D671 CODE_01D505: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01D507: D0 4F BNE CODE_01D558 ; / CODE_01D509: BD 40 15 LDA.W $1540,X CODE_01D50C: D0 4A BNE CODE_01D558 CODE_01D50E: A5 13 LDA RAM_FrameCounter CODE_01D510: 4A LSR CODE_01D511: 90 07 BCC CODE_01D51A CODE_01D513: F6 D8 INC RAM_SpriteYLo,X CODE_01D515: D0 03 BNE CODE_01D51A CODE_01D517: FE D4 14 INC.W RAM_SpriteYHi,X CODE_01D51A: BD 1C 15 LDA.W $151C,X CODE_01D51D: D0 39 BNE CODE_01D558 CODE_01D51F: A5 13 LDA RAM_FrameCounter CODE_01D521: 4A LSR CODE_01D522: 90 16 BCC CODE_01D53A CODE_01D524: B5 C2 LDA RAM_SpriteState,X CODE_01D526: 29 01 AND.B #$01 CODE_01D528: A8 TAY CODE_01D529: BD 70 15 LDA.W $1570,X CODE_01D52C: 18 CLC CODE_01D52D: 79 E7 D4 ADC.W DATA_01D4E7,Y CODE_01D530: 9D 70 15 STA.W $1570,X CODE_01D533: D9 E9 D4 CMP.W DATA_01D4E9,Y CODE_01D536: D0 02 BNE CODE_01D53A CODE_01D538: F6 C2 INC RAM_SpriteState,X CODE_01D53A: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01D53C: 48 PHA CODE_01D53D: BC 70 15 LDY.W $1570,X CODE_01D540: B5 C2 LDA RAM_SpriteState,X CODE_01D542: 4A LSR CODE_01D543: B9 EB D4 LDA.W DATA_01D4EB,Y CODE_01D546: 90 03 BCC CODE_01D54B CODE_01D548: 49 FF EOR.B #$FF CODE_01D54A: 1A INC A CODE_01D54B: 18 CLC CODE_01D54C: 75 B6 ADC RAM_SpriteSpeedX,X CODE_01D54E: 95 B6 STA RAM_SpriteSpeedX,X CODE_01D550: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01D553: 68 PLA CODE_01D554: 95 B6 STA RAM_SpriteSpeedX,X CODE_01D556: 80 00 BRA CODE_01D558 CODE_01D558: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01D55B: 4C B3 D5 JMP.W CODE_01D5B3 DATA_01D55E: .db $0D,$0D,$0D,$0D,$0C,$0C,$0C,$0C .db $0C,$0C,$0C,$0C,$0D,$0D,$0D,$0D DATA_01D56E: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $01,$01,$01,$01,$01,$01,$01,$01 DATA_01D57E: .db $F8,$F8,$FA,$FA,$FC,$FC,$FE,$FE .db $02,$02,$04,$04,$06,$06,$08,$08 DATA_01D58E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_01D59E: .db $0E,$0E,$0F,$0F,$10,$10,$10,$10 .db $10,$10,$10,$10,$0F,$0F,$0E,$0E DATA_01D5AE: .db $0F,$0D DATA_01D5B0: .db $01,$05,$00 CODE_01D5B3: 9C 5E 18 STZ.W $185E CODE_01D5B6: A0 F0 LDY.B #$F0 CODE_01D5B8: BD 40 15 LDA.W $1540,X CODE_01D5BB: F0 0A BEQ CODE_01D5C7 CODE_01D5BD: 4A LSR CODE_01D5BE: 49 0F EOR.B #$0F CODE_01D5C0: 8D 5E 18 STA.W $185E CODE_01D5C3: 18 CLC CODE_01D5C4: 69 F0 ADC.B #$F0 CODE_01D5C6: A8 TAY CODE_01D5C7: 84 00 STY $00 CODE_01D5C9: B5 D8 LDA RAM_SpriteYLo,X CODE_01D5CB: 48 PHA CODE_01D5CC: 18 CLC CODE_01D5CD: 65 00 ADC $00 CODE_01D5CF: 95 D8 STA RAM_SpriteYLo,X CODE_01D5D1: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01D5D4: 48 PHA CODE_01D5D5: 69 FF ADC.B #$FF CODE_01D5D7: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01D5DA: BD F6 15 LDA.W RAM_SpritePal,X CODE_01D5DD: 48 PHA CODE_01D5DE: 29 F1 AND.B #$F1 CODE_01D5E0: 09 06 ORA.B #$06 CODE_01D5E2: 9D F6 15 STA.W RAM_SpritePal,X CODE_01D5E5: BC 70 15 LDY.W $1570,X CODE_01D5E8: B9 5E D5 LDA.W DATA_01D55E,Y CODE_01D5EB: 9D 02 16 STA.W $1602,X CODE_01D5EE: B9 6E D5 LDA.W DATA_01D56E,Y CODE_01D5F1: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01D5F4: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01D5F7: 68 PLA CODE_01D5F8: 9D F6 15 STA.W RAM_SpritePal,X CODE_01D5FB: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_01D5FE: 18 CLC CODE_01D5FF: 69 04 ADC.B #$04 CODE_01D601: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01D604: BC 70 15 LDY.W $1570,X CODE_01D607: B5 E4 LDA RAM_SpriteXLo,X CODE_01D609: 48 PHA CODE_01D60A: 18 CLC CODE_01D60B: 79 7E D5 ADC.W DATA_01D57E,Y CODE_01D60E: 95 E4 STA RAM_SpriteXLo,X CODE_01D610: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01D613: 48 PHA CODE_01D614: 79 8E D5 ADC.W DATA_01D58E,Y CODE_01D617: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01D61A: 64 00 STZ $00 CODE_01D61C: B9 9E D5 LDA.W DATA_01D59E,Y CODE_01D61F: 38 SEC CODE_01D620: ED 5E 18 SBC.W $185E CODE_01D623: 10 02 BPL CODE_01D627 CODE_01D625: C6 00 DEC $00 CODE_01D627: 18 CLC CODE_01D628: 75 D8 ADC RAM_SpriteYLo,X CODE_01D62A: 95 D8 STA RAM_SpriteYLo,X CODE_01D62C: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01D62F: 65 00 ADC $00 CODE_01D631: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01D634: BD 02 16 LDA.W $1602,X CODE_01D637: 38 SEC CODE_01D638: E9 0C SBC.B #$0C CODE_01D63A: C9 01 CMP.B #$01 CODE_01D63C: D0 04 BNE CODE_01D642 CODE_01D63E: 18 CLC CODE_01D63F: 7D 7C 15 ADC.W RAM_SpriteDir,X CODE_01D642: 9D 02 16 STA.W $1602,X CODE_01D645: BD 40 15 LDA.W $1540,X CODE_01D648: F0 03 BEQ CODE_01D64D CODE_01D64A: 9E 02 16 STZ.W $1602,X CODE_01D64D: BC 02 16 LDY.W $1602,X CODE_01D650: B9 B0 D5 LDA.W DATA_01D5B0,Y CODE_01D653: 20 F3 9C JSR.W SubSprGfx0Entry0 CODE_01D656: 20 C1 8F JSR.W SubSprSpr+MarioSpr CODE_01D659: BD 40 15 LDA.W $1540,X CODE_01D65C: F0 35 BEQ CODE_01D693 CODE_01D65E: 3A DEC A CODE_01D65F: D0 20 BNE CODE_01D681 CODE_01D661: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01D663: 68 PLA CODE_01D664: 68 PLA CODE_01D665: 68 PLA CODE_01D666: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01D669: 68 PLA CODE_01D66A: 95 D8 STA RAM_SpriteYLo,X CODE_01D66C: A9 80 LDA.B #$80 CODE_01D66E: 9D 40 15 STA.W $1540,X CODE_01D671: B5 9E LDA RAM_SpriteNum,X CODE_01D673: 38 SEC CODE_01D674: E9 3F SBC.B #$3F CODE_01D676: A8 TAY CODE_01D677: B9 AE D5 LDA.W DATA_01D5AE,Y CODE_01D67A: 95 9E STA RAM_SpriteNum,X CODE_01D67C: 22 8B F7 07 JSL.L LoadSpriteTables Return01D680: 60 RTS ; Return CODE_01D681: 20 40 91 JSR.W CODE_019140 CODE_01D684: 20 0E 80 JSR.W IsOnGround CODE_01D687: F0 03 BEQ CODE_01D68C CODE_01D689: 20 04 9A JSR.W SetSomeYSpeed?? CODE_01D68C: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01D68F: F6 AA INC RAM_SpriteSpeedY,X CODE_01D691: 80 22 BRA CODE_01D6B5 CODE_01D693: 8A TXA CODE_01D694: 45 13 EOR RAM_FrameCounter CODE_01D696: 4A LSR CODE_01D697: 90 1C BCC CODE_01D6B5 CODE_01D699: 20 40 91 JSR.W CODE_019140 CODE_01D69C: 20 08 80 JSR.W IsTouchingObjSide CODE_01D69F: F0 0A BEQ CODE_01D6AB ADDR_01D6A1: A9 01 LDA.B #$01 ADDR_01D6A3: 9D 1C 15 STA.W $151C,X ADDR_01D6A6: A9 07 LDA.B #$07 ADDR_01D6A8: 9D 70 15 STA.W $1570,X CODE_01D6AB: 20 0E 80 JSR.W IsOnGround CODE_01D6AE: F0 05 BEQ CODE_01D6B5 CODE_01D6B0: A9 20 LDA.B #$20 CODE_01D6B2: 9D 40 15 STA.W $1540,X CODE_01D6B5: 68 PLA CODE_01D6B6: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01D6B9: 68 PLA CODE_01D6BA: 95 E4 STA RAM_SpriteXLo,X CODE_01D6BC: 68 PLA CODE_01D6BD: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01D6C0: 68 PLA CODE_01D6C1: 95 D8 STA RAM_SpriteYLo,X Return01D6C3: 60 RTS InitLineRope: E0 06 CPX.B #$06 CODE_01D6C6: 90 18 BCC CODE_01D6E0 CODE_01D6C8: AD 92 16 LDA.W $1692 CODE_01D6CB: F0 13 BEQ CODE_01D6E0 CODE_01D6CD: FE 62 16 INC.W RAM_Tweaker1662,X CODE_01D6D0: 80 0E BRA CODE_01D6E0 InitLinePlat: B5 E4 LDA RAM_SpriteXLo,X CODE_01D6D4: 29 10 AND.B #$10 CODE_01D6D6: 49 10 EOR.B #$10 CODE_01D6D8: 9D 02 16 STA.W $1602,X CODE_01D6DB: F0 03 BEQ CODE_01D6E0 CODE_01D6DD: FE 62 16 INC.W RAM_Tweaker1662,X CODE_01D6E0: FE 40 15 INC.W $1540,X CODE_01D6E3: 20 4A D7 JSR.W LineFuzzy+Plats CODE_01D6E6: 20 4A D7 JSR.W LineFuzzy+Plats CODE_01D6E9: FE 26 16 INC.W $1626,X Return01D6EC: 60 RTS ; Return InitLineGuidedSpr: FE 7B 18 INC.W $187B,X CODE_01D6F0: B5 E4 LDA RAM_SpriteXLo,X CODE_01D6F2: 29 10 AND.B #$10 CODE_01D6F4: D0 11 BNE CODE_01D707 CODE_01D6F6: B5 E4 LDA RAM_SpriteXLo,X CODE_01D6F8: 38 SEC CODE_01D6F9: E9 40 SBC.B #$40 CODE_01D6FB: 95 E4 STA RAM_SpriteXLo,X CODE_01D6FD: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01D700: E9 01 SBC.B #$01 CODE_01D702: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01D705: 80 0A BRA InitLineBrwnPlat CODE_01D707: FE 7C 15 INC.W RAM_SpriteDir,X CODE_01D70A: B5 E4 LDA RAM_SpriteXLo,X CODE_01D70C: 18 CLC CODE_01D70D: 69 0F ADC.B #$0F CODE_01D70F: 95 E4 STA RAM_SpriteXLo,X InitLineBrwnPlat: A9 02 LDA.B #$02 CODE_01D713: 9D 40 15 STA.W $1540,X Return01D716: 60 RTS ; Return DATA_01D717: .db $F8,$00 LineRope+Chainsaw: 8A TXA CODE_01D71A: 0A ASL CODE_01D71B: 0A ASL CODE_01D71C: 45 14 EOR RAM_FrameCounterB CODE_01D71E: 85 02 STA $02 CODE_01D720: 29 07 AND.B #$07 CODE_01D722: 05 9D ORA RAM_SpritesLocked CODE_01D724: D0 14 BNE LineGrinder CODE_01D726: A5 02 LDA $02 CODE_01D728: 4A LSR CODE_01D729: 4A LSR CODE_01D72A: 4A LSR CODE_01D72B: 29 01 AND.B #$01 CODE_01D72D: A8 TAY CODE_01D72E: B9 17 D7 LDA.W DATA_01D717,Y CODE_01D731: 85 00 STA $00 CODE_01D733: A9 F2 LDA.B #$F2 CODE_01D735: 85 01 STA $01 CODE_01D737: 20 63 80 JSR.W CODE_018063 LineGrinder: A5 13 LDA RAM_FrameCounter CODE_01D73C: 29 07 AND.B #$07 CODE_01D73E: 1D 26 16 ORA.W $1626,X CODE_01D741: 05 9D ORA RAM_SpritesLocked CODE_01D743: D0 05 BNE LineFuzzy+Plats CODE_01D745: A9 04 LDA.B #$04 ; \ Play sound effect CODE_01D747: 8D FA 1D STA.W $1DFA ; / LineFuzzy+Plats: 4C A7 D9 JMP.W CODE_01D9A7 CODE_01D74D: 20 2B AC JSR.W SubOffscreen1Bnk1 CODE_01D750: BD 40 15 LDA.W $1540,X CODE_01D753: D0 07 BNE CODE_01D75C CODE_01D755: A5 9D LDA RAM_SpritesLocked CODE_01D757: 1D 26 16 ORA.W $1626,X CODE_01D75A: D0 90 BNE Return01D6EC CODE_01D75C: B5 C2 LDA RAM_SpriteState,X CODE_01D75E: 22 DF 86 00 JSL.L ExecutePtr Ptrs01D762: F4 D7 .dw CODE_01D7F4 68 D7 .dw CODE_01D768 44 DB .dw CODE_01DB44 CODE_01D768: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01D76A: D0 25 BNE Return01D791 ; / CODE_01D76C: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01D76F: D0 21 BNE CODE_01D792 CODE_01D771: BC 34 15 LDY.W $1534,X CODE_01D774: 20 B0 D7 JSR.W CODE_01D7B0 CODE_01D777: FE 34 15 INC.W $1534,X CODE_01D77A: BD 7B 18 LDA.W $187B,X CODE_01D77D: F0 08 BEQ CODE_01D787 CODE_01D77F: A5 13 LDA RAM_FrameCounter CODE_01D781: 4A LSR CODE_01D782: 90 03 BCC CODE_01D787 CODE_01D784: FE 34 15 INC.W $1534,X CODE_01D787: BD 34 15 LDA.W $1534,X CODE_01D78A: DD 70 15 CMP.W $1570,X CODE_01D78D: 90 02 BCC Return01D791 CODE_01D78F: 74 C2 STZ RAM_SpriteState,X Return01D791: 60 RTS ; Return CODE_01D792: BC 70 15 LDY.W $1570,X CODE_01D795: 88 DEY CODE_01D796: 20 B0 D7 JSR.W CODE_01D7B0 CODE_01D799: DE 70 15 DEC.W $1570,X CODE_01D79C: F0 0F BEQ CODE_01D7AD CODE_01D79E: BD 7B 18 LDA.W $187B,X CODE_01D7A1: F0 0C BEQ Return01D7AF CODE_01D7A3: A5 13 LDA RAM_FrameCounter CODE_01D7A5: 4A LSR CODE_01D7A6: 90 07 BCC Return01D7AF CODE_01D7A8: DE 70 15 DEC.W $1570,X CODE_01D7AB: D0 02 BNE Return01D7AF CODE_01D7AD: 74 C2 STZ RAM_SpriteState,X Return01D7AF: 60 RTS ; Return CODE_01D7B0: 8B PHB ; Sprites calling this routine must be modified CODE_01D7B1: A9 07 LDA.B #$07 ; to set $151C,x and $1528,x to a location in CODE_01D7B3: 48 PHA ; LineTable instead of $07/F9DB+something CODE_01D7B4: AB PLB CODE_01D7B5: BD 1C 15 LDA.W $151C,X CODE_01D7B8: 85 04 STA $04 CODE_01D7BA: BD 28 15 LDA.W $1528,X CODE_01D7BD: 85 05 STA $05 CODE_01D7BF: B1 04 LDA ($04),Y CODE_01D7C1: 29 0F AND.B #$0F CODE_01D7C3: 85 06 STA $06 CODE_01D7C5: B1 04 LDA ($04),Y CODE_01D7C7: AB PLB CODE_01D7C8: 4A LSR CODE_01D7C9: 4A LSR CODE_01D7CA: 4A LSR CODE_01D7CB: 4A LSR CODE_01D7CC: 85 07 STA $07 CODE_01D7CE: B5 D8 LDA RAM_SpriteYLo,X CODE_01D7D0: 29 F0 AND.B #$F0 CODE_01D7D2: 18 CLC CODE_01D7D3: 65 07 ADC $07 CODE_01D7D5: 95 D8 STA RAM_SpriteYLo,X CODE_01D7D7: B5 E4 LDA RAM_SpriteXLo,X CODE_01D7D9: 29 F0 AND.B #$F0 CODE_01D7DB: 18 CLC CODE_01D7DC: 65 06 ADC $06 CODE_01D7DE: 95 E4 STA RAM_SpriteXLo,X Return01D7E0: 60 RTS ; Return DATA_01D7E1: .db $FC,$04,$FC,$04 DATA_01D7E5: .db $FF,$00,$FF,$00 DATA_01D7E9: .db $FC,$FC,$04,$04 DATA_01D7ED: .db $FF,$FF,$00,$00 CODE_01D7F1: 4C 9F D8 JMP.W CODE_01D89F CODE_01D7F4: A0 03 LDY.B #$03 CODE_01D7F6: 8C 95 16 STY.W $1695 CODE_01D7F9: B5 E4 LDA RAM_SpriteXLo,X CODE_01D7FB: 18 CLC CODE_01D7FC: 79 E1 D7 ADC.W DATA_01D7E1,Y CODE_01D7FF: 85 02 STA $02 CODE_01D801: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01D804: 79 E5 D7 ADC.W DATA_01D7E5,Y CODE_01D807: 85 03 STA $03 CODE_01D809: B5 D8 LDA RAM_SpriteYLo,X CODE_01D80B: 18 CLC CODE_01D80C: 79 E9 D7 ADC.W DATA_01D7E9,Y CODE_01D80F: 85 00 STA $00 CODE_01D811: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01D814: 79 ED D7 ADC.W DATA_01D7ED,Y CODE_01D817: 85 01 STA $01 CODE_01D819: BD 40 15 LDA.W $1540,X CODE_01D81C: D0 1C BNE CODE_01D83A CODE_01D81E: A5 00 LDA $00 CODE_01D820: 29 F0 AND.B #$F0 CODE_01D822: 85 04 STA $04 CODE_01D824: B5 D8 LDA RAM_SpriteYLo,X CODE_01D826: 29 F0 AND.B #$F0 CODE_01D828: C5 04 CMP $04 CODE_01D82A: D0 0E BNE CODE_01D83A CODE_01D82C: A5 02 LDA $02 CODE_01D82E: 29 F0 AND.B #$F0 CODE_01D830: 85 05 STA $05 CODE_01D832: B5 E4 LDA RAM_SpriteXLo,X CODE_01D834: 29 F0 AND.B #$F0 CODE_01D836: C5 05 CMP $05 CODE_01D838: F0 27 BEQ CODE_01D861 CODE_01D83A: 20 4D D9 JSR.W CODE_01D94D ;WIERD ROUTINE INVOLVING POSITIONS. ALL VARIABLES SET ABOVE... CODE_01D83D: D0 B2 BNE CODE_01D7F1 CODE_01D83F: AD 93 16 LDA.W $1693 ;"# OF CUSTOM BLOCK???" CODE_01D842: C9 94 CMP.B #$94 CODE_01D844: F0 0B BEQ CODE_01D851 CODE_01D846: C9 95 CMP.B #$95 CODE_01D848: D0 0C BNE CODE_01D856 CODE_01D84A: AD AF 14 LDA.W RAM_OnOffStatus CODE_01D84D: F0 12 BEQ CODE_01D861 CODE_01D84F: D0 05 BNE CODE_01D856 CODE_01D851: AD AF 14 LDA.W RAM_OnOffStatus CODE_01D854: D0 0B BNE CODE_01D861 CODE_01D856: AD 93 16 LDA.W $1693 CODE_01D859: C9 76 CMP.B #$76 CODE_01D85B: 90 04 BCC CODE_01D861 CODE_01D85D: C9 9A CMP.B #$9A CODE_01D85F: 90 34 BCC CODE_01D895 CODE_01D861: AC 95 16 LDY.W $1695 CODE_01D864: 88 DEY CODE_01D865: 10 8F BPL CODE_01D7F6 CODE_01D867: B5 C2 LDA RAM_SpriteState,X CODE_01D869: C9 02 CMP.B #$02 ; ?? #00 - platforms stop at end rather than fall off CODE_01D86B: F0 27 BEQ Return01D894 CODE_01D86D: A9 02 LDA.B #$02 CODE_01D86F: 95 C2 STA RAM_SpriteState,X CODE_01D871: BC 0E 16 LDY.W $160E,X CODE_01D874: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01D877: F0 05 BEQ CODE_01D87E CODE_01D879: 98 TYA CODE_01D87A: 18 CLC CODE_01D87B: 69 20 ADC.B #$20 CODE_01D87D: A8 TAY CODE_01D87E: B9 11 DD LDA.W DATA_01DD11,Y CODE_01D881: 10 01 BPL CODE_01D884 CODE_01D883: 0A ASL CODE_01D884: 5A PHY CODE_01D885: 0A ASL CODE_01D886: 95 AA STA RAM_SpriteSpeedY,X ;SPEED SETTINGS! CODE_01D888: 7A PLY CODE_01D889: B9 51 DD LDA.W DATA_01DD51,Y CODE_01D88C: 0A ASL CODE_01D88D: 95 B6 STA RAM_SpriteSpeedX,X CODE_01D88F: A9 10 LDA.B #$10 CODE_01D891: 9D 40 15 STA.W $1540,X Return01D894: 60 RTS ; Return CODE_01D895: 48 PHA CODE_01D896: 38 SEC CODE_01D897: E9 76 SBC.B #$76 CODE_01D899: A8 TAY CODE_01D89A: 68 PLA CODE_01D89B: C9 96 CMP.B #$96 CODE_01D89D: 90 05 BCC CODE_01D8A4 CODE_01D89F: BC 0E 16 LDY.W $160E,X CODE_01D8A2: 80 24 BRA CODE_01D8C8 CODE_01D8A4: B5 D8 LDA RAM_SpriteYLo,X CODE_01D8A6: 85 08 STA $08 CODE_01D8A8: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01D8AB: 85 09 STA $09 CODE_01D8AD: B5 E4 LDA RAM_SpriteXLo,X CODE_01D8AF: 85 0A STA $0A CODE_01D8B1: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01D8B4: 85 0B STA $0B CODE_01D8B6: A5 00 LDA $00 CODE_01D8B8: 95 D8 STA RAM_SpriteYLo,X CODE_01D8BA: A5 01 LDA $01 CODE_01D8BC: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01D8BF: A5 02 LDA $02 CODE_01D8C1: 95 E4 STA RAM_SpriteXLo,X CODE_01D8C3: A5 03 LDA $03 CODE_01D8C5: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01D8C8: 8B PHB CODE_01D8C9: A9 07 LDA.B #$07 CODE_01D8CB: 48 PHA CODE_01D8CC: AB PLB CODE_01D8CD: B9 F3 FB LDA.W CODE_01FBF3,Y CODE_01D8D0: 9D 1C 15 STA.W $151C,X CODE_01D8D3: B9 13 FC LDA.W CODE_01FC13,Y CODE_01D8D6: 9D 28 15 STA.W $1528,X CODE_01D8D9: AB PLB CODE_01D8DA: B9 D1 DC LDA.W DATA_01DCD1,Y CODE_01D8DD: 9D 70 15 STA.W $1570,X CODE_01D8E0: 9E 34 15 STZ.W $1534,X CODE_01D8E3: 98 TYA CODE_01D8E4: 9D 0E 16 STA.W $160E,X CODE_01D8E7: BD 40 15 LDA.W $1540,X CODE_01D8EA: D0 47 BNE CODE_01D933 CODE_01D8EC: 9E 7C 15 STZ.W RAM_SpriteDir,X CODE_01D8EF: B9 F1 DC LDA.W DATA_01DCF1,Y CODE_01D8F2: F0 0B BEQ CODE_01D8FF CODE_01D8F4: A8 TAY CODE_01D8F5: B5 D8 LDA RAM_SpriteYLo,X CODE_01D8F7: C0 01 CPY.B #$01 CODE_01D8F9: D0 02 BNE CODE_01D8FD CODE_01D8FB: 49 0F EOR.B #$0F CODE_01D8FD: 80 02 BRA CODE_01D901 CODE_01D8FF: B5 E4 LDA RAM_SpriteXLo,X CODE_01D901: 29 0F AND.B #$0F CODE_01D903: C9 0A CMP.B #$0A CODE_01D905: 90 09 BCC CODE_01D910 CODE_01D907: B5 C2 LDA RAM_SpriteState,X CODE_01D909: C9 02 CMP.B #$02 CODE_01D90B: F0 03 BEQ CODE_01D910 CODE_01D90D: FE 7C 15 INC.W RAM_SpriteDir,X CODE_01D910: B5 D8 LDA RAM_SpriteYLo,X CODE_01D912: 85 0C STA $0C CODE_01D914: B5 E4 LDA RAM_SpriteXLo,X CODE_01D916: 85 0D STA $0D CODE_01D918: 20 68 D7 JSR.W CODE_01D768 CODE_01D91B: A5 0C LDA $0C CODE_01D91D: 38 SEC CODE_01D91E: F5 D8 SBC RAM_SpriteYLo,X CODE_01D920: 18 CLC CODE_01D921: 69 08 ADC.B #$08 CODE_01D923: C9 10 CMP.B #$10 CODE_01D925: B0 11 BCS CODE_01D938 CODE_01D927: A5 0D LDA $0D CODE_01D929: 38 SEC CODE_01D92A: F5 E4 SBC RAM_SpriteXLo,X CODE_01D92C: 18 CLC CODE_01D92D: 69 08 ADC.B #$08 CODE_01D92F: C9 10 CMP.B #$10 CODE_01D931: B0 05 BCS CODE_01D938 CODE_01D933: A9 01 LDA.B #$01 CODE_01D935: 95 C2 STA RAM_SpriteState,X Return01D937: 60 RTS ; Return CODE_01D938: A5 08 LDA $08 CODE_01D93A: 95 D8 STA RAM_SpriteYLo,X CODE_01D93C: A5 09 LDA $09 CODE_01D93E: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01D941: A5 0A LDA $0A CODE_01D943: 95 E4 STA RAM_SpriteXLo,X CODE_01D945: A5 0B LDA $0B CODE_01D947: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01D94A: 4C 61 D8 JMP.W CODE_01D861 CODE_01D94D: A5 00 LDA $00 CODE_01D94F: 29 F0 AND.B #$F0 CODE_01D951: 85 06 STA $06 CODE_01D953: A5 02 LDA $02 CODE_01D955: 4A LSR CODE_01D956: 4A LSR CODE_01D957: 4A LSR CODE_01D958: 4A LSR CODE_01D959: 48 PHA CODE_01D95A: 05 06 ORA $06 CODE_01D95C: 48 PHA CODE_01D95D: A5 5B LDA RAM_IsVerticalLvl CODE_01D95F: 29 01 AND.B #$01 CODE_01D961: F0 14 BEQ CODE_01D977 CODE_01D963: 68 PLA CODE_01D964: A6 01 LDX $01 CODE_01D966: 18 CLC CODE_01D967: 7F 80 BA 00 ADC.L DATA_00BA80,X CODE_01D96B: 85 05 STA $05 CODE_01D96D: BF BC BA 00 LDA.L DATA_00BABC,X CODE_01D971: 65 03 ADC $03 CODE_01D973: 85 06 STA $06 CODE_01D975: 80 12 BRA CODE_01D989 CODE_01D977: 68 PLA CODE_01D978: A6 03 LDX $03 CODE_01D97A: 18 CLC CODE_01D97B: 7F 60 BA 00 ADC.L DATA_00BA60,X CODE_01D97F: 85 05 STA $05 CODE_01D981: BF 9C BA 00 LDA.L DATA_00BA9C,X CODE_01D985: 65 01 ADC $01 CODE_01D987: 85 06 STA $06 CODE_01D989: A9 7E LDA.B #$7E CODE_01D98B: 85 07 STA $07 CODE_01D98D: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01D990: A7 05 LDA [$05] CODE_01D992: 8D 93 16 STA.W $1693 CODE_01D995: E6 07 INC $07 CODE_01D997: A7 05 LDA [$05] CODE_01D999: 7A PLY CODE_01D99A: 84 05 STY $05 CODE_01D99C: 48 PHA CODE_01D99D: A5 05 LDA $05 CODE_01D99F: 29 07 AND.B #$07 CODE_01D9A1: A8 TAY CODE_01D9A2: 68 PLA CODE_01D9A3: 39 00 80 AND.W DATA_018000,Y Return01D9A6: 60 RTS ; Return CODE_01D9A7: B5 9E LDA RAM_SpriteNum,X ;LINE GUIDE PLATFORM FUZZY CODE_01D9A9: C9 64 CMP.B #$64 ;DETERMINE SPRITE ITS DEALING WITH CODE_01D9AB: F0 26 BEQ CODE_01D9D3 CODE_01D9AD: C9 65 CMP.B #$65 CODE_01D9AF: 90 1F BCC CODE_01D9D0 ;PLATFORM! CODE_01D9B1: C9 68 CMP.B #$68 CODE_01D9B3: D0 05 BNE CODE_01D9BA CODE_01D9B5: 20 D4 DB JSR.W CODE_01DBD4 CODE_01D9B8: 80 07 BRA CODE_01D9C1 CODE_01D9BA: C9 67 CMP.B #$67 CODE_01D9BC: D0 08 BNE CODE_01D9C6 CODE_01D9BE: 20 0B DC JSR.W CODE_01DC0B CODE_01D9C1: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01D9C4: 80 07 BRA CODE_01D9CD CODE_01D9C6: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01D9C9: 22 63 C2 03 JSL.L CODE_03C263 CODE_01D9CD: 4C 4D D7 JMP.W CODE_01D74D CODE_01D9D0: 4C A2 DA JMP.W CODE_01DAA2 CODE_01D9D3: 20 54 DC JSR.W CODE_01DC54 CODE_01D9D6: B5 E4 LDA RAM_SpriteXLo,X CODE_01D9D8: 48 PHA CODE_01D9D9: B5 D8 LDA RAM_SpriteYLo,X CODE_01D9DB: 48 PHA CODE_01D9DC: 20 4D D7 JSR.W CODE_01D74D CODE_01D9DF: 68 PLA CODE_01D9E0: 38 SEC CODE_01D9E1: F5 D8 SBC RAM_SpriteYLo,X CODE_01D9E3: 49 FF EOR.B #$FF CODE_01D9E5: 1A INC A CODE_01D9E6: 8D 5E 18 STA.W $185E CODE_01D9E9: 68 PLA CODE_01D9EA: 38 SEC CODE_01D9EB: F5 E4 SBC RAM_SpriteXLo,X CODE_01D9ED: 49 FF EOR.B #$FF CODE_01D9EF: 1A INC A CODE_01D9F0: 8D B6 18 STA.W $18B6 CODE_01D9F3: A5 77 LDA RAM_MarioObjStatus CODE_01D9F5: 29 03 AND.B #$03 CODE_01D9F7: D0 10 BNE Return01DA09 CODE_01D9F9: 20 0F A8 JSR.W CODE_01A80F CODE_01D9FC: B0 0C BCS CODE_01DA0A CODE_01D9FE: BD 3E 16 LDA.W $163E,X CODE_01DA01: F0 06 BEQ Return01DA09 CODE_01DA03: 9E 3E 16 STZ.W $163E,X CODE_01DA06: 9C BE 18 STZ.W $18BE Return01DA09: 60 RTS ; Return CODE_01DA0A: BD C8 14 LDA.W $14C8,X CODE_01DA0D: F0 28 BEQ CODE_01DA37 CODE_01DA0F: AD 70 14 LDA.W $1470 ; \ Branch if carrying an enemy... CODE_01DA12: 0D 7A 18 ORA.W RAM_OnYoshi ; | ...or if on Yoshi CODE_01DA15: D0 E7 BNE CODE_01D9FE ; / CODE_01DA17: A9 03 LDA.B #$03 CODE_01DA19: 9D 3E 16 STA.W $163E,X CODE_01DA1C: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01DA1F: D0 6E BNE Return01DA8F CODE_01DA21: AD BE 18 LDA.W $18BE CODE_01DA24: D0 09 BNE CODE_01DA2F CODE_01DA26: A5 15 LDA RAM_ControllerA CODE_01DA28: 29 08 AND.B #$08 CODE_01DA2A: F0 63 BEQ Return01DA8F CODE_01DA2C: 8D BE 18 STA.W $18BE CODE_01DA2F: 24 16 BIT $16 CODE_01DA31: 10 0C BPL CODE_01DA3F CODE_01DA33: A9 B0 LDA.B #$B0 CODE_01DA35: 85 7D STA RAM_MarioSpeedY CODE_01DA37: 9C BE 18 STZ.W $18BE CODE_01DA3A: A9 10 LDA.B #$10 CODE_01DA3C: 9D 4C 15 STA.W RAM_DisableInter,X CODE_01DA3F: A0 00 LDY.B #$00 CODE_01DA41: AD 5E 18 LDA.W $185E CODE_01DA44: 10 01 BPL CODE_01DA47 CODE_01DA46: 88 DEY CODE_01DA47: 18 CLC CODE_01DA48: 65 96 ADC RAM_MarioYPos CODE_01DA4A: 85 96 STA RAM_MarioYPos CODE_01DA4C: 98 TYA CODE_01DA4D: 65 97 ADC RAM_MarioYPosHi CODE_01DA4F: 85 97 STA RAM_MarioYPosHi CODE_01DA51: B5 D8 LDA RAM_SpriteYLo,X CODE_01DA53: 85 00 STA $00 CODE_01DA55: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01DA58: 85 01 STA $01 CODE_01DA5A: C2 20 REP #$20 ; Accum (16 bit) CODE_01DA5C: A5 96 LDA RAM_MarioYPos CODE_01DA5E: 38 SEC CODE_01DA5F: E5 00 SBC $00 CODE_01DA61: C9 00 00 CMP.W #$0000 CODE_01DA64: 10 02 BPL CODE_01DA68 ADDR_01DA66: E6 96 INC RAM_MarioYPos CODE_01DA68: E2 20 SEP #$20 ; Accum (8 bit) CODE_01DA6A: AD B6 18 LDA.W $18B6 CODE_01DA6D: 20 90 DA JSR.W CODE_01DA90 CODE_01DA70: B5 E4 LDA RAM_SpriteXLo,X CODE_01DA72: 38 SEC CODE_01DA73: E9 08 SBC.B #$08 CODE_01DA75: C5 94 CMP RAM_MarioXPos CODE_01DA77: F0 0B BEQ CODE_01DA84 CODE_01DA79: 10 04 BPL CODE_01DA7F CODE_01DA7B: A9 FF LDA.B #$FF CODE_01DA7D: 80 02 BRA CODE_01DA81 CODE_01DA7F: A9 01 LDA.B #$01 CODE_01DA81: 20 90 DA JSR.W CODE_01DA90 CODE_01DA84: BD 26 16 LDA.W $1626,X CODE_01DA87: F0 06 BEQ Return01DA8F CODE_01DA89: 9E 26 16 STZ.W $1626,X CODE_01DA8C: 9E 40 15 STZ.W $1540,X Return01DA8F: 60 RTS ; Return CODE_01DA90: A0 00 LDY.B #$00 CODE_01DA92: C9 00 CMP.B #$00 CODE_01DA94: 10 01 BPL CODE_01DA97 CODE_01DA96: 88 DEY CODE_01DA97: 18 CLC CODE_01DA98: 65 94 ADC RAM_MarioXPos CODE_01DA9A: 85 94 STA RAM_MarioXPos CODE_01DA9C: 98 TYA CODE_01DA9D: 65 95 ADC RAM_MarioXPosHi CODE_01DA9F: 85 95 STA RAM_MarioXPosHi Return01DAA1: 60 RTS ; Return CODE_01DAA2: A0 18 LDY.B #$18 ;LINE GUIDED PLATFORM CODE CODE_01DAA4: BD 02 16 LDA.W $1602,X CODE_01DAA7: F0 02 BEQ CODE_01DAAB CODE_01DAA9: A0 28 LDY.B #$28 ;CONDITIONAL DEPENDING ON PLATFORM TYPE? CODE_01DAAB: 84 00 STY $00 CODE_01DAAD: B5 E4 LDA RAM_SpriteXLo,X CODE_01DAAF: 48 PHA CODE_01DAB0: 38 SEC CODE_01DAB1: E5 00 SBC $00 CODE_01DAB3: 95 E4 STA RAM_SpriteXLo,X CODE_01DAB5: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01DAB8: 48 PHA CODE_01DAB9: E9 00 SBC.B #$00 CODE_01DABB: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01DABE: B5 D8 LDA RAM_SpriteYLo,X CODE_01DAC0: 48 PHA CODE_01DAC1: 38 SEC CODE_01DAC2: E9 08 SBC.B #$08 CODE_01DAC4: 95 D8 STA RAM_SpriteYLo,X CODE_01DAC6: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01DAC9: 48 PHA CODE_01DACA: E9 00 SBC.B #$00 CODE_01DACC: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01DACF: 20 DF B2 JSR.W CODE_01B2DF ;DRAW GFX . RELIES ON NEW POSITIONS MADE UP THERE. CODE_01DAD2: 68 PLA ;RESTORE POSITIONS CODE_01DAD3: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01DAD6: 68 PLA CODE_01DAD7: 95 D8 STA RAM_SpriteYLo,X CODE_01DAD9: 68 PLA CODE_01DADA: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01DADD: 68 PLA CODE_01DADE: 95 E4 STA RAM_SpriteXLo,X CODE_01DAE0: B5 E4 LDA RAM_SpriteXLo,X CODE_01DAE2: 48 PHA CODE_01DAE3: 20 4D D7 JSR.W CODE_01D74D ;LINE GUIDE HANDLER??? CODE_01DAE6: 68 PLA CODE_01DAE7: 38 SEC CODE_01DAE8: F5 E4 SBC RAM_SpriteXLo,X CODE_01DAEA: BC 28 15 LDY.W $1528,X CODE_01DAED: 5A PHY CODE_01DAEE: 49 FF EOR.B #$FF CODE_01DAF0: 1A INC A CODE_01DAF1: 9D 28 15 STA.W $1528,X CODE_01DAF4: A0 18 LDY.B #$18 CODE_01DAF6: BD 02 16 LDA.W $1602,X CODE_01DAF9: F0 02 BEQ CODE_01DAFD CODE_01DAFB: A0 28 LDY.B #$28 CODE_01DAFD: 84 00 STY $00 CODE_01DAFF: B5 E4 LDA RAM_SpriteXLo,X CODE_01DB01: 48 PHA CODE_01DB02: 38 SEC CODE_01DB03: E5 00 SBC $00 CODE_01DB05: 95 E4 STA RAM_SpriteXLo,X CODE_01DB07: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01DB0A: 48 PHA CODE_01DB0B: E9 00 SBC.B #$00 CODE_01DB0D: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01DB10: B5 D8 LDA RAM_SpriteYLo,X CODE_01DB12: 48 PHA CODE_01DB13: 38 SEC CODE_01DB14: E9 08 SBC.B #$08 CODE_01DB16: 95 D8 STA RAM_SpriteYLo,X CODE_01DB18: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01DB1B: 48 PHA CODE_01DB1C: E9 00 SBC.B #$00 CODE_01DB1E: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01DB21: 20 57 B4 JSR.W CODE_01B457 ;CUSTOM INTERACTION HANDLER CODE_01DB24: 90 0B BCC CODE_01DB31 CODE_01DB26: BD 26 16 LDA.W $1626,X CODE_01DB29: F0 06 BEQ CODE_01DB31 CODE_01DB2B: 9E 26 16 STZ.W $1626,X CODE_01DB2E: 9E 40 15 STZ.W $1540,X CODE_01DB31: 68 PLA CODE_01DB32: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01DB35: 68 PLA CODE_01DB36: 95 D8 STA RAM_SpriteYLo,X CODE_01DB38: 68 PLA CODE_01DB39: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01DB3C: 68 PLA CODE_01DB3D: 95 E4 STA RAM_SpriteXLo,X CODE_01DB3F: 68 PLA CODE_01DB40: 9D 28 15 STA.W $1528,X Return01DB43: 60 RTS ; Return CODE_01DB44: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01DB46: D0 11 BNE Return01DB59 ; / CODE_01DB48: 20 32 90 JSR.W SubUpdateSprPos CODE_01DB4B: BD 40 15 LDA.W $1540,X CODE_01DB4E: D0 09 BNE Return01DB59 CODE_01DB50: B5 AA LDA RAM_SpriteSpeedY,X CODE_01DB52: C9 20 CMP.B #$20 CODE_01DB54: 30 03 BMI Return01DB59 CODE_01DB56: 20 F4 D7 JSR.W CODE_01D7F4 Return01DB59: 60 RTS ; Return DATA_01DB5A: .db $18,$E8 Grinder: 20 A2 DB JSR.W CODE_01DBA2 CODE_01DB5F: BD C8 14 LDA.W $14C8,X CODE_01DB62: C9 08 CMP.B #$08 CODE_01DB64: D0 2F BNE Return01DB95 CODE_01DB66: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01DB68: D0 2B BNE Return01DB95 ; / CODE_01DB6A: A5 13 LDA RAM_FrameCounter CODE_01DB6C: 29 03 AND.B #$03 CODE_01DB6E: D0 05 BNE CODE_01DB75 CODE_01DB70: A9 04 LDA.B #$04 ; \ Play sound effect CODE_01DB72: 8D FA 1D STA.W $1DFA ; / CODE_01DB75: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01DB78: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01DB7B: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01DB7E: B9 5A DB LDA.W DATA_01DB5A,Y CODE_01DB81: 95 B6 STA RAM_SpriteSpeedX,X CODE_01DB83: 20 32 90 JSR.W SubUpdateSprPos CODE_01DB86: 20 0E 80 JSR.W IsOnGround CODE_01DB89: F0 02 BEQ CODE_01DB8D CODE_01DB8B: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01DB8D: 20 08 80 JSR.W IsTouchingObjSide CODE_01DB90: F0 03 BEQ Return01DB95 CODE_01DB92: 20 98 90 JSR.W FlipSpriteDir Return01DB95: 60 RTS ; Return DATA_01DB96: .db $F8,$08,$F8,$08 DATA_01DB9A: .db $00,$00,$10,$10 DATA_01DB9E: .db $03,$43,$83,$C3 CODE_01DBA2: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01DBA5: DA PHX CODE_01DBA6: A2 03 LDX.B #$03 CODE_01DBA8: A5 00 LDA $00 CODE_01DBAA: 18 CLC CODE_01DBAB: 7D 96 DB ADC.W DATA_01DB96,X CODE_01DBAE: 99 00 03 STA.W OAM_DispX,Y CODE_01DBB1: A5 01 LDA $01 CODE_01DBB3: 18 CLC CODE_01DBB4: 7D 9A DB ADC.W DATA_01DB9A,X CODE_01DBB7: 99 01 03 STA.W OAM_DispY,Y CODE_01DBBA: A5 14 LDA RAM_FrameCounterB CODE_01DBBC: 29 02 AND.B #$02 CODE_01DBBE: 09 6C ORA.B #$6C CODE_01DBC0: 99 02 03 STA.W OAM_Tile,Y CODE_01DBC3: BD 9E DB LDA.W DATA_01DB9E,X CODE_01DBC6: 99 03 03 STA.W OAM_Prop,Y CODE_01DBC9: C8 INY CODE_01DBCA: C8 INY CODE_01DBCB: C8 INY CODE_01DBCC: C8 INY CODE_01DBCD: CA DEX CODE_01DBCE: 10 D8 BPL CODE_01DBA8 CODE_01DBD0: A9 03 LDA.B #$03 CODE_01DBD2: 80 2F BRA CODE_01DC03 CODE_01DBD4: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01DBD7: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01DBDA: B9 00 03 LDA.W OAM_DispX,Y CODE_01DBDD: 38 SEC CODE_01DBDE: E9 08 SBC.B #$08 CODE_01DBE0: 99 00 03 STA.W OAM_DispX,Y CODE_01DBE3: B9 01 03 LDA.W OAM_DispY,Y CODE_01DBE6: 38 SEC CODE_01DBE7: E9 08 SBC.B #$08 CODE_01DBE9: 99 01 03 STA.W OAM_DispY,Y CODE_01DBEC: DA PHX CODE_01DBED: A5 14 LDA RAM_FrameCounterB CODE_01DBEF: 4A LSR CODE_01DBF0: 4A LSR CODE_01DBF1: 29 01 AND.B #$01 CODE_01DBF3: AA TAX CODE_01DBF4: A9 C8 LDA.B #$C8 CODE_01DBF6: 99 02 03 STA.W OAM_Tile,Y CODE_01DBF9: BD 09 DC LDA.W DATA_01DC09,X CODE_01DBFC: 05 64 ORA $64 CODE_01DBFE: 99 03 03 STA.W OAM_Prop,Y CODE_01DC01: A9 00 LDA.B #$00 CODE_01DC03: FA PLX CODE_01DC04: A0 02 LDY.B #$02 CODE_01DC06: 4C BB B7 JMP.W FinishOAMWriteRt DATA_01DC09: .db $05,$45 CODE_01DC0B: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01DC0E: DA PHX CODE_01DC0F: A2 03 LDX.B #$03 CODE_01DC11: A5 00 LDA $00 CODE_01DC13: 18 CLC CODE_01DC14: 7D 3B DC ADC.W DATA_01DC3B,X CODE_01DC17: 99 00 03 STA.W OAM_DispX,Y CODE_01DC1A: A5 01 LDA $01 CODE_01DC1C: 18 CLC CODE_01DC1D: 7D 3F DC ADC.W DATA_01DC3F,X CODE_01DC20: 99 01 03 STA.W OAM_DispY,Y CODE_01DC23: A5 14 LDA RAM_FrameCounterB CODE_01DC25: 29 02 AND.B #$02 CODE_01DC27: 09 6C ORA.B #$6C CODE_01DC29: 99 02 03 STA.W OAM_Tile,Y CODE_01DC2C: BD 43 DC LDA.W DATA_01DC43,X CODE_01DC2F: 99 03 03 STA.W OAM_Prop,Y CODE_01DC32: C8 INY CODE_01DC33: C8 INY CODE_01DC34: C8 INY CODE_01DC35: C8 INY CODE_01DC36: CA DEX CODE_01DC37: 10 D8 BPL CODE_01DC11 CODE_01DC39: 80 95 BRA CODE_01DBD0 DATA_01DC3B: .db $F0,$00,$F0,$00 DATA_01DC3F: .db $F0,$F0,$00,$00 DATA_01DC43: .db $33,$73,$B3,$F3 RopeMotorTiles: .db $C0,$C2,$E0,$C2 LineGuideRopeTiles: .db $C0,$CE,$CE,$CE,$CE,$CE,$CE,$CE .db $CE CODE_01DC54: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01DC57: A5 00 LDA $00 CODE_01DC59: 38 SEC CODE_01DC5A: E9 08 SBC.B #$08 CODE_01DC5C: 85 00 STA $00 CODE_01DC5E: A5 01 LDA $01 CODE_01DC60: 38 SEC CODE_01DC61: E9 08 SBC.B #$08 CODE_01DC63: 85 01 STA $01 CODE_01DC65: 8A TXA CODE_01DC66: 0A ASL CODE_01DC67: 0A ASL CODE_01DC68: 45 14 EOR RAM_FrameCounterB CODE_01DC6A: 4A LSR CODE_01DC6B: 4A LSR CODE_01DC6C: 4A LSR CODE_01DC6D: 29 03 AND.B #$03 CODE_01DC6F: 85 02 STA $02 CODE_01DC71: A9 05 LDA.B #$05 CODE_01DC73: E0 06 CPX.B #$06 CODE_01DC75: 90 07 BCC CODE_01DC7E CODE_01DC77: AC 92 16 LDY.W $1692 CODE_01DC7A: F0 02 BEQ CODE_01DC7E CODE_01DC7C: A9 09 LDA.B #$09 CODE_01DC7E: 85 03 STA $03 CODE_01DC80: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01DC83: A2 00 LDX.B #$00 CODE_01DC85: A5 00 LDA $00 CODE_01DC87: 99 00 03 STA.W OAM_DispX,Y CODE_01DC8A: A5 01 LDA $01 CODE_01DC8C: 99 01 03 STA.W OAM_DispY,Y CODE_01DC8F: 18 CLC CODE_01DC90: 69 10 ADC.B #$10 CODE_01DC92: 85 01 STA $01 CODE_01DC94: BD 4B DC LDA.W LineGuideRopeTiles,X CODE_01DC97: E0 00 CPX.B #$00 CODE_01DC99: D0 07 BNE CODE_01DCA2 CODE_01DC9B: DA PHX CODE_01DC9C: A6 02 LDX $02 CODE_01DC9E: BD 47 DC LDA.W RopeMotorTiles,X CODE_01DCA1: FA PLX CODE_01DCA2: 99 02 03 STA.W OAM_Tile,Y CODE_01DCA5: A9 37 LDA.B #$37 CODE_01DCA7: E0 01 CPX.B #$01 CODE_01DCA9: 90 02 BCC CODE_01DCAD CODE_01DCAB: A9 31 LDA.B #$31 CODE_01DCAD: 99 03 03 STA.W OAM_Prop,Y CODE_01DCB0: C8 INY CODE_01DCB1: C8 INY CODE_01DCB2: C8 INY CODE_01DCB3: C8 INY CODE_01DCB4: E8 INX CODE_01DCB5: E4 03 CPX $03 CODE_01DCB7: D0 CC BNE CODE_01DC85 CODE_01DCB9: A9 DE LDA.B #$DE CODE_01DCBB: 99 FE 02 STA.W $02FE,Y CODE_01DCBE: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01DCC1: A9 04 LDA.B #$04 CODE_01DCC3: E0 06 CPX.B #$06 CODE_01DCC5: 90 07 BCC CODE_01DCCE CODE_01DCC7: AC 92 16 LDY.W $1692 CODE_01DCCA: F0 02 BEQ CODE_01DCCE CODE_01DCCC: A9 08 LDA.B #$08 CODE_01DCCE: 4C 04 DC JMP.W CODE_01DC04 DATA_01DCD1: .db $15,$15,$15,$15,$0C,$10,$10,$10 .db $10,$0C,$0C,$10,$10,$10,$10,$0C .db $15,$15,$10,$10,$10,$10,$10,$10 .db $10,$10,$10,$10,$10,$10,$15,$15 DATA_01DCF1: .db $00,$00,$00,$00,$00,$00,$01,$02 .db $00,$00,$00,$00,$02,$01,$00,$00 .db $00,$00,$01,$02,$01,$02,$00,$00 .db $00,$00,$02,$02,$00,$00,$00,$00 DATA_01DD11: .db $00,$10,$00,$F0,$F4,$FC,$F0,$10 .db $04,$0C,$0C,$00,$10,$F0,$FC,$F4 .db $F0,$10,$F0,$10,$F0,$10,$F8,$F8 .db $08,$08,$10,$10,$00,$00,$F0,$10 .db $10,$00,$F0,$F0,$0C,$04,$10,$F0 .db $00,$F4,$F4,$FC,$F0,$10,$00,$0C .db $10,$F0,$10,$00,$10,$F0,$08,$08 .db $F8,$F8,$F0,$F0,$00,$00,$10,$F0 DATA_01DD51: .db $10,$00,$10,$00,$0C,$10,$04,$00 .db $10,$0C,$0C,$10,$04,$00,$10,$0C .db $10,$10,$08,$08,$08,$08,$10,$10 .db $10,$10,$00,$00,$10,$10,$10,$10 .db $00,$F0,$00,$F0,$F4,$F0,$00,$FC .db $F0,$F4,$F4,$F0,$00,$FC,$F0,$F4 .db $F0,$F0,$F8,$F8,$F8,$F8,$F0,$F0 .db $F0,$F0,$00,$00,$F0,$F0,$F0 DATA_01DD90: .db $F0 DATA_01DD91: .db $50,$78,$A0,$A0,$A0,$78,$50,$50 DATA_01DD99: .db $78 DATA_01DD9A: .db $F0,$F0,$F0,$18,$40,$40,$40,$18 DATA_01DDA2: .db $18,$03,$00,$00,$01,$01,$02,$02 .db $03,$FF InitBonusGame: AD 94 1B LDA.W $1B94 CODE_01DDAF: F0 04 BEQ CODE_01DDB5 ADDR_01DDB1: 9E C8 14 STZ.W $14C8,X Return01DDB4: 60 RTS ; Return CODE_01DDB5: A2 09 LDX.B #$09 CODE_01DDB7: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_01DDB9: 9D C8 14 STA.W $14C8,X ; / CODE_01DDBC: A9 82 LDA.B #$82 CODE_01DDBE: 9D 9E 00 STA.W RAM_SpriteNum,X CODE_01DDC1: BD 90 DD LDA.W DATA_01DD90,X CODE_01DDC4: 95 E4 STA RAM_SpriteXLo,X CODE_01DDC6: A9 00 LDA.B #$00 CODE_01DDC8: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01DDCB: BD 99 DD LDA.W DATA_01DD99,X CODE_01DDCE: 95 D8 STA RAM_SpriteYLo,X CODE_01DDD0: 0A ASL CODE_01DDD1: A9 00 LDA.B #$00 CODE_01DDD3: B0 01 BCS CODE_01DDD6 CODE_01DDD5: 1A INC A CODE_01DDD6: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01DDD9: 22 D2 F7 07 JSL.L InitSpriteTables CODE_01DDDD: BD A2 DD LDA.W DATA_01DDA2,X CODE_01DDE0: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01DDE3: 8A TXA CODE_01DDE4: 18 CLC CODE_01DDE5: 65 13 ADC RAM_FrameCounter CODE_01DDE7: 29 07 AND.B #$07 CODE_01DDE9: 9D 70 15 STA.W $1570,X CODE_01DDEC: CA DEX CODE_01DDED: D0 C8 BNE CODE_01DDB7 CODE_01DDEF: 9C 8F 18 STZ.W $188F CODE_01DDF2: 9C 90 18 STZ.W $1890 CODE_01DDF5: 22 F9 AC 01 JSL.L GetRand CODE_01DDF9: 45 13 EOR RAM_FrameCounter CODE_01DDFB: 65 14 ADC RAM_FrameCounterB CODE_01DDFD: 29 07 AND.B #$07 CODE_01DDFF: A8 TAY CODE_01DE00: B9 21 DE LDA.W DATA_01DE21,Y CODE_01DE03: 8D 79 15 STA.W $1579 CODE_01DE06: A9 01 LDA.B #$01 CODE_01DE08: 85 CB STA $CB CODE_01DE0A: EE 94 1B INC.W $1B94 CODE_01DE0D: AE E9 15 LDX.W $15E9 ; X = Sprite index Return01DE10: 60 RTS ; Return DATA_01DE11: .db $10,$00,$F0,$00 DATA_01DE15: .db $00,$10,$00,$F0 DATA_01DE19: .db $A0,$A0,$50,$50 DATA_01DE1D: .db $F0,$40,$40,$F0 DATA_01DE21: .db $01,$01,$01,$04,$04,$04,$07,$07 .db $07 BonusGame: 9E A0 15 STZ.W RAM_OffscreenHorz,X CODE_01DE2D: E0 01 CPX.B #$01 CODE_01DE2F: D0 03 BNE CODE_01DE34 CODE_01DE31: 20 6A E2 JSR.W CODE_01E26A CODE_01DE34: 20 19 DF JSR.W CODE_01DF19 CODE_01DE37: A5 9D LDA RAM_SpritesLocked ; \ Return if sprites locked CODE_01DE39: D0 05 BNE Return01DE40 ; / CODE_01DE3B: AD 8F 18 LDA.W $188F CODE_01DE3E: F0 01 BEQ CODE_01DE41 Return01DE40: 60 RTS ; Return CODE_01DE41: B5 C2 LDA RAM_SpriteState,X CODE_01DE43: D0 47 BNE CODE_01DE8C CODE_01DE45: A5 14 LDA RAM_FrameCounterB CODE_01DE47: 29 03 AND.B #$03 CODE_01DE49: D0 0D BNE CODE_01DE58 CODE_01DE4B: FE 70 15 INC.W $1570,X CODE_01DE4E: BD 70 15 LDA.W $1570,X CODE_01DE51: C9 09 CMP.B #$09 CODE_01DE53: D0 03 BNE CODE_01DE58 CODE_01DE55: 9E 70 15 STZ.W $1570,X CODE_01DE58: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01DE5B: 90 2F BCC CODE_01DE8C CODE_01DE5D: A5 7D LDA RAM_MarioSpeedY CODE_01DE5F: 10 2B BPL CODE_01DE8C CODE_01DE61: A9 F4 LDA.B #$F4 CODE_01DE63: A4 19 LDY RAM_MarioPowerUp CODE_01DE65: F0 02 BEQ CODE_01DE69 CODE_01DE67: A9 00 LDA.B #$00 CODE_01DE69: 18 CLC CODE_01DE6A: 75 D8 ADC RAM_SpriteYLo,X CODE_01DE6C: 38 SEC CODE_01DE6D: E5 1C SBC RAM_ScreenBndryYLo CODE_01DE6F: C5 80 CMP $80 CODE_01DE71: B0 19 BCS CODE_01DE8C CODE_01DE73: A9 10 LDA.B #$10 CODE_01DE75: 85 7D STA RAM_MarioSpeedY CODE_01DE77: A9 0B LDA.B #$0B ; \ Play sound effect CODE_01DE79: 8D F9 1D STA.W $1DF9 ; / CODE_01DE7C: F6 C2 INC RAM_SpriteState,X CODE_01DE7E: BC 70 15 LDY.W $1570,X CODE_01DE81: B9 21 DE LDA.W DATA_01DE21,Y CODE_01DE84: 9D 70 15 STA.W $1570,X CODE_01DE87: A9 10 LDA.B #$10 CODE_01DE89: 9D 40 15 STA.W $1540,X CODE_01DE8C: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01DE8F: 30 1E BMI Return01DEAF CODE_01DE91: B5 E4 LDA RAM_SpriteXLo,X CODE_01DE93: D9 19 DE CMP.W DATA_01DE19,Y CODE_01DE96: D0 07 BNE CODE_01DE9F CODE_01DE98: B5 D8 LDA RAM_SpriteYLo,X CODE_01DE9A: D9 1D DE CMP.W DATA_01DE1D,Y CODE_01DE9D: F0 11 BEQ CODE_01DEB0 CODE_01DE9F: B9 11 DE LDA.W DATA_01DE11,Y CODE_01DEA2: 95 B6 STA RAM_SpriteSpeedX,X CODE_01DEA4: B9 15 DE LDA.W DATA_01DE15,Y CODE_01DEA7: 95 AA STA RAM_SpriteSpeedY,X CODE_01DEA9: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01DEAC: 20 D8 AB JSR.W SubSprYPosNoGrvty Return01DEAF: 60 RTS ; Return CODE_01DEB0: A0 09 LDY.B #$09 CODE_01DEB2: B9 C2 00 LDA.W RAM_SpriteState,Y CODE_01DEB5: F0 20 BEQ CODE_01DED7 CODE_01DEB7: B9 D8 00 LDA.W RAM_SpriteYLo,Y CODE_01DEBA: 18 CLC CODE_01DEBB: 69 04 ADC.B #$04 CODE_01DEBD: 29 F8 AND.B #$F8 CODE_01DEBF: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_01DEC2: B9 E4 00 LDA.W RAM_SpriteXLo,Y CODE_01DEC5: 18 CLC CODE_01DEC6: 69 04 ADC.B #$04 CODE_01DEC8: 29 F8 AND.B #$F8 CODE_01DECA: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01DECD: 88 DEY CODE_01DECE: D0 E2 BNE CODE_01DEB2 CODE_01DED0: EE 8F 18 INC.W $188F CODE_01DED3: 20 D9 DF JSR.W CODE_01DFD9 Return01DED6: 60 RTS ; Return CODE_01DED7: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01DEDA: 1A INC A CODE_01DEDB: 29 03 AND.B #$03 CODE_01DEDD: A8 TAY CODE_01DEDE: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01DEE1: 80 BC BRA CODE_01DE9F DATA_01DEE3: .db $58 DATA_01DEE4: .db $59 DATA_01DEE5: .db $83 DATA_01DEE6: .db $83,$48,$49,$58,$59,$83,$83,$48 .db $49,$34,$35,$83,$83,$24,$25,$34 .db $35,$83,$83,$24,$25,$36,$37,$83 .db $83,$26,$27,$36,$37,$83,$83,$26 .db $27 DATA_01DF07: .db $04,$04,$04,$08,$08,$08,$0A,$0A .db $0A DATA_01DF10: .db $00,$03,$05,$07,$08,$08,$07,$05 .db $03 CODE_01DF19: BD 40 15 LDA.W $1540,X CODE_01DF1C: 4A LSR CODE_01DF1D: A8 TAY CODE_01DF1E: B9 10 DF LDA.W DATA_01DF10,Y CODE_01DF21: 85 00 STA $00 CODE_01DF23: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01DF26: B5 E4 LDA RAM_SpriteXLo,X CODE_01DF28: 38 SEC CODE_01DF29: E5 1A SBC RAM_ScreenBndryXLo CODE_01DF2B: 99 10 03 STA.W $0310,Y CODE_01DF2E: 99 00 03 STA.W OAM_DispX,Y CODE_01DF31: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_01DF34: 18 CLC CODE_01DF35: 69 08 ADC.B #$08 CODE_01DF37: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_01DF3A: 99 0C 03 STA.W OAM_Tile4DispX,Y CODE_01DF3D: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01DF40: 18 CLC CODE_01DF41: F0 0B BEQ CODE_01DF4E CODE_01DF43: 4A LSR CODE_01DF44: 4A LSR CODE_01DF45: 4A LSR CODE_01DF46: 4A LSR CODE_01DF47: 80 04 BRA CODE_01DF4D ADDR_01DF49: 18 CLC ; \ Unreachable instructions ADDR_01DF4A: 6D E9 15 ADC.W $15E9 ; / CODE_01DF4D: 4A LSR CODE_01DF4E: 08 PHP CODE_01DF4F: B5 D8 LDA RAM_SpriteYLo,X CODE_01DF51: 38 SEC CODE_01DF52: E5 00 SBC $00 CODE_01DF54: 38 SEC CODE_01DF55: E5 1C SBC RAM_ScreenBndryYLo CODE_01DF57: 99 11 03 STA.W $0311,Y CODE_01DF5A: 28 PLP CODE_01DF5B: B0 0F BCS CODE_01DF6C CODE_01DF5D: 99 01 03 STA.W OAM_DispY,Y CODE_01DF60: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01DF63: 18 CLC CODE_01DF64: 69 08 ADC.B #$08 CODE_01DF66: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_01DF69: 99 0D 03 STA.W OAM_Tile4DispY,Y CODE_01DF6C: BD 70 15 LDA.W $1570,X CODE_01DF6F: DA PHX CODE_01DF70: 48 PHA CODE_01DF71: 0A ASL CODE_01DF72: 0A ASL CODE_01DF73: AA TAX CODE_01DF74: BD E3 DE LDA.W DATA_01DEE3,X CODE_01DF77: 99 02 03 STA.W OAM_Tile,Y CODE_01DF7A: BD E4 DE LDA.W DATA_01DEE4,X CODE_01DF7D: 99 06 03 STA.W OAM_Tile2,Y CODE_01DF80: BD E5 DE LDA.W DATA_01DEE5,X CODE_01DF83: 99 0A 03 STA.W OAM_Tile3,Y CODE_01DF86: BD E6 DE LDA.W DATA_01DEE6,X CODE_01DF89: 99 0E 03 STA.W OAM_Tile4,Y CODE_01DF8C: A9 E4 LDA.B #$E4 CODE_01DF8E: 99 12 03 STA.W $0312,Y CODE_01DF91: FA PLX CODE_01DF92: A5 64 LDA $64 CODE_01DF94: 1D 07 DF ORA.W DATA_01DF07,X CODE_01DF97: 99 03 03 STA.W OAM_Prop,Y CODE_01DF9A: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_01DF9D: 99 0B 03 STA.W OAM_Tile3Prop,Y CODE_01DFA0: 99 0F 03 STA.W OAM_Tile4Prop,Y CODE_01DFA3: 09 01 ORA.B #$01 CODE_01DFA5: 99 13 03 STA.W $0313,Y CODE_01DFA8: FA PLX CODE_01DFA9: 98 TYA CODE_01DFAA: 4A LSR CODE_01DFAB: 4A LSR CODE_01DFAC: A8 TAY CODE_01DFAD: A9 00 LDA.B #$00 CODE_01DFAF: 99 60 04 STA.W OAM_TileSize,Y CODE_01DFB2: 99 61 04 STA.W $0461,Y CODE_01DFB5: 99 62 04 STA.W $0462,Y CODE_01DFB8: 99 63 04 STA.W $0463,Y CODE_01DFBB: A9 02 LDA.B #$02 CODE_01DFBD: 99 64 04 STA.W $0464,Y Return01DFC0: 60 RTS ; Return DATA_01DFC1: .db $00,$01,$02,$02,$03,$04,$04,$05 .db $06,$06,$07,$00,$00,$08,$04,$02 .db $08,$06,$03,$08,$07,$01,$08,$05 CODE_01DFD9: A9 07 LDA.B #$07 CODE_01DFDB: 85 00 STA $00 CODE_01DFDD: A2 02 LDX.B #$02 CODE_01DFDF: 86 01 STX $01 CODE_01DFE1: A5 00 LDA $00 CODE_01DFE3: 0A ASL CODE_01DFE4: 65 00 ADC $00 CODE_01DFE6: 18 CLC CODE_01DFE7: 65 01 ADC $01 CODE_01DFE9: A8 TAY CODE_01DFEA: B9 C1 DF LDA.W DATA_01DFC1,Y CODE_01DFED: A8 TAY CODE_01DFEE: B9 9A DD LDA.W DATA_01DD9A,Y CODE_01DFF1: 85 02 STA $02 CODE_01DFF3: B9 91 DD LDA.W DATA_01DD91,Y CODE_01DFF6: 85 03 STA $03 CODE_01DFF8: A0 09 LDY.B #$09 CODE_01DFFA: B9 D8 00 LDA.W RAM_SpriteYLo,Y CODE_01DFFD: C5 02 CMP $02 CODE_01DFFF: D0 07 BNE CODE_01E008 CODE_01E001: B9 E4 00 LDA.W RAM_SpriteXLo,Y CODE_01E004: C5 03 CMP $03 CODE_01E006: F0 05 BEQ CODE_01E00D CODE_01E008: 88 DEY CODE_01E009: C0 01 CPY.B #$01 CODE_01E00B: D0 ED BNE CODE_01DFFA CODE_01E00D: B9 70 15 LDA.W $1570,Y CODE_01E010: 95 04 STA $04,X CODE_01E012: 94 07 STY $07,X CODE_01E014: CA DEX CODE_01E015: 10 C8 BPL CODE_01DFDF CODE_01E017: A5 04 LDA $04 CODE_01E019: C5 05 CMP $05 CODE_01E01B: D0 18 BNE CODE_01E035 CODE_01E01D: C5 06 CMP $06 CODE_01E01F: D0 14 BNE CODE_01E035 CODE_01E021: EE 90 18 INC.W $1890 CODE_01E024: A9 70 LDA.B #$70 CODE_01E026: A4 07 LDY $07 CODE_01E028: 99 4C 15 STA.W RAM_DisableInter,Y CODE_01E02B: A4 08 LDY $08 CODE_01E02D: 99 4C 15 STA.W RAM_DisableInter,Y CODE_01E030: A4 09 LDY $09 CODE_01E032: 99 4C 15 STA.W RAM_DisableInter,Y CODE_01E035: C6 00 DEC $00 CODE_01E037: 10 A4 BPL CODE_01DFDD CODE_01E039: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01E03C: A0 29 LDY.B #$29 CODE_01E03E: AD 90 18 LDA.W $1890 CODE_01E041: 8D 20 19 STA.W $1920 CODE_01E044: D0 06 BNE CODE_01E04C ADDR_01E046: A9 58 LDA.B #$58 ADDR_01E048: 8D AB 14 STA.W $14AB ADDR_01E04B: C8 INY CODE_01E04C: 8C FC 1D STY.W $1DFC ; / Play sound effect Return01E04F: 60 RTS ; Return InitFireball: B5 D8 LDA RAM_SpriteYLo,X ; / CODE_01E052: 9D 28 15 STA.W $1528,X ; | CODE_01E055: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_01E058: 9D 1C 15 STA.W $151C,X ; | CODE_01E05B: B5 D8 LDA RAM_SpriteYLo,X ; | CODE_01E05D: 18 CLC ; | CODE_01E05E: 69 10 ADC.B #$10 ; | CODE_01E060: 95 D8 STA RAM_SpriteYLo,X ; | CODE_01E062: BD D4 14 LDA.W RAM_SpriteYHi,X ; | Podoboo Data CODE_01E065: 69 00 ADC.B #$00 ; | CODE_01E067: 9D D4 14 STA.W RAM_SpriteYHi,X ; | CODE_01E06A: 20 40 91 JSR.W CODE_019140 ; | CODE_01E06D: BD 4A 16 LDA.W $164A,X ; | CODE_01E070: F0 E9 BEQ CODE_01E05B ; | CODE_01E072: 20 E2 E0 JSR.W CODE_01E0E2 ; | CODE_01E075: A9 20 LDA.B #$20 ; | CODE_01E077: 9D 40 15 STA.W $1540,X ; \ Return01E07A: 60 RTS ; Return DATA_01E07B: .db $F0,$DC,$D0,$C8,$C0,$B8,$B2,$AC .db $A6,$A0,$9A,$96,$92,$8C,$88,$84 .db $80,$04,$08,$0C,$10,$14 DATA_01E091: .db $70,$20 Fireballs: 9E D0 15 STZ.W $15D0,X CODE_01E096: BD 40 15 LDA.W $1540,X CODE_01E099: F0 0C BEQ CODE_01E0A7 CODE_01E09B: 9D D0 15 STA.W $15D0,X CODE_01E09E: 3A DEC A CODE_01E09F: D0 05 BNE Return01E0A6 CODE_01E0A1: A9 27 LDA.B #$27 ; \ Play sound effect CODE_01E0A3: 8D FC 1D STA.W $1DFC ; / Return01E0A6: 60 RTS ; Return CODE_01E0A7: A5 9D LDA RAM_SpritesLocked CODE_01E0A9: F0 03 BEQ CODE_01E0AE CODE_01E0AB: 4C 2D E1 JMP.W CODE_01E12D CODE_01E0AE: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01E0B1: 20 5F 8E JSR.W SetAnimationFrame CODE_01E0B4: 20 5F 8E JSR.W SetAnimationFrame CODE_01E0B7: BD F6 15 LDA.W RAM_SpritePal,X CODE_01E0BA: 29 7F AND.B #$7F CODE_01E0BC: B4 AA LDY RAM_SpriteSpeedY,X CODE_01E0BE: 30 08 BMI CODE_01E0C8 CODE_01E0C0: FE 02 16 INC.W $1602,X CODE_01E0C3: FE 02 16 INC.W $1602,X CODE_01E0C6: 09 80 ORA.B #$80 CODE_01E0C8: 9D F6 15 STA.W RAM_SpritePal,X CODE_01E0CB: 20 40 91 JSR.W CODE_019140 CODE_01E0CE: BD 4A 16 LDA.W $164A,X CODE_01E0D1: F0 33 BEQ CODE_01E106 CODE_01E0D3: B5 AA LDA RAM_SpriteSpeedY,X CODE_01E0D5: 30 2F BMI CODE_01E106 CODE_01E0D7: 22 F9 AC 01 JSL.L GetRand CODE_01E0DB: 29 3F AND.B #$3F CODE_01E0DD: 69 60 ADC.B #$60 CODE_01E0DF: 9D 40 15 STA.W $1540,X CODE_01E0E2: B5 D8 LDA RAM_SpriteYLo,X CODE_01E0E4: 38 SEC CODE_01E0E5: FD 28 15 SBC.W $1528,X CODE_01E0E8: 85 00 STA $00 CODE_01E0EA: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01E0ED: FD 1C 15 SBC.W $151C,X CODE_01E0F0: 4A LSR CODE_01E0F1: 66 00 ROR $00 CODE_01E0F3: A5 00 LDA $00 CODE_01E0F5: 4A LSR CODE_01E0F6: 4A LSR CODE_01E0F7: 4A LSR CODE_01E0F8: A8 TAY CODE_01E0F9: B9 7B E0 LDA.W DATA_01E07B,Y CODE_01E0FC: 30 05 BMI CODE_01E103 ADDR_01E0FE: 9D 64 15 STA.W $1564,X ADDR_01E101: A9 80 LDA.B #$80 CODE_01E103: 95 AA STA RAM_SpriteSpeedY,X Return01E105: 60 RTS ; Return CODE_01E106: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01E109: A5 14 LDA RAM_FrameCounterB CODE_01E10B: 29 07 AND.B #$07 CODE_01E10D: 15 C2 ORA RAM_SpriteState,X CODE_01E10F: D0 04 BNE CODE_01E115 CODE_01E111: 22 DF 85 02 JSL.L CODE_0285DF CODE_01E115: BD 64 15 LDA.W $1564,X CODE_01E118: D0 10 BNE CODE_01E12A CODE_01E11A: B5 AA LDA RAM_SpriteSpeedY,X CODE_01E11C: 30 07 BMI CODE_01E125 CODE_01E11E: B4 C2 LDY RAM_SpriteState,X CODE_01E120: D9 91 E0 CMP.W DATA_01E091,Y CODE_01E123: B0 05 BCS CODE_01E12A CODE_01E125: 18 CLC CODE_01E126: 69 02 ADC.B #$02 CODE_01E128: 95 AA STA RAM_SpriteSpeedY,X CODE_01E12A: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01E12D: B5 C2 LDA RAM_SpriteState,X CODE_01E12F: F0 67 BEQ CODE_01E198 CODE_01E131: A4 9D LDY RAM_SpritesLocked CODE_01E133: D0 2F BNE CODE_01E164 CODE_01E135: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_01E138: 29 04 AND.B #$04 ; | CODE_01E13A: F0 15 BEQ CODE_01E151 ; / CODE_01E13C: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01E13E: BD 58 15 LDA.W $1558,X CODE_01E141: F0 07 BEQ CODE_01E14A CODE_01E143: C9 01 CMP.B #$01 CODE_01E145: D0 08 BNE CODE_01E14F CODE_01E147: 4C CB 9A JMP.W CODE_019ACB CODE_01E14A: A9 80 LDA.B #$80 CODE_01E14C: 9D 58 15 STA.W $1558,X CODE_01E14F: 80 13 BRA CODE_01E164 CODE_01E151: 8A TXA CODE_01E152: 0A ASL CODE_01E153: 0A ASL CODE_01E154: 18 CLC CODE_01E155: 65 13 ADC RAM_FrameCounter CODE_01E157: A0 F0 LDY.B #$F0 CODE_01E159: 29 04 AND.B #$04 CODE_01E15B: F0 02 BEQ CODE_01E15F CODE_01E15D: A0 10 LDY.B #$10 CODE_01E15F: 94 B6 STY RAM_SpriteSpeedX,X CODE_01E161: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01E164: B5 D8 LDA RAM_SpriteYLo,X CODE_01E166: C9 F0 CMP.B #$F0 CODE_01E168: 90 03 BCC CODE_01E16D ADDR_01E16A: 9E C8 14 STZ.W $14C8,X CODE_01E16D: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01E170: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01E173: DA PHX CODE_01E174: A5 14 LDA RAM_FrameCounterB CODE_01E176: 29 0C AND.B #$0C CODE_01E178: 4A LSR CODE_01E179: 6D E9 15 ADC.W $15E9 CODE_01E17C: 4A LSR CODE_01E17D: 29 03 AND.B #$03 CODE_01E17F: AA TAX CODE_01E180: BD 90 E1 LDA.W BowserFlameTiles,X CODE_01E183: 99 02 03 STA.W OAM_Tile,Y CODE_01E186: BD 94 E1 LDA.W DATA_01E194,X CODE_01E189: 05 64 ORA $64 CODE_01E18B: 99 03 03 STA.W OAM_Prop,Y CODE_01E18E: FA PLX Return01E18F: 60 RTS ; Return BowserFlameTiles: .db $2A,$2C,$2A,$2C DATA_01E194: .db $05,$05,$45,$45 CODE_01E198: A9 01 LDA.B #$01 CODE_01E19A: 20 F3 9C JSR.W SubSprGfx0Entry0 CODE_01E19D: C2 20 REP #$20 ; Accum (16 bit) CODE_01E19F: A9 08 00 LDA.W #$0008 CODE_01E1A2: 0A ASL CODE_01E1A3: 0A ASL CODE_01E1A4: 0A ASL CODE_01E1A5: 0A ASL CODE_01E1A6: 0A ASL CODE_01E1A7: 18 CLC CODE_01E1A8: 69 00 85 ADC.W #$8500 CODE_01E1AB: 8D 8B 0D STA.W $0D8B CODE_01E1AE: 18 CLC CODE_01E1AF: 69 00 02 ADC.W #$0200 CODE_01E1B2: 8D 95 0D STA.W $0D95 CODE_01E1B5: E2 20 SEP #$20 ; Accum (8 bit) Return01E1B7: 60 RTS ; Return InitKeyHole: B5 E4 LDA RAM_SpriteXLo,X CODE_01E1BA: 18 CLC CODE_01E1BB: 69 08 ADC.B #$08 CODE_01E1BD: 95 E4 STA RAM_SpriteXLo,X CODE_01E1BF: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01E1C2: 69 00 ADC.B #$00 CODE_01E1C4: 9D E0 14 STA.W RAM_SpriteXHi,X Return01E1C7: 60 RTS ; Return Keyhole: A0 0B LDY.B #$0B CODE_01E1CA: B9 C8 14 LDA.W $14C8,Y CODE_01E1CD: C9 08 CMP.B #$08 CODE_01E1CF: 90 07 BCC CODE_01E1D8 CODE_01E1D1: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01E1D4: C9 80 CMP.B #$80 CODE_01E1D6: F0 03 BEQ CODE_01E1DB CODE_01E1D8: 88 DEY CODE_01E1D9: 10 EF BPL CODE_01E1CA CODE_01E1DB: AD 7A 18 LDA.W RAM_OnYoshi CODE_01E1DE: F0 05 BEQ CODE_01E1E5 CODE_01E1E0: AD 1C 19 LDA.W $191C CODE_01E1E3: D0 08 BNE CODE_01E1ED CODE_01E1E5: 98 TYA CODE_01E1E6: 9D 1C 15 STA.W $151C,X CODE_01E1E9: 30 4F BMI CODE_01E23A CODE_01E1EB: 80 06 BRA CODE_01E1F3 CODE_01E1ED: 22 64 B6 03 JSL.L GetMarioClipping CODE_01E1F1: 80 0E BRA CODE_01E201 CODE_01E1F3: B9 C8 14 LDA.W $14C8,Y CODE_01E1F6: C9 0B CMP.B #$0B CODE_01E1F8: D0 40 BNE CODE_01E23A CODE_01E1FA: DA PHX CODE_01E1FB: BB TYX CODE_01E1FC: 22 E5 B6 03 JSL.L GetSpriteClippingB CODE_01E200: FA PLX CODE_01E201: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_01E205: 22 2B B7 03 JSL.L CheckForContact CODE_01E209: 90 2F BCC CODE_01E23A CODE_01E20B: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01E20E: D0 2A BNE CODE_01E23A CODE_01E210: A9 30 LDA.B #$30 CODE_01E212: 8D 34 14 STA.W $1434 CODE_01E215: A9 10 LDA.B #$10 CODE_01E217: 8D FB 1D STA.W $1DFB ; / Change music CODE_01E21A: EE FB 13 INC.W $13FB CODE_01E21D: E6 9D INC RAM_SpritesLocked CODE_01E21F: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01E222: 8D 37 14 STA.W $1437 CODE_01E225: B5 E4 LDA RAM_SpriteXLo,X CODE_01E227: 8D 36 14 STA.W RAM_KeyHolePos1 CODE_01E22A: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01E22D: 8D 39 14 STA.W $1439 CODE_01E230: B5 D8 LDA RAM_SpriteYLo,X CODE_01E232: 8D 38 14 STA.W RAM_KeyHolePos2 CODE_01E235: A9 30 LDA.B #$30 CODE_01E237: 9D 4C 15 STA.W RAM_DisableInter,X CODE_01E23A: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01E23D: A5 00 LDA $00 CODE_01E23F: 99 00 03 STA.W OAM_DispX,Y CODE_01E242: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_01E245: A5 01 LDA $01 CODE_01E247: 99 01 03 STA.W OAM_DispY,Y CODE_01E24A: 18 CLC CODE_01E24B: 69 08 ADC.B #$08 CODE_01E24D: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01E250: A9 EB LDA.B #$EB CODE_01E252: 99 02 03 STA.W OAM_Tile,Y CODE_01E255: A9 FB LDA.B #$FB CODE_01E257: 99 06 03 STA.W OAM_Tile2,Y CODE_01E25A: A9 30 LDA.B #$30 CODE_01E25C: 99 03 03 STA.W OAM_Prop,Y CODE_01E25F: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_01E262: A0 00 LDY.B #$00 CODE_01E264: A9 01 LDA.B #$01 CODE_01E266: 20 BB B7 JSR.W FinishOAMWriteRt Return01E269: 60 RTS ; Return CODE_01E26A: A5 13 LDA RAM_FrameCounter CODE_01E26C: 29 3F AND.B #$3F CODE_01E26E: D0 0B BNE CODE_01E27B CODE_01E270: AD 90 18 LDA.W $1890 CODE_01E273: F0 06 BEQ CODE_01E27B CODE_01E275: CE 90 18 DEC.W $1890 CODE_01E278: 20 81 E2 JSR.W CODE_01E281 CODE_01E27B: A9 01 LDA.B #$01 CODE_01E27D: 8D B8 18 STA.W $18B8 Return01E280: 60 RTS ; Return CODE_01E281: A0 07 LDY.B #$07 CODE_01E283: B9 92 18 LDA.W $1892,Y CODE_01E286: F0 04 BEQ CODE_01E28C CODE_01E288: 88 DEY CODE_01E289: 10 F8 BPL CODE_01E283 Return01E28B: 60 RTS ; Return CODE_01E28C: A9 01 LDA.B #$01 CODE_01E28E: 99 92 18 STA.W $1892,Y CODE_01E291: A9 00 LDA.B #$00 CODE_01E293: 99 02 1E STA.W $1E02,Y CODE_01E296: A9 01 LDA.B #$01 CODE_01E298: 99 2A 1E STA.W $1E2A,Y CODE_01E29B: A9 18 LDA.B #$18 CODE_01E29D: 99 16 1E STA.W $1E16,Y CODE_01E2A0: A9 00 LDA.B #$00 CODE_01E2A2: 99 3E 1E STA.W $1E3E,Y CODE_01E2A5: A9 01 LDA.B #$01 CODE_01E2A7: 99 66 1E STA.W $1E66,Y CODE_01E2AA: A9 10 LDA.B #$10 CODE_01E2AC: 99 52 1E STA.W $1E52,Y Return01E2AF: 60 RTS ; Return DATA_01E2B0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $13,$14,$15,$16,$17,$18,$19 MontyMole: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01E2D2: B5 C2 LDA RAM_SpriteState,X CODE_01E2D4: 22 DF 86 00 JSL.L ExecutePtr Ptrs01E2D8: E0 E2 .dw CODE_01E2E0 09 E3 .dw CODE_01E309 7F E3 .dw CODE_01E37F 93 E3 .dw CODE_01E393 CODE_01E2E0: 20 30 AD JSR.W SubHorizPos CODE_01E2E3: A5 0F LDA $0F CODE_01E2E5: 18 CLC CODE_01E2E6: 69 60 ADC.B #$60 CODE_01E2E8: C9 C0 CMP.B #$C0 CODE_01E2EA: B0 19 BCS CODE_01E305 CODE_01E2EC: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_01E2EF: D0 14 BNE CODE_01E305 CODE_01E2F1: F6 C2 INC RAM_SpriteState,X CODE_01E2F3: AC B3 0D LDY.W $0DB3 CODE_01E2F6: B9 11 1F LDA.W $1F11,Y CODE_01E2F9: A8 TAY CODE_01E2FA: A9 68 LDA.B #$68 CODE_01E2FC: C0 01 CPY.B #$01 CODE_01E2FE: F0 02 BEQ CODE_01E302 CODE_01E300: A9 20 LDA.B #$20 CODE_01E302: 9D 40 15 STA.W $1540,X CODE_01E305: 20 65 A3 JSR.W GetDrawInfoBnk1 Return01E308: 60 RTS ; Return CODE_01E309: BD 40 15 LDA.W $1540,X CODE_01E30C: 1D D0 15 ORA.W $15D0,X CODE_01E30F: D0 32 BNE CODE_01E343 CODE_01E311: F6 C2 INC RAM_SpriteState,X CODE_01E313: A9 B0 LDA.B #$B0 CODE_01E315: 95 AA STA RAM_SpriteSpeedY,X CODE_01E317: 20 CB 80 JSR.W IsSprOffScreen CODE_01E31A: D0 04 BNE CODE_01E320 CODE_01E31C: A8 TAY CODE_01E31D: 20 E1 99 JSR.W CODE_0199E1 CODE_01E320: 20 7C 85 JSR.W FaceMario CODE_01E323: B5 9E LDA RAM_SpriteNum,X CODE_01E325: C9 4E CMP.B #$4E CODE_01E327: D0 1A BNE CODE_01E343 CODE_01E329: B5 E4 LDA RAM_SpriteXLo,X ; \ $9A = Sprite X position CODE_01E32B: 85 9A STA RAM_BlockYLo ; | for block creation CODE_01E32D: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_01E330: 85 9B STA RAM_BlockYHi ; / CODE_01E332: B5 D8 LDA RAM_SpriteYLo,X ; \ $98 = Sprite Y position CODE_01E334: 85 98 STA RAM_BlockXLo ; | for block creation CODE_01E336: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_01E339: 85 99 STA RAM_BlockXHi ; / CODE_01E33B: A9 08 LDA.B #$08 ; \ Block to generate = Mole hole CODE_01E33D: 85 9C STA RAM_BlockBlock ; / CODE_01E33F: 22 B0 BE 00 JSL.L GenerateTile CODE_01E343: B5 9E LDA RAM_SpriteNum,X CODE_01E345: C9 4D CMP.B #$4D CODE_01E347: D0 1A BNE CODE_01E363 CODE_01E349: A5 14 LDA RAM_FrameCounterB CODE_01E34B: 4A LSR CODE_01E34C: 4A LSR CODE_01E34D: 4A LSR CODE_01E34E: 4A LSR CODE_01E34F: 29 01 AND.B #$01 CODE_01E351: A8 TAY CODE_01E352: B9 5F E3 LDA.W DATA_01E35F,Y CODE_01E355: 9D 02 16 STA.W $1602,X CODE_01E358: B9 61 E3 LDA.W DATA_01E361,Y CODE_01E35B: 20 F3 9C JSR.W SubSprGfx0Entry0 Return01E35E: 60 RTS ; Return DATA_01E35F: .db $01,$02 DATA_01E361: .db $00,$05 CODE_01E363: A5 14 LDA RAM_FrameCounterB CODE_01E365: 0A ASL CODE_01E366: 0A ASL CODE_01E367: 29 C0 AND.B #$C0 CODE_01E369: 09 31 ORA.B #$31 CODE_01E36B: 9D F6 15 STA.W RAM_SpritePal,X CODE_01E36E: A9 03 LDA.B #$03 CODE_01E370: 9D 02 16 STA.W $1602,X CODE_01E373: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01E376: BD F6 15 LDA.W RAM_SpritePal,X CODE_01E379: 29 3F AND.B #$3F CODE_01E37B: 9D F6 15 STA.W RAM_SpritePal,X Return01E37E: 60 RTS ; Return CODE_01E37F: 20 EF E3 JSR.W CODE_01E3EF CODE_01E382: A9 02 LDA.B #$02 CODE_01E384: 9D 02 16 STA.W $1602,X CODE_01E387: 20 0E 80 JSR.W IsOnGround CODE_01E38A: F0 02 BEQ Return01E38E CODE_01E38C: F6 C2 INC RAM_SpriteState,X Return01E38E: 60 RTS ; Return DATA_01E38F: .db $10,$F0 DATA_01E391: .db $18,$E8 CODE_01E393: 20 EF E3 JSR.W CODE_01E3EF CODE_01E396: BD 1C 15 LDA.W $151C,X CODE_01E399: D0 2C BNE CODE_01E3C7 CODE_01E39B: 20 5F 8E JSR.W SetAnimationFrame CODE_01E39E: 20 5F 8E JSR.W SetAnimationFrame CODE_01E3A1: 22 F9 AC 01 JSL.L GetRand CODE_01E3A5: 29 01 AND.B #$01 CODE_01E3A7: D0 1D BNE Return01E3C6 CODE_01E3A9: 20 7C 85 JSR.W FaceMario CODE_01E3AC: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01E3AE: D9 91 E3 CMP.W DATA_01E391,Y CODE_01E3B1: F0 13 BEQ Return01E3C6 CODE_01E3B3: 18 CLC CODE_01E3B4: 79 B4 EB ADC.W DATA_01EBB4,Y CODE_01E3B7: 95 B6 STA RAM_SpriteSpeedX,X CODE_01E3B9: 98 TYA CODE_01E3BA: 4A LSR CODE_01E3BB: 6A ROR CODE_01E3BC: 55 B6 EOR RAM_SpriteSpeedX,X CODE_01E3BE: 10 06 BPL Return01E3C6 CODE_01E3C0: 20 4E 80 JSR.W CODE_01804E CODE_01E3C3: 20 5F 8E JSR.W SetAnimationFrame Return01E3C6: 60 RTS ; Return CODE_01E3C7: 20 0E 80 JSR.W IsOnGround CODE_01E3CA: F0 1D BEQ CODE_01E3E9 CODE_01E3CC: 20 5F 8E JSR.W SetAnimationFrame CODE_01E3CF: 20 5F 8E JSR.W SetAnimationFrame CODE_01E3D2: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01E3D5: B9 8F E3 LDA.W DATA_01E38F,Y CODE_01E3D8: 95 B6 STA RAM_SpriteSpeedX,X CODE_01E3DA: BD 58 15 LDA.W $1558,X CODE_01E3DD: D0 09 BNE Return01E3E8 CODE_01E3DF: A9 50 LDA.B #$50 CODE_01E3E1: 9D 58 15 STA.W $1558,X CODE_01E3E4: A9 D8 LDA.B #$D8 CODE_01E3E6: 95 AA STA RAM_SpriteSpeedY,X Return01E3E8: 60 RTS ; Return CODE_01E3E9: A9 01 LDA.B #$01 CODE_01E3EB: 9D 02 16 STA.W $1602,X Return01E3EE: 60 RTS ; Return CODE_01E3EF: A5 64 LDA $64 CODE_01E3F1: 48 PHA CODE_01E3F2: BD 40 15 LDA.W $1540,X CODE_01E3F5: F0 04 BEQ CODE_01E3FB ADDR_01E3F7: A9 10 LDA.B #$10 ADDR_01E3F9: 85 64 STA $64 CODE_01E3FB: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01E3FE: 68 PLA CODE_01E3FF: 85 64 STA $64 CODE_01E401: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01E403: D0 17 BNE CODE_01E41C ; / CODE_01E405: 20 C1 8F JSR.W SubSprSpr+MarioSpr CODE_01E408: 20 32 90 JSR.W SubUpdateSprPos CODE_01E40B: 20 0E 80 JSR.W IsOnGround CODE_01E40E: F0 03 BEQ CODE_01E413 CODE_01E410: 20 04 9A JSR.W SetSomeYSpeed?? CODE_01E413: 20 08 80 JSR.W IsTouchingObjSide CODE_01E416: F0 03 BEQ Return01E41B CODE_01E418: 20 98 90 JSR.W FlipSpriteDir Return01E41B: 60 RTS ; Return CODE_01E41C: 68 PLA CODE_01E41D: 68 PLA Return01E41E: 60 RTS ; Return DATA_01E41F: .db $08,$F8,$02,$03,$04,$04,$04,$04 .db $04,$04,$04,$04 DryBonesAndBeetle: BD C8 14 LDA.W $14C8,X CODE_01E42E: C9 08 CMP.B #$08 CODE_01E430: F0 0C BEQ CODE_01E43E CODE_01E432: 1E F6 15 ASL.W RAM_SpritePal,X CODE_01E435: 38 SEC CODE_01E436: 7E F6 15 ROR.W RAM_SpritePal,X CODE_01E439: 4C BF E5 JMP.W CODE_01E5BF DATA_01E43C: .db $08,$F8 CODE_01E43E: BD 34 15 LDA.W $1534,X CODE_01E441: F0 7D BEQ CODE_01E4C0 CODE_01E443: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01E446: BC 40 15 LDY.W $1540,X CODE_01E449: D0 08 BNE CODE_01E453 CODE_01E44B: 9E 34 15 STZ.W $1534,X CODE_01E44E: 5A PHY CODE_01E44F: 20 7C 85 JSR.W FaceMario CODE_01E452: 7A PLY CODE_01E453: A9 48 LDA.B #$48 CODE_01E455: C0 10 CPY.B #$10 CODE_01E457: 90 06 BCC CODE_01E45F CODE_01E459: C0 F0 CPY.B #$F0 CODE_01E45B: B0 02 BCS CODE_01E45F CODE_01E45D: A9 2E LDA.B #$2E CODE_01E45F: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01E462: 99 02 03 STA.W OAM_Tile,Y CODE_01E465: 98 TYA CODE_01E466: 18 CLC CODE_01E467: 69 04 ADC.B #$04 CODE_01E469: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01E46C: DA PHX CODE_01E46D: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01E470: AA TAX CODE_01E471: B9 00 03 LDA.W OAM_DispX,Y CODE_01E474: 18 CLC CODE_01E475: 7D 3C E4 ADC.W DATA_01E43C,X CODE_01E478: FA PLX CODE_01E479: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_01E47C: B9 01 03 LDA.W OAM_DispY,Y CODE_01E47F: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_01E482: B9 03 03 LDA.W OAM_Prop,Y CODE_01E485: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_01E488: B9 02 03 LDA.W OAM_Tile,Y CODE_01E48B: 3A DEC A CODE_01E48C: 99 06 03 STA.W OAM_Tile2,Y CODE_01E48F: BD 40 15 LDA.W $1540,X CODE_01E492: F0 18 BEQ CODE_01E4AC CODE_01E494: C9 40 CMP.B #$40 CODE_01E496: B0 14 BCS CODE_01E4AC CODE_01E498: 4A LSR CODE_01E499: 4A LSR CODE_01E49A: 08 PHP CODE_01E49B: B9 00 03 LDA.W OAM_DispX,Y CODE_01E49E: 69 00 ADC.B #$00 CODE_01E4A0: 99 00 03 STA.W OAM_DispX,Y CODE_01E4A3: 28 PLP CODE_01E4A4: B9 04 03 LDA.W OAM_Tile2DispX,Y CODE_01E4A7: 69 00 ADC.B #$00 CODE_01E4A9: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_01E4AC: A0 02 LDY.B #$02 CODE_01E4AE: A9 01 LDA.B #$01 CODE_01E4B0: 20 BB B7 JSR.W FinishOAMWriteRt CODE_01E4B3: 20 32 90 JSR.W SubUpdateSprPos CODE_01E4B6: 20 0E 80 JSR.W IsOnGround CODE_01E4B9: F0 04 BEQ Return01E4BF CODE_01E4BB: 74 AA STZ RAM_SpriteSpeedY,X ; \ Sprite Speed = 0 CODE_01E4BD: 74 B6 STZ RAM_SpriteSpeedX,X ; / Return01E4BF: 60 RTS ; Return CODE_01E4C0: A5 9D LDA RAM_SpritesLocked CODE_01E4C2: 1D 3E 16 ORA.W $163E,X CODE_01E4C5: F0 03 BEQ CODE_01E4CA CODE_01E4C7: 4C B6 E5 JMP.W CODE_01E5B6 CODE_01E4CA: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01E4CD: B9 1F E4 LDA.W DATA_01E41F,Y CODE_01E4D0: 5D B8 15 EOR.W $15B8,X CODE_01E4D3: 0A ASL CODE_01E4D4: B9 1F E4 LDA.W DATA_01E41F,Y CODE_01E4D7: 90 04 BCC CODE_01E4DD CODE_01E4D9: 18 CLC CODE_01E4DA: 7D B8 15 ADC.W $15B8,X CODE_01E4DD: 95 B6 STA RAM_SpriteSpeedX,X CODE_01E4DF: BD 40 15 LDA.W $1540,X CODE_01E4E2: D0 09 BNE CODE_01E4ED CODE_01E4E4: 98 TYA CODE_01E4E5: 1A INC A CODE_01E4E6: 3D 88 15 AND.W RAM_SprObjStatus,X ; \ Branch if not touching object CODE_01E4E9: 29 03 AND.B #$03 ; | CODE_01E4EB: F0 02 BEQ CODE_01E4EF ; / CODE_01E4ED: 74 B6 STZ RAM_SpriteSpeedX,X CODE_01E4EF: 20 14 80 JSR.W IsTouchingCeiling CODE_01E4F2: F0 02 BEQ CODE_01E4F6 ADDR_01E4F4: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01E4F6: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01E4F9: 20 32 90 JSR.W SubUpdateSprPos CODE_01E4FC: B5 9E LDA RAM_SpriteNum,X CODE_01E4FE: C9 31 CMP.B #$31 CODE_01E500: D0 1C BNE CODE_01E51E CODE_01E502: BD 40 15 LDA.W $1540,X CODE_01E505: F0 3B BEQ CODE_01E542 CODE_01E507: A0 00 LDY.B #$00 CODE_01E509: C9 70 CMP.B #$70 CODE_01E50B: B0 0B BCS CODE_01E518 CODE_01E50D: C8 INY CODE_01E50E: C8 INY CODE_01E50F: C9 08 CMP.B #$08 CODE_01E511: 90 05 BCC CODE_01E518 CODE_01E513: C9 68 CMP.B #$68 CODE_01E515: B0 01 BCS CODE_01E518 CODE_01E517: C8 INY CODE_01E518: 98 TYA CODE_01E519: 9D 02 16 STA.W $1602,X CODE_01E51C: 80 45 BRA CODE_01E563 CODE_01E51E: C9 30 CMP.B #$30 CODE_01E520: F0 0B BEQ CODE_01E52D CODE_01E522: C9 32 CMP.B #$32 CODE_01E524: D0 1C BNE CODE_01E542 CODE_01E526: AD BF 13 LDA.W $13BF CODE_01E529: C9 31 CMP.B #$31 CODE_01E52B: D0 15 BNE CODE_01E542 CODE_01E52D: BD 40 15 LDA.W $1540,X CODE_01E530: F0 10 BEQ CODE_01E542 CODE_01E532: C9 01 CMP.B #$01 CODE_01E534: D0 04 BNE CODE_01E53A CODE_01E536: 22 4E C4 03 JSL.L CODE_03C44E CODE_01E53A: A9 02 LDA.B #$02 CODE_01E53C: 9D 02 16 STA.W $1602,X CODE_01E53F: 4C B6 E5 JMP.W CODE_01E5B6 CODE_01E542: 20 0E 80 JSR.W IsOnGround CODE_01E545: F0 1C BEQ CODE_01E563 CODE_01E547: 20 04 9A JSR.W SetSomeYSpeed?? CODE_01E54A: 20 5F 8E JSR.W SetAnimationFrame CODE_01E54D: B5 9E LDA RAM_SpriteNum,X CODE_01E54F: C9 32 CMP.B #$32 CODE_01E551: D0 04 BNE CODE_01E557 CODE_01E553: 74 C2 STZ RAM_SpriteState,X CODE_01E555: 80 0A BRA CODE_01E561 CODE_01E557: BD 70 15 LDA.W $1570,X CODE_01E55A: 29 7F AND.B #$7F CODE_01E55C: D0 03 BNE CODE_01E561 CODE_01E55E: 20 7C 85 JSR.W FaceMario CODE_01E561: 80 18 BRA CODE_01E57B CODE_01E563: 9E 70 15 STZ.W $1570,X CODE_01E566: B5 9E LDA RAM_SpriteNum,X CODE_01E568: C9 32 CMP.B #$32 CODE_01E56A: D0 0F BNE CODE_01E57B CODE_01E56C: B5 C2 LDA RAM_SpriteState,X CODE_01E56E: D0 0B BNE CODE_01E57B CODE_01E570: F6 C2 INC RAM_SpriteState,X CODE_01E572: 20 98 90 JSR.W FlipSpriteDir CODE_01E575: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01E578: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01E57B: B5 9E LDA RAM_SpriteNum,X CODE_01E57D: C9 31 CMP.B #$31 CODE_01E57F: D0 17 BNE CODE_01E598 CODE_01E581: A5 13 LDA RAM_FrameCounter CODE_01E583: 4A LSR CODE_01E584: 90 03 BCC CODE_01E589 CODE_01E586: FE 28 15 INC.W $1528,X CODE_01E589: BD 28 15 LDA.W $1528,X CODE_01E58C: D0 28 BNE CODE_01E5B6 CODE_01E58E: FE 28 15 INC.W $1528,X CODE_01E591: A9 A0 LDA.B #$A0 CODE_01E593: 9D 40 15 STA.W $1540,X CODE_01E596: 80 1E BRA CODE_01E5B6 CODE_01E598: C9 30 CMP.B #$30 CODE_01E59A: F0 0B BEQ CODE_01E5A7 CODE_01E59C: C9 32 CMP.B #$32 CODE_01E59E: D0 16 BNE CODE_01E5B6 CODE_01E5A0: AD BF 13 LDA.W $13BF CODE_01E5A3: C9 31 CMP.B #$31 CODE_01E5A5: D0 0F BNE CODE_01E5B6 CODE_01E5A7: BD 70 15 LDA.W $1570,X CODE_01E5AA: 18 CLC CODE_01E5AB: 69 40 ADC.B #$40 CODE_01E5AD: 29 7F AND.B #$7F CODE_01E5AF: D0 05 BNE CODE_01E5B6 CODE_01E5B1: A9 3F LDA.B #$3F CODE_01E5B3: 9D 40 15 STA.W $1540,X CODE_01E5B6: 20 C4 E5 JSR.W CODE_01E5C4 CODE_01E5B9: 20 0D A4 JSR.W SubSprSprInteract CODE_01E5BC: 20 89 90 JSR.W FlipIfTouchingObj CODE_01E5BF: 22 90 C3 03 JSL.L CODE_03C390 Return01E5C3: 60 RTS ; Return CODE_01E5C4: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01E5C7: 90 47 BCC Return01E610 CODE_01E5C9: A5 D3 LDA $D3 CODE_01E5CB: 18 CLC CODE_01E5CC: 69 14 ADC.B #$14 CODE_01E5CE: D5 D8 CMP RAM_SpriteYLo,X CODE_01E5D0: 10 32 BPL CODE_01E604 CODE_01E5D2: AD 97 16 LDA.W $1697 CODE_01E5D5: D0 04 BNE CODE_01E5DB CODE_01E5D7: A5 7D LDA RAM_MarioSpeedY CODE_01E5D9: 30 29 BMI CODE_01E604 CODE_01E5DB: B5 9E LDA RAM_SpriteNum,X CODE_01E5DD: C9 31 CMP.B #$31 CODE_01E5DF: D0 0A BNE CODE_01E5EB CODE_01E5E1: BD 40 15 LDA.W $1540,X CODE_01E5E4: 38 SEC CODE_01E5E5: E9 08 SBC.B #$08 CODE_01E5E7: C9 60 CMP.B #$60 CODE_01E5E9: 90 19 BCC CODE_01E604 CODE_01E5EB: 20 46 AB JSR.W CODE_01AB46 CODE_01E5EE: 22 99 AB 01 JSL.L DisplayContactGfx CODE_01E5F2: A9 07 LDA.B #$07 ; \ Play sound effect CODE_01E5F4: 8D F9 1D STA.W $1DF9 ; / CODE_01E5F7: 22 33 AA 01 JSL.L BoostMarioSpeed CODE_01E5FB: FE 34 15 INC.W $1534,X CODE_01E5FE: A9 FF LDA.B #$FF CODE_01E600: 9D 40 15 STA.W $1540,X Return01E603: 60 RTS ; Return CODE_01E604: 22 B7 F5 00 JSL.L HurtMario CODE_01E608: AD 97 14 LDA.W $1497 ; \ Return if Mario is invincible CODE_01E60B: D0 03 BNE Return01E610 ; / CODE_01E60D: 20 7C 85 JSR.W FaceMario Return01E610: 60 RTS ; Return DATA_01E611: .db $00,$01,$02,$02,$02,$01,$01,$00 .db $00 DATA_01E61A: .db $1E,$1B,$18,$18,$18,$1A,$1C,$1D .db $1E SpringBoard: A5 9D LDA RAM_SpritesLocked CODE_01E625: F0 03 BEQ CODE_01E62A CODE_01E627: 4C F0 E6 JMP.W CODE_01E6F0 CODE_01E62A: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01E62D: 20 32 90 JSR.W SubUpdateSprPos CODE_01E630: 20 0E 80 JSR.W IsOnGround CODE_01E633: F0 03 BEQ CODE_01E638 CODE_01E635: 20 D5 97 JSR.W CODE_0197D5 CODE_01E638: 20 08 80 JSR.W IsTouchingObjSide CODE_01E63B: F0 0C BEQ CODE_01E649 CODE_01E63D: 20 98 90 JSR.W FlipSpriteDir CODE_01E640: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01E642: 0A ASL CODE_01E643: 08 PHP CODE_01E644: 76 B6 ROR RAM_SpriteSpeedX,X CODE_01E646: 28 PLP CODE_01E647: 76 B6 ROR RAM_SpriteSpeedX,X CODE_01E649: 20 14 80 JSR.W IsTouchingCeiling CODE_01E64C: F0 02 BEQ CODE_01E650 ADDR_01E64E: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01E650: BD 40 15 LDA.W $1540,X CODE_01E653: F0 5B BEQ CODE_01E6B0 CODE_01E655: 4A LSR CODE_01E656: A8 TAY CODE_01E657: AD 7A 18 LDA.W RAM_OnYoshi CODE_01E65A: C9 01 CMP.B #$01 CODE_01E65C: B9 1A E6 LDA.W DATA_01E61A,Y CODE_01E65F: 90 03 BCC CODE_01E664 CODE_01E661: 18 CLC CODE_01E662: 69 12 ADC.B #$12 CODE_01E664: 85 00 STA $00 CODE_01E666: B9 11 E6 LDA.W DATA_01E611,Y CODE_01E669: 9D 02 16 STA.W $1602,X CODE_01E66C: B5 D8 LDA RAM_SpriteYLo,X CODE_01E66E: 38 SEC CODE_01E66F: E5 00 SBC $00 CODE_01E671: 85 96 STA RAM_MarioYPos CODE_01E673: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01E676: E9 00 SBC.B #$00 CODE_01E678: 85 97 STA RAM_MarioYPosHi CODE_01E67A: 64 72 STZ RAM_IsFlying CODE_01E67C: 64 7B STZ RAM_MarioSpeedX CODE_01E67E: A9 02 LDA.B #$02 CODE_01E680: 8D 71 14 STA.W $1471 CODE_01E683: BD 40 15 LDA.W $1540,X CODE_01E686: C9 07 CMP.B #$07 CODE_01E688: B0 24 BCS CODE_01E6AE CODE_01E68A: 9C 71 14 STZ.W $1471 CODE_01E68D: A0 B0 LDY.B #$B0 CODE_01E68F: A5 17 LDA RAM_ControllerB CODE_01E691: 10 07 BPL CODE_01E69A ADDR_01E693: A9 01 LDA.B #$01 ADDR_01E695: 8D 0D 14 STA.W RAM_IsSpinJump ADDR_01E698: 80 04 BRA CODE_01E69E CODE_01E69A: A5 15 LDA RAM_ControllerA CODE_01E69C: 10 09 BPL CODE_01E6A7 CODE_01E69E: A9 0B LDA.B #$0B CODE_01E6A0: 85 72 STA RAM_IsFlying CODE_01E6A2: A0 80 LDY.B #$80 CODE_01E6A4: 8C 06 14 STY.W $1406 CODE_01E6A7: 84 7D STY RAM_MarioSpeedY CODE_01E6A9: A9 08 LDA.B #$08 ; \ Play sound effect CODE_01E6AB: 8D FC 1D STA.W $1DFC ; / CODE_01E6AE: 80 40 BRA CODE_01E6F0 CODE_01E6B0: 20 F7 A7 JSR.W ProcessInteract CODE_01E6B3: 90 3B BCC CODE_01E6F0 CODE_01E6B5: 9E 4C 15 STZ.W RAM_DisableInter,X CODE_01E6B8: B5 D8 LDA RAM_SpriteYLo,X CODE_01E6BA: 38 SEC CODE_01E6BB: E5 96 SBC RAM_MarioYPos CODE_01E6BD: 18 CLC CODE_01E6BE: 69 04 ADC.B #$04 CODE_01E6C0: C9 1C CMP.B #$1C CODE_01E6C2: 90 0A BCC CODE_01E6CE CODE_01E6C4: 10 21 BPL CODE_01E6E7 ADDR_01E6C6: A5 7D LDA RAM_MarioSpeedY ADDR_01E6C8: 10 26 BPL CODE_01E6F0 ADDR_01E6CA: 64 7D STZ RAM_MarioSpeedY ADDR_01E6CC: 80 22 BRA CODE_01E6F0 CODE_01E6CE: 24 15 BIT RAM_ControllerA CODE_01E6D0: 50 10 BVC CODE_01E6E2 CODE_01E6D2: AD 70 14 LDA.W $1470 ; \ Branch if carrying an enemy... CODE_01E6D5: 0D 7A 18 ORA.W RAM_OnYoshi ; | ...or if on Yoshi CODE_01E6D8: D0 08 BNE CODE_01E6E2 ; / CODE_01E6DA: A9 0B LDA.B #$0B ; \ Sprite status = carried CODE_01E6DC: 9D C8 14 STA.W $14C8,X ; / CODE_01E6DF: 9E 02 16 STZ.W $1602,X CODE_01E6E2: 20 31 AB JSR.W CODE_01AB31 CODE_01E6E5: 80 09 BRA CODE_01E6F0 CODE_01E6E7: A5 7D LDA RAM_MarioSpeedY CODE_01E6E9: 30 05 BMI CODE_01E6F0 CODE_01E6EB: A9 11 LDA.B #$11 CODE_01E6ED: 9D 40 15 STA.W $1540,X CODE_01E6F0: BC 02 16 LDY.W $1602,X CODE_01E6F3: B9 FD E6 LDA.W DATA_01E6FD,Y CODE_01E6F6: A8 TAY CODE_01E6F7: A9 02 LDA.B #$02 CODE_01E6F9: 20 F5 9C JSR.W SubSprGfx0Entry1 Return01E6FC: 60 RTS ; Return DATA_01E6FD: .db $00,$02,$00 SmushedGfxRt: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01E703: 20 CB 80 JSR.W IsSprOffScreen CODE_01E706: D0 52 BNE Return01E75A CODE_01E708: A5 00 LDA $00 ; \ Set X displacement for both tiles CODE_01E70A: 99 00 03 STA.W OAM_DispX,Y ; | (Sprite position + #$00/#$08) CODE_01E70D: 18 CLC ; | CODE_01E70E: 69 08 ADC.B #$08 ; | CODE_01E710: 99 04 03 STA.W OAM_Tile2DispX,Y ; / CODE_01E713: A5 01 LDA $01 ; \ Set Y displacement for both tiles CODE_01E715: 18 CLC ; | (Sprite position + #$08) CODE_01E716: 69 08 ADC.B #$08 ; | CODE_01E718: 99 01 03 STA.W OAM_DispY,Y ; | CODE_01E71B: 99 05 03 STA.W OAM_Tile2DispY,Y ; / CODE_01E71E: DA PHX CODE_01E71F: B5 9E LDA RAM_SpriteNum,X CODE_01E721: AA TAX CODE_01E722: A9 FE LDA.B #$FE ; \ If P Switch, tile = #$FE CODE_01E724: E0 3E CPX.B #$3E ; | CODE_01E726: F0 12 BEQ CODE_01E73A ; / CODE_01E728: A9 EE LDA.B #$EE ; \ If Sliding Koopa... CODE_01E72A: E0 BD CPX.B #$BD ; | CODE_01E72C: F0 0C BEQ CODE_01E73A ; | CODE_01E72E: E0 04 CPX.B #$04 ; | ...or a shelless, tile = #$EE CODE_01E730: 90 08 BCC CODE_01E73A ; / CODE_01E732: A9 C7 LDA.B #$C7 ; \ If sprite num >= #$0F, tile = #$C7 (is this used?) CODE_01E734: E0 0F CPX.B #$0F ; | CODE_01E736: B0 02 BCS CODE_01E73A ; / CODE_01E738: A9 4D LDA.B #$4D ; If #$04 <= sprite num < #$0F, tile = #$4D (Koopas) CODE_01E73A: 99 02 03 STA.W OAM_Tile,Y ; \ Same value for both tiles CODE_01E73D: 99 06 03 STA.W OAM_Tile2,Y ; / CODE_01E740: FA PLX CODE_01E741: A5 64 LDA $64 ; \ Store the first tile's properties CODE_01E743: 1D F6 15 ORA.W RAM_SpritePal,X ; | CODE_01E746: 99 03 03 STA.W OAM_Prop,Y ; / CODE_01E749: 09 40 ORA.B #$40 ; \ Horizontally flip the second tile and store it CODE_01E74B: 99 07 03 STA.W OAM_Tile2Prop,Y ; / CODE_01E74E: 98 TYA ; \ Y = index to size table CODE_01E74F: 4A LSR ; | CODE_01E750: 4A LSR ; | CODE_01E751: A8 TAY ; / CODE_01E752: A9 00 LDA.B #$00 ; \ Two 8x8 tiles CODE_01E754: 99 60 04 STA.W OAM_TileSize,Y ; | CODE_01E757: 99 61 04 STA.W $0461,Y ; / Return01E75A: 60 RTS ; Return PSwitch: BD 64 15 LDA.W $1564,X CODE_01E75E: C9 01 CMP.B #$01 CODE_01E760: D0 0C BNE Return01E76E CODE_01E762: 8D 11 1F STA.W $1F11 CODE_01E765: 8D B8 1F STA.W $1FB8 CODE_01E768: 9E C8 14 STZ.W $14C8,X CODE_01E76B: EE 26 14 INC.W $1426 Return01E76E: 60 RTS ; Return DATA_01E76F: .db $FC,$04,$FE,$02,$FB,$05,$FD,$03 .db $FA,$06,$FC,$04,$FB,$05,$FD,$03 DATA_01E77F: .db $00,$FF,$03,$04,$FF,$FE,$04,$03 .db $FE,$FF,$03,$03,$FF,$00,$03,$03 .db $F8,$FC,$00,$04 DATA_01E793: .db $0E,$0F,$10,$11,$12,$11,$10,$0F .db $1A,$1B,$1C,$1D,$1E,$1D,$1C,$1B .db $1A LakituCloud: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01E7A6: F0 03 BEQ NoCloudGfx ; / CODE_01E7A8: 4C CA E8 JMP.W LakituCloudGfx NoCloudGfx: AC E0 18 LDY.W $18E0 CODE_01E7AE: F0 15 BEQ CODE_01E7C5 CODE_01E7B0: A5 14 LDA RAM_FrameCounterB CODE_01E7B2: 29 03 AND.B #$03 CODE_01E7B4: D0 0F BNE CODE_01E7C5 CODE_01E7B6: AD E0 18 LDA.W $18E0 CODE_01E7B9: F0 0A BEQ CODE_01E7C5 CODE_01E7BB: CE E0 18 DEC.W $18E0 CODE_01E7BE: D0 05 BNE CODE_01E7C5 CODE_01E7C0: A9 1F LDA.B #$1F CODE_01E7C2: 9D 40 15 STA.W $1540,X CODE_01E7C5: BD 40 15 LDA.W $1540,X CODE_01E7C8: F0 11 BEQ CODE_01E7DB CODE_01E7CA: 3A DEC A CODE_01E7CB: D0 DB BNE CODE_01E7A8 CODE_01E7CD: 9E C8 14 STZ.W $14C8,X CODE_01E7D0: A9 FF LDA.B #$FF ; \ Set time until respawn CODE_01E7D2: 8D C0 18 STA.W RAM_TimeTillRespawn ; | CODE_01E7D5: A9 1E LDA.B #$1E ; | Sprite to respawn = Lakitu CODE_01E7D7: 8D C1 18 STA.W RAM_SpriteToRespawn ; / Return01E7DA: 60 RTS ; Return CODE_01E7DB: A0 09 LDY.B #$09 CODE_01E7DD: B9 C8 14 LDA.W $14C8,Y CODE_01E7E0: C9 08 CMP.B #$08 CODE_01E7E2: D0 0E BNE CODE_01E7F2 CODE_01E7E4: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01E7E7: C9 1E CMP.B #$1E CODE_01E7E9: D0 07 BNE CODE_01E7F2 CODE_01E7EB: 98 TYA CODE_01E7EC: 9D 0E 16 STA.W $160E,X CODE_01E7EF: 4C 98 E8 JMP.W CODE_01E898 CODE_01E7F2: 88 DEY CODE_01E7F3: 10 E8 BPL CODE_01E7DD CODE_01E7F5: B5 C2 LDA RAM_SpriteState,X CODE_01E7F7: D0 47 BNE CODE_01E840 CODE_01E7F9: BD 1C 15 LDA.W $151C,X CODE_01E7FC: F0 06 BEQ CODE_01E804 CODE_01E7FE: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01E801: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01E804: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01E807: D0 34 BNE CODE_01E83D CODE_01E809: 20 F7 A7 JSR.W ProcessInteract CODE_01E80C: 90 2F BCC CODE_01E83D CODE_01E80E: A5 7D LDA RAM_MarioSpeedY CODE_01E810: 30 2B BMI CODE_01E83D CODE_01E812: F6 C2 INC RAM_SpriteState,X CODE_01E814: A9 11 LDA.B #$11 CODE_01E816: AC 7A 18 LDY.W RAM_OnYoshi CODE_01E819: F0 02 BEQ CODE_01E81D ADDR_01E81B: A9 22 LDA.B #$22 CODE_01E81D: 18 CLC CODE_01E81E: 65 D3 ADC $D3 CODE_01E820: 95 D8 STA RAM_SpriteYLo,X CODE_01E822: A5 D4 LDA $D4 CODE_01E824: 69 00 ADC.B #$00 CODE_01E826: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01E829: A5 D1 LDA $D1 CODE_01E82B: 95 E4 STA RAM_SpriteXLo,X CODE_01E82D: A5 D2 LDA $D2 CODE_01E82F: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01E832: A9 10 LDA.B #$10 CODE_01E834: 95 AA STA RAM_SpriteSpeedY,X CODE_01E836: 9D 1C 15 STA.W $151C,X CODE_01E839: A5 7B LDA RAM_MarioSpeedX CODE_01E83B: 95 B6 STA RAM_SpriteSpeedX,X CODE_01E83D: 4C CA E8 JMP.W LakituCloudGfx CODE_01E840: 20 CA E8 JSR.W LakituCloudGfx CODE_01E843: 8B PHB CODE_01E844: A9 02 LDA.B #$02 CODE_01E846: 48 PHA CODE_01E847: AB PLB CODE_01E848: 22 14 D2 02 JSL.L CODE_02D214 CODE_01E84C: AB PLB CODE_01E84D: B5 AA LDA RAM_SpriteSpeedY,X CODE_01E84F: 18 CLC CODE_01E850: 69 03 ADC.B #$03 CODE_01E852: 85 7D STA RAM_MarioSpeedY CODE_01E854: A5 14 LDA RAM_FrameCounterB CODE_01E856: 4A LSR CODE_01E857: 4A LSR CODE_01E858: 4A LSR CODE_01E859: 29 07 AND.B #$07 CODE_01E85B: A8 TAY CODE_01E85C: AD 7A 18 LDA.W RAM_OnYoshi CODE_01E85F: F0 05 BEQ CODE_01E866 ADDR_01E861: 98 TYA ADDR_01E862: 18 CLC ADDR_01E863: 69 08 ADC.B #$08 ADDR_01E865: A8 TAY CODE_01E866: A5 D1 LDA $D1 CODE_01E868: 95 E4 STA RAM_SpriteXLo,X CODE_01E86A: A5 D2 LDA $D2 CODE_01E86C: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01E86F: A5 D3 LDA $D3 CODE_01E871: 18 CLC CODE_01E872: 79 93 E7 ADC.W DATA_01E793,Y CODE_01E875: 95 D8 STA RAM_SpriteYLo,X CODE_01E877: A5 D4 LDA $D4 CODE_01E879: 69 00 ADC.B #$00 CODE_01E87B: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01E87E: 64 72 STZ RAM_IsFlying CODE_01E880: EE 71 14 INC.W $1471 CODE_01E883: EE C2 18 INC.W $18C2 CODE_01E886: A5 16 LDA $16 CODE_01E888: 29 80 AND.B #$80 CODE_01E88A: F0 0B BEQ Return01E897 CODE_01E88C: A9 C0 LDA.B #$C0 CODE_01E88E: 85 7D STA RAM_MarioSpeedY CODE_01E890: A9 10 LDA.B #$10 CODE_01E892: 9D 4C 15 STA.W RAM_DisableInter,X CODE_01E895: 74 C2 STZ RAM_SpriteState,X Return01E897: 60 RTS ; Return CODE_01E898: 5A PHY CODE_01E899: 20 8D E9 JSR.W CODE_01E98D CODE_01E89C: A5 14 LDA RAM_FrameCounterB CODE_01E89E: 4A LSR CODE_01E89F: 4A LSR CODE_01E8A0: 4A LSR CODE_01E8A1: 29 07 AND.B #$07 CODE_01E8A3: A8 TAY CODE_01E8A4: B9 93 E7 LDA.W DATA_01E793,Y CODE_01E8A7: 85 00 STA $00 CODE_01E8A9: 7A PLY CODE_01E8AA: B5 E4 LDA RAM_SpriteXLo,X CODE_01E8AC: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01E8AF: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01E8B2: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_01E8B5: B5 D8 LDA RAM_SpriteYLo,X CODE_01E8B7: 38 SEC CODE_01E8B8: E5 00 SBC $00 CODE_01E8BA: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_01E8BD: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01E8C0: E9 00 SBC.B #$00 CODE_01E8C2: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_01E8C5: A9 10 LDA.B #$10 CODE_01E8C7: 9D 4C 15 STA.W RAM_DisableInter,X LakituCloudGfx: 20 65 A3 JSR.W GetDrawInfoBnk1 CODE_01E8CD: BD 6C 18 LDA.W RAM_OffscreenVert,X CODE_01E8D0: D0 C5 BNE Return01E897 CODE_01E8D2: A9 F8 LDA.B #$F8 CODE_01E8D4: 85 0C STA $0C CODE_01E8D6: A9 FC LDA.B #$FC CODE_01E8D8: 85 0D STA $0D CODE_01E8DA: A9 00 LDA.B #$00 CODE_01E8DC: B4 C2 LDY RAM_SpriteState,X CODE_01E8DE: D0 02 BNE CODE_01E8E2 CODE_01E8E0: A9 30 LDA.B #$30 CODE_01E8E2: 85 0E STA $0E CODE_01E8E4: 8D B6 18 STA.W $18B6 CODE_01E8E7: 09 04 ORA.B #$04 CODE_01E8E9: 85 0F STA $0F CODE_01E8EB: A5 00 LDA $00 CODE_01E8ED: 8D B0 14 STA.W $14B0 CODE_01E8F0: A5 01 LDA $01 CODE_01E8F2: 8D B2 14 STA.W $14B2 CODE_01E8F5: A5 14 LDA RAM_FrameCounterB CODE_01E8F7: 4A LSR CODE_01E8F8: 4A LSR CODE_01E8F9: 29 0C AND.B #$0C CODE_01E8FB: 85 02 STA $02 CODE_01E8FD: A9 03 LDA.B #$03 CODE_01E8FF: 85 03 STA $03 CODE_01E901: A5 03 LDA $03 CODE_01E903: AA TAX CODE_01E904: B4 0C LDY $0C,X CODE_01E906: 18 CLC CODE_01E907: 65 02 ADC $02 CODE_01E909: AA TAX CODE_01E90A: BD 6F E7 LDA.W DATA_01E76F,X CODE_01E90D: 18 CLC CODE_01E90E: 6D B0 14 ADC.W $14B0 CODE_01E911: 99 00 03 STA.W OAM_DispX,Y CODE_01E914: BD 7F E7 LDA.W DATA_01E77F,X CODE_01E917: 18 CLC CODE_01E918: 6D B2 14 ADC.W $14B2 CODE_01E91B: 99 01 03 STA.W OAM_DispY,Y CODE_01E91E: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01E921: A9 60 LDA.B #$60 CODE_01E923: 99 02 03 STA.W OAM_Tile,Y CODE_01E926: BD 40 15 LDA.W $1540,X CODE_01E929: F0 0A BEQ CODE_01E935 CODE_01E92B: 4A LSR CODE_01E92C: 4A LSR CODE_01E92D: 4A LSR CODE_01E92E: AA TAX CODE_01E92F: BD 85 E9 LDA.W CloudTiles,X CODE_01E932: 99 02 03 STA.W OAM_Tile,Y CODE_01E935: A5 64 LDA $64 CODE_01E937: 99 03 03 STA.W OAM_Prop,Y CODE_01E93A: C8 INY CODE_01E93B: C8 INY CODE_01E93C: C8 INY CODE_01E93D: C8 INY CODE_01E93E: C6 03 DEC $03 CODE_01E940: 10 BF BPL CODE_01E901 CODE_01E942: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_01E945: A9 F8 LDA.B #$F8 CODE_01E947: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01E94A: A0 02 LDY.B #$02 CODE_01E94C: A9 01 LDA.B #$01 CODE_01E94E: 20 BB B7 JSR.W FinishOAMWriteRt CODE_01E951: AD B6 18 LDA.W $18B6 CODE_01E954: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01E957: A0 02 LDY.B #$02 CODE_01E959: A9 01 LDA.B #$01 CODE_01E95B: 20 BB B7 JSR.W FinishOAMWriteRt CODE_01E95E: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_01E961: D0 21 BNE Return01E984 CODE_01E963: AD B0 14 LDA.W $14B0 CODE_01E966: 18 CLC CODE_01E967: 69 04 ADC.B #$04 CODE_01E969: 8D 08 02 STA.W $0208 CODE_01E96C: AD B2 14 LDA.W $14B2 CODE_01E96F: 18 CLC CODE_01E970: 69 07 ADC.B #$07 CODE_01E972: 8D 09 02 STA.W $0209 CODE_01E975: A9 4D LDA.B #$4D CODE_01E977: 8D 0A 02 STA.W $020A CODE_01E97A: A9 39 LDA.B #$39 CODE_01E97C: 8D 0B 02 STA.W $020B CODE_01E97F: A9 00 LDA.B #$00 CODE_01E981: 8D 22 04 STA.W $0422 Return01E984: 60 RTS ; Return CloudTiles: .db $66,$64,$62,$60 DATA_01E989: .db $20,$E0 DATA_01E98B: .db $10,$F0 CODE_01E98D: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01E98F: D0 F3 BNE Return01E984 ; / CODE_01E991: 20 30 AD JSR.W SubHorizPos CODE_01E994: 98 TYA CODE_01E995: BC 0E 16 LDY.W $160E,X CODE_01E998: 99 7C 15 STA.W RAM_SpriteDir,Y CODE_01E99B: 85 00 STA $00 CODE_01E99D: A4 00 LDY $00 CODE_01E99F: AD BF 18 LDA.W $18BF CODE_01E9A2: F0 19 BEQ CODE_01E9BD CODE_01E9A4: 5A PHY CODE_01E9A5: DA PHX CODE_01E9A6: BD 0E 16 LDA.W $160E,X CODE_01E9A9: AA TAX CODE_01E9AA: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01E9AD: BD C8 14 LDA.W $14C8,X CODE_01E9B0: FA PLX CODE_01E9B1: C9 00 CMP.B #$00 CODE_01E9B3: D0 03 BNE CODE_01E9B8 CODE_01E9B5: 9E C8 14 STZ.W $14C8,X CODE_01E9B8: 7A PLY CODE_01E9B9: 98 TYA CODE_01E9BA: 49 01 EOR.B #$01 CODE_01E9BC: A8 TAY CODE_01E9BD: A5 13 LDA RAM_FrameCounter CODE_01E9BF: 29 01 AND.B #$01 CODE_01E9C1: D0 23 BNE CODE_01E9E6 CODE_01E9C3: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01E9C5: D9 89 E9 CMP.W DATA_01E989,Y CODE_01E9C8: F0 06 BEQ CODE_01E9D0 CODE_01E9CA: 18 CLC CODE_01E9CB: 79 B4 EB ADC.W DATA_01EBB4,Y CODE_01E9CE: 95 B6 STA RAM_SpriteSpeedX,X CODE_01E9D0: BD 34 15 LDA.W $1534,X CODE_01E9D3: 29 01 AND.B #$01 CODE_01E9D5: A8 TAY CODE_01E9D6: B5 AA LDA RAM_SpriteSpeedY,X CODE_01E9D8: 18 CLC CODE_01E9D9: 79 B4 EB ADC.W DATA_01EBB4,Y CODE_01E9DC: 95 AA STA RAM_SpriteSpeedY,X CODE_01E9DE: D9 8B E9 CMP.W DATA_01E98B,Y CODE_01E9E1: D0 03 BNE CODE_01E9E6 CODE_01E9E3: FE 34 15 INC.W $1534,X CODE_01E9E6: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01E9E8: 48 PHA CODE_01E9E9: AC BF 18 LDY.W $18BF CODE_01E9EC: D0 0B BNE CODE_01E9F9 CODE_01E9EE: AD BD 17 LDA.W $17BD CODE_01E9F1: 0A ASL CODE_01E9F2: 0A ASL CODE_01E9F3: 0A ASL CODE_01E9F4: 18 CLC CODE_01E9F5: 75 B6 ADC RAM_SpriteSpeedX,X CODE_01E9F7: 95 B6 STA RAM_SpriteSpeedX,X CODE_01E9F9: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01E9FC: 68 PLA CODE_01E9FD: 95 B6 STA RAM_SpriteSpeedX,X CODE_01E9FF: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01EA02: BC 0E 16 LDY.W $160E,X CODE_01EA05: A5 13 LDA RAM_FrameCounter CODE_01EA07: 29 7F AND.B #$7F CODE_01EA09: 19 1C 15 ORA.W $151C,Y CODE_01EA0C: D0 08 BNE Return01EA16 CODE_01EA0E: A9 20 LDA.B #$20 CODE_01EA10: 99 58 15 STA.W $1558,Y CODE_01EA13: 20 21 EA JSR.W CODE_01EA21 Return01EA16: 60 RTS ; Return DATA_01EA17: .db $10,$F0 CODE_01EA19: 8B PHB ; Wrapper CODE_01EA1A: 4B PHK CODE_01EA1B: AB PLB CODE_01EA1C: 20 21 EA JSR.W CODE_01EA21 CODE_01EA1F: AB PLB Return01EA20: 6B RTL ; Return CODE_01EA21: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_01EA25: 30 48 BMI Return01EA6F ; / CODE_01EA27: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_01EA29: 99 C8 14 STA.W $14C8,Y ; / CODE_01EA2C: AD AE 14 LDA.W RAM_SilverPowTimer CODE_01EA2F: C9 01 CMP.B #$01 CODE_01EA31: A9 14 LDA.B #$14 CODE_01EA33: 90 02 BCC CODE_01EA37 CODE_01EA35: A9 21 LDA.B #$21 CODE_01EA37: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_01EA3A: B5 E4 LDA RAM_SpriteXLo,X CODE_01EA3C: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01EA3F: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01EA42: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_01EA45: B5 D8 LDA RAM_SpriteYLo,X CODE_01EA47: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_01EA4A: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01EA4D: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_01EA50: DA PHX CODE_01EA51: BB TYX CODE_01EA52: 22 D2 F7 07 JSL.L InitSpriteTables CODE_01EA56: A9 D8 LDA.B #$D8 CODE_01EA58: 95 AA STA RAM_SpriteSpeedY,X CODE_01EA5A: 20 30 AD JSR.W SubHorizPos CODE_01EA5D: B9 17 EA LDA.W DATA_01EA17,Y CODE_01EA60: 95 B6 STA RAM_SpriteSpeedX,X CODE_01EA62: B5 9E LDA RAM_SpriteNum,X CODE_01EA64: C9 21 CMP.B #$21 CODE_01EA66: D0 05 BNE CODE_01EA6D CODE_01EA68: A9 02 LDA.B #$02 CODE_01EA6A: 9D F6 15 STA.W RAM_SpritePal,X CODE_01EA6D: 9B TXY CODE_01EA6E: FA PLX Return01EA6F: 60 RTS ; Return CODE_01EA70: AE E2 18 LDX.W $18E2 CODE_01EA73: F0 19 BEQ Return01EA8E CODE_01EA75: 9C 8B 18 STZ.W $188B CODE_01EA78: 9C 1C 19 STZ.W $191C CODE_01EA7B: AD E9 15 LDA.W $15E9 CODE_01EA7E: 48 PHA CODE_01EA7F: CA DEX CODE_01EA80: 8E E9 15 STX.W $15E9 CODE_01EA83: 8B PHB CODE_01EA84: 4B PHK CODE_01EA85: AB PLB CODE_01EA86: 20 8F EA JSR.W CODE_01EA8F CODE_01EA89: AB PLB CODE_01EA8A: 68 PLA CODE_01EA8B: 8D E9 15 STA.W $15E9 Return01EA8E: 6B RTL ; Return CODE_01EA8F: AD E8 18 LDA.W $18E8 CODE_01EA92: 0D C6 13 ORA.W $13C6 CODE_01EA95: F0 03 BEQ CODE_01EA9A CODE_01EA97: 4C 48 EB JMP.W CODE_01EB48 CODE_01EA9A: 9C DC 18 STZ.W $18DC CODE_01EA9D: B5 C2 LDA RAM_SpriteState,X CODE_01EA9F: C9 02 CMP.B #$02 CODE_01EAA1: 90 04 BCC CODE_01EAA7 CODE_01EAA3: A9 30 LDA.B #$30 CODE_01EAA5: 80 0B BRA CODE_01EAB2 CODE_01EAA7: A0 00 LDY.B #$00 CODE_01EAA9: A5 7B LDA RAM_MarioSpeedX ; \ Branch if Mario X speed == 0 CODE_01EAAB: F0 32 BEQ CODE_01EADF ; / CODE_01EAAD: 10 03 BPL CODE_01EAB2 ; \ If Mario X speed is positive, CODE_01EAAF: 49 FF EOR.B #$FF ; | invert it CODE_01EAB1: 1A INC A ; / CODE_01EAB2: 4A LSR ; \ Y = Upper 4 bits of X speed CODE_01EAB3: 4A LSR ; | CODE_01EAB4: 4A LSR ; | CODE_01EAB5: 4A LSR ; | CODE_01EAB6: A8 TAY ; / CODE_01EAB7: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01EAB9: D0 15 BNE CODE_01EAD0 ; / CODE_01EABB: DE 70 15 DEC.W $1570,X ; \ If time to change frame... CODE_01EABE: 10 10 BPL CODE_01EAD0 ; | CODE_01EAC0: B9 F5 ED LDA.W DATA_01EDF5,Y ; | Set time to display new frame (based on Mario's X speed) CODE_01EAC3: 9D 70 15 STA.W $1570,X ; | CODE_01EAC6: CE AD 18 DEC.W $18AD ; | Set index to new frame, $18AD = ($18AD-1) % 3 CODE_01EAC9: 10 05 BPL CODE_01EAD0 ; | CODE_01EACB: A9 02 LDA.B #$02 ; | CODE_01EACD: 8D AD 18 STA.W $18AD ; / CODE_01EAD0: AC AD 18 LDY.W $18AD ; \ Y = frame to show CODE_01EAD3: B9 EE ED LDA.W YoshiWalkFrames,Y ; | CODE_01EAD6: A8 TAY ; / CODE_01EAD7: B5 C2 LDA RAM_SpriteState,X CODE_01EAD9: C9 02 CMP.B #$02 CODE_01EADB: B0 51 BCS CODE_01EB2E CODE_01EADD: 80 03 BRA CODE_01EAE2 CODE_01EADF: 9E 70 15 STZ.W $1570,X CODE_01EAE2: A5 72 LDA RAM_IsFlying CODE_01EAE4: F0 0A BEQ CODE_01EAF0 CODE_01EAE6: A0 02 LDY.B #$02 CODE_01EAE8: A5 7D LDA RAM_MarioSpeedY CODE_01EAEA: 10 04 BPL CODE_01EAF0 CODE_01EAEC: A0 05 LDY.B #$05 CODE_01EAEE: 80 00 BRA CODE_01EAF0 CODE_01EAF0: BD AC 15 LDA.W $15AC,X CODE_01EAF3: F0 02 BEQ CODE_01EAF7 CODE_01EAF5: A0 03 LDY.B #$03 CODE_01EAF7: A5 72 LDA RAM_IsFlying CODE_01EAF9: D0 26 BNE CODE_01EB21 CODE_01EAFB: BD 1C 15 LDA.W $151C,X CODE_01EAFE: F0 0C BEQ CODE_01EB0C CODE_01EB00: A0 07 LDY.B #$07 CODE_01EB02: A5 15 LDA RAM_ControllerA CODE_01EB04: 29 08 AND.B #$08 CODE_01EB06: F0 02 BEQ CODE_01EB0A CODE_01EB08: A0 06 LDY.B #$06 CODE_01EB0A: 80 15 BRA CODE_01EB21 CODE_01EB0C: AD AF 18 LDA.W $18AF CODE_01EB0F: F0 05 BEQ CODE_01EB16 CODE_01EB11: CE AF 18 DEC.W $18AF CODE_01EB14: 80 06 BRA CODE_01EB1C CODE_01EB16: A5 15 LDA RAM_ControllerA CODE_01EB18: 29 04 AND.B #$04 CODE_01EB1A: F0 05 BEQ CODE_01EB21 CODE_01EB1C: A0 04 LDY.B #$04 CODE_01EB1E: EE DC 18 INC.W $18DC CODE_01EB21: B5 C2 LDA RAM_SpriteState,X CODE_01EB23: C9 01 CMP.B #$01 CODE_01EB25: F0 07 BEQ CODE_01EB2E CODE_01EB27: BD 1C 15 LDA.W $151C,X CODE_01EB2A: D0 02 BNE CODE_01EB2E CODE_01EB2C: A0 04 LDY.B #$04 CODE_01EB2E: AD 7A 18 LDA.W RAM_OnYoshi CODE_01EB31: F0 11 BEQ CODE_01EB44 CODE_01EB33: AD 19 14 LDA.W RAM_YoshiInPipe CODE_01EB36: C9 01 CMP.B #$01 CODE_01EB38: D0 0A BNE CODE_01EB44 CODE_01EB3A: A5 13 LDA RAM_FrameCounter CODE_01EB3C: 29 08 AND.B #$08 CODE_01EB3E: 4A LSR CODE_01EB3F: 4A LSR CODE_01EB40: 4A LSR CODE_01EB41: 69 08 ADC.B #$08 CODE_01EB43: A8 TAY CODE_01EB44: 98 TYA CODE_01EB45: 9D 02 16 STA.W $1602,X CODE_01EB48: B5 C2 LDA RAM_SpriteState,X CODE_01EB4A: C9 01 CMP.B #$01 CODE_01EB4C: D0 49 BNE CODE_01EB97 CODE_01EB4E: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01EB51: A5 94 LDA RAM_MarioXPos CODE_01EB53: 18 CLC CODE_01EB54: 79 F1 ED ADC.W YoshiPositionX,Y CODE_01EB57: 95 E4 STA RAM_SpriteXLo,X CODE_01EB59: A5 95 LDA RAM_MarioXPosHi CODE_01EB5B: 79 F3 ED ADC.W DATA_01EDF3,Y CODE_01EB5E: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01EB61: BC 02 16 LDY.W $1602,X CODE_01EB64: A5 96 LDA RAM_MarioYPos CODE_01EB66: 18 CLC CODE_01EB67: 69 10 ADC.B #$10 CODE_01EB69: 95 D8 STA RAM_SpriteYLo,X CODE_01EB6B: A5 97 LDA RAM_MarioYPosHi CODE_01EB6D: 69 00 ADC.B #$00 CODE_01EB6F: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01EB72: B9 E4 ED LDA.W DATA_01EDE4,Y CODE_01EB75: 8D 8B 18 STA.W $188B CODE_01EB78: A9 01 LDA.B #$01 CODE_01EB7A: BC 02 16 LDY.W $1602,X CODE_01EB7D: C0 03 CPY.B #$03 CODE_01EB7F: D0 01 BNE BackOnYoshi CODE_01EB81: 1A INC A BackOnYoshi: 8D 7A 18 STA.W RAM_OnYoshi CODE_01EB85: A9 01 LDA.B #$01 CODE_01EB87: 8D C1 0D STA.W RAM_OWHasYoshi CODE_01EB8A: BD F6 15 LDA.W RAM_SpritePal,X ; \ $13C7 = Yoshi palette CODE_01EB8D: 8D C7 13 STA.W RAM_YoshiColor ; / CODE_01EB90: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01EB93: 49 01 EOR.B #$01 CODE_01EB95: 85 76 STA RAM_MarioDirection CODE_01EB97: A5 64 LDA $64 CODE_01EB99: 48 PHA CODE_01EB9A: AD 7A 18 LDA.W RAM_OnYoshi CODE_01EB9D: F0 0E BEQ CODE_01EBAD CODE_01EB9F: AD 19 14 LDA.W RAM_YoshiInPipe CODE_01EBA2: F0 09 BEQ CODE_01EBAD CODE_01EBA4: AD 05 14 LDA.W $1405 CODE_01EBA7: D0 07 BNE CODE_01EBB0 CODE_01EBA9: A9 10 LDA.B #$10 CODE_01EBAB: 85 64 STA $64 CODE_01EBAD: 20 61 EE JSR.W HandleOffYoshi CODE_01EBB0: 68 PLA CODE_01EBB1: 85 64 STA $64 Return01EBB3: 60 RTS ; Return DATA_01EBB4: .db $01,$FF,$01,$00,$FF,$00,$20,$E0 .db $0A,$0E DATA_01EBBE: .db $E8,$18 DATA_01EBC0: .db $10,$F0 GrowingAniSequence: .db $0C,$0B,$0C,$0B,$0A,$0B,$0A,$0B Yoshi: 9C FB 13 STZ.W $13FB CODE_01EBCD: AD 1E 14 LDA.W RAM_YoshiHasWings ; \ $1410 = winged Yoshi flag CODE_01EBD0: 8D 10 14 STA.W RAM_YoshiHasWingsB ; / CODE_01EBD3: 9C 1E 14 STZ.W RAM_YoshiHasWings ; Clear real winged Yoshi flag CODE_01EBD6: 9C E7 18 STZ.W RAM_YoshiHasStomp ; Clear stomp Yoshi flag CODE_01EBD9: 9C 1B 19 STZ.W $191B CODE_01EBDC: BD C8 14 LDA.W $14C8,X ; \ Branch if normal Yoshi status CODE_01EBDF: C9 08 CMP.B #$08 ; | CODE_01EBE1: F0 06 BEQ CODE_01EBE9 ; / CODE_01EBE3: 9C C1 0D STZ.W RAM_OWHasYoshi ; Mario won't have Yoshi when returning to OW CODE_01EBE6: 4C 61 EE JMP.W HandleOffYoshi CODE_01EBE9: 8A TXA CODE_01EBEA: 1A INC A CODE_01EBEB: 8D DF 18 STA.W $18DF CODE_01EBEE: AD 7A 18 LDA.W RAM_OnYoshi CODE_01EBF1: D0 11 BNE CODE_01EC04 CODE_01EBF3: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01EBF6: BD C8 14 LDA.W $14C8,X CODE_01EBF9: D0 09 BNE CODE_01EC04 CODE_01EBFB: AD 95 1B LDA.W $1B95 CODE_01EBFE: D0 03 BNE Return01EC03 CODE_01EC00: 9C C1 0D STZ.W RAM_OWHasYoshi Return01EC03: 60 RTS ; Return CODE_01EC04: AD 7A 18 LDA.W RAM_OnYoshi CODE_01EC07: F0 05 BEQ CODE_01EC0E CODE_01EC09: AD 19 14 LDA.W RAM_YoshiInPipe CODE_01EC0C: D0 53 BNE CODE_01EC61 CODE_01EC0E: AD DE 18 LDA.W $18DE CODE_01EC11: D0 4E BNE CODE_01EC61 CODE_01EC13: AD E8 18 LDA.W $18E8 CODE_01EC16: F0 34 BEQ CODE_01EC4C CODE_01EC18: CE E8 18 DEC.W $18E8 CODE_01EC1B: 85 9D STA RAM_SpritesLocked CODE_01EC1D: 8D FB 13 STA.W $13FB CODE_01EC20: C9 01 CMP.B #$01 CODE_01EC22: D0 1C BNE CODE_01EC40 CODE_01EC24: 64 9D STZ RAM_SpritesLocked CODE_01EC26: 9C FB 13 STZ.W $13FB CODE_01EC29: AC B3 0D LDY.W $0DB3 CODE_01EC2C: B9 11 1F LDA.W $1F11,Y CODE_01EC2F: 3A DEC A CODE_01EC30: 0D F8 0E ORA.W $0EF8 CODE_01EC33: 0D 09 01 ORA.W $0109 CODE_01EC36: D0 08 BNE CODE_01EC40 CODE_01EC38: EE F8 0E INC.W $0EF8 CODE_01EC3B: A9 03 LDA.B #$03 CODE_01EC3D: 8D 26 14 STA.W $1426 CODE_01EC40: 3A DEC A CODE_01EC41: 4A LSR CODE_01EC42: 4A LSR CODE_01EC43: 4A LSR CODE_01EC44: A8 TAY CODE_01EC45: B9 C2 EB LDA.W GrowingAniSequence,Y ; \ Set image to appropriate frame CODE_01EC48: 9D 02 16 STA.W $1602,X ; / Return01EC4B: 60 RTS ; Return CODE_01EC4C: A5 9D LDA RAM_SpritesLocked CODE_01EC4E: F0 11 BEQ CODE_01EC61 CODE_01EC50: AC 7A 18 LDY.W RAM_OnYoshi CODE_01EC53: F0 05 BEQ Return01EC5A CODE_01EC55: A0 06 LDY.B #$06 CODE_01EC57: 8C 8B 18 STY.W $188B Return01EC5A: 60 RTS ; Return DATA_01EC5B: .db $F0,$10 DATA_01EC5D: .db $FA,$06 DATA_01EC5F: .db $FF,$00 CODE_01EC61: A5 72 LDA RAM_IsFlying CODE_01EC63: D0 05 BNE CODE_01EC6A CODE_01EC65: AD DE 18 LDA.W $18DE CODE_01EC68: D0 03 BNE CODE_01EC6D CODE_01EC6A: 4C E1 EC JMP.W CODE_01ECE1 CODE_01EC6D: CE DE 18 DEC.W $18DE CODE_01EC70: C9 01 CMP.B #$01 CODE_01EC72: D0 04 BNE CODE_01EC78 CODE_01EC74: 64 9D STZ RAM_SpritesLocked CODE_01EC76: 80 F2 BRA CODE_01EC6A CODE_01EC78: EE FB 13 INC.W $13FB CODE_01EC7B: 20 50 EC JSR.W CODE_01EC50 CODE_01EC7E: 84 9D STY RAM_SpritesLocked CODE_01EC80: C9 02 CMP.B #$02 CODE_01EC82: D0 06 BNE Return01EC8A CODE_01EC84: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_01EC88: 10 01 BPL CODE_01EC8B ; | Return01EC8A: 60 RTS ; / CODE_01EC8B: A9 09 LDA.B #$09 ; \ Sprite status = Carryable CODE_01EC8D: 99 C8 14 STA.W $14C8,Y ; / CODE_01EC90: A9 2C LDA.B #$2C CODE_01EC92: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_01EC95: 5A PHY CODE_01EC96: 5A PHY CODE_01EC97: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01EC9A: 84 0F STY $0F CODE_01EC9C: B5 E4 LDA RAM_SpriteXLo,X CODE_01EC9E: 18 CLC CODE_01EC9F: 79 5D EC ADC.W DATA_01EC5D,Y CODE_01ECA2: 7A PLY CODE_01ECA3: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01ECA6: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01ECA9: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01ECAC: 79 5F EC ADC.W DATA_01EC5F,Y CODE_01ECAF: 7A PLY CODE_01ECB0: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_01ECB3: B5 D8 LDA RAM_SpriteYLo,X CODE_01ECB5: 18 CLC CODE_01ECB6: 69 08 ADC.B #$08 CODE_01ECB8: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_01ECBB: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01ECBE: 69 00 ADC.B #$00 CODE_01ECC0: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_01ECC3: DA PHX CODE_01ECC4: BB TYX CODE_01ECC5: 22 D2 F7 07 JSL.L InitSpriteTables CODE_01ECC9: A4 0F LDY $0F CODE_01ECCB: B9 5B EC LDA.W DATA_01EC5B,Y CODE_01ECCE: 95 B6 STA RAM_SpriteSpeedX,X CODE_01ECD0: A9 F0 LDA.B #$F0 CODE_01ECD2: 95 AA STA RAM_SpriteSpeedY,X CODE_01ECD4: A9 10 LDA.B #$10 CODE_01ECD6: 9D 4C 15 STA.W RAM_DisableInter,X CODE_01ECD9: AD DA 18 LDA.W $18DA CODE_01ECDC: 9D 1C 15 STA.W $151C,X CODE_01ECDF: FA PLX Return01ECE0: 60 RTS ; Return CODE_01ECE1: B5 C2 LDA RAM_SpriteState,X CODE_01ECE3: C9 01 CMP.B #$01 CODE_01ECE5: D0 03 BNE CODE_01ECEA CODE_01ECE7: 4C 70 ED JMP.W CODE_01ED70 CODE_01ECEA: 20 32 90 JSR.W SubUpdateSprPos CODE_01ECED: 20 0E 80 JSR.W IsOnGround CODE_01ECF0: F0 0F BEQ CODE_01ED01 CODE_01ECF2: 20 04 9A JSR.W SetSomeYSpeed?? CODE_01ECF5: B5 C2 LDA RAM_SpriteState,X CODE_01ECF7: C9 02 CMP.B #$02 CODE_01ECF9: B0 06 BCS CODE_01ED01 CODE_01ECFB: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_01ECFD: A9 F0 LDA.B #$F0 CODE_01ECFF: 95 AA STA RAM_SpriteSpeedY,X CODE_01ED01: 20 15 9A JSR.W UpdateDirection CODE_01ED04: 20 08 80 JSR.W IsTouchingObjSide CODE_01ED07: F0 03 BEQ CODE_01ED0C CODE_01ED09: 20 A2 90 JSR.W CODE_0190A2 CODE_01ED0C: A9 04 LDA.B #$04 CODE_01ED0E: 18 CLC CODE_01ED0F: 75 E4 ADC RAM_SpriteXLo,X CODE_01ED11: 85 04 STA $04 CODE_01ED13: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01ED16: 69 00 ADC.B #$00 CODE_01ED18: 85 0A STA $0A CODE_01ED1A: A9 13 LDA.B #$13 CODE_01ED1C: 18 CLC CODE_01ED1D: 75 D8 ADC RAM_SpriteYLo,X CODE_01ED1F: 85 05 STA $05 CODE_01ED21: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01ED24: 69 00 ADC.B #$00 CODE_01ED26: 85 0B STA $0B CODE_01ED28: A9 08 LDA.B #$08 CODE_01ED2A: 85 07 STA $07 CODE_01ED2C: 85 06 STA $06 CODE_01ED2E: 22 64 B6 03 JSL.L GetMarioClipping CODE_01ED32: 22 2B B7 03 JSL.L CheckForContact CODE_01ED36: 90 38 BCC CODE_01ED70 CODE_01ED38: A5 72 LDA RAM_IsFlying CODE_01ED3A: F0 34 BEQ CODE_01ED70 CODE_01ED3C: AD 70 14 LDA.W $1470 ; \ Branch if carrying an enemy... CODE_01ED3F: 0D 7A 18 ORA.W RAM_OnYoshi ; | ...or if on Yoshi CODE_01ED42: D0 2C BNE CODE_01ED70 ; / CODE_01ED44: A5 7D LDA RAM_MarioSpeedY ; \ Branch if upward speed CODE_01ED46: 30 28 BMI CODE_01ED70 ; / SetOnYoshi: A0 01 LDY.B #$01 CODE_01ED4A: 20 CE ED JSR.W CODE_01EDCE CODE_01ED4D: 64 7B STZ RAM_MarioSpeedX ; \ Mario's speed = 0 CODE_01ED4F: 64 7D STZ RAM_MarioSpeedY ; / CODE_01ED51: A9 0C LDA.B #$0C CODE_01ED53: 8D AF 18 STA.W $18AF CODE_01ED56: A9 01 LDA.B #$01 CODE_01ED58: 95 C2 STA RAM_SpriteState,X CODE_01ED5A: A9 02 LDA.B #$02 ; \ Play sound effect CODE_01ED5C: 8D FA 1D STA.W $1DFA ; / CODE_01ED5F: A9 1F LDA.B #$1F ; \ Play sound effect CODE_01ED61: 8D FC 1D STA.W $1DFC ; / CODE_01ED64: 22 B0 8B 02 JSL.L DisabledAddSmokeRt CODE_01ED68: A9 20 LDA.B #$20 CODE_01ED6A: 9D 3E 16 STA.W $163E,X CODE_01ED6D: EE 97 16 INC.W $1697 CODE_01ED70: B5 C2 LDA RAM_SpriteState,X CODE_01ED72: C9 01 CMP.B #$01 CODE_01ED74: D0 55 BNE Return01EDCB CODE_01ED76: 20 22 F6 JSR.W CODE_01F622 CODE_01ED79: A5 15 LDA RAM_ControllerA CODE_01ED7B: 29 03 AND.B #$03 CODE_01ED7D: F0 16 BEQ CODE_01ED95 CODE_01ED7F: 3A DEC A CODE_01ED80: DD 7C 15 CMP.W RAM_SpriteDir,X CODE_01ED83: F0 10 BEQ CODE_01ED95 CODE_01ED85: BD AC 15 LDA.W $15AC,X CODE_01ED88: 1D 1C 15 ORA.W $151C,X CODE_01ED8B: 0D DC 18 ORA.W $18DC CODE_01ED8E: D0 05 BNE CODE_01ED95 CODE_01ED90: A9 10 LDA.B #$10 ; \ Set turning timer CODE_01ED92: 9D AC 15 STA.W $15AC,X ; / CODE_01ED95: AD F3 13 LDA.W $13F3 CODE_01ED98: D0 04 BNE CODE_01ED9E CODE_01ED9A: 24 18 BIT $18 CODE_01ED9C: 10 2D BPL Return01EDCB CODE_01ED9E: A9 02 LDA.B #$02 CODE_01EDA0: 9D E2 1F STA.W $1FE2,X CODE_01EDA3: 74 C2 STZ RAM_SpriteState,X CODE_01EDA5: A9 03 LDA.B #$03 ; \ Play sound effect CODE_01EDA7: 8D FA 1D STA.W $1DFA ; / CODE_01EDAA: 9C C1 0D STZ.W RAM_OWHasYoshi CODE_01EDAD: A5 7B LDA RAM_MarioSpeedX CODE_01EDAF: 95 B6 STA RAM_SpriteSpeedX,X CODE_01EDB1: A9 A0 LDA.B #$A0 CODE_01EDB3: A4 72 LDY RAM_IsFlying CODE_01EDB5: D0 0A BNE CODE_01EDC1 CODE_01EDB7: 20 30 AD JSR.W SubHorizPos CODE_01EDBA: B9 C0 EB LDA.W DATA_01EBC0,Y CODE_01EDBD: 85 7B STA RAM_MarioSpeedX CODE_01EDBF: A9 C0 LDA.B #$C0 CODE_01EDC1: 85 7D STA RAM_MarioSpeedY CODE_01EDC3: 9C 7A 18 STZ.W RAM_OnYoshi CODE_01EDC6: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01EDC8: 20 CC ED JSR.W CODE_01EDCC Return01EDCB: 60 RTS ; Return CODE_01EDCC: A0 00 LDY.B #$00 CODE_01EDCE: B5 D8 LDA RAM_SpriteYLo,X CODE_01EDD0: 38 SEC CODE_01EDD1: F9 E2 ED SBC.W DATA_01EDE2,Y CODE_01EDD4: 85 96 STA RAM_MarioYPos CODE_01EDD6: 85 D3 STA $D3 CODE_01EDD8: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01EDDB: E9 00 SBC.B #$00 CODE_01EDDD: 85 97 STA RAM_MarioYPosHi CODE_01EDDF: 85 D4 STA $D4 Return01EDE1: 60 RTS ; Return DATA_01EDE2: .db $04,$10 DATA_01EDE4: .db $06,$05,$05,$05,$0A,$05,$05,$0A .db $0A,$0B YoshiWalkFrames: .db $02,$01,$00 YoshiPositionX: .db $02,$FE DATA_01EDF3: .db $00,$FF DATA_01EDF5: .db $03,$02,$01,$00 YoshiHeadTiles: .db $00,$01,$02,$03,$02,$10,$04,$05 .db $00,$00,$FF,$FF,$00 YoshiBodyTiles: .db $06,$07,$08,$09,$0A,$0B,$06,$0C .db $0A,$0D,$0E,$0F,$0C YoshiHeadDispX: .db $0A,$09,$0A,$06,$0A,$0A,$0A,$10 .db $0A,$0A,$00,$00,$0A,$F6,$F7,$F6 .db $FA,$F6,$F6,$F6,$F0,$F6,$F6,$00 .db $00,$F6 DATA_01EE2D: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$00 .db $00,$FF YoshiPositionY: .db $00,$01,$01,$00,$04,$00,$00,$04 .db $03,$03,$00,$00,$04 YoshiHeadDispY: .db $00,$00,$01,$00,$00,$00,$00,$08 .db $00,$00,$00,$00,$05 HandleOffYoshi: BD 02 16 LDA.W $1602,X CODE_01EE64: 48 PHA CODE_01EE65: BC AC 15 LDY.W $15AC,X CODE_01EE68: C0 08 CPY.B #$08 CODE_01EE6A: D0 11 BNE CODE_01EE7D CODE_01EE6C: AD 19 14 LDA.W RAM_YoshiInPipe CODE_01EE6F: 05 9D ORA RAM_SpritesLocked CODE_01EE71: D0 0A BNE CODE_01EE7D CODE_01EE73: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01EE76: 85 76 STA RAM_MarioDirection CODE_01EE78: 49 01 EOR.B #$01 CODE_01EE7A: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01EE7D: AD 19 14 LDA.W RAM_YoshiInPipe CODE_01EE80: 30 08 BMI CODE_01EE8A CODE_01EE82: C9 02 CMP.B #$02 CODE_01EE84: D0 04 BNE CODE_01EE8A CODE_01EE86: 1A INC A CODE_01EE87: 9D 02 16 STA.W $1602,X CODE_01EE8A: 20 18 EF JSR.W CODE_01EF18 CODE_01EE8D: A4 0E LDY $0E CODE_01EE8F: B9 02 03 LDA.W OAM_Tile,Y CODE_01EE92: 85 00 STA $00 CODE_01EE94: 64 01 STZ $01 CODE_01EE96: A9 06 LDA.B #$06 CODE_01EE98: 99 02 03 STA.W OAM_Tile,Y CODE_01EE9B: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01EE9E: B9 02 03 LDA.W OAM_Tile,Y CODE_01EEA1: 85 02 STA $02 CODE_01EEA3: 64 03 STZ $03 CODE_01EEA5: A9 08 LDA.B #$08 CODE_01EEA7: 99 02 03 STA.W OAM_Tile,Y CODE_01EEAA: C2 20 REP #$20 ; Accum (16 bit) CODE_01EEAC: A5 00 LDA $00 CODE_01EEAE: 0A ASL CODE_01EEAF: 0A ASL CODE_01EEB0: 0A ASL CODE_01EEB1: 0A ASL CODE_01EEB2: 0A ASL CODE_01EEB3: 18 CLC CODE_01EEB4: 69 00 85 ADC.W #$8500 CODE_01EEB7: 8D 8B 0D STA.W $0D8B CODE_01EEBA: 18 CLC CODE_01EEBB: 69 00 02 ADC.W #$0200 CODE_01EEBE: 8D 95 0D STA.W $0D95 CODE_01EEC1: A5 02 LDA $02 CODE_01EEC3: 0A ASL CODE_01EEC4: 0A ASL CODE_01EEC5: 0A ASL CODE_01EEC6: 0A ASL CODE_01EEC7: 0A ASL CODE_01EEC8: 18 CLC CODE_01EEC9: 69 00 85 ADC.W #$8500 CODE_01EECC: 8D 8D 0D STA.W $0D8D CODE_01EECF: 18 CLC CODE_01EED0: 69 00 02 ADC.W #$0200 CODE_01EED3: 8D 97 0D STA.W $0D97 CODE_01EED6: E2 20 SEP #$20 ; Accum (8 bit) CODE_01EED8: 68 PLA CODE_01EED9: 9D 02 16 STA.W $1602,X CODE_01EEDC: 20 A2 F0 JSR.W CODE_01F0A2 CODE_01EEDF: AD 10 14 LDA.W RAM_YoshiHasWingsB ; \ Return if Yoshi doesn't have wings CODE_01EEE2: C9 02 CMP.B #$02 ; | CODE_01EEE4: 90 31 BCC Return01EF17 ; / CODE_01EEE6: AD 7A 18 LDA.W RAM_OnYoshi CODE_01EEE9: F0 28 BEQ CODE_01EF13 CODE_01EEEB: A5 72 LDA RAM_IsFlying CODE_01EEED: D0 11 BNE CODE_01EF00 CODE_01EEEF: A5 7B LDA RAM_MarioSpeedX CODE_01EEF1: 10 03 BPL CODE_01EEF6 CODE_01EEF3: 49 FF EOR.B #$FF CODE_01EEF5: 1A INC A CODE_01EEF6: C9 28 CMP.B #$28 CODE_01EEF8: A9 01 LDA.B #$01 CODE_01EEFA: B0 17 BCS CODE_01EF13 CODE_01EEFC: A9 00 LDA.B #$00 CODE_01EEFE: 80 13 BRA CODE_01EF13 CODE_01EF00: A5 14 LDA RAM_FrameCounterB CODE_01EF02: 4A LSR CODE_01EF03: 4A LSR CODE_01EF04: A4 7D LDY RAM_MarioSpeedY CODE_01EF06: 30 02 BMI CODE_01EF0A CODE_01EF08: 4A LSR CODE_01EF09: 4A LSR CODE_01EF0A: 29 01 AND.B #$01 CODE_01EF0C: D0 05 BNE CODE_01EF13 CODE_01EF0E: A0 21 LDY.B #$21 ; \ Play sound effect CODE_01EF10: 8C FC 1D STY.W $1DFC ; / CODE_01EF13: 22 23 BB 02 JSL.L CODE_02BB23 Return01EF17: 60 RTS ; Return CODE_01EF18: BC 02 16 LDY.W $1602,X CODE_01EF1B: 8C 5E 18 STY.W $185E CODE_01EF1E: B9 F9 ED LDA.W YoshiHeadTiles,Y CODE_01EF21: 9D 02 16 STA.W $1602,X CODE_01EF24: 85 0F STA $0F CODE_01EF26: B5 D8 LDA RAM_SpriteYLo,X CODE_01EF28: 48 PHA CODE_01EF29: 18 CLC CODE_01EF2A: 79 47 EE ADC.W YoshiPositionY,Y CODE_01EF2D: 95 D8 STA RAM_SpriteYLo,X CODE_01EF2F: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01EF32: 48 PHA CODE_01EF33: 69 00 ADC.B #$00 CODE_01EF35: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01EF38: 98 TYA CODE_01EF39: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01EF3C: F0 03 BEQ CODE_01EF41 CODE_01EF3E: 18 CLC CODE_01EF3F: 69 0D ADC.B #$0D CODE_01EF41: A8 TAY CODE_01EF42: B5 E4 LDA RAM_SpriteXLo,X CODE_01EF44: 48 PHA CODE_01EF45: 18 CLC CODE_01EF46: 79 13 EE ADC.W YoshiHeadDispX,Y CODE_01EF49: 95 E4 STA RAM_SpriteXLo,X CODE_01EF4B: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01EF4E: 48 PHA CODE_01EF4F: 79 2D EE ADC.W DATA_01EE2D,Y CODE_01EF52: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01EF55: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_01EF58: 48 PHA CODE_01EF59: BD AC 15 LDA.W $15AC,X CODE_01EF5C: 0D 19 14 ORA.W RAM_YoshiInPipe CODE_01EF5F: F0 05 BEQ CODE_01EF66 CODE_01EF61: A9 04 LDA.B #$04 CODE_01EF63: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01EF66: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_01EF69: 85 0E STA $0E CODE_01EF6B: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01EF6E: DA PHX CODE_01EF6F: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01EF72: AE 5E 18 LDX.W $185E CODE_01EF75: B9 01 03 LDA.W OAM_DispY,Y CODE_01EF78: 18 CLC CODE_01EF79: 7D 54 EE ADC.W YoshiHeadDispY,X CODE_01EF7C: 99 01 03 STA.W OAM_DispY,Y CODE_01EF7F: FA PLX CODE_01EF80: 68 PLA CODE_01EF81: 18 CLC CODE_01EF82: 69 04 ADC.B #$04 CODE_01EF84: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_01EF87: 68 PLA CODE_01EF88: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_01EF8B: 68 PLA CODE_01EF8C: 95 E4 STA RAM_SpriteXLo,X CODE_01EF8E: AC 5E 18 LDY.W $185E CODE_01EF91: B9 06 EE LDA.W YoshiBodyTiles,Y CODE_01EF94: 9D 02 16 STA.W $1602,X CODE_01EF97: B5 D8 LDA RAM_SpriteYLo,X CODE_01EF99: 18 CLC CODE_01EF9A: 69 10 ADC.B #$10 CODE_01EF9C: 95 D8 STA RAM_SpriteYLo,X CODE_01EF9E: 90 03 BCC CODE_01EFA3 CODE_01EFA0: FE D4 14 INC.W RAM_SpriteYHi,X CODE_01EFA3: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01EFA6: 68 PLA CODE_01EFA7: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_01EFAA: 68 PLA CODE_01EFAB: 95 D8 STA RAM_SpriteYLo,X CODE_01EFAD: A4 0E LDY $0E CODE_01EFAF: A5 0F LDA $0F CODE_01EFB1: 10 05 BPL CODE_01EFB8 CODE_01EFB3: A9 F0 LDA.B #$F0 CODE_01EFB5: 99 01 03 STA.W OAM_DispY,Y CODE_01EFB8: B5 C2 LDA RAM_SpriteState,X CODE_01EFBA: D0 0A BNE CODE_01EFC6 CODE_01EFBC: A5 14 LDA RAM_FrameCounterB CODE_01EFBE: 29 30 AND.B #$30 CODE_01EFC0: D0 19 BNE CODE_01EFDB CODE_01EFC2: A9 2A LDA.B #$2A CODE_01EFC4: 80 34 BRA CODE_01EFFA CODE_01EFC6: C9 02 CMP.B #$02 CODE_01EFC8: D0 11 BNE CODE_01EFDB CODE_01EFCA: BD 1C 15 LDA.W $151C,X CODE_01EFCD: 0D C6 13 ORA.W $13C6 CODE_01EFD0: D0 09 BNE CODE_01EFDB CODE_01EFD2: A5 14 LDA RAM_FrameCounterB CODE_01EFD4: 29 10 AND.B #$10 CODE_01EFD6: F0 25 BEQ CODE_01EFFD CODE_01EFD8: 80 1E BRA CODE_01EFF8 Return01EFDA: 60 RTS ; Return CODE_01EFDB: BD 94 15 LDA.W $1594,X CODE_01EFDE: C9 03 CMP.B #$03 CODE_01EFE0: F0 0C BEQ CODE_01EFEE CODE_01EFE2: BD 1C 15 LDA.W $151C,X CODE_01EFE5: F0 0C BEQ CODE_01EFF3 CODE_01EFE7: B9 02 03 LDA.W OAM_Tile,Y CODE_01EFEA: C9 24 CMP.B #$24 CODE_01EFEC: F0 05 BEQ CODE_01EFF3 CODE_01EFEE: A9 2A LDA.B #$2A CODE_01EFF0: 99 02 03 STA.W OAM_Tile,Y CODE_01EFF3: AD AE 18 LDA.W $18AE CODE_01EFF6: F0 05 BEQ CODE_01EFFD CODE_01EFF8: A9 0C LDA.B #$0C CODE_01EFFA: 99 02 03 STA.W OAM_Tile,Y CODE_01EFFD: BD 64 15 LDA.W $1564,X CODE_01F000: AC AC 18 LDY.W $18AC CODE_01F003: F0 0A BEQ CODE_01F00F CODE_01F005: C0 26 CPY.B #$26 CODE_01F007: B0 2F BCS CODE_01F038 CODE_01F009: A5 14 LDA RAM_FrameCounterB CODE_01F00B: 29 18 AND.B #$18 CODE_01F00D: D0 29 BNE CODE_01F038 CODE_01F00F: BD 64 15 LDA.W $1564,X CODE_01F012: C9 00 CMP.B #$00 CODE_01F014: F0 C4 BEQ Return01EFDA CODE_01F016: A0 00 LDY.B #$00 CODE_01F018: C9 0F CMP.B #$0F CODE_01F01A: 90 1E BCC CODE_01F03A CODE_01F01C: C9 1C CMP.B #$1C CODE_01F01E: 90 18 BCC CODE_01F038 CODE_01F020: D0 0D BNE CODE_01F02F CODE_01F022: A5 0E LDA $0E CODE_01F024: 48 PHA CODE_01F025: 22 F3 D1 02 JSL.L SetTreeTile CODE_01F029: 20 D3 F0 JSR.W CODE_01F0D3 CODE_01F02C: 68 PLA CODE_01F02D: 85 0E STA $0E CODE_01F02F: EE FB 13 INC.W $13FB CODE_01F032: A9 00 LDA.B #$00 CODE_01F034: A0 2A LDY.B #$2A CODE_01F036: 80 02 BRA CODE_01F03A CODE_01F038: A0 04 LDY.B #$04 CODE_01F03A: 48 PHA CODE_01F03B: 98 TYA CODE_01F03C: A4 0E LDY $0E CODE_01F03E: 99 02 03 STA.W OAM_Tile,Y CODE_01F041: 68 PLA CODE_01F042: C9 0F CMP.B #$0F CODE_01F044: B0 5A BCS Return01F0A0 CODE_01F046: C9 05 CMP.B #$05 CODE_01F048: 90 56 BCC Return01F0A0 CODE_01F04A: E9 05 SBC.B #$05 CODE_01F04C: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01F04F: F0 03 BEQ CODE_01F054 CODE_01F051: 18 CLC CODE_01F052: 69 0A ADC.B #$0A CODE_01F054: BC 02 16 LDY.W $1602,X CODE_01F057: C0 0A CPY.B #$0A CODE_01F059: D0 03 BNE CODE_01F05E CODE_01F05B: 18 CLC CODE_01F05C: 69 14 ADC.B #$14 CODE_01F05E: 85 02 STA $02 CODE_01F060: 20 CB 80 JSR.W IsSprOffScreen CODE_01F063: D0 3B BNE Return01F0A0 CODE_01F065: B5 E4 LDA RAM_SpriteXLo,X CODE_01F067: 38 SEC CODE_01F068: E5 1A SBC RAM_ScreenBndryXLo CODE_01F06A: 85 00 STA $00 CODE_01F06C: B5 D8 LDA RAM_SpriteYLo,X CODE_01F06E: 38 SEC CODE_01F06F: E5 1C SBC RAM_ScreenBndryYLo CODE_01F071: 85 01 STA $01 CODE_01F073: DA PHX CODE_01F074: A6 02 LDX $02 CODE_01F076: A5 00 LDA $00 CODE_01F078: 18 CLC CODE_01F079: 7F 76 C1 03 ADC.L DATA_03C176,X CODE_01F07D: 8D 00 03 STA.W OAM_DispX CODE_01F080: A5 01 LDA $01 CODE_01F082: 18 CLC CODE_01F083: 7F 9E C1 03 ADC.L DATA_03C19E,X CODE_01F087: 8D 01 03 STA.W OAM_DispY CODE_01F08A: A9 3F LDA.B #$3F CODE_01F08C: 8D 02 03 STA.W OAM_Tile CODE_01F08F: FA PLX CODE_01F090: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01F093: B9 03 03 LDA.W OAM_Prop,Y CODE_01F096: 09 01 ORA.B #$01 CODE_01F098: 8D 03 03 STA.W OAM_Prop CODE_01F09B: A9 00 LDA.B #$00 CODE_01F09D: 8D 60 04 STA.W OAM_TileSize Return01F0A0: 60 RTS ; Return Return01F0A1: 60 RTS ; Return CODE_01F0A2: B5 C2 LDA RAM_SpriteState,X CODE_01F0A4: C9 01 CMP.B #$01 CODE_01F0A6: D0 04 BNE CODE_01F0AC CODE_01F0A8: 22 D4 D0 02 JSL.L CODE_02D0D4 CODE_01F0AC: AD 10 14 LDA.W RAM_YoshiHasWingsB ; \ Branch if $1410 == #$01 CODE_01F0AF: C9 01 CMP.B #$01 ; | This never happens CODE_01F0B1: F0 EE BEQ Return01F0A1 ; / (fireball on Yoshi ability) CODE_01F0B3: AD A3 14 LDA.W $14A3 CODE_01F0B6: C9 10 CMP.B #$10 CODE_01F0B8: D0 0A BNE CODE_01F0C4 CODE_01F0BA: AD AE 18 LDA.W $18AE CODE_01F0BD: D0 05 BNE CODE_01F0C4 CODE_01F0BF: A9 06 LDA.B #$06 CODE_01F0C1: 8D AE 18 STA.W $18AE CODE_01F0C4: BD 94 15 LDA.W $1594,X CODE_01F0C7: 22 DF 86 00 JSL.L ExecutePtr Ptrs01F0CB: 4B F1 .dw CODE_01F14B 14 F3 .dw CODE_01F314 32 F3 .dw CODE_01F332 2E F1 .dw CODE_01F12E CODE_01F0D3: A9 06 LDA.B #$06 ; \ Play sound effect CODE_01F0D5: 8D F9 1D STA.W $1DF9 ; / CODE_01F0D8: 22 4A B3 05 JSL.L CODE_05B34A CODE_01F0DC: AD D6 18 LDA.W $18D6 CODE_01F0DF: F0 4C BEQ Return01F12D CODE_01F0E1: 9C D6 18 STZ.W $18D6 CODE_01F0E4: C9 01 CMP.B #$01 CODE_01F0E6: D0 11 BNE CODE_01F0F9 CODE_01F0E8: EE D4 18 INC.W $18D4 CODE_01F0EB: AD D4 18 LDA.W $18D4 CODE_01F0EE: C9 0A CMP.B #$0A CODE_01F0F0: D0 3B BNE Return01F12D CODE_01F0F2: 9C D4 18 STZ.W $18D4 CODE_01F0F5: A9 74 LDA.B #$74 CODE_01F0F7: 80 2C BRA CODE_01F125 CODE_01F0F9: C9 03 CMP.B #$03 CODE_01F0FB: D0 19 BNE CODE_01F116 CODE_01F0FD: A9 29 LDA.B #$29 ; \ Play sound effect CODE_01F0FF: 8D FC 1D STA.W $1DFC ; / CODE_01F102: AD 32 0F LDA.W $0F32 CODE_01F105: 18 CLC CODE_01F106: 69 02 ADC.B #$02 CODE_01F108: C9 0A CMP.B #$0A CODE_01F10A: 90 05 BCC CODE_01F111 ADDR_01F10C: E9 0A SBC.B #$0A ADDR_01F10E: EE 31 0F INC.W $0F31 CODE_01F111: 8D 32 0F STA.W $0F32 CODE_01F114: 80 17 BRA Return01F12D CODE_01F116: EE D5 18 INC.W $18D5 CODE_01F119: AD D5 18 LDA.W $18D5 CODE_01F11C: C9 02 CMP.B #$02 CODE_01F11E: D0 0D BNE Return01F12D ADDR_01F120: 9C D5 18 STZ.W $18D5 ADDR_01F123: A9 6A LDA.B #$6A CODE_01F125: 8D DA 18 STA.W $18DA CODE_01F128: A0 20 LDY.B #$20 CODE_01F12A: 8C DE 18 STY.W $18DE Return01F12D: 60 RTS ; Return CODE_01F12E: BD 58 15 LDA.W $1558,X CODE_01F131: D0 03 BNE Return01F136 CODE_01F133: 9E 94 15 STZ.W $1594,X Return01F136: 60 RTS ; Return YoshiShellAbility: .db $00,$00,$01,$02,$00,$00,$01,$02 .db $01,$01,$01,$03,$02,$02 YoshiAbilityIndex: .db $03,$02,$02,$03,$01,$00 CODE_01F14B: AD 95 1B LDA.W $1B95 CODE_01F14E: F0 05 BEQ CODE_01F155 CODE_01F150: A9 02 LDA.B #$02 ; \ Set Yoshi wing ability CODE_01F152: 8D 1E 14 STA.W RAM_YoshiHasWings ; / CODE_01F155: AD AC 18 LDA.W $18AC CODE_01F158: F0 48 BEQ CODE_01F1A2 CODE_01F15A: BC 0E 16 LDY.W $160E,X CODE_01F15D: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01F160: C9 80 CMP.B #$80 CODE_01F162: D0 03 BNE CODE_01F167 CODE_01F164: EE 1C 19 INC.W $191C CODE_01F167: C9 0D CMP.B #$0D CODE_01F169: B0 37 BCS CODE_01F1A2 CODE_01F16B: 5A PHY CODE_01F16C: B9 7B 18 LDA.W $187B,Y CODE_01F16F: C9 01 CMP.B #$01 CODE_01F171: A9 03 LDA.B #$03 CODE_01F173: B0 20 BCS CODE_01F195 CODE_01F175: BD F6 15 LDA.W RAM_SpritePal,X ; \ Set yoshi stomp/wing ability, CODE_01F178: 4A LSR ; | based on palette of sprite and Yoshi CODE_01F179: 29 07 AND.B #$07 ; | CODE_01F17B: A8 TAY ; | CODE_01F17C: B9 45 F1 LDA.W YoshiAbilityIndex,Y ; | CODE_01F17F: 0A ASL ; | CODE_01F180: 0A ASL ; | CODE_01F181: 85 00 STA $00 ; | CODE_01F183: 7A PLY ; | CODE_01F184: 5A PHY ; | CODE_01F185: B9 F6 15 LDA.W RAM_SpritePal,Y ; | CODE_01F188: 4A LSR ; | CODE_01F189: 29 07 AND.B #$07 ; | CODE_01F18B: A8 TAY ; | CODE_01F18C: B9 45 F1 LDA.W YoshiAbilityIndex,Y ; | CODE_01F18F: 05 00 ORA $00 ; | CODE_01F191: A8 TAY ; | CODE_01F192: B9 37 F1 LDA.W YoshiShellAbility,Y ; / CODE_01F195: 48 PHA ; \ Set yoshi wing ability CODE_01F196: 29 02 AND.B #$02 ; | ($141E = #$02) CODE_01F198: 8D 1E 14 STA.W RAM_YoshiHasWings ; / CODE_01F19B: 68 PLA ; \ If Yoshi gets stomp ability, CODE_01F19C: 29 01 AND.B #$01 ; | $18E7 = #$01 CODE_01F19E: 8D E7 18 STA.W RAM_YoshiHasStomp ; / CODE_01F1A1: 7A PLY CODE_01F1A2: A5 14 LDA RAM_FrameCounterB CODE_01F1A4: 29 03 AND.B #$03 CODE_01F1A6: D0 1E BNE CODE_01F1C6 CODE_01F1A8: AD AC 18 LDA.W $18AC CODE_01F1AB: F0 19 BEQ CODE_01F1C6 CODE_01F1AD: CE AC 18 DEC.W $18AC CODE_01F1B0: D0 14 BNE CODE_01F1C6 CODE_01F1B2: BC 0E 16 LDY.W $160E,X CODE_01F1B5: A9 00 LDA.B #$00 CODE_01F1B7: 99 C8 14 STA.W $14C8,Y CODE_01F1BA: 3A DEC A CODE_01F1BB: 9D 0E 16 STA.W $160E,X CODE_01F1BE: A9 1B LDA.B #$1B CODE_01F1C0: 9D 64 15 STA.W $1564,X CODE_01F1C3: 4C D3 F0 JMP.W CODE_01F0D3 CODE_01F1C6: AD AE 18 LDA.W $18AE CODE_01F1C9: F0 14 BEQ CODE_01F1DF CODE_01F1CB: CE AE 18 DEC.W $18AE CODE_01F1CE: D0 0E BNE Return01F1DE CODE_01F1D0: FE 94 15 INC.W $1594,X CODE_01F1D3: 9E 1C 15 STZ.W $151C,X CODE_01F1D6: A9 FF LDA.B #$FF CODE_01F1D8: 9D 0E 16 STA.W $160E,X CODE_01F1DB: 9E 64 15 STZ.W $1564,X Return01F1DE: 60 RTS ; Return CODE_01F1DF: B5 C2 LDA RAM_SpriteState,X CODE_01F1E1: C9 01 CMP.B #$01 CODE_01F1E3: D0 F9 BNE Return01F1DE CODE_01F1E5: 24 16 BIT $16 CODE_01F1E7: 50 F5 BVC Return01F1DE CODE_01F1E9: AD AC 18 LDA.W $18AC CODE_01F1EC: D0 03 BNE CODE_01F1F1 CODE_01F1EE: 4C 09 F3 JMP.W CODE_01F309 CODE_01F1F1: 9C AC 18 STZ.W $18AC CODE_01F1F4: BC 0E 16 LDY.W $160E,X CODE_01F1F7: 5A PHY CODE_01F1F8: 5A PHY CODE_01F1F9: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01F1FC: B5 E4 LDA RAM_SpriteXLo,X CODE_01F1FE: 18 CLC CODE_01F1FF: 79 05 F3 ADC.W DATA_01F305,Y CODE_01F202: 7A PLY CODE_01F203: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01F206: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01F209: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01F20C: 79 07 F3 ADC.W DATA_01F307,Y CODE_01F20F: 7A PLY CODE_01F210: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_01F213: B5 D8 LDA RAM_SpriteYLo,X CODE_01F215: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_01F218: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01F21B: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_01F21E: A9 00 LDA.B #$00 CODE_01F220: 99 C2 00 STA.W RAM_SpriteState,Y CODE_01F223: 99 D0 15 STA.W $15D0,Y CODE_01F226: 99 26 16 STA.W $1626,Y CODE_01F229: AD DC 18 LDA.W $18DC CODE_01F22C: C9 01 CMP.B #$01 CODE_01F22E: A9 0A LDA.B #$0A CODE_01F230: 90 02 BCC CODE_01F234 CODE_01F232: A9 09 LDA.B #$09 ; \ Sprite status = Carryable CODE_01F234: 99 C8 14 STA.W $14C8,Y ; / CODE_01F237: DA PHX CODE_01F238: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01F23B: 99 7C 15 STA.W RAM_SpriteDir,Y CODE_01F23E: AA TAX CODE_01F23F: 90 02 BCC CODE_01F243 CODE_01F241: E8 INX CODE_01F242: E8 INX CODE_01F243: BD 01 F3 LDA.W DATA_01F301,X CODE_01F246: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_01F249: A9 00 LDA.B #$00 CODE_01F24B: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_01F24E: FA PLX CODE_01F24F: A9 10 LDA.B #$10 CODE_01F251: 9D 58 15 STA.W $1558,X CODE_01F254: A9 03 LDA.B #$03 CODE_01F256: 9D 94 15 STA.W $1594,X CODE_01F259: A9 FF LDA.B #$FF CODE_01F25B: 9D 0E 16 STA.W $160E,X CODE_01F25E: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01F261: C9 0D CMP.B #$0D CODE_01F263: B0 7A BCS CODE_01F2DF CODE_01F265: B9 7B 18 LDA.W $187B,Y CODE_01F268: D0 12 BNE CODE_01F27C CODE_01F26A: B9 F6 15 LDA.W RAM_SpritePal,Y CODE_01F26D: 29 0E AND.B #$0E CODE_01F26F: C9 08 CMP.B #$08 CODE_01F271: F0 09 BEQ CODE_01F27C CODE_01F273: BD F6 15 LDA.W RAM_SpritePal,X CODE_01F276: 29 0E AND.B #$0E CODE_01F278: C9 08 CMP.B #$08 CODE_01F27A: D0 63 BNE CODE_01F2DF CODE_01F27C: DA PHX CODE_01F27D: BB TYX CODE_01F27E: 9E C8 14 STZ.W $14C8,X CODE_01F281: A9 02 LDA.B #$02 CODE_01F283: 85 00 STA $00 CODE_01F285: 20 95 F2 JSR.W CODE_01F295 CODE_01F288: 20 95 F2 JSR.W CODE_01F295 CODE_01F28B: 20 95 F2 JSR.W CODE_01F295 CODE_01F28E: FA PLX CODE_01F28F: A9 17 LDA.B #$17 ; \ Play sound effect CODE_01F291: 8D FC 1D STA.W $1DFC ; / Return01F294: 60 RTS ; Return CODE_01F295: 20 EF 8E JSR.W CODE_018EEF CODE_01F298: A9 11 LDA.B #$11 ; \ Extended sprite = Yoshi fireball CODE_01F29A: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_01F29D: B5 E4 LDA RAM_SpriteXLo,X CODE_01F29F: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_01F2A2: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01F2A5: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_01F2A8: B5 D8 LDA RAM_SpriteYLo,X CODE_01F2AA: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_01F2AD: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01F2B0: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_01F2B3: A9 00 LDA.B #$00 CODE_01F2B5: 99 79 17 STA.W $1779,Y CODE_01F2B8: DA PHX CODE_01F2B9: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01F2BC: 4A LSR CODE_01F2BD: A6 00 LDX $00 CODE_01F2BF: BD D9 F2 LDA.W DATA_01F2D9,X CODE_01F2C2: 90 03 BCC CODE_01F2C7 CODE_01F2C4: 49 FF EOR.B #$FF CODE_01F2C6: 1A INC A CODE_01F2C7: 99 47 17 STA.W RAM_ExSprSpeedX,Y CODE_01F2CA: BD DC F2 LDA.W DATA_01F2DC,X CODE_01F2CD: 99 3D 17 STA.W RAM_ExSprSpeedY,Y CODE_01F2D0: A9 A0 LDA.B #$A0 CODE_01F2D2: 99 6F 17 STA.W $176F,Y CODE_01F2D5: FA PLX CODE_01F2D6: C6 00 DEC $00 Return01F2D8: 60 RTS ; Return DATA_01F2D9: .db $28,$24,$24 DATA_01F2DC: .db $00,$F8,$08 CODE_01F2DF: A9 20 LDA.B #$20 ; \ Play sound effect CODE_01F2E1: 8D F9 1D STA.W $1DF9 ; / CODE_01F2E4: B9 86 16 LDA.W RAM_Tweaker1686,Y ; \ Return if sprite doesn't spawn a new one CODE_01F2E7: 29 40 AND.B #$40 ; | CODE_01F2E9: F0 13 BEQ Return01F2FE ; / CODE_01F2EB: DA PHX ; \ Load sprite to spawn and store it CODE_01F2EC: BE 9E 00 LDX.W RAM_SpriteNum,Y ; | CODE_01F2EF: BF C9 A7 01 LDA.L SpriteToSpawn,X ; | CODE_01F2F3: FA PLX ; | CODE_01F2F4: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_01F2F7: DA PHX ; \ Load Tweaker bytes CODE_01F2F8: BB TYX ; | CODE_01F2F9: 22 8B F7 07 JSL.L LoadSpriteTables ; | CODE_01F2FD: FA PLX ; / Return01F2FE: 60 RTS ; Return DATA_01F2FF: .db $20,$E0 DATA_01F301: .db $30,$D0,$10,$F0 DATA_01F305: .db $10,$F0 DATA_01F307: .db $00,$FF CODE_01F309: A9 12 LDA.B #$12 CODE_01F30B: 8D A3 14 STA.W $14A3 CODE_01F30E: A9 21 LDA.B #$21 ; \ Play sound effect CODE_01F310: 8D FC 1D STA.W $1DFC ; / Return01F313: 60 RTS ; Return CODE_01F314: BD 1C 15 LDA.W $151C,X CODE_01F317: 18 CLC CODE_01F318: 69 03 ADC.B #$03 CODE_01F31A: 9D 1C 15 STA.W $151C,X CODE_01F31D: C9 20 CMP.B #$20 CODE_01F31F: B0 07 BCS CODE_01F328 CODE_01F321: 20 FE F3 JSR.W CODE_01F3FE CODE_01F324: 20 B2 F4 JSR.W CODE_01F4B2 Return01F327: 60 RTS ; Return CODE_01F328: A9 08 LDA.B #$08 CODE_01F32A: 9D 58 15 STA.W $1558,X CODE_01F32D: FE 94 15 INC.W $1594,X CODE_01F330: 80 EF BRA CODE_01F321 CODE_01F332: BD 58 15 LDA.W $1558,X CODE_01F335: D0 EA BNE CODE_01F321 CODE_01F337: BD 1C 15 LDA.W $151C,X CODE_01F33A: 38 SEC CODE_01F33B: E9 04 SBC.B #$04 CODE_01F33D: 30 05 BMI CODE_01F344 CODE_01F33F: 9D 1C 15 STA.W $151C,X CODE_01F342: 80 DD BRA CODE_01F321 CODE_01F344: 9E 1C 15 STZ.W $151C,X CODE_01F347: 9E 94 15 STZ.W $1594,X CODE_01F34A: BC 0E 16 LDY.W $160E,X CODE_01F34D: 30 21 BMI CODE_01F370 CODE_01F34F: B9 86 16 LDA.W RAM_Tweaker1686,Y CODE_01F352: 29 02 AND.B #$02 CODE_01F354: F0 1D BEQ CODE_01F373 CODE_01F356: A9 07 LDA.B #$07 ; \ Sprite status = Unused (todo: look here) CODE_01F358: 99 C8 14 STA.W $14C8,Y ; / CODE_01F35B: A9 FF LDA.B #$FF CODE_01F35D: 8D AC 18 STA.W $18AC CODE_01F360: B9 9E 00 LDA.W RAM_SpriteNum,Y ; \ Branch if not a Koopa CODE_01F363: C9 0D CMP.B #$0D ; | (sprite number >= #$0D) CODE_01F365: B0 09 BCS CODE_01F370 ; / CODE_01F367: DA PHX CODE_01F368: AA TAX CODE_01F369: BD C9 A7 LDA.W SpriteToSpawn,X CODE_01F36C: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_01F36F: FA PLX CODE_01F370: 4C FA F3 JMP.W CODE_01F3FA CODE_01F373: A9 00 LDA.B #$00 CODE_01F375: 99 C8 14 STA.W $14C8,Y CODE_01F378: A9 1B LDA.B #$1B CODE_01F37A: 9D 64 15 STA.W $1564,X CODE_01F37D: A9 FF LDA.B #$FF CODE_01F37F: 9D 0E 16 STA.W $160E,X CODE_01F382: 84 00 STY $00 CODE_01F384: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01F387: C9 9D CMP.B #$9D CODE_01F389: D0 14 BNE CODE_01F39F ADDR_01F38B: B9 C2 00 LDA.W RAM_SpriteState,Y ADDR_01F38E: C9 03 CMP.B #$03 ADDR_01F390: D0 0D BNE CODE_01F39F ADDR_01F392: A9 74 LDA.B #$74 ; \ Sprite = Mushroom ADDR_01F394: 99 9E 00 STA.W RAM_SpriteNum,Y ; / ADDR_01F397: B9 7A 16 LDA.W RAM_Tweaker167A,Y ; \ Set "Gives powerup when eaten" bit ADDR_01F39A: 09 40 ORA.B #$40 ; | ADDR_01F39C: 99 7A 16 STA.W RAM_Tweaker167A,Y ; / CODE_01F39F: B9 9E 00 LDA.W RAM_SpriteNum,Y ; \ Branch if not Changing Item CODE_01F3A2: C9 81 CMP.B #$81 ; | CODE_01F3A4: D0 14 BNE CODE_01F3BA ; / ADDR_01F3A6: B9 7B 18 LDA.W $187B,Y ADDR_01F3A9: 4A LSR ADDR_01F3AA: 4A LSR ADDR_01F3AB: 4A LSR ADDR_01F3AC: 4A LSR ADDR_01F3AD: 4A LSR ADDR_01F3AE: 4A LSR ADDR_01F3AF: 29 03 AND.B #$03 ADDR_01F3B1: A8 TAY ADDR_01F3B2: B9 13 C3 LDA.W ChangingItemSprite,Y ADDR_01F3B5: A4 00 LDY $00 ADDR_01F3B7: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_01F3BA: 48 PHA CODE_01F3BB: A4 00 LDY $00 CODE_01F3BD: B9 7A 16 LDA.W RAM_Tweaker167A,Y CODE_01F3C0: 0A ASL CODE_01F3C1: 0A ASL CODE_01F3C2: 68 PLA CODE_01F3C3: 90 16 BCC CODE_01F3DB CODE_01F3C5: DA PHX CODE_01F3C6: BB TYX CODE_01F3C7: 74 C2 STZ RAM_SpriteState,X CODE_01F3C9: 20 BF C4 JSR.W CODE_01C4BF CODE_01F3CC: FA PLX CODE_01F3CD: AC DC 18 LDY.W $18DC CODE_01F3D0: B9 D9 F3 LDA.W DATA_01F3D9,Y CODE_01F3D3: 9D 02 16 STA.W $1602,X CODE_01F3D6: 4C 21 F3 JMP.W CODE_01F321 DATA_01F3D9: .db $00,$04 CODE_01F3DB: C9 7E CMP.B #$7E CODE_01F3DD: D0 18 BNE CODE_01F3F7 ADDR_01F3DF: B9 C2 00 LDA.W RAM_SpriteState,Y ADDR_01F3E2: F0 13 BEQ CODE_01F3F7 ADDR_01F3E4: C9 02 CMP.B #$02 ADDR_01F3E6: D0 09 BNE ADDR_01F3F1 ADDR_01F3E8: A9 08 LDA.B #$08 ADDR_01F3EA: 85 71 STA RAM_MarioAnimation ADDR_01F3EC: A9 03 LDA.B #$03 ; \ Play sound effect ADDR_01F3EE: 8D FC 1D STA.W $1DFC ; / ADDR_01F3F1: 20 CD F6 JSR.W CODE_01F6CD ADDR_01F3F4: 4C 21 F3 JMP.W CODE_01F321 CODE_01F3F7: 20 D3 F0 JSR.W CODE_01F0D3 CODE_01F3FA: 4C 21 F3 JMP.W CODE_01F321 Return01F3FD: 60 RTS ; Return CODE_01F3FE: BD A0 15 LDA.W RAM_OffscreenHorz,X ; \ Branch if sprite off screen... CODE_01F401: 1D 6C 18 ORA.W RAM_OffscreenVert,X ; | CODE_01F404: 0D 19 14 ORA.W RAM_YoshiInPipe ; | ...or going down pipe CODE_01F407: D0 F4 BNE Return01F3FD ; / CODE_01F409: BC 02 16 LDY.W $1602,X CODE_01F40C: B9 1A F6 LDA.W DATA_01F61A,Y CODE_01F40F: 8D 5E 18 STA.W $185E CODE_01F412: 18 CLC CODE_01F413: 75 D8 ADC RAM_SpriteYLo,X CODE_01F415: 38 SEC CODE_01F416: E5 1C SBC RAM_ScreenBndryYLo CODE_01F418: 85 01 STA $01 CODE_01F41A: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01F41D: D0 05 BNE CODE_01F424 CODE_01F41F: 98 TYA CODE_01F420: 18 CLC CODE_01F421: 69 08 ADC.B #$08 CODE_01F423: A8 TAY CODE_01F424: B9 0A F6 LDA.W DATA_01F60A,Y CODE_01F427: 85 0D STA $0D CODE_01F429: B5 E4 LDA RAM_SpriteXLo,X CODE_01F42B: 38 SEC CODE_01F42C: E5 1A SBC RAM_ScreenBndryXLo CODE_01F42E: 18 CLC CODE_01F42F: 65 0D ADC $0D CODE_01F431: 85 00 STA $00 CODE_01F433: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01F436: D0 04 BNE CODE_01F43C CODE_01F438: B0 C3 BCS Return01F3FD CODE_01F43A: 80 02 BRA CODE_01F43E CODE_01F43C: 90 BF BCC Return01F3FD CODE_01F43E: BD 1C 15 LDA.W $151C,X CODE_01F441: 8D 05 42 STA.W $4205 ; Dividend (High-Byte) CODE_01F444: 9C 04 42 STZ.W $4204 ; Dividend (Low Byte) CODE_01F447: A9 04 LDA.B #$04 CODE_01F449: 8D 06 42 STA.W $4206 ; Divisor B CODE_01F44C: EA NOP CODE_01F44D: EA NOP CODE_01F44E: EA NOP CODE_01F44F: EA NOP CODE_01F450: EA NOP CODE_01F451: EA NOP CODE_01F452: EA NOP CODE_01F453: EA NOP CODE_01F454: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01F457: 85 07 STA $07 CODE_01F459: 4A LSR CODE_01F45A: AD 15 42 LDA.W $4215 ; Quotient of Divide Result (High Byte) CODE_01F45D: 90 03 BCC CODE_01F462 CODE_01F45F: 49 FF EOR.B #$FF CODE_01F461: 1A INC A CODE_01F462: 85 05 STA $05 CODE_01F464: A9 04 LDA.B #$04 CODE_01F466: 85 06 STA $06 CODE_01F468: A0 0C LDY.B #$0C CODE_01F46A: A5 00 LDA $00 CODE_01F46C: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_01F46F: 18 CLC CODE_01F470: 65 05 ADC $05 CODE_01F472: 85 00 STA $00 CODE_01F474: A5 05 LDA $05 CODE_01F476: 10 04 BPL CODE_01F47C CODE_01F478: 90 37 BCC Return01F4B1 CODE_01F47A: 80 02 BRA CODE_01F47E CODE_01F47C: B0 33 BCS Return01F4B1 CODE_01F47E: A5 01 LDA $01 CODE_01F480: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_01F483: A5 06 LDA $06 CODE_01F485: C9 01 CMP.B #$01 CODE_01F487: A9 76 LDA.B #$76 CODE_01F489: B0 02 BCS CODE_01F48D CODE_01F48B: A9 66 LDA.B #$66 CODE_01F48D: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_01F490: A5 07 LDA $07 CODE_01F492: 4A LSR CODE_01F493: A9 09 LDA.B #$09 CODE_01F495: B0 02 BCS CODE_01F499 CODE_01F497: 09 40 ORA.B #$40 CODE_01F499: 05 64 ORA $64 CODE_01F49B: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_01F49E: 5A PHY CODE_01F49F: 98 TYA CODE_01F4A0: 4A LSR CODE_01F4A1: 4A LSR CODE_01F4A2: A8 TAY CODE_01F4A3: A9 00 LDA.B #$00 CODE_01F4A5: 99 20 04 STA.W $0420,Y CODE_01F4A8: 7A PLY CODE_01F4A9: C8 INY CODE_01F4AA: C8 INY CODE_01F4AB: C8 INY CODE_01F4AC: C8 INY CODE_01F4AD: C6 06 DEC $06 CODE_01F4AF: 10 B9 BPL CODE_01F46A Return01F4B1: 60 RTS ; Return CODE_01F4B2: BD 0E 16 LDA.W $160E,X CODE_01F4B5: 30 6D BMI CODE_01F524 CODE_01F4B7: A0 00 LDY.B #$00 CODE_01F4B9: A5 0D LDA $0D CODE_01F4BB: 30 06 BMI CODE_01F4C3 CODE_01F4BD: 18 CLC CODE_01F4BE: 7D 1C 15 ADC.W $151C,X CODE_01F4C1: 80 09 BRA CODE_01F4CC CODE_01F4C3: BD 1C 15 LDA.W $151C,X CODE_01F4C6: 49 FF EOR.B #$FF CODE_01F4C8: 1A INC A CODE_01F4C9: 18 CLC CODE_01F4CA: 65 0D ADC $0D CODE_01F4CC: 38 SEC CODE_01F4CD: E9 04 SBC.B #$04 CODE_01F4CF: 10 01 BPL CODE_01F4D2 CODE_01F4D1: 88 DEY CODE_01F4D2: 5A PHY CODE_01F4D3: 18 CLC CODE_01F4D4: 75 E4 ADC RAM_SpriteXLo,X CODE_01F4D6: BC 0E 16 LDY.W $160E,X CODE_01F4D9: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01F4DC: 7A PLY CODE_01F4DD: 98 TYA CODE_01F4DE: 7D E0 14 ADC.W RAM_SpriteXHi,X CODE_01F4E1: BC 0E 16 LDY.W $160E,X CODE_01F4E4: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_01F4E7: A9 FC LDA.B #$FC CODE_01F4E9: 85 00 STA $00 CODE_01F4EB: B9 62 16 LDA.W RAM_Tweaker1662,Y CODE_01F4EE: 29 40 AND.B #$40 CODE_01F4F0: D0 0B BNE CODE_01F4FD CODE_01F4F2: B9 0F 19 LDA.W RAM_Tweaker190F,Y ; \ Branch if "Death frame 2 tiles high" CODE_01F4F5: 29 20 AND.B #$20 ; | is NOT set CODE_01F4F7: F0 04 BEQ CODE_01F4FD ; / CODE_01F4F9: A9 F8 LDA.B #$F8 CODE_01F4FB: 85 00 STA $00 CODE_01F4FD: 64 01 STZ $01 CODE_01F4FF: A5 00 LDA $00 CODE_01F501: 18 CLC CODE_01F502: 6D 5E 18 ADC.W $185E CODE_01F505: 10 02 BPL CODE_01F509 ADDR_01F507: C6 01 DEC $01 CODE_01F509: 18 CLC CODE_01F50A: 75 D8 ADC RAM_SpriteYLo,X CODE_01F50C: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_01F50F: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01F512: 65 01 ADC $01 CODE_01F514: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_01F517: A9 00 LDA.B #$00 CODE_01F519: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_01F51C: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_01F51F: 1A INC A CODE_01F520: 99 D0 15 STA.W $15D0,Y Return01F523: 60 RTS ; Return CODE_01F524: 5A PHY CODE_01F525: A0 00 LDY.B #$00 CODE_01F527: A5 0D LDA $0D CODE_01F529: 30 06 BMI CODE_01F531 CODE_01F52B: 18 CLC CODE_01F52C: 7D 1C 15 ADC.W $151C,X CODE_01F52F: 80 09 BRA CODE_01F53A CODE_01F531: BD 1C 15 LDA.W $151C,X CODE_01F534: 49 FF EOR.B #$FF CODE_01F536: 1A INC A CODE_01F537: 18 CLC CODE_01F538: 65 0D ADC $0D CODE_01F53A: 18 CLC CODE_01F53B: 69 00 ADC.B #$00 CODE_01F53D: 10 01 BPL CODE_01F540 CODE_01F53F: 88 DEY CODE_01F540: 18 CLC CODE_01F541: 75 E4 ADC RAM_SpriteXLo,X CODE_01F543: 85 00 STA $00 CODE_01F545: 98 TYA CODE_01F546: 7D E0 14 ADC.W RAM_SpriteXHi,X CODE_01F549: 85 08 STA $08 CODE_01F54B: 7A PLY CODE_01F54C: AD 5E 18 LDA.W $185E CODE_01F54F: 18 CLC CODE_01F550: 69 02 ADC.B #$02 CODE_01F552: 18 CLC CODE_01F553: 75 D8 ADC RAM_SpriteYLo,X CODE_01F555: 85 01 STA $01 CODE_01F557: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01F55A: 69 00 ADC.B #$00 CODE_01F55C: 85 09 STA $09 CODE_01F55E: A9 08 LDA.B #$08 CODE_01F560: 85 02 STA $02 CODE_01F562: A9 04 LDA.B #$04 CODE_01F564: 85 03 STA $03 CODE_01F566: A0 0B LDY.B #$0B ; Loop over spites: CODE_01F568: 8C 95 16 STY.W $1695 CODE_01F56B: CC E9 15 CPY.W $15E9 CODE_01F56E: F0 16 BEQ CODE_01F586 CODE_01F570: BD 0E 16 LDA.W $160E,X CODE_01F573: 10 11 BPL CODE_01F586 CODE_01F575: B9 C8 14 LDA.W $14C8,Y ; \ Skip sprite if sprite status < 8 CODE_01F578: C9 08 CMP.B #$08 ; | CODE_01F57A: 90 0A BCC CODE_01F586 ; / CODE_01F57C: B9 32 16 LDA.W RAM_SprBehindScrn,Y ; \ Skip sprite if behind scenery CODE_01F57F: D0 05 BNE CODE_01F586 ; / CODE_01F581: 5A PHY CODE_01F582: 20 8E F5 JSR.W TryEatSprite CODE_01F585: 7A PLY CODE_01F586: 88 DEY CODE_01F587: 10 DF BPL CODE_01F568 CODE_01F589: 22 FA B9 02 JSL.L CODE_02B9FA Return01F58D: 60 RTS ; Return TryEatSprite: DA PHX CODE_01F58F: BB TYX CODE_01F590: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_01F594: FA PLX CODE_01F595: 22 2B B7 03 JSL.L CheckForContact CODE_01F599: 90 6E BCC Return01F609 CODE_01F59B: B9 86 16 LDA.W RAM_Tweaker1686,Y ; \ If sprite inedible CODE_01F59E: 4A LSR ; | CODE_01F59F: 90 06 BCC EatSprite ; | CODE_01F5A1: A9 01 LDA.B #$01 ; | Play sound effect CODE_01F5A3: 8D F9 1D STA.W $1DF9 ; | Return01F5A6: 60 RTS ; / Return EatSprite: B9 9E 00 LDA.W RAM_SpriteNum,Y ; \ Branch if sprite being eaten not Pokey CODE_01F5AA: C9 70 CMP.B #$70 ; | CODE_01F5AC: D0 4D BNE CODE_01F5FB ; / SpltPokeyInto2Sprs: 8C 5E 18 STY.W $185E ; $185E = Index of sprite being eaten CODE_01F5B1: A5 01 LDA $01 CODE_01F5B3: 38 SEC CODE_01F5B4: F9 D8 00 SBC.W RAM_SpriteYLo,Y CODE_01F5B7: 18 CLC CODE_01F5B8: 69 00 ADC.B #$00 CODE_01F5BA: DA PHX CODE_01F5BB: BB TYX ; X = Index of sprite being eaten CODE_01F5BC: 22 1C B8 02 JSL.L RemovePokeySegment CODE_01F5C0: FA PLX CODE_01F5C1: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_01F5C5: 30 42 BMI Return01F609 ; / CODE_01F5C7: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_01F5C9: 99 C8 14 STA.W $14C8,Y ; / CODE_01F5CC: A9 70 LDA.B #$70 ; \ Sprite = Pokey CODE_01F5CE: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_01F5D1: A5 00 LDA $00 CODE_01F5D3: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_01F5D6: A5 08 LDA $08 CODE_01F5D8: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_01F5DB: A5 01 LDA $01 CODE_01F5DD: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_01F5E0: A5 09 LDA $09 CODE_01F5E2: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_01F5E5: DA PHX CODE_01F5E6: BB TYX ; X = Index of new sprite CODE_01F5E7: 22 D2 F7 07 JSL.L InitSpriteTables ; Reset sprite tables CODE_01F5EB: AE 5E 18 LDX.W $185E ; X = Index of sprite being eaten CODE_01F5EE: B5 C2 LDA RAM_SpriteState,X CODE_01F5F0: 25 0D AND $0D CODE_01F5F2: 99 C2 00 STA.W RAM_SpriteState,Y ; y = index of new sptr here?? CODE_01F5F5: A9 01 LDA.B #$01 CODE_01F5F7: 99 34 15 STA.W $1534,Y CODE_01F5FA: FA PLX CODE_01F5FB: 98 TYA ; \ $160E,x = Index of sprite being eaten CODE_01F5FC: 9D 0E 16 STA.W $160E,X ; / CODE_01F5FF: A9 02 LDA.B #$02 CODE_01F601: 9D 94 15 STA.W $1594,X CODE_01F604: A9 0A LDA.B #$0A CODE_01F606: 9D 58 15 STA.W $1558,X Return01F609: 60 RTS ; Return DATA_01F60A: .db $F5,$F5,$F5,$F5,$F5,$F5,$F5,$F0 .db $13,$13,$13,$13,$13,$13,$13,$18 DATA_01F61A: .db $08,$08,$08,$08,$08,$08,$08,$13 CODE_01F622: BD 3E 16 LDA.W $163E,X CODE_01F625: 05 9D ORA RAM_SpritesLocked CODE_01F627: D0 3E BNE Return01F667 CODE_01F629: A0 0B LDY.B #$0B CODE_01F62B: 8C 95 16 STY.W $1695 CODE_01F62E: 98 TYA CODE_01F62F: 45 13 EOR RAM_FrameCounter CODE_01F631: 29 01 AND.B #$01 CODE_01F633: D0 2C BNE CODE_01F661 CODE_01F635: 98 TYA CODE_01F636: DD 0E 16 CMP.W $160E,X CODE_01F639: F0 26 BEQ CODE_01F661 CODE_01F63B: CC E9 15 CPY.W $15E9 CODE_01F63E: F0 21 BEQ CODE_01F661 CODE_01F640: B9 C8 14 LDA.W $14C8,Y CODE_01F643: C9 08 CMP.B #$08 CODE_01F645: 90 1A BCC CODE_01F661 CODE_01F647: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01F64A: B9 C8 14 LDA.W $14C8,Y CODE_01F64D: C9 09 CMP.B #$09 CODE_01F64F: F0 10 BEQ CODE_01F661 CODE_01F651: B9 7A 16 LDA.W RAM_Tweaker167A,Y CODE_01F654: 29 02 AND.B #$02 CODE_01F656: 19 D0 15 ORA.W $15D0,Y CODE_01F659: 19 32 16 ORA.W RAM_SprBehindScrn,Y CODE_01F65C: D0 03 BNE CODE_01F661 CODE_01F65E: 20 68 F6 JSR.W CODE_01F668 CODE_01F661: AC 95 16 LDY.W $1695 CODE_01F664: 88 DEY CODE_01F665: 10 C4 BPL CODE_01F62B Return01F667: 60 RTS ; Return CODE_01F668: DA PHX CODE_01F669: BB TYX CODE_01F66A: 22 E5 B6 03 JSL.L GetSpriteClippingB CODE_01F66E: FA PLX CODE_01F66F: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_01F673: 22 2B B7 03 JSL.L CheckForContact CODE_01F677: 90 EE BCC Return01F667 CODE_01F679: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01F67C: C9 9D CMP.B #$9D CODE_01F67E: F0 E7 BEQ Return01F667 CODE_01F680: C9 15 CMP.B #$15 CODE_01F682: F0 1A BEQ CODE_01F69E CODE_01F684: C9 16 CMP.B #$16 CODE_01F686: F0 16 BEQ CODE_01F69E CODE_01F688: C9 04 CMP.B #$04 CODE_01F68A: B0 17 BCS CODE_01F6A3 CODE_01F68C: C9 02 CMP.B #$02 CODE_01F68E: F0 13 BEQ CODE_01F6A3 ADDR_01F690: B9 3E 16 LDA.W $163E,Y ADDR_01F693: 10 0E BPL CODE_01F6A3 CODE_01F695: 5A PHY CODE_01F696: DA PHX CODE_01F697: BB TYX CODE_01F698: 20 2A B1 JSR.W CODE_01B12A CODE_01F69B: FA PLX CODE_01F69C: 7A PLY Return01F69D: 60 RTS ; Return CODE_01F69E: B9 4A 16 LDA.W $164A,Y CODE_01F6A1: F0 F2 BEQ CODE_01F695 CODE_01F6A3: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01F6A6: C9 BF CMP.B #$BF CODE_01F6A8: D0 0A BNE CODE_01F6B4 CODE_01F6AA: A5 96 LDA RAM_MarioYPos CODE_01F6AC: 38 SEC CODE_01F6AD: F9 D8 00 SBC.W RAM_SpriteYLo,Y CODE_01F6B0: C9 E8 CMP.B #$E8 CODE_01F6B2: 30 28 BMI Return01F6DC CODE_01F6B4: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_01F6B7: C9 7E CMP.B #$7E CODE_01F6B9: D0 22 BNE CODE_01F6DD CODE_01F6BB: B9 C2 00 LDA.W RAM_SpriteState,Y CODE_01F6BE: F0 1C BEQ Return01F6DC CODE_01F6C0: C9 02 CMP.B #$02 CODE_01F6C2: D0 09 BNE CODE_01F6CD CODE_01F6C4: A9 08 LDA.B #$08 CODE_01F6C6: 85 71 STA RAM_MarioAnimation CODE_01F6C8: A9 03 LDA.B #$03 ; \ Play sound effect CODE_01F6CA: 8D FC 1D STA.W $1DFC ; / CODE_01F6CD: A9 40 LDA.B #$40 CODE_01F6CF: 8D AA 14 STA.W $14AA CODE_01F6D2: A9 02 LDA.B #$02 ; \ Set Yoshi wing ability CODE_01F6D4: 8D 1E 14 STA.W RAM_YoshiHasWings ; / CODE_01F6D7: A9 00 LDA.B #$00 CODE_01F6D9: 99 C8 14 STA.W $14C8,Y Return01F6DC: 60 RTS ; Return CODE_01F6DD: C9 4E CMP.B #$4E CODE_01F6DF: F0 04 BEQ CODE_01F6E5 CODE_01F6E1: C9 4D CMP.B #$4D CODE_01F6E3: D0 07 BNE CODE_01F6EC CODE_01F6E5: B9 C2 00 LDA.W RAM_SpriteState,Y CODE_01F6E8: C9 02 CMP.B #$02 CODE_01F6EA: 90 F0 BCC Return01F6DC CODE_01F6EC: A5 05 LDA $05 CODE_01F6EE: 18 CLC CODE_01F6EF: 69 0D ADC.B #$0D CODE_01F6F1: C5 01 CMP $01 CODE_01F6F3: 30 56 BMI Return01F74B CODE_01F6F5: B9 C8 14 LDA.W $14C8,Y CODE_01F6F8: C9 0A CMP.B #$0A CODE_01F6FA: D0 12 BNE CODE_01F70E CODE_01F6FC: DA PHX CODE_01F6FD: BB TYX CODE_01F6FE: 20 30 AD JSR.W SubHorizPos CODE_01F701: 84 00 STY $00 CODE_01F703: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01F705: FA PLX CODE_01F706: 0A ASL CODE_01F707: 2A ROL CODE_01F708: 29 01 AND.B #$01 CODE_01F70A: C5 00 CMP $00 CODE_01F70C: D0 3D BNE Return01F74B CODE_01F70E: AD 90 14 LDA.W $1490 ; \ Branch if Mario has star CODE_01F711: D0 38 BNE Return01F74B ; / CODE_01F713: A9 10 LDA.B #$10 CODE_01F715: 9D 3E 16 STA.W $163E,X CODE_01F718: A9 03 LDA.B #$03 ; \ Play sound effect CODE_01F71A: 8D FA 1D STA.W $1DFA ; / CODE_01F71D: A9 13 LDA.B #$13 ; \ Play sound effect CODE_01F71F: 8D FC 1D STA.W $1DFC ; / CODE_01F722: A9 02 LDA.B #$02 CODE_01F724: 95 C2 STA RAM_SpriteState,X CODE_01F726: 9C 7A 18 STZ.W RAM_OnYoshi CODE_01F729: A9 C0 LDA.B #$C0 CODE_01F72B: 85 7D STA RAM_MarioSpeedY CODE_01F72D: 64 7B STZ RAM_MarioSpeedX CODE_01F72F: 20 30 AD JSR.W SubHorizPos CODE_01F732: B9 BE EB LDA.W DATA_01EBBE,Y CODE_01F735: 95 B6 STA RAM_SpriteSpeedX,X CODE_01F737: 9E 94 15 STZ.W $1594,X CODE_01F73A: 9E 1C 15 STZ.W $151C,X CODE_01F73D: 9C AE 18 STZ.W $18AE CODE_01F740: 9C C1 0D STZ.W RAM_OWHasYoshi CODE_01F743: A9 30 LDA.B #$30 ; \ Mario invincible timer = #$30 CODE_01F745: 8D 97 14 STA.W $1497 ; / CODE_01F748: 20 CC ED JSR.W CODE_01EDCC Return01F74B: 60 RTS ; Return CODE_01F74C: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_01F74E: 9D C8 14 STA.W $14C8,X ; / CODE_01F751: A9 20 LDA.B #$20 CODE_01F753: 9D 40 15 STA.W $1540,X CODE_01F756: A9 0A LDA.B #$0A ; \ Play sound effect CODE_01F758: 8D FC 1D STA.W $1DFC ; / Return01F75B: 6B RTL ; Return DATA_01F75C: .db $00,$01,$01,$01 YoshiEggTiles: .db $62,$02,$02,$00 YoshiEgg: BD 7B 18 LDA.W $187B,X CODE_01F767: F0 30 BEQ CODE_01F799 CODE_01F769: 20 CB 80 JSR.W IsSprOffScreen CODE_01F76C: D0 1F BNE CODE_01F78D CODE_01F76E: 20 30 AD JSR.W SubHorizPos CODE_01F771: A5 0F LDA $0F CODE_01F773: 18 CLC CODE_01F774: 69 20 ADC.B #$20 CODE_01F776: C9 40 CMP.B #$40 CODE_01F778: B0 13 BCS CODE_01F78D CODE_01F77A: 9E 7B 18 STZ.W $187B,X CODE_01F77D: 22 51 F7 01 JSL.L CODE_01F751 CODE_01F781: A9 2D LDA.B #$2D CODE_01F783: AC E2 18 LDY.W $18E2 CODE_01F786: F0 02 BEQ CODE_01F78A CODE_01F788: A9 78 LDA.B #$78 CODE_01F78A: 9D 1C 15 STA.W $151C,X CODE_01F78D: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01F790: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01F793: A9 00 LDA.B #$00 CODE_01F795: 99 02 03 STA.W OAM_Tile,Y Return01F798: 60 RTS ; Return CODE_01F799: BD 40 15 LDA.W $1540,X CODE_01F79C: F0 24 BEQ CODE_01F7C2 CODE_01F79E: 4A LSR CODE_01F79F: 4A LSR CODE_01F7A0: 4A LSR CODE_01F7A1: A8 TAY CODE_01F7A2: B9 60 F7 LDA.W YoshiEggTiles,Y CODE_01F7A5: 48 PHA CODE_01F7A6: B9 5C F7 LDA.W DATA_01F75C,Y CODE_01F7A9: 48 PHA CODE_01F7AA: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01F7AD: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01F7B0: 68 PLA CODE_01F7B1: 85 00 STA $00 CODE_01F7B3: B9 03 03 LDA.W OAM_Prop,Y CODE_01F7B6: 29 FE AND.B #$FE CODE_01F7B8: 05 00 ORA $00 CODE_01F7BA: 99 03 03 STA.W OAM_Prop,Y CODE_01F7BD: 68 PLA CODE_01F7BE: 99 02 03 STA.W OAM_Tile,Y Return01F7C1: 60 RTS ; Return CODE_01F7C2: 20 C8 F7 JSR.W CODE_01F7C8 CODE_01F7C5: 4C 3D F8 JMP.W CODE_01F83D CODE_01F7C8: 20 CB 80 JSR.W IsSprOffScreen CODE_01F7CB: D0 5F BNE Return01F82C CODE_01F7CD: B5 E4 LDA RAM_SpriteXLo,X CODE_01F7CF: 85 00 STA $00 CODE_01F7D1: B5 D8 LDA RAM_SpriteYLo,X CODE_01F7D3: 85 02 STA $02 CODE_01F7D5: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01F7D8: 85 03 STA $03 CODE_01F7DA: DA PHX CODE_01F7DB: A0 03 LDY.B #$03 CODE_01F7DD: A2 0B LDX.B #$0B CODE_01F7DF: BD F0 17 LDA.W $17F0,X CODE_01F7E2: F0 10 BEQ CODE_01F7F4 CODE_01F7E4: CA DEX CODE_01F7E5: 10 F8 BPL CODE_01F7DF CODE_01F7E7: CE 5D 18 DEC.W $185D CODE_01F7EA: 10 05 BPL CODE_01F7F1 CODE_01F7EC: A9 0B LDA.B #$0B CODE_01F7EE: 8D 5D 18 STA.W $185D CODE_01F7F1: AE 5D 18 LDX.W $185D CODE_01F7F4: A9 03 LDA.B #$03 CODE_01F7F6: 9D F0 17 STA.W $17F0,X CODE_01F7F9: A5 00 LDA $00 CODE_01F7FB: 18 CLC CODE_01F7FC: 79 31 F8 ADC.W DATA_01F831,Y CODE_01F7FF: 9D 08 18 STA.W $1808,X CODE_01F802: A5 02 LDA $02 CODE_01F804: 18 CLC CODE_01F805: 79 2D F8 ADC.W DATA_01F82D,Y CODE_01F808: 9D FC 17 STA.W $17FC,X CODE_01F80B: A5 03 LDA $03 CODE_01F80D: 9D 14 18 STA.W $1814,X CODE_01F810: B9 35 F8 LDA.W DATA_01F835,Y CODE_01F813: 9D 20 18 STA.W $1820,X CODE_01F816: B9 39 F8 LDA.W DATA_01F839,Y CODE_01F819: 9D 2C 18 STA.W $182C,X CODE_01F81C: 98 TYA CODE_01F81D: 0A ASL CODE_01F81E: 0A ASL CODE_01F81F: 0A ASL CODE_01F820: 0A ASL CODE_01F821: 0A ASL CODE_01F822: 0A ASL CODE_01F823: 09 28 ORA.B #$28 CODE_01F825: 9D 50 18 STA.W $1850,X CODE_01F828: 88 DEY CODE_01F829: 10 B9 BPL CODE_01F7E4 CODE_01F82B: FA PLX Return01F82C: 60 RTS ; Return DATA_01F82D: .db $00,$00,$08,$08 DATA_01F831: .db $00,$08,$00,$08 DATA_01F835: .db $E8,$E8,$F4,$F4 DATA_01F839: .db $FA,$06,$FD,$03 CODE_01F83D: BD 1C 15 LDA.W $151C,X CODE_01F840: 95 9E STA RAM_SpriteNum,X CODE_01F842: C9 35 CMP.B #$35 CODE_01F844: F0 26 BEQ CODE_01F86C CODE_01F846: C9 2D CMP.B #$2D CODE_01F848: D0 1D BNE CODE_01F867 CODE_01F84A: A9 09 LDA.B #$09 ; \ Sprite status = Carryable CODE_01F84C: 9D C8 14 STA.W $14C8,X ; / CODE_01F84F: BD F6 15 LDA.W RAM_SpritePal,X CODE_01F852: 29 0E AND.B #$0E CODE_01F854: 48 PHA CODE_01F855: 22 D2 F7 07 JSL.L InitSpriteTables CODE_01F859: 68 PLA CODE_01F85A: 85 00 STA $00 CODE_01F85C: BD F6 15 LDA.W RAM_SpritePal,X CODE_01F85F: 29 F1 AND.B #$F1 CODE_01F861: 05 00 ORA $00 CODE_01F863: 9D F6 15 STA.W RAM_SpritePal,X Return01F866: 60 RTS ; Return CODE_01F867: 22 D2 F7 07 JSL.L InitSpriteTables Return01F86B: 60 RTS ; Return CODE_01F86C: 22 D2 F7 07 JSL.L InitSpriteTables CODE_01F870: 4C B5 A2 JMP.W CODE_01A2B5 DATA_01F873: .db $08,$F8 UnusedInit: 20 7C 85 JSR.W FaceMario ADDR_01F878: 9D 34 15 STA.W $1534,X Return01F87B: 60 RTS ; Return InitEerie: 20 30 AD JSR.W SubHorizPos CODE_01F87F: B9 8C F8 LDA.W EerieSpeedX,Y CODE_01F882: 95 B6 STA RAM_SpriteSpeedX,X InitBigBoo: 22 F9 AC 01 JSL.L GetRand CODE_01F888: 9D 70 15 STA.W $1570,X Return01F88B: 60 RTS ; Return EerieSpeedX: .db $10,$F0 EerieSpeedY: .db $18,$E8 Eerie: BD C8 14 LDA.W $14C8,X CODE_01F893: C9 08 CMP.B #$08 CODE_01F895: D0 32 BNE CODE_01F8C9 CODE_01F897: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01F899: D0 2E BNE CODE_01F8C9 ; / CODE_01F89B: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01F89E: B5 9E LDA RAM_SpriteNum,X CODE_01F8A0: C9 39 CMP.B #$39 CODE_01F8A2: D0 1C BNE CODE_01F8C0 CODE_01F8A4: B5 C2 LDA RAM_SpriteState,X CODE_01F8A6: 29 01 AND.B #$01 CODE_01F8A8: A8 TAY CODE_01F8A9: B5 AA LDA RAM_SpriteSpeedY,X CODE_01F8AB: 18 CLC CODE_01F8AC: 79 B4 EB ADC.W DATA_01EBB4,Y CODE_01F8AF: 95 AA STA RAM_SpriteSpeedY,X CODE_01F8B1: D9 8E F8 CMP.W EerieSpeedY,Y CODE_01F8B4: D0 02 BNE CODE_01F8B8 CODE_01F8B6: F6 C2 INC RAM_SpriteState,X CODE_01F8B8: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01F8BB: 20 21 AC JSR.W SubOffscreen3Bnk1 CODE_01F8BE: 80 03 BRA CODE_01F8C3 CODE_01F8C0: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01F8C3: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01F8C6: 20 5F 8E JSR.W SetAnimationFrame CODE_01F8C9: 20 15 9A JSR.W UpdateDirection CODE_01F8CC: 4C 0D 9F JMP.W SubSprGfx2Entry1 DATA_01F8CF: .db $08,$F8 DATA_01F8D1: .db $01,$02,$02,$01 BigBoo: 20 2B AC JSR.W SubOffscreen1Bnk1 CODE_01F8D8: A9 20 LDA.B #$20 CODE_01F8DA: 80 05 BRA CODE_01F8E1 Boo+BooBlock: 20 31 AC JSR.W SubOffscreen0Bnk1 CODE_01F8DF: A9 10 LDA.B #$10 CODE_01F8E1: 8D B6 18 STA.W $18B6 CODE_01F8E4: BD C8 14 LDA.W $14C8,X CODE_01F8E7: C9 08 CMP.B #$08 CODE_01F8E9: D0 04 BNE CODE_01F8EF CODE_01F8EB: A5 9D LDA RAM_SpritesLocked CODE_01F8ED: F0 03 BEQ CODE_01F8F2 CODE_01F8EF: 4C CE F9 JMP.W CODE_01F9CE CODE_01F8F2: 20 30 AD JSR.W SubHorizPos CODE_01F8F5: BD 40 15 LDA.W $1540,X CODE_01F8F8: D0 1A BNE CODE_01F914 CODE_01F8FA: A9 20 LDA.B #$20 CODE_01F8FC: 9D 40 15 STA.W $1540,X CODE_01F8FF: B5 C2 LDA RAM_SpriteState,X CODE_01F901: F0 09 BEQ CODE_01F90C CODE_01F903: A5 0F LDA $0F CODE_01F905: 18 CLC CODE_01F906: 69 0A ADC.B #$0A CODE_01F908: C9 14 CMP.B #$14 CODE_01F90A: 90 23 BCC CODE_01F92F CODE_01F90C: 74 C2 STZ RAM_SpriteState,X CODE_01F90E: C4 76 CPY RAM_MarioDirection CODE_01F910: D0 02 BNE CODE_01F914 CODE_01F912: F6 C2 INC RAM_SpriteState,X CODE_01F914: A5 0F LDA $0F CODE_01F916: 18 CLC CODE_01F917: 69 0A ADC.B #$0A CODE_01F919: C9 14 CMP.B #$14 CODE_01F91B: 90 12 BCC CODE_01F92F CODE_01F91D: BD AC 15 LDA.W $15AC,X CODE_01F920: D0 4F BNE CODE_01F971 CODE_01F922: 98 TYA CODE_01F923: DD 7C 15 CMP.W RAM_SpriteDir,X CODE_01F926: F0 07 BEQ CODE_01F92F CODE_01F928: A9 1F LDA.B #$1F ; \ Set turning timer CODE_01F92A: 9D AC 15 STA.W $15AC,X ; / CODE_01F92D: 80 42 BRA CODE_01F971 CODE_01F92F: 9E 02 16 STZ.W $1602,X CODE_01F932: B5 C2 LDA RAM_SpriteState,X CODE_01F934: F0 53 BEQ CODE_01F989 CODE_01F936: A9 03 LDA.B #$03 CODE_01F938: 9D 02 16 STA.W $1602,X CODE_01F93B: B4 9E LDY RAM_SpriteNum,X CODE_01F93D: C0 28 CPY.B #$28 CODE_01F93F: F0 07 BEQ CODE_01F948 CODE_01F941: A9 00 LDA.B #$00 CODE_01F943: C0 AF CPY.B #$AF CODE_01F945: F0 01 BEQ CODE_01F948 CODE_01F947: 1A INC A CODE_01F948: 25 13 AND RAM_FrameCounter CODE_01F94A: D0 23 BNE CODE_01F96F CODE_01F94C: FE 70 15 INC.W $1570,X CODE_01F94F: BD 70 15 LDA.W $1570,X CODE_01F952: D0 05 BNE CODE_01F959 CODE_01F954: A9 20 LDA.B #$20 CODE_01F956: 9D 58 15 STA.W $1558,X CODE_01F959: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01F95B: F0 05 BEQ CODE_01F962 CODE_01F95D: 10 02 BPL CODE_01F961 CODE_01F95F: 1A INC A CODE_01F960: 1A INC A CODE_01F961: 3A DEC A CODE_01F962: 95 B6 STA RAM_SpriteSpeedX,X CODE_01F964: B5 AA LDA RAM_SpriteSpeedY,X CODE_01F966: F0 05 BEQ CODE_01F96D CODE_01F968: 10 02 BPL CODE_01F96C CODE_01F96A: 1A INC A CODE_01F96B: 1A INC A CODE_01F96C: 3A DEC A CODE_01F96D: 95 AA STA RAM_SpriteSpeedY,X CODE_01F96F: 80 57 BRA CODE_01F9C8 CODE_01F971: C9 10 CMP.B #$10 CODE_01F973: D0 0A BNE CODE_01F97F CODE_01F975: 48 PHA CODE_01F976: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01F979: 49 01 EOR.B #$01 CODE_01F97B: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01F97E: 68 PLA CODE_01F97F: 4A LSR CODE_01F980: 4A LSR CODE_01F981: 4A LSR CODE_01F982: A8 TAY CODE_01F983: B9 D1 F8 LDA.W DATA_01F8D1,Y CODE_01F986: 9D 02 16 STA.W $1602,X CODE_01F989: 9E 70 15 STZ.W $1570,X CODE_01F98C: A5 13 LDA RAM_FrameCounter CODE_01F98E: 29 07 AND.B #$07 CODE_01F990: D0 36 BNE CODE_01F9C8 CODE_01F992: 20 30 AD JSR.W SubHorizPos CODE_01F995: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01F997: D9 CF F8 CMP.W DATA_01F8CF,Y CODE_01F99A: F0 06 BEQ CODE_01F9A2 CODE_01F99C: 18 CLC CODE_01F99D: 79 B4 EB ADC.W DATA_01EBB4,Y CODE_01F9A0: 95 B6 STA RAM_SpriteSpeedX,X CODE_01F9A2: A5 D3 LDA $D3 CODE_01F9A4: 48 PHA CODE_01F9A5: 38 SEC CODE_01F9A6: ED B6 18 SBC.W $18B6 CODE_01F9A9: 85 D3 STA $D3 CODE_01F9AB: A5 D4 LDA $D4 CODE_01F9AD: 48 PHA CODE_01F9AE: E9 00 SBC.B #$00 CODE_01F9B0: 85 D4 STA $D4 CODE_01F9B2: 20 42 AD JSR.W CODE_01AD42 CODE_01F9B5: 68 PLA CODE_01F9B6: 85 D4 STA $D4 CODE_01F9B8: 68 PLA CODE_01F9B9: 85 D3 STA $D3 CODE_01F9BB: B5 AA LDA RAM_SpriteSpeedY,X CODE_01F9BD: D9 CF F8 CMP.W DATA_01F8CF,Y CODE_01F9C0: F0 06 BEQ CODE_01F9C8 CODE_01F9C2: 18 CLC CODE_01F9C3: 79 B4 EB ADC.W DATA_01EBB4,Y CODE_01F9C6: 95 AA STA RAM_SpriteSpeedY,X CODE_01F9C8: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01F9CB: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01F9CE: B5 9E LDA RAM_SpriteNum,X CODE_01F9D0: C9 AF CMP.B #$AF CODE_01F9D2: D0 69 BNE CODE_01FA3D CODE_01F9D4: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01F9D6: 10 03 BPL CODE_01F9DB CODE_01F9D8: 49 FF EOR.B #$FF CODE_01F9DA: 1A INC A CODE_01F9DB: A0 00 LDY.B #$00 CODE_01F9DD: C9 08 CMP.B #$08 CODE_01F9DF: B0 28 BCS CODE_01FA09 CODE_01F9E1: 48 PHA CODE_01F9E2: BD 62 16 LDA.W RAM_Tweaker1662,X CODE_01F9E5: 48 PHA CODE_01F9E6: BD 7A 16 LDA.W RAM_Tweaker167A,X CODE_01F9E9: 48 PHA CODE_01F9EA: 09 80 ORA.B #$80 CODE_01F9EC: 9D 7A 16 STA.W RAM_Tweaker167A,X CODE_01F9EF: A9 0C LDA.B #$0C CODE_01F9F1: 9D 62 16 STA.W RAM_Tweaker1662,X CODE_01F9F4: 20 57 B4 JSR.W CODE_01B457 CODE_01F9F7: 68 PLA CODE_01F9F8: 9D 7A 16 STA.W RAM_Tweaker167A,X CODE_01F9FB: 68 PLA CODE_01F9FC: 9D 62 16 STA.W RAM_Tweaker1662,X CODE_01F9FF: 68 PLA CODE_01FA00: A0 01 LDY.B #$01 CODE_01FA02: C9 04 CMP.B #$04 CODE_01FA04: B0 0F BCS CODE_01FA15 CODE_01FA06: C8 INY CODE_01FA07: 80 0C BRA CODE_01FA15 CODE_01FA09: BD C8 14 LDA.W $14C8,X CODE_01FA0C: C9 08 CMP.B #$08 CODE_01FA0E: D0 05 BNE CODE_01FA15 CODE_01FA10: 5A PHY CODE_01FA11: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01FA14: 7A PLY CODE_01FA15: 98 TYA CODE_01FA16: 9D 02 16 STA.W $1602,X CODE_01FA19: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01FA1C: BD 02 16 LDA.W $1602,X CODE_01FA1F: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01FA22: DA PHX CODE_01FA23: AA TAX CODE_01FA24: BD 37 FA LDA.W BooBlockTiles,X CODE_01FA27: 99 02 03 STA.W OAM_Tile,Y CODE_01FA2A: B9 03 03 LDA.W OAM_Prop,Y CODE_01FA2D: 29 F1 AND.B #$F1 CODE_01FA2F: 1D 3A FA ORA.W BooBlockGfxProp,X CODE_01FA32: 99 03 03 STA.W OAM_Prop,Y CODE_01FA35: FA PLX Return01FA36: 60 RTS ; Return BooBlockTiles: .db $8C,$C8,$CA BooBlockGfxProp: .db $0E,$02,$02 CODE_01FA3D: BD C8 14 LDA.W $14C8,X CODE_01FA40: C9 08 CMP.B #$08 CODE_01FA42: D0 03 BNE CODE_01FA47 CODE_01FA44: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01FA47: 22 98 83 03 JSL.L CODE_038398 Return01FA4B: 60 RTS ; Return DATA_01FA4C: .db $40,$00 IggyBallTiles: .db $4A,$4C,$4A,$4C DATA_01FA52: .db $35,$35,$F5,$F5 DATA_01FA56: .db $10,$F0 Iggy'sBall: 20 0D 9F JSR.W SubSprGfx2Entry1 CODE_01FA5B: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01FA5E: B9 4C FA LDA.W DATA_01FA4C,Y CODE_01FA61: 85 00 STA $00 CODE_01FA63: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01FA66: A5 14 LDA RAM_FrameCounterB CODE_01FA68: 4A LSR CODE_01FA69: 4A LSR CODE_01FA6A: 29 03 AND.B #$03 CODE_01FA6C: DA PHX CODE_01FA6D: AA TAX CODE_01FA6E: BD 4E FA LDA.W IggyBallTiles,X CODE_01FA71: 99 02 03 STA.W OAM_Tile,Y CODE_01FA74: BD 52 FA LDA.W DATA_01FA52,X CODE_01FA77: 45 00 EOR $00 CODE_01FA79: 99 03 03 STA.W OAM_Prop,Y CODE_01FA7C: FA PLX CODE_01FA7D: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01FA7F: D0 32 BNE Return01FAB3 ; / CODE_01FA81: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_01FA84: B9 56 FA LDA.W DATA_01FA56,Y CODE_01FA87: 95 B6 STA RAM_SpriteSpeedX,X CODE_01FA89: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01FA8C: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01FA8F: B5 AA LDA RAM_SpriteSpeedY,X CODE_01FA91: C9 40 CMP.B #$40 CODE_01FA93: 10 05 BPL CODE_01FA9A CODE_01FA95: 18 CLC CODE_01FA96: 69 04 ADC.B #$04 CODE_01FA98: 95 AA STA RAM_SpriteSpeedY,X CODE_01FA9A: 20 98 FF JSR.W CODE_01FF98 CODE_01FA9D: 90 04 BCC CODE_01FAA3 CODE_01FA9F: A9 F0 LDA.B #$F0 CODE_01FAA1: 95 AA STA RAM_SpriteSpeedY,X CODE_01FAA3: 20 E4 A7 JSR.W MarioSprInteractRt CODE_01FAA6: B5 D8 LDA RAM_SpriteYLo,X CODE_01FAA8: C9 44 CMP.B #$44 CODE_01FAAA: 90 07 BCC Return01FAB3 CODE_01FAAC: C9 50 CMP.B #$50 CODE_01FAAE: B0 03 BCS Return01FAB3 CODE_01FAB0: 20 CB 9A JSR.W CODE_019ACB Return01FAB3: 60 RTS ; Return DATA_01FAB4: .db $FF,$01,$00,$80,$60,$A0,$40,$D0 .db $D8,$C0,$C8,$0C,$F4 KoopaKid: B5 C2 LDA RAM_SpriteState,X CODE_01FAC3: 22 DF 86 00 JSL.L ExecutePtr ; 00 - Morton KoopaKidPtrs: AB CD .dw WallKoopaKids ; 02 - Ludwig AB CD .dw WallKoopaKids ; 03 - Iggy AB CD .dw WallKoopaKids ; 04 - Larry F5 FA .dw PlatformKoopaKids ; 05 - Lemmy F5 FA .dw PlatformKoopaKids ; 06 - Wendy 2A CD .dw PipeKoopaKids 2A CD .dw PipeKoopaKids DATA_01FAD5: .db $00,$FC,$F8,$F8,$F8,$F8,$F8,$F8 DATA_01FADD: .db $F8,$F8,$F8,$F4,$F0,$F0,$EC,$EC DATA_01FAE5: .db $00,$01,$02,$00,$01,$02,$00,$01 .db $02,$00,$01,$02,$00,$01,$02,$01 PlatformKoopaKids: A5 9D LDA RAM_SpritesLocked CODE_01FAF7: 1D 4C 15 ORA.W RAM_DisableInter,X CODE_01FAFA: D0 1E BNE CODE_01FB1A CODE_01FAFC: 20 30 AD JSR.W SubHorizPos CODE_01FAFF: 84 00 STY $00 CODE_01FB01: A5 36 LDA $36 CODE_01FB03: 0A ASL CODE_01FB04: 2A ROL CODE_01FB05: 29 01 AND.B #$01 CODE_01FB07: C5 00 CMP $00 CODE_01FB09: D0 0F BNE CODE_01FB1A CODE_01FB0B: FE 34 15 INC.W $1534,X CODE_01FB0E: BD 34 15 LDA.W $1534,X CODE_01FB11: 29 7F AND.B #$7F CODE_01FB13: D0 05 BNE CODE_01FB1A CODE_01FB15: A9 7F LDA.B #$7F ; \ Set time to go in shell CODE_01FB17: 9D 64 15 STA.W $1564,X ; / CODE_01FB1A: 9E A0 15 STZ.W RAM_OffscreenHorz,X CODE_01FB1D: BD 3E 16 LDA.W $163E,X CODE_01FB20: F0 14 BEQ CODE_01FB36 CODE_01FB22: 3A DEC A CODE_01FB23: D0 10 BNE Return01FB35 CODE_01FB25: EE C6 13 INC.W $13C6 CODE_01FB28: A9 FF LDA.B #$FF CODE_01FB2A: 8D 93 14 STA.W $1493 CODE_01FB2D: A9 0B LDA.B #$0B CODE_01FB2F: 8D FB 1D STA.W $1DFB ; / Change music CODE_01FB32: 9E C8 14 STZ.W $14C8,X Return01FB35: 60 RTS ; Return CODE_01FB36: 22 A0 F7 07 JSL.L LoadTweakerBytes CODE_01FB3A: A5 9D LDA RAM_SpritesLocked CODE_01FB3C: F0 03 BEQ CODE_01FB41 CODE_01FB3E: 4C 08 FC JMP.W CODE_01FC08 CODE_01FB41: BD 0E 16 LDA.W $160E,X CODE_01FB44: F0 35 BEQ CODE_01FB7B CODE_01FB46: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01FB49: 20 D8 AB JSR.W SubSprYPosNoGrvty CODE_01FB4C: B5 AA LDA RAM_SpriteSpeedY,X CODE_01FB4E: C9 40 CMP.B #$40 CODE_01FB50: 10 04 BPL CODE_01FB56 CODE_01FB52: F6 AA INC RAM_SpriteSpeedY,X CODE_01FB54: F6 AA INC RAM_SpriteSpeedY,X CODE_01FB56: B5 D8 LDA RAM_SpriteYLo,X CODE_01FB58: C9 58 CMP.B #$58 CODE_01FB5A: 90 12 BCC CODE_01FB6E CODE_01FB5C: C9 80 CMP.B #$80 CODE_01FB5E: B0 0E BCS CODE_01FB6E CODE_01FB60: A9 20 LDA.B #$20 ; \ Play sound effect CODE_01FB62: 8D FC 1D STA.W $1DFC ; / CODE_01FB65: A9 50 LDA.B #$50 CODE_01FB67: 9D 3E 16 STA.W $163E,X CODE_01FB6A: 22 C8 A6 03 JSL.L KillMostSprites ; Kill all sprites CODE_01FB6E: B5 E4 LDA RAM_SpriteXLo,X CODE_01FB70: 8D B8 14 STA.W $14B8 CODE_01FB73: B5 D8 LDA RAM_SpriteYLo,X CODE_01FB75: 8D BA 14 STA.W $14BA CODE_01FB78: 4C 0E FC JMP.W CODE_01FC0E CODE_01FB7B: 20 CC AB JSR.W SubSprXPosNoGrvty CODE_01FB7E: A5 13 LDA RAM_FrameCounter CODE_01FB80: 29 1F AND.B #$1F CODE_01FB82: 1D 64 15 ORA.W $1564,X CODE_01FB85: D0 12 BNE CODE_01FB99 CODE_01FB87: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01FB8A: 48 PHA CODE_01FB8B: 20 7C 85 JSR.W FaceMario CODE_01FB8E: 68 PLA CODE_01FB8F: DD 7C 15 CMP.W RAM_SpriteDir,X CODE_01FB92: F0 05 BEQ CODE_01FB99 CODE_01FB94: A9 10 LDA.B #$10 CODE_01FB96: 9D AC 15 STA.W $15AC,X CODE_01FB99: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_01FB9B: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_01FB9D: A5 36 LDA $36 CODE_01FB9F: 10 03 BPL CODE_01FBA4 CODE_01FBA1: 18 CLC CODE_01FBA2: 69 08 ADC.B #$08 CODE_01FBA4: 4A LSR CODE_01FBA5: 4A LSR CODE_01FBA6: 4A LSR CODE_01FBA7: 4A LSR CODE_01FBA8: A8 TAY CODE_01FBA9: 84 00 STY $00 CODE_01FBAB: 49 FF EOR.B #$FF CODE_01FBAD: 1A INC A CODE_01FBAE: 29 0F AND.B #$0F CODE_01FBB0: 85 01 STA $01 CODE_01FBB2: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01FBB5: D0 22 BNE CODE_01FBD9 CODE_01FBB7: A5 37 LDA $37 CODE_01FBB9: D0 0E BNE CODE_01FBC9 CODE_01FBBB: B5 E4 LDA RAM_SpriteXLo,X CODE_01FBBD: C9 78 CMP.B #$78 CODE_01FBBF: 90 04 BCC CODE_01FBC5 CODE_01FBC1: A9 FF LDA.B #$FF CODE_01FBC3: 80 29 BRA CODE_01FBEE CODE_01FBC5: A9 01 LDA.B #$01 CODE_01FBC7: 80 25 BRA CODE_01FBEE CODE_01FBC9: A4 01 LDY $01 CODE_01FBCB: B5 E4 LDA RAM_SpriteXLo,X CODE_01FBCD: C9 78 CMP.B #$78 CODE_01FBCF: B0 04 BCS CODE_01FBD5 CODE_01FBD1: A9 01 LDA.B #$01 CODE_01FBD3: 80 19 BRA CODE_01FBEE CODE_01FBD5: A9 FF LDA.B #$FF CODE_01FBD7: 80 15 BRA CODE_01FBEE CODE_01FBD9: A5 37 LDA $37 CODE_01FBDB: D0 0A BNE CODE_01FBE7 CODE_01FBDD: A4 00 LDY $00 CODE_01FBDF: B9 DD FA LDA.W DATA_01FADD,Y CODE_01FBE2: 49 FF EOR.B #$FF CODE_01FBE4: 1A INC A CODE_01FBE5: 80 05 BRA CODE_01FBEC CODE_01FBE7: A4 01 LDY $01 CODE_01FBE9: B9 DD FA LDA.W DATA_01FADD,Y CODE_01FBEC: 0A ASL CODE_01FBED: 0A ASL CODE_01FBEE: 95 B6 STA RAM_SpriteSpeedX,X CODE_01FBF0: FE 70 15 INC.W $1570,X CODE_01FBF3: B5 B6 LDA RAM_SpriteSpeedX,X CODE_01FBF5: F0 03 BEQ CODE_01FBFA CODE_01FBF7: FE 70 15 INC.W $1570,X CODE_01FBFA: BD 70 15 LDA.W $1570,X CODE_01FBFD: 4A LSR CODE_01FBFE: 4A LSR CODE_01FBFF: 29 0F AND.B #$0F CODE_01FC01: A8 TAY CODE_01FC02: B9 E5 FA LDA.W DATA_01FAE5,Y CODE_01FC05: 9D 02 16 STA.W $1602,X CODE_01FC08: 20 50 FD JSR.W CODE_01FD50 CODE_01FC0B: 20 62 FC JSR.W CODE_01FC62 CODE_01FC0E: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01FC11: D0 3B BNE CODE_01FC4E CODE_01FC13: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01FC16: 48 PHA CODE_01FC17: BC AC 15 LDY.W $15AC,X CODE_01FC1A: F0 0E BEQ CODE_01FC2A CODE_01FC1C: C0 08 CPY.B #$08 CODE_01FC1E: 90 05 BCC CODE_01FC25 CODE_01FC20: 49 01 EOR.B #$01 CODE_01FC22: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_01FC25: A9 06 LDA.B #$06 CODE_01FC27: 9D 02 16 STA.W $1602,X CODE_01FC2A: BD 64 15 LDA.W $1564,X CODE_01FC2D: F0 17 BEQ CODE_01FC46 CODE_01FC2F: 48 PHA CODE_01FC30: 4A LSR CODE_01FC31: 4A LSR CODE_01FC32: 4A LSR CODE_01FC33: A8 TAY CODE_01FC34: B9 95 FD LDA.W DATA_01FD95,Y CODE_01FC37: 9D 02 16 STA.W $1602,X CODE_01FC3A: 68 PLA CODE_01FC3B: C9 28 CMP.B #$28 CODE_01FC3D: D0 07 BNE CODE_01FC46 CODE_01FC3F: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_01FC41: D0 03 BNE CODE_01FC46 ; / CODE_01FC43: 20 A7 FD JSR.W ThrowBall ; Throw ball CODE_01FC46: 20 BC FE JSR.W CODE_01FEBC CODE_01FC49: 68 PLA CODE_01FC4A: 9D 7C 15 STA.W RAM_SpriteDir,X Return01FC4D: 60 RTS ; Return CODE_01FC4E: C9 10 CMP.B #$10 CODE_01FC50: 90 08 BCC CODE_01FC5A CODE_01FC52: A9 03 LDA.B #$03 CODE_01FC54: 9D 02 16 STA.W $1602,X CODE_01FC57: 4C BC FE JMP.W CODE_01FEBC CODE_01FC5A: C9 08 CMP.B #$08 CODE_01FC5C: 90 F4 BCC CODE_01FC52 CODE_01FC5E: 20 5B FF JSR.W CODE_01FF5B Return01FC61: 60 RTS ; Return CODE_01FC62: A5 71 LDA RAM_MarioAnimation CODE_01FC64: C9 01 CMP.B #$01 CODE_01FC66: B0 F9 BCS Return01FC61 CODE_01FC68: BD 0E 16 LDA.W $160E,X CODE_01FC6B: D0 F4 BNE Return01FC61 CODE_01FC6D: B5 E4 LDA RAM_SpriteXLo,X CODE_01FC6F: C9 20 CMP.B #$20 CODE_01FC71: 90 04 BCC CODE_01FC77 CODE_01FC73: C9 D8 CMP.B #$D8 CODE_01FC75: 90 0D BCC CODE_01FC84 CODE_01FC77: AD B8 14 LDA.W $14B8 CODE_01FC7A: 95 E4 STA RAM_SpriteXLo,X CODE_01FC7C: AD BA 14 LDA.W $14BA CODE_01FC7F: 95 D8 STA RAM_SpriteYLo,X CODE_01FC81: FE 0E 16 INC.W $160E,X CODE_01FC84: AD B8 14 LDA.W $14B8 CODE_01FC87: 38 SEC CODE_01FC88: E9 08 SBC.B #$08 CODE_01FC8A: 85 00 STA $00 CODE_01FC8C: AD BA 14 LDA.W $14BA CODE_01FC8F: 18 CLC CODE_01FC90: 69 60 ADC.B #$60 CODE_01FC92: 85 01 STA $01 CODE_01FC94: A9 0F LDA.B #$0F CODE_01FC96: 85 02 STA $02 CODE_01FC98: A9 0C LDA.B #$0C CODE_01FC9A: 85 03 STA $03 CODE_01FC9C: 64 08 STZ $08 CODE_01FC9E: 64 09 STZ $09 CODE_01FCA0: A5 7E LDA $7E CODE_01FCA2: 18 CLC CODE_01FCA3: 69 02 ADC.B #$02 CODE_01FCA5: 85 04 STA $04 CODE_01FCA7: A5 80 LDA $80 CODE_01FCA9: 18 CLC CODE_01FCAA: 69 10 ADC.B #$10 CODE_01FCAC: 85 05 STA $05 CODE_01FCAE: A9 0C LDA.B #$0C CODE_01FCB0: 85 06 STA $06 CODE_01FCB2: A9 0E LDA.B #$0E CODE_01FCB4: 85 07 STA $07 CODE_01FCB6: 64 0A STZ $0A CODE_01FCB8: 64 0B STZ $0B CODE_01FCBA: 22 2B B7 03 JSL.L CheckForContact CODE_01FCBE: 90 4A BCC CODE_01FD0A CODE_01FCC0: BD 58 15 LDA.W $1558,X CODE_01FCC3: D0 44 BNE Return01FD09 CODE_01FCC5: A9 08 LDA.B #$08 CODE_01FCC7: 9D 58 15 STA.W $1558,X CODE_01FCCA: A5 72 LDA RAM_IsFlying CODE_01FCCC: F0 37 BEQ CODE_01FD05 CODE_01FCCE: A9 28 LDA.B #$28 ; \ Play sound effect CODE_01FCD0: 8D FC 1D STA.W $1DFC ; / CODE_01FCD3: 22 33 AA 01 JSL.L BoostMarioSpeed CODE_01FCD7: B5 E4 LDA RAM_SpriteXLo,X CODE_01FCD9: 48 PHA CODE_01FCDA: B5 D8 LDA RAM_SpriteYLo,X CODE_01FCDC: 48 PHA CODE_01FCDD: AD B8 14 LDA.W $14B8 CODE_01FCE0: 38 SEC CODE_01FCE1: E9 08 SBC.B #$08 CODE_01FCE3: 95 E4 STA RAM_SpriteXLo,X CODE_01FCE5: AD BA 14 LDA.W $14BA CODE_01FCE8: 38 SEC CODE_01FCE9: E9 10 SBC.B #$10 CODE_01FCEB: 95 D8 STA RAM_SpriteYLo,X CODE_01FCED: 9E A0 15 STZ.W RAM_OffscreenHorz,X CODE_01FCF0: 22 99 AB 01 JSL.L DisplayContactGfx CODE_01FCF4: 68 PLA CODE_01FCF5: 95 D8 STA RAM_SpriteYLo,X CODE_01FCF7: 68 PLA CODE_01FCF8: 95 E4 STA RAM_SpriteXLo,X CODE_01FCFA: BD 4C 15 LDA.W RAM_DisableInter,X CODE_01FCFD: D0 0A BNE Return01FD09 CODE_01FCFF: A9 18 LDA.B #$18 CODE_01FD01: 9D 4C 15 STA.W RAM_DisableInter,X Return01FD04: 60 RTS ; Return CODE_01FD05: 22 B7 F5 00 JSL.L HurtMario Return01FD09: 60 RTS ; Return CODE_01FD0A: A0 0A LDY.B #$0A CODE_01FD0C: 8C 95 16 STY.W $1695 CODE_01FD0F: B9 0B 17 LDA.W RAM_ExSpriteNum,Y CODE_01FD12: C9 05 CMP.B #$05 CODE_01FD14: D0 34 BNE CODE_01FD4A CODE_01FD16: B9 1F 17 LDA.W RAM_ExSpriteXLo,Y CODE_01FD19: 38 SEC CODE_01FD1A: E5 1A SBC RAM_ScreenBndryXLo CODE_01FD1C: 85 04 STA $04 CODE_01FD1E: 64 0A STZ $0A CODE_01FD20: B9 15 17 LDA.W RAM_ExSpriteYLo,Y CODE_01FD23: 38 SEC CODE_01FD24: E5 1C SBC RAM_ScreenBndryYLo CODE_01FD26: 85 05 STA $05 CODE_01FD28: 64 0B STZ $0B CODE_01FD2A: A9 08 LDA.B #$08 CODE_01FD2C: 85 06 STA $06 CODE_01FD2E: 85 07 STA $07 CODE_01FD30: 22 2B B7 03 JSL.L CheckForContact CODE_01FD34: 90 14 BCC CODE_01FD4A CODE_01FD36: A9 01 LDA.B #$01 ; \ Extended sprite = Smoke puff CODE_01FD38: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_01FD3B: A9 0F LDA.B #$0F CODE_01FD3D: 99 6F 17 STA.W $176F,Y CODE_01FD40: A9 01 LDA.B #$01 ; \ Play sound effect CODE_01FD42: 8D F9 1D STA.W $1DF9 ; / CODE_01FD45: A9 10 LDA.B #$10 CODE_01FD47: 9D 4C 15 STA.W RAM_DisableInter,X CODE_01FD4A: 88 DEY CODE_01FD4B: C0 07 CPY.B #$07 CODE_01FD4D: D0 BD BNE CODE_01FD0C Return01FD4F: 60 RTS ; Return CODE_01FD50: B5 E4 LDA RAM_SpriteXLo,X CODE_01FD52: 18 CLC CODE_01FD53: 69 08 ADC.B #$08 CODE_01FD55: 8D B4 14 STA.W $14B4 CODE_01FD58: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_01FD5B: 69 00 ADC.B #$00 CODE_01FD5D: 8D B5 14 STA.W $14B5 CODE_01FD60: B5 D8 LDA RAM_SpriteYLo,X CODE_01FD62: 18 CLC CODE_01FD63: 69 2F ADC.B #$2F CODE_01FD65: 8D B6 14 STA.W $14B6 CODE_01FD68: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_01FD6B: 69 00 ADC.B #$00 CODE_01FD6D: 8D B7 14 STA.W $14B7 CODE_01FD70: C2 20 REP #$20 ; Accum (16 bit) CODE_01FD72: A5 36 LDA $36 CODE_01FD74: 49 FF 01 EOR.W #$01FF CODE_01FD77: 1A INC A CODE_01FD78: 29 FF 01 AND.W #$01FF CODE_01FD7B: 85 36 STA $36 CODE_01FD7D: E2 20 SEP #$20 ; Accum (8 bit) CODE_01FD7F: DA PHX CODE_01FD80: 22 9D CC 01 JSL.L CODE_01CC9D CODE_01FD84: FA PLX CODE_01FD85: C2 20 REP #$20 ; Accum (16 bit) CODE_01FD87: A5 36 LDA $36 CODE_01FD89: 49 FF 01 EOR.W #$01FF CODE_01FD8C: 1A INC A CODE_01FD8D: 29 FF 01 AND.W #$01FF CODE_01FD90: 85 36 STA $36 CODE_01FD92: E2 20 SEP #$20 ; Accum (8 bit) Return01FD94: 60 RTS ; Return DATA_01FD95: .db $04,$0B,$0B,$0B,$0B,$0A,$0A,$09 .db $09,$08,$08,$07,$04,$05,$05,$05 BallPositionDispX: .db $08,$F8 ThrowBall: A0 05 LDY.B #$05 ; \ Find an open sprite index CODE_01FDA9: B9 C8 14 LDA.W $14C8,Y ; | CODE_01FDAC: F0 04 BEQ GenerateBall ; | CODE_01FDAE: 88 DEY ; | CODE_01FDAF: 10 F8 BPL CODE_01FDA9 ; / Return01FDB1: 60 RTS ; Return GenerateBall: A9 20 LDA.B #$20 ; \ Play sound effect CODE_01FDB4: 8D F9 1D STA.W $1DF9 ; / CODE_01FDB7: A9 08 LDA.B #$08 ; \ Sprite status = normal CODE_01FDB9: 99 C8 14 STA.W $14C8,Y ; / CODE_01FDBC: A9 A7 LDA.B #$A7 ; \ Sprite to throw = Ball CODE_01FDBE: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_01FDC1: DA PHX ; \ Before: X must have index of sprite being generated CODE_01FDC2: BB TYX ; | Routine clears *all* old sprite values... CODE_01FDC3: 22 D2 F7 07 JSL.L InitSpriteTables ; | ...and loads in new values for the 6 main sprite tables CODE_01FDC7: FA PLX ; / CODE_01FDC8: DA PHX ; Push Iggy's sprite index CODE_01FDC9: BD 7C 15 LDA.W RAM_SpriteDir,X ; \ Ball's direction = Iggy'direction CODE_01FDCC: 99 7C 15 STA.W RAM_SpriteDir,Y ; / CODE_01FDCF: AA TAX ; X = Ball's direction CODE_01FDD0: AD B8 14 LDA.W $14B8 ; \ Set Ball X position CODE_01FDD3: 38 SEC ; | CODE_01FDD4: E9 08 SBC.B #$08 ; | CODE_01FDD6: 7D A5 FD ADC.W BallPositionDispX,X ; | CODE_01FDD9: 99 E4 00 STA.W RAM_SpriteXLo,Y ; | CODE_01FDDC: A9 00 LDA.B #$00 ; | CODE_01FDDE: 99 E0 14 STA.W RAM_SpriteXHi,Y ; / CODE_01FDE1: AD BA 14 LDA.W $14BA ; \ Set Ball Y position CODE_01FDE4: 38 SEC ; | CODE_01FDE5: E9 18 SBC.B #$18 ; | CODE_01FDE7: 99 D8 00 STA.W RAM_SpriteYLo,Y ; | CODE_01FDEA: A9 00 LDA.B #$00 ; | CODE_01FDEC: E9 00 SBC.B #$00 ; | CODE_01FDEE: 99 D4 14 STA.W RAM_SpriteYHi,Y ; / CODE_01FDF1: FA PLX ; X = Iggy's sprite index Return01FDF2: 60 RTS ; Return DATA_01FDF3: .db $F7,$FF,$00,$F8,$F7,$FF,$00,$F8 .db $F8,$00,$00,$F8,$FB,$03,$00,$F8 .db $F8,$00,$00,$F8,$FA,$02,$00,$F8 .db $00,$00,$F8,$00,$00,$F8,$00,$F8 .db $00,$00,$00,$00,$FB,$F8,$00,$F8 .db $F4,$F8,$00,$F8,$00,$F8,$00,$F8 .db $09,$09,$00,$10,$09,$09,$00,$10 .db $08,$08,$00,$10,$05,$05,$00,$10 .db $08,$08,$00,$10,$06,$06,$00,$10 .db $00,$08,$08,$08,$00,$10,$00,$10 .db $00,$08,$00,$08,$05,$10,$00,$10 .db $0C,$10,$00,$10,$00,$10,$00,$10 DATA_01FE53: .db $FA,$F2,$00,$09,$F9,$F1,$00,$08 .db $F8,$F0,$00,$08,$FE,$F6,$00,$08 .db $FC,$F4,$00,$08,$FF,$F7,$00,$08 .db $00,$F0,$F8,$F0,$00,$00,$00,$00 .db $00,$00,$00,$00,$FC,$00,$00,$00 .db $F9,$00,$00,$00,$00,$08,$00,$08 DATA_01FE83: .db $00,$0C,$02,$0A,$00,$0C,$22,$0A .db $00,$0C,$20,$0A,$00,$0C,$20,$0A .db $00,$0C,$20,$0A,$00,$0C,$20,$0A .db $24,$1C,$04,$1C,$0E,$0D,$0E,$0D .db $0E,$1D,$0E,$1D,$4A,$0D,$0E,$0D .db $4A,$0D,$0E,$0D,$20,$0A,$20,$0A DATA_01FEB3: .db $06,$02,$08 DATA_01FEB6: .db $02 DATA_01FEB7: .db $00,$02,$00,$37,$3B CODE_01FEBC: B4 C2 LDY RAM_SpriteState,X CODE_01FEBE: B9 B7 FE LDA.W DATA_01FEB7,Y CODE_01FEC1: 85 0D STA $0D CODE_01FEC3: 84 05 STY $05 CODE_01FEC5: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_01FEC8: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_01FECB: 4A LSR CODE_01FECC: 6A ROR CODE_01FECD: 4A LSR CODE_01FECE: 29 40 AND.B #$40 CODE_01FED0: 49 40 EOR.B #$40 CODE_01FED2: 85 02 STA $02 CODE_01FED4: BD 02 16 LDA.W $1602,X CODE_01FED7: 0A ASL CODE_01FED8: 0A ASL CODE_01FED9: 85 03 STA $03 CODE_01FEDB: DA PHX CODE_01FEDC: A2 03 LDX.B #$03 CODE_01FEDE: DA PHX CODE_01FEDF: 8A TXA CODE_01FEE0: 18 CLC CODE_01FEE1: 65 03 ADC $03 CODE_01FEE3: AA TAX CODE_01FEE4: DA PHX CODE_01FEE5: A5 02 LDA $02 CODE_01FEE7: F0 05 BEQ CODE_01FEEE CODE_01FEE9: 8A TXA CODE_01FEEA: 18 CLC CODE_01FEEB: 69 30 ADC.B #$30 CODE_01FEED: AA TAX CODE_01FEEE: AD B8 14 LDA.W $14B8 CODE_01FEF1: 38 SEC CODE_01FEF2: E9 08 SBC.B #$08 CODE_01FEF4: 18 CLC CODE_01FEF5: 7D F3 FD ADC.W DATA_01FDF3,X CODE_01FEF8: 99 00 03 STA.W OAM_DispX,Y CODE_01FEFB: FA PLX CODE_01FEFC: AD BA 14 LDA.W $14BA CODE_01FEFF: 18 CLC CODE_01FF00: 69 60 ADC.B #$60 CODE_01FF02: 18 CLC CODE_01FF03: 7D 53 FE ADC.W DATA_01FE53,X CODE_01FF06: 99 01 03 STA.W OAM_DispY,Y CODE_01FF09: BD 83 FE LDA.W DATA_01FE83,X CODE_01FF0C: 99 02 03 STA.W OAM_Tile,Y CODE_01FF0F: DA PHX CODE_01FF10: A6 05 LDX $05 CODE_01FF12: E0 03 CPX.B #$03 CODE_01FF14: D0 0C BNE CODE_01FF22 CODE_01FF16: C9 05 CMP.B #$05 CODE_01FF18: B0 08 BCS CODE_01FF22 CODE_01FF1A: 4A LSR CODE_01FF1B: AA TAX CODE_01FF1C: BD B3 FE LDA.W DATA_01FEB3,X CODE_01FF1F: 99 02 03 STA.W OAM_Tile,Y CODE_01FF22: B9 02 03 LDA.W OAM_Tile,Y CODE_01FF25: C9 4A CMP.B #$4A CODE_01FF27: A5 0D LDA $0D CODE_01FF29: 90 02 BCC CODE_01FF2D CODE_01FF2B: A9 35 LDA.B #$35 ; Iggy ball palette CODE_01FF2D: 05 02 ORA $02 CODE_01FF2F: 99 03 03 STA.W OAM_Prop,Y CODE_01FF32: 68 PLA CODE_01FF33: 29 03 AND.B #$03 CODE_01FF35: AA TAX CODE_01FF36: 5A PHY CODE_01FF37: 98 TYA CODE_01FF38: 4A LSR CODE_01FF39: 4A LSR CODE_01FF3A: A8 TAY CODE_01FF3B: BD B6 FE LDA.W DATA_01FEB6,X CODE_01FF3E: 99 60 04 STA.W OAM_TileSize,Y CODE_01FF41: 7A PLY CODE_01FF42: C8 INY CODE_01FF43: C8 INY CODE_01FF44: C8 INY CODE_01FF45: C8 INY CODE_01FF46: FA PLX CODE_01FF47: CA DEX CODE_01FF48: 10 94 BPL CODE_01FEDE CODE_01FF4A: FA PLX CODE_01FF4B: A0 FF LDY.B #$FF CODE_01FF4D: A9 03 LDA.B #$03 CODE_01FF4F: 20 BB B7 JSR.W FinishOAMWriteRt Return01FF52: 60 RTS ; Return DATA_01FF53: .db $2C,$2E,$2C,$2E DATA_01FF57: .db $00,$00,$40,$00 CODE_01FF5B: DA PHX CODE_01FF5C: B4 C2 LDY RAM_SpriteState,X CODE_01FF5E: B9 B7 FE LDA.W DATA_01FEB7,Y CODE_01FF61: 85 0D STA $0D CODE_01FF63: A0 70 LDY.B #$70 CODE_01FF65: AD B8 14 LDA.W $14B8 CODE_01FF68: 38 SEC CODE_01FF69: E9 08 SBC.B #$08 CODE_01FF6B: 99 00 03 STA.W OAM_DispX,Y CODE_01FF6E: AD BA 14 LDA.W $14BA CODE_01FF71: 18 CLC CODE_01FF72: 69 60 ADC.B #$60 CODE_01FF74: 99 01 03 STA.W OAM_DispY,Y CODE_01FF77: A5 14 LDA RAM_FrameCounterB CODE_01FF79: 4A LSR CODE_01FF7A: 29 03 AND.B #$03 CODE_01FF7C: AA TAX CODE_01FF7D: BD 53 FF LDA.W DATA_01FF53,X CODE_01FF80: 99 02 03 STA.W OAM_Tile,Y CODE_01FF83: A9 30 LDA.B #$30 CODE_01FF85: 1D 57 FF ORA.W DATA_01FF57,X CODE_01FF88: 05 0D ORA $0D CODE_01FF8A: 99 03 03 STA.W OAM_Prop,Y CODE_01FF8D: 98 TYA CODE_01FF8E: 4A LSR CODE_01FF8F: 4A LSR CODE_01FF90: A8 TAY CODE_01FF91: A9 02 LDA.B #$02 CODE_01FF93: 99 60 04 STA.W OAM_TileSize,Y CODE_01FF96: FA PLX Return01FF97: 60 RTS ; Return CODE_01FF98: B5 E4 LDA RAM_SpriteXLo,X ; \ $14B4,$14B5 = Sprite X position + #$08 CODE_01FF9A: 18 CLC ; | CODE_01FF9B: 69 08 ADC.B #$08 ; | CODE_01FF9D: 8D B4 14 STA.W $14B4 ; | CODE_01FFA0: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_01FFA3: 69 00 ADC.B #$00 ; | CODE_01FFA5: 8D B5 14 STA.W $14B5 ; / CODE_01FFA8: B5 D8 LDA RAM_SpriteYLo,X ; \ $14B6,$14B7 = Sprite Y position + #$0F CODE_01FFAA: 18 CLC ; | CODE_01FFAB: 69 0F ADC.B #$0F ; | CODE_01FFAD: 8D B6 14 STA.W $14B6 ; | CODE_01FFB0: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_01FFB3: 69 00 ADC.B #$00 ; | CODE_01FFB5: 8D B7 14 STA.W $14B7 ; / CODE_01FFB8: DA PHX CODE_01FFB9: 22 9D CC 01 JSL.L CODE_01CC9D CODE_01FFBD: FA PLX Return01FFBE: 60 RTS ; Return DATA_01FFBF: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF DATA_028000: .db $80,$40,$20,$10,$08,$04,$02,$01 ;;; all.log 028008..028071 ;;; ;;; New labels (not in original all.log): ;;; $7E0DC2 => RAM_ReservedItem ;;; $7E14C8 => RAM_SpriteAction ;;; $7E1534 => RAM_BlinkFallFlag ;;; CODE_028008 => DropReservedItem ;;; CODE_028019 => DropRiFindSlot ;;; CODE_028042 => DropRiHaveSlot ;;; CODE_028070 => DropRiEnd ;;; ;;; RAM_SpriteAction andd RAM_BlinkFallFlag are tables for processing 12 common sprites. ;;; The index X must be in range 0..11. ;;; ;;; Values for RAM_SpriteAction,X: ;;; $00 => empty sprite slot ;;; $08 => normal action ;;; See http://www.smwcentral.net/?p=thread&id=11960 for other values. ;;; ;;; Values for RAM_BlinkFallFlag,X: ;;; $00 => off ;;; $01 => on, tell sprite to blink and fall down through tiles ;;; ;;; RAM_BlinkFallFlag affects only a few sprites (at least the Super Mushroom, Fire Flower, Starman ;;; and 1-up Mushroom) and does not affect the Cape Feather. RAM_BlinkFallFlag might also have an ;;; unknown effect to a few other sprites; the flag seems to cause Super Koopas to flash their capes ;;; (but not to give feathers). ;;; ;;; Values for RAM_ReservedItem: ;;; $00 => empty item box ;;; $01 => sprite $74, Super Mushroom ;;; $02 => sprite $75, Fire Flower ;;; $03 => sprite $76, Starman, flashes gray instead of red until you drop the item ;;; $04 => sprite $77, Cape Feather ;;; $05 => sprite $78, 1-up Mushroom, wrong graphics until you drop the item ;;; JSL subroutine ;;; preserves X ;;; ;;; Drops the reserved item from the item box. If the item box is empty, then this routine does ;;; nothing, else this routine empties the item box and creates a falling sprite for the item. ;;; ;;; When Mario takes damage and powers down, SMW jumps to this routine from $00F5F8. ;;; ;;; You can JSL here whenever you want to drop the reserved item from the item box. The data bank ;;; can be any bank that mirrors $7E0000..$7E1FFF. ;;; ;;; 028008: DropReservedItem: DA PHX ; Preserve the value of X CODE_028009: AD C2 0D LDA.W RAM_ReservedItem ; \ If item box is empty, then skip CODE_02800C: F0 62 BEQ DropRiEnd ; / ahead to end of routine. CODE_02800E: 9C C2 0D STZ.W RAM_ReservedItem ; Item box = empty CODE_028011: 48 PHA ; Push A = reserved item CODE_028012: A9 0C LDA.B #$0C ; \ Play sound effect for item falling CODE_028014: 8D FC 1D STA.W $1DFC ; / from item box. CODE_028017: A2 0B LDX.B #$0B ; X = 11 DropRiFindSlot: BD C8 14 LDA.W RAM_SpriteAction,X ; \ Branch if sprite slot X is empty CODE_02801C: F0 24 BEQ DropRiHaveSlot ; / CODE_02801E: CA DEX ; X = X - 1 CODE_02801F: 10 F8 BPL DropRiFindSlot ; Loop back unless X < 0 ;; If we are here, then all 12 sprite slots are full. We delete ;; one of the twelve sprites so that we have a slot for the item ;; falling from the item box. To delete the sprite, we store its ;; slot number in X and fall through to the code that creates the ;; new sprite. ;; ADDR_028021: CE 61 18 DEC.W $1861 ; \ Swap the value of $7E1861 ADDR_028024: 10 05 BPL ADDR_02802B ; |$00 becomes $01 ADDR_028026: A9 01 LDA.B #$01 ; |$01 becomes $00 ADDR_028028: 8D 61 18 STA.W $1861 ; / ADDR_02802B: AD 61 18 LDA.W $1861 ; \ X = RAM $7E1861 + 10 ADDR_02802E: 18 CLC ; |Select sprite 10 or sprite 11 ADDR_02802F: 69 0A ADC.B #$0A ; | ADDR_028031: AA TAX ; / ADDR_028032: B5 9E LDA RAM_SpriteNum,X ; \ If this sprite was a P-balloon ADDR_028034: C9 7D CMP.B #$7D ; |(number $7D) and Mario carries the ADDR_028036: D0 0A BNE DropRiHaveSlot ; |balloon (action $0B), ADDR_028038: BD C8 14 LDA.W RAM_SpriteAction,X ; | ADDR_02803B: C9 0B CMP.B #$0B ; |then RAM $7E13F3 = zero. ADDR_02803D: D0 03 BNE DropRiHaveSlot ; |($7E13F3 might control the pose of ADDR_02803F: 9C F3 13 STZ.W $13F3 ; / Mario while using the balloon?) ;; X is now an empty sprite slot. We occupy the slot with a sprite ;; of the item falling from the item box. ;; DropRiHaveSlot: A9 08 LDA.B #$08 ; \ Sprite status = Normal (action $08) CODE_028044: 9D C8 14 STA.W RAM_SpriteAction,X ; / CODE_028047: 68 PLA ; Restore A = reserved item CODE_028048: 18 CLC ; \ Sprite number = reserved item + $73 CODE_028049: 69 73 ADC.B #$73 ; | CODE_02804B: 95 9E STA RAM_SpriteNum,X ; / CODE_02804D: 22 D2 F7 07 JSL.L InitSpriteTables ; Set up the new sprite CODE_028051: A9 78 LDA.B #$78 ; \ Set the X-position of the falling CODE_028053: 18 CLC ; | item to 120 pixels from the left CODE_028054: 65 1A ADC RAM_ScreenBndryXLo ; | edge of the screen. CODE_028056: 95 E4 STA RAM_SpriteXLo,X ; | CODE_028058: A5 1B LDA RAM_ScreenBndryXHi ; | X_pos of sprite = ;; carry ; | $78 + X_pos of screen CODE_02805A: 69 00 ADC.B #$00 ; | CODE_02805C: 9D E0 14 STA.W RAM_SpriteXHi,X ; / CODE_02805F: A9 20 LDA.B #$20 ; \ Set the Y-position of the falling CODE_028061: 18 CLC ; | sprite to 32 pixels from the top CODE_028062: 65 1C ADC RAM_ScreenBndryYLo ; | edge of the screen. CODE_028064: 95 D8 STA RAM_SpriteYLo,X ; | CODE_028066: A5 1D LDA RAM_ScreenBndryYHi ; | Y_pos of sprite = ;; carry ; | $20 + Y_pos of screen CODE_028068: 69 00 ADC.B #$00 ; | CODE_02806A: 9D D4 14 STA.W RAM_SpriteYHi,X ; / CODE_02806D: FE 34 15 INC.W RAM_BlinkFallFlag,X ; Tell sprite to blink and fall DropRiEnd: FA PLX ; Restore the value of X Return028071: 6B RTL ; Return ;;; 028072: BombExplosionX: .db $00,$08,$06,$FA,$F8,$06,$08,$00 .db $F8,$FA ;;; 02807C: BombExplosionY: .db $F8,$FE,$06,$06,$FE,$FA,$02,$08 .db $02,$FA ;;; 028088: ExplodeBombRt: 20 8A 80 JSR.W ExplodeBombSubRt ;BOMB Return028089: 6B RTL ; Return ;;; 02808A: ExplodeBombSubRt: 9E 56 16 STZ.W RAM_Tweaker1656,X ; Make sprite unstompable CODE_02808D: A9 11 LDA.B #$11 ; \ Set new clipping area for explosion CODE_02808F: 9D 62 16 STA.W RAM_Tweaker1662,X ; / CODE_028092: 20 78 D3 JSR.W GetDrawInfo2 CODE_028095: A5 9D LDA RAM_SpritesLocked ; \ Increase frame count if sprites not locked CODE_028097: D0 03 BNE CODE_02809C ; | CODE_028099: FE 70 15 INC.W $1570,X ; / CODE_02809C: BD 40 15 LDA.W $1540,X ; \ When timer is up free up sprite slot CODE_02809F: D0 04 BNE ExplodeBombGfx ; | CODE_0280A1: 9E C8 14 STZ.W $14C8,X ; / Return0280A4: 60 RTS ; Return ExplodeBombGfx: BD 40 15 LDA.W $1540,X CODE_0280A8: 4A LSR CODE_0280A9: 29 03 AND.B #$03 CODE_0280AB: C9 03 CMP.B #$03 CODE_0280AD: D0 11 BNE CODE_0280C0 CODE_0280AF: 20 39 81 JSR.W ExplodeSprites CODE_0280B2: BD 40 15 LDA.W $1540,X CODE_0280B5: 38 SEC CODE_0280B6: E9 10 SBC.B #$10 CODE_0280B8: C9 20 CMP.B #$20 CODE_0280BA: B0 04 BCS CODE_0280C0 CODE_0280BC: 22 DC A7 01 JSL.L MarioSprInteract CODE_0280C0: A0 04 LDY.B #$04 CODE_0280C2: 84 0F STY $0F CODE_0280C4: BD 40 15 LDA.W $1540,X CODE_0280C7: 4A LSR CODE_0280C8: 48 PHA CODE_0280C9: 29 03 AND.B #$03 CODE_0280CB: 85 02 STA $02 CODE_0280CD: B5 E4 LDA RAM_SpriteXLo,X CODE_0280CF: 38 SEC CODE_0280D0: E5 1A SBC RAM_ScreenBndryXLo CODE_0280D2: 18 CLC CODE_0280D3: 69 04 ADC.B #$04 CODE_0280D5: 85 00 STA $00 CODE_0280D7: B5 D8 LDA RAM_SpriteYLo,X CODE_0280D9: 38 SEC CODE_0280DA: E5 1C SBC RAM_ScreenBndryYLo CODE_0280DC: 18 CLC CODE_0280DD: 69 04 ADC.B #$04 CODE_0280DF: 85 01 STA $01 CODE_0280E1: A4 0F LDY $0F CODE_0280E3: 68 PLA CODE_0280E4: 29 04 AND.B #$04 CODE_0280E6: F0 05 BEQ CODE_0280ED CODE_0280E8: 98 TYA CODE_0280E9: 18 CLC CODE_0280EA: 69 05 ADC.B #$05 CODE_0280EC: A8 TAY CODE_0280ED: A5 00 LDA $00 CODE_0280EF: 18 CLC CODE_0280F0: 79 72 80 ADC.W BombExplosionX,Y CODE_0280F3: 85 00 STA $00 CODE_0280F5: A5 01 LDA $01 CODE_0280F7: 18 CLC CODE_0280F8: 79 7C 80 ADC.W BombExplosionY,Y CODE_0280FB: 85 01 STA $01 CODE_0280FD: C6 02 DEC $02 CODE_0280FF: 10 EC BPL CODE_0280ED CODE_028101: A5 0F LDA $0F CODE_028103: 0A ASL CODE_028104: 0A ASL CODE_028105: 7D EA 15 ADC.W RAM_SprOAMIndex,X CODE_028108: A8 TAY CODE_028109: A5 00 LDA $00 CODE_02810B: 99 00 03 STA.W OAM_DispX,Y CODE_02810E: A5 01 LDA $01 CODE_028110: 99 01 03 STA.W OAM_DispY,Y CODE_028113: A9 BC LDA.B #$BC CODE_028115: 99 02 03 STA.W OAM_Tile,Y CODE_028118: A5 13 LDA RAM_FrameCounter CODE_02811A: 4A LSR CODE_02811B: 4A LSR CODE_02811C: 29 03 AND.B #$03 CODE_02811E: 38 SEC CODE_02811F: 2A ROL CODE_028120: 05 64 ORA $64 CODE_028122: 99 03 03 STA.W OAM_Prop,Y CODE_028125: 98 TYA CODE_028126: 4A LSR CODE_028127: 4A LSR CODE_028128: A8 TAY CODE_028129: A9 00 LDA.B #$00 CODE_02812B: 99 60 04 STA.W OAM_TileSize,Y CODE_02812E: C6 0F DEC $0F CODE_028130: 10 92 BPL CODE_0280C4 CODE_028132: A0 00 LDY.B #$00 CODE_028134: A9 04 LDA.B #$04 CODE_028136: 4C A7 B7 JMP.W CODE_02B7A7 ExplodeSprites: A0 09 LDY.B #$09 ; \ Loop over sprites: ExplodeLoopStart: CC E9 15 CPY.W $15E9 ; | Don't attempt to kill self CODE_02813E: F0 0C BEQ CODE_02814C ; | CODE_028140: 5A PHY ; | CODE_028141: B9 C8 14 LDA.W $14C8,Y ; | Skip sprite if it's already dying/dead CODE_028144: C9 08 CMP.B #$08 ; | CODE_028146: 90 03 BCC CODE_02814B ; | CODE_028148: 20 50 81 JSR.W ExplodeKillSpr ; | Check for contact CODE_02814B: 7A PLY ; | CODE_02814C: 88 DEY ; | Next CODE_02814D: 10 EC BPL ExplodeLoopStart ; / Return02814F: 60 RTS ; Return ExplodeKillSpr: DA PHX CODE_028151: BB TYX ; \ Return if no sprite contact CODE_028152: 22 E5 B6 03 JSL.L GetSpriteClippingB ; | CODE_028156: FA PLX ; | CODE_028157: 22 9F B6 03 JSL.L GetSpriteClippingA ; | CODE_02815B: 22 2B B7 03 JSL.L CheckForContact ; | CODE_02815F: 90 16 BCC Return028177 ; / CODE_028161: B9 7A 16 LDA.W RAM_Tweaker167A,Y ; \ Return if sprite is invincible CODE_028164: 29 02 AND.B #$02 ; | to explosions CODE_028166: D0 0F BNE Return028177 ; / CODE_028168: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_02816A: 99 C8 14 STA.W $14C8,Y ; / CODE_02816D: A9 C0 LDA.B #$C0 ; \ Sprite Y speed = #$C0 CODE_02816F: 99 AA 00 STA.W RAM_SpriteSpeedY,Y ; / CODE_028172: A9 00 LDA.B #$00 ; \ Sprite X speed = #$00 CODE_028174: 99 B6 00 STA.W RAM_SpriteSpeedX,Y ; / Return028177: 60 RTS ; Return DATA_028178: .db $F8,$38,$78,$B8,$00,$10,$20,$D0 .db $E0,$10,$40,$80,$C0,$10,$10,$20 .db $B0,$20,$50,$60,$C0,$F0,$80,$B0 .db $20,$60,$A0,$E0,$70,$F0,$70,$B0 .db $F0,$10,$20,$50,$60,$90,$A0,$D0 .db $E0,$10,$20,$50,$60,$90,$A0,$D0 .db $E0,$10,$20,$50,$60,$90,$A0,$D0 .db $E0,$50,$60,$C0,$D0,$30,$40,$70 .db $80,$B0,$C0,$30,$40,$70,$80,$B0 .db $C0,$40,$50,$80,$90,$C8,$D8,$30 .db $40,$A0,$B0,$58,$68,$B0,$C0 DATA_0281CF: .db $70,$70,$70,$70,$20,$20,$20,$20 .db $20,$30,$30,$30,$30,$70,$80,$80 .db $80,$90,$90,$90,$A0,$50,$60,$60 .db $70,$70,$70,$70,$60,$60,$70,$70 .db $70,$40,$40,$40,$40,$40,$40,$40 .db $40,$50,$50,$50,$50,$50,$50,$50 .db $50,$60,$60,$60,$60,$60,$60,$60 .db $60,$30,$30,$30,$30,$48,$48,$48 .db $48,$48,$48,$58,$58,$58,$58,$58 .db $58,$70,$70,$78,$78,$70,$70,$80 .db $80,$88,$88,$A0,$A0,$A0,$A0 DATA_028226: .db $E8,$E8,$E8,$E8,$E4,$E4,$E4,$E4 .db $E4,$E4,$E4,$E4,$E4,$E4,$E4,$E4 .db $E4,$E4,$E4,$E4,$E4,$E4,$E4,$E4 .db $E4,$E4,$E4,$E4,$EE,$EE,$EE,$EE .db $EE,$C0,$C2,$C0,$C2,$C0,$C2,$C0 .db $C2,$E0,$E2,$E0,$E2,$E0,$E2,$E0 .db $E2,$C4,$A4,$C4,$A4,$C4,$A4,$C4 .db $A4,$CC,$CE,$CC,$CE,$C8,$CA,$C8 .db $CA,$C8,$CA,$CA,$C8,$CA,$C8,$CA .db $C8,$CC,$CE,$CC,$CE,$CC,$CE,$CC .db $CE,$CC,$CE,$CC,$CE,$CC,$CE CODE_02827D: A5 1A LDA RAM_ScreenBndryXLo CODE_02827F: 8D 8D 18 STA.W $188D CODE_028282: 49 FF EOR.B #$FF CODE_028284: 1A INC A CODE_028285: 85 05 STA $05 CODE_028287: A5 1B LDA RAM_ScreenBndryXHi CODE_028289: 4A LSR CODE_02828A: 6E 8D 18 ROR.W $188D CODE_02828D: 48 PHA CODE_02828E: AD 8D 18 LDA.W $188D CODE_028291: 49 FF EOR.B #$FF CODE_028293: 1A INC A CODE_028294: 85 06 STA $06 CODE_028296: 68 PLA CODE_028297: 4A LSR CODE_028298: 6E 8D 18 ROR.W $188D CODE_02829B: AD 8D 18 LDA.W $188D CODE_02829E: 49 FF EOR.B #$FF CODE_0282A0: 1A INC A CODE_0282A1: 8D 8D 18 STA.W $188D CODE_0282A4: C2 10 REP #$10 ; Index (16 bit) CODE_0282A6: A0 64 01 LDY.W #$0164 CODE_0282A9: A9 66 LDA.B #$66 CODE_0282AB: 84 03 STY $03 CODE_0282AD: A9 F0 LDA.B #$F0 CODE_0282AF: 99 0D 02 STA.W $020D,Y CODE_0282B2: C8 INY CODE_0282B3: C8 INY CODE_0282B4: C8 INY CODE_0282B5: C8 INY CODE_0282B6: C0 8C 01 CPY.W #$018C CODE_0282B9: 90 F4 BCC CODE_0282AF CODE_0282BB: A2 00 00 LDX.W #$0000 CODE_0282BE: 86 0C STX $0C CODE_0282C0: A2 38 00 LDX.W #$0038 CODE_0282C3: A0 E0 00 LDY.W #$00E0 CODE_0282C6: AD 84 18 LDA.W $1884 CODE_0282C9: C9 01 CMP.B #$01 CODE_0282CB: D0 0B BNE CODE_0282D8 CODE_0282CD: A2 39 00 LDX.W #$0039 CODE_0282D0: 86 0C STX $0C CODE_0282D2: A2 1D 00 LDX.W #$001D CODE_0282D5: A0 FC 00 LDY.W #$00FC CODE_0282D8: 86 00 STX $00 CODE_0282DA: C2 20 REP #$20 ; Accum (16 bit) CODE_0282DC: 8A TXA CODE_0282DD: 18 CLC CODE_0282DE: 65 0C ADC $0C CODE_0282E0: 85 0A STA $0A CODE_0282E2: E2 20 SEP #$20 ; Accum (8 bit) CODE_0282E4: A5 06 LDA $06 CODE_0282E6: 18 CLC CODE_0282E7: A6 0A LDX $0A CODE_0282E9: 7F 78 81 02 ADC.L DATA_028178,X CODE_0282ED: 99 0C 02 STA.W $020C,Y CODE_0282F0: 85 02 STA $02 CODE_0282F2: AD 88 18 LDA.W RAM_Layer1DispYLo CODE_0282F5: 85 07 STA $07 CODE_0282F7: 0A ASL CODE_0282F8: 66 07 ROR $07 CODE_0282FA: BF CF 81 02 LDA.L DATA_0281CF,X CODE_0282FE: 3A DEC A CODE_0282FF: 38 SEC CODE_028300: E5 07 SBC $07 CODE_028302: 99 0D 02 STA.W $020D,Y CODE_028305: A6 0A LDX $0A CODE_028307: AD 8C 18 LDA.W $188C CODE_02830A: D0 0C BNE CODE_028318 CODE_02830C: BF 26 82 02 LDA.L DATA_028226,X CODE_028310: 99 0E 02 STA.W $020E,Y CODE_028313: A9 0D LDA.B #$0D CODE_028315: 99 0F 02 STA.W $020F,Y CODE_028318: C2 20 REP #$20 ; Accum (16 bit) CODE_02831A: 5A PHY CODE_02831B: 98 TYA CODE_02831C: 4A LSR CODE_02831D: 4A LSR CODE_02831E: A8 TAY CODE_02831F: E2 20 SEP #$20 ; Accum (8 bit) CODE_028321: A9 02 LDA.B #$02 CODE_028323: 99 23 04 STA.W $0423,Y CODE_028326: A5 02 LDA $02 CODE_028328: C9 F0 CMP.B #$F0 CODE_02832A: 90 3B BCC CODE_028367 CODE_02832C: AD 84 18 LDA.W $1884 CODE_02832F: C9 01 CMP.B #$01 CODE_028331: F0 34 BEQ CODE_028367 CODE_028333: 7A PLY CODE_028334: 5A PHY CODE_028335: A6 03 LDX $03 CODE_028337: B9 0C 02 LDA.W $020C,Y CODE_02833A: 9D 0C 02 STA.W $020C,X CODE_02833D: B9 0D 02 LDA.W $020D,Y CODE_028340: 9D 0D 02 STA.W $020D,X CODE_028343: B9 0E 02 LDA.W $020E,Y CODE_028346: 9D 0E 02 STA.W $020E,X CODE_028349: B9 0F 02 LDA.W $020F,Y CODE_02834C: 9D 0F 02 STA.W $020F,X CODE_02834F: C2 20 REP #$20 ; Accum (16 bit) CODE_028351: 8A TXA CODE_028352: 4A LSR CODE_028353: 4A LSR CODE_028354: A8 TAY CODE_028355: E2 20 SEP #$20 ; Accum (8 bit) CODE_028357: A9 03 LDA.B #$03 CODE_028359: 99 23 04 STA.W $0423,Y CODE_02835C: A5 03 LDA $03 CODE_02835E: 18 CLC CODE_02835F: 69 04 ADC.B #$04 CODE_028361: 85 03 STA $03 CODE_028363: 90 02 BCC CODE_028367 ADDR_028365: E6 04 INC $04 CODE_028367: 7A PLY CODE_028368: A6 00 LDX $00 CODE_02836A: 88 DEY CODE_02836B: 88 DEY CODE_02836C: 88 DEY CODE_02836D: 88 DEY CODE_02836E: CA DEX CODE_02836F: 30 03 BMI CODE_028374 CODE_028371: 4C D8 82 JMP.W CODE_0282D8 CODE_028374: E2 10 SEP #$10 ; Index (8 bit) CODE_028376: A9 01 LDA.B #$01 CODE_028378: 8D 8C 18 STA.W $188C CODE_02837B: AD 84 18 LDA.W $1884 CODE_02837E: C9 01 CMP.B #$01 CODE_028380: D0 16 BNE CODE_028398 CODE_028382: A9 CD LDA.B #$CD CODE_028384: 8D BF 02 STA.W $02BF CODE_028387: 8D C3 02 STA.W $02C3 CODE_02838A: 8D C7 02 STA.W $02C7 CODE_02838D: 8D CB 02 STA.W $02CB CODE_028390: 8D CF 02 STA.W $02CF CODE_028393: 8D D3 02 STA.W $02D3 CODE_028396: 80 2C BRA CODE_0283C4 CODE_028398: A5 14 LDA RAM_FrameCounterB CODE_02839A: 29 03 AND.B #$03 CODE_02839C: D0 26 BNE CODE_0283C4 CODE_02839E: 64 00 STZ $00 CODE_0283A0: A6 00 LDX $00 CODE_0283A2: BF C8 83 02 LDA.L DATA_0283C8,X CODE_0283A6: A8 TAY CODE_0283A7: 22 F9 AC 01 JSL.L GetRand CODE_0283AB: 29 01 AND.B #$01 CODE_0283AD: D0 08 BNE CODE_0283B7 CODE_0283AF: B9 0E 02 LDA.W $020E,Y CODE_0283B2: 49 02 EOR.B #$02 CODE_0283B4: 99 0E 02 STA.W $020E,Y CODE_0283B7: A9 09 LDA.B #$09 CODE_0283B9: 99 0F 02 STA.W $020F,Y CODE_0283BC: E6 00 INC $00 CODE_0283BE: A5 00 LDA $00 CODE_0283C0: C9 04 CMP.B #$04 CODE_0283C2: D0 DC BNE CODE_0283A0 CODE_0283C4: 20 CE 83 JSR.W CODE_0283CE Return0283C7: 6B RTL ; Return DATA_0283C8: .db $00,$04,$08,$0C DATA_0283CC: .db $0C,$30 CODE_0283CE: AD 3D 15 LDA.W $153D CODE_0283D1: 38 SEC CODE_0283D2: E9 1E SBC.B #$1E CODE_0283D4: 85 0C STA $0C CODE_0283D6: AD 17 16 LDA.W $1617 CODE_0283D9: 18 CLC CODE_0283DA: 69 10 ADC.B #$10 CODE_0283DC: 85 0D STA $0D CODE_0283DE: A2 01 LDX.B #$01 CODE_0283E0: 86 0F STX $0F CODE_0283E2: BD A8 18 LDA.W $18A8,X CODE_0283E5: F0 0D BEQ CODE_0283F4 CODE_0283E7: 30 08 BMI CODE_0283F1 CODE_0283E9: 8D FB 13 STA.W $13FB CODE_0283EC: 85 9D STA RAM_SpritesLocked CODE_0283EE: 20 F8 83 JSR.W CODE_0283F8 CODE_0283F1: 20 39 84 JSR.W CODE_028439 CODE_0283F4: CA DEX CODE_0283F5: 10 E9 BPL CODE_0283E0 Return0283F7: 60 RTS ; Return CODE_0283F8: BD AA 18 LDA.W $18AA,X CODE_0283FB: 4A LSR CODE_0283FC: 4A LSR CODE_0283FD: 4A LSR CODE_0283FE: 4A LSR CODE_0283FF: 4A LSR CODE_028400: 38 SEC CODE_028401: 7D AA 18 ADC.W $18AA,X CODE_028404: C9 B0 CMP.B #$B0 CODE_028406: 90 2D BCC CODE_028435 CODE_028408: 1E A8 18 ASL.W $18A8,X CODE_02840B: 38 SEC CODE_02840C: 7E A8 18 ROR.W $18A8,X CODE_02840F: A9 30 LDA.B #$30 ; \ Set ground shake timer CODE_028411: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_028414: A9 09 LDA.B #$09 ; \ Play sound effect CODE_028416: 8D FC 1D STA.W $1DFC ; / CODE_028419: E0 00 CPX.B #$00 CODE_02841B: D0 0D BNE CODE_02842A CODE_02841D: AD A9 18 LDA.W $18A9 CODE_028420: D0 08 BNE CODE_02842A CODE_028422: EE A9 18 INC.W $18A9 CODE_028425: 9C AB 18 STZ.W $18AB CODE_028428: 80 09 BRA CODE_028433 CODE_02842A: E0 01 CPX.B #$01 CODE_02842C: D0 05 BNE CODE_028433 CODE_02842E: 64 9D STZ RAM_SpritesLocked CODE_028430: 9C FB 13 STZ.W $13FB CODE_028433: A9 B0 LDA.B #$B0 CODE_028435: 9D AA 18 STA.W $18AA,X Return028438: 60 RTS ; Return CODE_028439: BF CC 83 02 LDA.L DATA_0283CC,X CODE_02843D: A8 TAY CODE_02843E: 64 00 STZ $00 CODE_028440: A9 F0 LDA.B #$F0 CODE_028442: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_028445: BD AA 18 LDA.W $18AA,X CODE_028448: 38 SEC CODE_028449: E5 1C SBC RAM_ScreenBndryYLo CODE_02844B: 38 SEC CODE_02844C: ED 88 18 SBC.W RAM_Layer1DispYLo CODE_02844F: 38 SEC CODE_028450: E5 00 SBC $00 CODE_028452: C9 20 CMP.B #$20 CODE_028454: 90 36 BCC Return02848C CODE_028456: C9 A4 CMP.B #$A4 CODE_028458: B0 03 BCS CODE_02845D CODE_02845A: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02845D: B5 0C LDA $0C,X CODE_02845F: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_028462: A9 E6 LDA.B #$E6 CODE_028464: A6 00 LDX $00 CODE_028466: F0 02 BEQ CODE_02846A CODE_028468: A9 08 LDA.B #$08 CODE_02846A: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02846D: A9 0D LDA.B #$0D CODE_02846F: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_028472: 98 TYA CODE_028473: 4A LSR CODE_028474: 4A LSR CODE_028475: AA TAX CODE_028476: A9 02 LDA.B #$02 CODE_028478: 9D 20 04 STA.W $0420,X CODE_02847B: A6 0F LDX $0F CODE_02847D: C8 INY CODE_02847E: C8 INY CODE_02847F: C8 INY CODE_028480: C8 INY CODE_028481: A5 00 LDA $00 CODE_028483: 18 CLC CODE_028484: 69 10 ADC.B #$10 CODE_028486: 85 00 STA $00 CODE_028488: C9 90 CMP.B #$90 CODE_02848A: 90 B4 BCC CODE_028440 Return02848C: 60 RTS ; Return SubHorzPosBnk2: A0 00 LDY.B #$00 CODE_02848F: A5 94 LDA RAM_MarioXPos CODE_028491: 38 SEC CODE_028492: F5 E4 SBC RAM_SpriteXLo,X CODE_028494: 85 0F STA $0F CODE_028496: A5 95 LDA RAM_MarioXPosHi CODE_028498: FD E0 14 SBC.W RAM_SpriteXHi,X CODE_02849B: 10 01 BPL Return02849E CODE_02849D: C8 INY Return02849E: 60 RTS ; Return IsOffScreenBnk2: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_0284A2: 1D 6C 18 ORA.W RAM_OffscreenVert,X Return0284A5: 60 RTS ; Return CODE_0284A6: 85 03 STA $03 CODE_0284A8: A9 02 LDA.B #$02 CODE_0284AA: 85 01 STA $01 CODE_0284AC: 22 D8 84 02 JSL.L CODE_0284D8 CODE_0284B0: A5 02 LDA $02 CODE_0284B2: 18 CLC CODE_0284B3: 65 03 ADC $03 CODE_0284B5: 85 02 STA $02 CODE_0284B7: C6 01 DEC $01 CODE_0284B9: 10 F1 BPL CODE_0284AC Return0284BB: 6B RTL ; Return CODE_0284BC: A9 12 LDA.B #$12 CODE_0284BE: 80 02 BRA CODE_0284C2 CODE_0284C0: A9 00 LDA.B #$00 CODE_0284C2: 85 00 STA $00 CODE_0284C4: 64 02 STZ $02 CODE_0284C6: B5 9E LDA RAM_SpriteNum,X CODE_0284C8: C9 41 CMP.B #$41 CODE_0284CA: F0 04 BEQ CODE_0284D0 CODE_0284CC: C9 42 CMP.B #$42 CODE_0284CE: D0 08 BNE CODE_0284D8 CODE_0284D0: B5 AA LDA RAM_SpriteSpeedY,X CODE_0284D2: 10 13 BPL Return0284E7 CODE_0284D4: A9 0A LDA.B #$0A CODE_0284D6: 80 CE BRA CODE_0284A6 CODE_0284D8: 20 9F 84 JSR.W IsOffScreenBnk2 CODE_0284DB: D0 0A BNE Return0284E7 CODE_0284DD: A0 0B LDY.B #$0B CODE_0284DF: B9 F0 17 LDA.W $17F0,Y CODE_0284E2: F0 04 BEQ CODE_0284E8 CODE_0284E4: 88 DEY CODE_0284E5: 10 F8 BPL CODE_0284DF Return0284E7: 6B RTL ; Return CODE_0284E8: B5 D8 LDA RAM_SpriteYLo,X CODE_0284EA: 18 CLC CODE_0284EB: 69 00 ADC.B #$00 CODE_0284ED: 29 F0 AND.B #$F0 CODE_0284EF: 18 CLC CODE_0284F0: 69 03 ADC.B #$03 CODE_0284F2: 99 FC 17 STA.W $17FC,Y CODE_0284F5: B5 E4 LDA RAM_SpriteXLo,X CODE_0284F7: 18 CLC CODE_0284F8: 65 02 ADC $02 CODE_0284FA: 99 08 18 STA.W $1808,Y CODE_0284FD: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_028500: 69 00 ADC.B #$00 CODE_028502: 99 EA 18 STA.W $18EA,Y CODE_028505: A9 07 LDA.B #$07 CODE_028507: 99 F0 17 STA.W $17F0,Y CODE_02850A: A5 00 LDA $00 CODE_02850C: 99 50 18 STA.W $1850,Y Return02850F: 6B RTL ; Return DATA_028510: .db $04,$FC,$06,$FA,$08,$F8,$0A,$F6 DATA_028518: .db $E0,$E1,$E2,$E3,$E4,$E6,$E8,$EA DATA_028520: .db $1F,$13,$10,$1C,$17,$1A,$0F,$1E CODE_028528: 20 9F 84 JSR.W IsOffScreenBnk2 CODE_02852B: BD 6C 18 LDA.W RAM_OffscreenVert,X CODE_02852E: D0 B7 BNE Return0284E7 CODE_028530: A9 04 LDA.B #$04 CODE_028532: 85 00 STA $00 CODE_028534: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot CODE_028536: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_028539: F0 04 BEQ CODE_02853F ; | CODE_02853B: 88 DEY ; | CODE_02853C: 10 F8 BPL CODE_028536 ; | Return02853E: 6B RTL ; / Return if no free slots CODE_02853F: A9 07 LDA.B #$07 ; \ Extended sprite = Lava splash CODE_028541: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_028544: B5 D8 LDA RAM_SpriteYLo,X CODE_028546: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_028549: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02854C: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_02854F: B5 E4 LDA RAM_SpriteXLo,X CODE_028551: 18 CLC CODE_028552: 69 04 ADC.B #$04 CODE_028554: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_028557: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02855A: 69 00 ADC.B #$00 CODE_02855C: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_02855F: 22 F9 AC 01 JSL.L GetRand CODE_028563: DA PHX CODE_028564: 29 07 AND.B #$07 CODE_028566: AA TAX CODE_028567: BF 10 85 02 LDA.L DATA_028510,X CODE_02856B: 99 47 17 STA.W RAM_ExSprSpeedX,Y CODE_02856E: AD 8E 14 LDA.W RAM_RandomByte2 CODE_028571: 29 07 AND.B #$07 CODE_028573: AA TAX CODE_028574: BF 18 85 02 LDA.L DATA_028518,X CODE_028578: 99 3D 17 STA.W RAM_ExSprSpeedY,Y CODE_02857B: 22 F9 AC 01 JSL.L GetRand CODE_02857F: 29 07 AND.B #$07 CODE_028581: AA TAX CODE_028582: BF 20 85 02 LDA.L DATA_028520,X CODE_028586: 99 6F 17 STA.W $176F,Y CODE_028589: FA PLX CODE_02858A: C6 00 DEC $00 CODE_02858C: 10 A8 BPL CODE_028536 Return02858E: 6B RTL ; Return CODE_02858F: A0 1F LDY.B #$1F ; \ If Big Mario: CODE_028591: A2 00 LDX.B #$00 ; | Y = #$1F CODE_028593: A5 19 LDA RAM_MarioPowerUp ; | X = #$00 CODE_028595: D0 04 BNE CODE_02859B ; | Small Mario: CODE_028597: A0 0F LDY.B #$0F ; | Y = #$0F CODE_028599: A2 10 LDX.B #$10 ; / X = #$10 CODE_02859B: 86 01 STX $01 CODE_02859D: 22 F9 AC 01 JSL.L GetRand CODE_0285A1: 98 TYA CODE_0285A2: 2D 8D 14 AND.W RAM_RandomByte1 CODE_0285A5: 18 CLC CODE_0285A6: 65 01 ADC $01 CODE_0285A8: 18 CLC CODE_0285A9: 65 96 ADC RAM_MarioYPos CODE_0285AB: 85 00 STA $00 CODE_0285AD: AD 8E 14 LDA.W RAM_RandomByte2 CODE_0285B0: 29 0F AND.B #$0F CODE_0285B2: 18 CLC CODE_0285B3: 69 FE ADC.B #$FE CODE_0285B5: 18 CLC CODE_0285B6: 65 94 ADC RAM_MarioXPos CODE_0285B8: 85 02 STA $02 CODE_0285BA: A0 0B LDY.B #$0B CODE_0285BC: B9 F0 17 LDA.W $17F0,Y CODE_0285BF: F0 04 BEQ CODE_0285C5 CODE_0285C1: 88 DEY CODE_0285C2: 10 F8 BPL CODE_0285BC Return0285C4: 6B RTL ; Return CODE_0285C5: A9 05 LDA.B #$05 CODE_0285C7: 99 F0 17 STA.W $17F0,Y CODE_0285CA: A9 00 LDA.B #$00 CODE_0285CC: 99 20 18 STA.W $1820,Y CODE_0285CF: A5 00 LDA $00 CODE_0285D1: 99 FC 17 STA.W $17FC,Y CODE_0285D4: A5 02 LDA $02 CODE_0285D6: 99 08 18 STA.W $1808,Y CODE_0285D9: A9 17 LDA.B #$17 CODE_0285DB: 99 50 18 STA.W $1850,Y Return0285DE: 6B RTL ; Return CODE_0285DF: 20 9F 84 JSR.W IsOffScreenBnk2 CODE_0285E2: D0 0A BNE Return0285EE CODE_0285E4: A0 0B LDY.B #$0B CODE_0285E6: B9 F0 17 LDA.W $17F0,Y CODE_0285E9: F0 04 BEQ CODE_0285EF CODE_0285EB: 88 DEY CODE_0285EC: 10 F8 BPL CODE_0285E6 Return0285EE: 6B RTL ; Return CODE_0285EF: 22 F9 AC 01 JSL.L GetRand CODE_0285F3: A9 04 LDA.B #$04 CODE_0285F5: 99 F0 17 STA.W $17F0,Y CODE_0285F8: A9 00 LDA.B #$00 CODE_0285FA: 99 20 18 STA.W $1820,Y CODE_0285FD: AD 8D 14 LDA.W RAM_RandomByte1 CODE_028600: 29 0F AND.B #$0F CODE_028602: 38 SEC CODE_028603: E9 03 SBC.B #$03 CODE_028605: 18 CLC CODE_028606: 75 E4 ADC RAM_SpriteXLo,X CODE_028608: 99 08 18 STA.W $1808,Y CODE_02860B: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02860E: 69 00 ADC.B #$00 CODE_028610: 99 EA 18 STA.W $18EA,Y CODE_028613: AD 8E 14 LDA.W RAM_RandomByte2 CODE_028616: 29 07 AND.B #$07 CODE_028618: 18 CLC CODE_028619: 69 07 ADC.B #$07 CODE_02861B: 18 CLC CODE_02861C: 75 D8 ADC RAM_SpriteYLo,X CODE_02861E: 99 FC 17 STA.W $17FC,Y CODE_028621: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_028624: 69 00 ADC.B #$00 CODE_028626: 99 14 18 STA.W $1814,Y CODE_028629: A9 17 LDA.B #$17 CODE_02862B: 99 50 18 STA.W $1850,Y Return02862E: 6B RTL ; Return CODE_02862F: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_028633: 30 2D BMI Return028662 ; / CODE_028635: BB TYX CODE_028636: A9 0B LDA.B #$0B ; \ Sprite status = Being carried CODE_028638: 9D C8 14 STA.W $14C8,X ; / CODE_02863B: A5 96 LDA RAM_MarioYPos CODE_02863D: 95 D8 STA RAM_SpriteYLo,X CODE_02863F: A5 97 LDA RAM_MarioYPosHi CODE_028641: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_028644: A5 94 LDA RAM_MarioXPos CODE_028646: 95 E4 STA RAM_SpriteXLo,X CODE_028648: B5 95 LDA RAM_MarioXPosHi,X CODE_02864A: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02864D: A9 53 LDA.B #$53 ; \ Sprite = Throw Block CODE_02864F: 95 9E STA RAM_SpriteNum,X ; / CODE_028651: 22 D2 F7 07 JSL.L InitSpriteTables CODE_028655: A9 FF LDA.B #$FF CODE_028657: 9D 40 15 STA.W $1540,X CODE_02865A: A9 08 LDA.B #$08 CODE_02865C: 8D 98 14 STA.W RAM_PickUpImgTimer CODE_02865F: 8D 8F 14 STA.W $148F Return028662: 6B RTL ; Return ShatterBlock: DA PHX CODE_028664: 85 00 STA $00 CODE_028666: A0 03 LDY.B #$03 CODE_028668: A2 0B LDX.B #$0B CODE_02866A: BD F0 17 LDA.W $17F0,X CODE_02866D: F0 10 BEQ CODE_02867F CODE_02866F: CA DEX CODE_028670: 10 F8 BPL CODE_02866A CODE_028672: CE 5D 18 DEC.W $185D CODE_028675: 10 05 BPL CODE_02867C CODE_028677: A9 0B LDA.B #$0B CODE_028679: 8D 5D 18 STA.W $185D CODE_02867C: AE 5D 18 LDX.W $185D CODE_02867F: A9 07 LDA.B #$07 ; \ CODE_028681: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_028684: A9 01 LDA.B #$01 CODE_028686: 9D F0 17 STA.W $17F0,X CODE_028689: A5 9A LDA RAM_BlockYLo CODE_02868B: 18 CLC CODE_02868C: 79 46 87 ADC.W DATA_028746,Y CODE_02868F: 9D 08 18 STA.W $1808,X CODE_028692: A5 9B LDA RAM_BlockYHi CODE_028694: 69 00 ADC.B #$00 CODE_028696: 9D EA 18 STA.W $18EA,X CODE_028699: A5 98 LDA RAM_BlockXLo CODE_02869B: 18 CLC CODE_02869C: 79 42 87 ADC.W DATA_028742,Y CODE_02869F: 9D FC 17 STA.W $17FC,X CODE_0286A2: A5 99 LDA RAM_BlockXHi CODE_0286A4: 69 00 ADC.B #$00 CODE_0286A6: 9D 14 18 STA.W $1814,X CODE_0286A9: B9 4A 87 LDA.W DATA_02874A,Y CODE_0286AC: 9D 20 18 STA.W $1820,X CODE_0286AF: B9 4E 87 LDA.W DATA_02874E,Y CODE_0286B2: 9D 2C 18 STA.W $182C,X CODE_0286B5: A5 00 LDA $00 CODE_0286B7: 9D 50 18 STA.W $1850,X CODE_0286BA: 88 DEY CODE_0286BB: 10 B2 BPL CODE_02866F CODE_0286BD: FA PLX Return0286BE: 6B RTL ; Return YoshiStompRoutine: AD 97 16 LDA.W $1697 CODE_0286C2: D0 28 BNE Return0286EC CODE_0286C4: 8B PHB CODE_0286C5: 4B PHK CODE_0286C6: AB PLB CODE_0286C7: 20 ED 86 JSR.W SprBlkInteract CODE_0286CA: A9 02 LDA.B #$02 CODE_0286CC: 99 CD 16 STA.W RAM_BouncBlkStatus,Y CODE_0286CF: A5 94 LDA RAM_MarioXPos CODE_0286D1: 99 D1 16 STA.W $16D1,Y CODE_0286D4: A5 95 LDA RAM_MarioXPosHi CODE_0286D6: 99 DD 16 STA.W $16DD,Y CODE_0286D9: A5 96 LDA RAM_MarioYPos CODE_0286DB: 18 CLC CODE_0286DC: 69 20 ADC.B #$20 CODE_0286DE: 99 D9 16 STA.W $16D9,Y CODE_0286E1: A5 97 LDA RAM_MarioYPosHi CODE_0286E3: 69 00 ADC.B #$00 CODE_0286E5: 99 DD 16 STA.W $16DD,Y CODE_0286E8: 20 E4 9B JSR.W CODE_029BE4 CODE_0286EB: AB PLB Return0286EC: 6B RTL ; Return SprBlkInteract: A0 03 LDY.B #$03 CODE_0286EF: B9 CD 16 LDA.W RAM_BouncBlkStatus,Y CODE_0286F2: F0 04 BEQ CODE_0286F8 CODE_0286F4: 88 DEY CODE_0286F5: 10 F8 BPL CODE_0286EF CODE_0286F7: C8 INY CODE_0286F8: A5 9A LDA RAM_BlockYLo CODE_0286FA: 99 D1 16 STA.W $16D1,Y CODE_0286FD: A5 9B LDA RAM_BlockYHi CODE_0286FF: 99 D5 16 STA.W $16D5,Y CODE_028702: A5 98 LDA RAM_BlockXLo CODE_028704: 99 D9 16 STA.W $16D9,Y CODE_028707: A5 99 LDA RAM_BlockXHi CODE_028709: 99 DD 16 STA.W $16DD,Y CODE_02870C: AD 33 19 LDA.W $1933 CODE_02870F: F0 1E BEQ CODE_02872F CODE_028711: A5 9A LDA RAM_BlockYLo CODE_028713: 38 SEC CODE_028714: E5 26 SBC $26 CODE_028716: 99 D1 16 STA.W $16D1,Y CODE_028719: A5 9B LDA RAM_BlockYHi CODE_02871B: E5 27 SBC $27 CODE_02871D: 99 D5 16 STA.W $16D5,Y CODE_028720: A5 98 LDA RAM_BlockXLo CODE_028722: 38 SEC CODE_028723: E5 28 SBC $28 CODE_028725: 99 D9 16 STA.W $16D9,Y CODE_028728: A5 99 LDA RAM_BlockXHi CODE_02872A: E5 29 SBC $29 CODE_02872C: 99 DD 16 STA.W $16DD,Y CODE_02872F: A9 01 LDA.B #$01 CODE_028731: 99 CD 16 STA.W RAM_BouncBlkStatus,Y CODE_028734: A9 06 LDA.B #$06 CODE_028736: 99 F8 18 STA.W $18F8,Y Return028739: 60 RTS ; Return BlockBounceSpeedY: .db $C0,$00,$00,$40 BlockBounceSpeedX: .db $00,$40,$C0,$00 DATA_028742: .db $00,$00,$08,$08 DATA_028746: .db $00,$08,$00,$08 DATA_02874A: .db $FB,$FB,$FD,$FD DATA_02874E: .db $FF,$01,$FF,$01 CODE_028752: A5 04 LDA $04 CODE_028754: C9 07 CMP.B #$07 CODE_028756: D0 3A BNE NotBreakable BreakTurnBlock: AD B3 0D LDA.W $0DB3 ; \ Increase points CODE_02875B: 0A ASL ; | CODE_02875C: 6D B3 0D ADC.W $0DB3 ; | CODE_02875F: AA TAX ; | CODE_028760: BD 34 0F LDA.W $0F34,X ; | CODE_028763: 18 CLC ; | CODE_028764: 69 05 ADC.B #$05 ; | CODE_028766: 9D 34 0F STA.W $0F34,X ; | CODE_028769: 90 08 BCC CODE_028773 ; | CODE_02876B: FE 35 0F INC.W $0F35,X ; | CODE_02876E: D0 03 BNE CODE_028773 ; | ADDR_028770: FE 36 0F INC.W $0F36,X ; / CODE_028773: A9 D0 LDA.B #$D0 ; Deflect Mario downward CODE_028775: 85 7D STA RAM_MarioSpeedY ; / CODE_028777: A9 00 LDA.B #$00 ; for shatter routine? CODE_028779: 22 63 86 02 JSL.L ShatterBlock ; Actually break the block CODE_02877D: 20 ED 86 JSR.W SprBlkInteract ; Handle sprite/block interaction CODE_028780: A9 02 LDA.B #$02 ; \ Replace block with "nothing" tile CODE_028782: 85 9C STA RAM_BlockBlock ; | CODE_028784: 22 B0 BE 00 JSL.L GenerateTile ; / Return028788: 6B RTL ; Return BlockBounce: .db $00,$03,$00,$00,$01,$07,$00,$04 .db $0A NotBreakable: A0 03 LDY.B #$03 ; \ Reset turning block FindTurningBlkSlot: B9 99 16 LDA.W RAM_BounceSprNum,Y ; | CODE_028797: F0 6E BEQ CODE_028807 ; | CODE_028799: 88 DEY ; | CODE_02879A: 10 F8 BPL FindTurningBlkSlot ; / CODE_02879C: CE CD 18 DEC.W $18CD CODE_02879F: 10 05 BPL CODE_0287A6 CODE_0287A1: A9 03 LDA.B #$03 CODE_0287A3: 8D CD 18 STA.W $18CD CODE_0287A6: AC CD 18 LDY.W $18CD CODE_0287A9: B9 99 16 LDA.W RAM_BounceSprNum,Y ; \ Branch if not a turn block CODE_0287AC: C9 07 CMP.B #$07 ; | CODE_0287AE: D0 54 BNE NoResetTurningBlk ; / CODE_0287B0: A5 9A LDA RAM_BlockYLo ; \ Save [$98-$9A] CODE_0287B2: 48 PHA ; | CODE_0287B3: A5 9B LDA RAM_BlockYHi ; | CODE_0287B5: 48 PHA ; | CODE_0287B6: A5 98 LDA RAM_BlockXLo ; | CODE_0287B8: 48 PHA ; | CODE_0287B9: A5 99 LDA RAM_BlockXHi ; | CODE_0287BB: 48 PHA ; / CODE_0287BC: B9 A5 16 LDA.W RAM_BounceSprYLo,Y ; \ Block Y position = Bounce Y sprite position CODE_0287BF: 85 9A STA RAM_BlockYLo ; | CODE_0287C1: B9 AD 16 LDA.W RAM_BounceSprYHi,Y ; | CODE_0287C4: 85 9B STA RAM_BlockYHi ; / CODE_0287C6: B9 A1 16 LDA.W RAM_BounceSprXLo,Y ; \ Block X position = Bounce X sprite position CODE_0287C9: 18 CLC ; | CODE_0287CA: 69 0C ADC.B #$0C ; | (Round to nearest #$10) CODE_0287CC: 29 F0 AND.B #$F0 ; | CODE_0287CE: 85 98 STA RAM_BlockXLo ; | CODE_0287D0: B9 A9 16 LDA.W RAM_BounceSprXHi,Y ; | CODE_0287D3: 69 00 ADC.B #$00 ; | CODE_0287D5: 85 99 STA RAM_BlockXHi ; / CODE_0287D7: B9 C1 16 LDA.W RAM_BounceSprBlock,Y ; \ Block to generate = Bounce sprite block CODE_0287DA: 85 9C STA RAM_BlockBlock ; / CODE_0287DC: A5 04 LDA $04 ; \ Save [$04-$07] CODE_0287DE: 48 PHA ; | CODE_0287DF: A5 05 LDA $05 ; | CODE_0287E1: 48 PHA ; | CODE_0287E2: A5 06 LDA $06 ; | CODE_0287E4: 48 PHA ; | CODE_0287E5: A5 07 LDA $07 ; | CODE_0287E7: 48 PHA ; / CODE_0287E8: 22 B0 BE 00 JSL.L GenerateTile CODE_0287EC: 68 PLA ; \ Restore [$04-$07] CODE_0287ED: 85 07 STA $07 ; | CODE_0287EF: 68 PLA ; | CODE_0287F0: 85 06 STA $06 ; | CODE_0287F2: 68 PLA ; | CODE_0287F3: 85 05 STA $05 ; | CODE_0287F5: 68 PLA ; | CODE_0287F6: 85 04 STA $04 ; / CODE_0287F8: 68 PLA ; \ Restore [$98-$9A] CODE_0287F9: 85 99 STA RAM_BlockXHi ; | CODE_0287FB: 68 PLA ; | CODE_0287FC: 85 98 STA RAM_BlockXLo ; | CODE_0287FE: 68 PLA ; | CODE_0287FF: 85 9B STA RAM_BlockYHi ; | CODE_028801: 68 PLA ; | CODE_028802: 85 9A STA RAM_BlockYLo ; / NoResetTurningBlk: AC CD 18 LDY.W $18CD CODE_028807: A5 04 LDA $04 CODE_028809: C9 10 CMP.B #$10 CODE_02880B: 90 0B BCC CODE_028818 CODE_02880D: 64 04 STZ $04 CODE_02880F: AA TAX CODE_028810: BD 80 87 LDA.W CODE_028780,X CODE_028813: 99 01 19 STA.W $1901,Y CODE_028816: 80 12 BRA CODE_02882A CODE_028818: A5 04 LDA $04 ; \ Play on/off sound if appropriate CODE_02881A: C9 05 CMP.B #$05 ; | CODE_02881C: D0 05 BNE CODE_028823 ; | CODE_02881E: A2 0B LDX.B #$0B ; | CODE_028820: 8E F9 1D STX.W $1DF9 ; / CODE_028823: AA TAX CODE_028824: BD 89 87 LDA.W BlockBounce,X CODE_028827: 99 01 19 STA.W $1901,Y CODE_02882A: A5 04 LDA $04 ; \ Set block bounce sprite type CODE_02882C: 1A INC A ; | CODE_02882D: 99 99 16 STA.W RAM_BounceSprNum,Y ; / CODE_028830: A9 00 LDA.B #$00 ; \ set (times can be hit?) CODE_028832: 99 9D 16 STA.W RAM_BounceSprInit,Y ; / CODE_028835: A5 9A LDA RAM_BlockYLo ; \ Set bounce block y position CODE_028837: 99 A5 16 STA.W RAM_BounceSprYLo,Y ; | CODE_02883A: A5 9B LDA RAM_BlockYHi ; | CODE_02883C: 99 AD 16 STA.W RAM_BounceSprYHi,Y ; / CODE_02883F: A5 98 LDA RAM_BlockXLo ; \ Set bounce block x position CODE_028841: 99 A1 16 STA.W RAM_BounceSprXLo,Y ; | CODE_028844: A5 99 LDA RAM_BlockXHi ; | CODE_028846: 99 A9 16 STA.W RAM_BounceSprXHi,Y ; / CODE_028849: AD 33 19 LDA.W $1933 CODE_02884C: 4A LSR CODE_02884D: 6A ROR CODE_02884E: 85 08 STA $08 CODE_028850: A6 06 LDX $06 CODE_028852: BD 3A 87 LDA.W BlockBounceSpeedY,X ; \ Set bounce y speed CODE_028855: 99 B1 16 STA.W RAM_BouncBlkSpeedX,Y ; / CODE_028858: BD 3E 87 LDA.W BlockBounceSpeedX,X ; \ Set bounce x speed CODE_02885B: 99 B5 16 STA.W RAM_BouncBlkSpeedY,Y ; / CODE_02885E: 8A TXA CODE_02885F: 05 08 ORA $08 CODE_028861: 99 C9 16 STA.W $16C9,Y CODE_028864: A5 07 LDA $07 ; \ Set tile to turn block into CODE_028866: 99 C1 16 STA.W RAM_BounceSprBlock,Y ; / CODE_028869: A9 08 LDA.B #$08 ; \ Time to show bouncing block CODE_02886B: 99 C5 16 STA.W RAM_BounceSprTimer,Y CODE_02886E: B9 99 16 LDA.W RAM_BounceSprNum,Y CODE_028871: C9 07 CMP.B #$07 CODE_028873: D0 05 BNE CODE_02887A CODE_028875: A9 FF LDA.B #$FF CODE_028877: 99 CE 18 STA.W $18CE,Y CODE_02887A: 20 ED 86 JSR.W SprBlkInteract CODE_02887D: A5 05 LDA $05 CODE_02887F: F0 1F BEQ Return0288A0 CODE_028881: C9 0A CMP.B #$0A CODE_028883: D0 00 BNE CODE_028885 CODE_028885: A5 05 LDA $05 CODE_028887: C9 08 CMP.B #$08 CODE_028889: B0 51 BCS CODE_0288DC CODE_02888B: C9 06 CMP.B #$06 CODE_02888D: 90 4D BCC CODE_0288DC CODE_02888F: C9 07 CMP.B #$07 CODE_028891: D0 0A BNE CODE_02889D CODE_028893: AD 6B 18 LDA.W $186B CODE_028896: D0 05 BNE CODE_02889D CODE_028898: A9 FF LDA.B #$FF CODE_02889A: 8D 6B 18 STA.W $186B CODE_02889D: 20 66 8A JSR.W CODE_028A66 Return0288A0: 6B RTL ; Return DATA_0288A1: .db $35,$78 SpriteInBlock: .db $00,$74,$75,$76,$77,$78,$00,$00 .db $79,$00,$3E,$7D,$2C,$04,$81,$45 .db $80 SpriteInBlockPow: .db $00,$74,$75,$76,$77,$78,$00,$00 .db $79,$00,$3E,$7D,$2C,$04,$81,$45 .db $80 StatusOfSprInBlk: .db $00,$08,$08,$08,$08,$08,$00,$00 .db $08,$00,$09,$08,$09,$09,$08,$08 .db $09 DATA_0288D6: .db $80,$7E,$7D DATA_0288D9: .db $09,$08,$08 CODE_0288DC: A4 05 LDY $05 CODE_0288DE: C0 0B CPY.B #$0B CODE_0288E0: D0 08 BNE CODE_0288EA CODE_0288E2: A5 9A LDA RAM_BlockYLo CODE_0288E4: 29 30 AND.B #$30 CODE_0288E6: C9 20 CMP.B #$20 CODE_0288E8: F0 1B BEQ GenSpriteFromBlk CODE_0288EA: C0 10 CPY.B #$10 CODE_0288EC: F0 0F BEQ CODE_0288FD CODE_0288EE: C0 08 CPY.B #$08 CODE_0288F0: D0 07 BNE CODE_0288F9 CODE_0288F2: AD 92 16 LDA.W $1692 CODE_0288F5: F0 0E BEQ GenSpriteFromBlk CODE_0288F7: D0 04 BNE CODE_0288FD CODE_0288F9: C0 0C CPY.B #$0C CODE_0288FB: D0 08 BNE GenSpriteFromBlk CODE_0288FD: 22 E4 A9 02 JSL.L FindFreeSprSlot CODE_028901: BB TYX CODE_028902: 10 1E BPL CODE_028922 Return028904: 6B RTL ; Return GenSpriteFromBlk: A2 0B LDX.B #$0B ; \ Find a last free sprite slot from 00-0B CODE_028907: BD C8 14 LDA.W $14C8,X ; | CODE_02890A: F0 16 BEQ CODE_028922 ; | CODE_02890C: CA DEX ; | CODE_02890D: E0 FF CPX.B #$FF ; | CODE_02890F: D0 F6 BNE CODE_028907 ; / CODE_028911: CE 61 18 DEC.W $1861 CODE_028914: 10 05 BPL CODE_02891B CODE_028916: A9 01 LDA.B #$01 CODE_028918: 8D 61 18 STA.W $1861 CODE_02891B: AD 61 18 LDA.W $1861 CODE_02891E: 18 CLC CODE_02891F: 69 0A ADC.B #$0A CODE_028921: AA TAX CODE_028922: 8E 5E 18 STX.W $185E CODE_028925: A4 05 LDY $05 CODE_028927: B9 C5 88 LDA.W StatusOfSprInBlk,Y ; \ Set sprite status CODE_02892A: 9D C8 14 STA.W $14C8,X ; / CODE_02892D: AD E2 18 LDA.W $18E2 CODE_028930: F0 05 BEQ CODE_028937 CODE_028932: 98 TYA CODE_028933: 18 CLC CODE_028934: 69 11 ADC.B #$11 CODE_028936: A8 TAY CODE_028937: 8C 95 16 STY.W $1695 CODE_02893A: B9 A3 88 LDA.W SpriteInBlock,Y ; \ Set sprite number CODE_02893D: 95 9E STA RAM_SpriteNum,X ; / CODE_02893F: 85 0E STA $0E CODE_028941: A0 02 LDY.B #$02 CODE_028943: C9 81 CMP.B #$81 CODE_028945: B0 05 BCS CODE_02894C CODE_028947: C9 79 CMP.B #$79 CODE_028949: 90 01 BCC CODE_02894C CODE_02894B: C8 INY CODE_02894C: 8C FC 1D STY.W $1DFC ; / Play sound effect CODE_02894F: 22 D2 F7 07 JSL.L InitSpriteTables CODE_028953: FE A0 15 INC.W RAM_OffscreenHorz,X CODE_028956: B5 9E LDA RAM_SpriteNum,X CODE_028958: C9 45 CMP.B #$45 CODE_02895A: D0 16 BNE CODE_028972 CODE_02895C: AD 32 14 LDA.W $1432 CODE_02895F: F0 06 BEQ CODE_028967 ADDR_028961: 9E C8 14 STZ.W $14C8,X ADDR_028964: 4C 9D 88 JMP.W CODE_02889D CODE_028967: A9 0E LDA.B #$0E CODE_028969: 8D FB 1D STA.W $1DFB ; / Change music CODE_02896C: EE 32 14 INC.W $1432 CODE_02896F: 9C 0C 19 STZ.W $190C CODE_028972: A5 9A LDA RAM_BlockYLo CODE_028974: 95 E4 STA RAM_SpriteXLo,X CODE_028976: A5 9B LDA RAM_BlockYHi CODE_028978: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02897B: A5 98 LDA RAM_BlockXLo CODE_02897D: 95 D8 STA RAM_SpriteYLo,X CODE_02897F: A5 99 LDA RAM_BlockXHi CODE_028981: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_028984: AD 33 19 LDA.W $1933 CODE_028987: F0 1C BEQ CODE_0289A5 ADDR_028989: A5 9A LDA RAM_BlockYLo ADDR_02898B: 38 SEC ADDR_02898C: E5 26 SBC $26 ADDR_02898E: 95 E4 STA RAM_SpriteXLo,X ADDR_028990: A5 9B LDA RAM_BlockYHi ADDR_028992: E5 27 SBC $27 ADDR_028994: 9D E0 14 STA.W RAM_SpriteXHi,X ADDR_028997: A5 98 LDA RAM_BlockXLo ADDR_028999: 38 SEC ADDR_02899A: E5 28 SBC $28 ADDR_02899C: 95 D8 STA RAM_SpriteYLo,X ADDR_02899E: A5 99 LDA RAM_BlockXHi ADDR_0289A0: E5 29 SBC $29 ADDR_0289A2: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_0289A5: B5 9E LDA RAM_SpriteNum,X CODE_0289A7: C9 7D CMP.B #$7D CODE_0289A9: D0 28 BNE CODE_0289D3 CODE_0289AB: B5 E4 LDA RAM_SpriteXLo,X CODE_0289AD: 29 30 AND.B #$30 CODE_0289AF: 4A LSR CODE_0289B0: 4A LSR CODE_0289B1: 4A LSR CODE_0289B2: 4A LSR CODE_0289B3: A8 TAY CODE_0289B4: B9 D9 88 LDA.W DATA_0288D9,Y CODE_0289B7: 9D C8 14 STA.W $14C8,X CODE_0289BA: B9 D6 88 LDA.W DATA_0288D6,Y CODE_0289BD: 95 9E STA RAM_SpriteNum,X CODE_0289BF: 48 PHA CODE_0289C0: 22 D2 F7 07 JSL.L InitSpriteTables CODE_0289C4: 68 PLA CODE_0289C5: C9 7D CMP.B #$7D CODE_0289C7: D0 04 BNE CODE_0289CD CODE_0289C9: FE 7C 15 INC.W RAM_SpriteDir,X Return0289CC: 6B RTL ; Return CODE_0289CD: C9 7E CMP.B #$7E CODE_0289CF: F0 32 BEQ CODE_028A03 CODE_0289D1: 80 2E BRA CODE_028A01 CODE_0289D3: C9 04 CMP.B #$04 CODE_0289D5: F0 31 BEQ ADDR_028A08 CODE_0289D7: C9 3E CMP.B #$3E CODE_0289D9: F0 4F BEQ CODE_028A2A CODE_0289DB: C9 2C CMP.B #$2C CODE_0289DD: D0 32 BNE CODE_028A11 CODE_0289DF: A0 0B LDY.B #$0B CODE_0289E1: B9 C8 14 LDA.W $14C8,Y CODE_0289E4: C9 08 CMP.B #$08 CODE_0289E6: 90 0B BCC CODE_0289F3 CODE_0289E8: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_0289EB: C9 2D CMP.B #$2D CODE_0289ED: D0 04 BNE CODE_0289F3 CODE_0289EF: A0 01 LDY.B #$01 CODE_0289F1: 80 08 BRA CODE_0289FB CODE_0289F3: 88 DEY CODE_0289F4: 10 EB BPL CODE_0289E1 CODE_0289F6: AC E2 18 LDY.W $18E2 CODE_0289F9: D0 F4 BNE CODE_0289EF CODE_0289FB: B9 A1 88 LDA.W DATA_0288A1,Y CODE_0289FE: 9D 1C 15 STA.W $151C,X CODE_028A01: 80 0A BRA CODE_028A0D CODE_028A03: F6 C2 INC RAM_SpriteState,X CODE_028A05: F6 C2 INC RAM_SpriteState,X Return028A07: 6B RTL ; Return ADDR_028A08: A9 FF LDA.B #$FF ADDR_028A0A: 9D 40 15 STA.W $1540,X CODE_028A0D: A9 D0 LDA.B #$D0 CODE_028A0F: 80 07 BRA CODE_028A18 CODE_028A11: A9 3E LDA.B #$3E CODE_028A13: 9D 40 15 STA.W $1540,X CODE_028A16: A9 D0 LDA.B #$D0 CODE_028A18: 95 AA STA RAM_SpriteSpeedY,X CODE_028A1A: A9 2C LDA.B #$2C CODE_028A1C: 9D 4C 15 STA.W RAM_DisableInter,X CODE_028A1F: BD 0F 19 LDA.W RAM_Tweaker190F,X CODE_028A22: 10 05 BPL Return028A29 CODE_028A24: A9 10 LDA.B #$10 CODE_028A26: 9D AC 15 STA.W $15AC,X Return028A29: 6B RTL ; Return CODE_028A2A: B5 E4 LDA RAM_SpriteXLo,X CODE_028A2C: 4A LSR CODE_028A2D: 4A LSR CODE_028A2E: 4A LSR CODE_028A2F: 4A LSR CODE_028A30: 29 01 AND.B #$01 CODE_028A32: 9D 1C 15 STA.W $151C,X CODE_028A35: A8 TAY CODE_028A36: B9 42 8A LDA.W DATA_028A42,Y CODE_028A39: 9D F6 15 STA.W RAM_SpritePal,X CODE_028A3C: 22 44 8A 02 JSL.L CODE_028A44 CODE_028A40: 80 CB BRA CODE_028A0D DATA_028A42: .db $06,$02 CODE_028A44: DA PHX CODE_028A45: A2 03 LDX.B #$03 CODE_028A47: BD C0 17 LDA.W $17C0,X CODE_028A4A: F0 04 BEQ CODE_028A50 CODE_028A4C: CA DEX CODE_028A4D: 10 F8 BPL CODE_028A47 CODE_028A4F: E8 INX CODE_028A50: A9 01 LDA.B #$01 CODE_028A52: 9D C0 17 STA.W $17C0,X CODE_028A55: A5 98 LDA RAM_BlockXLo CODE_028A57: 9D C4 17 STA.W $17C4,X CODE_028A5A: A5 9A LDA RAM_BlockYLo CODE_028A5C: 9D C8 17 STA.W $17C8,X CODE_028A5F: A9 1B LDA.B #$1B CODE_028A61: 9D CC 17 STA.W $17CC,X CODE_028A64: FA PLX Return028A65: 6B RTL ; Return CODE_028A66: A2 03 LDX.B #$03 CODE_028A68: BD D0 17 LDA.W $17D0,X CODE_028A6B: F0 10 BEQ CODE_028A7D CODE_028A6D: CA DEX CODE_028A6E: 10 F8 BPL CODE_028A68 ADDR_028A70: CE 65 18 DEC.W $1865 ADDR_028A73: 10 05 BPL ADDR_028A7A ADDR_028A75: A9 03 LDA.B #$03 ADDR_028A77: 8D 65 18 STA.W $1865 ADDR_028A7A: AE 65 18 LDX.W $1865 CODE_028A7D: 22 4A B3 05 JSL.L CODE_05B34A CODE_028A81: FE D0 17 INC.W $17D0,X CODE_028A84: A5 9A LDA RAM_BlockYLo CODE_028A86: 9D E0 17 STA.W $17E0,X CODE_028A89: A5 9B LDA RAM_BlockYHi CODE_028A8B: 9D EC 17 STA.W $17EC,X CODE_028A8E: A5 98 LDA RAM_BlockXLo CODE_028A90: 38 SEC CODE_028A91: E9 10 SBC.B #$10 CODE_028A93: 9D D4 17 STA.W $17D4,X CODE_028A96: A5 99 LDA RAM_BlockXHi CODE_028A98: E9 00 SBC.B #$00 CODE_028A9A: 9D E8 17 STA.W $17E8,X CODE_028A9D: AD 33 19 LDA.W $1933 CODE_028AA0: 9D E4 17 STA.W $17E4,X CODE_028AA3: A9 D0 LDA.B #$D0 CODE_028AA5: 9D D8 17 STA.W $17D8,X Return028AA8: 60 RTS ; Return DATA_028AA9: .db $07,$03,$03,$01,$01,$01,$01,$01 CODE_028AB1: 8B PHB CODE_028AB2: 4B PHK CODE_028AB3: AB PLB CODE_028AB4: AD E4 18 LDA.W $18E4 CODE_028AB7: F0 1C BEQ CODE_028AD5 CODE_028AB9: AD E5 18 LDA.W $18E5 CODE_028ABC: F0 05 BEQ CODE_028AC3 CODE_028ABE: CE E5 18 DEC.W $18E5 CODE_028AC1: 80 12 BRA CODE_028AD5 CODE_028AC3: CE E4 18 DEC.W $18E4 CODE_028AC6: F0 05 BEQ CODE_028ACD CODE_028AC8: A9 23 LDA.B #$23 CODE_028ACA: 8D E5 18 STA.W $18E5 CODE_028ACD: A9 05 LDA.B #$05 ; \ Play sound effect CODE_028ACF: 8D FC 1D STA.W $1DFC ; / CODE_028AD2: EE BE 0D INC.W RAM_StatusLives CODE_028AD5: AD 90 14 LDA.W $1490 ; \ Branch if Mario doesn't have star CODE_028AD8: F0 11 BEQ CODE_028AEB ; / CODE_028ADA: C9 08 CMP.B #$08 CODE_028ADC: 90 0D BCC CODE_028AEB CODE_028ADE: 4A LSR CODE_028ADF: 4A LSR CODE_028AE0: 4A LSR CODE_028AE1: 4A LSR CODE_028AE2: 4A LSR CODE_028AE3: A8 TAY CODE_028AE4: A5 13 LDA RAM_FrameCounter CODE_028AE6: 39 A9 8A AND.W DATA_028AA9,Y CODE_028AE9: 80 0A BRA CODE_028AF5 CODE_028AEB: AD D3 18 LDA.W $18D3 CODE_028AEE: F0 15 BEQ CODE_028B05 ADDR_028AF0: CE D3 18 DEC.W $18D3 ADDR_028AF3: 29 01 AND.B #$01 CODE_028AF5: 05 7F ORA $7F CODE_028AF7: 05 81 ORA $81 CODE_028AF9: D0 0A BNE CODE_028B05 CODE_028AFB: A5 80 LDA $80 CODE_028AFD: C9 D0 CMP.B #$D0 CODE_028AFF: B0 04 BCS CODE_028B05 CODE_028B01: 22 8F 85 02 JSL.L CODE_02858F CODE_028B05: 20 67 8B JSR.W CODE_028B67 CODE_028B08: 20 2D 90 JSR.W CODE_02902D CODE_028B0B: 20 A4 AD JSR.W ScoreSprGfx CODE_028B0E: 20 0A 9B JSR.W CODE_029B0A CODE_028B11: 20 D2 99 JSR.W CODE_0299D2 CODE_028B14: 20 87 B3 JSR.W CODE_02B387 CODE_028B17: 20 FE AF JSR.W CallGenerator CODE_028B1A: 20 F5 94 JSR.W CODE_0294F5 CODE_028B1D: 20 FC A7 JSR.W LoadSprFromLevel CODE_028B20: AD C0 18 LDA.W RAM_TimeTillRespawn ; \ Return if timer not set CODE_028B23: F0 40 BEQ CODE_028B65 ; / CODE_028B25: A5 13 LDA RAM_FrameCounter ; \ Decrement every other frame... CODE_028B27: 29 01 AND.B #$01 ; | CODE_028B29: 05 9D ORA RAM_SpritesLocked ; | ...as long as sprites not locked... CODE_028B2B: 0D BF 18 ORA.W $18BF CODE_028B2E: D0 35 BNE CODE_028B65 ; | CODE_028B30: CE C0 18 DEC.W RAM_TimeTillRespawn ; / CODE_028B33: D0 30 BNE CODE_028B65 ; Return if the timer hasn't just run out CODE_028B35: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_028B39: 30 2A BMI CODE_028B65 ; / CODE_028B3B: BB TYX CODE_028B3C: A9 01 LDA.B #$01 ; \ Sprite status = Initialization CODE_028B3E: 9D C8 14 STA.W $14C8,X ; / CODE_028B41: AD C1 18 LDA.W RAM_SpriteToRespawn ; \ Sprite = Sprite to respwan CODE_028B44: 95 9E STA RAM_SpriteNum,X ; / CODE_028B46: A5 1A LDA RAM_ScreenBndryXLo CODE_028B48: 38 SEC CODE_028B49: E9 20 SBC.B #$20 CODE_028B4B: 29 EF AND.B #$EF CODE_028B4D: 95 E4 STA RAM_SpriteXLo,X CODE_028B4F: A5 1B LDA RAM_ScreenBndryXHi CODE_028B51: E9 00 SBC.B #$00 CODE_028B53: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_028B56: AD C3 18 LDA.W $18C3 CODE_028B59: 95 D8 STA RAM_SpriteYLo,X CODE_028B5B: AD C4 18 LDA.W $18C4 CODE_028B5E: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_028B61: 22 D2 F7 07 JSL.L InitSpriteTables ; Reset sprite tables CODE_028B65: AB PLB Return028B66: 6B RTL ; Return CODE_028B67: A2 0B LDX.B #$0B CODE_028B69: BD F0 17 LDA.W $17F0,X CODE_028B6C: F0 06 BEQ CODE_028B74 CODE_028B6E: 8E 98 16 STX.W $1698 CODE_028B71: 20 94 8B JSR.W CODE_028B94 CODE_028B74: CA DEX CODE_028B75: 10 F2 BPL CODE_028B69 Return028B77: 60 RTS ; Return BrokenBlock: .db $50,$54,$58,$5C,$60,$64,$68,$6C .db $70,$74,$78,$7C BrokenBlock2: .db $3C,$3D,$3D,$3C,$3C,$3D,$3D,$3C DATA_028B8C: .db $00,$00,$80,$80,$80,$C0,$40,$00 CODE_028B94: 22 DF 86 00 JSL.L ExecutePtr Ptrs028B98: 77 8B .dw Return028B77 8B 8F .dw CODE_028F8B D2 8E .dw CODE_028ED2 7E 8E .dw CODE_028E7E 2F 8F .dw CODE_028F2F D2 8E .dw CODE_028ED2 DB 8D .dw CODE_028DDB 4F 8D .dw CODE_028D4F DB 8D .dw CODE_028DDB DB 8D .dw CODE_028DDB C4 8C .dw CODE_028CC4 0F 8C .dw ADDR_028C0F DisabledAddSmokeRt: 8B PHB ; \ This routine does nothing at all CODE_028BB1: 4B PHK ; | I believe it used to call the below CODE_028BB2: AB PLB ; | routine to add smoke when boarding CODE_028BB3: 20 B8 8B JSR.W Return028BB8 ; | Yoshi CODE_028BB6: AB PLB ; | Return028BB7: 6B RTL ; / Return Return028BB8: 60 RTS ; Return UnusedYoshiSmoke: 64 00 STZ $00 ; \ Display smoke when getting on Yoshi ADDR_028BBB: 20 C0 8B JSR.W ADDR_028BC0 ; | ADDR_028BBE: E6 00 INC $00 ; | ADDR_028BC0: A0 0B LDY.B #$0B ; | ADDR_028BC2: B9 F0 17 LDA.W $17F0,Y ; | ADDR_028BC5: F0 04 BEQ ADDR_028BCB ; | ADDR_028BC7: 88 DEY ; | ADDR_028BC8: 10 F8 BPL ADDR_028BC2 ; | Return028BCA: 60 RTS ; / Return ADDR_028BCB: A9 0B LDA.B #$0B ADDR_028BCD: 99 F0 17 STA.W $17F0,Y ADDR_028BD0: A9 00 LDA.B #$00 ADDR_028BD2: 99 50 18 STA.W $1850,Y ADDR_028BD5: B5 D8 LDA RAM_SpriteYLo,X ADDR_028BD7: 18 CLC ADDR_028BD8: 69 1C ADC.B #$1C ADDR_028BDA: 99 FC 17 STA.W $17FC,Y ADDR_028BDD: BD D4 14 LDA.W RAM_SpriteYHi,X ADDR_028BE0: 69 00 ADC.B #$00 ADDR_028BE2: 99 14 18 STA.W $1814,Y ADDR_028BE5: A5 94 LDA RAM_MarioXPos ADDR_028BE7: 85 02 STA $02 ADDR_028BE9: A5 95 LDA RAM_MarioXPosHi ADDR_028BEB: 85 03 STA $03 ADDR_028BED: DA PHX ADDR_028BEE: A6 00 LDX $00 ADDR_028BF0: BD 09 8C LDA.W DATA_028C09,X ADDR_028BF3: 99 2C 18 STA.W $182C,Y ADDR_028BF6: A5 02 LDA $02 ADDR_028BF8: 18 CLC ADDR_028BF9: 7D 0B 8C ADC.W DATA_028C0B,X ADDR_028BFC: 99 08 18 STA.W $1808,Y ADDR_028BFF: A5 03 LDA $03 ADDR_028C01: 7D 0D 8C ADC.W DATA_028C0D,X ADDR_028C04: 99 EA 18 STA.W $18EA,Y ADDR_028C07: FA PLX Return028C08: 60 RTS ; Return DATA_028C09: .db $40,$C0 DATA_028C0B: .db $0C,$FC DATA_028C0D: .db $00,$FF ADDR_028C0F: BD 50 18 LDA.W $1850,X ADDR_028C12: D0 4D BNE ADDR_028C61 ADDR_028C14: BD 2C 18 LDA.W $182C,X ADDR_028C17: F0 4D BEQ ADDR_028C66 ADDR_028C19: 10 05 BPL ADDR_028C20 ADDR_028C1B: 18 CLC ADDR_028C1C: 69 08 ADC.B #$08 ADDR_028C1E: 80 03 BRA ADDR_028C23 ADDR_028C20: 38 SEC ADDR_028C21: E9 08 SBC.B #$08 ADDR_028C23: 9D 2C 18 STA.W $182C,X ADDR_028C26: 20 BC B5 JSR.W CODE_02B5BC ADDR_028C29: 8A TXA ADDR_028C2A: 45 13 EOR RAM_FrameCounter ADDR_028C2C: 29 03 AND.B #$03 ADDR_028C2E: D0 30 BNE Return028C60 ADDR_028C30: A0 0B LDY.B #$0B ADDR_028C32: B9 F0 17 LDA.W $17F0,Y ADDR_028C35: F0 04 BEQ ADDR_028C3B ADDR_028C37: 88 DEY ADDR_028C38: 10 F8 BPL ADDR_028C32 Return028C3A: 60 RTS ; Return ADDR_028C3B: A9 0B LDA.B #$0B ADDR_028C3D: 99 F0 17 STA.W $17F0,Y ADDR_028C40: 99 20 18 STA.W $1820,Y ADDR_028C43: BD 08 18 LDA.W $1808,X ADDR_028C46: 99 08 18 STA.W $1808,Y ADDR_028C49: BD EA 18 LDA.W $18EA,X ADDR_028C4C: 99 EA 18 STA.W $18EA,Y ADDR_028C4F: BD FC 17 LDA.W $17FC,X ADDR_028C52: 99 FC 17 STA.W $17FC,Y ADDR_028C55: BD 14 18 LDA.W $1814,X ADDR_028C58: 99 14 18 STA.W $1814,Y ADDR_028C5B: A9 10 LDA.B #$10 ADDR_028C5D: 99 50 18 STA.W $1850,Y Return028C60: 60 RTS ; Return ADDR_028C61: DE 50 18 DEC.W $1850,X ADDR_028C64: D0 08 BNE ADDR_028C6E ADDR_028C66: 9E F0 17 STZ.W $17F0,X Return028C69: 60 RTS ; Return DATA_028C6A: .db $66,$66,$64,$62 ADDR_028C6E: BC 78 8B LDY.W BrokenBlock,X ADDR_028C71: BD 08 18 LDA.W $1808,X ADDR_028C74: 38 SEC ADDR_028C75: E5 1A SBC RAM_ScreenBndryXLo ADDR_028C77: 85 00 STA $00 ADDR_028C79: BD EA 18 LDA.W $18EA,X ADDR_028C7C: E5 1B SBC RAM_ScreenBndryXHi ADDR_028C7E: D0 E6 BNE ADDR_028C66 ADDR_028C80: BD FC 17 LDA.W $17FC,X ADDR_028C83: 38 SEC ADDR_028C84: E5 1C SBC RAM_ScreenBndryYLo ADDR_028C86: 85 01 STA $01 ADDR_028C88: BD 14 18 LDA.W $1814,X ADDR_028C8B: E5 1D SBC RAM_ScreenBndryYHi ADDR_028C8D: D0 D7 BNE ADDR_028C66 ADDR_028C8F: A5 00 LDA $00 ADDR_028C91: 99 00 02 STA.W OAM_ExtendedDispX,Y ADDR_028C94: A5 01 LDA $01 ADDR_028C96: 99 01 02 STA.W OAM_ExtendedDispY,Y ADDR_028C99: DA PHX ADDR_028C9A: BD 50 18 LDA.W $1850,X ADDR_028C9D: 4A LSR ADDR_028C9E: 4A LSR ADDR_028C9F: AA TAX ADDR_028CA0: BD 6A 8C LDA.W DATA_028C6A,X ADDR_028CA3: 99 02 02 STA.W OAM_ExtendedTile,Y ADDR_028CA6: FA PLX ADDR_028CA7: A5 64 LDA $64 ADDR_028CA9: 09 08 ORA.B #$08 ADDR_028CAB: 99 03 02 STA.W OAM_ExtendedProp,Y ADDR_028CAE: 98 TYA ADDR_028CAF: 4A LSR ADDR_028CB0: 4A LSR ADDR_028CB1: A8 TAY ADDR_028CB2: A9 00 LDA.B #$00 ADDR_028CB4: 99 20 04 STA.W $0420,Y Return028CB7: 60 RTS ; Return BooStreamTiles: .db $88,$A8,$AA,$8C,$8E,$AE,$88,$A8 .db $AA,$8C,$8E,$AE CODE_028CC4: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_028CC6: D0 37 BNE CODE_028CFF ; / CODE_028CC8: BD 08 18 LDA.W $1808,X CODE_028CCB: 18 CLC CODE_028CCC: 69 04 ADC.B #$04 CODE_028CCE: 85 04 STA $04 CODE_028CD0: BD EA 18 LDA.W $18EA,X CODE_028CD3: 69 00 ADC.B #$00 CODE_028CD5: 85 0A STA $0A CODE_028CD7: BD FC 17 LDA.W $17FC,X CODE_028CDA: 18 CLC CODE_028CDB: 69 04 ADC.B #$04 CODE_028CDD: 85 05 STA $05 CODE_028CDF: BD 14 18 LDA.W $1814,X CODE_028CE2: 69 00 ADC.B #$00 CODE_028CE4: 85 0B STA $0B CODE_028CE6: A9 08 LDA.B #$08 CODE_028CE8: 85 06 STA $06 CODE_028CEA: 85 07 STA $07 CODE_028CEC: 22 64 B6 03 JSL.L GetMarioClipping CODE_028CF0: 22 2B B7 03 JSL.L CheckForContact CODE_028CF4: 90 04 BCC CODE_028CFA CODE_028CF6: 22 B7 F5 00 JSL.L HurtMario CODE_028CFA: DE 50 18 DEC.W $1850,X CODE_028CFD: F0 63 BEQ CODE_028D62 CODE_028CFF: BC 78 8B LDY.W BrokenBlock,X CODE_028D02: BD 08 18 LDA.W $1808,X CODE_028D05: 38 SEC CODE_028D06: E5 1A SBC RAM_ScreenBndryXLo CODE_028D08: 85 00 STA $00 CODE_028D0A: BD EA 18 LDA.W $18EA,X CODE_028D0D: E5 1B SBC RAM_ScreenBndryXHi CODE_028D0F: D0 30 BNE Return028D41 CODE_028D11: A5 00 LDA $00 CODE_028D13: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_028D16: BD FC 17 LDA.W $17FC,X CODE_028D19: 38 SEC CODE_028D1A: E5 1C SBC RAM_ScreenBndryYLo CODE_028D1C: C9 F0 CMP.B #$F0 CODE_028D1E: B0 42 BCS CODE_028D62 CODE_028D20: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_028D23: BD B8 8C LDA.W BooStreamTiles,X CODE_028D26: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_028D29: BD 2C 18 LDA.W $182C,X CODE_028D2C: 4A LSR CODE_028D2D: 29 40 AND.B #$40 CODE_028D2F: 49 40 EOR.B #$40 CODE_028D31: 05 64 ORA $64 CODE_028D33: 09 0F ORA.B #$0F CODE_028D35: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_028D38: 98 TYA CODE_028D39: 4A LSR CODE_028D3A: 4A LSR CODE_028D3B: A8 TAY CODE_028D3C: A9 02 LDA.B #$02 CODE_028D3E: 99 20 04 STA.W $0420,Y Return028D41: 60 RTS ; Return WaterSplashTiles: .db $68,$68,$6A,$6A,$6A,$62,$62,$62 .db $64,$64,$64,$64,$66 CODE_028D4F: BD 08 18 LDA.W $1808,X CODE_028D52: C5 1A CMP RAM_ScreenBndryXLo CODE_028D54: BD EA 18 LDA.W $18EA,X CODE_028D57: E5 1B SBC RAM_ScreenBndryXHi CODE_028D59: D0 07 BNE CODE_028D62 CODE_028D5B: BD 50 18 LDA.W $1850,X CODE_028D5E: C9 20 CMP.B #$20 CODE_028D60: D0 04 BNE CODE_028D66 CODE_028D62: 9E F0 17 STZ.W $17F0,X Return028D65: 60 RTS ; Return CODE_028D66: 64 00 STZ $00 CODE_028D68: C9 10 CMP.B #$10 CODE_028D6A: 90 1F BCC CODE_028D8B CODE_028D6C: 29 01 AND.B #$01 CODE_028D6E: 05 9D ORA RAM_SpritesLocked CODE_028D70: D0 03 BNE CODE_028D75 CODE_028D72: FE FC 17 INC.W $17FC,X CODE_028D75: BD 50 18 LDA.W $1850,X CODE_028D78: 38 SEC CODE_028D79: E9 10 SBC.B #$10 CODE_028D7B: 4A LSR CODE_028D7C: 4A LSR CODE_028D7D: 85 02 STA $02 CODE_028D7F: A5 13 LDA RAM_FrameCounter CODE_028D81: 4A LSR CODE_028D82: A5 02 LDA $02 CODE_028D84: 90 03 BCC CODE_028D89 CODE_028D86: 49 FF EOR.B #$FF CODE_028D88: 1A INC A CODE_028D89: 85 00 STA $00 CODE_028D8B: BC 78 8B LDY.W BrokenBlock,X CODE_028D8E: BD 08 18 LDA.W $1808,X CODE_028D91: 18 CLC CODE_028D92: 65 00 ADC $00 CODE_028D94: 38 SEC CODE_028D95: E5 1A SBC RAM_ScreenBndryXLo CODE_028D97: C9 F0 CMP.B #$F0 CODE_028D99: B0 C7 BCS CODE_028D62 CODE_028D9B: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_028D9E: BD FC 17 LDA.W $17FC,X CODE_028DA1: 38 SEC CODE_028DA2: E5 1C SBC RAM_ScreenBndryYLo CODE_028DA4: C9 E8 CMP.B #$E8 CODE_028DA6: B0 BA BCS CODE_028D62 CODE_028DA8: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_028DAB: BD 50 18 LDA.W $1850,X CODE_028DAE: 4A LSR CODE_028DAF: AA TAX CODE_028DB0: E0 0C CPX.B #$0C CODE_028DB2: 90 02 BCC CODE_028DB6 CODE_028DB4: A2 0C LDX.B #$0C CODE_028DB6: BD 42 8D LDA.W WaterSplashTiles,X CODE_028DB9: AE 98 16 LDX.W $1698 CODE_028DBC: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_028DBF: A5 64 LDA $64 CODE_028DC1: 09 02 ORA.B #$02 CODE_028DC3: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_028DC6: 98 TYA CODE_028DC7: 4A LSR CODE_028DC8: 4A LSR CODE_028DC9: A8 TAY CODE_028DCA: A9 02 LDA.B #$02 CODE_028DCC: 99 20 04 STA.W $0420,Y CODE_028DCF: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_028DD1: D0 03 BNE Return028DD6 ; / CODE_028DD3: FE 50 18 INC.W $1850,X Return028DD6: 60 RTS ; Return RipVanFishZsTiles: .db $F1,$F0,$E1,$E0 CODE_028DDB: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_028DDD: D0 41 BNE CODE_028E20 ; / CODE_028DDF: BD 50 18 LDA.W $1850,X CODE_028DE2: F0 03 BEQ CODE_028DE7 CODE_028DE4: DE 50 18 DEC.W $1850,X CODE_028DE7: BD 50 18 LDA.W $1850,X CODE_028DEA: 29 00 AND.B #$00 CODE_028DEC: D0 10 BNE CODE_028DFE CODE_028DEE: BD 50 18 LDA.W $1850,X CODE_028DF1: FE 2C 18 INC.W $182C,X CODE_028DF4: 29 10 AND.B #$10 CODE_028DF6: D0 06 BNE CODE_028DFE CODE_028DF8: DE 2C 18 DEC.W $182C,X CODE_028DFB: DE 2C 18 DEC.W $182C,X CODE_028DFE: BD 2C 18 LDA.W $182C,X CODE_028E01: 48 PHA CODE_028E02: BC F0 17 LDY.W $17F0,X CODE_028E05: C0 09 CPY.B #$09 CODE_028E07: D0 06 BNE CODE_028E0F ADDR_028E09: 49 FF EOR.B #$FF ADDR_028E0B: 1A INC A ADDR_028E0C: 9D 2C 18 STA.W $182C,X CODE_028E0F: 20 BC B5 JSR.W CODE_02B5BC CODE_028E12: 68 PLA CODE_028E13: 9D 2C 18 STA.W $182C,X CODE_028E16: BD 50 18 LDA.W $1850,X CODE_028E19: 29 03 AND.B #$03 CODE_028E1B: D0 03 BNE CODE_028E20 CODE_028E1D: DE FC 17 DEC.W $17FC,X CODE_028E20: BC 78 8B LDY.W BrokenBlock,X CODE_028E23: BD 08 18 LDA.W $1808,X CODE_028E26: 38 SEC CODE_028E27: E5 1A SBC RAM_ScreenBndryXLo CODE_028E29: C9 08 CMP.B #$08 CODE_028E2B: 90 49 BCC CODE_028E76 CODE_028E2D: C9 FC CMP.B #$FC CODE_028E2F: B0 45 BCS CODE_028E76 CODE_028E31: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_028E34: BD FC 17 LDA.W $17FC,X CODE_028E37: 38 SEC CODE_028E38: E5 1C SBC RAM_ScreenBndryYLo CODE_028E3A: C9 F0 CMP.B #$F0 CODE_028E3C: B0 38 BCS CODE_028E76 CODE_028E3E: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_028E41: A5 64 LDA $64 CODE_028E43: 09 03 ORA.B #$03 CODE_028E45: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_028E48: BD 50 18 LDA.W $1850,X CODE_028E4B: C9 14 CMP.B #$14 CODE_028E4D: F0 27 BEQ CODE_028E76 CODE_028E4F: BD F0 17 LDA.W $17F0,X CODE_028E52: C9 08 CMP.B #$08 CODE_028E54: A9 7F LDA.B #$7F CODE_028E56: B0 0E BCS CODE_028E66 CODE_028E58: BD 50 18 LDA.W $1850,X CODE_028E5B: 4A LSR CODE_028E5C: 4A LSR CODE_028E5D: 4A LSR CODE_028E5E: 4A LSR CODE_028E5F: 4A LSR CODE_028E60: 29 03 AND.B #$03 CODE_028E62: AA TAX CODE_028E63: BD D7 8D LDA.W RipVanFishZsTiles,X CODE_028E66: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_028E69: 98 TYA CODE_028E6A: 4A LSR CODE_028E6B: 4A LSR CODE_028E6C: A8 TAY CODE_028E6D: A9 00 LDA.B #$00 CODE_028E6F: 99 20 04 STA.W $0420,Y CODE_028E72: AE 98 16 LDX.W $1698 Return028E75: 60 RTS ; Return CODE_028E76: 9E F0 17 STZ.W $17F0,X Return028E79: 60 RTS ; Return DATA_028E7A: .db $03,$43,$83,$C3 CODE_028E7E: DE 50 18 DEC.W $1850,X CODE_028E81: BD 50 18 LDA.W $1850,X CODE_028E84: 29 3F AND.B #$3F CODE_028E86: F0 4F BEQ CODE_028ED7 CODE_028E88: 20 BC B5 JSR.W CODE_02B5BC CODE_028E8B: 20 C8 B5 JSR.W CODE_02B5C8 CODE_028E8E: FE 20 18 INC.W $1820,X CODE_028E91: FE 20 18 INC.W $1820,X CODE_028E94: BC 78 8B LDY.W BrokenBlock,X CODE_028E97: BD FC 17 LDA.W $17FC,X CODE_028E9A: 38 SEC CODE_028E9B: E5 1C SBC RAM_ScreenBndryYLo CODE_028E9D: C9 F0 CMP.B #$F0 CODE_028E9F: B0 36 BCS CODE_028ED7 CODE_028EA1: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_028EA4: BD 08 18 LDA.W $1808,X CODE_028EA7: 38 SEC CODE_028EA8: E5 1A SBC RAM_ScreenBndryXLo CODE_028EAA: C9 F8 CMP.B #$F8 CODE_028EAC: B0 29 BCS CODE_028ED7 CODE_028EAE: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_028EB1: A9 6F LDA.B #$6F CODE_028EB3: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_028EB6: BD 50 18 LDA.W $1850,X CODE_028EB9: 29 C0 AND.B #$C0 CODE_028EBB: 09 03 ORA.B #$03 CODE_028EBD: 05 64 ORA $64 CODE_028EBF: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_028EC2: 98 TYA CODE_028EC3: 4A LSR CODE_028EC4: 4A LSR CODE_028EC5: A8 TAY CODE_028EC6: A9 00 LDA.B #$00 CODE_028EC8: 99 20 04 STA.W $0420,Y Return028ECB: 60 RTS ; Return StarSparkleTiles: .db $66,$6E,$FF,$6D,$6C,$5C CODE_028ED2: BD 50 18 LDA.W $1850,X CODE_028ED5: D0 03 BNE CODE_028EDA CODE_028ED7: 4C 87 8F JMP.W CODE_028F87 CODE_028EDA: A4 9D LDY RAM_SpritesLocked CODE_028EDC: D0 03 BNE CODE_028EE1 CODE_028EDE: DE 50 18 DEC.W $1850,X CODE_028EE1: BC 78 8B LDY.W BrokenBlock,X CODE_028EE4: BD 08 18 LDA.W $1808,X CODE_028EE7: 38 SEC CODE_028EE8: E5 1A SBC RAM_ScreenBndryXLo CODE_028EEA: C9 F0 CMP.B #$F0 CODE_028EEC: B0 E9 BCS CODE_028ED7 CODE_028EEE: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_028EF1: BD FC 17 LDA.W $17FC,X CODE_028EF4: 38 SEC CODE_028EF5: E5 1C SBC RAM_ScreenBndryYLo CODE_028EF7: C9 F0 CMP.B #$F0 CODE_028EF9: B0 DC BCS CODE_028ED7 CODE_028EFB: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_028EFE: BD F0 17 LDA.W $17F0,X CODE_028F01: 48 PHA CODE_028F02: BD 50 18 LDA.W $1850,X CODE_028F05: 4A LSR CODE_028F06: 4A LSR CODE_028F07: 4A LSR CODE_028F08: AA TAX CODE_028F09: 68 PLA CODE_028F0A: C9 05 CMP.B #$05 CODE_028F0C: D0 03 BNE CODE_028F11 CODE_028F0E: E8 INX CODE_028F0F: E8 INX CODE_028F10: E8 INX CODE_028F11: BD CC 8E LDA.W StarSparkleTiles,X CODE_028F14: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_028F17: A5 64 LDA $64 CODE_028F19: 09 06 ORA.B #$06 CODE_028F1B: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_028F1E: AE 98 16 LDX.W $1698 CODE_028F21: 98 TYA CODE_028F22: 4A LSR CODE_028F23: 4A LSR CODE_028F24: A8 TAY CODE_028F25: A9 00 LDA.B #$00 CODE_028F27: 99 20 04 STA.W $0420,Y Return028F2A: 60 RTS ; Return LavaSplashTiles: .db $D7,$C7,$D6,$C6 CODE_028F2F: BD 08 18 LDA.W $1808,X CODE_028F32: C5 1A CMP RAM_ScreenBndryXLo CODE_028F34: BD EA 18 LDA.W $18EA,X CODE_028F37: E5 1B SBC RAM_ScreenBndryXHi CODE_028F39: D0 4C BNE CODE_028F87 CODE_028F3B: BD 50 18 LDA.W $1850,X CODE_028F3E: F0 47 BEQ CODE_028F87 CODE_028F40: A4 9D LDY RAM_SpritesLocked CODE_028F42: D0 09 BNE CODE_028F4D CODE_028F44: DE 50 18 DEC.W $1850,X CODE_028F47: 20 C8 B5 JSR.W CODE_02B5C8 CODE_028F4A: FE 20 18 INC.W $1820,X CODE_028F4D: BC 78 8B LDY.W BrokenBlock,X CODE_028F50: BD 08 18 LDA.W $1808,X CODE_028F53: 38 SEC CODE_028F54: E5 1A SBC RAM_ScreenBndryXLo CODE_028F56: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_028F59: BD FC 17 LDA.W $17FC,X CODE_028F5C: C9 F0 CMP.B #$F0 CODE_028F5E: B0 27 BCS CODE_028F87 CODE_028F60: 38 SEC CODE_028F61: E5 1C SBC RAM_ScreenBndryYLo CODE_028F63: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_028F66: BD 50 18 LDA.W $1850,X CODE_028F69: 4A LSR CODE_028F6A: 4A LSR CODE_028F6B: 4A LSR CODE_028F6C: AA TAX CODE_028F6D: BD 2B 8F LDA.W LavaSplashTiles,X CODE_028F70: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_028F73: A5 64 LDA $64 CODE_028F75: 09 05 ORA.B #$05 CODE_028F77: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_028F7A: AE 98 16 LDX.W $1698 CODE_028F7D: 98 TYA CODE_028F7E: 4A LSR CODE_028F7F: 4A LSR CODE_028F80: A8 TAY CODE_028F81: A9 00 LDA.B #$00 CODE_028F83: 99 20 04 STA.W $0420,Y Return028F86: 60 RTS ; Return CODE_028F87: 9E F0 17 STZ.W $17F0,X Return028F8A: 60 RTS ; Return CODE_028F8B: A5 9D LDA RAM_SpritesLocked ; \ Branch if sprites locked CODE_028F8D: D0 3B BNE CODE_028FCA ; / CODE_028F8F: A5 13 LDA RAM_FrameCounter CODE_028F91: 29 03 AND.B #$03 CODE_028F93: F0 16 BEQ CODE_028FAB CODE_028F95: A0 00 LDY.B #$00 CODE_028F97: BD 2C 18 LDA.W $182C,X CODE_028F9A: 10 01 BPL CODE_028F9D CODE_028F9C: 88 DEY CODE_028F9D: 18 CLC CODE_028F9E: 7D 08 18 ADC.W $1808,X CODE_028FA1: 9D 08 18 STA.W $1808,X CODE_028FA4: 98 TYA CODE_028FA5: 7D EA 18 ADC.W $18EA,X CODE_028FA8: 9D EA 18 STA.W $18EA,X CODE_028FAB: A0 00 LDY.B #$00 CODE_028FAD: BD 20 18 LDA.W $1820,X CODE_028FB0: 10 01 BPL CODE_028FB3 CODE_028FB2: 88 DEY CODE_028FB3: 18 CLC CODE_028FB4: 7D FC 17 ADC.W $17FC,X CODE_028FB7: 9D FC 17 STA.W $17FC,X CODE_028FBA: 98 TYA CODE_028FBB: 7D 14 18 ADC.W $1814,X CODE_028FBE: 9D 14 18 STA.W $1814,X CODE_028FC1: A5 13 LDA RAM_FrameCounter CODE_028FC3: 29 03 AND.B #$03 CODE_028FC5: D0 03 BNE CODE_028FCA CODE_028FC7: FE 20 18 INC.W $1820,X CODE_028FCA: BD FC 17 LDA.W $17FC,X CODE_028FCD: 38 SEC CODE_028FCE: E5 1C SBC RAM_ScreenBndryYLo CODE_028FD0: 85 00 STA $00 CODE_028FD2: BD 14 18 LDA.W $1814,X CODE_028FD5: E5 1D SBC RAM_ScreenBndryYHi CODE_028FD7: F0 04 BEQ CODE_028FDD CODE_028FD9: 10 AC BPL CODE_028F87 CODE_028FDB: 30 4F BMI Return02902C CODE_028FDD: BC 78 8B LDY.W BrokenBlock,X CODE_028FE0: BD 08 18 LDA.W $1808,X CODE_028FE3: 38 SEC CODE_028FE4: E5 1A SBC RAM_ScreenBndryXLo CODE_028FE6: 85 01 STA $01 CODE_028FE8: BD EA 18 LDA.W $18EA,X CODE_028FEB: E5 1B SBC RAM_ScreenBndryXHi CODE_028FED: D0 98 BNE CODE_028F87 CODE_028FEF: A5 01 LDA $01 CODE_028FF1: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_028FF4: A5 00 LDA $00 CODE_028FF6: C9 F0 CMP.B #$F0 CODE_028FF8: B0 8D BCS CODE_028F87 CODE_028FFA: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_028FFD: BD 50 18 LDA.W $1850,X CODE_029000: 48 PHA CODE_029001: A5 14 LDA RAM_FrameCounterB CODE_029003: 4A LSR CODE_029004: 18 CLC CODE_029005: 6D 98 16 ADC.W $1698 CODE_029008: 29 07 AND.B #$07 CODE_02900A: AA TAX CODE_02900B: BD 84 8B LDA.W BrokenBlock2,X CODE_02900E: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029011: 68 PLA CODE_029012: F0 04 BEQ CODE_029018 CODE_029014: A5 13 LDA RAM_FrameCounter CODE_029016: 29 0E AND.B #$0E CODE_029018: 5D 8C 8B EOR.W DATA_028B8C,X CODE_02901B: 05 64 ORA $64 CODE_02901D: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_029020: AE 98 16 LDX.W $1698 CODE_029023: 98 TYA CODE_029024: 4A LSR CODE_029025: 4A LSR CODE_029026: A8 TAY CODE_029027: A9 00 LDA.B #$00 CODE_029029: 99 20 04 STA.W $0420,Y Return02902C: 60 RTS ; Return CODE_02902D: AD 6B 18 LDA.W $186B CODE_029030: C9 02 CMP.B #$02 CODE_029032: 90 07 BCC CODE_02903B CODE_029034: A5 9D LDA RAM_SpritesLocked CODE_029036: D0 03 BNE CODE_02903B CODE_029038: CE 6B 18 DEC.W $186B CODE_02903B: A2 03 LDX.B #$03 CODE_02903D: 8E 98 16 STX.W $1698 CODE_029040: 20 4D 90 JSR.W CODE_02904D CODE_029043: 20 98 93 JSR.W CODE_029398 CODE_029046: 20 C0 96 JSR.W CODE_0296C0 CODE_029049: CA DEX CODE_02904A: 10 F1 BPL CODE_02903D Return02904C: 60 RTS ; Return CODE_02904D: BD 99 16 LDA.W RAM_BounceSprNum,X CODE_029050: F0 FA BEQ Return02904C CODE_029052: A4 9D LDY RAM_SpritesLocked CODE_029054: D0 08 BNE CODE_02905E CODE_029056: BC C5 16 LDY.W RAM_BounceSprTimer,X ; \ Decrement bounce sprite timer if > 0 CODE_029059: F0 03 BEQ CODE_02905E CODE_02905B: DE C5 16 DEC.W RAM_BounceSprTimer,X CODE_02905E: 22 DF 86 00 JSL.L ExecutePtr BounceSpritePtrs: 4C 90 .dw Return02904C ; 00 - Nothing (Bypassed above) DE 90 .dw BounceBlockSpr ; 01 - Turn Block without turn DE 90 .dw BounceBlockSpr ; 02 - Music Block DE 90 .dw BounceBlockSpr ; 03 - Question Block DE 90 .dw BounceBlockSpr ; 04 - Sideways Bounce Block DE 90 .dw BounceBlockSpr ; 05 - Translucent Block DE 90 .dw BounceBlockSpr ; 06 - On/Off Block 76 90 .dw TurnBlockSpr ; 07 - Turn Block DATA_029072: .db $13,$00,$00,$ED TurnBlockSpr: A5 9D LDA RAM_SpritesLocked ; \ Return if sprites locked CODE_029078: D0 53 BNE Return0290CD ; / CODE_02907A: BD 9D 16 LDA.W RAM_BounceSprInit,X ; \ Initialize only once CODE_02907D: D0 06 BNE CODE_029085 ; | (Generate invisible tile sprite) CODE_02907F: FE 9D 16 INC.W RAM_BounceSprInit,X ; | CODE_029082: 20 B8 91 JSR.W InvisSldFromBncSpr ; / CODE_029085: BD C5 16 LDA.W RAM_BounceSprTimer,X CODE_029088: F0 31 BEQ CODE_0290BB CODE_02908A: C9 01 CMP.B #$01 CODE_02908C: D0 1A BNE CODE_0290A8 CODE_02908E: BD A1 16 LDA.W RAM_BounceSprXLo,X CODE_029091: 18 CLC CODE_029092: 69 08 ADC.B #$08 CODE_029094: 29 F0 AND.B #$F0 CODE_029096: 9D A1 16 STA.W RAM_BounceSprXLo,X CODE_029099: BD A9 16 LDA.W RAM_BounceSprXHi,X CODE_02909C: 69 00 ADC.B #$00 CODE_02909E: 9D A9 16 STA.W RAM_BounceSprXHi,X CODE_0290A1: A9 05 LDA.B #$05 CODE_0290A3: 20 BA 91 JSR.W TileFromBounceSpr1 CODE_0290A6: 80 13 BRA CODE_0290BB CODE_0290A8: 20 26 B5 JSR.W CODE_02B526 CODE_0290AB: BC C9 16 LDY.W $16C9,X CODE_0290AE: BD B1 16 LDA.W RAM_BouncBlkSpeedX,X CODE_0290B1: 18 CLC CODE_0290B2: 79 72 90 ADC.W DATA_029072,Y CODE_0290B5: 9D B1 16 STA.W RAM_BouncBlkSpeedX,X CODE_0290B8: 20 F8 91 JSR.W BounceSprGfx CODE_0290BB: BD CE 18 LDA.W $18CE,X CODE_0290BE: F0 04 BEQ CODE_0290C4 CODE_0290C0: DE CE 18 DEC.W $18CE,X Return0290C3: 60 RTS ; Return CODE_0290C4: BD C1 16 LDA.W RAM_BounceSprBlock,X CODE_0290C7: 20 BA 91 JSR.W TileFromBounceSpr1 CODE_0290CA: 9E 99 16 STZ.W RAM_BounceSprNum,X Return0290CD: 60 RTS ; Return DATA_0290CE: .db $10,$00,$00,$F0 DATA_0290D2: .db $00,$F0,$10,$00 DATA_0290D6: .db $80,$80,$80,$00 DATA_0290DA: .db $80,$E0,$20,$80 BounceBlockSpr: 20 F8 91 JSR.W BounceSprGfx CODE_0290E1: A5 9D LDA RAM_SpritesLocked CODE_0290E3: D0 E8 BNE Return0290CD CODE_0290E5: BD 9D 16 LDA.W RAM_BounceSprInit,X CODE_0290E8: D0 21 BNE CODE_02910B CODE_0290EA: FE 9D 16 INC.W RAM_BounceSprInit,X CODE_0290ED: 20 65 92 JSR.W CODE_029265 CODE_0290F0: 20 B8 91 JSR.W InvisSldFromBncSpr CODE_0290F3: BD C9 16 LDA.W $16C9,X CODE_0290F6: 29 03 AND.B #$03 CODE_0290F8: A8 TAY CODE_0290F9: B9 D6 90 LDA.W DATA_0290D6,Y CODE_0290FC: C9 80 CMP.B #$80 CODE_0290FE: F0 02 BEQ CODE_029102 CODE_029100: 85 7D STA RAM_MarioSpeedY CODE_029102: B9 DA 90 LDA.W DATA_0290DA,Y CODE_029105: C9 80 CMP.B #$80 CODE_029107: F0 02 BEQ CODE_02910B ADDR_029109: 85 7B STA RAM_MarioSpeedX CODE_02910B: 20 26 B5 JSR.W CODE_02B526 CODE_02910E: 20 1A B5 JSR.W CODE_02B51A CODE_029111: BD C9 16 LDA.W $16C9,X CODE_029114: 29 03 AND.B #$03 CODE_029116: A8 TAY CODE_029117: BD B1 16 LDA.W RAM_BouncBlkSpeedX,X CODE_02911A: 18 CLC CODE_02911B: 79 CE 90 ADC.W DATA_0290CE,Y CODE_02911E: 9D B1 16 STA.W RAM_BouncBlkSpeedX,X CODE_029121: BD B5 16 LDA.W RAM_BouncBlkSpeedY,X CODE_029124: 18 CLC CODE_029125: 79 D2 90 ADC.W DATA_0290D2,Y CODE_029128: 9D B5 16 STA.W RAM_BouncBlkSpeedY,X CODE_02912B: BD C9 16 LDA.W $16C9,X CODE_02912E: 29 03 AND.B #$03 CODE_029130: C9 03 CMP.B #$03 CODE_029132: D0 2A BNE CODE_02915E CODE_029134: A5 71 LDA RAM_MarioAnimation CODE_029136: C9 01 CMP.B #$01 CODE_029138: B0 24 BCS CODE_02915E CODE_02913A: A9 20 LDA.B #$20 CODE_02913C: AC 7A 18 LDY.W RAM_OnYoshi CODE_02913F: F0 02 BEQ CODE_029143 CODE_029141: A9 30 LDA.B #$30 CODE_029143: 85 00 STA $00 CODE_029145: BD A1 16 LDA.W RAM_BounceSprXLo,X CODE_029148: 38 SEC CODE_029149: E5 00 SBC $00 CODE_02914B: 85 96 STA RAM_MarioYPos CODE_02914D: BD A9 16 LDA.W RAM_BounceSprXHi,X CODE_029150: E9 00 SBC.B #$00 CODE_029152: 85 97 STA RAM_MarioYPosHi CODE_029154: A9 01 LDA.B #$01 CODE_029156: 8D 71 14 STA.W $1471 CODE_029159: 8D 02 14 STA.W $1402 CODE_02915C: 64 7D STZ RAM_MarioSpeedY CODE_02915E: BD C5 16 LDA.W RAM_BounceSprTimer,X CODE_029161: D0 39 BNE Return02919C CODE_029163: BD C9 16 LDA.W $16C9,X CODE_029166: 29 03 AND.B #$03 CODE_029168: C9 03 CMP.B #$03 CODE_02916A: D0 16 BNE CODE_029182 CODE_02916C: A9 A0 LDA.B #$A0 CODE_02916E: 85 7D STA RAM_MarioSpeedY CODE_029170: A5 96 LDA RAM_MarioYPos CODE_029172: 38 SEC CODE_029173: E9 02 SBC.B #$02 CODE_029175: 85 96 STA RAM_MarioYPos CODE_029177: A5 97 LDA RAM_MarioYPosHi CODE_029179: E9 00 SBC.B #$00 CODE_02917B: 85 97 STA RAM_MarioYPosHi CODE_02917D: A9 08 LDA.B #$08 ; \ Play sound effect CODE_02917F: 8D FC 1D STA.W $1DFC ; / CODE_029182: 20 9F 91 JSR.W TileFromBounceSpr0 CODE_029185: BC 99 16 LDY.W RAM_BounceSprNum,X CODE_029188: C0 06 CPY.B #$06 CODE_02918A: 90 0D BCC CODE_029199 CODE_02918C: A9 0B LDA.B #$0B ; \ Play sound effect CODE_02918E: 8D F9 1D STA.W $1DF9 ; / CODE_029191: AD AF 14 LDA.W RAM_OnOffStatus ; \ Toggle On/Off CODE_029194: 49 01 EOR.B #$01 ; | CODE_029196: 8D AF 14 STA.W RAM_OnOffStatus ; / CODE_029199: 9E 99 16 STZ.W RAM_BounceSprNum,X Return02919C: 60 RTS ; Return DATA_02919D: .db $01,$00 TileFromBounceSpr0: BD C1 16 LDA.W RAM_BounceSprBlock,X ; \ If doesn't turn into multiple coin block, CODE_0291A2: C9 0A CMP.B #$0A ; | CODE_0291A4: F0 04 BEQ CODE_0291AA ; | CODE_0291A6: C9 0B CMP.B #$0B ; | CODE_0291A8: D0 0C BNE CODE_0291B6 ; / Block to generate = Bounce sprite block to turn into CODE_0291AA: AC 6B 18 LDY.W $186B CODE_0291AD: C0 01 CPY.B #$01 CODE_0291AF: D0 05 BNE CODE_0291B6 CODE_0291B1: 9C 6B 18 STZ.W $186B CODE_0291B4: A9 0D LDA.B #$0D ; Block to generate = Used block CODE_0291B6: 80 02 BRA TileFromBounceSpr1 InvisSldFromBncSpr: A9 09 LDA.B #$09 ; Block to generate = Invisible solid TileFromBounceSpr1: 85 9C STA RAM_BlockBlock ; Set block to generate CODE_0291BC: BD A5 16 LDA.W RAM_BounceSprYLo,X ; \ Block Y position = Bounce sprite Y position CODE_0291BF: 18 CLC ; | CODE_0291C0: 69 08 ADC.B #$08 ; | (Rounded to nearest #$10) CODE_0291C2: 29 F0 AND.B #$F0 ; | CODE_0291C4: 85 9A STA RAM_BlockYLo ; | CODE_0291C6: BD AD 16 LDA.W RAM_BounceSprYHi,X ; | CODE_0291C9: 69 00 ADC.B #$00 ; | CODE_0291CB: 85 9B STA RAM_BlockYHi ; / CODE_0291CD: BD A1 16 LDA.W RAM_BounceSprXLo,X ; \ Block X position = Bounce sprite X position CODE_0291D0: 18 CLC ; | CODE_0291D1: 69 08 ADC.B #$08 ; | (Rounded to nearest #$10) CODE_0291D3: 29 F0 AND.B #$F0 ; | CODE_0291D5: 85 98 STA RAM_BlockXLo ; | CODE_0291D7: BD A9 16 LDA.W RAM_BounceSprXHi,X ; | CODE_0291DA: 69 00 ADC.B #$00 ; | CODE_0291DC: 85 99 STA RAM_BlockXHi ; / CODE_0291DE: BD C9 16 LDA.W $16C9,X CODE_0291E1: 0A ASL CODE_0291E2: 2A ROL CODE_0291E3: 29 01 AND.B #$01 CODE_0291E5: 8D 33 19 STA.W $1933 CODE_0291E8: 22 B0 BE 00 JSL.L GenerateTile Return0291EC: 60 RTS ; Return DATA_0291ED: .db $10,$14,$18 BounceSpriteTiles: .db $1C,$40,$6B,$2A,$42,$EA,$8A,$40 BounceSprGfx: A0 00 LDY.B #$00 CODE_0291FA: BD C9 16 LDA.W $16C9,X CODE_0291FD: 10 02 BPL CODE_029201 ADDR_0291FF: A0 04 LDY.B #$04 CODE_029201: B9 1C 00 LDA.W RAM_ScreenBndryYLo,Y CODE_029204: 85 02 STA $02 CODE_029206: B9 1A 00 LDA.W RAM_ScreenBndryXLo,Y CODE_029209: 85 03 STA $03 CODE_02920B: B9 1D 00 LDA.W RAM_ScreenBndryYHi,Y CODE_02920E: 85 04 STA $04 CODE_029210: B9 1B 00 LDA.W RAM_ScreenBndryXHi,Y CODE_029213: 85 05 STA $05 CODE_029215: BD A1 16 LDA.W RAM_BounceSprXLo,X CODE_029218: C5 02 CMP $02 CODE_02921A: BD A9 16 LDA.W RAM_BounceSprXHi,X CODE_02921D: E5 04 SBC $04 CODE_02921F: D0 CB BNE Return0291EC CODE_029221: BD A5 16 LDA.W RAM_BounceSprYLo,X CODE_029224: C5 03 CMP $03 CODE_029226: BD AD 16 LDA.W RAM_BounceSprYHi,X CODE_029229: E5 05 SBC $05 CODE_02922B: D0 BF BNE Return0291EC CODE_02922D: BC ED 91 LDY.W DATA_0291ED,X CODE_029230: BD A1 16 LDA.W RAM_BounceSprXLo,X CODE_029233: 38 SEC CODE_029234: E5 02 SBC $02 CODE_029236: 85 01 STA $01 CODE_029238: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02923B: BD A5 16 LDA.W RAM_BounceSprYLo,X CODE_02923E: 38 SEC CODE_02923F: E5 03 SBC $03 CODE_029241: 85 00 STA $00 CODE_029243: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_029246: BD 01 19 LDA.W $1901,X CODE_029249: 05 64 ORA $64 CODE_02924B: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02924E: BD 99 16 LDA.W RAM_BounceSprNum,X CODE_029251: AA TAX CODE_029252: BD F0 91 LDA.W BounceSpriteTiles,X CODE_029255: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029258: 98 TYA CODE_029259: 4A LSR CODE_02925A: 4A LSR CODE_02925B: A8 TAY CODE_02925C: A9 02 LDA.B #$02 CODE_02925E: 99 20 04 STA.W $0420,Y CODE_029261: AE 98 16 LDX.W $1698 Return029264: 60 RTS ; Return CODE_029265: A9 01 LDA.B #$01 CODE_029267: BC C9 16 LDY.W $16C9,X CODE_02926A: 84 0F STY $0F CODE_02926C: 10 01 BPL CODE_02926F ADDR_02926E: 0A ASL CODE_02926F: 25 5B AND RAM_IsVerticalLvl CODE_029271: F0 57 BEQ CODE_0292CA CODE_029273: BD A1 16 LDA.W RAM_BounceSprXLo,X CODE_029276: 38 SEC CODE_029277: E9 03 SBC.B #$03 CODE_029279: 29 F0 AND.B #$F0 CODE_02927B: 85 00 STA $00 CODE_02927D: BD A9 16 LDA.W RAM_BounceSprXHi,X CODE_029280: E9 00 SBC.B #$00 CODE_029282: C5 5D CMP RAM_ScreensInLvl CODE_029284: B0 43 BCS Return0292C9 CODE_029286: 85 03 STA $03 CODE_029288: 29 10 AND.B #$10 CODE_02928A: 85 08 STA $08 CODE_02928C: BD A5 16 LDA.W RAM_BounceSprYLo,X CODE_02928F: 85 01 STA $01 CODE_029291: BD AD 16 LDA.W RAM_BounceSprYHi,X CODE_029294: C9 02 CMP.B #$02 CODE_029296: B0 31 BCS Return0292C9 CODE_029298: 85 02 STA $02 CODE_02929A: A5 01 LDA $01 CODE_02929C: 4A LSR CODE_02929D: 4A LSR CODE_02929E: 4A LSR CODE_02929F: 4A LSR CODE_0292A0: 05 00 ORA $00 CODE_0292A2: 85 00 STA $00 CODE_0292A4: A6 03 LDX $03 CODE_0292A6: BF 80 BA 00 LDA.L DATA_00BA80,X CODE_0292AA: A4 0F LDY $0F CODE_0292AC: F0 04 BEQ CODE_0292B2 CODE_0292AE: BF 8E BA 00 LDA.L DATA_00BA8E,X CODE_0292B2: 18 CLC CODE_0292B3: 65 00 ADC $00 CODE_0292B5: 85 05 STA $05 CODE_0292B7: BF BC BA 00 LDA.L DATA_00BABC,X CODE_0292BB: A4 0F LDY $0F CODE_0292BD: F0 04 BEQ CODE_0292C3 CODE_0292BF: BF CA BA 00 LDA.L DATA_00BACA,X CODE_0292C3: 65 02 ADC $02 CODE_0292C5: 85 06 STA $06 CODE_0292C7: 80 51 BRA CODE_02931A Return0292C9: 60 RTS ; Return CODE_0292CA: BD A1 16 LDA.W RAM_BounceSprXLo,X CODE_0292CD: 38 SEC CODE_0292CE: E9 03 SBC.B #$03 CODE_0292D0: 29 F0 AND.B #$F0 CODE_0292D2: 85 00 STA $00 CODE_0292D4: BD A9 16 LDA.W RAM_BounceSprXHi,X CODE_0292D7: E9 00 SBC.B #$00 CODE_0292D9: C9 02 CMP.B #$02 CODE_0292DB: B0 EC BCS Return0292C9 CODE_0292DD: 85 02 STA $02 CODE_0292DF: BD A5 16 LDA.W RAM_BounceSprYLo,X CODE_0292E2: 85 01 STA $01 CODE_0292E4: BD AD 16 LDA.W RAM_BounceSprYHi,X CODE_0292E7: C5 5D CMP RAM_ScreensInLvl CODE_0292E9: B0 DE BCS Return0292C9 CODE_0292EB: 85 03 STA $03 CODE_0292ED: A5 01 LDA $01 CODE_0292EF: 4A LSR CODE_0292F0: 4A LSR CODE_0292F1: 4A LSR CODE_0292F2: 4A LSR CODE_0292F3: 05 00 ORA $00 CODE_0292F5: 85 00 STA $00 CODE_0292F7: A6 03 LDX $03 CODE_0292F9: BF 60 BA 00 LDA.L DATA_00BA60,X CODE_0292FD: A4 0F LDY $0F CODE_0292FF: F0 04 BEQ CODE_029305 CODE_029301: BF 70 BA 00 LDA.L DATA_00BA70,X CODE_029305: 18 CLC CODE_029306: 65 00 ADC $00 CODE_029308: 85 05 STA $05 CODE_02930A: BF 9C BA 00 LDA.L DATA_00BA9C,X CODE_02930E: A4 0F LDY $0F CODE_029310: F0 04 BEQ CODE_029316 CODE_029312: BF AC BA 00 LDA.L DATA_00BAAC,X CODE_029316: 65 02 ADC $02 CODE_029318: 85 06 STA $06 CODE_02931A: A9 7E LDA.B #$7E CODE_02931C: 85 07 STA $07 CODE_02931E: AE 98 16 LDX.W $1698 CODE_029321: A7 05 LDA [$05] CODE_029323: 8D 93 16 STA.W $1693 CODE_029326: E6 07 INC $07 CODE_029328: A7 05 LDA [$05] CODE_02932A: D0 29 BNE Return029355 CODE_02932C: AD 93 16 LDA.W $1693 CODE_02932F: C9 2B CMP.B #$2B CODE_029331: D0 22 BNE Return029355 ADDR_029333: BD A1 16 LDA.W RAM_BounceSprXLo,X ADDR_029336: 48 PHA ADDR_029337: E9 03 SBC.B #$03 ADDR_029339: 29 F0 AND.B #$F0 ADDR_02933B: 9D A1 16 STA.W RAM_BounceSprXLo,X ADDR_02933E: BD A9 16 LDA.W RAM_BounceSprXHi,X ADDR_029341: 48 PHA ADDR_029342: E9 00 SBC.B #$00 ADDR_029344: 9D A9 16 STA.W RAM_BounceSprXHi,X ADDR_029347: 20 B8 91 JSR.W InvisSldFromBncSpr ADDR_02934A: 20 56 93 JSR.W ADDR_029356 ADDR_02934D: 68 PLA ADDR_02934E: 9D A9 16 STA.W RAM_BounceSprXHi,X ADDR_029351: 68 PLA ADDR_029352: 9D A1 16 STA.W RAM_BounceSprXLo,X Return029355: 60 RTS ; Return ADDR_029356: A0 03 LDY.B #$03 ADDR_029358: B9 D0 17 LDA.W $17D0,Y ADDR_02935B: F0 04 BEQ ADDR_029361 ADDR_02935D: 88 DEY ADDR_02935E: 10 F8 BPL ADDR_029358 ADDR_029360: C8 INY ADDR_029361: A9 01 LDA.B #$01 ADDR_029363: 99 D0 17 STA.W $17D0,Y ADDR_029366: 22 4A B3 05 JSL.L CODE_05B34A ADDR_02936A: BD A5 16 LDA.W RAM_BounceSprYLo,X ADDR_02936D: 99 E0 17 STA.W $17E0,Y ADDR_029370: BD AD 16 LDA.W RAM_BounceSprYHi,X ADDR_029373: 99 EC 17 STA.W $17EC,Y ADDR_029376: BD A1 16 LDA.W RAM_BounceSprXLo,X ADDR_029379: 99 D4 17 STA.W $17D4,Y ADDR_02937C: BD A9 16 LDA.W RAM_BounceSprXHi,X ADDR_02937F: 99 E8 17 STA.W $17E8,Y ADDR_029382: BD C9 16 LDA.W $16C9,X ADDR_029385: 0A ASL ADDR_029386: 2A ROL ADDR_029387: 29 01 AND.B #$01 ADDR_029389: 99 E4 17 STA.W $17E4,Y ADDR_02938C: A9 D0 LDA.B #$D0 ADDR_02938E: 99 D8 17 STA.W $17D8,Y Return029391: 60 RTS ; Return DATA_029392: .db $F8,$08 CODE_029394: 9E CD 16 STZ.W RAM_BouncBlkStatus,X Return029397: 60 RTS ; Return CODE_029398: BD CD 16 LDA.W RAM_BouncBlkStatus,X CODE_02939B: F0 FA BEQ Return029397 CODE_02939D: DE F8 18 DEC.W $18F8,X CODE_0293A0: F0 F2 BEQ CODE_029394 CODE_0293A2: BD F8 18 LDA.W $18F8,X CODE_0293A5: C9 03 CMP.B #$03 CODE_0293A7: B0 E8 BCS Return029391 CODE_0293A9: AC 98 16 LDY.W $1698 CODE_0293AC: 64 0E STZ $0E CODE_0293AE: A2 0B LDX.B #$0B CODE_0293B0: 8E E9 15 STX.W $15E9 CODE_0293B3: BD C8 14 LDA.W $14C8,X CODE_0293B6: C9 0B CMP.B #$0B CODE_0293B8: F0 3D BEQ CODE_0293F7 CODE_0293BA: C9 08 CMP.B #$08 CODE_0293BC: 90 39 BCC CODE_0293F7 CODE_0293BE: BD 6E 16 LDA.W RAM_Tweaker166E,X CODE_0293C1: 29 20 AND.B #$20 CODE_0293C3: 1D D0 15 ORA.W $15D0,X CODE_0293C6: 1D 4C 15 ORA.W RAM_DisableInter,X CODE_0293C9: 1D E2 1F ORA.W $1FE2,X CODE_0293CC: D0 29 BNE CODE_0293F7 CODE_0293CE: BD 32 16 LDA.W RAM_SprBehindScrn,X CODE_0293D1: 5A PHY CODE_0293D2: A4 74 LDY RAM_IsClimbing CODE_0293D4: F0 02 BEQ CODE_0293D8 CODE_0293D6: 49 01 EOR.B #$01 CODE_0293D8: 7A PLY CODE_0293D9: 4D F9 13 EOR.W RAM_IsBehindScenery CODE_0293DC: D0 19 BNE CODE_0293F7 CODE_0293DE: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_0293E2: A5 0E LDA $0E CODE_0293E4: F0 05 BEQ CODE_0293EB CODE_0293E6: 20 96 96 JSR.W CODE_029696 CODE_0293E9: 80 03 BRA CODE_0293EE CODE_0293EB: 20 63 96 JSR.W CODE_029663 CODE_0293EE: 22 2B B7 03 JSL.L CheckForContact CODE_0293F2: 90 03 BCC CODE_0293F7 CODE_0293F4: 20 04 94 JSR.W CODE_029404 CODE_0293F7: AC 98 16 LDY.W $1698 CODE_0293FA: CA DEX CODE_0293FB: 30 03 BMI CODE_029400 CODE_0293FD: 4C B0 93 JMP.W CODE_0293B0 CODE_029400: AE 98 16 LDX.W $1698 Return029403: 60 RTS ; Return CODE_029404: A9 08 LDA.B #$08 CODE_029406: 9D 4C 15 STA.W RAM_DisableInter,X CODE_029409: B5 9E LDA RAM_SpriteNum,X CODE_02940B: C9 81 CMP.B #$81 CODE_02940D: D0 18 BNE CODE_029427 CODE_02940F: B5 C2 LDA RAM_SpriteState,X CODE_029411: F0 13 BEQ Return029426 CODE_029413: 74 C2 STZ RAM_SpriteState,X CODE_029415: A9 C0 LDA.B #$C0 CODE_029417: 95 AA STA RAM_SpriteSpeedY,X CODE_029419: A9 10 LDA.B #$10 CODE_02941B: 9D 40 15 STA.W $1540,X CODE_02941E: 9E 7C 15 STZ.W RAM_SpriteDir,X CODE_029421: A9 20 LDA.B #$20 CODE_029423: 9D 58 15 STA.W $1558,X Return029426: 60 RTS ; Return CODE_029427: C9 2D CMP.B #$2D CODE_029429: F0 1D BEQ CODE_029448 CODE_02942B: BD 7A 16 LDA.W RAM_Tweaker167A,X CODE_02942E: 29 02 AND.B #$02 CODE_029430: D0 70 BNE CODE_0294A2 CODE_029432: BD C8 14 LDA.W $14C8,X CODE_029435: C9 08 CMP.B #$08 CODE_029437: F0 0A BEQ CODE_029443 CODE_029439: B5 9E LDA RAM_SpriteNum,X CODE_02943B: C9 0D CMP.B #$0D CODE_02943D: F0 09 BEQ CODE_029448 CODE_02943F: B5 C2 LDA RAM_SpriteState,X CODE_029441: F0 05 BEQ CODE_029448 CODE_029443: A9 FF LDA.B #$FF CODE_029445: 9D 40 15 STA.W $1540,X CODE_029448: 9E 58 15 STZ.W $1558,X CODE_02944B: A5 0E LDA $0E CODE_02944D: C9 35 CMP.B #$35 CODE_02944F: F0 04 BEQ CODE_029455 CODE_029451: 22 6F AB 01 JSL.L CODE_01AB6F CODE_029455: A9 00 LDA.B #$00 CODE_029457: 22 E5 AC 02 JSL.L GivePoints CODE_02945B: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_02945D: 9D C8 14 STA.W $14C8,X ; / CODE_029460: B5 9E LDA RAM_SpriteNum,X CODE_029462: C9 1E CMP.B #$1E CODE_029464: D0 05 BNE CODE_02946B ADDR_029466: A9 1F LDA.B #$1F ADDR_029468: 8D 49 15 STA.W $1549 CODE_02946B: BD 62 16 LDA.W RAM_Tweaker1662,X CODE_02946E: 29 80 AND.B #$80 CODE_029470: D0 30 BNE CODE_0294A2 CODE_029472: BD 56 16 LDA.W RAM_Tweaker1656,X ; \ Branch if can't be jumped on CODE_029475: 29 10 AND.B #$10 ; | CODE_029477: F0 29 BEQ CODE_0294A2 ; / CODE_029479: BD 56 16 LDA.W RAM_Tweaker1656,X ; \ Branch if dies when jumped on CODE_02947C: 29 20 AND.B #$20 ; | CODE_02947E: D0 22 BNE CODE_0294A2 ; / CODE_029480: A9 09 LDA.B #$09 ; \ Sprite status = Carryable CODE_029482: 9D C8 14 STA.W $14C8,X ; / CODE_029485: 1E F6 15 ASL.W RAM_SpritePal,X CODE_029488: 38 SEC CODE_029489: 7E F6 15 ROR.W RAM_SpritePal,X CODE_02948C: BD 86 16 LDA.W RAM_Tweaker1686,X CODE_02948F: 29 40 AND.B #$40 CODE_029491: F0 0F BEQ CODE_0294A2 CODE_029493: DA PHX CODE_029494: B5 9E LDA RAM_SpriteNum,X CODE_029496: AA TAX CODE_029497: BF C9 A7 01 LDA.L SpriteToSpawn,X CODE_02949B: FA PLX CODE_02949C: 95 9E STA RAM_SpriteNum,X CODE_02949E: 22 8B F7 07 JSL.L LoadSpriteTables CODE_0294A2: A9 C0 LDA.B #$C0 CODE_0294A4: A4 0E LDY $0E CODE_0294A6: F0 08 BEQ CODE_0294B0 CODE_0294A8: A9 B0 LDA.B #$B0 CODE_0294AA: C0 02 CPY.B #$02 CODE_0294AC: D0 02 BNE CODE_0294B0 ADDR_0294AE: A9 C0 LDA.B #$C0 CODE_0294B0: 95 AA STA RAM_SpriteSpeedY,X CODE_0294B2: 20 8D 84 JSR.W SubHorzPosBnk2 CODE_0294B5: B9 92 93 LDA.W DATA_029392,Y CODE_0294B8: 95 B6 STA RAM_SpriteSpeedX,X CODE_0294BA: 98 TYA CODE_0294BB: 49 01 EOR.B #$01 CODE_0294BD: 9D 7C 15 STA.W RAM_SpriteDir,X Return0294C0: 60 RTS ; Return GroundPound: A9 30 LDA.B #$30 ; \ Set ground shake timer CODE_0294C3: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_0294C6: 9C A9 14 STZ.W $14A9 CODE_0294C9: 8B PHB CODE_0294CA: 4B PHK CODE_0294CB: AB PLB CODE_0294CC: A2 09 LDX.B #$09 ; Loop over sprites: KillSprLoopStart: BD C8 14 LDA.W $14C8,X ; \ Skip current sprite if status < 8 CODE_0294D1: C9 08 CMP.B #$08 ; | CODE_0294D3: 90 1B BCC GroundPoundNextSpr ; / CODE_0294D5: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Skip current sprite if not on ground CODE_0294D8: 29 04 AND.B #$04 ; | CODE_0294DA: F0 14 BEQ GroundPoundNextSpr ; / CODE_0294DC: BD 6E 16 LDA.W RAM_Tweaker166E,X ; \ Skip current sprite if... CODE_0294DF: 29 20 AND.B #$20 ; | ...can't be killed by cape... CODE_0294E1: 1D D0 15 ORA.W $15D0,X ; | ...or sprite being eaten... CODE_0294E4: 1D 4C 15 ORA.W RAM_DisableInter,X ; | ...or interaction disabled CODE_0294E7: D0 07 BNE GroundPoundNextSpr ; / CODE_0294E9: A9 35 LDA.B #$35 CODE_0294EB: 85 0E STA $0E CODE_0294ED: 20 04 94 JSR.W CODE_029404 GroundPoundNextSpr: CA DEX CODE_0294F1: 10 DB BPL KillSprLoopStart CODE_0294F3: AB PLB Return0294F4: 6B RTL ; Return CODE_0294F5: AD E8 13 LDA.W $13E8 CODE_0294F8: F0 10 BEQ Return02950A CODE_0294FA: 85 0E STA $0E CODE_0294FC: A5 13 LDA RAM_FrameCounter CODE_0294FE: 4A LSR CODE_0294FF: 90 06 BCC CODE_029507 CODE_029501: 20 AE 93 JSR.W CODE_0293AE CODE_029504: 20 31 96 JSR.W CODE_029631 CODE_029507: 20 0B 95 JSR.W CODE_02950B Return02950A: 60 RTS ; Return CODE_02950B: 64 0F STZ $0F CODE_02950D: 20 40 95 JSR.W CODE_029540 CODE_029510: A5 5B LDA RAM_IsVerticalLvl CODE_029512: 10 27 BPL Return02953B CODE_029514: E6 0F INC $0F CODE_029516: AD E9 13 LDA.W $13E9 CODE_029519: 18 CLC CODE_02951A: 65 26 ADC $26 CODE_02951C: 8D E9 13 STA.W $13E9 CODE_02951F: AD EA 13 LDA.W $13EA CODE_029522: 65 27 ADC $27 CODE_029524: 8D EA 13 STA.W $13EA CODE_029527: AD EB 13 LDA.W $13EB CODE_02952A: 18 CLC CODE_02952B: 65 28 ADC $28 CODE_02952D: 8D EB 13 STA.W $13EB CODE_029530: AD EC 13 LDA.W $13EC CODE_029533: 65 29 ADC $29 CODE_029535: 8D EC 13 STA.W $13EC CODE_029538: 20 40 95 JSR.W CODE_029540 Return02953B: 60 RTS ; Return DATA_02953C: .db $08,$08 DATA_02953E: .db $02,$0E CODE_029540: A5 13 LDA RAM_FrameCounter CODE_029542: 29 01 AND.B #$01 CODE_029544: A8 TAY CODE_029545: A5 0F LDA $0F CODE_029547: 1A INC A CODE_029548: 25 5B AND RAM_IsVerticalLvl CODE_02954A: F0 62 BEQ CODE_0295AE CODE_02954C: AD EB 13 LDA.W $13EB CODE_02954F: 18 CLC CODE_029550: 79 3C 95 ADC.W DATA_02953C,Y CODE_029553: 29 F0 AND.B #$F0 CODE_029555: 85 00 STA $00 CODE_029557: 85 98 STA RAM_BlockXLo CODE_029559: AD EC 13 LDA.W $13EC CODE_02955C: 69 00 ADC.B #$00 CODE_02955E: C5 5D CMP RAM_ScreensInLvl CODE_029560: B0 4B BCS Return0295AD CODE_029562: 85 03 STA $03 CODE_029564: 85 99 STA RAM_BlockXHi CODE_029566: AD E9 13 LDA.W $13E9 CODE_029569: 18 CLC CODE_02956A: 79 3E 95 ADC.W DATA_02953E,Y CODE_02956D: 85 01 STA $01 CODE_02956F: 85 9A STA RAM_BlockYLo CODE_029571: AD EA 13 LDA.W $13EA CODE_029574: 69 00 ADC.B #$00 CODE_029576: C9 02 CMP.B #$02 CODE_029578: B0 33 BCS Return0295AD CODE_02957A: 85 02 STA $02 CODE_02957C: 85 9B STA RAM_BlockYHi CODE_02957E: A5 01 LDA $01 CODE_029580: 4A LSR CODE_029581: 4A LSR CODE_029582: 4A LSR CODE_029583: 4A LSR CODE_029584: 05 00 ORA $00 CODE_029586: 85 00 STA $00 CODE_029588: A6 03 LDX $03 CODE_02958A: BF 80 BA 00 LDA.L DATA_00BA80,X CODE_02958E: A4 0F LDY $0F CODE_029590: F0 04 BEQ CODE_029596 CODE_029592: BF 8E BA 00 LDA.L DATA_00BA8E,X CODE_029596: 18 CLC CODE_029597: 65 00 ADC $00 CODE_029599: 85 05 STA $05 CODE_02959B: BF BC BA 00 LDA.L DATA_00BABC,X CODE_02959F: A4 0F LDY $0F CODE_0295A1: F0 04 BEQ CODE_0295A7 CODE_0295A3: BF CA BA 00 LDA.L DATA_00BACA,X CODE_0295A7: 65 02 ADC $02 CODE_0295A9: 85 06 STA $06 CODE_0295AB: 80 60 BRA CODE_02960D Return0295AD: 60 RTS ; Return CODE_0295AE: AD EB 13 LDA.W $13EB CODE_0295B1: 18 CLC CODE_0295B2: 79 3C 95 ADC.W DATA_02953C,Y CODE_0295B5: 29 F0 AND.B #$F0 CODE_0295B7: 85 00 STA $00 CODE_0295B9: 85 98 STA RAM_BlockXLo CODE_0295BB: AD EC 13 LDA.W $13EC CODE_0295BE: 69 00 ADC.B #$00 CODE_0295C0: C9 02 CMP.B #$02 CODE_0295C2: B0 E9 BCS Return0295AD CODE_0295C4: 85 02 STA $02 CODE_0295C6: 85 99 STA RAM_BlockXHi CODE_0295C8: AD E9 13 LDA.W $13E9 CODE_0295CB: 18 CLC CODE_0295CC: 79 3E 95 ADC.W DATA_02953E,Y CODE_0295CF: 85 01 STA $01 CODE_0295D1: 85 9A STA RAM_BlockYLo CODE_0295D3: AD EA 13 LDA.W $13EA CODE_0295D6: 69 00 ADC.B #$00 CODE_0295D8: C5 5D CMP RAM_ScreensInLvl CODE_0295DA: B0 D1 BCS Return0295AD CODE_0295DC: 85 03 STA $03 CODE_0295DE: 85 9B STA RAM_BlockYHi CODE_0295E0: A5 01 LDA $01 CODE_0295E2: 4A LSR CODE_0295E3: 4A LSR CODE_0295E4: 4A LSR CODE_0295E5: 4A LSR CODE_0295E6: 05 00 ORA $00 CODE_0295E8: 85 00 STA $00 CODE_0295EA: A6 03 LDX $03 CODE_0295EC: BF 60 BA 00 LDA.L DATA_00BA60,X CODE_0295F0: A4 0F LDY $0F CODE_0295F2: F0 04 BEQ CODE_0295F8 CODE_0295F4: BF 70 BA 00 LDA.L DATA_00BA70,X CODE_0295F8: 18 CLC CODE_0295F9: 65 00 ADC $00 CODE_0295FB: 85 05 STA $05 CODE_0295FD: BF 9C BA 00 LDA.L DATA_00BA9C,X CODE_029601: A4 0F LDY $0F CODE_029603: F0 04 BEQ CODE_029609 CODE_029605: BF AC BA 00 LDA.L DATA_00BAAC,X CODE_029609: 65 02 ADC $02 CODE_02960B: 85 06 STA $06 CODE_02960D: A9 7E LDA.B #$7E CODE_02960F: 85 07 STA $07 CODE_029611: A7 05 LDA [$05] CODE_029613: 8D 93 16 STA.W $1693 CODE_029616: E6 07 INC $07 CODE_029618: A7 05 LDA [$05] CODE_02961A: 22 45 F5 00 JSL.L CODE_00F545 CODE_02961E: C9 00 CMP.B #$00 CODE_029620: F0 0E BEQ Return029630 CODE_029622: A5 0F LDA $0F CODE_029624: 8D 33 19 STA.W $1933 CODE_029627: AD 93 16 LDA.W $1693 CODE_02962A: A0 00 LDY.B #$00 CODE_02962C: 22 60 F1 00 JSL.L CODE_00F160 Return029630: 60 RTS ; Return CODE_029631: A2 07 LDX.B #$07 CODE_029633: 8E E9 15 STX.W $15E9 CODE_029636: BD 0B 17 LDA.W RAM_ExSpriteNum,X CODE_029639: C9 02 CMP.B #$02 CODE_02963B: 90 16 BCC CODE_029653 CODE_02963D: 20 19 A5 JSR.W CODE_02A519 CODE_029640: 20 96 96 JSR.W CODE_029696 CODE_029643: 22 2B B7 03 JSL.L CheckForContact CODE_029647: 90 0A BCC CODE_029653 CODE_029649: BD 0B 17 LDA.W RAM_ExSpriteNum,X CODE_02964C: C9 12 CMP.B #$12 CODE_02964E: F0 03 BEQ CODE_029653 CODE_029650: 20 DE A4 JSR.W CODE_02A4DE CODE_029653: CA DEX CODE_029654: 10 DD BPL CODE_029633 Return029656: 60 RTS ; Return DATA_029657: .db $FC DATA_029658: .db $E0,$FF DATA_02965A: .db $FF,$18 DATA_02965C: .db $50,$FC DATA_02965E: .db $F8,$FF DATA_029660: .db $FF,$18,$10 CODE_029663: DA PHX CODE_029664: B9 CD 16 LDA.W RAM_BouncBlkStatus,Y CODE_029667: AA TAX CODE_029668: B9 D1 16 LDA.W $16D1,Y CODE_02966B: 18 CLC CODE_02966C: 7D 56 96 ADC.W Return029656,X CODE_02966F: 85 00 STA $00 CODE_029671: B9 D5 16 LDA.W $16D5,Y CODE_029674: 7D 58 96 ADC.W DATA_029658,X CODE_029677: 85 08 STA $08 CODE_029679: BD 5A 96 LDA.W DATA_02965A,X CODE_02967C: 85 02 STA $02 CODE_02967E: B9 D9 16 LDA.W $16D9,Y CODE_029681: 18 CLC CODE_029682: 7D 5C 96 ADC.W DATA_02965C,X CODE_029685: 85 01 STA $01 CODE_029687: B9 DD 16 LDA.W $16DD,Y CODE_02968A: 7D 5E 96 ADC.W DATA_02965E,X CODE_02968D: 85 09 STA $09 CODE_02968F: BD 60 96 LDA.W DATA_029660,X CODE_029692: 85 03 STA $03 CODE_029694: FA PLX Return029695: 60 RTS ; Return CODE_029696: AD E9 13 LDA.W $13E9 CODE_029699: 38 SEC CODE_02969A: E9 02 SBC.B #$02 CODE_02969C: 85 00 STA $00 CODE_02969E: AD EA 13 LDA.W $13EA CODE_0296A1: E9 00 SBC.B #$00 CODE_0296A3: 85 08 STA $08 CODE_0296A5: A9 14 LDA.B #$14 CODE_0296A7: 85 02 STA $02 CODE_0296A9: AD EB 13 LDA.W $13EB CODE_0296AC: 85 01 STA $01 CODE_0296AE: AD EC 13 LDA.W $13EC CODE_0296B1: 85 09 STA $09 CODE_0296B3: A9 10 LDA.B #$10 CODE_0296B5: 85 03 STA $03 Return0296B7: 60 RTS ; Return DATA_0296B8: .db $20,$24,$28,$2C DATA_0296BC: .db $90,$94,$98,$9C CODE_0296C0: BD C0 17 LDA.W $17C0,X CODE_0296C3: F0 12 BEQ Return0296D7 CODE_0296C5: 29 7F AND.B #$7F CODE_0296C7: 22 DF 86 00 JSL.L ExecutePtr Ptrs0296CB: D7 96 .dw Return0296D7 E3 96 .dw CODE_0296E3 97 97 .dw CODE_029797 27 99 .dw CODE_029927 D7 96 .dw Return0296D7 CA 98 .dw CODE_0298CA Return0296D7: 60 RTS ; Return DATA_0296D8: .db $66,$66,$64,$62,$60,$62,$60 CODE_0296DF: 9E C0 17 STZ.W $17C0,X Return0296E2: 60 RTS ; Return CODE_0296E3: BD CC 17 LDA.W $17CC,X CODE_0296E6: F0 F7 BEQ CODE_0296DF CODE_0296E8: BD C0 17 LDA.W $17C0,X CODE_0296EB: 30 04 BMI CODE_0296F1 CODE_0296ED: A5 9D LDA RAM_SpritesLocked CODE_0296EF: D0 03 BNE CODE_0296F4 CODE_0296F1: DE CC 17 DEC.W $17CC,X CODE_0296F4: A5 A5 LDA $A5 CODE_0296F6: C9 A9 CMP.B #$A9 CODE_0296F8: F0 50 BEQ CODE_02974A CODE_0296FA: AD 9B 0D LDA.W $0D9B CODE_0296FD: 29 40 AND.B #$40 CODE_0296FF: F0 49 BEQ CODE_02974A CODE_029701: BC BC 96 LDY.W DATA_0296BC,X CODE_029704: BD C8 17 LDA.W $17C8,X CODE_029707: 38 SEC CODE_029708: E5 1A SBC RAM_ScreenBndryXLo CODE_02970A: C9 F4 CMP.B #$F4 CODE_02970C: B0 D1 BCS CODE_0296DF CODE_02970E: 99 00 03 STA.W OAM_DispX,Y CODE_029711: BD C4 17 LDA.W $17C4,X CODE_029714: 38 SEC CODE_029715: E5 1C SBC RAM_ScreenBndryYLo CODE_029717: C9 E0 CMP.B #$E0 CODE_029719: B0 C4 BCS CODE_0296DF CODE_02971B: 99 01 03 STA.W OAM_DispY,Y CODE_02971E: BD CC 17 LDA.W $17CC,X CODE_029721: C9 08 CMP.B #$08 CODE_029723: A9 00 LDA.B #$00 CODE_029725: B0 06 BCS CODE_02972D CODE_029727: 0A ASL CODE_029728: 0A ASL CODE_029729: 0A ASL CODE_02972A: 0A ASL CODE_02972B: 29 40 AND.B #$40 CODE_02972D: 05 64 ORA $64 CODE_02972F: 99 03 03 STA.W OAM_Prop,Y CODE_029732: BD CC 17 LDA.W $17CC,X CODE_029735: 5A PHY CODE_029736: 4A LSR CODE_029737: 4A LSR CODE_029738: A8 TAY CODE_029739: B9 D8 96 LDA.W DATA_0296D8,Y CODE_02973C: 7A PLY CODE_02973D: 99 02 03 STA.W OAM_Tile,Y CODE_029740: 98 TYA CODE_029741: 4A LSR CODE_029742: 4A LSR CODE_029743: A8 TAY CODE_029744: A9 02 LDA.B #$02 CODE_029746: 99 60 04 STA.W OAM_TileSize,Y Return029749: 60 RTS ; Return CODE_02974A: BC B8 96 LDY.W DATA_0296B8,X CODE_02974D: BD C8 17 LDA.W $17C8,X CODE_029750: 38 SEC CODE_029751: E5 1A SBC RAM_ScreenBndryXLo CODE_029753: C9 F4 CMP.B #$F4 CODE_029755: B0 3C BCS CODE_029793 CODE_029757: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_02975A: BD C4 17 LDA.W $17C4,X CODE_02975D: 38 SEC CODE_02975E: E5 1C SBC RAM_ScreenBndryYLo CODE_029760: C9 E0 CMP.B #$E0 CODE_029762: B0 2F BCS CODE_029793 CODE_029764: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_029767: BD CC 17 LDA.W $17CC,X CODE_02976A: C9 08 CMP.B #$08 CODE_02976C: A9 00 LDA.B #$00 CODE_02976E: B0 06 BCS CODE_029776 CODE_029770: 0A ASL CODE_029771: 0A ASL CODE_029772: 0A ASL CODE_029773: 0A ASL CODE_029774: 29 40 AND.B #$40 CODE_029776: 05 64 ORA $64 CODE_029778: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02977B: BD CC 17 LDA.W $17CC,X CODE_02977E: 5A PHY CODE_02977F: 4A LSR CODE_029780: 4A LSR CODE_029781: A8 TAY CODE_029782: B9 D8 96 LDA.W DATA_0296D8,Y CODE_029785: 7A PLY CODE_029786: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029789: 98 TYA CODE_02978A: 4A LSR CODE_02978B: 4A LSR CODE_02978C: A8 TAY CODE_02978D: A9 02 LDA.B #$02 CODE_02978F: 99 20 04 STA.W $0420,Y Return029792: 60 RTS ; Return CODE_029793: 9E C0 17 STZ.W $17C0,X Return029796: 60 RTS ; Return CODE_029797: BD CC 17 LDA.W $17CC,X CODE_02979A: F0 F7 BEQ CODE_029793 CODE_02979C: A4 9D LDY RAM_SpritesLocked CODE_02979E: D0 03 BNE CODE_0297A3 CODE_0297A0: DE CC 17 DEC.W $17CC,X CODE_0297A3: 2C 9B 0D BIT.W $0D9B CODE_0297A6: 50 0A BVC CODE_0297B2 CODE_0297A8: AD 9B 0D LDA.W $0D9B CODE_0297AB: C9 C1 CMP.B #$C1 CODE_0297AD: F0 03 BEQ CODE_0297B2 CODE_0297AF: 4C 38 98 JMP.W CODE_029838 CODE_0297B2: A0 F0 LDY.B #$F0 CODE_0297B4: BD C8 17 LDA.W $17C8,X CODE_0297B7: 38 SEC CODE_0297B8: E5 1A SBC RAM_ScreenBndryXLo CODE_0297BA: C9 F0 CMP.B #$F0 CODE_0297BC: B0 D5 BCS CODE_029793 CODE_0297BE: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_0297C1: 99 08 02 STA.W $0208,Y CODE_0297C4: 18 CLC CODE_0297C5: 69 08 ADC.B #$08 CODE_0297C7: 99 04 02 STA.W $0204,Y CODE_0297CA: 99 0C 02 STA.W $020C,Y CODE_0297CD: BD C4 17 LDA.W $17C4,X CODE_0297D0: 38 SEC CODE_0297D1: E5 1C SBC RAM_ScreenBndryYLo CODE_0297D3: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_0297D6: 99 05 02 STA.W $0205,Y CODE_0297D9: 18 CLC CODE_0297DA: 69 08 ADC.B #$08 CODE_0297DC: 99 09 02 STA.W $0209,Y CODE_0297DF: 99 0D 02 STA.W $020D,Y CODE_0297E2: BD CC 17 LDA.W $17CC,X CODE_0297E5: 0A ASL CODE_0297E6: 0A ASL CODE_0297E7: 0A ASL CODE_0297E8: 0A ASL CODE_0297E9: 0A ASL CODE_0297EA: 29 40 AND.B #$40 CODE_0297EC: 05 64 ORA $64 CODE_0297EE: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_0297F1: 99 07 02 STA.W $0207,Y CODE_0297F4: 49 C0 EOR.B #$C0 CODE_0297F6: 99 0B 02 STA.W $020B,Y CODE_0297F9: 99 0F 02 STA.W $020F,Y CODE_0297FC: BD CC 17 LDA.W $17CC,X CODE_0297FF: 29 02 AND.B #$02 CODE_029801: D0 12 BNE CODE_029815 CODE_029803: A9 7C LDA.B #$7C CODE_029805: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029808: 99 0E 02 STA.W $020E,Y CODE_02980B: A9 7D LDA.B #$7D CODE_02980D: 99 06 02 STA.W $0206,Y CODE_029810: 99 0A 02 STA.W $020A,Y CODE_029813: 80 10 BRA CODE_029825 CODE_029815: A9 7D LDA.B #$7D CODE_029817: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02981A: 99 0E 02 STA.W $020E,Y CODE_02981D: A9 7C LDA.B #$7C CODE_02981F: 99 06 02 STA.W $0206,Y CODE_029822: 99 0A 02 STA.W $020A,Y CODE_029825: 98 TYA CODE_029826: 4A LSR CODE_029827: 4A LSR CODE_029828: A8 TAY CODE_029829: A9 00 LDA.B #$00 CODE_02982B: 99 20 04 STA.W $0420,Y CODE_02982E: 99 21 04 STA.W $0421,Y CODE_029831: 99 22 04 STA.W $0422,Y CODE_029834: 99 23 04 STA.W $0423,Y Return029837: 60 RTS ; Return CODE_029838: A0 90 LDY.B #$90 CODE_02983A: BD C8 17 LDA.W $17C8,X CODE_02983D: 38 SEC CODE_02983E: E5 1A SBC RAM_ScreenBndryXLo CODE_029840: C9 F0 CMP.B #$F0 CODE_029842: B0 7A BCS CODE_0298BE CODE_029844: 99 00 03 STA.W OAM_DispX,Y CODE_029847: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_02984A: 18 CLC CODE_02984B: 69 08 ADC.B #$08 CODE_02984D: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_029850: 99 0C 03 STA.W OAM_Tile4DispX,Y CODE_029853: BD C4 17 LDA.W $17C4,X CODE_029856: 38 SEC CODE_029857: E5 1C SBC RAM_ScreenBndryYLo CODE_029859: 99 01 03 STA.W OAM_DispY,Y CODE_02985C: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02985F: 18 CLC CODE_029860: 69 08 ADC.B #$08 CODE_029862: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_029865: 99 0D 03 STA.W OAM_Tile4DispY,Y CODE_029868: BD CC 17 LDA.W $17CC,X CODE_02986B: 0A ASL CODE_02986C: 0A ASL CODE_02986D: 0A ASL CODE_02986E: 0A ASL CODE_02986F: 0A ASL CODE_029870: 29 40 AND.B #$40 CODE_029872: 05 64 ORA $64 CODE_029874: 99 03 03 STA.W OAM_Prop,Y CODE_029877: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02987A: 49 C0 EOR.B #$C0 CODE_02987C: 99 0B 03 STA.W OAM_Tile3Prop,Y CODE_02987F: 99 0F 03 STA.W OAM_Tile4Prop,Y CODE_029882: BD CC 17 LDA.W $17CC,X CODE_029885: 29 02 AND.B #$02 CODE_029887: D0 12 BNE CODE_02989B CODE_029889: A9 7C LDA.B #$7C CODE_02988B: 99 02 03 STA.W OAM_Tile,Y CODE_02988E: 99 0E 03 STA.W OAM_Tile4,Y CODE_029891: A9 7D LDA.B #$7D CODE_029893: 99 06 03 STA.W OAM_Tile2,Y CODE_029896: 99 0A 03 STA.W OAM_Tile3,Y CODE_029899: 80 10 BRA CODE_0298AB CODE_02989B: A9 7D LDA.B #$7D CODE_02989D: 99 02 03 STA.W OAM_Tile,Y CODE_0298A0: 99 0E 03 STA.W OAM_Tile4,Y CODE_0298A3: A9 7C LDA.B #$7C CODE_0298A5: 99 06 03 STA.W OAM_Tile2,Y CODE_0298A8: 99 0A 03 STA.W OAM_Tile3,Y CODE_0298AB: 98 TYA CODE_0298AC: 4A LSR CODE_0298AD: 4A LSR CODE_0298AE: A8 TAY CODE_0298AF: A9 00 LDA.B #$00 CODE_0298B1: 99 60 04 STA.W OAM_TileSize,Y CODE_0298B4: 99 61 04 STA.W $0461,Y CODE_0298B7: 99 62 04 STA.W $0462,Y CODE_0298BA: 99 63 04 STA.W $0463,Y Return0298BD: 60 RTS ; Return CODE_0298BE: 9E C0 17 STZ.W $17C0,X Return0298C1: 60 RTS ; Return DATA_0298C2: .db $04,$08,$04,$00 DATA_0298C6: .db $FC,$04,$0C,$04 CODE_0298CA: BD CC 17 LDA.W $17CC,X CODE_0298CD: F0 EF BEQ CODE_0298BE CODE_0298CF: A4 9D LDY RAM_SpritesLocked CODE_0298D1: D0 4E BNE Return029921 CODE_0298D3: DE CC 17 DEC.W $17CC,X CODE_0298D6: 29 03 AND.B #$03 CODE_0298D8: D0 47 BNE Return029921 CODE_0298DA: A0 0B LDY.B #$0B CODE_0298DC: B9 F0 17 LDA.W $17F0,Y CODE_0298DF: F0 10 BEQ CODE_0298F1 CODE_0298E1: 88 DEY CODE_0298E2: 10 F8 BPL CODE_0298DC CODE_0298E4: CE 5D 18 DEC.W $185D CODE_0298E7: 10 05 BPL CODE_0298EE CODE_0298E9: A9 0B LDA.B #$0B CODE_0298EB: 8D 5D 18 STA.W $185D CODE_0298EE: AC 5D 18 LDY.W $185D CODE_0298F1: A9 02 LDA.B #$02 CODE_0298F3: 99 F0 17 STA.W $17F0,Y CODE_0298F6: BD C4 17 LDA.W $17C4,X CODE_0298F9: 85 01 STA $01 CODE_0298FB: BD C8 17 LDA.W $17C8,X CODE_0298FE: 85 00 STA $00 CODE_029900: BD CC 17 LDA.W $17CC,X CODE_029903: 4A LSR CODE_029904: 4A LSR CODE_029905: 29 03 AND.B #$03 CODE_029907: DA PHX CODE_029908: AA TAX CODE_029909: BD C2 98 LDA.W DATA_0298C2,X CODE_02990C: 18 CLC CODE_02990D: 65 00 ADC $00 CODE_02990F: 99 08 18 STA.W $1808,Y CODE_029912: BD C6 98 LDA.W DATA_0298C6,X CODE_029915: 18 CLC CODE_029916: 65 01 ADC $01 CODE_029918: 99 FC 17 STA.W $17FC,Y CODE_02991B: FA PLX CODE_02991C: A9 17 LDA.B #$17 CODE_02991E: 99 50 18 STA.W $1850,Y Return029921: 60 RTS ; Return DATA_029922: .db $66,$66,$64,$62,$62 CODE_029927: BD CC 17 LDA.W $17CC,X CODE_02992A: D0 15 BNE CODE_029941 CODE_02992C: 2C 9B 0D BIT.W $0D9B CODE_02992F: 50 0D BVC CODE_02993E CODE_029931: AD 0F 14 LDA.W $140F CODE_029934: D0 08 BNE CODE_02993E CODE_029936: BC BC 96 LDY.W DATA_0296BC,X CODE_029939: A9 F0 LDA.B #$F0 CODE_02993B: 99 01 03 STA.W OAM_DispY,Y CODE_02993E: 4C 93 97 JMP.W CODE_029793 CODE_029941: A4 9D LDY RAM_SpritesLocked CODE_029943: D0 0A BNE CODE_02994F CODE_029945: DE CC 17 DEC.W $17CC,X CODE_029948: 29 07 AND.B #$07 CODE_02994A: D0 03 BNE CODE_02994F CODE_02994C: DE C4 17 DEC.W $17C4,X CODE_02994F: A5 A5 LDA $A5 CODE_029951: C9 A9 CMP.B #$A9 CODE_029953: F0 17 BEQ CODE_02996C CODE_029955: AD 0F 14 LDA.W $140F CODE_029958: D0 12 BNE CODE_02996C CODE_02995A: AD 9B 0D LDA.W $0D9B CODE_02995D: 10 0D BPL CODE_02996C CODE_02995F: C9 C1 CMP.B #$C1 CODE_029961: F0 04 BEQ CODE_029967 CODE_029963: 29 40 AND.B #$40 CODE_029965: D0 38 BNE CODE_02999F CODE_029967: BC BC 96 LDY.W DATA_0296BC,X CODE_02996A: 80 03 BRA CODE_02996F CODE_02996C: BC B8 96 LDY.W DATA_0296B8,X CODE_02996F: BD C8 17 LDA.W $17C8,X CODE_029972: 38 SEC CODE_029973: E5 1A SBC RAM_ScreenBndryXLo CODE_029975: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_029978: BD C4 17 LDA.W $17C4,X CODE_02997B: 38 SEC CODE_02997C: E5 1C SBC RAM_ScreenBndryYLo CODE_02997E: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_029981: A5 64 LDA $64 CODE_029983: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_029986: BD CC 17 LDA.W $17CC,X CODE_029989: 4A LSR CODE_02998A: 4A LSR CODE_02998B: AA TAX CODE_02998C: BD 22 99 LDA.W DATA_029922,X CODE_02998F: AE 98 16 LDX.W $1698 CODE_029992: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029995: 98 TYA CODE_029996: 4A LSR CODE_029997: 4A LSR CODE_029998: A8 TAY CODE_029999: A9 00 LDA.B #$00 CODE_02999B: 99 20 04 STA.W $0420,Y Return02999E: 60 RTS ; Return CODE_02999F: BC BC 96 LDY.W DATA_0296BC,X CODE_0299A2: BD C8 17 LDA.W $17C8,X CODE_0299A5: 38 SEC CODE_0299A6: E5 1A SBC RAM_ScreenBndryXLo CODE_0299A8: 99 00 03 STA.W OAM_DispX,Y CODE_0299AB: BD C4 17 LDA.W $17C4,X CODE_0299AE: 38 SEC CODE_0299AF: E5 1C SBC RAM_ScreenBndryYLo CODE_0299B1: 99 01 03 STA.W OAM_DispY,Y CODE_0299B4: A5 64 LDA $64 CODE_0299B6: 99 03 03 STA.W OAM_Prop,Y CODE_0299B9: BD CC 17 LDA.W $17CC,X CODE_0299BC: 4A LSR CODE_0299BD: 4A LSR CODE_0299BE: AA TAX CODE_0299BF: BD 22 99 LDA.W DATA_029922,X CODE_0299C2: AE 98 16 LDX.W $1698 CODE_0299C5: 99 02 03 STA.W OAM_Tile,Y CODE_0299C8: 98 TYA CODE_0299C9: 4A LSR CODE_0299CA: 4A LSR CODE_0299CB: A8 TAY CODE_0299CC: A9 00 LDA.B #$00 CODE_0299CE: 99 60 04 STA.W OAM_TileSize,Y Return0299D1: 60 RTS ; Return CODE_0299D2: A2 03 LDX.B #$03 CODE_0299D4: 8E E9 15 STX.W $15E9 CODE_0299D7: BD D0 17 LDA.W $17D0,X CODE_0299DA: F0 03 BEQ CODE_0299DF CODE_0299DC: 20 F1 99 JSR.W CODE_0299F1 CODE_0299DF: CA DEX CODE_0299E0: 10 F2 BPL CODE_0299D4 Return0299E2: 60 RTS ; Return CODE_0299E3: A9 00 LDA.B #$00 CODE_0299E5: 9D D0 17 STA.W $17D0,X Return0299E8: 60 RTS ; Return DATA_0299E9: .db $30,$38,$40,$48,$EC,$EA,$E8,$EC CODE_0299F1: A5 9D LDA RAM_SpritesLocked CODE_0299F3: D0 13 BNE CODE_029A08 CODE_0299F5: 20 8E B5 JSR.W CODE_02B58E CODE_0299F8: BD D8 17 LDA.W $17D8,X CODE_0299FB: 18 CLC CODE_0299FC: 69 03 ADC.B #$03 CODE_0299FE: 9D D8 17 STA.W $17D8,X CODE_029A01: C9 20 CMP.B #$20 CODE_029A03: 30 03 BMI CODE_029A08 CODE_029A05: 4C A8 9A JMP.W CODE_029AA8 CODE_029A08: BD E4 17 LDA.W $17E4,X CODE_029A0B: 0A ASL CODE_029A0C: 0A ASL CODE_029A0D: A8 TAY CODE_029A0E: B9 1C 00 LDA.W RAM_ScreenBndryYLo,Y CODE_029A11: 85 02 STA $02 CODE_029A13: B9 1A 00 LDA.W RAM_ScreenBndryXLo,Y CODE_029A16: 85 03 STA $03 CODE_029A18: B9 1D 00 LDA.W RAM_ScreenBndryYHi,Y CODE_029A1B: 85 04 STA $04 CODE_029A1D: BD D4 17 LDA.W $17D4,X CODE_029A20: C5 02 CMP $02 CODE_029A22: BD E8 17 LDA.W $17E8,X CODE_029A25: E5 04 SBC $04 CODE_029A27: D0 44 BNE Return029A6D CODE_029A29: BD E0 17 LDA.W $17E0,X CODE_029A2C: 38 SEC CODE_029A2D: E5 03 SBC $03 CODE_029A2F: C9 F8 CMP.B #$F8 CODE_029A31: B0 B0 BCS CODE_0299E3 CODE_029A33: 85 00 STA $00 CODE_029A35: BD D4 17 LDA.W $17D4,X CODE_029A38: 38 SEC CODE_029A39: E5 02 SBC $02 CODE_029A3B: 85 01 STA $01 CODE_029A3D: BC E9 99 LDY.W DATA_0299E9,X CODE_029A40: 84 0F STY $0F CODE_029A42: A4 0F LDY $0F CODE_029A44: A5 00 LDA $00 CODE_029A46: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_029A49: A5 01 LDA $01 CODE_029A4B: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_029A4E: A9 E8 LDA.B #$E8 CODE_029A50: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029A53: A9 04 LDA.B #$04 CODE_029A55: 05 64 ORA $64 CODE_029A57: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_029A5A: 98 TYA CODE_029A5B: 4A LSR CODE_029A5C: 4A LSR CODE_029A5D: A8 TAY CODE_029A5E: A9 02 LDA.B #$02 CODE_029A60: 99 20 04 STA.W $0420,Y CODE_029A63: 8A TXA CODE_029A64: 18 CLC CODE_029A65: 65 14 ADC RAM_FrameCounterB CODE_029A67: 4A LSR CODE_029A68: 4A LSR CODE_029A69: 29 03 AND.B #$03 CODE_029A6B: D0 04 BNE CODE_029A71 Return029A6D: 60 RTS ; Return RollingCoinTiles: .db $EA,$FA,$EA CODE_029A71: A4 0F LDY $0F CODE_029A73: DA PHX CODE_029A74: AA TAX CODE_029A75: A5 00 LDA $00 CODE_029A77: 18 CLC CODE_029A78: 69 04 ADC.B #$04 CODE_029A7A: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_029A7D: 99 04 02 STA.W $0204,Y CODE_029A80: A5 01 LDA $01 CODE_029A82: 18 CLC CODE_029A83: 69 08 ADC.B #$08 CODE_029A85: 99 05 02 STA.W $0205,Y CODE_029A88: BF 6D 9A 02 LDA.L Return029A6D,X CODE_029A8C: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029A8F: 99 06 02 STA.W $0206,Y CODE_029A92: B9 03 02 LDA.W OAM_ExtendedProp,Y CODE_029A95: 09 80 ORA.B #$80 CODE_029A97: 99 07 02 STA.W $0207,Y CODE_029A9A: 98 TYA CODE_029A9B: 4A LSR CODE_029A9C: 4A LSR CODE_029A9D: A8 TAY CODE_029A9E: A9 00 LDA.B #$00 CODE_029AA0: 99 20 04 STA.W $0420,Y CODE_029AA3: 99 21 04 STA.W $0421,Y CODE_029AA6: FA PLX Return029AA7: 60 RTS ; Return CODE_029AA8: 22 34 AD 02 JSL.L CODE_02AD34 ; Find next usable location in score sprite table CODE_029AAC: A9 01 LDA.B #$01 CODE_029AAE: 99 E1 16 STA.W RAM_ScoreSprNum,Y ; add a "10" score sprite CODE_029AB1: BD D4 17 LDA.W $17D4,X CODE_029AB4: 99 E7 16 STA.W RAM_ScoreSprYLo,Y ; set Yposition low byte CODE_029AB7: BD E8 17 LDA.W $17E8,X CODE_029ABA: 99 F9 16 STA.W RAM_ScoreSprYHi,Y ; set Ypos high byte CODE_029ABD: BD E0 17 LDA.W $17E0,X CODE_029AC0: 99 ED 16 STA.W RAM_ScoreSprXLo,Y ; set Xpos low byte CODE_029AC3: BD EC 17 LDA.W $17EC,X CODE_029AC6: 99 F3 16 STA.W RAM_ScoreSprXHi,Y ; set Xpos high byte CODE_029AC9: A9 30 LDA.B #$30 CODE_029ACB: 99 FF 16 STA.W RAM_ScoreSprSpeedY,Y ; set initial speed to 30 CODE_029ACE: BD E4 17 LDA.W $17E4,X CODE_029AD1: 99 05 17 STA.W $1705,Y CODE_029AD4: 20 DA 9A JSR.W CODE_029ADA CODE_029AD7: 4C E3 99 JMP.W CODE_0299E3 ; Puts #$00 into $17D0 and returns CODE_029ADA: A0 03 LDY.B #$03 ; for (c=3;c>=0;c--) CODE_029ADC: B9 C0 17 LDA.W $17C0,Y ; { CODE_029ADF: F0 04 BEQ CODE_029AE5 ; check if there is empty space in smoke/dust sprite table CODE_029AE1: 88 DEY CODE_029AE2: 10 F8 BPL CODE_029ADC ; } Return029AE4: 60 RTS ; if no empty space, return CODE_029AE5: A9 05 LDA.B #$05 ; if there's an empty space, make it 5 (glitter sprite) CODE_029AE7: 99 C0 17 STA.W $17C0,Y CODE_029AEA: BD E4 17 LDA.W $17E4,X ; nots sure what 17E4 is used for yet - copied from $1933 CODE_029AED: 4A LSR ; carryout = $17E4 % 2 CODE_029AEE: 08 PHP CODE_029AEF: BD E0 17 LDA.W $17E0,X ; get x coordinate low byte CODE_029AF2: 90 02 BCC CODE_029AF6 ; if carryout == 1 ADDR_029AF4: E5 26 SBC $26 ; x-coord -= $26 CODE_029AF6: 99 C8 17 STA.W $17C8,Y ; store x-coord CODE_029AF9: BD D4 17 LDA.W $17D4,X ; get y coordinate low byte CODE_029AFC: 28 PLP CODE_029AFD: 90 02 BCC CODE_029B01 ; if carryout == 1 ADDR_029AFF: E5 28 SBC $28 ; y-coord -=$28 CODE_029B01: 99 C4 17 STA.W $17C4,Y ; store y-coord CODE_029B04: A9 10 LDA.B #$10 CODE_029B06: 99 CC 17 STA.W $17CC,Y ; duration = 10 Return029B09: 60 RTS ; Return CODE_029B0A: A2 09 LDX.B #$09 CODE_029B0C: 8E E9 15 STX.W $15E9 CODE_029B0F: 20 16 9B JSR.W CODE_029B16 CODE_029B12: CA DEX CODE_029B13: 10 F7 BPL CODE_029B0C Return029B15: 60 RTS ; Return CODE_029B16: BD 0B 17 LDA.W RAM_ExSpriteNum,X CODE_029B19: F0 FA BEQ Return029B15 CODE_029B1B: A4 9D LDY RAM_SpritesLocked CODE_029B1D: D0 08 BNE CODE_029B27 CODE_029B1F: BC 6F 17 LDY.W $176F,X CODE_029B22: F0 03 BEQ CODE_029B27 CODE_029B24: DE 6F 17 DEC.W $176F,X CODE_029B27: 22 DF 86 00 JSL.L ExecutePtr ExtendedSpritePtrs: 15 9B .dw Return029B15 ; 00 - Empty slot 4F A3 .dw SmokePuff ; 01 - Puff of smoke 6B A1 .dw ReznorFireball ; 02 - Reznor fireball 19 A2 .dw FlameRemnant ; 03 - Tiny flame left by hopping flame EF A2 .dw Hammer ; 04 - Hammer AF 9F .dw MarioFireball ; 05 - Mario fireball 54 A2 .dw Baseball ; 06 - Bone 86 9E .dw LavaSplash ; 07 - Lava splash 3D 9E .dw LauncherArm ; 08 - Torpedo Ted shooter's arm 9D 9D .dw UnusedExtendedSpr ; 09 - Unused (Red thing that flickers from 16x16 to 8x8) B5 9C .dw CloudCoin ; 0A - Coin from cloud game EF A2 .dw Hammer ; 0B - Piranha fireball 51 9B .dw VolcanoLotusFire ; 0C - Volcano lotus fire 54 A2 .dw Baseball ; 0D - Baseball B5 9C .dw CloudCoin ; 0E - Flower of Wiggler 3E 9C .dw SmokeTrail ; 0F - Trail of smoke 83 9C .dw SpinJumpStars ; 10 - Spin Jump stars 61 9F .dw YoshiFireball ; 11 - Yoshi fireballs EE 9E .dw WaterBubble ; 12 - Water bubble VolcanoLotusFire: BC 53 A1 LDY.W DATA_02A153,X CODE_029B54: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_029B57: 38 SEC CODE_029B58: E5 1A SBC RAM_ScreenBndryXLo CODE_029B5A: 85 00 STA $00 CODE_029B5C: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_029B5F: E5 1B SBC RAM_ScreenBndryXHi CODE_029B61: D0 77 BNE CODE_029BDA CODE_029B63: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_029B66: 38 SEC CODE_029B67: E5 1C SBC RAM_ScreenBndryYLo CODE_029B69: 85 01 STA $01 CODE_029B6B: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_029B6E: E5 1D SBC RAM_ScreenBndryYHi CODE_029B70: F0 04 BEQ CODE_029B76 CODE_029B72: 30 31 BMI CODE_029BA5 CODE_029B74: 10 64 BPL CODE_029BDA CODE_029B76: A5 00 LDA $00 CODE_029B78: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_029B7B: A5 01 LDA $01 CODE_029B7D: C9 F0 CMP.B #$F0 CODE_029B7F: B0 24 BCS CODE_029BA5 CODE_029B81: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_029B84: A9 09 LDA.B #$09 CODE_029B86: 05 64 ORA $64 CODE_029B88: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_029B8B: A5 14 LDA RAM_FrameCounterB CODE_029B8D: 4A LSR CODE_029B8E: 4D E9 15 EOR.W $15E9 CODE_029B91: 4A LSR CODE_029B92: 4A LSR CODE_029B93: A9 A6 LDA.B #$A6 CODE_029B95: 90 02 BCC CODE_029B99 CODE_029B97: A9 B6 LDA.B #$B6 CODE_029B99: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029B9C: 98 TYA CODE_029B9D: 4A LSR CODE_029B9E: 4A LSR CODE_029B9F: A8 TAY CODE_029BA0: A9 00 LDA.B #$00 CODE_029BA2: 99 20 04 STA.W $0420,Y CODE_029BA5: A5 9D LDA RAM_SpritesLocked CODE_029BA7: D0 30 BNE Return029BD9 CODE_029BA9: 20 F6 A3 JSR.W CODE_02A3F6 CODE_029BAC: 20 54 B5 JSR.W CODE_02B554 CODE_029BAF: 20 60 B5 JSR.W CODE_02B560 CODE_029BB2: A5 13 LDA RAM_FrameCounter CODE_029BB4: 29 03 AND.B #$03 CODE_029BB6: D0 0A BNE CODE_029BC2 CODE_029BB8: BD 3D 17 LDA.W RAM_ExSprSpeedY,X CODE_029BBB: C9 18 CMP.B #$18 CODE_029BBD: 10 03 BPL CODE_029BC2 CODE_029BBF: FE 3D 17 INC.W RAM_ExSprSpeedY,X CODE_029BC2: BD 3D 17 LDA.W RAM_ExSprSpeedY,X CODE_029BC5: 30 12 BMI Return029BD9 CODE_029BC7: 8A TXA CODE_029BC8: 0A ASL CODE_029BC9: 0A ASL CODE_029BCA: 0A ASL CODE_029BCB: 65 13 ADC RAM_FrameCounter CODE_029BCD: A0 08 LDY.B #$08 CODE_029BCF: 29 08 AND.B #$08 CODE_029BD1: D0 02 BNE CODE_029BD5 CODE_029BD3: A0 F8 LDY.B #$F8 CODE_029BD5: 98 TYA CODE_029BD6: 9D 47 17 STA.W RAM_ExSprSpeedX,X Return029BD9: 60 RTS ; Return CODE_029BDA: 9E 0B 17 STZ.W RAM_ExSpriteNum,X ; Clear extended sprite Return029BDD: 60 RTS ; Return DATA_029BDE: .db $08,$F8 DATA_029BE0: .db $00,$FF DATA_029BE2: .db $18,$E8 CODE_029BE4: A9 05 LDA.B #$05 ; \ Set ground shake timer CODE_029BE6: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_029BE9: A9 09 LDA.B #$09 ; \ Play sound effect CODE_029BEB: 8D FC 1D STA.W $1DFC ; / CODE_029BEE: 64 00 STZ $00 CODE_029BF0: 20 F5 9B JSR.W CODE_029BF5 CODE_029BF3: E6 00 INC $00 CODE_029BF5: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot CODE_029BF7: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_029BFA: F0 04 BEQ CODE_029C00 ; | CODE_029BFC: 88 DEY ; | CODE_029BFD: 10 F8 BPL CODE_029BF7 ; | Return029BFF: 60 RTS ; / Return if no free slots CODE_029C00: A9 0F LDA.B #$0F ; \ Extended sprite = Yoshi stomp smoke CODE_029C02: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_029C05: A5 96 LDA RAM_MarioYPos CODE_029C07: 18 CLC CODE_029C08: 69 28 ADC.B #$28 CODE_029C0A: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_029C0D: A5 97 LDA RAM_MarioYPosHi CODE_029C0F: 69 00 ADC.B #$00 CODE_029C11: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_029C14: A6 00 LDX $00 CODE_029C16: A5 94 LDA RAM_MarioXPos CODE_029C18: 18 CLC CODE_029C19: 7D DE 9B ADC.W DATA_029BDE,X CODE_029C1C: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_029C1F: A5 95 LDA RAM_MarioXPosHi CODE_029C21: 7D E0 9B ADC.W DATA_029BE0,X CODE_029C24: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_029C27: BD E2 9B LDA.W DATA_029BE2,X CODE_029C2A: 99 47 17 STA.W RAM_ExSprSpeedX,Y CODE_029C2D: A9 15 LDA.B #$15 CODE_029C2F: 99 6F 17 STA.W $176F,Y Return029C32: 60 RTS ; Return SmokeTrailTiles: .db $66,$64,$62,$60,$60,$60,$60,$60 .db $60,$60,$60 SmokeTrail: 20 A4 A1 JSR.W CODE_02A1A4 CODE_029C41: BC 53 A1 LDY.W DATA_02A153,X CODE_029C44: BD 6F 17 LDA.W $176F,X CODE_029C47: 4A LSR CODE_029C48: DA PHX CODE_029C49: AA TAX CODE_029C4A: A5 14 LDA RAM_FrameCounterB CODE_029C4C: 0A ASL CODE_029C4D: 0A ASL CODE_029C4E: 0A ASL CODE_029C4F: 0A ASL CODE_029C50: 29 C0 AND.B #$C0 CODE_029C52: 09 32 ORA.B #$32 CODE_029C54: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_029C57: BD 33 9C LDA.W SmokeTrailTiles,X CODE_029C5A: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029C5D: 98 TYA CODE_029C5E: 4A LSR CODE_029C5F: 4A LSR CODE_029C60: A8 TAY CODE_029C61: A9 02 LDA.B #$02 CODE_029C63: 99 20 04 STA.W $0420,Y CODE_029C66: FA PLX CODE_029C67: A5 9D LDA RAM_SpritesLocked CODE_029C69: D0 13 BNE Return029C7E CODE_029C6B: BD 6F 17 LDA.W $176F,X CODE_029C6E: F0 0F BEQ CODE_029C7F CODE_029C70: C9 06 CMP.B #$06 CODE_029C72: D0 07 BNE CODE_029C7B CODE_029C74: BD 47 17 LDA.W RAM_ExSprSpeedX,X CODE_029C77: 0A ASL CODE_029C78: 7E 47 17 ROR.W RAM_ExSprSpeedX,X CODE_029C7B: 20 54 B5 JSR.W CODE_02B554 Return029C7E: 60 RTS ; Return CODE_029C7F: 9E 0B 17 STZ.W RAM_ExSpriteNum,X ; Clear extended sprite Return029C82: 60 RTS ; Return SpinJumpStars: BD 6F 17 LDA.W $176F,X CODE_029C86: F0 F7 BEQ CODE_029C7F CODE_029C88: 20 A4 A1 JSR.W CODE_02A1A4 CODE_029C8B: BC 53 A1 LDY.W DATA_02A153,X CODE_029C8E: A9 34 LDA.B #$34 CODE_029C90: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_029C93: A9 EF LDA.B #$EF CODE_029C95: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029C98: A5 9D LDA RAM_SpritesLocked CODE_029C9A: D0 13 BNE Return029CAF CODE_029C9C: BD 6F 17 LDA.W $176F,X CODE_029C9F: 4A LSR CODE_029CA0: 4A LSR CODE_029CA1: A8 TAY CODE_029CA2: A5 13 LDA RAM_FrameCounter CODE_029CA4: 39 B0 9C AND.W DATA_029CB0,Y CODE_029CA7: D0 06 BNE Return029CAF CODE_029CA9: 20 54 B5 JSR.W CODE_02B554 CODE_029CAC: 20 60 B5 JSR.W CODE_02B560 Return029CAF: 60 RTS ; Return DATA_029CB0: .db $FF,$07,$01,$00,$00 CloudCoin: A5 9D LDA RAM_SpritesLocked CODE_029CB7: D0 3F BNE CODE_029CF8 CODE_029CB9: 20 60 B5 JSR.W CODE_02B560 CODE_029CBC: BD 3D 17 LDA.W RAM_ExSprSpeedY,X CODE_029CBF: C9 30 CMP.B #$30 CODE_029CC1: 10 06 BPL CODE_029CC9 CODE_029CC3: 18 CLC CODE_029CC4: 69 02 ADC.B #$02 CODE_029CC6: 9D 3D 17 STA.W RAM_ExSprSpeedY,X CODE_029CC9: BD 0B 17 LDA.W RAM_ExSpriteNum,X CODE_029CCC: C9 0E CMP.B #$0E CODE_029CCE: D0 13 BNE ADDR_029CE3 CODE_029CD0: A0 08 LDY.B #$08 CODE_029CD2: A5 14 LDA RAM_FrameCounterB CODE_029CD4: 29 08 AND.B #$08 CODE_029CD6: F0 02 BEQ CODE_029CDA CODE_029CD8: A0 F8 LDY.B #$F8 CODE_029CDA: 98 TYA CODE_029CDB: 9D 47 17 STA.W RAM_ExSprSpeedX,X CODE_029CDE: 20 54 B5 JSR.W CODE_02B554 CODE_029CE1: 80 15 BRA CODE_029CF8 ADDR_029CE3: BD 65 17 LDA.W $1765,X ADDR_029CE6: D0 0D BNE ADDR_029CF5 ADDR_029CE8: 20 6E A5 JSR.W CODE_02A56E ADDR_029CEB: 90 08 BCC ADDR_029CF5 ADDR_029CED: A9 D0 LDA.B #$D0 ADDR_029CEF: 9D 3D 17 STA.W RAM_ExSprSpeedY,X ADDR_029CF2: FE 65 17 INC.W $1765,X ADDR_029CF5: 20 F6 A3 JSR.W CODE_02A3F6 CODE_029CF8: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_029CFB: 38 SEC CODE_029CFC: E5 1C SBC RAM_ScreenBndryYLo CODE_029CFE: C9 F0 CMP.B #$F0 CODE_029D00: B0 58 BCS CODE_029D5A CODE_029D02: 85 01 STA $01 CODE_029D04: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_029D07: C5 1A CMP RAM_ScreenBndryXLo CODE_029D09: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_029D0C: E5 1B SBC RAM_ScreenBndryXHi CODE_029D0E: D0 4D BNE Return029D5D CODE_029D10: BC 53 A1 LDY.W DATA_02A153,X CODE_029D13: 84 0F STY $0F CODE_029D15: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_029D18: 38 SEC CODE_029D19: E5 1A SBC RAM_ScreenBndryXLo CODE_029D1B: 85 00 STA $00 CODE_029D1D: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_029D20: BD 0B 17 LDA.W RAM_ExSpriteNum,X CODE_029D23: C9 0E CMP.B #$0E CODE_029D25: D0 1E BNE ADDR_029D45 CODE_029D27: A5 01 LDA $01 CODE_029D29: 38 SEC CODE_029D2A: E9 05 SBC.B #$05 CODE_029D2C: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_029D2F: A9 98 LDA.B #$98 CODE_029D31: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029D34: A9 0B LDA.B #$0B CODE_029D36: 05 64 ORA $64 CODE_029D38: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_029D3B: 98 TYA CODE_029D3C: 4A LSR CODE_029D3D: 4A LSR CODE_029D3E: A8 TAY CODE_029D3F: A9 00 LDA.B #$00 CODE_029D41: 99 20 04 STA.W $0420,Y Return029D44: 60 RTS ; Return ADDR_029D45: A5 01 LDA $01 ADDR_029D47: 99 01 02 STA.W OAM_ExtendedDispY,Y ADDR_029D4A: A9 C2 LDA.B #$C2 ADDR_029D4C: 99 02 02 STA.W OAM_ExtendedTile,Y ADDR_029D4F: A9 04 LDA.B #$04 ADDR_029D51: 20 36 9D JSR.W CODE_029D36 ADDR_029D54: A9 02 LDA.B #$02 ADDR_029D56: 99 20 04 STA.W $0420,Y Return029D59: 60 RTS ; Return CODE_029D5A: 9E 0B 17 STZ.W RAM_ExSpriteNum,X ; Clear extended sprite Return029D5D: 60 RTS ; Return DATA_029D5E: .db $00,$01,$02,$03,$02,$03,$02,$03 .db $03,$02,$03,$02,$03,$02,$01,$00 UnusedExSprDispX: .db $10,$F8,$03,$10,$F8,$03,$10,$F0 .db $FF,$10,$F0,$FF UnusedExSprDispY: .db $02,$02,$EE,$02,$02,$EE,$FE,$FE .db $E6,$FE,$FE,$E6 UnusedExSprTiles: .db $B3,$B3,$B1,$B2,$B2,$B0,$8E,$8E .db $A8,$8C,$8C,$88 UnusedExSprGfxProp: .db $69,$29,$29 UnusedExSprTileSize: .db $00,$00,$02,$02 ADDR_029D99: 9E 0B 17 STZ.W RAM_ExSpriteNum,X ; Clear extended sprite Return029D9C: 60 RTS ; Return UnusedExtendedSpr: 20 F6 A3 JSR.W CODE_02A3F6 ADDR_029DA0: BC 47 17 LDY.W RAM_ExSprSpeedX,X ADDR_029DA3: B9 C8 14 LDA.W $14C8,Y ADDR_029DA6: C9 08 CMP.B #$08 ADDR_029DA8: D0 EF BNE ADDR_029D99 ADDR_029DAA: BD 6F 17 LDA.W $176F,X ADDR_029DAD: F0 EA BEQ ADDR_029D99 ADDR_029DAF: 4A LSR ADDR_029DB0: 4A LSR ADDR_029DB1: EA NOP ADDR_029DB2: EA NOP ADDR_029DB3: A8 TAY ADDR_029DB4: B9 5E 9D LDA.W DATA_029D5E,Y ADDR_029DB7: 85 0F STA $0F ADDR_029DB9: 0A ASL ADDR_029DBA: 65 0F ADC $0F ADDR_029DBC: 85 02 STA $02 ADDR_029DBE: BD 65 17 LDA.W $1765,X ADDR_029DC1: 18 CLC ADDR_029DC2: 65 02 ADC $02 ADDR_029DC4: A8 TAY ADDR_029DC5: 84 03 STY $03 ADDR_029DC7: BD 1F 17 LDA.W RAM_ExSpriteXLo,X ADDR_029DCA: 18 CLC ADDR_029DCB: 79 6E 9D ADC.W UnusedExSprDispX,Y ADDR_029DCE: 38 SEC ADDR_029DCF: E5 1A SBC RAM_ScreenBndryXLo ADDR_029DD1: 85 00 STA $00 ADDR_029DD3: BD 15 17 LDA.W RAM_ExSpriteYLo,X ADDR_029DD6: 18 CLC ADDR_029DD7: 79 7A 9D ADC.W UnusedExSprDispY,Y ADDR_029DDA: 38 SEC ADDR_029DDB: E5 1C SBC RAM_ScreenBndryYLo ADDR_029DDD: 85 01 STA $01 ADDR_029DDF: BC 53 A1 LDY.W DATA_02A153,X ADDR_029DE2: C9 F0 CMP.B #$F0 ADDR_029DE4: B0 53 BCS CODE_029E39 ADDR_029DE6: 99 01 02 STA.W OAM_ExtendedDispY,Y ADDR_029DE9: A5 00 LDA $00 ADDR_029DEB: C9 10 CMP.B #$10 ADDR_029DED: 90 4A BCC CODE_029E39 ADDR_029DEF: C9 F0 CMP.B #$F0 ADDR_029DF1: B0 46 BCS CODE_029E39 ADDR_029DF3: 99 00 02 STA.W OAM_ExtendedDispX,Y ADDR_029DF6: BD 65 17 LDA.W $1765,X ADDR_029DF9: AA TAX ADDR_029DFA: BD 92 9D LDA.W UnusedExSprGfxProp,X ADDR_029DFD: 99 03 02 STA.W OAM_ExtendedProp,Y ADDR_029E00: A6 03 LDX $03 ADDR_029E02: BD 86 9D LDA.W UnusedExSprTiles,X ADDR_029E05: 99 02 02 STA.W OAM_ExtendedTile,Y ADDR_029E08: 98 TYA ADDR_029E09: 4A LSR ADDR_029E0A: 4A LSR ADDR_029E0B: A8 TAY ADDR_029E0C: A6 0F LDX $0F ADDR_029E0E: BD 95 9D LDA.W UnusedExSprTileSize,X ADDR_029E11: 99 20 04 STA.W $0420,Y ADDR_029E14: AE E9 15 LDX.W $15E9 ; X = Sprite index ADDR_029E17: A5 00 LDA $00 ADDR_029E19: 38 SEC ADDR_029E1A: E5 7E SBC $7E ADDR_029E1C: 18 CLC ADDR_029E1D: 69 04 ADC.B #$04 ADDR_029E1F: C9 08 CMP.B #$08 ADDR_029E21: B0 12 BCS Return029E35 ADDR_029E23: A5 01 LDA $01 ADDR_029E25: 38 SEC ADDR_029E26: E5 80 SBC $80 ADDR_029E28: 38 SEC ADDR_029E29: E9 10 SBC.B #$10 ADDR_029E2B: 18 CLC ADDR_029E2C: 69 10 ADC.B #$10 ADDR_029E2E: C9 10 CMP.B #$10 ADDR_029E30: B0 03 BCS Return029E35 ADDR_029E32: 4C 69 A4 JMP.W CODE_02A469 Return029E35: 60 RTS ; Return DATA_029E36: .db $08,$00,$F8 CODE_029E39: 9E 0B 17 STZ.W RAM_ExSpriteNum,X Return029E3C: 60 RTS ; Return LauncherArm: A0 00 LDY.B #$00 CODE_029E3F: BD 6F 17 LDA.W $176F,X CODE_029E42: F0 F5 BEQ CODE_029E39 CODE_029E44: C9 60 CMP.B #$60 CODE_029E46: B0 06 BCS CODE_029E4E CODE_029E48: C8 INY CODE_029E49: C9 30 CMP.B #$30 CODE_029E4B: B0 01 BCS CODE_029E4E CODE_029E4D: C8 INY CODE_029E4E: 5A PHY CODE_029E4F: A5 9D LDA RAM_SpritesLocked CODE_029E51: D0 09 BNE CODE_029E5C CODE_029E53: B9 36 9E LDA.W DATA_029E36,Y CODE_029E56: 9D 3D 17 STA.W RAM_ExSprSpeedY,X CODE_029E59: 20 60 B5 JSR.W CODE_02B560 CODE_029E5C: 20 A4 A1 JSR.W CODE_02A1A4 CODE_029E5F: BC 53 A1 LDY.W DATA_02A153,X CODE_029E62: 68 PLA CODE_029E63: C9 01 CMP.B #$01 CODE_029E65: A9 84 LDA.B #$84 CODE_029E67: 90 02 BCC CODE_029E6B CODE_029E69: A9 A4 LDA.B #$A4 CODE_029E6B: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029E6E: B9 03 02 LDA.W OAM_ExtendedProp,Y CODE_029E71: 29 00 AND.B #$00 CODE_029E73: 09 13 ORA.B #$13 CODE_029E75: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_029E78: 98 TYA CODE_029E79: 4A LSR CODE_029E7A: 4A LSR CODE_029E7B: A8 TAY CODE_029E7C: A9 02 LDA.B #$02 CODE_029E7E: 99 20 04 STA.W $0420,Y Return029E81: 60 RTS ; Return LavaSplashTiles2: .db $D7,$C7,$D6,$C6 LavaSplash: A5 9D LDA RAM_SpritesLocked CODE_029E88: D0 13 BNE CODE_029E9D CODE_029E8A: 20 54 B5 JSR.W CODE_02B554 CODE_029E8D: 20 60 B5 JSR.W CODE_02B560 CODE_029E90: BD 3D 17 LDA.W RAM_ExSprSpeedY,X CODE_029E93: 18 CLC CODE_029E94: 69 02 ADC.B #$02 CODE_029E96: 9D 3D 17 STA.W RAM_ExSprSpeedY,X CODE_029E99: C9 30 CMP.B #$30 CODE_029E9B: 10 49 BPL CODE_029EE6 CODE_029E9D: BC 53 A1 LDY.W DATA_02A153,X CODE_029EA0: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_029EA3: 38 SEC CODE_029EA4: E5 1A SBC RAM_ScreenBndryXLo CODE_029EA6: 85 00 STA $00 CODE_029EA8: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_029EAB: E5 1B SBC RAM_ScreenBndryXHi CODE_029EAD: D0 37 BNE CODE_029EE6 CODE_029EAF: A5 00 LDA $00 CODE_029EB1: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_029EB4: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_029EB7: 38 SEC CODE_029EB8: E5 1C SBC RAM_ScreenBndryYLo CODE_029EBA: C9 F0 CMP.B #$F0 CODE_029EBC: B0 28 BCS CODE_029EE6 CODE_029EBE: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_029EC1: BD 6F 17 LDA.W $176F,X CODE_029EC4: 4A LSR CODE_029EC5: 4A LSR CODE_029EC6: 4A LSR CODE_029EC7: EA NOP CODE_029EC8: EA NOP CODE_029EC9: 29 03 AND.B #$03 CODE_029ECB: AA TAX CODE_029ECC: BD 82 9E LDA.W LavaSplashTiles2,X CODE_029ECF: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029ED2: A5 64 LDA $64 CODE_029ED4: 09 05 ORA.B #$05 CODE_029ED6: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_029ED9: 98 TYA CODE_029EDA: 4A LSR CODE_029EDB: 4A LSR CODE_029EDC: A8 TAY CODE_029EDD: A9 00 LDA.B #$00 CODE_029EDF: 99 20 04 STA.W $0420,Y CODE_029EE2: AE E9 15 LDX.W $15E9 ; X = Sprite index Return029EE5: 60 RTS ; Return CODE_029EE6: 9E 0B 17 STZ.W RAM_ExSpriteNum,X ; Clear extended sprite Return029EE9: 60 RTS ; Return DATA_029EEA: .db $00,$01,$00,$FF WaterBubble: A5 9D LDA RAM_SpritesLocked CODE_029EF0: D0 38 BNE CODE_029F2A CODE_029EF2: FE 65 17 INC.W $1765,X CODE_029EF5: BD 65 17 LDA.W $1765,X CODE_029EF8: 29 30 AND.B #$30 CODE_029EFA: F0 0C BEQ CODE_029F08 CODE_029EFC: DE 15 17 DEC.W RAM_ExSpriteYLo,X CODE_029EFF: BC 15 17 LDY.W RAM_ExSpriteYLo,X CODE_029F02: C8 INY CODE_029F03: D0 03 BNE CODE_029F08 CODE_029F05: DE 29 17 DEC.W RAM_ExSpriteYHi,X CODE_029F08: 8A TXA CODE_029F09: 45 13 EOR RAM_FrameCounter CODE_029F0B: 4A LSR CODE_029F0C: B0 1C BCS CODE_029F2A CODE_029F0E: 20 6E A5 JSR.W CODE_02A56E CODE_029F11: B0 14 BCS CODE_029F27 CODE_029F13: A5 85 LDA RAM_IsWaterLevel CODE_029F15: D0 13 BNE CODE_029F2A CODE_029F17: A5 0C LDA $0C CODE_029F19: C9 06 CMP.B #$06 CODE_029F1B: 90 0D BCC CODE_029F2A CODE_029F1D: A5 0F LDA $0F CODE_029F1F: F0 06 BEQ CODE_029F27 CODE_029F21: A5 0D LDA $0D CODE_029F23: C9 06 CMP.B #$06 CODE_029F25: 90 03 BCC CODE_029F2A CODE_029F27: 4C 11 A2 JMP.W CODE_02A211 CODE_029F2A: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_029F2D: C5 1C CMP RAM_ScreenBndryYLo CODE_029F2F: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_029F32: E5 1D SBC RAM_ScreenBndryYHi CODE_029F34: D0 F1 BNE CODE_029F27 CODE_029F36: 20 A4 A1 JSR.W CODE_02A1A4 CODE_029F39: BD 65 17 LDA.W $1765,X CODE_029F3C: 29 0C AND.B #$0C CODE_029F3E: 4A LSR CODE_029F3F: 4A LSR CODE_029F40: A8 TAY CODE_029F41: B9 EA 9E LDA.W DATA_029EEA,Y CODE_029F44: 85 00 STA $00 CODE_029F46: BC 53 A1 LDY.W DATA_02A153,X CODE_029F49: B9 00 02 LDA.W OAM_ExtendedDispX,Y CODE_029F4C: 18 CLC CODE_029F4D: 65 00 ADC $00 CODE_029F4F: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_029F52: B9 01 02 LDA.W OAM_ExtendedDispY,Y CODE_029F55: 18 CLC CODE_029F56: 69 05 ADC.B #$05 CODE_029F58: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_029F5B: A9 1C LDA.B #$1C CODE_029F5D: 99 02 02 STA.W OAM_ExtendedTile,Y Return029F60: 60 RTS ; Return YoshiFireball: A5 9D LDA RAM_SpritesLocked CODE_029F63: D0 09 BNE CODE_029F6E CODE_029F65: 20 54 B5 JSR.W CODE_02B554 CODE_029F68: 20 60 B5 JSR.W CODE_02B560 CODE_029F6B: 20 AC A0 JSR.W ProcessFireball CODE_029F6E: 20 A4 A1 JSR.W CODE_02A1A4 CODE_029F71: A5 14 LDA RAM_FrameCounterB CODE_029F73: 4A LSR CODE_029F74: 4A LSR CODE_029F75: 4A LSR CODE_029F76: BC 53 A1 LDY.W DATA_02A153,X CODE_029F79: A9 04 LDA.B #$04 CODE_029F7B: 90 02 BCC CODE_029F7F CODE_029F7D: A9 2B LDA.B #$2B CODE_029F7F: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_029F82: BD 47 17 LDA.W RAM_ExSprSpeedX,X CODE_029F85: 29 80 AND.B #$80 CODE_029F87: 49 80 EOR.B #$80 CODE_029F89: 4A LSR CODE_029F8A: 09 35 ORA.B #$35 CODE_029F8C: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_029F8F: 98 TYA CODE_029F90: 4A LSR CODE_029F91: 4A LSR CODE_029F92: A8 TAY CODE_029F93: A9 02 LDA.B #$02 CODE_029F95: 99 20 04 STA.W $0420,Y Return029F98: 60 RTS ; Return DATA_029F99: .db $00,$B8,$C0,$C8,$D0,$D8,$E0,$E8 .db $F0 DATA_029FA2: .db $00 DATA_029FA3: .db $05,$03 DATA_029FA5: .db $02,$02,$02,$02,$02,$02,$F8,$FC .db $A0,$A4 MarioFireball: A5 9D LDA RAM_SpritesLocked CODE_029FB1: D0 79 BNE CODE_02A02C CODE_029FB3: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_029FB6: C5 1C CMP RAM_ScreenBndryYLo CODE_029FB8: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_029FBB: E5 1D SBC RAM_ScreenBndryYHi CODE_029FBD: F0 03 BEQ CODE_029FC2 CODE_029FBF: 4C 11 A2 JMP.W CODE_02A211 CODE_029FC2: FE 65 17 INC.W $1765,X CODE_029FC5: 20 AC A0 JSR.W ProcessFireball CODE_029FC8: BD 3D 17 LDA.W RAM_ExSprSpeedY,X CODE_029FCB: C9 30 CMP.B #$30 CODE_029FCD: 10 09 BPL CODE_029FD8 CODE_029FCF: BD 3D 17 LDA.W RAM_ExSprSpeedY,X CODE_029FD2: 18 CLC CODE_029FD3: 69 04 ADC.B #$04 CODE_029FD5: 9D 3D 17 STA.W RAM_ExSprSpeedY,X CODE_029FD8: 20 6E A5 JSR.W CODE_02A56E CODE_029FDB: 90 33 BCC CODE_02A010 CODE_029FDD: FE 5B 17 INC.W $175B,X CODE_029FE0: BD 5B 17 LDA.W $175B,X CODE_029FE3: C9 02 CMP.B #$02 CODE_029FE5: B0 5B BCS CODE_02A042 CODE_029FE7: BD 47 17 LDA.W RAM_ExSprSpeedX,X CODE_029FEA: 10 07 BPL CODE_029FF3 CODE_029FEC: A5 0B LDA $0B CODE_029FEE: 49 FF EOR.B #$FF CODE_029FF0: 1A INC A CODE_029FF1: 85 0B STA $0B CODE_029FF3: A5 0B LDA $0B CODE_029FF5: 18 CLC CODE_029FF6: 69 04 ADC.B #$04 CODE_029FF8: A8 TAY CODE_029FF9: B9 99 9F LDA.W DATA_029F99,Y CODE_029FFC: 9D 3D 17 STA.W RAM_ExSprSpeedY,X CODE_029FFF: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A002: 38 SEC CODE_02A003: F9 A2 9F SBC.W DATA_029FA2,Y CODE_02A006: 9D 15 17 STA.W RAM_ExSpriteYLo,X CODE_02A009: B0 03 BCS CODE_02A00E CODE_02A00B: DE 29 17 DEC.W RAM_ExSpriteYHi,X CODE_02A00E: 80 03 BRA CODE_02A013 CODE_02A010: 9E 5B 17 STZ.W $175B,X CODE_02A013: A0 00 LDY.B #$00 CODE_02A015: BD 47 17 LDA.W RAM_ExSprSpeedX,X CODE_02A018: 10 01 BPL CODE_02A01B CODE_02A01A: 88 DEY CODE_02A01B: 18 CLC CODE_02A01C: 7D 1F 17 ADC.W RAM_ExSpriteXLo,X CODE_02A01F: 9D 1F 17 STA.W RAM_ExSpriteXLo,X CODE_02A022: 98 TYA CODE_02A023: 7D 33 17 ADC.W RAM_ExSpriteXHi,X CODE_02A026: 9D 33 17 STA.W RAM_ExSpriteXHi,X CODE_02A029: 20 60 B5 JSR.W CODE_02B560 CODE_02A02C: A5 A5 LDA $A5 CODE_02A02E: C9 A9 CMP.B #$A9 CODE_02A030: F0 09 BEQ CODE_02A03B CODE_02A032: AD 9B 0D LDA.W $0D9B CODE_02A035: 10 04 BPL CODE_02A03B CODE_02A037: 29 40 AND.B #$40 CODE_02A039: D0 14 BNE ADDR_02A04F CODE_02A03B: BC A3 9F LDY.W DATA_029FA3,X CODE_02A03E: 20 A7 A1 JSR.W CODE_02A1A7 Return02A041: 60 RTS ; Return CODE_02A042: 20 2C A0 JSR.W CODE_02A02C CODE_02A045: A9 01 LDA.B #$01 ; \ Play sound effect CODE_02A047: 8D F9 1D STA.W $1DF9 ; / CODE_02A04A: A9 0F LDA.B #$0F CODE_02A04C: 4C E0 A4 JMP.W CODE_02A4E0 ADDR_02A04F: BC A5 9F LDY.W DATA_029FA5,X ADDR_02A052: BD 47 17 LDA.W RAM_ExSprSpeedX,X ADDR_02A055: 29 80 AND.B #$80 ADDR_02A057: 4A LSR ADDR_02A058: 85 00 STA $00 ADDR_02A05A: BD 1F 17 LDA.W RAM_ExSpriteXLo,X ADDR_02A05D: 38 SEC ADDR_02A05E: E5 1A SBC RAM_ScreenBndryXLo ADDR_02A060: C9 F8 CMP.B #$F8 ADDR_02A062: B0 45 BCS ADDR_02A0A9 ADDR_02A064: 99 00 03 STA.W OAM_DispX,Y ADDR_02A067: BD 15 17 LDA.W RAM_ExSpriteYLo,X ADDR_02A06A: 38 SEC ADDR_02A06B: E5 1C SBC RAM_ScreenBndryYLo ADDR_02A06D: C9 F0 CMP.B #$F0 ADDR_02A06F: B0 38 BCS ADDR_02A0A9 ADDR_02A071: 99 01 03 STA.W OAM_DispY,Y ADDR_02A074: BD 79 17 LDA.W $1779,X ADDR_02A077: 85 01 STA $01 ADDR_02A079: BD 65 17 LDA.W $1765,X ADDR_02A07C: 4A LSR ADDR_02A07D: 4A LSR ADDR_02A07E: 29 03 AND.B #$03 ADDR_02A080: AA TAX ADDR_02A081: BD 5B A1 LDA.W FireballTiles,X ADDR_02A084: 99 02 03 STA.W OAM_Tile,Y ADDR_02A087: BD 5F A1 LDA.W DATA_02A15F,X ADDR_02A08A: 45 00 EOR $00 ADDR_02A08C: 05 64 ORA $64 ADDR_02A08E: 99 03 03 STA.W OAM_Prop,Y ADDR_02A091: A6 01 LDX $01 ADDR_02A093: F0 07 BEQ ADDR_02A09C ADDR_02A095: 29 CF AND.B #$CF ADDR_02A097: 09 10 ORA.B #$10 ADDR_02A099: 99 03 03 STA.W OAM_Prop,Y ADDR_02A09C: 98 TYA ADDR_02A09D: 4A LSR ADDR_02A09E: 4A LSR ADDR_02A09F: A8 TAY ADDR_02A0A0: A9 00 LDA.B #$00 ADDR_02A0A2: 99 60 04 STA.W OAM_TileSize,Y ADDR_02A0A5: AE E9 15 LDX.W $15E9 ; X = Sprite index Return02A0A8: 60 RTS ; Return ADDR_02A0A9: 4C 11 A2 JMP.W CODE_02A211 ProcessFireball: 8A TXA ; \ Return every other frame CODE_02A0AD: 45 13 EOR RAM_FrameCounter ; | CODE_02A0AF: 29 03 AND.B #$03 ; | CODE_02A0B1: D0 F5 BNE Return02A0A8 ; / CODE_02A0B3: DA PHX CODE_02A0B4: 9B TXY CODE_02A0B5: 8C 5E 18 STY.W $185E ; $185E = Y = Extended sprite index CODE_02A0B8: A2 09 LDX.B #$09 ; Loop over sprites: FireRtLoopStart: 8E E9 15 STX.W $15E9 CODE_02A0BD: BD C8 14 LDA.W $14C8,X ; \ Skip current sprite if status < 8 CODE_02A0C0: C9 08 CMP.B #$08 ; | CODE_02A0C2: 90 7F BCC FireRtNextSprite ; / CODE_02A0C4: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ Skip current sprite if... CODE_02A0C7: 29 02 AND.B #$02 ; | ...invincible to fire/cape/etc CODE_02A0C9: 1D D0 15 ORA.W $15D0,X ; | ...sprite being eaten... CODE_02A0CC: 1D 32 16 ORA.W RAM_SprBehindScrn,X ; | ...interactions disabled... CODE_02A0CF: 59 79 17 EOR.W $1779,Y CODE_02A0D2: D0 6F BNE FireRtNextSprite ; / CODE_02A0D4: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_02A0D8: 20 47 A5 JSR.W CODE_02A547 CODE_02A0DB: 22 2B B7 03 JSL.L CheckForContact CODE_02A0DF: 90 62 BCC FireRtNextSprite CODE_02A0E1: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; \ if Yoshi fireball... CODE_02A0E4: C9 11 CMP.B #$11 ; | CODE_02A0E6: F0 06 BEQ CODE_02A0EE ; | CODE_02A0E8: DA PHX ; | CODE_02A0E9: BB TYX ; | CODE_02A0EA: 20 45 A0 JSR.W CODE_02A045 ; | ...? CODE_02A0ED: FA PLX ; / CODE_02A0EE: BD 6E 16 LDA.W RAM_Tweaker166E,X ; \ Skip sprite if fire killing is disabled CODE_02A0F1: 29 10 AND.B #$10 ; | CODE_02A0F3: D0 4E BNE FireRtNextSprite ; / CODE_02A0F5: BD 0F 19 LDA.W RAM_Tweaker190F,X ; \ Branch if takes 1 fireball to kill CODE_02A0F8: 29 08 AND.B #$08 ; | CODE_02A0FA: F0 28 BEQ TurnSpriteToCoin ; / CODE_02A0FC: FE 28 15 INC.W $1528,X ; Increase times Chuck hit by fireball CODE_02A0FF: BD 28 15 LDA.W $1528,X ; \ If fire count >= 5, kill Chuck: CODE_02A102: C9 05 CMP.B #$05 ; | CODE_02A104: 90 3D BCC FireRtNextSprite ; | ChuckFireKill: A9 02 LDA.B #$02 ; | Play sound effect CODE_02A108: 8D F9 1D STA.W $1DF9 ; | CODE_02A10B: A9 02 LDA.B #$02 ; | Sprite status = Killed CODE_02A10D: 9D C8 14 STA.W $14C8,X ; | CODE_02A110: A9 D0 LDA.B #$D0 ; | Set death Y speed CODE_02A112: 95 AA STA RAM_SpriteSpeedY,X ; | CODE_02A114: 20 8D 84 JSR.W SubHorzPosBnk2 CODE_02A117: B9 51 A1 LDA.W FireKillSpeedX,Y ; | Set death X speed CODE_02A11A: 95 B6 STA RAM_SpriteSpeedX,X ; | CODE_02A11C: A9 04 LDA.B #$04 ; | Increase points CODE_02A11E: 22 E5 AC 02 JSL.L GivePoints ; | CODE_02A122: 80 1F BRA FireRtNextSprite ; / TurnSpriteToCoin: A9 03 LDA.B #$03 ; \ Turn sprite into coin: CODE_02A126: 8D F9 1D STA.W $1DF9 ; | Play sound effect CODE_02A129: A9 21 LDA.B #$21 ; | Sprite = Moving Coin CODE_02A12B: 95 9E STA RAM_SpriteNum,X ; | CODE_02A12D: A9 08 LDA.B #$08 ; | Sprite status = Normal CODE_02A12F: 9D C8 14 STA.W $14C8,X ; | CODE_02A132: 22 D2 F7 07 JSL.L InitSpriteTables ; | Reset sprite tables CODE_02A136: A9 D0 LDA.B #$D0 ; | Set upward speed CODE_02A138: 95 AA STA RAM_SpriteSpeedY,X ; | CODE_02A13A: 20 8D 84 JSR.W SubHorzPosBnk2 CODE_02A13D: 98 TYA CODE_02A13E: 49 01 EOR.B #$01 CODE_02A140: 9D 7C 15 STA.W RAM_SpriteDir,X ; / FireRtNextSprite: AC 5E 18 LDY.W $185E CODE_02A146: CA DEX CODE_02A147: 30 03 BMI CODE_02A14C CODE_02A149: 4C BA A0 JMP.W FireRtLoopStart CODE_02A14C: FA PLX ; $15E9 = Sprite index CODE_02A14D: 8E E9 15 STX.W $15E9 ; $15E9 = Sprite index Return02A150: 60 RTS ; Return FireKillSpeedX: .db $F0,$10 DATA_02A153: .db $90,$94,$98,$9C,$A0,$A4,$A8,$AC FireballTiles: .db $2C,$2D,$2C,$2D DATA_02A15F: .db $04,$04,$C4,$C4 ReznorFireTiles: .db $26,$2A,$26,$2A DATA_02A167: .db $35,$35,$F5,$F5 ReznorFireball: A5 9D LDA RAM_SpritesLocked CODE_02A16D: D0 09 BNE CODE_02A178 CODE_02A16F: 20 54 B5 JSR.W CODE_02B554 CODE_02A172: 20 60 B5 JSR.W CODE_02B560 CODE_02A175: 20 F6 A3 JSR.W CODE_02A3F6 CODE_02A178: AD 9B 0D LDA.W $0D9B CODE_02A17B: 10 27 BPL CODE_02A1A4 CODE_02A17D: 20 A4 A1 JSR.W CODE_02A1A4 CODE_02A180: BC 53 A1 LDY.W DATA_02A153,X CODE_02A183: A5 14 LDA RAM_FrameCounterB CODE_02A185: 4A LSR CODE_02A186: 4A LSR CODE_02A187: 29 03 AND.B #$03 CODE_02A189: DA PHX CODE_02A18A: AA TAX CODE_02A18B: BD 63 A1 LDA.W ReznorFireTiles,X CODE_02A18E: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02A191: BD 67 A1 LDA.W DATA_02A167,X CODE_02A194: 45 00 EOR $00 CODE_02A196: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02A199: 98 TYA CODE_02A19A: 4A LSR CODE_02A19B: 4A LSR CODE_02A19C: AA TAX CODE_02A19D: A9 02 LDA.B #$02 CODE_02A19F: 9D 20 04 STA.W $0420,X CODE_02A1A2: FA PLX Return02A1A3: 60 RTS ; Return CODE_02A1A4: BC 53 A1 LDY.W DATA_02A153,X CODE_02A1A7: BD 47 17 LDA.W RAM_ExSprSpeedX,X CODE_02A1AA: 29 80 AND.B #$80 CODE_02A1AC: 49 80 EOR.B #$80 CODE_02A1AE: 4A LSR CODE_02A1AF: 85 00 STA $00 CODE_02A1B1: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_02A1B4: 38 SEC CODE_02A1B5: E5 1A SBC RAM_ScreenBndryXLo CODE_02A1B7: 85 01 STA $01 CODE_02A1B9: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_02A1BC: E5 1B SBC RAM_ScreenBndryXHi CODE_02A1BE: D0 51 BNE CODE_02A211 CODE_02A1C0: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A1C3: 38 SEC CODE_02A1C4: E5 1C SBC RAM_ScreenBndryYLo CODE_02A1C6: 85 02 STA $02 CODE_02A1C8: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_02A1CB: E5 1D SBC RAM_ScreenBndryYHi CODE_02A1CD: D0 42 BNE CODE_02A211 CODE_02A1CF: A5 02 LDA $02 CODE_02A1D1: C9 F0 CMP.B #$F0 CODE_02A1D3: B0 3C BCS CODE_02A211 CODE_02A1D5: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02A1D8: A5 01 LDA $01 CODE_02A1DA: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_02A1DD: BD 79 17 LDA.W $1779,X CODE_02A1E0: 85 01 STA $01 CODE_02A1E2: A5 14 LDA RAM_FrameCounterB CODE_02A1E4: 4A LSR CODE_02A1E5: 4A LSR CODE_02A1E6: 29 03 AND.B #$03 CODE_02A1E8: AA TAX CODE_02A1E9: BD 5B A1 LDA.W FireballTiles,X CODE_02A1EC: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02A1EF: BD 5F A1 LDA.W DATA_02A15F,X CODE_02A1F2: 45 00 EOR $00 CODE_02A1F4: 05 64 ORA $64 CODE_02A1F6: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02A1F9: A6 01 LDX $01 CODE_02A1FB: F0 07 BEQ CODE_02A204 ADDR_02A1FD: 29 CF AND.B #$CF ADDR_02A1FF: 09 10 ORA.B #$10 ADDR_02A201: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02A204: 98 TYA CODE_02A205: 4A LSR CODE_02A206: 4A LSR CODE_02A207: A8 TAY CODE_02A208: A9 00 LDA.B #$00 CODE_02A20A: 99 20 04 STA.W $0420,Y CODE_02A20D: AE E9 15 LDX.W $15E9 ; X = Sprite index Return02A210: 60 RTS ; Return CODE_02A211: A9 00 LDA.B #$00 ; \ Clear extended sprite CODE_02A213: 9D 0B 17 STA.W RAM_ExSpriteNum,X ; / Return02A216: 60 RTS ; Return SmallFlameTiles: .db $AC,$AD FlameRemnant: A5 9D LDA RAM_SpritesLocked CODE_02A21B: D0 12 BNE CODE_02A22F CODE_02A21D: FE 65 17 INC.W $1765,X CODE_02A220: BD 6F 17 LDA.W $176F,X CODE_02A223: F0 EC BEQ CODE_02A211 CODE_02A225: C9 50 CMP.B #$50 CODE_02A227: B0 06 BCS CODE_02A22F CODE_02A229: 29 01 AND.B #$01 CODE_02A22B: D0 26 BNE Return02A253 CODE_02A22D: F0 03 BEQ CODE_02A232 CODE_02A22F: 20 F6 A3 JSR.W CODE_02A3F6 CODE_02A232: 20 A4 A1 JSR.W CODE_02A1A4 CODE_02A235: BC 53 A1 LDY.W DATA_02A153,X CODE_02A238: BD 65 17 LDA.W $1765,X CODE_02A23B: 4A LSR CODE_02A23C: 4A LSR CODE_02A23D: 29 01 AND.B #$01 CODE_02A23F: AA TAX CODE_02A240: BD 17 A2 LDA.W SmallFlameTiles,X CODE_02A243: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02A246: B9 03 02 LDA.W OAM_ExtendedProp,Y CODE_02A249: 29 3F AND.B #$3F CODE_02A24B: 09 05 ORA.B #$05 CODE_02A24D: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02A250: AE E9 15 LDX.W $15E9 ; X = Sprite index Return02A253: 60 RTS ; Return Baseball: A5 9D LDA RAM_SpritesLocked CODE_02A256: D0 12 BNE CODE_02A26A CODE_02A258: 20 54 B5 JSR.W CODE_02B554 CODE_02A25B: FE 65 17 INC.W $1765,X CODE_02A25E: A5 13 LDA RAM_FrameCounter CODE_02A260: 29 01 AND.B #$01 CODE_02A262: D0 03 BNE CODE_02A267 CODE_02A264: FE 65 17 INC.W $1765,X CODE_02A267: 20 F6 A3 JSR.W CODE_02A3F6 CODE_02A26A: BD 0B 17 LDA.W RAM_ExSpriteNum,X CODE_02A26D: C9 0D CMP.B #$0D CODE_02A26F: D0 52 BNE CODE_02A2C3 CODE_02A271: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_02A274: 38 SEC CODE_02A275: E5 1A SBC RAM_ScreenBndryXLo CODE_02A277: 85 00 STA $00 CODE_02A279: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_02A27C: E5 1B SBC RAM_ScreenBndryXHi CODE_02A27E: F0 07 BEQ CODE_02A287 CODE_02A280: 5D 47 17 EOR.W RAM_ExSprSpeedX,X CODE_02A283: 10 3A BPL CODE_02A2BF CODE_02A285: 30 37 BMI Return02A2BE CODE_02A287: BC 53 A1 LDY.W DATA_02A153,X CODE_02A28A: A5 00 LDA $00 CODE_02A28C: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_02A28F: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A292: 38 SEC CODE_02A293: E5 1C SBC RAM_ScreenBndryYLo CODE_02A295: 85 01 STA $01 CODE_02A297: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_02A29A: E5 1D SBC RAM_ScreenBndryYHi CODE_02A29C: D0 21 BNE CODE_02A2BF CODE_02A29E: A5 01 LDA $01 CODE_02A2A0: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02A2A3: A9 AD LDA.B #$AD CODE_02A2A5: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02A2A8: A5 14 LDA RAM_FrameCounterB CODE_02A2AA: 0A ASL CODE_02A2AB: 0A ASL CODE_02A2AC: 0A ASL CODE_02A2AD: 0A ASL CODE_02A2AE: 29 C0 AND.B #$C0 CODE_02A2B0: 09 39 ORA.B #$39 CODE_02A2B2: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02A2B5: 98 TYA CODE_02A2B6: 4A LSR CODE_02A2B7: 4A LSR CODE_02A2B8: A8 TAY CODE_02A2B9: A9 00 LDA.B #$00 CODE_02A2BB: 99 20 04 STA.W $0420,Y Return02A2BE: 60 RTS ; Return CODE_02A2BF: 9E 0B 17 STZ.W RAM_ExSpriteNum,X ; Clear extended sprite Return02A2C2: 60 RTS ; Return CODE_02A2C3: 20 17 A3 JSR.W CODE_02A317 CODE_02A2C6: B9 02 02 LDA.W OAM_ExtendedTile,Y CODE_02A2C9: C9 26 CMP.B #$26 CODE_02A2CB: A9 80 LDA.B #$80 CODE_02A2CD: B0 02 BCS CODE_02A2D1 CODE_02A2CF: A9 82 LDA.B #$82 CODE_02A2D1: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02A2D4: B9 03 02 LDA.W OAM_ExtendedProp,Y CODE_02A2D7: 29 F1 AND.B #$F1 CODE_02A2D9: 09 02 ORA.B #$02 CODE_02A2DB: 99 03 02 STA.W OAM_ExtendedProp,Y Return02A2DE: 60 RTS ; Return HammerTiles: .db $08,$6D,$6D,$08,$08,$6D,$6D,$08 HammerGfxProp: .db $47,$47,$07,$07,$87,$87,$C7,$C7 Hammer: A5 9D LDA RAM_SpritesLocked CODE_02A2F1: D0 19 BNE CODE_02A30C CODE_02A2F3: 20 54 B5 JSR.W CODE_02B554 CODE_02A2F6: 20 60 B5 JSR.W CODE_02B560 CODE_02A2F9: BD 3D 17 LDA.W RAM_ExSprSpeedY,X CODE_02A2FC: C9 40 CMP.B #$40 CODE_02A2FE: 10 06 BPL CODE_02A306 CODE_02A300: FE 3D 17 INC.W RAM_ExSprSpeedY,X CODE_02A303: FE 3D 17 INC.W RAM_ExSprSpeedY,X CODE_02A306: 20 F6 A3 JSR.W CODE_02A3F6 CODE_02A309: FE 65 17 INC.W $1765,X CODE_02A30C: BD 0B 17 LDA.W RAM_ExSpriteNum,X CODE_02A30F: C9 0B CMP.B #$0B CODE_02A311: D0 04 BNE CODE_02A317 CODE_02A313: 20 78 A1 JSR.W CODE_02A178 Return02A316: 60 RTS ; Return CODE_02A317: 20 A4 A1 JSR.W CODE_02A1A4 CODE_02A31A: BC 53 A1 LDY.W DATA_02A153,X CODE_02A31D: BD 65 17 LDA.W $1765,X CODE_02A320: 4A LSR CODE_02A321: 4A LSR CODE_02A322: 4A LSR CODE_02A323: 29 07 AND.B #$07 CODE_02A325: DA PHX CODE_02A326: AA TAX CODE_02A327: BD DF A2 LDA.W HammerTiles,X CODE_02A32A: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02A32D: BD E7 A2 LDA.W HammerGfxProp,X CODE_02A330: 45 00 EOR $00 CODE_02A332: 49 40 EOR.B #$40 CODE_02A334: 05 64 ORA $64 CODE_02A336: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02A339: 98 TYA CODE_02A33A: 4A LSR CODE_02A33B: 4A LSR CODE_02A33C: AA TAX CODE_02A33D: A9 02 LDA.B #$02 CODE_02A33F: 9D 20 04 STA.W $0420,X CODE_02A342: FA PLX Return02A343: 60 RTS ; Return CODE_02A344: 4C 11 A2 JMP.W CODE_02A211 DustCloudTiles: .db $66,$64,$60,$62 DATA_02A34B: .db $00,$40,$C0,$80 SmokePuff: BD 6F 17 LDA.W $176F,X CODE_02A352: F0 F0 BEQ CODE_02A344 CODE_02A354: AD 0F 14 LDA.W $140F CODE_02A357: D0 09 BNE CODE_02A362 CODE_02A359: AD 9B 0D LDA.W $0D9B CODE_02A35C: 10 04 BPL CODE_02A362 CODE_02A35E: 29 40 AND.B #$40 CODE_02A360: D0 4F BNE ADDR_02A3B1 CODE_02A362: BC 53 A1 LDY.W DATA_02A153,X CODE_02A365: E0 08 CPX.B #$08 CODE_02A367: 90 03 BCC CODE_02A36C CODE_02A369: BC A3 9F LDY.W DATA_029FA3,X CODE_02A36C: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_02A36F: 38 SEC CODE_02A370: E5 1A SBC RAM_ScreenBndryXLo CODE_02A372: C9 F8 CMP.B #$F8 CODE_02A374: B0 38 BCS CODE_02A3AE CODE_02A376: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_02A379: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A37C: 38 SEC CODE_02A37D: E5 1C SBC RAM_ScreenBndryYLo CODE_02A37F: C9 F0 CMP.B #$F0 CODE_02A381: B0 2B BCS CODE_02A3AE CODE_02A383: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02A386: BD 6F 17 LDA.W $176F,X CODE_02A389: 4A LSR CODE_02A38A: 4A LSR CODE_02A38B: AA TAX CODE_02A38C: BD 47 A3 LDA.W DustCloudTiles,X CODE_02A38F: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02A392: A5 14 LDA RAM_FrameCounterB CODE_02A394: 4A LSR CODE_02A395: 4A LSR CODE_02A396: 29 03 AND.B #$03 CODE_02A398: AA TAX CODE_02A399: BD 4B A3 LDA.W DATA_02A34B,X CODE_02A39C: 05 64 ORA $64 CODE_02A39E: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02A3A1: 98 TYA CODE_02A3A2: 4A LSR CODE_02A3A3: 4A LSR CODE_02A3A4: A8 TAY CODE_02A3A5: A9 02 LDA.B #$02 CODE_02A3A7: 99 20 04 STA.W $0420,Y CODE_02A3AA: AE E9 15 LDX.W $15E9 ; X = Sprite index Return02A3AD: 60 RTS ; Return CODE_02A3AE: 4C 11 A2 JMP.W CODE_02A211 ADDR_02A3B1: BC A5 9F LDY.W DATA_029FA5,X ADDR_02A3B4: BD 1F 17 LDA.W RAM_ExSpriteXLo,X ADDR_02A3B7: 38 SEC ADDR_02A3B8: E5 1A SBC RAM_ScreenBndryXLo ADDR_02A3BA: C9 F8 CMP.B #$F8 ADDR_02A3BC: B0 F0 BCS CODE_02A3AE ADDR_02A3BE: 99 00 03 STA.W OAM_DispX,Y ADDR_02A3C1: BD 15 17 LDA.W RAM_ExSpriteYLo,X ADDR_02A3C4: 38 SEC ADDR_02A3C5: E5 1C SBC RAM_ScreenBndryYLo ADDR_02A3C7: C9 F0 CMP.B #$F0 ADDR_02A3C9: B0 E3 BCS CODE_02A3AE ADDR_02A3CB: 99 01 03 STA.W OAM_DispY,Y ADDR_02A3CE: BD 6F 17 LDA.W $176F,X ADDR_02A3D1: 4A LSR ADDR_02A3D2: 4A LSR ADDR_02A3D3: AA TAX ADDR_02A3D4: BD 47 A3 LDA.W DustCloudTiles,X ADDR_02A3D7: 99 02 03 STA.W OAM_Tile,Y ADDR_02A3DA: A5 14 LDA RAM_FrameCounterB ADDR_02A3DC: 4A LSR ADDR_02A3DD: 4A LSR ADDR_02A3DE: 29 03 AND.B #$03 ADDR_02A3E0: AA TAX ADDR_02A3E1: BD 4B A3 LDA.W DATA_02A34B,X ADDR_02A3E4: 05 64 ORA $64 ADDR_02A3E6: 99 03 03 STA.W OAM_Prop,Y ADDR_02A3E9: AE E9 15 LDX.W $15E9 ; X = Sprite index ADDR_02A3EC: 98 TYA ADDR_02A3ED: 4A LSR ADDR_02A3EE: 4A LSR ADDR_02A3EF: A8 TAY ADDR_02A3F0: A9 02 LDA.B #$02 ADDR_02A3F2: 99 60 04 STA.W OAM_TileSize,Y Return02A3F5: 60 RTS ; Return CODE_02A3F6: AD F9 13 LDA.W RAM_IsBehindScenery CODE_02A3F9: 5D 79 17 EOR.W $1779,X CODE_02A3FC: D0 6A BNE Return02A468 CODE_02A3FE: 22 64 B6 03 JSL.L GetMarioClipping CODE_02A402: 20 19 A5 JSR.W CODE_02A519 CODE_02A405: 22 2B B7 03 JSL.L CheckForContact CODE_02A409: 90 5D BCC Return02A468 CODE_02A40B: BD 0B 17 LDA.W RAM_ExSpriteNum,X CODE_02A40E: C9 0A CMP.B #$0A CODE_02A410: D0 57 BNE CODE_02A469 ADDR_02A412: 22 4A B3 05 JSL.L CODE_05B34A ADDR_02A416: EE E3 18 INC.W $18E3 ADDR_02A419: 9E 0B 17 STZ.W RAM_ExSpriteNum,X ; Clear extended sprite ADDR_02A41C: A0 03 LDY.B #$03 ADDR_02A41E: B9 C0 17 LDA.W $17C0,Y ADDR_02A421: F0 04 BEQ ADDR_02A427 ADDR_02A423: 88 DEY ADDR_02A424: 10 F8 BPL ADDR_02A41E ADDR_02A426: C8 INY ADDR_02A427: A9 05 LDA.B #$05 ADDR_02A429: 99 C0 17 STA.W $17C0,Y ADDR_02A42C: BD 1F 17 LDA.W RAM_ExSpriteXLo,X ADDR_02A42F: 99 C8 17 STA.W $17C8,Y ADDR_02A432: BD 15 17 LDA.W RAM_ExSpriteYLo,X ADDR_02A435: 99 C4 17 STA.W $17C4,Y ADDR_02A438: A9 0A LDA.B #$0A ADDR_02A43A: 99 CC 17 STA.W $17CC,Y ADDR_02A43D: 22 34 AD 02 JSL.L CODE_02AD34 ADDR_02A441: A9 05 LDA.B #$05 ADDR_02A443: 99 E1 16 STA.W RAM_ScoreSprNum,Y ADDR_02A446: BD 15 17 LDA.W RAM_ExSpriteYLo,X ADDR_02A449: 99 E7 16 STA.W RAM_ScoreSprYLo,Y ADDR_02A44C: BD 29 17 LDA.W RAM_ExSpriteYHi,X ADDR_02A44F: 99 F9 16 STA.W RAM_ScoreSprYHi,Y ADDR_02A452: BD 1F 17 LDA.W RAM_ExSpriteXLo,X ADDR_02A455: 99 ED 16 STA.W RAM_ScoreSprXLo,Y ADDR_02A458: BD 33 17 LDA.W RAM_ExSpriteXHi,X ADDR_02A45B: 99 F3 16 STA.W RAM_ScoreSprXHi,Y ADDR_02A45E: A9 30 LDA.B #$30 ADDR_02A460: 99 FF 16 STA.W RAM_ScoreSprSpeedY,Y ADDR_02A463: A9 00 LDA.B #$00 ADDR_02A465: 99 05 17 STA.W $1705,Y Return02A468: 60 RTS ; Return CODE_02A469: AD 90 14 LDA.W $1490 ; \ Branch if Mario has star CODE_02A46C: D0 47 BNE CODE_02A4B5 ; / CODE_02A46E: AD 7A 18 LDA.W RAM_OnYoshi CODE_02A471: F0 3B BEQ CODE_02A4AE CODE_02A473: DA PHX CODE_02A474: AE DF 18 LDX.W $18DF CODE_02A477: A9 10 LDA.B #$10 CODE_02A479: 9D 3D 16 STA.W $163D,X CODE_02A47C: A9 03 LDA.B #$03 ; \ Play sound effect CODE_02A47E: 8D FA 1D STA.W $1DFA ; / CODE_02A481: A9 13 LDA.B #$13 ; \ Play sound effect CODE_02A483: 8D FC 1D STA.W $1DFC ; / CODE_02A486: A9 02 LDA.B #$02 CODE_02A488: 95 C1 STA $C1,X CODE_02A48A: 9C 7A 18 STZ.W RAM_OnYoshi CODE_02A48D: 9C C1 0D STZ.W RAM_OWHasYoshi CODE_02A490: A9 C0 LDA.B #$C0 CODE_02A492: 85 7D STA RAM_MarioSpeedY CODE_02A494: 64 7B STZ RAM_MarioSpeedX CODE_02A496: BC 7B 15 LDY.W $157B,X CODE_02A499: B9 B3 A4 LDA.W DATA_02A4B3,Y CODE_02A49C: 95 B5 STA $B5,X CODE_02A49E: 9E 93 15 STZ.W $1593,X CODE_02A4A1: 9E 1B 15 STZ.W $151B,X CODE_02A4A4: 9C AE 18 STZ.W $18AE CODE_02A4A7: A9 30 LDA.B #$30 CODE_02A4A9: 8D 97 14 STA.W $1497 CODE_02A4AC: FA PLX Return02A4AD: 60 RTS ; Return CODE_02A4AE: 22 B7 F5 00 JSL.L HurtMario Return02A4B2: 60 RTS ; Return DATA_02A4B3: .db $10,$F0 CODE_02A4B5: BD 0B 17 LDA.W RAM_ExSpriteNum,X CODE_02A4B8: C9 04 CMP.B #$04 CODE_02A4BA: F0 22 BEQ CODE_02A4DE CODE_02A4BC: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_02A4BF: 38 SEC CODE_02A4C0: E9 04 SBC.B #$04 CODE_02A4C2: 9D 1F 17 STA.W RAM_ExSpriteXLo,X CODE_02A4C5: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_02A4C8: E9 00 SBC.B #$00 CODE_02A4CA: 9D 33 17 STA.W RAM_ExSpriteXHi,X CODE_02A4CD: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A4D0: 38 SEC CODE_02A4D1: E9 04 SBC.B #$04 CODE_02A4D3: 9D 15 17 STA.W RAM_ExSpriteYLo,X CODE_02A4D6: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_02A4D9: E9 00 SBC.B #$00 CODE_02A4DB: 9D 29 17 STA.W RAM_ExSpriteYHi,X CODE_02A4DE: A9 07 LDA.B #$07 CODE_02A4E0: 9D 6F 17 STA.W $176F,X CODE_02A4E3: A9 01 LDA.B #$01 Instr02A4E5: STA.W $170B,x Return02A4E8: 60 RTS ; Return DATA_02A4E9: .db $03,$03,$04,$03,$04,$00,$00,$00 .db $04,$03 DATA_02A4F3: .db $03,$03,$03,$03,$04,$03,$04,$00 .db $00,$00,$02,$03 DATA_02A4FF: .db $03,$03,$01,$01,$08,$01,$08,$00 .db $00,$0F,$08,$01 DATA_02A50B: .db $01,$01,$01,$01,$08,$01,$08,$00 .db $00,$0F,$0C,$01,$01,$01 CODE_02A519: BC 0B 17 LDY.W RAM_ExSpriteNum,X CODE_02A51C: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_02A51F: 18 CLC CODE_02A520: 79 E7 A4 ADC.W ADDR_02A4E7,Y CODE_02A523: 85 04 STA $04 CODE_02A525: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_02A528: 69 00 ADC.B #$00 CODE_02A52A: 85 0A STA $0A CODE_02A52C: B9 FF A4 LDA.W DATA_02A4FF,Y CODE_02A52F: 85 06 STA $06 CODE_02A531: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A534: 18 CLC CODE_02A535: 79 F3 A4 ADC.W DATA_02A4F3,Y CODE_02A538: 85 05 STA $05 CODE_02A53A: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_02A53D: 69 00 ADC.B #$00 CODE_02A53F: 85 0B STA $0B CODE_02A541: B9 0B A5 LDA.W DATA_02A50B,Y CODE_02A544: 85 07 STA $07 Return02A546: 60 RTS ; Return CODE_02A547: B9 1F 17 LDA.W RAM_ExSpriteXLo,Y CODE_02A54A: 38 SEC CODE_02A54B: E9 02 SBC.B #$02 CODE_02A54D: 85 00 STA $00 CODE_02A54F: B9 33 17 LDA.W RAM_ExSpriteXHi,Y CODE_02A552: E9 00 SBC.B #$00 CODE_02A554: 85 08 STA $08 CODE_02A556: A9 0C LDA.B #$0C CODE_02A558: 85 02 STA $02 CODE_02A55A: B9 15 17 LDA.W RAM_ExSpriteYLo,Y CODE_02A55D: 38 SEC CODE_02A55E: E9 04 SBC.B #$04 CODE_02A560: 85 01 STA $01 CODE_02A562: B9 29 17 LDA.W RAM_ExSpriteYHi,Y CODE_02A565: E9 00 SBC.B #$00 CODE_02A567: 85 09 STA $09 CODE_02A569: A9 13 LDA.B #$13 CODE_02A56B: 85 03 STA $03 Return02A56D: 60 RTS ; Return CODE_02A56E: 64 0F STZ $0F CODE_02A570: 64 0E STZ $0E CODE_02A572: 64 0B STZ $0B CODE_02A574: 9C 94 16 STZ.W $1694 CODE_02A577: AD 0F 14 LDA.W $140F CODE_02A57A: D0 40 BNE CODE_02A5BC CODE_02A57C: AD 9B 0D LDA.W $0D9B CODE_02A57F: 10 3B BPL CODE_02A5BC CODE_02A581: 29 40 AND.B #$40 CODE_02A583: F0 0D BEQ CODE_02A592 ADDR_02A585: AD 9B 0D LDA.W $0D9B ADDR_02A588: C9 C1 CMP.B #$C1 ADDR_02A58A: F0 30 BEQ CODE_02A5BC ADDR_02A58C: BD 15 17 LDA.W RAM_ExSpriteYLo,X ADDR_02A58F: C9 A8 CMP.B #$A8 Return02A591: 60 RTS ; Return CODE_02A592: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_02A595: 18 CLC CODE_02A596: 69 04 ADC.B #$04 CODE_02A598: 8D B4 14 STA.W $14B4 CODE_02A59B: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_02A59E: 69 00 ADC.B #$00 CODE_02A5A0: 8D B5 14 STA.W $14B5 CODE_02A5A3: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A5A6: 18 CLC CODE_02A5A7: 69 08 ADC.B #$08 CODE_02A5A9: 8D B6 14 STA.W $14B6 CODE_02A5AC: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_02A5AF: 69 00 ADC.B #$00 CODE_02A5B1: 8D B7 14 STA.W $14B7 CODE_02A5B4: 22 9D CC 01 JSL.L CODE_01CC9D CODE_02A5B8: AE E9 15 LDX.W $15E9 ; X = Sprite index Return02A5BB: 60 RTS ; Return CODE_02A5BC: 20 11 A6 JSR.W CODE_02A611 CODE_02A5BF: 26 0E ROL $0E CODE_02A5C1: AD 93 16 LDA.W $1693 CODE_02A5C4: 85 0C STA $0C CODE_02A5C6: A5 5B LDA RAM_IsVerticalLvl CODE_02A5C8: 10 42 BPL CODE_02A60C CODE_02A5CA: E6 0F INC $0F CODE_02A5CC: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_02A5CF: 48 PHA CODE_02A5D0: 18 CLC CODE_02A5D1: 65 26 ADC $26 CODE_02A5D3: 9D 1F 17 STA.W RAM_ExSpriteXLo,X CODE_02A5D6: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_02A5D9: 48 PHA CODE_02A5DA: 65 27 ADC $27 CODE_02A5DC: 9D 33 17 STA.W RAM_ExSpriteXHi,X CODE_02A5DF: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A5E2: 48 PHA CODE_02A5E3: 18 CLC CODE_02A5E4: 65 28 ADC $28 CODE_02A5E6: 9D 15 17 STA.W RAM_ExSpriteYLo,X CODE_02A5E9: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_02A5EC: 48 PHA CODE_02A5ED: 65 29 ADC $29 CODE_02A5EF: 9D 29 17 STA.W RAM_ExSpriteYHi,X CODE_02A5F2: 20 11 A6 JSR.W CODE_02A611 CODE_02A5F5: 26 0E ROL $0E CODE_02A5F7: AD 93 16 LDA.W $1693 CODE_02A5FA: 85 0D STA $0D CODE_02A5FC: 68 PLA CODE_02A5FD: 9D 29 17 STA.W RAM_ExSpriteYHi,X CODE_02A600: 68 PLA CODE_02A601: 9D 15 17 STA.W RAM_ExSpriteYLo,X CODE_02A604: 68 PLA CODE_02A605: 9D 33 17 STA.W RAM_ExSpriteXHi,X CODE_02A608: 68 PLA CODE_02A609: 9D 1F 17 STA.W RAM_ExSpriteXLo,X CODE_02A60C: A5 0E LDA $0E CODE_02A60E: C9 01 CMP.B #$01 Return02A610: 60 RTS ; Return CODE_02A611: A5 0F LDA $0F CODE_02A613: 1A INC A CODE_02A614: 25 5B AND RAM_IsVerticalLvl CODE_02A616: F0 61 BEQ CODE_02A679 CODE_02A618: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A61B: 18 CLC CODE_02A61C: 69 08 ADC.B #$08 CODE_02A61E: 85 98 STA RAM_BlockXLo CODE_02A620: 29 F0 AND.B #$F0 CODE_02A622: 85 00 STA $00 CODE_02A624: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_02A627: 69 00 ADC.B #$00 CODE_02A629: C5 5D CMP RAM_ScreensInLvl CODE_02A62B: B0 4A BCS CODE_02A677 CODE_02A62D: 85 03 STA $03 CODE_02A62F: 85 99 STA RAM_BlockXHi CODE_02A631: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_02A634: 18 CLC CODE_02A635: 69 04 ADC.B #$04 CODE_02A637: 85 01 STA $01 CODE_02A639: 85 9A STA RAM_BlockYLo CODE_02A63B: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_02A63E: 69 00 ADC.B #$00 CODE_02A640: C9 02 CMP.B #$02 CODE_02A642: B0 33 BCS CODE_02A677 CODE_02A644: 85 02 STA $02 CODE_02A646: 85 9B STA RAM_BlockYHi CODE_02A648: A5 01 LDA $01 CODE_02A64A: 4A LSR CODE_02A64B: 4A LSR CODE_02A64C: 4A LSR CODE_02A64D: 4A LSR CODE_02A64E: 05 00 ORA $00 CODE_02A650: 85 00 STA $00 CODE_02A652: A6 03 LDX $03 CODE_02A654: BF 80 BA 00 LDA.L DATA_00BA80,X CODE_02A658: A4 0F LDY $0F CODE_02A65A: F0 04 BEQ CODE_02A660 CODE_02A65C: BF 8E BA 00 LDA.L DATA_00BA8E,X CODE_02A660: 18 CLC CODE_02A661: 65 00 ADC $00 CODE_02A663: 85 05 STA $05 CODE_02A665: BF BC BA 00 LDA.L DATA_00BABC,X CODE_02A669: A4 0F LDY $0F CODE_02A66B: F0 04 BEQ CODE_02A671 CODE_02A66D: BF CA BA 00 LDA.L DATA_00BACA,X CODE_02A671: 65 02 ADC $02 CODE_02A673: 85 06 STA $06 CODE_02A675: 80 64 BRA CODE_02A6DB CODE_02A677: 18 CLC Return02A678: 60 RTS ; Return CODE_02A679: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A67C: 18 CLC CODE_02A67D: 69 08 ADC.B #$08 CODE_02A67F: 85 98 STA RAM_BlockXLo CODE_02A681: 29 F0 AND.B #$F0 CODE_02A683: 85 00 STA $00 CODE_02A685: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_02A688: 69 00 ADC.B #$00 CODE_02A68A: 85 02 STA $02 CODE_02A68C: 85 99 STA RAM_BlockXHi CODE_02A68E: A5 00 LDA $00 CODE_02A690: 38 SEC CODE_02A691: E5 1C SBC RAM_ScreenBndryYLo CODE_02A693: C9 F0 CMP.B #$F0 CODE_02A695: B0 E0 BCS CODE_02A677 CODE_02A697: BD 1F 17 LDA.W RAM_ExSpriteXLo,X CODE_02A69A: 18 CLC CODE_02A69B: 69 04 ADC.B #$04 CODE_02A69D: 85 01 STA $01 CODE_02A69F: 85 9A STA RAM_BlockYLo CODE_02A6A1: BD 33 17 LDA.W RAM_ExSpriteXHi,X CODE_02A6A4: 69 00 ADC.B #$00 CODE_02A6A6: C5 5D CMP RAM_ScreensInLvl CODE_02A6A8: B0 CD BCS CODE_02A677 CODE_02A6AA: 85 03 STA $03 CODE_02A6AC: 85 9B STA RAM_BlockYHi CODE_02A6AE: A5 01 LDA $01 CODE_02A6B0: 4A LSR CODE_02A6B1: 4A LSR CODE_02A6B2: 4A LSR CODE_02A6B3: 4A LSR CODE_02A6B4: 05 00 ORA $00 CODE_02A6B6: 85 00 STA $00 CODE_02A6B8: A6 03 LDX $03 CODE_02A6BA: BF 60 BA 00 LDA.L DATA_00BA60,X CODE_02A6BE: A4 0F LDY $0F CODE_02A6C0: F0 04 BEQ CODE_02A6C6 CODE_02A6C2: BF 70 BA 00 LDA.L DATA_00BA70,X CODE_02A6C6: 18 CLC CODE_02A6C7: 65 00 ADC $00 CODE_02A6C9: 85 05 STA $05 CODE_02A6CB: BF 9C BA 00 LDA.L DATA_00BA9C,X CODE_02A6CF: A4 0F LDY $0F CODE_02A6D1: F0 04 BEQ CODE_02A6D7 CODE_02A6D3: BF AC BA 00 LDA.L DATA_00BAAC,X CODE_02A6D7: 65 02 ADC $02 CODE_02A6D9: 85 06 STA $06 CODE_02A6DB: A9 7E LDA.B #$7E CODE_02A6DD: 85 07 STA $07 CODE_02A6DF: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02A6E2: A7 05 LDA [$05] CODE_02A6E4: 8D 93 16 STA.W $1693 CODE_02A6E7: E6 07 INC $07 CODE_02A6E9: A7 05 LDA [$05] CODE_02A6EB: 22 45 F5 00 JSL.L CODE_00F545 CODE_02A6EF: C9 00 CMP.B #$00 CODE_02A6F1: F0 36 BEQ CODE_02A729 CODE_02A6F3: AD 93 16 LDA.W $1693 CODE_02A6F6: C9 11 CMP.B #$11 CODE_02A6F8: 90 31 BCC CODE_02A72B CODE_02A6FA: C9 6E CMP.B #$6E CODE_02A6FC: 90 29 BCC CODE_02A727 CODE_02A6FE: C9 D8 CMP.B #$D8 CODE_02A700: B0 33 BCS CODE_02A735 CODE_02A702: A4 9A LDY RAM_BlockYLo CODE_02A704: 84 0A STY $0A CODE_02A706: A4 98 LDY RAM_BlockXLo CODE_02A708: 84 0C STY $0C CODE_02A70A: 22 19 FA 00 JSL.L CODE_00FA19 CODE_02A70E: A5 00 LDA $00 CODE_02A710: C9 0C CMP.B #$0C CODE_02A712: B0 04 BCS CODE_02A718 CODE_02A714: D7 05 CMP [$05],Y CODE_02A716: 90 11 BCC CODE_02A729 CODE_02A718: B7 05 LDA [$05],Y CODE_02A71A: 8D 94 16 STA.W $1694 CODE_02A71D: DA PHX CODE_02A71E: A6 08 LDX $08 CODE_02A720: BF 3D E5 00 LDA.L DATA_00E53D,X CODE_02A724: FA PLX CODE_02A725: 85 0B STA $0B CODE_02A727: 38 SEC Return02A728: 60 RTS ; Return CODE_02A729: 18 CLC Return02A72A: 60 RTS ; Return CODE_02A72B: A5 98 LDA RAM_BlockXLo CODE_02A72D: 29 0F AND.B #$0F CODE_02A72F: C9 06 CMP.B #$06 CODE_02A731: B0 F6 BCS CODE_02A729 CODE_02A733: 38 SEC Return02A734: 60 RTS ; Return CODE_02A735: A5 98 LDA RAM_BlockXLo CODE_02A737: 29 0F AND.B #$0F CODE_02A739: C9 06 CMP.B #$06 CODE_02A73B: B0 EC BCS CODE_02A729 CODE_02A73D: BD 15 17 LDA.W RAM_ExSpriteYLo,X CODE_02A740: 38 SEC CODE_02A741: E9 02 SBC.B #$02 CODE_02A743: 9D 15 17 STA.W RAM_ExSpriteYLo,X CODE_02A746: BD 29 17 LDA.W RAM_ExSpriteYHi,X CODE_02A749: E9 00 SBC.B #$00 CODE_02A74B: 9D 29 17 STA.W RAM_ExSpriteYHi,X CODE_02A74E: 4C 11 A6 JMP.W CODE_02A611 CODE_02A751: 8B PHB CODE_02A752: 4B PHK CODE_02A753: AB PLB CODE_02A754: 20 F2 AB JSR.W CODE_02ABF2 CODE_02A757: 20 5C AC JSR.W CODE_02AC5C CODE_02A75A: AD 9B 0D LDA.W $0D9B CODE_02A75D: 30 04 BMI CODE_02A763 CODE_02A75F: 22 8C 80 01 JSL.L CODE_01808C CODE_02A763: AD C1 0D LDA.W RAM_OWHasYoshi CODE_02A766: F0 09 BEQ CODE_02A771 CODE_02A768: AD 9B 1B LDA.W $1B9B CODE_02A76B: D0 04 BNE CODE_02A771 CODE_02A76D: 22 7A FC 00 JSL.L CODE_00FC7A CODE_02A771: AB PLB Return02A772: 6B RTL ; Return SpriteSlotMax: .db $09,$05,$07,$07,$07,$06,$07,$06 .db $06,$09,$08,$04,$07,$07,$07,$08 .db $09,$05,$05 SpriteSlotMax1: .db $09,$07,$07,$01,$00,$01,$07,$06 .db $06,$00,$02,$00,$07,$01,$07,$08 .db $09,$07,$05 SpriteSlotMax2: .db $09,$07,$07,$01,$00,$06,$07,$06 .db $06,$00,$02,$00,$07,$01,$07,$08 .db $09,$07,$05 SpriteSlotStart: .db $FF,$FF,$00,$01,$00,$01,$FF,$01 .db $FF,$00,$FF,$00,$FF,$01,$FF,$FF .db $FF,$FF,$FF SpriteSlotStart1: .db $FF,$05,$FF,$FF,$FF,$FF,$FF,$01 .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$05,$FF ReservedSprite1: .db $FF,$5F,$54,$5E,$60,$28,$88,$FF .db $FF,$C5,$86,$28,$FF,$90,$FF,$FF .db $FF,$AE ReservedSprite2: .db $FF,$64,$FF,$FF,$9F,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$9F,$FF,$FF .db $FF,$FF DATA_02A7F6: .db $D0,$00,$20 DATA_02A7F9: .db $FF,$00,$01 LoadSprFromLevel: A5 13 LDA RAM_FrameCounter ; \ Return every other frame CODE_02A7FE: 29 01 AND.B #$01 ; | CODE_02A800: D0 49 BNE Return02A84B ; / CODE_02A802: A4 55 LDY $55 CODE_02A804: A5 5B LDA RAM_IsVerticalLvl ; \ Branch if horizontal level CODE_02A806: 4A LSR ; | CODE_02A807: 90 0E BCC CODE_02A817 ; / CODE_02A809: A5 1C LDA RAM_ScreenBndryYLo ; \ Vertical level: CODE_02A80B: 18 CLC ; | $00,$01 = Screen boundary Y + offset CODE_02A80C: 79 F6 A7 ADC.W DATA_02A7F6,Y ; | CODE_02A80F: 29 F0 AND.B #$F0 ; | CODE_02A811: 85 00 STA $00 ; | CODE_02A813: A5 1D LDA RAM_ScreenBndryYHi ; | CODE_02A815: 80 0C BRA CODE_02A823 ; / CODE_02A817: A5 1A LDA RAM_ScreenBndryXLo ; \ Horizontal level: CODE_02A819: 18 CLC ; | $00,$01 = Screen boundary X + offset CODE_02A81A: 79 F6 A7 ADC.W DATA_02A7F6,Y ; | CODE_02A81D: 29 F0 AND.B #$F0 ; | CODE_02A81F: 85 00 STA $00 ; | CODE_02A821: A5 1B LDA RAM_ScreenBndryXHi ; | CODE_02A823: 79 F9 A7 ADC.W DATA_02A7F9,Y ; | CODE_02A826: 30 23 BMI Return02A84B ; | CODE_02A828: 85 01 STA $01 ; / CODE_02A82A: A2 00 LDX.B #$00 ; X = #$00 (Number of sprite in level) CODE_02A82C: A0 01 LDY.B #$01 ; Y = #$01 (Index into level data) LoadSpriteLoopStrt: B7 CE LDA [$CE],Y ; Byte format: YYYYEEsy CODE_02A830: C9 FF CMP.B #$FF ; \ Return when we encounter $FF, as it signals the end CODE_02A832: F0 17 BEQ Return02A84B ; / CODE_02A834: 0A ASL ; \ If 's' is set, $02 = #$10 CODE_02A835: 0A ASL ; | Else, $02 = #$00 CODE_02A836: 0A ASL ; | CODE_02A837: 29 10 AND.B #$10 ; | CODE_02A839: 85 02 STA $02 ; / CODE_02A83B: C8 INY ; Next byte CODE_02A83C: B7 CE LDA [$CE],Y ; Byte format: XXXXSSSS CODE_02A83E: 29 0F AND.B #$0F ; \ Skip all sprites until we find one at the adjusted screen boundary: CODE_02A840: 05 02 ORA $02 ; | CODE_02A842: C5 01 CMP $01 ; | If sprite screen (sSSSS) < adjusted screen boundary... CODE_02A844: B0 06 BCS CODE_02A84C ; / ...skip the sprite LoadNextSprite: C8 INY ; \ Move on to the next sprite CODE_02A847: C8 INY ; | CODE_02A848: E8 INX ; | CODE_02A849: 80 E3 BRA LoadSpriteLoopStrt ; / Return02A84B: 60 RTS ; Return CODE_02A84C: D0 FD BNE Return02A84B ; Return if sprite screen > adjusted screen boundary CODE_02A84E: B7 CE LDA [$CE],Y ; Byte format: XXXXSSSS CODE_02A850: 29 F0 AND.B #$F0 ; \ Skip sprite if not right at the screen boundary CODE_02A852: C5 00 CMP $00 ; | CODE_02A854: D0 F0 BNE LoadNextSprite ; / CODE_02A856: BD 38 19 LDA.W RAM_SprLoadStatus,X ; \ This table has a flag for every sprite in the level (not just those onscreen) CODE_02A859: D0 EB BNE LoadNextSprite ; / Skip sprite if it's already been loaded/permanently killed CODE_02A85B: 86 02 STX $02 ; $02 = Number of sprite in level CODE_02A85D: FE 38 19 INC.W RAM_SprLoadStatus,X ; Mark sprite as loaded CODE_02A860: C8 INY ; Next byte CODE_02A861: B7 CE LDA [$CE],Y ; Byte format: Sprite number CODE_02A863: 85 05 STA $05 ; $05 = Sprite number CODE_02A865: 88 DEY ; Previous byte CODE_02A866: C9 E7 CMP.B #$E7 ; \ Branch if sprite number < #$E7 CODE_02A868: 90 22 BCC CODE_02A88C ; / LoadScrollSprite: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_02A86D: 0D 3F 14 ORA.W $143F CODE_02A870: D0 18 BNE CODE_02A88A CODE_02A872: 5A PHY CODE_02A873: DA PHX CODE_02A874: A5 05 LDA $05 ; \ $143E = Type of scroll sprite CODE_02A876: 38 SEC ; | (Sprite number - #$E7) CODE_02A877: E9 E7 SBC.B #$E7 ; | CODE_02A879: 8D 3E 14 STA.W RAM_ScrollSprNum ; / CODE_02A87C: 88 DEY ; Previous byte CODE_02A87D: B7 CE LDA [$CE],Y ; Byte format: YYYYEEsy CODE_02A87F: 4A LSR CODE_02A880: 4A LSR CODE_02A881: 8D 40 14 STA.W $1440 CODE_02A884: 22 D6 BC 05 JSL.L CODE_05BCD6 CODE_02A888: FA PLX CODE_02A889: 7A PLY CODE_02A88A: 80 BA BRA LoadNextSprite CODE_02A88C: C9 DE CMP.B #$DE ; \ Branch if sprite number != 5 Eeries CODE_02A88E: D0 0C BNE CODE_02A89C ; / CODE_02A890: 5A PHY CODE_02A891: DA PHX CODE_02A892: 88 DEY CODE_02A893: 84 03 STY $03 CODE_02A895: 20 9D AF JSR.W Load5Eeries CODE_02A898: FA PLX CODE_02A899: 7A PLY CODE_02A89A: 80 AA BRA LoadNextSprite CODE_02A89C: C9 E0 CMP.B #$E0 ; \ Branch if sprite number != 3 Platforms on Chain CODE_02A89E: D0 0C BNE CODE_02A8AC ; / CODE_02A8A0: 5A PHY CODE_02A8A1: DA PHX CODE_02A8A2: 88 DEY CODE_02A8A3: 84 03 STY $03 CODE_02A8A5: 20 33 AF JSR.W Load3Platforms CODE_02A8A8: FA PLX CODE_02A8A9: 7A PLY CODE_02A8AA: 80 EE BRA CODE_02A89A CODE_02A8AC: C9 CB CMP.B #$CB ; \ Branch if sprite number < #$CB CODE_02A8AE: 90 24 BCC CODE_02A8D4 ; / CODE_02A8B0: C9 DA CMP.B #$DA ; \ Branch if sprite number >= #$DA CODE_02A8B2: B0 0C BCS CODE_02A8C0 ; / InitGenerator: 38 SEC ; \ $18B9 = Type of generator CODE_02A8B5: E9 CB SBC.B #$CB ; | (Sprite number - #$CA) CODE_02A8B7: 1A INC A ; | CODE_02A8B8: 8D B9 18 STA.W RAM_GeneratorNum ; / CODE_02A8BB: 9E 38 19 STZ.W RAM_SprLoadStatus,X ; Allow sprite to be reloaded by level loading routine CODE_02A8BE: 80 DA BRA CODE_02A89A CODE_02A8C0: C9 E1 CMP.B #$E1 ; \ Branch if sprite number < #$E1 CODE_02A8C2: 90 0C BCC CODE_02A8D0 ; / CODE_02A8C4: DA PHX CODE_02A8C5: 5A PHY CODE_02A8C6: 88 DEY CODE_02A8C7: 84 03 STY $03 CODE_02A8C9: 20 C0 AA JSR.W CODE_02AAC0 CODE_02A8CC: 7A PLY CODE_02A8CD: FA PLX CODE_02A8CE: 80 CA BRA CODE_02A89A CODE_02A8D0: A9 09 LDA.B #$09 CODE_02A8D2: 80 0B BRA CODE_02A8DF CODE_02A8D4: C9 C9 CMP.B #$C9 ; \ Branch if sprite number < #$C9 CODE_02A8D6: 90 05 BCC LoadNormalSprite ; / CODE_02A8D8: 20 78 AB JSR.W LoadShooter CODE_02A8DB: 80 BD BRA CODE_02A89A LoadNormalSprite: A9 01 LDA.B #$01 ; \ $04 = #$01 CODE_02A8DF: 85 04 STA $04 ; / Eventually goes into sprite status CODE_02A8E1: 88 DEY ; Previous byte CODE_02A8E2: 84 03 STY $03 CODE_02A8E4: AC 92 16 LDY.W $1692 CODE_02A8E7: BE 73 A7 LDX.W SpriteSlotMax,Y CODE_02A8EA: B9 AC A7 LDA.W SpriteSlotStart,Y CODE_02A8ED: 85 06 STA $06 CODE_02A8EF: A5 05 LDA $05 CODE_02A8F1: D9 D2 A7 CMP.W ReservedSprite1,Y CODE_02A8F4: D0 08 BNE CODE_02A8FE CODE_02A8F6: BE 86 A7 LDX.W SpriteSlotMax1,Y CODE_02A8F9: B9 BF A7 LDA.W SpriteSlotStart1,Y CODE_02A8FC: 85 06 STA $06 CODE_02A8FE: A5 05 LDA $05 CODE_02A900: D9 E4 A7 CMP.W ReservedSprite2,Y CODE_02A903: D0 11 BNE CODE_02A916 CODE_02A905: C9 64 CMP.B #$64 CODE_02A907: D0 06 BNE CODE_02A90F CODE_02A909: A5 00 LDA $00 CODE_02A90B: 29 10 AND.B #$10 CODE_02A90D: F0 07 BEQ CODE_02A916 CODE_02A90F: BE 99 A7 LDX.W SpriteSlotMax2,Y CODE_02A912: A9 FF LDA.B #$FF CODE_02A914: 85 06 STA $06 CODE_02A916: 86 0F STX $0F CODE_02A918: BD C8 14 LDA.W $14C8,X CODE_02A91B: F0 1F BEQ CODE_02A93C CODE_02A91D: CA DEX CODE_02A91E: E4 06 CPX $06 CODE_02A920: D0 F6 BNE CODE_02A918 CODE_02A922: A5 05 LDA $05 CODE_02A924: C9 7B CMP.B #$7B CODE_02A926: D0 0E BNE CODE_02A936 ADDR_02A928: A6 0F LDX $0F ADDR_02A92A: BD 7A 16 LDA.W RAM_Tweaker167A,X ADDR_02A92D: 29 02 AND.B #$02 ADDR_02A92F: F0 0B BEQ CODE_02A93C ADDR_02A931: CA DEX ADDR_02A932: E4 06 CPX $06 ADDR_02A934: D0 F4 BNE ADDR_02A92A CODE_02A936: A6 02 LDX $02 CODE_02A938: 9E 38 19 STZ.W RAM_SprLoadStatus,X ; Allow sprite to be reloaded by level loading routine Return02A93B: 60 RTS ; Return CODE_02A93C: A4 03 LDY $03 CODE_02A93E: A5 5B LDA RAM_IsVerticalLvl ; \ Branch if horizontal level CODE_02A940: 4A LSR ; | CODE_02A941: 90 18 BCC CODE_02A95B ; / CODE_02A943: B7 CE LDA [$CE],Y ; \ Vertical level: CODE_02A945: 48 PHA ; | Same as below with X and Y coords swapped CODE_02A946: 29 F0 AND.B #$F0 ; | CODE_02A948: 95 E4 STA RAM_SpriteXLo,X ; | CODE_02A94A: 68 PLA ; | CODE_02A94B: 29 0D AND.B #$0D ; | CODE_02A94D: 9D E0 14 STA.W RAM_SpriteXHi,X ; | CODE_02A950: A5 00 LDA $00 ; | CODE_02A952: 95 D8 STA RAM_SpriteYLo,X ; | CODE_02A954: A5 01 LDA $01 ; | CODE_02A956: 9D D4 14 STA.W RAM_SpriteYHi,X ; | CODE_02A959: 80 16 BRA CODE_02A971 ; / CODE_02A95B: B7 CE LDA [$CE],Y ; Byte format: YYYYEEsy CODE_02A95D: 48 PHA ; \ Bits 11110000 are low byte of Y position CODE_02A95E: 29 F0 AND.B #$F0 ; | CODE_02A960: 95 D8 STA RAM_SpriteYLo,X ; / CODE_02A962: 68 PLA ; \ Bits 00001101 are high byte of Y position CODE_02A963: 29 0D AND.B #$0D ; | (Extra bits are stored in Y position) CODE_02A965: 9D D4 14 STA.W RAM_SpriteYHi,X ; / CODE_02A968: A5 00 LDA $00 ; \ X position = adjusted screen boundary CODE_02A96A: 95 E4 STA RAM_SpriteXLo,X ; | CODE_02A96C: A5 01 LDA $01 ; | CODE_02A96E: 9D E0 14 STA.W RAM_SpriteXHi,X ; / CODE_02A971: C8 INY CODE_02A972: C8 INY CODE_02A973: A5 04 LDA $04 ; \ Sprite status = ?? CODE_02A975: 9D C8 14 STA.W $14C8,X ; / CODE_02A978: C9 09 CMP.B #$09 CODE_02A97A: B7 CE LDA [$CE],Y ;KKOOPA STORAGE??? CODE_02A97C: 90 06 BCC CODE_02A984 ;NO, IT WAS STATIONARY CODE_02A97E: 38 SEC CODE_02A97F: E9 DA SBC.B #$DA ;SUBTRACT DA, FIRST SHELL SPRITE [RED] CODE_02A981: 18 CLC CODE_02A982: 69 04 ADC.B #$04 CODE_02A984: 5A PHY CODE_02A985: AC EB 1E LDY.W $1EEB CODE_02A988: 10 0C BPL CODE_02A996 ;IF POSITIBE, JUST STORE? CODE_02A98A: C9 04 CMP.B #$04 CODE_02A98C: D0 02 BNE CODE_02A990 ADDR_02A98E: A9 07 LDA.B #$07 ;WHAT? CODE_02A990: C9 05 CMP.B #$05 CODE_02A992: D0 02 BNE CODE_02A996 ADDR_02A994: A9 06 LDA.B #$06` ;STORING RED KOOPA SHELL TO SPRITENUM CODE_02A996: 95 9E STA RAM_SpriteNum,X CODE_02A998: 7A PLY CODE_02A999: A5 02 LDA $02 ; \ $161A,x = index of the sprite in the level CODE_02A99B: 9D 1A 16 STA.W RAM_SprIndexInLvl,X ; / (Number of sprites in level, not just onscreen) CODE_02A99E: AD AE 14 LDA.W RAM_SilverPowTimer CODE_02A9A1: F0 26 BEQ CODE_02A9C9 CODE_02A9A3: DA PHX CODE_02A9A4: B5 9E LDA RAM_SpriteNum,X CODE_02A9A6: AA TAX CODE_02A9A7: BF 59 F6 07 LDA.L Sprite190FVals,X CODE_02A9AB: FA PLX CODE_02A9AC: 29 40 AND.B #$40 CODE_02A9AE: D0 19 BNE CODE_02A9C9 CODE_02A9B0: A9 21 LDA.B #$21 ; \ Sprite = Moving Coin CODE_02A9B2: 95 9E STA RAM_SpriteNum,X ; / CODE_02A9B4: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02A9B6: 9D C8 14 STA.W $14C8,X ; / CODE_02A9B9: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02A9BD: BD F6 15 LDA.W RAM_SpritePal,X CODE_02A9C0: 29 F1 AND.B #$F1 CODE_02A9C2: 09 02 ORA.B #$02 CODE_02A9C4: 9D F6 15 STA.W RAM_SpritePal,X CODE_02A9C7: 80 04 BRA CODE_02A9CD CODE_02A9C9: 22 D2 F7 07 JSL.L InitSpriteTables ; Reset sprite tables CODE_02A9CD: A9 01 LDA.B #$01 ; \ Set off screen horizontally CODE_02A9CF: 9D A0 15 STA.W RAM_OffscreenHorz,X ; / CODE_02A9D2: A9 04 LDA.B #$04 ; \ ?? $1FE2,X = #$04 CODE_02A9D4: 9D E2 1F STA.W $1FE2,X ; / CODE_02A9D7: C8 INY CODE_02A9D8: A6 02 LDX $02 CODE_02A9DA: E8 INX CODE_02A9DB: 4C 2E A8 JMP.W LoadSpriteLoopStrt FindFreeSlotLowPri: A9 02 LDA.B #$02 ; \ Number of slots to leave free = 2 CODE_02A9E0: 85 0E STA $0E ; | CODE_02A9E2: 80 02 BRA CODE_02A9E6 ; / FindFreeSprSlot: 64 0E STZ $0E ; Number of slots tp leave free = 0 CODE_02A9E6: 8B PHB CODE_02A9E7: 4B PHK CODE_02A9E8: AB PLB CODE_02A9E9: 20 EF A9 JSR.W FindFreeSlotRt CODE_02A9EC: AB PLB CODE_02A9ED: 98 TYA Return02A9EE: 6B RTL ; Return FindFreeSlotRt: AC 92 16 LDY.W $1692 ; \ Subroutine: Return the first free sprite slot in Y (#$FF if not found) CODE_02A9F2: B9 AC A7 LDA.W SpriteSlotStart,Y ; | Y = Sprite memory index CODE_02A9F5: 85 0F STA $0F ; | CODE_02A9F7: B9 73 A7 LDA.W SpriteSlotMax,Y ; | CODE_02A9FA: 38 SEC ; | CODE_02A9FB: E5 0E SBC $0E ; | CODE_02A9FD: A8 TAY ; | CODE_02A9FE: B9 C8 14 LDA.W $14C8,Y ; | If free slot... CODE_02AA01: F0 07 BEQ Return02AA0A ; | ...return CODE_02AA03: 88 DEY ; | CODE_02AA04: C4 0F CPY $0F ; | CODE_02AA06: D0 F6 BNE CODE_02A9FE ; | CODE_02AA08: A0 FF LDY.B #$FF ; | If no free slots, Y=#$FF Return02AA0A: 60 RTS ; / DATA_02AA0B: .db $31,$71,$A1,$43,$93,$C3,$14,$65 .db $E5,$36,$A7,$39,$99,$F9,$1A,$7A .db $DA,$4C,$AD,$ED DATA_02AA1F: .db $01,$51,$91,$D1,$22,$62,$A2,$73 .db $E3,$C7,$88,$29,$5A,$AA,$EB,$2C .db $8C,$CC,$FC,$5D ADDR_02AA33: A2 0E LDX.B #$0E ; \ Unreachable ADDR_02AA35: 9E 66 1E STZ.W $1E66,X ; | Loop X = 00 to 0E ADDR_02AA38: 9E 86 0F STZ.W $0F86,X ADDR_02AA3B: A9 08 LDA.B #$08 ADDR_02AA3D: 9D 92 18 STA.W $1892,X ADDR_02AA40: 22 F9 AC 01 JSL.L GetRand ADDR_02AA44: 18 CLC ADDR_02AA45: 65 1A ADC RAM_ScreenBndryXLo ADDR_02AA47: 9D 16 1E STA.W $1E16,X ADDR_02AA4A: 9D 4A 0F STA.W $0F4A,X ADDR_02AA4D: A5 1B LDA RAM_ScreenBndryXHi ADDR_02AA4F: 69 00 ADC.B #$00 ADDR_02AA51: 9D 3E 1E STA.W $1E3E,X ADDR_02AA54: A4 03 LDY $03 ADDR_02AA56: B7 CE LDA [$CE],Y ADDR_02AA58: 48 PHA ADDR_02AA59: 29 F0 AND.B #$F0 ADDR_02AA5B: 9D 02 1E STA.W $1E02,X ADDR_02AA5E: 68 PLA ADDR_02AA5F: 29 01 AND.B #$01 ADDR_02AA61: 9D 2A 1E STA.W $1E2A,X ADDR_02AA64: CA DEX ADDR_02AA65: 10 CE BPL ADDR_02AA35 Return02AA67: 60 RTS ; / Return DATA_02AA68: .db $50,$90,$D0,$10 CODE_02AA6C: A9 07 LDA.B #$07 CODE_02AA6E: 8D CB 14 STA.W $14CB CODE_02AA71: A2 03 LDX.B #$03 CODE_02AA73: A9 05 LDA.B #$05 CODE_02AA75: 9D 92 18 STA.W $1892,X CODE_02AA78: BD 68 AA LDA.W DATA_02AA68,X CODE_02AA7B: 9D 16 1E STA.W $1E16,X CODE_02AA7E: A9 F0 LDA.B #$F0 CODE_02AA80: 9D 02 1E STA.W $1E02,X CODE_02AA83: 8A TXA CODE_02AA84: 0A ASL CODE_02AA85: 0A ASL CODE_02AA86: 9D 4A 0F STA.W $0F4A,X CODE_02AA89: CA DEX CODE_02AA8A: 10 E7 BPL CODE_02AA73 Return02AA8C: 60 RTS ; Return CODE_02AA8D: 9C 0A 19 STZ.W $190A CODE_02AA90: A2 13 LDX.B #$13 CODE_02AA92: A9 07 LDA.B #$07 CODE_02AA94: 9D 92 18 STA.W $1892,X CODE_02AA97: BD 0B AA LDA.W DATA_02AA0B,X CODE_02AA9A: 48 PHA CODE_02AA9B: 29 F0 AND.B #$F0 CODE_02AA9D: 9D 66 1E STA.W $1E66,X CODE_02AAA0: 68 PLA CODE_02AAA1: 0A ASL CODE_02AAA2: 0A ASL CODE_02AAA3: 0A ASL CODE_02AAA4: 0A ASL CODE_02AAA5: 9D 52 1E STA.W $1E52,X CODE_02AAA8: BD 1F AA LDA.W DATA_02AA1F,X CODE_02AAAB: 48 PHA CODE_02AAAC: 29 F0 AND.B #$F0 CODE_02AAAE: 9D 8E 1E STA.W $1E8E,X CODE_02AAB1: 68 PLA CODE_02AAB2: 0A ASL CODE_02AAB3: 0A ASL CODE_02AAB4: 0A ASL CODE_02AAB5: 0A ASL CODE_02AAB6: 9D 7A 1E STA.W $1E7A,X CODE_02AAB9: CA DEX CODE_02AABA: 10 D6 BPL CODE_02AA92 Return02AABC: 60 RTS ; Return DATA_02AABD: .db $4C,$33,$AA CODE_02AAC0: A0 01 LDY.B #$01 CODE_02AAC2: 8C B8 18 STY.W $18B8 CODE_02AAC5: C9 E4 CMP.B #$E4 CODE_02AAC7: F0 F4 BEQ DATA_02AABD CODE_02AAC9: C9 E6 CMP.B #$E6 CODE_02AACB: F0 9F BEQ CODE_02AA6C CODE_02AACD: C9 E5 CMP.B #$E5 CODE_02AACF: F0 BC BEQ CODE_02AA8D CODE_02AAD1: C9 E2 CMP.B #$E2 CODE_02AAD3: B0 3C BCS CODE_02AB11 CODE_02AAD5: A2 13 LDX.B #$13 CODE_02AAD7: 9E 66 1E STZ.W $1E66,X CODE_02AADA: 9E 86 0F STZ.W $0F86,X CODE_02AADD: A9 03 LDA.B #$03 CODE_02AADF: 9D 92 18 STA.W $1892,X CODE_02AAE2: 22 F9 AC 01 JSL.L GetRand CODE_02AAE6: 18 CLC CODE_02AAE7: 65 1A ADC RAM_ScreenBndryXLo CODE_02AAE9: 9D 16 1E STA.W $1E16,X CODE_02AAEC: 9D 4A 0F STA.W $0F4A,X CODE_02AAEF: A5 1B LDA RAM_ScreenBndryXHi CODE_02AAF1: 69 00 ADC.B #$00 CODE_02AAF3: 9D 3E 1E STA.W $1E3E,X CODE_02AAF6: AD 8E 14 LDA.W RAM_RandomByte2 CODE_02AAF9: 29 3F AND.B #$3F CODE_02AAFB: 69 08 ADC.B #$08 CODE_02AAFD: 18 CLC CODE_02AAFE: 65 1C ADC RAM_ScreenBndryYLo CODE_02AB00: 9D 02 1E STA.W $1E02,X CODE_02AB03: A5 1D LDA RAM_ScreenBndryYHi CODE_02AB05: 69 00 ADC.B #$00 CODE_02AB07: 9D 2A 1E STA.W $1E2A,X CODE_02AB0A: CA DEX CODE_02AB0B: 10 CA BPL CODE_02AAD7 CODE_02AB0D: EE BA 18 INC.W $18BA Return02AB10: 60 RTS ; Return CODE_02AB11: AC BA 18 LDY.W $18BA CODE_02AB14: C0 02 CPY.B #$02 CODE_02AB16: B0 5F BCS Return02AB77 CODE_02AB18: A0 01 LDY.B #$01 CODE_02AB1A: C9 E2 CMP.B #$E2 CODE_02AB1C: F0 02 BEQ CODE_02AB20 CODE_02AB1E: A0 FF LDY.B #$FF CODE_02AB20: 84 0F STY $0F CODE_02AB22: A9 09 LDA.B #$09 CODE_02AB24: 85 0E STA $0E CODE_02AB26: A2 13 LDX.B #$13 CODE_02AB28: BD 92 18 LDA.W $1892,X CODE_02AB2B: D0 44 BNE CODE_02AB71 CODE_02AB2D: A9 04 LDA.B #$04 CODE_02AB2F: 9D 92 18 STA.W $1892,X CODE_02AB32: AD BA 18 LDA.W $18BA CODE_02AB35: 9D 86 0F STA.W $0F86,X CODE_02AB38: A5 0E LDA $0E CODE_02AB3A: 9D 72 0F STA.W $0F72,X CODE_02AB3D: A5 0F LDA $0F CODE_02AB3F: 9D 4A 0F STA.W $0F4A,X CODE_02AB42: 64 0F STZ $0F CODE_02AB44: F0 27 BEQ CODE_02AB6D CODE_02AB46: A4 03 LDY $03 CODE_02AB48: B7 CE LDA [$CE],Y CODE_02AB4A: AC BA 18 LDY.W $18BA CODE_02AB4D: 48 PHA CODE_02AB4E: 29 F0 AND.B #$F0 CODE_02AB50: 99 B6 0F STA.W $0FB6,Y CODE_02AB53: 68 PLA CODE_02AB54: 29 01 AND.B #$01 CODE_02AB56: 99 B8 0F STA.W $0FB8,Y CODE_02AB59: A5 00 LDA $00 CODE_02AB5B: 99 B2 0F STA.W $0FB2,Y CODE_02AB5E: A5 01 LDA $01 CODE_02AB60: 99 B4 0F STA.W $0FB4,Y CODE_02AB63: A9 00 LDA.B #$00 CODE_02AB65: 99 BA 0F STA.W $0FBA,Y CODE_02AB68: A5 02 LDA $02 CODE_02AB6A: 99 BC 0F STA.W $0FBC,Y CODE_02AB6D: C6 0E DEC $0E CODE_02AB6F: 30 03 BMI CODE_02AB74 CODE_02AB71: CA DEX CODE_02AB72: 10 B4 BPL CODE_02AB28 CODE_02AB74: EE BA 18 INC.W $18BA Return02AB77: 60 RTS ; Return LoadShooter: 86 02 STX $02 CODE_02AB7A: 88 DEY CODE_02AB7B: 84 03 STY $03 CODE_02AB7D: 85 04 STA $04 CODE_02AB7F: A2 07 LDX.B #$07 CODE_02AB81: BD 83 17 LDA.W $1783,X CODE_02AB84: F0 18 BEQ CODE_02AB9E CODE_02AB86: CA DEX CODE_02AB87: 10 F8 BPL CODE_02AB81 CODE_02AB89: CE FF 18 DEC.W $18FF CODE_02AB8C: 10 05 BPL CODE_02AB93 CODE_02AB8E: A9 07 LDA.B #$07 CODE_02AB90: 8D FF 18 STA.W $18FF CODE_02AB93: AE FF 18 LDX.W $18FF CODE_02AB96: BC B3 17 LDY.W $17B3,X CODE_02AB99: A9 00 LDA.B #$00 ; \ Allow sprite to be reloaded by level loading routine CODE_02AB9B: 99 38 19 STA.W RAM_SprLoadStatus,Y ; / CODE_02AB9E: A4 03 LDY $03 CODE_02ABA0: A5 04 LDA $04 CODE_02ABA2: 38 SEC CODE_02ABA3: E9 C8 SBC.B #$C8 CODE_02ABA5: 9D 83 17 STA.W $1783,X CODE_02ABA8: A5 5B LDA RAM_IsVerticalLvl CODE_02ABAA: 4A LSR CODE_02ABAB: 90 1A BCC CODE_02ABC7 ADDR_02ABAD: B7 CE LDA [$CE],Y ADDR_02ABAF: 48 PHA ADDR_02ABB0: 29 F0 AND.B #$F0 ADDR_02ABB2: 9D 9B 17 STA.W RAM_ShooterXLo,X ADDR_02ABB5: 68 PLA ADDR_02ABB6: 29 01 AND.B #$01 ADDR_02ABB8: 9D A3 17 STA.W RAM_ShooterXHi,X ADDR_02ABBB: A5 00 LDA $00 ADDR_02ABBD: 9D 8B 17 STA.W RAM_ShooterYLo,X ADDR_02ABC0: A5 01 LDA $01 ADDR_02ABC2: 9D 93 17 STA.W RAM_ShooterYHi,X ADDR_02ABC5: 80 18 BRA CODE_02ABDF CODE_02ABC7: B7 CE LDA [$CE],Y CODE_02ABC9: 48 PHA CODE_02ABCA: 29 F0 AND.B #$F0 CODE_02ABCC: 9D 8B 17 STA.W RAM_ShooterYLo,X CODE_02ABCF: 68 PLA CODE_02ABD0: 29 01 AND.B #$01 CODE_02ABD2: 9D 93 17 STA.W RAM_ShooterYHi,X CODE_02ABD5: A5 00 LDA $00 CODE_02ABD7: 9D 9B 17 STA.W RAM_ShooterXLo,X CODE_02ABDA: A5 01 LDA $01 CODE_02ABDC: 9D A3 17 STA.W RAM_ShooterXHi,X CODE_02ABDF: A5 02 LDA $02 CODE_02ABE1: 9D B3 17 STA.W $17B3,X CODE_02ABE4: A9 10 LDA.B #$10 CODE_02ABE6: 9D AB 17 STA.W RAM_ShooterTimer,X CODE_02ABE9: C8 INY CODE_02ABEA: C8 INY CODE_02ABEB: C8 INY CODE_02ABEC: A6 02 LDX $02 CODE_02ABEE: E8 INX CODE_02ABEF: 4C 2E A8 JMP.W LoadSpriteLoopStrt CODE_02ABF2: A2 3F LDX.B #$3F CODE_02ABF4: 9E 38 19 STZ.W RAM_SprLoadStatus,X ; Allow sprite to be reloaded by level loading routine CODE_02ABF7: CA DEX CODE_02ABF8: 10 FA BPL CODE_02ABF4 CODE_02ABFA: A9 FF LDA.B #$FF CODE_02ABFC: 85 00 STA $00 CODE_02ABFE: A2 0B LDX.B #$0B CODE_02AC00: A9 FF LDA.B #$FF ; \ Set to permanently erase sprite CODE_02AC02: 9D 1A 16 STA.W RAM_SprIndexInLvl,X ; / CODE_02AC05: BD C8 14 LDA.W $14C8,X CODE_02AC08: C9 0B CMP.B #$0B CODE_02AC0A: F0 05 BEQ CODE_02AC11 CODE_02AC0C: 9E C8 14 STZ.W $14C8,X CODE_02AC0F: 80 02 BRA CODE_02AC13 CODE_02AC11: 86 00 STX $00 CODE_02AC13: CA DEX CODE_02AC14: 10 EA BPL CODE_02AC00 CODE_02AC16: A6 00 LDX $00 CODE_02AC18: 30 2E BMI CODE_02AC48 CODE_02AC1A: 9E C8 14 STZ.W $14C8,X CODE_02AC1D: A9 0B LDA.B #$0B ; \ Sprite status = Being carried CODE_02AC1F: 8D C8 14 STA.W $14C8 ; / CODE_02AC22: B5 9E LDA RAM_SpriteNum,X CODE_02AC24: 85 9E STA RAM_SpriteNum CODE_02AC26: B5 E4 LDA RAM_SpriteXLo,X CODE_02AC28: 85 E4 STA RAM_SpriteXLo CODE_02AC2A: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02AC2D: 8D E0 14 STA.W RAM_SpriteXHi CODE_02AC30: B5 D8 LDA RAM_SpriteYLo,X CODE_02AC32: 85 D8 STA RAM_SpriteYLo CODE_02AC34: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02AC37: 8D D4 14 STA.W RAM_SpriteYHi CODE_02AC3A: BD F6 15 LDA.W RAM_SpritePal,X CODE_02AC3D: 48 PHA CODE_02AC3E: A2 00 LDX.B #$00 CODE_02AC40: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02AC44: 68 PLA CODE_02AC45: 8D F6 15 STA.W RAM_SpritePal CODE_02AC48: C2 10 REP #$10 ; Index (16 bit) CODE_02AC4A: A2 7A 02 LDX.W #$027A CODE_02AC4D: 9E 93 16 STZ.W $1693,X ; clear ram before entering new stage/area CODE_02AC50: CA DEX CODE_02AC51: 10 FA BPL CODE_02AC4D CODE_02AC53: E2 10 SEP #$10 ; Index (8 bit) CODE_02AC55: 9C 3E 14 STZ.W RAM_ScrollSprNum CODE_02AC58: 9C 3F 14 STZ.W $143F Return02AC5B: 60 RTS ; Return CODE_02AC5C: A5 5B LDA RAM_IsVerticalLvl CODE_02AC5E: 4A LSR CODE_02AC5F: 90 40 BCC CODE_02ACA1 CODE_02AC61: A5 55 LDA $55 CODE_02AC63: 48 PHA CODE_02AC64: A9 01 LDA.B #$01 CODE_02AC66: 85 55 STA $55 CODE_02AC68: A5 1C LDA RAM_ScreenBndryYLo CODE_02AC6A: 48 PHA CODE_02AC6B: 38 SEC CODE_02AC6C: E9 60 SBC.B #$60 CODE_02AC6E: 85 1C STA RAM_ScreenBndryYLo CODE_02AC70: A5 1D LDA RAM_ScreenBndryYHi CODE_02AC72: 48 PHA CODE_02AC73: E9 00 SBC.B #$00 CODE_02AC75: 85 1D STA RAM_ScreenBndryYHi CODE_02AC77: 9C B6 18 STZ.W $18B6 CODE_02AC7A: 20 02 A8 JSR.W CODE_02A802 CODE_02AC7D: 20 02 A8 JSR.W CODE_02A802 CODE_02AC80: A5 1C LDA RAM_ScreenBndryYLo CODE_02AC82: 18 CLC CODE_02AC83: 69 10 ADC.B #$10 CODE_02AC85: 85 1C STA RAM_ScreenBndryYLo CODE_02AC87: A5 1D LDA RAM_ScreenBndryYHi CODE_02AC89: 69 00 ADC.B #$00 CODE_02AC8B: 85 1D STA RAM_ScreenBndryYHi CODE_02AC8D: EE B6 18 INC.W $18B6 CODE_02AC90: AD B6 18 LDA.W $18B6 CODE_02AC93: C9 20 CMP.B #$20 CODE_02AC95: 90 E3 BCC CODE_02AC7A CODE_02AC97: 68 PLA CODE_02AC98: 85 1D STA RAM_ScreenBndryYHi CODE_02AC9A: 68 PLA CODE_02AC9B: 85 1C STA RAM_ScreenBndryYLo CODE_02AC9D: 68 PLA CODE_02AC9E: 85 55 STA $55 Return02ACA0: 60 RTS ; Return CODE_02ACA1: A5 55 LDA $55 CODE_02ACA3: 48 PHA CODE_02ACA4: A9 01 LDA.B #$01 CODE_02ACA6: 85 55 STA $55 CODE_02ACA8: A5 1A LDA RAM_ScreenBndryXLo CODE_02ACAA: 48 PHA CODE_02ACAB: 38 SEC CODE_02ACAC: E9 60 SBC.B #$60 CODE_02ACAE: 85 1A STA RAM_ScreenBndryXLo CODE_02ACB0: A5 1B LDA RAM_ScreenBndryXHi CODE_02ACB2: 48 PHA CODE_02ACB3: E9 00 SBC.B #$00 CODE_02ACB5: 85 1B STA RAM_ScreenBndryXHi CODE_02ACB7: 9C B6 18 STZ.W $18B6 CODE_02ACBA: 20 02 A8 JSR.W CODE_02A802 CODE_02ACBD: 20 02 A8 JSR.W CODE_02A802 CODE_02ACC0: A5 1A LDA RAM_ScreenBndryXLo CODE_02ACC2: 18 CLC CODE_02ACC3: 69 10 ADC.B #$10 CODE_02ACC5: 85 1A STA RAM_ScreenBndryXLo CODE_02ACC7: A5 1B LDA RAM_ScreenBndryXHi CODE_02ACC9: 69 00 ADC.B #$00 CODE_02ACCB: 85 1B STA RAM_ScreenBndryXHi CODE_02ACCD: EE B6 18 INC.W $18B6 CODE_02ACD0: AD B6 18 LDA.W $18B6 CODE_02ACD3: C9 20 CMP.B #$20 CODE_02ACD5: 90 E3 BCC CODE_02ACBA CODE_02ACD7: 68 PLA CODE_02ACD8: 85 1B STA RAM_ScreenBndryXHi CODE_02ACDA: 68 PLA CODE_02ACDB: 85 1A STA RAM_ScreenBndryXLo CODE_02ACDD: 68 PLA CODE_02ACDE: 85 55 STA $55 Return02ACE0: 60 RTS ; Return CODE_02ACE1: DA PHX CODE_02ACE2: BB TYX CODE_02ACE3: 80 01 BRA CODE_02ACE6 GivePoints: DA PHX ; takes sprite type -5 as input in A CODE_02ACE6: 18 CLC CODE_02ACE7: 69 05 ADC.B #$05 ; Add 5 to sprite type (200,400,1up) CODE_02ACE9: 22 EF AC 02 JSL.L CODE_02ACEF ; Set score sprite type/initial position CODE_02ACED: FA PLX Return02ACEE: 6B RTL ; Return CODE_02ACEF: 5A PHY ; - note coordinates are level coords, not screen CODE_02ACF0: 48 PHA ; sprite type 1=10,2=20,3=40,4=80,5=100,6=200,7=400,8=800,9=1000,A=2000,B=4000,C=8000,D=1up CODE_02ACF1: 22 34 AD 02 JSL.L CODE_02AD34 ; Get next free position in table($16E1) to add score sprite CODE_02ACF5: 68 PLA CODE_02ACF6: 99 E1 16 STA.W RAM_ScoreSprNum,Y ; Set score sprite type (200,400,1up, etc) CODE_02ACF9: B5 D8 LDA RAM_SpriteYLo,X ; Load y position of sprite jumped on CODE_02ACFB: 38 SEC CODE_02ACFC: E9 08 SBC.B #$08 ; - make the score sprite appear a little higher CODE_02ACFE: 99 E7 16 STA.W RAM_ScoreSprYLo,Y ; Set this as score sprite y-position CODE_02AD01: 48 PHA ; save that value CODE_02AD02: BD D4 14 LDA.W RAM_SpriteYHi,X ; Get y-pos high byte for sprite jumped on CODE_02AD05: E9 00 SBC.B #$00 CODE_02AD07: 99 F9 16 STA.W RAM_ScoreSprYHi,Y ; Set score sprite y-pos high byte CODE_02AD0A: 68 PLA ; restore score sprite y-pos to A CODE_02AD0B: 38 SEC ; \ CODE_02AD0C: E5 1C SBC RAM_ScreenBndryYLo ; | CODE_02AD0E: C9 F0 CMP.B #$F0 ; |if (score sprite ypos <1C && >=0C) CODE_02AD10: 90 10 BCC CODE_02AD22 ; |{ CODE_02AD12: B9 E7 16 LDA.W RAM_ScoreSprYLo,Y ; | CODE_02AD15: 69 10 ADC.B #$10 ; | CODE_02AD17: 99 E7 16 STA.W RAM_ScoreSprYLo,Y ; | move score sprite down by #$10 CODE_02AD1A: B9 F9 16 LDA.W RAM_ScoreSprYHi,Y ; | CODE_02AD1D: 69 00 ADC.B #$00 ; | CODE_02AD1F: 99 F9 16 STA.W RAM_ScoreSprYHi,Y ; /} CODE_02AD22: B5 E4 LDA RAM_SpriteXLo,X ; \ CODE_02AD24: 99 ED 16 STA.W RAM_ScoreSprXLo,Y ; /Set score sprite x-position CODE_02AD27: BD E0 14 LDA.W RAM_SpriteXHi,X ; \ CODE_02AD2A: 99 F3 16 STA.W RAM_ScoreSprXHi,Y ; /Set score sprite x-pos high byte CODE_02AD2D: A9 30 LDA.B #$30 ; \ CODE_02AD2F: 99 FF 16 STA.W RAM_ScoreSprSpeedY,Y ; /scoreSpriteSpeed = #$30 CODE_02AD32: 7A PLY Return02AD33: 6B RTL ; Return CODE_02AD34: A0 05 LDY.B #$05 ; (here css is used to index through the table of score sprites in table at $16E1 CODE_02AD36: B9 E1 16 LDA.W RAM_ScoreSprNum,Y ; for (css=5;css>=0;css--){ CODE_02AD39: F0 10 BEQ Return02AD4B ; if (css's type == 0) --check for empty space CODE_02AD3B: 88 DEY CODE_02AD3C: 10 F8 BPL CODE_02AD36 ; } CODE_02AD3E: CE F7 18 DEC.W $18F7 ; $18f7--; --gives LRU CODE_02AD41: 10 05 BPL CODE_02AD48 ; if ($18f7 <0) CODE_02AD43: A9 05 LDA.B #$05 ; $18f7=5; CODE_02AD45: 8D F7 18 STA.W $18F7 CODE_02AD48: AC F7 18 LDY.W $18F7 ; return $18f7 in Y; Return02AD4B: 6B RTL ; Return PointTile1: .db $00,$83,$83,$83,$83,$44,$54,$46 .db $47,$44,$54,$46,$47,$56,$29,$39 .db $38,$5E,$5E,$5E,$5E,$5E PointTile2: .db $00,$44,$54,$46,$47,$45,$45,$45 .db $45,$55,$55,$55,$55,$57,$57,$57 .db $57,$4E,$44,$4F,$54,$5D PointMultiplierLo: .db $00,$01,$02,$04,$08,$0A,$14,$28 .db $50,$64,$C8,$90,$20,$00,$00,$00 .db $00 PointMultiplierHi: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$01,$03,$00,$00,$00 .db $00 PointSpeedY: .db $03,$01,$00,$00 DATA_02AD9E: .db $B0,$B8,$C0,$C8,$D0,$D8 ScoreSprGfx: 2C 9B 0D BIT.W $0D9B CODE_02ADA7: 50 0F BVC CODE_02ADB8 CODE_02ADA9: AD 9B 0D LDA.W $0D9B CODE_02ADAC: C9 C1 CMP.B #$C1 CODE_02ADAE: F0 18 BEQ Return02ADC8 CODE_02ADB0: A9 F0 LDA.B #$F0 CODE_02ADB2: 8D 05 02 STA.W $0205 CODE_02ADB5: 8D 09 02 STA.W $0209 CODE_02ADB8: A2 05 LDX.B #$05 CODE_02ADBA: 8E E9 15 STX.W $15E9 CODE_02ADBD: BD E1 16 LDA.W RAM_ScoreSprNum,X CODE_02ADC0: F0 03 BEQ CODE_02ADC5 CODE_02ADC2: 20 C9 AD JSR.W CODE_02ADC9 CODE_02ADC5: CA DEX CODE_02ADC6: 10 F2 BPL CODE_02ADBA Return02ADC8: 60 RTS ; Return CODE_02ADC9: A5 9D LDA RAM_SpritesLocked Instr02ADCB: .db $F0,$03 CODE_02ADCD: 4C 5B AE JMP.W CODE_02AE5B CODE_02ADD0: BD FF 16 LDA.W RAM_ScoreSprSpeedY,X Instr02ADD3: .db $D0,$0F CODE_02ADD5: 9E E1 16 STZ.W RAM_ScoreSprNum,X Return02ADD8: 60 RTS ; Return CoinsToGive: .db $01,$02,$03,$05,$05,$0A,$0F,$14 .db $19 2Up3UpAttr: .db $04,$06 CODE_02ADE4: DE FF 16 DEC.W RAM_ScoreSprSpeedY,X CODE_02ADE7: C9 2A CMP.B #$2A CODE_02ADE9: D0 4D BNE CODE_02AE38 CODE_02ADEB: BC E1 16 LDY.W RAM_ScoreSprNum,X CODE_02ADEE: C0 0D CPY.B #$0D CODE_02ADF0: 90 20 BCC CODE_02AE12 CODE_02ADF2: C0 11 CPY.B #$11 CODE_02ADF4: 90 0D BCC CODE_02AE03 ADDR_02ADF6: DA PHX ADDR_02ADF7: 5A PHY ADDR_02ADF8: B9 CC AD LDA.W ADDR_02ADCC,Y ADDR_02ADFB: 22 29 B3 05 JSL.L ADDR_05B329 ADDR_02ADFF: 7A PLY ADDR_02AE00: FA PLX ADDR_02AE01: 80 0F BRA CODE_02AE12 CODE_02AE03: B9 CC AD LDA.W ADDR_02ADCC,Y CODE_02AE06: 18 CLC CODE_02AE07: 6D E4 18 ADC.W $18E4 CODE_02AE0A: 8D E4 18 STA.W $18E4 CODE_02AE0D: 9C E5 18 STZ.W $18E5 CODE_02AE10: 80 23 BRA CODE_02AE35 CODE_02AE12: AD B3 0D LDA.W $0DB3 CODE_02AE15: 0A ASL CODE_02AE16: 6D B3 0D ADC.W $0DB3 CODE_02AE19: AA TAX CODE_02AE1A: BD 34 0F LDA.W $0F34,X CODE_02AE1D: 18 CLC CODE_02AE1E: 79 78 AD ADC.W PointMultiplierLo,Y CODE_02AE21: 9D 34 0F STA.W $0F34,X CODE_02AE24: BD 35 0F LDA.W $0F35,X CODE_02AE27: 79 89 AD ADC.W PointMultiplierHi,Y CODE_02AE2A: 9D 35 0F STA.W $0F35,X CODE_02AE2D: BD 36 0F LDA.W $0F36,X CODE_02AE30: 69 00 ADC.B #$00 CODE_02AE32: 9D 36 0F STA.W $0F36,X CODE_02AE35: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02AE38: BD FF 16 LDA.W RAM_ScoreSprSpeedY,X CODE_02AE3B: 4A LSR CODE_02AE3C: 4A LSR CODE_02AE3D: 4A LSR CODE_02AE3E: 4A LSR CODE_02AE3F: A8 TAY CODE_02AE40: A5 13 LDA RAM_FrameCounter CODE_02AE42: 39 9A AD AND.W PointSpeedY,Y CODE_02AE45: D0 14 BNE CODE_02AE5B CODE_02AE47: BD E7 16 LDA.W RAM_ScoreSprYLo,X CODE_02AE4A: A8 TAY CODE_02AE4B: 38 SEC CODE_02AE4C: E5 1C SBC RAM_ScreenBndryYLo CODE_02AE4E: C9 04 CMP.B #$04 CODE_02AE50: 90 09 BCC CODE_02AE5B CODE_02AE52: DE E7 16 DEC.W RAM_ScoreSprYLo,X CODE_02AE55: 98 TYA CODE_02AE56: D0 03 BNE CODE_02AE5B CODE_02AE58: DE F9 16 DEC.W RAM_ScoreSprYHi,X CODE_02AE5B: BD 05 17 LDA.W $1705,X CODE_02AE5E: 0A ASL CODE_02AE5F: 0A ASL CODE_02AE60: A8 TAY CODE_02AE61: C2 20 REP #$20 ; Accum (16 bit) CODE_02AE63: B9 1C 00 LDA.W RAM_ScreenBndryYLo,Y CODE_02AE66: 85 02 STA $02 CODE_02AE68: B9 1A 00 LDA.W RAM_ScreenBndryXLo,Y CODE_02AE6B: 85 04 STA $04 CODE_02AE6D: E2 20 SEP #$20 ; Accum (8 bit) CODE_02AE6F: BD ED 16 LDA.W RAM_ScoreSprXLo,X CODE_02AE72: 18 CLC CODE_02AE73: 69 0C ADC.B #$0C CODE_02AE75: 08 PHP CODE_02AE76: 38 SEC CODE_02AE77: E5 04 SBC $04 CODE_02AE79: BD F3 16 LDA.W RAM_ScoreSprXHi,X CODE_02AE7C: E5 05 SBC $05 CODE_02AE7E: 28 PLP CODE_02AE7F: 69 00 ADC.B #$00 CODE_02AE81: D0 78 BNE Return02AEFB CODE_02AE83: BD ED 16 LDA.W RAM_ScoreSprXLo,X CODE_02AE86: C5 04 CMP $04 CODE_02AE88: BD F3 16 LDA.W RAM_ScoreSprXHi,X CODE_02AE8B: E5 05 SBC $05 CODE_02AE8D: D0 6C BNE Return02AEFB CODE_02AE8F: BD E7 16 LDA.W RAM_ScoreSprYLo,X CODE_02AE92: C5 02 CMP $02 CODE_02AE94: BD F9 16 LDA.W RAM_ScoreSprYHi,X CODE_02AE97: E5 03 SBC $03 CODE_02AE99: D0 60 BNE Return02AEFB CODE_02AE9B: BC 9E AD LDY.W DATA_02AD9E,X CODE_02AE9E: 2C 9B 0D BIT.W $0D9B CODE_02AEA1: 50 02 BVC CODE_02AEA5 CODE_02AEA3: A0 04 LDY.B #$04 CODE_02AEA5: BD E7 16 LDA.W RAM_ScoreSprYLo,X CODE_02AEA8: 38 SEC CODE_02AEA9: E5 02 SBC $02 CODE_02AEAB: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02AEAE: 99 05 02 STA.W $0205,Y CODE_02AEB1: BD ED 16 LDA.W RAM_ScoreSprXLo,X CODE_02AEB4: 38 SEC CODE_02AEB5: E5 04 SBC $04 CODE_02AEB7: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_02AEBA: 18 CLC CODE_02AEBB: 69 08 ADC.B #$08 CODE_02AEBD: 99 04 02 STA.W $0204,Y CODE_02AEC0: DA PHX CODE_02AEC1: BD E1 16 LDA.W RAM_ScoreSprNum,X CODE_02AEC4: AA TAX CODE_02AEC5: BD 4C AD LDA.W PointTile1,X CODE_02AEC8: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02AECB: BD 62 AD LDA.W PointTile2,X CODE_02AECE: 99 06 02 STA.W $0206,Y CODE_02AED1: FA PLX CODE_02AED2: 5A PHY CODE_02AED3: BC E1 16 LDY.W RAM_ScoreSprNum,X CODE_02AED6: C0 0E CPY.B #$0E CODE_02AED8: A9 08 LDA.B #$08 CODE_02AEDA: 90 03 BCC CODE_02AEDF CODE_02AEDC: B9 D4 AD LDA.W ADDR_02ADD4,Y CODE_02AEDF: 7A PLY CODE_02AEE0: 09 30 ORA.B #$30 CODE_02AEE2: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02AEE5: 99 07 02 STA.W $0207,Y CODE_02AEE8: 98 TYA CODE_02AEE9: 4A LSR CODE_02AEEA: 4A LSR CODE_02AEEB: A8 TAY CODE_02AEEC: A9 00 LDA.B #$00 CODE_02AEEE: 99 20 04 STA.W $0420,Y CODE_02AEF1: 99 21 04 STA.W $0421,Y CODE_02AEF4: BD E1 16 LDA.W RAM_ScoreSprNum,X CODE_02AEF7: C9 11 CMP.B #$11 CODE_02AEF9: B0 01 BCS ADDR_02AEFC Return02AEFB: 60 RTS ; Return ADDR_02AEFC: A0 4C LDY.B #$4C ADDR_02AEFE: BD ED 16 LDA.W RAM_ScoreSprXLo,X ADDR_02AF01: 38 SEC ADDR_02AF02: E5 04 SBC $04 ADDR_02AF04: 38 SEC ADDR_02AF05: E9 08 SBC.B #$08 ADDR_02AF07: 99 00 02 STA.W OAM_ExtendedDispX,Y ADDR_02AF0A: BD E7 16 LDA.W RAM_ScoreSprYLo,X ADDR_02AF0D: 38 SEC ADDR_02AF0E: E5 02 SBC $02 ADDR_02AF10: 99 01 02 STA.W OAM_ExtendedDispY,Y ADDR_02AF13: A9 5F LDA.B #$5F ADDR_02AF15: 99 02 02 STA.W OAM_ExtendedTile,Y ADDR_02AF18: A9 04 LDA.B #$04 ADDR_02AF1A: 09 30 ORA.B #$30 ADDR_02AF1C: 99 03 02 STA.W OAM_ExtendedProp,Y ADDR_02AF1F: 98 TYA ADDR_02AF20: 4A LSR ADDR_02AF21: 4A LSR ADDR_02AF22: A8 TAY ADDR_02AF23: A9 00 LDA.B #$00 ADDR_02AF25: 99 20 04 STA.W $0420,Y Return02AF28: 60 RTS ; Return ADDR_02AF29: 9E E1 16 STZ.W RAM_ScoreSprNum,X ; \ Unreachable Return02AF2C: 60 RTS ; / DATA_02AF2D: .db $00,$AA,$54 DATA_02AF30: .db $00,$00,$01 Load3Platforms: A4 03 LDY $03 CODE_02AF35: B7 CE LDA [$CE],Y CODE_02AF37: 48 PHA CODE_02AF38: 29 F0 AND.B #$F0 CODE_02AF3A: 85 08 STA $08 CODE_02AF3C: 68 PLA CODE_02AF3D: 29 01 AND.B #$01 CODE_02AF3F: 85 09 STA $09 CODE_02AF41: A9 02 LDA.B #$02 CODE_02AF43: 85 04 STA $04 CODE_02AF45: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_02AF49: 30 3B BMI Return02AF86 ; / CODE_02AF4B: BB TYX CODE_02AF4C: A9 01 LDA.B #$01 ; \ Sprite status = Initialization CODE_02AF4E: 9D C8 14 STA.W $14C8,X ; / CODE_02AF51: A9 A3 LDA.B #$A3 ; \ Sprite = Grey Platform on Chain CODE_02AF53: 95 9E STA RAM_SpriteNum,X ; / CODE_02AF55: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02AF59: A5 00 LDA $00 CODE_02AF5B: 95 E4 STA RAM_SpriteXLo,X CODE_02AF5D: A5 01 LDA $01 CODE_02AF5F: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02AF62: A5 08 LDA $08 CODE_02AF64: 95 D8 STA RAM_SpriteYLo,X CODE_02AF66: A5 09 LDA $09 CODE_02AF68: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02AF6B: A4 04 LDY $04 CODE_02AF6D: B9 2D AF LDA.W DATA_02AF2D,Y CODE_02AF70: 9D 02 16 STA.W $1602,X CODE_02AF73: B9 30 AF LDA.W DATA_02AF30,Y CODE_02AF76: 9D 1C 15 STA.W $151C,X CODE_02AF79: C0 02 CPY.B #$02 CODE_02AF7B: D0 05 BNE CODE_02AF82 CODE_02AF7D: A5 02 LDA $02 CODE_02AF7F: 9D 1A 16 STA.W RAM_SprIndexInLvl,X CODE_02AF82: C6 04 DEC $04 CODE_02AF84: 10 BF BPL CODE_02AF45 Return02AF86: 60 RTS ; Return EerieGroupDispXLo: .db $E0,$F0,$00,$10,$20 EerieGroupDispXHi: .db $FF,$FF,$00,$00,$00 EerieGroupSpeedY: .db $17,$E9,$17,$E9,$17 EerieGroupState: .db $00,$01,$00,$01,$00 EerieGroupSpeedX: .db $10,$F0 Load5Eeries: A4 03 LDY $03 CODE_02AF9F: B7 CE LDA [$CE],Y CODE_02AFA1: 48 PHA CODE_02AFA2: 29 F0 AND.B #$F0 CODE_02AFA4: 85 08 STA $08 CODE_02AFA6: 68 PLA CODE_02AFA7: 29 01 AND.B #$01 CODE_02AFA9: 85 09 STA $09 CODE_02AFAB: A9 04 LDA.B #$04 CODE_02AFAD: 85 04 STA $04 CODE_02AFAF: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_02AFB3: 30 48 BMI Return02AFFD ; / CODE_02AFB5: BB TYX CODE_02AFB6: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02AFB8: 9D C8 14 STA.W $14C8,X ; / CODE_02AFBB: A9 39 LDA.B #$39 ; \ Sprite = Wave Eerie CODE_02AFBD: 95 9E STA RAM_SpriteNum,X ; / CODE_02AFBF: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02AFC3: A4 04 LDY $04 CODE_02AFC5: A5 00 LDA $00 CODE_02AFC7: 18 CLC CODE_02AFC8: 79 87 AF ADC.W EerieGroupDispXLo,Y CODE_02AFCB: 95 E4 STA RAM_SpriteXLo,X CODE_02AFCD: A5 01 LDA $01 CODE_02AFCF: 79 8C AF ADC.W EerieGroupDispXHi,Y CODE_02AFD2: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02AFD5: A5 08 LDA $08 CODE_02AFD7: 95 D8 STA RAM_SpriteYLo,X CODE_02AFD9: A5 09 LDA $09 CODE_02AFDB: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02AFDE: B9 91 AF LDA.W EerieGroupSpeedY,Y CODE_02AFE1: 95 AA STA RAM_SpriteSpeedY,X CODE_02AFE3: B9 96 AF LDA.W EerieGroupState,Y CODE_02AFE6: 95 C2 STA RAM_SpriteState,X CODE_02AFE8: C0 04 CPY.B #$04 CODE_02AFEA: D0 05 BNE CODE_02AFF1 CODE_02AFEC: A5 02 LDA $02 CODE_02AFEE: 9D 1A 16 STA.W RAM_SprIndexInLvl,X CODE_02AFF1: 20 8D 84 JSR.W SubHorzPosBnk2 CODE_02AFF4: B9 9B AF LDA.W EerieGroupSpeedX,Y CODE_02AFF7: 95 B6 STA RAM_SpriteSpeedX,X CODE_02AFF9: C6 04 DEC $04 CODE_02AFFB: 10 B2 BPL CODE_02AFAF Return02AFFD: 60 RTS ; Return This area handles all the generator sprites. CallGenerator: AD B9 18 LDA.W RAM_GeneratorNum;\ if there is no generator, return CODE_02B001: F0 27 BEQ Return02B02A ;/ CODE_02B003: A4 9D LDY RAM_SpritesLocked ;\ CODE_02B005: D0 23 BNE Return02B02A ;/ if sprites are locked, return CODE_02B007: 3A DEC A ; decrement A and use the pointer CODE_02B008: 22 DF 86 00 JSL.L ExecutePtr GeneratorPtrs: D6 B2 .dw GenerateEerie ; 00 - Eerie, generator 29 B3 .dw GenParaEnemy ; 01 - Para-Goomba, generator 29 B3 .dw GenParaEnemy ; 02 - Para-Bomb, generator 29 B3 .dw GenParaEnemy ; 03 - Para-Bomb and Para-Goomba, generator 6C B2 .dw GenerateDolphin ; 04 - Dolphin, left, generator 6C B2 .dw GenerateDolphin ; 05 - Dolphin, right, generator 5B B1 .dw GenerateFish ; 06 - Jumping fish, generator 2B B0 .dw TurnOffGen2 ; 07 - Turn off generator 2 (sprite E5) BC B1 .dw GenSuperKoopa ; 08 - Super Koopa, generator 07 B2 .dw GenerateBubble ; 09 - Bubble with Goomba and Bob-omb, generator 7C B0 .dw GenerateBullet ; 0A - Bullet Bill, generator CD B0 .dw GenMultiBullets ; 0B - Bullet Bill surrounded, generator CD B0 .dw GenMultiBullets ; 0C - Bullet Bill diagonal, generator 36 B0 .dw GenerateFire ; 0D - Bowser statue fire breath, generator 32 B0 .dw TurnOffGenerators ; 0E - Turn off standard generators Return02B02A: 60 RTS ; Return TurnOffGen2: EE BF 18 INC.W $18BF CODE_02B02E: 9C C0 18 STZ.W RAM_TimeTillRespawn ; Don't respawn any sprites Return02B031: 60 RTS ; Return TurnOffGenerators: 9C B9 18 STZ.W RAM_GeneratorNum ; Don't generate anything Return02B035: 60 RTS ; Return GenerateFire: A5 14 LDA RAM_FrameCounterB ;\ CODE_02B038: 29 7F AND.B #$7F ;| every 8 seconds (normal sprite seconds CODE_02B03A: D0 3F BNE Return02B07B ;| CODE_02B03C: 22 DE A9 02 JSL.L FindFreeSlotLowPri ;| if the circumstances are right... CODE_02B040: 30 39 BMI Return02B07B ;/ CODE_02B042: BB TYX ; X now holds the index to the sprite CODE_02B043: A9 17 LDA.B #$17 ; \ Play sound effect CODE_02B045: 8D FC 1D STA.W $1DFC ; / CODE_02B048: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02B04A: 9D C8 14 STA.W $14C8,X ; / CODE_02B04D: A9 B3 LDA.B #$B3 ; \ Sprite = Bowser's Statue Fireball CODE_02B04F: 95 9E STA RAM_SpriteNum,X ; / CODE_02B051: 22 D2 F7 07 JSL.L InitSpriteTables ;\ find a random spot to generate the sprite CODE_02B055: 22 F9 AC 01 JSL.L GetRand ;| Get a random number.. CODE_02B059: 29 7F AND.B #$7F ;| AND with #$7F CODE_02B05B: 69 20 ADC.B #$20 ;| add 20 CODE_02B05D: 65 1C ADC RAM_ScreenBndryYLo ;| and the screen boundry CODE_02B05F: 29 F0 AND.B #$F0 ;| AND again CODE_02B061: 95 D8 STA RAM_SpriteYLo,X ;| and make that the Y position CODE_02B063: A5 1D LDA RAM_ScreenBndryYHi ;|\ CODE_02B065: 69 00 ADC.B #$00 ;|| CODE_02B067: 9D D4 14 STA.W RAM_SpriteYHi,X ;|| CODE_02B06A: A5 1A LDA RAM_ScreenBndryXLo ;|| CODE_02B06C: 18 CLC ;|| CODE_02B06D: 69 FF ADC.B #$FF ;||handle the high bytes too CODE_02B06F: 95 E4 STA RAM_SpriteXLo,X ;|| CODE_02B071: A5 1B LDA RAM_ScreenBndryXHi ;|| CODE_02B073: 69 00 ADC.B #$00 ;|| CODE_02B075: 9D E0 14 STA.W RAM_SpriteXHi,X ;|/ CODE_02B078: FE 7C 15 INC.W RAM_SpriteDir,X ;/ Make it go left Return02B07B: 60 RTS ; Return GenerateBullet: A5 14 LDA RAM_FrameCounterB ;\ CODE_02B07E: 29 7F AND.B #$7F ;| every 8 seconds CODE_02B080: D0 46 BNE Return02B0C8 ;/ go forward CODE_02B082: 22 DE A9 02 JSL.L FindFreeSlotLowPri ;\find a free spot if possible CODE_02B086: 30 40 BMI Return02B0C8 ;/ (low priority) CODE_02B088: A9 09 LDA.B #$09 ; \ Play sound effect CODE_02B08A: 8D FC 1D STA.W $1DFC ; / bang sound effect CODE_02B08D: BB TYX ; as last time CODE_02B08E: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02B090: 9D C8 14 STA.W $14C8,X ; / CODE_02B093: A9 1C LDA.B #$1C ; \ Sprite = Bullet Bill CODE_02B095: 95 9E STA RAM_SpriteNum,X ; / CODE_02B097: 22 D2 F7 07 JSL.L InitSpriteTables ; Initalize the sprite CODE_02B09B: 22 F9 AC 01 JSL.L GetRand ;\ Generating the placement CODE_02B09F: 48 PHA ;| The random number we just got is preserved CODE_02B0A0: 29 7F AND.B #$7F ;|\ CODE_02B0A2: 69 20 ADC.B #$20 ;|| CODE_02B0A4: 65 1C ADC RAM_ScreenBndryYLo ;|| CODE_02B0A6: 29 F0 AND.B #$F0 ;|| find a random Y position to put it at CODE_02B0A8: 95 D8 STA RAM_SpriteYLo,X ;|| CODE_02B0AA: A5 1D LDA RAM_ScreenBndryYHi ;|| CODE_02B0AC: 69 00 ADC.B #$00 ;|| CODE_02B0AE: 9D D4 14 STA.W RAM_SpriteYHi,X ;|/ CODE_02B0B1: 68 PLA ;|random number here CODE_02B0B2: 29 01 AND.B #$01 ;|AND 01, not much to say CODE_02B0B4: A8 TAY ;|Now ^ is in Y CODE_02B0B5: A5 1A LDA RAM_ScreenBndryXLo ;|\\Get the X position to generate it at CODE_02B0B7: 18 CLC ;||| CODE_02B0B8: 79 B8 B1 ADC.W DATA_02B1B8,Y ;|||the Xpos is either left or right CODE_02B0BB: 95 E4 STA RAM_SpriteXLo,X ;||/ CODE_02B0BD: A5 1B LDA RAM_ScreenBndryXHi ;||\ CODE_02B0BF: 79 BA B1 ADC.W DATA_02B1BA,Y ;||| handle hiXpos CODE_02B0C2: 9D E0 14 STA.W RAM_SpriteXHi,X ;|// CODE_02B0C5: 98 TYA :|\ CODE_02B0C6: 95 C2 STA RAM_SpriteState,X ;//Save which side it came from for further use (speed determining) Return02B0C8: 60 RTS ; Return DATA_02B0C9: .db $04,$08,$04,$03 GenMultiBullets: A5 14 LDA RAM_FrameCounterB ;\ CODE_02B0CF: 4A LSR ;| CODE_02B0D0: B0 27 BCS Return02B0F9 ;/ every other frame, continue CODE_02B0D2: AD FE 18 LDA.W $18FE ;\ CODE_02B0D5: EE FE 18 INC.W $18FE ;| Diagonal bullet bill timer, if at A0 then CODE_02B0D8: C9 A0 CMP.B #$A0 ;|make bullet bills CODE_02B0DA: D0 1D BNE Return02B0F9 ;/ CODE_02B0DC: 9C FE 18 STZ.W $18FE ; reset the timer CODE_02B0DF: A9 09 LDA.B #$09 ; \ Play sound effect CODE_02B0E1: 8D FC 1D STA.W $1DFC ; / CODE_02B0E4: AC B9 18 LDY.W RAM_GeneratorNum ;\ CODE_02B0E7: B9 BD B0 LDA.W CODE_02B0BD,Y ;| Surrounded shooter wil load 04, diagonal will load 08 to A here. CODE_02B0EA: BE BF B0 LDX.W CODE_02B0BF,Y ;| Surrounded shooter will load 04, diagonal will load 03 to X here. CODE_02B0ED: 85 0D STA $0D ;/ 0D will be useful when determining X positions later CODE_02B0EF: DA PHX ;\preserve X CODE_02B0F0: 20 15 B1 JSR.W GEN_MULTI_BULLET ;| CODE_02B0F3: C6 0D DEC $0D ;| CODE_02B0F5: FA PLX ;|runs a loop. Surrounded will run 4 times, diagonal 3 times. CODE_02B0F6: CA DEX ;| Generates a bullet. CODE_02B0F7: 10 F6 BPL CODE_02B0EF ;/ Return02B0F9: 60 RTS ; Return DATA_02B0FA: .db $00,$00,$40,$C0,$F0,$00,$00,$F0 .db $F0 DATA_02B103: .db $50,$B0,$E0,$E0,$80,$00,$E0,$E0 .db $00 DATA_02B10C: .db $00,$00,$02,$02,$01,$05,$04,$07 .db $06 GEN_MULTI_BULLET: 22 DE A9 02 JSL.L FindFreeSlotLowPri ;\ find a free sprite slot, but on low CODE_02B119: 30 37 BMI Return02B152 ;/ priority CODE_02B11B: A9 1C LDA.B #$1C ; \ Sprite = Bullet Bill CODE_02B11D: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_02B120: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02B122: 99 C8 14 STA.W $14C8,Y ; / CODE_02B125: BB TYX ; X = index to sprite we just generated CODE_02B126: 22 D2 F7 07 JSL.L InitSpriteTables ; init bullet bill CODE_02B12A: A6 0D LDX $0D ;\ CODE_02B12C: BD FA B0 LDA.W DATA_02B0FA,X ;|Surround will generate X wise on CODE_02B12F: 18 CLC ;|$00,$00,$40,$C0 + X boundry CODE_02B130: 65 1A ADC RAM_ScreenBndryXLo ;|Diagonal only 00, 00 and 40 + X boundry CODE_02B132: 99 E4 00 STA.W RAM_SpriteXLo,Y ;/ CODE_02B135: A5 1B LDA RAM_ScreenBndryXHi ;\ handle X high byte CODE_02B137: 69 00 ADC.B #$00 ;| CODE_02B139: 99 E0 14 STA.W RAM_SpriteXHi,Y ;/ CODE_02B13C: BD 03 B1 LDA.W DATA_02B103,X ;\ Surround will generate Y wise on CODE_02B13F: 18 CLC ;| $50,$B0,$E0,$E0 + Yboundry, Diagonal on CODE_02B140: 65 1C ADC RAM_ScreenBndryYLo ;| 50, B0, and E0 only + Yboundry CODE_02B142: 99 D8 00 STA.W RAM_SpriteYLo,Y ;/ CODE_02B145: A5 1D LDA RAM_ScreenBndryYHi ;\ CODE_02B147: 69 00 ADC.B #$00 ;| handle Y high byte CODE_02B149: 99 D4 14 STA.W RAM_SpriteYHi,Y ;/ CODE_02B14C: BD 0C B1 LDA.W DATA_02B10C,X ;\ surround will put $00,$00,$02,$02, CODE_02B14F: 99 C2 00 STA.W RAM_SpriteState,Y ;/ Diagonal just 00 00 and 02 to each bullet generated Return02B152: 60 RTS ; Return DATA_02B153: .db $10,$18,$20,$28 DATA_02B157: .db $18,$1A,$1C,$1E GenerateFish: A5 14 LDA RAM_FrameCounterB ;\ CODE_02B15D: 29 1F AND.B #$1F ;|every two seconds (less actually, but whatever) CODE_02B15F: D0 56 BNE Return02B1B7 ;/ CODE_02B161: 22 DE A9 02 JSL.L FindFreeSlotLowPri ;\ if there is a free spot, then go for it CODE_02B165: 30 50 BMI Return02B1B7 ;/ CODE_02B167: BB TYX ; X = index to new sprite CODE_02B168: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02B16A: 9D C8 14 STA.W $14C8,X ; / CODE_02B16D: A9 17 LDA.B #$17 ; \ Sprite = Flying Fish CODE_02B16F: 95 9E STA RAM_SpriteNum,X ; / CODE_02B171: 22 D2 F7 07 JSL.L InitSpriteTables ; INIT the fish CODE_02B175: A5 1C LDA RAM_ScreenBndryYLo ;\ CODE_02B177: 18 CLC ;| generate at a certain Y-place every time CODE_02B178: 69 C0 ADC.B #$C0 ;| CODE_02B17A: 95 D8 STA RAM_SpriteYLo,X ;/ CODE_02B17C: A5 1D LDA RAM_ScreenBndryYHi ;\ CODE_02B17E: 69 00 ADC.B #$00 ;| handle High Y byte CODE_02B180: 9D D4 14 STA.W RAM_SpriteYHi,X ;/ CODE_02B183: 22 F9 AC 01 JSL.L GetRand ;\ CODE_02B187: C9 00 CMP.B #$00 ;/ the result of this operation is pushed twice CODE_02B189: 08 PHP ;\ CODE_02B18A: 08 PHP ;/ Push the processor flags CODE_02B18B: 29 03 AND.B #$03 ;\ CODE_02B18D: A8 TAY ;| CODE_02B18E: B9 53 B1 LDA.W DATA_02B153,Y ;| CODE_02B191: 28 PLP ;|Give a random place to spawn X-wise, out of a few CODE_02B192: 10 02 BPL CODE_02B196 ;| different values CODE_02B194: 49 FF EOR.B #$FF ;| CODE_02B196: 18 CLC ;| CODE_02B197: 65 1A ADC RAM_ScreenBndryXLo ;| CODE_02B199: 95 E4 STA RAM_SpriteXLo,X ;/ CODE_02B19B: A5 1B LDA RAM_ScreenBndryXHi ;\ CODE_02B19D: 69 00 ADC.B #$00 ;|handle Yhibyte CODE_02B19F: 9D E0 14 STA.W RAM_SpriteXHi,X ;/ CODE_02B1A2: AD 8E 14 LDA.W RAM_RandomByte2 ;\ CODE_02B1A5: 29 03 AND.B #$03 ;| CODE_02B1A7: A8 TAY ;| CODE_02B1A8: B9 57 B1 LDA.W DATA_02B157,Y ;| CODE_02B1AB: 28 PLP ;| CODE_02B1AC: 10 03 BPL CODE_02B1B1 ;| CODE_02B1AE: 49 FF EOR.B #$FF ;| get Xspeed out randomly out of a few different CODE_02B1B0: 1A INC A ;| values CODE_02B1B1: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_02B1B3: A9 B8 LDA.B #$B8 ;\Give a basic Yspeed CODE_02B1B5: 95 AA STA RAM_SpriteSpeedY,X ;/ Return02B1B7: 60 RTS ; Return SIDE_ENTER_XGEN: .db $E0,$10 ; E0 - Left side enterance, 10 = right side enterance DATA_02B1BA: .db $FF,$01 GenSuperKoopa: A5 14 LDA RAM_FrameCounterB ;\ CODE_02B1BE: 29 3F AND.B #$3F ;| Every 4 seconds CODE_02B1C0: D0 44 BNE Return02B206 ;/ CODE_02B1C2: 22 DE A9 02 JSL.L FindFreeSlotLowPri ;\ make sure you can generate a sprite CODE_02B1C6: 30 3E BMI Return02B206 ;/ CODE_02B1C8: BB TYX ; X= index to sprite we are generating CODE_02B1C9: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02B1CB: 9D C8 14 STA.W $14C8,X ; / CODE_02B1CE: A9 71 LDA.B #$71 ;\super koopa, or course CODE_02B1D0: 95 9E STA RAM_SpriteNum,X ;/ CODE_02B1D2: 22 D2 F7 07 JSL.L InitSpriteTables ; INIT super koopas CODE_02B1D6: 22 F9 AC 01 JSL.L GetRand ; CODE_02B1DA: 48 PHA ;\ CODE_02B1DB: 29 3F AND.B #$3F ;| CODE_02B1DD: 69 20 ADC.B #$20 ;|get random value for the Y position CODE_02B1DF: 65 1C ADC RAM_ScreenBndryYLo ;| CODE_02B1E1: 95 D8 STA RAM_SpriteYLo,X ;/ CODE_02B1E3: A5 1D LDA RAM_ScreenBndryYHi ;\ CODE_02B1E5: 69 00 ADC.B #$00 ;| CODE_02B1E7: 9D D4 14 STA.W RAM_SpriteYHi,X ;/ handle Yhibyte CODE_02B1EA: A9 28 LDA.B #$28 ;\ CODE_02B1EC: 95 AA STA RAM_SpriteSpeedY,X ;/ get a normal Y speed CODE_02B1EE: 68 PLA ; get the random value from before CODE_02B1EF: 29 01 AND.B #$01 ;\ CODE_02B1F1: A8 TAY ;| CODE_02B1F2: A5 1A LDA RAM_ScreenBndryXLo ;| CODE_02B1F4: 18 CLC ;|make X pos either CODE_02B1F5: 79 B8 B1 ADC.W SIDE_ENTER_XGEN,Y ;| CODE_02B1F8: 95 E4 STA RAM_SpriteXLo,X ;/ CODE_02B1FA: A5 1B LDA RAM_ScreenBndryXHi ;\ CODE_02B1FC: 79 BA B1 ADC.W DATA_02B1BA,Y ;|handle Yhibyte CODE_02B1FF: 9D E0 14 STA.W RAM_SpriteXHi,X ;/ CODE_02B202: 98 TYA ;\ CODE_02B203: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ make sure the direction matches where it came in from Return02B206: 60 RTS ; Return GenerateBubble: A5 14 LDA RAM_FrameCounterB ;\ CODE_02B209: 29 7F AND.B #$7F ;|every 8 seconds CODE_02B20B: D0 4C BNE Return02B259 ;/ CODE_02B20D: 22 DE A9 02 JSL.L FindFreeSlotLowPri ;\ CODE_02B211: 30 46 BMI Return02B259 ;/ make sure you can generate a sprite CODE_02B213: BB TYX ; x= index to sprite we are generating CODE_02B214: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02B216: 9D C8 14 STA.W $14C8,X ; / CODE_02B219: A9 9D LDA.B #$9D ;\ Sprite = bubble CODE_02B21B: 95 9E STA RAM_SpriteNum,X ;/ CODE_02B21D: 22 D2 F7 07 JSL.L InitSpriteTables ; INIT bubble CODE_02B221: 22 F9 AC 01 JSL.L GetRand ; Get random number CODE_02B225: 48 PHA ; save it for later CODE_02B226: 29 3F AND.B #$3F ;\ CODE_02B228: 69 20 ADC.B #$20 ;| CODE_02B22A: 65 1C ADC RAM_ScreenBndryYLo ;|find a Ypos CODE_02B22C: 95 D8 STA RAM_SpriteYLo,X ;/ CODE_02B22E: A5 1D LDA RAM_ScreenBndryYHi ;\ CODE_02B230: 69 00 ADC.B #$00 ;|handle the Yhibyte CODE_02B232: 9D D4 14 STA.W RAM_SpriteYHi,X ;/ CODE_02B235: 68 PLA ; A = random number we had at first CODE_02B236: 29 01 AND.B #$01 ;\ CODE_02B238: A8 TAY ;| CODE_02B239: A5 1A LDA RAM_ScreenBndryXLo ;|Enter from either left or right CODE_02B23B: 18 CLC ;| CODE_02B23C: 79 B8 B1 ADC.W SIDE_ENTER_XGEN,Y ;| CODE_02B23F: 95 E4 STA RAM_SpriteXLo,X ;/ CODE_02B241: A5 1B LDA RAM_ScreenBndryXHi ;\ CODE_02B243: 79 BA B1 ADC.W DATA_02B1BA,Y ;|handle Xhibyte CODE_02B246: 9D E0 14 STA.W RAM_SpriteXHi,X ;/ CODE_02B249: 98 TYA ;\ make direction match side entering from CODE_02B24A: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ CODE_02B24D: 22 F9 AC 01 JSL.L GetRand ;\ CODE_02B251: 29 03 AND.B #$03 ;|load either 00,01,or 02 for later use CODE_02B253: A8 TAY ;|(very probably for sprite to generate inside CODE_02B254: B9 5A B2 LDA.W DATA_02B25A,Y ;|bubble) CODE_02B257: 95 C2 STA RAM_SpriteState,X ;/ Return02B259: 60 RTS ; Return DATA_02B25A: .db $00 DATA_02B25B: .db $01,$02 DATA_02B25D: .db $00,$10,$E0,$01,$FF,$E8 DATA_02B263: .db $18 DATA_02B264: .db $F0 DATA_02B265: .db $E0,$00,$10,$04,$09,$FF,$04 GenerateDolphin: A5 14 LDA RAM_FrameCounterB ;\ CODE_02B26E: 29 1F AND.B #$1F ;|every two seconds CODE_02B270: D0 5D BNE Return02B2CF ;/ CODE_02B272: AC B9 18 LDY.W RAM_GeneratorNum ;\ Y = 04/05 CODE_02B275: BE 63 B2 LDX.W DATA_02B263,Y ;| X = 04/09 04 left 05 right CODE_02B278: B9 65 B2 LDA.W DATA_02B265,Y ;| A = 04/09 CODE_02B27B: 85 00 STA $00 ;/ CODE_02B27D: BD C8 14 LDA.W $14C8,X ;\if sprite died/does not exist CODE_02B280: F0 06 BEQ CODE_02B288 ;/ generate one CODE_02B282: CA DEX ;\ CODE_02B283: E4 00 CPX $00 ;|and do this until you've handled every dolphin. CODE_02B285: D0 F6 BNE CODE_02B27D ;/ Return02B287: 60 RTS ; Return CODE_02B288: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02B28A: 9D C8 14 STA.W $14C8,X ; / CODE_02B28D: A9 41 LDA.B #$41 ;\ Dolphin CODE_02B28F: 95 9E STA RAM_SpriteNum,X ;/ CODE_02B291: 22 D2 F7 07 JSL.L InitSpriteTables ; INIT Dolphin CODE_02B295: 22 F9 AC 01 JSL.L GetRand ;\ CODE_02B299: 29 7F AND.B #$7F ;|get a random Ypos for the new sprite CODE_02B29B: 69 40 ADC.B #$40 ;| CODE_02B29D: 65 1C ADC RAM_ScreenBndryYLo ;| CODE_02B29F: 95 D8 STA RAM_SpriteYLo,X ;/ CODE_02B2A1: A5 1D LDA RAM_ScreenBndryYHi ;\ CODE_02B2A3: 69 00 ADC.B #$00 ;|handle Yhibyte CODE_02B2A5: 9D D4 14 STA.W RAM_SpriteYHi,X ;/ CODE_02B2A8: 22 F9 AC 01 JSL.L GetRand ;\ The Y speed will either be CODE_02B2AC: 29 03 AND.B #$03 ;|F0, E0, or 00 CODE_02B2AE: A8 TAY ;| CODE_02B2AF: B9 64 B2 LDA.W DATA_02B264,Y ;| CODE_02B2B2: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_02B2B4: AC B9 18 LDY.W RAM_GeneratorNum ;\ CODE_02B2B7: A5 1A LDA RAM_ScreenBndryXLo ;| Left generator will end up with 00, CODE_02B2B9: 18 CLC ;| Right with 10 for the Xpos CODE_02B2BA: 79 59 B2 ADC.W Return02B259,Y ;| CODE_02B2BD: 95 E4 STA RAM_SpriteXLo,X ;/ CODE_02B2BF: A5 1B LDA RAM_ScreenBndryXHi ;\ CODE_02B2C1: 79 5B B2 ADC.W DATA_02B25B,Y ;|handle Xhibyte CODE_02B2C4: 9D E0 14 STA.W RAM_SpriteXHi,X ;/ CODE_02B2C7: B9 5D B2 LDA.W DATA_02B25D,Y ;\ CODE_02B2CA: 95 B6 STA RAM_SpriteSpeedX,X ;| Handle Xspeeds CODE_02B2CC: FE 1C 15 INC.W $151C,X ;/ Return02B2CF: 60 RTS ; Return DATA_02B2D0: .db $F0,$FF DATA_02B2D2: .db $FF,$00 DATA_02B2D4: .db $10,$F0 GenerateEerie: A5 14 LDA RAM_FrameCounterB ;\ ADDR_02B2D8: 29 3F AND.B #$3F ;|every 4 seconds ADDR_02B2DA: D0 42 BNE Return02B31E ;/ ADDR_02B2DC: 22 DE A9 02 JSL.L FindFreeSlotLowPri ;\ ADDR_02B2E0: 30 3C BMI Return02B31E ;/ make sure slot is available ADDR_02B2E2: BB TYX ; X = index to sprite we are creating ADDR_02B2E3: A9 08 LDA.B #$08 ; \ Sprite status = Normal ADDR_02B2E5: 9D C8 14 STA.W $14C8,X ; / ADDR_02B2E8: A9 38 LDA.B #$38 ;\Eerie ADDR_02B2EA: 95 9E STA RAM_SpriteNum,X ;/ ADDR_02B2EC: 22 D2 F7 07 JSL.L InitSpriteTables ; INIT Eerie ADDR_02B2F0: 22 F9 AC 01 JSL.L GetRand ;\ ADDR_02B2F4: 29 7F AND.B #$7F ;| ADDR_02B2F6: 69 40 ADC.B #$40 ;|same process as usual, ADDR_02B2F8: 65 1C ADC RAM_ScreenBndryYLo ;|give random Ypos ADDR_02B2FA: 95 D8 STA RAM_SpriteYLo,X ;/ ADDR_02B2FC: A5 1D LDA RAM_ScreenBndryYHi ;\ ADDR_02B2FE: 69 00 ADC.B #$00 ;|handle Yhipos ADDR_02B300: 9D D4 14 STA.W RAM_SpriteYHi,X ;/ ADDR_02B303: AD 8E 14 LDA.W RAM_RandomByte2 ;\ ADDR_02B306: 29 01 AND.B #$01 ;| ADDR_02B308: A8 TAY ;| ADDR_02B309: B9 D0 B2 LDA.W DATA_02B2D0,Y ;|Xpos is F0 or FF ADDR_02B30C: 18 CLC ;| ADDR_02B30D: 65 1A ADC RAM_ScreenBndryXLo ;| ADDR_02B30F: 95 E4 STA RAM_SpriteXLo,X ;/ ADDR_02B311: A5 1B LDA RAM_ScreenBndryXHi ;\ ADDR_02B313: 79 D2 B2 ADC.W DATA_02B2D2,Y ;|handle Xhipos ADDR_02B316: 9D E0 14 STA.W RAM_SpriteXHi,X ;/ ADDR_02B319: B9 D4 B2 LDA.W DATA_02B2D4,Y ;\ Set Xspeed accordingly ADDR_02B31C: STA RAM_SpriteSpeedX,X ;/ (this was not originally dissassembled, I don't even) Return02B31E: 60 RTS ; Return DATA_02B31F: .db $3F,$40,$3F,$3F,$40,$40 DATA_02B325: .db $FA,$FB,$FC,$FD GenParaEnemy: A5 14 LDA RAM_FrameCounterB ;\01- goomba 02- bomb 03- both CODE_02B32B: 29 7F AND.B #$7F ;| every 8 seconds CODE_02B32D: D0 57 BNE Return02B386 ;/ CODE_02B32F: 22 DE A9 02 JSL.L FindFreeSlotLowPri ;\ make sure spot is available CODE_02B333: 30 51 BMI Return02B386 ;/ CODE_02B335: BB TYX ; x= index to sprite we are creating CODE_02B336: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02B338: 9D C8 14 STA.W $14C8,X ; / CODE_02B33B: 22 F9 AC 01 JSL.L GetRand ;\ CODE_02B33F: 4A LSR ;| CODE_02B340: AC B9 18 LDY.W RAM_GeneratorNum ;| if only making bombs, don't add 3 to y CODE_02B343: 90 03 BCC CODE_02B348 ;/ CODE_02B345: C8 INY ;\ CODE_02B346: C8 INY ;|add 3 to Y CODE_02B347: C8 INY ;/ CODE_02B348: B9 1D B3 LDA.W ADDR_02B31D,Y ;\ 3F, 40, 40, CODE_02B34B: 95 9E STA RAM_SpriteNum,X ;/ Which corresponds to goomba, bomb, bomb. CODE_02B34D: 22 D2 F7 07 JSL.L InitSpriteTables ; INIT each of those CODE_02B351: A5 1C LDA RAM_ScreenBndryYLo ;\ CODE_02B353: 38 SEC ;| CODE_02B354: E9 20 SBC.B #$20 ;|get the Ypos CODE_02B356: 95 D8 STA RAM_SpriteYLo,X ;/ CODE_02B358: A5 1D LDA RAM_ScreenBndryYHi ;\ CODE_02B35A: E9 00 SBC.B #$00 ;|handle the Yhipos CODE_02B35C: 9D D4 14 STA.W RAM_SpriteYHi,X ;/ CODE_02B35F: AD 8D 14 LDA.W RAM_RandomByte1 ;\ CODE_02B362: 29 FF AND.B #$FF ;| CODE_02B364: 18 CLC ;|get Xpos, CODE_02B365: 69 30 ADC.B #$30 :|keeping to see if it CODE_02B367: 08 PHP ;|carries for later CODE_02B368: 65 1A ADC RAM_ScreenBndryXLo ;| CODE_02B36A: 95 E4 STA RAM_SpriteXLo,X ;/ CODE_02B36C: 08 PHP ; again, saving the carry CODE_02B36D: 29 0E AND.B #$0E ;\ getting a frame CODE_02B36F: 9D 70 15 STA.W $1570,X ;/ (probably random) CODE_02B372: 4A LSR ;\ CODE_02B373: 29 03 AND.B #$03 ;| CODE_02B375: A8 TAY ;|getting one of 4 CODE_02B376: B9 25 B3 LDA.W DATA_02B325,Y ;|x speeds for the sprite CODE_02B379: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_02B37B: A5 1B LDA RAM_ScreenBndryXHi ;\ CODE_02B37D: 28 PLP ;| CODE_02B37E: 69 00 ADC.B #$00 ;|using the carries that might of been set CODE_02B380: 28 PLP ;|earlier, we now can handle CODE_02B381: 69 00 ADC.B #$00 ;|the Xhipos. CODE_02B383: 9D E0 14 STA.W RAM_SpriteXHi,X ;/ Return02B386: 60 RTS ; Return CODE_02B387: A5 9D LDA RAM_SpritesLocked ;\ if sprites are locked, return CODE_02B389: D0 1F BNE Return02B3AA ;/ CODE_02B38B: A2 07 LDX.B #$07 ;\ LOOP! Handle all sprites to be shot CODE_02B38D: 8E E9 15 STX.W $15E9 ;/ CODE_02B390: BD 83 17 LDA.W $1783,X ;\ if no shooter is CODE_02B393: F0 12 BEQ CODE_02B3A7 ;/ registered, return CODE_02B395: BC AB 17 LDY.W RAM_ShooterTimer,X ;\ CODE_02B398: F0 0A BEQ CODE_02B3A4 ;/ if it's time to shoot, do so CODE_02B39A: 48 PHA ; save what shooter it is CODE_02B39B: A5 13 LDA RAM_FrameCounter ;\ CODE_02B39D: 4A LSR ;| CODE_02B39E: 90 03 BCC CODE_02B3A3 ;|decrement shooter timer every CODE_02B3A0: DE AB 17 DEC.W RAM_ShooterTimer,X ;/ other frame CODE_02B3A3: 68 PLA ; A = what shooter it is CODE_02B3A4: 20 AB B3 JSR.W CODE_02B3AB ; shoot CODE_02B3A7: CA DEX ;\ if haven't handled all sprites, CODE_02B3A8: 10 E3 BPL CODE_02B38D ;/ then keep going Return02B3AA: 60 RTS ; Return CODE_02B3AB: 3A DEC A ;\ shoot projectile accordingly CODE_02B3AC: 22 DF 86 00 JSL.L ExecutePtr ;/ ShooterPtrs: 66 B4 .dw ShootBullet ; 00 - Bullet Bill shooter B6 B3 .dw LaunchTorpedo ; 01 - Torpedo Ted launcher AA B3 .dw Return02B3AA ; 02 - Unused LaunchTorpedo: BD AB 17 LDA.W RAM_ShooterTimer,X ;\ If the shooter timer isn't CODE_02B3B9: D0 71 BNE Return02B42C ;/ 00, return CODE_02B3BB: A9 50 LDA.B #$50 ;\ reset the timer CODE_02B3BD: 9D AB 17 STA.W RAM_ShooterTimer,X ;/ CODE_02B3C0: BD 8B 17 LDA.W RAM_ShooterYLo,X ;\ CODE_02B3C3: C5 1C CMP RAM_ScreenBndryYLo ;| CODE_02B3C5: BD 93 17 LDA.W RAM_ShooterYHi,X ;| CODE_02B3C8: E5 1D SBC RAM_ScreenBndryYHi ;| if below the Y screen boundry, CODE_02B3CA: D0 DE BNE Return02B3AA ;/return CODE_02B3CC: BD 9B 17 LDA.W RAM_ShooterXLo,X ;\ CODE_02B3CF: C5 1A CMP RAM_ScreenBndryXLo ;|if below the X screen boundry, CODE_02B3D1: BD A3 17 LDA.W RAM_ShooterXHi,X ;|return CODE_02B3D4: E5 1B SBC RAM_ScreenBndryXHi ;| CODE_02B3D6: D0 D2 BNE Return02B3AA ;/ CODE_02B3D8: BD 9B 17 LDA.W RAM_ShooterXLo,X ;\ CODE_02B3DB: 38 SEC ;| CODE_02B3DC: E5 1A SBC RAM_ScreenBndryXLo ;| CODE_02B3DE: 18 CLC ;|if a certain amount in front the CODE_02B3DF: 69 10 ADC.B #$10 ;|X boundry, (close to,) CODE_02B3E1: C9 20 CMP.B #$20 ;| CODE_02B3E3: 90 47 BCC Return02B42C ;/return CODE_02B3E5: 22 DE A9 02 JSL.L FindFreeSlotLowPri ;\ make sure spot is available CODE_02B3E9: 30 41 BMI Return02B42C ;/ CODE_02B3EB: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02B3ED: 99 C8 14 STA.W $14C8,Y ; / CODE_02B3F0: A9 44 LDA.B #$44 ; \ Sprite = Torpedo Ted CODE_02B3F2: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_02B3F5: BD 9B 17 LDA.W RAM_ShooterXLo,X ; \ Sprite position = Shooter position CODE_02B3F8: 99 E4 00 STA.W RAM_SpriteXLo,Y ; | CODE_02B3FB: BD A3 17 LDA.W RAM_ShooterXHi,X ; | CODE_02B3FE: 99 E0 14 STA.W RAM_SpriteXHi,Y ; | CODE_02B401: BD 8B 17 LDA.W RAM_ShooterYLo,X ; | CODE_02B404: 99 D8 00 STA.W RAM_SpriteYLo,Y ; | CODE_02B407: BD 93 17 LDA.W RAM_ShooterYHi,X ; | CODE_02B40A: 99 D4 14 STA.W RAM_SpriteYHi,Y ; / CODE_02B40D: DA PHX CODE_02B40E: BB TYX ; X = sprite index CODE_02B40F: 22 D2 F7 07 JSL.L InitSpriteTables ; Setup sprite tables CODE_02B413: 20 8D 84 JSR.W SubHorzPosBnk2 ; \ Direction = Towards Mario CODE_02B416: 98 TYA ; | CODE_02B417: 9D 7C 15 STA.W RAM_SpriteDir,X ; / CODE_02B41A: 85 00 STA $00 ; $00 = sprite direction CODE_02B41C: A9 30 LDA.B #$30 ; \ Set time to stay behind objects CODE_02B41E: 9D 40 15 STA.W $1540,X ; / CODE_02B421: FA PLX ; X = shooter index CODE_02B422: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot CODE_02B424: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_02B427: F0 04 BEQ CODE_02B42D ; | CODE_02B429: 88 DEY ; | CODE_02B42A: 10 F8 BPL CODE_02B424 ; | Return02B42C: 60 RTS ; / Return if no free slots CODE_02B42D: A9 08 LDA.B #$08 ; \ Extended sprite = Torpedo Ted arm CODE_02B42F: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_02B432: BD 9B 17 LDA.W RAM_ShooterXLo,X ;\ CODE_02B435: 18 CLC ;| CODE_02B436: 69 08 ADC.B #$08 ;|Make hand a little to the right of the shooter CODE_02B438: 99 1F 17 STA.W RAM_ExSpriteXLo,Y ;/ (center hand) CODE_02B43B: BD A3 17 LDA.W RAM_ShooterXHi,X ;\ CODE_02B43E: 69 00 ADC.B #$00 ;| handle the high byte CODE_02B440: 99 33 17 STA.W RAM_ExSpriteXHi,Y ;/ CODE_02B443: BD 8B 17 LDA.W RAM_ShooterYLo,X ;\ CODE_02B446: 38 SEC ;|make hand a little below the shooter CODE_02B447: E9 09 SBC.B #$09 ;| CODE_02B449: 99 15 17 STA.W RAM_ExSpriteYLo,Y ;/ CODE_02B44C: BD 93 17 LDA.W RAM_ShooterYHi,X ;\ CODE_02B44F: E9 00 SBC.B #$00 ;| handle the high byte CODE_02B451: 99 29 17 STA.W RAM_ExSpriteYHi,Y ;/ CODE_02B454: A9 90 LDA.B #$90 ;\ Fireball hit frame counter? CODE_02B456: 99 6F 17 STA.W $176F,Y ;/ what? CODE_02B459: DA PHX ; preserve X CODE_02B45A: A6 00 LDX $00 ;\ CODE_02B45C: BD 64 B4 LDA.W DATA_02B464,X ;| 00 must have which way mario is, so CODE_02B45F: 99 47 17 STA.W RAM_ExSprSpeedX,Y ;/ make the sprite shoot to him CODE_02B462: FA PLX Return02B463: 60 RTS ; Return DATA_02B464: .db $01,$FF ShootBullet: BD AB 17 LDA.W RAM_ShooterTimer,X ; \ Return if it's not time to generate CODE_02B469: D0 72 BNE Return02B4DD ; / CODE_02B46B: A9 60 LDA.B #$60 ; \ Set time till next generation = 60 CODE_02B46D: 9D AB 17 STA.W RAM_ShooterTimer,X ; / CODE_02B470: BD 8B 17 LDA.W RAM_ShooterYLo,X ; \ Don't generate if off screen vertically CODE_02B473: C5 1C CMP RAM_ScreenBndryYLo ; | CODE_02B475: BD 93 17 LDA.W RAM_ShooterYHi,X ; | CODE_02B478: E5 1D SBC RAM_ScreenBndryYHi ; | CODE_02B47A: D0 61 BNE Return02B4DD ; / CODE_02B47C: BD 9B 17 LDA.W RAM_ShooterXLo,X ; \ Don't generate if off screen horizontally CODE_02B47F: C5 1A CMP RAM_ScreenBndryXLo ; | CODE_02B481: BD A3 17 LDA.W RAM_ShooterXHi,X ; | CODE_02B484: E5 1B SBC RAM_ScreenBndryXHi ; | CODE_02B486: D0 55 BNE Return02B4DD ; / CODE_02B488: BD 9B 17 LDA.W RAM_ShooterXLo,X ; \ If too close to X boundry, don't fire CODE_02B48B: 38 SEC ; | CODE_02B48C: E5 1A SBC RAM_ScreenBndryXLo ; | CODE_02B48E: 18 CLC ; | CODE_02B48F: 69 10 ADC.B #$10 ; | CODE_02B491: C9 10 CMP.B #$10 ; | CODE_02B493: 90 48 BCC Return02B4DD ; / CODE_02B495: A5 94 LDA RAM_MarioXPos ; \ Don't fire if mario is next to generator CODE_02B497: FD 9B 17 SBC.W RAM_ShooterXLo,X ; | CODE_02B49A: 18 CLC ; | CODE_02B49B: 69 11 ADC.B #$11 ; | CODE_02B49D: C9 22 CMP.B #$22 ; | CODE_02B49F: 90 3C BCC Return02B4DD ; / CODE_02B4A1: 22 DE A9 02 JSL.L FindFreeSlotLowPri ; \ Get an index to an unused sprite slot, return if all slots full CODE_02B4A5: 30 36 BMI Return02B4DD ; / After: Y has index of sprite being generated GenerateBullet: A9 09 LDA.B #$09 ; \ Only shoot every #$80 frames CODE_02B4A9: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_02B4AC: A9 01 LDA.B #$01 ; \ Sprite status = Initialization CODE_02B4AE: 99 C8 14 STA.W $14C8,Y ; / CODE_02B4B1: A9 1C LDA.B #$1C ; \ New sprite = Bullet Bill CODE_02B4B3: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_02B4B6: BD 9B 17 LDA.W RAM_ShooterXLo,X ; \ Set x position for new sprite CODE_02B4B9: 99 E4 00 STA.W RAM_SpriteXLo,Y ; | CODE_02B4BC: BD A3 17 LDA.W RAM_ShooterXHi,X ; | CODE_02B4BF: 99 E0 14 STA.W RAM_SpriteXHi,Y ; / CODE_02B4C2: BD 8B 17 LDA.W RAM_ShooterYLo,X ; \ Set y position for new sprite CODE_02B4C5: 38 SEC ; | (y position of generator - 1) CODE_02B4C6: E9 01 SBC.B #$01 ; | CODE_02B4C8: 99 D8 00 STA.W RAM_SpriteYLo,Y ; | CODE_02B4CB: BD 93 17 LDA.W RAM_ShooterYHi,X ; | CODE_02B4CE: E9 00 SBC.B #$00 ; | CODE_02B4D0: 99 D4 14 STA.W RAM_SpriteYHi,Y ; / CODE_02B4D3: DA PHX ; \ Before: X must have index of sprite being generated CODE_02B4D4: BB TYX ; | Routine clears *all* old sprite values... CODE_02B4D5: 22 D2 F7 07 JSL.L InitSpriteTables ; | ...and loads in new values for the 6 main sprite tables CODE_02B4D9: FA PLX ; / CODE_02B4DA: 20 DE B4 JSR.W ShowShooterSmoke ; Display smoke graphic Return02B4DD: 60 RTS ; Return ShowShooterSmoke: A0 03 LDY.B #$03 ; \ Find a free slot to display effect FindFreeSmokeSlot: B9 C0 17 LDA.W $17C0,Y ; | CODE_02B4E3: F0 06 BEQ SetShooterSmoke ; | CODE_02B4E5: 88 DEY ; | CODE_02B4E6: 10 F8 BPL FindFreeSmokeSlot ; | Return02B4E8: 60 RTS ; / Return if no free slots ShooterSmokeDispX: .db $F4,$0C SetShooterSmoke: A9 01 LDA.B #$01 ; \ Set effect graphic to smoke graphic CODE_02B4ED: 99 C0 17 STA.W $17C0,Y ; / CODE_02B4F0: BD 8B 17 LDA.W RAM_ShooterYLo,X ; \ Smoke y position = generator y position CODE_02B4F3: 99 C4 17 STA.W $17C4,Y ; / CODE_02B4F6: A9 1B LDA.B #$1B ; \ Set time to show smoke CODE_02B4F8: 99 CC 17 STA.W $17CC,Y ; / CODE_02B4FB: BD 9B 17 LDA.W RAM_ShooterXLo,X ; \ Load generator x position and store it for later CODE_02B4FE: 48 PHA ; / CODE_02B4FF: A5 94 LDA RAM_MarioXPos ; \ Determine which side of the generator mario is on CODE_02B501: DD 9B 17 CMP.W RAM_ShooterXLo,X ; | CODE_02B504: A5 95 LDA RAM_MarioXPosHi ; | CODE_02B506: FD A3 17 SBC.W RAM_ShooterXHi,X ; | CODE_02B509: A2 00 LDX.B #$00 ; | CODE_02B50B: 90 01 BCC CODE_02B50E ; | CODE_02B50D: E8 INX ; / CODE_02B50E: 68 PLA ; \ Set smoke x position from generator position CODE_02B50F: 18 CLC ; | CODE_02B510: 7D E9 B4 ADC.W ShooterSmokeDispX,X ; | CODE_02B513: 99 C8 17 STA.W $17C8,Y ; / CODE_02B516: AE E9 15 LDX.W $15E9 ; X = Sprite index Return02B519: 60 RTS ; Return CODE_02B51A: 8A TXA CODE_02B51B: 18 CLC CODE_02B51C: 69 04 ADC.B #$04 CODE_02B51E: AA TAX CODE_02B51F: 20 26 B5 JSR.W CODE_02B526 CODE_02B522: AE 98 16 LDX.W $1698 Return02B525: 60 RTS ; Return CODE_02B526: BD B1 16 LDA.W RAM_BouncBlkSpeedX,X CODE_02B529: 0A ASL CODE_02B52A: 0A ASL CODE_02B52B: 0A ASL CODE_02B52C: 0A ASL CODE_02B52D: 18 CLC CODE_02B52E: 7D B9 16 ADC.W $16B9,X CODE_02B531: 9D B9 16 STA.W $16B9,X CODE_02B534: 08 PHP CODE_02B535: BD B1 16 LDA.W RAM_BouncBlkSpeedX,X CODE_02B538: 4A LSR CODE_02B539: 4A LSR CODE_02B53A: 4A LSR CODE_02B53B: 4A LSR CODE_02B53C: C9 08 CMP.B #$08 CODE_02B53E: A0 00 LDY.B #$00 CODE_02B540: 90 03 BCC CODE_02B545 CODE_02B542: 09 F0 ORA.B #$F0 CODE_02B544: 88 DEY CODE_02B545: 28 PLP CODE_02B546: 7D A1 16 ADC.W RAM_BounceSprXLo,X CODE_02B549: 9D A1 16 STA.W RAM_BounceSprXLo,X CODE_02B54C: 98 TYA CODE_02B54D: 7D A9 16 ADC.W RAM_BounceSprXHi,X CODE_02B550: 9D A9 16 STA.W RAM_BounceSprXHi,X Return02B553: 60 RTS ; Return CODE_02B554: 8A TXA CODE_02B555: 18 CLC CODE_02B556: 69 0A ADC.B #$0A CODE_02B558: AA TAX CODE_02B559: 20 60 B5 JSR.W CODE_02B560 CODE_02B55C: AE E9 15 LDX.W $15E9 ; X = Sprite index Return02B55F: 60 RTS ; Return CODE_02B560: BD 3D 17 LDA.W RAM_ExSprSpeedY,X CODE_02B563: 0A ASL CODE_02B564: 0A ASL CODE_02B565: 0A ASL CODE_02B566: 0A ASL CODE_02B567: 18 CLC CODE_02B568: 7D 51 17 ADC.W $1751,X CODE_02B56B: 9D 51 17 STA.W $1751,X CODE_02B56E: 08 PHP CODE_02B56F: A0 00 LDY.B #$00 CODE_02B571: BD 3D 17 LDA.W RAM_ExSprSpeedY,X CODE_02B574: 4A LSR CODE_02B575: 4A LSR CODE_02B576: 4A LSR CODE_02B577: 4A LSR CODE_02B578: C9 08 CMP.B #$08 CODE_02B57A: 90 03 BCC CODE_02B57F CODE_02B57C: 09 F0 ORA.B #$F0 CODE_02B57E: 88 DEY CODE_02B57F: 28 PLP CODE_02B580: 7D 15 17 ADC.W RAM_ExSpriteYLo,X CODE_02B583: 9D 15 17 STA.W RAM_ExSpriteYLo,X CODE_02B586: 98 TYA CODE_02B587: 7D 29 17 ADC.W RAM_ExSpriteYHi,X CODE_02B58A: 9D 29 17 STA.W RAM_ExSpriteYHi,X Return02B58D: 60 RTS ; Return CODE_02B58E: BD D8 17 LDA.W $17D8,X CODE_02B591: 0A ASL CODE_02B592: 0A ASL CODE_02B593: 0A ASL CODE_02B594: 0A ASL CODE_02B595: 18 CLC CODE_02B596: 7D DC 17 ADC.W $17DC,X CODE_02B599: 9D DC 17 STA.W $17DC,X CODE_02B59C: 08 PHP CODE_02B59D: A0 00 LDY.B #$00 CODE_02B59F: BD D8 17 LDA.W $17D8,X CODE_02B5A2: 4A LSR CODE_02B5A3: 4A LSR CODE_02B5A4: 4A LSR CODE_02B5A5: 4A LSR CODE_02B5A6: C9 08 CMP.B #$08 CODE_02B5A8: 90 03 BCC CODE_02B5AD CODE_02B5AA: 09 F0 ORA.B #$F0 CODE_02B5AC: 88 DEY CODE_02B5AD: 28 PLP CODE_02B5AE: 7D D4 17 ADC.W $17D4,X CODE_02B5B1: 9D D4 17 STA.W $17D4,X CODE_02B5B4: 98 TYA CODE_02B5B5: 7D E8 17 ADC.W $17E8,X CODE_02B5B8: 9D E8 17 STA.W $17E8,X Return02B5BB: 60 RTS ; Return CODE_02B5BC: 8A TXA CODE_02B5BD: 18 CLC CODE_02B5BE: 69 0C ADC.B #$0C CODE_02B5C0: AA TAX CODE_02B5C1: 20 C8 B5 JSR.W CODE_02B5C8 CODE_02B5C4: AE 98 16 LDX.W $1698 Return02B5C7: 60 RTS ; Return CODE_02B5C8: BD 20 18 LDA.W $1820,X CODE_02B5CB: 0A ASL CODE_02B5CC: 0A ASL CODE_02B5CD: 0A ASL CODE_02B5CE: 0A ASL CODE_02B5CF: 18 CLC CODE_02B5D0: 7D 38 18 ADC.W $1838,X CODE_02B5D3: 9D 38 18 STA.W $1838,X CODE_02B5D6: 08 PHP CODE_02B5D7: BD 20 18 LDA.W $1820,X CODE_02B5DA: 4A LSR CODE_02B5DB: 4A LSR CODE_02B5DC: 4A LSR CODE_02B5DD: 4A LSR CODE_02B5DE: C9 08 CMP.B #$08 CODE_02B5E0: 90 02 BCC CODE_02B5E4 CODE_02B5E2: 09 F0 ORA.B #$F0 CODE_02B5E4: 28 PLP CODE_02B5E5: 7D FC 17 ADC.W $17FC,X CODE_02B5E8: 9D FC 17 STA.W $17FC,X Return02B5EB: 60 RTS ; Return Empty02B5EC: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF PokeyClipIndex: .db $1B,$1B,$1A,$19,$18,$17 PokeyMain: 8B PHB CODE_02B637: 4B PHK CODE_02B638: AB PLB CODE_02B639: 20 72 B6 JSR.W PokeyMainRt CODE_02B63C: B5 C2 LDA RAM_SpriteState,X ; \ After: Y = number of segments CODE_02B63E: DA PHX ; | $C2,x has a bit set for each segment remaining CODE_02B63F: A2 04 LDX.B #$04 ; | for X=0 to X=4... CODE_02B641: A0 00 LDY.B #$00 ; | PokeyLoopStart: 4A LSR ; | CODE_02B644: 90 01 BCC BitNotSet ; | CODE_02B646: C8 INY ; | ...Increment Y if bit X is set BitNotSet: CA DEX ; | CODE_02B648: 10 F9 BPL PokeyLoopStart ; | CODE_02B64A: FA PLX ; / CODE_02B64B: B9 30 B6 LDA.W PokeyClipIndex,Y ; \ Update the index into the clipping table CODE_02B64E: 9D 62 16 STA.W RAM_Tweaker1662,X ; / CODE_02B651: AB PLB Return02B652: 6B RTL ; Return DATA_02B653: .db $01,$02,$04,$08 DATA_02B657: .db $00,$01,$03,$07 DATA_02B65B: .db $FF,$FE,$FC,$F8 PokeyTileDispX: .db $00,$01,$00,$FF PokeySpeed: .db $02,$FE DATA_02B665: .db $00,$05,$09,$0C,$0E,$0F,$10,$10 .db $10,$10,$10,$10,$10 PokeyMainRt: BD 34 15 LDA.W $1534,X CODE_02B675: D0 0A BNE CODE_02B681 CODE_02B677: BD C8 14 LDA.W $14C8,X ; \ Branch if Status == Normal CODE_02B67A: C9 08 CMP.B #$08 ; | CODE_02B67C: F0 29 BEQ CODE_02B6A7 ; / CODE_02B67E: 4C 26 B7 JMP.W CODE_02B726 CODE_02B681: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02B685: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02B688: B5 C2 LDA RAM_SpriteState,X CODE_02B68A: C9 01 CMP.B #$01 CODE_02B68C: A9 8A LDA.B #$8A CODE_02B68E: 90 02 BCC CODE_02B692 CODE_02B690: A9 E8 LDA.B #$E8 CODE_02B692: 99 02 03 STA.W OAM_Tile,Y CODE_02B695: BD C8 14 LDA.W $14C8,X CODE_02B698: C9 08 CMP.B #$08 CODE_02B69A: D0 0A BNE Return02B6A6 CODE_02B69C: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02B69F: F6 AA INC RAM_SpriteSpeedY,X CODE_02B6A1: F6 AA INC RAM_SpriteSpeedY,X CODE_02B6A3: 20 25 D0 JSR.W SubOffscreen0Bnk2 Return02B6A6: 60 RTS ; Return CODE_02B6A7: B5 C2 LDA RAM_SpriteState,X ; \ Erase sprite if no segments remain CODE_02B6A9: D0 04 BNE PokeyAlive ; | CODE_02B6AB: 9E C8 14 STZ.W $14C8,X ; | Return02B6AE: 60 RTS ; Return PokeyAlive: C9 20 CMP.B #$20 CODE_02B6B1: B0 F8 BCS CODE_02B6AB CODE_02B6B3: A5 9D LDA RAM_SpritesLocked CODE_02B6B5: D0 6F BNE CODE_02B726 CODE_02B6B7: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02B6BA: 22 DC A7 01 JSL.L MarioSprInteract CODE_02B6BE: FE 70 15 INC.W $1570,X CODE_02B6C1: BD 70 15 LDA.W $1570,X CODE_02B6C4: 29 7F AND.B #$7F CODE_02B6C6: D0 07 BNE CODE_02B6CF CODE_02B6C8: 20 FA D4 JSR.W CODE_02D4FA CODE_02B6CB: 98 TYA CODE_02B6CC: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02B6CF: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02B6D2: B9 63 B6 LDA.W PokeySpeed,Y CODE_02B6D5: 95 B6 STA RAM_SpriteSpeedX,X CODE_02B6D7: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02B6DA: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02B6DD: B5 AA LDA RAM_SpriteSpeedY,X CODE_02B6DF: C9 40 CMP.B #$40 CODE_02B6E1: 10 05 BPL CODE_02B6E8 CODE_02B6E3: 18 CLC CODE_02B6E4: 69 02 ADC.B #$02 CODE_02B6E6: 95 AA STA RAM_SpriteSpeedY,X CODE_02B6E8: 22 38 91 01 JSL.L CODE_019138 CODE_02B6EC: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02B6EF: 29 04 AND.B #$04 ; | CODE_02B6F1: F0 02 BEQ CODE_02B6F5 ; / CODE_02B6F3: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_02B6F5: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_02B6F8: 29 03 AND.B #$03 CODE_02B6FA: F0 08 BEQ CODE_02B704 ADDR_02B6FC: BD 7C 15 LDA.W RAM_SpriteDir,X ADDR_02B6FF: 49 01 EOR.B #$01 ADDR_02B701: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02B704: 20 AC B7 JSR.W CODE_02B7AC CODE_02B707: A0 00 LDY.B #$00 CODE_02B709: B5 C2 LDA RAM_SpriteState,X CODE_02B70B: 39 53 B6 AND.W DATA_02B653,Y CODE_02B70E: D0 11 BNE CODE_02B721 CODE_02B710: B5 C2 LDA RAM_SpriteState,X CODE_02B712: 48 PHA CODE_02B713: 39 57 B6 AND.W DATA_02B657,Y CODE_02B716: 85 00 STA $00 CODE_02B718: 68 PLA CODE_02B719: 4A LSR CODE_02B71A: 39 5B B6 AND.W DATA_02B65B,Y CODE_02B71D: 05 00 ORA $00 CODE_02B71F: 95 C2 STA RAM_SpriteState,X CODE_02B721: C8 INY CODE_02B722: C0 04 CPY.B #$04 CODE_02B724: D0 E3 BNE CODE_02B709 CODE_02B726: 20 78 D3 JSR.W GetDrawInfo2 CODE_02B729: A5 01 LDA $01 CODE_02B72B: 18 CLC CODE_02B72C: 69 40 ADC.B #$40 CODE_02B72E: 85 01 STA $01 CODE_02B730: B5 C2 LDA RAM_SpriteState,X CODE_02B732: 85 02 STA $02 CODE_02B734: 85 07 STA $07 CODE_02B736: BD 1C 15 LDA.W $151C,X CODE_02B739: 85 04 STA $04 CODE_02B73B: BC 40 15 LDY.W $1540,X CODE_02B73E: B9 65 B6 LDA.W DATA_02B665,Y CODE_02B741: 85 03 STA $03 CODE_02B743: 64 05 STZ $05 CODE_02B745: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02B748: DA PHX CODE_02B749: A2 04 LDX.B #$04 CODE_02B74B: 86 06 STX $06 CODE_02B74D: A5 14 LDA RAM_FrameCounterB CODE_02B74F: 4A LSR CODE_02B750: 4A LSR CODE_02B751: 4A LSR CODE_02B752: 18 CLC CODE_02B753: 65 06 ADC $06 CODE_02B755: 29 03 AND.B #$03 CODE_02B757: AA TAX CODE_02B758: A5 07 LDA $07 CODE_02B75A: C9 01 CMP.B #$01 CODE_02B75C: D0 02 BNE CODE_02B760 CODE_02B75E: A2 00 LDX.B #$00 CODE_02B760: A5 00 LDA $00 CODE_02B762: 18 CLC CODE_02B763: 7D 5F B6 ADC.W PokeyTileDispX,X CODE_02B766: 99 00 03 STA.W OAM_DispX,Y CODE_02B769: A6 06 LDX $06 CODE_02B76B: A5 01 LDA $01 CODE_02B76D: 46 02 LSR $02 CODE_02B76F: 90 10 BCC CODE_02B781 CODE_02B771: 46 04 LSR $04 CODE_02B773: B0 06 BCS CODE_02B77B CODE_02B775: 48 PHA CODE_02B776: A5 03 LDA $03 CODE_02B778: 85 05 STA $05 CODE_02B77A: 68 PLA CODE_02B77B: 38 SEC CODE_02B77C: E5 05 SBC $05 CODE_02B77E: 99 01 03 STA.W OAM_DispY,Y CODE_02B781: A5 01 LDA $01 CODE_02B783: 38 SEC CODE_02B784: E9 10 SBC.B #$10 CODE_02B786: 85 01 STA $01 CODE_02B788: A5 02 LDA $02 CODE_02B78A: 4A LSR CODE_02B78B: A9 E8 LDA.B #$E8 CODE_02B78D: B0 02 BCS CODE_02B791 CODE_02B78F: A9 8A LDA.B #$8A CODE_02B791: 99 02 03 STA.W OAM_Tile,Y CODE_02B794: A9 05 LDA.B #$05 CODE_02B796: 05 64 ORA $64 CODE_02B798: 99 03 03 STA.W OAM_Prop,Y CODE_02B79B: C8 INY CODE_02B79C: C8 INY CODE_02B79D: C8 INY CODE_02B79E: C8 INY CODE_02B79F: CA DEX CODE_02B7A0: 10 A9 BPL CODE_02B74B CODE_02B7A2: FA PLX CODE_02B7A3: A9 04 LDA.B #$04 CODE_02B7A5: A0 02 LDY.B #$02 CODE_02B7A7: 22 B3 B7 01 JSL.L FinishOAMWrite Return02B7AB: 60 RTS ; Return CODE_02B7AC: A0 09 LDY.B #$09 CODE_02B7AE: 98 TYA CODE_02B7AF: 45 13 EOR RAM_FrameCounter CODE_02B7B1: 4A LSR CODE_02B7B2: B0 1E BCS CODE_02B7D2 CODE_02B7B4: B9 C8 14 LDA.W $14C8,Y CODE_02B7B7: C9 0A CMP.B #$0A CODE_02B7B9: D0 17 BNE CODE_02B7D2 CODE_02B7BB: 8B PHB CODE_02B7BC: A9 03 LDA.B #$03 CODE_02B7BE: 48 PHA CODE_02B7BF: AB PLB CODE_02B7C0: DA PHX CODE_02B7C1: BB TYX CODE_02B7C2: 22 E5 B6 03 JSL.L GetSpriteClippingB CODE_02B7C6: FA PLX CODE_02B7C7: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_02B7CB: 22 2B B7 03 JSL.L CheckForContact CODE_02B7CF: AB PLB CODE_02B7D0: B0 04 BCS CODE_02B7D6 CODE_02B7D2: 88 DEY CODE_02B7D3: 10 D9 BPL CODE_02B7AE Return02B7D5: 60 RTS ; Return CODE_02B7D6: BD 58 15 LDA.W $1558,X CODE_02B7D9: D0 FA BNE Return02B7D5 CODE_02B7DB: B9 D8 00 LDA.W RAM_SpriteYLo,Y CODE_02B7DE: 38 SEC CODE_02B7DF: F5 D8 SBC RAM_SpriteYLo,X CODE_02B7E1: 5A PHY CODE_02B7E2: 8C 95 16 STY.W $1695 CODE_02B7E5: 20 ED B7 JSR.W RemovePokeySgmntRt CODE_02B7E8: 7A PLY CODE_02B7E9: 20 2E B8 JSR.W CODE_02B82E Return02B7EC: 60 RTS ; Return RemovePokeySgmntRt: A0 00 LDY.B #$00 CODE_02B7EF: C9 09 CMP.B #$09 CODE_02B7F1: 30 10 BMI CODE_02B803 CODE_02B7F3: C8 INY CODE_02B7F4: C9 19 CMP.B #$19 CODE_02B7F6: 30 0B BMI CODE_02B803 CODE_02B7F8: C8 INY CODE_02B7F9: C9 29 CMP.B #$29 CODE_02B7FB: 30 06 BMI CODE_02B803 CODE_02B7FD: C8 INY CODE_02B7FE: C9 39 CMP.B #$39 CODE_02B800: 30 01 BMI CODE_02B803 CODE_02B802: C8 INY CODE_02B803: B5 C2 LDA RAM_SpriteState,X ; \ Take away a segment by unsetting a bit CODE_02B805: 39 24 B8 AND.W PokeyUnsetBit,Y ; | CODE_02B808: 95 C2 STA RAM_SpriteState,X ; / CODE_02B80A: 9D 1C 15 STA.W $151C,X CODE_02B80D: B9 29 B8 LDA.W DATA_02B829,Y CODE_02B810: 85 0D STA $0D CODE_02B812: A9 0C LDA.B #$0C CODE_02B814: 9D 40 15 STA.W $1540,X CODE_02B817: 0A ASL CODE_02B818: 9D 58 15 STA.W $1558,X Return02B81B: 60 RTS ; Return RemovePokeySegment: 8B PHB ; Wrapper CODE_02B81D: 4B PHK CODE_02B81E: AB PLB CODE_02B81F: 20 ED B7 JSR.W RemovePokeySgmntRt CODE_02B822: AB PLB Return02B823: 6B RTL ; Return PokeyUnsetBit: .db $EF,$F7,$FB,$FD,$FE DATA_02B829: .db $E0,$F0,$F8,$FC,$FE CODE_02B82E: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_02B832: 30 4D BMI Return02B881 ; / CODE_02B834: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_02B836: 99 C8 14 STA.W $14C8,Y ; / CODE_02B839: A9 70 LDA.B #$70 CODE_02B83B: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_02B83E: B5 E4 LDA RAM_SpriteXLo,X CODE_02B840: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_02B843: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02B846: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_02B849: DA PHX CODE_02B84A: BB TYX CODE_02B84B: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02B84F: AE 95 16 LDX.W $1695 CODE_02B852: B5 D8 LDA RAM_SpriteYLo,X CODE_02B854: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_02B857: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02B85A: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_02B85D: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02B85F: 85 00 STA $00 CODE_02B861: 0A ASL CODE_02B862: 66 00 ROR $00 CODE_02B864: A5 00 LDA $00 CODE_02B866: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_02B869: A9 E0 LDA.B #$E0 CODE_02B86B: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_02B86E: FA PLX CODE_02B86F: B5 C2 LDA RAM_SpriteState,X CODE_02B871: 25 0D AND $0D CODE_02B873: 99 C2 00 STA.W RAM_SpriteState,Y CODE_02B876: A9 01 LDA.B #$01 CODE_02B878: 99 34 15 STA.W $1534,Y CODE_02B87B: A9 01 LDA.B #$01 CODE_02B87D: 22 E1 AC 02 JSL.L CODE_02ACE1 Return02B881: 60 RTS ; Return TorpedoTedMain: 8B PHB CODE_02B883: 4B PHK CODE_02B884: AB PLB CODE_02B885: 20 8A B8 JSR.W CODE_02B88A CODE_02B888: AB PLB Return02B889: 6B RTL ; Return CODE_02B88A: A5 64 LDA $64 ; \ Save $64 CODE_02B88C: 48 PHA ; / CODE_02B88D: BD 40 15 LDA.W $1540,X ; \ If being launched... CODE_02B890: F0 04 BEQ CODE_02B896 ; | ...set $64 = #$10... CODE_02B892: A9 10 LDA.B #$10 ; | ...so it will be drawn behind objects CODE_02B894: 85 64 STA $64 ; / CODE_02B896: 20 F7 B8 JSR.W TorpedoGfxRt ; Draw sprite CODE_02B899: 68 PLA ; \ Restore $64 CODE_02B89A: 85 64 STA $64 ; / CODE_02B89C: A5 9D LDA RAM_SpritesLocked ; \ Return if sprites locked CODE_02B89E: D0 17 BNE Return02B8B7 ; / CODE_02B8A0: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02B8A3: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_02B8A7: BD 40 15 LDA.W $1540,X ; \ Branch if not being launched CODE_02B8AA: F0 10 BEQ CODE_02B8BC ; / CODE_02B8AC: A9 08 LDA.B #$08 ; \ Sprite Y speed = #$08 CODE_02B8AE: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_02B8B0: 20 94 D2 JSR.W UpdateYPosNoGrvty ; Apply speed to position CODE_02B8B3: A9 10 LDA.B #$10 ; \ Sprite Y speed = #$10 CODE_02B8B5: 95 AA STA RAM_SpriteSpeedY,X ; / Return02B8B7: 60 RTS ; Return TorpedoMaxSpeed: .db $20,$F0 TorpedoAccel: .db $01,$FF CODE_02B8BC: A5 13 LDA RAM_FrameCounter ; \ Only increase X speed every 4 frames CODE_02B8BE: 29 03 AND.B #$03 ; | CODE_02B8C0: D0 10 BNE CODE_02B8D2 ; / CODE_02B8C2: BC 7C 15 LDY.W RAM_SpriteDir,X ; \ If not at maximum, increase X speed CODE_02B8C5: B5 B6 LDA RAM_SpriteSpeedX,X ; | CODE_02B8C7: D9 B8 B8 CMP.W TorpedoMaxSpeed,Y ; | CODE_02B8CA: F0 06 BEQ CODE_02B8D2 ; | CODE_02B8CC: 18 CLC ; | CODE_02B8CD: 79 BA B8 ADC.W TorpedoAccel,Y ; | CODE_02B8D0: 95 B6 STA RAM_SpriteSpeedX,X ; / CODE_02B8D2: 20 88 D2 JSR.W UpdateXPosNoGrvty ; \ Apply speed to position CODE_02B8D5: 20 94 D2 JSR.W UpdateYPosNoGrvty ; / CODE_02B8D8: B5 AA LDA RAM_SpriteSpeedY,X ; \ If sprite has Y speed... CODE_02B8DA: F0 08 BEQ CODE_02B8E4 ; | CODE_02B8DC: A5 13 LDA RAM_FrameCounter ; | ...Decrease Y speed every other frame CODE_02B8DE: 29 01 AND.B #$01 ; | CODE_02B8E0: D0 02 BNE CODE_02B8E4 ; | CODE_02B8E2: D6 AA DEC RAM_SpriteSpeedY,X ; / CODE_02B8E4: 8A TXA ; \ Run $02B952 every 8 frames CODE_02B8E5: 18 CLC ; | CODE_02B8E6: 65 14 ADC RAM_FrameCounterB ; | CODE_02B8E8: 29 07 AND.B #$07 ; | CODE_02B8EA: D0 03 BNE Return02B8EF ; | CODE_02B8EC: 20 52 B9 JSR.W CODE_02B952 ; / Return02B8EF: 60 RTS ; Return DATA_02B8F0: .db $10 DATA_02B8F1: .db $00,$10,$80,$82 DATA_02B8F5: .db $40,$00 TorpedoGfxRt: 20 78 D3 JSR.W GetDrawInfo2 CODE_02B8FA: A5 01 LDA $01 CODE_02B8FC: 99 01 03 STA.W OAM_DispY,Y CODE_02B8FF: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02B902: DA PHX CODE_02B903: BD F6 15 LDA.W RAM_SpritePal,X CODE_02B906: 05 64 ORA $64 CODE_02B908: 85 02 STA $02 CODE_02B90A: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02B90D: AA TAX CODE_02B90E: A5 00 LDA $00 CODE_02B910: 18 CLC CODE_02B911: 7D F0 B8 ADC.W DATA_02B8F0,X CODE_02B914: 99 00 03 STA.W OAM_DispX,Y CODE_02B917: A5 00 LDA $00 CODE_02B919: 18 CLC CODE_02B91A: 7D F1 B8 ADC.W DATA_02B8F1,X CODE_02B91D: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02B920: BD F5 B8 LDA.W DATA_02B8F5,X CODE_02B923: 05 02 ORA $02 CODE_02B925: 99 03 03 STA.W OAM_Prop,Y CODE_02B928: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02B92B: FA PLX CODE_02B92C: A9 80 LDA.B #$80 CODE_02B92E: 99 02 03 STA.W OAM_Tile,Y CODE_02B931: BD 40 15 LDA.W $1540,X CODE_02B934: C9 01 CMP.B #$01 CODE_02B936: A9 82 LDA.B #$82 CODE_02B938: B0 0A BCS CODE_02B944 CODE_02B93A: A5 14 LDA RAM_FrameCounterB CODE_02B93C: 4A LSR CODE_02B93D: 4A LSR CODE_02B93E: A9 A0 LDA.B #$A0 CODE_02B940: 90 02 BCC CODE_02B944 CODE_02B942: A9 82 LDA.B #$82 CODE_02B944: 99 06 03 STA.W OAM_Tile2,Y CODE_02B947: A9 01 LDA.B #$01 CODE_02B949: A0 02 LDY.B #$02 CODE_02B94B: 4C A7 B7 JMP.W CODE_02B7A7 DATA_02B94E: .db $F4,$1C DATA_02B950: .db $FF,$00 CODE_02B952: A0 03 LDY.B #$03 CODE_02B954: B9 C0 17 LDA.W $17C0,Y CODE_02B957: F0 10 BEQ CODE_02B969 CODE_02B959: 88 DEY CODE_02B95A: 10 F8 BPL CODE_02B954 CODE_02B95C: CE E9 18 DEC.W $18E9 CODE_02B95F: 10 05 BPL CODE_02B966 CODE_02B961: A9 03 LDA.B #$03 CODE_02B963: 8D E9 18 STA.W $18E9 CODE_02B966: AC E9 18 LDY.W $18E9 CODE_02B969: B5 E4 LDA RAM_SpriteXLo,X CODE_02B96B: 85 00 STA $00 CODE_02B96D: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02B970: 85 01 STA $01 CODE_02B972: DA PHX CODE_02B973: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02B976: AA TAX CODE_02B977: A5 00 LDA $00 CODE_02B979: 18 CLC CODE_02B97A: 7D 4E B9 ADC.W DATA_02B94E,X CODE_02B97D: 85 02 STA $02 CODE_02B97F: A5 01 LDA $01 CODE_02B981: 7D 50 B9 ADC.W DATA_02B950,X CODE_02B984: 48 PHA CODE_02B985: A5 02 LDA $02 CODE_02B987: C5 1A CMP RAM_ScreenBndryXLo CODE_02B989: 68 PLA CODE_02B98A: FA PLX CODE_02B98B: E5 1B SBC RAM_ScreenBndryXHi CODE_02B98D: D0 14 BNE Return02B9A3 CODE_02B98F: A9 01 LDA.B #$01 CODE_02B991: 99 C0 17 STA.W $17C0,Y CODE_02B994: A5 02 LDA $02 CODE_02B996: 99 C8 17 STA.W $17C8,Y CODE_02B999: B5 D8 LDA RAM_SpriteYLo,X CODE_02B99B: 99 C4 17 STA.W $17C4,Y CODE_02B99E: A9 0F LDA.B #$0F CODE_02B9A0: 99 CC 17 STA.W $17CC,Y Return02B9A3: 60 RTS ; Return GenTileFromSpr0: 85 9C STA RAM_BlockBlock ; $9C = tile to generate ADDR_02B9A6: B5 E4 LDA RAM_SpriteXLo,X ; \ $9A = Sprite X position ADDR_02B9A8: 85 9A STA RAM_BlockYLo ; | for block creation ADDR_02B9AA: BD E0 14 LDA.W RAM_SpriteXHi,X ; | ADDR_02B9AD: 85 9B STA RAM_BlockYHi ; / ADDR_02B9AF: B5 D8 LDA RAM_SpriteYLo,X ; \ $98 = Sprite Y position ADDR_02B9B1: 85 98 STA RAM_BlockXLo ; | for block creation ADDR_02B9B3: BD D4 14 LDA.W RAM_SpriteYHi,X ; | ADDR_02B9B6: 85 99 STA RAM_BlockXHi ; / ADDR_02B9B8: 22 B0 BE 00 JSL.L GenerateTile ; Generate the tile Return02B9BC: 6B RTL ; Return CODE_02B9BD: A9 02 LDA.B #$02 CODE_02B9BF: 8D DD 18 STA.W $18DD CODE_02B9C2: A0 09 LDY.B #$09 CODE_02B9C4: B9 C8 14 LDA.W $14C8,Y CODE_02B9C7: C9 08 CMP.B #$08 CODE_02B9C9: 90 0A BCC CODE_02B9D5 CODE_02B9CB: B9 0F 19 LDA.W RAM_Tweaker190F,Y CODE_02B9CE: 29 40 AND.B #$40 CODE_02B9D0: D0 03 BNE CODE_02B9D5 CODE_02B9D2: 20 D9 B9 JSR.W CODE_02B9D9 CODE_02B9D5: 88 DEY CODE_02B9D6: 10 EC BPL CODE_02B9C4 Return02B9D8: 6B RTL ; Return CODE_02B9D9: A9 21 LDA.B #$21 CODE_02B9DB: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_02B9DE: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02B9E0: 99 C8 14 STA.W $14C8,Y ; / CODE_02B9E3: DA PHX CODE_02B9E4: BB TYX CODE_02B9E5: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02B9E9: BD F6 15 LDA.W RAM_SpritePal,X CODE_02B9EC: 29 F1 AND.B #$F1 CODE_02B9EE: 09 02 ORA.B #$02 CODE_02B9F0: 9D F6 15 STA.W RAM_SpritePal,X CODE_02B9F3: A9 D8 LDA.B #$D8 CODE_02B9F5: 9D AA 00 STA.W RAM_SpriteSpeedY,X CODE_02B9F8: FA PLX Return02B9F9: 60 RTS ; Return CODE_02B9FA: 64 0F STZ $0F CODE_02B9FC: 80 4A BRA CODE_02BA48 ADDR_02B9FE: A5 01 LDA $01 ; \ Unreachable ADDR_02BA00: 29 F0 AND.B #$F0 ; | Very similar to code below ADDR_02BA02: 85 04 STA $04 ADDR_02BA04: A5 09 LDA $09 ADDR_02BA06: C5 5D CMP RAM_ScreensInLvl ADDR_02BA08: B0 3D BCS Return02BA47 ADDR_02BA0A: 85 05 STA $05 ADDR_02BA0C: A5 00 LDA $00 ADDR_02BA0E: 85 07 STA $07 ADDR_02BA10: A5 08 LDA $08 ADDR_02BA12: C9 02 CMP.B #$02 ADDR_02BA14: B0 31 BCS Return02BA47 ADDR_02BA16: 85 0A STA $0A ADDR_02BA18: A5 07 LDA $07 ADDR_02BA1A: 4A LSR ADDR_02BA1B: 4A LSR ADDR_02BA1C: 4A LSR ADDR_02BA1D: 4A LSR ADDR_02BA1E: 05 04 ORA $04 ADDR_02BA20: 85 04 STA $04 ADDR_02BA22: A6 05 LDX $05 ADDR_02BA24: BF 80 BA 00 LDA.L DATA_00BA80,X ADDR_02BA28: A4 0F LDY $0F ADDR_02BA2A: F0 04 BEQ ADDR_02BA30 ADDR_02BA2C: BF 8E BA 00 LDA.L DATA_00BA8E,X ADDR_02BA30: 18 CLC ADDR_02BA31: 65 04 ADC $04 ADDR_02BA33: 85 05 STA $05 ADDR_02BA35: BF BC BA 00 LDA.L DATA_00BABC,X ADDR_02BA39: A4 0F LDY $0F ADDR_02BA3B: F0 04 BEQ ADDR_02BA41 ADDR_02BA3D: BF CA BA 00 LDA.L DATA_00BACA,X ADDR_02BA41: 65 0A ADC $0A ADDR_02BA43: 85 06 STA $06 ADDR_02BA45: 80 4B BRA CODE_02BA92 Return02BA47: 6B RTL ; Return CODE_02BA48: A5 01 LDA $01 CODE_02BA4A: 29 F0 AND.B #$F0 CODE_02BA4C: 85 04 STA $04 CODE_02BA4E: A5 09 LDA $09 CODE_02BA50: C9 02 CMP.B #$02 CODE_02BA52: B0 F3 BCS Return02BA47 CODE_02BA54: 85 0D STA $0D CODE_02BA56: 8D B3 18 STA.W $18B3 CODE_02BA59: A5 00 LDA $00 CODE_02BA5B: 85 06 STA $06 CODE_02BA5D: A5 08 LDA $08 CODE_02BA5F: C5 5D CMP RAM_ScreensInLvl CODE_02BA61: B0 E4 BCS Return02BA47 CODE_02BA63: 85 07 STA $07 CODE_02BA65: A5 06 LDA $06 CODE_02BA67: 4A LSR CODE_02BA68: 4A LSR CODE_02BA69: 4A LSR CODE_02BA6A: 4A LSR CODE_02BA6B: 05 04 ORA $04 CODE_02BA6D: 85 04 STA $04 CODE_02BA6F: A6 07 LDX $07 CODE_02BA71: BF 60 BA 00 LDA.L DATA_00BA60,X CODE_02BA75: A4 0F LDY $0F CODE_02BA77: F0 04 BEQ CODE_02BA7D ADDR_02BA79: BF 70 BA 00 LDA.L DATA_00BA70,X CODE_02BA7D: 18 CLC CODE_02BA7E: 65 04 ADC $04 CODE_02BA80: 85 05 STA $05 CODE_02BA82: BF 9C BA 00 LDA.L DATA_00BA9C,X CODE_02BA86: A4 0F LDY $0F CODE_02BA88: F0 04 BEQ CODE_02BA8E ADDR_02BA8A: BF AC BA 00 LDA.L DATA_00BAAC,X CODE_02BA8E: 65 0D ADC $0D CODE_02BA90: 85 06 STA $06 CODE_02BA92: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02BA95: A9 7E LDA.B #$7E CODE_02BA97: 85 07 STA $07 CODE_02BA99: A7 05 LDA [$05] CODE_02BA9B: 8D 93 16 STA.W $1693 CODE_02BA9E: E6 07 INC $07 CODE_02BAA0: A7 05 LDA [$05] CODE_02BAA2: D0 1B BNE Return02BABF CODE_02BAA4: AD 93 16 LDA.W $1693 CODE_02BAA7: C9 45 CMP.B #$45 ;If it is <= the Red Berry map16 tile CODE_02BAA9: 90 14 BCC Return02BABF ;Return CODE_02BAAB: C9 48 CMP.B #$48 ;If it is => Map16 always turning block CODE_02BAAD: B0 10 BCS Return02BABF ;Return CODE_02BAAF: 38 SEC CODE_02BAB0: E9 44 SBC.B #$44 CODE_02BAB2: 8D D6 18 STA.W $18D6 ;Berry Type CODE_02BAB5: A0 0B LDY.B #$0B CODE_02BAB7: B9 C8 14 LDA.W $14C8,Y ; \ Find a free sprite slot and branch CODE_02BABA: F0 04 BEQ CODE_02BAC0 ; | ADDR_02BABC: 88 DEY ; | ADDR_02BABD: 10 F8 BPL CODE_02BAB7 ; / Return02BABF: 6B RTL ; Return if no slots found CODE_02BAC0: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02BAC2: 99 C8 14 STA.W $14C8,Y ; / CODE_02BAC5: A9 74 LDA.B #$74 ; \ Sprite number = Mushroom CODE_02BAC7: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_02BACA: A5 00 LDA $00 ; \ Sprite and block X position = $00,$08 CODE_02BACC: 99 E4 00 STA.W RAM_SpriteXLo,Y ; | CODE_02BACF: 85 9A STA RAM_BlockYLo ; | CODE_02BAD1: A5 08 LDA $08 ; | CODE_02BAD3: 99 E0 14 STA.W RAM_SpriteXHi,Y ; | CODE_02BAD6: 85 9B STA RAM_BlockYHi ; / CODE_02BAD8: A5 01 LDA $01 ; \ Sprite and block Y position = $01,$09 CODE_02BADA: 99 D8 00 STA.W RAM_SpriteYLo,Y ; | CODE_02BADD: 85 98 STA RAM_BlockXLo ; | CODE_02BADF: A5 09 LDA $09 ; | CODE_02BAE1: 99 D4 14 STA.W RAM_SpriteYHi,Y ; | CODE_02BAE4: 85 99 STA RAM_BlockXHi ; / CODE_02BAE6: DA PHX CODE_02BAE7: BB TYX CODE_02BAE8: 22 D2 F7 07 JSL.L InitSpriteTables ; Reset sprite tables CODE_02BAEC: FE 0E 16 INC.W $160E,X ; ? CODE_02BAEF: BD 62 16 LDA.W RAM_Tweaker1662,X ; \ Change the index into sprite clipping table CODE_02BAF2: 29 F0 AND.B #$F0 ; | to "resize" the sprite CODE_02BAF4: 09 0C ORA.B #$0C ; | CODE_02BAF6: 9D 62 16 STA.W RAM_Tweaker1662,X ; / CODE_02BAF9: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ No longer gives powerup when eaten CODE_02BAFC: 29 BF AND.B #$BF ; | CODE_02BAFE: 9D 7A 16 STA.W RAM_Tweaker167A,X ; / CODE_02BB01: FA PLX CODE_02BB02: A9 04 LDA.B #$04 ; \ Block to generate = Tree behind berry CODE_02BB04: 85 9C STA RAM_BlockBlock ; / CODE_02BB06: 22 B0 BE 00 JSL.L GenerateTile ; Generate the tile Return02BB0A: 6B RTL ; Return DATA_02BB0B: .db $02,$FA,$06,$06 DATA_02BB0F: .db $00,$FF,$00,$00 DATA_02BB13: .db $10,$08,$10,$08 YoshiWingsTiles: .db $5D,$C6,$5D,$C6 YoshiWingsGfxProp: .db $46,$46,$06,$06 YoshiWingsSize: .db $00,$02,$00,$02 CODE_02BB23: 85 02 STA $02 CODE_02BB25: 20 C9 D0 JSR.W IsSprOffScreenBnk2 CODE_02BB28: D0 5D BNE Return02BB87 CODE_02BB2A: B5 E4 LDA RAM_SpriteXLo,X CODE_02BB2C: 85 00 STA $00 CODE_02BB2E: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02BB31: 85 04 STA $04 CODE_02BB33: B5 D8 LDA RAM_SpriteYLo,X CODE_02BB35: 85 01 STA $01 CODE_02BB37: A0 F8 LDY.B #$F8 CODE_02BB39: DA PHX CODE_02BB3A: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02BB3D: 0A ASL CODE_02BB3E: 65 02 ADC $02 CODE_02BB40: AA TAX CODE_02BB41: A5 00 LDA $00 CODE_02BB43: 18 CLC CODE_02BB44: 7F 0B BB 02 ADC.L DATA_02BB0B,X CODE_02BB48: 85 00 STA $00 CODE_02BB4A: A5 04 LDA $04 CODE_02BB4C: 7F 0F BB 02 ADC.L DATA_02BB0F,X CODE_02BB50: 48 PHA CODE_02BB51: A5 00 LDA $00 CODE_02BB53: 38 SEC CODE_02BB54: E5 1A SBC RAM_ScreenBndryXLo CODE_02BB56: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_02BB59: 68 PLA CODE_02BB5A: E5 1B SBC RAM_ScreenBndryXHi CODE_02BB5C: D0 28 BNE CODE_02BB86 CODE_02BB5E: A5 01 LDA $01 CODE_02BB60: 38 SEC CODE_02BB61: E5 1C SBC RAM_ScreenBndryYLo CODE_02BB63: 18 CLC CODE_02BB64: 7F 13 BB 02 ADC.L DATA_02BB13,X CODE_02BB68: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02BB6B: BF 17 BB 02 LDA.L YoshiWingsTiles,X CODE_02BB6F: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02BB72: A5 64 LDA $64 CODE_02BB74: 1F 1B BB 02 ORA.L YoshiWingsGfxProp,X CODE_02BB78: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02BB7B: 98 TYA CODE_02BB7C: 4A LSR CODE_02BB7D: 4A LSR CODE_02BB7E: A8 TAY CODE_02BB7F: BF 1F BB 02 LDA.L YoshiWingsSize,X CODE_02BB83: 99 20 04 STA.W $0420,Y CODE_02BB86: FA PLX Return02BB87: 6B RTL ; Return DATA_02BB88: .db $FF,$01,$FF,$01,$00,$00 DATA_02BB8E: .db $E8,$18,$F8,$08,$00,$00 DolphinMain: 20 14 BC JSR.W CODE_02BC14 CODE_02BB97: A5 9D LDA RAM_SpritesLocked CODE_02BB99: D0 64 BNE Return02BBFF CODE_02BB9B: 20 1F D0 JSR.W SubOffscreen1Bnk2 CODE_02BB9E: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02BBA1: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02BBA4: 9D 28 15 STA.W $1528,X CODE_02BBA7: A5 14 LDA RAM_FrameCounterB CODE_02BBA9: 29 00 AND.B #$00 CODE_02BBAB: D0 0A BNE CODE_02BBB7 CODE_02BBAD: B5 AA LDA RAM_SpriteSpeedY,X CODE_02BBAF: 30 04 BMI CODE_02BBB5 CODE_02BBB1: C9 3F CMP.B #$3F CODE_02BBB3: B0 02 BCS CODE_02BBB7 CODE_02BBB5: F6 AA INC RAM_SpriteSpeedY,X CODE_02BBB7: 8A TXA CODE_02BBB8: 45 13 EOR RAM_FrameCounter CODE_02BBBA: 4A LSR CODE_02BBBB: 90 04 BCC CODE_02BBC1 CODE_02BBBD: 22 38 91 01 JSL.L CODE_019138 CODE_02BBC1: B5 AA LDA RAM_SpriteSpeedY,X CODE_02BBC3: 30 36 BMI CODE_02BBFB CODE_02BBC5: BD 4A 16 LDA.W $164A,X CODE_02BBC8: F0 31 BEQ CODE_02BBFB CODE_02BBCA: B5 AA LDA RAM_SpriteSpeedY,X CODE_02BBCC: F0 09 BEQ CODE_02BBD7 CODE_02BBCE: 38 SEC CODE_02BBCF: E9 08 SBC.B #$08 CODE_02BBD1: 95 AA STA RAM_SpriteSpeedY,X CODE_02BBD3: 10 02 BPL CODE_02BBD7 CODE_02BBD5: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_02BBD7: BD 1C 15 LDA.W $151C,X CODE_02BBDA: D0 1B BNE CODE_02BBF7 CODE_02BBDC: B5 C2 LDA RAM_SpriteState,X CODE_02BBDE: 4A LSR CODE_02BBDF: 08 PHP CODE_02BBE0: B5 9E LDA RAM_SpriteNum,X CODE_02BBE2: 38 SEC CODE_02BBE3: E9 41 SBC.B #$41 CODE_02BBE5: 28 PLP CODE_02BBE6: 2A ROL CODE_02BBE7: A8 TAY CODE_02BBE8: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02BBEA: 18 CLC CODE_02BBEB: 79 88 BB ADC.W DATA_02BB88,Y CODE_02BBEE: 95 B6 STA RAM_SpriteSpeedX,X CODE_02BBF0: D9 8E BB CMP.W DATA_02BB8E,Y CODE_02BBF3: D0 06 BNE CODE_02BBFB CODE_02BBF5: F6 C2 INC RAM_SpriteState,X CODE_02BBF7: A9 C0 LDA.B #$C0 CODE_02BBF9: 95 AA STA RAM_SpriteSpeedY,X CODE_02BBFB: 22 4F B4 01 JSL.L InvisBlkMainRt Return02BBFF: 6B RTL ; Return CODE_02BC00: A5 14 LDA RAM_FrameCounterB CODE_02BC02: 29 04 AND.B #$04 CODE_02BC04: 4A LSR CODE_02BC05: 4A LSR CODE_02BC06: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02BC09: 22 5F 9D 01 JSL.L GenericSprGfxRt1 Return02BC0D: 60 RTS ; Return DolphinTiles1: .db $E2,$88 DolphinTiles2: .db $E7,$A8 DolphinTiles3: .db $E8,$A9 CODE_02BC14: B5 9E LDA RAM_SpriteNum,X CODE_02BC16: C9 43 CMP.B #$43 CODE_02BC18: D0 03 BNE CODE_02BC1D CODE_02BC1A: 4C 00 BC JMP.W CODE_02BC00 CODE_02BC1D: 20 78 D3 JSR.W GetDrawInfo2 CODE_02BC20: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02BC22: 85 02 STA $02 CODE_02BC24: A5 00 LDA $00 CODE_02BC26: 06 02 ASL $02 CODE_02BC28: 08 PHP CODE_02BC29: 90 11 BCC CODE_02BC3C CODE_02BC2B: 99 00 03 STA.W OAM_DispX,Y CODE_02BC2E: 18 CLC CODE_02BC2F: 69 10 ADC.B #$10 CODE_02BC31: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02BC34: 18 CLC CODE_02BC35: 69 08 ADC.B #$08 CODE_02BC37: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_02BC3A: 80 12 BRA CODE_02BC4E CODE_02BC3C: 18 CLC CODE_02BC3D: 69 18 ADC.B #$18 CODE_02BC3F: 99 00 03 STA.W OAM_DispX,Y CODE_02BC42: 38 SEC CODE_02BC43: E9 10 SBC.B #$10 CODE_02BC45: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02BC48: 38 SEC CODE_02BC49: E9 08 SBC.B #$08 CODE_02BC4B: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_02BC4E: A5 01 LDA $01 CODE_02BC50: 99 01 03 STA.W OAM_DispY,Y CODE_02BC53: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02BC56: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_02BC59: DA PHX CODE_02BC5A: A5 14 LDA RAM_FrameCounterB CODE_02BC5C: 29 08 AND.B #$08 CODE_02BC5E: 4A LSR CODE_02BC5F: 4A LSR CODE_02BC60: 4A LSR CODE_02BC61: AA TAX CODE_02BC62: BD 0E BC LDA.W DolphinTiles1,X CODE_02BC65: 99 02 03 STA.W OAM_Tile,Y CODE_02BC68: BD 10 BC LDA.W DolphinTiles2,X CODE_02BC6B: 99 06 03 STA.W OAM_Tile2,Y CODE_02BC6E: BD 12 BC LDA.W DolphinTiles3,X CODE_02BC71: 99 0A 03 STA.W OAM_Tile3,Y CODE_02BC74: FA PLX CODE_02BC75: BD F6 15 LDA.W RAM_SpritePal,X CODE_02BC78: 05 64 ORA $64 CODE_02BC7A: 28 PLP CODE_02BC7B: B0 02 BCS CODE_02BC7F CODE_02BC7D: 09 40 ORA.B #$40 CODE_02BC7F: 99 03 03 STA.W OAM_Prop,Y CODE_02BC82: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02BC85: 99 0B 03 STA.W OAM_Tile3Prop,Y CODE_02BC88: A9 02 LDA.B #$02 CODE_02BC8A: A0 02 LDY.B #$02 CODE_02BC8C: 4C A7 B7 JMP.W CODE_02B7A7 DATA_02BC8F: .db $08,$00,$F8,$00,$F8,$00,$08,$00 DATA_02BC97: .db $00,$08,$00,$F8,$00,$08,$00,$F8 DATA_02BC9F: .db $01,$FF,$FF,$01,$FF,$01,$01,$FF DATA_02BCA7: .db $01,$01,$FF,$FF,$01,$01,$FF,$FF DATA_02BCAF: .db $01,$04,$02,$08,$02,$04,$01,$08 DATA_02BCB7: .db $00,$02,$00,$02,$00,$02,$00,$02 .db $05,$04,$05,$04,$05,$04,$05,$04 DATA_02BCC7: .db $00,$C0,$C0,$00,$40,$80,$80,$40 .db $80,$C0,$40,$00,$C0,$80,$00,$40 DATA_02BCD7: .db $00,$01,$02,$01 WallFollowersMain: 22 32 80 01 JSL.L SprSprInteract CODE_02BCDF: 22 F9 AC 01 JSL.L GetRand CODE_02BCE3: 29 FF AND.B #$FF CODE_02BCE5: 05 9D ORA RAM_SpritesLocked CODE_02BCE7: D0 05 BNE CODE_02BCEE CODE_02BCE9: A9 0C LDA.B #$0C CODE_02BCEB: 9D 58 15 STA.W $1558,X CODE_02BCEE: B5 9E LDA RAM_SpriteNum,X ; \ Branch if not Spike Top CODE_02BCF0: C9 2E CMP.B #$2E ; | CODE_02BCF2: D0 2F BNE CODE_02BD23 ; / CODE_02BCF4: B4 C2 LDY RAM_SpriteState,X CODE_02BCF6: BD 64 15 LDA.W $1564,X CODE_02BCF9: F0 09 BEQ CODE_02BD04 CODE_02BCFB: 98 TYA CODE_02BCFC: 18 CLC CODE_02BCFD: 69 08 ADC.B #$08 CODE_02BCFF: A8 TAY CODE_02BD00: A9 00 LDA.B #$00 CODE_02BD02: 80 07 BRA CODE_02BD0B CODE_02BD04: A5 14 LDA RAM_FrameCounterB CODE_02BD06: 4A LSR CODE_02BD07: 4A LSR CODE_02BD08: 4A LSR CODE_02BD09: 29 01 AND.B #$01 CODE_02BD0B: 18 CLC CODE_02BD0C: 79 B7 BC ADC.W DATA_02BCB7,Y CODE_02BD0F: 9D 02 16 STA.W $1602,X CODE_02BD12: BD F6 15 LDA.W RAM_SpritePal,X CODE_02BD15: 29 3F AND.B #$3F CODE_02BD17: 19 C7 BC ORA.W DATA_02BCC7,Y CODE_02BD1A: 9D F6 15 STA.W RAM_SpritePal,X CODE_02BD1D: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02BD21: 80 0C BRA CODE_02BD2F CODE_02BD23: C9 A5 CMP.B #$A5 CODE_02BD25: 90 05 BCC CODE_02BD2C CODE_02BD27: 20 4E BE JSR.W CODE_02BE4E CODE_02BD2A: 80 03 BRA CODE_02BD2F CODE_02BD2C: 20 5C BF JSR.W CODE_02BF5C CODE_02BD2F: BD C8 14 LDA.W $14C8,X CODE_02BD32: C9 08 CMP.B #$08 CODE_02BD34: F0 09 BEQ CODE_02BD3F CODE_02BD36: 9E 28 15 STZ.W $1528,X CODE_02BD39: A9 FF LDA.B #$FF CODE_02BD3B: 9D 58 15 STA.W $1558,X Return02BD3E: 6B RTL ; Return CODE_02BD3F: A5 9D LDA RAM_SpritesLocked CODE_02BD41: D0 31 BNE Return02BD74 CODE_02BD43: 20 17 D0 JSR.W SubOffscreen3Bnk2 CODE_02BD46: 22 DC A7 01 JSL.L MarioSprInteract CODE_02BD4A: B5 9E LDA RAM_SpriteNum,X ; \ Branch if Spike Top CODE_02BD4C: C9 2E CMP.B #$2E ; | CODE_02BD4E: F0 57 BEQ CODE_02BDA7 ; / CODE_02BD50: C9 3C CMP.B #$3C ; \ Branch if Wall-follow Urchin CODE_02BD52: F0 5F BEQ CODE_02BDB3 ; / CODE_02BD54: C9 A5 CMP.B #$A5 ; \ Branch if Ground-guided Fuzzball/Sparky CODE_02BD56: F0 5B BEQ CODE_02BDB3 ; / CODE_02BD58: C9 A6 CMP.B #$A6 ; \ Branch if Ground-guided Hothead CODE_02BD5A: F0 57 BEQ CODE_02BDB3 ; / CODE_02BD5C: B5 C2 LDA RAM_SpriteState,X CODE_02BD5E: 29 01 AND.B #$01 CODE_02BD60: 22 DF 86 00 JSL.L ExecutePtr UrchinPtrs?: 68 BD .dw CODE_02BD68 75 BD .dw CODE_02BD75 CODE_02BD68: BD 40 15 LDA.W $1540,X CODE_02BD6B: D0 07 BNE Return02BD74 CODE_02BD6D: A9 80 LDA.B #$80 CODE_02BD6F: 9D 40 15 STA.W $1540,X CODE_02BD72: F6 C2 INC RAM_SpriteState,X Return02BD74: 6B RTL ; Return CODE_02BD75: B5 9E LDA RAM_SpriteNum,X ; \ Branch if Wall-detect Urchin CODE_02BD77: C9 3B CMP.B #$3B ; | CODE_02BD79: F0 05 BEQ CODE_02BD80 ; / CODE_02BD7B: BD 40 15 LDA.W $1540,X CODE_02BD7E: F0 11 BEQ CODE_02BD91 CODE_02BD80: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02BD83: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02BD86: 22 38 91 01 JSL.L CODE_019138 CODE_02BD8A: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_02BD8D: 29 0F AND.B #$0F CODE_02BD8F: F0 15 BEQ Return02BDA6 CODE_02BD91: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02BD93: 49 FF EOR.B #$FF CODE_02BD95: 1A INC A CODE_02BD96: 95 B6 STA RAM_SpriteSpeedX,X CODE_02BD98: B5 AA LDA RAM_SpriteSpeedY,X CODE_02BD9A: 49 FF EOR.B #$FF CODE_02BD9C: 1A INC A CODE_02BD9D: 95 AA STA RAM_SpriteSpeedY,X CODE_02BD9F: A9 40 LDA.B #$40 CODE_02BDA1: 9D 40 15 STA.W $1540,X CODE_02BDA4: F6 C2 INC RAM_SpriteState,X Return02BDA6: 6B RTL ; Return CODE_02BDA7: B5 D8 LDA RAM_SpriteYLo,X CODE_02BDA9: 38 SEC CODE_02BDAA: E5 1C SBC RAM_ScreenBndryYLo CODE_02BDAC: C9 E0 CMP.B #$E0 CODE_02BDAE: 90 03 BCC CODE_02BDB3 CODE_02BDB0: 9E C8 14 STZ.W $14C8,X CODE_02BDB3: BD 40 15 LDA.W $1540,X CODE_02BDB6: D0 2F BNE CODE_02BDE7 CODE_02BDB8: B4 C2 LDY RAM_SpriteState,X CODE_02BDBA: B9 A7 BC LDA.W DATA_02BCA7,Y CODE_02BDBD: 95 AA STA RAM_SpriteSpeedY,X CODE_02BDBF: B9 9F BC LDA.W DATA_02BC9F,Y CODE_02BDC2: 95 B6 STA RAM_SpriteSpeedX,X CODE_02BDC4: 22 38 91 01 JSL.L CODE_019138 CODE_02BDC8: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_02BDCB: 29 0F AND.B #$0F CODE_02BDCD: D0 18 BNE CODE_02BDE7 CODE_02BDCF: A9 08 LDA.B #$08 CODE_02BDD1: 9D 64 15 STA.W $1564,X CODE_02BDD4: A9 38 LDA.B #$38 CODE_02BDD6: B4 9E LDY RAM_SpriteNum,X ; \ Branch if Wall-follow Urchin CODE_02BDD8: C0 3C CPY.B #$3C ; | CODE_02BDDA: F0 08 BEQ CODE_02BDE4 ; / CODE_02BDDC: A9 1A LDA.B #$1A CODE_02BDDE: C0 A5 CPY.B #$A5 CODE_02BDE0: D0 02 BNE CODE_02BDE4 CODE_02BDE2: 4A LSR CODE_02BDE3: EA NOP CODE_02BDE4: 9D 40 15 STA.W $1540,X CODE_02BDE7: A9 20 LDA.B #$20 CODE_02BDE9: B4 9E LDY RAM_SpriteNum,X ; \ Branch if Wall-follow Urchin CODE_02BDEB: C0 3C CPY.B #$3C ; | CODE_02BDED: F0 08 BEQ CODE_02BDF7 ; / CODE_02BDEF: A9 10 LDA.B #$10 CODE_02BDF1: C0 A5 CPY.B #$A5 CODE_02BDF3: D0 02 BNE CODE_02BDF7 CODE_02BDF5: 4A LSR CODE_02BDF6: EA NOP CODE_02BDF7: DD 40 15 CMP.W $1540,X CODE_02BDFA: D0 12 BNE CODE_02BE0E CODE_02BDFC: F6 C2 INC RAM_SpriteState,X CODE_02BDFE: B5 C2 LDA RAM_SpriteState,X CODE_02BE00: C9 04 CMP.B #$04 CODE_02BE02: D0 02 BNE CODE_02BE06 CODE_02BE04: 74 C2 STZ RAM_SpriteState,X CODE_02BE06: C9 08 CMP.B #$08 CODE_02BE08: D0 04 BNE CODE_02BE0E CODE_02BE0A: A9 04 LDA.B #$04 CODE_02BE0C: 95 C2 STA RAM_SpriteState,X CODE_02BE0E: B4 C2 LDY RAM_SpriteState,X CODE_02BE10: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_02BE13: 39 AF BC AND.W DATA_02BCAF,Y CODE_02BE16: F0 17 BEQ CODE_02BE2F CODE_02BE18: A9 08 LDA.B #$08 CODE_02BE1A: 9D 64 15 STA.W $1564,X CODE_02BE1D: D6 C2 DEC RAM_SpriteState,X CODE_02BE1F: B5 C2 LDA RAM_SpriteState,X CODE_02BE21: 10 04 BPL CODE_02BE27 CODE_02BE23: A9 03 LDA.B #$03 CODE_02BE25: 80 06 BRA CODE_02BE2D CODE_02BE27: C9 03 CMP.B #$03 CODE_02BE29: D0 04 BNE CODE_02BE2F CODE_02BE2B: A9 07 LDA.B #$07 CODE_02BE2D: 95 C2 STA RAM_SpriteState,X CODE_02BE2F: B4 C2 LDY RAM_SpriteState,X CODE_02BE31: B9 97 BC LDA.W DATA_02BC97,Y CODE_02BE34: 95 AA STA RAM_SpriteSpeedY,X CODE_02BE36: B9 8F BC LDA.W DATA_02BC8F,Y CODE_02BE39: 95 B6 STA RAM_SpriteSpeedX,X CODE_02BE3B: B5 9E LDA RAM_SpriteNum,X ; \ Branch if not Ground-guided Fuzzball/Sparky CODE_02BE3D: C9 A5 CMP.B #$A5 ; | CODE_02BE3F: D0 04 BNE CODE_02BE45 ; / CODE_02BE41: 16 B6 ASL RAM_SpriteSpeedX,X CODE_02BE43: 16 AA ASL RAM_SpriteSpeedY,X CODE_02BE45: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02BE48: 20 94 D2 JSR.W UpdateYPosNoGrvty Return02BE4B: 6B RTL ; Return DATA_02BE4C: .db $05,$45 CODE_02BE4E: B5 9E LDA RAM_SpriteNum,X CODE_02BE50: C9 A5 CMP.B #$A5 CODE_02BE52: D0 61 BNE CODE_02BEB5 CODE_02BE54: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02BE58: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02BE5B: AD 2B 19 LDA.W $192B CODE_02BE5E: C9 02 CMP.B #$02 CODE_02BE60: D0 17 BNE CODE_02BE79 CODE_02BE62: DA PHX CODE_02BE63: A5 14 LDA RAM_FrameCounterB CODE_02BE65: 4A LSR CODE_02BE66: 4A LSR CODE_02BE67: 29 01 AND.B #$01 CODE_02BE69: AA TAX CODE_02BE6A: A9 C8 LDA.B #$C8 CODE_02BE6C: 99 02 03 STA.W OAM_Tile,Y CODE_02BE6F: BD 4C BE LDA.W DATA_02BE4C,X CODE_02BE72: 05 64 ORA $64 CODE_02BE74: 99 03 03 STA.W OAM_Prop,Y CODE_02BE77: FA PLX Return02BE78: 60 RTS ; Return CODE_02BE79: A9 0A LDA.B #$0A CODE_02BE7B: 99 02 03 STA.W OAM_Tile,Y CODE_02BE7E: A5 14 LDA RAM_FrameCounterB CODE_02BE80: 29 0C AND.B #$0C CODE_02BE82: 0A ASL CODE_02BE83: 0A ASL CODE_02BE84: 0A ASL CODE_02BE85: 0A ASL CODE_02BE86: 59 03 03 EOR.W OAM_Prop,Y CODE_02BE89: 99 03 03 STA.W OAM_Prop,Y Return02BE8C: 60 RTS ; Return DATA_02BE8D: .db $F8,$08,$F8,$08 DATA_02BE91: .db $F8,$F8,$08,$08 HotheadTiles: .db $0C,$0E,$0E,$0C,$0E,$0C,$0C,$0E DATA_02BE9D: .db $05,$05,$C5,$C5,$45,$45,$85,$85 DATA_02BEA5: .db $07,$07,$01,$01,$01,$01,$07,$07 DATA_02BEAD: .db $00,$08,$08,$00,$00,$08,$08,$00 CODE_02BEB5: 20 78 D3 JSR.W GetDrawInfo2 CODE_02BEB8: 98 TYA CODE_02BEB9: 18 CLC CODE_02BEBA: 69 04 ADC.B #$04 CODE_02BEBC: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_02BEBF: A8 TAY CODE_02BEC0: A5 14 LDA RAM_FrameCounterB CODE_02BEC2: 29 04 AND.B #$04 CODE_02BEC4: 85 03 STA $03 CODE_02BEC6: DA PHX CODE_02BEC7: A2 03 LDX.B #$03 CODE_02BEC9: A5 00 LDA $00 CODE_02BECB: 18 CLC CODE_02BECC: 7D 8D BE ADC.W DATA_02BE8D,X CODE_02BECF: 99 00 03 STA.W OAM_DispX,Y CODE_02BED2: A5 01 LDA $01 CODE_02BED4: 18 CLC CODE_02BED5: 7D 91 BE ADC.W DATA_02BE91,X CODE_02BED8: 99 01 03 STA.W OAM_DispY,Y CODE_02BEDB: DA PHX CODE_02BEDC: 8A TXA CODE_02BEDD: 05 03 ORA $03 CODE_02BEDF: AA TAX CODE_02BEE0: BD 95 BE LDA.W HotheadTiles,X CODE_02BEE3: 99 02 03 STA.W OAM_Tile,Y CODE_02BEE6: BD 9D BE LDA.W DATA_02BE9D,X CODE_02BEE9: 05 64 ORA $64 CODE_02BEEB: 99 03 03 STA.W OAM_Prop,Y CODE_02BEEE: FA PLX CODE_02BEEF: C8 INY CODE_02BEF0: C8 INY CODE_02BEF1: C8 INY CODE_02BEF2: C8 INY CODE_02BEF3: CA DEX CODE_02BEF4: 10 D3 BPL CODE_02BEC9 CODE_02BEF6: FA PLX CODE_02BEF7: A5 00 LDA $00 CODE_02BEF9: 48 PHA CODE_02BEFA: A5 01 LDA $01 CODE_02BEFC: 48 PHA CODE_02BEFD: A0 02 LDY.B #$02 CODE_02BEFF: A9 03 LDA.B #$03 CODE_02BF01: 20 A7 B7 JSR.W CODE_02B7A7 CODE_02BF04: 68 PLA CODE_02BF05: 85 01 STA $01 CODE_02BF07: 68 PLA CODE_02BF08: 85 00 STA $00 CODE_02BF0A: A9 09 LDA.B #$09 CODE_02BF0C: BC 58 15 LDY.W $1558,X CODE_02BF0F: F0 02 BEQ CODE_02BF13 CODE_02BF11: A9 19 LDA.B #$19 CODE_02BF13: 85 02 STA $02 CODE_02BF15: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02BF18: 38 SEC CODE_02BF19: E9 04 SBC.B #$04 CODE_02BF1B: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_02BF1E: A8 TAY CODE_02BF1F: DA PHX CODE_02BF20: B5 C2 LDA RAM_SpriteState,X CODE_02BF22: AA TAX CODE_02BF23: A5 00 LDA $00 CODE_02BF25: 18 CLC CODE_02BF26: 7D A5 BE ADC.W DATA_02BEA5,X CODE_02BF29: 99 00 03 STA.W OAM_DispX,Y CODE_02BF2C: A5 01 LDA $01 CODE_02BF2E: 18 CLC CODE_02BF2F: 7D AD BE ADC.W DATA_02BEAD,X CODE_02BF32: 99 01 03 STA.W OAM_DispY,Y CODE_02BF35: A5 02 LDA $02 CODE_02BF37: 99 02 03 STA.W OAM_Tile,Y CODE_02BF3A: A9 05 LDA.B #$05 CODE_02BF3C: 05 64 ORA $64 CODE_02BF3E: 99 03 03 STA.W OAM_Prop,Y CODE_02BF41: FA PLX CODE_02BF42: A0 00 LDY.B #$00 CODE_02BF44: A9 00 LDA.B #$00 CODE_02BF46: 4C A7 B7 JMP.W CODE_02B7A7 DATA_02BF49: .db $08,$00,$10,$00,$10 DATA_02BF4E: .db $08,$00,$00,$10,$10 DATA_02BF53: .db $37,$37,$77,$B7,$F7 UrchinTiles: .db $C4,$C6,$C8,$C6 CODE_02BF5C: BD 3E 16 LDA.W $163E,X CODE_02BF5F: D0 08 BNE CODE_02BF69 CODE_02BF61: FE 28 15 INC.W $1528,X CODE_02BF64: A9 0C LDA.B #$0C CODE_02BF66: 9D 3E 16 STA.W $163E,X CODE_02BF69: BD 28 15 LDA.W $1528,X CODE_02BF6C: 29 03 AND.B #$03 CODE_02BF6E: A8 TAY CODE_02BF6F: B9 D7 BC LDA.W DATA_02BCD7,Y CODE_02BF72: 9D 02 16 STA.W $1602,X CODE_02BF75: 20 78 D3 JSR.W GetDrawInfo2 CODE_02BF78: 64 05 STZ $05 CODE_02BF7A: BD 02 16 LDA.W $1602,X CODE_02BF7D: 85 02 STA $02 CODE_02BF7F: BD 58 15 LDA.W $1558,X CODE_02BF82: 85 03 STA $03 CODE_02BF84: A6 05 LDX $05 CODE_02BF86: A5 00 LDA $00 CODE_02BF88: 18 CLC CODE_02BF89: 7D 49 BF ADC.W DATA_02BF49,X CODE_02BF8C: 99 00 03 STA.W OAM_DispX,Y CODE_02BF8F: A5 01 LDA $01 CODE_02BF91: 18 CLC CODE_02BF92: 7D 4E BF ADC.W DATA_02BF4E,X CODE_02BF95: 99 01 03 STA.W OAM_DispY,Y CODE_02BF98: BD 53 BF LDA.W DATA_02BF53,X CODE_02BF9B: 99 03 03 STA.W OAM_Prop,Y CODE_02BF9E: E0 00 CPX.B #$00 CODE_02BFA0: D0 0A BNE CODE_02BFAC CODE_02BFA2: A9 CA LDA.B #$CA CODE_02BFA4: A6 03 LDX $03 CODE_02BFA6: F0 02 BEQ CODE_02BFAA CODE_02BFA8: A9 CC LDA.B #$CC CODE_02BFAA: 80 05 BRA CODE_02BFB1 CODE_02BFAC: A6 02 LDX $02 CODE_02BFAE: BD 58 BF LDA.W UrchinTiles,X CODE_02BFB1: 99 02 03 STA.W OAM_Tile,Y CODE_02BFB4: C8 INY CODE_02BFB5: C8 INY CODE_02BFB6: C8 INY CODE_02BFB7: C8 INY CODE_02BFB8: E6 05 INC $05 CODE_02BFBA: A5 05 LDA $05 CODE_02BFBC: C9 05 CMP.B #$05 CODE_02BFBE: D0 C4 BNE CODE_02BF84 CODE_02BFC0: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02BFC3: A0 02 LDY.B #$02 CODE_02BFC5: 4C 2B C8 JMP.W CODE_02C82B DATA_02BFC8: .db $10,$F0 DATA_02BFCA: .db $01,$FF Return02BFCC: 6B RTL ; Return RipVanFishMain: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02BFD1: A5 9D LDA RAM_SpritesLocked CODE_02BFD3: D0 F7 BNE Return02BFCC CODE_02BFD5: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02BFD8: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_02BFDC: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02BFDE: 48 PHA CODE_02BFDF: B5 AA LDA RAM_SpriteSpeedY,X CODE_02BFE1: 48 PHA CODE_02BFE2: AC 90 14 LDY.W $1490 ; \ Branch if Mario doesn't have star CODE_02BFE5: F0 0C BEQ CODE_02BFF3 ; / CODE_02BFE7: 49 FF EOR.B #$FF CODE_02BFE9: 1A INC A CODE_02BFEA: 95 AA STA RAM_SpriteSpeedY,X CODE_02BFEC: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02BFEE: 49 FF EOR.B #$FF CODE_02BFF0: 1A INC A CODE_02BFF1: 95 B6 STA RAM_SpriteSpeedX,X CODE_02BFF3: 20 26 C1 JSR.W CODE_02C126 CODE_02BFF6: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02BFF9: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02BFFC: 22 38 91 01 JSL.L CODE_019138 CODE_02C000: 68 PLA CODE_02C001: 95 AA STA RAM_SpriteSpeedY,X CODE_02C003: 68 PLA CODE_02C004: 95 B6 STA RAM_SpriteSpeedX,X CODE_02C006: FE 70 15 INC.W $1570,X CODE_02C009: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not touching object CODE_02C00C: 29 03 AND.B #$03 ; | CODE_02C00E: F0 02 BEQ CODE_02C012 ; / CODE_02C010: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_02C012: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_02C015: 29 0C AND.B #$0C CODE_02C017: F0 02 BEQ CODE_02C01B CODE_02C019: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_02C01B: BD 4A 16 LDA.W $164A,X CODE_02C01E: D0 04 BNE CODE_02C024 ADDR_02C020: A9 10 LDA.B #$10 ADDR_02C022: 95 AA STA RAM_SpriteSpeedY,X CODE_02C024: B5 C2 LDA RAM_SpriteState,X CODE_02C026: 22 DF 86 00 JSL.L ExecutePtr RipVanFishPtrs: 2E C0 .dw CODE_02C02E 8A C0 .dw CODE_02C08A CODE_02C02E: A9 02 LDA.B #$02 CODE_02C030: 95 AA STA RAM_SpriteSpeedY,X CODE_02C032: A5 13 LDA RAM_FrameCounter CODE_02C034: 29 03 AND.B #$03 CODE_02C036: D0 0C BNE CODE_02C044 CODE_02C038: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02C03A: F0 08 BEQ CODE_02C044 CODE_02C03C: 10 04 BPL CODE_02C042 CODE_02C03E: F6 B6 INC RAM_SpriteSpeedX,X CODE_02C040: 80 02 BRA CODE_02C044 CODE_02C042: D6 B6 DEC RAM_SpriteSpeedX,X CODE_02C044: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02C047: 29 04 AND.B #$04 ; | CODE_02C049: F0 08 BEQ CODE_02C053 ; / CODE_02C04B: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_02C04D: B5 D8 LDA RAM_SpriteYLo,X CODE_02C04F: 29 F0 AND.B #$F0 CODE_02C051: 95 D8 STA RAM_SpriteYLo,X CODE_02C053: 22 D9 C0 02 JSL.L CODE_02C0D9 CODE_02C057: AD FD 18 LDA.W $18FD CODE_02C05A: D0 16 BNE CODE_02C072 CODE_02C05C: 20 FA D4 JSR.W CODE_02D4FA CODE_02C05F: A5 0F LDA $0F CODE_02C061: 69 30 ADC.B #$30 CODE_02C063: C9 60 CMP.B #$60 CODE_02C065: B0 14 BCS CODE_02C07B CODE_02C067: 20 0C D5 JSR.W CODE_02D50C CODE_02C06A: A5 0E LDA $0E CODE_02C06C: 69 30 ADC.B #$30 CODE_02C06E: C9 60 CMP.B #$60 CODE_02C070: B0 09 BCS CODE_02C07B CODE_02C072: F6 C2 INC RAM_SpriteState,X CODE_02C074: A9 FF LDA.B #$FF CODE_02C076: 9D 1C 15 STA.W $151C,X CODE_02C079: 80 0F BRA CODE_02C08A CODE_02C07B: A0 02 LDY.B #$02 CODE_02C07D: BD 70 15 LDA.W $1570,X CODE_02C080: 29 30 AND.B #$30 CODE_02C082: D0 01 BNE CODE_02C085 CODE_02C084: C8 INY CODE_02C085: 98 TYA CODE_02C086: 9D 02 16 STA.W $1602,X Return02C089: 6B RTL ; Return CODE_02C08A: A5 13 LDA RAM_FrameCounter CODE_02C08C: 29 01 AND.B #$01 CODE_02C08E: D0 05 BNE CODE_02C095 CODE_02C090: DE 1C 15 DEC.W $151C,X CODE_02C093: F0 35 BEQ CODE_02C0CA CODE_02C095: A5 13 LDA RAM_FrameCounter CODE_02C097: 29 07 AND.B #$07 CODE_02C099: D0 20 BNE CODE_02C0BB CODE_02C09B: 20 FA D4 JSR.W CODE_02D4FA CODE_02C09E: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02C0A0: D9 C8 BF CMP.W DATA_02BFC8,Y CODE_02C0A3: F0 06 BEQ CODE_02C0AB CODE_02C0A5: 18 CLC CODE_02C0A6: 79 CA BF ADC.W DATA_02BFCA,Y CODE_02C0A9: 95 B6 STA RAM_SpriteSpeedX,X CODE_02C0AB: 20 0C D5 JSR.W CODE_02D50C CODE_02C0AE: B5 AA LDA RAM_SpriteSpeedY,X CODE_02C0B0: D9 C8 BF CMP.W DATA_02BFC8,Y CODE_02C0B3: F0 06 BEQ CODE_02C0BB CODE_02C0B5: 18 CLC CODE_02C0B6: 79 CA BF ADC.W DATA_02BFCA,Y CODE_02C0B9: 95 AA STA RAM_SpriteSpeedY,X CODE_02C0BB: A0 00 LDY.B #$00 CODE_02C0BD: BD 70 15 LDA.W $1570,X CODE_02C0C0: 29 04 AND.B #$04 CODE_02C0C2: F0 01 BEQ CODE_02C0C5 CODE_02C0C4: C8 INY CODE_02C0C5: 98 TYA CODE_02C0C6: 9D 02 16 STA.W $1602,X Return02C0C9: 6B RTL ; Return CODE_02C0CA: 74 C2 STZ RAM_SpriteState,X CODE_02C0CC: 4C 2E C0 JMP.W CODE_02C02E ADDR_02C0CF: A9 08 LDA.B #$08 ; \ Unreachable ADDR_02C0D1: BC 7C 15 LDY.W RAM_SpriteDir,X ; | A = #$08 or #$09 depending on sprite direction ADDR_02C0D4: F0 01 BEQ ADDR_02C0D7 ; | ADDR_02C0D6: 1A INC A ; / ADDR_02C0D7: 80 02 BRA CODE_02C0DB CODE_02C0D9: A9 06 LDA.B #$06 CODE_02C0DB: A8 TAY CODE_02C0DC: BD A0 15 LDA.W RAM_OffscreenHorz,X ; \ Return if sprite is offscreen CODE_02C0DF: 1D 6C 18 ORA.W RAM_OffscreenVert,X ; | CODE_02C0E2: D0 41 BNE Return02C125 ; / CODE_02C0E4: 98 TYA CODE_02C0E5: DE 28 15 DEC.W $1528,X CODE_02C0E8: 10 3B BPL Return02C125 CODE_02C0EA: 48 PHA CODE_02C0EB: A9 28 LDA.B #$28 CODE_02C0ED: 9D 28 15 STA.W $1528,X CODE_02C0F0: A0 0B LDY.B #$0B CODE_02C0F2: B9 F0 17 LDA.W $17F0,Y CODE_02C0F5: F0 10 BEQ CODE_02C107 CODE_02C0F7: 88 DEY CODE_02C0F8: 10 F8 BPL CODE_02C0F2 CODE_02C0FA: CE 5D 18 DEC.W $185D CODE_02C0FD: 10 05 BPL CODE_02C104 CODE_02C0FF: A9 0B LDA.B #$0B CODE_02C101: 8D 5D 18 STA.W $185D CODE_02C104: AC 5D 18 LDY.W $185D CODE_02C107: 68 PLA CODE_02C108: 99 F0 17 STA.W $17F0,Y CODE_02C10B: B5 E4 LDA RAM_SpriteXLo,X CODE_02C10D: 18 CLC CODE_02C10E: 69 06 ADC.B #$06 CODE_02C110: 99 08 18 STA.W $1808,Y CODE_02C113: B5 D8 LDA RAM_SpriteYLo,X CODE_02C115: 18 CLC CODE_02C116: 69 00 ADC.B #$00 CODE_02C118: 99 FC 17 STA.W $17FC,Y CODE_02C11B: A9 7F LDA.B #$7F CODE_02C11D: 99 50 18 STA.W $1850,Y CODE_02C120: A9 FA LDA.B #$FA CODE_02C122: 99 2C 18 STA.W $182C,Y Return02C125: 6B RTL ; Return CODE_02C126: A0 00 LDY.B #$00 CODE_02C128: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02C12A: 10 01 BPL CODE_02C12D CODE_02C12C: C8 INY CODE_02C12D: 98 TYA CODE_02C12E: 9D 7C 15 STA.W RAM_SpriteDir,X Return02C131: 60 RTS ; Return DATA_02C132: .db $30,$20,$0A,$30 DATA_02C136: .db $05,$0E,$0F,$10 CODE_02C13A: BD 58 15 LDA.W $1558,X CODE_02C13D: F0 17 BEQ CODE_02C156 CODE_02C13F: C9 01 CMP.B #$01 CODE_02C141: D0 0D BNE CODE_02C150 CODE_02C143: A9 30 LDA.B #$30 CODE_02C145: 9D 40 15 STA.W $1540,X CODE_02C148: A9 04 LDA.B #$04 CODE_02C14A: 9D 34 15 STA.W $1534,X CODE_02C14D: 9E 70 15 STZ.W $1570,X CODE_02C150: A9 02 LDA.B #$02 CODE_02C152: 9D 1C 15 STA.W $151C,X Return02C155: 60 RTS ; Return CODE_02C156: BD 40 15 LDA.W $1540,X CODE_02C159: D0 26 BNE CODE_02C181 CODE_02C15B: FE 34 15 INC.W $1534,X CODE_02C15E: BD 34 15 LDA.W $1534,X CODE_02C161: 29 03 AND.B #$03 CODE_02C163: 9D 70 15 STA.W $1570,X CODE_02C166: A8 TAY CODE_02C167: B9 32 C1 LDA.W DATA_02C132,Y CODE_02C16A: 9D 40 15 STA.W $1540,X CODE_02C16D: C0 01 CPY.B #$01 CODE_02C16F: D0 10 BNE CODE_02C181 CODE_02C171: BD 34 15 LDA.W $1534,X CODE_02C174: 29 0C AND.B #$0C CODE_02C176: D0 06 BNE CODE_02C17E CODE_02C178: A9 40 LDA.B #$40 CODE_02C17A: 9D 58 15 STA.W $1558,X Return02C17D: 60 RTS ; Return CODE_02C17E: 20 9A C1 JSR.W CODE_02C19A CODE_02C181: BC 70 15 LDY.W $1570,X CODE_02C184: B9 36 C1 LDA.W DATA_02C136,Y CODE_02C187: 9D 02 16 STA.W $1602,X CODE_02C18A: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02C18D: B9 F3 C1 LDA.W DATA_02C1F3,Y CODE_02C190: 9D 1C 15 STA.W $151C,X Return02C193: 60 RTS ; Return DATA_02C194: .db $14,$EC DATA_02C196: .db $00,$FF DATA_02C198: .db $08,$F8 CODE_02C19A: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_02C19E: 30 52 BMI Return02C1F2 ; / CODE_02C1A0: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02C1A2: 99 C8 14 STA.W $14C8,Y ; / CODE_02C1A5: A9 48 LDA.B #$48 CODE_02C1A7: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_02C1AA: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02C1AD: 85 02 STA $02 CODE_02C1AF: B5 E4 LDA RAM_SpriteXLo,X CODE_02C1B1: 85 00 STA $00 CODE_02C1B3: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02C1B6: 85 01 STA $01 CODE_02C1B8: DA PHX CODE_02C1B9: BB TYX CODE_02C1BA: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02C1BE: A6 02 LDX $02 CODE_02C1C0: A5 00 LDA $00 CODE_02C1C2: 18 CLC CODE_02C1C3: 7D 94 C1 ADC.W DATA_02C194,X CODE_02C1C6: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_02C1C9: A5 01 LDA $01 CODE_02C1CB: 7D 96 C1 ADC.W DATA_02C196,X CODE_02C1CE: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_02C1D1: BD 98 C1 LDA.W DATA_02C198,X CODE_02C1D4: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_02C1D7: FA PLX CODE_02C1D8: B5 D8 LDA RAM_SpriteYLo,X CODE_02C1DA: 18 CLC CODE_02C1DB: 69 0A ADC.B #$0A CODE_02C1DD: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_02C1E0: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02C1E3: 69 00 ADC.B #$00 CODE_02C1E5: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_02C1E8: A9 C0 LDA.B #$C0 CODE_02C1EA: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_02C1ED: A9 2C LDA.B #$2C CODE_02C1EF: 99 40 15 STA.W $1540,Y Return02C1F2: 60 RTS ; Return DATA_02C1F3: .db $01,$03 ChucksMain: 8B PHB CODE_02C1F6: 4B PHK CODE_02C1F7: AB PLB CODE_02C1F8: BD 7B 18 LDA.W $187B,X CODE_02C1FB: 48 PHA CODE_02C1FC: 20 2C C2 JSR.W CODE_02C22C CODE_02C1FF: 68 PLA CODE_02C200: D0 0F BNE CODE_02C211 CODE_02C202: DD 7B 18 CMP.W $187B,X CODE_02C205: F0 0A BEQ CODE_02C211 CODE_02C207: BD 3E 16 LDA.W $163E,X CODE_02C20A: D0 05 BNE CODE_02C211 CODE_02C20C: A9 28 LDA.B #$28 CODE_02C20E: 9D 3E 16 STA.W $163E,X CODE_02C211: AB PLB Return02C212: 6B RTL ; Return DATA_02C213: .db $01,$02,$03,$02 CODE_02C217: A5 14 LDA RAM_FrameCounterB CODE_02C219: 4A LSR CODE_02C21A: 4A LSR CODE_02C21B: 29 03 AND.B #$03 CODE_02C21D: A8 TAY CODE_02C21E: B9 13 C2 LDA.W DATA_02C213,Y CODE_02C221: 9D 1C 15 STA.W $151C,X CODE_02C224: 20 1A C8 JSR.W CODE_02C81A Return02C227: 60 RTS ; Return DATA_02C228: .db $40,$10 DATA_02C22A: .db $03,$01 CODE_02C22C: BD C8 14 LDA.W $14C8,X CODE_02C22F: C9 08 CMP.B #$08 CODE_02C231: D0 E4 BNE CODE_02C217 CODE_02C233: BD AC 15 LDA.W $15AC,X CODE_02C236: F0 05 BEQ CODE_02C23D CODE_02C238: A9 05 LDA.B #$05 CODE_02C23A: 9D 02 16 STA.W $1602,X CODE_02C23D: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if on ground CODE_02C240: 29 04 AND.B #$04 ; | CODE_02C242: D0 0F BNE CODE_02C253 ; / CODE_02C244: B5 AA LDA RAM_SpriteSpeedY,X CODE_02C246: 10 0B BPL CODE_02C253 CODE_02C248: B5 C2 LDA RAM_SpriteState,X CODE_02C24A: C9 05 CMP.B #$05 CODE_02C24C: B0 05 BCS CODE_02C253 CODE_02C24E: A9 06 LDA.B #$06 CODE_02C250: 9D 02 16 STA.W $1602,X CODE_02C253: 20 1A C8 JSR.W CODE_02C81A CODE_02C256: A5 9D LDA RAM_SpritesLocked CODE_02C258: F0 01 BEQ CODE_02C25B Return02C25A: 60 RTS ; Return CODE_02C25B: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02C25E: 20 9D C7 JSR.W CODE_02C79D CODE_02C261: 22 32 80 01 JSL.L SprSprInteract CODE_02C265: 22 38 91 01 JSL.L CODE_019138 CODE_02C269: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_02C26C: 29 08 AND.B #$08 CODE_02C26E: F0 04 BEQ CODE_02C274 CODE_02C270: A9 10 LDA.B #$10 CODE_02C272: 95 AA STA RAM_SpriteSpeedY,X CODE_02C274: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not touching object CODE_02C277: 29 03 AND.B #$03 ; | CODE_02C279: F0 79 BEQ CODE_02C2F4 ; / CODE_02C27B: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_02C27E: 1D 6C 18 ORA.W RAM_OffscreenVert,X CODE_02C281: D0 61 BNE CODE_02C2E4 CODE_02C283: BD 7B 18 LDA.W $187B,X CODE_02C286: F0 5C BEQ CODE_02C2E4 CODE_02C288: B5 E4 LDA RAM_SpriteXLo,X CODE_02C28A: 38 SEC CODE_02C28B: E5 1A SBC RAM_ScreenBndryXLo CODE_02C28D: 18 CLC CODE_02C28E: 69 14 ADC.B #$14 CODE_02C290: C9 1C CMP.B #$1C CODE_02C292: 90 50 BCC CODE_02C2E4 CODE_02C294: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if on ground CODE_02C297: 29 40 AND.B #$40 ; | CODE_02C299: D0 49 BNE CODE_02C2E4 ; / CODE_02C29B: AD A7 18 LDA.W $18A7 CODE_02C29E: C9 2E CMP.B #$2E CODE_02C2A0: F0 04 BEQ CODE_02C2A6 CODE_02C2A2: C9 1E CMP.B #$1E CODE_02C2A4: D0 3E BNE CODE_02C2E4 CODE_02C2A6: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02C2A9: 29 04 AND.B #$04 ; | CODE_02C2AB: F0 4A BEQ CODE_02C2F7 ; / CODE_02C2AD: A5 9B LDA RAM_BlockYHi CODE_02C2AF: 48 PHA CODE_02C2B0: A5 9A LDA RAM_BlockYLo CODE_02C2B2: 48 PHA CODE_02C2B3: A5 99 LDA RAM_BlockXHi CODE_02C2B5: 48 PHA CODE_02C2B6: A5 98 LDA RAM_BlockXLo CODE_02C2B8: 48 PHA CODE_02C2B9: 22 63 86 02 JSL.L ShatterBlock CODE_02C2BD: A9 02 LDA.B #$02 ; \ Block to generate = #$02 CODE_02C2BF: 85 9C STA RAM_BlockBlock ; / CODE_02C2C1: 22 B0 BE 00 JSL.L GenerateTile CODE_02C2C5: 68 PLA CODE_02C2C6: 38 SEC CODE_02C2C7: E9 10 SBC.B #$10 CODE_02C2C9: 85 98 STA RAM_BlockXLo CODE_02C2CB: 68 PLA CODE_02C2CC: E9 00 SBC.B #$00 CODE_02C2CE: 85 99 STA RAM_BlockXHi CODE_02C2D0: 68 PLA CODE_02C2D1: 85 9A STA RAM_BlockYLo CODE_02C2D3: 68 PLA CODE_02C2D4: 85 9B STA RAM_BlockYHi CODE_02C2D6: 22 63 86 02 JSL.L ShatterBlock CODE_02C2DA: A9 02 LDA.B #$02 ; \ Block to generate = #$02 CODE_02C2DC: 85 9C STA RAM_BlockBlock ; / CODE_02C2DE: 22 B0 BE 00 JSL.L GenerateTile CODE_02C2E2: 80 10 BRA CODE_02C2F4 CODE_02C2E4: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02C2E7: 29 04 AND.B #$04 ; | CODE_02C2E9: F0 0C BEQ CODE_02C2F7 ; / CODE_02C2EB: A9 C0 LDA.B #$C0 CODE_02C2ED: 95 AA STA RAM_SpriteSpeedY,X CODE_02C2EF: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02C2F2: 80 0D BRA CODE_02C301 CODE_02C2F4: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02C2F7: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02C2FA: 29 04 AND.B #$04 ; | CODE_02C2FC: F0 03 BEQ CODE_02C301 ; / CODE_02C2FE: 20 79 C5 JSR.W CODE_02C579 CODE_02C301: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02C304: BC 4A 16 LDY.W $164A,X CODE_02C307: C0 01 CPY.B #$01 CODE_02C309: A0 00 LDY.B #$00 CODE_02C30B: B5 AA LDA RAM_SpriteSpeedY,X CODE_02C30D: 90 0B BCC CODE_02C31A CODE_02C30F: C8 INY CODE_02C310: C9 00 CMP.B #$00 CODE_02C312: 10 06 BPL CODE_02C31A ADDR_02C314: C9 E0 CMP.B #$E0 ADDR_02C316: B0 02 BCS CODE_02C31A ADDR_02C318: A9 E0 LDA.B #$E0 CODE_02C31A: 18 CLC CODE_02C31B: 79 2A C2 ADC.W DATA_02C22A,Y CODE_02C31E: 30 08 BMI CODE_02C328 CODE_02C320: D9 28 C2 CMP.W DATA_02C228,Y CODE_02C323: 90 03 BCC CODE_02C328 CODE_02C325: B9 28 C2 LDA.W DATA_02C228,Y CODE_02C328: A8 TAY CODE_02C329: 30 09 BMI CODE_02C334 CODE_02C32B: B4 C2 LDY RAM_SpriteState,X CODE_02C32D: C0 07 CPY.B #$07 CODE_02C32F: D0 03 BNE CODE_02C334 CODE_02C331: 18 CLC CODE_02C332: 69 03 ADC.B #$03 CODE_02C334: 95 AA STA RAM_SpriteSpeedY,X CODE_02C336: B5 C2 LDA RAM_SpriteState,X CODE_02C338: 22 DF 86 00 JSL.L ExecutePtr ChuckPtrs: 3B C6 .dw CODE_02C63B A7 C6 .dw CODE_02C6A7 26 C7 .dw CODE_02C726 4A C7 .dw CODE_02C74A 3A C1 .dw CODE_02C13A 82 C5 .dw CODE_02C582 3C C5 .dw CODE_02C53C 64 C5 .dw CODE_02C564 E3 C4 .dw CODE_02C4E3 BD C4 .dw CODE_02C4BD CB C3 .dw CODE_02C3CB 56 C3 .dw CODE_02C356 7B C3 .dw CODE_02C37B CODE_02C356: A9 03 LDA.B #$03 CODE_02C358: 9D 02 16 STA.W $1602,X CODE_02C35B: BD 4A 16 LDA.W $164A,X CODE_02C35E: F0 10 BEQ CODE_02C370 CODE_02C360: 20 FA D4 JSR.W CODE_02D4FA CODE_02C363: A5 0F LDA $0F CODE_02C365: 18 CLC CODE_02C366: 69 30 ADC.B #$30 CODE_02C368: C9 60 CMP.B #$60 CODE_02C36A: B0 04 BCS CODE_02C370 CODE_02C36C: A9 0C LDA.B #$0C CODE_02C36E: 95 C2 STA RAM_SpriteState,X CODE_02C370: 4C 56 C5 JMP.W CODE_02C556 DATA_02C373: .db $05,$05,$05,$02,$02,$06,$06,$06 CODE_02C37B: A5 14 LDA RAM_FrameCounterB CODE_02C37D: 29 3F AND.B #$3F CODE_02C37F: D0 05 BNE CODE_02C386 CODE_02C381: A9 1E LDA.B #$1E ; \ Play sound effect CODE_02C383: 8D FC 1D STA.W $1DFC ; / CODE_02C386: A0 03 LDY.B #$03 CODE_02C388: A5 14 LDA RAM_FrameCounterB CODE_02C38A: 29 30 AND.B #$30 CODE_02C38C: F0 02 BEQ CODE_02C390 CODE_02C38E: A0 06 LDY.B #$06 CODE_02C390: 98 TYA CODE_02C391: 9D 02 16 STA.W $1602,X CODE_02C394: A5 14 LDA RAM_FrameCounterB CODE_02C396: 4A LSR CODE_02C397: 4A LSR CODE_02C398: 29 07 AND.B #$07 CODE_02C39A: A8 TAY CODE_02C39B: B9 73 C3 LDA.W DATA_02C373,Y CODE_02C39E: 9D 1C 15 STA.W $151C,X CODE_02C3A1: B5 E4 LDA RAM_SpriteXLo,X CODE_02C3A3: 4A LSR CODE_02C3A4: 4A LSR CODE_02C3A5: 4A LSR CODE_02C3A6: 4A LSR CODE_02C3A7: 4A LSR CODE_02C3A8: A9 09 LDA.B #$09 CODE_02C3AA: 90 03 BCC CODE_02C3AF CODE_02C3AC: 8D B9 18 STA.W RAM_GeneratorNum CODE_02C3AF: 8D FD 18 STA.W $18FD Return02C3B2: 60 RTS ; Return DATA_02C3B3: .db $7F,$BF,$FF,$DF DATA_02C3B7: .db $18,$19,$14,$14 DATA_02C3BB: .db $18,$18,$18,$18,$17,$17,$17,$17 .db $17,$17,$16,$15,$15,$16,$16,$16 CODE_02C3CB: BD 34 15 LDA.W $1534,X CODE_02C3CE: D0 6A BNE CODE_02C43A CODE_02C3D0: 20 0C D5 JSR.W CODE_02D50C CODE_02C3D3: A5 0E LDA $0E CODE_02C3D5: 10 10 BPL CODE_02C3E7 CODE_02C3D7: C9 D0 CMP.B #$D0 CODE_02C3D9: B0 0C BCS CODE_02C3E7 CODE_02C3DB: A9 C8 LDA.B #$C8 CODE_02C3DD: 95 AA STA RAM_SpriteSpeedY,X CODE_02C3DF: A9 3E LDA.B #$3E CODE_02C3E1: 9D 40 15 STA.W $1540,X CODE_02C3E4: FE 34 15 INC.W $1534,X CODE_02C3E7: A5 13 LDA RAM_FrameCounter CODE_02C3E9: 29 07 AND.B #$07 CODE_02C3EB: D0 08 BNE CODE_02C3F5 CODE_02C3ED: BD 40 15 LDA.W $1540,X CODE_02C3F0: F0 03 BEQ CODE_02C3F5 CODE_02C3F2: FE 40 15 INC.W $1540,X CODE_02C3F5: A5 14 LDA RAM_FrameCounterB CODE_02C3F7: 29 3F AND.B #$3F CODE_02C3F9: D0 03 BNE CODE_02C3FE CODE_02C3FB: 20 56 C5 JSR.W CODE_02C556 CODE_02C3FE: BD 40 15 LDA.W $1540,X CODE_02C401: D0 09 BNE CODE_02C40C CODE_02C403: BC 7B 18 LDY.W $187B,X CODE_02C406: B9 B3 C3 LDA.W DATA_02C3B3,Y CODE_02C409: 9D 40 15 STA.W $1540,X CODE_02C40C: BD 40 15 LDA.W $1540,X CODE_02C40F: C9 40 CMP.B #$40 CODE_02C411: B0 06 BCS CODE_02C419 CODE_02C413: A9 00 LDA.B #$00 CODE_02C415: 9D 02 16 STA.W $1602,X Return02C418: 60 RTS ; Return CODE_02C419: 38 SEC CODE_02C41A: E9 40 SBC.B #$40 CODE_02C41C: 4A LSR CODE_02C41D: 4A LSR CODE_02C41E: 4A LSR CODE_02C41F: 29 03 AND.B #$03 CODE_02C421: A8 TAY CODE_02C422: B9 B7 C3 LDA.W DATA_02C3B7,Y CODE_02C425: 9D 02 16 STA.W $1602,X CODE_02C428: BD 40 15 LDA.W $1540,X CODE_02C42B: 29 1F AND.B #$1F CODE_02C42D: C9 06 CMP.B #$06 CODE_02C42F: D0 08 BNE Return02C439 CODE_02C431: 20 66 C4 JSR.W CODE_02C466 CODE_02C434: A9 08 LDA.B #$08 CODE_02C436: 9D 58 15 STA.W $1558,X Return02C439: 60 RTS ; Return CODE_02C43A: BD 40 15 LDA.W $1540,X CODE_02C43D: F0 1D BEQ CODE_02C45C CODE_02C43F: 48 PHA CODE_02C440: C9 20 CMP.B #$20 CODE_02C442: 90 06 BCC CODE_02C44A CODE_02C444: C9 30 CMP.B #$30 CODE_02C446: B0 02 BCS CODE_02C44A CODE_02C448: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_02C44A: 4A LSR CODE_02C44B: 4A LSR CODE_02C44C: A8 TAY CODE_02C44D: B9 BB C3 LDA.W DATA_02C3BB,Y CODE_02C450: 9D 02 16 STA.W $1602,X CODE_02C453: 68 PLA CODE_02C454: C9 26 CMP.B #$26 CODE_02C456: D0 03 BNE Return02C45B CODE_02C458: 20 66 C4 JSR.W CODE_02C466 Return02C45B: 60 RTS ; Return CODE_02C45C: 9E 34 15 STZ.W $1534,X Return02C45F: 60 RTS ; Return BaseballTileDispX: .db $10,$F8 DATA_02C462: .db $00,$FF BaseballSpeed: .db $18,$E8 CODE_02C466: BD 58 15 LDA.W $1558,X CODE_02C469: 1D 6C 18 ORA.W RAM_OffscreenVert,X CODE_02C46C: D0 CB BNE Return02C439 CODE_02C46E: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot CODE_02C470: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_02C473: F0 04 BEQ CODE_02C479 ; | CODE_02C475: 88 DEY ; | CODE_02C476: 10 F8 BPL CODE_02C470 ; | Return02C478: 60 RTS ; / Return if no free slots CODE_02C479: A9 0D LDA.B #$0D ; \ Extended sprite = Baseball CODE_02C47B: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_02C47E: B5 E4 LDA RAM_SpriteXLo,X CODE_02C480: 85 00 STA $00 CODE_02C482: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02C485: 85 01 STA $01 CODE_02C487: B5 D8 LDA RAM_SpriteYLo,X CODE_02C489: 18 CLC CODE_02C48A: 69 00 ADC.B #$00 CODE_02C48C: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_02C48F: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02C492: 69 00 ADC.B #$00 CODE_02C494: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_02C497: DA PHX CODE_02C498: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02C49B: AA TAX CODE_02C49C: A5 00 LDA $00 CODE_02C49E: 18 CLC CODE_02C49F: 7D 60 C4 ADC.W BaseballTileDispX,X CODE_02C4A2: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_02C4A5: A5 01 LDA $01 CODE_02C4A7: 7D 62 C4 ADC.W DATA_02C462,X CODE_02C4AA: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_02C4AD: BD 64 C4 LDA.W BaseballSpeed,X CODE_02C4B0: 99 47 17 STA.W RAM_ExSprSpeedX,Y CODE_02C4B3: FA PLX Return02C4B4: 60 RTS ; Return DATA_02C4B5: .db $00,$00,$11,$11,$11,$11,$00,$00 CODE_02C4BD: 9E 02 16 STZ.W $1602,X CODE_02C4C0: 8A TXA CODE_02C4C1: 0A ASL CODE_02C4C2: 0A ASL CODE_02C4C3: 0A ASL CODE_02C4C4: 65 13 ADC RAM_FrameCounter CODE_02C4C6: 29 7F AND.B #$7F CODE_02C4C8: C9 00 CMP.B #$00 CODE_02C4CA: D0 09 BNE CODE_02C4D5 CODE_02C4CC: 48 PHA CODE_02C4CD: 20 56 C5 JSR.W CODE_02C556 CODE_02C4D0: 22 B3 CB 03 JSL.L CODE_03CBB3 CODE_02C4D4: 68 PLA CODE_02C4D5: C9 20 CMP.B #$20 CODE_02C4D7: B0 09 BCS Return02C4E2 CODE_02C4D9: 4A LSR CODE_02C4DA: 4A LSR CODE_02C4DB: A8 TAY CODE_02C4DC: B9 B5 C4 LDA.W DATA_02C4B5,Y CODE_02C4DF: 9D 02 16 STA.W $1602,X Return02C4E2: 60 RTS ; Return CODE_02C4E3: 20 56 C5 JSR.W CODE_02C556 CODE_02C4E6: A9 06 LDA.B #$06 CODE_02C4E8: B4 AA LDY RAM_SpriteSpeedY,X CODE_02C4EA: C0 F0 CPY.B #$F0 CODE_02C4EC: 30 16 BMI CODE_02C504 CODE_02C4EE: BC 0E 16 LDY.W $160E,X CODE_02C4F1: F0 11 BEQ CODE_02C504 CODE_02C4F3: BD E2 1F LDA.W $1FE2,X CODE_02C4F6: D0 0A BNE CODE_02C502 CODE_02C4F8: A9 19 LDA.B #$19 ; \ Play sound effect CODE_02C4FA: 8D FC 1D STA.W $1DFC ; / CODE_02C4FD: A9 20 LDA.B #$20 CODE_02C4FF: 9D E2 1F STA.W $1FE2,X CODE_02C502: A9 07 LDA.B #$07 CODE_02C504: 9D 02 16 STA.W $1602,X CODE_02C507: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02C50A: 29 04 AND.B #$04 ; | CODE_02C50C: F0 2D BEQ Return02C53B ; / CODE_02C50E: 9E 0E 16 STZ.W $160E,X CODE_02C511: A9 04 LDA.B #$04 CODE_02C513: 9D 02 16 STA.W $1602,X CODE_02C516: BD 40 15 LDA.W $1540,X CODE_02C519: D0 20 BNE Return02C53B CODE_02C51B: A9 20 LDA.B #$20 CODE_02C51D: 9D 40 15 STA.W $1540,X CODE_02C520: A9 F0 LDA.B #$F0 CODE_02C522: 95 AA STA RAM_SpriteSpeedY,X CODE_02C524: 20 0C D5 JSR.W CODE_02D50C CODE_02C527: A5 0E LDA $0E CODE_02C529: 10 10 BPL Return02C53B CODE_02C52B: C9 D0 CMP.B #$D0 CODE_02C52D: B0 0C BCS Return02C53B CODE_02C52F: A9 C0 LDA.B #$C0 CODE_02C531: 95 AA STA RAM_SpriteSpeedY,X CODE_02C533: FE 0E 16 INC.W $160E,X CODE_02C536: A9 08 LDA.B #$08 ; \ Play sound effect CODE_02C538: 8D FC 1D STA.W $1DFC ; / Return02C53B: 60 RTS ; Return CODE_02C53C: A9 06 LDA.B #$06 CODE_02C53E: 9D 02 16 STA.W $1602,X CODE_02C541: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02C544: 29 04 AND.B #$04 ; | CODE_02C546: F0 0D BEQ Return02C555 ; / CODE_02C548: 20 79 C5 JSR.W CODE_02C579 CODE_02C54B: 20 56 C5 JSR.W CODE_02C556 CODE_02C54E: A9 08 LDA.B #$08 CODE_02C550: 9D 40 15 STA.W $1540,X CODE_02C553: F6 C2 INC RAM_SpriteState,X Return02C555: 60 RTS ; Return CODE_02C556: 20 FA D4 JSR.W CODE_02D4FA CODE_02C559: 98 TYA CODE_02C55A: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02C55D: B9 39 C6 LDA.W DATA_02C639,Y CODE_02C560: 9D 1C 15 STA.W $151C,X Return02C563: 60 RTS ; Return CODE_02C564: A9 03 LDA.B #$03 CODE_02C566: 9D 02 16 STA.W $1602,X CODE_02C569: BD 40 15 LDA.W $1540,X CODE_02C56C: D0 0B BNE CODE_02C579 CODE_02C56E: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02C571: 29 04 AND.B #$04 ; | CODE_02C573: F0 08 BEQ Return02C57D ; / CODE_02C575: A9 05 LDA.B #$05 CODE_02C577: 95 C2 STA RAM_SpriteState,X CODE_02C579: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_02C57B: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 Return02C57D: 60 RTS ; Return DATA_02C57E: .db $10,$F0 DATA_02C580: .db $20,$E0 CODE_02C582: 20 56 C5 JSR.W CODE_02C556 CODE_02C585: BD 40 15 LDA.W $1540,X CODE_02C588: F0 78 BEQ CODE_02C602 CODE_02C58A: C9 01 CMP.B #$01 CODE_02C58C: D0 6E BNE CODE_02C5FC CODE_02C58E: B5 9E LDA RAM_SpriteNum,X CODE_02C590: C9 93 CMP.B #$93 CODE_02C592: D0 13 BNE CODE_02C5A7 CODE_02C594: 20 FA D4 JSR.W CODE_02D4FA CODE_02C597: B9 80 C5 LDA.W DATA_02C580,Y CODE_02C59A: 95 B6 STA RAM_SpriteSpeedX,X CODE_02C59C: A9 B0 LDA.B #$B0 CODE_02C59E: 95 AA STA RAM_SpriteSpeedY,X CODE_02C5A0: A9 06 LDA.B #$06 CODE_02C5A2: 95 C2 STA RAM_SpriteState,X CODE_02C5A4: 4C 36 C5 JMP.W CODE_02C536 CODE_02C5A7: 74 C2 STZ RAM_SpriteState,X CODE_02C5A9: A9 50 LDA.B #$50 CODE_02C5AB: 9D 40 15 STA.W $1540,X CODE_02C5AE: A9 10 LDA.B #$10 ; \ Play sound effect CODE_02C5B0: 8D F9 1D STA.W $1DF9 ; / CODE_02C5B3: 9C 5E 18 STZ.W $185E CODE_02C5B6: 20 BC C5 JSR.W CODE_02C5BC CODE_02C5B9: EE 5E 18 INC.W $185E CODE_02C5BC: 22 E4 A9 02 JSL.L FindFreeSprSlot CODE_02C5C0: 30 3A BMI CODE_02C5FC CODE_02C5C2: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02C5C4: 99 C8 14 STA.W $14C8,Y ; / CODE_02C5C7: A9 91 LDA.B #$91 CODE_02C5C9: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_02C5CC: B5 E4 LDA RAM_SpriteXLo,X CODE_02C5CE: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_02C5D1: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02C5D4: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_02C5D7: B5 D8 LDA RAM_SpriteYLo,X CODE_02C5D9: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_02C5DC: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02C5DF: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_02C5E2: DA PHX CODE_02C5E3: BB TYX CODE_02C5E4: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02C5E8: AE 5E 18 LDX.W $185E CODE_02C5EB: BD 7E C5 LDA.W DATA_02C57E,X CODE_02C5EE: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_02C5F1: FA PLX CODE_02C5F2: A9 C8 LDA.B #$C8 CODE_02C5F4: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_02C5F7: A9 50 LDA.B #$50 CODE_02C5F9: 99 40 15 STA.W $1540,Y CODE_02C5FC: A9 09 LDA.B #$09 CODE_02C5FE: 9D 02 16 STA.W $1602,X Return02C601: 60 RTS ; Return CODE_02C602: 20 FA D4 JSR.W CODE_02D4FA CODE_02C605: 98 TYA CODE_02C606: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02C609: A5 0F LDA $0F CODE_02C60B: 18 CLC CODE_02C60C: 69 50 ADC.B #$50 CODE_02C60E: C9 A0 CMP.B #$A0 CODE_02C610: B0 06 BCS CODE_02C618 CODE_02C612: A9 40 LDA.B #$40 CODE_02C614: 9D 40 15 STA.W $1540,X Return02C617: 60 RTS ; Return CODE_02C618: A9 03 LDA.B #$03 CODE_02C61A: 9D 02 16 STA.W $1602,X CODE_02C61D: A5 13 LDA RAM_FrameCounter CODE_02C61F: 29 3F AND.B #$3F CODE_02C621: D0 04 BNE Return02C627 CODE_02C623: A9 E0 LDA.B #$E0 CODE_02C625: 95 AA STA RAM_SpriteSpeedY,X Return02C627: 60 RTS ; Return CODE_02C628: A9 08 LDA.B #$08 CODE_02C62A: 9D AC 15 STA.W $15AC,X Return02C62D: 60 RTS ; Return DATA_02C62E: .db $00,$00,$00,$00,$01,$02,$03,$04 .db $04,$04,$04 DATA_02C639: .db $00,$04 CODE_02C63B: A9 03 LDA.B #$03 CODE_02C63D: 9D 02 16 STA.W $1602,X CODE_02C640: 9E 7B 18 STZ.W $187B,X CODE_02C643: BD 40 15 LDA.W $1540,X CODE_02C646: 29 0F AND.B #$0F CODE_02C648: D0 1E BNE CODE_02C668 CODE_02C64A: 20 0C D5 JSR.W CODE_02D50C CODE_02C64D: A5 0E LDA $0E CODE_02C64F: 18 CLC CODE_02C650: 69 28 ADC.B #$28 CODE_02C652: C9 50 CMP.B #$50 CODE_02C654: B0 12 BCS CODE_02C668 CODE_02C656: 20 56 C5 JSR.W CODE_02C556 CODE_02C659: FE 7B 18 INC.W $187B,X CODE_02C65C: A9 02 LDA.B #$02 CODE_02C65E: 95 C2 STA RAM_SpriteState,X CODE_02C660: A9 18 LDA.B #$18 CODE_02C662: 9D 40 15 STA.W $1540,X Return02C665: 60 RTS ; Return DATA_02C666: .db $01,$FF CODE_02C668: BD 40 15 LDA.W $1540,X CODE_02C66B: D0 0A BNE CODE_02C677 CODE_02C66D: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02C670: 49 01 EOR.B #$01 CODE_02C672: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02C675: 80 E5 BRA CODE_02C65C CODE_02C677: A5 14 LDA RAM_FrameCounterB CODE_02C679: 29 03 AND.B #$03 CODE_02C67B: D0 14 BNE CODE_02C691 CODE_02C67D: BD 34 15 LDA.W $1534,X CODE_02C680: 29 01 AND.B #$01 CODE_02C682: A8 TAY CODE_02C683: BD 94 15 LDA.W $1594,X CODE_02C686: 18 CLC CODE_02C687: 79 66 C6 ADC.W DATA_02C666,Y CODE_02C68A: C9 0B CMP.B #$0B CODE_02C68C: B0 0D BCS CODE_02C69B CODE_02C68E: 9D 94 15 STA.W $1594,X CODE_02C691: BC 94 15 LDY.W $1594,X CODE_02C694: B9 2E C6 LDA.W DATA_02C62E,Y CODE_02C697: 9D 1C 15 STA.W $151C,X Return02C69A: 60 RTS ; Return CODE_02C69B: FE 34 15 INC.W $1534,X Return02C69E: 60 RTS ; Return DATA_02C69F: .db $10,$F0,$18,$E8 DATA_02C6A3: .db $12,$13,$12,$13 CODE_02C6A7: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02C6AA: 29 04 AND.B #$04 ; | CODE_02C6AC: F0 0C BEQ CODE_02C6BA ; / CODE_02C6AE: BD 3E 16 LDA.W $163E,X CODE_02C6B1: C9 01 CMP.B #$01 CODE_02C6B3: 80 05 BRA CODE_02C6BA ADDR_02C6B5: A9 24 LDA.B #$24 ; \ Unreachable ADDR_02C6B7: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_02C6BA: 20 0C D5 JSR.W CODE_02D50C CODE_02C6BD: A5 0E LDA $0E CODE_02C6BF: 18 CLC CODE_02C6C0: 69 30 ADC.B #$30 CODE_02C6C2: C9 60 CMP.B #$60 CODE_02C6C4: B0 11 BCS CODE_02C6D7 CODE_02C6C6: 20 FA D4 JSR.W CODE_02D4FA CODE_02C6C9: 98 TYA CODE_02C6CA: DD 7C 15 CMP.W RAM_SpriteDir,X CODE_02C6CD: D0 08 BNE CODE_02C6D7 CODE_02C6CF: A9 20 LDA.B #$20 CODE_02C6D1: 9D 40 15 STA.W $1540,X CODE_02C6D4: 9D 7B 18 STA.W $187B,X CODE_02C6D7: BD 40 15 LDA.W $1540,X CODE_02C6DA: D0 10 BNE CODE_02C6EC CODE_02C6DC: 74 C2 STZ RAM_SpriteState,X CODE_02C6DE: 20 28 C6 JSR.W CODE_02C628 CODE_02C6E1: 22 F9 AC 01 JSL.L GetRand CODE_02C6E5: 29 3F AND.B #$3F CODE_02C6E7: 09 40 ORA.B #$40 CODE_02C6E9: 9D 40 15 STA.W $1540,X CODE_02C6EC: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02C6EF: B9 39 C6 LDA.W DATA_02C639,Y CODE_02C6F2: 9D 1C 15 STA.W $151C,X CODE_02C6F5: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02C6F8: 29 04 AND.B #$04 ; | CODE_02C6FA: F0 17 BEQ CODE_02C713 ; / CODE_02C6FC: BD 7B 18 LDA.W $187B,X CODE_02C6FF: F0 0D BEQ CODE_02C70E CODE_02C701: A5 14 LDA RAM_FrameCounterB CODE_02C703: 29 07 AND.B #$07 CODE_02C705: D0 05 BNE CODE_02C70C CODE_02C707: A9 01 LDA.B #$01 ; \ Play sound effect CODE_02C709: 8D F9 1D STA.W $1DF9 ; / CODE_02C70C: C8 INY CODE_02C70D: C8 INY CODE_02C70E: B9 9F C6 LDA.W DATA_02C69F,Y CODE_02C711: 95 B6 STA RAM_SpriteSpeedX,X CODE_02C713: A5 13 LDA RAM_FrameCounter CODE_02C715: BC 7B 18 LDY.W $187B,X CODE_02C718: D0 01 BNE CODE_02C71B CODE_02C71A: 4A LSR CODE_02C71B: 4A LSR CODE_02C71C: 29 03 AND.B #$03 CODE_02C71E: A8 TAY CODE_02C71F: B9 A3 C6 LDA.W DATA_02C6A3,Y CODE_02C722: 9D 02 16 STA.W $1602,X Return02C725: 60 RTS ; Return CODE_02C726: A9 03 LDA.B #$03 CODE_02C728: 9D 02 16 STA.W $1602,X CODE_02C72B: BD 40 15 LDA.W $1540,X CODE_02C72E: D0 0C BNE Return02C73C CODE_02C730: 20 28 C6 JSR.W CODE_02C628 CODE_02C733: A9 01 LDA.B #$01 CODE_02C735: 95 C2 STA RAM_SpriteState,X CODE_02C737: A9 40 LDA.B #$40 CODE_02C739: 9D 40 15 STA.W $1540,X Return02C73C: 60 RTS ; Return DATA_02C73D: .db $0A,$0B,$0A,$0C,$0D,$0C DATA_02C743: .db $0C,$10,$10,$04,$08,$10,$18 CODE_02C74A: BC 70 15 LDY.W $1570,X CODE_02C74D: BD 40 15 LDA.W $1540,X CODE_02C750: D0 0E BNE CODE_02C760 CODE_02C752: FE 70 15 INC.W $1570,X CODE_02C755: C8 INY CODE_02C756: C0 07 CPY.B #$07 CODE_02C758: F0 1D BEQ CODE_02C777 CODE_02C75A: B9 43 C7 LDA.W DATA_02C743,Y CODE_02C75D: 9D 40 15 STA.W $1540,X CODE_02C760: B9 3D C7 LDA.W DATA_02C73D,Y CODE_02C763: 9D 02 16 STA.W $1602,X CODE_02C766: A9 02 LDA.B #$02 CODE_02C768: C0 05 CPY.B #$05 CODE_02C76A: D0 07 BNE CODE_02C773 CODE_02C76C: A5 14 LDA RAM_FrameCounterB CODE_02C76E: 4A LSR CODE_02C76F: EA NOP CODE_02C770: 29 02 AND.B #$02 CODE_02C772: 1A INC A CODE_02C773: 9D 1C 15 STA.W $151C,X Return02C776: 60 RTS ; Return CODE_02C777: B5 9E LDA RAM_SpriteNum,X CODE_02C779: C9 94 CMP.B #$94 CODE_02C77B: F0 17 BEQ CODE_02C794 CODE_02C77D: C9 46 CMP.B #$46 CODE_02C77F: D0 04 BNE CODE_02C785 CODE_02C781: A9 91 LDA.B #$91 CODE_02C783: 95 9E STA RAM_SpriteNum,X CODE_02C785: A9 30 LDA.B #$30 CODE_02C787: 9D 40 15 STA.W $1540,X CODE_02C78A: A9 02 LDA.B #$02 CODE_02C78C: 95 C2 STA RAM_SpriteState,X CODE_02C78E: FE 7B 18 INC.W $187B,X CODE_02C791: 4C 56 C5 JMP.W CODE_02C556 CODE_02C794: A9 0C LDA.B #$0C CODE_02C796: 95 C2 STA RAM_SpriteState,X Return02C798: 60 RTS ; Return DATA_02C799: .db $F0,$10 DATA_02C79B: .db $20,$E0 CODE_02C79D: BD 64 15 LDA.W $1564,X CODE_02C7A0: D0 6D BNE Return02C80F CODE_02C7A2: 22 DC A7 01 JSL.L MarioSprInteract CODE_02C7A6: 90 67 BCC Return02C80F CODE_02C7A8: AD 90 14 LDA.W $1490 ; \ Branch if Mario doesn't have star CODE_02C7AB: F0 17 BEQ CODE_02C7C4 ; / CODE_02C7AD: A9 D0 LDA.B #$D0 CODE_02C7AF: 95 AA STA RAM_SpriteSpeedY,X CODE_02C7B1: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_02C7B3: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_02C7B5: 9D C8 14 STA.W $14C8,X ; / CODE_02C7B8: A9 03 LDA.B #$03 ; \ Play sound effect CODE_02C7BA: 8D F9 1D STA.W $1DF9 ; / CODE_02C7BD: A9 03 LDA.B #$03 CODE_02C7BF: 22 E5 AC 02 JSL.L GivePoints Return02C7C3: 60 RTS ; Return CODE_02C7C4: 20 0C D5 JSR.W CODE_02D50C CODE_02C7C7: A5 0E LDA $0E CODE_02C7C9: C9 EC CMP.B #$EC CODE_02C7CB: 10 43 BPL CODE_02C810 CODE_02C7CD: A9 05 LDA.B #$05 CODE_02C7CF: 9D 64 15 STA.W $1564,X CODE_02C7D2: A9 02 LDA.B #$02 ; \ Play sound effect CODE_02C7D4: 8D F9 1D STA.W $1DF9 ; / CODE_02C7D7: 22 99 AB 01 JSL.L DisplayContactGfx CODE_02C7DB: 22 33 AA 01 JSL.L BoostMarioSpeed CODE_02C7DF: 9E 3E 16 STZ.W $163E,X CODE_02C7E2: B5 C2 LDA RAM_SpriteState,X CODE_02C7E4: C9 03 CMP.B #$03 CODE_02C7E6: F0 27 BEQ Return02C80F CODE_02C7E8: FE 28 15 INC.W $1528,X ; Increase Chuck stomp count CODE_02C7EB: BD 28 15 LDA.W $1528,X ; \ Kill Chuck if stomp count >= 3 CODE_02C7EE: C9 03 CMP.B #$03 ; | CODE_02C7F0: 90 04 BCC CODE_02C7F6 ; | CODE_02C7F2: 74 AA STZ RAM_SpriteSpeedY,X ; | Sprite Y Speed = 0 CODE_02C7F4: 80 BB BRA CODE_02C7B1 ; / CODE_02C7F6: A9 28 LDA.B #$28 ; \ Play sound effect CODE_02C7F8: 8D FC 1D STA.W $1DFC ; / CODE_02C7FB: A9 03 LDA.B #$03 CODE_02C7FD: 95 C2 STA RAM_SpriteState,X CODE_02C7FF: A9 03 LDA.B #$03 CODE_02C801: 9D 40 15 STA.W $1540,X CODE_02C804: 9E 70 15 STZ.W $1570,X CODE_02C807: 20 FA D4 JSR.W CODE_02D4FA CODE_02C80A: B9 9B C7 LDA.W DATA_02C79B,Y CODE_02C80D: 85 7B STA RAM_MarioSpeedX Return02C80F: 60 RTS ; Return CODE_02C810: AD 7A 18 LDA.W RAM_OnYoshi CODE_02C813: D0 04 BNE Return02C819 CODE_02C815: 22 B7 F5 00 JSL.L HurtMario Return02C819: 60 RTS ; Return CODE_02C81A: 20 78 D3 JSR.W GetDrawInfo2 CODE_02C81D: 20 8C C8 JSR.W CODE_02C88C CODE_02C820: 20 27 CA JSR.W CODE_02CA27 CODE_02C823: 20 9D CA JSR.W CODE_02CA9D CODE_02C826: 20 A1 CB JSR.W CODE_02CBA1 CODE_02C829: A0 FF LDY.B #$FF CODE_02C82B: A9 04 LDA.B #$04 CODE_02C82D: 4C A7 B7 JMP.W CODE_02B7A7 DATA_02C830: .db $F8,$F8,$F8,$00,$00,$FE,$00,$00 .db $FA,$00,$00,$00,$00,$00,$00,$FD .db $FD,$F9,$F6,$F6,$F8,$FE,$FC,$FA .db $F8,$FA DATA_02C84A: .db $F8,$F9,$F7,$F8,$FC,$F8,$F4,$F5 .db $F5,$FC,$FD,$00,$F9,$F5,$F8,$FA .db $F6,$F6,$F4,$F4,$F8,$F6,$F6,$F8 .db $F8,$F5 DATA_02C864: .db $08,$08,$08,$00,$00,$00,$08,$08 .db $08,$00,$08,$08,$00,$00,$00,$00 .db $00,$08,$10,$10,$0C,$0C,$0C,$0C .db $0C,$0C ChuckHeadTiles: .db $06,$0A,$0E,$0A,$06,$4B,$4B DATA_02C885: .db $40,$40,$00,$00,$00,$00,$40 CODE_02C88C: 64 07 STZ $07 CODE_02C88E: BC 02 16 LDY.W $1602,X CODE_02C891: 84 04 STY $04 CODE_02C893: C0 09 CPY.B #$09 CODE_02C895: 18 CLC CODE_02C896: D0 13 BNE CODE_02C8AB CODE_02C898: BD 40 15 LDA.W $1540,X CODE_02C89B: 38 SEC CODE_02C89C: E9 20 SBC.B #$20 CODE_02C89E: 90 0B BCC CODE_02C8AB CODE_02C8A0: 48 PHA CODE_02C8A1: 4A LSR CODE_02C8A2: 4A LSR CODE_02C8A3: 4A LSR CODE_02C8A4: 4A LSR CODE_02C8A5: 4A LSR CODE_02C8A6: 85 07 STA $07 CODE_02C8A8: 68 PLA CODE_02C8A9: 4A LSR CODE_02C8AA: 4A LSR CODE_02C8AB: A5 00 LDA $00 CODE_02C8AD: 69 00 ADC.B #$00 CODE_02C8AF: 85 00 STA $00 CODE_02C8B1: BD 1C 15 LDA.W $151C,X CODE_02C8B4: 85 02 STA $02 CODE_02C8B6: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02C8B9: 85 03 STA $03 CODE_02C8BB: BD F6 15 LDA.W RAM_SpritePal,X CODE_02C8BE: 05 64 ORA $64 CODE_02C8C0: 85 08 STA $08 CODE_02C8C2: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02C8C5: 85 05 STA $05 CODE_02C8C7: 18 CLC CODE_02C8C8: 79 64 C8 ADC.W DATA_02C864,Y CODE_02C8CB: A8 TAY CODE_02C8CC: A6 04 LDX $04 CODE_02C8CE: BD 30 C8 LDA.W DATA_02C830,X CODE_02C8D1: A6 03 LDX $03 CODE_02C8D3: D0 03 BNE CODE_02C8D8 CODE_02C8D5: 49 FF EOR.B #$FF CODE_02C8D7: 1A INC A CODE_02C8D8: 18 CLC CODE_02C8D9: 65 00 ADC $00 CODE_02C8DB: 99 00 03 STA.W OAM_DispX,Y CODE_02C8DE: A6 04 LDX $04 CODE_02C8E0: A5 01 LDA $01 CODE_02C8E2: 18 CLC CODE_02C8E3: 7D 4A C8 ADC.W DATA_02C84A,X CODE_02C8E6: 38 SEC CODE_02C8E7: E5 07 SBC $07 CODE_02C8E9: 99 01 03 STA.W OAM_DispY,Y CODE_02C8EC: A6 02 LDX $02 CODE_02C8EE: BD 85 C8 LDA.W DATA_02C885,X CODE_02C8F1: 05 08 ORA $08 CODE_02C8F3: 99 03 03 STA.W OAM_Prop,Y CODE_02C8F6: BD 7E C8 LDA.W ChuckHeadTiles,X CODE_02C8F9: 99 02 03 STA.W OAM_Tile,Y CODE_02C8FC: 98 TYA CODE_02C8FD: 4A LSR CODE_02C8FE: 4A LSR CODE_02C8FF: A8 TAY CODE_02C900: A9 02 LDA.B #$02 CODE_02C902: 99 60 04 STA.W OAM_TileSize,Y CODE_02C905: AE E9 15 LDX.W $15E9 ; X = Sprite index Return02C908: 60 RTS ; Return DATA_02C909: .db $F8,$F8,$F8,$FC,$FC,$FC,$FC,$F8 .db $01,$FC,$FC,$FC,$FC,$FC,$FC,$FC .db $FC,$F8,$F8,$F8,$F8,$08,$06,$F8 .db $F8,$01,$10,$10,$10,$04,$04,$04 .db $04,$08,$07,$04,$04,$04,$04,$04 .db $04,$04,$04,$10,$08,$08,$10,$00 .db $02,$10,$10,$07 DATA_02C93D: .db $00,$00,$00,$04,$04,$04,$04,$08 .db $00,$04,$04,$04,$04,$04,$04,$04 .db $04,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$FC,$FC,$FC .db $FC,$F8,$00,$FC,$FC,$FC,$FC,$FC .db $FC,$FC,$FC,$00,$00,$00,$00,$00 .db $00,$00,$00,$00 DATA_02C971: .db $06,$06,$06,$00,$00,$00,$00,$00 .db $F8,$00,$00,$00,$00,$00,$00,$00 .db $00,$03,$00,$00,$06,$F8,$F8,$00 .db $00,$F8 ChuckBody1: .db $0D,$34,$35,$26,$2D,$28,$40,$42 .db $5D,$2D,$64,$64,$64,$64,$E7,$28 .db $82,$CB,$23,$20,$0D,$0C,$5D,$BD .db $BD,$5D ChuckBody2: .db $4E,$0C,$22,$26,$2D,$29,$40,$42 .db $AE,$2D,$64,$64,$64,$64,$E8,$29 .db $83,$CC,$24,$21,$4E,$A0,$A0,$A2 .db $A4,$AE DATA_02C9BF: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$40,$00,$00 .db $00,$00 DATA_02C9D9: .db $00,$00,$00,$40,$40,$00,$40,$40 .db $00,$40,$40,$40,$40,$40,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00 DATA_02C9F3: .db $00,$00,$00,$02,$02,$02,$02,$02 .db $00,$02,$02,$02,$02,$02,$02,$02 .db $02,$00,$02,$02,$00,$00,$00,$00 .db $00,$00 DATA_02CA0D: .db $00,$00,$00,$04,$04,$04,$0C,$0C .db $00,$08,$00,$00,$04,$04,$04,$04 .db $04,$00,$08,$08,$00,$00,$00,$00 .db $00,$00 CODE_02CA27: 64 06 STZ $06 CODE_02CA29: A5 04 LDA $04 CODE_02CA2B: A4 03 LDY $03 CODE_02CA2D: D0 07 BNE CODE_02CA36 CODE_02CA2F: 18 CLC CODE_02CA30: 69 1A ADC.B #$1A CODE_02CA32: A2 40 LDX.B #$40 CODE_02CA34: 86 06 STX $06 CODE_02CA36: AA TAX CODE_02CA37: A4 04 LDY $04 CODE_02CA39: B9 0D CA LDA.W DATA_02CA0D,Y CODE_02CA3C: 18 CLC CODE_02CA3D: 65 05 ADC $05 CODE_02CA3F: A8 TAY CODE_02CA40: A5 00 LDA $00 CODE_02CA42: 18 CLC CODE_02CA43: 7D 09 C9 ADC.W DATA_02C909,X CODE_02CA46: 99 00 03 STA.W OAM_DispX,Y CODE_02CA49: A5 00 LDA $00 CODE_02CA4B: 18 CLC CODE_02CA4C: 7D 3D C9 ADC.W DATA_02C93D,X CODE_02CA4F: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02CA52: A6 04 LDX $04 CODE_02CA54: A5 01 LDA $01 CODE_02CA56: 18 CLC CODE_02CA57: 7D 71 C9 ADC.W DATA_02C971,X CODE_02CA5A: 99 01 03 STA.W OAM_DispY,Y CODE_02CA5D: A5 01 LDA $01 CODE_02CA5F: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02CA62: BD 8B C9 LDA.W ChuckBody1,X CODE_02CA65: 99 02 03 STA.W OAM_Tile,Y CODE_02CA68: BD A5 C9 LDA.W ChuckBody2,X CODE_02CA6B: 99 06 03 STA.W OAM_Tile2,Y CODE_02CA6E: A5 08 LDA $08 CODE_02CA70: 05 06 ORA $06 CODE_02CA72: 48 PHA CODE_02CA73: 5D BF C9 EOR.W DATA_02C9BF,X CODE_02CA76: 99 03 03 STA.W OAM_Prop,Y CODE_02CA79: 68 PLA CODE_02CA7A: 5D D9 C9 EOR.W DATA_02C9D9,X CODE_02CA7D: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02CA80: 98 TYA CODE_02CA81: 4A LSR CODE_02CA82: 4A LSR CODE_02CA83: A8 TAY CODE_02CA84: BD F3 C9 LDA.W DATA_02C9F3,X CODE_02CA87: 99 60 04 STA.W OAM_TileSize,Y CODE_02CA8A: A9 02 LDA.B #$02 CODE_02CA8C: 99 61 04 STA.W $0461,Y CODE_02CA8F: AE E9 15 LDX.W $15E9 ; X = Sprite index Return02CA92: 60 RTS ; Return DATA_02CA93: .db $FA,$00 DATA_02CA95: .db $0E,$00 ClappinChuckTiles: .db $0C,$44 DATA_02CA99: .db $F8,$F0 DATA_02CA9B: .db $00,$02 CODE_02CA9D: A5 04 LDA $04 CODE_02CA9F: C9 14 CMP.B #$14 CODE_02CAA1: 90 03 BCC CODE_02CAA6 CODE_02CAA3: 4C 53 CB JMP.W CODE_02CB53 CODE_02CAA6: C9 12 CMP.B #$12 CODE_02CAA8: F0 52 BEQ CODE_02CAFC CODE_02CAAA: C9 13 CMP.B #$13 CODE_02CAAC: F0 4E BEQ CODE_02CAFC CODE_02CAAE: 38 SEC CODE_02CAAF: E9 06 SBC.B #$06 CODE_02CAB1: C9 02 CMP.B #$02 CODE_02CAB3: B0 44 BCS Return02CAF9 CODE_02CAB5: AA TAX CODE_02CAB6: A4 05 LDY $05 CODE_02CAB8: A5 00 LDA $00 CODE_02CABA: 18 CLC CODE_02CABB: 7D 93 CA ADC.W DATA_02CA93,X CODE_02CABE: 99 00 03 STA.W OAM_DispX,Y CODE_02CAC1: A5 00 LDA $00 CODE_02CAC3: 18 CLC CODE_02CAC4: 7D 95 CA ADC.W DATA_02CA95,X CODE_02CAC7: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02CACA: A5 01 LDA $01 CODE_02CACC: 18 CLC CODE_02CACD: 7D 99 CA ADC.W DATA_02CA99,X CODE_02CAD0: 99 01 03 STA.W OAM_DispY,Y CODE_02CAD3: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02CAD6: BD 97 CA LDA.W ClappinChuckTiles,X CODE_02CAD9: 99 02 03 STA.W OAM_Tile,Y CODE_02CADC: 99 06 03 STA.W OAM_Tile2,Y CODE_02CADF: A5 08 LDA $08 CODE_02CAE1: 99 03 03 STA.W OAM_Prop,Y CODE_02CAE4: 09 40 ORA.B #$40 CODE_02CAE6: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02CAE9: 98 TYA CODE_02CAEA: 4A LSR CODE_02CAEB: 4A LSR CODE_02CAEC: A8 TAY CODE_02CAED: BD 9B CA LDA.W DATA_02CA9B,X CODE_02CAF0: 99 60 04 STA.W OAM_TileSize,Y CODE_02CAF3: 99 61 04 STA.W $0461,Y CODE_02CAF6: AE E9 15 LDX.W $15E9 ; X = Sprite index Return02CAF9: 60 RTS ; Return ChuckGfxProp: .db $47,$07 CODE_02CAFC: A4 05 LDY $05 CODE_02CAFE: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02CB01: DA PHX CODE_02CB02: AA TAX CODE_02CB03: 0A ASL CODE_02CB04: 0A ASL CODE_02CB05: 0A ASL CODE_02CB06: 48 PHA CODE_02CB07: 49 08 EOR.B #$08 CODE_02CB09: 18 CLC CODE_02CB0A: 65 00 ADC $00 CODE_02CB0C: 99 00 03 STA.W OAM_DispX,Y CODE_02CB0F: 68 PLA CODE_02CB10: 18 CLC CODE_02CB11: 65 00 ADC $00 CODE_02CB13: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02CB16: A9 1C LDA.B #$1C CODE_02CB18: 99 02 03 STA.W OAM_Tile,Y CODE_02CB1B: 1A INC A CODE_02CB1C: 99 06 03 STA.W OAM_Tile2,Y CODE_02CB1F: A5 01 LDA $01 CODE_02CB21: 38 SEC CODE_02CB22: E9 08 SBC.B #$08 CODE_02CB24: 99 01 03 STA.W OAM_DispY,Y CODE_02CB27: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02CB2A: BD FA CA LDA.W ChuckGfxProp,X CODE_02CB2D: 05 64 ORA $64 CODE_02CB2F: 99 03 03 STA.W OAM_Prop,Y CODE_02CB32: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02CB35: 98 TYA CODE_02CB36: 4A LSR CODE_02CB37: 4A LSR CODE_02CB38: AA TAX CODE_02CB39: 9E 60 04 STZ.W OAM_TileSize,X CODE_02CB3C: 9E 61 04 STZ.W $0461,X CODE_02CB3F: FA PLX Return02CB40: 60 RTS ; Return DATA_02CB41: .db $FA,$0A,$06,$00,$00,$01,$0E,$FE .db $02,$00,$00,$09,$08,$F4,$F4,$00 .db $00,$F4 CODE_02CB53: DA PHX CODE_02CB54: 85 02 STA $02 CODE_02CB56: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02CB59: D0 03 BNE CODE_02CB5E CODE_02CB5B: 18 CLC CODE_02CB5C: 69 06 ADC.B #$06 CODE_02CB5E: AA TAX CODE_02CB5F: A5 05 LDA $05 CODE_02CB61: 18 CLC CODE_02CB62: 69 08 ADC.B #$08 CODE_02CB64: A8 TAY CODE_02CB65: A5 00 LDA $00 CODE_02CB67: 18 CLC CODE_02CB68: 7D 2D CB ADC.W CODE_02CB2D,X CODE_02CB6B: 99 00 03 STA.W OAM_DispX,Y CODE_02CB6E: A6 02 LDX $02 CODE_02CB70: BD 39 CB LDA.W CODE_02CB39,X CODE_02CB73: F0 19 BEQ CODE_02CB8E CODE_02CB75: 18 CLC CODE_02CB76: 65 01 ADC $01 CODE_02CB78: 99 01 03 STA.W OAM_DispY,Y CODE_02CB7B: A9 AD LDA.B #$AD CODE_02CB7D: 99 02 03 STA.W OAM_Tile,Y CODE_02CB80: A9 09 LDA.B #$09 CODE_02CB82: 05 64 ORA $64 CODE_02CB84: 99 03 03 STA.W OAM_Prop,Y CODE_02CB87: 98 TYA CODE_02CB88: 4A LSR CODE_02CB89: 4A LSR CODE_02CB8A: AA TAX CODE_02CB8B: 9E 60 04 STZ.W OAM_TileSize,X CODE_02CB8E: FA PLX Return02CB8F: 60 RTS ; Return DigChuckTileDispX: .db $FC,$04,$10,$F0,$12,$EE DigChuckTileProp: .db $47,$07 DigChuckTileDispY: .db $F8,$00,$F8 DigChuckTiles: .db $CA,$E2,$A0 DigChuckTileSize: .db $00,$02,$02 CODE_02CBA1: B5 9E LDA RAM_SpriteNum,X CODE_02CBA3: C9 46 CMP.B #$46 CODE_02CBA5: D0 54 BNE Return02CBFB CODE_02CBA7: BD 02 16 LDA.W $1602,X CODE_02CBAA: C9 05 CMP.B #$05 CODE_02CBAC: D0 04 BNE CODE_02CBB2 CODE_02CBAE: A9 01 LDA.B #$01 CODE_02CBB0: 80 07 BRA CODE_02CBB9 CODE_02CBB2: C9 0E CMP.B #$0E CODE_02CBB4: 90 45 BCC Return02CBFB CODE_02CBB6: 38 SEC CODE_02CBB7: E9 0E SBC.B #$0E CODE_02CBB9: 85 02 STA $02 CODE_02CBBB: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02CBBE: 18 CLC CODE_02CBBF: 69 0C ADC.B #$0C CODE_02CBC1: A8 TAY CODE_02CBC2: DA PHX CODE_02CBC3: A5 02 LDA $02 CODE_02CBC5: 0A ASL CODE_02CBC6: 1D 7C 15 ORA.W RAM_SpriteDir,X CODE_02CBC9: AA TAX CODE_02CBCA: A5 00 LDA $00 CODE_02CBCC: 18 CLC CODE_02CBCD: 7D 90 CB ADC.W DigChuckTileDispX,X CODE_02CBD0: 99 00 03 STA.W OAM_DispX,Y CODE_02CBD3: 8A TXA CODE_02CBD4: 29 01 AND.B #$01 CODE_02CBD6: AA TAX CODE_02CBD7: BD 96 CB LDA.W DigChuckTileProp,X CODE_02CBDA: 05 64 ORA $64 CODE_02CBDC: 99 03 03 STA.W OAM_Prop,Y CODE_02CBDF: A6 02 LDX $02 CODE_02CBE1: A5 01 LDA $01 CODE_02CBE3: 18 CLC CODE_02CBE4: 7D 98 CB ADC.W DigChuckTileDispY,X CODE_02CBE7: 99 01 03 STA.W OAM_DispY,Y CODE_02CBEA: BD 9B CB LDA.W DigChuckTiles,X CODE_02CBED: 99 02 03 STA.W OAM_Tile,Y CODE_02CBF0: 98 TYA CODE_02CBF1: 4A LSR CODE_02CBF2: 4A LSR CODE_02CBF3: A8 TAY CODE_02CBF4: BD 9E CB LDA.W DigChuckTileSize,X CODE_02CBF7: 99 60 04 STA.W OAM_TileSize,Y CODE_02CBFA: FA PLX Return02CBFB: 60 RTS ; Return Return02CBFC: 60 RTS ; Return Return02CBFD: 6B RTL ; Return WingedCageMain: A5 9D LDA RAM_SpritesLocked ; \ If sprites not locked, ADDR_02CC00: D0 03 BNE ADDR_02CC05 ; | increment sprite frame counter ADDR_02CC02: FE 70 15 INC.W $1570,X ; / ADDR_02CC05: 20 B9 CC JSR.W ADDR_02CCB9 ADDR_02CC08: DA PHX ADDR_02CC09: 22 32 FF 00 JSL.L ADDR_00FF32 ADDR_02CC0D: FA PLX ADDR_02CC0E: B5 E4 LDA RAM_SpriteXLo,X ADDR_02CC10: 18 CLC ADDR_02CC11: 6D BD 17 ADC.W $17BD ADDR_02CC14: 95 E4 STA RAM_SpriteXLo,X ADDR_02CC16: BD E0 14 LDA.W RAM_SpriteXHi,X ADDR_02CC19: 69 00 ADC.B #$00 ADDR_02CC1B: 9D E0 14 STA.W RAM_SpriteXHi,X ADDR_02CC1E: A5 71 LDA RAM_MarioAnimation ; \ Return if Mario animation sequence active ADDR_02CC20: C9 01 CMP.B #$01 ; | ADDR_02CC22: B0 D9 BCS Return02CBFD ; / ADDR_02CC24: AD B5 18 LDA.W $18B5 ADDR_02CC27: F0 04 BEQ ADDR_02CC2D ADDR_02CC29: 22 07 FF 00 JSL.L ADDR_00FF07 ADDR_02CC2D: A0 00 LDY.B #$00 ADDR_02CC2F: AD BC 17 LDA.W $17BC ADDR_02CC32: 10 01 BPL ADDR_02CC35 ADDR_02CC34: 88 DEY ADDR_02CC35: 18 CLC ADDR_02CC36: 75 D8 ADC RAM_SpriteYLo,X ADDR_02CC38: 95 D8 STA RAM_SpriteYLo,X ADDR_02CC3A: 98 TYA ADDR_02CC3B: 7D D4 14 ADC.W RAM_SpriteYHi,X ADDR_02CC3E: 9D D4 14 STA.W RAM_SpriteYHi,X ADDR_02CC41: B5 E4 LDA RAM_SpriteXLo,X ; \ $00 = Sprite X position ADDR_02CC43: 85 00 STA $00 ; | ADDR_02CC45: BD E0 14 LDA.W RAM_SpriteXHi,X ; | ADDR_02CC48: 85 01 STA $01 ; / ADDR_02CC4A: B5 D8 LDA RAM_SpriteYLo,X ; \ $02 = Sprite Y position ADDR_02CC4C: 85 02 STA $02 ; | ADDR_02CC4E: BD D4 14 LDA.W RAM_SpriteYHi,X ; | ADDR_02CC51: 85 03 STA $03 ; / ADDR_02CC53: C2 20 REP #$20 ; Accum (16 bit) ADDR_02CC55: A5 00 LDA $00 ADDR_02CC57: A4 7B LDY RAM_MarioSpeedX ADDR_02CC59: 88 DEY ADDR_02CC5A: 10 10 BPL ADDR_02CC6C ADDR_02CC5C: 18 CLC ADDR_02CC5D: 69 00 00 ADC.W #$0000 ADDR_02CC60: C5 94 CMP RAM_MarioXPos ADDR_02CC62: 90 1B BCC ADDR_02CC7F ADDR_02CC64: 85 94 STA RAM_MarioXPos ADDR_02CC66: A0 00 LDY.B #$00 ; \ Mario's X speed = 0 ADDR_02CC68: 84 7B STY RAM_MarioSpeedX ; / ADDR_02CC6A: 80 13 BRA ADDR_02CC7F ADDR_02CC6C: 18 CLC ADDR_02CC6D: 69 90 00 ADC.W #$0090 ADDR_02CC70: C5 94 CMP RAM_MarioXPos ADDR_02CC72: B0 0B BCS ADDR_02CC7F ADDR_02CC74: A5 00 LDA $00 ADDR_02CC76: 69 91 00 ADC.W #$0091 ADDR_02CC79: 85 94 STA RAM_MarioXPos ADDR_02CC7B: A0 00 LDY.B #$00 ADDR_02CC7D: 84 7B STY RAM_MarioSpeedX ADDR_02CC7F: A5 02 LDA $02 ADDR_02CC81: A4 7D LDY RAM_MarioSpeedY ADDR_02CC83: 10 0E BPL ADDR_02CC93 ADDR_02CC85: 18 CLC ADDR_02CC86: 69 20 00 ADC.W #$0020 ADDR_02CC89: C5 96 CMP RAM_MarioYPos ADDR_02CC8B: 90 21 BCC ADDR_02CCAE ADDR_02CC8D: A0 00 LDY.B #$00 ADDR_02CC8F: 84 7D STY RAM_MarioSpeedY ADDR_02CC91: 80 1B BRA ADDR_02CCAE ADDR_02CC93: 18 CLC ADDR_02CC94: 69 60 00 ADC.W #$0060 ADDR_02CC97: C5 96 CMP RAM_MarioYPos ADDR_02CC99: B0 13 BCS ADDR_02CCAE ADDR_02CC9B: A5 02 LDA $02 ADDR_02CC9D: 69 61 00 ADC.W #$0061 ADDR_02CCA0: 85 96 STA RAM_MarioYPos ADDR_02CCA2: A0 00 LDY.B #$00 ADDR_02CCA4: 84 7D STY RAM_MarioSpeedY ADDR_02CCA6: A0 01 LDY.B #$01 ADDR_02CCA8: 8C 71 14 STY.W $1471 ADDR_02CCAB: 8C B5 18 STY.W $18B5 ADDR_02CCAE: E2 20 SEP #$20 ; Accum (8 bit) Return02CCB0: 6B RTL ; Return CageWingTileDispX: .db $00,$30,$60,$90 CageWingTileDispY: .db $F8,$00,$F8,$00 ADDR_02CCB9: A9 03 LDA.B #$03 ADDR_02CCBB: 85 08 STA $08 ADDR_02CCBD: B5 E4 LDA RAM_SpriteXLo,X ADDR_02CCBF: 38 SEC ADDR_02CCC0: E5 1A SBC RAM_ScreenBndryXLo ADDR_02CCC2: 85 00 STA $00 ADDR_02CCC4: B5 D8 LDA RAM_SpriteYLo,X ADDR_02CCC6: 38 SEC ADDR_02CCC7: E5 1C SBC RAM_ScreenBndryYLo ADDR_02CCC9: 85 01 STA $01 ADDR_02CCCB: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM ADDR_02CCCE: 84 02 STY $02 ADDR_02CCD0: A4 02 LDY $02 ADDR_02CCD2: A6 08 LDX $08 ADDR_02CCD4: A5 00 LDA $00 ADDR_02CCD6: 18 CLC ADDR_02CCD7: 7D B1 CC ADC.W CageWingTileDispX,X ADDR_02CCDA: 99 00 03 STA.W OAM_DispX,Y ADDR_02CCDD: 99 04 03 STA.W OAM_Tile2DispX,Y ADDR_02CCE0: A5 01 LDA $01 ADDR_02CCE2: 18 CLC ADDR_02CCE3: 7D B5 CC ADC.W CageWingTileDispY,X ADDR_02CCE6: 99 01 03 STA.W OAM_DispY,Y ADDR_02CCE9: 18 CLC ADDR_02CCEA: 69 08 ADC.B #$08 ADDR_02CCEC: 99 05 03 STA.W OAM_Tile2DispY,Y ADDR_02CCEF: AE E9 15 LDX.W $15E9 ; X = Sprite index ADDR_02CCF2: BD 70 15 LDA.W $1570,X ADDR_02CCF5: 4A LSR ADDR_02CCF6: 4A LSR ADDR_02CCF7: 4A LSR ADDR_02CCF8: 45 08 EOR $08 ADDR_02CCFA: 4A LSR ADDR_02CCFB: A9 C6 LDA.B #$C6 ADDR_02CCFD: 90 02 BCC ADDR_02CD01 ADDR_02CCFF: A9 81 LDA.B #$81 ADDR_02CD01: 99 02 03 STA.W OAM_Tile,Y ADDR_02CD04: A9 D6 LDA.B #$D6 ADDR_02CD06: 90 02 BCC ADDR_02CD0A ADDR_02CD08: A9 D7 LDA.B #$D7 ADDR_02CD0A: 99 06 03 STA.W OAM_Tile2,Y ADDR_02CD0D: A9 70 LDA.B #$70 ADDR_02CD0F: 99 03 03 STA.W OAM_Prop,Y ADDR_02CD12: 99 07 03 STA.W OAM_Tile2Prop,Y ADDR_02CD15: 98 TYA ADDR_02CD16: 4A LSR ADDR_02CD17: 4A LSR ADDR_02CD18: A8 TAY ADDR_02CD19: A9 00 LDA.B #$00 ADDR_02CD1B: 99 60 04 STA.W OAM_TileSize,Y ADDR_02CD1E: 99 61 04 STA.W $0461,Y ADDR_02CD21: A5 02 LDA $02 ADDR_02CD23: 18 CLC ADDR_02CD24: 69 08 ADC.B #$08 ADDR_02CD26: 85 02 STA $02 ADDR_02CD28: C6 08 DEC $08 ADDR_02CD2A: 10 A4 BPL ADDR_02CCD0 Return02CD2C: 60 RTS ; Return CODE_02CD2D: 8B PHB ; Wrapper CODE_02CD2E: 4B PHK CODE_02CD2F: AB PLB CODE_02CD30: 20 59 CD JSR.W CODE_02CD59 CODE_02CD33: AB PLB Return02CD34: 6B RTL ; Return DATA_02CD35: .db $00,$08,$10,$18,$00,$08,$10,$18 DATA_02CD3D: .db $00,$00,$00,$00,$08,$08,$08,$08 DATA_02CD45: .db $00,$01,$01,$00,$10,$11,$11,$10 DATA_02CD4D: .db $31,$31,$71,$71,$31,$31,$71,$71 DATA_02CD55: .db $0A,$04,$06,$08 CODE_02CD59: BD 40 15 LDA.W $1540,X CODE_02CD5C: C9 5E CMP.B #$5E CODE_02CD5E: D0 1F BNE CODE_02CD7F CODE_02CD60: A9 1B LDA.B #$1B ; \ Block to generate = #$1B CODE_02CD62: 85 9C STA RAM_BlockBlock ; / CODE_02CD64: B5 E4 LDA RAM_SpriteXLo,X CODE_02CD66: 85 9A STA RAM_BlockYLo CODE_02CD68: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02CD6B: 85 9B STA RAM_BlockYHi CODE_02CD6D: B5 D8 LDA RAM_SpriteYLo,X CODE_02CD6F: 38 SEC CODE_02CD70: E9 10 SBC.B #$10 CODE_02CD72: 85 98 STA RAM_BlockXLo CODE_02CD74: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02CD77: E9 00 SBC.B #$00 CODE_02CD79: 85 99 STA RAM_BlockXHi CODE_02CD7B: 22 B0 BE 00 JSL.L GenerateTile CODE_02CD7F: 22 4F B4 01 JSL.L InvisBlkMainRt CODE_02CD83: 20 78 D3 JSR.W GetDrawInfo2 CODE_02CD86: DA PHX CODE_02CD87: AE 1E 19 LDX.W $191E CODE_02CD8A: BD 55 CD LDA.W DATA_02CD55,X CODE_02CD8D: 85 02 STA $02 CODE_02CD8F: A2 07 LDX.B #$07 CODE_02CD91: A5 00 LDA $00 CODE_02CD93: 18 CLC CODE_02CD94: 7D 35 CD ADC.W DATA_02CD35,X CODE_02CD97: 99 00 03 STA.W OAM_DispX,Y CODE_02CD9A: A5 01 LDA $01 CODE_02CD9C: 18 CLC CODE_02CD9D: 7D 3D CD ADC.W DATA_02CD3D,X CODE_02CDA0: 99 01 03 STA.W OAM_DispY,Y CODE_02CDA3: BD 45 CD LDA.W DATA_02CD45,X CODE_02CDA6: 99 02 03 STA.W OAM_Tile,Y CODE_02CDA9: BD 4D CD LDA.W DATA_02CD4D,X CODE_02CDAC: E0 04 CPX.B #$04 CODE_02CDAE: B0 02 BCS CODE_02CDB2 CODE_02CDB0: 05 02 ORA $02 CODE_02CDB2: 99 03 03 STA.W OAM_Prop,Y CODE_02CDB5: C8 INY CODE_02CDB6: C8 INY CODE_02CDB7: C8 INY CODE_02CDB8: C8 INY CODE_02CDB9: CA DEX CODE_02CDBA: 10 D5 BPL CODE_02CD91 CODE_02CDBC: FA PLX CODE_02CDBD: A0 00 LDY.B #$00 CODE_02CDBF: A9 07 LDA.B #$07 CODE_02CDC1: 4C A7 B7 JMP.W CODE_02B7A7 Return02CDC4: 60 RTS ; Return DATA_02CDC5: .db $00,$07,$F9,$00,$01,$FF PeaBouncerMain: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02CDCE: 20 E0 CE JSR.W CODE_02CEE0 CODE_02CDD1: A5 9D LDA RAM_SpritesLocked CODE_02CDD3: D0 29 BNE Return02CDFE CODE_02CDD5: BD 34 15 LDA.W $1534,X CODE_02CDD8: F0 17 BEQ CODE_02CDF1 CODE_02CDDA: DE 34 15 DEC.W $1534,X CODE_02CDDD: 24 15 BIT RAM_ControllerA CODE_02CDDF: 10 10 BPL CODE_02CDF1 CODE_02CDE1: 9E 34 15 STZ.W $1534,X CODE_02CDE4: BC 1C 15 LDY.W $151C,X CODE_02CDE7: B9 FF CD LDA.W DATA_02CDFF,Y CODE_02CDEA: 85 7D STA RAM_MarioSpeedY CODE_02CDEC: A9 08 LDA.B #$08 ; \ Play sound effect CODE_02CDEE: 8D FC 1D STA.W $1DFC ; / CODE_02CDF1: BD 28 15 LDA.W $1528,X CODE_02CDF4: 22 DF 86 00 JSL.L ExecutePtr PeaBouncerPtrs: FE CD .dw Return02CDFE 0F CE .dw CODE_02CE0F 3A CE .dw CODE_02CE3A Return02CDFE: 6B RTL ; Return DATA_02CDFF: .db $B6,$B4,$B0,$A8,$A0,$98,$90,$88 DATA_02CE07: .db $00,$00,$E8,$E0,$D0,$C8,$C0,$B8 CODE_02CE0F: BD 40 15 LDA.W $1540,X CODE_02CE12: F0 0C BEQ CODE_02CE20 CODE_02CE14: 3A DEC A CODE_02CE15: D0 08 BNE Return02CE1F CODE_02CE17: FE 28 15 INC.W $1528,X CODE_02CE1A: A9 01 LDA.B #$01 CODE_02CE1C: 9D 7C 15 STA.W RAM_SpriteDir,X Return02CE1F: 6B RTL ; Return CODE_02CE20: B5 C2 LDA RAM_SpriteState,X CODE_02CE22: 30 05 BMI CODE_02CE29 CODE_02CE24: DD 1C 15 CMP.W $151C,X CODE_02CE27: B0 06 BCS CODE_02CE2F CODE_02CE29: 18 CLC CODE_02CE2A: 69 01 ADC.B #$01 CODE_02CE2C: 95 C2 STA RAM_SpriteState,X Return02CE2E: 6B RTL ; Return CODE_02CE2F: BD 1C 15 LDA.W $151C,X CODE_02CE32: 95 C2 STA RAM_SpriteState,X CODE_02CE34: A9 08 LDA.B #$08 CODE_02CE36: 9D 40 15 STA.W $1540,X Return02CE39: 6B RTL ; Return CODE_02CE3A: FE 70 15 INC.W $1570,X CODE_02CE3D: BD 70 15 LDA.W $1570,X CODE_02CE40: 29 03 AND.B #$03 CODE_02CE42: D0 05 BNE CODE_02CE49 CODE_02CE44: DE 1C 15 DEC.W $151C,X CODE_02CE47: F0 3D BEQ CODE_02CE86 CODE_02CE49: BD 1C 15 LDA.W $151C,X CODE_02CE4C: 49 FF EOR.B #$FF CODE_02CE4E: 1A INC A CODE_02CE4F: 85 00 STA $00 CODE_02CE51: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02CE54: 29 01 AND.B #$01 CODE_02CE56: D0 18 BNE CODE_02CE70 CODE_02CE58: B5 C2 LDA RAM_SpriteState,X CODE_02CE5A: 18 CLC CODE_02CE5B: 69 04 ADC.B #$04 CODE_02CE5D: 95 C2 STA RAM_SpriteState,X CODE_02CE5F: 30 05 BMI Return02CE66 CODE_02CE61: DD 1C 15 CMP.W $151C,X CODE_02CE64: B0 01 BCS CODE_02CE67 Return02CE66: 6B RTL ; Return CODE_02CE67: BD 1C 15 LDA.W $151C,X CODE_02CE6A: 95 C2 STA RAM_SpriteState,X CODE_02CE6C: FE 7C 15 INC.W RAM_SpriteDir,X Return02CE6F: 6B RTL ; Return CODE_02CE70: B5 C2 LDA RAM_SpriteState,X CODE_02CE72: 38 SEC CODE_02CE73: E9 04 SBC.B #$04 CODE_02CE75: 95 C2 STA RAM_SpriteState,X CODE_02CE77: 10 04 BPL Return02CE7D CODE_02CE79: C5 00 CMP $00 CODE_02CE7B: 90 01 BCC CODE_02CE7E Return02CE7D: 6B RTL ; Return CODE_02CE7E: A5 00 LDA $00 CODE_02CE80: 95 C2 STA RAM_SpriteState,X CODE_02CE82: FE 7C 15 INC.W RAM_SpriteDir,X Return02CE85: 6B RTL ; Return CODE_02CE86: 74 C2 STZ RAM_SpriteState,X CODE_02CE88: 9E 28 15 STZ.W $1528,X Return02CE8B: 6B RTL ; Return ADDR_02CE8C: 20 E0 CE JSR.W CODE_02CEE0 ; \ Unreachable Return02CE8F: 6B RTL ; / Wrapper for Pea Bouncer gfx routine DATA_02CE90: .db $00,$08,$10,$18,$20,$00,$08,$10 .db $18,$20,$00,$08,$10,$18,$20,$00 .db $08,$10,$18,$1F,$00,$08,$10,$17 .db $1E,$00,$08,$0F,$16,$1D,$00,$07 .db $0F,$16,$1C,$00,$07,$0E,$15,$1B DATA_02CEB8: .db $00,$00,$00,$00,$00,$00,$01,$01 .db $01,$02,$00,$00,$01,$02,$04,$00 .db $01,$02,$04,$06,$00,$01,$03,$06 .db $08,$00,$02,$04,$08,$0A,$00,$02 .db $05,$07,$0C,$00,$02,$05,$09,$0E CODE_02CEE0: 20 78 D3 JSR.W GetDrawInfo2 CODE_02CEE3: A9 04 LDA.B #$04 CODE_02CEE5: 85 02 STA $02 CODE_02CEE7: B5 9E LDA RAM_SpriteNum,X CODE_02CEE9: 38 SEC CODE_02CEEA: E9 6B SBC.B #$6B CODE_02CEEC: 85 05 STA $05 CODE_02CEEE: B5 C2 LDA RAM_SpriteState,X CODE_02CEF0: 85 03 STA $03 CODE_02CEF2: 10 03 BPL CODE_02CEF7 CODE_02CEF4: 49 FF EOR.B #$FF CODE_02CEF6: 1A INC A CODE_02CEF7: 85 04 STA $04 CODE_02CEF9: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02CEFC: A5 04 LDA $04 CODE_02CEFE: 0A ASL CODE_02CEFF: 0A ASL CODE_02CF00: 65 04 ADC $04 CODE_02CF02: 65 02 ADC $02 CODE_02CF04: AA TAX CODE_02CF05: A5 05 LDA $05 CODE_02CF07: 4A LSR CODE_02CF08: BD 90 CE LDA.W DATA_02CE90,X CODE_02CF0B: 90 03 BCC CODE_02CF10 CODE_02CF0D: 49 FF EOR.B #$FF CODE_02CF0F: 1A INC A CODE_02CF10: 85 08 STA $08 CODE_02CF12: 18 CLC CODE_02CF13: 65 00 ADC $00 CODE_02CF15: 99 00 03 STA.W OAM_DispX,Y CODE_02CF18: A5 03 LDA $03 CODE_02CF1A: 0A ASL CODE_02CF1B: BD B8 CE LDA.W DATA_02CEB8,X CODE_02CF1E: 90 03 BCC CODE_02CF23 CODE_02CF20: 49 FF EOR.B #$FF CODE_02CF22: 1A INC A CODE_02CF23: 85 09 STA $09 CODE_02CF25: 18 CLC CODE_02CF26: 65 01 ADC $01 CODE_02CF28: 99 01 03 STA.W OAM_DispY,Y CODE_02CF2B: A9 3D LDA.B #$3D CODE_02CF2D: 99 02 03 STA.W OAM_Tile,Y CODE_02CF30: A5 64 LDA $64 CODE_02CF32: 09 0A ORA.B #$0A CODE_02CF34: 99 03 03 STA.W OAM_Prop,Y CODE_02CF37: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02CF3A: 5A PHY CODE_02CF3B: 20 52 CF JSR.W CODE_02CF52 CODE_02CF3E: 7A PLY CODE_02CF3F: C8 INY CODE_02CF40: C8 INY CODE_02CF41: C8 INY CODE_02CF42: C8 INY CODE_02CF43: C6 02 DEC $02 CODE_02CF45: 30 03 BMI CODE_02CF4A CODE_02CF47: 4C FC CE JMP.W CODE_02CEFC CODE_02CF4A: A0 00 LDY.B #$00 CODE_02CF4C: A9 04 LDA.B #$04 CODE_02CF4E: 4C A7 B7 JMP.W CODE_02B7A7 Return02CF51: 60 RTS ; Return CODE_02CF52: A5 71 LDA RAM_MarioAnimation CODE_02CF54: C9 01 CMP.B #$01 CODE_02CF56: B0 F9 BCS Return02CF51 CODE_02CF58: A5 81 LDA $81 CODE_02CF5A: 05 7F ORA $7F CODE_02CF5C: 1D A0 15 ORA.W RAM_OffscreenHorz,X CODE_02CF5F: 1D 6C 18 ORA.W RAM_OffscreenVert,X CODE_02CF62: D0 ED BNE Return02CF51 CODE_02CF64: A5 7E LDA $7E CODE_02CF66: 18 CLC CODE_02CF67: 69 02 ADC.B #$02 CODE_02CF69: 85 0A STA $0A CODE_02CF6B: AD 7A 18 LDA.W RAM_OnYoshi CODE_02CF6E: C9 01 CMP.B #$01 CODE_02CF70: A9 10 LDA.B #$10 CODE_02CF72: 90 02 BCC CODE_02CF76 CODE_02CF74: A9 20 LDA.B #$20 CODE_02CF76: 18 CLC CODE_02CF77: 65 80 ADC $80 CODE_02CF79: 85 0B STA $0B CODE_02CF7B: B9 00 03 LDA.W OAM_DispX,Y CODE_02CF7E: 38 SEC CODE_02CF7F: E5 0A SBC $0A CODE_02CF81: 18 CLC CODE_02CF82: 69 08 ADC.B #$08 CODE_02CF84: C9 14 CMP.B #$14 CODE_02CF86: B0 75 BCS Return02CFFD CODE_02CF88: A5 19 LDA RAM_MarioPowerUp CODE_02CF8A: C9 01 CMP.B #$01 CODE_02CF8C: A9 1A LDA.B #$1A CODE_02CF8E: B0 02 BCS CODE_02CF92 CODE_02CF90: A9 1C LDA.B #$1C CODE_02CF92: 85 0F STA $0F CODE_02CF94: B9 01 03 LDA.W OAM_DispY,Y CODE_02CF97: 38 SEC CODE_02CF98: E5 0B SBC $0B CODE_02CF9A: 18 CLC CODE_02CF9B: 69 08 ADC.B #$08 CODE_02CF9D: C5 0F CMP $0F CODE_02CF9F: B0 5C BCS Return02CFFD CODE_02CFA1: A5 7D LDA RAM_MarioSpeedY CODE_02CFA3: 30 58 BMI Return02CFFD CODE_02CFA5: A9 1F LDA.B #$1F CODE_02CFA7: DA PHX CODE_02CFA8: AE 7A 18 LDX.W RAM_OnYoshi CODE_02CFAB: F0 02 BEQ CODE_02CFAF ADDR_02CFAD: A9 2F LDA.B #$2F CODE_02CFAF: 85 0F STA $0F CODE_02CFB1: FA PLX CODE_02CFB2: B9 01 03 LDA.W OAM_DispY,Y CODE_02CFB5: 38 SEC CODE_02CFB6: E5 0F SBC $0F CODE_02CFB8: 08 PHP CODE_02CFB9: 18 CLC CODE_02CFBA: 65 1C ADC RAM_ScreenBndryYLo CODE_02CFBC: 85 96 STA RAM_MarioYPos CODE_02CFBE: A5 1D LDA RAM_ScreenBndryYHi CODE_02CFC0: 69 00 ADC.B #$00 CODE_02CFC2: 28 PLP CODE_02CFC3: E9 00 SBC.B #$00 CODE_02CFC5: 85 97 STA RAM_MarioYPosHi CODE_02CFC7: 64 72 STZ RAM_IsFlying CODE_02CFC9: A9 02 LDA.B #$02 CODE_02CFCB: 8D 71 14 STA.W $1471 CODE_02CFCE: BD 28 15 LDA.W $1528,X CODE_02CFD1: F0 18 BEQ CODE_02CFEB CODE_02CFD3: C9 02 CMP.B #$02 CODE_02CFD5: F0 14 BEQ CODE_02CFEB CODE_02CFD7: BD 40 15 LDA.W $1540,X CODE_02CFDA: C9 01 CMP.B #$01 CODE_02CFDC: D0 0C BNE Return02CFEA CODE_02CFDE: A9 08 LDA.B #$08 CODE_02CFE0: 9D 34 15 STA.W $1534,X CODE_02CFE3: B4 C2 LDY RAM_SpriteState,X CODE_02CFE5: B9 07 CE LDA.W DATA_02CE07,Y CODE_02CFE8: 85 7D STA RAM_MarioSpeedY Return02CFEA: 60 RTS ; Return CODE_02CFEB: 64 7B STZ RAM_MarioSpeedX CODE_02CFED: A4 02 LDY $02 CODE_02CFEF: B9 FE CF LDA.W PeaBouncerPhysics,Y CODE_02CFF2: 9D 1C 15 STA.W $151C,X CODE_02CFF5: A9 01 LDA.B #$01 CODE_02CFF7: 9D 28 15 STA.W $1528,X CODE_02CFFA: 9E 70 15 STZ.W $1570,X Return02CFFD: 60 RTS ; Return PeaBouncerPhysics: .db $01,$01,$03,$05,$07 DATA_02D003: .db $40,$B0 DATA_02D005: .db $01,$FF DATA_02D007: .db $30,$C0,$A0,$C0,$A0,$70,$60,$B0 DATA_02D00F: .db $01,$FF,$01,$FF,$01,$FF,$01,$FF SubOffscreen3Bnk2: A9 06 LDA.B #$06 ; \ Entry point of routine determines value of $03 CODE_02D019: 80 06 BRA CODE_02D021 ; | SubOffscreen2Bnk2: A9 04 LDA.B #$04 ; | CODE_02D01D: 80 02 BRA CODE_02D021 ; | SubOffscreen1Bnk2: A9 02 LDA.B #$02 ; | CODE_02D021: 85 03 STA $03 ; | CODE_02D023: 80 02 BRA CODE_02D027 ; | SubOffscreen0Bnk2: 64 03 STZ $03 ; / CODE_02D027: 20 C9 D0 JSR.W IsSprOffScreenBnk2 ; \ if sprite is not off screen, return CODE_02D02A: F0 64 BEQ Return02D090 ; / CODE_02D02C: A5 5B LDA RAM_IsVerticalLvl ; \ vertical level CODE_02D02E: 29 01 AND.B #$01 ; | CODE_02D030: D0 5F BNE VerticalLevelBnk2 ; / CODE_02D032: A5 03 LDA $03 CODE_02D034: C9 04 CMP.B #$04 CODE_02D036: F0 15 BEQ CODE_02D04D CODE_02D038: B5 D8 LDA RAM_SpriteYLo,X ; \ CODE_02D03A: 18 CLC ; | CODE_02D03B: 69 50 ADC.B #$50 ; | if the sprite has gone off the bottom of the level... CODE_02D03D: BD D4 14 LDA.W RAM_SpriteYHi,X ; | (if adding 0x50 to the sprite y position would make the high byte >= 2) CODE_02D040: 69 00 ADC.B #$00 ; | CODE_02D042: C9 02 CMP.B #$02 ; | CODE_02D044: 10 34 BPL OffScrEraseSprBnk2 ; / ...erase the sprite CODE_02D046: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ if "process offscreen" flag is set, return CODE_02D049: 29 04 AND.B #$04 ; | CODE_02D04B: D0 43 BNE Return02D090 ; / CODE_02D04D: A5 13 LDA RAM_FrameCounter CODE_02D04F: 29 01 AND.B #$01 CODE_02D051: 05 03 ORA $03 CODE_02D053: 85 01 STA $01 CODE_02D055: A8 TAY CODE_02D056: A5 1A LDA RAM_ScreenBndryXLo CODE_02D058: 18 CLC CODE_02D059: 79 07 D0 ADC.W DATA_02D007,Y CODE_02D05C: 26 00 ROL $00 CODE_02D05E: D5 E4 CMP RAM_SpriteXLo,X CODE_02D060: 08 PHP CODE_02D061: A5 1B LDA RAM_ScreenBndryXHi CODE_02D063: 46 00 LSR $00 CODE_02D065: 79 0F D0 ADC.W DATA_02D00F,Y CODE_02D068: 28 PLP CODE_02D069: FD E0 14 SBC.W RAM_SpriteXHi,X CODE_02D06C: 85 00 STA $00 CODE_02D06E: 46 01 LSR $01 CODE_02D070: 90 04 BCC CODE_02D076 CODE_02D072: 49 80 EOR.B #$80 CODE_02D074: 85 00 STA $00 CODE_02D076: A5 00 LDA $00 CODE_02D078: 10 16 BPL Return02D090 OffScrEraseSprBnk2: BD C8 14 LDA.W $14C8,X ; \ If sprite status < 8, permanently erase sprite CODE_02D07D: C9 08 CMP.B #$08 ; | CODE_02D07F: 90 0C BCC OffScrKillSprBnk2 ; / CODE_02D081: BC 1A 16 LDY.W RAM_SprIndexInLvl,X ; \ Branch if should permanently erase sprite CODE_02D084: C0 FF CPY.B #$FF ; | CODE_02D086: F0 05 BEQ OffScrKillSprBnk2 ; / CODE_02D088: A9 00 LDA.B #$00 ; \ Allow sprite to be reloaded by level loading routine CODE_02D08A: 99 38 19 STA.W RAM_SprLoadStatus,Y ; / OffScrKillSprBnk2: 9E C8 14 STZ.W $14C8,X ; Erase sprite Return02D090: 60 RTS ; Return VerticalLevelBnk2: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ If "process offscreen" flag is set, return CODE_02D094: 29 04 AND.B #$04 ; | CODE_02D096: D0 F8 BNE Return02D090 ; / CODE_02D098: A5 13 LDA RAM_FrameCounter ; \ Return every other frame CODE_02D09A: 4A LSR ; | CODE_02D09B: B0 F3 BCS Return02D090 ; / CODE_02D09D: 29 01 AND.B #$01 CODE_02D09F: 85 01 STA $01 CODE_02D0A1: A8 TAY CODE_02D0A2: A5 1C LDA RAM_ScreenBndryYLo CODE_02D0A4: 18 CLC CODE_02D0A5: 79 03 D0 ADC.W DATA_02D003,Y CODE_02D0A8: 26 00 ROL $00 CODE_02D0AA: D5 D8 CMP RAM_SpriteYLo,X CODE_02D0AC: 08 PHP CODE_02D0AD: AD 1D 00 LDA.W RAM_ScreenBndryYHi CODE_02D0B0: 46 00 LSR $00 CODE_02D0B2: 79 05 D0 ADC.W DATA_02D005,Y CODE_02D0B5: 28 PLP CODE_02D0B6: FD D4 14 SBC.W RAM_SpriteYHi,X CODE_02D0B9: 85 00 STA $00 CODE_02D0BB: A4 01 LDY $01 CODE_02D0BD: F0 04 BEQ CODE_02D0C3 CODE_02D0BF: 49 80 EOR.B #$80 CODE_02D0C1: 85 00 STA $00 CODE_02D0C3: A5 00 LDA $00 CODE_02D0C5: 10 C9 BPL Return02D090 CODE_02D0C7: 30 B1 BMI OffScrEraseSprBnk2 IsSprOffScreenBnk2: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_02D0CC: 1D 6C 18 ORA.W RAM_OffscreenVert,X Return02D0CF: 60 RTS ; Return DATA_02D0D0: .db $14,$FC DATA_02D0D2: .db $00,$FF CODE_02D0D4: BD 64 15 LDA.W $1564,X CODE_02D0D7: D0 0C BNE Return02D0E5 CODE_02D0D9: BD 0E 16 LDA.W $160E,X CODE_02D0DC: 10 07 BPL Return02D0E5 CODE_02D0DE: 8B PHB CODE_02D0DF: 4B PHK CODE_02D0E0: AB PLB CODE_02D0E1: 20 E6 D0 JSR.W CODE_02D0E6 CODE_02D0E4: AB PLB Return02D0E5: 6B RTL ; Return CODE_02D0E6: 64 0F STZ $0F CODE_02D0E8: 80 5F BRA CODE_02D149 ADDR_02D0EA: B5 D8 LDA RAM_SpriteYLo,X ; \ Unreachable ADDR_02D0EC: 18 CLC ; | Something to do with Yoshi? ADDR_02D0ED: 69 08 ADC.B #$08 ADDR_02D0EF: 29 F0 AND.B #$F0 ADDR_02D0F1: 85 00 STA $00 ADDR_02D0F3: BD D4 14 LDA.W RAM_SpriteYHi,X ADDR_02D0F6: 69 00 ADC.B #$00 ADDR_02D0F8: C5 5D CMP RAM_ScreensInLvl ADDR_02D0FA: B0 4C BCS Return02D148 ADDR_02D0FC: 85 03 STA $03 ADDR_02D0FE: 29 10 AND.B #$10 ADDR_02D100: 85 08 STA $08 ADDR_02D102: BC 7C 15 LDY.W RAM_SpriteDir,X ADDR_02D105: B5 E4 LDA RAM_SpriteXLo,X ADDR_02D107: 18 CLC ADDR_02D108: 79 D0 D0 ADC.W DATA_02D0D0,Y ADDR_02D10B: 85 01 STA $01 ADDR_02D10D: BD E0 14 LDA.W RAM_SpriteXHi,X ADDR_02D110: 79 D2 D0 ADC.W DATA_02D0D2,Y ADDR_02D113: C9 02 CMP.B #$02 ADDR_02D115: B0 31 BCS Return02D148 ADDR_02D117: 85 02 STA $02 ADDR_02D119: A5 01 LDA $01 ADDR_02D11B: 4A LSR ADDR_02D11C: 4A LSR ADDR_02D11D: 4A LSR ADDR_02D11E: 4A LSR ADDR_02D11F: 05 00 ORA $00 ADDR_02D121: 85 00 STA $00 ADDR_02D123: A6 03 LDX $03 ADDR_02D125: BF 80 BA 00 LDA.L DATA_00BA80,X ADDR_02D129: A4 0F LDY $0F ADDR_02D12B: F0 04 BEQ ADDR_02D131 ADDR_02D12D: BF 8E BA 00 LDA.L DATA_00BA8E,X ADDR_02D131: 18 CLC ADDR_02D132: 65 00 ADC $00 ADDR_02D134: 85 05 STA $05 ADDR_02D136: BF BC BA 00 LDA.L DATA_00BABC,X ADDR_02D13A: A4 0F LDY $0F ADDR_02D13C: F0 04 BEQ ADDR_02D142 ADDR_02D13E: BF CA BA 00 LDA.L DATA_00BACA,X ADDR_02D142: 65 02 ADC $02 ADDR_02D144: 85 06 STA $06 ADDR_02D146: 80 65 BRA CODE_02D1AD Return02D148: 60 RTS ; Return CODE_02D149: B5 D8 LDA RAM_SpriteYLo,X ; \ $18B2 = Sprite Y position + #$08 CODE_02D14B: 18 CLC ; | CODE_02D14C: 69 08 ADC.B #$08 ; | CODE_02D14E: 8D B2 18 STA.W $18B2 ; / CODE_02D151: 29 F0 AND.B #$F0 ; \ $00 = (Sprite Y position + #$08) rounded down to closest #$10 low byte CODE_02D153: 85 00 STA $00 ; / CODE_02D155: BD D4 14 LDA.W RAM_SpriteYHi,X ; \ CODE_02D158: 69 00 ADC.B #$00 ; | Return if off screen CODE_02D15A: C9 02 CMP.B #$02 ; | CODE_02D15C: B0 EA BCS Return02D148 ; | CODE_02D15E: 85 02 STA $02 ; | $02 = (Sprite Y position + #$08) High byte CODE_02D160: 8D B3 18 STA.W $18B3 ; / CODE_02D163: BC 7C 15 LDY.W RAM_SpriteDir,X ; \ $18B0 = Sprite X position + $0014/$FFFC CODE_02D166: B5 E4 LDA RAM_SpriteXLo,X ; | CODE_02D168: 18 CLC ; | CODE_02D169: 79 D0 D0 ADC.W DATA_02D0D0,Y ; | CODE_02D16C: 85 01 STA $01 ; | $01 = (Sprite X position + $0014/$FFFC) Low byte CODE_02D16E: 8D B0 18 STA.W $18B0 ; | CODE_02D171: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_02D174: 79 D2 D0 ADC.W DATA_02D0D2,Y ; | CODE_02D177: C5 5D CMP RAM_ScreensInLvl ; | Return if past end of level CODE_02D179: B0 CD BCS Return02D148 ; | CODE_02D17B: 8D B1 18 STA.W $18B1 ; | CODE_02D17E: 85 03 STA $03 ; / $03 = (Sprite X position + $0014/$FFFC) High byte CODE_02D180: A5 01 LDA $01 ; \ $00 = bits 4-7 of Y position, bits 4-7 of X position CODE_02D182: 4A LSR ; | CODE_02D183: 4A LSR ; | CODE_02D184: 4A LSR ; | CODE_02D185: 4A LSR ; | CODE_02D186: 05 00 ORA $00 ; | CODE_02D188: 85 00 STA $00 ; / CODE_02D18A: A6 03 LDX $03 CODE_02D18C: BF 60 BA 00 LDA.L DATA_00BA60,X CODE_02D190: A4 0F LDY $0F CODE_02D192: F0 04 BEQ CODE_02D198 ADDR_02D194: BF 70 BA 00 LDA.L DATA_00BA70,X CODE_02D198: 18 CLC CODE_02D199: 65 00 ADC $00 CODE_02D19B: 85 05 STA $05 CODE_02D19D: BF 9C BA 00 LDA.L DATA_00BA9C,X CODE_02D1A1: A4 0F LDY $0F CODE_02D1A3: F0 04 BEQ CODE_02D1A9 ADDR_02D1A5: BF AC BA 00 LDA.L DATA_00BAAC,X CODE_02D1A9: 65 02 ADC $02 CODE_02D1AB: 85 06 STA $06 CODE_02D1AD: A9 7E LDA.B #$7E CODE_02D1AF: 85 07 STA $07 CODE_02D1B1: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02D1B4: A7 05 LDA [$05] CODE_02D1B6: 8D 93 16 STA.W $1693 CODE_02D1B9: E6 07 INC $07 CODE_02D1BB: A7 05 LDA [$05] CODE_02D1BD: D0 31 BNE Return02D1F0 CODE_02D1BF: AD 93 16 LDA.W $1693 CODE_02D1C2: C9 45 CMP.B #$45 CODE_02D1C4: 90 2A BCC Return02D1F0 CODE_02D1C6: C9 48 CMP.B #$48 CODE_02D1C8: B0 26 BCS Return02D1F0 CODE_02D1CA: 38 SEC CODE_02D1CB: E9 44 SBC.B #$44 CODE_02D1CD: 8D D6 18 STA.W $18D6 CODE_02D1D0: 9C A3 14 STZ.W $14A3 CODE_02D1D3: AC DC 18 LDY.W $18DC CODE_02D1D6: B9 F1 D1 LDA.W DATA_02D1F1,Y CODE_02D1D9: 9D 02 16 STA.W $1602,X CODE_02D1DC: A9 22 LDA.B #$22 CODE_02D1DE: 9D 64 15 STA.W $1564,X CODE_02D1E1: A5 96 LDA RAM_MarioYPos CODE_02D1E3: 18 CLC CODE_02D1E4: 69 08 ADC.B #$08 CODE_02D1E6: 29 F0 AND.B #$F0 CODE_02D1E8: 85 96 STA RAM_MarioYPos CODE_02D1EA: A5 97 LDA RAM_MarioYPosHi CODE_02D1EC: 69 00 ADC.B #$00 CODE_02D1EE: 85 97 STA RAM_MarioYPosHi Return02D1F0: 60 RTS ; Return DATA_02D1F1: .db $00,$04 SetTreeTile: AD B0 18 LDA.W $18B0 ; \ Set X position of block CODE_02D1F6: 85 9A STA RAM_BlockYLo ; | CODE_02D1F8: AD B1 18 LDA.W $18B1 ; | CODE_02D1FB: 85 9B STA RAM_BlockYHi ; / CODE_02D1FD: AD B2 18 LDA.W $18B2 ; \ Set Y position of block CODE_02D200: 85 98 STA RAM_BlockXLo ; | CODE_02D202: AD B3 18 LDA.W $18B3 ; | CODE_02D205: 85 99 STA RAM_BlockXHi ; / CODE_02D207: A9 04 LDA.B #$04 ; \ Block to generate = Tree behind berry CODE_02D209: 85 9C STA RAM_BlockBlock ; / CODE_02D20B: 22 B0 BE 00 JSL.L GenerateTile Return02D20F: 6B RTL ; Return ;;; all.log 02D210..02D287 ;;; ;;; Sprite numbers for RAM_SpriteNum: ;;; $7D P-balloon ;;; $87 Lakitu cloud ;;; ;;; New labels (not in original all.log): ;;; CODE_02D214 => ControlSprCarried ;;; CODE_02D21A => CscSlowSpeedX ;;; CODE_02D228 => CscGoLeftOrRight ;;; CODE_02D238 => CscGoRight ;;; CODE_02D241 => CscUnderLimitX ;;; CODE_02D247 => CscDecideY ;;; CODE_02D25F => CscNotLakituCloud ;;; CODE_02D26F => CscHandleY ;; Tables for horizontal movement of the P-balloon or the Lakitu ;; cloud, indexed by Y = 1 (going right) or Y = 2 (going left). ;; ;; ControlSprCarried requires that data bank register = $02 ;; because the code uses the 16-bit address of these tables. ;; ;; Return02D20F,Y = delta for horizontal movement ;; Return02D20F,1 = +1 to move right ;; Return02D20F,2 = -1 to move left ;; ;; DATA_02D211,Y = horizontal speed limit ;; DATA_02D211,1 = +16 when moving right ;; DATA_02D211,2 = -16 when moving left ;; ;;; Return02D20F: 6B RTL ; Return DATA_02D210: .db $01 ; .db 1 DATA_02D211: .db $FF,$10,$F0 ; .db -1,16,-16 ;;; JSL subroutine ;;; precondition that data bank = $02 ;;; takes X = index of this (P-balloon or Lakitu cloud) sprite in the common sprite tables in RAM ;;; preserves X ;;; ;;; React to the Control Pad while Mario carries the P-balloon sprite or rides the Lakitu-cloud ;;; sprite. This allows the player to control the P-balloon or the Lakitu cloud. ;;; ;;; This routine increments or decrements the speed of the sprite. The game calls this routine only ;;; when the frame counter is a multiple of four (with the P-balloon, I am not sure with the Lakitu ;;; cloud), so the effect is to increment or decrement the speed for every four frames until the ;;; speed reaches the target speed or the speed limit. If the sprite is over the speed limit (for ;;; example when Mario runs right and grabs a P-balloon), then the sprite gradually slows. ;;; ;;; The routine first considers the horizontal X_speed, then the vertical Y_speed. Finally, the ;;; routine sets the speed of Mario to match the speed of the sprite. ;;; ControlSprCarried: A5 15 LDA RAM_ControllerA ; \ A = flags for left and right from Control Pad CODE_02D216: 29 03 AND.B #$03 ; / ($01 right, $02 left) CODE_02D218: D0 0E BNE CscGoLeftOrRight ; Branch if player pressing left or right ;;; Fall through if player not pressing left or right. ;;; Come here if sprite is over horizontal speed limit. CscSlowSpeedX: B5 B6 LDA RAM_SpriteSpeedX,X ; \ Slow the X_speed of this sprite. CODE_02D21C: F0 08 BEQ CODE_02D226 ; | CODE_02D21E: 10 04 BPL CODE_02D224 ; |Do nothing if speed == zero. CODE_02D220: F6 B6 INC RAM_SpriteSpeedX,X ; |Decrement speed if speed > zero. CODE_02D222: F6 B6 INC RAM_SpriteSpeedX,X ; |Increment speed if speed < zero. CODE_02D224: D6 B6 DEC RAM_SpriteSpeedX,X ; / CODE_02D226: 80 1F BRA CscDecideY ; Skip ahead CscGoLeftOrRight: A8 TAY ; Y = flags ($01 right, $02 left) CODE_02D229: C0 01 CPY.B #$01 ; \ Branch if player not pressing right CODE_02D22B: D0 0B BNE CscGoLeft ; / ;; Here Y = 1 CODE_02D22D: B5 B6 LDA RAM_SpriteSpeedX,X ; \ (A = X_speed) <=> -16 CODE_02D22F: D9 11 D2 CMP.W DATA_02D211,Y ; / CODE_02D232: F0 13 BEQ CscDecideY ; Branch if == CODE_02D234: 10 E4 BPL CscSlowSpeedX ; Branch if > CODE_02D236: 80 09 BRA CscUnderLimitX ; Branch if < ;; Here Y = 2 ;; (Y = 3 is impossible from the SNES controller) CscGoRight: B5 B6 LDA RAM_SpriteSpeedX,X ; \ (A = X_speed) <=> 16 CODE_02D23A: D9 11 D2 CMP.W DATA_02D211,Y ; / CODE_02D23D: F0 08 BEQ CscDecideY ; Branch if == CODE_02D23F: 30 D9 BMI CscSlowSpeedX ; Branch if < ;; Fall through if > ;; Here Y = 1 (pressing right) or Y = 2 (pressing left) ;; Here A = X_speed CscUnderLimitX: 18 CLC ; \ Sprite is under the speed limit CODE_02D242: 79 0F D2 ADC.W Return02D20F,Y ; |Increment speed if pressing right CODE_02D245: 95 B6 STA RAM_SpriteSpeedX,X ; / Decrement speed if pressing left ;; Fall through to CscDecideY ;; Now consider the vertical speed. Positive speed goes down. ;; First set the Y register to the target speed. ;; ;; Down Neutral Up ;; Lakitu cloud Y = +16 Y = 0 Y = -16 ;; P-balloon Y = +8 Y = -8 Y = -16 ;; ;; The Lakitu cloud goes up and down as well as it goes left and ;; right, but the P-balloon goes down more slowly. The P-balloon ;; also floats up if the player releases the Control Pad. ;; CscDecideY: A0 00 LDY.B #$00 ; Y = 0 CODE_02D249: B5 9E LDA RAM_SpriteNum,X ; \ Branch unless sprite is Lakitu cloud CODE_02D24B: C9 87 CMP.B #$87 ; | CODE_02D24D: D0 10 BNE CscNotLakituCloud ; / CODE_02D24F: A5 15 LDA RAM_ControllerA ; \ A = flags for up and down from Control Pad CODE_02D251: 29 0C AND.B #$0C ; / ($04 down, $08 up) CODE_02D253: F0 1A BEQ CscHandleY ; Branch if player NOT pressing up or down CODE_02D255: A0 10 LDY.B #$10 ; Y = +16 CODE_02D257: 29 08 AND.B #$08 ; \ Branch if player pressing down CODE_02D259: F0 14 BEQ CscHandleY ; / CODE_02D25B: A0 F0 LDY.B #$F0 ; Y = -16 CODE_02D25D: 80 10 BRA CscHandleY ; Player pressing up CscNotLakituCloud: A0 F8 LDY.B #$F8 ; Y = -8 CODE_02D261: A5 15 LDA RAM_ControllerA ; \ A = flags for up and down from Control Pad CODE_02D263: 29 0C AND.B #$0C ; / ($04 down, $08 up) CODE_02D265: F0 08 BEQ CODE_02D26F ; Branch if player NOT pressing up or down CODE_02D267: A0 F0 LDY.B #$F0 ; Y = -16 CODE_02D269: 29 08 AND.B #$08 ; \ Branch if player pressing up CODE_02D26B: D0 02 BNE CODE_02D26F ; / CODE_02D26D: A0 08 LDY.B #$08 ; Y = +8 ;; Player pressing down. Fall through CscHandleY: 84 00 STY $00 ; \ Y_speed <=> register Y CODE_02D271: B5 AA LDA RAM_SpriteSpeedY,X ; | CODE_02D273: C5 00 CMP $00 ; / CODE_02D275: F0 08 BEQ CODE_02D27F ; \ Adjust Y_speed to approach register Y. CODE_02D277: 10 04 BPL CODE_02D27D ; |Do nothing if speed == register Y. CODE_02D279: F6 AA INC RAM_SpriteSpeedY,X ; |Increment speed if speed < register Y. CODE_02D27B: F6 AA INC RAM_SpriteSpeedY,X ; |Decrement speed if speed > reigster Y. CODE_02D27D: D6 AA DEC RAM_SpriteSpeedY,X ; / CODE_02D27F: B5 B6 LDA RAM_SpriteSpeedX,X ; \ Set the X_speed and the Y_speed of Mario CODE_02D281: 85 7B STA RAM_MarioSpeedX ; |to the speed of the sprite, so that CODE_02D283: B5 AA LDA RAM_SpriteSpeedY,X ; |Mario stays with the sprite. CODE_02D285: 85 7D STA RAM_MarioSpeedY ; / Return02D287: 6B RTL ; Return from ControlSprCarried UpdateXPosNoGrvty: 8A TXA ; \ Adjust index so we use X values rather than Y CODE_02D289: 18 CLC ; | CODE_02D28A: 69 0C ADC.B #$0C ; | CODE_02D28C: AA TAX ; / CODE_02D28D: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02D290: AE E9 15 LDX.W $15E9 ; X = sprite index Return02D293: 60 RTS ; Return UpdateYPosNoGrvty: B5 AA LDA RAM_SpriteSpeedY,X ; \ $14EC or $14F8 += 16 * speed CODE_02D296: 0A ASL ; | CODE_02D297: 0A ASL ; | CODE_02D298: 0A ASL ; | CODE_02D299: 0A ASL ; | CODE_02D29A: 18 CLC ; | CODE_02D29B: 7D EC 14 ADC.W $14EC,X ; | CODE_02D29E: 9D EC 14 STA.W $14EC,X ; / CODE_02D2A1: 08 PHP CODE_02D2A2: 08 PHP CODE_02D2A3: A0 00 LDY.B #$00 CODE_02D2A5: B5 AA LDA RAM_SpriteSpeedY,X ; \ Amount to move sprite = speed / 16 CODE_02D2A7: 4A LSR ; | CODE_02D2A8: 4A LSR ; | CODE_02D2A9: 4A LSR ; | CODE_02D2AA: 4A LSR ; / CODE_02D2AB: C9 08 CMP.B #$08 ; \ If speed was negative... CODE_02D2AD: 90 03 BCC CODE_02D2B2 ; | CODE_02D2AF: 09 F0 ORA.B #$F0 ; | ...set high bits CODE_02D2B1: 88 DEY ; / CODE_02D2B2: 28 PLP CODE_02D2B3: 48 PHA ; \ Add to position CODE_02D2B4: 75 D8 ADC RAM_SpriteYLo,X ; | CODE_02D2B6: 95 D8 STA RAM_SpriteYLo,X ; | CODE_02D2B8: 98 TYA ; | CODE_02D2B9: 7D D4 14 ADC.W RAM_SpriteYHi,X ; | CODE_02D2BC: 9D D4 14 STA.W RAM_SpriteYHi,X ; | CODE_02D2BF: 68 PLA ; / CODE_02D2C0: 28 PLP CODE_02D2C1: 69 00 ADC.B #$00 CODE_02D2C3: 8D 91 14 STA.W $1491 ; $1491 = amount sprite was moved Return02D2C6: 60 RTS ; Return ADDR_02D2C7: 85 00 STA $00 ; Unreachable ADDR_02D2C9: A5 94 LDA RAM_MarioXPos ; \ Save Mario's position ADDR_02D2CB: 48 PHA ; | ADDR_02D2CC: A5 95 LDA RAM_MarioXPosHi ; | ADDR_02D2CE: 48 PHA ; | ADDR_02D2CF: A5 96 LDA RAM_MarioYPos ; | ADDR_02D2D1: 48 PHA ; | ADDR_02D2D2: A5 97 LDA RAM_MarioYPosHi ; | ADDR_02D2D4: 48 PHA ; / ADDR_02D2D5: B9 E4 00 LDA.W RAM_SpriteXLo,Y ; \ Mario's position = Sprite position ADDR_02D2D8: 85 94 STA RAM_MarioXPos ; | ADDR_02D2DA: B9 E0 14 LDA.W RAM_SpriteXHi,Y ; | ADDR_02D2DD: 85 95 STA RAM_MarioXPosHi ; | ADDR_02D2DF: B9 D8 00 LDA.W RAM_SpriteYLo,Y ; | ADDR_02D2E2: 85 96 STA RAM_MarioYPos ; | ADDR_02D2E4: B9 D4 14 LDA.W RAM_SpriteYHi,Y ; | ADDR_02D2E7: 85 97 STA RAM_MarioYPosHi ; / ADDR_02D2E9: A5 00 LDA $00 ADDR_02D2EB: 20 FB D2 JSR.W CODE_02D2FB ADDR_02D2EE: 68 PLA ; \ Restore Mario's position ADDR_02D2EF: 85 97 STA RAM_MarioYPosHi ; | ADDR_02D2F1: 68 PLA ; | ADDR_02D2F2: 85 96 STA RAM_MarioYPos ; | ADDR_02D2F4: 68 PLA ; | ADDR_02D2F5: 85 95 STA RAM_MarioXPosHi ; | ADDR_02D2F7: 68 PLA ; | ADDR_02D2F8: 85 94 STA RAM_MarioXPos ; / Return02D2FA: 60 RTS ; Return CODE_02D2FB: 85 01 STA $01 CODE_02D2FD: DA PHX CODE_02D2FE: 5A PHY CODE_02D2FF: 20 0C D5 JSR.W CODE_02D50C CODE_02D302: 84 02 STY $02 CODE_02D304: A5 0E LDA $0E CODE_02D306: 10 05 BPL CODE_02D30D CODE_02D308: 49 FF EOR.B #$FF CODE_02D30A: 18 CLC CODE_02D30B: 69 01 ADC.B #$01 CODE_02D30D: 85 0C STA $0C CODE_02D30F: 20 FA D4 JSR.W CODE_02D4FA CODE_02D312: 84 03 STY $03 CODE_02D314: A5 0F LDA $0F CODE_02D316: 10 05 BPL CODE_02D31D CODE_02D318: 49 FF EOR.B #$FF CODE_02D31A: 18 CLC CODE_02D31B: 69 01 ADC.B #$01 CODE_02D31D: 85 0D STA $0D CODE_02D31F: A0 00 LDY.B #$00 CODE_02D321: A5 0D LDA $0D CODE_02D323: C5 0C CMP $0C CODE_02D325: B0 09 BCS CODE_02D330 CODE_02D327: C8 INY CODE_02D328: 48 PHA CODE_02D329: A5 0C LDA $0C CODE_02D32B: 85 0D STA $0D CODE_02D32D: 68 PLA CODE_02D32E: 85 0C STA $0C CODE_02D330: A9 00 LDA.B #$00 CODE_02D332: 85 0B STA $0B CODE_02D334: 85 00 STA $00 CODE_02D336: A6 01 LDX $01 CODE_02D338: A5 0B LDA $0B CODE_02D33A: 18 CLC CODE_02D33B: 65 0C ADC $0C CODE_02D33D: C5 0D CMP $0D CODE_02D33F: 90 04 BCC CODE_02D345 CODE_02D341: E5 0D SBC $0D CODE_02D343: E6 00 INC $00 CODE_02D345: 85 0B STA $0B CODE_02D347: CA DEX CODE_02D348: D0 EE BNE CODE_02D338 CODE_02D34A: 98 TYA CODE_02D34B: F0 0A BEQ CODE_02D357 CODE_02D34D: A5 00 LDA $00 CODE_02D34F: 48 PHA CODE_02D350: A5 01 LDA $01 CODE_02D352: 85 00 STA $00 CODE_02D354: 68 PLA CODE_02D355: 85 01 STA $01 CODE_02D357: A5 00 LDA $00 CODE_02D359: A4 02 LDY $02 CODE_02D35B: F0 07 BEQ CODE_02D364 CODE_02D35D: 49 FF EOR.B #$FF CODE_02D35F: 18 CLC CODE_02D360: 69 01 ADC.B #$01 CODE_02D362: 85 00 STA $00 CODE_02D364: A5 01 LDA $01 CODE_02D366: A4 03 LDY $03 CODE_02D368: F0 07 BEQ CODE_02D371 CODE_02D36A: 49 FF EOR.B #$FF CODE_02D36C: 18 CLC CODE_02D36D: 69 01 ADC.B #$01 CODE_02D36F: 85 01 STA $01 CODE_02D371: 7A PLY CODE_02D372: FA PLX Return02D373: 60 RTS ; Return DATA_02D374: .db $0C,$1C DATA_02D376: .db $01,$02 GetDrawInfo2: 9E 6C 18 STZ.W RAM_OffscreenVert,X CODE_02D37B: 9E A0 15 STZ.W RAM_OffscreenHorz,X CODE_02D37E: B5 E4 LDA RAM_SpriteXLo,X CODE_02D380: C5 1A CMP RAM_ScreenBndryXLo CODE_02D382: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02D385: E5 1B SBC RAM_ScreenBndryXHi CODE_02D387: F0 03 BEQ CODE_02D38C CODE_02D389: FE A0 15 INC.W RAM_OffscreenHorz,X CODE_02D38C: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02D38F: EB XBA CODE_02D390: B5 E4 LDA RAM_SpriteXLo,X CODE_02D392: C2 20 REP #$20 ; Accum (16 bit) CODE_02D394: 38 SEC CODE_02D395: E5 1A SBC RAM_ScreenBndryXLo CODE_02D397: 18 CLC CODE_02D398: 69 40 00 ADC.W #$0040 CODE_02D39B: C9 80 01 CMP.W #$0180 CODE_02D39E: E2 20 SEP #$20 ; Accum (8 bit) CODE_02D3A0: 2A ROL CODE_02D3A1: 29 01 AND.B #$01 CODE_02D3A3: 9D C4 15 STA.W $15C4,X CODE_02D3A6: D0 3F BNE CODE_02D3E7 CODE_02D3A8: A0 00 LDY.B #$00 CODE_02D3AA: BD 62 16 LDA.W RAM_Tweaker1662,X CODE_02D3AD: 29 20 AND.B #$20 CODE_02D3AF: F0 01 BEQ CODE_02D3B2 CODE_02D3B1: C8 INY CODE_02D3B2: B5 D8 LDA RAM_SpriteYLo,X CODE_02D3B4: 18 CLC CODE_02D3B5: 79 74 D3 ADC.W DATA_02D374,Y CODE_02D3B8: 08 PHP CODE_02D3B9: C5 1C CMP RAM_ScreenBndryYLo CODE_02D3BB: 26 00 ROL $00 CODE_02D3BD: 28 PLP CODE_02D3BE: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02D3C1: 69 00 ADC.B #$00 CODE_02D3C3: 46 00 LSR $00 CODE_02D3C5: E5 1D SBC RAM_ScreenBndryYHi CODE_02D3C7: F0 09 BEQ CODE_02D3D2 CODE_02D3C9: BD 6C 18 LDA.W RAM_OffscreenVert,X CODE_02D3CC: 19 76 D3 ORA.W DATA_02D376,Y CODE_02D3CF: 9D 6C 18 STA.W RAM_OffscreenVert,X CODE_02D3D2: 88 DEY CODE_02D3D3: 10 DD BPL CODE_02D3B2 CODE_02D3D5: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02D3D8: B5 E4 LDA RAM_SpriteXLo,X CODE_02D3DA: 38 SEC CODE_02D3DB: E5 1A SBC RAM_ScreenBndryXLo CODE_02D3DD: 85 00 STA $00 CODE_02D3DF: B5 D8 LDA RAM_SpriteYLo,X CODE_02D3E1: 38 SEC CODE_02D3E2: E5 1C SBC RAM_ScreenBndryYLo CODE_02D3E4: 85 01 STA $01 Return02D3E6: 60 RTS ; Return CODE_02D3E7: 68 PLA CODE_02D3E8: 68 PLA Return02D3E9: 60 RTS ; Return Layer3SmashMain: 22 61 FF 00 JSL.L CODE_00FF61 CODE_02D3EE: A5 9D LDA RAM_SpritesLocked CODE_02D3F0: D0 52 BNE Return02D444 CODE_02D3F2: 20 9C D4 JSR.W CODE_02D49C CODE_02D3F5: A0 00 LDY.B #$00 CODE_02D3F7: AD BD 17 LDA.W $17BD CODE_02D3FA: 10 01 BPL CODE_02D3FD ADDR_02D3FC: 88 DEY CODE_02D3FD: 18 CLC CODE_02D3FE: 75 E4 ADC RAM_SpriteXLo,X CODE_02D400: 95 E4 STA RAM_SpriteXLo,X CODE_02D402: 98 TYA CODE_02D403: 7D E0 14 ADC.W RAM_SpriteXHi,X CODE_02D406: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02D409: B5 C2 LDA RAM_SpriteState,X CODE_02D40B: 22 DF 86 00 JSL.L ExecutePtr Layer3SmashPtrs: 19 D4 .dw CODE_02D419 45 D4 .dw CODE_02D445 55 D4 .dw CODE_02D455 81 D4 .dw CODE_02D481 89 D4 .dw CODE_02D489 CODE_02D419: AD BF 18 LDA.W $18BF CODE_02D41C: F0 04 BEQ CODE_02D422 ADDR_02D41E: 20 7A D0 JSR.W OffScrEraseSprBnk2 Return02D421: 60 RTS ; Return CODE_02D422: BD 40 15 LDA.W $1540,X CODE_02D425: D0 1D BNE Return02D444 CODE_02D427: F6 C2 INC RAM_SpriteState,X CODE_02D429: A9 80 LDA.B #$80 CODE_02D42B: 9D 40 15 STA.W $1540,X CODE_02D42E: 22 F9 AC 01 JSL.L GetRand CODE_02D432: 29 3F AND.B #$3F CODE_02D434: 09 80 ORA.B #$80 CODE_02D436: 95 E4 STA RAM_SpriteXLo,X CODE_02D438: A9 FF LDA.B #$FF CODE_02D43A: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02D43D: 74 D8 STZ RAM_SpriteYLo,X CODE_02D43F: 9E D4 14 STZ.W RAM_SpriteYHi,X CODE_02D442: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 Return02D444: 6B RTL ; Return CODE_02D445: BD 40 15 LDA.W $1540,X CODE_02D448: F0 08 BEQ CODE_02D452 CODE_02D44A: A9 04 LDA.B #$04 CODE_02D44C: 95 AA STA RAM_SpriteSpeedY,X CODE_02D44E: 20 94 D2 JSR.W UpdateYPosNoGrvty Return02D451: 6B RTL ; Return CODE_02D452: F6 C2 INC RAM_SpriteState,X Return02D454: 6B RTL ; Return CODE_02D455: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02D458: B5 AA LDA RAM_SpriteSpeedY,X CODE_02D45A: 30 04 BMI CODE_02D460 CODE_02D45C: C9 40 CMP.B #$40 CODE_02D45E: B0 05 BCS CODE_02D465 CODE_02D460: 18 CLC CODE_02D461: 69 07 ADC.B #$07 CODE_02D463: 95 AA STA RAM_SpriteSpeedY,X CODE_02D465: B5 D8 LDA RAM_SpriteYLo,X CODE_02D467: C9 A0 CMP.B #$A0 CODE_02D469: 90 15 BCC Return02D480 CODE_02D46B: 29 F0 AND.B #$F0 CODE_02D46D: 95 D8 STA RAM_SpriteYLo,X CODE_02D46F: A9 50 LDA.B #$50 ; \ Set ground shake timer CODE_02D471: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_02D474: A9 09 LDA.B #$09 ; \ Play sound effect CODE_02D476: 8D FC 1D STA.W $1DFC ; / CODE_02D479: A9 30 LDA.B #$30 CODE_02D47B: 9D 40 15 STA.W $1540,X CODE_02D47E: F6 C2 INC RAM_SpriteState,X Return02D480: 6B RTL ; Return CODE_02D481: BD 40 15 LDA.W $1540,X CODE_02D484: D0 02 BNE Return02D488 CODE_02D486: F6 C2 INC RAM_SpriteState,X Return02D488: 6B RTL ; Return CODE_02D489: A9 E0 LDA.B #$E0 CODE_02D48B: 95 AA STA RAM_SpriteSpeedY,X CODE_02D48D: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02D490: B5 D8 LDA RAM_SpriteYLo,X CODE_02D492: D0 07 BNE Return02D49B CODE_02D494: 74 C2 STZ RAM_SpriteState,X CODE_02D496: A9 A0 LDA.B #$A0 CODE_02D498: 9D 40 15 STA.W $1540,X Return02D49B: 6B RTL ; Return CODE_02D49C: A9 00 LDA.B #$00 CODE_02D49E: A4 19 LDY RAM_MarioPowerUp CODE_02D4A0: F0 06 BEQ CODE_02D4A8 CODE_02D4A2: A4 73 LDY RAM_IsDucking CODE_02D4A4: D0 02 BNE CODE_02D4A8 CODE_02D4A6: A9 10 LDA.B #$10 CODE_02D4A8: 18 CLC CODE_02D4A9: 75 D8 ADC RAM_SpriteYLo,X CODE_02D4AB: C5 80 CMP $80 CODE_02D4AD: 90 40 BCC CODE_02D4EF CODE_02D4AF: B5 E4 LDA RAM_SpriteXLo,X CODE_02D4B1: 85 00 STA $00 CODE_02D4B3: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02D4B6: 85 01 STA $01 CODE_02D4B8: C2 20 REP #$20 ; Accum (16 bit) CODE_02D4BA: A5 7E LDA $7E CODE_02D4BC: 18 CLC CODE_02D4BD: 65 00 ADC $00 CODE_02D4BF: 38 SEC CODE_02D4C0: E9 30 00 SBC.W #$0030 CODE_02D4C3: C9 90 00 CMP.W #$0090 CODE_02D4C6: B0 27 BCS CODE_02D4EF CODE_02D4C8: 38 SEC CODE_02D4C9: E9 08 00 SBC.W #$0008 CODE_02D4CC: C9 80 00 CMP.W #$0080 CODE_02D4CF: E2 20 SEP #$20 ; Accum (8 bit) CODE_02D4D1: B0 12 BCS CODE_02D4E5 CODE_02D4D3: A5 72 LDA RAM_IsFlying CODE_02D4D5: D0 05 BNE CODE_02D4DC CODE_02D4D7: 22 B7 F5 00 JSL.L HurtMario Return02D4DB: 60 RTS ; Return CODE_02D4DC: 64 7D STZ RAM_MarioSpeedY CODE_02D4DE: B5 AA LDA RAM_SpriteSpeedY,X CODE_02D4E0: 30 02 BMI Return02D4E4 CODE_02D4E2: 85 7D STA RAM_MarioSpeedY Return02D4E4: 60 RTS ; Return CODE_02D4E5: 08 PHP CODE_02D4E6: A9 08 LDA.B #$08 CODE_02D4E8: 28 PLP CODE_02D4E9: 10 02 BPL CODE_02D4ED CODE_02D4EB: A9 F8 LDA.B #$F8 CODE_02D4ED: 85 7B STA RAM_MarioSpeedX CODE_02D4EF: E2 20 SEP #$20 ; Accum (8 bit) Return02D4F1: 60 RTS ; Return DATA_02D4F2: .db $80,$40,$20,$10,$08,$04,$02,$01 CODE_02D4FA: A0 00 LDY.B #$00 CODE_02D4FC: A5 94 LDA RAM_MarioXPos CODE_02D4FE: 38 SEC CODE_02D4FF: F5 E4 SBC RAM_SpriteXLo,X CODE_02D501: 85 0F STA $0F CODE_02D503: A5 95 LDA RAM_MarioXPosHi CODE_02D505: FD E0 14 SBC.W RAM_SpriteXHi,X CODE_02D508: 10 01 BPL Return02D50B CODE_02D50A: C8 INY Return02D50B: 60 RTS ; Return CODE_02D50C: A0 00 LDY.B #$00 CODE_02D50E: A5 96 LDA RAM_MarioYPos CODE_02D510: 38 SEC CODE_02D511: F5 D8 SBC RAM_SpriteYLo,X CODE_02D513: 85 0E STA $0E CODE_02D515: A5 97 LDA RAM_MarioYPosHi CODE_02D517: FD D4 14 SBC.W RAM_SpriteYHi,X CODE_02D51A: 10 01 BPL Return02D51D CODE_02D51C: C8 INY Return02D51D: 60 RTS ; Return DATA_02D51E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF DATA_02D57F: .db $FF,$13,$14,$15,$16,$17,$18,$19 CODE_02D587: 20 E4 D5 JSR.W CODE_02D5E4 CODE_02D58A: BD C8 14 LDA.W $14C8,X CODE_02D58D: C9 02 CMP.B #$02 CODE_02D58F: F0 12 BEQ Return02D5A3 CODE_02D591: A5 9D LDA RAM_SpritesLocked CODE_02D593: D0 0E BNE Return02D5A3 CODE_02D595: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02D598: A9 E8 LDA.B #$E8 CODE_02D59A: 95 B6 STA RAM_SpriteSpeedX,X CODE_02D59C: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02D59F: 22 DC A7 01 JSL.L MarioSprInteract Return02D5A3: 60 RTS ; Return DATA_02D5A4: .db $00,$10,$20,$30,$00,$10,$20,$30 .db $00,$10,$20,$30,$00,$10,$20,$30 DATA_02D5B4: .db $00,$00,$00,$00,$10,$10,$10,$10 .db $20,$20,$20,$20,$30,$30,$30,$30 BanzaiBillTiles: .db $80,$82,$84,$86,$A0,$88,$CE,$EE .db $C0,$C2,$CE,$EE,$8E,$AE,$84,$86 DATA_02D5D4: .db $33,$33,$33,$33,$33,$33,$33,$33 .db $33,$33,$33,$33,$33,$33,$B3,$B3 CODE_02D5E4: 20 78 D3 JSR.W GetDrawInfo2 CODE_02D5E7: DA PHX CODE_02D5E8: A2 0F LDX.B #$0F CODE_02D5EA: A5 00 LDA $00 CODE_02D5EC: 18 CLC CODE_02D5ED: 7D A4 D5 ADC.W DATA_02D5A4,X CODE_02D5F0: 99 00 03 STA.W OAM_DispX,Y CODE_02D5F3: A5 01 LDA $01 CODE_02D5F5: 18 CLC CODE_02D5F6: 7D B4 D5 ADC.W DATA_02D5B4,X CODE_02D5F9: 99 01 03 STA.W OAM_DispY,Y CODE_02D5FC: BD C4 D5 LDA.W BanzaiBillTiles,X CODE_02D5FF: 99 02 03 STA.W OAM_Tile,Y CODE_02D602: BD D4 D5 LDA.W DATA_02D5D4,X CODE_02D605: 99 03 03 STA.W OAM_Prop,Y CODE_02D608: C8 INY CODE_02D609: C8 INY CODE_02D60A: C8 INY CODE_02D60B: C8 INY CODE_02D60C: CA DEX CODE_02D60D: 10 DB BPL CODE_02D5EA CODE_02D60F: FA PLX CODE_02D610: A0 02 LDY.B #$02 CODE_02D612: A9 0F LDA.B #$0F CODE_02D614: 4C A7 B7 JMP.W CODE_02B7A7 Banzai+Rotating: 8B PHB CODE_02D618: 4B PHK CODE_02D619: AB PLB CODE_02D61A: B5 9E LDA RAM_SpriteNum,X CODE_02D61C: C9 9F CMP.B #$9F CODE_02D61E: D0 05 BNE CODE_02D625 CODE_02D620: 20 87 D5 JSR.W CODE_02D587 CODE_02D623: 80 03 BRA CODE_02D628 CODE_02D625: 20 2A D6 JSR.W CODE_02D62A CODE_02D628: AB PLB Return02D629: 6B RTL ; Return CODE_02D62A: 20 17 D0 JSR.W SubOffscreen3Bnk2 CODE_02D62D: A5 9D LDA RAM_SpritesLocked CODE_02D62F: D0 22 BNE CODE_02D653 CODE_02D631: B5 E4 LDA RAM_SpriteXLo,X CODE_02D633: A0 02 LDY.B #$02 CODE_02D635: 29 10 AND.B #$10 CODE_02D637: D0 02 BNE CODE_02D63B CODE_02D639: A0 FE LDY.B #$FE CODE_02D63B: 98 TYA CODE_02D63C: A0 00 LDY.B #$00 CODE_02D63E: C9 00 CMP.B #$00 CODE_02D640: 10 01 BPL CODE_02D643 CODE_02D642: 88 DEY CODE_02D643: 18 CLC CODE_02D644: 7D 02 16 ADC.W $1602,X CODE_02D647: 9D 02 16 STA.W $1602,X CODE_02D64A: 98 TYA CODE_02D64B: 7D 1C 15 ADC.W $151C,X CODE_02D64E: 29 01 AND.B #$01 CODE_02D650: 9D 1C 15 STA.W $151C,X CODE_02D653: BD 1C 15 LDA.W $151C,X CODE_02D656: 85 01 STA $01 CODE_02D658: BD 02 16 LDA.W $1602,X CODE_02D65B: 85 00 STA $00 CODE_02D65D: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_02D65F: A5 00 LDA $00 CODE_02D661: 18 CLC CODE_02D662: 69 80 00 ADC.W #$0080 CODE_02D665: 29 FF 01 AND.W #$01FF CODE_02D668: 85 02 STA $02 CODE_02D66A: A5 00 LDA $00 CODE_02D66C: 29 FF 00 AND.W #$00FF CODE_02D66F: 0A ASL CODE_02D670: AA TAX CODE_02D671: BF DB F7 07 LDA.L CircleCoords,X CODE_02D675: 85 04 STA $04 CODE_02D677: A5 02 LDA $02 CODE_02D679: 29 FF 00 AND.W #$00FF CODE_02D67C: 0A ASL CODE_02D67D: AA TAX CODE_02D67E: BF DB F7 07 LDA.L CircleCoords,X CODE_02D682: 85 06 STA $06 CODE_02D684: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_02D686: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02D689: A5 04 LDA $04 CODE_02D68B: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_02D68E: BD 7B 18 LDA.W $187B,X CODE_02D691: A4 05 LDY $05 CODE_02D693: D0 0E BNE CODE_02D6A3 CODE_02D695: 8D 03 42 STA.W $4203 ; Multplier B CODE_02D698: 20 00 D8 JSR.W CODE_02D800 CODE_02D69B: 0E 16 42 ASL.W $4216 ; Product/Remainder Result (Low Byte) CODE_02D69E: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_02D6A1: 69 00 ADC.B #$00 CODE_02D6A3: 46 01 LSR $01 CODE_02D6A5: 90 03 BCC CODE_02D6AA CODE_02D6A7: 49 FF EOR.B #$FF CODE_02D6A9: 1A INC A CODE_02D6AA: 85 04 STA $04 CODE_02D6AC: A5 06 LDA $06 CODE_02D6AE: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_02D6B1: BD 7B 18 LDA.W $187B,X CODE_02D6B4: A4 07 LDY $07 CODE_02D6B6: D0 0E BNE CODE_02D6C6 CODE_02D6B8: 8D 03 42 STA.W $4203 ; Multplier B CODE_02D6BB: 20 00 D8 JSR.W CODE_02D800 CODE_02D6BE: 0E 16 42 ASL.W $4216 ; Product/Remainder Result (Low Byte) CODE_02D6C1: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_02D6C4: 69 00 ADC.B #$00 CODE_02D6C6: 46 03 LSR $03 CODE_02D6C8: 90 03 BCC CODE_02D6CD CODE_02D6CA: 49 FF EOR.B #$FF CODE_02D6CC: 1A INC A CODE_02D6CD: 85 06 STA $06 CODE_02D6CF: B5 E4 LDA RAM_SpriteXLo,X CODE_02D6D1: 48 PHA CODE_02D6D2: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02D6D5: 48 PHA CODE_02D6D6: B5 D8 LDA RAM_SpriteYLo,X CODE_02D6D8: 48 PHA CODE_02D6D9: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02D6DC: 48 PHA CODE_02D6DD: BC 86 0F LDY.W $0F86,X CODE_02D6E0: 64 00 STZ $00 CODE_02D6E2: A5 04 LDA $04 CODE_02D6E4: 10 02 BPL CODE_02D6E8 CODE_02D6E6: C6 00 DEC $00 CODE_02D6E8: 18 CLC CODE_02D6E9: 75 E4 ADC RAM_SpriteXLo,X CODE_02D6EB: 95 E4 STA RAM_SpriteXLo,X CODE_02D6ED: 08 PHP CODE_02D6EE: 48 PHA CODE_02D6EF: 38 SEC CODE_02D6F0: FD 34 15 SBC.W $1534,X CODE_02D6F3: 9D 28 15 STA.W $1528,X CODE_02D6F6: 68 PLA CODE_02D6F7: 9D 34 15 STA.W $1534,X CODE_02D6FA: 28 PLP CODE_02D6FB: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02D6FE: 65 00 ADC $00 CODE_02D700: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02D703: 64 01 STZ $01 CODE_02D705: A5 06 LDA $06 CODE_02D707: 10 02 BPL CODE_02D70B CODE_02D709: C6 01 DEC $01 CODE_02D70B: 18 CLC CODE_02D70C: 75 D8 ADC RAM_SpriteYLo,X CODE_02D70E: 95 D8 STA RAM_SpriteYLo,X CODE_02D710: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02D713: 65 01 ADC $01 CODE_02D715: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02D718: B5 9E LDA RAM_SpriteNum,X CODE_02D71A: C9 9E CMP.B #$9E CODE_02D71C: F0 32 BEQ CODE_02D750 CODE_02D71E: 22 4F B4 01 JSL.L InvisBlkMainRt CODE_02D722: 90 19 BCC CODE_02D73D CODE_02D724: A9 03 LDA.B #$03 CODE_02D726: 9D 0E 16 STA.W $160E,X CODE_02D729: 8D 71 14 STA.W $1471 CODE_02D72C: AD 7A 18 LDA.W RAM_OnYoshi CODE_02D72F: D0 1A BNE CODE_02D74B CODE_02D731: DA PHX CODE_02D732: 22 BD E2 00 JSL.L CODE_00E2BD CODE_02D736: FA PLX CODE_02D737: A9 FF LDA.B #$FF CODE_02D739: 85 78 STA $78 CODE_02D73B: 80 0E BRA CODE_02D74B CODE_02D73D: BD 0E 16 LDA.W $160E,X CODE_02D740: F0 09 BEQ CODE_02D74B CODE_02D742: 9E 0E 16 STZ.W $160E,X CODE_02D745: DA PHX CODE_02D746: 22 BD E2 00 JSL.L CODE_00E2BD CODE_02D74A: FA PLX CODE_02D74B: 20 48 D8 JSR.W CODE_02D848 CODE_02D74E: 80 07 BRA CODE_02D757 CODE_02D750: 22 DC A7 01 JSL.L MarioSprInteract CODE_02D754: 20 13 D8 JSR.W CODE_02D813 CODE_02D757: 68 PLA CODE_02D758: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02D75B: 68 PLA CODE_02D75C: 95 D8 STA RAM_SpriteYLo,X CODE_02D75E: 68 PLA CODE_02D75F: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02D762: 68 PLA CODE_02D763: 95 E4 STA RAM_SpriteXLo,X CODE_02D765: A5 00 LDA $00 CODE_02D767: 18 CLC CODE_02D768: 65 1A ADC RAM_ScreenBndryXLo CODE_02D76A: 38 SEC CODE_02D76B: F5 E4 SBC RAM_SpriteXLo,X CODE_02D76D: 20 70 D8 JSR.W CODE_02D870 CODE_02D770: 18 CLC CODE_02D771: 75 E4 ADC RAM_SpriteXLo,X CODE_02D773: 38 SEC CODE_02D774: E5 1A SBC RAM_ScreenBndryXLo CODE_02D776: 85 00 STA $00 CODE_02D778: A5 01 LDA $01 CODE_02D77A: 18 CLC CODE_02D77B: 65 1C ADC RAM_ScreenBndryYLo CODE_02D77D: 38 SEC CODE_02D77E: F5 D8 SBC RAM_SpriteYLo,X CODE_02D780: 20 70 D8 JSR.W CODE_02D870 CODE_02D783: 18 CLC CODE_02D784: 75 D8 ADC RAM_SpriteYLo,X CODE_02D786: 38 SEC CODE_02D787: E5 1C SBC RAM_ScreenBndryYLo CODE_02D789: 85 01 STA $01 CODE_02D78B: BD C4 15 LDA.W $15C4,X CODE_02D78E: D0 76 BNE Return02D806 CODE_02D790: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02D793: 18 CLC CODE_02D794: 69 10 ADC.B #$10 CODE_02D796: A8 TAY CODE_02D797: DA PHX CODE_02D798: B5 E4 LDA RAM_SpriteXLo,X CODE_02D79A: 85 0A STA $0A CODE_02D79C: B5 D8 LDA RAM_SpriteYLo,X CODE_02D79E: 85 0B STA $0B CODE_02D7A0: B5 9E LDA RAM_SpriteNum,X CODE_02D7A2: AA TAX CODE_02D7A3: A9 E8 LDA.B #$E8 CODE_02D7A5: E0 9E CPX.B #$9E CODE_02D7A7: F0 02 BEQ CODE_02D7AB CODE_02D7A9: A9 A2 LDA.B #$A2 CODE_02D7AB: 85 08 STA $08 CODE_02D7AD: A2 01 LDX.B #$01 CODE_02D7AF: A5 00 LDA $00 CODE_02D7B1: 99 00 03 STA.W OAM_DispX,Y CODE_02D7B4: A5 01 LDA $01 CODE_02D7B6: 99 01 03 STA.W OAM_DispY,Y CODE_02D7B9: A5 08 LDA $08 CODE_02D7BB: 99 02 03 STA.W OAM_Tile,Y CODE_02D7BE: A9 33 LDA.B #$33 CODE_02D7C0: 99 03 03 STA.W OAM_Prop,Y CODE_02D7C3: A5 00 LDA $00 CODE_02D7C5: 18 CLC CODE_02D7C6: 65 1A ADC RAM_ScreenBndryXLo CODE_02D7C8: 38 SEC CODE_02D7C9: E5 0A SBC $0A CODE_02D7CB: 85 00 STA $00 CODE_02D7CD: 0A ASL CODE_02D7CE: 66 00 ROR $00 CODE_02D7D0: A5 00 LDA $00 CODE_02D7D2: 38 SEC CODE_02D7D3: E5 1A SBC RAM_ScreenBndryXLo CODE_02D7D5: 18 CLC CODE_02D7D6: 65 0A ADC $0A CODE_02D7D8: 85 00 STA $00 CODE_02D7DA: A5 01 LDA $01 CODE_02D7DC: 18 CLC CODE_02D7DD: 65 1C ADC RAM_ScreenBndryYLo CODE_02D7DF: 38 SEC CODE_02D7E0: E5 0B SBC $0B CODE_02D7E2: 85 01 STA $01 CODE_02D7E4: 0A ASL CODE_02D7E5: 66 01 ROR $01 CODE_02D7E7: A5 01 LDA $01 CODE_02D7E9: 38 SEC CODE_02D7EA: E5 1C SBC RAM_ScreenBndryYLo CODE_02D7EC: 18 CLC CODE_02D7ED: 65 0B ADC $0B CODE_02D7EF: 85 01 STA $01 CODE_02D7F1: C8 INY CODE_02D7F2: C8 INY CODE_02D7F3: C8 INY CODE_02D7F4: C8 INY CODE_02D7F5: CA DEX CODE_02D7F6: 10 B7 BPL CODE_02D7AF CODE_02D7F8: FA PLX CODE_02D7F9: A0 02 LDY.B #$02 CODE_02D7FB: A9 05 LDA.B #$05 CODE_02D7FD: 4C A7 B7 JMP.W CODE_02B7A7 CODE_02D800: EA NOP CODE_02D801: EA NOP CODE_02D802: EA NOP CODE_02D803: EA NOP CODE_02D804: EA NOP CODE_02D805: EA NOP Return02D806: 60 RTS ; Return DATA_02D807: .db $F8,$08,$F8,$08 DATA_02D80B: .db $F8,$F8,$08,$08 DATA_02D80F: .db $33,$73,$B3,$F3 CODE_02D813: 20 78 D3 JSR.W GetDrawInfo2 CODE_02D816: DA PHX CODE_02D817: A2 03 LDX.B #$03 CODE_02D819: A5 00 LDA $00 CODE_02D81B: 18 CLC CODE_02D81C: 7D 07 D8 ADC.W DATA_02D807,X CODE_02D81F: 99 00 03 STA.W OAM_DispX,Y CODE_02D822: A5 01 LDA $01 CODE_02D824: 18 CLC CODE_02D825: 7D 0B D8 ADC.W DATA_02D80B,X CODE_02D828: 99 01 03 STA.W OAM_DispY,Y CODE_02D82B: BD 00 D8 LDA.W CODE_02D800,X CODE_02D82E: 99 02 03 STA.W OAM_Tile,Y CODE_02D831: BD 0F D8 LDA.W DATA_02D80F,X CODE_02D834: 99 03 03 STA.W OAM_Prop,Y CODE_02D837: C8 INY CODE_02D838: C8 INY CODE_02D839: C8 INY CODE_02D83A: C8 INY CODE_02D83B: CA DEX CODE_02D83C: 10 DB BPL CODE_02D819 CODE_02D83E: FA PLX Return02D83F: 60 RTS ; Return DATA_02D840: .db $00,$F0,$00,$10 WoodPlatformTiles: .db $A2,$60,$61,$62 CODE_02D848: 20 78 D3 JSR.W GetDrawInfo2 CODE_02D84B: DA PHX CODE_02D84C: A2 03 LDX.B #$03 CODE_02D84E: A5 00 LDA $00 CODE_02D850: 18 CLC CODE_02D851: 7D 40 D8 ADC.W DATA_02D840,X CODE_02D854: 99 00 03 STA.W OAM_DispX,Y CODE_02D857: A5 01 LDA $01 CODE_02D859: 99 01 03 STA.W OAM_DispY,Y CODE_02D85C: BD 44 D8 LDA.W WoodPlatformTiles,X CODE_02D85F: 99 02 03 STA.W OAM_Tile,Y CODE_02D862: A9 33 LDA.B #$33 CODE_02D864: 99 03 03 STA.W OAM_Prop,Y CODE_02D867: C8 INY CODE_02D868: C8 INY CODE_02D869: C8 INY CODE_02D86A: C8 INY CODE_02D86B: CA DEX CODE_02D86C: 10 E0 BPL CODE_02D84E CODE_02D86E: FA PLX Return02D86F: 60 RTS ; Return CODE_02D870: 08 PHP CODE_02D871: 10 03 BPL CODE_02D876 CODE_02D873: 49 FF EOR.B #$FF CODE_02D875: 1A INC A CODE_02D876: 8D 05 42 STA.W $4205 ; Dividend (High-Byte) CODE_02D879: 9C 04 42 STZ.W $4204 ; Dividend (Low Byte) CODE_02D87C: BD 7B 18 LDA.W $187B,X CODE_02D87F: 4A LSR CODE_02D880: 8D 06 42 STA.W $4206 ; Divisor B CODE_02D883: 20 00 D8 JSR.W CODE_02D800 CODE_02D886: AD 14 42 LDA.W $4214 ; Quotient of Divide Result (Low Byte) CODE_02D889: 85 0E STA $0E CODE_02D88B: AD 15 42 LDA.W $4215 ; Quotient of Divide Result (High Byte) CODE_02D88E: 06 0E ASL $0E CODE_02D890: 2A ROL CODE_02D891: 06 0E ASL $0E CODE_02D893: 2A ROL CODE_02D894: 06 0E ASL $0E CODE_02D896: 2A ROL CODE_02D897: 06 0E ASL $0E CODE_02D899: 2A ROL CODE_02D89A: 28 PLP CODE_02D89B: 10 03 BPL Return02D8A0 CODE_02D89D: 49 FF EOR.B #$FF CODE_02D89F: 1A INC A Return02D8A0: 60 RTS ; Return BubbleSprTiles1: .db $A8,$CA,$67,$24 BubbleSprTiles2: .db $AA,$CC,$69,$24 BubbleSprGfxProp1: .db $84,$85,$05,$08 BubbleSpriteMain: 8B PHB CODE_02D8AE: 4B PHK CODE_02D8AF: AB PLB CODE_02D8B0: 20 BB D8 JSR.W CODE_02D8BB CODE_02D8B3: AB PLB Return02D8B4: 6B RTL ; Return BubbleSprGfxProp2: .db $08,$F8 BubbleSprGfxProp3: .db $01,$FF BubbleSprGfxProp4: .db $0C,$F4 CODE_02D8BB: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02D8BE: 18 CLC CODE_02D8BF: 69 14 ADC.B #$14 CODE_02D8C1: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_02D8C4: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02D8C8: DA PHX CODE_02D8C9: B5 C2 LDA RAM_SpriteState,X CODE_02D8CB: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02D8CE: AA TAX CODE_02D8CF: BD A9 D8 LDA.W BubbleSprGfxProp1,X CODE_02D8D2: 05 64 ORA $64 CODE_02D8D4: 99 03 03 STA.W OAM_Prop,Y CODE_02D8D7: A5 14 LDA RAM_FrameCounterB CODE_02D8D9: 0A ASL CODE_02D8DA: 0A ASL CODE_02D8DB: 0A ASL CODE_02D8DC: BD A1 D8 LDA.W BubbleSprTiles1,X CODE_02D8DF: 90 03 BCC CODE_02D8E4 CODE_02D8E1: BD A5 D8 LDA.W BubbleSprTiles2,X CODE_02D8E4: 99 02 03 STA.W OAM_Tile,Y CODE_02D8E7: FA PLX CODE_02D8E8: BD 34 15 LDA.W $1534,X CODE_02D8EB: C9 60 CMP.B #$60 CODE_02D8ED: B0 04 BCS CODE_02D8F3 CODE_02D8EF: 29 02 AND.B #$02 CODE_02D8F1: F0 03 BEQ CODE_02D8F6 CODE_02D8F3: 20 D6 D9 JSR.W CODE_02D9D6 CODE_02D8F6: BD C8 14 LDA.W $14C8,X CODE_02D8F9: C9 02 CMP.B #$02 CODE_02D8FB: D0 07 BNE CODE_02D904 ADDR_02D8FD: A9 08 LDA.B #$08 ; \ Sprite status = Normal ADDR_02D8FF: 9D C8 14 STA.W $14C8,X ; / ADDR_02D902: 80 67 BRA CODE_02D96B CODE_02D904: A5 9D LDA RAM_SpritesLocked CODE_02D906: D0 6F BNE Return02D977 CODE_02D908: A5 13 LDA RAM_FrameCounter CODE_02D90A: 29 01 AND.B #$01 CODE_02D90C: D0 0F BNE CODE_02D91D CODE_02D90E: DE 34 15 DEC.W $1534,X CODE_02D911: BD 34 15 LDA.W $1534,X CODE_02D914: C9 04 CMP.B #$04 CODE_02D916: D0 05 BNE CODE_02D91D CODE_02D918: A9 19 LDA.B #$19 ; \ Play sound effect CODE_02D91A: 8D FC 1D STA.W $1DFC ; / CODE_02D91D: BD 34 15 LDA.W $1534,X CODE_02D920: 3A DEC A CODE_02D921: F0 55 BEQ CODE_02D978 CODE_02D923: C9 07 CMP.B #$07 CODE_02D925: 90 50 BCC Return02D977 CODE_02D927: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02D92A: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02D92D: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02D930: 22 38 91 01 JSL.L CODE_019138 CODE_02D934: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02D937: B9 B5 D8 LDA.W BubbleSprGfxProp2,Y CODE_02D93A: 95 B6 STA RAM_SpriteSpeedX,X CODE_02D93C: A5 13 LDA RAM_FrameCounter CODE_02D93E: 29 01 AND.B #$01 CODE_02D940: D0 16 BNE CODE_02D958 CODE_02D942: BD 1C 15 LDA.W $151C,X CODE_02D945: 29 01 AND.B #$01 CODE_02D947: A8 TAY CODE_02D948: B5 AA LDA RAM_SpriteSpeedY,X CODE_02D94A: 18 CLC CODE_02D94B: 79 B7 D8 ADC.W BubbleSprGfxProp3,Y CODE_02D94E: 95 AA STA RAM_SpriteSpeedY,X CODE_02D950: D9 B9 D8 CMP.W BubbleSprGfxProp4,Y CODE_02D953: D0 03 BNE CODE_02D958 CODE_02D955: FE 1C 15 INC.W $151C,X CODE_02D958: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_02D95B: D0 0E BNE CODE_02D96B CODE_02D95D: 22 32 80 01 JSL.L SprSprInteract CODE_02D961: 22 DC A7 01 JSL.L MarioSprInteract CODE_02D965: 90 39 BCC Return02D9A0 CODE_02D967: 64 7D STZ RAM_MarioSpeedY CODE_02D969: 64 7B STZ RAM_MarioSpeedX CODE_02D96B: BD 34 15 LDA.W $1534,X CODE_02D96E: C9 07 CMP.B #$07 CODE_02D970: 90 05 BCC Return02D977 CODE_02D972: A9 06 LDA.B #$06 CODE_02D974: 9D 34 15 STA.W $1534,X Return02D977: 60 RTS ; Return CODE_02D978: B4 C2 LDY RAM_SpriteState,X CODE_02D97A: B9 A1 D9 LDA.W BubbleSprites,Y CODE_02D97D: 95 9E STA RAM_SpriteNum,X CODE_02D97F: 48 PHA CODE_02D980: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02D984: 7A PLY CODE_02D985: A9 20 LDA.B #$20 CODE_02D987: C0 74 CPY.B #$74 CODE_02D989: D0 02 BNE CODE_02D98D CODE_02D98B: A9 04 LDA.B #$04 CODE_02D98D: 9D 4C 15 STA.W RAM_DisableInter,X CODE_02D990: B5 9E LDA RAM_SpriteNum,X CODE_02D992: C9 0D CMP.B #$0D CODE_02D994: D0 03 BNE CODE_02D999 CODE_02D996: DE 40 15 DEC.W $1540,X CODE_02D999: 20 FA D4 JSR.W CODE_02D4FA CODE_02D99C: 98 TYA CODE_02D99D: 9D 7C 15 STA.W RAM_SpriteDir,X Return02D9A0: 60 RTS ; Return BubbleSprites: .db $0F,$0D,$15,$74 BubbleTileDispX: .db $F8,$08,$F8,$08,$FF,$F9,$07,$F9 .db $07,$00,$FA,$06,$FA,$06,$00 BubbleTileDispY: .db $F6,$F6,$02,$02,$FC,$F5,$F5,$03 .db $03,$FC,$F4,$F4,$04,$04,$FB BubbleTiles: .db $A0,$A0,$A0,$A0,$99 BubbleGfxProp: .db $07,$47,$87,$C7,$03 BubbleSize: .db $02,$02,$02,$02,$00 DATA_02D9D2: .db $00,$05,$0A,$05 CODE_02D9D6: 20 78 D3 JSR.W GetDrawInfo2 CODE_02D9D9: A5 14 LDA RAM_FrameCounterB CODE_02D9DB: 4A LSR CODE_02D9DC: 4A LSR CODE_02D9DD: 4A LSR CODE_02D9DE: 29 03 AND.B #$03 CODE_02D9E0: A8 TAY CODE_02D9E1: B9 D2 D9 LDA.W DATA_02D9D2,Y CODE_02D9E4: 85 02 STA $02 CODE_02D9E6: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02D9E9: 38 SEC CODE_02D9EA: E9 14 SBC.B #$14 CODE_02D9EC: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_02D9EF: A8 TAY CODE_02D9F0: DA PHX CODE_02D9F1: BD 34 15 LDA.W $1534,X CODE_02D9F4: 85 03 STA $03 CODE_02D9F6: A2 04 LDX.B #$04 CODE_02D9F8: DA PHX CODE_02D9F9: 8A TXA CODE_02D9FA: 18 CLC CODE_02D9FB: 65 02 ADC $02 CODE_02D9FD: AA TAX CODE_02D9FE: A5 00 LDA $00 CODE_02DA00: 18 CLC CODE_02DA01: 7D A5 D9 ADC.W BubbleTileDispX,X CODE_02DA04: 99 00 03 STA.W OAM_DispX,Y CODE_02DA07: A5 01 LDA $01 CODE_02DA09: 18 CLC CODE_02DA0A: 7D B4 D9 ADC.W BubbleTileDispY,X CODE_02DA0D: 99 01 03 STA.W OAM_DispY,Y CODE_02DA10: FA PLX CODE_02DA11: BD C3 D9 LDA.W BubbleTiles,X CODE_02DA14: 99 02 03 STA.W OAM_Tile,Y CODE_02DA17: BD C8 D9 LDA.W BubbleGfxProp,X CODE_02DA1A: 05 64 ORA $64 CODE_02DA1C: 99 03 03 STA.W OAM_Prop,Y CODE_02DA1F: A5 03 LDA $03 CODE_02DA21: C9 06 CMP.B #$06 CODE_02DA23: B0 12 BCS CODE_02DA37 CODE_02DA25: C9 03 CMP.B #$03 CODE_02DA27: A9 02 LDA.B #$02 CODE_02DA29: 05 64 ORA $64 CODE_02DA2B: 99 03 03 STA.W OAM_Prop,Y CODE_02DA2E: A9 64 LDA.B #$64 CODE_02DA30: B0 02 BCS CODE_02DA34 CODE_02DA32: A9 66 LDA.B #$66 CODE_02DA34: 99 02 03 STA.W OAM_Tile,Y CODE_02DA37: 5A PHY CODE_02DA38: 98 TYA CODE_02DA39: 4A LSR CODE_02DA3A: 4A LSR CODE_02DA3B: A8 TAY CODE_02DA3C: BD CD D9 LDA.W BubbleSize,X CODE_02DA3F: 99 60 04 STA.W OAM_TileSize,Y CODE_02DA42: 7A PLY CODE_02DA43: C8 INY CODE_02DA44: C8 INY CODE_02DA45: C8 INY CODE_02DA46: C8 INY CODE_02DA47: CA DEX CODE_02DA48: 10 AE BPL CODE_02D9F8 CODE_02DA4A: FA PLX CODE_02DA4B: A0 FF LDY.B #$FF CODE_02DA4D: A9 04 LDA.B #$04 CODE_02DA4F: 4C A7 B7 JMP.W CODE_02B7A7 HammerBrotherMain: 8B PHB CODE_02DA53: 4B PHK CODE_02DA54: AB PLB CODE_02DA55: 20 5A DA JSR.W CODE_02DA5A CODE_02DA58: AB PLB Return02DA59: 6B RTL ; Return CODE_02DA5A: 9E 7C 15 STZ.W RAM_SpriteDir,X CODE_02DA5D: BD C8 14 LDA.W $14C8,X CODE_02DA60: C9 02 CMP.B #$02 CODE_02DA62: D0 0A BNE CODE_02DA6E CODE_02DA64: 4C FD DA JMP.W HammerBroGfx HammerFreq: .db $1F,$0F,$0F,$0F,$0F,$0F,$0F CODE_02DA6E: A5 9D LDA RAM_SpritesLocked CODE_02DA70: D0 76 BNE Return02DAE8 CODE_02DA72: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_02DA76: 20 1F D0 JSR.W SubOffscreen1Bnk2 CODE_02DA79: AC B3 0D LDY.W $0DB3 CODE_02DA7C: B9 11 1F LDA.W $1F11,Y CODE_02DA7F: A8 TAY CODE_02DA80: A5 13 LDA RAM_FrameCounter ; \ Increment $1570,x 3 out of every 4 frames CODE_02DA82: 29 03 AND.B #$03 ; | CODE_02DA84: F0 03 BEQ CODE_02DA89 ; | CODE_02DA86: FE 70 15 INC.W $1570,X ; / CODE_02DA89: BD 70 15 LDA.W $1570,X CODE_02DA8C: 0A ASL CODE_02DA8D: C0 00 CPY.B #$00 CODE_02DA8F: F0 01 BEQ CODE_02DA92 CODE_02DA91: 0A ASL CODE_02DA92: 29 40 AND.B #$40 CODE_02DA94: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02DA97: BD 70 15 LDA.W $1570,X ; \ Don't throw if... CODE_02DA9A: 39 67 DA AND.W HammerFreq,Y ; | ...not yet time CODE_02DA9D: 1D A0 15 ORA.W RAM_OffscreenHorz,X ; | ...sprite offscreen CODE_02DAA0: 1D 6C 18 ORA.W RAM_OffscreenVert,X ; | CODE_02DAA3: 1D 40 15 ORA.W $1540,X ; | ...we just threw one CODE_02DAA6: D0 40 BNE Return02DAE8 ; / CODE_02DAA8: A9 03 LDA.B #$03 ; \ Set minimum time in between throws CODE_02DAAA: 9D 40 15 STA.W $1540,X ; / CODE_02DAAD: A0 10 LDY.B #$10 ; \ $00 = Hammer X speed, CODE_02DAAF: BD 7C 15 LDA.W RAM_SpriteDir,X ; | based on sprite's direction CODE_02DAB2: D0 02 BNE CODE_02DAB6 ; | CODE_02DAB4: A0 F0 LDY.B #$F0 ; | CODE_02DAB6: 84 00 STY $00 ; / CODE_02DAB8: A0 07 LDY.B #$07 ; \ Find a free extended sprite slots CODE_02DABA: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_02DABD: F0 04 BEQ GenerateHammer ; | CODE_02DABF: 88 DEY ; | CODE_02DAC0: 10 F8 BPL CODE_02DABA ; | Return02DAC2: 60 RTS ; / Return if no free slots GenerateHammer: A9 04 LDA.B #$04 ; \ Extended sprite = Hammer CODE_02DAC5: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_02DAC8: B5 E4 LDA RAM_SpriteXLo,X ; \ Hammer X pos = sprite X pos CODE_02DACA: 99 1F 17 STA.W RAM_ExSpriteXLo,Y ; | CODE_02DACD: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_02DAD0: 99 33 17 STA.W RAM_ExSpriteXHi,Y ; / CODE_02DAD3: B5 D8 LDA RAM_SpriteYLo,X ; \ Hammer Y pos = sprite Y pos CODE_02DAD5: 99 15 17 STA.W RAM_ExSpriteYLo,Y ; | CODE_02DAD8: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_02DADB: 99 29 17 STA.W RAM_ExSpriteYHi,Y ; / CODE_02DADE: A9 D0 LDA.B #$D0 ; \ Hammer Y speed = #$D0 CODE_02DAE0: 99 3D 17 STA.W RAM_ExSprSpeedY,Y ; / CODE_02DAE3: A5 00 LDA $00 ; \ Hammer X speed = $00 CODE_02DAE5: 99 47 17 STA.W RAM_ExSprSpeedX,Y ; / Return02DAE8: 60 RTS ; Return HammerBroDispX: .db $08,$10,$00,$10 HammerBroDispY: .db $F8,$F8,$00,$00 HammerBroTiles: .db $5A,$4A,$46,$48,$4A,$5A,$48,$46 HammerBroTileSize: .db $00,$00,$02,$02 HammerBroGfx: 20 78 D3 JSR.W GetDrawInfo2 CODE_02DB00: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02DB03: 85 02 STA $02 CODE_02DB05: DA PHX CODE_02DB06: A2 03 LDX.B #$03 CODE_02DB08: A5 00 LDA $00 CODE_02DB0A: 18 CLC CODE_02DB0B: 7D E9 DA ADC.W HammerBroDispX,X CODE_02DB0E: 99 00 03 STA.W OAM_DispX,Y CODE_02DB11: A5 01 LDA $01 CODE_02DB13: 18 CLC CODE_02DB14: 7D ED DA ADC.W HammerBroDispY,X CODE_02DB17: 99 01 03 STA.W OAM_DispY,Y CODE_02DB1A: DA PHX CODE_02DB1B: A5 02 LDA $02 CODE_02DB1D: 48 PHA CODE_02DB1E: 09 37 ORA.B #$37 CODE_02DB20: 99 03 03 STA.W OAM_Prop,Y CODE_02DB23: 68 PLA CODE_02DB24: F0 04 BEQ CODE_02DB2A CODE_02DB26: E8 INX CODE_02DB27: E8 INX CODE_02DB28: E8 INX CODE_02DB29: E8 INX CODE_02DB2A: BD F1 DA LDA.W HammerBroTiles,X CODE_02DB2D: 99 02 03 STA.W OAM_Tile,Y CODE_02DB30: FA PLX CODE_02DB31: 5A PHY CODE_02DB32: 98 TYA CODE_02DB33: 4A LSR CODE_02DB34: 4A LSR CODE_02DB35: A8 TAY CODE_02DB36: BD F9 DA LDA.W HammerBroTileSize,X CODE_02DB39: 99 60 04 STA.W OAM_TileSize,Y CODE_02DB3C: 7A PLY CODE_02DB3D: C8 INY CODE_02DB3E: C8 INY CODE_02DB3F: C8 INY CODE_02DB40: C8 INY CODE_02DB41: CA DEX CODE_02DB42: 10 C4 BPL CODE_02DB08 CODE_02DB44: FA PLX CODE_02DB45: A0 FF LDY.B #$FF CODE_02DB47: A9 03 LDA.B #$03 CODE_02DB49: 4C A7 B7 JMP.W CODE_02B7A7 FlyingPlatformMain: 8B PHB CODE_02DB4D: 4B PHK CODE_02DB4E: AB PLB CODE_02DB4F: 20 5C DB JSR.W CODE_02DB5C CODE_02DB52: AB PLB Return02DB53: 6B RTL ; Return DATA_02DB54: .db $01,$FF DATA_02DB56: .db $20,$E0 DATA_02DB58: .db $02,$FE DATA_02DB5A: .db $20,$E0 CODE_02DB5C: 20 3F DC JSR.W FlyingPlatformGfx ; Draw sprite CODE_02DB5F: A9 FF LDA.B #$FF ; \ $1594 = #$FF CODE_02DB61: 9D 94 15 STA.W $1594,X ; / CODE_02DB64: A0 09 LDY.B #$09 ; \ Check sprite slots 0-9 for Hammer Brother CODE_02DB66: B9 C8 14 LDA.W $14C8,Y ; | CODE_02DB69: C9 08 CMP.B #$08 ; | CODE_02DB6B: D0 07 BNE CODE_02DB74 ; | CODE_02DB6D: B9 9E 00 LDA.W RAM_SpriteNum,Y ; | CODE_02DB70: C9 9B CMP.B #$9B ; | CODE_02DB72: F0 05 BEQ PutHammerBroOnPlat ; | CODE_02DB74: 88 DEY ; | CODE_02DB75: 10 EF BPL CODE_02DB66 ; | CODE_02DB77: 80 25 BRA CODE_02DB9E ; / Branch if no Hammer Brother PutHammerBroOnPlat: 98 TYA ; \ $1594 = index of Hammer Bro CODE_02DB7A: 9D 94 15 STA.W $1594,X ; / CODE_02DB7D: B5 E4 LDA RAM_SpriteXLo,X ; \ Hammer Bro X postion = Platform X position CODE_02DB7F: 99 E4 00 STA.W RAM_SpriteXLo,Y ; | CODE_02DB82: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_02DB85: 99 E0 14 STA.W RAM_SpriteXHi,Y ; / CODE_02DB88: B5 D8 LDA RAM_SpriteYLo,X ; \ Hammer Bro Y position = Platform Y position - #$10 CODE_02DB8A: 38 SEC ; | CODE_02DB8B: E9 10 SBC.B #$10 ; | CODE_02DB8D: 99 D8 00 STA.W RAM_SpriteYLo,Y ; | CODE_02DB90: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_02DB93: E9 00 SBC.B #$00 ; | CODE_02DB95: 99 D4 14 STA.W RAM_SpriteYHi,Y ; / CODE_02DB98: DA PHX ; \ Draw Hammer Bro CODE_02DB99: BB TYX ; | CODE_02DB9A: 20 FD DA JSR.W HammerBroGfx ; | CODE_02DB9D: FA PLX ; / CODE_02DB9E: A5 9D LDA RAM_SpritesLocked CODE_02DBA0: D0 6C BNE Return02DC0E CODE_02DBA2: 20 1F D0 JSR.W SubOffscreen1Bnk2 CODE_02DBA5: A5 13 LDA RAM_FrameCounter CODE_02DBA7: 29 01 AND.B #$01 CODE_02DBA9: D0 2C BNE CODE_02DBD7 CODE_02DBAB: BD 34 15 LDA.W $1534,X CODE_02DBAE: 29 01 AND.B #$01 CODE_02DBB0: A8 TAY CODE_02DBB1: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02DBB3: 18 CLC CODE_02DBB4: 79 54 DB ADC.W DATA_02DB54,Y CODE_02DBB7: 95 B6 STA RAM_SpriteSpeedX,X CODE_02DBB9: D9 56 DB CMP.W DATA_02DB56,Y CODE_02DBBC: D0 03 BNE CODE_02DBC1 CODE_02DBBE: FE 34 15 INC.W $1534,X CODE_02DBC1: BD 1C 15 LDA.W $151C,X CODE_02DBC4: 29 01 AND.B #$01 CODE_02DBC6: A8 TAY CODE_02DBC7: B5 AA LDA RAM_SpriteSpeedY,X CODE_02DBC9: 18 CLC CODE_02DBCA: 79 58 DB ADC.W DATA_02DB58,Y CODE_02DBCD: 95 AA STA RAM_SpriteSpeedY,X CODE_02DBCF: D9 5A DB CMP.W DATA_02DB5A,Y CODE_02DBD2: D0 03 BNE CODE_02DBD7 CODE_02DBD4: FE 1C 15 INC.W $151C,X CODE_02DBD7: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02DBDA: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02DBDD: 9D 28 15 STA.W $1528,X CODE_02DBE0: 22 4F B4 01 JSL.L InvisBlkMainRt CODE_02DBE4: BD 58 15 LDA.W $1558,X CODE_02DBE7: F0 25 BEQ Return02DC0E CODE_02DBE9: A9 01 LDA.B #$01 CODE_02DBEB: 95 C2 STA RAM_SpriteState,X CODE_02DBED: 20 FA D4 JSR.W CODE_02D4FA CODE_02DBF0: A5 0F LDA $0F CODE_02DBF2: C9 08 CMP.B #$08 CODE_02DBF4: 30 02 BMI CODE_02DBF8 CODE_02DBF6: F6 C2 INC RAM_SpriteState,X CODE_02DBF8: BC 94 15 LDY.W $1594,X CODE_02DBFB: 30 11 BMI Return02DC0E CODE_02DBFD: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_02DBFF: 99 C8 14 STA.W $14C8,Y ; / CODE_02DC02: A9 C0 LDA.B #$C0 CODE_02DC04: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_02DC07: DA PHX CODE_02DC08: BB TYX CODE_02DC09: 22 6F AB 01 JSL.L CODE_01AB6F CODE_02DC0D: FA PLX Return02DC0E: 60 RTS ; Return DATA_02DC0F: .db $00,$10,$F2,$1E,$00,$10,$FA,$1E DATA_02DC17: .db $00,$00,$F6,$F6,$00,$00,$FE,$FE HmrBroPlatTiles: .db $40,$40,$C6,$C6,$40,$40,$5D,$5D DATA_02DC27: .db $32,$32,$72,$32,$32,$32,$72,$32 DATA_02DC2F: .db $02,$02,$02,$02,$02,$02,$00,$00 DATA_02DC37: .db $00,$04,$06,$08,$08,$06,$04,$00 FlyingPlatformGfx: 20 78 D3 JSR.W GetDrawInfo2 CODE_02DC42: B5 C2 LDA RAM_SpriteState,X CODE_02DC44: 85 07 STA $07 CODE_02DC46: BD 58 15 LDA.W $1558,X CODE_02DC49: 4A LSR CODE_02DC4A: A8 TAY CODE_02DC4B: B9 37 DC LDA.W DATA_02DC37,Y CODE_02DC4E: 85 05 STA $05 CODE_02DC50: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02DC53: DA PHX CODE_02DC54: A5 14 LDA RAM_FrameCounterB CODE_02DC56: 4A LSR CODE_02DC57: 29 04 AND.B #$04 CODE_02DC59: 85 02 STA $02 CODE_02DC5B: A2 03 LDX.B #$03 CODE_02DC5D: 86 06 STX $06 CODE_02DC5F: 8A TXA CODE_02DC60: 05 02 ORA $02 CODE_02DC62: AA TAX CODE_02DC63: A5 00 LDA $00 CODE_02DC65: 18 CLC CODE_02DC66: 7D 0F DC ADC.W DATA_02DC0F,X CODE_02DC69: 99 00 03 STA.W OAM_DispX,Y CODE_02DC6C: A5 01 LDA $01 CODE_02DC6E: 18 CLC CODE_02DC6F: 7D 17 DC ADC.W DATA_02DC17,X CODE_02DC72: 99 01 03 STA.W OAM_DispY,Y CODE_02DC75: DA PHX CODE_02DC76: A6 06 LDX $06 CODE_02DC78: E0 02 CPX.B #$02 CODE_02DC7A: B0 0E BCS CODE_02DC8A CODE_02DC7C: E8 INX CODE_02DC7D: E4 07 CPX $07 CODE_02DC7F: D0 09 BNE CODE_02DC8A CODE_02DC81: B9 01 03 LDA.W OAM_DispY,Y CODE_02DC84: 38 SEC CODE_02DC85: E5 05 SBC $05 CODE_02DC87: 99 01 03 STA.W OAM_DispY,Y CODE_02DC8A: FA PLX CODE_02DC8B: BD 1F DC LDA.W HmrBroPlatTiles,X CODE_02DC8E: 99 02 03 STA.W OAM_Tile,Y CODE_02DC91: BD 27 DC LDA.W DATA_02DC27,X CODE_02DC94: 99 03 03 STA.W OAM_Prop,Y CODE_02DC97: 5A PHY CODE_02DC98: 98 TYA CODE_02DC99: 4A LSR CODE_02DC9A: 4A LSR CODE_02DC9B: A8 TAY CODE_02DC9C: BD 2F DC LDA.W DATA_02DC2F,X CODE_02DC9F: 99 60 04 STA.W OAM_TileSize,Y CODE_02DCA2: 7A PLY CODE_02DCA3: C8 INY CODE_02DCA4: C8 INY CODE_02DCA5: C8 INY CODE_02DCA6: C8 INY CODE_02DCA7: A6 06 LDX $06 CODE_02DCA9: CA DEX CODE_02DCAA: 10 B1 BPL CODE_02DC5D CODE_02DCAC: 4C 44 DB JMP.W CODE_02DB44 SumoBrotherMain: 8B PHB CODE_02DCB0: 4B PHK CODE_02DCB1: AB PLB CODE_02DCB2: 20 B7 DC JSR.W CODE_02DCB7 CODE_02DCB5: AB PLB Return02DCB6: 6B RTL ; Return CODE_02DCB7: 20 3E DE JSR.W SumoBroGfx CODE_02DCBA: A5 9D LDA RAM_SpritesLocked CODE_02DCBC: D0 2B BNE Return02DCE9 CODE_02DCBE: BD C8 14 LDA.W $14C8,X CODE_02DCC1: C9 08 CMP.B #$08 CODE_02DCC3: D0 24 BNE Return02DCE9 CODE_02DCC5: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02DCC8: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_02DCCC: 22 2A 80 01 JSL.L UpdateSpritePos CODE_02DCD0: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02DCD3: 29 04 AND.B #$04 ; | CODE_02DCD5: F0 04 BEQ CODE_02DCDB ; / CODE_02DCD7: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_02DCD9: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_02DCDB: B5 C2 LDA RAM_SpriteState,X CODE_02DCDD: 22 DF 86 00 JSL.L ExecutePtr SumoBroPtrs: EA DC .dw CODE_02DCEA FF DC .dw CODE_02DCFF 0E DD .dw CODE_02DD0E 4B DD .dw CODE_02DD4B Return02DCE9: 60 RTS ; Return CODE_02DCEA: A9 01 LDA.B #$01 CODE_02DCEC: 9D 02 16 STA.W $1602,X CODE_02DCEF: BD 40 15 LDA.W $1540,X CODE_02DCF2: D0 0A BNE Return02DCFE CODE_02DCF4: 9E 02 16 STZ.W $1602,X CODE_02DCF7: A9 03 LDA.B #$03 CODE_02DCF9: 9D 40 15 STA.W $1540,X CODE_02DCFC: F6 C2 INC RAM_SpriteState,X Return02DCFE: 60 RTS ; Return CODE_02DCFF: BD 40 15 LDA.W $1540,X CODE_02DD02: D0 07 BNE Return02DD0B CODE_02DD04: FE 02 16 INC.W $1602,X CODE_02DD07: A9 03 LDA.B #$03 CODE_02DD09: 80 EE BRA CODE_02DCF9 Return02DD0B: 60 RTS ; Return DATA_02DD0C: .db $20,$E0 CODE_02DD0E: BD 58 15 LDA.W $1558,X CODE_02DD11: D0 32 BNE CODE_02DD45 CODE_02DD13: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02DD16: B9 0C DD LDA.W DATA_02DD0C,Y CODE_02DD19: 95 B6 STA RAM_SpriteSpeedX,X CODE_02DD1B: BD 40 15 LDA.W $1540,X CODE_02DD1E: D0 24 BNE Return02DD44 CODE_02DD20: FE 70 15 INC.W $1570,X CODE_02DD23: BD 70 15 LDA.W $1570,X CODE_02DD26: 29 01 AND.B #$01 CODE_02DD28: D0 05 BNE CODE_02DD2F CODE_02DD2A: A9 20 LDA.B #$20 CODE_02DD2C: 9D 58 15 STA.W $1558,X CODE_02DD2F: BD 70 15 LDA.W $1570,X CODE_02DD32: C9 03 CMP.B #$03 CODE_02DD34: D0 07 BNE CODE_02DD3D CODE_02DD36: 9E 70 15 STZ.W $1570,X CODE_02DD39: A9 70 LDA.B #$70 CODE_02DD3B: 80 BC BRA CODE_02DCF9 CODE_02DD3D: A9 03 LDA.B #$03 CODE_02DD3F: 20 F9 DC JSR.W CODE_02DCF9 CODE_02DD42: 74 C2 STZ RAM_SpriteState,X Return02DD44: 60 RTS ; Return CODE_02DD45: A9 01 LDA.B #$01 CODE_02DD47: 9D 02 16 STA.W $1602,X Return02DD4A: 60 RTS ; Return CODE_02DD4B: A9 03 LDA.B #$03 CODE_02DD4D: BC 40 15 LDY.W $1540,X CODE_02DD50: F0 2F BEQ CODE_02DD81 CODE_02DD52: C0 2E CPY.B #$2E CODE_02DD54: D0 19 BNE CODE_02DD6F CODE_02DD56: 48 PHA CODE_02DD57: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_02DD5A: 1D 6C 18 ORA.W RAM_OffscreenVert,X CODE_02DD5D: D0 0F BNE CODE_02DD6E CODE_02DD5F: A9 30 LDA.B #$30 ; \ Set ground shake timer CODE_02DD61: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_02DD64: A9 09 LDA.B #$09 ; \ Play sound effect CODE_02DD66: 8D FC 1D STA.W $1DFC ; / CODE_02DD69: 5A PHY CODE_02DD6A: 20 8F DD JSR.W GenSumoLightning CODE_02DD6D: 7A PLY CODE_02DD6E: 68 PLA CODE_02DD6F: C0 30 CPY.B #$30 CODE_02DD71: 90 0A BCC CODE_02DD7D CODE_02DD73: C0 50 CPY.B #$50 CODE_02DD75: B0 06 BCS CODE_02DD7D CODE_02DD77: 1A INC A CODE_02DD78: C0 44 CPY.B #$44 CODE_02DD7A: B0 01 BCS CODE_02DD7D CODE_02DD7C: 1A INC A CODE_02DD7D: 9D 02 16 STA.W $1602,X Return02DD80: 60 RTS ; Return CODE_02DD81: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02DD84: 49 01 EOR.B #$01 CODE_02DD86: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02DD89: A9 40 LDA.B #$40 CODE_02DD8B: 20 3F DD JSR.W CODE_02DD3F Return02DD8E: 60 RTS ; Return GenSumoLightning: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_02DD93: 30 30 BMI Return02DDC5 ; / CODE_02DD95: A9 2B LDA.B #$2B ; \ Sprite = Lightning CODE_02DD97: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_02DD9A: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02DD9C: 99 C8 14 STA.W $14C8,Y ; / CODE_02DD9F: B5 E4 LDA RAM_SpriteXLo,X ; \ Lightning X position = Sprite X position + #$04 CODE_02DDA1: 69 04 ADC.B #$04 ; | CODE_02DDA3: 99 E4 00 STA.W RAM_SpriteXLo,Y ; | CODE_02DDA6: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_02DDA9: 69 00 ADC.B #$00 ; | CODE_02DDAB: 99 E0 14 STA.W RAM_SpriteXHi,Y ; / CODE_02DDAE: B5 D8 LDA RAM_SpriteYLo,X ; \ Lightning Y position = Sprite Y position CODE_02DDB0: 99 D8 00 STA.W RAM_SpriteYLo,Y ; | CODE_02DDB3: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_02DDB6: 99 D4 14 STA.W RAM_SpriteYHi,Y ; / CODE_02DDB9: DA PHX CODE_02DDBA: BB TYX ; \ Reset sprite tables CODE_02DDBB: 22 D2 F7 07 JSL.L InitSpriteTables ; / CODE_02DDBF: A9 10 LDA.B #$10 ; \ $1FE2,x = #$10 CODE_02DDC1: 9D E2 1F STA.W $1FE2,X ; / Time to not interact with ground?? CODE_02DDC4: FA PLX Return02DDC5: 60 RTS ; Return SumoBrosDispX: .db $FF,$07,$FC,$04,$FF,$07,$FC,$04 .db $FF,$FF,$FC,$04,$FF,$FF,$FC,$04 .db $02,$02,$F4,$04,$02,$02,$F4,$04 .db $09,$01,$04,$FC,$09,$01,$04,$FC .db $01,$01,$04,$FC,$01,$01,$04,$FC .db $FF,$FF,$0C,$FC,$FF,$FF,$0C,$FC SumoBrosDispY: .db $F8,$F8,$00,$00,$F8,$F8,$00,$00 .db $F8,$F0,$00,$00,$F8,$F8,$00,$00 .db $F8,$F8,$01,$00,$F8,$F8,$FF,$00 SumoBrosTiles: .db $98,$99,$A7,$A8,$98,$99,$AA,$AB .db $8A,$66,$AA,$AB,$EE,$EE,$C5,$C6 .db $80,$80,$C1,$C3,$80,$80,$C1,$C3 SumoBrosTileSize: .db $00,$00,$02,$02,$00,$00,$02,$02 .db $02,$02,$02,$02,$02,$02,$02,$02 .db $02,$02,$02,$02,$02,$02,$02,$02 SumoBroGfx: 20 78 D3 JSR.W GetDrawInfo2 CODE_02DE41: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02DE44: 4A LSR CODE_02DE45: 6A ROR CODE_02DE46: 6A ROR CODE_02DE47: 29 40 AND.B #$40 CODE_02DE49: 49 40 EOR.B #$40 CODE_02DE4B: 85 02 STA $02 CODE_02DE4D: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02DE50: BD 02 16 LDA.W $1602,X CODE_02DE53: 0A ASL CODE_02DE54: 0A ASL CODE_02DE55: DA PHX CODE_02DE56: AA TAX CODE_02DE57: A9 03 LDA.B #$03 CODE_02DE59: 85 05 STA $05 CODE_02DE5B: DA PHX CODE_02DE5C: A5 02 LDA $02 CODE_02DE5E: F0 05 BEQ CODE_02DE65 CODE_02DE60: 8A TXA CODE_02DE61: 18 CLC CODE_02DE62: 69 18 ADC.B #$18 CODE_02DE64: AA TAX CODE_02DE65: A5 00 LDA $00 CODE_02DE67: 18 CLC CODE_02DE68: 7D C6 DD ADC.W SumoBrosDispX,X CODE_02DE6B: 99 00 03 STA.W OAM_DispX,Y CODE_02DE6E: FA PLX CODE_02DE6F: A5 01 LDA $01 CODE_02DE71: 18 CLC CODE_02DE72: 7D F6 DD ADC.W SumoBrosDispY,X CODE_02DE75: 99 01 03 STA.W OAM_DispY,Y CODE_02DE78: BD 0E DE LDA.W SumoBrosTiles,X CODE_02DE7B: 99 02 03 STA.W OAM_Tile,Y CODE_02DE7E: C9 66 CMP.B #$66 CODE_02DE80: 38 SEC CODE_02DE81: D0 01 BNE CODE_02DE84 ADDR_02DE83: 18 CLC CODE_02DE84: A9 34 LDA.B #$34 CODE_02DE86: 65 02 ADC $02 CODE_02DE88: 99 03 03 STA.W OAM_Prop,Y CODE_02DE8B: 5A PHY CODE_02DE8C: 98 TYA CODE_02DE8D: 4A LSR CODE_02DE8E: 4A LSR CODE_02DE8F: A8 TAY CODE_02DE90: BD 26 DE LDA.W SumoBrosTileSize,X CODE_02DE93: 99 60 04 STA.W OAM_TileSize,Y CODE_02DE96: 7A PLY CODE_02DE97: C8 INY CODE_02DE98: C8 INY CODE_02DE99: C8 INY CODE_02DE9A: C8 INY CODE_02DE9B: E8 INX CODE_02DE9C: C6 05 DEC $05 CODE_02DE9E: 10 BB BPL CODE_02DE5B CODE_02DEA0: FA PLX CODE_02DEA1: A0 FF LDY.B #$FF CODE_02DEA3: A9 03 LDA.B #$03 CODE_02DEA5: 4C A7 B7 JMP.W CODE_02B7A7 SumosLightningMain: 8B PHB CODE_02DEA9: 4B PHK CODE_02DEAA: AB PLB CODE_02DEAB: 20 B0 DE JSR.W CODE_02DEB0 CODE_02DEAE: AB PLB Return02DEAF: 6B RTL ; Return CODE_02DEB0: BD 40 15 LDA.W $1540,X CODE_02DEB3: D0 47 BNE CODE_02DEFC CODE_02DEB5: A9 30 LDA.B #$30 CODE_02DEB7: 95 AA STA RAM_SpriteSpeedY,X CODE_02DEB9: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02DEBC: BD E2 1F LDA.W $1FE2,X CODE_02DEBF: D0 29 BNE CODE_02DEEA CODE_02DEC1: 22 38 91 01 JSL.L CODE_019138 CODE_02DEC5: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02DEC8: 29 04 AND.B #$04 ; | CODE_02DECA: F0 1E BEQ CODE_02DEEA ; / CODE_02DECC: A9 17 LDA.B #$17 ; \ Play sound effect CODE_02DECE: 8D FC 1D STA.W $1DFC ; / CODE_02DED1: A9 22 LDA.B #$22 CODE_02DED3: 9D 40 15 STA.W $1540,X CODE_02DED6: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_02DED9: 1D 6C 18 ORA.W RAM_OffscreenVert,X CODE_02DEDC: D0 0C BNE CODE_02DEEA CODE_02DEDE: B5 E4 LDA RAM_SpriteXLo,X CODE_02DEE0: 85 9A STA RAM_BlockYLo CODE_02DEE2: B5 D8 LDA RAM_SpriteYLo,X CODE_02DEE4: 85 98 STA RAM_BlockXLo CODE_02DEE6: 22 44 8A 02 JSL.L CODE_028A44 CODE_02DEEA: A9 00 LDA.B #$00 CODE_02DEEC: 22 42 80 01 JSL.L GenericSprGfxRt0 CODE_02DEF0: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02DEF3: B9 07 03 LDA.W OAM_Tile2Prop,Y CODE_02DEF6: 49 C0 EOR.B #$C0 CODE_02DEF8: 99 07 03 STA.W OAM_Tile2Prop,Y Return02DEFB: 60 RTS ; Return CODE_02DEFC: 85 02 STA $02 CODE_02DEFE: C9 01 CMP.B #$01 CODE_02DF00: D0 03 BNE CODE_02DF05 CODE_02DF02: 9E C8 14 STZ.W $14C8,X CODE_02DF05: 29 0F AND.B #$0F CODE_02DF07: C9 01 CMP.B #$01 CODE_02DF09: D0 16 BNE Return02DF21 CODE_02DF0B: 8D B8 18 STA.W $18B8 CODE_02DF0E: 20 2C DF JSR.W CODE_02DF2C CODE_02DF11: FE 70 15 INC.W $1570,X CODE_02DF14: BD 70 15 LDA.W $1570,X CODE_02DF17: C9 01 CMP.B #$01 CODE_02DF19: F0 06 BEQ Return02DF21 CODE_02DF1B: 20 2C DF JSR.W CODE_02DF2C CODE_02DF1E: FE 70 15 INC.W $1570,X Return02DF21: 60 RTS ; Return DATA_02DF22: .db $FC,$0C,$EC,$1C,$DC DATA_02DF27: .db $FF,$00,$FF,$00,$FF CODE_02DF2C: B5 E4 LDA RAM_SpriteXLo,X CODE_02DF2E: 85 00 STA $00 CODE_02DF30: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02DF33: 85 01 STA $01 CODE_02DF35: A0 09 LDY.B #$09 CODE_02DF37: B9 92 18 LDA.W $1892,Y CODE_02DF3A: F0 10 BEQ CODE_02DF4C CODE_02DF3C: 88 DEY CODE_02DF3D: 10 F8 BPL CODE_02DF37 CODE_02DF3F: CE 1D 19 DEC.W $191D CODE_02DF42: 10 05 BPL CODE_02DF49 CODE_02DF44: A9 09 LDA.B #$09 CODE_02DF46: 8D 1D 19 STA.W $191D CODE_02DF49: AC 1D 19 LDY.W $191D CODE_02DF4C: DA PHX CODE_02DF4D: BD 70 15 LDA.W $1570,X CODE_02DF50: AA TAX CODE_02DF51: A5 00 LDA $00 CODE_02DF53: 18 CLC CODE_02DF54: 7D 22 DF ADC.W DATA_02DF22,X CODE_02DF57: 99 16 1E STA.W $1E16,Y CODE_02DF5A: A5 01 LDA $01 CODE_02DF5C: 7D 27 DF ADC.W DATA_02DF27,X CODE_02DF5F: 99 3E 1E STA.W $1E3E,Y CODE_02DF62: FA PLX CODE_02DF63: B5 D8 LDA RAM_SpriteYLo,X CODE_02DF65: 38 SEC CODE_02DF66: E9 10 SBC.B #$10 CODE_02DF68: 99 02 1E STA.W $1E02,Y CODE_02DF6B: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02DF6E: 38 SEC CODE_02DF6F: E9 00 SBC.B #$00 CODE_02DF71: 99 2A 1E STA.W $1E2A,Y CODE_02DF74: A9 7F LDA.B #$7F CODE_02DF76: 99 4A 0F STA.W $0F4A,Y CODE_02DF79: B9 16 1E LDA.W $1E16,Y CODE_02DF7C: C5 1A CMP RAM_ScreenBndryXLo CODE_02DF7E: B9 3E 1E LDA.W $1E3E,Y CODE_02DF81: E5 1B SBC RAM_ScreenBndryXHi CODE_02DF83: D0 05 BNE Return02DF8A CODE_02DF85: A9 06 LDA.B #$06 CODE_02DF87: 99 92 18 STA.W $1892,Y Return02DF8A: 60 RTS ; Return VolcanoLotusMain: 8B PHB CODE_02DF8C: 4B PHK CODE_02DF8D: AB PLB CODE_02DF8E: 20 93 DF JSR.W CODE_02DF93 CODE_02DF91: AB PLB Return02DF92: 6B RTL ; Return CODE_02DF93: 20 0B E0 JSR.W VolcanoLotusGfx CODE_02DF96: A5 9D LDA RAM_SpritesLocked CODE_02DF98: D0 2E BNE Return02DFC8 CODE_02DF9A: 9E 1C 15 STZ.W $151C,X CODE_02DF9D: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_02DFA1: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02DFA4: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02DFA7: B5 AA LDA RAM_SpriteSpeedY,X CODE_02DFA9: C9 40 CMP.B #$40 CODE_02DFAB: 10 02 BPL CODE_02DFAF CODE_02DFAD: F6 AA INC RAM_SpriteSpeedY,X CODE_02DFAF: 22 38 91 01 JSL.L CODE_019138 CODE_02DFB3: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02DFB6: 29 04 AND.B #$04 ; | CODE_02DFB8: F0 02 BEQ CODE_02DFBC ; / CODE_02DFBA: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_02DFBC: B5 C2 LDA RAM_SpriteState,X CODE_02DFBE: 22 DF 86 00 JSL.L ExecutePtr VolcanoLotusPtrs: C9 DF .dw CODE_02DFC9 DF DF .dw CODE_02DFDF EF DF .dw CODE_02DFEF Return02DFC8: 60 RTS ; Return CODE_02DFC9: BD 40 15 LDA.W $1540,X CODE_02DFCC: D0 08 BNE CODE_02DFD6 CODE_02DFCE: A9 40 LDA.B #$40 CODE_02DFD0: 9D 40 15 STA.W $1540,X CODE_02DFD3: F6 C2 INC RAM_SpriteState,X Return02DFD5: 60 RTS ; Return CODE_02DFD6: 4A LSR CODE_02DFD7: 4A LSR CODE_02DFD8: 4A LSR CODE_02DFD9: 29 01 AND.B #$01 CODE_02DFDB: 9D 02 16 STA.W $1602,X Return02DFDE: 60 RTS ; Return CODE_02DFDF: BD 40 15 LDA.W $1540,X CODE_02DFE2: D0 04 BNE CODE_02DFE8 CODE_02DFE4: A9 40 LDA.B #$40 CODE_02DFE6: 80 E8 BRA CODE_02DFD0 CODE_02DFE8: 4A LSR CODE_02DFE9: 29 01 AND.B #$01 CODE_02DFEB: 9D 1C 15 STA.W $151C,X Return02DFEE: 60 RTS ; Return CODE_02DFEF: BD 40 15 LDA.W $1540,X CODE_02DFF2: D0 07 BNE CODE_02DFFB CODE_02DFF4: A9 80 LDA.B #$80 CODE_02DFF6: 20 D0 DF JSR.W CODE_02DFD0 CODE_02DFF9: 74 C2 STZ RAM_SpriteState,X CODE_02DFFB: C9 38 CMP.B #$38 CODE_02DFFD: D0 03 BNE CODE_02E002 CODE_02DFFF: 20 79 E0 JSR.W CODE_02E079 CODE_02E002: A9 02 LDA.B #$02 CODE_02E004: 9D 02 16 STA.W $1602,X Return02E007: 60 RTS ; Return VolcanoLotusTiles: .db $8E,$9E,$E2 VolcanoLotusGfx: 20 7E E5 JSR.W MushroomScaleGfx CODE_02E00E: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02E011: A9 CE LDA.B #$CE CODE_02E013: 99 02 03 STA.W OAM_Tile,Y CODE_02E016: 99 06 03 STA.W OAM_Tile2,Y CODE_02E019: B9 03 03 LDA.W OAM_Prop,Y CODE_02E01C: 29 30 AND.B #$30 CODE_02E01E: 09 0B ORA.B #$0B CODE_02E020: 99 03 03 STA.W OAM_Prop,Y CODE_02E023: 09 40 ORA.B #$40 CODE_02E025: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02E028: B9 00 03 LDA.W OAM_DispX,Y CODE_02E02B: 18 CLC CODE_02E02C: 69 08 ADC.B #$08 CODE_02E02E: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_02E031: 18 CLC CODE_02E032: 69 08 ADC.B #$08 CODE_02E034: 99 0C 03 STA.W OAM_Tile4DispX,Y CODE_02E037: B9 01 03 LDA.W OAM_DispY,Y CODE_02E03A: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_02E03D: 99 0D 03 STA.W OAM_Tile4DispY,Y CODE_02E040: DA PHX CODE_02E041: BD 02 16 LDA.W $1602,X CODE_02E044: AA TAX CODE_02E045: BD 08 E0 LDA.W VolcanoLotusTiles,X CODE_02E048: 99 0A 03 STA.W OAM_Tile3,Y CODE_02E04B: 1A INC A CODE_02E04C: 99 0E 03 STA.W OAM_Tile4,Y CODE_02E04F: FA PLX CODE_02E050: BD 1C 15 LDA.W $151C,X CODE_02E053: C9 01 CMP.B #$01 CODE_02E055: A9 39 LDA.B #$39 CODE_02E057: 90 02 BCC CODE_02E05B CODE_02E059: A9 35 LDA.B #$35 CODE_02E05B: 99 0B 03 STA.W OAM_Tile3Prop,Y CODE_02E05E: 99 0F 03 STA.W OAM_Tile4Prop,Y CODE_02E061: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02E064: 18 CLC CODE_02E065: 69 08 ADC.B #$08 CODE_02E067: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_02E06A: A0 00 LDY.B #$00 CODE_02E06C: A9 01 LDA.B #$01 CODE_02E06E: 4C A7 B7 JMP.W CODE_02B7A7 DATA_02E071: .db $10,$F0,$06,$FA DATA_02E075: .db $EC,$EC,$E8,$E8 CODE_02E079: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_02E07C: 1D 6C 18 ORA.W RAM_OffscreenVert,X CODE_02E07F: D0 43 BNE Return02E0C4 CODE_02E081: A9 03 LDA.B #$03 CODE_02E083: 85 00 STA $00 CODE_02E085: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot CODE_02E087: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_02E08A: F0 04 BEQ CODE_02E090 ; | CODE_02E08C: 88 DEY ; | CODE_02E08D: 10 F8 BPL CODE_02E087 ; | Return02E08F: 60 RTS ; / Return if no free slots CODE_02E090: A9 0C LDA.B #$0C ; \ Extended sprite = Volcano Lotus fire CODE_02E092: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_02E095: B5 E4 LDA RAM_SpriteXLo,X CODE_02E097: 18 CLC CODE_02E098: 69 04 ADC.B #$04 CODE_02E09A: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_02E09D: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02E0A0: 69 00 ADC.B #$00 CODE_02E0A2: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_02E0A5: B5 D8 LDA RAM_SpriteYLo,X CODE_02E0A7: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_02E0AA: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02E0AD: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_02E0B0: DA PHX CODE_02E0B1: A6 00 LDX $00 CODE_02E0B3: BD 71 E0 LDA.W DATA_02E071,X CODE_02E0B6: 99 47 17 STA.W RAM_ExSprSpeedX,Y CODE_02E0B9: BD 75 E0 LDA.W DATA_02E075,X CODE_02E0BC: 99 3D 17 STA.W RAM_ExSprSpeedY,Y CODE_02E0BF: FA PLX CODE_02E0C0: C6 00 DEC $00 CODE_02E0C2: 10 C1 BPL CODE_02E085 Return02E0C4: 60 RTS ; Return JumpingPiranhaMain: 8B PHB CODE_02E0C6: 4B PHK CODE_02E0C7: AB PLB CODE_02E0C8: 20 CD E0 JSR.W CODE_02E0CD CODE_02E0CB: AB PLB Return02E0CC: 6B RTL ; Return CODE_02E0CD: 22 8B F7 07 JSL.L LoadSpriteTables CODE_02E0D1: A5 64 LDA $64 CODE_02E0D3: 48 PHA CODE_02E0D4: A9 10 LDA.B #$10 CODE_02E0D6: 85 64 STA $64 CODE_02E0D8: BD 70 15 LDA.W $1570,X CODE_02E0DB: 29 08 AND.B #$08 CODE_02E0DD: 4A LSR CODE_02E0DE: 4A LSR CODE_02E0DF: 49 02 EOR.B #$02 CODE_02E0E1: 9D 02 16 STA.W $1602,X CODE_02E0E4: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02E0E8: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02E0EB: 18 CLC CODE_02E0EC: 69 04 ADC.B #$04 CODE_02E0EE: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_02E0F1: BD 1C 15 LDA.W $151C,X CODE_02E0F4: 29 04 AND.B #$04 CODE_02E0F6: 4A LSR CODE_02E0F7: 4A LSR CODE_02E0F8: 1A INC A CODE_02E0F9: 9D 02 16 STA.W $1602,X CODE_02E0FC: B5 D8 LDA RAM_SpriteYLo,X CODE_02E0FE: 48 PHA CODE_02E0FF: 18 CLC CODE_02E100: 69 08 ADC.B #$08 CODE_02E102: 95 D8 STA RAM_SpriteYLo,X CODE_02E104: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02E107: 48 PHA CODE_02E108: 69 00 ADC.B #$00 CODE_02E10A: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02E10D: A9 0A LDA.B #$0A CODE_02E10F: 9D F6 15 STA.W RAM_SpritePal,X CODE_02E112: A9 01 LDA.B #$01 CODE_02E114: 22 42 80 01 JSL.L GenericSprGfxRt0 CODE_02E118: 68 PLA CODE_02E119: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02E11C: 68 PLA CODE_02E11D: 95 D8 STA RAM_SpriteYLo,X CODE_02E11F: 68 PLA CODE_02E120: 85 64 STA $64 CODE_02E122: A5 9D LDA RAM_SpritesLocked CODE_02E124: D0 32 BNE Return02E158 CODE_02E126: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02E129: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_02E12D: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02E130: B5 C2 LDA RAM_SpriteState,X CODE_02E132: 22 DF 86 00 JSL.L ExecutePtr JumpingPiranhaPtrs: 3C E1 .dw CODE_02E13C 59 E1 .dw CODE_02E159 77 E1 .dw CODE_02E177 CODE_02E13C: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_02E13E: BD 40 15 LDA.W $1540,X CODE_02E141: D0 15 BNE Return02E158 CODE_02E143: 20 FA D4 JSR.W CODE_02D4FA CODE_02E146: A5 0F LDA $0F CODE_02E148: 18 CLC CODE_02E149: 69 1B ADC.B #$1B CODE_02E14B: C9 37 CMP.B #$37 CODE_02E14D: 90 09 BCC Return02E158 CODE_02E14F: A9 C0 LDA.B #$C0 CODE_02E151: 95 AA STA RAM_SpriteSpeedY,X CODE_02E153: F6 C2 INC RAM_SpriteState,X CODE_02E155: 9E 02 16 STZ.W $1602,X Return02E158: 60 RTS ; Return CODE_02E159: B5 AA LDA RAM_SpriteSpeedY,X CODE_02E15B: 30 04 BMI CODE_02E161 ADDR_02E15D: C9 40 CMP.B #$40 ADDR_02E15F: B0 05 BCS CODE_02E166 CODE_02E161: 18 CLC CODE_02E162: 69 02 ADC.B #$02 CODE_02E164: 95 AA STA RAM_SpriteSpeedY,X CODE_02E166: FE 70 15 INC.W $1570,X CODE_02E169: B5 AA LDA RAM_SpriteSpeedY,X CODE_02E16B: C9 F0 CMP.B #$F0 CODE_02E16D: 30 07 BMI Return02E176 CODE_02E16F: A9 50 LDA.B #$50 CODE_02E171: 9D 40 15 STA.W $1540,X CODE_02E174: F6 C2 INC RAM_SpriteState,X Return02E176: 60 RTS ; Return CODE_02E177: FE 1C 15 INC.W $151C,X CODE_02E17A: BD 40 15 LDA.W $1540,X CODE_02E17D: D0 25 BNE CODE_02E1A4 CODE_02E17F: FE 70 15 INC.W $1570,X CODE_02E182: A5 14 LDA RAM_FrameCounterB CODE_02E184: 29 03 AND.B #$03 CODE_02E186: D0 09 BNE CODE_02E191 CODE_02E188: B5 AA LDA RAM_SpriteSpeedY,X CODE_02E18A: C9 08 CMP.B #$08 CODE_02E18C: 10 03 BPL CODE_02E191 CODE_02E18E: 1A INC A CODE_02E18F: 95 AA STA RAM_SpriteSpeedY,X CODE_02E191: 22 38 91 01 JSL.L CODE_019138 CODE_02E195: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02E198: 29 04 AND.B #$04 ; | CODE_02E19A: F0 DA BEQ Return02E176 ; / CODE_02E19C: 74 C2 STZ RAM_SpriteState,X CODE_02E19E: A9 40 LDA.B #$40 CODE_02E1A0: 9D 40 15 STA.W $1540,X Return02E1A3: 60 RTS ; Return CODE_02E1A4: B4 9E LDY RAM_SpriteNum,X CODE_02E1A6: C0 50 CPY.B #$50 CODE_02E1A8: D0 4D BNE CODE_02E1F7 CODE_02E1AA: 9E 70 15 STZ.W $1570,X CODE_02E1AD: C9 40 CMP.B #$40 CODE_02E1AF: D0 46 BNE CODE_02E1F7 CODE_02E1B1: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_02E1B4: 1D 6C 18 ORA.W RAM_OffscreenVert,X CODE_02E1B7: D0 3E BNE CODE_02E1F7 CODE_02E1B9: A9 10 LDA.B #$10 CODE_02E1BB: 20 C0 E1 JSR.W CODE_02E1C0 CODE_02E1BE: A9 F0 LDA.B #$F0 CODE_02E1C0: 85 00 STA $00 CODE_02E1C2: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot CODE_02E1C4: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_02E1C7: F0 04 BEQ CODE_02E1CD ; | CODE_02E1C9: 88 DEY ; | CODE_02E1CA: 10 F8 BPL CODE_02E1C4 ; | Return02E1CC: 60 RTS ; / Return if no free slots CODE_02E1CD: A9 0B LDA.B #$0B ; \ Extended sprite = Piranha fireball CODE_02E1CF: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_02E1D2: B5 E4 LDA RAM_SpriteXLo,X CODE_02E1D4: 18 CLC CODE_02E1D5: 69 04 ADC.B #$04 CODE_02E1D7: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_02E1DA: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02E1DD: 69 00 ADC.B #$00 CODE_02E1DF: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_02E1E2: B5 D8 LDA RAM_SpriteYLo,X CODE_02E1E4: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_02E1E7: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02E1EA: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_02E1ED: A9 D0 LDA.B #$D0 CODE_02E1EF: 99 3D 17 STA.W RAM_ExSprSpeedY,Y CODE_02E1F2: A5 00 LDA $00 CODE_02E1F4: 99 47 17 STA.W RAM_ExSprSpeedX,Y CODE_02E1F7: 80 86 BRA CODE_02E17F DATA_02E1F9: .db $00,$00,$F0,$10 DATA_02E1FD: .db $F0,$10,$00,$00 DATA_02E201: .db $00,$03,$02,$00,$01,$03,$02,$00 .db $00,$03,$02,$00,$00,$00,$00,$00 DATA_02E211: .db $01,$00,$03,$02 DirectionCoinsMain: 8B PHB CODE_02E216: 4B PHK CODE_02E217: AB PLB CODE_02E218: 20 1D E2 JSR.W CODE_02E21D CODE_02E21B: AB PLB Return02E21C: 6B RTL ; Return CODE_02E21D: A5 64 LDA $64 CODE_02E21F: 48 PHA CODE_02E220: BD 40 15 LDA.W $1540,X CODE_02E223: C9 30 CMP.B #$30 CODE_02E225: 90 04 BCC CODE_02E22B CODE_02E227: A9 10 LDA.B #$10 CODE_02E229: 85 64 STA $64 CODE_02E22B: A5 1C LDA RAM_ScreenBndryYLo CODE_02E22D: 48 PHA CODE_02E22E: 18 CLC CODE_02E22F: 69 01 ADC.B #$01 CODE_02E231: 85 1C STA RAM_ScreenBndryYLo CODE_02E233: A5 1D LDA RAM_ScreenBndryYHi CODE_02E235: 48 PHA CODE_02E236: 69 00 ADC.B #$00 CODE_02E238: 85 1D STA RAM_ScreenBndryYHi CODE_02E23A: AD AD 14 LDA.W RAM_BluePowTimer CODE_02E23D: D0 06 BNE CODE_02E245 CODE_02E23F: 22 41 C6 01 JSL.L CoinSprGfx CODE_02E243: 80 14 BRA CODE_02E259 CODE_02E245: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02E249: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02E24C: A9 2E LDA.B #$2E CODE_02E24E: 99 02 03 STA.W OAM_Tile,Y CODE_02E251: B9 03 03 LDA.W OAM_Prop,Y CODE_02E254: 29 3F AND.B #$3F CODE_02E256: 99 03 03 STA.W OAM_Prop,Y CODE_02E259: 68 PLA CODE_02E25A: 85 1D STA RAM_ScreenBndryYHi CODE_02E25C: 68 PLA CODE_02E25D: 85 1C STA RAM_ScreenBndryYLo CODE_02E25F: 68 PLA CODE_02E260: 85 64 STA $64 CODE_02E262: A5 9D LDA RAM_SpritesLocked CODE_02E264: D0 78 BNE CODE_02E2DE CODE_02E266: A5 13 LDA RAM_FrameCounter CODE_02E268: 29 03 AND.B #$03 CODE_02E26A: D0 1C BNE CODE_02E288 CODE_02E26C: CE 0C 19 DEC.W $190C CODE_02E26F: D0 17 BNE CODE_02E288 CODE_02E271: 9C 0C 19 STZ.W $190C CODE_02E274: 9E C8 14 STZ.W $14C8,X CODE_02E277: AD AD 14 LDA.W RAM_BluePowTimer CODE_02E27A: 0D AE 14 ORA.W RAM_SilverPowTimer CODE_02E27D: D0 08 BNE Return02E287 CODE_02E27F: AD DA 0D LDA.W $0DDA CODE_02E282: 30 03 BMI Return02E287 CODE_02E284: 8D FB 1D STA.W $1DFB ; / Change music Return02E287: 60 RTS ; Return CODE_02E288: B4 C2 LDY RAM_SpriteState,X CODE_02E28A: B9 F9 E1 LDA.W DATA_02E1F9,Y CODE_02E28D: 95 B6 STA RAM_SpriteSpeedX,X CODE_02E28F: B9 FD E1 LDA.W DATA_02E1FD,Y CODE_02E292: 95 AA STA RAM_SpriteSpeedY,X CODE_02E294: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02E297: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02E29A: A5 15 LDA RAM_ControllerA CODE_02E29C: 29 0F AND.B #$0F CODE_02E29E: F0 10 BEQ CODE_02E2B0 CODE_02E2A0: A8 TAY CODE_02E2A1: B9 01 E2 LDA.W DATA_02E201,Y CODE_02E2A4: A8 TAY CODE_02E2A5: B9 11 E2 LDA.W DATA_02E211,Y CODE_02E2A8: D5 C2 CMP RAM_SpriteState,X CODE_02E2AA: F0 04 BEQ CODE_02E2B0 CODE_02E2AC: 98 TYA CODE_02E2AD: 9D 1C 15 STA.W $151C,X CODE_02E2B0: B5 D8 LDA RAM_SpriteYLo,X CODE_02E2B2: 29 0F AND.B #$0F CODE_02E2B4: 85 00 STA $00 CODE_02E2B6: B5 E4 LDA RAM_SpriteXLo,X CODE_02E2B8: 29 0F AND.B #$0F CODE_02E2BA: 05 00 ORA $00 CODE_02E2BC: D0 20 BNE CODE_02E2DE CODE_02E2BE: BD 1C 15 LDA.W $151C,X CODE_02E2C1: 95 C2 STA RAM_SpriteState,X CODE_02E2C3: B5 E4 LDA RAM_SpriteXLo,X ; \ $9A = Sprite X position CODE_02E2C5: 85 9A STA RAM_BlockYLo ; | for block creation CODE_02E2C7: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_02E2CA: 85 9B STA RAM_BlockYHi ; / CODE_02E2CC: B5 D8 LDA RAM_SpriteYLo,X ; \ $98 = Sprite Y position CODE_02E2CE: 85 98 STA RAM_BlockXLo ; | for block creation CODE_02E2D0: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_02E2D3: 85 99 STA RAM_BlockXHi ; / CODE_02E2D5: A9 06 LDA.B #$06 ; \ Block to generate = Coin CODE_02E2D7: 85 9C STA RAM_BlockBlock ; / CODE_02E2D9: 22 B0 BE 00 JSL.L GenerateTile Return02E2DD: 60 RTS ; Return CODE_02E2DE: 22 38 91 01 JSL.L CODE_019138 CODE_02E2E2: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02E2E4: D0 0D BNE CODE_02E2F3 CODE_02E2E6: AD D7 18 LDA.W $18D7 CODE_02E2E9: D0 14 BNE CODE_02E2FF CODE_02E2EB: AD 5F 18 LDA.W $185F CODE_02E2EE: C9 25 CMP.B #$25 CODE_02E2F0: D0 0D BNE CODE_02E2FF Return02E2F2: 60 RTS ; Return CODE_02E2F3: AD 62 18 LDA.W $1862 CODE_02E2F6: D0 07 BNE CODE_02E2FF CODE_02E2F8: AD 60 18 LDA.W $1860 CODE_02E2FB: C9 25 CMP.B #$25 CODE_02E2FD: F0 03 BEQ Return02E302 CODE_02E2FF: 20 71 E2 JSR.W CODE_02E271 Return02E302: 60 RTS ; Return GasBubbleMain: 8B PHB CODE_02E304: 4B PHK CODE_02E305: AB PLB CODE_02E306: 20 11 E3 JSR.W CODE_02E311 CODE_02E309: AB PLB Return02E30A: 6B RTL ; Return DATA_02E30B: .db $10,$F0 DATA_02E30D: .db $01,$FF DATA_02E30F: .db $10,$F0 CODE_02E311: 20 AA E3 JSR.W GasBubbleGfx CODE_02E314: A5 9D LDA RAM_SpritesLocked CODE_02E316: D0 39 BNE Return02E351 CODE_02E318: BD C8 14 LDA.W $14C8,X CODE_02E31B: C9 08 CMP.B #$08 CODE_02E31D: D0 32 BNE Return02E351 CODE_02E31F: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02E322: B9 0B E3 LDA.W DATA_02E30B,Y CODE_02E325: 95 B6 STA RAM_SpriteSpeedX,X CODE_02E327: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02E32A: A5 13 LDA RAM_FrameCounter CODE_02E32C: 29 03 AND.B #$03 CODE_02E32E: D0 14 BNE CODE_02E344 CODE_02E330: B5 C2 LDA RAM_SpriteState,X CODE_02E332: 29 01 AND.B #$01 CODE_02E334: A8 TAY CODE_02E335: B5 AA LDA RAM_SpriteSpeedY,X CODE_02E337: 18 CLC CODE_02E338: 79 0D E3 ADC.W DATA_02E30D,Y CODE_02E33B: 95 AA STA RAM_SpriteSpeedY,X CODE_02E33D: D9 0F E3 CMP.W DATA_02E30F,Y CODE_02E340: D0 02 BNE CODE_02E344 CODE_02E342: F6 C2 INC RAM_SpriteState,X CODE_02E344: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02E347: FE 70 15 INC.W $1570,X CODE_02E34A: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02E34D: 22 DC A7 01 JSL.L MarioSprInteract Return02E351: 60 RTS ; Return DATA_02E352: .db $00,$10,$20,$30,$00,$10,$20,$30 .db $00,$10,$20,$30,$00,$10,$20,$30 DATA_02E362: .db $00,$00,$00,$00,$10,$10,$10,$10 .db $20,$20,$20,$20,$30,$30,$30,$30 DATA_02E372: .db $80,$82,$84,$86,$A0,$A2,$A4,$A6 .db $A0,$A2,$A4,$A6,$80,$82,$84,$86 DATA_02E382: .db $3B,$3B,$3B,$3B,$3B,$3B,$3B,$3B .db $BB,$BB,$BB,$BB,$BB,$BB,$BB,$BB DATA_02E392: .db $00,$00,$02,$02,$00,$00,$02,$02 .db $01,$01,$03,$03,$01,$01,$03,$03 DATA_02E3A2: .db $00,$01,$02,$01 DATA_02E3A6: .db $02,$01,$00,$01 GasBubbleGfx: 20 78 D3 JSR.W GetDrawInfo2 CODE_02E3AD: BD 70 15 LDA.W $1570,X CODE_02E3B0: 4A LSR CODE_02E3B1: 4A LSR CODE_02E3B2: 4A LSR CODE_02E3B3: 29 03 AND.B #$03 CODE_02E3B5: A8 TAY CODE_02E3B6: B9 A2 E3 LDA.W DATA_02E3A2,Y CODE_02E3B9: 85 02 STA $02 CODE_02E3BB: B9 A6 E3 LDA.W DATA_02E3A6,Y CODE_02E3BE: 85 03 STA $03 CODE_02E3C0: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02E3C3: DA PHX CODE_02E3C4: A2 0F LDX.B #$0F CODE_02E3C6: A5 00 LDA $00 CODE_02E3C8: 18 CLC CODE_02E3C9: 7D 52 E3 ADC.W DATA_02E352,X CODE_02E3CC: 48 PHA CODE_02E3CD: BD 92 E3 LDA.W DATA_02E392,X CODE_02E3D0: 29 02 AND.B #$02 CODE_02E3D2: D0 06 BNE CODE_02E3DA CODE_02E3D4: 68 PLA CODE_02E3D5: 18 CLC CODE_02E3D6: 65 02 ADC $02 CODE_02E3D8: 80 04 BRA CODE_02E3DE CODE_02E3DA: 68 PLA CODE_02E3DB: 38 SEC CODE_02E3DC: E5 02 SBC $02 CODE_02E3DE: 99 00 03 STA.W OAM_DispX,Y CODE_02E3E1: A5 01 LDA $01 CODE_02E3E3: 18 CLC CODE_02E3E4: 7D 62 E3 ADC.W DATA_02E362,X CODE_02E3E7: 48 PHA CODE_02E3E8: BD 92 E3 LDA.W DATA_02E392,X CODE_02E3EB: 29 01 AND.B #$01 CODE_02E3ED: D0 06 BNE CODE_02E3F5 CODE_02E3EF: 68 PLA CODE_02E3F0: 18 CLC CODE_02E3F1: 65 03 ADC $03 CODE_02E3F3: 80 04 BRA CODE_02E3F9 CODE_02E3F5: 68 PLA CODE_02E3F6: 38 SEC CODE_02E3F7: E5 03 SBC $03 CODE_02E3F9: 99 01 03 STA.W OAM_DispY,Y CODE_02E3FC: BD 72 E3 LDA.W DATA_02E372,X CODE_02E3FF: 99 02 03 STA.W OAM_Tile,Y CODE_02E402: BD 82 E3 LDA.W DATA_02E382,X CODE_02E405: 99 03 03 STA.W OAM_Prop,Y CODE_02E408: C8 INY CODE_02E409: C8 INY CODE_02E40A: C8 INY CODE_02E40B: C8 INY CODE_02E40C: CA DEX CODE_02E40D: 10 B7 BPL CODE_02E3C6 CODE_02E40F: FA PLX CODE_02E410: A0 02 LDY.B #$02 CODE_02E412: A9 0F LDA.B #$0F CODE_02E414: 4C A7 B7 JMP.W CODE_02B7A7 ExplodingBlkMain: 8B PHB CODE_02E418: 4B PHK CODE_02E419: AB PLB CODE_02E41A: 20 1F E4 JSR.W CODE_02E41F CODE_02E41D: AB PLB Return02E41E: 6B RTL ; Return CODE_02E41F: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02E423: A5 9D LDA RAM_SpritesLocked CODE_02E425: D0 3B BNE Return02E462 CODE_02E427: 80 04 BRA CODE_02E42D ADDR_02E429: 22 CF C0 02 JSL.L ADDR_02C0CF ; Unreachable instruction CODE_02E42D: A0 00 LDY.B #$00 CODE_02E42F: FE 70 15 INC.W $1570,X CODE_02E432: BD 70 15 LDA.W $1570,X CODE_02E435: 29 40 AND.B #$40 CODE_02E437: F0 0B BEQ CODE_02E444 CODE_02E439: A0 04 LDY.B #$04 CODE_02E43B: BD 70 15 LDA.W $1570,X CODE_02E43E: 29 04 AND.B #$04 CODE_02E440: F0 02 BEQ CODE_02E444 CODE_02E442: A0 FC LDY.B #$FC CODE_02E444: 94 B6 STY RAM_SpriteSpeedX,X CODE_02E446: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02E449: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_02E44D: 20 FA D4 JSR.W CODE_02D4FA CODE_02E450: A5 0F LDA $0F CODE_02E452: 18 CLC CODE_02E453: 69 60 ADC.B #$60 CODE_02E455: C9 C0 CMP.B #$C0 CODE_02E457: B0 09 BCS Return02E462 CODE_02E459: BC A0 15 LDY.W RAM_OffscreenHorz,X CODE_02E45C: D0 04 BNE Return02E462 CODE_02E45E: 22 63 E4 02 JSL.L CODE_02E463 Return02E462: 60 RTS ; Return CODE_02E463: B5 C2 LDA RAM_SpriteState,X CODE_02E465: 95 9E STA RAM_SpriteNum,X CODE_02E467: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02E46B: A9 D0 LDA.B #$D0 CODE_02E46D: 95 AA STA RAM_SpriteSpeedY,X CODE_02E46F: 20 FA D4 JSR.W CODE_02D4FA CODE_02E472: 98 TYA CODE_02E473: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02E476: B5 E4 LDA RAM_SpriteXLo,X CODE_02E478: 85 9A STA RAM_BlockYLo CODE_02E47A: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02E47D: 85 9B STA RAM_BlockYHi CODE_02E47F: B5 D8 LDA RAM_SpriteYLo,X CODE_02E481: 85 98 STA RAM_BlockXLo CODE_02E483: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02E486: 85 99 STA RAM_BlockXHi CODE_02E488: 8B PHB CODE_02E489: A9 02 LDA.B #$02 CODE_02E48B: 48 PHA CODE_02E48C: AB PLB CODE_02E48D: A9 00 LDA.B #$00 CODE_02E48F: 22 63 86 02 JSL.L ShatterBlock CODE_02E493: AB PLB Return02E494: 6B RTL ; Return ScalePlatformMain: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02E498: 48 PHA CODE_02E499: 8B PHB CODE_02E49A: 4B PHK CODE_02E49B: AB PLB CODE_02E49C: 20 A5 E4 JSR.W CODE_02E4A5 CODE_02E49F: AB PLB CODE_02E4A0: 68 PLA CODE_02E4A1: 9D EA 15 STA.W RAM_SprOAMIndex,X Return02E4A4: 6B RTL ; Return CODE_02E4A5: 20 1B D0 JSR.W SubOffscreen2Bnk2 CODE_02E4A8: 9C 5E 18 STZ.W $185E CODE_02E4AB: B5 E4 LDA RAM_SpriteXLo,X CODE_02E4AD: 48 PHA CODE_02E4AE: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02E4B1: 48 PHA CODE_02E4B2: B5 D8 LDA RAM_SpriteYLo,X CODE_02E4B4: 48 PHA CODE_02E4B5: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02E4B8: 48 PHA CODE_02E4B9: BD 1C 15 LDA.W $151C,X CODE_02E4BC: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02E4BF: BD 34 15 LDA.W $1534,X CODE_02E4C2: 95 D8 STA RAM_SpriteYLo,X CODE_02E4C4: B5 C2 LDA RAM_SpriteState,X CODE_02E4C6: 95 E4 STA RAM_SpriteXLo,X CODE_02E4C8: BD 02 16 LDA.W $1602,X CODE_02E4CB: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02E4CE: A0 02 LDY.B #$02 CODE_02E4D0: 20 24 E5 JSR.W CODE_02E524 CODE_02E4D3: 68 PLA CODE_02E4D4: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02E4D7: 68 PLA CODE_02E4D8: 95 D8 STA RAM_SpriteYLo,X CODE_02E4DA: 68 PLA CODE_02E4DB: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02E4DE: 68 PLA CODE_02E4DF: 95 E4 STA RAM_SpriteXLo,X CODE_02E4E1: 90 08 BCC CODE_02E4EB CODE_02E4E3: EE 5E 18 INC.W $185E CODE_02E4E6: A9 F8 LDA.B #$F8 CODE_02E4E8: 20 59 E5 JSR.W CODE_02E559 CODE_02E4EB: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02E4EE: 18 CLC CODE_02E4EF: 69 08 ADC.B #$08 CODE_02E4F1: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_02E4F4: A0 00 LDY.B #$00 CODE_02E4F6: 20 24 E5 JSR.W CODE_02E524 CODE_02E4F9: 90 08 BCC CODE_02E503 CODE_02E4FB: EE 5E 18 INC.W $185E CODE_02E4FE: A9 08 LDA.B #$08 CODE_02E500: 20 59 E5 JSR.W CODE_02E559 CODE_02E503: AD 5E 18 LDA.W $185E CODE_02E506: D0 17 BNE Return02E51F CODE_02E508: A0 02 LDY.B #$02 CODE_02E50A: B5 D8 LDA RAM_SpriteYLo,X CODE_02E50C: DD 34 15 CMP.W $1534,X CODE_02E50F: F0 0E BEQ Return02E51F CODE_02E511: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02E514: FD 1C 15 SBC.W $151C,X CODE_02E517: 30 02 BMI CODE_02E51B CODE_02E519: A0 FE LDY.B #$FE CODE_02E51B: 98 TYA CODE_02E51C: 20 59 E5 JSR.W CODE_02E559 Return02E51F: 60 RTS ; Return MushrmScaleTiles: .db $02,$07,$07,$02 CODE_02E524: B5 D8 LDA RAM_SpriteYLo,X CODE_02E526: 29 0F AND.B #$0F CODE_02E528: D0 24 BNE CODE_02E54E CODE_02E52A: B5 AA LDA RAM_SpriteSpeedY,X CODE_02E52C: F0 20 BEQ CODE_02E54E CODE_02E52E: B5 AA LDA RAM_SpriteSpeedY,X CODE_02E530: 10 01 BPL CODE_02E533 CODE_02E532: C8 INY CODE_02E533: B9 20 E5 LDA.W MushrmScaleTiles,Y CODE_02E536: 85 9C STA RAM_BlockBlock ; $9C = tile to generate CODE_02E538: B5 E4 LDA RAM_SpriteXLo,X ; \ $9A = Sprite X position CODE_02E53A: 85 9A STA RAM_BlockYLo ; | for block creation CODE_02E53C: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_02E53F: 85 9B STA RAM_BlockYHi ; / CODE_02E541: B5 D8 LDA RAM_SpriteYLo,X ; \ $98 = Sprite Y position CODE_02E543: 85 98 STA RAM_BlockXLo ; | for block creation CODE_02E545: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_02E548: 85 99 STA RAM_BlockXHi ; / CODE_02E54A: 22 B0 BE 00 JSL.L GenerateTile ; Generate the tile CODE_02E54E: 20 7E E5 JSR.W MushroomScaleGfx CODE_02E551: 9E 28 15 STZ.W $1528,X CODE_02E554: 22 4F B4 01 JSL.L InvisBlkMainRt Return02E558: 60 RTS ; Return CODE_02E559: A4 9D LDY RAM_SpritesLocked CODE_02E55B: D0 20 BNE Return02E57D CODE_02E55D: 48 PHA CODE_02E55E: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02E561: 68 PLA CODE_02E562: 95 AA STA RAM_SpriteSpeedY,X CODE_02E564: A0 00 LDY.B #$00 CODE_02E566: AD 91 14 LDA.W $1491 CODE_02E569: 49 FF EOR.B #$FF CODE_02E56B: 1A INC A CODE_02E56C: 10 01 BPL CODE_02E56F CODE_02E56E: 88 DEY CODE_02E56F: 18 CLC CODE_02E570: 7D 34 15 ADC.W $1534,X CODE_02E573: 9D 34 15 STA.W $1534,X CODE_02E576: 98 TYA CODE_02E577: 7D 1C 15 ADC.W $151C,X CODE_02E57A: 9D 1C 15 STA.W $151C,X Return02E57D: 60 RTS ; Return MushroomScaleGfx: 20 78 D3 JSR.W GetDrawInfo2 CODE_02E581: A5 00 LDA $00 CODE_02E583: 38 SEC CODE_02E584: E9 08 SBC.B #$08 CODE_02E586: 99 00 03 STA.W OAM_DispX,Y CODE_02E589: 18 CLC CODE_02E58A: 69 10 ADC.B #$10 CODE_02E58C: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02E58F: A5 01 LDA $01 CODE_02E591: 3A DEC A CODE_02E592: 99 01 03 STA.W OAM_DispY,Y CODE_02E595: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02E598: A9 80 LDA.B #$80 CODE_02E59A: 99 02 03 STA.W OAM_Tile,Y CODE_02E59D: 99 06 03 STA.W OAM_Tile2,Y CODE_02E5A0: BD F6 15 LDA.W RAM_SpritePal,X CODE_02E5A3: 05 64 ORA $64 CODE_02E5A5: 99 03 03 STA.W OAM_Prop,Y CODE_02E5A8: 09 40 ORA.B #$40 CODE_02E5AA: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02E5AD: A9 01 LDA.B #$01 CODE_02E5AF: A0 02 LDY.B #$02 CODE_02E5B1: 4C A7 B7 JMP.W CODE_02B7A7 MovingLedgeMain: 8B PHB CODE_02E5B5: 4B PHK CODE_02E5B6: AB PLB CODE_02E5B7: 20 BC E5 JSR.W CODE_02E5BC CODE_02E5BA: AB PLB Return02E5BB: 6B RTL ; Return CODE_02E5BC: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02E5BF: A5 9D LDA RAM_SpritesLocked CODE_02E5C1: D0 14 BNE CODE_02E5D7 CODE_02E5C3: FE 70 15 INC.W $1570,X CODE_02E5C6: A0 10 LDY.B #$10 CODE_02E5C8: BD 70 15 LDA.W $1570,X CODE_02E5CB: 29 80 AND.B #$80 CODE_02E5CD: D0 02 BNE CODE_02E5D1 CODE_02E5CF: A0 F0 LDY.B #$F0 CODE_02E5D1: 98 TYA CODE_02E5D2: 95 B6 STA RAM_SpriteSpeedX,X CODE_02E5D4: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02E5D7: 20 37 E6 JSR.W CODE_02E637 CODE_02E5DA: 20 F7 E5 JSR.W CODE_02E5F7 CODE_02E5DD: AD 5C 18 LDA.W $185C CODE_02E5E0: F0 06 BEQ CODE_02E5E8 ADDR_02E5E2: 3A DEC A ADDR_02E5E3: CD E9 15 CMP.W $15E9 ADDR_02E5E6: D0 0E BNE Return02E5F6 CODE_02E5E8: 22 DC A7 01 JSL.L MarioSprInteract CODE_02E5EC: 9C 5C 18 STZ.W $185C CODE_02E5EF: 90 05 BCC Return02E5F6 ADDR_02E5F1: E8 INX ADDR_02E5F2: 8E 5C 18 STX.W $185C ADDR_02E5F5: CA DEX Return02E5F6: 60 RTS ; Return CODE_02E5F7: A0 0B LDY.B #$0B CODE_02E5F9: CC E9 15 CPY.W $15E9 CODE_02E5FC: F0 35 BEQ CODE_02E633 CODE_02E5FE: 98 TYA CODE_02E5FF: 45 13 EOR RAM_FrameCounter CODE_02E601: 29 03 AND.B #$03 CODE_02E603: D0 2E BNE CODE_02E633 CODE_02E605: B9 C8 14 LDA.W $14C8,Y CODE_02E608: C9 08 CMP.B #$08 CODE_02E60A: 90 27 BCC CODE_02E633 CODE_02E60C: B9 DC 15 LDA.W $15DC,Y CODE_02E60F: F0 06 BEQ CODE_02E617 CODE_02E611: 3A DEC A CODE_02E612: CD E9 15 CMP.W $15E9 CODE_02E615: D0 1C BNE CODE_02E633 CODE_02E617: BB TYX CODE_02E618: 22 E5 B6 03 JSL.L GetSpriteClippingB CODE_02E61C: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02E61F: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_02E623: 22 2B B7 03 JSL.L CheckForContact CODE_02E627: A9 00 LDA.B #$00 CODE_02E629: 99 DC 15 STA.W $15DC,Y CODE_02E62C: 90 05 BCC CODE_02E633 CODE_02E62E: 8A TXA CODE_02E62F: 1A INC A CODE_02E630: 99 DC 15 STA.W $15DC,Y CODE_02E633: 88 DEY CODE_02E634: 10 C3 BPL CODE_02E5F9 Return02E636: 60 RTS ; Return CODE_02E637: 20 78 D3 JSR.W GetDrawInfo2 CODE_02E63A: DA PHX CODE_02E63B: A2 03 LDX.B #$03 CODE_02E63D: A5 00 LDA $00 CODE_02E63F: 18 CLC CODE_02E640: 7D 66 E6 ADC.W DATA_02E666,X CODE_02E643: 99 00 03 STA.W OAM_DispX,Y CODE_02E646: A5 01 LDA $01 CODE_02E648: 99 01 03 STA.W OAM_DispY,Y CODE_02E64B: BD 6A E6 LDA.W MovingHoleTiles,X CODE_02E64E: 99 02 03 STA.W OAM_Tile,Y CODE_02E651: BD 6E E6 LDA.W DATA_02E66E,X CODE_02E654: 99 03 03 STA.W OAM_Prop,Y CODE_02E657: C8 INY CODE_02E658: C8 INY CODE_02E659: C8 INY CODE_02E65A: C8 INY CODE_02E65B: CA DEX CODE_02E65C: 10 DF BPL CODE_02E63D CODE_02E65E: FA PLX CODE_02E65F: A9 03 LDA.B #$03 CODE_02E661: A0 02 LDY.B #$02 CODE_02E663: 4C A7 B7 JMP.W CODE_02B7A7 DATA_02E666: .db $00,$08,$18,$20 MovingHoleTiles: .db $EB,$EA,$EA,$EB DATA_02E66E: .db $71,$31,$31,$31 CODE_02E672: 8B PHB ; Wrapper CODE_02E673: 4B PHK CODE_02E674: AB PLB CODE_02E675: 20 7A E6 JSR.W CODE_02E67A CODE_02E678: AB PLB Return02E679: 6B RTL ; Return CODE_02E67A: 20 78 D3 JSR.W GetDrawInfo2 CODE_02E67D: 98 TYA CODE_02E67E: 18 CLC CODE_02E67F: 69 08 ADC.B #$08 CODE_02E681: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_02E684: A8 TAY CODE_02E685: A5 00 LDA $00 CODE_02E687: 38 SEC CODE_02E688: E9 0D SBC.B #$0D CODE_02E68A: 99 00 03 STA.W OAM_DispX,Y CODE_02E68D: 38 SEC CODE_02E68E: E9 08 SBC.B #$08 CODE_02E690: 8D 5E 18 STA.W $185E CODE_02E693: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02E696: A5 01 LDA $01 CODE_02E698: 18 CLC CODE_02E699: 69 02 ADC.B #$02 CODE_02E69B: 99 01 03 STA.W OAM_DispY,Y CODE_02E69E: 8D B6 18 STA.W $18B6 CODE_02E6A1: 18 CLC CODE_02E6A2: 69 40 ADC.B #$40 CODE_02E6A4: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02E6A7: A9 AA LDA.B #$AA CODE_02E6A9: 99 02 03 STA.W OAM_Tile,Y CODE_02E6AC: A9 24 LDA.B #$24 CODE_02E6AE: 99 06 03 STA.W OAM_Tile2,Y CODE_02E6B1: A9 35 LDA.B #$35 CODE_02E6B3: 99 03 03 STA.W OAM_Prop,Y CODE_02E6B6: A9 3A LDA.B #$3A CODE_02E6B8: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02E6BB: A9 01 LDA.B #$01 CODE_02E6BD: A0 02 LDY.B #$02 CODE_02E6BF: 20 A7 B7 JSR.W CODE_02B7A7 CODE_02E6C2: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_02E6C5: D0 24 BNE CODE_02E6EB CODE_02E6C7: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02E6CA: A5 7E LDA $7E CODE_02E6CC: 38 SEC CODE_02E6CD: F9 04 03 SBC.W OAM_Tile2DispX,Y CODE_02E6D0: 18 CLC CODE_02E6D1: 69 0C ADC.B #$0C CODE_02E6D3: C9 18 CMP.B #$18 CODE_02E6D5: B0 14 BCS CODE_02E6EB CODE_02E6D7: A5 80 LDA $80 CODE_02E6D9: 38 SEC CODE_02E6DA: F9 05 03 SBC.W OAM_Tile2DispY,Y CODE_02E6DD: 18 CLC CODE_02E6DE: 69 0C ADC.B #$0C CODE_02E6E0: C9 18 CMP.B #$18 CODE_02E6E2: B0 07 BCS CODE_02E6EB CODE_02E6E4: 9E 1C 15 STZ.W $151C,X CODE_02E6E7: 22 88 F3 00 JSL.L CODE_00F388 CODE_02E6EB: DA PHX CODE_02E6EC: A9 38 LDA.B #$38 CODE_02E6EE: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_02E6F1: A8 TAY CODE_02E6F2: A2 07 LDX.B #$07 CODE_02E6F4: AD 5E 18 LDA.W $185E CODE_02E6F7: 99 00 03 STA.W OAM_DispX,Y CODE_02E6FA: AD B6 18 LDA.W $18B6 CODE_02E6FD: 99 01 03 STA.W OAM_DispY,Y CODE_02E700: 18 CLC CODE_02E701: 69 08 ADC.B #$08 CODE_02E703: 8D B6 18 STA.W $18B6 CODE_02E706: A9 89 LDA.B #$89 CODE_02E708: 99 02 03 STA.W OAM_Tile,Y CODE_02E70B: A9 35 LDA.B #$35 CODE_02E70D: 99 03 03 STA.W OAM_Prop,Y CODE_02E710: C8 INY CODE_02E711: C8 INY CODE_02E712: C8 INY CODE_02E713: C8 INY CODE_02E714: CA DEX CODE_02E715: 10 DD BPL CODE_02E6F4 CODE_02E717: FA PLX CODE_02E718: A9 07 LDA.B #$07 CODE_02E71A: A0 00 LDY.B #$00 CODE_02E71C: 4C A7 B7 JMP.W CODE_02B7A7 SwimJumpFishMain: 8B PHB CODE_02E720: 4B PHK CODE_02E721: AB PLB CODE_02E722: 20 27 E7 JSR.W CODE_02E727 CODE_02E725: AB PLB Return02E726: 6B RTL ; Return CODE_02E727: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02E72B: A5 9D LDA RAM_SpritesLocked CODE_02E72D: D0 1C BNE Return02E74B CODE_02E72F: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02E732: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_02E736: 22 38 91 01 JSL.L CODE_019138 CODE_02E73A: A0 00 LDY.B #$00 CODE_02E73C: 20 3D EB JSR.W CODE_02EB3D CODE_02E73F: B5 C2 LDA RAM_SpriteState,X CODE_02E741: 29 01 AND.B #$01 CODE_02E743: 22 DF 86 00 JSL.L ExecutePtr FishPtrs: 4E E7 .dw CODE_02E74E 88 E7 .dw CODE_02E788 Return02E74B: 60 RTS ; Return DATA_02E74C: .db $14,$EC CODE_02E74E: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02E751: B9 4C E7 LDA.W DATA_02E74C,Y CODE_02E754: 95 B6 STA RAM_SpriteSpeedX,X CODE_02E756: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02E759: BD 40 15 LDA.W $1540,X CODE_02E75C: D0 1D BNE Return02E77B CODE_02E75E: FE 70 15 INC.W $1570,X CODE_02E761: BC 70 15 LDY.W $1570,X CODE_02E764: C0 04 CPY.B #$04 CODE_02E766: F0 14 BEQ CODE_02E77C CODE_02E768: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02E76B: 49 01 EOR.B #$01 CODE_02E76D: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02E770: A9 20 LDA.B #$20 CODE_02E772: C0 03 CPY.B #$03 CODE_02E774: F0 02 BEQ CODE_02E778 CODE_02E776: A9 40 LDA.B #$40 CODE_02E778: 9D 40 15 STA.W $1540,X Return02E77B: 60 RTS ; Return CODE_02E77C: F6 C2 INC RAM_SpriteState,X CODE_02E77E: A9 80 LDA.B #$80 CODE_02E780: 9D 40 15 STA.W $1540,X CODE_02E783: A9 A0 LDA.B #$A0 CODE_02E785: 95 AA STA RAM_SpriteSpeedY,X Return02E787: 60 RTS ; Return CODE_02E788: BD 40 15 LDA.W $1540,X CODE_02E78B: F0 17 BEQ CODE_02E7A4 CODE_02E78D: C9 70 CMP.B #$70 CODE_02E78F: B0 12 BCS Return02E7A3 CODE_02E791: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_02E793: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02E796: B5 AA LDA RAM_SpriteSpeedY,X CODE_02E798: 30 04 BMI CODE_02E79E CODE_02E79A: C9 30 CMP.B #$30 CODE_02E79C: B0 05 BCS Return02E7A3 CODE_02E79E: 18 CLC CODE_02E79F: 69 02 ADC.B #$02 CODE_02E7A1: 95 AA STA RAM_SpriteSpeedY,X Return02E7A3: 60 RTS ; Return CODE_02E7A4: B5 D8 LDA RAM_SpriteYLo,X CODE_02E7A6: 29 F0 AND.B #$F0 CODE_02E7A8: 95 D8 STA RAM_SpriteYLo,X CODE_02E7AA: F6 C2 INC RAM_SpriteState,X CODE_02E7AC: 9E 70 15 STZ.W $1570,X CODE_02E7AF: A9 20 LDA.B #$20 CODE_02E7B1: 9D 40 15 STA.W $1540,X Return02E7B4: 60 RTS ; Return ChucksRockMain: 8B PHB CODE_02E7B6: 4B PHK CODE_02E7B7: AB PLB CODE_02E7B8: 20 BD E7 JSR.W CODE_02E7BD CODE_02E7BB: AB PLB Return02E7BC: 6B RTL ; Return CODE_02E7BD: A5 64 LDA $64 CODE_02E7BF: 48 PHA CODE_02E7C0: BD 40 15 LDA.W $1540,X CODE_02E7C3: F0 04 BEQ CODE_02E7C9 CODE_02E7C5: A9 10 LDA.B #$10 CODE_02E7C7: 85 64 STA $64 CODE_02E7C9: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02E7CD: 68 PLA CODE_02E7CE: 85 64 STA $64 CODE_02E7D0: A5 9D LDA RAM_SpritesLocked CODE_02E7D2: D0 58 BNE Return02E82C CODE_02E7D4: BD 40 15 LDA.W $1540,X CODE_02E7D7: C9 08 CMP.B #$08 CODE_02E7D9: B0 51 BCS Return02E82C CODE_02E7DB: A0 00 LDY.B #$00 CODE_02E7DD: A5 13 LDA RAM_FrameCounter CODE_02E7DF: 4A LSR CODE_02E7E0: 20 3D EB JSR.W CODE_02EB3D CODE_02E7E3: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02E7E6: 22 2A 80 01 JSL.L UpdateSpritePos CODE_02E7EA: BD 40 15 LDA.W $1540,X CODE_02E7ED: D0 39 BNE CODE_02E828 CODE_02E7EF: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not touching object CODE_02E7F2: 29 03 AND.B #$03 ; | CODE_02E7F4: F0 07 BEQ CODE_02E7FD ; / ADDR_02E7F6: B5 B6 LDA RAM_SpriteSpeedX,X ADDR_02E7F8: 49 FF EOR.B #$FF ADDR_02E7FA: 1A INC A ADDR_02E7FB: 95 B6 STA RAM_SpriteSpeedX,X CODE_02E7FD: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_02E800: 29 08 AND.B #$08 CODE_02E802: F0 04 BEQ CODE_02E808 CODE_02E804: A9 10 LDA.B #$10 CODE_02E806: 95 AA STA RAM_SpriteSpeedY,X CODE_02E808: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02E80B: 29 04 AND.B #$04 ; | CODE_02E80D: F0 19 BEQ CODE_02E828 ; / CODE_02E80F: B5 AA LDA RAM_SpriteSpeedY,X CODE_02E811: C9 38 CMP.B #$38 CODE_02E813: A9 E0 LDA.B #$E0 CODE_02E815: 90 02 BCC CODE_02E819 CODE_02E817: A9 D0 LDA.B #$D0 CODE_02E819: 95 AA STA RAM_SpriteSpeedY,X CODE_02E81B: A9 08 LDA.B #$08 CODE_02E81D: BC B8 15 LDY.W $15B8,X CODE_02E820: F0 06 BEQ CODE_02E828 CODE_02E822: 10 02 BPL CODE_02E826 CODE_02E824: A9 F8 LDA.B #$F8 CODE_02E826: 95 B6 STA RAM_SpriteSpeedX,X CODE_02E828: 22 3A 80 01 JSL.L SprSpr+MarioSprRts Return02E82C: 60 RTS ; Return GrowingPipeMain: 8B PHB CODE_02E82E: 4B PHK CODE_02E82F: AB PLB CODE_02E830: 20 45 E8 JSR.W CODE_02E845 CODE_02E833: AB PLB Return02E834: 6B RTL ; Return DATA_02E835: .db $00,$F0,$00,$10 DATA_02E839: .db $20,$40,$20,$40 GrowingPipeTiles1: .db $00,$14,$00,$02 GrowingPipeTiles2: .db $00,$15,$00,$02 CODE_02E845: BD 34 15 LDA.W $1534,X CODE_02E848: 30 28 BMI CODE_02E872 CODE_02E84A: B5 D8 LDA RAM_SpriteYLo,X CODE_02E84C: 48 PHA CODE_02E84D: 38 SEC CODE_02E84E: FD 34 15 SBC.W $1534,X CODE_02E851: 95 D8 STA RAM_SpriteYLo,X CODE_02E853: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02E856: 48 PHA CODE_02E857: E9 00 SBC.B #$00 CODE_02E859: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02E85C: A0 03 LDY.B #$03 CODE_02E85E: 20 BA E8 JSR.W GrowingPipeGfx CODE_02E861: 68 PLA CODE_02E862: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02E865: 68 PLA CODE_02E866: 95 D8 STA RAM_SpriteYLo,X CODE_02E868: BD 34 15 LDA.W $1534,X CODE_02E86B: 38 SEC CODE_02E86C: E9 10 SBC.B #$10 CODE_02E86E: 9D 34 15 STA.W $1534,X Return02E871: 60 RTS ; Return CODE_02E872: 20 02 E9 JSR.W CODE_02E902 CODE_02E875: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02E878: A5 9D LDA RAM_SpritesLocked CODE_02E87A: 1D A0 15 ORA.W RAM_OffscreenHorz,X CODE_02E87D: D0 36 BNE CODE_02E8B5 CODE_02E87F: 20 FA D4 JSR.W CODE_02D4FA CODE_02E882: A5 0F LDA $0F CODE_02E884: 18 CLC CODE_02E885: 69 50 ADC.B #$50 CODE_02E887: C9 A0 CMP.B #$A0 CODE_02E889: B0 2A BCS CODE_02E8B5 CODE_02E88B: B5 C2 LDA RAM_SpriteState,X CODE_02E88D: 29 03 AND.B #$03 CODE_02E88F: A8 TAY CODE_02E890: FE 70 15 INC.W $1570,X CODE_02E893: BD 70 15 LDA.W $1570,X CODE_02E896: D9 39 E8 CMP.W DATA_02E839,Y CODE_02E899: D0 07 BNE CODE_02E8A2 CODE_02E89B: 9E 70 15 STZ.W $1570,X CODE_02E89E: F6 C2 INC RAM_SpriteState,X CODE_02E8A0: 80 13 BRA CODE_02E8B5 CODE_02E8A2: B9 35 E8 LDA.W DATA_02E835,Y CODE_02E8A5: 95 AA STA RAM_SpriteSpeedY,X CODE_02E8A7: F0 09 BEQ CODE_02E8B2 CODE_02E8A9: B5 D8 LDA RAM_SpriteYLo,X CODE_02E8AB: 29 0F AND.B #$0F CODE_02E8AD: D0 03 BNE CODE_02E8B2 CODE_02E8AF: 20 BA E8 JSR.W GrowingPipeGfx CODE_02E8B2: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02E8B5: 22 4F B4 01 JSL.L InvisBlkMainRt Return02E8B9: 60 RTS ; Return GrowingPipeGfx: B9 3D E8 LDA.W GrowingPipeTiles1,Y CODE_02E8BD: 8D 5E 18 STA.W $185E CODE_02E8C0: B9 41 E8 LDA.W GrowingPipeTiles2,Y CODE_02E8C3: 8D B6 18 STA.W $18B6 CODE_02E8C6: AD 5E 18 LDA.W $185E CODE_02E8C9: 85 9C STA RAM_BlockBlock ; $9C = tile to generate CODE_02E8CB: B5 E4 LDA RAM_SpriteXLo,X ; \ $9A = Sprite X position CODE_02E8CD: 85 9A STA RAM_BlockYLo ; | for block creation CODE_02E8CF: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_02E8D2: 85 9B STA RAM_BlockYHi ; / CODE_02E8D4: B5 D8 LDA RAM_SpriteYLo,X ; \ $98 = Sprite Y position CODE_02E8D6: 85 98 STA RAM_BlockXLo ; | for block creation CODE_02E8D8: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_02E8DB: 85 99 STA RAM_BlockXHi ; / CODE_02E8DD: 22 B0 BE 00 JSL.L GenerateTile ; Generate the tile CODE_02E8E1: AD B6 18 LDA.W $18B6 CODE_02E8E4: 85 9C STA RAM_BlockBlock ; $9C = tile to generate CODE_02E8E6: B5 E4 LDA RAM_SpriteXLo,X ; \ $9A = Sprite X position + #$10 CODE_02E8E8: 18 CLC ; | for block creation CODE_02E8E9: 69 10 ADC.B #$10 ; | CODE_02E8EB: 85 9A STA RAM_BlockYLo ; | CODE_02E8ED: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_02E8F0: 69 00 ADC.B #$00 ; | CODE_02E8F2: 85 9B STA RAM_BlockYHi ; / CODE_02E8F4: B5 D8 LDA RAM_SpriteYLo,X ; \ $98 = Sprite Y position CODE_02E8F6: 85 98 STA RAM_BlockXLo ; | for block creation CODE_02E8F8: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_02E8FB: 85 99 STA RAM_BlockXHi ; / CODE_02E8FD: 22 B0 BE 00 JSL.L GenerateTile ; Generate the tile Return02E901: 60 RTS ; Return CODE_02E902: 20 78 D3 JSR.W GetDrawInfo2 CODE_02E905: A5 00 LDA $00 CODE_02E907: 99 00 03 STA.W OAM_DispX,Y CODE_02E90A: 18 CLC CODE_02E90B: 69 10 ADC.B #$10 CODE_02E90D: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02E910: A5 01 LDA $01 CODE_02E912: 3A DEC A CODE_02E913: 99 01 03 STA.W OAM_DispY,Y CODE_02E916: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02E919: A9 A4 LDA.B #$A4 CODE_02E91B: 99 02 03 STA.W OAM_Tile,Y CODE_02E91E: A9 A6 LDA.B #$A6 CODE_02E920: 99 06 03 STA.W OAM_Tile2,Y CODE_02E923: BD F6 15 LDA.W RAM_SpritePal,X CODE_02E926: 05 64 ORA $64 CODE_02E928: 99 03 03 STA.W OAM_Prop,Y CODE_02E92B: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02E92E: A9 01 LDA.B #$01 CODE_02E930: A0 02 LDY.B #$02 CODE_02E932: 4C A7 B7 JMP.W CODE_02B7A7 PipeLakituMain: 8B PHB CODE_02E936: 4B PHK CODE_02E937: AB PLB CODE_02E938: 20 3D E9 JSR.W CODE_02E93D CODE_02E93B: AB PLB Return02E93C: 6B RTL ; Return CODE_02E93D: BD C8 14 LDA.W $14C8,X CODE_02E940: C9 02 CMP.B #$02 CODE_02E942: D0 08 BNE CODE_02E94C CODE_02E944: A9 02 LDA.B #$02 CODE_02E946: 9D 02 16 STA.W $1602,X CODE_02E949: 4C EC E9 JMP.W CODE_02E9EC CODE_02E94C: 20 EC E9 JSR.W CODE_02E9EC CODE_02E94F: A5 9D LDA RAM_SpritesLocked CODE_02E951: D0 32 BNE Return02E985 CODE_02E953: 9E 02 16 STZ.W $1602,X CODE_02E956: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02E959: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_02E95D: B5 C2 LDA RAM_SpriteState,X CODE_02E95F: 22 DF 86 00 JSL.L ExecutePtr PipeLakituPtrs: 6D E9 .dw CODE_02E96D 86 E9 .dw CODE_02E986 B4 E9 .dw CODE_02E9B4 BD E9 .dw CODE_02E9BD D5 E9 .dw CODE_02E9D5 CODE_02E96D: BD 40 15 LDA.W $1540,X CODE_02E970: D0 13 BNE Return02E985 CODE_02E972: 20 FA D4 JSR.W CODE_02D4FA CODE_02E975: A5 0F LDA $0F CODE_02E977: 18 CLC CODE_02E978: 69 13 ADC.B #$13 CODE_02E97A: C9 36 CMP.B #$36 CODE_02E97C: 90 07 BCC Return02E985 CODE_02E97E: A9 90 LDA.B #$90 CODE_02E980: 9D 40 15 STA.W $1540,X CODE_02E983: F6 C2 INC RAM_SpriteState,X Return02E985: 60 RTS ; Return CODE_02E986: BD 40 15 LDA.W $1540,X CODE_02E989: D0 0B BNE CODE_02E996 CODE_02E98B: 20 FA D4 JSR.W CODE_02D4FA CODE_02E98E: 98 TYA CODE_02E98F: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02E992: A9 0C LDA.B #$0C CODE_02E994: 80 EA BRA CODE_02E980 CODE_02E996: C9 7C CMP.B #$7C CODE_02E998: 90 08 BCC CODE_02E9A2 CODE_02E99A: A9 F8 LDA.B #$F8 CODE_02E99C: 95 AA STA RAM_SpriteSpeedY,X CODE_02E99E: 20 94 D2 JSR.W UpdateYPosNoGrvty Return02E9A1: 60 RTS ; Return CODE_02E9A2: C9 50 CMP.B #$50 CODE_02E9A4: B0 0D BCS Return02E9B3 CODE_02E9A6: A0 00 LDY.B #$00 CODE_02E9A8: A5 13 LDA RAM_FrameCounter CODE_02E9AA: 29 20 AND.B #$20 CODE_02E9AC: F0 01 BEQ CODE_02E9AF CODE_02E9AE: C8 INY CODE_02E9AF: 98 TYA CODE_02E9B0: 9D 7C 15 STA.W RAM_SpriteDir,X Return02E9B3: 60 RTS ; Return CODE_02E9B4: BD 40 15 LDA.W $1540,X CODE_02E9B7: D0 E1 BNE CODE_02E99A CODE_02E9B9: A9 80 LDA.B #$80 CODE_02E9BB: 80 C3 BRA CODE_02E980 CODE_02E9BD: BD 40 15 LDA.W $1540,X CODE_02E9C0: D0 04 BNE CODE_02E9C6 CODE_02E9C2: A9 20 LDA.B #$20 CODE_02E9C4: 80 BA BRA CODE_02E980 CODE_02E9C6: C9 40 CMP.B #$40 CODE_02E9C8: D0 05 BNE CODE_02E9CF CODE_02E9CA: 22 19 EA 01 JSL.L CODE_01EA19 Return02E9CE: 60 RTS ; Return CODE_02E9CF: B0 03 BCS Return02E9D4 CODE_02E9D1: FE 02 16 INC.W $1602,X Return02E9D4: 60 RTS ; Return CODE_02E9D5: BD 40 15 LDA.W $1540,X CODE_02E9D8: D0 08 BNE CODE_02E9E2 CODE_02E9DA: A9 50 LDA.B #$50 CODE_02E9DC: 20 80 E9 JSR.W CODE_02E980 CODE_02E9DF: 74 C2 STZ RAM_SpriteState,X Return02E9E1: 60 RTS ; Return CODE_02E9E2: A9 08 LDA.B #$08 CODE_02E9E4: 80 B6 BRA CODE_02E99C PipeLakitu1: .db $EC,$A8,$CE PipeLakitu2: .db $EE,$EE,$EE CODE_02E9EC: 20 78 D3 JSR.W GetDrawInfo2 CODE_02E9EF: A5 00 LDA $00 CODE_02E9F1: 99 00 03 STA.W OAM_DispX,Y CODE_02E9F4: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02E9F7: A5 01 LDA $01 CODE_02E9F9: 99 01 03 STA.W OAM_DispY,Y CODE_02E9FC: 18 CLC CODE_02E9FD: 69 10 ADC.B #$10 CODE_02E9FF: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02EA02: DA PHX CODE_02EA03: BD 02 16 LDA.W $1602,X CODE_02EA06: AA TAX CODE_02EA07: BD E6 E9 LDA.W PipeLakitu1,X CODE_02EA0A: 99 02 03 STA.W OAM_Tile,Y CODE_02EA0D: BD E9 E9 LDA.W PipeLakitu2,X CODE_02EA10: 99 06 03 STA.W OAM_Tile2,Y CODE_02EA13: FA PLX CODE_02EA14: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02EA17: 4A LSR CODE_02EA18: 6A ROR CODE_02EA19: 4A LSR CODE_02EA1A: 49 5B EOR.B #$5B CODE_02EA1C: 99 03 03 STA.W OAM_Prop,Y CODE_02EA1F: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02EA22: 4C 2E E9 JMP.W CODE_02E92E CODE_02EA25: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02EA28: B9 02 03 LDA.W OAM_Tile,Y CODE_02EA2B: 85 00 STA $00 CODE_02EA2D: 64 01 STZ $01 CODE_02EA2F: A9 06 LDA.B #$06 CODE_02EA31: 99 02 03 STA.W OAM_Tile,Y CODE_02EA34: C2 20 REP #$20 ; Accum (16 bit) CODE_02EA36: A5 00 LDA $00 CODE_02EA38: 0A ASL CODE_02EA39: 0A ASL CODE_02EA3A: 0A ASL CODE_02EA3B: 0A ASL CODE_02EA3C: 0A ASL CODE_02EA3D: 18 CLC CODE_02EA3E: 69 00 85 ADC.W #$8500 CODE_02EA41: 8D 8B 0D STA.W $0D8B CODE_02EA44: 18 CLC CODE_02EA45: 69 00 02 ADC.W #$0200 CODE_02EA48: 8D 95 0D STA.W $0D95 CODE_02EA4B: E2 20 SEP #$20 ; Accum (8 bit) Return02EA4D: 6B RTL ; Return CODE_02EA4E: A0 0B LDY.B #$0B CODE_02EA50: 98 TYA CODE_02EA51: DD 0E 16 CMP.W $160E,X CODE_02EA54: F0 30 BEQ CODE_02EA86 CODE_02EA56: 45 13 EOR RAM_FrameCounter CODE_02EA58: 4A LSR CODE_02EA59: B0 2B BCS CODE_02EA86 CODE_02EA5B: CC E9 15 CPY.W $15E9 CODE_02EA5E: F0 26 BEQ CODE_02EA86 CODE_02EA60: 8C 95 16 STY.W $1695 CODE_02EA63: B9 C8 14 LDA.W $14C8,Y CODE_02EA66: C9 08 CMP.B #$08 CODE_02EA68: 90 1C BCC CODE_02EA86 CODE_02EA6A: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_02EA6D: C9 70 CMP.B #$70 CODE_02EA6F: F0 15 BEQ CODE_02EA86 CODE_02EA71: C9 0E CMP.B #$0E CODE_02EA73: F0 11 BEQ CODE_02EA86 CODE_02EA75: C9 1D CMP.B #$1D CODE_02EA77: 90 0A BCC CODE_02EA83 CODE_02EA79: B9 86 16 LDA.W RAM_Tweaker1686,Y CODE_02EA7C: 29 03 AND.B #$03 CODE_02EA7E: 0D E8 18 ORA.W $18E8 CODE_02EA81: D0 03 BNE CODE_02EA86 CODE_02EA83: 20 8A EA JSR.W CODE_02EA8A CODE_02EA86: 88 DEY CODE_02EA87: 10 C7 BPL CODE_02EA50 Return02EA89: 6B RTL ; Return CODE_02EA8A: DA PHX CODE_02EA8B: BB TYX CODE_02EA8C: 22 E5 B6 03 JSL.L GetSpriteClippingB CODE_02EA90: FA PLX CODE_02EA91: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_02EA95: 22 2B B7 03 JSL.L CheckForContact CODE_02EA99: 90 32 BCC Return02EACD CODE_02EA9B: BD 3E 16 LDA.W $163E,X CODE_02EA9E: F0 09 BEQ CODE_02EAA9 CODE_02EAA0: 22 23 C0 03 JSL.L CODE_03C023 CODE_02EAA4: AD E8 18 LDA.W $18E8 CODE_02EAA7: D0 25 BNE ADDR_02EACE CODE_02EAA9: A9 37 LDA.B #$37 CODE_02EAAB: 9D 3E 16 STA.W $163E,X CODE_02EAAE: AC 95 16 LDY.W $1695 CODE_02EAB1: 99 32 16 STA.W RAM_SprBehindScrn,Y CODE_02EAB4: AD 95 16 LDA.W $1695 CODE_02EAB7: 9D 0E 16 STA.W $160E,X CODE_02EABA: 9E 7C 15 STZ.W RAM_SpriteDir,X CODE_02EABD: B5 E4 LDA RAM_SpriteXLo,X CODE_02EABF: D9 E4 00 CMP.W RAM_SpriteXLo,Y CODE_02EAC2: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02EAC5: F9 E0 14 SBC.W RAM_SpriteXHi,Y CODE_02EAC8: 90 03 BCC Return02EACD CODE_02EACA: FE 7C 15 INC.W RAM_SpriteDir,X Return02EACD: 60 RTS ; Return ADDR_02EACE: 9E 3E 16 STZ.W $163E,X Return02EAD1: 60 RTS ; Return WarpBlocksMain: 8B PHB CODE_02EAD3: 4B PHK CODE_02EAD4: AB PLB CODE_02EAD5: 20 DA EA JSR.W CODE_02EADA CODE_02EAD8: AB PLB Return02EAD9: 6B RTL ; Return CODE_02EADA: 22 DC A7 01 JSL.L MarioSprInteract CODE_02EADE: 90 10 BCC Return02EAF0 ADDR_02EAE0: 64 7B STZ RAM_MarioSpeedX ADDR_02EAE2: B5 E4 LDA RAM_SpriteXLo,X ADDR_02EAE4: 18 CLC ADDR_02EAE5: 69 0A ADC.B #$0A ADDR_02EAE7: 85 94 STA RAM_MarioXPos ADDR_02EAE9: BD E0 14 LDA.W RAM_SpriteXHi,X ADDR_02EAEC: 69 00 ADC.B #$00 ADDR_02EAEE: 85 95 STA RAM_MarioXPosHi Return02EAF0: 60 RTS ; Return Return02EAF1: 60 RTS CODE_02EAF2: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_02EAF6: 30 2E BMI Return02EB26 ; / CODE_02EAF8: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02EAFA: 99 C8 14 STA.W $14C8,Y ; / CODE_02EAFD: A9 77 LDA.B #$77 CODE_02EAFF: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_02EB02: B5 E4 LDA RAM_SpriteXLo,X CODE_02EB04: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_02EB07: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02EB0A: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_02EB0D: B5 D8 LDA RAM_SpriteYLo,X CODE_02EB0F: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_02EB12: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02EB15: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_02EB18: BB TYX CODE_02EB19: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02EB1D: A9 30 LDA.B #$30 CODE_02EB1F: 9D 4C 15 STA.W RAM_DisableInter,X CODE_02EB22: A9 D0 LDA.B #$D0 CODE_02EB24: 95 AA STA RAM_SpriteSpeedY,X Return02EB26: 6B RTL ; Return SuperKoopaMain: 8B PHB CODE_02EB28: 4B PHK CODE_02EB29: AB PLB CODE_02EB2A: 20 31 EB JSR.W CODE_02EB31 CODE_02EB2D: AB PLB Return02EB2E: 6B RTL ; Return DATA_02EB2F: .db $18,$E8 CODE_02EB31: 20 DE EC JSR.W CODE_02ECDE CODE_02EB34: BD C8 14 LDA.W $14C8,X CODE_02EB37: C9 02 CMP.B #$02 CODE_02EB39: D0 0E BNE CODE_02EB49 CODE_02EB3B: A0 04 LDY.B #$04 CODE_02EB3D: A5 14 LDA RAM_FrameCounterB CODE_02EB3F: 29 04 AND.B #$04 CODE_02EB41: F0 01 BEQ CODE_02EB44 CODE_02EB43: C8 INY CODE_02EB44: 98 TYA CODE_02EB45: 9D 02 16 STA.W $1602,X Return02EB48: 60 RTS ; Return CODE_02EB49: A5 9D LDA RAM_SpritesLocked CODE_02EB4B: D0 2F BNE Return02EB7C CODE_02EB4D: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02EB50: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_02EB54: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02EB57: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02EB5A: B5 9E LDA RAM_SpriteNum,X CODE_02EB5C: C9 73 CMP.B #$73 CODE_02EB5E: F0 1D BEQ CODE_02EB7D CODE_02EB60: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02EB63: B9 2F EB LDA.W DATA_02EB2F,Y CODE_02EB66: 95 B6 STA RAM_SpriteSpeedX,X CODE_02EB68: 20 F8 EB JSR.W CODE_02EBF8 CODE_02EB6B: A5 13 LDA RAM_FrameCounter CODE_02EB6D: 29 01 AND.B #$01 CODE_02EB6F: D0 0B BNE Return02EB7C CODE_02EB71: B5 AA LDA RAM_SpriteSpeedY,X CODE_02EB73: C9 F0 CMP.B #$F0 CODE_02EB75: 30 05 BMI Return02EB7C CODE_02EB77: 18 CLC CODE_02EB78: 69 FF ADC.B #$FF CODE_02EB7A: 95 AA STA RAM_SpriteSpeedY,X Return02EB7C: 60 RTS ; Return CODE_02EB7D: B5 C2 LDA RAM_SpriteState,X CODE_02EB7F: 22 DF 86 00 JSL.L ExecutePtr SuperKoopaPtrs: 8D EB .dw CODE_02EB8D D1 EB .dw CODE_02EBD1 E7 EB .dw CODE_02EBE7 DATA_02EB89: .db $18,$E8 DATA_02EB8B: .db $01,$FF CODE_02EB8D: A5 13 LDA RAM_FrameCounter CODE_02EB8F: 29 00 AND.B #$00 CODE_02EB91: 85 01 STA $01 CODE_02EB93: 64 00 STZ $00 CODE_02EB95: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02EB98: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02EB9A: D9 89 EB CMP.W DATA_02EB89,Y CODE_02EB9D: F0 0C BEQ CODE_02EBAB CODE_02EB9F: 18 CLC CODE_02EBA0: 79 8B EB ADC.W DATA_02EB8B,Y CODE_02EBA3: A4 01 LDY $01 CODE_02EBA5: D0 02 BNE CODE_02EBA9 CODE_02EBA7: 95 B6 STA RAM_SpriteSpeedX,X CODE_02EBA9: E6 00 INC $00 CODE_02EBAB: FE 1C 15 INC.W $151C,X CODE_02EBAE: BD 1C 15 LDA.W $151C,X CODE_02EBB1: C9 30 CMP.B #$30 CODE_02EBB3: F0 15 BEQ CODE_02EBCA CODE_02EBB5: A0 00 LDY.B #$00 CODE_02EBB7: A5 13 LDA RAM_FrameCounter CODE_02EBB9: 29 04 AND.B #$04 CODE_02EBBB: F0 01 BEQ CODE_02EBBE CODE_02EBBD: C8 INY CODE_02EBBE: 98 TYA CODE_02EBBF: A4 00 LDY $00 CODE_02EBC1: D0 03 BNE CODE_02EBC6 CODE_02EBC3: 18 CLC CODE_02EBC4: 69 06 ADC.B #$06 CODE_02EBC6: 9D 02 16 STA.W $1602,X Return02EBC9: 60 RTS ; Return CODE_02EBCA: F6 C2 INC RAM_SpriteState,X CODE_02EBCC: A9 D0 LDA.B #$D0 CODE_02EBCE: 95 AA STA RAM_SpriteSpeedY,X Return02EBD0: 60 RTS ; Return CODE_02EBD1: B5 AA LDA RAM_SpriteSpeedY,X CODE_02EBD3: 18 CLC CODE_02EBD4: 69 02 ADC.B #$02 CODE_02EBD6: 95 AA STA RAM_SpriteSpeedY,X CODE_02EBD8: C9 14 CMP.B #$14 CODE_02EBDA: 30 02 BMI CODE_02EBDE CODE_02EBDC: F6 C2 INC RAM_SpriteState,X CODE_02EBDE: 64 00 STZ $00 CODE_02EBE0: 20 B5 EB JSR.W CODE_02EBB5 CODE_02EBE3: FE 02 16 INC.W $1602,X Return02EBE6: 60 RTS ; Return CODE_02EBE7: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02EBEA: B9 89 EB LDA.W DATA_02EB89,Y CODE_02EBED: 95 B6 STA RAM_SpriteSpeedX,X CODE_02EBEF: B5 AA LDA RAM_SpriteSpeedY,X CODE_02EBF1: F0 05 BEQ CODE_02EBF8 CODE_02EBF3: 18 CLC CODE_02EBF4: 69 FF ADC.B #$FF CODE_02EBF6: 95 AA STA RAM_SpriteSpeedY,X CODE_02EBF8: A0 02 LDY.B #$02 CODE_02EBFA: A5 13 LDA RAM_FrameCounter CODE_02EBFC: 29 04 AND.B #$04 CODE_02EBFE: F0 01 BEQ CODE_02EC01 CODE_02EC00: C8 INY CODE_02EC01: 98 TYA CODE_02EC02: 9D 02 16 STA.W $1602,X Return02EC05: 60 RTS ; Return DATA_02EC06: .db $08,$08,$10,$00,$08,$08,$10,$00 .db $08,$10,$10,$00,$08,$10,$10,$00 .db $09,$09,$00,$00,$09,$09,$00,$00 .db $08,$10,$00,$00,$08,$10,$00,$00 .db $08,$10,$00,$00,$00,$00,$F8,$00 .db $00,$00,$F8,$00,$00,$F8,$F8,$00 .db $00,$F8,$F8,$00,$FF,$FF,$00,$00 .db $FF,$FF,$00,$00,$00,$F8,$00,$00 .db $00,$F8,$00,$00,$00,$F8,$00,$00 DATA_02EC4E: .db $00,$08,$08,$00,$00,$08,$08,$00 .db $03,$03,$08,$00,$03,$03,$08,$00 .db $FF,$07,$00,$00,$FF,$07,$00,$00 .db $FD,$FD,$00,$00,$FD,$FD,$00,$00 .db $FD,$FD,$00,$00 SuperKoopaTiles: .db $C8,$D8,$D0,$E0,$C9,$D9,$C0,$E2 .db $E4,$E5,$F2,$E0,$F4,$F5,$F2,$E0 .db $DA,$CA,$E0,$CF,$DB,$CB,$E0,$CF .db $E4,$E5,$E0,$CF,$F4,$F5,$E2,$CF .db $E4,$E5,$E2,$CF DATA_02EC96: .db $03,$03,$03,$00,$03,$03,$03,$00 .db $03,$03,$01,$01,$03,$03,$01,$01 .db $83,$83,$80,$00,$83,$83,$80,$00 .db $03,$03,$00,$01,$03,$03,$00,$01 .db $03,$03,$00,$01 DATA_02ECBA: .db $00,$00,$00,$02,$00,$00,$00,$02 .db $00,$00,$00,$02,$00,$00,$00,$02 .db $00,$00,$02,$00,$00,$00,$02,$00 .db $00,$00,$02,$00,$00,$00,$02,$00 .db $00,$00,$02,$00 CODE_02ECDE: 20 78 D3 JSR.W GetDrawInfo2 CODE_02ECE1: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02ECE4: 85 02 STA $02 CODE_02ECE6: BD F6 15 LDA.W RAM_SpritePal,X CODE_02ECE9: 29 0E AND.B #$0E CODE_02ECEB: 85 05 STA $05 CODE_02ECED: BD 02 16 LDA.W $1602,X CODE_02ECF0: 0A ASL CODE_02ECF1: 0A ASL CODE_02ECF2: 85 03 STA $03 CODE_02ECF4: DA PHX CODE_02ECF5: 64 04 STZ $04 CODE_02ECF7: A5 03 LDA $03 CODE_02ECF9: 18 CLC CODE_02ECFA: 65 04 ADC $04 CODE_02ECFC: AA TAX CODE_02ECFD: A5 01 LDA $01 CODE_02ECFF: 18 CLC CODE_02ED00: 7D 4E EC ADC.W DATA_02EC4E,X CODE_02ED03: 99 01 03 STA.W OAM_DispY,Y CODE_02ED06: BD 72 EC LDA.W SuperKoopaTiles,X CODE_02ED09: 99 02 03 STA.W OAM_Tile,Y CODE_02ED0C: 5A PHY CODE_02ED0D: 98 TYA CODE_02ED0E: 4A LSR CODE_02ED0F: 4A LSR CODE_02ED10: A8 TAY CODE_02ED11: BD BA EC LDA.W DATA_02ECBA,X CODE_02ED14: 99 60 04 STA.W OAM_TileSize,Y CODE_02ED17: 7A PLY CODE_02ED18: A5 02 LDA $02 CODE_02ED1A: 4A LSR CODE_02ED1B: BD 96 EC LDA.W DATA_02EC96,X CODE_02ED1E: 29 02 AND.B #$02 CODE_02ED20: F0 2B BEQ CODE_02ED4D CODE_02ED22: 08 PHP CODE_02ED23: DA PHX CODE_02ED24: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02ED27: BD 34 15 LDA.W $1534,X CODE_02ED2A: F0 0F BEQ CODE_02ED3B CODE_02ED2C: A5 14 LDA RAM_FrameCounterB CODE_02ED2E: 4A LSR CODE_02ED2F: 29 01 AND.B #$01 CODE_02ED31: 5A PHY CODE_02ED32: A8 TAY CODE_02ED33: B9 39 ED LDA.W DATA_02ED39,Y CODE_02ED36: 7A PLY CODE_02ED37: 80 0B BRA CODE_02ED44 DATA_02ED39: .db $10,$0A CODE_02ED3B: B5 9E LDA RAM_SpriteNum,X CODE_02ED3D: C9 72 CMP.B #$72 CODE_02ED3F: A9 08 LDA.B #$08 CODE_02ED41: 90 01 BCC CODE_02ED44 CODE_02ED43: 4A LSR CODE_02ED44: FA PLX CODE_02ED45: 28 PLP CODE_02ED46: 1D 96 EC ORA.W DATA_02EC96,X CODE_02ED49: 29 FD AND.B #$FD CODE_02ED4B: 80 05 BRA CODE_02ED52 CODE_02ED4D: BD 96 EC LDA.W DATA_02EC96,X CODE_02ED50: 05 05 ORA $05 CODE_02ED52: 05 64 ORA $64 CODE_02ED54: B0 09 BCS CODE_02ED5F CODE_02ED56: 48 PHA CODE_02ED57: 8A TXA CODE_02ED58: 18 CLC CODE_02ED59: 69 24 ADC.B #$24 CODE_02ED5B: AA TAX CODE_02ED5C: 68 PLA CODE_02ED5D: 09 40 ORA.B #$40 CODE_02ED5F: 99 03 03 STA.W OAM_Prop,Y CODE_02ED62: A5 00 LDA $00 CODE_02ED64: 18 CLC CODE_02ED65: 7D 06 EC ADC.W DATA_02EC06,X CODE_02ED68: 99 00 03 STA.W OAM_DispX,Y CODE_02ED6B: C8 INY CODE_02ED6C: C8 INY CODE_02ED6D: C8 INY CODE_02ED6E: C8 INY CODE_02ED6F: E6 04 INC $04 CODE_02ED71: A5 04 LDA $04 CODE_02ED73: C9 04 CMP.B #$04 CODE_02ED75: D0 80 BNE CODE_02ECF7 CODE_02ED77: FA PLX CODE_02ED78: A0 FF LDY.B #$FF CODE_02ED7A: A9 03 LDA.B #$03 CODE_02ED7C: 4C A7 B7 JMP.W CODE_02B7A7 DATA_02ED7F: .db $10,$20,$30 FloatingSkullInit: 8B PHB CODE_02ED83: 4B PHK CODE_02ED84: AB PLB CODE_02ED85: 20 8A ED JSR.W CODE_02ED8A CODE_02ED88: AB PLB Return02ED89: 6B RTL ; Return CODE_02ED8A: 9C BC 18 STZ.W $18BC CODE_02ED8D: F6 C2 INC RAM_SpriteState,X CODE_02ED8F: A9 02 LDA.B #$02 CODE_02ED91: 85 00 STA $00 CODE_02ED93: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Branch if no free slots CODE_02ED97: 30 32 BMI CODE_02EDCB ; / CODE_02ED99: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02ED9B: 99 C8 14 STA.W $14C8,Y ; / CODE_02ED9E: A9 61 LDA.B #$61 CODE_02EDA0: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_02EDA3: B5 D8 LDA RAM_SpriteYLo,X CODE_02EDA5: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_02EDA8: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02EDAB: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_02EDAE: A6 00 LDX $00 CODE_02EDB0: BD 7F ED LDA.W DATA_02ED7F,X CODE_02EDB3: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02EDB6: 18 CLC CODE_02EDB7: 75 E4 ADC RAM_SpriteXLo,X CODE_02EDB9: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_02EDBC: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02EDBF: 69 00 ADC.B #$00 CODE_02EDC1: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_02EDC4: DA PHX CODE_02EDC5: BB TYX CODE_02EDC6: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02EDCA: FA PLX CODE_02EDCB: C6 00 DEC $00 CODE_02EDCD: 10 C4 BPL CODE_02ED93 Return02EDCF: 60 RTS ; Return FloatingSkullMain: 8B PHB CODE_02EDD1: 4B PHK CODE_02EDD2: AB PLB CODE_02EDD3: 20 D8 ED JSR.W CODE_02EDD8 CODE_02EDD6: AB PLB Return02EDD7: 6B RTL ; Return CODE_02EDD8: B5 C2 LDA RAM_SpriteState,X CODE_02EDDA: F0 1A BEQ CODE_02EDF6 ;IF SKULLS DIEING CODE_02EDDC: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02EDDF: BD C8 14 LDA.W $14C8,X CODE_02EDE2: D0 12 BNE CODE_02EDF6 ;IF LIVING, DO BELOW CODE_02EDE4: A0 09 LDY.B #$09 CODE_02EDE6: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_02EDE9: C9 61 CMP.B #$61 ;SEARCH OUT OTHERS CODE_02EDEB: D0 05 BNE CODE_02EDF2 CODE_02EDED: A9 00 LDA.B #$00 ;ERASE THEM TOO CODE_02EDEF: 99 C8 14 STA.W $14C8,Y CODE_02EDF2: 88 DEY CODE_02EDF3: 10 F1 BPL CODE_02EDE6 Return02EDF5: 60 RTS ; Return CODE_02EDF6: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_02EDFA: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02EDFD: A5 14 LDA RAM_FrameCounterB CODE_02EDFF: 4A LSR CODE_02EE00: 4A LSR CODE_02EE01: 4A LSR CODE_02EE02: 4A LSR CODE_02EE03: A9 E0 LDA.B #$E0 CODE_02EE05: 90 02 BCC CODE_02EE09 CODE_02EE07: A9 E2 LDA.B #$E2 CODE_02EE09: 99 02 03 STA.W OAM_Tile,Y CODE_02EE0C: B9 01 03 LDA.W OAM_DispY,Y CODE_02EE0F: C9 F0 CMP.B #$F0 CODE_02EE11: B0 06 BCS CODE_02EE19 CODE_02EE13: 18 CLC CODE_02EE14: 69 03 ADC.B #$03 CODE_02EE16: 99 01 03 STA.W OAM_DispY,Y CODE_02EE19: A5 9D LDA RAM_SpritesLocked CODE_02EE1B: D0 D8 BNE Return02EDF5 CODE_02EE1D: 64 00 STZ $00 CODE_02EE1F: A0 09 LDY.B #$09 CODE_02EE21: B9 C8 14 LDA.W $14C8,Y CODE_02EE24: F0 10 BEQ CODE_02EE36 CODE_02EE26: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_02EE29: C9 61 CMP.B #$61 CODE_02EE2B: D0 09 BNE CODE_02EE36 CODE_02EE2D: B9 88 15 LDA.W RAM_SprObjStatus,Y CODE_02EE30: 29 0F AND.B #$0F CODE_02EE32: F0 02 BEQ CODE_02EE36 CODE_02EE34: 85 00 STA $00 CODE_02EE36: 88 DEY CODE_02EE37: 10 E8 BPL CODE_02EE21 CODE_02EE39: AD BC 18 LDA.W $18BC CODE_02EE3C: 95 B6 STA RAM_SpriteSpeedX,X CODE_02EE3E: B5 AA LDA RAM_SpriteSpeedY,X CODE_02EE40: C9 20 CMP.B #$20 CODE_02EE42: 30 04 BMI CODE_02EE48 CODE_02EE44: A9 20 LDA.B #$20 CODE_02EE46: 95 AA STA RAM_SpriteSpeedY,X CODE_02EE48: 22 2A 80 01 JSL.L UpdateSpritePos CODE_02EE4C: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02EE4F: 29 04 AND.B #$04 ; | CODE_02EE51: F0 04 BEQ CODE_02EE57 ; / CODE_02EE53: A9 10 LDA.B #$10 CODE_02EE55: 95 AA STA RAM_SpriteSpeedY,X CODE_02EE57: 22 DC A7 01 JSL.L MarioSprInteract CODE_02EE5B: 90 4B BCC Return02EEA8 CODE_02EE5D: A5 7D LDA RAM_MarioSpeedY CODE_02EE5F: 30 47 BMI Return02EEA8 CODE_02EE61: A9 0C LDA.B #$0C CODE_02EE63: 8D BC 18 STA.W $18BC CODE_02EE66: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02EE69: AA TAX CODE_02EE6A: FE 01 03 INC.W OAM_DispY,X CODE_02EE6D: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02EE70: A9 01 LDA.B #$01 CODE_02EE72: 8D 71 14 STA.W $1471 CODE_02EE75: 64 72 STZ RAM_IsFlying CODE_02EE77: A9 1C LDA.B #$1C CODE_02EE79: AC 7A 18 LDY.W RAM_OnYoshi CODE_02EE7C: F0 02 BEQ CODE_02EE80 CODE_02EE7E: A9 2C LDA.B #$2C CODE_02EE80: 85 01 STA $01 CODE_02EE82: B5 D8 LDA RAM_SpriteYLo,X CODE_02EE84: 38 SEC CODE_02EE85: E5 01 SBC $01 CODE_02EE87: 85 96 STA RAM_MarioYPos CODE_02EE89: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_02EE8C: E9 00 SBC.B #$00 CODE_02EE8E: 85 97 STA RAM_MarioYPosHi CODE_02EE90: A5 77 LDA RAM_MarioObjStatus CODE_02EE92: 29 01 AND.B #$01 CODE_02EE94: D0 12 BNE Return02EEA8 CODE_02EE96: A0 00 LDY.B #$00 CODE_02EE98: AD 91 14 LDA.W $1491 CODE_02EE9B: 10 01 BPL CODE_02EE9E ADDR_02EE9D: 88 DEY CODE_02EE9E: 18 CLC CODE_02EE9F: 65 94 ADC RAM_MarioXPos CODE_02EEA1: 85 94 STA RAM_MarioXPos CODE_02EEA3: 98 TYA CODE_02EEA4: 65 95 ADC RAM_MarioXPosHi CODE_02EEA6: 85 95 STA RAM_MarioXPosHi Return02EEA8: 60 RTS ; Return CoinCloudMain: 8B PHB ADDR_02EEAA: 4B PHK ADDR_02EEAB: AB PLB ADDR_02EEAC: 20 B5 EE JSR.W ADDR_02EEB5 ADDR_02EEAF: AB PLB Return02EEB0: 6B RTL ; Return DATA_02EEB1: .db $01,$FF DATA_02EEB3: .db $10,$F0 ADDR_02EEB5: B5 C2 LDA RAM_SpriteState,X ADDR_02EEB7: D0 05 BNE ADDR_02EEBE ADDR_02EEB9: F6 C2 INC RAM_SpriteState,X ADDR_02EEBB: 9C E3 18 STZ.W $18E3 ADDR_02EEBE: A5 9D LDA RAM_SpritesLocked ADDR_02EEC0: D0 5A BNE ADDR_02EF1C ADDR_02EEC2: A5 14 LDA RAM_FrameCounterB ADDR_02EEC4: 29 7F AND.B #$7F ADDR_02EEC6: D0 0D BNE ADDR_02EED5 ADDR_02EEC8: BD 70 15 LDA.W $1570,X ADDR_02EECB: C9 0B CMP.B #$0B ADDR_02EECD: B0 06 BCS ADDR_02EED5 ADDR_02EECF: FE 70 15 INC.W $1570,X ADDR_02EED2: 20 67 EF JSR.W ADDR_02EF67 ADDR_02EED5: A5 14 LDA RAM_FrameCounterB ADDR_02EED7: 29 01 AND.B #$01 ADDR_02EED9: D0 37 BNE ADDR_02EF12 ADDR_02EEDB: B5 D8 LDA RAM_SpriteYLo,X ADDR_02EEDD: 85 00 STA $00 ADDR_02EEDF: BD D4 14 LDA.W RAM_SpriteYHi,X ADDR_02EEE2: 85 01 STA $01 ADDR_02EEE4: A9 10 LDA.B #$10 ADDR_02EEE6: 85 02 STA $02 ADDR_02EEE8: A9 01 LDA.B #$01 ADDR_02EEEA: 85 03 STA $03 ADDR_02EEEC: C2 20 REP #$20 ; Accum (16 bit) ADDR_02EEEE: A5 00 LDA $00 ADDR_02EEF0: C5 02 CMP $02 ADDR_02EEF2: E2 20 SEP #$20 ; Accum (8 bit) ADDR_02EEF4: A0 00 LDY.B #$00 ADDR_02EEF6: 90 01 BCC ADDR_02EEF9 ADDR_02EEF8: C8 INY ADDR_02EEF9: BD 70 15 LDA.W $1570,X ADDR_02EEFC: C9 0B CMP.B #$0B ADDR_02EEFE: 90 05 BCC ADDR_02EF05 ADDR_02EF00: 20 25 D0 JSR.W SubOffscreen0Bnk2 ADDR_02EF03: A0 01 LDY.B #$01 ADDR_02EF05: B5 AA LDA RAM_SpriteSpeedY,X ADDR_02EF07: D9 B3 EE CMP.W DATA_02EEB3,Y ADDR_02EF0A: F0 06 BEQ ADDR_02EF12 ADDR_02EF0C: 18 CLC ADDR_02EF0D: 79 B1 EE ADC.W DATA_02EEB1,Y ADDR_02EF10: 95 AA STA RAM_SpriteSpeedY,X ADDR_02EF12: 20 94 D2 JSR.W UpdateYPosNoGrvty ADDR_02EF15: A9 08 LDA.B #$08 ADDR_02EF17: 95 B6 STA RAM_SpriteSpeedX,X ADDR_02EF19: 20 88 D2 JSR.W UpdateXPosNoGrvty ADDR_02EF1C: BD EA 15 LDA.W RAM_SprOAMIndex,X ADDR_02EF1F: 48 PHA ADDR_02EF20: 18 CLC ADDR_02EF21: 69 04 ADC.B #$04 ADDR_02EF23: 9D EA 15 STA.W RAM_SprOAMIndex,X ADDR_02EF26: 22 B2 90 01 JSL.L GenericSprGfxRt2 ADDR_02EF2A: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM ADDR_02EF2D: A9 60 LDA.B #$60 ADDR_02EF2F: 99 02 03 STA.W OAM_Tile,Y ADDR_02EF32: A5 14 LDA RAM_FrameCounterB ADDR_02EF34: 0A ASL ADDR_02EF35: 0A ASL ADDR_02EF36: 0A ASL ADDR_02EF37: 29 C0 AND.B #$C0 ADDR_02EF39: 09 30 ORA.B #$30 ADDR_02EF3B: 99 03 03 STA.W OAM_Prop,Y ADDR_02EF3E: 68 PLA ADDR_02EF3F: 9D EA 15 STA.W RAM_SprOAMIndex,X ADDR_02EF42: 20 78 D3 JSR.W GetDrawInfo2 ADDR_02EF45: A5 00 LDA $00 ADDR_02EF47: 18 CLC ADDR_02EF48: 69 04 ADC.B #$04 ADDR_02EF4A: 99 00 03 STA.W OAM_DispX,Y ADDR_02EF4D: A5 01 LDA $01 ADDR_02EF4F: 18 CLC ADDR_02EF50: 69 04 ADC.B #$04 ADDR_02EF52: 99 01 03 STA.W OAM_DispY,Y ADDR_02EF55: A9 4D LDA.B #$4D ADDR_02EF57: 99 02 03 STA.W OAM_Tile,Y ADDR_02EF5A: A9 39 LDA.B #$39 ADDR_02EF5C: 99 03 03 STA.W OAM_Prop,Y ADDR_02EF5F: A0 00 LDY.B #$00 ADDR_02EF61: A9 00 LDA.B #$00 ADDR_02EF63: 20 A7 B7 JSR.W CODE_02B7A7 Return02EF66: 60 RTS ; Return ADDR_02EF67: AD E3 18 LDA.W $18E3 ADDR_02EF6A: C9 0A CMP.B #$0A ADDR_02EF6C: 90 3C BCC ADDR_02EFAA ADDR_02EF6E: A0 0B LDY.B #$0B ADDR_02EF70: B9 C8 14 LDA.W $14C8,Y ADDR_02EF73: F0 06 BEQ ADDR_02EF7B ADDR_02EF75: 88 DEY ADDR_02EF76: C0 09 CPY.B #$09 ADDR_02EF78: D0 F6 BNE ADDR_02EF70 Return02EF7A: 60 RTS ; Return ADDR_02EF7B: A9 08 LDA.B #$08 ; \ Sprite status = Normal ADDR_02EF7D: 99 C8 14 STA.W $14C8,Y ; / ADDR_02EF80: A9 78 LDA.B #$78 ADDR_02EF82: 99 9E 00 STA.W RAM_SpriteNum,Y ADDR_02EF85: B5 E4 LDA RAM_SpriteXLo,X ADDR_02EF87: 99 E4 00 STA.W RAM_SpriteXLo,Y ADDR_02EF8A: BD E0 14 LDA.W RAM_SpriteXHi,X ADDR_02EF8D: 99 E0 14 STA.W RAM_SpriteXHi,Y ADDR_02EF90: B5 D8 LDA RAM_SpriteYLo,X ADDR_02EF92: 99 D8 00 STA.W RAM_SpriteYLo,Y ADDR_02EF95: BD D4 14 LDA.W RAM_SpriteYHi,X ADDR_02EF98: 99 D4 14 STA.W RAM_SpriteYHi,Y ADDR_02EF9B: DA PHX ADDR_02EF9C: BB TYX ADDR_02EF9D: 22 D2 F7 07 JSL.L InitSpriteTables ADDR_02EFA1: A9 E0 LDA.B #$E0 ADDR_02EFA3: 95 AA STA RAM_SpriteSpeedY,X ADDR_02EFA5: FE 7C 15 INC.W RAM_SpriteDir,X ADDR_02EFA8: FA PLX Return02EFA9: 60 RTS ; Return ADDR_02EFAA: BD 70 15 LDA.W $1570,X ADDR_02EFAD: C9 0B CMP.B #$0B ADDR_02EFAF: B0 0A BCS Return02EFBB ADDR_02EFB1: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot ADDR_02EFB3: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | ADDR_02EFB6: F0 04 BEQ ADDR_02EFBC ; | ADDR_02EFB8: 88 DEY ; | ADDR_02EFB9: 10 F8 BPL ADDR_02EFB3 ; | Return02EFBB: 60 RTS ; / Return if no free slots ADDR_02EFBC: A9 0A LDA.B #$0A ; \ Extended sprite = Cloud game coin ADDR_02EFBE: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / ADDR_02EFC1: B5 E4 LDA RAM_SpriteXLo,X ADDR_02EFC3: 18 CLC ADDR_02EFC4: 69 04 ADC.B #$04 ADDR_02EFC6: 99 1F 17 STA.W RAM_ExSpriteXLo,Y ADDR_02EFC9: BD E0 14 LDA.W RAM_SpriteXHi,X ADDR_02EFCC: 69 00 ADC.B #$00 ADDR_02EFCE: 99 33 17 STA.W RAM_ExSpriteXHi,Y ADDR_02EFD1: B5 D8 LDA RAM_SpriteYLo,X ADDR_02EFD3: 99 15 17 STA.W RAM_ExSpriteYLo,Y ADDR_02EFD6: BD D4 14 LDA.W RAM_SpriteYHi,X ADDR_02EFD9: 99 29 17 STA.W RAM_ExSpriteYHi,Y ADDR_02EFDC: A9 D0 LDA.B #$D0 ADDR_02EFDE: 99 3D 17 STA.W RAM_ExSprSpeedY,Y ADDR_02EFE1: A9 00 LDA.B #$00 ADDR_02EFE3: 99 47 17 STA.W RAM_ExSprSpeedX,Y ADDR_02EFE6: 99 65 17 STA.W $1765,Y Return02EFE9: 60 RTS ; Return DATA_02EFEA: .db $00,$80,$00,$80 DATA_02EFEE: .db $00,$00,$01,$01 WigglerInit: 8B PHB CODE_02EFF3: 4B PHK CODE_02EFF4: AB PLB CODE_02EFF5: 20 11 F0 JSR.W CODE_02F011 CODE_02EFF8: A0 7E LDY.B #$7E CODE_02EFFA: B5 E4 LDA RAM_SpriteXLo,X CODE_02EFFC: 97 D5 STA [$D5],Y CODE_02EFFE: B5 D8 LDA RAM_SpriteYLo,X CODE_02F000: C8 INY CODE_02F001: 97 D5 STA [$D5],Y CODE_02F003: 88 DEY CODE_02F004: 88 DEY CODE_02F005: 88 DEY CODE_02F006: 10 F2 BPL CODE_02EFFA CODE_02F008: 20 FA D4 JSR.W CODE_02D4FA CODE_02F00B: 98 TYA CODE_02F00C: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02F00F: AB PLB Return02F010: 6B RTL ; Return CODE_02F011: 8A TXA CODE_02F012: 29 03 AND.B #$03 CODE_02F014: A8 TAY CODE_02F015: A9 7B LDA.B #$7B CODE_02F017: 18 CLC CODE_02F018: 79 EA EF ADC.W DATA_02EFEA,Y CODE_02F01B: 85 D5 STA $D5 CODE_02F01D: A9 9A LDA.B #$9A CODE_02F01F: 79 EE EF ADC.W DATA_02EFEE,Y CODE_02F022: 85 D6 STA $D6 CODE_02F024: A9 7F LDA.B #$7F CODE_02F026: 85 D7 STA $D7 Return02F028: 60 RTS ; Return WigglerMain: 8B PHB CODE_02F02A: 4B PHK CODE_02F02B: AB PLB CODE_02F02C: 20 35 F0 JSR.W WigglerMainRt CODE_02F02F: AB PLB Return02F030: 6B RTL ; Return WigglerSpeed: .db $08,$F8,$10,$F0 WigglerMainRt: 20 11 F0 JSR.W CODE_02F011 CODE_02F038: A5 9D LDA RAM_SpritesLocked CODE_02F03A: F0 03 BEQ CODE_02F03F CODE_02F03C: 4C D8 F0 JMP.W CODE_02F0D8 CODE_02F03F: 22 32 80 01 JSL.L SprSprInteract CODE_02F043: BD 40 15 LDA.W $1540,X CODE_02F046: F0 19 BEQ CODE_02F061 CODE_02F048: C9 01 CMP.B #$01 CODE_02F04A: D0 04 BNE CODE_02F050 CODE_02F04C: A9 08 LDA.B #$08 CODE_02F04E: 80 02 BRA CODE_02F052 CODE_02F050: 29 0E AND.B #$0E CODE_02F052: 85 00 STA $00 CODE_02F054: BD F6 15 LDA.W RAM_SpritePal,X CODE_02F057: 29 F1 AND.B #$F1 CODE_02F059: 05 00 ORA $00 CODE_02F05B: 9D F6 15 STA.W RAM_SpritePal,X CODE_02F05E: 4C D8 F0 JMP.W CODE_02F0D8 CODE_02F061: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02F064: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02F067: 20 25 D0 JSR.W SubOffscreen0Bnk2 CODE_02F06A: FE 70 15 INC.W $1570,X CODE_02F06D: BD 1C 15 LDA.W $151C,X CODE_02F070: F0 14 BEQ CODE_02F086 CODE_02F072: FE 70 15 INC.W $1570,X CODE_02F075: FE 34 15 INC.W $1534,X CODE_02F078: BD 34 15 LDA.W $1534,X CODE_02F07B: 29 3F AND.B #$3F CODE_02F07D: D0 07 BNE CODE_02F086 CODE_02F07F: 20 FA D4 JSR.W CODE_02D4FA CODE_02F082: 98 TYA CODE_02F083: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02F086: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02F089: BD 1C 15 LDA.W $151C,X CODE_02F08C: F0 02 BEQ CODE_02F090 CODE_02F08E: C8 INY CODE_02F08F: C8 INY CODE_02F090: B9 31 F0 LDA.W WigglerSpeed,Y CODE_02F093: 95 B6 STA RAM_SpriteSpeedX,X CODE_02F095: F6 AA INC RAM_SpriteSpeedY,X CODE_02F097: 22 38 91 01 JSL.L CODE_019138 CODE_02F09B: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if touching object CODE_02F09E: 29 03 AND.B #$03 ; | CODE_02F0A0: D0 0C BNE CODE_02F0AE ; / CODE_02F0A2: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_02F0A5: 29 04 AND.B #$04 ; | CODE_02F0A7: F0 05 BEQ CODE_02F0AE ; / CODE_02F0A9: 20 D1 FF JSR.W CODE_02FFD1 CODE_02F0AC: 80 15 BRA CODE_02F0C3 CODE_02F0AE: BD AC 15 LDA.W $15AC,X CODE_02F0B1: D0 10 BNE CODE_02F0C3 CODE_02F0B3: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02F0B6: 49 01 EOR.B #$01 CODE_02F0B8: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02F0BB: 9E 02 16 STZ.W $1602,X CODE_02F0BE: A9 08 LDA.B #$08 CODE_02F0C0: 9D AC 15 STA.W $15AC,X CODE_02F0C3: 20 DB F0 JSR.W CODE_02F0DB CODE_02F0C6: BD 02 16 LDA.W $1602,X CODE_02F0C9: FE 02 16 INC.W $1602,X CODE_02F0CC: 29 07 AND.B #$07 CODE_02F0CE: D0 08 BNE CODE_02F0D8 CODE_02F0D0: B5 C2 LDA RAM_SpriteState,X CODE_02F0D2: 0A ASL CODE_02F0D3: 1D 7C 15 ORA.W RAM_SpriteDir,X CODE_02F0D6: 95 C2 STA RAM_SpriteState,X CODE_02F0D8: 4C 10 F1 JMP.W CODE_02F110 CODE_02F0DB: DA PHX CODE_02F0DC: 8B PHB CODE_02F0DD: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_02F0DF: A5 D5 LDA $D5 CODE_02F0E1: 18 CLC CODE_02F0E2: 69 7D 00 ADC.W #$007D CODE_02F0E5: AA TAX CODE_02F0E6: A5 D5 LDA $D5 CODE_02F0E8: 18 CLC CODE_02F0E9: 69 7F 00 ADC.W #$007F CODE_02F0EC: A8 TAY CODE_02F0ED: A9 7D 00 LDA.W #$007D CODE_02F0F0: 44 7F 7F MVP $7F,$7F CODE_02F0F3: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_02F0F5: AB PLB CODE_02F0F6: FA PLX CODE_02F0F7: A0 00 LDY.B #$00 CODE_02F0F9: B5 E4 LDA RAM_SpriteXLo,X CODE_02F0FB: 97 D5 STA [$D5],Y CODE_02F0FD: B5 D8 LDA RAM_SpriteYLo,X CODE_02F0FF: C8 INY CODE_02F100: 97 D5 STA [$D5],Y Return02F102: 60 RTS ; Return DATA_02F103: .db $00,$1E,$3E,$5E,$7E DATA_02F108: .db $00,$01,$02,$01 WigglerTiles: .db $C4,$C6,$C8,$C6 CODE_02F110: 20 78 D3 JSR.W GetDrawInfo2 CODE_02F113: BD 70 15 LDA.W $1570,X CODE_02F116: 85 03 STA $03 CODE_02F118: BD F6 15 LDA.W RAM_SpritePal,X CODE_02F11B: 85 07 STA $07 CODE_02F11D: BD 1C 15 LDA.W $151C,X CODE_02F120: 85 08 STA $08 CODE_02F122: B5 C2 LDA RAM_SpriteState,X CODE_02F124: 85 02 STA $02 CODE_02F126: 98 TYA CODE_02F127: 18 CLC CODE_02F128: 69 04 ADC.B #$04 CODE_02F12A: A8 TAY CODE_02F12B: A2 00 LDX.B #$00 CODE_02F12D: DA PHX CODE_02F12E: 86 05 STX $05 CODE_02F130: A5 03 LDA $03 CODE_02F132: 4A LSR CODE_02F133: 4A LSR CODE_02F134: 4A LSR CODE_02F135: EA NOP CODE_02F136: EA NOP CODE_02F137: EA NOP CODE_02F138: EA NOP CODE_02F139: 18 CLC CODE_02F13A: 65 05 ADC $05 CODE_02F13C: 29 03 AND.B #$03 CODE_02F13E: 85 06 STA $06 CODE_02F140: 5A PHY CODE_02F141: BC 03 F1 LDY.W DATA_02F103,X CODE_02F144: A5 08 LDA $08 CODE_02F146: F0 05 BEQ CODE_02F14D CODE_02F148: 98 TYA CODE_02F149: 4A LSR CODE_02F14A: 29 FE AND.B #$FE CODE_02F14C: A8 TAY CODE_02F14D: 84 09 STY $09 CODE_02F14F: B7 D5 LDA [$D5],Y CODE_02F151: 7A PLY CODE_02F152: 38 SEC CODE_02F153: E5 1A SBC RAM_ScreenBndryXLo CODE_02F155: 99 00 03 STA.W OAM_DispX,Y CODE_02F158: 5A PHY CODE_02F159: A4 09 LDY $09 CODE_02F15B: C8 INY CODE_02F15C: B7 D5 LDA [$D5],Y CODE_02F15E: 7A PLY CODE_02F15F: 38 SEC CODE_02F160: E5 1C SBC RAM_ScreenBndryYLo CODE_02F162: A6 06 LDX $06 CODE_02F164: 38 SEC CODE_02F165: FD 08 F1 SBC.W DATA_02F108,X CODE_02F168: 99 01 03 STA.W OAM_DispY,Y CODE_02F16B: FA PLX CODE_02F16C: DA PHX CODE_02F16D: A9 8C LDA.B #$8C CODE_02F16F: E0 00 CPX.B #$00 CODE_02F171: F0 05 BEQ CODE_02F178 CODE_02F173: A6 06 LDX $06 CODE_02F175: BD 0C F1 LDA.W WigglerTiles,X CODE_02F178: 99 02 03 STA.W OAM_Tile,Y CODE_02F17B: FA PLX CODE_02F17C: A5 07 LDA $07 CODE_02F17E: 05 64 ORA $64 CODE_02F180: 46 02 LSR $02 CODE_02F182: B0 02 BCS CODE_02F186 CODE_02F184: 09 40 ORA.B #$40 CODE_02F186: 99 03 03 STA.W OAM_Prop,Y CODE_02F189: 5A PHY CODE_02F18A: 98 TYA CODE_02F18B: 4A LSR CODE_02F18C: 4A LSR CODE_02F18D: A8 TAY CODE_02F18E: A9 02 LDA.B #$02 CODE_02F190: 99 60 04 STA.W OAM_TileSize,Y CODE_02F193: 7A PLY CODE_02F194: C8 INY CODE_02F195: C8 INY CODE_02F196: C8 INY CODE_02F197: C8 INY CODE_02F198: E8 INX CODE_02F199: E0 05 CPX.B #$05 CODE_02F19B: D0 90 BNE CODE_02F12D CODE_02F19D: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02F1A0: A5 08 LDA $08 CODE_02F1A2: F0 23 BEQ CODE_02F1C7 CODE_02F1A4: DA PHX CODE_02F1A5: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02F1A8: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02F1AB: AA TAX CODE_02F1AC: B9 04 03 LDA.W OAM_Tile2DispX,Y CODE_02F1AF: 18 CLC CODE_02F1B0: 7D D5 F2 ADC.W WigglerEyesX,X CODE_02F1B3: FA PLX CODE_02F1B4: 99 00 03 STA.W OAM_DispX,Y CODE_02F1B7: B9 05 03 LDA.W OAM_Tile2DispY,Y CODE_02F1BA: 99 01 03 STA.W OAM_DispY,Y CODE_02F1BD: A9 88 LDA.B #$88 CODE_02F1BF: 99 02 03 STA.W OAM_Tile,Y CODE_02F1C2: B9 07 03 LDA.W OAM_Tile2Prop,Y CODE_02F1C5: 80 28 BRA CODE_02F1EF CODE_02F1C7: DA PHX CODE_02F1C8: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02F1CB: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02F1CE: AA TAX CODE_02F1CF: B9 04 03 LDA.W OAM_Tile2DispX,Y CODE_02F1D2: 18 CLC CODE_02F1D3: 7D D3 F2 ADC.W DATA_02F2D3,X CODE_02F1D6: FA PLX CODE_02F1D7: 99 00 03 STA.W OAM_DispX,Y CODE_02F1DA: B9 05 03 LDA.W OAM_Tile2DispY,Y CODE_02F1DD: 38 SEC CODE_02F1DE: E9 08 SBC.B #$08 CODE_02F1E0: 99 01 03 STA.W OAM_DispY,Y CODE_02F1E3: A9 98 LDA.B #$98 CODE_02F1E5: 99 02 03 STA.W OAM_Tile,Y CODE_02F1E8: B9 07 03 LDA.W OAM_Tile2Prop,Y CODE_02F1EB: 29 F1 AND.B #$F1 CODE_02F1ED: 09 0A ORA.B #$0A CODE_02F1EF: 99 03 03 STA.W OAM_Prop,Y CODE_02F1F2: 98 TYA CODE_02F1F3: 4A LSR CODE_02F1F4: 4A LSR CODE_02F1F5: A8 TAY CODE_02F1F6: A9 00 LDA.B #$00 CODE_02F1F8: 99 60 04 STA.W OAM_TileSize,Y CODE_02F1FB: A9 05 LDA.B #$05 CODE_02F1FD: A0 FF LDY.B #$FF CODE_02F1FF: 20 A7 B7 JSR.W CODE_02B7A7 CODE_02F202: B5 E4 LDA RAM_SpriteXLo,X CODE_02F204: 85 00 STA $00 CODE_02F206: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02F209: 85 01 STA $01 CODE_02F20B: C2 20 REP #$20 ; Accum (16 bit) CODE_02F20D: A5 00 LDA $00 CODE_02F20F: 38 SEC CODE_02F210: E5 94 SBC RAM_MarioXPos CODE_02F212: 18 CLC CODE_02F213: 69 50 00 ADC.W #$0050 CODE_02F216: C9 A0 00 CMP.W #$00A0 CODE_02F219: E2 20 SEP #$20 ; Accum (8 bit) CODE_02F21B: B0 78 BCS Return02F295 CODE_02F21D: BD C8 14 LDA.W $14C8,X CODE_02F220: C9 08 CMP.B #$08 CODE_02F222: D0 71 BNE Return02F295 CODE_02F224: A9 04 LDA.B #$04 CODE_02F226: 85 00 STA $00 CODE_02F228: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02F22B: B9 04 03 LDA.W OAM_Tile2DispX,Y CODE_02F22E: 38 SEC CODE_02F22F: E5 7E SBC $7E CODE_02F231: 69 0C ADC.B #$0C CODE_02F233: C9 18 CMP.B #$18 CODE_02F235: B0 64 BCS CODE_02F29B CODE_02F237: B9 05 03 LDA.W OAM_Tile2DispY,Y CODE_02F23A: 38 SEC CODE_02F23B: E5 80 SBC $80 CODE_02F23D: E9 10 SBC.B #$10 CODE_02F23F: 5A PHY CODE_02F240: AC 7A 18 LDY.W RAM_OnYoshi CODE_02F243: F0 02 BEQ CODE_02F247 CODE_02F245: E9 10 SBC.B #$10 CODE_02F247: 7A PLY CODE_02F248: 18 CLC CODE_02F249: 69 0C ADC.B #$0C CODE_02F24B: C9 18 CMP.B #$18 CODE_02F24D: B0 4C BCS CODE_02F29B CODE_02F24F: AD 90 14 LDA.W $1490 ; \ Branch if Mario has star CODE_02F252: D0 49 BNE ADDR_02F29D ; / CODE_02F254: BD 4C 15 LDA.W RAM_DisableInter,X CODE_02F257: 05 81 ORA $81 CODE_02F259: D0 40 BNE CODE_02F29B CODE_02F25B: A9 08 LDA.B #$08 CODE_02F25D: 9D 4C 15 STA.W RAM_DisableInter,X CODE_02F260: AD 97 16 LDA.W $1697 CODE_02F263: D0 06 BNE CODE_02F26B CODE_02F265: A5 7D LDA RAM_MarioSpeedY CODE_02F267: C9 08 CMP.B #$08 CODE_02F269: 30 2B BMI CODE_02F296 CODE_02F26B: A9 03 LDA.B #$03 ; \ Play sound effect CODE_02F26D: 8D F9 1D STA.W $1DF9 ; / CODE_02F270: 22 33 AA 01 JSL.L BoostMarioSpeed CODE_02F274: BD 1C 15 LDA.W $151C,X CODE_02F277: 1D D0 15 ORA.W $15D0,X CODE_02F27A: D0 19 BNE Return02F295 CODE_02F27C: 22 99 AB 01 JSL.L DisplayContactGfx CODE_02F280: AD 97 16 LDA.W $1697 CODE_02F283: EE 97 16 INC.W $1697 CODE_02F286: 22 E5 AC 02 JSL.L GivePoints CODE_02F28A: A9 40 LDA.B #$40 CODE_02F28C: 9D 40 15 STA.W $1540,X CODE_02F28F: FE 1C 15 INC.W $151C,X CODE_02F292: 20 D7 F2 JSR.W CODE_02F2D7 Return02F295: 60 RTS ; Return CODE_02F296: 22 B7 F5 00 JSL.L HurtMario Return02F29A: 60 RTS ; Return CODE_02F29B: 80 2A BRA CODE_02F2C7 ADDR_02F29D: A9 02 LDA.B #$02 ; \ Sprite status = Killed ADDR_02F29F: 9D C8 14 STA.W $14C8,X ; / ADDR_02F2A2: A9 D0 LDA.B #$D0 ADDR_02F2A4: 95 AA STA RAM_SpriteSpeedY,X ADDR_02F2A6: EE D2 18 INC.W $18D2 ADDR_02F2A9: AD D2 18 LDA.W $18D2 ADDR_02F2AC: C9 09 CMP.B #$09 ADDR_02F2AE: 90 05 BCC ADDR_02F2B5 ADDR_02F2B0: A9 09 LDA.B #$09 ADDR_02F2B2: 8D D2 18 STA.W $18D2 ADDR_02F2B5: 22 E5 AC 02 JSL.L GivePoints ADDR_02F2B9: AC D2 18 LDY.W $18D2 ADDR_02F2BC: C0 08 CPY.B #$08 ADDR_02F2BE: B0 06 BCS Return02F2C6 ADDR_02F2C0: B9 7F D5 LDA.W DATA_02D57F,Y ; \ Play sound effect ADDR_02F2C3: 8D F9 1D STA.W $1DF9 ; / Return02F2C6: 60 RTS ; Return CODE_02F2C7: C8 INY CODE_02F2C8: C8 INY CODE_02F2C9: C8 INY CODE_02F2CA: C8 INY CODE_02F2CB: C6 00 DEC $00 CODE_02F2CD: 30 03 BMI Return02F2D2 CODE_02F2CF: 4C 2B F2 JMP.W CODE_02F22B Return02F2D2: 60 RTS ; Return DATA_02F2D3: .db $00,$08 WigglerEyesX: .db $04,$04 CODE_02F2D7: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot CODE_02F2D9: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_02F2DC: F0 04 BEQ CODE_02F2E2 ; | CODE_02F2DE: 88 DEY ; | CODE_02F2DF: 10 F8 BPL CODE_02F2D9 ; | Return02F2E1: 60 RTS ; / Return if no free slots CODE_02F2E2: A9 0E LDA.B #$0E ; \ Extended sprite = Wiggler flower CODE_02F2E4: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_02F2E7: A9 01 LDA.B #$01 CODE_02F2E9: 99 65 17 STA.W $1765,Y CODE_02F2EC: B5 E4 LDA RAM_SpriteXLo,X CODE_02F2EE: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_02F2F1: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_02F2F4: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_02F2F7: B5 D8 LDA RAM_SpriteYLo,X CODE_02F2F9: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_02F2FC: B5 D8 LDA RAM_SpriteYLo,X CODE_02F2FE: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_02F301: A9 D0 LDA.B #$D0 CODE_02F303: 99 3D 17 STA.W RAM_ExSprSpeedY,Y CODE_02F306: B5 B6 LDA RAM_SpriteSpeedX,X CODE_02F308: 49 FF EOR.B #$FF CODE_02F30A: 1A INC A CODE_02F30B: 99 47 17 STA.W RAM_ExSprSpeedX,Y Return02F30E: 60 RTS ; Return BirdsMain: 8B PHB CODE_02F310: 4B PHK CODE_02F311: AB PLB CODE_02F312: 20 17 F3 JSR.W CODE_02F317 CODE_02F315: AB PLB Return02F316: 6B RTL ; Return CODE_02F317: BD AC 15 LDA.W $15AC,X CODE_02F31A: F0 05 BEQ CODE_02F321 CODE_02F31C: A9 04 LDA.B #$04 CODE_02F31E: 9D 02 16 STA.W $1602,X CODE_02F321: 20 EA F3 JSR.W CODE_02F3EA CODE_02F324: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02F327: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02F32A: B5 AA LDA RAM_SpriteSpeedY,X CODE_02F32C: 18 CLC CODE_02F32D: 69 03 ADC.B #$03 CODE_02F32F: 95 AA STA RAM_SpriteSpeedY,X CODE_02F331: B5 C2 LDA RAM_SpriteState,X CODE_02F333: 22 DF 86 00 JSL.L ExecutePtr BirdsPtrs: 42 F3 .dw CODE_02F342 8F F3 .dw CODE_02F38F Return02F33B: 60 RTS DATA_02F33C: .db $02,$03,$05,$01 DATA_02F340: .db $08,$F8 CODE_02F342: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02F345: B9 40 F3 LDA.W DATA_02F340,Y CODE_02F348: 95 B6 STA RAM_SpriteSpeedX,X CODE_02F34A: 9E 02 16 STZ.W $1602,X CODE_02F34D: B5 AA LDA RAM_SpriteSpeedY,X CODE_02F34F: 30 1F BMI Return02F370 CODE_02F351: B5 D8 LDA RAM_SpriteYLo,X CODE_02F353: C9 E8 CMP.B #$E8 CODE_02F355: 90 19 BCC Return02F370 CODE_02F357: 29 F8 AND.B #$F8 CODE_02F359: 95 D8 STA RAM_SpriteYLo,X CODE_02F35B: A9 F0 LDA.B #$F0 CODE_02F35D: 95 AA STA RAM_SpriteSpeedY,X CODE_02F35F: B5 E4 LDA RAM_SpriteXLo,X CODE_02F361: 18 CLC CODE_02F362: 69 30 ADC.B #$30 CODE_02F364: C9 60 CMP.B #$60 CODE_02F366: 90 19 BCC CODE_02F381 CODE_02F368: BD 70 15 LDA.W $1570,X CODE_02F36B: F0 04 BEQ CODE_02F371 CODE_02F36D: DE 70 15 DEC.W $1570,X Return02F370: 60 RTS ; Return CODE_02F371: F6 C2 INC RAM_SpriteState,X CODE_02F373: 22 F9 AC 01 JSL.L GetRand CODE_02F377: 29 03 AND.B #$03 CODE_02F379: A8 TAY CODE_02F37A: B9 3C F3 LDA.W DATA_02F33C,Y CODE_02F37D: 9D 70 15 STA.W $1570,X Return02F380: 60 RTS ; Return CODE_02F381: BD 4C 15 LDA.W RAM_DisableInter,X CODE_02F384: D0 08 BNE Return02F38E CODE_02F386: 20 C1 F3 JSR.W CODE_02F3C1 CODE_02F389: A9 10 LDA.B #$10 CODE_02F38B: 9D 4C 15 STA.W RAM_DisableInter,X Return02F38E: 60 RTS ; Return CODE_02F38F: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_02F391: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_02F393: 9E 02 16 STZ.W $1602,X CODE_02F396: BD 40 15 LDA.W $1540,X CODE_02F399: F0 08 BEQ CODE_02F3A3 CODE_02F39B: C9 08 CMP.B #$08 CODE_02F39D: B0 03 BCS Return02F3A2 CODE_02F39F: FE 02 16 INC.W $1602,X Return02F3A2: 60 RTS ; Return CODE_02F3A3: BD 70 15 LDA.W $1570,X CODE_02F3A6: F0 0F BEQ CODE_02F3B7 CODE_02F3A8: DE 70 15 DEC.W $1570,X CODE_02F3AB: 22 F9 AC 01 JSL.L GetRand CODE_02F3AF: 29 1F AND.B #$1F CODE_02F3B1: 09 0A ORA.B #$0A CODE_02F3B3: 9D 40 15 STA.W $1540,X Return02F3B6: 60 RTS ; Return CODE_02F3B7: 74 C2 STZ RAM_SpriteState,X CODE_02F3B9: 22 F9 AC 01 JSL.L GetRand CODE_02F3BD: 29 01 AND.B #$01 CODE_02F3BF: D0 0D BNE CODE_02F3CE CODE_02F3C1: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_02F3C4: 49 01 EOR.B #$01 CODE_02F3C6: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_02F3C9: A9 0A LDA.B #$0A CODE_02F3CB: 9D AC 15 STA.W $15AC,X CODE_02F3CE: 22 F9 AC 01 JSL.L GetRand CODE_02F3D2: 29 03 AND.B #$03 CODE_02F3D4: 18 CLC CODE_02F3D5: 69 02 ADC.B #$02 CODE_02F3D7: 9D 70 15 STA.W $1570,X Return02F3DA: 60 RTS ; Return BirdsTilemap: .db $D2,$D3,$D0,$D1,$9B BirdsFlip: .db $71,$31 BirdsPal: .db $08,$04,$06,$0A FireplaceTilemap: .db $30,$34,$48,$3C CODE_02F3EA: 8A TXA CODE_02F3EB: 29 03 AND.B #$03 CODE_02F3ED: A8 TAY CODE_02F3EE: B9 E2 F3 LDA.W BirdsPal,Y CODE_02F3F1: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_02F3F4: 19 E0 F3 ORA.W BirdsFlip,Y CODE_02F3F7: 85 02 STA $02 CODE_02F3F9: 8A TXA CODE_02F3FA: 29 03 AND.B #$03 CODE_02F3FC: A8 TAY CODE_02F3FD: B9 E6 F3 LDA.W FireplaceTilemap,Y CODE_02F400: A8 TAY CODE_02F401: B5 E4 LDA RAM_SpriteXLo,X CODE_02F403: 38 SEC CODE_02F404: E5 1A SBC RAM_ScreenBndryXLo CODE_02F406: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_02F409: B5 D8 LDA RAM_SpriteYLo,X CODE_02F40B: 38 SEC CODE_02F40C: E5 1C SBC RAM_ScreenBndryYLo CODE_02F40E: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02F411: DA PHX CODE_02F412: BD 02 16 LDA.W $1602,X CODE_02F415: AA TAX CODE_02F416: BD DB F3 LDA.W BirdsTilemap,X CODE_02F419: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02F41C: FA PLX CODE_02F41D: A5 02 LDA $02 CODE_02F41F: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02F422: 98 TYA CODE_02F423: 4A LSR CODE_02F424: 4A LSR CODE_02F425: A8 TAY CODE_02F426: A9 00 LDA.B #$00 CODE_02F428: 99 20 04 STA.W $0420,Y Return02F42B: 60 RTS ; Return SmokeMain: 8B PHB CODE_02F42D: 4B PHK CODE_02F42E: AB PLB CODE_02F42F: 20 34 F4 JSR.W CODE_02F434 CODE_02F432: AB PLB Return02F433: 6B RTL ; Return CODE_02F434: FE 70 15 INC.W $1570,X CODE_02F437: A0 04 LDY.B #$04 CODE_02F439: BD 70 15 LDA.W $1570,X CODE_02F43C: 29 40 AND.B #$40 CODE_02F43E: F0 02 BEQ CODE_02F442 CODE_02F440: A0 FE LDY.B #$FE CODE_02F442: 94 B6 STY RAM_SpriteSpeedX,X CODE_02F444: A9 FC LDA.B #$FC CODE_02F446: 95 AA STA RAM_SpriteSpeedY,X CODE_02F448: 20 94 D2 JSR.W UpdateYPosNoGrvty CODE_02F44B: BD 40 15 LDA.W $1540,X CODE_02F44E: D0 03 BNE CODE_02F453 CODE_02F450: 20 88 D2 JSR.W UpdateXPosNoGrvty CODE_02F453: 20 7C F4 JSR.W CODE_02F47C CODE_02F456: B5 D8 LDA RAM_SpriteYLo,X CODE_02F458: 38 SEC CODE_02F459: E5 1C SBC RAM_ScreenBndryYLo CODE_02F45B: C9 F0 CMP.B #$F0 CODE_02F45D: D0 03 BNE Return02F462 CODE_02F45F: 9E C8 14 STZ.W $14C8,X Return02F462: 60 RTS ; Return DATA_02F463: .db $03,$04,$05,$04,$05,$06,$05,$06 .db $07,$06,$07,$08,$07,$08,$07,$08 .db $07,$08,$07,$08,$07,$08,$07,$08 .db $07 CODE_02F47C: A5 14 LDA RAM_FrameCounterB CODE_02F47E: 29 0F AND.B #$0F CODE_02F480: D0 03 BNE CODE_02F485 CODE_02F482: FE 1C 15 INC.W $151C,X CODE_02F485: BC 1C 15 LDY.W $151C,X CODE_02F488: B9 63 F4 LDA.W DATA_02F463,Y CODE_02F48B: 85 00 STA $00 CODE_02F48D: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_02F490: B5 E4 LDA RAM_SpriteXLo,X CODE_02F492: 38 SEC CODE_02F493: E5 1A SBC RAM_ScreenBndryXLo CODE_02F495: 48 PHA CODE_02F496: 38 SEC CODE_02F497: E5 00 SBC $00 CODE_02F499: 99 00 03 STA.W OAM_DispX,Y CODE_02F49C: 68 PLA CODE_02F49D: 18 CLC CODE_02F49E: 65 00 ADC $00 CODE_02F4A0: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02F4A3: B5 D8 LDA RAM_SpriteYLo,X CODE_02F4A5: 38 SEC CODE_02F4A6: E5 1C SBC RAM_ScreenBndryYLo CODE_02F4A8: 99 01 03 STA.W OAM_DispY,Y CODE_02F4AB: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02F4AE: A9 C5 LDA.B #$C5 CODE_02F4B0: 99 02 03 STA.W OAM_Tile,Y CODE_02F4B3: 99 06 03 STA.W OAM_Tile2,Y CODE_02F4B6: A9 05 LDA.B #$05 CODE_02F4B8: 99 03 03 STA.W OAM_Prop,Y CODE_02F4BB: 09 40 ORA.B #$40 CODE_02F4BD: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02F4C0: 98 TYA CODE_02F4C1: 4A LSR CODE_02F4C2: 4A LSR CODE_02F4C3: A8 TAY CODE_02F4C4: A9 02 LDA.B #$02 CODE_02F4C6: 99 60 04 STA.W OAM_TileSize,Y CODE_02F4C9: 99 61 04 STA.W $0461,Y Return02F4CC: 60 RTS ; Return SideExitMain: 8B PHB CODE_02F4CE: 4B PHK CODE_02F4CF: AB PLB CODE_02F4D0: 20 D5 F4 JSR.W CODE_02F4D5 CODE_02F4D3: AB PLB Return02F4D4: 6B RTL ; Return CODE_02F4D5: A9 01 LDA.B #$01 CODE_02F4D7: 8D 96 1B STA.W $1B96 CODE_02F4DA: B5 E4 LDA RAM_SpriteXLo,X CODE_02F4DC: 29 10 AND.B #$10 CODE_02F4DE: D0 06 BNE Return02F4E6 CODE_02F4E0: 20 EB F4 JSR.W CODE_02F4EB CODE_02F4E3: 20 3E F5 JSR.W CODE_02F53E Return02F4E6: 60 RTS ; Return DATA_02F4E7: .db $D4,$AB DATA_02F4E9: .db $BB,$9A CODE_02F4EB: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_02F4EE: 18 CLC CODE_02F4EF: 69 08 ADC.B #$08 CODE_02F4F1: A8 TAY CODE_02F4F2: A9 B8 LDA.B #$B8 CODE_02F4F4: 99 00 03 STA.W OAM_DispX,Y CODE_02F4F7: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_02F4FA: A9 B0 LDA.B #$B0 CODE_02F4FC: 99 01 03 STA.W OAM_DispY,Y CODE_02F4FF: A9 B8 LDA.B #$B8 CODE_02F501: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_02F504: A5 13 LDA RAM_FrameCounter CODE_02F506: 29 03 AND.B #$03 CODE_02F508: D0 0C BNE CODE_02F516 CODE_02F50A: 5A PHY CODE_02F50B: 22 F9 AC 01 JSL.L GetRand CODE_02F50F: 7A PLY CODE_02F510: 29 03 AND.B #$03 CODE_02F512: D0 02 BNE CODE_02F516 CODE_02F514: F6 C2 INC RAM_SpriteState,X CODE_02F516: DA PHX CODE_02F517: B5 C2 LDA RAM_SpriteState,X CODE_02F519: 29 01 AND.B #$01 CODE_02F51B: AA TAX CODE_02F51C: BD E7 F4 LDA.W DATA_02F4E7,X CODE_02F51F: 99 02 03 STA.W OAM_Tile,Y CODE_02F522: BD E9 F4 LDA.W DATA_02F4E9,X CODE_02F525: 99 06 03 STA.W OAM_Tile2,Y CODE_02F528: A9 35 LDA.B #$35 CODE_02F52A: 99 03 03 STA.W OAM_Prop,Y CODE_02F52D: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_02F530: 98 TYA CODE_02F531: 4A LSR CODE_02F532: 4A LSR CODE_02F533: A8 TAY CODE_02F534: A9 00 LDA.B #$00 CODE_02F536: 99 60 04 STA.W OAM_TileSize,Y CODE_02F539: 99 61 04 STA.W $0461,Y CODE_02F53C: FA PLX Return02F53D: 60 RTS ; Return CODE_02F53E: A5 14 LDA RAM_FrameCounterB CODE_02F540: 29 3F AND.B #$3F CODE_02F542: D0 03 BNE Return02F547 CODE_02F544: 20 48 F5 JSR.W CODE_02F548 Return02F547: 60 RTS ; Return CODE_02F548: A0 09 LDY.B #$09 CODE_02F54A: B9 C8 14 LDA.W $14C8,Y CODE_02F54D: F0 04 BEQ CODE_02F553 CODE_02F54F: 88 DEY CODE_02F550: 10 F8 BPL CODE_02F54A Return02F552: 60 RTS ; Return CODE_02F553: A9 8B LDA.B #$8B CODE_02F555: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_02F558: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_02F55A: 99 C8 14 STA.W $14C8,Y ; / CODE_02F55D: DA PHX CODE_02F55E: BB TYX CODE_02F55F: 22 D2 F7 07 JSL.L InitSpriteTables CODE_02F563: A9 BB LDA.B #$BB CODE_02F565: 95 E4 STA RAM_SpriteXLo,X CODE_02F567: A9 00 LDA.B #$00 CODE_02F569: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_02F56C: A9 00 LDA.B #$00 CODE_02F56E: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_02F571: A9 E0 LDA.B #$E0 CODE_02F573: 95 D8 STA RAM_SpriteYLo,X CODE_02F575: A9 20 LDA.B #$20 CODE_02F577: 9D 40 15 STA.W $1540,X CODE_02F57A: FA PLX Return02F57B: 60 RTS ; Return CODE_02F57C: 8B PHB ; Wrapper CODE_02F57D: 4B PHK CODE_02F57E: AB PLB CODE_02F57F: 20 59 F7 JSR.W CODE_02F759 CODE_02F582: AB PLB Return02F583: 6B RTL ; Return CODE_02F584: 8B PHB ; Wrapper CODE_02F585: 4B PHK CODE_02F586: AB PLB CODE_02F587: 20 6E F6 JSR.W CODE_02F66E CODE_02F58A: AB PLB Return02F58B: 6B RTL ; Return ADDR_02F58C: 8B PHB ; Wrapper ADDR_02F58D: 4B PHK ADDR_02F58E: AB PLB ADDR_02F58F: 20 39 F6 JSR.W ADDR_02F639 ADDR_02F592: AB PLB Return02F593: 6B RTL ; Return GhostExitMain: 8B PHB CODE_02F595: 4B PHK CODE_02F596: AB PLB CODE_02F597: DA PHX CODE_02F598: 20 D0 F5 JSR.W CODE_02F5D0 CODE_02F59B: FA PLX CODE_02F59C: AB PLB Return02F59D: 6B RTL ; Return DATA_02F59E: .db $08,$18,$F8,$F8,$F8,$F8,$28,$28 .db $28,$28 DATA_02F5A8: .db $00,$00,$FF,$FF,$FF,$FF,$00,$00 .db $00,$00 DATA_02F5B2: .db $5F,$5F,$8F,$97,$A7,$AF,$8F,$97 .db $A7,$AF DATA_02F5BC: .db $9C,$9E,$A0,$B0,$B0,$A0,$A0,$B0 .db $B0,$A0 DATA_02F5C6: .db $23,$23,$2D,$2D,$AD,$AD,$6D,$6D .db $ED,$ED CODE_02F5D0: A5 1A LDA RAM_ScreenBndryXLo CODE_02F5D2: C9 46 CMP.B #$46 CODE_02F5D4: B0 42 BCS Return02F618 CODE_02F5D6: A2 09 LDX.B #$09 CODE_02F5D8: A0 A0 LDY.B #$A0 CODE_02F5DA: 64 02 STZ $02 CODE_02F5DC: BD 9E F5 LDA.W DATA_02F59E,X CODE_02F5DF: 38 SEC CODE_02F5E0: E5 1A SBC RAM_ScreenBndryXLo CODE_02F5E2: 85 00 STA $00 CODE_02F5E4: BD A8 F5 LDA.W DATA_02F5A8,X CODE_02F5E7: E5 1B SBC RAM_ScreenBndryXHi CODE_02F5E9: F0 02 BEQ CODE_02F5ED CODE_02F5EB: E6 02 INC $02 CODE_02F5ED: A5 00 LDA $00 CODE_02F5EF: 99 00 03 STA.W OAM_DispX,Y CODE_02F5F2: BD B2 F5 LDA.W DATA_02F5B2,X CODE_02F5F5: 99 01 03 STA.W OAM_DispY,Y CODE_02F5F8: BD BC F5 LDA.W DATA_02F5BC,X CODE_02F5FB: 99 02 03 STA.W OAM_Tile,Y CODE_02F5FE: BD C6 F5 LDA.W DATA_02F5C6,X CODE_02F601: 99 03 03 STA.W OAM_Prop,Y CODE_02F604: 5A PHY CODE_02F605: 98 TYA CODE_02F606: 4A LSR CODE_02F607: 4A LSR CODE_02F608: A8 TAY CODE_02F609: A9 02 LDA.B #$02 CODE_02F60B: 05 02 ORA $02 CODE_02F60D: 99 60 04 STA.W OAM_TileSize,Y CODE_02F610: 7A PLY CODE_02F611: C8 INY CODE_02F612: C8 INY CODE_02F613: C8 INY CODE_02F614: C8 INY CODE_02F615: CA DEX CODE_02F616: 10 C2 BPL CODE_02F5DA Return02F618: 60 RTS ; Return DATA_02F619: .db $F8,$08,$F8,$08,$00,$00,$00,$00 DATA_02F621: .db $00,$00,$10,$10,$20,$30,$40,$08 DATA_02F629: .db $C7,$A7,$A7,$C7,$A9,$C9,$C9,$E0 DATA_02F631: .db $A9,$69,$A9,$69,$29,$29,$29,$6B ADDR_02F639: A2 07 LDX.B #$07 ADDR_02F63B: A0 B0 LDY.B #$B0 ADDR_02F63D: A9 C0 LDA.B #$C0 ADDR_02F63F: 18 CLC ADDR_02F640: 7D 19 F6 ADC.W DATA_02F619,X ADDR_02F643: 99 00 03 STA.W OAM_DispX,Y ADDR_02F646: A9 70 LDA.B #$70 ADDR_02F648: 18 CLC ADDR_02F649: 7D 21 F6 ADC.W DATA_02F621,X ADDR_02F64C: 99 01 03 STA.W OAM_DispY,Y ADDR_02F64F: BD 29 F6 LDA.W DATA_02F629,X ADDR_02F652: 99 02 03 STA.W OAM_Tile,Y ADDR_02F655: BD 31 F6 LDA.W DATA_02F631,X ADDR_02F658: 99 03 03 STA.W OAM_Prop,Y ADDR_02F65B: 5A PHY ADDR_02F65C: 98 TYA ADDR_02F65D: 4A LSR ADDR_02F65E: 4A LSR ADDR_02F65F: A8 TAY ADDR_02F660: A9 02 LDA.B #$02 ADDR_02F662: 99 60 04 STA.W OAM_TileSize,Y ADDR_02F665: 7A PLY ADDR_02F666: C8 INY ADDR_02F667: C8 INY ADDR_02F668: C8 INY ADDR_02F669: C8 INY ADDR_02F66A: CA DEX ADDR_02F66B: 10 D0 BPL ADDR_02F63D Return02F66D: 60 RTS ; Return CODE_02F66E: AD D9 18 LDA.W $18D9 CODE_02F671: F0 03 BEQ CODE_02F676 CODE_02F673: CE D9 18 DEC.W $18D9 CODE_02F676: C9 B0 CMP.B #$B0 CODE_02F678: D0 05 BNE CODE_02F67F CODE_02F67A: A0 0F LDY.B #$0F ; \ Play sound effect CODE_02F67C: 8C FC 1D STY.W $1DFC ; / CODE_02F67F: C9 01 CMP.B #$01 CODE_02F681: D0 05 BNE CODE_02F688 CODE_02F683: A0 10 LDY.B #$10 ; \ Play sound effect CODE_02F685: 8C FC 1D STY.W $1DFC ; / CODE_02F688: C9 30 CMP.B #$30 CODE_02F68A: 90 0E BCC CODE_02F69A CODE_02F68C: C9 81 CMP.B #$81 CODE_02F68E: 90 08 BCC CODE_02F698 CODE_02F690: 18 CLC CODE_02F691: 69 4F ADC.B #$4F CODE_02F693: 49 FF EOR.B #$FF CODE_02F695: 1A INC A CODE_02F696: 80 02 BRA CODE_02F69A CODE_02F698: A9 30 LDA.B #$30 CODE_02F69A: 85 00 STA $00 CODE_02F69C: 20 B8 F6 JSR.W CODE_02F6B8 Return02F69F: 60 RTS ; Return DATA_02F6A0: .db $00,$10,$20,$00,$10,$20,$00,$10 .db $20,$00,$10,$20 DATA_02F6AC: .db $00,$00,$00,$10,$10,$10,$20,$20 .db $20,$30,$30,$30 CODE_02F6B8: A2 0B LDX.B #$0B CODE_02F6BA: A0 B0 LDY.B #$B0 CODE_02F6BC: A9 B8 LDA.B #$B8 CODE_02F6BE: 18 CLC CODE_02F6BF: 7D A0 F6 ADC.W DATA_02F6A0,X CODE_02F6C2: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_02F6C5: A9 50 LDA.B #$50 CODE_02F6C7: 38 SEC CODE_02F6C8: E5 1C SBC RAM_ScreenBndryYLo CODE_02F6CA: 38 SEC CODE_02F6CB: E5 00 SBC $00 CODE_02F6CD: 18 CLC CODE_02F6CE: 7D AC F6 ADC.W DATA_02F6AC,X CODE_02F6D1: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02F6D4: A9 A5 LDA.B #$A5 CODE_02F6D6: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02F6D9: A9 21 LDA.B #$21 CODE_02F6DB: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02F6DE: 5A PHY CODE_02F6DF: 98 TYA CODE_02F6E0: 4A LSR CODE_02F6E1: 4A LSR CODE_02F6E2: A8 TAY CODE_02F6E3: A9 02 LDA.B #$02 CODE_02F6E5: 99 20 04 STA.W $0420,Y CODE_02F6E8: 7A PLY CODE_02F6E9: C8 INY CODE_02F6EA: C8 INY CODE_02F6EB: C8 INY CODE_02F6EC: C8 INY CODE_02F6ED: CA DEX CODE_02F6EE: 10 CC BPL CODE_02F6BC Return02F6F0: 60 RTS ; Return DATA_02F6F1: .db $00,$00,$00,$00,$10,$10,$10,$10 .db $00,$00,$00,$00,$10,$10,$10,$10 .db $00,$00,$00,$00,$10,$10,$10,$10 .db $F2,$F2,$F2,$F2,$1E,$1E,$1E,$1E DATA_02F711: .db $00,$08,$18,$20,$00,$08,$18,$20 DATA_02F719: .db $7D,$7D,$FD,$FD,$3D,$3D,$BD,$BD DATA_02F721: .db $A0,$B0,$B0,$A0,$A0,$B0,$B0,$A0 .db $A3,$B3,$B3,$A3,$A3,$B3,$B3,$A3 .db $A2,$B2,$B2,$A2,$A2,$B2,$B2,$A2 .db $A3,$B3,$B3,$A3,$A3,$B3,$B3,$A3 DATA_02F741: .db $40,$44,$48,$4C,$F0,$F4,$F8,$FC DATA_02F749: .db $00,$01,$02,$03,$03,$03,$03,$03 .db $03,$03,$03,$03,$03,$02,$01,$00 CODE_02F759: AD D9 18 LDA.W $18D9 CODE_02F75C: F0 03 BEQ CODE_02F761 CODE_02F75E: CE D9 18 DEC.W $18D9 CODE_02F761: C9 76 CMP.B #$76 CODE_02F763: D0 05 BNE CODE_02F76A CODE_02F765: A0 0F LDY.B #$0F ; \ Play sound effect CODE_02F767: 8C FC 1D STY.W $1DFC ; / CODE_02F76A: C9 08 CMP.B #$08 CODE_02F76C: D0 05 BNE CODE_02F773 CODE_02F76E: A0 10 LDY.B #$10 ; \ Play sound effect CODE_02F770: 8C FC 1D STY.W $1DFC ; / CODE_02F773: 4A LSR CODE_02F774: 4A LSR CODE_02F775: 4A LSR CODE_02F776: A8 TAY CODE_02F777: B9 49 F7 LDA.W DATA_02F749,Y CODE_02F77A: 85 03 STA $03 CODE_02F77C: A2 07 LDX.B #$07 CODE_02F77E: A9 B8 LDA.B #$B8 CODE_02F780: 38 SEC CODE_02F781: E5 1A SBC RAM_ScreenBndryXLo CODE_02F783: 85 00 STA $00 CODE_02F785: A9 60 LDA.B #$60 CODE_02F787: 38 SEC CODE_02F788: E5 1C SBC RAM_ScreenBndryYLo CODE_02F78A: 85 01 STA $01 CODE_02F78C: 86 02 STX $02 CODE_02F78E: BC 41 F7 LDY.W DATA_02F741,X CODE_02F791: A5 03 LDA $03 CODE_02F793: 0A ASL CODE_02F794: 0A ASL CODE_02F795: 0A ASL CODE_02F796: 18 CLC CODE_02F797: 65 02 ADC $02 CODE_02F799: AA TAX CODE_02F79A: 98 TYA CODE_02F79B: 30 33 BMI CODE_02F7D0 CODE_02F79D: A5 00 LDA $00 CODE_02F79F: 18 CLC CODE_02F7A0: 7D F1 F6 ADC.W DATA_02F6F1,X CODE_02F7A3: 99 00 03 STA.W OAM_DispX,Y CODE_02F7A6: BD 21 F7 LDA.W DATA_02F721,X CODE_02F7A9: 99 02 03 STA.W OAM_Tile,Y CODE_02F7AC: A6 02 LDX $02 CODE_02F7AE: A5 01 LDA $01 CODE_02F7B0: 18 CLC CODE_02F7B1: 7D 11 F7 ADC.W DATA_02F711,X CODE_02F7B4: 99 01 03 STA.W OAM_DispY,Y CODE_02F7B7: A5 03 LDA $03 CODE_02F7B9: C9 03 CMP.B #$03 CODE_02F7BB: BD 19 F7 LDA.W DATA_02F719,X CODE_02F7BE: 90 02 BCC CODE_02F7C2 CODE_02F7C0: 49 40 EOR.B #$40 CODE_02F7C2: 99 03 03 STA.W OAM_Prop,Y CODE_02F7C5: 98 TYA CODE_02F7C6: 4A LSR CODE_02F7C7: 4A LSR CODE_02F7C8: A8 TAY CODE_02F7C9: A9 02 LDA.B #$02 CODE_02F7CB: 99 60 04 STA.W OAM_TileSize,Y CODE_02F7CE: 80 31 BRA CODE_02F801 CODE_02F7D0: A5 00 LDA $00 CODE_02F7D2: 18 CLC CODE_02F7D3: 7D F1 F6 ADC.W DATA_02F6F1,X CODE_02F7D6: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_02F7D9: BD 21 F7 LDA.W DATA_02F721,X CODE_02F7DC: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02F7DF: A6 02 LDX $02 CODE_02F7E1: A5 01 LDA $01 CODE_02F7E3: 18 CLC CODE_02F7E4: 7D 11 F7 ADC.W DATA_02F711,X CODE_02F7E7: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02F7EA: A5 03 LDA $03 CODE_02F7EC: C9 03 CMP.B #$03 CODE_02F7EE: BD 19 F7 LDA.W DATA_02F719,X CODE_02F7F1: 90 02 BCC CODE_02F7F5 CODE_02F7F3: 49 40 EOR.B #$40 CODE_02F7F5: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02F7F8: 98 TYA CODE_02F7F9: 4A LSR CODE_02F7FA: 4A LSR CODE_02F7FB: A8 TAY CODE_02F7FC: A9 02 LDA.B #$02 CODE_02F7FE: 99 20 04 STA.W $0420,Y CODE_02F801: CA DEX CODE_02F802: 30 03 BMI Return02F807 CODE_02F804: 4C 8C F7 JMP.W CODE_02F78C Return02F807: 60 RTS ; Return CODE_02F808: 8B PHB ; Wrapper CODE_02F809: 4B PHK CODE_02F80A: AB PLB CODE_02F80B: 20 10 F8 JSR.W CODE_02F810 CODE_02F80E: AB PLB Return02F80F: 6B RTL ; Return CODE_02F810: A2 13 LDX.B #$13 CODE_02F812: 8E E9 15 STX.W $15E9 CODE_02F815: BD 92 18 LDA.W $1892,X CODE_02F818: F0 03 BEQ CODE_02F81D CODE_02F81A: 20 21 F8 JSR.W CODE_02F821 CODE_02F81D: CA DEX CODE_02F81E: 10 F2 BPL CODE_02F812 Return02F820: 60 RTS ; Return CODE_02F821: 22 DF 86 00 JSL.L ExecutePtr Ptrs02F825: 20 F8 .dw Return02F820 BC FD .dw CODE_02FDBC 00 00 .dw $0000 C7 FB .dw CODE_02FBC7 98 FA .dw CODE_02FA98 16 FA .dw CODE_02FA16 1C F9 .dw CODE_02F91C 3D F8 .dw CODE_02F83D C7 FB .dw CODE_02FBC7 DATA_02F837: .db $01,$FF DATA_02F839: .db $00,$FF,$02,$0E CODE_02F83D: AD 0A 19 LDA.W $190A CODE_02F840: 8D 5E 18 STA.W $185E CODE_02F843: 9B TXY CODE_02F844: D0 0F BNE CODE_02F855 CODE_02F846: CE 0A 19 DEC.W $190A CODE_02F849: C9 00 CMP.B #$00 CODE_02F84B: D0 08 BNE CODE_02F855 CODE_02F84D: EE BA 18 INC.W $18BA CODE_02F850: A0 FF LDY.B #$FF CODE_02F852: 8C 0A 19 STY.W $190A CODE_02F855: C9 00 CMP.B #$00 CODE_02F857: D0 45 BNE CODE_02F89E CODE_02F859: AD BF 18 LDA.W $18BF CODE_02F85C: F0 07 BEQ CODE_02F865 CODE_02F85E: 9E 92 18 STZ.W $1892,X CODE_02F861: 9C BA 18 STZ.W $18BA Return02F864: 60 RTS ; Return CODE_02F865: BD 66 1E LDA.W $1E66,X CODE_02F868: 85 00 STA $00 CODE_02F86A: BD 52 1E LDA.W $1E52,X CODE_02F86D: 85 01 STA $01 CODE_02F86F: AD BA 18 LDA.W $18BA CODE_02F872: 29 01 AND.B #$01 CODE_02F874: D0 0A BNE CODE_02F880 CODE_02F876: BD 8E 1E LDA.W $1E8E,X CODE_02F879: 85 00 STA $00 CODE_02F87B: BD 7A 1E LDA.W $1E7A,X CODE_02F87E: 85 01 STA $01 CODE_02F880: A5 00 LDA $00 CODE_02F882: 18 CLC CODE_02F883: 65 1A ADC RAM_ScreenBndryXLo CODE_02F885: 9D 16 1E STA.W $1E16,X CODE_02F888: A5 1B LDA RAM_ScreenBndryXHi CODE_02F88A: 69 00 ADC.B #$00 CODE_02F88C: 9D 3E 1E STA.W $1E3E,X CODE_02F88F: A5 01 LDA $01 CODE_02F891: 18 CLC CODE_02F892: 65 1C ADC RAM_ScreenBndryYLo CODE_02F894: 9D 02 1E STA.W $1E02,X CODE_02F897: A5 1D LDA RAM_ScreenBndryYHi CODE_02F899: 69 00 ADC.B #$00 CODE_02F89B: 9D 2A 1E STA.W $1E2A,X CODE_02F89E: 8A TXA CODE_02F89F: 0A ASL CODE_02F8A0: 0A ASL CODE_02F8A1: 65 14 ADC RAM_FrameCounterB CODE_02F8A3: 85 00 STA $00 CODE_02F8A5: 29 07 AND.B #$07 CODE_02F8A7: 05 9D ORA RAM_SpritesLocked CODE_02F8A9: D0 1D BNE CODE_02F8C8 CODE_02F8AB: A5 00 LDA $00 CODE_02F8AD: 29 20 AND.B #$20 CODE_02F8AF: 4A LSR CODE_02F8B0: 4A LSR CODE_02F8B1: 4A LSR CODE_02F8B2: 4A LSR CODE_02F8B3: 4A LSR CODE_02F8B4: A8 TAY CODE_02F8B5: BD 02 1E LDA.W $1E02,X CODE_02F8B8: 18 CLC CODE_02F8B9: 79 37 F8 ADC.W DATA_02F837,Y CODE_02F8BC: 9D 02 1E STA.W $1E02,X CODE_02F8BF: BD 2A 1E LDA.W $1E2A,X CODE_02F8C2: 79 39 F8 ADC.W DATA_02F839,Y CODE_02F8C5: 9D 2A 1E STA.W $1E2A,X CODE_02F8C8: AC 5E 18 LDY.W $185E CODE_02F8CB: C0 20 CPY.B #$20 CODE_02F8CD: 90 2C BCC Return02F8FB CODE_02F8CF: C0 40 CPY.B #$40 CODE_02F8D1: B0 05 BCS CODE_02F8D8 CODE_02F8D3: 98 TYA CODE_02F8D4: E9 1F SBC.B #$1F CODE_02F8D6: 80 0A BRA CODE_02F8E2 CODE_02F8D8: C0 E0 CPY.B #$E0 CODE_02F8DA: 90 0A BCC CODE_02F8E6 CODE_02F8DC: 98 TYA CODE_02F8DD: E9 E0 SBC.B #$E0 CODE_02F8DF: 49 1F EOR.B #$1F CODE_02F8E1: 1A INC A CODE_02F8E2: 4A LSR CODE_02F8E3: 4A LSR CODE_02F8E4: 80 05 BRA CODE_02F8EB CODE_02F8E6: 20 B0 FB JSR.W CODE_02FBB0 CODE_02F8E9: A9 08 LDA.B #$08 CODE_02F8EB: 8D 0B 19 STA.W $190B CODE_02F8EE: E0 00 CPX.B #$00 CODE_02F8F0: D0 04 BNE CODE_02F8F6 CODE_02F8F2: 22 39 82 03 JSL.L CODE_038239 CODE_02F8F6: A9 0F LDA.B #$0F CODE_02F8F8: 20 48 FD JSR.W CODE_02FD48 Return02F8FB: 60 RTS ; Return DATA_02F8FC: .db $00,$10,$00,$10,$08,$10,$FF,$10 SumoBroFlameTiles: .db $DC,$EC,$CC,$EC,$CC,$DC,$00,$CC DATA_02F90C: .db $03,$03,$03,$03,$02,$01,$00,$00 .db $00,$00,$00,$00,$01,$02,$03,$03 CODE_02F91C: BD 4A 0F LDA.W $0F4A,X CODE_02F91F: F0 1B BEQ CODE_02F93C CODE_02F921: A4 9D LDY RAM_SpritesLocked CODE_02F923: D0 03 BNE CODE_02F928 CODE_02F925: DE 4A 0F DEC.W $0F4A,X CODE_02F928: 4A LSR CODE_02F929: 4A LSR CODE_02F92A: 4A LSR CODE_02F92B: A8 TAY CODE_02F92C: B9 0C F9 LDA.W DATA_02F90C,Y CODE_02F92F: 0A ASL CODE_02F930: 8D 5E 18 STA.W $185E CODE_02F933: 20 AE F9 JSR.W CODE_02F9AE CODE_02F936: DA PHX CODE_02F937: 20 40 F9 JSR.W CODE_02F940 CODE_02F93A: FA PLX Return02F93B: 60 RTS ; Return CODE_02F93C: 9E 92 18 STZ.W $1892,X Return02F93F: 60 RTS ; Return CODE_02F940: 8A TXA CODE_02F941: 0A ASL CODE_02F942: A8 TAY CODE_02F943: B9 50 FF LDA.W DATA_02FF50,Y CODE_02F946: 8D EA 15 STA.W RAM_SprOAMIndex CODE_02F949: BD 16 1E LDA.W $1E16,X CODE_02F94C: 85 E4 STA RAM_SpriteXLo CODE_02F94E: BD 3E 1E LDA.W $1E3E,X CODE_02F951: 8D E0 14 STA.W RAM_SpriteXHi CODE_02F954: BD 02 1E LDA.W $1E02,X CODE_02F957: 85 D8 STA RAM_SpriteYLo CODE_02F959: BD 2A 1E LDA.W $1E2A,X CODE_02F95C: 8D D4 14 STA.W RAM_SpriteYHi CODE_02F95F: A8 TAY CODE_02F960: A2 00 LDX.B #$00 CODE_02F962: 20 78 D3 JSR.W GetDrawInfo2 CODE_02F965: A2 01 LDX.B #$01 CODE_02F967: DA PHX CODE_02F968: A5 00 LDA $00 CODE_02F96A: 99 00 03 STA.W OAM_DispX,Y CODE_02F96D: 8A TXA CODE_02F96E: 0D 5E 18 ORA.W $185E CODE_02F971: AA TAX CODE_02F972: BD FC F8 LDA.W DATA_02F8FC,X CODE_02F975: 30 1C BMI CODE_02F993 CODE_02F977: 18 CLC CODE_02F978: 65 01 ADC $01 CODE_02F97A: 99 01 03 STA.W OAM_DispY,Y CODE_02F97D: BD 04 F9 LDA.W SumoBroFlameTiles,X CODE_02F980: 99 02 03 STA.W OAM_Tile,Y CODE_02F983: A5 14 LDA RAM_FrameCounterB CODE_02F985: 29 04 AND.B #$04 CODE_02F987: 0A ASL CODE_02F988: 0A ASL CODE_02F989: 0A ASL CODE_02F98A: 0A ASL CODE_02F98B: EA NOP CODE_02F98C: 05 64 ORA $64 CODE_02F98E: 09 05 ORA.B #$05 CODE_02F990: 99 03 03 STA.W OAM_Prop,Y CODE_02F993: FA PLX CODE_02F994: C8 INY CODE_02F995: C8 INY CODE_02F996: C8 INY CODE_02F997: C8 INY CODE_02F998: CA DEX CODE_02F999: 10 CC BPL CODE_02F967 CODE_02F99B: A2 00 LDX.B #$00 CODE_02F99D: A0 02 LDY.B #$02 CODE_02F99F: A9 01 LDA.B #$01 CODE_02F9A1: 22 B3 B7 01 JSL.L FinishOAMWrite Return02F9A5: 60 RTS ; Return ADDR_02F9A6: 9E 92 18 STZ.W $1892,X Return02F9A9: 60 RTS ; Return DATA_02F9AA: .db $02,$0A,$12,$1A CODE_02F9AE: 8A TXA CODE_02F9AF: 45 13 EOR RAM_FrameCounter CODE_02F9B1: 29 03 AND.B #$03 CODE_02F9B3: D0 49 BNE Return02F9FE CODE_02F9B5: BD 4A 0F LDA.W $0F4A,X CODE_02F9B8: C9 10 CMP.B #$10 CODE_02F9BA: 90 42 BCC Return02F9FE CODE_02F9BC: BD 16 1E LDA.W $1E16,X CODE_02F9BF: 18 CLC CODE_02F9C0: 69 02 ADC.B #$02 CODE_02F9C2: 85 04 STA $04 CODE_02F9C4: BD 3E 1E LDA.W $1E3E,X CODE_02F9C7: 69 00 ADC.B #$00 CODE_02F9C9: 85 0A STA $0A CODE_02F9CB: A9 0C LDA.B #$0C CODE_02F9CD: 85 06 STA $06 CODE_02F9CF: AC 5E 18 LDY.W $185E CODE_02F9D2: BD 02 1E LDA.W $1E02,X CODE_02F9D5: 18 CLC CODE_02F9D6: 79 AA F9 ADC.W DATA_02F9AA,Y CODE_02F9D9: 85 05 STA $05 CODE_02F9DB: A9 14 LDA.B #$14 CODE_02F9DD: 85 07 STA $07 CODE_02F9DF: BD 2A 1E LDA.W $1E2A,X CODE_02F9E2: 69 00 ADC.B #$00 CODE_02F9E4: 85 0B STA $0B CODE_02F9E6: 22 64 B6 03 JSL.L GetMarioClipping CODE_02F9EA: 22 2B B7 03 JSL.L CheckForContact CODE_02F9EE: 90 0E BCC Return02F9FE CODE_02F9F0: AD 90 14 LDA.W $1490 ; \ Branch if Mario has star CODE_02F9F3: D0 B1 BNE ADDR_02F9A6 ; / CODE_02F9F5: AD 7A 18 LDA.W RAM_OnYoshi CODE_02F9F8: D0 05 BNE CODE_02F9FF CODE_02F9FA: 22 B7 F5 00 JSL.L HurtMario Return02F9FE: 60 RTS ; Return CODE_02F9FF: 4C 73 A4 JMP.W CODE_02A473 DATA_02FA02: .db $03,$07,$07,$07,$0F,$07,$07,$0F DATA_02FA0A: .db $F0,$F4,$F8,$FC CastleFlameTiles: .db $E2,$E4,$E2,$E4 CastleFlameGfxProp: .db $09,$09,$49,$49 CODE_02FA16: A5 9D LDA RAM_SpritesLocked CODE_02FA18: D0 11 BNE CODE_02FA2B CODE_02FA1A: 22 F9 AC 01 JSL.L GetRand CODE_02FA1E: 29 07 AND.B #$07 CODE_02FA20: A8 TAY CODE_02FA21: A5 13 LDA RAM_FrameCounter CODE_02FA23: 39 02 FA AND.W DATA_02FA02,Y CODE_02FA26: D0 03 BNE CODE_02FA2B CODE_02FA28: FE 4A 0F INC.W $0F4A,X CODE_02FA2B: BC 0A FA LDY.W DATA_02FA0A,X CODE_02FA2E: BD 16 1E LDA.W $1E16,X CODE_02FA31: 38 SEC CODE_02FA32: E5 1E SBC $1E CODE_02FA34: 99 00 03 STA.W OAM_DispX,Y CODE_02FA37: BD 02 1E LDA.W $1E02,X CODE_02FA3A: 38 SEC CODE_02FA3B: E5 20 SBC $20 CODE_02FA3D: 99 01 03 STA.W OAM_DispY,Y CODE_02FA40: 5A PHY CODE_02FA41: DA PHX CODE_02FA42: BD 4A 0F LDA.W $0F4A,X CODE_02FA45: 29 03 AND.B #$03 CODE_02FA47: AA TAX CODE_02FA48: BD 0E FA LDA.W CastleFlameTiles,X CODE_02FA4B: 99 02 03 STA.W OAM_Tile,Y CODE_02FA4E: BD 12 FA LDA.W CastleFlameGfxProp,X CODE_02FA51: 99 03 03 STA.W OAM_Prop,Y CODE_02FA54: FA PLX CODE_02FA55: 98 TYA CODE_02FA56: 4A LSR CODE_02FA57: 4A LSR CODE_02FA58: A8 TAY CODE_02FA59: A9 02 LDA.B #$02 CODE_02FA5B: 99 60 04 STA.W OAM_TileSize,Y CODE_02FA5E: 7A PLY CODE_02FA5F: B9 00 03 LDA.W OAM_DispX,Y CODE_02FA62: C9 F0 CMP.B #$F0 CODE_02FA64: 90 1D BCC Return02FA83 CODE_02FA66: B9 00 03 LDA.W OAM_DispX,Y CODE_02FA69: 8D EC 03 STA.W $03EC CODE_02FA6C: B9 01 03 LDA.W OAM_DispY,Y CODE_02FA6F: 8D ED 03 STA.W $03ED CODE_02FA72: B9 02 03 LDA.W OAM_Tile,Y CODE_02FA75: 8D EE 03 STA.W $03EE CODE_02FA78: B9 03 03 LDA.W OAM_Prop,Y CODE_02FA7B: 8D EF 03 STA.W $03EF CODE_02FA7E: A9 03 LDA.B #$03 CODE_02FA80: 8D 9B 04 STA.W $049B Return02FA83: 60 RTS ; Return DATA_02FA84: .db $00 DATA_02FA85: .db $00,$28,$00,$50,$00,$78,$00,$A0 .db $00,$C8,$00,$F0,$00,$18,$01,$40 .db $01,$68,$01 CODE_02FA98: BC 86 0F LDY.W $0F86,X CODE_02FA9B: B9 BA 0F LDA.W $0FBA,Y CODE_02FA9E: F0 04 BEQ CODE_02FAA4 CODE_02FAA0: 9E 92 18 STZ.W $1892,X Return02FAA3: 60 RTS ; Return CODE_02FAA4: A5 9D LDA RAM_SpritesLocked CODE_02FAA6: D0 48 BNE CODE_02FAF0 CODE_02FAA8: BD 4A 0F LDA.W $0F4A,X CODE_02FAAB: F0 43 BEQ CODE_02FAF0 CODE_02FAAD: 64 00 STZ $00 CODE_02FAAF: 10 02 BPL CODE_02FAB3 CODE_02FAB1: C6 00 DEC $00 CODE_02FAB3: 18 CLC CODE_02FAB4: 79 AE 0F ADC.W $0FAE,Y CODE_02FAB7: 99 AE 0F STA.W $0FAE,Y CODE_02FABA: B9 B0 0F LDA.W $0FB0,Y CODE_02FABD: 65 00 ADC $00 CODE_02FABF: 29 01 AND.B #$01 CODE_02FAC1: 99 B0 0F STA.W $0FB0,Y CODE_02FAC4: B9 B2 0F LDA.W $0FB2,Y CODE_02FAC7: 85 00 STA $00 CODE_02FAC9: B9 B4 0F LDA.W $0FB4,Y CODE_02FACC: 85 01 STA $01 CODE_02FACE: C2 20 REP #$20 ; Accum (16 bit) CODE_02FAD0: A5 00 LDA $00 CODE_02FAD2: 38 SEC CODE_02FAD3: E5 1A SBC RAM_ScreenBndryXLo CODE_02FAD5: 18 CLC CODE_02FAD6: 69 80 00 ADC.W #$0080 CODE_02FAD9: C9 00 02 CMP.W #$0200 CODE_02FADC: E2 20 SEP #$20 ; Accum (8 bit) CODE_02FADE: 90 10 BCC CODE_02FAF0 CODE_02FAE0: A9 01 LDA.B #$01 CODE_02FAE2: 99 BA 0F STA.W $0FBA,Y CODE_02FAE5: DA PHX CODE_02FAE6: BE BC 0F LDX.W $0FBC,Y CODE_02FAE9: 9E 38 19 STZ.W RAM_SprLoadStatus,X ; Allow sprite to be reloaded by level loading routine CODE_02FAEC: FA PLX CODE_02FAED: CE BA 18 DEC.W $18BA CODE_02FAF0: DA PHX CODE_02FAF1: BD 72 0F LDA.W $0F72,X CODE_02FAF4: 0A ASL CODE_02FAF5: AA TAX CODE_02FAF6: BD 84 FA LDA.W DATA_02FA84,X CODE_02FAF9: 18 CLC CODE_02FAFA: 79 AE 0F ADC.W $0FAE,Y CODE_02FAFD: 85 00 STA $00 CODE_02FAFF: BD 85 FA LDA.W DATA_02FA85,X CODE_02FB02: 79 B0 0F ADC.W $0FB0,Y CODE_02FB05: 29 01 AND.B #$01 CODE_02FB07: 85 01 STA $01 CODE_02FB09: FA PLX CODE_02FB0A: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_02FB0C: A5 00 LDA $00 CODE_02FB0E: 18 CLC CODE_02FB0F: 69 80 00 ADC.W #$0080 CODE_02FB12: 29 FF 01 AND.W #$01FF CODE_02FB15: 85 02 STA $02 CODE_02FB17: A5 00 LDA $00 CODE_02FB19: 29 FF 00 AND.W #$00FF CODE_02FB1C: 0A ASL CODE_02FB1D: AA TAX CODE_02FB1E: BF DB F7 07 LDA.L CircleCoords,X CODE_02FB22: 85 04 STA $04 CODE_02FB24: A5 02 LDA $02 CODE_02FB26: 29 FF 00 AND.W #$00FF CODE_02FB29: 0A ASL CODE_02FB2A: AA TAX CODE_02FB2B: BF DB F7 07 LDA.L CircleCoords,X CODE_02FB2F: 85 06 STA $06 CODE_02FB31: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_02FB33: A5 04 LDA $04 CODE_02FB35: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_02FB38: A9 50 LDA.B #$50 CODE_02FB3A: A4 05 LDY $05 CODE_02FB3C: D0 0F BNE CODE_02FB4D CODE_02FB3E: 8D 03 42 STA.W $4203 ; Multplier B CODE_02FB41: EA NOP CODE_02FB42: EA NOP CODE_02FB43: EA NOP CODE_02FB44: EA NOP CODE_02FB45: 0E 16 42 ASL.W $4216 ; Product/Remainder Result (Low Byte) CODE_02FB48: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_02FB4B: 69 00 ADC.B #$00 CODE_02FB4D: 46 01 LSR $01 CODE_02FB4F: 90 03 BCC CODE_02FB54 CODE_02FB51: 49 FF EOR.B #$FF CODE_02FB53: 1A INC A CODE_02FB54: 85 04 STA $04 CODE_02FB56: A5 06 LDA $06 CODE_02FB58: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_02FB5B: A9 50 LDA.B #$50 CODE_02FB5D: A4 07 LDY $07 CODE_02FB5F: D0 0F BNE CODE_02FB70 CODE_02FB61: 8D 03 42 STA.W $4203 ; Multplier B CODE_02FB64: EA NOP CODE_02FB65: EA NOP CODE_02FB66: EA NOP CODE_02FB67: EA NOP CODE_02FB68: 0E 16 42 ASL.W $4216 ; Product/Remainder Result (Low Byte) CODE_02FB6B: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_02FB6E: 69 00 ADC.B #$00 CODE_02FB70: 46 03 LSR $03 CODE_02FB72: 90 03 BCC CODE_02FB77 CODE_02FB74: 49 FF EOR.B #$FF CODE_02FB76: 1A INC A CODE_02FB77: 85 06 STA $06 CODE_02FB79: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02FB7C: BC 86 0F LDY.W $0F86,X CODE_02FB7F: 64 00 STZ $00 CODE_02FB81: A5 04 LDA $04 CODE_02FB83: 10 02 BPL CODE_02FB87 CODE_02FB85: C6 00 DEC $00 CODE_02FB87: 18 CLC CODE_02FB88: 79 B2 0F ADC.W $0FB2,Y CODE_02FB8B: 9D 16 1E STA.W $1E16,X CODE_02FB8E: B9 B4 0F LDA.W $0FB4,Y CODE_02FB91: 65 00 ADC $00 CODE_02FB93: 9D 3E 1E STA.W $1E3E,X CODE_02FB96: 64 01 STZ $01 CODE_02FB98: A5 06 LDA $06 CODE_02FB9A: 10 02 BPL CODE_02FB9E CODE_02FB9C: C6 01 DEC $01 CODE_02FB9E: 18 CLC CODE_02FB9F: 79 B6 0F ADC.W $0FB6,Y CODE_02FBA2: 9D 02 1E STA.W $1E02,X CODE_02FBA5: B9 B8 0F LDA.W $0FB8,Y CODE_02FBA8: 65 01 ADC $01 CODE_02FBAA: 9D 2A 1E STA.W $1E2A,X CODE_02FBAD: 20 8D FC JSR.W CODE_02FC8D CODE_02FBB0: 8A TXA CODE_02FBB1: 45 13 EOR RAM_FrameCounter CODE_02FBB3: 29 03 AND.B #$03 CODE_02FBB5: D0 03 BNE Return02FBBA CODE_02FBB7: 20 71 FE JSR.W CODE_02FE71 Return02FBBA: 60 RTS ; Return DATA_02FBBB: .db $01,$FF DATA_02FBBD: .db $08,$F8 BooRingTiles: .db $88,$8C,$A8,$8E,$AA,$AE,$88,$8C CODE_02FBC7: E0 00 CPX.B #$00 CODE_02FBC9: F0 03 BEQ CODE_02FBCE CODE_02FBCB: 4C 41 FC JMP.W CODE_02FC41 CODE_02FBCE: A5 13 LDA RAM_FrameCounter CODE_02FBD0: 29 07 AND.B #$07 CODE_02FBD2: 05 9D ORA RAM_SpritesLocked CODE_02FBD4: D0 68 BNE CODE_02FC3E CODE_02FBD6: 22 F9 AC 01 JSL.L GetRand CODE_02FBDA: 29 1F AND.B #$1F CODE_02FBDC: C9 14 CMP.B #$14 CODE_02FBDE: 90 02 BCC CODE_02FBE2 CODE_02FBE0: E9 14 SBC.B #$14 CODE_02FBE2: AA TAX CODE_02FBE3: BD 86 0F LDA.W $0F86,X CODE_02FBE6: D0 56 BNE CODE_02FC3E CODE_02FBE8: FE 86 0F INC.W $0F86,X CODE_02FBEB: A9 20 LDA.B #$20 CODE_02FBED: 9D 9A 0F STA.W $0F9A,X CODE_02FBF0: 64 00 STZ $00 CODE_02FBF2: BD 16 1E LDA.W $1E16,X CODE_02FBF5: E5 1A SBC RAM_ScreenBndryXLo CODE_02FBF7: 65 1A ADC RAM_ScreenBndryXLo CODE_02FBF9: 08 PHP CODE_02FBFA: 65 00 ADC $00 CODE_02FBFC: 9D 16 1E STA.W $1E16,X CODE_02FBFF: 85 E4 STA RAM_SpriteXLo CODE_02FC01: A5 1B LDA RAM_ScreenBndryXHi CODE_02FC03: 69 00 ADC.B #$00 CODE_02FC05: 28 PLP CODE_02FC06: 69 00 ADC.B #$00 CODE_02FC08: 9D 3E 1E STA.W $1E3E,X CODE_02FC0B: 8D E0 14 STA.W RAM_SpriteXHi CODE_02FC0E: BD 02 1E LDA.W $1E02,X CODE_02FC11: E5 1C SBC RAM_ScreenBndryYLo CODE_02FC13: 65 1C ADC RAM_ScreenBndryYLo CODE_02FC15: 9D 02 1E STA.W $1E02,X CODE_02FC18: 85 D8 STA RAM_SpriteYLo CODE_02FC1A: 29 FC AND.B #$FC CODE_02FC1C: 9D 72 0F STA.W $0F72,X CODE_02FC1F: A5 1D LDA RAM_ScreenBndryYHi CODE_02FC21: 69 00 ADC.B #$00 CODE_02FC23: 9D 2A 1E STA.W $1E2A,X CODE_02FC26: 8D D4 14 STA.W RAM_SpriteYHi CODE_02FC29: DA PHX CODE_02FC2A: A2 00 LDX.B #$00 CODE_02FC2C: A9 10 LDA.B #$10 CODE_02FC2E: 20 FB D2 JSR.W CODE_02D2FB CODE_02FC31: FA PLX CODE_02FC32: A5 00 LDA $00 CODE_02FC34: 69 09 ADC.B #$09 CODE_02FC36: 9D 52 1E STA.W $1E52,X CODE_02FC39: A5 01 LDA $01 CODE_02FC3B: 9D 66 1E STA.W $1E66,X CODE_02FC3E: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_02FC41: A5 9D LDA RAM_SpritesLocked CODE_02FC43: D0 08 BNE CODE_02FC4D CODE_02FC45: BD 9A 0F LDA.W $0F9A,X CODE_02FC48: F0 03 BEQ CODE_02FC4D CODE_02FC4A: DE 9A 0F DEC.W $0F9A,X CODE_02FC4D: BD 86 0F LDA.W $0F86,X CODE_02FC50: D0 03 BNE CODE_02FC55 CODE_02FC52: 4C E2 FC JMP.W CODE_02FCE2 CODE_02FC55: A5 9D LDA RAM_SpritesLocked CODE_02FC57: D0 34 BNE CODE_02FC8D CODE_02FC59: BD 9A 0F LDA.W $0F9A,X CODE_02FC5C: D0 1A BNE CODE_02FC78 CODE_02FC5E: 20 98 FF JSR.W CODE_02FF98 CODE_02FC61: 20 A3 FF JSR.W CODE_02FFA3 CODE_02FC64: 8A TXA CODE_02FC65: 45 13 EOR RAM_FrameCounter CODE_02FC67: 29 03 AND.B #$03 CODE_02FC69: D0 0D BNE CODE_02FC78 CODE_02FC6B: 20 71 FE JSR.W CODE_02FE71 CODE_02FC6E: BD 52 1E LDA.W $1E52,X CODE_02FC71: C9 E1 CMP.B #$E1 CODE_02FC73: 30 03 BMI CODE_02FC78 CODE_02FC75: DE 52 1E DEC.W $1E52,X CODE_02FC78: BD 02 1E LDA.W $1E02,X CODE_02FC7B: 29 FC AND.B #$FC CODE_02FC7D: DD 72 0F CMP.W $0F72,X CODE_02FC80: D0 0B BNE CODE_02FC8D CODE_02FC82: BD 52 1E LDA.W $1E52,X CODE_02FC85: 10 06 BPL CODE_02FC8D CODE_02FC87: 9E 86 0F STZ.W $0F86,X CODE_02FC8A: 9E 66 1E STZ.W $1E66,X CODE_02FC8D: BD 16 1E LDA.W $1E16,X CODE_02FC90: 85 00 STA $00 CODE_02FC92: BD 3E 1E LDA.W $1E3E,X CODE_02FC95: 85 01 STA $01 CODE_02FC97: C2 20 REP #$20 ; Accum (16 bit) CODE_02FC99: A5 00 LDA $00 CODE_02FC9B: 38 SEC CODE_02FC9C: E5 1A SBC RAM_ScreenBndryXLo CODE_02FC9E: 18 CLC CODE_02FC9F: 69 40 00 ADC.W #$0040 CODE_02FCA2: C9 80 01 CMP.W #$0180 CODE_02FCA5: E2 20 SEP #$20 ; Accum (8 bit) CODE_02FCA7: B0 2F BCS Return02FCD8 CODE_02FCA9: A9 02 LDA.B #$02 CODE_02FCAB: 20 48 FD JSR.W CODE_02FD48 CODE_02FCAE: BD 02 1E LDA.W $1E02,X CODE_02FCB1: 18 CLC CODE_02FCB2: 69 10 ADC.B #$10 CODE_02FCB4: 08 PHP CODE_02FCB5: C5 1C CMP RAM_ScreenBndryYLo CODE_02FCB7: BD 2A 1E LDA.W $1E2A,X CODE_02FCBA: E5 1D SBC RAM_ScreenBndryYHi CODE_02FCBC: 28 PLP CODE_02FCBD: 69 00 ADC.B #$00 CODE_02FCBF: D0 18 BNE CODE_02FCD9 CODE_02FCC1: BD 16 1E LDA.W $1E16,X CODE_02FCC4: C5 1A CMP RAM_ScreenBndryXLo CODE_02FCC6: BD 3E 1E LDA.W $1E3E,X CODE_02FCC9: E5 1B SBC RAM_ScreenBndryXHi CODE_02FCCB: F0 0B BEQ Return02FCD8 CODE_02FCCD: BD 50 FF LDA.W DATA_02FF50,X CODE_02FCD0: 4A LSR CODE_02FCD1: 4A LSR CODE_02FCD2: A8 TAY CODE_02FCD3: A9 03 LDA.B #$03 CODE_02FCD5: 99 60 04 STA.W OAM_TileSize,Y Return02FCD8: 60 RTS ; Return CODE_02FCD9: BC 50 FF LDY.W DATA_02FF50,X CODE_02FCDC: A9 F0 LDA.B #$F0 CODE_02FCDE: 99 01 03 STA.W OAM_DispY,Y Return02FCE1: 60 RTS ; Return CODE_02FCE2: A5 9D LDA RAM_SpritesLocked CODE_02FCE4: D0 60 BNE CODE_02FD46 CODE_02FCE6: BD 92 18 LDA.W $1892,X CODE_02FCE9: C9 08 CMP.B #$08 CODE_02FCEB: F0 59 BEQ CODE_02FD46 CODE_02FCED: BD 9A 0F LDA.W $0F9A,X CODE_02FCF0: D0 28 BNE CODE_02FD1A CODE_02FCF2: A5 13 LDA RAM_FrameCounter CODE_02FCF4: 29 01 AND.B #$01 CODE_02FCF6: D0 22 BNE CODE_02FD1A CODE_02FCF8: BD 4A 0F LDA.W $0F4A,X CODE_02FCFB: 29 01 AND.B #$01 CODE_02FCFD: A8 TAY CODE_02FCFE: BD 66 1E LDA.W $1E66,X CODE_02FD01: 18 CLC CODE_02FD02: 79 BB FB ADC.W DATA_02FBBB,Y CODE_02FD05: 9D 66 1E STA.W $1E66,X CODE_02FD08: D9 BD FB CMP.W DATA_02FBBD,Y CODE_02FD0B: D0 0D BNE CODE_02FD1A CODE_02FD0D: FE 4A 0F INC.W $0F4A,X CODE_02FD10: AD 8D 14 LDA.W RAM_RandomByte1 CODE_02FD13: 29 FF AND.B #$FF CODE_02FD15: 09 3F ORA.B #$3F CODE_02FD17: 9D 9A 0F STA.W $0F9A,X CODE_02FD1A: 20 98 FF JSR.W CODE_02FF98 CODE_02FD1D: 8A TXA CODE_02FD1E: 45 13 EOR RAM_FrameCounter CODE_02FD20: 29 03 AND.B #$03 CODE_02FD22: D0 22 BNE CODE_02FD46 CODE_02FD24: 64 00 STZ $00 CODE_02FD26: A0 01 LDY.B #$01 CODE_02FD28: 8A TXA CODE_02FD29: 0A ASL CODE_02FD2A: 0A ASL CODE_02FD2B: 0A ASL CODE_02FD2C: 65 13 ADC RAM_FrameCounter CODE_02FD2E: 29 40 AND.B #$40 CODE_02FD30: F0 04 BEQ CODE_02FD36 CODE_02FD32: A0 FF LDY.B #$FF CODE_02FD34: C6 00 DEC $00 CODE_02FD36: 98 TYA CODE_02FD37: 18 CLC CODE_02FD38: 7D 02 1E ADC.W $1E02,X CODE_02FD3B: 9D 02 1E STA.W $1E02,X CODE_02FD3E: A5 00 LDA $00 CODE_02FD40: 7D 2A 1E ADC.W $1E2A,X CODE_02FD43: 9D 2A 1E STA.W $1E2A,X CODE_02FD46: A9 0E LDA.B #$0E CODE_02FD48: 85 02 STA $02 CODE_02FD4A: BC 50 FF LDY.W DATA_02FF50,X CODE_02FD4D: BD 16 1E LDA.W $1E16,X CODE_02FD50: 38 SEC CODE_02FD51: E5 1A SBC RAM_ScreenBndryXLo CODE_02FD53: 99 00 03 STA.W OAM_DispX,Y CODE_02FD56: BD 02 1E LDA.W $1E02,X CODE_02FD59: 38 SEC CODE_02FD5A: E5 1C SBC RAM_ScreenBndryYLo CODE_02FD5C: 99 01 03 STA.W OAM_DispY,Y CODE_02FD5F: A5 14 LDA RAM_FrameCounterB CODE_02FD61: 4A LSR CODE_02FD62: 4A LSR CODE_02FD63: 4A LSR CODE_02FD64: 29 01 AND.B #$01 CODE_02FD66: 85 00 STA $00 CODE_02FD68: 8A TXA CODE_02FD69: 29 03 AND.B #$03 CODE_02FD6B: 0A ASL CODE_02FD6C: 65 00 ADC $00 CODE_02FD6E: DA PHX CODE_02FD6F: AA TAX CODE_02FD70: BD BF FB LDA.W BooRingTiles,X CODE_02FD73: 99 02 03 STA.W OAM_Tile,Y CODE_02FD76: FA PLX CODE_02FD77: BD 66 1E LDA.W $1E66,X CODE_02FD7A: 0A ASL CODE_02FD7B: A9 00 LDA.B #$00 CODE_02FD7D: B0 02 BCS CODE_02FD81 CODE_02FD7F: A9 40 LDA.B #$40 CODE_02FD81: 09 31 ORA.B #$31 CODE_02FD83: 05 02 ORA $02 CODE_02FD85: 99 03 03 STA.W OAM_Prop,Y CODE_02FD88: 98 TYA CODE_02FD89: 4A LSR CODE_02FD8A: 4A LSR CODE_02FD8B: A8 TAY CODE_02FD8C: A9 02 LDA.B #$02 CODE_02FD8E: 99 60 04 STA.W OAM_TileSize,Y CODE_02FD91: BD 92 18 LDA.W $1892,X CODE_02FD94: C9 08 CMP.B #$08 CODE_02FD96: D0 1F BNE Return02FDB7 ADDR_02FD98: BC 50 FF LDY.W DATA_02FF50,X ADDR_02FD9B: A5 14 LDA RAM_FrameCounterB ADDR_02FD9D: 4A LSR ADDR_02FD9E: 4A LSR ADDR_02FD9F: 29 01 AND.B #$01 ADDR_02FDA1: 85 00 STA $00 ADDR_02FDA3: BD 86 0F LDA.W $0F86,X ADDR_02FDA6: 0A ASL ADDR_02FDA7: 05 00 ORA $00 ADDR_02FDA9: DA PHX ADDR_02FDAA: AA TAX ADDR_02FDAB: BD B8 FD LDA.W BatCeilingTiles,X ADDR_02FDAE: 99 02 03 STA.W OAM_Tile,Y ADDR_02FDB1: A9 37 LDA.B #$37 ADDR_02FDB3: 99 03 03 STA.W OAM_Prop,Y ADDR_02FDB6: FA PLX Return02FDB7: 60 RTS ; Return BatCeilingTiles: .db $AE,$AE,$C0,$EB CODE_02FDBC: 20 A3 FF JSR.W CODE_02FFA3 CODE_02FDBF: BD 52 1E LDA.W $1E52,X CODE_02FDC2: C9 40 CMP.B #$40 CODE_02FDC4: 10 06 BPL CODE_02FDCC CODE_02FDC6: 18 CLC CODE_02FDC7: 69 03 ADC.B #$03 CODE_02FDC9: 9D 52 1E STA.W $1E52,X CODE_02FDCC: BD 2A 1E LDA.W $1E2A,X CODE_02FDCF: F0 0F BEQ CODE_02FDE0 CODE_02FDD1: BD 02 1E LDA.W $1E02,X CODE_02FDD4: C9 80 CMP.B #$80 CODE_02FDD6: 90 08 BCC CODE_02FDE0 CODE_02FDD8: 29 F0 AND.B #$F0 CODE_02FDDA: 9D 02 1E STA.W $1E02,X CODE_02FDDD: 9E 52 1E STZ.W $1E52,X CODE_02FDE0: 8A TXA CODE_02FDE1: 45 13 EOR RAM_FrameCounter CODE_02FDE3: 4A LSR CODE_02FDE4: 90 62 BCC CODE_02FE48 CODE_02FDE6: BD 52 1E LDA.W $1E52,X CODE_02FDE9: D0 25 BNE CODE_02FE10 CODE_02FDEB: BD 66 1E LDA.W $1E66,X CODE_02FDEE: 18 CLC CODE_02FDEF: 7D 16 1E ADC.W $1E16,X CODE_02FDF2: 9D 16 1E STA.W $1E16,X CODE_02FDF5: BD 16 1E LDA.W $1E16,X CODE_02FDF8: 5D 66 1E EOR.W $1E66,X CODE_02FDFB: 10 13 BPL CODE_02FE10 CODE_02FDFD: BD 16 1E LDA.W $1E16,X CODE_02FE00: 18 CLC CODE_02FE01: 69 20 ADC.B #$20 CODE_02FE03: C9 30 CMP.B #$30 CODE_02FE05: B0 09 BCS CODE_02FE10 CODE_02FE07: BD 66 1E LDA.W $1E66,X CODE_02FE0A: 49 FF EOR.B #$FF CODE_02FE0C: 1A INC A CODE_02FE0D: 9D 66 1E STA.W $1E66,X CODE_02FE10: A5 94 LDA RAM_MarioXPos CODE_02FE12: 38 SEC CODE_02FE13: FD 16 1E SBC.W $1E16,X CODE_02FE16: 18 CLC CODE_02FE17: 69 0C ADC.B #$0C CODE_02FE19: C9 1E CMP.B #$1E CODE_02FE1B: B0 2B BCS CODE_02FE48 CODE_02FE1D: A9 20 LDA.B #$20 CODE_02FE1F: A4 73 LDY RAM_IsDucking CODE_02FE21: D0 06 BNE CODE_02FE29 CODE_02FE23: A4 19 LDY RAM_MarioPowerUp CODE_02FE25: F0 02 BEQ CODE_02FE29 CODE_02FE27: A9 30 LDA.B #$30 CODE_02FE29: 85 00 STA $00 CODE_02FE2B: A5 96 LDA RAM_MarioYPos CODE_02FE2D: 38 SEC CODE_02FE2E: FD 02 1E SBC.W $1E02,X CODE_02FE31: 18 CLC CODE_02FE32: 69 20 ADC.B #$20 CODE_02FE34: C5 00 CMP $00 CODE_02FE36: B0 10 BCS CODE_02FE48 CODE_02FE38: 9E 92 18 STZ.W $1892,X CODE_02FE3B: 20 6C FF JSR.W CODE_02FF6C CODE_02FE3E: CE 20 19 DEC.W $1920 CODE_02FE41: D0 05 BNE CODE_02FE48 CODE_02FE43: A9 58 LDA.B #$58 CODE_02FE45: 8D AB 14 STA.W $14AB CODE_02FE48: BC 64 FF LDY.W DATA_02FF64,X CODE_02FE4B: BD 16 1E LDA.W $1E16,X CODE_02FE4E: 38 SEC CODE_02FE4F: E5 1A SBC RAM_ScreenBndryXLo CODE_02FE51: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_02FE54: BD 02 1E LDA.W $1E02,X CODE_02FE57: 38 SEC CODE_02FE58: E5 1C SBC RAM_ScreenBndryYLo CODE_02FE5A: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_02FE5D: A9 24 LDA.B #$24 CODE_02FE5F: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_02FE62: A9 3A LDA.B #$3A CODE_02FE64: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_02FE67: 98 TYA CODE_02FE68: 4A LSR CODE_02FE69: 4A LSR CODE_02FE6A: A8 TAY CODE_02FE6B: A9 02 LDA.B #$02 CODE_02FE6D: 99 20 04 STA.W $0420,Y Return02FE70: 60 RTS ; Return CODE_02FE71: A9 14 LDA.B #$14 CODE_02FE73: 80 02 BRA CODE_02FE77 ADDR_02FE75: A9 0C LDA.B #$0C ; Unreachable instruction CODE_02FE77: 85 02 STA $02 CODE_02FE79: 64 03 STZ $03 CODE_02FE7B: BD 16 1E LDA.W $1E16,X CODE_02FE7E: 85 00 STA $00 CODE_02FE80: BD 3E 1E LDA.W $1E3E,X CODE_02FE83: 85 01 STA $01 CODE_02FE85: C2 20 REP #$20 ; Accum (16 bit) CODE_02FE87: A5 94 LDA RAM_MarioXPos CODE_02FE89: 38 SEC CODE_02FE8A: E5 00 SBC $00 CODE_02FE8C: 18 CLC CODE_02FE8D: 69 0A 00 ADC.W #$000A CODE_02FE90: C5 02 CMP $02 CODE_02FE92: E2 20 SEP #$20 ; Accum (8 bit) CODE_02FE94: B0 2E BCS Return02FEC4 CODE_02FE96: BD 02 1E LDA.W $1E02,X CODE_02FE99: 69 03 ADC.B #$03 CODE_02FE9B: 85 02 STA $02 CODE_02FE9D: BD 2A 1E LDA.W $1E2A,X CODE_02FEA0: 69 00 ADC.B #$00 CODE_02FEA2: 85 03 STA $03 CODE_02FEA4: C2 20 REP #$20 ; Accum (16 bit) CODE_02FEA6: A9 14 00 LDA.W #$0014 CODE_02FEA9: A4 19 LDY RAM_MarioPowerUp CODE_02FEAB: F0 03 BEQ CODE_02FEB0 CODE_02FEAD: A9 20 00 LDA.W #$0020 CODE_02FEB0: 85 04 STA $04 CODE_02FEB2: A5 96 LDA RAM_MarioYPos CODE_02FEB4: 38 SEC CODE_02FEB5: E5 02 SBC $02 CODE_02FEB7: 18 CLC CODE_02FEB8: 69 1C 00 ADC.W #$001C CODE_02FEBB: C5 04 CMP $04 CODE_02FEBD: E2 20 SEP #$20 ; Accum (8 bit) CODE_02FEBF: B0 03 BCS Return02FEC4 CODE_02FEC1: 20 F5 F9 JSR.W CODE_02F9F5 Return02FEC4: 60 RTS ; Return DATA_02FEC5: .db $40,$B0 DATA_02FEC7: .db $01,$FF DATA_02FEC9: .db $30,$C0 DATA_02FECB: .db $01,$FF ADDR_02FECD: A5 5B LDA RAM_IsVerticalLvl ; \ Unreachable ADDR_02FECF: 29 01 AND.B #$01 ADDR_02FED1: D0 4B BNE ADDR_02FF1E ADDR_02FED3: BD 02 1E LDA.W $1E02,X ADDR_02FED6: 18 CLC ADDR_02FED7: 69 50 ADC.B #$50 ADDR_02FED9: BD 2A 1E LDA.W $1E2A,X ADDR_02FEDC: 69 00 ADC.B #$00 ADDR_02FEDE: C9 02 CMP.B #$02 ADDR_02FEE0: 10 2C BPL ADDR_02FF0E ADDR_02FEE2: A5 13 LDA RAM_FrameCounter ADDR_02FEE4: 29 01 AND.B #$01 ADDR_02FEE6: 85 01 STA $01 ADDR_02FEE8: A8 TAY ADDR_02FEE9: A5 1A LDA RAM_ScreenBndryXLo ADDR_02FEEB: 18 CLC ADDR_02FEEC: 79 C9 FE ADC.W DATA_02FEC9,Y ADDR_02FEEF: 26 00 ROL $00 ADDR_02FEF1: DD 16 1E CMP.W $1E16,X ADDR_02FEF4: 08 PHP ADDR_02FEF5: A5 1B LDA RAM_ScreenBndryXHi ADDR_02FEF7: 46 00 LSR $00 ADDR_02FEF9: 79 CB FE ADC.W DATA_02FECB,Y ADDR_02FEFC: 28 PLP ADDR_02FEFD: FD 3E 1E SBC.W $1E3E,X ADDR_02FF00: 85 00 STA $00 ADDR_02FF02: 46 01 LSR $01 ADDR_02FF04: 90 04 BCC ADDR_02FF0A ADDR_02FF06: 49 80 EOR.B #$80 ADDR_02FF08: 85 00 STA $00 ADDR_02FF0A: A5 00 LDA $00 ADDR_02FF0C: 10 0F BPL Return02FF1D ADDR_02FF0E: BC 86 0F LDY.W $0F86,X ADDR_02FF11: C0 FF CPY.B #$FF ADDR_02FF13: F0 05 BEQ ADDR_02FF1A ADDR_02FF15: A9 00 LDA.B #$00 ; \ Allow sprite to be reloaded by level loading routine ADDR_02FF17: 99 38 19 STA.W RAM_SprLoadStatus,Y ; / ADDR_02FF1A: 9E 92 18 STZ.W $1892,X Return02FF1D: 60 RTS ; / Return ADDR_02FF1E: A5 13 LDA RAM_FrameCounter ; \ Unreachable, called from above routine ADDR_02FF20: 4A LSR ADDR_02FF21: B0 FA BCS Return02FF1D ADDR_02FF23: 29 01 AND.B #$01 ADDR_02FF25: 85 01 STA $01 ADDR_02FF27: A8 TAY ADDR_02FF28: A5 1A LDA RAM_ScreenBndryXLo ADDR_02FF2A: 18 CLC ADDR_02FF2B: 79 C5 FE ADC.W DATA_02FEC5,Y ADDR_02FF2E: 26 00 ROL $00 ADDR_02FF30: DD 02 1E CMP.W $1E02,X ADDR_02FF33: 08 PHP ADDR_02FF34: AD 1D 00 LDA.W RAM_ScreenBndryYHi ADDR_02FF37: 46 00 LSR $00 ADDR_02FF39: 79 C7 FE ADC.W DATA_02FEC7,Y ADDR_02FF3C: 28 PLP ADDR_02FF3D: FD 2A 1E SBC.W $1E2A,X ADDR_02FF40: 85 00 STA $00 ADDR_02FF42: A4 01 LDY $01 ADDR_02FF44: F0 04 BEQ ADDR_02FF4A ADDR_02FF46: 49 80 EOR.B #$80 ADDR_02FF48: 85 00 STA $00 ADDR_02FF4A: A5 00 LDA $00 ADDR_02FF4C: 10 CF BPL Return02FF1D ADDR_02FF4E: 30 BE BMI ADDR_02FF0E ; / DATA_02FF50: .db $E0,$E4,$E8,$EC,$F0,$F4,$F8,$FC .db $5C,$58,$54,$50,$4C,$48,$44,$40 .db $3C,$38,$34,$30 DATA_02FF64: .db $90,$94,$98,$9C,$A0,$A4,$A8,$AC CODE_02FF6C: 22 34 AD 02 JSL.L CODE_02AD34 CODE_02FF70: A9 0D LDA.B #$0D CODE_02FF72: 99 E1 16 STA.W RAM_ScoreSprNum,Y CODE_02FF75: BD 02 1E LDA.W $1E02,X CODE_02FF78: 38 SEC CODE_02FF79: E9 08 SBC.B #$08 CODE_02FF7B: 99 E7 16 STA.W RAM_ScoreSprYLo,Y CODE_02FF7E: BD 2A 1E LDA.W $1E2A,X CODE_02FF81: E9 00 SBC.B #$00 CODE_02FF83: 99 F9 16 STA.W RAM_ScoreSprYHi,Y CODE_02FF86: BD 16 1E LDA.W $1E16,X CODE_02FF89: 99 ED 16 STA.W RAM_ScoreSprXLo,Y CODE_02FF8C: BD 3E 1E LDA.W $1E3E,X CODE_02FF8F: 99 F3 16 STA.W RAM_ScoreSprXHi,Y CODE_02FF92: A9 30 LDA.B #$30 CODE_02FF94: 99 FF 16 STA.W RAM_ScoreSprSpeedY,Y Return02FF97: 60 RTS ; Return CODE_02FF98: DA PHX CODE_02FF99: 8A TXA CODE_02FF9A: 18 CLC CODE_02FF9B: 69 14 ADC.B #$14 CODE_02FF9D: AA TAX CODE_02FF9E: 20 A3 FF JSR.W CODE_02FFA3 CODE_02FFA1: FA PLX Return02FFA2: 60 RTS ; Return CODE_02FFA3: BD 52 1E LDA.W $1E52,X CODE_02FFA6: 0A ASL CODE_02FFA7: 0A ASL CODE_02FFA8: 0A ASL CODE_02FFA9: 0A ASL CODE_02FFAA: 18 CLC CODE_02FFAB: 7D 7A 1E ADC.W $1E7A,X CODE_02FFAE: 9D 7A 1E STA.W $1E7A,X CODE_02FFB1: 08 PHP CODE_02FFB2: BD 52 1E LDA.W $1E52,X CODE_02FFB5: 4A LSR CODE_02FFB6: 4A LSR CODE_02FFB7: 4A LSR CODE_02FFB8: 4A LSR CODE_02FFB9: C9 08 CMP.B #$08 CODE_02FFBB: A0 00 LDY.B #$00 CODE_02FFBD: 90 03 BCC CODE_02FFC2 CODE_02FFBF: 09 F0 ORA.B #$F0 CODE_02FFC1: 88 DEY CODE_02FFC2: 28 PLP CODE_02FFC3: 7D 02 1E ADC.W $1E02,X CODE_02FFC6: 9D 02 1E STA.W $1E02,X CODE_02FFC9: 98 TYA CODE_02FFCA: 7D 2A 1E ADC.W $1E2A,X CODE_02FFCD: 9D 2A 1E STA.W $1E2A,X Return02FFD0: 60 RTS ; Return CODE_02FFD1: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_02FFD4: 30 07 BMI ADDR_02FFDD CODE_02FFD6: A9 00 LDA.B #$00 CODE_02FFD8: BC B8 15 LDY.W $15B8,X CODE_02FFDB: F0 02 BEQ CODE_02FFDF ADDR_02FFDD: A9 18 LDA.B #$18 CODE_02FFDF: 95 AA STA RAM_SpriteSpeedY,X Return02FFE1: 60 RTS ; Return DATA_02FFE2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF .BANK 3 DATA_038000: .db $13,$14,$15,$16,$17,$18,$19 DATA_038007: .db $F0,$F8,$FC,$00,$04,$08,$10 DATA_03800E: .db $A0,$D0,$C0,$D0 Football: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_038016: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_038018: D0 6C BNE Return038086 ;/ return CODE_03801A: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_03801D: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_038021: BD 40 15 LDA.W $1540,X ;\ if sprite not spinjumped, CODE_038024: F0 07 BEQ CODE_03802D ;/ branch CODE_038026: 3A DEC A ;\ if sprite not about to disappear after getting spinjumped (?), CODE_038027: D0 08 BNE CODE_038031 ;/ branch CODE_038029: 22 6F AB 01 JSL.L CODE_01AB6F ; show smoke CODE_03802D: 22 2A 80 01 JSL.L UpdateSpritePos CODE_038031: BD 88 15 LDA.W RAM_SprObjStatus,X ;\ If no horizontal contact, branch CODE_038034: 29 03 AND.B #$03 ; | CODE_038036: F0 07 BEQ CODE_03803F ;/ CODE_038038: B5 B6 LDA RAM_SpriteSpeedX,X ;\ horizontal contact -> reverse horizontal speed CODE_03803A: 49 FF EOR.B #$FF ; | CODE_03803C: 1A INC A ; | and increase new speed by one CODE_03803D: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_03803F: BD 88 15 LDA.W RAM_SprObjStatus,X ;\ if sprite not touching ceiling, branch CODE_038042: 29 08 AND.B #$08 ; | CODE_038044: F0 02 BEQ CODE_038048 ;/ CODE_038046: 74 AA STZ RAM_SpriteSpeedY,X ; sprite touching ceiling -> set y speed to zero CODE_038048: BD 88 15 LDA.W RAM_SprObjStatus,X ;\ if sprite not on ground, branch CODE_03804B: 29 04 AND.B #$04 ; | CODE_03804D: F0 37 BEQ Return038086 ;/ CODE_03804F: BD 40 15 LDA.W $1540,X ;\ if sprite spinjumped (?), CODE_038052: D0 32 BNE Return038086 ;/ return CODE_038054: BD F6 15 LDA.W RAM_SpritePal,X ;\ flip sprite graphics CODE_038057: 49 40 EOR.B #$40 ; | CODE_038059: 9D F6 15 STA.W RAM_SpritePal,X ;/ CODE_03805C: 22 F9 AC 01 JSL.L GetRand ;\ use random number generator to CODE_038060: 29 03 AND.B #$03 ; | determine new y speed CODE_038062: A8 TAY ; | CODE_038063: B9 0E 80 LDA.W DATA_03800E,Y ; | CODE_038066: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_038068: BC B8 15 LDY.W $15B8,X ;\ CODE_03806B: C8 INY ; | CODE_03806C: C8 INY ; | CODE_03806D: C8 INY ; | CODE_03806E: B9 07 80 LDA.W DATA_038007,Y ; | CODE_038071: 18 CLC ; | CODE_038072: 75 B6 ADC RAM_SpriteSpeedX,X ;/ CODE_038074: 10 08 BPL CODE_03807E ; if sprite going to the left, branch CODE_038076: C9 E0 CMP.B #$E0 ;\ if sprite x speed slower than #$E0, CODE_038078: B0 0A BCS CODE_038084 ; | CODE_03807A: A9 E0 LDA.B #$E0 ; | load #$E0, CODE_03807C: 80 06 BRA CODE_038084 ;/ CODE_03807E: C9 20 CMP.B #$20 ;\ if sprite x speed slower than #$20, CODE_038080: 90 02 BCC CODE_038084 ; | ADDR_038082: A9 20 LDA.B #$20 ;/ load #$20, CODE_038084: 95 B6 STA RAM_SpriteSpeedX,X ; and set new sprite x speed (to prevent sprite from going slower than #$20 or #$E0) Return038086: 60 RTS ; return BigBooBoss: 22 98 83 03 JSL.L CODE_038398 CODE_03808B: 22 39 82 03 JSL.L CODE_038239 CODE_03808F: BD C8 14 LDA.W $14C8,X ;\ if sprite status not zero (inexistant), CODE_038092: D0 0E BNE CODE_0380A2 ;/ branch to main code CODE_038094: EE C6 13 INC.W $13C6 ; else, prevent Mario from walking at level end and enable cutscene CODE_038097: A9 FF LDA.B #$FF ;\ end level CODE_038099: 8D 93 14 STA.W $1493 ;/ CODE_03809C: A9 0B LDA.B #$0B ;\ set level end music CODE_03809E: 8D FB 1D STA.W $1DFB ;/ Return0380A1: 60 RTS ; return CODE_0380A2: C9 08 CMP.B #$08 ;\ if sprite state not normal, CODE_0380A4: D0 2E BNE Return0380D4 ;/ return CODE_0380A6: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_0380A8: D0 2A BNE Return0380D4 ;/ return CODE_0380AA: B5 C2 LDA RAM_SpriteState,X CODE_0380AC: 22 DF 86 00 JSL.L ExecutePtr ; somehow, this ends up calling the table below ; this table holds the location of the coding to use for the various sprite states BooBossPtrs: BE 80 .dw CODE_0380BE ; sprite state 0: calculate graphics to use D5 80 .dw CODE_0380D5 ; sprite state 1: turning visible 19 81 .dw CODE_038119 ; sprite state 2: normal movement 8B 81 .dw CODE_03818B ; sprite state 3: hit by sprite BC 81 .dw CODE_0381BC ; sprite state 4: turning invisible 06 81 .dw CODE_038106 ; sprite state 5: D3 81 .dw CODE_0381D3 ; sprite state 6: defeated ; sprite state 0 CODE_0380BE: A9 03 LDA.B #$03 ;\ graphics frame to use = hiding CODE_0380C0: 9D 02 16 STA.W $1602,X ;/ CODE_0380C3: FE 70 15 INC.W $1570,X CODE_0380C6: BD 70 15 LDA.W $1570,X CODE_0380C9: C9 90 CMP.B #$90 CODE_0380CB: D0 07 BNE Return0380D4 CODE_0380CD: A9 08 LDA.B #$08 ;\set time until next sprite state CODE_0380CF: 9D 40 15 STA.W $1540,X ;/ CODE_0380D2: F6 C2 INC RAM_SpriteState,X ; sprite state = turn visible Return0380D4: 60 RTS ; return ; sprite state 1 CODE_0380D5: BD 40 15 LDA.W $1540,X ;\ if the timer isn't set, CODE_0380D8: D0 1F BNE Return0380F9 ;/ return CODE_0380DA: A9 08 LDA.B #$08 ;\ set time until next sprite state CODE_0380DC: 9D 40 15 STA.W $1540,X ;/ CODE_0380DF: EE 0B 19 INC.W $190B ; increase Boo palette index CODE_0380E2: AD 0B 19 LDA.W $190B CODE_0380E5: C9 02 CMP.B #$02 CODE_0380E7: D0 05 BNE CODE_0380EE CODE_0380E9: A0 10 LDY.B #$10 ;\ sound effect CODE_0380EB: 8C F9 1D STY.W $1DF9 ;/ CODE_0380EE: C9 07 CMP.B #$07 ;\ CODE_0380F0: D0 07 BNE Return0380F9 ;/ CODE_0380F2: F6 C2 INC RAM_SpriteState,X ; sprite state = normal CODE_0380F4: A9 40 LDA.B #$40 ;\ set time until next sprite state CODE_0380F6: 9D 40 15 STA.W $1540,X ;/ Return0380F9: 60 RTS DATA_0380FA: .db $FF,$01 DATA_0380FC: .db $F0,$10 DATA_0380FE: .db $0C,$F4 DATA_038100: .db $01,$FF DATA_038102: .db $01,$02,$02,$01 ; sprite state 5 CODE_038106: BD 40 15 LDA.W $1540,X ;\ if timer isn't set, CODE_038109: D0 07 BNE CODE_038112 ;/ branch CODE_03810B: 74 C2 STZ RAM_SpriteState,X ; sprite state = graphics calculation CODE_03810D: A9 40 LDA.B #$40 ;\ CODE_03810F: 9D 70 15 STA.W $1570,X ;/ CODE_038112: A9 03 LDA.B #$03 ;\ graphics frame to use = hiding CODE_038114: 9D 02 16 STA.W $1602,X ;/ CODE_038117: 80 06 BRA CODE_03811F ; sprite state 2 CODE_038119: 9E 02 16 STZ.W $1602,X ; graphics frame to use = normal CODE_03811C: 20 E4 81 JSR.W CODE_0381E4 CODE_03811F: BD AC 15 LDA.W $15AC,X ; if Boo already turning, CODE_038122: D0 0E BNE CODE_038132 ; branch CODE_038124: 20 17 B8 JSR.W SubHorzPosBnk3 ;\ if Boo facing Mario, CODE_038127: 98 TYA ; | CODE_038128: DD 7C 15 CMP.W RAM_SpriteDir,X ; | CODE_03812B: F0 1D BEQ CODE_03814A ;/ branch CODE_03812D: A9 1F LDA.B #$1F ;\ set time for Boo to show turning frame CODE_03812F: 9D AC 15 STA.W $15AC,X ;/ CODE_038132: C9 10 CMP.B #$10 ;\ if time left to turn =/= 10, CODE_038134: D0 0A BNE CODE_038140 ;/ branch CODE_038136: 48 PHA CODE_038137: BD 7C 15 LDA.W RAM_SpriteDir,X ;\ switch sprite direction CODE_03813A: 49 01 EOR.B #$01 ; | CODE_03813C: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ CODE_03813F: 68 PLA ; get turning timer back into accumulator CODE_038140: 4A LSR CODE_038141: 4A LSR CODE_038142: 4A LSR CODE_038143: A8 TAY CODE_038144: B9 02 81 LDA.W DATA_038102,Y ;\ use turning timer to determine graphics frame to use CODE_038147: 9D 02 16 STA.W $1602,X ;/ CODE_03814A: A5 14 LDA RAM_FrameCounterB ;\ only execute following code every 8th frame CODE_03814C: 29 07 AND.B #$07 ; | CODE_03814E: D0 16 BNE CODE_038166 ;/ CODE_038150: BD 1C 15 LDA.W $151C,X ;\ use ? to determine x acceleration CODE_038153: 29 01 AND.B #$01 ; | CODE_038155: A8 TAY ; | CODE_038156: B5 B6 LDA RAM_SpriteSpeedX,X ; | CODE_038158: 18 CLC ; | CODE_038159: 79 FA 80 ADC.W DATA_0380FA,Y ; | CODE_03815C: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_03815E: D9 FC 80 CMP.W DATA_0380FC,Y ;\ if max x speed not reached, branch CODE_038161: D0 03 BNE CODE_038166 ;/ CODE_038163: FE 1C 15 INC.W $151C,X ; increase ? CODE_038166: A5 14 LDA RAM_FrameCounterB ;\ only execute following code every 8th frame CODE_038168: 29 07 AND.B #$07 ; | CODE_03816A: D0 16 BNE CODE_038182 ;/ CODE_03816C: BD 28 15 LDA.W $1528,X ;\ use ? to determine y acceleration CODE_03816F: 29 01 AND.B #$01 ; | CODE_038171: A8 TAY ; | CODE_038172: B5 AA LDA RAM_SpriteSpeedY,X ; | CODE_038174: 18 CLC ; | CODE_038175: 79 00 81 ADC.W DATA_038100,Y ; | CODE_038178: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_03817A: D9 FE 80 CMP.W DATA_0380FE,Y ;\ if max y speed not reached, branch CODE_03817D: D0 03 BNE CODE_038182 ;/ CODE_03817F: FE 28 15 INC.W $1528,X ; increase ? CODE_038182: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_038186: 22 1A 80 01 JSL.L UpdateYPosNoGrvty Return03818A: 60 RTS ; sprite state 3 CODE_03818B: BD 40 15 LDA.W $1540,X ;\ if timer =/= 0, CODE_03818E: D0 1E BNE CODE_0381AE ;/ branch CODE_038190: F6 C2 INC RAM_SpriteState,X ; sprite state = turning invisible CODE_038192: A9 08 LDA.B #$08 CODE_038194: 9D 40 15 STA.W $1540,X CODE_038197: 22 8B F7 07 JSL.L LoadSpriteTables CODE_03819B: FE 34 15 INC.W $1534,X ; increase hitpoints counter CODE_03819E: BD 34 15 LDA.W $1534,X ;\ if hits taken =/= 3, CODE_0381A1: C9 03 CMP.B #$03 ; | CODE_0381A3: D0 08 BNE Return0381AD ;/ branch CODE_0381A5: A9 06 LDA.B #$06 ;\ sprite state = defeated CODE_0381A7: 95 C2 STA RAM_SpriteState,X ;/ CODE_0381A9: 22 C8 A6 03 JSL.L KillMostSprites Return0381AD: 60 RTS ; Return CODE_0381AE: 29 0E AND.B #$0E ;\ make sprite flash CODE_0381B0: 5D F6 15 EOR.W RAM_SpritePal,X ; | CODE_0381B3: 9D F6 15 STA.W RAM_SpritePal,X ;/ CODE_0381B6: A9 03 LDA.B #$03 ;\ graphics frame to use = hiding CODE_0381B8: 9D 02 16 STA.W $1602,X ;/ Return0381BB: 60 RTS ; return ; sprite state 4 CODE_0381BC: BD 40 15 LDA.W $1540,X ;\ if timer =/= 0, CODE_0381BF: D0 11 BNE Return0381D2 ;/ return CODE_0381C1: A9 08 LDA.B #$08 ;\ set time until next sprite state CODE_0381C3: 9D 40 15 STA.W $1540,X :/ CODE_0381C6: CE 0B 19 DEC.W $190B ;\ decrease Boo palette index CODE_0381C9: D0 07 BNE Return0381D2 ;/ if palette index =/= 0, return CODE_0381CB: F6 C2 INC RAM_SpriteState,X ; sprite state = turning invisible CODE_0381CD: A9 C0 LDA.B #$C0 ;\ set time until next sprite state CODE_0381CF: 9D 40 15 STA.W $1540,X ;/ Return0381D2: 60 RTS ; return ; sprite state 6 CODE_0381D3: A9 02 LDA.B #$02 ;\ sprite status = killed CODE_0381D5: 9D C8 14 STA.W $14C8,X ;/ CODE_0381D8: 74 B6 STZ RAM_SpriteSpeedX,X ; sprite X speed = 0 CODE_0381DA: A9 D0 LDA.B #$D0 ;\ set sprite y speed CODE_0381DC: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_0381DE: A9 23 LDA.B #$23 ;\ sound effect CODE_0381E0: 8D F9 1D STA.W $1DF9 ;/ Return0381E3: 60 RTS ; return CODE_0381E4: A0 0B LDY.B #$0B ; set up loop CODE_0381E6: B9 C8 14 LDA.W $14C8,Y ;\ CODE_0381E9: C9 09 CMP.B #$09 ; | if sprite being currently checked is in stationary state... CODE_0381EB: F0 08 BEQ CODE_0381F5 ; | CODE_0381ED: C9 0A CMP.B #$0A ; | ...or kicked state, CODE_0381EF: F0 04 BEQ CODE_0381F5 ; | branch CODE_0381F1: 88 DEY ; | else, check next sprite CODE_0381F2: 10 F2 BPL CODE_0381E6 ;/ if sprites remaining, go to start of loop Return0381F4: 60 RTS ; else, return CODE_0381F5: DA PHX ; preserve Big Boo Boss sprite number CODE_0381F6: BB TYX ; get number of sprite being checked into X register CODE_0381F7: 22 E5 B6 03 JSL.L GetSpriteClippingB ;\ if sprites not touching each other, CODE_0381FB: FA PLX ; | CODE_0381FC: 22 9F B6 03 JSL.L GetSpriteClippingA ; | CODE_038200: 22 2B B7 03 JSL.L CheckForContact ; | CODE_038204: 90 EB BCC CODE_0381F1 ;/ go back to loop CODE_038206: A9 03 LDA.B #$03 ;\ sprite state = hit by sprite CODE_038208: 95 C2 STA RAM_SpriteState,X ;/ CODE_03820A: A9 40 LDA.B #$40 ;\ set timer CODE_03820C: 9D 40 15 STA.W $1540,X ;/ CODE_03820F: DA PHX CODE_038210: BB TYX CODE_038211: 9E C8 14 STZ.W $14C8,X ; destroy sprite that hit Boo CODE_038214: B5 E4 LDA RAM_SpriteXLo,X ;\ setup exploding block effect CODE_038216: 85 9A STA RAM_BlockYLo ; | CODE_038218: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_03821B: 85 9B STA RAM_BlockYHi ; | CODE_03821D: B5 D8 LDA RAM_SpriteYLo,X ; | CODE_03821F: 85 98 STA RAM_BlockXLo ; | CODE_038221: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_038224: 85 99 STA RAM_BlockXHi ; | CODE_038226: 8B PHB ; | CODE_038227: A9 02 LDA.B #$02 ; | CODE_038229: 48 PHA ; | CODE_03822A: AB PLB ; | CODE_03822B: A9 FF LDA.B #$FF ; | CODE_03822D: 22 63 86 02 JSL.L ShatterBlock ; | CODE_038231: AB PLB ; | CODE_038232: FA PLX ;/ CODE_038233: A9 28 LDA.B #$28 ;\ sound effect CODE_038235: 8D FC 1D STA.W $1DFC ;/ Return038238: 60 RTS ; return CODE_038239: A0 24 LDY.B #$24 ;\ change colours of palette E, for transparency effect CODE_03823B: 84 40 STY $40 ; | ...I have no idea how this routine works CODE_03823D: AD 0B 19 LDA.W $190B ; | CODE_038240: C9 08 CMP.B #$08 ; | CODE_038242: 3A DEC A ; | CODE_038243: B0 05 BCS CODE_03824A ; | CODE_038245: A0 34 LDY.B #$34 ; | CODE_038247: 84 40 STY $40 ; | CODE_038249: 1A INC A ; | CODE_03824A: 0A ASL ; | CODE_03824B: 0A ASL ; | CODE_03824C: 0A ASL ; | CODE_03824D: 0A ASL ; | CODE_03824E: AA TAX ; | CODE_03824F: 64 00 STZ $00 ; | CODE_038251: AC 81 06 LDY.W $0681 ; | CODE_038254: BF 82 B9 03 LDA.L BooBossPals,X ; | CODE_038258: 99 84 06 STA.W $0684,Y ; | CODE_03825B: C8 INY ; | CODE_03825C: E8 INX ; | CODE_03825D: E6 00 INC $00 ; | CODE_03825F: A5 00 LDA $00 ; | CODE_038261: C9 10 CMP.B #$10 ; | CODE_038263: D0 EF BNE CODE_038254 ; | CODE_038265: AE 81 06 LDX.W $0681 ; | CODE_038268: A9 10 LDA.B #$10 ; | CODE_03826A: 9D 82 06 STA.W $0682,X ; | CODE_03826D: A9 F0 LDA.B #$F0 ; | CODE_03826F: 9D 83 06 STA.W $0683,X ; | CODE_038272: 9E 94 06 STZ.W $0694,X ; | CODE_038275: 8A TXA ; | CODE_038276: 18 CLC ; | CODE_038277: 69 12 ADC.B #$12 ; | CODE_038279: 8D 81 06 STA.W $0681 ;/ CODE_03827C: AE E9 15 LDX.W $15E9 Return03827F: 6B RTL ; return BigBooDispX: .db $08,$08,$20,$00,$00,$00,$00,$10 .db $10,$10,$10,$20,$20,$20,$20,$30 .db $30,$30,$30,$FD,$0C,$0C,$27,$00 .db $00,$00,$00,$10,$10,$10,$10,$1F .db $20,$20,$1F,$2E,$2E,$2C,$2C,$FB .db $12,$12,$30,$00,$00,$00,$00,$10 .db $10,$10,$10,$1F,$20,$20,$1F,$2E .db $2E,$2E,$2E,$F8,$11,$FF,$08,$08 .db $00,$00,$00,$00,$10,$10,$10,$10 .db $20,$20,$20,$20,$30,$30,$30,$30 BigBooDispY: .db $12,$22,$18,$00,$10,$20,$30,$00 .db $10,$20,$30,$00,$10,$20,$30,$00 .db $10,$20,$30,$18,$16,$16,$12,$22 .db $00,$10,$20,$30,$00,$10,$20,$30 .db $00,$10,$20,$30,$00,$10,$20,$30 BigBooTiles: .db $C0,$E0,$E8,$80,$A0,$A0,$80,$82 .db $A2,$A2,$82,$84,$A4,$C4,$E4,$86 .db $A6,$C6,$E6,$E8,$C0,$E0,$E8,$80 .db $A0,$A0,$80,$82,$A2,$A2,$82,$84 .db $A4,$C4,$E4,$86,$A6,$C6,$E6,$E8 .db $C0,$E0,$E8,$80,$A0,$A0,$80,$82 .db $A2,$A2,$82,$84,$A4,$A4,$84,$86 .db $A6,$A6,$86,$E8,$E8,$E8,$C2,$E2 .db $80,$A0,$A0,$80,$82,$A2,$A2,$82 .db $84,$A4,$C4,$E4,$86,$A6,$C6,$E6 BigBooGfxProp: .db $00,$00,$40,$00,$00,$80,$80,$00 .db $00,$80,$80,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$40,$00 .db $00,$80,$80,$00,$00,$80,$80,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$40,$00,$00,$80,$80,$00 .db $00,$80,$80,$00,$00,$80,$80,$00 .db $00,$80,$80,$00,$00,$40,$00,$00 .db $00,$00,$80,$80,$00,$00,$80,$80 .db $00,$00,$00,$00,$00,$00,$00,$00 CODE_038398: 8B PHB CODE_038399: 4B PHK CODE_03839A: AB PLB CODE_03839B: 20 A0 83 JSR.W CODE_0383A0 CODE_03839E: AB PLB Return03839F: 6B RTL ; return CODE_0383A0: B5 9E LDA RAM_SpriteNum,X ;\ if sprite isn't #37 (Boo), CODE_0383A2: C9 37 CMP.B #$37 ; | CODE_0383A4: D0 1C BNE CODE_0383C2 ;/ branch CODE_0383A6: A9 00 LDA.B #$00 CODE_0383A8: B4 C2 LDY RAM_SpriteState,X ;\ if sprite state == #$00 (non-existant), CODE_0383AA: F0 0E BEQ CODE_0383BA ;/ branch CODE_0383AC: A9 06 LDA.B #$06 CODE_0383AE: BC 58 15 LDY.W $1558,X ;\ if ? == #$00, CODE_0383B1: F0 07 BEQ CODE_0383BA ;/ branch CODE_0383B3: 98 TYA CODE_0383B4: 29 04 AND.B #$04 CODE_0383B6: 4A LSR CODE_0383B7: 4A LSR CODE_0383B8: 69 02 ADC.B #$02 CODE_0383BA: 9D 02 16 STA.W $1602,X ; set graphics frame to use CODE_0383BD: 22 B2 90 01 JSL.L GenericSprGfxRt2 Return0383C1: 60 RTS ; Return CODE_0383C2: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_0383C5: BD 02 16 LDA.W $1602,X ;\ $06 = graphics frame to use CODE_0383C8: 85 06 STA $06 ;/ CODE_0383CA: 0A ASL ;\ $02 = graphics frame multiplied by total number of tiles to draw (0x14) CODE_0383CB: 0A ASL ; | CODE_0383CC: 85 03 STA $03 ; | CODE_0383CE: 0A ASL ; | CODE_0383CF: 0A ASL ; | CODE_0383D0: 65 03 ADC $03 ; | CODE_0383D2: 85 02 STA $02 ;/ CODE_0383D4: BD 7C 15 LDA.W RAM_SpriteDir,X ;\ $04 = direction CODE_0383D7: 85 04 STA $04 ;/ CODE_0383D9: BD F6 15 LDA.W RAM_SpritePal,X ;\ $05 = tile properties CODE_0383DC: 85 05 STA $05 ;/ CODE_0383DE: A2 00 LDX.B #$00 ; set up loop CODE_0383E0: DA PHX CODE_0383E1: A6 02 LDX $02 ; load tile pointer CODE_0383E3: BD F8 82 LDA.W BigBooTiles,X ;\ store tilemap CODE_0383E6: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_0383E9: A5 04 LDA $04 ;\ useless code? CODE_0383EB: 4A LSR ;/ CODE_0383EC: BD 48 83 LDA.W BigBooGfxProp,X ;\ use tile properties to determine flip CODE_0383EF: 05 05 ORA $05 ; | CODE_0383F1: B0 02 BCS CODE_0383F5 ;/ CODE_0383F3: 49 40 EOR.B #$40 ; flip tile CODE_0383F5: 05 64 ORA $64 ; add in level properties CODE_0383F7: 99 03 03 STA.W OAM_Prop,Y CODE_0383FA: BD 80 82 LDA.W BigBooDispX,X ; x offset of tile CODE_0383FD: B0 06 BCS CODE_038405 ;\ if carry flag set from earlier, branch CODE_0383FF: 49 FF EOR.B #$FF ; | else, invert offset CODE_038401: 1A INC A ; | CODE_038402: 18 CLC ; | CODE_038403: 69 28 ADC.B #$28 ;/ and move tile to match up with hitbox CODE_038405: 18 CLC ;\ CODE_038406: 65 00 ADC $00 ;/ add sprite x position CODE_038408: 99 00 03 STA.W OAM_DispX,Y CODE_03840B: FA PLX ;\ get original loop counter back into X register, CODE_03840C: DA PHX ;/ while still keeping it preserved in the stack CODE_03840D: A5 06 LDA $06 ;\ if graphics frame to use = hiding, CODE_03840F: C9 03 CMP.B #$03 ; | CODE_038411: 90 05 BCC CODE_038418 ;/ branch CODE_038413: 8A TXA ;\ else, increase tile index by 0x14 CODE_038414: 18 CLC ; | CODE_038415: 69 14 ADC.B #$14 ; | CODE_038417: AA TAX ;/ CODE_038418: A5 01 LDA $01 ;\ store tile y position CODE_03841A: 18 CLC ; | CODE_03841B: 7D D0 82 ADC.W BigBooDispY,X ; | CODE_03841E: 99 01 03 STA.W OAM_DispY,Y ;/ CODE_038421: FA PLX CODE_038422: C8 INY ;\ as we wrote a 16x16 tile to OAM, we need to increase the sprite tilemap pointer by 4 CODE_038423: C8 INY ; | CODE_038424: C8 INY ; | CODE_038425: C8 INY ;/ CODE_038426: E6 02 INC $02 ; increase tile pointer CODE_038428: E8 INX ; increase loop counter CODE_038429: E0 14 CPX.B #$14 ;\ if still tiles left to draw, CODE_03842B: D0 B3 BNE CODE_0383E0 ;/ go back to start of loop CODE_03842D: AE E9 15 LDX.W $15E9 ;\ if graphics frame =/= #$03 (hiding), CODE_038430: BD 02 16 LDA.W $1602,X ; | CODE_038433: C9 03 CMP.B #$03 ; | CODE_038435: D0 14 BNE CODE_03844B ;/ branch CODE_038437: BD 58 15 LDA.W $1558,X ;\ this will always branch, as $1558,x never is set in the sprite CODE_03843A: F0 0F BEQ CODE_03844B ;/ ADDR_03843C: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM ADDR_03843F: B9 01 03 LDA.W OAM_DispY,Y ADDR_038442: 18 CLC ADDR_038443: 69 05 ADC.B #$05 ADDR_038445: 99 01 03 STA.W OAM_DispY,Y ADDR_038448: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_03844B: A9 13 LDA.B #$13 ; 0x14 tiles written CODE_03844D: A0 02 LDY.B #$02 ; the tiles were 16x16 CODE_03844F: 22 B3 B7 01 JSL.L FinishOAMWrite Return038453: 60 RTS ; return GreyFallingPlat: 20 92 84 JSR.W CODE_038492 ; graphics routine CODE_038457: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_038459: D0 2E BNE Return038489 ;/ return CODE_03845B: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_03845E: B5 AA LDA RAM_SpriteSpeedY,X ;\ if platform hasn't been stepped on (Y speed == 0), CODE_038460: F0 14 BEQ CODE_038476 ;/ branch CODE_038462: BD 40 15 LDA.W $1540,X ;\ if timer isn't zero, CODE_038465: D0 0B BNE CODE_038472 ;/ skip accelerating code CODE_038467: B5 AA LDA RAM_SpriteSpeedY,X ;\ if sprite max speed has been reached, CODE_038469: C9 40 CMP.B #$40 ; | CODE_03846B: 10 05 BPL CODE_038472 ;/ skip accelerating code CODE_03846D: 18 CLC ;\ accelerate sprite downwards CODE_03846E: 69 02 ADC.B #$02 ; | CODE_038470: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_038472: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_038476: 22 4F B4 01 JSL.L InvisBlkMainRt ; make Mario able to stand on top of sprite CODE_03847A: 90 0D BCC Return038489 ; if Mario not standing on sprite, return CODE_03847C: B5 AA LDA RAM_SpriteSpeedY,X ;\ if sprite already moving, CODE_03847E: D0 09 BNE Return038489 ;/ return CODE_038480: A9 03 LDA.B #$03 ;\ else, set initial speed CODE_038482: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_038484: A9 18 LDA.B #$18 ;\ set time before accelerating starts CODE_038486: 9D 40 15 STA.W $1540,X ;/ Return038489: 60 RTS ; return FallingPlatDispX: .db $00,$10,$20,$30 FallingPlatTiles: .db $60,$61,$61,$62 CODE_038492: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_038495: DA PHX CODE_038496: A2 03 LDX.B #$03 ; setup graphics loop CODE_038498: A5 00 LDA $00 ;\ store x position of tile CODE_03849A: 18 CLC ; | CODE_03849B: 7D 8A 84 ADC.W FallingPlatDispX,X ; | CODE_03849E: 99 00 03 STA.W OAM_DispX,Y ;/ CODE_0384A1: A5 01 LDA $01 ;\ store y position of tile CODE_0384A3: 99 01 03 STA.W OAM_DispY,Y ;/ CODE_0384A6: BD 8E 84 LDA.W FallingPlatTiles,X ;\ store tile number CODE_0384A9: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_0384AC: A9 03 LDA.B #$03 ; palette 9, second sprite GFX page CODE_0384AE: 05 64 ORA $64 ; add in level properties settings CODE_0384B0: 99 03 03 STA.W OAM_Prop,Y CODE_0384B3: C8 INY ;\ as we wrote a 16x16 tile to OAM, we must increase the sprite tilemap pointer by 4 CODE_0384B4: C8 INY ; | CODE_0384B5: C8 INY ; | CODE_0384B6: C8 INY : / CODE_0384B7: CA DEX ; decrease loop counter CODE_0384B8: 10 DE BPL CODE_038498 ; if tiles left to draw, go to start of loop CODE_0384BA: FA PLX CODE_0384BB: A0 02 LDY.B #$02 ; the tiles written were 16x16 CODE_0384BD: A9 03 LDA.B #$03 ; 0x4 tiles written CODE_0384BF: 22 B3 B7 01 JSL.L FinishOAMWrite Return0384C3: 60 RTS ; return BlurpMaxSpeedY: .db $04,$FC BlurpSpeedX: .db $08,$F8 BlurpAccelY: .db $01,$FF Blurp: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_0384CE: BC EA 15 LDY.W RAM_SprOAMIndex,X CODE_0384D1: AD 14 00 LDA.W RAM_FrameCounterB ;\ use frame counter and sprite index to determine tile to use CODE_0384D4: 4A LSR ; | CODE_0384D5: 4A LSR ; | CODE_0384D6: 4A LSR ; | CODE_0384D7: 18 CLC ; | CODE_0384D8: 6D E9 15 ADC.W $15E9 ; | CODE_0384DB: 4A LSR ;/ CODE_0384DC: A9 A2 LDA.B #$A2 ; either tile 0xA2... CODE_0384DE: 90 02 BCC CODE_0384E2 CODE_0384E0: A9 EC LDA.B #$EC ; ...or tile 0xEC is used CODE_0384E2: 99 02 03 STA.W OAM_Tile,Y CODE_0384E5: BD C8 14 LDA.W $14C8,X ;\ if sprite status is normal, CODE_0384E8: C9 08 CMP.B #$08 ; | CODE_0384EA: F0 09 BEQ CODE_0384F5 ;/ branch CODE_0384EC: B9 03 03 LDA.W OAM_Prop,Y ;\ else, sprite is dead, so it is flipped upside down CODE_0384EF: 09 80 ORA.B #$80 : | CODE_0384F1: 99 03 03 STA.W OAM_Prop,Y ;/ Return0384F4: 60 RTS ; return CODE_0384F5: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_0384F7: D0 31 BNE Return03852A ;/ return CODE_0384F9: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_0384FC: A5 14 LDA RAM_FrameCounterB ;\ only update every fourth frame CODE_0384FE: 29 03 AND.B #$03 ; | CODE_038500: D0 14 BNE CODE_038516 ;/ CODE_038502: B5 C2 LDA RAM_SpriteState,X ;\ use sprite state to determine direction of y acceleration CODE_038504: 29 01 AND.B #$01 ; | CODE_038506: A8 TAY ; | CODE_038507: B5 AA LDA RAM_SpriteSpeedY,X ; | CODE_038509: 18 CLC ; | CODE_03850A: 79 C8 84 ADC.W BlurpAccelY,Y ; | CODE_03850D: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_03850F: D9 C4 84 CMP.W BlurpMaxSpeedY,Y ;\ if max y speed in current direction has been achieved, CODE_038512: D0 02 BNE CODE_038516 ; | CODE_038514: F6 C2 INC RAM_SpriteState,X ;/ switch sprite state CODE_038516: BC 7C 15 LDY.W RAM_SpriteDir,X ;\ apply x speed CODE_038519: B9 C6 84 LDA.W BlurpSpeedX,Y ; | CODE_03851C: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_03851E: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_038522: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_038526: 22 3A 80 01 JSL.L SprSpr+MarioSprRts Return03852A: 60 RTS ; return PorcuPuffAccel: .db $01,$FF PorcuPuffMaxSpeed: .db $10,$F0 PorcuPuffer: 20 A3 85 JSR.W CODE_0385A3 ; graphics routine CODE_038532: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_038534: D0 50 BNE Return038586 ;/ return CODE_038536: BD C8 14 LDA.W $14C8,X ;\ if sprite status not normal, CODE_038539: C9 08 CMP.B #$08 ; | CODE_03853B: D0 49 BNE Return038586 ;/ return CODE_03853D: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_038540: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_038544: 20 17 B8 JSR.W SubHorzPosBnk3 ;\ make sprite face Mario CODE_038547: 98 TYA ; | CODE_038548: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ CODE_03854B: A5 14 LDA RAM_FrameCounterB ;\ only update every fourth frame CODE_03854D: 29 03 AND.B #$03 ; | CODE_03854F: D0 0D BNE CODE_03855E ;/ CODE_038551: B5 B6 LDA RAM_SpriteSpeedX,X ;\ if max x speed in current direction achieved, CODE_038553: D9 2D 85 CMP.W PorcuPuffMaxSpeed,Y ; | CODE_038556: F0 06 BEQ CODE_03855E ;/ skip acceleration code CODE_038558: 18 CLC ;\ else, accelerate in current direction CODE_038559: 79 2B 85 ADC.W PorcuPuffAccel,Y ; | CODE_03855C: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_03855E: B5 B6 LDA RAM_SpriteSpeedX,X ;\ preserve x speed in stack CODE_038560: 48 PHA ;/ CODE_038561: AD BD 17 LDA.W $17BD ;\ use unknown address to change x speed... CODE_038564: 0A ASL ; | CODE_038565: 0A ASL ; | CODE_038566: 0A ASL ; | CODE_038567: 18 CLC ; | CODE_038568: 75 B6 ADC RAM_SpriteSpeedX,X ; | CODE_03856A: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_03856C: 22 22 80 01 JSL.L UpdateXPosNoGrvty ; apply x speed CODE_038570: 68 PLA ;\ and then restore it to its original value CODE_038571: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_038573: 22 38 91 01 JSL.L CODE_019138 ; sprite bouyancy + in water check (I assume) CODE_038577: A0 04 LDY.B #$04 ; this corresponds to a negative y speed CODE_038579: BD 4A 16 LDA.W $164A,X ;\ if sprite not in water, or sprite bouyancy not enabled, CODE_03857C: F0 02 BEQ CODE_038580 ;/ branch CODE_03857E: A0 FC LDY.B #$FC ; this corresponds to a positive y speed CODE_038580: 94 AA STY RAM_SpriteSpeedY,X CODE_038582: 22 1A 80 01 JSL.L UpdateYPosNoGrvty Return038586: 60 RTS ; return PocruPufferDispX: .db $F8,$08,$F8,$08,$08,$F8,$08,$F8 PocruPufferDispY: .db $F8,$F8,$08,$08 PocruPufferTiles: .db $86,$C0,$A6,$C2,$86,$C0,$A6,$8A PocruPufferGfxProp: .db $0D,$0D,$0D,$0D,$4D,$4D,$4D,$4D CODE_0385A3: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_0385A6: A5 14 LDA RAM_FrameCounterB ;\ $03 = first tile offset CODE_0385A8: 29 04 AND.B #$04 ; | CODE_0385AA: 85 03 STA $03 ;/ CODE_0385AC: BD 7C 15 LDA.W RAM_SpriteDir,X ;\ $02 = sprite direction CODE_0385AF: 85 02 STA $02 ;/ CODE_0385B1: DA PHX CODE_0385B2: A2 03 LDX.B #$03 ; setup loop CODE_0385B4: A5 01 LDA $01 ;\ store y position of tile CODE_0385B6: 18 CLC ; | CODE_0385B7: 7D 8F 85 ADC.W PocruPufferDispY,X ; | CODE_0385BA: 99 01 03 STA.W OAM_DispY,Y ;/ CODE_0385BD: DA PHX ; preserve loop counter CODE_0385BE: A5 02 LDA $02 ;\ if sprite facing left, CODE_0385C0: D0 04 BNE CODE_0385C6 ; | CODE_0385C2: 8A TXA ; | CODE_0385C3: 09 04 ORA.B #$04 ; | add 4 to loop counter to get correct X offsets CODE_0385C5: AA TAX ;/ CODE_0385C6: A5 00 LDA $00 ;\ store x position of tile CODE_0385C8: 18 CLC ; | CODE_0385C9: 7D 87 85 ADC.W PocruPufferDispX,X ; | CODE_0385CC: 99 00 03 STA.W OAM_DispX,Y ;/ CODE_0385CF: BD 9B 85 LDA.W PocruPufferGfxProp,X ; load sprite properties CODE_0385D2: 05 64 ORA $64 ; add in level properties CODE_0385D4: 99 03 03 STA.W OAM_Prop,Y CODE_0385D7: 68 PLA ;\ get original loop counter back, CODE_0385D8: 48 PHA ;/ while still keeping it preserved in the stack CODE_0385D9: 05 03 ORA $03 ; add in first tile offset CODE_0385DB: AA TAX CODE_0385DC: BD 93 85 LDA.W PocruPufferTiles,X ;\ store tile number CODE_0385DF: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_0385E2: FA PLX CODE_0385E3: C8 INY ;\ as we wrote a 16x16 tile to OAM, we must increase the sprite tilemap pointer by 4 CODE_0385E4: C8 INY ; | CODE_0385E5: C8 INY ; | CODE_0385E6: C8 INY ;/ CODE_0385E7: CA DEX CODE_0385E8: 10 CA BPL CODE_0385B4 ; if tiles left to draw, go to start of loop CODE_0385EA: FA PLX CODE_0385EB: A0 02 LDY.B #$02 ; the tiles written were 16x16 CODE_0385ED: A9 03 LDA.B #$03 ; we wrote four tiles CODE_0385EF: 22 B3 B7 01 JSL.L FinishOAMWrite Return0385F3: 60 RTS ; return FlyingBlockSpeedY: .db $08,$F8 FlyingTurnBlocks: 20 A8 86 JSR.W CODE_0386A8 ; graphics routine CODE_0385F9: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_0385FB: D0 78 BNE Return038675 ;/ return CODE_0385FD: AD 9A 1B LDA.W $1B9A ;\ if BG scroll not activated yet (triggered by Mario standing on sprite), CODE_038600: F0 27 BEQ CODE_038629 ;/ branch CODE_038602: BD 34 15 LDA.W $1534,X ;\ every second frame (?), CODE_038605: FE 34 15 INC.W $1534,X ; | CODE_038608: 29 01 AND.B #$01 ; | CODE_03860A: D0 12 BNE CODE_03861E ;/ branch CODE_03860C: DE 02 16 DEC.W $1602,X ; decrease direction switch timer CODE_03860F: BD 02 16 LDA.W $1602,X ;\ if not time to switch y direction, CODE_038612: C9 FF CMP.B #$FF ; | CODE_038614: D0 08 BNE CODE_03861E ;/ branch CODE_038616: A9 FF LDA.B #$FF ;\ if it is, do some kind of useless stuff... CODE_038618: 9D 02 16 STA.W $1602,X ; | CODE_03861B: FE 7C 15 INC.W RAM_SpriteDir,X ;/ and swap sprite direction CODE_03861E: BD 7C 15 LDA.W RAM_SpriteDir,X ;\ use sprite direction to determine vertical speed CODE_038621: 29 01 AND.B #$01 ; | CODE_038623: A8 TAY ; | CODE_038624: B9 F4 85 LDA.W FlyingBlockSpeedY,Y ; | CODE_038627: 95 AA STA RAM_SpriteSpeedY,X ; | CODE_038629: B5 AA LDA RAM_SpriteSpeedY,X ;/ CODE_03862B: 48 PHA ; preserve current y speed CODE_03862C: BC 1C 15 LDY.W $151C,X ;\ if sprite set to go down first, CODE_03862F: D0 05 BNE CODE_038636 ;/ branch CODE_038631: 49 FF EOR.B #$FF ;\ else, invert y speed CODE_038633: 1A INC A ; | CODE_038634: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_038636: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_03863A: 68 PLA ;\ revert to old y speed for calculation purposes CODE_03863B: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_03863D: AD 9A 1B LDA.W $1B9A ; load background scroll status (activated: 08, inactivated: 00) CODE_038640: 95 B6 STA RAM_SpriteSpeedX,X CODE_038642: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_038646: 9D 28 15 STA.W $1528,X ; kind of useless, as this address is never loaded by this sprite CODE_038649: 22 4F B4 01 JSL.L InvisBlkMainRt ; make Mario able to stand on top of sprite CODE_03864D: 90 26 BCC Return038675 ; if Mario not standing on sprite, return CODE_03864F: AD 9A 1B LDA.W $1B9A ;\ if background scroll already triggered, CODE_038652: D0 21 BNE Return038675 ;/ return CODE_038654: A9 08 LDA.B #$08 ;\ else, set background scroll flag CODE_038656: 8D 9A 1B STA.W $1B9A ;/ CODE_038659: A9 7F LDA.B #$7F ;\ set direction change timer CODE_03865B: 9D 02 16 STA.W $1602,X ;/ CODE_03865E: A0 09 LDY.B #$09 ; setup loop CODE_038660: CC E9 15 CPY.W $15E9 ;\ if other flying grey turnblock sprites are present, CODE_038663: F0 07 BEQ CODE_03866C ; | CODE_038665: B9 9E 00 LDA.W RAM_SpriteNum,Y ; | CODE_038668: C9 C1 CMP.B #$C1 ; | CODE_03866A: F0 04 BEQ CODE_038670 ; | CODE_03866C: 88 DEY ; | CODE_03866D: 10 F1 BPL CODE_038660 ; | ADDR_03866F: C8 INY ; | CODE_038670: A9 7F LDA.B #$7F ; | set the direction change timer for those as well CODE_038672: 99 02 16 STA.W $1602,Y ;/ Return038675: 60 RTS ; return ForestPlatDispX: .db $00,$10,$20,$F2,$2E,$00,$10,$20 .db $FA,$2E ForestPlatDispY: .db $00,$00,$00,$F6,$F6,$00,$00,$00 .db $FE,$FE ForestPlatTiles: .db $40,$40,$40,$C6,$C6,$40,$40,$40 .db $5D,$5D ForestPlatGfxProp: .db $32,$32,$32,$72,$32,$32,$32,$32 .db $72,$32 ForestPlatTileSize: .db $02,$02,$02,$02,$02,$02,$02,$02 .db $00,$00 CODE_0386A8: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_0386AB: BC EA 15 LDY.W RAM_SprOAMIndex,X CODE_0386AE: A5 14 LDA RAM_FrameCounterB ;\ use frame counter to determine initial offset for tile tables CODE_0386B0: 4A LSR ; | CODE_0386B1: 29 04 AND.B #$04 ; | CODE_0386B3: F0 01 BEQ CODE_0386B6 ; | CODE_0386B5: 1A INC A ; | CODE_0386B6: 85 02 STA $02 ; | CODE_0386B8: DA PHX ; | CODE_0386B9: A2 04 LDX.B #$04 ; | setup graphics loop CODE_0386BB: 86 06 STX $06 ; | CODE_0386BD: 8A TXA ; | CODE_0386BE: 18 CLC ; | CODE_0386BF: 65 02 ADC $02 ; | CODE_0386C1: AA TAX ;/ CODE_0386C2: A5 00 LDA $00 ;\ set horizontal tile position CODE_0386C4: 18 CLC ; | CODE_0386C5: 7D 76 86 ADC.W ForestPlatDispX,X ; | CODE_0386C8: 99 00 03 STA.W OAM_DispX,Y ;/ CODE_0386CB: A5 01 LDA $01 ;\ set vertical tile position CODE_0386CD: 18 CLC ; | CODE_0386CE: 7D 80 86 ADC.W ForestPlatDispY,X ; | CODE_0386D1: 99 01 03 STA.W OAM_DispY,Y ;/ CODE_0386D4: BD 8A 86 LDA.W ForestPlatTiles,X ;\ set tile number CODE_0386D7: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_0386DA: BD 94 86 LDA.W ForestPlatGfxProp,X ;\ set tile properties CODE_0386DD: 99 03 03 STA.W OAM_Prop,Y ;/ CODE_0386E0: 5A PHY CODE_0386E1: 98 TYA CODE_0386E2: 4A LSR CODE_0386E3: 4A LSR CODE_0386E4: A8 TAY CODE_0386E5: BD 9E 86 LDA.W ForestPlatTileSize,X ;\ set tile size CODE_0386E8: 99 60 04 STA.W OAM_TileSize,Y ;/ CODE_0386EB: 7A PLY CODE_0386EC: C8 INY ;\ as we wrote a 16x16 tile to OAM, we must increase the sprite tilemap pointer by 4 CODE_0386ED: C8 INY ; | CODE_0386EE: C8 INY ; | CODE_0386EF: C8 INY ;/ CODE_0386F0: A6 06 LDX $06 ;\ if still tiles left to draw, CODE_0386F2: CA DEX ; | CODE_0386F3: 10 C6 BPL CODE_0386BB ;/ go to start of loop CODE_0386F5: FA PLX CODE_0386F6: A0 FF LDY.B #$FF ; the tiles drawn were of varying sizes (?) CODE_0386F8: A9 04 LDA.B #$04 ; we wrote five tiles CODE_0386FA: 22 B3 B7 01 JSL.L FinishOAMWrite Return0386FE: 60 RTS ; Return GrayLavaPlatform: 20 3A 87 JSR.W CODE_03873A ; graphics routine CODE_038702: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_038704: D0 2D BNE Return038733 ;/ return CODE_038706: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_038709: BD 40 15 LDA.W $1540,X ;\ if sprite hasn't started to sink or hasn't sunk completely, CODE_03870C: 3A DEC A ; | CODE_03870D: D0 0C BNE CODE_03871B ;/ branch CODE_03870F: BC 1A 16 LDY.W RAM_SprIndexInLvl,X ;\ set sprite to be initiated again CODE_038712: A9 00 LDA.B #$00 ; | CODE_038714: 99 38 19 STA.W RAM_SprLoadStatus,Y ; | CODE_038717: 9E C8 14 STZ.W $14C8,X ;/ Return03871A: 60 RTS ; return CODE_03871B: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_03871F: 22 4F B4 01 JSL.L InvisBlkMainRt ; make Mario able to stand on top of sprite CODE_038723: 90 0E BCC Return038733 ; if Mario not standing on sprite, return CODE_038725: BD 40 15 LDA.W $1540,X ;\ if sprite has already started to sink, CODE_038728: D0 09 BNE Return038733 ;/ return CODE_03872A: A9 06 LDA.B #$06 CODE_03872C: 95 AA STA RAM_SpriteSpeedY,X CODE_03872E: A9 40 LDA.B #$40 ;\ set sinking timer CODE_038730: 9D 40 15 STA.W $1540,X ;/ Return038733: 60 RTS ; return LavaPlatTiles: .db $85,$86,$85 DATA_038737: .db $43,$03,$03 CODE_03873A: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03873D: DA PHX CODE_03873E: A2 02 LDX.B #$02 ; setup loop counter CODE_038740: A5 00 LDA $00 ;\ set x position of tile CODE_038742: 99 00 03 STA.W OAM_DispX,Y ;/ CODE_038745: 18 CLC ;\ and setup x position for next tile CODE_038746: 69 10 ADC.B #$10 ; | CODE_038748: 85 00 STA $00 ;/ CODE_03874A: A5 01 LDA $01 ;\ set y position for tile CODE_03874C: 99 01 03 STA.W OAM_DispY,Y ;/ CODE_03874F: BD 34 87 LDA.W LavaPlatTiles,X ;\ set tile number CODE_038752: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_038755: BD 37 87 LDA.W DATA_038737,X ;\ set tile properties CODE_038758: 05 64 ORA $64 ; | add level properties CODE_03875A: 99 03 03 STA.W OAM_Prop,Y ;/ CODE_03875D: C8 INY ;\ as we wrote a 16x16 tile to OAM, we must increase the sprite tilemap pointer by 4 CODE_03875E: C8 INY ; | CODE_03875F: C8 INY ; | CODE_038760: C8 INY ;/ CODE_038761: CA DEX ;\ if tiles still left to draw, CODE_038762: 10 DC BPL CODE_038740 ;/ go to start of loop CODE_038764: FA PLX CODE_038765: A0 02 LDY.B #$02 ; the tiles written were 16x16 CODE_038767: A9 02 LDA.B #$02 ; we wrote three tiles CODE_038769: 22 B3 B7 01 JSL.L FinishOAMWrite Return03876D: 60 RTS ; return MegaMoleSpeed: .db $10,$F0 MegaMole: 20 3F 88 JSR.W MegaMoleGfxRt ; Graphics routine CODE_038773: BD C8 14 LDA.W $14C8,X ; \ CODE_038776: C9 08 CMP.B #$08 ; | If status != 8, return CODE_038778: D0 B9 BNE Return038733 ; / CODE_03877A: 20 4F B8 JSR.W SubOffscreen3Bnk3 ; Handle off screen situation CODE_03877D: BC 7C 15 LDY.W RAM_SpriteDir,X ; \ Set x speed based on direction CODE_038780: B9 6E 87 LDA.W MegaMoleSpeed,Y ; | CODE_038783: 95 B6 STA RAM_SpriteSpeedX,X ; / CODE_038785: A5 9D LDA RAM_SpritesLocked ; \ If sprites locked, return CODE_038787: D0 AA BNE Return038733 ; / CODE_038789: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_03878C: 29 04 AND.B #$04 CODE_03878E: 48 PHA CODE_03878F: 22 2A 80 01 JSL.L UpdateSpritePos ; Update position based on speed values CODE_038793: 22 32 80 01 JSL.L SprSprInteract ; Interact with other sprites CODE_038797: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_03879A: 29 04 AND.B #$04 ; | CODE_03879C: F0 05 BEQ MegaMoleInAir ; / CODE_03879E: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_0387A0: 68 PLA CODE_0387A1: 80 0F BRA MegaMoleOnGround MegaMoleInAir: 68 PLA CODE_0387A4: F0 05 BEQ MegaMoleWasInAir CODE_0387A6: A9 0A LDA.B #$0A CODE_0387A8: 9D 40 15 STA.W $1540,X MegaMoleWasInAir: BD 40 15 LDA.W $1540,X CODE_0387AE: F0 02 BEQ MegaMoleOnGround CODE_0387B0: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 MegaMoleOnGround: BC AC 15 LDY.W $15AC,X ; \ CODE_0387B5: BD 88 15 LDA.W RAM_SprObjStatus,X ; | If Mega Mole is in contact with an object... CODE_0387B8: 29 03 AND.B #$03 ; | CODE_0387BA: F0 11 BEQ CODE_0387CD ; | CODE_0387BC: C0 00 CPY.B #$00 ; | ... and timer hasn't been set (time until flip == 0)... CODE_0387BE: D0 05 BNE CODE_0387C5 ; | CODE_0387C0: A9 10 LDA.B #$10 ; | ... set time until flip CODE_0387C2: 9D AC 15 STA.W $15AC,X ; / CODE_0387C5: BD 7C 15 LDA.W RAM_SpriteDir,X ; \ Flip the temp direction status CODE_0387C8: 49 01 EOR.B #$01 ; | CODE_0387CA: 9D 7C 15 STA.W RAM_SpriteDir,X ; / CODE_0387CD: C0 00 CPY.B #$00 ; \ If time until flip == 0... CODE_0387CF: D0 06 BNE CODE_0387D7 ; | CODE_0387D1: BD 7C 15 LDA.W RAM_SpriteDir,X ; | ...update the direction status used by the gfx routine CODE_0387D4: 9D 1C 15 STA.W $151C,X ; / CODE_0387D7: 22 DC A7 01 JSL.L MarioSprInteract ; Check for mario/Mega Mole contact CODE_0387DB: 90 4D BCC Return03882A ; (Carry set = contact) CODE_0387DD: 20 29 B8 JSR.W SubVertPosBnk3 CODE_0387E0: A5 0E LDA $0E CODE_0387E2: C9 D8 CMP.B #$D8 CODE_0387E4: 10 38 BPL MegaMoleContact CODE_0387E6: A5 7D LDA RAM_MarioSpeedY CODE_0387E8: 30 40 BMI Return03882A CODE_0387EA: A9 01 LDA.B #$01 ; \ Set "on sprite" flag CODE_0387EC: 8D 71 14 STA.W $1471 ; / CODE_0387EF: A9 06 LDA.B #$06 ; \ Set riding Mega Mole CODE_0387F1: 9D 4C 15 STA.W RAM_DisableInter,X ; / CODE_0387F4: 64 7D STZ RAM_MarioSpeedY ; Y speed = 0 CODE_0387F6: A9 D6 LDA.B #$D6 ; \ CODE_0387F8: AC 7A 18 LDY.W RAM_OnYoshi ; | Mario's y position += C6 or D6 depending if on yoshi CODE_0387FB: F0 02 BEQ MegaMoleNoYoshi ; | CODE_0387FD: A9 C6 LDA.B #$C6 ; | MegaMoleNoYoshi: 18 CLC ; | CODE_038800: 75 D8 ADC RAM_SpriteYLo,X ; | CODE_038802: 85 96 STA RAM_MarioYPos ; | CODE_038804: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_038807: 69 FF ADC.B #$FF ; | CODE_038809: 85 97 STA RAM_MarioYPosHi ; / CODE_03880B: A0 00 LDY.B #$00 ; \ CODE_03880D: AD 91 14 LDA.W $1491 ; | $1491 == 01 or FF, depending on direction CODE_038810: 10 01 BPL CODE_038813 ; | Set mario's new x position CODE_038812: 88 DEY ; | CODE_038813: 18 CLC ; | CODE_038814: 65 94 ADC RAM_MarioXPos ; | CODE_038816: 85 94 STA RAM_MarioXPos ; | CODE_038818: 98 TYA ; | CODE_038819: 65 95 ADC RAM_MarioXPosHi ; | CODE_03881B: 85 95 STA RAM_MarioXPosHi ; / Return03881D: 60 RTS ; Return MegaMoleContact: BD 4C 15 LDA.W RAM_DisableInter,X ; \ If riding Mega Mole... CODE_038821: 1D D0 15 ORA.W $15D0,X ; | ...or Mega Mole being eaten... CODE_038824: D0 04 BNE Return03882A ; / ...return CODE_038826: 22 B7 F5 00 JSL.L HurtMario ; Hurt mario Return03882A: 60 RTS ; Return MegaMoleTileDispX: .db $00,$10,$00,$10,$10,$00,$10,$00 MegaMoleTileDispY: .db $F0,$F0,$00,$00 MegaMoleTiles: .db $C6,$C8,$E6,$E8,$CA,$CC,$EA,$EC MegaMoleGfxRt: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_038842: BD 1C 15 LDA.W $151C,X ; \ $02 = direction CODE_038845: 85 02 STA $02 ; / CODE_038847: A5 14 LDA RAM_FrameCounterB ; \ CODE_038849: 4A LSR ; | CODE_03884A: 4A LSR ; | CODE_03884B: EA NOP ; | CODE_03884C: 18 CLC ; | CODE_03884D: 6D E9 15 ADC.W $15E9 ; | CODE_038850: 29 01 AND.B #$01 ; | CODE_038852: 0A ASL ; | CODE_038853: 0A ASL ; | CODE_038854: 85 03 STA $03 ; | $03 = index to frame start (0 or 4) CODE_038856: DA PHX ; / CODE_038857: A2 03 LDX.B #$03 ; Run loop 4 times, cuz 4 tiles per frame MegaMoleGfxLoopSt: DA PHX ; Push, current tile CODE_03885A: A5 02 LDA $02 ; \ CODE_03885C: D0 04 BNE MegaMoleFaceLeft ; | If facing right, index to frame end += 4 CODE_03885E: E8 INX ; | CODE_03885F: E8 INX ; | CODE_038860: E8 INX ; | CODE_038861: E8 INX ; / MegaMoleFaceLeft: A5 00 LDA $00 ; \ Tile x position = sprite x location ($00) + tile displacement CODE_038864: 18 CLC ; | CODE_038865: 7D 2B 88 ADC.W MegaMoleTileDispX,X ; | CODE_038868: 99 00 03 STA.W OAM_DispX,Y ; / CODE_03886B: FA PLX ; \ Pull, X = index to frame end CODE_03886C: A5 01 LDA $01 ; | CODE_03886E: 18 CLC ; | Tile y position = sprite y location ($01) + tile displacement CODE_03886F: 7D 33 88 ADC.W MegaMoleTileDispY,X ; | CODE_038872: 99 01 03 STA.W OAM_DispY,Y ; / CODE_038875: DA PHX ; \ Set current tile CODE_038876: 8A TXA ; | X = index of frame start + current tile CODE_038877: 18 CLC ; | CODE_038878: 65 03 ADC $03 ; | CODE_03887A: AA TAX ; | CODE_03887B: BD 37 88 LDA.W MegaMoleTiles,X ; | CODE_03887E: 99 02 03 STA.W OAM_Tile,Y ; / CODE_038881: A9 01 LDA.B #$01 ; Tile properties xyppccct, format CODE_038883: A6 02 LDX $02 ; \ If direction == 0... CODE_038885: D0 02 BNE MegaMoleGfxNoFlip ; | CODE_038887: 09 40 ORA.B #$40 ; / ...flip tile MegaMoleGfxNoFlip: 05 64 ORA $64 ; Add in tile priority of level CODE_03888B: 99 03 03 STA.W OAM_Prop,Y ; Store tile properties CODE_03888E: FA PLX ; \ Pull, current tile CODE_03888F: C8 INY ; | Increase index to sprite tile map ($300)... CODE_038890: C8 INY ; | ...we wrote 4 bytes CODE_038891: C8 INY ; | ...so increment 4 times CODE_038892: C8 INY ; | CODE_038893: CA DEX ; | Go to next tile of frame and loop CODE_038894: 10 C3 BPL MegaMoleGfxLoopSt ; / CODE_038896: FA PLX ; Pull, X = sprite index CODE_038897: A0 02 LDY.B #$02 ; \ Will write 02 to $0460 (all 16x16 tiles) CODE_038899: A9 03 LDA.B #$03 ; | A = number of tiles drawn - 1 CODE_03889B: 22 B3 B7 01 JSL.L FinishOAMWrite ; / Don't draw if offscreen Return03889F: 60 RTS ; Return BatTiles: .db $AE,$C0,$E8 Swooper: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_0388A7: BC EA 15 LDY.W RAM_SprOAMIndex,X ;\ use sprite index... CODE_0388AA: DA PHX ; | CODE_0388AB: BD 02 16 LDA.W $1602,X ; | and current graphics frame... CODE_0388AE: AA TAX ; | CODE_0388AF: BD A0 88 LDA.W BatTiles,X ; | to determine which tile to be used CODE_0388B2: 99 02 03 STA.W OAM_Tile,Y ; | CODE_0388B5: FA PLX ;/ CODE_0388B6: BD C8 14 LDA.W $14C8,X ;\ if sprite status normal, CODE_0388B9: C9 08 CMP.B #$08 ; | CODE_0388BB: F0 03 BEQ CODE_0388C0 ;/ go to main code CODE_0388BD: 4C EC 84 JMP.W CODE_0384EC ; else, turn sprite upside down CODE_0388C0: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_0388C2: D0 1B BNE Return0388DF ;/ return CODE_0388C4: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_0388C7: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_0388CB: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_0388CF: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_0388D3: B5 C2 LDA RAM_SpriteState,X ;\ use sprite state to determine which code to go to CODE_0388D5: 22 DF 86 00 JSL.L ExecutePtr ;/ ...somehow SwooperPtrs: E4 88 .dw CODE_0388E4 ; waiting 05 89 .dw CODE_038905 ; swooping down 36 89 .dw CODE_038936 ; flying horizontally Return0388DF: 60 RTS ; return DATA_0388E0: .db $10,$F0 DATA_0388E2: .db $01,$FF CODE_0388E4: BD A0 15 LDA.W RAM_OffscreenHorz,X ;\ if sprite offscreen horizontally, CODE_0388E7: D0 1B BNE Return038904 ;/ return CODE_0388E9: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_0388EC: A5 0F LDA $0F ;\ if Mario more than 0x50 pixels (5 16x16 tiles) from sprite, CODE_0388EE: 18 CLC ; | CODE_0388EF: 69 50 ADC.B #$50 ; | CODE_0388F1: C9 A0 CMP.B #$A0 ; | CODE_0388F3: B0 0F BCS Return038904 ;/ return CODE_0388F5: F6 C2 INC RAM_SpriteState,X ; sprite state = swooping down CODE_0388F7: 98 TYA ;\ make sprite face Mario CODE_0388F8: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ CODE_0388FB: A9 20 LDA.B #$20 ;\ set initial y speed CODE_0388FD: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_0388FF: A9 26 LDA.B #$26 ;\ play sound effect CODE_038901: 8D FC 1D STA.W $1DFC ;/ Return038904: 60 RTS ; return CODE_038905: A5 13 LDA RAM_FrameCounter ;\ three out of four frames, CODE_038907: 29 03 AND.B #$03 ; | CODE_038909: D0 0A BNE CODE_038915 ;/ branch CODE_03890B: B5 AA LDA RAM_SpriteSpeedY,X ;\ if sprite y speed == 0, CODE_03890D: F0 06 BEQ CODE_038915 ;/ branch CODE_03890F: D6 AA DEC RAM_SpriteSpeedY,X CODE_038911: D0 02 BNE CODE_038915 ; if new sprite y speed =/= 0, branch CODE_038913: F6 C2 INC RAM_SpriteState,X ; else, sprite state = flying horizontally CODE_038915: A5 13 LDA RAM_FrameCounter ;\ three out of four frames, CODE_038917: 29 03 AND.B #$03 ; | CODE_038919: D0 10 BNE CODE_03892B ;/ branch CODE_03891B: BC 7C 15 LDY.W RAM_SpriteDir,X ;\ set sprite x speed according to direction CODE_03891E: B5 B6 LDA RAM_SpriteSpeedX,X ;/ CODE_038920: D9 E0 88 CMP.W DATA_0388E0,Y ;\ if max x speed achieved, CODE_038923: F0 06 BEQ CODE_03892B ;/ skip accelerating sprite CODE_038925: 18 CLC ;\ else, CODE_038926: 79 E2 88 ADC.W DATA_0388E2,Y ; | CODE_038929: 95 B6 STA RAM_SpriteSpeedX,X ;/ accelerate sprite CODE_03892B: A5 14 LDA RAM_FrameCounterB ;\ use frame counter to determine graphics frame to use CODE_03892D: 29 04 AND.B #$04 ; | CODE_03892F: 4A LSR ; | CODE_038930: 4A LSR ; | CODE_038931: 1A INC A ; | CODE_038932: 9D 02 16 STA.W $1602,X ;/ Return038935: 60 RTS ; return CODE_038936: A5 13 LDA RAM_FrameCounter ;\ if number of current frame is odd, CODE_038938: 29 01 AND.B #$01 ; | CODE_03893A: D0 16 BNE CODE_038952 ;/ branch CODE_03893C: BD 1C 15 LDA.W $151C,X ;\ use sprite vertical direction to determine vertical acceleration CODE_03893F: 29 01 AND.B #$01 ; | CODE_038941: A8 TAY ; | CODE_038942: B5 AA LDA RAM_SpriteSpeedY,X ; | CODE_038944: 18 CLC ; | CODE_038945: 79 C8 84 ADC.W BlurpAccelY,Y ; | CODE_038948: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_03894A: D9 C4 84 CMP.W BlurpMaxSpeedY,Y ;\ if max y speed in current direction not achieved, CODE_03894D: D0 03 BNE CODE_038952 ;/ branch CODE_03894F: FE 1C 15 INC.W $151C,X ; else, swap sprite vertical direction CODE_038952: 80 C1 BRA CODE_038915 ; reuse normal movement routine from the previous sprite state DATA_038954: .db $20,$E0 DATA_038956: .db $02,$FE SlidingKoopa: A9 00 LDA.B #$00 ;\ use sprite speed to determine direction CODE_03895A: B4 B6 LDY RAM_SpriteSpeedX,X ; | CODE_03895C: F0 06 BEQ CODE_038964 ; | CODE_03895E: 10 01 BPL CODE_038961 ; | CODE_038960: 1A INC A ; | CODE_038961: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ CODE_038964: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_038968: BC EA 15 LDY.W RAM_SprOAMIndex,X CODE_03896B: BD 58 15 LDA.W $1558,X ;\ if not time to become normal blue shelless Koopa, CODE_03896E: C9 01 CMP.B #$01 ; | CODE_038970: D0 11 BNE CODE_038983 ;/ branch CODE_038972: BD 7C 15 LDA.W RAM_SpriteDir,X ;\ preserve sprite direction CODE_038975: 48 PHA ;/ CODE_038976: A9 02 LDA.B #$02 ;\ sprite number = shelless blue Koopa CODE_038978: 95 9E STA RAM_SpriteNum,X ;/ CODE_03897A: 22 D2 F7 07 JSL.L InitSpriteTables ; INIT shelless blue Koopa CODE_03897E: 68 PLA ;\ get sprite direction back CODE_03897F: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ CODE_038982: 38 SEC ; set carry flag, for graphics tile determining purposes CODE_038983: A9 86 LDA.B #$86 ; if carry flag not set (sprite is still sliding blue Koopa), use tile 0x86 CODE_038985: 90 02 BCC CODE_038989 CODE_038987: A9 E0 LDA.B #$E0 ; if carry flag set (sprite is shelless blue Koopa), use tile 0xE0 CODE_038989: 99 02 03 STA.W OAM_Tile,Y CODE_03898C: BD C8 14 LDA.W $14C8,X ;\ if sprite status not normal, CODE_03898F: C9 08 CMP.B #$08 ; | CODE_038991: D0 6B BNE Return0389FE ;/ return CODE_038993: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_038996: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_03899A: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked... CODE_03899C: 1D 40 15 ORA.W $1540,X ; | ...or INIT timer not finished counting down... CODE_03899F: 1D 58 15 ORA.W $1558,X ; | ...or sprite about to become shelless blue Koopa, CODE_0389A2: D0 5A BNE Return0389FE ;/ return CODE_0389A4: 22 2A 80 01 JSL.L UpdateSpritePos CODE_0389A8: BD 88 15 LDA.W RAM_SprObjStatus,X ;\ if sprite not on ground, CODE_0389AB: 29 04 AND.B #$04 ; | CODE_0389AD: F0 4F BEQ Return0389FE ;/ branch CODE_0389AF: 20 FF 89 JSR.W CODE_0389FF ; display smoke image CODE_0389B2: A0 00 LDY.B #$00 CODE_0389B4: B5 B6 LDA RAM_SpriteSpeedX,X CODE_0389B6: F0 14 BEQ CODE_0389CC ; if sprite x speed == 0, branch CODE_0389B8: 10 03 BPL CODE_0389BD ; if sprite moving right, branch CODE_0389BA: 49 FF EOR.B #$FF ;\ 00 = inverted x speed CODE_0389BC: 1A INC A ; | CODE_0389BD: 85 00 STA $00 ;/ CODE_0389BF: BD B8 15 LDA.W $15B8,X ;\ if sprite not on slope (?), CODE_0389C2: F0 08 BEQ CODE_0389CC ;/ branch CODE_0389C4: A4 00 LDY $00 CODE_0389C6: 55 B6 EOR RAM_SpriteSpeedX,X ;\ CODE_0389C8: 10 02 BPL CODE_0389CC ;/ branch CODE_0389CA: A0 D0 LDY.B #$D0 CODE_0389CC: 94 AA STY RAM_SpriteSpeedY,X CODE_0389CE: A5 13 LDA RAM_FrameCounter ;\ if frame number odd, CODE_0389D0: 29 01 AND.B #$01 ; | CODE_0389D2: D0 2A BNE Return0389FE ;/ return CODE_0389D4: BD B8 15 LDA.W $15B8,X ;\ if sprite on slope (?) CODE_0389D7: D0 13 BNE CODE_0389EC ;/ branch CODE_0389D9: B5 B6 LDA RAM_SpriteSpeedX,X ;\ if sprite x speed =/= 0, CODE_0389DB: D0 06 BNE CODE_0389E3 ;/ return CODE_0389DD: A9 20 LDA.B #$20 ;\ set timer for turning into blue shelless Koopa CODE_0389DF: 9D 58 15 STA.W $1558,X ;/ Return0389E2: 60 RTS ; return CODE_0389E3: 10 04 BPL CODE_0389E9 ;\ decelerate sprite CODE_0389E5: F6 B6 INC RAM_SpriteSpeedX,X ; | CODE_0389E7: F6 B6 INC RAM_SpriteSpeedX,X ; | CODE_0389E9: D6 B6 DEC RAM_SpriteSpeedX,X ;/ Return0389EB: 60 RTS ; Return CODE_0389EC: 0A ASL ;\ if max x speed in the current direction achieved, don't accelerate sprite CODE_0389ED: 2A ROL ; | CODE_0389EE: 29 01 AND.B #$01 ; | CODE_0389F0: A8 TAY ; | CODE_0389F1: B5 B6 LDA RAM_SpriteSpeedX,X ; | CODE_0389F3: D9 54 89 CMP.W DATA_038954,Y ; | CODE_0389F6: F0 06 BEQ Return0389FE ;/ CODE_0389F8: 18 CLC ;\ if not, accelerate sprite in the current direction CODE_0389F9: 79 56 89 ADC.W DATA_038956,Y ; | CODE_0389FC: 95 B6 STA RAM_SpriteSpeedX,X ;/ Return0389FE: 60 RTS ; return CODE_0389FF: B5 B6 LDA RAM_SpriteSpeedX,X ;\ if sprite x speed == 0, CODE_038A01: F0 1D BEQ Return038A20 ;/ return CODE_038A03: A5 13 LDA RAM_FrameCounter ;\ three out of four frames, CODE_038A05: 29 03 AND.B #$03 ; | CODE_038A07: D0 17 BNE Return038A20 ;/ return CODE_038A09: A9 04 LDA.B #$04 ;\ set smoke x and y offsets CODE_038A0B: 85 00 STA $00 ; | CODE_038A0D: A9 0A LDA.B #$0A ; | CODE_038A0F: 85 01 STA $01 ;/ CODE_038A11: 20 FB B8 JSR.W IsSprOffScreenBnk3 ;\ if sprite is offscreen, CODE_038A14: D0 0A BNE Return038A20 ;/ return CODE_038A16: A0 03 LDY.B #$03 ; setup loop CODE_038A18: B9 C0 17 LDA.W $17C0,Y ;\ check for free smoke image slot CODE_038A1B: F0 04 BEQ CODE_038A21 ; | CODE_038A1D: 88 DEY ; | CODE_038A1E: 10 F8 BPL CODE_038A18 ;/ Return038A20: 60 RTS ; return CODE_038A21: A9 03 LDA.B #$03 ;\ display smoke image CODE_038A23: 99 C0 17 STA.W $17C0,Y ;/ CODE_038A26: B5 E4 LDA RAM_SpriteXLo,X ;\ set smoke x position CODE_038A28: 18 CLC ; | CODE_038A29: 65 00 ADC $00 ; | CODE_038A2B: 99 C8 17 STA.W $17C8,Y ;/ CODE_038A2E: B5 D8 LDA RAM_SpriteYLo,X ;\ set smoke y position CODE_038A30: 18 CLC ; | CODE_038A31: 65 01 ADC $01 ; | CODE_038A33: 99 C4 17 STA.W $17C4,Y ;/ CODE_038A36: A9 13 LDA.B #$13 ;\ set time for smoke to display CODE_038A38: 99 CC 17 STA.W $17CC,Y ;/ Return038A3B: 60 RTS ; return BowserStatue: 20 3D 8B JSR.W BowserStatueGfx ; graphics routine CODE_038A3F: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_038A41: D0 25 BNE Return038A68 ;/ return CODE_038A43: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_038A46: B5 C2 LDA RAM_SpriteState,X ;\ use sprite state to determine where to jump CODE_038A48: 22 DF 86 00 JSL.L ExecutePtr ;/ using a routine I don't know anything about ; list of sprite states BowserStatuePtrs: 57 8A .dw CODE_038A57 ; just kind of sitting there 54 8A .dw CODE_038A54 ; breathing fire 69 8A .dw CODE_038A69 ; jumping around 54 8A .dw CODE_038A54 ; same as the second one CODE_038A54: 20 CB 8A JSR.W CODE_038ACB ; firebreathing routine CODE_038A57: 22 4F B4 01 JSL.L InvisBlkMainRt ; make Mario able to stand on sprite CODE_038A5B: 22 2A 80 01 JSL.L UpdateSpritePos CODE_038A5F: BD 88 15 LDA.W RAM_SprObjStatus,X ;\ if sprite not on ground, CODE_038A62: 29 04 AND.B #$04 ; | CODE_038A64: F0 02 BEQ Return038A68 ;/ return CODE_038A66: 74 AA STZ RAM_SpriteSpeedY,X ; else, set sprite y speed to zero Return038A68: 60 RTS ; return CODE_038A69: 1E 7A 16 ASL.W RAM_Tweaker167A,X ;\ get rid of the high bit from Tweaker value 167A ("Don't use default interaction with Mario") CODE_038A6C: 5E 7A 16 LSR.W RAM_Tweaker167A,X ;/ CODE_038A6F: 22 DC A7 01 JSL.L MarioSprInteract CODE_038A73: 9E 02 16 STZ.W $1602,X ; reset sprite graphics frame CODE_038A76: B5 AA LDA RAM_SpriteSpeedY,X ;\ if sprite speed less than 0x10, CODE_038A78: C9 10 CMP.B #$10 ; | CODE_038A7A: 10 03 BPL CODE_038A7F ;/ branch CODE_038A7C: FE 02 16 INC.W $1602,X ; use jumping graphics frame CODE_038A7F: 22 2A 80 01 JSL.L UpdateSpritePos CODE_038A83: BD 88 15 LDA.W RAM_SprObjStatus,X ;\ if sprite not touching object from the side, CODE_038A86: 29 03 AND.B #$03 ; | CODE_038A88: F0 0F BEQ CODE_038A99 ;/ branch ADDR_038A8A: B5 B6 LDA RAM_SpriteSpeedX,X ;\ else, invert sprite x speed ADDR_038A8C: 49 FF EOR.B #$FF ; | ADDR_038A8E: 1A INC A ; | ADDR_038A8F: 95 B6 STA RAM_SpriteSpeedX,X ;/ ADDR_038A91: BD 7C 15 LDA.W RAM_SpriteDir,X ;\ and swap sprite direction ADDR_038A94: 49 01 EOR.B #$01 ; | ADDR_038A96: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ CODE_038A99: BD 88 15 LDA.W RAM_SprObjStatus,X ;\ if sprite not on ground, CODE_038A9C: 29 04 AND.B #$04 ; | CODE_038A9E: F0 26 BEQ Return038AC6 ;/ return CODE_038AA0: A9 10 LDA.B #$10 CODE_038AA2: 95 AA STA RAM_SpriteSpeedY,X CODE_038AA4: 74 B6 STZ RAM_SpriteSpeedX,X CODE_038AA6: BD 40 15 LDA.W $1540,X ;\ if sprite just jumped, CODE_038AA9: F0 16 BEQ CODE_038AC1 ;/ branch CODE_038AAB: 3A DEC A ;\ if not time to jump, CODE_038AAC: D0 18 BNE Return038AC6 ;/ branch CODE_038AAE: A9 C0 LDA.B #$C0 ;\ set initial jumping y speed CODE_038AB0: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_038AB2: 20 17 B8 JSR.W SubHorzPosBnk3 ;\ set direction and x speed to make sprite jump towards Mario CODE_038AB5: 98 TYA ; | CODE_038AB6: 9D 7C 15 STA.W RAM_SpriteDir,X ; | CODE_038AB9: B9 BF 8A LDA.W BwsrStatueSpeed,Y ; | CODE_038ABC: 95 B6 STA RAM_SpriteSpeedX,X ;/ Return038ABE: 60 RTS ; return BwsrStatueSpeed: .db $10,$F0 CODE_038AC1: A9 30 LDA.B #$30 ;\ set time until next jump CODE_038AC3: 9D 40 15 STA.W $1540,X ;/ Return038AC6: 60 RTS ; return BwserFireDispXLo: .db $10,$F0 BwserFireDispXHi: .db $00,$FF CODE_038ACB: 8A TXA CODE_038ACC: 0A ASL CODE_038ACD: 0A ASL CODE_038ACE: 65 13 ADC RAM_FrameCounter ;\ if not time to spawn sprite, CODE_038AD0: 29 7F AND.B #$7F ;/ return CODE_038AD2: D0 50 BNE Return038B24 CODE_038AD4: 22 E4 A9 02 JSL.L FindFreeSprSlot ;\ if no free sprite slots, CODE_038AD8: 30 4A BMI Return038B24 ;/ return CODE_038ADA: A9 17 LDA.B #$17 ;\ sound effect CODE_038ADC: 8D FC 1D STA.W $1DFC ;/ CODE_038ADF: A9 08 LDA.B #$08 ;\ sprite status = normal CODE_038AE1: 99 C8 14 STA.W $14C8,Y ;/ CODE_038AE4: A9 B3 LDA.B #$B3 ;\ sprite = Bowser Statue Fireball (sprite #B3) CODE_038AE6: 99 9E 00 STA.W RAM_SpriteNum,Y ;/ CODE_038AE9: B5 E4 LDA RAM_SpriteXLo,X ;\ set sprite x position CODE_038AEB: 85 00 STA $00 ; | CODE_038AED: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_038AF0: 85 01 STA $01 ; | CODE_038AF2: DA PHX ; | CODE_038AF3: BD 7C 15 LDA.W RAM_SpriteDir,X ; | CODE_038AF6: AA TAX ; | CODE_038AF7: A5 00 LDA $00 ; | CODE_038AF9: 18 CLC ; | CODE_038AFA: 7D C7 8A ADC.W BwserFireDispXLo,X ; | CODE_038AFD: 99 E4 00 STA.W RAM_SpriteXLo,Y ; | CODE_038B00: A5 01 LDA $01 ; | CODE_038B02: 7D C9 8A ADC.W BwserFireDispXHi,X ; | CODE_038B05: 99 E0 14 STA.W RAM_SpriteXHi,Y ;/ CODE_038B08: BB TYX ;\ reset sprite table values for new sprite CODE_038B09: 22 D2 F7 07 JSL.L InitSpriteTables ; | CODE_038B0D: FA PLX ;/ CODE_038B0E: B5 D8 LDA RAM_SpriteYLo,X ;\ set sprite y position CODE_038B10: 38 SEC ; | CODE_038B11: E9 02 SBC.B #$02 ; | CODE_038B13: 99 D8 00 STA.W RAM_SpriteYLo,Y ; | CODE_038B16: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_038B19: E9 00 SBC.B #$00 ; | CODE_038B1B: 99 D4 14 STA.W RAM_SpriteYHi,Y ;/ CODE_038B1E: BD 7C 15 LDA.W RAM_SpriteDir,X ;\ set sprite direction CODE_038B21: 99 7C 15 STA.W RAM_SpriteDir,Y ;/ Return038B24: 60 RTS ; return BwsrStatueDispX: .db $08,$F8,$00,$00,$08,$00 BwsrStatueDispY: .db $10,$F8,$00 BwsrStatueTiles: .db $56,$30,$41,$56,$30,$35 BwsrStatueTileSize: .db $00,$02,$02 BwsrStatueGfxProp: .db $00,$00,$00,$40,$40,$40 BowserStatueGfx: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_038B40: BD 02 16 LDA.W $1602,X ;\ $04 = graphics frame CODE_038B43: 85 04 STA $04 ;/ CODE_038B45: 49 01 EOR.B #$01 CODE_038B47: 3A DEC A CODE_038B48: 85 03 STA $03 CODE_038B4A: BD F6 15 LDA.W RAM_SpritePal,X ;\ $05 = tile properties CODE_038B4D: 85 05 STA $05 ;/ CODE_038B4F: BD 7C 15 LDA.W RAM_SpriteDir,X ;\ $02 = sprite direction CODE_038B52: 85 02 STA $02 ;/ CODE_038B54: DA PHX CODE_038B55: A2 02 LDX.B #$02 ; setup loop CODE_038B57: DA PHX CODE_038B58: A5 02 LDA $02 ;\ use direction to determine x position table pointers to use CODE_038B5A: D0 03 BNE CODE_038B5F ; | CODE_038B5C: E8 INX ; | CODE_038B5D: E8 INX ; | CODE_038B5E: E8 INX ;/ CODE_038B5F: A5 00 LDA $00 ;\ set x position of tile CODE_038B61: 18 CLC ; | CODE_038B62: 7D 25 8B ADC.W BwsrStatueDispX,X ; | CODE_038B65: 99 00 03 STA.W OAM_DispX,Y ;/ CODE_038B68: BD 37 8B LDA.W BwsrStatueGfxProp,X ;\ palette depends on type of Bowser statue CODE_038B6B: 05 05 ORA $05 ; | add in tile properties CODE_038B6D: 05 64 ORA $64 ; | add in level properties CODE_038B6F: 99 03 03 STA.W OAM_Prop,Y ;/ CODE_038B72: FA PLX CODE_038B73: A5 01 LDA $01 ;\ set y position of tile CODE_038B75: 18 CLC ; | CODE_038B76: 7D 2B 8B ADC.W BwsrStatueDispY,X ; | CODE_038B79: 99 01 03 STA.W OAM_DispY,Y ;/ CODE_038B7C: DA PHX CODE_038B7D: A5 04 LDA $04 ;\ use graphics frame to determine tile table pointers to use CODE_038B7F: F0 03 BEQ CODE_038B84 ; | CODE_038B81: E8 INX ; | CODE_038B82: E8 INX ; | CODE_038B83: E8 INX ;/ CODE_038B84: BD 2E 8B LDA.W BwsrStatueTiles,X ;\ set tile number CODE_038B87: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_038B8A: FA PLX CODE_038B8B: 5A PHY CODE_038B8C: 98 TYA CODE_038B8D: 4A LSR CODE_038B8E: 4A LSR CODE_038B8F: A8 TAY CODE_038B90: BD 34 8B LDA.W BwsrStatueTileSize,X ;\ set size of tile CODE_038B93: 99 60 04 STA.W OAM_TileSize,Y ; / CODE_038B96: 7A PLY CODE_038B97: C8 INY ;\ as we wrote a 16x16 tile to OAM, we need to increase the sprite tilemap pointer by 4 CODE_038B98: C8 INY ; | CODE_038B99: C8 INY ; | CODE_038B9A: C8 INY ;/ CODE_038B9B: CA DEX ; decrease loop counter CODE_038B9C: E4 03 CPX $03 ;\ if still tiles left to draw, CODE_038B9E: D0 B7 BNE CODE_038B57 ;/ go to start of loop CODE_038BA0: FA PLX CODE_038BA1: A0 FF LDY.B #$FF ; the tiles written were of various sizes CODE_038BA3: A9 02 LDA.B #$02 ; we wrote three tiles CODE_038BA5: 22 B3 B7 01 JSL.L FinishOAMWrite Return038BA9: 60 RTS ; return DATA_038BAA: .db $20,$20,$20,$20,$20,$20,$20,$20 .db $20,$20,$20,$20,$20,$20,$20,$20 .db $20,$1F,$1E,$1D,$1C,$1B,$1A,$19 .db $18,$17,$16,$15,$14,$13,$12,$11 .db $10,$0F,$0E,$0D,$0C,$0B,$0A,$09 .db $08,$07,$06,$05,$04,$03,$02,$01 .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 $01,$02,$03,$04,$05,$06,$07,$08 .db $09,$0A,$0B,$0C,$0D,$0E,$0F,$10 .db $11,$12,$13,$14,$15,$16,$17,$18 .db $19,$1A,$1B,$1C,$1D,$1E,$1F,$20 .db $20,$20,$20,$20,$20,$20,$20,$20 .db $20,$20,$20,$20,$20,$20,$20,$20 DATA_038C2A: .db $00,$F8,$00,$08 Return038C2E: 60 RTS ; Return CarrotTopLift: 20 24 8D JSR.W CarrotTopLiftGfx ; I can't seem to make sense of the details of the routine below... Anyone else is free to try. CODE_038C32: A5 9D LDA RAM_SpritesLocked CODE_038C34: D0 F8 BNE Return038C2E CODE_038C36: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_038C39: BD 40 15 LDA.W $1540,X CODE_038C3C: D0 07 BNE CODE_038C45 CODE_038C3E: F6 C2 INC RAM_SpriteState,X CODE_038C40: A9 80 LDA.B #$80 CODE_038C42: 9D 40 15 STA.W $1540,X CODE_038C45: B5 C2 LDA RAM_SpriteState,X CODE_038C47: 29 03 AND.B #$03 CODE_038C49: A8 TAY CODE_038C4A: B9 2A 8C LDA.W DATA_038C2A,Y CODE_038C4D: 95 B6 STA RAM_SpriteSpeedX,X CODE_038C4F: B5 B6 LDA RAM_SpriteSpeedX,X CODE_038C51: B4 9E LDY RAM_SpriteNum,X CODE_038C53: C0 B8 CPY.B #$B8 CODE_038C55: F0 03 BEQ CODE_038C5A CODE_038C57: 49 FF EOR.B #$FF CODE_038C59: 1A INC A CODE_038C5A: 95 AA STA RAM_SpriteSpeedY,X CODE_038C5C: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_038C60: B5 E4 LDA RAM_SpriteXLo,X CODE_038C62: 9D 1C 15 STA.W $151C,X CODE_038C65: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_038C69: 20 E4 8C JSR.W CODE_038CE4 CODE_038C6C: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_038C70: 22 2B B7 03 JSL.L CheckForContact CODE_038C74: 90 6D BCC Return038CE3 CODE_038C76: A5 7D LDA RAM_MarioSpeedY CODE_038C78: 30 69 BMI Return038CE3 CODE_038C7A: A5 94 LDA RAM_MarioXPos CODE_038C7C: 38 SEC CODE_038C7D: FD 1C 15 SBC.W $151C,X CODE_038C80: 18 CLC CODE_038C81: 69 1C ADC.B #$1C CODE_038C83: B4 9E LDY RAM_SpriteNum,X CODE_038C85: C0 B8 CPY.B #$B8 CODE_038C87: D0 03 BNE CODE_038C8C CODE_038C89: 18 CLC CODE_038C8A: 69 38 ADC.B #$38 CODE_038C8C: A8 TAY CODE_038C8D: AD 7A 18 LDA.W RAM_OnYoshi CODE_038C90: C9 01 CMP.B #$01 CODE_038C92: A9 20 LDA.B #$20 CODE_038C94: 90 02 BCC CODE_038C98 ADDR_038C96: A9 30 LDA.B #$30 CODE_038C98: 18 CLC CODE_038C99: 65 96 ADC RAM_MarioYPos CODE_038C9B: 85 00 STA $00 CODE_038C9D: B5 D8 LDA RAM_SpriteYLo,X CODE_038C9F: 18 CLC CODE_038CA0: 79 AA 8B ADC.W DATA_038BAA,Y CODE_038CA3: C5 00 CMP $00 CODE_038CA5: 10 3C BPL Return038CE3 CODE_038CA7: AD 7A 18 LDA.W RAM_OnYoshi CODE_038CAA: C9 01 CMP.B #$01 CODE_038CAC: A9 1D LDA.B #$1D CODE_038CAE: 90 02 BCC CODE_038CB2 ADDR_038CB0: A9 2D LDA.B #$2D CODE_038CB2: 85 00 STA $00 CODE_038CB4: B5 D8 LDA RAM_SpriteYLo,X CODE_038CB6: 18 CLC CODE_038CB7: 79 AA 8B ADC.W DATA_038BAA,Y CODE_038CBA: 08 PHP CODE_038CBB: 38 SEC CODE_038CBC: E5 00 SBC $00 CODE_038CBE: 85 96 STA RAM_MarioYPos CODE_038CC0: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_038CC3: E9 00 SBC.B #$00 CODE_038CC5: 28 PLP CODE_038CC6: 69 00 ADC.B #$00 CODE_038CC8: 85 97 STA RAM_MarioYPosHi CODE_038CCA: 64 7D STZ RAM_MarioSpeedY CODE_038CCC: A9 01 LDA.B #$01 CODE_038CCE: 8D 71 14 STA.W $1471 CODE_038CD1: A0 00 LDY.B #$00 CODE_038CD3: AD 91 14 LDA.W $1491 CODE_038CD6: 10 01 BPL CODE_038CD9 CODE_038CD8: 88 DEY CODE_038CD9: 18 CLC CODE_038CDA: 65 94 ADC RAM_MarioXPos CODE_038CDC: 85 94 STA RAM_MarioXPos CODE_038CDE: 98 TYA CODE_038CDF: 65 95 ADC RAM_MarioXPosHi CODE_038CE1: 85 95 STA RAM_MarioXPosHi Return038CE3: 60 RTS ; Return CODE_038CE4: A5 94 LDA RAM_MarioXPos CODE_038CE6: 18 CLC CODE_038CE7: 69 04 ADC.B #$04 CODE_038CE9: 85 00 STA $00 CODE_038CEB: A5 95 LDA RAM_MarioXPosHi CODE_038CED: 69 00 ADC.B #$00 CODE_038CEF: 85 08 STA $08 CODE_038CF1: A9 08 LDA.B #$08 CODE_038CF3: 85 02 STA $02 CODE_038CF5: 85 03 STA $03 CODE_038CF7: A9 20 LDA.B #$20 CODE_038CF9: AC 7A 18 LDY.W RAM_OnYoshi CODE_038CFC: F0 02 BEQ CODE_038D00 ADDR_038CFE: A9 30 LDA.B #$30 CODE_038D00: 18 CLC CODE_038D01: 65 96 ADC RAM_MarioYPos CODE_038D03: 85 01 STA $01 CODE_038D05: A5 97 LDA RAM_MarioYPosHi CODE_038D07: 69 00 ADC.B #$00 CODE_038D09: 85 09 STA $09 Return038D0B: 60 RTS ; Return DiagPlatDispX: .db $10,$00,$10,$00,$10,$00 DiagPlatDispY: .db $00,$10,$10,$00,$10,$10 DiagPlatTiles: .db $E4,$E0,$E2,$E4,$E0,$E2 DiagPlatGfxProp: .db $0B,$0B,$0B,$4B,$4B,$4B CarrotTopLiftGfx: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_038D27: DA PHX CODE_038D28: B5 9E LDA RAM_SpriteNum,X CODE_038D2A: C9 B8 CMP.B #$B8 CODE_038D2C: A2 02 LDX.B #$02 CODE_038D2E: 86 02 STX $02 CODE_038D30: 90 02 BCC CODE_038D34 CODE_038D32: A2 05 LDX.B #$05 CODE_038D34: A5 00 LDA $00 CODE_038D36: 18 CLC CODE_038D37: 7D 0C 8D ADC.W DiagPlatDispX,X CODE_038D3A: 99 00 03 STA.W OAM_DispX,Y CODE_038D3D: A5 01 LDA $01 CODE_038D3F: 18 CLC CODE_038D40: 7D 12 8D ADC.W DiagPlatDispY,X CODE_038D43: 99 01 03 STA.W OAM_DispY,Y CODE_038D46: BD 18 8D LDA.W DiagPlatTiles,X CODE_038D49: 99 02 03 STA.W OAM_Tile,Y CODE_038D4C: BD 1E 8D LDA.W DiagPlatGfxProp,X CODE_038D4F: 05 64 ORA $64 CODE_038D51: 99 03 03 STA.W OAM_Prop,Y CODE_038D54: C8 INY CODE_038D55: C8 INY CODE_038D56: C8 INY CODE_038D57: C8 INY CODE_038D58: CA DEX CODE_038D59: C6 02 DEC $02 CODE_038D5B: 10 D7 BPL CODE_038D34 CODE_038D5D: FA PLX CODE_038D5E: A0 02 LDY.B #$02 CODE_038D60: 98 TYA CODE_038D61: 22 B3 B7 01 JSL.L FinishOAMWrite Return038D65: 60 RTS ; Return DATA_038D66: .db $00,$04,$07,$08,$08,$07,$04,$00 .db $00 InfoBox: 22 4F B4 01 JSL.L InvisBlkMainRt ; make Mario able to stand on top of sprite CODE_038D73: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_038D76: BD 58 15 LDA.W $1558,X ;\ if not time to display message (timer set to 10 if Mario hits sprite from below), CODE_038D79: C9 01 CMP.B #$01 ; | CODE_038D7B: D0 16 BNE CODE_038D93 ;/ branch CODE_038D7D: A9 22 LDA.B #$22 ;\ sound effect CODE_038D7F: 8D FC 1D STA.W $1DFC ;/ CODE_038D82: 9E 58 15 STZ.W $1558,X ; clear message timer CODE_038D85: 74 C2 STZ RAM_SpriteState,X CODE_038D87: B5 E4 LDA RAM_SpriteXLo,X ;\ use sprite x position to determine which message to display CODE_038D89: 4A LSR ; | CODE_038D8A: 4A LSR ; | CODE_038D8B: 4A LSR ; | CODE_038D8C: 4A LSR ; | CODE_038D8D: 29 01 AND.B #$01 ; | CODE_038D8F: 1A INC A ; | CODE_038D90: 8D 26 14 STA.W $1426 ;/ CODE_038D93: BD 58 15 LDA.W $1558,X ;\ Temporarily change layer 1 y position depending on message timer, CODE_038D96: 4A LSR ; | to create the block bounce effect CODE_038D97: A8 TAY ; | CODE_038D98: A5 1C LDA RAM_ScreenBndryYLo ; | CODE_038D9A: 48 PHA ; | CODE_038D9B: 18 CLC ; | CODE_038D9C: 79 66 8D ADC.W DATA_038D66,Y ; | CODE_038D9F: 85 1C STA RAM_ScreenBndryYLo ; | CODE_038DA1: A5 1D LDA RAM_ScreenBndryYHi ; | CODE_038DA3: 48 PHA ; | CODE_038DA4: 69 00 ADC.B #$00 ; | CODE_038DA6: 85 1D STA RAM_ScreenBndryYHi ;/ CODE_038DA8: 22 B2 90 01 JSL.L GenericSprGfxRt2 ;\ display sprite graphics CODE_038DAC: BC EA 15 LDY.W RAM_SprOAMIndex,X ; | CODE_038DAF: A9 C0 LDA.B #$C0 ; | CODE_038DB1: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_038DB4: 68 PLA ;\ reset layer 1 y position to its earlier value CODE_038DB5: 85 1D STA RAM_ScreenBndryYHi ; | CODE_038DB7: 68 PLA ; | CODE_038DB8: 85 1C STA RAM_ScreenBndryYLo ;/ Return038DBA: 60 RTS ; return TimedLift: 20 12 8E JSR.W TimedPlatformGfx ; graphics routine CODE_038DBE: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_038DC0: D0 2D BNE Return038DEF ;/ return CODE_038DC2: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_038DC5: A5 13 LDA RAM_FrameCounter ;\ err... what? CODE_038DC7: 29 00 AND.B #$00 ; | this will never branch... CODE_038DC9: D0 0C BNE CODE_038DD7 ;/ CODE_038DCB: B5 C2 LDA RAM_SpriteState,X ;\ if sprite movement hasn't been triggered, CODE_038DCD: F0 08 BEQ CODE_038DD7 ;/ branch CODE_038DCF: BD 70 15 LDA.W $1570,X ;\ if timer not at zero, CODE_038DD2: F0 03 BEQ CODE_038DD7 ; | CODE_038DD4: DE 70 15 DEC.W $1570,X ;/ decrease it CODE_038DD7: BD 70 15 LDA.W $1570,X ;\ if timer at zero, CODE_038DDA: F0 14 BEQ CODE_038DF0 ;/ branch CODE_038DDC: 22 22 80 01 JSL.L UpdateXPosNoGrvty ; no gravity CODE_038DE0: 9D 28 15 STA.W $1528,X CODE_038DE3: 22 4F B4 01 JSL.L InvisBlkMainRt ;\ if Mario not standing on sprite, CODE_038DE7: 90 06 BCC Return038DEF ;/ return CODE_038DE9: A9 10 LDA.B #$10 ;\ set sprite state and trigger movement CODE_038DEB: 95 B6 STA RAM_SpriteSpeedX,X ; | CODE_038DED: 95 C2 STA RAM_SpriteState,X ;/ Return038DEF: 60 RTS ; Return CODE_038DF0: 22 2A 80 01 JSL.L UpdateSpritePos ; gravity makes the sprite fall CODE_038DF4: AD 91 14 LDA.W $1491 ; unknown RAM address CODE_038DF7: 9D 28 15 STA.W $1528,X ; $1528 is never used in the sprite anyway CODE_038DFA: 22 4F B4 01 JSL.L InvisBlkMainRt ; make Mario able to stand on sprite Return038DFE: 60 RTS ; Return TimedPlatDispX: .db $00,$10,$0C TimedPlatDispY: .db $00,$00,$04 TimedPlatTiles: .db $C4,$C4,$00 TimedPlatGfxProp: .db $0B,$4B,$0B TimedPlatTileSize: .db $02,$02,$00 TimedPlatNumTiles: .db $B6,$B5,$B4,$B3 TimedPlatformGfx: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_038E15: BD 70 15 LDA.W $1570,X ;\ use sprite timer to calculate which number tile to use CODE_038E18: DA PHX ; | CODE_038E19: 48 PHA ; | CODE_038E1A: 4A LSR ; | CODE_038E1B: 4A LSR ; | CODE_038E1C: 4A LSR ; | CODE_038E1D: 4A LSR ; | CODE_038E1E: 4A LSR ; | CODE_038E1F: 4A LSR ; | CODE_038E20: AA TAX ; | CODE_038E21: BD 0E 8E LDA.W TimedPlatNumTiles,X ; | CODE_038E24: 85 02 STA $02 ;/ CODE_038E26: A2 02 LDX.B #$02 ; setup loop CODE_038E28: 68 PLA ;\ if sprite timer less than 08, CODE_038E29: C9 08 CMP.B #$08 ; | CODE_038E2B: B0 01 BCS CODE_038E2E ; | don't branch, CODE_038E2D: CA DEX ;/ which means that the OAM index gets decreased and the number tile never gets written CODE_038E2E: A5 00 LDA $00 ;\ set x position of tile CODE_038E30: 18 CLC ; | CODE_038E31: 7D FF 8D ADC.W TimedPlatDispX,X ; | CODE_038E34: 99 00 03 STA.W OAM_DispX,Y ;/ CODE_038E37: A5 01 LDA $01 ;\ set y position of tile CODE_038E39: 18 CLC ; | CODE_038E3A: 7D 02 8E ADC.W TimedPlatDispY,X ; | CODE_038E3D: 99 01 03 STA.W OAM_DispY,Y ;/ CODE_038E40: BD 05 8E LDA.W TimedPlatTiles,X ;\ set tile number CODE_038E43: E0 02 CPX.B #$02 ; | \ if still on the first tile, use the number tile set earlier CODE_038E45: D0 02 BNE CODE_038E49 ; | | CODE_038E47: A5 02 LDA $02 ; | / CODE_038E49: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_038E4C: BD 08 8E LDA.W TimedPlatGfxProp,X ;\ set tile properties CODE_038E4F: 05 64 ORA $64 ; | CODE_038E51: 99 03 03 STA.W OAM_Prop,Y ;/ CODE_038E54: 5A PHY CODE_038E55: 98 TYA CODE_038E56: 4A LSR CODE_038E57: 4A LSR CODE_038E58: A8 TAY CODE_038E59: BD 0B 8E LDA.W TimedPlatTileSize,X ;\ set tile size CODE_038E5C: 99 60 04 STA.W OAM_TileSize,Y ;/ CODE_038E5F: 7A PLY CODE_038E60: C8 INY ;\ as we wrote a 16x16 tile to OAM, we need to increase the sprite tilemap pointer by 4 CODE_038E61: C8 INY ; | CODE_038E62: C8 INY ; | CODE_038E63: C8 INY ;/ CODE_038E64: CA DEX ; decrease loop counter CODE_038E65: 10 C7 BPL CODE_038E2E ; if still tiles left to draw, go to start of loop CODE_038E67: FA PLX ; retrieve sprite index CODE_038E68: A0 FF LDY.B #$FF ; the tiles written were of various sizes CODE_038E6A: A9 02 LDA.B #$02 ; we wrote three tiles CODE_038E6C: 22 B3 B7 01 JSL.L FinishOAMWrite Return038E70: 60 RTS ; return GreyMoveBlkSpeed: .db $00,$F0,$00,$10 GreyMoveBlkTiming: .db $40,$50,$40,$50 GreyCastleBlock: 20 B4 8E JSR.W CODE_038EB4 ; graphics routine CODE_038E7C: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_038E7E: D0 27 BNE Return038EA7 ;/ return CODE_038E80: BD 40 15 LDA.W $1540,X ;\ if not time to change sprite state, CODE_038E83: D0 0D BNE CODE_038E92 ;/ branch CODE_038E85: F6 C2 INC RAM_SpriteState,X CODE_038E87: B5 C2 LDA RAM_SpriteState,X ;\ use sprite state to determine time until next state change CODE_038E89: 29 03 AND.B #$03 ; | CODE_038E8B: A8 TAY ; | CODE_038E8C: B9 75 8E LDA.W GreyMoveBlkTiming,Y ; | CODE_038E8F: 9D 40 15 STA.W $1540,X ;/ CODE_038E92: B5 C2 LDA RAM_SpriteState,X ;\ use sprite state to determine x speed CODE_038E94: 29 03 AND.B #$03 ; | CODE_038E96: A8 TAY ; | CODE_038E97: B9 71 8E LDA.W GreyMoveBlkSpeed,Y ; | CODE_038E9A: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_038E9C: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_038EA0: 9D 28 15 STA.W $1528,X ; $1528,x == sprite y speed = 0 (why?) CODE_038EA3: 22 4F B4 01 JSL.L InvisBlkMainRt ; make Mario able to stand on top of sprite Return038EA7: 60 RTS ; return GreyMoveBlkDispX: .db $00,$10,$00,$10 GreyMoveBlkDispY: .db $00,$00,$10,$10 GreyMoveBlkTiles: .db $CC,$CE,$EC,$EE CODE_038EB4: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_038EB7: DA PHX ; preserve sprite index CODE_038EB8: A2 03 LDX.B #$03 ; setup loop CODE_038EBA: A5 00 LDA $00 ;\ set tile x position CODE_038EBC: 18 CLC ; | CODE_038EBD: 7D A8 8E ADC.W GreyMoveBlkDispX,X ; | CODE_038EC0: 99 00 03 STA.W OAM_DispX,Y ;/ CODE_038EC3: A5 01 LDA $01 ;\ set tile y position CODE_038EC5: 18 CLC ; | CODE_038EC6: 7D AC 8E ADC.W GreyMoveBlkDispY,X ; | CODE_038EC9: 99 01 03 STA.W OAM_DispY,Y ;/ CODE_038ECC: BD B0 8E LDA.W GreyMoveBlkTiles,X ;\ set tile number CODE_038ECF: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_038ED2: A9 03 LDA.B #$03 ;\ set sprite properties (hardcoded to use palette 9 and the second graphics page) CODE_038ED4: 05 64 ORA $64 ; | CODE_038ED6: 99 03 03 STA.W OAM_Prop,Y ;/ CODE_038ED9: C8 INY ;\ as we wrote a 16x16 tile to OAM, we need to increase the sprite tilemap pointer by 4 CODE_038EDA: C8 INY ; | CODE_038EDB: C8 INY ; | CODE_038EDC: C8 INY ;/ CODE_038EDD: CA DEX ; decrease loop counter CODE_038EDE: 10 DA BPL CODE_038EBA ; if still tiles left to draw, go to start of loop CODE_038EE0: FA PLX ; retrieve sprite index CODE_038EE1: A0 02 LDY.B #$02 ; the tiles written were 16x16 CODE_038EE3: A9 03 LDA.B #$03 ; we wrote four tiles CODE_038EE5: 22 B3 B7 01 JSL.L FinishOAMWrite Return038EE9: 60 RTS ; return StatueFireSpeed: .db $10,$F0 StatueFireball: 20 1B 8F JSR.W StatueFireballGfx ; graphics routine CODE_038EEF: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_038EF1: D0 13 BNE Return038F06 ;/ return CODE_038EF3: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_038EF6: 22 DC A7 01 JSL.L MarioSprInteract CODE_038EFA: BC 7C 15 LDY.W RAM_SpriteDir,X ;\ use sprite direction to determine x speed CODE_038EFD: B9 EA 8E LDA.W StatueFireSpeed,Y ; | CODE_038F00: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_038F02: 22 22 80 01 JSL.L UpdateXPosNoGrvty Return038F06: 60 RTS ; Return StatueFireDispX: .db $08,$00,$00,$08 StatueFireTiles: .db $32,$50,$33,$34,$32,$50,$33,$34 StatueFireGfxProp: .db $09,$09,$09,$09,$89,$89,$89,$89 StatueFireballGfx: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_038F1E: BD 7C 15 LDA.W RAM_SpriteDir,X ;\ $02 == sprite direction * 2 CODE_038F21: 0A ASL ; | CODE_038F22: 85 02 STA $02 ;/ CODE_038F24: A5 14 LDA RAM_FrameCounterB ;\ $03 == (frame counter/2 mod 4) * 2 CODE_038F26: 4A LSR ; | CODE_038F27: 29 03 AND.B #$03 ; | CODE_038F29: 0A ASL ; | CODE_038F2A: 85 03 STA $03 ;/ CODE_038F2C: DA PHX ; preserve sprite index CODE_038F2D: A2 01 LDX.B #$01 ; setup loop CODE_038F2F: A5 01 LDA $01 ;\ set tile y position CODE_038F31: 99 01 03 STA.W OAM_DispY,Y ;/ CODE_038F34: DA PHX CODE_038F35: 8A TXA CODE_038F36: 05 02 ORA $02 CODE_038F38: AA TAX CODE_038F39: A5 00 LDA $00 ;\ set tile x position CODE_038F3B: 18 CLC ; | CODE_038F3C: 7D 07 8F ADC.W StatueFireDispX,X ; | CODE_038F3F: 99 00 03 STA.W OAM_DispX,Y ;/ CODE_038F42: 68 PLA CODE_038F43: 48 PHA CODE_038F44: 05 03 ORA $03 CODE_038F46: AA TAX CODE_038F47: BD 0B 8F LDA.W StatueFireTiles,X ;\ set tile number CODE_038F4A: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_038F4D: BD 13 8F LDA.W StatueFireGfxProp,X ;\ set tile properties CODE_038F50: A6 02 LDX $02 ; | \ CODE_038F52: D0 02 BNE CODE_038F56 ; | | ADDR_038F54: 49 40 EOR.B #$40 ; | / CODE_038F56: 05 64 ORA $64 ; | CODE_038F58: 99 03 03 STA.W OAM_Prop,Y ;/ CODE_038F5B: FA PLX ; CODE_038F5C: C8 INY ;\ how odd... those were 8x8 tiles drawn... CODE_038F5D: C8 INY ; | CODE_038F5E: C8 INY ; | CODE_038F5F: C8 INY ;/ CODE_038F60: CA DEX ; decrease loop counter CODE_038F61: 10 CC BPL CODE_038F2F ; if still tiles left to draw, go to start of loop CODE_038F63: FA PLX ; retrieve sprite index CODE_038F64: A0 00 LDY.B #$00 ; the tiles written were 8x8 CODE_038F66: A9 01 LDA.B #$01 ; we wrote two tiles CODE_038F68: 22 B3 B7 01 JSL.L FinishOAMWrite Return038F6C: 60 RTS ; Return BooStreamFrntTiles: .db $88,$8C,$8E,$A8,$AA,$AE,$88,$8C ReflectingFireball: 20 F2 8F JSR.W CODE_038FF2 ; graphics routine CODE_038F78: 80 2A BRA CODE_038FA4 BooStream: A9 00 LDA.B #$00 ;\ use sprite x speed to determine sprite direction CODE_038F7C: B4 B6 LDY RAM_SpriteSpeedX,X ; | CODE_038F7E: 10 01 BPL CODE_038F81 ; | CODE_038F80: 1A INC A ; | CODE_038F81: 9D 7C 15 STA.W RAM_SpriteDir,X ;/ CODE_038F84: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_038F88: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_038F8B: A5 14 LDA RAM_FrameCounterB ;\ use frame counter to determine tile to use CODE_038F8D: 4A LSR ; | CODE_038F8E: 4A LSR ; | CODE_038F8F: 4A LSR ; | CODE_038F90: 4A LSR ; | CODE_038F91: 29 01 AND.B #$01 ; | CODE_038F93: 85 00 STA $00 ; | CODE_038F95: 8A TXA ; | CODE_038F96: 29 03 AND.B #$03 ; | CODE_038F98: 0A ASL ; | CODE_038F99: 05 00 ORA $00 ; | CODE_038F9B: DA PHX ; | preserve sprite index CODE_038F9C: AA TAX ; | CODE_038F9D: BD 6D 8F LDA.W BooStreamFrntTiles,X ;| CODE_038FA0: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_038FA3: FA PLX ; retrieve sprite index CODE_038FA4: BD C8 14 LDA.W $14C8,X ;\ if sprite status not normal, CODE_038FA7: C9 08 CMP.B #$08 ; | CODE_038FA9: D0 46 BNE Return038FF1 ;/ return CODE_038FAB: A5 9D LDA RAM_SpritesLocked ;\ if sprites locked, CODE_038FAD: D0 42 BNE Return038FF1 ;/ return CODE_038FAF: 8A TXA ;\ if sprite index or CODE_038FB0: 45 14 EOR RAM_FrameCounterB ; | frame counter mod 8 =/= 0 CODE_038FB2: 29 07 AND.B #$07 ; | CODE_038FB4: 1D 6C 18 ORA.W RAM_OffscreenVert,X ; | or sprite is offscreen vertically, CODE_038FB7: D0 09 BNE CODE_038FC2 ;/ branch CODE_038FB9: B5 9E LDA RAM_SpriteNum,X ;\ if sprite number isn't B0 (boo stream), CODE_038FBB: C9 B0 CMP.B #$B0 ; | CODE_038FBD: D0 03 BNE CODE_038FC2 ;/ branch CODE_038FBF: 20 20 90 JSR.W CODE_039020 CODE_038FC2: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_038FC6: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_038FCA: 22 38 91 01 JSL.L CODE_019138 ; interact with objects CODE_038FCE: BD 88 15 LDA.W RAM_SprObjStatus,X ;\ if touching abject from side, CODE_038FD1: 29 03 AND.B #$03 ; | CODE_038FD3: F0 07 BEQ CODE_038FDC ; | CODE_038FD5: B5 B6 LDA RAM_SpriteSpeedX,X ; | invert x speed CODE_038FD7: 49 FF EOR.B #$FF ; | CODE_038FD9: 1A INC A ; | CODE_038FDA: 95 B6 STA RAM_SpriteSpeedX,X ;/ CODE_038FDC: BD 88 15 LDA.W RAM_SprObjStatus,X ;\ if touching object from top or bottom, CODE_038FDF: 29 0C AND.B #$0C ; | CODE_038FE1: F0 07 BEQ CODE_038FEA ; | CODE_038FE3: B5 AA LDA RAM_SpriteSpeedY,X ; | invert y speed CODE_038FE5: 49 FF EOR.B #$FF ; | CODE_038FE7: 1A INC A ; | CODE_038FE8: 95 AA STA RAM_SpriteSpeedY,X ;/ CODE_038FEA: 22 DC A7 01 JSL.L MarioSprInteract CODE_038FEE: 20 5D B8 JSR.W SubOffscreen0Bnk3 Return038FF1: 60 RTS ; return CODE_038FF2: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_038FF6: A5 14 LDA RAM_FrameCounterB ;\ if frame counter < 0x40, CODE_038FF8: 4A LSR ; | CODE_038FF9: 4A LSR ; | CODE_038FFA: A9 04 LDA.B #$04 ; | CODE_038FFC: 90 01 BCC CODE_038FFF ;/ branch CODE_038FFE: 0A ASL CODE_038FFF: B4 B6 LDY RAM_SpriteSpeedX,X ;\ if sprite moving to the left, CODE_039001: 10 02 BPL CODE_039005 ; | CODE_039003: 49 40 EOR.B #$40 ;/ flip tile horizontally CODE_039005: B4 AA LDY RAM_SpriteSpeedY,X ;\ if sprite moving upwards, CODE_039007: 30 02 BMI CODE_03900B ; | CODE_039009: 49 80 EOR.B #$80 ;/ flip tile vertically CODE_03900B: 85 00 STA $00 CODE_03900D: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_039010: A9 AC LDA.B #$AC ;\ set tile number CODE_039012: 99 02 03 STA.W OAM_Tile,Y ;/ CODE_039015: B9 03 03 LDA.W OAM_Prop,Y ;\ set tile properties CODE_039018: 29 31 AND.B #$31 ; | layer priority, sprite tile page 2 CODE_03901A: 05 00 ORA $00 ; | add in flip and palette from earlier CODE_03901C: 99 03 03 STA.W OAM_Prop,Y ;/ Return03901F: 60 RTS ; return CODE_039020: A0 0B LDY.B #$0B ; setup loop CODE_039022: B9 F0 17 LDA.W $17F0,Y ;\ check if current slot in extended sprite list is empty CODE_039025: F0 10 BEQ CODE_039037 ; | if so, continue CODE_039027: 88 DEY ; | else, decrease loop counter CODE_039028: 10 F8 BPL CODE_039022 ;/ and go to start of loop ADDR_03902A: CE 5D 18 DEC.W $185D ;\ if no empty slots were found, use table at $185D to determine which slot to overwrite ADDR_03902D: 10 05 BPL ADDR_039034 ; | ADDR_03902F: A9 0B LDA.B #$0B ; | ADDR_039031: 8D 5D 18 STA.W $185D ; | ADDR_039034: AC 5D 18 LDY.W $185D ;/ CODE_039037: A9 0A LDA.B #$0A ;\ set extended sprite number: 0A (boo stream tile) CODE_039039: 99 F0 17 STA.W $17F0,Y ;/ CODE_03903C: B5 E4 LDA RAM_SpriteXLo,X ;\ set x position for extended sprite CODE_03903E: 99 08 18 STA.W $1808,Y ; | CODE_039041: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_039044: 99 EA 18 STA.W $18EA,Y ;/ CODE_039047: B5 D8 LDA RAM_SpriteYLo,X ;\ set y position for extended sprite CODE_039049: 99 FC 17 STA.W $17FC,Y ; | CODE_03904C: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_03904F: 99 14 18 STA.W $1814,Y ;/ CODE_039052: A9 30 LDA.B #$30 ;\ set extended sprite timer CODE_039054: 99 50 18 STA.W $1850,Y ;/ CODE_039057: B5 B6 LDA RAM_SpriteSpeedX,X ;\ set extended sprite x speed CODE_039059: 99 2C 18 STA.W $182C,Y ;/ Return03905C: 60 RTS ; return FishinBooAccelX: .db $01,$FF FishinBooMaxSpeedX: .db $20,$E0 FishinBooAccelY: .db $01,$FF FishinBooMaxSpeedY: .db $10,$F0 FishinBoo: 20 80 91 JSR.W FishinBooGfx CODE_039068: A5 9D LDA RAM_SpritesLocked CODE_03906A: D0 7E BNE Return0390EA CODE_03906C: 22 DC A7 01 JSL.L MarioSprInteract CODE_039070: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_039073: 9E 02 16 STZ.W $1602,X CODE_039076: BD AC 15 LDA.W $15AC,X CODE_039079: F0 0B BEQ CODE_039086 CODE_03907B: FE 02 16 INC.W $1602,X CODE_03907E: C9 10 CMP.B #$10 CODE_039080: D0 04 BNE CODE_039086 CODE_039082: 98 TYA CODE_039083: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_039086: 8A TXA CODE_039087: 0A ASL CODE_039088: 0A ASL CODE_039089: 0A ASL CODE_03908A: 0A ASL CODE_03908B: 65 13 ADC RAM_FrameCounter CODE_03908D: 29 3F AND.B #$3F CODE_03908F: 1D AC 15 ORA.W $15AC,X CODE_039092: D0 05 BNE CODE_039099 CODE_039094: A9 20 LDA.B #$20 CODE_039096: 9D AC 15 STA.W $15AC,X CODE_039099: AD BF 18 LDA.W $18BF CODE_03909C: F0 04 BEQ CODE_0390A2 ADDR_03909E: 98 TYA ADDR_03909F: 49 01 EOR.B #$01 ADDR_0390A1: A8 TAY CODE_0390A2: B5 B6 LDA RAM_SpriteSpeedX,X ; \ If not at max X speed, accelerate CODE_0390A4: D9 5F 90 CMP.W FishinBooMaxSpeedX,Y ; | CODE_0390A7: F0 06 BEQ CODE_0390AF ; | CODE_0390A9: 18 CLC ; | CODE_0390AA: 79 5D 90 ADC.W FishinBooAccelX,Y ; | CODE_0390AD: 95 B6 STA RAM_SpriteSpeedX,X ; / CODE_0390AF: A5 13 LDA RAM_FrameCounter CODE_0390B1: 29 01 AND.B #$01 CODE_0390B3: D0 14 BNE CODE_0390C9 CODE_0390B5: B5 C2 LDA RAM_SpriteState,X CODE_0390B7: 29 01 AND.B #$01 CODE_0390B9: A8 TAY CODE_0390BA: B5 AA LDA RAM_SpriteSpeedY,X CODE_0390BC: 18 CLC CODE_0390BD: 79 61 90 ADC.W FishinBooAccelY,Y CODE_0390C0: 95 AA STA RAM_SpriteSpeedY,X CODE_0390C2: D9 63 90 CMP.W FishinBooMaxSpeedY,Y CODE_0390C5: D0 02 BNE CODE_0390C9 CODE_0390C7: F6 C2 INC RAM_SpriteState,X CODE_0390C9: B5 B6 LDA RAM_SpriteSpeedX,X CODE_0390CB: 48 PHA CODE_0390CC: AC BF 18 LDY.W $18BF CODE_0390CF: D0 0B BNE CODE_0390DC CODE_0390D1: AD BD 17 LDA.W $17BD CODE_0390D4: 0A ASL CODE_0390D5: 0A ASL CODE_0390D6: 0A ASL CODE_0390D7: 18 CLC CODE_0390D8: 75 B6 ADC RAM_SpriteSpeedX,X CODE_0390DA: 95 B6 STA RAM_SpriteSpeedX,X CODE_0390DC: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_0390E0: 68 PLA CODE_0390E1: 95 B6 STA RAM_SpriteSpeedX,X CODE_0390E3: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_0390E7: 20 F3 90 JSR.W CODE_0390F3 Return0390EA: 60 RTS ; Return DATA_0390EB: .db $1A,$14,$EE,$F8 DATA_0390EF: .db $00,$00,$FF,$FF CODE_0390F3: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_0390F6: 0A ASL CODE_0390F7: 7D 02 16 ADC.W $1602,X CODE_0390FA: A8 TAY CODE_0390FB: B5 E4 LDA RAM_SpriteXLo,X CODE_0390FD: 18 CLC CODE_0390FE: 79 EB 90 ADC.W DATA_0390EB,Y CODE_039101: 85 04 STA $04 CODE_039103: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_039106: 79 EF 90 ADC.W DATA_0390EF,Y CODE_039109: 85 0A STA $0A CODE_03910B: A9 04 LDA.B #$04 CODE_03910D: 85 06 STA $06 CODE_03910F: 85 07 STA $07 CODE_039111: B5 D8 LDA RAM_SpriteYLo,X CODE_039113: 18 CLC CODE_039114: 69 47 ADC.B #$47 CODE_039116: 85 05 STA $05 CODE_039118: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03911B: 69 00 ADC.B #$00 CODE_03911D: 85 0B STA $0B CODE_03911F: 22 64 B6 03 JSL.L GetMarioClipping CODE_039123: 22 2B B7 03 JSL.L CheckForContact CODE_039127: 90 04 BCC Return03912D ADDR_039129: 22 B7 F5 00 JSL.L HurtMario Return03912D: 60 RTS ; Return FishinBooDispX: .db $FB,$05,$00,$F2,$FD,$03,$EA,$EA .db $EA,$EA,$FB,$05,$00,$FA,$FD,$03 .db $F2,$F2,$F2,$F2,$FB,$05,$00,$0E .db $03,$FD,$16,$16,$16,$16,$FB,$05 .db $00,$06,$03,$FD,$0E,$0E,$0E,$0E FishinBooDispY: .db $0B,$0B,$00,$03,$0F,$0F,$13,$23 .db $33,$43 FishinBooTiles1: .db $60,$60,$64,$8A,$60,$60,$AC,$AC .db $AC,$CE FishinBooGfxProp: .db $04,$04,$0D,$09,$04,$04,$0D,$0D .db $0D,$07 FishinBooTiles2: .db $CC,$CE,$CC,$CE DATA_039178: .db $00,$00,$40,$40 DATA_03917C: .db $00,$40,$C0,$80 FishinBooGfx: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_039183: BD 02 16 LDA.W $1602,X CODE_039186: 85 04 STA $04 CODE_039188: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_03918B: 85 02 STA $02 CODE_03918D: DA PHX CODE_03918E: 5A PHY CODE_03918F: A2 09 LDX.B #$09 CODE_039191: A5 01 LDA $01 CODE_039193: 18 CLC CODE_039194: 7D 56 91 ADC.W FishinBooDispY,X CODE_039197: 99 01 03 STA.W OAM_DispY,Y CODE_03919A: 64 03 STZ $03 CODE_03919C: BD 60 91 LDA.W FishinBooTiles1,X CODE_03919F: E0 09 CPX.B #$09 CODE_0391A1: D0 11 BNE CODE_0391B4 CODE_0391A3: A5 14 LDA RAM_FrameCounterB CODE_0391A5: 4A LSR CODE_0391A6: 4A LSR CODE_0391A7: DA PHX CODE_0391A8: 29 03 AND.B #$03 CODE_0391AA: AA TAX CODE_0391AB: BD 78 91 LDA.W DATA_039178,X CODE_0391AE: 85 03 STA $03 CODE_0391B0: BD 74 91 LDA.W FishinBooTiles2,X CODE_0391B3: FA PLX CODE_0391B4: 99 02 03 STA.W OAM_Tile,Y CODE_0391B7: A5 02 LDA $02 CODE_0391B9: C9 01 CMP.B #$01 CODE_0391BB: BD 6A 91 LDA.W FishinBooGfxProp,X CODE_0391BE: 45 03 EOR $03 CODE_0391C0: 05 64 ORA $64 CODE_0391C2: B0 02 BCS CODE_0391C6 CODE_0391C4: 49 40 EOR.B #$40 CODE_0391C6: 99 03 03 STA.W OAM_Prop,Y CODE_0391C9: DA PHX CODE_0391CA: A5 04 LDA $04 CODE_0391CC: F0 05 BEQ CODE_0391D3 CODE_0391CE: 8A TXA CODE_0391CF: 18 CLC CODE_0391D0: 69 0A ADC.B #$0A CODE_0391D2: AA TAX CODE_0391D3: A5 02 LDA $02 CODE_0391D5: D0 05 BNE CODE_0391DC CODE_0391D7: 8A TXA CODE_0391D8: 18 CLC CODE_0391D9: 69 14 ADC.B #$14 CODE_0391DB: AA TAX CODE_0391DC: A5 00 LDA $00 CODE_0391DE: 18 CLC CODE_0391DF: 7D 2E 91 ADC.W FishinBooDispX,X CODE_0391E2: 99 00 03 STA.W OAM_DispX,Y CODE_0391E5: FA PLX CODE_0391E6: C8 INY CODE_0391E7: C8 INY CODE_0391E8: C8 INY CODE_0391E9: C8 INY CODE_0391EA: CA DEX CODE_0391EB: 10 A4 BPL CODE_039191 CODE_0391ED: A5 14 LDA RAM_FrameCounterB CODE_0391EF: 4A LSR CODE_0391F0: 4A LSR CODE_0391F1: 4A LSR CODE_0391F2: 29 03 AND.B #$03 CODE_0391F4: AA TAX CODE_0391F5: 7A PLY CODE_0391F6: BD 7C 91 LDA.W DATA_03917C,X CODE_0391F9: 59 13 03 EOR.W $0313,Y CODE_0391FC: 99 13 03 STA.W $0313,Y CODE_0391FF: 99 27 03 STA.W $0327,Y CODE_039202: 49 C0 EOR.B #$C0 CODE_039204: 99 17 03 STA.W $0317,Y CODE_039207: 99 23 03 STA.W $0323,Y CODE_03920A: FA PLX CODE_03920B: A0 02 LDY.B #$02 CODE_03920D: A9 09 LDA.B #$09 CODE_03920F: 22 B3 B7 01 JSL.L FinishOAMWrite Return039213: 60 RTS ; Return FallingSpike: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_039218: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_03921B: A9 E0 LDA.B #$E0 CODE_03921D: 99 02 03 STA.W OAM_Tile,Y CODE_039220: B9 01 03 LDA.W OAM_DispY,Y CODE_039223: 3A DEC A CODE_039224: 99 01 03 STA.W OAM_DispY,Y CODE_039227: BD 40 15 LDA.W $1540,X CODE_03922A: F0 0B BEQ CODE_039237 CODE_03922C: 4A LSR CODE_03922D: 4A LSR CODE_03922E: 29 01 AND.B #$01 CODE_039230: 18 CLC CODE_039231: 79 00 03 ADC.W OAM_DispX,Y CODE_039234: 99 00 03 STA.W OAM_DispX,Y CODE_039237: A5 9D LDA RAM_SpritesLocked CODE_039239: D0 31 BNE CODE_03926C CODE_03923B: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_03923E: 22 2A 80 01 JSL.L UpdateSpritePos CODE_039242: B5 C2 LDA RAM_SpriteState,X CODE_039244: 22 DF 86 00 JSL.L ExecutePtr FallingSpikePtrs: 4C 92 .dw CODE_03924C 62 92 .dw CODE_039262 CODE_03924C: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03924E: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_039251: A5 0F LDA $0F CODE_039253: 18 CLC CODE_039254: 69 40 ADC.B #$40 CODE_039256: C9 80 CMP.B #$80 CODE_039258: B0 07 BCS Return039261 CODE_03925A: F6 C2 INC RAM_SpriteState,X CODE_03925C: A9 40 LDA.B #$40 CODE_03925E: 9D 40 15 STA.W $1540,X Return039261: 60 RTS ; Return CODE_039262: BD 40 15 LDA.W $1540,X CODE_039265: D0 05 BNE CODE_03926C CODE_039267: 22 DC A7 01 JSL.L MarioSprInteract Return03926B: 60 RTS ; Return CODE_03926C: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 Return03926E: 60 RTS ; Return CrtEatBlkSpeedX: .db $10,$F0,$00,$00,$00 CrtEatBlkSpeedY: .db $00,$00,$10,$F0,$00 DATA_039279: .db $00,$00,$01,$00,$02,$00,$00,$00 .db $03,$00,$00 CreateEatBlock: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_039288: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_03928B: B9 01 03 LDA.W OAM_DispY,Y CODE_03928E: 3A DEC A CODE_03928F: 99 01 03 STA.W OAM_DispY,Y CODE_039292: A9 2E LDA.B #$2E CODE_039294: 99 02 03 STA.W OAM_Tile,Y CODE_039297: B9 03 03 LDA.W OAM_Prop,Y CODE_03929A: 29 3F AND.B #$3F CODE_03929C: 99 03 03 STA.W OAM_Prop,Y CODE_03929F: A0 02 LDY.B #$02 CODE_0392A1: A9 00 LDA.B #$00 CODE_0392A3: 22 B3 B7 01 JSL.L FinishOAMWrite CODE_0392A7: A0 04 LDY.B #$04 CODE_0392A9: AD 09 19 LDA.W $1909 CODE_0392AC: C9 FF CMP.B #$FF CODE_0392AE: F0 10 BEQ CODE_0392C0 CODE_0392B0: A5 13 LDA RAM_FrameCounter CODE_0392B2: 29 03 AND.B #$03 CODE_0392B4: 05 9D ORA RAM_SpritesLocked CODE_0392B6: D0 05 BNE CODE_0392BD CODE_0392B8: A9 04 LDA.B #$04 ; \ Play sound effect CODE_0392BA: 8D FA 1D STA.W $1DFA ; / CODE_0392BD: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_0392C0: A5 9D LDA RAM_SpritesLocked CODE_0392C2: D0 67 BNE Return03932B CODE_0392C4: B9 6F 92 LDA.W CrtEatBlkSpeedX,Y CODE_0392C7: 95 B6 STA RAM_SpriteSpeedX,X CODE_0392C9: B9 74 92 LDA.W CrtEatBlkSpeedY,Y CODE_0392CC: 95 AA STA RAM_SpriteSpeedY,X CODE_0392CE: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_0392D2: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_0392D6: 9E 28 15 STZ.W $1528,X CODE_0392D9: 22 4F B4 01 JSL.L InvisBlkMainRt CODE_0392DD: AD 09 19 LDA.W $1909 CODE_0392E0: C9 FF CMP.B #$FF CODE_0392E2: F0 47 BEQ Return03932B CODE_0392E4: B5 D8 LDA RAM_SpriteYLo,X CODE_0392E6: 15 E4 ORA RAM_SpriteXLo,X CODE_0392E8: 29 0F AND.B #$0F CODE_0392EA: D0 3F BNE Return03932B CODE_0392EC: BD 1C 15 LDA.W $151C,X CODE_0392EF: D0 3B BNE CODE_03932C CODE_0392F1: DE 70 15 DEC.W $1570,X CODE_0392F4: 30 02 BMI CODE_0392F8 CODE_0392F6: D0 27 BNE CODE_03931F CODE_0392F8: AC B3 0D LDY.W $0DB3 CODE_0392FB: B9 11 1F LDA.W $1F11,Y CODE_0392FE: C9 01 CMP.B #$01 CODE_039300: BC 34 15 LDY.W $1534,X CODE_039303: FE 34 15 INC.W $1534,X CODE_039306: B9 A4 93 LDA.W CrtEatBlkData1,Y CODE_039309: B0 03 BCS CODE_03930E CODE_03930B: B9 EF 93 LDA.W CrtEatBlkData2,Y CODE_03930E: 9D 02 16 STA.W $1602,X CODE_039311: 48 PHA CODE_039312: 4A LSR CODE_039313: 4A LSR CODE_039314: 4A LSR CODE_039315: 4A LSR CODE_039316: 9D 70 15 STA.W $1570,X CODE_039319: 68 PLA CODE_03931A: 29 03 AND.B #$03 CODE_03931C: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_03931F: A9 0D LDA.B #$0D CODE_039321: 20 8B 93 JSR.W GenTileFromSpr1 CODE_039324: BD 02 16 LDA.W $1602,X CODE_039327: C9 FF CMP.B #$FF CODE_039329: F0 5C BEQ CODE_039387 Return03932B: 60 RTS ; Return CODE_03932C: A9 02 LDA.B #$02 CODE_03932E: 20 8B 93 JSR.W GenTileFromSpr1 CODE_039331: A9 01 LDA.B #$01 CODE_039333: 95 B6 STA RAM_SpriteSpeedX,X CODE_039335: 95 AA STA RAM_SpriteSpeedY,X CODE_039337: 22 38 91 01 JSL.L CODE_019138 CODE_03933B: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_03933E: 48 PHA CODE_03933F: A9 FF LDA.B #$FF CODE_039341: 95 B6 STA RAM_SpriteSpeedX,X CODE_039343: 95 AA STA RAM_SpriteSpeedY,X CODE_039345: B5 E4 LDA RAM_SpriteXLo,X CODE_039347: 48 PHA CODE_039348: 38 SEC CODE_039349: E9 01 SBC.B #$01 CODE_03934B: 95 E4 STA RAM_SpriteXLo,X CODE_03934D: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_039350: 48 PHA CODE_039351: E9 00 SBC.B #$00 CODE_039353: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_039356: B5 D8 LDA RAM_SpriteYLo,X CODE_039358: 48 PHA CODE_039359: 38 SEC CODE_03935A: E9 01 SBC.B #$01 CODE_03935C: 95 D8 STA RAM_SpriteYLo,X CODE_03935E: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_039361: 48 PHA CODE_039362: E9 00 SBC.B #$00 CODE_039364: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_039367: 22 38 91 01 JSL.L CODE_019138 CODE_03936B: 68 PLA CODE_03936C: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_03936F: 68 PLA CODE_039370: 95 D8 STA RAM_SpriteYLo,X CODE_039372: 68 PLA CODE_039373: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_039376: 68 PLA CODE_039377: 95 E4 STA RAM_SpriteXLo,X CODE_039379: 68 PLA CODE_03937A: 1D 88 15 ORA.W RAM_SprObjStatus,X CODE_03937D: F0 08 BEQ CODE_039387 CODE_03937F: A8 TAY CODE_039380: B9 79 92 LDA.W DATA_039279,Y CODE_039383: 9D 7C 15 STA.W RAM_SpriteDir,X Return039386: 60 RTS ; Return CODE_039387: 9E C8 14 STZ.W $14C8,X Return03938A: 60 RTS ; Return GenTileFromSpr1: 85 9C STA RAM_BlockBlock ; $9C = tile to generate CODE_03938D: B5 E4 LDA RAM_SpriteXLo,X ; \ $9A = Sprite X position CODE_03938F: 85 9A STA RAM_BlockYLo ; | for block creation CODE_039391: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_039394: 85 9B STA RAM_BlockYHi ; / CODE_039396: B5 D8 LDA RAM_SpriteYLo,X ; \ $98 = Sprite Y position CODE_039398: 85 98 STA RAM_BlockXLo ; | for block creation CODE_03939A: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_03939D: 85 99 STA RAM_BlockXHi ; / CODE_03939F: 22 B0 BE 00 JSL.L GenerateTile ; Generate the tile Return0393A3: 60 RTS ; Return CrtEatBlkData1: .db $10,$13,$10,$13,$10,$13,$10,$13 .db $10,$13,$10,$13,$10,$13,$10,$13 .db $F0,$F0,$20,$12,$10,$12,$10,$12 .db $10,$12,$10,$12,$10,$12,$10,$12 .db $D0,$C3,$F1,$21,$22,$F1,$F1,$51 .db $43,$10,$13,$10,$13,$10,$13,$F0 .db $F0,$F0,$60,$32,$60,$32,$71,$32 .db $60,$32,$61,$32,$70,$33,$10,$33 .db $10,$33,$10,$33,$10,$33,$F0,$10 .db $F2,$52,$FF CrtEatBlkData2: .db $80,$13,$10,$13,$10,$13,$10,$13 .db $60,$23,$20,$23,$B0,$22,$A1,$22 .db $A0,$22,$A1,$22,$C0,$13,$10,$13 .db $10,$13,$10,$13,$10,$13,$10,$13 .db $10,$13,$F0,$F0,$F0,$52,$50,$33 .db $50,$32,$50,$33,$50,$22,$50,$33 .db $F0,$50,$82,$FF WoodenSpike: 20 CF 94 JSR.W WoodSpikeGfx CODE_039426: A5 9D LDA RAM_SpritesLocked CODE_039428: D0 16 BNE Return039440 CODE_03942A: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_03942D: 20 88 94 JSR.W CODE_039488 CODE_039430: B5 C2 LDA RAM_SpriteState,X CODE_039432: 29 03 AND.B #$03 CODE_039434: 22 DF 86 00 JSL.L ExecutePtr WoodenSpikePtrs: 58 94 .dw CODE_039458 4E 94 .dw CODE_03944E 41 94 .dw CODE_039441 6B 94 .dw CODE_03946B Return039440: 60 RTS ; Return CODE_039441: BD 40 15 LDA.W $1540,X CODE_039444: F0 04 BEQ CODE_03944A CODE_039446: A9 20 LDA.B #$20 CODE_039448: 80 2B BRA CODE_039475 CODE_03944A: A9 30 LDA.B #$30 CODE_03944C: 80 17 BRA SetTimerNextState CODE_03944E: BD 40 15 LDA.W $1540,X CODE_039451: D0 04 BNE Return039457 CODE_039453: A9 18 LDA.B #$18 CODE_039455: 80 0E BRA SetTimerNextState Return039457: 60 RTS ; Return CODE_039458: BD 40 15 LDA.W $1540,X CODE_03945B: F0 06 BEQ CODE_039463 CODE_03945D: A9 F0 LDA.B #$F0 CODE_03945F: 20 75 94 JSR.W CODE_039475 Return039462: 60 RTS ; Return CODE_039463: A9 30 LDA.B #$30 SetTimerNextState: 9D 40 15 STA.W $1540,X CODE_039468: F6 C2 INC RAM_SpriteState,X ; Goto next state Return03946A: 60 RTS ; Return CODE_03946B: BD 40 15 LDA.W $1540,X ; \ If stall timer us up, CODE_03946E: D0 04 BNE Return039474 ; | reset it to #$2F... CODE_039470: A9 2F LDA.B #$2F ; | CODE_039472: 80 F1 BRA SetTimerNextState ; | ...and goto next state Return039474: 60 RTS ; / CODE_039475: BC 1C 15 LDY.W $151C,X CODE_039478: F0 03 BEQ CODE_03947D CODE_03947A: 49 FF EOR.B #$FF CODE_03947C: 1A INC A CODE_03947D: 95 AA STA RAM_SpriteSpeedY,X CODE_03947F: 22 1A 80 01 JSL.L UpdateYPosNoGrvty Return039483: 60 RTS ; Return DATA_039484: .db $01,$FF DATA_039486: .db $00,$FF CODE_039488: 22 DC A7 01 JSL.L MarioSprInteract CODE_03948C: 90 22 BCC Return0394B0 CODE_03948E: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_039491: A5 0F LDA $0F CODE_039493: 18 CLC CODE_039494: 69 04 ADC.B #$04 CODE_039496: C9 08 CMP.B #$08 CODE_039498: B0 05 BCS CODE_03949F CODE_03949A: 22 B7 F5 00 JSL.L HurtMario Return03949E: 60 RTS ; Return CODE_03949F: A5 94 LDA RAM_MarioXPos CODE_0394A1: 18 CLC CODE_0394A2: 79 84 94 ADC.W DATA_039484,Y CODE_0394A5: 85 94 STA RAM_MarioXPos CODE_0394A7: A5 95 LDA RAM_MarioXPosHi CODE_0394A9: 79 86 94 ADC.W DATA_039486,Y CODE_0394AC: 85 95 STA RAM_MarioXPosHi CODE_0394AE: 64 7B STZ RAM_MarioSpeedX Return0394B0: 60 RTS ; Return WoodSpikeDispY: .db $00,$10,$20,$30,$40,$40,$30,$20 .db $10,$00 WoodSpikeTiles: .db $6A,$6A,$6A,$6A,$4A,$6A,$6A,$6A .db $6A,$4A WoodSpikeGfxProp: .db $81,$81,$81,$81,$81,$01,$01,$01 .db $01,$01 WoodSpikeGfx: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_0394D2: 64 02 STZ $02 ; \ Set $02 based on sprite number CODE_0394D4: B5 9E LDA RAM_SpriteNum,X ; | CODE_0394D6: C9 AD CMP.B #$AD ; | CODE_0394D8: D0 04 BNE CODE_0394DE ; | CODE_0394DA: A9 05 LDA.B #$05 ; | CODE_0394DC: 85 02 STA $02 ; / CODE_0394DE: DA PHX CODE_0394DF: A2 04 LDX.B #$04 ; Draw 4 tiles: WoodSpikeGfxLoopSt: DA PHX CODE_0394E2: 8A TXA CODE_0394E3: 18 CLC CODE_0394E4: 65 02 ADC $02 CODE_0394E6: AA TAX CODE_0394E7: A5 00 LDA $00 ; \ Set X CODE_0394E9: 99 00 03 STA.W OAM_DispX,Y ; / CODE_0394EC: A5 01 LDA $01 ; \ Set Y CODE_0394EE: 18 CLC ; | CODE_0394EF: 7D B1 94 ADC.W WoodSpikeDispY,X ; | CODE_0394F2: 99 01 03 STA.W OAM_DispY,Y ; / CODE_0394F5: BD BB 94 LDA.W WoodSpikeTiles,X ; \ Set tile CODE_0394F8: 99 02 03 STA.W OAM_Tile,Y ; / CODE_0394FB: BD C5 94 LDA.W WoodSpikeGfxProp,X ; \ Set gfs properties CODE_0394FE: 99 03 03 STA.W OAM_Prop,Y ; / CODE_039501: C8 INY ; \ We wrote 4 times, so increase index by 4 CODE_039502: C8 INY ; | CODE_039503: C8 INY ; | CODE_039504: C8 INY ; / CODE_039505: FA PLX CODE_039506: CA DEX CODE_039507: 10 D8 BPL WoodSpikeGfxLoopSt CODE_039509: FA PLX CODE_03950A: A0 02 LDY.B #$02 ; \ Wrote 5 16x16 tiles... CODE_03950C: A9 04 LDA.B #$04 ; | CODE_03950E: 22 B3 B7 01 JSL.L FinishOAMWrite ; / Return039512: 60 RTS ; Return RexSpeed: .db $08,$F8,$10,$F0 RexMainRt: 20 7E 96 JSR.W RexGfxRt ; Draw Rex gfx CODE_03951A: BD C8 14 LDA.W $14C8,X ; \ If Rex status != 8... CODE_03951D: C9 08 CMP.B #$08 ; | ... not (killed with spin jump [4] or star [2]) CODE_03951F: D0 12 BNE RexReturn ; / ... return CODE_039521: A5 9D LDA RAM_SpritesLocked ; \ If sprites locked... CODE_039523: D0 0E BNE RexReturn ; / ... return CODE_039525: BD 58 15 LDA.W $1558,X ; \ If Rex not defeated (timer to show remains > 0)... CODE_039528: F0 0A BEQ RexAlive ; / ... goto RexAlive CODE_03952A: 9D D0 15 STA.W $15D0,X ; \ CODE_03952D: 3A DEC A ; | If Rex remains don't disappear next frame... CODE_03952E: D0 03 BNE RexReturn ; / ... return CODE_039530: 9E C8 14 STZ.W $14C8,X ; This is the last frame to show remains, so set Rex status = 0 RexReturn: 60 RTS ; Return RexAlive: 20 5D B8 JSR.W SubOffscreen0Bnk3 ; Only process Rex while on screen CODE_039537: FE 70 15 INC.W $1570,X ; Increment number of frames Rex has been on sc CODE_03953A: BD 70 15 LDA.W $1570,X ; \ Calculate which frame to show: CODE_03953D: 4A LSR ; | CODE_03953E: 4A LSR ; | CODE_03953F: B4 C2 LDY RAM_SpriteState,X ; | Number of hits determines if smushed CODE_039541: F0 07 BEQ CODE_03954A ; | CODE_039543: 29 01 AND.B #$01 ; | Update every 8 cycles if smushed CODE_039545: 18 CLC ; | CODE_039546: 69 03 ADC.B #$03 ; | Show smushed frame CODE_039548: 80 03 BRA CODE_03954D ; | CODE_03954A: 4A LSR ; | CODE_03954B: 29 01 AND.B #$01 ; | Update every 16 cycles if normal CODE_03954D: 9D 02 16 STA.W $1602,X ; / Write frame to show CODE_039550: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ If sprite is not on ground... CODE_039553: 29 04 AND.B #$04 ; | ...(4 = on ground) ... CODE_039555: F0 12 BEQ RexInAir ; / ...goto IN_AIR CODE_039557: A9 10 LDA.B #$10 ; \ Y speed = 10 CODE_039559: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_03955B: BC 7C 15 LDY.W RAM_SpriteDir,X ; Load, y = Rex direction, as index for speed CODE_03955E: B5 C2 LDA RAM_SpriteState,X ; \ If hits on Rex == 0... CODE_039560: F0 02 BEQ RexNoAdjustSpeed ; / ...goto DONT_ADJUST_SPEED CODE_039562: C8 INY ; \ Increment y twice... CODE_039563: C8 INY ; / ...in order to get speed for smushed Rex RexNoAdjustSpeed: B9 13 95 LDA.W RexSpeed,Y ; \ Load x speed from ROM... CODE_039567: 95 B6 STA RAM_SpriteSpeedX,X ; / ...and store it RexInAir: BD E2 1F LDA.W $1FE2,X ; \ If time to show half-smushed Rex > 0... CODE_03956C: D0 04 BNE RexHalfSmushed ; / ...goto HALF_SMUSHED CODE_03956E: 22 2A 80 01 JSL.L UpdateSpritePos ; Update position based on speed values RexHalfSmushed: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ If Rex is touching the side of an object... CODE_039575: 29 03 AND.B #$03 ; | CODE_039577: F0 08 BEQ CODE_039581 ; | CODE_039579: BD 7C 15 LDA.W RAM_SpriteDir,X ; | CODE_03957C: 49 01 EOR.B #$01 ; | ... change Rex direction CODE_03957E: 9D 7C 15 STA.W RAM_SpriteDir,X ; / CODE_039581: 22 32 80 01 JSL.L SprSprInteract ; Interact with other sprites CODE_039585: 22 DC A7 01 JSL.L MarioSprInteract ; Check for mario/Rex contact CODE_039589: 90 52 BCC NoRexContact ; (carry set = mario/Rex contact) CODE_03958B: AD 90 14 LDA.W $1490 ; \ If mario star timer > 0 ... CODE_03958E: D0 62 BNE RexStarKill ; / ... goto HAS_STAR CODE_039590: BD 4C 15 LDA.W RAM_DisableInter,X ; \ If Rex invincibility timer > 0 ... CODE_039593: D0 48 BNE NoRexContact ; / ... goto NO_CONTACT CODE_039595: A9 08 LDA.B #$08 ; \ Rex invincibility timer = $08 CODE_039597: 9D 4C 15 STA.W RAM_DisableInter,X ; / CODE_03959A: A5 7D LDA RAM_MarioSpeedY ; \ If mario's y speed < 10 ... CODE_03959C: C9 10 CMP.B #$10 ; | ... Rex will hurt mario CODE_03959E: 30 2A BMI RexWins ; / MarioBeatsRex: 20 28 96 JSR.W RexPoints ; Give mario points CODE_0395A3: 22 33 AA 01 JSL.L BoostMarioSpeed ; Set mario speed CODE_0395A7: 22 99 AB 01 JSL.L DisplayContactGfx ; Display contact graphic CODE_0395AB: AD 0D 14 LDA.W RAM_IsSpinJump ; \ If mario is spin jumping... CODE_0395AE: 0D 7A 18 ORA.W RAM_OnYoshi ; | ... or on yoshi ... CODE_0395B1: D0 2B BNE RexSpinKill ; / ... goto SPIN_KILL CODE_0395B3: F6 C2 INC RAM_SpriteState,X ; Increment Rex hit counter CODE_0395B5: B5 C2 LDA RAM_SpriteState,X ; \ If Rex hit counter == 2 CODE_0395B7: C9 02 CMP.B #$02 ; | CODE_0395B9: D0 06 BNE SmushRex ; | CODE_0395BB: A9 20 LDA.B #$20 ; | ... time to show defeated Rex = $20 CODE_0395BD: 9D 58 15 STA.W $1558,X ; / Return0395C0: 60 RTS ; Return SmushRex: A9 0C LDA.B #$0C ; \ Time to show semi-squashed Rex = $0C CODE_0395C3: 9D E2 1F STA.W $1FE2,X ; / CODE_0395C6: 9E 62 16 STZ.W RAM_Tweaker1662,X ; Change clipping area for squashed Rex Return0395C9: 60 RTS ; Return RexWins: AD 97 14 LDA.W $1497 ; \ If mario is invincible... CODE_0395CD: 0D 7A 18 ORA.W RAM_OnYoshi ; | ... or mario on yoshi... CODE_0395D0: D0 0B BNE NoRexContact ; / ... return CODE_0395D2: 20 17 B8 JSR.W SubHorzPosBnk3 ; \ Set new Rex direction CODE_0395D5: 98 TYA ; | CODE_0395D6: 9D 7C 15 STA.W RAM_SpriteDir,X ; / CODE_0395D9: 22 B7 F5 00 JSL.L HurtMario ; Hurt mario NoRexContact: 60 RTS ; Return RexSpinKill: A9 04 LDA.B #$04 ; \ Rex status = 4 (being killed by spin jump) CODE_0395E0: 9D C8 14 STA.W $14C8,X ; / CODE_0395E3: A9 1F LDA.B #$1F ; \ Set spin jump animation timer CODE_0395E5: 9D 40 15 STA.W $1540,X ; / CODE_0395E8: 22 3B FC 07 JSL.L CODE_07FC3B ; Show star animation CODE_0395EC: A9 08 LDA.B #$08 ; \ CODE_0395EE: 8D F9 1D STA.W $1DF9 ; / Play sound effect Return0395F1: 60 RTS ; Return RexStarKill: A9 02 LDA.B #$02 ; \ Rex status = 2 (being killed by star) ADDR_0395F4: 9D C8 14 STA.W $14C8,X ; / ADDR_0395F7: A9 D0 LDA.B #$D0 ; \ Set y speed ADDR_0395F9: 95 AA STA RAM_SpriteSpeedY,X ; / ADDR_0395FB: 20 17 B8 JSR.W SubHorzPosBnk3 ; Get new Rex direction ADDR_0395FE: B9 25 96 LDA.W RexKilledSpeed,Y ; \ Set x speed based on Rex direction ADDR_039601: 95 B6 STA RAM_SpriteSpeedX,X ; / ADDR_039603: EE D2 18 INC.W $18D2 ; Increment number consecutive enemies killed ADDR_039606: AD D2 18 LDA.W $18D2 ; \ ADDR_039609: C9 08 CMP.B #$08 ; | If consecutive enemies stomped >= 8, reset to 8 ADDR_03960B: 90 05 BCC ADDR_039612 ; | ADDR_03960D: A9 08 LDA.B #$08 ; | ADDR_03960F: 8D D2 18 STA.W $18D2 ; / ADDR_039612: 22 E5 AC 02 JSL.L GivePoints ; Give mario points ADDR_039616: AC D2 18 LDY.W $18D2 ; \ ADDR_039619: C0 08 CPY.B #$08 ; | If consecutive enemies stomped < 8 ... ADDR_03961B: B0 06 BCS Return039623 ; | ADDR_03961D: B9 FF 7F LDA.W $7FFF,Y ; | ... play sound effect ADDR_039620: 8D F9 1D STA.W $1DF9 ; / Play sound effect Return039623: 60 RTS ; Return Return039624: 60 RTS RexKilledSpeed: .db $F0,$10 Return039627: 60 RTS RexPoints: 5A PHY CODE_039629: AD 97 16 LDA.W $1697 CODE_03962C: 18 CLC CODE_03962D: 7D 26 16 ADC.W $1626,X CODE_039630: EE 97 16 INC.W $1697 ; Increase consecutive enemies stomped CODE_039633: A8 TAY ; CODE_039634: C8 INY ; CODE_039635: C0 08 CPY.B #$08 ; \ If consecutive enemies stomped >= 8 ... CODE_039637: B0 06 BCS CODE_03963F ; / ... don't play sound CODE_039639: B9 FF 7F LDA.W $7FFF,Y ; \ CODE_03963C: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_03963F: 98 TYA ; \ CODE_039640: C9 08 CMP.B #$08 ; | If consecutive enemies stomped >= 8, reset to 8 CODE_039642: 90 02 BCC CODE_039646 ; | ADDR_039644: A9 08 LDA.B #$08 ; / CODE_039646: 22 E5 AC 02 JSL.L GivePoints ; Give mario points CODE_03964A: 7A PLY ; Return03964B: 60 RTS ; Return RexTileDispX: .db $FC,$00,$FC,$00,$FE,$00,$00,$00 .db $00,$00,$00,$08,$04,$00,$04,$00 .db $02,$00,$00,$00,$00,$00,$08,$00 RexTileDispY: .db $F1,$00,$F0,$00,$F8,$00,$00,$00 .db $00,$00,$08,$08 RexTiles: .db $8A,$AA,$8A,$AC,$8A,$AA,$8C,$8C .db $A8,$A8,$A2,$B2 RexGfxProp: .db $47,$07 RexGfxRt: BD 58 15 LDA.W $1558,X ; \ If time to show Rex remains > 0... CODE_039681: F0 05 BEQ RexGfxAlive ; | CODE_039683: A9 05 LDA.B #$05 ; | ...set Rex frame = 5 (fully squashed) CODE_039685: 9D 02 16 STA.W $1602,X ; / RexGfxAlive: BD E2 1F LDA.W $1FE2,X ; \ If time to show half smushed Rex > 0... CODE_03968B: F0 05 BEQ RexNotHalfSmushed ; | CODE_03968D: A9 02 LDA.B #$02 ; | ...set Rex frame = 2 (half smushed) CODE_03968F: 9D 02 16 STA.W $1602,X ; / RexNotHalfSmushed: 20 60 B7 JSR.W GetDrawInfoBnk3 ; Y = index to sprite tile map, $00 = sprite x, $01 = sprite y CODE_039695: BD 02 16 LDA.W $1602,X ; \ CODE_039698: 0A ASL ; | $03 = index to frame start (frame to show * 2 tile per frame) CODE_039699: 85 03 STA $03 ; / CODE_03969B: BD 7C 15 LDA.W RAM_SpriteDir,X ; \ $02 = sprite direction CODE_03969E: 85 02 STA $02 ; / CODE_0396A0: DA PHX ; Push sprite index CODE_0396A1: A2 01 LDX.B #$01 ; Loop counter = (number of tiles per frame) - 1 RexGfxLoopStart: DA PHX ; Push current tile number CODE_0396A4: 8A TXA ; \ X = index to horizontal displacement CODE_0396A5: 05 03 ORA $03 ; / get index of tile (index to first tile of frame + current tile number) CODE_0396A7: 48 PHA ; Push index of current tile CODE_0396A8: A6 02 LDX $02 ; \ If facing right... CODE_0396AA: D0 03 BNE RexFaceLeft ; | CODE_0396AC: 18 CLC ; | CODE_0396AD: 69 0C ADC.B #$0C ; / ...use row 2 of horizontal tile displacement table RexFaceLeft: AA TAX ; \ CODE_0396B0: A5 00 LDA $00 ; | Tile x position = sprite x location ($00) + tile displacement CODE_0396B2: 18 CLC ; | CODE_0396B3: 7D 4C 96 ADC.W RexTileDispX,X ; | CODE_0396B6: 99 00 03 STA.W OAM_DispX,Y ; / CODE_0396B9: FA PLX ; \ Pull, X = index to vertical displacement and tilemap CODE_0396BA: A5 01 LDA $01 ; | Tile y position = sprite y location ($01) + tile displacement CODE_0396BC: 18 CLC ; | CODE_0396BD: 7D 64 96 ADC.W RexTileDispY,X ; | CODE_0396C0: 99 01 03 STA.W OAM_DispY,Y ; / CODE_0396C3: BD 70 96 LDA.W RexTiles,X ; \ Store tile CODE_0396C6: 99 02 03 STA.W OAM_Tile,Y ; / CODE_0396C9: A6 02 LDX $02 ; \ CODE_0396CB: BD 7C 96 LDA.W RexGfxProp,X ; | Get tile properties using sprite direction CODE_0396CE: 05 64 ORA $64 ; | Level properties CODE_0396D0: 99 03 03 STA.W OAM_Prop,Y ; / Store tile properties CODE_0396D3: 98 TYA ; \ Get index to sprite property map ($460)... CODE_0396D4: 4A LSR ; | ...we use the sprite OAM index... CODE_0396D5: 4A LSR ; | ...and divide by 4 because a 16x16 tile is 4 8x8 tiles CODE_0396D6: A6 03 LDX $03 ; | If index of frame start is > 0A CODE_0396D8: E0 0A CPX.B #$0A ; | CODE_0396DA: AA TAX ; | CODE_0396DB: A9 00 LDA.B #$00 ; | ...show only an 8x8 tile CODE_0396DD: B0 02 BCS Rex8x8Tile ; | CODE_0396DF: A9 02 LDA.B #$02 ; | Else show a full 16 x 16 tile Rex8x8Tile: 9D 60 04 STA.W OAM_TileSize,X ; / CODE_0396E4: FA PLX ; \ Pull, X = current tile of the frame we're drawing CODE_0396E5: C8 INY ; | Increase index to sprite tile map ($300)... CODE_0396E6: C8 INY ; | ...we wrote 4 times... CODE_0396E7: C8 INY ; | ...so increment 4 times CODE_0396E8: C8 INY ; | CODE_0396E9: CA DEX ; | Go to next tile of frame and loop CODE_0396EA: 10 B7 BPL RexGfxLoopStart ; / CODE_0396EC: FA PLX ; Pull, X = sprite index CODE_0396ED: A0 FF LDY.B #$FF ; \ FF because we already wrote size to $0460 CODE_0396EF: A9 01 LDA.B #$01 ; | A = number of tiles drawn - 1 CODE_0396F1: 22 B3 B7 01 JSL.L FinishOAMWrite ; / Don't draw if offscreen Return0396F5: 60 RTS ; Return Fishbone: 20 8C 97 JSR.W FishboneGfx CODE_0396F9: A5 9D LDA RAM_SpritesLocked CODE_0396FB: D0 2D BNE Return03972A CODE_0396FD: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_039700: 22 DC A7 01 JSL.L MarioSprInteract CODE_039704: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_039708: 8A TXA CODE_039709: 0A ASL CODE_03970A: 0A ASL CODE_03970B: 0A ASL CODE_03970C: 0A ASL CODE_03970D: 65 13 ADC RAM_FrameCounter CODE_03970F: 29 7F AND.B #$7F CODE_039711: D0 0D BNE CODE_039720 CODE_039713: 22 F9 AC 01 JSL.L GetRand CODE_039717: 29 01 AND.B #$01 CODE_039719: D0 05 BNE CODE_039720 CODE_03971B: A9 0C LDA.B #$0C CODE_03971D: 9D 58 15 STA.W $1558,X CODE_039720: B5 C2 LDA RAM_SpriteState,X CODE_039722: 22 DF 86 00 JSL.L ExecutePtr FishbonePtrs: 2F 97 .dw CODE_03972F 5E 97 .dw CODE_03975E Return03972A: 60 RTS ; Return FishboneMaxSpeed: .db $10,$F0 FishboneAcceler: .db $01,$FF CODE_03972F: FE 70 15 INC.W $1570,X CODE_039732: BD 70 15 LDA.W $1570,X CODE_039735: EA NOP CODE_039736: 4A LSR CODE_039737: 29 01 AND.B #$01 CODE_039739: 9D 02 16 STA.W $1602,X CODE_03973C: BD 40 15 LDA.W $1540,X CODE_03973F: F0 15 BEQ CODE_039756 CODE_039741: 29 01 AND.B #$01 CODE_039743: D0 10 BNE Return039755 CODE_039745: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_039748: B5 B6 LDA RAM_SpriteSpeedX,X CODE_03974A: D9 2B 97 CMP.W FishboneMaxSpeed,Y CODE_03974D: F0 06 BEQ Return039755 CODE_03974F: 18 CLC CODE_039750: 79 2D 97 ADC.W FishboneAcceler,Y CODE_039753: 95 B6 STA RAM_SpriteSpeedX,X Return039755: 60 RTS ; Return CODE_039756: F6 C2 INC RAM_SpriteState,X CODE_039758: A9 30 LDA.B #$30 CODE_03975A: 9D 40 15 STA.W $1540,X Return03975D: 60 RTS ; Return CODE_03975E: 9E 02 16 STZ.W $1602,X CODE_039761: BD 40 15 LDA.W $1540,X CODE_039764: F0 10 BEQ CODE_039776 CODE_039766: 29 03 AND.B #$03 CODE_039768: D0 0B BNE Return039775 CODE_03976A: B5 B6 LDA RAM_SpriteSpeedX,X CODE_03976C: F0 07 BEQ Return039775 CODE_03976E: 10 03 BPL CODE_039773 CODE_039770: F6 B6 INC RAM_SpriteSpeedX,X Return039772: 60 RTS ; Return CODE_039773: D6 B6 DEC RAM_SpriteSpeedX,X Return039775: 60 RTS ; Return CODE_039776: 74 C2 STZ RAM_SpriteState,X CODE_039778: A9 30 LDA.B #$30 CODE_03977A: 9D 40 15 STA.W $1540,X Return03977D: 60 RTS ; Return FishboneDispX: .db $F8,$F8,$10,$10 FishboneDispY: .db $00,$08 FishboneGfxProp: .db $4D,$CD,$0D,$8D FishboneTailTiles: .db $A3,$A3,$B3,$B3 FishboneGfx: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_039790: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_039793: BD 58 15 LDA.W $1558,X CODE_039796: C9 01 CMP.B #$01 CODE_039798: A9 A6 LDA.B #$A6 CODE_03979A: 90 02 BCC CODE_03979E CODE_03979C: A9 A8 LDA.B #$A8 CODE_03979E: 99 02 03 STA.W OAM_Tile,Y CODE_0397A1: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_0397A4: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_0397A7: 0A ASL CODE_0397A8: 85 02 STA $02 CODE_0397AA: BD 02 16 LDA.W $1602,X CODE_0397AD: 0A ASL CODE_0397AE: 85 03 STA $03 CODE_0397B0: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_0397B3: 18 CLC CODE_0397B4: 69 04 ADC.B #$04 CODE_0397B6: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_0397B9: A8 TAY CODE_0397BA: DA PHX CODE_0397BB: A2 01 LDX.B #$01 CODE_0397BD: A5 01 LDA $01 CODE_0397BF: 18 CLC CODE_0397C0: 7D 82 97 ADC.W FishboneDispY,X CODE_0397C3: 99 01 03 STA.W OAM_DispY,Y CODE_0397C6: DA PHX CODE_0397C7: 8A TXA CODE_0397C8: 05 02 ORA $02 CODE_0397CA: AA TAX CODE_0397CB: A5 00 LDA $00 CODE_0397CD: 18 CLC CODE_0397CE: 7D 7E 97 ADC.W FishboneDispX,X CODE_0397D1: 99 00 03 STA.W OAM_DispX,Y CODE_0397D4: BD 84 97 LDA.W FishboneGfxProp,X CODE_0397D7: 05 64 ORA $64 CODE_0397D9: 99 03 03 STA.W OAM_Prop,Y CODE_0397DC: 68 PLA CODE_0397DD: 48 PHA CODE_0397DE: 05 03 ORA $03 CODE_0397E0: AA TAX CODE_0397E1: BD 88 97 LDA.W FishboneTailTiles,X CODE_0397E4: 99 02 03 STA.W OAM_Tile,Y CODE_0397E7: FA PLX CODE_0397E8: C8 INY CODE_0397E9: C8 INY CODE_0397EA: C8 INY CODE_0397EB: C8 INY CODE_0397EC: CA DEX CODE_0397ED: 10 CE BPL CODE_0397BD CODE_0397EF: FA PLX CODE_0397F0: A0 00 LDY.B #$00 CODE_0397F2: A9 02 LDA.B #$02 CODE_0397F4: 22 B3 B7 01 JSL.L FinishOAMWrite Return0397F8: 60 RTS ; Return CODE_0397F9: 85 01 STA $01 CODE_0397FB: DA PHX CODE_0397FC: 5A PHY CODE_0397FD: 20 29 B8 JSR.W SubVertPosBnk3 CODE_039800: 84 02 STY $02 CODE_039802: A5 0E LDA $0E CODE_039804: 10 05 BPL CODE_03980B CODE_039806: 49 FF EOR.B #$FF CODE_039808: 18 CLC CODE_039809: 69 01 ADC.B #$01 CODE_03980B: 85 0C STA $0C CODE_03980D: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_039810: 84 03 STY $03 CODE_039812: A5 0F LDA $0F CODE_039814: 10 05 BPL CODE_03981B CODE_039816: 49 FF EOR.B #$FF CODE_039818: 18 CLC CODE_039819: 69 01 ADC.B #$01 CODE_03981B: 85 0D STA $0D CODE_03981D: A0 00 LDY.B #$00 CODE_03981F: A5 0D LDA $0D CODE_039821: C5 0C CMP $0C CODE_039823: B0 09 BCS CODE_03982E CODE_039825: C8 INY CODE_039826: 48 PHA CODE_039827: A5 0C LDA $0C CODE_039829: 85 0D STA $0D CODE_03982B: 68 PLA CODE_03982C: 85 0C STA $0C CODE_03982E: A9 00 LDA.B #$00 CODE_039830: 85 0B STA $0B CODE_039832: 85 00 STA $00 CODE_039834: A6 01 LDX $01 CODE_039836: A5 0B LDA $0B CODE_039838: 18 CLC CODE_039839: 65 0C ADC $0C CODE_03983B: C5 0D CMP $0D CODE_03983D: 90 04 BCC CODE_039843 CODE_03983F: E5 0D SBC $0D CODE_039841: E6 00 INC $00 CODE_039843: 85 0B STA $0B CODE_039845: CA DEX CODE_039846: D0 EE BNE CODE_039836 CODE_039848: 98 TYA CODE_039849: F0 0A BEQ CODE_039855 CODE_03984B: A5 00 LDA $00 CODE_03984D: 48 PHA CODE_03984E: A5 01 LDA $01 CODE_039850: 85 00 STA $00 CODE_039852: 68 PLA CODE_039853: 85 01 STA $01 CODE_039855: A5 00 LDA $00 CODE_039857: A4 02 LDY $02 CODE_039859: F0 07 BEQ CODE_039862 CODE_03985B: 49 FF EOR.B #$FF CODE_03985D: 18 CLC CODE_03985E: 69 01 ADC.B #$01 CODE_039860: 85 00 STA $00 CODE_039862: A5 01 LDA $01 CODE_039864: A4 03 LDY $03 CODE_039866: F0 07 BEQ CODE_03986F CODE_039868: 49 FF EOR.B #$FF CODE_03986A: 18 CLC CODE_03986B: 69 01 ADC.B #$01 CODE_03986D: 85 01 STA $01 CODE_03986F: 7A PLY CODE_039870: FA PLX Return039871: 60 RTS ; Return ReznorInit: E0 07 CPX.B #$07 CODE_039874: D0 08 BNE CODE_03987E CODE_039876: A9 04 LDA.B #$04 CODE_039878: 95 C2 STA RAM_SpriteState,X CODE_03987A: 22 7D DD 03 JSL.L CODE_03DD7D CODE_03987E: 22 F9 AC 01 JSL.L GetRand CODE_039882: 9D 70 15 STA.W $1570,X Return039885: 6B RTL ; Return ReznorStartPosLo: .db $00,$80,$00,$80 ReznorStartPosHi: .db $00,$00,$01,$01 ReboundSpeedX: .db $20,$E0 Reznor: EE 0F 14 INC.W $140F CODE_039893: A5 9D LDA RAM_SpritesLocked CODE_039895: F0 03 BEQ ReznorNotLocked CODE_039897: 4C 7B 9A JMP.W DrawReznor ReznorNotLocked: E0 07 CPX.B #$07 CODE_03989C: D0 72 BNE CODE_039910 CODE_03989E: DA PHX CODE_03989F: 22 0C D7 03 JSL.L CODE_03D70C ; Break bridge when necessary ReznorSignCode: A9 80 LDA.B #$80 ; \ Set radius for Reznor sign rotation CODE_0398A5: 85 2A STA $2A ; | CODE_0398A7: 64 2B STZ $2B ; / CODE_0398A9: A2 00 LDX.B #$00 CODE_0398AB: A9 C0 LDA.B #$C0 ; \ X position of Reznor sign CODE_0398AD: 85 E4 STA RAM_SpriteXLo ; | CODE_0398AF: 9C E0 14 STZ.W RAM_SpriteXHi ; / CODE_0398B2: A9 B2 LDA.B #$B2 ; \ Y position of Reznor sign CODE_0398B4: 85 D8 STA RAM_SpriteYLo ; | CODE_0398B6: 9C D4 14 STZ.W RAM_SpriteYHi ; / CODE_0398B9: A9 2C LDA.B #$2C CODE_0398BB: 8D A2 1B STA.W $1BA2 CODE_0398BE: 22 DF DE 03 JSL.L CODE_03DEDF ; Applies position changes to Reznor sign CODE_0398C2: FA PLX ; Pull, X = sprite index CODE_0398C3: C2 20 REP #$20 ; Accum (16 bit) CODE_0398C5: A5 36 LDA $36 ; \ Rotate 1 frame around the circle (clockwise) CODE_0398C7: 18 CLC ; | $37,36 = 0 to 1FF, denotes circle position CODE_0398C8: 69 01 00 ADC.W #$0001 ; | CODE_0398CB: 29 FF 01 AND.W #$01FF ; | CODE_0398CE: 85 36 STA $36 ; / CODE_0398D0: E2 20 SEP #$20 ; Accum (8 bit) CODE_0398D2: E0 07 CPX.B #$07 CODE_0398D4: D0 3A BNE CODE_039910 CODE_0398D6: BD 3E 16 LDA.W $163E,X ; \ Branch if timer to trigger level isn't set CODE_0398D9: F0 11 BEQ ReznorNoLevelEnd ; / CODE_0398DB: 3A DEC A CODE_0398DC: D0 32 BNE CODE_039910 CODE_0398DE: CE C6 13 DEC.W $13C6 ; Prevent mario from walking at level end CODE_0398E1: A9 FF LDA.B #$FF ; \ Set time before return to overworld CODE_0398E3: 8D 93 14 STA.W $1493 ; / CODE_0398E6: A9 0B LDA.B #$0B ; \ CODE_0398E8: 8D FB 1D STA.W $1DFB ; / Play sound effect Return0398EB: 60 RTS ; Return ReznorNoLevelEnd: AD 23 15 LDA.W RAM_Reznor4Dead ; \ CODE_0398EF: 18 CLC ; | CODE_0398F0: 6D 22 15 ADC.W RAM_Reznor3Dead ; | CODE_0398F3: 6D 21 15 ADC.W RAM_Reznor2Dead ; | CODE_0398F6: 6D 20 15 ADC.W RAM_Reznor1Dead ; | CODE_0398F9: C9 04 CMP.B #$04 ; | CODE_0398FB: D0 13 BNE CODE_039910 ; | CODE_0398FD: A9 90 LDA.B #$90 ; | Set time to trigger level if all Reznors are dead CODE_0398FF: 9D 3E 16 STA.W $163E,X ; / CODE_039902: 22 C8 A6 03 JSL.L KillMostSprites CODE_039906: A0 07 LDY.B #$07 ; \ Zero out extended sprite table CODE_039908: A9 00 LDA.B #$00 ; | CODE_03990A: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; | CODE_03990D: 88 DEY ; | CODE_03990E: 10 FA BPL CODE_03990A ; / CODE_039910: BD C8 14 LDA.W $14C8,X CODE_039913: C9 08 CMP.B #$08 CODE_039915: F0 03 BEQ CODE_03991A CODE_039917: 4C 7B 9A JMP.W DrawReznor CODE_03991A: 8A TXA ; \ Load Y with Reznor number (0-3) CODE_03991B: 29 03 AND.B #$03 ; | CODE_03991D: A8 TAY ; / CODE_03991E: A5 36 LDA $36 ; \ CODE_039920: 18 CLC ; | CODE_039921: 79 86 98 ADC.W ReznorStartPosLo,Y ; | CODE_039924: 85 00 STA $00 ; | $01,00 = 0-1FF, position Reznors on the circle CODE_039926: A5 37 LDA $37 ; | CODE_039928: 79 8A 98 ADC.W ReznorStartPosHi,Y ; | CODE_03992B: 29 01 AND.B #$01 ; | CODE_03992D: 85 01 STA $01 ; / CODE_03992F: C2 30 REP #$30 ; \ Index (16 bit) Accum (16 bit) ; Index (16 bit) Accum (16 bit) CODE_039931: A5 00 LDA $00 ; | Make Reznors turn clockwise rather than counter clockwise CODE_039933: 49 FF 01 EOR.W #$01FF ; | ($01,00 = -1 * $01,00) CODE_039936: 1A INC A ; | CODE_039937: 85 00 STA $00 ; / CODE_039939: 18 CLC CODE_03993A: 69 80 00 ADC.W #$0080 CODE_03993D: 29 FF 01 AND.W #$01FF CODE_039940: 85 02 STA $02 CODE_039942: A5 00 LDA $00 CODE_039944: 29 FF 00 AND.W #$00FF CODE_039947: 0A ASL CODE_039948: AA TAX CODE_039949: BF DB F7 07 LDA.L CircleCoords,X CODE_03994D: 85 04 STA $04 CODE_03994F: A5 02 LDA $02 CODE_039951: 29 FF 00 AND.W #$00FF CODE_039954: 0A ASL CODE_039955: AA TAX CODE_039956: BF DB F7 07 LDA.L CircleCoords,X CODE_03995A: 85 06 STA $06 CODE_03995C: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_03995E: A5 04 LDA $04 CODE_039960: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_039963: A9 38 LDA.B #$38 CODE_039965: A4 05 LDY $05 CODE_039967: D0 0F BNE CODE_039978 CODE_039969: 8D 03 42 STA.W $4203 ; Multplier B CODE_03996C: EA NOP CODE_03996D: EA NOP CODE_03996E: EA NOP CODE_03996F: EA NOP CODE_039970: 0E 16 42 ASL.W $4216 ; Product/Remainder Result (Low Byte) CODE_039973: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_039976: 69 00 ADC.B #$00 CODE_039978: 46 01 LSR $01 CODE_03997A: 90 03 BCC CODE_03997F CODE_03997C: 49 FF EOR.B #$FF CODE_03997E: 1A INC A CODE_03997F: 85 04 STA $04 CODE_039981: A5 06 LDA $06 CODE_039983: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_039986: A9 38 LDA.B #$38 CODE_039988: A4 07 LDY $07 CODE_03998A: D0 0F BNE CODE_03999B CODE_03998C: 8D 03 42 STA.W $4203 ; Multplier B CODE_03998F: EA NOP CODE_039990: EA NOP CODE_039991: EA NOP CODE_039992: EA NOP CODE_039993: 0E 16 42 ASL.W $4216 ; Product/Remainder Result (Low Byte) CODE_039996: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_039999: 69 00 ADC.B #$00 CODE_03999B: 46 03 LSR $03 CODE_03999D: 90 03 BCC CODE_0399A2 CODE_03999F: 49 FF EOR.B #$FF CODE_0399A1: 1A INC A CODE_0399A2: 85 06 STA $06 CODE_0399A4: AE E9 15 LDX.W $15E9 ; X = sprite index CODE_0399A7: B5 E4 LDA RAM_SpriteXLo,X CODE_0399A9: 48 PHA CODE_0399AA: 64 00 STZ $00 CODE_0399AC: A5 04 LDA $04 CODE_0399AE: 10 02 BPL CODE_0399B2 CODE_0399B0: C6 00 DEC $00 CODE_0399B2: 18 CLC CODE_0399B3: 65 2A ADC $2A CODE_0399B5: 08 PHP CODE_0399B6: 18 CLC CODE_0399B7: 69 40 ADC.B #$40 CODE_0399B9: 95 E4 STA RAM_SpriteXLo,X CODE_0399BB: A5 2B LDA $2B CODE_0399BD: 69 00 ADC.B #$00 CODE_0399BF: 28 PLP CODE_0399C0: 65 00 ADC $00 CODE_0399C2: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_0399C5: 68 PLA CODE_0399C6: 38 SEC CODE_0399C7: F5 E4 SBC RAM_SpriteXLo,X CODE_0399C9: 49 FF EOR.B #$FF CODE_0399CB: 1A INC A CODE_0399CC: 9D 28 15 STA.W $1528,X CODE_0399CF: 64 01 STZ $01 CODE_0399D1: A5 06 LDA $06 CODE_0399D3: 10 02 BPL CODE_0399D7 CODE_0399D5: C6 01 DEC $01 CODE_0399D7: 18 CLC CODE_0399D8: 65 2C ADC $2C CODE_0399DA: 08 PHP CODE_0399DB: 69 20 ADC.B #$20 CODE_0399DD: 95 D8 STA RAM_SpriteYLo,X CODE_0399DF: A5 2D LDA $2D CODE_0399E1: 69 00 ADC.B #$00 CODE_0399E3: 28 PLP CODE_0399E4: 65 01 ADC $01 CODE_0399E6: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_0399E9: BD 1C 15 LDA.W $151C,X ; \ If a Reznor is dead, make it's platform standable CODE_0399EC: F0 07 BEQ ReznorAlive ; | CODE_0399EE: 22 4F B4 01 JSL.L InvisBlkMainRt ; | CODE_0399F2: 4C 7B 9A JMP.W DrawReznor ; / ReznorAlive: A5 13 LDA RAM_FrameCounter ; \ Don't try to spit fire if turning CODE_0399F7: 29 00 AND.B #$00 ; | CODE_0399F9: 1D AC 15 ORA.W $15AC,X ; | CODE_0399FC: D0 12 BNE NoSetRznrFireTime ; / CODE_0399FE: FE 70 15 INC.W $1570,X CODE_039A01: BD 70 15 LDA.W $1570,X CODE_039A04: C9 00 CMP.B #$00 CODE_039A06: D0 08 BNE NoSetRznrFireTime CODE_039A08: 9E 70 15 STZ.W $1570,X CODE_039A0B: A9 40 LDA.B #$40 ; \ Set time to show firing graphic = 0A CODE_039A0D: 9D 58 15 STA.W $1558,X ; / NoSetRznrFireTime: 8A TXA CODE_039A11: 0A ASL CODE_039A12: 0A ASL CODE_039A13: 0A ASL CODE_039A14: 0A ASL CODE_039A15: 65 14 ADC RAM_FrameCounterB CODE_039A17: 29 3F AND.B #$3F CODE_039A19: 1D 58 15 ORA.W $1558,X ; Firing CODE_039A1C: 1D AC 15 ORA.W $15AC,X ; Turning CODE_039A1F: D0 16 BNE NoSetRenrTurnTime CODE_039A21: BD 7C 15 LDA.W RAM_SpriteDir,X ; \ if direction has changed since last frame... CODE_039A24: 48 PHA ; | CODE_039A25: 20 17 B8 JSR.W SubHorzPosBnk3 ; | CODE_039A28: 98 TYA ; | CODE_039A29: 9D 7C 15 STA.W RAM_SpriteDir,X ; | CODE_039A2C: 68 PLA ; | CODE_039A2D: DD 7C 15 CMP.W RAM_SpriteDir,X ; | CODE_039A30: F0 05 BEQ NoSetRenrTurnTime ; | CODE_039A32: A9 0A LDA.B #$0A ; | ...set time to show turning graphic = 0A CODE_039A34: 9D AC 15 STA.W $15AC,X ; / NoSetRenrTurnTime: BD 4C 15 LDA.W RAM_DisableInter,X ; \ If disable interaction timer > 0, just draw Reznor CODE_039A3A: D0 3F BNE DrawReznor ; / CODE_039A3C: 22 DC A7 01 JSL.L MarioSprInteract ; \ Interact with mario CODE_039A40: 90 39 BCC DrawReznor ; / If no contact, just draw Reznor CODE_039A42: A9 08 LDA.B #$08 ; \ Disable interaction timer = 08 CODE_039A44: 9D 4C 15 STA.W RAM_DisableInter,X ; / (eg. after hitting Reznor, or getting bounced by platform) CODE_039A47: A5 96 LDA RAM_MarioYPos ; \ Compare y positions to see if mario hit Reznor CODE_039A49: 38 SEC ; | CODE_039A4A: F5 D8 SBC RAM_SpriteYLo,X ; | CODE_039A4C: C9 ED CMP.B #$ED ; | CODE_039A4E: 30 27 BMI HitReznor ; / CODE_039A50: C9 F2 CMP.B #$F2 ; \ See if mario hit side of the platform CODE_039A52: 30 19 BMI HitPlatSide ; | CODE_039A54: A5 7D LDA RAM_MarioSpeedY ; | CODE_039A56: 10 15 BPL HitPlatSide ; / HitPlatBottom: A9 29 LDA.B #$29 ; ??Something about boosting mario on platform?? CODE_039A5A: 9D 62 16 STA.W RAM_Tweaker1662,X ; CODE_039A5D: A9 0F LDA.B #$0F ; \ Time to bounce platform = 0F CODE_039A5F: 9D 64 15 STA.W $1564,X ; / CODE_039A62: A9 10 LDA.B #$10 ; \ Set mario's y speed to rebound down off platform CODE_039A64: 85 7D STA RAM_MarioSpeedY ; / CODE_039A66: A9 01 LDA.B #$01 ; \ CODE_039A68: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_039A6B: 80 0E BRA DrawReznor HitPlatSide: 20 17 B8 JSR.W SubHorzPosBnk3 ; \ Set mario to bounce back CODE_039A70: B9 8E 98 LDA.W ReboundSpeedX,Y ; | (hit side of platform?) CODE_039A73: 85 7B STA RAM_MarioSpeedX ; | CODE_039A75: 80 04 BRA DrawReznor ; / HitReznor: 22 B7 F5 00 JSL.L HurtMario ; Hurt Mario DrawReznor: 9E 02 16 STZ.W $1602,X ; Set normal image CODE_039A7E: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_039A81: 48 PHA CODE_039A82: BC AC 15 LDY.W $15AC,X CODE_039A85: F0 0E BEQ ReznorNoTurning CODE_039A87: C0 05 CPY.B #$05 CODE_039A89: 90 05 BCC ReznorTurning CODE_039A8B: 49 01 EOR.B #$01 CODE_039A8D: 9D 7C 15 STA.W RAM_SpriteDir,X ReznorTurning: A9 02 LDA.B #$02 ; \ Set turning image CODE_039A92: 9D 02 16 STA.W $1602,X ; / ReznorNoTurning: BD 58 15 LDA.W $1558,X ; \ Shoot fire if "time to show firing image" == 20 CODE_039A98: F0 0C BEQ ReznorNoFiring ; | CODE_039A9A: C9 20 CMP.B #$20 ; | (shows image for 20 frames after the fireball is shot) CODE_039A9C: D0 03 BNE ReznorFiring ; | CODE_039A9E: 20 F8 9A JSR.W ReznorFireRt ; / ReznorFiring: A9 01 LDA.B #$01 ; \ Set firing image CODE_039AA3: 9D 02 16 STA.W $1602,X ; / ReznorNoFiring: 20 75 9B JSR.W ReznorGfxRt ; Draw Reznor CODE_039AA9: 68 PLA CODE_039AAA: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_039AAD: A5 9D LDA RAM_SpritesLocked ; \ If sprites locked, or mario already killed the Reznor on the platform, return CODE_039AAF: 1D 1C 15 ORA.W $151C,X ; | CODE_039AB2: D0 43 BNE Return039AF7 ; / CODE_039AB4: BD 64 15 LDA.W $1564,X ; \ If time to bounce platform != 0C, return CODE_039AB7: C9 0C CMP.B #$0C ; | (causes delay between start of boucing platform and killing Reznor) CODE_039AB9: D0 3C BNE Return039AF7 ; / KillReznor: A9 03 LDA.B #$03 ; \ CODE_039ABD: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_039AC0: 9E 58 15 STZ.W $1558,X ; Prevent from throwing fire after death CODE_039AC3: FE 1C 15 INC.W $151C,X ; Record a hit on Reznor CODE_039AC6: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Load Y with a free sprite index for dead Reznor CODE_039ACA: 30 2B BMI Return039AF7 ; / Return if no free index CODE_039ACC: A9 02 LDA.B #$02 ; \ Set status to being killed CODE_039ACE: 99 C8 14 STA.W $14C8,Y ; / CODE_039AD1: A9 A9 LDA.B #$A9 ; \ Sprite to use for dead Reznor CODE_039AD3: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_039AD6: B5 E4 LDA RAM_SpriteXLo,X ; \ Transfer x position to dead Reznor CODE_039AD8: 99 E4 00 STA.W RAM_SpriteXLo,Y ; | CODE_039ADB: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_039ADE: 99 E0 14 STA.W RAM_SpriteXHi,Y ; / CODE_039AE1: B5 D8 LDA RAM_SpriteYLo,X ; \ Transfer y position to dead Reznor CODE_039AE3: 99 D8 00 STA.W RAM_SpriteYLo,Y ; | CODE_039AE6: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_039AE9: 99 D4 14 STA.W RAM_SpriteYHi,Y ; / CODE_039AEC: DA PHX ; \ CODE_039AED: BB TYX ; | Before: X must have index of sprite being generated CODE_039AEE: 22 D2 F7 07 JSL.L InitSpriteTables ; / Routine clears all old sprite values and loads in new values for the 6 main sprite tables CODE_039AF2: A9 C0 LDA.B #$C0 ; \ Set y speed for Reznor's bounce off the platform CODE_039AF4: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_039AF6: FA PLX ; pull, X = sprite index Return039AF7: 60 RTS ; Return ReznorFireRt: A0 07 LDY.B #$07 ; \ find a free extended sprite slot, return if all full CODE_039AFA: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_039AFD: F0 04 BEQ FoundRznrFireSlot ; | CODE_039AFF: 88 DEY ; | CODE_039B00: 10 F8 BPL CODE_039AFA ; | Return039B02: 60 RTS ; / Return if no free slots FoundRznrFireSlot: A9 10 LDA.B #$10 ; \ CODE_039B05: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_039B08: A9 02 LDA.B #$02 ; \ Extended sprite = Reznor fireball CODE_039B0A: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_039B0D: B5 E4 LDA RAM_SpriteXLo,X CODE_039B0F: 48 PHA CODE_039B10: 38 SEC CODE_039B11: E9 08 SBC.B #$08 CODE_039B13: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_039B16: 95 E4 STA RAM_SpriteXLo,X CODE_039B18: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_039B1B: E9 00 SBC.B #$00 CODE_039B1D: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_039B20: B5 D8 LDA RAM_SpriteYLo,X CODE_039B22: 48 PHA CODE_039B23: 38 SEC CODE_039B24: E9 14 SBC.B #$14 CODE_039B26: 95 D8 STA RAM_SpriteYLo,X CODE_039B28: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_039B2B: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_039B2E: 48 PHA CODE_039B2F: E9 00 SBC.B #$00 CODE_039B31: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_039B34: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_039B37: A9 10 LDA.B #$10 CODE_039B39: 20 F9 97 JSR.W CODE_0397F9 CODE_039B3C: 68 PLA CODE_039B3D: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_039B40: 68 PLA CODE_039B41: 95 D8 STA RAM_SpriteYLo,X CODE_039B43: 68 PLA CODE_039B44: 95 E4 STA RAM_SpriteXLo,X CODE_039B46: A5 00 LDA $00 CODE_039B48: 99 3D 17 STA.W RAM_ExSprSpeedY,Y CODE_039B4B: A5 01 LDA $01 CODE_039B4D: 99 47 17 STA.W RAM_ExSprSpeedX,Y Return039B50: 60 RTS ; Return ReznorTileDispX: .db $00,$F0,$00,$F0,$F0,$00,$F0,$00 ReznorTileDispY: .db $E0,$E0,$F0,$F0 ReznorTiles: .db $40,$42,$60,$62,$44,$46,$64,$66 .db $28,$28,$48,$48 ReznorPal: .db $3F,$3F,$3F,$3F,$3F,$3F,$3F,$3F .db $7F,$3F,$7F,$3F ReznorGfxRt: BD 1C 15 LDA.W $151C,X ; \ if the reznor is dead, only draw the platform CODE_039B78: D0 65 BNE DrawReznorPlats ; / CODE_039B7A: 20 60 B7 JSR.W GetDrawInfoBnk3 ; after: Y = index to sprite tile map, $00 = sprite x, $01 = sprite y CODE_039B7D: BD 02 16 LDA.W $1602,X ; \ $03 = index to frame start (frame to show * 4 tiles per frame) CODE_039B80: 0A ASL ; | CODE_039B81: 0A ASL ; | CODE_039B82: 85 03 STA $03 ; / CODE_039B84: BD 7C 15 LDA.W RAM_SpriteDir,X ; \ $02 = direction index CODE_039B87: 0A ASL ; | CODE_039B88: 0A ASL ; | CODE_039B89: 85 02 STA $02 ; / CODE_039B8B: DA PHX CODE_039B8C: A2 03 LDX.B #$03 RznrGfxLoopStart: DA PHX CODE_039B8F: A5 03 LDA $03 CODE_039B91: C9 08 CMP.B #$08 CODE_039B93: B0 04 BCS CODE_039B99 CODE_039B95: 8A TXA CODE_039B96: 05 02 ORA $02 CODE_039B98: AA TAX CODE_039B99: A5 00 LDA $00 CODE_039B9B: 18 CLC CODE_039B9C: 7D 51 9B ADC.W ReznorTileDispX,X CODE_039B9F: 99 00 03 STA.W OAM_DispX,Y CODE_039BA2: FA PLX CODE_039BA3: A5 01 LDA $01 CODE_039BA5: 18 CLC CODE_039BA6: 7D 59 9B ADC.W ReznorTileDispY,X CODE_039BA9: 99 01 03 STA.W OAM_DispY,Y CODE_039BAC: DA PHX CODE_039BAD: 8A TXA CODE_039BAE: 05 03 ORA $03 CODE_039BB0: AA TAX CODE_039BB1: BD 5D 9B LDA.W ReznorTiles,X ; \ set tile CODE_039BB4: 99 02 03 STA.W OAM_Tile,Y ; / CODE_039BB7: BD 69 9B LDA.W ReznorPal,X ; \ set palette/properties CODE_039BBA: E0 08 CPX.B #$08 ; | if turning, don't flip CODE_039BBC: B0 06 BCS NoReznorGfxFlip ; | CODE_039BBE: A6 02 LDX $02 ; | if direction = 0, don't flip CODE_039BC0: D0 02 BNE NoReznorGfxFlip ; | CODE_039BC2: 49 40 EOR.B #$40 ; | NoReznorGfxFlip: 99 03 03 STA.W OAM_Prop,Y ; / CODE_039BC7: FA PLX ; \ pull, X = current tile of the frame we're drawing CODE_039BC8: C8 INY ; | Increase index to sprite tile map ($300)... CODE_039BC9: C8 INY ; | ...we wrote 4 bytes... CODE_039BCA: C8 INY ; | ...so increment 4 times CODE_039BCB: C8 INY ; | CODE_039BCC: CA DEX ; | Go to next tile of frame and loop CODE_039BCD: 10 BF BPL RznrGfxLoopStart ; / CODE_039BCF: FA PLX ; \ CODE_039BD0: A0 02 LDY.B #$02 ; | Y = 02 (All 16x16 tiles) CODE_039BD2: A9 03 LDA.B #$03 ; | A = number of tiles drawn - 1 CODE_039BD4: 22 B3 B7 01 JSL.L FinishOAMWrite ; / Don't draw if offscreen CODE_039BD8: BD C8 14 LDA.W $14C8,X CODE_039BDB: C9 02 CMP.B #$02 CODE_039BDD: F0 03 BEQ Return039BE2 DrawReznorPlats: 20 EB 9B JSR.W ReznorPlatGfxRt Return039BE2: 60 RTS ; Return ReznorPlatDispY: .db $00,$03,$04,$05,$05,$04,$03,$00 ReznorPlatGfxRt: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_039BEE: 18 CLC CODE_039BEF: 69 10 ADC.B #$10 CODE_039BF1: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_039BF4: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_039BF7: BD 64 15 LDA.W $1564,X CODE_039BFA: 4A LSR CODE_039BFB: 5A PHY CODE_039BFC: A8 TAY CODE_039BFD: B9 E3 9B LDA.W ReznorPlatDispY,Y CODE_039C00: 85 02 STA $02 CODE_039C02: 7A PLY CODE_039C03: A5 00 LDA $00 CODE_039C05: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_039C08: 38 SEC CODE_039C09: E9 10 SBC.B #$10 CODE_039C0B: 99 00 03 STA.W OAM_DispX,Y CODE_039C0E: A5 01 LDA $01 CODE_039C10: 38 SEC CODE_039C11: E5 02 SBC $02 CODE_039C13: 99 01 03 STA.W OAM_DispY,Y CODE_039C16: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_039C19: A9 4E LDA.B #$4E ; \ Tile of reznor platform... CODE_039C1B: 99 02 03 STA.W OAM_Tile,Y ; | ...store left side CODE_039C1E: 99 06 03 STA.W OAM_Tile2,Y ; / ...store right side CODE_039C21: A9 33 LDA.B #$33 ; \ Palette of reznor platform... CODE_039C23: 99 03 03 STA.W OAM_Prop,Y ; | CODE_039C26: 09 40 ORA.B #$40 ; | ...flip right side CODE_039C28: 99 07 03 STA.W OAM_Tile2Prop,Y ; / CODE_039C2B: A0 02 LDY.B #$02 ; \ CODE_039C2D: A9 01 LDA.B #$01 ; | A = number of tiles drawn - 1 CODE_039C2F: 22 B3 B7 01 JSL.L FinishOAMWrite ; / Don't draw if offscreen Return039C33: 60 RTS ; Return InvisBlk+DinosMain: B5 9E LDA RAM_SpriteNum,X ; \ Branch if sprite isn't "Invisible solid block" CODE_039C36: C9 6D CMP.B #$6D ; | CODE_039C38: D0 05 BNE DinoMainRt ; / CODE_039C3A: 22 4F B4 01 JSL.L InvisBlkMainRt ; \ Call "Invisible solid block" routine Return039C3E: 6B RTL ; Return DinoMainRt: 8B PHB CODE_039C40: 4B PHK CODE_039C41: AB PLB CODE_039C42: 20 47 9C JSR.W DinoMainSubRt CODE_039C45: AB PLB Return039C46: 6B RTL ; Return DinoMainSubRt: 20 49 9E JSR.W DinoGfxRt CODE_039C4A: A5 9D LDA RAM_SpritesLocked CODE_039C4C: D0 55 BNE Return039CA3 CODE_039C4E: BD C8 14 LDA.W $14C8,X CODE_039C51: C9 08 CMP.B #$08 CODE_039C53: D0 4E BNE Return039CA3 CODE_039C55: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_039C58: 22 DC A7 01 JSL.L MarioSprInteract CODE_039C5C: 22 2A 80 01 JSL.L UpdateSpritePos CODE_039C60: B5 C2 LDA RAM_SpriteState,X CODE_039C62: 22 DF 86 00 JSL.L ExecutePtr RhinoStatePtrs: A8 9C .dw CODE_039CA8 41 9D .dw CODE_039D41 41 9D .dw CODE_039D41 74 9C .dw CODE_039C74 DATA_039C6E: .db $00,$FE,$02 DATA_039C71: .db $00,$FF,$00 CODE_039C74: B5 AA LDA RAM_SpriteSpeedY,X CODE_039C76: 30 11 BMI CODE_039C89 CODE_039C78: 74 C2 STZ RAM_SpriteState,X CODE_039C7A: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not touching object CODE_039C7D: 29 03 AND.B #$03 ; | CODE_039C7F: F0 08 BEQ CODE_039C89 ; / CODE_039C81: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_039C84: 49 01 EOR.B #$01 CODE_039C86: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_039C89: 9E 02 16 STZ.W $1602,X CODE_039C8C: BD 88 15 LDA.W RAM_SprObjStatus,X CODE_039C8F: 29 03 AND.B #$03 CODE_039C91: A8 TAY CODE_039C92: B5 E4 LDA RAM_SpriteXLo,X CODE_039C94: 18 CLC CODE_039C95: 79 6E 9C ADC.W DATA_039C6E,Y CODE_039C98: 95 E4 STA RAM_SpriteXLo,X CODE_039C9A: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_039C9D: 79 71 9C ADC.W DATA_039C71,Y CODE_039CA0: 9D E0 14 STA.W RAM_SpriteXHi,X Return039CA3: 60 RTS ; Return DinoSpeed: .db $08,$F8,$10,$F0 CODE_039CA8: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_039CAB: 29 04 AND.B #$04 ; | CODE_039CAD: F0 DA BEQ CODE_039C89 ; / CODE_039CAF: BD 40 15 LDA.W $1540,X CODE_039CB2: D0 14 BNE CODE_039CC8 CODE_039CB4: B5 9E LDA RAM_SpriteNum,X CODE_039CB6: C9 6E CMP.B #$6E CODE_039CB8: F0 0E BEQ CODE_039CC8 CODE_039CBA: A9 FF LDA.B #$FF ; \ Set fire breathing timer CODE_039CBC: 9D 40 15 STA.W $1540,X ; / CODE_039CBF: 22 F9 AC 01 JSL.L GetRand CODE_039CC3: 29 01 AND.B #$01 CODE_039CC5: 1A INC A CODE_039CC6: 95 C2 STA RAM_SpriteState,X CODE_039CC8: 8A TXA CODE_039CC9: 0A ASL CODE_039CCA: 0A ASL CODE_039CCB: 0A ASL CODE_039CCC: 0A ASL CODE_039CCD: 65 14 ADC RAM_FrameCounterB CODE_039CCF: 29 3F AND.B #$3F CODE_039CD1: D0 07 BNE CODE_039CDA CODE_039CD3: 20 17 B8 JSR.W SubHorzPosBnk3 ; \ If not facing mario, change directions CODE_039CD6: 98 TYA ; | CODE_039CD7: 9D 7C 15 STA.W RAM_SpriteDir,X ; / CODE_039CDA: A9 10 LDA.B #$10 CODE_039CDC: 95 AA STA RAM_SpriteSpeedY,X CODE_039CDE: BC 7C 15 LDY.W RAM_SpriteDir,X ; \ Set x speed for rhino based on direction and sprite number CODE_039CE1: B5 9E LDA RAM_SpriteNum,X ; | CODE_039CE3: C9 6E CMP.B #$6E ; | CODE_039CE5: F0 02 BEQ CODE_039CE9 ; | CODE_039CE7: C8 INY ; | CODE_039CE8: C8 INY ; | CODE_039CE9: B9 A4 9C LDA.W DinoSpeed,Y ; | CODE_039CEC: 95 B6 STA RAM_SpriteSpeedX,X ; / CODE_039CEE: 20 EF 9D JSR.W DinoSetGfxFrame CODE_039CF1: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not touching object CODE_039CF4: 29 03 AND.B #$03 ; | CODE_039CF6: F0 08 BEQ Return039D00 ; / CODE_039CF8: A9 C0 LDA.B #$C0 CODE_039CFA: 95 AA STA RAM_SpriteSpeedY,X CODE_039CFC: A9 03 LDA.B #$03 CODE_039CFE: 95 C2 STA RAM_SpriteState,X Return039D00: 60 RTS ; Return DinoFlameTable: .db $41,$42,$42,$32,$22,$12,$02,$02 .db $02,$02,$02,$02,$02,$02,$02,$02 .db $02,$02,$02,$02,$02,$02,$02,$12 .db $22,$32,$42,$42,$42,$42,$41,$41 .db $41,$43,$43,$33,$23,$13,$03,$03 .db $03,$03,$03,$03,$03,$03,$03,$03 .db $03,$03,$03,$03,$03,$03,$03,$13 .db $23,$33,$43,$43,$43,$43,$41,$41 CODE_039D41: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_039D43: BD 40 15 LDA.W $1540,X CODE_039D46: D0 09 BNE DinoFlameTimerSet CODE_039D48: 74 C2 STZ RAM_SpriteState,X CODE_039D4A: A9 40 LDA.B #$40 CODE_039D4C: 9D 40 15 STA.W $1540,X CODE_039D4F: A9 00 LDA.B #$00 DinoFlameTimerSet: C9 C0 CMP.B #$C0 CODE_039D53: D0 05 BNE CODE_039D5A CODE_039D55: A0 17 LDY.B #$17 ; \ Play sound effect CODE_039D57: 8C FC 1D STY.W $1DFC ; / CODE_039D5A: 4A LSR CODE_039D5B: 4A LSR CODE_039D5C: 4A LSR CODE_039D5D: B4 C2 LDY RAM_SpriteState,X CODE_039D5F: C0 02 CPY.B #$02 CODE_039D61: D0 03 BNE CODE_039D66 CODE_039D63: 18 CLC CODE_039D64: 69 20 ADC.B #$20 CODE_039D66: A8 TAY CODE_039D67: B9 01 9D LDA.W DinoFlameTable,Y CODE_039D6A: 48 PHA CODE_039D6B: 29 0F AND.B #$0F CODE_039D6D: 9D 02 16 STA.W $1602,X CODE_039D70: 68 PLA CODE_039D71: 4A LSR CODE_039D72: 4A LSR CODE_039D73: 4A LSR CODE_039D74: 4A LSR CODE_039D75: 9D 1C 15 STA.W $151C,X CODE_039D78: D0 23 BNE Return039D9D CODE_039D7A: B5 9E LDA RAM_SpriteNum,X CODE_039D7C: C9 6E CMP.B #$6E CODE_039D7E: F0 1D BEQ Return039D9D CODE_039D80: 8A TXA CODE_039D81: 45 13 EOR RAM_FrameCounter CODE_039D83: 29 03 AND.B #$03 CODE_039D85: D0 16 BNE Return039D9D CODE_039D87: 20 B6 9D JSR.W DinoFlameClipping CODE_039D8A: 22 64 B6 03 JSL.L GetMarioClipping CODE_039D8E: 22 2B B7 03 JSL.L CheckForContact CODE_039D92: 90 09 BCC Return039D9D ADDR_039D94: AD 90 14 LDA.W $1490 ; \ Branch if Mario has star ADDR_039D97: D0 04 BNE Return039D9D ; / ADDR_039D99: 22 B7 F5 00 JSL.L HurtMario Return039D9D: 60 RTS ; Return DinoFlame1: .db $DC,$02,$10,$02 DinoFlame2: .db $FF,$00,$00,$00 DinoFlame3: .db $24,$0C,$24,$0C DinoFlame4: .db $02,$DC,$02,$DC DinoFlame5: .db $00,$FF,$00,$FF DinoFlame6: .db $0C,$24,$0C,$24 DinoFlameClipping: BD 02 16 LDA.W $1602,X CODE_039DB9: 38 SEC CODE_039DBA: E9 02 SBC.B #$02 CODE_039DBC: A8 TAY CODE_039DBD: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_039DC0: D0 02 BNE CODE_039DC4 CODE_039DC2: C8 INY CODE_039DC3: C8 INY CODE_039DC4: B5 E4 LDA RAM_SpriteXLo,X CODE_039DC6: 18 CLC CODE_039DC7: 79 9E 9D ADC.W DinoFlame1,Y CODE_039DCA: 85 04 STA $04 CODE_039DCC: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_039DCF: 79 A2 9D ADC.W DinoFlame2,Y CODE_039DD2: 85 0A STA $0A CODE_039DD4: B9 A6 9D LDA.W DinoFlame3,Y CODE_039DD7: 85 06 STA $06 CODE_039DD9: B5 D8 LDA RAM_SpriteYLo,X CODE_039DDB: 18 CLC CODE_039DDC: 79 AA 9D ADC.W DinoFlame4,Y CODE_039DDF: 85 05 STA $05 CODE_039DE1: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_039DE4: 79 AE 9D ADC.W DinoFlame5,Y CODE_039DE7: 85 0B STA $0B CODE_039DE9: B9 B2 9D LDA.W DinoFlame6,Y CODE_039DEC: 85 07 STA $07 Return039DEE: 60 RTS ; Return DinoSetGfxFrame: FE 70 15 INC.W $1570,X CODE_039DF2: BD 70 15 LDA.W $1570,X CODE_039DF5: 29 08 AND.B #$08 CODE_039DF7: 4A LSR CODE_039DF8: 4A LSR CODE_039DF9: 4A LSR CODE_039DFA: 9D 02 16 STA.W $1602,X Return039DFD: 60 RTS ; Return DinoTorchTileDispX: .db $D8,$E0,$EC,$F8,$00,$FF,$FF,$FF .db $FF,$00 DinoTorchTileDispY: .db $00,$00,$00,$00,$00,$D8,$E0,$EC .db $F8,$00 DinoFlameTiles: .db $80,$82,$84,$86,$00,$88,$8A,$8C .db $8E,$00 DinoTorchGfxProp: .db $09,$05,$05,$05,$0F DinoTorchTiles: .db $EA,$AA,$C4,$C6 DinoRhinoTileDispX: .db $F8,$08,$F8,$08,$08,$F8,$08,$F8 DinoRhinoGfxProp: .db $2F,$2F,$2F,$2F,$6F,$6F,$6F,$6F DinoRhinoTileDispY: .db $F0,$F0,$00,$00 DinoRhinoTiles: .db $C0,$C2,$E4,$E6,$C0,$C2,$E0,$E2 .db $C8,$CA,$E8,$E2,$CC,$CE,$EC,$EE DinoGfxRt: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_039E4C: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_039E4F: 85 02 STA $02 CODE_039E51: BD 02 16 LDA.W $1602,X CODE_039E54: 85 04 STA $04 CODE_039E56: B5 9E LDA RAM_SpriteNum,X CODE_039E58: C9 6F CMP.B #$6F CODE_039E5A: F0 4D BEQ CODE_039EA9 CODE_039E5C: DA PHX CODE_039E5D: A2 03 LDX.B #$03 CODE_039E5F: 86 0F STX $0F CODE_039E61: A5 02 LDA $02 CODE_039E63: C9 01 CMP.B #$01 CODE_039E65: B0 05 BCS CODE_039E6C CODE_039E67: 8A TXA CODE_039E68: 18 CLC CODE_039E69: 69 04 ADC.B #$04 CODE_039E6B: AA TAX CODE_039E6C: BD 2D 9E LDA.W DinoRhinoGfxProp,X CODE_039E6F: 99 03 03 STA.W OAM_Prop,Y CODE_039E72: BD 25 9E LDA.W DinoRhinoTileDispX,X CODE_039E75: 18 CLC CODE_039E76: 65 00 ADC $00 CODE_039E78: 99 00 03 STA.W OAM_DispX,Y CODE_039E7B: A5 04 LDA $04 CODE_039E7D: C9 01 CMP.B #$01 CODE_039E7F: A6 0F LDX $0F CODE_039E81: BD 35 9E LDA.W DinoRhinoTileDispY,X CODE_039E84: 65 01 ADC $01 CODE_039E86: 99 01 03 STA.W OAM_DispY,Y CODE_039E89: A5 04 LDA $04 CODE_039E8B: 0A ASL CODE_039E8C: 0A ASL CODE_039E8D: 65 0F ADC $0F CODE_039E8F: AA TAX CODE_039E90: BD 39 9E LDA.W DinoRhinoTiles,X CODE_039E93: 99 02 03 STA.W OAM_Tile,Y CODE_039E96: C8 INY CODE_039E97: C8 INY CODE_039E98: C8 INY CODE_039E99: C8 INY CODE_039E9A: A6 0F LDX $0F CODE_039E9C: CA DEX CODE_039E9D: 10 C0 BPL CODE_039E5F CODE_039E9F: FA PLX CODE_039EA0: A9 03 LDA.B #$03 CODE_039EA2: A0 02 LDY.B #$02 CODE_039EA4: 22 B3 B7 01 JSL.L FinishOAMWrite Return039EA8: 60 RTS ; Return CODE_039EA9: BD 1C 15 LDA.W $151C,X CODE_039EAC: 85 03 STA $03 CODE_039EAE: BD 02 16 LDA.W $1602,X CODE_039EB1: 85 04 STA $04 CODE_039EB3: DA PHX CODE_039EB4: A5 14 LDA RAM_FrameCounterB CODE_039EB6: 29 02 AND.B #$02 CODE_039EB8: 0A ASL CODE_039EB9: 0A ASL CODE_039EBA: 0A ASL CODE_039EBB: 0A ASL CODE_039EBC: 0A ASL CODE_039EBD: A6 04 LDX $04 CODE_039EBF: E0 03 CPX.B #$03 CODE_039EC1: F0 01 BEQ CODE_039EC4 CODE_039EC3: 0A ASL CODE_039EC4: 85 05 STA $05 CODE_039EC6: A2 04 LDX.B #$04 CODE_039EC8: 86 06 STX $06 CODE_039ECA: A5 04 LDA $04 CODE_039ECC: C9 03 CMP.B #$03 CODE_039ECE: D0 05 BNE CODE_039ED5 CODE_039ED0: 8A TXA CODE_039ED1: 18 CLC CODE_039ED2: 69 05 ADC.B #$05 CODE_039ED4: AA TAX CODE_039ED5: DA PHX CODE_039ED6: BD FE 9D LDA.W DinoTorchTileDispX,X CODE_039ED9: A6 02 LDX $02 CODE_039EDB: D0 03 BNE CODE_039EE0 CODE_039EDD: 49 FF EOR.B #$FF CODE_039EDF: 1A INC A CODE_039EE0: FA PLX CODE_039EE1: 18 CLC CODE_039EE2: 65 00 ADC $00 CODE_039EE4: 99 00 03 STA.W OAM_DispX,Y CODE_039EE7: BD 08 9E LDA.W DinoTorchTileDispY,X CODE_039EEA: 18 CLC CODE_039EEB: 65 01 ADC $01 CODE_039EED: 99 01 03 STA.W OAM_DispY,Y CODE_039EF0: A5 06 LDA $06 CODE_039EF2: C9 04 CMP.B #$04 CODE_039EF4: D0 07 BNE CODE_039EFD CODE_039EF6: A6 04 LDX $04 CODE_039EF8: BD 21 9E LDA.W DinoTorchTiles,X CODE_039EFB: 80 03 BRA CODE_039F00 CODE_039EFD: BD 12 9E LDA.W DinoFlameTiles,X CODE_039F00: 99 02 03 STA.W OAM_Tile,Y CODE_039F03: A9 00 LDA.B #$00 CODE_039F05: A6 02 LDX $02 CODE_039F07: D0 02 BNE CODE_039F0B CODE_039F09: 09 40 ORA.B #$40 CODE_039F0B: A6 06 LDX $06 CODE_039F0D: E0 04 CPX.B #$04 CODE_039F0F: F0 02 BEQ CODE_039F13 CODE_039F11: 45 05 EOR $05 CODE_039F13: 1D 1C 9E ORA.W DinoTorchGfxProp,X CODE_039F16: 05 64 ORA $64 CODE_039F18: 99 03 03 STA.W OAM_Prop,Y CODE_039F1B: C8 INY CODE_039F1C: C8 INY CODE_039F1D: C8 INY CODE_039F1E: C8 INY CODE_039F1F: CA DEX CODE_039F20: E4 03 CPX $03 CODE_039F22: 10 A4 BPL CODE_039EC8 CODE_039F24: FA PLX CODE_039F25: BC 1C 15 LDY.W $151C,X CODE_039F28: B9 32 9F LDA.W DinoTilesWritten,Y CODE_039F2B: A0 02 LDY.B #$02 CODE_039F2D: 22 B3 B7 01 JSL.L FinishOAMWrite Return039F31: 60 RTS ; Return DinoTilesWritten: .db $04,$03,$02,$01,$00 Return039F37: 60 RTS Blargg: 20 62 A0 JSR.W CODE_03A062 CODE_039F3B: A5 9D LDA RAM_SpritesLocked CODE_039F3D: D0 17 BNE Return039F56 CODE_039F3F: 22 DC A7 01 JSL.L MarioSprInteract CODE_039F43: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_039F46: B5 C2 LDA RAM_SpriteState,X CODE_039F48: 22 DF 86 00 JSL.L ExecutePtr BlarggPtrs: 57 9F .dw CODE_039F57 8B 9F .dw CODE_039F8B A4 9F .dw CODE_039FA4 C8 9F .dw CODE_039FC8 EF 9F .dw CODE_039FEF Return039F56: 60 RTS ; Return CODE_039F57: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_039F5A: 1D 40 15 ORA.W $1540,X CODE_039F5D: D0 2B BNE Return039F8A CODE_039F5F: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_039F62: A5 0F LDA $0F CODE_039F64: 18 CLC CODE_039F65: 69 70 ADC.B #$70 CODE_039F67: C9 E0 CMP.B #$E0 CODE_039F69: B0 1F BCS Return039F8A CODE_039F6B: A9 E3 LDA.B #$E3 CODE_039F6D: 95 AA STA RAM_SpriteSpeedY,X CODE_039F6F: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_039F72: 9D 1C 15 STA.W $151C,X CODE_039F75: B5 E4 LDA RAM_SpriteXLo,X CODE_039F77: 9D 28 15 STA.W $1528,X CODE_039F7A: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_039F7D: 9D 34 15 STA.W $1534,X CODE_039F80: B5 D8 LDA RAM_SpriteYLo,X CODE_039F82: 9D 94 15 STA.W $1594,X CODE_039F85: 20 C0 9F JSR.W CODE_039FC0 CODE_039F88: F6 C2 INC RAM_SpriteState,X Return039F8A: 60 RTS ; Return CODE_039F8B: B5 AA LDA RAM_SpriteSpeedY,X CODE_039F8D: C9 10 CMP.B #$10 CODE_039F8F: 30 0A BMI CODE_039F9B CODE_039F91: A9 50 LDA.B #$50 CODE_039F93: 9D 40 15 STA.W $1540,X CODE_039F96: F6 C2 INC RAM_SpriteState,X CODE_039F98: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 Return039F9A: 60 RTS ; Return CODE_039F9B: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_039F9F: F6 AA INC RAM_SpriteSpeedY,X CODE_039FA1: F6 AA INC RAM_SpriteSpeedY,X Return039FA3: 60 RTS ; Return CODE_039FA4: BD 40 15 LDA.W $1540,X CODE_039FA7: D0 08 BNE CODE_039FB1 CODE_039FA9: F6 C2 INC RAM_SpriteState,X CODE_039FAB: A9 0A LDA.B #$0A CODE_039FAD: 9D 40 15 STA.W $1540,X Return039FB0: 60 RTS ; Return CODE_039FB1: C9 20 CMP.B #$20 CODE_039FB3: 90 0B BCC CODE_039FC0 CODE_039FB5: 29 1F AND.B #$1F CODE_039FB7: D0 0E BNE Return039FC7 CODE_039FB9: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_039FBC: 49 01 EOR.B #$01 CODE_039FBE: 80 04 BRA CODE_039FC4 CODE_039FC0: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_039FC3: 98 TYA CODE_039FC4: 9D 7C 15 STA.W RAM_SpriteDir,X Return039FC7: 60 RTS ; Return CODE_039FC8: BD 40 15 LDA.W $1540,X CODE_039FCB: F0 09 BEQ CODE_039FD6 CODE_039FCD: A9 20 LDA.B #$20 CODE_039FCF: 95 AA STA RAM_SpriteSpeedY,X CODE_039FD1: 22 1A 80 01 JSL.L UpdateYPosNoGrvty Return039FD5: 60 RTS ; Return CODE_039FD6: A9 20 LDA.B #$20 CODE_039FD8: 9D 40 15 STA.W $1540,X CODE_039FDB: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_039FDE: B9 ED 9F LDA.W DATA_039FED,Y CODE_039FE1: 95 B6 STA RAM_SpriteSpeedX,X CODE_039FE3: A9 E2 LDA.B #$E2 CODE_039FE5: 95 AA STA RAM_SpriteSpeedY,X CODE_039FE7: 20 45 A0 JSR.W CODE_03A045 CODE_039FEA: F6 C2 INC RAM_SpriteState,X Return039FEC: 60 RTS ; Return DATA_039FED: .db $10,$F0 CODE_039FEF: 9E 02 16 STZ.W $1602,X CODE_039FF2: BD 40 15 LDA.W $1540,X CODE_039FF5: F0 0B BEQ CODE_03A002 CODE_039FF7: 3A DEC A CODE_039FF8: D0 3E BNE CODE_03A038 CODE_039FFA: A9 25 LDA.B #$25 ; \ Play sound effect CODE_039FFC: 8D F9 1D STA.W $1DF9 ; / CODE_039FFF: 20 45 A0 JSR.W CODE_03A045 CODE_03A002: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_03A006: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_03A00A: A5 13 LDA RAM_FrameCounter CODE_03A00C: 29 00 AND.B #$00 CODE_03A00E: D0 02 BNE CODE_03A012 CODE_03A010: F6 AA INC RAM_SpriteSpeedY,X CODE_03A012: B5 AA LDA RAM_SpriteSpeedY,X CODE_03A014: C9 20 CMP.B #$20 CODE_03A016: 30 20 BMI CODE_03A038 CODE_03A018: 20 45 A0 JSR.W CODE_03A045 CODE_03A01B: 74 C2 STZ RAM_SpriteState,X CODE_03A01D: BD 1C 15 LDA.W $151C,X CODE_03A020: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_03A023: BD 28 15 LDA.W $1528,X CODE_03A026: 95 E4 STA RAM_SpriteXLo,X CODE_03A028: BD 34 15 LDA.W $1534,X CODE_03A02B: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_03A02E: BD 94 15 LDA.W $1594,X CODE_03A031: 95 D8 STA RAM_SpriteYLo,X CODE_03A033: A9 40 LDA.B #$40 CODE_03A035: 9D 40 15 STA.W $1540,X CODE_03A038: B5 AA LDA RAM_SpriteSpeedY,X CODE_03A03A: 18 CLC CODE_03A03B: 69 06 ADC.B #$06 CODE_03A03D: C9 0C CMP.B #$0C CODE_03A03F: B0 03 BCS Return03A044 CODE_03A041: FE 02 16 INC.W $1602,X Return03A044: 60 RTS ; Return CODE_03A045: B5 D8 LDA RAM_SpriteYLo,X CODE_03A047: 48 PHA CODE_03A048: 38 SEC CODE_03A049: E9 0C SBC.B #$0C CODE_03A04B: 95 D8 STA RAM_SpriteYLo,X CODE_03A04D: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03A050: 48 PHA CODE_03A051: E9 00 SBC.B #$00 CODE_03A053: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_03A056: 22 28 85 02 JSL.L CODE_028528 CODE_03A05A: 68 PLA CODE_03A05B: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_03A05E: 68 PLA CODE_03A05F: 95 D8 STA RAM_SpriteYLo,X Return03A061: 60 RTS ; Return CODE_03A062: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03A065: B5 C2 LDA RAM_SpriteState,X CODE_03A067: F0 CF BEQ CODE_03A038 CODE_03A069: C9 04 CMP.B #$04 CODE_03A06B: F0 30 BEQ CODE_03A09D CODE_03A06D: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_03A071: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_03A074: A9 A0 LDA.B #$A0 CODE_03A076: 99 02 03 STA.W OAM_Tile,Y CODE_03A079: B9 03 03 LDA.W OAM_Prop,Y CODE_03A07C: 29 CF AND.B #$CF CODE_03A07E: 99 03 03 STA.W OAM_Prop,Y Return03A081: 60 RTS ; Return DATA_03A082: .db $F8,$08,$F8,$08,$18,$08,$F8,$08 .db $F8,$E8 DATA_03A08C: .db $F8,$F8,$08,$08,$08 BlarggTilemap: .db $A2,$A4,$C2,$C4,$A6,$A2,$A4,$E6 .db $C8,$A6 DATA_03A09B: .db $45,$05 CODE_03A09D: BD 02 16 LDA.W $1602,X CODE_03A0A0: 0A ASL CODE_03A0A1: 0A ASL CODE_03A0A2: 7D 02 16 ADC.W $1602,X CODE_03A0A5: 85 03 STA $03 CODE_03A0A7: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_03A0AA: 85 02 STA $02 CODE_03A0AC: DA PHX CODE_03A0AD: A2 04 LDX.B #$04 CODE_03A0AF: DA PHX CODE_03A0B0: DA PHX CODE_03A0B1: A5 01 LDA $01 CODE_03A0B3: 18 CLC CODE_03A0B4: 7D 8C A0 ADC.W DATA_03A08C,X CODE_03A0B7: 99 01 03 STA.W OAM_DispY,Y CODE_03A0BA: A5 02 LDA $02 CODE_03A0BC: D0 05 BNE CODE_03A0C3 CODE_03A0BE: 8A TXA CODE_03A0BF: 18 CLC CODE_03A0C0: 69 05 ADC.B #$05 CODE_03A0C2: AA TAX CODE_03A0C3: A5 00 LDA $00 CODE_03A0C5: 18 CLC CODE_03A0C6: 7D 82 A0 ADC.W DATA_03A082,X CODE_03A0C9: 99 00 03 STA.W OAM_DispX,Y CODE_03A0CC: 68 PLA CODE_03A0CD: 18 CLC CODE_03A0CE: 65 03 ADC $03 CODE_03A0D0: AA TAX CODE_03A0D1: BD 91 A0 LDA.W BlarggTilemap,X CODE_03A0D4: 99 02 03 STA.W OAM_Tile,Y CODE_03A0D7: A6 02 LDX $02 CODE_03A0D9: BD 9B A0 LDA.W DATA_03A09B,X CODE_03A0DC: 99 03 03 STA.W OAM_Prop,Y CODE_03A0DF: FA PLX CODE_03A0E0: C8 INY CODE_03A0E1: C8 INY CODE_03A0E2: C8 INY CODE_03A0E3: C8 INY CODE_03A0E4: CA DEX CODE_03A0E5: 10 C8 BPL CODE_03A0AF CODE_03A0E7: FA PLX CODE_03A0E8: A0 02 LDY.B #$02 CODE_03A0EA: A9 04 LDA.B #$04 CODE_03A0EC: 22 B3 B7 01 JSL.L FinishOAMWrite Return03A0F0: 60 RTS ; Return CODE_03A0F1: 22 D2 F7 07 JSL.L InitSpriteTables CODE_03A0F5: 9E A0 15 STZ.W RAM_OffscreenHorz,X CODE_03A0F8: A9 80 LDA.B #$80 CODE_03A0FA: 95 D8 STA RAM_SpriteYLo,X CODE_03A0FC: A9 FF LDA.B #$FF CODE_03A0FE: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_03A101: A9 D0 LDA.B #$D0 CODE_03A103: 95 E4 STA RAM_SpriteXLo,X CODE_03A105: A9 00 LDA.B #$00 CODE_03A107: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_03A10A: A9 02 LDA.B #$02 CODE_03A10C: 9D 7B 18 STA.W $187B,X CODE_03A10F: A9 03 LDA.B #$03 CODE_03A111: 95 C2 STA RAM_SpriteState,X CODE_03A113: 22 7D DD 03 JSL.L CODE_03DD7D Return03A117: 6B RTL ; Return Bnk3CallSprMain: 8B PHB CODE_03A119: 4B PHK CODE_03A11A: AB PLB CODE_03A11B: B5 9E LDA RAM_SpriteNum,X CODE_03A11D: C9 C8 CMP.B #$C8 CODE_03A11F: D0 05 BNE CODE_03A126 CODE_03A121: 20 F5 C1 JSR.W LightSwitch CODE_03A124: AB PLB Return03A125: 6B RTL ; Return CODE_03A126: C9 C7 CMP.B #$C7 CODE_03A128: D0 05 BNE CODE_03A12F CODE_03A12A: 20 0F C3 JSR.W InvisMushroom CODE_03A12D: AB PLB Return03A12E: 6B RTL ; Return CODE_03A12F: C9 51 CMP.B #$51 CODE_03A131: D0 05 BNE CODE_03A138 CODE_03A133: 20 4C C3 JSR.W Ninji CODE_03A136: AB PLB Return03A137: 6B RTL ; Return CODE_03A138: C9 1B CMP.B #$1B CODE_03A13A: D0 05 BNE CODE_03A141 CODE_03A13C: 20 12 80 JSR.W Football CODE_03A13F: AB PLB Return03A140: 6B RTL ; Return CODE_03A141: C9 C6 CMP.B #$C6 CODE_03A143: D0 05 BNE CODE_03A14A CODE_03A145: 20 DC C4 JSR.W DarkRoomWithLight CODE_03A148: AB PLB Return03A149: 6B RTL ; Return CODE_03A14A: C9 7A CMP.B #$7A CODE_03A14C: D0 05 BNE CODE_03A153 CODE_03A14E: 20 16 C8 JSR.W Firework CODE_03A151: AB PLB Return03A152: 6B RTL ; Return CODE_03A153: C9 7C CMP.B #$7C CODE_03A155: D0 05 BNE CODE_03A15C CODE_03A157: 20 97 AC JSR.W PrincessPeach CODE_03A15A: AB PLB Return03A15B: 6B RTL ; Return CODE_03A15C: C9 C5 CMP.B #$C5 CODE_03A15E: D0 05 BNE CODE_03A165 CODE_03A160: 20 87 80 JSR.W BigBooBoss CODE_03A163: AB PLB Return03A164: 6B RTL ; Return CODE_03A165: C9 C4 CMP.B #$C4 CODE_03A167: D0 05 BNE CODE_03A16E CODE_03A169: 20 54 84 JSR.W GreyFallingPlat CODE_03A16C: AB PLB Return03A16D: 6B RTL ; Return CODE_03A16E: C9 C2 CMP.B #$C2 CODE_03A170: D0 05 BNE CODE_03A177 CODE_03A172: 20 CA 84 JSR.W Blurp CODE_03A175: AB PLB Return03A176: 6B RTL ; Return CODE_03A177: C9 C3 CMP.B #$C3 CODE_03A179: D0 05 BNE CODE_03A180 CODE_03A17B: 20 2F 85 JSR.W PorcuPuffer CODE_03A17E: AB PLB Return03A17F: 6B RTL ; Return CODE_03A180: C9 C1 CMP.B #$C1 CODE_03A182: D0 05 BNE CODE_03A189 CODE_03A184: 20 F6 85 JSR.W FlyingTurnBlocks CODE_03A187: AB PLB Return03A188: 6B RTL ; Return CODE_03A189: C9 C0 CMP.B #$C0 CODE_03A18B: D0 05 BNE CODE_03A192 CODE_03A18D: 20 FF 86 JSR.W GrayLavaPlatform CODE_03A190: AB PLB Return03A191: 6B RTL ; Return CODE_03A192: C9 BF CMP.B #$BF CODE_03A194: D0 05 BNE CODE_03A19B CODE_03A196: 20 70 87 JSR.W MegaMole CODE_03A199: AB PLB Return03A19A: 6B RTL ; Return CODE_03A19B: C9 BE CMP.B #$BE CODE_03A19D: D0 05 BNE CODE_03A1A4 CODE_03A19F: 20 A3 88 JSR.W Swooper CODE_03A1A2: AB PLB Return03A1A3: 6B RTL ; Return CODE_03A1A4: C9 BD CMP.B #$BD CODE_03A1A6: D0 05 BNE CODE_03A1AD CODE_03A1A8: 20 58 89 JSR.W SlidingKoopa CODE_03A1AB: AB PLB Return03A1AC: 6B RTL ; Return CODE_03A1AD: C9 BC CMP.B #$BC CODE_03A1AF: D0 05 BNE CODE_03A1B6 CODE_03A1B1: 20 3C 8A JSR.W BowserStatue CODE_03A1B4: AB PLB Return03A1B5: 6B RTL ; Return CODE_03A1B6: C9 B8 CMP.B #$B8 CODE_03A1B8: F0 04 BEQ CODE_03A1BE CODE_03A1BA: C9 B7 CMP.B #$B7 CODE_03A1BC: D0 05 BNE CODE_03A1C3 CODE_03A1BE: 20 2F 8C JSR.W CarrotTopLift CODE_03A1C1: AB PLB Return03A1C2: 6B RTL ; Return CODE_03A1C3: C9 B9 CMP.B #$B9 CODE_03A1C5: D0 05 BNE CODE_03A1CC CODE_03A1C7: 20 6F 8D JSR.W InfoBox CODE_03A1CA: AB PLB Return03A1CB: 6B RTL ; Return CODE_03A1CC: C9 BA CMP.B #$BA CODE_03A1CE: D0 05 BNE CODE_03A1D5 CODE_03A1D0: 20 BB 8D JSR.W TimedLift CODE_03A1D3: AB PLB Return03A1D4: 6B RTL ; Return CODE_03A1D5: C9 BB CMP.B #$BB CODE_03A1D7: D0 05 BNE CODE_03A1DE CODE_03A1D9: 20 79 8E JSR.W GreyCastleBlock CODE_03A1DC: AB PLB Return03A1DD: 6B RTL ; Return CODE_03A1DE: C9 B3 CMP.B #$B3 CODE_03A1E0: D0 05 BNE CODE_03A1E7 CODE_03A1E2: 20 EC 8E JSR.W StatueFireball CODE_03A1E5: AB PLB Return03A1E6: 6B RTL ; Return CODE_03A1E7: B5 9E LDA RAM_SpriteNum,X CODE_03A1E9: C9 B2 CMP.B #$B2 CODE_03A1EB: D0 05 BNE CODE_03A1F2 CODE_03A1ED: 20 14 92 JSR.W FallingSpike CODE_03A1F0: AB PLB Return03A1F1: 6B RTL ; Return CODE_03A1F2: C9 AE CMP.B #$AE CODE_03A1F4: D0 05 BNE CODE_03A1FB CODE_03A1F6: 20 65 90 JSR.W FishinBoo CODE_03A1F9: AB PLB Return03A1FA: 6B RTL ; Return CODE_03A1FB: C9 B6 CMP.B #$B6 CODE_03A1FD: D0 05 BNE CODE_03A204 CODE_03A1FF: 20 75 8F JSR.W ReflectingFireball CODE_03A202: AB PLB Return03A203: 6B RTL ; Return CODE_03A204: C9 B0 CMP.B #$B0 CODE_03A206: D0 05 BNE CODE_03A20D CODE_03A208: 20 7A 8F JSR.W BooStream CODE_03A20B: AB PLB Return03A20C: 6B RTL ; Return CODE_03A20D: C9 B1 CMP.B #$B1 CODE_03A20F: D0 05 BNE CODE_03A216 CODE_03A211: 20 84 92 JSR.W CreateEatBlock CODE_03A214: AB PLB Return03A215: 6B RTL ; Return CODE_03A216: C9 AC CMP.B #$AC CODE_03A218: F0 04 BEQ CODE_03A21E CODE_03A21A: C9 AD CMP.B #$AD CODE_03A21C: D0 05 BNE CODE_03A223 CODE_03A21E: 20 23 94 JSR.W WoodenSpike CODE_03A221: AB PLB Return03A222: 6B RTL ; Return CODE_03A223: C9 AB CMP.B #$AB CODE_03A225: D0 05 BNE CODE_03A22C CODE_03A227: 20 17 95 JSR.W RexMainRt CODE_03A22A: AB PLB Return03A22B: 6B RTL ; Return CODE_03A22C: C9 AA CMP.B #$AA CODE_03A22E: D0 05 BNE CODE_03A235 CODE_03A230: 20 F6 96 JSR.W Fishbone CODE_03A233: AB PLB Return03A234: 6B RTL ; Return CODE_03A235: C9 A9 CMP.B #$A9 CODE_03A237: D0 05 BNE CODE_03A23E CODE_03A239: 20 90 98 JSR.W Reznor CODE_03A23C: AB PLB Return03A23D: 6B RTL ; Return CODE_03A23E: C9 A8 CMP.B #$A8 CODE_03A240: D0 05 BNE CODE_03A247 CODE_03A242: 20 38 9F JSR.W Blargg CODE_03A245: AB PLB Return03A246: 6B RTL ; Return CODE_03A247: C9 A1 CMP.B #$A1 CODE_03A249: D0 05 BNE CODE_03A250 CODE_03A24B: 20 63 B1 JSR.W BowserBowlingBall CODE_03A24E: AB PLB Return03A24F: 6B RTL ; Return CODE_03A250: C9 A2 CMP.B #$A2 ;\ CODE_03A252: D0 05 BNE BowserFight ;| Mechakoopa CODE_03A254: 20 A9 B2 JSR.W MechaKoopa ;| INIT Routline CODE_03A257: AB PLB ;/ Return03A258: 6B RTL ; Return BowserFight: 22 CC DF 03 JSL.L CODE_03DFCC CODE_03A25D: 20 79 A2 JSR.W CODE_03A279 CODE_03A260: 20 3C B4 JSR.W CODE_03B43C CODE_03A263: AB PLB Return03A264: 6B RTL ; Return DATA_03A265: .db $04,$03,$02,$01,$00,$01,$02,$03 .db $04,$05,$06,$07,$07,$07,$07,$07 .db $07,$07,$07,$07 CODE_03A279: A5 38 LDA $38 CODE_03A27B: 4A LSR CODE_03A27C: 4A LSR CODE_03A27D: 4A LSR CODE_03A27E: A8 TAY CODE_03A27F: B9 65 A2 LDA.W DATA_03A265,Y CODE_03A282: 8D 29 14 STA.W $1429 CODE_03A285: BD 70 15 LDA.W $1570,X CODE_03A288: 18 CLC CODE_03A289: 69 1E ADC.B #$1E CODE_03A28B: 1D 7C 15 ORA.W RAM_SpriteDir,X CODE_03A28E: 8D A2 1B STA.W $1BA2 CODE_03A291: A5 14 LDA RAM_FrameCounterB CODE_03A293: 4A LSR CODE_03A294: 29 03 AND.B #$03 CODE_03A296: 8D 28 14 STA.W $1428 CODE_03A299: A9 90 LDA.B #$90 CODE_03A29B: 85 2A STA $2A CODE_03A29D: A9 C8 LDA.B #$C8 CODE_03A29F: 85 2C STA $2C CODE_03A2A1: 22 DF DE 03 JSL.L CODE_03DEDF CODE_03A2A5: AD B5 14 LDA.W $14B5 CODE_03A2A8: F0 03 BEQ CODE_03A2AD CODE_03A2AA: 20 59 AF JSR.W CODE_03AF59 CODE_03A2AD: BD 64 15 LDA.W $1564,X CODE_03A2B0: F0 03 BEQ CODE_03A2B5 CODE_03A2B2: 20 E2 A3 JSR.W CODE_03A3E2 CODE_03A2B5: BD 94 15 LDA.W $1594,X CODE_03A2B8: F0 14 BEQ CODE_03A2CE CODE_03A2BA: 3A DEC A CODE_03A2BB: 4A LSR CODE_03A2BC: 4A LSR CODE_03A2BD: 48 PHA CODE_03A2BE: 4A LSR CODE_03A2BF: A8 TAY CODE_03A2C0: B9 BE A8 LDA.W DATA_03A8BE,Y CODE_03A2C3: 85 02 STA $02 CODE_03A2C5: 68 PLA CODE_03A2C6: 29 03 AND.B #$03 CODE_03A2C8: 85 03 STA $03 CODE_03A2CA: 20 6E AA JSR.W CODE_03AA6E CODE_03A2CD: EA NOP CODE_03A2CE: A5 9D LDA RAM_SpritesLocked CODE_03A2D0: D0 6E BNE Return03A340 CODE_03A2D2: 9E 94 15 STZ.W $1594,X CODE_03A2D5: A9 30 LDA.B #$30 CODE_03A2D7: 85 64 STA $64 CODE_03A2D9: A5 38 LDA $38 CODE_03A2DB: C9 20 CMP.B #$20 CODE_03A2DD: B0 02 BCS CODE_03A2E1 CODE_03A2DF: 64 64 STZ $64 CODE_03A2E1: 20 61 A6 JSR.W CODE_03A661 CODE_03A2E4: AD B0 14 LDA.W $14B0 CODE_03A2E7: F0 09 BEQ CODE_03A2F2 CODE_03A2E9: A5 13 LDA RAM_FrameCounter CODE_03A2EB: 29 03 AND.B #$03 CODE_03A2ED: D0 03 BNE CODE_03A2F2 CODE_03A2EF: CE B0 14 DEC.W $14B0 CODE_03A2F2: A5 13 LDA RAM_FrameCounter CODE_03A2F4: 29 7F AND.B #$7F CODE_03A2F6: D0 0D BNE CODE_03A305 CODE_03A2F8: 22 F9 AC 01 JSL.L GetRand CODE_03A2FC: 29 01 AND.B #$01 CODE_03A2FE: D0 05 BNE CODE_03A305 CODE_03A300: A9 0C LDA.B #$0C CODE_03A302: 9D 58 15 STA.W $1558,X CODE_03A305: 20 78 B0 JSR.W CODE_03B078 CODE_03A308: BD 1C 15 LDA.W $151C,X CODE_03A30B: C9 09 CMP.B #$09 CODE_03A30D: F0 0B BEQ CODE_03A31A CODE_03A30F: 9C 27 14 STZ.W $1427 CODE_03A312: BD 58 15 LDA.W $1558,X CODE_03A315: F0 03 BEQ CODE_03A31A CODE_03A317: EE 27 14 INC.W $1427 CODE_03A31A: 20 AD A5 JSR.W CODE_03A5AD CODE_03A31D: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_03A321: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_03A325: BD 1C 15 LDA.W $151C,X CODE_03A328: 22 DF 86 00 JSL.L ExecutePtr BowserFightPtrs: 41 A4 .dw CODE_03A441 F8 A6 .dw CODE_03A6F8 4B A8 .dw CODE_03A84B AD A7 .dw CODE_03A7AD 9F AB .dw CODE_03AB9F BE AB .dw CODE_03ABBE 03 AC .dw CODE_03AC03 9C A4 .dw CODE_03A49C 21 AB .dw CODE_03AB21 64 AB .dw CODE_03AB64 Return03A340: 60 RTS ; Return DATA_03A341: .db $D5,$DD,$23,$2B,$D5,$DD,$23,$2B .db $D5,$DD,$23,$2B,$D5,$DD,$23,$2B .db $D6,$DE,$22,$2A,$D6,$DE,$22,$2A .db $D7,$DF,$21,$29,$D7,$DF,$21,$29 .db $D8,$E0,$20,$28,$D8,$E0,$20,$28 .db $DA,$E2,$1E,$26,$DA,$E2,$1E,$26 .db $DC,$E4,$1C,$24,$DC,$E4,$1C,$24 .db $E0,$E8,$18,$20,$E0,$E8,$18,$20 .db $E8,$F0,$10,$18,$E8,$F0,$10,$18 DATA_03A389: .db $DD,$D5,$D5,$DD,$23,$2B,$2B,$23 .db $DD,$D5,$D5,$DD,$23,$2B,$2B,$23 .db $DE,$D6,$D6,$DE,$22,$2A,$2A,$22 .db $DF,$D7,$D7,$DF,$21,$29,$29,$21 .db $E0,$D8,$D8,$E0,$20,$28,$28,$20 .db $E2,$DA,$DA,$E2,$1E,$26,$26,$1E .db $E4,$DC,$DC,$E4,$1C,$24,$24,$1C .db $E8,$E0,$E0,$E8,$18,$20,$20,$18 .db $F0,$E8,$E8,$F0,$10,$18,$18,$10 DATA_03A3D1: .db $80,$40,$00,$C0,$00,$C0,$80,$40 DATA_03A3D9: .db $E3,$ED,$ED,$EB,$EB,$E9,$E9,$E7 .db $E7 CODE_03A3E2: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03A3E5: BD 64 15 LDA.W $1564,X CODE_03A3E8: 3A DEC A CODE_03A3E9: 4A LSR CODE_03A3EA: 85 03 STA $03 CODE_03A3EC: 0A ASL CODE_03A3ED: 0A ASL CODE_03A3EE: 0A ASL CODE_03A3EF: 85 02 STA $02 CODE_03A3F1: A9 70 LDA.B #$70 CODE_03A3F3: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_03A3F6: A8 TAY CODE_03A3F7: DA PHX CODE_03A3F8: A2 07 LDX.B #$07 CODE_03A3FA: DA PHX CODE_03A3FB: 8A TXA CODE_03A3FC: 05 02 ORA $02 CODE_03A3FE: AA TAX CODE_03A3FF: A5 00 LDA $00 CODE_03A401: 18 CLC CODE_03A402: 7D 41 A3 ADC.W DATA_03A341,X CODE_03A405: 18 CLC CODE_03A406: 69 08 ADC.B #$08 CODE_03A408: 99 00 03 STA.W OAM_DispX,Y CODE_03A40B: A5 01 LDA $01 CODE_03A40D: 18 CLC CODE_03A40E: 7D 89 A3 ADC.W DATA_03A389,X CODE_03A411: 18 CLC CODE_03A412: 69 30 ADC.B #$30 CODE_03A414: 99 01 03 STA.W OAM_DispY,Y CODE_03A417: A6 03 LDX $03 CODE_03A419: BD D9 A3 LDA.W DATA_03A3D9,X CODE_03A41C: 99 02 03 STA.W OAM_Tile,Y CODE_03A41F: FA PLX CODE_03A420: BD D1 A3 LDA.W DATA_03A3D1,X CODE_03A423: 99 03 03 STA.W OAM_Prop,Y CODE_03A426: C8 INY CODE_03A427: C8 INY CODE_03A428: C8 INY CODE_03A429: C8 INY CODE_03A42A: CA DEX CODE_03A42B: 10 CD BPL CODE_03A3FA CODE_03A42D: FA PLX CODE_03A42E: A0 02 LDY.B #$02 CODE_03A430: A9 07 LDA.B #$07 CODE_03A432: 22 B3 B7 01 JSL.L FinishOAMWrite Return03A436: 60 RTS ; Return DATA_03A437: .db $00,$00,$00,$00,$02,$04,$06,$08 .db $0A,$0E CODE_03A441: BD 4C 15 LDA.W RAM_DisableInter,X CODE_03A444: D0 3C BNE CODE_03A482 CODE_03A446: BD 40 15 LDA.W $1540,X CODE_03A449: D0 1A BNE CODE_03A465 CODE_03A44B: A9 0E LDA.B #$0E CODE_03A44D: 9D 70 15 STA.W $1570,X CODE_03A450: A9 04 LDA.B #$04 CODE_03A452: 95 AA STA RAM_SpriteSpeedY,X CODE_03A454: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_03A456: B5 D8 LDA RAM_SpriteYLo,X CODE_03A458: 38 SEC CODE_03A459: E5 1C SBC RAM_ScreenBndryYLo CODE_03A45B: C9 10 CMP.B #$10 CODE_03A45D: D0 05 BNE Return03A464 CODE_03A45F: A9 A4 LDA.B #$A4 CODE_03A461: 9D 40 15 STA.W $1540,X Return03A464: 60 RTS ; Return CODE_03A465: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03A467: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_03A469: C9 01 CMP.B #$01 CODE_03A46B: F0 0F BEQ CODE_03A47C CODE_03A46D: C9 40 CMP.B #$40 CODE_03A46F: B0 0A BCS Return03A47B CODE_03A471: 4A LSR CODE_03A472: 4A LSR CODE_03A473: 4A LSR CODE_03A474: A8 TAY CODE_03A475: B9 37 A4 LDA.W DATA_03A437,Y CODE_03A478: 9D 70 15 STA.W $1570,X Return03A47B: 60 RTS ; Return CODE_03A47C: A9 24 LDA.B #$24 CODE_03A47E: 9D 4C 15 STA.W RAM_DisableInter,X Return03A481: 60 RTS ; Return CODE_03A482: 3A DEC A CODE_03A483: D0 0A BNE Return03A48F CODE_03A485: A9 07 LDA.B #$07 CODE_03A487: 9D 1C 15 STA.W $151C,X CODE_03A48A: A9 78 LDA.B #$78 CODE_03A48C: 8D B0 14 STA.W $14B0 Return03A48F: 60 RTS ; Return DATA_03A490: .db $FF,$01 DATA_03A492: .db $C8,$38 DATA_03A494: .db $01,$FF DATA_03A496: .db $1C,$E4 DATA_03A498: .db $00,$02,$04,$02 CODE_03A49C: 20 D2 A4 JSR.W CODE_03A4D2 CODE_03A49F: 20 FD A4 JSR.W CODE_03A4FD CODE_03A4A2: 20 ED A4 JSR.W CODE_03A4ED CODE_03A4A5: BD 28 15 LDA.W $1528,X CODE_03A4A8: 29 01 AND.B #$01 CODE_03A4AA: A8 TAY CODE_03A4AB: B5 B6 LDA RAM_SpriteSpeedX,X CODE_03A4AD: 18 CLC CODE_03A4AE: 79 90 A4 ADC.W DATA_03A490,Y CODE_03A4B1: 95 B6 STA RAM_SpriteSpeedX,X CODE_03A4B3: D9 92 A4 CMP.W DATA_03A492,Y CODE_03A4B6: D0 03 BNE CODE_03A4BB CODE_03A4B8: FE 28 15 INC.W $1528,X CODE_03A4BB: BD 34 15 LDA.W $1534,X CODE_03A4BE: 29 01 AND.B #$01 CODE_03A4C0: A8 TAY CODE_03A4C1: B5 AA LDA RAM_SpriteSpeedY,X CODE_03A4C3: 18 CLC CODE_03A4C4: 79 94 A4 ADC.W DATA_03A494,Y CODE_03A4C7: 95 AA STA RAM_SpriteSpeedY,X CODE_03A4C9: D9 96 A4 CMP.W DATA_03A496,Y CODE_03A4CC: D0 03 BNE Return03A4D1 CODE_03A4CE: FE 34 15 INC.W $1534,X Return03A4D1: 60 RTS ; Return CODE_03A4D2: A0 00 LDY.B #$00 CODE_03A4D4: A5 13 LDA RAM_FrameCounter CODE_03A4D6: 29 E0 AND.B #$E0 CODE_03A4D8: D0 0C BNE CODE_03A4E6 CODE_03A4DA: A5 13 LDA RAM_FrameCounter CODE_03A4DC: 29 18 AND.B #$18 CODE_03A4DE: 4A LSR CODE_03A4DF: 4A LSR CODE_03A4E0: 4A LSR CODE_03A4E1: A8 TAY CODE_03A4E2: B9 98 A4 LDA.W DATA_03A498,Y CODE_03A4E5: A8 TAY CODE_03A4E6: 98 TYA CODE_03A4E7: 9D 70 15 STA.W $1570,X Return03A4EA: 60 RTS ; Return DATA_03A4EB: .db $80,$00 CODE_03A4ED: A5 13 LDA RAM_FrameCounter CODE_03A4EF: 29 1F AND.B #$1F CODE_03A4F1: D0 09 BNE Return03A4FC CODE_03A4F3: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_03A4F6: B9 EB A4 LDA.W DATA_03A4EB,Y CODE_03A4F9: 9D 7C 15 STA.W RAM_SpriteDir,X Return03A4FC: 60 RTS ; Return CODE_03A4FD: AD B0 14 LDA.W $14B0 CODE_03A500: D0 2A BNE Return03A52C CODE_03A502: BD 1C 15 LDA.W $151C,X CODE_03A505: C9 08 CMP.B #$08 CODE_03A507: D0 11 BNE CODE_03A51A CODE_03A509: EE B8 14 INC.W $14B8 CODE_03A50C: AD B8 14 LDA.W $14B8 CODE_03A50F: C9 03 CMP.B #$03 CODE_03A511: F0 07 BEQ CODE_03A51A CODE_03A513: A9 FF LDA.B #$FF CODE_03A515: 8D B6 14 STA.W $14B6 CODE_03A518: 80 12 BRA Return03A52C CODE_03A51A: 9C B8 14 STZ.W $14B8 CODE_03A51D: AD C8 14 LDA.W $14C8 CODE_03A520: F0 05 BEQ CODE_03A527 CODE_03A522: AD C9 14 LDA.W $14C9 CODE_03A525: D0 05 BNE Return03A52C CODE_03A527: A9 FF LDA.B #$FF CODE_03A529: 8D B1 14 STA.W $14B1 Return03A52C: 60 RTS ; Return DATA_03A52D: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$02,$04,$06,$08,$0A,$0E,$0E .db $0E,$0E,$0E,$0E,$0E,$0E,$0E,$0E .db $0E,$0E,$0E,$0E,$0E,$0E,$0E,$0E .db $0E,$0E,$0E,$0E,$0E,$0E,$0E,$0E .db $0E,$0E,$0A,$08,$06,$04,$02,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_03A56D: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$10,$20,$30,$40,$50,$60 .db $80,$A0,$C0,$E0,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$C0,$80,$60 .db $40,$30,$20,$10,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 CODE_03A5AD: AD B1 14 LDA.W $14B1 CODE_03A5B0: F0 26 BEQ CODE_03A5D8 CODE_03A5B2: CE B1 14 DEC.W $14B1 CODE_03A5B5: D0 06 BNE CODE_03A5BD CODE_03A5B7: A9 54 LDA.B #$54 CODE_03A5B9: 8D B0 14 STA.W $14B0 Return03A5BC: 60 RTS ; Return CODE_03A5BD: 4A LSR CODE_03A5BE: 4A LSR CODE_03A5BF: A8 TAY CODE_03A5C0: B9 2D A5 LDA.W DATA_03A52D,Y CODE_03A5C3: 9D 70 15 STA.W $1570,X CODE_03A5C6: AD B1 14 LDA.W $14B1 CODE_03A5C9: C9 80 CMP.B #$80 CODE_03A5CB: D0 08 BNE CODE_03A5D5 CODE_03A5CD: 20 19 B0 JSR.W CODE_03B019 CODE_03A5D0: A9 08 LDA.B #$08 ; \ Play sound effect CODE_03A5D2: 8D FC 1D STA.W $1DFC ; / CODE_03A5D5: 68 PLA CODE_03A5D6: 68 PLA Return03A5D7: 60 RTS ; Return CODE_03A5D8: AD B6 14 LDA.W $14B6 CODE_03A5DB: F0 30 BEQ Return03A60D CODE_03A5DD: CE B6 14 DEC.W $14B6 CODE_03A5E0: F0 2C BEQ CODE_03A60E CODE_03A5E2: 4A LSR CODE_03A5E3: 4A LSR CODE_03A5E4: A8 TAY CODE_03A5E5: B9 2D A5 LDA.W DATA_03A52D,Y CODE_03A5E8: 9D 70 15 STA.W $1570,X CODE_03A5EB: B9 6D A5 LDA.W DATA_03A56D,Y CODE_03A5EE: 85 36 STA $36 CODE_03A5F0: 64 37 STZ $37 CODE_03A5F2: C9 FF CMP.B #$FF CODE_03A5F4: D0 06 BNE CODE_03A5FC CODE_03A5F6: 64 36 STZ $36 CODE_03A5F8: E6 37 INC $37 CODE_03A5FA: 64 64 STZ $64 CODE_03A5FC: AD B6 14 LDA.W $14B6 CODE_03A5FF: C9 80 CMP.B #$80 CODE_03A601: D0 08 BNE CODE_03A60B CODE_03A603: A9 09 LDA.B #$09 ; \ Play sound effect CODE_03A605: 8D FC 1D STA.W $1DFC ; / CODE_03A608: 20 1D A6 JSR.W CODE_03A61D CODE_03A60B: 68 PLA CODE_03A60C: 68 PLA Return03A60D: 60 RTS ; Return CODE_03A60E: A9 60 LDA.B #$60 CODE_03A610: AC B8 14 LDY.W $14B8 CODE_03A613: C0 02 CPY.B #$02 CODE_03A615: F0 02 BEQ CODE_03A619 CODE_03A617: A9 20 LDA.B #$20 CODE_03A619: 8D B0 14 STA.W $14B0 Return03A61C: 60 RTS ; Return CODE_03A61D: A9 08 LDA.B #$08 CODE_03A61F: 8D D0 14 STA.W $14D0 CODE_03A622: A9 A1 LDA.B #$A1 CODE_03A624: 85 A6 STA $A6 CODE_03A626: B5 E4 LDA RAM_SpriteXLo,X CODE_03A628: 18 CLC CODE_03A629: 69 08 ADC.B #$08 CODE_03A62B: 85 EC STA $EC CODE_03A62D: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03A630: 69 00 ADC.B #$00 CODE_03A632: 8D E8 14 STA.W $14E8 CODE_03A635: B5 D8 LDA RAM_SpriteYLo,X CODE_03A637: 18 CLC CODE_03A638: 69 40 ADC.B #$40 CODE_03A63A: 85 E0 STA $E0 CODE_03A63C: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03A63F: 69 00 ADC.B #$00 CODE_03A641: 8D DC 14 STA.W $14DC CODE_03A644: DA PHX CODE_03A645: A2 08 LDX.B #$08 CODE_03A647: 22 D2 F7 07 JSL.L InitSpriteTables CODE_03A64B: FA PLX Return03A64C: 60 RTS ; Return DATA_03A64D: .db $00,$00,$00,$00,$FC,$F8,$F4,$F0 .db $F4,$F8,$FC,$00,$04,$08,$0C,$10 .db $0C,$08,$04,$00 CODE_03A661: AD B5 14 LDA.W $14B5 CODE_03A664: F0 59 BEQ Return03A6BF CODE_03A666: 9C B1 14 STZ.W $14B1 CODE_03A669: 9C B6 14 STZ.W $14B6 CODE_03A66C: CE B5 14 DEC.W $14B5 CODE_03A66F: D0 20 BNE CODE_03A691 CODE_03A671: A9 50 LDA.B #$50 CODE_03A673: 8D B0 14 STA.W $14B0 CODE_03A676: DE 7B 18 DEC.W $187B,X CODE_03A679: D0 16 BNE CODE_03A691 CODE_03A67B: BD 1C 15 LDA.W $151C,X CODE_03A67E: C9 09 CMP.B #$09 CODE_03A680: F0 3E BEQ CODE_03A6C0 CODE_03A682: A9 02 LDA.B #$02 CODE_03A684: 9D 7B 18 STA.W $187B,X CODE_03A687: A9 01 LDA.B #$01 CODE_03A689: 9D 1C 15 STA.W $151C,X CODE_03A68C: A9 80 LDA.B #$80 CODE_03A68E: 9D 40 15 STA.W $1540,X CODE_03A691: 7A PLY CODE_03A692: 7A PLY CODE_03A693: 48 PHA CODE_03A694: AD B5 14 LDA.W $14B5 CODE_03A697: 4A LSR CODE_03A698: 4A LSR CODE_03A699: A8 TAY CODE_03A69A: B9 4D A6 LDA.W DATA_03A64D,Y CODE_03A69D: 85 36 STA $36 CODE_03A69F: 64 37 STZ $37 CODE_03A6A1: 10 02 BPL CODE_03A6A5 CODE_03A6A3: E6 37 INC $37 CODE_03A6A5: 68 PLA CODE_03A6A6: A0 0C LDY.B #$0C CODE_03A6A8: C9 40 CMP.B #$40 CODE_03A6AA: B0 0A BCS CODE_03A6B6 CODE_03A6AC: A5 13 LDA RAM_FrameCounter CODE_03A6AE: A0 10 LDY.B #$10 CODE_03A6B0: 29 04 AND.B #$04 CODE_03A6B2: F0 02 BEQ CODE_03A6B6 CODE_03A6B4: A0 12 LDY.B #$12 CODE_03A6B6: 98 TYA CODE_03A6B7: 9D 70 15 STA.W $1570,X CODE_03A6BA: A9 02 LDA.B #$02 CODE_03A6BC: 8D 27 14 STA.W $1427 Return03A6BF: 60 RTS ; Return CODE_03A6C0: A9 04 LDA.B #$04 CODE_03A6C2: 9D 1C 15 STA.W $151C,X CODE_03A6C5: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 Return03A6C7: 60 RTS ; Return KillMostSprites: A0 09 LDY.B #$09 CODE_03A6CA: B9 C8 14 LDA.W $14C8,Y CODE_03A6CD: F0 1D BEQ CODE_03A6EC CODE_03A6CF: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_03A6D2: C9 A9 CMP.B #$A9 CODE_03A6D4: F0 16 BEQ CODE_03A6EC CODE_03A6D6: C9 29 CMP.B #$29 CODE_03A6D8: F0 12 BEQ CODE_03A6EC CODE_03A6DA: C9 A0 CMP.B #$A0 CODE_03A6DC: F0 0E BEQ CODE_03A6EC CODE_03A6DE: C9 C5 CMP.B #$C5 CODE_03A6E0: F0 0A BEQ CODE_03A6EC CODE_03A6E2: A9 04 LDA.B #$04 ; \ Sprite status = Killed by spin jump CODE_03A6E4: 99 C8 14 STA.W $14C8,Y ; / CODE_03A6E7: A9 1F LDA.B #$1F ; \ Time to show cloud of smoke = #$1F CODE_03A6E9: 99 40 15 STA.W $1540,Y ; / CODE_03A6EC: 88 DEY CODE_03A6ED: 10 DB BPL CODE_03A6CA Return03A6EF: 6B RTL ; Return DATA_03A6F0: .db $0E,$0E,$0A,$08,$06,$04,$02,$00 CODE_03A6F8: BD 40 15 LDA.W $1540,X CODE_03A6FB: F0 34 BEQ CODE_03A731 CODE_03A6FD: C9 01 CMP.B #$01 CODE_03A6FF: D0 05 BNE CODE_03A706 CODE_03A701: A0 17 LDY.B #$17 CODE_03A703: 8C FB 1D STY.W $1DFB ; / Change music CODE_03A706: 4A LSR CODE_03A707: 4A LSR CODE_03A708: 4A LSR CODE_03A709: 4A LSR CODE_03A70A: A8 TAY CODE_03A70B: B9 F0 A6 LDA.W DATA_03A6F0,Y CODE_03A70E: 9D 70 15 STA.W $1570,X CODE_03A711: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_03A713: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03A715: 9E 28 15 STZ.W $1528,X CODE_03A718: 9E 34 15 STZ.W $1534,X CODE_03A71B: 9C B2 14 STZ.W $14B2 Return03A71E: 60 RTS ; Return DATA_03A71F: .db $01,$FF DATA_03A721: .db $10,$80 DATA_03A723: .db $07,$03 DATA_03A725: .db $FF,$01 DATA_03A727: .db $F0,$08 DATA_03A729: .db $01,$FF DATA_03A72B: .db $03,$03 DATA_03A72D: .db $60,$02 DATA_03A72F: .db $01,$01 CODE_03A731: BC 28 15 LDY.W $1528,X CODE_03A734: C0 02 CPY.B #$02 CODE_03A736: B0 17 BCS CODE_03A74F CODE_03A738: A5 13 LDA RAM_FrameCounter CODE_03A73A: 39 23 A7 AND.W DATA_03A723,Y CODE_03A73D: D0 10 BNE CODE_03A74F CODE_03A73F: B5 B6 LDA RAM_SpriteSpeedX,X CODE_03A741: 18 CLC CODE_03A742: 79 1F A7 ADC.W DATA_03A71F,Y CODE_03A745: 95 B6 STA RAM_SpriteSpeedX,X CODE_03A747: D9 21 A7 CMP.W DATA_03A721,Y CODE_03A74A: D0 03 BNE CODE_03A74F CODE_03A74C: FE 28 15 INC.W $1528,X CODE_03A74F: BC 34 15 LDY.W $1534,X CODE_03A752: C0 02 CPY.B #$02 CODE_03A754: B0 17 BCS CODE_03A76D CODE_03A756: A5 13 LDA RAM_FrameCounter CODE_03A758: 39 2B A7 AND.W DATA_03A72B,Y CODE_03A75B: D0 10 BNE CODE_03A76D CODE_03A75D: B5 AA LDA RAM_SpriteSpeedY,X CODE_03A75F: 18 CLC CODE_03A760: 79 25 A7 ADC.W DATA_03A725,Y CODE_03A763: 95 AA STA RAM_SpriteSpeedY,X CODE_03A765: D9 27 A7 CMP.W DATA_03A727,Y CODE_03A768: D0 03 BNE CODE_03A76D CODE_03A76A: FE 34 15 INC.W $1534,X CODE_03A76D: AC B2 14 LDY.W $14B2 CODE_03A770: C0 02 CPY.B #$02 CODE_03A772: F0 20 BEQ CODE_03A794 CODE_03A774: A5 13 LDA RAM_FrameCounter CODE_03A776: 39 2F A7 AND.W DATA_03A72F,Y CODE_03A779: D0 12 BNE CODE_03A78D CODE_03A77B: A5 38 LDA $38 CODE_03A77D: 18 CLC CODE_03A77E: 79 29 A7 ADC.W DATA_03A729,Y CODE_03A781: 85 38 STA $38 CODE_03A783: 85 39 STA $39 CODE_03A785: D9 2D A7 CMP.W DATA_03A72D,Y CODE_03A788: D0 03 BNE CODE_03A78D CODE_03A78A: EE B2 14 INC.W $14B2 CODE_03A78D: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03A790: C9 FE CMP.B #$FE CODE_03A792: D0 18 BNE Return03A7AC CODE_03A794: A9 03 LDA.B #$03 CODE_03A796: 9D 1C 15 STA.W $151C,X CODE_03A799: A9 80 LDA.B #$80 CODE_03A79B: 8D B0 14 STA.W $14B0 CODE_03A79E: 22 F9 AC 01 JSL.L GetRand CODE_03A7A2: 29 F0 AND.B #$F0 CODE_03A7A4: 8D B7 14 STA.W $14B7 CODE_03A7A7: A9 1D LDA.B #$1D CODE_03A7A9: 8D FB 1D STA.W $1DFB ; / Change music Return03A7AC: 60 RTS ; Return CODE_03A7AD: A9 60 LDA.B #$60 CODE_03A7AF: 85 38 STA $38 CODE_03A7B1: 85 39 STA $39 CODE_03A7B3: A9 FF LDA.B #$FF CODE_03A7B5: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_03A7B8: A9 60 LDA.B #$60 CODE_03A7BA: 95 E4 STA RAM_SpriteXLo,X CODE_03A7BC: AD B0 14 LDA.W $14B0 CODE_03A7BF: D0 1E BNE CODE_03A7DF CODE_03A7C1: A9 18 LDA.B #$18 CODE_03A7C3: 8D FB 1D STA.W $1DFB ; / Change music CODE_03A7C6: A9 02 LDA.B #$02 CODE_03A7C8: 9D 1C 15 STA.W $151C,X CODE_03A7CB: A9 18 LDA.B #$18 CODE_03A7CD: 95 D8 STA RAM_SpriteYLo,X CODE_03A7CF: A9 00 LDA.B #$00 CODE_03A7D1: 9D D4 14 STA.W RAM_SpriteYHi,X CODE_03A7D4: A9 08 LDA.B #$08 CODE_03A7D6: 85 38 STA $38 CODE_03A7D8: 85 39 STA $39 CODE_03A7DA: A9 64 LDA.B #$64 CODE_03A7DC: 95 B6 STA RAM_SpriteSpeedX,X Return03A7DE: 60 RTS ; Return CODE_03A7DF: C9 60 CMP.B #$60 CODE_03A7E1: B0 5D BCS Return03A840 CODE_03A7E3: A5 13 LDA RAM_FrameCounter CODE_03A7E5: 29 1F AND.B #$1F CODE_03A7E7: D0 57 BNE Return03A840 CODE_03A7E9: A0 07 LDY.B #$07 CODE_03A7EB: B9 C8 14 LDA.W $14C8,Y CODE_03A7EE: F0 06 BEQ CODE_03A7F6 CODE_03A7F0: 88 DEY CODE_03A7F1: C0 01 CPY.B #$01 CODE_03A7F3: D0 F6 BNE CODE_03A7EB Return03A7F5: 60 RTS ; Return CODE_03A7F6: A9 17 LDA.B #$17 ; \ Play sound effect CODE_03A7F8: 8D FC 1D STA.W $1DFC ; / CODE_03A7FB: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_03A7FD: 99 C8 14 STA.W $14C8,Y ; / CODE_03A800: A9 33 LDA.B #$33 CODE_03A802: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_03A805: AD B7 14 LDA.W $14B7 CODE_03A808: 48 PHA CODE_03A809: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_03A80C: 18 CLC CODE_03A80D: 69 20 ADC.B #$20 CODE_03A80F: 8D B7 14 STA.W $14B7 CODE_03A812: A9 00 LDA.B #$00 CODE_03A814: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_03A817: A9 00 LDA.B #$00 CODE_03A819: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_03A81C: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_03A81F: DA PHX CODE_03A820: BB TYX CODE_03A821: 22 D2 F7 07 JSL.L InitSpriteTables CODE_03A825: F6 C2 INC RAM_SpriteState,X CODE_03A827: 1E 86 16 ASL.W RAM_Tweaker1686,X CODE_03A82A: 5E 86 16 LSR.W RAM_Tweaker1686,X CODE_03A82D: A9 39 LDA.B #$39 CODE_03A82F: 9D 62 16 STA.W RAM_Tweaker1662,X CODE_03A832: FA PLX CODE_03A833: 68 PLA CODE_03A834: 4A LSR CODE_03A835: 4A LSR CODE_03A836: 4A LSR CODE_03A837: 4A LSR CODE_03A838: 4A LSR CODE_03A839: A8 TAY CODE_03A83A: B9 41 A8 LDA.W BowserSound,Y CODE_03A83D: 8D FC 1D STA.W $1DFC ; / Play sound effect Return03A840: 60 RTS ; Return BowserSound: .db $2D BowserSoundMusic: .db $2E,$2F,$30,$31,$32,$33,$34,$19 .db $1A CODE_03A84B: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03A84D: BD 40 15 LDA.W $1540,X CODE_03A850: D0 1C BNE CODE_03A86E CODE_03A852: B5 B6 LDA RAM_SpriteSpeedX,X CODE_03A854: F0 02 BEQ CODE_03A858 CODE_03A856: D6 B6 DEC RAM_SpriteSpeedX,X CODE_03A858: A5 13 LDA RAM_FrameCounter CODE_03A85A: 29 03 AND.B #$03 CODE_03A85C: D0 0F BNE Return03A86D CODE_03A85E: E6 38 INC $38 CODE_03A860: E6 39 INC $39 CODE_03A862: A5 38 LDA $38 CODE_03A864: C9 20 CMP.B #$20 CODE_03A866: D0 05 BNE Return03A86D CODE_03A868: A9 FF LDA.B #$FF CODE_03A86A: 9D 40 15 STA.W $1540,X Return03A86D: 60 RTS ; Return CODE_03A86E: C9 A0 CMP.B #$A0 CODE_03A870: D0 05 BNE CODE_03A877 CODE_03A872: 48 PHA CODE_03A873: 20 D6 A8 JSR.W CODE_03A8D6 CODE_03A876: 68 PLA CODE_03A877: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_03A879: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03A87B: C9 01 CMP.B #$01 CODE_03A87D: F0 1E BEQ CODE_03A89D CODE_03A87F: C9 40 CMP.B #$40 CODE_03A881: B0 2B BCS CODE_03A8AE CODE_03A883: C9 3F CMP.B #$3F CODE_03A885: D0 0B BNE CODE_03A892 CODE_03A887: 48 PHA CODE_03A888: AC B4 14 LDY.W $14B4 CODE_03A88B: B9 42 A8 LDA.W BowserSoundMusic,Y CODE_03A88E: 8D FB 1D STA.W $1DFB ; / Change music CODE_03A891: 68 PLA CODE_03A892: 4A LSR CODE_03A893: 4A LSR CODE_03A894: 4A LSR CODE_03A895: A8 TAY CODE_03A896: B9 37 A4 LDA.W DATA_03A437,Y CODE_03A899: 9D 70 15 STA.W $1570,X Return03A89C: 60 RTS ; Return CODE_03A89D: AD B4 14 LDA.W $14B4 CODE_03A8A0: 1A INC A CODE_03A8A1: 9D 1C 15 STA.W $151C,X CODE_03A8A4: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_03A8A6: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03A8A8: A9 80 LDA.B #$80 CODE_03A8AA: 8D B0 14 STA.W $14B0 Return03A8AD: 60 RTS ; Return CODE_03A8AE: C9 E8 CMP.B #$E8 CODE_03A8B0: D0 05 BNE CODE_03A8B7 CODE_03A8B2: A0 2A LDY.B #$2A ; \ Play sound effect CODE_03A8B4: 8C F9 1D STY.W $1DF9 ; / CODE_03A8B7: 38 SEC CODE_03A8B8: E9 3F SBC.B #$3F CODE_03A8BA: 9D 94 15 STA.W $1594,X Return03A8BD: 60 RTS ; Return DATA_03A8BE: .db $00,$00,$00,$08,$10,$14,$14,$16 .db $16,$18,$18,$17,$16,$16,$17,$18 .db $18,$17,$14,$10,$0C,$08,$04,$00 CODE_03A8D6: A0 07 LDY.B #$07 CODE_03A8D8: B9 C8 14 LDA.W $14C8,Y CODE_03A8DB: F0 06 BEQ CODE_03A8E3 ADDR_03A8DD: 88 DEY ADDR_03A8DE: C0 01 CPY.B #$01 ADDR_03A8E0: D0 F6 BNE CODE_03A8D8 Return03A8E2: 60 RTS ; Return CODE_03A8E3: A9 10 LDA.B #$10 ; \ Play sound effect CODE_03A8E5: 8D F9 1D STA.W $1DF9 ; / CODE_03A8E8: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_03A8EA: 99 C8 14 STA.W $14C8,Y ; / CODE_03A8ED: A9 74 LDA.B #$74 CODE_03A8EF: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_03A8F2: B5 E4 LDA RAM_SpriteXLo,X CODE_03A8F4: 18 CLC CODE_03A8F5: 69 04 ADC.B #$04 CODE_03A8F7: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_03A8FA: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03A8FD: 69 00 ADC.B #$00 CODE_03A8FF: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_03A902: B5 D8 LDA RAM_SpriteYLo,X CODE_03A904: 18 CLC CODE_03A905: 69 18 ADC.B #$18 CODE_03A907: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_03A90A: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03A90D: 69 00 ADC.B #$00 CODE_03A90F: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_03A912: DA PHX CODE_03A913: BB TYX CODE_03A914: 22 D2 F7 07 JSL.L InitSpriteTables CODE_03A918: A9 C0 LDA.B #$C0 CODE_03A91A: 95 AA STA RAM_SpriteSpeedY,X CODE_03A91C: 9E 7C 15 STZ.W RAM_SpriteDir,X CODE_03A91F: A0 0C LDY.B #$0C CODE_03A921: B5 E4 LDA RAM_SpriteXLo,X CODE_03A923: 10 05 BPL CODE_03A92A CODE_03A925: A0 F4 LDY.B #$F4 CODE_03A927: FE 7C 15 INC.W RAM_SpriteDir,X CODE_03A92A: 94 B6 STY RAM_SpriteSpeedX,X CODE_03A92C: FA PLX Return03A92D: 60 RTS ; Return DATA_03A92E: .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $08,$00,$08,$00,$08,$00,$08,$00 .db $08,$00,$08,$00,$08,$00,$08,$00 .db $08,$00,$08,$00,$08,$00,$08,$00 .db $08,$00,$08,$00,$08,$00,$08,$00 DATA_03A97E: .db $00,$00,$08,$08,$00,$00,$08,$08 .db $00,$00,$08,$08,$00,$00,$08,$08 .db $00,$00,$10,$10,$00,$00,$10,$10 .db $00,$00,$10,$10,$00,$00,$10,$10 .db $00,$00,$10,$10,$00,$00,$10,$10 .db $00,$00,$10,$10,$00,$00,$10,$10 .db $00,$00,$10,$10,$00,$00,$10,$10 .db $00,$00,$10,$10,$00,$00,$10,$10 .db $00,$00,$10,$10,$00,$00,$10,$10 .db $00,$00,$10,$10,$00,$00,$10,$10 DATA_03A9CE: .db $05,$06,$15,$16,$9D,$9E,$4E,$AE .db $06,$05,$16,$15,$9E,$9D,$AE,$4E .db $8A,$8B,$AA,$68,$83,$84,$AA,$68 .db $8A,$8B,$80,$81,$83,$84,$80,$81 .db $85,$86,$A5,$A6,$83,$84,$A5,$A6 .db $82,$83,$A2,$A3,$82,$83,$A2,$A3 .db $8A,$8B,$AA,$68,$83,$84,$AA,$68 .db $8A,$8B,$80,$81,$83,$84,$80,$81 .db $85,$86,$A5,$A6,$83,$84,$A5,$A6 .db $82,$83,$A2,$A3,$82,$83,$A2,$A3 DATA_03AA1E: .db $01,$01,$01,$01,$01,$01,$01,$01 .db $41,$41,$41,$41,$41,$41,$41,$41 .db $01,$01,$01,$01,$01,$01,$01,$01 .db $01,$01,$01,$01,$01,$01,$01,$01 .db $00,$00,$00,$00,$01,$01,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $41,$41,$41,$41,$41,$41,$41,$41 .db $41,$41,$41,$41,$41,$41,$41,$41 .db $40,$40,$40,$40,$41,$41,$40,$40 .db $40,$40,$40,$40,$40,$40,$40,$40 CODE_03AA6E: B5 E4 LDA RAM_SpriteXLo,X CODE_03AA70: 18 CLC CODE_03AA71: 69 04 ADC.B #$04 CODE_03AA73: 38 SEC CODE_03AA74: E5 1A SBC RAM_ScreenBndryXLo CODE_03AA76: 85 00 STA $00 CODE_03AA78: B5 D8 LDA RAM_SpriteYLo,X CODE_03AA7A: 18 CLC CODE_03AA7B: 69 20 ADC.B #$20 CODE_03AA7D: 38 SEC CODE_03AA7E: E5 02 SBC $02 CODE_03AA80: 38 SEC CODE_03AA81: E5 1C SBC RAM_ScreenBndryYLo CODE_03AA83: 85 01 STA $01 CODE_03AA85: C0 08 CPY.B #$08 CODE_03AA87: 90 3D BCC CODE_03AAC6 CODE_03AA89: C0 10 CPY.B #$10 CODE_03AA8B: B0 39 BCS CODE_03AAC6 CODE_03AA8D: A5 00 LDA $00 CODE_03AA8F: 38 SEC CODE_03AA90: E9 04 SBC.B #$04 CODE_03AA92: 8D A0 02 STA.W $02A0 CODE_03AA95: 18 CLC CODE_03AA96: 69 10 ADC.B #$10 CODE_03AA98: 8D A4 02 STA.W $02A4 CODE_03AA9B: A5 01 LDA $01 CODE_03AA9D: 38 SEC CODE_03AA9E: E9 18 SBC.B #$18 CODE_03AAA0: 8D A1 02 STA.W $02A1 CODE_03AAA3: 8D A5 02 STA.W $02A5 CODE_03AAA6: A9 20 LDA.B #$20 CODE_03AAA8: 8D A2 02 STA.W $02A2 CODE_03AAAB: A9 22 LDA.B #$22 CODE_03AAAD: 8D A6 02 STA.W $02A6 CODE_03AAB0: A5 14 LDA RAM_FrameCounterB CODE_03AAB2: 4A LSR CODE_03AAB3: 29 06 AND.B #$06 CODE_03AAB5: 1A INC A CODE_03AAB6: 1A INC A CODE_03AAB7: 1A INC A CODE_03AAB8: 8D A3 02 STA.W $02A3 CODE_03AABB: 8D A7 02 STA.W $02A7 CODE_03AABE: A9 02 LDA.B #$02 CODE_03AAC0: 8D 48 04 STA.W $0448 CODE_03AAC3: 8D 49 04 STA.W $0449 CODE_03AAC6: A0 70 LDY.B #$70 CODE_03AAC8: A5 03 LDA $03 CODE_03AACA: 0A ASL CODE_03AACB: 0A ASL CODE_03AACC: 85 04 STA $04 CODE_03AACE: DA PHX CODE_03AACF: A2 03 LDX.B #$03 CODE_03AAD1: DA PHX CODE_03AAD2: 8A TXA CODE_03AAD3: 18 CLC CODE_03AAD4: 65 04 ADC $04 CODE_03AAD6: AA TAX CODE_03AAD7: A5 00 LDA $00 CODE_03AAD9: 18 CLC CODE_03AADA: 7D 2E A9 ADC.W DATA_03A92E,X CODE_03AADD: 99 00 03 STA.W OAM_DispX,Y CODE_03AAE0: A5 01 LDA $01 CODE_03AAE2: 18 CLC CODE_03AAE3: 7D 7E A9 ADC.W DATA_03A97E,X CODE_03AAE6: 99 01 03 STA.W OAM_DispY,Y CODE_03AAE9: BD CE A9 LDA.W DATA_03A9CE,X CODE_03AAEC: 99 02 03 STA.W OAM_Tile,Y CODE_03AAEF: BD 1E AA LDA.W DATA_03AA1E,X CODE_03AAF2: DA PHX CODE_03AAF3: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_03AAF6: E0 09 CPX.B #$09 CODE_03AAF8: F0 02 BEQ CODE_03AAFC CODE_03AAFA: 09 30 ORA.B #$30 CODE_03AAFC: 99 03 03 STA.W OAM_Prop,Y CODE_03AAFF: FA PLX CODE_03AB00: 5A PHY CODE_03AB01: 98 TYA CODE_03AB02: 4A LSR CODE_03AB03: 4A LSR CODE_03AB04: A8 TAY CODE_03AB05: A9 02 LDA.B #$02 CODE_03AB07: 99 60 04 STA.W OAM_TileSize,Y CODE_03AB0A: 7A PLY CODE_03AB0B: C8 INY CODE_03AB0C: C8 INY CODE_03AB0D: C8 INY CODE_03AB0E: C8 INY CODE_03AB0F: FA PLX CODE_03AB10: CA DEX CODE_03AB11: 10 BE BPL CODE_03AAD1 CODE_03AB13: FA PLX Return03AB14: 60 RTS ; Return DATA_03AB15: .db $01,$FF DATA_03AB17: .db $20,$E0 DATA_03AB19: .db $02,$FE DATA_03AB1B: .db $20,$E0,$01,$FF,$10,$F0 CODE_03AB21: 20 FD A4 JSR.W CODE_03A4FD CODE_03AB24: 20 D2 A4 JSR.W CODE_03A4D2 CODE_03AB27: 20 ED A4 JSR.W CODE_03A4ED CODE_03AB2A: A5 13 LDA RAM_FrameCounter CODE_03AB2C: 29 00 AND.B #$00 CODE_03AB2E: D0 1B BNE CODE_03AB4B CODE_03AB30: A0 00 LDY.B #$00 CODE_03AB32: B5 E4 LDA RAM_SpriteXLo,X CODE_03AB34: C5 94 CMP RAM_MarioXPos CODE_03AB36: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03AB39: E5 95 SBC RAM_MarioXPosHi CODE_03AB3B: 30 01 BMI CODE_03AB3E CODE_03AB3D: C8 INY CODE_03AB3E: B5 B6 LDA RAM_SpriteSpeedX,X CODE_03AB40: D9 17 AB CMP.W DATA_03AB17,Y CODE_03AB43: F0 06 BEQ CODE_03AB4B CODE_03AB45: 18 CLC CODE_03AB46: 79 15 AB ADC.W DATA_03AB15,Y CODE_03AB49: 95 B6 STA RAM_SpriteSpeedX,X CODE_03AB4B: A0 00 LDY.B #$00 CODE_03AB4D: B5 D8 LDA RAM_SpriteYLo,X CODE_03AB4F: C9 10 CMP.B #$10 CODE_03AB51: 30 01 BMI CODE_03AB54 CODE_03AB53: C8 INY CODE_03AB54: B5 AA LDA RAM_SpriteSpeedY,X CODE_03AB56: D9 1B AB CMP.W DATA_03AB1B,Y CODE_03AB59: F0 06 BEQ Return03AB61 CODE_03AB5B: 18 CLC CODE_03AB5C: 79 19 AB ADC.W DATA_03AB19,Y CODE_03AB5F: 95 AA STA RAM_SpriteSpeedY,X Return03AB61: 60 RTS ; Return DATA_03AB62: .db $10,$F0 CODE_03AB64: A9 03 LDA.B #$03 CODE_03AB66: 8D 27 14 STA.W $1427 CODE_03AB69: 20 FD A4 JSR.W CODE_03A4FD CODE_03AB6C: 20 D2 A4 JSR.W CODE_03A4D2 CODE_03AB6F: 20 ED A4 JSR.W CODE_03A4ED CODE_03AB72: B5 AA LDA RAM_SpriteSpeedY,X CODE_03AB74: 18 CLC CODE_03AB75: 69 03 ADC.B #$03 CODE_03AB77: 95 AA STA RAM_SpriteSpeedY,X CODE_03AB79: B5 D8 LDA RAM_SpriteYLo,X CODE_03AB7B: C9 64 CMP.B #$64 CODE_03AB7D: 90 1F BCC Return03AB9E CODE_03AB7F: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03AB82: 30 1A BMI Return03AB9E CODE_03AB84: A9 64 LDA.B #$64 CODE_03AB86: 95 D8 STA RAM_SpriteYLo,X CODE_03AB88: A9 A0 LDA.B #$A0 CODE_03AB8A: 95 AA STA RAM_SpriteSpeedY,X CODE_03AB8C: A9 09 LDA.B #$09 ; \ Play sound effect CODE_03AB8E: 8D FC 1D STA.W $1DFC ; / CODE_03AB91: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_03AB94: B9 62 AB LDA.W DATA_03AB62,Y CODE_03AB97: 95 B6 STA RAM_SpriteSpeedX,X CODE_03AB99: A9 20 LDA.B #$20 ; \ Set ground shake timer CODE_03AB9B: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / Return03AB9E: 60 RTS ; Return CODE_03AB9F: 20 AC A6 JSR.W CODE_03A6AC CODE_03ABA2: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03ABA5: 30 08 BMI CODE_03ABAF CODE_03ABA7: D0 10 BNE CODE_03ABB9 CODE_03ABA9: B5 D8 LDA RAM_SpriteYLo,X CODE_03ABAB: C9 10 CMP.B #$10 CODE_03ABAD: B0 0A BCS CODE_03ABB9 CODE_03ABAF: A9 05 LDA.B #$05 CODE_03ABB1: 9D 1C 15 STA.W $151C,X CODE_03ABB4: A9 60 LDA.B #$60 CODE_03ABB6: 9D 40 15 STA.W $1540,X CODE_03ABB9: A9 F8 LDA.B #$F8 CODE_03ABBB: 95 AA STA RAM_SpriteSpeedY,X Return03ABBD: 60 RTS ; Return CODE_03ABBE: 20 AC A6 JSR.W CODE_03A6AC CODE_03ABC1: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_03ABC3: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03ABC5: BD 40 15 LDA.W $1540,X CODE_03ABC8: D0 21 BNE CODE_03ABEB CODE_03ABCA: A5 36 LDA $36 CODE_03ABCC: 18 CLC CODE_03ABCD: 69 0A ADC.B #$0A CODE_03ABCF: 85 36 STA $36 CODE_03ABD1: A5 37 LDA $37 CODE_03ABD3: 69 00 ADC.B #$00 CODE_03ABD5: 85 37 STA $37 CODE_03ABD7: F0 11 BEQ Return03ABEA CODE_03ABD9: 64 36 STZ $36 CODE_03ABDB: A9 20 LDA.B #$20 CODE_03ABDD: 9D 4C 15 STA.W RAM_DisableInter,X CODE_03ABE0: A9 60 LDA.B #$60 CODE_03ABE2: 9D 40 15 STA.W $1540,X CODE_03ABE5: A9 06 LDA.B #$06 CODE_03ABE7: 9D 1C 15 STA.W $151C,X Return03ABEA: 60 RTS ; Return CODE_03ABEB: C9 40 CMP.B #$40 CODE_03ABED: 90 13 BCC Return03AC02 CODE_03ABEF: C9 5E CMP.B #$5E CODE_03ABF1: D0 05 BNE CODE_03ABF8 CODE_03ABF3: A0 1B LDY.B #$1B CODE_03ABF5: 8C FB 1D STY.W $1DFB ; / Change music CODE_03ABF8: BD 64 15 LDA.W $1564,X CODE_03ABFB: D0 05 BNE Return03AC02 CODE_03ABFD: A9 12 LDA.B #$12 CODE_03ABFF: 9D 64 15 STA.W $1564,X Return03AC02: 60 RTS ; Return CODE_03AC03: 20 AC A6 JSR.W CODE_03A6AC CODE_03AC06: BD 4C 15 LDA.W RAM_DisableInter,X CODE_03AC09: C9 01 CMP.B #$01 CODE_03AC0B: D0 15 BNE CODE_03AC22 CODE_03AC0D: A9 0B LDA.B #$0B CODE_03AC0F: 85 71 STA RAM_MarioAnimation CODE_03AC11: EE 0D 19 INC.W $190D CODE_03AC14: 9C 01 07 STZ.W $0701 CODE_03AC17: 9C 02 07 STZ.W $0702 CODE_03AC1A: A9 03 LDA.B #$03 CODE_03AC1C: 8D F9 13 STA.W RAM_IsBehindScenery CODE_03AC1F: 20 63 AC JSR.W CODE_03AC63 CODE_03AC22: BD 40 15 LDA.W $1540,X CODE_03AC25: D0 25 BNE Return03AC4C CODE_03AC27: A9 FA LDA.B #$FA CODE_03AC29: 95 B6 STA RAM_SpriteSpeedX,X CODE_03AC2B: A9 FC LDA.B #$FC CODE_03AC2D: 95 AA STA RAM_SpriteSpeedY,X CODE_03AC2F: A5 36 LDA $36 CODE_03AC31: 18 CLC CODE_03AC32: 69 05 ADC.B #$05 CODE_03AC34: 85 36 STA $36 CODE_03AC36: A5 37 LDA $37 CODE_03AC38: 69 00 ADC.B #$00 CODE_03AC3A: 85 37 STA $37 CODE_03AC3C: A5 13 LDA RAM_FrameCounter CODE_03AC3E: 29 03 AND.B #$03 CODE_03AC40: D0 0A BNE Return03AC4C CODE_03AC42: A5 38 LDA $38 CODE_03AC44: C9 80 CMP.B #$80 CODE_03AC46: B0 05 BCS CODE_03AC4D CODE_03AC48: E6 38 INC $38 CODE_03AC4A: E6 39 INC $39 Return03AC4C: 60 RTS ; Return CODE_03AC4D: BD 4A 16 LDA.W $164A,X CODE_03AC50: D0 08 BNE CODE_03AC5A CODE_03AC52: A9 1C LDA.B #$1C CODE_03AC54: 8D FB 1D STA.W $1DFB ; / Change music CODE_03AC57: FE 4A 16 INC.W $164A,X CODE_03AC5A: A9 FE LDA.B #$FE CODE_03AC5C: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_03AC5F: 9D D4 14 STA.W RAM_SpriteYHi,X Return03AC62: 60 RTS ; Return CODE_03AC63: A9 08 LDA.B #$08 CODE_03AC65: 8D D0 14 STA.W $14D0 CODE_03AC68: A9 7C LDA.B #$7C CODE_03AC6A: 85 A6 STA $A6 CODE_03AC6C: B5 E4 LDA RAM_SpriteXLo,X CODE_03AC6E: 18 CLC CODE_03AC6F: 69 08 ADC.B #$08 CODE_03AC71: 85 EC STA $EC CODE_03AC73: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03AC76: 69 00 ADC.B #$00 CODE_03AC78: 8D E8 14 STA.W $14E8 CODE_03AC7B: B5 D8 LDA RAM_SpriteYLo,X CODE_03AC7D: 18 CLC CODE_03AC7E: 69 47 ADC.B #$47 CODE_03AC80: 85 E0 STA $E0 CODE_03AC82: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03AC85: 69 00 ADC.B #$00 CODE_03AC87: 8D DC 14 STA.W $14DC CODE_03AC8A: DA PHX CODE_03AC8B: A2 08 LDX.B #$08 CODE_03AC8D: 22 D2 F7 07 JSL.L InitSpriteTables CODE_03AC91: FA PLX Return03AC92: 60 RTS ; Return BlushTileDispY: .db $01,$11 BlushTiles: .db $6E,$88 PrincessPeach: B5 E4 LDA RAM_SpriteXLo,X CODE_03AC99: 38 SEC CODE_03AC9A: E5 1A SBC RAM_ScreenBndryXLo CODE_03AC9C: 85 00 STA $00 CODE_03AC9E: B5 D8 LDA RAM_SpriteYLo,X CODE_03ACA0: 38 SEC CODE_03ACA1: E5 1C SBC RAM_ScreenBndryYLo CODE_03ACA3: 85 01 STA $01 CODE_03ACA5: A5 13 LDA RAM_FrameCounter CODE_03ACA7: 29 7F AND.B #$7F CODE_03ACA9: D0 0D BNE CODE_03ACB8 CODE_03ACAB: 22 F9 AC 01 JSL.L GetRand CODE_03ACAF: 29 07 AND.B #$07 CODE_03ACB1: D0 05 BNE CODE_03ACB8 CODE_03ACB3: A9 0C LDA.B #$0C CODE_03ACB5: 9D 4C 15 STA.W RAM_DisableInter,X CODE_03ACB8: BC 02 16 LDY.W $1602,X CODE_03ACBB: BD 4C 15 LDA.W RAM_DisableInter,X CODE_03ACBE: F0 01 BEQ CODE_03ACC1 CODE_03ACC0: C8 INY CODE_03ACC1: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_03ACC4: D0 05 BNE CODE_03ACCB CODE_03ACC6: 98 TYA CODE_03ACC7: 18 CLC CODE_03ACC8: 69 08 ADC.B #$08 CODE_03ACCA: A8 TAY CODE_03ACCB: 84 03 STY $03 CODE_03ACCD: A9 D0 LDA.B #$D0 CODE_03ACCF: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_03ACD2: A8 TAY CODE_03ACD3: 20 C8 AA JSR.W CODE_03AAC8 CODE_03ACD6: A0 02 LDY.B #$02 CODE_03ACD8: A9 03 LDA.B #$03 CODE_03ACDA: 22 B3 B7 01 JSL.L FinishOAMWrite CODE_03ACDE: BD 58 15 LDA.W $1558,X CODE_03ACE1: F0 35 BEQ CODE_03AD18 CODE_03ACE3: DA PHX CODE_03ACE4: A2 00 LDX.B #$00 CODE_03ACE6: A5 19 LDA RAM_MarioPowerUp CODE_03ACE8: D0 01 BNE CODE_03ACEB CODE_03ACEA: E8 INX CODE_03ACEB: A0 4C LDY.B #$4C CODE_03ACED: A5 7E LDA $7E CODE_03ACEF: 99 00 03 STA.W OAM_DispX,Y CODE_03ACF2: A5 80 LDA $80 CODE_03ACF4: 18 CLC CODE_03ACF5: 7D 93 AC ADC.W BlushTileDispY,X CODE_03ACF8: 99 01 03 STA.W OAM_DispY,Y CODE_03ACFB: BD 95 AC LDA.W BlushTiles,X CODE_03ACFE: 99 02 03 STA.W OAM_Tile,Y CODE_03AD01: FA PLX CODE_03AD02: A5 76 LDA RAM_MarioDirection CODE_03AD04: C9 01 CMP.B #$01 CODE_03AD06: A9 31 LDA.B #$31 CODE_03AD08: 90 02 BCC CODE_03AD0C CODE_03AD0A: 09 40 ORA.B #$40 CODE_03AD0C: 99 03 03 STA.W OAM_Prop,Y CODE_03AD0F: 98 TYA CODE_03AD10: 4A LSR CODE_03AD11: 4A LSR CODE_03AD12: A8 TAY CODE_03AD13: A9 02 LDA.B #$02 CODE_03AD15: 99 60 04 STA.W OAM_TileSize,Y CODE_03AD18: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_03AD1A: 64 7B STZ RAM_MarioSpeedX CODE_03AD1C: A9 04 LDA.B #$04 CODE_03AD1E: 9D 02 16 STA.W $1602,X CODE_03AD21: B5 C2 LDA RAM_SpriteState,X CODE_03AD23: 22 DF 86 00 JSL.L ExecutePtr PeachPtrs: 37 AD .dw CODE_03AD37 B3 AD .dw CODE_03ADB3 DD AD .dw CODE_03ADDD 25 AE .dw CODE_03AE25 32 AE .dw CODE_03AE32 AF AE .dw CODE_03AEAF E8 AE .dw CODE_03AEE8 96 C7 .dw CODE_03C796 CODE_03AD37: A9 06 LDA.B #$06 CODE_03AD39: 9D 02 16 STA.W $1602,X CODE_03AD3C: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_03AD40: B5 AA LDA RAM_SpriteSpeedY,X CODE_03AD42: C9 08 CMP.B #$08 CODE_03AD44: B0 05 BCS CODE_03AD4B CODE_03AD46: 18 CLC CODE_03AD47: 69 01 ADC.B #$01 CODE_03AD49: 95 AA STA RAM_SpriteSpeedY,X CODE_03AD4B: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03AD4E: 30 13 BMI CODE_03AD63 CODE_03AD50: B5 D8 LDA RAM_SpriteYLo,X CODE_03AD52: C9 A0 CMP.B #$A0 CODE_03AD54: 90 0D BCC CODE_03AD63 CODE_03AD56: A9 A0 LDA.B #$A0 CODE_03AD58: 95 D8 STA RAM_SpriteYLo,X CODE_03AD5A: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03AD5C: A9 A0 LDA.B #$A0 CODE_03AD5E: 9D 40 15 STA.W $1540,X CODE_03AD61: F6 C2 INC RAM_SpriteState,X CODE_03AD63: A5 13 LDA RAM_FrameCounter CODE_03AD65: 29 07 AND.B #$07 CODE_03AD67: D0 0A BNE Return03AD73 CODE_03AD69: A0 0B LDY.B #$0B CODE_03AD6B: B9 F0 17 LDA.W $17F0,Y CODE_03AD6E: F0 04 BEQ CODE_03AD74 CODE_03AD70: 88 DEY CODE_03AD71: 10 F8 BPL CODE_03AD6B Return03AD73: 60 RTS ; Return CODE_03AD74: A9 05 LDA.B #$05 CODE_03AD76: 99 F0 17 STA.W $17F0,Y CODE_03AD79: 22 F9 AC 01 JSL.L GetRand CODE_03AD7D: 64 00 STZ $00 CODE_03AD7F: 29 1F AND.B #$1F CODE_03AD81: 18 CLC CODE_03AD82: 69 F8 ADC.B #$F8 CODE_03AD84: 10 02 BPL CODE_03AD88 CODE_03AD86: C6 00 DEC $00 CODE_03AD88: 18 CLC CODE_03AD89: 75 E4 ADC RAM_SpriteXLo,X CODE_03AD8B: 99 08 18 STA.W $1808,Y CODE_03AD8E: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03AD91: 65 00 ADC $00 CODE_03AD93: 99 EA 18 STA.W $18EA,Y CODE_03AD96: AD 8E 14 LDA.W RAM_RandomByte2 CODE_03AD99: 29 1F AND.B #$1F CODE_03AD9B: 75 D8 ADC RAM_SpriteYLo,X CODE_03AD9D: 99 FC 17 STA.W $17FC,Y CODE_03ADA0: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03ADA3: 69 00 ADC.B #$00 CODE_03ADA5: 99 14 18 STA.W $1814,Y CODE_03ADA8: A9 00 LDA.B #$00 CODE_03ADAA: 99 20 18 STA.W $1820,Y CODE_03ADAD: A9 17 LDA.B #$17 CODE_03ADAF: 99 50 18 STA.W $1850,Y Return03ADB2: 60 RTS ; Return CODE_03ADB3: BD 40 15 LDA.W $1540,X CODE_03ADB6: D0 0A BNE CODE_03ADC2 CODE_03ADB8: F6 C2 INC RAM_SpriteState,X CODE_03ADBA: 20 CC AD JSR.W CODE_03ADCC CODE_03ADBD: 90 03 BCC CODE_03ADC2 ADDR_03ADBF: FE 1C 15 INC.W $151C,X CODE_03ADC2: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_03ADC5: 98 TYA CODE_03ADC6: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_03ADC9: 85 76 STA RAM_MarioDirection Return03ADCB: 60 RTS ; Return CODE_03ADCC: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_03ADD0: 22 64 B6 03 JSL.L GetMarioClipping CODE_03ADD4: 22 2B B7 03 JSL.L CheckForContact Return03ADD8: 60 RTS ; Return DATA_03ADD9: .db $08,$F8,$F8,$08 CODE_03ADDD: A5 14 LDA RAM_FrameCounterB CODE_03ADDF: 29 08 AND.B #$08 CODE_03ADE1: D0 05 BNE CODE_03ADE8 CODE_03ADE3: A9 08 LDA.B #$08 CODE_03ADE5: 9D 02 16 STA.W $1602,X CODE_03ADE8: 20 CC AD JSR.W CODE_03ADCC CODE_03ADEB: 08 PHP CODE_03ADEC: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_03ADEF: 28 PLP CODE_03ADF0: BD 1C 15 LDA.W $151C,X CODE_03ADF3: D0 04 BNE ADDR_03ADF9 CODE_03ADF5: B0 1D BCS CODE_03AE14 CODE_03ADF7: 80 06 BRA CODE_03ADFF ADDR_03ADF9: 90 19 BCC CODE_03AE14 ADDR_03ADFB: 98 TYA ADDR_03ADFC: 49 01 EOR.B #$01 ADDR_03ADFE: A8 TAY CODE_03ADFF: B9 D9 AD LDA.W DATA_03ADD9,Y CODE_03AE02: 95 B6 STA RAM_SpriteSpeedX,X CODE_03AE04: 49 FF EOR.B #$FF CODE_03AE06: 1A INC A CODE_03AE07: 85 7B STA RAM_MarioSpeedX CODE_03AE09: 98 TYA CODE_03AE0A: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_03AE0D: 85 76 STA RAM_MarioDirection CODE_03AE0F: 22 22 80 01 JSL.L UpdateXPosNoGrvty Return03AE13: 60 RTS ; Return CODE_03AE14: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_03AE17: 98 TYA CODE_03AE18: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_03AE1B: 85 76 STA RAM_MarioDirection CODE_03AE1D: F6 C2 INC RAM_SpriteState,X CODE_03AE1F: A9 60 LDA.B #$60 CODE_03AE21: 9D 40 15 STA.W $1540,X Return03AE24: 60 RTS ; Return CODE_03AE25: BD 40 15 LDA.W $1540,X CODE_03AE28: D0 07 BNE Return03AE31 CODE_03AE2A: F6 C2 INC RAM_SpriteState,X CODE_03AE2C: A9 A0 LDA.B #$A0 CODE_03AE2E: 9D 40 15 STA.W $1540,X Return03AE31: 60 RTS ; Return CODE_03AE32: BD 40 15 LDA.W $1540,X CODE_03AE35: D0 08 BNE CODE_03AE3F CODE_03AE37: F6 C2 INC RAM_SpriteState,X CODE_03AE39: 9C 8A 18 STZ.W $188A CODE_03AE3C: 9C 8B 18 STZ.W $188B CODE_03AE3F: C9 50 CMP.B #$50 CODE_03AE41: 90 17 BCC Return03AE5A CODE_03AE43: 48 PHA CODE_03AE44: D0 05 BNE CODE_03AE4B CODE_03AE46: A9 14 LDA.B #$14 CODE_03AE48: 9D 4C 15 STA.W RAM_DisableInter,X CODE_03AE4B: A9 0A LDA.B #$0A CODE_03AE4D: 9D 02 16 STA.W $1602,X CODE_03AE50: 68 PLA CODE_03AE51: C9 68 CMP.B #$68 CODE_03AE53: D0 05 BNE Return03AE5A CODE_03AE55: A9 80 LDA.B #$80 CODE_03AE57: 9D 58 15 STA.W $1558,X Return03AE5A: 60 RTS ; Return DATA_03AE5B: .db $08,$08,$08,$08,$08,$08,$18,$08 .db $08,$08,$08,$08,$08,$08,$08,$08 .db $08,$08,$08,$08,$08,$08,$20,$08 .db $08,$08,$08,$08,$20,$08,$08,$10 .db $08,$08,$08,$08,$08,$08,$08,$08 .db $20,$08,$08,$08,$08,$08,$20,$08 .db $04,$20,$08,$08,$08,$08,$08,$08 .db $08,$08,$08,$08,$08,$08,$10,$08 .db $08,$08,$08,$08,$08,$08,$08,$08 .db $08,$08,$10,$08,$08,$08,$08,$08 .db $08,$08,$08,$40 CODE_03AEAF: 20 74 D6 JSR.W CODE_03D674 CODE_03AEB2: BD 40 15 LDA.W $1540,X CODE_03AEB5: D0 10 BNE Return03AEC7 CODE_03AEB7: AC 21 19 LDY.W $1921 CODE_03AEBA: C0 54 CPY.B #$54 CODE_03AEBC: F0 0A BEQ CODE_03AEC8 CODE_03AEBE: EE 21 19 INC.W $1921 CODE_03AEC1: B9 5B AE LDA.W DATA_03AE5B,Y CODE_03AEC4: 9D 40 15 STA.W $1540,X Return03AEC7: 60 RTS ; Return CODE_03AEC8: F6 C2 INC RAM_SpriteState,X CODE_03AECA: A9 40 LDA.B #$40 CODE_03AECC: 9D 40 15 STA.W $1540,X Return03AECF: 60 RTS ; Return CODE_03AED0: F6 C2 INC RAM_SpriteState,X CODE_03AED2: A9 80 LDA.B #$80 CODE_03AED4: 8D EB 1F STA.W $1FEB Return03AED7: 60 RTS ; Return DATA_03AED8: .db $00,$00,$94,$18,$18,$9C,$9C,$FF .db $00,$00,$52,$63,$63,$73,$73,$7F CODE_03AEE8: BD 40 15 LDA.W $1540,X CODE_03AEEB: F0 E3 BEQ CODE_03AED0 CODE_03AEED: 4A LSR CODE_03AEEE: 85 00 STA $00 CODE_03AEF0: 64 01 STZ $01 CODE_03AEF2: C2 20 REP #$20 ; Accum (16 bit) CODE_03AEF4: A5 00 LDA $00 CODE_03AEF6: 0A ASL CODE_03AEF7: 0A ASL CODE_03AEF8: 0A ASL CODE_03AEF9: 0A ASL CODE_03AEFA: 0A ASL CODE_03AEFB: 05 00 ORA $00 CODE_03AEFD: 85 00 STA $00 CODE_03AEFF: 0A ASL CODE_03AF00: 0A ASL CODE_03AF01: 0A ASL CODE_03AF02: 0A ASL CODE_03AF03: 0A ASL CODE_03AF04: 05 00 ORA $00 CODE_03AF06: 85 00 STA $00 CODE_03AF08: E2 20 SEP #$20 ; Accum (8 bit) CODE_03AF0A: DA PHX CODE_03AF0B: AA TAX CODE_03AF0C: AC 81 06 LDY.W $0681 CODE_03AF0F: A9 02 LDA.B #$02 CODE_03AF11: 99 82 06 STA.W $0682,Y CODE_03AF14: A9 F1 LDA.B #$F1 CODE_03AF16: 99 83 06 STA.W $0683,Y CODE_03AF19: A5 00 LDA $00 CODE_03AF1B: 99 84 06 STA.W $0684,Y CODE_03AF1E: A5 01 LDA $01 CODE_03AF20: 99 85 06 STA.W $0685,Y CODE_03AF23: A9 00 LDA.B #$00 CODE_03AF25: 99 86 06 STA.W $0686,Y CODE_03AF28: 98 TYA CODE_03AF29: 18 CLC CODE_03AF2A: 69 04 ADC.B #$04 CODE_03AF2C: 8D 81 06 STA.W $0681 CODE_03AF2F: FA PLX CODE_03AF30: 20 74 D6 JSR.W CODE_03D674 Return03AF33: 60 RTS ; Return DATA_03AF34: .db $F4,$FF,$0C,$19,$24,$19,$0C,$FF DATA_03AF3C: .db $FC,$F6,$F4,$F6,$FC,$02,$04,$02 DATA_03AF44: .db $05,$05,$05,$05,$45,$45,$45,$45 DATA_03AF4C: .db $34,$34,$34,$35,$35,$36,$36,$37 .db $38,$3A,$3E,$46,$54 CODE_03AF59: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03AF5C: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_03AF5F: 85 04 STA $04 CODE_03AF61: A5 14 LDA RAM_FrameCounterB CODE_03AF63: 4A LSR CODE_03AF64: 4A LSR CODE_03AF65: 29 07 AND.B #$07 CODE_03AF67: 85 02 STA $02 CODE_03AF69: A9 EC LDA.B #$EC CODE_03AF6B: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_03AF6E: A8 TAY CODE_03AF6F: DA PHX CODE_03AF70: A2 03 LDX.B #$03 CODE_03AF72: DA PHX CODE_03AF73: 8A TXA CODE_03AF74: 0A ASL CODE_03AF75: 0A ASL CODE_03AF76: 65 02 ADC $02 CODE_03AF78: 29 07 AND.B #$07 CODE_03AF7A: AA TAX CODE_03AF7B: A5 00 LDA $00 CODE_03AF7D: 18 CLC CODE_03AF7E: 7D 34 AF ADC.W DATA_03AF34,X CODE_03AF81: 99 00 03 STA.W OAM_DispX,Y CODE_03AF84: A5 01 LDA $01 CODE_03AF86: 18 CLC CODE_03AF87: 7D 3C AF ADC.W DATA_03AF3C,X CODE_03AF8A: 99 01 03 STA.W OAM_DispY,Y CODE_03AF8D: A9 59 LDA.B #$59 CODE_03AF8F: 99 02 03 STA.W OAM_Tile,Y CODE_03AF92: BD 44 AF LDA.W DATA_03AF44,X CODE_03AF95: 05 64 ORA $64 CODE_03AF97: 99 03 03 STA.W OAM_Prop,Y CODE_03AF9A: FA PLX CODE_03AF9B: C8 INY CODE_03AF9C: C8 INY CODE_03AF9D: C8 INY CODE_03AF9E: C8 INY CODE_03AF9F: CA DEX CODE_03AFA0: 10 D0 BPL CODE_03AF72 CODE_03AFA2: AD B3 14 LDA.W $14B3 CODE_03AFA5: EE B3 14 INC.W $14B3 CODE_03AFA8: 4A LSR CODE_03AFA9: 4A LSR CODE_03AFAA: 4A LSR CODE_03AFAB: C9 0D CMP.B #$0D CODE_03AFAD: B0 28 BCS CODE_03AFD7 CODE_03AFAF: AA TAX CODE_03AFB0: A0 FC LDY.B #$FC CODE_03AFB2: A5 04 LDA $04 CODE_03AFB4: 0A ASL CODE_03AFB5: 2A ROL CODE_03AFB6: 0A ASL CODE_03AFB7: 0A ASL CODE_03AFB8: 0A ASL CODE_03AFB9: 65 00 ADC $00 CODE_03AFBB: 18 CLC CODE_03AFBC: 69 15 ADC.B #$15 CODE_03AFBE: 99 00 03 STA.W OAM_DispX,Y CODE_03AFC1: A5 01 LDA $01 CODE_03AFC3: 18 CLC CODE_03AFC4: 7F 4C AF 03 ADC.L DATA_03AF4C,X CODE_03AFC8: 99 01 03 STA.W OAM_DispY,Y CODE_03AFCB: A9 49 LDA.B #$49 CODE_03AFCD: 99 02 03 STA.W OAM_Tile,Y CODE_03AFD0: A9 07 LDA.B #$07 CODE_03AFD2: 05 64 ORA $64 CODE_03AFD4: 99 03 03 STA.W OAM_Prop,Y CODE_03AFD7: FA PLX CODE_03AFD8: A0 00 LDY.B #$00 CODE_03AFDA: A9 04 LDA.B #$04 CODE_03AFDC: 22 B3 B7 01 JSL.L FinishOAMWrite CODE_03AFE0: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_03AFE3: DA PHX CODE_03AFE4: A2 04 LDX.B #$04 CODE_03AFE6: B9 00 03 LDA.W OAM_DispX,Y CODE_03AFE9: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_03AFEC: B9 01 03 LDA.W OAM_DispY,Y CODE_03AFEF: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_03AFF2: B9 02 03 LDA.W OAM_Tile,Y CODE_03AFF5: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_03AFF8: B9 03 03 LDA.W OAM_Prop,Y CODE_03AFFB: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_03AFFE: 5A PHY CODE_03AFFF: 98 TYA CODE_03B000: 4A LSR CODE_03B001: 4A LSR CODE_03B002: A8 TAY CODE_03B003: B9 60 04 LDA.W OAM_TileSize,Y CODE_03B006: 99 20 04 STA.W $0420,Y CODE_03B009: 7A PLY CODE_03B00A: C8 INY CODE_03B00B: C8 INY CODE_03B00C: C8 INY CODE_03B00D: C8 INY CODE_03B00E: CA DEX CODE_03B00F: 10 D5 BPL CODE_03AFE6 CODE_03B011: FA PLX Return03B012: 60 RTS ; Return DATA_03B013: .db $00,$10 DATA_03B015: .db $00,$00 DATA_03B017: .db $F8,$08 CODE_03B019: 64 02 STZ $02 CODE_03B01B: 20 20 B0 JSR.W CODE_03B020 CODE_03B01E: E6 02 INC $02 CODE_03B020: A0 01 LDY.B #$01 CODE_03B022: B9 C8 14 LDA.W $14C8,Y CODE_03B025: F0 04 BEQ CODE_03B02B CODE_03B027: 88 DEY CODE_03B028: 10 F8 BPL CODE_03B022 Return03B02A: 60 RTS ; Return CODE_03B02B: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_03B02D: 99 C8 14 STA.W $14C8,Y ; / CODE_03B030: A9 A2 LDA.B #$A2 CODE_03B032: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_03B035: B5 D8 LDA RAM_SpriteYLo,X CODE_03B037: 18 CLC CODE_03B038: 69 10 ADC.B #$10 CODE_03B03A: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_03B03D: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03B040: 69 00 ADC.B #$00 CODE_03B042: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_03B045: B5 E4 LDA RAM_SpriteXLo,X CODE_03B047: 85 00 STA $00 CODE_03B049: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03B04C: 85 01 STA $01 CODE_03B04E: DA PHX CODE_03B04F: A6 02 LDX $02 CODE_03B051: A5 00 LDA $00 CODE_03B053: 18 CLC CODE_03B054: 7D 13 B0 ADC.W DATA_03B013,X CODE_03B057: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_03B05A: A5 01 LDA $01 CODE_03B05C: 7D 15 B0 ADC.W DATA_03B015,X CODE_03B05F: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_03B062: BB TYX CODE_03B063: 22 D2 F7 07 JSL.L InitSpriteTables CODE_03B067: A4 02 LDY $02 CODE_03B069: B9 17 B0 LDA.W DATA_03B017,Y CODE_03B06C: 95 B6 STA RAM_SpriteSpeedX,X CODE_03B06E: A9 C0 LDA.B #$C0 CODE_03B070: 95 AA STA RAM_SpriteSpeedY,X CODE_03B072: FA PLX Return03B073: 60 RTS ; Return DATA_03B074: .db $40,$C0 DATA_03B076: .db $10,$F0 CODE_03B078: A5 38 LDA $38 CODE_03B07A: C9 20 CMP.B #$20 CODE_03B07C: D0 5D BNE Return03B0DB CODE_03B07E: BD 1C 15 LDA.W $151C,X CODE_03B081: C9 07 CMP.B #$07 CODE_03B083: 90 6D BCC Return03B0F2 CODE_03B085: A5 36 LDA $36 CODE_03B087: 05 37 ORA $37 CODE_03B089: D0 67 BNE Return03B0F2 CODE_03B08B: 20 DC B0 JSR.W CODE_03B0DC CODE_03B08E: BD 4C 15 LDA.W RAM_DisableInter,X CODE_03B091: D0 48 BNE Return03B0DB CODE_03B093: A9 24 LDA.B #$24 CODE_03B095: 9D 62 16 STA.W RAM_Tweaker1662,X CODE_03B098: 22 DC A7 01 JSL.L MarioSprInteract CODE_03B09C: 90 1F BCC CODE_03B0BD CODE_03B09E: 20 D6 B0 JSR.W CODE_03B0D6 CODE_03B0A1: 64 7D STZ RAM_MarioSpeedY CODE_03B0A3: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_03B0A6: AD B1 14 LDA.W $14B1 CODE_03B0A9: 0D B6 14 ORA.W $14B6 CODE_03B0AC: F0 05 BEQ CODE_03B0B3 ADDR_03B0AE: B9 76 B0 LDA.W DATA_03B076,Y ADDR_03B0B1: 80 03 BRA CODE_03B0B6 CODE_03B0B3: B9 74 B0 LDA.W DATA_03B074,Y CODE_03B0B6: 85 7B STA RAM_MarioSpeedX CODE_03B0B8: A9 01 LDA.B #$01 ; \ Play sound effect CODE_03B0BA: 8D F9 1D STA.W $1DF9 ; / CODE_03B0BD: FE 62 16 INC.W RAM_Tweaker1662,X CODE_03B0C0: 22 DC A7 01 JSL.L MarioSprInteract CODE_03B0C4: 90 03 BCC CODE_03B0C9 ADDR_03B0C6: 20 D2 B0 JSR.W CODE_03B0D2 CODE_03B0C9: FE 62 16 INC.W RAM_Tweaker1662,X CODE_03B0CC: 22 DC A7 01 JSL.L MarioSprInteract CODE_03B0D0: 90 09 BCC Return03B0DB CODE_03B0D2: 22 B7 F5 00 JSL.L HurtMario CODE_03B0D6: A9 20 LDA.B #$20 CODE_03B0D8: 9D 4C 15 STA.W RAM_DisableInter,X Return03B0DB: 60 RTS ; Return CODE_03B0DC: A0 01 LDY.B #$01 CODE_03B0DE: 5A PHY CODE_03B0DF: B9 C8 14 LDA.W $14C8,Y CODE_03B0E2: C9 09 CMP.B #$09 CODE_03B0E4: D0 08 BNE CODE_03B0EE CODE_03B0E6: B9 A0 15 LDA.W RAM_OffscreenHorz,Y CODE_03B0E9: D0 03 BNE CODE_03B0EE CODE_03B0EB: 20 F3 B0 JSR.W CODE_03B0F3 CODE_03B0EE: 7A PLY CODE_03B0EF: 88 DEY CODE_03B0F0: 10 EC BPL CODE_03B0DE Return03B0F2: 60 RTS ; Return CODE_03B0F3: DA PHX CODE_03B0F4: BB TYX CODE_03B0F5: 22 E5 B6 03 JSL.L GetSpriteClippingB CODE_03B0F9: FA PLX CODE_03B0FA: A9 24 LDA.B #$24 CODE_03B0FC: 9D 62 16 STA.W RAM_Tweaker1662,X CODE_03B0FF: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_03B103: 22 2B B7 03 JSL.L CheckForContact CODE_03B107: B0 39 BCS CODE_03B142 CODE_03B109: FE 62 16 INC.W RAM_Tweaker1662,X CODE_03B10C: 22 9F B6 03 JSL.L GetSpriteClippingA CODE_03B110: 22 2B B7 03 JSL.L CheckForContact CODE_03B114: 90 4A BCC Return03B160 CODE_03B116: AD B5 14 LDA.W $14B5 CODE_03B119: D0 45 BNE Return03B160 CODE_03B11B: A9 4C LDA.B #$4C CODE_03B11D: 8D B5 14 STA.W $14B5 CODE_03B120: 9C B3 14 STZ.W $14B3 CODE_03B123: BD 1C 15 LDA.W $151C,X CODE_03B126: 8D B4 14 STA.W $14B4 CODE_03B129: A9 28 LDA.B #$28 ; \ Play sound effect CODE_03B12B: 8D FC 1D STA.W $1DFC ; / CODE_03B12E: BD 1C 15 LDA.W $151C,X CODE_03B131: C9 09 CMP.B #$09 CODE_03B133: D0 0D BNE CODE_03B142 CODE_03B135: BD 7B 18 LDA.W $187B,X CODE_03B138: C9 01 CMP.B #$01 CODE_03B13A: D0 06 BNE CODE_03B142 CODE_03B13C: 5A PHY CODE_03B13D: 22 C8 A6 03 JSL.L KillMostSprites CODE_03B141: 7A PLY CODE_03B142: A9 00 LDA.B #$00 CODE_03B144: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_03B147: DA PHX CODE_03B148: A2 10 LDX.B #$10 CODE_03B14A: B9 AA 00 LDA.W RAM_SpriteSpeedY,Y CODE_03B14D: 30 02 BMI CODE_03B151 CODE_03B14F: A2 D0 LDX.B #$D0 CODE_03B151: 8A TXA CODE_03B152: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_03B155: A9 02 LDA.B #$02 ; \ Sprite status = Killed CODE_03B157: 99 C8 14 STA.W $14C8,Y ; / CODE_03B15A: BB TYX CODE_03B15B: 22 6F AB 01 JSL.L CODE_01AB6F CODE_03B15F: FA PLX Return03B160: 60 RTS ; Return BowserBallSpeed: .db $10,$F0 BowserBowlingBall: 20 21 B2 JSR.W BowserBallGfx CODE_03B166: A5 9D LDA RAM_SpritesLocked CODE_03B168: D0 6A BNE Return03B1D4 CODE_03B16A: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_03B16D: 22 DC A7 01 JSL.L MarioSprInteract CODE_03B171: 22 22 80 01 JSL.L UpdateXPosNoGrvty CODE_03B175: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_03B179: B5 AA LDA RAM_SpriteSpeedY,X CODE_03B17B: C9 40 CMP.B #$40 CODE_03B17D: 10 07 BPL CODE_03B186 CODE_03B17F: 18 CLC CODE_03B180: 69 03 ADC.B #$03 CODE_03B182: 95 AA STA RAM_SpriteSpeedY,X CODE_03B184: 80 04 BRA CODE_03B18A CODE_03B186: A9 40 LDA.B #$40 CODE_03B188: 95 AA STA RAM_SpriteSpeedY,X CODE_03B18A: B5 AA LDA RAM_SpriteSpeedY,X CODE_03B18C: 30 37 BMI CODE_03B1C5 CODE_03B18E: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03B191: 30 32 BMI CODE_03B1C5 CODE_03B193: B5 D8 LDA RAM_SpriteYLo,X CODE_03B195: C9 B0 CMP.B #$B0 CODE_03B197: 90 2C BCC CODE_03B1C5 CODE_03B199: A9 B0 LDA.B #$B0 CODE_03B19B: 95 D8 STA RAM_SpriteYLo,X CODE_03B19D: B5 AA LDA RAM_SpriteSpeedY,X CODE_03B19F: C9 3E CMP.B #$3E CODE_03B1A1: 90 0A BCC CODE_03B1AD CODE_03B1A3: A0 25 LDY.B #$25 ; \ Play sound effect CODE_03B1A5: 8C FC 1D STY.W $1DFC ; / CODE_03B1A8: A0 20 LDY.B #$20 ; \ Set ground shake timer CODE_03B1AA: 8C 87 18 STY.W RAM_ShakeGrndTimer ; / CODE_03B1AD: C9 08 CMP.B #$08 CODE_03B1AF: 90 05 BCC CODE_03B1B6 CODE_03B1B1: A9 01 LDA.B #$01 ; \ Play sound effect CODE_03B1B3: 8D F9 1D STA.W $1DF9 ; / CODE_03B1B6: 20 F8 B7 JSR.W CODE_03B7F8 CODE_03B1B9: B5 B6 LDA RAM_SpriteSpeedX,X CODE_03B1BB: D0 08 BNE CODE_03B1C5 CODE_03B1BD: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_03B1C0: B9 61 B1 LDA.W BowserBallSpeed,Y CODE_03B1C3: 95 B6 STA RAM_SpriteSpeedX,X CODE_03B1C5: B5 B6 LDA RAM_SpriteSpeedX,X CODE_03B1C7: F0 0B BEQ Return03B1D4 CODE_03B1C9: 30 06 BMI CODE_03B1D1 CODE_03B1CB: DE 70 15 DEC.W $1570,X CODE_03B1CE: DE 70 15 DEC.W $1570,X CODE_03B1D1: FE 70 15 INC.W $1570,X Return03B1D4: 60 RTS ; Return BowserBallDispX: .db $F0,$00,$10,$F0,$00,$10,$F0,$00 .db $10,$00,$00,$F8 BowserBallDispY: .db $E2,$E2,$E2,$F2,$F2,$F2,$02,$02 .db $02,$02,$02,$EA BowserBallTiles: .db $45,$47,$45,$65,$66,$65,$45,$47 .db $45,$39,$38,$63 BowserBallGfxProp: .db $0D,$0D,$4D,$0D,$0D,$4D,$8D,$8D .db $CD,$0D,$0D,$0D BowserBallTileSize: .db $02,$02,$02,$02,$02,$02,$02,$02 .db $02,$00,$00,$02 BowserBallDispX2: .db $04,$0D,$10,$0D,$04,$FB,$F8,$FB BowserBallDispY2: .db $00,$FD,$F4,$EB,$E8,$EB,$F4,$FD BowserBallGfx: A9 70 LDA.B #$70 CODE_03B223: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_03B226: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03B229: DA PHX CODE_03B22A: A2 0B LDX.B #$0B CODE_03B22C: A5 00 LDA $00 CODE_03B22E: 18 CLC CODE_03B22F: 7D D5 B1 ADC.W BowserBallDispX,X CODE_03B232: 99 00 03 STA.W OAM_DispX,Y CODE_03B235: A5 01 LDA $01 CODE_03B237: 18 CLC CODE_03B238: 7D E1 B1 ADC.W BowserBallDispY,X CODE_03B23B: 99 01 03 STA.W OAM_DispY,Y CODE_03B23E: BD ED B1 LDA.W BowserBallTiles,X CODE_03B241: 99 02 03 STA.W OAM_Tile,Y CODE_03B244: BD F9 B1 LDA.W BowserBallGfxProp,X CODE_03B247: 05 64 ORA $64 CODE_03B249: 99 03 03 STA.W OAM_Prop,Y CODE_03B24C: 5A PHY CODE_03B24D: 98 TYA CODE_03B24E: 4A LSR CODE_03B24F: 4A LSR CODE_03B250: A8 TAY CODE_03B251: BD 05 B2 LDA.W BowserBallTileSize,X CODE_03B254: 99 60 04 STA.W OAM_TileSize,Y CODE_03B257: 7A PLY CODE_03B258: C8 INY CODE_03B259: C8 INY CODE_03B25A: C8 INY CODE_03B25B: C8 INY CODE_03B25C: CA DEX CODE_03B25D: 10 CD BPL CODE_03B22C CODE_03B25F: FA PLX CODE_03B260: DA PHX CODE_03B261: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_03B264: BD 70 15 LDA.W $1570,X CODE_03B267: 4A LSR CODE_03B268: 4A LSR CODE_03B269: 4A LSR CODE_03B26A: 29 07 AND.B #$07 CODE_03B26C: 48 PHA CODE_03B26D: AA TAX CODE_03B26E: B9 04 03 LDA.W OAM_Tile2DispX,Y CODE_03B271: 18 CLC CODE_03B272: 7D 11 B2 ADC.W BowserBallDispX2,X CODE_03B275: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_03B278: B9 05 03 LDA.W OAM_Tile2DispY,Y CODE_03B27B: 18 CLC CODE_03B27C: 7D 19 B2 ADC.W BowserBallDispY2,X CODE_03B27F: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_03B282: 68 PLA CODE_03B283: 18 CLC CODE_03B284: 69 02 ADC.B #$02 CODE_03B286: 29 07 AND.B #$07 CODE_03B288: AA TAX CODE_03B289: B9 08 03 LDA.W OAM_Tile3DispX,Y CODE_03B28C: 18 CLC CODE_03B28D: 7D 11 B2 ADC.W BowserBallDispX2,X CODE_03B290: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_03B293: B9 09 03 LDA.W OAM_Tile3DispY,Y CODE_03B296: 18 CLC CODE_03B297: 7D 19 B2 ADC.W BowserBallDispY2,X CODE_03B29A: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_03B29D: FA PLX CODE_03B29E: A9 0B LDA.B #$0B CODE_03B2A0: A0 FF LDY.B #$FF CODE_03B2A2: 22 B3 B7 01 JSL.L FinishOAMWrite Return03B2A6: 60 RTS ; Return MechakoopaSpeed: .db $08,$F8 MechaKoopa: 22 07 B3 03 JSL.L CODE_03B307 CODE_03B2AD: BD C8 14 LDA.W $14C8,X CODE_03B2B0: C9 08 CMP.B #$08 CODE_03B2B2: D0 52 BNE Return03B306 CODE_03B2B4: A5 9D LDA RAM_SpritesLocked CODE_03B2B6: D0 4E BNE Return03B306 CODE_03B2B8: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_03B2BB: 22 3A 80 01 JSL.L SprSpr+MarioSprRts CODE_03B2BF: 22 2A 80 01 JSL.L UpdateSpritePos CODE_03B2C3: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_03B2C6: 29 04 AND.B #$04 ; | CODE_03B2C8: F0 19 BEQ CODE_03B2E3 ; / CODE_03B2CA: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03B2CC: BC 7C 15 LDY.W RAM_SpriteDir,X CODE_03B2CF: B9 A7 B2 LDA.W MechakoopaSpeed,Y CODE_03B2D2: 95 B6 STA RAM_SpriteSpeedX,X CODE_03B2D4: B5 C2 LDA RAM_SpriteState,X CODE_03B2D6: F6 C2 INC RAM_SpriteState,X CODE_03B2D8: 29 3F AND.B #$3F CODE_03B2DA: D0 07 BNE CODE_03B2E3 CODE_03B2DC: 20 17 B8 JSR.W SubHorzPosBnk3 CODE_03B2DF: 98 TYA CODE_03B2E0: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_03B2E3: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not touching object CODE_03B2E6: 29 03 AND.B #$03 ; | CODE_03B2E8: F0 0F BEQ CODE_03B2F9 ; / ADDR_03B2EA: B5 B6 LDA RAM_SpriteSpeedX,X ADDR_03B2EC: 49 FF EOR.B #$FF ADDR_03B2EE: 1A INC A ADDR_03B2EF: 95 B6 STA RAM_SpriteSpeedX,X ADDR_03B2F1: BD 7C 15 LDA.W RAM_SpriteDir,X ADDR_03B2F4: 49 01 EOR.B #$01 ADDR_03B2F6: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_03B2F9: FE 70 15 INC.W $1570,X CODE_03B2FC: BD 70 15 LDA.W $1570,X CODE_03B2FF: 29 0C AND.B #$0C CODE_03B301: 4A LSR CODE_03B302: 4A LSR CODE_03B303: 9D 02 16 STA.W $1602,X Return03B306: 60 RTS ; Return CODE_03B307: 8B PHB ; Wrapper CODE_03B308: 4B PHK CODE_03B309: AB PLB CODE_03B30A: 20 55 B3 JSR.W MechaKoopaGfx CODE_03B30D: AB PLB Return03B30E: 6B RTL ; Return MechakoopaDispX: .db $F8,$08,$F8,$00,$08,$00,$10,$00 MechakoopaDispY: .db $F8,$F8,$08,$00,$F9,$F9,$09,$00 .db $F8,$F8,$08,$00,$F9,$F9,$09,$00 .db $FD,$00,$05,$00,$00,$00,$08,$00 MechakoopaTiles: .db $40,$42,$60,$51,$40,$42,$60,$0A .db $40,$42,$60,$0C,$40,$42,$60,$0E .db $00,$02,$10,$01,$00,$02,$10,$01 MechakoopaGfxProp: .db $00,$00,$00,$00,$40,$40,$40,$40 MechakoopaTileSize: .db $02,$00,$00,$02 MechakoopaPalette: .db $0B,$05 MechaKoopaGfx: A9 0B LDA.B #$0B CODE_03B357: 9D F6 15 STA.W RAM_SpritePal,X CODE_03B35A: BD 40 15 LDA.W $1540,X CODE_03B35D: F0 20 BEQ CODE_03B37F CODE_03B35F: A0 05 LDY.B #$05 CODE_03B361: C9 05 CMP.B #$05 CODE_03B363: 90 04 BCC CODE_03B369 CODE_03B365: C9 FA CMP.B #$FA CODE_03B367: 90 02 BCC CODE_03B36B CODE_03B369: A0 04 LDY.B #$04 CODE_03B36B: 98 TYA CODE_03B36C: 9D 02 16 STA.W $1602,X CODE_03B36F: BD 40 15 LDA.W $1540,X CODE_03B372: C9 30 CMP.B #$30 CODE_03B374: B0 09 BCS CODE_03B37F CODE_03B376: 29 01 AND.B #$01 CODE_03B378: A8 TAY CODE_03B379: B9 53 B3 LDA.W MechakoopaPalette,Y CODE_03B37C: 9D F6 15 STA.W RAM_SpritePal,X CODE_03B37F: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03B382: BD F6 15 LDA.W RAM_SpritePal,X CODE_03B385: 85 04 STA $04 CODE_03B387: 98 TYA CODE_03B388: 18 CLC CODE_03B389: 69 0C ADC.B #$0C CODE_03B38B: A8 TAY CODE_03B38C: BD 02 16 LDA.W $1602,X CODE_03B38F: 0A ASL CODE_03B390: 0A ASL CODE_03B391: 85 03 STA $03 CODE_03B393: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_03B396: 0A ASL CODE_03B397: 0A ASL CODE_03B398: 49 04 EOR.B #$04 CODE_03B39A: 85 02 STA $02 CODE_03B39C: DA PHX CODE_03B39D: A2 03 LDX.B #$03 CODE_03B39F: DA PHX CODE_03B3A0: 5A PHY CODE_03B3A1: 98 TYA CODE_03B3A2: 4A LSR CODE_03B3A3: 4A LSR CODE_03B3A4: A8 TAY CODE_03B3A5: BD 4F B3 LDA.W MechakoopaTileSize,X CODE_03B3A8: 99 60 04 STA.W OAM_TileSize,Y CODE_03B3AB: 7A PLY CODE_03B3AC: 68 PLA CODE_03B3AD: 48 PHA CODE_03B3AE: 18 CLC CODE_03B3AF: 65 02 ADC $02 CODE_03B3B1: AA TAX CODE_03B3B2: A5 00 LDA $00 CODE_03B3B4: 18 CLC CODE_03B3B5: 7D 0F B3 ADC.W MechakoopaDispX,X CODE_03B3B8: 99 00 03 STA.W OAM_DispX,Y CODE_03B3BB: BD 47 B3 LDA.W MechakoopaGfxProp,X CODE_03B3BE: 05 04 ORA $04 CODE_03B3C0: 05 64 ORA $64 CODE_03B3C2: 99 03 03 STA.W OAM_Prop,Y CODE_03B3C5: 68 PLA CODE_03B3C6: 48 PHA CODE_03B3C7: 18 CLC CODE_03B3C8: 65 03 ADC $03 CODE_03B3CA: AA TAX CODE_03B3CB: BD 2F B3 LDA.W MechakoopaTiles,X CODE_03B3CE: 99 02 03 STA.W OAM_Tile,Y CODE_03B3D1: A5 01 LDA $01 CODE_03B3D3: 18 CLC CODE_03B3D4: 7D 17 B3 ADC.W MechakoopaDispY,X CODE_03B3D7: 99 01 03 STA.W OAM_DispY,Y CODE_03B3DA: FA PLX CODE_03B3DB: 88 DEY CODE_03B3DC: 88 DEY CODE_03B3DD: 88 DEY CODE_03B3DE: 88 DEY CODE_03B3DF: CA DEX CODE_03B3E0: 10 BD BPL CODE_03B39F CODE_03B3E2: FA PLX CODE_03B3E3: A0 FF LDY.B #$FF CODE_03B3E5: A9 03 LDA.B #$03 CODE_03B3E7: 22 B3 B7 01 JSL.L FinishOAMWrite CODE_03B3EB: 20 F7 B3 JSR.W MechaKoopaKeyGfx Return03B3EE: 60 RTS ; Return MechaKeyDispX: .db $F9,$0F MechaKeyGfxProp: .db $4D,$0D MechaKeyTiles: .db $70,$71,$72,$71 MechaKoopaKeyGfx: BD EA 15 LDA.W RAM_SprOAMIndex,X CODE_03B3FA: 18 CLC CODE_03B3FB: 69 10 ADC.B #$10 CODE_03B3FD: 9D EA 15 STA.W RAM_SprOAMIndex,X CODE_03B400: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03B403: DA PHX CODE_03B404: BD 70 15 LDA.W $1570,X CODE_03B407: 4A LSR CODE_03B408: 4A LSR CODE_03B409: 29 03 AND.B #$03 CODE_03B40B: 85 02 STA $02 CODE_03B40D: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_03B410: AA TAX CODE_03B411: A5 00 LDA $00 CODE_03B413: 18 CLC CODE_03B414: 7D EF B3 ADC.W MechaKeyDispX,X CODE_03B417: 99 00 03 STA.W OAM_DispX,Y CODE_03B41A: A5 01 LDA $01 CODE_03B41C: 38 SEC CODE_03B41D: E9 00 SBC.B #$00 CODE_03B41F: 99 01 03 STA.W OAM_DispY,Y CODE_03B422: BD F1 B3 LDA.W MechaKeyGfxProp,X CODE_03B425: 05 64 ORA $64 CODE_03B427: 99 03 03 STA.W OAM_Prop,Y CODE_03B42A: A6 02 LDX $02 CODE_03B42C: BD F3 B3 LDA.W MechaKeyTiles,X CODE_03B42F: 99 02 03 STA.W OAM_Tile,Y CODE_03B432: FA PLX CODE_03B433: A0 00 LDY.B #$00 CODE_03B435: A9 00 LDA.B #$00 CODE_03B437: 22 B3 B7 01 JSL.L FinishOAMWrite Return03B43B: 60 RTS ; Return CODE_03B43C: 20 4F B4 JSR.W BowserItemBoxGfx CODE_03B43F: 20 AC B4 JSR.W BowserSceneGfx Return03B442: 60 RTS ; Return BowserItemBoxPosX: .db $70,$80,$70,$80 BowserItemBoxPosY: .db $07,$07,$17,$17 BowserItemBoxProp: .db $37,$77,$B7,$F7 BowserItemBoxGfx: AD 0D 19 LDA.W $190D CODE_03B452: F0 03 BEQ CODE_03B457 CODE_03B454: 9C C2 0D STZ.W $0DC2 CODE_03B457: AD C2 0D LDA.W $0DC2 CODE_03B45A: F0 2F BEQ Return03B48B CODE_03B45C: DA PHX CODE_03B45D: A2 03 LDX.B #$03 CODE_03B45F: A0 04 LDY.B #$04 CODE_03B461: BD 43 B4 LDA.W BowserItemBoxPosX,X CODE_03B464: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_03B467: BD 47 B4 LDA.W BowserItemBoxPosY,X CODE_03B46A: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_03B46D: A9 43 LDA.B #$43 CODE_03B46F: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_03B472: BD 4B B4 LDA.W BowserItemBoxProp,X CODE_03B475: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_03B478: 5A PHY CODE_03B479: 98 TYA CODE_03B47A: 4A LSR CODE_03B47B: 4A LSR CODE_03B47C: A8 TAY CODE_03B47D: A9 02 LDA.B #$02 CODE_03B47F: 99 20 04 STA.W $0420,Y CODE_03B482: 7A PLY CODE_03B483: C8 INY CODE_03B484: C8 INY CODE_03B485: C8 INY CODE_03B486: C8 INY CODE_03B487: CA DEX CODE_03B488: 10 D7 BPL CODE_03B461 CODE_03B48A: FA PLX Return03B48B: 60 RTS ; Return BowserRoofPosX: .db $00,$30,$60,$90,$C0,$F0,$00,$30 .db $40,$50,$60,$90,$A0,$B0,$C0,$F0 BowserRoofPosY: .db $B0,$B0,$B0,$B0,$B0,$B0,$D0,$D0 .db $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 BowserSceneGfx: DA PHX CODE_03B4AD: A0 BC LDY.B #$BC CODE_03B4AF: 64 01 STZ $01 CODE_03B4B1: AD 0D 19 LDA.W $190D CODE_03B4B4: 85 0F STA $0F CODE_03B4B6: C9 01 CMP.B #$01 CODE_03B4B8: A2 10 LDX.B #$10 CODE_03B4BA: 90 03 BCC CODE_03B4BF CODE_03B4BC: A0 90 LDY.B #$90 CODE_03B4BE: CA DEX CODE_03B4BF: A9 C0 LDA.B #$C0 CODE_03B4C1: 38 SEC CODE_03B4C2: E5 1C SBC RAM_ScreenBndryYLo CODE_03B4C4: 99 01 03 STA.W OAM_DispY,Y CODE_03B4C7: A5 01 LDA $01 CODE_03B4C9: 38 SEC CODE_03B4CA: E5 1A SBC RAM_ScreenBndryXLo CODE_03B4CC: 99 00 03 STA.W OAM_DispX,Y CODE_03B4CF: 18 CLC CODE_03B4D0: 69 10 ADC.B #$10 CODE_03B4D2: 85 01 STA $01 CODE_03B4D4: A9 08 LDA.B #$08 CODE_03B4D6: 99 02 03 STA.W OAM_Tile,Y CODE_03B4D9: A9 0D LDA.B #$0D CODE_03B4DB: 05 64 ORA $64 CODE_03B4DD: 99 03 03 STA.W OAM_Prop,Y CODE_03B4E0: 5A PHY CODE_03B4E1: 98 TYA CODE_03B4E2: 4A LSR CODE_03B4E3: 4A LSR CODE_03B4E4: A8 TAY CODE_03B4E5: A9 02 LDA.B #$02 CODE_03B4E7: 99 60 04 STA.W OAM_TileSize,Y CODE_03B4EA: 7A PLY CODE_03B4EB: C8 INY CODE_03B4EC: C8 INY CODE_03B4ED: C8 INY CODE_03B4EE: C8 INY CODE_03B4EF: CA DEX CODE_03B4F0: 10 CD BPL CODE_03B4BF CODE_03B4F2: A2 0F LDX.B #$0F CODE_03B4F4: A5 0F LDA $0F CODE_03B4F6: D0 3A BNE CODE_03B532 CODE_03B4F8: A0 14 LDY.B #$14 CODE_03B4FA: BD 8C B4 LDA.W BowserRoofPosX,X CODE_03B4FD: 38 SEC CODE_03B4FE: E5 1A SBC RAM_ScreenBndryXLo CODE_03B500: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_03B503: BD 9C B4 LDA.W BowserRoofPosY,X CODE_03B506: 38 SEC CODE_03B507: E5 1C SBC RAM_ScreenBndryYLo CODE_03B509: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_03B50C: A9 08 LDA.B #$08 CODE_03B50E: E0 06 CPX.B #$06 CODE_03B510: B0 02 BCS CODE_03B514 CODE_03B512: A9 03 LDA.B #$03 CODE_03B514: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_03B517: A9 0D LDA.B #$0D CODE_03B519: 05 64 ORA $64 CODE_03B51B: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_03B51E: 5A PHY CODE_03B51F: 98 TYA CODE_03B520: 4A LSR CODE_03B521: 4A LSR CODE_03B522: A8 TAY CODE_03B523: A9 02 LDA.B #$02 CODE_03B525: 99 20 04 STA.W $0420,Y CODE_03B528: 7A PLY CODE_03B529: C8 INY CODE_03B52A: C8 INY CODE_03B52B: C8 INY CODE_03B52C: C8 INY CODE_03B52D: CA DEX CODE_03B52E: 10 CA BPL CODE_03B4FA CODE_03B530: 80 38 BRA CODE_03B56A CODE_03B532: A0 50 LDY.B #$50 CODE_03B534: BD 8C B4 LDA.W BowserRoofPosX,X CODE_03B537: 38 SEC CODE_03B538: E5 1A SBC RAM_ScreenBndryXLo CODE_03B53A: 99 00 03 STA.W OAM_DispX,Y CODE_03B53D: BD 9C B4 LDA.W BowserRoofPosY,X CODE_03B540: 38 SEC CODE_03B541: E5 1C SBC RAM_ScreenBndryYLo CODE_03B543: 99 01 03 STA.W OAM_DispY,Y CODE_03B546: A9 08 LDA.B #$08 CODE_03B548: E0 06 CPX.B #$06 CODE_03B54A: B0 02 BCS CODE_03B54E CODE_03B54C: A9 03 LDA.B #$03 CODE_03B54E: 99 02 03 STA.W OAM_Tile,Y CODE_03B551: A9 0D LDA.B #$0D CODE_03B553: 05 64 ORA $64 CODE_03B555: 99 03 03 STA.W OAM_Prop,Y CODE_03B558: 5A PHY CODE_03B559: 98 TYA CODE_03B55A: 4A LSR CODE_03B55B: 4A LSR CODE_03B55C: A8 TAY CODE_03B55D: A9 02 LDA.B #$02 CODE_03B55F: 99 60 04 STA.W OAM_TileSize,Y CODE_03B562: 7A PLY CODE_03B563: C8 INY CODE_03B564: C8 INY CODE_03B565: C8 INY CODE_03B566: C8 INY CODE_03B567: CA DEX CODE_03B568: 10 CA BPL CODE_03B534 CODE_03B56A: FA PLX Return03B56B: 60 RTS ; Return SprClippingDispX: .db $02,$02,$10,$14,$00,$00,$01,$08 .db $F8,$FE,$03,$06,$01,$00,$06,$02 .db $00,$E8,$FC,$FC,$04,$00,$FC,$02 .db $02,$02,$02,$02,$00,$02,$E0,$F0 .db $FC,$FC,$00,$F8,$F4,$F2,$00,$FC .db $F2,$F0,$02,$00,$F8,$04,$02,$02 .db $08,$00,$00,$00,$FC,$03,$08,$00 .db $08,$04,$F8,$00 SprClippingWidth: .db $0C,$0C,$10,$08,$30,$50,$0E,$28 .db $20,$14,$01,$03,$0D,$0F,$14,$24 .db $0F,$40,$08,$08,$18,$0F,$18,$0C .db $0C,$0C,$0C,$0C,$0A,$1C,$30,$30 .db $08,$08,$10,$20,$38,$3C,$20,$18 .db $1C,$20,$0C,$10,$10,$08,$1C,$1C .db $10,$30,$30,$40,$08,$12,$34,$0F .db $20,$08,$20,$10 SprClippingDispY: .db $03,$03,$FE,$08,$FE,$FE,$02,$08 .db $FE,$08,$07,$06,$FE,$FC,$06,$FE .db $FE,$E8,$10,$10,$02,$FE,$F4,$08 .db $13,$23,$33,$43,$0A,$FD,$F8,$FC .db $E8,$10,$00,$E8,$20,$04,$58,$FC .db $E8,$FC,$F8,$02,$F8,$04,$FE,$FE .db $F2,$FE,$FE,$FE,$FC,$00,$08,$F8 .db $10,$03,$10,$00 SprClippingHeight: .db $0A,$15,$12,$08,$0E,$0E,$18,$30 .db $10,$1E,$02,$03,$16,$10,$14,$12 .db $20,$40,$34,$74,$0C,$0E,$18,$45 .db $3A,$2A,$1A,$0A,$30,$1B,$20,$12 .db $18,$18,$10,$20,$38,$14,$08,$18 .db $28,$1B,$13,$4C,$10,$04,$22,$20 .db $1C,$12,$12,$12,$08,$20,$2E,$14 .db $28,$0A,$10,$0D MairoClipDispY: .db $06,$14,$10,$18 MarioClippingHeight: .db $1A,$0C,$20,$18 GetMarioClipping: DA PHX CODE_03B665: A5 94 LDA RAM_MarioXPos ; \ CODE_03B667: 18 CLC ; | CODE_03B668: 69 02 ADC.B #$02 ; | CODE_03B66A: 85 00 STA $00 ; | $00 = (Mario X position + #$02) Low byte CODE_03B66C: A5 95 LDA RAM_MarioXPosHi ; | CODE_03B66E: 69 00 ADC.B #$00 ; | CODE_03B670: 85 08 STA $08 ; / $08 = (Mario X position + #$02) High byte CODE_03B672: A9 0C LDA.B #$0C ; \ $06 = Clipping width X (#$0C) CODE_03B674: 85 02 STA $02 ; / CODE_03B676: A2 00 LDX.B #$00 ; \ If mario small or ducking, X = #$01 CODE_03B678: A5 73 LDA RAM_IsDucking ; | else, X = #$00 CODE_03B67A: D0 04 BNE CODE_03B680 ; | CODE_03B67C: A5 19 LDA RAM_MarioPowerUp ; | CODE_03B67E: D0 01 BNE CODE_03B681 ; | CODE_03B680: E8 INX ; / CODE_03B681: AD 7A 18 LDA.W RAM_OnYoshi ; \ If on Yoshi, X += #$02 CODE_03B684: F0 02 BEQ CODE_03B688 ; | CODE_03B686: E8 INX ; | CODE_03B687: E8 INX ; / CODE_03B688: BF 60 B6 03 LDA.L MarioClippingHeight,X ; \ $03 = Clipping height CODE_03B68C: 85 03 STA $03 ; / CODE_03B68E: A5 96 LDA RAM_MarioYPos ; \ CODE_03B690: 18 CLC ; | CODE_03B691: 7F 5C B6 03 ADC.L MairoClipDispY,X ; | CODE_03B695: 85 01 STA $01 ; | $01 = (Mario Y position + displacement) Low byte CODE_03B697: A5 97 LDA RAM_MarioYPosHi ; | CODE_03B699: 69 00 ADC.B #$00 ; | CODE_03B69B: 85 09 STA $09 ; / $09 = (Mario Y position + displacement) High byte CODE_03B69D: FA PLX Return03B69E: 6B RTL ; Return GetSpriteClippingA: 5A PHY CODE_03B6A0: DA PHX CODE_03B6A1: 9B TXY ; Y = Sprite index CODE_03B6A2: BD 62 16 LDA.W RAM_Tweaker1662,X ; \ X = Clipping table index CODE_03B6A5: 29 3F AND.B #$3F ; | CODE_03B6A7: AA TAX ; / CODE_03B6A8: 64 0F STZ $0F ; \ CODE_03B6AA: BF 6C B5 03 LDA.L SprClippingDispX,X ; | Load low byte of X displacement CODE_03B6AE: 10 02 BPL CODE_03B6B2 ; | CODE_03B6B0: C6 0F DEC $0F ; | $0F = High byte of X displacement CODE_03B6B2: 18 CLC ; | CODE_03B6B3: 79 E4 00 ADC.W RAM_SpriteXLo,Y ; | CODE_03B6B6: 85 04 STA $04 ; | $04 = (Sprite X position + displacement) Low byte CODE_03B6B8: B9 E0 14 LDA.W RAM_SpriteXHi,Y ; | CODE_03B6BB: 65 0F ADC $0F ; | CODE_03B6BD: 85 0A STA $0A ; / $0A = (Sprite X position + displacement) High byte CODE_03B6BF: BF A8 B5 03 LDA.L SprClippingWidth,X ; \ $06 = Clipping width CODE_03B6C3: 85 06 STA $06 ; / CODE_03B6C5: 64 0F STZ $0F ; \ CODE_03B6C7: BF E4 B5 03 LDA.L SprClippingDispY,X ; | Load low byte of Y displacement CODE_03B6CB: 10 02 BPL CODE_03B6CF ; | CODE_03B6CD: C6 0F DEC $0F ; | $0F = High byte of Y displacement CODE_03B6CF: 18 CLC ; | CODE_03B6D0: 79 D8 00 ADC.W RAM_SpriteYLo,Y ; | CODE_03B6D3: 85 05 STA $05 ; | $05 = (Sprite Y position + displacement) Low byte CODE_03B6D5: B9 D4 14 LDA.W RAM_SpriteYHi,Y ; | CODE_03B6D8: 65 0F ADC $0F ; | CODE_03B6DA: 85 0B STA $0B ; / $0B = (Sprite Y position + displacement) High byte CODE_03B6DC: BF 20 B6 03 LDA.L SprClippingHeight,X ; \ $07 = Clipping height CODE_03B6E0: 85 07 STA $07 ; / CODE_03B6E2: FA PLX ; X = Sprite index CODE_03B6E3: 7A PLY Return03B6E4: 6B RTL ; Return GetSpriteClippingB: 5A PHY CODE_03B6E6: DA PHX CODE_03B6E7: 9B TXY ; Y = Sprite index CODE_03B6E8: BD 62 16 LDA.W RAM_Tweaker1662,X ; \ X = Clipping table index CODE_03B6EB: 29 3F AND.B #$3F ; | CODE_03B6ED: AA TAX ; / CODE_03B6EE: 64 0F STZ $0F ; \ CODE_03B6F0: BF 6C B5 03 LDA.L SprClippingDispX,X ; | Load low byte of X displacement CODE_03B6F4: 10 02 BPL CODE_03B6F8 ; | CODE_03B6F6: C6 0F DEC $0F ; | $0F = High byte of X displacement CODE_03B6F8: 18 CLC ; | CODE_03B6F9: 79 E4 00 ADC.W RAM_SpriteXLo,Y ; | CODE_03B6FC: 85 00 STA $00 ; | $00 = (Sprite X position + displacement) Low byte CODE_03B6FE: B9 E0 14 LDA.W RAM_SpriteXHi,Y ; | CODE_03B701: 65 0F ADC $0F ; | CODE_03B703: 85 08 STA $08 ; / $08 = (Sprite X position + displacement) High byte CODE_03B705: BF A8 B5 03 LDA.L SprClippingWidth,X ; \ $02 = Clipping width CODE_03B709: 85 02 STA $02 ; / CODE_03B70B: 64 0F STZ $0F ; \ CODE_03B70D: BF E4 B5 03 LDA.L SprClippingDispY,X ; | Load low byte of Y displacement CODE_03B711: 10 02 BPL CODE_03B715 ; | CODE_03B713: C6 0F DEC $0F ; | $0F = High byte of Y displacement CODE_03B715: 18 CLC ; | CODE_03B716: 79 D8 00 ADC.W RAM_SpriteYLo,Y ; | CODE_03B719: 85 01 STA $01 ; | $01 = (Sprite Y position + displacement) Low byte CODE_03B71B: B9 D4 14 LDA.W RAM_SpriteYHi,Y ; | CODE_03B71E: 65 0F ADC $0F ; | CODE_03B720: 85 09 STA $09 ; / $09 = (Sprite Y position + displacement) High byte CODE_03B722: BF 20 B6 03 LDA.L SprClippingHeight,X ; \ $03 = Clipping height CODE_03B726: 85 03 STA $03 ; / CODE_03B728: FA PLX ; X = Sprite index CODE_03B729: 7A PLY Return03B72A: 6B RTL ; Return CheckForContact: DA PHX CODE_03B72C: A2 01 LDX.B #$01 CODE_03B72E: B5 00 LDA $00,X CODE_03B730: 38 SEC CODE_03B731: F5 04 SBC $04,X CODE_03B733: 48 PHA CODE_03B734: B5 08 LDA $08,X CODE_03B736: F5 0A SBC $0A,X CODE_03B738: 85 0C STA $0C CODE_03B73A: 68 PLA CODE_03B73B: 18 CLC CODE_03B73C: 69 80 ADC.B #$80 CODE_03B73E: A5 0C LDA $0C CODE_03B740: 69 00 ADC.B #$00 CODE_03B742: D0 16 BNE CODE_03B75A CODE_03B744: B5 04 LDA $04,X CODE_03B746: 38 SEC CODE_03B747: F5 00 SBC $00,X CODE_03B749: 18 CLC CODE_03B74A: 75 06 ADC $06,X CODE_03B74C: 85 0F STA $0F CODE_03B74E: B5 02 LDA $02,X CODE_03B750: 18 CLC CODE_03B751: 75 06 ADC $06,X CODE_03B753: C5 0F CMP $0F CODE_03B755: 90 03 BCC CODE_03B75A CODE_03B757: CA DEX CODE_03B758: 10 D4 BPL CODE_03B72E CODE_03B75A: FA PLX Return03B75B: 6B RTL ; Return DATA_03B75C: .db $0C,$1C DATA_03B75E: .db $01,$02 GetDrawInfoBnk3: 9E 6C 18 STZ.W RAM_OffscreenVert,X ; Reset sprite offscreen flag, vertical CODE_03B763: 9E A0 15 STZ.W RAM_OffscreenHorz,X ; Reset sprite offscreen flag, horizontal CODE_03B766: B5 E4 LDA RAM_SpriteXLo,X ; \ CODE_03B768: C5 1A CMP RAM_ScreenBndryXLo ; | Set horizontal offscreen if necessary CODE_03B76A: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_03B76D: E5 1B SBC RAM_ScreenBndryXHi ; | CODE_03B76F: F0 03 BEQ CODE_03B774 ; | CODE_03B771: FE A0 15 INC.W RAM_OffscreenHorz,X ; / CODE_03B774: BD E0 14 LDA.W RAM_SpriteXHi,X ; \ CODE_03B777: EB XBA ; | Mark sprite invalid if far enough off screen CODE_03B778: B5 E4 LDA RAM_SpriteXLo,X ; | CODE_03B77A: C2 20 REP #$20 ; Accum (16 bit) CODE_03B77C: 38 SEC ; | CODE_03B77D: E5 1A SBC RAM_ScreenBndryXLo ; | CODE_03B77F: 18 CLC ; | CODE_03B780: 69 40 00 ADC.W #$0040 ; | CODE_03B783: C9 80 01 CMP.W #$0180 ; | CODE_03B786: E2 20 SEP #$20 ; Accum (8 bit) CODE_03B788: 2A ROL ; | CODE_03B789: 29 01 AND.B #$01 ; | CODE_03B78B: 9D C4 15 STA.W $15C4,X ; | CODE_03B78E: D0 3F BNE CODE_03B7CF ; / CODE_03B790: A0 00 LDY.B #$00 ; \ set up loop: CODE_03B792: BD 62 16 LDA.W RAM_Tweaker1662,X ; | CODE_03B795: 29 20 AND.B #$20 ; | if not smushed (1662 & 0x20), go through loop twice CODE_03B797: F0 01 BEQ CODE_03B79A ; | else, go through loop once CODE_03B799: C8 INY ; / CODE_03B79A: B5 D8 LDA RAM_SpriteYLo,X ; \ CODE_03B79C: 18 CLC ; | set vertical offscree CODE_03B79D: 79 5C B7 ADC.W DATA_03B75C,Y ; | CODE_03B7A0: 08 PHP ; | CODE_03B7A1: C5 1C CMP RAM_ScreenBndryYLo ; | (vert screen boundry) CODE_03B7A3: 26 00 ROL $00 ; | CODE_03B7A5: 28 PLP ; | CODE_03B7A6: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_03B7A9: 69 00 ADC.B #$00 ; | CODE_03B7AB: 46 00 LSR $00 ; | CODE_03B7AD: E5 1D SBC RAM_ScreenBndryYHi ; | CODE_03B7AF: F0 09 BEQ CODE_03B7BA ; | CODE_03B7B1: BD 6C 18 LDA.W RAM_OffscreenVert,X ; | (vert offscreen) CODE_03B7B4: 19 5E B7 ORA.W DATA_03B75E,Y ; | CODE_03B7B7: 9D 6C 18 STA.W RAM_OffscreenVert,X ; | CODE_03B7BA: 88 DEY ; | CODE_03B7BB: 10 DD BPL CODE_03B79A ; / CODE_03B7BD: BC EA 15 LDY.W RAM_SprOAMIndex,X ; get offset to sprite OAM CODE_03B7C0: B5 E4 LDA RAM_SpriteXLo,X ; \ CODE_03B7C2: 38 SEC ; | CODE_03B7C3: E5 1A SBC RAM_ScreenBndryXLo ; | CODE_03B7C5: 85 00 STA $00 ; / $00 = sprite x position relative to screen boarder CODE_03B7C7: B5 D8 LDA RAM_SpriteYLo,X ; \ CODE_03B7C9: 38 SEC ; | CODE_03B7CA: E5 1C SBC RAM_ScreenBndryYLo ; | CODE_03B7CC: 85 01 STA $01 ; / $01 = sprite y position relative to screen boarder Return03B7CE: 60 RTS ; Return CODE_03B7CF: 68 PLA ; \ Return from *main gfx routine* subroutine... CODE_03B7D0: 68 PLA ; | ...(not just this subroutine) Return03B7D1: 60 RTS ; / DATA_03B7D2: .db $00,$00,$00,$F8,$F8,$F8,$F8,$F8 .db $F8,$F7,$F6,$F5,$F4,$F3,$F2,$E8 .db $E8,$E8,$E8,$00,$00,$00,$00,$FE .db $FC,$F8,$EC,$EC,$EC,$E8,$E4,$E0 .db $DC,$D8,$D4,$D0,$CC,$C8 CODE_03B7F8: B5 AA LDA RAM_SpriteSpeedY,X CODE_03B7FA: 48 PHA CODE_03B7FB: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03B7FD: 68 PLA CODE_03B7FE: 4A LSR CODE_03B7FF: 4A LSR CODE_03B800: A8 TAY CODE_03B801: B5 9E LDA RAM_SpriteNum,X CODE_03B803: C9 A1 CMP.B #$A1 CODE_03B805: D0 05 BNE CODE_03B80C CODE_03B807: 98 TYA CODE_03B808: 18 CLC CODE_03B809: 69 13 ADC.B #$13 CODE_03B80B: A8 TAY CODE_03B80C: B9 D2 B7 LDA.W DATA_03B7D2,Y CODE_03B80F: BC 88 15 LDY.W RAM_SprObjStatus,X CODE_03B812: 30 02 BMI Return03B816 CODE_03B814: 95 AA STA RAM_SpriteSpeedY,X Return03B816: 60 RTS ; Return SubHorzPosBnk3: A0 00 LDY.B #$00 CODE_03B819: A5 94 LDA RAM_MarioXPos CODE_03B81B: 38 SEC CODE_03B81C: F5 E4 SBC RAM_SpriteXLo,X CODE_03B81E: 85 0F STA $0F CODE_03B820: A5 95 LDA RAM_MarioXPosHi CODE_03B822: FD E0 14 SBC.W RAM_SpriteXHi,X CODE_03B825: 10 01 BPL Return03B828 CODE_03B827: C8 INY Return03B828: 60 RTS ; Return SubVertPosBnk3: A0 00 LDY.B #$00 CODE_03B82B: A5 96 LDA RAM_MarioYPos CODE_03B82D: 38 SEC CODE_03B82E: F5 D8 SBC RAM_SpriteYLo,X CODE_03B830: 85 0F STA $0F CODE_03B832: A5 97 LDA RAM_MarioYPosHi CODE_03B834: FD D4 14 SBC.W RAM_SpriteYHi,X CODE_03B837: 10 01 BPL Return03B83A CODE_03B839: C8 INY Return03B83A: 60 RTS ; Return DATA_03B83B: .db $40,$B0 DATA_03B83D: .db $01,$FF DATA_03B83F: .db $30,$C0,$A0,$80,$A0,$40,$60,$B0 DATA_03B847: .db $01,$FF,$01,$FF,$01,$00,$01,$FF SubOffscreen3Bnk3: A9 06 LDA.B #$06 ; \ Entry point of routine determines value of $03 CODE_03B851: 80 06 BRA CODE_03B859 ; | SubOffscreen2Bnk3: A9 04 LDA.B #$04 ; | ADDR_03B855: 80 02 BRA CODE_03B859 ; | SubOffscreen1Bnk3: A9 02 LDA.B #$02 ; | CODE_03B859: 85 03 STA $03 ; | CODE_03B85B: 80 02 BRA CODE_03B85F ; | SubOffscreen0Bnk3: 64 03 STZ $03 ; / CODE_03B85F: 20 FB B8 JSR.W IsSprOffScreenBnk3 ; \ if sprite is not off screen, return CODE_03B862: F0 5E BEQ Return03B8C2 ; / CODE_03B864: A5 5B LDA RAM_IsVerticalLvl ; \ vertical level CODE_03B866: 29 01 AND.B #$01 ; | CODE_03B868: D0 59 BNE VerticalLevelBnk3 ; / CODE_03B86A: B5 D8 LDA RAM_SpriteYLo,X ; \ CODE_03B86C: 18 CLC ; | CODE_03B86D: 69 50 ADC.B #$50 ; | if the sprite has gone off the bottom of the level... CODE_03B86F: BD D4 14 LDA.W RAM_SpriteYHi,X ; | (if adding 0x50 to the sprite y position would make the high byte >= 2) CODE_03B872: 69 00 ADC.B #$00 ; | CODE_03B874: C9 02 CMP.B #$02 ; | CODE_03B876: 10 34 BPL OffScrEraseSprBnk3 ; / ...erase the sprite CODE_03B878: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ if "process offscreen" flag is set, return CODE_03B87B: 29 04 AND.B #$04 ; | CODE_03B87D: D0 43 BNE Return03B8C2 ; / CODE_03B87F: A5 13 LDA RAM_FrameCounter CODE_03B881: 29 01 AND.B #$01 CODE_03B883: 05 03 ORA $03 CODE_03B885: 85 01 STA $01 CODE_03B887: A8 TAY CODE_03B888: A5 1A LDA RAM_ScreenBndryXLo CODE_03B88A: 18 CLC CODE_03B88B: 79 3F B8 ADC.W DATA_03B83F,Y CODE_03B88E: 26 00 ROL $00 CODE_03B890: D5 E4 CMP RAM_SpriteXLo,X CODE_03B892: 08 PHP CODE_03B893: A5 1B LDA RAM_ScreenBndryXHi CODE_03B895: 46 00 LSR $00 CODE_03B897: 79 47 B8 ADC.W DATA_03B847,Y CODE_03B89A: 28 PLP CODE_03B89B: FD E0 14 SBC.W RAM_SpriteXHi,X CODE_03B89E: 85 00 STA $00 CODE_03B8A0: 46 01 LSR $01 CODE_03B8A2: 90 04 BCC CODE_03B8A8 CODE_03B8A4: 49 80 EOR.B #$80 CODE_03B8A6: 85 00 STA $00 CODE_03B8A8: A5 00 LDA $00 CODE_03B8AA: 10 16 BPL Return03B8C2 OffScrEraseSprBnk3: BD C8 14 LDA.W $14C8,X ; \ If sprite status < 8, permanently erase sprite CODE_03B8AF: C9 08 CMP.B #$08 ; | CODE_03B8B1: 90 0C BCC OffScrKillSprBnk3 ; / CODE_03B8B3: BC 1A 16 LDY.W RAM_SprIndexInLvl,X ; \ Branch if should permanently erase sprite CODE_03B8B6: C0 FF CPY.B #$FF ; | CODE_03B8B8: F0 05 BEQ OffScrKillSprBnk3 ; / CODE_03B8BA: A9 00 LDA.B #$00 ; \ Allow sprite to be reloaded by level loading routine CODE_03B8BC: 99 38 19 STA.W RAM_SprLoadStatus,Y ; / OffScrKillSprBnk3: 9E C8 14 STZ.W $14C8,X Return03B8C2: 60 RTS ; Return VerticalLevelBnk3: BD 7A 16 LDA.W RAM_Tweaker167A,X ; \ If "process offscreen" flag is set, return CODE_03B8C6: 29 04 AND.B #$04 ; | CODE_03B8C8: D0 F8 BNE Return03B8C2 ; / CODE_03B8CA: A5 13 LDA RAM_FrameCounter ; \ Return every other frame CODE_03B8CC: 4A LSR ; | CODE_03B8CD: B0 F3 BCS Return03B8C2 ; / CODE_03B8CF: 29 01 AND.B #$01 CODE_03B8D1: 85 01 STA $01 CODE_03B8D3: A8 TAY CODE_03B8D4: A5 1C LDA RAM_ScreenBndryYLo CODE_03B8D6: 18 CLC CODE_03B8D7: 79 3B B8 ADC.W DATA_03B83B,Y CODE_03B8DA: 26 00 ROL $00 CODE_03B8DC: D5 D8 CMP RAM_SpriteYLo,X CODE_03B8DE: 08 PHP CODE_03B8DF: AD 1D 00 LDA.W RAM_ScreenBndryYHi CODE_03B8E2: 46 00 LSR $00 CODE_03B8E4: 79 3D B8 ADC.W DATA_03B83D,Y CODE_03B8E7: 28 PLP CODE_03B8E8: FD D4 14 SBC.W RAM_SpriteYHi,X CODE_03B8EB: 85 00 STA $00 CODE_03B8ED: A4 01 LDY $01 CODE_03B8EF: F0 04 BEQ CODE_03B8F5 CODE_03B8F1: 49 80 EOR.B #$80 CODE_03B8F3: 85 00 STA $00 CODE_03B8F5: A5 00 LDA $00 CODE_03B8F7: 10 C9 BPL Return03B8C2 CODE_03B8F9: 30 B1 BMI OffScrEraseSprBnk3 IsSprOffScreenBnk3: BD A0 15 LDA.W RAM_OffscreenHorz,X ; \ If sprite is on screen, A = 0 CODE_03B8FE: 1D 6C 18 ORA.W RAM_OffscreenVert,X ; | Return03B901: 60 RTS ; / Return MagiKoopaPals: .db $FF,$7F,$4A,$29,$00,$00,$00,$14 .db $00,$20,$92,$7E,$0A,$00,$2A,$00 .db $FF,$7F,$AD,$35,$00,$00,$00,$24 .db $00,$2C,$2F,$72,$0D,$00,$AD,$00 .db $FF,$7F,$10,$42,$00,$00,$00,$30 .db $00,$38,$CC,$65,$50,$00,$10,$01 .db $FF,$7F,$73,$4E,$00,$00,$00,$3C .db $41,$44,$69,$59,$B3,$00,$73,$01 .db $FF,$7F,$D6,$5A,$00,$00,$00,$48 .db $A4,$50,$06,$4D,$16,$01,$D6,$01 .db $FF,$7F,$39,$67,$00,$00,$42,$54 .db $07,$5D,$A3,$40,$79,$01,$39,$02 .db $FF,$7F,$9C,$73,$00,$00,$A5,$60 .db $6A,$69,$40,$34,$DC,$01,$9C,$02 .db $FF,$7F,$FF,$7F,$00,$00,$08,$6D .db $CD,$75,$00,$28,$3F,$02,$FF,$02 BooBossPals: .db $FF,$7F,$63,$0C,$00,$00,$00,$0C .db $00,$0C,$00,$0C,$00,$0C,$03,$00 .db $FF,$7F,$E7,$1C,$00,$00,$00,$1C .db $00,$1C,$20,$1C,$81,$1C,$07,$00 .db $FF,$7F,$6B,$2D,$00,$00,$00,$2C .db $40,$2C,$A2,$2C,$05,$2D,$0B,$00 .db $FF,$7F,$EF,$3D,$00,$00,$60,$3C .db $C3,$3C,$26,$3D,$89,$3D,$0F,$00 .db $FF,$7F,$73,$4E,$00,$00,$E4,$4C .db $47,$4D,$AA,$4D,$0D,$4E,$13,$10 .db $FF,$7F,$F7,$5E,$00,$00,$68,$5D .db $CB,$5D,$2E,$5E,$91,$5E,$17,$20 .db $FF,$7F,$7B,$6F,$00,$00,$EC,$6D .db $4F,$6E,$B2,$6E,$15,$6F,$1B,$30 .db $FF,$7F,$FF,$7F,$00,$00,$70,$7E .db $D3,$7E,$36,$7F,$99,$7F,$1F,$40 DATA_03BA02: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF GenTileFromSpr2: 85 9C STA RAM_BlockBlock ; $9C = tile to generate CODE_03C002: B5 E4 LDA RAM_SpriteXLo,X ; \ $9A = Sprite X position + #$08 CODE_03C004: 38 SEC ; | for block creation CODE_03C005: E9 08 SBC.B #$08 ; | CODE_03C007: 85 9A STA RAM_BlockYLo ; | CODE_03C009: BD E0 14 LDA.W RAM_SpriteXHi,X ; | CODE_03C00C: E9 00 SBC.B #$00 ; | CODE_03C00E: 85 9B STA RAM_BlockYHi ; / CODE_03C010: B5 D8 LDA RAM_SpriteYLo,X ; \ $98 = Sprite Y position + #$08 CODE_03C012: 18 CLC ; | for block creation CODE_03C013: 69 08 ADC.B #$08 ; | CODE_03C015: 85 98 STA RAM_BlockXLo ; | CODE_03C017: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_03C01A: 69 00 ADC.B #$00 ; | CODE_03C01C: 85 99 STA RAM_BlockXHi ; / CODE_03C01E: 22 B0 BE 00 JSL.L GenerateTile ; Generate the tile Return03C022: 6B RTL ; Return CODE_03C023: 8B PHB ; Wrapper CODE_03C024: 4B PHK CODE_03C025: AB PLB CODE_03C026: 20 2F C0 JSR.W CODE_03C02F CODE_03C029: AB PLB Return03C02A: 6B RTL ; Return DATA_03C02B: .db $74,$75,$77,$76 CODE_03C02F: BC 0E 16 LDY.W $160E,X CODE_03C032: A9 00 LDA.B #$00 CODE_03C034: 99 C8 14 STA.W $14C8,Y CODE_03C037: A9 06 LDA.B #$06 ; \ Play sound effect CODE_03C039: 8D F9 1D STA.W $1DF9 ; / CODE_03C03C: B9 0E 16 LDA.W $160E,Y CODE_03C03F: D0 5A BNE CODE_03C09B CODE_03C041: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_03C044: C9 81 CMP.B #$81 CODE_03C046: D0 0C BNE CODE_03C054 ADDR_03C048: A5 14 LDA RAM_FrameCounterB ADDR_03C04A: 4A LSR ADDR_03C04B: 4A LSR ADDR_03C04C: 4A LSR ADDR_03C04D: 4A LSR ADDR_03C04E: 29 03 AND.B #$03 ADDR_03C050: A8 TAY ADDR_03C051: B9 2B C0 LDA.W DATA_03C02B,Y CODE_03C054: C9 74 CMP.B #$74 CODE_03C056: 90 43 BCC CODE_03C09B ADDR_03C058: C9 78 CMP.B #$78 ADDR_03C05A: B0 3F BCS CODE_03C09B ADDR_03C05C: 9C AC 18 STZ.W $18AC ADDR_03C05F: 9C 1E 14 STZ.W RAM_YoshiHasWings ; No Yoshi wing ability ADDR_03C062: A9 35 LDA.B #$35 ADDR_03C064: 9D 9E 00 STA.W RAM_SpriteNum,X ADDR_03C067: A9 08 LDA.B #$08 ; \ Sprite status = Normal ADDR_03C069: 9D C8 14 STA.W $14C8,X ; / ADDR_03C06C: A9 1F LDA.B #$1F ; \ Play sound effect ADDR_03C06E: 8D FC 1D STA.W $1DFC ; / ADDR_03C071: B5 D8 LDA RAM_SpriteYLo,X ADDR_03C073: E9 10 SBC.B #$10 ADDR_03C075: 95 D8 STA RAM_SpriteYLo,X ADDR_03C077: BD D4 14 LDA.W RAM_SpriteYHi,X ADDR_03C07A: E9 00 SBC.B #$00 ADDR_03C07C: 9D D4 14 STA.W RAM_SpriteYHi,X ADDR_03C07F: BD F6 15 LDA.W RAM_SpritePal,X ADDR_03C082: 48 PHA ADDR_03C083: 22 D2 F7 07 JSL.L InitSpriteTables ADDR_03C087: 68 PLA ADDR_03C088: 29 FE AND.B #$FE ADDR_03C08A: 9D F6 15 STA.W RAM_SpritePal,X ADDR_03C08D: A9 0C LDA.B #$0C ADDR_03C08F: 9D 02 16 STA.W $1602,X ADDR_03C092: DE 0E 16 DEC.W $160E,X ADDR_03C095: A9 40 LDA.B #$40 ADDR_03C097: 8D E8 18 STA.W $18E8 Return03C09A: 60 RTS ; Return CODE_03C09B: FE 70 15 INC.W $1570,X CODE_03C09E: BD 70 15 LDA.W $1570,X CODE_03C0A1: C9 05 CMP.B #$05 CODE_03C0A3: D0 02 BNE CODE_03C0A7 ADDR_03C0A5: 80 B5 BRA ADDR_03C05C CODE_03C0A7: 22 4A B3 05 JSL.L CODE_05B34A CODE_03C0AB: A9 01 LDA.B #$01 CODE_03C0AD: 22 E5 AC 02 JSL.L GivePoints Return03C0B1: 60 RTS ; Return DATA_03C0B2: .db $68,$6A,$6C,$6E DATA_03C0B6: .db $00,$03,$01,$02,$04,$02,$00,$01 .db $00,$04,$00,$02,$00,$03,$04,$01 CODE_03C0C6: A5 9D LDA RAM_SpritesLocked CODE_03C0C8: D0 03 BNE CODE_03C0CD CODE_03C0CA: 20 1E C1 JSR.W CODE_03C11E CODE_03C0CD: 64 00 STZ $00 CODE_03C0CF: A2 13 LDX.B #$13 CODE_03C0D1: A0 B0 LDY.B #$B0 CODE_03C0D3: 86 02 STX $02 CODE_03C0D5: A5 00 LDA $00 CODE_03C0D7: 99 00 03 STA.W OAM_DispX,Y CODE_03C0DA: 18 CLC CODE_03C0DB: 69 10 ADC.B #$10 CODE_03C0DD: 85 00 STA $00 CODE_03C0DF: A9 C4 LDA.B #$C4 CODE_03C0E1: 99 01 03 STA.W OAM_DispY,Y CODE_03C0E4: A5 64 LDA $64 CODE_03C0E6: 09 09 ORA.B #$09 CODE_03C0E8: 99 03 03 STA.W OAM_Prop,Y CODE_03C0EB: DA PHX CODE_03C0EC: A5 14 LDA RAM_FrameCounterB CODE_03C0EE: 4A LSR CODE_03C0EF: 4A LSR CODE_03C0F0: 4A LSR CODE_03C0F1: 18 CLC CODE_03C0F2: 7F B6 C0 03 ADC.L DATA_03C0B6,X CODE_03C0F6: 29 03 AND.B #$03 CODE_03C0F8: AA TAX CODE_03C0F9: BF B2 C0 03 LDA.L DATA_03C0B2,X CODE_03C0FD: 99 02 03 STA.W OAM_Tile,Y CODE_03C100: 98 TYA CODE_03C101: 4A LSR CODE_03C102: 4A LSR CODE_03C103: AA TAX CODE_03C104: A9 02 LDA.B #$02 CODE_03C106: 9D 60 04 STA.W OAM_TileSize,X CODE_03C109: FA PLX CODE_03C10A: C8 INY CODE_03C10B: C8 INY CODE_03C10C: C8 INY CODE_03C10D: C8 INY CODE_03C10E: CA DEX CODE_03C10F: 10 C2 BPL CODE_03C0D3 Return03C111: 6B RTL ; Return IggyPlatSpeed: .db $FF,$01,$FF,$01 DATA_03C116: .db $FF,$00,$FF,$00 IggyPlatBounds: .db $E7,$18,$D7,$28 CODE_03C11E: A5 9D LDA RAM_SpritesLocked ; \ If sprites locked... CODE_03C120: 0D 93 14 ORA.W $1493 ; | ...or battle is over (set to FF when over)... CODE_03C123: D0 50 BNE Return03C175 ; / ...return CODE_03C125: AD 06 19 LDA.W $1906 ; \ If platform at a maximum tilt, (stationary timer > 0) CODE_03C128: F0 03 BEQ CODE_03C12D ; | CODE_03C12A: CE 06 19 DEC.W $1906 ; / decrement stationary timer CODE_03C12D: A5 13 LDA RAM_FrameCounter ; \ Return every other time through... CODE_03C12F: 29 01 AND.B #$01 ; | CODE_03C131: 0D 06 19 ORA.W $1906 ; | ...return if stationary CODE_03C134: D0 3F BNE Return03C175 ; / CODE_03C136: AD 05 19 LDA.W $1905 ; $1907 holds the total number of tilts made CODE_03C139: 29 01 AND.B #$01 ; \ X=1 if platform tilted up to the right (/)... CODE_03C13B: AA TAX ; / ...else X=0 CODE_03C13C: AD 07 19 LDA.W $1907 ; $1907 holds the current phase: 0/ 1\ 2/ 3\ 4// 5\\ CODE_03C13F: C9 04 CMP.B #$04 ; \ If this is phase 4 or 5... CODE_03C141: 90 02 BCC CODE_03C145 ; | ...cause a steep tilt by setting X=X+2 CODE_03C143: E8 INX ; | CODE_03C144: E8 INX ; / CODE_03C145: A5 36 LDA $36 ; $36 is tilt of platform: //D8 /E8 -0- 18\ 28\\ CODE_03C147: 18 CLC ; \ Get new tilt of platform by adding value CODE_03C148: 7F 12 C1 03 ADC.L IggyPlatSpeed,X ; | CODE_03C14C: 85 36 STA $36 ; / CODE_03C14E: 48 PHA CODE_03C14F: A5 37 LDA $37 ; $37 is boolean tilt of platform: 0\ /1 CODE_03C151: 7F 16 C1 03 ADC.L DATA_03C116,X ; \ if tilted up to left, $37=0 CODE_03C155: 29 01 AND.B #$01 ; | if tilted up to right, $37=1 CODE_03C157: 85 37 STA $37 ; / CODE_03C159: 68 PLA CODE_03C15A: DF 1A C1 03 CMP.L IggyPlatBounds,X ; \ Return if platform not at a maximum tilt CODE_03C15E: D0 15 BNE Return03C175 ; / CODE_03C160: EE 05 19 INC.W $1905 ; Increment total number of tilts made CODE_03C163: A9 40 LDA.B #$40 ; \ Set timer to stay stationary CODE_03C165: 8D 06 19 STA.W $1906 ; / CODE_03C168: EE 07 19 INC.W $1907 ; Increment phase CODE_03C16B: AD 07 19 LDA.W $1907 ; \ If phase > 5, phase = 0 CODE_03C16E: C9 06 CMP.B #$06 ; | CODE_03C170: D0 03 BNE Return03C175 ; | CODE_03C172: 9C 07 19 STZ.W $1907 ; / Return03C175: 60 RTS ; Return DATA_03C176: .db $0C,$0C,$0C,$0C,$0C,$0C,$0D,$0D .db $0D,$0D,$FC,$FC,$FC,$FC,$FC,$FC .db $FB,$FB,$FB,$FB,$0C,$0C,$0C,$0C .db $0C,$0C,$0D,$0D,$0D,$0D,$FC,$FC .db $FC,$FC,$FC,$FC,$FB,$FB,$FB,$FB DATA_03C19E: .db $0E,$0E,$0E,$0D,$0D,$0D,$0C,$0C .db $0B,$0B,$0E,$0E,$0E,$0D,$0D,$0D .db $0C,$0C,$0B,$0B,$12,$12,$12,$11 .db $11,$11,$10,$10,$0F,$0F,$12,$12 .db $12,$11,$11,$11,$10,$10,$0F,$0F DATA_03C1C6: .db $02,$FE DATA_03C1C8: .db $00,$FF CODE_03C1CA: 8B PHB CODE_03C1CB: 4B PHK CODE_03C1CC: AB PLB CODE_03C1CD: A0 00 LDY.B #$00 CODE_03C1CF: BD B8 15 LDA.W $15B8,X CODE_03C1D2: 10 01 BPL CODE_03C1D5 CODE_03C1D4: C8 INY CODE_03C1D5: B5 E4 LDA RAM_SpriteXLo,X CODE_03C1D7: 18 CLC CODE_03C1D8: 79 C6 C1 ADC.W DATA_03C1C6,Y CODE_03C1DB: 95 E4 STA RAM_SpriteXLo,X CODE_03C1DD: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03C1E0: 79 C8 C1 ADC.W DATA_03C1C8,Y CODE_03C1E3: 9D E0 14 STA.W RAM_SpriteXHi,X CODE_03C1E6: A9 18 LDA.B #$18 CODE_03C1E8: 95 AA STA RAM_SpriteSpeedY,X CODE_03C1EA: AB PLB Return03C1EB: 6B RTL ; Return DATA_03C1EC: .db $00,$04,$07,$08,$08,$07,$04,$00 .db $00 LightSwitch: A5 9D LDA RAM_SpritesLocked CODE_03C1F7: D0 32 BNE CODE_03C22B CODE_03C1F9: 22 4F B4 01 JSL.L InvisBlkMainRt CODE_03C1FD: 20 5D B8 JSR.W SubOffscreen0Bnk3 CODE_03C200: BD 58 15 LDA.W $1558,X CODE_03C203: C9 05 CMP.B #$05 CODE_03C205: D0 24 BNE CODE_03C22B CODE_03C207: 74 C2 STZ RAM_SpriteState,X CODE_03C209: A0 0B LDY.B #$0B ; \ Play sound effect CODE_03C20B: 8C F9 1D STY.W $1DF9 ; / CODE_03C20E: 48 PHA CODE_03C20F: A0 09 LDY.B #$09 CODE_03C211: B9 C8 14 LDA.W $14C8,Y CODE_03C214: C9 08 CMP.B #$08 CODE_03C216: D0 0F BNE CODE_03C227 CODE_03C218: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_03C21B: C9 C6 CMP.B #$C6 CODE_03C21D: D0 08 BNE CODE_03C227 CODE_03C21F: B9 C2 00 LDA.W RAM_SpriteState,Y CODE_03C222: 49 01 EOR.B #$01 CODE_03C224: 99 C2 00 STA.W RAM_SpriteState,Y CODE_03C227: 88 DEY CODE_03C228: 10 E7 BPL CODE_03C211 CODE_03C22A: 68 PLA CODE_03C22B: BD 58 15 LDA.W $1558,X CODE_03C22E: 4A LSR CODE_03C22F: A8 TAY CODE_03C230: A5 1C LDA RAM_ScreenBndryYLo CODE_03C232: 48 PHA CODE_03C233: 18 CLC CODE_03C234: 79 EC C1 ADC.W DATA_03C1EC,Y CODE_03C237: 85 1C STA RAM_ScreenBndryYLo CODE_03C239: A5 1D LDA RAM_ScreenBndryYHi CODE_03C23B: 48 PHA CODE_03C23C: 69 00 ADC.B #$00 CODE_03C23E: 85 1D STA RAM_ScreenBndryYHi CODE_03C240: 22 B2 90 01 JSL.L GenericSprGfxRt2 CODE_03C244: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_03C247: A9 2A LDA.B #$2A CODE_03C249: 99 02 03 STA.W OAM_Tile,Y CODE_03C24C: B9 03 03 LDA.W OAM_Prop,Y CODE_03C24F: 29 BF AND.B #$BF CODE_03C251: 99 03 03 STA.W OAM_Prop,Y CODE_03C254: 68 PLA CODE_03C255: 85 1D STA RAM_ScreenBndryYHi CODE_03C257: 68 PLA CODE_03C258: 85 1C STA RAM_ScreenBndryYLo Return03C25A: 60 RTS ; Return ChainsawMotorTiles: .db $E0,$C2,$C0,$C2 DATA_03C25F: .db $F2,$0E DATA_03C261: .db $33,$B3 CODE_03C263: 8B PHB ; Wrapper CODE_03C264: 4B PHK CODE_03C265: AB PLB CODE_03C266: 20 6B C2 JSR.W ChainsawGfx CODE_03C269: AB PLB Return03C26A: 6B RTL ; Return ChainsawGfx: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03C26E: DA PHX CODE_03C26F: B5 9E LDA RAM_SpriteNum,X CODE_03C271: 38 SEC CODE_03C272: E9 65 SBC.B #$65 CODE_03C274: AA TAX CODE_03C275: BD 5F C2 LDA.W DATA_03C25F,X CODE_03C278: 85 03 STA $03 CODE_03C27A: BD 61 C2 LDA.W DATA_03C261,X CODE_03C27D: 85 04 STA $04 CODE_03C27F: FA PLX CODE_03C280: A5 14 LDA RAM_FrameCounterB CODE_03C282: 29 02 AND.B #$02 CODE_03C284: 85 02 STA $02 CODE_03C286: A5 00 LDA $00 CODE_03C288: 38 SEC CODE_03C289: E9 08 SBC.B #$08 CODE_03C28B: 99 00 03 STA.W OAM_DispX,Y CODE_03C28E: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_03C291: 99 08 03 STA.W OAM_Tile3DispX,Y CODE_03C294: A5 01 LDA $01 CODE_03C296: 38 SEC CODE_03C297: E9 08 SBC.B #$08 CODE_03C299: 99 01 03 STA.W OAM_DispY,Y CODE_03C29C: 18 CLC CODE_03C29D: 65 03 ADC $03 CODE_03C29F: 18 CLC CODE_03C2A0: 65 02 ADC $02 CODE_03C2A2: 99 05 03 STA.W OAM_Tile2DispY,Y CODE_03C2A5: 18 CLC CODE_03C2A6: 65 03 ADC $03 CODE_03C2A8: 99 09 03 STA.W OAM_Tile3DispY,Y CODE_03C2AB: A5 14 LDA RAM_FrameCounterB CODE_03C2AD: 4A LSR CODE_03C2AE: 4A LSR CODE_03C2AF: 29 03 AND.B #$03 CODE_03C2B1: DA PHX CODE_03C2B2: AA TAX CODE_03C2B3: BD 5B C2 LDA.W ChainsawMotorTiles,X CODE_03C2B6: 99 02 03 STA.W OAM_Tile,Y CODE_03C2B9: FA PLX CODE_03C2BA: A9 AE LDA.B #$AE CODE_03C2BC: 99 06 03 STA.W OAM_Tile2,Y CODE_03C2BF: A9 8E LDA.B #$8E CODE_03C2C1: 99 0A 03 STA.W OAM_Tile3,Y CODE_03C2C4: A9 37 LDA.B #$37 CODE_03C2C6: 99 03 03 STA.W OAM_Prop,Y CODE_03C2C9: A5 04 LDA $04 CODE_03C2CB: 99 07 03 STA.W OAM_Tile2Prop,Y CODE_03C2CE: 99 0B 03 STA.W OAM_Tile3Prop,Y CODE_03C2D1: A0 02 LDY.B #$02 CODE_03C2D3: 98 TYA CODE_03C2D4: 22 B3 B7 01 JSL.L FinishOAMWrite Return03C2D8: 60 RTS ; Return TriggerInivis1Up: DA PHX ; \ Find free sprite slot (#$0B-#$00) CODE_03C2DA: A2 0B LDX.B #$0B ; | CODE_03C2DC: BD C8 14 LDA.W $14C8,X ; | CODE_03C2DF: F0 05 BEQ Generate1Up ; | ADDR_03C2E1: CA DEX ; | ADDR_03C2E2: 10 F8 BPL CODE_03C2DC ; | ADDR_03C2E4: FA PLX ; | Return03C2E5: 6B RTL ; / Generate1Up: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_03C2E8: 9D C8 14 STA.W $14C8,X ; / CODE_03C2EB: A9 78 LDA.B #$78 ; \ Sprite = 1Up CODE_03C2ED: 95 9E STA RAM_SpriteNum,X ; / CODE_03C2EF: A5 94 LDA RAM_MarioXPos ; \ Sprite X position = Mario X position CODE_03C2F1: 95 E4 STA RAM_SpriteXLo,X ; | CODE_03C2F3: A5 95 LDA RAM_MarioXPosHi ; | CODE_03C2F5: 9D E0 14 STA.W RAM_SpriteXHi,X ; / CODE_03C2F8: A5 96 LDA RAM_MarioYPos ; \ Sprite Y position = Matio Y position CODE_03C2FA: 95 D8 STA RAM_SpriteYLo,X ; | CODE_03C2FC: A5 97 LDA RAM_MarioYPosHi ; | CODE_03C2FE: 9D D4 14 STA.W RAM_SpriteYHi,X ; / CODE_03C301: 22 D2 F7 07 JSL.L InitSpriteTables ; Load sprite tables CODE_03C305: A9 10 LDA.B #$10 ; \ Disable interaction timer = #$10 CODE_03C307: 9D 4C 15 STA.W RAM_DisableInter,X ; / CODE_03C30A: 20 34 C3 JSR.W PopupMushroom CODE_03C30D: FA PLX Return03C30E: 6B RTL ; Return InvisMushroom: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03C312: 22 DC A7 01 JSL.L MarioSprInteract ; \ Return if no interaction CODE_03C316: 90 2F BCC Return03C347 ; / CODE_03C318: A9 74 LDA.B #$74 ; \ Replace, Sprite = Mushroom CODE_03C31A: 95 9E STA RAM_SpriteNum,X ; / CODE_03C31C: 22 D2 F7 07 JSL.L InitSpriteTables ; Reset sprite tables CODE_03C320: A9 20 LDA.B #$20 ; \ Disable interaction timer = #$20 CODE_03C322: 9D 4C 15 STA.W RAM_DisableInter,X ; / CODE_03C325: B5 D8 LDA RAM_SpriteYLo,X ; \ Sprite Y position = Mario Y position - $000F CODE_03C327: 38 SEC ; | CODE_03C328: E9 0F SBC.B #$0F ; | CODE_03C32A: 95 D8 STA RAM_SpriteYLo,X ; | CODE_03C32C: BD D4 14 LDA.W RAM_SpriteYHi,X ; | CODE_03C32F: E9 00 SBC.B #$00 ; | CODE_03C331: 9D D4 14 STA.W RAM_SpriteYHi,X ; / PopupMushroom: A9 00 LDA.B #$00 ; \ Sprite direction = dirction of Mario's X speed CODE_03C336: A4 7B LDY RAM_MarioSpeedX ; | CODE_03C338: 10 01 BPL CODE_03C33B ; | CODE_03C33A: 1A INC A ; | CODE_03C33B: 9D 7C 15 STA.W RAM_SpriteDir,X ; / CODE_03C33E: A9 C0 LDA.B #$C0 ; \ Set upward speed CODE_03C340: 95 AA STA RAM_SpriteSpeedY,X ; / CODE_03C342: A9 02 LDA.B #$02 ; \ Play sound effect CODE_03C344: 8D FC 1D STA.W $1DFC ; / Return03C347: 60 RTS ; Return NinjiSpeedY: .db $D0,$C0,$B0,$D0 Ninji: 22 B2 90 01 JSL.L GenericSprGfxRt2 ; Draw sprite uing the routine for sprites <= 53 CODE_03C350: A5 9D LDA RAM_SpritesLocked ; \ Return if sprites locked CODE_03C352: D0 3B BNE Return03C38F ; / CODE_03C354: 20 17 B8 JSR.W SubHorzPosBnk3 ; \ Always face mario CODE_03C357: 98 TYA ; | CODE_03C358: 9D 7C 15 STA.W RAM_SpriteDir,X ; / CODE_03C35B: 20 5D B8 JSR.W SubOffscreen0Bnk3 ; Only process while onscreen CODE_03C35E: 22 3A 80 01 JSL.L SprSpr+MarioSprRts ; Interact with mario CODE_03C362: 22 2A 80 01 JSL.L UpdateSpritePos ; Update position based on speed values CODE_03C366: BD 88 15 LDA.W RAM_SprObjStatus,X ; \ Branch if not on ground CODE_03C369: 29 04 AND.B #$04 ; | CODE_03C36B: F0 18 BEQ CODE_03C385 ; / CODE_03C36D: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03C36F: BD 40 15 LDA.W $1540,X CODE_03C372: D0 11 BNE CODE_03C385 CODE_03C374: A9 60 LDA.B #$60 CODE_03C376: 9D 40 15 STA.W $1540,X CODE_03C379: F6 C2 INC RAM_SpriteState,X CODE_03C37B: B5 C2 LDA RAM_SpriteState,X CODE_03C37D: 29 03 AND.B #$03 CODE_03C37F: A8 TAY CODE_03C380: B9 48 C3 LDA.W NinjiSpeedY,Y CODE_03C383: 95 AA STA RAM_SpriteSpeedY,X CODE_03C385: A9 00 LDA.B #$00 CODE_03C387: B4 AA LDY RAM_SpriteSpeedY,X CODE_03C389: 30 01 BMI CODE_03C38C CODE_03C38B: 1A INC A CODE_03C38C: 9D 02 16 STA.W $1602,X Return03C38F: 60 RTS ; Return CODE_03C390: 8B PHB CODE_03C391: 4B PHK CODE_03C392: AB PLB CODE_03C393: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_03C396: 48 PHA CODE_03C397: BC AC 15 LDY.W $15AC,X CODE_03C39A: F0 09 BEQ CODE_03C3A5 CODE_03C39C: C0 05 CPY.B #$05 CODE_03C39E: 90 05 BCC CODE_03C3A5 CODE_03C3A0: 49 01 EOR.B #$01 CODE_03C3A2: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_03C3A5: 20 DA C3 JSR.W CODE_03C3DA CODE_03C3A8: 68 PLA CODE_03C3A9: 9D 7C 15 STA.W RAM_SpriteDir,X CODE_03C3AC: AB PLB Return03C3AD: 6B RTL ; Return CODE_03C3AE: 22 B2 90 01 JSL.L GenericSprGfxRt2 Return03C3B2: 60 RTS ; Return DryBonesTileDispX: .db $00,$08,$00,$00,$F8,$00,$00,$04 .db $00,$00,$FC,$00 DryBonesGfxProp: .db $43,$43,$43,$03,$03,$03 DryBonesTileDispY: .db $F4,$F0,$00,$F4,$F1,$00,$F4,$F0 .db $00 DryBonesTiles: .db $00,$64,$66,$00,$64,$68,$82,$64 .db $E6 DATA_03C3D7: .db $00,$00,$FF CODE_03C3DA: B5 9E LDA RAM_SpriteNum,X CODE_03C3DC: C9 31 CMP.B #$31 CODE_03C3DE: F0 CE BEQ CODE_03C3AE CODE_03C3E0: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03C3E3: BD AC 15 LDA.W $15AC,X CODE_03C3E6: 85 05 STA $05 CODE_03C3E8: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_03C3EB: 0A ASL CODE_03C3EC: 7D 7C 15 ADC.W RAM_SpriteDir,X CODE_03C3EF: 85 02 STA $02 CODE_03C3F1: DA PHX CODE_03C3F2: BD 02 16 LDA.W $1602,X CODE_03C3F5: 48 PHA CODE_03C3F6: 0A ASL CODE_03C3F7: 7D 02 16 ADC.W $1602,X CODE_03C3FA: 85 03 STA $03 CODE_03C3FC: FA PLX CODE_03C3FD: BD D7 C3 LDA.W DATA_03C3D7,X CODE_03C400: 85 04 STA $04 CODE_03C402: A2 02 LDX.B #$02 CODE_03C404: DA PHX CODE_03C405: 8A TXA CODE_03C406: 18 CLC CODE_03C407: 65 02 ADC $02 CODE_03C409: AA TAX CODE_03C40A: DA PHX CODE_03C40B: A5 05 LDA $05 CODE_03C40D: F0 05 BEQ CODE_03C414 CODE_03C40F: 8A TXA CODE_03C410: 18 CLC CODE_03C411: 69 06 ADC.B #$06 CODE_03C413: AA TAX CODE_03C414: A5 00 LDA $00 CODE_03C416: 18 CLC CODE_03C417: 7D B3 C3 ADC.W DryBonesTileDispX,X CODE_03C41A: 99 00 03 STA.W OAM_DispX,Y CODE_03C41D: FA PLX CODE_03C41E: BD BF C3 LDA.W DryBonesGfxProp,X CODE_03C421: 05 64 ORA $64 CODE_03C423: 99 03 03 STA.W OAM_Prop,Y CODE_03C426: 68 PLA CODE_03C427: 48 PHA CODE_03C428: 18 CLC CODE_03C429: 65 03 ADC $03 CODE_03C42B: AA TAX CODE_03C42C: A5 01 LDA $01 CODE_03C42E: 18 CLC CODE_03C42F: 7D C5 C3 ADC.W DryBonesTileDispY,X CODE_03C432: 99 01 03 STA.W OAM_DispY,Y CODE_03C435: BD CE C3 LDA.W DryBonesTiles,X CODE_03C438: 99 02 03 STA.W OAM_Tile,Y CODE_03C43B: FA PLX CODE_03C43C: C8 INY CODE_03C43D: C8 INY CODE_03C43E: C8 INY CODE_03C43F: C8 INY CODE_03C440: CA DEX CODE_03C441: E4 04 CPX $04 CODE_03C443: D0 BF BNE CODE_03C404 CODE_03C445: FA PLX CODE_03C446: A0 02 LDY.B #$02 CODE_03C448: 98 TYA CODE_03C449: 22 B3 B7 01 JSL.L FinishOAMWrite Return03C44D: 60 RTS ; Return CODE_03C44E: BD A0 15 LDA.W RAM_OffscreenHorz,X CODE_03C451: 1D 6C 18 ORA.W RAM_OffscreenVert,X CODE_03C454: D0 0A BNE Return03C460 CODE_03C456: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot CODE_03C458: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_03C45B: F0 04 BEQ CODE_03C461 ; | CODE_03C45D: 88 DEY ; | CODE_03C45E: 10 F8 BPL CODE_03C458 ; | Return03C460: 6B RTL ; / Return if no free slots CODE_03C461: A9 06 LDA.B #$06 ; \ Extended sprite = Bone CODE_03C463: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_03C466: B5 D8 LDA RAM_SpriteYLo,X CODE_03C468: 38 SEC CODE_03C469: E9 10 SBC.B #$10 CODE_03C46B: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_03C46E: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03C471: E9 00 SBC.B #$00 CODE_03C473: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_03C476: B5 E4 LDA RAM_SpriteXLo,X CODE_03C478: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_03C47B: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03C47E: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_03C481: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_03C484: 4A LSR CODE_03C485: A9 18 LDA.B #$18 CODE_03C487: 90 02 BCC CODE_03C48B CODE_03C489: A9 E8 LDA.B #$E8 CODE_03C48B: 99 47 17 STA.W RAM_ExSprSpeedX,Y Return03C48E: 6B RTL ; Return DATA_03C48F: .db $01,$FF DATA_03C491: .db $FF,$90 DiscoBallTiles: .db $80,$82,$84,$86,$88,$8C,$C0,$C2 .db $C2 DATA_03C49C: .db $31,$33,$35,$37,$31,$33,$35,$37 .db $39 CODE_03C4A5: BC EA 15 LDY.W RAM_SprOAMIndex,X ; Y = Index into sprite OAM CODE_03C4A8: A9 78 LDA.B #$78 CODE_03C4AA: 99 00 03 STA.W OAM_DispX,Y CODE_03C4AD: A9 28 LDA.B #$28 CODE_03C4AF: 99 01 03 STA.W OAM_DispY,Y CODE_03C4B2: DA PHX CODE_03C4B3: B5 C2 LDA RAM_SpriteState,X CODE_03C4B5: A2 08 LDX.B #$08 CODE_03C4B7: 29 01 AND.B #$01 CODE_03C4B9: F0 06 BEQ CODE_03C4C1 CODE_03C4BB: A5 13 LDA RAM_FrameCounter CODE_03C4BD: 4A LSR CODE_03C4BE: 29 07 AND.B #$07 CODE_03C4C0: AA TAX CODE_03C4C1: BD 93 C4 LDA.W DiscoBallTiles,X CODE_03C4C4: 99 02 03 STA.W OAM_Tile,Y CODE_03C4C7: BD 9C C4 LDA.W DATA_03C49C,X CODE_03C4CA: 99 03 03 STA.W OAM_Prop,Y CODE_03C4CD: 98 TYA CODE_03C4CE: 4A LSR CODE_03C4CF: 4A LSR CODE_03C4D0: A8 TAY CODE_03C4D1: A9 02 LDA.B #$02 CODE_03C4D3: 99 60 04 STA.W OAM_TileSize,Y CODE_03C4D6: FA PLX Return03C4D7: 60 RTS ; Return DATA_03C4D8: .db $10,$8C DATA_03C4DA: .db $42,$31 DarkRoomWithLight: BD 34 15 LDA.W $1534,X CODE_03C4DF: D0 1F BNE CODE_03C500 CODE_03C4E1: A0 09 LDY.B #$09 CODE_03C4E3: CC E9 15 CPY.W $15E9 CODE_03C4E6: F0 12 BEQ CODE_03C4FA CODE_03C4E8: B9 C8 14 LDA.W $14C8,Y CODE_03C4EB: C9 08 CMP.B #$08 CODE_03C4ED: D0 0B BNE CODE_03C4FA CODE_03C4EF: B9 9E 00 LDA.W RAM_SpriteNum,Y CODE_03C4F2: C9 C6 CMP.B #$C6 CODE_03C4F4: D0 04 BNE CODE_03C4FA CODE_03C4F6: 9E C8 14 STZ.W $14C8,X Return03C4F9: 60 RTS ; Return CODE_03C4FA: 88 DEY CODE_03C4FB: 10 E6 BPL CODE_03C4E3 CODE_03C4FD: FE 34 15 INC.W $1534,X CODE_03C500: 20 A5 C4 JSR.W CODE_03C4A5 CODE_03C503: A9 FF LDA.B #$FF CODE_03C505: 85 40 STA $40 CODE_03C507: A9 20 LDA.B #$20 CODE_03C509: 85 44 STA $44 CODE_03C50B: A9 20 LDA.B #$20 CODE_03C50D: 85 43 STA $43 CODE_03C50F: A9 80 LDA.B #$80 CODE_03C511: 8D 9F 0D STA.W $0D9F CODE_03C514: B5 C2 LDA RAM_SpriteState,X CODE_03C516: 29 01 AND.B #$01 CODE_03C518: A8 TAY CODE_03C519: B9 D8 C4 LDA.W DATA_03C4D8,Y CODE_03C51C: 8D 01 07 STA.W $0701 CODE_03C51F: B9 DA C4 LDA.W DATA_03C4DA,Y CODE_03C522: 8D 02 07 STA.W $0702 CODE_03C525: A5 9D LDA RAM_SpritesLocked CODE_03C527: D0 D0 BNE Return03C4F9 CODE_03C529: AD 82 14 LDA.W $1482 CODE_03C52C: D0 1F BNE CODE_03C54D CODE_03C52E: A9 00 LDA.B #$00 CODE_03C530: 8D 76 14 STA.W $1476 CODE_03C533: A9 90 LDA.B #$90 CODE_03C535: 8D 78 14 STA.W $1478 CODE_03C538: A9 78 LDA.B #$78 CODE_03C53A: 8D 72 14 STA.W $1472 CODE_03C53D: A9 87 LDA.B #$87 CODE_03C53F: 8D 74 14 STA.W $1474 CODE_03C542: A9 01 LDA.B #$01 CODE_03C544: 8D 86 14 STA.W $1486 CODE_03C547: 9C 83 14 STZ.W $1483 CODE_03C54A: EE 82 14 INC.W $1482 CODE_03C54D: AC 83 14 LDY.W $1483 CODE_03C550: AD 76 14 LDA.W $1476 CODE_03C553: 18 CLC CODE_03C554: 79 8F C4 ADC.W DATA_03C48F,Y CODE_03C557: 8D 76 14 STA.W $1476 CODE_03C55A: AD 78 14 LDA.W $1478 CODE_03C55D: 18 CLC CODE_03C55E: 79 8F C4 ADC.W DATA_03C48F,Y CODE_03C561: 8D 78 14 STA.W $1478 CODE_03C564: D9 91 C4 CMP.W DATA_03C491,Y CODE_03C567: D0 09 BNE CODE_03C572 CODE_03C569: AD 83 14 LDA.W $1483 CODE_03C56C: 1A INC A CODE_03C56D: 29 01 AND.B #$01 CODE_03C56F: 8D 83 14 STA.W $1483 CODE_03C572: A5 13 LDA RAM_FrameCounter CODE_03C574: 29 03 AND.B #$03 CODE_03C576: D0 81 BNE Return03C4F9 CODE_03C578: A0 00 LDY.B #$00 CODE_03C57A: AD 72 14 LDA.W $1472 CODE_03C57D: 8D 7A 14 STA.W $147A CODE_03C580: 38 SEC CODE_03C581: ED 76 14 SBC.W $1476 CODE_03C584: B0 04 BCS CODE_03C58A ADDR_03C586: C8 INY ADDR_03C587: 49 FF EOR.B #$FF ADDR_03C589: 1A INC A CODE_03C58A: 8D 80 14 STA.W $1480 CODE_03C58D: 8C 84 14 STY.W $1484 CODE_03C590: 9C 7E 14 STZ.W $147E CODE_03C593: A0 00 LDY.B #$00 CODE_03C595: AD 74 14 LDA.W $1474 CODE_03C598: 8D 7C 14 STA.W $147C CODE_03C59B: 38 SEC CODE_03C59C: ED 78 14 SBC.W $1478 CODE_03C59F: B0 04 BCS CODE_03C5A5 CODE_03C5A1: C8 INY CODE_03C5A2: 49 FF EOR.B #$FF CODE_03C5A4: 1A INC A CODE_03C5A5: 8D 81 14 STA.W $1481 CODE_03C5A8: 8C 85 14 STY.W $1485 CODE_03C5AB: 9C 7F 14 STZ.W $147F CODE_03C5AE: B5 C2 LDA RAM_SpriteState,X CODE_03C5B0: 85 0F STA $0F CODE_03C5B2: DA PHX CODE_03C5B3: C2 10 REP #$10 ; Index (16 bit) CODE_03C5B5: A2 00 00 LDX.W #$0000 CODE_03C5B8: E0 5F 00 CPX.W #$005F CODE_03C5BB: 90 4A BCC CODE_03C607 CODE_03C5BD: AD 7E 14 LDA.W $147E CODE_03C5C0: 18 CLC CODE_03C5C1: 6D 80 14 ADC.W $1480 CODE_03C5C4: 8D 7E 14 STA.W $147E CODE_03C5C7: B0 04 BCS CODE_03C5CD CODE_03C5C9: C9 CF CMP.B #$CF CODE_03C5CB: 90 13 BCC CODE_03C5E0 CODE_03C5CD: E9 CF SBC.B #$CF CODE_03C5CF: 8D 7E 14 STA.W $147E CODE_03C5D2: EE 7A 14 INC.W $147A CODE_03C5D5: AD 84 14 LDA.W $1484 CODE_03C5D8: D0 06 BNE CODE_03C5E0 CODE_03C5DA: CE 7A 14 DEC.W $147A CODE_03C5DD: CE 7A 14 DEC.W $147A CODE_03C5E0: AD 7F 14 LDA.W $147F CODE_03C5E3: 18 CLC CODE_03C5E4: 6D 81 14 ADC.W $1481 CODE_03C5E7: 8D 7F 14 STA.W $147F CODE_03C5EA: B0 04 BCS CODE_03C5F0 CODE_03C5EC: C9 CF CMP.B #$CF CODE_03C5EE: 90 13 BCC CODE_03C603 CODE_03C5F0: E9 CF SBC.B #$CF CODE_03C5F2: 8D 7F 14 STA.W $147F CODE_03C5F5: EE 7C 14 INC.W $147C CODE_03C5F8: AD 85 14 LDA.W $1485 CODE_03C5FB: D0 06 BNE CODE_03C603 ADDR_03C5FD: CE 7C 14 DEC.W $147C ADDR_03C600: CE 7C 14 DEC.W $147C CODE_03C603: A5 0F LDA $0F CODE_03C605: D0 08 BNE CODE_03C60F CODE_03C607: A9 01 LDA.B #$01 CODE_03C609: 9D A0 04 STA.W $04A0,X CODE_03C60C: 3A DEC A CODE_03C60D: 80 09 BRA CODE_03C618 CODE_03C60F: AD 7A 14 LDA.W $147A CODE_03C612: 9D A0 04 STA.W $04A0,X CODE_03C615: AD 7C 14 LDA.W $147C CODE_03C618: 9D A1 04 STA.W $04A1,X CODE_03C61B: E8 INX CODE_03C61C: E8 INX CODE_03C61D: E0 C0 01 CPX.W #$01C0 CODE_03C620: D0 96 BNE CODE_03C5B8 CODE_03C622: E2 10 SEP #$10 ; Index (8 bit) CODE_03C624: FA PLX Return03C625: 60 RTS ; Return DATA_03C626: .db $14,$28,$38,$20,$30,$4C,$40,$34 .db $2C,$1C,$08,$0C,$04,$0C,$1C,$24 .db $2C,$38,$40,$48,$50,$5C,$5C,$6C .db $4C,$58,$24,$78,$64,$70,$78,$7C .db $70,$68,$58,$4C,$40,$34,$24,$04 .db $18,$2C,$0C,$0C,$14,$18,$1C,$24 .db $2C,$28,$24,$30,$30,$34,$38,$3C .db $44,$54,$48,$5C,$68,$40,$4C,$40 .db $3C,$40,$50,$54,$60,$54,$4C,$5C .db $5C,$68,$74,$6C,$7C,$78,$68,$80 .db $18,$48,$2C,$1C DATA_03C67A: .db $1C,$0C,$08,$1C,$14,$08,$14,$24 .db $28,$2C,$30,$3C,$44,$4C,$44,$34 .db $40,$34,$24,$1C,$10,$0C,$18,$18 .db $2C,$28,$68,$28,$34,$34,$38,$40 .db $44,$44,$38,$3C,$44,$48,$4C,$5C .db $5C,$54,$64,$74,$74,$88,$80,$94 .db $8C,$78,$6C,$64,$70,$7C,$8C,$98 .db $90,$98,$84,$84,$88,$78,$78,$6C .db $5C,$50,$50,$48,$50,$5C,$64,$64 .db $74,$78,$74,$64,$60,$58,$54,$50 .db $50,$58,$30,$34 DATA_03C6CE: .db $20,$30,$39,$47,$50,$60,$70,$7C .db $7B,$80,$7D,$78,$6E,$60,$4F,$47 .db $41,$38,$30,$2A,$20,$10,$04,$00 .db $00,$08,$10,$20,$1A,$10,$0A,$06 .db $0F,$17,$16,$1C,$1F,$21,$10,$18 .db $20,$2C,$2E,$3B,$30,$30,$2D,$2A .db $34,$36,$3A,$3F,$45,$4D,$5F,$54 .db $4E,$67,$70,$67,$70,$5C,$4E,$40 .db $48,$56,$57,$5F,$68,$72,$77,$6F .db $66,$60,$67,$5C,$57,$4B,$4D,$54 .db $48,$43,$3D,$3C DATA_03C722: .db $18,$1E,$25,$22,$1A,$17,$20,$30 .db $41,$4F,$61,$70,$7F,$8C,$94,$92 .db $A0,$86,$93,$88,$88,$78,$66,$50 .db $40,$30,$22,$20,$2C,$30,$40,$4F .db $59,$51,$3F,$39,$4C,$5F,$6A,$6F .db $77,$7E,$6C,$60,$58,$48,$3D,$2F .db $28,$38,$44,$30,$36,$27,$21,$2F .db $39,$2A,$2F,$39,$40,$3F,$49,$50 .db $60,$59,$4C,$51,$48,$4F,$56,$67 .db $5B,$68,$75,$7D,$87,$8A,$7A,$6B .db $70,$82,$73,$92 DATA_03C776: .db $60,$B0,$40,$80 FireworkSfx1: .db $26,$00,$26,$28 FireworkSfx2: .db $00,$2B,$00,$00 FireworkSfx3: .db $27,$00,$27,$29 FireworkSfx4: .db $00,$2C,$00,$00 DATA_03C78A: .db $00,$AA,$FF,$AA DATA_03C78E: .db $00,$7E,$27,$7E DATA_03C792: .db $C0,$C0,$FF,$C0 CODE_03C796: BD 64 15 LDA.W $1564,X CODE_03C799: F0 0C BEQ CODE_03C7A7 CODE_03C79B: 3A DEC A CODE_03C79C: D0 08 BNE Return03C7A6 CODE_03C79E: EE C6 13 INC.W $13C6 CODE_03C7A1: A9 FF LDA.B #$FF CODE_03C7A3: 8D 93 14 STA.W $1493 Return03C7A6: 60 RTS ; Return CODE_03C7A7: AD 6D 15 LDA.W $156D CODE_03C7AA: 29 03 AND.B #$03 CODE_03C7AC: A8 TAY CODE_03C7AD: B9 8A C7 LDA.W DATA_03C78A,Y CODE_03C7B0: 8D 01 07 STA.W $0701 CODE_03C7B3: B9 8E C7 LDA.W DATA_03C78E,Y CODE_03C7B6: 8D 02 07 STA.W $0702 CODE_03C7B9: AD EB 1F LDA.W $1FEB CODE_03C7BC: D0 51 BNE Return03C80F CODE_03C7BE: BD 34 15 LDA.W $1534,X CODE_03C7C1: C9 04 CMP.B #$04 CODE_03C7C3: F0 4B BEQ CODE_03C810 CODE_03C7C5: A0 01 LDY.B #$01 CODE_03C7C7: B9 C8 14 LDA.W $14C8,Y CODE_03C7CA: F0 04 BEQ CODE_03C7D0 ADDR_03C7CC: 88 DEY ADDR_03C7CD: 10 F8 BPL CODE_03C7C7 Return03C7CF: 60 RTS ; Return CODE_03C7D0: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_03C7D2: 99 C8 14 STA.W $14C8,Y ; / CODE_03C7D5: A9 7A LDA.B #$7A CODE_03C7D7: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_03C7DA: A9 00 LDA.B #$00 CODE_03C7DC: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_03C7DF: A9 A8 LDA.B #$A8 CODE_03C7E1: 18 CLC CODE_03C7E2: 65 1C ADC RAM_ScreenBndryYLo CODE_03C7E4: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_03C7E7: A5 1D LDA RAM_ScreenBndryYHi CODE_03C7E9: 69 00 ADC.B #$00 CODE_03C7EB: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_03C7EE: DA PHX CODE_03C7EF: BB TYX CODE_03C7F0: 22 D2 F7 07 JSL.L InitSpriteTables CODE_03C7F4: FA PLX CODE_03C7F5: DA PHX CODE_03C7F6: BD 34 15 LDA.W $1534,X CODE_03C7F9: 29 03 AND.B #$03 CODE_03C7FB: 99 34 15 STA.W $1534,Y CODE_03C7FE: AA TAX CODE_03C7FF: BD 92 C7 LDA.W DATA_03C792,X CODE_03C802: 8D EB 1F STA.W $1FEB CODE_03C805: BD 76 C7 LDA.W DATA_03C776,X CODE_03C808: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_03C80B: FA PLX CODE_03C80C: FE 34 15 INC.W $1534,X Return03C80F: 60 RTS ; Return CODE_03C810: A9 70 LDA.B #$70 CODE_03C812: 9D 64 15 STA.W $1564,X Return03C815: 60 RTS ; Return Firework: B5 C2 LDA RAM_SpriteState,X CODE_03C818: 22 DF 86 00 JSL.L ExecutePtr FireworkPtrs: 28 C8 .dw CODE_03C828 45 C8 .dw CODE_03C845 8D C8 .dw CODE_03C88D 41 C9 .dw CODE_03C941 FireworkSpeedY: .db $E4,$E6,$E4,$E2 CODE_03C828: BC 34 15 LDY.W $1534,X CODE_03C82B: B9 24 C8 LDA.W FireworkSpeedY,Y CODE_03C82E: 95 AA STA RAM_SpriteSpeedY,X CODE_03C830: A9 25 LDA.B #$25 ; \ Play sound effect CODE_03C832: 8D FC 1D STA.W $1DFC ; / CODE_03C835: A9 10 LDA.B #$10 CODE_03C837: 9D 64 15 STA.W $1564,X CODE_03C83A: F6 C2 INC RAM_SpriteState,X Return03C83C: 60 RTS ; Return DATA_03C83D: .db $14,$0C,$10,$15 DATA_03C841: .db $08,$10,$0C,$05 CODE_03C845: BD 64 15 LDA.W $1564,X CODE_03C848: C9 01 CMP.B #$01 CODE_03C84A: D0 0F BNE CODE_03C85B CODE_03C84C: BC 34 15 LDY.W $1534,X CODE_03C84F: B9 7A C7 LDA.W FireworkSfx1,Y ; \ Play sound effect CODE_03C852: 8D F9 1D STA.W $1DF9 ; / CODE_03C855: B9 7E C7 LDA.W FireworkSfx2,Y ; \ Play sound effect CODE_03C858: 8D FC 1D STA.W $1DFC ; / CODE_03C85B: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_03C85F: F6 B6 INC RAM_SpriteSpeedX,X CODE_03C861: B5 B6 LDA RAM_SpriteSpeedX,X CODE_03C863: 29 03 AND.B #$03 CODE_03C865: D0 02 BNE CODE_03C869 CODE_03C867: F6 AA INC RAM_SpriteSpeedY,X CODE_03C869: B5 AA LDA RAM_SpriteSpeedY,X CODE_03C86B: C9 FC CMP.B #$FC CODE_03C86D: D0 16 BNE CODE_03C885 CODE_03C86F: F6 C2 INC RAM_SpriteState,X CODE_03C871: BC 34 15 LDY.W $1534,X CODE_03C874: B9 3D C8 LDA.W DATA_03C83D,Y CODE_03C877: 9D 1C 15 STA.W $151C,X CODE_03C87A: B9 41 C8 LDA.W DATA_03C841,Y CODE_03C87D: 9D AC 15 STA.W $15AC,X CODE_03C880: A9 08 LDA.B #$08 CODE_03C882: 8D 6D 15 STA.W $156D CODE_03C885: 20 6D C9 JSR.W CODE_03C96D Return03C888: 60 RTS ; Return DATA_03C889: .db $FF,$80,$C0,$FF CODE_03C88D: BD AC 15 LDA.W $15AC,X CODE_03C890: 3A DEC A CODE_03C891: D0 0F BNE CODE_03C8A2 CODE_03C893: BC 34 15 LDY.W $1534,X CODE_03C896: B9 82 C7 LDA.W FireworkSfx3,Y ; \ Play sound effect CODE_03C899: 8D F9 1D STA.W $1DF9 ; / CODE_03C89C: B9 86 C7 LDA.W FireworkSfx4,Y ; \ Play sound effect CODE_03C89F: 8D FC 1D STA.W $1DFC ; / CODE_03C8A2: 20 B1 C8 JSR.W CODE_03C8B1 CODE_03C8A5: B5 C2 LDA RAM_SpriteState,X CODE_03C8A7: C9 02 CMP.B #$02 CODE_03C8A9: D0 03 BNE CODE_03C8AE CODE_03C8AB: 20 B1 C8 JSR.W CODE_03C8B1 CODE_03C8AE: 4C E9 C9 JMP.W CODE_03C9E9 CODE_03C8B1: BC 34 15 LDY.W $1534,X CODE_03C8B4: BD 70 15 LDA.W $1570,X CODE_03C8B7: 18 CLC CODE_03C8B8: 7D 1C 15 ADC.W $151C,X CODE_03C8BB: 9D 70 15 STA.W $1570,X CODE_03C8BE: B0 1B BCS ADDR_03C8DB CODE_03C8C0: D9 89 C8 CMP.W DATA_03C889,Y CODE_03C8C3: B0 1B BCS CODE_03C8E0 CODE_03C8C5: BD 1C 15 LDA.W $151C,X CODE_03C8C8: C9 02 CMP.B #$02 CODE_03C8CA: 90 08 BCC CODE_03C8D4 CODE_03C8CC: 38 SEC CODE_03C8CD: E9 01 SBC.B #$01 CODE_03C8CF: 9D 1C 15 STA.W $151C,X CODE_03C8D2: B0 10 BCS CODE_03C8E4 CODE_03C8D4: A9 01 LDA.B #$01 CODE_03C8D6: 9D 1C 15 STA.W $151C,X CODE_03C8D9: 80 09 BRA CODE_03C8E4 ADDR_03C8DB: A9 FF LDA.B #$FF ADDR_03C8DD: 9D 70 15 STA.W $1570,X CODE_03C8E0: F6 C2 INC RAM_SpriteState,X CODE_03C8E2: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03C8E4: BD 1C 15 LDA.W $151C,X CODE_03C8E7: 29 FF AND.B #$FF CODE_03C8E9: A8 TAY CODE_03C8EA: B9 F1 C8 LDA.W DATA_03C8F1,Y CODE_03C8ED: 9D 02 16 STA.W $1602,X Return03C8F0: 60 RTS ; Return DATA_03C8F1: .db $06,$05,$04,$03,$03,$03,$03,$02 .db $02,$02,$02,$02,$02,$02,$01,$01 .db $01,$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 $03,$03,$03,$03,$03,$03,$03,$03 .db $03,$03,$02,$02,$02,$02,$02,$02 .db $02,$02,$02,$02,$02,$02,$02,$02 .db $02,$02,$02,$02,$02,$02,$02,$02 CODE_03C941: A5 13 LDA RAM_FrameCounter CODE_03C943: 29 07 AND.B #$07 CODE_03C945: D0 02 BNE CODE_03C949 CODE_03C947: F6 AA INC RAM_SpriteSpeedY,X CODE_03C949: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_03C94D: A9 07 LDA.B #$07 CODE_03C94F: B4 AA LDY RAM_SpriteSpeedY,X CODE_03C951: C0 08 CPY.B #$08 CODE_03C953: D0 03 BNE CODE_03C958 CODE_03C955: 9E C8 14 STZ.W $14C8,X CODE_03C958: C0 03 CPY.B #$03 CODE_03C95A: 90 06 BCC CODE_03C962 CODE_03C95C: 1A INC A CODE_03C95D: C0 05 CPY.B #$05 CODE_03C95F: 90 01 BCC CODE_03C962 CODE_03C961: 1A INC A CODE_03C962: 9D 02 16 STA.W $1602,X CODE_03C965: 20 E9 C9 JSR.W CODE_03C9E9 Return03C968: 60 RTS ; Return DATA_03C969: .db $EC,$8E,$EC,$EC CODE_03C96D: 8A TXA CODE_03C96E: 45 13 EOR RAM_FrameCounter CODE_03C970: 29 03 AND.B #$03 CODE_03C972: D0 44 BNE Return03C9B8 CODE_03C974: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03C977: A0 00 LDY.B #$00 CODE_03C979: A5 00 LDA $00 CODE_03C97B: 99 00 03 STA.W OAM_DispX,Y CODE_03C97E: 99 04 03 STA.W OAM_Tile2DispX,Y CODE_03C981: A5 01 LDA $01 CODE_03C983: 99 01 03 STA.W OAM_DispY,Y CODE_03C986: DA PHX CODE_03C987: BD 34 15 LDA.W $1534,X CODE_03C98A: AA TAX CODE_03C98B: A5 13 LDA RAM_FrameCounter CODE_03C98D: 4A LSR CODE_03C98E: 4A LSR CODE_03C98F: 29 02 AND.B #$02 CODE_03C991: 4A LSR CODE_03C992: 7D 69 C9 ADC.W DATA_03C969,X CODE_03C995: 99 02 03 STA.W OAM_Tile,Y CODE_03C998: FA PLX CODE_03C999: A5 13 LDA RAM_FrameCounter CODE_03C99B: 0A ASL CODE_03C99C: 29 0E AND.B #$0E CODE_03C99E: 85 02 STA $02 CODE_03C9A0: A5 13 LDA RAM_FrameCounter CODE_03C9A2: 0A ASL CODE_03C9A3: 0A ASL CODE_03C9A4: 0A ASL CODE_03C9A5: 0A ASL CODE_03C9A6: 29 40 AND.B #$40 CODE_03C9A8: 05 02 ORA $02 CODE_03C9AA: 09 31 ORA.B #$31 CODE_03C9AC: 99 03 03 STA.W OAM_Prop,Y CODE_03C9AF: 98 TYA CODE_03C9B0: 4A LSR CODE_03C9B1: 4A LSR CODE_03C9B2: A8 TAY CODE_03C9B3: A9 00 LDA.B #$00 CODE_03C9B5: 99 60 04 STA.W OAM_TileSize,Y Return03C9B8: 60 RTS ; Return DATA_03C9B9: .db $36,$35,$C7,$34,$34,$34,$34,$24 .db $03,$03,$36,$35,$C7,$34,$34,$24 .db $24,$24,$24,$03,$36,$35,$C7,$34 .db $34,$34,$24,$24,$03,$24,$36,$35 .db $C7,$34,$24,$24,$24,$24,$24,$03 DATA_03C9E1: .db $00,$01,$01,$00,$00,$FF,$FF,$00 CODE_03C9E9: 8A TXA CODE_03C9EA: 45 13 EOR RAM_FrameCounter CODE_03C9EC: 85 05 STA $05 CODE_03C9EE: BD 70 15 LDA.W $1570,X CODE_03C9F1: 85 06 STA $06 CODE_03C9F3: BD 02 16 LDA.W $1602,X CODE_03C9F6: 85 07 STA $07 CODE_03C9F8: B5 E4 LDA RAM_SpriteXLo,X CODE_03C9FA: 85 08 STA $08 CODE_03C9FC: B5 D8 LDA RAM_SpriteYLo,X CODE_03C9FE: 38 SEC CODE_03C9FF: E5 1C SBC RAM_ScreenBndryYLo CODE_03CA01: 85 09 STA $09 CODE_03CA03: BD 34 15 LDA.W $1534,X CODE_03CA06: 85 0A STA $0A CODE_03CA08: DA PHX CODE_03CA09: A2 3F LDX.B #$3F CODE_03CA0B: A0 00 LDY.B #$00 CODE_03CA0D: 86 04 STX $04 CODE_03CA0F: A5 0A LDA $0A CODE_03CA11: C9 03 CMP.B #$03 CODE_03CA13: BD 26 C6 LDA.W DATA_03C626,X CODE_03CA16: 90 03 BCC CODE_03CA1B CODE_03CA18: BD CE C6 LDA.W DATA_03C6CE,X CODE_03CA1B: 38 SEC CODE_03CA1C: E9 40 SBC.B #$40 CODE_03CA1E: 85 00 STA $00 CODE_03CA20: 5A PHY CODE_03CA21: A5 0A LDA $0A CODE_03CA23: C9 03 CMP.B #$03 CODE_03CA25: BD 7A C6 LDA.W DATA_03C67A,X CODE_03CA28: 90 03 BCC CODE_03CA2D CODE_03CA2A: BD 22 C7 LDA.W DATA_03C722,X CODE_03CA2D: 38 SEC CODE_03CA2E: E9 50 SBC.B #$50 CODE_03CA30: 85 01 STA $01 CODE_03CA32: A5 00 LDA $00 CODE_03CA34: 10 03 BPL CODE_03CA39 CODE_03CA36: 49 FF EOR.B #$FF CODE_03CA38: 1A INC A CODE_03CA39: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_03CA3C: A5 06 LDA $06 CODE_03CA3E: 8D 03 42 STA.W $4203 ; Multplier B CODE_03CA41: EA NOP CODE_03CA42: EA NOP CODE_03CA43: EA NOP CODE_03CA44: EA NOP CODE_03CA45: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_03CA48: A4 00 LDY $00 CODE_03CA4A: 10 03 BPL CODE_03CA4F CODE_03CA4C: 49 FF EOR.B #$FF CODE_03CA4E: 1A INC A CODE_03CA4F: 85 02 STA $02 CODE_03CA51: A5 01 LDA $01 CODE_03CA53: 10 03 BPL CODE_03CA58 CODE_03CA55: 49 FF EOR.B #$FF CODE_03CA57: 1A INC A CODE_03CA58: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_03CA5B: A5 06 LDA $06 CODE_03CA5D: 8D 03 42 STA.W $4203 ; Multplier B CODE_03CA60: EA NOP CODE_03CA61: EA NOP CODE_03CA62: EA NOP CODE_03CA63: EA NOP CODE_03CA64: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_03CA67: A4 01 LDY $01 CODE_03CA69: 10 03 BPL CODE_03CA6E CODE_03CA6B: 49 FF EOR.B #$FF CODE_03CA6D: 1A INC A CODE_03CA6E: 85 03 STA $03 CODE_03CA70: A0 00 LDY.B #$00 CODE_03CA72: A5 07 LDA $07 CODE_03CA74: C9 06 CMP.B #$06 CODE_03CA76: 90 0A BCC CODE_03CA82 CODE_03CA78: A5 05 LDA $05 CODE_03CA7A: 18 CLC CODE_03CA7B: 65 04 ADC $04 CODE_03CA7D: 4A LSR CODE_03CA7E: 4A LSR CODE_03CA7F: 29 07 AND.B #$07 CODE_03CA81: A8 TAY CODE_03CA82: B9 E1 C9 LDA.W DATA_03C9E1,Y CODE_03CA85: 7A PLY CODE_03CA86: 18 CLC CODE_03CA87: 65 02 ADC $02 CODE_03CA89: 18 CLC CODE_03CA8A: 65 08 ADC $08 CODE_03CA8C: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_03CA8F: A5 03 LDA $03 CODE_03CA91: 18 CLC CODE_03CA92: 65 09 ADC $09 CODE_03CA94: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_03CA97: DA PHX CODE_03CA98: A5 05 LDA $05 CODE_03CA9A: 29 03 AND.B #$03 CODE_03CA9C: 85 0F STA $0F CODE_03CA9E: 0A ASL CODE_03CA9F: 0A ASL CODE_03CAA0: 0A ASL CODE_03CAA1: 65 0F ADC $0F CODE_03CAA3: 65 0F ADC $0F CODE_03CAA5: 65 07 ADC $07 CODE_03CAA7: AA TAX CODE_03CAA8: BD B9 C9 LDA.W DATA_03C9B9,X CODE_03CAAB: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_03CAAE: FA PLX CODE_03CAAF: A5 05 LDA $05 CODE_03CAB1: 4A LSR CODE_03CAB2: EA NOP CODE_03CAB3: EA NOP CODE_03CAB4: DA PHX CODE_03CAB5: A6 0A LDX $0A CODE_03CAB7: E0 03 CPX.B #$03 CODE_03CAB9: F0 02 BEQ CODE_03CABD CODE_03CABB: 45 04 EOR $04 CODE_03CABD: 29 0E AND.B #$0E CODE_03CABF: 09 31 ORA.B #$31 CODE_03CAC1: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_03CAC4: FA PLX CODE_03CAC5: 5A PHY CODE_03CAC6: 98 TYA CODE_03CAC7: 4A LSR CODE_03CAC8: 4A LSR CODE_03CAC9: A8 TAY CODE_03CACA: A9 00 LDA.B #$00 CODE_03CACC: 99 20 04 STA.W $0420,Y CODE_03CACF: 7A PLY CODE_03CAD0: C8 INY CODE_03CAD1: C8 INY CODE_03CAD2: C8 INY CODE_03CAD3: C8 INY CODE_03CAD4: CA DEX CODE_03CAD5: 30 03 BMI CODE_03CADA CODE_03CAD7: 4C 0D CA JMP.W CODE_03CA0D CODE_03CADA: A2 53 LDX.B #$53 CODE_03CADC: 86 04 STX $04 CODE_03CADE: A5 0A LDA $0A CODE_03CAE0: C9 03 CMP.B #$03 CODE_03CAE2: BD 26 C6 LDA.W DATA_03C626,X CODE_03CAE5: 90 03 BCC CODE_03CAEA CODE_03CAE7: BD CE C6 LDA.W DATA_03C6CE,X CODE_03CAEA: 38 SEC CODE_03CAEB: E9 40 SBC.B #$40 CODE_03CAED: 85 00 STA $00 CODE_03CAEF: A5 0A LDA $0A CODE_03CAF1: C9 03 CMP.B #$03 CODE_03CAF3: BD 7A C6 LDA.W DATA_03C67A,X CODE_03CAF6: 90 03 BCC CODE_03CAFB CODE_03CAF8: BD 22 C7 LDA.W DATA_03C722,X CODE_03CAFB: 38 SEC CODE_03CAFC: E9 50 SBC.B #$50 CODE_03CAFE: 85 01 STA $01 CODE_03CB00: 5A PHY CODE_03CB01: A5 00 LDA $00 CODE_03CB03: 10 03 BPL CODE_03CB08 CODE_03CB05: 49 FF EOR.B #$FF CODE_03CB07: 1A INC A CODE_03CB08: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_03CB0B: A5 06 LDA $06 CODE_03CB0D: 8D 03 42 STA.W $4203 ; Multplier B CODE_03CB10: EA NOP CODE_03CB11: EA NOP CODE_03CB12: EA NOP CODE_03CB13: EA NOP CODE_03CB14: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_03CB17: A4 00 LDY $00 CODE_03CB19: 10 03 BPL CODE_03CB1E CODE_03CB1B: 49 FF EOR.B #$FF CODE_03CB1D: 1A INC A CODE_03CB1E: 85 02 STA $02 CODE_03CB20: A5 01 LDA $01 CODE_03CB22: 10 03 BPL CODE_03CB27 CODE_03CB24: 49 FF EOR.B #$FF CODE_03CB26: 1A INC A CODE_03CB27: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_03CB2A: A5 06 LDA $06 CODE_03CB2C: 8D 03 42 STA.W $4203 ; Multplier B CODE_03CB2F: EA NOP CODE_03CB30: EA NOP CODE_03CB31: EA NOP CODE_03CB32: EA NOP CODE_03CB33: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_03CB36: A4 01 LDY $01 CODE_03CB38: 10 03 BPL CODE_03CB3D CODE_03CB3A: 49 FF EOR.B #$FF CODE_03CB3C: 1A INC A CODE_03CB3D: 85 03 STA $03 CODE_03CB3F: A0 00 LDY.B #$00 CODE_03CB41: A5 07 LDA $07 CODE_03CB43: C9 06 CMP.B #$06 CODE_03CB45: 90 0A BCC CODE_03CB51 CODE_03CB47: A5 05 LDA $05 CODE_03CB49: 18 CLC CODE_03CB4A: 65 04 ADC $04 CODE_03CB4C: 4A LSR CODE_03CB4D: 4A LSR CODE_03CB4E: 29 07 AND.B #$07 CODE_03CB50: A8 TAY CODE_03CB51: B9 E1 C9 LDA.W DATA_03C9E1,Y CODE_03CB54: 7A PLY CODE_03CB55: 18 CLC CODE_03CB56: 65 02 ADC $02 CODE_03CB58: 18 CLC CODE_03CB59: 65 08 ADC $08 CODE_03CB5B: 99 00 03 STA.W OAM_DispX,Y CODE_03CB5E: A5 03 LDA $03 CODE_03CB60: 18 CLC CODE_03CB61: 65 09 ADC $09 CODE_03CB63: 99 01 03 STA.W OAM_DispY,Y CODE_03CB66: DA PHX CODE_03CB67: A5 05 LDA $05 CODE_03CB69: 29 03 AND.B #$03 CODE_03CB6B: 85 0F STA $0F CODE_03CB6D: 0A ASL CODE_03CB6E: 0A ASL CODE_03CB6F: 0A ASL CODE_03CB70: 65 0F ADC $0F CODE_03CB72: 65 0F ADC $0F CODE_03CB74: 65 07 ADC $07 CODE_03CB76: AA TAX CODE_03CB77: BD B9 C9 LDA.W DATA_03C9B9,X CODE_03CB7A: 99 02 03 STA.W OAM_Tile,Y CODE_03CB7D: FA PLX CODE_03CB7E: A5 05 LDA $05 CODE_03CB80: 4A LSR CODE_03CB81: EA NOP CODE_03CB82: EA NOP CODE_03CB83: DA PHX CODE_03CB84: A6 0A LDX $0A CODE_03CB86: E0 03 CPX.B #$03 CODE_03CB88: F0 02 BEQ CODE_03CB8C CODE_03CB8A: 45 04 EOR $04 CODE_03CB8C: 29 0E AND.B #$0E CODE_03CB8E: 09 31 ORA.B #$31 CODE_03CB90: 99 03 03 STA.W OAM_Prop,Y CODE_03CB93: FA PLX CODE_03CB94: 5A PHY CODE_03CB95: 98 TYA CODE_03CB96: 4A LSR CODE_03CB97: 4A LSR CODE_03CB98: A8 TAY CODE_03CB99: A9 00 LDA.B #$00 CODE_03CB9B: 99 60 04 STA.W OAM_TileSize,Y CODE_03CB9E: 7A PLY CODE_03CB9F: C8 INY CODE_03CBA0: C8 INY CODE_03CBA1: C8 INY CODE_03CBA2: C8 INY CODE_03CBA3: CA DEX CODE_03CBA4: E0 3F CPX.B #$3F CODE_03CBA6: F0 03 BEQ CODE_03CBAB CODE_03CBA8: 4C DC CA JMP.W CODE_03CADC CODE_03CBAB: FA PLX Return03CBAC: 60 RTS ; Return ChuckSprGenDispX: .db $14,$EC ChuckSprGenSpeedHi: .db $00,$FF ChuckSprGenSpeedLo: .db $18,$E8 CODE_03CBB3: 22 E4 A9 02 JSL.L FindFreeSprSlot ; \ Return if no free slots CODE_03CBB7: 30 4F BMI Return03CC08 ; / CODE_03CBB9: A9 1B LDA.B #$1B ; \ Sprite = Football CODE_03CBBB: 99 9E 00 STA.W RAM_SpriteNum,Y ; / CODE_03CBBE: DA PHX CODE_03CBBF: BB TYX CODE_03CBC0: 22 D2 F7 07 JSL.L InitSpriteTables CODE_03CBC4: FA PLX CODE_03CBC5: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_03CBC7: 99 C8 14 STA.W $14C8,Y ; / CODE_03CBCA: B5 D8 LDA RAM_SpriteYLo,X CODE_03CBCC: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_03CBCF: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03CBD2: 99 D4 14 STA.W RAM_SpriteYHi,Y CODE_03CBD5: B5 E4 LDA RAM_SpriteXLo,X CODE_03CBD7: 85 01 STA $01 CODE_03CBD9: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03CBDC: 85 00 STA $00 CODE_03CBDE: DA PHX CODE_03CBDF: BD 7C 15 LDA.W RAM_SpriteDir,X CODE_03CBE2: AA TAX CODE_03CBE3: A5 01 LDA $01 CODE_03CBE5: 18 CLC CODE_03CBE6: 7F AD CB 03 ADC.L ChuckSprGenDispX,X CODE_03CBEA: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_03CBED: A5 00 LDA $00 CODE_03CBEF: 7F AF CB 03 ADC.L ChuckSprGenSpeedHi,X CODE_03CBF3: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_03CBF6: BF B1 CB 03 LDA.L ChuckSprGenSpeedLo,X CODE_03CBFA: 99 B6 00 STA.W RAM_SpriteSpeedX,Y CODE_03CBFD: A9 E0 LDA.B #$E0 CODE_03CBFF: 99 AA 00 STA.W RAM_SpriteSpeedY,Y CODE_03CC02: A9 10 LDA.B #$10 CODE_03CC04: 99 40 15 STA.W $1540,Y CODE_03CC07: FA PLX Return03CC08: 6B RTL ; Return CODE_03CC09: 8B PHB ; Wrapper CODE_03CC0A: 4B PHK CODE_03CC0B: AB PLB CODE_03CC0C: 9E 62 16 STZ.W RAM_Tweaker1662,X CODE_03CC0F: 20 14 CC JSR.W CODE_03CC14 CODE_03CC12: AB PLB Return03CC13: 6B RTL ; Return CODE_03CC14: 20 84 D4 JSR.W CODE_03D484 CODE_03CC17: BD C8 14 LDA.W $14C8,X CODE_03CC1A: C9 08 CMP.B #$08 CODE_03CC1C: D0 19 BNE Return03CC37 CODE_03CC1E: A5 9D LDA RAM_SpritesLocked CODE_03CC20: D0 15 BNE Return03CC37 CODE_03CC22: BD 1C 15 LDA.W $151C,X CODE_03CC25: 22 DF 86 00 JSL.L ExecutePtr PipeKoopaPtrs: 8A CC .dw CODE_03CC8A 21 CD .dw CODE_03CD21 C7 CD .dw CODE_03CDC7 EF CD .dw CODE_03CDEF 0E CE .dw CODE_03CE0E 5A CE .dw CODE_03CE5A 89 CE .dw CODE_03CE89 Return03CC37: 60 RTS ; Return DATA_03CC38: .db $18,$38,$58,$78,$98,$B8,$D8,$78 DATA_03CC40: .db $40,$50,$50,$40,$30,$40,$50,$40 DATA_03CC48: .db $50,$4A,$50,$4A,$4A,$40,$4A,$48 .db $4A DATA_03CC51: .db $02,$04,$06,$08,$0B,$0C,$0E,$10 .db $13 DATA_03CC5A: .db $00,$01,$02,$03,$04,$05,$06,$00 .db $01,$02,$03,$04,$05,$06,$00,$01 .db $02,$03,$04,$05,$06,$00,$01,$02 .db $03,$04,$05,$06,$00,$01,$02,$03 .db $04,$05,$06,$00,$01,$02,$03,$04 .db $05,$06,$00,$01,$02,$03,$04,$05 CODE_03CC8A: BD 40 15 LDA.W $1540,X CODE_03CC8D: D0 50 BNE Return03CCDF CODE_03CC8F: BD 70 15 LDA.W $1570,X CODE_03CC92: D0 09 BNE CODE_03CC9D CODE_03CC94: 22 F9 AC 01 JSL.L GetRand CODE_03CC98: 29 0F AND.B #$0F CODE_03CC9A: 9D 0E 16 STA.W $160E,X CODE_03CC9D: BD 0E 16 LDA.W $160E,X CODE_03CCA0: 1D 70 15 ORA.W $1570,X CODE_03CCA3: A8 TAY CODE_03CCA4: B9 5A CC LDA.W DATA_03CC5A,Y CODE_03CCA7: A8 TAY CODE_03CCA8: B9 38 CC LDA.W DATA_03CC38,Y CODE_03CCAB: 95 E4 STA RAM_SpriteXLo,X CODE_03CCAD: B5 C2 LDA RAM_SpriteState,X CODE_03CCAF: C9 06 CMP.B #$06 CODE_03CCB1: B9 40 CC LDA.W DATA_03CC40,Y CODE_03CCB4: 90 02 BCC CODE_03CCB8 CODE_03CCB6: A9 50 LDA.B #$50 CODE_03CCB8: 95 D8 STA RAM_SpriteYLo,X CODE_03CCBA: A9 08 LDA.B #$08 CODE_03CCBC: BC 70 15 LDY.W $1570,X CODE_03CCBF: D0 0B BNE CODE_03CCCC CODE_03CCC1: 20 E2 CC JSR.W CODE_03CCE2 CODE_03CCC4: 22 F9 AC 01 JSL.L GetRand CODE_03CCC8: 4A LSR CODE_03CCC9: 4A LSR CODE_03CCCA: 29 07 AND.B #$07 CODE_03CCCC: 9D 28 15 STA.W $1528,X CODE_03CCCF: A8 TAY CODE_03CCD0: B9 48 CC LDA.W DATA_03CC48,Y CODE_03CCD3: 9D 40 15 STA.W $1540,X CODE_03CCD6: FE 1C 15 INC.W $151C,X CODE_03CCD9: B9 51 CC LDA.W DATA_03CC51,Y CODE_03CCDC: 9D 02 16 STA.W $1602,X Return03CCDF: 60 RTS ; Return DATA_03CCE0: .db $10,$20 CODE_03CCE2: A0 01 LDY.B #$01 CODE_03CCE4: 20 E8 CC JSR.W CODE_03CCE8 CODE_03CCE7: 88 DEY CODE_03CCE8: A9 08 LDA.B #$08 ; \ Sprite status = Normal CODE_03CCEA: 99 C8 14 STA.W $14C8,Y ; / CODE_03CCED: A9 29 LDA.B #$29 CODE_03CCEF: 99 9E 00 STA.W RAM_SpriteNum,Y CODE_03CCF2: DA PHX CODE_03CCF3: BB TYX CODE_03CCF4: 22 D2 F7 07 JSL.L InitSpriteTables CODE_03CCF8: FA PLX CODE_03CCF9: B9 E0 CC LDA.W DATA_03CCE0,Y CODE_03CCFC: 99 70 15 STA.W $1570,Y CODE_03CCFF: B5 C2 LDA RAM_SpriteState,X CODE_03CD01: 99 C2 00 STA.W RAM_SpriteState,Y CODE_03CD04: BD 0E 16 LDA.W $160E,X CODE_03CD07: 99 0E 16 STA.W $160E,Y CODE_03CD0A: B5 E4 LDA RAM_SpriteXLo,X CODE_03CD0C: 99 E4 00 STA.W RAM_SpriteXLo,Y CODE_03CD0F: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03CD12: 99 E0 14 STA.W RAM_SpriteXHi,Y CODE_03CD15: B5 D8 LDA RAM_SpriteYLo,X CODE_03CD17: 99 D8 00 STA.W RAM_SpriteYLo,Y CODE_03CD1A: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03CD1D: 99 D4 14 STA.W RAM_SpriteYHi,Y Return03CD20: 60 RTS ; Return CODE_03CD21: BD 40 15 LDA.W $1540,X CODE_03CD24: D0 08 BNE CODE_03CD2E CODE_03CD26: A9 40 LDA.B #$40 CODE_03CD28: 9D 40 15 STA.W $1540,X CODE_03CD2B: FE 1C 15 INC.W $151C,X CODE_03CD2E: A9 F8 LDA.B #$F8 CODE_03CD30: 95 AA STA RAM_SpriteSpeedY,X CODE_03CD32: 22 1A 80 01 JSL.L UpdateYPosNoGrvty Return03CD36: 60 RTS ; Return DATA_03CD37: .db $02,$02,$02,$02,$03,$03,$03,$03 .db $03,$03,$03,$03,$02,$02,$02,$02 .db $04,$04,$04,$04,$05,$05,$04,$05 .db $05,$04,$05,$05,$04,$04,$04,$04 .db $06,$06,$06,$06,$07,$07,$07,$07 .db $07,$07,$07,$07,$06,$06,$06,$06 .db $08,$08,$08,$08,$08,$09,$09,$08 .db $08,$09,$09,$08,$08,$08,$08,$08 .db $0B,$0B,$0B,$0B,$0B,$0A,$0B,$0A .db $0B,$0A,$0B,$0A,$0B,$0B,$0B,$0B .db $0C,$0C,$0C,$0C,$0D,$0C,$0D,$0C .db $0D,$0C,$0D,$0C,$0D,$0D,$0D,$0D .db $0E,$0E,$0E,$0E,$0E,$0F,$0E,$0F .db $0E,$0F,$0E,$0F,$0E,$0E,$0E,$0E .db $10,$10,$10,$10,$11,$12,$11,$10 .db $11,$12,$11,$10,$11,$11,$11,$11 .db $13,$13,$13,$13,$13,$13,$13,$13 .db $13,$13,$13,$13,$13,$13,$13,$13 CODE_03CDC7: 20 A7 CE JSR.W CODE_03CEA7 CODE_03CDCA: BD 40 15 LDA.W $1540,X CODE_03CDCD: D0 0B BNE CODE_03CDDA CODE_03CDCF: A9 24 LDA.B #$24 CODE_03CDD1: 9D 40 15 STA.W $1540,X CODE_03CDD4: A9 03 LDA.B #$03 CODE_03CDD6: 9D 1C 15 STA.W $151C,X Return03CDD9: 60 RTS ; Return CODE_03CDDA: 4A LSR CODE_03CDDB: 4A LSR CODE_03CDDC: 85 00 STA $00 CODE_03CDDE: BD 28 15 LDA.W $1528,X CODE_03CDE1: 0A ASL CODE_03CDE2: 0A ASL CODE_03CDE3: 0A ASL CODE_03CDE4: 0A ASL CODE_03CDE5: 05 00 ORA $00 CODE_03CDE7: A8 TAY CODE_03CDE8: B9 37 CD LDA.W DATA_03CD37,Y CODE_03CDEB: 9D 02 16 STA.W $1602,X Return03CDEE: 60 RTS ; Return CODE_03CDEF: BD 40 15 LDA.W $1540,X CODE_03CDF2: D0 11 BNE CODE_03CE05 CODE_03CDF4: BD 70 15 LDA.W $1570,X CODE_03CDF7: F0 04 BEQ CODE_03CDFD CODE_03CDF9: 9E C8 14 STZ.W $14C8,X Return03CDFC: 60 RTS ; Return CODE_03CDFD: 9E 1C 15 STZ.W $151C,X CODE_03CE00: A9 30 LDA.B #$30 CODE_03CE02: 9D 40 15 STA.W $1540,X CODE_03CE05: A9 10 LDA.B #$10 CODE_03CE07: 95 AA STA RAM_SpriteSpeedY,X CODE_03CE09: 22 1A 80 01 JSL.L UpdateYPosNoGrvty Return03CE0D: 60 RTS ; Return CODE_03CE0E: BD 40 15 LDA.W $1540,X CODE_03CE11: D0 17 BNE CODE_03CE2A CODE_03CE13: FE 34 15 INC.W $1534,X CODE_03CE16: BD 34 15 LDA.W $1534,X CODE_03CE19: C9 03 CMP.B #$03 CODE_03CE1B: D0 B2 BNE CODE_03CDCF CODE_03CE1D: A9 05 LDA.B #$05 CODE_03CE1F: 9D 1C 15 STA.W $151C,X CODE_03CE22: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_03CE24: A9 23 LDA.B #$23 CODE_03CE26: 8D F9 1D STA.W $1DF9 ; / Play sound effect Return03CE29: 60 RTS ; Return CODE_03CE2A: BC 70 15 LDY.W $1570,X CODE_03CE2D: D0 13 BNE CODE_03CE42 CODE_03CE2F: C9 24 CMP.B #$24 CODE_03CE31: D0 05 BNE CODE_03CE38 CODE_03CE33: A0 29 LDY.B #$29 CODE_03CE35: 8C FC 1D STY.W $1DFC ; / Play sound effect CODE_03CE38: A5 14 LDA RAM_FrameCounterB CODE_03CE3A: 4A LSR CODE_03CE3B: 4A LSR CODE_03CE3C: 29 01 AND.B #$01 CODE_03CE3E: 9D 02 16 STA.W $1602,X Return03CE41: 60 RTS ; Return CODE_03CE42: C9 10 CMP.B #$10 CODE_03CE44: D0 05 BNE CODE_03CE4B CODE_03CE46: A0 2A LDY.B #$2A CODE_03CE48: 8C FC 1D STY.W $1DFC ; / Play sound effect CODE_03CE4B: 4A LSR CODE_03CE4C: 4A LSR CODE_03CE4D: 4A LSR CODE_03CE4E: A8 TAY CODE_03CE4F: B9 56 CE LDA.W DATA_03CE56,Y CODE_03CE52: 9D 02 16 STA.W $1602,X Return03CE55: 60 RTS ; Return DATA_03CE56: .db $16,$16,$15,$14 CODE_03CE5A: 22 1A 80 01 JSL.L UpdateYPosNoGrvty CODE_03CE5E: B5 AA LDA RAM_SpriteSpeedY,X CODE_03CE60: C9 40 CMP.B #$40 CODE_03CE62: 10 05 BPL CODE_03CE69 CODE_03CE64: 18 CLC CODE_03CE65: 69 03 ADC.B #$03 CODE_03CE67: 95 AA STA RAM_SpriteSpeedY,X CODE_03CE69: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03CE6C: F0 19 BEQ CODE_03CE87 CODE_03CE6E: B5 D8 LDA RAM_SpriteYLo,X CODE_03CE70: C9 85 CMP.B #$85 CODE_03CE72: 90 13 BCC CODE_03CE87 CODE_03CE74: A9 06 LDA.B #$06 CODE_03CE76: 9D 1C 15 STA.W $151C,X CODE_03CE79: A9 80 LDA.B #$80 CODE_03CE7B: 9D 40 15 STA.W $1540,X CODE_03CE7E: A9 20 LDA.B #$20 CODE_03CE80: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_03CE83: 22 28 85 02 JSL.L CODE_028528 CODE_03CE87: 80 A6 BRA CODE_03CE2F CODE_03CE89: BD 40 15 LDA.W $1540,X CODE_03CE8C: D0 10 BNE CODE_03CE9E CODE_03CE8E: 9E C8 14 STZ.W $14C8,X CODE_03CE91: EE C6 13 INC.W $13C6 CODE_03CE94: A9 FF LDA.B #$FF CODE_03CE96: 8D 93 14 STA.W $1493 CODE_03CE99: A9 0B LDA.B #$0B CODE_03CE9B: 8D FB 1D STA.W $1DFB ; / Change music CODE_03CE9E: A9 04 LDA.B #$04 CODE_03CEA0: 95 AA STA RAM_SpriteSpeedY,X CODE_03CEA2: 22 1A 80 01 JSL.L UpdateYPosNoGrvty Return03CEA6: 60 RTS ; Return CODE_03CEA7: 22 DC A7 01 JSL.L MarioSprInteract CODE_03CEAB: 90 44 BCC Return03CEF1 CODE_03CEAD: A5 7D LDA RAM_MarioSpeedY CODE_03CEAF: C9 10 CMP.B #$10 CODE_03CEB1: 30 3A BMI CODE_03CEED CODE_03CEB3: 22 99 AB 01 JSL.L DisplayContactGfx CODE_03CEB7: A9 02 LDA.B #$02 CODE_03CEB9: 22 E5 AC 02 JSL.L GivePoints CODE_03CEBD: 22 33 AA 01 JSL.L BoostMarioSpeed CODE_03CEC1: A9 02 LDA.B #$02 CODE_03CEC3: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_03CEC6: BD 70 15 LDA.W $1570,X CODE_03CEC9: D0 10 BNE CODE_03CEDB CODE_03CECB: A9 28 LDA.B #$28 CODE_03CECD: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_03CED0: BD 34 15 LDA.W $1534,X CODE_03CED3: C9 02 CMP.B #$02 CODE_03CED5: D0 04 BNE CODE_03CEDB CODE_03CED7: 22 C8 A6 03 JSL.L KillMostSprites CODE_03CEDB: A9 04 LDA.B #$04 CODE_03CEDD: 9D 1C 15 STA.W $151C,X CODE_03CEE0: A9 50 LDA.B #$50 CODE_03CEE2: BC 70 15 LDY.W $1570,X CODE_03CEE5: F0 02 BEQ CODE_03CEE9 CODE_03CEE7: A9 1F LDA.B #$1F CODE_03CEE9: 9D 40 15 STA.W $1540,X Return03CEEC: 60 RTS ; Return CODE_03CEED: 22 B7 F5 00 JSL.L HurtMario Return03CEF1: 60 RTS ; Return DATA_03CEF2: .db $F8,$08,$F8,$08,$00,$00,$F8,$08 .db $F8,$08,$00,$00,$F8,$00,$00,$00 .db $00,$00,$FB,$00,$FB,$03,$00,$00 .db $F8,$08,$00,$00,$08,$00,$F8,$08 .db $00,$00,$00,$00,$F8,$00,$00,$00 .db $00,$00,$F8,$00,$08,$00,$00,$00 .db $F8,$08,$00,$06,$00,$00,$F8,$08 .db $00,$02,$00,$00,$F8,$08,$00,$04 .db $00,$08,$F8,$08,$00,$00,$08,$00 .db $F8,$08,$00,$00,$00,$00,$F8,$08 .db $00,$00,$00,$00,$F8,$08,$00,$00 .db $08,$00,$F8,$08,$00,$00,$08,$00 .db $F8,$08,$00,$00,$00,$00,$F8,$08 .db $00,$00,$00,$00,$F8,$08,$00,$00 .db $00,$00,$F8,$08,$00,$00,$08,$00 .db $F8,$08,$00,$00,$00,$00,$F8,$08 .db $00,$00,$00,$00,$F8,$08,$00,$00 .db $00,$00 DATA_03CF7C: .db $F8,$08,$F8,$08,$00,$00,$F8,$08 .db $F8,$08,$00,$00,$F8,$00,$08,$00 .db $00,$00,$FB,$00,$FB,$03,$00,$00 .db $F8,$08,$00,$00,$08,$00,$F8,$08 .db $00,$00,$00,$00,$F8,$00,$08,$00 .db $00,$00,$F8,$00,$08,$00,$00,$00 .db $F8,$08,$00,$06,$00,$08,$F8,$08 .db $00,$02,$00,$08,$F8,$08,$00,$04 .db $00,$08,$F8,$08,$00,$00,$08,$00 .db $F8,$08,$00,$00,$00,$00,$F8,$08 .db $00,$00,$00,$00,$F8,$08,$00,$00 .db $08,$00,$F8,$08,$00,$00,$08,$00 .db $F8,$08,$00,$00,$00,$00,$F8,$08 .db $00,$00,$00,$00,$F8,$08,$00,$00 .db $00,$00,$F8,$08,$00,$00,$08,$00 .db $F8,$08,$00,$00,$00,$00,$F8,$08 .db $00,$00,$00,$00,$F8,$08,$00,$00 .db $00,$00 ; SMWCentral Pwns! DATA_03D006: .db $04,$04,$14,$14,$00,$00,$04,$04 .db $14,$14,$00,$00,$00,$08,$F8,$00 .db $00,$00,$00,$08,$F8,$F8,$00,$00 .db $05,$05,$00,$F8,$F8,$00,$05,$05 .db $00,$00,$00,$00,$00,$08,$F8,$00 .db $00,$00,$00,$08,$00,$00,$00,$00 .db $05,$05,$00,$F8,$00,$00,$05,$05 .db $00,$F8,$00,$00,$05,$05,$00,$0F .db $F8,$F8,$05,$05,$00,$F8,$F8,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$05,$05,$00,$F8 .db $F8,$00,$05,$05,$00,$F8,$F8,$00 .db $04,$04,$02,$00,$00,$00,$04,$04 .db $01,$00,$00,$00,$04,$04,$00,$00 .db $00,$00,$05,$05,$00,$F8,$F8,$00 .db $05,$05,$00,$00,$00,$00,$05,$05 .db $03,$00,$00,$00,$05,$05,$04,$00 .db $00,$00 DATA_03D090: .db $04,$04,$14,$14,$00,$00,$04,$04 .db $14,$14,$00,$00,$00,$08,$00,$00 .db $00,$00,$00,$08,$F8,$F8,$00,$00 .db $05,$05,$00,$F8,$F8,$00,$05,$05 .db $00,$00,$00,$00,$00,$08,$00,$00 .db $00,$00,$00,$08,$08,$00,$00,$00 .db $05,$05,$00,$F8,$F8,$00,$05,$05 .db $00,$F8,$F8,$00,$05,$05,$00,$0F .db $F8,$F8,$05,$05,$00,$F8,$F8,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$05,$05,$00,$F8 .db $F8,$00,$05,$05,$00,$F8,$F8,$00 .db $04,$04,$02,$00,$00,$00,$04,$04 .db $01,$00,$00,$00,$04,$04,$00,$00 .db $00,$00,$05,$05,$00,$F8,$F8,$00 .db $05,$05,$00,$00,$00,$00,$05,$05 .db $03,$00,$00,$00,$05,$05,$04,$00 .db $00,$00 DATA_03D11A: .db $20,$20,$26,$26,$08,$00,$2E,$2E .db $24,$24,$08,$00,$00,$28,$02,$00 .db $00,$00,$04,$28,$12,$12,$00,$00 .db $22,$22,$04,$12,$12,$00,$20,$20 .db $08,$00,$00,$00,$00,$28,$02,$00 .db $00,$00,$0A,$28,$13,$00,$00,$00 .db $20,$20,$0C,$02,$00,$00,$20,$20 .db $0C,$02,$00,$00,$22,$22,$06,$03 .db $12,$12,$20,$20,$06,$12,$12,$00 .db $2A,$2A,$00,$00,$00,$00,$2C,$2C .db $00,$00,$00,$00,$20,$20,$06,$12 .db $12,$00,$20,$20,$06,$12,$12,$00 .db $22,$22,$08,$00,$00,$00,$20,$20 .db $08,$00,$00,$00,$2E,$2E,$08,$00 .db $00,$00,$4E,$4E,$60,$43,$43,$00 .db $4E,$4E,$64,$00,$00,$00,$62,$62 .db $64,$00,$00,$00,$62,$62,$64,$00 .db $00,$00 DATA_03D1A4: .db $20,$20,$26,$26,$48,$00,$2E,$2E .db $24,$24,$48,$00,$40,$28,$42,$00 .db $00,$00,$44,$28,$52,$52,$00,$00 .db $22,$22,$44,$52,$52,$00,$20,$20 .db $48,$00,$00,$00,$40,$28,$42,$00 .db $00,$00,$4A,$28,$53,$00,$00,$00 .db $20,$20,$4C,$1E,$1F,$00,$20,$20 .db $4C,$1F,$1E,$00,$22,$22,$44,$03 .db $52,$52,$20,$20,$44,$52,$52,$00 .db $2A,$2A,$00,$00,$00,$00,$2C,$2C .db $00,$00,$00,$00,$20,$20,$46,$52 .db $52,$00,$20,$20,$46,$52,$52,$00 .db $22,$22,$48,$00,$00,$00,$20,$20 .db $48,$00,$00,$00,$2E,$2E,$48,$00 .db $00,$00,$4E,$4E,$66,$68,$68,$00 .db $4E,$4E,$6A,$00,$00,$00,$62,$62 .db $6A,$00,$00,$00,$62,$62,$6A,$00 .db $00,$00 LemmyGfxProp: .db $05,$45,$05,$45,$05,$00,$05,$45 .db $05,$45,$05,$00,$05,$05,$05,$00 .db $00,$00,$05,$05,$05,$45,$00,$00 .db $05,$45,$05,$05,$45,$00,$05,$45 .db $05,$00,$00,$00,$05,$05,$05,$00 .db $00,$00,$05,$05,$05,$00,$00,$00 .db $05,$45,$05,$05,$00,$00,$05,$45 .db $45,$45,$00,$00,$05,$45,$05,$05 .db $05,$45,$05,$45,$45,$05,$45,$00 .db $05,$45,$00,$00,$00,$00,$05,$45 .db $00,$00,$00,$00,$05,$45,$45,$05 .db $45,$00,$05,$45,$05,$05,$45,$00 .db $05,$45,$05,$00,$00,$00,$05,$45 .db $05,$00,$00,$00,$05,$45,$05,$00 .db $00,$00,$07,$47,$07,$07,$47,$00 .db $07,$47,$07,$00,$00,$00,$07,$47 .db $07,$00,$00,$00,$07,$47,$07,$00 .db $00,$00 WendyGfxProp: .db $09,$49,$09,$49,$09,$00,$09,$49 .db $09,$49,$09,$00,$09,$09,$09,$00 .db $00,$00,$09,$09,$09,$49,$00,$00 .db $09,$49,$09,$09,$49,$00,$09,$49 .db $09,$00,$00,$00,$09,$09,$09,$00 .db $00,$00,$09,$09,$09,$00,$00,$00 .db $09,$49,$09,$09,$09,$00,$09,$49 .db $49,$49,$49,$00,$09,$49,$09,$09 .db $09,$49,$09,$49,$49,$09,$49,$00 .db $09,$49,$00,$00,$00,$00,$09,$49 .db $00,$00,$00,$00,$09,$49,$49,$09 .db $49,$00,$09,$49,$09,$09,$49,$00 .db $09,$49,$09,$00,$00,$00,$09,$49 .db $09,$00,$00,$00,$09,$49,$09,$00 .db $00,$00,$05,$45,$05,$05,$45,$00 .db $05,$45,$05,$00,$00,$00,$05,$45 .db $05,$00,$00,$00,$05,$45,$05,$00 .db $00,$00 DATA_03D342: .db $02,$02,$02,$02,$02,$04,$02,$02 .db $02,$02,$02,$04,$02,$02,$00,$04 .db $04,$04,$02,$02,$00,$00,$04,$04 .db $02,$02,$02,$00,$00,$04,$02,$02 .db $02,$04,$04,$04,$02,$02,$00,$04 .db $04,$04,$02,$02,$00,$04,$04,$04 .db $02,$02,$02,$00,$04,$04,$02,$02 .db $02,$00,$04,$04,$02,$02,$02,$00 .db $00,$00,$02,$02,$02,$00,$00,$04 .db $02,$02,$04,$04,$04,$04,$02,$02 .db $04,$04,$04,$04,$02,$02,$02,$00 .db $00,$04,$02,$02,$02,$00,$00,$04 .db $02,$02,$02,$04,$04,$04,$02,$02 .db $02,$04,$04,$04,$02,$02,$02,$04 .db $04,$04,$02,$02,$02,$00,$00,$04 .db $02,$02,$02,$04,$04,$04,$02,$02 .db $02,$04,$04,$04,$02,$02,$02,$04 .db $04,$04 DATA_03D3CC: .db $02,$02,$02,$02,$02,$04,$02,$02 .db $02,$02,$02,$04,$02,$02,$00,$04 .db $04,$04,$02,$02,$00,$00,$04,$04 .db $02,$02,$02,$00,$00,$04,$02,$02 .db $02,$04,$04,$04,$02,$02,$00,$04 .db $04,$04,$02,$02,$00,$04,$04,$04 .db $02,$02,$02,$00,$00,$04,$02,$02 .db $02,$00,$00,$04,$02,$02,$02,$00 .db $00,$00,$02,$02,$02,$00,$00,$04 .db $02,$02,$04,$04,$04,$04,$02,$02 .db $04,$04,$04,$04,$02,$02,$02,$00 .db $00,$04,$02,$02,$02,$00,$00,$04 .db $02,$02,$02,$04,$04,$04,$02,$02 .db $02,$04,$04,$04,$02,$02,$02,$04 .db $04,$04,$02,$02,$02,$00,$00,$04 .db $02,$02,$02,$04,$04,$04,$02,$02 .db $02,$04,$04,$04,$02,$02,$02,$04 .db $04,$04 DATA_03D456: .db $04,$04,$02,$03,$04,$02,$02,$02 .db $03,$03,$05,$04,$01,$01,$04,$04 .db $02,$02,$02,$04,$02,$02,$02 DATA_03D46D: .db $04,$04,$02,$03,$04,$02,$02,$02 .db $04,$04,$05,$04,$01,$01,$04,$04 .db $02,$02,$02,$04,$02,$02,$02 CODE_03D484: 20 60 B7 JSR.W GetDrawInfoBnk3 CODE_03D487: BD 02 16 LDA.W $1602,X CODE_03D48A: 0A ASL CODE_03D48B: 0A ASL CODE_03D48C: 7D 02 16 ADC.W $1602,X CODE_03D48F: 7D 02 16 ADC.W $1602,X CODE_03D492: 85 02 STA $02 CODE_03D494: B5 C2 LDA RAM_SpriteState,X CODE_03D496: C9 06 CMP.B #$06 CODE_03D498: F0 45 BEQ CODE_03D4DF CODE_03D49A: DA PHX CODE_03D49B: BD 02 16 LDA.W $1602,X CODE_03D49E: AA TAX CODE_03D49F: BD 56 D4 LDA.W DATA_03D456,X CODE_03D4A2: AA TAX CODE_03D4A3: DA PHX CODE_03D4A4: 8A TXA CODE_03D4A5: 18 CLC CODE_03D4A6: 65 02 ADC $02 CODE_03D4A8: AA TAX CODE_03D4A9: A5 00 LDA $00 CODE_03D4AB: 18 CLC CODE_03D4AC: 7D F2 CE ADC.W DATA_03CEF2,X CODE_03D4AF: 99 00 03 STA.W OAM_DispX,Y CODE_03D4B2: A5 01 LDA $01 CODE_03D4B4: 18 CLC CODE_03D4B5: 7D 06 D0 ADC.W DATA_03D006,X CODE_03D4B8: 99 01 03 STA.W OAM_DispY,Y CODE_03D4BB: BD 1A D1 LDA.W DATA_03D11A,X CODE_03D4BE: 99 02 03 STA.W OAM_Tile,Y CODE_03D4C1: BD 2E D2 LDA.W LemmyGfxProp,X CODE_03D4C4: 09 10 ORA.B #$10 CODE_03D4C6: 99 03 03 STA.W OAM_Prop,Y CODE_03D4C9: 5A PHY CODE_03D4CA: 98 TYA CODE_03D4CB: 4A LSR CODE_03D4CC: 4A LSR CODE_03D4CD: A8 TAY CODE_03D4CE: BD 42 D3 LDA.W DATA_03D342,X CODE_03D4D1: 99 60 04 STA.W OAM_TileSize,Y CODE_03D4D4: 7A PLY CODE_03D4D5: C8 INY CODE_03D4D6: C8 INY CODE_03D4D7: C8 INY CODE_03D4D8: C8 INY CODE_03D4D9: FA PLX CODE_03D4DA: CA DEX CODE_03D4DB: 10 C6 BPL CODE_03D4A3 CODE_03D4DD: FA PLX Return03D4DE: 60 RTS ; Return CODE_03D4DF: DA PHX CODE_03D4E0: BD 02 16 LDA.W $1602,X CODE_03D4E3: AA TAX CODE_03D4E4: BD 6D D4 LDA.W DATA_03D46D,X CODE_03D4E7: AA TAX CODE_03D4E8: DA PHX CODE_03D4E9: 8A TXA CODE_03D4EA: 18 CLC CODE_03D4EB: 65 02 ADC $02 CODE_03D4ED: AA TAX CODE_03D4EE: A5 00 LDA $00 CODE_03D4F0: 18 CLC CODE_03D4F1: 7D 7C CF ADC.W DATA_03CF7C,X CODE_03D4F4: 99 00 03 STA.W OAM_DispX,Y CODE_03D4F7: A5 01 LDA $01 CODE_03D4F9: 18 CLC CODE_03D4FA: 7D 90 D0 ADC.W DATA_03D090,X CODE_03D4FD: 99 01 03 STA.W OAM_DispY,Y CODE_03D500: BD A4 D1 LDA.W DATA_03D1A4,X CODE_03D503: 99 02 03 STA.W OAM_Tile,Y CODE_03D506: BD B8 D2 LDA.W WendyGfxProp,X CODE_03D509: 09 10 ORA.B #$10 CODE_03D50B: 99 03 03 STA.W OAM_Prop,Y CODE_03D50E: 5A PHY CODE_03D50F: 98 TYA CODE_03D510: 4A LSR CODE_03D511: 4A LSR CODE_03D512: A8 TAY CODE_03D513: BD CC D3 LDA.W DATA_03D3CC,X CODE_03D516: 99 60 04 STA.W OAM_TileSize,Y CODE_03D519: 7A PLY CODE_03D51A: C8 INY CODE_03D51B: C8 INY CODE_03D51C: C8 INY CODE_03D51D: C8 INY CODE_03D51E: FA PLX CODE_03D51F: CA DEX CODE_03D520: 10 C6 BPL CODE_03D4E8 CODE_03D522: 80 B9 BRA CODE_03D4DD DATA_03D524: .db $18,$20 DATA_03D526: .db $A1,$0E,$20,$20,$88,$0E,$28,$20 .db $AB,$0E,$30,$20,$99,$0E,$38,$20 .db $A8,$0E,$40,$20,$BF,$0E,$48,$20 .db $AC,$0E,$58,$20,$88,$0E,$60,$20 .db $8B,$0E,$68,$20,$AF,$0E,$70,$20 .db $8C,$0E,$78,$20,$9E,$0E,$80,$20 .db $AD,$0E,$88,$20,$AE,$0E,$90,$20 .db $AB,$0E,$98,$20,$8C,$0E,$A8,$20 .db $99,$0E,$B0,$20,$AC,$0E,$C0,$20 .db $A8,$0E,$C8,$20,$AF,$0E,$D0,$20 .db $8C,$0E,$D8,$20,$AB,$0E,$E0,$20 .db $BD,$0E,$18,$30,$A1,$0E,$20,$30 .db $88,$0E,$28,$30,$AB,$0E,$30,$30 .db $99,$0E,$38,$30,$A8,$0E,$40,$30 .db $BE,$0E,$48,$30,$AD,$0E,$50,$30 .db $98,$0E,$58,$30,$8C,$0E,$68,$30 .db $A0,$0E,$70,$30,$AB,$0E,$78,$30 .db $99,$0E,$80,$30,$9E,$0E,$88,$30 .db $8A,$0E,$90,$30,$8C,$0E,$98,$30 .db $AC,$0E,$A0,$30,$AC,$0E,$A8,$30 .db $BE,$0E,$B0,$30,$B0,$0E,$B8,$30 .db $A8,$0E,$C0,$30,$AC,$0E,$C8,$30 .db $98,$0E,$D0,$30,$99,$0E,$D8,$30 .db $BE,$0E,$18,$40,$88,$0E,$20,$40 .db $9E,$0E,$28,$40,$8B,$0E,$38,$40 .db $98,$0E,$40,$40,$99,$0E,$48,$40 .db $AC,$0E,$58,$40,$8D,$0E,$60,$40 .db $AB,$0E,$68,$40,$99,$0E,$70,$40 .db $8C,$0E,$78,$40,$9E,$0E,$80,$40 .db $8B,$0E,$88,$40,$AC,$0E,$98,$40 .db $88,$0E,$A0,$40,$AB,$0E,$A8,$40 .db $8C,$0E,$B8,$40,$8E,$0E,$C0,$40 .db $A8,$0E,$C8,$40,$99,$0E,$D0,$40 .db $9E,$0E,$D8,$40,$8E,$0E,$18,$50 .db $AD,$0E,$20,$50,$A8,$0E,$30,$50 .db $AD,$0E,$38,$50,$88,$0E,$40,$50 .db $9B,$0E,$48,$50,$8C,$0E,$58,$50 .db $88,$0E,$68,$50,$AF,$0E,$70,$50 .db $88,$0E,$78,$50,$8A,$0E,$80,$50 .db $88,$0E,$88,$50,$AD,$0E,$90,$50 .db $99,$0E,$98,$50,$A8,$0E,$A0,$50 .db $9E,$0E,$A8,$50,$BD,$0E CODE_03D674: DA PHX CODE_03D675: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_03D677: AE 21 19 LDX.W $1921 CODE_03D67A: F0 2C BEQ CODE_03D6A8 CODE_03D67C: CA DEX CODE_03D67D: A0 00 00 LDY.W #$0000 CODE_03D680: DA PHX CODE_03D681: 8A TXA CODE_03D682: 0A ASL CODE_03D683: 0A ASL CODE_03D684: AA TAX CODE_03D685: BD 24 D5 LDA.W DATA_03D524,X CODE_03D688: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_03D68B: BD 26 D5 LDA.W DATA_03D526,X CODE_03D68E: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_03D691: 5A PHY CODE_03D692: 98 TYA CODE_03D693: 4A LSR CODE_03D694: 4A LSR CODE_03D695: A8 TAY CODE_03D696: E2 20 SEP #$20 ; Accum (8 bit) CODE_03D698: A9 00 LDA.B #$00 CODE_03D69A: 99 20 04 STA.W $0420,Y CODE_03D69D: C2 20 REP #$20 ; Accum (16 bit) CODE_03D69F: 7A PLY CODE_03D6A0: FA PLX CODE_03D6A1: C8 INY CODE_03D6A2: C8 INY CODE_03D6A3: C8 INY CODE_03D6A4: C8 INY CODE_03D6A5: CA DEX CODE_03D6A6: 10 D8 BPL CODE_03D680 CODE_03D6A8: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_03D6AA: FA PLX Return03D6AB: 60 RTS ; Return DATA_03D6AC: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF DATA_03D700: .db $B0,$A0,$90,$80,$70,$60,$50,$40 .db $30,$20,$10,$00 CODE_03D70C: DA PHX CODE_03D70D: AD 20 15 LDA.W RAM_Reznor1Dead ; \ Return if less than 2 reznors killed CODE_03D710: 18 CLC ; | CODE_03D711: 6D 21 15 ADC.W RAM_Reznor2Dead ; | CODE_03D714: 6D 22 15 ADC.W RAM_Reznor3Dead ; | CODE_03D717: 6D 23 15 ADC.W RAM_Reznor4Dead ; | CODE_03D71A: C9 02 CMP.B #$02 ; | CODE_03D71C: 90 39 BCC CODE_03D757 ; / BreakBridge: AE 9F 1B LDX.W $1B9F CODE_03D721: E0 0C CPX.B #$0C CODE_03D723: B0 32 BCS CODE_03D757 CODE_03D725: BF 00 D7 03 LDA.L DATA_03D700,X CODE_03D729: 85 9A STA RAM_BlockYLo CODE_03D72B: 64 9B STZ RAM_BlockYHi CODE_03D72D: A9 B0 LDA.B #$B0 CODE_03D72F: 85 98 STA RAM_BlockXLo CODE_03D731: 64 99 STZ RAM_BlockXHi CODE_03D733: AD A7 14 LDA.W $14A7 CODE_03D736: F0 12 BEQ CODE_03D74A CODE_03D738: C9 3C CMP.B #$3C CODE_03D73A: D0 1B BNE CODE_03D757 CODE_03D73C: 20 7F D7 JSR.W CODE_03D77F CODE_03D73F: 20 59 D7 JSR.W CODE_03D759 CODE_03D742: 20 7F D7 JSR.W CODE_03D77F CODE_03D745: EE 9F 1B INC.W $1B9F CODE_03D748: 80 0D BRA CODE_03D757 CODE_03D74A: 20 66 D7 JSR.W CODE_03D766 CODE_03D74D: A9 40 LDA.B #$40 CODE_03D74F: 8D A7 14 STA.W $14A7 CODE_03D752: A9 07 LDA.B #$07 CODE_03D754: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_03D757: FA PLX Return03D758: 6B RTL ; Return CODE_03D759: C2 20 REP #$20 ; Accum (16 bit) CODE_03D75B: A9 70 01 LDA.W #$0170 CODE_03D75E: 38 SEC CODE_03D75F: E5 9A SBC RAM_BlockYLo CODE_03D761: 85 9A STA RAM_BlockYLo CODE_03D763: E2 20 SEP #$20 ; Accum (8 bit) Return03D765: 60 RTS ; Return CODE_03D766: 20 6C D7 JSR.W CODE_03D76C CODE_03D769: 20 59 D7 JSR.W CODE_03D759 CODE_03D76C: C2 20 REP #$20 ; Accum (16 bit) CODE_03D76E: A5 9A LDA RAM_BlockYLo CODE_03D770: 38 SEC CODE_03D771: E5 1A SBC RAM_ScreenBndryXLo CODE_03D773: C9 00 01 CMP.W #$0100 CODE_03D776: E2 20 SEP #$20 ; Accum (8 bit) CODE_03D778: B0 04 BCS Return03D77E CODE_03D77A: 22 44 8A 02 JSL.L CODE_028A44 Return03D77E: 60 RTS ; Return CODE_03D77F: A5 9A LDA RAM_BlockYLo CODE_03D781: 4A LSR CODE_03D782: 4A LSR CODE_03D783: 4A LSR CODE_03D784: 85 01 STA $01 CODE_03D786: 4A LSR CODE_03D787: 05 98 ORA RAM_BlockXLo CODE_03D789: C2 20 REP #$20 ; Accum (16 bit) CODE_03D78B: 29 FF 00 AND.W #$00FF CODE_03D78E: A6 9B LDX RAM_BlockYHi CODE_03D790: F0 06 BEQ CODE_03D798 CODE_03D792: 18 CLC CODE_03D793: 69 B0 01 ADC.W #$01B0 CODE_03D796: A2 04 LDX.B #$04 CODE_03D798: 86 00 STX $00 CODE_03D79A: C2 10 REP #$10 ; Index (16 bit) CODE_03D79C: AA TAX CODE_03D79D: E2 20 SEP #$20 ; Accum (8 bit) CODE_03D79F: A9 25 LDA.B #$25 CODE_03D7A1: 9F 00 C8 7E STA.L $7EC800,X CODE_03D7A5: A9 00 LDA.B #$00 CODE_03D7A7: 9F 00 C8 7F STA.L $7FC800,X CODE_03D7AB: C2 20 REP #$20 ; Accum (16 bit) CODE_03D7AD: AF 7B 83 7F LDA.L $7F837B CODE_03D7B1: AA TAX CODE_03D7B2: A9 5A C0 LDA.W #$C05A CODE_03D7B5: 18 CLC CODE_03D7B6: 65 00 ADC $00 CODE_03D7B8: 9F 7D 83 7F STA.L $7F837D,X CODE_03D7BC: 09 00 20 ORA.W #$2000 CODE_03D7BF: 9F 83 83 7F STA.L $7F8383,X CODE_03D7C3: A9 40 02 LDA.W #$0240 CODE_03D7C6: 9F 7F 83 7F STA.L $7F837F,X CODE_03D7CA: 9F 85 83 7F STA.L $7F8385,X CODE_03D7CE: A9 FC 38 LDA.W #$38FC CODE_03D7D1: 9F 81 83 7F STA.L $7F8381,X CODE_03D7D5: 9F 87 83 7F STA.L $7F8387,X CODE_03D7D9: A9 FF 00 LDA.W #$00FF CODE_03D7DC: 9F 89 83 7F STA.L $7F8389,X CODE_03D7E0: 8A TXA CODE_03D7E1: 18 CLC CODE_03D7E2: 69 0C 00 ADC.W #$000C CODE_03D7E5: 8F 7B 83 7F STA.L $7F837B CODE_03D7E9: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return03D7EB: 60 RTS ; Return IggyPlatform: .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,$15,$16,$17,$18,$17,$18 .db $17,$18,$17,$18,$19,$1A,$00,$00 .db $00,$00,$01,$02,$03,$04,$03,$04 .db $03,$04,$03,$04,$05,$12,$00,$00 .db $00,$00,$00,$07,$04,$03,$04,$03 .db $04,$03,$04,$03,$08,$00,$00,$00 .db $00,$00,$00,$09,$0A,$04,$03,$04 .db $03,$04,$03,$0B,$0C,$00,$00,$00 .db $00,$00,$00,$00,$0D,$0E,$04,$03 .db $04,$03,$0F,$10,$00,$00,$00,$00 .db $00,$00,$00,$00,$11,$02,$03,$04 .db $03,$04,$05,$12,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$07,$04,$03 .db $04,$03,$08,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$09,$0A,$04 .db $03,$0B,$0C,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$13,$03 .db $04,$14,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$13 .db $14,$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 DATA_03D8EC: .db $FF,$FF DATA_03D8EE: .db $FF,$FF,$FF,$FF,$24,$34,$25,$0B .db $26,$36,$0E,$1B,$0C,$1C,$0D,$1D .db $0E,$1E,$29,$39,$2A,$3A,$2B,$3B .db $26,$38,$20,$30,$21,$31,$27,$37 .db $28,$38,$FF,$FF,$22,$32,$0E,$33 .db $0C,$1C,$0D,$1D,$0E,$3C,$2D,$3D .db $FF,$FF,$07,$17,$0E,$23,$0E,$04 .db $0C,$1C,$0D,$1D,$0E,$09,$0E,$2C .db $0A,$1A,$FF,$FF,$24,$34,$2B,$3B .db $FF,$FF,$07,$17,$0E,$18,$0E,$19 .db $0A,$1A,$02,$12,$03,$13,$03,$08 .db $03,$05,$03,$05,$03,$14,$03,$15 .db $03,$05,$03,$05,$03,$08,$03,$06 .db $0F,$1F CODE_03D958: C2 10 REP #$10 ; Index (16 bit) CODE_03D95A: 9C 15 21 STZ.W $2115 ; VRAM Address Increment Value CODE_03D95D: 9C 16 21 STZ.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_03D960: 9C 17 21 STZ.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_03D963: A2 00 40 LDX.W #$4000 CODE_03D966: A9 FF LDA.B #$FF CODE_03D968: 8D 18 21 STA.W $2118 ; Data for VRAM Write (Low Byte) CODE_03D96B: CA DEX CODE_03D96C: D0 FA BNE CODE_03D968 CODE_03D96E: E2 10 SEP #$10 ; Index (8 bit) CODE_03D970: 2C 9B 0D BIT.W $0D9B CODE_03D973: 70 1B BVS Return03D990 CODE_03D975: 8B PHB CODE_03D976: 4B PHK CODE_03D977: AB PLB CODE_03D978: A9 EC LDA.B #$EC CODE_03D97A: 85 05 STA $05 CODE_03D97C: A9 D7 LDA.B #$D7 CODE_03D97E: 85 06 STA $06 CODE_03D980: A9 03 LDA.B #$03 CODE_03D982: 85 07 STA $07 CODE_03D984: A9 10 LDA.B #$10 CODE_03D986: 85 00 STA $00 CODE_03D988: A9 08 LDA.B #$08 CODE_03D98A: 85 01 STA $01 CODE_03D98C: 20 91 D9 JSR.W CODE_03D991 CODE_03D98F: AB PLB Return03D990: 6B RTL ; Return CODE_03D991: 9C 15 21 STZ.W $2115 ; VRAM Address Increment Value CODE_03D994: A0 00 LDY.B #$00 CODE_03D996: 84 02 STY $02 CODE_03D998: A9 00 LDA.B #$00 CODE_03D99A: 85 03 STA $03 CODE_03D99C: A5 00 LDA $00 CODE_03D99E: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_03D9A1: A5 01 LDA $01 CODE_03D9A3: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_03D9A6: A4 02 LDY $02 CODE_03D9A8: A9 10 LDA.B #$10 CODE_03D9AA: 85 04 STA $04 CODE_03D9AC: B7 05 LDA [$05],Y CODE_03D9AE: 99 F6 0A STA.W $0AF6,Y CODE_03D9B1: 0A ASL CODE_03D9B2: 0A ASL CODE_03D9B3: 05 03 ORA $03 CODE_03D9B5: AA TAX CODE_03D9B6: BF EC D8 03 LDA.L DATA_03D8EC,X CODE_03D9BA: 8D 18 21 STA.W $2118 ; Data for VRAM Write (Low Byte) CODE_03D9BD: BF EE D8 03 LDA.L DATA_03D8EE,X CODE_03D9C1: 8D 18 21 STA.W $2118 ; Data for VRAM Write (Low Byte) CODE_03D9C4: C8 INY CODE_03D9C5: C6 04 DEC $04 CODE_03D9C7: D0 E3 BNE CODE_03D9AC CODE_03D9C9: A5 00 LDA $00 CODE_03D9CB: 18 CLC CODE_03D9CC: 69 80 ADC.B #$80 CODE_03D9CE: 85 00 STA $00 CODE_03D9D0: 90 02 BCC CODE_03D9D4 CODE_03D9D2: E6 01 INC $01 CODE_03D9D4: A5 03 LDA $03 CODE_03D9D6: 49 01 EOR.B #$01 CODE_03D9D8: D0 C0 BNE CODE_03D99A CODE_03D9DA: 98 TYA CODE_03D9DB: D0 B9 BNE CODE_03D996 Return03D9DD: 60 RTS ; Return DATA_03D9DE: .db $FF,$00,$FF,$FF,$02,$04,$06,$FF .db $08,$0A,$0C,$FF,$0E,$10,$12,$FF .db $FF,$00,$FF,$FF,$02,$04,$06,$FF .db $08,$0A,$0C,$FF,$0E,$14,$16,$FF .db $FF,$00,$FF,$FF,$02,$04,$06,$FF .db $08,$0A,$0C,$FF,$0E,$18,$1A,$FF .db $46,$48,$4A,$FF,$4C,$4E,$50,$FF .db $52,$54,$0C,$FF,$0E,$18,$1A,$FF .db $FF,$FF,$FF,$FF,$B2,$B4,$06,$FF .db $D2,$D4,$0C,$FF,$0E,$18,$1A,$FF .db $FF,$1C,$FF,$FF,$1E,$20,$22,$FF .db $24,$26,$28,$FF,$FF,$2A,$2C,$FF .db $FF,$2E,$30,$FF,$32,$34,$35,$33 .db $36,$38,$39,$37,$42,$44,$45,$43 .db $FF,$2E,$30,$FF,$32,$34,$35,$33 .db $36,$38,$39,$37,$42,$44,$45,$43 .db $FF,$2E,$30,$FF,$32,$34,$35,$33 .db $36,$38,$39,$37,$3E,$40,$41,$3F .db $5A,$FF,$FF,$FF,$5C,$5E,$06,$FF .db $08,$0A,$0C,$FF,$0E,$10,$12,$FF .db $5A,$FF,$FF,$FF,$5C,$5E,$06,$FF .db $08,$0A,$0C,$FF,$0E,$14,$16,$FF .db $5A,$FF,$FF,$FF,$5C,$5E,$06,$FF .db $08,$0A,$0C,$FF,$0E,$18,$1A,$FF .db $6C,$6E,$FF,$FF,$72,$74,$50,$FF .db $52,$54,$0C,$FF,$0E,$18,$1A,$FF .db $FF,$BE,$FF,$FF,$DC,$DE,$06,$FF .db $D2,$D4,$0C,$FF,$0E,$18,$1A,$FF .db $60,$62,$FF,$FF,$64,$66,$22,$FF .db $24,$26,$28,$FF,$FF,$2A,$2C,$FF .db $FF,$68,$69,$FF,$32,$6A,$6B,$33 .db $36,$38,$39,$37,$42,$44,$45,$43 .db $FF,$68,$69,$FF,$32,$6A,$6B,$33 .db $36,$38,$39,$37,$42,$44,$45,$43 .db $FF,$68,$69,$FF,$32,$6A,$6B,$33 .db $36,$38,$39,$37,$3E,$40,$41,$3F .db $7A,$7C,$FF,$FF,$7E,$80,$82,$FF .db $84,$86,$0C,$FF,$0E,$10,$12,$FF .db $7A,$7C,$FF,$FF,$7E,$80,$06,$FF .db $84,$86,$0C,$FF,$0E,$14,$16,$FF .db $7A,$7C,$FF,$FF,$7E,$80,$06,$FF .db $84,$86,$0C,$FF,$0E,$18,$1A,$FF .db $A0,$A2,$A4,$FF,$A6,$A8,$AA,$FF .db $52,$54,$0C,$FF,$0E,$18,$1A,$FF .db $FF,$B8,$FF,$FF,$D6,$D8,$DA,$FF .db $D2,$D4,$0C,$FF,$0E,$18,$1A,$FF .db $88,$8A,$8C,$FF,$8E,$90,$92,$FF .db $94,$96,$28,$FF,$FF,$2A,$2C,$FF .db $98,$9A,$9B,$99,$9C,$9E,$9F,$9D .db $36,$38,$39,$37,$42,$44,$45,$43 .db $98,$9A,$9B,$99,$9C,$9E,$9F,$9D .db $36,$38,$39,$37,$42,$44,$45,$43 .db $98,$9A,$9B,$99,$9C,$9E,$9F,$9D .db $36,$38,$39,$37,$3E,$40,$41,$3F .db $FF,$FF,$FF,$FF,$FF,$CC,$FF,$FF .db $C0,$C2,$C4,$FF,$E0,$E2,$E4,$FF .db $FF,$FF,$FF,$FF,$FF,$CC,$FF,$FF .db $C6,$C8,$CA,$FF,$E6,$E8,$EA,$FF .db $FF,$FF,$FF,$FF,$FF,$CD,$FF,$FF .db $C5,$C3,$C1,$FF,$E5,$E3,$E1,$FF .db $FF,$90,$92,$94,$96,$FF,$FF,$FF .db $FF,$B0,$B2,$B4,$B6,$38,$FF,$FF .db $FF,$D0,$D2,$D4,$D6,$58,$5A,$FF .db $FF,$F0,$F2,$F4,$F6,$78,$7A,$FF .db $FF,$90,$92,$94,$96,$FF,$FF,$FF .db $FF,$98,$9A,$9C,$B6,$38,$FF,$FF .db $FF,$D0,$D2,$D4,$D6,$58,$5A,$FF .db $FF,$F0,$F2,$F4,$F6,$78,$7A,$FF .db $FF,$90,$92,$94,$96,$FF,$FF,$FF .db $FF,$98,$BA,$BC,$B6,$38,$FF,$FF .db $FF,$D8,$DA,$DC,$D6,$58,$5A,$FF .db $FF,$F8,$FA,$FC,$F6,$78,$7A,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$90,$92,$94,$96,$FF,$FF .db $FF,$FF,$98,$BA,$BC,$B6,$38,$FF .db $FF,$FF,$D8,$DA,$DC,$D6,$58,$5A .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$90,$92,$94,$96,$FF,$FF .db $FF,$FF,$98,$BA,$BC,$B6,$38,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$90,$92,$94,$96,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$90,$92,$94,$96,$FF,$FF,$FF .db $FF,$98,$BA,$BC,$B6,$38,$FF,$FF .db $FF,$D8,$DA,$DC,$D6,$58,$5A,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $04,$06,$08,$0A,$0B,$09,$07,$05 .db $24,$26,$28,$2A,$2C,$29,$27,$25 .db $FF,$84,$86,$88,$89,$87,$85,$FF .db $FF,$A4,$A6,$A8,$A9,$A7,$A5,$FF .db $04,$06,$08,$0A,$0B,$09,$07,$05 .db $24,$26,$28,$2D,$2B,$29,$27,$25 .db $FF,$84,$86,$88,$89,$87,$85,$FF .db $FF,$A4,$A6,$0C,$0D,$A7,$A5,$FF .db $80,$82,$83,$8A,$82,$83,$8C,$8E .db $A0,$A2,$A3,$C4,$A2,$A3,$AC,$AE .db $80,$8A,$8A,$8A,$8A,$8A,$8C,$8E .db $A0,$60,$61,$C4,$60,$61,$AC,$AE .db $80,$03,$01,$8A,$00,$02,$8C,$8E .db $A0,$23,$21,$C4,$20,$22,$AC,$AE .db $80,$00,$02,$8A,$03,$01,$AA,$8E .db $A0,$20,$22,$C4,$23,$21,$AC,$AE .db $C0,$C2,$C4,$C4,$C4,$CA,$CC,$CE .db $E0,$E2,$E4,$E6,$E8,$EA,$EC,$EE .db $40,$42,$44,$46,$48,$4A,$4C,$4E .db $FF,$62,$64,$66,$68,$6A,$6C,$FF .db $10,$12,$14,$16,$18,$1A,$1C,$1E .db $10,$30,$32,$34,$36,$1A,$1C,$1E KoopaPalPtrLo: .db $BC,$A4,$98,$78,$6C KoopaPalPtrHi: .db $B2,$B2,$B2,$B3,$B3 DATA_03DD78: .db $0B,$0B,$0B,$21,$00 CODE_03DD7D: DA PHX CODE_03DD7E: 8B PHB CODE_03DD7F: 4B PHK CODE_03DD80: AB PLB CODE_03DD81: B4 C2 LDY RAM_SpriteState,X CODE_03DD83: 8C FC 13 STY.W $13FC CODE_03DD86: C0 04 CPY.B #$04 CODE_03DD88: D0 0D BNE CODE_03DD97 CODE_03DD8A: 20 8E DE JSR.W CODE_03DE8E CODE_03DD8D: A9 48 LDA.B #$48 CODE_03DD8F: 85 2C STA $2C CODE_03DD91: A9 14 LDA.B #$14 CODE_03DD93: 85 38 STA $38 CODE_03DD95: 85 39 STA $39 CODE_03DD97: A9 FF LDA.B #$FF CODE_03DD99: 85 5D STA RAM_ScreensInLvl CODE_03DD9B: 1A INC A CODE_03DD9C: 85 5E STA $5E CODE_03DD9E: AC FC 13 LDY.W $13FC CODE_03DDA1: BE 78 DD LDX.W DATA_03DD78,Y CODE_03DDA4: B9 6E DD LDA.W KoopaPalPtrLo,Y ; \ $00 = Pointer in bank 0 (from above tables) CODE_03DDA7: 85 00 STA $00 ; | CODE_03DDA9: B9 73 DD LDA.W KoopaPalPtrHi,Y ; | CODE_03DDAC: 85 01 STA $01 ; | CODE_03DDAE: 64 02 STZ $02 ; / CODE_03DDB0: A0 0B LDY.B #$0B ; \ Read 0B bytes and put them in $0707 CODE_03DDB2: B7 00 LDA [$00],Y ; | CODE_03DDB4: 99 07 07 STA.W $0707,Y ; | CODE_03DDB7: 88 DEY ; | CODE_03DDB8: 10 F8 BPL CODE_03DDB2 ; / CODE_03DDBA: A9 80 LDA.B #$80 CODE_03DDBC: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_03DDBF: 9C 16 21 STZ.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_03DDC2: 9C 17 21 STZ.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_03DDC5: 9B TXY CODE_03DDC6: F0 0F BEQ CODE_03DDD7 CODE_03DDC8: 22 28 BA 00 JSL.L CODE_00BA28 CODE_03DDCC: A9 80 LDA.B #$80 CODE_03DDCE: 85 03 STA $03 CODE_03DDD0: 20 E5 DD JSR.W CODE_03DDE5 CODE_03DDD3: C6 03 DEC $03 CODE_03DDD5: D0 F9 BNE CODE_03DDD0 CODE_03DDD7: A2 5F LDX.B #$5F CODE_03DDD9: A9 FF LDA.B #$FF CODE_03DDDB: 9F 80 C6 7E STA.L $7EC680,X CODE_03DDDF: CA DEX CODE_03DDE0: 10 F7 BPL CODE_03DDD9 CODE_03DDE2: AB PLB CODE_03DDE3: FA PLX Return03DDE4: 6B RTL ; Return CODE_03DDE5: A2 00 LDX.B #$00 CODE_03DDE7: 9B TXY CODE_03DDE8: A9 08 LDA.B #$08 CODE_03DDEA: 85 05 STA $05 CODE_03DDEC: 20 39 DE JSR.W CODE_03DE39 CODE_03DDEF: 5A PHY CODE_03DDF0: 98 TYA CODE_03DDF1: 4A LSR CODE_03DDF2: 18 CLC CODE_03DDF3: 69 0F ADC.B #$0F CODE_03DDF5: A8 TAY CODE_03DDF6: 20 3C DE JSR.W CODE_03DE3C CODE_03DDF9: A0 08 LDY.B #$08 CODE_03DDFB: BD A3 1B LDA.W $1BA3,X CODE_03DDFE: 0A ASL CODE_03DDFF: 2A ROL CODE_03DE00: 2A ROL CODE_03DE01: 2A ROL CODE_03DE02: 29 07 AND.B #$07 CODE_03DE04: 9D A3 1B STA.W $1BA3,X CODE_03DE07: 8D 19 21 STA.W $2119 ; Data for VRAM Write (High Byte) CODE_03DE0A: E8 INX CODE_03DE0B: 88 DEY CODE_03DE0C: D0 ED BNE CODE_03DDFB CODE_03DE0E: 7A PLY CODE_03DE0F: C6 05 DEC $05 CODE_03DE11: D0 D9 BNE CODE_03DDEC CODE_03DE13: A9 07 LDA.B #$07 CODE_03DE15: AA TAX CODE_03DE16: A0 08 LDY.B #$08 CODE_03DE18: 84 05 STY $05 CODE_03DE1A: BC A3 1B LDY.W $1BA3,X CODE_03DE1D: 8C 19 21 STY.W $2119 ; Data for VRAM Write (High Byte) CODE_03DE20: CA DEX CODE_03DE21: C6 05 DEC $05 CODE_03DE23: D0 F5 BNE CODE_03DE1A CODE_03DE25: 18 CLC CODE_03DE26: 69 08 ADC.B #$08 CODE_03DE28: C9 40 CMP.B #$40 CODE_03DE2A: 90 E9 BCC CODE_03DE15 CODE_03DE2C: C2 20 REP #$20 ; Accum (16 bit) CODE_03DE2E: A5 00 LDA $00 CODE_03DE30: 18 CLC CODE_03DE31: 69 18 00 ADC.W #$0018 CODE_03DE34: 85 00 STA $00 CODE_03DE36: E2 20 SEP #$20 ; Accum (8 bit) Return03DE38: 60 RTS ; Return CODE_03DE39: 20 3C DE JSR.W CODE_03DE3C CODE_03DE3C: DA PHX CODE_03DE3D: B7 00 LDA [$00],Y CODE_03DE3F: 5A PHY CODE_03DE40: A0 08 LDY.B #$08 CODE_03DE42: 0A ASL CODE_03DE43: 7E A3 1B ROR.W $1BA3,X CODE_03DE46: E8 INX CODE_03DE47: 88 DEY CODE_03DE48: D0 F8 BNE CODE_03DE42 CODE_03DE4A: 7A PLY CODE_03DE4B: C8 INY CODE_03DE4C: FA PLX Return03DE4D: 60 RTS ; Return DATA_03DE4E: .db $40,$41,$42,$43,$44,$45,$46,$47 .db $50,$51,$52,$53,$54,$55,$56,$57 .db $60,$61,$62,$63,$64,$65,$66,$67 .db $70,$71,$72,$73,$74,$75,$76,$77 .db $48,$49,$4A,$4B,$4C,$4D,$4E,$4F .db $58,$59,$5A,$5B,$5C,$5D,$5E,$5F .db $68,$69,$6A,$6B,$6C,$6D,$6E,$6F .db $78,$79,$7A,$7B,$7C,$7D,$7E,$3F CODE_03DE8E: 9C 15 21 STZ.W $2115 ; VRAM Address Increment Value CODE_03DE91: C2 20 REP #$20 ; Accum (16 bit) CODE_03DE93: A9 1C 0A LDA.W #$0A1C CODE_03DE96: 85 00 STA $00 CODE_03DE98: A2 00 LDX.B #$00 CODE_03DE9A: C2 20 REP #$20 ; Accum (16 bit) CODE_03DE9C: A5 00 LDA $00 CODE_03DE9E: 18 CLC CODE_03DE9F: 69 80 00 ADC.W #$0080 CODE_03DEA2: 85 00 STA $00 CODE_03DEA4: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_03DEA7: E2 20 SEP #$20 ; Accum (8 bit) CODE_03DEA9: A0 08 LDY.B #$08 CODE_03DEAB: BF 4E DE 03 LDA.L DATA_03DE4E,X CODE_03DEAF: 8D 18 21 STA.W $2118 ; Data for VRAM Write (Low Byte) CODE_03DEB2: E8 INX CODE_03DEB3: 88 DEY CODE_03DEB4: D0 F5 BNE CODE_03DEAB CODE_03DEB6: E0 40 CPX.B #$40 CODE_03DEB8: 90 E0 BCC CODE_03DE9A Return03DEBA: 60 RTS ; Return DATA_03DEBB: .db $00,$01,$10,$01 DATA_03DEBF: .db $6E,$70,$FF,$50,$FE,$FE,$FF,$57 DATA_03DEC7: .db $72,$74,$52,$54,$3C,$3E,$55,$53 DATA_03DECF: .db $76,$56,$56,$FF,$FF,$FF,$51,$FF DATA_03DED7: .db $20,$03,$30,$03,$40,$03,$50,$03 CODE_03DEDF: 8B PHB CODE_03DEE0: 4B PHK CODE_03DEE1: AB PLB CODE_03DEE2: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_03DEE5: EB XBA CODE_03DEE6: B5 E4 LDA RAM_SpriteXLo,X CODE_03DEE8: A0 00 LDY.B #$00 CODE_03DEEA: 20 AE DF JSR.W CODE_03DFAE CODE_03DEED: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_03DEF0: EB XBA CODE_03DEF1: B5 D8 LDA RAM_SpriteYLo,X CODE_03DEF3: A0 02 LDY.B #$02 CODE_03DEF5: 20 AE DF JSR.W CODE_03DFAE CODE_03DEF8: DA PHX CODE_03DEF9: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_03DEFB: 64 06 STZ $06 CODE_03DEFD: A0 03 00 LDY.W #$0003 CODE_03DF00: AD 9B 0D LDA.W $0D9B CODE_03DF03: 4A LSR CODE_03DF04: 90 3E BCC CODE_03DF44 CODE_03DF06: AD 28 14 LDA.W $1428 CODE_03DF09: 29 03 00 AND.W #$0003 CODE_03DF0C: 0A ASL CODE_03DF0D: AA TAX CODE_03DF0E: BF BF DE 03 LDA.L DATA_03DEBF,X CODE_03DF12: 8F 81 C6 7E STA.L $7EC681 CODE_03DF16: BF C7 DE 03 LDA.L DATA_03DEC7,X CODE_03DF1A: 8F 83 C6 7E STA.L $7EC683 CODE_03DF1E: BF CF DE 03 LDA.L DATA_03DECF,X CODE_03DF22: 8F 85 C6 7E STA.L $7EC685 CODE_03DF26: A9 08 00 LDA.W #$0008 CODE_03DF29: 85 06 STA $06 CODE_03DF2B: A2 80 03 LDX.W #$0380 CODE_03DF2E: AD A2 1B LDA.W $1BA2 CODE_03DF31: 29 7F 00 AND.W #$007F CODE_03DF34: C9 2C 00 CMP.W #$002C CODE_03DF37: 90 03 BCC CODE_03DF3C CODE_03DF39: A2 88 03 LDX.W #$0388 CODE_03DF3C: 8A TXA CODE_03DF3D: A2 0A 00 LDX.W #$000A CODE_03DF40: A0 07 00 LDY.W #$0007 CODE_03DF43: 38 SEC CODE_03DF44: 84 00 STY $00 CODE_03DF46: B0 0D BCS CODE_03DF55 CODE_03DF48: AD A2 1B LDA.W $1BA2 CODE_03DF4B: 29 7F 00 AND.W #$007F CODE_03DF4E: 0A ASL CODE_03DF4F: 0A ASL CODE_03DF50: 0A ASL CODE_03DF51: 0A ASL CODE_03DF52: A2 03 00 LDX.W #$0003 CODE_03DF55: 86 02 STX $02 CODE_03DF57: 48 PHA CODE_03DF58: AC A1 1B LDY.W $1BA1 CODE_03DF5B: 10 03 BPL CODE_03DF60 CODE_03DF5D: 18 CLC CODE_03DF5E: 65 00 ADC $00 CODE_03DF60: A8 TAY CODE_03DF61: E2 20 SEP #$20 ; Accum (8 bit) CODE_03DF63: A6 06 LDX $06 CODE_03DF65: A5 00 LDA $00 CODE_03DF67: 85 04 STA $04 CODE_03DF69: B9 DE D9 LDA.W DATA_03D9DE,Y CODE_03DF6C: C8 INY CODE_03DF6D: 2C A2 1B BIT.W $1BA2 CODE_03DF70: 10 04 BPL CODE_03DF76 CODE_03DF72: 49 01 EOR.B #$01 CODE_03DF74: 88 DEY CODE_03DF75: 88 DEY CODE_03DF76: 9F 80 C6 7E STA.L $7EC680,X CODE_03DF7A: E8 INX CODE_03DF7B: C6 04 DEC $04 CODE_03DF7D: 10 EA BPL CODE_03DF69 CODE_03DF7F: 86 06 STX $06 CODE_03DF81: C2 20 REP #$20 ; Accum (16 bit) CODE_03DF83: 68 PLA CODE_03DF84: 38 SEC CODE_03DF85: 65 00 ADC $00 CODE_03DF87: A6 02 LDX $02 CODE_03DF89: E0 04 00 CPX.W #$0004 CODE_03DF8C: F0 BA BEQ CODE_03DF48 CODE_03DF8E: E0 08 00 CPX.W #$0008 CODE_03DF91: D0 03 BNE CODE_03DF96 CODE_03DF93: A9 60 03 LDA.W #$0360 CODE_03DF96: E0 0A 00 CPX.W #$000A CODE_03DF99: D0 0B BNE CODE_03DFA6 CODE_03DF9B: AD 27 14 LDA.W $1427 CODE_03DF9E: 29 03 00 AND.W #$0003 CODE_03DFA1: 0A ASL CODE_03DFA2: A8 TAY CODE_03DFA3: B9 D7 DE LDA.W DATA_03DED7,Y CODE_03DFA6: CA DEX CODE_03DFA7: 10 AC BPL CODE_03DF55 CODE_03DFA9: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_03DFAB: FA PLX CODE_03DFAC: AB PLB Return03DFAD: 6B RTL ; Return CODE_03DFAE: DA PHX CODE_03DFAF: BB TYX CODE_03DFB0: C2 20 REP #$20 ; Accum (16 bit) CODE_03DFB2: 49 FF FF EOR.W #$FFFF CODE_03DFB5: 1A INC A CODE_03DFB6: 18 CLC CODE_03DFB7: 7F BB DE 03 ADC.L DATA_03DEBB,X CODE_03DFBB: 18 CLC CODE_03DFBC: 75 1A ADC RAM_ScreenBndryXLo,X CODE_03DFBE: 95 3A STA $3A,X CODE_03DFC0: E2 20 SEP #$20 ; Accum (8 bit) CODE_03DFC2: FA PLX Return03DFC3: 60 RTS ; Return DATA_03DFC4: .db $00,$0E,$1C,$2A,$38,$46,$54,$62 CODE_03DFCC: DA PHX CODE_03DFCD: AE 81 06 LDX.W $0681 CODE_03DFD0: A9 10 LDA.B #$10 CODE_03DFD2: 9D 82 06 STA.W $0682,X CODE_03DFD5: 9E 83 06 STZ.W $0683,X CODE_03DFD8: 9E 84 06 STZ.W $0684,X CODE_03DFDB: 9E 85 06 STZ.W $0685,X CODE_03DFDE: 9B TXY CODE_03DFDF: AE FB 1F LDX.W $1FFB CODE_03DFE2: D0 37 BNE CODE_03E01B CODE_03DFE4: AD 0D 19 LDA.W $190D CODE_03DFE7: F0 07 BEQ CODE_03DFF0 CODE_03DFE9: C2 20 REP #$20 ; Accum (16 bit) CODE_03DFEB: AD 01 07 LDA.W $0701 CODE_03DFEE: 80 41 BRA CODE_03E031 CODE_03DFF0: A5 14 LDA RAM_FrameCounterB ; Accum (8 bit) herr CODE_03DFF2: 4A LSR CODE_03DFF3: 90 41 BCC CODE_03E036 CODE_03DFF5: CE FC 1F DEC.W $1FFC CODE_03DFF8: D0 3C BNE CODE_03E036 CODE_03DFFA: AA TAX CODE_03DFFB: BF 08 F7 04 LDA.L CODE_04F708,X CODE_03DFFF: 29 07 AND.B #$07 CODE_03E001: AA TAX CODE_03E002: BF F8 F6 04 LDA.L DATA_04F6F8,X CODE_03E006: 8D FC 1F STA.W $1FFC CODE_03E009: BF 00 F7 04 LDA.L DATA_04F700,X CODE_03E00D: 8D FB 1F STA.W $1FFB CODE_03E010: AA TAX CODE_03E011: A9 08 LDA.B #$08 CODE_03E013: 8D FD 1F STA.W $1FFD CODE_03E016: A9 18 LDA.B #$18 CODE_03E018: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_03E01B: CE FD 1F DEC.W $1FFD CODE_03E01E: 10 08 BPL CODE_03E028 CODE_03E020: CE FB 1F DEC.W $1FFB CODE_03E023: A9 04 LDA.B #$04 CODE_03E025: 8D FD 1F STA.W $1FFD CODE_03E028: 8A TXA CODE_03E029: 0A ASL CODE_03E02A: AA TAX CODE_03E02B: C2 20 REP #$20 ; Accum (16 bit) CODE_03E02D: BF DE B5 00 LDA.L DATA_00B5DE,X CODE_03E031: 99 84 06 STA.W $0684,Y CODE_03E034: E2 20 SEP #$20 ; Accum (8 bit) CODE_03E036: AE 29 14 LDX.W $1429 CODE_03E039: BF C4 DF 03 LDA.L DATA_03DFC4,X CODE_03E03D: AA TAX CODE_03E03E: A9 0E LDA.B #$0E CODE_03E040: 85 00 STA $00 CODE_03E042: BF 9E B6 00 LDA.L DATA_00B69E,X CODE_03E046: 99 86 06 STA.W $0686,Y CODE_03E049: E8 INX CODE_03E04A: C8 INY CODE_03E04B: C6 00 DEC $00 CODE_03E04D: D0 F3 BNE CODE_03E042 CODE_03E04F: BB TYX CODE_03E050: 9E 86 06 STZ.W $0686,X CODE_03E053: E8 INX CODE_03E054: E8 INX CODE_03E055: E8 INX CODE_03E056: E8 INX CODE_03E057: 8E 81 06 STX.W $0681 CODE_03E05A: FA PLX Return03E05B: 6B RTL ; Return DATA_03E05C: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF ADDR_03E400: C6 19 DEC RAM_MarioPowerUp ; \ Unreachable Return03E402: 60 RTS ; / Decrease Mario's Status DATA_03E403: .db $13,$78,$13,$BE,$14,$F2,$14,$1C .db $16,$78,$13,$BE,$14,$F2,$14,$1C .db $16,$78,$13,$BE,$14,$F2,$14,$1C .db $16,$9E,$13,$AE,$13,$BE,$13,$DE .db $13,$CE,$13,$EE,$13,$FE,$13,$0E .db $14,$1E,$14,$2E,$14,$3E,$14,$4E .db $14,$5E,$14,$6E,$14,$7E,$14,$8E .db $14,$9E,$14,$AE,$14,$00,$00,$94 .db $21,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$97 .db $21,$BB,$21,$51,$22,$F7,$21,$33 .db $22,$15,$22,$D9,$21,$73,$22,$92 .db $22,$B4,$23,$E2,$23,$00,$00,$00 .db $00,$00,$00,$CC,$23,$0F,$24,$C9 .db $22,$B4,$23,$E2,$23,$00,$23,$00 .db $00,$1A,$23,$CC,$23,$0F,$24,$44 .db $24,$6B,$24,$AF,$24,$00,$00,$00 .db $00,$00,$00,$8E,$24,$DF,$24,$35 .db $25,$6E,$25,$B2,$25,$5C,$25,$00 .db $00,$0F,$25,$91,$25,$E2,$25,$12 .db $26,$8D,$26,$B1,$26,$61,$26,$00 .db $00,$3A,$26,$A0,$26,$E1,$26,$11 .db $27,$7E,$27,$A8,$27,$54,$27,$00 .db $00,$33,$27,$94,$27,$0F,$24,$D1 .db $22,$B4,$23,$E2,$23,$00,$23,$7E .db $23,$50,$23,$CC,$23,$0F,$24,$14 .db $28,$54,$28,$80,$28,$4C,$28,$2C .db $28,$FD,$27,$6B,$28,$A4,$28,$C8 .db $28,$E7,$28,$7D,$29,$23,$29,$5F .db $29,$41,$29,$05,$29,$9F,$29,$D1 .db $22,$BE,$29,$E2,$23,$00,$23,$7E .db $23,$50,$23,$CC,$23,$0F,$24,$14 .db $28,$F5,$29,$0D,$2A,$4C,$28,$2C .db $28,$FD,$27,$6B,$28,$A4,$28,$47 .db $2A,$66,$2A,$00,$2B,$A2,$2A,$E0 .db $2A,$C0,$2A,$84,$2A,$24,$2B,$79 .db $2B,$43,$2B,$E2,$23,$00,$23,$E2 .db $2B,$AE,$2B,$CC,$23,$0F,$24,$47 .db $2C,$18,$2C,$0D,$2A,$4C,$28,$5F .db $2C,$30,$2C,$6B,$28,$A4,$28,$25 .db $2A,$66,$2A,$00,$2B,$A2,$2A,$E0 .db $2A,$C0,$2A,$84,$2A,$24,$2B,$7F .db $2C,$98,$2C,$0C,$2D,$C8,$2C,$F6 .db $2C,$E0,$2C,$B0,$2C,$00,$00,$C2 .db $14,$00,$00,$76,$1E,$C5,$1E,$F0 .db $1E,$A2,$1E,$03,$1F,$2A,$1F,$49 .db $1F,$68,$1F,$A4,$1F,$0A,$20,$4C .db $20,$E9,$1F,$C8,$1F,$83,$1F,$2C .db $20,$7B,$20,$A6,$20,$C8,$20,$5A .db $21,$04,$21,$3E,$21,$22,$21,$E6 .db $20,$7A,$21,$D2,$14,$E2,$14,$2C .db $15,$4C,$15,$3C,$15,$5C,$15,$6C .db $15,$7C,$15,$8C,$15,$9C,$15,$AC .db $15,$CC,$15,$BC,$15,$DC,$15,$EC .db $15,$AE,$13,$4E,$14,$5E,$14,$6E .db $14,$7E,$14,$8E,$14,$6E,$14,$FC .db $15,$6E,$14,$7E,$14,$8E,$14,$9E .db $14,$0C,$16,$00,$00,$3D,$16,$93 .db $17,$BD,$17,$1B,$17,$57,$17,$99 .db $16,$00,$00,$E7,$17,$3D,$16,$93 .db $17,$BD,$17,$1B,$17,$57,$17,$DE .db $16,$00,$00,$E7,$17,$00,$18,$EF .db $18,$10,$19,$89,$18,$BC,$18,$55 .db $18,$00,$00,$E7,$17,$31,$19,$E4 .db $19,$05,$1A,$8A,$19,$B7,$19,$5F .db $19,$00,$00,$E7,$17,$C8,$1A,$AB .db $1B,$CC,$1B,$3F,$1B,$77,$1B,$91 .db $1B,$00,$00,$E7,$17,$ED,$1B,$6E .db $1C,$8F,$1C,$1B,$1C,$48,$1C,$5B .db $1C,$00,$00,$E7,$17,$C8,$1A,$AB .db $1B,$CC,$1B,$3F,$1B,$77,$1B,$91 .db $1B,$01,$1B,$E7,$17,$B0,$1C,$70 .db $1D,$90,$1D,$19,$1D,$4A,$1D,$5D .db $1D,$E2,$1C,$AE,$1D,$3D,$16,$93 .db $17,$BD,$17,$1B,$17,$57,$17,$99 .db $16,$7C,$16,$E7,$17,$3D,$16,$93 .db $17,$BD,$17,$1B,$17,$57,$17,$DE .db $16,$7C,$16,$E7,$17,$00,$18,$EF .db $18,$10,$19,$89,$18,$BC,$18,$55 .db $18,$34,$18,$E7,$17,$26,$1A,$A6 .db $1A,$B7,$1A,$4E,$1A,$67,$1A,$80 .db $1A,$40,$1A,$E7,$17,$32,$16,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$3A,$16,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$C1,$1D,$D4 .db $1D,$58,$1E,$F8,$1D,$3E,$1E,$0A .db $1E,$E6,$1D,$24,$1E,$2C,$15,$4C .db $15,$2C,$15,$5C,$15,$6C,$15,$7C .db $15,$6C,$15,$9C,$15,$FF,$00,$1C .db $16,$00,$00,$DA,$04,$E2,$16,$E3 .db $90,$1B,$00,$E4,$01,$00,$DA,$12 .db $E2,$1E,$DB,$0A,$DE,$14,$19,$27 .db $0C,$6D,$B4,$0C,$2E,$B7,$B9,$30 .db $6E,$B7,$0C,$2D,$B9,$0C,$6E,$BB .db $C6,$0C,$2D,$BB,$30,$6E,$B9,$0C .db $2D,$B3,$0C,$6E,$B4,$0C,$2D,$B7 .db $B9,$30,$6E,$B7,$0C,$2D,$B8,$0C .db $6E,$B9,$C6,$0C,$2D,$B9,$30,$6E .db $B7,$0C,$2D,$B8,$00,$DA,$12,$DB .db $0F,$DE,$14,$14,$20,$48,$6D,$B7 .db $18,$B9,$48,$B7,$0C,$B4,$B5,$30 .db $B7,$0C,$C6,$B9,$B7,$B9,$48,$B7 .db $18,$B4,$DA,$00,$DB,$05,$DE,$14 .db $19,$27,$30,$6B,$C7,$0C,$C7,$B7 .db $0C,$2C,$B9,$BC,$06,$7B,$BB,$BC .db $0C,$69,$BB,$18,$C6,$0C,$C7,$B3 .db $0C,$2C,$B7,$BB,$06,$7B,$B9,$BB .db $0C,$69,$B9,$18,$C6,$0C,$C7,$B2 .db $0C,$2C,$B4,$B9,$06,$7B,$B7,$B9 .db $0C,$69,$B7,$18,$C6,$0C,$C7,$06 .db $4B,$AD,$AF,$B0,$B2,$B4,$B5,$30 .db $6B,$B4,$0C,$C7,$B7,$0C,$2C,$B9 .db $BC,$06,$7B,$BB,$BC,$0C,$69,$BB .db $18,$C6,$0C,$C7,$B3,$0C,$2C,$B7 .db $BB,$06,$7B,$B9,$BB,$0C,$69,$B9 .db $18,$C6,$0C,$C7,$B2,$0C,$2C,$B4 .db $B9,$06,$7B,$B7,$B9,$0C,$69,$B7 .db $18,$C6,$0C,$C7,$06,$4B,$AD,$AF .db $B0,$B2,$B4,$B5,$DA,$12,$DB,$08 .db $DE,$14,$1F,$25,$0C,$6D,$B0,$0C .db $2E,$B4,$B4,$30,$6E,$B4,$0C,$2D .db $B4,$0C,$6E,$B7,$C6,$0C,$2D,$B7 .db $30,$6E,$B3,$0C,$2D,$AF,$0C,$6E .db $AE,$0C,$2D,$B2,$B2,$30,$6E,$B2 .db $0C,$2D,$B2,$0C,$6E,$B4,$C6,$0C .db $2D,$B4,$30,$6E,$B4,$0C,$2D,$B4 .db $DA,$12,$DB,$0C,$DE,$14,$1B,$26 .db $0C,$6D,$AB,$0C,$2E,$B0,$B0,$30 .db $6E,$B0,$0C,$2D,$B0,$0C,$6E,$B3 .db $C6,$0C,$2D,$B3,$30,$6E,$AF,$0C .db $2D,$AB,$0C,$6E,$AB,$0C,$2E,$AE .db $AE,$30,$6E,$AE,$0C,$2D,$AE,$0C .db $6E,$B1,$C6,$0C,$2D,$B1,$30,$6E .db $B1,$0C,$2D,$B1,$DA,$04,$DB,$08 .db $DE,$14,$19,$28,$0C,$3B,$C7,$9C .db $C7,$9C,$C7,$9C,$C7,$9C,$C7,$9B .db $C7,$9B,$C7,$9B,$C7,$9B,$C7,$9A .db $C7,$9A,$C7,$9A,$C7,$9A,$C7,$99 .db $C7,$99,$C7,$99,$C7,$99,$DA,$08 .db $DB,$0C,$DE,$14,$19,$28,$0C,$6E .db $98,$9F,$93,$9F,$98,$9F,$93,$9F .db $97,$9F,$93,$9F,$97,$9F,$93,$9F .db $96,$9F,$93,$9F,$96,$9F,$93,$9F .db $95,$9C,$90,$9C,$95,$9C,$90,$9C .db $DA,$05,$DB,$14,$DE,$00,$00,$00 .db $E9,$F3,$17,$08,$0C,$4B,$D1,$0C .db $4C,$D2,$0C,$49,$D1,$0C,$4B,$D2 .db $00,$0C,$6E,$B9,$0C,$2D,$BB,$BC .db $30,$6E,$B9,$0C,$2D,$B8,$0C,$6E .db $B7,$0C,$2D,$B8,$B9,$30,$6E,$B4 .db $0C,$C7,$12,$6E,$B4,$06,$6D,$B3 .db $0C,$2C,$B2,$12,$6E,$B4,$06,$6D .db $B3,$0C,$2C,$B2,$0C,$2E,$B4,$B2 .db $30,$4E,$B7,$C6,$00,$30,$6D,$B0 .db $0C,$C6,$AF,$C6,$AD,$AB,$AC,$AD .db $B4,$30,$C6,$24,$B4,$18,$B0,$0C .db $AF,$B0,$B1,$30,$B2,$06,$C7,$AB .db $AD,$AF,$B0,$B2,$B4,$B5,$06,$7B .db $B4,$B5,$0C,$69,$B4,$18,$C6,$0C .db $C7,$06,$4B,$AF,$B0,$B2,$B4,$B5 .db $B6,$06,$7B,$B7,$B9,$0C,$69,$B7 .db $18,$C6,$0C,$C7,$06,$4B,$B2,$B4 .db $B5,$B7,$B9,$BB,$30,$BC,$C6,$BB .db $0C,$C7,$06,$4B,$BB,$BC,$BB,$B9 .db $B7,$B5,$0C,$6E,$B5,$0C,$2D,$B5 .db $B9,$30,$6E,$B6,$0C,$2D,$B6,$0C .db $6E,$B4,$0C,$2D,$B4,$B4,$30,$6E .db $B1,$0C,$C7,$12,$6E,$AD,$06,$6D .db $AD,$0C,$2C,$AD,$12,$6E,$AD,$06 .db $6D,$AD,$0C,$2C,$AD,$0C,$2E,$AD .db $AD,$30,$4E,$B2,$C6,$0C,$6E,$B0 .db $0C,$2D,$B0,$B5,$30,$6E,$B0,$0C .db $2D,$B0,$0C,$6E,$B0,$0C,$2D,$B0 .db $B0,$30,$6E,$AB,$0C,$C7,$12,$6E .db $A9,$06,$6D,$A9,$0C,$2C,$A9,$12 .db $6E,$A9,$06,$6D,$A9,$0C,$2C,$A9 .db $0C,$2E,$A9,$A9,$30,$4E,$AF,$C6 .db $0C,$C7,$9D,$C7,$9D,$C7,$9E,$C7 .db $9E,$C7,$9C,$C7,$9C,$C7,$99,$C7 .db $99,$C7,$9A,$C7,$9A,$C7,$9A,$C7 .db $9A,$C7,$97,$C7,$97,$C7,$97,$C7 .db $97,$0C,$91,$A1,$98,$A1,$92,$A1 .db $98,$A1,$93,$9F,$98,$9F,$95,$9F .db $90,$9F,$8E,$9D,$95,$9D,$8E,$9D .db $90,$91,$93,$9D,$8E,$9D,$93,$9D .db $8E,$9D,$0C,$6E,$B9,$0C,$2D,$BB .db $BC,$30,$6E,$B9,$0C,$2D,$B8,$0C .db $6E,$B7,$0C,$2D,$B8,$B9,$30,$6E .db $C0,$0C,$C7,$0C,$6E,$C0,$0C,$2D .db $BF,$C0,$18,$6E,$BC,$0C,$2E,$BC .db $18,$6E,$B9,$30,$4E,$BC,$C6,$00 .db $06,$7B,$B4,$B5,$0C,$69,$B4,$18 .db $C6,$0C,$C7,$06,$4B,$AF,$B0,$B2 .db $B4,$B5,$B6,$06,$7B,$B7,$B9,$0C .db $69,$B7,$18,$C6,$0C,$C7,$06,$4B .db $B2,$B4,$B5,$B7,$B9,$BB,$30,$BC .db $BB,$60,$BC,$0C,$6E,$B5,$0C,$2D .db $B5,$B9,$30,$6E,$B6,$0C,$2D,$B6 .db $0C,$6E,$B4,$0C,$2D,$B4,$B4,$30 .db $6E,$BD,$0C,$C7,$0C,$6E,$B9,$0C .db $2D,$B9,$B9,$18,$6E,$B9,$0C,$2E .db $B5,$18,$6E,$B5,$30,$4E,$B7,$C6 .db $0C,$6E,$B0,$0C,$2D,$B0,$B5,$30 .db $6E,$B0,$0C,$2D,$B0,$0C,$6E,$B0 .db $0C,$2D,$B0,$B0,$30,$6E,$B7,$0C .db $C7,$0C,$6E,$B5,$0C,$2D,$B5,$B5 .db $18,$6E,$B5,$0C,$2E,$B2,$18,$6E .db $B2,$30,$4E,$B4,$C6,$0C,$C7,$98 .db $C7,$98,$C7,$98,$C7,$98,$C7,$9C .db $C7,$9C,$C7,$99,$C7,$99,$C7,$95 .db $C7,$95,$C7,$97,$C7,$97,$C7,$9C .db $C7,$9C,$C7,$9C,$C7,$9C,$0C,$91 .db $9D,$98,$9D,$92,$9E,$98,$9E,$93 .db $9F,$9A,$9F,$95,$A1,$9C,$A1,$8E .db $9A,$95,$9A,$93,$9F,$9A,$9F,$98 .db $9F,$93,$9F,$98,$98,$97,$96,$0C .db $6E,$B9,$0C,$2D,$BB,$BC,$30,$6E .db $B9,$0C,$2D,$B8,$0C,$6E,$B7,$0C .db $2D,$B8,$B9,$30,$6E,$C0,$0C,$C7 .db $00,$30,$6D,$B0,$0C,$C6,$AF,$C6 .db $AD,$AB,$AC,$AD,$B4,$30,$C6,$0C .db $6E,$B5,$0C,$2D,$B5,$B9,$30,$6E .db $B6,$0C,$2D,$B6,$0C,$6E,$B4,$0C .db $2D,$B4,$B4,$30,$6E,$BD,$0C,$C7 .db $0C,$6E,$B0,$0C,$2D,$B0,$B5,$30 .db $6E,$B0,$0C,$2D,$B0,$0C,$6E,$B0 .db $0C,$2D,$B0,$B0,$30,$6E,$B7,$0C .db $C7,$06,$7B,$B4,$B5,$0C,$69,$B4 .db $18,$C6,$0C,$C7,$06,$4B,$AF,$B0 .db $B2,$B4,$B5,$B6,$06,$7B,$B7,$B9 .db $0C,$69,$B7,$18,$C6,$0C,$C7,$06 .db $4B,$B2,$B4,$B5,$B7,$B9,$BB,$0C .db $C7,$98,$C7,$98,$C7,$98,$C7,$98 .db $C7,$9C,$C7,$9C,$C7,$99,$C7,$99 .db $0C,$91,$9D,$98,$9D,$92,$9E,$98 .db $9E,$93,$9F,$9A,$9F,$95,$A1,$9C .db $A1,$DA,$12,$18,$6D,$AD,$0C,$B4 .db $C7,$C7,$0C,$2D,$B4,$0C,$6E,$B3 .db $0C,$2D,$B4,$0C,$6E,$B5,$0C,$2D .db $B4,$B1,$30,$6E,$AD,$0C,$2D,$AD .db $0C,$6E,$B4,$0C,$2D,$B2,$0C,$6D .db $B4,$0C,$2D,$B2,$0C,$6E,$B4,$0C .db $2D,$B2,$C7,$0C,$6D,$AD,$30,$C6 .db $C7,$00,$DB,$0F,$DE,$14,$14,$20 .db $DA,$12,$18,$6D,$B9,$0C,$C0,$C7 .db $C7,$0C,$2D,$C0,$0C,$6E,$BF,$0C .db $2D,$C0,$0C,$6E,$C1,$0C,$2D,$C0 .db $BD,$30,$6E,$B9,$0C,$2D,$B9,$0C .db $6E,$C0,$0C,$2D,$BE,$0C,$6D,$C0 .db $0C,$2D,$BE,$0C,$6E,$C0,$0C,$2D .db $BE,$C7,$0C,$6D,$B9,$30,$C6,$C7 .db $DA,$12,$18,$6D,$A8,$0C,$AB,$C7 .db $C7,$0C,$2D,$AB,$0C,$6E,$AA,$0C .db $2D,$AB,$0C,$6E,$AD,$0C,$2D,$AB .db $A8,$30,$6E,$A5,$0C,$2D,$A5,$0C .db $6E,$AB,$0C,$2D,$AA,$0C,$6D,$AB .db $0C,$2D,$AA,$0C,$6E,$AB,$0C,$2D .db $AA,$C7,$0C,$6D,$A4,$30,$C6,$C7 .db $DB,$05,$DE,$19,$19,$35,$DA,$00 .db $30,$6B,$A8,$0C,$C6,$A7,$A8,$AD .db $48,$B4,$0C,$B3,$B4,$30,$B9,$B4 .db $60,$B2,$DB,$08,$DE,$19,$18,$34 .db $DA,$00,$30,$6B,$9F,$0C,$C6,$9E .db $9F,$A5,$48,$AB,$0C,$AA,$AB,$30 .db $B4,$AB,$60,$AA,$0C,$C7,$99,$C7 .db $99,$C7,$99,$C7,$99,$C7,$99,$C7 .db $99,$C7,$99,$C7,$99,$C7,$98,$C7 .db $98,$C7,$98,$C7,$98,$C7,$98,$C7 .db $98,$C7,$98,$C7,$98,$0C,$95,$9F .db $90,$9F,$95,$9F,$90,$9F,$95,$9F .db $90,$9F,$95,$9F,$90,$8F,$8E,$9E .db $95,$9E,$8E,$9E,$95,$9E,$8E,$9E .db $95,$9E,$8E,$9E,$90,$92,$18,$6D .db $AB,$0C,$B2,$C7,$C7,$0C,$2D,$B2 .db $0C,$6E,$B1,$0C,$2D,$B2,$0C,$6E .db $B4,$0C,$2D,$B2,$AF,$30,$6E,$AB .db $0C,$2D,$B2,$18,$4E,$B0,$B0,$10 .db $6D,$B0,$10,$6E,$B2,$10,$6E,$B3 .db $30,$B4,$C7,$00,$18,$6D,$A3,$0C .db $A9,$C7,$C7,$0C,$2D,$A9,$0C,$6E .db $A8,$0C,$2D,$A9,$0C,$6E,$AB,$0C .db $2D,$A9,$A6,$30,$6E,$A3,$0C,$2D .db $A9,$18,$4E,$A8,$A8,$10,$6D,$A8 .db $10,$6E,$A9,$10,$6E,$AA,$30,$AC .db $C7,$30,$69,$AB,$0C,$C6,$A9,$AB .db $AF,$48,$B2,$0C,$B0,$B2,$48,$B0 .db $18,$B2,$60,$B4,$30,$69,$A3,$0C .db $C6,$A3,$A6,$A9,$48,$AB,$0C,$A9 .db $AB,$48,$A8,$18,$AB,$60,$AC,$0C .db $C7,$97,$C7,$97,$C7,$97,$C7,$97 .db $C7,$97,$C7,$97,$C7,$97,$C7,$97 .db $C7,$9C,$C7,$9C,$C7,$9C,$C7,$9C .db $C7,$97,$C7,$97,$C7,$97,$C7,$97 .db $0C,$93,$9D,$8E,$9D,$93,$9D,$8E .db $9D,$93,$9D,$8E,$9D,$93,$9D,$95 .db $97,$98,$9F,$93,$9F,$98,$9F,$93 .db $9F,$90,$A0,$97,$A0,$90,$A0,$92 .db $94,$18,$6D,$AB,$0C,$B2,$C7,$C7 .db $0C,$2D,$B2,$0C,$6E,$B1,$0C,$2D .db $B2,$0C,$6E,$B4,$0C,$2D,$B2,$C7 .db $30,$6E,$AB,$0C,$2D,$B2,$18,$4E .db $B0,$B0,$10,$6D,$B0,$10,$6E,$B2 .db $10,$6E,$B3,$18,$2E,$B4,$C7,$30 .db $4E,$B7,$00,$18,$6D,$B7,$0C,$BE .db $C7,$C7,$0C,$2D,$BE,$0C,$6E,$BD .db $0C,$2D,$BE,$0C,$6E,$C0,$0C,$2D .db $BE,$C7,$30,$6E,$B7,$0C,$2D,$BE .db $18,$4E,$BC,$BC,$10,$6D,$BC,$10 .db $6E,$BE,$10,$6E,$BF,$18,$2E,$C0 .db $C7,$06,$C7,$AB,$AD,$AF,$B0,$B2 .db $B4,$B5,$18,$6D,$A3,$0C,$A9,$C7 .db $C7,$0C,$2D,$A9,$0C,$6E,$A8,$0C .db $2D,$A9,$0C,$6E,$AB,$0C,$2D,$A9 .db $C7,$30,$6E,$A3,$0C,$2D,$A9,$18 .db $4E,$A8,$A8,$10,$6D,$A8,$10,$6E .db $A9,$10,$6E,$AA,$18,$2E,$AB,$C7 .db $30,$4E,$AF,$30,$69,$AB,$0C,$C6 .db $A9,$AB,$AF,$48,$B2,$0C,$B0,$B2 .db $30,$B0,$B2,$30,$B4,$B3,$30,$69 .db $A3,$0C,$C6,$A3,$A6,$A9,$48,$AB .db $0C,$A9,$AB,$30,$A8,$AB,$30,$AB .db $AF,$0C,$C7,$97,$C7,$97,$C7,$97 .db $C7,$97,$C7,$97,$C7,$97,$C7,$97 .db $C7,$97,$C7,$9C,$C7,$9C,$C7,$9C .db $C7,$9C,$DA,$01,$18,$AF,$C7,$A7 .db $C6,$0C,$93,$9D,$8E,$9D,$93,$9D .db $8E,$9D,$93,$9D,$8E,$9D,$93,$9D .db $95,$97,$98,$9F,$93,$9F,$98,$9F .db $93,$9F,$18,$8C,$C7,$93,$C6,$DA .db $05,$DB,$14,$DE,$00,$00,$00,$E9 .db $F3,$17,$06,$18,$4C,$D1,$C7,$30 .db $6D,$D2,$DA,$04,$DB,$0A,$DE,$22 .db $19,$38,$60,$5E,$BC,$C6,$DA,$01 .db $60,$C6,$C6,$C6,$00,$DA,$04,$DB .db $08,$DE,$20,$18,$36,$60,$5D,$B4 .db $C6,$DA,$01,$60,$C6,$C6,$C6,$DA .db $04,$DB,$0C,$DE,$21,$1A,$37,$60 .db $5D,$AB,$C6,$DA,$01,$60,$C6,$C6 .db $C6,$DA,$04,$DB,$0A,$DE,$22,$18 .db $36,$60,$5D,$A4,$C6,$DA,$01,$60 .db $C6,$C6,$C6,$DA,$04,$DB,$0F,$10 .db $5D,$B0,$C7,$B0,$AE,$C7,$AE,$AD .db $C7,$AD,$AC,$C7,$AC,$30,$AB,$24 .db $A7,$6C,$A6,$60,$C6,$DA,$04,$DB .db $0F,$10,$5D,$AB,$C7,$AB,$A8,$C7 .db $A8,$A9,$C7,$A9,$A9,$C7,$A9,$30 .db $A6,$24,$A3,$6C,$A2,$60,$C6,$DA .db $04,$DB,$0F,$10,$5D,$A8,$C7,$A8 .db $A4,$C7,$A4,$A4,$C7,$A4,$A4,$C7 .db $A4,$30,$A3,$24,$9D,$6C,$9C,$60 .db $C6,$DA,$08,$DB,$0A,$DE,$22,$19 .db $38,$10,$5D,$8C,$8C,$8C,$90,$90 .db $90,$91,$91,$91,$92,$92,$92,$30 .db $93,$24,$93,$6C,$8C,$60,$C6,$DA .db $01,$E2,$12,$DB,$0A,$DE,$14,$19 .db $28,$18,$7C,$A7,$0C,$A8,$AB,$AD .db $30,$AB,$0C,$AD,$AF,$C6,$AF,$30 .db $AD,$0C,$A7,$A8,$AB,$AD,$30,$AB .db $0C,$AC,$AD,$C6,$AD,$60,$AB,$60 .db $77,$C6,$00,$DA,$02,$DB,$0A,$18 .db $79,$A7,$0C,$A8,$AB,$AD,$30,$AB .db $0C,$AD,$AF,$C6,$AF,$30,$AD,$0C .db $A7,$A8,$AB,$AD,$30,$AB,$0C,$AC .db $AD,$C6,$AD,$60,$AB,$C6,$DA,$01 .db $DB,$0C,$DE,$14,$19,$28,$06,$C6 .db $18,$79,$A7,$0C,$A8,$AB,$AD,$30 .db $AB,$0C,$AD,$AF,$C6,$AF,$30,$AD .db $0C,$A7,$A8,$AB,$AD,$30,$AB,$0C .db $AC,$AD,$C6,$AD,$60,$AB,$60,$75 .db $C6,$DA,$01,$DB,$0A,$DE,$14,$19 .db $28,$18,$7B,$C7,$60,$98,$97,$96 .db $95,$C6,$C6,$C6,$DA,$01,$DB,$0A .db $DE,$14,$19,$28,$18,$7B,$C7,$0C .db $C7,$24,$9F,$30,$B0,$0C,$C7,$24 .db $9F,$30,$AF,$0C,$C7,$24,$9F,$30 .db $AE,$0C,$C7,$24,$9F,$30,$B1,$60 .db $C6,$C6,$C6,$DA,$01,$DB,$0A,$DE .db $14,$19,$28,$18,$7B,$C7,$18,$C7 .db $48,$A8,$18,$C7,$48,$A7,$18,$C7 .db $48,$A6,$18,$C7,$48,$A5,$60,$C6 .db $C6,$C6,$DA,$01,$DB,$0A,$DE,$14 .db $19,$28,$18,$7B,$C7,$24,$C7,$3C .db $AB,$24,$C7,$3C,$AB,$24,$C7,$3C .db $AB,$24,$C7,$3C,$AB,$60,$C6,$C6 .db $C6,$DA,$01,$DB,$0A,$DE,$14,$19 .db $28,$18,$7B,$C7,$30,$C7,$B4,$30 .db $C7,$B3,$30,$C7,$B2,$30,$C7,$B4 .db $60,$C6,$C6,$C6,$DA,$04,$DB,$08 .db $DE,$22,$18,$14,$08,$5C,$C7,$A9 .db $C7,$A9,$AD,$C7,$24,$AA,$0C,$C7 .db $08,$A9,$A8,$C7,$A8,$A8,$C7,$24 .db $AB,$0C,$C7,$08,$C7,$E2,$1C,$DA .db $04,$DB,$0A,$DE,$22,$18,$14,$08 .db $5D,$AC,$AD,$C7,$AF,$B0,$C7,$24 .db $AD,$0C,$C7,$08,$AC,$AB,$C7,$AC .db $AD,$C7,$24,$B4,$0C,$C7,$08,$C7 .db $00,$DA,$04,$DB,$0C,$DE,$22,$18 .db $14,$08,$5C,$C7,$A4,$C7,$A4,$A9 .db $C7,$24,$A4,$0C,$C7,$08,$A4,$A4 .db $C7,$A4,$A4,$C7,$24,$A5,$0C,$C7 .db $08,$C7,$DA,$06,$DB,$0A,$DE,$22 .db $18,$14,$08,$5D,$B8,$B9,$C7,$BB .db $BC,$C7,$24,$B9,$0C,$C7,$08,$B8 .db $B7,$C7,$B8,$B9,$C7,$24,$C0,$0C .db $C7,$08,$C7,$DA,$0D,$DB,$0F,$DE .db $22,$18,$14,$01,$C7,$08,$C7,$18 .db $4E,$C7,$9D,$C7,$9E,$C7,$9F,$C7 .db $9F,$18,$9E,$08,$C7,$C7,$9D,$18 .db $C6,$08,$C7,$C7,$AB,$DA,$0D,$DB .db $0F,$DE,$22,$18,$14,$08,$C7,$18 .db $4E,$C7,$98,$C7,$98,$C7,$9A,$C7 .db $99,$18,$A1,$08,$C7,$C7,$A3,$18 .db $C6,$08,$C7,$C7,$A4,$DA,$08,$DB .db $0A,$DE,$22,$18,$14,$08,$C7,$18 .db $5F,$91,$08,$C7,$C7,$91,$18,$92 .db $08,$C7,$C7,$92,$18,$93,$08,$C7 .db $C7,$93,$18,$95,$08,$95,$90,$8F .db $18,$8E,$08,$C6,$C7,$93,$18,$C6 .db $08,$C7,$C7,$98,$DA,$04,$DB,$14 .db $08,$C7,$18,$6C,$D1,$08,$D2,$C7 .db $D1,$18,$D1,$08,$D2,$C7,$D1,$18 .db $D1,$08,$D2,$C7,$D1,$D1,$C7,$D1 .db $D2,$D1,$D1,$18,$D2,$08,$C6,$C7 .db $D2,$18,$C6,$08,$C7,$C7,$D2,$DA .db $04,$DB,$0A,$DE,$22,$19,$38,$18 .db $4D,$B4,$08,$C7,$C7,$B4,$E3,$60 .db $18,$18,$B4,$08,$C7,$C7,$B7,$18 .db $B7,$08,$C7,$C7,$B7,$18,$B7,$C7 .db $00,$DA,$04,$DB,$08,$DE,$20,$18 .db $36,$18,$4D,$A4,$08,$C7,$C7,$A4 .db $18,$A4,$08,$C7,$C7,$A7,$18,$A7 .db $08,$C7,$C7,$A7,$18,$A7,$C7,$DA .db $04,$DB,$0C,$DE,$21,$1A,$37,$18 .db $4D,$AD,$08,$C7,$C7,$AD,$18,$AD .db $08,$C7,$C7,$AF,$18,$AF,$08,$C7 .db $C7,$AF,$18,$AF,$C7,$DA,$04,$DB .db $0A,$DE,$22,$18,$36,$18,$4D,$A9 .db $08,$C7,$C7,$A9,$18,$A9,$08,$C7 .db $C7,$AB,$18,$AB,$08,$C7,$C7,$AB .db $18,$AB,$C7,$DA,$04,$DB,$0F,$08 .db $4D,$C7,$C7,$9A,$18,$9A,$08,$C7 .db $C7,$9A,$18,$9A,$08,$C7,$C7,$9F .db $18,$9F,$18,$C7,$18,$7D,$9F,$DA .db $04,$DB,$0F,$08,$4C,$C7,$C7,$8E .db $18,$8E,$08,$C7,$C7,$8E,$18,$8E .db $08,$C7,$C7,$93,$18,$93,$18,$C7 .db $18,$7E,$93,$DA,$08,$DB,$0A,$DE .db $22,$19,$38,$08,$5F,$C7,$C7,$8E .db $18,$8E,$08,$C7,$C7,$8E,$18,$8E .db $08,$C7,$C7,$93,$18,$93,$18,$C7 .db $18,$7F,$93,$DA,$00,$DB,$0A,$08 .db $6C,$C7,$C7,$D0,$18,$D0,$08,$C7 .db $C7,$D0,$18,$D0,$08,$C7,$C7,$D0 .db $18,$D0,$18,$C7,$D0,$24,$C7,$00 .db $DA,$04,$E2,$16,$E3,$90,$1C,$DB .db $0A,$DE,$22,$19,$38,$18,$4C,$B4 .db $08,$C7,$C7,$B4,$18,$B4,$08,$C7 .db $C7,$B7,$18,$B7,$08,$C7,$C7,$B7 .db $18,$B7,$C7,$00,$DA,$04,$DB,$08 .db $DE,$20,$18,$36,$18,$4C,$A4,$08 .db $C7,$C7,$A4,$18,$A4,$08,$C7,$C7 .db $A7,$18,$A7,$08,$C7,$C7,$A7,$18 .db $A7,$C7,$DA,$04,$DB,$0C,$DE,$21 .db $1A,$37,$18,$4C,$AD,$08,$C7,$C7 .db $AD,$18,$AD,$08,$C7,$C7,$AF,$18 .db $AF,$08,$C7,$C7,$AF,$18,$AF,$C7 .db $DA,$04,$DB,$0A,$DE,$22,$18,$36 .db $18,$4C,$A9,$08,$C7,$C7,$A9,$18 .db $A9,$08,$C7,$C7,$AB,$18,$AB,$08 .db $C7,$C7,$AB,$18,$AB,$C7,$DA,$04 .db $DB,$0F,$08,$4C,$C7,$C7,$9A,$18 .db $9A,$08,$C7,$C7,$9A,$18,$9A,$08 .db $C7,$C7,$9F,$18,$9F,$08,$C7,$C7 .db $C7,$18,$7D,$9F,$DA,$04,$DB,$0F .db $08,$4B,$C7,$C7,$8E,$18,$8E,$08 .db $C7,$C7,$8E,$18,$8E,$08,$C7,$C7 .db $93,$18,$93,$08,$C7,$C7,$C7,$18 .db $7E,$93,$DA,$08,$DB,$0A,$DE,$22 .db $19,$38,$08,$5E,$C7,$C7,$8E,$18 .db $8E,$08,$C7,$C7,$8E,$18,$8E,$08 .db $C7,$C7,$93,$18,$93,$08,$C7,$C7 .db $C7,$18,$7F,$93,$DA,$00,$DB,$0A .db $08,$6B,$C7,$C7,$D0,$18,$D0,$08 .db $C7,$C7,$D0,$18,$D0,$08,$C7,$C7 .db $D0,$18,$D0,$C7,$08,$D0,$DB,$14 .db $08,$D1,$D1,$DA,$00,$DB,$0A,$DE .db $22,$19,$38,$08,$5D,$A8,$C7,$AB .db $AD,$C7,$24,$AB,$0C,$C7,$08,$AD .db $AF,$C7,$B0,$AF,$AE,$24,$AD,$0C .db $C7,$08,$A7,$A8,$C7,$AB,$AD,$C7 .db $24,$AB,$0C,$C7,$08,$AC,$AD,$C7 .db $AE,$AD,$AC,$24,$AB,$0C,$C7,$08 .db $AC,$00,$DA,$06,$DB,$0A,$DE,$22 .db $19,$38,$08,$5D,$A8,$C7,$AB,$AD .db $C7,$24,$AB,$0C,$C7,$08,$AD,$AF .db $C7,$B0,$AF,$AE,$24,$AD,$0C,$C7 .db $08,$A7,$A8,$C7,$AB,$AD,$C7,$24 .db $AB,$0C,$C7,$08,$AC,$AD,$C7,$AE .db $AD,$AC,$24,$AB,$0C,$C7,$08,$AC .db $00,$DA,$12,$DB,$05,$DE,$22,$19 .db $28,$60,$6B,$B4,$30,$B3,$08,$C6 .db $C6,$B3,$BB,$C6,$B9,$48,$B7,$18 .db $B2,$60,$B1,$DA,$06,$DB,$08,$DE .db $14,$1F,$30,$08,$6B,$A4,$C7,$A4 .db $A8,$C7,$24,$A4,$0C,$C7,$08,$A8 .db $AB,$C7,$AB,$A7,$A7,$24,$A7,$0C .db $C7,$08,$A3,$A2,$C7,$A6,$A6,$C7 .db $24,$A6,$0C,$C7,$08,$A6,$A8,$C7 .db $AB,$A8,$A8,$24,$A8,$0C,$C7,$08 .db $A8,$08,$6D,$A4,$C7,$A4,$A8,$C7 .db $24,$A4,$0C,$C7,$08,$A8,$AB,$C7 .db $AB,$A7,$A7,$24,$A7,$0C,$C7,$08 .db $A3,$A2,$C7,$A6,$A6,$C7,$24,$A6 .db $0C,$C7,$08,$A6,$A8,$C7,$AB,$A8 .db $A8,$24,$A8,$0C,$C7,$08,$A8,$DA .db $06,$DB,$0C,$DE,$14,$1F,$30,$08 .db $6D,$9F,$C7,$A8,$A4,$C7,$24,$A8 .db $0C,$C7,$08,$A4,$A7,$C7,$A7,$AB .db $AB,$24,$A3,$0C,$C7,$08,$9F,$9F .db $C7,$A2,$A2,$C7,$24,$A2,$0C,$C7 .db $08,$A2,$A5,$C7,$A8,$A5,$A5,$24 .db $A5,$0C,$C7,$08,$A5,$DA,$0D,$DB .db $0F,$01,$C7,$18,$4E,$C7,$9F,$C7 .db $9F,$C7,$9F,$C7,$9F,$C7,$9F,$C7 .db $9F,$C7,$9F,$C7,$9F,$DA,$0D,$DB .db $0F,$18,$4E,$C7,$9C,$C7,$9C,$C7 .db $9B,$C7,$9B,$C7,$9A,$C7,$9A,$C7 .db $99,$C7,$99,$DA,$08,$DB,$0A,$DE .db $14,$1F,$30,$18,$6F,$98,$C7,$18 .db $93,$08,$C7,$C7,$93,$18,$97,$C7 .db $18,$93,$08,$C7,$C7,$93,$18,$96 .db $C7,$18,$93,$08,$C7,$C7,$93,$18 .db $95,$C7,$18,$90,$08,$C7,$C7,$90 .db $DA,$00,$DB,$14,$18,$6B,$D1,$08 .db $D2,$C7,$D1,$18,$D1,$08,$D2,$C7 .db $D1,$18,$D1,$08,$D2,$C7,$D1,$D1 .db $C7,$D1,$D2,$D1,$D1,$18,$D1,$08 .db $D2,$C7,$D1,$18,$D1,$08,$D2,$C7 .db $D1,$18,$D1,$08,$D2,$C7,$D1,$D1 .db $C7,$D1,$D2,$D1,$D1,$08,$AD,$C7 .db $AF,$B0,$C7,$24,$AD,$0C,$C7,$08 .db $AC,$AB,$C7,$AC,$AD,$C7,$24,$A8 .db $0C,$C7,$08,$C7,$A8,$C7,$A4,$A1 .db $C7,$A8,$A4,$C7,$A1,$A4,$C7,$AB .db $30,$C6,$C7,$00,$01,$C7,$18,$C7 .db $9D,$C7,$9E,$C7,$9F,$C7,$9F,$18 .db $9E,$08,$C7,$C7,$9E,$18,$C6,$08 .db $9E,$C7,$9F,$18,$C6,$08,$C7,$C7 .db $A3,$A4,$C7,$A4,$A6,$C7,$A6,$18 .db $C7,$98,$C7,$98,$C7,$9A,$C7,$99 .db $18,$A1,$08,$C7,$C7,$A1,$18,$C6 .db $08,$A1,$C7,$A3,$18,$C6,$08,$C7 .db $C7,$9A,$9C,$C7,$9C,$9D,$C7,$9D .db $18,$91,$08,$C7,$C7,$91,$18,$92 .db $08,$C7,$C7,$92,$18,$93,$08,$C7 .db $C7,$93,$18,$95,$08,$95,$90,$8F .db $18,$8E,$08,$C6,$C7,$8E,$18,$C6 .db $08,$8E,$C7,$93,$18,$C6,$08,$C7 .db $C7,$93,$95,$C7,$95,$97,$C7,$97 .db $18,$D1,$08,$D2,$C7,$D1,$18,$D1 .db $08,$D2,$C7,$D1,$18,$D1,$08,$D2 .db $C7,$D1,$D1,$C7,$D1,$D2,$D1,$D1 .db $18,$D2,$08,$C6,$C7,$D2,$18,$C6 .db $08,$D2,$C7,$D2,$18,$C6,$08,$C6 .db $C7,$D1,$D2,$C7,$D1,$D2,$D1,$D1 .db $08,$A9,$C7,$A9,$AD,$C7,$24,$AA .db $0C,$C7,$08,$A9,$A8,$C7,$A8,$A8 .db $C7,$24,$AB,$0C,$C7,$08,$C7,$AD .db $C7,$AD,$AD,$C7,$A9,$C7,$C7,$A9 .db $A9,$C7,$A8,$30,$C6,$C7,$08,$AD .db $C7,$AF,$B0,$C7,$24,$AD,$0C,$C7 .db $08,$AC,$AB,$C7,$AC,$AD,$C7,$24 .db $B4,$0C,$C7,$08,$C7,$B4,$C7,$B3 .db $B4,$C7,$B0,$C7,$C7,$B0,$AD,$C7 .db $B0,$30,$C6,$C7,$00,$48,$B0,$08 .db $AD,$C6,$B0,$48,$B4,$08,$B3,$C6 .db $B4,$30,$B9,$30,$B4,$60,$B0,$01 .db $C7,$18,$C7,$9D,$C7,$9E,$C7,$9F .db $C7,$9F,$18,$9E,$08,$C7,$C7,$9D .db $18,$C6,$08,$C7,$C7,$AB,$18,$C6 .db $08,$B0,$C7,$B0,$AF,$C7,$AF,$AE .db $C7,$AE,$18,$C7,$98,$C7,$98,$C7 .db $9A,$C7,$99,$18,$A1,$08,$C7,$C7 .db $A3,$18,$C6,$08,$C7,$C7,$A4,$18 .db $C6,$08,$A8,$C7,$A8,$A7,$C7,$A7 .db $A6,$C7,$A6,$18,$91,$08,$C7,$C7 .db $91,$18,$92,$08,$C7,$C7,$92,$18 .db $93,$08,$C7,$C7,$93,$18,$95,$08 .db $95,$90,$8F,$18,$8E,$08,$C6,$C7 .db $93,$18,$C6,$08,$C7,$C7,$98,$18 .db $C6,$08,$98,$C7,$98,$97,$C7,$97 .db $96,$C7,$96,$18,$D1,$08,$D2,$C7 .db $D1,$18,$D1,$08,$D2,$C7,$D1,$18 .db $D1,$08,$D2,$C7,$D1,$D1,$C7,$D1 .db $D2,$D1,$D1,$18,$D2,$08,$C6,$C7 .db $D2,$18,$C6,$08,$C7,$C7,$D2,$18 .db $C6,$08,$D2,$C7,$D1,$D2,$C7,$D1 .db $D2,$C7,$D1,$DA,$04,$18,$6C,$AD .db $B4,$08,$B4,$C7,$B4,$B3,$C7,$B4 .db $B5,$C6,$B4,$B1,$C7,$24,$AD,$0C .db $C7,$08,$AD,$B4,$C6,$B2,$B4,$C6 .db $B2,$B4,$C6,$B2,$B0,$C7,$AD,$30 .db $C6,$C7,$00,$DA,$04,$18,$6B,$A8 .db $AB,$08,$AB,$C7,$AB,$AA,$C7,$AB .db $AD,$C6,$AB,$A8,$C7,$24,$A5,$0C .db $C7,$08,$A5,$AB,$C6,$AA,$AB,$C6 .db $AA,$AB,$C6,$AA,$A8,$C7,$A4,$30 .db $C6,$C7,$18,$C7,$08,$AD,$C6,$AC .db $AD,$C6,$B4,$C6,$C6,$AD,$AD,$C6 .db $AC,$AD,$C6,$B4,$C6,$C6,$AD,$AF .db $C6,$B1,$18,$C7,$08,$AD,$C6,$AC .db $AD,$C6,$B2,$C6,$C6,$AD,$AD,$C6 .db $AC,$AD,$C6,$B2,$30,$C6,$01,$C7 .db $18,$C7,$9F,$C7,$9F,$C7,$9F,$C7 .db $9F,$C7,$9E,$C7,$9E,$C7,$9E,$C7 .db $9E,$18,$C7,$99,$C7,$99,$C7,$99 .db $C7,$99,$C7,$98,$C7,$98,$C7,$98 .db $C7,$98,$18,$95,$08,$C7,$C7,$95 .db $18,$90,$08,$C7,$C7,$90,$18,$95 .db $08,$C7,$C7,$95,$18,$95,$08,$95 .db $90,$8F,$18,$8E,$08,$C7,$C7,$8E .db $18,$95,$08,$C7,$C7,$95,$18,$8E .db $08,$C7,$C7,$8E,$8E,$C7,$8E,$90 .db $C7,$92,$18,$D1,$08,$D2,$C7,$D1 .db $18,$D1,$08,$D2,$C7,$D1,$18,$D1 .db $08,$D2,$C7,$D1,$D1,$C7,$D1,$D2 .db $D1,$D1,$18,$D1,$08,$D2,$C7,$D1 .db $18,$D1,$08,$D2,$C7,$D1,$18,$D1 .db $08,$D2,$C7,$D1,$D2,$C7,$D1,$D2 .db $C7,$D1,$18,$AB,$B2,$08,$B2,$C7 .db $B2,$B1,$C7,$B2,$B4,$C6,$B2,$AF .db $C7,$24,$AB,$0C,$C7,$08,$B2,$18 .db $B0,$B0,$10,$B0,$B2,$B3,$18,$B4 .db $C7,$AB,$C6,$00,$18,$A3,$A9,$08 .db $A9,$C7,$A9,$A8,$C7,$A9,$AB,$C6 .db $A9,$A6,$C7,$24,$A3,$0C,$C7,$08 .db $A9,$18,$A8,$A8,$10,$A8,$A9,$AA .db $18,$AB,$C7,$A3,$C6,$18,$C7,$08 .db $AB,$C6,$AA,$AB,$C6,$B2,$C6,$C6 .db $AB,$AB,$C6,$AA,$AB,$C6,$B2,$C6 .db $C6,$AB,$AD,$C6,$AF,$30,$B0,$10 .db $B0,$AF,$AD,$AB,$06,$AD,$AF,$B0 .db $B2,$B3,$B4,$B5,$B6,$30,$B7,$01 .db $C7,$18,$C7,$9D,$C7,$9D,$C7,$9D .db $C7,$9D,$C7,$9C,$10,$9C,$9D,$9E .db $18,$9F,$C7,$9B,$C6,$18,$C7,$97 .db $C7,$97,$C7,$97,$C7,$97,$C7,$9F .db $10,$9F,$A0,$A1,$18,$A3,$C7,$A3 .db $C6,$18,$93,$08,$C7,$C7,$93,$18 .db $8E,$08,$C7,$C7,$8E,$18,$93,$08 .db $C7,$C7,$93,$18,$93,$08,$93,$95 .db $97,$18,$98,$08,$C7,$C7,$98,$10 .db $98,$9A,$9B,$18,$9C,$C7,$93,$C6 .db $18,$D1,$08,$D2,$C7,$D1,$18,$D1 .db $08,$D2,$C7,$D1,$18,$D1,$08,$D2 .db $C7,$D1,$D1,$C7,$D1,$D2,$D1,$D1 .db $18,$D1,$08,$D2,$C7,$D1,$10,$D2 .db $D2,$D2,$18,$D1,$08,$D2,$C7,$D1 .db $D2,$C7,$D1,$D2,$D1,$D1,$08,$A9 .db $C7,$A9,$AD,$C7,$24,$AA,$0C,$C7 .db $08,$A9,$A8,$C7,$A8,$A8,$C7,$24 .db $AB,$0C,$C7,$08,$C7,$08,$AD,$C7 .db $AF,$B0,$C7,$24,$AD,$0C,$C7,$08 .db $AC,$AB,$C7,$AC,$AD,$C7,$24,$B4 .db $0C,$C7,$08,$C7,$00,$DA,$04,$DB .db $0C,$DE,$22,$18,$14,$08,$5C,$A4 .db $C7,$A4,$A9,$C7,$24,$A4,$0C,$C7 .db $08,$A4,$A4,$C7,$A4,$A4,$C7,$24 .db $A5,$0C,$C7,$08,$C7,$48,$B0,$08 .db $AD,$C6,$B0,$60,$B4,$01,$C7,$18 .db $C7,$9D,$C7,$9E,$C7,$9F,$C7,$9F .db $18,$9E,$08,$C7,$C7,$9D,$18,$C6 .db $08,$C7,$C7,$AB,$18,$C7,$98,$C7 .db $98,$C7,$9A,$C7,$99,$18,$A1,$08 .db $C7,$C7,$A3,$18,$C6,$08,$C7,$C7 .db $A4,$18,$91,$08,$C7,$C7,$91,$18 .db $92,$08,$C7,$C7,$92,$18,$93,$08 .db $C7,$C7,$93,$18,$95,$08,$95,$90 .db $8F,$18,$8E,$08,$C6,$C7,$93,$18 .db $C6,$08,$C7,$C7,$98,$18,$D1,$08 .db $D2,$C7,$D1,$18,$D1,$08,$D2,$C7 the transition between E000 and F000 is off, I know. You can go count the bytes and find the exact point, if you want then. .db $D1,$18,$D1,$08,$D2,$C7,$D1,$D1 .db $C7,$D1,$D2,$D1,$D1,$18,$D2,$08 .db $C6,$C7,$D2,$18,$C6,$08,$C7,$C7 .db $D2,$DA,$04,$DB,$0A,$DE,$22,$19 .db $38,$18,$4D,$B4,$08,$C7,$C7,$B4 .db $18,$B4,$08,$C7,$C7,$B7,$18,$B7 .db $08,$C7,$C7,$B7,$18,$B7,$C7,$00 .db $DA,$04,$DB,$08,$DE,$20,$18,$36 .db $18,$4D,$A4,$08,$C7,$C7,$A4,$18 .db $A4,$08,$C7,$C7,$A7,$18,$A7,$08 .db $C7,$C7,$A7,$18,$A7,$C7,$DA,$04 .db $DB,$0C,$DE,$21,$1A,$37,$18,$4D .db $AD,$08,$C7,$C7,$AD,$18,$AD,$08 .db $C7,$C7,$AF,$18,$AF,$08,$C7,$C7 .db $AF,$18,$AF,$C7,$DA,$04,$DB,$0A .db $DE,$22,$18,$36,$18,$4D,$A9,$08 .db $C7,$C7,$A9,$18,$A9,$08,$C7,$C7 .db $AB,$18,$AB,$08,$C7,$C7,$AB,$18 .db $AB,$C7,$DA,$04,$DB,$0F,$08,$4D .db $C7,$C7,$9A,$18,$9A,$08,$C7,$C7 .db $9A,$18,$9A,$08,$C7,$C7,$9F,$18 .db $9F,$08,$C7,$C7,$C7,$18,$7D,$9F .db $DA,$04,$DB,$0F,$08,$4C,$C7,$C7 .db $8E,$18,$8E,$08,$C7,$C7,$8E,$18 .db $8E,$08,$C7,$C7,$93,$18,$93,$08 .db $C7,$C7,$C7,$18,$7E,$93,$DA,$08 .db $DB,$0A,$DE,$22,$19,$38,$08,$5F .db $C7,$C7,$8E,$18,$8E,$08,$C7,$C7 .db $8E,$18,$8E,$08,$C7,$C7,$93,$18 .db $93,$08,$C7,$C7,$C7,$18,$7F,$93 .db $DA,$00,$DB,$0A,$08,$6C,$C7,$C7 .db $D0,$18,$D0,$08,$C7,$C7,$D0,$18 .db $D0,$08,$C7,$C7,$D0,$18,$D0,$C7 .db $08,$D0,$DB,$14,$08,$D1,$D1,$DA .db $06,$DB,$0A,$DE,$22,$19,$38,$08 .db $6F,$B4,$C7,$B7,$B9,$C7,$24,$B7 .db $0C,$C7,$08,$B9,$BB,$C7,$BC,$BB .db $BA,$24,$B9,$0C,$C7,$08,$B3,$B4 .db $C7,$B7,$B9,$C7,$24,$B7,$0C,$C7 .db $08,$B8,$B9,$C7,$BA,$B9,$B8,$24 .db $B7,$0C,$C7,$08,$B8,$00,$08,$B9 .db $C7,$BB,$BC,$C7,$24,$B9,$0C,$C7 .db $08,$B8,$B7,$C7,$B8,$B9,$C7,$24 .db $C0,$0C,$C7,$08,$C7,$00,$18,$91 .db $08,$C7,$C7,$91,$18,$92,$08,$C7 .db $C7,$92,$18,$93,$08,$C7,$C7,$93 .db $18,$95,$08,$C7,$C7,$95,$DA,$04 .db $DB,$0A,$DE,$22,$19,$38,$18,$5D .db $C0,$08,$C7,$C7,$C0,$E3,$78,$18 .db $18,$C0,$08,$C7,$C7,$C3,$18,$C3 .db $08,$C7,$C7,$C3,$18,$C3,$C3,$00 .db $DA,$04,$DB,$0A,$DE,$22,$19,$38 .db $18,$5D,$C0,$08,$C7,$C7,$C0,$18 .db $C0,$08,$C7,$C7,$C3,$18,$C3,$08 .db $C7,$C7,$C3,$18,$C3,$C3,$00,$DA .db $04,$DB,$08,$DE,$20,$18,$36,$18 .db $5D,$A4,$08,$C7,$C7,$A4,$18,$A4 .db $08,$C7,$C7,$A7,$18,$A7,$08,$C7 .db $C7,$A7,$18,$A7,$A7,$DA,$04,$DB .db $0C,$DE,$21,$1A,$37,$18,$5D,$B9 .db $08,$C7,$C7,$B9,$18,$B9,$08,$C7 .db $C7,$BB,$18,$BB,$08,$C7,$C7,$BB .db $18,$BB,$BB,$DA,$04,$DB,$0A,$DE .db $22,$18,$36,$18,$5D,$A9,$08,$C7 .db $C7,$A9,$18,$A9,$08,$C7,$C7,$AB .db $18,$AB,$08,$C7,$C7,$AB,$18,$AB .db $AB,$DA,$04,$DB,$0F,$08,$5D,$C7 .db $C7,$9A,$18,$9A,$08,$C7,$C7,$9A .db $18,$9A,$08,$C7,$C7,$9F,$18,$9F .db $08,$C7,$C7,$9F,$08,$7D,$C7,$C7 .db $9F,$DA,$04,$DB,$0F,$08,$5C,$C7 .db $C7,$8E,$18,$8E,$08,$C7,$C7,$8E .db $18,$8E,$08,$C7,$C7,$93,$18,$93 .db $08,$C7,$C7,$93,$08,$7E,$C7,$C7 .db $93,$DA,$08,$DB,$0A,$DE,$22,$19 .db $38,$08,$5F,$C7,$C7,$8E,$18,$8E .db $08,$C7,$C7,$8E,$18,$8E,$08,$C7 .db $C7,$93,$18,$93,$08,$C7,$C7,$C7 .db $08,$7F,$C7,$C7,$93,$DA,$00,$DB .db $0A,$08,$6C,$C7,$C7,$D0,$18,$D0 .db $08,$C7,$C7,$D0,$18,$D0,$08,$C7 .db $C7,$D0,$18,$D0,$C7,$08,$D0,$DB .db $14,$08,$D1,$D1,$DA,$04,$DE,$14 .db $19,$30,$DB,$0A,$08,$4F,$B9,$C6 .db $B7,$B9,$C6,$24,$B7,$0C,$C6,$08 .db $B9,$BB,$C6,$C7,$BB,$C6,$24,$B9 .db $0C,$C6,$08,$C6,$B9,$C6,$B7,$B9 .db $C6,$24,$B7,$0C,$C6,$08,$B8,$B9 .db $C6,$C7,$B9,$C6,$24,$B7,$0C,$C6 .db $08,$B8,$DE,$16,$18,$30,$DB,$0A .db $08,$4E,$AD,$C6,$AB,$AD,$C6,$24 .db $AB,$0C,$C6,$08,$AD,$AF,$C6,$C7 .db $AF,$C6,$24,$AD,$0C,$C6,$08,$C6 .db $AD,$C6,$AB,$AD,$C6,$24,$AB,$0C .db $C7,$08,$AC,$AD,$C6,$C7,$AD,$C6 .db $24,$AB,$0C,$C6,$08,$AC,$00,$DE .db $15,$19,$31,$DB,$08,$08,$4E,$A8 .db $C6,$A4,$A8,$C6,$24,$A8,$0C,$C6 .db $08,$A8,$AB,$C6,$C7,$AB,$C6,$24 .db $A7,$0C,$C6,$08,$C6,$A6,$C6,$A6 .db $A6,$C6,$24,$A6,$0C,$C6,$08,$A6 .db $A8,$C6,$C7,$A8,$C6,$24,$A8,$0C .db $C6,$08,$A8,$DA,$06,$DB,$0C,$DE .db $14,$1A,$30,$08,$4E,$A4,$C6,$A4 .db $A4,$C6,$24,$A4,$0C,$C6,$08,$A4 .db $A7,$C6,$C7,$A7,$C6,$24,$A3,$0C .db $C6,$08,$C6,$A2,$C6,$A2,$A2,$C6 .db $24,$A2,$0C,$C6,$08,$A2,$A5,$C6 .db $C7,$A5,$C6,$24,$A5,$0C,$C6,$08 .db $A5,$08,$B9,$C6,$BB,$BC,$C6,$24 .db $B9,$0C,$C6,$08,$B8,$B7,$C6,$B8 .db $B9,$C6,$24,$C0,$0C,$C6,$08,$C6 .db $00,$08,$A9,$C6,$A9,$AD,$C6,$24 .db $AA,$0C,$C6,$08,$A9,$A8,$C6,$A8 .db $A8,$C6,$24,$AB,$0C,$C6,$08,$C6 .db $08,$AD,$C6,$AF,$B0,$C6,$24,$AD .db $0C,$C6,$08,$AC,$AB,$C6,$AC,$AD .db $C6,$24,$B4,$0C,$C6,$08,$C6,$00 .db $DA,$04,$DB,$0C,$DE,$22,$18,$14 .db $08,$5C,$A4,$C6,$A4,$A9,$C6,$24 .db $A4,$0C,$C6,$08,$A4,$A4,$C6,$A4 .db $A4,$C6,$24,$A5,$0C,$C6,$08,$C6 .db $DA,$04,$DB,$0A,$DE,$22,$19,$38 .db $60,$5E,$BC,$C6,$DA,$01,$10,$9F .db $C6,$C6,$C6,$AF,$C6,$60,$C6,$C6 .db $00,$DA,$04,$DB,$08,$DE,$20,$18 .db $36,$60,$5D,$B4,$C6,$DA,$01,$10 .db $C7,$A3,$C6,$C6,$C6,$B3,$60,$C6 .db $C6,$DA,$04,$DB,$0C,$DE,$21,$1A .db $37,$60,$5D,$AB,$C6,$DA,$01,$10 .db $C7,$C7,$A7,$C6,$C6,$C6,$60,$B7 .db $C6,$DA,$04,$DB,$0A,$DE,$22,$18 .db $36,$60,$5D,$A4,$C6,$DA,$01,$10 .db $C7,$C7,$C7,$AB,$C6,$C6,$60,$C6 .db $C6,$DA,$04,$DB,$0F,$10,$5D,$A4 .db $C7,$A4,$A2,$C7,$A2,$A1,$C7,$A1 .db $A0,$C7,$A0,$60,$9F,$9B,$C6,$DA .db $0D,$DB,$0F,$10,$5D,$9C,$C7,$9C .db $9C,$C7,$9C,$98,$C7,$98,$98,$C7 .db $98,$60,$97,$97,$C6,$DA,$08,$DB .db $0A,$DE,$22,$19,$38,$10,$5D,$98 .db $C7,$98,$96,$C7,$96,$95,$C7,$95 .db $94,$C7,$94,$60,$93,$93,$C6,$00 .db $00,$00,$05,$E8,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00 DATA_03FDE0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_048000: .db $80,$B4,$98,$B4,$B0,$B4 DATA_048006: .db $00,$B3,$18,$B3,$30,$B3,$48,$B3 .db $60,$B3,$78,$B3,$90,$B3,$A8,$B3 .db $C0,$B3,$D8,$B3,$F0,$B3,$08,$B4 .db $20,$B4,$38,$B4,$50,$B4,$68,$B4 .db $80,$B4,$98,$B4,$B0,$B4,$C8,$B4 .db $E0,$B4,$F8,$B4,$10,$B5,$28,$B5 .db $40,$B5,$58,$B5,$70,$B5,$88,$B5 .db $A0,$B5,$B8,$B5,$D0,$B5,$E8,$B5 .db $00,$B6,$18,$B6,$30,$B6,$48,$B6 .db $60,$B6,$78,$B6,$90,$B6,$A8,$B6 .db $C0,$B6,$D8,$B6,$F0,$B6,$08,$B7 .db $20,$B7,$38,$B7,$50,$B7,$68,$B7 .db $80,$B7,$98,$B7,$B0,$B7,$C8,$B7 .db $E0,$B7,$F8,$B7,$10,$B8,$28,$B8 .db $40,$B8,$58,$B8,$70,$B8,$88,$B8 .db $A0,$B8,$B8,$B8,$D0,$B8,$E8,$B8 CODE_048086: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_048088: 64 03 STZ $03 CODE_04808A: 64 05 STZ $05 CODE_04808C: A6 03 LDX $03 CODE_04808E: BD 00 80 LDA.W DATA_048000,X CODE_048091: 85 00 STA $00 CODE_048093: E2 10 SEP #$10 ; Index (8 bit) CODE_048095: A0 7E LDY.B #$7E CODE_048097: 84 02 STY $02 CODE_048099: C2 10 REP #$10 ; Index (16 bit) CODE_04809B: A6 05 LDX $05 CODE_04809D: 20 B9 80 JSR.W CODE_0480B9 CODE_0480A0: A5 05 LDA $05 CODE_0480A2: 18 CLC CODE_0480A3: 69 20 00 ADC.W #$0020 CODE_0480A6: 85 05 STA $05 CODE_0480A8: A5 03 LDA $03 CODE_0480AA: 1A INC A CODE_0480AB: 1A INC A CODE_0480AC: 85 03 STA $03 CODE_0480AE: 29 FF 00 AND.W #$00FF CODE_0480B1: C9 06 00 CMP.W #$0006 CODE_0480B4: D0 D6 BNE CODE_04808C CODE_0480B6: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return0480B8: 60 RTS ; Return CODE_0480B9: A0 00 00 LDY.W #$0000 ; Index (16 bit) Accum (16 bit) CODE_0480BC: A9 08 00 LDA.W #$0008 CODE_0480BF: 85 07 STA $07 CODE_0480C1: 85 09 STA $09 CODE_0480C3: B7 00 LDA [$00],Y CODE_0480C5: 9D F6 0A STA.W $0AF6,X CODE_0480C8: C8 INY CODE_0480C9: C8 INY CODE_0480CA: E8 INX CODE_0480CB: E8 INX CODE_0480CC: C6 07 DEC $07 CODE_0480CE: D0 F3 BNE CODE_0480C3 CODE_0480D0: B7 00 LDA [$00],Y CODE_0480D2: 29 FF 00 AND.W #$00FF CODE_0480D5: 9D F6 0A STA.W $0AF6,X CODE_0480D8: C8 INY CODE_0480D9: E8 INX CODE_0480DA: E8 INX CODE_0480DB: C6 09 DEC $09 CODE_0480DD: D0 F1 BNE CODE_0480D0 Return0480DF: 60 RTS ; Return OW_Tile_Animation: A5 13 LDA RAM_FrameCounter ; \ ; Index (8 bit) Accum (8 bit) CODE_0480E2: 29 07 AND.B #$07 ; |If lower 3 bits of frame counter isn't 0, CODE_0480E4: D0 1B BNE CODE_048101 ; / don't update the water animation CODE_0480E6: A2 1F LDX.B #$1F CODE_0480E8: BD F6 0A LDA.W $0AF6,X CODE_0480EB: 85 00 STA $00 CODE_0480ED: 8A TXA CODE_0480EE: 29 08 AND.B #$08 CODE_0480F0: D0 07 BNE CODE_0480F9 CODE_0480F2: 06 00 ASL $00 CODE_0480F4: 3E F6 0A ROL.W $0AF6,X CODE_0480F7: 80 05 BRA CODE_0480FE CODE_0480F9: 46 00 LSR $00 CODE_0480FB: 7E F6 0A ROR.W $0AF6,X CODE_0480FE: CA DEX CODE_0480FF: 10 E7 BPL CODE_0480E8 CODE_048101: A5 13 LDA RAM_FrameCounter ; \ CODE_048103: 29 07 AND.B #$07 ; |If lower 3 bits of frame counter isn't 0, CODE_048105: D0 05 BNE CODE_04810C ; / don't update the waterfall animation CODE_048107: A2 20 LDX.B #$20 CODE_048109: 20 72 81 JSR.W CODE_048172 CODE_04810C: A5 13 LDA RAM_FrameCounter ; \ CODE_04810E: 29 07 AND.B #$07 ; |If lower 3 bits of frame counter isn't 0, CODE_048110: D0 11 BNE CODE_048123 ; / branch to $8123 CODE_048112: A2 1F LDX.B #$1F CODE_048114: BD 36 0B LDA.W $0B36,X CODE_048117: 0A ASL CODE_048118: 3E 36 0B ROL.W $0B36,X CODE_04811B: CA DEX CODE_04811C: 10 F6 BPL CODE_048114 CODE_04811E: A2 40 LDX.B #$40 CODE_048120: 20 72 81 JSR.W CODE_048172 CODE_048123: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_048125: A9 60 00 LDA.W #$0060 CODE_048128: 85 0D STA $0D CODE_04812A: 64 0B STZ $0B CODE_04812C: A2 38 00 LDX.W #$0038 CODE_04812F: A5 0B LDA $0B CODE_048131: C9 20 00 CMP.W #$0020 CODE_048134: B0 03 BCS CODE_048139 CODE_048136: A2 70 00 LDX.W #$0070 CODE_048139: 8A TXA CODE_04813A: 25 13 AND RAM_FrameCounter CODE_04813C: 4A LSR CODE_04813D: 4A LSR CODE_04813E: E0 38 00 CPX.W #$0038 CODE_048141: F0 01 BEQ CODE_048144 CODE_048143: 4A LSR CODE_048144: 18 CLC CODE_048145: 65 0B ADC $0B CODE_048147: AA TAX CODE_048148: BD 06 80 LDA.W DATA_048006,X CODE_04814B: 85 00 STA $00 CODE_04814D: E2 10 SEP #$10 ; Index (8 bit) CODE_04814F: A0 7E LDY.B #$7E CODE_048151: 84 02 STY $02 CODE_048153: C2 10 REP #$10 ; Index (16 bit) CODE_048155: A6 0D LDX $0D CODE_048157: 20 B9 80 JSR.W CODE_0480B9 CODE_04815A: A5 0D LDA $0D CODE_04815C: 18 CLC CODE_04815D: 69 20 00 ADC.W #$0020 CODE_048160: 85 0D STA $0D CODE_048162: A5 0B LDA $0B CODE_048164: 18 CLC CODE_048165: 69 10 00 ADC.W #$0010 CODE_048168: 85 0B STA $0B CODE_04816A: C9 80 00 CMP.W #$0080 CODE_04816D: D0 BD BNE CODE_04812C CODE_04816F: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return048171: 60 RTS ; Return CODE_048172: C2 20 REP #$20 ; Accum (16 bit) CODE_048174: A0 00 LDY.B #$00 CODE_048176: DA PHX CODE_048177: 8A TXA CODE_048178: 18 CLC CODE_048179: 69 0E 00 ADC.W #$000E CODE_04817C: AA TAX CODE_04817D: BD F6 0A LDA.W $0AF6,X CODE_048180: 85 00 STA $00 CODE_048182: FA PLX CODE_048183: BD F6 0A LDA.W $0AF6,X CODE_048186: 85 02 STA $02 CODE_048188: A5 00 LDA $00 CODE_04818A: 9D F6 0A STA.W $0AF6,X CODE_04818D: A5 02 LDA $02 CODE_04818F: 85 00 STA $00 CODE_048191: E8 INX CODE_048192: E8 INX CODE_048193: C8 INY CODE_048194: C0 08 CPY.B #$08 CODE_048196: F0 DE BEQ CODE_048176 CODE_048198: C0 10 CPY.B #$10 CODE_04819A: D0 E7 BNE CODE_048183 CODE_04819C: E2 20 SEP #$20 ; Accum (8 bit) Return04819E: 60 RTS ; Return DATA_04819F: .db $50,$CF,$00,$03,$7E,$78,$7E,$38 .db $50,$EF,$00,$03,$7F,$38,$7F,$78 .db $51,$C3,$00,$03,$7E,$78,$7D,$78 .db $51,$E3,$00,$03,$7E,$F8,$7D,$F8 .db $51,$DB,$00,$03,$7D,$38,$7E,$38 .db $51,$FB,$00,$03,$7D,$B8,$7E,$B8 .db $52,$EF,$00,$03,$7F,$B8,$7F,$F8 .db $53,$0F,$00,$03,$7E,$F8,$7E,$B8 .db $FF DATA_0481E0: .db $50,$CF,$40,$02,$FC,$00,$50,$EF .db $40,$02,$FC,$00,$51,$C3,$40,$02 .db $FC,$00,$51,$E3,$40,$02,$FC,$00 .db $51,$DB,$40,$02,$FC,$00,$51,$FB .db $40,$02,$FC,$00,$52,$EF,$40,$02 .db $FC,$00,$53,$0F,$40,$02,$FC,$00 .db $FF DATA_048211: .db $00,$00,$02,$00,$FE,$FF,$02,$00 .db $00,$00,$02,$00,$FE,$FF,$02,$00 DATA_048221: .db $00,$00,$11,$01,$EF,$FF,$11,$01 .db $00,$00,$32,$01,$D7,$FF,$32,$01 DATA_048231: .db $0F,$0F,$07,$07,$07,$03,$03,$03 .db $01,$01,$03,$03,$03,$07,$07,$07 GameMode_0E_Prim: 8B PHB CODE_048242: 4B PHK CODE_048243: AB PLB CODE_048244: A2 01 LDX.B #$01 ; \ If player 1 pushes select... CODE_048246: BD A6 0D LDA.W RAM_OWControllerA,X ; | CODE_048249: 29 20 AND.B #$20 ; | ...disabled by BRA CODE_04824B: 80 14 BRA CODE_048261 ; / Change to BEQ to enable debug code below ADDR_04824D: BD BA 0D LDA.W RAM_PlyrYoshiColor,X ; \ Unreachable ADDR_048250: 1A INC A ; | Debug: Change Yoshi color ADDR_048251: 1A INC A ; | ADDR_048252: C9 04 CMP.B #$04 ; | ADDR_048254: B0 02 BCS ADDR_048258 ; | ADDR_048256: A9 04 LDA.B #$04 ; | ADDR_048258: C9 0B CMP.B #$0B ; | ADDR_04825A: 90 02 BCC ADDR_04825E ; | ADDR_04825C: A9 00 LDA.B #$00 ; | ADDR_04825E: 9D BA 0D STA.W RAM_PlyrYoshiColor,X ; / CODE_048261: CA DEX CODE_048262: 10 E2 BPL CODE_048246 CODE_048264: 20 A7 85 JSR.W CODE_0485A7 CODE_048267: 20 E0 80 JSR.W OW_Tile_Animation CODE_04826A: AD D2 13 LDA.W $13D2 ; \ If "! blocks flying away color" is 0, CODE_04826D: F0 06 BEQ CODE_048275 ; / don't play the animation CODE_04826F: 20 90 F2 JSR.W CODE_04F290 CODE_048272: 4C 0D 84 JMP.W CODE_04840D CODE_048275: AD C9 13 LDA.W $13C9 ; \ If not showing Continue/End message, CODE_048278: F0 07 BEQ CODE_048281 ; / branch to $8281 CODE_04827A: 22 80 9B 00 JSL.L CODE_009B80 CODE_04827E: 4C 10 84 JMP.W CODE_048410 CODE_048281: AD 87 1B LDA.W $1B87 CODE_048284: F0 0F BEQ CODE_048295 CODE_048286: C9 05 CMP.B #$05 CODE_048288: B0 05 BCS CODE_04828F CODE_04828A: AC B2 0D LDY.W $0DB2 CODE_04828D: F0 06 BEQ CODE_048295 CODE_04828F: 20 E5 F3 JSR.W CODE_04F3E5 CODE_048292: 4C 13 84 JMP.W CODE_048413 CODE_048295: AD D4 13 LDA.W $13D4 CODE_048298: 4A LSR CODE_048299: D0 03 BNE CODE_04829E CODE_04829B: 4C 56 83 JMP.W CODE_048356 CODE_04829E: C2 20 REP #$20 ; Accum (16 bit) CODE_0482A0: AD F2 1D LDA.W $1DF2 CODE_0482A3: 38 SEC CODE_0482A4: E5 1C SBC RAM_ScreenBndryYLo CODE_0482A6: 85 01 STA $01 CODE_0482A8: 10 04 BPL CODE_0482AE CODE_0482AA: 49 FF FF EOR.W #$FFFF CODE_0482AD: 1A INC A CODE_0482AE: 4A LSR CODE_0482AF: E2 20 SEP #$20 ; Accum (8 bit) CODE_0482B1: 85 05 STA $05 CODE_0482B3: C2 20 REP #$20 ; Accum (16 bit) CODE_0482B5: AD F0 1D LDA.W $1DF0 CODE_0482B8: 38 SEC CODE_0482B9: E5 1A SBC RAM_ScreenBndryXLo CODE_0482BB: 85 00 STA $00 CODE_0482BD: 10 04 BPL CODE_0482C3 ADDR_0482BF: 49 FF FF EOR.W #$FFFF ADDR_0482C2: 1A INC A CODE_0482C3: 4A LSR CODE_0482C4: E2 20 SEP #$20 ; Accum (8 bit) CODE_0482C6: 85 04 STA $04 CODE_0482C8: A2 01 LDX.B #$01 CODE_0482CA: C5 05 CMP $05 CODE_0482CC: B0 03 BCS CODE_0482D1 CODE_0482CE: CA DEX CODE_0482CF: A5 05 LDA $05 CODE_0482D1: C9 02 CMP.B #$02 CODE_0482D3: B0 18 BCS CODE_0482ED CODE_0482D5: C2 20 REP #$20 ; Accum (16 bit) CODE_0482D7: AD F0 1D LDA.W $1DF0 CODE_0482DA: 85 1A STA RAM_ScreenBndryXLo CODE_0482DC: 85 1E STA $1E CODE_0482DE: AD F2 1D LDA.W $1DF2 CODE_0482E1: 85 1C STA RAM_ScreenBndryYLo CODE_0482E3: 85 20 STA $20 CODE_0482E5: E2 20 SEP #$20 ; Accum (8 bit) CODE_0482E7: 9C D4 13 STZ.W $13D4 CODE_0482EA: 4C BD 83 JMP.W CODE_0483BD CODE_0482ED: 9C 04 42 STZ.W $4204 ; Dividend (Low Byte) CODE_0482F0: B4 04 LDY $04,X CODE_0482F2: 8C 05 42 STY.W $4205 ; Dividend (High-Byte) CODE_0482F5: 8D 06 42 STA.W $4206 ; Divisor B CODE_0482F8: EA NOP ; \ CODE_0482F9: EA NOP ; | CODE_0482FA: EA NOP ; | Wait until division is done CODE_0482FB: EA NOP ; | CODE_0482FC: EA NOP ; | CODE_0482FD: EA NOP ; / CODE_0482FE: C2 20 REP #$20 ; Accum (16 bit) CODE_048300: AD 14 42 LDA.W $4214 ; Quotient of Divide Result (Low Byte) CODE_048303: 4A LSR CODE_048304: 4A LSR CODE_048305: E2 20 SEP #$20 ; Accum (8 bit) CODE_048307: B4 01 LDY $01,X CODE_048309: 10 03 BPL CODE_04830E ADDR_04830B: 49 FF EOR.B #$FF ADDR_04830D: 1A INC A CODE_04830E: 95 01 STA $01,X CODE_048310: 8A TXA CODE_048311: 49 01 EOR.B #$01 CODE_048313: AA TAX CODE_048314: A9 40 LDA.B #$40 CODE_048316: B4 01 LDY $01,X CODE_048318: 10 02 BPL CODE_04831C CODE_04831A: A9 C0 LDA.B #$C0 CODE_04831C: 95 01 STA $01,X CODE_04831E: A0 01 LDY.B #$01 CODE_048320: 98 TYA CODE_048321: 0A ASL CODE_048322: AA TAX CODE_048323: B9 01 00 LDA.W $0001,Y CODE_048326: 0A ASL CODE_048327: 0A ASL CODE_048328: 0A ASL CODE_048329: 0A ASL CODE_04832A: 18 CLC CODE_04832B: 79 7C 1B ADC.W $1B7C,Y CODE_04832E: 99 7C 1B STA.W $1B7C,Y CODE_048331: B9 01 00 LDA.W $0001,Y CODE_048334: 5A PHY CODE_048335: 08 PHP CODE_048336: 4A LSR CODE_048337: 4A LSR CODE_048338: 4A LSR CODE_048339: 4A LSR CODE_04833A: A0 00 LDY.B #$00 CODE_04833C: 28 PLP CODE_04833D: 10 03 BPL CODE_048342 CODE_04833F: 09 F0 ORA.B #$F0 CODE_048341: 88 DEY CODE_048342: 75 1A ADC RAM_ScreenBndryXLo,X CODE_048344: 95 1A STA RAM_ScreenBndryXLo,X CODE_048346: 95 1E STA $1E,X CODE_048348: 98 TYA CODE_048349: 75 1B ADC RAM_ScreenBndryXHi,X CODE_04834B: 95 1B STA RAM_ScreenBndryXHi,X CODE_04834D: 95 1F STA $1F,X CODE_04834F: 7A PLY CODE_048350: 88 DEY CODE_048351: 10 CD BPL CODE_048320 CODE_048353: 4C 0D 84 JMP.W CODE_04840D CODE_048356: AD D9 13 LDA.W $13D9 CODE_048359: C9 03 CMP.B #$03 CODE_04835B: F0 09 BEQ CODE_048366 CODE_04835D: C9 04 CMP.B #$04 CODE_04835F: D0 39 BNE CODE_04839A CODE_048361: AD D8 0D LDA.W $0DD8 CODE_048364: D0 34 BNE CODE_04839A CODE_048366: AD A8 0D LDA.W $0DA8 CODE_048369: 0D A9 0D ORA.W $0DA9 CODE_04836C: 29 30 AND.B #$30 CODE_04836E: F0 05 BEQ CODE_048375 CODE_048370: A9 01 LDA.B #$01 CODE_048372: 8D 87 1B STA.W $1B87 CODE_048375: AE B3 0D LDX.W $0DB3 CODE_048378: BD 11 1F LDA.W $1F11,X CODE_04837B: D0 1D BNE CODE_04839A CODE_04837D: A5 16 LDA $16 CODE_04837F: 29 10 AND.B #$10 CODE_048381: F0 17 BEQ CODE_04839A CODE_048383: EE D4 13 INC.W $13D4 ; Look around overworld CODE_048386: AD D4 13 LDA.W $13D4 ;\ CODE_048389: 4A LSR ;| If not looking around overworld CODE_04838A: D0 0E BNE CODE_04839A ;/ CODE_04838C: C2 20 REP #$20 ; Accum (16 bit) CODE_04838E: A5 1A LDA RAM_ScreenBndryXLo CODE_048390: 8D F0 1D STA.W $1DF0 CODE_048393: A5 1C LDA RAM_ScreenBndryYLo CODE_048395: 8D F2 1D STA.W $1DF2 CODE_048398: E2 20 SEP #$20 ; Accum (8 bit) CODE_04839A: AD D4 13 LDA.W $13D4 CODE_04839D: F0 24 BEQ CODE_0483C3 CODE_04839F: A2 00 LDX.B #$00 CODE_0483A1: A5 15 LDA RAM_ControllerA CODE_0483A3: 29 03 AND.B #$03 CODE_0483A5: 0A ASL CODE_0483A6: 20 15 84 JSR.W CODE_048415 CODE_0483A9: A2 02 LDX.B #$02 CODE_0483AB: A5 15 LDA RAM_ControllerA CODE_0483AD: 29 0C AND.B #$0C CODE_0483AF: 09 10 ORA.B #$10 CODE_0483B1: 4A LSR CODE_0483B2: 20 15 84 JSR.W CODE_048415 CODE_0483B5: A0 15 LDY.B #$15 CODE_0483B7: A5 13 LDA RAM_FrameCounter CODE_0483B9: 29 18 AND.B #$18 CODE_0483BB: D0 02 BNE CODE_0483BF CODE_0483BD: A0 18 LDY.B #$18 CODE_0483BF: 84 12 STY $12 CODE_0483C1: 80 4A BRA CODE_04840D CODE_0483C3: AE A0 1B LDX.W $1BA0 CODE_0483C6: F0 42 BEQ CODE_04840A CODE_0483C8: E0 FE CPX.B #$FE CODE_0483CA: D0 0A BNE CODE_0483D6 CODE_0483CC: A9 21 LDA.B #$21 CODE_0483CE: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_0483D1: A9 08 LDA.B #$08 ; \ CODE_0483D3: 8D FB 1D STA.W $1DFB ; / Reveal Bowser's valley music CODE_0483D6: 8A TXA CODE_0483D7: 4A LSR CODE_0483D8: 4A LSR CODE_0483D9: 4A LSR CODE_0483DA: 4A LSR CODE_0483DB: A8 TAY CODE_0483DC: A5 13 LDA RAM_FrameCounter CODE_0483DE: 39 31 82 AND.W DATA_048231,Y CODE_0483E1: D0 10 BNE CODE_0483F3 CODE_0483E3: A5 1A LDA RAM_ScreenBndryXLo ;\ CODE_0483E5: 49 01 EOR.B #$01 ;| CODE_0483E7: 85 1A STA RAM_ScreenBndryXLo ;| CODE_0483E9: 85 1E STA $1E ;| Shake ground CODE_0483EB: A5 1C LDA RAM_ScreenBndryYLo ;| CODE_0483ED: 49 01 EOR.B #$01 ;| CODE_0483EF: 85 1C STA RAM_ScreenBndryYLo ;| CODE_0483F1: 85 20 STA $20 ;| CODE_0483F3: E0 80 CPX.B #$80 ;| CODE_0483F5: B0 07 BCS CODE_0483FE ;/ CODE_0483F7: AD D9 13 LDA.W $13D9 CODE_0483FA: C9 02 CMP.B #$02 CODE_0483FC: D0 0C BNE CODE_04840A CODE_0483FE: CE A0 1B DEC.W $1BA0 CODE_048401: D0 0A BNE CODE_04840D CODE_048403: A9 22 LDA.B #$22 CODE_048405: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_048408: 80 03 BRA CODE_04840D CODE_04840A: 20 76 85 JSR.W CODE_048576 CODE_04840D: 20 08 F7 JSR.W CODE_04F708 CODE_048410: 20 2E 86 JSR.W CODE_04862E CODE_048413: AB PLB Return048414: 6B RTL ; Return CODE_048415: A8 TAY CODE_048416: C2 20 REP #$20 ; Accum (16 bit) CODE_048418: B5 1A LDA RAM_ScreenBndryXLo,X CODE_04841A: 18 CLC CODE_04841B: 79 11 82 ADC.W DATA_048211,Y CODE_04841E: 48 PHA CODE_04841F: 38 SEC CODE_048420: F9 21 82 SBC.W DATA_048221,Y CODE_048423: 59 11 82 EOR.W DATA_048211,Y CODE_048426: 0A ASL CODE_048427: 68 PLA CODE_048428: 90 04 BCC CODE_04842E CODE_04842A: 95 1A STA RAM_ScreenBndryXLo,X CODE_04842C: 95 1E STA $1E,X CODE_04842E: E2 20 SEP #$20 ; Accum (8 bit) Return048430: 60 RTS ; Return DATA_048431: .db $11,$00,$0A,$00,$09,$00,$0B,$00 .db $12,$00,$0A,$00,$07,$00,$0A,$02 .db $03,$02,$10,$04,$12,$04,$1C,$04 .db $14,$04,$12,$06,$00,$02,$12,$06 .db $10,$00,$17,$06,$14,$00,$1C,$06 .db $14,$00,$1C,$06,$17,$06,$11,$05 .db $11,$05,$14,$04,$06,$01 DATA_048467: .db $07,$00,$03,$00,$10,$00,$0E,$00 .db $17,$00,$18,$00,$12,$00,$14,$00 .db $0B,$00,$03,$00,$01,$00,$09,$00 .db $09,$00,$1D,$00,$0E,$00,$18,$00 .db $0F,$00,$16,$00,$10,$00,$18,$00 .db $02,$00,$1D,$00,$18,$00,$13,$00 .db $11,$00,$03,$00,$07,$00 DATA_04849D: .db $A8,$04,$38,$04,$08,$09,$28,$09 .db $C8,$09,$48,$09,$28,$0D,$18,$01 .db $A8,$00,$98,$00,$B8,$00,$28,$01 .db $A8,$00,$78,$00,$28,$0D,$08,$04 .db $78,$0D,$08,$01,$C8,$0D,$48,$01 .db $C8,$0D,$48,$09,$18,$0B,$78,$0D .db $68,$02,$C8,$0D,$28,$0D DATA_0484D3: .db $48,$01,$B8,$00,$38,$00,$18,$00 .db $98,$00,$98,$00,$D8,$01,$78,$00 .db $38,$00,$08,$01,$E8,$00,$78,$01 .db $88,$01,$28,$01,$88,$01,$E8,$00 .db $68,$01,$F8,$00,$88,$01,$08,$01 .db $D8,$01,$38,$00,$38,$01,$88,$01 .db $78,$00,$D8,$01,$D8,$01 CODE_048509: AC B3 0D LDY.W $0DB3 ; \ Get current player's submap CODE_04850C: B9 11 1F LDA.W $1F11,Y ; / CODE_04850F: 85 01 STA $01 ; Store it in $01 CODE_048511: 64 00 STZ $00 ; Store x00 in $00 CODE_048513: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_048515: AE D6 0D LDX.W $0DD6 ; Set X to Current character*4 CODE_048518: A0 34 LDY.B #$34 ; Set Y to x34 CODE_04851A: B9 31 84 LDA.W DATA_048431,Y CODE_04851D: 45 00 EOR $00 CODE_04851F: C9 00 02 CMP.W #$0200 CODE_048522: B0 0D BCS CODE_048531 CODE_048524: DD 1F 1F CMP.W $1F1F,X CODE_048527: D0 08 BNE CODE_048531 CODE_048529: BD 21 1F LDA.W $1F21,X CODE_04852C: D9 67 84 CMP.W DATA_048467,Y CODE_04852F: F0 04 BEQ CODE_048535 CODE_048531: 88 DEY CODE_048532: 88 DEY CODE_048533: 10 E5 BPL CODE_04851A CODE_048535: 8C F6 1D STY.W $1DF6 ; Store Y in "Warp destination" CODE_048538: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) Return04853A: 60 RTS ; Return CODE_04853B: 8B PHB CODE_04853C: 4B PHK CODE_04853D: AB PLB CODE_04853E: C2 20 REP #$20 ; Accum (16 bit) CODE_048540: AE D6 0D LDX.W $0DD6 CODE_048543: AC F6 1D LDY.W $1DF6 CODE_048546: B9 9D 84 LDA.W DATA_04849D,Y CODE_048549: 48 PHA CODE_04854A: 29 FF 01 AND.W #$01FF CODE_04854D: 9D 17 1F STA.W $1F17,X CODE_048550: 4A LSR CODE_048551: 4A LSR CODE_048552: 4A LSR CODE_048553: 4A LSR CODE_048554: 9D 1F 1F STA.W $1F1F,X CODE_048557: B9 D3 84 LDA.W DATA_0484D3,Y CODE_04855A: 9D 19 1F STA.W $1F19,X CODE_04855D: 4A LSR CODE_04855E: 4A LSR CODE_04855F: 4A LSR CODE_048560: 4A LSR CODE_048561: 9D 21 1F STA.W $1F21,X CODE_048564: 68 PLA CODE_048565: 4A LSR CODE_048566: EB XBA CODE_048567: 29 0F 00 AND.W #$000F CODE_04856A: 8D C3 13 STA.W $13C3 CODE_04856D: C2 10 REP #$10 ; Index (16 bit) CODE_04856F: 20 93 9A JSR.W CODE_049A93 CODE_048572: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_048574: AB PLB Return048575: 6B RTL ; Return CODE_048576: AD D9 13 LDA.W $13D9 CODE_048579: 22 FA 86 00 JSL.L ExecutePtrLong PtrsLong04857D: F1 8E 04 .dw CODE_048EF1 .db :$CODE_048EF1 70 E5 04 .dw CODE_04E570 .db :$CODE_04E570 87 8F 04 .dw CODE_048F87 .db :$CODE_048F87 20 91 04 .dw CODE_049120 .db :$CODE_049120 5D 94 04 .dw CODE_04945D .db :$CODE_04945D 9A 9D 04 .dw CODE_049D9A .db :$CODE_049D9A 22 9E 04 .dw CODE_049E22 .db :$CODE_049E22 D1 9D 04 .dw CODE_049DD1 .db :$CODE_049DD1 22 9E 04 .dw CODE_049E22 .db :$CODE_049E22 4C 9E 04 .dw CODE_049E4C .db :$CODE_049E4C EF DA 04 .dw CODE_04DAEF .db :$CODE_04DAEF 52 9E 04 .dw CODE_049E52 .db :$CODE_049E52 C6 98 04 .dw CODE_0498C6 .db :$CODE_0498C6 DrawOWBoarder?: 20 2E 86 JSR.W CODE_04862E CODE_0485A7: C2 20 REP #$20 ; Accum (16 bit) CODE_0485A9: A9 1E 00 LDA.W #$001E ; \ Mario X postion = #$001E CODE_0485AC: 18 CLC ; | (On overworld boarder) CODE_0485AD: 65 1A ADC RAM_ScreenBndryXLo ; | CODE_0485AF: 85 94 STA RAM_MarioXPos ; / CODE_0485B1: A9 06 00 LDA.W #$0006 ; \ Mario Y postion = #$0006 CODE_0485B4: 18 CLC ; | (On overworld boarder) CODE_0485B5: 65 1C ADC RAM_ScreenBndryYLo ; | CODE_0485B7: 85 96 STA RAM_MarioYPos ; / CODE_0485B9: E2 20 SEP #$20 ; Accum (8 bit) CODE_0485BB: A9 08 LDA.B #$08 CODE_0485BD: 8D 7B 00 STA.W RAM_MarioSpeedX CODE_0485C0: 8B PHB CODE_0485C1: A9 00 LDA.B #$00 CODE_0485C3: 48 PHA CODE_0485C4: AB PLB CODE_0485C5: 22 B1 CE 00 JSL.L CODE_00CEB1 CODE_0485C9: AB PLB CODE_0485CA: A9 03 LDA.B #$03 CODE_0485CC: 8D F9 13 STA.W RAM_IsBehindScenery CODE_0485CF: 22 BD E2 00 JSL.L CODE_00E2BD CODE_0485D3: A9 06 LDA.B #$06 CODE_0485D5: 8D 84 0D STA.W $0D84 CODE_0485D8: AD 96 14 LDA.W $1496 CODE_0485DB: F0 03 BEQ CODE_0485E0 CODE_0485DD: CE 96 14 DEC.W $1496 CODE_0485E0: AD A2 14 LDA.W $14A2 CODE_0485E3: F0 03 BEQ CODE_0485E8 CODE_0485E5: CE A2 14 DEC.W $14A2 CODE_0485E8: A9 18 LDA.B #$18 CODE_0485EA: 85 00 STA $00 CODE_0485EC: A9 07 LDA.B #$07 CODE_0485EE: 85 01 STA $01 CODE_0485F0: A0 00 LDY.B #$00 CODE_0485F2: BB TYX CODE_0485F3: A5 00 LDA $00 CODE_0485F5: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0485F8: 18 CLC CODE_0485F9: 69 08 ADC.B #$08 CODE_0485FB: 85 00 STA $00 CODE_0485FD: A5 01 LDA $01 CODE_0485FF: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_048602: A9 7E LDA.B #$7E CODE_048604: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_048607: A9 36 LDA.B #$36 CODE_048609: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_04860C: DA PHX CODE_04860D: BB TYX CODE_04860E: A9 00 LDA.B #$00 CODE_048610: 9D 20 04 STA.W $0420,X CODE_048613: FA PLX CODE_048614: C8 INY CODE_048615: 98 TYA CODE_048616: 29 03 AND.B #$03 CODE_048618: D0 0B BNE CODE_048625 CODE_04861A: A9 18 LDA.B #$18 CODE_04861C: 85 00 STA $00 CODE_04861E: A5 01 LDA $01 CODE_048620: 18 CLC CODE_048621: 69 08 ADC.B #$08 CODE_048623: 85 01 STA $01 CODE_048625: E8 INX CODE_048626: E8 INX CODE_048627: E8 INX CODE_048628: E8 INX CODE_048629: C0 10 CPY.B #$10 CODE_04862B: D0 C6 BNE CODE_0485F3 Return04862D: 60 RTS ; Return CODE_04862E: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_048630: AE D6 0D LDX.W $0DD6 ; \ Get current player's X position CODE_048633: BD 17 1F LDA.W $1F17,X ; / CODE_048636: 38 SEC ; \ Subtract x1A CODE_048637: E5 1A SBC RAM_ScreenBndryXLo ; / CODE_048639: C9 00 01 CMP.W #$0100 ; \ If A >= x100, CODE_04863C: B0 0F BCS CODE_04864D ; / branch to $864D CODE_04863E: 85 00 STA $00 ; \ Store in $00 and $08 CODE_048640: 85 08 STA $08 ; / CODE_048642: BD 19 1F LDA.W $1F19,X CODE_048645: 38 SEC CODE_048646: E5 1C SBC RAM_ScreenBndryYLo CODE_048648: C9 00 01 CMP.W #$0100 CODE_04864B: 90 03 BCC CODE_048650 CODE_04864D: A9 F0 00 LDA.W #$00F0 CODE_048650: 85 02 STA $02 CODE_048652: 85 0A STA $0A CODE_048654: 8A TXA CODE_048655: 49 04 00 EOR.W #$0004 CODE_048658: AA TAX CODE_048659: BD 17 1F LDA.W $1F17,X CODE_04865C: 38 SEC CODE_04865D: E5 1A SBC RAM_ScreenBndryXLo CODE_04865F: C9 00 01 CMP.W #$0100 CODE_048662: B0 0F BCS CODE_048673 CODE_048664: 85 04 STA $04 CODE_048666: 85 0C STA $0C CODE_048668: BD 19 1F LDA.W $1F19,X CODE_04866B: 38 SEC CODE_04866C: E5 1C SBC RAM_ScreenBndryYLo CODE_04866E: C9 00 01 CMP.W #$0100 CODE_048671: 90 03 BCC CODE_048676 CODE_048673: A9 F0 00 LDA.W #$00F0 CODE_048676: 85 06 STA $06 CODE_048678: 85 0E STA $0E CODE_04867A: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04867C: A5 00 LDA $00 CODE_04867E: 38 SEC CODE_04867F: E9 08 SBC.B #$08 CODE_048681: 85 00 STA $00 CODE_048683: A5 02 LDA $02 CODE_048685: 38 SEC CODE_048686: E9 09 SBC.B #$09 CODE_048688: 85 01 STA $01 CODE_04868A: A5 04 LDA $04 CODE_04868C: 38 SEC CODE_04868D: E9 08 SBC.B #$08 CODE_04868F: 85 02 STA $02 CODE_048691: A5 06 LDA $06 CODE_048693: 38 SEC CODE_048694: E9 09 SBC.B #$09 CODE_048696: 85 03 STA $03 CODE_048698: A9 03 LDA.B #$03 CODE_04869A: 85 8C STA $8C CODE_04869C: A5 00 LDA $00 CODE_04869E: 85 06 STA $06 CODE_0486A0: 85 8A STA $8A CODE_0486A2: A5 01 LDA $01 CODE_0486A4: 85 07 STA $07 CODE_0486A6: 85 8B STA $8B CODE_0486A8: AD D6 0D LDA.W $0DD6 CODE_0486AB: 4A LSR CODE_0486AC: A8 TAY CODE_0486AD: B9 13 1F LDA.W $1F13,Y CODE_0486B0: C9 12 CMP.B #$12 CODE_0486B2: F0 11 BEQ CODE_0486C5 CODE_0486B4: C9 07 CMP.B #$07 CODE_0486B6: 90 04 BCC CODE_0486BC CODE_0486B8: C9 0F CMP.B #$0F CODE_0486BA: 90 09 BCC CODE_0486C5 CODE_0486BC: A5 8B LDA $8B CODE_0486BE: 38 SEC CODE_0486BF: E9 05 SBC.B #$05 CODE_0486C1: 85 8B STA $8B CODE_0486C3: 85 07 STA $07 CODE_0486C5: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0486C7: AD D6 0D LDA.W $0DD6 CODE_0486CA: EB XBA CODE_0486CB: 4A LSR CODE_0486CC: 85 04 STA $04 CODE_0486CE: A2 00 00 LDX.W #$0000 CODE_0486D1: 20 89 87 JSR.W CODE_048789 CODE_0486D4: AD D6 0D LDA.W $0DD6 CODE_0486D7: 4A LSR CODE_0486D8: A8 TAY CODE_0486D9: A2 00 00 LDX.W #$0000 CODE_0486DC: 20 4F 89 JSR.W CODE_04894F CODE_0486DF: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0486E1: 9C 47 04 STZ.W $0447 CODE_0486E4: 9C 48 04 STZ.W $0448 CODE_0486E7: 9C 49 04 STZ.W $0449 CODE_0486EA: 9C 4A 04 STZ.W $044A CODE_0486ED: 9C 4B 04 STZ.W $044B CODE_0486F0: 9C 4C 04 STZ.W $044C CODE_0486F3: 9C 4D 04 STZ.W $044D CODE_0486F6: 9C 4E 04 STZ.W $044E CODE_0486F9: A9 03 LDA.B #$03 CODE_0486FB: 85 8C STA $8C CODE_0486FD: AD 11 1F LDA.W $1F11 CODE_048700: AC D9 13 LDY.W $13D9 CODE_048703: C0 0A CPY.B #$0A CODE_048705: D0 02 BNE CODE_048709 CODE_048707: 49 01 EOR.B #$01 CODE_048709: CD 12 1F CMP.W $1F12 CODE_04870C: D0 78 BNE CODE_048786 CODE_04870E: A5 02 LDA $02 CODE_048710: 85 06 STA $06 CODE_048712: 85 8A STA $8A CODE_048714: A5 03 LDA $03 CODE_048716: 85 07 STA $07 CODE_048718: 85 8B STA $8B CODE_04871A: AD D6 0D LDA.W $0DD6 CODE_04871D: 4A LSR CODE_04871E: 49 02 EOR.B #$02 CODE_048720: A8 TAY CODE_048721: B9 13 1F LDA.W $1F13,Y CODE_048724: C9 12 CMP.B #$12 CODE_048726: F0 11 BEQ CODE_048739 CODE_048728: C9 07 CMP.B #$07 CODE_04872A: 90 04 BCC CODE_048730 CODE_04872C: C9 0F CMP.B #$0F CODE_04872E: 90 09 BCC CODE_048739 CODE_048730: A5 8B LDA $8B CODE_048732: 38 SEC CODE_048733: E9 05 SBC.B #$05 CODE_048735: 85 8B STA $8B CODE_048737: 85 07 STA $07 CODE_048739: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04873B: AD B2 0D LDA.W $0DB2 CODE_04873E: 29 FF 00 AND.W #$00FF CODE_048741: F0 43 BEQ CODE_048786 CODE_048743: A5 0C LDA $0C CODE_048745: C9 F0 00 CMP.W #$00F0 CODE_048748: B0 3C BCS CODE_048786 CODE_04874A: A5 0E LDA $0E CODE_04874C: C9 F0 00 CMP.W #$00F0 CODE_04874F: B0 35 BCS CODE_048786 CODE_048751: A5 04 LDA $04 CODE_048753: 49 00 02 EOR.W #$0200 CODE_048756: 85 04 STA $04 CODE_048758: A2 20 00 LDX.W #$0020 CODE_04875B: 20 89 87 JSR.W CODE_048789 CODE_04875E: AD D6 0D LDA.W $0DD6 CODE_048761: 4A LSR CODE_048762: 49 02 00 EOR.W #$0002 CODE_048765: A8 TAY CODE_048766: A2 20 00 LDX.W #$0020 CODE_048769: 20 4F 89 JSR.W CODE_04894F CODE_04876C: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04876E: 9C 4F 04 STZ.W $044F CODE_048771: 9C 50 04 STZ.W $0450 CODE_048774: 9C 51 04 STZ.W $0451 CODE_048777: 9C 52 04 STZ.W $0452 CODE_04877A: 9C 53 04 STZ.W $0453 CODE_04877D: 9C 54 04 STZ.W $0454 CODE_048780: 9C 55 04 STZ.W $0455 CODE_048783: 9C 56 04 STZ.W $0456 CODE_048786: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return048788: 60 RTS ; Return CODE_048789: A5 8A LDA $8A ; Index (16 bit) Accum (16 bit) CODE_04878B: 48 PHA CODE_04878C: DA PHX CODE_04878D: A5 04 LDA $04 CODE_04878F: EB XBA CODE_048790: 4A LSR CODE_048791: AA TAX CODE_048792: BD B3 0D LDA.W $0DB3,X CODE_048795: FA PLX CODE_048796: 29 00 FF AND.W #$FF00 CODE_048799: 10 2C BPL CODE_0487C7 CODE_04879B: E2 20 SEP #$20 ; Accum (8 bit) CODE_04879D: A5 8A LDA $8A CODE_04879F: 9D B4 02 STA.W $02B4,X CODE_0487A2: 18 CLC CODE_0487A3: 69 08 ADC.B #$08 CODE_0487A5: 9D B8 02 STA.W $02B8,X CODE_0487A8: A5 8B LDA $8B CODE_0487AA: 18 CLC CODE_0487AB: 69 F9 ADC.B #$F9 CODE_0487AD: 9D B5 02 STA.W $02B5,X CODE_0487B0: 9D B9 02 STA.W $02B9,X CODE_0487B3: A9 7C LDA.B #$7C CODE_0487B5: 9D B6 02 STA.W $02B6,X CODE_0487B8: 9D BA 02 STA.W $02BA,X CODE_0487BB: A9 20 LDA.B #$20 CODE_0487BD: 9D B7 02 STA.W $02B7,X CODE_0487C0: A9 60 LDA.B #$60 CODE_0487C2: 9D BB 02 STA.W $02BB,X CODE_0487C5: C2 20 REP #$20 ; Accum (16 bit) CODE_0487C7: 68 PLA CODE_0487C8: 85 8A STA $8A Return0487CA: 60 RTS ; Return DATA_0487CB: .db $0E,$24,$0F,$24,$1E,$24,$1F,$24 .db $20,$24,$21,$24,$30,$24,$31,$24 .db $0E,$24,$0F,$24,$1E,$24,$1F,$24 .db $20,$24,$21,$24,$31,$64,$30,$64 .db $0A,$24,$0B,$24,$1A,$24,$1B,$24 .db $0C,$24,$0D,$24,$1C,$24,$1D,$24 .db $0A,$24,$0B,$24,$1A,$24,$1B,$24 .db $0C,$24,$0D,$24,$1D,$64,$1C,$64 .db $08,$24,$09,$24,$18,$24,$19,$24 .db $06,$24,$07,$24,$16,$24,$17,$24 .db $08,$24,$09,$24,$18,$24,$19,$24 .db $06,$24,$07,$24,$16,$24,$17,$24 .db $09,$64,$08,$64,$19,$64,$18,$64 .db $07,$64,$06,$64,$17,$64,$16,$64 .db $09,$64,$08,$64,$19,$64,$18,$64 .db $07,$64,$06,$64,$17,$64,$16,$64 .db $0E,$24,$0F,$24,$38,$24,$38,$64 .db $20,$24,$21,$24,$39,$24,$39,$64 .db $0E,$24,$0F,$24,$38,$24,$38,$64 .db $20,$24,$21,$24,$39,$24,$39,$64 .db $0A,$24,$0B,$24,$38,$24,$38,$64 .db $0C,$24,$0D,$24,$39,$24,$39,$64 .db $0A,$24,$0B,$24,$38,$24,$38,$64 .db $0C,$24,$0D,$24,$39,$24,$39,$64 .db $08,$24,$09,$24,$38,$24,$38,$64 .db $06,$24,$07,$24,$39,$24,$39,$64 .db $08,$24,$09,$24,$38,$24,$38,$64 .db $06,$24,$07,$24,$39,$24,$39,$64 .db $09,$64,$08,$64,$38,$24,$38,$64 .db $07,$64,$06,$64,$39,$24,$39,$64 .db $09,$64,$08,$64,$38,$24,$38,$64 .db $07,$64,$06,$64,$39,$24,$39,$64 .db $24,$24,$25,$24,$34,$24,$35,$24 .db $24,$24,$25,$24,$34,$24,$35,$24 .db $24,$24,$25,$24,$34,$24,$35,$24 .db $24,$24,$25,$24,$34,$24,$35,$24 .db $24,$24,$25,$24,$38,$24,$38,$64 .db $24,$24,$25,$24,$38,$24,$38,$64 .db $24,$24,$25,$24,$38,$24,$38,$64 .db $24,$24,$25,$24,$38,$24,$38,$64 .db $46,$24,$47,$24,$56,$24,$57,$24 .db $47,$64,$46,$64,$57,$64,$56,$64 .db $46,$24,$47,$24,$56,$24,$57,$24 .db $47,$64,$46,$64,$57,$64,$56,$64 .db $46,$24,$47,$24,$56,$24,$57,$24 .db $47,$64,$46,$64,$57,$64,$56,$64 .db $46,$24,$47,$24,$56,$24,$57,$24 .db $47,$64,$46,$64,$57,$64,$56,$64 DATA_04894B: .db $20,$60,$00,$40 CODE_04894F: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_048951: 5A PHY CODE_048952: 98 TYA CODE_048953: 4A LSR CODE_048954: A8 TAY CODE_048955: B9 BA 0D LDA.W RAM_PlyrYoshiColor,Y CODE_048958: F0 08 BEQ CODE_048962 CODE_04895A: 85 0E STA $0E CODE_04895C: 64 0F STZ $0F CODE_04895E: 7A PLY CODE_04895F: 4C E6 8C JMP.W CODE_048CE6 CODE_048962: 7A PLY CODE_048963: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_048965: B9 13 1F LDA.W $1F13,Y CODE_048968: 0A ASL CODE_048969: 0A ASL CODE_04896A: 0A ASL CODE_04896B: 0A ASL CODE_04896C: 85 00 STA $00 CODE_04896E: A5 13 LDA RAM_FrameCounter CODE_048970: 29 18 00 AND.W #$0018 CODE_048973: 18 CLC CODE_048974: 65 00 ADC $00 CODE_048976: A8 TAY CODE_048977: DA PHX CODE_048978: A5 04 LDA $04 CODE_04897A: EB XBA CODE_04897B: 4A LSR CODE_04897C: AA TAX CODE_04897D: BD B3 0D LDA.W $0DB3,X CODE_048980: FA PLX CODE_048981: 29 00 FF AND.W #$FF00 CODE_048984: 10 05 BPL CODE_04898B CODE_048986: A5 00 LDA $00 CODE_048988: A8 TAY CODE_048989: 80 1C BRA CODE_0489A7 CODE_04898B: E0 00 00 CPX.W #$0000 CODE_04898E: D0 17 BNE CODE_0489A7 CODE_048990: AD D9 13 LDA.W $13D9 CODE_048993: C9 0B 00 CMP.W #$000B CODE_048996: D0 0F BNE CODE_0489A7 CODE_048998: A5 13 LDA RAM_FrameCounter CODE_04899A: 29 0C 00 AND.W #$000C CODE_04899D: 4A LSR CODE_04899E: 4A LSR CODE_04899F: A8 TAY CODE_0489A0: B9 4B 89 LDA.W DATA_04894B,Y CODE_0489A3: 29 FF 00 AND.W #$00FF CODE_0489A6: A8 TAY CODE_0489A7: C2 20 REP #$20 ; Accum (16 bit) CODE_0489A9: A5 8A LDA $8A CODE_0489AB: 9D 9C 02 STA.W $029C,X CODE_0489AE: B9 CB 87 LDA.W DATA_0487CB,Y CODE_0489B1: 18 CLC CODE_0489B2: 65 04 ADC $04 CODE_0489B4: 9D 9E 02 STA.W $029E,X CODE_0489B7: E2 20 SEP #$20 ; Accum (8 bit) CODE_0489B9: E8 INX CODE_0489BA: E8 INX CODE_0489BB: E8 INX CODE_0489BC: E8 INX CODE_0489BD: C8 INY CODE_0489BE: C8 INY CODE_0489BF: A5 8A LDA $8A CODE_0489C1: 18 CLC CODE_0489C2: 69 08 ADC.B #$08 CODE_0489C4: 85 8A STA $8A CODE_0489C6: C6 8C DEC $8C CODE_0489C8: A5 8C LDA $8C CODE_0489CA: 29 01 AND.B #$01 CODE_0489CC: F0 0B BEQ CODE_0489D9 CODE_0489CE: A5 06 LDA $06 CODE_0489D0: 85 8A STA $8A CODE_0489D2: A5 8B LDA $8B CODE_0489D4: 18 CLC CODE_0489D5: 69 08 ADC.B #$08 CODE_0489D7: 85 8B STA $8B CODE_0489D9: A5 8C LDA $8C CODE_0489DB: 10 CA BPL CODE_0489A7 Return0489DD: 60 RTS ; Return DATA_0489DE: .db $66,$24,$67,$24,$76,$24,$77,$24 .db $2F,$62,$2E,$62,$3F,$62,$3E,$62 .db $66,$24,$67,$24,$76,$24,$77,$24 .db $2E,$22,$2F,$22,$3E,$22,$3F,$22 .db $2F,$62,$2E,$62,$3F,$62,$3E,$62 .db $0A,$24,$0B,$24,$1A,$24,$1B,$24 .db $2E,$22,$2F,$22,$3E,$22,$3F,$22 .db $0A,$24,$0B,$24,$1A,$24,$1B,$24 .db $64,$24,$65,$24,$74,$24,$75,$24 .db $40,$22,$41,$22,$50,$22,$51,$22 .db $64,$24,$65,$24,$74,$24,$75,$24 .db $42,$22,$43,$24,$52,$24,$53,$24 .db $65,$64,$64,$64,$75,$64,$74,$64 .db $41,$62,$40,$62,$51,$62,$50,$62 .db $65,$64,$64,$64,$75,$64,$74,$64 .db $43,$62,$42,$62,$53,$62,$52,$62 .db $38,$24,$38,$64,$66,$24,$67,$24 .db $76,$24,$77,$24,$FF,$FF,$FF,$FF .db $39,$24,$39,$64,$66,$24,$67,$24 .db $76,$24,$77,$24,$FF,$FF,$FF,$FF .db $38,$24,$38,$64,$2F,$62,$2E,$62 .db $0A,$24,$0B,$24,$1A,$24,$1B,$24 .db $39,$24,$39,$24,$2E,$22,$2F,$22 .db $0A,$24,$0B,$24,$1A,$24,$1B,$24 .db $38,$24,$38,$64,$64,$24,$65,$24 .db $74,$24,$75,$24,$40,$22,$41,$22 .db $39,$24,$39,$64,$64,$24,$65,$24 .db $74,$24,$75,$24,$42,$22,$42,$22 .db $38,$24,$38,$64,$65,$64,$64,$64 .db $75,$64,$74,$64,$41,$62,$40,$62 .db $39,$24,$39,$64,$65,$64,$64,$64 .db $75,$64,$74,$64,$43,$62,$42,$62 .db $2F,$62,$2E,$62,$3F,$62,$3E,$62 .db $24,$24,$25,$24,$34,$24,$35,$24 .db $2E,$22,$2F,$22,$3E,$22,$3F,$22 .db $24,$24,$25,$24,$34,$24,$35,$24 .db $38,$24,$38,$64,$2F,$62,$2E,$62 .db $24,$24,$25,$24,$34,$24,$35,$24 .db $39,$24,$39,$64,$2E,$22,$2F,$22 .db $24,$24,$25,$24,$34,$24,$35,$24 .db $66,$24,$67,$24,$76,$24,$77,$24 .db $2F,$62,$2E,$62,$3F,$62,$3E,$62 .db $66,$24,$67,$24,$76,$24,$77,$24 .db $2E,$22,$2F,$22,$3E,$22,$3F,$22 .db $66,$24,$67,$24,$76,$24,$77,$24 .db $2F,$62,$2E,$62,$3F,$62,$3E,$62 .db $66,$24,$67,$24,$76,$24,$77,$24 .db $2E,$22,$2F,$22,$3E,$22,$3F,$22 DATA_048B5E: .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $07,$0F,$07,$0F,$00,$08,$00,$08 .db $07,$0F,$07,$0F,$00,$08,$00,$08 .db $F9,$01,$F9,$01,$00,$08,$00,$08 .db $F9,$01,$F9,$01,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$07,$0F,$07,$0F,$00,$08 .db $00,$08,$07,$0F,$07,$0F,$00,$08 .db $00,$08,$F9,$01,$F9,$01,$00,$08 .db $00,$08,$F9,$01,$F9,$01,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 .db $00,$08,$00,$08,$00,$08,$00,$08 DATA_048C1E: .db $FB,$FB,$03,$03,$00,$00,$08,$08 .db $FA,$FA,$02,$02,$00,$00,$08,$08 .db $00,$00,$08,$08,$F8,$F8,$00,$00 .db $00,$00,$08,$08,$F9,$F9,$01,$01 .db $FC,$FC,$04,$04,$00,$00,$08,$08 .db $FB,$FB,$03,$03,$00,$00,$08,$08 .db $FC,$FC,$04,$04,$00,$00,$08,$08 .db $FB,$FB,$03,$03,$00,$00,$08,$08 .db $08,$08,$FB,$FB,$03,$03,$00,$00 .db $08,$08,$FA,$FA,$02,$02,$00,$00 .db $08,$08,$00,$00,$F8,$F8,$00,$00 .db $08,$08,$00,$00,$F9,$F9,$01,$01 .db $08,$08,$FC,$FC,$04,$04,$00,$00 .db $08,$08,$FB,$FB,$03,$03,$00,$00 .db $08,$08,$FC,$FC,$04,$04,$00,$00 .db $08,$08,$FB,$FB,$03,$03,$00,$00 .db $00,$00,$08,$08,$F8,$F8,$00,$00 .db $00,$00,$08,$08,$F8,$F8,$00,$00 .db $08,$08,$00,$00,$F8,$F8,$00,$00 .db $08,$08,$00,$00,$F8,$F8,$00,$00 .db $FB,$FB,$03,$03,$00,$00,$08,$08 .db $FA,$FA,$02,$02,$00,$00,$08,$08 .db $FB,$FB,$03,$03,$00,$00,$08,$08 .db $FA,$FA,$02,$02,$00,$00,$08,$08 DATA_048CDE: .db $00,$00,$00,$02,$00,$04,$00,$06 CODE_048CE6: A9 07 LDA.B #$07 CODE_048CE8: 85 8C STA $8C CODE_048CEA: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_048CEC: B9 13 1F LDA.W $1F13,Y CODE_048CEF: 0A ASL CODE_048CF0: 0A ASL CODE_048CF1: 0A ASL CODE_048CF2: 0A ASL CODE_048CF3: 85 00 STA $00 CODE_048CF5: A5 13 LDA RAM_FrameCounter ; CODE_048CF7: 29 08 00 AND.W #$0008 ; CODE_048CFA: 0A ASL ; CODE_048CFB: 18 CLC CODE_048CFC: 65 00 ADC $00 CODE_048CFE: A8 TAY CODE_048CFF: E0 00 00 CPX.W #$0000 CODE_048D02: D0 17 BNE CODE_048D1B CODE_048D04: AD D9 13 LDA.W $13D9 CODE_048D07: C9 0B 00 CMP.W #$000B CODE_048D0A: D0 0F BNE CODE_048D1B CODE_048D0C: A5 13 LDA RAM_FrameCounter CODE_048D0E: 29 0C 00 AND.W #$000C CODE_048D11: 4A LSR CODE_048D12: 4A LSR CODE_048D13: A8 TAY CODE_048D14: B9 4B 89 LDA.W DATA_04894B,Y CODE_048D17: 29 FF 00 AND.W #$00FF CODE_048D1A: A8 TAY CODE_048D1B: C2 20 REP #$20 ; Accum (16 bit) CODE_048D1D: 5A PHY CODE_048D1E: 98 TYA CODE_048D1F: 4A LSR CODE_048D20: A8 TAY CODE_048D21: E2 20 SEP #$20 ; Accum (8 bit) CODE_048D23: B9 5E 8B LDA.W DATA_048B5E,Y CODE_048D26: 18 CLC CODE_048D27: 65 8A ADC $8A CODE_048D29: 9D 9C 02 STA.W $029C,X CODE_048D2C: B9 1E 8C LDA.W DATA_048C1E,Y CODE_048D2F: 18 CLC CODE_048D30: 65 8B ADC $8B CODE_048D32: 9D 9D 02 STA.W $029D,X CODE_048D35: 7A PLY CODE_048D36: C2 20 REP #$20 ; Accum (16 bit) CODE_048D38: B9 DE 89 LDA.W DATA_0489DE,Y CODE_048D3B: C9 FF FF CMP.W #$FFFF CODE_048D3E: F0 27 BEQ CODE_048D67 CODE_048D40: 48 PHA CODE_048D41: 29 00 0F AND.W #$0F00 CODE_048D44: C9 00 02 CMP.W #$0200 CODE_048D47: D0 15 BNE CODE_048D5E CODE_048D49: 84 08 STY $08 CODE_048D4B: A5 0E LDA $0E CODE_048D4D: 38 SEC CODE_048D4E: E9 04 00 SBC.W #$0004 CODE_048D51: A8 TAY CODE_048D52: 68 PLA CODE_048D53: 29 FF F0 AND.W #$F0FF CODE_048D56: 19 DE 8C ORA.W DATA_048CDE,Y CODE_048D59: 48 PHA CODE_048D5A: A4 08 LDY $08 CODE_048D5C: 80 05 BRA CODE_048D63 CODE_048D5E: 68 PLA CODE_048D5F: 18 CLC CODE_048D60: 65 04 ADC $04 CODE_048D62: 48 PHA CODE_048D63: 68 PLA CODE_048D64: 9D 9E 02 STA.W $029E,X CODE_048D67: E2 20 SEP #$20 ; Accum (8 bit) CODE_048D69: E8 INX CODE_048D6A: E8 INX CODE_048D6B: E8 INX CODE_048D6C: E8 INX CODE_048D6D: C8 INY CODE_048D6E: C8 INY CODE_048D6F: C6 8C DEC $8C CODE_048D71: 10 A8 BPL CODE_048D1B Return048D73: 60 RTS ; Return DATA_048D74: .db $0B,$00,$13,$00,$1A,$00,$1B,$00 .db $1F,$00,$20,$00,$31,$00,$32,$00 .db $34,$00,$35,$00,$40,$00 DATA_048D8A: .db $02,$03,$04,$06,$07,$09,$05 CODE_048D91: 8B PHB ; Index (8 bit) CODE_048D92: 4B PHK CODE_048D93: AB PLB CODE_048D94: 9C 9E 1B STZ.W $1B9E CODE_048D97: A9 0F LDA.B #$0F CODE_048D99: 8D 4E 14 STA.W $144E CODE_048D9C: A2 02 LDX.B #$02 CODE_048D9E: AD 13 1F LDA.W $1F13 CODE_048DA1: C9 12 CMP.B #$12 CODE_048DA3: F0 04 BEQ CODE_048DA9 CODE_048DA5: 29 08 AND.B #$08 CODE_048DA7: F0 02 BEQ CODE_048DAB CODE_048DA9: A2 0A LDX.B #$0A CODE_048DAB: 8E 13 1F STX.W $1F13 CODE_048DAE: A2 02 LDX.B #$02 CODE_048DB0: AD 15 1F LDA.W $1F15 CODE_048DB3: C9 12 CMP.B #$12 CODE_048DB5: F0 04 BEQ CODE_048DBB CODE_048DB7: 29 08 AND.B #$08 CODE_048DB9: F0 02 BEQ CODE_048DBD CODE_048DBB: A2 0A LDX.B #$0A CODE_048DBD: 8E 15 1F STX.W $1F15 CODE_048DC0: E2 10 SEP #$10 ; Index (8 bit) CODE_048DC2: 20 55 8E JSR.W CODE_048E55 CODE_048DC5: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_048DC7: AD D4 0D LDA.W $0DD4 CODE_048DCA: 29 00 FF AND.W #$FF00 CODE_048DCD: F0 10 BEQ CODE_048DDF CODE_048DCF: 30 0E BMI CODE_048DDF CODE_048DD1: AD BF 13 LDA.W $13BF CODE_048DD4: 29 FF 00 AND.W #$00FF CODE_048DD7: C9 18 00 CMP.W #$0018 CODE_048DDA: D0 03 BNE CODE_048DDF CODE_048DDC: 82 55 00 BRL CODE_048E34 CODE_048DDF: AD C6 13 LDA.W $13C6 CODE_048DE2: 29 FF 00 AND.W #$00FF CODE_048DE5: F0 51 BEQ CODE_048E38 CODE_048DE7: AD C6 13 LDA.W $13C6 CODE_048DEA: 29 00 FF AND.W #$FF00 CODE_048DED: 8D C6 13 STA.W $13C6 CODE_048DF0: E2 10 SEP #$10 ; Index (8 bit) CODE_048DF2: AE D6 0D LDX.W $0DD6 CODE_048DF5: BD 17 1F LDA.W $1F17,X CODE_048DF8: 4A LSR CODE_048DF9: 4A LSR CODE_048DFA: 4A LSR CODE_048DFB: 4A LSR CODE_048DFC: 85 00 STA $00 CODE_048DFE: BD 19 1F LDA.W $1F19,X CODE_048E01: 4A LSR CODE_048E02: 4A LSR CODE_048E03: 4A LSR CODE_048E04: 4A LSR CODE_048E05: 85 02 STA $02 CODE_048E07: 8A TXA CODE_048E08: 4A LSR CODE_048E09: 4A LSR CODE_048E0A: AA TAX CODE_048E0B: 20 85 98 JSR.W OW_TilePos_Calc CODE_048E0E: C2 10 REP #$10 ; Index (16 bit) CODE_048E10: A6 04 LDX $04 CODE_048E12: BF 00 D0 7E LDA.L $7ED000,X CODE_048E16: 29 FF 00 AND.W #$00FF CODE_048E19: AA TAX CODE_048E1A: BD A2 1E LDA.W $1EA2,X CODE_048E1D: 29 80 00 AND.W #$0080 CODE_048E20: D0 16 BNE CODE_048E38 CODE_048E22: A0 14 00 LDY.W #$0014 CODE_048E25: AD BF 13 LDA.W $13BF CODE_048E28: 29 FF 00 AND.W #$00FF CODE_048E2B: D9 74 8D CMP.W DATA_048D74,Y CODE_048E2E: F0 08 BEQ CODE_048E38 CODE_048E30: 88 DEY CODE_048E31: 88 DEY CODE_048E32: 10 F1 BPL CODE_048E25 CODE_048E34: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_048E36: 80 0F BRA CODE_048E47 CODE_048E38: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_048E3A: AE B3 0D LDX.W $0DB3 CODE_048E3D: BD 11 1F LDA.W $1F11,X CODE_048E40: AA TAX CODE_048E41: BD 8A 8D LDA.W DATA_048D8A,X CODE_048E44: 8D FB 1D STA.W $1DFB ; / Change music CODE_048E47: AB PLB Return048E48: 6B RTL ; Return DATA_048E49: .db $28,$01,$00,$00,$88,$01 DATA_048E4F: .db $C8,$01,$00,$00,$D8,$01 CODE_048E55: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_048E57: AD B3 0D LDA.W $0DB3 CODE_048E5A: 29 FF 00 AND.W #$00FF CODE_048E5D: 0A ASL CODE_048E5E: 0A ASL CODE_048E5F: 8D D6 0D STA.W $0DD6 CODE_048E62: AE D6 0D LDX.W $0DD6 CODE_048E65: BD 1F 1F LDA.W $1F1F,X CODE_048E68: 85 00 STA $00 CODE_048E6A: BD 21 1F LDA.W $1F21,X CODE_048E6D: 85 02 STA $02 CODE_048E6F: 8A TXA CODE_048E70: 4A LSR CODE_048E71: 4A LSR CODE_048E72: AA TAX CODE_048E73: 20 85 98 JSR.W OW_TilePos_Calc CODE_048E76: 64 00 STZ $00 CODE_048E78: A6 04 LDX $04 CODE_048E7A: BF 00 D0 7E LDA.L $7ED000,X CODE_048E7E: 29 FF 00 AND.W #$00FF CODE_048E81: 0A ASL CODE_048E82: AA TAX CODE_048E83: BD FC A0 LDA.W LevelNames,X CODE_048E86: 85 00 STA $00 CODE_048E88: 20 07 9D JSR.W CODE_049D07 CODE_048E8B: A6 04 LDX $04 CODE_048E8D: 30 0F BMI CODE_048E9E CODE_048E8F: E0 00 08 CPX.W #$0800 CODE_048E92: B0 0A BCS CODE_048E9E CODE_048E94: BF 00 C8 7E LDA.L $7EC800,X CODE_048E98: 29 FF 00 AND.W #$00FF CODE_048E9B: 8D C1 13 STA.W $13C1 CODE_048E9E: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_048EA0: AE F7 0E LDX.W $0EF7 CODE_048EA3: F0 3C BEQ CODE_048EE1 ADDR_048EA5: 10 32 BPL ADDR_048ED9 ADDR_048EA7: 8A TXA ADDR_048EA8: 29 7F AND.B #$7F ADDR_048EAA: AA TAX ADDR_048EAB: 9E F5 0D STZ.W $0DF5,X ADDR_048EAE: AD F6 0E LDA.W $0EF6 ADDR_048EB1: AE D5 0D LDX.W $0DD5 ADDR_048EB4: 10 17 BPL ADDR_048ECD ADDR_048EB6: 0A ASL ADDR_048EB7: AA TAX ADDR_048EB8: C2 20 REP #$20 ; Accum (16 bit) ADDR_048EBA: AC D6 0D LDY.W $0DD6 ADDR_048EBD: BD 49 8E LDA.W DATA_048E49,X ADDR_048EC0: 99 17 1F STA.W $1F17,Y ADDR_048EC3: BD 4F 8E LDA.W DATA_048E4F,X ADDR_048EC6: 99 19 1F STA.W $1F19,Y ADDR_048EC9: E2 20 SEP #$20 ; Accum (8 bit) ADDR_048ECB: 80 14 BRA CODE_048EE1 ADDR_048ECD: AA TAX ADDR_048ECE: BD 85 FB LDA.W DATA_04FB85,X ADDR_048ED1: 0D F5 0E ORA.W $0EF5 ADDR_048ED4: 8D F5 0E STA.W $0EF5 ADDR_048ED7: 80 08 BRA CODE_048EE1 ADDR_048ED9: AD D5 0D LDA.W $0DD5 ADDR_048EDC: 30 03 BMI CODE_048EE1 ADDR_048EDE: 9E E5 0D STZ.W $0DE5,X CODE_048EE1: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_048EE3: 20 31 98 JSR.W CODE_049831 CODE_048EE6: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_048EE8: 20 A4 85 JSR.W DrawOWBoarder? CODE_048EEB: 20 86 80 JSR.W CODE_048086 CODE_048EEE: 4C E0 80 JMP.W OW_Tile_Animation CODE_048EF1: A9 08 LDA.B #$08 CODE_048EF3: 8D B1 0D STA.W $0DB1 CODE_048EF6: AD 11 1F LDA.W $1F11 CODE_048EF9: C9 01 CMP.B #$01 CODE_048EFB: D0 16 BNE CODE_048F13 CODE_048EFD: AD 17 1F LDA.W $1F17 CODE_048F00: C9 68 CMP.B #$68 CODE_048F02: D0 0F BNE CODE_048F13 CODE_048F04: AD 19 1F LDA.W $1F19 CODE_048F07: C9 8E CMP.B #$8E CODE_048F09: D0 08 BNE CODE_048F13 CODE_048F0B: A9 0C LDA.B #$0C CODE_048F0D: 8D D9 13 STA.W $13D9 CODE_048F10: 82 67 00 BRL CODE_048F7A CODE_048F13: C2 20 REP #$20 ; Accum (16 bit) CODE_048F15: AE D6 0D LDX.W $0DD6 CODE_048F18: BD 17 1F LDA.W $1F17,X CODE_048F1B: 4A LSR CODE_048F1C: 4A LSR CODE_048F1D: 4A LSR CODE_048F1E: 4A LSR CODE_048F1F: 85 00 STA $00 CODE_048F21: BD 19 1F LDA.W $1F19,X CODE_048F24: 4A LSR CODE_048F25: 4A LSR CODE_048F26: 4A LSR CODE_048F27: 4A LSR CODE_048F28: 85 02 STA $02 CODE_048F2A: 8A TXA CODE_048F2B: 4A LSR CODE_048F2C: 4A LSR CODE_048F2D: AA TAX CODE_048F2E: 20 85 98 JSR.W OW_TilePos_Calc CODE_048F31: C2 10 REP #$10 ; Index (16 bit) CODE_048F33: E2 20 SEP #$20 ; Accum (8 bit) CODE_048F35: AD CE 13 LDA.W $13CE CODE_048F38: F0 1C BEQ CODE_048F56 CODE_048F3A: AD D5 0D LDA.W $0DD5 CODE_048F3D: F0 17 BEQ CODE_048F56 CODE_048F3F: 10 1E BPL CODE_048F5F CODE_048F41: C2 20 REP #$20 ; Accum (16 bit) CODE_048F43: A6 04 LDX $04 CODE_048F45: BF 00 D0 7E LDA.L $7ED000,X CODE_048F49: 29 FF 00 AND.W #$00FF CODE_048F4C: AA TAX CODE_048F4D: BD A2 1E LDA.W $1EA2,X CODE_048F50: 09 40 00 ORA.W #$0040 CODE_048F53: 9D A2 1E STA.W $1EA2,X CODE_048F56: E2 20 SEP #$20 ; Accum (8 bit) CODE_048F58: A9 05 LDA.B #$05 CODE_048F5A: 8D D9 13 STA.W $13D9 CODE_048F5D: 80 1B BRA CODE_048F7A CODE_048F5F: C2 20 REP #$20 ; Accum (16 bit) CODE_048F61: A6 04 LDX $04 CODE_048F63: BF 00 D0 7E LDA.L $7ED000,X CODE_048F67: 29 FF 00 AND.W #$00FF CODE_048F6A: AA TAX CODE_048F6B: BD A2 1E LDA.W $1EA2,X CODE_048F6E: 09 80 00 ORA.W #$0080 CODE_048F71: 29 BF FF AND.W #$FFBF CODE_048F74: 9D A2 1E STA.W $1EA2,X CODE_048F77: EE D9 13 INC.W $13D9 CODE_048F7A: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_048F7C: 4C 31 98 JMP.W CODE_049831 DATA_048F7F: .db $58,$59,$5D,$63,$77,$79,$7E,$80 CODE_048F87: 20 03 99 JSR.W CODE_049903 ; Index (8 bit) CODE_048F8A: A2 07 LDX.B #$07 CODE_048F8C: AD C1 13 LDA.W $13C1 CODE_048F8F: DD 7F 8F CMP.W DATA_048F7F,X CODE_048F92: D0 6C BNE CODE_049000 CODE_048F94: A2 2C LDX.B #$2C CODE_048F96: BD 02 1F LDA.W $1F02,X CODE_048F99: 9D A9 1F STA.W $1FA9,X CODE_048F9C: CA DEX CODE_048F9D: 10 F7 BPL CODE_048F96 CODE_048F9F: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_048FA1: AE D6 0D LDX.W $0DD6 CODE_048FA4: 8A TXA CODE_048FA5: 49 04 00 EOR.W #$0004 CODE_048FA8: A8 TAY CODE_048FA9: BD BE 1F LDA.W $1FBE,X CODE_048FAC: 99 BE 1F STA.W $1FBE,Y CODE_048FAF: BD C0 1F LDA.W $1FC0,X CODE_048FB2: 99 C0 1F STA.W $1FC0,Y CODE_048FB5: BD C6 1F LDA.W $1FC6,X CODE_048FB8: 99 C6 1F STA.W $1FC6,Y CODE_048FBB: BD C8 1F LDA.W $1FC8,X CODE_048FBE: 99 C8 1F STA.W $1FC8,Y CODE_048FC1: 8A TXA CODE_048FC2: 4A LSR CODE_048FC3: AA TAX CODE_048FC4: 49 02 00 EOR.W #$0002 CODE_048FC7: A8 TAY CODE_048FC8: BD BA 1F LDA.W $1FBA,X CODE_048FCB: 99 BA 1F STA.W $1FBA,Y CODE_048FCE: 8A TXA CODE_048FCF: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_048FD1: 4A LSR CODE_048FD2: AA TAX CODE_048FD3: 49 01 EOR.B #$01 CODE_048FD5: A8 TAY CODE_048FD6: BD B8 1F LDA.W $1FB8,X CODE_048FD9: 99 B8 1F STA.W $1FB8,Y CODE_048FDC: AD D5 0D LDA.W $0DD5 CODE_048FDF: C9 E0 CMP.B #$E0 CODE_048FE1: D0 18 BNE CODE_048FFB ADDR_048FE3: CE B1 0D DEC.W $0DB1 ADDR_048FE6: 30 01 BMI ADDR_048FE9 Return048FE8: 60 RTS ; Return ADDR_048FE9: EE CA 13 INC.W $13CA ADDR_048FEC: 20 37 90 JSR.W CODE_049037 ADDR_048FEF: A9 02 LDA.B #$02 ADDR_048FF1: 8D B1 0D STA.W $0DB1 ADDR_048FF4: A9 04 LDA.B #$04 ADDR_048FF6: 8D D9 13 STA.W $13D9 ADDR_048FF9: 80 08 BRA CODE_049003 CODE_048FFB: EE CA 13 INC.W $13CA CODE_048FFE: 80 03 BRA CODE_049003 CODE_049000: CA DEX CODE_049001: 10 89 BPL CODE_048F8C CODE_049003: C2 20 REP #$20 ; Accum (16 bit) CODE_049005: 64 06 STZ $06 CODE_049007: AE D6 0D LDX.W $0DD6 CODE_04900A: BD 17 1F LDA.W $1F17,X CODE_04900D: 4A LSR CODE_04900E: 4A LSR CODE_04900F: 4A LSR CODE_049010: 4A LSR CODE_049011: 85 00 STA $00 CODE_049013: BD 19 1F LDA.W $1F19,X CODE_049016: 4A LSR CODE_049017: 4A LSR CODE_049018: 4A LSR CODE_049019: 4A LSR CODE_04901A: 85 02 STA $02 CODE_04901C: 8A TXA CODE_04901D: 4A LSR CODE_04901E: 4A LSR CODE_04901F: AA TAX CODE_049020: 20 85 98 JSR.W OW_TilePos_Calc CODE_049023: C2 10 REP #$10 ; Index (16 bit) CODE_049025: A6 04 LDX $04 CODE_049027: BF 00 C8 7E LDA.L $7EC800,X CODE_04902B: 29 FF 00 AND.W #$00FF CODE_04902E: 8D C1 13 STA.W $13C1 CODE_049031: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_049033: EE D9 13 INC.W $13D9 Return049036: 60 RTS ; Return CODE_049037: DA PHX CODE_049038: 5A PHY CODE_049039: 08 PHP CODE_04903A: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04903C: AD CA 13 LDA.W $13CA CODE_04903F: F0 13 BEQ CODE_049054 CODE_049041: A2 5F LDX.B #$5F CODE_049043: BD A2 1E LDA.W $1EA2,X CODE_049046: 9D 49 1F STA.W $1F49,X CODE_049049: CA DEX CODE_04904A: 10 F7 BPL CODE_049043 CODE_04904C: 9C CA 13 STZ.W $13CA CODE_04904F: A9 05 LDA.B #$05 CODE_049051: 8D 87 1B STA.W $1B87 CODE_049054: 28 PLP CODE_049055: 7A PLY CODE_049056: FA PLX Return049057: 60 RTS ; Return DATA_049058: .db $FF,$FF,$01,$00,$FF,$FF,$01,$00 DATA_049060: .db $05,$03,$01,$00 DATA_049064: .db $00,$00,$02,$00,$04,$00,$06,$00 DATA_04906C: .db $28,$00,$08,$00,$14,$00,$36,$00 .db $3F,$00,$45,$00 HardCodedOWPaths: .db $09,$15,$23,$1B,$43,$44,$24,$FF .db $30,$31 DATA_049082: .db $78,$01 DATA_049084: .db $28,$01 DATA_049086: .db $10,$10,$1E,$19,$16,$66,$16,$19 .db $1E,$10,$10,$66,$04,$04,$04,$58 .db $04,$04,$04,$66,$04,$04,$04,$04 .db $04,$6A,$04,$04,$04,$04,$04,$66 .db $1E,$19,$06,$09,$0F,$20,$1A,$21 .db $1A,$14,$19,$18,$1F,$17,$82,$17 .db $1F,$18,$19,$14,$1A,$21,$1A,$20 .db $0F,$09,$06,$19,$1E,$66,$04,$04 .db $58,$04,$04,$5F DATA_0490CA: .db $02,$02,$02,$02,$06,$06,$04,$04 .db $00,$00,$00,$00,$04,$04,$04,$04 .db $06,$06,$06,$06,$06,$06,$06,$06 .db $06,$06,$04,$04,$04,$04,$04,$04 .db $02,$02,$06,$06,$00,$00,$00,$04 .db $00,$04,$04,$00,$04,$00,$04,$06 .db $02,$06,$02,$06,$06,$02,$06,$02 .db $02,$02,$04,$04,$00,$00,$06,$06 .db $06,$04,$04,$04 DATA_04910E: .db $00,$06,$0C,$10,$14,$1A,$20,$2F .db $3E,$41,$08,$00,$04,$00,$02,$00 .db $01,$00 CODE_049120: 9C D8 0D STZ.W $0DD8 CODE_049123: AC F7 0E LDY.W $0EF7 CODE_049126: 30 71 BMI OWPU_NotOnPipe CODE_049128: AD D5 0D LDA.W $0DD5 CODE_04912B: 30 05 BMI CODE_049132 CODE_04912D: F0 03 BEQ CODE_049132 CODE_04912F: 82 B7 00 BRL CODE_0491E9 CODE_049132: A5 16 LDA $16 CODE_049134: 29 20 AND.B #$20 CODE_049136: 80 09 BRA OW_Player_Update ; Change to BEQ to enable below debug code ADDR_049138: AD C1 13 LDA.W $13C1 ; \ Unreachable ADDR_04913B: F0 28 BEQ CODE_049165 ; | Debug: Warp to star road from Yoshi's house ADDR_04913D: C9 56 CMP.B #$56 ; | ADDR_04913F: F0 24 BEQ CODE_049165 ; / OW_Player_Update: A5 17 LDA RAM_ControllerB ; \ CODE_049143: 29 30 AND.B #$30 ; |If L and R aren't pressed, CODE_049145: C9 30 CMP.B #$30 ; |branch to OWPU_NoLR CODE_049147: D0 07 BNE OWPU_NoLR ; / ADDR_049149: AD C1 13 LDA.W $13C1 ; \ ADDR_04914C: C9 81 CMP.B #$81 ; |If Mario is standing on Destroyed Castle, ADDR_04914E: F0 4F BEQ OWPU_EnterLevel ; / branch to OWPU_EnterLevel OWPU_NoLR: A5 16 LDA $16 ; \ CODE_049152: 05 18 ORA $18 ; |If A, B, X or Y are pressed, CODE_049154: 29 C0 AND.B #$C0 ; |branch to OWPU_ABXY CODE_049156: D0 03 BNE OWPU_ABXY ; |Otherwise, CODE_049158: 82 8E 00 BRL CODE_0491E9 ; / branch to $91E9 OWPU_ABXY: 9C 9E 1B STZ.W $1B9E CODE_04915E: AD C1 13 LDA.W $13C1 ; \ CODE_049161: C9 5F CMP.B #$5F ; |If not standing on a star tile, CODE_049163: D0 18 BNE OWPU_NotOnStar ; / branch to OWPU_NotOnStar CODE_049165: 20 09 85 JSR.W CODE_048509 Return049168: D0 2E BNE OWPU_IsOnPipeRTS CODE_04916A: 9C F7 1D STZ.W $1DF7 ; Set "Fly away" speed to 0 CODE_04916D: 9C F8 1D STZ.W $1DF8 ; Set "Stay on ground" timer to 0 (31 = Fly away) CODE_049170: A9 0D LDA.B #$0D ; \ Star Road sound effect CODE_049172: 8D F9 1D STA.W $1DF9 ; / CODE_049175: A9 0B LDA.B #$0B ; \ Activate star warp CODE_049177: 8D D9 13 STA.W $13D9 ; / CODE_04917A: 4C 52 9E JMP.W CODE_049E52 OWPU_NotOnStar: AD C1 13 LDA.W $13C1 ; \ CODE_049180: C9 82 CMP.B #$82 ; |If standing on Pipe#1 (unused), CODE_049182: F0 04 BEQ OWPU_IsOnPipe ; / branch to OWPU_IsOnPipe CODE_049184: C9 5B CMP.B #$5B ; \ If not standing on Pipe#2, CODE_049186: D0 11 BNE OWPU_NotOnPipe ; / branch to OWPU_NotOnPipe OWPU_IsOnPipe: 20 09 85 JSR.W CODE_048509 Return04918B: D0 0B BNE OWPU_IsOnPipeRTS CODE_04918D: EE 9C 1B INC.W $1B9C CODE_049190: 9C D5 0D STZ.W $0DD5 ; Set auto-walk to 0 CODE_049193: A9 0B LDA.B #$0B ; \ Fade to overworld CODE_049195: 8D 00 01 STA.W RAM_GameMode ; / OWPU_IsOnPipeRTS: 60 RTS ; Return OWPU_NotOnPipe: C9 81 CMP.B #$81 ; \ CODE_04919B: F0 4C BEQ CODE_0491E9 ; |If standing on a tile >= (?) Destroyed Castle, CODE_04919D: B0 4A BCS CODE_0491E9 ; / branch to $91E9 OWPU_EnterLevel: AD D6 0D LDA.W $0DD6 ; \ CODE_0491A2: 4A LSR ; |If current player is Luigi, CODE_0491A3: 29 02 AND.B #$02 ; |change Luigi's animation in the following lines CODE_0491A5: AA TAX ; / CODE_0491A6: A0 10 LDY.B #$10 ; \ CODE_0491A8: BD 13 1F LDA.W $1F13,X ; | CODE_0491AB: 29 08 AND.B #$08 ; |If Mario isn't swimming, use "raise hand" animation CODE_0491AD: F0 02 BEQ CODE_0491B1 ; |Otherwise, use "raise hand, swimming" animation CODE_0491AF: A0 12 LDY.B #$12 ; | CODE_0491B1: 98 TYA ; | CODE_0491B2: 9D 13 1F STA.W $1F13,X ; / CODE_0491B5: AE B3 0D LDX.W $0DB3 ; Get current character CODE_0491B8: BD B6 0D LDA.W RAM_PlayerCoins,X ; \ Get character's coins CODE_0491BB: 8D BF 0D STA.W RAM_StatusCoins ; / CODE_0491BE: BD B4 0D LDA.W RAM_PlayerLives,X ; \ Get character's lives CODE_0491C1: 8D BE 0D STA.W RAM_StatusLives ; / CODE_0491C4: BD B8 0D LDA.W RAM_PlayerPowerUp,X ; \ Get character's powerup CODE_0491C7: 85 19 STA RAM_MarioPowerUp ; / CODE_0491C9: BD BA 0D LDA.W RAM_PlyrYoshiColor,X ; \ CODE_0491CC: 8D C1 0D STA.W RAM_OWHasYoshi ; |Get character's Yoshi color CODE_0491CF: 8D C7 13 STA.W RAM_YoshiColor ; | CODE_0491D2: 8D 7A 18 STA.W RAM_OnYoshi ; / CODE_0491D5: BD BC 0D LDA.W $0DBC,X ; \ Get character's reserved item CODE_0491D8: 8D C2 0D STA.W $0DC2 ; / CODE_0491DB: A9 02 LDA.B #$02 ; \ Related to fade speed CODE_0491DD: 8D B1 0D STA.W $0DB1 ; / CODE_0491E0: A9 80 LDA.B #$80 ; \ Music fade out CODE_0491E2: 8D FB 1D STA.W $1DFB ; / CODE_0491E5: EE 00 01 INC.W RAM_GameMode ; Fade to level Return0491E8: 60 RTS ; Return CODE_0491E9: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_0491EB: AE D6 0D LDX.W $0DD6 ; Get current character * 4 CODE_0491EE: BD 17 1F LDA.W $1F17,X ; Get character's X coordinate CODE_0491F1: 4A LSR ; \ CODE_0491F2: 4A LSR ; |Divide X coordinate by 16 CODE_0491F3: 4A LSR ; | CODE_0491F4: 4A LSR ; / CODE_0491F5: 85 00 STA $00 ; \ Store in $00 and $1F1F,x CODE_0491F7: 9D 1F 1F STA.W $1F1F,X ; / CODE_0491FA: BD 19 1F LDA.W $1F19,X ; Get character's Y coordinate CODE_0491FD: 4A LSR ; \ CODE_0491FE: 4A LSR ; |Divide Y coordinate by 16 CODE_0491FF: 4A LSR ; | CODE_049200: 4A LSR ; / CODE_049201: 85 02 STA $02 ; \ Store in $02 and $1F21,x CODE_049203: 9D 21 1F STA.W $1F21,X ; / CODE_049206: 8A TXA ; \ CODE_049207: 4A LSR ; |Divide (current character * 4) by 4 CODE_049208: 4A LSR ; | CODE_049209: AA TAX ; / CODE_04920A: 20 85 98 JSR.W OW_TilePos_Calc ; Calculate current tile pos CODE_04920D: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_04920F: AE D5 0D LDX.W $0DD5 ; \ If auto-walk=0, CODE_049212: F0 46 BEQ OWPU_NotAutoWalk ; / branch to OWPU_NotAutoWalk CODE_049214: CA DEX CODE_049215: BD 60 90 LDA.W DATA_049060,X CODE_049218: 85 08 STA $08 CODE_04921A: 64 09 STZ $09 CODE_04921C: C2 30 REP #$30 ; 16 bit A,X,Y ; Index (16 bit) Accum (16 bit) CODE_04921E: A6 04 LDX $04 ; X = tile pos CODE_049220: BF 00 D0 7E LDA.L $7ED000,X ; \ Get level number of current tile pos CODE_049224: 29 FF 00 AND.W #$00FF ; / CODE_049227: A0 0A 00 LDY.W #$000A CODE_04922A: D9 6C 90 CMP.W DATA_04906C,Y CODE_04922D: D0 0C BNE CODE_04923B CODE_04922F: A9 05 00 LDA.W #$0005 CODE_049232: 8D D9 13 STA.W $13D9 CODE_049235: 20 37 90 JSR.W CODE_049037 CODE_049238: 82 D6 01 BRL CODE_049411 CODE_04923B: 88 DEY CODE_04923C: 88 DEY CODE_04923D: 10 EB BPL CODE_04922A CODE_04923F: BF 00 D8 7E LDA.L $7ED800,X CODE_049243: 29 FF 00 AND.W #$00FF CODE_049246: A6 08 LDX $08 CODE_049248: F0 04 BEQ CODE_04924E CODE_04924A: 4A LSR CODE_04924B: CA DEX CODE_04924C: 10 FC BPL CODE_04924A CODE_04924E: 29 03 00 AND.W #$0003 CODE_049251: 0A ASL CODE_049252: AA TAX CODE_049253: BD 64 90 LDA.W DATA_049064,X CODE_049256: A8 TAY CODE_049257: 4C BC 92 JMP.W CODE_0492BC ; | ; V This routine was commented by Nicol Bolas. The spacing is weird, but you get the idea. ; Parameters: ; $00: 16-bit Overworld X position. ; $02: 16-bit Overworld Y position. ; $04: 16-bit offset to the current tile we are standing on. ; Workspace (temporary memory that is overwritten) ; $06. Cleared, for no apparent reason. May mean something to later code. ; $08. Used to store $04 temporarily, as it calls a routine that bashes $04. OWPU_NotAutoWalk: E2 30 SEP #$30 ;\ Does setup work CODE_04925C: 9C D5 0D STZ.W $0DD5 ;/ Set's auto-walk status to 0. CODE_04925F: A5 16 LDA $16 ;\ Checks input. CODE_049261: 29 0F AND.B #$0F ; | If no direction pressed, CODE_049263: F0 09 BEQ CODE_04926E ; | Branch to Mario facing routine. CODE_049265: AE C1 13 LDX.W $13C1 ; | Make level 0x82 (a pipe tile) always have all entrances available CODE_049268: E0 82 CPX.B #$82 ; | by bypassing the check for entrances if we're standing on it. CODE_04926A: F0 41 BEQ CODE_0492AD ; | CODE_04926C: 80 1E BRA CODE_04928C ;/ Check for the current level's entrances. ; Logic: If the player stands on a tile motionless for long enough, ; change the character's facing to "down". CODE_04926E: CE 4E 14 DEC.W $144E ;\ Decrements the timer CODE_049271: 10 14 BPL CODE_049287 ; | CODE_049273: 9C 4E 14 STZ.W $144E ; | Set the timer to 0 CODE_049276: AD D6 0D LDA.W $0DD6 ; | The player can be Mario or Luigi. Use $0DD6 to tell who. CODE_049279: 4A LSR ; | CODE_04927A: 29 02 AND.B #$02 ; | CODE_04927C: AA TAX ; | CODE_04927D: BD 13 1F LDA.W $1F13,X ; | Must also take into account whether the current tile is a water tile. CODE_049280: 29 08 AND.B #$08 ; | If so, use the "face down in water" animation. CODE_049282: 09 02 ORA.B #$02 ; | CODE_049284: 9D 13 1F STA.W $1F13,X ; | CODE_049287: C2 30 REP #$30 ; | Finished with routine. Head to next routine. CODE_049289: 4C 31 98 JMP.W CODE_049831 ;/ Exit ; Logic: The user is on a level tile and has pressed a direction. ; We must now determine whether to move in that direction. We can only do so if ; the level has been passed. This code detects that. ; The directional input is in register A. CODE_04928C: C2 30 REP #$30 CODE_04928E: 29 FF 00 AND.W #$00FF ; Clears out the high byte of A, since we just switched to 16-bit mode. CODE_049291: EA NOP ;\ Debugging room. "Coincidentally" just enough space for CODE_049292: EA NOP ; | a JMP $92AF opcode, thus skipping the testing to see if CODE_049293: EA NOP ;/ the level flags permit motion in that direction. CODE_049294: 48 PHA ;\ CODE_049295: 64 06 STZ $06 ; | CODE_049297: A6 04 LDX $04 ; | This has the 16-bit offset to the current tile. CODE_049299: BF 00 D0 7E LDA.L $7ED000,X ; | Retrieve the level number for the current tile. CODE_04929D: 29 FF 00 AND.W #$00FF ; | CODE_0492A0: AA TAX ; | CODE_0492A1: 68 PLA ;/ CODE_0492A2: 3D A2 1E AND.W $1EA2,X ;\ Get the flags that say whether the direction is enabled. CODE_0492A5: 29 0F 00 AND.W #$000F ; | CODE_0492A8: D0 03 BNE CODE_0492AD ; | If enabled, go to next routine. CODE_0492AA: 4C 11 94 JMP.W CODE_049411 ;/ Exit. $04:9411 has JMP.W CODE_049831. ; Logic: If we're here, then the level does not prevent movement in that direction. ; Now we must check the tile in that direction to see if it is an appropriate path. ; The direction to travel in is still in register A. ; Note: Level tile 0x82 (a Pipe tile) always allows movement in any direction, ; so it jumps directly here. CODE_0492AD: C2 30 REP #$30 CODE_0492AF: 29 FF 00 AND.W #$00FF CODE_0492B2: A0 06 00 LDY.W #$0006 ;\ Converts the joypad direction input into a single direction. CODE_0492B5: 4A LSR ; | Y = 0 means up CODE_0492B6: B0 04 BCS CODE_0492BC ; | Y = 2 means down CODE_0492B8: 88 DEY ; | Y = 4 means left CODE_0492B9: 88 DEY ; | Y = 6 means right CODE_0492BA: 10 F9 BPL CODE_0492B5 ;/ CODE_0492BC: 98 TYA CODE_0492BD: 8D D3 0D STA.W $0DD3 ; Store the direction for later. CODE_0492C0: A2 00 00 LDX.W #$0000 ;\ Put 0 into X if we're moving vertically CODE_0492C3: C0 04 00 CPY.W #$0004 ; | Otherwise, put 2 into X CODE_0492C6: B0 03 BCS CODE_0492CB ; | CODE_0492C8: A2 02 00 LDX.W #$0002 ;/ CODE_0492CB: A5 04 LDA $04 ;\ Preserve our current tile offset, as CODE_0492CD: 85 08 STA $08 ;/ we are about to overwrite it. CODE_0492CF: B5 00 LDA $00,X ;\ Set $00 or $02 to an X/Y position for the CODE_0492D1: 18 CLC ; | next tile. CODE_0492D2: 79 58 90 ADC.W DATA_049058,Y ; | CODE_0492D5: 95 00 STA $00,X ; | Then call CODE_049885 (OW_TilePos_Calc) with those values. CODE_0492D7: AD D6 0D LDA.W $0DD6 ; | That routine computes the tile offset for that X/Y position CODE_0492DA: 4A LSR ; | is, returning it in $04. CODE_0492DB: 4A LSR ; | CODE_0492DC: AA TAX ; | CODE_0492DD: 20 85 98 JSR.W CODE_049885 ;/ CODE_0492E0: A6 04 LDX $04 ;\ Proceed to check for hardcoded paths if the tile in the direction the user pressed: CODE_0492E2: 30 1D BMI CODE_049301 ; | 1: Has a negative tile offset. CODE_0492E4: C9 00 08 CMP.W #$0800 ; | CODE_0492E7: B0 18 BCS CODE_049301 ; | 2: Has a tile offset bigger than 0x800 CODE_0492E9: BF 00 C8 7E LDA.L $7EC800,X ; | CODE_0492ED: 29 FF 00 AND.W #$00FF ; | CODE_0492F0: F0 0F BEQ CODE_049301 ; | 3: Is empty. (ie: the tile index is 0x00). CODE_0492F2: C9 56 00 CMP.W #$0056 ; | CODE_0492F5: 90 07 BCC CODE_0492FE ; | 4: Is not a path tile (ie: the tile index not less than 0x56) CODE_0492F7: C9 87 00 CMP.W #$0087 ; | CODE_0492FA: 90 02 BCC CODE_0492FE ; | 5: Is not a level tile (ie: the tile index not less than 87). CODE_0492FC: 80 03 BRA CODE_049301 ; | CODE_0492FE: 82 83 00 BRL CODE_049384 ;/ Otherwise, skip the hardcoded path logic. ; Logic: There is no tile in the direction the user pressed. Even so, this level may have a ; hardcoded path. Check for this. If it does, get the first tile for that path and make sure ; that it matches with the direction we pressed. ; This section is one big loop over the array at DATA_049078. That is a byte array of level ; numbers that have hardcoded paths. CODE_049301: 9C 78 1B STZ.W $1B78 CODE_049304: 9C 7A 1B STZ.W $1B7A CODE_049307: A6 08 LDX $08 ;\ Retrieve the tile offset for our current tile (we stored it earlier) CODE_049309: BF 00 D0 7E LDA.L $7ED000,X ; | and get the level number for that tile. CODE_04930D: 29 FF 00 AND.W #$00FF ; | CODE_049310: 85 00 STA $00 ;/ Store it in $00 for later. CODE_049312: A2 09 00 LDX.W #$0009 ; Initialize the loop. Looping over 10 elements. CODE_049315: BD 78 90 LDA.W DATA_049078,X ;\ LOOP START CODE_049318: 29 FF 00 AND.W #$00FF ; | Load the level number we want to test. CODE_04931B: C9 FF 00 CMP.W #$00FF ; | If that level is 0xFF, we need to do special logic. CODE_04931E: D0 29 BNE CODE_049349 ;/ Otherwise, do the normal stuff. CODE_049320: DA PHX ;\ The hardcoded path from level 0x24 to the pipe works based on level 0x24. CODE_049321: AE D6 0D LDX.W $0DD6 ; | However, to make the path back work, they couldn't key off of the pipe's CODE_049324: BD 19 1F LDA.W $1F19,X ; | level number, as all pipes use level 0x0. So they key'ed it off of the CODE_049327: CD 82 90 CMP.W DATA_049082 ; | pipe's position. This code gets the current character's position and checks CODE_04932A: D0 1A BNE CODE_049346 ; | to see if it is the position stored in DATA_049082 (X position) and CODE_04932C: BD 17 1F LDA.W $1F17,X ; | DATA_049084 (Y Position). CODE_04932F: CD 84 90 CMP.W DATA_049084 ; | CODE_049332: D0 12 BNE CODE_049346 ; | CODE_049334: AD B3 0D LDA.W $0DB3 ; | Also checks to see if the character is in the main overworld. CODE_049337: 29 FF 00 AND.W #$00FF ; | If the positions match and the character is in the main overworld, CODE_04933A: AA TAX ; | Then it proceeds to the rest of the hardcoding logic. CODE_04933B: BD 11 1F LDA.W $1F11,X ; | CODE_04933E: 29 FF 00 AND.W #$00FF ; | Otherwise, it goes to the next index in the loop. CODE_049341: D0 03 BNE CODE_049346 ; | CODE_049343: FA PLX ; | CODE_049344: 80 07 BRA CODE_04934D ; | CODE_049346: FA PLX ; | CODE_049347: 80 2B BRA CODE_049374 ;/ CODE_049349: C5 00 CMP $00 ;\ Register A has the level number from the hardcoded list. We compare this to CODE_04934B: D0 27 BNE CODE_049374 ;/ the current level number we stored earlier. If it matches, we break the loop. ; We have a match for a hardcoded path, either through level number or through character position. ; Now we have to see if the first tile of this path is appropriate for us to move though. CODE_04934D: 86 00 STX $00 CODE_04934F: BD 0E 91 LDA.W DATA_04910E,X ;\ Register X has the index into the list of hardcoded path levels. CODE_049352: 29 FF 00 AND.W #$00FF ; | We use it to index a list of offsets for those levels. The offset CODE_049355: AA TAX ; | tells us where that level's tile information is. CODE_049356: 3A DEC A ; | CODE_049357: 8D 7A 1B STA.W $1B7A ;/ Store the offset for use in code that walks the list of tiles. CODE_04935A: 84 02 STY $02 ;\ Reminder: Y is the movement direction. CODE_04935C: BD CA 90 LDA.W DATA_0490CA,X ; | This is a list of the directions for each of the path tiles along the hardcoded path. CODE_04935F: 29 FF 00 AND.W #$00FF ; | CODE_049362: C5 02 CMP $02 ; | CODE_049364: D0 14 BNE CODE_04937A ;/ Exit if the tile doesn't use the same direction as we're trying to use. This breaks the loop entirely. CODE_049366: A9 01 00 LDA.W #$0001 ;\ We are now committed to a hard-coded path. CODE_049369: 8D 78 1B STA.W $1B78 ;/ Store that fact now. CODE_04936C: BD 86 90 LDA.W DATA_049086,X ;\ Fetch the next tile. CODE_04936F: 29 FF 00 AND.W #$00FF ; | CODE_049372: 80 10 BRA CODE_049384 ;/ Break out of the loop CODE_049374: CA DEX ;\ Do the actual looping. X is the counter. CODE_049375: 30 03 BMI CODE_04937A ; | CODE_049377: 82 9B FF BRL CODE_049315 ;/ CODE_04937A: E2 20 SEP #$20 ;\ Exiting loop with failure. We did not find a hardcoded path. CODE_04937C: 9C D5 0D STZ.W $0DD5 ; | CODE_04937F: C2 20 REP #$20 ; | CODE_049381: 4C 11 94 JMP.W CODE_049411 ;/ ; Logic: Register A has the actual next tile in it, whether it came from a hardcoded path or ; from the overwrold. ; This section computes the offset values for the character to move. This matters because ; the current tile is a level tile; it doesn't have intrinsic path data. So we have to generate ; some. in $00 and $02, but which dimension is X and Y is determined by the contents of Register X. CODE_049384: 8D C1 13 STA.W $13C1 ;\ Register A has the destination tile number. CODE_049387: 85 00 STA $00 ; | CODE_049389: 64 02 STZ $02 ;/ CODE_04938B: A2 17 00 LDX.W #$0017 ; Initialize the loop. CODE_04938E: BD 3C A0 LDA.W DATA_04A03C,X ;\ This is a loop over an array of tile numbers stored in DATA_04A03C. With the exception CODE_049391: 29 FF 00 AND.W #$00FF ; | of tile 0x4D (the exit tile with a transparent bridge on it), all of these tiles CODE_049394: C5 00 CMP $00 ; | are corner pieces. Not all corner pieces are in this list, but since this is the first tile CODE_049396: D0 1D BNE CODE_0493B5 ;/ after a level, these corner piece are probably the only tiles that actually work coming off of a level. CODE_049398: BD E4 A0 LDA.W DATA_04A0E4,X ;\ We are computing a "bitfield". If the bit 0x2 is set, then the value we set into $00 should be CODE_04939B: 18 CLC ; | taken as the Y offset instead of the X offset. The bit 0x4 comes from $0DD6, which selects CODE_04939C: 6D D6 0D ADC.W $0DD6 ; | Mario vs. Luigi. The X vs. Y is a property of the tile. CODE_04939F: 48 PHA ;/ CODE_0493A0: 8A TXA ;\ We now use register X as the index in a table who's entries are 4-bytes long. Each entry is 2 16-bit values. CODE_0493A1: 0A ASL ; | The first value gets stored in $00, the second in $02. CODE_0493A2: 0A ASL ; | The bitfield we generated above and pushed onto the stack is CODE_0493A3: AA TAX ; | CODE_0493A4: BD 84 A0 LDA.W DATA_04A084,X ; | Note: for tiles in the DATA_04A03C, there can be only one appropriate entry direction, as specified in CODE_0493A7: 85 00 STA $00 ; | DATA_04A0E4. This code does not check for that entry direction, so Mario can get off the path CODE_0493A9: BD 86 A0 LDA.W DATA_04A086,X ; | if you use the wrong tile when starting from a level. CODE_0493AC: 85 02 STA $02 ; | CODE_0493AE: 68 PLA ; | CODE_0493AF: 29 FF 00 AND.W #$00FF ; | CODE_0493B2: AA TAX ; | CODE_0493B3: 80 25 BRA CODE_0493DA ;/ Skip the following block and go straight to storing the X,Y offsets. CODE_0493B5: CA DEX ;\ Decrement counter and loop. CODE_0493B6: 10 D6 BPL CODE_04938E ;/ CODE_0493B8: A2 08 00 LDX.W #$0008 ;\ For tiles that aren't in the list, things are simpler. CODE_0493BB: 98 TYA ; | The character will move 8 pixels in the direction the user pressed. CODE_0493BC: 29 02 00 AND.W #$0002 ; | This code stores either +8 or -8 in $00, as is appropriate for the movement direction. CODE_0493BF: D0 06 BNE CODE_0493C7 ; | CODE_0493C1: 8A TXA ; | CODE_0493C2: 49 FF FF EOR.W #$FFFF ; | CODE_0493C5: 1A INC A ; | CODE_0493C6: AA TAX ; | CODE_0493C7: 86 00 STX $00 ;/ CODE_0493C9: A2 00 00 LDX.W #$0000 ;\ This code computes the X value, deciding whether $00 should be horizontal or vertical CODE_0493CC: C0 04 00 CPY.W #$0004 ; | movement based on the user's direction press. CODE_0493CF: B0 03 BCS CODE_0493D4 ; | CODE_0493D1: A2 02 00 LDX.W #$0002 ; | CODE_0493D4: 8A TXA ; | CODE_0493D5: 18 CLC ; | CODE_0493D6: 6D D6 0D ADC.W $0DD6 ; | CODE_0493D9: AA TAX ;/ ; Logic: The offsets have been computed, and in Register X is the switch that tells us ; which offset is horizontal and which is vertical, as well as which character to use. ; Apply those offsets now, set the character's sprite appropriately. ; Remember: Y still has the direction the user pressed. CODE_0493DA: A5 00 LDA $00 ;\ Apply the offsets to the current sprites position, CODE_0493DC: 18 CLC ; | and set those as the desiered position. CODE_0493DD: 7D 17 1F ADC.W $1F17,X ; | CODE_0493E0: 9D C7 0D STA.W $0DC7,X ; | CODE_0493E3: 8A TXA ; | CODE_0493E4: 49 02 00 EOR.W #$0002 ; | CODE_0493E7: AA TAX ; | CODE_0493E8: A5 02 LDA $02 ; | CODE_0493EA: 18 CLC ; | CODE_0493EB: 7D 17 1F ADC.W $1F17,X ; | CODE_0493EE: 9D C7 0D STA.W $0DC7,X ;/ CODE_0493F1: 8A TXA ;\ Set the character's facing in the direction that the user pressed (still in Y). CODE_0493F2: 4A LSR ; | CODE_0493F3: 29 02 00 AND.W #$0002 ; | CODE_0493F6: AA TAX ; | CODE_0493F7: 98 TYA ; | CODE_0493F8: 85 00 STA $00 ; | CODE_0493FA: BD 13 1F LDA.W $1F13,X ; | CODE_0493FD: 29 08 00 AND.W #$0008 ; | CODE_049400: 05 00 ORA $00 ; | CODE_049402: 9D 13 1F STA.W $1F13,X ;/ CODE_049405: A9 0F 00 LDA.W #$000F ;\ CODE_049408: 8D 4E 14 STA.W $144E ; | CODE_04940B: EE D9 13 INC.W $13D9 ; | Set the Mario event. CODE_04940E: 9C 44 14 STZ.W $1444 ; | CODE_049411: 4C 31 98 JMP.W CODE_049831 ;/ Go to next phase of overworld processing. DATA_049414: .db $0D,$08 DATA_049416: .db $EF,$FF,$D7,$FF DATA_04941A: .db $11,$01,$31,$01 DATA_04941E: .db $08,$00,$04,$00,$02,$00,$01,$00 DATA_049426: .db $44,$43,$45,$46,$47,$48,$25,$40 .db $42,$4D DATA_049430: .db $0C DATA_049431: .db $00,$0E,$00,$10,$06,$12,$00,$18 .db $04,$1A,$02,$20,$06,$42,$06,$4E .db $04,$50,$02,$58,$06,$5A,$00,$70 .db $06,$90,$00,$A0,$06 DATA_04944E: .db $01,$01,$00,$01,$01,$00,$00,$00 .db $01,$00,$00,$01,$00,$01,$00 CODE_04945D: AD D8 0D LDA.W $0DD8 ; Accum (8 bit) CODE_049460: F0 06 BEQ CODE_049468 CODE_049462: A9 08 LDA.B #$08 CODE_049464: 8D D9 13 STA.W $13D9 Return049467: 60 RTS ; Return CODE_049468: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04946A: AD D6 0D LDA.W $0DD6 CODE_04946D: 18 CLC CODE_04946E: 69 02 00 ADC.W #$0002 CODE_049471: A8 TAY CODE_049472: A2 02 00 LDX.W #$0002 CODE_049475: B9 C7 0D LDA.W $0DC7,Y CODE_049478: 38 SEC CODE_049479: F9 17 1F SBC.W $1F17,Y CODE_04947C: 95 00 STA $00,X CODE_04947E: 10 04 BPL CODE_049484 CODE_049480: 49 FF FF EOR.W #$FFFF CODE_049483: 1A INC A CODE_049484: 95 04 STA $04,X CODE_049486: 88 DEY CODE_049487: 88 DEY CODE_049488: CA DEX CODE_049489: CA DEX CODE_04948A: 10 E9 BPL CODE_049475 CODE_04948C: A0 FF FF LDY.W #$FFFF CODE_04948F: A5 04 LDA $04 CODE_049491: 85 0A STA $0A CODE_049493: A5 06 LDA $06 CODE_049495: 85 0C STA $0C CODE_049497: C5 04 CMP $04 CODE_049499: 90 09 BCC CODE_0494A4 CODE_04949B: 85 0A STA $0A CODE_04949D: A5 04 LDA $04 CODE_04949F: 85 0C STA $0C CODE_0494A1: A0 01 00 LDY.W #$0001 CODE_0494A4: 84 08 STY $08 CODE_0494A6: E2 20 SEP #$20 ; Accum (8 bit) CODE_0494A8: AE 80 1B LDX.W $1B80 CODE_0494AB: BD 14 94 LDA.W DATA_049414,X CODE_0494AE: 0A ASL CODE_0494AF: 0A ASL CODE_0494B0: 0A ASL CODE_0494B1: 0A ASL CODE_0494B2: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_0494B5: A5 0C LDA $0C CODE_0494B7: F0 21 BEQ CODE_0494DA CODE_0494B9: 8D 03 42 STA.W $4203 ; Multplier B CODE_0494BC: EA NOP CODE_0494BD: EA NOP CODE_0494BE: EA NOP CODE_0494BF: EA NOP CODE_0494C0: C2 20 REP #$20 ; Accum (16 bit) CODE_0494C2: AD 16 42 LDA.W $4216 ; Product/Remainder Result (Low Byte) CODE_0494C5: 8D 04 42 STA.W $4204 ; Dividend (Low Byte) CODE_0494C8: E2 20 SEP #$20 ; Accum (8 bit) CODE_0494CA: A5 0A LDA $0A CODE_0494CC: 8D 06 42 STA.W $4206 ; Divisor B CODE_0494CF: EA NOP CODE_0494D0: EA NOP CODE_0494D1: EA NOP CODE_0494D2: EA NOP CODE_0494D3: EA NOP CODE_0494D4: EA NOP CODE_0494D5: C2 20 REP #$20 ; Accum (16 bit) CODE_0494D7: AD 14 42 LDA.W $4214 ; Quotient of Divide Result (Low Byte) CODE_0494DA: C2 20 REP #$20 ; Accum (16 bit) CODE_0494DC: 85 0E STA $0E CODE_0494DE: AE 80 1B LDX.W $1B80 CODE_0494E1: BD 14 94 LDA.W DATA_049414,X CODE_0494E4: 29 FF 00 AND.W #$00FF CODE_0494E7: 0A ASL CODE_0494E8: 0A ASL CODE_0494E9: 0A ASL CODE_0494EA: 0A ASL CODE_0494EB: 85 0A STA $0A CODE_0494ED: A2 02 00 LDX.W #$0002 CODE_0494F0: A5 08 LDA $08 CODE_0494F2: 30 04 BMI CODE_0494F8 CODE_0494F4: A5 0A LDA $0A CODE_0494F6: 80 02 BRA CODE_0494FA CODE_0494F8: A5 0E LDA $0E CODE_0494FA: 34 00 BIT $00,X CODE_0494FC: 10 04 BPL CODE_049502 CODE_0494FE: 49 FF FF EOR.W #$FFFF CODE_049501: 1A INC A CODE_049502: 9D CF 0D STA.W $0DCF,X CODE_049505: A5 08 LDA $08 CODE_049507: 49 FF FF EOR.W #$FFFF CODE_04950A: 1A INC A CODE_04950B: 85 08 STA $08 CODE_04950D: CA DEX CODE_04950E: CA DEX CODE_04950F: 10 DF BPL CODE_0494F0 CODE_049511: A2 00 00 LDX.W #$0000 CODE_049514: A5 08 LDA $08 CODE_049516: 30 03 BMI CODE_04951B CODE_049518: A2 02 00 LDX.W #$0002 CODE_04951B: B5 00 LDA $00,X CODE_04951D: F0 03 BEQ CODE_049522 CODE_04951F: 4C 01 98 JMP.W CODE_049801 CODE_049522: AD 44 14 LDA.W $1444 CODE_049525: F0 35 BEQ CODE_04955C CODE_049527: 9C 78 1B STZ.W $1B78 CODE_04952A: AE D6 0D LDX.W $0DD6 CODE_04952D: BD 1F 1F LDA.W $1F1F,X CODE_049530: 85 00 STA $00 CODE_049532: BD 21 1F LDA.W $1F21,X CODE_049535: 85 02 STA $02 CODE_049537: 8A TXA CODE_049538: 4A LSR CODE_049539: 4A LSR CODE_04953A: AA TAX CODE_04953B: 20 85 98 JSR.W OW_TilePos_Calc CODE_04953E: 64 00 STZ $00 CODE_049540: A6 04 LDX $04 CODE_049542: BF 00 D0 7E LDA.L $7ED000,X CODE_049546: 29 FF 00 AND.W #$00FF CODE_049549: 0A ASL CODE_04954A: AA TAX CODE_04954B: BD FC A0 LDA.W LevelNames,X CODE_04954E: 85 00 STA $00 CODE_049550: 20 07 9D JSR.W CODE_049D07 CODE_049553: EE D9 13 INC.W $13D9 CODE_049556: 20 37 90 JSR.W CODE_049037 CODE_049559: 4C 31 98 JMP.W CODE_049831 CODE_04955C: AD C1 13 LDA.W $13C1 CODE_04955F: 8D 7E 1B STA.W $1B7E CODE_049562: A9 08 00 LDA.W #$0008 CODE_049565: 85 08 STA $08 CODE_049567: AC D3 0D LDY.W $0DD3 CODE_04956A: 98 TYA CODE_04956B: 29 FF 00 AND.W #$00FF CODE_04956E: 49 02 00 EOR.W #$0002 CODE_049571: 85 0A STA $0A CODE_049573: 80 0D BRA CODE_049582 ADDR_049575: A5 08 LDA $08 ADDR_049577: 38 SEC ADDR_049578: E9 02 00 SBC.W #$0002 ADDR_04957B: 85 08 STA $08 ADDR_04957D: C5 0A CMP $0A ADDR_04957F: F0 F4 BEQ ADDR_049575 ADDR_049581: A8 TAY CODE_049582: AE D6 0D LDX.W $0DD6 CODE_049585: BD 1F 1F LDA.W $1F1F,X CODE_049588: 85 00 STA $00 CODE_04958A: BD 21 1F LDA.W $1F21,X CODE_04958D: 85 02 STA $02 CODE_04958F: A2 00 00 LDX.W #$0000 CODE_049592: C0 04 00 CPY.W #$0004 CODE_049595: B0 03 BCS CODE_04959A CODE_049597: A2 02 00 LDX.W #$0002 CODE_04959A: B5 00 LDA $00,X CODE_04959C: 18 CLC CODE_04959D: 79 58 90 ADC.W DATA_049058,Y CODE_0495A0: 95 00 STA $00,X CODE_0495A2: AD D6 0D LDA.W $0DD6 CODE_0495A5: 4A LSR CODE_0495A6: 4A LSR CODE_0495A7: AA TAX CODE_0495A8: 20 85 98 JSR.W OW_TilePos_Calc CODE_0495AB: AD 78 1B LDA.W $1B78 CODE_0495AE: F0 1E BEQ CODE_0495CE CODE_0495B0: 84 06 STY $06 CODE_0495B2: AE 7A 1B LDX.W $1B7A CODE_0495B5: E8 INX CODE_0495B6: BD CA 90 LDA.W DATA_0490CA,X CODE_0495B9: 29 FF 00 AND.W #$00FF CODE_0495BC: C5 06 CMP $06 CODE_0495BE: D0 B5 BNE ADDR_049575 CODE_0495C0: 8E 7A 1B STX.W $1B7A CODE_0495C3: BD 86 90 LDA.W DATA_049086,X CODE_0495C6: 29 FF 00 AND.W #$00FF CODE_0495C9: C9 58 00 CMP.W #$0058 CODE_0495CC: D0 10 BNE CODE_0495DE CODE_0495CE: A6 04 LDX $04 CODE_0495D0: 30 A3 BMI ADDR_049575 CODE_0495D2: C9 00 08 CMP.W #$0800 CODE_0495D5: B0 9E BCS ADDR_049575 CODE_0495D7: BF 00 C8 7E LDA.L $7EC800,X ; \ Load OW tile number CODE_0495DB: 29 FF 00 AND.W #$00FF ; / CODE_0495DE: 8D C1 13 STA.W $13C1 ; Set "Current OW tile" CODE_0495E1: F0 92 BEQ ADDR_049575 CODE_0495E3: C9 87 00 CMP.W #$0087 CODE_0495E6: B0 8D BCS ADDR_049575 CODE_0495E8: 48 PHA CODE_0495E9: 5A PHY CODE_0495EA: AA TAX CODE_0495EB: CA DEX CODE_0495EC: A0 00 00 LDY.W #$0000 CODE_0495EF: BD EB 9F LDA.W DATA_049FEB,X CODE_0495F2: 85 0E STA $0E CODE_0495F4: 29 FF 00 AND.W #$00FF CODE_0495F7: C9 14 00 CMP.W #$0014 CODE_0495FA: D0 03 BNE CODE_0495FF CODE_0495FC: A0 01 00 LDY.W #$0001 CODE_0495FF: 8C 80 1B STY.W $1B80 CODE_049602: AE D6 0D LDX.W $0DD6 CODE_049605: A5 00 LDA $00 CODE_049607: 9D 1F 1F STA.W $1F1F,X CODE_04960A: A5 02 LDA $02 CODE_04960C: 9D 21 1F STA.W $1F21,X CODE_04960F: 7A PLY CODE_049610: 68 PLA CODE_049611: 48 PHA CODE_049612: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_049614: A2 09 LDX.B #$09 CODE_049616: DD 26 94 CMP.W DATA_049426,X CODE_049619: D0 2A BNE CODE_049645 CODE_04961B: 5A PHY CODE_04961C: 20 24 9A JSR.W CODE_049A24 CODE_04961F: 7A PLY CODE_049620: A9 01 LDA.B #$01 CODE_049622: 8D 9E 1B STA.W $1B9E CODE_049625: 20 07 F4 JSR.W CODE_04F407 CODE_049628: 9C 8C 1B STZ.W $1B8C CODE_04962B: C2 20 REP #$20 ; Accum (16 bit) CODE_04962D: 9C 01 07 STZ.W $0701 CODE_049630: A9 00 70 LDA.W #$7000 CODE_049633: 8D 8D 1B STA.W $1B8D CODE_049636: A9 00 54 LDA.W #$5400 CODE_049639: 8D 8F 1B STA.W $1B8F CODE_04963C: E2 20 SEP #$20 ; Accum (8 bit) CODE_04963E: A9 0A LDA.B #$0A CODE_049640: 8D D9 13 STA.W $13D9 CODE_049643: 80 03 BRA CODE_049648 CODE_049645: CA DEX CODE_049646: 10 CE BPL CODE_049616 CODE_049648: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04964A: 68 PLA CODE_04964B: 48 PHA CODE_04964C: C9 56 00 CMP.W #$0056 CODE_04964F: B0 03 BCS CODE_049654 CODE_049651: 4C 1D 97 JMP.W CODE_04971D CODE_049654: C9 80 00 CMP.W #$0080 CODE_049657: F0 0A BEQ CODE_049663 CODE_049659: C9 6A 00 CMP.W #$006A CODE_04965C: 90 18 BCC CODE_049676 CODE_04965E: C9 6E 00 CMP.W #$006E CODE_049661: B0 13 BCS CODE_049676 CODE_049663: AD D6 0D LDA.W $0DD6 CODE_049666: 4A LSR CODE_049667: 29 02 00 AND.W #$0002 CODE_04966A: AA TAX CODE_04966B: BD 13 1F LDA.W $1F13,X CODE_04966E: 09 08 00 ORA.W #$0008 CODE_049671: 9D 13 1F STA.W $1F13,X CODE_049674: 80 11 BRA CODE_049687 CODE_049676: AD D6 0D LDA.W $0DD6 CODE_049679: 4A LSR CODE_04967A: 29 02 00 AND.W #$0002 CODE_04967D: AA TAX CODE_04967E: BD 13 1F LDA.W $1F13,X CODE_049681: 29 F7 00 AND.W #$00F7 CODE_049684: 9D 13 1F STA.W $1F13,X CODE_049687: A9 01 00 LDA.W #$0001 CODE_04968A: 8D 44 14 STA.W $1444 CODE_04968D: AD C1 13 LDA.W $13C1 CODE_049690: C9 5F 00 CMP.W #$005F CODE_049693: F0 10 BEQ CODE_0496A5 CODE_049695: C9 5B 00 CMP.W #$005B CODE_049698: F0 0B BEQ CODE_0496A5 CODE_04969A: C9 82 00 CMP.W #$0082 CODE_04969D: F0 06 BEQ CODE_0496A5 CODE_04969F: A9 23 00 LDA.W #$0023 CODE_0496A2: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_0496A5: EA NOP CODE_0496A6: EA NOP CODE_0496A7: EA NOP CODE_0496A8: AD C1 13 LDA.W $13C1 CODE_0496AB: 29 FF 00 AND.W #$00FF CODE_0496AE: C9 82 00 CMP.W #$0082 CODE_0496B1: F0 1F BEQ CODE_0496D2 CODE_0496B3: 5A PHY CODE_0496B4: 98 TYA CODE_0496B5: 29 FF 00 AND.W #$00FF CODE_0496B8: 49 02 00 EOR.W #$0002 CODE_0496BB: A8 TAY CODE_0496BC: 64 06 STZ $06 CODE_0496BE: A6 04 LDX $04 CODE_0496C0: BF 00 D0 7E LDA.L $7ED000,X CODE_0496C4: 29 FF 00 AND.W #$00FF CODE_0496C7: AA TAX CODE_0496C8: B9 1E 94 LDA.W DATA_04941E,Y CODE_0496CB: 1D A2 1E ORA.W $1EA2,X CODE_0496CE: 9D A2 1E STA.W $1EA2,X CODE_0496D1: 7A PLY CODE_0496D2: AD D6 0D LDA.W $0DD6 CODE_0496D5: 4A LSR CODE_0496D6: 29 02 00 AND.W #$0002 CODE_0496D9: AA TAX CODE_0496DA: BD 13 1F LDA.W $1F13,X CODE_0496DD: 29 0C 00 AND.W #$000C CODE_0496E0: 85 0E STA $0E CODE_0496E2: A9 01 00 LDA.W #$0001 CODE_0496E5: 85 04 STA $04 CODE_0496E7: AD 7E 1B LDA.W $1B7E CODE_0496EA: 29 FF 00 AND.W #$00FF CODE_0496ED: 85 00 STA $00 CODE_0496EF: A2 17 00 LDX.W #$0017 CODE_0496F2: BD 3C A0 LDA.W DATA_04A03C,X CODE_0496F5: 29 FF 00 AND.W #$00FF CODE_0496F8: C5 00 CMP $00 CODE_0496FA: D0 08 BNE CODE_049704 CODE_0496FC: 8A TXA CODE_0496FD: 0A ASL CODE_0496FE: AA TAX CODE_0496FF: BD 54 A0 LDA.W DATA_04A054,X CODE_049702: 80 14 BRA CODE_049718 CODE_049704: CA DEX CODE_049705: 10 EB BPL CODE_0496F2 CODE_049707: A9 00 00 LDA.W #$0000 CODE_04970A: 09 00 08 ORA.W #$0800 CODE_04970D: C0 04 00 CPY.W #$0004 CODE_049710: 90 06 BCC CODE_049718 CODE_049712: A9 00 00 LDA.W #$0000 CODE_049715: 09 08 00 ORA.W #$0008 CODE_049718: A2 00 00 LDX.W #$0000 CODE_04971B: 80 0B BRA CODE_049728 CODE_04971D: 3A DEC A CODE_04971E: 0A ASL CODE_04971F: AA TAX CODE_049720: BD 49 9F LDA.W DATA_049F49,X CODE_049723: 85 04 STA $04 CODE_049725: BD A7 9E LDA.W DATA_049EA7,X CODE_049728: 85 00 STA $00 CODE_04972A: 8A TXA CODE_04972B: E2 20 SEP #$20 ; Accum (8 bit) CODE_04972D: A2 1C 00 LDX.W #$001C CODE_049730: DD 30 94 CMP.W DATA_049430,X CODE_049733: F0 06 BEQ CODE_04973B CODE_049735: CA DEX CODE_049736: CA DEX CODE_049737: 10 F7 BPL CODE_049730 CODE_049739: 80 0F BRA CODE_04974A CODE_04973B: 98 TYA CODE_04973C: DD 31 94 CMP.W DATA_049431,X CODE_04973F: F0 09 BEQ CODE_04974A CODE_049741: 8A TXA CODE_049742: 4A LSR CODE_049743: AA TAX CODE_049744: BD 4E 94 LDA.W DATA_04944E,X CODE_049747: AA TAX CODE_049748: 80 0B BRA CODE_049755 CODE_04974A: A2 00 00 LDX.W #$0000 CODE_04974D: 98 TYA CODE_04974E: 29 02 AND.B #$02 CODE_049750: F0 03 BEQ CODE_049755 CODE_049752: A2 01 00 LDX.W #$0001 CODE_049755: B5 04 LDA $04,X CODE_049757: F0 0E BEQ CODE_049767 CODE_049759: A5 00 LDA $00 CODE_04975B: 49 FF EOR.B #$FF CODE_04975D: 1A INC A CODE_04975E: 85 00 STA $00 CODE_049760: A5 01 LDA $01 CODE_049762: 49 FF EOR.B #$FF CODE_049764: 1A INC A CODE_049765: 85 01 STA $01 CODE_049767: C2 20 REP #$20 ; Accum (16 bit) CODE_049769: 68 PLA CODE_04976A: A2 00 00 LDX.W #$0000 CODE_04976D: A5 0E LDA $0E CODE_04976F: 29 07 00 AND.W #$0007 CODE_049772: D0 03 BNE CODE_049777 CODE_049774: A2 01 00 LDX.W #$0001 CODE_049777: A5 0E LDA $0E CODE_049779: 29 FF 00 AND.W #$00FF CODE_04977C: 85 04 STA $04 CODE_04977E: B5 00 LDA $00,X CODE_049780: 29 FF 00 AND.W #$00FF CODE_049783: C9 80 00 CMP.W #$0080 CODE_049786: B0 08 BCS CODE_049790 CODE_049788: A5 04 LDA $04 CODE_04978A: 18 CLC CODE_04978B: 69 02 00 ADC.W #$0002 CODE_04978E: 85 04 STA $04 CODE_049790: AD D6 0D LDA.W $0DD6 CODE_049793: 4A LSR CODE_049794: 29 02 00 AND.W #$0002 CODE_049797: AA TAX CODE_049798: A5 04 LDA $04 CODE_04979A: 9D 13 1F STA.W $1F13,X CODE_04979D: AE D6 0D LDX.W $0DD6 CODE_0497A0: A5 00 LDA $00 CODE_0497A2: 29 FF 00 AND.W #$00FF CODE_0497A5: C9 80 00 CMP.W #$0080 CODE_0497A8: 90 03 BCC CODE_0497AD CODE_0497AA: 09 00 FF ORA.W #$FF00 CODE_0497AD: 18 CLC CODE_0497AE: 7D 17 1F ADC.W $1F17,X CODE_0497B1: 29 FC FF AND.W #$FFFC CODE_0497B4: 9D C7 0D STA.W $0DC7,X CODE_0497B7: A5 01 LDA $01 CODE_0497B9: 29 FF 00 AND.W #$00FF CODE_0497BC: C9 80 00 CMP.W #$0080 CODE_0497BF: 90 03 BCC CODE_0497C4 CODE_0497C1: 09 00 FF ORA.W #$FF00 CODE_0497C4: 18 CLC CODE_0497C5: 7D 19 1F ADC.W $1F19,X CODE_0497C8: 29 FC FF AND.W #$FFFC CODE_0497CB: 9D C9 0D STA.W $0DC9,X CODE_0497CE: E2 20 SEP #$20 ; Accum (8 bit) CODE_0497D0: BD C7 0D LDA.W $0DC7,X CODE_0497D3: 29 0F AND.B #$0F CODE_0497D5: D0 0C BNE CODE_0497E3 CODE_0497D7: A0 04 00 LDY.W #$0004 CODE_0497DA: A5 00 LDA $00 CODE_0497DC: 30 03 BMI CODE_0497E1 CODE_0497DE: A0 06 00 LDY.W #$0006 CODE_0497E1: 80 11 BRA CODE_0497F4 CODE_0497E3: BD C9 0D LDA.W $0DC9,X CODE_0497E6: 29 0F AND.B #$0F CODE_0497E8: D0 0A BNE CODE_0497F4 CODE_0497EA: A0 00 00 LDY.W #$0000 CODE_0497ED: A5 01 LDA $01 CODE_0497EF: 30 03 BMI CODE_0497F4 CODE_0497F1: A0 02 00 LDY.W #$0002 CODE_0497F4: 8C D3 0D STY.W $0DD3 CODE_0497F7: AD D9 13 LDA.W $13D9 CODE_0497FA: C9 0A CMP.B #$0A CODE_0497FC: F0 33 BEQ CODE_049831 CODE_0497FE: 4C 5D 94 JMP.W CODE_04945D CODE_049801: C2 20 REP #$20 ; Accum (16 bit) CODE_049803: AD D6 0D LDA.W $0DD6 CODE_049806: 18 CLC CODE_049807: 69 02 00 ADC.W #$0002 CODE_04980A: AA TAX CODE_04980B: A0 02 00 LDY.W #$0002 CODE_04980E: B9 D5 13 LDA.W $13D5,Y CODE_049811: 29 FF 00 AND.W #$00FF CODE_049814: 18 CLC CODE_049815: 79 CF 0D ADC.W $0DCF,Y CODE_049818: 99 D5 13 STA.W $13D5,Y CODE_04981B: 29 00 FF AND.W #$FF00 CODE_04981E: 10 03 BPL CODE_049823 CODE_049820: 09 FF 00 ORA.W #$00FF CODE_049823: EB XBA CODE_049824: 18 CLC CODE_049825: 7D 17 1F ADC.W $1F17,X CODE_049828: 9D 17 1F STA.W $1F17,X CODE_04982B: CA DEX CODE_04982C: CA DEX CODE_04982D: 88 DEY CODE_04982E: 88 DEY CODE_04982F: 10 DD BPL CODE_04980E CODE_049831: E2 20 SEP #$20 ; Accum (8 bit) CODE_049833: AD D9 13 LDA.W $13D9 CODE_049836: C9 0A CMP.B #$0A CODE_049838: F0 48 BEQ CODE_049882 CODE_04983A: AD A0 1B LDA.W $1BA0 CODE_04983D: D0 43 BNE CODE_049882 CODE_04983F: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_049841: AE D6 0D LDX.W $0DD6 CODE_049844: BD 17 1F LDA.W $1F17,X CODE_049847: 85 00 STA $00 CODE_049849: BD 19 1F LDA.W $1F19,X CODE_04984C: 85 02 STA $02 CODE_04984E: 8A TXA CODE_04984F: 4A LSR CODE_049850: 4A LSR CODE_049851: AA TAX CODE_049852: BD 11 1F LDA.W $1F11,X CODE_049855: 29 FF 00 AND.W #$00FF CODE_049858: D0 28 BNE CODE_049882 CODE_04985A: A2 02 00 LDX.W #$0002 CODE_04985D: 9B TXY CODE_04985E: B5 00 LDA $00,X CODE_049860: 38 SEC CODE_049861: E9 80 00 SBC.W #$0080 CODE_049864: 10 0A BPL CODE_049870 CODE_049866: D9 16 94 CMP.W DATA_049416,Y CODE_049869: B0 0D BCS CODE_049878 CODE_04986B: B9 16 94 LDA.W DATA_049416,Y CODE_04986E: 80 08 BRA CODE_049878 CODE_049870: D9 1A 94 CMP.W DATA_04941A,Y CODE_049873: 90 03 BCC CODE_049878 CODE_049875: B9 1A 94 LDA.W DATA_04941A,Y CODE_049878: 95 1A STA RAM_ScreenBndryXLo,X CODE_04987A: 95 1E STA $1E,X CODE_04987C: 88 DEY CODE_04987D: 88 DEY CODE_04987E: CA DEX CODE_04987F: CA DEX CODE_049880: 10 DC BPL CODE_04985E CODE_049882: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return049884: 60 RTS ; Return OW_TilePos_Calc: A5 00 LDA $00 ; Get overworld X pos/16 (X) ; Accum (16 bit) CODE_049887: 29 0F 00 AND.W #$000F ; \ CODE_04988A: 85 04 STA $04 ; | CODE_04988C: A5 00 LDA $00 ; | CODE_04988E: 29 10 00 AND.W #$0010 ; | CODE_049891: 0A ASL ; |Set tile pos to ((X&0xF)+((X&0x10)<<4)) CODE_049892: 0A ASL ; | CODE_049893: 0A ASL ; | CODE_049894: 0A ASL ; | CODE_049895: 65 04 ADC $04 ; | CODE_049897: 85 04 STA $04 ; / CODE_049899: A5 02 LDA $02 ; Get overworld Y pos/16 (Y) CODE_04989B: 0A ASL ; \ CODE_04989C: 0A ASL ; | CODE_04989D: 0A ASL ; |Increase tile pos by ((Y<<4)&0xFF) CODE_04989E: 0A ASL ; | CODE_04989F: 29 FF 00 AND.W #$00FF ; | CODE_0498A2: 65 04 ADC $04 ; | CODE_0498A4: 85 04 STA $04 ; / CODE_0498A6: A5 02 LDA $02 ; \ CODE_0498A8: 29 10 00 AND.W #$0010 ; | CODE_0498AB: F0 08 BEQ CODE_0498B5 ; |If (Y&0x10) isn't 0, CODE_0498AD: A5 04 LDA $04 ; |increase tile pos by x200 CODE_0498AF: 18 CLC ; | CODE_0498B0: 69 00 02 ADC.W #$0200 ; | CODE_0498B3: 85 04 STA $04 ; / CODE_0498B5: BD 11 1F LDA.W $1F11,X ; \ CODE_0498B8: 29 FF 00 AND.W #$00FF ; | CODE_0498BB: F0 08 BEQ Return0498C5 ; |If on submap, CODE_0498BD: A5 04 LDA $04 ; |Increase tile pos by x400 CODE_0498BF: 18 CLC ; | CODE_0498C0: 69 00 04 ADC.W #$0400 ; | CODE_0498C3: 85 04 STA $04 ; / Return0498C5: 60 RTS ; Return CODE_0498C6: 9C 13 1F STZ.W $1F13 ; Accum (8 bit) CODE_0498C9: A9 80 LDA.B #$80 CODE_0498CB: 18 CLC CODE_0498CC: 6D D7 13 ADC.W $13D7 CODE_0498CF: 8D D7 13 STA.W $13D7 CODE_0498D2: 08 PHP CODE_0498D3: A9 0F LDA.B #$0F CODE_0498D5: C9 08 CMP.B #$08 CODE_0498D7: A0 00 LDY.B #$00 CODE_0498D9: 90 03 BCC CODE_0498DE CODE_0498DB: 09 F0 ORA.B #$F0 CODE_0498DD: 88 DEY CODE_0498DE: 28 PLP CODE_0498DF: 6D 19 1F ADC.W $1F19 CODE_0498E2: 8D 19 1F STA.W $1F19 CODE_0498E5: 98 TYA CODE_0498E6: 6D 1A 1F ADC.W $1F1A CODE_0498E9: 8D 1A 1F STA.W $1F1A CODE_0498EC: AD 19 1F LDA.W $1F19 CODE_0498EF: C9 78 CMP.B #$78 CODE_0498F1: D0 07 BNE Return0498FA CODE_0498F3: 9C D9 13 STZ.W $13D9 CODE_0498F6: 22 C9 9B 00 JSL.L CODE_009BC9 Return0498FA: 60 RTS ; Return DATA_0498FB: .db $08,$00,$04,$00,$02,$00,$01,$00 CODE_049903: AE D5 0D LDX.W $0DD5 CODE_049906: F0 BD BEQ Return0498C5 CODE_049908: 30 BB BMI Return0498C5 CODE_04990A: CA DEX CODE_04990B: BD 60 90 LDA.W DATA_049060,X CODE_04990E: 85 08 STA $08 CODE_049910: 64 09 STZ $09 CODE_049912: C2 20 REP #$20 ; Accum (16 bit) CODE_049914: AE D6 0D LDX.W $0DD6 CODE_049917: BD 17 1F LDA.W $1F17,X CODE_04991A: 4A LSR CODE_04991B: 4A LSR CODE_04991C: 4A LSR CODE_04991D: 4A LSR CODE_04991E: 85 00 STA $00 CODE_049920: 9D 1F 1F STA.W $1F1F,X CODE_049923: BD 19 1F LDA.W $1F19,X CODE_049926: 4A LSR CODE_049927: 4A LSR CODE_049928: 4A LSR CODE_049929: 4A LSR CODE_04992A: 85 02 STA $02 CODE_04992C: 9D 21 1F STA.W $1F21,X CODE_04992F: 8A TXA CODE_049930: 4A LSR CODE_049931: 4A LSR CODE_049932: AA TAX CODE_049933: 20 85 98 JSR.W OW_TilePos_Calc CODE_049936: C2 10 REP #$10 ; Index (16 bit) CODE_049938: A6 04 LDX $04 CODE_04993A: BF 00 D8 7E LDA.L $7ED800,X CODE_04993E: 29 FF 00 AND.W #$00FF CODE_049941: A6 08 LDX $08 CODE_049943: F0 04 BEQ CODE_049949 CODE_049945: 4A LSR CODE_049946: CA DEX CODE_049947: 10 FC BPL CODE_049945 CODE_049949: 29 03 00 AND.W #$0003 CODE_04994C: 0A ASL CODE_04994D: A8 TAY CODE_04994E: A6 04 LDX $04 CODE_049950: BF 00 D0 7E LDA.L $7ED000,X CODE_049954: 29 FF 00 AND.W #$00FF CODE_049957: AA TAX CODE_049958: B9 1E 94 LDA.W DATA_04941E,Y CODE_04995B: 1D A2 1E ORA.W $1EA2,X CODE_04995E: 9D A2 1E STA.W $1EA2,X CODE_049961: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return049963: 60 RTS ; Return DATA_049964: .db $40,$01 DATA_049966: .db $28,$00 DATA_049968: .db $00,$50,$01,$58,$00,$00,$10,$00 .db $48,$00,$01,$10,$00,$98,$00,$01 .db $A0,$00,$D8,$00,$00,$40,$01,$58 .db $00,$02,$90,$00,$E8,$01,$04,$60 .db $01,$E8,$00,$00,$A0,$00,$C8,$01 .db $00,$60,$01,$88,$00,$03,$08,$01 .db $90,$01,$00,$E8,$01,$10,$00,$03 .db $10,$01,$C8,$01,$00,$F0,$01,$88 .db $00,$03 DATA_0499AA: .db $00,$00 DATA_0499AC: .db $48,$00 DATA_0499AE: .db $01,$00,$00,$98,$00,$01,$50,$01 .db $28,$00,$00,$60,$01,$58,$00,$00 .db $50,$01,$58,$00,$02,$90,$00,$D8 .db $00,$00,$50,$01,$E8,$00,$00,$A0 .db $00,$E8,$01,$04,$50,$01,$88,$00 .db $03,$B0,$00,$C8,$01,$00,$E8,$01 .db $00,$00,$03,$08,$01,$A0,$01,$00 .db $00,$02,$88,$00,$03,$00,$01,$C8 .db $01,$00 DATA_0499F0: .db $00 DATA_0499F1: .db $04,$00,$09,$14,$02,$15,$05,$14 .db $05,$09,$0D,$15,$0E,$09,$1E,$15 .db $08,$0A,$1C,$1E,$00,$10,$19,$1F .db $08,$10,$1C DATA_049A0C: .db $EF,$FF DATA_049A0E: .db $D8,$FF,$EF,$FF,$80,$00,$EF,$FF .db $28,$01,$F0,$00,$D8,$FF,$F0,$00 .db $80,$00,$F0,$00,$28,$01 CODE_049A24: C2 20 REP #$20 ; Accum (16 bit) CODE_049A26: AD D6 0D LDA.W $0DD6 CODE_049A29: 4A LSR CODE_049A2A: 4A LSR CODE_049A2B: AA TAX CODE_049A2C: BD 11 1F LDA.W $1F11,X CODE_049A2F: 29 FF 00 AND.W #$00FF CODE_049A32: 8D C3 13 STA.W $13C3 CODE_049A35: A9 1A 00 LDA.W #$001A CODE_049A38: 85 02 STA $02 CODE_049A3A: A0 41 LDY.B #$41 CODE_049A3C: AE D6 0D LDX.W $0DD6 CODE_049A3F: BD 19 1F LDA.W $1F19,X CODE_049A42: D9 64 99 CMP.W DATA_049964,Y CODE_049A45: D0 3E BNE CODE_049A85 CODE_049A47: BD 17 1F LDA.W $1F17,X CODE_049A4A: D9 66 99 CMP.W DATA_049966,Y CODE_049A4D: D0 36 BNE CODE_049A85 CODE_049A4F: B9 68 99 LDA.W DATA_049968,Y CODE_049A52: 29 FF 00 AND.W #$00FF CODE_049A55: CD C3 13 CMP.W $13C3 CODE_049A58: D0 2B BNE CODE_049A85 CODE_049A5A: B9 AA 99 LDA.W DATA_0499AA,Y CODE_049A5D: 9D 19 1F STA.W $1F19,X CODE_049A60: B9 AC 99 LDA.W DATA_0499AC,Y CODE_049A63: 9D 17 1F STA.W $1F17,X CODE_049A66: B9 AE 99 LDA.W DATA_0499AE,Y CODE_049A69: 29 FF 00 AND.W #$00FF CODE_049A6C: 8D C3 13 STA.W $13C3 CODE_049A6F: A4 02 LDY $02 CODE_049A71: B9 F0 99 LDA.W DATA_0499F0,Y CODE_049A74: 29 FF 00 AND.W #$00FF CODE_049A77: 9D 21 1F STA.W $1F21,X CODE_049A7A: B9 F1 99 LDA.W DATA_0499F1,Y CODE_049A7D: 29 FF 00 AND.W #$00FF CODE_049A80: 9D 1F 1F STA.W $1F1F,X CODE_049A83: 80 0B BRA CODE_049A90 CODE_049A85: C6 02 DEC $02 CODE_049A87: C6 02 DEC $02 CODE_049A89: 88 DEY CODE_049A8A: 88 DEY CODE_049A8B: 88 DEY CODE_049A8C: 88 DEY CODE_049A8D: 88 DEY CODE_049A8E: 10 AF BPL CODE_049A3F CODE_049A90: E2 20 SEP #$20 ; Accum (8 bit) Return049A92: 60 RTS ; Return CODE_049A93: AD D6 0D LDA.W $0DD6 ; Accum (16 bit) CODE_049A96: 29 FF 00 AND.W #$00FF CODE_049A99: 4A LSR CODE_049A9A: 4A LSR CODE_049A9B: AA TAX CODE_049A9C: BD 11 1F LDA.W $1F11,X CODE_049A9F: 29 00 FF AND.W #$FF00 CODE_049AA2: 0D C3 13 ORA.W $13C3 CODE_049AA5: 9D 11 1F STA.W $1F11,X CODE_049AA8: 29 FF 00 AND.W #$00FF CODE_049AAB: D0 03 BNE CODE_049AB0 CODE_049AAD: 4C 3F 98 JMP.W CODE_04983F CODE_049AB0: 3A DEC A CODE_049AB1: 0A ASL CODE_049AB2: 0A ASL CODE_049AB3: A8 TAY CODE_049AB4: B9 0C 9A LDA.W DATA_049A0C,Y CODE_049AB7: 85 1A STA RAM_ScreenBndryXLo CODE_049AB9: 85 1E STA $1E CODE_049ABB: B9 0E 9A LDA.W DATA_049A0E,Y CODE_049ABE: 85 1C STA RAM_ScreenBndryYLo CODE_049AC0: 85 20 STA $20 CODE_049AC2: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return049AC4: 60 RTS ; Return LevelNameStrings: .db $18,$0E,$12,$07,$08,$5D,$12,$9F .db $12,$13,$00,$11,$9F,$5A,$64,$1F .db $08,$06,$06,$18,$5D,$12,$9F,$5A .db $65,$1F,$0C,$0E,$11,$13,$0E,$0D .db $5D,$12,$9F,$5A,$66,$1F,$0B,$04 .db $0C,$0C,$18,$5D,$12,$9F,$5A,$67 .db $1F,$0B,$14,$03,$16,$08,$06,$5D .db $12,$9F,$5A,$68,$1F,$11,$0E,$18 .db $5D,$12,$9F,$5A,$69,$1F,$16,$04 .db $0D,$03,$18,$5D,$12,$9F,$5A,$6A .db $1F,$0B,$00,$11,$11,$18,$5D,$12 .db $9F,$03,$0E,$0D,$14,$13,$9F,$06 .db $11,$04,$04,$0D,$9F,$13,$0E,$0F .db $1F,$12,$04,$02,$11,$04,$13,$1F .db $00,$11,$04,$00,$9F,$15,$00,$0D .db $08,$0B,$0B,$00,$9F,$38,$39,$3A .db $3B,$3C,$9F,$11,$04,$03,$9F,$01 .db $0B,$14,$04,$9F,$01,$14,$13,$13 .db $04,$11,$1F,$01,$11,$08,$03,$06 .db $04,$9F,$02,$07,$04,$04,$12,$04 .db $1F,$01,$11,$08,$03,$06,$04,$9F .db $12,$0E,$03,$00,$1F,$0B,$00,$0A .db $04,$9F,$02,$0E,$0E,$0A,$08,$04 .db $1F,$0C,$0E,$14,$0D,$13,$00,$08 .db $0D,$9F,$05,$0E,$11,$04,$12,$13 .db $9F,$02,$07,$0E,$02,$0E,$0B,$00 .db $13,$04,$9F,$02,$07,$0E,$02,$0E .db $1C,$06,$07,$0E,$12,$13,$1F,$07 .db $0E,$14,$12,$04,$9F,$12,$14,$0D .db $0A,$04,$0D,$1F,$06,$07,$0E,$12 .db $13,$1F,$12,$07,$08,$0F,$9F,$15 .db $00,$0B,$0B,$04,$18,$9F,$01,$00 .db $02,$0A,$1F,$03,$0E,$0E,$11,$9F .db $05,$11,$0E,$0D,$13,$1F,$03,$0E .db $0E,$11,$9F,$06,$0D,$00,$11,$0B .db $18,$9F,$13,$14,$01,$14,$0B,$00 .db $11,$9F,$16,$00,$18,$1F,$02,$0E .db $0E,$0B,$9F,$07,$0E,$14,$12,$04 .db $9F,$08,$12,$0B,$00,$0D,$03,$9F .db $12,$16,$08,$13,$02,$07,$1F,$0F .db $00,$0B,$00,$02,$04,$9F,$02,$00 .db $12,$13,$0B,$04,$9F,$0F,$0B,$00 .db $08,$0D,$12,$9F,$06,$07,$0E,$12 .db $13,$1F,$07,$0E,$14,$12,$04,$9F .db $12,$04,$02,$11,$04,$13,$9F,$03 .db $0E,$0C,$04,$9F,$05,$0E,$11,$13 .db $11,$04,$12,$12,$9F,$0E,$05,$32 .db $33,$34,$35,$36,$37,$0E,$0D,$9F .db $0E,$05,$1F,$01,$0E,$16,$12,$04 .db $11,$9F,$11,$0E,$00,$03,$9F,$16 .db $0E,$11,$0B,$03,$9F,$00,$16,$04 .db $12,$0E,$0C,$04,$9F,$E4,$E5,$E6 .db $E7,$E8,$0F,$00,$0B,$00,$02,$84 .db $00,$11,$04,$80,$06,$11,$0E,$0E .db $15,$98,$0C,$0E,$0D,$03,$8E,$0E .db $14,$13,$11,$00,$06,$04,$0E,$14 .db $92,$05,$14,$0D,$0A,$98,$07,$0E .db $14,$12,$84,$9F DATA_049C91: .db $CB,$01,$00,$00,$08,$00,$0D,$00 .db $17,$00,$23,$00,$2E,$00,$3A,$00 .db $43,$00,$4E,$00,$59,$00,$5F,$00 .db $65,$00,$75,$00,$7D,$00,$83,$00 .db $87,$00,$8C,$00,$9A,$00,$A8,$00 .db $B2,$00,$C2,$00,$C9,$00,$D3,$00 .db $E5,$00,$F7,$00,$FE,$00,$08,$01 .db $13,$01,$1A,$01,$22,$01 DATA_049CCF: .db $CB,$01,$2B,$01,$31,$01,$38,$01 .db $46,$01,$4D,$01,$54,$01,$60,$01 .db $67,$01,$6C,$01,$75,$01,$80,$01 .db $8A,$01,$8F,$01,$95,$01 DATA_049CED: .db $CB,$01,$9D,$01,$9E,$01,$9F,$01 .db $A0,$01,$A1,$01,$A2,$01,$A8,$01 .db $AC,$01,$B2,$01,$B7,$01,$C1,$01 .db $C6,$01 CODE_049D07: AF 7B 83 7F LDA.L $7F837B ; Index (16 bit) Accum (16 bit) CODE_049D0B: AA TAX CODE_049D0C: 18 CLC CODE_049D0D: 69 26 00 ADC.W #$0026 CODE_049D10: 85 02 STA $02 CODE_049D12: 18 CLC CODE_049D13: 69 04 00 ADC.W #$0004 CODE_049D16: 8F 7B 83 7F STA.L $7F837B CODE_049D1A: A9 00 25 LDA.W #$2500 CODE_049D1D: 9F 7F 83 7F STA.L $7F837F,X CODE_049D21: A9 50 8B LDA.W #$8B50 CODE_049D24: 9F 7D 83 7F STA.L $7F837D,X CODE_049D28: A5 01 LDA $01 CODE_049D2A: 29 7F 00 AND.W #$007F CODE_049D2D: 0A ASL CODE_049D2E: A8 TAY CODE_049D2F: B9 91 9C LDA.W DATA_049C91,Y CODE_049D32: A8 TAY CODE_049D33: E2 20 SEP #$20 ; Accum (8 bit) CODE_049D35: B9 C5 9A LDA.W LevelNameStrings,Y CODE_049D38: 30 03 BMI CODE_049D3D CODE_049D3A: 20 7F 9D JSR.W CODE_049D7F CODE_049D3D: C2 20 REP #$20 ; Accum (16 bit) CODE_049D3F: A5 00 LDA $00 CODE_049D41: 29 F0 00 AND.W #$00F0 CODE_049D44: 4A LSR CODE_049D45: 4A LSR CODE_049D46: 4A LSR CODE_049D47: A8 TAY CODE_049D48: B9 CF 9C LDA.W DATA_049CCF,Y CODE_049D4B: A8 TAY CODE_049D4C: E2 20 SEP #$20 ; Accum (8 bit) CODE_049D4E: B9 C5 9A LDA.W LevelNameStrings,Y CODE_049D51: C9 9F CMP.B #$9F CODE_049D53: F0 03 BEQ CODE_049D58 CODE_049D55: 20 7F 9D JSR.W CODE_049D7F CODE_049D58: C2 20 REP #$20 ; Accum (16 bit) CODE_049D5A: A5 00 LDA $00 CODE_049D5C: 29 0F 00 AND.W #$000F CODE_049D5F: 0A ASL CODE_049D60: A8 TAY CODE_049D61: B9 ED 9C LDA.W DATA_049CED,Y CODE_049D64: A8 TAY CODE_049D65: E2 20 SEP #$20 ; Accum (8 bit) CODE_049D67: 20 7F 9D JSR.W CODE_049D7F CODE_049D6A: E4 02 CPX $02 CODE_049D6C: B0 08 BCS CODE_049D76 CODE_049D6E: A0 CB 01 LDY.W #$01CB CODE_049D71: 20 7F 9D JSR.W CODE_049D7F CODE_049D74: 80 F4 BRA CODE_049D6A CODE_049D76: A9 FF LDA.B #$FF CODE_049D78: 9F 81 83 7F STA.L $7F8381,X CODE_049D7C: C2 20 REP #$20 ; Accum (16 bit) Return049D7E: 60 RTS ; Return CODE_049D7F: B9 C5 9A LDA.W LevelNameStrings,Y ; Index (8 bit) Accum (8 bit) CODE_049D82: 08 PHP CODE_049D83: E4 02 CPX $02 CODE_049D85: B0 0E BCS CODE_049D95 CODE_049D87: 29 7F AND.B #$7F CODE_049D89: 9F 81 83 7F STA.L $7F8381,X CODE_049D8D: A9 39 LDA.B #$39 CODE_049D8F: 9F 82 83 7F STA.L $7F8382,X CODE_049D93: E8 INX CODE_049D94: E8 INX CODE_049D95: C8 INY CODE_049D96: 28 PLP CODE_049D97: 10 E6 BPL CODE_049D7F Return049D99: 60 RTS ; Return CODE_049D9A: AD B2 0D LDA.W $0DB2 CODE_049D9D: F0 10 BEQ CODE_049DAF CODE_049D9F: AD B3 0D LDA.W $0DB3 CODE_049DA2: 49 01 EOR.B #$01 CODE_049DA4: AA TAX CODE_049DA5: BD B4 0D LDA.W RAM_PlayerLives,X CODE_049DA8: 30 05 BMI CODE_049DAF CODE_049DAA: AD D5 0D LDA.W $0DD5 CODE_049DAD: D0 0D BNE CODE_049DBC CODE_049DAF: A9 03 LDA.B #$03 CODE_049DB1: 8D D9 13 STA.W $13D9 CODE_049DB4: 9C D5 0D STZ.W $0DD5 CODE_049DB7: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_049DB9: 4C 31 98 JMP.W CODE_049831 CODE_049DBC: CE B1 0D DEC.W $0DB1 ; Index (8 bit) Accum (8 bit) CODE_049DBF: 10 0B BPL CODE_049DCC CODE_049DC1: A9 02 LDA.B #$02 CODE_049DC3: 8D B1 0D STA.W $0DB1 CODE_049DC6: 9C D5 0D STZ.W $0DD5 CODE_049DC9: EE D9 13 INC.W $13D9 CODE_049DCC: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_049DCE: 4C 31 98 JMP.W CODE_049831 CODE_049DD1: AD B3 0D LDA.W $0DB3 ; Index (8 bit) Accum (8 bit) CODE_049DD4: 49 01 EOR.B #$01 CODE_049DD6: 8D B3 0D STA.W $0DB3 CODE_049DD9: AA TAX CODE_049DDA: BD B6 0D LDA.W RAM_PlayerCoins,X CODE_049DDD: 8D BF 0D STA.W RAM_StatusCoins CODE_049DE0: BD B4 0D LDA.W RAM_PlayerLives,X CODE_049DE3: 8D BE 0D STA.W RAM_StatusLives CODE_049DE6: BD B8 0D LDA.W RAM_PlayerPowerUp,X CODE_049DE9: 85 19 STA RAM_MarioPowerUp CODE_049DEB: BD BA 0D LDA.W RAM_PlyrYoshiColor,X CODE_049DEE: 8D C1 0D STA.W RAM_OWHasYoshi CODE_049DF1: 8D C7 13 STA.W RAM_YoshiColor CODE_049DF4: 8D 7A 18 STA.W RAM_OnYoshi CODE_049DF7: BD BC 0D LDA.W $0DBC,X CODE_049DFA: 8D C2 0D STA.W $0DC2 CODE_049DFD: 22 F2 DB 05 JSL.L CODE_05DBF2 CODE_049E01: C2 20 REP #$20 ; Accum (16 bit) CODE_049E03: 20 55 8E JSR.W CODE_048E55 CODE_049E06: E2 20 SEP #$20 ; Accum (8 bit) CODE_049E08: AE B3 0D LDX.W $0DB3 CODE_049E0B: BD 11 1F LDA.W $1F11,X CODE_049E0E: 8D C3 13 STA.W $13C3 CODE_049E11: 9C C4 13 STZ.W $13C4 CODE_049E14: A9 02 LDA.B #$02 CODE_049E16: 8D B1 0D STA.W $0DB1 CODE_049E19: A9 0A LDA.B #$0A CODE_049E1B: 8D D9 13 STA.W $13D9 CODE_049E1E: EE D8 0D INC.W $0DD8 Return049E21: 60 RTS ; Return CODE_049E22: CE B1 0D DEC.W $0DB1 CODE_049E25: 10 24 BPL Return049E4B CODE_049E27: A9 02 LDA.B #$02 CODE_049E29: 8D B1 0D STA.W $0DB1 CODE_049E2C: AE AF 0D LDX.W $0DAF CODE_049E2F: AD AE 0D LDA.W $0DAE CODE_049E32: 18 CLC CODE_049E33: 7F 2F 9F 00 ADC.L DATA_009F2F,X CODE_049E37: 8D AE 0D STA.W $0DAE CODE_049E3A: DF 33 9F 00 CMP.L DATA_009F33,X CODE_049E3E: D0 0B BNE Return049E4B CODE_049E40: EE D9 13 INC.W $13D9 CODE_049E43: AD AF 0D LDA.W $0DAF CODE_049E46: 49 01 EOR.B #$01 CODE_049E48: 8D AF 0D STA.W $0DAF Return049E4B: 60 RTS ; Return CODE_049E4C: A9 03 LDA.B #$03 CODE_049E4E: 8D D9 13 STA.W $13D9 Return049E51: 60 RTS ; Return CODE_049E52: AD F7 1D LDA.W $1DF7 CODE_049E55: D0 0C BNE CODE_049E63 CODE_049E57: EE F8 1D INC.W $1DF8 CODE_049E5A: AD F8 1D LDA.W $1DF8 CODE_049E5D: C9 31 CMP.B #$31 CODE_049E5F: D0 32 BNE CODE_049E93 CODE_049E61: 80 06 BRA CODE_049E69 CODE_049E63: A5 13 LDA RAM_FrameCounter CODE_049E65: 29 07 AND.B #$07 CODE_049E67: D0 0F BNE CODE_049E78 CODE_049E69: EE F7 1D INC.W $1DF7 CODE_049E6C: AD F7 1D LDA.W $1DF7 CODE_049E6F: C9 05 CMP.B #$05 CODE_049E71: D0 05 BNE CODE_049E78 CODE_049E73: A9 04 LDA.B #$04 CODE_049E75: 8D F7 1D STA.W $1DF7 CODE_049E78: C2 20 REP #$20 ; Accum (16 bit) CODE_049E7A: AD F7 1D LDA.W $1DF7 CODE_049E7D: 29 FF 00 AND.W #$00FF CODE_049E80: 85 00 STA $00 CODE_049E82: AE D6 0D LDX.W $0DD6 CODE_049E85: BD 19 1F LDA.W $1F19,X CODE_049E88: 38 SEC CODE_049E89: E5 00 SBC $00 CODE_049E8B: 9D 19 1F STA.W $1F19,X CODE_049E8E: 38 SEC CODE_049E8F: E5 1C SBC RAM_ScreenBndryYLo CODE_049E91: 30 03 BMI CODE_049E96 CODE_049E93: E2 20 SEP #$20 ; Accum (8 bit) Return049E95: 60 RTS ; Return CODE_049E96: E2 20 SEP #$20 ; Accum (8 bit) CODE_049E98: 4C 8D 91 JMP.W CODE_04918D ADDR_049E9B: A0 00 LDY.B #$00 ; \ Unreachable ADDR_049E9D: C9 0A CMP.B #$0A ; | While A >= #$0A... ADDR_049E9F: 90 05 BCC Return049EA6 ; | ADDR_049EA1: E9 0A SBC.B #$0A ; | A -= #$0A ADDR_049EA3: C8 INY ; | Y++ ADDR_049EA4: 80 F7 BRA ADDR_049E9D ; / Return049EA6: 60 RTS ; / Return DATA_049EA7: .db $10,$F8,$10,$00,$10,$FC,$10,$00 .db $10,$FC,$10,$00,$08,$FC,$0C,$F4 .db $FC,$04,$04,$FC,$F8,$10,$00,$10 .db $FC,$08,$FC,$08,$FC,$10,$00,$10 .db $F8,$04,$FC,$10,$00,$10,$10,$08 .db $10,$04,$10,$04,$08,$04,$0C,$0C .db $04,$04,$04,$04,$08,$10,$FC,$F8 .db $FC,$F8,$04,$10,$F8,$FC,$04,$10 .db $F4,$F4,$0C,$F4,$10,$00,$00,$10 .db $00,$10,$10,$00,$10,$00,$FC,$08 .db $FC,$08,$00,$10,$10,$FC,$10,$FC .db $FC,$04,$04,$FC,$F8,$10,$00,$10 .db $FC,$10,$10,$04,$10,$00,$04,$10 .db $04,$04,$FC,$F8,$04,$04,$10,$08 .db $0C,$F4,$00,$10,$FC,$10,$10,$00 .db $04,$10,$10,$F8,$00,$10,$00,$10 .db $FC,$10,$10,$00,$00,$10,$00,$10 .db $00,$10,$00,$10,$00,$10,$00,$10 .db $04,$FC,$04,$04,$04,$04,$00,$10 .db $00,$10,$10,$00,$10,$00,$FC,$10 .db $FC,$04 DATA_049F49: .db $01,$00,$01,$00,$01,$00,$01,$00 .db $01,$00,$01,$00,$00,$01,$00,$01 .db $00,$01,$00,$01,$01,$00,$01,$00 .db $00,$01,$01,$00,$01,$00,$01,$00 .db $00,$01,$01,$00,$01,$00,$01,$00 .db $01,$00,$01,$00,$01,$00,$01,$00 .db $01,$00,$01,$00,$01,$00,$00,$01 .db $00,$01,$01,$00,$00,$01,$01,$00 .db $00,$01,$01,$00,$01,$00,$01,$00 .db $01,$00,$01,$00,$01,$00,$00,$01 .db $01,$00,$01,$00,$01,$00,$01,$00 .db $00,$01,$00,$01,$01,$00,$01,$00 .db $01,$00,$01,$00,$01,$00,$01,$00 .db $01,$00,$00,$01,$01,$00,$01,$00 .db $01,$00,$01,$00,$01,$00,$01,$00 .db $01,$00,$01,$00,$01,$00,$01,$00 .db $01,$00,$01,$00,$01,$00,$01,$00 .db $01,$00,$01,$00,$01,$00,$01,$00 .db $00,$01,$01,$00,$01,$00,$01,$00 .db $01,$00,$01,$00,$01,$00,$01,$00 .db $00,$01 DATA_049FEB: .db $04,$04,$04,$04,$04,$04,$04,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $04,$00,$00,$04,$04,$04,$04,$00 .db $00,$00,$00,$00,$00,$00,$04,$00 .db $00,$00,$04,$00,$00,$04,$04,$08 .db $08,$08,$0C,$0C,$08,$08,$08,$08 .db $08,$0C,$0C,$08,$08,$08,$08,$0C .db $08,$08,$08,$0C,$08,$0C,$14,$14 .db $14,$04,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$04,$04,$08 .db $00 DATA_04A03C: .db $07,$09,$0A,$0D,$0E,$11,$17,$19 .db $1A,$1C,$1D,$1F,$28,$29,$2D,$2E .db $35,$36,$37,$49,$4A,$4B,$4D,$51 DATA_04A054: .db $08,$FC,$FC,$08,$FC,$08,$FC,$08 .db $FC,$08,$04,$00,$08,$04,$04,$08 .db $04,$08,$04,$00,$04,$08,$04,$00 .db $FC,$08,$00,$00,$FC,$08,$FC,$08 .db $04,$00,$04,$00,$00,$00,$08,$FC .db $08,$04,$08,$04,$FC,$08,$08,$FC DATA_04A084: .db $04,$00 DATA_04A086: .db $F8,$FF,$08,$00,$FC,$FF,$F8,$FF .db $04,$00,$F8,$FF,$04,$00,$08,$00 .db $FC,$FF,$04,$00,$04,$00,$04,$00 .db $08,$00,$08,$00,$04,$00,$F8,$FF .db $FC,$FF,$00,$00,$00,$00,$08,$00 .db $04,$00,$04,$00,$04,$00,$F8,$FF .db $04,$00,$04,$00,$04,$00,$08,$00 .db $FC,$FF,$F8,$FF,$04,$00,$04,$00 .db $04,$00,$00,$00,$00,$00,$04,$00 .db $04,$00,$04,$00,$F8,$FF,$04,$00 .db $08,$00,$FC,$FF,$F8,$FF,$F8,$FF .db $04,$00,$FC,$FF,$08,$00 DATA_04A0E4: .db $02,$02,$02,$02,$02,$00,$02,$02 .db $02,$00,$02,$00,$02,$00,$02,$02 .db $00,$00,$00,$02,$02,$02,$02,$02 LevelNames: .db $00,$00,$72,$0D,$73,$0D,$00,$0C .db $60,$0A,$53,$0A,$54,$0A,$40,$04 .db $30,$0B,$52,$0A,$71,$0A,$90,$0D .db $01,$11,$02,$11,$40,$06,$07,$12 .db $00,$14,$00,$13,$C0,$02,$7C,$0A .db $33,$0E,$51,$0A,$C0,$02,$53,$04 .db $00,$18,$53,$04,$40,$08,$90,$16 .db $25,$16,$24,$16,$C0,$02,$90,$15 .db $40,$07,$00,$17,$21,$16,$23,$16 .db $22,$16,$40,$03,$24,$01,$23,$01 .db $10,$01,$21,$01,$22,$01,$60,$0D .db $C0,$02,$71,$0D,$83,$0D,$72,$0A .db $C0,$02,$00,$1B,$00,$1A,$B4,$19 .db $40,$09,$90,$19,$00,$00,$B3,$19 .db $60,$19,$B2,$19,$B1,$19,$70,$16 .db $82,$0D,$84,$0D,$81,$0D,$30,$0F .db $40,$05,$60,$15,$A1,$15,$A4,$15 .db $A2,$15,$30,$10,$77,$15,$A3,$15 .db $C0,$02,$0B,$00,$0A,$00,$09,$00 .db $08,$00,$C0,$02,$00,$1C,$00,$1D .db $00,$1E,$E0,$00,$C0,$02,$C0,$02 .db $D2,$02,$C0,$02,$D3,$02,$C0,$02 .db $D1,$02,$D4,$02,$D5,$02,$C0,$02 .db $C0,$02,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF DATA_04A400: .db $50,$00,$41,$3E,$FE,$38,$50,$A0; Whew, big table .db $C0,$28,$FE,$38,$50,$A1,$C0,$28; I didn't partition it right, but I'm not going to count byte by byte :\ .db $FE,$38,$50,$BE,$C0,$28,$FE,$38 .db $50,$BF,$C0,$28,$FE,$38,$53,$40 .db $41,$7E,$FE,$38,$50,$A2,$00,$01 .db $92,$3C,$50,$A3,$40,$32,$93,$3C .db $50,$BD,$00,$01,$92,$7C,$50,$C2 .db $C0,$24,$94,$7C,$50,$DD,$C0,$24 .db $94,$3C,$53,$22,$00,$01,$92,$BC .db $53,$23,$40,$32,$93,$BC,$53,$3D .db $00,$01,$92,$FC,$50,$FE,$C0,$24 .db $D6,$2C,$53,$44,$40,$32,$D5,$2C .db $50,$DE,$00,$01,$D4,$2C,$53,$43 .db $00,$01,$D4,$EC,$53,$5E,$00,$01 .db $D4,$AC,$50,$02,$00,$01,$95,$38 .db $50,$09,$00,$01,$97,$38,$50,$0E .db $00,$01,$96,$38,$50,$33,$00,$01 .db $97,$38,$50,$37,$00,$01,$95,$38 .db $50,$3B,$00,$01,$96,$38,$50,$42 .db $00,$01,$96,$38,$50,$50,$00,$01 .db $95,$38,$50,$55,$00,$01,$96,$38 .db $50,$5E,$00,$01,$95,$38,$51,$01 .db $00,$01,$97,$38,$51,$5F,$00,$01 .db $96,$38,$51,$81,$00,$01,$95,$38 .db $51,$C0,$00,$01,$96,$38,$51,$FF .db $00,$01,$97,$38,$52,$60,$00,$01 .db $95,$38,$52,$7F,$00,$01,$95,$38 .db $53,$00,$00,$01,$97,$38,$53,$1F .db $00,$01,$96,$38,$53,$61,$00,$01 .db $95,$38,$53,$6A,$00,$01,$95,$38 .db $53,$73,$00,$01,$96,$38,$53,$76 .db $00,$01,$95,$38,$53,$86,$00,$01 .db $96,$38,$53,$91,$00,$01,$95,$38 .db $53,$9A,$00,$01,$97,$38,$53,$9E .db $00,$01,$95,$38,$50,$23,$C0,$06 .db $FC,$2C,$50,$24,$C0,$06,$FC,$2C .db $50,$25,$C0,$06,$FC,$2C,$50,$26 .db $C0,$06,$FC,$2C,$50,$87,$00,$01 .db $8F,$38,$FF,$9B,$75,$81,$20,$01 .db $76,$20,$9B,$75,$81,$20,$01,$76 .db $20,$9A,$75,$00,$10,$81,$20,$01 .db $76,$20,$94,$75,$00,$01,$81,$02 .db $81,$01,$05,$02,$11,$50,$20,$7D .db $20,$92,$75,$02,$10,$03,$11,$81 .db $71,$81,$11,$81,$71,$03,$11,$43 .db $10,$9C,$91,$75,$01,$10,$11,$89 .db $71,$01,$11,$10,$89,$75,$04,$01 .db $02,$03,$02,$01,$82,$75,$01,$3D .db $71,$83,$AD,$81,$8A,$81,$AD,$81 .db $8A,$01,$11,$10,$89,$75,$00,$3D .db $82,$71,$00,$3D,$82,$75,$01,$3D .db $71,$83,$AD,$81,$8A,$81,$AD,$81 .db $8A,$01,$3D,$3F,$89,$75,$00,$00 .db $81,$43,$01,$42,$40,$81,$75,$01 .db $10,$00,$83,$43,$00,$11,$85,$71 .db $01,$11,$10,$88,$75,$01,$11,$20 .db $82,$69,$03,$20,$11,$75,$3D,$81 .db $20,$82,$69,$00,$00,$81,$43,$00 .db $11,$83,$71,$00,$3D,$88,$75,$01 .db $11,$50,$81,$69,$04,$41,$42,$11 .db $75,$3D,$81,$20,$81,$69,$01,$20 .db $69,$81,$20,$00,$50,$83,$43,$00 .db $10,$89,$75,$00,$11,$81,$43,$00 .db $11,$82,$75,$02,$3D,$50,$20,$82 .db $69,$81,$20,$01,$69,$20,$82,$69 .db $01,$20,$76,$86,$75,$01,$54,$55 .db $87,$75,$01,$00,$11,$83,$43,$00 .db $50,$81,$20,$83,$69,$01,$20,$76 .db $86,$75,$03,$9E,$9F,$06,$05,$85 .db $03,$01,$20,$50,$83,$43,$00,$11 .db $81,$43,$00,$50,$82,$69,$01,$20 .db $7D,$84,$75,$04,$01,$02,$9E,$9F .db $58,$81,$71,$02,$BA,$BD,$BF,$81 .db $71,$81,$20,$83,$69,$03,$50,$11 .db $71,$11,$82,$43,$01,$9C,$10,$84 .db $75,$0E,$3D,$71,$9E,$9F,$71,$58 .db $71,$BD,$BF,$BA,$71,$11,$20,$69 .db $20,$83,$69,$00,$50,$83,$43,$02 .db $10,$9C,$43,$84,$75,$04,$3D,$58 .db $9E,$9F,$71,$81,$58,$06,$BF,$71 .db $BD,$71,$11,$50,$20,$84,$69,$00 .db $20,$82,$69,$03,$20,$76,$20,$69 .db $83,$75,$05,$10,$11,$58,$9E,$9F .db $58,$81,$71,$07,$58,$BA,$BD,$BF .db $71,$11,$50,$20,$84,$69,$00,$20 .db $81,$69,$03,$20,$76,$20,$69,$82 .db $75,$06,$10,$11,$56,$57,$9E,$9F .db $58,$82,$71,$02,$BD,$71,$BA,$81 .db $71,$81,$58,$04,$43,$58,$43,$50 .db $20,$82,$69,$03,$20,$76,$20,$69 .db $82,$75,$05,$3D,$58,$9E,$9F,$64 .db $65,$84,$71,$81,$BD,$00,$BF,$83 .db $58,$04,$71,$58,$11,$50,$20,$81 .db $69,$03,$20,$76,$20,$69,$82,$75 .db $03,$3D,$71,$64,$65,$81,$71,$00 .db $6E,$81,$6B,$05,$6E,$BD,$BF,$BA .db $BD,$58,$81,$8A,$01,$AD,$8E,$81 .db $58,$07,$11,$43,$BC,$3D,$20,$7D .db $20,$69,$82,$75,$01,$00,$11,$81 .db $71,$01,$AE,$BC,$83,$68,$04,$BA .db $BD,$11,$43,$11,$81,$8A,$09,$AD .db $8A,$8F,$53,$52,$71,$BC,$3D,$43 .db $3F,$81,$43,$82,$75,$06,$20,$50 .db $11,$8F,$9B,$71,$6E,$81,$6B,$05 .db $6E,$11,$43,$00,$69,$00,$81,$43 .db $08,$58,$8F,$9B,$63,$62,$71,$BC .db $71,$10,$82,$3F,$82,$75,$02,$20 .db $50,$11,$81,$AC,$01,$58,$11,$82 .db $43,$04,$00,$69,$50,$43,$50,$81 .db $20,$04,$50,$58,$9B,$8F,$6C,$81 .db $68,$01,$6C,$3D,$82,$3F,$82,$75 .db $02,$00,$11,$58,$81,$AC,$09,$11 .db $50,$20,$69,$20,$50,$43,$11,$3F .db $11,$81,$43,$03,$50,$3D,$8A,$BC .db $83,$68,$00,$6C,$82,$03,$81,$75 .db $03,$10,$11,$56,$57,$81,$AC,$01 .db $3D,$50,$82,$43,$00,$11,$85,$3F .db $03,$10,$11,$8A,$BC,$84,$68,$81 .db $71,$00,$43,$81,$75,$03,$3D,$58 .db $64,$65,$81,$8A,$01,$11,$10,$87 .db $3F,$03,$10,$03,$52,$53,$81,$71 .db $00,$6C,$82,$68,$03,$6C,$11,$00 .db $69,$81,$75,$03,$3D,$71,$56,$57 .db $81,$8A,$01,$58,$3D,$86,$3F,$00 .db $10,$81,$8F,$0B,$62,$63,$52,$53 .db $71,$52,$53,$71,$11,$50,$69,$20 .db $81,$75,$03,$00,$11,$64,$65,$81 .db $AC,$02,$11,$00,$11,$84,$3F,$0F .db $10,$52,$53,$71,$8E,$71,$62,$63 .db $52,$51,$63,$11,$50,$69,$20,$69 .db $81,$75,$03,$20,$3D,$71,$58,$81 .db $AC,$02,$3D,$50,$11,$84,$3F,$04 .db $3D,$62,$63,$71,$8E,$82,$71,$03 .db $62,$63,$42,$41,$82,$69,$00,$20 .db $81,$75,$03,$20,$3D,$58,$71,$81 .db $AC,$00,$3D,$83,$3F,$00,$10,$81 .db $03,$0A,$11,$52,$53,$52,$53,$71 .db $52,$53,$11,$50,$20,$82,$69,$07 .db $50,$43,$75,$11,$20,$00,$11,$71 .db $81,$AC,$01,$11,$10,$82,$3F,$00 .db $3D,$81,$71,$09,$52,$51,$63,$62 .db $63,$52,$51,$63,$3A,$20,$82,$69 .db $03,$50,$11,$75,$20,$9E,$75,$00 .db $20,$9E,$75,$01,$20,$10,$95,$75 .db $03,$E2,$E5,$F5,$F6,$83,$75,$02 .db $50,$11,$10,$90,$75,$07,$01,$02 .db $03,$05,$84,$32,$33,$C4,$83,$75 .db $03,$11,$71,$11,$10,$8D,$75,$02 .db $01,$02,$11,$82,$71,$04,$35,$36 .db $37,$38,$01,$82,$75,$01,$10,$03 .db $81,$11,$00,$10,$8B,$75,$01,$10 .db $11,$84,$71,$05,$49,$4A,$59,$5A .db $11,$10,$81,$75,$81,$3F,$02,$10 .db $71,$3D,$8B,$75,$02,$3D,$AD,$5D .db $84,$68,$00,$5D,$82,$71,$00,$3D .db $81,$75,$82,$3F,$81,$3D,$8B,$75 .db $01,$3D,$AD,$86,$68,$81,$71,$01 .db $11,$00,$81,$75,$81,$3F,$02,$10 .db $11,$00,$87,$75,$01,$01,$02,$81 .db $03,$02,$00,$11,$5D,$84,$68,$04 .db $5D,$71,$11,$50,$20,$81,$75,$05 .db $3F,$10,$11,$50,$20,$10,$85,$75 .db $01,$10,$11,$82,$71,$04,$20,$50 .db $44,$43,$44,$81,$43,$05,$44,$43 .db $42,$40,$69,$20,$81,$75,$05,$9C .db $43,$50,$69,$20,$3D,$85,$A4,$01 .db $3D,$AD,$81,$8A,$03,$11,$20,$69 .db $20,$87,$69,$81,$20,$81,$75,$81 .db $20,$81,$69,$01,$50,$3D,$81,$B4 .db $01,$B5,$A5,$81,$B4,$01,$3D,$AD .db $81,$8A,$02,$11,$50,$20,$87,$69 .db $0A,$20,$69,$20,$10,$75,$20,$69 .db $20,$50,$11,$4D,$85,$75,$01,$4D .db $71,$81,$AC,$03,$71,$11,$50,$20 .db $87,$69,$81,$20,$01,$11,$10,$81 .db $20,$00,$50,$81,$11,$01,$00,$02 .db $82,$03,$05,$02,$01,$3D,$71,$8F .db $9B,$81,$71,$01,$11,$44,$81,$43 .db $00,$60,$83,$69,$04,$20,$69,$20 .db $71,$3D,$81,$43,$81,$11,$02,$50 .db $20,$11,$82,$43,$81,$11,$03,$00 .db $11,$71,$AE,$83,$BC,$02,$AE,$11 .db $00,$84,$69,$0A,$20,$50,$58,$4D .db $43,$11,$71,$3D,$69,$20,$41,$82 .db $69,$07,$41,$42,$20,$41,$42,$44 .db $43,$44,$81,$43,$02,$44,$50,$20 .db $83,$69,$0B,$20,$50,$11,$71,$3D .db $20,$50,$43,$00,$69,$20,$42,$82 .db $43,$02,$42,$41,$20,$81,$69,$00 .db $20,$84,$69,$81,$20,$82,$69,$0B .db $41,$42,$11,$58,$71,$4D,$69,$20 .db $69,$20,$69,$20,$85,$73,$02,$20 .db $69,$20,$84,$69,$02,$20,$69,$20 .db $82,$43,$00,$11,$81,$58,$03,$71 .db $58,$3D,$20,$81,$69,$03,$20,$69 .db $50,$11,$83,$3F,$01,$11,$20,$81 .db $69,$00,$20,$84,$69,$02,$20,$50 .db $58,$81,$AC,$81,$89,$81,$58,$07 .db $11,$00,$69,$20,$69,$20,$50,$11 .db $84,$3F,$03,$11,$50,$69,$20,$84 .db $69,$01,$20,$50,$81,$89,$81,$AC .db $81,$99,$81,$89,$00,$3D,$81,$20 .db $81,$69,$01,$20,$11,$86,$3F,$04 .db $11,$42,$41,$20,$60,$83,$43,$00 .db $11,$81,$99,$81,$AC,$81,$89,$81 .db $99,$06,$3D,$20,$43,$50,$69,$50 .db $11,$88,$3F,$03,$11,$43,$3D,$71 .db $81,$89,$01,$71,$58,$81,$89,$81 .db $8F,$09,$99,$98,$89,$71,$3D,$20 .db $3F,$11,$43,$11,$8A,$3F,$02,$10 .db $11,$58,$81,$99,$81,$89,$01,$99 .db $98,$82,$89,$81,$99,$02,$58,$3D .db $50,$82,$3F,$81,$10,$83,$3F,$81 .db $10,$82,$3F,$01,$10,$11,$81,$89 .db $04,$58,$89,$98,$99,$89,$82,$98 .db $00,$99,$81,$89,$02,$58,$4D,$11 .db $82,$03,$02,$11,$00,$11,$81,$3F .db $00,$10,$81,$11,$82,$03,$04,$11 .db $58,$99,$98,$89,$81,$99,$00,$89 .db $83,$98,$00,$89,$81,$99,$02,$71 .db $4D,$75,$82,$43,$81,$50,$02,$11 .db $3F,$9C,$82,$43,$02,$11,$71,$58 .db $82,$89,$01,$98,$99,$81,$89,$85 .db $99,$00,$58,$81,$89,$01,$11,$10 .db $81,$69,$81,$20,$82,$76,$00,$20 .db $81,$69,$03,$20,$50,$11,$71,$82 .db $99,$03,$98,$89,$99,$98,$86,$89 .db $81,$99,$01,$58,$3D,$81,$69,$81 .db $20,$82,$76,$00,$20,$82,$69,$03 .db $20,$41,$42,$11,$81,$89,$81,$99 .db $01,$89,$98,$81,$99,$81,$98,$82 .db $99,$81,$89,$01,$58,$3D,$81,$69 .db $81,$20,$82,$7D,$00,$20,$81,$69 .db $00,$20,$82,$69,$00,$3D,$81,$99 .db $81,$89,$01,$99,$98,$81,$89,$81 .db $98,$06,$89,$3B,$89,$98,$99,$11 .db $00,$81,$69,$05,$20,$50,$11,$3F .db $11,$20,$82,$69,$00,$20,$81,$69 .db $06,$3D,$71,$58,$99,$98,$89,$99 .db $83,$98,$01,$99,$89,$81,$98,$02 .db $89,$3D,$20,$82,$43,$00,$11,$81 .db $3F,$00,$11,$83,$43,$03,$50,$41 .db $42,$11,$82,$89,$82,$98,$82,$99 .db $01,$98,$89,$83,$99,$01,$3D,$20 .db $87,$75,$04,$08,$07,$06,$05,$11 .db $81,$58,$84,$99,$00,$98,$82,$89 .db $81,$99,$81,$89,$09,$58,$71,$3D .db $20,$75,$11,$50,$20,$3D,$71,$81 .db $AC,$01,$71,$11,$82,$03,$00,$11 .db $81,$71,$01,$62,$63,$82,$71,$08 .db $62,$63,$11,$2A,$69,$20,$69,$50 .db $11,$83,$75,$05,$11,$20,$00,$11 .db $8F,$9B,$84,$71,$00,$5D,$81,$68 .db $00,$5D,$82,$71,$03,$58,$71,$11 .db $50,$81,$20,$02,$41,$42,$11,$85 .db $75,$06,$00,$43,$23,$30,$AE,$AF .db $AD,$81,$8A,$01,$71,$5D,$81,$68 .db $00,$5D,$83,$71,$05,$11,$50,$20 .db $69,$2A,$11,$86,$75,$01,$10,$11 .db $81,$71,$03,$11,$30,$8E,$AD,$81 .db $8A,$01,$52,$53,$81,$71,$81,$58 .db $03,$71,$58,$11,$50,$81,$69,$01 .db $20,$3A,$81,$75,$01,$A6,$A7,$83 .db $75,$01,$00,$11,$81,$71,$03,$11 .db $00,$52,$53,$81,$AC,$02,$62,$63 .db $71,$81,$58,$03,$11,$43,$42,$41 .db $81,$69,$08,$20,$50,$11,$A6,$A7 .db $B6,$B7,$A6,$A7,$81,$75,$01,$20 .db $50,$81,$43,$03,$50,$20,$62,$63 .db $81,$AC,$00,$71,$81,$58,$03,$71 .db $11,$50,$20,$83,$69,$04,$50,$11 .db $75,$B6,$B7,$81,$3F,$01,$B6,$B7 .db $81,$75,$01,$20,$69,$81,$3E,$0C .db $69,$20,$42,$44,$43,$44,$43,$44 .db $43,$42,$41,$69,$20,$82,$69,$03 .db $50,$11,$A6,$A7,$85,$3F,$81,$75 .db $01,$20,$69,$81,$3E,$00,$69,$82 .db $20,$84,$69,$00,$20,$81,$69,$00 .db $20,$81,$69,$04,$50,$11,$75,$B6 .db $B7,$85,$3F,$81,$75,$01,$20,$69 .db $81,$3E,$03,$69,$20,$69,$20,$83 .db $69,$00,$20,$82,$69,$05,$20,$41 .db $42,$11,$A6,$A7,$87,$3F,$81,$75 .db $01,$20,$69,$81,$3E,$00,$69,$81 .db $20,$85,$69,$04,$20,$69,$50,$43 .db $11,$81,$75,$01,$B6,$B7,$87,$3F .db $81,$75,$01,$20,$69,$81,$3E,$03 .db $69,$20,$41,$20,$83,$69,$03,$20 .db $41,$42,$11,$83,$75,$01,$A6,$A7 .db $87,$3F,$81,$75,$01,$20,$69,$81 .db $3E,$02,$69,$20,$11,$85,$43,$00 .db $11,$85,$75,$01,$B6,$B7,$87,$3F .db $81,$75,$01,$20,$69,$81,$3E,$08 .db $69,$20,$03,$04,$03,$04,$03,$02 .db $01,$87,$75,$01,$A6,$A7,$86,$3F .db $03,$75,$10,$20,$C2,$81,$C3,$03 .db $C2,$20,$56,$57,$82,$71,$02,$56 .db $57,$10,$86,$75,$03,$B6,$B7,$A6 .db $A7,$83,$3F,$04,$A6,$75,$4D,$50 .db $D2,$81,$D3,$03,$D2,$50,$9E,$9F .db $82,$71,$02,$9E,$9F,$3D,$88,$75 .db $0A,$B6,$B7,$3F,$A6,$A7,$3F,$B6 .db $75,$3D,$11,$20,$81,$3E,$03,$20 .db $11,$9E,$9F,$82,$71,$02,$64,$65 .db $4D,$8B,$75,$01,$B6,$B7,$82,$75 .db $02,$4D,$11,$50,$81,$3E,$05,$50 .db $11,$9E,$9F,$56,$57,$81,$71,$01 .db $58,$3D,$90,$75,$02,$3D,$58,$11 .db $81,$43,$06,$11,$58,$64,$65,$9E .db $9F,$71,$81,$58,$00,$3D,$83,$75 .db $81,$60,$8A,$75,$00,$00,$81,$43 .db $00,$11,$83,$71,$03,$58,$64,$65 .db $11,$81,$43,$00,$00,$83,$75,$02 .db $3D,$11,$60,$83,$75,$02,$60,$03 .db $60,$82,$75,$81,$20,$01,$69,$3D .db $86,$71,$00,$3D,$81,$69,$00,$20 .db $83,$75,$00,$60,$81,$11,$00,$60 .db $81,$75,$03,$60,$11,$A6,$A7,$81 .db $03,$00,$75,$81,$20,$01,$69,$00 .db $81,$43,$05,$44,$43,$44,$43,$44 .db $00,$81,$69,$00,$20,$83,$75,$03 .db $20,$3D,$A6,$A7,$81,$03,$06,$11 .db $A6,$A9,$B7,$A6,$A7,$11,$81,$20 .db $00,$69,$81,$20,$84,$69,$81,$20 .db $81,$69,$01,$20,$11,$82,$75,$03 .db $60,$11,$B6,$B7,$82,$71,$08,$B6 .db $A8,$A7,$B6,$A8,$11,$50,$20,$69 .db $81,$20,$84,$69,$81,$20,$81,$69 .db $01,$50,$11,$81,$75,$01,$60,$11 .db $84,$71,$07,$A6,$A7,$B6,$B7,$71 .db $B6,$75,$11,$81,$43,$81,$20,$84 .db $69,$81,$20,$81,$43,$00,$11,$82 .db $75,$02,$60,$11,$58,$83,$71,$02 .db $B6,$B7,$58,$82,$71,$82,$75,$02 .db $11,$50,$20,$84,$69,$02,$20,$50 .db $11,$84,$75,$0C,$20,$3D,$58,$A6 .db $A7,$A6,$A7,$A6,$A7,$A6,$A7,$A6 .db $A7,$83,$75,$00,$11,$86,$43,$00 .db $11,$85,$75,$0C,$60,$11,$A6,$A9 .db $B7,$B6,$B7,$B6,$B7,$B6,$B7,$B6 .db $B7,$92,$75,$04,$60,$11,$B6,$A8 .db $A7,$81,$71,$05,$A6,$A7,$A6,$A7 .db $A6,$A7,$8D,$75,$11,$A6,$A7,$75 .db $A6,$A7,$20,$60,$11,$B6,$A8,$A7 .db $71,$B6,$B7,$B6,$B7,$B6,$B7,$8D .db $75,$04,$B6,$B7,$A6,$A9,$B7,$81 .db $20,$05,$60,$11,$B6,$B7,$11,$43 .db $81,$11,$81,$43,$00,$11,$8C,$75 .db $05,$A6,$A7,$A6,$A9,$B7,$3F,$82 .db $20,$00,$60,$81,$43,$01,$60,$69 .db $81,$3D,$81,$69,$00,$3D,$89,$75 .db $08,$A6,$A7,$75,$B6,$B7,$B6,$B7 .db $A6,$A7,$83,$20,$81,$69,$01,$20 .db $69,$81,$60,$81,$69,$00,$60,$89 .db $75,$01,$B6,$B7,$84,$75,$02,$B6 .db $B7,$43,$82,$20,$81,$69,$01,$20 .db $69,$81,$20,$81,$69,$00,$20,$86 .db $75,$04,$10,$11,$71,$58,$6E,$82 .db $6B,$83,$AD,$01,$8E,$99,$81,$98 .db $00,$99,$81,$8F,$05,$99,$98,$89 .db $58,$3D,$50,$86,$75,$03,$3D,$71 .db $58,$71,$83,$68,$83,$AD,$01,$8E .db $89,$81,$98,$00,$89,$81,$AC,$05 .db $89,$98,$99,$11,$00,$11,$86,$75 .db $04,$4D,$58,$71,$58,$5D,$81,$68 .db $00,$5D,$84,$89,$82,$98,$00,$99 .db $81,$AC,$81,$99,$02,$11,$50,$20 .db $87,$75,$03,$3D,$71,$00,$50,$81 .db $43,$81,$71,$87,$99,$02,$71,$9B .db $8F,$81,$89,$02,$3D,$69,$20,$87 .db $75,$01,$4D,$3D,$81,$50,$81,$20 .db $02,$50,$71,$6E,$82,$6B,$83,$AD .db $08,$AF,$AE,$89,$98,$99,$3D,$69 .db $20,$11,$86,$75,$03,$00,$11,$10 .db $11,$81,$43,$01,$50,$3D,$83,$68 .db $83,$AD,$0A,$8E,$89,$98,$99,$11 .db $00,$69,$50,$11,$A6,$A7,$84,$75 .db $03,$20,$50,$11,$10,$81,$3F,$02 .db $11,$3D,$5D,$81,$68,$01,$5D,$58 .db $82,$89,$00,$98,$81,$99,$07,$71 .db $3A,$20,$50,$11,$75,$B6,$B7,$84 .db $75,$04,$20,$69,$50,$11,$03,$81 .db $10,$01,$58,$71,$81,$AC,$01,$58 .db $89,$82,$98,$00,$99,$81,$71,$03 .db $11,$2A,$20,$11,$81,$75,$81,$3F .db $01,$A6,$A7,$81,$75,$01,$11,$20 .db $81,$69,$00,$50,$82,$11,$01,$71 .db $58,$81,$AC,$00,$71,$83,$99,$03 .db $71,$11,$42,$41,$81,$20,$00,$11 .db $81,$75,$81,$3F,$01,$B6,$B7,$81 .db $75,$01,$11,$50,$82,$69,$01,$41 .db $42,$89,$43,$06,$42,$41,$69,$20 .db $69,$50,$11,$81,$75,$81,$3F,$01 .db $A6,$A7,$82,$75,$01,$11,$50,$83 .db $69,$00,$20,$87,$69,$00,$20,$82 .db $69,$02,$20,$2A,$11,$82,$75,$81 .db $3F,$01,$B6,$B7,$83,$75,$00,$60 .db $83,$43,$02,$50,$69,$50,$81,$43 .db $00,$50,$83,$69,$00,$20,$81,$69 .db $01,$20,$3A,$83,$75,$02,$3F,$A6 .db $A7,$84,$75,$00,$3D,$82,$71,$03 .db $AD,$DA,$69,$DA,$81,$8A,$00,$3D .db $82,$69,$00,$20,$82,$69,$01,$50 .db $11,$83,$75,$02,$A7,$B6,$B7,$84 .db $75,$01,$3D,$58,$81,$71,$03,$AD .db $DA,$69,$DA,$81,$8A,$00,$3D,$81 .db $69,$07,$50,$43,$50,$41,$42,$10 .db $03,$10,$82,$75,$00,$B7,$81,$75 .db $02,$60,$03,$60,$81,$75,$07,$60 .db $11,$A6,$A7,$58,$3D,$43,$00,$81 .db $43,$00,$00,$81,$43,$07,$00,$43 .db $00,$11,$75,$00,$43,$00,$85,$75 .db $0B,$3D,$71,$11,$03,$60,$20,$3D .db $B6,$B7,$11,$60,$75,$83,$20,$81 .db $75,$82,$20,$81,$75,$02,$20,$69 .db $20,$85,$75,$0B,$3D,$A6,$A7,$A6 .db $A7,$43,$11,$A6,$A7,$3D,$20,$75 .db $83,$20,$81,$75,$82,$20,$81,$75 .db $02,$20,$69,$20,$82,$75,$00,$60 .db $81,$03,$0B,$A6,$A9,$A8,$A9,$B7 .db $71,$58,$B6,$B7,$3D,$20,$11,$83 .db $20,$01,$11,$75,$82,$20,$05,$75 .db $11,$20,$69,$20,$11,$81,$75,$0F .db $3D,$A6,$A7,$B6,$B7,$B6,$A8,$A7 .db $A6,$A7,$A6,$A7,$3D,$20,$11,$50 .db $81,$20,$00,$50,$81,$11,$82,$20 .db $81,$11,$03,$50,$69,$50,$11,$81 .db $75,$0F,$11,$B6,$B7,$A6,$A7,$71 .db $B6,$A8,$A9,$B7,$B6,$B7,$11,$60 .db $75,$11,$81,$43,$0A,$11,$75,$11 .db $50,$20,$50,$11,$75,$11,$43,$11 .db $82,$75,$0D,$58,$A6,$A7,$B6,$A8 .db $A7,$A6,$A9,$A8,$A7,$A6,$A7,$71 .db $11,$81,$03,$00,$60,$83,$75,$02 .db $11,$43,$11,$87,$75,$11,$A7,$B6 .db $B7,$71,$B6,$B7,$B6,$B7,$B6,$A8 .db $A9,$A8,$A7,$71,$A6,$A7,$11,$60 .db $8D,$75,$13,$A8,$A7,$A6,$A7,$A6 .db $A7,$A6,$A7,$A6,$A9,$B7,$B6,$A8 .db $A7,$B6,$A8,$A7,$11,$03,$60,$8B .db $75,$13,$B6,$B7,$B6,$B7,$B6,$B7 .db $B6,$B7,$B6,$B7,$A6,$A7,$B6,$B7 .db $71,$B6,$A8,$A7,$11,$60,$81,$75 .db $01,$A6,$A7,$87,$75,$17,$A6,$A7 .db $A6,$A7,$A6,$A7,$A6,$A7,$A6,$A7 .db $B6,$B7,$A6,$A7,$71,$A6,$A9,$B7 .db $3D,$20,$75,$A6,$A9,$B7,$87,$75 .db $16,$B6,$A8,$A9,$B7,$B6,$B7,$B6 .db $B7,$B6,$A8,$A7,$A6,$A9,$A8,$A7 .db $B6,$A8,$A7,$11,$60,$75,$B6,$B7 .db $88,$75,$13,$A6,$A9,$B7,$A6,$A7 .db $A6,$A7,$A6,$A7,$B6,$B7,$B6,$B7 .db $B6,$B7,$A6,$A9,$B7,$11,$60,$8B .db $75,$09,$B6,$B7,$A6,$A9,$A8,$A9 .db $A8,$A9,$B7,$11,$83,$43,$07,$11 .db $B6,$B7,$11,$60,$20,$A6,$A7,$82 .db $75,$01,$A6,$A7,$84,$75,$09,$A6 .db $A7,$B6,$B7,$B6,$B7,$B6,$B7,$58 .db $3D,$83,$69,$00,$60,$81,$11,$00 .db $60,$81,$20,$06,$B6,$A8,$A7,$A6 .db $A7,$B6,$B7,$84,$75,$01,$B6,$B7 .db $81,$43,$81,$11,$03,$43,$11,$71 .db $3D,$83,$69,$00,$20,$81,$60,$82 .db $20,$04,$3F,$B6,$A8,$A9,$B7,$86 .db $75,$01,$43,$60,$81,$69,$81,$60 .db $03,$69,$3D,$58,$3D,$83,$69,$85 .db $20,$03,$A6,$A7,$B6,$B7,$87,$75 .db $01,$69,$20,$81,$69,$81,$20,$03 .db $69,$60,$43,$60,$83,$69,$84,$20 .db $02,$43,$B6,$B7,$89,$75,$83,$75 .db $03,$20,$69,$20,$B8,$81,$B9,$06 .db $B8,$20,$69,$20,$75,$54,$55,$8C .db $75,$81,$4F,$83,$75,$03,$20,$69 .db $20,$B8,$81,$B9,$06,$B8,$20,$69 .db $20,$04,$9E,$9F,$82,$03,$04,$05 .db $06,$07,$54,$55,$84,$75,$81,$4F .db $81,$75,$05,$54,$55,$20,$69,$20 .db $B8,$81,$B9,$07,$B8,$20,$69,$20 .db $71,$9E,$9F,$71,$81,$AC,$04,$71 .db $56,$57,$9E,$9F,$84,$75,$81,$4F .db $81,$75,$05,$9E,$9F,$20,$C6,$C7 .db $C8,$81,$C9,$07,$C8,$C7,$C6,$20 .db $71,$9E,$9F,$71,$81,$AC,$04,$71 .db $64,$65,$9E,$9F,$84,$75,$81,$4F .db $81,$75,$05,$9E,$9F,$20,$D6,$D7 .db $AA,$81,$AB,$07,$AA,$D7,$D6,$20 .db $11,$9E,$67,$57,$81,$AC,$82,$71 .db $02,$64,$67,$55,$83,$75,$81,$4F .db $07,$75,$0A,$9E,$9F,$50,$E6,$E7 .db $AA,$81,$AB,$07,$AA,$E7,$E6,$50 .db $11,$64,$9E,$9F,$81,$71,$81,$BC .db $04,$AE,$71,$64,$65,$0A,$82,$75 .db $81,$4F,$07,$75,$1A,$64,$65,$11 .db $50,$F7,$F8,$81,$F9,$10,$F8,$F7 .db $50,$11,$71,$56,$66,$9F,$71,$53 .db $52,$71,$9B,$8F,$52,$53,$1A,$82 .db $75,$81,$4F,$02,$75,$00,$11,$81 .db $71,$02,$11,$20,$B8,$81,$B9,$0B .db $B8,$20,$11,$56,$57,$9E,$9F,$67 .db $57,$63,$51,$52,$81,$AC,$02,$62 .db $63,$3D,$82,$75,$81,$4F,$07,$75 .db $20,$3D,$56,$57,$11,$20,$B8,$81 .db $B9,$0B,$B8,$20,$11,$9E,$67,$66 .db $9F,$9E,$9F,$3C,$63,$62,$81,$8A .db $02,$71,$11,$00,$82,$75,$81,$4F .db $07,$75,$20,$3D,$64,$65,$11,$50 .db $B8,$81,$B9,$02,$B8,$50,$11,$81 .db $9E,$06,$9F,$67,$66,$9F,$58,$52 .db $53,$81,$8A,$02,$11,$50,$20,$82 .db $75,$81,$4F,$07,$11,$20,$3D,$71 .db $BF,$71,$11,$43,$81,$AC,$0B,$43 .db $56,$57,$64,$9E,$9F,$9E,$9F,$65 .db $58,$62,$63,$81,$AC,$02,$11,$50 .db $20,$82,$75,$81,$4F,$11,$11,$50 .db $3D,$BD,$BA,$BD,$BF,$71,$9B,$8F .db $58,$64,$65,$71,$64,$65,$9E,$9F .db $81,$58,$07,$3C,$58,$9B,$8F,$58 .db $3D,$20,$11,$81,$75,$81,$4F,$08 .db $75,$11,$3D,$BF,$BD,$BF,$71,$8F .db $9B,$81,$58,$84,$2C,$01,$9E,$9F .db $81,$8A,$07,$AD,$AF,$AE,$58,$3C .db $3D,$50,$11,$81,$75,$81,$4F,$81 .db $75,$09,$4D,$BA,$BF,$BD,$71,$9B .db $8F,$58,$71,$2C,$82,$71,$02,$2C .db $9E,$9F,$81,$8A,$06,$AD,$8E,$58 .db $3C,$58,$4D,$11,$82,$75,$81,$43 .db $81,$75,$08,$40,$42,$43,$11,$8F .db $9B,$56,$57,$2C,$83,$71,$02,$2C .db $9E,$9F,$81,$AC,$81,$58,$03,$43 .db $44,$42,$40,$83,$75,$81,$69,$81 .db $75,$00,$20,$81,$69,$00,$3D,$81 .db $AC,$03,$64,$65,$6E,$5D,$81,$68 .db $03,$5D,$6E,$64,$65,$81,$AC,$01 .db $3C,$3D,$82,$69,$00,$20,$83,$75 .db $81,$69,$81,$75,$00,$20,$81,$69 .db $00,$3D,$81,$5D,$00,$6B,$81,$6D .db $83,$6B,$81,$6D,$00,$6B,$81,$5D .db $01,$58,$3D,$82,$69,$00,$20,$83 .db $75,$81,$69,$02,$75,$11,$20,$81 .db $69,$00,$3D,$81,$5D,$01,$6B,$6E .db $84,$2C,$02,$71,$6E,$6B,$81,$5D .db $01,$71,$3D,$82,$69,$01,$20,$11 .db $82,$75,$81,$69,$09,$75,$11,$42 .db $41,$69,$00,$43,$44,$43,$44,$81 .db $43,$81,$44,$81,$43,$05,$44,$43 .db $44,$43,$44,$00,$81,$69,$02,$41 .db $42,$11,$82,$75,$81,$69,$82,$75 .db $01,$11,$43,$81,$20,$8C,$69,$81 .db $20,$81,$43,$00,$11,$84,$75,$81 .db $69,$84,$75,$81,$20,$8C,$69,$81 .db $20,$87,$75,$82,$69,$81,$20,$00 .db $3D,$85,$71,$04,$3D,$69,$20,$69 .db $20,$84,$69,$02,$20,$69,$20,$81 .db $69,$81,$20,$82,$69,$81,$71,$81 .db $20,$01,$69,$3D,$85,$71,$02,$3D .db $69,$20,$81,$69,$00,$00,$83,$43 .db $02,$46,$47,$48,$81,$20,$81,$69 .db $00,$20,$81,$69,$81,$71,$81,$20 .db $02,$2A,$00,$11,$83,$71,$06,$11 .db $00,$2A,$69,$20,$2A,$11,$85,$71 .db $02,$11,$42,$41,$81,$20,$82,$69 .db $81,$71,$81,$20,$03,$3A,$20,$40 .db $42,$81,$43,$07,$42,$40,$20,$3A .db $20,$69,$3A,$71,$81,$8A,$83,$AD .db $04,$8E,$71,$11,$50,$20,$82,$69 .db $81,$71,$02,$69,$00,$11,$82,$20 .db $81,$69,$82,$20,$04,$3D,$20,$69 .db $3D,$71,$81,$8A,$83,$AD,$81,$AF .db $03,$8E,$11,$50,$20,$81,$69,$81 .db $71,$00,$43,$81,$11,$00,$50,$81 .db $20,$81,$69,$81,$20,$01,$50,$3D .db $81,$43,$00,$3D,$87,$71,$04,$8E .db $8A,$8F,$11,$0F,$81,$69,$81,$71 .db $05,$A6,$A7,$3C,$11,$42,$40,$81 .db $69,$03,$40,$42,$11,$00,$81,$71 .db $01,$40,$42,$83,$43,$00,$11,$82 .db $71,$81,$AC,$01,$71,$1F,$81,$69 .db $81,$71,$05,$B6,$B7,$A6,$A7,$3C .db $11,$81,$43,$81,$11,$04,$00,$20 .db $71,$11,$20,$84,$69,$03,$40,$42 .db $11,$71,$81,$8A,$01,$71,$2F,$81 .db $69,$81,$71,$04,$A6,$A7,$B6,$B7 .db $11,$82,$43,$01,$42,$40,$81,$20 .db $02,$11,$50,$20,$83,$69,$04,$20 .db $69,$20,$50,$11,$81,$8A,$01,$71 .db $11,$83,$71,$04,$B6,$B7,$3C,$11 .db $00,$83,$69,$82,$20,$02,$3D,$50 .db $20,$84,$69,$03,$20,$69,$20,$3D .db $81,$AC,$85,$71,$81,$3C,$02,$11 .db $50,$20,$84,$69,$05,$20,$00,$3D .db $11,$42,$41,$82,$69,$04,$20,$69 .db $20,$69,$3D,$81,$AC,$85,$71,$03 .db $4F,$3C,$4F,$3C,$81,$4F,$00,$3D .db $96,$3F,$81,$75,$83,$4F,$81,$3C .db $01,$11,$0A,$95,$3F,$81,$75,$81 .db $8A,$81,$AD,$81,$4F,$01,$3C,$1A .db $95,$3F,$81,$75,$81,$8A,$81,$AD .db $03,$4F,$3C,$4F,$3D,$8E,$3F,$00 .db $0A,$81,$03,$01,$02,$01,$81,$3F .db $81,$75,$81,$AC,$81,$4F,$03,$11 .db $43,$42,$40,$8E,$3F,$00,$1A,$81 .db $4F,$01,$3C,$11,$81,$23,$81,$75 .db $81,$AC,$81,$4F,$00,$3A,$82,$20 .db $8E,$43,$04,$3D,$4F,$3C,$4F,$3C .db $81,$4F,$81,$75,$82,$4F,$01,$11 .db $2A,$82,$20,$00,$4F,$81,$3C,$01 .db $4F,$3C,$87,$4F,$81,$3C,$03,$00 .db $11,$4F,$3C,$82,$4F,$81,$75,$81 .db $4F,$01,$11,$50,$81,$20,$06,$69 .db $20,$3C,$4F,$3C,$4F,$3C,$88,$4F .db $04,$3C,$20,$40,$42,$11,$82,$4F .db $81,$75,$81,$4F,$01,$3D,$69,$81 .db $20,$05,$69,$20,$4F,$3C,$4F,$3C .db $81,$4F,$81,$AC,$01,$4F,$3C,$81 .db $4F,$02,$3C,$11,$43,$81,$20,$01 .db $69,$50,$82,$43,$81,$75,$81,$4F .db $01,$3D,$69,$81,$20,$03,$69,$20 .db $3C,$4F,$81,$3C,$01,$4F,$3C,$81 .db $AC,$00,$3C,$82,$4F,$02,$11,$50 .db $69,$81,$20,$84,$69,$81,$75,$03 .db $4F,$3C,$11,$50,$81,$20,$01,$69 .db $20,$81,$8A,$83,$AD,$81,$5D,$01 .db $4F,$3C,$81,$5D,$02,$3D,$50,$43 .db $81,$20,$84,$69,$81,$75,$03,$3C .db $4F,$3C,$3D,$81,$20,$01,$69,$20 .db $81,$8A,$83,$AD,$81,$68,$01,$3C .db $4F,$81,$68,$00,$3D,$81,$11,$01 .db $50,$20,$84,$69,$81,$75,$07,$4F .db $3C,$11,$00,$69,$20,$40,$42,$81 .db $AC,$03,$3C,$4F,$3C,$4F,$81,$5D .db $81,$3C,$81,$5D,$05,$11,$10,$3F .db $10,$42,$41,$83,$69,$81,$75,$81 .db $43,$05,$50,$20,$2A,$43,$11,$3C .db $81,$AC,$00,$4F,$84,$3C,$00,$4F .db $83,$3C,$05,$11,$03,$11,$3C,$4F .db $50,$82,$69,$81,$75,$81,$69,$81 .db $20,$00,$3A,$82,$3C,$81,$8A,$83 .db $AD,$81,$5D,$81,$AD,$81,$8A,$81 .db $AD,$81,$8A,$81,$AD,$00,$8E,$82 .db $43,$81,$75,$07,$69,$20,$69,$20 .db $43,$11,$3C,$4F,$81,$8A,$83,$AD .db $81,$68,$81,$AD,$81,$8A,$81,$AD .db $81,$8A,$81,$AD,$81,$AF,$01,$8E .db $4F,$81,$75,$07,$69,$20,$69,$20 .db $69,$50,$11,$3C,$82,$4F,$00,$3C .db $81,$4F,$81,$5D,$00,$3C,$83,$4F .db $00,$3C,$81,$4F,$81,$3C,$03,$4F .db $8E,$AF,$4F,$81,$75,$81,$69,$81 .db $20,$00,$43,$81,$50,$01,$43,$11 .db $81,$60,$82,$3C,$03,$4F,$3C,$4F .db $3C,$81,$60,$81,$3C,$81,$60,$00 .db $3C,$81,$60,$82,$3C,$81,$75,$08 .db $69,$20,$69,$20,$3F,$11,$50,$69 .db $60,$81,$11,$00,$60,$81,$3C,$00 .db $60,$82,$23,$81,$11,$81,$23,$81 .db $11,$02,$23,$11,$3D,$82,$3C,$81 .db $75,$81,$69,$81,$20,$04,$11,$3F .db $11,$60,$11,$81,$4F,$00,$11,$81 .db $23,$00,$11,$8A,$4F,$00,$11,$82 .db $23,$81,$75,$07,$69,$20,$69,$50 .db $11,$3F,$60,$11,$95,$4F,$81,$75 .db $9D,$71,$81,$69,$9D,$71,$81,$69 .db $9D,$71,$81,$69,$9D,$71,$81,$69 .db $9D,$71,$81,$69,$82,$71,$00,$7C .db $81,$71,$81,$7C,$81,$71,$82,$7C .db $81,$71,$00,$7C,$81,$71,$00,$7C .db $81,$71,$00,$7C,$81,$71,$00,$7C .db $84,$71,$81,$43,$81,$71,$08,$7C .db $71,$7C,$71,$7C,$71,$7C,$71,$7C .db $82,$71,$0A,$7C,$71,$7C,$71,$7C .db $71,$7C,$71,$7C,$71,$7C,$88,$71 .db $00,$7C,$82,$71,$04,$7C,$71,$7C .db $71,$7C,$82,$71,$00,$7C,$82,$71 .db $06,$7C,$71,$7C,$71,$7C,$71,$7C .db $89,$71,$00,$7C,$81,$71,$03,$7C .db $71,$7C,$71,$82,$7C,$01,$71,$7C .db $82,$71,$01,$7C,$71,$82,$7C,$01 .db $71,$7C,$8A,$71,$01,$7C,$71,$81 .db $7C,$81,$71,$00,$7C,$82,$71,$00 .db $7C,$82,$71,$06,$7C,$71,$7C,$71 .db $7C,$71,$7C,$88,$71,$04,$7C,$71 .db $7C,$71,$7C,$82,$71,$00,$7C,$82 .db $71,$0A,$7C,$71,$7C,$71,$7C,$71 .db $7C,$71,$7C,$71,$7C,$86,$71,$81 .db $43,$02,$00,$69,$20,$83,$69,$06 .db $20,$50,$11,$71,$02,$01,$11,$83 .db $43,$03,$42,$41,$20,$3D,$81,$8A .db $85,$71,$82,$69,$81,$20,$82,$69 .db $06,$41,$42,$A6,$A7,$A6,$A7,$3D .db $85,$3F,$02,$11,$50,$3D,$81,$8A .db $85,$71,$81,$43,$02,$60,$20,$50 .db $82,$43,$07,$11,$A6,$A9,$B7,$B6 .db $B7,$00,$11,$85,$3F,$01,$60,$11 .db $81,$AC,$87,$71,$04,$11,$60,$11 .db $A6,$A7,$81,$71,$01,$B6,$B7,$81 .db $71,$02,$3D,$50,$11,$85,$3F,$01 .db $3D,$71,$81,$AC,$88,$71,$06,$11 .db $60,$B6,$B7,$A6,$A7,$71,$81,$8A .db $02,$AD,$3D,$11,$85,$3F,$02,$10 .db $3D,$71,$81,$AC,$89,$71,$05,$11 .db $60,$71,$B6,$B7,$71,$81,$8A,$01 .db $AD,$3D,$84,$3F,$04,$10,$03,$11 .db $3D,$5D,$81,$68,$00,$5D,$86,$71 .db $00,$3C,$81,$71,$01,$3D,$71,$81 .db $60,$00,$71,$81,$AC,$02,$71,$11 .db $10,$83,$3F,$00,$3D,$81,$71,$01 .db $3D,$5D,$81,$68,$00,$5D,$85,$71 .db $05,$3C,$71,$3C,$71,$11,$43,$81 .db $11,$00,$60,$81,$AC,$00,$71,$81 .db $60,$00,$10,$81,$3F,$00,$60,$82 .db $43,$03,$11,$71,$9B,$8F,$87,$71 .db $00,$3C,$85,$71,$00,$11,$82,$43 .db $81,$11,$00,$43,$81,$03,$00,$11 .db $81,$71,$81,$AD,$01,$AF,$AE,$9B .db $71,$81,$AD,$00,$8E,$87,$71,$00 .db $87,$81,$88,$00,$97,$81,$86,$81 .db $85,$81,$86,$02,$85,$71,$85,$81 .db $86,$00,$85,$81,$89,$00,$87,$81 .db $88,$01,$87,$85,$81,$86,$00,$85 .db $81,$89,$81,$71,$81,$BB,$03,$58 .db $71,$58,$95,$81,$96,$81,$95,$81 .db $96,$02,$95,$71,$95,$81,$96,$00 .db $95,$81,$99,$00,$85,$81,$86,$01 .db $85,$95,$81,$96,$00,$95,$81,$99 .db $81,$71,$81,$BB,$00,$85,$81,$86 .db $00,$97,$81,$88,$81,$87,$81,$88 .db $02,$87,$58,$87,$81,$88,$00,$87 .db $81,$89,$00,$95,$81,$96,$01,$95 .db $87,$81,$88,$00,$97,$81,$86,$01 .db $85,$71,$81,$BB,$00,$95,$81,$96 .db $01,$95,$58,$81,$71,$00,$58,$81 .db $89,$85,$71,$81,$99,$00,$87,$81 .db $88,$04,$87,$71,$58,$71,$95,$81 .db $96,$01,$95,$71,$81,$BB,$00,$87 .db $81,$88,$01,$87,$85,$81,$86,$00 .db $85,$81,$99,$81,$71,$83,$89,$81 .db $5D,$81,$89,$81,$71,$00,$85,$81 .db $86,$00,$97,$81,$88,$01,$97,$71 .db $81,$BB,$00,$85,$81,$86,$01,$85 .db $95,$81,$96,$00,$95,$83,$71,$83 .db $99,$81,$5D,$81,$99,$81,$89,$00 .db $95,$81,$96,$00,$95,$81,$58,$81 .db $71,$81,$BB,$00,$95,$81,$96,$01 .db $95,$87,$81,$88,$00,$87,$81,$71 .db $83,$89,$02,$58,$71,$58,$82,$71 .db $81,$99,$00,$87,$81,$88,$01,$87 .db $85,$81,$86,$00,$71,$81,$BB,$00 .db $87,$81,$88,$01,$87,$85,$81,$86 .db $00,$85,$81,$71,$83,$99,$00,$85 .db $81,$86,$00,$85,$83,$89,$00,$85 .db $81,$86,$01,$85,$95,$81,$96,$00 .db $71,$81,$BB,$00,$85,$81,$86,$01 .db $85,$95,$81,$96,$00,$95,$81,$71 .db $83,$89,$00,$95,$81,$96,$00,$95 .db $83,$99,$00,$95,$81,$96,$01,$95 .db $87,$81,$88,$00,$71,$81,$BB,$00 .db $95,$81,$96,$01,$95,$87,$81,$88 .db $00,$87,$81,$71,$83,$99,$00,$87 .db $81,$88,$01,$87,$58,$82,$71,$00 .db $87,$81,$88,$00,$87,$83,$71,$81 .db $BB,$00,$87,$81,$88,$00,$97,$81 .db $86,$01,$85,$71,$81,$89,$81,$71 .db $83,$89,$00,$71,$81,$89,$00,$71 .db $81,$2B,$85,$89,$81,$71,$81,$BB .db $00,$71,$81,$58,$00,$95,$81,$96 .db $01,$95,$71,$81,$99,$81,$71,$83 .db $99,$00,$58,$81,$99,$00,$58,$81 .db $2B,$85,$99,$81,$71,$81,$E8,$00 .db $85,$81,$86,$00,$97,$81,$88,$00 .db $87,$82,$71,$81,$89,$82,$71,$81 .db $89,$00,$71,$81,$89,$81,$71,$81 .db $89,$00,$85,$81,$86,$00,$85,$81 .db $71,$81,$3F,$00,$95,$81,$96,$00 .db $95,$81,$89,$83,$71,$81,$99,$00 .db $71,$81,$89,$81,$99,$00,$71,$81 .db $99,$81,$71,$81,$99,$00,$95,$81 .db $96,$00,$95,$81,$71,$81,$3F,$00 .db $87,$81,$88,$00,$87,$81,$99,$83 .db $89,$02,$58,$71,$58,$81,$99,$00 .db $71,$81,$89,$00,$71,$81,$89,$00 .db $85,$81,$86,$00,$97,$81,$88,$00 .db $87,$81,$71,$81,$D8,$81,$89,$00 .db $85,$81,$86,$00,$85,$83,$99,$00 .db $85,$81,$86,$00,$85,$81,$71,$81 .db $99,$00,$71,$81,$99,$00,$95,$81 .db $96,$01,$95,$71,$81,$89,$81,$71 .db $81,$3F,$81,$99,$00,$95,$81,$96 .db $00,$95,$83,$89,$00,$95,$81,$96 .db $00,$95,$83,$89,$00,$85,$81,$86 .db $00,$97,$81,$88,$01,$87,$58,$81 .db $99,$81,$71,$81,$3F,$81,$71,$00 .db $87,$81,$88,$00,$87,$83,$99,$00 .db $87,$81,$88,$00,$87,$83,$99,$00 .db $95,$81,$96,$00,$95,$81,$89,$00 .db $85,$81,$86,$00,$85,$81,$71,$81 .db $3F,$00,$71,$81,$89,$01,$71,$58 .db $83,$89,$00,$71,$81,$89,$00,$85 .db $81,$86,$00,$85,$81,$58,$00,$87 .db $81,$88,$00,$87,$81,$99,$00,$95 .db $81,$96,$00,$95,$81,$71,$81,$D9 .db $00,$71,$81,$99,$01,$58,$71,$83 .db $99,$00,$58,$81,$99,$00,$95,$81 .db $96,$00,$95,$81,$89,$00,$85,$81 .db $86,$00,$85,$81,$89,$00,$87,$81 .db $88,$00,$87,$81,$71,$81,$D8,$01 .db $71,$85,$81,$86,$03,$85,$71,$58 .db $85,$81,$86,$02,$85,$71,$87,$81 .db $88,$00,$87,$81,$99,$00,$95,$81 .db $96,$00,$95,$81,$99,$85,$71,$81 .db $3F,$83,$75,$03,$20,$69,$20,$B8 .db $81,$B9,$03,$B8,$20,$69,$20,$8F .db $75,$81,$4F,$82,$71,$00,$7C,$81 .db $71,$00,$7C,$82,$71,$82,$7C,$81 .db $71,$00,$7C,$81,$71,$05,$7C,$71 .db $7C,$71,$7C,$71,$82,$7C,$82,$71 .db $81,$43,$9D,$71,$81,$69,$85,$71 .db $81,$7B,$83,$71,$81,$7B,$83,$71 .db $81,$7B,$83,$71,$81,$7B,$83,$71 .db $81,$43,$85,$71,$81,$7B,$83,$71 .db $81,$7B,$83,$71,$81,$7B,$83,$71 .db $81,$7B,$C7,$71,$81,$5D,$81,$6B .db $81,$5D,$83,$71,$81,$7B,$83,$71 .db $81,$7B,$83,$71,$81,$7B,$87,$71 .db $81,$5D,$81,$6B,$81,$5D,$83,$71 .db $81,$7B,$83,$71,$81,$7B,$83,$71 .db $81,$7B,$C5,$71,$83,$BB,$00,$7C .db $88,$BB,$81,$10,$81,$BB,$81,$7B .db $89,$BB,$81,$71,$81,$BB,$01,$B0 .db $B1,$86,$BB,$02,$7C,$BB,$10,$81 .db $11,$01,$10,$BB,$81,$7B,$82,$BB .db $00,$7C,$85,$BB,$81,$71,$03,$BB .db $E0,$C0,$C1,$82,$BB,$81,$7B,$82 .db $BB,$01,$10,$11,$81,$5D,$01,$11 .db $10,$8B,$BB,$81,$71,$03,$BB,$E1 .db $D0,$D1,$82,$BB,$81,$7B,$82,$BB .db $08,$3D,$4F,$5D,$68,$4F,$11,$10 .db $BB,$7C,$83,$BB,$81,$7B,$82,$BB .db $81,$71,$8A,$BB,$00,$10,$82,$4F .db $81,$6C,$01,$4F,$3D,$85,$BB,$81 .db $7B,$82,$BB,$81,$71,$82,$BB,$00 .db $10,$86,$03,$84,$4F,$81,$6C,$04 .db $11,$03,$04,$03,$04,$82,$03,$00 .db $10,$82,$BB,$81,$71,$81,$7B,$01 .db $BB,$3D,$81,$5D,$83,$6B,$81,$5D .db $84,$4F,$02,$6C,$68,$5D,$83,$4F .db $81,$5D,$00,$3D,$82,$BB,$81,$71 .db $81,$7B,$01,$BB,$3D,$81,$5D,$83 .db $6B,$81,$5D,$05,$4F,$12,$13,$14 .db $15,$4F,$81,$5D,$83,$4F,$02,$68 .db $5D,$3D,$82,$BB,$81,$71,$82,$BB .db $00,$00,$87,$4F,$05,$58,$31,$32 .db $33,$34,$58,$84,$4F,$81,$6C,$01 .db $11,$00,$82,$BB,$81,$71,$04,$BB .db $7C,$BB,$20,$50,$85,$4F,$07,$58 .db $4F,$35,$36,$37,$38,$4F,$58,$82 .db $4F,$81,$6C,$02,$11,$50,$20,$82 .db $BB,$81,$71,$82,$BB,$02,$20,$69 .db $00,$81,$4F,$81,$5D,$10,$4F,$58 .db $4F,$35,$36,$37,$38,$4F,$58,$4F .db $5D,$68,$6C,$11,$00,$69,$20,$82 .db $BB,$81,$71,$02,$E8,$E9,$E8,$81 .db $20,$04,$69,$50,$4F,$68,$5D,$81 .db $4F,$05,$58,$49,$4A,$59,$5A,$58 .db $81,$4F,$81,$5D,$02,$4F,$3D,$69 .db $81,$20,$82,$E8,$81,$71,$82,$3F .db $05,$20,$69,$20,$50,$4F,$68,$84 .db $4F,$81,$5D,$86,$4F,$03,$3D,$20 .db $69,$20,$82,$D8,$81,$71,$81,$3F .db $04,$D8,$20,$69,$00,$11,$81,$6C .db $84,$4F,$03,$5D,$68,$6D,$6E,$84 .db $4F,$03,$11,$00,$69,$20,$82,$3F .db $81,$71,$05,$D8,$D9,$3F,$20,$50 .db $11,$81,$6C,$85,$4F,$81,$11,$00 .db $6E,$81,$6D,$00,$6E,$83,$4F,$02 .db $11,$50,$20,$82,$D9,$81,$71,$04 .db $3F,$D8,$D9,$00,$11,$81,$6C,$85 .db $4F,$05,$11,$00,$50,$43,$11,$6E .db $81,$6D,$00,$6E,$83,$4F,$00,$00 .db $82,$3F,$81,$71,$81,$3F,$03,$10 .db $11,$5D,$68,$84,$4F,$09,$11,$43 .db $50,$69,$20,$69,$50,$11,$4F,$6E .db $81,$6D,$00,$6E,$81,$5D,$01,$4F .db $10,$81,$3F,$81,$71,$81,$3F,$01 .db $3D,$4F,$81,$5D,$81,$4F,$00,$11 .db $81,$43,$00,$00,$82,$69,$00,$20 .db $81,$69,$01,$00,$18,$81,$4F,$05 .db $6E,$6D,$68,$5D,$4F,$3D,$81,$3F .db $81,$71,$02,$D9,$3F,$3D,$82,$4F .db $02,$11,$43,$50,$82,$69,$00,$20 .db $81,$69,$08,$20,$69,$20,$69,$48 .db $47,$46,$45,$11,$82,$4F,$00,$00 .db $81,$3F,$81,$71,$03,$D8,$D9,$40 .db $42,$81,$43,$02,$50,$69,$20,$82 .db $69,$02,$20,$69,$20,$82,$69,$00 .db $20,$83,$69,$00,$00,$81,$43,$01 .db $50,$20,$81,$3F,$81,$71,$81,$3F .db $02,$20,$69,$20,$81,$69,$00,$20 .db $83,$69,$00,$20,$81,$69,$02,$20 .db $69,$20,$84,$69,$04,$20,$69,$20 .db $69,$20,$81,$3F,$81,$71,$03,$4F .db $3C,$4F,$3C,$81,$4F,$00,$3D,$96 .db $3F,$81,$75,$9B,$1C,$03,$58,$18 .db $1C,$58,$9B,$1C,$03,$58,$18,$1C .db $58,$9A,$1C,$04,$10,$58,$18,$1C .db $58,$94,$1C,$81,$10,$81,$50,$82 .db $10,$03,$50,$18,$14,$58,$90,$1C .db $81,$5C,$84,$10,$00,$50,$82,$10 .db $03,$50,$10,$50,$90,$90,$1C,$00 .db $5C,$81,$10,$8B,$50,$89,$1C,$82 .db $10,$81,$50,$81,$1C,$00,$5C,$86 .db $10,$00,$50,$82,$10,$00,$50,$81 .db $D0,$89,$1C,$83,$10,$00,$50,$81 .db $1C,$00,$5C,$81,$10,$84,$90,$00 .db $D0,$82,$90,$02,$D0,$50,$18,$89 .db $1C,$00,$50,$81,$90,$81,$D0,$81 .db $1C,$01,$18,$50,$84,$90,$85,$10 .db $81,$50,$88,$1C,$01,$D4,$58,$82 .db $1C,$03,$18,$94,$1C,$18,$81,$58 .db $82,$5C,$00,$50,$82,$90,$84,$50 .db $88,$1C,$81,$54,$81,$1C,$82,$14 .db $01,$1C,$18,$81,$58,$81,$5C,$03 .db $18,$5C,$58,$18,$84,$90,$00,$D0 .db $89,$1C,$00,$54,$82,$14,$82,$1C .db $00,$18,$81,$58,$82,$5C,$81,$58 .db $01,$5C,$58,$82,$5C,$01,$18,$14 .db $86,$1C,$81,$10,$87,$1C,$01,$58 .db $98,$83,$18,$81,$58,$00,$18,$83 .db $5C,$01,$18,$14,$86,$1C,$81,$10 .db $81,$50,$85,$10,$00,$58,$85,$98 .db $81,$18,$00,$58,$82,$5C,$01,$18 .db $14,$84,$1C,$84,$10,$81,$50,$06 .db $10,$50,$10,$50,$10,$58,$18,$83 .db $5C,$81,$98,$01,$18,$58,$82,$18 .db $01,$D8,$18,$84,$1C,$01,$10,$50 .db $81,$10,$02,$50,$10,$50,$81,$10 .db $05,$D0,$50,$D0,$58,$5C,$58,$83 .db $5C,$84,$98,$02,$D8,$18,$98,$84 .db $1C,$83,$10,$00,$50,$82,$10,$84 .db $50,$00,$18,$84,$5C,$00,$18,$82 .db $5C,$03,$18,$14,$58,$5C,$83,$1C .db $85,$10,$00,$50,$81,$10,$81,$50 .db $00,$90,$82,$50,$00,$58,$84,$5C .db $00,$58,$81,$5C,$03,$18,$14,$58 .db $5C,$82,$1C,$8A,$10,$83,$50,$84 .db $10,$01,$50,$18,$82,$5C,$03,$18 .db $14,$58,$5C,$82,$1C,$89,$10,$81 .db $50,$81,$90,$85,$10,$81,$50,$00 .db $58,$81,$5C,$03,$18,$14,$58,$5C .db $82,$1C,$85,$10,$00,$50,$84,$10 .db $01,$50,$D0,$81,$10,$00,$50,$83 .db $10,$00,$50,$81,$10,$04,$50,$18 .db $14,$58,$5C,$82,$1C,$01,$50,$90 .db $81,$10,$01,$50,$10,$83,$18,$02 .db $10,$50,$D0,$82,$90,$00,$D0,$81 .db $90,$00,$10,$81,$50,$81,$10,$02 .db $50,$14,$58,$81,$14,$82,$1C,$00 .db $58,$81,$90,$03,$50,$90,$10,$D0 .db $82,$90,$04,$D0,$90,$10,$5C,$50 .db $81,$90,$02,$10,$D0,$10,$81,$50 .db $82,$10,$00,$50,$82,$58,$82,$1C .db $00,$58,$82,$10,$02,$50,$10,$D0 .db $82,$90,$01,$10,$5C,$81,$14,$07 .db $54,$58,$18,$90,$10,$D0,$10,$50 .db $81,$18,$01,$10,$50,$82,$58,$82 .db $1C,$00,$D0,$82,$10,$00,$50,$81 .db $D0,$02,$58,$5C,$18,$82,$14,$01 .db $58,$54,$81,$14,$00,$54,$82,$10 .db $83,$18,$00,$10,$82,$50,$81,$1C .db $84,$10,$81,$50,$84,$14,$85,$58 .db $81,$10,$01,$90,$10,$84,$18,$81 .db $10,$00,$90,$81,$1C,$84,$10,$82 .db $50,$87,$58,$01,$10,$50,$83,$10 .db $00,$D0,$82,$18,$02,$90,$D0,$10 .db $82,$1C,$83,$10,$03,$90,$D0,$10 .db $50,$86,$58,$01,$10,$50,$88,$10 .db $81,$D0,$01,$1C,$58,$81,$1C,$01 .db $50,$90,$82,$10,$03,$50,$D0,$10 .db $94,$84,$58,$83,$10,$00,$50,$83 .db $10,$01,$18,$10,$81,$D0,$01,$1C .db $18,$82,$1C,$00,$58,$83,$10,$81 .db $50,$81,$14,$84,$58,$83,$10,$00 .db $D0,$84,$10,$81,$D0,$82,$1C,$00 .db $58,$81,$1C,$00,$58,$83,$10,$81 .db $50,$83,$58,$00,$10,$81,$50,$87 .db $10,$81,$D0,$00,$58,$82,$1C,$81 .db $14,$04,$1C,$D4,$58,$50,$90,$81 .db $10,$82,$50,$82,$58,$83,$10,$00 .db $18,$83,$10,$03,$18,$10,$D0,$18 .db $82,$1C,$81,$14,$01,$1C,$18,$9E .db $1C,$00,$18,$9E,$1C,$01,$18,$50 .db $95,$1C,$83,$10,$83,$1C,$00,$10 .db $81,$50,$90,$1C,$87,$10,$83,$1C .db $01,$90,$10,$81,$50,$8D,$1C,$89 .db $10,$01,$50,$5C,$81,$1C,$82,$90 .db $81,$50,$8B,$1C,$81,$10,$84,$50 .db $83,$10,$81,$50,$81,$1C,$81,$58 .db $02,$90,$10,$50,$8B,$1C,$82,$10 .db $84,$18,$00,$50,$82,$10,$00,$50 .db $81,$1C,$82,$58,$01,$10,$50,$8B .db $1C,$01,$10,$90,$85,$18,$00,$58 .db $81,$50,$01,$D0,$10,$81,$1C,$81 .db $58,$02,$10,$D0,$10,$87,$1C,$83 .db $18,$00,$50,$81,$90,$84,$18,$01 .db $D0,$10,$81,$D0,$00,$18,$81,$1C .db $01,$58,$10,$81,$D0,$01,$18,$58 .db $85,$1C,$84,$18,$00,$58,$87,$90 .db $81,$D0,$01,$5C,$18,$81,$1C,$05 .db $10,$90,$D0,$5C,$18,$58,$88,$18 .db $04,$58,$D8,$58,$5C,$58,$81,$1C .db $85,$5C,$01,$58,$18,$81,$1C,$01 .db $58,$18,$81,$5C,$01,$18,$58,$86 .db $18,$81,$98,$00,$D8,$81,$58,$01 .db $18,$5C,$81,$1C,$84,$5C,$07,$18 .db $5C,$18,$50,$1C,$58,$5C,$58,$81 .db $18,$00,$58,$85,$1C,$82,$18,$01 .db $58,$18,$82,$58,$81,$1C,$85,$5C .db $01,$58,$18,$81,$50,$00,$58,$82 .db $18,$01,$D8,$18,$83,$10,$81,$50 .db $81,$18,$00,$D8,$82,$18,$00,$58 .db $82,$18,$00,$58,$83,$5C,$04,$18 .db $5C,$18,$10,$50,$82,$18,$81,$D8 .db $01,$18,$D0,$83,$90,$04,$50,$58 .db $98,$18,$D8,$83,$18,$02,$98,$D8 .db $18,$84,$5C,$00,$58,$81,$10,$00 .db $50,$81,$98,$04,$18,$58,$5C,$18 .db $D0,$82,$5C,$81,$90,$00,$58,$87 .db $98,$01,$D8,$18,$83,$5C,$00,$18 .db $82,$10,$01,$50,$18,$81,$98,$02 .db $18,$5C,$18,$83,$14,$81,$54,$00 .db $58,$81,$5C,$00,$58,$84,$5C,$01 .db $58,$18,$82,$5C,$83,$10,$81,$50 .db $05,$5C,$58,$5C,$18,$5C,$18,$85 .db $1C,$02,$58,$5C,$18,$84,$5C,$02 .db $18,$5C,$18,$87,$10,$01,$50,$18 .db $81,$5C,$01,$18,$5C,$81,$14,$83 .db $58,$01,$D4,$58,$81,$5C,$00,$58 .db $84,$5C,$00,$58,$82,$10,$02,$50 .db $10,$50,$81,$10,$05,$D0,$10,$5C .db $58,$5C,$18,$81,$14,$00,$18,$83 .db $58,$81,$54,$01,$5C,$18,$84,$5C .db $00,$18,$81,$10,$05,$50,$10,$50 .db $10,$50,$10,$81,$50,$81,$18,$81 .db $5C,$01,$18,$94,$86,$58,$82,$54 .db $00,$58,$86,$10,$05,$50,$10,$50 .db $10,$50,$10,$81,$50,$03,$18,$14 .db $54,$5C,$81,$14,$01,$58,$18,$85 .db $58,$02,$18,$54,$14,$82,$10,$00 .db $50,$82,$10,$02,$50,$D0,$90,$81 .db $10,$82,$50,$02,$18,$58,$54,$81 .db $14,$81,$58,$84,$18,$83,$58,$83 .db $10,$02,$50,$10,$50,$81,$10,$07 .db $50,$10,$50,$10,$50,$10,$50,$14 .db $82,$58,$02,$10,$50,$58,$82,$18 .db $01,$10,$50,$82,$58,$82,$10,$00 .db $50,$81,$10,$81,$50,$02,$10,$50 .db $10,$81,$50,$04,$10,$50,$10,$50 .db $14,$82,$50,$81,$10,$00,$94,$81 .db $18,$81,$10,$01,$50,$10,$81,$50 .db $83,$10,$0D,$50,$10,$50,$10,$50 .db $10,$50,$10,$50,$10,$50,$10,$50 .db $1C,$82,$90,$00,$D0,$81,$14,$01 .db $18,$10,$83,$90,$82,$10,$01,$50 .db $10,$81,$50,$07,$10,$50,$10,$50 .db $10,$50,$10,$50,$81,$10,$82,$50 .db $81,$1C,$81,$18,$82,$14,$00,$58 .db $81,$1C,$00,$18,$81,$90,$81,$10 .db $00,$50,$81,$10,$00,$50,$81,$10 .db $0A,$50,$10,$50,$10,$50,$10,$50 .db $10,$50,$10,$50,$81,$1C,$81,$18 .db $82,$14,$00,$58,$82,$1C,$00,$58 .db $82,$90,$04,$10,$50,$10,$50,$10 .db $81,$50,$81,$10,$81,$50,$05,$10 .db $50,$10,$50,$10,$50,$81,$1C,$81 .db $18,$82,$14,$00,$58,$81,$1C,$00 .db $18,$82,$1C,$81,$10,$02,$50,$10 .db $50,$81,$10,$06,$50,$10,$50,$10 .db $50,$14,$10,$81,$50,$01,$D0,$10 .db $82,$1C,$81,$14,$02,$18,$D4,$58 .db $82,$1C,$00,$58,$81,$1C,$84,$10 .db $00,$50,$81,$10,$01,$50,$10,$81 .db $50,$02,$10,$50,$10,$81,$50,$02 .db $18,$14,$54,$81,$14,$01,$18,$58 .db $85,$54,$83,$10,$06,$50,$10,$50 .db $10,$50,$10,$50,$81,$10,$03,$50 .db $10,$50,$10,$81,$50,$00,$18,$87 .db $1C,$83,$50,$83,$10,$02,$50,$10 .db $50,$81,$10,$06,$50,$10,$50,$10 .db $50,$10,$50,$81,$10,$02,$50,$18 .db $1C,$81,$54,$00,$58,$82,$10,$01 .db $50,$10,$83,$50,$89,$10,$81,$D0 .db $02,$1C,$58,$1C,$81,$14,$83,$1C .db $04,$54,$58,$50,$90,$D0,$86,$10 .db $81,$18,$00,$50,$84,$10,$81,$D0 .db $01,$58,$18,$82,$14,$85,$1C,$00 .db $D0,$81,$10,$01,$50,$D0,$82,$10 .db $02,$50,$10,$90,$81,$18,$00,$D0 .db $83,$10,$81,$D0,$01,$18,$1C,$81 .db $14,$86,$1C,$83,$10,$81,$50,$00 .db $D0,$81,$90,$00,$D0,$87,$10,$81 .db $D0,$81,$1C,$01,$58,$14,$81,$1C .db $81,$14,$83,$1C,$01,$50,$90,$81 .db $10,$00,$D0,$83,$10,$00,$50,$84 .db $10,$01,$D0,$90,$81,$D0,$81,$1C .db $00,$18,$87,$14,$81,$1C,$00,$58 .db $82,$90,$01,$D0,$18,$82,$10,$00 .db $50,$83,$10,$81,$D0,$00,$58,$83 .db $1C,$81,$14,$00,$1C,$81,$14,$81 .db $58,$81,$14,$81,$1C,$05,$58,$1C .db $18,$58,$1C,$18,$86,$90,$81,$D0 .db $02,$1C,$58,$5C,$81,$1C,$83,$14 .db $85,$58,$81,$1C,$04,$58,$1C,$18 .db $58,$1C,$81,$18,$00,$58,$84,$1C .db $00,$58,$81,$1C,$00,$58,$81,$1C .db $81,$14,$00,$1C,$81,$14,$85,$58 .db $81,$1C,$07,$58,$1C,$18,$58,$1C .db $18,$1C,$58,$83,$1C,$01,$18,$5C .db $81,$1C,$00,$58,$84,$14,$87,$58 .db $81,$1C,$04,$58,$1C,$18,$58,$1C .db $81,$18,$01,$1C,$5C,$83,$1C,$01 .db $58,$1C,$82,$14,$81,$1C,$81,$14 .db $87,$58,$81,$1C,$07,$58,$1C,$18 .db $58,$1C,$18,$54,$58,$83,$1C,$00 .db $18,$82,$14,$83,$1C,$81,$14,$87 .db $58,$81,$1C,$06,$58,$1C,$18,$58 .db $1C,$18,$54,$86,$14,$85,$1C,$81 .db $14,$87,$58,$81,$1C,$05,$58,$1C .db $18,$58,$1C,$18,$84,$10,$81,$50 .db $87,$1C,$81,$14,$86,$58,$02,$1C .db $10,$58,$81,$10,$81,$50,$00,$18 .db $86,$10,$00,$50,$86,$1C,$83,$14 .db $83,$58,$03,$14,$1C,$10,$50,$81 .db $10,$81,$50,$87,$10,$00,$50,$88 .db $1C,$81,$14,$00,$58,$81,$14,$09 .db $58,$14,$1C,$10,$D0,$58,$18,$58 .db $18,$90,$86,$10,$00,$50,$8B,$1C .db $81,$14,$82,$1C,$00,$10,$81,$50 .db $01,$18,$58,$88,$10,$00,$50,$90 .db $1C,$81,$10,$00,$50,$8A,$10,$00 .db $50,$83,$1C,$01,$18,$58,$8A,$1C .db $00,$50,$82,$90,$86,$10,$00,$D0 .db $81,$90,$00,$10,$83,$1C,$00,$18 .db $81,$58,$83,$1C,$81,$18,$00,$58 .db $82,$1C,$81,$58,$00,$1C,$87,$10 .db $00,$50,$81,$1C,$00,$18,$83,$1C .db $81,$98,$81,$58,$81,$1C,$85,$18 .db $00,$1C,$81,$58,$01,$1C,$50,$86 .db $90,$00,$10,$81,$1C,$00,$18,$83 .db $1C,$00,$58,$8A,$18,$00,$D4,$81 .db $58,$00,$1C,$81,$58,$84,$1C,$81 .db $18,$81,$1C,$01,$18,$94,$82,$1C .db $8B,$18,$81,$54,$01,$58,$1C,$81 .db $58,$84,$1C,$81,$18,$81,$1C,$81 .db $14,$81,$1C,$8C,$18,$01,$1C,$54 .db $81,$14,$81,$58,$84,$1C,$81,$18 .db $82,$14,$82,$1C,$81,$98,$8A,$18 .db $82,$1C,$81,$54,$00,$58,$84,$1C .db $00,$18,$81,$14,$84,$1C,$00,$58 .db $8B,$18,$83,$1C,$00,$54,$87,$14 .db $85,$1C,$8C,$18,$92,$1C,$81,$98 .db $8A,$18,$8D,$1C,$81,$14,$00,$1C .db $81,$14,$00,$58,$81,$98,$89,$18 .db $8D,$1C,$84,$14,$81,$58,$81,$98 .db $81,$18,$00,$D8,$81,$98,$00,$D8 .db $82,$98,$8C,$1C,$84,$14,$83,$58 .db $82,$98,$03,$D8,$1C,$18,$58,$81 .db $1C,$00,$18,$89,$1C,$81,$14,$00 .db $1C,$85,$14,$83,$58,$81,$1C,$03 .db $18,$1C,$98,$D8,$81,$1C,$00,$98 .db $89,$1C,$81,$14,$84,$1C,$82,$14 .db $82,$58,$81,$1C,$03,$18,$1C,$58 .db $18,$81,$1C,$00,$58,$86,$1C,$83 .db $10,$83,$50,$86,$10,$82,$50,$82 .db $10,$03,$50,$10,$50,$14,$86,$1C .db $83,$10,$83,$18,$84,$90,$06,$10 .db $50,$10,$50,$10,$50,$10,$81,$50 .db $02,$D0,$10,$14,$86,$1C,$83,$10 .db $00,$90,$81,$18,$07,$D0,$10,$50 .db $10,$50,$10,$50,$10,$81,$50,$03 .db $10,$50,$10,$50,$81,$D0,$00,$18 .db $87,$1C,$82,$10,$82,$90,$82,$10 .db $0A,$50,$10,$50,$10,$50,$10,$50 .db $10,$50,$90,$10,$81,$50,$01,$1C .db $18,$87,$1C,$07,$10,$50,$14,$54 .db $58,$18,$90,$10,$83,$50,$83,$10 .db $02,$50,$90,$10,$82,$50,$02,$1C .db $18,$94,$86,$1C,$03,$50,$90,$50 .db $54,$81,$14,$01,$54,$10,$83,$18 .db $84,$90,$00,$10,$81,$50,$02,$D0 .db $10,$1C,$83,$14,$84,$1C,$00,$58 .db $81,$90,$00,$50,$81,$58,$02,$54 .db $10,$90,$81,$18,$00,$D0,$81,$10 .db $07,$50,$10,$50,$10,$50,$10,$D0 .db $18,$81,$14,$00,$1C,$81,$14,$84 .db $1C,$01,$58,$1C,$81,$90,$81,$50 .db $83,$10,$00,$50,$81,$10,$01,$50 .db $10,$81,$50,$81,$10,$81,$D0,$01 .db $18,$14,$81,$1C,$81,$58,$81,$14 .db $81,$1C,$01,$D4,$58,$81,$1C,$81 .db $90,$00,$50,$83,$10,$00,$50,$81 .db $10,$03,$50,$10,$50,$10,$82,$D0 .db $02,$58,$18,$94,$81,$1C,$81,$58 .db $81,$14,$81,$1C,$81,$54,$82,$1C .db $8B,$90,$81,$D0,$02,$1C,$18,$1C .db $81,$14,$81,$1C,$81,$58,$81,$14 .db $82,$1C,$81,$54,$83,$1C,$00,$58 .db $87,$1C,$00,$18,$82,$1C,$00,$18 .db $81,$14,$82,$1C,$81,$58,$81,$14 .db $83,$1C,$84,$18,$01,$58,$1C,$82 .db $10,$00,$50,$83,$1C,$00,$58,$81 .db $1C,$01,$18,$14,$83,$1C,$00,$58 .db $81,$14,$84,$1C,$84,$18,$01,$58 .db $1C,$81,$10,$81,$50,$82,$1C,$00 .db $18,$82,$1C,$81,$14,$83,$1C,$82 .db $14,$84,$1C,$83,$18,$02,$98,$D8 .db $1C,$81,$90,$01,$D0,$50,$81,$1C .db $81,$18,$00,$58,$81,$14,$81,$10 .db $00,$50,$82,$1C,$00,$14,$81,$1C .db $81,$18,$00,$58,$81,$1C,$81,$98 .db $82,$18,$02,$58,$14,$50,$81,$90 .db $00,$10,$81,$14,$07,$58,$98,$18 .db $14,$1C,$50,$90,$10,$85,$1C,$81 .db $18,$01,$58,$18,$81,$58,$82,$18 .db $81,$D8,$00,$1C,$81,$58,$81,$18 .db $81,$1C,$81,$58,$00,$18,$81,$1C .db $02,$58,$1C,$18,$85,$1C,$88,$18 .db $02,$58,$18,$1C,$81,$58,$81,$18 .db $81,$1C,$81,$58,$00,$18,$81,$1C .db $02,$58,$1C,$18,$82,$1C,$8B,$18 .db $02,$58,$18,$D4,$81,$58,$81,$18 .db $01,$94,$1C,$81,$58,$06,$18,$1C .db $D4,$58,$1C,$18,$94,$81,$1C,$8B .db $18,$01,$58,$18,$81,$54,$01,$58 .db $18,$81,$14,$00,$D4,$81,$58,$01 .db $18,$94,$81,$54,$00,$1C,$81,$14 .db $81,$1C,$8B,$18,$81,$58,$01,$1C .db $54,$82,$14,$00,$1C,$81,$54,$00 .db $58,$81,$14,$01,$1C,$54,$81,$14 .db $82,$1C,$8C,$18,$00,$58,$81,$18 .db $00,$58,$83,$1C,$00,$54,$81,$14 .db $87,$1C,$8F,$18,$81,$58,$8D,$1C .db $90,$18,$02,$58,$18,$58,$8B,$1C .db $91,$18,$81,$D8,$81,$1C,$81,$14 .db $87,$1C,$91,$18,$02,$58,$18,$1C .db $82,$14,$87,$1C,$91,$18,$81,$58 .db $00,$1C,$81,$14,$88,$1C,$91,$18 .db $81,$D8,$8B,$1C,$88,$18,$00,$D8 .db $84,$98,$81,$18,$81,$D8,$00,$18 .db $81,$14,$82,$1C,$81,$14,$84,$1C .db $88,$18,$00,$58,$83,$1C,$81,$98 .db $81,$D8,$81,$18,$86,$14,$84,$1C .db $81,$18,$82,$98,$00,$D8,$81,$98 .db $01,$18,$58,$83,$1C,$02,$58,$98 .db $D8,$82,$18,$00,$58,$83,$14,$86 .db $1C,$01,$98,$D8,$81,$1C,$02,$98 .db $D8,$1C,$81,$18,$00,$58,$83,$1C .db $81,$58,$83,$18,$83,$14,$88,$1C .db $00,$18,$81,$1C,$02,$58,$18,$1C .db $81,$98,$00,$D8,$83,$1C,$81,$58 .db $82,$18,$82,$14,$89,$1C,$83,$14 .db $00,$50,$83,$10,$82,$50,$81,$10 .db $00,$14,$81,$18,$8C,$14,$81,$10 .db $83,$14,$00,$50,$83,$10,$82,$50 .db $82,$10,$81,$18,$85,$10,$81,$18 .db $84,$14,$81,$10,$81,$14,$81,$18 .db $00,$50,$83,$10,$82,$50,$82,$10 .db $81,$18,$81,$10,$01,$50,$10,$83 .db $18,$84,$14,$81,$10,$81,$14,$81 .db $18,$00,$50,$83,$10,$83,$50,$81 .db $10,$81,$18,$81,$10,$01,$50,$10 .db $83,$18,$84,$14,$81,$10,$81,$14 .db $81,$18,$00,$50,$83,$10,$81,$50 .db $03,$10,$50,$10,$90,$82,$18,$01 .db $10,$50,$82,$10,$82,$18,$83,$14 .db $81,$10,$01,$14,$10,$81,$18,$00 .db $50,$81,$10,$81,$90,$81,$D0,$81 .db $50,$81,$10,$82,$18,$85,$10,$81 .db $18,$00,$50,$82,$14,$81,$10,$01 .db $14,$10,$81,$18,$81,$50,$82,$10 .db $82,$50,$82,$10,$82,$18,$00,$10 .db $81,$50,$01,$10,$D0,$82,$10,$00 .db $50,$82,$14,$81,$10,$02,$14,$50 .db $90,$81,$10,$81,$50,$81,$10,$81 .db $50,$81,$10,$85,$18,$82,$50,$01 .db $10,$50,$81,$10,$00,$50,$82,$14 .db $81,$10,$02,$14,$54,$10,$81,$18 .db $01,$D0,$50,$81,$10,$81,$50,$01 .db $10,$90,$86,$18,$81,$50,$04,$10 .db $50,$10,$D0,$10,$82,$14,$81,$10 .db $02,$14,$54,$10,$81,$18,$81,$50 .db $81,$10,$81,$50,$81,$10,$85,$18 .db $82,$10,$00,$90,$82,$D0,$83,$14 .db $81,$10,$01,$D4,$54,$83,$10,$00 .db $50,$81,$10,$01,$50,$10,$87,$18 .db $83,$10,$82,$50,$83,$14,$81,$10 .db $81,$54,$82,$10,$00,$50,$81,$10 .db $02,$50,$90,$10,$81,$18,$00,$10 .db $83,$18,$81,$10,$07,$18,$10,$50 .db $90,$10,$50,$14,$94,$81,$14,$81 .db $10,$08,$14,$54,$10,$50,$10,$90 .db $10,$50,$90,$81,$10,$84,$50,$81 .db $18,$07,$10,$50,$10,$50,$90,$10 .db $18,$50,$83,$14,$81,$10,$81,$14 .db $81,$10,$04,$90,$50,$10,$50,$90 .db $85,$10,$00,$50,$81,$18,$01,$90 .db $D0,$81,$90,$03,$10,$18,$10,$50 .db $83,$14,$81,$D0,$81,$14,$83,$90 .db $01,$50,$90,$81,$18,$00,$50,$84 .db $10,$81,$18,$01,$10,$50,$81,$10 .db $81,$90,$81,$D0,$83,$14,$81,$50 .db $81,$14,$00,$54,$81,$14,$81,$10 .db $00,$50,$81,$18,$00,$50,$82,$10 .db $01,$50,$10,$81,$18,$03,$10,$50 .db $18,$50,$87,$14,$81,$50,$81,$14 .db $00,$54,$81,$14,$81,$10,$05,$50 .db $10,$50,$90,$D0,$90,$82,$D0,$05 .db $10,$50,$10,$50,$10,$50,$87,$14 .db $81,$50,$02,$14,$D4,$54,$81,$14 .db $02,$10,$90,$D0,$81,$90,$85,$10 .db $81,$D0,$03,$90,$D0,$10,$50,$83 .db $14,$00,$94,$82,$14,$81,$50,$00 .db $14,$82,$54,$01,$14,$50,$8E,$90 .db $00,$10,$87,$14,$81,$50,$82,$14 .db $01,$54,$14,$81,$50,$8E,$10,$87 .db $14,$81,$50,$84,$14,$81,$50,$8E .db $10,$87,$14,$81,$50,$00,$10,$81 .db $50,$86,$10,$00,$50,$88,$10,$00 .db $50,$83,$10,$00,$50,$81,$10,$81 .db $50,$8B,$10,$00,$50,$83,$10,$00 .db $D0,$86,$10,$00,$50,$82,$10,$82 .db $50,$84,$10,$01,$50,$90,$83,$10 .db $04,$D0,$10,$50,$10,$50,$87,$10 .db $83,$50,$81,$10,$81,$50,$84,$10 .db $00,$50,$83,$90,$81,$D0,$01,$10 .db $50,$84,$10,$00,$50,$85,$10,$81 .db $50,$81,$10,$81,$50,$82,$10,$01 .db $D0,$10,$81,$50,$82,$10,$00,$50 .db $81,$10,$00,$50,$83,$10,$01,$90 .db $D0,$83,$90,$00,$D0,$81,$10,$84 .db $50,$83,$10,$82,$50,$82,$10,$00 .db $50,$81,$10,$00,$50,$81,$18,$88 .db $10,$02,$D0,$90,$10,$83,$50,$84 .db $10,$82,$50,$85,$10,$81,$18,$86 .db $90,$83,$10,$01,$50,$10,$82,$50 .db $86,$10,$00,$50,$82,$10,$00,$D0 .db $81,$10,$02,$18,$D8,$50,$84,$10 .db $82,$90,$81,$10,$01,$50,$10,$82 .db $50,$85,$10,$00,$D0,$82,$90,$81 .db $D0,$81,$10,$81,$D8,$00,$50,$86 .db $10,$82,$90,$02,$D0,$10,$50,$86 .db $10,$00,$D0,$87,$10,$02,$58,$14 .db $50,$84,$10,$02,$50,$10,$50,$81 .db $10,$00,$50,$87,$10,$81,$D0,$85 .db $10,$03,$50,$D8,$58,$14,$81,$54 .db $88,$10,$00,$50,$8B,$10,$00,$50 .db $96,$10,$81,$14,$85,$10,$81,$50 .db $95,$10,$81,$14,$01,$10,$50,$84 .db $10,$00,$50,$95,$10,$81,$14,$01 .db $90,$D0,$81,$90,$82,$10,$00,$50 .db $91,$10,$81,$50,$81,$10,$81,$14 .db $01,$10,$50,$81,$10,$83,$D0,$92 .db $10,$00,$50,$81,$10,$81,$14,$01 .db $10,$50,$81,$10,$00,$D0,$81,$50 .db $00,$10,$8E,$18,$86,$10,$81,$14 .db $82,$10,$81,$D0,$81,$50,$00,$10 .db $8E,$18,$01,$50,$90,$84,$10,$81 .db $14,$81,$10,$81,$D0,$81,$10,$01 .db $50,$10,$8E,$18,$00,$50,$82,$90 .db $82,$10,$81,$14,$81,$10,$81,$50 .db $81,$10,$01,$50,$10,$86,$18,$00 .db $58,$84,$18,$01,$D8,$98,$82,$50 .db $00,$90,$82,$D0,$81,$14,$81,$10 .db $81,$50,$81,$10,$01,$50,$10,$86 .db $18,$00,$58,$83,$18,$81,$D8,$87 .db $50,$81,$14,$81,$10,$81,$50,$81 .db $10,$03,$50,$10,$18,$58,$84,$18 .db $00,$58,$82,$18,$81,$58,$81,$14 .db $86,$50,$81,$14,$82,$10,$00,$50 .db $81,$10,$03,$50,$10,$98,$D8,$83 .db $98,$85,$18,$01,$58,$14,$81,$54 .db $85,$50,$81,$14,$81,$10,$01,$D0 .db $10,$81,$50,$82,$18,$00,$58,$83 .db $18,$01,$98,$D8,$81,$18,$01,$98 .db $D8,$81,$58,$81,$18,$81,$58,$83 .db $50,$81,$14,$82,$D0,$00,$10,$84 .db $18,$00,$58,$8A,$18,$00,$58,$83 .db $18,$00,$58,$82,$50,$81,$14,$82 .db $50,$00,$10,$84,$18,$00,$58,$84 .db $18,$00,$58,$82,$18,$00,$58,$82 .db $18,$00,$58,$85,$18,$81,$14,$03 .db $50,$10,$50,$10,$81,$98,$81,$18 .db $01,$98,$D8,$83,$98,$81,$18,$82 .db $98,$00,$D8,$82,$98,$00,$D8,$81 .db $98,$00,$D8,$82,$18,$81,$14,$04 .db $50,$10,$50,$10,$50,$81,$98,$86 .db $18,$01,$98,$D8,$8A,$18,$81,$D8 .db $00,$18,$81,$14,$82,$50,$02,$10 .db $14,$54,$82,$98,$01,$10,$50,$86 .db $18,$01,$10,$50,$81,$18,$04,$10 .db $50,$18,$10,$50,$82,$18,$81,$14 .db $04,$50,$10,$50,$10,$18,$81,$54 .db $00,$50,$81,$10,$81,$50,$81,$18 .db $84,$10,$00,$50,$82,$10,$00,$50 .db $81,$10,$00,$50,$82,$18,$81,$14 .db $82,$50,$03,$10,$94,$18,$54,$83 .db $10,$00,$50,$8D,$10,$00,$50,$82 .db $10,$81,$14,$02,$50,$10,$50,$81 .db $14,$00,$18,$97,$10,$81,$14,$9D .db $10,$81,$50,$9D,$10,$81,$50,$9D .db $10,$81,$50,$9D,$10,$81,$50,$9D .db $10,$81,$50,$82,$10,$00,$14,$81 .db $10,$81,$14,$81,$10,$82,$14,$81 .db $10,$00,$14,$81,$10,$00,$14,$81 .db $10,$00,$14,$81,$10,$00,$14,$88 .db $10,$08,$14,$10,$14,$10,$14,$10 .db $14,$10,$14,$82,$10,$0A,$14,$10 .db $14,$10,$14,$10,$14,$10,$14,$10 .db $14,$88,$10,$00,$14,$82,$10,$04 .db $14,$10,$14,$10,$14,$82,$10,$00 .db $14,$82,$10,$06,$14,$10,$14,$10 .db $14,$10,$14,$89,$10,$00,$14,$81 .db $10,$03,$14,$10,$14,$10,$82,$14 .db $01,$10,$14,$82,$10,$01,$14,$10 .db $82,$14,$01,$10,$14,$8A,$10,$01 .db $14,$10,$81,$14,$81,$10,$00,$14 .db $82,$10,$00,$14,$82,$10,$06,$14 .db $10,$14,$10,$14,$10,$14,$88,$10 .db $04,$14,$10,$14,$10,$14,$82,$10 .db $00,$14,$82,$10,$0A,$14,$10,$14 .db $10,$14,$10,$14,$10,$14,$10,$14 .db $86,$10,$81,$90,$87,$10,$82,$18 .db $81,$58,$00,$54,$83,$14,$81,$54 .db $00,$50,$81,$10,$00,$50,$88,$10 .db $00,$50,$83,$10,$85,$18,$00,$58 .db $85,$18,$81,$54,$02,$10,$90,$D0 .db $87,$10,$81,$50,$8A,$18,$00,$94 .db $85,$18,$82,$10,$00,$50,$87,$10 .db $81,$50,$88,$18,$00,$58,$81,$14 .db $85,$18,$82,$10,$00,$50,$88,$10 .db $81,$50,$85,$18,$03,$58,$18,$58 .db $14,$86,$18,$82,$10,$00,$50,$89 .db $10,$81,$50,$83,$18,$03,$98,$D8 .db $98,$58,$87,$18,$83,$10,$00,$50 .db $89,$10,$03,$50,$18,$10,$50,$81 .db $18,$01,$58,$18,$81,$58,$86,$18 .db $01,$10,$90,$81,$10,$00,$D0,$89 .db $10,$00,$50,$81,$10,$81,$50,$05 .db $18,$58,$18,$10,$50,$58,$81,$18 .db $85,$10,$01,$50,$90,$8E,$10,$00 .db $50,$83,$10,$00,$50,$87,$10,$01 .db $50,$90,$9B,$10,$82,$90,$87,$10 .db $81,$1C,$00,$5C,$81,$1C,$81,$5C .db $81,$1C,$81,$5C,$00,$10,$81,$1C .db $81,$5C,$01,$10,$50,$81,$1C,$81 .db $5C,$81,$1C,$81,$5C,$01,$10,$50 .db $81,$10,$81,$1C,$82,$10,$81,$1C .db $81,$5C,$81,$1C,$81,$5C,$00,$10 .db $81,$1C,$81,$5C,$01,$10,$50,$81 .db $1C,$81,$5C,$81,$1C,$81,$5C,$01 .db $10,$50,$81,$10,$83,$1C,$81,$5C .db $00,$1C,$81,$5C,$81,$1C,$81,$5C .db $00,$10,$81,$1C,$81,$5C,$01,$10 .db $50,$81,$1C,$81,$5C,$81,$1C,$00 .db $5C,$81,$1C,$81,$5C,$00,$10,$83 .db $1C,$81,$5C,$84,$10,$00,$50,$86 .db $10,$00,$50,$81,$1C,$81,$5C,$82 .db $10,$81,$1C,$81,$5C,$00,$10,$83 .db $1C,$81,$5C,$81,$1C,$81,$5C,$01 .db $10,$50,$82,$10,$06,$50,$10,$50 .db $10,$50,$10,$50,$81,$10,$81,$1C .db $81,$5C,$03,$1C,$5C,$1C,$10,$83 .db $1C,$81,$5C,$81,$1C,$81,$5C,$84 .db $10,$08,$50,$10,$50,$90,$D0,$10 .db $50,$10,$50,$81,$1C,$81,$5C,$83 .db $10,$83,$1C,$81,$5C,$81,$1C,$81 .db $5C,$82,$10,$02,$50,$10,$50,$86 .db $10,$00,$50,$81,$1C,$81,$5C,$81 .db $1C,$01,$5C,$10,$83,$1C,$81,$5C .db $81,$1C,$81,$5C,$82,$10,$02,$50 .db $10,$50,$81,$1C,$81,$5C,$03,$10 .db $50,$10,$50,$81,$1C,$81,$5C,$81 .db $1C,$01,$5C,$10,$83,$1C,$81,$5C .db $81,$1C,$81,$5C,$82,$10,$02,$50 .db $10,$50,$81,$1C,$81,$5C,$03,$10 .db $50,$10,$50,$81,$1C,$81,$5C,$81 .db $1C,$01,$5C,$10,$83,$1C,$81,$5C .db $81,$1C,$81,$5C,$82,$10,$02,$50 .db $10,$50,$81,$1C,$81,$5C,$83,$10 .db $81,$1C,$81,$5C,$83,$10,$83,$1C .db $00,$5C,$81,$1C,$81,$5C,$81,$10 .db $00,$50,$82,$10,$02,$50,$10,$50 .db $81,$10,$09,$50,$10,$14,$54,$10 .db $50,$10,$50,$10,$50,$81,$10,$81 .db $1C,$82,$10,$81,$1C,$81,$5C,$81 .db $10,$00,$50,$82,$10,$02,$50,$10 .db $50,$81,$10,$09,$50,$10,$94,$D4 .db $10,$50,$10,$50,$10,$50,$81,$10 .db $81,$18,$81,$1C,$81,$5C,$00,$1C .db $81,$5C,$83,$10,$00,$50,$83,$10 .db $00,$50,$81,$10,$00,$50,$82,$10 .db $00,$50,$81,$1C,$81,$5C,$83,$10 .db $81,$1C,$81,$5C,$01,$10,$50,$84 .db $10,$00,$50,$81,$10,$02,$50,$10 .db $50,$81,$10,$00,$50,$82,$10,$00 .db $50,$81,$1C,$81,$5C,$83,$10,$81 .db $1C,$81,$5C,$05,$10,$50,$10,$50 .db $10,$50,$83,$10,$00,$50,$81,$10 .db $00,$50,$81,$10,$00,$50,$81,$1C .db $81,$5C,$00,$1C,$81,$5C,$81,$10 .db $81,$18,$01,$10,$50,$81,$1C,$81 .db $5C,$03,$10,$50,$10,$50,$81,$1C .db $81,$5C,$82,$10,$00,$50,$81,$10 .db $00,$50,$81,$1C,$81,$5C,$81,$10 .db $00,$50,$84,$10,$00,$50,$81,$1C .db $81,$5C,$03,$10,$50,$10,$50,$81 .db $1C,$81,$5C,$03,$10,$50,$10,$50 .db $81,$1C,$81,$5C,$00,$1C,$81,$5C .db $81,$10,$00,$50,$85,$10,$81,$1C .db $81,$5C,$03,$10,$50,$10,$50,$81 .db $1C,$81,$5C,$03,$10,$50,$10,$50 .db $81,$1C,$81,$5C,$01,$10,$50,$81 .db $1C,$81,$5C,$85,$10,$00,$50,$82 .db $10,$02,$50,$10,$50,$81,$10,$00 .db $50,$81,$1C,$81,$5C,$81,$10,$81 .db $1C,$81,$5C,$01,$10,$50,$81,$1C .db $81,$5C,$81,$10,$81,$18,$81,$10 .db $00,$50,$82,$10,$02,$50,$10,$50 .db $81,$10,$00,$50,$81,$1C,$81,$5C .db $01,$10,$50,$81,$1C,$81,$5C,$01 .db $10,$50,$81,$1C,$81,$5C,$81,$10 .db $81,$18,$00,$10,$81,$1C,$81,$5C .db $81,$10,$81,$1C,$81,$5C,$00,$10 .db $81,$1C,$81,$5C,$01,$10,$50,$81 .db $1C,$81,$5C,$01,$10,$50,$87,$10 .db $83,$14,$00,$50,$83,$10,$82,$50 .db $81,$10,$8F,$14,$84,$10,$00,$14 .db $81,$10,$00,$14,$82,$10,$82,$14 .db $81,$10,$00,$14,$81,$10,$05,$14 .db $10,$14,$10,$14,$10,$82,$14,$82 .db $10,$81,$90,$A5,$10,$01,$54,$14 .db $83,$10,$01,$54,$14,$83,$10,$01 .db $54,$14,$83,$10,$01,$54,$14,$8B .db $10,$01,$D4,$94,$83,$10,$01,$D4 .db $94,$83,$10,$01,$D4,$94,$83,$10 .db $01,$D4,$94,$C8,$10,$82,$50,$01 .db $10,$50,$83,$10,$01,$54,$14,$83 .db $10,$01,$54,$14,$83,$10,$01,$54 .db $14,$87,$10,$00,$90,$82,$D0,$01 .db $90,$D0,$83,$10,$01,$D4,$94,$83 .db $10,$01,$D4,$94,$83,$10,$01,$D4 .db $94,$C5,$10,$83,$1C,$00,$14,$88 .db $1C,$01,$18,$58,$81,$1C,$01,$54 .db $14,$89,$1C,$81,$10,$81,$1C,$81 .db $14,$86,$1C,$08,$14,$1C,$18,$10 .db $50,$58,$1C,$D4,$94,$82,$1C,$00 .db $14,$85,$1C,$81,$10,$00,$1C,$82 .db $14,$82,$1C,$01,$54,$14,$82,$1C .db $00,$18,$81,$10,$81,$50,$00,$58 .db $8B,$1C,$81,$10,$00,$1C,$82,$14 .db $82,$1C,$01,$D4,$94,$82,$1C,$81 .db $10,$00,$90,$81,$10,$03,$50,$58 .db $1C,$14,$83,$1C,$01,$54,$14,$82 .db $1C,$81,$10,$8A,$1C,$00,$18,$82 .db $10,$00,$D0,$81,$10,$00,$50,$85 .db $1C,$01,$D4,$94,$82,$1C,$81,$10 .db $82,$1C,$87,$18,$84,$10,$02,$D0 .db $10,$50,$86,$18,$00,$58,$82,$1C .db $81,$10,$02,$54,$14,$1C,$81,$10 .db $00,$50,$84,$10,$00,$50,$84,$10 .db $02,$D0,$10,$50,$84,$10,$81,$50 .db $82,$1C,$81,$10,$05,$D4,$94,$1C .db $10,$90,$D0,$84,$90,$00,$D0,$85 .db $10,$01,$90,$D0,$84,$10,$01,$D0 .db $50,$82,$1C,$81,$10,$82,$1C,$00 .db $50,$87,$10,$00,$18,$83,$10,$00 .db $18,$84,$10,$02,$50,$90,$D0,$83 .db $1C,$81,$10,$04,$1C,$14,$1C,$50 .db $90,$85,$10,$00,$18,$85,$10,$00 .db $18,$82,$10,$03,$50,$90,$D0,$DC .db $83,$1C,$81,$10,$82,$1C,$02,$50 .db $10,$50,$82,$10,$02,$50,$10,$18 .db $85,$10,$00,$18,$82,$10,$01,$90 .db $D0,$85,$1C,$81,$10,$82,$18,$00 .db $50,$81,$10,$00,$90,$81,$10,$00 .db $D0,$81,$10,$00,$18,$83,$10,$00 .db $18,$81,$10,$06,$90,$D0,$10,$5C .db $1C,$5C,$1C,$82,$18,$84,$10,$02 .db $50,$10,$50,$88,$10,$00,$50,$83 .db $10,$00,$50,$81,$10,$00,$5C,$82 .db $1C,$82,$18,$83,$10,$06,$18,$50 .db $10,$D0,$10,$50,$90,$84,$10,$00 .db $90,$84,$10,$00,$50,$81,$10,$01 .db $50,$9C,$81,$1C,$84,$10,$81,$18 .db $01,$10,$50,$81,$10,$01,$50,$90 .db $85,$10,$01,$D0,$90,$81,$D0,$85 .db $10,$02,$50,$5C,$1C,$82,$18,$82 .db $10,$81,$18,$03,$D0,$10,$50,$90 .db $85,$10,$01,$D0,$1C,$82,$90,$81 .db $D0,$85,$10,$00,$9C,$8F,$10,$05 .db $D0,$9C,$DC,$1C,$50,$10,$81,$90 .db $00,$10,$81,$D0,$82,$10,$02,$50 .db $10,$50,$87,$10,$01,$90,$D0,$81 .db $10,$00,$D0,$81,$9C,$83,$1C,$00 .db $50,$81,$10,$01,$50,$D0,$81,$10 .db $81,$D0,$03,$10,$D0,$10,$50,$83 .db $10,$00,$18,$84,$10,$02,$D0,$9C .db $DC,$82,$1C,$00,$5C,$81,$1C,$00 .db $50,$82,$10,$83,$D0,$00,$90,$82 .db $10,$00,$1C,$83,$10,$81,$18,$81 .db $90,$81,$9C,$02,$DC,$1C,$5C,$82 .db $1C,$00,$5C,$81,$1C,$82,$10,$00 .db $50,$83,$10,$00,$50,$81,$90,$01 .db $DC,$1C,$85,$10,$02,$50,$10,$5C .db $86,$1C,$00,$5C,$81,$1C,$00,$50 .db $86,$10,$00,$50,$81,$10,$81,$1C .db $89,$10,$00,$50,$96,$10,$81,$14 DATA_04D678: .db $00,$C0,$C0,$C0,$30,$C0,$C0,$00 .db $C0,$20,$30,$C0,$C0,$C0,$C0,$D0 .db $40,$40,$40,$D0,$40,$80,$80,$00 .db $00,$00,$00,$40,$00,$80,$20,$80 .db $40,$40,$80,$60,$90,$00,$00,$C0 .db $00,$00,$00,$C0,$40,$20,$40,$C0 .db $E0,$C0,$00,$C0,$00,$00,$C0,$20 .db $80,$80,$80,$80,$30,$40,$E0,$00 .db $40,$E0,$E0,$D0,$70,$FF,$40,$90 .db $55,$80,$80,$80,$80,$00,$C0,$C0 .db $C0,$C0,$40,$00,$80,$A0,$30,$AA .db $60,$D0,$80,$00,$55,$55,$00,$00 .db $AA,$55,$FF,$FF,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00 CODE_04D6E9: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04D6EB: 64 1C STZ RAM_ScreenBndryYLo CODE_04D6ED: A9 FF FF LDA.W #$FFFF CODE_04D6F0: 85 4D STA $4D CODE_04D6F2: 85 4F STA $4F CODE_04D6F4: A9 02 02 LDA.W #$0202 CODE_04D6F7: 85 55 STA $55 CODE_04D6F9: AD D6 0D LDA.W $0DD6 CODE_04D6FC: 4A LSR CODE_04D6FD: 4A LSR CODE_04D6FE: 29 FF 00 AND.W #$00FF CODE_04D701: AA TAX CODE_04D702: BD 11 1F LDA.W $1F11,X CODE_04D705: 29 0F 00 AND.W #$000F CODE_04D708: F0 0A BEQ CODE_04D714 CODE_04D70A: A9 20 00 LDA.W #$0020 CODE_04D70D: 85 47 STA $47 CODE_04D70F: A9 00 02 LDA.W #$0200 CODE_04D712: 85 1C STA RAM_ScreenBndryYLo CODE_04D714: 22 1A 88 05 JSL.L CODE_05881A CODE_04D718: 22 AD 87 00 JSL.L CODE_0087AD CODE_04D71C: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04D71E: E6 47 INC $47 CODE_04D720: A5 1C LDA RAM_ScreenBndryYLo CODE_04D722: 18 CLC CODE_04D723: 69 10 00 ADC.W #$0010 CODE_04D726: 85 1C STA RAM_ScreenBndryYLo CODE_04D728: 29 FF 01 AND.W #$01FF CODE_04D72B: D0 E7 BNE CODE_04D714 CODE_04D72D: A5 20 LDA $20 CODE_04D72F: 85 1C STA RAM_ScreenBndryYLo CODE_04D731: 64 47 STZ $47 CODE_04D733: 9C 25 19 STZ.W $1925 CODE_04D736: 64 5B STZ RAM_IsVerticalLvl CODE_04D738: A9 FF FF LDA.W #$FFFF CODE_04D73B: 85 4D STA $4D CODE_04D73D: 85 4F STA $4F CODE_04D73F: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04D741: A9 80 LDA.B #$80 CODE_04D743: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_04D746: 9C 16 21 STZ.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_04D749: A9 30 LDA.B #$30 CODE_04D74B: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_04D74E: A2 06 LDX.B #$06 CODE_04D750: BF B3 DA 04 LDA.L DATA_04DAB3,X CODE_04D754: 9D 10 43 STA.W $4310,X CODE_04D757: CA DEX CODE_04D758: 10 F6 BPL CODE_04D750 CODE_04D75A: AD D6 0D LDA.W $0DD6 CODE_04D75D: 4A LSR CODE_04D75E: 4A LSR CODE_04D75F: AA TAX CODE_04D760: BD 11 1F LDA.W $1F11,X CODE_04D763: F0 05 BEQ CODE_04D76A CODE_04D765: A9 60 LDA.B #$60 CODE_04D767: 8D 13 43 STA.W $4313 ; A Address (High Byte) CODE_04D76A: A9 02 LDA.B #$02 CODE_04D76C: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable Return04D76F: 6B RTL ; Return CODE_04D770: 9F 00 C8 7F STA.L $7FC800,X CODE_04D774: 9F B0 C9 7F STA.L $7FC9B0,X CODE_04D778: 9F 60 CB 7F STA.L $7FCB60,X CODE_04D77C: 9F 10 CD 7F STA.L $7FCD10,X CODE_04D780: 9F C0 CE 7F STA.L $7FCEC0,X CODE_04D784: 9F 70 D0 7F STA.L $7FD070,X CODE_04D788: 9F 20 D2 7F STA.L $7FD220,X CODE_04D78C: 9F D0 D3 7F STA.L $7FD3D0,X CODE_04D790: 9F 80 D5 7F STA.L $7FD580,X CODE_04D794: 9F 30 D7 7F STA.L $7FD730,X CODE_04D798: 9F E0 D8 7F STA.L $7FD8E0,X CODE_04D79C: 9F 90 DA 7F STA.L $7FDA90,X CODE_04D7A0: 9F 40 DC 7F STA.L $7FDC40,X CODE_04D7A4: 9F F0 DD 7F STA.L $7FDDF0,X CODE_04D7A8: 9F A0 DF 7F STA.L $7FDFA0,X CODE_04D7AC: 9F 50 E1 7F STA.L $7FE150,X CODE_04D7B0: 9F 00 E3 7F STA.L $7FE300,X CODE_04D7B4: 9F B0 E4 7F STA.L $7FE4B0,X CODE_04D7B8: 9F 60 E6 7F STA.L $7FE660,X CODE_04D7BC: 9F 10 E8 7F STA.L $7FE810,X CODE_04D7C0: 9F C0 E9 7F STA.L $7FE9C0,X CODE_04D7C4: 9F 70 EB 7F STA.L $7FEB70,X CODE_04D7C8: 9F 20 ED 7F STA.L $7FED20,X CODE_04D7CC: 9F D0 EE 7F STA.L $7FEED0,X CODE_04D7D0: 9F 80 F0 7F STA.L $7FF080,X CODE_04D7D4: 9F 30 F2 7F STA.L $7FF230,X CODE_04D7D8: 9F E0 F3 7F STA.L $7FF3E0,X CODE_04D7DC: 9F 90 F5 7F STA.L $7FF590,X CODE_04D7E0: 9F 40 F7 7F STA.L $7FF740,X CODE_04D7E4: 9F F0 F8 7F STA.L $7FF8F0,X CODE_04D7E8: 9F A0 FA 7F STA.L $7FFAA0,X CODE_04D7EC: 9F 50 FC 7F STA.L $7FFC50,X CODE_04D7F0: E8 INX Return04D7F1: 60 RTS ; Return CODE_04D7F2: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04D7F4: A9 00 00 LDA.W #$0000 CODE_04D7F7: E2 20 SEP #$20 ; Accum (8 bit) CODE_04D7F9: A9 00 LDA.B #$00 CODE_04D7FB: 85 0D STA $0D CODE_04D7FD: A9 D0 LDA.B #$D0 CODE_04D7FF: 85 0E STA $0E CODE_04D801: A9 7E LDA.B #$7E CODE_04D803: 85 0F STA $0F CODE_04D805: A9 00 LDA.B #$00 CODE_04D807: 85 0A STA $0A CODE_04D809: A9 D8 LDA.B #$D8 CODE_04D80B: 85 0B STA $0B CODE_04D80D: A9 7E LDA.B #$7E CODE_04D80F: 85 0C STA $0C CODE_04D811: A9 00 LDA.B #$00 CODE_04D813: 85 04 STA $04 CODE_04D815: A9 C8 LDA.B #$C8 CODE_04D817: 85 05 STA $05 CODE_04D819: A9 7E LDA.B #$7E CODE_04D81B: 85 06 STA $06 CODE_04D81D: A0 01 00 LDY.W #$0001 CODE_04D820: 84 00 STY $00 CODE_04D822: A0 FF 07 LDY.W #$07FF CODE_04D825: A9 00 LDA.B #$00 CODE_04D827: 97 0A STA [$0A],Y CODE_04D829: 97 0D STA [$0D],Y CODE_04D82B: 88 DEY CODE_04D82C: 10 F9 BPL CODE_04D827 CODE_04D82E: A0 00 00 LDY.W #$0000 CODE_04D831: BB TYX CODE_04D832: B7 04 LDA [$04],Y CODE_04D834: C9 56 CMP.B #$56 CODE_04D836: 90 11 BCC CODE_04D849 CODE_04D838: C9 81 CMP.B #$81 CODE_04D83A: B0 0D BCS CODE_04D849 CODE_04D83C: A5 00 LDA $00 CODE_04D83E: 97 0D STA [$0D],Y CODE_04D840: AA TAX CODE_04D841: BF 78 D6 04 LDA.L DATA_04D678,X CODE_04D845: 97 0A STA [$0A],Y CODE_04D847: E6 00 INC $00 CODE_04D849: C8 INY CODE_04D84A: C0 00 08 CPY.W #$0800 CODE_04D84D: D0 E3 BNE CODE_04D832 CODE_04D84F: 64 0F STZ $0F CODE_04D851: 20 49 DA JSR.W CODE_04DA49 CODE_04D854: E6 0F INC $0F CODE_04D856: A5 0F LDA $0F CODE_04D858: C9 6F CMP.B #$6F CODE_04D85A: D0 F5 BNE CODE_04D851 Return04D85C: 60 RTS ; Return DATA_04D85D: .db $00,$00,$00,$00,$00,$00,$69,$04 .db $4B,$04,$29,$04,$09,$04,$D3,$00 .db $E5,$00,$A5,$00,$D1,$00,$85,$00 .db $A9,$00,$CB,$00,$BD,$00,$9D,$00 .db $A5,$00,$07,$02,$00,$00,$27,$02 .db $12,$05,$08,$06,$E3,$04,$C8,$04 .db $2A,$06,$EC,$04,$0C,$06,$1C,$06 .db $4A,$06,$00,$00,$E0,$04,$3E,$00 .db $30,$01,$34,$01,$36,$01,$3A,$01 .db $00,$00,$57,$01,$84,$01,$3A,$01 .db $00,$00,$00,$00,$AA,$06,$76,$06 .db $C8,$06,$AC,$06,$76,$06,$00,$00 .db $00,$00,$A4,$06,$AA,$06,$C4,$06 .db $00,$00,$04,$03,$00,$00,$00,$00 .db $79,$05,$77,$05,$59,$05,$74,$05 .db $00,$00,$54,$05,$00,$00,$34,$05 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$B3,$03,$00,$00 .db $00,$00,$00,$00,$DF,$02,$DC,$02 .db $00,$00,$7E,$02,$00,$00,$00,$00 .db $00,$00,$E0,$04,$E0,$04,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$34,$05,$34,$05 .db $00,$00,$00,$00,$87,$07,$00,$00 .db $F0,$01,$68,$03,$65,$03,$B5,$03 .db $00,$00,$36,$07,$39,$07,$3C,$07 .db $1C,$07,$19,$07,$16,$07,$13,$07 .db $11,$07,$00,$00,$00,$00,$00,$00 DATA_04D93D: .db $00,$00,$00,$00,$00,$00,$21,$92 .db $21,$16,$20,$92,$20,$12,$23,$46 .db $23,$8A,$22,$8A,$23,$42,$22,$0A .db $22,$92,$23,$16,$22,$DA,$22,$5A .db $22,$8A,$28,$0E,$00,$00,$28,$8E .db $24,$04,$28,$10,$23,$86,$23,$10 .db $28,$94,$23,$98,$28,$18,$28,$58 .db $29,$14,$00,$00,$23,$80,$20,$DC .db $24,$C0,$24,$C8,$24,$CC,$24,$D4 .db $00,$00,$25,$4E,$26,$08,$24,$D4 .db $00,$00,$00,$00,$2A,$94,$29,$CC .db $2B,$10,$2A,$98,$29,$CC,$00,$00 .db $00,$00,$2A,$88,$2A,$94,$2B,$08 .db $00,$00,$2C,$08,$00,$00,$00,$00 .db $25,$D2,$25,$CE,$25,$52,$25,$C8 .db $00,$00,$25,$48,$00,$00,$24,$C8 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$2E,$C6,$00,$00 .db $00,$00,$00,$00,$2B,$5E,$2B,$58 .db $00,$00,$29,$DC,$00,$00,$00,$00 .db $00,$00,$23,$80,$23,$80,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$24,$C8,$24,$C8 .db $00,$00,$00,$00,$2E,$0E,$00,$00 .db $27,$C0,$2D,$90,$2D,$8A,$2E,$CA .db $00,$00,$2C,$CC,$2C,$D2,$2C,$D8 .db $2C,$58,$2C,$52,$2C,$4C,$2C,$46 .db $2C,$42,$00,$00,$00,$00,$00,$00 DATA_04DA1D: .db $6E,$6F,$70,$71,$72,$73,$74,$75 .db $59,$53,$52,$83,$4D,$57,$5A,$76 .db $78,$7A,$7B,$7D,$7F,$54 DATA_04DA33: .db $66,$67,$68,$69,$6A,$6B,$6C,$6D .db $58,$43,$44,$45,$25,$5E,$5F,$77 .db $79,$63,$7C,$7E,$80,$23 CODE_04DA49: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04DA4B: A5 0F LDA $0F CODE_04DA4D: 29 F8 00 AND.W #$00F8 CODE_04DA50: 4A LSR CODE_04DA51: 4A LSR CODE_04DA52: 4A LSR CODE_04DA53: A8 TAY CODE_04DA54: A5 0F LDA $0F CODE_04DA56: 29 07 00 AND.W #$0007 CODE_04DA59: AA TAX CODE_04DA5A: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DA5C: B9 02 1F LDA.W $1F02,Y CODE_04DA5F: 3F 4B E4 04 AND.L DATA_04E44B,X CODE_04DA63: F0 47 BEQ Return04DAAC CODE_04DA65: C2 20 REP #$20 ; Accum (16 bit) CODE_04DA67: A9 00 C8 LDA.W #$C800 CODE_04DA6A: 85 04 STA $04 CODE_04DA6C: A5 0F LDA $0F CODE_04DA6E: 29 FF 00 AND.W #$00FF CODE_04DA71: 0A ASL CODE_04DA72: AA TAX CODE_04DA73: BF 5D D8 04 LDA.L DATA_04D85D,X CODE_04DA77: A8 TAY CODE_04DA78: A2 15 00 LDX.W #$0015 CODE_04DA7B: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DA7D: A9 7E LDA.B #$7E CODE_04DA7F: 85 06 STA $06 CODE_04DA81: B7 04 LDA [$04],Y CODE_04DA83: DF 1D DA 04 CMP.L DATA_04DA1D,X CODE_04DA87: F0 06 BEQ CODE_04DA8F CODE_04DA89: CA DEX CODE_04DA8A: 10 F7 BPL CODE_04DA83 CODE_04DA8C: 4C 9D DA JMP.W CODE_04DA9D CODE_04DA8F: BF 33 DA 04 LDA.L DATA_04DA33,X CODE_04DA93: 97 04 STA [$04],Y CODE_04DA95: E0 15 00 CPX.W #$0015 CODE_04DA98: D0 03 BNE CODE_04DA9D ADDR_04DA9A: C8 INY ADDR_04DA9B: 97 04 STA [$04],Y CODE_04DA9D: A5 0F LDA $0F CODE_04DA9F: 20 77 E6 JSR.W CODE_04E677 CODE_04DAA2: E2 10 SEP #$10 ; Index (8 bit) CODE_04DAA4: 9C 86 1B STZ.W $1B86 CODE_04DAA7: A5 0F LDA $0F CODE_04DAA9: 20 F1 E9 JSR.W CODE_04E9F1 Return04DAAC: 60 RTS ; Return CODE_04DAAD: 08 PHP CODE_04DAAE: 20 6A DC JSR.W CODE_04DC6A CODE_04DAB1: 28 PLP Return04DAB2: 6B RTL ; Return DATA_04DAB3: .db $01,$18,$00,$40,$7F,$00,$20 CODE_04DABA: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DABC: C2 10 REP #$10 ; Index (16 bit) CODE_04DABE: B7 00 LDA [$00],Y CODE_04DAC0: 85 03 STA $03 CODE_04DAC2: 29 80 AND.B #$80 CODE_04DAC4: D0 10 BNE CODE_04DAD6 CODE_04DAC6: C8 INY CODE_04DAC7: B7 00 LDA [$00],Y CODE_04DAC9: 9F 00 40 7F STA.L $7F4000,X CODE_04DACD: E8 INX CODE_04DACE: E8 INX CODE_04DACF: C6 03 DEC $03 CODE_04DAD1: 10 F3 BPL CODE_04DAC6 CODE_04DAD3: 4C E9 DA JMP.W CODE_04DAE9 CODE_04DAD6: A5 03 LDA $03 CODE_04DAD8: 29 7F AND.B #$7F CODE_04DADA: 85 03 STA $03 CODE_04DADC: C8 INY CODE_04DADD: B7 00 LDA [$00],Y CODE_04DADF: 9F 00 40 7F STA.L $7F4000,X CODE_04DAE3: E8 INX CODE_04DAE4: E8 INX CODE_04DAE5: C6 03 DEC $03 CODE_04DAE7: 10 F6 BPL CODE_04DADF CODE_04DAE9: C8 INY CODE_04DAEA: E4 0E CPX $0E CODE_04DAEC: 90 CC BCC CODE_04DABA Return04DAEE: 60 RTS ; Return CODE_04DAEF: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04DAF1: AD E8 1D LDA.W $1DE8 CODE_04DAF4: 22 DF 86 00 JSL.L ExecutePtr Ptrs04DAF8: 18 DB .dw CODE_04DB18 B6 DC .dw CODE_04DCB6 B6 DC .dw CODE_04DCB6 B6 DC .dw CODE_04DCB6 B6 DC .dw CODE_04DCB6 9D DB .dw CODE_04DB9D 18 DB .dw CODE_04DB18 CF DB .dw CODE_04DBCF DATA_04DB08: .db $00,$F9,$00,$07 DATA_04DB0C: .db $00,$00,$00,$70 DATA_04DB10: .db $C0,$FA,$40,$05 DATA_04DB14: .db $00,$00,$00,$54 CODE_04DB18: C2 20 REP #$20 ; Accum (16 bit) CODE_04DB1A: AE 8C 1B LDX.W $1B8C CODE_04DB1D: AD 8D 1B LDA.W $1B8D CODE_04DB20: 18 CLC CODE_04DB21: 7D 08 DB ADC.W DATA_04DB08,X CODE_04DB24: 8D 8D 1B STA.W $1B8D CODE_04DB27: 38 SEC CODE_04DB28: FD 0C DB SBC.W DATA_04DB0C,X CODE_04DB2B: 5D 08 DB EOR.W DATA_04DB08,X CODE_04DB2E: 10 13 BPL CODE_04DB43 CODE_04DB30: AD 8F 1B LDA.W $1B8F CODE_04DB33: 18 CLC CODE_04DB34: 7D 10 DB ADC.W DATA_04DB10,X CODE_04DB37: 8D 8F 1B STA.W $1B8F CODE_04DB3A: 38 SEC CODE_04DB3B: FD 14 DB SBC.W DATA_04DB14,X CODE_04DB3E: 5D 10 DB EOR.W DATA_04DB10,X CODE_04DB41: 30 1C BMI CODE_04DB5F CODE_04DB43: BD 0C DB LDA.W DATA_04DB0C,X CODE_04DB46: 8D 8D 1B STA.W $1B8D CODE_04DB49: BD 14 DB LDA.W DATA_04DB14,X CODE_04DB4C: 8D 8F 1B STA.W $1B8F CODE_04DB4F: EE E8 1D INC.W $1DE8 CODE_04DB52: 8A TXA CODE_04DB53: 49 02 00 EOR.W #$0002 CODE_04DB56: AA TAX CODE_04DB57: 8E 8C 1B STX.W $1B8C CODE_04DB5A: F0 03 BEQ CODE_04DB5F CODE_04DB5C: 20 93 9A JSR.W CODE_049A93 CODE_04DB5F: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DB61: AD 90 1B LDA.W $1B90 CODE_04DB64: 0A ASL CODE_04DB65: 85 00 STA $00 CODE_04DB67: AD 8E 1B LDA.W $1B8E CODE_04DB6A: 18 CLC CODE_04DB6B: 69 80 ADC.B #$80 CODE_04DB6D: EB XBA CODE_04DB6E: A9 80 LDA.B #$80 CODE_04DB70: 38 SEC CODE_04DB71: ED 8E 1B SBC.W $1B8E CODE_04DB74: C2 20 REP #$20 ; Accum (16 bit) CODE_04DB76: A2 00 LDX.B #$00 CODE_04DB78: A0 A8 LDY.B #$A8 CODE_04DB7A: E4 00 CPX $00 CODE_04DB7C: 90 03 BCC CODE_04DB81 CODE_04DB7E: A9 FF 00 LDA.W #$00FF CODE_04DB81: 99 EE 04 STA.W $04EE,Y CODE_04DB84: 9D 98 05 STA.W $0598,X CODE_04DB87: E8 INX CODE_04DB88: E8 INX CODE_04DB89: 88 DEY CODE_04DB8A: 88 DEY CODE_04DB8B: D0 ED BNE CODE_04DB7A CODE_04DB8D: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DB8F: A9 33 LDA.B #$33 CODE_04DB91: 85 41 STA $41 CODE_04DB93: A9 33 LDA.B #$33 CODE_04DB95: 85 43 STA $43 CODE_04DB97: A9 80 LDA.B #$80 CODE_04DB99: 8D 9F 0D STA.W $0D9F Return04DB9C: 60 RTS ; Return CODE_04DB9D: AD D6 0D LDA.W $0DD6 CODE_04DBA0: 4A LSR CODE_04DBA1: 4A LSR CODE_04DBA2: AA TAX CODE_04DBA3: BD 11 1F LDA.W $1F11,X CODE_04DBA6: AA TAX CODE_04DBA7: BF 02 DC 04 LDA.L DATA_04DC02,X CODE_04DBAB: 8D 31 19 STA.W $1931 CODE_04DBAE: 22 94 A5 00 JSL.L CODE_00A594 CODE_04DBB2: A9 FE LDA.B #$FE CODE_04DBB4: 8D 03 07 STA.W $0703 CODE_04DBB7: A9 01 LDA.B #$01 CODE_04DBB9: 8D 04 07 STA.W $0704 CODE_04DBBC: 9C 03 08 STZ.W $0803 CODE_04DBBF: A9 06 LDA.B #$06 CODE_04DBC1: 8D 80 06 STA.W $0680 CODE_04DBC4: EE E8 1D INC.W $1DE8 Return04DBC7: 60 RTS ; Return DATA_04DBC8: .db $02,$03,$04,$06,$07,$09,$05 CODE_04DBCF: 9C E8 1D STZ.W $1DE8 CODE_04DBD2: A9 04 LDA.B #$04 CODE_04DBD4: 8D D9 13 STA.W $13D9 CODE_04DBD7: AD D6 0D LDA.W $0DD6 CODE_04DBDA: 4A LSR CODE_04DBDB: 4A LSR CODE_04DBDC: A8 TAY CODE_04DBDD: AD B2 0D LDA.W $0DB2 CODE_04DBE0: F0 11 BEQ CODE_04DBF3 CODE_04DBE2: AD 9E 1B LDA.W $1B9E CODE_04DBE5: D0 0C BNE CODE_04DBF3 CODE_04DBE7: 98 TYA CODE_04DBE8: 49 01 EOR.B #$01 CODE_04DBEA: AA TAX CODE_04DBEB: B9 11 1F LDA.W $1F11,Y CODE_04DBEE: DD 11 1F CMP.W $1F11,X CODE_04DBF1: F0 0E BEQ Return04DC01 CODE_04DBF3: B9 11 1F LDA.W $1F11,Y CODE_04DBF6: AA TAX CODE_04DBF7: BF C8 DB 04 LDA.L DATA_04DBC8,X CODE_04DBFB: 8D FB 1D STA.W $1DFB ; / Change music CODE_04DBFE: 9C 9E 1B STZ.W $1B9E Return04DC01: 60 RTS ; Return DATA_04DC02: .db $11,$12,$13,$14,$15,$16,$17 CODE_04DC09: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04DC0B: AD D6 0D LDA.W $0DD6 ;\ CODE_04DC0E: 4A LSR ;| CODE_04DC0F: 4A LSR ;| get current player CODE_04DC10: AA TAX ;/ CODE_04DC11: BD 11 1F LDA.W $1F11,X ;\ current submap to player = X CODE_04DC14: AA TAX ;/ CODE_04DC15: BF 02 DC 04 LDA.L DATA_04DC02,X ;\ CODE_04DC19: 8D 31 19 STA.W $1931 ;/ make it mario start tileset (why do you need the submap to figure that one out?) CODE_04DC1C: A9 11 LDA.B #$11 ;\ CODE_04DC1E: 8D 2B 19 STA.W $192B ;/ set correct sprite GFX CODE_04DC21: A9 07 LDA.B #$07 CODE_04DC23: 8D 25 19 STA.W $1925 CODE_04DC26: A9 03 LDA.B #$03 CODE_04DC28: 85 5B STA RAM_IsVerticalLvl CODE_04DC2A: C2 10 REP #$10 ; Index (16 bit) CODE_04DC2C: A2 00 00 LDX.W #$0000 CODE_04DC2F: 8A TXA CODE_04DC30: 20 70 D7 JSR.W CODE_04D770 CODE_04DC33: E0 B0 01 CPX.W #$01B0 CODE_04DC36: D0 F8 BNE CODE_04DC30 CODE_04DC38: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04DC3A: A9 00 D0 LDA.W #$D000 CODE_04DC3D: 85 00 STA $00 CODE_04DC3F: A2 00 00 LDX.W #$0000 CODE_04DC42: A5 00 LDA $00 CODE_04DC44: 9D BE 0F STA.W $0FBE,X CODE_04DC47: A5 00 LDA $00 CODE_04DC49: 18 CLC CODE_04DC4A: 69 08 00 ADC.W #$0008 CODE_04DC4D: 85 00 STA $00 CODE_04DC4F: E8 INX CODE_04DC50: E8 INX CODE_04DC51: E0 00 04 CPX.W #$0400 CODE_04DC54: D0 EC BNE CODE_04DC42 CODE_04DC56: 8B PHB CODE_04DC57: A9 FF 07 LDA.W #$07FF CODE_04DC5A: A2 DF F7 LDX.W #$F7DF CODE_04DC5D: A0 00 C8 LDY.W #$C800 CODE_04DC60: 54 7E 0C MVN $7E,$0C CODE_04DC63: AB PLB CODE_04DC64: 20 F2 D7 JSR.W CODE_04D7F2 CODE_04DC67: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return04DC69: 6B RTL ; Return CODE_04DC6A: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04DC6C: 20 40 DD JSR.W CODE_04DD40 CODE_04DC6F: C2 20 REP #$20 ; Accum (16 bit) CODE_04DC71: A9 33 A5 LDA.W #$A533 CODE_04DC74: 85 00 STA $00 CODE_04DC76: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04DC78: A9 04 LDA.B #$04 CODE_04DC7A: 85 02 STA $02 CODE_04DC7C: C2 10 REP #$10 ; Index (16 bit) CODE_04DC7E: A0 00 40 LDY.W #$4000 CODE_04DC81: 84 0E STY $0E CODE_04DC83: A0 00 00 LDY.W #$0000 CODE_04DC86: BB TYX CODE_04DC87: 20 BA DA JSR.W CODE_04DABA CODE_04DC8A: C2 20 REP #$20 ; Accum (16 bit) CODE_04DC8C: A9 2B C0 LDA.W #$C02B CODE_04DC8F: 85 00 STA $00 CODE_04DC91: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DC93: A2 01 00 LDX.W #$0001 CODE_04DC96: A0 00 00 LDY.W #$0000 CODE_04DC99: 20 BA DA JSR.W CODE_04DABA CODE_04DC9C: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04DC9E: A9 00 LDA.B #$00 CODE_04DCA0: 85 0F STA $0F CODE_04DCA2: 20 53 E4 JSR.W CODE_04E453 CODE_04DCA5: E6 0F INC $0F CODE_04DCA7: A5 0F LDA $0F CODE_04DCA9: C9 6F CMP.B #$6F CODE_04DCAB: D0 F5 BNE CODE_04DCA2 Return04DCAD: 60 RTS ; Return DATA_04DCAE: .db $80,$40,$20,$10,$08,$04,$02,$01 CODE_04DCB6: 08 PHP CODE_04DCB7: C2 10 REP #$10 ; Index (16 bit) CODE_04DCB9: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DCBB: A2 00 D0 LDX.W #$D000 CODE_04DCBE: 86 65 STX $65 CODE_04DCC0: A9 05 LDA.B #$05 CODE_04DCC2: 85 67 STA $67 CODE_04DCC4: A2 00 00 LDX.W #$0000 CODE_04DCC7: 86 00 STX $00 CODE_04DCC9: AD E8 1D LDA.W $1DE8 CODE_04DCCC: 3A DEC A CODE_04DCCD: 85 01 STA $01 CODE_04DCCF: C2 20 REP #$20 ; Accum (16 bit) CODE_04DCD1: AD D6 0D LDA.W $0DD6 CODE_04DCD4: 4A LSR CODE_04DCD5: 4A LSR CODE_04DCD6: 29 FF 00 AND.W #$00FF CODE_04DCD9: AA TAX CODE_04DCDA: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DCDC: BD 11 1F LDA.W $1F11,X CODE_04DCDF: F0 07 BEQ CODE_04DCE8 CODE_04DCE1: A5 01 LDA $01 CODE_04DCE3: 18 CLC CODE_04DCE4: 69 04 ADC.B #$04 CODE_04DCE6: 85 01 STA $01 CODE_04DCE8: A6 00 LDX $00 CODE_04DCEA: BF 00 C8 7E LDA.L $7EC800,X CODE_04DCEE: 85 02 STA $02 CODE_04DCF0: C2 20 REP #$20 ; Accum (16 bit) CODE_04DCF2: BF 00 C8 7F LDA.L $7FC800,X CODE_04DCF6: 85 03 STA $03 CODE_04DCF8: A5 02 LDA $02 CODE_04DCFA: 0A ASL CODE_04DCFB: 0A ASL CODE_04DCFC: 0A ASL CODE_04DCFD: A8 TAY CODE_04DCFE: A5 00 LDA $00 CODE_04DD00: 29 FF 00 AND.W #$00FF CODE_04DD03: 0A ASL CODE_04DD04: 0A ASL CODE_04DD05: 48 PHA CODE_04DD06: 29 3F 00 AND.W #$003F CODE_04DD09: 85 02 STA $02 CODE_04DD0B: 68 PLA CODE_04DD0C: 0A ASL CODE_04DD0D: 29 80 0F AND.W #$0F80 CODE_04DD10: 05 02 ORA $02 CODE_04DD12: AA TAX CODE_04DD13: B7 65 LDA [$65],Y CODE_04DD15: 9F 00 E4 7E STA.L $7EE400,X CODE_04DD19: C8 INY CODE_04DD1A: C8 INY CODE_04DD1B: B7 65 LDA [$65],Y CODE_04DD1D: 9F 40 E4 7E STA.L $7EE440,X CODE_04DD21: C8 INY CODE_04DD22: C8 INY CODE_04DD23: B7 65 LDA [$65],Y CODE_04DD25: 9F 02 E4 7E STA.L $7EE402,X CODE_04DD29: C8 INY CODE_04DD2A: C8 INY CODE_04DD2B: B7 65 LDA [$65],Y CODE_04DD2D: 9F 42 E4 7E STA.L $7EE442,X CODE_04DD31: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DD33: E6 00 INC $00 CODE_04DD35: A5 00 LDA $00 CODE_04DD37: 29 FF AND.B #$FF CODE_04DD39: D0 AD BNE CODE_04DCE8 CODE_04DD3B: EE E8 1D INC.W $1DE8 CODE_04DD3E: 28 PLP Return04DD3F: 60 RTS ; Return CODE_04DD40: C2 10 REP #$10 ; Index (16 bit) CODE_04DD42: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DD44: A0 00 8D LDY.W #$8D00 CODE_04DD47: 84 02 STY $02 CODE_04DD49: A9 0C LDA.B #$0C CODE_04DD4B: 85 04 STA $04 CODE_04DD4D: A2 00 00 LDX.W #$0000 CODE_04DD50: 9B TXY CODE_04DD51: 20 57 DD JSR.W CODE_04DD57 CODE_04DD54: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return04DD56: 60 RTS ; Return CODE_04DD57: E2 20 SEP #$20 ; Accum (8 bit) CODE_04DD59: B7 02 LDA [$02],Y CODE_04DD5B: C8 INY CODE_04DD5C: 85 05 STA $05 CODE_04DD5E: 29 80 AND.B #$80 CODE_04DD60: D0 0F BNE CODE_04DD71 CODE_04DD62: B7 02 LDA [$02],Y CODE_04DD64: 9F 00 00 7F STA.L $7F0000,X CODE_04DD68: C8 INY CODE_04DD69: E8 INX CODE_04DD6A: C6 05 DEC $05 CODE_04DD6C: 10 F4 BPL CODE_04DD62 CODE_04DD6E: 4C 83 DD JMP.W CODE_04DD83 CODE_04DD71: A5 05 LDA $05 CODE_04DD73: 29 7F AND.B #$7F CODE_04DD75: 85 05 STA $05 CODE_04DD77: B7 02 LDA [$02],Y CODE_04DD79: 9F 00 00 7F STA.L $7F0000,X CODE_04DD7D: E8 INX CODE_04DD7E: C6 05 DEC $05 CODE_04DD80: 10 F7 BPL CODE_04DD79 CODE_04DD82: C8 INY CODE_04DD83: C2 20 REP #$20 ; Accum (16 bit) CODE_04DD85: B7 02 LDA [$02],Y CODE_04DD87: C9 FF FF CMP.W #$FFFF CODE_04DD8A: D0 CB BNE CODE_04DD57 Return04DD8C: 60 RTS ; Return ; Ending early because the next part is a big table DATA_04DD8D: .db $00,$09 DATA_04DD8F: .db $CC,$23,$04,$09,$8C,$23,$08,$09 .db $4E,$23,$0C,$09,$0E,$23,$10,$09 .db $D0,$22,$14,$09,$90,$22,$8C,$01 .db $02,$22,$B0,$01,$02,$22,$D4,$01 .db $02,$22,$44,$0A,$C6,$21,$48,$0A .db $44,$20,$4C,$0A,$86,$21,$48,$0A .db $04,$20,$00,$09,$E4,$23,$38,$09 .db $A4,$23,$28,$09,$24,$23,$18,$09 .db $26,$23,$1C,$09,$28,$23,$20,$09 .db $EC,$22,$24,$09,$AC,$22,$0C,$0B .db $2C,$22,$10,$0B,$EC,$21,$30,$09 .db $6C,$21,$34,$09,$68,$21,$38,$09 .db $E4,$20,$38,$09,$A4,$20,$3C,$09 .db $90,$10,$40,$09,$4C,$10,$44,$09 .db $0C,$10,$38,$09,$8C,$07,$38,$09 .db $0C,$07,$28,$09,$8C,$06,$48,$09 .db $14,$10,$4C,$09,$94,$07,$50,$09 .db $54,$07,$38,$09,$0C,$06,$04,$09 .db $8C,$05,$54,$09,$0E,$05,$E8,$09 .db $48,$06,$E8,$09,$C8,$06,$98,$09 .db $88,$06,$EC,$09,$12,$05,$F0,$09 .db $D2,$04,$F4,$09,$92,$04,$00,$00 .db $D8,$04,$24,$00,$98,$04,$48,$00 .db $D8,$03,$6C,$00,$56,$03,$90,$00 .db $56,$03,$B4,$00,$56,$03,$10,$05 .db $18,$05,$28,$09,$24,$05,$38,$0B .db $14,$07,$60,$09,$28,$05,$64,$09 .db $6A,$05,$68,$09,$AC,$05,$6C,$09 .db $2C,$06,$70,$09,$30,$06,$74,$09 .db $B2,$05,$78,$09,$32,$05,$68,$01 .db $FC,$07,$50,$0A,$C0,$0F,$D8,$00 .db $7C,$07,$FC,$00,$7C,$07,$20,$01 .db $7C,$07,$44,$01,$7C,$07,$50,$09 .db $D4,$06,$4C,$09,$94,$06,$7C,$09 .db $14,$06,$80,$09,$94,$05,$84,$09 .db $18,$07,$88,$09,$1A,$07,$48,$09 .db $9C,$07,$8C,$09,$1C,$10,$90,$09 .db $60,$10,$94,$09,$64,$10,$38,$09 .db $DC,$10,$98,$09,$84,$28,$A4,$09 .db $18,$31,$84,$09,$1C,$31,$A8,$09 .db $E0,$30,$4C,$09,$60,$30,$A0,$09 .db $CA,$30,$A0,$09,$0E,$31,$B0,$09 .db $10,$31,$B4,$09,$CC,$30,$B8,$09 .db $8C,$30,$BC,$09,$0C,$30,$BC,$09 .db $8C,$27,$BC,$09,$A0,$27,$BC,$09 .db $20,$27,$AC,$09,$A0,$26,$28,$09 .db $20,$26,$00,$0A,$64,$30,$04,$0A .db $A8,$30,$08,$0A,$28,$31,$18,$09 .db $22,$26,$98,$09,$26,$26,$C0,$09 .db $2A,$26,$C4,$09,$6C,$26,$C8,$09 .db $70,$26,$CC,$09,$B0,$26,$28,$09 .db $30,$27,$D0,$09,$70,$27,$38,$09 .db $B0,$27,$28,$09,$30,$30,$38,$09 .db $B0,$30,$38,$09,$F0,$30,$D4,$09 .db $B0,$31,$D8,$09,$2E,$32,$98,$09 .db $2A,$32,$E0,$09,$CC,$26,$BC,$09 .db $8C,$26,$E4,$09,$0C,$26,$DC,$09 .db $04,$27,$DC,$09,$C0,$26,$DC,$09 .db $40,$27,$98,$09,$B4,$01,$0C,$0B .db $B8,$01,$30,$0B,$88,$09,$34,$0B .db $A0,$09,$10,$0A,$8A,$09,$10,$0A .db $9E,$09,$0C,$0A,$8C,$09,$0C,$0A .db $9C,$09,$10,$0A,$8E,$09,$10,$0A .db $9A,$09,$0C,$0A,$90,$09,$0C,$0A .db $98,$09,$10,$0A,$92,$09,$10,$0A .db $96,$09,$14,$0A,$A4,$09,$A8,$03 .db $30,$08,$18,$0A,$AC,$09,$1C,$0A .db $F0,$09,$9C,$09,$70,$0A,$20,$0A .db $F0,$0A,$20,$0A,$70,$0B,$20,$0A .db $F0,$0B,$24,$0A,$70,$0C,$38,$09 .db $F0,$0C,$28,$0A,$30,$0D,$2C,$0A .db $98,$0A,$30,$0A,$9C,$0A,$14,$0B .db $10,$0B,$18,$0B,$90,$0B,$34,$0A .db $1C,$0B,$38,$0A,$5E,$0B,$3C,$0A .db $62,$0B,$40,$0A,$66,$0B,$20,$0A .db $E8,$0A,$9C,$09,$68,$0A,$7C,$0A .db $A4,$33,$7C,$0A,$E8,$33,$7C,$0A .db $68,$34,$18,$09,$A2,$33,$C0,$09 .db $A4,$33,$30,$09,$E8,$33,$54,$0A .db $28,$34,$38,$09,$A8,$34,$7C,$0A .db $98,$33,$7C,$0A,$9C,$33,$58,$0A .db $9E,$33,$98,$09,$9C,$33,$28,$09 .db $98,$33,$7C,$0A,$26,$36,$7C,$0A .db $20,$36,$5C,$0A,$68,$35,$14,$09 .db $A8,$35,$D8,$09,$26,$36,$1C,$09 .db $24,$36,$28,$09,$20,$36,$7C,$0A .db $2C,$35,$7C,$0A,$30,$35,$60,$0A .db $2A,$35,$98,$09,$2C,$35,$98,$09 .db $2E,$35,$98,$09,$30,$35,$7C,$0A .db $DA,$35,$7C,$0A,$98,$34,$7C,$0A .db $18,$34,$58,$0A,$1E,$36,$3C,$09 .db $1C,$36,$64,$0A,$D8,$35,$44,$09 .db $98,$35,$28,$09,$18,$35,$38,$09 .db $98,$34,$38,$09,$18,$34,$28,$09 .db $98,$33,$7C,$0A,$A0,$36,$7C,$0A .db $60,$37,$D0,$09,$60,$36,$38,$09 .db $E0,$36,$38,$09,$60,$37,$7C,$0A .db $9C,$33,$18,$09,$9A,$33,$98,$09 .db $9C,$33,$7C,$0A,$10,$35,$58,$0A .db $96,$33,$6C,$0A,$92,$33,$70,$0A .db $D0,$33,$74,$0A,$10,$34,$38,$09 .db $90,$34,$28,$09,$10,$35,$7C,$0A .db $1C,$35,$7C,$0A,$22,$35,$98,$09 .db $14,$35,$28,$09,$18,$35,$98,$09 .db $1C,$35,$98,$09,$20,$35,$98,$09 .db $24,$35,$7C,$0A,$10,$36,$D0,$09 .db $50,$35,$38,$09,$90,$35,$28,$09 .db $10,$36,$7C,$0A,$90,$36,$7C,$0A .db $0E,$37,$7C,$0A,$0A,$37,$7C,$0A .db $02,$37,$D0,$09,$50,$36,$78,$0A .db $D0,$36,$1C,$09,$0C,$37,$98,$09 .db $08,$37,$98,$09,$04,$37,$98,$09 .db $00,$37,$90,$0A,$12,$18,$94,$0A .db $AA,$2B,$98,$0A,$A8,$2B,$9C,$0A .db $A4,$2B,$94,$0A,$A2,$2B,$98,$0A .db $A0,$2B,$A0,$0A,$64,$2B,$A4,$0A .db $9A,$2B,$98,$0A,$98,$2B,$98,$0A .db $96,$2B,$98,$0A,$94,$2B,$9C,$0A .db $90,$2B,$A0,$0A,$5C,$2B,$A0,$0A .db $50,$2B,$A8,$0A,$10,$2B,$9C,$0A .db $90,$2A,$AC,$0A,$92,$2A,$98,$0A .db $94,$2A,$98,$0A,$96,$2A,$98,$0A .db $98,$2A,$A0,$0A,$50,$2A,$A8,$0A .db $10,$2A,$3C,$0B,$90,$29,$40,$0B .db $94,$29,$40,$0B,$98,$29,$A0,$0A .db $5C,$2A,$A8,$0A,$1C,$2A,$A8,$0A .db $DC,$29,$A0,$0A,$64,$2A,$A8,$0A .db $24,$2A,$A8,$0A,$E4,$29,$B0,$0A .db $90,$1D,$A0,$09,$8C,$1D,$B0,$0A .db $56,$1E,$B4,$0A,$5A,$1E,$B8,$0A .db $5C,$1D,$A0,$09,$18,$1D,$BC,$0A .db $90,$1C,$BC,$0A,$0C,$1C,$A0,$09 .db $0C,$1E,$C0,$0A,$8A,$1E,$C0,$0A .db $86,$1E,$BC,$0A,$04,$1E,$A0,$09 .db $84,$1D,$B8,$0A,$C6,$1C,$B0,$0A .db $0C,$1D,$A0,$09,$88,$1D,$A0,$09 .db $84,$1D,$B4,$0A,$80,$1D,$A0,$09 .db $3C,$16,$A0,$09,$BC,$16,$A0,$09 .db $B8,$16,$A0,$09,$B4,$16,$A0,$09 .db $30,$16,$A8,$0A,$70,$15,$C4,$0A .db $30,$15,$D8,$0A,$B8,$13,$4C,$09 .db $B0,$14,$C8,$0A,$32,$14,$CC,$0A .db $F4,$13,$D0,$0A,$B8,$13,$D4,$0A .db $B8,$12,$F8,$01,$F4,$11,$1C,$02 .db $F4,$11,$40,$02,$F4,$11,$64,$02 .db $F4,$11,$88,$02,$F4,$11,$AC,$02 .db $F4,$11,$D0,$02,$F4,$11,$F4,$02 .db $F4,$11,$18,$03,$F4,$11,$3C,$03 .db $B4,$11,$60,$03,$B4,$11,$3C,$03 .db $B4,$11,$DC,$0A,$10,$3D,$E0,$0A .db $CE,$3C,$E4,$0A,$8C,$3C,$E8,$0A .db $48,$3C,$EC,$0A,$14,$3C,$F0,$0A .db $D6,$3B,$F4,$0A,$98,$3B,$F8,$0A .db $5A,$3B,$18,$09,$26,$3C,$98,$09 .db $28,$3C,$98,$09,$2A,$3C,$98,$09 .db $2C,$3C,$6C,$09,$28,$3D,$FC,$0A .db $68,$3D,$00,$0B,$AA,$3D,$E4,$0A .db $EC,$3D,$E4,$0A,$2E,$3E,$DC,$0A .db $B0,$3E,$3C,$0B,$90,$29,$40,$0B .db $94,$29,$40,$0B,$98,$29,$04,$0B .db $9C,$3D,$08,$0B,$D8,$3D,$08,$0B .db $14,$3E,$08,$0B,$50,$3E,$08,$0B .db $8C,$3E,$6C,$09,$88,$3E,$44,$01 .db $7C,$07,$38,$09,$E0,$19,$1C,$0B .db $20,$1A,$CC,$03,$DC,$1A,$F0,$03 .db $DC,$1A,$14,$04,$DC,$1A,$38,$04 .db $9C,$1B,$5C,$04,$9C,$1B,$80,$04 .db $5C,$1B,$A4,$04,$1C,$1B,$C8,$04 .db $DC,$1A,$EC,$04,$9C,$1A,$58,$0A .db $1E,$1B,$20,$0B,$1C,$1B,$24,$0B .db $1A,$1B,$28,$0B,$18,$1B,$A0,$09 .db $94,$1B,$A0,$09,$14,$1C,$A0,$09 .db $94,$1C,$C0,$0A,$14,$1D,$2C,$0B .db $56,$1D,$A0,$09,$D4,$1D,$98,$09 .db $90,$39,$98,$09,$94,$39,$28,$09 .db $98,$39,$98,$09,$9C,$39,$98,$09 .db $A0,$39,$28,$09,$A4,$39,$98,$09 .db $A8,$39,$98,$09,$AC,$39,$28,$09 .db $B0,$39,$98,$09,$B4,$39,$98,$09 .db $B4,$38,$28,$09,$B0,$38,$98,$09 .db $AC,$38,$98,$09,$A8,$38,$28,$09 .db $A4,$38,$98,$09,$A0,$38,$98,$09 .db $9C,$38,$28,$09,$98,$38,$98,$09 .db $94,$38,$98,$09,$90,$38,$28,$09 .db $8C,$38,$98,$09,$88,$38,$28,$09 .db $84,$38 DATA_04E359: .db $00,$00 DATA_04E35B: .db $00,$00,$0D,$00,$0D,$00,$10,$00 .db $15,$00,$18,$00,$1A,$00,$20,$00 .db $23,$00,$26,$00,$29,$00,$2C,$00 .db $35,$00,$39,$00,$3A,$00,$42,$00 .db $46,$00,$4A,$00,$4C,$00,$4D,$00 .db $4E,$00,$52,$00,$59,$00,$5D,$00 .db $60,$00,$67,$00,$6A,$00,$6C,$00 .db $6F,$00,$72,$00,$75,$00,$77,$00 .db $77,$00,$83,$00,$83,$00,$84,$00 .db $8E,$00,$90,$00,$92,$00,$98,$00 .db $98,$00,$98,$00,$A0,$00,$A5,$00 .db $AC,$00,$B2,$00,$BD,$00,$C2,$00 .db $C5,$00,$CC,$00,$D3,$00,$D7,$00 .db $E1,$00,$E2,$00,$E2,$00,$E2,$00 .db $E5,$00,$E7,$00,$E8,$00,$ED,$00 .db $EE,$00,$F1,$00,$F5,$00,$FA,$00 .db $FD,$00,$00,$01,$00,$01,$00,$01 .db $00,$01,$00,$01,$02,$01,$08,$01 .db $0F,$01,$12,$01,$14,$01,$16,$01 .db $17,$01,$1E,$01,$2B,$01,$2B,$01 .db $2B,$01,$2B,$01,$2F,$01,$2F,$01 .db $2F,$01,$33,$01,$33,$01,$33,$01 .db $37,$01,$37,$01,$37,$01,$40,$01 .db $40,$01,$46,$01,$46,$01,$46,$01 .db $47,$01,$52,$01,$56,$01,$5C,$01 .db $5C,$01,$5F,$01,$62,$01,$65,$01 .db $68,$01,$6B,$01,$6E,$01,$71,$01 .db $73,$01,$73,$01,$73,$01,$73,$01 .db $73,$01,$73,$01,$73,$01,$73,$01 .db $73,$01,$73,$01,$73,$01,$73,$01 DATA_04E44B: .db $80,$40,$20,$10,$08,$04,$02,$01 CODE_04E453: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04E455: A5 0F LDA $0F CODE_04E457: 29 07 AND.B #$07 CODE_04E459: AA TAX CODE_04E45A: A5 0F LDA $0F CODE_04E45C: 4A LSR CODE_04E45D: 4A LSR CODE_04E45E: 4A LSR CODE_04E45F: A8 TAY CODE_04E460: B9 02 1F LDA.W $1F02,Y CODE_04E463: 3F 4B E4 04 AND.L DATA_04E44B,X CODE_04E467: D0 01 BNE CODE_04E46A Return04E469: 60 RTS ; Return CODE_04E46A: A5 0F LDA $0F CODE_04E46C: 0A ASL CODE_04E46D: AA TAX CODE_04E46E: C2 20 REP #$20 ; Accum (16 bit) CODE_04E470: BF 59 E3 04 LDA.L DATA_04E359,X CODE_04E474: 8D EB 1D STA.W $1DEB CODE_04E477: BF 5B E3 04 LDA.L DATA_04E35B,X CODE_04E47B: 8D ED 1D STA.W $1DED CODE_04E47E: CD EB 1D CMP.W $1DEB CODE_04E481: F0 10 BEQ CODE_04E493 CODE_04E483: 20 96 E4 JSR.W CODE_04E496 CODE_04E486: C2 20 REP #$20 ; Accum (16 bit) CODE_04E488: EE EB 1D INC.W $1DEB CODE_04E48B: AD EB 1D LDA.W $1DEB CODE_04E48E: CD ED 1D CMP.W $1DED CODE_04E491: D0 F0 BNE CODE_04E483 CODE_04E493: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return04E495: 60 RTS ; Return CODE_04E496: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04E498: AD EB 1D LDA.W $1DEB CODE_04E49B: 0A ASL CODE_04E49C: 0A ASL CODE_04E49D: AA TAX CODE_04E49E: BF 8D DD 04 LDA.L DATA_04DD8D,X CODE_04E4A2: A8 TAY CODE_04E4A3: BF 8F DD 04 LDA.L DATA_04DD8F,X CODE_04E4A7: 85 04 STA $04 CODE_04E4A9: E2 20 SEP #$20 ; Accum (8 bit) CODE_04E4AB: A9 7F LDA.B #$7F CODE_04E4AD: 85 08 STA $08 CODE_04E4AF: A9 0C LDA.B #$0C CODE_04E4B1: 85 0B STA $0B CODE_04E4B3: C2 20 REP #$20 ; Accum (16 bit) CODE_04E4B5: A9 00 00 LDA.W #$0000 CODE_04E4B8: 85 06 STA $06 CODE_04E4BA: A9 00 80 LDA.W #$8000 CODE_04E4BD: 85 09 STA $09 CODE_04E4BF: C0 00 09 CPY.W #$0900 CODE_04E4C2: 90 06 BCC CODE_04E4CA CODE_04E4C4: 20 D0 E4 JSR.W CODE_04E4D0 CODE_04E4C7: 4C CD E4 JMP.W CODE_04E4CD CODE_04E4CA: 20 20 E5 JSR.W CODE_04E520 CODE_04E4CD: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return04E4CF: 60 RTS ; Return CODE_04E4D0: A9 01 00 LDA.W #$0001 ; Accum (16 bit) CODE_04E4D3: 85 00 STA $00 CODE_04E4D5: A6 04 LDX $04 CODE_04E4D7: A9 01 00 LDA.W #$0001 CODE_04E4DA: 85 0C STA $0C CODE_04E4DC: E2 20 SEP #$20 ; Accum (8 bit) CODE_04E4DE: B7 09 LDA [$09],Y CODE_04E4E0: 9F 00 40 7F STA.L $7F4000,X CODE_04E4E4: E8 INX CODE_04E4E5: B7 06 LDA [$06],Y CODE_04E4E7: 9F 00 40 7F STA.L $7F4000,X CODE_04E4EB: C8 INY CODE_04E4EC: E8 INX CODE_04E4ED: C2 20 REP #$20 ; Accum (16 bit) CODE_04E4EF: 8A TXA CODE_04E4F0: 29 3F 00 AND.W #$003F CODE_04E4F3: D0 0A BNE CODE_04E4FF CODE_04E4F5: CA DEX CODE_04E4F6: 8A TXA CODE_04E4F7: 29 C0 FF AND.W #$FFC0 CODE_04E4FA: 18 CLC CODE_04E4FB: 69 00 08 ADC.W #$0800 CODE_04E4FE: AA TAX CODE_04E4FF: C6 0C DEC $0C CODE_04E501: 10 D9 BPL CODE_04E4DC CODE_04E503: A5 04 LDA $04 CODE_04E505: AA TAX CODE_04E506: 18 CLC CODE_04E507: 69 40 00 ADC.W #$0040 CODE_04E50A: 85 04 STA $04 CODE_04E50C: 29 C0 07 AND.W #$07C0 CODE_04E50F: D0 0A BNE CODE_04E51B CODE_04E511: 8A TXA CODE_04E512: 29 3F F8 AND.W #$F83F CODE_04E515: 18 CLC CODE_04E516: 69 00 10 ADC.W #$1000 CODE_04E519: 85 04 STA $04 CODE_04E51B: C6 00 DEC $00 CODE_04E51D: 10 B6 BPL CODE_04E4D5 Return04E51F: 60 RTS ; Return CODE_04E520: A9 05 00 LDA.W #$0005 CODE_04E523: 85 00 STA $00 CODE_04E525: A6 04 LDX $04 CODE_04E527: A9 05 00 LDA.W #$0005 CODE_04E52A: 85 0C STA $0C CODE_04E52C: E2 20 SEP #$20 ; Accum (8 bit) CODE_04E52E: B7 09 LDA [$09],Y CODE_04E530: 9F 00 40 7F STA.L $7F4000,X CODE_04E534: E8 INX CODE_04E535: B7 06 LDA [$06],Y CODE_04E537: 9F 00 40 7F STA.L $7F4000,X CODE_04E53B: C8 INY CODE_04E53C: E8 INX CODE_04E53D: C2 20 REP #$20 ; Accum (16 bit) CODE_04E53F: 8A TXA CODE_04E540: 29 3F 00 AND.W #$003F CODE_04E543: D0 0A BNE CODE_04E54F CODE_04E545: CA DEX CODE_04E546: 8A TXA CODE_04E547: 29 C0 FF AND.W #$FFC0 CODE_04E54A: 18 CLC CODE_04E54B: 69 00 08 ADC.W #$0800 CODE_04E54E: AA TAX CODE_04E54F: C6 0C DEC $0C CODE_04E551: 10 D9 BPL CODE_04E52C CODE_04E553: A5 04 LDA $04 CODE_04E555: AA TAX CODE_04E556: 18 CLC CODE_04E557: 69 40 00 ADC.W #$0040 CODE_04E55A: 85 04 STA $04 CODE_04E55C: 29 C0 07 AND.W #$07C0 CODE_04E55F: D0 0A BNE CODE_04E56B CODE_04E561: 8A TXA CODE_04E562: 29 3F F8 AND.W #$F83F CODE_04E565: 18 CLC CODE_04E566: 69 00 10 ADC.W #$1000 CODE_04E569: 85 04 STA $04 CODE_04E56B: C6 00 DEC $00 CODE_04E56D: 10 B6 BPL CODE_04E525 Return04E56F: 60 RTS ; Return CODE_04E570: AD 86 1B LDA.W $1B86 CODE_04E573: 22 DF 86 00 JSL.L ExecutePtr Ptrs04E577: EE E5 .dw CODE_04E5EE EB EB .dw CODE_04EBEB D3 E6 .dw CODE_04E6D3 F9 E6 .dw CODE_04E6F9 A4 EA .dw CODE_04EAA4 78 EC .dw CODE_04EC78 EB EB .dw CODE_04EBEB EC E9 .dw CODE_04E9EC DATA_04E587: .db $20,$52,$22,$DA,$28,$58,$24,$C0 .db $24,$94,$23,$42,$28,$94,$2A,$98 .db $25,$0E,$25,$52,$25,$C4,$2A,$DE .db $2A,$98,$28,$44,$2C,$50,$2C,$0C DATA_04E5A7: .db $77,$79,$58,$4C,$A6 DATA_04E5AC: .db $85,$86,$00,$10,$00 DATA_04E5B1: .db $85,$86,$81,$81,$81 DATA_04E5B6: .db $19,$04,$BD,$00,$1C,$06,$30,$01 .db $2A,$01,$D1,$00,$2A,$06,$AC,$06 .db $47,$05,$59,$05,$72,$05,$BF,$02 .db $AC,$02,$12,$02,$18,$03,$06,$03 DATA_04E5D6: .db $06,$0F,$1C,$21,$24,$28,$29,$37 .db $40,$41,$43,$4A,$4D,$02,$61,$35 DATA_04E5E6: .db $58,$59,$5D,$63,$77,$79,$7E,$80 CODE_04E5EE: AD D5 0D LDA.W $0DD5 ; Accum (8 bit) ;\ If player got the secret exit CODE_04E5F1: C9 02 CMP.B #$02 ;| increment OW event to activate by one CODE_04E5F3: D0 03 BNE CODE_04E5F8 ;| CODE_04E5F5: EE EA 1D INC.W $1DEA ;/ CODE_04E5F8: AD E9 1D LDA.W $1DE9 CODE_04E5FB: F0 1D BEQ CODE_04E61A CODE_04E5FD: AD EA 1D LDA.W $1DEA CODE_04E600: C9 FF CMP.B #$FF CODE_04E602: F0 16 BEQ CODE_04E61A CODE_04E604: AD EA 1D LDA.W $1DEA CODE_04E607: 29 07 AND.B #$07 CODE_04E609: AA TAX CODE_04E60A: AD EA 1D LDA.W $1DEA CODE_04E60D: 4A LSR CODE_04E60E: 4A LSR CODE_04E60F: 4A LSR CODE_04E610: A8 TAY CODE_04E611: B9 02 1F LDA.W $1F02,Y CODE_04E614: 3F 4B E4 04 AND.L DATA_04E44B,X CODE_04E618: F0 26 BEQ CODE_04E640 CODE_04E61A: A2 07 LDX.B #$07 ;\ if player is not standing on OW level tile 80 CODE_04E61C: BD E6 E5 LDA.W DATA_04E5E6,X ;| which is a yellow-dot level water tile CODE_04E61F: CD C1 13 CMP.W $13C1 ;| CODE_04E622: D0 0E BNE CODE_04E632 ;/ branch to CODE_04E632 ADDR_04E624: EE D9 13 INC.W $13D9 ;| else increment "Cause Mario event" address ADDR_04E627: A9 E0 LDA.B #$E0 ADDR_04E629: 8D D5 0D STA.W $0DD5 ADDR_04E62C: A9 0F LDA.B #$0F ;\ keep game mode active ADDR_04E62E: 8D B1 0D STA.W $0DB1 ;/ Return04E631: 60 RTS ; Return CODE_04E632: CA DEX CODE_04E633: 10 E7 BPL CODE_04E61C CODE_04E635: A9 05 LDA.B #$05 ;\ Make mario do nothing on the overworld CODE_04E637: 8D D9 13 STA.W $13D9 ;/ CODE_04E63A: A9 80 LDA.B #$80 CODE_04E63C: 8D D5 0D STA.W $0DD5 Return04E63F: 60 RTS ; Return CODE_04E640: EE 86 1B INC.W $1B86 CODE_04E643: AD EA 1D LDA.W $1DEA CODE_04E646: 20 77 E6 JSR.W CODE_04E677 CODE_04E649: 98 TYA CODE_04E64A: 0A ASL CODE_04E64B: 0A ASL CODE_04E64C: 0A ASL CODE_04E64D: 0A ASL CODE_04E64E: 8D 82 1B STA.W $1B82 CODE_04E651: 98 TYA CODE_04E652: 29 F0 AND.B #$F0 CODE_04E654: 8D 83 1B STA.W $1B83 CODE_04E657: A9 28 LDA.B #$28 CODE_04E659: 8D 84 1B STA.W $1B84 CODE_04E65C: AD BF 13 LDA.W $13BF ;\ level that triggers overworld Earthquake sequence when beaten CODE_04E65F: C9 18 CMP.B #$18 ;| Sunken Ghost Ship CODE_04E661: D0 05 BNE CODE_04E668 ;| if not level 18, don't trigger Earthquake CODE_04E663: A9 FF LDA.B #$FF ;| CODE_04E665: 8D A0 1B STA.W $1BA0 ;/ CODE_04E668: AD 86 1B LDA.W $1B86 CODE_04E66B: C9 02 CMP.B #$02 CODE_04E66D: F0 05 BEQ CODE_04E674 CODE_04E66F: A9 16 LDA.B #$16 CODE_04E671: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_04E674: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return04E676: 60 RTS ; Return CODE_04E677: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04E679: A2 17 LDX.B #$17 CODE_04E67B: DF D6 E5 04 CMP.L DATA_04E5D6,X CODE_04E67F: F0 09 BEQ CODE_04E68A CODE_04E681: CA DEX CODE_04E682: 10 F7 BPL CODE_04E67B CODE_04E684: A9 02 LDA.B #$02 CODE_04E686: 8D 86 1B STA.W $1B86 Return04E689: 60 RTS ; Return CODE_04E68A: 8E D1 13 STX.W $13D1 CODE_04E68D: 8A TXA CODE_04E68E: 0A ASL CODE_04E68F: AA TAX CODE_04E690: A9 7E LDA.B #$7E CODE_04E692: 85 0C STA $0C CODE_04E694: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04E696: A9 00 C8 LDA.W #$C800 CODE_04E699: 85 0A STA $0A CODE_04E69B: BF B6 E5 04 LDA.L DATA_04E5B6,X CODE_04E69F: A8 TAY CODE_04E6A0: E2 20 SEP #$20 ; Accum (8 bit) CODE_04E6A2: A2 04 00 LDX.W #$0004 CODE_04E6A5: B7 0A LDA [$0A],Y CODE_04E6A7: DF A7 E5 04 CMP.L DATA_04E5A7,X CODE_04E6AB: F0 06 BEQ CODE_04E6B3 CODE_04E6AD: CA DEX CODE_04E6AE: 10 F7 BPL CODE_04E6A7 CODE_04E6B0: 4C 84 E6 JMP.W CODE_04E684 CODE_04E6B3: 8A TXA CODE_04E6B4: 8D D0 13 STA.W $13D0 CODE_04E6B7: E0 03 00 CPX.W #$0003 CODE_04E6BA: 30 0E BMI CODE_04E6CA CODE_04E6BC: BF AC E5 04 LDA.L DATA_04E5AC,X CODE_04E6C0: 97 0A STA [$0A],Y CODE_04E6C2: C2 20 REP #$20 ; Accum (16 bit) CODE_04E6C4: 98 TYA CODE_04E6C5: 18 CLC CODE_04E6C6: 69 10 00 ADC.W #$0010 CODE_04E6C9: A8 TAY CODE_04E6CA: E2 20 SEP #$20 ; Accum (8 bit) CODE_04E6CC: BF B1 E5 04 LDA.L DATA_04E5B1,X CODE_04E6D0: 97 0A STA [$0A],Y Return04E6D2: 60 RTS ; Return CODE_04E6D3: EE 86 1B INC.W $1B86 CODE_04E6D6: AD EA 1D LDA.W $1DEA CODE_04E6D9: 0A ASL CODE_04E6DA: AA TAX CODE_04E6DB: C2 20 REP #$20 ; Accum (16 bit) CODE_04E6DD: BF 59 E3 04 LDA.L DATA_04E359,X CODE_04E6E1: 8D EB 1D STA.W $1DEB CODE_04E6E4: BF 5B E3 04 LDA.L DATA_04E35B,X CODE_04E6E8: 8D ED 1D STA.W $1DED CODE_04E6EB: CD EB 1D CMP.W $1DEB CODE_04E6EE: E2 20 SEP #$20 ; Accum (8 bit) CODE_04E6F0: D0 06 BNE Return04E6F8 CODE_04E6F2: EE 86 1B INC.W $1B86 CODE_04E6F5: EE 86 1B INC.W $1B86 Return04E6F8: 60 RTS ; Return CODE_04E6F9: 20 62 EA JSR.W CODE_04EA62 CODE_04E6FC: A9 7F LDA.B #$7F CODE_04E6FE: 85 0E STA $0E CODE_04E700: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04E702: AD EB 1D LDA.W $1DEB CODE_04E705: 0A ASL CODE_04E706: 0A ASL CODE_04E707: AA TAX CODE_04E708: BF 8D DD 04 LDA.L DATA_04DD8D,X CODE_04E70C: 8D 84 1B STA.W $1B84 CODE_04E70F: BF 8F DD 04 LDA.L DATA_04DD8F,X CODE_04E713: 85 00 STA $00 CODE_04E715: 29 FF 1F AND.W #$1FFF CODE_04E718: 4A LSR CODE_04E719: 18 CLC CODE_04E71A: 69 00 30 ADC.W #$3000 CODE_04E71D: EB XBA CODE_04E71E: 85 02 STA $02 CODE_04E720: A5 00 LDA $00 CODE_04E722: 4A LSR CODE_04E723: 4A LSR CODE_04E724: 4A LSR CODE_04E725: E2 20 SEP #$20 ; Accum (8 bit) CODE_04E727: 29 F8 AND.B #$F8 CODE_04E729: 8D 83 1B STA.W $1B83 CODE_04E72C: A5 00 LDA $00 CODE_04E72E: 29 3E AND.B #$3E CODE_04E730: 0A ASL CODE_04E731: 0A ASL CODE_04E732: 8D 82 1B STA.W $1B82 CODE_04E735: C2 20 REP #$20 ; Accum (16 bit) CODE_04E737: A9 00 40 LDA.W #$4000 CODE_04E73A: 85 0C STA $0C CODE_04E73C: A9 FF EF LDA.W #$EFFF CODE_04E73F: 85 0A STA $0A CODE_04E741: AD 84 1B LDA.W $1B84 CODE_04E744: C9 00 09 CMP.W #$0900 CODE_04E747: 90 06 BCC CODE_04E74F CODE_04E749: 20 6C E7 JSR.W CODE_04E76C CODE_04E74C: 4C 52 E7 JMP.W CODE_04E752 CODE_04E74F: 20 24 E8 JSR.W CODE_04E824 CODE_04E752: A9 FF 00 LDA.W #$00FF CODE_04E755: 9F 7D 83 7F STA.L $7F837D,X CODE_04E759: 8A TXA CODE_04E75A: 8F 7B 83 7F STA.L $7F837B CODE_04E75E: 20 96 E4 JSR.W CODE_04E496 CODE_04E761: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04E763: A9 15 LDA.B #$15 ; \ CODE_04E765: 8D FC 1D STA.W $1DFC ; / Play sound effect when laying OW event tiles CODE_04E768: EE 86 1B INC.W $1B86 Return04E76B: 60 RTS ; Return CODE_04E76C: A9 01 00 LDA.W #$0001 ; Index (16 bit) Accum (16 bit) CODE_04E76F: 85 06 STA $06 CODE_04E771: AF 7B 83 7F LDA.L $7F837B CODE_04E775: AA TAX CODE_04E776: A5 02 LDA $02 CODE_04E778: 9F 7D 83 7F STA.L $7F837D,X CODE_04E77C: E8 INX CODE_04E77D: E8 INX CODE_04E77E: A0 00 03 LDY.W #$0300 CODE_04E781: A5 03 LDA $03 CODE_04E783: 29 1F 00 AND.W #$001F CODE_04E786: 85 08 STA $08 CODE_04E788: A9 20 00 LDA.W #$0020 CODE_04E78B: 38 SEC CODE_04E78C: E5 08 SBC $08 CODE_04E78E: 85 08 STA $08 CODE_04E790: C9 01 00 CMP.W #$0001 CODE_04E793: D0 06 BNE CODE_04E79B ADDR_04E795: A5 08 LDA $08 ADDR_04E797: 0A ASL ADDR_04E798: 3A DEC A ADDR_04E799: EB XBA ADDR_04E79A: A8 TAY CODE_04E79B: 98 TYA CODE_04E79C: 9F 7D 83 7F STA.L $7F837D,X CODE_04E7A0: E8 INX CODE_04E7A1: E8 INX CODE_04E7A2: A9 01 00 LDA.W #$0001 CODE_04E7A5: 85 04 STA $04 CODE_04E7A7: A4 00 LDY $00 CODE_04E7A9: B7 0C LDA [$0C],Y CODE_04E7AB: 25 0A AND $0A CODE_04E7AD: 9F 7D 83 7F STA.L $7F837D,X CODE_04E7B1: E8 INX CODE_04E7B2: E8 INX CODE_04E7B3: C8 INY CODE_04E7B4: C8 INY CODE_04E7B5: 98 TYA CODE_04E7B6: 29 3F 00 AND.W #$003F CODE_04E7B9: D0 2A BNE CODE_04E7E5 CODE_04E7BB: A5 04 LDA $04 CODE_04E7BD: F0 26 BEQ CODE_04E7E5 ADDR_04E7BF: 88 DEY ADDR_04E7C0: 98 TYA ADDR_04E7C1: 29 C0 FF AND.W #$FFC0 ADDR_04E7C4: 18 CLC ADDR_04E7C5: 69 00 08 ADC.W #$0800 ADDR_04E7C8: A8 TAY ADDR_04E7C9: A5 02 LDA $02 ADDR_04E7CB: EB XBA ADDR_04E7CC: 29 E0 3B AND.W #$3BE0 ADDR_04E7CF: 18 CLC ADDR_04E7D0: 69 00 04 ADC.W #$0400 ADDR_04E7D3: EB XBA ADDR_04E7D4: 9F 7D 83 7F STA.L $7F837D,X ADDR_04E7D8: E8 INX ADDR_04E7D9: E8 INX ADDR_04E7DA: A5 08 LDA $08 ADDR_04E7DC: 0A ASL ADDR_04E7DD: 3A DEC A ADDR_04E7DE: EB XBA ADDR_04E7DF: 9F 7D 83 7F STA.L $7F837D,X ADDR_04E7E3: E8 INX ADDR_04E7E4: E8 INX CODE_04E7E5: C6 04 DEC $04 CODE_04E7E7: 10 C0 BPL CODE_04E7A9 CODE_04E7E9: A5 02 LDA $02 CODE_04E7EB: EB XBA CODE_04E7EC: 18 CLC CODE_04E7ED: 69 20 00 ADC.W #$0020 CODE_04E7F0: EB XBA CODE_04E7F1: 85 02 STA $02 CODE_04E7F3: A5 00 LDA $00 CODE_04E7F5: A8 TAY CODE_04E7F6: 18 CLC CODE_04E7F7: 69 40 00 ADC.W #$0040 CODE_04E7FA: 85 00 STA $00 CODE_04E7FC: 29 C0 07 AND.W #$07C0 CODE_04E7FF: D0 1B BNE CODE_04E81C CODE_04E801: 98 TYA CODE_04E802: 29 3F F8 AND.W #$F83F CODE_04E805: 18 CLC CODE_04E806: 69 00 10 ADC.W #$1000 CODE_04E809: 85 00 STA $00 CODE_04E80B: A5 02 LDA $02 CODE_04E80D: EB XBA CODE_04E80E: 38 SEC CODE_04E80F: E9 20 00 SBC.W #$0020 CODE_04E812: 29 1F 34 AND.W #$341F CODE_04E815: 18 CLC CODE_04E816: 69 00 08 ADC.W #$0800 CODE_04E819: EB XBA CODE_04E81A: 85 02 STA $02 CODE_04E81C: C6 06 DEC $06 CODE_04E81E: 30 03 BMI Return04E823 CODE_04E820: 4C 76 E7 JMP.W CODE_04E776 Return04E823: 60 RTS ; Return CODE_04E824: A9 05 00 LDA.W #$0005 CODE_04E827: 85 06 STA $06 CODE_04E829: AF 7B 83 7F LDA.L $7F837B CODE_04E82D: AA TAX CODE_04E82E: A5 02 LDA $02 CODE_04E830: 9F 7D 83 7F STA.L $7F837D,X CODE_04E834: E8 INX CODE_04E835: E8 INX CODE_04E836: A0 00 0B LDY.W #$0B00 CODE_04E839: A5 03 LDA $03 CODE_04E83B: 29 1F 00 AND.W #$001F CODE_04E83E: 85 08 STA $08 CODE_04E840: A9 20 00 LDA.W #$0020 CODE_04E843: 38 SEC CODE_04E844: E5 08 SBC $08 CODE_04E846: 85 08 STA $08 CODE_04E848: C9 06 00 CMP.W #$0006 CODE_04E84B: B0 0E BCS CODE_04E85B CODE_04E84D: A5 08 LDA $08 CODE_04E84F: 0A ASL CODE_04E850: 3A DEC A CODE_04E851: EB XBA CODE_04E852: A8 TAY CODE_04E853: A9 06 00 LDA.W #$0006 CODE_04E856: 38 SEC CODE_04E857: E5 08 SBC $08 CODE_04E859: 85 08 STA $08 CODE_04E85B: 98 TYA CODE_04E85C: 9F 7D 83 7F STA.L $7F837D,X CODE_04E860: E8 INX CODE_04E861: E8 INX CODE_04E862: A9 05 00 LDA.W #$0005 CODE_04E865: 85 04 STA $04 CODE_04E867: A4 00 LDY $00 CODE_04E869: B7 0C LDA [$0C],Y CODE_04E86B: 25 0A AND $0A CODE_04E86D: 9F 7D 83 7F STA.L $7F837D,X CODE_04E871: E8 INX CODE_04E872: E8 INX CODE_04E873: C8 INY CODE_04E874: C8 INY CODE_04E875: 98 TYA CODE_04E876: 29 3F 00 AND.W #$003F CODE_04E879: D0 2A BNE CODE_04E8A5 CODE_04E87B: A5 04 LDA $04 CODE_04E87D: F0 26 BEQ CODE_04E8A5 CODE_04E87F: 88 DEY CODE_04E880: 98 TYA CODE_04E881: 29 C0 FF AND.W #$FFC0 CODE_04E884: 18 CLC CODE_04E885: 69 00 08 ADC.W #$0800 CODE_04E888: A8 TAY CODE_04E889: A5 02 LDA $02 CODE_04E88B: EB XBA CODE_04E88C: 29 E0 3B AND.W #$3BE0 CODE_04E88F: 18 CLC CODE_04E890: 69 00 04 ADC.W #$0400 CODE_04E893: EB XBA CODE_04E894: 9F 7D 83 7F STA.L $7F837D,X CODE_04E898: E8 INX CODE_04E899: E8 INX CODE_04E89A: A5 08 LDA $08 CODE_04E89C: 0A ASL CODE_04E89D: 3A DEC A CODE_04E89E: EB XBA CODE_04E89F: 9F 7D 83 7F STA.L $7F837D,X CODE_04E8A3: E8 INX CODE_04E8A4: E8 INX CODE_04E8A5: C6 04 DEC $04 CODE_04E8A7: 10 C0 BPL CODE_04E869 CODE_04E8A9: A5 02 LDA $02 CODE_04E8AB: EB XBA CODE_04E8AC: 18 CLC CODE_04E8AD: 69 20 00 ADC.W #$0020 CODE_04E8B0: EB XBA CODE_04E8B1: 85 02 STA $02 CODE_04E8B3: A5 00 LDA $00 CODE_04E8B5: A8 TAY CODE_04E8B6: 18 CLC CODE_04E8B7: 69 40 00 ADC.W #$0040 CODE_04E8BA: 85 00 STA $00 CODE_04E8BC: 29 C0 07 AND.W #$07C0 CODE_04E8BF: D0 1B BNE CODE_04E8DC CODE_04E8C1: 98 TYA CODE_04E8C2: 29 3F F8 AND.W #$F83F CODE_04E8C5: 18 CLC CODE_04E8C6: 69 00 10 ADC.W #$1000 CODE_04E8C9: 85 00 STA $00 CODE_04E8CB: A5 02 LDA $02 CODE_04E8CD: EB XBA CODE_04E8CE: 38 SEC CODE_04E8CF: E9 20 00 SBC.W #$0020 CODE_04E8D2: 29 1F 34 AND.W #$341F CODE_04E8D5: 18 CLC CODE_04E8D6: 69 00 08 ADC.W #$0800 CODE_04E8D9: EB XBA CODE_04E8DA: 85 02 STA $02 CODE_04E8DC: C6 06 DEC $06 CODE_04E8DE: 30 03 BMI Return04E8E3 CODE_04E8E0: 4C 2E E8 JMP.W CODE_04E82E Return04E8E3: 60 RTS ; Return DATA_04E8E4: .db $06,$06,$06,$06,$06,$06,$06,$06 .db $14,$14,$14,$14,$14,$1D,$1D,$1D .db $1D,$12,$12,$12,$1C,$2F,$2F,$2F .db $2F,$2F,$34,$34,$34,$47,$4E,$4E .db $01,$0F,$24,$24,$6C,$0F,$0F,$54 .db $55,$57,$58,$5D DATA_04E910: .db $00,$00,$00,$00,$00,$00,$01,$01 .db $00,$01,$01,$01,$01,$01,$01,$01 .db $00,$01,$01,$00,$00,$01,$01,$01 .db $01,$01,$01,$01,$01,$00,$01,$00 .db $00,$01,$01,$01,$01,$01,$00,$00 .db $00,$00,$00,$00 DATA_04E93C: .db $15,$02,$35,$02,$45,$02,$55,$02 .db $65,$02,$75,$02,$14,$11,$94,$10 .db $A9,$00,$A4,$05,$24,$05,$28,$07 .db $A4,$06,$A8,$01,$AC,$01,$B0,$01 .db $3C,$00,$00,$29,$80,$28,$10,$05 .db $54,$01,$30,$18,$B0,$18,$2E,$19 .db $2A,$19,$26,$19,$24,$18,$20,$18 .db $1C,$18,$97,$05,$EC,$2A,$7B,$05 .db $12,$02,$94,$31,$A0,$32,$20,$33 .db $16,$1D,$14,$31,$25,$06,$F0,$01 .db $F0,$01,$04,$03,$04,$03,$27,$02 DATA_04E994: .db $68,$00,$24,$00,$24,$00,$25,$00 .db $00,$00,$81,$00,$38,$09,$28,$09 .db $66,$00,$9C,$09,$28,$09,$F8,$09 .db $FC,$09,$98,$09,$98,$09,$28,$09 .db $66,$00,$38,$09,$28,$09,$66,$00 .db $68,$00,$80,$0A,$84,$0A,$88,$0A .db $98,$09,$98,$09,$94,$09,$98,$09 .db $8C,$0A,$66,$00,$84,$03,$66,$00 .db $79,$00,$A8,$0A,$38,$09,$38,$09 .db $A0,$09,$30,$0A,$69,$00,$5F,$00 .db $5F,$00,$5F,$00,$5F,$00,$5F,$00 CODE_04E9EC: AD EA 1D LDA.W $1DEA ; Index (8 bit) Accum (8 bit) CODE_04E9EF: 85 0F STA $0F CODE_04E9F1: A2 2B LDX.B #$2B CODE_04E9F3: DF E4 E8 04 CMP.L DATA_04E8E4,X CODE_04E9F7: F0 2C BEQ CODE_04EA25 CODE_04E9F9: CA DEX CODE_04E9FA: 10 F7 BPL CODE_04E9F3 CODE_04E9FC: AD 86 1B LDA.W $1B86 CODE_04E9FF: F0 23 BEQ Return04EA24 CODE_04EA01: 9C 86 1B STZ.W $1B86 CODE_04EA04: EE D9 13 INC.W $13D9 CODE_04EA07: AD EA 1D LDA.W $1DEA CODE_04EA0A: 29 07 AND.B #$07 CODE_04EA0C: AA TAX CODE_04EA0D: AD EA 1D LDA.W $1DEA CODE_04EA10: 4A LSR CODE_04EA11: 4A LSR CODE_04EA12: 4A LSR CODE_04EA13: A8 TAY CODE_04EA14: B9 02 1F LDA.W $1F02,Y CODE_04EA17: 1F 4B E4 04 ORA.L DATA_04E44B,X CODE_04EA1B: 99 02 1F STA.W $1F02,Y CODE_04EA1E: EE 2E 1F INC.W $1F2E CODE_04EA21: 9C E9 1D STZ.W $1DE9 Return04EA24: 60 RTS ; Return CODE_04EA25: DA PHX CODE_04EA26: BF 10 E9 04 LDA.L DATA_04E910,X CODE_04EA2A: 85 02 STA $02 CODE_04EA2C: 8A TXA CODE_04EA2D: 0A ASL CODE_04EA2E: AA TAX CODE_04EA2F: C2 20 REP #$20 ; Accum (16 bit) CODE_04EA31: BF 94 E9 04 LDA.L DATA_04E994,X CODE_04EA35: 85 00 STA $00 CODE_04EA37: BF 3C E9 04 LDA.L DATA_04E93C,X CODE_04EA3B: 85 04 STA $04 CODE_04EA3D: A5 02 LDA $02 CODE_04EA3F: 29 01 00 AND.W #$0001 CODE_04EA42: F0 0A BEQ CODE_04EA4E CODE_04EA44: C2 10 REP #$10 ; Index (16 bit) CODE_04EA46: A4 00 LDY $00 CODE_04EA48: 20 A9 E4 JSR.W CODE_04E4A9 CODE_04EA4B: 4C 5A EA JMP.W CODE_04EA5A CODE_04EA4E: E2 20 SEP #$20 ; Accum (8 bit) CODE_04EA50: C2 10 REP #$10 ; Index (16 bit) CODE_04EA52: A6 04 LDX $04 CODE_04EA54: A5 00 LDA $00 CODE_04EA56: 9F 00 C8 7E STA.L $7EC800,X CODE_04EA5A: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04EA5C: FA PLX CODE_04EA5D: A5 0F LDA $0F CODE_04EA5F: 4C F9 E9 JMP.W CODE_04E9F9 CODE_04EA62: 9C 95 14 STZ.W $1495 CODE_04EA65: 9C 94 14 STZ.W $1494 CODE_04EA68: A2 6F LDX.B #$6F CODE_04EA6A: BD 03 07 LDA.W $0703,X CODE_04EA6D: 9D 07 09 STA.W $0907,X CODE_04EA70: 9E 79 09 STZ.W $0979,X CODE_04EA73: CA DEX CODE_04EA74: 10 F4 BPL CODE_04EA6A CODE_04EA76: A2 6F LDX.B #$6F CODE_04EA78: A0 10 LDY.B #$10 CODE_04EA7A: BD 83 07 LDA.W $0783,X CODE_04EA7D: 9D 07 09 STA.W $0907,X CODE_04EA80: CA DEX CODE_04EA81: 88 DEY CODE_04EA82: D0 F6 BNE CODE_04EA7A CODE_04EA84: 8A TXA CODE_04EA85: 38 SEC CODE_04EA86: E9 10 SBC.B #$10 CODE_04EA88: AA TAX CODE_04EA89: 10 ED BPL CODE_04EA78 CODE_04EA8B: C2 20 REP #$20 ; Accum (16 bit) CODE_04EA8D: A9 70 00 LDA.W #$0070 CODE_04EA90: 8D 05 09 STA.W $0905 CODE_04EA93: A9 70 C0 LDA.W #$C070 CODE_04EA96: 8D 77 09 STA.W $0977 CODE_04EA99: E2 20 SEP #$20 ; Accum (8 bit) CODE_04EA9B: 9C E9 09 STZ.W $09E9 CODE_04EA9E: A9 03 LDA.B #$03 CODE_04EAA0: 8D 80 06 STA.W $0680 Return04EAA3: 60 RTS ; Return CODE_04EAA4: AD 95 14 LDA.W $1495 ;\ if counter less than 40 CODE_04EAA7: C9 40 CMP.B #$40 ;| don't lay down this event tile yet CODE_04EAA9: 90 1E BCC CODE_04EAC9 ;/ CODE_04EAAB: EE 86 1B INC.W $1B86 CODE_04EAAE: 20 30 EE JSR.W CODE_04EE30 ;|Draw the layer 2 tile CODE_04EAB1: 20 96 E4 JSR.W CODE_04E496 CODE_04EAB4: C2 20 REP #$20 ; Accum (16 bit) CODE_04EAB6: EE EB 1D INC.W $1DEB ;| increment to next event tile CODE_04EAB9: AD EB 1D LDA.W $1DEB ;\ CODE_04EABC: CD ED 1D CMP.W $1DED ;| Stop laying event tiles when at the last one for this event CODE_04EABF: E2 20 SEP #$20 ;| Accum (8 bit) CODE_04EAC1: B0 05 BCS Return04EAC8 ;/ CODE_04EAC3: A9 03 LDA.B #$03 CODE_04EAC5: 8D 86 1B STA.W $1B86 Return04EAC8: 60 RTS ; Return CODE_04EAC9: 20 67 EC JSR.W CODE_04EC67 CODE_04EACC: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04EACE: A0 8C 00 LDY.W #$008C CODE_04EAD1: A2 06 00 LDX.W #$0006 CODE_04EAD4: AD 84 1B LDA.W $1B84 CODE_04EAD7: C9 00 09 CMP.W #$0900 CODE_04EADA: 90 06 BCC CODE_04EAE2 CODE_04EADC: A0 0C 00 LDY.W #$000C CODE_04EADF: A2 02 00 LDX.W #$0002 CODE_04EAE2: 86 05 STX $05 CODE_04EAE4: AA TAX CODE_04EAE5: E2 20 SEP #$20 ; Accum (8 bit) CODE_04EAE7: A5 05 LDA $05 CODE_04EAE9: 85 03 STA $03 CODE_04EAEB: A5 00 LDA $00 CODE_04EAED: 85 02 STA $02 CODE_04EAEF: A5 01 LDA $01 CODE_04EAF1: 99 51 03 STA.W $0351,Y CODE_04EAF4: BF 00 80 0C LDA.L DATA_0C8000,X CODE_04EAF8: 99 52 03 STA.W $0352,Y CODE_04EAFB: BF 00 00 7F LDA.L $7F0000,X CODE_04EAFF: 29 C0 AND.B #$C0 CODE_04EB01: 85 04 STA $04 CODE_04EB03: BF 00 00 7F LDA.L $7F0000,X CODE_04EB07: 29 1C AND.B #$1C CODE_04EB09: 4A LSR CODE_04EB0A: 05 04 ORA $04 CODE_04EB0C: 09 11 ORA.B #$11 CODE_04EB0E: 99 53 03 STA.W $0353,Y CODE_04EB11: A5 02 LDA $02 CODE_04EB13: 99 50 03 STA.W $0350,Y CODE_04EB16: 18 CLC CODE_04EB17: 69 08 ADC.B #$08 CODE_04EB19: E8 INX CODE_04EB1A: 88 DEY CODE_04EB1B: 88 DEY CODE_04EB1C: 88 DEY CODE_04EB1D: 88 DEY CODE_04EB1E: C6 03 DEC $03 CODE_04EB20: D0 CB BNE CODE_04EAED CODE_04EB22: A5 01 LDA $01 CODE_04EB24: 18 CLC CODE_04EB25: 69 08 ADC.B #$08 CODE_04EB27: 85 01 STA $01 CODE_04EB29: C0 FC FF CPY.W #$FFFC CODE_04EB2C: D0 B9 BNE CODE_04EAE7 CODE_04EB2E: E2 10 SEP #$10 ; Index (8 bit) CODE_04EB30: A2 23 LDX.B #$23 CODE_04EB32: 9E 74 04 STZ.W $0474,X CODE_04EB35: CA DEX CODE_04EB36: 10 FA BPL CODE_04EB32 CODE_04EB38: A0 08 LDY.B #$08 CODE_04EB3A: AE B3 0D LDX.W $0DB3 CODE_04EB3D: BD 11 1F LDA.W $1F11,X CODE_04EB40: C9 03 CMP.B #$03 CODE_04EB42: D0 02 BNE CODE_04EB46 CODE_04EB44: A0 01 LDY.B #$01 CODE_04EB46: 84 8A STY $8A CODE_04EB48: AD 95 14 LDA.W $1495 CODE_04EB4B: 22 06 B0 00 JSL.L CODE_00B006 CODE_04EB4F: C6 8A DEC $8A CODE_04EB51: D0 F5 BNE CODE_04EB48 CODE_04EB53: 4C 8B EA JMP.W CODE_04EA8B DATA_04EB56: .db $F5,$11,$F2,$15,$F5,$11,$F3,$14 .db $F5,$11,$F3,$14,$F6,$10,$F4,$13 .db $F7,$0F,$F5,$12,$F8,$0E,$F7,$11 .db $FA,$0D,$F9,$10,$FC,$0C,$FB,$0D .db $FF,$0A,$FE,$0B,$01,$07,$01,$07 .db $00,$08,$00,$08 DATA_04EB82: .db $F8,$F8,$11,$12,$F8,$F8,$10,$11 .db $F8,$F8,$10,$11,$F9,$F9,$0F,$10 .db $FA,$FA,$0E,$0F,$FB,$FB,$0C,$0D .db $FC,$FC,$0B,$0B,$FE,$FE,$0A,$0A .db $00,$00,$08,$08,$01,$01,$07,$07 .db $00,$00,$08,$08 DATA_04EBAE: .db $F6,$B6,$76,$36,$F6,$B6,$76,$36 .db $36,$76,$B6,$F6,$36,$76,$B6,$F6 .db $36,$36,$36,$36,$36,$36,$36,$36 .db $36,$36,$36,$36,$36,$36,$36,$36 .db $36,$36,$36,$36,$36,$36,$36,$36 .db $30,$70,$B0,$F0 DATA_04EBDA: .db $22,$23,$32,$33,$32,$23,$22 DATA_04EBE1: .db $73,$73,$72,$72,$5F,$5F,$28,$28 .db $28,$28 CODE_04EBEB: CE 84 1B DEC.W $1B84 CODE_04EBEE: 10 04 BPL CODE_04EBF4 CODE_04EBF0: EE 86 1B INC.W $1B86 Return04EBF3: 60 RTS ; Return CODE_04EBF4: AD 84 1B LDA.W $1B84 CODE_04EBF7: AC 86 1B LDY.W $1B86 CODE_04EBFA: C0 01 CPY.B #$01 CODE_04EBFC: F0 19 BEQ CODE_04EC17 CODE_04EBFE: C9 10 CMP.B #$10 CODE_04EC00: D0 05 BNE CODE_04EC07 CODE_04EC02: 48 PHA CODE_04EC03: 20 83 ED JSR.W CODE_04ED83 CODE_04EC06: 68 PLA CODE_04EC07: 4A LSR CODE_04EC08: 4A LSR CODE_04EC09: AA TAX CODE_04EC0A: BD DA EB LDA.W DATA_04EBDA,X CODE_04EC0D: 85 02 STA $02 CODE_04EC0F: 20 67 EC JSR.W CODE_04EC67 CODE_04EC12: A2 28 LDX.B #$28 CODE_04EC14: 4C 2E EC JMP.W CODE_04EC2E CODE_04EC17: C9 18 CMP.B #$18 CODE_04EC19: D0 05 BNE CODE_04EC20 CODE_04EC1B: 48 PHA CODE_04EC1C: 20 AA EE JSR.W CODE_04EEAA CODE_04EC1F: 68 PLA CODE_04EC20: 29 FC AND.B #$FC CODE_04EC22: AA TAX CODE_04EC23: 4A LSR CODE_04EC24: 4A LSR CODE_04EC25: A8 TAY CODE_04EC26: B9 E1 EB LDA.W DATA_04EBE1,Y CODE_04EC29: 85 02 STA $02 CODE_04EC2B: 20 67 EC JSR.W CODE_04EC67 CODE_04EC2E: A9 03 LDA.B #$03 CODE_04EC30: 85 03 STA $03 CODE_04EC32: A0 00 LDY.B #$00 CODE_04EC34: A5 00 LDA $00 CODE_04EC36: 18 CLC CODE_04EC37: 7D 56 EB ADC.W DATA_04EB56,X CODE_04EC3A: 99 80 02 STA.W $0280,Y CODE_04EC3D: A5 01 LDA $01 CODE_04EC3F: 18 CLC CODE_04EC40: 7D 82 EB ADC.W DATA_04EB82,X CODE_04EC43: 99 81 02 STA.W $0281,Y CODE_04EC46: A5 02 LDA $02 CODE_04EC48: 99 82 02 STA.W $0282,Y CODE_04EC4B: BD AE EB LDA.W DATA_04EBAE,X CODE_04EC4E: 99 83 02 STA.W $0283,Y CODE_04EC51: C8 INY CODE_04EC52: C8 INY CODE_04EC53: C8 INY CODE_04EC54: C8 INY CODE_04EC55: E8 INX CODE_04EC56: C6 03 DEC $03 CODE_04EC58: 10 DA BPL CODE_04EC34 CODE_04EC5A: 9C 40 04 STZ.W $0440 CODE_04EC5D: 9C 41 04 STZ.W $0441 CODE_04EC60: 9C 42 04 STZ.W $0442 CODE_04EC63: 9C 43 04 STZ.W $0443 Return04EC66: 60 RTS ; Return CODE_04EC67: AD 82 1B LDA.W $1B82 CODE_04EC6A: 38 SEC CODE_04EC6B: E5 1E SBC $1E CODE_04EC6D: 85 00 STA $00 CODE_04EC6F: AD 83 1B LDA.W $1B83 CODE_04EC72: 18 CLC CODE_04EC73: E5 20 SBC $20 CODE_04EC75: 85 01 STA $01 Return04EC77: 60 RTS ; Return CODE_04EC78: A9 7E LDA.B #$7E CODE_04EC7A: 85 0F STA $0F CODE_04EC7C: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04EC7E: A9 00 C8 LDA.W #$C800 CODE_04EC81: 85 0D STA $0D CODE_04EC83: AD EA 1D LDA.W $1DEA CODE_04EC86: 29 FF 00 AND.W #$00FF CODE_04EC89: 0A ASL CODE_04EC8A: AA TAX CODE_04EC8B: BF 5D D8 04 LDA.L DATA_04D85D,X CODE_04EC8F: A8 TAY CODE_04EC90: A2 15 00 LDX.W #$0015 CODE_04EC93: E2 20 SEP #$20 ; Accum (8 bit) CODE_04EC95: B7 0D LDA [$0D],Y CODE_04EC97: DF 1D DA 04 CMP.L DATA_04DA1D,X CODE_04EC9B: F0 0B BEQ CODE_04ECA8 CODE_04EC9D: CA DEX CODE_04EC9E: 10 F7 BPL CODE_04EC97 CODE_04ECA0: E2 10 SEP #$10 ; Index (8 bit) CODE_04ECA2: A9 07 LDA.B #$07 CODE_04ECA4: 8D 86 1B STA.W $1B86 Return04ECA7: 60 RTS ; Return CODE_04ECA8: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04ECAA: A9 01 LDA.B #$01 ; \ CODE_04ECAC: 8D FC 1D STA.W $1DFC ; / Play sound effect when level tile appears CODE_04ECAF: EE 86 1B INC.W $1B86 CODE_04ECB2: AD EA 1D LDA.W $1DEA CODE_04ECB5: 29 FF AND.B #$FF CODE_04ECB7: 0A ASL CODE_04ECB8: AA TAX CODE_04ECB9: BF 5D D8 04 LDA.L DATA_04D85D,X CODE_04ECBD: 0A ASL CODE_04ECBE: 0A ASL CODE_04ECBF: 0A ASL CODE_04ECC0: 0A ASL CODE_04ECC1: 8D 82 1B STA.W $1B82 CODE_04ECC4: BF 5D D8 04 LDA.L DATA_04D85D,X CODE_04ECC8: 29 F0 AND.B #$F0 CODE_04ECCA: 8D 83 1B STA.W $1B83 CODE_04ECCD: A9 1C LDA.B #$1C CODE_04ECCF: 8D 84 1B STA.W $1B84 Return04ECD2: 60 RTS ; Return DATA_04ECD3: .db $86,$99,$86,$19,$86,$D9,$86,$59 .db $96,$99,$96,$19,$96,$D9,$96,$59 .db $86,$9D,$86,$1D,$86,$DD,$86,$5D .db $96,$9D,$96,$1D,$96,$DD,$96,$5D .db $86,$99,$86,$19,$86,$D9,$86,$59 .db $96,$99,$96,$19,$96,$D9,$96,$59 .db $86,$9D,$86,$1D,$86,$DD,$86,$5D .db $96,$9D,$96,$1D,$96,$DD,$96,$5D .db $88,$15,$98,$15,$89,$15,$99,$15 .db $A4,$11,$B4,$11,$A5,$11,$B5,$11 .db $22,$11,$90,$11,$22,$11,$91,$11 .db $C2,$11,$D2,$11,$C3,$11,$D3,$11 .db $A6,$11,$B6,$11,$A7,$11,$B7,$11 .db $82,$19,$92,$19,$83,$19,$93,$19 .db $C8,$19,$F8,$19,$C9,$19,$F9,$19 .db $80,$1C,$90,$1C,$81,$1C,$90,$5C .db $80,$14,$90,$14,$81,$14,$90,$54 .db $A2,$11,$B2,$11,$A3,$11,$B3,$11 .db $82,$1D,$92,$1D,$83,$1D,$93,$1D .db $86,$99,$86,$19,$86,$D9,$86,$59 .db $86,$99,$86,$19,$86,$D9,$86,$59 .db $A8,$11,$B8,$11,$A9,$11,$B9,$11 CODE_04ED83: A9 7E LDA.B #$7E CODE_04ED85: 85 0F STA $0F CODE_04ED87: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04ED89: A9 00 C8 LDA.W #$C800 CODE_04ED8C: 85 0D STA $0D CODE_04ED8E: AD EA 1D LDA.W $1DEA CODE_04ED91: 29 FF 00 AND.W #$00FF CODE_04ED94: 0A ASL CODE_04ED95: AA TAX CODE_04ED96: BF 5D D8 04 LDA.L DATA_04D85D,X CODE_04ED9A: A8 TAY CODE_04ED9B: A2 15 00 LDX.W #$0015 CODE_04ED9E: E2 20 SEP #$20 ; Accum (8 bit) CODE_04EDA0: B7 0D LDA [$0D],Y CODE_04EDA2: DF 1D DA 04 CMP.L DATA_04DA1D,X CODE_04EDA6: F0 03 BEQ CODE_04EDAB CODE_04EDA8: CA DEX CODE_04EDA9: D0 F7 BNE CODE_04EDA2 CODE_04EDAB: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04EDAD: 86 0E STX $0E CODE_04EDAF: AD EA 1D LDA.W $1DEA CODE_04EDB2: 29 FF 00 AND.W #$00FF CODE_04EDB5: 0A ASL CODE_04EDB6: AA TAX CODE_04EDB7: BF 3D D9 04 LDA.L DATA_04D93D,X CODE_04EDBB: 85 00 STA $00 CODE_04EDBD: BF 5D D8 04 LDA.L DATA_04D85D,X CODE_04EDC1: AA TAX CODE_04EDC2: DA PHX CODE_04EDC3: A6 0E LDX $0E CODE_04EDC5: E2 20 SEP #$20 ; Accum (8 bit) CODE_04EDC7: BF 33 DA 04 LDA.L DATA_04DA33,X CODE_04EDCB: FA PLX CODE_04EDCC: 9F 00 C8 7E STA.L $7EC800,X CODE_04EDD0: A9 04 LDA.B #$04 CODE_04EDD2: 85 0C STA $0C CODE_04EDD4: C2 20 REP #$20 ; Accum (16 bit) CODE_04EDD6: A9 D3 EC LDA.W #$ECD3 CODE_04EDD9: 85 0A STA $0A CODE_04EDDB: A5 0E LDA $0E CODE_04EDDD: 0A ASL CODE_04EDDE: 0A ASL CODE_04EDDF: 0A ASL CODE_04EDE0: A8 TAY CODE_04EDE1: AF 7B 83 7F LDA.L $7F837B CODE_04EDE5: AA TAX CODE_04EDE6: A5 00 LDA $00 CODE_04EDE8: 9F 7D 83 7F STA.L $7F837D,X CODE_04EDEC: 18 CLC CODE_04EDED: 69 00 20 ADC.W #$2000 CODE_04EDF0: 9F 85 83 7F STA.L $7F8385,X CODE_04EDF4: A9 00 03 LDA.W #$0300 CODE_04EDF7: 9F 7F 83 7F STA.L $7F837F,X CODE_04EDFB: 9F 87 83 7F STA.L $7F8387,X CODE_04EDFF: B7 0A LDA [$0A],Y CODE_04EE01: 9F 81 83 7F STA.L $7F8381,X CODE_04EE05: C8 INY CODE_04EE06: C8 INY CODE_04EE07: B7 0A LDA [$0A],Y CODE_04EE09: 9F 89 83 7F STA.L $7F8389,X CODE_04EE0D: C8 INY CODE_04EE0E: C8 INY CODE_04EE0F: B7 0A LDA [$0A],Y CODE_04EE11: 9F 83 83 7F STA.L $7F8383,X CODE_04EE15: C8 INY CODE_04EE16: C8 INY CODE_04EE17: B7 0A LDA [$0A],Y CODE_04EE19: 9F 8B 83 7F STA.L $7F838B,X CODE_04EE1D: A9 FF 00 LDA.W #$00FF CODE_04EE20: 9F 8D 83 7F STA.L $7F838D,X CODE_04EE24: 8A TXA CODE_04EE25: 18 CLC CODE_04EE26: 69 10 00 ADC.W #$0010 CODE_04EE29: 8F 7B 83 7F STA.L $7F837B CODE_04EE2D: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return04EE2F: 60 RTS ; Return CODE_04EE30: E2 20 SEP #$20 ; Accum (8 bit) CODE_04EE32: A9 7F LDA.B #$7F CODE_04EE34: 85 0E STA $0E CODE_04EE36: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04EE38: AD EB 1D LDA.W $1DEB CODE_04EE3B: 0A ASL CODE_04EE3C: 0A ASL CODE_04EE3D: AA TAX CODE_04EE3E: BF 8F DD 04 LDA.L DATA_04DD8F,X CODE_04EE42: 85 00 STA $00 CODE_04EE44: 29 FF 1F AND.W #$1FFF CODE_04EE47: 4A LSR CODE_04EE48: 18 CLC CODE_04EE49: 69 00 30 ADC.W #$3000 CODE_04EE4C: EB XBA CODE_04EE4D: 85 02 STA $02 CODE_04EE4F: A9 00 40 LDA.W #$4000 CODE_04EE52: 85 0C STA $0C CODE_04EE54: A9 FF FF LDA.W #$FFFF CODE_04EE57: 85 0A STA $0A CODE_04EE59: BF 8D DD 04 LDA.L DATA_04DD8D,X CODE_04EE5D: C9 00 09 CMP.W #$0900 CODE_04EE60: 90 06 BCC CODE_04EE68 CODE_04EE62: 20 6C E7 JSR.W CODE_04E76C CODE_04EE65: 4C 6B EE JMP.W CODE_04EE6B CODE_04EE68: 20 24 E8 JSR.W CODE_04E824 CODE_04EE6B: A9 FF 00 LDA.W #$00FF CODE_04EE6E: 9F 7D 83 7F STA.L $7F837D,X CODE_04EE72: 8A TXA CODE_04EE73: 8F 7B 83 7F STA.L $7F837B CODE_04EE77: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return04EE79: 60 RTS ; Return DATA_04EE7A: .db $22,$01,$82,$1C,$22,$01,$83,$1C .db $22,$01,$82,$14,$22,$01,$83,$14 .db $EA,$01,$EA,$01,$EA,$C1,$EA,$C1 .db $EA,$01,$EA,$01,$EA,$C1,$EA,$C1 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $8A,$15,$9A,$15,$8B,$15,$9B,$15 CODE_04EEAA: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_04EEAC: A9 7E LDA.B #$7E CODE_04EEAE: 85 0F STA $0F CODE_04EEB0: A9 04 LDA.B #$04 CODE_04EEB2: 85 0C STA $0C CODE_04EEB4: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_04EEB6: A9 00 C8 LDA.W #$C800 CODE_04EEB9: 85 0D STA $0D CODE_04EEBB: A9 7A EE LDA.W #$EE7A CODE_04EEBE: 85 0A STA $0A CODE_04EEC0: AD D1 13 LDA.W $13D1 CODE_04EEC3: 29 FF 00 AND.W #$00FF CODE_04EEC6: 0A ASL CODE_04EEC7: AA TAX CODE_04EEC8: BF 87 E5 04 LDA.L DATA_04E587,X CODE_04EECC: 85 00 STA $00 CODE_04EECE: AF 7B 83 7F LDA.L $7F837B CODE_04EED2: AA TAX CODE_04EED3: AD D0 13 LDA.W $13D0 CODE_04EED6: 29 FF 00 AND.W #$00FF CODE_04EED9: C9 03 00 CMP.W #$0003 CODE_04EEDC: 30 49 BMI CODE_04EF27 CODE_04EEDE: 0A ASL CODE_04EEDF: 0A ASL CODE_04EEE0: 0A ASL CODE_04EEE1: A8 TAY CODE_04EEE2: A5 00 LDA $00 CODE_04EEE4: 9F 7D 83 7F STA.L $7F837D,X CODE_04EEE8: 18 CLC CODE_04EEE9: 69 00 20 ADC.W #$2000 CODE_04EEEC: 9F 85 83 7F STA.L $7F8385,X CODE_04EEF0: EB XBA CODE_04EEF1: 18 CLC CODE_04EEF2: 69 20 00 ADC.W #$0020 CODE_04EEF5: EB XBA CODE_04EEF6: 85 00 STA $00 CODE_04EEF8: A9 00 03 LDA.W #$0300 CODE_04EEFB: 9F 7F 83 7F STA.L $7F837F,X CODE_04EEFF: 9F 87 83 7F STA.L $7F8387,X CODE_04EF03: B7 0A LDA [$0A],Y CODE_04EF05: 9F 81 83 7F STA.L $7F8381,X CODE_04EF09: C8 INY CODE_04EF0A: C8 INY CODE_04EF0B: B7 0A LDA [$0A],Y CODE_04EF0D: 9F 89 83 7F STA.L $7F8389,X CODE_04EF11: C8 INY CODE_04EF12: C8 INY CODE_04EF13: B7 0A LDA [$0A],Y CODE_04EF15: 9F 83 83 7F STA.L $7F8383,X CODE_04EF19: C8 INY CODE_04EF1A: C8 INY CODE_04EF1B: B7 0A LDA [$0A],Y CODE_04EF1D: 9F 8B 83 7F STA.L $7F838B,X CODE_04EF21: 8A TXA CODE_04EF22: 18 CLC CODE_04EF23: 69 10 00 ADC.W #$0010 CODE_04EF26: AA TAX CODE_04EF27: AD D0 13 LDA.W $13D0 CODE_04EF2A: 29 FF 00 AND.W #$00FF CODE_04EF2D: C9 02 00 CMP.W #$0002 CODE_04EF30: 10 06 BPL CODE_04EF38 CODE_04EF32: 0A ASL CODE_04EF33: 0A ASL CODE_04EF34: 0A ASL CODE_04EF35: A8 TAY CODE_04EF36: 80 03 BRA CODE_04EF3B CODE_04EF38: A0 28 00 LDY.W #$0028 CODE_04EF3B: 4C E6 ED JMP.W CODE_04EDE6 ; Ending early for table of FF's up ahread DATA_04EF3E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF DATA_04F280: .db $00,$D8,$28,$D0,$30,$D8,$28,$00 DATA_04F288: .db $D0,$D8,$D8,$00,$00,$28,$28,$30 CODE_04F290: AC 39 14 LDY.W $1439 ; Index (8 bit) Accum (8 bit) CODE_04F293: C0 0C CPY.B #$0C CODE_04F295: 90 04 BCC CODE_04F29B CODE_04F297: 9C D2 13 STZ.W $13D2 Return04F29A: 60 RTS ; Return CODE_04F29B: AD 37 14 LDA.W $1437 CODE_04F29E: D0 74 BNE CODE_04F314 CODE_04F2A0: C0 08 CPY.B #$08 CODE_04F2A2: B0 68 BCS CODE_04F30C CODE_04F2A4: A9 1C LDA.B #$1C CODE_04F2A6: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_04F2A9: A9 07 LDA.B #$07 CODE_04F2AB: 85 00 STA $00 CODE_04F2AD: AE 36 14 LDX.W RAM_KeyHolePos1 CODE_04F2B0: AC D6 0D LDY.W $0DD6 CODE_04F2B3: B9 17 1F LDA.W $1F17,Y CODE_04F2B6: 9F 78 B9 7E STA.L $7EB978,X CODE_04F2BA: B9 18 1F LDA.W $1F18,Y CODE_04F2BD: 9F 00 B9 7E STA.L $7EB900,X CODE_04F2C1: B9 19 1F LDA.W $1F19,Y CODE_04F2C4: 9F A0 B9 7E STA.L $7EB9A0,X CODE_04F2C8: B9 1A 1F LDA.W $1F1A,Y CODE_04F2CB: 9F 28 B9 7E STA.L $7EB928,X CODE_04F2CF: A9 00 LDA.B #$00 CODE_04F2D1: 9F C8 B9 7E STA.L $7EB9C8,X CODE_04F2D5: 9F 50 B9 7E STA.L $7EB950,X CODE_04F2D9: A4 00 LDY $00 CODE_04F2DB: B9 80 F2 LDA.W DATA_04F280,Y CODE_04F2DE: 9F F0 B9 7E STA.L $7EB9F0,X CODE_04F2E2: B9 88 F2 LDA.W DATA_04F288,Y CODE_04F2E5: 9F 18 BA 7E STA.L $7EBA18,X CODE_04F2E9: A9 D0 LDA.B #$D0 CODE_04F2EB: 9F 40 BA 7E STA.L $7EBA40,X CODE_04F2EF: E8 INX CODE_04F2F0: C6 00 DEC $00 CODE_04F2F2: 10 BC BPL CODE_04F2B0 CODE_04F2F4: E0 28 CPX.B #$28 CODE_04F2F6: 90 11 BCC CODE_04F309 CODE_04F2F8: AD 38 14 LDA.W RAM_KeyHolePos2 CODE_04F2FB: 18 CLC CODE_04F2FC: 69 20 ADC.B #$20 CODE_04F2FE: C9 A0 CMP.B #$A0 CODE_04F300: 90 02 BCC CODE_04F304 ADDR_04F302: A9 00 LDA.B #$00 CODE_04F304: 8D 38 14 STA.W RAM_KeyHolePos2 CODE_04F307: A2 00 LDX.B #$00 CODE_04F309: 8E 36 14 STX.W RAM_KeyHolePos1 CODE_04F30C: A9 10 LDA.B #$10 CODE_04F30E: 8D 37 14 STA.W $1437 CODE_04F311: EE 39 14 INC.W $1439 CODE_04F314: CE 37 14 DEC.W $1437 CODE_04F317: AD 38 14 LDA.W RAM_KeyHolePos2 CODE_04F31A: 85 0F STA $0F CODE_04F31C: A2 00 LDX.B #$00 CODE_04F31E: DA PHX CODE_04F31F: A0 00 LDY.B #$00 CODE_04F321: 20 9C F3 JSR.W CODE_04F39C CODE_04F324: 20 97 F3 JSR.W CODE_04F397 CODE_04F327: 20 97 F3 JSR.W CODE_04F397 CODE_04F32A: FA PLX CODE_04F32B: BF 40 BA 7E LDA.L $7EBA40,X CODE_04F32F: 18 CLC CODE_04F330: 69 01 ADC.B #$01 CODE_04F332: 30 06 BMI CODE_04F33A CODE_04F334: C9 40 CMP.B #$40 CODE_04F336: 90 02 BCC CODE_04F33A CODE_04F338: A9 40 LDA.B #$40 CODE_04F33A: 9F 40 BA 7E STA.L $7EBA40,X CODE_04F33E: BF 50 B9 7E LDA.L $7EB950,X CODE_04F342: EB XBA CODE_04F343: BF C8 B9 7E LDA.L $7EB9C8,X CODE_04F347: C2 20 REP #$20 ; Accum (16 bit) CODE_04F349: 18 CLC CODE_04F34A: 65 02 ADC $02 CODE_04F34C: 85 02 STA $02 CODE_04F34E: E2 20 SEP #$20 ; Accum (8 bit) CODE_04F350: EB XBA CODE_04F351: 05 01 ORA $01 CODE_04F353: D0 23 BNE CODE_04F378 CODE_04F355: A4 0F LDY $0F CODE_04F357: EB XBA CODE_04F358: 99 41 03 STA.W $0341,Y CODE_04F35B: A5 00 LDA $00 CODE_04F35D: 99 40 03 STA.W $0340,Y CODE_04F360: A9 E6 LDA.B #$E6 CODE_04F362: 99 42 03 STA.W $0342,Y CODE_04F365: AD D2 13 LDA.W $13D2 CODE_04F368: 3A DEC A CODE_04F369: 0A ASL CODE_04F36A: 09 30 ORA.B #$30 CODE_04F36C: 99 43 03 STA.W $0343,Y CODE_04F36F: 98 TYA CODE_04F370: 4A LSR CODE_04F371: 4A LSR CODE_04F372: A8 TAY CODE_04F373: A9 02 LDA.B #$02 CODE_04F375: 99 70 04 STA.W $0470,Y CODE_04F378: A5 0F LDA $0F CODE_04F37A: 18 CLC CODE_04F37B: 69 04 ADC.B #$04 CODE_04F37D: C9 A0 CMP.B #$A0 CODE_04F37F: 90 02 BCC CODE_04F383 CODE_04F381: A9 00 LDA.B #$00 CODE_04F383: 85 0F STA $0F CODE_04F385: E8 INX CODE_04F386: EC 36 14 CPX.W RAM_KeyHolePos1 CODE_04F389: 90 93 BCC CODE_04F31E CODE_04F38B: AD 39 14 LDA.W $1439 CODE_04F38E: C9 05 CMP.B #$05 CODE_04F390: 90 04 BCC Return04F396 CODE_04F392: E0 28 CPX.B #$28 CODE_04F394: 90 88 BCC CODE_04F31E Return04F396: 60 RTS ; Return CODE_04F397: 8A TXA CODE_04F398: 18 CLC CODE_04F399: 69 28 ADC.B #$28 CODE_04F39B: AA TAX CODE_04F39C: 5A PHY CODE_04F39D: BF F0 B9 7E LDA.L $7EB9F0,X CODE_04F3A1: 0A ASL CODE_04F3A2: 0A ASL CODE_04F3A3: 0A ASL CODE_04F3A4: 0A ASL CODE_04F3A5: 18 CLC CODE_04F3A6: 7F 68 BA 7E ADC.L $7EBA68,X CODE_04F3AA: 9F 68 BA 7E STA.L $7EBA68,X CODE_04F3AE: BF F0 B9 7E LDA.L $7EB9F0,X CODE_04F3B2: 08 PHP CODE_04F3B3: 4A LSR CODE_04F3B4: 4A LSR CODE_04F3B5: 4A LSR CODE_04F3B6: 4A LSR CODE_04F3B7: A0 00 LDY.B #$00 CODE_04F3B9: 28 PLP CODE_04F3BA: 10 03 BPL CODE_04F3BF CODE_04F3BC: 09 F0 ORA.B #$F0 CODE_04F3BE: 88 DEY CODE_04F3BF: 7F 78 B9 7E ADC.L $7EB978,X CODE_04F3C3: 9F 78 B9 7E STA.L $7EB978,X CODE_04F3C7: EB XBA CODE_04F3C8: 98 TYA CODE_04F3C9: 7F 00 B9 7E ADC.L $7EB900,X CODE_04F3CD: 9F 00 B9 7E STA.L $7EB900,X CODE_04F3D1: EB XBA CODE_04F3D2: 7A PLY CODE_04F3D3: C2 20 REP #$20 ; Accum (16 bit) CODE_04F3D5: 38 SEC CODE_04F3D6: F9 1A 00 SBC.W RAM_ScreenBndryXLo,Y CODE_04F3D9: 38 SEC CODE_04F3DA: E9 08 00 SBC.W #$0008 CODE_04F3DD: 99 00 00 STA.W $0000,Y CODE_04F3E0: E2 20 SEP #$20 ; Accum (8 bit) CODE_04F3E2: C8 INY CODE_04F3E3: C8 INY Return04F3E4: 60 RTS ; Return CODE_04F3E5: 3A DEC A CODE_04F3E6: 22 DF 86 00 JSL.L ExecutePtr Ptrs04F3EA: FF F3 .dw CODE_04F3FF 15 F4 .dw CODE_04F415 13 F5 .dw CODE_04F513 15 F4 .dw CODE_04F415 FF F3 .dw CODE_04F3FF 15 F4 .dw CODE_04F415 FA F3 .dw CODE_04F3FA 15 F4 .dw CODE_04F415 CODE_04F3FA: 22 A8 9B 00 JSL.L CODE_009BA8 Return04F3FE: 60 RTS ; Return CODE_04F3FF: A9 22 LDA.B #$22 CODE_04F401: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_04F404: EE 87 1B INC.W $1B87 CODE_04F407: 64 41 STZ $41 CODE_04F409: 64 42 STZ $42 CODE_04F40B: 64 43 STZ $43 CODE_04F40D: 9C 9F 0D STZ.W $0D9F Return04F410: 60 RTS ; Return DATA_04F411: .db $04,$FC DATA_04F413: .db $68,$00 CODE_04F415: A2 00 LDX.B #$00 CODE_04F417: AD B4 0D LDA.W RAM_PlayerLives CODE_04F41A: CD B5 0D CMP.W $0DB5 CODE_04F41D: 10 01 BPL CODE_04F420 ADDR_04F41F: E8 INX CODE_04F420: 8E 8A 1B STX.W $1B8A CODE_04F423: AE 88 1B LDX.W $1B88 CODE_04F426: AD 89 1B LDA.W $1B89 CODE_04F429: DF 13 F4 04 CMP.L DATA_04F413,X CODE_04F42D: D0 1C BNE CODE_04F44B CODE_04F42F: EE 87 1B INC.W $1B87 CODE_04F432: AD 87 1B LDA.W $1B87 CODE_04F435: C9 07 CMP.B #$07 CODE_04F437: D0 04 BNE CODE_04F43D CODE_04F439: A0 1E LDY.B #$1E CODE_04F43B: 84 12 STY $12 CODE_04F43D: 3A DEC A CODE_04F43E: 29 03 AND.B #$03 CODE_04F440: D0 08 BNE Return04F44A CODE_04F442: 9C 87 1B STZ.W $1B87 CODE_04F445: 9C 88 1B STZ.W $1B88 CODE_04F448: 80 BD BRA CODE_04F407 Return04F44A: 60 RTS ; Return CODE_04F44B: 18 CLC CODE_04F44C: 7F 11 F4 04 ADC.L DATA_04F411,X CODE_04F450: 8D 89 1B STA.W $1B89 CODE_04F453: 18 CLC CODE_04F454: 69 80 ADC.B #$80 CODE_04F456: EB XBA CODE_04F457: C2 10 REP #$10 ; Index (16 bit) CODE_04F459: A2 6E 01 LDX.W #$016E CODE_04F45C: A9 FF LDA.B #$FF CODE_04F45E: 9D F0 04 STA.W $04F0,X CODE_04F461: 9E F1 04 STZ.W $04F1,X CODE_04F464: CA DEX CODE_04F465: CA DEX CODE_04F466: 10 F6 BPL CODE_04F45E CODE_04F468: E2 10 SEP #$10 ; Index (8 bit) CODE_04F46A: AD 89 1B LDA.W $1B89 CODE_04F46D: 4A LSR CODE_04F46E: 6D 89 1B ADC.W $1B89 CODE_04F471: 4A LSR CODE_04F472: 29 FE AND.B #$FE CODE_04F474: AA TAX CODE_04F475: A9 80 LDA.B #$80 CODE_04F477: 38 SEC CODE_04F478: ED 89 1B SBC.W $1B89 CODE_04F47B: C2 20 REP #$20 ; Accum (16 bit) CODE_04F47D: A0 48 LDY.B #$48 CODE_04F47F: 99 48 05 STA.W $0548,Y CODE_04F482: 9D 90 05 STA.W $0590,X CODE_04F485: 88 DEY CODE_04F486: 88 DEY CODE_04F487: CA DEX CODE_04F488: CA DEX CODE_04F489: 10 F4 BPL CODE_04F47F CODE_04F48B: 9C 01 07 STZ.W $0701 CODE_04F48E: E2 20 SEP #$20 ; Accum (8 bit) CODE_04F490: A9 22 LDA.B #$22 CODE_04F492: 85 41 STA $41 CODE_04F494: A9 20 LDA.B #$20 CODE_04F496: 4C 95 DB JMP.W CODE_04DB95 DATA_04F499: .db $51,$C4,$40,$24,$FC,$38,$52,$04 .db $40,$2C,$FC,$38,$52,$2F,$40,$02 .db $FC,$38,$52,$48,$40,$1C,$FC,$38 .db $FF DATA_04F4B2: .db $52,$49,$00,$09,$16,$28,$0A,$28 .db $1B,$28,$12,$28,$18,$28,$52,$52 .db $00,$09,$15,$28,$1E,$28,$12,$28 .db $10,$28,$12,$28,$52,$0B,$00,$05 .db $26,$28,$00,$28,$00,$28,$52,$14 .db $00,$05,$26,$28,$00,$28,$00,$28 .db $52,$0F,$00,$03,$FC,$38,$FC,$38 .db $52,$2F,$00,$03,$FC,$38,$FC,$38 .db $51,$C9,$00,$03,$85,$29,$85,$69 .db $51,$D2,$00,$03,$85,$29,$85,$69 .db $FF DATA_04F503: .db $7D,$38,$7E,$78 DATA_04F507: .db $7E,$38,$7D,$78 DATA_04F50B: .db $7D,$B8,$7E,$F8 DATA_04F50F: .db $7E,$B8,$7D,$F8 CODE_04F513: AD A6 0D LDA.W RAM_OWControllerA CODE_04F516: 0D A7 0D ORA.W $0DA7 CODE_04F519: 29 10 AND.B #$10 CODE_04F51B: F0 0E BEQ CODE_04F52B CODE_04F51D: AE B3 0D LDX.W $0DB3 CODE_04F520: BD B4 0D LDA.W RAM_PlayerLives,X CODE_04F523: 8D BE 0D STA.W RAM_StatusLives CODE_04F526: 22 13 9C 00 JSL.L CODE_009C13 Return04F52A: 60 RTS ; Return CODE_04F52B: AD A6 0D LDA.W RAM_OWControllerA CODE_04F52E: 29 C0 AND.B #$C0 CODE_04F530: D0 09 BNE CODE_04F53B CODE_04F532: AD A7 0D LDA.W $0DA7 CODE_04F535: 29 C0 AND.B #$C0 CODE_04F537: F0 33 BEQ CODE_04F56C ADDR_04F539: 49 C0 EOR.B #$C0 CODE_04F53B: A2 01 LDX.B #$01 CODE_04F53D: 0A ASL CODE_04F53E: B0 01 BCS CODE_04F541 CODE_04F540: CA DEX CODE_04F541: EC 8A 1B CPX.W $1B8A CODE_04F544: F0 05 BEQ CODE_04F54B CODE_04F546: A9 18 LDA.B #$18 CODE_04F548: 8D 8B 1B STA.W $1B8B CODE_04F54B: 8E 8A 1B STX.W $1B8A CODE_04F54E: 8A TXA CODE_04F54F: 49 01 EOR.B #$01 CODE_04F551: A8 TAY CODE_04F552: BD B4 0D LDA.W RAM_PlayerLives,X CODE_04F555: F0 15 BEQ CODE_04F56C CODE_04F557: 30 13 BMI CODE_04F56C CODE_04F559: B9 B4 0D LDA.W RAM_PlayerLives,Y CODE_04F55C: C9 62 CMP.B #$62 CODE_04F55E: 10 0C BPL CODE_04F56C CODE_04F560: 1A INC A CODE_04F561: 99 B4 0D STA.W RAM_PlayerLives,Y CODE_04F564: DE B4 0D DEC.W RAM_PlayerLives,X CODE_04F567: A9 23 LDA.B #$23 CODE_04F569: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_04F56C: C2 20 REP #$20 ; Accum (16 bit) CODE_04F56E: A9 48 78 LDA.W #$7848 CODE_04F571: 8D 9C 02 STA.W $029C CODE_04F574: A9 90 78 LDA.W #$7890 CODE_04F577: 8D A0 02 STA.W $02A0 CODE_04F57A: A9 0A 34 LDA.W #$340A CODE_04F57D: 8D 9E 02 STA.W $029E CODE_04F580: A9 0A 36 LDA.W #$360A CODE_04F583: 8D A2 02 STA.W $02A2 CODE_04F586: E2 20 SEP #$20 ; Accum (8 bit) CODE_04F588: A9 02 LDA.B #$02 CODE_04F58A: 8D 47 04 STA.W $0447 CODE_04F58D: 8D 48 04 STA.W $0448 CODE_04F590: 22 F2 DB 05 JSL.L CODE_05DBF2 CODE_04F594: A0 50 LDY.B #$50 CODE_04F596: 98 TYA CODE_04F597: 18 CLC CODE_04F598: 6F 7B 83 7F ADC.L $7F837B CODE_04F59C: 8F 7B 83 7F STA.L $7F837B CODE_04F5A0: AA TAX CODE_04F5A1: B9 B2 F4 LDA.W DATA_04F4B2,Y CODE_04F5A4: 9F 7D 83 7F STA.L $7F837D,X CODE_04F5A8: CA DEX CODE_04F5A9: 88 DEY CODE_04F5AA: 10 F5 BPL CODE_04F5A1 CODE_04F5AC: E8 INX CODE_04F5AD: C2 20 REP #$20 ; Accum (16 bit) CODE_04F5AF: AC B4 0D LDY.W RAM_PlayerLives CODE_04F5B2: 30 0B BMI CODE_04F5BF CODE_04F5B4: A9 FC 38 LDA.W #$38FC CODE_04F5B7: 9F C1 83 7F STA.L $7F83C1,X CODE_04F5BB: 9F C3 83 7F STA.L $7F83C3,X CODE_04F5BF: AC B5 0D LDY.W $0DB5 CODE_04F5C2: 30 0B BMI CODE_04F5CF CODE_04F5C4: A9 FC 38 LDA.W #$38FC CODE_04F5C7: 9F C9 83 7F STA.L $7F83C9,X CODE_04F5CB: 9F CB 83 7F STA.L $7F83CB,X CODE_04F5CF: E2 20 SEP #$20 ; Accum (8 bit) CODE_04F5D1: EE 8B 1B INC.W $1B8B CODE_04F5D4: AD 8B 1B LDA.W $1B8B CODE_04F5D7: 29 18 AND.B #$18 CODE_04F5D9: F0 25 BEQ CODE_04F600 CODE_04F5DB: AD 8A 1B LDA.W $1B8A CODE_04F5DE: 0A ASL CODE_04F5DF: A8 TAY CODE_04F5E0: C2 20 REP #$20 ; Accum (16 bit) CODE_04F5E2: B9 03 F5 LDA.W DATA_04F503,Y CODE_04F5E5: 9F B1 83 7F STA.L $7F83B1,X CODE_04F5E9: B9 07 F5 LDA.W DATA_04F507,Y CODE_04F5EC: 9F B3 83 7F STA.L $7F83B3,X CODE_04F5F0: B9 0B F5 LDA.W DATA_04F50B,Y CODE_04F5F3: 9F B9 83 7F STA.L $7F83B9,X CODE_04F5F7: B9 0F F5 LDA.W DATA_04F50F,Y CODE_04F5FA: 9F BB 83 7F STA.L $7F83BB,X CODE_04F5FE: E2 20 SEP #$20 ; Accum (8 bit) CODE_04F600: AD B4 0D LDA.W RAM_PlayerLives CODE_04F603: 20 0E F6 JSR.W CODE_04F60E CODE_04F606: 8A TXA CODE_04F607: 18 CLC CODE_04F608: 69 0A ADC.B #$0A CODE_04F60A: AA TAX CODE_04F60B: AD B5 0D LDA.W $0DB5 CODE_04F60E: 1A INC A CODE_04F60F: DA PHX CODE_04F610: 22 4C 97 00 JSL.L CODE_00974C CODE_04F614: 9B TXY Instr04F615: .db $D0,$02 Instr04F617: .db $A2,$FC CODE_04F619: 9B TXY CODE_04F61A: FA PLX CODE_04F61B: 9F A1 83 7F STA.L $7F83A1,X CODE_04F61F: 98 TYA CODE_04F620: 9F 9F 83 7F STA.L $7F839F,X Return04F624: 60 RTS ; Return DATA_04F625: .db $00,$00,$01,$E0,$00,$00,$00,$01 .db $60,$00,$06,$70,$01,$20,$00,$07 .db $38,$00,$8A,$01,$00,$58,$00,$7A .db $00,$08,$88,$01,$18,$00,$09,$48 .db $01,$FC,$FF,$00,$80,$00,$00 DATA_04F64C: .db $01,$00,$50,$00,$40,$01 DATA_04F652: .db $03,$00,$00,$00,$00,$0A,$40,$00 .db $98,$00,$0A,$60,$00,$F8,$00,$0A .db $40,$01,$58 DATA_04F665: .db $01,$30,$00,$00,$01,$10,$FF,$20 .db $00,$70,$FF,$10,$00,$01,$40,$80 CODE_04F675: 8B PHB CODE_04F676: 4B PHK CODE_04F677: AB PLB CODE_04F678: A2 0C LDX.B #$0C CODE_04F67A: A0 4B LDY.B #$4B CODE_04F67C: B9 16 F6 LDA.W ADDR_04F616,Y CODE_04F67F: 9D E8 0D STA.W $0DE8,X CODE_04F682: C9 01 CMP.B #$01 CODE_04F684: F0 04 BEQ ADDR_04F68A CODE_04F686: C9 02 CMP.B #$02 CODE_04F688: D0 05 BNE CODE_04F68F ADDR_04F68A: A9 40 LDA.B #$40 ADDR_04F68C: 9D 58 0E STA.W $0E58,X CODE_04F68F: B9 17 F6 LDA.W Instr04F617,Y CODE_04F692: 9D 38 0E STA.W $0E38,X CODE_04F695: B9 18 F6 LDA.W ADDR_04F618,Y CODE_04F698: 9D 68 0E STA.W $0E68,X CODE_04F69B: B9 19 F6 LDA.W CODE_04F619,Y CODE_04F69E: 9D 48 0E STA.W $0E48,X CODE_04F6A1: B9 1A F6 LDA.W CODE_04F61A,Y CODE_04F6A4: 9D 78 0E STA.W $0E78,X CODE_04F6A7: 98 TYA CODE_04F6A8: 38 SEC CODE_04F6A9: E9 05 SBC.B #$05 CODE_04F6AB: A8 TAY CODE_04F6AC: CA DEX CODE_04F6AD: 10 CD BPL CODE_04F67C CODE_04F6AF: A2 0D LDX.B #$0D CODE_04F6B1: 9E 25 0E STZ.W $0E25,X CODE_04F6B4: AD 22 FD LDA.W DATA_04FD22 CODE_04F6B7: 3A DEC A CODE_04F6B8: 9D B5 0E STA.W $0EB5,X CODE_04F6BB: BD 65 F6 LDA.W DATA_04F665,X CODE_04F6BE: 48 PHA CODE_04F6BF: 8E DE 0D STX.W $0DDE CODE_04F6C2: 20 53 F8 JSR.W CODE_04F853 CODE_04F6C5: 68 PLA CODE_04F6C6: 3A DEC A CODE_04F6C7: D0 F5 BNE CODE_04F6BE CODE_04F6C9: E8 INX CODE_04F6CA: E0 10 CPX.B #$10 CODE_04F6CC: 90 E3 BCC CODE_04F6B1 CODE_04F6CE: AB PLB Return04F6CF: 6B RTL ; Return DATA_04F6D0: .db $70,$7F,$78,$7F,$70,$7F,$78,$7F DATA_04F6D8: .db $F0,$FF,$20,$00,$C0,$00,$F0,$FF .db $F0,$FF,$80,$00,$F0,$FF,$00,$00 DATA_04F6E8: .db $70,$00,$60,$01,$58,$01,$B0,$00 .db $60,$01,$60,$01,$70,$00,$60,$01 DATA_04F6F8: .db $20,$58,$43,$CF,$18,$34,$A2,$5E DATA_04F700: .db $07,$05,$06,$07,$04,$06,$07,$05 CODE_04F708: A9 F7 LDA.B #$F7 CODE_04F70A: 20 82 F8 JSR.W CODE_04F882 CODE_04F70D: D0 5F BNE CODE_04F76E CODE_04F70F: AC FB 1F LDY.W $1FFB CODE_04F712: D0 27 BNE CODE_04F73B CODE_04F714: A5 13 LDA RAM_FrameCounter CODE_04F716: 4A LSR CODE_04F717: 90 55 BCC CODE_04F76E CODE_04F719: CE FC 1F DEC.W $1FFC CODE_04F71C: D0 50 BNE CODE_04F76E CODE_04F71E: A8 TAY CODE_04F71F: B9 08 F7 LDA.W CODE_04F708,Y CODE_04F722: 29 07 AND.B #$07 CODE_04F724: AA TAX CODE_04F725: BD F8 F6 LDA.W DATA_04F6F8,X CODE_04F728: 8D FC 1F STA.W $1FFC CODE_04F72B: BC 00 F7 LDY.W DATA_04F700,X CODE_04F72E: 8C FB 1F STY.W $1FFB CODE_04F731: A9 08 LDA.B #$08 CODE_04F733: 8D FD 1F STA.W $1FFD CODE_04F736: A9 18 LDA.B #$18 CODE_04F738: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_04F73B: CE FD 1F DEC.W $1FFD CODE_04F73E: 10 08 BPL CODE_04F748 CODE_04F740: CE FB 1F DEC.W $1FFB CODE_04F743: A9 04 LDA.B #$04 CODE_04F745: 8D FD 1F STA.W $1FFD CODE_04F748: 98 TYA CODE_04F749: 0A ASL CODE_04F74A: A8 TAY CODE_04F74B: AE 81 06 LDX.W $0681 CODE_04F74E: A9 02 LDA.B #$02 CODE_04F750: 9D 82 06 STA.W $0682,X CODE_04F753: A9 47 LDA.B #$47 CODE_04F755: 9D 83 06 STA.W $0683,X CODE_04F758: B9 53 07 LDA.W $0753,Y CODE_04F75B: 9D 84 06 STA.W $0684,X CODE_04F75E: B9 54 07 LDA.W $0754,Y CODE_04F761: 9D 85 06 STA.W $0685,X CODE_04F764: 9E 86 06 STZ.W $0686,X CODE_04F767: 8A TXA CODE_04F768: 18 CLC CODE_04F769: 69 04 ADC.B #$04 CODE_04F76B: 8D 81 06 STA.W $0681 CODE_04F76E: A2 02 LDX.B #$02 CODE_04F770: BD E5 0D LDA.W $0DE5,X CODE_04F773: D0 36 BNE CODE_04F7AB CODE_04F775: A9 05 LDA.B #$05 CODE_04F777: 9D E5 0D STA.W $0DE5,X CODE_04F77A: 20 5B FE JSR.W CODE_04FE5B CODE_04F77D: 29 07 AND.B #$07 CODE_04F77F: A8 TAY CODE_04F780: B9 D0 F6 LDA.W DATA_04F6D0,Y CODE_04F783: 9D 55 0E STA.W $0E55,X CODE_04F786: 98 TYA CODE_04F787: 0A ASL CODE_04F788: A8 TAY CODE_04F789: C2 20 REP #$20 ; Accum (16 bit) CODE_04F78B: A5 1A LDA RAM_ScreenBndryXLo CODE_04F78D: 18 CLC CODE_04F78E: 79 D8 F6 ADC.W DATA_04F6D8,Y CODE_04F791: E2 20 SEP #$20 ; Accum (8 bit) CODE_04F793: 9D 35 0E STA.W $0E35,X CODE_04F796: EB XBA CODE_04F797: 9D 65 0E STA.W $0E65,X CODE_04F79A: C2 20 REP #$20 ; Accum (16 bit) CODE_04F79C: A5 1C LDA RAM_ScreenBndryYLo CODE_04F79E: 18 CLC CODE_04F79F: 79 E8 F6 ADC.W DATA_04F6E8,Y CODE_04F7A2: E2 20 SEP #$20 ; Accum (8 bit) CODE_04F7A4: 9D 45 0E STA.W $0E45,X CODE_04F7A7: EB XBA CODE_04F7A8: 9D 75 0E STA.W $0E75,X CODE_04F7AB: CA DEX CODE_04F7AC: 10 C2 BPL CODE_04F770 CODE_04F7AE: A2 04 LDX.B #$04 CODE_04F7B0: 8A TXA CODE_04F7B1: 9D E0 0D STA.W $0DE0,X CODE_04F7B4: CA DEX CODE_04F7B5: 10 F9 BPL CODE_04F7B0 CODE_04F7B7: A2 04 LDX.B #$04 CODE_04F7B9: 86 00 STX $00 CODE_04F7BB: 86 01 STX $01 CODE_04F7BD: A6 00 LDX $00 CODE_04F7BF: BC E0 0D LDY.W $0DE0,X CODE_04F7C2: B9 45 0E LDA.W $0E45,Y CODE_04F7C5: 85 02 STA $02 CODE_04F7C7: B9 75 0E LDA.W $0E75,Y CODE_04F7CA: 85 03 STA $03 CODE_04F7CC: A6 01 LDX $01 CODE_04F7CE: BC DF 0D LDY.W $0DDF,X CODE_04F7D1: B9 75 0E LDA.W $0E75,Y CODE_04F7D4: EB XBA CODE_04F7D5: B9 45 0E LDA.W $0E45,Y CODE_04F7D8: C2 20 REP #$20 ; Accum (16 bit) CODE_04F7DA: C5 02 CMP $02 CODE_04F7DC: E2 20 SEP #$20 ; Accum (8 bit) CODE_04F7DE: 10 0D BPL CODE_04F7ED CODE_04F7E0: 5A PHY CODE_04F7E1: A4 00 LDY $00 CODE_04F7E3: B9 E0 0D LDA.W $0DE0,Y CODE_04F7E6: 9D DF 0D STA.W $0DDF,X CODE_04F7E9: 68 PLA CODE_04F7EA: 99 E0 0D STA.W $0DE0,Y CODE_04F7ED: CA DEX CODE_04F7EE: D0 CB BNE CODE_04F7BB CODE_04F7F0: A6 00 LDX $00 CODE_04F7F2: CA DEX CODE_04F7F3: D0 C4 BNE CODE_04F7B9 CODE_04F7F5: A9 30 LDA.B #$30 CODE_04F7F7: 8D DF 0D STA.W $0DDF CODE_04F7FA: 9C F7 0E STZ.W $0EF7 CODE_04F7FD: A2 0F LDX.B #$0F CODE_04F7FF: A0 2D LDY.B #$2D CODE_04F801: E0 0D CPX.B #$0D CODE_04F803: B0 08 BCS CODE_04F80D CODE_04F805: BD 25 0E LDA.W $0E25,X CODE_04F808: F0 03 BEQ CODE_04F80D CODE_04F80A: DE 25 0E DEC.W $0E25,X CODE_04F80D: E0 05 CPX.B #$05 CODE_04F80F: 90 08 BCC CODE_04F819 CODE_04F811: 8E DE 0D STX.W $0DDE CODE_04F814: 20 53 F8 JSR.W CODE_04F853 CODE_04F817: 80 0C BRA CODE_04F825 CODE_04F819: DA PHX CODE_04F81A: BD E0 0D LDA.W $0DE0,X CODE_04F81D: AA TAX CODE_04F81E: 8E DE 0D STX.W $0DDE CODE_04F821: 20 53 F8 JSR.W CODE_04F853 CODE_04F824: FA PLX CODE_04F825: CA DEX CODE_04F826: 10 D9 BPL CODE_04F801 Return04F828: 60 RTS ; Return DATA_04F829: .db $7F,$21,$7F,$7F,$7F,$77,$3F,$F7 .db $F7,$00 DATA_04F833: .db $00,$52,$31,$19,$45,$2A,$03,$8B .db $94,$3C,$78,$0D,$36,$5E,$87,$1F DATA_04F843: .db $F4,$F4,$F4,$F4,$F4,$9C,$3C,$48 .db $C8,$CC,$A0,$A4,$D8,$DC,$E0,$E4 CODE_04F853: 20 7C F8 JSR.W CODE_04F87C CODE_04F856: D0 D0 BNE Return04F828 CODE_04F858: BD E5 0D LDA.W $0DE5,X CODE_04F85B: 22 DF 86 00 JSL.L ExecutePtr OWSprites?: 28 F8 .dw Return04F828 CC F8 .dw ADDR_04F8CC B8 F9 .dw ADDR_04F9B8 3E FA .dw CODE_04FA3E F1 FA .dw ADDR_04FAF1 37 FB .dw CODE_04FB37 98 FB .dw CODE_04FB98 46 FC .dw CODE_04FC46 E1 FC .dw CODE_04FCE1 24 FD .dw CODE_04FD24 70 FD .dw CODE_04FD70 DATA_04F875: .db $80,$40,$20,$10,$08,$04,$02 CODE_04F87C: BC E5 0D LDY.W $0DE5,X CODE_04F87F: B9 28 F8 LDA.W Return04F828,Y CODE_04F882: 85 00 STA $00 CODE_04F884: AC D9 13 LDY.W $13D9 CODE_04F887: C0 0A CPY.B #$0A CODE_04F889: D0 07 BNE CODE_04F892 CODE_04F88B: AC E8 1D LDY.W $1DE8 CODE_04F88E: C0 01 CPY.B #$01 CODE_04F890: D0 11 BNE CODE_04F8A3 CODE_04F892: AD D6 0D LDA.W $0DD6 CODE_04F895: 4A LSR CODE_04F896: 4A LSR CODE_04F897: A8 TAY CODE_04F898: B9 11 1F LDA.W $1F11,Y CODE_04F89B: A8 TAY CODE_04F89C: B9 75 F8 LDA.W DATA_04F875,Y CODE_04F89F: 25 00 AND $00 CODE_04F8A1: F0 02 BEQ Return04F8A5 CODE_04F8A3: A9 01 LDA.B #$01 Return04F8A5: 60 RTS ; Return DATA_04F8A6: .db $01,$01,$03,$01,$01,$01,$01,$02 DATA_04F8AE: .db $0C,$0C,$12,$12,$12,$12,$0C,$0C DATA_04F8B6: .db $10,$00,$08,$00,$20,$00,$20,$00 DATA_04F8BE: .db $10,$00,$30,$00,$08,$00,$10,$00 DATA_04F8C6: .db $01,$FF DATA_04F8C8: .db $10,$F0 DATA_04F8CA: .db $10,$F0 ADDR_04F8CC: 20 90 FE JSR.W CODE_04FE90 ADDR_04F8CF: 18 CLC ADDR_04F8D0: 20 00 FE JSR.W ADDR_04FE00 ADDR_04F8D3: 20 62 FE JSR.W CODE_04FE62 ADDR_04F8D6: C2 20 REP #$20 ; Accum (16 bit) ADDR_04F8D8: A5 02 LDA $02 ADDR_04F8DA: 85 04 STA $04 ADDR_04F8DC: E2 20 SEP #$20 ; Accum (8 bit) ADDR_04F8DE: 20 5B FE JSR.W CODE_04FE5B ADDR_04F8E1: A2 06 LDX.B #$06 ADDR_04F8E3: 29 10 AND.B #$10 ADDR_04F8E5: F0 01 BEQ ADDR_04F8E8 ADDR_04F8E7: E8 INX ADDR_04F8E8: 86 06 STX $06 ADDR_04F8EA: A5 00 LDA $00 ADDR_04F8EC: 18 CLC ADDR_04F8ED: 7D A6 F8 ADC.W DATA_04F8A6,X ADDR_04F8F0: 85 00 STA $00 ADDR_04F8F2: 90 02 BCC ADDR_04F8F6 ADDR_04F8F4: E6 01 INC $01 ADDR_04F8F6: A5 04 LDA $04 ADDR_04F8F8: 18 CLC ADDR_04F8F9: 7D AE F8 ADC.W DATA_04F8AE,X ADDR_04F8FC: 85 02 STA $02 ADDR_04F8FE: A5 05 LDA $05 ADDR_04F900: 69 00 ADC.B #$00 ADDR_04F902: 85 03 STA $03 ADDR_04F904: A9 32 LDA.B #$32 ADDR_04F906: EB XBA ADDR_04F907: A9 28 LDA.B #$28 ADDR_04F909: 20 7B FB JSR.W CODE_04FB7B ADDR_04F90C: A6 06 LDX $06 ADDR_04F90E: CA DEX ADDR_04F90F: CA DEX ADDR_04F910: 10 D6 BPL ADDR_04F8E8 ADDR_04F912: AE DE 0D LDX.W $0DDE ADDR_04F915: 20 62 FE JSR.W CODE_04FE62 ADDR_04F918: A9 32 LDA.B #$32 ADDR_04F91A: EB XBA ADDR_04F91B: A9 26 LDA.B #$26 ADDR_04F91D: 20 7A FB JSR.W CODE_04FB7A ADDR_04F920: BD 15 0E LDA.W $0E15,X ADDR_04F923: F0 03 BEQ ADDR_04F928 ADDR_04F925: 4C 2E FF JMP.W ADDR_04FF2E ADDR_04F928: BD 05 0E LDA.W $0E05,X ADDR_04F92B: 29 01 AND.B #$01 ADDR_04F92D: A8 TAY ADDR_04F92E: BD B5 0E LDA.W $0EB5,X ADDR_04F931: 18 CLC ADDR_04F932: 79 C6 F8 ADC.W DATA_04F8C6,Y ADDR_04F935: 9D B5 0E STA.W $0EB5,X ADDR_04F938: D9 CA F8 CMP.W DATA_04F8CA,Y ADDR_04F93B: D0 08 BNE ADDR_04F945 ADDR_04F93D: BD 05 0E LDA.W $0E05,X ADDR_04F940: 49 01 EOR.B #$01 ADDR_04F942: 9D 05 0E STA.W $0E05,X ADDR_04F945: 20 EF FE JSR.W ADDR_04FEEF ADDR_04F948: BC F5 0D LDY.W $0DF5,X ; Accum (16 bit) ADDR_04F94B: BD 04 0E LDA.W $0E04,X ADDR_04F94E: 0A ASL ADDR_04F94F: 45 00 EOR $00 ADDR_04F951: 10 0A BPL ADDR_04F95D ADDR_04F953: A5 06 LDA $06 ADDR_04F955: D9 B6 F8 CMP.W DATA_04F8B6,Y ADDR_04F958: A9 40 00 LDA.W #$0040 ADDR_04F95B: B0 10 BCS ADDR_04F96D ADDR_04F95D: BD 04 0E LDA.W $0E04,X ADDR_04F960: 45 02 EOR $02 ADDR_04F962: 0A ASL ADDR_04F963: 90 08 BCC ADDR_04F96D ADDR_04F965: A5 08 LDA $08 ADDR_04F967: D9 BE F8 CMP.W DATA_04F8BE,Y ADDR_04F96A: A9 80 00 LDA.W #$0080 ADDR_04F96D: E2 20 SEP #$20 ; Accum (8 bit) ADDR_04F96F: 90 0E BCC ADDR_04F97F ADDR_04F971: 5D 05 0E EOR.W $0E05,X ADDR_04F974: 9D 05 0E STA.W $0E05,X ADDR_04F977: 20 5B FE JSR.W CODE_04FE5B ADDR_04F97A: 29 06 AND.B #$06 ADDR_04F97C: 9D F5 0D STA.W $0DF5,X ADDR_04F97F: 8A TXA ADDR_04F980: 18 CLC ADDR_04F981: 69 10 ADC.B #$10 ADDR_04F983: AA TAX ADDR_04F984: BD F5 0D LDA.W $0DF5,X ADDR_04F987: 0A ASL ADDR_04F988: 20 93 F9 JSR.W ADDR_04F993 ADDR_04F98B: AE DE 0D LDX.W $0DDE ADDR_04F98E: BD 05 0E LDA.W $0E05,X ADDR_04F991: 0A ASL ADDR_04F992: 0A ASL ADDR_04F993: A0 00 LDY.B #$00 ADDR_04F995: B0 01 BCS ADDR_04F998 ADDR_04F997: C8 INY ADDR_04F998: BD 95 0E LDA.W $0E95,X ADDR_04F99B: 18 CLC ADDR_04F99C: 79 C6 F8 ADC.W DATA_04F8C6,Y ADDR_04F99F: D9 C8 F8 CMP.W DATA_04F8C8,Y ADDR_04F9A2: F0 03 BEQ Return04F9A7 ADDR_04F9A4: 9D 95 0E STA.W $0E95,X Return04F9A7: 60 RTS ; Return DATA_04F9A8: .db $4E,$4F,$5E,$4F DATA_04F9AC: .db $08,$07,$04,$07 DATA_04F9B0: .db $00,$01,$04,$01 DATA_04F9B4: .db $01,$07,$09,$07 ADDR_04F9B8: 18 CLC ADDR_04F9B9: 20 00 FE JSR.W ADDR_04FE00 ADDR_04F9BC: 20 EF FE JSR.W ADDR_04FEEF ADDR_04F9BF: E2 20 SEP #$20 ; Accum (8 bit) ADDR_04F9C1: A0 00 LDY.B #$00 ADDR_04F9C3: A5 01 LDA $01 ADDR_04F9C5: 30 01 BMI ADDR_04F9C8 ADDR_04F9C7: C8 INY ADDR_04F9C8: BD 95 0E LDA.W $0E95,X ADDR_04F9CB: 18 CLC ADDR_04F9CC: 79 C6 F8 ADC.W DATA_04F8C6,Y ADDR_04F9CF: D9 C8 F8 CMP.W DATA_04F8C8,Y ADDR_04F9D2: F0 03 BEQ ADDR_04F9D7 ADDR_04F9D4: 9D 95 0E STA.W $0E95,X ADDR_04F9D7: AC D6 0D LDY.W $0DD6 ADDR_04F9DA: B9 19 1F LDA.W $1F19,Y ADDR_04F9DD: 9D 45 0E STA.W $0E45,X ADDR_04F9E0: B9 1A 1F LDA.W $1F1A,Y ADDR_04F9E3: 9D 75 0E STA.W $0E75,X ADDR_04F9E6: 20 90 FE JSR.W CODE_04FE90 ADDR_04F9E9: 20 62 FE JSR.W CODE_04FE62 ADDR_04F9EC: A9 36 LDA.B #$36 ADDR_04F9EE: BC 95 0E LDY.W $0E95,X ADDR_04F9F1: 30 02 BMI ADDR_04F9F5 ADDR_04F9F3: 09 40 ORA.B #$40 ADDR_04F9F5: 48 PHA ADDR_04F9F6: EB XBA ADDR_04F9F7: A9 4C LDA.B #$4C ADDR_04F9F9: 20 7A FB JSR.W CODE_04FB7A ADDR_04F9FC: 68 PLA ADDR_04F9FD: EB XBA ADDR_04F9FE: 20 5B FE JSR.W CODE_04FE5B ADDR_04FA01: 4A LSR ADDR_04FA02: 4A LSR ADDR_04FA03: 4A LSR ADDR_04FA04: 29 03 AND.B #$03 ADDR_04FA06: A8 TAY ADDR_04FA07: B9 AC F9 LDA.W DATA_04F9AC,Y ADDR_04FA0A: 3C 95 0E BIT.W $0E95,X ADDR_04FA0D: 30 03 BMI ADDR_04FA12 ADDR_04FA0F: B9 B0 F9 LDA.W DATA_04F9B0,Y ADDR_04FA12: 18 CLC ADDR_04FA13: 65 00 ADC $00 ADDR_04FA15: 85 00 STA $00 ADDR_04FA17: 90 02 BCC ADDR_04FA1B ADDR_04FA19: E6 01 INC $01 ADDR_04FA1B: B9 B4 F9 LDA.W DATA_04F9B4,Y ADDR_04FA1E: 18 CLC ADDR_04FA1F: 65 02 ADC $02 ADDR_04FA21: 85 02 STA $02 ADDR_04FA23: 90 02 BCC ADDR_04FA27 ADDR_04FA25: E6 03 INC $03 ADDR_04FA27: B9 A8 F9 LDA.W DATA_04F9A8,Y ADDR_04FA2A: 18 CLC ADDR_04FA2B: 4C 7B FB JMP.W CODE_04FB7B DATA_04FA2E: .db $70,$50,$B0 DATA_04FA31: .db $00,$01,$00 DATA_04FA34: .db $CF,$8F,$7F DATA_04FA37: .db $00,$00,$01 DATA_04FA3A: .db $73,$72,$63,$62 CODE_04FA3E: BD F5 0D LDA.W $0DF5,X CODE_04FA41: D0 40 BNE CODE_04FA83 CODE_04FA43: AD C1 13 LDA.W $13C1 CODE_04FA46: 38 SEC CODE_04FA47: E9 4E SBC.B #$4E CODE_04FA49: C9 03 CMP.B #$03 CODE_04FA4B: B0 35 BCS Return04FA82 CODE_04FA4D: A8 TAY CODE_04FA4E: B9 2E FA LDA.W DATA_04FA2E,Y CODE_04FA51: 9D 35 0E STA.W $0E35,X CODE_04FA54: B9 31 FA LDA.W DATA_04FA31,Y CODE_04FA57: 9D 65 0E STA.W $0E65,X CODE_04FA5A: B9 34 FA LDA.W DATA_04FA34,Y CODE_04FA5D: 9D 45 0E STA.W $0E45,X CODE_04FA60: B9 37 FA LDA.W DATA_04FA37,Y CODE_04FA63: 9D 75 0E STA.W $0E75,X CODE_04FA66: 20 5B FE JSR.W CODE_04FE5B CODE_04FA69: 4A LSR CODE_04FA6A: 6A ROR CODE_04FA6B: 4A LSR CODE_04FA6C: 29 40 AND.B #$40 CODE_04FA6E: 09 12 ORA.B #$12 CODE_04FA70: 9D F5 0D STA.W $0DF5,X CODE_04FA73: A9 24 LDA.B #$24 CODE_04FA75: 9D B5 0E STA.W $0EB5,X CODE_04FA78: A9 0E LDA.B #$0E CODE_04FA7A: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_04FA7D: A9 0F LDA.B #$0F CODE_04FA7F: 9D 25 0E STA.W $0E25,X Return04FA82: 60 RTS ; Return CODE_04FA83: DE B5 0E DEC.W $0EB5,X CODE_04FA86: BD B5 0E LDA.W $0EB5,X CODE_04FA89: C9 E4 CMP.B #$E4 CODE_04FA8B: D0 03 BNE CODE_04FA90 CODE_04FA8D: 20 7D FA JSR.W CODE_04FA7D CODE_04FA90: 20 90 FE JSR.W CODE_04FE90 CODE_04FA93: BD 55 0E LDA.W $0E55,X CODE_04FA96: 1D 25 0E ORA.W $0E25,X CODE_04FA99: D0 03 BNE CODE_04FA9E CODE_04FA9B: 9E F5 0D STZ.W $0DF5,X CODE_04FA9E: 20 62 FE JSR.W CODE_04FE62 CODE_04FAA1: BD F5 0D LDA.W $0DF5,X CODE_04FAA4: A0 08 LDY.B #$08 CODE_04FAA6: 3C B5 0E BIT.W $0EB5,X CODE_04FAA9: 10 04 BPL CODE_04FAAF CODE_04FAAB: 49 C0 EOR.B #$C0 CODE_04FAAD: A0 10 LDY.B #$10 CODE_04FAAF: EB XBA CODE_04FAB0: 98 TYA CODE_04FAB1: A0 4A LDY.B #$4A CODE_04FAB3: 25 13 AND RAM_FrameCounter CODE_04FAB5: F0 02 BEQ CODE_04FAB9 CODE_04FAB7: A0 48 LDY.B #$48 CODE_04FAB9: 98 TYA CODE_04FABA: 20 06 FB JSR.W CODE_04FB06 CODE_04FABD: 20 4E FE JSR.W CODE_04FE4E CODE_04FAC0: 38 SEC CODE_04FAC1: E9 08 SBC.B #$08 CODE_04FAC3: 85 02 STA $02 CODE_04FAC5: B0 02 BCS CODE_04FAC9 ADDR_04FAC7: C6 03 DEC $03 CODE_04FAC9: A9 36 LDA.B #$36 CODE_04FACB: EB XBA CODE_04FACC: BD 25 0E LDA.W $0E25,X CODE_04FACF: F0 B1 BEQ Return04FA82 CODE_04FAD1: 4A LSR CODE_04FAD2: 4A LSR CODE_04FAD3: 5A PHY CODE_04FAD4: A8 TAY CODE_04FAD5: B9 3A FA LDA.W DATA_04FA3A,Y CODE_04FAD8: 7A PLY CODE_04FAD9: 48 PHA CODE_04FADA: 20 ED FA JSR.W CODE_04FAED CODE_04FADD: C2 20 REP #$20 ; Accum (16 bit) CODE_04FADF: A5 00 LDA $00 CODE_04FAE1: 18 CLC CODE_04FAE2: 69 08 00 ADC.W #$0008 CODE_04FAE5: 85 00 STA $00 CODE_04FAE7: E2 20 SEP #$20 ; Accum (8 bit) CODE_04FAE9: A9 76 LDA.B #$76 CODE_04FAEB: EB XBA CODE_04FAEC: 68 PLA CODE_04FAED: 18 CLC CODE_04FAEE: 4C 0A FB JMP.W CODE_04FB0A ADDR_04FAF1: 20 D7 FE JSR.W ADDR_04FED7 ADDR_04FAF4: 20 62 FE JSR.W CODE_04FE62 ; NOP this and the sprite doesn't appear ADDR_04FAF7: 20 5B FE JSR.W CODE_04FE5B ; NOP this and the sprite stops animating. ADDR_04FAFA: A0 2A LDY.B #$2A ;Tile for pirahna plant, #1 ADDR_04FAFC: 29 08 AND.B #$08 ADDR_04FAFE: F0 02 BEQ ADDR_04FB02 ADDR_04FB00: A0 2C LDY.B #$2C ; Tile for pirahna plant, #2, stored in $0242 ADDR_04FB02: A9 32 LDA.B #$32 ; YXPPCCCT - 00110010 ADDR_04FB04: EB XBA ADDR_04FB05: 98 TYA CODE_04FB06: 38 SEC CODE_04FB07: BC 43 F8 LDY.W DATA_04F843,X CODE_04FB0A: 99 42 02 STA.W $0242,Y ;Tilemap CODE_04FB0D: EB XBA CODE_04FB0E: 99 43 02 STA.W $0243,Y ;Property CODE_04FB11: A5 01 LDA $01 CODE_04FB13: D0 21 BNE Return04FB36 CODE_04FB15: A5 00 LDA $00 CODE_04FB17: 99 40 02 STA.W $0240,Y ;X Position CODE_04FB1A: A5 03 LDA $03 CODE_04FB1C: D0 18 BNE Return04FB36 CODE_04FB1E: 08 PHP CODE_04FB1F: A5 02 LDA $02 CODE_04FB21: 99 41 02 STA.W $0241,Y ;Y Position CODE_04FB24: 98 TYA CODE_04FB25: 4A LSR CODE_04FB26: 4A LSR CODE_04FB27: 28 PLP CODE_04FB28: 5A PHY CODE_04FB29: A8 TAY CODE_04FB2A: 2A ROL CODE_04FB2B: 0A ASL CODE_04FB2C: 29 03 AND.B #$03 CODE_04FB2E: 99 30 04 STA.W $0430,Y CODE_04FB31: 7A PLY CODE_04FB32: 88 DEY CODE_04FB33: 88 DEY CODE_04FB34: 88 DEY CODE_04FB35: 88 DEY Return04FB36: 60 RTS ; Return CODE_04FB37: A9 02 LDA.B #$02 ;\Overworld Sprite X Speed CODE_04FB39: 9D 95 0E STA.W $0E95,X ;/ CODE_04FB3C: A9 FF LDA.B #$FF ;\Overworld Sprite Y Speed CODE_04FB3E: 9D A5 0E STA.W $0EA5,X ;/ CODE_04FB41: 20 90 FE JSR.W CODE_04FE90 ;Move the overworld cloud CODE_04FB44: 20 62 FE JSR.W CODE_04FE62 CODE_04FB47: C2 20 REP #$20 ; Accum (16 bit) CODE_04FB49: A5 00 LDA $00 CODE_04FB4B: 18 CLC CODE_04FB4C: 69 20 00 ADC.W #$0020 CODE_04FB4F: C9 40 01 CMP.W #$0140 CODE_04FB52: B0 09 BCS CODE_04FB5D CODE_04FB54: A5 02 LDA $02 CODE_04FB56: 18 CLC CODE_04FB57: 69 80 00 ADC.W #$0080 CODE_04FB5A: C9 A0 01 CMP.W #$01A0 CODE_04FB5D: E2 20 SEP #$20 ; Accum (8 bit) CODE_04FB5F: 90 03 BCC CODE_04FB64 CODE_04FB61: 9E E5 0D STZ.W $0DE5,X CODE_04FB64: A9 32 LDA.B #$32 CODE_04FB66: 20 77 FB JSR.W CODE_04FB77 CODE_04FB69: C2 20 REP #$20 ; Accum (16 bit) CODE_04FB6B: A5 00 LDA $00 CODE_04FB6D: 18 CLC CODE_04FB6E: 69 10 00 ADC.W #$0010 CODE_04FB71: 85 00 STA $00 CODE_04FB73: E2 20 SEP #$20 ; Accum (8 bit) CODE_04FB75: A9 72 LDA.B #$72 CODE_04FB77: EB XBA CODE_04FB78: A9 44 LDA.B #$44 CODE_04FB7A: 38 SEC CODE_04FB7B: AC DF 0D LDY.W $0DDF CODE_04FB7E: 20 0A FB JSR.W CODE_04FB0A CODE_04FB81: 8C DF 0D STY.W $0DDF Return04FB84: 60 RTS ; Return DATA_04FB85: .db $80,$40,$20 DATA_04FB88: .db $30,$10,$C0 DATA_04FB8B: .db $01,$01,$01 DATA_04FB8E: .db $7F,$7F,$8F DATA_04FB91: .db $01,$00 DATA_04FB93: .db $01,$08 DATA_04FB95: .db $02,$0F,$00 CODE_04FB98: BD F5 0D LDA.W $0DF5,X CODE_04FB9B: D0 3B BNE ADDR_04FBD8 CODE_04FB9D: AD C1 13 LDA.W $13C1 CODE_04FBA0: 38 SEC CODE_04FBA1: E9 49 SBC.B #$49 CODE_04FBA3: C9 03 CMP.B #$03 CODE_04FBA5: B0 DD BCS Return04FB84 ADDR_04FBA7: A8 TAY ADDR_04FBA8: 8D F6 0E STA.W $0EF6 ADDR_04FBAB: AD F5 0E LDA.W $0EF5 ADDR_04FBAE: 39 85 FB AND.W DATA_04FB85,Y ADDR_04FBB1: D0 D1 BNE Return04FB84 ADDR_04FBB3: B9 88 FB LDA.W DATA_04FB88,Y ADDR_04FBB6: 9D 35 0E STA.W $0E35,X ADDR_04FBB9: B9 8B FB LDA.W DATA_04FB8B,Y ADDR_04FBBC: 9D 65 0E STA.W $0E65,X ADDR_04FBBF: B9 8E FB LDA.W DATA_04FB8E,Y ADDR_04FBC2: 9D 45 0E STA.W $0E45,X ADDR_04FBC5: B9 91 FB LDA.W DATA_04FB91,Y ADDR_04FBC8: 9D 75 0E STA.W $0E75,X ADDR_04FBCB: A9 02 LDA.B #$02 ADDR_04FBCD: 9D F5 0D STA.W $0DF5,X ADDR_04FBD0: A9 F0 LDA.B #$F0 ADDR_04FBD2: 9D 95 0E STA.W $0E95,X ADDR_04FBD5: 9E 25 0E STZ.W $0E25,X ADDR_04FBD8: 20 62 FE JSR.W CODE_04FE62 ADDR_04FBDB: BD 25 0E LDA.W $0E25,X ADDR_04FBDE: D0 20 BNE ADDR_04FC00 ADDR_04FBE0: FE 05 0E INC.W $0E05,X ADDR_04FBE3: 20 AB FE JSR.W CODE_04FEAB ADDR_04FBE6: BC F5 0D LDY.W $0DF5,X ADDR_04FBE9: BD 35 0E LDA.W $0E35,X ADDR_04FBEC: 29 0F AND.B #$0F ADDR_04FBEE: D9 95 FB CMP.W DATA_04FB95,Y ADDR_04FBF1: D0 0D BNE ADDR_04FC00 ADDR_04FBF3: DE F5 0D DEC.W $0DF5,X ADDR_04FBF6: A9 04 LDA.B #$04 ADDR_04FBF8: 9D 95 0E STA.W $0E95,X ADDR_04FBFB: A9 60 LDA.B #$60 ADDR_04FBFD: 9D 25 0E STA.W $0E25,X ADDR_04FC00: B9 93 FB LDA.W DATA_04FB93,Y ADDR_04FC03: A0 22 LDY.B #$22 ADDR_04FC05: 3D 05 0E AND.W $0E05,X ADDR_04FC08: D0 02 BNE ADDR_04FC0C ADDR_04FC0A: A0 62 LDY.B #$62 ADDR_04FC0C: 98 TYA ADDR_04FC0D: EB XBA ADDR_04FC0E: A9 6A LDA.B #$6A ADDR_04FC10: 20 06 FB JSR.W CODE_04FB06 ADDR_04FC13: 20 D7 FE JSR.W ADDR_04FED7 ADDR_04FC16: B0 05 BCS Return04FC1D ADDR_04FC18: 09 80 ORA.B #$80 ADDR_04FC1A: 8D F7 0E STA.W $0EF7 Return04FC1D: 60 RTS ; Return DATA_04FC1E: .db $38 DATA_04FC1F: .db $00,$68,$00 DATA_04FC22: .db $8A DATA_04FC23: .db $01,$6A,$00 DATA_04FC26: .db $01,$02,$03,$04,$03,$02,$01,$00 .db $01,$02,$03,$04,$03,$02,$01,$00 DATA_04FC36: .db $FF,$FF,$FE,$FD,$FD,$FC,$FB,$FB .db $FA,$F9,$F9,$F8,$F7,$F7,$F6,$F5 CODE_04FC46: AD D6 0D LDA.W $0DD6 CODE_04FC49: 4A LSR CODE_04FC4A: 4A LSR CODE_04FC4B: A8 TAY CODE_04FC4C: B9 11 1F LDA.W $1F11,Y CODE_04FC4F: 0A ASL CODE_04FC50: A8 TAY CODE_04FC51: B9 1E FC LDA.W DATA_04FC1E,Y CODE_04FC54: 9D 35 0E STA.W $0E35,X CODE_04FC57: B9 1F FC LDA.W DATA_04FC1F,Y CODE_04FC5A: 9D 65 0E STA.W $0E65,X CODE_04FC5D: B9 22 FC LDA.W DATA_04FC22,Y CODE_04FC60: 9D 45 0E STA.W $0E45,X CODE_04FC63: B9 23 FC LDA.W DATA_04FC23,Y CODE_04FC66: 9D 75 0E STA.W $0E75,X CODE_04FC69: A5 13 LDA RAM_FrameCounter CODE_04FC6B: 29 0F AND.B #$0F CODE_04FC6D: D0 0D BNE CODE_04FC7C CODE_04FC6F: BD F5 0D LDA.W $0DF5,X CODE_04FC72: 1A INC A CODE_04FC73: C9 0C CMP.B #$0C CODE_04FC75: 90 02 BCC CODE_04FC79 CODE_04FC77: A9 00 LDA.B #$00 CODE_04FC79: 9D F5 0D STA.W $0DF5,X CODE_04FC7C: A9 03 LDA.B #$03 CODE_04FC7E: 85 04 STA $04 CODE_04FC80: A5 13 LDA RAM_FrameCounter CODE_04FC82: 85 06 STA $06 CODE_04FC84: 64 07 STZ $07 CODE_04FC86: BC 43 F8 LDY.W DATA_04F843,X CODE_04FC89: BD F5 0D LDA.W $0DF5,X CODE_04FC8C: AA TAX CODE_04FC8D: 5A PHY CODE_04FC8E: DA PHX CODE_04FC8F: AE DE 0D LDX.W $0DDE CODE_04FC92: 20 62 FE JSR.W CODE_04FE62 CODE_04FC95: FA PLX CODE_04FC96: A5 07 LDA $07 CODE_04FC98: 18 CLC CODE_04FC99: 7D 36 FC ADC.W DATA_04FC36,X CODE_04FC9C: 18 CLC CODE_04FC9D: 65 02 ADC $02 CODE_04FC9F: 85 02 STA $02 CODE_04FCA1: B0 02 BCS CODE_04FCA5 CODE_04FCA3: C6 03 DEC $03 CODE_04FCA5: A5 00 LDA $00 CODE_04FCA7: 18 CLC CODE_04FCA8: 7D 26 FC ADC.W DATA_04FC26,X CODE_04FCAB: 85 00 STA $00 CODE_04FCAD: 90 02 BCC CODE_04FCB1 CODE_04FCAF: E6 01 INC $01 CODE_04FCB1: 8A TXA CODE_04FCB2: 18 CLC CODE_04FCB3: 69 0C ADC.B #$0C CODE_04FCB5: C9 10 CMP.B #$10 CODE_04FCB7: 29 0F AND.B #$0F CODE_04FCB9: AA TAX CODE_04FCBA: 90 06 BCC CODE_04FCC2 CODE_04FCBC: A5 07 LDA $07 CODE_04FCBE: E9 0C SBC.B #$0C CODE_04FCC0: 85 07 STA $07 CODE_04FCC2: A9 30 LDA.B #$30 CODE_04FCC4: EB XBA CODE_04FCC5: A0 28 LDY.B #$28 CODE_04FCC7: A5 06 LDA $06 CODE_04FCC9: 18 CLC CODE_04FCCA: 69 0A ADC.B #$0A CODE_04FCCC: 85 06 STA $06 CODE_04FCCE: 29 20 AND.B #$20 CODE_04FCD0: F0 02 BEQ CODE_04FCD4 CODE_04FCD2: A0 5F LDY.B #$5F CODE_04FCD4: 98 TYA CODE_04FCD5: 7A PLY CODE_04FCD6: 20 ED FA JSR.W CODE_04FAED CODE_04FCD9: C6 04 DEC $04 CODE_04FCDB: D0 B0 BNE CODE_04FC8D CODE_04FCDD: AE DE 0D LDX.W $0DDE Return04FCE0: 60 RTS ; Return ;Bowser's sign code starts here. CODE_04FCE1: 20 62 FE JSR.W CODE_04FE62 CODE_04FCE4: A9 04 LDA.B #$04 ;\How many tiles to show up for Bowser's sign CODE_04FCE6: 85 04 STA $04 ;/ CODE_04FCE8: A9 6F LDA.B #$6F ; CODE_04FCEA: 85 05 STA $05 ; CODE_04FCEC: BC 43 F8 LDY.W DATA_04F843,X CODE_04FCEF: A5 13 LDA RAM_FrameCounter CODE_04FCF1: 4A LSR CODE_04FCF2: 29 06 AND.B #$06 CODE_04FCF4: 09 30 ORA.B #$30 CODE_04FCF6: EB XBA CODE_04FCF7: A5 05 LDA $05 CODE_04FCF9: 20 ED FA JSR.W CODE_04FAED ;Jump to CLC, then the OAM part of the Pirahna Plant code. CODE_04FCFC: A5 00 LDA $00 CODE_04FCFE: 38 SEC CODE_04FCFF: E9 08 SBC.B #$08 CODE_04FD01: 85 00 STA $00 CODE_04FD03: C6 05 DEC $05 CODE_04FD05: C6 04 DEC $04 CODE_04FD07: D0 E6 BNE CODE_04FCEF Return04FD09: 60 RTS ; Return DATA_04FD0A: .db $07,$07,$03,$03,$5F,$5F DATA_04FD10: .db $01,$FF,$01,$FF,$01,$FF,$01,$FF .db $01,$FF DATA_04FD1A: .db $18,$E8,$0A,$F6,$08,$F8,$03,$FD DATA_04FD22: .db $01,$FF CODE_04FD24: 20 90 FE JSR.W CODE_04FE90 CODE_04FD27: 20 62 FE JSR.W CODE_04FE62 CODE_04FD2A: 20 62 FE JSR.W CODE_04FE62 CODE_04FD2D: A9 00 LDA.B #$00 CODE_04FD2F: BC 95 0E LDY.W $0E95,X CODE_04FD32: 30 02 BMI CODE_04FD36 CODE_04FD34: A9 40 LDA.B #$40 CODE_04FD36: EB XBA CODE_04FD37: A9 68 LDA.B #$68 CODE_04FD39: 20 06 FB JSR.W CODE_04FB06 CODE_04FD3C: FE 15 0E INC.W $0E15,X CODE_04FD3F: BD 15 0E LDA.W $0E15,X CODE_04FD42: 4A LSR CODE_04FD43: B0 2A BCS Return04FD6F CODE_04FD45: BD 05 0E LDA.W $0E05,X CODE_04FD48: 09 02 ORA.B #$02 CODE_04FD4A: A8 TAY CODE_04FD4B: 8A TXA CODE_04FD4C: 69 10 ADC.B #$10 CODE_04FD4E: AA TAX CODE_04FD4F: 20 55 FD JSR.W CODE_04FD55 CODE_04FD52: BC F5 0D LDY.W $0DF5,X CODE_04FD55: BD 95 0E LDA.W $0E95,X CODE_04FD58: 18 CLC CODE_04FD59: 79 10 FD ADC.W DATA_04FD10,Y CODE_04FD5C: 9D 95 0E STA.W $0E95,X CODE_04FD5F: D9 1A FD CMP.W DATA_04FD1A,Y CODE_04FD62: D0 04 BNE CODE_04FD68 CODE_04FD64: 98 TYA CODE_04FD65: 49 01 EOR.B #$01 CODE_04FD67: A8 TAY CODE_04FD68: 98 TYA CODE_04FD69: 9D F5 0D STA.W $0DF5,X CODE_04FD6C: AE DE 0D LDX.W $0DDE Return04FD6F: 60 RTS ; Return CODE_04FD70: 20 90 FE JSR.W CODE_04FE90 CODE_04FD73: 20 62 FE JSR.W CODE_04FE62 CODE_04FD76: 20 62 FE JSR.W CODE_04FE62 CODE_04FD79: AC B3 0D LDY.W $0DB3 CODE_04FD7C: B9 11 1F LDA.W $1F11,Y CODE_04FD7F: F0 24 BEQ CODE_04FDA5 CODE_04FD81: E0 0F CPX.B #$0F CODE_04FD83: D0 09 BNE CODE_04FD8E CODE_04FD85: AD 07 1F LDA.W $1F07 CODE_04FD88: 29 12 AND.B #$12 CODE_04FD8A: D0 02 BNE CODE_04FD8E CODE_04FD8C: 86 03 STX $03 CODE_04FD8E: 8A TXA CODE_04FD8F: 0A ASL CODE_04FD90: A8 TAY CODE_04FD91: C2 20 REP #$20 ; Accum (16 bit) CODE_04FD93: A5 00 LDA $00 CODE_04FD95: 18 CLC CODE_04FD96: 79 4C F6 ADC.W DATA_04F64C,Y CODE_04FD99: 85 00 STA $00 CODE_04FD9B: A5 02 LDA $02 CODE_04FD9D: 18 CLC CODE_04FD9E: 79 52 F6 ADC.W DATA_04F652,Y CODE_04FDA1: 85 02 STA $02 CODE_04FDA3: E2 20 SEP #$20 ; Accum (8 bit) CODE_04FDA5: A9 34 LDA.B #$34 CODE_04FDA7: BC 95 0E LDY.W $0E95,X CODE_04FDAA: 30 02 BMI CODE_04FDAE CODE_04FDAC: A9 44 LDA.B #$44 CODE_04FDAE: EB XBA CODE_04FDAF: A9 60 LDA.B #$60 CODE_04FDB1: 20 06 FB JSR.W CODE_04FB06 CODE_04FDB4: BD 25 0E LDA.W $0E25,X CODE_04FDB7: 85 00 STA $00 CODE_04FDB9: FE 25 0E INC.W $0E25,X CODE_04FDBC: 8A TXA CODE_04FDBD: 18 CLC CODE_04FDBE: 69 20 ADC.B #$20 CODE_04FDC0: AA TAX CODE_04FDC1: A9 08 LDA.B #$08 CODE_04FDC3: 20 D2 FD JSR.W CODE_04FDD2 CODE_04FDC6: 8A TXA CODE_04FDC7: 18 CLC CODE_04FDC8: 69 10 ADC.B #$10 CODE_04FDCA: AA TAX CODE_04FDCB: A9 06 LDA.B #$06 CODE_04FDCD: 20 D2 FD JSR.W CODE_04FDD2 CODE_04FDD0: A9 04 LDA.B #$04 CODE_04FDD2: 1D F5 0D ORA.W $0DF5,X CODE_04FDD5: A8 TAY CODE_04FDD6: B9 06 FD LDA.W ADDR_04FD06,Y CODE_04FDD9: 25 00 AND $00 CODE_04FDDB: D0 8B BNE CODE_04FD68 CODE_04FDDD: 4C 55 FD JMP.W CODE_04FD55 DATA_04FDE0: .db $00,$00,$00,$00,$01,$02,$02,$02 .db $00,$00,$01,$01,$02,$02,$03,$03 DATA_04FDF0: .db $08,$08,$08,$08,$07,$06,$05,$05 .db $00,$00,$0E,$0E,$0C,$0C,$0A,$0A ADDR_04FE00: 66 04 ROR $04 ADDR_04FE02: 20 62 FE JSR.W CODE_04FE62 ADDR_04FE05: 20 4E FE JSR.W CODE_04FE4E ADDR_04FE08: BD 55 0E LDA.W $0E55,X ADDR_04FE0B: 4A LSR ADDR_04FE0C: 4A LSR ADDR_04FE0D: 4A LSR ADDR_04FE0E: 4A LSR ADDR_04FE0F: A0 29 LDY.B #$29 ADDR_04FE11: 24 04 BIT $04 ADDR_04FE13: 10 05 BPL ADDR_04FE1A ADDR_04FE15: A0 2E LDY.B #$2E ADDR_04FE17: 18 CLC ADDR_04FE18: 69 08 ADC.B #$08 ADDR_04FE1A: 84 05 STY $05 ADDR_04FE1C: A8 TAY ADDR_04FE1D: 84 06 STY $06 ADDR_04FE1F: A5 00 LDA $00 ADDR_04FE21: 18 CLC ADDR_04FE22: 79 E0 FD ADC.W DATA_04FDE0,Y ADDR_04FE25: 85 00 STA $00 ADDR_04FE27: 90 02 BCC ADDR_04FE2B ADDR_04FE29: E6 01 INC $01 ADDR_04FE2B: A9 32 LDA.B #$32 ADDR_04FE2D: BC 43 F8 LDY.W DATA_04F843,X ADDR_04FE30: 20 45 FE JSR.W ADDR_04FE45 ADDR_04FE33: 5A PHY ADDR_04FE34: A4 06 LDY $06 ADDR_04FE36: A5 00 LDA $00 ADDR_04FE38: 18 CLC ADDR_04FE39: 79 F0 FD ADC.W DATA_04FDF0,Y ADDR_04FE3C: 85 00 STA $00 ADDR_04FE3E: 90 02 BCC ADDR_04FE42 ADDR_04FE40: E6 01 INC $01 ADDR_04FE42: A9 72 LDA.B #$72 ADDR_04FE44: 7A PLY ADDR_04FE45: EB XBA ADDR_04FE46: A5 04 LDA $04 ADDR_04FE48: 0A ASL ADDR_04FE49: A5 05 LDA $05 ADDR_04FE4B: 4C 0A FB JMP.W CODE_04FB0A CODE_04FE4E: A5 02 LDA $02 CODE_04FE50: 18 CLC CODE_04FE51: 7D 55 0E ADC.W $0E55,X CODE_04FE54: 85 02 STA $02 CODE_04FE56: 90 02 BCC Return04FE5A ADDR_04FE58: E6 03 INC $03 Return04FE5A: 60 RTS ; Return CODE_04FE5B: A5 13 LDA RAM_FrameCounter CODE_04FE5D: 18 CLC CODE_04FE5E: 7D 33 F8 ADC.W DATA_04F833,X Return04FE61: 60 RTS ; Return CODE_04FE62: 8A TXA CODE_04FE63: 18 CLC CODE_04FE64: 69 10 ADC.B #$10 CODE_04FE66: AA TAX CODE_04FE67: A0 02 LDY.B #$02 CODE_04FE69: 20 7D FE JSR.W CODE_04FE7D CODE_04FE6C: AE DE 0D LDX.W $0DDE CODE_04FE6F: A5 02 LDA $02 CODE_04FE71: 38 SEC CODE_04FE72: FD 55 0E SBC.W $0E55,X CODE_04FE75: 85 02 STA $02 CODE_04FE77: B0 02 BCS CODE_04FE7B CODE_04FE79: C6 03 DEC $03 CODE_04FE7B: A0 00 LDY.B #$00 CODE_04FE7D: BD 65 0E LDA.W $0E65,X CODE_04FE80: EB XBA CODE_04FE81: BD 35 0E LDA.W $0E35,X CODE_04FE84: C2 20 REP #$20 ; Accum (16 bit) CODE_04FE86: 38 SEC CODE_04FE87: F9 1A 00 SBC.W RAM_ScreenBndryXLo,Y CODE_04FE8A: 99 00 00 STA.W $0000,Y CODE_04FE8D: E2 20 SEP #$20 ; Accum (8 bit) Return04FE8F: 60 RTS ; Return CODE_04FE90: 8A TXA ;Transfer X to A CODE_04FE91: 18 CLC ;Clear Carry Flag CODE_04FE92: 69 20 ADC.B #$20 ;Add #$20 to A CODE_04FE94: AA TAX ;Transfer A to X CODE_04FE95: 20 AB FE JSR.W CODE_04FEAB CODE_04FE98: BD 35 0E LDA.W $0E35,X ;Load OW Sprite XPos Low CODE_04FE9B: 10 03 BPL CODE_04FEA0 ;If it is => 80 CODE_04FE9D: 9E 35 0E STZ.W $0E35,X ;Store 00 OW Sprite Xpos Low CODE_04FEA0: 8A TXA ;Transfer X to A CODE_04FEA1: 38 SEC ;Set Carry Flag... CODE_04FEA2: E9 10 SBC.B #$10 ;...for substraction CODE_04FEA4: AA TAX ;Transfer A to X CODE_04FEA5: 20 AB FE JSR.W CODE_04FEAB ; CODE_04FEA8: AE DE 0D LDX.W $0DDE ; CODE_04FEAB: BD 95 0E LDA.W $0E95,X ;Load OW Sprite X Speed CODE_04FEAE: 0A ASL ;Multiply it by 2 CODE_04FEAF: 0A ASL ;4... CODE_04FEB0: 0A ASL ;8... CODE_04FEB1: 0A ASL ;16... CODE_04FEB2: 18 CLC ;Clear Carry Flag CODE_04FEB3: 7D C5 0E ADC.W $0EC5,X ; CODE_04FEB6: 9D C5 0E STA.W $0EC5,X ;And store it in CODE_04FEB9: BD 95 0E LDA.W $0E95,X ;Load OW Sprite X Speed CODE_04FEBC: 08 PHP ; CODE_04FEBD: 4A LSR ;Divide by 2 CODE_04FEBE: 4A LSR ;4 CODE_04FEBF: 4A LSR ;8 CODE_04FEC0: 4A LSR ;16 CODE_04FEC1: A0 00 LDY.B #$00 ;Load $00 in Y CODE_04FEC3: 28 PLP ; CODE_04FEC4: 10 03 BPL CODE_04FEC9 CODE_04FEC6: 09 F0 ORA.B #$F0 CODE_04FEC8: 88 DEY CODE_04FEC9: 7D 35 0E ADC.W $0E35,X CODE_04FECC: 9D 35 0E STA.W $0E35,X CODE_04FECF: 98 TYA CODE_04FED0: 7D 65 0E ADC.W $0E65,X CODE_04FED3: 9D 65 0E STA.W $0E65,X Return04FED6: 60 RTS ; Return ADDR_04FED7: 20 EF FE JSR.W ADDR_04FEEF ; Accum (16 bit) ADDR_04FEDA: A5 06 LDA $06 ADDR_04FEDC: C9 08 00 CMP.W #$0008 ADDR_04FEDF: B0 05 BCS ADDR_04FEE6 ADDR_04FEE1: A5 08 LDA $08 ADDR_04FEE3: C9 08 00 CMP.W #$0008 ADDR_04FEE6: E2 20 SEP #$20 ; Accum (8 bit) ADDR_04FEE8: 8A TXA ADDR_04FEE9: B0 03 BCS Return04FEEE ADDR_04FEEB: 8D F7 0E STA.W $0EF7 Return04FEEE: 60 RTS ; Return ADDR_04FEEF: BD 65 0E LDA.W $0E65,X ADDR_04FEF2: EB XBA ADDR_04FEF3: BD 35 0E LDA.W $0E35,X ADDR_04FEF6: C2 20 REP #$20 ; Accum (16 bit) ADDR_04FEF8: 18 CLC ADDR_04FEF9: 69 08 00 ADC.W #$0008 ADDR_04FEFC: AC D6 0D LDY.W $0DD6 ADDR_04FEFF: 38 SEC ADDR_04FF00: F9 17 1F SBC.W $1F17,Y ADDR_04FF03: 85 00 STA $00 ADDR_04FF05: 10 04 BPL ADDR_04FF0B ADDR_04FF07: 49 FF FF EOR.W #$FFFF ADDR_04FF0A: 1A INC A ADDR_04FF0B: 85 06 STA $06 ADDR_04FF0D: E2 20 SEP #$20 ; Accum (8 bit) ADDR_04FF0F: BD 75 0E LDA.W $0E75,X ADDR_04FF12: EB XBA ADDR_04FF13: BD 45 0E LDA.W $0E45,X ADDR_04FF16: C2 20 REP #$20 ; Accum (16 bit) ADDR_04FF18: 18 CLC ADDR_04FF19: 69 08 00 ADC.W #$0008 ADDR_04FF1C: AC D6 0D LDY.W $0DD6 ADDR_04FF1F: 38 SEC ADDR_04FF20: F9 19 1F SBC.W $1F19,Y ADDR_04FF23: 85 02 STA $02 ADDR_04FF25: 10 04 BPL ADDR_04FF2B ADDR_04FF27: 49 FF FF EOR.W #$FFFF ADDR_04FF2A: 1A INC A ADDR_04FF2B: 85 08 STA $08 Return04FF2D: 60 RTS ; Return ADDR_04FF2E: 20 EF FE JSR.W ADDR_04FEEF ADDR_04FF31: 46 06 LSR $06 ADDR_04FF33: 46 08 LSR $08 ADDR_04FF35: E2 20 SEP #$20 ; Accum (8 bit) ADDR_04FF37: BD 55 0E LDA.W $0E55,X ADDR_04FF3A: 4A LSR ADDR_04FF3B: 85 0A STA $0A ADDR_04FF3D: 64 05 STZ $05 ADDR_04FF3F: A0 04 LDY.B #$04 ADDR_04FF41: C5 08 CMP $08 ADDR_04FF43: B0 04 BCS ADDR_04FF49 ADDR_04FF45: A0 02 LDY.B #$02 ADDR_04FF47: A5 08 LDA $08 ADDR_04FF49: C5 06 CMP $06 ADDR_04FF4B: B0 04 BCS ADDR_04FF51 ADDR_04FF4D: A0 00 LDY.B #$00 ADDR_04FF4F: A5 06 LDA $06 ADDR_04FF51: C9 01 CMP.B #$01 ADDR_04FF53: B0 12 BCS ADDR_04FF67 ADDR_04FF55: 9E 15 0E STZ.W $0E15,X ADDR_04FF58: 9E 95 0E STZ.W $0E95,X ADDR_04FF5B: 9E A5 0E STZ.W $0EA5,X ADDR_04FF5E: 9E B5 0E STZ.W $0EB5,X ADDR_04FF61: A9 40 LDA.B #$40 ADDR_04FF63: 9D 55 0E STA.W $0E55,X Return04FF66: 60 RTS ; Return ADDR_04FF67: 84 0C STY $0C ADDR_04FF69: A2 04 LDX.B #$04 ADDR_04FF6B: E4 0C CPX $0C ADDR_04FF6D: D0 04 BNE ADDR_04FF73 ADDR_04FF6F: A9 20 LDA.B #$20 ADDR_04FF71: 80 1E BRA ADDR_04FF91 ADDR_04FF73: 9C 04 42 STZ.W $4204 ; Dividend (Low Byte) ADDR_04FF76: B5 06 LDA $06,X ADDR_04FF78: 8D 05 42 STA.W $4205 ; Dividend (High-Byte) ADDR_04FF7B: B9 06 00 LDA.W $0006,Y ADDR_04FF7E: 8D 06 42 STA.W $4206 ; Divisor B ADDR_04FF81: EA NOP ADDR_04FF82: EA NOP ADDR_04FF83: EA NOP ADDR_04FF84: EA NOP ADDR_04FF85: EA NOP ADDR_04FF86: EA NOP ADDR_04FF87: C2 20 REP #$20 ; Accum (16 bit) ADDR_04FF89: AD 14 42 LDA.W $4214 ; Quotient of Divide Result (Low Byte) ADDR_04FF8C: 4A LSR ADDR_04FF8D: 4A LSR ADDR_04FF8E: 4A LSR ADDR_04FF8F: E2 20 SEP #$20 ; Accum (8 bit) ADDR_04FF91: 34 01 BIT $01,X ADDR_04FF93: 30 03 BMI ADDR_04FF98 ADDR_04FF95: 49 FF EOR.B #$FF ADDR_04FF97: 1A INC A ADDR_04FF98: 95 00 STA $00,X ADDR_04FF9A: CA DEX ADDR_04FF9B: CA DEX ADDR_04FF9C: 10 CD BPL ADDR_04FF6B ADDR_04FF9E: AE DE 0D LDX.W $0DDE ADDR_04FFA1: A5 00 LDA $00 ADDR_04FFA3: 9D 95 0E STA.W $0E95,X ADDR_04FFA6: A5 02 LDA $02 ADDR_04FFA8: 9D A5 0E STA.W $0EA5,X ADDR_04FFAB: A5 04 LDA $04 ADDR_04FFAD: 9D B5 0E STA.W $0EB5,X Return04FFB0: 60 RTS ; Return DATA_04FFB1: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF .BANK 5 TilesetMAP16Loc: .db $70,$8B,$00,$BC,$00,$C8,$00,$D4 ; Addresses to tileset-specific MAP16 data .db $00,$E3,$00,$E3,$00,$C8,$70,$8B .db $00,$C8,$00,$D4,$00,$D4,$00,$D4 .db $70,$8B,$00,$E3,$00,$D4 CODE_05801E: 08 PHP CODE_05801F: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_058021: C2 10 REP #$10 ; 16 bit X,Y ; Index (16 bit) CODE_058023: A2 00 00 LDX.W #$0000 ; \ CODE_058026: A9 25 LDA.B #$25 ; | CODE_058028: 9F 00 B9 7E STA.L $7EB900,X ; |Set all background tiles (lower bytes) to x25 CODE_05802C: 9F 00 BB 7E STA.L $7EBB00,X ; | CODE_058030: E8 INX ; | CODE_058031: E0 00 02 CPX.W #$0200 ; | CODE_058034: D0 F0 BNE CODE_058026 ; / CODE_058036: 9C 28 19 STZ.W $1928 CODE_058039: A5 6A LDA $6A ; \ CODE_05803B: C9 FF CMP.B #$FF ; |If the layer 2 data is a background, CODE_05803D: D0 35 BNE CODE_058074 ; / branch to $8074 CODE_05803F: C2 10 REP #$10 ; 16 bit X,Y ; Index (16 bit) CODE_058041: A0 00 00 LDY.W #$0000 ; \ CODE_058044: A6 68 LDX $68 ; | CODE_058046: E0 FE E8 CPX.W #$E8FE ; |If Layer 2 pointer >= $E8FF, CODE_058049: 90 03 BCC CODE_05804E ; |the background should use Map16 page x11 instead of x10 CODE_05804B: A0 01 00 LDY.W #$0001 ; | CODE_05804E: A2 00 00 LDX.W #$0000 ; \ CODE_058051: 98 TYA ; | CODE_058052: 9F 00 BD 7E STA.L $7EBD00,X ; |Set the background's Map16 page CODE_058056: 9F 00 BF 7E STA.L $7EBF00,X ; |(i.e. setting all high tile bytes to Y) CODE_05805A: E8 INX ; | CODE_05805B: E0 00 02 CPX.W #$0200 ; | CODE_05805E: D0 F2 BNE CODE_058052 ; / CODE_058060: A9 0C LDA.B #$0C ; \ Set highest Layer 2 address to x0C CODE_058062: 85 6A STA $6A ; / (All backgrounds are stored in bank 0C) CODE_058064: 9C 32 19 STZ.W $1932 ; \ Set tileset to 0 CODE_058067: 9C 31 19 STZ.W $1931 ; / CODE_05806A: A2 00 B9 LDX.W #$B900 CODE_05806D: 86 0D STX $0D CODE_05806F: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_058071: 20 26 81 JSR.W CODE_058126 CODE_058074: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_058076: A2 00 00 LDX.W #$0000 ; \ CODE_058079: A9 00 LDA.B #$00 ; | CODE_05807B: 20 3A 83 JSR.W CODE_05833A ; |Clear level data CODE_05807E: CA DEX ; | CODE_05807F: A9 25 LDA.B #$25 ; | CODE_058081: 20 C8 82 JSR.W CODE_0582C8 ; | CODE_058084: E0 00 02 CPX.W #$0200 ; | CODE_058087: D0 F0 BNE CODE_058079 ; / CODE_058089: 9C 28 19 STZ.W $1928 CODE_05808C: 20 AC 83 JSR.W LoadLevel ; Load the level CODE_05808F: E2 30 SEP #$30 ; 8 bit A,X,Y ; Index (8 bit) Accum (8 bit) CODE_058091: AD 00 01 LDA.W RAM_GameMode ; \ CODE_058094: C9 22 CMP.B #$22 ; | CODE_058096: 10 04 BPL CODE_05809C ; |If level mode is less than x22, CODE_058098: 22 51 A7 02 JSL.L CODE_02A751 ; |JSL to $02A751 CODE_05809C: 28 PLP Return05809D: 6B RTL ; Return CODE_05809E: 08 PHP CODE_05809F: E2 20 SEP #$20 ; Accum (8 bit) CODE_0580A1: 9C 28 19 STZ.W $1928 ; Zero a byte in the middle of the RAM table for the level header CODE_0580A4: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0580A6: A9 FF FF LDA.W #$FFFF CODE_0580A9: 85 4D STA $4D ; $4D to $50 = #$FF CODE_0580AB: 85 4F STA $4F CODE_0580AD: 20 7E 87 JSR.W CODE_05877E ; -> here CODE_0580B0: A5 45 LDA $45 CODE_0580B2: 85 47 STA $47 CODE_0580B4: A5 49 LDA $49 CODE_0580B6: 85 4B STA $4B CODE_0580B8: A9 02 02 LDA.W #$0202 CODE_0580BB: 85 55 STA $55 CODE_0580BD: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0580BF: 22 EC 88 05 JSL.L CODE_0588EC CODE_0580C3: 22 55 89 05 JSL.L CODE_058955 CODE_0580C7: 22 AD 87 00 JSL.L CODE_0087AD CODE_0580CB: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0580CD: E6 47 INC $47 CODE_0580CF: E6 4B INC $4B CODE_0580D1: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0580D3: A5 47 LDA $47 CODE_0580D5: 4A LSR CODE_0580D6: 4A LSR CODE_0580D7: 4A LSR CODE_0580D8: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0580DA: 29 06 00 AND.W #$0006 CODE_0580DD: AA TAX CODE_0580DE: A9 33 01 LDA.W #$0133 CODE_0580E1: 0A ASL CODE_0580E2: A8 TAY CODE_0580E3: A9 07 00 LDA.W #$0007 CODE_0580E6: 85 00 STA $00 CODE_0580E8: BF 76 87 05 LDA.L MAP16AppTable,X CODE_0580EC: 99 BE 0F STA.W $0FBE,Y CODE_0580EF: C8 INY CODE_0580F0: C8 INY CODE_0580F1: 18 CLC CODE_0580F2: 69 08 00 ADC.W #$0008 CODE_0580F5: C6 00 DEC $00 CODE_0580F7: 10 F3 BPL CODE_0580EC CODE_0580F9: E2 20 SEP #$20 ; Accum (8 bit) CODE_0580FB: EE 28 19 INC.W $1928 CODE_0580FE: AD 28 19 LDA.W $1928 CODE_058101: C9 20 CMP.B #$20 CODE_058103: D0 B8 BNE CODE_0580BD CODE_058105: AD 9D 0D LDA.W $0D9D CODE_058108: 8D 2C 21 STA.W $212C ; Background and Object Enable CODE_05810B: 8D 2E 21 STA.W $212E ; Window Mask Designation for Main Screen CODE_05810E: AD 9E 0D LDA.W $0D9E CODE_058111: 8D 2D 21 STA.W $212D ; Sub Screen Designation CODE_058114: 8D 2F 21 STA.W $212F ; Window Mask Designation for Sub Screen CODE_058117: C2 20 REP #$20 ; Accum (16 bit) CODE_058119: A9 FF FF LDA.W #$FFFF CODE_05811C: 85 4D STA $4D CODE_05811E: 85 4F STA $4F CODE_058120: 85 51 STA $51 CODE_058122: 85 53 STA $53 CODE_058124: 28 PLP Return058125: 6B RTL ; Return CODE_058126: 08 PHP CODE_058127: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_058129: A0 00 00 LDY.W #$0000 CODE_05812C: 84 03 STY $03 CODE_05812E: 84 05 STY $05 CODE_058130: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_058132: A9 7E LDA.B #$7E CODE_058134: 85 0F STA $0F CODE_058136: E2 20 SEP #$20 ; Accum (8 bit) CODE_058138: C2 10 REP #$10 ; Index (16 bit) CODE_05813A: A4 03 LDY $03 CODE_05813C: B7 68 LDA [$68],Y CODE_05813E: 85 07 STA $07 CODE_058140: C8 INY CODE_058141: C2 20 REP #$20 ; Accum (16 bit) CODE_058143: 84 03 STY $03 CODE_058145: E2 20 SEP #$20 ; Accum (8 bit) CODE_058147: 29 80 AND.B #$80 CODE_058149: F0 1F BEQ CODE_05816A CODE_05814B: A5 07 LDA $07 CODE_05814D: 29 7F AND.B #$7F CODE_05814F: 85 07 STA $07 CODE_058151: B7 68 LDA [$68],Y CODE_058153: C8 INY CODE_058154: C2 20 REP #$20 ; Accum (16 bit) CODE_058156: 84 03 STY $03 CODE_058158: A4 05 LDY $05 CODE_05815A: E2 20 SEP #$20 ; Accum (8 bit) CODE_05815C: 97 0D STA [$0D],Y CODE_05815E: C8 INY CODE_05815F: C6 07 DEC $07 CODE_058161: 10 F7 BPL CODE_05815A CODE_058163: C2 20 REP #$20 ; Accum (16 bit) CODE_058165: 84 05 STY $05 CODE_058167: 4C 88 81 JMP.W CODE_058188 CODE_05816A: C2 20 REP #$20 ; Accum (16 bit) CODE_05816C: A4 03 LDY $03 CODE_05816E: E2 20 SEP #$20 ; Accum (8 bit) CODE_058170: B7 68 LDA [$68],Y CODE_058172: C8 INY CODE_058173: C2 20 REP #$20 ; Accum (16 bit) CODE_058175: 84 03 STY $03 CODE_058177: A4 05 LDY $05 CODE_058179: E2 20 SEP #$20 ; Accum (8 bit) CODE_05817B: 97 0D STA [$0D],Y CODE_05817D: C2 20 REP #$20 ; Accum (16 bit) CODE_05817F: C8 INY CODE_058180: 84 05 STY $05 CODE_058182: E2 20 SEP #$20 ; Accum (8 bit) CODE_058184: C6 07 DEC $07 CODE_058186: 10 E2 BPL CODE_05816A CODE_058188: C2 20 REP #$20 ; Accum (16 bit) CODE_05818A: A4 03 LDY $03 CODE_05818C: E2 20 SEP #$20 ; Accum (8 bit) CODE_05818E: B7 68 LDA [$68],Y CODE_058190: C9 FF CMP.B #$FF CODE_058192: D0 A2 BNE CODE_058136 CODE_058194: C8 INY CODE_058195: B7 68 LDA [$68],Y CODE_058197: C9 FF CMP.B #$FF CODE_058199: D0 9B BNE CODE_058136 CODE_05819B: C2 20 REP #$20 ; Accum (16 bit) CODE_05819D: A9 00 91 LDA.W #$9100 CODE_0581A0: 85 00 STA $00 CODE_0581A2: A2 00 00 LDX.W #$0000 CODE_0581A5: A5 00 LDA $00 CODE_0581A7: 9D BE 0F STA.W $0FBE,X CODE_0581AA: A5 00 LDA $00 CODE_0581AC: 18 CLC CODE_0581AD: 69 08 00 ADC.W #$0008 CODE_0581B0: 85 00 STA $00 CODE_0581B2: E8 INX CODE_0581B3: E8 INX CODE_0581B4: E0 00 04 CPX.W #$0400 CODE_0581B7: D0 EC BNE CODE_0581A5 CODE_0581B9: 28 PLP Return0581BA: 60 RTS ; Return DATA_0581BB: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$E0,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $FE,$00,$7F,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$E0,$00,$00,$03,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF CODE_0581FB: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0581FD: AD 31 19 LDA.W $1931 ; \ CODE_058200: 0A ASL ; |Store tileset*2 in X CODE_058201: AA TAX ; / CODE_058202: A9 05 LDA.B #$05 ; \Store x05 in $0F CODE_058204: 85 0F STA $0F ; / CODE_058206: A9 00 LDA.B #$00 ; \Store x00 in $84 CODE_058208: 85 84 STA $84 ; / CODE_05820A: A9 C4 LDA.B #$C4 ; \Store xC4 in $1430 CODE_05820C: 8D 30 14 STA.W $1430 ; / CODE_05820F: A9 CA LDA.B #$CA ; \Store xCA in $1431 CODE_058211: 8D 31 14 STA.W $1431 ; / CODE_058214: C2 20 REP #$20 ; Accum (16 bit) CODE_058216: A9 5E E5 LDA.W #$E55E ; \Store xE55E in $82-$83 CODE_058219: 85 82 STA $82 ; / CODE_05821B: BF 00 80 05 LDA.L TilesetMAP16Loc,X ; \Store address to MAP16 data in $00-$01 CODE_05821F: 85 00 STA $00 ; / CODE_058221: A9 00 80 LDA.W #$8000 ; \Store x8000 in $02-$03 CODE_058224: 85 02 STA $02 ; / CODE_058226: A9 BB 81 LDA.W #$81BB ; \Store x81BB in $0D-$0E CODE_058229: 85 0D STA $0D ; / CODE_05822B: 64 04 STZ $04 ; \ CODE_05822D: 64 09 STZ $09 ; |Store x00 in $04, $09 and $0B CODE_05822F: 64 0B STZ $0B ; / CODE_058231: C2 10 REP #$10 ; Index (16 bit) CODE_058233: A0 00 00 LDY.W #$0000 ; \Set X and Y to x0000 CODE_058236: BB TYX ; / CODE_058237: E2 20 SEP #$20 ; Accum (8 bit) CODE_058239: B7 0D LDA [$0D],Y CODE_05823B: 85 0C STA $0C CODE_05823D: 06 0C ASL $0C CODE_05823F: 90 12 BCC CODE_058253 CODE_058241: C2 20 REP #$20 ; Accum (16 bit) CODE_058243: A5 02 LDA $02 CODE_058245: 9D BE 0F STA.W $0FBE,X CODE_058248: A5 02 LDA $02 CODE_05824A: 18 CLC CODE_05824B: 69 08 00 ADC.W #$0008 CODE_05824E: 85 02 STA $02 CODE_058250: 4C 62 82 JMP.W CODE_058262 CODE_058253: C2 20 REP #$20 ; Accum (16 bit) CODE_058255: A5 00 LDA $00 CODE_058257: 9D BE 0F STA.W $0FBE,X CODE_05825A: A5 00 LDA $00 CODE_05825C: 18 CLC CODE_05825D: 69 08 00 ADC.W #$0008 CODE_058260: 85 00 STA $00 CODE_058262: E2 20 SEP #$20 ; Accum (8 bit) CODE_058264: E8 INX CODE_058265: E8 INX CODE_058266: E6 09 INC $09 CODE_058268: E6 0B INC $0B CODE_05826A: A5 0B LDA $0B CODE_05826C: C9 08 CMP.B #$08 CODE_05826E: D0 CD BNE CODE_05823D CODE_058270: 64 0B STZ $0B CODE_058272: C8 INY CODE_058273: C0 40 00 CPY.W #$0040 CODE_058276: D0 BF BNE CODE_058237 CODE_058278: AD 31 19 LDA.W $1931 CODE_05827B: F0 04 BEQ CODE_058281 CODE_05827D: C9 07 CMP.B #$07 CODE_05827F: D0 44 BNE CODE_0582C5 CODE_058281: A9 FF LDA.B #$FF CODE_058283: 8D 30 14 STA.W $1430 CODE_058286: 8D 31 14 STA.W $1431 CODE_058289: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_05828B: A9 C8 E5 LDA.W #$E5C8 CODE_05828E: 85 82 STA $82 CODE_058290: A9 C4 01 LDA.W #$01C4 CODE_058293: 0A ASL CODE_058294: A8 TAY CODE_058295: A9 70 8A LDA.W #$8A70 CODE_058298: 85 00 STA $00 CODE_05829A: A2 03 00 LDX.W #$0003 CODE_05829D: A5 00 LDA $00 CODE_05829F: 99 BE 0F STA.W $0FBE,Y CODE_0582A2: 18 CLC CODE_0582A3: 69 08 00 ADC.W #$0008 CODE_0582A6: 85 00 STA $00 CODE_0582A8: C8 INY CODE_0582A9: C8 INY CODE_0582AA: CA DEX CODE_0582AB: 10 F0 BPL CODE_05829D CODE_0582AD: A9 EC 01 LDA.W #$01EC CODE_0582B0: 0A ASL CODE_0582B1: A8 TAY CODE_0582B2: A2 03 00 LDX.W #$0003 CODE_0582B5: A5 00 LDA $00 CODE_0582B7: 99 BE 0F STA.W $0FBE,Y CODE_0582BA: 18 CLC CODE_0582BB: 69 08 00 ADC.W #$0008 CODE_0582BE: 85 00 STA $00 CODE_0582C0: C8 INY CODE_0582C1: C8 INY CODE_0582C2: CA DEX CODE_0582C3: 10 F0 BPL CODE_0582B5 CODE_0582C5: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return0582C7: 60 RTS ; Return CODE_0582C8: 9F 00 C8 7E STA.L $7EC800,X CODE_0582CC: 9F 00 CA 7E STA.L $7ECA00,X CODE_0582D0: 9F 00 CC 7E STA.L $7ECC00,X CODE_0582D4: 9F 00 CE 7E STA.L $7ECE00,X CODE_0582D8: 9F 00 D0 7E STA.L $7ED000,X CODE_0582DC: 9F 00 D2 7E STA.L $7ED200,X CODE_0582E0: 9F 00 D4 7E STA.L $7ED400,X CODE_0582E4: 9F 00 D6 7E STA.L $7ED600,X CODE_0582E8: 9F 00 D8 7E STA.L $7ED800,X CODE_0582EC: 9F 00 DA 7E STA.L $7EDA00,X CODE_0582F0: 9F 00 DC 7E STA.L $7EDC00,X CODE_0582F4: 9F 00 DE 7E STA.L $7EDE00,X CODE_0582F8: 9F 00 E0 7E STA.L $7EE000,X CODE_0582FC: 9F 00 E2 7E STA.L $7EE200,X CODE_058300: 9F 00 E4 7E STA.L $7EE400,X CODE_058304: 9F 00 E6 7E STA.L $7EE600,X CODE_058308: 9F 00 E8 7E STA.L $7EE800,X CODE_05830C: 9F 00 EA 7E STA.L $7EEA00,X CODE_058310: 9F 00 EC 7E STA.L $7EEC00,X CODE_058314: 9F 00 EE 7E STA.L $7EEE00,X CODE_058318: 9F 00 F0 7E STA.L $7EF000,X CODE_05831C: 9F 00 F2 7E STA.L $7EF200,X CODE_058320: 9F 00 F4 7E STA.L $7EF400,X CODE_058324: 9F 00 F6 7E STA.L $7EF600,X CODE_058328: 9F 00 F8 7E STA.L $7EF800,X CODE_05832C: 9F 00 FA 7E STA.L $7EFA00,X CODE_058330: 9F 00 FC 7E STA.L $7EFC00,X CODE_058334: 9F 00 FE 7E STA.L $7EFE00,X CODE_058338: E8 INX Return058339: 60 RTS ; Return CODE_05833A: 9F 00 C8 7F STA.L $7FC800,X CODE_05833E: 9F 00 CA 7F STA.L $7FCA00,X CODE_058342: 9F 00 CC 7F STA.L $7FCC00,X CODE_058346: 9F 00 CE 7F STA.L $7FCE00,X CODE_05834A: 9F 00 D0 7F STA.L $7FD000,X CODE_05834E: 9F 00 D2 7F STA.L $7FD200,X CODE_058352: 9F 00 D4 7F STA.L $7FD400,X CODE_058356: 9F 00 D6 7F STA.L $7FD600,X CODE_05835A: 9F 00 D8 7F STA.L $7FD800,X CODE_05835E: 9F 00 DA 7F STA.L $7FDA00,X CODE_058362: 9F 00 DC 7F STA.L $7FDC00,X CODE_058366: 9F 00 DE 7F STA.L $7FDE00,X CODE_05836A: 9F 00 E0 7F STA.L $7FE000,X CODE_05836E: 9F 00 E2 7F STA.L $7FE200,X CODE_058372: 9F 00 E4 7F STA.L $7FE400,X CODE_058376: 9F 00 E6 7F STA.L $7FE600,X CODE_05837A: 9F 00 E8 7F STA.L $7FE800,X CODE_05837E: 9F 00 EA 7F STA.L $7FEA00,X CODE_058382: 9F 00 EC 7F STA.L $7FEC00,X CODE_058386: 9F 00 EE 7F STA.L $7FEE00,X CODE_05838A: 9F 00 F0 7F STA.L $7FF000,X CODE_05838E: 9F 00 F2 7F STA.L $7FF200,X CODE_058392: 9F 00 F4 7F STA.L $7FF400,X CODE_058396: 9F 00 F6 7F STA.L $7FF600,X CODE_05839A: 9F 00 F8 7F STA.L $7FF800,X CODE_05839E: 9F 00 FA 7F STA.L $7FFA00,X CODE_0583A2: 9F 00 FC 7F STA.L $7FFC00,X CODE_0583A6: 9F 00 FE 7F STA.L $7FFE00,X CODE_0583AA: E8 INX Return0583AB: 60 RTS ; Return LoadLevel: 08 PHP CODE_0583AD: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0583AF: 9C 33 19 STZ.W $1933 ; Layer number (0=Layer 1, 1=Layer 2) CODE_0583B2: 20 E3 84 JSR.W CODE_0584E3 ; Loads level header CODE_0583B5: 20 FB 81 JSR.W CODE_0581FB LoadAgain: AD 25 19 LDA.W $1925 ; Get current level mode CODE_0583BB: C9 09 CMP.B #$09 ; \ CODE_0583BD: F0 53 BEQ LoadLevelDone ; | CODE_0583BF: C9 0B CMP.B #$0B ; |If the current level is a boss level, CODE_0583C1: F0 4F BEQ LoadLevelDone ; |don't load anything else. CODE_0583C3: C9 10 CMP.B #$10 ; | CODE_0583C5: F0 4B BEQ LoadLevelDone ; / CODE_0583C7: A0 00 LDY.B #$00 ; \ CODE_0583C9: B7 65 LDA [$65],Y ; | CODE_0583CB: C9 FF CMP.B #$FF ; |If level isn't empty, load the level. CODE_0583CD: F0 03 BEQ LevLoadNotEmpty ; | CODE_0583CF: 20 FF 85 JSR.W LoadLevelData ; / LevLoadNotEmpty: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0583D4: AD 25 19 LDA.W $1925 ; Get current level mode CODE_0583D7: F0 39 BEQ LoadLevelDone ; \ CODE_0583D9: C9 0A CMP.B #$0A ; | CODE_0583DB: F0 35 BEQ LoadLevelDone ; | CODE_0583DD: C9 0C CMP.B #$0C ; | CODE_0583DF: F0 31 BEQ LoadLevelDone ; |If the current level isn't a Layer 2 level, CODE_0583E1: C9 0D CMP.B #$0D ; |branch to LoadLevelDone CODE_0583E3: F0 2D BEQ LoadLevelDone ; | CODE_0583E5: C9 0E CMP.B #$0E ; | CODE_0583E7: F0 29 BEQ LoadLevelDone ; | CODE_0583E9: C9 11 CMP.B #$11 ; | CODE_0583EB: F0 25 BEQ LoadLevelDone ; | CODE_0583ED: C9 1E CMP.B #$1E ; | CODE_0583EF: F0 21 BEQ LoadLevelDone ; / CODE_0583F1: EE 33 19 INC.W $1933 ; \Increase layer number and load into A CODE_0583F4: AD 33 19 LDA.W $1933 ; / CODE_0583F7: C9 02 CMP.B #$02 ; \If it is x02, end. (Layer 1 and 2 are done) CODE_0583F9: F0 17 BEQ LoadLevelDone ; / CODE_0583FB: A5 68 LDA $68 ; \ CODE_0583FD: 18 CLC ; | CODE_0583FE: 69 05 ADC.B #$05 ; | CODE_058400: 85 65 STA $65 ; |Move address stored in $68-$6A to $65-$67. CODE_058402: A5 69 LDA $69 ; |(Move Layer 2 address to "Level to load" address) CODE_058404: 69 00 ADC.B #$00 ; |It also increases the address by 5 (to ignore Layer 2's header) CODE_058406: 85 66 STA $66 ; | CODE_058408: A5 6A LDA $6A ; | CODE_05840A: 85 67 STA $67 ; / CODE_05840C: 9C 28 19 STZ.W $1928 CODE_05840F: 4C B8 83 JMP.W LoadAgain LoadLevelDone: 9C 33 19 STZ.W $1933 CODE_058415: 28 PLP Return058416: 60 RTS ; Return VerticalTable: .db $00,$00,$80,$01,$81,$02,$82,$03 ; Vertical level settings for each level mode ; Format: .db $83,$00,$01,$00,$00,$01,$00,$00 ; ?uuuuu?v .db $00,$00,$00,$00,$00,$00,$00,$00 ; ?= Unknown purpose ; u= Unused? .db $00,$00,$00,$00,$00,$00,$00,$80 ; v= Vertical level LevMainScrnTbl: .db $15,$15,$17,$15,$15,$15,$17,$15 ; Main screen settings for each level mode .db $17,$15,$15,$15,$15,$15,$04,$04 .db $15,$17,$15,$15,$15,$15,$15,$15 .db $15,$15,$15,$15,$15,$15,$01,$02 LevSubScrnTbl: .db $02,$02,$00,$02,$02,$02,$00,$02 ; Subscreen settings for each level mode .db $00,$00,$02,$00,$02,$02,$13,$13 .db $00,$00,$02,$02,$02,$02,$02,$02 .db $02,$02,$02,$02,$02,$02,$16,$15 LevCGADSUBtable: .db $24,$24,$24,$24,$24,$24,$20,$24 ; CGADSUB settings for each level mode .db $24,$20,$24,$20,$70,$70,$24,$24 .db $20,$FF,$24,$24,$24,$24,$24,$24 .db $24,$24,$24,$24,$24,$24,$21,$22 SpecialLevTable: .db $00,$00,$00,$00,$00,$00,$00,$00 ; Special level settings for each level mode ; 00: Normal level .db $00,$C0,$00,$80,$00,$00,$00,$00 ; 80: Iggy/Larry level ; C0: Morton/Ludwig/Roy level .db $C1,$00,$00,$00,$00,$00,$00,$00 ; C1: Bowser level .db $00,$00,$00,$00,$00,$00,$00,$00 LevXYPPCCCTtbl: .db $20,$20,$20,$30,$30,$30,$30,$30 ; XYPPCCCT settings for each level mode ; (The XYPPCCCT setting appears to be XORed with nearly all .db $30,$30,$30,$30,$30,$30,$20,$20 ; sprites' XYPPCCCT settings) .db $30,$30,$30,$30,$30,$30,$30,$30 .db $30,$30,$30,$30,$30,$30,$30,$30 TimerTable: .db $00,$02,$03,$04 LevelMusicTable: .db $02,$06,$01,$08,$07,$03,$05,$12 ; A level can choose between 8 tracks. ; This table contains the tracks to choose from. CODE_0584E3: A0 00 LDY.B #$00 CODE_0584E5: B7 65 LDA [$65],Y ; Get first byte CODE_0584E7: AA TAX ; \ CODE_0584E8: 29 1F AND.B #$1F ; |Get amount of screens CODE_0584EA: 1A INC A ; | CODE_0584EB: 85 5D STA RAM_ScreensInLvl ; / CODE_0584ED: 8A TXA ; \ CODE_0584EE: 4A LSR ; | CODE_0584EF: 4A LSR ; | CODE_0584F0: 4A LSR ; |Get BG color setting CODE_0584F1: 4A LSR ; | CODE_0584F2: 4A LSR ; | CODE_0584F3: 8D 30 19 STA.W $1930 ; / CODE_0584F6: C8 INY ; \Get second byte CODE_0584F7: B7 65 LDA [$65],Y ; / CODE_0584F9: 29 1F AND.B #$1F ; \Get level mode CODE_0584FB: 8D 25 19 STA.W $1925 ; / CODE_0584FE: AA TAX CODE_0584FF: BF B7 84 05 LDA.L LevXYPPCCCTtbl,X ; \Get XYPPCCCT settings from table CODE_058503: 85 64 STA $64 ; / CODE_058505: BF 37 84 05 LDA.L LevMainScrnTbl,X ; \Get main screen setting from table CODE_058509: 8D 9D 0D STA.W $0D9D ; / CODE_05850C: BF 57 84 05 LDA.L LevSubScrnTbl,X ; \Get subscreen setting from table CODE_058510: 8D 9E 0D STA.W $0D9E ; / CODE_058513: BF 77 84 05 LDA.L LevCGADSUBtable,X ; \Get CGADSUB settings from table CODE_058517: 85 40 STA $40 ; / CODE_058519: BF 97 84 05 LDA.L SpecialLevTable,X ; \Get special level setting from table CODE_05851D: 8D 9B 0D STA.W $0D9B ; / CODE_058520: BF 17 84 05 LDA.L VerticalTable,X ; \Get vertical level setting from table CODE_058524: 85 5B STA RAM_IsVerticalLvl ; / CODE_058526: 4A LSR ; \ CODE_058527: A5 5D LDA RAM_ScreensInLvl ; | CODE_058529: A2 01 LDX.B #$01 ; |If level mode is even: CODE_05852B: 90 03 BCC LevelModeEven ; |Store screen amount in $5E and x01 in $5F CODE_05852D: AA TAX ; |Otherwise: CODE_05852E: A9 01 LDA.B #$01 ; |Store x01 in $5E and screen amount in $5F LevelModeEven: 85 5E STA $5E ; | CODE_058532: 86 5F STX $5F ; / CODE_058534: B7 65 LDA [$65],Y ; Reload second byte CODE_058536: 4A LSR ; \ CODE_058537: 4A LSR ; | CODE_058538: 4A LSR ; |Get BG color settings CODE_058539: 4A LSR ; | CODE_05853A: 4A LSR ; | CODE_05853B: 8D 2F 19 STA.W $192F ; / CODE_05853E: C8 INY ; \Get third byte CODE_05853F: B7 65 LDA [$65],Y ; / CODE_058541: 85 00 STA $00 ; "Push" third byte CODE_058543: AA TAX ; "Push" third byte CODE_058544: 29 0F AND.B #$0F ; \Load sprite set CODE_058546: 8D 2B 19 STA.W $192B ; / CODE_058549: 8A TXA ; "Pull" third byte CODE_05854A: 4A LSR ; \ CODE_05854B: 4A LSR ; | CODE_05854C: 4A LSR ; | CODE_05854D: 4A LSR ; | CODE_05854E: 29 07 AND.B #$07 ; | CODE_058550: AA TAX ; |Get music CODE_058551: BF DB 84 05 LDA.L LevelMusicTable,X ; | CODE_058555: AE DA 0D LDX.W $0DDA ; | \ CODE_058558: 10 02 BPL CODE_05855C ; | | ADDR_05855A: 09 80 ORA.B #$80 ; | |Related to not restarting music if the new track CODE_05855C: CD DA 0D CMP.W $0DDA ; | |is the same as the old one? CODE_05855F: D0 02 BNE CODE_058563 ; | | CODE_058561: 09 40 ORA.B #$40 ; | / CODE_058563: 8D DA 0D STA.W $0DDA ; / CODE_058566: A5 00 LDA $00 ; "Pull" third byte CODE_058568: 29 80 AND.B #$80 ; \ CODE_05856A: 4A LSR ; | CODE_05856B: 4A LSR ; | CODE_05856C: 4A LSR ; |Get Layer 3 priority CODE_05856D: 4A LSR ; | CODE_05856E: 09 01 ORA.B #$01 ; | CODE_058570: 85 3E STA $3E ; / CODE_058572: C8 INY ; \Get fourth bit CODE_058573: B7 65 LDA [$65],Y ; / CODE_058575: 85 00 STA $00 ; "Push" fourth bit CODE_058577: 4A LSR ; \ CODE_058578: 4A LSR ; | CODE_058579: 4A LSR ; | CODE_05857A: 4A LSR ; | CODE_05857B: 4A LSR ; | CODE_05857C: 4A LSR ; | CODE_05857D: AA TAX ; |Get time CODE_05857E: AD 1A 14 LDA.W $141A ; | CODE_058581: D0 0D BNE CODE_058590 ; | CODE_058583: BF D7 84 05 LDA.L TimerTable,X ; | CODE_058587: 8D 31 0F STA.W $0F31 ; | CODE_05858A: 9C 32 0F STZ.W $0F32 ; | CODE_05858D: 9C 33 0F STZ.W $0F33 ; / CODE_058590: A5 00 LDA $00 ; "Pull" fourth bit CODE_058592: 29 07 AND.B #$07 ; \Get FG color settings CODE_058594: 8D 2D 19 STA.W $192D ; / CODE_058597: A5 00 LDA $00 ; "Pull" fourth bit (again) CODE_058599: 29 38 AND.B #$38 ; \ CODE_05859B: 4A LSR ; | CODE_05859C: 4A LSR ; |Get sprite palette CODE_05859D: 4A LSR ; | CODE_05859E: 8D 2E 19 STA.W $192E ; / CODE_0585A1: C8 INY ; \Get fifth byte CODE_0585A2: B7 65 LDA [$65],Y ; / CODE_0585A4: 29 0F AND.B #$0F ; \ CODE_0585A6: 8D 31 19 STA.W $1931 ; |Get tileset CODE_0585A9: 8D 32 19 STA.W $1932 ; / CODE_0585AC: B7 65 LDA [$65],Y ; Reload fifth byte CODE_0585AE: 29 C0 AND.B #$C0 ; \ CODE_0585B0: 0A ASL ; | CODE_0585B1: 2A ROL ; |Get item memory settings CODE_0585B2: 2A ROL ; | CODE_0585B3: 8D BE 13 STA.W $13BE ; / CODE_0585B6: B7 65 LDA [$65],Y ; Reload fifth byte CODE_0585B8: 29 30 AND.B #$30 ; \ CODE_0585BA: 4A LSR ; |Get horizontal/vertical scroll CODE_0585BB: 4A LSR ; | CODE_0585BC: 4A LSR ; | CODE_0585BD: 4A LSR ; | CODE_0585BE: C9 03 CMP.B #$03 ; | \ CODE_0585C0: D0 05 BNE HeaderVHscroll ; | |If scroll mode is x03, disable both CODE_0585C2: 9C 11 14 STZ.W $1411 ; | |vertical and horizontal scroll CODE_0585C5: A9 00 LDA.B #$00 ; | / HeaderVHscroll: 8D 12 14 STA.W $1412 ; / CODE_0585CA: A5 65 LDA $65 ; \ CODE_0585CC: 18 CLC ; | CODE_0585CD: 69 05 ADC.B #$05 ; | CODE_0585CF: 85 65 STA $65 ; |Make $65 point at the level data CODE_0585D1: A5 66 LDA $66 ; |(Level data comes right after the header) CODE_0585D3: 69 00 ADC.B #$00 ; | CODE_0585D5: 85 66 STA $66 ; / Return0585D7: 60 RTS ; We're done! CODE_0585D8: A5 5A LDA $5A CODE_0585DA: D0 06 BNE CODE_0585E2 CODE_0585DC: A5 59 LDA $59 CODE_0585DE: C9 02 CMP.B #$02 CODE_0585E0: 90 1C BCC Return0585FE CODE_0585E2: A5 0A LDA $0A CODE_0585E4: 29 0F AND.B #$0F CODE_0585E6: 85 00 STA $00 CODE_0585E8: A5 0B LDA $0B CODE_0585EA: 29 0F AND.B #$0F CODE_0585EC: 85 01 STA $01 CODE_0585EE: A5 0A LDA $0A CODE_0585F0: 29 F0 AND.B #$F0 CODE_0585F2: 05 01 ORA $01 CODE_0585F4: 85 0A STA $0A CODE_0585F6: A5 0B LDA $0B CODE_0585F8: 29 F0 AND.B #$F0 CODE_0585FA: 05 00 ORA $00 CODE_0585FC: 85 0B STA $0B Return0585FE: 60 RTS ; Return LoadLevelData: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_058601: A0 00 LDY.B #$00 ; \ CODE_058603: B7 65 LDA [$65],Y ; | CODE_058605: 85 0A STA $0A ; | CODE_058607: C8 INY ; | CODE_058608: B7 65 LDA [$65],Y ; |Read three bytes of level data CODE_05860A: 85 0B STA $0B ; |Store them in $0A, $0B and $59 CODE_05860C: C8 INY ; | CODE_05860D: B7 65 LDA [$65],Y ; | CODE_05860F: 85 59 STA $59 ; | CODE_058611: C8 INY ; / CODE_058612: 98 TYA ; \ CODE_058613: 18 CLC ; | CODE_058614: 65 65 ADC $65 ; | CODE_058616: 85 65 STA $65 ; |Increase address by 3 (as 3 bytes were read) CODE_058618: A5 66 LDA $66 ; | CODE_05861A: 69 00 ADC.B #$00 ; | CODE_05861C: 85 66 STA $66 ; / CODE_05861E: A5 0B LDA $0B ; \ CODE_058620: 4A LSR ; | CODE_058621: 4A LSR ; | CODE_058622: 4A LSR ; | CODE_058623: 4A LSR ; | CODE_058624: 85 5A STA $5A ; |Get block number, store in $5A CODE_058626: A5 0A LDA $0A ; | CODE_058628: 29 60 AND.B #$60 ; | CODE_05862A: 4A LSR ; | CODE_05862B: 05 5A ORA $5A ; | CODE_05862D: 85 5A STA $5A ; / CODE_05862F: A5 5B LDA RAM_IsVerticalLvl ; A = vertical level setting CODE_058631: AC 33 19 LDY.W $1933 ; \ CODE_058634: F0 01 BEQ CODE_058637 ; |If $1933=x00, divide A by 2 CODE_058636: 4A LSR ; / CODE_058637: 29 01 AND.B #$01 ; \ CODE_058639: F0 03 BEQ CODE_05863E ; |If lowest bit of A is set, jump to sub CODE_05863B: 20 D8 85 JSR.W CODE_0585D8 ; / CODE_05863E: A5 0A LDA $0A ; \ CODE_058640: 29 0F AND.B #$0F ; | CODE_058642: 0A ASL ; | CODE_058643: 0A ASL ; | CODE_058644: 0A ASL ; |Set upper half of $57 to Y pos CODE_058645: 0A ASL ; |and lower half of $57 to X pos CODE_058646: 85 57 STA $57 ; | CODE_058648: A5 0B LDA $0B ; | CODE_05864A: 29 0F AND.B #$0F ; | CODE_05864C: 05 57 ORA $57 ; | CODE_05864E: 85 57 STA $57 ; / CODE_058650: C2 20 REP #$20 ; Accum (16 bit) CODE_058652: AD 33 19 LDA.W $1933 ; \ CODE_058655: 29 FF 00 AND.W #$00FF ; |Load $1993*2 into X CODE_058658: 0A ASL ; | CODE_058659: AA TAX ; / CODE_05865A: BF A8 BE 00 LDA.L LoadBlkPtrs,X CODE_05865E: 85 03 STA $03 CODE_058660: BF AC BE 00 LDA.L LoadBlkTable2,X CODE_058664: 85 06 STA $06 CODE_058666: AD 25 19 LDA.W $1925 ; \ CODE_058669: 29 1F 00 AND.W #$001F ; |Set Y to Level Mode*2 CODE_05866C: 0A ASL ; | CODE_05866D: A8 TAY ; / CODE_05866E: E2 20 SEP #$20 ; Accum (8 bit) CODE_058670: A9 00 LDA.B #$00 CODE_058672: 85 05 STA $05 CODE_058674: 85 08 STA $08 CODE_058676: B7 03 LDA [$03],Y CODE_058678: 85 00 STA $00 CODE_05867A: B7 06 LDA [$06],Y CODE_05867C: 85 0D STA $0D CODE_05867E: C8 INY CODE_05867F: B7 03 LDA [$03],Y CODE_058681: 85 01 STA $01 CODE_058683: B7 06 LDA [$06],Y CODE_058685: 85 0E STA $0E CODE_058687: A9 00 LDA.B #$00 CODE_058689: 85 02 STA $02 CODE_05868B: 85 0F STA $0F CODE_05868D: A5 0A LDA $0A ; \ CODE_05868F: 29 80 AND.B #$80 ; | CODE_058691: 0A ASL ; |If New Page flag is set, increase $1928 by 1 CODE_058692: 6D 28 19 ADC.W $1928 ; |(A = $1928) CODE_058695: 8D 28 19 STA.W $1928 ; / CODE_058698: 8D A1 1B STA.W $1BA1 ; Store A in $1BA1 CODE_05869B: 0A ASL ; \ CODE_05869C: 18 CLC ; |Multiply A by 2 and add $1928 to it CODE_05869D: 6D 28 19 ADC.W $1928 ; |Set Y to A CODE_0586A0: A8 TAY ; / CODE_0586A1: B7 00 LDA [$00],Y CODE_0586A3: 85 6B STA $6B CODE_0586A5: B7 0D LDA [$0D],Y CODE_0586A7: 85 6E STA $6E CODE_0586A9: C8 INY CODE_0586AA: B7 00 LDA [$00],Y CODE_0586AC: 85 6C STA $6C CODE_0586AE: B7 0D LDA [$0D],Y CODE_0586B0: 85 6F STA $6F CODE_0586B2: C8 INY CODE_0586B3: B7 00 LDA [$00],Y CODE_0586B5: 85 6D STA $6D CODE_0586B7: B7 0D LDA [$0D],Y CODE_0586B9: 85 70 STA $70 CODE_0586BB: A5 0A LDA $0A ; \ CODE_0586BD: 29 10 AND.B #$10 ; |If high coordinate is set... CODE_0586BF: F0 04 BEQ LoadNoHiCoord ; |(Lower half of horizontal level) CODE_0586C1: E6 6C INC $6C ; |(Right half of vertical level) CODE_0586C3: E6 6F INC $6F ; |...increase $6C and $6F LoadNoHiCoord: A5 5A LDA $5A ; \ CODE_0586C7: D0 06 BNE LevLoadJsrNrm ; |If block number is x00 (extended object), CODE_0586C9: 20 E3 86 JSR.W LevLoadExtObj ; |Jump to sub LevLoadExtObj CODE_0586CC: 4C D2 86 JMP.W LevLoadContinue ; | (Why didn't they use BRA here?) LevLoadJsrNrm: 20 EA 86 JSR.W LevLoadNrmObj ; |Jump to sub LevLoadNrmObj LevLoadContinue: E2 20 SEP #$20 ; Accum (8 bit) CODE_0586D4: C2 10 REP #$10 ; Index (16 bit) CODE_0586D6: A0 00 00 LDY.W #$0000 ; \ CODE_0586D9: B7 65 LDA [$65],Y ; | CODE_0586DB: C9 FF CMP.B #$FF ; |If the next byte is xFF, return (loading is done). CODE_0586DD: F0 03 BEQ LevelDataEnd ; |Otherwise, repeat this routine. CODE_0586DF: 4C FF 85 JMP.W LoadLevelData ; | LevelDataEnd: 60 RTS ; / LevLoadExtObj: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0586E5: 22 00 A1 0D JSL.L CODE_0DA100 Return0586E9: 60 RTS ; Return LevLoadNrmObj: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0586EC: 22 0F A4 0D JSL.L CODE_0DA40F Return0586F0: 60 RTS ; Return CODE_0586F1: 08 PHP CODE_0586F2: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0586F4: 20 7E 87 JSR.W CODE_05877E CODE_0586F7: E2 20 SEP #$20 ; Accum (8 bit) CODE_0586F9: A5 5B LDA RAM_IsVerticalLvl CODE_0586FB: 29 01 AND.B #$01 CODE_0586FD: D0 14 BNE CODE_058713 CODE_0586FF: C2 20 REP #$20 ; Accum (16 bit) CODE_058701: A5 55 LDA $55 CODE_058703: 29 FF 00 AND.W #$00FF CODE_058706: AA TAX CODE_058707: A5 1A LDA RAM_ScreenBndryXLo CODE_058709: 29 F0 FF AND.W #$FFF0 CODE_05870C: D5 4D CMP $4D,X CODE_05870E: F0 27 BEQ CODE_058737 CODE_058710: 4C 24 87 JMP.W CODE_058724 CODE_058713: C2 20 REP #$20 ; Accum (16 bit) CODE_058715: A5 55 LDA $55 CODE_058717: 29 FF 00 AND.W #$00FF CODE_05871A: AA TAX CODE_05871B: A5 1C LDA RAM_ScreenBndryYLo CODE_05871D: 29 F0 FF AND.W #$FFF0 CODE_058720: D5 4D CMP $4D,X CODE_058722: F0 13 BEQ CODE_058737 CODE_058724: 95 4D STA $4D,X CODE_058726: 8A TXA CODE_058727: 49 02 00 EOR.W #$0002 CODE_05872A: AA TAX CODE_05872B: A9 FF FF LDA.W #$FFFF CODE_05872E: 95 4D STA $4D,X CODE_058730: 22 1A 88 05 JSL.L CODE_05881A CODE_058734: 4C 74 87 JMP.W CODE_058774 CODE_058737: E2 20 SEP #$20 ; Accum (8 bit) CODE_058739: A5 5B LDA RAM_IsVerticalLvl CODE_05873B: 29 02 AND.B #$02 CODE_05873D: D0 14 BNE CODE_058753 CODE_05873F: C2 20 REP #$20 ; Accum (16 bit) CODE_058741: A5 56 LDA $56 CODE_058743: 29 FF 00 AND.W #$00FF CODE_058746: AA TAX CODE_058747: A5 1E LDA $1E CODE_058749: 29 F0 FF AND.W #$FFF0 CODE_05874C: D5 51 CMP $51,X CODE_05874E: F0 24 BEQ CODE_058774 CODE_058750: 4C 64 87 JMP.W CODE_058764 CODE_058753: C2 20 REP #$20 ; Accum (16 bit) CODE_058755: A5 56 LDA $56 CODE_058757: 29 FF 00 AND.W #$00FF CODE_05875A: AA TAX CODE_05875B: A5 20 LDA $20 CODE_05875D: 29 F0 FF AND.W #$FFF0 CODE_058760: D5 51 CMP $51,X CODE_058762: F0 10 BEQ CODE_058774 CODE_058764: 95 51 STA $51,X CODE_058766: 8A TXA CODE_058767: 49 02 00 EOR.W #$0002 CODE_05876A: AA TAX CODE_05876B: A9 FF FF LDA.W #$FFFF CODE_05876E: 95 51 STA $51,X CODE_058770: 22 83 88 05 JSL.L CODE_058883 CODE_058774: 28 PLP Return058775: 6B RTL ; Return MAP16AppTable: .db $B0,$8A,$E0,$84,$F0,$8A,$30,$8B CODE_05877E: 08 PHP CODE_05877F: E2 20 SEP #$20 ; Accum (8 bit) CODE_058781: A5 5B LDA RAM_IsVerticalLvl CODE_058783: 29 01 AND.B #$01 CODE_058785: D0 44 BNE CODE_0587CB CODE_058787: C2 20 REP #$20 ; Accum (16 bit) CODE_058789: A5 1A LDA RAM_ScreenBndryXLo ; Load "Xpos of Screen Boundary" CODE_05878B: 4A LSR ; \ CODE_05878C: 4A LSR ; |Multiply by 16 CODE_05878D: 4A LSR ; | CODE_05878E: 4A LSR ; / CODE_05878F: A8 TAY CODE_058790: 38 SEC ; \ CODE_058791: E9 08 00 SBC.W #$0008 ; /Subtract 8 CODE_058794: 85 45 STA $45 ; Store to $45 (Seems to be Scratch RAM) CODE_058796: 98 TYA ; Get back the multiplied XPos CODE_058797: 18 CLC CODE_058798: 69 17 00 ADC.W #$0017 ; Add $17 CODE_05879B: 85 47 STA $47 ; Store to $47 (Seems to be Scratch RAM) CODE_05879D: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_05879F: A5 55 LDA $55 ; \ CODE_0587A1: AA TAX ; | LDA $45,x / $55 CODE_0587A2: B5 45 LDA $45,X ; / CODE_0587A4: 4A LSR ; \ multiply by 8 CODE_0587A5: 4A LSR ; | CODE_0587A6: 4A LSR ; / CODE_0587A7: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0587A9: 29 06 00 AND.W #$0006 ; AND to make it either 6, 4, 2, or 0. CODE_0587AC: AA TAX CODE_0587AD: A9 33 01 LDA.W #$0133 ; \LDY #$0266 CODE_0587B0: 0A ASL ; | CODE_0587B1: A8 TAY ; / CODE_0587B2: A9 07 00 LDA.W #$0007 CODE_0587B5: 85 00 STA $00 CODE_0587B7: BF 76 87 05 LDA.L MAP16AppTable,X CODE_0587BB: 99 BE 0F STA.W $0FBE,Y ; MAP16 pointer table CODE_0587BE: C8 INY CODE_0587BF: C8 INY CODE_0587C0: 18 CLC CODE_0587C1: 69 08 00 ADC.W #$0008 ; 8 bytes per tile? CODE_0587C4: C6 00 DEC $00 CODE_0587C6: 10 F3 BPL CODE_0587BB CODE_0587C8: 4C E1 87 JMP.W CODE_0587E1 CODE_0587CB: C2 20 REP #$20 ; Accum (16 bit) CODE_0587CD: A5 1C LDA RAM_ScreenBndryYLo CODE_0587CF: 4A LSR CODE_0587D0: 4A LSR CODE_0587D1: 4A LSR CODE_0587D2: 4A LSR CODE_0587D3: A8 TAY CODE_0587D4: 38 SEC CODE_0587D5: E9 08 00 SBC.W #$0008 CODE_0587D8: 85 45 STA $45 CODE_0587DA: 98 TYA CODE_0587DB: 18 CLC CODE_0587DC: 69 17 00 ADC.W #$0017 CODE_0587DF: 85 47 STA $47 CODE_0587E1: E2 20 SEP #$20 ; Accum (8 bit) CODE_0587E3: A5 5B LDA RAM_IsVerticalLvl ; Load the vertical level flag CODE_0587E5: 29 02 AND.B #$02 ; \if bit 1 is set, process based on that CODE_0587E7: D0 19 BNE CODE_058802 ; / CODE_0587E9: C2 20 REP #$20 ; Not a vertical level ; Accum (16 bit) CODE_0587EB: A5 1E LDA $1E ; \Y = L2XPos * 16 CODE_0587ED: 4A LSR ; | CODE_0587EE: 4A LSR ; | CODE_0587EF: 4A LSR ; | CODE_0587F0: 4A LSR ; | CODE_0587F1: A8 TAY ; / CODE_0587F2: 38 SEC CODE_0587F3: E9 08 00 SBC.W #$0008 CODE_0587F6: 85 49 STA $49 CODE_0587F8: 98 TYA CODE_0587F9: 18 CLC CODE_0587FA: 69 17 00 ADC.W #$0017 CODE_0587FD: 85 4B STA $4B CODE_0587FF: 4C 18 88 JMP.W CODE_058818 CODE_058802: C2 20 REP #$20 ; \A = Y = $04*16 (?) ; Accum (16 bit) CODE_058804: A5 20 LDA $20 ; | CODE_058806: 4A LSR ; | CODE_058807: 4A LSR ; | CODE_058808: 4A LSR ; | CODE_058809: 4A LSR ; | CODE_05880A: A8 TAY ; / CODE_05880B: 38 SEC ; \ CODE_05880C: E9 08 00 SBC.W #$0008 ; |Subtract x08 and store in $49 CODE_05880F: 85 49 STA $49 ; / CODE_058811: 98 TYA ; \ CODE_058812: 18 CLC ; |"Undo", add x17 and store in $4B CODE_058813: 69 17 00 ADC.W #$0017 ; | CODE_058816: 85 4B STA $4B ; / CODE_058818: 28 PLP Return058819: 60 RTS ; Return CODE_05881A: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_05881C: AD 25 19 LDA.W $1925 CODE_05881F: 22 FA 86 00 JSL.L ExecutePtrLong PtrsLong058823: CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B 9A 8A 05 .dw Return058A9A .db :$Return058A9A CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE 9A 8A 05 .dw Return058A9A .db :$Return058A9A CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CODE_058883: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_058885: AD 25 19 LDA.W $1925 CODE_058888: 22 FA 86 00 JSL.L ExecutePtrLong PtrsLong05888C: 70 8C 05 .dw Return058C70 .db :$Return058C70 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D 71 8C 05 .dw CODE_058C71 .db :$CODE_058C71 71 8C 05 .dw CODE_058C71 .db :$CODE_058C71 71 8C 05 .dw CODE_058C71 .db :$CODE_058C71 71 8C 05 .dw CODE_058C71 .db :$CODE_058C71 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D CODE_0588EC: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0588EE: AD 25 19 LDA.W $1925 CODE_0588F1: 22 FA 86 00 JSL.L ExecutePtrLong PtrsLong0588F5: CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B 9A 8A 05 .dw Return058A9A .db :$Return058A9A CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE 9B 8A 05 .dw CODE_058A9B .db :$CODE_058A9B CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE 9A 8A 05 .dw Return058A9A .db :$Return058A9A CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A 9A 8A 05 .dw Return058A9A .db :$Return058A9A CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CE 89 05 .dw CODE_0589CE .db :$CODE_0589CE CODE_058955: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_058957: AD 25 19 LDA.W $1925 CODE_05895A: 22 FA 86 00 JSL.L ExecutePtrLong PtrsLong05895E: 7A 8D 05 .dw CODE_058D7A .db :$CODE_058D7A 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D 71 8C 05 .dw CODE_058C71 .db :$CODE_058C71 71 8C 05 .dw CODE_058C71 .db :$CODE_058C71 71 8C 05 .dw CODE_058C71 .db :$CODE_058C71 71 8C 05 .dw CODE_058C71 .db :$CODE_058C71 70 8C 05 .dw Return058C70 .db :$Return058C70 7A 8D 05 .dw CODE_058D7A .db :$CODE_058D7A 70 8C 05 .dw Return058C70 .db :$Return058C70 7A 8D 05 .dw CODE_058D7A .db :$CODE_058D7A 7A 8D 05 .dw CODE_058D7A .db :$CODE_058D7A 7A 8D 05 .dw CODE_058D7A .db :$CODE_058D7A 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D 70 8C 05 .dw Return058C70 .db :$Return058C70 7A 8D 05 .dw CODE_058D7A .db :$CODE_058D7A 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 70 8C 05 .dw Return058C70 .db :$Return058C70 7A 8D 05 .dw CODE_058D7A .db :$CODE_058D7A 8D 8B 05 .dw CODE_058B8D .db :$CODE_058B8D DATA_0589BE: .db $80,$00,$40,$00,$20,$00,$10,$00 .db $08,$00,$04,$00,$02,$00,$01,$00 CODE_0589CE: 08 PHP CODE_0589CF: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0589D1: AD 25 19 LDA.W $1925 CODE_0589D4: 29 FF 00 AND.W #$00FF CODE_0589D7: 0A ASL CODE_0589D8: AA TAX CODE_0589D9: E2 20 SEP #$20 ; Accum (8 bit) CODE_0589DB: BF A8 BD 00 LDA.L Ptrs00BDA8,X CODE_0589DF: 85 0A STA $0A CODE_0589E1: BF A9 BD 00 LDA.L Ptrs00BDA8+1,X CODE_0589E5: 85 0B STA $0B CODE_0589E7: BF 28 BE 00 LDA.L Ptrs00BE28,X CODE_0589EB: 85 0D STA $0D CODE_0589ED: BF 29 BE 00 LDA.L Ptrs00BE28+1,X CODE_0589F1: 85 0E STA $0E CODE_0589F3: A9 00 LDA.B #$00 CODE_0589F5: 85 0C STA $0C CODE_0589F7: 85 0F STA $0F CODE_0589F9: A5 55 LDA $55 CODE_0589FB: AA TAX CODE_0589FC: B5 45 LDA $45,X CODE_0589FE: 29 0F AND.B #$0F CODE_058A00: 0A ASL CODE_058A01: 8D E5 1B STA.W $1BE5 CODE_058A04: A0 20 00 LDY.W #$0020 CODE_058A07: B5 45 LDA $45,X CODE_058A09: 29 10 AND.B #$10 CODE_058A0B: F0 03 BEQ CODE_058A10 CODE_058A0D: A0 24 00 LDY.W #$0024 CODE_058A10: 98 TYA CODE_058A11: 8D E4 1B STA.W $1BE4 CODE_058A14: C2 20 REP #$20 ; Accum (16 bit) CODE_058A16: B5 45 LDA $45,X CODE_058A18: 29 F0 01 AND.W #$01F0 CODE_058A1B: 4A LSR CODE_058A1C: 4A LSR CODE_058A1D: 4A LSR CODE_058A1E: 4A LSR CODE_058A1F: 85 00 STA $00 CODE_058A21: 0A ASL CODE_058A22: 18 CLC CODE_058A23: 65 00 ADC $00 CODE_058A25: A8 TAY CODE_058A26: B7 0A LDA [$0A],Y CODE_058A28: 85 6B STA $6B CODE_058A2A: B7 0D LDA [$0D],Y CODE_058A2C: 85 6E STA $6E CODE_058A2E: E2 20 SEP #$20 ; Accum (8 bit) CODE_058A30: C8 INY CODE_058A31: C8 INY CODE_058A32: B7 0A LDA [$0A],Y CODE_058A34: 85 6D STA $6D CODE_058A36: B7 0D LDA [$0D],Y CODE_058A38: 85 70 STA $70 CODE_058A3A: E2 10 SEP #$10 ; Index (8 bit) CODE_058A3C: A0 0D LDY.B #$0D CODE_058A3E: AD 31 19 LDA.W $1931 CODE_058A41: C9 10 CMP.B #$10 CODE_058A43: 30 02 BMI CODE_058A47 ADDR_058A45: A0 05 LDY.B #$05 CODE_058A47: 84 0C STY $0C CODE_058A49: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_058A4B: B5 45 LDA $45,X CODE_058A4D: 29 0F 00 AND.W #$000F CODE_058A50: 85 08 STA $08 CODE_058A52: A2 00 00 LDX.W #$0000 CODE_058A55: A4 08 LDY $08 CODE_058A57: B7 6B LDA [$6B],Y CODE_058A59: 29 FF 00 AND.W #$00FF CODE_058A5C: 85 00 STA $00 CODE_058A5E: B7 6E LDA [$6E],Y CODE_058A60: 85 01 STA $01 CODE_058A62: A5 00 LDA $00 CODE_058A64: 0A ASL CODE_058A65: A8 TAY CODE_058A66: B9 BE 0F LDA.W $0FBE,Y CODE_058A69: 85 0A STA $0A CODE_058A6B: A0 00 00 LDY.W #$0000 CODE_058A6E: B7 0A LDA [$0A],Y CODE_058A70: 9D E6 1B STA.W $1BE6,X CODE_058A73: C8 INY CODE_058A74: C8 INY CODE_058A75: B7 0A LDA [$0A],Y CODE_058A77: 9D E8 1B STA.W $1BE8,X CODE_058A7A: C8 INY CODE_058A7B: C8 INY CODE_058A7C: B7 0A LDA [$0A],Y CODE_058A7E: 9D 66 1C STA.W $1C66,X CODE_058A81: C8 INY CODE_058A82: C8 INY CODE_058A83: B7 0A LDA [$0A],Y CODE_058A85: 9D 68 1C STA.W $1C68,X CODE_058A88: E8 INX CODE_058A89: E8 INX CODE_058A8A: E8 INX CODE_058A8B: E8 INX CODE_058A8C: A5 08 LDA $08 CODE_058A8E: 18 CLC CODE_058A8F: 69 10 00 ADC.W #$0010 CODE_058A92: 85 08 STA $08 CODE_058A94: C9 B0 01 CMP.W #$01B0 CODE_058A97: 90 BC BCC CODE_058A55 CODE_058A99: 28 PLP Return058A9A: 6B RTL ; Return CODE_058A9B: 08 PHP CODE_058A9C: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_058A9E: AD 25 19 LDA.W $1925 CODE_058AA1: 29 FF 00 AND.W #$00FF CODE_058AA4: 0A ASL CODE_058AA5: AA TAX CODE_058AA6: E2 20 SEP #$20 ; Accum (8 bit) CODE_058AA8: BF A8 BD 00 LDA.L Ptrs00BDA8,X CODE_058AAC: 85 0A STA $0A CODE_058AAE: BF A9 BD 00 LDA.L Ptrs00BDA8+1,X CODE_058AB2: 85 0B STA $0B CODE_058AB4: BF 28 BE 00 LDA.L Ptrs00BE28,X CODE_058AB8: 85 0D STA $0D CODE_058ABA: BF 29 BE 00 LDA.L Ptrs00BE28+1,X CODE_058ABE: 85 0E STA $0E CODE_058AC0: A9 00 LDA.B #$00 CODE_058AC2: 85 0C STA $0C CODE_058AC4: 85 0F STA $0F CODE_058AC6: A5 55 LDA $55 CODE_058AC8: AA TAX CODE_058AC9: A0 20 00 LDY.W #$0020 CODE_058ACC: B5 45 LDA $45,X CODE_058ACE: 29 10 AND.B #$10 CODE_058AD0: F0 03 BEQ CODE_058AD5 CODE_058AD2: A0 28 00 LDY.W #$0028 CODE_058AD5: 98 TYA CODE_058AD6: 85 00 STA $00 CODE_058AD8: B5 45 LDA $45,X CODE_058ADA: 4A LSR CODE_058ADB: 4A LSR CODE_058ADC: 29 03 AND.B #$03 CODE_058ADE: 05 00 ORA $00 CODE_058AE0: 8D E4 1B STA.W $1BE4 CODE_058AE3: B5 45 LDA $45,X CODE_058AE5: 29 03 AND.B #$03 CODE_058AE7: 0A ASL CODE_058AE8: 0A ASL CODE_058AE9: 0A ASL CODE_058AEA: 0A ASL CODE_058AEB: 0A ASL CODE_058AEC: 0A ASL CODE_058AED: 8D E5 1B STA.W $1BE5 CODE_058AF0: C2 20 REP #$20 ; Accum (16 bit) CODE_058AF2: B5 45 LDA $45,X CODE_058AF4: 29 F0 01 AND.W #$01F0 CODE_058AF7: 4A LSR CODE_058AF8: 4A LSR CODE_058AF9: 4A LSR CODE_058AFA: 4A LSR CODE_058AFB: 85 00 STA $00 CODE_058AFD: 0A ASL CODE_058AFE: 18 CLC CODE_058AFF: 65 00 ADC $00 CODE_058B01: A8 TAY CODE_058B02: B7 0A LDA [$0A],Y CODE_058B04: 85 6B STA $6B CODE_058B06: B7 0D LDA [$0D],Y CODE_058B08: 85 6E STA $6E CODE_058B0A: E2 20 SEP #$20 ; Accum (8 bit) CODE_058B0C: C8 INY CODE_058B0D: C8 INY CODE_058B0E: B7 0A LDA [$0A],Y CODE_058B10: 85 6D STA $6D CODE_058B12: B7 0D LDA [$0D],Y CODE_058B14: 85 70 STA $70 CODE_058B16: E2 10 SEP #$10 ; Index (8 bit) CODE_058B18: A0 0D LDY.B #$0D CODE_058B1A: AD 31 19 LDA.W $1931 CODE_058B1D: C9 10 CMP.B #$10 CODE_058B1F: 30 02 BMI CODE_058B23 CODE_058B21: A0 05 LDY.B #$05 CODE_058B23: 84 0C STY $0C CODE_058B25: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_058B27: B5 45 LDA $45,X CODE_058B29: 29 0F 00 AND.W #$000F CODE_058B2C: 0A ASL CODE_058B2D: 0A ASL CODE_058B2E: 0A ASL CODE_058B2F: 0A ASL CODE_058B30: 85 08 STA $08 CODE_058B32: A2 00 00 LDX.W #$0000 CODE_058B35: A4 08 LDY $08 CODE_058B37: B7 6B LDA [$6B],Y CODE_058B39: 29 FF 00 AND.W #$00FF CODE_058B3C: 85 00 STA $00 CODE_058B3E: B7 6E LDA [$6E],Y CODE_058B40: 85 01 STA $01 CODE_058B42: A5 00 LDA $00 CODE_058B44: 0A ASL CODE_058B45: A8 TAY CODE_058B46: B9 BE 0F LDA.W $0FBE,Y CODE_058B49: 85 0A STA $0A CODE_058B4B: A0 00 00 LDY.W #$0000 CODE_058B4E: B7 0A LDA [$0A],Y CODE_058B50: 9D E6 1B STA.W $1BE6,X CODE_058B53: C8 INY CODE_058B54: C8 INY CODE_058B55: B7 0A LDA [$0A],Y CODE_058B57: 9D 66 1C STA.W $1C66,X CODE_058B5A: E8 INX CODE_058B5B: E8 INX CODE_058B5C: C8 INY CODE_058B5D: C8 INY CODE_058B5E: B7 0A LDA [$0A],Y CODE_058B60: 9D E6 1B STA.W $1BE6,X CODE_058B63: C8 INY CODE_058B64: C8 INY CODE_058B65: B7 0A LDA [$0A],Y CODE_058B67: 9D 66 1C STA.W $1C66,X CODE_058B6A: E8 INX CODE_058B6B: E8 INX CODE_058B6C: A5 08 LDA $08 CODE_058B6E: A8 TAY CODE_058B6F: 18 CLC CODE_058B70: 69 01 00 ADC.W #$0001 CODE_058B73: 85 08 STA $08 CODE_058B75: 29 0F 00 AND.W #$000F CODE_058B78: D0 0A BNE CODE_058B84 CODE_058B7A: 98 TYA CODE_058B7B: 29 F0 FF AND.W #$FFF0 CODE_058B7E: 18 CLC CODE_058B7F: 69 00 01 ADC.W #$0100 CODE_058B82: 85 08 STA $08 CODE_058B84: A5 08 LDA $08 CODE_058B86: 29 0F 01 AND.W #$010F CODE_058B89: D0 AA BNE CODE_058B35 CODE_058B8B: 28 PLP Return058B8C: 6B RTL ; Return CODE_058B8D: 08 PHP CODE_058B8E: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_058B90: AD 25 19 LDA.W $1925 CODE_058B93: 29 FF 00 AND.W #$00FF CODE_058B96: 0A ASL CODE_058B97: AA TAX CODE_058B98: E2 20 SEP #$20 ; Accum (8 bit) CODE_058B9A: A0 00 00 LDY.W #$0000 CODE_058B9D: AD 31 19 LDA.W $1931 CODE_058BA0: C9 03 CMP.B #$03 CODE_058BA2: D0 03 BNE CODE_058BA7 CODE_058BA4: A0 00 10 LDY.W #$1000 CODE_058BA7: 84 03 STY $03 CODE_058BA9: BF E8 BD 00 LDA.L Ptrs00BDE8,X CODE_058BAD: 85 0A STA $0A CODE_058BAF: BF E9 BD 00 LDA.L Ptrs00BDE8+1,X CODE_058BB3: 85 0B STA $0B CODE_058BB5: BF 68 BE 00 LDA.L Ptrs00BE68,X CODE_058BB9: 85 0D STA $0D CODE_058BBB: BF 69 BE 00 LDA.L Ptrs00BE68+1,X CODE_058BBF: 85 0E STA $0E CODE_058BC1: A9 00 LDA.B #$00 CODE_058BC3: 85 0C STA $0C CODE_058BC5: 85 0F STA $0F CODE_058BC7: A5 56 LDA $56 CODE_058BC9: AA TAX CODE_058BCA: B5 49 LDA $49,X CODE_058BCC: 29 0F AND.B #$0F CODE_058BCE: 0A ASL CODE_058BCF: 8D E7 1C STA.W $1CE7 CODE_058BD2: A0 30 00 LDY.W #$0030 CODE_058BD5: B5 49 LDA $49,X CODE_058BD7: 29 10 AND.B #$10 CODE_058BD9: F0 03 BEQ CODE_058BDE CODE_058BDB: A0 34 00 LDY.W #$0034 CODE_058BDE: 98 TYA CODE_058BDF: 8D E6 1C STA.W $1CE6 CODE_058BE2: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_058BE4: B5 49 LDA $49,X CODE_058BE6: 29 F0 01 AND.W #$01F0 CODE_058BE9: 4A LSR CODE_058BEA: 4A LSR CODE_058BEB: 4A LSR CODE_058BEC: 4A LSR CODE_058BED: 85 00 STA $00 CODE_058BEF: 0A ASL CODE_058BF0: 18 CLC CODE_058BF1: 65 00 ADC $00 CODE_058BF3: A8 TAY CODE_058BF4: B7 0A LDA [$0A],Y CODE_058BF6: 85 6B STA $6B CODE_058BF8: B7 0D LDA [$0D],Y CODE_058BFA: 85 6E STA $6E CODE_058BFC: E2 20 SEP #$20 ; Accum (8 bit) CODE_058BFE: C8 INY CODE_058BFF: C8 INY CODE_058C00: B7 0A LDA [$0A],Y CODE_058C02: 85 6D STA $6D CODE_058C04: B7 0D LDA [$0D],Y CODE_058C06: 85 70 STA $70 CODE_058C08: E2 10 SEP #$10 ; Index (8 bit) CODE_058C0A: A0 0D LDY.B #$0D CODE_058C0C: AD 31 19 LDA.W $1931 CODE_058C0F: C9 10 CMP.B #$10 CODE_058C11: 30 02 BMI CODE_058C15 ADDR_058C13: A0 05 LDY.B #$05 CODE_058C15: 84 0C STY $0C CODE_058C17: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_058C19: B5 49 LDA $49,X CODE_058C1B: 29 0F 00 AND.W #$000F CODE_058C1E: 85 08 STA $08 CODE_058C20: A2 00 00 LDX.W #$0000 CODE_058C23: A4 08 LDY $08 CODE_058C25: B7 6B LDA [$6B],Y CODE_058C27: 29 FF 00 AND.W #$00FF CODE_058C2A: 85 00 STA $00 CODE_058C2C: B7 6E LDA [$6E],Y CODE_058C2E: 85 01 STA $01 CODE_058C30: A5 00 LDA $00 CODE_058C32: 0A ASL CODE_058C33: A8 TAY CODE_058C34: B9 BE 0F LDA.W $0FBE,Y CODE_058C37: 85 0A STA $0A CODE_058C39: A0 00 00 LDY.W #$0000 CODE_058C3C: B7 0A LDA [$0A],Y CODE_058C3E: 05 03 ORA $03 CODE_058C40: 9D E8 1C STA.W $1CE8,X CODE_058C43: C8 INY CODE_058C44: C8 INY CODE_058C45: B7 0A LDA [$0A],Y CODE_058C47: 05 03 ORA $03 CODE_058C49: 9D EA 1C STA.W $1CEA,X CODE_058C4C: C8 INY CODE_058C4D: C8 INY CODE_058C4E: B7 0A LDA [$0A],Y CODE_058C50: 05 03 ORA $03 CODE_058C52: 9D 68 1D STA.W $1D68,X CODE_058C55: C8 INY CODE_058C56: C8 INY CODE_058C57: B7 0A LDA [$0A],Y CODE_058C59: 05 03 ORA $03 CODE_058C5B: 9D 6A 1D STA.W $1D6A,X CODE_058C5E: E8 INX CODE_058C5F: E8 INX CODE_058C60: E8 INX CODE_058C61: E8 INX CODE_058C62: A5 08 LDA $08 CODE_058C64: 18 CLC CODE_058C65: 69 10 00 ADC.W #$0010 CODE_058C68: 85 08 STA $08 CODE_058C6A: C9 B0 01 CMP.W #$01B0 CODE_058C6D: 90 B4 BCC CODE_058C23 CODE_058C6F: 28 PLP Return058C70: 6B RTL ; Return CODE_058C71: 08 PHP CODE_058C72: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_058C74: AD 25 19 LDA.W $1925 CODE_058C77: 29 FF 00 AND.W #$00FF CODE_058C7A: 0A ASL CODE_058C7B: AA TAX CODE_058C7C: E2 20 SEP #$20 ; Accum (8 bit) CODE_058C7E: A0 00 00 LDY.W #$0000 CODE_058C81: AD 31 19 LDA.W $1931 CODE_058C84: C9 03 CMP.B #$03 CODE_058C86: D0 03 BNE CODE_058C8B ADDR_058C88: A0 00 10 LDY.W #$1000 CODE_058C8B: 84 03 STY $03 CODE_058C8D: BF E8 BD 00 LDA.L Ptrs00BDE8,X CODE_058C91: 85 0A STA $0A CODE_058C93: BF E9 BD 00 LDA.L Ptrs00BDE8+1,X CODE_058C97: 85 0B STA $0B CODE_058C99: BF 68 BE 00 LDA.L Ptrs00BE68,X CODE_058C9D: 85 0D STA $0D CODE_058C9F: BF 69 BE 00 LDA.L Ptrs00BE68+1,X CODE_058CA3: 85 0E STA $0E CODE_058CA5: A9 00 LDA.B #$00 CODE_058CA7: 85 0C STA $0C CODE_058CA9: 85 0F STA $0F CODE_058CAB: A5 56 LDA $56 CODE_058CAD: AA TAX CODE_058CAE: A0 30 00 LDY.W #$0030 CODE_058CB1: B5 49 LDA $49,X CODE_058CB3: 29 10 AND.B #$10 CODE_058CB5: F0 03 BEQ CODE_058CBA CODE_058CB7: A0 38 00 LDY.W #$0038 CODE_058CBA: 98 TYA CODE_058CBB: 85 00 STA $00 CODE_058CBD: B5 49 LDA $49,X CODE_058CBF: 4A LSR CODE_058CC0: 4A LSR CODE_058CC1: 29 03 AND.B #$03 CODE_058CC3: 05 00 ORA $00 CODE_058CC5: 8D E6 1C STA.W $1CE6 CODE_058CC8: B5 49 LDA $49,X CODE_058CCA: 29 03 AND.B #$03 CODE_058CCC: 0A ASL CODE_058CCD: 0A ASL CODE_058CCE: 0A ASL CODE_058CCF: 0A ASL CODE_058CD0: 0A ASL CODE_058CD1: 0A ASL CODE_058CD2: 8D E7 1C STA.W $1CE7 CODE_058CD5: C2 20 REP #$20 ; Accum (16 bit) CODE_058CD7: B5 49 LDA $49,X CODE_058CD9: 29 F0 01 AND.W #$01F0 CODE_058CDC: 4A LSR CODE_058CDD: 4A LSR CODE_058CDE: 4A LSR CODE_058CDF: 4A LSR CODE_058CE0: 85 00 STA $00 CODE_058CE2: 0A ASL CODE_058CE3: 18 CLC CODE_058CE4: 65 00 ADC $00 CODE_058CE6: A8 TAY CODE_058CE7: B7 0A LDA [$0A],Y CODE_058CE9: 85 6B STA $6B CODE_058CEB: B7 0D LDA [$0D],Y CODE_058CED: 85 6E STA $6E CODE_058CEF: E2 20 SEP #$20 ; Accum (8 bit) CODE_058CF1: C8 INY CODE_058CF2: C8 INY CODE_058CF3: B7 0A LDA [$0A],Y CODE_058CF5: 85 6D STA $6D CODE_058CF7: B7 0D LDA [$0D],Y CODE_058CF9: 85 70 STA $70 CODE_058CFB: E2 10 SEP #$10 ; Index (8 bit) CODE_058CFD: A0 0D LDY.B #$0D CODE_058CFF: AD 31 19 LDA.W $1931 CODE_058D02: C9 10 CMP.B #$10 CODE_058D04: 30 02 BMI CODE_058D08 ADDR_058D06: A0 05 LDY.B #$05 CODE_058D08: 84 0C STY $0C CODE_058D0A: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_058D0C: B5 49 LDA $49,X CODE_058D0E: 29 0F 00 AND.W #$000F CODE_058D11: 0A ASL CODE_058D12: 0A ASL CODE_058D13: 0A ASL CODE_058D14: 0A ASL CODE_058D15: 85 08 STA $08 CODE_058D17: A2 00 00 LDX.W #$0000 CODE_058D1A: A4 08 LDY $08 CODE_058D1C: B7 6B LDA [$6B],Y CODE_058D1E: 29 FF 00 AND.W #$00FF CODE_058D21: 85 00 STA $00 CODE_058D23: B7 6E LDA [$6E],Y CODE_058D25: 85 01 STA $01 CODE_058D27: A5 00 LDA $00 CODE_058D29: 0A ASL CODE_058D2A: A8 TAY CODE_058D2B: B9 BE 0F LDA.W $0FBE,Y CODE_058D2E: 85 0A STA $0A CODE_058D30: A0 00 00 LDY.W #$0000 CODE_058D33: B7 0A LDA [$0A],Y CODE_058D35: 05 03 ORA $03 CODE_058D37: 9D E8 1C STA.W $1CE8,X CODE_058D3A: C8 INY CODE_058D3B: C8 INY CODE_058D3C: B7 0A LDA [$0A],Y CODE_058D3E: 05 03 ORA $03 CODE_058D40: 9D 68 1D STA.W $1D68,X CODE_058D43: E8 INX CODE_058D44: E8 INX CODE_058D45: C8 INY CODE_058D46: C8 INY CODE_058D47: B7 0A LDA [$0A],Y CODE_058D49: 05 03 ORA $03 CODE_058D4B: 9D E8 1C STA.W $1CE8,X CODE_058D4E: C8 INY CODE_058D4F: C8 INY CODE_058D50: B7 0A LDA [$0A],Y CODE_058D52: 05 03 ORA $03 CODE_058D54: 9D 68 1D STA.W $1D68,X CODE_058D57: E8 INX CODE_058D58: E8 INX CODE_058D59: A5 08 LDA $08 CODE_058D5B: A8 TAY CODE_058D5C: 18 CLC CODE_058D5D: 69 01 00 ADC.W #$0001 CODE_058D60: 85 08 STA $08 CODE_058D62: 29 0F 00 AND.W #$000F CODE_058D65: D0 0A BNE CODE_058D71 CODE_058D67: 98 TYA CODE_058D68: 29 F0 FF AND.W #$FFF0 CODE_058D6B: 18 CLC CODE_058D6C: 69 00 01 ADC.W #$0100 CODE_058D6F: 85 08 STA $08 CODE_058D71: A5 08 LDA $08 CODE_058D73: 29 0F 01 AND.W #$010F CODE_058D76: D0 A2 BNE CODE_058D1A CODE_058D78: 28 PLP Return058D79: 6B RTL ; Return CODE_058D7A: 08 PHP CODE_058D7B: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_058D7D: AD 28 19 LDA.W $1928 CODE_058D80: 29 0F AND.B #$0F CODE_058D82: 0A ASL CODE_058D83: 8D E7 1C STA.W $1CE7 CODE_058D86: A0 30 LDY.B #$30 CODE_058D88: AD 28 19 LDA.W $1928 CODE_058D8B: 29 10 AND.B #$10 CODE_058D8D: F0 02 BEQ CODE_058D91 CODE_058D8F: A0 34 LDY.B #$34 CODE_058D91: 98 TYA CODE_058D92: 8D E6 1C STA.W $1CE6 CODE_058D95: C2 20 REP #$20 ; Accum (16 bit) CODE_058D97: A9 00 B9 LDA.W #$B900 CODE_058D9A: 85 6B STA $6B CODE_058D9C: A9 00 BD LDA.W #$BD00 CODE_058D9F: 85 6E STA $6E CODE_058DA1: A9 00 91 LDA.W #$9100 CODE_058DA4: 85 0A STA $0A CODE_058DA6: AD 28 19 LDA.W $1928 CODE_058DA9: 29 F0 00 AND.W #$00F0 CODE_058DAC: F0 10 BEQ CODE_058DBE CODE_058DAE: A5 6B LDA $6B CODE_058DB0: 18 CLC CODE_058DB1: 69 B0 01 ADC.W #$01B0 CODE_058DB4: 85 6B STA $6B CODE_058DB6: A5 6E LDA $6E CODE_058DB8: 18 CLC CODE_058DB9: 69 B0 01 ADC.W #$01B0 CODE_058DBC: 85 6E STA $6E CODE_058DBE: E2 20 SEP #$20 ; Accum (8 bit) CODE_058DC0: A9 7E LDA.B #$7E CODE_058DC2: 85 6D STA $6D CODE_058DC4: A9 7E LDA.B #$7E CODE_058DC6: 85 70 STA $70 CODE_058DC8: A0 0D LDY.B #$0D CODE_058DCA: 84 0C STY $0C CODE_058DCC: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_058DCE: AD 28 19 LDA.W $1928 CODE_058DD1: 29 0F 00 AND.W #$000F CODE_058DD4: 85 08 STA $08 CODE_058DD6: A2 00 00 LDX.W #$0000 CODE_058DD9: A4 08 LDY $08 CODE_058DDB: B7 6B LDA [$6B],Y CODE_058DDD: 29 FF 00 AND.W #$00FF CODE_058DE0: 85 00 STA $00 CODE_058DE2: B7 6E LDA [$6E],Y CODE_058DE4: 85 01 STA $01 CODE_058DE6: A5 00 LDA $00 CODE_058DE8: 0A ASL CODE_058DE9: 0A ASL CODE_058DEA: 0A ASL CODE_058DEB: A8 TAY CODE_058DEC: B7 0A LDA [$0A],Y CODE_058DEE: 9D E8 1C STA.W $1CE8,X CODE_058DF1: C8 INY CODE_058DF2: C8 INY CODE_058DF3: B7 0A LDA [$0A],Y CODE_058DF5: 9D EA 1C STA.W $1CEA,X CODE_058DF8: C8 INY CODE_058DF9: C8 INY CODE_058DFA: B7 0A LDA [$0A],Y CODE_058DFC: 9D 68 1D STA.W $1D68,X CODE_058DFF: C8 INY CODE_058E00: C8 INY CODE_058E01: B7 0A LDA [$0A],Y CODE_058E03: 9D 6A 1D STA.W $1D6A,X CODE_058E06: E8 INX CODE_058E07: E8 INX CODE_058E08: E8 INX CODE_058E09: E8 INX CODE_058E0A: A5 08 LDA $08 CODE_058E0C: 18 CLC CODE_058E0D: 69 10 00 ADC.W #$0010 CODE_058E10: 85 08 STA $08 CODE_058E12: C9 B0 01 CMP.W #$01B0 CODE_058E15: 90 C2 BCC CODE_058DD9 CODE_058E17: 28 PLP Return058E18: 6B RTL ; Return DATA_058E19: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF Layer3Ptr: 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 87 90 05 .dw DATA_059087 .db :$DATA_059087 49 95 05 .dw DATA_059549 .db :$DATA_059549 94 92 05 .dw DATA_059294 .db :$DATA_059294 E0 9A 05 .dw DATA_059AE0 .db :$DATA_059AE0 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 87 90 05 .dw DATA_059087 .db :$DATA_059087 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 21 A2 05 .dw DATA_05A221 .db :$DATA_05A221 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 87 90 05 .dw DATA_059087 .db :$DATA_059087 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 DE 95 05 .dw DATA_0595DE .db :$DATA_0595DE 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 87 90 05 .dw DATA_059087 .db :$DATA_059087 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 87 90 05 .dw DATA_059087 .db :$DATA_059087 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 87 90 05 .dw DATA_059087 .db :$DATA_059087 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 17 9A 05 .dw DATA_059A17 .db :$DATA_059A17 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 87 90 05 .dw DATA_059087 .db :$DATA_059087 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 87 90 05 .dw DATA_059087 .db :$DATA_059087 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 87 90 05 .dw DATA_059087 .db :$DATA_059087 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 DE 95 05 .dw DATA_0595DE .db :$DATA_0595DE 49 95 05 .dw DATA_059549 .db :$DATA_059549 49 95 05 .dw DATA_059549 .db :$DATA_059549 21 A2 05 .dw DATA_05A221 .db :$DATA_05A221 DATA_059087: .db $58,$06,$00,$03,$87,$39,$88,$39 .db $58,$12,$00,$03,$87,$39,$88,$39 .db $58,$26,$00,$03,$97,$39,$98,$39 .db $58,$2C,$00,$03,$87,$39,$88,$39 .db $58,$32,$00,$03,$97,$39,$98,$39 .db $58,$38,$00,$03,$87,$39,$88,$39 .db $58,$46,$00,$03,$85,$39,$86,$39 .db $58,$4C,$00,$03,$97,$39,$98,$39 .db $58,$52,$00,$03,$85,$39,$86,$39 .db $58,$58,$00,$03,$97,$39,$98,$39 .db $58,$66,$00,$03,$95,$39,$96,$39 .db $58,$6C,$00,$03,$95,$39,$96,$39 .db $58,$72,$00,$03,$95,$39,$96,$39 .db $58,$78,$00,$03,$95,$39,$96,$39 .db $58,$84,$00,$2F,$80,$3D,$81,$3D .db $82,$3D,$82,$7D,$82,$3D,$82,$7D .db $82,$3D,$82,$7D,$82,$3D,$82,$7D .db $82,$3D,$82,$7D,$82,$3D,$82,$7D .db $82,$3D,$82,$7D,$82,$3D,$82,$7D .db $82,$3D,$82,$7D,$82,$3D,$82,$7D .db $81,$7D,$80,$7D,$58,$A4,$00,$2F .db $90,$3D,$91,$3D,$92,$3D,$92,$7D .db $92,$3D,$92,$7D,$92,$3D,$92,$7D .db $92,$3D,$92,$7D,$92,$3D,$92,$7D .db $92,$3D,$92,$7D,$92,$3D,$92,$7D .db $92,$3D,$92,$7D,$92,$3D,$92,$7D .db $92,$3D,$92,$7D,$91,$7D,$90,$7D .db $58,$C4,$80,$13,$83,$3D,$83,$BD .db $83,$3D,$83,$BD,$83,$3D,$83,$BD .db $83,$3D,$83,$BD,$83,$3D,$83,$BD .db $58,$C5,$80,$13,$84,$3D,$84,$BD .db $84,$3D,$84,$BD,$84,$3D,$84,$BD .db $84,$3D,$84,$BD,$84,$3D,$84,$BD .db $58,$C7,$C0,$12,$93,$39,$58,$C8 .db $C0,$12,$94,$39,$58,$C9,$C0,$12 .db $93,$39,$58,$CA,$C0,$12,$94,$39 .db $58,$CB,$C0,$12,$93,$39,$58,$CC .db $C0,$12,$94,$39,$58,$CD,$C0,$12 .db $93,$39,$58,$CE,$C0,$12,$94,$39 .db $58,$CF,$C0,$12,$93,$39,$58,$D0 .db $C0,$12,$94,$39,$58,$D1,$C0,$12 .db $93,$39,$58,$D2,$C0,$12,$94,$39 .db $58,$D3,$C0,$12,$93,$39,$58,$D4 .db $C0,$12,$94,$39,$58,$D5,$C0,$12 .db $93,$39,$58,$D6,$C0,$12,$94,$39 .db $58,$D7,$C0,$12,$93,$39,$58,$D8 .db $C0,$12,$94,$39,$58,$DA,$80,$13 .db $83,$3D,$83,$BD,$83,$3D,$83,$BD .db $83,$3D,$83,$BD,$83,$3D,$83,$BD .db $83,$3D,$83,$BD,$58,$DB,$80,$13 .db $84,$3D,$84,$BD,$84,$3D,$84,$BD .db $84,$3D,$84,$BD,$84,$3D,$84,$BD .db $84,$3D,$84,$BD,$5A,$04,$00,$2F .db $90,$BD,$91,$BD,$82,$3D,$82,$7D .db $82,$3D,$82,$7D,$82,$3D,$82,$7D .db $82,$3D,$82,$7D,$82,$3D,$82,$7D .db $82,$3D,$82,$7D,$82,$3D,$82,$7D .db $82,$3D,$82,$7D,$82,$3D,$82,$7D .db $82,$3D,$82,$7D,$91,$FD,$90,$FD .db $5A,$24,$00,$2F,$80,$BD,$81,$BD .db $92,$3D,$92,$7D,$92,$3D,$92,$7D .db $92,$3D,$92,$7D,$92,$3D,$92,$7D .db $92,$3D,$92,$7D,$92,$3D,$92,$7D .db $92,$3D,$92,$7D,$92,$3D,$92,$7D .db $92,$3D,$92,$7D,$92,$3D,$92,$7D .db $81,$FD,$80,$FD,$FF DATA_059294: .db $50,$A8,$00,$1F,$99,$3D,$9A,$3D .db $A1,$AD,$B2,$2D,$B3,$2D,$B4,$2D .db $A5,$AD,$B6,$2D,$B7,$2D,$B8,$2D .db $B4,$2D,$BA,$2D,$BB,$2D,$BC,$2D .db $FE,$2C,$FE,$2C,$50,$C8,$00,$1F .db $8B,$3D,$8C,$3D,$C1,$2D,$C2,$2D .db $C3,$2D,$B4,$AD,$A3,$2D,$A4,$2D .db $C7,$2D,$C8,$2D,$B4,$AD,$BA,$AD .db $D5,$2D,$CC,$2D,$FE,$2C,$FE,$2C .db $50,$E8,$00,$1F,$9B,$3D,$9C,$3D .db $D1,$2D,$D2,$2D,$D3,$2D,$B7,$AD .db $D5,$2D,$B4,$2D,$D7,$2D,$C7,$2D .db $D9,$2D,$D9,$6D,$DB,$2D,$DC,$2D .db $FE,$2C,$FE,$2C,$51,$08,$00,$1F .db $89,$3D,$8A,$3D,$A1,$2D,$A2,$2D .db $A3,$2D,$A4,$2D,$A5,$2D,$B4,$AD .db $D5,$2D,$C7,$AD,$FD,$2C,$AA,$2D .db $AB,$2D,$AC,$2D,$FE,$2C,$FE,$2C .db $51,$28,$00,$1F,$99,$3D,$9A,$3D .db $A1,$AD,$B2,$2D,$B3,$2D,$B4,$2D .db $A5,$AD,$B6,$2D,$B7,$2D,$B8,$2D .db $B4,$2D,$BA,$2D,$BB,$2D,$BC,$2D .db $FE,$2C,$FE,$2C,$51,$48,$00,$1F .db $8B,$3D,$8C,$3D,$C1,$2D,$C2,$2D .db $C3,$2D,$B4,$AD,$A3,$2D,$A4,$2D .db $C7,$2D,$C8,$2D,$B4,$AD,$BA,$AD .db $D5,$2D,$CC,$2D,$FE,$2C,$FE,$2C .db $51,$68,$00,$1F,$9B,$3D,$9C,$3D .db $D1,$2D,$D2,$2D,$D3,$2D,$B7,$AD .db $D5,$2D,$B4,$2D,$D7,$2D,$C7,$2D .db $D9,$2D,$D9,$6D,$DB,$2D,$DC,$2D .db $FE,$2C,$FE,$2C,$51,$88,$00,$1F .db $89,$3D,$8A,$3D,$A1,$2D,$A2,$2D .db $A3,$2D,$A4,$2D,$A5,$2D,$B4,$AD .db $D5,$2D,$C7,$AD,$FD,$2C,$AA,$2D .db $AB,$2D,$AC,$2D,$FE,$2C,$FE,$2C .db $51,$A8,$00,$1F,$99,$3D,$9A,$3D .db $A1,$AD,$B2,$2D,$B3,$2D,$B4,$2D .db $A5,$AD,$B6,$2D,$B7,$2D,$B8,$2D .db $B4,$2D,$BA,$2D,$BB,$2D,$BC,$2D .db $FE,$2C,$FE,$2C,$51,$C8,$00,$1F .db $8B,$3D,$8C,$3D,$C1,$2D,$C2,$2D .db $C3,$2D,$B4,$AD,$A3,$2D,$A4,$2D .db $C7,$2D,$C8,$2D,$B4,$AD,$BA,$AD .db $D5,$2D,$CC,$2D,$FE,$2C,$FE,$2C .db $51,$E8,$00,$1F,$9B,$3D,$9C,$3D .db $D1,$2D,$D2,$2D,$D3,$2D,$B7,$AD .db $D5,$2D,$B4,$2D,$D7,$2D,$C7,$2D .db $D9,$2D,$D9,$6D,$DB,$2D,$DC,$2D .db $FE,$2C,$FE,$2C,$52,$08,$00,$1F .db $89,$3D,$8A,$3D,$A1,$2D,$A2,$2D .db $A3,$2D,$A4,$2D,$A5,$2D,$B4,$AD .db $D5,$2D,$C7,$AD,$FD,$2C,$AA,$2D .db $AB,$2D,$AC,$2D,$FE,$2C,$FE,$2C .db $52,$28,$00,$1F,$99,$3D,$9A,$3D .db $A1,$AD,$B2,$2D,$B3,$2D,$B4,$2D .db $A5,$AD,$B6,$2D,$B7,$2D,$B8,$2D .db $B4,$2D,$BA,$2D,$BB,$2D,$BC,$2D .db $FE,$2C,$FE,$2C,$52,$48,$00,$1F .db $8B,$3D,$8C,$3D,$C1,$2D,$C2,$2D .db $C3,$2D,$B4,$AD,$A3,$2D,$A4,$2D .db $C7,$2D,$C8,$2D,$B4,$AD,$BA,$AD .db $D5,$2D,$CC,$2D,$FE,$2C,$FE,$2C .db $52,$68,$00,$1F,$9B,$3D,$9C,$3D .db $D1,$2D,$D2,$2D,$D3,$2D,$B7,$AD .db $D5,$2D,$B4,$2D,$D7,$2D,$C7,$2D .db $D9,$2D,$D9,$6D,$DB,$2D,$DC,$2D .db $FE,$2C,$FE,$2C,$52,$88,$00,$1F .db $89,$3D,$8A,$3D,$A1,$2D,$A2,$2D .db $A3,$2D,$A4,$2D,$A5,$2D,$B4,$AD .db $D5,$2D,$C7,$AD,$FD,$2C,$AA,$2D .db $AB,$2D,$AC,$2D,$FE,$2C,$FE,$2C .db $52,$A8,$00,$1F,$99,$3D,$9A,$3D .db $A1,$AD,$B2,$2D,$B3,$2D,$B4,$2D .db $A5,$AD,$B6,$2D,$B7,$2D,$B8,$2D .db $B4,$2D,$BA,$2D,$BB,$2D,$BC,$2D .db $FE,$2C,$FE,$2C,$52,$C7,$00,$23 .db $CD,$2D,$CE,$2D,$CF,$2D,$E1,$2D .db $E2,$2D,$E3,$2D,$E4,$2D,$E5,$2D .db $E6,$2D,$E7,$2D,$E8,$2D,$E9,$2D .db $EA,$2D,$EB,$2D,$EC,$2D,$ED,$2D .db $EE,$2D,$CD,$6D,$52,$E7,$00,$23 .db $DD,$2D,$DE,$2D,$DF,$2D,$F1,$2D .db $F2,$2D,$DE,$2D,$DF,$2D,$F1,$2D .db $F2,$2D,$DE,$2D,$DF,$2D,$F1,$2D .db $F2,$2D,$DE,$2D,$DF,$2D,$F1,$2D .db $F2,$2D,$DD,$6D,$FF DATA_059549: .db $58,$00,$00,$3F,$7D,$39,$7E,$39 .db $7D,$39,$7E,$39,$7D,$39,$7E,$39 .db $7D,$39,$7E,$39,$7D,$39,$7E,$39 .db $7D,$39,$7E,$39,$7D,$39,$7E,$39 .db $7D,$39,$7E,$39,$7D,$39,$7E,$39 .db $7D,$39,$7E,$39,$7D,$39,$7E,$39 .db $7D,$39,$7E,$39,$7D,$39,$7E,$39 .db $7D,$39,$7E,$39,$7D,$39,$7E,$39 .db $7D,$39,$7E,$39,$58,$20,$47,$7E .db $8E,$39,$5C,$00,$00,$3F,$7D,$39 .db $7E,$39,$7D,$39,$7E,$39,$7D,$39 .db $7E,$39,$7D,$39,$7E,$39,$7D,$39 .db $7E,$39,$7D,$39,$7E,$39,$7D,$39 .db $7E,$39,$7D,$39,$7E,$39,$7D,$39 .db $7E,$39,$7D,$39,$7E,$39,$7D,$39 .db $7E,$39,$7D,$39,$7E,$39,$7D,$39 .db $7E,$39,$7D,$39,$7E,$39,$7D,$39 .db $7E,$39,$7D,$39,$7E,$39,$5C,$20 .db $47,$7E,$8E,$39,$FF DATA_0595DE: .db $53,$A0,$00,$03,$FF,$60,$9E,$61 .db $53,$B8,$00,$01,$9E,$21,$53,$B9 .db $40,$0C,$FF,$20,$53,$C0,$00,$03 .db $FF,$60,$9E,$E1,$53,$D8,$00,$01 .db $9E,$A1,$53,$D9,$40,$0C,$FF,$20 .db $53,$E0,$40,$08,$FF,$60,$53,$E5 .db $00,$01,$9E,$61,$53,$EA,$00,$0B .db $9E,$21,$FF,$20,$FF,$20,$FF,$20 .db $FF,$60,$9E,$61,$53,$FB,$00,$01 .db $9E,$21,$53,$FC,$40,$06,$FF,$20 .db $58,$00,$40,$08,$FF,$60,$58,$05 .db $00,$01,$9E,$E1,$58,$0A,$00,$0B .db $9E,$A1,$FF,$20,$FF,$20,$FF,$20 .db $FF,$60,$9E,$E1,$58,$1B,$00,$01 .db $9E,$A1,$58,$1C,$40,$06,$FF,$20 .db $58,$60,$80,$0F,$FF,$20,$FF,$20 .db $8F,$61,$8F,$E1,$FF,$20,$FF,$20 .db $FF,$60,$FF,$60,$58,$61,$80,$0F .db $FF,$20,$FF,$20,$FC,$60,$FC,$60 .db $FF,$20,$FF,$20,$9E,$61,$9E,$E1 .db $58,$62,$00,$03,$FF,$60,$9E,$61 .db $58,$82,$00,$03,$FF,$60,$9E,$E1 .db $58,$E2,$40,$06,$FF,$20,$58,$E6 .db $00,$03,$FF,$60,$9E,$61,$59,$02 .db $40,$06,$FF,$20,$59,$06,$00,$03 .db $FF,$60,$9E,$E1,$58,$6C,$00,$01 .db $9E,$21,$58,$6D,$40,$24,$FF,$20 .db $58,$8C,$00,$01,$9E,$A1,$58,$8D .db $40,$24,$FF,$20,$58,$B2,$00,$01 .db $9E,$21,$58,$B3,$40,$18,$FF,$20 .db $58,$D2,$00,$01,$9E,$A1,$58,$D3 .db $40,$18,$FF,$20,$58,$FC,$00,$07 .db $FC,$20,$8F,$21,$FF,$20,$FF,$20 .db $59,$1C,$00,$07,$FC,$20,$8F,$A1 .db $FF,$20,$FF,$20,$59,$2E,$00,$0B .db $9E,$21,$FF,$20,$FF,$20,$FF,$20 .db $FF,$60,$9E,$61,$59,$4E,$00,$0B .db $9E,$A1,$FF,$20,$FF,$20,$FF,$20 .db $FF,$60,$9E,$E1,$59,$38,$00,$01 .db $9E,$21,$59,$39,$40,$0C,$FF,$20 .db $59,$58,$00,$01,$9E,$A1,$59,$59 .db $40,$0C,$FF,$20,$59,$A4,$00,$01 .db $9E,$21,$59,$A5,$40,$0E,$FF,$20 .db $59,$AD,$00,$05,$FF,$60,$FF,$60 .db $9E,$61,$59,$C4,$00,$01,$9E,$A1 .db $59,$C5,$40,$0E,$FF,$20,$59,$CD .db $00,$05,$FF,$60,$FF,$60,$9E,$E1 .db $59,$E0,$00,$03,$FF,$60,$9E,$61 .db $5A,$00,$00,$03,$FF,$60,$9E,$E1 .db $59,$E8,$00,$01,$9E,$21,$59,$E9 .db $40,$12,$FF,$20,$59,$F3,$00,$05 .db $FF,$60,$FF,$60,$9E,$61,$5A,$08 .db $00,$01,$9E,$A1,$5A,$09,$40,$12 .db $FF,$20,$5A,$13,$00,$05,$FF,$60 .db $FF,$60,$9E,$E1,$59,$FC,$00,$07 .db $9E,$21,$FF,$20,$FF,$20,$FF,$20 .db $5A,$1C,$00,$07,$9E,$A1,$FF,$20 .db $FF,$20,$FF,$20,$5A,$2E,$00,$03 .db $FC,$20,$8F,$21,$5A,$30,$40,$0C .db $FF,$20,$5A,$37,$00,$05,$FF,$60 .db $FF,$60,$9E,$61,$5A,$4E,$00,$03 .db $FC,$20,$8F,$A1,$5A,$50,$40,$0C .db $FF,$20,$5A,$57,$00,$05,$FF,$60 .db $FF,$60,$9E,$E1,$5A,$6C,$00,$0B .db $9E,$21,$FF,$20,$FF,$20,$FF,$20 .db $FF,$60,$9E,$61,$5A,$8C,$00,$0B .db $9E,$A1,$FF,$20,$FF,$20,$FF,$20 .db $FF,$60,$9E,$E1,$57,$A0,$00,$03 .db $FF,$60,$9E,$61,$57,$B8,$00,$01 .db $9E,$21,$57,$B9,$40,$0C,$FF,$20 .db $57,$C0,$00,$03,$FF,$60,$9E,$E1 .db $57,$D8,$00,$01,$9E,$A1,$57,$D9 .db $40,$0C,$FF,$20,$57,$E0,$40,$08 .db $FF,$60,$57,$E5,$00,$01,$9E,$61 .db $57,$EA,$00,$0B,$9E,$21,$FF,$20 .db $FF,$20,$FF,$20,$FF,$20,$9E,$61 .db $57,$FB,$00,$01,$9E,$21,$57,$FC .db $40,$06,$FF,$20,$5C,$00,$40,$08 .db $FF,$60,$5C,$05,$00,$01,$9E,$E1 .db $5C,$0A,$00,$0B,$9E,$A1,$FF,$20 .db $FF,$20,$FF,$20,$FF,$60,$9E,$E1 .db $5C,$1B,$00,$01,$9E,$A1,$5C,$1C .db $40,$06,$FF,$20,$5C,$60,$80,$0F .db $FF,$20,$FF,$20,$8F,$61,$8F,$E1 .db $FF,$20,$FF,$20,$FF,$60,$FF,$60 .db $5C,$61,$80,$0F,$FF,$20,$FF,$20 .db $FC,$60,$FC,$60,$FF,$20,$FF,$20 .db $9E,$61,$9E,$E1,$5C,$62,$00,$03 .db $FF,$60,$9E,$61,$5C,$82,$00,$03 .db $FF,$60,$9E,$E1,$5C,$E2,$40,$06 .db $FF,$20,$5C,$E6,$00,$03,$FF,$60 .db $9E,$61,$5D,$02,$40,$06,$FF,$20 .db $5D,$06,$00,$03,$FF,$60,$9E,$E1 .db $5C,$6C,$00,$01,$9E,$21,$5C,$6D .db $40,$24,$FF,$20,$5C,$8C,$00,$01 .db $9E,$A1,$5C,$8D,$40,$24,$FF,$20 .db $5C,$B2,$00,$01,$9E,$21,$5C,$B3 .db $40,$18,$FF,$20,$5C,$D2,$00,$01 .db $9E,$A1,$5C,$D3,$40,$18,$FF,$20 .db $5C,$FC,$00,$07,$FC,$20,$8F,$21 .db $FF,$20,$FF,$20,$5D,$1C,$00,$07 .db $FC,$20,$8F,$A1,$FF,$20,$FF,$20 .db $5D,$2E,$00,$0B,$9E,$21,$FF,$20 .db $FF,$20,$FF,$20,$FF,$60,$9E,$61 .db $5D,$4E,$00,$0B,$9E,$A1,$FF,$20 .db $FF,$20,$FF,$20,$FF,$60,$9E,$E1 .db $5D,$38,$00,$01,$9E,$21,$5D,$39 .db $40,$0C,$FF,$20,$5D,$58,$00,$01 .db $9E,$A1,$5D,$59,$40,$0C,$FF,$20 .db $5D,$A4,$00,$01,$9E,$21,$5D,$A5 .db $40,$0E,$FF,$20,$5D,$AD,$00,$05 .db $FF,$60,$FF,$60,$9E,$61,$5D,$C4 .db $00,$01,$9E,$A1,$5D,$C5,$40,$0E .db $FF,$20,$5D,$CD,$00,$05,$FF,$60 .db $FF,$60,$9E,$E1,$5D,$E0,$00,$03 .db $FF,$60,$9E,$61,$5E,$00,$00,$03 .db $FF,$60,$9E,$E1,$5D,$E8,$00,$01 .db $9E,$21,$5D,$E9,$40,$12,$FF,$20 .db $5D,$F3,$00,$05,$FF,$60,$FF,$60 .db $9E,$61,$5E,$08,$00,$01,$9E,$A1 .db $5E,$09,$40,$12,$FF,$20,$5E,$13 .db $00,$05,$FF,$60,$FF,$60,$9E,$E1 .db $5D,$FC,$00,$07,$9E,$21,$FF,$20 .db $FF,$20,$FF,$20,$5E,$1C,$00,$07 .db $9E,$A1,$FF,$20,$FF,$20,$FF,$20 .db $5E,$2E,$00,$03,$FC,$20,$8F,$21 .db $5E,$30,$40,$0C,$FF,$20,$5E,$37 .db $00,$05,$FF,$60,$FF,$60,$9E,$61 .db $5E,$4E,$00,$03,$FC,$20,$8F,$A1 .db $5E,$50,$40,$0C,$FF,$20,$5E,$57 .db $00,$05,$FF,$60,$FF,$60,$9E,$E1 .db $5E,$6C,$00,$0B,$9E,$21,$FF,$20 .db $FF,$20,$FF,$20,$FF,$60,$9E,$61 .db $5E,$8C,$00,$0B,$9E,$A1,$FF,$20 .db $FF,$20,$FF,$20,$FF,$60,$9E,$E1 .db $FF DATA_059A17: .db $51,$67,$00,$01,$9F,$39,$51,$93 .db $00,$01,$9F,$29,$51,$D1,$00,$01 .db $9F,$39,$52,$5A,$00,$01,$9F,$39 .db $52,$77,$00,$01,$9F,$29,$52,$79 .db $80,$03,$9F,$29,$9F,$39,$52,$8C .db $00,$01,$9F,$29,$53,$3D,$00,$01 .db $9F,$39,$55,$67,$00,$01,$9F,$39 .db $55,$93,$00,$01,$9F,$29,$55,$D1 .db $00,$01,$9F,$39,$56,$5A,$00,$01 .db $9F,$39,$56,$77,$00,$01,$9F,$29 .db $56,$79,$80,$03,$9F,$29,$9F,$39 .db $56,$8C,$00,$01,$9F,$29,$57,$3D .db $00,$01,$9F,$39,$58,$07,$00,$01 .db $9F,$39,$58,$33,$00,$01,$9F,$29 .db $58,$71,$00,$01,$9F,$39,$58,$FA .db $00,$01,$9F,$39,$59,$17,$00,$01 .db $9F,$29,$59,$19,$80,$03,$9F,$29 .db $9F,$39,$59,$2C,$00,$01,$9F,$29 .db $59,$DD,$00,$01,$9F,$39,$5C,$07 .db $00,$01,$9F,$39,$5C,$33,$00,$01 .db $9F,$29,$5C,$71,$00,$01,$9F,$39 .db $5C,$FA,$00,$01,$9F,$39,$5D,$17 .db $00,$01,$9F,$29,$5D,$19,$80,$03 .db $9F,$29,$9F,$39,$5D,$2C,$00,$01 .db $9F,$29,$5D,$DD,$00,$01,$9F,$39 .db $FF DATA_059AE0: .db $58,$03,$00,$03,$80,$01,$81,$01 .db $58,$07,$00,$03,$80,$01,$81,$01 .db $58,$0F,$00,$07,$80,$01,$81,$01 .db $80,$01,$81,$01,$58,$15,$00,$0B .db $80,$01,$81,$01,$80,$01,$81,$01 .db $80,$01,$81,$01,$58,$20,$00,$0F .db $80,$01,$81,$01,$86,$15,$87,$15 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $58,$22,$80,$05,$86,$15,$96,$15 .db $90,$15,$58,$23,$80,$05,$87,$15 .db $97,$15,$91,$15,$58,$2C,$80,$05 .db $86,$15,$96,$15,$90,$15,$58,$2D .db $80,$05,$87,$15,$97,$15,$91,$15 .db $58,$2F,$80,$05,$86,$15,$96,$15 .db $90,$15,$58,$30,$80,$05,$87,$15 .db $97,$15,$91,$15,$58,$32,$80,$05 .db $86,$15,$96,$15,$90,$15,$58,$33 .db $80,$05,$87,$15,$97,$15,$91,$15 .db $58,$36,$00,$03,$80,$01,$81,$01 .db $58,$3A,$00,$03,$80,$01,$81,$01 .db $58,$3C,$80,$05,$86,$15,$96,$15 .db $90,$15,$58,$3D,$80,$05,$87,$15 .db $97,$15,$91,$15,$58,$45,$00,$03 .db $82,$15,$83,$15,$58,$8D,$00,$03 .db $80,$01,$81,$01,$58,$9E,$00,$03 .db $80,$01,$81,$01,$58,$BD,$00,$03 .db $80,$01,$81,$01,$58,$C7,$00,$03 .db $80,$01,$81,$01,$58,$D9,$00,$01 .db $81,$01,$58,$DC,$00,$07,$80,$01 .db $81,$01,$82,$15,$83,$15,$58,$E4 .db $00,$03,$80,$01,$81,$01,$58,$E8 .db $00,$07,$80,$01,$81,$01,$80,$01 .db $81,$01,$58,$F9,$00,$0D,$80,$01 .db $81,$01,$80,$01,$81,$01,$82,$15 .db $83,$15,$82,$15,$59,$02,$80,$05 .db $86,$15,$96,$15,$90,$15,$59,$03 .db $80,$05,$87,$15,$97,$15,$91,$15 .db $59,$05,$00,$0B,$80,$01,$81,$01 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $59,$0C,$80,$05,$86,$15,$96,$15 .db $90,$15,$59,$0D,$80,$05,$87,$15 .db $97,$15,$91,$15,$59,$0F,$80,$05 .db $86,$15,$96,$15,$90,$15,$59,$10 .db $80,$05,$87,$15,$97,$15,$91,$15 .db $59,$12,$80,$05,$86,$15,$96,$15 .db $90,$15,$59,$13,$80,$05,$87,$15 .db $97,$15,$91,$15,$59,$1A,$00,$0B .db $80,$01,$81,$01,$86,$15,$87,$15 .db $82,$15,$83,$15,$59,$1C,$80,$05 .db $86,$15,$96,$15,$90,$15,$59,$1D .db $80,$05,$87,$15,$97,$15,$91,$15 .db $59,$24,$00,$0F,$80,$01,$81,$01 .db $82,$15,$83,$15,$82,$15,$83,$15 .db $80,$01,$81,$01,$59,$39,$00,$03 .db $80,$01,$81,$01,$59,$47,$00,$07 .db $80,$01,$81,$01,$82,$15,$83,$15 .db $59,$5A,$00,$0B,$80,$01,$81,$01 .db $90,$15,$91,$15,$80,$01,$81,$01 .db $59,$64,$00,$17,$80,$01,$81,$01 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $80,$01,$81,$01,$80,$01,$81,$01 .db $80,$01,$81,$01,$59,$87,$00,$03 .db $80,$01,$81,$01,$59,$8B,$00,$07 .db $80,$01,$81,$01,$80,$01,$81,$01 .db $59,$98,$00,$03,$80,$01,$81,$01 .db $59,$A8,$00,$07,$80,$01,$81,$01 .db $82,$15,$83,$15,$59,$B9,$00,$03 .db $80,$01,$81,$01,$59,$C5,$00,$03 .db $80,$01,$81,$01,$59,$C9,$00,$07 .db $80,$01,$81,$01,$80,$01,$81,$01 .db $59,$D6,$00,$0F,$80,$01,$81,$01 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $80,$01,$81,$01,$59,$E2,$80,$05 .db $86,$15,$96,$15,$90,$15,$59,$E3 .db $80,$05,$87,$15,$97,$15,$91,$15 .db $59,$EA,$00,$0B,$80,$01,$81,$01 .db $86,$15,$87,$15,$82,$15,$83,$15 .db $59,$EC,$80,$05,$86,$15,$96,$15 .db $90,$15,$59,$ED,$80,$05,$87,$15 .db $97,$15,$91,$15,$59,$EF,$80,$05 .db $86,$15,$96,$15,$90,$15,$59,$F0 .db $80,$05,$87,$15,$97,$15,$91,$15 .db $59,$F2,$80,$05,$86,$15,$96,$15 .db $90,$15,$59,$F3,$80,$05,$87,$15 .db $97,$15,$91,$15,$59,$F7,$00,$07 .db $82,$15,$83,$15,$82,$15,$83,$15 .db $59,$FC,$80,$05,$86,$15,$96,$15 .db $90,$15,$59,$FD,$80,$05,$87,$15 .db $97,$15,$91,$15,$5A,$14,$00,$0F .db $80,$01,$81,$01,$82,$15,$83,$15 .db $80,$01,$81,$01,$82,$15,$83,$15 .db $5A,$20,$00,$01,$81,$01,$5A,$27 .db $00,$03,$80,$01,$81,$01,$5A,$35 .db $00,$0B,$80,$01,$81,$01,$80,$01 .db $81,$01,$82,$15,$83,$15,$5A,$40 .db $00,$07,$80,$01,$81,$01,$80,$01 .db $81,$01,$5A,$56,$00,$03,$80,$01 .db $81,$01,$5A,$5A,$00,$03,$80,$01 .db $81,$01,$5A,$60,$00,$09,$81,$01 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $5A,$67,$00,$03,$80,$01,$81,$01 .db $5A,$79,$00,$07,$80,$01,$81,$01 .db $80,$01,$81,$01,$5A,$80,$00,$0B .db $82,$15,$83,$15,$80,$01,$81,$01 .db $80,$01,$81,$01,$5A,$98,$00,$03 .db $80,$01,$81,$01,$5A,$9C,$00,$03 .db $80,$01,$81,$01,$5A,$A0,$00,$05 .db $83,$15,$80,$01,$81,$01,$5A,$A5 .db $00,$07,$80,$01,$81,$01,$80,$01 .db $81,$01,$5A,$C0,$00,$07,$82,$15 .db $83,$15,$82,$15,$83,$15,$5A,$C6 .db $00,$03,$80,$01,$81,$01,$5A,$CA .db $00,$03,$80,$01,$81,$01,$5A,$E0 .db $00,$0D,$83,$15,$82,$15,$83,$15 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $5A,$E9,$00,$03,$80,$01,$81,$01 .db $5C,$03,$00,$03,$80,$01,$81,$01 .db $5C,$07,$00,$03,$80,$01,$81,$01 .db $5C,$0F,$00,$07,$80,$01,$81,$01 .db $80,$01,$81,$01,$5C,$15,$00,$0B .db $80,$01,$81,$01,$80,$01,$81,$01 .db $80,$01,$81,$01,$5C,$20,$00,$0F .db $80,$01,$81,$01,$86,$15,$87,$15 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $5C,$22,$80,$05,$86,$15,$96,$15 .db $90,$15,$5C,$23,$80,$05,$87,$15 .db $97,$15,$91,$15,$5C,$2C,$80,$05 .db $86,$15,$96,$15,$90,$15,$5C,$2D .db $80,$05,$87,$15,$97,$15,$91,$15 .db $5C,$2F,$80,$05,$86,$15,$96,$15 .db $90,$15,$5C,$30,$80,$05,$87,$15 .db $97,$15,$91,$15,$5C,$32,$80,$05 .db $86,$15,$96,$15,$90,$15,$5C,$33 .db $80,$05,$87,$15,$97,$15,$91,$15 .db $5C,$36,$00,$03,$80,$01,$81,$01 .db $5C,$3A,$00,$03,$80,$01,$81,$01 .db $5C,$3C,$80,$05,$86,$15,$96,$15 .db $90,$15,$5C,$3D,$80,$05,$87,$15 .db $97,$15,$91,$15,$5C,$45,$00,$03 .db $82,$15,$83,$15,$5C,$8D,$00,$03 .db $80,$01,$81,$01,$5C,$9E,$00,$03 .db $80,$01,$81,$01,$5C,$BD,$00,$03 .db $80,$01,$81,$01,$5C,$C7,$00,$03 .db $80,$01,$81,$01,$5C,$D9,$00,$01 .db $81,$01,$5C,$DC,$00,$07,$80,$01 .db $81,$01,$82,$15,$83,$15,$5C,$E4 .db $00,$03,$80,$01,$81,$01,$5C,$E8 .db $00,$07,$80,$01,$81,$01,$80,$01 .db $81,$01,$5C,$F9,$00,$0D,$80,$01 .db $81,$01,$80,$01,$81,$01,$82,$15 .db $83,$15,$82,$15,$5D,$02,$80,$05 .db $86,$15,$96,$15,$90,$15,$5D,$03 .db $80,$05,$87,$15,$97,$15,$91,$15 .db $5D,$05,$00,$0B,$80,$01,$81,$01 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $5D,$0C,$80,$05,$86,$15,$96,$15 .db $90,$15,$5D,$0D,$80,$05,$87,$15 .db $97,$15,$91,$15,$5D,$0F,$80,$05 .db $86,$15,$96,$15,$90,$15,$5D,$10 .db $80,$05,$87,$15,$97,$15,$91,$15 .db $5D,$12,$80,$05,$86,$15,$96,$15 .db $90,$15,$5D,$13,$80,$05,$87,$15 .db $97,$15,$91,$15,$5D,$1A,$00,$0B .db $80,$01,$81,$01,$86,$15,$87,$15 .db $82,$15,$83,$15,$5D,$1C,$80,$05 .db $86,$15,$96,$15,$90,$15,$5D,$1D .db $80,$05,$87,$15,$97,$15,$91,$15 .db $5D,$24,$00,$0F,$80,$01,$81,$01 .db $82,$15,$83,$15,$82,$15,$83,$15 .db $80,$01,$81,$01,$5D,$39,$00,$03 .db $80,$01,$81,$01,$5D,$47,$00,$07 .db $80,$01,$81,$01,$82,$15,$83,$15 .db $5D,$5A,$00,$0B,$80,$01,$81,$01 .db $90,$15,$91,$15,$80,$01,$81,$01 .db $5D,$64,$00,$17,$80,$01,$81,$01 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $80,$01,$81,$01,$80,$01,$81,$01 .db $80,$01,$81,$01,$5D,$87,$00,$03 .db $80,$01,$81,$01,$5D,$8B,$00,$07 .db $80,$01,$81,$01,$80,$01,$81,$01 .db $5D,$98,$00,$03,$80,$01,$81,$01 .db $5D,$A8,$00,$07,$80,$01,$81,$01 .db $82,$15,$83,$15,$5D,$B9,$00,$03 .db $80,$01,$81,$01,$5D,$C5,$00,$03 .db $80,$01,$81,$01,$5D,$C9,$00,$07 .db $80,$01,$81,$01,$80,$01,$81,$01 .db $5D,$D6,$00,$0F,$80,$01,$81,$01 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $80,$01,$81,$01,$5D,$E2,$80,$05 .db $86,$15,$96,$15,$90,$15,$5D,$E3 .db $80,$05,$87,$15,$97,$15,$91,$15 .db $5D,$EA,$00,$0B,$80,$01,$81,$01 .db $86,$15,$87,$15,$82,$15,$83,$15 .db $5D,$EC,$80,$05,$86,$15,$96,$15 .db $90,$15,$5D,$ED,$80,$05,$87,$15 .db $97,$15,$91,$15,$5D,$EF,$80,$05 .db $86,$15,$96,$15,$90,$15,$5D,$F0 .db $80,$05,$87,$15,$97,$15,$91,$15 .db $5D,$F2,$80,$05,$86,$15,$96,$15 .db $90,$15,$5D,$F3,$80,$05,$87,$15 .db $97,$15,$91,$15,$5D,$F7,$00,$07 .db $82,$15,$83,$15,$82,$15,$83,$15 .db $5D,$FC,$80,$05,$86,$15,$96,$15 .db $90,$15,$5D,$FD,$80,$05,$87,$15 .db $97,$15,$91,$15,$5E,$14,$00,$0F .db $80,$01,$81,$01,$82,$15,$83,$15 .db $80,$01,$81,$01,$82,$15,$83,$15 .db $5E,$20,$00,$01,$81,$01,$5E,$27 .db $00,$03,$80,$01,$81,$01,$5E,$35 .db $00,$0B,$80,$01,$81,$01,$80,$01 .db $81,$01,$82,$15,$83,$15,$5E,$40 .db $00,$07,$80,$01,$81,$01,$80,$01 .db $81,$01,$5E,$56,$00,$03,$80,$01 .db $81,$01,$5E,$5A,$00,$03,$80,$01 .db $81,$01,$5E,$60,$00,$09,$81,$01 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $5E,$67,$00,$03,$80,$01,$81,$01 .db $5E,$79,$00,$07,$80,$01,$81,$01 .db $80,$01,$81,$01,$5E,$80,$00,$0B .db $82,$15,$83,$15,$80,$01,$81,$01 .db $80,$01,$81,$01,$5E,$98,$00,$03 .db $80,$01,$81,$01,$5E,$9C,$00,$03 .db $80,$01,$81,$01,$5E,$A0,$00,$05 .db $83,$15,$80,$01,$81,$01,$5E,$A5 .db $00,$07,$80,$01,$81,$01,$80,$01 .db $81,$01,$5E,$C0,$00,$07,$82,$15 .db $83,$15,$82,$15,$83,$15,$5E,$C6 .db $00,$03,$80,$01,$81,$01,$5E,$CA .db $00,$03,$80,$01,$81,$01,$5E,$E0 .db $00,$0D,$83,$15,$82,$15,$83,$15 .db $82,$15,$83,$15,$80,$01,$81,$01 .db $5E,$E9,$00,$03,$80,$01,$81,$01 .db $FF DATA_05A221: .db $53,$DA,$00,$05,$F9,$11,$FA,$11 .db $FB,$11,$53,$FA,$00,$05,$FC,$11 .db $FD,$11,$FE,$11,$58,$3C,$00,$01 .db $DA,$11,$58,$6D,$00,$05,$F9,$11 .db $FA,$11,$FB,$11,$58,$8D,$00,$05 .db $FC,$11,$FD,$11,$FE,$11,$58,$E5 .db $00,$07,$92,$11,$95,$11,$98,$11 .db $AD,$11,$59,$05,$00,$07,$B1,$11 .db $B5,$11,$C4,$51,$B9,$11,$59,$25 .db $00,$07,$BD,$11,$C4,$11,$C4,$51 .db $D8,$11,$59,$45,$00,$0D,$D6,$11 .db $D8,$11,$C9,$11,$CA,$11,$F9,$15 .db $FA,$15,$FB,$15,$59,$65,$00,$0D .db $C9,$11,$CA,$11,$CB,$11,$DA,$11 .db $FC,$15,$FD,$15,$FE,$15,$59,$85 .db $00,$0D,$CB,$11,$DA,$11,$CB,$11 .db $92,$11,$95,$11,$98,$11,$AD,$11 .db $59,$A4,$00,$0F,$F3,$11,$F4,$11 .db $F5,$11,$FC,$38,$B1,$11,$B5,$11 .db $C4,$51,$B9,$11,$59,$C4,$00,$0F .db $F6,$11,$F7,$11,$F8,$11,$DA,$05 .db $BD,$11,$C4,$11,$C4,$51,$D8,$11 .db $59,$CF,$00,$05,$F9,$15,$FA,$15 .db $FB,$15,$59,$E3,$00,$1D,$CB,$15 .db $FC,$11,$FD,$11,$FE,$11,$FC,$38 .db $D6,$11,$D8,$11,$C9,$11,$CA,$11 .db $F3,$15,$F4,$15,$F5,$15,$FC,$15 .db $FD,$15,$FE,$15,$5A,$08,$00,$17 .db $C9,$11,$CA,$11,$CB,$11,$DA,$11 .db $F6,$15,$F7,$15,$F8,$15,$F9,$55 .db $FC,$0D,$F3,$15,$F4,$15,$F5,$15 .db $5A,$28,$00,$19,$CB,$11,$DA,$11 .db $CB,$11,$DA,$11,$FD,$15,$FD,$15 .db $FE,$15,$DA,$55,$F9,$15,$F6,$15 .db $F7,$15,$F8,$15,$FB,$15,$5A,$49 .db $00,$17,$DA,$15,$F9,$05,$FA,$05 .db $FB,$05,$FC,$38,$FC,$38,$DA,$15 .db $FE,$15,$FC,$15,$FD,$15,$FE,$15 .db $DA,$55,$5A,$6A,$00,$09,$FC,$05 .db $FD,$05,$FE,$05,$FC,$38,$DA,$05 .db $58,$F6,$00,$05,$F9,$11,$FA,$11 .db $FB,$11,$59,$13,$00,$0B,$F9,$11 .db $FA,$11,$FB,$11,$FC,$11,$FD,$11 .db $FE,$11,$59,$31,$00,$09,$F9,$15 .db $FA,$15,$FB,$15,$FD,$11,$FE,$11 .db $59,$51,$00,$11,$FC,$15,$FD,$15 .db $FE,$15,$F3,$11,$F4,$11,$F5,$11 .db $FC,$11,$FD,$11,$FE,$11,$59,$72 .db $00,$0B,$FC,$15,$F9,$15,$F6,$11 .db $F7,$11,$F8,$11,$DA,$51,$59,$92 .db $00,$0D,$DA,$15,$FE,$15,$FC,$11 .db $FD,$11,$FE,$11,$FC,$11,$DA,$55 .db $57,$DA,$00,$05,$F9,$11,$FA,$11 .db $FB,$11,$57,$FA,$00,$05,$FC,$11 .db $FD,$11,$FE,$11,$5C,$3C,$00,$01 .db $DA,$11,$5C,$6D,$00,$05,$F9,$11 .db $FA,$11,$FB,$11,$5C,$8D,$00,$05 .db $FC,$11,$FD,$11,$FE,$11,$5C,$E5 .db $00,$07,$92,$11,$95,$11,$98,$11 .db $AD,$11,$5D,$05,$00,$07,$B1,$11 .db $B5,$11,$C4,$51,$B9,$11,$5D,$25 .db $00,$07,$BD,$11,$C4,$11,$C4,$51 .db $D8,$11,$5D,$45,$00,$0D,$D6,$11 .db $D8,$11,$C9,$11,$CA,$11,$F9,$51 .db $FA,$51,$FB,$51,$5D,$65,$00,$0D .db $C9,$11,$CA,$11,$CB,$11,$DA,$11 .db $FC,$51,$FD,$51,$FE,$51,$5D,$85 .db $00,$0D,$CB,$11,$DA,$11,$CB,$11 .db $92,$11,$95,$11,$98,$11,$AD,$11 .db $5D,$A4,$00,$0F,$F3,$11,$F4,$11 .db $F5,$11,$FC,$38,$B1,$11,$B5,$11 .db $C4,$51,$B9,$11,$5D,$C4,$00,$0F .db $F6,$11,$F7,$11,$F8,$11,$DA,$05 .db $BD,$11,$C4,$11,$C4,$51,$D8,$11 .db $5D,$CF,$00,$05,$F9,$15,$FA,$15 .db $FB,$15,$5D,$E3,$00,$1D,$CB,$15 .db $FC,$11,$FD,$11,$FE,$11,$FC,$38 .db $D6,$11,$D8,$11,$C9,$11,$CA,$11 .db $F3,$15,$F4,$15,$F5,$15,$FC,$15 .db $FD,$15,$FE,$15,$5E,$08,$00,$17 .db $C9,$11,$CA,$11,$CB,$11,$DA,$11 .db $F6,$15,$F7,$15,$F8,$15,$F9,$55 .db $FC,$0D,$F3,$15,$F4,$15,$F5,$15 .db $5E,$28,$00,$19,$CB,$11,$DA,$11 .db $CB,$11,$DA,$11,$FD,$15,$FD,$15 .db $FE,$15,$DA,$55,$F9,$15,$F6,$15 .db $F7,$15,$F8,$15,$FB,$15,$5E,$49 .db $00,$17,$DA,$15,$F9,$05,$FA,$05 .db $FB,$05,$FC,$38,$FC,$38,$DA,$15 .db $FE,$15,$FC,$15,$FD,$15,$FE,$15 .db $DA,$55,$5E,$6A,$00,$09,$FC,$05 .db $FD,$05,$FE,$05,$FC,$38,$DA,$05 .db $5C,$F6,$00,$05,$F9,$11,$FA,$11 .db $FB,$11,$5D,$13,$00,$0B,$F9,$11 .db $FA,$11,$FB,$11,$FC,$11,$FD,$11 .db $FE,$11,$5D,$31,$00,$09,$F9,$15 .db $FA,$15,$FB,$15,$FD,$11,$FE,$11 .db $5D,$51,$00,$11,$FC,$15,$FD,$15 .db $FE,$15,$F3,$11,$F4,$11,$F5,$11 .db $FC,$11,$FD,$11,$FE,$11,$5D,$72 .db $00,$0B,$FC,$15,$F9,$15,$F6,$11 .db $F7,$11,$F8,$11,$DA,$51,$5D,$92 .db $00,$0D,$DA,$15,$FE,$15,$FC,$11 .db $FD,$11,$FE,$11,$FC,$11,$DA,$55 .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_05A580: .db $51,$A7,$51,$87,$51,$67,$51,$47 .db $51,$27,$51,$07,$50,$E7,$50,$C7 DATA_05A590: .db $14,$45,$3F,$08,$00,$29,$AA,$27 .db $26,$84,$95,$A9,$15,$13,$CE,$A7 .db $A4,$25,$A5,$05,$A6,$2A,$28 DATA_05A5A7: .db $8D,$00,$8D,$00,$8D,$00,$8D,$00 .db $00,$00,$91,$02,$1D,$04,$18,$05 .db $1D,$06,$B7,$08,$B2,$07,$0B,$03 .db $3C,$08,$9D,$09,$9E,$0A,$A0,$04 .db $2C,$0A,$A6,$06,$30,$07,$11,$09 .db $A4,$05,$8F,$03,$09,$01,$0A,$02 .db $91,$01 DATA_05A5D9: .db $16,$44,$4B,$42,$4E,$4C,$44,$1A .db $1F,$1F,$1F,$13,$47,$48,$52,$1F .db $48,$D2,$03,$48,$4D,$4E,$52,$40 .db $54,$51,$1F,$0B,$40,$4D,$43,$1B .db $1F,$1F,$08,$CD,$53,$47,$48,$52 .db $1F,$52,$53,$51,$40,$4D,$46,$44 .db $1F,$1F,$4B,$40,$4D,$C3,$56,$44 .db $1F,$1F,$1F,$1F,$45,$48,$4D,$43 .db $1F,$1F,$1F,$1F,$53,$47,$40,$D3 .db $0F,$51,$48,$4D,$42,$44,$52,$52 .db $1F,$13,$4E,$40,$43,$52,$53,$4E .db $4E,$CB,$48,$52,$1F,$1F,$4C,$48 .db $52,$52,$48,$4D,$46,$1F,$40,$46 .db $40,$48,$4D,$9A,$0B,$4E,$4E,$4A .db $52,$1F,$1F,$4B,$48,$4A,$44,$1F .db $01,$4E,$56,$52,$44,$D1,$48,$52 .db $1F,$40,$53,$1F,$48,$53,$1F,$40 .db $46,$40,$48,$4D,$9A,$1C,$1F,$12 .db $16,$08,$13,$02,$07,$1F,$0F,$00 .db $0B,$00,$02,$04,$1F,$9C,$13,$47 .db $44,$1F,$1F,$4F,$4E,$56,$44,$51 .db $1F,$1F,$4E,$45,$1F,$53,$47,$C4 .db $52,$56,$48,$53,$42,$47,$1F,$1F .db $58,$4E,$54,$1F,$1F,$1F,$47,$40 .db $55,$C4,$4F,$54,$52,$47,$44,$43 .db $1F,$1F,$56,$48,$4B,$4B,$1F,$1F .db $53,$54,$51,$CD,$9F,$1F,$1F,$1F .db $1F,$1F,$1F,$48,$4D,$53,$4E,$1F .db $1F,$1F,$1F,$1F,$9B,$18,$4E,$54 .db $51,$1F,$4F,$51,$4E,$46,$51,$44 .db $52,$52,$1F,$56,$48,$4B,$CB,$40 .db $4B,$52,$4E,$1F,$1F,$1F,$41,$44 .db $1F,$1F,$1F,$52,$40,$55,$44,$43 .db $9B,$07,$44,$4B,$4B,$4E,$1A,$1F .db $1F,$1F,$12,$4E,$51,$51,$58,$1F .db $08,$5D,$CC,$4D,$4E,$53,$1F,$1F .db $47,$4E,$4C,$44,$1D,$1F,$1F,$41 .db $54,$53,$1F,$1F,$88,$47,$40,$55 .db $44,$1F,$1F,$1F,$1F,$46,$4E,$4D .db $44,$1F,$1F,$1F,$1F,$53,$CE,$51 .db $44,$52,$42,$54,$44,$1F,$1F,$4C .db $58,$1F,$45,$51,$48,$44,$4D,$43 .db $D2,$56,$47,$4E,$1F,$56,$44,$51 .db $44,$1F,$1F,$42,$40,$4F,$53,$54 .db $51,$44,$C3,$41,$58,$1F,$01,$4E .db $56,$52,$44,$51,$9B,$1F,$1F,$1F .db $1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F .db $1F,$1F,$1F,$1F,$1F,$60,$E1,$1F .db $1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F .db $1C,$1F,$18,$4E,$52,$47,$48,$62 .db $E3,$07,$4E,$4E,$51,$40,$58,$1A .db $1F,$1F,$13,$47,$40,$4D,$4A,$1F .db $58,$4E,$D4,$45,$4E,$51,$1F,$51 .db $44,$52,$42,$54,$48,$4D,$46,$1F .db $1F,$1F,$4C,$44,$9B,$0C,$58,$1F .db $4D,$40,$4C,$44,$1F,$1F,$48,$52 .db $1F,$18,$4E,$52,$47,$48,$9B,$0E .db $4D,$1F,$1F,$1F,$4C,$58,$1F,$1F .db $1F,$56,$40,$58,$1F,$1F,$1F,$53 .db $CE,$51,$44,$52,$42,$54,$44,$1F .db $4C,$58,$1F,$45,$51,$48,$44,$4D .db $43,$52,$9D,$01,$4E,$56,$52,$44 .db $51,$1F,$53,$51,$40,$4F,$4F,$44 .db $43,$1F,$1F,$4C,$C4,$48,$4D,$1F .db $53,$47,$40,$53,$1F,$44,$46,$46 .db $9B,$9F,$08,$53,$1F,$48,$52,$1F .db $4F,$4E,$52,$52,$48,$41,$4B,$44 .db $1F,$1F,$53,$CE,$45,$48,$4B,$4B .db $1F,$48,$4D,$1F,$53,$47,$44,$1F .db $43,$4E,$53,$53,$44,$C3,$4B,$48 .db $4D,$44,$1F,$41,$4B,$4E,$42,$4A .db $52,$1B,$1F,$1F,$1F,$1F,$13,$CE .db $45,$48,$4B,$4B,$1F,$48,$4D,$1F .db $53,$47,$44,$1F,$58,$44,$4B,$4B .db $4E,$D6,$4E,$4D,$44,$52,$1D,$1F .db $49,$54,$52,$53,$1F,$46,$4E,$1F .db $56,$44,$52,$D3,$53,$47,$44,$4D .db $1F,$4D,$4E,$51,$53,$47,$1F,$1F .db $53,$4E,$1F,$53,$47,$C4,$53,$4E .db $4F,$1F,$1F,$1F,$1F,$1F,$4E,$45 .db $1F,$1F,$1F,$1F,$1F,$53,$47,$C4 .db $4C,$4E,$54,$4D,$53,$40,$48,$4D .db $9B,$1C,$0F,$0E,$08,$0D,$13,$1F .db $0E,$05,$1F,$00,$03,$15,$08,$02 .db $04,$9C,$18,$4E,$54,$1F,$1F,$42 .db $40,$4D,$1F,$1F,$47,$4E,$4B,$43 .db $1F,$1F,$40,$CD,$44,$57,$53,$51 .db $40,$1F,$48,$53,$44,$4C,$1F,$1F .db $48,$4D,$1F,$53,$47,$C4,$41,$4E .db $57,$1F,$40,$53,$1F,$1F,$53,$47 .db $44,$1F,$53,$4E,$4F,$1F,$4E,$C5 .db $53,$47,$44,$1F,$52,$42,$51,$44 .db $44,$4D,$1B,$1F,$1F,$1F,$1F,$1F .db $13,$CE,$54,$52,$44,$1F,$48,$53 .db $1D,$1F,$1F,$4F,$51,$44,$52,$52 .db $1F,$53,$47,$C4,$12,$04,$0B,$04 .db $02,$13,$1F,$01,$54,$53,$53,$4E .db $4D,$9B,$9F,$1C,$0F,$0E,$08,$0D .db $13,$1F,$0E,$05,$1F,$00,$03,$15 .db $08,$02,$04,$9C,$13,$4E,$1F,$1F .db $1F,$4F,$48,$42,$4A,$1F,$1F,$1F .db $54,$4F,$1F,$1F,$1F,$C0,$52,$47 .db $44,$4B,$4B,$1D,$1F,$1F,$54,$52 .db $44,$1F,$1F,$53,$47,$44,$1F,$97 .db $4E,$51,$1F,$1F,$18,$1F,$1F,$01 .db $54,$53,$53,$4E,$4D,$1B,$1F,$1F .db $13,$CE,$53,$47,$51,$4E,$56,$1F .db $1F,$1F,$1F,$40,$1F,$1F,$1F,$52 .db $47,$44,$4B,$CB,$54,$4F,$56,$40 .db $51,$43,$52,$1D,$1F,$1F,$4B,$4E .db $4E,$4A,$1F,$1F,$54,$CF,$40,$4D .db $43,$1F,$4B,$44,$53,$1F,$46,$4E .db $1F,$4E,$45,$1F,$1F,$53,$47,$C4 .db $41,$54,$53,$53,$4E,$4D,$9B,$13 .db $4E,$1F,$43,$4E,$1F,$40,$1F,$52 .db $4F,$48,$4D,$1F,$49,$54,$4C,$4F .db $9D,$4F,$51,$44,$52,$52,$1F,$1F .db $1F,$1F,$53,$47,$44,$1F,$1F,$1F .db $1F,$1F,$80,$01,$54,$53,$53,$4E .db $4D,$1B,$1F,$1F,$1F,$1F,$00,$1F .db $12,$54,$4F,$44,$D1,$0C,$40,$51 .db $48,$4E,$1F,$1F,$1F,$52,$4F,$48 .db $4D,$1F,$1F,$49,$54,$4C,$CF,$42 .db $40,$4D,$1F,$41,$51,$44,$40,$4A .db $1F,$52,$4E,$4C,$44,$1F,$1F,$4E .db $C5,$53,$47,$44,$1F,$1F,$1F,$41 .db $4B,$4E,$42,$4A,$52,$1F,$1F,$1F .db $40,$4D,$C3,$43,$44,$45,$44,$40 .db $53,$1F,$52,$4E,$4C,$44,$1F,$4E .db $45,$1F,$53,$47,$C4,$53,$4E,$54 .db $46,$47,$44,$51,$1F,$44,$4D,$44 .db $4C,$48,$44,$52,$9B,$1C,$0F,$0E .db $08,$0D,$13,$1F,$0E,$05,$1F,$00 .db $03,$15,$08,$02,$04,$9C,$13,$47 .db $48,$52,$1F,$1F,$1F,$46,$40,$53 .db $44,$1F,$1F,$4C,$40,$51,$4A,$D2 .db $53,$47,$44,$1F,$4C,$48,$43,$43 .db $4B,$44,$1F,$4E,$45,$1F,$53,$47 .db $48,$D2,$40,$51,$44,$40,$1B,$1F .db $1F,$1F,$01,$58,$1F,$42,$54,$53 .db $53,$48,$4D,$C6,$53,$47,$44,$1F .db $53,$40,$4F,$44,$1F,$47,$44,$51 .db $44,$1D,$1F,$58,$4E,$D4,$42,$40 .db $4D,$1F,$42,$4E,$4D,$53,$48,$4D .db $54,$44,$1F,$1F,$45,$51,$4E,$CC .db $42,$4B,$4E,$52,$44,$1F,$1F,$1F .db $53,$4E,$1F,$1F,$1F,$1F,$53,$47 .db $48,$D2,$4F,$4E,$48,$4D,$53,$9B .db $1C,$0F,$0E,$08,$0D,$13,$1F,$0E .db $05,$1F,$00,$03,$15,$08,$02,$04 .db $9C,$13,$47,$44,$1F,$41,$48,$46 .db $1F,$42,$4E,$48,$4D,$52,$1F,$1F .db $40,$51,$C4,$03,$51,$40,$46,$4E .db $4D,$1F,$02,$4E,$48,$4D,$52,$1B .db $1F,$1F,$1F,$08,$C5,$58,$4E,$54 .db $1F,$1F,$4F,$48,$42,$4A,$1F,$54 .db $4F,$1F,$1F,$45,$48,$55,$C4,$4E .db $45,$1F,$1F,$53,$47,$44,$52,$44 .db $1F,$1F,$48,$4D,$1F,$1F,$4E,$4D .db $C4,$40,$51,$44,$40,$1D,$1F,$1F .db $58,$4E,$54,$1F,$1F,$46,$44,$53 .db $1F,$40,$CD,$44,$57,$53,$51,$40 .db $1F,$0C,$40,$51,$48,$4E,$9B,$9F .db $16,$47,$44,$4D,$1F,$58,$4E,$54 .db $1F,$1F,$52,$53,$4E,$4C,$4F,$1F .db $4E,$CD,$40,$4D,$1F,$44,$4D,$44 .db $4C,$58,$1D,$1F,$1F,$58,$4E,$54 .db $1F,$42,$40,$CD,$49,$54,$4C,$4F .db $1F,$47,$48,$46,$47,$1F,$1F,$48 .db $45,$1F,$1F,$58,$4E,$D4,$47,$4E .db $4B,$43,$1F,$1F,$1F,$1F,$53,$47 .db $44,$1F,$1F,$1F,$49,$54,$4C,$CF .db $41,$54,$53,$53,$4E,$4D,$1B,$1F .db $1F,$14,$52,$44,$1F,$14,$4F,$1F .db $4E,$CD,$53,$47,$44,$1F,$02,$4E .db $4D,$53,$51,$4E,$4B,$1F,$0F,$40 .db $43,$1F,$53,$CE,$49,$54,$4C,$4F .db $1F,$47,$48,$46,$47,$1F,$1F,$48 .db $4D,$1F,$1F,$53,$47,$C4,$52,$47 .db $40,$4B,$4B,$4E,$56,$1F,$56,$40 .db $53,$44,$51,$9B,$08,$45,$1F,$1F .db $58,$4E,$54,$1F,$40,$51,$44,$1F .db $1F,$48,$4D,$1F,$40,$CD,$40,$51 .db $44,$40,$1F,$53,$47,$40,$53,$1F .db $58,$4E,$54,$1F,$47,$40,$55,$C4 .db $40,$4B,$51,$44,$40,$43,$58,$1F .db $1F,$1F,$42,$4B,$44,$40,$51,$44 .db $43,$9D,$58,$4E,$54,$1F,$42,$40 .db $4D,$1F,$1F,$51,$44,$53,$54,$51 .db $4D,$1F,$53,$CE,$53,$47,$44,$1F .db $4C,$40,$4F,$1F,$52,$42,$51,$44 .db $44,$4D,$1F,$1F,$41,$D8,$4F,$51 .db $44,$52,$52,$48,$4D,$46,$1F,$1F .db $1F,$1F,$12,$13,$00,$11,$13,$9D .db $53,$47,$44,$4D,$1F,$12,$04,$0B .db $04,$02,$13,$9B,$9F,$18,$4E,$54 .db $1F,$1F,$1F,$46,$44,$53,$1F,$1F .db $1F,$1F,$01,$4E,$4D,$54,$D2,$12 .db $53,$40,$51,$52,$1F,$1F,$48,$45 .db $1F,$1F,$58,$4E,$54,$1F,$42,$54 .db $D3,$53,$47,$44,$1F,$1F,$53,$40 .db $4F,$44,$1F,$1F,$40,$53,$1F,$1F .db $53,$47,$C4,$44,$4D,$43,$1F,$1F .db $4E,$45,$1F,$44,$40,$42,$47,$1F .db $40,$51,$44,$40,$9B,$08,$45,$1F .db $58,$4E,$54,$1F,$42,$4E,$4B,$4B .db $44,$42,$53,$1F,$64,$6B,$EB,$01 .db $4E,$4D,$54,$52,$1F,$1F,$12,$53 .db $40,$51,$52,$1F,$1F,$1F,$58,$4E .db $D4,$42,$40,$4D,$1F,$1F,$1F,$4F .db $4B,$40,$58,$1F,$1F,$40,$1F,$1F .db $45,$54,$CD,$41,$4E,$4D,$54,$52 .db $1F,$46,$40,$4C,$44,$9B,$0F,$51 .db $44,$52,$52,$1F,$14,$4F,$1F,$1F .db $1F,$4E,$4D,$1F,$1F,$53,$47,$C4 .db $02,$4E,$4D,$53,$51,$4E,$4B,$1F .db $0F,$40,$43,$1F,$1F,$56,$47,$48 .db $4B,$C4,$49,$54,$4C,$4F,$48,$4D .db $46,$1F,$1F,$1F,$40,$4D,$43,$1F .db $1F,$58,$4E,$D4,$42,$40,$4D,$1F .db $1F,$42,$4B,$48,$4D,$46,$1F,$1F .db $53,$4E,$1F,$53,$47,$C4,$45,$44 .db $4D,$42,$44,$1B,$1F,$1F,$1F,$1F .db $13,$4E,$1F,$46,$4E,$1F,$48,$CD .db $53,$47,$44,$1F,$1F,$43,$4E,$4E .db $51,$1F,$1F,$40,$53,$1F,$1F,$53 .db $47,$C4,$44,$4D,$43,$1F,$1F,$4E .db $45,$1F,$53,$47,$48,$52,$1F,$40 .db $51,$44,$40,$9D,$54,$52,$44,$1F .db $14,$4F,$1F,$40,$4B,$52,$4E,$9B .db $1C,$0F,$0E,$08,$0D,$13,$1F,$0E .db $05,$1F,$00,$03,$15,$08,$02,$04 .db $9C,$0E,$4D,$44,$1F,$1F,$1F,$4E .db $45,$1F,$1F,$1F,$18,$4E,$52,$47 .db $48,$5D,$D2,$45,$51,$48,$44,$4D .db $43,$52,$1F,$48,$52,$1F,$53,$51 .db $40,$4F,$4F,$44,$C3,$48,$4D,$1F .db $1F,$53,$47,$44,$1F,$42,$40,$52 .db $53,$4B,$44,$1F,$1F,$41,$D8,$08 .db $46,$46,$58,$1F,$0A,$4E,$4E,$4F .db $40,$1B,$1F,$1F,$1F,$1F,$1F,$13 .db $CE,$43,$44,$45,$44,$40,$53,$1F .db $1F,$47,$48,$4C,$1D,$1F,$1F,$4F .db $54,$52,$C7,$47,$48,$4C,$1F,$48 .db $4D,$53,$4E,$1F,$1F,$53,$47,$44 .db $1F,$4B,$40,$55,$C0,$4F,$4E,$4E .db $4B,$9B,$14,$52,$44,$1F,$1F,$0C .db $40,$51,$48,$4E,$5D,$52,$1F,$1F .db $42,$40,$4F,$C4,$53,$4E,$1F,$1F .db $1F,$52,$4E,$40,$51,$1F,$1F,$53 .db $47,$51,$4E,$54,$46,$C7,$53,$47 .db $44,$1F,$40,$48,$51,$1A,$1F,$11 .db $54,$4D,$1F,$45,$40,$52,$53,$9D .db $49,$54,$4C,$4F,$1D,$1F,$40,$4D .db $43,$1F,$47,$4E,$4B,$43,$1F,$53 .db $47,$C4,$18,$1F,$01,$54,$53,$53 .db $4E,$4D,$1B,$1F,$1F,$13,$4E,$1F .db $4A,$44,$44,$CF,$41,$40,$4B,$40 .db $4D,$42,$44,$1D,$1F,$1F,$54,$52 .db $44,$1F,$4B,$44,$45,$D3,$40,$4D .db $43,$1F,$1F,$51,$48,$46,$47,$53 .db $1F,$1F,$4E,$4D,$1F,$53,$47,$C4 .db $02,$4E,$4D,$53,$51,$4E,$4B,$1F .db $0F,$40,$43,$9B,$13,$47,$44,$1F .db $51,$44,$43,$1F,$43,$4E,$53,$1F .db $1F,$40,$51,$44,$40,$D2,$4E,$4D .db $1F,$1F,$53,$47,$44,$1F,$1F,$4C .db $40,$4F,$1F,$1F,$47,$40,$55,$C4 .db $53,$56,$4E,$1F,$1F,$1F,$1F,$1F .db $1F,$43,$48,$45,$45,$44,$51,$44 .db $4D,$D3,$44,$57,$48,$53,$52,$1B .db $1F,$1F,$1F,$1F,$1F,$1F,$08,$45 .db $1F,$58,$4E,$D4,$47,$40,$55,$44 .db $1F,$1F,$53,$47,$44,$1F,$53,$48 .db $4C,$44,$1F,$40,$4D,$C3,$52,$4A .db $48,$4B,$4B,$1D,$1F,$1F,$41,$44 .db $1F,$52,$54,$51,$44,$1F,$53,$CE .db $4B,$4E,$4E,$4A,$1F,$45,$4E,$51 .db $1F,$53,$47,$44,$4C,$9B,$9F,$13 .db $47,$48,$52,$1F,$1F,$48,$52,$1F .db $1F,$40,$1F,$1F,$06,$47,$4E,$52 .db $D3,$07,$4E,$54,$52,$44,$1B,$1F .db $1F,$1F,$1F,$1F,$02,$40,$4D,$1F .db $58,$4E,$D4,$45,$48,$4D,$43,$1F .db $1F,$1F,$53,$47,$44,$1F,$1F,$1F .db $44,$57,$48,$53,$9E,$07,$44,$44 .db $1D,$1F,$1F,$47,$44,$44,$1D,$1F .db $1F,$47,$44,$44,$1B,$1B,$9B,$03 .db $4E,$4D,$5D,$53,$1F,$46,$44,$53 .db $1F,$4B,$4E,$52,$53,$9A,$9F,$9F .db $9F,$18,$4E,$54,$1F,$42,$40,$4D .db $1F,$1F,$52,$4B,$48,$43,$44,$1F .db $53,$47,$C4,$52,$42,$51,$44,$44 .db $4D,$1F,$1F,$1F,$4B,$44,$45,$53 .db $1F,$1F,$1F,$4E,$D1,$51,$48,$46 .db $47,$53,$1F,$1F,$41,$58,$1F,$4F .db $51,$44,$52,$52,$48,$4D,$C6,$53 .db $47,$44,$1F,$0B,$1F,$4E,$51,$1F .db $11,$1F,$01,$54,$53,$53,$4E,$4D .db $D2,$4E,$4D,$1F,$1F,$1F,$53,$4E .db $4F,$1F,$1F,$1F,$4E,$45,$1F,$1F .db $53,$47,$C4,$42,$4E,$4D,$53,$51 .db $4E,$4B,$4B,$44,$51,$1B,$1F,$1F .db $1F,$1F,$18,$4E,$D4,$4C,$40,$58 .db $1F,$41,$44,$1F,$40,$41,$4B,$44 .db $1F,$53,$4E,$1F,$52,$44,$C4,$45 .db $54,$51,$53,$47,$44,$51,$1F,$40 .db $47,$44,$40,$43,$9B,$13,$47,$44 .db $51,$44,$1F,$1F,$1F,$40,$51,$44 .db $1F,$1F,$1F,$45,$48,$55,$C4,$44 .db $4D,$53,$51,$40,$4D,$42,$44,$52 .db $1F,$1F,$53,$4E,$1F,$1F,$53,$47 .db $C4,$12,$53,$40,$51,$1F,$1F,$1F .db $16,$4E,$51,$4B,$43,$1F,$1F,$1F .db $1F,$48,$CD,$03,$48,$4D,$4E,$52 .db $40,$54,$51,$1F,$1F,$1F,$1F,$1F .db $0B,$40,$4D,$43,$9B,$05,$48,$4D .db $43,$1F,$1F,$53,$47,$44,$4C,$1F .db $40,$4B,$4B,$1F,$40,$4D,$C3,$58 .db $4E,$54,$1F,$1F,$1F,$42,$40,$4D .db $1F,$1F,$1F,$53,$51,$40,$55,$44 .db $CB,$41,$44,$53,$56,$44,$44,$4D .db $1F,$1F,$1F,$1F,$1F,$1F,$1F,$4C .db $40,$4D,$D8,$43,$48,$45,$45,$44 .db $51,$44,$4D,$53,$1F,$4F,$4B,$40 .db $42,$44,$52,$9B,$07,$44,$51,$44 .db $1D,$1F,$1F,$1F,$53,$47,$44,$1F .db $1F,$42,$4E,$48,$4D,$D2,$58,$4E .db $54,$1F,$1F,$1F,$42,$4E,$4B,$4B .db $44,$42,$53,$1F,$1F,$1F,$4E,$D1 .db $53,$47,$44,$1F,$53,$48,$4C,$44 .db $1F,$51,$44,$4C,$40,$48,$4D,$48 .db $4D,$C6,$42,$40,$4D,$1F,$1F,$42 .db $47,$40,$4D,$46,$44,$1F,$1F,$1F .db $58,$4E,$54,$D1,$4F,$51,$4E,$46 .db $51,$44,$52,$52,$1B,$1F,$1F,$02 .db $40,$4D,$1F,$58,$4E,$D4,$45,$48 .db $4D,$43,$1F,$1F,$53,$47,$44,$1F .db $1F,$52,$4F,$44,$42,$48,$40,$CB .db $46,$4E,$40,$4B,$9E,$9F,$00,$4C .db $40,$59,$48,$4D,$46,$1A,$1F,$1F .db $05,$44,$56,$1F,$47,$40,$55,$C4 .db $4C,$40,$43,$44,$1F,$48,$53,$1F .db $1F,$53,$47,$48,$52,$1F,$45,$40 .db $51,$9B,$01,$44,$58,$4E,$4D,$43 .db $1F,$1F,$4B,$48,$44,$52,$1F,$1F .db $1F,$53,$47,$C4,$12,$4F,$44,$42 .db $48,$40,$4B,$1F,$1F,$1F,$1F,$1F .db $1F,$19,$4E,$4D,$44,$9B,$02,$4E .db $4C,$4F,$4B,$44,$53,$44,$1F,$1F .db $48,$53,$1F,$1F,$1F,$40,$4D,$C3 .db $58,$4E,$54,$1F,$42,$40,$4D,$1F .db $44,$57,$4F,$4B,$4E,$51,$44,$1F .db $1F,$C0,$52,$53,$51,$40,$4D,$46 .db $44,$1F,$4D,$44,$56,$1F,$56,$4E .db $51,$4B,$43,$9B,$06,$0E,$0E,$03 .db $1F,$0B,$14,$02,$0A,$9A DATA_05B0FF: .db $50,$C7,$41,$E2,$FC,$38,$FF DATA_05B106: .db $4C,$50 DATA_05B108: .db $50,$00 DATA_05B10A: .db $04,$FC CODE_05B10C: 8B PHB ; Accum (8 bit) CODE_05B10D: 4B PHK CODE_05B10E: AB PLB CODE_05B10F: AE 88 1B LDX.W $1B88 CODE_05B112: AD 89 1B LDA.W $1B89 CODE_05B115: DD 08 B1 CMP.W DATA_05B108,X CODE_05B118: D0 77 BNE CODE_05B191 CODE_05B11A: 8A TXA CODE_05B11B: F0 15 BEQ CODE_05B132 CODE_05B11D: 9C 26 14 STZ.W $1426 CODE_05B120: 9C 88 1B STZ.W $1B88 CODE_05B123: 64 41 STZ $41 CODE_05B125: 64 42 STZ $42 CODE_05B127: 64 43 STZ $43 CODE_05B129: 9C 9F 0D STZ.W $0D9F CODE_05B12C: A9 02 LDA.B #$02 CODE_05B12E: 85 44 STA $44 CODE_05B130: 80 5C BRA CODE_05B18E CODE_05B132: AD 09 01 LDA.W $0109 CODE_05B135: 0D D2 13 ORA.W $13D2 CODE_05B138: F0 34 BEQ CODE_05B16E CODE_05B13A: AD F5 1D LDA.W $1DF5 CODE_05B13D: F0 2F BEQ CODE_05B16E CODE_05B13F: A5 13 LDA RAM_FrameCounter CODE_05B141: 29 03 AND.B #$03 CODE_05B143: D0 49 BNE CODE_05B18E CODE_05B145: CE F5 1D DEC.W $1DF5 CODE_05B148: D0 44 BNE CODE_05B18E CODE_05B14A: AD D2 13 LDA.W $13D2 CODE_05B14D: F0 1F BEQ CODE_05B16E CODE_05B14F: AB PLB CODE_05B150: EE E9 1D INC.W $1DE9 CODE_05B153: A9 01 LDA.B #$01 CODE_05B155: 8D CE 13 STA.W $13CE CODE_05B158: 80 0B BRA CODE_05B165 CODE_05B15A: AB PLB CODE_05B15B: A9 8E LDA.B #$8E CODE_05B15D: 8D 19 1F STA.W $1F19 SubSideExit: 9C 09 01 STZ.W $0109 CODE_05B163: A9 00 LDA.B #$00 CODE_05B165: 8D D5 0D STA.W $0DD5 CODE_05B168: A9 0B LDA.B #$0B CODE_05B16A: 8D 00 01 STA.W RAM_GameMode Return05B16D: 6B RTL ; Return CODE_05B16E: A5 15 LDA RAM_ControllerA ; Index (8 bit) CODE_05B170: 29 F0 AND.B #$F0 CODE_05B172: F0 1A BEQ CODE_05B18E CODE_05B174: 45 16 EOR $16 CODE_05B176: 29 F0 AND.B #$F0 CODE_05B178: F0 0C BEQ CODE_05B186 CODE_05B17A: A5 17 LDA RAM_ControllerB CODE_05B17C: 29 C0 AND.B #$C0 CODE_05B17E: F0 0E BEQ CODE_05B18E CODE_05B180: 45 18 EOR $18 CODE_05B182: 29 C0 AND.B #$C0 CODE_05B184: D0 08 BNE CODE_05B18E CODE_05B186: AD 09 01 LDA.W $0109 CODE_05B189: D0 CF BNE CODE_05B15A CODE_05B18B: EE 88 1B INC.W $1B88 CODE_05B18E: 4C 99 B2 JMP.W CODE_05B299 CODE_05B191: DD 06 B1 CMP.W DATA_05B106,X CODE_05B194: D0 0A BNE CODE_05B1A0 CODE_05B196: 8A TXA CODE_05B197: F0 0A BEQ CODE_05B1A3 CODE_05B199: 20 1B B3 JSR.W CODE_05B31B CODE_05B19C: A9 09 LDA.B #$09 CODE_05B19E: 85 12 STA $12 CODE_05B1A0: 4C 50 B2 JMP.W CODE_05B250 CODE_05B1A3: A2 16 LDX.B #$16 CODE_05B1A5: A0 01 LDY.B #$01 CODE_05B1A7: BD 90 A5 LDA.W DATA_05A590,X CODE_05B1AA: 10 03 BPL CODE_05B1AF CODE_05B1AC: C8 INY CODE_05B1AD: 29 7F AND.B #$7F CODE_05B1AF: CC 26 14 CPY.W $1426 CODE_05B1B2: D0 05 BNE CODE_05B1B9 CODE_05B1B4: CD BF 13 CMP.W $13BF CODE_05B1B7: F0 03 BEQ CODE_05B1BC CODE_05B1B9: CA DEX CODE_05B1BA: D0 E9 BNE CODE_05B1A5 CODE_05B1BC: AC 26 14 LDY.W $1426 CODE_05B1BF: C0 03 CPY.B #$03 CODE_05B1C1: D0 02 BNE CODE_05B1C5 CODE_05B1C3: A2 18 LDX.B #$18 CODE_05B1C5: E0 04 CPX.B #$04 CODE_05B1C7: B0 08 BCS CODE_05B1D1 CODE_05B1C9: E8 INX CODE_05B1CA: 8E D2 13 STX.W $13D2 CODE_05B1CD: CA DEX CODE_05B1CE: 20 EB B2 JSR.W CODE_05B2EB CODE_05B1D1: E0 16 CPX.B #$16 CODE_05B1D3: D0 06 BNE CODE_05B1DB CODE_05B1D5: AD 7A 18 LDA.W RAM_OnYoshi CODE_05B1D8: F0 01 BEQ CODE_05B1DB ADDR_05B1DA: E8 INX CODE_05B1DB: 8A TXA CODE_05B1DC: 0A ASL CODE_05B1DD: AA TAX CODE_05B1DE: C2 20 REP #$20 ; Accum (16 bit) CODE_05B1E0: BD A7 A5 LDA.W DATA_05A5A7,X CODE_05B1E3: 85 00 STA $00 CODE_05B1E5: C2 10 REP #$10 ; Index (16 bit) CODE_05B1E7: AF 7B 83 7F LDA.L $7F837B CODE_05B1EB: AA TAX CODE_05B1EC: A0 0E 00 LDY.W #$000E CODE_05B1EF: B9 80 A5 LDA.W DATA_05A580,Y CODE_05B1F2: 9F 7D 83 7F STA.L $7F837D,X CODE_05B1F6: A9 00 23 LDA.W #$2300 CODE_05B1F9: 9F 7F 83 7F STA.L $7F837F,X CODE_05B1FD: 5A PHY CODE_05B1FE: E2 20 SEP #$20 ; Accum (8 bit) CODE_05B200: A9 12 LDA.B #$12 CODE_05B202: 85 02 STA $02 CODE_05B204: 64 03 STZ $03 CODE_05B206: A4 00 LDY $00 CODE_05B208: A9 1F LDA.B #$1F CODE_05B20A: 2C 03 00 BIT.W $0003 CODE_05B20D: 30 09 BMI CODE_05B218 CODE_05B20F: B9 D9 A5 LDA.W DATA_05A5D9,Y CODE_05B212: 8D 03 00 STA.W $0003 CODE_05B215: 29 7F AND.B #$7F CODE_05B217: C8 INY CODE_05B218: 9F 81 83 7F STA.L $7F8381,X CODE_05B21C: A9 39 LDA.B #$39 CODE_05B21E: 9F 82 83 7F STA.L $7F8382,X CODE_05B222: E8 INX CODE_05B223: E8 INX CODE_05B224: C6 02 DEC $02 CODE_05B226: D0 E0 BNE CODE_05B208 CODE_05B228: 84 00 STY $00 CODE_05B22A: C2 20 REP #$20 ; Accum (16 bit) CODE_05B22C: E8 INX CODE_05B22D: E8 INX CODE_05B22E: E8 INX CODE_05B22F: E8 INX CODE_05B230: 7A PLY CODE_05B231: 88 DEY CODE_05B232: 88 DEY CODE_05B233: 10 BA BPL CODE_05B1EF CODE_05B235: A9 FF 00 LDA.W #$00FF CODE_05B238: 9F 7D 83 7F STA.L $7F837D,X CODE_05B23C: 8A TXA CODE_05B23D: 8F 7B 83 7F STA.L $7F837B CODE_05B241: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_05B243: A9 01 LDA.B #$01 CODE_05B245: 8D D5 13 STA.W $13D5 CODE_05B248: 64 22 STZ $22 CODE_05B24A: 64 23 STZ $23 CODE_05B24C: 64 24 STZ $24 CODE_05B24E: 64 25 STZ $25 CODE_05B250: AE 88 1B LDX.W $1B88 CODE_05B253: AD 89 1B LDA.W $1B89 CODE_05B256: 18 CLC CODE_05B257: 7D 0A B1 ADC.W DATA_05B10A,X CODE_05B25A: 8D 89 1B STA.W $1B89 CODE_05B25D: 18 CLC CODE_05B25E: 69 80 ADC.B #$80 CODE_05B260: EB XBA CODE_05B261: A9 80 LDA.B #$80 CODE_05B263: 38 SEC CODE_05B264: ED 89 1B SBC.W $1B89 CODE_05B267: C2 20 REP #$20 ; Accum (16 bit) CODE_05B269: A2 00 LDX.B #$00 CODE_05B26B: A0 50 LDY.B #$50 CODE_05B26D: EC 89 1B CPX.W $1B89 CODE_05B270: 90 03 BCC CODE_05B275 CODE_05B272: A9 FF 00 LDA.W #$00FF CODE_05B275: 99 EC 04 STA.W $04EC,Y CODE_05B278: 9D 3C 05 STA.W $053C,X CODE_05B27B: E8 INX CODE_05B27C: E8 INX CODE_05B27D: 88 DEY CODE_05B27E: 88 DEY CODE_05B27F: D0 EC BNE CODE_05B26D CODE_05B281: E2 20 SEP #$20 ; Accum (8 bit) CODE_05B283: A9 22 LDA.B #$22 CODE_05B285: 85 41 STA $41 CODE_05B287: AC D2 13 LDY.W $13D2 CODE_05B28A: F0 02 BEQ CODE_05B28E CODE_05B28C: A9 20 LDA.B #$20 CODE_05B28E: 85 43 STA $43 CODE_05B290: A9 22 LDA.B #$22 CODE_05B292: 85 44 STA $44 CODE_05B294: A9 80 LDA.B #$80 CODE_05B296: 8D 9F 0D STA.W $0D9F CODE_05B299: AB PLB Return05B29A: 6B RTL ; Return DATA_05B29B: .db $AD,$35,$AD,$75,$AD,$B5,$AD,$F5 .db $A7,$35,$A7,$75,$B7,$35,$B7,$75 .db $BD,$37,$BD,$77,$BD,$B7,$BD,$F7 .db $A7,$37,$A7,$77,$B7,$37,$B7,$77 .db $AD,$39,$AD,$79,$AD,$B9,$AD,$F9 .db $A7,$39,$A7,$79,$B7,$39,$B7,$79 .db $BD,$3B,$BD,$7B,$BD,$BB,$BD,$FB .db $A7,$3B,$A7,$7B,$B7,$3B,$B7,$7B DATA_05B2DB: .db $50,$4F,$58,$4F,$50,$57,$58,$57 .db $92,$4F,$9A,$4F,$92,$57,$9A,$57 CODE_05B2EB: DA PHX CODE_05B2EC: 8A TXA CODE_05B2ED: 0A ASL CODE_05B2EE: 0A ASL CODE_05B2EF: 0A ASL CODE_05B2F0: 0A ASL CODE_05B2F1: AA TAX CODE_05B2F2: 64 00 STZ $00 CODE_05B2F4: C2 20 REP #$20 ; Accum (16 bit) CODE_05B2F6: A0 1C LDY.B #$1C CODE_05B2F8: BD 9B B2 LDA.W DATA_05B29B,X CODE_05B2FB: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_05B2FE: DA PHX CODE_05B2FF: A6 00 LDX $00 CODE_05B301: BD DB B2 LDA.W DATA_05B2DB,X CODE_05B304: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_05B307: FA PLX CODE_05B308: E8 INX CODE_05B309: E8 INX CODE_05B30A: E6 00 INC $00 CODE_05B30C: E6 00 INC $00 CODE_05B30E: 88 DEY CODE_05B30F: 88 DEY CODE_05B310: 88 DEY CODE_05B311: 88 DEY CODE_05B312: 10 E4 BPL CODE_05B2F8 CODE_05B314: 9C 00 04 STZ.W $0400 CODE_05B317: E2 20 SEP #$20 ; Accum (8 bit) CODE_05B319: FA PLX Return05B31A: 60 RTS ; Return CODE_05B31B: A0 1C LDY.B #$1C CODE_05B31D: A9 F0 LDA.B #$F0 CODE_05B31F: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_05B322: 88 DEY CODE_05B323: 88 DEY CODE_05B324: 88 DEY CODE_05B325: 88 DEY CODE_05B326: 10 F7 BPL CODE_05B31F Return05B328: 60 RTS ; Return ADDR_05B329: 48 PHA ADDR_05B32A: A9 01 LDA.B #$01 ADDR_05B32C: 8D FC 1D STA.W $1DFC ; / Play sound effect ADDR_05B32F: 68 PLA CODE_05B330: 85 00 STA $00 CODE_05B332: 18 CLC CODE_05B333: 6D CC 13 ADC.W $13CC CODE_05B336: 8D CC 13 STA.W $13CC CODE_05B339: AD C0 0D LDA.W $0DC0 CODE_05B33C: F0 1C BEQ Return05B35A CODE_05B33E: 38 SEC CODE_05B33F: E5 00 SBC $00 CODE_05B341: 10 02 BPL CODE_05B345 ADDR_05B343: A9 00 LDA.B #$00 CODE_05B345: 8D C0 0D STA.W $0DC0 CODE_05B348: 80 10 BRA Return05B35A CODE_05B34A: EE CC 13 INC.W $13CC CODE_05B34D: A9 01 LDA.B #$01 CODE_05B34F: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_05B352: AD C0 0D LDA.W $0DC0 CODE_05B355: F0 03 BEQ Return05B35A CODE_05B357: CE C0 0D DEC.W $0DC0 Return05B35A: 6B RTL ; Return DATA_05B35B: .db $80,$40,$20,$10,$08,$04,$02,$01 ADDR_05B363: 98 TYA ; \ Unreachable ADDR_05B364: 29 07 AND.B #$07 ADDR_05B366: 48 PHA ADDR_05B367: 98 TYA ADDR_05B368: 4A LSR ADDR_05B369: 4A LSR ADDR_05B36A: 4A LSR ADDR_05B36B: AA TAX ADDR_05B36C: BD 02 1F LDA.W $1F02,X ADDR_05B36F: FA PLX ADDR_05B370: 3F 5B B3 05 AND.L DATA_05B35B,X Return05B374: 6B RTL ; / Return DATA_05B375: .db $50,$00,$00,$7F,$58,$2C,$59,$2C .db $55,$2C,$56,$2C,$66,$EC,$65,$EC .db $57,$2C,$58,$2C,$59,$2C,$57,$2C .db $58,$2C,$59,$2C,$57,$2C,$58,$2C .db $59,$2C,$38,$2C,$39,$2C,$66,$EC .db $65,$EC,$57,$2C,$58,$2C,$59,$2C .db $57,$2C,$58,$2C,$59,$2C,$57,$2C .db $58,$2C,$59,$2C,$38,$2C,$39,$2C .db $56,$6C,$55,$2C,$68,$2C,$69,$2C .db $65,$2C,$66,$2C,$56,$EC,$55,$AC .db $67,$2C,$68,$2C,$69,$2C,$67,$2C .db $68,$2C,$69,$2C,$67,$2C,$68,$2C .db $69,$2C,$48,$2C,$49,$2C,$56,$EC .db $55,$AC,$67,$2C,$68,$2C,$69,$2C .db $67,$2C,$68,$2C,$69,$2C,$67,$2C .db $68,$2C,$69,$2C,$48,$2C,$49,$2C .db $66,$6C,$65,$6C,$50,$40,$80,$33 .db $55,$2C,$65,$2C,$38,$2C,$48,$2C .db $55,$2C,$65,$2C,$38,$2C,$48,$2C .db $55,$2C,$65,$2C,$38,$2C,$48,$2C .db $55,$2C,$65,$2C,$38,$2C,$48,$2C .db $55,$2C,$65,$2C,$38,$2C,$48,$2C .db $55,$2C,$65,$2C,$38,$2C,$48,$2C .db $55,$2C,$65,$2C,$50,$41,$80,$33 .db $56,$2C,$66,$2C,$39,$2C,$49,$2C .db $56,$2C,$66,$2C,$39,$2C,$49,$2C .db $56,$2C,$66,$2C,$39,$2C,$49,$2C .db $56,$2C,$66,$2C,$39,$2C,$49,$2C .db $56,$2C,$66,$2C,$39,$2C,$49,$2C .db $56,$2C,$66,$2C,$39,$2C,$49,$2C .db $56,$2C,$66,$2C,$50,$5E,$80,$33 .db $66,$EC,$56,$EC,$39,$6C,$49,$6C .db $56,$6C,$66,$6C,$39,$6C,$49,$6C .db $56,$6C,$66,$6C,$39,$6C,$49,$6C .db $56,$6C,$66,$6C,$39,$6C,$49,$6C .db $56,$6C,$66,$6C,$39,$6C,$49,$6C .db $56,$6C,$66,$6C,$39,$6C,$49,$6C .db $56,$6C,$66,$6C,$50,$5F,$80,$33 .db $65,$EC,$55,$EC,$38,$6C,$48,$6C .db $55,$6C,$65,$6C,$38,$6C,$48,$6C .db $55,$6C,$65,$6C,$38,$6C,$48,$6C .db $55,$6C,$65,$6C,$38,$6C,$48,$6C .db $55,$6C,$65,$6C,$38,$6C,$48,$6C .db $55,$6C,$65,$6C,$38,$6C,$48,$6C .db $55,$6C,$65,$6C,$53,$40,$00,$7F .db $69,$AC,$67,$AC,$68,$AC,$69,$AC .db $67,$AC,$68,$AC,$69,$AC,$48,$AC .db $49,$AC,$56,$6C,$55,$2C,$67,$AC .db $68,$AC,$69,$AC,$67,$AC,$68,$AC .db $69,$AC,$67,$AC,$68,$AC,$69,$AC .db $48,$AC,$49,$AC,$66,$EC,$65,$EC .db $57,$2C,$58,$2C,$59,$2C,$57,$2C .db $58,$2C,$57,$2C,$58,$2C,$59,$2C .db $59,$AC,$57,$AC,$58,$AC,$59,$AC .db $57,$AC,$58,$AC,$59,$AC,$38,$AC .db $39,$AC,$66,$6C,$65,$6C,$57,$AC .db $58,$AC,$59,$AC,$57,$AC,$58,$AC .db $59,$AC,$57,$AC,$58,$AC,$59,$AC .db $38,$AC,$39,$AC,$56,$EC,$55,$AC .db $67,$2C,$68,$2C,$69,$2C,$67,$2C .db $68,$2C,$67,$2C,$68,$2C,$69,$2C .db $50,$AA,$00,$13,$98,$3C,$A9,$3C .db $2F,$38,$AE,$28,$E0,$B8,$2C,$38 .db $4B,$28,$F0,$28,$F1,$28,$98,$68 .db $50,$CA,$00,$15,$4F,$3C,$8A,$3C .db $8B,$28,$8C,$28,$8D,$38,$35,$38 .db $45,$28,$2A,$28,$2B,$28,$60,$28 .db $A2,$28,$50,$EA,$00,$15,$99,$3C .db $9A,$3C,$9B,$28,$9C,$28,$9D,$38 .db $9E,$38,$9F,$28,$5A,$28,$5B,$28 .db $90,$28,$A0,$28,$51,$0A,$00,$13 .db $5C,$28,$5C,$68,$71,$28,$71,$68 .db $5C,$28,$72,$28,$73,$28,$71,$68 .db $75,$28,$89,$28,$51,$3B,$00,$03 .db $7B,$39,$7C,$39,$51,$23,$00,$2F .db $B0,$28,$B1,$28,$B2,$28,$B3,$28 .db $B4,$28,$B5,$38,$F5,$38,$2C,$38 .db $AC,$3C,$F2,$3C,$F3,$3C,$F4,$3C .db $E0,$B8,$3C,$38,$FB,$38,$74,$38 .db $F3,$28,$F8,$28,$F5,$3C,$2C,$3C .db $AC,$3C,$B5,$3C,$F5,$3C,$98,$68 .db $51,$43,$00,$31,$6A,$28,$6B,$28 .db $6C,$28,$6D,$28,$6E,$28,$6F,$38 .db $C6,$38,$C7,$38,$D8,$3C,$C9,$3C .db $CA,$3C,$CB,$3C,$D0,$B8,$CD,$38 .db $CE,$38,$CF,$38,$CA,$28,$A1,$28 .db $C6,$3C,$C7,$3C,$D8,$3C,$A5,$3C .db $A3,$3C,$B6,$3C,$C8,$28,$51,$63 .db $00,$31,$D0,$3C,$D1,$28,$D2,$28 .db $D3,$28,$61,$28,$62,$38,$63,$38 .db $D7,$38,$D8,$3C,$D9,$3C,$DA,$3C .db $DB,$3C,$DC,$38,$DD,$38,$DE,$38 .db $DF,$38,$DA,$28,$29,$28,$63,$3C .db $D7,$3C,$D8,$3C,$2D,$3C,$4C,$3C .db $4D,$3C,$CC,$28,$51,$83,$00,$31 .db $E0,$3C,$E1,$28,$E2,$28,$E3,$28 .db $E4,$28,$E5,$38,$E6,$38,$E7,$38 .db $E8,$3C,$E9,$3C,$EA,$3C,$EB,$3C .db $EC,$38,$ED,$38,$EE,$38,$EF,$38 .db $EA,$28,$F7,$28,$E6,$3C,$E7,$3C .db $E8,$3C,$5D,$3C,$5E,$3C,$5F,$3C .db $FA,$28,$51,$A3,$00,$2F,$5C,$28 .db $A4,$28,$FC,$28,$FC,$28,$A6,$38 .db $75,$28,$A7,$28,$A8,$38,$FC,$28 .db $FC,$28,$FC,$28,$FC,$28,$AA,$38 .db $5C,$68,$AB,$38,$71,$68,$FC,$28 .db $FC,$28,$A7,$28,$A8,$38,$FC,$28 .db $AD,$3C,$A7,$28,$AF,$3C,$53,$07 .db $00,$25,$F6,$38,$FC,$28,$36,$38 .db $37,$38,$37,$38,$54,$38,$20,$39 .db $36,$38,$37,$38,$37,$38,$36,$38 .db $FC,$28,$46,$38,$47,$38,$AE,$39 .db $AF,$39,$C5 B5L3TMAP1: .db $39,$C6,$39,$BF,$39,$FF DATA_05B6FE: .db $51,$E5,$40,$2E,$FC,$38,$52,$08 .db $40,$1C,$FC,$38,$52,$25,$40,$2E .db $FC,$38,$52,$48,$40,$1C,$FC,$38 .db $52,$65,$40,$2E,$FC,$38,$52,$A5 .db $40,$1C,$FC,$38,$51,$ED,$00,$1F .db $76,$31,$71,$31,$74,$31,$82,$30 .db $83,$30,$FC,$38,$71,$31,$FC,$38 .db $24,$38,$24,$38,$24,$38,$73,$31 .db $76,$31,$6F,$31,$2F,$31,$72,$31 .db $52,$2D,$00,$1F,$76,$31,$71,$31 .db $74,$31,$82,$30,$83,$30,$FC,$38 .db $2C,$31,$FC,$38,$24,$38,$24,$38 .db $24,$38,$73,$31,$76,$31,$6F,$31 .db $2F,$31,$72,$31,$52,$6D,$00,$1F .db $76,$31,$71,$31,$74,$31,$82,$30 .db $83,$30,$FC,$38,$2D,$31,$FC,$38 .db $24,$38,$24,$38,$24,$38,$73,$31 .db $76,$31,$6F,$31,$2F,$31,$72,$31 .db $51,$E7,$00,$0B,$73,$31,$74,$31 .db $71,$31,$31,$31,$73,$31,$FC,$38 .db $52,$27,$00,$0B,$73,$31,$74,$31 .db $71,$31,$31,$31,$73,$31,$FC,$38 .db $52,$67,$00,$0B,$73,$31,$74,$31 .db $71,$31,$31,$31,$73,$31,$FC,$38 .db $52,$A7,$00,$05,$73,$31,$79,$30 .db $7C,$30,$FF,$51,$E5,$40,$2E,$FC .db $38,$52,$08,$40,$1C,$FC,$38,$52 .db $25,$40,$2E,$FC,$38,$52,$48,$40 .db $1C,$FC,$38,$52,$65,$40,$2E,$FC .db $38,$52,$A5,$40,$1C,$FC,$38,$51 .db $EA,$00,$1F,$76,$31,$71,$31,$74 .db $31,$82,$30,$83,$30,$FC,$38,$71 .db $31,$FC,$38,$24,$38,$24,$38,$24 .db $38,$73,$31,$76,$31,$6F,$31,$2F .db $31,$72,$31,$52,$2A,$00,$1F,$76 .db $31,$71,$31,$74,$31,$82,$30,$83 .db $30,$FC,$38,$2C,$31,$FC,$38,$24 .db $38,$24,$38,$24,$38,$73,$31,$76 .db $31,$6F,$31,$2F,$31,$72,$31,$52 .db $6A,$00,$1F,$76,$31,$71,$31,$74 .db $31,$82,$30,$83,$30,$FC,$38,$2D .db $31,$FC,$38,$24,$38,$24,$38,$24 .db $38,$73,$31,$76,$31,$6F,$31,$2F .db $31,$72,$31,$52,$AA,$00,$13,$73 .db $31,$74,$31,$71,$31,$31,$31,$73 .db $31,$FC,$38,$7C,$30,$71,$31,$2F .db $31,$71,$31,$FF DATA_05B872: .db $51,$E5,$40,$2F,$FC,$38,$52,$25 .db $40,$2F,$FC,$38,$52,$65,$40,$2F .db $FC,$38,$52,$A5,$40,$1C,$FC,$38 .db $52,$0A,$00,$19,$6D,$31,$FC,$38 .db $6F,$31,$70,$31,$71,$31,$72,$31 .db $73,$31,$74,$31,$FC,$38,$75,$31 .db $71,$31,$76,$31,$73,$31,$52,$4A .db $00,$19,$6E,$31,$FC,$38,$6F,$31 .db $70,$31,$71,$31,$72,$31,$73,$31 .db $74,$31,$FC,$38,$75,$31,$71,$31 .db $76,$31,$73,$31,$FF DATA_05B8C7: .db $51,$C6,$00,$21,$2D,$39,$7A,$38 .db $79,$38,$2F,$39,$82,$38,$79,$38 .db $7B,$38,$73,$39,$FC,$38,$71,$39 .db $79,$38,$7C,$38,$FC,$38,$31,$39 .db $71,$39,$80,$38,$73,$39,$52,$06 .db $00,$29,$2D,$39,$7A,$38,$79,$38 .db $2F,$39,$82,$38,$79,$38,$7B,$38 .db $73,$39,$FC,$38,$81,$38,$82,$38 .db $2F,$39,$84,$38,$7A,$38,$7B,$38 .db $2F,$39,$FC,$38,$31,$39,$71,$39 .db $80,$38,$73,$39,$FF DATA_05B91C: .db $51,$CD,$00,$0F,$2D,$39,$7A,$38 .db $79,$38,$2F,$39,$82,$38,$79,$38 .db $7B,$38,$73,$39,$52,$0D,$00,$05 .db $73,$39,$79,$38,$7C,$38,$FF DATA_05B93B: .db $00,$06 DATA_05B93D: .db $40,$06 DATA_05B93F: .db $80,$06,$40,$07,$A0,$0E,$00,$08 .db $00,$05,$40,$05,$80,$05,$C0,$05 .db $80,$07,$C0,$07,$A0,$0D,$C0,$06 .db $00,$07,$C0,$04,$40,$04,$80,$04 .db $00,$04,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00 DATA_05B96B: .db $00,$00,$00,$00,$00,$00,$01,$01 .db $01,$01,$01,$01,$01,$01,$02,$02 .db $02,$02 DATA_05B97D: .db $02,$00,$00,$00,$00,$00,$00,$00 .db $00,$01,$00,$02,$02,$00 DATA_05B98B: .db $00,$05,$0A,$0F,$14,$14,$19,$14 .db $0A,$14,$00,$05,$00,$14 AnimatedTileData: .db $00,$95,$00,$97,$00,$99,$00,$9B .db $80,$95,$80,$97,$80,$99,$80,$9B .db $00,$96,$00,$96,$00,$96,$00,$96 .db $80,$9D,$80,$9F,$80,$A1,$80,$A3 .db $00,$96,$00,$98,$00,$9A,$00,$9C .db $80,$6D,$80,$6F,$00,$7C,$80,$7C .db $20,$AC,$20,$AC,$20,$AC,$20,$AC .db $20,$AC,$20,$AC,$20,$AC,$20,$AC .db $80,$93,$80,$93,$80,$93,$80,$93 .db $00,$A4,$80,$A4,$00,$A4,$80,$A4 .db $20,$AC,$20,$AC,$20,$AC,$20,$AC .db $00,$AC,$00,$AC,$00,$AC,$00,$AC .db $00,$91,$00,$91,$00,$91,$00,$91 .db $80,$96,$80,$98,$80,$9A,$80,$9C .db $00,$9D,$00,$9F,$00,$A1,$00,$A3 .db $80,$8E,$80,$90,$80,$92,$80,$94 .db $00,$95,$00,$95,$00,$95,$00,$95 .db $00,$95,$00,$95,$00,$95,$00,$95 .db $00,$95,$00,$95,$00,$95,$00,$95 .db $00,$9D,$00,$9F,$00,$A1,$00,$A3 DATA_05BA39: .db $80,$8E,$80,$90,$80,$92,$80,$94 .db $00,$7D,$00,$7F,$00,$81,$00,$83 .db $00,$83,$00,$81,$00,$7F,$00,$7D .db $00,$9E,$00,$A0,$00,$A2,$00,$A0 .db $00,$9D,$00,$9F,$00,$A1,$00,$A3 .db $00,$A5,$00,$A7,$00,$A9,$00,$AB .db $80,$A5,$80,$A7,$80,$A9,$80,$AB .db $80,$AB,$80,$A9,$80,$A7,$80,$A5 .db $00,$95,$00,$95,$00,$95,$00,$95 .db $80,$9E,$80,$A0,$80,$A2,$80,$A0 .db $80,$7D,$80,$7F,$80,$81,$80,$83 .db $00,$7E,$00,$80,$00,$82,$00,$84 .db $80,$7E,$80,$80,$80,$82,$80,$84 .db $80,$83,$80,$81,$80,$7F,$80,$7D .db $00,$95,$00,$95,$00,$95,$00,$95 .db $80,$A6,$80,$A8,$80,$AA,$80,$A8 .db $00,$8E,$00,$90,$00,$92,$00,$94 .db $00,$95,$00,$95,$00,$95,$00,$95 .db $00,$95,$00,$95,$00,$95,$00,$95 .db $80,$9E,$80,$A0,$80,$A2,$80,$A0 .db $00,$A6,$00,$A8,$00,$AA,$00,$A8 .db $00,$95,$00,$95,$00,$95,$00,$95 .db $00,$95,$00,$95,$00,$95,$00,$95 .db $00,$95,$00,$95,$00,$95,$00,$95 .db $80,$91,$80,$91,$80,$91,$80,$91 .db $80,$96,$80,$98,$80,$9A,$80,$9C .db $80,$96,$80,$98,$80,$9A,$80,$9C .db $80,$96,$80,$98,$80,$9A,$80,$9C .db $00,$95,$00,$97,$00,$99,$00,$9B .db $80,$AC,$80,$AC,$80,$AC,$80,$AC .db $00,$93,$00,$93,$00,$93,$00,$93 .db $80,$93,$80,$93,$80,$93,$80,$93 CODE_05BB39: 8B PHB CODE_05BB3A: 4B PHK CODE_05BB3B: AB PLB CODE_05BB3C: A5 14 LDA RAM_FrameCounterB CODE_05BB3E: 29 07 AND.B #$07 CODE_05BB40: 85 00 STA $00 CODE_05BB42: 0A ASL CODE_05BB43: 65 00 ADC $00 CODE_05BB45: A8 TAY CODE_05BB46: 0A ASL CODE_05BB47: AA TAX CODE_05BB48: C2 20 REP #$20 ; Accum (16 bit) CODE_05BB4A: A5 14 LDA RAM_FrameCounterB CODE_05BB4C: 29 18 00 AND.W #$0018 CODE_05BB4F: 4A LSR CODE_05BB50: 4A LSR CODE_05BB51: 85 00 STA $00 CODE_05BB53: BD 3B B9 LDA.W DATA_05B93B,X CODE_05BB56: 8D 80 0D STA.W $0D80 CODE_05BB59: BD 3D B9 LDA.W DATA_05B93D,X CODE_05BB5C: 8D 7E 0D STA.W $0D7E CODE_05BB5F: BD 3F B9 LDA.W DATA_05B93F,X CODE_05BB62: 8D 7C 0D STA.W $0D7C CODE_05BB65: A2 04 LDX.B #$04 CODE_05BB67: 5A PHY CODE_05BB68: DA PHX CODE_05BB69: E2 20 SEP #$20 ; Accum (8 bit) CODE_05BB6B: 98 TYA CODE_05BB6C: BE 6B B9 LDX.W DATA_05B96B,Y CODE_05BB6F: F0 17 BEQ CODE_05BB88 CODE_05BB71: CA DEX CODE_05BB72: D0 0D BNE CODE_05BB81 CODE_05BB74: BE 7D B9 LDX.W DATA_05B97D,Y CODE_05BB77: BC AD 14 LDY.W RAM_BluePowTimer,X CODE_05BB7A: F0 0C BEQ CODE_05BB88 CODE_05BB7C: 18 CLC CODE_05BB7D: 69 26 ADC.B #$26 CODE_05BB7F: 80 07 BRA CODE_05BB88 CODE_05BB81: AC 31 19 LDY.W $1931 CODE_05BB84: 18 CLC CODE_05BB85: 79 8B B9 ADC.W DATA_05B98B,Y CODE_05BB88: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_05BB8A: 29 FF 00 AND.W #$00FF CODE_05BB8D: 0A ASL CODE_05BB8E: 0A ASL CODE_05BB8F: 0A ASL CODE_05BB90: 05 00 ORA $00 CODE_05BB92: A8 TAY CODE_05BB93: B9 99 B9 LDA.W AnimatedTileData,Y CODE_05BB96: E2 10 SEP #$10 ; Index (8 bit) CODE_05BB98: FA PLX CODE_05BB99: 9D 76 0D STA.W $0D76,X CODE_05BB9C: 7A PLY CODE_05BB9D: C8 INY CODE_05BB9E: CA DEX CODE_05BB9F: CA DEX CODE_05BBA0: 10 C5 BPL CODE_05BB67 CODE_05BBA2: E2 20 SEP #$20 ; Accum (8 bit) CODE_05BBA4: AB PLB Return05BBA5: 6B RTL ; Return DATA_05BBA6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF CODE_05BC00: 8B PHB CODE_05BC01: 4B PHK CODE_05BC02: AB PLB CODE_05BC03: 20 76 BC JSR.W CODE_05BC76 CODE_05BC06: 20 A5 BC JSR.W CODE_05BCA5 CODE_05BC09: 20 4A BC JSR.W CODE_05BC4A CODE_05BC0C: AD 62 14 LDA.W $1462 CODE_05BC0F: 38 SEC CODE_05BC10: E5 1A SBC RAM_ScreenBndryXLo CODE_05BC12: 18 CLC CODE_05BC13: 6D BD 17 ADC.W $17BD CODE_05BC16: 8D BD 17 STA.W $17BD CODE_05BC19: AD 64 14 LDA.W $1464 CODE_05BC1C: 38 SEC CODE_05BC1D: E5 1C SBC RAM_ScreenBndryYLo CODE_05BC1F: 18 CLC CODE_05BC20: 6D BC 17 ADC.W $17BC CODE_05BC23: 8D BC 17 STA.W $17BC CODE_05BC26: AD 66 14 LDA.W $1466 CODE_05BC29: 38 SEC CODE_05BC2A: E5 1E SBC $1E CODE_05BC2C: AC 3F 14 LDY.W $143F CODE_05BC2F: 88 DEY CODE_05BC30: D0 01 BNE CODE_05BC33 CODE_05BC32: 98 TYA CODE_05BC33: 8D BF 17 STA.W $17BF CODE_05BC36: AD 68 14 LDA.W $1468 CODE_05BC39: 38 SEC CODE_05BC3A: E5 20 SBC $20 CODE_05BC3C: 8D BE 17 STA.W $17BE CODE_05BC3F: AD D5 13 LDA.W $13D5 CODE_05BC42: D0 03 BNE CODE_05BC47 CODE_05BC44: 20 0C C4 JSR.W CODE_05C40C CODE_05BC47: AB PLB Return05BC48: 6B RTL ; Return Return05BC49: 60 RTS ; Return CODE_05BC4A: C2 20 REP #$20 ; Accum (16 bit) CODE_05BC4C: AC 03 14 LDY.W $1403 CODE_05BC4F: D0 0E BNE CODE_05BC5F CODE_05BC51: AD 66 14 LDA.W $1466 CODE_05BC54: 38 SEC CODE_05BC55: ED 62 14 SBC.W $1462 CODE_05BC58: 85 26 STA $26 CODE_05BC5A: AD 68 14 LDA.W $1468 CODE_05BC5D: 80 0A BRA CODE_05BC69 CODE_05BC5F: A5 22 LDA $22 CODE_05BC61: 38 SEC CODE_05BC62: ED 62 14 SBC.W $1462 CODE_05BC65: 85 26 STA $26 CODE_05BC67: A5 24 LDA $24 CODE_05BC69: 38 SEC CODE_05BC6A: ED 64 14 SBC.W $1464 CODE_05BC6D: 85 28 STA $28 CODE_05BC6F: E2 20 SEP #$20 ; Accum (8 bit) Return05BC71: 60 RTS ; Return CODE_05BC72: 20 4A BC JSR.W CODE_05BC4A Return05BC75: 6B RTL ; Return CODE_05BC76: 9C 56 14 STZ.W $1456 CODE_05BC79: AD 9D 00 LDA.W RAM_SpritesLocked CODE_05BC7C: D0 CB BNE Return05BC49 CODE_05BC7E: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_05BC81: F0 C6 BEQ Return05BC49 CODE_05BC83: 22 DF 86 00 JSL.L ExecutePtr Ptrs05BC87: 4D C0 .dw CODE_05C04D ; 00 - Auto-Scroll, Unused? 4D C0 .dw CODE_05C04D ; 01 - Auto-Scroll 49 BC .dw Return05BC49 ; 02 - Layer 2 Smash 49 BC .dw Return05BC49 ; 03 - Layer 2 Scroll 83 C2 .dw ADDR_05C283 ; 04 - Unused 9E C6 .dw ADDR_05C69E ; 05 - Unused 49 BC .dw Return05BC49 ; 06 - Layer 2 Falls F5 BF .dw Return05BFF5 ; 07 - Unused 1F C5 .dw CODE_05C51F ; 08 - Layer 2 Scroll 49 BC .dw Return05BC49 ; 09 - Unused 2E C3 .dw ADDR_05C32E ; 0A - Unused 27 C7 .dw CODE_05C727 ; 0B - Layer 2 On/Off Switch controlled 87 C7 .dw CODE_05C787 ; 0C - Auto-Scroll level 49 BC .dw Return05BC49 ; 0D - Fast BG scroll 49 BC .dw Return05BC49 ; 0E - Layer 2 sink/rise CODE_05BCA5: A9 04 LDA.B #$04 CODE_05BCA7: 8D 56 14 STA.W $1456 CODE_05BCAA: AD 3F 14 LDA.W $143F CODE_05BCAD: F0 9A BEQ Return05BC49 CODE_05BCAF: AC 9D 00 LDY.W RAM_SpritesLocked CODE_05BCB2: D0 95 BNE Return05BC49 CODE_05BCB4: 22 DF 86 00 JSL.L ExecutePtr Ptrs05BCB8: 4D C0 .dw CODE_05C04D 98 C1 .dw CODE_05C198 55 C9 .dw CODE_05C955 BB C5 .dw CODE_05C5BB 83 C2 .dw ADDR_05C283 49 BC .dw Return05BC49 59 C6 .dw ADDR_05C659 F5 BF .dw Return05BFF5 1F C5 .dw CODE_05C51F C1 C7 .dw CODE_05C7C1 2E C3 .dw ADDR_05C32E 27 C7 .dw CODE_05C727 87 C7 .dw CODE_05C787 BC C7 .dw CODE_05C7BC 1C C8 .dw CODE_05C81C CODE_05BCD6: 8B PHB CODE_05BCD7: 4B PHK CODE_05BCD8: AB PLB CODE_05BCD9: 9C 56 14 STZ.W $1456 CODE_05BCDC: 20 E9 BC JSR.W CODE_05BCE9 CODE_05BCDF: A9 04 LDA.B #$04 CODE_05BCE1: 8D 56 14 STA.W $1456 CODE_05BCE4: 20 0E BD JSR.W CODE_05BD0E CODE_05BCE7: AB PLB Return05BCE8: 6B RTL ; Return CODE_05BCE9: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_05BCEC: 22 DF 86 00 JSL.L ExecutePtr Ptrs05BCF0: 36 BD .dw CODE_05BD36 ; 00 - Auto-Scroll, Unused? 36 BD .dw CODE_05BD36 ; 01 - Auto-Scroll 6A BF .dw CODE_05BF6A ; 02 - Layer 2 Smash 0A BF .dw CODE_05BF0A ; 03 - Layer 2 Scroll DD BD .dw ADDR_05BDDD ; 04 - Unused BA BF .dw ADDR_05BFBA ; 05 - Unused 97 BF .dw ADDR_05BF97 ; 06 - Layer 2 Falls 35 BD .dw Return05BD35 ; 07 - Unused A6 BE .dw CODE_05BEA6 ; 08 - Layer 2 Scroll 49 BC .dw Return05BC49 ; 09 - Unused 3A BE .dw ADDR_05BE3A ; 0A - Unused F6 BF .dw CODE_05BFF6 ; 0B - Layer 2 On/Off Switch controlled 05 C0 .dw CODE_05C005 ; 0C - Auto-Scroll level 1A C0 .dw CODE_05C01A ; 0D - Fast BG scroll 36 C0 .dw CODE_05C036 ; 0E - Layer 2 sink/rise CODE_05BD0E: AD 3F 14 LDA.W $143F CODE_05BD11: F0 22 BEQ Return05BD35 CODE_05BD13: 22 DF 86 00 JSL.L ExecutePtr Ptrs05BD17: 4C BD .dw CODE_05BD4C 4C BD .dw CODE_05BD4C 49 BC .dw Return05BC49 20 BF .dw CODE_05BF20 F0 BD .dw ADDR_05BDF0 49 BC .dw Return05BC49 49 BC .dw Return05BC49 35 BD .dw Return05BD35 C6 BE .dw CODE_05BEC6 22 C0 .dw CODE_05C022 4D BE .dw ADDR_05BE4D 49 BC .dw Return05BC49 49 BC .dw Return05BC49 49 BC .dw Return05BC49 49 BC .dw Return05BC49 Return05BD35: 60 RTS ; Return CODE_05BD36: 9C 11 14 STZ.W $1411 CODE_05BD39: AD 40 14 LDA.W $1440 CODE_05BD3C: 0A ASL CODE_05BD3D: A8 TAY CODE_05BD3E: C2 20 REP #$20 ; Accum (16 bit) CODE_05BD40: B9 D1 C9 LDA.W DATA_05C9D1,Y CODE_05BD43: 8D 3E 14 STA.W RAM_ScrollSprNum CODE_05BD46: B9 DB C9 LDA.W DATA_05C9DB,Y CODE_05BD49: 8D 40 14 STA.W $1440 CODE_05BD4C: AE 56 14 LDX.W $1456 CODE_05BD4F: C2 20 REP #$20 ; Accum (16 bit) CODE_05BD51: 9E 46 14 STZ.W $1446,X CODE_05BD54: 9E 48 14 STZ.W $1448,X CODE_05BD57: 9E 4E 14 STZ.W $144E,X CODE_05BD5A: 9E 50 14 STZ.W $1450,X CODE_05BD5D: E2 20 SEP #$20 ; Accum (8 bit) CODE_05BD5F: 8A TXA CODE_05BD60: 4A LSR CODE_05BD61: 4A LSR CODE_05BD62: AA TAX CODE_05BD63: AC 40 14 LDY.W $1440 CODE_05BD66: AD 56 14 LDA.W $1456 CODE_05BD69: F0 03 BEQ CODE_05BD6E CODE_05BD6B: AC 41 14 LDY.W $1441 CODE_05BD6E: B9 61 CA LDA.W DATA_05CA61,Y CODE_05BD71: 9D 42 14 STA.W $1442,X CODE_05BD74: B9 68 CA LDA.W DATA_05CA68,Y CODE_05BD77: 9D 44 14 STA.W $1444,X Return05BD7A: 60 RTS ; Return ADDR_05BD7B: AD 40 14 LDA.W $1440 ; \ Unreachable ADDR_05BD7E: 0A ASL ADDR_05BD7F: A8 TAY ADDR_05BD80: C2 20 REP #$20 ; Accum (16 bit) ADDR_05BD82: B9 E5 C9 LDA.W DATA_05C9E5,Y ADDR_05BD85: 8D 3E 14 STA.W RAM_ScrollSprNum ADDR_05BD88: B9 E7 C9 LDA.W DATA_05C9E7,Y ADDR_05BD8B: 8D 40 14 STA.W $1440 ADDR_05BD8E: C2 20 REP #$20 ; Accum (16 bit) ADDR_05BD90: AC 40 14 LDY.W $1440 ADDR_05BD93: AD 56 14 LDA.W $1456 ADDR_05BD96: 29 FF 00 AND.W #$00FF ADDR_05BD99: F0 03 BEQ ADDR_05BD9E ADDR_05BD9B: AC 41 14 LDY.W $1441 ADDR_05BD9E: AD 56 14 LDA.W $1456 ADDR_05BDA1: 29 FF 00 AND.W #$00FF ADDR_05BDA4: 4A LSR ADDR_05BDA5: 4A LSR ADDR_05BDA6: AA TAX ADDR_05BDA7: B9 E9 C9 LDA.W DATA_05C9E9,Y ADDR_05BDAA: 9D 42 14 STA.W $1442,X ADDR_05BDAD: B9 C7 CB LDA.W DATA_05CBC7,Y ADDR_05BDB0: 29 FF 00 AND.W #$00FF ADDR_05BDB3: F0 04 BEQ ADDR_05BDB9 ADDR_05BDB5: 49 FF FF EOR.W #$FFFF ADDR_05BDB8: 1A INC A ADDR_05BDB9: AE 56 14 LDX.W $1456 ADDR_05BDBC: 18 CLC ADDR_05BDBD: 7D 64 14 ADC.W $1464,X ADDR_05BDC0: 29 FF 00 AND.W #$00FF ADDR_05BDC3: 9D 4E 14 STA.W $144E,X ADDR_05BDC6: 9E 50 14 STZ.W $1450,X CODE_05BDC9: 9E 46 14 STZ.W $1446,X CODE_05BDCC: 9E 48 14 STZ.W $1448,X CODE_05BDCF: E2 20 SEP #$20 ; Accum (8 bit) CODE_05BDD1: 8A TXA CODE_05BDD2: 4A LSR CODE_05BDD3: 4A LSR CODE_05BDD4: 29 FF AND.B #$FF CODE_05BDD6: AA TAX CODE_05BDD7: A9 FF LDA.B #$FF CODE_05BDD9: 9D 44 14 STA.W $1444,X Return05BDDC: 60 RTS ; Return ADDR_05BDDD: AD 40 14 LDA.W $1440 ADDR_05BDE0: 0A ASL ADDR_05BDE1: A8 TAY ADDR_05BDE2: C2 20 REP #$20 ; Accum (16 bit) ADDR_05BDE4: B9 08 CA LDA.W DATA_05CA08,Y ADDR_05BDE7: 8D 3E 14 STA.W RAM_ScrollSprNum ADDR_05BDEA: B9 0C CA LDA.W DATA_05CA0C,Y ADDR_05BDED: 8D 40 14 STA.W $1440 ADDR_05BDF0: C2 20 REP #$20 ; Accum (16 bit) ADDR_05BDF2: AC 40 14 LDY.W $1440 ADDR_05BDF5: AD 56 14 LDA.W $1456 ADDR_05BDF8: 29 FF 00 AND.W #$00FF ADDR_05BDFB: F0 03 BEQ ADDR_05BE00 ADDR_05BDFD: AC 41 14 LDY.W $1441 ADDR_05BE00: AD 56 14 LDA.W $1456 ADDR_05BE03: 29 FF 00 AND.W #$00FF ADDR_05BE06: 4A LSR ADDR_05BE07: 4A LSR ADDR_05BE08: AA TAX ADDR_05BE09: B9 10 CA LDA.W DATA_05CA10,Y ADDR_05BE0C: 9D 42 14 STA.W $1442,X ADDR_05BE0F: 48 PHA ADDR_05BE10: 98 TYA ADDR_05BE11: 0A ASL ADDR_05BE12: A8 TAY ADDR_05BE13: B9 12 CA LDA.W DATA_05CA12,Y ADDR_05BE16: 85 00 STA $00 ADDR_05BE18: 68 PLA ADDR_05BE19: A8 TAY ADDR_05BE1A: AE 56 14 LDX.W $1456 ADDR_05BE1D: A5 00 LDA $00 ADDR_05BE1F: C0 01 CPY.B #$01 ADDR_05BE21: F0 04 BEQ ADDR_05BE27 ADDR_05BE23: 49 FF FF EOR.W #$FFFF ADDR_05BE26: 1A INC A ADDR_05BE27: 18 CLC ADDR_05BE28: 7D 64 14 ADC.W $1464,X ADDR_05BE2B: 9D 4E 14 STA.W $144E,X ADDR_05BE2E: 9E 46 14 STZ.W $1446,X ADDR_05BE31: 9E 48 14 STZ.W $1448,X ADDR_05BE34: 9E 50 14 STZ.W $1450,X ADDR_05BE37: E2 20 SEP #$20 ; Accum (8 bit) Return05BE39: 60 RTS ; Return ADDR_05BE3A: AD 40 14 LDA.W $1440 ADDR_05BE3D: 0A ASL ADDR_05BE3E: A8 TAY ADDR_05BE3F: C2 20 REP #$20 ; Accum (16 bit) ADDR_05BE41: B9 16 CA LDA.W DATA_05CA16,Y ADDR_05BE44: 8D 3E 14 STA.W RAM_ScrollSprNum ADDR_05BE47: B9 1E CA LDA.W DATA_05CA1E,Y ADDR_05BE4A: 8D 40 14 STA.W $1440 ADDR_05BE4D: C2 20 REP #$20 ; Accum (16 bit) ADDR_05BE4F: AC 40 14 LDY.W $1440 ADDR_05BE52: AD 56 14 LDA.W $1456 ADDR_05BE55: 29 FF 00 AND.W #$00FF ADDR_05BE58: F0 03 BEQ ADDR_05BE5D ADDR_05BE5A: AC 41 14 LDY.W $1441 ADDR_05BE5D: AD 56 14 LDA.W $1456 ADDR_05BE60: 29 FF 00 AND.W #$00FF ADDR_05BE63: 4A LSR ADDR_05BE64: 4A LSR ADDR_05BE65: AA TAX ADDR_05BE66: B9 26 CA LDA.W DATA_05CA26,Y ADDR_05BE69: 9D 42 14 STA.W $1442,X ADDR_05BE6C: A8 TAY ADDR_05BE6D: AE 56 14 LDX.W $1456 ADDR_05BE70: A9 17 0F LDA.W #$0F17 ADDR_05BE73: C0 01 CPY.B #$01 ADDR_05BE75: F0 04 BEQ ADDR_05BE7B ADDR_05BE77: 49 FF FF EOR.W #$FFFF ADDR_05BE7A: 1A INC A ADDR_05BE7B: 9D 50 14 STA.W $1450,X ADDR_05BE7E: 9E 46 14 STZ.W $1446,X ADDR_05BE81: 9E 48 14 STZ.W $1448,X ADDR_05BE84: 9E 4E 14 STZ.W $144E,X ADDR_05BE87: E2 20 SEP #$20 ; Accum (8 bit) Return05BE89: 60 RTS ; Return CODE_05BE8A: 8B PHB CODE_05BE8B: 4B PHK CODE_05BE8C: AB PLB CODE_05BE8D: C2 20 REP #$20 ; Accum (16 bit) CODE_05BE8F: AD 26 CA LDA.W DATA_05CA26 CODE_05BE92: 8D 60 14 STA.W $1460 CODE_05BE95: 9C 58 14 STZ.W $1458 CODE_05BE98: 9C 5A 14 STZ.W $145A CODE_05BE9B: 9C 5C 14 STZ.W $145C CODE_05BE9E: A5 1C LDA RAM_ScreenBndryYLo CODE_05BEA0: 85 24 STA $24 CODE_05BEA2: E2 20 SEP #$20 ; Accum (8 bit) CODE_05BEA4: AB PLB Return05BEA5: 6B RTL ; Return CODE_05BEA6: 9C 11 14 STZ.W $1411 CODE_05BEA9: AD 40 14 LDA.W $1440 CODE_05BEAC: 0A ASL CODE_05BEAD: A8 TAY CODE_05BEAE: C2 20 REP #$20 ; Accum (16 bit) CODE_05BEB0: B9 3E CA LDA.W DATA_05CA3E,Y CODE_05BEB3: 8D 3E 14 STA.W RAM_ScrollSprNum CODE_05BEB6: B9 42 CA LDA.W DATA_05CA42,Y CODE_05BEB9: 8D 40 14 STA.W $1440 CODE_05BEBC: 64 1A STZ RAM_ScreenBndryXLo CODE_05BEBE: 9C 62 14 STZ.W $1462 CODE_05BEC1: 64 1E STZ $1E CODE_05BEC3: 9C 66 14 STZ.W $1466 CODE_05BEC6: C2 20 REP #$20 ; Accum (16 bit) CODE_05BEC8: AC 40 14 LDY.W $1440 CODE_05BECB: AD 56 14 LDA.W $1456 CODE_05BECE: 29 FF 00 AND.W #$00FF CODE_05BED1: F0 03 BEQ CODE_05BED6 CODE_05BED3: AC 41 14 LDY.W $1441 CODE_05BED6: AD 56 14 LDA.W $1456 CODE_05BED9: 29 FF 00 AND.W #$00FF CODE_05BEDC: 4A LSR CODE_05BEDD: 4A LSR CODE_05BEDE: AA TAX CODE_05BEDF: B9 46 CA LDA.W DATA_05CA46,Y CODE_05BEE2: 9D 42 14 STA.W $1442,X CODE_05BEE5: AA TAX CODE_05BEE6: 98 TYA CODE_05BEE7: 0A ASL CODE_05BEE8: A8 TAY CODE_05BEE9: B9 ED CB LDA.W DATA_05CBED,Y CODE_05BEEC: 29 FF 00 AND.W #$00FF CODE_05BEEF: E0 01 CPX.B #$01 CODE_05BEF1: F0 04 BEQ CODE_05BEF7 ADDR_05BEF3: 49 FF FF EOR.W #$FFFF ADDR_05BEF6: 1A INC A CODE_05BEF7: AE 56 14 LDX.W $1456 CODE_05BEFA: 18 CLC CODE_05BEFB: 7D 62 14 ADC.W $1462,X CODE_05BEFE: 29 FF 00 AND.W #$00FF CODE_05BF01: 9D 50 14 STA.W $1450,X CODE_05BF04: 9E 4E 14 STZ.W $144E,X CODE_05BF07: 4C C9 BD JMP.W CODE_05BDC9 CODE_05BF0A: 9C 14 14 STZ.W $1414 CODE_05BF0D: AD 40 14 LDA.W $1440 CODE_05BF10: 0A ASL CODE_05BF11: A8 TAY CODE_05BF12: C2 20 REP #$20 ; Accum (16 bit) CODE_05BF14: B9 48 CA LDA.W DATA_05CA48,Y CODE_05BF17: 8D 3E 14 STA.W RAM_ScrollSprNum CODE_05BF1A: B9 52 CA LDA.W DATA_05CA52,Y CODE_05BF1D: 8D 40 14 STA.W $1440 CODE_05BF20: C2 20 REP #$20 ; Accum (16 bit) CODE_05BF22: AC 40 14 LDY.W $1440 CODE_05BF25: AD 56 14 LDA.W $1456 CODE_05BF28: 29 FF 00 AND.W #$00FF CODE_05BF2B: F0 03 BEQ CODE_05BF30 CODE_05BF2D: AC 41 14 LDY.W $1441 CODE_05BF30: AD 56 14 LDA.W $1456 CODE_05BF33: 29 FF 00 AND.W #$00FF CODE_05BF36: 4A LSR CODE_05BF37: 4A LSR CODE_05BF38: AA TAX CODE_05BF39: B9 5C CA LDA.W DATA_05CA5C,Y CODE_05BF3C: 9D 42 14 STA.W $1442,X CODE_05BF3F: AA TAX CODE_05BF40: 98 TYA CODE_05BF41: 0A ASL CODE_05BF42: A8 TAY CODE_05BF43: B9 F5 CB LDA.W DATA_05CBF5,Y CODE_05BF46: 29 FF 00 AND.W #$00FF CODE_05BF49: E0 01 CPX.B #$01 CODE_05BF4B: F0 04 BEQ CODE_05BF51 CODE_05BF4D: 49 FF FF EOR.W #$FFFF CODE_05BF50: 1A INC A CODE_05BF51: AE 56 14 LDX.W $1456 CODE_05BF54: 18 CLC CODE_05BF55: 7D 64 14 ADC.W $1464,X CODE_05BF58: 29 FF 00 AND.W #$00FF CODE_05BF5B: 9D 4E 14 STA.W $144E,X CODE_05BF5E: 9E 50 14 STZ.W $1450,X CODE_05BF61: 9E 48 14 STZ.W $1448,X CODE_05BF64: 9E 48 14 STZ.W $1448,X CODE_05BF67: 4C CF BD JMP.W CODE_05BDCF CODE_05BF6A: AC 40 14 LDY.W $1440 ; Accum (8 bit) CODE_05BF6D: B9 4F C9 LDA.W DATA_05C94F,Y CODE_05BF70: 8D 40 14 STA.W $1440 CODE_05BF73: B9 52 C9 LDA.W DATA_05C952,Y CODE_05BF76: 8D 41 14 STA.W $1441 CODE_05BF79: C2 20 REP #$20 ; Accum (16 bit) CODE_05BF7B: A9 00 02 LDA.W #$0200 CODE_05BF7E: 20 D2 BF JSR.W CODE_05BFD2 CODE_05BF81: AD 40 14 LDA.W $1440 ; Accum (8 bit) CODE_05BF84: 18 CLC CODE_05BF85: 69 0A ADC.B #$0A CODE_05BF87: AA TAX CODE_05BF88: A0 01 LDY.B #$01 CODE_05BF8A: 20 5B C9 JSR.W CODE_05C95B CODE_05BF8D: C2 20 REP #$20 ; Accum (16 bit) CODE_05BF8F: AD 68 14 LDA.W $1468 CODE_05BF92: 85 20 STA $20 CODE_05BF94: 4C 2B C3 JMP.W CODE_05C32B ADDR_05BF97: 9C 11 14 STZ.W $1411 ADDR_05BF9A: C2 20 REP #$20 ; Accum (16 bit) ADDR_05BF9C: 64 1A STZ RAM_ScreenBndryXLo ADDR_05BF9E: 9C 62 14 STZ.W $1462 ADDR_05BFA1: 64 1E STZ $1E ADDR_05BFA3: 9C 66 14 STZ.W $1466 ADDR_05BFA6: A9 00 06 LDA.W #$0600 ADDR_05BFA9: 8D 3E 14 STA.W RAM_ScrollSprNum ADDR_05BFAC: 9C 4C 14 STZ.W $144C ADDR_05BFAF: 9C 54 14 STZ.W $1454 ADDR_05BFB2: E2 20 SEP #$20 ; Accum (8 bit) ADDR_05BFB4: A9 60 LDA.B #$60 ADDR_05BFB6: 8D 41 14 STA.W $1441 Return05BFB9: 60 RTS ; Return ADDR_05BFBA: 9C 11 14 STZ.W $1411 ADDR_05BFBD: C2 20 REP #$20 ; Accum (16 bit) ADDR_05BFBF: 64 1E STZ $1E ADDR_05BFC1: 9C 66 14 STZ.W $1466 ADDR_05BFC4: A9 C0 03 LDA.W #$03C0 ADDR_05BFC7: 85 20 STA $20 ADDR_05BFC9: 8D 68 14 STA.W $1468 ADDR_05BFCC: 9C 40 14 STZ.W $1440 ADDR_05BFCF: A9 05 00 LDA.W #$0005 CODE_05BFD2: 9C 44 14 STZ.W $1444 CODE_05BFD5: 9C 42 14 STZ.W $1442 CODE_05BFD8: 8D 3E 14 STA.W RAM_ScrollSprNum CODE_05BFDB: 9C 46 14 STZ.W $1446 CODE_05BFDE: 9C 48 14 STZ.W $1448 CODE_05BFE1: 9C 4E 14 STZ.W $144E CODE_05BFE4: 9C 50 14 STZ.W $1450 CODE_05BFE7: 9C 4A 14 STZ.W $144A CODE_05BFEA: 9C 4C 14 STZ.W $144C CODE_05BFED: 9C 52 14 STZ.W $1452 CODE_05BFF0: 9C 54 14 STZ.W $1454 CODE_05BFF3: E2 20 SEP #$20 ; Accum (8 bit) Return05BFF5: 60 RTS ; Return CODE_05BFF6: C2 20 REP #$20 ; Accum (16 bit) CODE_05BFF8: A9 00 0B LDA.W #$0B00 CODE_05BFFB: 80 D5 BRA CODE_05BFD2 DATA_05BFFD: .db $00,$00,$02,$00 DATA_05C001: .db $80,$00,$00,$01 CODE_05C005: 9C 11 14 STZ.W $1411 CODE_05C008: AD 40 14 LDA.W $1440 CODE_05C00B: 0A ASL CODE_05C00C: A8 TAY CODE_05C00D: C2 20 REP #$20 ; Accum (16 bit) CODE_05C00F: B9 FD BF LDA.W DATA_05BFFD,Y CODE_05C012: 8D 40 14 STA.W $1440 CODE_05C015: A9 0C 00 LDA.W #$000C CODE_05C018: 80 B8 BRA CODE_05BFD2 CODE_05C01A: C2 20 REP #$20 ; Accum (16 bit) CODE_05C01C: A9 00 0D LDA.W #$0D00 CODE_05C01F: 20 D2 BF JSR.W CODE_05BFD2 CODE_05C022: 9C 13 14 STZ.W $1413 CODE_05C025: C2 20 REP #$20 ; Accum (16 bit) CODE_05C027: 9C 4A 14 STZ.W $144A CODE_05C02A: 9C 4C 14 STZ.W $144C CODE_05C02D: 9C 52 14 STZ.W $1452 CODE_05C030: 9C 54 14 STZ.W $1454 CODE_05C033: E2 20 SEP #$20 ; Accum (8 bit) Return05C035: 60 RTS ; Return CODE_05C036: AC 40 14 LDY.W $1440 CODE_05C039: B9 08 C8 LDA.W DATA_05C808,Y CODE_05C03C: 8D 44 14 STA.W $1444 CODE_05C03F: B9 0B C8 LDA.W DATA_05C80B,Y CODE_05C042: 8D 45 14 STA.W $1445 CODE_05C045: C2 20 REP #$20 ; Accum (16 bit) CODE_05C047: A9 00 0E LDA.W #$0E00 CODE_05C04A: 4C D5 BF JMP.W CODE_05BFD5 CODE_05C04D: AD 56 14 LDA.W $1456 CODE_05C050: 4A LSR CODE_05C051: 4A LSR CODE_05C052: AA TAX CODE_05C053: BD 44 14 LDA.W $1444,X CODE_05C056: D0 07 BNE CODE_05C05F CODE_05C058: AE 56 14 LDX.W $1456 CODE_05C05B: 9E 46 14 STZ.W $1446,X Return05C05E: 60 RTS ; Return CODE_05C05F: C2 20 REP #$20 ; Accum (16 bit) CODE_05C061: BD 42 14 LDA.W $1442,X CODE_05C064: A8 TAY CODE_05C065: B9 6E CA LDA.W DATA_05CA6E,Y CODE_05C068: 29 FF 00 AND.W #$00FF CODE_05C06B: 85 04 STA $04 CODE_05C06D: B9 BE CA LDA.W DATA_05CABE,Y CODE_05C070: 29 FF 00 AND.W #$00FF CODE_05C073: 85 06 STA $06 CODE_05C075: AD 56 14 LDA.W $1456 CODE_05C078: 29 FF 00 AND.W #$00FF CODE_05C07B: AA TAX CODE_05C07C: BD 62 14 LDA.W $1462,X CODE_05C07F: 85 00 STA $00 CODE_05C081: BD 64 14 LDA.W $1464,X CODE_05C084: 85 02 STA $02 CODE_05C086: A2 02 LDX.B #$02 CODE_05C088: B9 6F CA LDA.W DATA_05CA6F,Y CODE_05C08B: 29 FF 00 AND.W #$00FF CODE_05C08E: C5 04 CMP $04 CODE_05C090: D0 06 BNE CODE_05C098 CODE_05C092: 64 04 STZ $04 CODE_05C094: 86 08 STX $08 CODE_05C096: 80 15 BRA CODE_05C0AD CODE_05C098: 0A ASL CODE_05C099: 0A ASL CODE_05C09A: 0A ASL CODE_05C09B: 0A ASL CODE_05C09C: 38 SEC CODE_05C09D: E5 00 SBC $00 CODE_05C09F: 85 00 STA $00 CODE_05C0A1: 10 06 BPL CODE_05C0A9 CODE_05C0A3: A2 00 LDX.B #$00 CODE_05C0A5: 49 FF FF EOR.W #$FFFF CODE_05C0A8: 1A INC A CODE_05C0A9: 85 04 STA $04 CODE_05C0AB: 86 08 STX $08 CODE_05C0AD: A2 00 LDX.B #$00 CODE_05C0AF: B9 BF CA LDA.W DATA_05CABF,Y CODE_05C0B2: 29 FF 00 AND.W #$00FF CODE_05C0B5: C5 06 CMP $06 CODE_05C0B7: D0 04 BNE CODE_05C0BD CODE_05C0B9: 64 06 STZ $06 CODE_05C0BB: 80 13 BRA CODE_05C0D0 CODE_05C0BD: 0A ASL CODE_05C0BE: 0A ASL CODE_05C0BF: 0A ASL CODE_05C0C0: 0A ASL CODE_05C0C1: 38 SEC CODE_05C0C2: E5 02 SBC $02 CODE_05C0C4: 85 02 STA $02 CODE_05C0C6: 10 06 BPL CODE_05C0CE CODE_05C0C8: A2 02 LDX.B #$02 CODE_05C0CA: 49 FF FF EOR.W #$FFFF CODE_05C0CD: 1A INC A CODE_05C0CE: 85 06 STA $06 CODE_05C0D0: A5 5B LDA RAM_IsVerticalLvl CODE_05C0D2: 4A LSR CODE_05C0D3: B0 02 BCS CODE_05C0D7 CODE_05C0D5: A6 08 LDX $08 CODE_05C0D7: 86 55 STX $55 CODE_05C0D9: A9 FF FF LDA.W #$FFFF CODE_05C0DC: 85 08 STA $08 CODE_05C0DE: A5 04 LDA $04 CODE_05C0E0: 85 0A STA $0A CODE_05C0E2: A5 06 LDA $06 CODE_05C0E4: 85 0C STA $0C CODE_05C0E6: C5 04 CMP $04 CODE_05C0E8: 90 0B BCC CODE_05C0F5 CODE_05C0EA: 85 0A STA $0A CODE_05C0EC: A5 04 LDA $04 CODE_05C0EE: 85 0C STA $0C CODE_05C0F0: A9 01 00 LDA.W #$0001 CODE_05C0F3: 85 08 STA $08 CODE_05C0F5: A5 0A LDA $0A CODE_05C0F7: 8D 04 42 STA.W $4204 ; Dividend (Low Byte) CODE_05C0FA: E2 20 SEP #$20 ; Accum (8 bit) CODE_05C0FC: B9 0F CB LDA.W DATA_05CB0F,Y CODE_05C0FF: 8D 06 42 STA.W $4206 ; Divisor B CODE_05C102: EA NOP CODE_05C103: EA NOP CODE_05C104: EA NOP CODE_05C105: EA NOP CODE_05C106: EA NOP CODE_05C107: EA NOP CODE_05C108: C2 20 REP #$20 ; Accum (16 bit) CODE_05C10A: AD 14 42 LDA.W $4214 ; Quotient of Divide Result (Low Byte) CODE_05C10D: D0 14 BNE CODE_05C123 CODE_05C10F: AD 56 14 LDA.W $1456 CODE_05C112: 29 FF 00 AND.W #$00FF CODE_05C115: 4A LSR CODE_05C116: 4A LSR CODE_05C117: AA TAX CODE_05C118: FE 42 14 INC.W $1442,X CODE_05C11B: E2 20 SEP #$20 ; Accum (8 bit) CODE_05C11D: DE 44 14 DEC.W $1444,X CODE_05C120: 4C 4D C0 JMP.W CODE_05C04D CODE_05C123: 85 0A STA $0A ; Accum (16 bit) CODE_05C125: A5 0C LDA $0C CODE_05C127: 0A ASL CODE_05C128: 0A ASL CODE_05C129: 0A ASL CODE_05C12A: 0A ASL CODE_05C12B: 85 0C STA $0C CODE_05C12D: A0 10 LDY.B #$10 CODE_05C12F: A9 00 00 LDA.W #$0000 CODE_05C132: 85 0E STA $0E CODE_05C134: 06 0C ASL $0C CODE_05C136: 2A ROL CODE_05C137: C5 0A CMP $0A CODE_05C139: 90 02 BCC CODE_05C13D CODE_05C13B: E5 0A SBC $0A CODE_05C13D: 26 0E ROL $0E CODE_05C13F: 88 DEY CODE_05C140: D0 F2 BNE CODE_05C134 CODE_05C142: AD 56 14 LDA.W $1456 CODE_05C145: 29 FF 00 AND.W #$00FF CODE_05C148: 4A LSR CODE_05C149: 4A LSR CODE_05C14A: AA TAX CODE_05C14B: BD 42 14 LDA.W $1442,X CODE_05C14E: A8 TAY CODE_05C14F: B9 0F CB LDA.W DATA_05CB0F,Y CODE_05C152: 29 FF 00 AND.W #$00FF CODE_05C155: 0A ASL CODE_05C156: 0A ASL CODE_05C157: 0A ASL CODE_05C158: 0A ASL CODE_05C159: 85 0A STA $0A CODE_05C15B: A2 02 LDX.B #$02 CODE_05C15D: A5 08 LDA $08 CODE_05C15F: 30 04 BMI CODE_05C165 CODE_05C161: A5 0A LDA $0A CODE_05C163: 80 02 BRA CODE_05C167 CODE_05C165: A5 0E LDA $0E CODE_05C167: 34 00 BIT $00,X CODE_05C169: 10 04 BPL CODE_05C16F CODE_05C16B: 49 FF FF EOR.W #$FFFF CODE_05C16E: 1A INC A CODE_05C16F: DA PHX CODE_05C170: 48 PHA CODE_05C171: 8A TXA CODE_05C172: 18 CLC CODE_05C173: 6D 56 14 ADC.W $1456 CODE_05C176: AA TAX CODE_05C177: 68 PLA CODE_05C178: A0 00 LDY.B #$00 CODE_05C17A: DD 46 14 CMP.W $1446,X CODE_05C17D: F0 0E BEQ CODE_05C18D CODE_05C17F: 10 02 BPL CODE_05C183 CODE_05C181: A0 02 LDY.B #$02 CODE_05C183: BD 46 14 LDA.W $1446,X CODE_05C186: 18 CLC CODE_05C187: 79 5F CB ADC.W DATA_05CB5F,Y CODE_05C18A: 9D 46 14 STA.W $1446,X CODE_05C18D: 20 F9 C4 JSR.W CODE_05C4F9 CODE_05C190: FA PLX CODE_05C191: CA DEX CODE_05C192: CA DEX CODE_05C193: 10 C8 BPL CODE_05C15D CODE_05C195: E2 20 SEP #$20 ; Accum (8 bit) Return05C197: 60 RTS ; Return CODE_05C198: 20 4D C0 JSR.W CODE_05C04D CODE_05C19B: C2 20 REP #$20 ; Accum (16 bit) CODE_05C19D: AD 66 14 LDA.W $1466 CODE_05C1A0: 8D 62 14 STA.W $1462 CODE_05C1A3: A5 20 LDA $20 CODE_05C1A5: 18 CLC CODE_05C1A6: 6D 88 18 ADC.W RAM_Layer1DispYLo CODE_05C1A9: 85 20 STA $20 CODE_05C1AB: E2 20 SEP #$20 ; Accum (8 bit) Return05C1AD: 60 RTS ; Return ADDR_05C1AE: AD 56 14 LDA.W $1456 ; \ Unreachable ADDR_05C1B1: 4A LSR ADDR_05C1B2: 4A LSR ADDR_05C1B3: AA TAX ADDR_05C1B4: BD 44 14 LDA.W $1444,X ADDR_05C1B7: 30 1B BMI ADDR_05C1D4 ADDR_05C1B9: DE 44 14 DEC.W $1444,X ADDR_05C1BC: BD 44 14 LDA.W $1444,X ADDR_05C1BF: C9 20 CMP.B #$20 ADDR_05C1C1: 90 0E BCC ADDR_05C1D1 ADDR_05C1C3: C2 20 REP #$20 ; Accum (16 bit) ADDR_05C1C5: AE 56 14 LDX.W $1456 ADDR_05C1C8: BD 64 14 LDA.W $1464,X ADDR_05C1CB: 49 01 00 EOR.W #$0001 ADDR_05C1CE: 9D 64 14 STA.W $1464,X ADDR_05C1D1: 4C 2B C3 JMP.W CODE_05C32B ADDR_05C1D4: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) ADDR_05C1D6: AC 56 14 LDY.W $1456 ADDR_05C1D9: B9 4E 14 LDA.W $144E,Y ADDR_05C1DC: AA TAX ADDR_05C1DD: B9 64 14 LDA.W $1464,Y ADDR_05C1E0: D9 4E 14 CMP.W $144E,Y ADDR_05C1E3: 90 06 BCC ADDR_05C1EB ADDR_05C1E5: 85 04 STA $04 ADDR_05C1E7: 86 02 STX $02 ADDR_05C1E9: 80 04 BRA ADDR_05C1EF ADDR_05C1EB: 85 02 STA $02 ADDR_05C1ED: 86 04 STX $04 ADDR_05C1EF: E2 10 SEP #$10 ; Index (8 bit) ADDR_05C1F1: A5 02 LDA $02 ADDR_05C1F3: C5 04 CMP $04 ADDR_05C1F5: 90 56 BCC ADDR_05C24D ADDR_05C1F7: E2 20 SEP #$20 ; Accum (8 bit) ADDR_05C1F9: AD 56 14 LDA.W $1456 ADDR_05C1FC: 29 FF AND.B #$FF ADDR_05C1FE: 4A LSR ADDR_05C1FF: 4A LSR ADDR_05C200: AA TAX ADDR_05C201: A9 30 LDA.B #$30 ADDR_05C203: 9D 44 14 STA.W $1444,X ADDR_05C206: C2 20 REP #$20 ; Accum (16 bit) ADDR_05C208: AE 56 14 LDX.W $1456 ADDR_05C20B: 9E 48 14 STZ.W $1448,X ADDR_05C20E: 9E 50 14 STZ.W $1450,X ADDR_05C211: AC 40 14 LDY.W $1440 ADDR_05C214: AD 56 14 LDA.W $1456 ADDR_05C217: 29 FF 00 AND.W #$00FF ADDR_05C21A: F0 03 BEQ ADDR_05C21F ADDR_05C21C: AC 41 14 LDY.W $1441 ADDR_05C21F: B9 C7 CB LDA.W DATA_05CBC7,Y ADDR_05C222: 29 FF 00 AND.W #$00FF ADDR_05C225: 85 00 STA $00 ADDR_05C227: 8A TXA ADDR_05C228: 4A LSR ADDR_05C229: 4A LSR ADDR_05C22A: AA TAX ADDR_05C22B: BD 42 14 LDA.W $1442,X ADDR_05C22E: 49 01 00 EOR.W #$0001 ADDR_05C231: 9D 42 14 STA.W $1442,X ADDR_05C234: 29 FF 00 AND.W #$00FF ADDR_05C237: D0 08 BNE ADDR_05C241 ADDR_05C239: A5 00 LDA $00 ADDR_05C23B: 49 FF FF EOR.W #$FFFF ADDR_05C23E: 1A INC A ADDR_05C23F: 85 00 STA $00 ADDR_05C241: AE 56 14 LDX.W $1456 ADDR_05C244: A5 00 LDA $00 ADDR_05C246: 18 CLC ADDR_05C247: 7D 4E 14 ADC.W $144E,X ADDR_05C24A: 9D 4E 14 STA.W $144E,X ADDR_05C24D: AD 56 14 LDA.W $1456 ADDR_05C250: 29 FF 00 AND.W #$00FF ADDR_05C253: 4A LSR ADDR_05C254: 4A LSR ADDR_05C255: A8 TAY ADDR_05C256: B9 42 14 LDA.W $1442,Y ADDR_05C259: AA TAX ADDR_05C25A: BD C8 CB LDA.W DATA_05CBC8,X ADDR_05C25D: 29 FF 00 AND.W #$00FF ADDR_05C260: E0 01 CPX.B #$01 ADDR_05C262: F0 04 BEQ ADDR_05C268 ADDR_05C264: 49 FF FF EOR.W #$FFFF ADDR_05C267: 1A INC A ADDR_05C268: AE 56 14 LDX.W $1456 ADDR_05C26B: A0 00 LDY.B #$00 ADDR_05C26D: DD 48 14 CMP.W $1448,X ADDR_05C270: F0 0E BEQ ADDR_05C280 ADDR_05C272: 10 02 BPL ADDR_05C276 ADDR_05C274: A0 02 LDY.B #$02 ADDR_05C276: BD 48 14 LDA.W $1448,X ADDR_05C279: 18 CLC ADDR_05C27A: 79 7B CB ADC.W DATA_05CB7B,Y ADDR_05C27D: 9D 48 14 STA.W $1448,X ADDR_05C280: 4C 1D C3 JMP.W ADDR_05C31D ADDR_05C283: C2 20 REP #$20 ; Accum (16 bit) ADDR_05C285: AC 56 14 LDY.W $1456 ADDR_05C288: B9 4E 14 LDA.W $144E,Y ADDR_05C28B: 38 SEC ADDR_05C28C: F9 64 14 SBC.W $1464,Y ADDR_05C28F: 10 04 BPL ADDR_05C295 ADDR_05C291: 49 FF FF EOR.W #$FFFF ADDR_05C294: 1A INC A ADDR_05C295: 85 02 STA $02 ADDR_05C297: AD 56 14 LDA.W $1456 ADDR_05C29A: 29 FF 00 AND.W #$00FF ADDR_05C29D: 4A LSR ADDR_05C29E: 4A LSR ADDR_05C29F: AA TAX ADDR_05C2A0: BD 42 14 LDA.W $1442,X ADDR_05C2A3: 29 FF 00 AND.W #$00FF ADDR_05C2A6: A8 TAY ADDR_05C2A7: 4A LSR ADDR_05C2A8: AA TAX ADDR_05C2A9: A5 02 LDA $02 ADDR_05C2AB: 8D 04 42 STA.W $4204 ; Dividend (Low Byte) ADDR_05C2AE: E2 20 SEP #$20 ; Accum (8 bit) ADDR_05C2B0: BD E3 CB LDA.W DATA_05CBE3,X ADDR_05C2B3: 8D 06 42 STA.W $4206 ; Divisor B ADDR_05C2B6: EA NOP ADDR_05C2B7: EA NOP ADDR_05C2B8: EA NOP ADDR_05C2B9: EA NOP ADDR_05C2BA: EA NOP ADDR_05C2BB: EA NOP ADDR_05C2BC: C2 20 REP #$20 ; Accum (16 bit) ADDR_05C2BE: AD 14 42 LDA.W $4214 ; Quotient of Divide Result (Low Byte) ADDR_05C2C1: D0 22 BNE ADDR_05C2E5 ADDR_05C2C3: AD 56 14 LDA.W $1456 ADDR_05C2C6: 29 FF 00 AND.W #$00FF ADDR_05C2C9: 4A LSR ADDR_05C2CA: 4A LSR ADDR_05C2CB: AA TAX ADDR_05C2CC: BD 42 14 LDA.W $1442,X ADDR_05C2CF: A8 TAY ADDR_05C2D0: AE 56 14 LDX.W $1456 ADDR_05C2D3: A9 00 02 LDA.W #$0200 ADDR_05C2D6: C0 01 CPY.B #$01 ADDR_05C2D8: D0 04 BNE ADDR_05C2DE ADDR_05C2DA: 49 FF FF EOR.W #$FFFF ADDR_05C2DD: 1A INC A ADDR_05C2DE: 18 CLC ADDR_05C2DF: 7D 64 14 ADC.W $1464,X ADDR_05C2E2: 9D 64 14 STA.W $1464,X ADDR_05C2E5: AE 40 14 LDX.W $1440 ADDR_05C2E8: AD 56 14 LDA.W $1456 ADDR_05C2EB: 29 FF 00 AND.W #$00FF ADDR_05C2EE: F0 03 BEQ ADDR_05C2F3 ADDR_05C2F0: AE 41 14 LDX.W $1441 ADDR_05C2F3: BD E3 CB LDA.W DATA_05CBE3,X ADDR_05C2F6: 29 FF 00 AND.W #$00FF ADDR_05C2F9: 0A ASL ADDR_05C2FA: 0A ASL ADDR_05C2FB: 0A ASL ADDR_05C2FC: 0A ASL ADDR_05C2FD: C0 01 CPY.B #$01 ADDR_05C2FF: F0 04 BEQ ADDR_05C305 ADDR_05C301: 49 FF FF EOR.W #$FFFF ADDR_05C304: 1A INC A ADDR_05C305: AE 56 14 LDX.W $1456 ADDR_05C308: A0 00 LDY.B #$00 ADDR_05C30A: DD 48 14 CMP.W $1448,X ADDR_05C30D: F0 0E BEQ ADDR_05C31D ADDR_05C30F: 10 02 BPL ADDR_05C313 ADDR_05C311: A0 02 LDY.B #$02 ADDR_05C313: BD 48 14 LDA.W $1448,X ADDR_05C316: 18 CLC ADDR_05C317: 79 9B CB ADC.W DATA_05CB9B,Y ADDR_05C31A: 9D 48 14 STA.W $1448,X ADDR_05C31D: AD 56 14 LDA.W $1456 ADDR_05C320: 29 FF 00 AND.W #$00FF ADDR_05C323: 18 CLC ADDR_05C324: 69 02 00 ADC.W #$0002 ADDR_05C327: AA TAX CODE_05C328: 20 F9 C4 JSR.W CODE_05C4F9 CODE_05C32B: E2 20 SEP #$20 ; Accum (8 bit) Return05C32D: 60 RTS ; Return ADDR_05C32E: C2 20 REP #$20 ; Accum (16 bit) ADDR_05C330: AC 56 14 LDY.W $1456 ADDR_05C333: B9 50 14 LDA.W $1450,Y ADDR_05C336: 38 SEC ADDR_05C337: F9 62 14 SBC.W $1462,Y ADDR_05C33A: 10 04 BPL ADDR_05C340 ADDR_05C33C: 49 FF FF EOR.W #$FFFF ADDR_05C33F: 1A INC A ADDR_05C340: 85 02 STA $02 ADDR_05C342: AD 56 14 LDA.W $1456 ADDR_05C345: 29 FF 00 AND.W #$00FF ADDR_05C348: 4A LSR ADDR_05C349: 4A LSR ADDR_05C34A: AA TAX ADDR_05C34B: BD 42 14 LDA.W $1442,X ADDR_05C34E: 29 FF 00 AND.W #$00FF ADDR_05C351: A8 TAY ADDR_05C352: 4A LSR ADDR_05C353: AA TAX ADDR_05C354: A5 02 LDA $02 ADDR_05C356: 8D 04 42 STA.W $4204 ; Dividend (Low Byte) ADDR_05C359: E2 20 SEP #$20 ; Accum (8 bit) ADDR_05C35B: BD E5 CB LDA.W DATA_05CBE5,X ADDR_05C35E: 8D 06 42 STA.W $4206 ; Divisor B ADDR_05C361: EA NOP ADDR_05C362: EA NOP ADDR_05C363: EA NOP ADDR_05C364: EA NOP ADDR_05C365: EA NOP ADDR_05C366: EA NOP ADDR_05C367: C2 20 REP #$20 ; Accum (16 bit) ADDR_05C369: AD 14 42 LDA.W $4214 ; Quotient of Divide Result (Low Byte) ADDR_05C36C: D0 31 BNE ADDR_05C39F ADDR_05C36E: AD 56 14 LDA.W $1456 ADDR_05C371: 29 FF 00 AND.W #$00FF ADDR_05C374: 4A LSR ADDR_05C375: 4A LSR ADDR_05C376: AA TAX ADDR_05C377: BD 42 14 LDA.W $1442,X ADDR_05C37A: A8 TAY ADDR_05C37B: AE 56 14 LDX.W $1456 ADDR_05C37E: A9 00 06 LDA.W #$0600 ADDR_05C381: C0 01 CPY.B #$01 ADDR_05C383: D0 04 BNE ADDR_05C389 ADDR_05C385: 49 FF FF EOR.W #$FFFF ADDR_05C388: 1A INC A ADDR_05C389: 18 CLC ADDR_05C38A: 7D 62 14 ADC.W $1462,X ADDR_05C38D: 9D 62 14 STA.W $1462,X ADDR_05C390: A9 F8 FF LDA.W #$FFF8 ADDR_05C393: 9D 45 00 STA.W $0045,X ADDR_05C396: A9 17 00 LDA.W #$0017 ADDR_05C399: 9D 47 00 STA.W $0047,X ADDR_05C39C: 9C 95 00 STZ.W RAM_MarioXPosHi ADDR_05C39F: AD 56 14 LDA.W $1456 ADDR_05C3A2: 29 FF 00 AND.W #$00FF ADDR_05C3A5: 4A LSR ADDR_05C3A6: 4A LSR ADDR_05C3A7: AA TAX ADDR_05C3A8: BD 42 14 LDA.W $1442,X ADDR_05C3AB: 29 FF 00 AND.W #$00FF ADDR_05C3AE: 48 PHA ADDR_05C3AF: E2 20 SEP #$20 ; Accum (8 bit) ADDR_05C3B1: A2 02 LDX.B #$02 ADDR_05C3B3: A0 00 LDY.B #$00 ADDR_05C3B5: C9 01 CMP.B #$01 ADDR_05C3B7: F0 04 BEQ ADDR_05C3BD ADDR_05C3B9: A2 00 LDX.B #$00 ADDR_05C3BB: A0 01 LDY.B #$01 ADDR_05C3BD: 8A TXA ADDR_05C3BE: 99 55 00 STA.W $0055,Y ADDR_05C3C1: C2 20 REP #$20 ; Accum (16 bit) ADDR_05C3C3: 68 PLA ADDR_05C3C4: A8 TAY ADDR_05C3C5: AE 40 14 LDX.W $1440 ADDR_05C3C8: AD 56 14 LDA.W $1456 ADDR_05C3CB: 29 FF 00 AND.W #$00FF ADDR_05C3CE: F0 03 BEQ ADDR_05C3D3 ADDR_05C3D0: AE 41 14 LDX.W $1441 ADDR_05C3D3: BD E5 CB LDA.W DATA_05CBE5,X ADDR_05C3D6: 29 FF 00 AND.W #$00FF ADDR_05C3D9: 0A ASL ADDR_05C3DA: 0A ASL ADDR_05C3DB: 0A ASL ADDR_05C3DC: 0A ASL ADDR_05C3DD: C0 01 CPY.B #$01 ADDR_05C3DF: F0 04 BEQ ADDR_05C3E5 ADDR_05C3E1: 49 FF FF EOR.W #$FFFF ADDR_05C3E4: 1A INC A ADDR_05C3E5: AE 56 14 LDX.W $1456 ADDR_05C3E8: A0 00 LDY.B #$00 ADDR_05C3EA: DD 46 14 CMP.W $1446,X ADDR_05C3ED: F0 0E BEQ ADDR_05C3FD ADDR_05C3EF: 10 02 BPL ADDR_05C3F3 ADDR_05C3F1: A0 02 LDY.B #$02 ADDR_05C3F3: BD 46 14 LDA.W $1446,X ADDR_05C3F6: 18 CLC ADDR_05C3F7: 79 A3 CB ADC.W DATA_05CBA3,Y ADDR_05C3FA: 9D 46 14 STA.W $1446,X ADDR_05C3FD: AE 56 14 LDX.W $1456 ADDR_05C400: 20 F9 C4 JSR.W CODE_05C4F9 ADDR_05C403: E2 20 SEP #$20 ; Accum (8 bit) Return05C405: 60 RTS ; Return DATA_05C406: .db $FF,$01 DATA_05C408: .db $FC,$04 DATA_05C40A: .db $30,$A0 CODE_05C40C: AD 03 14 LDA.W $1403 CODE_05C40F: F0 03 BEQ CODE_05C414 CODE_05C411: 4C 94 C4 JMP.W CODE_05C494 CODE_05C414: C2 20 REP #$20 ; Accum (16 bit) CODE_05C416: AC 31 19 LDY.W $1931 CODE_05C419: C0 01 CPY.B #$01 CODE_05C41B: F0 04 BEQ CODE_05C421 CODE_05C41D: C0 03 CPY.B #$03 CODE_05C41F: D0 07 BNE CODE_05C428 CODE_05C421: A5 1A LDA RAM_ScreenBndryXLo CODE_05C423: 4A LSR CODE_05C424: 85 22 STA $22 CODE_05C426: 80 69 BRA CODE_05C491 CODE_05C428: AC 9D 00 LDY.W RAM_SpritesLocked CODE_05C42B: D0 60 BNE CODE_05C48D CODE_05C42D: AD 60 14 LDA.W $1460 CODE_05C430: 29 FF 00 AND.W #$00FF CODE_05C433: A8 TAY CODE_05C434: AD EB CB LDA.W DATA_05CBEB CODE_05C437: 29 FF 00 AND.W #$00FF CODE_05C43A: 0A ASL CODE_05C43B: 0A ASL CODE_05C43C: 0A ASL CODE_05C43D: 0A ASL CODE_05C43E: C0 01 CPY.B #$01 CODE_05C440: F0 04 BEQ CODE_05C446 ADDR_05C442: 49 FF FF EOR.W #$FFFF ADDR_05C445: 1A INC A CODE_05C446: A0 00 LDY.B #$00 CODE_05C448: CD 58 14 CMP.W $1458 CODE_05C44B: F0 0E BEQ CODE_05C45B CODE_05C44D: 10 02 BPL CODE_05C451 ADDR_05C44F: A0 02 LDY.B #$02 CODE_05C451: AD 58 14 LDA.W $1458 CODE_05C454: 18 CLC CODE_05C455: 79 BB CB ADC.W DATA_05CBBB,Y CODE_05C458: 8D 58 14 STA.W $1458 CODE_05C45B: AD 5C 14 LDA.W $145C CODE_05C45E: 29 FF 00 AND.W #$00FF CODE_05C461: 18 CLC CODE_05C462: 6D 58 14 ADC.W $1458 CODE_05C465: 8D 5C 14 STA.W $145C CODE_05C468: 29 00 FF AND.W #$FF00 CODE_05C46B: 10 03 BPL CODE_05C470 ADDR_05C46D: 09 FF 00 ORA.W #$00FF CODE_05C470: EB XBA CODE_05C471: 18 CLC CODE_05C472: 65 22 ADC $22 CODE_05C474: 85 22 STA $22 CODE_05C476: AD BD 17 LDA.W $17BD CODE_05C479: 29 FF 00 AND.W #$00FF CODE_05C47C: C9 80 00 CMP.W #$0080 CODE_05C47F: 90 03 BCC CODE_05C484 CODE_05C481: 09 00 FF ORA.W #$FF00 CODE_05C484: 85 00 STA $00 CODE_05C486: A5 22 LDA $22 CODE_05C488: 18 CLC CODE_05C489: 65 00 ADC $00 CODE_05C48B: 85 22 STA $22 CODE_05C48D: A5 1C LDA RAM_ScreenBndryYLo CODE_05C48F: 85 24 STA $24 CODE_05C491: E2 20 SEP #$20 ; Accum (8 bit) Return05C493: 60 RTS ; Return CODE_05C494: 3A DEC A CODE_05C495: D0 55 BNE CODE_05C4EC CODE_05C497: AD 9D 00 LDA.W RAM_SpritesLocked CODE_05C49A: D0 50 BNE CODE_05C4EC CODE_05C49C: AC 60 14 LDY.W $1460 CODE_05C49F: A5 14 LDA RAM_FrameCounterB CODE_05C4A1: 29 03 AND.B #$03 CODE_05C4A3: D0 1B BNE CODE_05C4C0 CODE_05C4A5: AD 5A 14 LDA.W $145A CODE_05C4A8: D0 05 BNE CODE_05C4AF CODE_05C4AA: CE 9D 1B DEC.W $1B9D CODE_05C4AD: D0 3D BNE CODE_05C4EC CODE_05C4AF: D9 08 C4 CMP.W DATA_05C408,Y CODE_05C4B2: F0 07 BEQ CODE_05C4BB CODE_05C4B4: 18 CLC CODE_05C4B5: 79 06 C4 ADC.W DATA_05C406,Y CODE_05C4B8: 8D 5A 14 STA.W $145A CODE_05C4BB: A9 4B LDA.B #$4B CODE_05C4BD: 8D 9D 1B STA.W $1B9D CODE_05C4C0: A5 24 LDA $24 CODE_05C4C2: D9 0A C4 CMP.W DATA_05C40A,Y CODE_05C4C5: D0 06 BNE CODE_05C4CD CODE_05C4C7: 98 TYA CODE_05C4C8: 49 01 EOR.B #$01 CODE_05C4CA: 8D 60 14 STA.W $1460 CODE_05C4CD: AD 5A 14 LDA.W $145A CODE_05C4D0: 0A ASL CODE_05C4D1: 0A ASL CODE_05C4D2: 0A ASL CODE_05C4D3: 0A ASL CODE_05C4D4: 18 CLC CODE_05C4D5: 6D 5C 14 ADC.W $145C CODE_05C4D8: 8D 5C 14 STA.W $145C CODE_05C4DB: AD 5A 14 LDA.W $145A CODE_05C4DE: 08 PHP CODE_05C4DF: 4A LSR CODE_05C4E0: 4A LSR CODE_05C4E1: 4A LSR CODE_05C4E2: 4A LSR CODE_05C4E3: 28 PLP CODE_05C4E4: 10 02 BPL CODE_05C4E8 CODE_05C4E6: 09 F0 ORA.B #$F0 CODE_05C4E8: 65 24 ADC $24 CODE_05C4EA: 85 24 STA $24 CODE_05C4EC: A5 22 LDA $22 CODE_05C4EE: 38 SEC CODE_05C4EF: 6D BD 17 ADC.W $17BD CODE_05C4F2: 85 22 STA $22 CODE_05C4F4: A9 01 LDA.B #$01 CODE_05C4F6: 85 23 STA $23 Return05C4F8: 60 RTS ; Return CODE_05C4F9: BD 4E 14 LDA.W $144E,X ; Accum (16 bit) CODE_05C4FC: 29 FF 00 AND.W #$00FF CODE_05C4FF: 18 CLC CODE_05C500: 7D 46 14 ADC.W $1446,X CODE_05C503: 9D 4E 14 STA.W $144E,X CODE_05C506: 29 00 FF AND.W #$FF00 CODE_05C509: 10 03 BPL CODE_05C50E CODE_05C50B: 09 FF 00 ORA.W #$00FF CODE_05C50E: EB XBA CODE_05C50F: 18 CLC CODE_05C510: 7D 62 14 ADC.W $1462,X CODE_05C513: 9D 62 14 STA.W $1462,X CODE_05C516: A5 08 LDA $08 CODE_05C518: 49 FF FF EOR.W #$FFFF CODE_05C51B: 1A INC A CODE_05C51C: 85 08 STA $08 Return05C51E: 60 RTS ; Return CODE_05C51F: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_05C521: AC 56 14 LDY.W $1456 CODE_05C524: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_05C526: B9 50 14 LDA.W $1450,Y CODE_05C529: AA TAX CODE_05C52A: B9 62 14 LDA.W $1462,Y CODE_05C52D: D9 50 14 CMP.W $1450,Y CODE_05C530: 90 06 BCC CODE_05C538 CODE_05C532: 85 04 STA $04 CODE_05C534: 86 02 STX $02 CODE_05C536: 80 04 BRA CODE_05C53C CODE_05C538: 85 02 STA $02 CODE_05C53A: 86 04 STX $04 CODE_05C53C: E2 10 SEP #$10 ; Index (8 bit) CODE_05C53E: A5 02 LDA $02 CODE_05C540: C5 04 CMP $04 CODE_05C542: 90 41 BCC CODE_05C585 CODE_05C544: AC 40 14 LDY.W $1440 CODE_05C547: AD 56 14 LDA.W $1456 CODE_05C54A: F0 03 BEQ CODE_05C54F CODE_05C54C: AC 41 14 LDY.W $1441 CODE_05C54F: 98 TYA CODE_05C550: 0A ASL CODE_05C551: A8 TAY CODE_05C552: B9 EE CB LDA.W DATA_05CBEE,Y CODE_05C555: 29 FF 00 AND.W #$00FF CODE_05C558: 85 00 STA $00 CODE_05C55A: AD 56 14 LDA.W $1456 CODE_05C55D: 29 FF 00 AND.W #$00FF CODE_05C560: 4A LSR CODE_05C561: 4A LSR CODE_05C562: AA TAX CODE_05C563: BD 42 14 LDA.W $1442,X CODE_05C566: 49 01 00 EOR.W #$0001 CODE_05C569: 9D 42 14 STA.W $1442,X CODE_05C56C: 29 FF 00 AND.W #$00FF CODE_05C56F: D0 08 BNE CODE_05C579 CODE_05C571: A5 00 LDA $00 CODE_05C573: 49 FF FF EOR.W #$FFFF CODE_05C576: 1A INC A CODE_05C577: 85 00 STA $00 CODE_05C579: AE 56 14 LDX.W $1456 CODE_05C57C: A5 00 LDA $00 CODE_05C57E: 18 CLC CODE_05C57F: 7D 50 14 ADC.W $1450,X CODE_05C582: 9D 50 14 STA.W $1450,X CODE_05C585: AD 56 14 LDA.W $1456 CODE_05C588: 29 FF 00 AND.W #$00FF CODE_05C58B: 4A LSR CODE_05C58C: 4A LSR CODE_05C58D: AA TAX CODE_05C58E: BD 42 14 LDA.W $1442,X CODE_05C591: AA TAX CODE_05C592: BD F1 CB LDA.W DATA_05CBF1,X CODE_05C595: 29 FF 00 AND.W #$00FF CODE_05C598: E0 01 CPX.B #$01 CODE_05C59A: F0 04 BEQ CODE_05C5A0 CODE_05C59C: 49 FF FF EOR.W #$FFFF CODE_05C59F: 1A INC A CODE_05C5A0: AE 56 14 LDX.W $1456 CODE_05C5A3: A0 00 LDY.B #$00 CODE_05C5A5: DD 46 14 CMP.W $1446,X CODE_05C5A8: F0 0E BEQ CODE_05C5B8 CODE_05C5AA: 10 02 BPL CODE_05C5AE CODE_05C5AC: A0 02 LDY.B #$02 CODE_05C5AE: BD 46 14 LDA.W $1446,X CODE_05C5B1: 18 CLC CODE_05C5B2: 79 C3 CB ADC.W DATA_05CBC3,Y CODE_05C5B5: 9D 46 14 STA.W $1446,X CODE_05C5B8: 4C 28 C3 JMP.W CODE_05C328 CODE_05C5BB: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_05C5BD: AC 56 14 LDY.W $1456 CODE_05C5C0: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_05C5C2: B9 4E 14 LDA.W $144E,Y CODE_05C5C5: AA TAX CODE_05C5C6: B9 64 14 LDA.W $1464,Y CODE_05C5C9: D9 4E 14 CMP.W $144E,Y CODE_05C5CC: 90 06 BCC CODE_05C5D4 CODE_05C5CE: 85 04 STA $04 CODE_05C5D0: 86 02 STX $02 CODE_05C5D2: 80 04 BRA CODE_05C5D8 CODE_05C5D4: 85 02 STA $02 CODE_05C5D6: 86 04 STX $04 CODE_05C5D8: E2 10 SEP #$10 ; Index (8 bit) CODE_05C5DA: A5 02 LDA $02 CODE_05C5DC: C5 04 CMP $04 CODE_05C5DE: 90 41 BCC CODE_05C621 CODE_05C5E0: AC 40 14 LDY.W $1440 CODE_05C5E3: AD 56 14 LDA.W $1456 CODE_05C5E6: F0 03 BEQ CODE_05C5EB CODE_05C5E8: AC 41 14 LDY.W $1441 CODE_05C5EB: 98 TYA CODE_05C5EC: 0A ASL CODE_05C5ED: A8 TAY CODE_05C5EE: B9 F6 CB LDA.W DATA_05CBF6,Y CODE_05C5F1: 29 FF 00 AND.W #$00FF CODE_05C5F4: 85 00 STA $00 CODE_05C5F6: AD 56 14 LDA.W $1456 CODE_05C5F9: 29 FF 00 AND.W #$00FF CODE_05C5FC: 4A LSR CODE_05C5FD: 4A LSR CODE_05C5FE: AA TAX CODE_05C5FF: BD 42 14 LDA.W $1442,X CODE_05C602: 49 01 00 EOR.W #$0001 CODE_05C605: 9D 42 14 STA.W $1442,X CODE_05C608: 29 FF 00 AND.W #$00FF CODE_05C60B: D0 08 BNE CODE_05C615 CODE_05C60D: A5 00 LDA $00 CODE_05C60F: 49 FF FF EOR.W #$FFFF CODE_05C612: 1A INC A CODE_05C613: 85 00 STA $00 CODE_05C615: AE 56 14 LDX.W $1456 CODE_05C618: A5 00 LDA $00 CODE_05C61A: 18 CLC CODE_05C61B: 7D 4E 14 ADC.W $144E,X CODE_05C61E: 9D 4E 14 STA.W $144E,X CODE_05C621: AD 56 14 LDA.W $1456 CODE_05C624: 29 FF 00 AND.W #$00FF CODE_05C627: 4A LSR CODE_05C628: 4A LSR CODE_05C629: AA TAX CODE_05C62A: BD 42 14 LDA.W $1442,X CODE_05C62D: AA TAX CODE_05C62E: BD F1 CB LDA.W DATA_05CBF1,X CODE_05C631: 29 FF 00 AND.W #$00FF CODE_05C634: E0 01 CPX.B #$01 CODE_05C636: F0 04 BEQ CODE_05C63C CODE_05C638: 49 FF FF EOR.W #$FFFF CODE_05C63B: 1A INC A CODE_05C63C: AE 56 14 LDX.W $1456 CODE_05C63F: A0 00 LDY.B #$00 CODE_05C641: DD 48 14 CMP.W $1448,X CODE_05C644: F0 0E BEQ CODE_05C654 CODE_05C646: 10 02 BPL CODE_05C64A CODE_05C648: A0 02 LDY.B #$02 CODE_05C64A: BD 48 14 LDA.W $1448,X CODE_05C64D: 18 CLC CODE_05C64E: 79 C3 CB ADC.W DATA_05CBC3,Y CODE_05C651: 9D 48 14 STA.W $1448,X CODE_05C654: E8 INX CODE_05C655: E8 INX CODE_05C656: 4C 28 C3 JMP.W CODE_05C328 ADDR_05C659: AD 41 14 LDA.W $1441 ADDR_05C65C: F0 16 BEQ ADDR_05C674 ADDR_05C65E: CE 41 14 DEC.W $1441 ADDR_05C661: C9 20 B0 CMP.W #$B020 ADDR_05C664: 0E A5 14 ASL.W $14A5 ADDR_05C667: 29 01 D0 AND.W #$D001 ADDR_05C66A: 08 PHP ADDR_05C66B: AD 64 14 LDA.W $1464 ADDR_05C66E: 49 01 8D EOR.W #$8D01 ADDR_05C671: 64 14 STZ RAM_FrameCounterB Return05C673: 60 RTS ; Return ADDR_05C674: 64 56 STZ $56 ADDR_05C676: C2 20 REP #$20 ; Accum (16 bit) ADDR_05C678: AD 4C 14 LDA.W $144C ADDR_05C67B: C9 C0 FF CMP.W #$FFC0 ADDR_05C67E: F0 04 BEQ ADDR_05C684 ADDR_05C680: 3A DEC A ADDR_05C681: 8D 4C 14 STA.W $144C ADDR_05C684: AD 68 14 LDA.W $1468 ADDR_05C687: C9 31 00 CMP.W #$0031 ADDR_05C68A: 10 03 BPL ADDR_05C68F ADDR_05C68C: 9C 4C 14 STZ.W $144C ADDR_05C68F: D0 05 BNE ADDR_05C696 ADDR_05C691: A0 20 LDY.B #$20 ADDR_05C693: 8C 41 14 STY.W $1441 ADDR_05C696: A2 06 LDX.B #$06 ADDR_05C698: 20 F9 C4 JSR.W CODE_05C4F9 ADDR_05C69B: 4C 2B C3 JMP.W CODE_05C32B ADDR_05C69E: A9 02 85 LDA.W #$8502 ADDR_05C6A1: 55 64 EOR $64,X ADDR_05C6A3: 56 C2 LSR RAM_SpriteState,X ADDR_05C6A5: 20 AE 40 JSR.W $40AE ADDR_05C6A8: 14 D0 TRB $D0 ADDR_05C6AA: 22 AD 46 14 JSL.L $1446AD ADDR_05C6AE: C9 80 00 CMP.W #$0080 ADDR_05C6B1: F0 01 BEQ ADDR_05C6B4 ADDR_05C6B3: 1A INC A ADDR_05C6B4: 8D 46 14 STA.W $1446 ADDR_05C6B7: A4 5E LDY $5E ADDR_05C6B9: 88 DEY ADDR_05C6BA: CC 63 14 CPY.W $1463 ADDR_05C6BD: D0 2D BNE ADDR_05C6EC ADDR_05C6BF: EE 40 14 INC.W $1440 ADDR_05C6C2: 9C 46 14 STZ.W $1446 ADDR_05C6C5: A9 F0 FC LDA.W #$FCF0 ADDR_05C6C8: 8D 97 1B STA.W $1B97 ADDR_05C6CB: 80 1F BRA ADDR_05C6EC ADDR_05C6CD: A0 16 LDY.B #$16 ; \ Unreachable ADDR_05C6CF: 8C 2C 21 STY.W $212C ; Background and Object Enable ADDR_05C6D2: AD 4C 14 LDA.W $144C ADDR_05C6D5: C9 80 FF CMP.W #$FF80 ADDR_05C6D8: F0 01 BEQ ADDR_05C6DB ADDR_05C6DA: 3A DEC A ADDR_05C6DB: 8D 4C 14 STA.W $144C ADDR_05C6DE: 8D 48 14 STA.W $1448 ADDR_05C6E1: AD 68 14 LDA.W $1468 ADDR_05C6E4: D0 06 BNE ADDR_05C6EC ADDR_05C6E6: 9C 4C 14 STZ.W $144C ADDR_05C6E9: 9C 48 14 STZ.W $1448 ADDR_05C6EC: A2 06 LDX.B #$06 ADDR_05C6EE: 20 F9 C4 JSR.W CODE_05C4F9 ADDR_05C6F1: CA DEX ADDR_05C6F2: CA DEX ADDR_05C6F3: 10 F9 BPL ADDR_05C6EE ADDR_05C6F5: E2 20 SEP #$20 ; Accum (8 bit) ADDR_05C6F7: AD 63 14 LDA.W $1463 ADDR_05C6FA: 38 SEC ADDR_05C6FB: E5 5E SBC $5E ADDR_05C6FD: 1A INC A ADDR_05C6FE: 1A INC A ADDR_05C6FF: EB XBA ADDR_05C700: AD 62 14 LDA.W $1462 ADDR_05C703: C2 20 REP #$20 ; Accum (16 bit) ADDR_05C705: A0 82 LDY.B #$82 ADDR_05C707: C9 00 00 CMP.W #$0000 ADDR_05C70A: 10 05 BPL ADDR_05C711 ADDR_05C70C: A9 00 00 LDA.W #$0000 ADDR_05C70F: A0 02 LDY.B #$02 ADDR_05C711: 8D 66 14 STA.W $1466 ADDR_05C714: 85 1E STA $1E ADDR_05C716: 84 5B STY RAM_IsVerticalLvl ADDR_05C718: 4C 2B C3 JMP.W CODE_05C32B DATA_05C71B: .db $20,$00,$C1,$00 DATA_05C71F: .db $C0,$FF,$40,$00 DATA_05C723: .db $FF,$FF,$01,$00 CODE_05C727: AE AF 14 LDX.W RAM_OnOffStatus ; Accum (8 bit) CODE_05C72A: F0 02 BEQ CODE_05C72E CODE_05C72C: A2 02 LDX.B #$02 CODE_05C72E: EC 43 14 CPX.W $1443 CODE_05C731: F0 17 BEQ CODE_05C74A CODE_05C733: CE 45 14 DEC.W $1445 CODE_05C736: 10 03 BPL CODE_05C73B CODE_05C738: 8E 43 14 STX.W $1443 CODE_05C73B: AD 68 14 LDA.W $1468 CODE_05C73E: 49 01 EOR.B #$01 CODE_05C740: 8D 68 14 STA.W $1468 CODE_05C743: 9C 4C 14 STZ.W $144C CODE_05C746: 9C 4D 14 STZ.W $144D Return05C749: 60 RTS ; Return CODE_05C74A: A9 10 LDA.B #$10 CODE_05C74C: 8D 45 14 STA.W $1445 CODE_05C74F: C2 20 REP #$20 ; Accum (16 bit) CODE_05C751: AD 68 14 LDA.W $1468 CODE_05C754: DD 1B C7 CMP.W DATA_05C71B,X CODE_05C757: D0 17 BNE CODE_05C770 CODE_05C759: E0 00 CPX.B #$00 CODE_05C75B: D0 0C BNE CODE_05C769 ADDR_05C75D: A9 09 00 LDA.W #$0009 ADDR_05C760: 8D FC 1D STA.W $1DFC ; / Play sound effect ADDR_05C763: A9 20 00 LDA.W #$0020 ; \ Set ground shake timer ADDR_05C766: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_05C769: A2 00 LDX.B #$00 CODE_05C76B: 8E AF 14 STX.W RAM_OnOffStatus CODE_05C76E: 80 14 BRA CODE_05C784 CODE_05C770: AD 4C 14 LDA.W $144C ; Accum (8 bit) CODE_05C773: DD 1F C7 CMP.W DATA_05C71F,X CODE_05C776: F0 07 BEQ CODE_05C77F CODE_05C778: 18 CLC CODE_05C779: 7D 23 C7 ADC.W DATA_05C723,X CODE_05C77C: 8D 4C 14 STA.W $144C CODE_05C77F: A2 06 LDX.B #$06 CODE_05C781: 20 F9 C4 JSR.W CODE_05C4F9 CODE_05C784: 4C 2B C3 JMP.W CODE_05C32B CODE_05C787: A9 02 LDA.B #$02 CODE_05C789: 85 55 STA $55 CODE_05C78B: 85 56 STA $56 CODE_05C78D: AD 56 14 LDA.W $1456 CODE_05C790: 4A LSR CODE_05C791: 4A LSR CODE_05C792: AA TAX CODE_05C793: BC 40 14 LDY.W $1440,X CODE_05C796: AE 56 14 LDX.W $1456 CODE_05C799: C2 20 REP #$20 ; Accum (16 bit) CODE_05C79B: BD 46 14 LDA.W $1446,X CODE_05C79E: D9 01 C0 CMP.W DATA_05C001,Y CODE_05C7A1: F0 01 BEQ CODE_05C7A4 CODE_05C7A3: 1A INC A CODE_05C7A4: 9D 46 14 STA.W $1446,X CODE_05C7A7: A5 5E LDA $5E CODE_05C7A9: 3A DEC A CODE_05C7AA: EB XBA CODE_05C7AB: 29 00 FF AND.W #$FF00 CODE_05C7AE: DD 62 14 CMP.W $1462,X CODE_05C7B1: D0 03 BNE CODE_05C7B6 CODE_05C7B3: 9E 46 14 STZ.W $1446,X CODE_05C7B6: 20 F9 C4 JSR.W CODE_05C4F9 CODE_05C7B9: 4C 2B C3 JMP.W CODE_05C32B CODE_05C7BC: AD 9A 1B LDA.W $1B9A ; Accum (8 bit) CODE_05C7BF: F0 2C BEQ CODE_05C7ED CODE_05C7C1: A9 02 LDA.B #$02 CODE_05C7C3: 85 56 STA $56 CODE_05C7C5: C2 20 REP #$20 ; Accum (16 bit) CODE_05C7C7: AD 4A 14 LDA.W $144A CODE_05C7CA: C9 00 04 CMP.W #$0400 CODE_05C7CD: F0 01 BEQ CODE_05C7D0 CODE_05C7CF: 1A INC A CODE_05C7D0: 8D 4A 14 STA.W $144A CODE_05C7D3: A2 04 LDX.B #$04 CODE_05C7D5: 20 F9 C4 JSR.W CODE_05C4F9 CODE_05C7D8: AD BD 17 LDA.W $17BD CODE_05C7DB: 29 FF 00 AND.W #$00FF CODE_05C7DE: C9 80 00 CMP.W #$0080 CODE_05C7E1: 90 03 BCC CODE_05C7E6 CODE_05C7E3: 09 00 FF ORA.W #$FF00 CODE_05C7E6: 18 CLC CODE_05C7E7: 6D 66 14 ADC.W $1466 CODE_05C7EA: 8D 66 14 STA.W $1466 CODE_05C7ED: 4C 2B C3 JMP.W CODE_05C32B DATA_05C7F0: .db $00,$00,$F0,$02,$B0,$08,$00,$00 .db $00,$00,$70,$03 DATA_05C7FC: .db $D0,$00,$50,$03,$30,$0A,$08,$00 .db $40,$00,$80,$03 DATA_05C808: .db $00,$06,$08 DATA_05C80B: .db $03,$01,$02 DATA_05C80E: .db $C0,$00 DATA_05C810: .db $00,$00,$B0,$00 DATA_05C814: .db $80,$FF,$C0,$00 DATA_05C818: .db $FF,$FF,$01,$00 CODE_05C81C: C2 20 REP #$20 ; Accum (16 bit) CODE_05C81E: 64 00 STZ $00 CODE_05C820: AC 45 14 LDY.W $1445 CODE_05C823: 84 00 STY $00 CODE_05C825: A0 00 LDY.B #$00 CODE_05C827: AE 44 14 LDX.W $1444 CODE_05C82A: E0 08 CPX.B #$08 CODE_05C82C: 90 02 BCC CODE_05C830 CODE_05C82E: A0 02 LDY.B #$02 CODE_05C830: AD 66 14 LDA.W $1466 CODE_05C833: DD F0 C7 CMP.W DATA_05C7F0,X CODE_05C836: 90 14 BCC CODE_05C84C CODE_05C838: DD FC C7 CMP.W DATA_05C7FC,X CODE_05C83B: B0 0F BCS CODE_05C84C CODE_05C83D: 9C 42 14 STZ.W $1442 CODE_05C840: B9 0E C8 LDA.W DATA_05C80E,Y CODE_05C843: 8D 68 14 STA.W $1468 CODE_05C846: 9C 4C 14 STZ.W $144C CODE_05C849: 9C 54 14 STZ.W $1454 CODE_05C84C: E8 INX CODE_05C84D: E8 INX CODE_05C84E: C6 00 DEC $00 CODE_05C850: D0 DE BNE CODE_05C830 CODE_05C852: E2 20 SEP #$20 ; Accum (8 bit) CODE_05C854: AD 42 14 LDA.W $1442 CODE_05C857: 0D 0E 14 ORA.W $140E CODE_05C85A: 8D 42 14 STA.W $1442 CODE_05C85D: F0 1E BEQ CODE_05C87D CODE_05C85F: C2 20 REP #$20 ; Accum (16 bit) CODE_05C861: AD 68 14 LDA.W $1468 CODE_05C864: D9 10 C8 CMP.W DATA_05C810,Y CODE_05C867: F0 14 BEQ CODE_05C87D CODE_05C869: AD 4C 14 LDA.W $144C CODE_05C86C: D9 14 C8 CMP.W DATA_05C814,Y CODE_05C86F: F0 04 BEQ CODE_05C875 CODE_05C871: 18 CLC CODE_05C872: 79 18 C8 ADC.W DATA_05C818,Y CODE_05C875: 8D 4C 14 STA.W $144C CODE_05C878: A2 06 LDX.B #$06 CODE_05C87A: 20 F9 C4 JSR.W CODE_05C4F9 CODE_05C87D: E2 20 SEP #$20 ; Accum (8 bit) Return05C87F: 60 RTS ; Return DATA_05C880: .db $00,$00,$C0,$01,$00,$03,$00,$08 .db $38,$08,$00,$0A,$00,$00,$80,$03 .db $50,$04,$90,$08,$60,$09,$80,$0E .db $00,$40,$00,$40,$00,$40,$00,$40 .db $00,$40,$00,$00 DATA_05C8A4: .db $08,$00,$00,$03,$10,$04,$38,$08 .db $70,$08,$00,$0B,$08,$00,$50,$04 .db $A0,$04,$60,$09,$40,$0A,$FF,$0F .db $00,$50,$00,$50,$00,$50,$00,$50 .db $00,$50,$80,$00 DATA_05C8C8: .db $C0,$00,$B0,$00,$70,$00,$C0,$00 .db $C0,$00,$C0,$00,$00,$00,$00,$00 .db $C0,$00,$B0,$00,$A0,$00,$70,$00 .db $B0,$00,$B0,$00,$B0,$00,$00,$00 .db $00,$00,$B0,$00,$20,$00,$20,$00 .db $20,$00,$10,$00,$10,$00,$10,$00 .db $00,$00,$00,$00,$10,$00 DATA_05C8FE: .db $00,$01,$00,$01,$00,$08,$00,$01 .db $00,$01,$00,$08,$00,$00,$00,$00 .db $80,$01,$00,$FF,$00,$FF,$00,$00 .db $00,$FF,$00,$FF,$00,$FF,$00,$FF .db $00,$FF,$00,$FF,$00,$F8,$00,$F8 .db $00,$F8,$00,$F8,$00,$F8,$00,$F8 .db $00,$00,$00,$00,$40,$FE DATA_05C934: .db $80,$40,$01,$80,$00,$00,$80,$00 .db $40,$00,$00,$20,$40,$00,$20,$00 .db $00,$20,$80,$80,$20,$80,$80,$20 .db $00,$00,$A0 DATA_05C94F: .db $00,$0C,$18 DATA_05C952: .db $05,$05,$05 CODE_05C955: AE 40 14 LDX.W $1440 CODE_05C958: AC 41 14 LDY.W $1441 CODE_05C95B: C2 20 REP #$20 ; Accum (16 bit) CODE_05C95D: AD 66 14 LDA.W $1466 CODE_05C960: DD 80 C8 CMP.W DATA_05C880,X CODE_05C963: 90 16 BCC CODE_05C97B CODE_05C965: DD A4 C8 CMP.W DATA_05C8A4,X CODE_05C968: B0 11 BCS CODE_05C97B CODE_05C96A: 8A TXA CODE_05C96B: 4A LSR CODE_05C96C: 29 FE 00 AND.W #$00FE CODE_05C96F: 8D 42 14 STA.W $1442 CODE_05C972: A9 C1 00 LDA.W #$00C1 CODE_05C975: 8D 68 14 STA.W $1468 CODE_05C978: 9C 44 14 STZ.W $1444 CODE_05C97B: E8 INX CODE_05C97C: E8 INX CODE_05C97D: 88 DEY CODE_05C97E: D0 DD BNE CODE_05C95D CODE_05C980: E2 20 SEP #$20 ; Accum (8 bit) CODE_05C982: AD 44 14 LDA.W $1444 CODE_05C985: F0 04 BEQ CODE_05C98B CODE_05C987: CE 44 14 DEC.W $1444 Return05C98A: 60 RTS ; Return CODE_05C98B: AD 42 14 LDA.W $1442 CODE_05C98E: 18 CLC CODE_05C98F: 6D 43 14 ADC.W $1443 CODE_05C992: A8 TAY CODE_05C993: 4A LSR CODE_05C994: AA TAX CODE_05C995: C2 20 REP #$20 ; Accum (16 bit) CODE_05C997: AD 68 14 LDA.W $1468 CODE_05C99A: 38 SEC CODE_05C99B: F9 C8 C8 SBC.W DATA_05C8C8,Y CODE_05C99E: 59 FE C8 EOR.W DATA_05C8FE,Y CODE_05C9A1: 10 06 BPL CODE_05C9A9 CODE_05C9A3: B9 FE C8 LDA.W DATA_05C8FE,Y CODE_05C9A6: 4C 75 C8 JMP.W CODE_05C875 CODE_05C9A9: B9 C8 C8 LDA.W DATA_05C8C8,Y CODE_05C9AC: 8D 68 14 STA.W $1468 CODE_05C9AF: E2 20 SEP #$20 ; Accum (8 bit) CODE_05C9B1: BD 34 C9 LDA.W DATA_05C934,X CODE_05C9B4: 8D 44 14 STA.W $1444 CODE_05C9B7: AD 43 14 LDA.W $1443 CODE_05C9BA: 18 CLC CODE_05C9BB: 69 12 ADC.B #$12 CODE_05C9BD: C9 36 CMP.B #$36 CODE_05C9BF: 90 0C BCC CODE_05C9CD CODE_05C9C1: A9 09 LDA.B #$09 CODE_05C9C3: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_05C9C6: A9 20 LDA.B #$20 ; \ Set ground shake timer CODE_05C9C8: 8D 87 18 STA.W RAM_ShakeGrndTimer ; / CODE_05C9CB: A9 00 LDA.B #$00 CODE_05C9CD: 8D 43 14 STA.W $1443 Return05C9D0: 60 RTS ; Return DATA_05C9D1: .db $01,$01,$01,$00,$01,$01,$01,$00 .db $01,$09 DATA_05C9DB: .db $01,$00,$02,$00,$04,$03,$05,$00 .db $06,$00 DATA_05C9E5: .db $00,$01 DATA_05C9E7: .db $00,$00 DATA_05C9E9: .db $00,$00,$02,$02,$02,$00,$02,$05 .db $02,$02,$05,$00,$00,$02,$01,$00 .db $03,$02,$03,$04,$03,$01,$00,$01 .db $00,$00,$03,$00,$00,$00,$00 DATA_05CA08: .db $00,$04,$00,$04 DATA_05CA0C: .db $00,$00,$00,$01 DATA_05CA10: .db $00,$01 DATA_05CA12: .db $40,$01,$E0,$00 DATA_05CA16: .db $05,$00,$00,$05,$05,$02,$02,$05 DATA_05CA1E: .db $00,$00,$00,$01,$02,$03,$04,$03 DATA_05CA26: .db $01,$00,$01,$01,$00,$06,$00,$06 .db $00,$00,$00,$01,$00,$01,$08,$00 .db $00,$08,$00,$00,$00,$01,$01,$00 DATA_05CA3E: .db $00,$08,$00,$08 DATA_05CA42: .db $00,$00,$00,$01 DATA_05CA46: .db $01,$01 DATA_05CA48: .db $00,$03,$00,$03,$00,$03,$00,$03 .db $00,$03 DATA_05CA52: .db $00,$00,$00,$01,$00,$02,$00,$03 .db $00,$04 DATA_05CA5C: .db $01,$00,$00,$00,$00 DATA_05CA61: .db $01,$18,$1E,$29,$2D,$35,$47 DATA_05CA68: .db $16,$05,$0A,$03,$07,$11 DATA_05CA6E: .db $09 DATA_05CA6F: .db $00,$09,$14,$1C,$24,$28,$33,$3C .db $43,$4B,$54,$60,$67,$74,$77,$7B .db $83,$8A,$8D,$90,$99,$A0,$B0,$00 .db $09,$14,$2C,$3C,$B0,$00,$09,$11 .db $1D,$2C,$32,$41,$48,$63,$6B,$70 .db $00,$27,$37,$70,$00,$07,$12,$27 .db $32,$48,$5B,$70,$00,$20,$28,$3A .db $40,$5F,$66,$6B,$6B,$80,$80,$89 .db $92,$96,$9A,$9E,$A0,$B0,$00,$10 .db $1A,$20,$2B,$30,$3B,$40,$4B DATA_05CABE: .db $50 DATA_05CABF: .db $0C,$0C,$06,$0B,$08,$0C,$03,$02 .db $09,$03,$09,$02,$06,$06,$07,$05 .db $08,$05,$0A,$04,$08,$04,$04,$0C .db $0C,$07,$07,$05,$05,$0C,$0C,$08 .db $0C,$0C,$07,$07,$0A,$0A,$0C,$0C .db $00,$00,$0A,$0A,$00,$00,$09,$09 .db $03,$03,$0C,$0C,$0C,$0C,$08,$08 .db $05,$05,$02,$02,$09,$09,$01,$01 .db $01,$02,$03,$07,$08,$08,$0C,$0C .db $02,$02,$0A,$0A,$02,$02,$0A,$0A DATA_05CB0F: .db $07,$07,$07,$07,$07,$07,$07,$07 .db $07,$07,$07,$07,$07,$07,$07,$07 .db $07,$07,$07,$07,$07,$07,$07,$07 .db $07,$07,$07,$07,$07,$07,$07,$07 .db $07,$07,$07,$07,$07,$07,$07,$07 .db $07,$07,$07,$07,$07,$07,$07,$07 .db $07,$07,$07,$07,$08,$08,$08,$08 .db $08,$08,$10,$08,$40,$08,$04,$08 .db $10,$08,$08,$10,$10,$08,$08,$08 .db $08,$08,$08,$08,$08,$08,$08,$08 DATA_05CB5F: .db $01,$00,$FF,$FF,$01,$00,$FF,$FF .db $01,$00,$FF,$FF,$01,$00,$FF,$FF .db $01,$00,$FF,$FF,$01,$00,$FF,$FF .db $01,$00,$FF,$FF DATA_05CB7B: .db $01,$00,$FF,$FF,$01,$00,$FF,$FF .db $01,$00,$FF,$FF,$01,$00,$FF,$FF .db $01,$00,$FF,$FF,$01,$00,$FF,$FF .db $01,$00,$FF,$FF,$04,$00,$FC,$FF DATA_05CB9B: .db $01,$00,$FF,$FF,$01,$00,$FF,$FF DATA_05CBA3: .db $04,$00,$FC,$FF,$04,$00,$FC,$FF .db $04,$00,$FC,$FF,$04,$00,$FC,$FF .db $01,$00,$FF,$FF,$01,$00,$FF,$FF DATA_05CBBB: .db $04,$00,$FC,$FF,$04,$00,$FC,$FF DATA_05CBC3: .db $01,$00,$FF,$FF DATA_05CBC7: .db $30 DATA_05CBC8: .db $70,$80,$10,$28,$30,$30,$30,$30 .db $14,$02,$30,$30,$30,$30,$70,$80 .db $70,$80,$70,$80,$70,$80,$70,$80 .db $70,$80,$18 DATA_05CBE3: .db $18,$18 DATA_05CBE5: .db $18,$18,$08,$20,$06,$06 DATA_05CBEB: .db $04,$04 DATA_05CBED: .db $60 DATA_05CBEE: .db $42,$D0,$B2 DATA_05CBF1: .db $80,$80,$80,$80 DATA_05CBF5: .db $90 DATA_05CBF6: .db $72,$60,$42,$20,$10,$40,$22,$20 .db $10 CODE_05CBFF: 8B PHB CODE_05CC00: 4B PHK ; Wrapper CODE_05CC01: AB PLB CODE_05CC02: 20 07 CC JSR.W CODE_05CC07 CODE_05CC05: AB PLB Return05CC06: 6B RTL ; Return CODE_05CC07: AD D9 13 LDA.W $13D9 CODE_05CC0A: 22 DF 86 00 JSL.L ExecutePtr Ptrs05CC0E: 66 CC .dw CODE_05CC66 76 CD .dw CODE_05CD76 CA CE .dw CODE_05CECA E9 CF .dw Return05CFE9 DATA_05CC16: .db $51,$0D,$00,$09,$30,$28,$31,$28 .db $32,$28,$33,$28,$34,$28,$51,$49 .db $00,$19,$0C,$38,$18,$38,$1E,$38 .db $1B,$38,$1C,$38,$0E,$38,$FC,$38 .db $0C,$38,$15,$38,$0E,$38,$0A,$38 .db $1B,$38,$28,$38,$51,$A9,$00,$19 .db $76,$38,$FC,$38,$FC,$38,$FC,$38 .db $26,$38,$05,$38,$00,$38,$77,$38 .db $FC,$38,$FC,$38,$FC,$38,$FC,$38 .db $FC,$38,$FF DATA_05CC61: .db $40,$41,$42,$43,$44 CODE_05CC66: A0 00 LDY.B #$00 CODE_05CC68: AE B3 0D LDX.W $0DB3 CODE_05CC6B: BD 48 0F LDA.W $0F48,X CODE_05CC6E: C9 0A CMP.B #$0A CODE_05CC70: 90 05 BCC CODE_05CC77 CODE_05CC72: E9 0A SBC.B #$0A CODE_05CC74: C8 INY CODE_05CC75: 80 F7 BRA CODE_05CC6E CODE_05CC77: CC 32 0F CPY.W $0F32 CODE_05CC7A: D0 08 BNE CODE_05CC84 CODE_05CC7C: CC 33 0F CPY.W $0F33 CODE_05CC7F: D0 03 BNE CODE_05CC84 ADDR_05CC81: EE E4 18 INC.W $18E4 CODE_05CC84: A9 01 LDA.B #$01 CODE_05CC86: 8D D5 13 STA.W $13D5 CODE_05CC89: A9 08 LDA.B #$08 CODE_05CC8B: 04 3E TSB $3E CODE_05CC8D: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_05CC8F: 64 22 STZ $22 CODE_05CC91: 64 24 STZ $24 CODE_05CC93: A0 4A 00 LDY.W #$004A CODE_05CC96: 98 TYA CODE_05CC97: 18 CLC CODE_05CC98: 6F 7B 83 7F ADC.L $7F837B CODE_05CC9C: AA TAX CODE_05CC9D: B9 16 CC LDA.W DATA_05CC16,Y CODE_05CCA0: 9F 7D 83 7F STA.L $7F837D,X CODE_05CCA4: CA DEX CODE_05CCA5: CA DEX CODE_05CCA6: 88 DEY CODE_05CCA7: 88 DEY CODE_05CCA8: 10 F3 BPL CODE_05CC9D CODE_05CCAA: AF 7B 83 7F LDA.L $7F837B CODE_05CCAE: AA TAX CODE_05CCAF: E2 20 SEP #$20 ; Accum (8 bit) CODE_05CCB1: AD B3 0D LDA.W $0DB3 CODE_05CCB4: F0 12 BEQ CODE_05CCC8 CODE_05CCB6: A0 00 00 LDY.W #$0000 CODE_05CCB9: B9 61 CC LDA.W DATA_05CC61,Y CODE_05CCBC: 9F 81 83 7F STA.L $7F8381,X CODE_05CCC0: E8 INX CODE_05CCC1: E8 INX CODE_05CCC2: C8 INY CODE_05CCC3: C0 05 00 CPY.W #$0005 CODE_05CCC6: D0 F1 BNE CODE_05CCB9 CODE_05CCC8: A0 02 00 LDY.W #$0002 CODE_05CCCB: A9 04 LDA.B #$04 CODE_05CCCD: 18 CLC CODE_05CCCE: 6F 7B 83 7F ADC.L $7F837B CODE_05CCD2: AA TAX CODE_05CCD3: B9 31 0F LDA.W $0F31,Y CODE_05CCD6: 9F AF 83 7F STA.L $7F83AF,X CODE_05CCDA: 88 DEY CODE_05CCDB: CA DEX CODE_05CCDC: CA DEX CODE_05CCDD: 10 F4 BPL CODE_05CCD3 CODE_05CCDF: AF 7B 83 7F LDA.L $7F837B CODE_05CCE3: AA TAX CODE_05CCE4: BF AF 83 7F LDA.L $7F83AF,X CODE_05CCE8: 29 0F AND.B #$0F CODE_05CCEA: D0 0D BNE CODE_05CCF9 CODE_05CCEC: A9 FC LDA.B #$FC CODE_05CCEE: 9F AF 83 7F STA.L $7F83AF,X CODE_05CCF2: E8 INX CODE_05CCF3: E8 INX CODE_05CCF4: E0 04 00 CPX.W #$0004 CODE_05CCF7: D0 EB BNE CODE_05CCE4 CODE_05CCF9: E2 10 SEP #$10 ; Index (8 bit) CODE_05CCFB: 20 4C CE JSR.W CODE_05CE4C CODE_05CCFE: C2 20 REP #$20 ; Accum (16 bit) CODE_05CD00: 64 00 STZ $00 CODE_05CD02: A5 02 LDA $02 CODE_05CD04: 8D 40 0F STA.W $0F40 CODE_05CD07: A2 42 LDX.B #$42 CODE_05CD09: A0 00 LDY.B #$00 CODE_05CD0B: 20 FD CD JSR.W CODE_05CDFD CODE_05CD0E: A2 00 LDX.B #$00 CODE_05CD10: BF BD 83 7F LDA.L $7F83BD,X CODE_05CD14: 29 0F 00 AND.W #$000F CODE_05CD17: D0 0D BNE CODE_05CD26 CODE_05CD19: A9 FC 38 LDA.W #$38FC CODE_05CD1C: 9F BD 83 7F STA.L $7F83BD,X CODE_05CD20: E8 INX CODE_05CD21: E8 INX CODE_05CD22: E0 08 CPX.B #$08 CODE_05CD24: D0 EA BNE CODE_05CD10 CODE_05CD26: E2 20 SEP #$20 ; Accum (8 bit) CODE_05CD28: EE D9 13 INC.W $13D9 CODE_05CD2B: A9 28 LDA.B #$28 CODE_05CD2D: 8D 24 14 STA.W $1424 CODE_05CD30: A9 4A LDA.B #$4A CODE_05CD32: 18 CLC CODE_05CD33: 6F 7B 83 7F ADC.L $7F837B CODE_05CD37: 1A INC A CODE_05CD38: 8F 7B 83 7F STA.L $7F837B CODE_05CD3C: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return05CD3E: 60 RTS ; Return DATA_05CD3F: .db $52,$0A,$00,$15,$0B,$38,$18,$38 .db $17,$38,$1E,$38,$1C,$38,$28,$38 .db $FC,$38,$64,$28,$26,$38,$FC,$38 .db $FC,$38,$51,$F3,$00,$03,$FC,$38 .db $FC,$38,$FF DATA_05CD62: .db $B7 DATA_05CD63: .db $C3,$B8,$B9,$BA,$BB,$BA,$BF,$BC .db $BD,$BE,$BF,$C0,$C3,$C1,$B9,$C2 .db $C4,$B7,$C5 CODE_05CD76: AD 00 19 LDA.W $1900 CODE_05CD79: F0 5A BEQ CODE_05CDD5 CODE_05CD7B: CE 24 14 DEC.W $1424 CODE_05CD7E: 10 68 BPL Return05CDE8 CODE_05CD80: A0 22 LDY.B #$22 CODE_05CD82: 98 TYA CODE_05CD83: 18 CLC CODE_05CD84: 6F 7B 83 7F ADC.L $7F837B CODE_05CD88: AA TAX CODE_05CD89: B9 3F CD LDA.W DATA_05CD3F,Y CODE_05CD8C: 9F 7D 83 7F STA.L $7F837D,X CODE_05CD90: CA DEX CODE_05CD91: 88 DEY CODE_05CD92: 10 F5 BPL CODE_05CD89 CODE_05CD94: AF 7B 83 7F LDA.L $7F837B CODE_05CD98: AA TAX CODE_05CD99: AD 00 19 LDA.W $1900 CODE_05CD9C: 29 0F AND.B #$0F CODE_05CD9E: 0A ASL CODE_05CD9F: A8 TAY CODE_05CDA0: B9 63 CD LDA.W DATA_05CD63,Y CODE_05CDA3: 9F 95 83 7F STA.L $7F8395,X CODE_05CDA7: B9 62 CD LDA.W DATA_05CD62,Y CODE_05CDAA: 9F 9D 83 7F STA.L $7F839D,X CODE_05CDAE: AD 00 19 LDA.W $1900 CODE_05CDB1: 29 F0 AND.B #$F0 CODE_05CDB3: 4A LSR CODE_05CDB4: 4A LSR CODE_05CDB5: 4A LSR CODE_05CDB6: 4A LSR CODE_05CDB7: F0 10 BEQ CODE_05CDC9 CODE_05CDB9: 0A ASL CODE_05CDBA: A8 TAY CODE_05CDBB: B9 63 CD LDA.W DATA_05CD63,Y CODE_05CDBE: 9F 93 83 7F STA.L $7F8393,X CODE_05CDC2: B9 62 CD LDA.W DATA_05CD62,Y CODE_05CDC5: 9F 9B 83 7F STA.L $7F839B,X CODE_05CDC9: A9 22 LDA.B #$22 CODE_05CDCB: 18 CLC CODE_05CDCC: 6F 7B 83 7F ADC.L $7F837B CODE_05CDD0: 1A INC A CODE_05CDD1: 8F 7B 83 7F STA.L $7F837B CODE_05CDD5: CE D6 13 DEC.W $13D6 CODE_05CDD8: 10 0E BPL Return05CDE8 CODE_05CDDA: AD 00 19 LDA.W $1900 CODE_05CDDD: 8D 24 14 STA.W $1424 CODE_05CDE0: EE D9 13 INC.W $13D9 CODE_05CDE3: A9 11 LDA.B #$11 CODE_05CDE5: 8D FC 1D STA.W $1DFC ; / Play sound effect Return05CDE8: 60 RTS ; Return DATA_05CDE9: .db $00,$00 DATA_05CDEB: .db $10,$27,$00,$00,$E8,$03,$00,$00 .db $64,$00,$00,$00,$0A,$00,$00,$00 .db $01,$00 CODE_05CDFD: BF 7B 83 7F LDA.L $7F837B,X ; Accum (16 bit) CODE_05CE01: 29 00 FF AND.W #$FF00 CODE_05CE04: 9F 7B 83 7F STA.L $7F837B,X CODE_05CE08: DA PHX CODE_05CE09: BB TYX CODE_05CE0A: A5 02 LDA $02 CODE_05CE0C: 38 SEC CODE_05CE0D: FD EB CD SBC.W DATA_05CDEB,X CODE_05CE10: 85 06 STA $06 CODE_05CE12: A5 00 LDA $00 CODE_05CE14: FD E9 CD SBC.W DATA_05CDE9,X CODE_05CE17: 85 04 STA $04 CODE_05CE19: FA PLX CODE_05CE1A: 90 13 BCC CODE_05CE2F CODE_05CE1C: A5 06 LDA $06 CODE_05CE1E: 85 02 STA $02 CODE_05CE20: A5 04 LDA $04 CODE_05CE22: 85 00 STA $00 CODE_05CE24: BF 7B 83 7F LDA.L $7F837B,X CODE_05CE28: 1A INC A CODE_05CE29: 9F 7B 83 7F STA.L $7F837B,X CODE_05CE2D: 80 D9 BRA CODE_05CE08 CODE_05CE2F: E8 INX CODE_05CE30: E8 INX CODE_05CE31: C8 INY CODE_05CE32: C8 INY CODE_05CE33: C8 INY CODE_05CE34: C8 INY CODE_05CE35: C0 14 CPY.B #$14 CODE_05CE37: D0 C4 BNE CODE_05CDFD Return05CE39: 60 RTS ; Return DATA_05CE3A: .db $00,$00,$64,$00,$C8,$00,$2C,$01 DATA_05CE42: .db $00,$0A,$14,$1E,$28,$32,$3C,$46 .db $50,$5A CODE_05CE4C: C2 20 REP #$20 ; Accum (16 bit) CODE_05CE4E: AD 31 0F LDA.W $0F31 CODE_05CE51: 0A ASL CODE_05CE52: AA TAX CODE_05CE53: BD 3A CE LDA.W DATA_05CE3A,X CODE_05CE56: 85 00 STA $00 CODE_05CE58: AD 32 0F LDA.W $0F32 CODE_05CE5B: AA TAX CODE_05CE5C: BD 42 CE LDA.W DATA_05CE42,X CODE_05CE5F: 29 FF 00 AND.W #$00FF CODE_05CE62: 18 CLC CODE_05CE63: 65 00 ADC $00 CODE_05CE65: 85 00 STA $00 CODE_05CE67: AD 33 0F LDA.W $0F33 CODE_05CE6A: 29 FF 00 AND.W #$00FF CODE_05CE6D: 18 CLC CODE_05CE6E: 65 00 ADC $00 CODE_05CE70: 85 00 STA $00 CODE_05CE72: E2 20 SEP #$20 ; Accum (8 bit) CODE_05CE74: A5 00 LDA $00 CODE_05CE76: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_05CE79: A9 32 LDA.B #$32 CODE_05CE7B: 8D 03 42 STA.W $4203 ; Multplier B CODE_05CE7E: EA NOP CODE_05CE7F: EA NOP CODE_05CE80: EA NOP CODE_05CE81: EA NOP CODE_05CE82: AD 16 42 LDA.W $4216 ; Product/Remainder Result (Low Byte) CODE_05CE85: 85 02 STA $02 CODE_05CE87: AD 17 42 LDA.W $4217 ; Product/Remainder Result (High Byte) CODE_05CE8A: 85 03 STA $03 CODE_05CE8C: A5 01 LDA $01 CODE_05CE8E: 8D 02 42 STA.W $4202 ; Multiplicand A CODE_05CE91: A9 32 LDA.B #$32 CODE_05CE93: 8D 03 42 STA.W $4203 ; Multplier B CODE_05CE96: EA NOP CODE_05CE97: EA NOP CODE_05CE98: EA NOP CODE_05CE99: EA NOP CODE_05CE9A: AD 16 42 LDA.W $4216 ; Product/Remainder Result (Low Byte) CODE_05CE9D: 18 CLC CODE_05CE9E: 65 03 ADC $03 CODE_05CEA0: 85 03 STA $03 Return05CEA2: 60 RTS ; Return DATA_05CEA3: .db $51,$B1,$00,$09,$FC,$38,$FC,$38 .db $FC,$38,$FC,$38,$00,$38,$51,$F3 .db $00,$03,$FC,$38,$FC,$38,$52,$13 .db $00,$03,$FC,$38,$FC,$38,$FF DATA_05CEC2: .db $0A,$00,$64,$00 DATA_05CEC6: .db $01,$00,$0A,$00 CODE_05CECA: 8B PHB CODE_05CECB: 4B PHK CODE_05CECC: AB PLB CODE_05CECD: C2 20 REP #$20 ; Accum (16 bit) CODE_05CECF: A2 00 LDX.B #$00 CODE_05CED1: AD B3 0D LDA.W $0DB3 CODE_05CED4: 29 FF 00 AND.W #$00FF CODE_05CED7: F0 02 BEQ CODE_05CEDB CODE_05CED9: A2 03 LDX.B #$03 CODE_05CEDB: A0 02 LDY.B #$02 CODE_05CEDD: AD 40 0F LDA.W $0F40 CODE_05CEE0: F0 23 BEQ CODE_05CF05 CODE_05CEE2: C9 63 00 CMP.W #$0063 CODE_05CEE5: B0 02 BCS CODE_05CEE9 CODE_05CEE7: A0 00 LDY.B #$00 CODE_05CEE9: 38 SEC CODE_05CEEA: F9 C2 CE SBC.W DATA_05CEC2,Y CODE_05CEED: 8D 40 0F STA.W $0F40 CODE_05CEF0: 85 02 STA $02 CODE_05CEF2: B9 C6 CE LDA.W DATA_05CEC6,Y CODE_05CEF5: 18 CLC CODE_05CEF6: 7D 34 0F ADC.W $0F34,X CODE_05CEF9: 9D 34 0F STA.W $0F34,X CODE_05CEFC: BD 36 0F LDA.W $0F36,X CODE_05CEFF: 69 00 00 ADC.W #$0000 CODE_05CF02: 9D 36 0F STA.W $0F36,X CODE_05CF05: AE 00 19 LDX.W $1900 CODE_05CF08: F0 2C BEQ CODE_05CF36 CODE_05CF0A: E2 20 SEP #$20 ; Accum (8 bit) CODE_05CF0C: A5 13 LDA RAM_FrameCounter CODE_05CF0E: 29 03 AND.B #$03 CODE_05CF10: D0 22 BNE CODE_05CF34 CODE_05CF12: AE B3 0D LDX.W $0DB3 CODE_05CF15: BD 48 0F LDA.W $0F48,X CODE_05CF18: 18 CLC CODE_05CF19: 69 01 ADC.B #$01 CODE_05CF1B: 9D 48 0F STA.W $0F48,X CODE_05CF1E: AD 00 19 LDA.W $1900 CODE_05CF21: 3A DEC A CODE_05CF22: 8D 00 19 STA.W $1900 CODE_05CF25: 29 0F AND.B #$0F CODE_05CF27: C9 0F CMP.B #$0F CODE_05CF29: D0 09 BNE CODE_05CF34 CODE_05CF2B: AD 00 19 LDA.W $1900 CODE_05CF2E: 38 SEC CODE_05CF2F: E9 06 SBC.B #$06 CODE_05CF31: 8D 00 19 STA.W $1900 CODE_05CF34: C2 20 REP #$20 ; Accum (16 bit) CODE_05CF36: AD 40 0F LDA.W $0F40 CODE_05CF39: D0 12 BNE CODE_05CF4D CODE_05CF3B: AE 00 19 LDX.W $1900 CODE_05CF3E: D0 0D BNE CODE_05CF4D CODE_05CF40: A2 30 LDX.B #$30 CODE_05CF42: 8E D6 13 STX.W $13D6 CODE_05CF45: EE D9 13 INC.W $13D9 CODE_05CF48: A2 12 LDX.B #$12 CODE_05CF4A: 8E FC 1D STX.W $1DFC ; / Play sound effect CODE_05CF4D: A0 1E LDY.B #$1E CODE_05CF4F: 98 TYA CODE_05CF50: 18 CLC CODE_05CF51: 6F 7B 83 7F ADC.L $7F837B CODE_05CF55: AA TAX CODE_05CF56: 1A INC A CODE_05CF57: 85 0A STA $0A CODE_05CF59: B9 A3 CE LDA.W DATA_05CEA3,Y CODE_05CF5C: 9F 7D 83 7F STA.L $7F837D,X CODE_05CF60: CA DEX CODE_05CF61: CA DEX CODE_05CF62: 88 DEY CODE_05CF63: 88 DEY CODE_05CF64: 10 F3 BPL CODE_05CF59 CODE_05CF66: AD 40 0F LDA.W $0F40 CODE_05CF69: F0 35 BEQ CODE_05CFA0 CODE_05CF6B: 64 00 STZ $00 CODE_05CF6D: AF 7B 83 7F LDA.L $7F837B CODE_05CF71: 18 CLC CODE_05CF72: 69 06 00 ADC.W #$0006 CODE_05CF75: AA TAX CODE_05CF76: A0 00 LDY.B #$00 CODE_05CF78: 20 FD CD JSR.W CODE_05CDFD CODE_05CF7B: AF 7B 83 7F LDA.L $7F837B CODE_05CF7F: 18 CLC CODE_05CF80: 69 08 00 ADC.W #$0008 CODE_05CF83: 85 00 STA $00 CODE_05CF85: AF 7B 83 7F LDA.L $7F837B CODE_05CF89: AA TAX CODE_05CF8A: BF 81 83 7F LDA.L $7F8381,X CODE_05CF8E: 29 0F 00 AND.W #$000F CODE_05CF91: D0 0D BNE CODE_05CFA0 CODE_05CF93: A9 FC 38 LDA.W #$38FC CODE_05CF96: 9F 81 83 7F STA.L $7F8381,X CODE_05CF9A: E8 INX CODE_05CF9B: E8 INX CODE_05CF9C: E4 00 CPX $00 CODE_05CF9E: D0 EA BNE CODE_05CF8A CODE_05CFA0: E2 20 SEP #$20 ; Accum (8 bit) CODE_05CFA2: C2 10 REP #$10 ; Index (16 bit) CODE_05CFA4: AD 24 14 LDA.W $1424 CODE_05CFA7: F0 33 BEQ CODE_05CFDC CODE_05CFA9: AF 7B 83 7F LDA.L $7F837B CODE_05CFAD: AA TAX CODE_05CFAE: AD 00 19 LDA.W $1900 CODE_05CFB1: 29 0F AND.B #$0F CODE_05CFB3: 0A ASL CODE_05CFB4: A8 TAY CODE_05CFB5: B9 62 CD LDA.W DATA_05CD62,Y CODE_05CFB8: 9F 91 83 7F STA.L $7F8391,X CODE_05CFBC: B9 63 CD LDA.W DATA_05CD63,Y CODE_05CFBF: 9F 99 83 7F STA.L $7F8399,X CODE_05CFC3: AD 00 19 LDA.W $1900 CODE_05CFC6: 29 F0 AND.B #$F0 CODE_05CFC8: 4A LSR CODE_05CFC9: 4A LSR CODE_05CFCA: 4A LSR CODE_05CFCB: F0 0F BEQ CODE_05CFDC CODE_05CFCD: A8 TAY CODE_05CFCE: B9 62 CD LDA.W DATA_05CD62,Y CODE_05CFD1: 9F 8F 83 7F STA.L $7F838F,X CODE_05CFD5: B9 63 CD LDA.W DATA_05CD63,Y CODE_05CFD8: 9F 97 83 7F STA.L $7F8397,X CODE_05CFDC: C2 20 REP #$20 ; Accum (16 bit) CODE_05CFDE: E2 10 SEP #$10 ; Index (8 bit) CODE_05CFE0: A5 0A LDA $0A CODE_05CFE2: 8F 7B 83 7F STA.L $7F837B CODE_05CFE6: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_05CFE8: AB PLB Return05CFE9: 60 RTS ; Return DATA_05CFEA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$22,$01 .db $22,$01,$22,$01,$22,$01,$D8,$01 .db $D9,$C1,$D9,$01,$D8,$C1,$22,$01 .db $DF,$01,$22,$01,$DF,$01,$EE,$C1 .db $DE,$C1,$ED,$C1,$DD,$C1,$DA,$01 .db $DA,$C1,$DA,$01,$DA,$C1,$DD,$01 .db $ED,$01,$DE,$01,$EE,$01,$DF,$01 .db $22,$01,$DF,$01,$22,$01,$22,$01 .db $D8,$01,$22,$01,$D9,$01,$22,$01 .db $EB,$01,$EB,$01,$EB,$C1,$EB,$C1 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$EB,$01,$EC,$C1 .db $DC,$C1,$DC,$01,$EC,$01,$DB,$01 .db $DB,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$EC,$C1,$DC,$C1,$DC,$01 .db $EC,$01,$22,$01,$22,$01,$D6,$01 .db $E6,$01,$D7,$01,$E7,$01,$EA,$01 .db $EA,$01,$EA,$C1,$EA,$C1,$D9,$C1 .db $22,$01,$D8,$C1,$22,$01,$E7,$C1 .db $D7,$C1,$E6,$C1,$D6,$C1,$22,$01 .db $22,$01,$DB,$01,$DB,$01,$D9,$41 .db $D8,$81,$D8,$41,$D9,$81,$ED,$81 .db $DD,$81,$EE,$81,$DE,$81,$DE,$41 .db $EE,$41,$DD,$41,$ED,$41,$22,$01 .db $D9,$41,$22,$01,$D8,$41,$EB,$41 .db $EB,$81,$22,$01,$EB,$41,$22,$01 .db $22,$01,$EB,$81,$22,$01,$22,$01 .db $EB,$41,$22,$01,$22,$01,$DC,$41 .db $EC,$41,$EC,$81,$DC,$81,$EC,$81 .db $DC,$81,$22,$01,$22,$01,$22,$01 .db $22,$01,$DC,$41,$EC,$41,$D7,$41 .db $E7,$41,$D6,$41,$E6,$41,$D8,$81 .db $22,$01,$D9,$81,$22,$01,$E6,$81 .db $D6,$81,$E7,$81,$D7,$81,$EB,$81 .db $22,$01,$EB,$41,$EB,$81,$EB,$01 .db $EB,$C1,$EB,$C1,$22,$01,$A8,$11 .db $B8,$11,$A9,$11,$B9,$11,$A6,$11 .db $B6,$11,$A7,$11,$B7,$11,$A6,$11 .db $B6,$11,$A7,$11,$B7,$11,$20,$68 .db $20,$68,$20,$28,$20,$28,$20,$28 .db $20,$28,$22,$09,$22,$09,$22,$01 .db $22,$01,$EC,$C1,$DC,$C1,$DC,$01 .db $EC,$01,$22,$01,$22,$01,$EA,$01 .db $EA,$01,$EA,$C1,$EA,$C1,$EE,$C1 .db $DE,$C1,$ED,$C1,$DD,$C1,$DD,$01 .db $ED,$01,$DE,$01,$EE,$01,$EB,$C1 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$EB,$01,$EC,$C1 .db $DC,$C1,$DC,$01,$EC,$01,$DB,$01 .db $DB,$01,$22,$01,$22,$01,$D6,$01 .db $E6,$01,$D7,$01,$E7,$01,$ED,$81 .db $DD,$81,$EE,$81,$DE,$81,$DF,$01 .db $22,$01,$DF,$01,$22,$01,$D7,$41 .db $E7,$41,$D6,$41,$E6,$41,$22,$01 .db $EB,$41,$22,$01,$22,$01,$EC,$81 .db $DC,$81,$22,$01,$22,$01,$22,$01 .db $22,$01,$EB,$81,$22,$01,$D9,$41 .db $D8,$81,$D8,$41,$D9,$81,$EB,$C1 .db $EB,$C1,$EB,$C1,$22,$01,$22,$01 .db $22,$01,$DB,$01,$DB,$01,$E7,$C1 .db $D7,$C1,$E6,$C1,$D6,$C1,$22,$01 .db $DF,$01,$22,$01,$DF,$01,$E6,$81 .db $D6,$81,$E7,$81,$D7,$81,$D8,$01 .db $D9,$C1,$D9,$01,$D8,$C1,$EA,$01 .db $EA,$01,$EA,$C1,$EA,$C1,$EA,$01 .db $EA,$01,$EA,$C1,$EA,$C1,$D6,$01 .db $E6,$01,$D7,$01,$E7,$01,$DA,$01 .db $DA,$C1,$DA,$01,$DA,$C1,$A4,$11 .db $B4,$11,$A5,$11,$B5,$11,$22,$11 .db $90,$11,$22,$11,$91,$11,$C2,$11 .db $D2,$11,$C3,$11,$D3,$11,$23,$38 .db $71,$38,$23,$38,$71,$38,$23,$28 .db $71,$28,$23,$28,$71,$28,$23,$30 .db $71,$30,$23,$30,$71,$30,$22,$01 .db $22,$01,$22,$01,$EB,$01,$22,$01 .db $EB,$41,$22,$01,$22,$01,$22,$01 .db $22,$01,$EB,$81,$22,$01,$22,$15 .db $AC,$15,$22,$15,$AD,$15,$EA,$01 .db $EA,$01,$EA,$C1,$EA,$C1,$DA,$01 .db $DA,$C1,$DA,$01,$DA,$C1,$DA,$01 .db $DA,$C1,$DA,$01,$DA,$C1,$E7,$C1 .db $D7,$C1,$E6,$C1,$D6,$C1,$EB,$C1 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$C9,$05 .db $C8,$05,$C9,$05,$C8,$05,$84,$11 .db $94,$11,$85,$11,$95,$11,$22,$01 .db $22,$01,$22,$01,$22,$01,$88,$15 .db $98,$15,$89,$15,$99,$15,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$8C,$15 .db $9C,$15,$8D,$15,$9D,$15,$9E,$10 .db $64,$10,$9F,$10,$65,$10,$BC,$15 .db $AE,$15,$BD,$15,$AF,$15,$82,$19 .db $92,$19,$83,$19,$93,$19,$C8,$19 .db $F8,$19,$C9,$19,$F9,$19,$AA,$11 .db $BA,$11,$AA,$51,$BA,$51,$56,$19 .db $EA,$09,$56,$59,$EA,$C9,$A0,$11 .db $B0,$11,$A1,$11,$B1,$11,$A2,$11 .db $B2,$11,$A3,$11,$B3,$11,$CC,$15 .db $CE,$15,$CD,$15,$CF,$15,$22,$01 .db $22,$01,$22,$01,$22,$01,$86,$99 .db $86,$19,$86,$D9,$86,$59,$96,$99 .db $96,$19,$96,$D9,$96,$59,$86,$9D .db $86,$1D,$86,$DD,$86,$5D,$96,$9D .db $96,$1D,$96,$DD,$96,$5D,$86,$99 .db $86,$19,$86,$D9,$86,$59,$96,$99 .db $96,$19,$96,$D9,$96,$59,$86,$9D .db $86,$1D,$86,$DD,$86,$5D,$96,$9D .db $96,$1D,$96,$DD,$96,$5D,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$80,$1C .db $90,$1C,$81,$1C,$90,$5C,$22,$01 .db $22,$01,$22,$01,$22,$01,$80,$14 .db $90,$14,$81,$14,$90,$54,$22,$01 .db $22,$01,$22,$01,$22,$01,$22,$01 .db $22,$01,$22,$01,$22,$01,$82,$1D .db $92,$1D,$83,$1D,$93,$1D,$22,$01 .db $22,$01,$22,$01,$22,$01,$86,$99 .db $86,$19,$86,$D9,$86,$59,$22,$01 .db $22,$01,$22,$01,$22,$01,$86,$99 .db $86,$19,$86,$D9,$86,$59,$8A,$15 .db $9A,$15,$8B,$15,$9B,$15,$8C,$15 .db $9C,$15,$8D,$15,$9D,$15,$C0,$11 .db $D0,$11,$C1,$11,$D1,$11,$22,$11 .db $22,$11,$22,$11,$22,$11,$22,$1D .db $82,$1C,$22,$1D,$83,$1C,$22,$1D .db $82,$14,$22,$1D,$83,$14,$80,$19 .db $90,$19,$81,$19,$91,$19,$8E,$19 .db $9E,$19,$8F,$19,$9F,$19,$A0,$19 .db $B0,$19,$A1,$19,$B1,$19,$A4,$19 .db $B4,$19,$A5,$19,$B5,$19,$A8,$19 .db $B8,$19,$A9,$19,$B9,$19,$BE,$19 .db $CE,$19,$BF,$19,$CF,$19,$C4,$19 .db $D4,$19,$C5,$19,$D5,$19,$22,$09 .db $C6,$0D,$22,$09,$C7,$0D,$22,$09 .db $FC,$0D,$FE,$0D,$FD,$0D,$CC,$0D .db $E4,$0D,$CD,$0D,$E5,$0D,$E0,$0D .db $F0,$0D,$E1,$0D,$F1,$0D,$F4,$0D .db $22,$09,$F5,$0D,$22,$09,$E8,$0D .db $22,$09,$22,$09,$22,$09,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$75,$3C .db $75,$3C,$75,$3C,$75,$3C,$22,$09 .db $79,$14,$22,$09,$9D,$14,$22,$09 .db $78,$54,$22,$09,$22,$09,$22,$09 .db $22,$09,$22,$09,$79,$14,$22,$09 .db $9D,$14,$78,$14,$9D,$14,$9D,$14 .db $78,$54,$79,$54,$22,$09,$79,$14 .db $22,$09,$22,$09,$22,$09,$22,$09 .db $22,$09,$78,$54,$22,$09,$22,$09 .db $22,$09,$78,$14,$22,$09,$9D,$14 .db $22,$09,$79,$54,$22,$09,$22,$09 .db $9D,$14,$22,$09,$78,$54,$22,$09 .db $78,$14,$22,$09,$22,$09,$22,$09 .db $22,$09,$22,$09,$79,$54,$78,$14 .db $9D,$14,$9D,$14,$9D,$14,$56,$10 .db $9E,$10,$57,$10,$9F,$10,$9E,$10 .db $9E,$10,$9F,$10,$9F,$10,$22,$15 .db $AC,$15,$22,$15,$AD,$15,$22,$09 .db $22,$09,$22,$09,$48,$19,$22,$09 .db $39,$19,$22,$09,$22,$09,$22,$09 .db $22,$09,$37,$15,$47,$15,$38,$15 .db $48,$19,$58,$19,$49,$19,$49,$59 .db $59,$59,$48,$59,$58,$59,$37,$55 .db $47,$55,$22,$09,$22,$09,$22,$09 .db $22,$09,$57,$15,$5A,$1D,$58,$19 .db $5B,$19,$59,$19,$59,$19,$60,$19 .db $70,$19,$60,$59,$70,$59,$3A,$19 .db $4A,$19,$3B,$19,$4B,$11,$48,$19 .db $58,$19,$48,$59,$58,$59,$22,$09 .db $22,$09,$7A,$1D,$22,$09,$7B,$1D .db $22,$09,$7B,$1D,$22,$09,$7B,$1D .db $22,$09,$7A,$5D,$22,$09,$CA,$19 .db $FA,$19,$CB,$19,$FB,$19,$7E,$18 .db $22,$09,$22,$09,$22,$09,$7F,$10 .db $22,$09,$22,$09,$22,$09,$7F,$10 .db $22,$09,$22,$09,$7E,$18,$7E,$18 .db $22,$09,$22,$09,$7F,$10,$22,$09 .db $22,$09,$22,$09,$7E,$18,$22,$09 .db $22,$09,$22,$09,$7F,$10,$3F,$10 .db $3F,$10,$3F,$10,$3F,$10,$6F,$51 .db $7F,$51,$6E,$51,$7E,$51,$F3,$51 .db $FF,$51,$87,$51,$97,$51,$08,$00 .db $09,$00,$0A,$00,$0B,$00,$00,$00 .db $00,$00,$00,$00,$00,$00 DATA_05D608: .db $FF,$1F,$20,$FF,$0B,$0D,$0E,$0F .db $28,$09,$10,$21,$22,$23,$24,$25 .db $27,$60,$FF,$12,$02,$07,$FF,$FF .db $4E,$FF,$4D,$4A,$4C,$4B,$36,$35 .db $61,$63,$62,$48,$46,$06,$05,$04 .db $00,$01,$03,$19,$FF,$1D,$1A,$14 .db $44,$45,$42,$3E,$40,$41,$43,$3D .db $3B,$39,$38,$4F,$17,$1B,$15,$29 .db $1C,$30,$2A,$32,$2C,$37,$34,$2E .db $6D,$6C,$6B,$6A,$69,$64,$65,$66 .db $67,$68,$56,$53,$54,$5F,$57,$59 .db $51,$5A,$5D,$50,$5C Empty05D665: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF DATA_05D708: .db $00,$60,$C0,$00 DATA_05D70C: .db $60,$90,$C0,$00 DATA_05D710: .db $03,$01,$01,$00,$00,$02,$02,$01 .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_05D720: .db $02,$02,$01,$00,$01,$02,$01,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_05D730: .db $00,$30,$60,$80,$A0,$B0,$C0,$E0 .db $10,$30,$50,$60,$70,$90,$00,$00 DATA_05D740: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $01,$01,$01,$01,$01,$01,$01,$01 DATA_05D750: .db $10,$80,$00,$E0,$10,$70,$00,$E0 DATA_05D758: .db $00,$00,$00,$00,$01,$01,$01,$01 DATA_05D760: .db $05,$01,$02,$06,$08,$01 PtrsLong05D766: 00 80 07 .dw LevelData078000 .db :$LevelData078000 1E 80 07 .dw DATA_07801E .db :$DATA_07801E 4E 80 07 .dw DATA_07804E .db :$DATA_07804E 9F 80 07 .dw DATA_07809F .db :$DATA_07809F B1 80 07 .dw DATA_0780B1 .db :$DATA_0780B1 90 80 07 .dw DATA_078090 .db :$DATA_078090 PtrsLong05D778: 18 80 07 .dw DATA_078018 .db :$DATA_078018 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 84 E6 FF .dw DATA_0CE684 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF EE E8 FF .dw DATA_0CE8EE .db $FF DATA_05D78A: .db $03,$00,$00,$00,$00,$00 DATA_05D790: .db $70,$70,$60,$70,$70,$70 CODE_05D796: 8B PHB CODE_05D797: 4B PHK CODE_05D798: AB PLB CODE_05D799: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_05D79B: 9C CF 13 STZ.W $13CF CODE_05D79E: AD 95 1B LDA.W $1B95 CODE_05D7A1: D0 05 BNE CODE_05D7A8 CODE_05D7A3: AC 25 14 LDY.W $1425 CODE_05D7A6: F0 03 BEQ CODE_05D7AB CODE_05D7A8: 20 AC DB JSR.W CODE_05DBAC CODE_05D7AB: AD 1A 14 LDA.W $141A CODE_05D7AE: D0 03 BNE CODE_05D7B3 CODE_05D7B0: 4C 3E D8 JMP.W CODE_05D83E CODE_05D7B3: A6 95 LDX RAM_MarioXPosHi CODE_05D7B5: A5 5B LDA RAM_IsVerticalLvl CODE_05D7B7: 29 01 AND.B #$01 CODE_05D7B9: F0 02 BEQ CODE_05D7BD CODE_05D7BB: A6 97 LDX RAM_MarioYPosHi CODE_05D7BD: BD B8 19 LDA.W $19B8,X CODE_05D7C0: 8D BB 17 STA.W $17BB CODE_05D7C3: 85 0E STA $0E CODE_05D7C5: AD D6 0D LDA.W $0DD6 CODE_05D7C8: 4A LSR CODE_05D7C9: 4A LSR CODE_05D7CA: A8 TAY CODE_05D7CB: B9 11 1F LDA.W $1F11,Y CODE_05D7CE: F0 02 BEQ CODE_05D7D2 CODE_05D7D0: A9 01 LDA.B #$01 CODE_05D7D2: 85 0F STA $0F CODE_05D7D4: AD 93 1B LDA.W $1B93 CODE_05D7D7: F0 62 BEQ CODE_05D83B CODE_05D7D9: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_05D7DB: A9 00 00 LDA.W #$0000 CODE_05D7DE: E2 20 SEP #$20 ; Accum (8 bit) CODE_05D7E0: A4 0E LDY $0E CODE_05D7E2: B9 00 F8 LDA.W DATA_05F800,Y CODE_05D7E5: 85 0E STA $0E CODE_05D7E7: 8D BB 17 STA.W $17BB CODE_05D7EA: B9 00 FA LDA.W DATA_05FA00,Y CODE_05D7ED: 85 00 STA $00 CODE_05D7EF: 29 0F AND.B #$0F CODE_05D7F1: AA TAX CODE_05D7F2: BF 30 D7 05 LDA.L DATA_05D730,X CODE_05D7F6: 85 96 STA RAM_MarioYPos CODE_05D7F8: BF 40 D7 05 LDA.L DATA_05D740,X CODE_05D7FC: 85 97 STA RAM_MarioYPosHi CODE_05D7FE: A5 00 LDA $00 CODE_05D800: 29 30 AND.B #$30 CODE_05D802: 4A LSR CODE_05D803: 4A LSR CODE_05D804: 4A LSR CODE_05D805: 4A LSR CODE_05D806: AA TAX CODE_05D807: BF 08 D7 05 LDA.L DATA_05D708,X CODE_05D80B: 85 1C STA RAM_ScreenBndryYLo CODE_05D80D: A5 00 LDA $00 CODE_05D80F: 4A LSR CODE_05D810: 4A LSR CODE_05D811: 4A LSR CODE_05D812: 4A LSR CODE_05D813: 4A LSR CODE_05D814: 4A LSR CODE_05D815: AA TAX CODE_05D816: BF 0C D7 05 LDA.L DATA_05D70C,X CODE_05D81A: 85 20 STA $20 CODE_05D81C: B9 00 FC LDA.W DATA_05FC00,Y CODE_05D81F: 85 01 STA $01 CODE_05D821: 4A LSR CODE_05D822: 4A LSR CODE_05D823: 4A LSR CODE_05D824: 4A LSR CODE_05D825: 4A LSR CODE_05D826: AA TAX CODE_05D827: BF 50 D7 05 LDA.L DATA_05D750,X CODE_05D82B: 85 94 STA RAM_MarioXPos CODE_05D82D: BF 58 D7 05 LDA.L DATA_05D758,X CODE_05D831: 85 95 STA RAM_MarioXPosHi CODE_05D833: B9 00 FE LDA.W DATA_05FE00,Y CODE_05D836: 29 07 AND.B #$07 CODE_05D838: 8D 2A 19 STA.W $192A CODE_05D83B: 4C B7 D8 JMP.W CODE_05D8B7 CODE_05D83E: 64 0F STZ $0F ; Index (8 bit) CODE_05D840: A0 00 LDY.B #$00 CODE_05D842: AD 09 01 LDA.W $0109 CODE_05D845: D0 5B BNE CODE_05D8A2 CODE_05D847: C2 30 REP #$30 ; 16 bit A,X,Y ; Index (16 bit) Accum (16 bit) CODE_05D849: 64 1A STZ RAM_ScreenBndryXLo ; Set "X position of screen boundary" to 0 CODE_05D84B: 64 1E STZ $1E ; Set "Layer 2 X position" to 0 CODE_05D84D: AE D6 0D LDX.W $0DD6 CODE_05D850: BD 1F 1F LDA.W $1F1F,X CODE_05D853: 29 0F 00 AND.W #$000F CODE_05D856: 85 00 STA $00 CODE_05D858: BD 21 1F LDA.W $1F21,X CODE_05D85B: 29 0F 00 AND.W #$000F CODE_05D85E: 0A ASL CODE_05D85F: 0A ASL CODE_05D860: 0A ASL CODE_05D861: 0A ASL CODE_05D862: 85 02 STA $02 CODE_05D864: BD 1F 1F LDA.W $1F1F,X CODE_05D867: 29 10 00 AND.W #$0010 CODE_05D86A: 0A ASL CODE_05D86B: 0A ASL CODE_05D86C: 0A ASL CODE_05D86D: 0A ASL CODE_05D86E: 05 00 ORA $00 CODE_05D870: 85 00 STA $00 CODE_05D872: BD 21 1F LDA.W $1F21,X CODE_05D875: 29 10 00 AND.W #$0010 CODE_05D878: 0A ASL CODE_05D879: 0A ASL CODE_05D87A: 0A ASL CODE_05D87B: 0A ASL CODE_05D87C: 0A ASL CODE_05D87D: 05 02 ORA $02 CODE_05D87F: 05 00 ORA $00 CODE_05D881: AA TAX CODE_05D882: AD D6 0D LDA.W $0DD6 ; \ CODE_05D885: 29 FF 00 AND.W #$00FF ; | CODE_05D888: 4A LSR ; |Set Y to current player CODE_05D889: 4A LSR ; | CODE_05D88A: A8 TAY ; / CODE_05D88B: B9 11 1F LDA.W $1F11,Y ; \ Get current player's submap CODE_05D88E: 29 0F 00 AND.W #$000F ; / CODE_05D891: F0 06 BEQ CODE_05D899 ; \ CODE_05D893: 8A TXA ; | CODE_05D894: 18 CLC ; |If on submap, increase X by x400 CODE_05D895: 69 00 04 ADC.W #$0400 ; | CODE_05D898: AA TAX ; | CODE_05D899: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_05D89B: BF 00 D0 7E LDA.L $7ED000,X CODE_05D89F: 8D BF 13 STA.W $13BF ; Store overworld level number CODE_05D8A2: C9 25 CMP.B #$25 ; \ CODE_05D8A4: 90 03 BCC CODE_05D8A9 ; | CODE_05D8A6: 38 SEC ; |If A>= x25, CODE_05D8A7: E9 24 SBC.B #$24 ; |subtract x24 CODE_05D8A9: 8D BB 17 STA.W $17BB CODE_05D8AC: 85 0E STA $0E ; Store A as lower level number byte CODE_05D8AE: B9 11 1F LDA.W $1F11,Y ; \ CODE_05D8B1: F0 02 BEQ CODE_05D8B5 ; |Set higher level number byte to: CODE_05D8B3: A9 01 LDA.B #$01 ; |0 if on overworld CODE_05D8B5: 85 0F STA $0F ; / CODE_05D8B7: C2 30 REP #$30 ; 16 bit A,X,Y ; Index (16 bit) Accum (16 bit) CODE_05D8B9: A5 0E LDA $0E ; \ CODE_05D8BB: 0A ASL ; | CODE_05D8BC: 18 CLC ; |Multiply level number by 3 and store in Y CODE_05D8BD: 65 0E ADC $0E ; |(Each L1/2 pointer table entry is 3 bytes long) CODE_05D8BF: A8 TAY ; / CODE_05D8C0: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_05D8C2: B9 00 E0 LDA.W Layer1Ptrs,Y ; \ CODE_05D8C5: 85 65 STA $65 ; | CODE_05D8C7: B9 01 E0 LDA.W Layer1Ptrs+1,Y ; |Load Layer 1 pointer into $65-$67 CODE_05D8CA: 85 66 STA $66 ; | CODE_05D8CC: B9 02 E0 LDA.W Layer1Ptrs+2,Y ; | CODE_05D8CF: 85 67 STA $67 ; / CODE_05D8D1: B9 00 E6 LDA.W Layer2Ptrs,Y ; \ CODE_05D8D4: 85 68 STA $68 ; | CODE_05D8D6: B9 01 E6 LDA.W Layer2Ptrs+1,Y ; |Load Layer 2 pointer into $68-$6A CODE_05D8D9: 85 69 STA $69 ; | CODE_05D8DB: B9 02 E6 LDA.W Layer2Ptrs+2,Y ; | CODE_05D8DE: 85 6A STA $6A ; / CODE_05D8E0: C2 20 REP #$20 ; 16 bit A ; Accum (16 bit) CODE_05D8E2: A5 0E LDA $0E ; \ CODE_05D8E4: 0A ASL ; |Multiply level number by 2 and store in Y CODE_05D8E5: A8 TAY ; / (Each sprite pointer table entry is 2 bytes long) CODE_05D8E6: A9 00 00 LDA.W #$0000 CODE_05D8E9: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_05D8EB: B9 00 EC LDA.W Ptrs05EC00,Y ; \ CODE_05D8EE: 85 CE STA $CE ; |Store location of sprite level Y in $CE-$CF CODE_05D8F0: B9 01 EC LDA.W ADDR_05EC01,Y ; | CODE_05D8F3: 85 CF STA $CF ; / CODE_05D8F5: A9 07 LDA.B #$07 ; \ Set highest byte to x07 CODE_05D8F7: 85 D0 STA $D0 ; / (All sprite data is stored in bank 07) CODE_05D8F9: A7 CE LDA [$CE] ; \ Get first byte of sprite data (header) CODE_05D8FB: 29 3F AND.B #$3F ; |Get level's sprite memory CODE_05D8FD: 8D 92 16 STA.W $1692 ; / Store in $1692 CODE_05D900: A7 CE LDA [$CE] ; \ Get first byte of sprite data (header) again CODE_05D902: 29 C0 AND.B #$C0 ; |Get level's sprite buoyancy settings CODE_05D904: 8D 0E 19 STA.W $190E ; / Store in $190E CODE_05D907: C2 10 REP #$10 ; 16 bit X,Y ; Index (16 bit) CODE_05D909: E2 20 SEP #$20 ; 8 bit A ; Accum (8 bit) CODE_05D90B: A4 0E LDY $0E CODE_05D90D: B9 00 F0 LDA.W DATA_05F000,Y CODE_05D910: 4A LSR CODE_05D911: 4A LSR CODE_05D912: 4A LSR CODE_05D913: 4A LSR CODE_05D914: AA TAX CODE_05D915: BF 20 D7 05 LDA.L DATA_05D720,X CODE_05D919: 8D 13 14 STA.W $1413 CODE_05D91C: BF 10 D7 05 LDA.L DATA_05D710,X CODE_05D920: 8D 14 14 STA.W $1414 CODE_05D923: A9 01 LDA.B #$01 CODE_05D925: 8D 11 14 STA.W $1411 CODE_05D928: B9 00 F2 LDA.W DATA_05F200,Y CODE_05D92B: 29 C0 AND.B #$C0 CODE_05D92D: 18 CLC CODE_05D92E: 0A ASL CODE_05D92F: 2A ROL CODE_05D930: 2A ROL CODE_05D931: 8D E3 1B STA.W $1BE3 CODE_05D934: 64 1D STZ RAM_ScreenBndryYHi CODE_05D936: 64 21 STZ $21 CODE_05D938: B9 00 F6 LDA.W DATA_05F600,Y CODE_05D93B: 29 80 AND.B #$80 CODE_05D93D: 8D 1F 14 STA.W $141F CODE_05D940: B9 00 F6 LDA.W DATA_05F600,Y CODE_05D943: 29 60 AND.B #$60 CODE_05D945: 4A LSR CODE_05D946: 4A LSR CODE_05D947: 4A LSR CODE_05D948: 4A LSR CODE_05D949: 4A LSR CODE_05D94A: 85 5B STA RAM_IsVerticalLvl CODE_05D94C: AD 93 1B LDA.W $1B93 CODE_05D94F: D0 50 BNE CODE_05D9A1 CODE_05D951: B9 00 F0 LDA.W DATA_05F000,Y CODE_05D954: 29 0F AND.B #$0F CODE_05D956: AA TAX CODE_05D957: BF 30 D7 05 LDA.L DATA_05D730,X CODE_05D95B: 85 96 STA RAM_MarioYPos CODE_05D95D: BF 40 D7 05 LDA.L DATA_05D740,X CODE_05D961: 85 97 STA RAM_MarioYPosHi CODE_05D963: B9 00 F2 LDA.W DATA_05F200,Y CODE_05D966: 85 02 STA $02 CODE_05D968: 29 07 AND.B #$07 CODE_05D96A: AA TAX CODE_05D96B: BF 50 D7 05 LDA.L DATA_05D750,X CODE_05D96F: 85 94 STA RAM_MarioXPos CODE_05D971: BF 58 D7 05 LDA.L DATA_05D758,X CODE_05D975: 85 95 STA RAM_MarioXPosHi CODE_05D977: A5 02 LDA $02 CODE_05D979: 29 38 AND.B #$38 CODE_05D97B: 4A LSR CODE_05D97C: 4A LSR CODE_05D97D: 4A LSR CODE_05D97E: 8D 2A 19 STA.W $192A CODE_05D981: B9 00 F4 LDA.W DATA_05F400,Y CODE_05D984: 85 02 STA $02 CODE_05D986: 29 03 AND.B #$03 CODE_05D988: AA TAX CODE_05D989: BF 0C D7 05 LDA.L DATA_05D70C,X CODE_05D98D: 85 20 STA $20 CODE_05D98F: A5 02 LDA $02 CODE_05D991: 29 0C AND.B #$0C CODE_05D993: 4A LSR CODE_05D994: 4A LSR CODE_05D995: AA TAX CODE_05D996: BF 08 D7 05 LDA.L DATA_05D708,X CODE_05D99A: 85 1C STA RAM_ScreenBndryYLo CODE_05D99C: B9 00 F6 LDA.W DATA_05F600,Y CODE_05D99F: 85 01 STA $01 CODE_05D9A1: A5 5B LDA RAM_IsVerticalLvl CODE_05D9A3: 29 01 AND.B #$01 CODE_05D9A5: F0 11 BEQ CODE_05D9B8 CODE_05D9A7: A0 00 00 LDY.W #$0000 CODE_05D9AA: B7 65 LDA [$65],Y CODE_05D9AC: 29 1F AND.B #$1F CODE_05D9AE: 85 97 STA RAM_MarioYPosHi CODE_05D9B0: 1A INC A CODE_05D9B1: 85 5F STA $5F CODE_05D9B3: A9 01 LDA.B #$01 CODE_05D9B5: 8D 12 14 STA.W $1412 CODE_05D9B8: AD 1A 14 LDA.W $141A CODE_05D9BB: D0 2F BNE CODE_05D9EC CODE_05D9BD: A5 02 LDA $02 CODE_05D9BF: 4A LSR CODE_05D9C0: 4A LSR CODE_05D9C1: 4A LSR CODE_05D9C2: 4A LSR CODE_05D9C3: 8D CD 13 STA.W $13CD CODE_05D9C6: 9C CE 13 STZ.W $13CE CODE_05D9C9: AC BF 13 LDY.W $13BF CODE_05D9CC: B9 08 D6 LDA.W DATA_05D608,Y CODE_05D9CF: 8D EA 1D STA.W $1DEA CODE_05D9D2: E2 10 SEP #$10 ; Index (8 bit) CODE_05D9D4: AE BF 13 LDX.W $13BF CODE_05D9D7: BD A2 1E LDA.W $1EA2,X CODE_05D9DA: 29 40 AND.B #$40 CODE_05D9DC: F0 0E BEQ CODE_05D9EC CODE_05D9DE: 8D CF 13 STA.W $13CF CODE_05D9E1: A5 02 LDA $02 CODE_05D9E3: 4A LSR CODE_05D9E4: 4A LSR CODE_05D9E5: 4A LSR CODE_05D9E6: 4A LSR CODE_05D9E7: 85 95 STA RAM_MarioXPosHi CODE_05D9E9: 4C 17 DA JMP.W CODE_05DA17 CODE_05D9EC: C2 10 REP #$10 ; Index (16 bit) CODE_05D9EE: A5 01 LDA $01 CODE_05D9F0: 29 1F AND.B #$1F CODE_05D9F2: 85 01 STA $01 CODE_05D9F4: A5 5B LDA RAM_IsVerticalLvl CODE_05D9F6: 29 01 AND.B #$01 CODE_05D9F8: D0 07 BNE CODE_05DA01 CODE_05D9FA: A5 01 LDA $01 CODE_05D9FC: 85 95 STA RAM_MarioXPosHi CODE_05D9FE: 4C 17 DA JMP.W CODE_05DA17 CODE_05DA01: A5 01 LDA $01 CODE_05DA03: 85 97 STA RAM_MarioYPosHi CODE_05DA05: 85 1D STA RAM_ScreenBndryYHi CODE_05DA07: E2 10 SEP #$10 ; Index (8 bit) CODE_05DA09: AC 14 14 LDY.W $1414 CODE_05DA0C: C0 03 CPY.B #$03 CODE_05DA0E: F0 02 BEQ CODE_05DA12 CODE_05DA10: 85 21 STA $21 CODE_05DA12: A9 01 LDA.B #$01 CODE_05DA14: 8D 12 14 STA.W $1412 CODE_05DA17: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_05DA19: AD BF 13 LDA.W $13BF CODE_05DA1C: C9 52 CMP.B #$52 CODE_05DA1E: 90 04 BCC CODE_05DA24 CODE_05DA20: A2 03 LDX.B #$03 CODE_05DA22: 80 14 BRA CODE_05DA38 CODE_05DA24: A2 04 LDX.B #$04 CODE_05DA26: A0 04 LDY.B #$04 CODE_05DA28: B7 65 LDA [$65],Y CODE_05DA2A: 29 0F AND.B #$0F CODE_05DA2C: DF 60 D7 05 CMP.L DATA_05D760,X CODE_05DA30: F0 06 BEQ CODE_05DA38 CODE_05DA32: CA DEX CODE_05DA33: 10 F7 BPL CODE_05DA2C CODE_05DA35: 4C D7 DA JMP.W CODE_05DAD7 CODE_05DA38: AD 1A 14 LDA.W $141A CODE_05DA3B: D0 F8 BNE CODE_05DA35 CODE_05DA3D: AD 1D 14 LDA.W $141D CODE_05DA40: D0 F3 BNE CODE_05DA35 CODE_05DA42: AD 1F 14 LDA.W $141F CODE_05DA45: D0 EE BNE CODE_05DA35 CODE_05DA47: AD BF 13 LDA.W $13BF CODE_05DA4A: C9 31 CMP.B #$31 CODE_05DA4C: F0 10 BEQ CODE_05DA5E CODE_05DA4E: C9 32 CMP.B #$32 CODE_05DA50: F0 0C BEQ CODE_05DA5E CODE_05DA52: C9 34 CMP.B #$34 CODE_05DA54: F0 08 BEQ CODE_05DA5E CODE_05DA56: C9 35 CMP.B #$35 CODE_05DA58: F0 04 BEQ CODE_05DA5E CODE_05DA5A: C9 40 CMP.B #$40 CODE_05DA5C: D0 02 BNE CODE_05DA60 CODE_05DA5E: A2 05 LDX.B #$05 CODE_05DA60: AD CF 13 LDA.W $13CF CODE_05DA63: D0 6B BNE CODE_05DAD0 CODE_05DA65: BF 90 D7 05 LDA.L DATA_05D790,X CODE_05DA69: 85 96 STA RAM_MarioYPos CODE_05DA6B: A9 01 LDA.B #$01 CODE_05DA6D: 85 97 STA RAM_MarioYPosHi CODE_05DA6F: A9 30 LDA.B #$30 CODE_05DA71: 85 94 STA RAM_MarioXPos CODE_05DA73: 64 95 STZ RAM_MarioXPosHi CODE_05DA75: A9 C0 LDA.B #$C0 CODE_05DA77: 85 1C STA RAM_ScreenBndryYLo CODE_05DA79: 85 20 STA $20 CODE_05DA7B: 9C 2A 19 STZ.W $192A CODE_05DA7E: A9 EE LDA.B #$EE CODE_05DA80: 85 CE STA $CE CODE_05DA82: A9 C3 LDA.B #$C3 CODE_05DA84: 85 CF STA $CF CODE_05DA86: A9 07 LDA.B #$07 CODE_05DA88: 85 D0 STA $D0 CODE_05DA8A: A7 CE LDA [$CE] CODE_05DA8C: 29 3F AND.B #$3F CODE_05DA8E: 8D 92 16 STA.W $1692 CODE_05DA91: A7 CE LDA [$CE] CODE_05DA93: 29 C0 AND.B #$C0 CODE_05DA95: 8D 0E 19 STA.W $190E CODE_05DA98: 9C 13 14 STZ.W $1413 CODE_05DA9B: 9C 14 14 STZ.W $1414 CODE_05DA9E: 9C 11 14 STZ.W $1411 CODE_05DAA1: 64 5B STZ RAM_IsVerticalLvl CODE_05DAA3: BF 8A D7 05 LDA.L DATA_05D78A,X CODE_05DAA7: 8D E3 1B STA.W $1BE3 CODE_05DAAA: 86 00 STX $00 CODE_05DAAC: 8A TXA CODE_05DAAD: 0A ASL CODE_05DAAE: 18 CLC CODE_05DAAF: 65 00 ADC $00 CODE_05DAB1: A8 TAY CODE_05DAB2: B9 66 D7 LDA.W PtrsLong05D766,Y CODE_05DAB5: 85 65 STA $65 CODE_05DAB7: B9 67 D7 LDA.W PtrsLong05D766+1,Y CODE_05DABA: 85 66 STA $66 CODE_05DABC: B9 68 D7 LDA.W PtrsLong05D766+2,Y CODE_05DABF: 85 67 STA $67 CODE_05DAC1: B9 78 D7 LDA.W PtrsLong05D778,Y CODE_05DAC4: 85 68 STA $68 CODE_05DAC6: B9 79 D7 LDA.W PtrsLong05D778+1,Y CODE_05DAC9: 85 69 STA $69 CODE_05DACB: B9 7A D7 LDA.W PtrsLong05D778+2,Y CODE_05DACE: 85 6A STA $6A CODE_05DAD0: BF 60 D7 05 LDA.L DATA_05D760,X CODE_05DAD4: 8D 31 19 STA.W $1931 CODE_05DAD7: AD 1A 14 LDA.W $141A CODE_05DADA: F0 0F BEQ CODE_05DAEB CODE_05DADC: AD 25 14 LDA.W $1425 CODE_05DADF: D0 0A BNE CODE_05DAEB CODE_05DAE1: AD BF 13 LDA.W $13BF CODE_05DAE4: C9 24 CMP.B #$24 CODE_05DAE6: D0 03 BNE CODE_05DAEB CODE_05DAE8: 20 EF DA JSR.W CODE_05DAEF CODE_05DAEB: AB PLB CODE_05DAEC: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return05DAEE: 6B RTL ; Return CODE_05DAEF: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_05DAF1: A0 04 LDY.B #$04 CODE_05DAF3: B7 65 LDA [$65],Y CODE_05DAF5: 29 C0 AND.B #$C0 CODE_05DAF7: 18 CLC CODE_05DAF8: 2A ROL CODE_05DAF9: 2A ROL CODE_05DAFA: 2A ROL CODE_05DAFB: 22 FA 86 00 JSL.L ExecutePtrLong PtrsLong05DAFF: 3E DB 05 .dw CODE_05DB3E .db :$CODE_05DB3E 6E DB 05 .dw CODE_05DB6E .db :$CODE_05DB6E 82 DB 05 .dw CODE_05DB82 .db :$CODE_05DB82 ChocIsld2Layer1: 24 EC .dw DATA_06EC24 7E EC .dw DATA_06EC7E 7E EC .dw DATA_06EC7E 85 E9 .dw DATA_06E985 FB E9 .dw DATA_06E9FB B0 EA .dw DATA_06EAB0 0B EB .dw DATA_06EB0B 72 EB .dw DATA_06EB72 BE EB .dw DATA_06EBBE ChocIsld2Sprites: 99 D8 .dw DATA_07D899 A1 D8 .dw DATA_07D8A1 A1 D8 .dw DATA_07D8A1 E5 D7 .dw DATA_07D7E5 EA D7 .dw DATA_07D7EA 25 D8 .dw DATA_07D825 4B D8 .dw DATA_07D84B 6E D8 .dw DATA_07D86E 88 D8 .dw DATA_07D888 ChocIsld2Layer2: 59 DF .dw DATA_0CDF59 59 DF .dw DATA_0CDF59 59 DF .dw DATA_0CDF59 59 DF .dw DATA_0CDF59 59 DF .dw DATA_0CDF59 59 DF .dw DATA_0CDF59 59 DF .dw DATA_0CDF59 59 DF .dw DATA_0CDF59 59 DF .dw DATA_0CDF59 CODE_05DB3E: A2 00 LDX.B #$00 CODE_05DB40: AD 22 14 LDA.W $1422 CODE_05DB43: C9 04 CMP.B #$04 CODE_05DB45: F0 02 BEQ CODE_05DB49 CODE_05DB47: A2 02 LDX.B #$02 CODE_05DB49: C2 20 REP #$20 ; Accum (16 bit) CODE_05DB4B: BF 08 DB 05 LDA.L ChocIsld2Layer1,X CODE_05DB4F: 85 65 STA $65 CODE_05DB51: BF 1A DB 05 LDA.L ChocIsld2Sprites,X CODE_05DB55: 85 CE STA $CE CODE_05DB57: BF 2C DB 05 LDA.L ChocIsld2Layer2,X CODE_05DB5B: 85 68 STA $68 CODE_05DB5D: E2 20 SEP #$20 ; Accum (8 bit) CODE_05DB5F: A7 CE LDA [$CE] CODE_05DB61: 29 7F AND.B #$7F CODE_05DB63: 8D 92 16 STA.W $1692 CODE_05DB66: A7 CE LDA [$CE] CODE_05DB68: 29 80 AND.B #$80 CODE_05DB6A: 8D 0E 19 STA.W $190E Return05DB6D: 60 RTS ; Return CODE_05DB6E: A2 0A LDX.B #$0A CODE_05DB70: AD C0 0D LDA.W $0DC0 CODE_05DB73: C9 16 CMP.B #$16 CODE_05DB75: 10 08 BPL CODE_05DB7F CODE_05DB77: A2 08 LDX.B #$08 CODE_05DB79: C9 0A CMP.B #$0A CODE_05DB7B: 10 02 BPL CODE_05DB7F ADDR_05DB7D: A2 06 LDX.B #$06 CODE_05DB7F: 4C 49 DB JMP.W CODE_05DB49 CODE_05DB82: A2 0C LDX.B #$0C CODE_05DB84: AD 31 0F LDA.W $0F31 CODE_05DB87: C9 02 CMP.B #$02 CODE_05DB89: 30 1B BMI CODE_05DBA6 CODE_05DB8B: AD 32 0F LDA.W $0F32 CODE_05DB8E: C9 03 CMP.B #$03 CODE_05DB90: 30 14 BMI CODE_05DBA6 CODE_05DB92: D0 07 BNE CODE_05DB9B CODE_05DB94: AD 33 0F LDA.W $0F33 CODE_05DB97: C9 05 CMP.B #$05 CODE_05DB99: 30 0B BMI CODE_05DBA6 CODE_05DB9B: A2 0E LDX.B #$0E CODE_05DB9D: AD 32 0F LDA.W $0F32 CODE_05DBA0: C9 05 CMP.B #$05 CODE_05DBA2: 30 02 BMI CODE_05DBA6 CODE_05DBA4: A2 10 LDX.B #$10 CODE_05DBA6: 4C 49 DB JMP.W CODE_05DB49 DATA_05DBA9: .db $00,$C8,$00 CODE_05DBAC: A0 00 LDY.B #$00 CODE_05DBAE: AD 95 1B LDA.W $1B95 CODE_05DBB1: F0 02 BEQ CODE_05DBB5 CODE_05DBB3: A0 01 LDY.B #$01 CODE_05DBB5: A6 95 LDX RAM_MarioXPosHi CODE_05DBB7: A5 5B LDA RAM_IsVerticalLvl CODE_05DBB9: 29 01 AND.B #$01 CODE_05DBBB: F0 02 BEQ CODE_05DBBF ADDR_05DBBD: A6 97 LDX RAM_MarioYPosHi CODE_05DBBF: B9 A9 DB LDA.W DATA_05DBA9,Y CODE_05DBC2: 9D B8 19 STA.W $19B8,X CODE_05DBC5: EE 1A 14 INC.W $141A Return05DBC8: 60 RTS ; Return DATA_05DBC9: .db $50,$88,$00,$03,$FE,$38,$FE,$38 .db $FF,$B8,$3C,$B9,$3C,$BA,$3C,$BB .db $3C,$BA,$3C,$BA,$BC,$BC,$3C,$BD .db $3C,$BE,$3C,$BF,$3C,$C0,$3C,$B7 .db $BC,$C1,$3C,$B9,$3C,$C2,$3C,$C2 .db $BC CODE_05DBF2: 8B PHB CODE_05DBF3: 4B PHK CODE_05DBF4: AB PLB CODE_05DBF5: A2 08 LDX.B #$08 CODE_05DBF7: BD C9 DB LDA.W DATA_05DBC9,X CODE_05DBFA: 9F 7D 83 7F STA.L $7F837D,X CODE_05DBFE: CA DEX CODE_05DBFF: 10 F6 BPL CODE_05DBF7 CODE_05DC01: A2 00 LDX.B #$00 CODE_05DC03: AD B3 0D LDA.W $0DB3 CODE_05DC06: F0 02 BEQ CODE_05DC0A CODE_05DC08: A2 01 LDX.B #$01 CODE_05DC0A: BD B4 0D LDA.W RAM_PlayerLives,X CODE_05DC0D: 1A INC A CODE_05DC0E: 20 3A DC JSR.W CODE_05DC3A CODE_05DC11: E0 00 CPX.B #$00 CODE_05DC13: F0 0E BEQ CODE_05DC23 CODE_05DC15: 18 CLC CODE_05DC16: 69 22 ADC.B #$22 CODE_05DC18: 8F 83 83 7F STA.L $7F8383 CODE_05DC1C: A9 39 LDA.B #$39 CODE_05DC1E: 8F 84 83 7F STA.L $7F8384 CODE_05DC22: 8A TXA CODE_05DC23: 18 CLC CODE_05DC24: 69 22 ADC.B #$22 CODE_05DC26: 8F 81 83 7F STA.L $7F8381 CODE_05DC2A: A9 39 LDA.B #$39 CODE_05DC2C: 8F 82 83 7F STA.L $7F8382 CODE_05DC30: A9 08 LDA.B #$08 CODE_05DC32: 8F 7B 83 7F STA.L $7F837B CODE_05DC36: E2 20 SEP #$20 ; Accum (8 bit) CODE_05DC38: AB PLB Return05DC39: 6B RTL ; Return CODE_05DC3A: A2 00 LDX.B #$00 CODE_05DC3C: C9 0A CMP.B #$0A CODE_05DC3E: 90 05 BCC Return05DC45 CODE_05DC40: E9 0A SBC.B #$0A CODE_05DC42: E8 INX CODE_05DC43: 80 F7 BRA CODE_05DC3C Return05DC45: 60 RTS ; Return Empty05DC46: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF Layer1Ptrs: 54 86 06 .dw DATA_068654 .db :$DATA_068654 69 BA 06 .dw DATA_06BA69 .db :$DATA_06BA69 33 BC 06 .dw DATA_06BC33 .db :$DATA_06BC33 BF 88 06 .dw DATA_0688BF .db :$DATA_0688BF 07 98 06 .dw DATA_069807 .db :$DATA_069807 61 99 06 .dw DATA_069961 .db :$DATA_069961 B5 9B 06 .dw DATA_069BB5 .db :$DATA_069BB5 C0 9D 06 .dw DATA_069DC0 .db :$DATA_069DC0 6E 87 06 .dw DATA_06876E .db :$DATA_06876E 2D 96 06 .dw DATA_06962D .db :$DATA_06962D 34 A1 06 .dw DATA_06A134 .db :$DATA_06A134 0F BD 06 .dw DATA_06BD0F .db :$DATA_06BD0F 00 D0 06 .dw DATA_06D000 .db :$DATA_06D000 F4 D0 06 .dw DATA_06D0F4 .db :$DATA_06D0F4 A3 C3 06 .dw DATA_06C3A3 .db :$DATA_06C3A3 AD BE 06 .dw DATA_06BEAD .db :$DATA_06BEAD C4 C1 06 .dw DATA_06C1C4 .db :$DATA_06C1C4 83 C7 06 .dw DATA_06C783 .db :$DATA_06C783 00 80 06 .dw DATA_068000 .db :$DATA_068000 F2 A2 06 .dw DATA_06A2F2 .db :$DATA_06A2F2 8D 86 06 .dw DATA_06868D .db :$DATA_06868D E5 91 06 .dw DATA_0691E5 .db :$DATA_0691E5 E5 91 06 .dw DATA_0691E5 .db :$DATA_0691E5 E5 91 06 .dw DATA_0691E5 .db :$DATA_0691E5 14 8C 07 .dw DATA_078C14 .db :$DATA_078C14 00 80 06 .dw DATA_068000 .db :$DATA_068000 CC 89 07 .dw DATA_0789CC .db :$DATA_0789CC 36 EE 06 .dw DATA_06EE36 .db :$DATA_06EE36 E3 86 07 .dw DATA_0786E3 .db :$DATA_0786E3 00 81 07 .dw LevelData078100 .db :$LevelData078100 00 80 06 .dw DATA_068000 .db :$DATA_068000 0A E2 06 .dw DATA_06E20A .db :$DATA_06E20A D9 D9 06 .dw DATA_06D9D9 .db :$DATA_06D9D9 A2 E7 06 .dw DATA_06E7A2 .db :$DATA_06E7A2 44 E4 06 .dw DATA_06E444 .db :$DATA_06E444 C9 EC 06 .dw DATA_06ECC9 .db :$DATA_06ECC9 97 E8 06 .dw DATA_06E897 .db :$DATA_06E897 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 61 85 06 .dw DATA_068561 .db :$DATA_068561 8B 85 06 .dw DATA_06858B .db :$DATA_06858B 58 82 06 .dw DATA_068258 .db :$DATA_068258 5E 82 06 .dw DATA_06825E .db :$DATA_06825E 5E 82 06 .dw DATA_06825E .db :$DATA_06825E 58 82 06 .dw DATA_068258 .db :$DATA_068258 58 82 06 .dw DATA_068258 .db :$DATA_068258 58 82 06 .dw DATA_068258 .db :$DATA_068258 52 82 06 .dw DATA_068252 .db :$DATA_068252 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 35 89 07 .dw DATA_078935 .db :$DATA_078935 6E E7 06 .dw DATA_06E76E .db :$DATA_06E76E 99 C1 06 .dw DATA_06C199 .db :$DATA_06C199 CB 88 07 .dw DATA_0788CB .db :$DATA_0788CB 75 C3 06 .dw DATA_06C375 .db :$DATA_06C375 70 A2 06 .dw DATA_06A270 .db :$DATA_06A270 83 9D 06 .dw DATA_069D83 .db :$DATA_069D83 4F 99 06 .dw DATA_06994F .db :$DATA_06994F 03 86 06 .dw DATA_068603 .db :$DATA_068603 49 C9 06 .dw DATA_06C949 .db :$DATA_06C949 B5 85 06 .dw DATA_0685B5 .db :$DATA_0685B5 7C 97 07 .dw DATA_07977C .db :$DATA_07977C 7D 88 06 .dw DATA_06887D .db :$DATA_06887D AE 87 06 .dw DATA_0687AE .db :$DATA_0687AE EE BC 06 .dw DATA_06BCEE .db :$DATA_06BCEE 36 86 06 .dw DATA_068636 .db :$DATA_068636 24 EC 06 .dw DATA_06EC24 .db :$DATA_06EC24 0B EB 06 .dw DATA_06EB0B .db :$DATA_06EB0B 85 E9 06 .dw DATA_06E985 .db :$DATA_06E985 44 E4 06 .dw DATA_06E444 .db :$DATA_06E444 44 E4 06 .dw DATA_06E444 .db :$DATA_06E444 4C 9D 06 .dw DATA_069D4C .db :$DATA_069D4C EA 8B 07 .dw DATA_078BEA .db :$DATA_078BEA 4A 8B 07 .dw DATA_078B4A .db :$DATA_078B4A 36 86 06 .dw DATA_068636 .db :$DATA_068636 07 E3 06 .dw DATA_06E307 .db :$DATA_06E307 E7 ED 06 .dw DATA_06EDE7 .db :$DATA_06EDE7 C9 BB 06 .dw DATA_06BBC9 .db :$DATA_06BBC9 36 86 06 .dw DATA_068636 .db :$DATA_068636 EC C6 06 .dw DATA_06C6EC .db :$DATA_06C6EC 59 C5 06 .dw DATA_06C559 .db :$DATA_06C559 95 C4 06 .dw DATA_06C495 .db :$DATA_06C495 D6 D1 06 .dw DATA_06D1D6 .db :$DATA_06D1D6 9D 98 06 .dw DATA_06989D .db :$DATA_06989D 36 86 06 .dw DATA_068636 .db :$DATA_068636 B6 BD 06 .dw DATA_06BDB6 .db :$DATA_06BDB6 B6 BD 06 .dw DATA_06BDB6 .db :$DATA_06BDB6 36 86 06 .dw DATA_068636 .db :$DATA_068636 73 94 06 .dw DATA_069473 .db :$DATA_069473 4F A4 06 .dw DATA_06A44F .db :$DATA_06A44F 36 86 06 .dw DATA_068636 .db :$DATA_068636 9D A0 06 .dw DATA_06A09D .db :$DATA_06A09D 64 9F 06 .dw DATA_069F64 .db :$DATA_069F64 2E 9E 06 .dw DATA_069E2E .db :$DATA_069E2E 8E 97 06 .dw DATA_06978E .db :$DATA_06978E B4 85 07 .dw DATA_0785B4 .db :$DATA_0785B4 21 86 06 .dw DATA_068621 .db :$DATA_068621 F2 A2 06 .dw DATA_06A2F2 .db :$DATA_06A2F2 74 A3 06 .dw DATA_06A374 .db :$DATA_06A374 F2 A2 06 .dw DATA_06A2F2 .db :$DATA_06A2F2 FD EE 06 .dw DATA_06EEFD .db :$DATA_06EEFD 21 86 06 .dw DATA_068621 .db :$DATA_068621 20 A4 06 .dw DATA_06A420 .db :$DATA_06A420 74 A3 06 .dw DATA_06A374 .db :$DATA_06A374 DC D0 06 .dw DATA_06D0DC .db :$DATA_06D0DC 1E 9B 06 .dw DATA_069B1E .db :$DATA_069B1E D0 E5 06 .dw DATA_06E5D0 .db :$DATA_06E5D0 D0 E5 06 .dw DATA_06E5D0 .db :$DATA_06E5D0 AB 8D 07 .dw DATA_078DAB .db :$DATA_078DAB C6 8C 07 .dw DATA_078CC6 .db :$DATA_078CC6 9D 98 06 .dw DATA_06989D .db :$DATA_06989D 7B 98 06 .dw DATA_06987B .db :$DATA_06987B 21 86 06 .dw DATA_068621 .db :$DATA_068621 15 E8 06 .dw DATA_06E815 .db :$DATA_06E815 DC 93 06 .dw DATA_0693DC .db :$DATA_0693DC F0 98 06 .dw DATA_0698F0 .db :$DATA_0698F0 3C 86 06 .dw DATA_06863C .db :$DATA_06863C 54 86 06 .dw DATA_068654 .db :$DATA_068654 FD 8F 06 .dw DATA_068FFD .db :$DATA_068FFD AD 8E 06 .dw DATA_068EAD .db :$DATA_068EAD DE 8B 06 .dw DATA_068BDE .db :$DATA_068BDE 2D 80 07 .dw DATA_07802D .db :$DATA_07802D DD 88 06 .dw DATA_0688DD .db :$DATA_0688DD 2F 8A 06 .dw DATA_068A2F .db :$DATA_068A2F 09 AD 06 .dw DATA_06AD09 .db :$DATA_06AD09 C3 80 07 .dw DATA_0780C3 .db :$DATA_0780C3 17 B8 06 .dw DATA_06B817 .db :$DATA_06B817 7D AE 06 .dw DATA_06AE7D .db :$DATA_06AE7D 61 A4 06 .dw DATA_06A461 .db :$DATA_06A461 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 A6 07 .dw LevelDataSpr07A600 .db :$LevelDataSpr07A600 F9 AB 07 .dw DATA_07ABF9 .db :$DATA_07ABF9 58 9B 07 .dw DATA_079B58 .db :$DATA_079B58 E2 9D 07 .dw DATA_079DE2 .db :$DATA_079DE2 28 A0 07 .dw DATA_07A028 .db :$DATA_07A028 00 80 06 .dw DATA_068000 .db :$DATA_068000 D6 99 07 .dw DATA_0799D6 .db :$DATA_0799D6 03 98 07 .dw DATA_079803 .db :$DATA_079803 CA 92 07 .dw DATA_0792CA .db :$DATA_0792CA A4 8E 07 .dw DATA_078EA4 .db :$DATA_078EA4 5D F0 06 .dw DATA_06F05D .db :$DATA_06F05D 5F A9 06 .dw DATA_06A95F .db :$DATA_06A95F D1 B2 06 .dw DATA_06B2D1 .db :$DATA_06B2D1 00 A6 06 .dw DATA_06A600 .db :$DATA_06A600 D0 86 06 .dw DATA_0686D0 .db :$DATA_0686D0 E0 B4 06 .dw DATA_06B4E0 .db :$DATA_06B4E0 BE DA 06 .dw DATA_06DABE .db :$DATA_06DABE 3A D2 06 .dw DATA_06D23A .db :$DATA_06D23A 5B DF 06 .dw DATA_06DF5B .db :$DATA_06DF5B 0B D4 06 .dw DATA_06D40B .db :$DATA_06D40B 2B 87 06 .dw DATA_06872B .db :$DATA_06872B 83 E1 06 .dw DATA_06E183 .db :$DATA_06E183 F3 D6 06 .dw DATA_06D6F3 .db :$DATA_06D6F3 00 80 06 .dw DATA_068000 .db :$DATA_068000 65 BF 07 .dw DATA_07BF65 .db :$DATA_07BF65 E5 BD 07 .dw DATA_07BDE5 .db :$DATA_07BDE5 11 BC 07 .dw DATA_07BC11 .db :$DATA_07BC11 BE BA 07 .dw DATA_07BABE .db :$DATA_07BABE 00 80 06 .dw DATA_068000 .db :$DATA_068000 6B B2 07 .dw DATA_07B26B .db :$DATA_07B26B 6E B4 07 .dw DATA_07B46E .db :$DATA_07B46E 40 B5 07 .dw DATA_07B540 .db :$DATA_07B540 08 B9 07 .dw DATA_07B908 .db :$DATA_07B908 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 25 AF 07 .dw DATA_07AF25 .db :$DATA_07AF25 00 80 06 .dw DATA_068000 .db :$DATA_068000 E3 AF 07 .dw DATA_07AFE3 .db :$DATA_07AFE3 00 80 06 .dw DATA_068000 .db :$DATA_068000 35 AD 07 .dw DATA_07AD35 .db :$DATA_07AD35 31 B0 07 .dw DATA_07B031 .db :$DATA_07B031 24 B1 07 .dw DATA_07B124 .db :$DATA_07B124 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 8B 85 06 .dw DATA_06858B .db :$DATA_06858B 61 85 06 .dw DATA_068561 .db :$DATA_068561 58 82 06 .dw DATA_068258 .db :$DATA_068258 5E 82 06 .dw DATA_06825E .db :$DATA_06825E 5E 82 06 .dw DATA_06825E .db :$DATA_06825E 58 82 06 .dw DATA_068258 .db :$DATA_068258 58 82 06 .dw DATA_068258 .db :$DATA_068258 58 82 06 .dw DATA_068258 .db :$DATA_068258 52 82 06 .dw DATA_068252 .db :$DATA_068252 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 00 80 06 .dw DATA_068000 .db :$DATA_068000 C1 9A 07 .dw DATA_079AC1 .db :$DATA_079AC1 42 D9 06 .dw DATA_06D942 .db :$DATA_06D942 C9 AA 07 .dw DATA_07AAC9 .db :$DATA_07AAC9 B1 8F 06 .dw DATA_068FB1 .db :$DATA_068FB1 84 9D 07 .dw DATA_079D84 .db :$DATA_079D84 11 F5 06 .dw LevelData .db :$LevelData 28 E1 06 .dw DATA_06E128 .db :$DATA_06E128 B5 B1 06 .dw DATA_06B1B5 .db :$DATA_06B1B5 A8 AC 06 .dw DATA_06ACA8 .db :$DATA_06ACA8 C6 B3 07 .dw DATA_07B3C6 .db :$DATA_07B3C6 C6 B3 07 .dw DATA_07B3C6 .db :$DATA_07B3C6 6D A5 06 .dw DATA_06A56D .db :$DATA_06A56D 2F AD 07 .dw DATA_07AD2F .db :$DATA_07AD2F 96 B8 07 .dw DATA_07B896 .db :$DATA_07B896 7D B8 07 .dw DATA_07B87D .db :$DATA_07B87D B3 8B 06 .dw DATA_068BB3 .db :$DATA_068BB3 F8 89 06 .dw DATA_0689F8 .db :$DATA_0689F8 77 AA 07 .dw DATA_07AA77 .db :$DATA_07AA77 16 AA 07 .dw DATA_07AA16 .db :$DATA_07AA16 61 A9 07 .dw DATA_07A961 .db :$DATA_07A961 D9 A8 07 .dw DATA_07A8D9 .db :$DATA_07A8D9 3F A8 07 .dw DATA_07A83F .db :$DATA_07A83F 02 A8 07 .dw DATA_07A802 .db :$DATA_07A802 65 A7 07 .dw DATA_07A765 .db :$DATA_07A765 07 A7 07 .dw DATA_07A707 .db :$DATA_07A707 8E A6 07 .dw DATA_07A68E .db :$DATA_07A68E CE AF 07 .dw DATA_07AFCE .db :$DATA_07AFCE 16 AF 07 .dw DATA_07AF16 .db :$DATA_07AF16 38 88 06 .dw DATA_068838 .db :$DATA_068838 F3 87 06 .dw DATA_0687F3 .db :$DATA_0687F3 03 98 07 .dw DATA_079803 .db :$DATA_079803 21 86 06 .dw DATA_068621 .db :$DATA_068621 69 99 07 .dw DATA_079969 .db :$DATA_079969 69 99 07 .dw DATA_079969 .db :$DATA_079969 67 98 07 .dw DATA_079867 .db :$DATA_079867 36 86 06 .dw DATA_068636 .db :$DATA_068636 04 E1 06 .dw DATA_06E104 .db :$DATA_06E104 8A BD 07 .dw DATA_07BD8A .db :$DATA_07BD8A 75 BD 07 .dw DATA_07BD75 .db :$DATA_07BD75 F0 95 07 .dw DATA_0795F0 .db :$DATA_0795F0 E2 93 07 .dw DATA_0793E2 .db :$DATA_0793E2 33 92 07 .dw DATA_079233 .db :$DATA_079233 21 92 07 .dw DATA_079221 .db :$DATA_079221 46 DF 06 .dw DATA_06DF46 .db :$DATA_06DF46 21 86 06 .dw DATA_068621 .db :$DATA_068621 BE DA 06 .dw DATA_06DABE .db :$DATA_06DABE BE DA 06 .dw DATA_06DABE .db :$DATA_06DABE 18 AE 06 .dw DATA_06AE18 .db :$DATA_06AE18 87 86 06 .dw DATA_068687 .db :$DATA_068687 5D F3 06 .dw DATA_06F35D .db :$DATA_06F35D 64 F1 06 .dw DATA_06F164 .db :$DATA_06F164 FC F4 06 .dw DATA_06F4FC .db :$DATA_06F4FC E9 A8 06 .dw DATA_06A8E9 .db :$DATA_06A8E9 33 BA 06 .dw DATA_06BA33 .db :$DATA_06BA33 06 BA 06 .dw DATA_06BA06 .db :$DATA_06BA06 ED B7 06 .dw DATA_06B7ED .db :$DATA_06B7ED 66 B6 06 .dw DATA_06B666 .db :$DATA_06B666 20 B6 06 .dw DATA_06B620 .db :$DATA_06B620 22 B4 06 .dw DATA_06B422 .db :$DATA_06B422 87 86 06 .dw DATA_068687 .db :$DATA_068687 3A B2 06 .dw DATA_06B23A .db :$DATA_06B23A 14 D9 06 .dw DATA_06D914 .db :$DATA_06D914 21 86 06 .dw DATA_068621 .db :$DATA_068621 D2 DE 06 .dw DATA_06DED2 .db :$DATA_06DED2 09 AD 06 .dw DATA_06AD09 .db :$DATA_06AD09 6F 91 06 .dw DATA_06916F .db :$DATA_06916F 6D 8E 06 .dw DATA_068E6D .db :$DATA_068E6D 22 9F 07 .dw DATA_079F22 .db :$DATA_079F22 93 8F 06 .dw DATA_068F93 .db :$DATA_068F93 Layer2Ptrs: 74 E6 FF .dw DATA_0CE674 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 82 EC FF .dw DATA_0CEC82 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 82 EC FF .dw DATA_0CEC82 .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 6D 95 06 .dw DATA_06956D .db :$DATA_06956D B9 DA FF .dw DATA_0CDAB9 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 6E C4 06 .dw DATA_06C46E .db :$DATA_06C46E 44 DD FF .dw DATA_0CDD44 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF B9 DA FF .dw DATA_0CDAB9 .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF B9 DA FF .dw DATA_0CDAB9 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 1D 8B 07 .dw DATA_078B1D .db :$DATA_078B1D 5A F4 FF .dw DATA_0CF45A .db $FF C0 E7 FF .dw DATA_0CE7C0 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 03 E1 FF .dw DATA_0CE103 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF C0 E7 FF .dw DATA_0CE7C0 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF 1B 86 06 .dw DATA_06861B .db :$DATA_06861B 00 D9 FF .dw DATA_0CD900 .db $FF 72 E4 FF .dw DATA_0CE472 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 84 E6 FF .dw DATA_0CE684 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF B7 8B 07 .dw DATA_078BB7 .db :$DATA_078BB7 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 14 C5 06 .dw DATA_06C514 .db :$DATA_06C514 44 DD FF .dw DATA_0CDD44 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF BF 9E 06 .dw DATA_069EBF .db :$DATA_069EBF 5A F4 FF .dw DATA_0CF45A .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 1B 86 06 .dw DATA_06861B .db :$DATA_06861B 80 EF FF .dw DATA_0CEF80 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 1B 86 06 .dw DATA_06861B .db :$DATA_06861B 80 EF FF .dw DATA_0CEF80 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF EE E8 FF .dw DATA_0CE8EE .db $FF 75 F1 FF .dw DATA_0CF175 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 1B 86 06 .dw DATA_06861B .db :$DATA_06861B 80 EF FF .dw DATA_0CEF80 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 54 DE FF .dw DATA_0CDE54 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 03 E1 FF .dw DATA_0CE103 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 82 EC FF .dw DATA_0CEC82 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF C0 E7 FF .dw DATA_0CE7C0 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 03 E1 FF .dw DATA_0CE103 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 34 A1 07 .dw DATA_07A134 .db :$DATA_07A134 00 D9 FF .dw DATA_0CD900 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 7C 93 07 .dw DATA_07937C .db :$DATA_07937C FE E8 FF .dw DATA_0CE8FE .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 84 E6 FF .dw DATA_0CE684 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 8D DB 06 .dw DATA_06DB8D .db :$DATA_06DB8D 82 EC FF .dw DATA_0CEC82 .db $FF 82 EC FF .dw DATA_0CEC82 .db $FF B9 DA FF .dw DATA_0CDAB9 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 82 EC FF .dw DATA_0CEC82 .db $FF 82 EC FF .dw DATA_0CEC82 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 71 DC FF .dw DATA_0CDC71 .db $FF 82 EC FF .dw DATA_0CEC82 .db $FF C0 E7 FF .dw DATA_0CE7C0 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 72 E4 FF .dw DATA_0CE472 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF B9 DA FF .dw DATA_0CDAB9 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 84 E6 FF .dw DATA_0CE684 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 84 E6 FF .dw DATA_0CE684 .db $FF 84 E6 FF .dw DATA_0CE684 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF B9 DA FF .dw DATA_0CDAB9 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 00 D9 FF .dw DATA_0CD900 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 03 E1 FF .dw DATA_0CE103 .db $FF E3 A9 07 .dw DATA_07A9E3 .db :$DATA_07A9E3 34 A9 07 .dw DATA_07A934 .db :$DATA_07A934 03 E1 FF .dw DATA_0CE103 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 03 E1 FF .dw DATA_0CE103 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 1B 86 06 .dw DATA_06861B .db :$DATA_06861B 80 EF FF .dw DATA_0CEF80 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 44 DD FF .dw DATA_0CDD44 .db $FF C0 E7 FF .dw DATA_0CE7C0 .db $FF 5E 97 07 .dw DATA_07975E .db :$DATA_07975E A5 95 07 .dw DATA_0795A5 .db :$DATA_0795A5 74 E6 FF .dw DATA_0CE674 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 1B 86 06 .dw DATA_06861B .db :$DATA_06861B 1B 86 06 .dw DATA_06861B .db :$DATA_06861B 8D DB 06 .dw DATA_06DB8D .db :$DATA_06DB8D 8D DB 06 .dw DATA_06DB8D .db :$DATA_06DB8D 80 EF FF .dw DATA_0CEF80 .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 2A F4 06 .dw DATA_06F42A .db :$DATA_06F42A FE E8 FF .dw DATA_0CE8FE .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 3E A9 06 .dw ADDR_06A93E .db :$ADDR_06A93E FE E8 FF .dw DATA_0CE8FE .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 4B B7 06 .dw DATA_06B74B .db :$DATA_06B74B 5A F4 FF .dw DATA_0CF45A .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 74 E6 FF .dw DATA_0CE674 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 1B 86 06 .dw DATA_06861B .db :$DATA_06861B 80 EF FF .dw DATA_0CEF80 .db $FF 80 EF FF .dw DATA_0CEF80 .db $FF 03 E1 FF .dw DATA_0CE103 .db $FF FE E8 FF .dw DATA_0CE8FE .db $FF 5A F4 FF .dw DATA_0CF45A .db $FF 59 DF FF .dw DATA_0CDF59 .db $FF Ptrs05EC00: 07 C4 .dw DATA_07C407 1C CE .dw DATA_07CE1C BF CE .dw DATA_07CEBF C5 C4 .dw DATA_07C4C5 B5 C7 .dw DATA_07C7B5 D9 C7 .dw DATA_07C7D9 44 C8 .dw DATA_07C844 04 C9 .dw DATA_07C904 9D C4 .dw DATA_07C49D 51 C7 .dw DATA_07C751 48 C9 .dw DATA_07C948 06 CF .dw DATA_07CF06 F5 D1 .dw DATA_07D1F5 5A D2 .dw DATA_07D25A D7 D0 .dw DATA_07D0D7 AF CF .dw DATA_07CFAF 43 D0 .dw DATA_07D043 57 D1 .dw DATA_07D157 6D E7 .dw DATA_07E76D CA C9 .dw DATA_07C9CA 46 C4 .dw DATA_07C446 D5 C6 .dw DATA_07C6D5 D5 C6 .dw DATA_07C6D5 D5 C6 .dw DATA_07C6D5 2D DC .dw DATA_07DC2D 6D E7 .dw DATA_07E76D BB DB .dw DATA_07DBBB 5E D9 .dw DATA_07D95E 0F DB .dw DATA_07DB0F 93 DA .dw DATA_07DA93 6D E7 .dw DATA_07E76D 48 D6 .dw DATA_07D648 CD D4 .dw DATA_07D4CD 4C D7 .dw DATA_07D74C D9 D6 .dw DATA_07D6D9 BE D8 .dw DATA_07D8BE BF D7 .dw DATA_07D7BF 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D DB C3 .dw DATA_07C3DB E3 C3 .dw DATA_07C3E3 67 C3 .dw DATA_07C367 59 C3 .dw DATA_07C359 54 C3 .dw DATA_07C354 4F C3 .dw DATA_07C34F 4A C3 .dw DATA_07C34A 45 C3 .dw DATA_07C345 40 C3 .dw DATA_07C340 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D EE C3 .dw DATA_07C3EE 41 D7 .dw DATA_07D741 2F D0 .dw DATA_07D02F 95 DB .dw DATA_07DB95 CF D0 .dw DATA_07D0CF AA C9 .dw DATA_07C9AA EA C8 .dw DATA_07C8EA F5 C3 .dw DATA_07C3F5 41 C4 .dw DATA_07C441 F0 C3 .dw DATA_07C3F0 27 C4 .dw DATA_07C427 CF DD .dw DATA_07DDCF C0 C4 .dw DATA_07C4C0 4B C4 .dw DATA_07C44B F0 C3 .dw DATA_07C3F0 1D D5 .dw DATA_07D51D 99 D8 .dw DATA_07D899 4B D8 .dw DATA_07D84B E5 D7 .dw DATA_07D7E5 D9 D6 .dw DATA_07D6D9 D9 D6 .dw DATA_07D6D9 CD C8 .dw DATA_07C8CD 22 DC .dw DATA_07DC22 F9 DB .dw DATA_07DBF9 14 C4 .dw DATA_07C414 68 D6 .dw DATA_07D668 56 D9 .dw DATA_07D956 BA CE .dw DATA_07CEBA 52 D1 .dw DATA_07D152 EE C3 .dw DATA_07C3EE 11 D1 .dw DATA_07D111 F4 D0 .dw DATA_07D0F4 04 D3 .dw DATA_07D304 BD C7 .dw DATA_07C7BD 14 C4 .dw DATA_07C414 4D CF .dw DATA_07CF4D 4D CF .dw DATA_07CF4D 14 C4 .dw DATA_07C414 49 C7 .dw DATA_07C749 0C CA .dw DATA_07CA0C 43 C9 .dw DATA_07C943 EE C3 .dw DATA_07C3EE 26 C9 .dw DATA_07C926 15 C9 .dw DATA_07C915 A7 C7 .dw DATA_07C7A7 DD DA .dw DATA_07DADD 0C C4 .dw DATA_07C40C CA C9 .dw DATA_07C9CA DB C9 .dw DATA_07C9DB CA C9 .dw DATA_07C9CA B1 D9 .dw DATA_07D9B1 F5 C3 .dw DATA_07C3F5 F2 C9 .dw DATA_07C9F2 DB C9 .dw DATA_07C9DB F0 C3 .dw DATA_07C3F0 EE C3 .dw DATA_07C3EE D9 D6 .dw DATA_07D6D9 D9 D6 .dw DATA_07D6D9 61 DC .dw DATA_07DC61 3B DC .dw DATA_07DC3B BD C7 .dw DATA_07C7BD EE C3 .dw DATA_07C3EE F5 C3 .dw DATA_07C3F5 99 D7 .dw DATA_07D799 EE C3 .dw DATA_07C3EE CB C7 .dw DATA_07C7CB F0 C3 .dw DATA_07C3F0 07 C4 .dw DATA_07C407 6F C6 .dw DATA_07C66F F4 C5 .dw DATA_07C5F4 93 C5 .dw DATA_07C593 59 E7 .dw DATA_07E759 CA C4 .dw DATA_07C4CA 32 C5 .dw DATA_07C532 DC CB .dw DATA_07CBDC 6D E7 .dw DATA_07E76D C8 CD .dw DATA_07CDC8 25 CC .dw DATA_07CC25 17 CA .dw DATA_07CA17 6D E7 .dw DATA_07E76D 22 C4 .dw DATA_07C422 9D E1 .dw DATA_07E19D 08 DF .dw DATA_07DF08 B1 DF .dw DATA_07DFB1 32 E0 .dw DATA_07E032 6D E7 .dw DATA_07E76D 4F DE .dw DATA_07DE4F 01 DE .dw DATA_07DE01 7B DD .dw DATA_07DD7B 14 DD .dw DATA_07DD14 EF D9 .dw DATA_07D9EF 2A CB .dw DATA_07CB2A D4 CC .dw DATA_07CCD4 87 CA .dw DATA_07CA87 50 C4 .dw DATA_07C450 68 CD .dw DATA_07CD68 22 D5 .dw DATA_07D522 0C D3 .dw DATA_07D30C 77 D5 .dw DATA_07D577 80 D3 .dw DATA_07D380 78 C4 .dw DATA_07C478 F5 D5 .dw DATA_07D5F5 45 D4 .dw DATA_07D445 6D E7 .dw DATA_07E76D F4 E6 .dw DATA_07E6F4 50 E6 .dw DATA_07E650 DF E5 .dw DATA_07E5DF 74 E5 .dw DATA_07E574 6D E7 .dw DATA_07E76D DC E3 .dw DATA_07E3DC 28 E4 .dw DATA_07E428 66 E4 .dw DATA_07E466 F1 E4 .dw DATA_07E4F1 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 21 E2 .dw DATA_07E221 6D E7 .dw DATA_07E76D 9E E2 .dw DATA_07E29E 6D E7 .dw DATA_07E76D C5 E1 .dw DATA_07E1C5 AF E2 .dw DATA_07E2AF 35 E3 .dw DATA_07E335 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D E3 C3 .dw DATA_07C3E3 DB C3 .dw DATA_07C3DB 67 C3 .dw DATA_07C367 59 C3 .dw DATA_07C359 54 C3 .dw DATA_07C354 4F C3 .dw DATA_07C34F 4A C3 .dw DATA_07C34A 45 C3 .dw DATA_07C345 40 C3 .dw DATA_07C340 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D 6D E7 .dw DATA_07E76D EE C3 .dw DATA_07C3EE EE C3 .dw DATA_07C3EE 9D E1 .dw DATA_07E19D 61 C6 .dw DATA_07C661 94 DF .dw DATA_07DF94 7F DA .dw DATA_07DA7F CF D5 .dw DATA_07D5CF BA CC .dw DATA_07CCBA C5 CB .dw DATA_07CBC5 02 E4 .dw DATA_07E402 02 E4 .dw DATA_07E402 6D CA .dw DATA_07CA6D C0 E1 .dw DATA_07E1C0 EC E4 .dw DATA_07E4EC EE C3 .dw DATA_07C3EE 7F C5 .dw DATA_07C57F EE C3 .dw DATA_07C3EE 83 E1 .dw DATA_07E183 60 E1 .dw DATA_07E160 31 E1 .dw DATA_07E131 14 E1 .dw DATA_07E114 22 C4 .dw DATA_07C422 E8 E0 .dw DATA_07E0E8 C5 E0 .dw DATA_07E0C5 8D E0 .dw DATA_07E08D 67 E0 .dw DATA_07E067 F0 C3 .dw DATA_07C3F0 F0 C3 .dw DATA_07C3F0 98 C4 .dw DATA_07C498 73 C4 .dw DATA_07C473 01 DE .dw DATA_07DE01 F5 C3 .dw DATA_07C3F5 3B DE .dw DATA_07DE3B 3B DE .dw DATA_07DE3B 0F DE .dw DATA_07DE0F 14 C4 .dw DATA_07C414 C7 D5 .dw DATA_07D5C7 EE C3 .dw DATA_07C3EE F0 C3 .dw DATA_07C3F0 B8 DD .dw DATA_07DDB8 B3 DD .dw DATA_07DDB3 EE C3 .dw DATA_07C3EE 76 DD .dw DATA_07DD76 F5 C3 .dw DATA_07C3F5 0C C4 .dw DATA_07C40C 22 D5 .dw DATA_07D522 22 D5 .dw DATA_07D522 11 CC .dw DATA_07CC11 24 E0 .dw DATA_07E024 44 DA .dw DATA_07DA44 12 DA .dw DATA_07DA12 F0 C3 .dw DATA_07C3F0 01 CB .dw DATA_07CB01 14 CE .dw DATA_07CE14 0C CE .dw DATA_07CE0C C0 CD .dw DATA_07CDC0 94 CD .dw DATA_07CD94 EE C3 .dw DATA_07C3EE 63 CD .dw DATA_07CD63 D0 C6 .dw DATA_07C6D0 EE C3 .dw DATA_07C3EE C5 D4 .dw DATA_07D4C5 F5 C3 .dw DATA_07C3F5 6C D5 .dw DATA_07D56C DC CB .dw DATA_07CBDC BF C6 .dw DATA_07C6BF EF C5 .dw DATA_07C5EF E0 DF .dw DATA_07DFE0 59 C6 .dw DATA_07C659 DATA_05F000: .db $07,$5B,$19,$2B,$1B,$5B,$5B,$5B .db $27,$37,$18,$19,$59,$5B,$29,$1B .db $5B,$58,$05,$5B,$2B,$5B,$1B,$1B .db $51,$0B,$4B,$1B,$07,$52,$0B,$1B .db $57,$1B,$5B,$5B,$5B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$57,$57,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$6C,$18,$19 .db $1A,$51,$0D,$1A,$2B,$5B,$1B,$5A .db $6B,$2B,$2B,$18,$0B,$1B,$1B,$5B .db $59,$58,$19,$57,$49,$0B,$5B,$52 .db $19,$0B,$6C,$0C,$48,$18,$5A,$0B .db $59,$59,$0B,$5A,$2A,$0B,$6C,$7D .db $5B,$5A,$00,$2B,$5B,$5B,$5B,$17 .db $2B,$5B,$58,$18,$6C,$59,$58,$01 .db $17,$5B,$1B,$2B,$1B,$6C,$5A,$2A .db $07,$1B,$18,$5B,$0B,$5B,$5B,$5B .db $0B,$0D,$58,$5B,$0B,$1A,$1B,$58 .db $5B,$48,$0B,$1B,$0A,$4B,$5B,$57 .db $52,$17,$57,$2B,$17,$29,$1C,$5B .db $59,$2B,$56,$1C,$0B,$5B,$1C,$1B .db $1A,$0B,$05,$58,$5B,$19,$0B,$0B .db $58,$0B,$5B,$0B,$01,$5B,$5B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$57,$57,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$0B,$0B,$6C,$6C,$1B,$5A,$16 .db $1A,$19,$16,$16,$58,$5C,$1A,$0B .db $5D,$19,$19,$19,$1B,$1B,$73,$4B .db $1A,$59,$59,$1B,$1B,$1B,$1B,$2B .db $2B,$09,$2B,$0B,$0B,$09,$0B,$29 .db $52,$1B,$48,$4B,$6C,$5B,$2B,$2B .db $2B,$29,$5B,$0B,$4B,$01,$5B,$49 .db $1B,$1B,$57,$48,$1B,$19,$0B,$6C .db $28,$2B,$1B,$5A,$1B,$19,$19,$1B DATA_05F200: .db $20,$00,$80,$01,$00,$01,$00,$00 .db $00,$C0,$38,$39,$00,$00,$00,$00 .db $00,$F8,$00,$00,$00,$00,$00,$00 .db $F8,$00,$C0,$00,$00,$01,$00,$80 .db $01,$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,$00,$00,$00,$00 .db $00,$00,$00,$01,$01,$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,$10,$A0,$20 .db $18,$A0,$18,$18,$00,$01,$18,$00 .db $01,$10,$10,$10,$00,$10,$10,$10 .db $31,$30,$20,$01,$C0,$00,$00,$18 .db $20,$00,$10,$01,$C1,$20,$01,$00 .db $39,$39,$00,$18,$00,$00,$10,$C0 .db $01,$18,$01,$00,$00,$03,$03,$00 .db $00,$01,$00,$10,$10,$31,$30,$20 .db $38,$00,$00,$00,$00,$10,$01,$18 .db $20,$00,$80,$00,$01,$00,$00,$00 .db $00,$01,$00,$28,$00,$00,$00,$00 .db $01,$C0,$00,$00,$00,$C0,$00,$00 .db $01,$00,$00,$00,$01,$00,$00,$00 .db $38,$00,$00,$00,$00,$00,$00,$40 .db $00,$00,$01,$01,$00,$28,$00,$00 .db $F8,$00,$00,$00,$01,$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,$01,$01,$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,$10,$10,$00,$18,$28 .db $18,$F8,$28,$28,$1B,$19,$18,$00 .db $00,$20,$20,$20,$00,$00,$F8,$C0 .db $00,$00,$00,$00,$80,$18,$10,$10 .db $10,$03,$00,$03,$00,$01,$00,$20 .db $18,$10,$D1,$D1,$10,$18,$00,$00 .db $01,$01,$01,$00,$D1,$10,$10,$D0 .db $09,$11,$01,$C0,$00,$20,$00,$10 .db $20,$00,$01,$01,$80,$20,$00,$10 DATA_05F400: .db $0A,$9A,$8A,$0A,$0A,$AA,$AA,$0A .db $0A,$0A,$0A,$0A,$0A,$9A,$0A,$9A .db $9A,$0A,$02,$0A,$0A,$9A,$9A,$9A .db $03,$0A,$BA,$8A,$BA,$00,$0A,$0A .db $0A,$0A,$9A,$9A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$00,$00,$00 .db $00,$00,$00,$00,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$09,$0A,$0A .db $0A,$0A,$0A,$0A,$00,$0A,$0A,$0A .db $9A,$9A,$0A,$0A,$0B,$00,$0A,$03 .db $0A,$00,$0A,$0A,$0A,$0A,$0A,$00 .db $0A,$0A,$00,$0A,$0A,$00,$0A,$03 .db $0A,$0A,$00,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$03 .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$7A,$0A,$9A,$0A,$9A,$9A,$0A .db $0A,$02,$FA,$0A,$0A,$0A,$6A,$9A .db $7A,$0A,$0A,$8A,$0A,$7A,$9A,$7A .db $A0,$9A,$FA,$0A,$9A,$0A,$9A,$9A .db $0A,$0A,$05,$9A,$0A,$0A,$9A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$03,$9A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$00,$00,$00 .db $00,$00,$00,$00,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$00 .db $0A,$0A,$0A,$0A,$0A,$0A,$03,$0A .db $0A,$09,$0A,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$00,$0A .db $03,$0A,$0B,$0A,$0A,$0A,$0A,$0A .db $0A,$0A,$0A,$00,$0A,$03,$0A,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$00,$0A .db $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A DATA_05F600: .db $00,$00,$80,$00,$00,$80,$00,$00 .db $00,$00,$00,$00,$80,$80,$00,$80 .db $00,$00,$64,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$80,$80,$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,$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,$03,$64,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $10,$07,$00,$00,$00,$00,$00,$00 .db $04,$00,$00,$64,$09,$00,$01,$00 .db $04,$00,$00,$00,$00,$00,$00,$67 .db $02,$00,$60,$00,$02,$04,$04,$00 .db $00,$01,$00,$00,$00,$10,$07,$60 .db $00,$00,$00,$00,$00,$00,$01,$00 .db $00,$00,$80,$80,$00,$00,$00,$00 .db $00,$66,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$80,$00,$00,$00,$00 .db $00,$80,$00,$00,$00,$00,$00,$00 .db $00,$00,$80,$00,$00,$00,$00,$00 .db $00,$00,$E4,$00,$80,$00,$00,$00 .db $80,$00,$80,$00,$E0,$80,$80,$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,$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,$03 .db $00,$03,$00,$00,$01,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$64,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$03,$00,$03,$00,$03,$00,$00 .db $00,$00,$01,$00,$00,$00,$00,$00 .db $07,$06,$00,$00,$00,$60,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$05,$00,$00,$00,$00 DATA_05F800: .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,$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,$0F .db $1C,$10,$0A,$06,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$06,$00,$00,$00,$00,$23 .db $01,$00,$00,$00,$00,$0D,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$1D,$00,$00,$00,$00,$14 .db $00,$00,$00,$00,$05,$00,$00,$00 .db $00,$00,$00,$00,$00,$15,$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,$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,$13,$23,$00,$02,$0F .db $17,$1F,$00,$18,$00,$00,$0B,$00 .db $00,$2C,$06,$05,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $27,$00,$00,$00,$16,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$1A .db $00,$00,$00,$00,$00,$19,$00,$0A .db $23,$00,$00,$00,$00,$03,$00,$00 DATA_05FA00: .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,$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,$AB .db $A9,$C2,$A6,$AA,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$AA,$02 .db $AA,$00,$A8,$00,$00,$00,$00,$A8 .db $A8,$AA,$00,$AA,$00,$AB,$A9,$00 .db $00,$AB,$00,$00,$00,$00,$00,$00 .db $00,$00,$02,$00,$00,$00,$00,$AB .db $AA,$00,$00,$00,$A9,$00,$AA,$AB .db $00,$00,$00,$00,$00,$A9,$00,$AB .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,$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,$A8,$AA,$00,$AB,$A9 .db $A7,$AA,$00,$AA,$00,$00,$A7,$00 .db $00,$AB,$AB,$A9,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $AA,$00,$00,$00,$A8,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$A7 .db $00,$00,$00,$00,$00,$AB,$00,$AB .db $AA,$00,$00,$00,$00,$A9,$00,$00 DATA_05FC00: .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,$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,$0E .db $2A,$25,$64,$04,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$21,$68 .db $26,$00,$08,$00,$00,$00,$00,$6D .db $70,$2B,$00,$0D,$00,$2D,$27,$00 .db $00,$2D,$00,$00,$00,$00,$00,$00 .db $00,$00,$6A,$00,$00,$00,$00,$02 .db $6A,$00,$00,$00,$70,$00,$0E,$21 .db $00,$00,$00,$00,$00,$2B,$00,$0A .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,$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,$08,$04,$00,$05,$03 .db $26,$68,$00,$30,$00,$00,$2A,$00 .db $00,$69,$70,$08,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $2A,$00,$00,$00,$29,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$2E .db $00,$00,$00,$00,$00,$2F,$00,$2F .db $32,$00,$00,$00,$00,$28,$00,$00 DATA_05FE00: .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,$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,$03 .db $03,$03,$07,$03,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$03,$01 .db $03,$00,$06,$00,$00,$00,$00,$04 .db $06,$03,$00,$03,$00,$03,$00,$00 .db $00,$03,$00,$00,$00,$00,$00,$00 .db $00,$00,$03,$00,$00,$00,$00,$00 .db $03,$00,$00,$00,$03,$00,$03,$02 .db $00,$00,$00,$00,$00,$04,$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,$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,$04,$03,$00,$03,$03 .db $04,$03,$00,$03,$00,$00,$05,$00 .db $00,$03,$03,$06,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $03,$00,$00,$00,$03,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$02 .db $00,$00,$00,$00,$00,$03,$00,$02 .db $03,$00,$00,$00,$00,$03,$00,$00 .BANK 6 DATA_068000: .db $02,$00,$00,$40,$00,$38,$40,$2F .db $0F,$98,$06,$10,$9B,$50,$12,$0C .db $19,$13,$0C,$1A,$14,$0C,$1B,$15 .db $0C,$1C,$17,$0B,$19,$8F,$91,$60 .db $0F,$91,$05,$12,$91,$04,$15,$91 .db $05,$17,$04,$1A,$17,$0B,$1B,$38 .db $40,$2F,$0F,$99,$05,$12,$99,$05 .db $15,$99,$05,$10,$99,$10,$10,$9E .db $00,$13,$9E,$10,$14,$99,$00,$8F .db $91,$06,$10,$94,$50,$17,$04,$1C .db $38,$40,$2B,$38,$3C,$25,$0F,$9D .db $60,$14,$9C,$02,$13,$9B,$00,$13 .db $9F,$00,$FF,$07,$00,$02,$80,$30 .db $35,$40,$54,$35,$35,$55,$92,$50 .db $01,$12,$55,$01,$33,$7C,$1F,$0F .db $5F,$03,$91,$94,$10,$0F,$56,$03 .db $10,$5D,$01,$91,$55,$00,$11,$5A .db $00,$11,$5F,$00,$90,$97,$40,$37 .db $76,$1E,$16,$58,$0A,$93,$9C,$10 .db $0E,$5C,$00,$8E,$54,$00,$13,$94 .db $10,$10,$9A,$30,$14,$5A,$00,$91 .db $92,$02,$12,$92,$10,$0E,$57,$01 .db $0F,$58,$01,$35,$39,$53,$35,$4A .db $55,$12,$FC,$20,$FF,$27,$20,$22 .db $51,$02,$78,$C0,$0F,$79,$D1,$1D .db $F8,$C0,$04,$79,$D1,$12,$76,$97 .db $42,$76,$9B,$42,$78,$CE,$07,$79 .db $DF,$15,$F2,$C0,$04,$73,$D1,$42 .db $0E,$A1,$03,$77,$97,$32,$75,$9C .db $52,$78,$CE,$0B,$79,$DF,$19,$72 .db $CF,$04,$0E,$AF,$03,$F6,$9C,$42 .db $73,$D0,$42,$F8,$90,$22,$12,$F3 .db $80,$75,$96,$52,$15,$F8,$50,$79 .db $9C,$12,$13,$FE,$70,$F6,$92,$42 .db $14,$F5,$60,$75,$99,$52,$0A,$EB .db $01,$0B,$FB,$93,$78,$CB,$0C,$79 .db $DC,$1A,$F5,$9A,$52,$0F,$0D,$2B .db $77,$9D,$32,$F5,$91,$52,$77,$96 .db $32,$78,$CB,$04,$79,$DC,$12,$FF .db $6A,$60,$31,$8B,$21,$15,$05,$31 .db $15,$06,$30,$58,$10,$AF,$B8,$43 .db $2A,$16,$06,$47,$0D,$55,$60,$0D .db $56,$01,$0E,$58,$10,$10,$56,$01 .db $11,$58,$10,$13,$56,$01,$B8,$43 .db $2A,$16,$06,$47,$0E,$55,$02,$0F .db $56,$30,$13,$55,$02,$B8,$43,$29 .db $16,$06,$47,$13,$54,$04,$0E,$54 .db $04,$0F,$55,$30,$0F,$57,$30,$B8 .db $42,$2B,$16,$06,$47,$13,$53,$06 .db $0E,$53,$06,$0F,$54,$30,$0F,$56 .db $30,$0F,$58,$30,$B8,$43,$2C,$16 .db $07,$47,$14,$55,$07,$0E,$55,$07 .db $0F,$56,$40,$0F,$57,$10,$11,$58 .db $10,$11,$5A,$10,$0F,$5B,$10,$13 .db $59,$00,$B8,$45,$2C,$16,$09,$47 .db $0E,$57,$06,$0F,$58,$10,$0F,$5C .db $10,$11,$59,$10,$11,$5B,$10,$13 .db $5A,$10,$14,$57,$06,$B8,$47,$2C .db $16,$0B,$47,$0E,$59,$07,$0F,$5A .db $10,$11,$5B,$10,$11,$5D,$10,$0F .db $5E,$10,$13,$5C,$00,$14,$59,$07 .db $0F,$5F,$40,$D8,$19,$16,$16,$0D .db $47,$14,$5B,$09,$0E,$5B,$09,$0F .db $5C,$10,$11,$5D,$10,$13,$5E,$00 .db $11,$5F,$10,$8F,$50,$10,$0F,$51 .db $40,$0F,$53,$40,$16,$0D,$47,$14 .db $5B,$0B,$0E,$5B,$0B,$0F,$5C,$10 .db $11,$5D,$10,$13,$5E,$00,$11,$5F .db $10,$8F,$50,$10,$0F,$51,$40,$0F .db $53,$40,$0F,$55,$40,$01,$00,$00 .db $9B,$02,$00,$00,$9A,$03,$00,$00 .db $99,$04,$00,$00,$98,$05,$00,$00 .db $97,$06,$00,$00,$96,$07,$00,$00 .db $95,$08,$00,$00,$94,$09,$00,$00 .db $93,$FF DATA_068252: .db $00,$10,$60,$C0,$00,$FF DATA_068258: .db $00,$09,$60,$C0,$00,$FF DATA_06825E: .db $00,$0B,$60,$C0,$00,$FF,$CA,$62 .db $13,$A2,$03,$B1,$4D,$95,$31,$3C .db $93,$B1,$23,$34,$16,$63,$4C,$35 .db $47,$03,$30,$2F,$41,$B0,$40,$A3 .db $37,$44,$35,$30,$34,$6D,$34,$39 .db $2B,$34,$4A,$63,$31,$3D,$2B,$31 .db $4E,$95,$0E,$98,$01,$B1,$34,$95 .db $07,$00,$01,$31,$37,$93,$31,$48 .db $94,$34,$4D,$64,$31,$3D,$2D,$B1 .db $31,$2B,$31,$42,$91,$37,$44,$38 .db $31,$24,$54,$36,$3C,$0B,$16,$6D .db $40,$35,$3D,$0B,$15,$6E,$50,$34 .db $3E,$0B,$14,$6F,$60,$33,$3F,$0B .db $93,$60,$70,$32,$30,$0B,$12,$61 .db $80,$31,$31,$0B,$31,$42,$91,$33 .db $44,$75,$31,$34,$1D,$31,$39,$1B .db $32,$4A,$84,$31,$3A,$0D,$31,$3E .db $0B,$31,$3F,$95,$FF,$CA,$62,$13 .db $A2,$03,$60,$D0,$BF,$38,$40,$2E .db $36,$3E,$1B,$36,$4F,$41,$B4,$30 .db $1B,$34,$41,$61,$32,$32,$1B,$32 .db $43,$81,$30,$34,$1B,$30,$45,$A3 .db $30,$39,$A5,$60,$D0,$BF,$39,$AA .db $1F,$B9,$AA,$1F,$60,$D0,$BF,$0D .db $08,$34,$0D,$A9,$00,$11,$A8,$00 .db $11,$09,$30,$E0,$D0,$BF,$39,$AA .db $1B,$E0,$D0,$BF,$37,$36,$33,$37 .db $47,$32,$37,$3A,$35,$13,$F8,$30 .db $37,$3E,$33,$37,$4F,$34,$B5,$22 .db $10,$35,$44,$57,$33,$2A,$10,$31 .db $2D,$11,$30,$2E,$00,$14,$6C,$61 .db $12,$6E,$81,$60,$D0,$BF,$E0,$D0 .db $BF,$30,$40,$A4,$32,$45,$89,$30 .db $25,$13,$31,$3E,$0B,$31,$4F,$93 .db $B0,$32,$0B,$30,$43,$A1,$30,$35 .db $A5,$60,$D0,$BF,$39,$A6,$1F,$B9 .db $A6,$1F,$60,$D0,$BF,$E0,$D0,$BF .db $39,$A6,$1B,$E0,$D0,$BF,$37,$32 .db $33,$37,$43,$3C,$2C,$3F,$AC,$0B .db $0F,$3E,$35,$0C,$12,$FF,$61,$60 .db $31,$CB,$11,$58,$10,$1F,$72,$C5 .db $36,$F2,$C5,$36,$FF,$6B,$62,$31 .db $8B,$01,$6A,$C0,$4B,$6F,$C0,$4B .db $6A,$CC,$96,$58,$10,$12,$B9,$43 .db $13,$38,$33,$0D,$38,$36,$0B,$18 .db $67,$20,$31,$37,$6B,$31,$48,$95 .db $31,$3E,$95,$77,$7F,$0F,$6A,$C3 .db $36,$6A,$CA,$3A,$EA,$C5,$39,$6E .db $C2,$6C,$6E,$F1,$11,$38,$31,$23 .db $38,$42,$22,$39,$45,$14,$38,$35 .db $0D,$38,$39,$0B,$58,$1A,$15,$6A .db $CF,$73,$77,$7F,$0F,$EA,$C3,$57 .db $70,$C3,$47,$6A,$CB,$A3,$6A,$CF .db $29,$77,$7F,$01,$B8,$30,$25,$39 .db $A1,$1A,$38,$3C,$23,$38,$4D,$2C .db $14,$94,$02,$6A,$C9,$26,$EA,$C0 .db $57,$6A,$C8,$5C,$39,$4A,$15,$38 .db $3A,$0D,$38,$3F,$0B,$71,$75,$11 .db $76,$75,$01,$71,$7C,$11,$76,$7C .db $01,$72,$8B,$31,$72,$8E,$30,$72 .db $84,$31,$72,$87,$30,$D8,$10,$2E .db $75,$81,$11,$75,$8C,$10,$74,$72 .db $19,$77,$72,$09,$75,$8F,$11,$6A .db $C5,$58,$6A,$CE,$54,$EA,$C3,$57 .db $77,$70,$08,$74,$70,$18,$75,$89 .db $10,$6A,$CB,$95,$EA,$C1,$27,$6A .db $C9,$2B,$6F,$82,$30,$6E,$72,$11 .db $73,$72,$01,$6F,$84,$30,$70,$75 .db $01,$70,$87,$40,$75,$77,$00,$6E .db $7A,$11,$6F,$8B,$51,$6F,$8A,$50 .db $75,$79,$00,$75,$7C,$00,$77,$79 .db $03,$75,$88,$11,$75,$8D,$10,$6E .db $88,$60,$6D,$75,$12,$6E,$85,$10 .db $15,$D3,$00,$12,$D5,$00,$13,$D9 .db $00,$11,$DC,$01,$30,$3E,$7B,$30 .db $4F,$A9,$B6,$49,$47,$30,$39,$5D .db $6A,$C5,$27,$6A,$CD,$7A,$EA,$C8 .db $75,$6A,$CE,$79,$39,$41,$1B,$36 .db $31,$2D,$36,$34,$2B,$36,$45,$33 .db $36,$39,$2D,$36,$3C,$2B,$36,$4D .db $43,$76,$A2,$01,$16,$0A,$87,$16 .db $0B,$87,$B9,$41,$13,$36,$31,$2D .db $36,$34,$2B,$36,$45,$4A,$16,$02 .db $8E,$16,$03,$8E,$6A,$C8,$77,$72 .db $CE,$31,$FF,$6B,$62,$31,$8B,$01 .db $E0,$63,$D0,$05,$00,$01,$60,$67 .db $D0,$60,$6F,$D0,$E0,$65,$D0,$60 .db $6A,$D0,$60,$6E,$D0,$E0,$62,$D0 .db $60,$66,$D0,$09,$00,$01,$60,$6D .db $B0,$E0,$65,$B0,$60,$6D,$B0,$6D .db $61,$71,$6D,$69,$71,$ED,$61,$71 .db $6D,$65,$71,$6D,$69,$71,$FF,$67 .db $40,$54,$1C,$15,$78,$20,$2F,$00 .db $F1,$F3,$0E,$F1,$63,$F8,$20,$2F .db $F8,$20,$2F,$F8,$20,$2F,$F8,$20 .db $2F,$F8,$20,$2F,$F8,$20,$2F,$F8 .db $20,$2F,$FF DATA_068561: .db $60,$60,$ED,$CB,$01,$39,$A1,$1D .db $6B,$C0,$14,$6B,$C5,$1A,$0D,$D0 .db $D0,$0D,$DF,$D0,$73,$41,$31,$74 .db $43,$21,$74,$45,$21,$73,$47,$31 .db $72,$49,$41,$73,$4B,$31,$74,$4D .db $21,$FF DATA_06858B: .db $60,$60,$ED,$CB,$01,$39,$A1,$1D .db $6B,$C0,$14,$6B,$C5,$1A,$0D,$D0 .db $D0,$0D,$DF,$D0,$74,$41,$21,$74 .db $43,$21,$74,$45,$21,$74,$47,$21 .db $74,$49,$21,$74,$4B,$21,$74,$4D .db $21,$FF DATA_0685B5: .db $47,$C0,$85,$00,$00,$37,$40,$3F .db $76,$F5,$03,$12,$0F,$82,$13,$0C .db $83,$95,$02,$1D,$37,$40,$3F,$16 .db $0D,$36,$93,$02,$41,$14,$09,$83 .db $13,$04,$82,$16,$06,$1D,$15,$08 .db $1D,$F5,$B2,$02,$02,$00,$01,$58 .db $10,$5F,$37,$20,$05,$F1,$A8,$23 .db $94,$0E,$83,$96,$00,$1D,$13,$05 .db $82,$15,$08,$1D,$F7,$F3,$03,$77 .db $F9,$03,$13,$5B,$00,$FF DATA_068603: .db $20,$00,$09,$00,$07,$38,$40,$2F .db $14,$00,$83,$13,$09,$82,$16,$02 .db $1F,$17,$0B,$1D,$15,$0D,$1E,$FF DATA_06861B: .db $00,$00,$00,$00,$00,$FF DATA_068621: .db $C1,$A1,$49,$84,$05,$2F,$5D,$91 .db $16,$0A,$86,$0B,$00,$49,$78,$20 .db $2F,$F8,$20,$2F,$FF DATA_068636: .db $00,$09,$E0,$C0,$00,$FF DATA_06863C: .db $01,$C0,$03,$80,$00,$33,$30,$4D .db $2F,$5D,$91,$38,$41,$2F,$19,$60 .db $10,$15,$F1,$20,$B8,$41,$2E,$FF DATA_068654: .db $A0,$00,$76,$20,$04,$6C,$C0,$1F .db $0D,$00,$57,$0D,$0F,$58,$6E,$E0 .db $A0,$0E,$F1,$13,$6E,$FF,$A0,$79 .db $D0,$2F,$19,$00,$59,$19,$0F,$5A .db $FF,$C1,$A1,$49,$84,$05,$2F,$5D .db $91,$0B,$00,$49,$78,$20,$2F,$F8 .db $20,$2F,$FF DATA_068687: .db $00,$0B,$60,$C0,$00,$FF DATA_06868D: .db $A2,$00,$70,$41,$04,$60,$C0,$CF .db $0D,$41,$AE,$12,$DC,$03,$78,$D0 .db $2F,$6D,$E0,$A0,$0C,$00,$57,$18 .db $00,$59,$E0,$C0,$CF,$0D,$40,$AF .db $12,$D0,$0F,$78,$D0,$2F,$E0,$C0 .db $CF,$0D,$40,$AE,$12,$D0,$0B,$78 .db $D0,$2F,$6D,$FF,$A0,$0C,$0F,$58 .db $18,$0F,$5A,$36,$0D,$11,$02,$00 .db $00,$CA,$FF DATA_0686D0: .db $A2,$00,$70,$41,$04,$60,$C0,$CF .db $17,$E6,$00,$17,$EA,$00,$14,$5C .db $02,$17,$EE,$00,$78,$D0,$2F,$6D .db $E0,$A0,$0C,$00,$57,$18,$00,$59 .db $E0,$C0,$CF,$17,$E2,$00,$14,$52 .db $07,$14,$5D,$07,$17,$E6,$00,$17 .db $EA,$00,$17,$EE,$00,$78,$D0,$2F .db $E0,$C0,$CF,$17,$E2,$00,$17,$E6 .db $00,$17,$EA,$00,$78,$D0,$2F,$6D .db $FF,$A0,$0C,$0F,$58,$18,$0F,$5A .db $36,$0D,$11,$14,$58,$02,$02,$00 .db $00,$D8,$FF DATA_06872B: .db $A2,$00,$70,$41,$04,$60,$C0,$CF .db $0F,$E1,$0E,$12,$51,$0E,$78,$D0 .db $2F,$6D,$E0,$A0,$0C,$00,$57,$18 .db $00,$59,$E0,$C0,$CF,$0F,$E0,$0F .db $12,$50,$0F,$78,$D0,$2F,$E0,$C0 .db $CF,$0F,$E0,$0E,$12,$50,$0E,$78 .db $D0,$2F,$6D,$FF,$A0,$0C,$0F,$58 .db $18,$0F,$5A,$36,$0D,$11,$02,$00 .db $00,$D7,$FF DATA_06876E: .db $A2,$00,$70,$41,$04,$60,$C0,$CF .db $10,$D1,$0E,$10,$E6,$00,$14,$D4 .db $04,$78,$D0,$2F,$6D,$E0,$A0,$0C .db $00,$57,$18,$00,$59,$E0,$C0,$CF .db $10,$D0,$0F,$78,$D0,$2F,$E0,$C0 .db $CF,$10,$D0,$0E,$78,$D0,$2B,$18 .db $DC,$20,$6D,$FF,$D0,$0C,$0F,$58 .db $2E,$0D,$11,$02,$00,$00,$C9,$FF DATA_0687AE: .db $A2,$00,$7B,$41,$44,$78,$D0,$2F .db $74,$C0,$20,$69,$C0,$BF,$14,$01 .db $57,$E9,$C0,$BF,$78,$D0,$2F,$EE .db $FF,$90,$14,$00,$97,$78,$D0,$2F .db $18,$0F,$5A,$02,$00,$01,$16,$07 .db $8B,$69,$C0,$4F,$6E,$E0,$50,$0D .db $00,$57,$0D,$0F,$58,$00,$00,$01 .db $74,$E0,$41,$18,$01,$59,$14,$01 .db $57,$36,$00,$21,$FF DATA_0687F3: .db $A2,$00,$7B,$41,$44,$78,$D0,$2F .db $74,$C0,$20,$69,$C0,$BF,$14,$01 .db $57,$E9,$C0,$BF,$78,$D0,$2F,$EE .db $FF,$90,$14,$00,$97,$78,$D0,$2F .db $18,$0F,$5A,$02,$00,$01,$16,$07 .db $8D,$69,$C0,$4F,$6E,$E0,$50,$0D .db $00,$57,$0D,$0F,$58,$00,$00,$01 .db $74,$E0,$41,$14,$01,$57,$18,$01 .db $59,$36,$00,$21,$FF DATA_068838: .db $A2,$00,$7B,$41,$44,$78,$D0,$2F .db $74,$C0,$20,$69,$C0,$BF,$14,$01 .db $57,$E9,$C0,$BF,$78,$D0,$2F,$EE .db $FF,$90,$14,$00,$97,$78,$D0,$2F .db $18,$0F,$5A,$02,$00,$01,$16,$07 .db $8C,$69,$C0,$4F,$6E,$E0,$50,$0D .db $00,$57,$0D,$0F,$58,$00,$00,$01 .db $74,$E0,$41,$36,$00,$21,$14,$01 .db $57,$18,$01,$59,$FF DATA_06887D: .db $A2,$00,$7B,$41,$44,$78,$D0,$2F .db $74,$C0,$20,$69,$C0,$BF,$E9,$C0 .db $BF,$78,$D0,$2F,$EE,$FF,$90,$14 .db $00,$97,$78,$D0,$2F,$18,$0F,$5A .db $02,$00,$01,$16,$07,$8A,$69,$C0 .db $4F,$6E,$E0,$50,$0D,$00,$57,$0D .db $0F,$58,$00,$00,$01,$74,$E0,$41 .db $36,$00,$21,$14,$01,$57,$18,$01 .db $59,$FF DATA_0688BF: .db $E0,$00,$00,$00,$00,$14,$04,$30 .db $14,$05,$30,$14,$08,$36,$77,$F1 .db $03,$77,$FA,$04,$38,$40,$2F,$14 .db $0B,$31,$14,$0C,$31,$FF DATA_0688DD: .db $33,$40,$08,$80,$27,$58,$10,$BF .db $77,$F4,$02,$72,$AD,$22,$F7,$F4 .db $03,$10,$01,$41,$77,$FE,$03,$F7 .db $F8,$02,$77,$FE,$03,$F2,$98,$50 .db $34,$3B,$3B,$34,$4C,$4B,$F3,$F2 .db $03,$34,$38,$3D,$72,$AD,$22,$F2 .db $A1,$22,$72,$A5,$22,$10,$08,$41 .db $F7,$F5,$02,$77,$FC,$02,$95,$F1 .db $20,$14,$D7,$30,$14,$DA,$30,$14 .db $98,$01,$16,$F8,$11,$F2,$91,$50 .db $35,$F3,$20,$34,$F4,$30,$14,$FB .db $30,$08,$00,$01,$B4,$56,$40,$15 .db $07,$46,$58,$10,$16,$77,$FA,$03 .db $14,$0C,$8E,$0A,$00,$01,$B0,$42 .db $73,$30,$31,$17,$0A,$00,$01,$32 .db $4F,$52,$32,$3E,$57,$B5,$42,$21 .db $35,$31,$27,$32,$32,$28,$35,$34 .db $28,$36,$46,$16,$30,$26,$54,$36 .db $3D,$18,$0E,$03,$41,$B9,$40,$16 .db $38,$30,$0D,$38,$36,$0B,$38,$47 .db $2C,$77,$F8,$03,$25,$74,$14,$04 .db $06,$18,$8F,$01,$2B,$30,$73,$1E .db $38,$34,$25,$18,$05,$8E,$18,$06 .db $8E,$38,$37,$23,$38,$48,$21,$39 .db $4A,$15,$38,$3A,$0D,$38,$3F,$0B .db $B8,$40,$22,$38,$33,$25,$18,$04 .db $8E,$18,$05,$8E,$38,$36,$23,$58 .db $17,$18,$77,$F8,$03,$14,$9F,$00 .db $95,$93,$00,$14,$97,$00,$11,$03 .db $30,$77,$F9,$03,$D8,$10,$1E,$77 .db $F8,$03,$34,$4E,$36,$34,$3D,$37 .db $B4,$35,$38,$35,$3E,$2B,$14,$FC .db $30,$35,$4F,$53,$90,$00,$41,$2F .db $5D,$91,$58,$13,$1C,$35,$33,$2D .db $14,$D3,$00,$16,$06,$86,$07,$00 .db $00,$CB,$FF DATA_0689F8: .db $C1,$60,$18,$82,$43,$58,$10,$1F .db $60,$D4,$DB,$60,$E3,$D0,$28,$30 .db $FE,$05,$F1,$F3,$15,$57,$02,$13 .db $5D,$02,$E0,$D0,$DF,$2E,$3F,$9C .db $0D,$0F,$3E,$36,$0C,$12,$14,$D4 .db $30,$14,$D8,$30,$14,$95,$02,$16 .db $06,$41,$01,$02,$00,$CB,$FF DATA_068A2F: .db $F3,$00,$05,$C0,$20,$58,$10,$28 .db $14,$00,$83,$13,$08,$82,$16,$0B .db $1D,$B5,$44,$2D,$35,$33,$27,$D8 .db $19,$66,$77,$F9,$02,$14,$A6,$02 .db $14,$07,$8E,$34,$4D,$34,$34,$3C .db $37,$35,$32,$28,$95,$06,$36,$15 .db $A5,$00,$34,$32,$38,$94,$06,$83 .db $03,$00,$01,$13,$0F,$82,$95,$02 .db $1D,$16,$08,$1D,$77,$FD,$04,$14 .db $5D,$00,$13,$5E,$02,$12,$0F,$41 .db $94,$51,$00,$13,$0F,$82,$13,$08 .db $82,$14,$05,$83,$16,$07,$1D,$95 .db $02,$1D,$12,$0C,$41,$14,$0E,$83 .db $96,$00,$1D,$37,$35,$0B,$37,$46 .db $14,$76,$F6,$02,$36,$3A,$0B,$36 .db $4B,$23,$35,$3E,$0B,$35,$4F,$32 .db $78,$FB,$23,$B4,$31,$0B,$34,$42 .db $4B,$0F,$05,$82,$10,$02,$83,$12 .db $04,$1D,$11,$09,$1D,$76,$F5,$25 .db $78,$F9,$23,$34,$3E,$3D,$10,$5F .db $00,$8F,$50,$01,$0E,$02,$41,$13 .db $02,$82,$38,$40,$2F,$B4,$50,$40 .db $17,$01,$46,$58,$10,$42,$15,$F9 .db $20,$14,$FB,$30,$94,$04,$83,$32 .db $4E,$55,$32,$3D,$57,$35,$4C,$22 .db $35,$3B,$27,$35,$3F,$28,$15,$A2 .db $02,$15,$03,$36,$16,$06,$1D,$B2 .db $34,$58,$35,$44,$23,$35,$33,$27 .db $35,$38,$28,$10,$97,$00,$10,$08 .db $2B,$00,$E8,$00,$27,$79,$1A,$03 .db $5B,$01,$02,$0E,$41,$14,$0D,$83 .db $16,$0F,$1D,$83,$50,$01,$33,$45 .db $47,$33,$34,$47,$33,$3D,$48,$0F .db $57,$02,$0E,$0B,$41,$12,$0F,$8E .db $36,$3A,$1B,$36,$4B,$27,$B6,$33 .db $45,$18,$04,$8E,$18,$05,$8E,$38 .db $36,$23,$58,$17,$18,$13,$09,$82 .db $15,$0D,$1E,$14,$06,$83,$16,$08 .db $1D,$93,$04,$82,$15,$07,$1D,$15 .db $FD,$20,$16,$F2,$11,$D8,$10,$1F .db $13,$04,$82,$14,$01,$83,$16,$03 .db $1D,$16,$FE,$10,$95,$F1,$20,$77 .db $F5,$03,$16,$0B,$86,$10,$99,$02 .db $11,$99,$00,$11,$9B,$00,$12,$99 .db $02,$77,$FF,$02,$15,$5D,$00,$14 .db $5E,$00,$13,$5F,$00,$92,$50,$09 .db $14,$05,$83,$2F,$5D,$91,$58,$10 .db $1F,$94,$09,$83,$13,$02,$82,$0F .db $00,$00,$CA,$FF DATA_068BB3: .db $C1,$60,$15,$C2,$43,$58,$10,$1F .db $17,$BA,$02,$16,$BB,$00,$60,$D4 .db $BB,$60,$E3,$B0,$28,$30,$FE,$05 .db $F1,$F3,$E0,$D0,$BF,$36,$0C,$12 .db $0B,$0F,$3E,$2C,$3F,$BC,$01,$02 .db $00,$CA,$FF DATA_068BDE: .db $54,$40,$22,$91,$10,$58,$11,$10 .db $38,$30,$23,$29,$49,$E3,$29,$3D .db $E8,$2C,$46,$B2,$30,$44,$72,$30 .db $33,$77,$34,$46,$33,$34,$35,$37 .db $30,$37,$38,$34,$3A,$38,$2C,$35 .db $37,$29,$38,$27,$2C,$39,$78,$AA .db $31,$D7,$2A,$42,$F1,$1A,$63,$00 .db $38,$32,$25,$2A,$34,$F8,$3A,$34 .db $01,$10,$D8,$00,$13,$57,$02,$18 .db $06,$8E,$18,$07,$8E,$18,$08,$8E .db $18,$09,$8E,$18,$0A,$8E,$18,$0B .db $8E,$18,$0C,$8E,$18,$0D,$8E,$18 .db $0E,$8E,$18,$0F,$8E,$0C,$5B,$02 .db $B0,$31,$A3,$18,$00,$8E,$14,$09 .db $8E,$18,$09,$8E,$18,$0A,$8E,$18 .db $0B,$8E,$18,$0C,$8E,$18,$0D,$8E .db $18,$0E,$8E,$18,$0F,$8E,$30,$42 .db $A5,$30,$38,$A5,$6F,$F3,$02,$0C .db $05,$8E,$07,$0F,$41,$0E,$0F,$8E .db $AA,$48,$D2,$2A,$37,$D7,$0E,$00 .db $8E,$0E,$01,$8E,$0E,$02,$8E,$0E .db $03,$8E,$0E,$04,$8E,$0E,$05,$8E .db $18,$00,$8E,$18,$01,$8E,$18,$02 .db $8E,$18,$03,$8E,$38,$34,$23,$38 .db $45,$27,$38,$3D,$25,$2A,$3B,$D8 .db $69,$F8,$02,$90,$D0,$00,$18,$00 .db $8E,$18,$01,$8E,$18,$02,$8E,$18 .db $03,$8E,$18,$04,$8E,$18,$05,$8E .db $18,$06,$8E,$18,$07,$8E,$18,$08 .db $8E,$0A,$53,$02,$2D,$39,$D3,$2D .db $4A,$D3,$2D,$3E,$D5,$0A,$0C,$36 .db $0A,$AB,$00,$92,$04,$8E,$12,$05 .db $8E,$12,$06,$8E,$12,$07,$8E,$12 .db $08,$8E,$12,$09,$8E,$12,$0A,$8E .db $12,$0B,$8E,$12,$0C,$8E,$12,$0D .db $8E,$12,$0E,$8E,$12,$0F,$8E,$A9 .db $44,$F6,$29,$33,$F7,$68,$F4,$02 .db $12,$00,$8E,$12,$01,$8E,$29,$3B .db $F8,$39,$33,$10,$39,$3B,$11,$19 .db $64,$16,$15,$FD,$51,$18,$0F,$8E .db $8F,$D1,$00,$18,$00,$8E,$18,$01 .db $8E,$18,$02,$8E,$18,$03,$8E,$18 .db $04,$8E,$18,$05,$8E,$18,$06,$8E .db $0A,$53,$02,$13,$DD,$00,$90,$54 .db $01,$35,$33,$53,$35,$44,$57,$37 .db $4C,$31,$35,$3C,$1D,$38,$4E,$21 .db $37,$3E,$0D,$13,$F8,$10,$B4,$57 .db $40,$17,$08,$46,$58,$10,$1E,$77 .db $F3,$02,$77,$FD,$03,$13,$0E,$41 .db $94,$98,$03,$14,$0C,$2D,$30,$3E .db $7B,$77,$FA,$02,$30,$4F,$A1,$B0 .db $31,$A5,$0C,$00,$30,$08,$55,$02 .db $2A,$4C,$F1,$2A,$3B,$F7,$2A,$3E .db $F8,$3A,$3B,$00,$3A,$3E,$01,$1A .db $6C,$01,$92,$52,$02,$10,$56,$01 .db $15,$09,$8E,$15,$0A,$8E,$15,$0B .db $8E,$15,$0C,$8E,$15,$0D,$8E,$12 .db $0D,$8E,$12,$0E,$8E,$12,$0F,$8E .db $10,$D3,$00,$8B,$53,$01,$12,$00 .db $8E,$12,$01,$8E,$12,$02,$8E,$12 .db $03,$8E,$12,$04,$8E,$12,$05,$8E .db $12,$06,$8E,$12,$07,$8E,$12,$08 .db $8E,$12,$09,$8E,$0F,$0A,$8E,$0F .db $0B,$8E,$0F,$0C,$8E,$0F,$0D,$8E .db $0F,$0E,$8E,$0F,$0F,$8E,$07,$58 .db $01,$AA,$3C,$F3,$0F,$00,$8E,$0F .db $01,$8E,$0F,$02,$8E,$0F,$03,$8E .db $0F,$04,$8E,$0F,$05,$8E,$0F,$06 .db $8E,$0F,$07,$8E,$0C,$09,$8E,$0C .db $0A,$8E,$0C,$0B,$8E,$03,$03,$41 .db $3A,$3C,$04,$2A,$4D,$F4,$1A,$6D .db $04,$BA,$32,$06,$2A,$32,$F5,$93 .db $D0,$00,$09,$56,$01,$08,$0A,$17 .db $2D,$49,$D2,$2D,$38,$D7,$2D,$3C .db $D8,$6C,$F9,$02,$93,$D1,$00,$14 .db $DB,$00,$0F,$55,$02,$8E,$03,$41 .db $32,$34,$83,$33,$45,$72,$32,$35 .db $0D,$11,$06,$86,$35,$48,$51,$37 .db $4A,$31,$38,$4C,$23,$33,$38,$1D .db $35,$3A,$1D,$37,$3C,$0D,$77,$FF .db $03,$AF,$5D,$91,$58,$10,$1F,$77 .db $F6,$02,$06,$00,$00,$FD,$FF DATA_068E6D: .db $C1,$60,$13,$A2,$43,$60,$D0,$DF .db $38,$40,$26,$2E,$30,$9E,$0D,$00 .db $3F,$38,$37,$25,$0E,$F1,$63,$15 .db $56,$01,$14,$58,$00,$13,$59,$00 .db $12,$5A,$0D,$79,$A8,$1F,$B8,$38 .db $23,$38,$49,$26,$60,$D0,$DF,$2E .db $3F,$9C,$0D,$0F,$3E,$11,$0A,$41 .db $36,$0D,$11,$01,$02,$00,$FD,$FF DATA_068EAD: .db $EA,$C0,$A2,$91,$88,$73,$C0,$0F .db $74,$D1,$6D,$68,$C1,$0B,$69,$D2 .db $99,$07,$06,$19,$07,$07,$1A,$07 .db $08,$1B,$07,$09,$1C,$0F,$0D,$8E .db $95,$01,$41,$13,$52,$00,$12,$53 .db $01,$13,$55,$00,$6C,$C6,$03,$6D .db $D7,$91,$77,$C5,$04,$14,$06,$30 .db $78,$D6,$22,$10,$0C,$41,$E7,$C6 .db $09,$68,$D7,$F7,$78,$D7,$27,$6C .db $C1,$09,$6D,$D2,$D7,$77,$C1,$04 .db $78,$D2,$22,$92,$51,$00,$11,$52 .db $00,$12,$53,$00,$17,$F2,$31,$6E .db $C6,$08,$6F,$D7,$B6,$77,$C4,$04 .db $78,$D5,$22,$67,$D7,$66,$66,$C6 .db $08,$F6,$C6,$0A,$77,$D7,$38,$12 .db $52,$02,$11,$03,$41,$0E,$98,$00 .db $12,$0E,$2A,$0D,$EF,$0F,$94,$51 .db $0F,$16,$F1,$40,$12,$08,$41,$E8 .db $C5,$09,$69,$D6,$F7,$79,$D6,$17 .db $75,$C2,$07,$76,$D3,$45,$12,$5F .db $00,$91,$50,$00,$12,$51,$00,$67 .db $D8,$F1,$6F,$C7,$03,$75,$C6,$07 .db $76,$D7,$45,$6C,$C7,$03,$69,$C7 .db $03,$66,$C7,$03,$EE,$C4,$08,$6F .db $D5,$B6,$92,$52,$04,$75,$C1,$06 .db $76,$D2,$44,$11,$04,$41,$92,$50 .db $02,$77,$C6,$09,$78,$D7,$27,$35 .db $0B,$14,$15,$07,$86,$03,$00,$00 .db $BE,$0A,$00,$00,$FF,$FF DATA_068F93: .db $E1,$C0,$A2,$91,$08,$78,$C0,$09 .db $36,$00,$21,$79,$D1,$17,$2F,$5D .db $91,$78,$CA,$06,$79,$DB,$14,$F8 .db $C1,$0E,$79,$D2,$1C,$FF DATA_068FB1: .db $E3,$C0,$05,$80,$60,$38,$40,$2B .db $15,$F1,$20,$77,$F4,$02,$37,$28 .db $02,$37,$4C,$37,$76,$FD,$02,$B7 .db $34,$35,$38,$37,$23,$38,$48,$2A .db $14,$08,$83,$16,$0A,$1D,$77,$FF .db $03,$B8,$33,$25,$38,$36,$23,$58 .db $17,$18,$14,$08,$83,$14,$09,$34 .db $B5,$20,$21,$35,$41,$35,$35,$27 .db $24,$74,$F2,$03,$15,$FC,$21,$03 .db $02,$00,$BE,$FF DATA_068FFD: .db $67,$60,$31,$8B,$01,$38,$40,$2C .db $38,$3D,$25,$39,$AE,$11,$34,$D0 .db $0F,$2E,$B0,$5F,$2E,$E0,$60,$69 .db $C0,$15,$6B,$C0,$22,$69,$C6,$14 .db $6B,$C3,$27,$69,$CB,$43,$69,$CF .db $25,$6C,$CF,$12,$AE,$B0,$5F,$34 .db $D0,$03,$33,$D3,$07,$33,$E3,$11 .db $34,$DA,$15,$33,$EA,$20,$2E,$EF .db $71,$38,$30,$23,$58,$11,$23,$16 .db $55,$03,$6C,$C2,$17,$69,$C5,$24 .db $69,$CA,$43,$69,$CE,$28,$6C,$CE .db $14,$91,$50,$01,$2E,$B2,$74,$2E .db $BE,$7B,$32,$B6,$38,$35,$D2,$0D .db $2E,$E2,$70,$2E,$E6,$41,$2E,$EE .db $40,$0F,$A8,$04,$0F,$0A,$30,$6C .db $C3,$13,$69,$C7,$42,$69,$CA,$11 .db $69,$CC,$12,$6B,$CA,$24,$69,$CF .db $43,$B1,$B9,$63,$34,$BC,$3C,$38 .db $35,$25,$39,$A6,$19,$2E,$E9,$31 .db $35,$D0,$09,$37,$D9,$06,$35,$E9 .db $20,$31,$EC,$31,$69,$C3,$16,$6B .db $C3,$21,$6B,$C5,$24,$69,$CA,$71 .db $69,$CC,$31,$69,$CE,$33,$6D,$CC .db $39,$71,$CD,$24,$AE,$BC,$98,$31 .db $B8,$24,$37,$D0,$08,$34,$D9,$3B .db $31,$E8,$30,$2E,$EC,$30,$71,$C2 .db $25,$69,$C2,$33,$69,$C6,$15,$6B .db $C6,$55,$69,$CC,$45,$38,$37,$23 .db $39,$A0,$16,$38,$48,$2B,$B8,$34 .db $25,$2E,$E4,$91,$39,$A5,$11,$11 .db $55,$01,$11,$00,$4A,$37,$D7,$0C .db $2E,$B7,$8C,$2E,$E7,$90,$38,$37 .db $23,$38,$48,$26,$38,$3F,$25,$69 .db $C2,$44,$69,$C7,$19,$6B,$C7,$23 .db $6B,$CB,$25,$B9,$A0,$1C,$38,$3D .db $23,$38,$4E,$21,$2E,$BC,$93,$32 .db $B3,$59,$37,$D3,$0C,$2E,$E3,$41 .db $2E,$EC,$40,$2E,$EF,$91,$0F,$55 .db $04,$13,$00,$4A,$69,$C1,$42,$69 .db $C4,$27,$69,$CC,$45,$13,$0A,$4A .db $E9,$C2,$26,$6C,$C2,$24,$6C,$C7 .db $24,$6C,$CC,$23,$69,$C9,$26,$6F .db $C7,$12,$6F,$CA,$15,$71,$CB,$12 .db $71,$CE,$11,$73,$CD,$12,$75,$CD .db $22,$34,$56,$40,$38,$40,$2F,$17 .db $07,$46,$16,$0B,$47,$07,$00,$00 .db $FC,$FF DATA_06916F: .db $63,$60,$31,$8B,$31,$69,$C0,$55 .db $38,$40,$2F,$69,$C6,$52,$69,$C9 .db $55,$69,$CF,$53,$14,$5B,$01,$15 .db $5A,$00,$B8,$40,$25,$39,$46,$14 .db $38,$4B,$2A,$38,$36,$0D,$38,$3A .db $0B,$17,$52,$02,$14,$5B,$02,$69 .db $C3,$53,$69,$C7,$54,$69,$CC,$55 .db $E9,$C2,$52,$69,$C5,$55,$69,$CB .db $53,$69,$CF,$56,$38,$36,$25,$38 .db $39,$23,$38,$4A,$26,$14,$56,$00 .db $13,$57,$01,$14,$59,$00,$B8,$31 .db $25,$17,$52,$04,$38,$37,$23,$38 .db $48,$27,$69,$C6,$53,$69,$CA,$53 .db $69,$CE,$71,$71,$CE,$61,$15,$0C .db $90,$03,$00,$00,$F6,$FF DATA_0691E5: .db $F3,$00,$05,$C0,$20,$58,$10,$6A .db $77,$F5,$02,$77,$FD,$04,$02,$00 .db $01,$34,$40,$37,$01,$00,$01,$36 .db $49,$1A,$36,$38,$17,$34,$3F,$17 .db $07,$56,$04,$B6,$34,$18,$34,$38 .db $38,$0E,$04,$41,$09,$52,$04,$10 .db $52,$01,$10,$55,$01,$77,$FB,$03 .db $F7,$F6,$03,$07,$51,$02,$07,$56 .db $02,$07,$5B,$02,$B5,$45,$27,$35 .db $34,$27,$35,$3D,$28,$11,$57,$03 .db $28,$7D,$15,$F7,$F0,$03,$25,$72 .db $1A,$02,$54,$06,$34,$35,$3B,$34 .db $46,$46,$34,$3D,$3D,$B2,$41,$57 .db $32,$30,$57,$32,$39,$58,$0E,$0D .db $41,$38,$3B,$25,$38,$3E,$23,$38 .db $4F,$25,$B8,$35,$25,$14,$01,$2D .db $26,$71,$1D,$03,$53,$09,$14,$02 .db $2D,$11,$D5,$03,$12,$F7,$24,$18 .db $06,$8E,$18,$07,$8E,$18,$08,$8E .db $18,$09,$8E,$38,$3A,$23,$58,$1B .db $14,$77,$FC,$02,$95,$F1,$20,$08 .db $54,$04,$05,$5C,$04,$77,$F8,$03 .db $B4,$56,$40,$08,$55,$04,$38,$40 .db $2D,$17,$07,$46,$38,$3E,$25,$B8 .db $31,$23,$58,$12,$1A,$77,$F3,$03 .db $09,$56,$04,$35,$49,$27,$35,$38 .db $27,$B5,$31,$28,$11,$52,$01,$06 .db $50,$04,$09,$5B,$04,$77,$F6,$02 .db $15,$F4,$21,$38,$3D,$25,$10,$D8 .db $01,$11,$F8,$33,$B8,$30,$23,$58 .db $11,$3E,$77,$F2,$03,$05,$56,$01 .db $07,$5A,$01,$05,$5E,$01,$35,$39 .db $2B,$35,$4A,$32,$32,$3C,$2B,$32 .db $4D,$69,$F1,$F0,$03,$0F,$02,$36 .db $07,$52,$01,$32,$37,$5D,$77,$FC .db $03,$13,$98,$02,$11,$9E,$01,$13 .db $0B,$2B,$02,$EB,$00,$28,$7C,$16 .db $84,$00,$41,$14,$92,$00,$11,$95 .db $01,$17,$02,$1B,$14,$03,$1C,$13 .db $02,$19,$14,$01,$1A,$77,$F6,$02 .db $34,$3A,$3B,$34,$4B,$6A,$0E,$0F .db $41,$05,$5E,$02,$03,$5C,$01,$94 .db $9B,$02,$07,$51,$01,$05,$53,$02 .db $03,$56,$01,$34,$36,$3D,$D8,$10 .db $1F,$32,$44,$5A,$32,$33,$57,$08 .db $53,$04,$32,$3F,$58,$34,$46,$37 .db $36,$34,$17,$34,$35,$17,$34,$3E .db $38,$36,$45,$17,$36,$3D,$18,$94 .db $01,$41,$11,$F2,$60,$77,$F6,$02 .db $17,$09,$44,$17,$DA,$00,$16,$0B .db $86,$77,$FE,$03,$07,$D6,$01,$00 .db $F6,$60,$07,$0A,$87,$08,$0A,$87 .db $09,$0A,$87,$0A,$0A,$87,$0B,$0A .db $87,$0C,$0A,$87,$0D,$0A,$87,$0E .db $0A,$87,$0F,$0A,$87,$10,$0A,$87 .db $11,$0A,$87,$12,$0A,$87,$13,$0A .db $87,$14,$0A,$87,$15,$0A,$87,$16 .db $0A,$87,$47,$0B,$09,$CA,$00,$08 .db $09,$D7,$01,$00,$F7,$80,$2F,$5D .db $91,$58,$10,$1F,$77,$F7,$03,$14 .db $08,$8E,$14,$09,$8E,$12,$04,$8E .db $F7,$F3,$02,$77,$FA,$04,$07,$00 .db $00,$FD,$0B,$00,$00,$E3,$FF DATA_0693DC: .db $20,$00,$76,$C1,$54,$60,$E0,$F1 .db $60,$FE,$F1,$60,$C1,$1D,$01,$01 .db $57,$01,$0E,$58,$23,$0C,$11,$65 .db $B2,$01,$05,$A4,$00,$65,$B5,$01 .db $05,$A7,$00,$65,$B8,$01,$05,$AA .db $00,$65,$BB,$02,$69,$B2,$02,$09 .db $A5,$00,$69,$B6,$01,$09,$A8,$00 .db $69,$B9,$01,$09,$AB,$00,$69,$BC .db $01,$6D,$B2,$01,$0D,$A4,$00,$6D .db $B5,$01,$0D,$A7,$00,$6D,$B8,$01 .db $0D,$AA,$00,$6D,$BB,$02,$71,$B2 .db $02,$11,$A5,$00,$71,$B6,$01,$11 .db $A8,$00,$71,$B9,$01,$11,$AB,$00 .db $71,$BC,$01,$70,$E0,$A1,$70,$FE .db $A1,$75,$B2,$01,$15,$A4,$00,$75 .db $B5,$01,$15,$A7,$00,$75,$B8,$01 .db $15,$AA,$00,$75,$BB,$02,$37,$00 .db $31,$79,$D1,$1D,$19,$01,$59,$19 .db $0E,$5A,$00,$02,$00,$FD,$FF DATA_069473: .db $ED,$40,$05,$C0,$A0,$58,$10,$DF .db $15,$F1,$20,$17,$D4,$00,$17,$D6 .db $00,$17,$0B,$44,$08,$FC,$F0,$08 .db $FE,$F0,$07,$FC,$10,$07,$FE,$10 .db $88,$F0,$F0,$08,$F2,$F0,$08,$F4 .db $F0,$08,$F6,$F0,$07,$F0,$10,$07 .db $F2,$10,$07,$F4,$10,$07,$F6,$10 .db $17,$08,$45,$04,$5D,$05,$07,$5D .db $05,$0A,$5D,$05,$84,$53,$0F,$07 .db $53,$0F,$0A,$53,$0F,$17,$58,$00 .db $96,$58,$10,$0A,$53,$0F,$07,$53 .db $0F,$04,$53,$0F,$84,$53,$0F,$07 .db $53,$0F,$0A,$53,$0F,$15,$58,$20 .db $94,$58,$30,$0A,$53,$0F,$07,$53 .db $0F,$04,$53,$0F,$84,$53,$0F,$07 .db $53,$0F,$0A,$53,$0F,$13,$58,$40 .db $93,$58,$40,$17,$59,$00,$0A,$53 .db $0F,$07,$53,$0F,$04,$53,$0F,$84 .db $53,$0F,$07,$53,$0F,$0A,$53,$0F .db $13,$58,$40,$16,$59,$10,$93,$58 .db $40,$15,$59,$20,$0A,$53,$0F,$07 .db $53,$0F,$04,$53,$0F,$84,$53,$0F .db $07,$53,$0F,$0A,$53,$0F,$13,$58 .db $40,$14,$59,$30,$8A,$53,$0F,$07 .db $53,$0F,$04,$53,$0F,$13,$58,$41 .db $97,$07,$44,$08,$F8,$F0,$08,$FA .db $F0,$08,$FC,$F0,$08,$FE,$F0,$07 .db $F8,$10,$07,$FA,$10,$07,$FC,$10 .db $07,$FE,$10,$88,$F0,$F0,$08,$F2 .db $F0,$07,$F0,$10,$07,$F2,$10,$17 .db $04,$45,$15,$FD,$21,$0D,$02,$00 .db $FD,$FF DATA_06956D: .db $6B,$62,$13,$E2,$33,$01,$00,$01 .db $B3,$30,$73,$32,$21,$00,$32,$23 .db $03,$32,$25,$01,$32,$26,$04,$33 .db $37,$75,$14,$61,$65,$E0,$E5,$D0 .db $2D,$26,$28,$60,$D8,$F0,$2E,$29 .db $19,$60,$DA,$E0,$60,$EB,$E2,$60 .db $F6,$C1,$60,$F9,$D0,$0E,$09,$3F .db $AE,$32,$C3,$2E,$35,$C5,$2D,$23 .db $01,$2D,$24,$04,$0F,$63,$B1,$30 .db $3C,$A3,$2F,$2D,$01,$2F,$2E,$04 .db $2F,$2F,$00,$11,$6D,$95,$AF,$21 .db $03,$30,$33,$A5,$2E,$39,$C3,$2E .db $4A,$C2,$2E,$3D,$C5,$AB,$33,$F3 .db $2B,$36,$F5,$2A,$24,$01,$2A,$25 .db $04,$0C,$64,$E1,$E0,$E8,$A0,$60 .db $D9,$A0,$2A,$2A,$26,$2A,$2E,$27 .db $60,$FA,$97,$35,$3C,$53,$35,$4D .db $50,$33,$2F,$11,$16,$6E,$43,$B3 .db $20,$24,$36,$43,$40,$36,$34,$45 .db $17,$62,$30,$60,$D2,$A1,$2A,$24 .db $38,$60,$D7,$D1,$2A,$29,$39,$60 .db $DC,$A0,$60,$ED,$A2,$60,$F4,$97 .db $AD,$39,$D3,$2D,$4A,$D6,$AE,$41 .db $C1,$2D,$21,$04,$2E,$33,$C5,$FF DATA_06962D: .db $6B,$62,$13,$E2,$33,$60,$E0,$F3 .db $38,$40,$2C,$30,$30,$7E,$36,$2B .db $10,$36,$4D,$43,$60,$E3,$D0,$60 .db $D4,$D7,$2D,$2C,$16,$60,$DE,$E4 .db $60,$FC,$C1,$12,$AD,$02,$12,$0E .db $33,$12,$0E,$34,$B5,$21,$00,$12 .db $00,$8E,$35,$43,$52,$33,$27,$11 .db $33,$48,$76,$33,$3F,$75,$16,$66 .db $41,$17,$61,$31,$2E,$23,$16,$60 .db $D5,$F9,$60,$F3,$D1,$6B,$EF,$42 .db $0A,$0F,$3F,$60,$FF,$9F,$EA,$D0 .db $07,$0A,$08,$3E,$6B,$E8,$40,$6A .db $D9,$52,$6B,$EC,$42,$0A,$0C,$3F .db $60,$DD,$A6,$33,$38,$73,$33,$49 .db $71,$31,$2F,$12,$14,$6B,$67,$0C .db $52,$04,$0B,$04,$41,$B1,$43,$9D .db $0D,$03,$31,$0C,$0C,$34,$60,$E4 .db $A2,$60,$EC,$A0,$60,$DD,$A2,$E6 .db $E0,$42,$60,$D1,$5F,$05,$00,$3F .db $60,$F0,$40,$31,$31,$95,$2F,$36 .db $B3,$2F,$47,$B3,$2F,$3B,$B5,$06 .db $F6,$13,$06,$FE,$13,$B2,$34,$83 .db $0E,$06,$87,$32,$45,$82,$32,$38 .db $85,$06,$F3,$23,$06,$FC,$14,$60 .db $D1,$5F,$2F,$3E,$B3,$2F,$4F,$B2 .db $AF,$32,$B5,$06,$F4,$13,$0D,$02 .db $41,$60,$D1,$56,$66,$E8,$40,$60 .db $D9,$AF,$60,$F8,$40,$05,$08,$3E .db $31,$37,$93,$0D,$5C,$02,$31,$48 .db $9F,$B1,$48,$93,$30,$2C,$00,$0D .db $54,$02,$0C,$01,$41,$30,$2E,$03 .db $12,$6C,$83,$60,$D9,$AF,$E0,$D9 .db $A6,$31,$40,$91,$30,$22,$00,$30 .db $24,$03,$30,$26,$01,$30,$27,$04 .db $30,$28,$00,$30,$2A,$03,$31,$4C .db $9A,$12,$62,$89,$B1,$37,$95,$26 .db $20,$47,$60,$D8,$6F,$60,$F0,$57 .db $0B,$08,$41,$8C,$55,$00,$0B,$56 .db $05,$0A,$0A,$41,$32,$39,$83,$32 .db $4A,$85,$60,$D8,$6F,$8F,$F2,$20 .db $32,$40,$8D,$30,$0B,$11,$00,$6D .db $F2,$10,$6E,$A1,$10,$08,$86,$60 .db $D8,$64,$27,$3D,$AC,$06,$0D,$3E .db $05,$00,$00,$E9,$0B,$00,$00,$FF .db $FF DATA_06978E: .db $C3,$80,$13,$A2,$23,$60,$D0,$8F .db $38,$40,$28,$38,$39,$25,$38,$3C .db $23,$58,$1D,$2E,$29,$30,$EE,$08 .db $00,$3F,$15,$F1,$20,$14,$05,$8E .db $B5,$38,$2B,$35,$49,$31,$32,$3A .db $2B,$32,$4B,$61,$32,$3D,$5D,$60 .db $D0,$8F,$E7,$61,$19,$60,$D0,$81 .db $60,$D2,$1A,$22,$31,$4E,$01,$01 .db $3F,$62,$EC,$60,$01,$0C,$3E,$60 .db $DD,$82,$0E,$0B,$2B,$10,$98,$00 .db $12,$95,$00,$14,$92,$00,$E0,$D0 .db $8F,$36,$3B,$1B,$36,$4C,$43,$29 .db $3F,$CC,$08,$0F,$3E,$34,$0D,$11 .db $16,$08,$86,$15,$D2,$20,$15,$D6 .db $20,$15,$93,$02,$03,$00,$00,$FF .db $FF DATA_069807: .db $26,$EC,$47,$AC,$25,$78,$40,$26 .db $68,$63,$0C,$94,$51,$02,$68,$60 .db $0F,$78,$4D,$24,$93,$51,$01,$68 .db $60,$0F,$13,$5B,$01,$F8,$43,$23 .db $14,$58,$02,$68,$60,$0F,$F8,$45 .db $22,$16,$0D,$47,$13,$58,$01,$68 .db $60,$0F,$E9,$A0,$F0,$79,$A0,$10 .db $69,$A1,$F1,$79,$A1,$11,$68,$60 .db $0E,$69,$AD,$F0,$79,$AD,$10,$69 .db $AE,$F1,$79,$AE,$11,$69,$52,$FA .db $79,$52,$1A,$78,$8F,$0F,$94,$01 .db $2B,$14,$04,$2B,$14,$07,$2B,$14 .db $0A,$2B,$16,$0C,$47,$60,$AF,$F0 .db $70,$AF,$A0,$04,$00,$00,$F9,$06 .db $00,$00,$C4,$FF DATA_06987B: .db $00,$E0,$47,$AC,$25,$78,$40,$23 .db $6B,$AF,$F0,$16,$0D,$47,$14,$07 .db $25,$6B,$A0,$C1,$60,$A0,$A1,$60 .db $61,$0D,$60,$AF,$A0,$00,$00,$00 .db $F9,$FF DATA_06989D: .db $A2,$C0,$47,$AC,$25,$78,$80,$08 .db $79,$91,$11,$79,$97,$11,$32,$2E .db $51,$72,$8F,$0F,$77,$4D,$33,$68 .db $63,$0E,$60,$60,$0F,$06,$06,$47 .db $92,$02,$2B,$73,$90,$31,$73,$94 .db $31,$73,$9D,$71,$10,$0C,$47,$63 .db $62,$00,$60,$AF,$F0,$70,$AF,$A0 .db $01,$00,$01,$60,$60,$0E,$E0,$51 .db $FE,$70,$51,$AE,$60,$A0,$F1,$70 .db $A0,$A1,$00,$00,$00,$EB,$01,$00 .db $00,$FE,$FF DATA_0698F0: .db $A2,$C0,$47,$AC,$25,$78,$80,$08 .db $79,$91,$11,$79,$97,$11,$74,$83 .db $04,$12,$05,$48,$75,$95,$21,$32 .db $2E,$51,$72,$8F,$0F,$0F,$4C,$05 .db $0E,$4D,$20,$0D,$4E,$00,$60,$60 .db $0F,$11,$4E,$00,$77,$4D,$33,$92 .db $02,$2F,$73,$90,$31,$73,$94,$31 .db $73,$9D,$71,$10,$0C,$47,$60,$AF .db $F0,$70,$AF,$A0,$01,$00,$01,$60 .db $60,$0E,$E0,$51,$FE,$70,$51,$AE .db $60,$A0,$F1,$70,$A0,$A1,$00,$00 .db $00,$FA,$01,$00,$00,$DE,$FF DATA_06994F: .db $C1,$A1,$49,$A4,$05,$2F,$5D,$91 .db $0B,$00,$49,$78,$20,$2F,$F8,$20 .db $2F,$FF DATA_069961: .db $F3,$20,$22,$91,$28,$78,$C0,$0F .db $79,$D1,$1D,$95,$D4,$00,$72,$C9 .db $04,$73,$DA,$72,$0E,$0B,$87,$F8 .db $C0,$03,$79,$D1,$11,$17,$51,$01 .db $11,$06,$51,$72,$96,$30,$16,$06 .db $53,$16,$07,$54,$72,$97,$31,$11 .db $07,$52,$0E,$0E,$41,$14,$DE,$00 .db $F3,$C4,$07,$0F,$56,$03,$74,$D5 .db $65,$77,$CD,$05,$78,$DE,$23,$F3 .db $C3,$07,$74,$D4,$65,$0F,$A5,$00 .db $0F,$A8,$00,$13,$9B,$02,$13,$0E .db $2B,$73,$CF,$07,$78,$CB,$03,$79 .db $DC,$11,$03,$DE,$00,$29,$7F,$1F .db $F4,$D0,$65,$77,$C1,$03,$78,$D2 .db $21,$14,$DD,$00,$05,$53,$02,$05 .db $58,$02,$05,$5D,$02,$29,$7F,$1F .db $85,$52,$02,$05,$57,$02,$06,$5D .db $01,$29,$7F,$18,$12,$05,$4D,$12 .db $07,$4E,$14,$05,$4F,$14,$07,$50 .db $94,$D0,$00,$78,$C6,$0C,$79,$D7 .db $1A,$0A,$59,$01,$06,$54,$01,$04 .db $01,$41,$F0,$84,$02,$12,$05,$24 .db $70,$A3,$11,$72,$92,$20,$75,$A2 .db $13,$76,$84,$12,$75,$A8,$14,$72 .db $98,$21,$70,$A7,$13,$77,$A7,$15 .db $79,$89,$07,$98,$01,$54,$75,$92 .db $20,$14,$02,$51,$74,$83,$03,$0F .db $04,$24,$72,$A8,$14,$74,$A7,$15 .db $76,$89,$01,$16,$0B,$52,$72,$89 .db $0C,$0E,$5B,$01,$0E,$0E,$51,$0E .db $0F,$52,$0F,$0E,$53,$0F,$0F,$54 .db $14,$0F,$4D,$16,$0F,$4F,$94,$01 .db $4E,$16,$01,$50,$12,$06,$52,$34 .db $5B,$40,$17,$0C,$46,$0D,$04,$41 .db $0E,$51,$01,$78,$C5,$0B,$79,$D6 .db $19,$91,$03,$51,$11,$04,$52,$72 .db $93,$40,$72,$94,$41,$17,$03,$53 .db $17,$04,$54,$14,$0D,$31,$91,$03 .db $55,$71,$84,$16,$71,$AB,$00,$72 .db $8F,$17,$F2,$A7,$00,$0E,$59,$02 .db $71,$8C,$16,$F9,$D2,$1B,$78,$C1 .db $0D,$0E,$00,$41,$11,$03,$54,$12 .db $D6,$01,$10,$F6,$11,$8F,$53,$02 .db $0F,$5E,$01,$14,$D4,$00,$16,$53 .db $02,$16,$5E,$00,$15,$0F,$41,$14 .db $DF,$00,$8F,$50,$00,$16,$50,$00 .db $73,$C6,$05,$74,$D7,$63,$13,$FE .db $70,$F0,$85,$02,$70,$A4,$11,$72 .db $93,$10,$74,$A3,$13,$76,$85,$02 .db $14,$D6,$00,$74,$A9,$11,$72,$99 .db $11,$70,$A8,$13,$12,$0C,$55,$73 .db $8D,$0B,$93,$09,$52,$77,$C2,$03 .db $78,$D3,$21,$15,$03,$86,$2F,$5D .db $91,$0F,$05,$17,$78,$C8,$08,$79 .db $D9,$16,$F8,$C1,$0E,$79,$D2,$1C .db $0E,$00,$00,$F4,$FF DATA_069B1E: .db $20,$00,$76,$01,$54,$60,$E0,$F1 .db $60,$FE,$F1,$60,$C1,$1D,$01,$01 .db $57,$01,$0E,$58,$23,$0C,$11,$65 .db $B2,$01,$05,$A4,$00,$65,$B5,$01 .db $05,$A7,$00,$65,$B8,$01,$05,$AA .db $00,$65,$BB,$02,$69,$B2,$02,$09 .db $A5,$00,$69,$B6,$01,$09,$A8,$00 .db $69,$B9,$01,$09,$AB,$00,$69,$BC .db $01,$6D,$B2,$01,$0D,$A4,$00,$6D .db $B5,$01,$0D,$A7,$00,$6D,$B8,$01 .db $0D,$AA,$00,$6D,$BB,$02,$71,$B2 .db $02,$11,$A5,$00,$71,$B6,$01,$11 .db $A8,$00,$71,$B9,$01,$11,$AB,$00 .db $71,$BC,$01,$70,$E0,$A1,$70,$FE .db $A1,$75,$B2,$01,$15,$A4,$00,$75 .db $B5,$01,$15,$A7,$00,$75,$B8,$01 .db $15,$AA,$00,$75,$BB,$02,$37,$00 .db $31,$79,$D1,$1D,$19,$01,$59,$19 .db $0E,$5A,$00,$02,$00,$F4,$FF DATA_069BB5: .db $13,$20,$00,$80,$20,$58,$11,$15 .db $38,$30,$23,$13,$07,$82,$15,$0A .db $1D,$F7,$F1,$02,$14,$F5,$30,$38 .db $37,$25,$38,$3A,$23,$58,$1B,$10 .db $31,$4C,$62,$31,$3F,$68,$31,$3B .db $67,$0E,$0D,$41,$B8,$3C,$25,$15 .db $F8,$20,$38,$3E,$23,$38,$4F,$24 .db $B8,$34,$25,$15,$F1,$25,$38,$36 .db $23,$38,$47,$22,$38,$3A,$25,$15 .db $F8,$21,$16,$FD,$45,$38,$3F,$23 .db $D8,$10,$2B,$13,$03,$82,$15,$F1 .db $20,$15,$06,$1D,$77,$FE,$03,$97 .db $03,$44,$30,$34,$7B,$30,$45,$83 .db $30,$39,$7D,$31,$2A,$13,$14,$6A .db $33,$33,$3D,$18,$17,$6C,$05,$B3 .db $20,$20,$05,$00,$01,$36,$3C,$17 .db $B3,$42,$42,$33,$35,$48,$12,$D5 .db $00,$13,$A6,$02,$13,$07,$30,$14 .db $99,$05,$77,$F8,$02,$38,$3C,$25 .db $25,$71,$1E,$02,$54,$02,$02,$5A .db $02,$82,$50,$02,$25,$70,$1B,$02 .db $DA,$00,$04,$0A,$19,$02,$0B,$1A .db $01,$0A,$1B,$02,$09,$1C,$10,$01 .db $41,$38,$30,$23,$58,$11,$1E,$15 .db $F3,$21,$F0,$91,$70,$32,$F4,$50 .db $35,$F5,$20,$34,$F2,$30,$77,$F8 .db $04,$B2,$58,$60,$58,$10,$15,$12 .db $F3,$50,$15,$09,$46,$13,$0D,$82 .db $95,$00,$1D,$38,$36,$25,$36,$39 .db $43,$36,$4A,$40,$39,$4B,$1F,$36 .db $3B,$2D,$78,$FD,$02,$15,$0F,$36 .db $B5,$32,$3B,$35,$33,$3D,$15,$07 .db $41,$35,$3A,$3B,$58,$1B,$16,$35 .db $3B,$2D,$77,$FD,$02,$B5,$32,$2B .db $11,$05,$40,$35,$43,$34,$35,$38 .db $2D,$14,$0B,$83,$16,$0D,$1D,$B8 .db $32,$25,$33,$37,$73,$33,$48,$73 .db $36,$4C,$49,$33,$2C,$24,$F5,$F0 .db $02,$11,$50,$02,$34,$25,$11,$34 .db $46,$63,$37,$4A,$3A,$34,$2A,$24 .db $13,$5E,$01,$25,$7C,$16,$24,$7E .db $12,$03,$0F,$18,$10,$57,$01,$B3 .db $24,$31,$33,$45,$72,$36,$48,$47 .db $33,$28,$24,$35,$2F,$01,$10,$0C .db $41,$B4,$41,$63,$34,$20,$01,$16 .db $60,$40,$58,$15,$1C,$34,$25,$34 .db $13,$0C,$82,$15,$0F,$1D,$F7,$F7 .db $04,$16,$0C,$86,$B8,$3C,$23,$38 .db $32,$25,$2F,$5D,$91,$58,$1D,$12 .db $F7,$F2,$02,$14,$08,$83,$03,$00 .db $00,$C3,$07,$00,$00,$D2,$FF DATA_069D4C: .db $C1,$60,$13,$A2,$03,$58,$10,$12 .db $2B,$30,$CE,$0B,$F1,$93,$6B,$E3 .db $20,$6B,$D4,$2B,$13,$56,$02,$13 .db $5C,$02,$B8,$33,$25,$6B,$D0,$2F .db $10,$07,$41,$38,$3B,$23,$38,$4C .db $23,$2E,$3F,$9C,$0D,$0F,$3E,$36 .db $0D,$11,$01,$02,$00,$D2,$FF DATA_069D83: .db $03,$20,$00,$80,$40,$38,$40,$2B .db $15,$F1,$20,$77,$F5,$03,$38,$3C .db $25,$16,$FD,$45,$95,$F1,$55,$36 .db $F5,$40,$16,$F8,$45,$15,$FD,$55 .db $B1,$F1,$90,$13,$F5,$75,$17,$FA .db $35,$B8,$31,$23,$38,$42,$2D,$77 .db $F3,$03,$77,$F9,$01,$15,$FC,$21 .db $03,$02,$00,$C3,$FF DATA_069DC0: .db $62,$60,$31,$CB,$11,$60,$C0,$59 .db $66,$C0,$81,$69,$C5,$16,$6B,$C5 .db $33,$6B,$CA,$31,$6A,$CC,$43,$60 .db $CA,$32,$60,$CD,$26,$68,$CC,$14 .db $58,$10,$2F,$E0,$C4,$2F,$63,$C9 .db $27,$66,$C8,$38,$6A,$C8,$52,$6A .db $CB,$22,$0C,$DC,$00,$0C,$0E,$8E .db $66,$C1,$C6,$12,$D6,$00,$24,$06 .db $12,$18,$07,$4B,$E8,$D7,$F0,$67 .db $D8,$00,$27,$49,$F6,$09,$68,$F7 .db $07,$09,$4B,$05,$0C,$47,$60,$CE .db $61,$60,$C7,$16,$60,$C4,$32,$63 .db $C1,$32,$06,$D2,$00,$01,$00,$00 .db $E6,$02,$00,$00,$E8,$FF DATA_069E2E: .db $63,$60,$31,$CB,$11,$60,$C0,$51 .db $60,$C2,$1F,$26,$40,$FC,$28,$4D .db $F1,$2A,$4F,$F1,$16,$60,$4F,$26 .db $3D,$1D,$28,$3F,$1D,$04,$04,$47 .db $AC,$41,$E1,$2E,$43,$C1,$1A,$60 .db $00,$2E,$35,$C5,$2A,$31,$1D,$2C .db $33,$1D,$62,$C0,$21,$60,$C2,$23 .db $63,$C4,$31,$60,$C6,$73,$60,$CA .db $8A,$69,$CA,$21,$69,$CC,$11,$69 .db $CE,$64,$30,$38,$A3,$35,$A6,$51 .db $32,$49,$81,$34,$4B,$62,$36,$4E .db $41,$30,$39,$1D,$32,$3B,$1D,$34 .db $3E,$1D,$D8,$10,$1F,$36,$30,$1D .db $17,$D3,$02,$69,$C3,$41,$60,$C5 .db $AA,$6B,$C5,$46,$6B,$CC,$23,$6E .db $CC,$93,$E0,$C0,$86,$60,$C7,$53 .db $66,$C7,$C3,$69,$C0,$96,$73,$C0 .db $43,$73,$C4,$46,$00,$00,$00,$E7 .db $FF DATA_069EBF: .db $07,$68,$31,$CB,$11,$60,$CD,$13 .db $E0,$C5,$1C,$6D,$C5,$12,$03,$D4 .db $00,$63,$E3,$10,$65,$E3,$10,$67 .db $E3,$10,$69,$E3,$10,$6B,$E3,$10 .db $6D,$E3,$10,$6F,$E3,$10,$05,$D4 .db $00,$07,$D4,$00,$09,$D4,$00,$0B .db $D4,$00,$0D,$D4,$00,$0F,$D4,$00 .db $60,$CA,$14,$60,$CE,$16,$70,$C5 .db $12,$11,$D3,$10,$73,$CA,$14,$70 .db $CE,$17,$03,$00,$01,$71,$C0,$26 .db $72,$C3,$12,$75,$C3,$12,$72,$C5 .db $15,$70,$C7,$24,$75,$C7,$22,$71 .db $CA,$12,$74,$CA,$11,$76,$CA,$31 .db $70,$CC,$15,$E0,$C8,$13,$60,$CA .db $31,$62,$CA,$12,$62,$CC,$13,$71 .db $C0,$16,$E0,$C0,$1B,$6E,$C0,$11 .db $60,$CC,$26,$70,$C0,$17,$72,$CC .db $15,$E0,$C0,$29,$6A,$C9,$25,$70 .db $C9,$21,$74,$C4,$13,$E0,$C0,$2B .db $6E,$C9,$11,$70,$C9,$17,$71,$C7 .db $16,$74,$C5,$13,$FF DATA_069F64: .db $67,$68,$31,$CB,$11,$60,$C0,$71 .db $62,$C0,$16,$62,$C2,$12,$65,$C2 .db $13,$69,$C0,$31,$6B,$C0,$14,$6B .db $C2,$12,$6E,$C2,$11,$6E,$C4,$11 .db $6E,$C6,$31,$66,$CA,$19,$6E,$CC .db $31,$60,$C8,$71,$0C,$07,$90,$09 .db $06,$87,$EE,$C0,$71,$6D,$C8,$12 .db $6E,$CA,$21,$0F,$DD,$00,$6B,$CC .db $12,$60,$C0,$41,$60,$C5,$1B,$60 .db $C7,$51,$62,$CC,$12,$00,$DD,$00 .db $02,$D1,$30,$04,$D1,$30,$06,$D2 .db $20,$07,$02,$87,$08,$D2,$20,$0A .db $D2,$20,$E0,$C0,$13,$65,$C0,$11 .db $69,$C0,$12,$6D,$C0,$12,$6E,$C2 .db $11,$6E,$C4,$51,$6E,$CA,$31,$69 .db $CE,$16,$68,$C9,$15,$64,$C9,$13 .db $60,$CE,$17,$60,$CB,$21,$60,$C7 .db $31,$60,$C2,$41,$07,$D2,$00,$0B .db $A5,$00,$08,$A5,$00,$05,$A5,$00 .db $02,$DD,$00,$0A,$0D,$19,$0B,$0D .db $1A,$0C,$0D,$1B,$0D,$0D,$1C,$E0 .db $C0,$51,$60,$C6,$22,$60,$C9,$62 .db $63,$C6,$61,$63,$CD,$21,$66,$CB .db $41,$66,$C8,$21,$66,$C0,$71,$68 .db $CE,$11,$6E,$CB,$41,$6E,$C4,$61 .db $6E,$C0,$31,$03,$02,$11,$08,$D2 .db $00,$09,$D6,$00,$08,$DA,$10,$EE .db $C0,$11,$6B,$C2,$24,$67,$C5,$18 .db $6E,$C7,$61,$6B,$CE,$14,$0B,$5A .db $32,$67,$C7,$61,$66,$CE,$12,$60 .db $CE,$13,$60,$C5,$81,$60,$C0,$41 .db $02,$95,$04,$05,$05,$2B,$E0,$C2 .db $31,$60,$C6,$1A,$60,$C8,$33,$6D .db $C9,$62,$68,$CC,$11,$07,$DC,$30 .db $00,$DF,$04,$EE,$C0,$B1,$60,$C3 .db $18,$60,$C5,$61,$60,$CC,$34,$0A .db $A8,$02,$0B,$08,$31,$09,$DB,$04 .db $EE,$C3,$A1,$64,$CB,$29,$64,$CE .db $1B,$60,$CB,$43,$00,$00,$00,$E5 .db $FF DATA_06A09D: .db $20,$00,$76,$C1,$14,$60,$E0,$F1 .db $60,$FE,$F1,$60,$C1,$1D,$01,$01 .db $57,$01,$0E,$58,$23,$0C,$11,$65 .db $B2,$01,$05,$A4,$00,$65,$B5,$01 .db $05,$A7,$00,$65,$B8,$01,$05,$AA .db $00,$65,$BB,$02,$69,$B2,$02,$09 .db $A5,$00,$69,$B6,$01,$09,$A8,$00 .db $69,$B9,$01,$09,$AB,$00,$69,$BC .db $01,$6D,$B2,$01,$0D,$A4,$00,$6D .db $B5,$01,$0D,$A7,$00,$6D,$B8,$01 .db $0D,$AA,$00,$6D,$BB,$02,$71,$B2 .db $02,$11,$A5,$00,$71,$B6,$01,$11 .db $A8,$00,$71,$B9,$01,$11,$AB,$00 .db $71,$BC,$01,$70,$E0,$A1,$70,$FE .db $A1,$75,$B2,$01,$15,$A4,$00,$75 .db $B5,$01,$15,$A7,$00,$75,$B8,$01 .db $15,$AA,$00,$75,$BB,$02,$37,$00 .db $31,$79,$D1,$1D,$19,$01,$59,$19 .db $0E,$5A,$00,$00,$00,$E7,$FF DATA_06A134: .db $8C,$40,$54,$9A,$09,$60,$D0,$9F .db $78,$66,$27,$35,$30,$43,$7A,$E0 .db $00,$35,$41,$45,$7A,$D1,$05,$0A .db $F1,$83,$35,$27,$24,$F9,$61,$12 .db $73,$62,$14,$10,$52,$04,$60,$D0 .db $9F,$6A,$6C,$B2,$E0,$D0,$9F,$0F .db $50,$01,$6A,$65,$56,$77,$62,$36 .db $33,$34,$3D,$33,$32,$43,$33,$43 .db $40,$13,$AC,$03,$13,$0E,$30,$0E .db $0E,$41,$E0,$D0,$9F,$6A,$60,$A2 .db $6A,$68,$7B,$0A,$F6,$54,$77,$6A .db $37,$35,$3D,$1B,$35,$3E,$1D,$E0 .db $D0,$9F,$79,$68,$17,$38,$38,$13 .db $38,$49,$11,$33,$3A,$4B,$36,$4B .db $33,$33,$3B,$2D,$32,$3E,$3B,$78 .db $6F,$2A,$79,$DF,$10,$32,$3F,$5D .db $0A,$FE,$33,$14,$5C,$11,$96,$01 .db $41,$31,$32,$6B,$35,$43,$32,$31 .db $33,$3D,$35,$36,$2D,$15,$07,$30 .db $60,$D0,$9F,$6A,$68,$63,$6A,$6F .db $7B,$E0,$D0,$9F,$79,$61,$17,$74 .db $63,$14,$13,$B4,$02,$12,$05,$41 .db $79,$6D,$19,$36,$3F,$2B,$B6,$40 .db $35,$36,$36,$35,$77,$6A,$33,$60 .db $D0,$9F,$6A,$64,$4A,$13,$46,$06 .db $12,$4B,$20,$11,$4A,$00,$15,$4A .db $00,$E0,$D0,$9F,$6A,$62,$B3,$6A .db $69,$45,$0D,$07,$41,$75,$69,$55 .db $7A,$DE,$06,$32,$3B,$2B,$32,$3C .db $2D,$39,$4E,$07,$36,$3E,$2E,$15 .db $EF,$04,$95,$04,$35,$75,$65,$59 .db $36,$35,$2C,$7A,$D5,$00,$60,$D0 .db $9F,$6A,$6D,$63,$E0,$D0,$9F,$6C .db $68,$93,$0A,$0B,$41,$0F,$5C,$03 .db $E0,$D0,$9F,$6A,$60,$A2,$6A,$66 .db $34,$10,$08,$86,$2F,$5D,$91,$78 .db $67,$29,$32,$37,$63,$32,$48,$60 .db $32,$39,$5D,$E0,$D0,$9F,$78,$60 .db $2F,$38,$40,$10,$7A,$D0,$00,$03 .db $00,$00,$C2,$FF DATA_06A270: .db $C4,$6A,$10,$82,$53,$60,$D0,$0F .db $20,$31,$E6,$00,$00,$3F,$05,$07 .db $41,$0E,$97,$00,$11,$07,$2B,$70 .db $D0,$0F,$3F,$31,$E4,$1F,$00,$3E .db $1A,$07,$41,$A0,$30,$F6,$03,$5D .db $01,$09,$52,$01,$10,$5B,$01,$16 .db $55,$01,$3F,$30,$F4,$A0,$30,$F6 .db $05,$D9,$02,$06,$05,$35,$0B,$57 .db $01,$14,$54,$01,$1A,$05,$30,$19 .db $D9,$02,$16,$5E,$01,$3F,$30,$F4 .db $A0,$30,$F6,$06,$52,$01,$0E,$5B .db $01,$12,$55,$01,$1C,$58,$01,$3F .db $30,$F4,$A0,$4C,$3F,$20,$30,$BE .db $01,$F9,$20,$09,$52,$01,$0E,$08 .db $35,$30,$4C,$3F,$3F,$30,$BC,$18 .db $55,$01,$1D,$F9,$21,$04,$02,$00 .db $C2,$FF DATA_06A2F2: .db $C5,$A0,$47,$EC,$25,$78,$40,$22 .db $60,$60,$0F,$B0,$22,$71,$70,$83 .db $08,$6F,$74,$26,$6E,$73,$17,$60 .db $60,$0F,$71,$9A,$21,$74,$88,$0A .db $72,$7C,$13,$73,$7E,$21,$75,$9A .db $21,$78,$42,$29,$F5,$90,$21,$60 .db $A1,$F0,$60,$60,$00,$60,$63,$0C .db $70,$A1,$30,$60,$A2,$F1,$70,$A2 .db $31,$10,$E9,$00,$B4,$2C,$31,$74 .db $4D,$61,$72,$7D,$15,$60,$60,$0F .db $73,$7E,$24,$B0,$27,$31,$60,$60 .db $0E,$70,$48,$71,$6E,$78,$13,$6F .db $79,$22,$0E,$0D,$47,$14,$0A,$2B .db $78,$44,$22,$60,$AF,$F0,$70,$AF .db $A0,$E0,$50,$FF,$70,$50,$AF,$60 .db $A0,$F1,$70,$A0,$A1,$04,$00,$00 .db $ED,$FF DATA_06A374: .db $C5,$A0,$47,$EC,$25,$60,$A0,$F1 .db $60,$61,$0E,$70,$A0,$A1,$73,$81 .db $07,$74,$97,$31,$78,$41,$26,$16 .db $02,$47,$95,$9B,$01,$15,$0D,$16 .db $15,$0E,$16,$15,$0F,$16,$13,$0E .db $47,$12,$9C,$00,$11,$9D,$02,$11 .db $0E,$2B,$60,$6E,$50,$60,$60,$0F .db $6B,$8F,$0F,$92,$90,$00,$15,$90 .db $01,$78,$41,$26,$77,$69,$03,$76 .db $6A,$02,$75,$6B,$01,$74,$6C,$00 .db $75,$45,$20,$13,$06,$48,$13,$55 .db $10,$13,$57,$10,$12,$56,$00,$6C .db $6C,$30,$60,$60,$0F,$6B,$8F,$06 .db $94,$01,$34,$09,$01,$48,$76,$66 .db $10,$6C,$66,$60,$60,$66,$B0,$60 .db $60,$0F,$75,$4D,$51,$96,$00,$64 .db $78,$44,$22,$14,$08,$30,$60,$60 .db $0E,$60,$AF,$F0,$70,$AF,$A0,$E0 .db $50,$FF,$70,$50,$AF,$60,$A0,$F1 .db $70,$A0,$A1,$00,$00,$00,$EC,$01 .db $00,$00,$F1,$02,$00,$00,$F0,$03 .db $00,$00,$E4,$FF DATA_06A420: .db $C2,$A0,$47,$EC,$05,$60,$A0,$F1 .db $70,$A0,$A1,$78,$41,$2B,$16,$02 .db $47,$60,$61,$DE,$E0,$60,$DF,$13 .db $08,$25,$E0,$60,$DE,$16,$0D,$47 .db $60,$AF,$F0,$70,$AF,$A0,$00,$00 .db $00,$EE,$02,$00,$00,$F2,$FF DATA_06A44F: .db $C0,$A0,$67,$EC,$05,$6B,$60,$0F .db $6C,$A0,$E1,$6C,$AF,$E0,$17,$B1 .db $2D,$FF DATA_06A461: .db $2E,$60,$13,$A5,$23,$58,$10,$27 .db $17,$0A,$25,$B2,$41,$53,$32,$30 .db $57,$32,$35,$58,$35,$44,$22,$35 .db $33,$27,$35,$37,$28,$0E,$09,$41 .db $90,$02,$2B,$38,$38,$25,$38,$3B .db $23,$58,$1C,$26,$01,$E2,$00,$68 .db $63,$23,$04,$05,$2A,$06,$0A,$41 .db $08,$5B,$10,$B1,$3C,$6B,$11,$0B .db $41,$34,$48,$31,$34,$37,$37,$34 .db $3A,$38,$31,$4D,$94,$B1,$32,$6D .db $31,$48,$61,$31,$37,$67,$31,$3A .db $68,$13,$0D,$41,$31,$3F,$67,$B1 .db $40,$61,$31,$32,$68,$38,$33,$25 .db $58,$18,$49,$38,$37,$23,$B5,$36 .db $2B,$35,$47,$30,$35,$38,$2D,$32 .db $4C,$50,$32,$3B,$57,$32,$3D,$58 .db $B0,$30,$7B,$30,$41,$80,$30,$22 .db $74,$15,$FC,$20,$17,$CE,$0C,$94 .db $F0,$30,$15,$F5,$20,$08,$00,$01 .db $34,$3B,$3B,$34,$4C,$42,$32,$3F .db $57,$34,$3F,$3D,$B0,$46,$70,$30 .db $35,$77,$30,$37,$78,$32,$40,$51 .db $00,$F0,$E4,$32,$32,$58,$13,$0D .db $41,$6F,$69,$12,$6F,$6E,$12,$B8 .db $32,$25,$38,$37,$23,$58,$18,$17 .db $00,$F8,$D3,$94,$00,$2B,$16,$55 .db $00,$15,$56,$01,$16,$58,$00,$B8 .db $30,$25,$33,$25,$21,$17,$63,$32 .db $36,$33,$47,$33,$35,$78,$32,$38 .db $83,$30,$2A,$11,$13,$69,$71,$30 .db $4B,$A2,$30,$3E,$A5,$89,$E1,$01 .db $0A,$F1,$A3,$38,$31,$23,$2F,$5D .db $91,$58,$12,$1D,$16,$07,$86,$09 .db $00,$00,$C6,$FF DATA_06A56D: .db $23,$C0,$00,$80,$47,$38,$40,$2B .db $15,$F1,$20,$77,$F5,$04,$14,$06 .db $35,$38,$3C,$25,$90,$50,$02,$13 .db $53,$02,$0F,$56,$02,$11,$59,$02 .db $12,$5C,$02,$0F,$5F,$02,$18,$F8 .db $20,$97,$F6,$30,$10,$52,$02,$0E .db $55,$02,$0F,$58,$02,$12,$5B,$02 .db $11,$5E,$02,$8F,$51,$02,$38,$36 .db $23,$38,$47,$28,$15,$FC,$21,$03 .db $02,$00,$C6,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF DATA_06A600: .db $DA,$60,$13,$E1,$23,$30,$40,$A9 .db $60,$D0,$CF,$11,$6A,$90,$12,$6B .db $80,$13,$6C,$70,$14,$6D,$60,$15 .db $6E,$50,$16,$6F,$40,$30,$3A,$0D .db $31,$3B,$0D,$32,$3C,$0D,$33,$3D .db $0D,$34,$3E,$0D,$35,$3F,$0D,$97 .db $60,$30,$38,$41,$2A,$36,$30,$0D .db $37,$31,$0D,$35,$4F,$52,$35,$3E .db $53,$38,$3C,$25,$60,$D0,$CF,$B5 .db $32,$55,$38,$34,$23,$58,$15,$37 .db $60,$D0,$CE,$60,$DF,$4F,$65,$EF .db $72,$04,$0F,$3F,$31,$46,$64,$31 .db $35,$67,$31,$3B,$68,$B6,$46,$19 .db $36,$35,$17,$60,$DF,$4F,$0E,$9D .db $70,$0E,$0F,$2D,$0E,$96,$09,$12 .db $96,$09,$92,$90,$0F,$0E,$93,$70 .db $12,$00,$30,$0E,$90,$0A,$0F,$9C .db $60,$14,$55,$05,$10,$08,$41,$0E .db $05,$29,$0E,$EB,$01,$05,$FB,$80 .db $60,$DF,$4E,$12,$0D,$2B,$36,$40 .db $1F,$12,$06,$2D,$92,$90,$0A,$10 .db $91,$10,$10,$96,$10,$13,$9A,$20 .db $16,$EA,$10,$36,$40,$19,$38,$3D .db $25,$65,$ED,$60,$04,$0D,$3E,$60 .db $DE,$B7,$B9,$31,$13,$39,$42,$15 .db $38,$37,$0B,$38,$48,$22,$38,$3B .db $25,$0C,$F1,$63,$60,$D7,$1F,$62 .db $E6,$92,$01,$06,$3F,$60,$F6,$00 .db $65,$69,$64,$69,$6E,$29,$6A,$DD .db $11,$29,$4E,$00,$09,$0D,$14,$0C .db $FA,$53,$0E,$08,$2B,$71,$57,$02 .db $72,$56,$00,$73,$55,$00,$74,$54 .db $00,$75,$53,$00,$18,$04,$30,$E0 .db $D7,$B7,$60,$EF,$B2,$60,$DF,$19 .db $01,$0F,$3F,$22,$37,$6C,$01,$07 .db $3E,$39,$30,$13,$39,$41,$11,$39 .db $33,$15,$38,$37,$23,$58,$18,$10 .db $32,$4B,$52,$32,$3A,$57,$32,$3E .db $58,$35,$4E,$20,$35,$3F,$28,$35 .db $3D,$27,$A2,$38,$F4,$01,$08,$3E .db $36,$06,$11,$00,$69,$FF,$10,$69 .db $AF,$32,$38,$5C,$08,$00,$01,$80 .db $69,$FF,$10,$69,$AF,$0A,$00,$01 .db $00,$69,$FF,$10,$69,$AF,$80,$69 .db $FF,$10,$69,$AF,$80,$69,$FF,$10 .db $69,$AF,$80,$69,$FC,$10,$69,$AC .db $B0,$46,$AD,$20,$36,$FE,$60,$D6 .db $19,$01,$06,$3F,$2E,$07,$21,$B0 .db $34,$A5,$60,$D0,$1F,$38,$37,$23 .db $38,$48,$27,$2D,$5C,$40,$10,$0D .db $46,$71,$69,$16,$D8,$10,$3A,$0F .db $52,$00,$10,$53,$10,$60,$E8,$F1 .db $60,$D0,$18,$01,$08,$3E,$70,$E8 .db $40,$70,$D9,$45,$60,$F9,$F6,$70 .db $EF,$42,$0F,$0F,$3F,$E0,$D0,$FB .db $60,$DC,$D4,$6E,$EC,$12,$0D,$0C .db $3F,$73,$62,$1B,$35,$3C,$2C,$34 .db $3D,$3E,$14,$0C,$3E,$16,$58,$02 .db $14,$90,$01,$71,$6F,$1F,$F4,$63 .db $14,$75,$6C,$18,$71,$6E,$17,$72 .db $DE,$00,$31,$4E,$00,$6E,$E0,$10 .db $60,$D1,$F4,$60,$D6,$D9,$0D,$06 .db $3F,$0D,$0F,$3E,$0E,$0A,$41,$6E .db $E6,$12,$6E,$EF,$10,$0D,$00,$3E .db $10,$B3,$00,$B8,$3B,$25,$60,$D0 .db $FA,$60,$FB,$F3,$70,$DB,$03,$70 .db $EA,$00,$60,$EF,$F3,$60,$DF,$1F .db $01,$0F,$3F,$70,$EF,$02,$0F,$0A .db $3E,$38,$3F,$23,$14,$9B,$02,$14 .db $0A,$30,$B8,$40,$26,$38,$37,$25 .db $15,$F8,$50,$15,$FD,$50,$60,$DF .db $1F,$18,$0F,$87,$98,$00,$87,$18 .db $01,$87,$18,$02,$87,$18,$03,$87 .db $15,$F4,$50,$38,$38,$23,$58,$19 .db $13,$11,$56,$02,$60,$DF,$16,$0E .db $02,$41,$F0,$C3,$03,$18,$00,$3C .db $30,$44,$81,$70,$66,$17,$30,$46 .db $00,$32,$36,$5E,$11,$06,$3F,$74 .db $69,$14,$36,$3C,$1C,$35,$3D,$56 .db $15,$0C,$3E,$16,$5A,$11,$62,$E5 .db $B0,$01,$05,$3E,$60,$D6,$D9,$38 .db $3F,$23,$D8,$10,$1A,$60,$D0,$DB .db $60,$DC,$FD,$6E,$EB,$10,$70,$60 .db $18,$0F,$52,$02,$0E,$B6,$10,$74 .db $60,$1C,$32,$3C,$25,$32,$3B,$1B .db $15,$9E,$00,$15,$0D,$2D,$17,$BC .db $00,$0D,$0B,$3E,$72,$6F,$3C,$B3 .db $3B,$76,$36,$3F,$43,$36,$3A,$1C .db $15,$0A,$3E,$16,$08,$41,$60,$EA .db $F2,$60,$DA,$15,$01,$0A,$3F,$B6 .db $40,$43,$60,$D0,$1F,$14,$00,$86 .db $2F,$5D,$91,$58,$14,$1B,$36,$24 .db $13,$E0,$D0,$1F,$08,$00,$00,$EF .db $FF DATA_06A8E9: .db $65,$62,$13,$E2,$03,$60,$D0,$4F .db $35,$40,$5C,$33,$00,$21,$32,$2B .db $20,$32,$4D,$84,$0E,$0F,$32,$B2 .db $32,$85,$60,$D0,$4F,$24,$2B,$88 .db $79,$A3,$1C,$F9,$A0,$1F,$60,$D3 .db $CC,$60,$F0,$32,$E0,$D0,$CF,$79 .db $A0,$1F,$E0,$D0,$CF,$79,$A0,$1F .db $F9,$A0,$18,$36,$39,$43,$13,$02 .db $41,$36,$4A,$45,$60,$D0,$CF,$2D .db $3F,$8C,$0C,$0F,$3E,$34,$0D,$11 .db $05,$02,$00,$EF,$FF,$65,$62,$13 .db $E2,$03,$AF,$35,$B3,$2F,$46,$BF .db $AF,$46,$BF,$AE,$32,$0B,$2E,$34 .db $0D,$2E,$43,$10,$2F,$46,$BF,$AF .db $46,$BE,$AF,$35,$B5,$FF DATA_06A95F: .db $D3,$60,$13,$A2,$23,$36,$90,$2F .db $60,$D0,$1F,$39,$40,$1F,$B6,$90 .db $25,$60,$D0,$1F,$19,$60,$15,$35 .db $24,$30,$35,$46,$59,$30,$2F,$41 .db $B0,$40,$A2,$30,$33,$35,$31,$94 .db $9F,$34,$24,$24,$15,$63,$50,$37 .db $27,$13,$18,$64,$22,$1A,$67,$03 .db $39,$4B,$14,$14,$03,$3D,$10,$A4 .db $03,$10,$05,$30,$60,$ED,$F1,$60 .db $D0,$1D,$01,$0D,$3E,$70,$ED,$20 .db $60,$FE,$FA,$70,$DE,$25,$B9,$30 .db $15,$31,$9A,$9F,$31,$94,$95,$71 .db $63,$52,$70,$F3,$12,$70,$D6,$12 .db $70,$E9,$12,$12,$03,$3E,$11,$05 .db $3F,$60,$D9,$16,$61,$E9,$E3,$01 .db $09,$3F,$27,$3D,$93,$27,$4E,$43 .db $38,$4A,$23,$0C,$6E,$E4,$31,$3D .db $6C,$10,$0B,$2B,$38,$39,$23,$B1 .db $9A,$9F,$72,$DA,$0F,$27,$22,$03 .db $27,$24,$00,$29,$43,$2D,$09,$62 .db $23,$27,$26,$14,$6C,$E3,$E3,$6C .db $D4,$0F,$0C,$03,$3F,$60,$D0,$1F .db $71,$68,$52,$12,$0A,$3F,$31,$4A .db $0C,$39,$3D,$13,$39,$4E,$19,$25 .db $4B,$31,$25,$3A,$37,$07,$6D,$00 .db $25,$3D,$18,$A4,$20,$41,$24,$41 .db $71,$30,$25,$00,$31,$9A,$9F,$70 .db $6A,$52,$30,$47,$13,$12,$0A,$3E .db $39,$38,$15,$2A,$43,$14,$24,$33 .db $5D,$26,$37,$3B,$26,$48,$51,$25 .db $29,$01,$08,$6A,$31,$25,$2A,$14 .db $27,$3C,$45,$6C,$D4,$07,$6C,$EC .db $02,$08,$ED,$22,$0E,$03,$41,$60 .db $D0,$1F,$E8,$60,$E2,$36,$30,$44 .db $16,$61,$41,$16,$02,$3D,$31,$9A .db $9F,$60,$D0,$1F,$36,$43,$42,$36 .db $36,$45,$39,$3B,$13,$39,$4C,$13 .db $34,$3F,$4B,$04,$54,$40,$09,$53 .db $02,$09,$04,$41,$02,$E6,$43,$67 .db $66,$AB,$8F,$02,$11,$0F,$A6,$01 .db $0F,$08,$31,$31,$9A,$9F,$27,$4E .db $11,$27,$3D,$93,$71,$ED,$00,$69 .db $DE,$85,$60,$D0,$1F,$04,$03,$30 .db $0D,$52,$0A,$07,$E2,$5A,$02,$51 .db $40,$36,$40,$41,$34,$30,$1D,$38 .db $42,$21,$36,$32,$1D,$38,$34,$25 .db $38,$3A,$23,$38,$4B,$21,$36,$3C .db $1B,$36,$4D,$41,$34,$3E,$1B,$34 .db $4F,$61,$B9,$41,$18,$34,$31,$4D .db $31,$9A,$9F,$39,$3A,$15,$27,$20 .db $03,$27,$22,$00,$60,$D0,$19,$60 .db $D0,$1F,$27,$24,$24,$6B,$D4,$62 .db $2A,$37,$65,$71,$E7,$02,$07,$59 .db $02,$06,$0A,$41,$10,$08,$30,$2D .db $3C,$53,$6D,$DD,$67,$73,$EC,$00 .db $67,$CF,$02,$0D,$0D,$3C,$A5,$22 .db $10,$08,$60,$4F,$25,$44,$27,$03 .db $94,$15,$25,$2C,$13,$31,$9A,$96 .db $60,$D0,$1F,$6D,$E5,$62,$6C,$D6 .db $09,$0C,$05,$3F,$39,$31,$13,$39 .db $42,$19,$36,$2A,$20,$16,$6C,$45 .db $B0,$21,$51,$30,$42,$A6,$32,$49 .db $82,$30,$39,$1D,$34,$4C,$62,$36 .db $4F,$42,$32,$3C,$1D,$34,$3F,$1D .db $60,$D0,$1F,$23,$55,$50,$05,$06 .db $46,$27,$4F,$2D,$28,$40,$1E,$27 .db $20,$03,$26,$3E,$1B,$03,$9A,$43 .db $0E,$93,$14,$6A,$D0,$2F,$6D,$EE .db $20,$0C,$0E,$3E,$26,$4F,$10,$6A .db $DF,$51,$F0,$E0,$10,$6A,$D1,$72 .db $72,$E3,$10,$0F,$00,$3E,$11,$03 .db $3E,$6A,$D4,$9B,$27,$2D,$A4,$60 .db $D0,$1F,$26,$30,$0D,$04,$03,$40 .db $26,$36,$0B,$26,$47,$10,$26,$38 .db $0D,$58,$12,$4D,$36,$32,$1D,$37 .db $29,$02,$37,$2D,$03,$37,$2F,$01 .db $06,$5D,$00,$07,$5E,$00,$08,$5F .db $00,$A1,$20,$88,$60,$D8,$92,$29 .db $2B,$48,$60,$FB,$83,$60,$DF,$D7 .db $60,$F0,$07,$09,$50,$00,$0A,$02 .db $41,$0D,$54,$00,$0E,$55,$00,$0F .db $56,$00,$10,$57,$00,$0A,$E9,$70 .db $13,$9A,$02,$0E,$E8,$00,$32,$48 .db $00,$73,$D0,$08,$32,$39,$05,$73 .db $E9,$02,$37,$20,$03,$37,$22,$02 .db $37,$26,$05,$33,$4E,$46,$33,$3D .db $47,$B3,$25,$14,$16,$65,$10,$35 .db $36,$28,$15,$FC,$21,$10,$01,$30 .db $62,$E7,$B2,$60,$D7,$1C,$01,$07 .db $3F,$11,$57,$00,$10,$58,$01,$B2 .db $41,$57,$32,$30,$57,$0F,$51,$01 .db $0E,$04,$41,$0F,$56,$01,$60,$D4 .db $1F,$32,$29,$23,$16,$69,$15,$0E .db $00,$01,$35,$3E,$28,$B6,$36,$1B .db $36,$47,$20,$36,$38,$1D,$60,$D4 .db $DB,$62,$E3,$B0,$01,$03,$3E,$D8 .db $10,$1F,$60,$D0,$DF,$36,$34,$1B .db $36,$45,$21,$36,$37,$1D,$15,$F8 .db $20,$36,$3D,$1B,$36,$4E,$21,$B4 .db $4B,$30,$34,$3A,$37,$34,$3C,$38 .db $14,$05,$34,$60,$D0,$DF,$36,$30 .db $1D,$AF,$5D,$91,$58,$10,$1F,$60 .db $D0,$D3,$60,$E4,$D2,$60,$D4,$1B .db $75,$60,$11,$16,$04,$86,$01,$04 .db $3F,$E0,$D0,$1F,$0D,$00,$00,$C3 .db $FF DATA_06ACA8: .db $23,$60,$13,$A5,$43,$60,$D0,$8F .db $58,$10,$11,$29,$30,$EE,$08,$00 .db $3F,$09,$F1,$13,$E0,$D0,$8F,$35 .db $20,$20,$35,$42,$53,$35,$36,$55 .db $38,$97,$2D,$37,$3D,$33,$37,$4E .db $31,$11,$58,$02,$B7,$30,$35,$37 .db $35,$33,$37,$46,$38,$37,$3F,$35 .db $13,$52,$01,$13,$09,$34,$60,$D0 .db $8F,$E0,$D0,$8F,$38,$90,$27,$37 .db $38,$33,$37,$49,$36,$29,$3F,$DC .db $08,$0F,$3E,$75,$62,$12,$11,$56 .db $01,$09,$FC,$A4,$03,$02,$00,$C3 .db $FF DATA_06AD09: .db $CA,$A0,$47,$EC,$25,$78,$40,$2A .db $F5,$9C,$21,$74,$6A,$0C,$90,$00 .db $30,$16,$00,$41,$75,$94,$21,$75 .db $8A,$06,$76,$9B,$41,$76,$9F,$41 .db $16,$0D,$64,$73,$7B,$14,$74,$7C .db $23,$F7,$83,$02,$78,$94,$21,$73 .db $96,$71,$72,$85,$02,$11,$06,$19 .db $78,$89,$02,$79,$9A,$11,$17,$0A .db $1A,$72,$9C,$81,$71,$8B,$02,$75 .db $8E,$02,$76,$9F,$41,$F2,$92,$81 .db $71,$81,$02,$78,$83,$02,$79,$94 .db $11,$17,$04,$1C,$75,$87,$02,$76 .db $98,$41,$14,$08,$1B,$73,$8C,$02 .db $74,$9D,$61,$8E,$06,$41,$75,$81 .db $02,$76,$92,$41,$71,$85,$02,$72 .db $96,$81,$77,$87,$02,$78,$98,$21 .db $73,$8B,$02,$74,$9C,$61,$F8,$46 .db $24,$76,$80,$02,$77,$91,$31,$72 .db $83,$02,$73,$94,$71,$15,$98,$09 .db $11,$9A,$04,$91,$90,$04,$11,$96 .db $04,$15,$93,$09,$15,$05,$2B,$61 .db $64,$02,$67,$66,$09,$E7,$60,$0F .db $04,$52,$00,$03,$53,$00,$02,$05 .db $41,$03,$57,$00,$04,$58,$00,$78 .db $80,$09,$79,$93,$11,$79,$97,$11 .db $78,$4A,$22,$72,$9F,$51,$14,$06 .db $31,$71,$8E,$06,$F6,$93,$11,$75 .db $82,$02,$72,$93,$21,$71,$65,$90 .db $31,$26,$64,$78,$4D,$24,$67,$62 .db $0D,$03,$58,$01,$05,$5D,$01,$E7 .db $60,$0A,$05,$51,$01,$03,$57,$01 .db $08,$5C,$02,$14,$00,$34,$0E,$00 .db $41,$16,$0C,$47,$60,$AF,$F0,$70 .db $AF,$70,$0A,$00,$00,$EA,$FF DATA_06AE18: .db $C7,$AC,$47,$EC,$25,$60,$A0,$F1 .db $70,$A0,$71,$78,$40,$2B,$01,$00 .db $01,$94,$59,$02,$14,$53,$02,$F4 .db $40,$62,$78,$4A,$21,$94,$51,$02 .db $14,$58,$02,$78,$45,$20,$78,$4C .db $20,$F8,$43,$20,$76,$49,$42,$12 .db $9D,$02,$12,$0E,$2F,$F8,$49,$25 .db $13,$41,$05,$12,$45,$20,$11,$44 .db $00,$15,$44,$00,$16,$0D,$47,$94 .db $05,$41,$16,$0C,$48,$16,$5B,$10 .db $16,$5D,$10,$15,$5C,$00,$60,$AF .db $F0,$70,$AF,$70,$06,$00,$00,$FB .db $07,$00,$00,$F9,$FF DATA_06AE7D: .db $DF,$60,$13,$E7,$23,$33,$40,$71 .db $60,$D0,$1F,$35,$42,$52,$38,$45 .db $22,$33,$32,$1D,$35,$35,$2D,$38 .db $38,$25,$79,$A9,$1F,$94,$AC,$00 .db $60,$D0,$1F,$79,$A9,$1D,$F9,$87 .db $10,$38,$39,$23,$38,$4A,$22,$38 .db $3D,$25,$16,$FE,$40,$11,$0D,$30 .db $60,$D0,$1F,$94,$F0,$60,$60,$D0 .db $1F,$12,$F2,$80,$30,$34,$A3,$30 .db $45,$A2,$38,$48,$24,$70,$C8,$13 .db $18,$0B,$3D,$16,$0D,$41,$38,$3D .db $25,$79,$AE,$1F,$F9,$BE,$17,$60 .db $E9,$F1,$60,$D0,$19,$01,$09,$3E .db $70,$E9,$20,$60,$FA,$CC,$6D,$DA .db $52,$2A,$2D,$87,$F3,$94,$50,$73 .db $A6,$7F,$68,$6D,$2E,$28,$4C,$11 .db $69,$DD,$10,$60,$F7,$94,$28,$4C .db $00,$22,$3B,$5E,$60,$DC,$16,$01 .db $0B,$3F,$07,$DD,$02,$06,$DE,$00 .db $05,$0E,$18,$E2,$E2,$10,$60,$D3 .db $37,$60,$DB,$07,$61,$EB,$22,$00 .db $0B,$3F,$01,$02,$3E,$73,$A6,$77 .db $79,$AE,$15,$73,$8E,$50,$19,$0E .db $60,$F9,$84,$10,$37,$36,$33,$37 .db $47,$38,$60,$D0,$0F,$B7,$40,$3F .db $10,$F1,$60,$60,$D0,$0F,$10,$F5 .db $60,$13,$20,$00,$13,$03,$31,$F9 .db $AE,$17,$79,$A1,$1C,$37,$30,$35 .db $60,$D0,$0F,$69,$63,$9B,$25,$3A .db $3B,$6A,$DE,$B2,$73,$EE,$20,$12 .db $0E,$3E,$25,$4B,$42,$65,$CE,$10 .db $08,$6E,$10,$27,$2F,$14,$E0,$D0 .db $0F,$6B,$D1,$4F,$70,$E1,$52,$0F .db $01,$3F,$29,$21,$03,$2A,$23,$05 .db $2B,$47,$01,$2A,$29,$02,$29,$2D .db $00,$0A,$6F,$01,$79,$86,$10,$34 .db $49,$67,$34,$38,$63,$15,$E4,$03 .db $12,$56,$02,$11,$0A,$41,$12,$5C .db $02,$D8,$11,$18,$34,$31,$3D,$27 .db $20,$11,$65,$C1,$00,$60,$D0,$0F .db $68,$D1,$74,$25,$42,$2D,$21,$3F .db $3C,$00,$0F,$3E,$68,$D6,$19,$6A .db $E6,$52,$09,$06,$3F,$23,$0D,$11 .db $0A,$FB,$A3,$0A,$FE,$B3,$B8,$3A .db $25,$60,$D0,$9F,$79,$AB,$1F,$0A .db $F1,$A3,$0A,$F4,$B3,$0A,$F8,$A3 .db $76,$6F,$1F,$E0,$D1,$FF,$60,$F0 .db $80,$69,$E0,$60,$09,$00,$3E,$12 .db $09,$34,$10,$FC,$33,$79,$AB,$1E .db $F9,$8A,$10,$70,$E1,$50,$70,$D2 .db $54,$70,$E7,$52,$60,$F1,$F5,$60 .db $D7,$18,$01,$07,$3F,$62,$E7,$D3 .db $0F,$01,$3E,$16,$FC,$41,$33,$3E .db $73,$33,$4F,$76,$B8,$46,$29,$33 .db $36,$4D,$60,$D0,$1F,$36,$07,$21 .db $B4,$59,$40,$58,$10,$1B,$60,$D0 .db $1F,$17,$0A,$46,$11,$F5,$60,$11 .db $FE,$60,$17,$02,$44,$11,$F3,$60 .db $17,$07,$45,$17,$0D,$44,$70,$59 .db $02,$10,$0A,$36,$97,$00,$45,$60 .db $D0,$1F,$38,$3C,$25,$79,$AD,$1F .db $F9,$AD,$1F,$77,$98,$11,$77,$A9 .db $22,$77,$9C,$13,$60,$EA,$F1,$60 .db $D0,$1A,$01,$0A,$3E,$70,$EA,$30 .db $70,$DB,$31,$60,$FB,$F1,$60,$DD .db $AC,$0A,$0D,$3F,$6B,$ED,$82,$EB .db $E9,$60,$70,$DA,$10,$60,$FA,$F0 .db $60,$DB,$18,$62,$EB,$F2,$01,$0B .db $3F,$0A,$09,$3E,$75,$97,$31,$75 .db $A8,$42,$79,$AD,$1F,$75,$9B,$33 .db $F9,$AD,$1F,$71,$9F,$71,$60,$D4 .db $1F,$F1,$A0,$83,$71,$84,$70,$19 .db $04,$60,$70,$68,$13,$60,$D4,$1F .db $79,$AD,$1E,$8E,$01,$41,$60,$D4 .db $1F,$79,$8C,$10,$38,$3E,$23,$58 .db $1F,$20,$E2,$E3,$C0,$01,$03,$3E .db $60,$D4,$EB,$70,$66,$1F,$15,$F7 .db $20,$15,$FD,$20,$E0,$D0,$EA,$60 .db $EB,$E2,$60,$DB,$04,$00,$0B,$3F .db $15,$F3,$20,$B8,$30,$25,$36,$33 .db $43,$36,$44,$42,$36,$37,$45,$37 .db $3A,$33,$37,$4B,$30,$37,$3C,$35 .db $39,$3E,$13,$39,$4F,$10,$17,$0F .db $41,$60,$D0,$0F,$B9,$30,$15,$38 .db $34,$23,$38,$45,$22,$38,$38,$25 .db $14,$06,$31,$38,$3C,$23,$38,$4D .db $2F,$60,$D0,$0F,$F9,$AE,$19,$38 .db $3D,$25,$67,$68,$2B,$60,$D0,$0F .db $06,$CF,$00,$E7,$64,$2F,$06,$C6 .db $00,$60,$D0,$0F,$03,$0D,$41,$79 .db $A8,$1F,$76,$64,$1F,$0A,$F7,$93 .db $0A,$FB,$93,$0A,$FE,$93,$8A,$F0 .db $93,$14,$00,$86,$0A,$F2,$93,$36 .db $34,$05,$77,$E4,$02,$36,$43,$00 .db $77,$D3,$00,$67,$64,$2F,$60,$D0 .db $0F,$06,$C5,$00,$06,$CA,$00,$06 .db $CF,$00,$79,$A8,$19,$F1,$91,$71 .db $71,$A2,$93,$71,$86,$90,$09,$04 .db $16,$60,$D0,$0F,$0A,$05,$16,$0B .db $06,$16,$0C,$07,$16,$0D,$08,$16 .db $0E,$09,$16,$38,$3B,$23,$2F,$5D .db $91,$58,$1C,$13,$E0,$D0,$0F,$0B .db $00,$00,$F7,$0E,$00,$00,$C2,$FF DATA_06B1B5: .db $23,$60,$13,$E5,$43,$60,$D0,$6F .db $38,$40,$29,$27,$30,$F6,$37,$30 .db $0E,$06,$00,$3F,$07,$F1,$43,$36 .db $29,$11,$36,$4A,$43,$34,$2D,$11 .db $34,$4E,$62,$B4,$31,$65,$38,$92 .db $2B,$37,$34,$33,$17,$65,$34,$35 .db $26,$11,$35,$47,$10,$35,$28,$14 .db $37,$3A,$35,$12,$5B,$02,$60,$D0 .db $6F,$37,$3E,$33,$17,$6F,$33,$B3 .db $22,$31,$33,$33,$75,$38,$94,$25 .db $37,$3A,$33,$17,$6B,$33,$35,$2C .db $11,$35,$2D,$14,$37,$3F,$35,$0F .db $55,$03,$60,$D0,$6F,$E0,$D0,$6F .db $38,$90,$26,$37,$37,$33,$37,$48 .db $37,$27,$3F,$FC,$06,$0F,$3E,$0E .db $05,$41,$07,$FA,$C4,$13,$0D,$31 .db $03,$02,$00,$F7,$FF DATA_06B23A: .db $20,$00,$73,$21,$14,$60,$E0,$F1 .db $60,$FE,$F1,$60,$C1,$1D,$01,$01 .db $57,$01,$0E,$58,$23,$0C,$11,$65 .db $B2,$01,$05,$A4,$00,$65,$B5,$01 .db $05,$A7,$00,$65,$B8,$01,$05,$AA .db $00,$65,$BB,$02,$69,$B2,$02,$09 .db $A5,$00,$69,$B6,$01,$09,$A8,$00 .db $69,$B9,$01,$09,$AB,$00,$69,$BC .db $01,$6D,$B2,$01,$0D,$A4,$00,$6D .db $B5,$01,$0D,$A7,$00,$6D,$B8,$01 .db $0D,$AA,$00,$6D,$BB,$02,$71,$B2 .db $02,$11,$A5,$00,$71,$B6,$01,$11 .db $A8,$00,$71,$B9,$01,$11,$AB,$00 .db $71,$BC,$01,$70,$E0,$A1,$70,$FE .db $A1,$75,$B2,$01,$15,$A4,$00,$75 .db $B5,$01,$15,$A7,$00,$75,$B8,$01 .db $15,$AA,$00,$75,$BB,$02,$37,$00 .db $31,$79,$D1,$1D,$19,$01,$59,$19 .db $0E,$5A,$00,$02,$00,$F7,$FF DATA_06B2D1: .db $D3,$80,$22,$91,$06,$70,$C0,$07 .db $71,$D1,$95,$74,$C4,$0A,$75,$D5 .db $58,$78,$C0,$0A,$79,$D1,$18,$78 .db $CC,$03,$79,$DD,$11,$95,$00,$41 .db $78,$C1,$03,$79,$D2,$11,$6F,$55 .db $B0,$72,$C9,$06,$73,$DA,$74,$EF .db $52,$B1,$6F,$59,$90,$79,$C7,$08 .db $7A,$D8,$06,$F6,$51,$42,$12,$51 .db $01,$73,$54,$72,$0F,$54,$01,$71 .db $C7,$07,$72,$D8,$85,$F7,$C0,$04 .db $78,$D1,$22,$15,$51,$02,$73,$C4 .db $05,$74,$D5,$63,$76,$5A,$43,$17 .db $5C,$01,$17,$5F,$01,$F6,$51,$40 .db $14,$06,$41,$76,$59,$43,$17,$5B .db $01,$17,$5F,$01,$F1,$51,$91,$78 .db $C6,$0E,$79,$D7,$1C,$17,$09,$19 .db $14,$0A,$1A,$13,$09,$1B,$14,$08 .db $1C,$14,$E9,$00,$10,$09,$31,$EF .db $58,$B2,$74,$CE,$03,$75,$DF,$51 .db $78,$CC,$03,$79,$DD,$11,$17,$5D .db $01,$F9,$C4,$04,$7A,$D5,$02,$18 .db $55,$02,$6F,$5C,$B0,$70,$CE,$08 .db $71,$DF,$96,$AF,$5C,$90,$10,$0D .db $46,$78,$C4,$0F,$79,$D5,$1D,$F5 .db $54,$51,$19,$F8,$10,$75,$5C,$53 .db $98,$F1,$21,$75,$56,$53,$72,$C9 .db $04,$73,$DA,$72,$70,$CD,$08,$71 .db $DE,$96,$F8,$C6,$0A,$79,$D7,$18 .db $6F,$58,$81,$14,$0B,$30,$70,$CC .db $04,$71,$DD,$62,$F1,$58,$90,$72 .db $CC,$04,$73,$DD,$72,$75,$CE,$09 .db $76,$DF,$47,$92,$A1,$08,$12,$04 .db $2B,$73,$CD,$04,$74,$DE,$62,$0F .db $5E,$02,$F8,$C2,$03,$79,$D3,$11 .db $17,$53,$01,$16,$F8,$40,$78,$CA .db $05,$79,$DB,$13,$F4,$C0,$05,$75 .db $D1,$53,$70,$57,$A3,$79,$CA,$05 .db $7A,$DB,$03,$17,$0B,$41,$72,$5D .db $61,$F5,$52,$53,$73,$5B,$72,$F0 .db $55,$A0,$10,$01,$41,$2F,$5D,$91 .db $78,$CA,$0A,$79,$DB,$18,$F8,$C5 .db $0A,$79,$D6,$18,$0B,$00,$00,$F5 .db $FF DATA_06B422: .db $C5,$60,$13,$A2,$43,$60,$D0,$AF .db $38,$40,$27,$2B,$30,$CE,$0B,$F1 .db $93,$0A,$00,$3F,$38,$38,$25,$79 .db $A9,$1F,$15,$5C,$04,$97,$E2,$00 .db $15,$56,$01,$14,$58,$01,$13,$5A .db $01,$12,$5C,$01,$60,$D0,$AF,$79 .db $A9,$1F,$76,$9B,$20,$76,$AD,$3A .db $F9,$A9,$1F,$60,$D0,$AF,$13,$E0 .db $10,$13,$E4,$10,$76,$98,$22,$12 .db $57,$01,$13,$59,$01,$14,$5B,$01 .db $15,$5D,$01,$E0,$D0,$AF,$15,$E2 .db $20,$14,$55,$04,$12,$EA,$40,$13 .db $5C,$00,$12,$5D,$00,$11,$5E,$00 .db $10,$5F,$00,$79,$A9,$19,$F3,$92 .db $51,$60,$D0,$AF,$73,$A3,$78,$79 .db $AC,$18,$73,$8C,$50,$19,$0C,$60 .db $0F,$50,$00,$0E,$51,$00,$0B,$E4 .db $50,$0E,$E8,$30,$0B,$EB,$50,$11 .db $5D,$01,$12,$5E,$11,$14,$5F,$21 .db $F9,$85,$10,$60,$D0,$AF,$38,$38 .db $23,$38,$49,$24,$0B,$FD,$C3,$36 .db $3D,$1B,$36,$4E,$41,$2B,$3F,$AC .db $0A,$0F,$3E,$36,$0B,$11,$13,$08 .db $41,$05,$02,$00,$F5,$FF DATA_06B4E0: .db $69,$60,$31,$CB,$01,$6D,$C0,$D1 .db $60,$C0,$C9,$60,$CA,$C3,$60,$CE .db $DF,$10,$92,$0D,$17,$92,$0D,$39 .db $A2,$1D,$B9,$A0,$1F,$17,$90,$03 .db $10,$90,$0F,$10,$01,$2B,$60,$CE .db $DD,$17,$95,$0A,$90,$90,$0B,$17 .db $91,$09,$17,$9C,$03,$39,$A0,$1F .db $10,$01,$2B,$6A,$CC,$63,$60,$CC .db $93,$E0,$C0,$D3,$60,$C4,$F3,$60 .db $C8,$D3,$60,$CC,$F3,$70,$C4,$23 .db $70,$CC,$13,$13,$0A,$31,$17,$90 .db $0F,$39,$A0,$1F,$B7,$30,$33,$37 .db $41,$31,$37,$33,$35,$39,$84,$1B .db $60,$C0,$CC,$60,$CD,$BB,$0F,$9F .db $00,$12,$9B,$00,$13,$97,$00,$11 .db $94,$00,$B9,$80,$1F,$15,$92,$00 .db $13,$94,$01,$0F,$94,$00,$15,$9C .db $01,$60,$C9,$C6,$E0,$C0,$B8,$60 .db $C9,$D8,$10,$91,$00,$12,$53,$20 .db $12,$57,$20,$12,$05,$47,$14,$54 .db $02,$39,$80,$16,$38,$37,$23,$38 .db $48,$22,$38,$3B,$25,$39,$AC,$1B .db $38,$3E,$23,$38,$4F,$20,$B8,$30 .db $25,$38,$33,$23,$38,$34,$25,$38 .db $49,$20,$38,$38,$23,$38,$3A,$25 .db $39,$AB,$11,$38,$3D,$23,$38,$4E .db $22,$10,$9B,$07,$60,$CB,$D4,$60 .db $C2,$D8,$6E,$C2,$28,$B8,$31,$25 .db $39,$A2,$1A,$38,$36,$23,$38,$47 .db $20,$38,$38,$25,$38,$3D,$23,$38 .db $4E,$23,$6A,$C0,$35,$6A,$C6,$11 .db $6A,$C8,$13,$6C,$CA,$11,$6C,$C6 .db $13,$6A,$CC,$32,$6A,$CF,$34,$6E .db $CE,$21,$10,$93,$0A,$EA,$C4,$35 .db $6A,$CA,$12,$6C,$CA,$12,$6A,$CD .db $32,$6E,$CE,$11,$36,$31,$1B,$36 .db $42,$41,$34,$33,$1B,$34,$44,$61 .db $32,$35,$1B,$32,$46,$81,$30,$37 .db $1B,$30,$48,$A7,$0E,$0C,$47,$06 .db $00,$00,$F4,$09,$00,$00,$F3,$FF DATA_06B620: .db $61,$60,$31,$8B,$01,$6A,$C0,$32 .db $6E,$C0,$15,$70,$C0,$42,$34,$57 .db $40,$17,$08,$46,$58,$10,$1F,$6A .db $C3,$34,$6A,$C8,$32,$6A,$CB,$52 .db $6A,$CE,$32,$6E,$CE,$14,$70,$CE .db $42,$EA,$C1,$33,$6A,$C5,$24,$6A .db $CA,$35,$6E,$CC,$11,$6E,$CE,$41 .db $73,$CE,$41,$16,$0C,$47,$14,$07 .db $2B,$01,$00,$00,$F3,$FF DATA_06B666: .db $6B,$62,$31,$8B,$41,$60,$C0,$FF .db $73,$C0,$7F,$E0,$C0,$FA,$38,$A0 .db $2F,$60,$CB,$94,$E0,$C0,$9F,$74 .db $C0,$66,$38,$A7,$21,$76,$C9,$46 .db $B8,$A0,$2F,$76,$C3,$46,$60,$C0 .db $9C,$B8,$A0,$2B,$77,$CC,$32,$73 .db $CC,$32,$73,$CF,$73,$60,$C8,$93 .db $60,$CC,$E6,$B8,$A3,$2F,$75,$CB .db $52,$75,$CE,$51,$71,$CB,$34,$6B .db $C3,$26,$60,$C3,$A6,$60,$CA,$58 .db $66,$CA,$78,$F5,$C3,$33,$79,$C3 .db $17,$77,$CB,$32,$75,$C9,$14,$38 .db $AE,$21,$6E,$CE,$22,$60,$CE,$D2 .db $E0,$C1,$84,$69,$C1,$74,$60,$C6 .db $C5,$60,$CC,$C3,$74,$CF,$68,$38 .db $A0,$2E,$B8,$A8,$28,$76,$CB,$42 .db $76,$CE,$41,$65,$C5,$75,$65,$C0 .db $74,$60,$C0,$4A,$60,$CB,$94,$6A .db $CB,$22,$6D,$CB,$42,$6A,$CE,$71 .db $B8,$A1,$2F,$78,$C6,$25,$75,$C6 .db $23,$70,$C6,$43,$70,$CA,$71,$68 .db $C9,$32,$60,$C9,$72,$60,$C6,$42 .db $65,$C6,$62,$B8,$A1,$2F,$76,$C2 .db $41,$76,$C4,$43,$6D,$C2,$45,$60 .db $C6,$C1,$60,$C2,$C3,$60,$CE,$A8 .db $E0,$C7,$A8,$70,$C1,$22,$73,$C1 .db $24,$76,$C1,$46,$78,$C8,$27,$6B .db $CE,$C1,$14,$09,$87,$15,$0B,$90 .db $0B,$00,$00,$F2,$FF DATA_06B74B: .db $6B,$62,$31,$8B,$41,$F6,$C2,$45 .db $76,$C8,$45,$74,$C5,$16,$70,$C7 .db $32,$EA,$C9,$56,$60,$C9,$96,$E0 .db $CD,$5A,$66,$CD,$A4,$74,$CD,$26 .db $77,$CD,$36,$F4,$C4,$64,$66,$C2 .db $45,$6B,$C6,$31,$6F,$C4,$13,$EE .db $C5,$31,$6E,$C7,$31,$72,$C5,$43 .db $77,$C5,$33,$EC,$C3,$23,$6C,$C7 .db $61,$64,$C3,$75,$60,$C3,$35,$60 .db $C9,$74,$68,$C9,$64,$71,$CE,$53 .db $77,$CE,$33,$F4,$C2,$43,$79,$C2 .db $16,$76,$C6,$22,$77,$C9,$32,$09 .db $00,$01,$68,$C0,$32,$68,$C3,$32 .db $60,$C0,$75,$70,$C0,$35,$74,$C0 .db $62,$74,$C3,$62,$67,$CC,$45,$60 .db $CC,$65,$70,$CC,$63,$77,$CC,$33 .db $F0,$C0,$A1,$6B,$C4,$21,$68,$C8 .db $33,$68,$CC,$31,$64,$C8,$35,$60 .db $C8,$35,$70,$C8,$42,$75,$C8,$32 .db $79,$C8,$12,$77,$CB,$32,$70,$CB .db $62,$FF DATA_06B7ED: .db $60,$60,$ED,$CB,$01,$39,$A1,$1D .db $6B,$C0,$14,$6B,$C5,$1A,$0D,$D0 .db $D0,$0D,$DF,$D0,$73,$41,$31,$74 .db $43,$21,$74,$45,$21,$73,$47,$31 .db $72,$49,$41,$73,$4B,$31,$74,$4D .db $21,$FF DATA_06B817: .db $C6,$6A,$12,$92,$13,$60,$D0,$4F .db $20,$35,$A6,$00,$04,$3F,$27,$3D .db $23,$28,$4D,$27,$0A,$0B,$86,$78 .db $F0,$F7,$70,$D0,$47,$30,$4D,$27 .db $38,$35,$7C,$18,$04,$3E,$36,$0B .db $11,$E7,$E0,$B0,$68,$D0,$27,$68 .db $E3,$82,$08,$02,$3F,$60,$E0,$F2 .db $2E,$3E,$03,$2F,$4E,$00,$6F,$DF .db $00,$6E,$EF,$00,$30,$4E,$00,$31 .db $3E,$05,$70,$DF,$00,$71,$EF,$02 .db $70,$D0,$2F,$7F,$E3,$C1,$1F,$02 .db $3E,$1B,$09,$41,$10,$04,$41,$A0 .db $00,$22,$20,$4D,$0F,$60,$DE,$0F .db $20,$32,$D5,$00,$0D,$3D,$00,$0E .db $3F,$21,$44,$83,$29,$41,$81,$28 .db $31,$87,$2B,$31,$88,$25,$34,$88 .db $25,$47,$53,$24,$37,$57,$29,$37 .db $58,$29,$4A,$23,$28,$3A,$27,$2D .db $3A,$28,$30,$3D,$05,$70,$EE,$02 .db $73,$6D,$1C,$7F,$E0,$F1,$37,$45 .db $77,$36,$35,$77,$1F,$0D,$3C,$1F .db $0E,$3E,$A1,$01,$31,$60,$63,$13 .db $20,$30,$2E,$20,$35,$A6,$00,$04 .db $3F,$63,$4D,$01,$2E,$4A,$51,$2D .db $3A,$57,$2F,$3D,$27,$31,$47,$81 .db $30,$37,$27,$33,$37,$58,$30,$4A .db $50,$31,$3A,$28,$30,$4D,$24,$35 .db $3D,$28,$78,$69,$14,$19,$A5,$01 .db $1B,$05,$31,$7F,$E0,$F1,$A0,$4F .db $0A,$20,$30,$EE,$26,$30,$EB,$27 .db $30,$ED,$05,$0D,$41,$2B,$3F,$05 .db $2B,$30,$03,$2C,$40,$03,$6C,$D1 .db $03,$6B,$E1,$00,$30,$40,$05,$70 .db $D1,$05,$75,$6B,$14,$75,$E2,$91 .db $36,$30,$AD,$15,$01,$3E,$79,$60 .db $16,$7F,$E2,$D1,$1F,$01,$3E,$1F .db $00,$3C,$18,$07,$2B,$1D,$04,$41 .db $11,$09,$34,$31,$3D,$27,$32,$3D .db $28,$EB,$E0,$12,$60,$D0,$1A,$60 .db $E1,$E3,$00,$01,$3F,$03,$A9,$00 .db $04,$09,$31,$23,$3E,$17,$24,$3E .db $18,$2F,$34,$93,$6F,$EE,$00,$31 .db $30,$00,$32,$30,$01,$31,$41,$21 .db $30,$31,$27,$33,$31,$28,$70,$64 .db $14,$70,$E5,$92,$30,$44,$00,$10 .db $05,$3F,$34,$4A,$51,$33,$3A,$57 .db $36,$3A,$58,$15,$08,$41,$7F,$E0 .db $50,$3F,$38,$73,$38,$06,$07,$1A .db $92,$02,$1B,$02,$2B,$1A,$5F,$02 .db $A0,$4D,$2F,$20,$30,$CE,$23,$30 .db $00,$24,$30,$01,$23,$41,$21,$22 .db $31,$27,$25,$31,$28,$21,$44,$84 .db $26,$34,$88,$6A,$62,$12,$2C,$4A .db $23,$2B,$3A,$27,$2F,$34,$57,$26 .db $4B,$15,$25,$3B,$17,$2C,$3B,$18 .db $14,$60,$91,$33,$30,$90,$36,$30 .db $91,$30,$44,$53,$34,$34,$58,$34 .db $47,$52,$33,$37,$57,$37,$37,$58 .db $30,$4D,$2F,$3F,$30,$CC,$30,$4A .db $23,$34,$3A,$28,$3A,$43,$94,$39 .db $33,$97,$00,$00,$00,$F1,$02,$00 .db $00,$F0,$03,$00,$00,$F0,$FF DATA_06BA06: .db $C2,$60,$13,$A2,$03,$20,$35,$F6 .db $38,$45,$2A,$30,$35,$7E,$00,$60 .db $F4,$10,$60,$A4,$36,$06,$22,$36 .db $3D,$17,$36,$4E,$16,$AF,$5D,$91 .db $58,$10,$1F,$31,$24,$41,$31,$45 .db $62,$31,$38,$68,$FF DATA_06BA33: .db $C2,$60,$13,$A2,$03,$20,$33,$F6 .db $38,$43,$27,$30,$33,$7E,$00,$60 .db $F2,$10,$60,$A2,$33,$3A,$4B,$33 .db $4B,$79,$36,$08,$01,$32,$2C,$01 .db $32,$4D,$11,$32,$2F,$04,$B0,$24 .db $21,$30,$45,$A2,$2F,$5D,$91,$58 .db $18,$17,$30,$38,$7D,$FF DATA_06BA69: .db $13,$C0,$00,$86,$20,$58,$10,$10 .db $77,$F3,$03,$B8,$31,$25,$36,$34 .db $43,$36,$45,$45,$58,$1B,$17,$36 .db $2B,$13,$75,$F5,$03,$13,$07,$36 .db $11,$59,$01,$2A,$71,$1F,$05,$54 .db $02,$05,$59,$02,$05,$5E,$02,$B7 .db $22,$01,$37,$43,$13,$36,$26,$01 .db $36,$47,$23,$36,$2B,$14,$17,$0F .db $87,$12,$54,$00,$2A,$76,$17,$06 .db $51,$00,$05,$52,$01,$06,$0A,$41 .db $B7,$21,$00,$37,$43,$33,$36,$25 .db $00,$36,$47,$43,$35,$29,$00,$35 .db $4B,$53,$37,$4F,$36,$10,$0E,$41 .db $11,$5A,$00,$12,$56,$00,$35,$2F .db $13,$B9,$46,$1A,$37,$26,$13,$78 .db $FB,$02,$14,$5B,$02,$B7,$20,$11 .db $37,$41,$32,$58,$14,$2B,$37,$24 .db $04,$36,$29,$11,$36,$4A,$23,$37 .db $4E,$15,$36,$2E,$04,$B5,$23,$11 .db $35,$44,$33,$35,$28,$24,$11,$06 .db $30,$B5,$20,$21,$35,$41,$33,$35 .db $25,$24,$33,$2F,$41,$B3,$30,$75 .db $16,$F3,$40,$38,$35,$23,$16,$FB .db $10,$13,$08,$41,$38,$46,$29,$B2 .db $58,$60,$13,$09,$46,$58,$10,$49 .db $14,$57,$00,$14,$5B,$00,$F2,$A4 .db $13,$30,$47,$83,$30,$36,$7B,$30 .db $2B,$74,$95,$F6,$20,$10,$85,$03 .db $12,$92,$01,$10,$07,$23,$F0,$92 .db $70,$32,$46,$62,$32,$35,$5B,$32 .db $29,$53,$B8,$3A,$25,$17,$EC,$00 .db $14,$0C,$41,$12,$0C,$34,$38,$3E .db $23,$58,$1F,$19,$B6,$24,$11,$36 .db $45,$20,$36,$36,$1D,$12,$96,$03 .db $12,$07,$2F,$B6,$31,$1B,$36,$42 .db $20,$36,$23,$14,$38,$39,$25,$38 .db $3E,$23,$38,$4F,$20,$13,$5A,$03 .db $B8,$40,$2A,$38,$3B,$25,$70,$9E .db $70,$B8,$30,$23,$58,$11,$16,$15 .db $F2,$21,$33,$F0,$40,$32,$F1,$50 .db $13,$A8,$05,$30,$3F,$7B,$B0,$40 .db $81,$30,$32,$7D,$16,$04,$86,$38 .db $38,$25,$38,$3C,$23,$2F,$5D,$91 .db $58,$1D,$12,$11,$00,$00,$D8,$FF DATA_06BBC9: .db $C4,$60,$10,$A2,$43,$38,$40,$24 .db $38,$35,$25,$28,$30,$FE,$20,$30 .db $76,$05,$F1,$F4,$13,$06,$41,$60 .db $D4,$DB,$60,$E3,$D0,$79,$A6,$19 .db $17,$58,$07,$13,$EA,$15,$93,$E4 .db $15,$13,$EE,$15,$17,$50,$0F,$79 .db $A0,$1F,$60,$D0,$DF,$F9,$A0,$1F .db $17,$50,$0F,$13,$E8,$15,$60,$D0 .db $DF,$93,$E2,$15,$79,$A0,$19,$17 .db $50,$09,$38,$3A,$23,$38,$4B,$2A .db $60,$D0,$DF,$E0,$D0,$D5,$0E,$F1 .db $63,$2E,$35,$9C,$0D,$05,$3E,$60 .db $F6,$F9,$70,$F6,$A9,$00,$02,$00 .db $D8,$FF DATA_06BC33: .db $0F,$40,$A4,$99,$08,$75,$C0,$0D .db $76,$D1,$4B,$91,$52,$02,$11,$5E .db $02,$F0,$C5,$04,$71,$D6,$92,$0D .db $07,$31,$0E,$0D,$41,$76,$C7,$0A .db $77,$D8,$38,$95,$56,$01,$10,$5C .db $01,$95,$52,$01,$10,$58,$01,$F6 .db $C0,$0F,$77,$D1,$3D,$13,$55,$01 .db $12,$08,$41,$13,$5A,$01,$91,$55 .db $02,$0E,$0E,$31,$91,$55,$02,$75 .db $CD,$09,$76,$DE,$47,$09,$00,$01 .db $2F,$58,$40,$11,$09,$46,$F0,$C4 .db $03,$71,$D5,$91,$0D,$55,$01,$0E .db $0C,$41,$F0,$C1,$03,$71,$D2,$91 .db $0D,$52,$01,$12,$5A,$26,$10,$5E .db $60,$11,$5F,$40,$93,$51,$00,$12 .db $56,$26,$10,$5A,$60,$11,$5B,$40 .db $13,$5D,$00,$92,$52,$26,$10,$56 .db $60,$11,$57,$40,$13,$59,$00,$12 .db $5E,$26,$90,$52,$60,$11,$53,$40 .db $13,$55,$00,$12,$59,$26,$10,$5D .db $60,$11,$5E,$40,$F6,$C2,$0D,$77 .db $D3,$3B,$34,$0A,$15,$13,$50,$00 .db $12,$05,$41,$14,$03,$86,$0F,$00 .db $00,$CB,$FF DATA_06BCEE: .db $01,$40,$24,$99,$08,$31,$00,$21 .db $73,$C0,$06,$74,$D1,$64,$2F,$5D .db $91,$0E,$03,$41,$78,$C6,$0A,$79 .db $D7,$18,$F8,$C1,$0E,$79,$D2,$1C .db $FF DATA_06BD0F: .db $27,$40,$31,$8A,$01,$6A,$C0,$86 .db $73,$C0,$73,$78,$C4,$25,$6A,$C7 .db $55,$10,$F8,$43,$6A,$CD,$82,$78 .db $CA,$2F,$F8,$CA,$2F,$6A,$C0,$4A .db $6A,$CB,$2A,$13,$D4,$00,$75,$CE .db $25,$F2,$C0,$22,$11,$D1,$00,$6A .db $C6,$3C,$73,$C8,$27,$76,$E9,$05 .db $78,$CA,$2F,$8E,$D0,$00,$6A,$C3 .db $35,$6A,$C9,$4F,$73,$C7,$11,$73 .db $C0,$16,$72,$C9,$33,$74,$CD,$17 .db $76,$CA,$44,$76,$CF,$48,$73,$ED .db $17,$36,$08,$11,$F2,$C5,$31,$6A .db $C9,$4A,$78,$C8,$2C,$13,$0E,$31 .db $EA,$C4,$75,$6A,$CA,$59,$76,$C5 .db $43,$78,$C9,$2F,$70,$EA,$02,$70 .db $EE,$05,$EA,$C4,$5F,$70,$E6,$04 .db $70,$EC,$01,$70,$EF,$03,$78,$C9 .db $2A,$EA,$C4,$73,$6A,$C8,$37,$6E .db $CE,$21,$71,$CE,$91,$76,$C4,$46 .db $74,$CB,$62,$12,$FC,$11,$03,$00 .db $00,$E1,$07,$00,$00,$E0,$FF DATA_06BDB6: .db $27,$40,$31,$8A,$11,$6A,$C0,$A7 .db $75,$C0,$25,$0A,$F8,$A3,$6A,$CA .db $A9,$58,$10,$26,$60,$C8,$9B,$E0 .db $C4,$B4,$6C,$C7,$11,$6C,$C4,$82 .db $65,$C9,$A1,$6B,$CE,$24,$6E,$CE .db $17,$60,$C9,$4D,$B9,$47,$13,$38 .db $37,$0D,$38,$3A,$0B,$58,$1B,$28 .db $60,$C7,$4F,$05,$DF,$00,$6A,$CA .db $5C,$6A,$C3,$32,$13,$02,$31,$6A .db $C6,$51,$6A,$C8,$31,$37,$3C,$0B .db $37,$4D,$10,$36,$4E,$20,$35,$4F .db $30,$36,$3D,$0B,$35,$3E,$0B,$34 .db $3F,$0B,$B4,$40,$40,$33,$30,$0B .db $33,$41,$5B,$13,$D6,$00,$33,$3D .db $4D,$6A,$C7,$56,$6A,$CE,$3F,$60 .db $C7,$4F,$09,$53,$03,$05,$DA,$00 .db $09,$5E,$03,$85,$D5,$00,$60,$C7 .db $4F,$09,$59,$03,$0E,$F8,$63,$6A .db $CE,$3A,$35,$30,$2B,$35,$41,$33 .db $35,$35,$2D,$B7,$33,$0B,$37,$44 .db $3C,$35,$36,$1B,$35,$47,$27,$33 .db $38,$1B,$33,$49,$23,$33,$3D,$1D .db $35,$3F,$1D,$6E,$C2,$11,$6E,$C6 .db $11,$05,$D0,$00,$60,$C7,$45,$60 .db $CD,$DC,$E7,$CA,$87,$10,$D4,$00 .db $0F,$04,$1B,$10,$03,$1C,$11,$04 .db $19,$10,$05,$1A,$16,$D7,$00,$39 .db $41,$1B,$37,$31,$1D,$34,$3C,$4B .db $34,$4D,$62,$B4,$40,$6F,$67,$C2 .db $8B,$67,$CE,$C1,$11,$0B,$90,$11 .db $08,$8E,$07,$00,$00,$DF,$FF DATA_06BEAD: .db $15,$00,$22,$91,$08,$77,$20,$0F .db $14,$0C,$31,$97,$01,$55,$78,$82 .db $0D,$14,$09,$55,$75,$8A,$05,$11 .db $5E,$01,$F5,$80,$0E,$78,$80,$0E .db $11,$05,$55,$72,$86,$08,$13,$5C .db $01,$72,$AF,$03,$75,$AF,$03,$78 .db $AF,$03,$F3,$80,$01,$12,$02,$54 .db $71,$92,$01,$10,$03,$51,$70,$84 .db $00,$10,$05,$52,$71,$95,$11,$13 .db $06,$53,$74,$87,$02,$13,$0A,$54 .db $71,$9B,$10,$10,$0B,$51,$70,$8C .db $00,$10,$0D,$52,$71,$9D,$11,$13 .db $0E,$53,$74,$8F,$02,$0F,$57,$02 .db $76,$80,$0F,$79,$80,$0F,$F6,$80 .db $04,$79,$80,$0F,$71,$A4,$21,$71 .db $85,$06,$70,$AC,$01,$70,$8D,$04 .db $15,$05,$54,$74,$95,$01,$13,$06 .db $51,$73,$87,$02,$13,$0A,$52,$74 .db $9A,$01,$15,$0B,$53,$76,$8C,$01 .db $15,$0E,$54,$74,$9E,$01,$13,$0F .db $51,$14,$08,$41,$93,$00,$52,$74 .db $90,$01,$15,$01,$53,$76,$82,$08 .db $79,$80,$0F,$15,$0B,$54,$74,$9B .db $01,$13,$0C,$51,$13,$0D,$52,$74 .db $9D,$01,$15,$0E,$53,$76,$8F,$02 .db $10,$02,$52,$71,$92,$01,$12,$03 .db $53,$73,$84,$04,$12,$09,$54,$70 .db $99,$11,$0F,$0A,$51,$6F,$8B,$00 .db $0F,$0C,$52,$70,$9C,$01,$11,$0D .db $53,$72,$8E,$03,$0E,$06,$31,$8E .db $00,$41,$13,$50,$00,$79,$80,$0A .db $18,$0B,$54,$77,$9B,$01,$16,$0C .db $51,$16,$0D,$52,$77,$9D,$01,$18 .db $0E,$53,$18,$0F,$54,$77,$9F,$01 .db $74,$A3,$11,$74,$84,$05,$73,$AA .db $01,$73,$8B,$05,$70,$A3,$11,$70 .db $84,$09,$6F,$AE,$01,$6F,$8F,$0C .db $16,$57,$03,$96,$00,$51,$16,$01 .db $52,$77,$91,$01,$18,$02,$53,$18 .db $03,$54,$77,$93,$01,$16,$04,$51 .db $16,$05,$52,$77,$95,$01,$18,$06 .db $53,$18,$07,$54,$77,$97,$01,$16 .db $08,$51,$16,$09,$52,$77,$99,$01 .db $18,$0A,$53,$18,$0B,$54,$77,$9B .db $01,$16,$0C,$51,$16,$0D,$52,$77 .db $9D,$01,$18,$0E,$53,$79,$8F,$04 .db $73,$A1,$03,$72,$A3,$11,$72,$A4 .db $13,$72,$A7,$11,$72,$A8,$13,$73 .db $AA,$01,$73,$8B,$04,$6F,$AC,$03 .db $70,$8D,$0F,$F0,$8D,$0A,$13,$00 .db $52,$74,$90,$01,$15,$01,$53,$15 .db $02,$54,$74,$92,$01,$13,$03,$51 .db $73,$84,$04,$13,$09,$52,$74,$99 .db $11,$16,$0A,$53,$77,$8B,$00,$16 .db $0C,$54,$74,$9C,$11,$13,$0D,$51 .db $73,$8E,$03,$18,$04,$54,$77,$94 .db $01,$16,$05,$51,$76,$86,$00,$16 .db $07,$52,$77,$97,$01,$16,$03,$41 .db $77,$2F,$0F,$F7,$2F,$06,$0F,$08 .db $54,$2E,$5C,$40,$10,$0D,$46,$8F .db $03,$55,$0F,$0E,$55,$70,$84,$09 .db $14,$01,$35,$75,$2B,$04,$F8,$24 .db $06,$15,$06,$31,$10,$08,$55,$71 .db $89,$09,$12,$0C,$41,$18,$FD,$21 .db $90,$03,$55,$73,$21,$03,$78,$2A .db $05,$11,$0C,$55,$72,$8D,$03,$91 .db $01,$55,$78,$20,$0E,$0F,$01,$55 .db $70,$82,$04,$0F,$07,$55,$70,$88 .db $04,$0F,$0D,$55,$11,$57,$10,$11 .db $5E,$10,$92,$54,$01,$16,$F1,$40 .db $77,$26,$03,$78,$2D,$06,$8F,$00 .db $55,$12,$08,$56,$17,$08,$56,$73 .db $99,$30,$13,$5A,$03,$15,$0E,$56 .db $76,$9F,$20,$19,$0E,$56,$70,$81 .db $0E,$0C,$06,$55,$6D,$87,$03,$0C .db $0B,$55,$F0,$80,$0F,$12,$03,$55 .db $73,$84,$02,$12,$07,$55,$11,$0B .db $41,$18,$51,$03,$18,$08,$55,$79 .db $89,$02,$18,$0C,$55,$11,$0F,$56 .db $72,$9F,$41,$17,$0F,$56,$F0,$80 .db $0D,$6F,$AE,$00,$15,$51,$02,$13 .db $04,$56,$74,$95,$50,$1A,$04,$56 .db $13,$09,$55,$74,$8A,$02,$13,$0D .db $55,$16,$5A,$02,$19,$09,$55,$7A .db $8A,$02,$19,$0D,$55,$F4,$C0,$03 .db $75,$D1,$31,$79,$C0,$05,$7A,$D1 .db $03,$6F,$80,$07,$0F,$08,$52,$70 .db $98,$01,$2D,$5D,$91,$76,$CC,$05 .db $77,$DD,$33,$F6,$C2,$0D,$77,$D3 .db $3B,$14,$02,$86,$14,$0B,$86,$AF .db $5D,$91,$78,$CB,$06,$73,$C5,$04 .db $74,$D6,$62,$12,$07,$18,$79,$DC .db $14,$F8,$C2,$0D,$79,$D3,$1B,$0B .db $00,$00,$BF,$FF DATA_06C199: .db $03,$00,$22,$91,$48,$00,$F1,$F3 .db $0E,$F1,$63,$78,$C0,$0B,$79,$D1 .db $19,$75,$CD,$05,$76,$DE,$43,$03 .db $00,$01,$76,$CA,$05,$77,$DB,$33 .db $00,$FC,$F4,$0E,$FC,$44,$03,$02 .db $00,$BF,$FF DATA_06C1C4: .db $14,$40,$05,$80,$20,$58,$10,$15 .db $77,$F3,$03,$17,$6C,$04,$35,$2C .db $04,$35,$3C,$27,$B8,$36,$25,$32 .db $20,$31,$32,$41,$52,$32,$34,$58 .db $13,$57,$02,$38,$3A,$23,$38,$4B .db $2D,$77,$FE,$02,$13,$AC,$08,$8F .db $00,$31,$38,$39,$25,$77,$F5,$03 .db $38,$3D,$23,$58,$1E,$36,$F3,$B6 .db $12,$70,$AB,$42,$71,$AE,$32,$0D .db $0D,$41,$8E,$50,$00,$0F,$53,$00 .db $72,$A1,$22,$73,$A4,$12,$32,$37 .db $5B,$32,$48,$61,$2F,$39,$2B,$2F .db $4A,$92,$2F,$3D,$8D,$30,$4E,$36 .db $B2,$42,$34,$32,$37,$38,$04,$00 .db $01,$34,$4E,$36,$B2,$31,$17,$36 .db $42,$1D,$36,$31,$17,$34,$35,$18 .db $30,$35,$18,$15,$D8,$01,$06,$F8 .db $E0,$27,$7D,$1F,$B6,$30,$18,$77 .db $F2,$02,$38,$35,$25,$78,$86,$01 .db $13,$58,$02,$38,$3B,$23,$38,$4C .db $2D,$32,$4F,$54,$32,$3E,$57,$06 .db $0A,$19,$27,$7D,$1F,$86,$01,$1A .db $06,$08,$1B,$27,$7D,$1E,$06,$0F .db $1C,$32,$34,$58,$15,$F6,$20,$38 .db $3A,$25,$37,$3E,$33,$37,$4F,$30 .db $D8,$10,$41,$10,$81,$0D,$11,$05 .db $41,$37,$30,$0D,$77,$FA,$03,$F7 .db $F3,$03,$16,$F9,$10,$2A,$4F,$DC .db $2A,$3E,$D7,$2E,$5A,$50,$11,$0B .db $46,$AA,$3C,$D8,$07,$04,$2B,$94 .db $90,$03,$14,$02,$2B,$04,$E2,$00 .db $07,$04,$41,$77,$F5,$04,$15,$FB .db $21,$94,$83,$02,$38,$32,$25,$78 .db $83,$02,$38,$36,$23,$58,$17,$18 .db $14,$04,$36,$35,$4C,$23,$35,$3B .db $27,$B5,$30,$28,$31,$43,$61,$31 .db $32,$67,$31,$35,$68,$0E,$04,$41 .db $35,$49,$23,$35,$38,$27,$35,$3D .db $28,$37,$3F,$0B,$B7,$40,$35,$37 .db $36,$35,$13,$00,$83,$15,$02,$1E .db $38,$3B,$23,$58,$1C,$13,$14,$0D .db $83,$16,$0F,$1E,$97,$08,$40,$77 .db $FA,$03,$B8,$40,$2E,$38,$3F,$25 .db $14,$F4,$30,$16,$F6,$10,$14,$F8 .db $30,$77,$FB,$03,$93,$01,$41,$18 .db $00,$87,$18,$01,$87,$18,$02,$87 .db $18,$03,$87,$38,$34,$23,$38,$35 .db $25,$78,$86,$03,$38,$3A,$23,$58 .db $1B,$14,$10,$AB,$0A,$14,$AC,$09 .db $14,$0E,$31,$F7,$F1,$03,$77,$F9 .db $02,$34,$36,$3B,$34,$47,$40,$34 .db $38,$3D,$96,$02,$86,$14,$06,$2D .db $11,$F7,$60,$2F,$5D,$91,$58,$10 .db $1F,$F7,$F1,$05,$0B,$00,$00,$C1 .db $FF DATA_06C375: .db $C3,$40,$A4,$99,$48,$00,$F3,$F4 .db $0E,$F3,$44,$76,$C0,$08,$77,$D1 .db $36,$14,$5A,$01,$15,$5F,$01,$94 .db $54,$01,$15,$59,$01,$14,$5E,$01 .db $95,$53,$01,$14,$58,$01,$80,$F1 .db $43,$00,$02,$00,$C1,$FF DATA_06C3A3: .db $05,$61,$31,$8B,$21,$71,$C0,$18 .db $71,$C9,$15,$71,$CF,$11,$75,$C0 .db $1B,$75,$CC,$15,$F1,$C1,$14,$71 .db $C6,$16,$75,$C2,$16,$75,$C9,$31 .db $79,$C9,$17,$71,$CD,$51,$75,$CF .db $12,$EE,$C2,$81,$79,$C1,$16,$71 .db $C6,$71,$18,$D5,$00,$14,$D4,$00 .db $6C,$C2,$14,$6C,$C7,$12,$6C,$CA .db $61,$71,$CC,$14,$75,$C8,$14,$75 .db $CD,$11,$75,$CF,$12,$F6,$C2,$18 .db $75,$CB,$14,$17,$D6,$00,$70,$C1 .db $12,$71,$C4,$14,$70,$C9,$12,$71 .db $CC,$1A,$10,$D2,$00,$10,$DA,$00 .db $91,$D2,$00,$75,$C0,$12,$75,$C3 .db $11,$75,$C5,$12,$71,$C9,$19,$75 .db $C8,$1A,$16,$D1,$00,$13,$0E,$47 .db $F3,$C1,$11,$71,$C3,$51,$70,$C5 .db $11,$76,$C5,$11,$72,$C5,$31,$6E .db $C7,$11,$70,$C7,$21,$73,$C7,$21 .db $76,$C7,$31,$79,$C9,$11,$75,$C9 .db $31,$71,$C9,$31,$6D,$C9,$31,$6B .db $C9,$11,$68,$CB,$12,$6A,$CB,$32 .db $6E,$CB,$42,$73,$CB,$42,$78,$CB .db $22,$70,$CE,$A1,$60,$CE,$F1,$06 .db $FC,$11,$04,$00,$00,$DC,$05,$00 .db $00,$DA,$FF DATA_06C46E: .db $05,$61,$31,$8B,$21,$00,$00,$01 .db $73,$50,$0E,$F5,$5B,$10,$77,$5D .db $04,$ED,$54,$40,$6D,$56,$11,$71 .db $58,$10,$73,$5A,$0F,$F2,$51,$15 .db $F3,$5A,$03,$71,$C7,$11,$FF DATA_06C495: .db $6A,$62,$31,$8B,$01,$62,$C0,$F6 .db $72,$C0,$52,$58,$10,$49,$16,$04 .db $47,$03,$00,$01,$B8,$3A,$25,$39 .db $AB,$12,$38,$3E,$23,$38,$4F,$20 .db $B8,$30,$25,$39,$A1,$12,$38,$34 .db $23,$38,$45,$20,$38,$36,$25,$39 .db $A7,$12,$38,$3A,$23,$38,$4B,$20 .db $38,$3C,$25,$39,$AD,$12,$D8,$11 .db $17,$38,$30,$23,$17,$D2,$00,$17 .db $DB,$00,$94,$03,$24,$39,$AA,$12 .db $38,$39,$25,$38,$4E,$23,$38,$3D .db $23,$B8,$32,$25,$39,$A3,$12,$38 .db $36,$23,$38,$47,$2A,$18,$0C,$4C .db $F3,$D1,$41,$33,$42,$7D,$13,$02 .db $4C,$63,$CA,$F5,$E3,$C0,$FA,$33 .db $40,$7F,$00,$00,$00,$DB,$FF DATA_06C514: .db $6A,$62,$31,$8B,$01,$60,$C7,$C8 .db $6D,$E8,$07,$0D,$D7,$00,$ED,$E0 .db $0F,$60,$C0,$CF,$E0,$C0,$CF,$6D .db $E0,$0F,$ED,$E0,$0F,$60,$C0,$CF .db $E0,$C0,$CF,$6D,$E0,$0F,$ED,$E0 .db $0F,$60,$C0,$CF,$E0,$C0,$CF,$6D .db $E0,$0F,$ED,$E0,$0F,$60,$C0,$CF .db $E0,$C0,$CF,$6D,$E0,$0F,$E0,$C0 .db $C9,$6D,$E0,$09,$FF DATA_06C559: .db $C4,$6A,$31,$8B,$11,$60,$C0,$F1 .db $62,$C0,$4B,$6E,$C0,$81,$65,$C9 .db $1A,$0B,$06,$90,$6E,$CB,$41,$22 .db $B5,$92,$22,$DF,$02,$22,$E5,$A0 .db $24,$E5,$A1,$28,$BE,$12,$28,$EE .db $10,$2A,$EE,$11,$E0,$C0,$F1,$2E .db $B3,$41,$2E,$D8,$01,$2E,$E3,$50 .db $22,$B2,$72,$28,$D0,$92,$22,$D9 .db $05,$24,$B7,$14,$28,$E0,$70,$2A .db $E0,$91,$24,$E2,$51,$22,$E2,$70 .db $65,$C5,$12,$65,$E4,$12,$22,$BC .db $26,$22,$DE,$06,$22,$EC,$20,$28 .db $EC,$21,$2B,$BC,$32,$6E,$CC,$21 .db $6E,$EB,$11,$2B,$EC,$30,$2D,$EC .db $31,$E0,$C0,$F1,$6E,$CC,$31,$2B .db $D0,$22,$2B,$E0,$20,$2D,$E0,$21 .db $66,$C1,$13,$66,$E0,$13,$25,$B5 .db $38,$25,$D8,$08,$25,$E5,$30,$2D .db $E5,$31,$22,$BC,$35,$22,$DF,$05 .db $22,$EC,$30,$27,$EC,$31,$69,$CE .db $14,$69,$ED,$14,$E0,$C0,$F1,$6E .db $C0,$41,$6E,$C9,$61,$64,$C9,$15 .db $64,$E8,$15,$2A,$B2,$D1,$2C,$B2 .db $C1,$24,$B2,$45,$22,$B2,$C1,$23 .db $D6,$07,$23,$BB,$33,$27,$BB,$43 .db $22,$DE,$05,$2B,$DE,$02,$23,$E6 .db $51,$2A,$E6,$50,$22,$E2,$C0,$2D .db $E2,$C1,$2B,$EE,$11,$27,$EE,$10 .db $A7,$D0,$44,$27,$E0,$40,$2B,$E0 .db $41,$60,$C0,$86,$6C,$C0,$83,$60 .db $C9,$6F,$00,$00,$01,$70,$C0,$C8 .db $70,$CD,$28,$79,$C0,$F6,$B0,$B3 .db $47,$34,$D8,$53,$30,$D8,$04,$37 .db $B9,$34,$38,$DD,$03,$37,$E3,$61 .db $34,$E8,$50,$3B,$E9,$41,$70,$CC .db $22,$7E,$C0,$F1,$70,$EB,$12,$F0 .db $CD,$21,$7E,$C0,$F1,$72,$EF,$1B .db $17,$50,$80,$33,$B0,$12,$33,$D2 .db $02,$33,$E0,$20,$35,$E0,$21,$33 .db $B5,$12,$33,$D7,$02,$33,$E5,$20 .db $35,$E5,$21,$33,$BA,$12,$33,$DC .db $02,$33,$EA,$20,$35,$EA,$21,$39 .db $B0,$12,$39,$D2,$02,$39,$E0,$20 .db $3B,$E0,$21,$39,$B5,$12,$39,$D7 .db $02,$39,$E5,$20,$3B,$E5,$21,$39 .db $BA,$12,$39,$DC,$02,$39,$EA,$20 .db $3B,$EA,$21,$F0,$C0,$46,$77,$C0 .db $38,$70,$C9,$67,$78,$CC,$35,$7E .db $C4,$B1,$1B,$07,$31,$F0,$C0,$F7 .db $78,$C0,$45,$78,$C5,$A5,$00,$00 .db $00,$D9,$FF DATA_06C6EC: .db $20,$00,$76,$01,$14,$60,$E0,$F1 .db $60,$FE,$F1,$60,$C1,$1D,$01,$01 .db $57,$01,$0E,$58,$23,$0C,$11,$65 .db $B2,$01,$05,$A4,$00,$65,$B5,$01 .db $05,$A7,$00,$65,$B8,$01,$05,$AA .db $00,$65,$BB,$02,$69,$B2,$02,$09 .db $A5,$00,$69,$B6,$01,$09,$A8,$00 .db $69,$B9,$01,$09,$AB,$00,$69,$BC .db $01,$6D,$B2,$01,$0D,$A4,$00,$6D .db $B5,$01,$0D,$A7,$00,$6D,$B8,$01 .db $0D,$AA,$00,$6D,$BB,$02,$71,$B2 .db $02,$11,$A5,$00,$71,$B6,$01,$11 .db $A8,$00,$71,$B9,$01,$11,$AB,$00 .db $71,$BC,$01,$70,$E0,$A1,$70,$FE .db $A1,$75,$B2,$01,$15,$A4,$00,$75 .db $B5,$01,$15,$A7,$00,$75,$B8,$01 .db $15,$AA,$00,$75,$BB,$02,$37,$00 .db $31,$79,$D1,$1D,$19,$01,$59,$19 .db $0E,$5A,$00,$00,$00,$DC,$FF DATA_06C783: .db $8B,$40,$D4,$9C,$09,$60,$E0,$A2 .db $03,$F1,$F3,$60,$E3,$A0,$60,$D4 .db $AB,$78,$60,$2A,$97,$50,$01,$37 .db $32,$33,$37,$43,$31,$72,$60,$15 .db $34,$34,$2C,$33,$35,$76,$13,$04 .db $3E,$12,$01,$7F,$60,$D0,$AF,$7A .db $D3,$01,$7A,$E2,$00,$7A,$E5,$02 .db $79,$6B,$1B,$91,$00,$30,$60,$D0 .db $AF,$6B,$E5,$50,$6A,$F6,$63,$6A .db $DA,$70,$6B,$EB,$62,$10,$08,$7F .db $0F,$06,$7F,$0A,$05,$3E,$0A,$0B .db $3F,$E0,$D0,$AF,$6B,$E8,$60,$6A .db $D9,$71,$6B,$EB,$62,$10,$09,$7F .db $0A,$08,$3E,$0A,$0B,$3F,$13,$52 .db $03,$18,$50,$03,$75,$66,$13,$15 .db $07,$7F,$13,$08,$41,$78,$6D,$23 .db $F8,$60,$2F,$38,$40,$10,$7A,$D0 .db $00,$60,$D0,$AC,$6B,$EC,$40,$60 .db $DD,$F4,$0A,$0C,$3E,$11,$5A,$02 .db $13,$5D,$02,$0E,$0D,$7F,$95,$50 .db $02,$17,$53,$02,$12,$04,$41,$60 .db $F2,$F6,$70,$E1,$10,$70,$D2,$14 .db $72,$E6,$20,$70,$D7,$41,$60,$D9 .db $AF,$6B,$E9,$92,$0F,$01,$3E,$11 .db $06,$3E,$0A,$09,$3F,$10,$02,$7F .db $13,$07,$7F,$F2,$67,$81,$72,$6C .db $13,$34,$3E,$64,$7A,$EE,$00,$74 .db $6F,$14,$36,$3F,$46,$7A,$EF,$02 .db $17,$0B,$41,$60,$D9,$AC,$13,$0E .db $3E,$15,$0F,$3F,$33,$3F,$0E,$94 .db $01,$7F,$18,$55,$03,$75,$6A,$13 .db $15,$0B,$7F,$6B,$E5,$40,$60,$D6 .db $F4,$70,$EA,$10,$60,$FB,$F1,$60 .db $DD,$AF,$6B,$ED,$62,$10,$0B,$7F .db $0F,$0A,$3E,$0A,$05,$3E,$0E,$06 .db $7F,$0A,$0D,$3F,$F8,$62,$23,$18 .db $08,$41,$60,$DD,$AF,$76,$6B,$14 .db $38,$3E,$24,$7A,$EE,$00,$37,$3F .db $36,$7A,$EF,$02,$17,$0E,$3E,$16 .db $0C,$7F,$EB,$E2,$70,$6B,$E5,$72 .db $6A,$F3,$61,$11,$03,$7F,$0A,$02 .db $3E,$0A,$05,$3F,$60,$DD,$AF,$6B .db $ED,$60,$6A,$FE,$51,$0A,$0D,$3E .db $10,$0E,$7F,$12,$0A,$41,$75,$68 .db $13,$15,$09,$7F,$18,$5E,$02,$EB .db $E0,$62,$0A,$00,$3F,$60,$FD,$A5 .db $6B,$E8,$70,$6A,$D9,$83,$11,$09 .db $7F,$73,$EC,$00,$12,$0C,$3E,$0A .db $08,$3E,$6B,$DD,$83,$12,$0D,$7F .db $79,$6B,$18,$F4,$E0,$00,$13,$00 .db $3E,$6B,$F1,$71,$13,$01,$7F,$71 .db $E3,$32,$60,$F3,$FC,$70,$D3,$0A .db $71,$ED,$10,$70,$DE,$21,$78,$6A .db $25,$36,$3C,$1B,$36,$4D,$32,$33 .db $3F,$2C,$12,$0F,$3E,$10,$0D,$3E .db $10,$03,$3F,$34,$0D,$11,$7A,$DF .db $00,$0B,$00,$00,$C6,$FF DATA_06C949: .db $01,$20,$00,$80,$40,$38,$80,$23 .db $16,$F1,$40,$36,$34,$43,$36,$45 .db $41,$2F,$5D,$91,$58,$17,$18,$36 .db $37,$1D,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_06D000: .db $0B,$C0,$A2,$91,$38,$75,$C0,$0F .db $76,$D1,$4D,$F4,$20,$13,$76,$97 .db $42,$12,$58,$02,$76,$9B,$42,$F4 .db $91,$62,$10,$52,$02,$74,$95,$62 .db $10,$0C,$41,$72,$9E,$82,$F2,$96 .db $82,$6D,$2D,$02,$0C,$0C,$41,$ED .db $93,$D2,$6D,$97,$D2,$6E,$4A,$06 .db $0C,$05,$41,$EC,$22,$08,$6D,$9F .db $D2,$07,$00,$01,$0C,$01,$41,$65 .db $93,$52,$02,$50,$02,$0A,$58,$01 .db $0B,$57,$00,$0C,$56,$00,$0C,$5B .db $00,$0B,$5A,$00,$6B,$93,$F2,$73 .db $99,$72,$73,$9D,$72,$85,$93,$0C .db $05,$04,$2B,$09,$94,$0A,$0D,$95 .db $08,$11,$96,$06,$11,$0A,$31,$0D .db $0B,$2C,$09,$06,$2C,$05,$0E,$2C .db $72,$C0,$04,$73,$D1,$72,$74,$25 .db $06,$EB,$94,$F2,$67,$94,$32,$67 .db $9C,$32,$6B,$9C,$F2,$88,$00,$41 .db $6F,$25,$04,$70,$2A,$00,$F7,$20 .db $00,$76,$21,$00,$77,$C2,$0D,$78 .db $D3,$2B,$14,$F9,$21,$06,$00,$01 .db $6D,$93,$D2,$09,$50,$02,$6B,$97 .db $F2,$69,$97,$12,$08,$59,$20,$06 .db $5D,$20,$69,$9B,$12,$6B,$9B,$F2 .db $6B,$9F,$F2,$65,$9F,$52,$0B,$00 .db $01,$13,$0D,$17,$15,$06,$86,$0B .db $00,$00,$F3,$FF DATA_06D0DC: .db $01,$C0,$22,$91,$08,$72,$20,$05 .db $31,$00,$21,$2F,$5D,$91,$78,$CC .db $04,$79,$DD,$12,$F7,$21,$0E,$FF DATA_06D0F4: .db $13,$E0,$05,$81,$28,$77,$20,$0F .db $F7,$20,$0C,$13,$53,$01,$13,$5E .db $00,$F6,$20,$05,$12,$57,$01,$77 .db $2A,$0B,$90,$01,$31,$77,$2A,$06 .db $29,$79,$1A,$06,$5A,$02,$05,$0E .db $41,$86,$50,$02,$15,$51,$00,$77 .db $22,$12,$77,$26,$12,$77,$2A,$12 .db $77,$2E,$12,$14,$55,$00,$13,$59 .db $00,$12,$5D,$00,$90,$01,$41,$77 .db $29,$0D,$14,$5E,$02,$77,$22,$02 .db $F7,$27,$0F,$71,$24,$02,$14,$54 .db $02,$71,$2D,$02,$F0,$2A,$02,$77 .db $27,$0E,$F2,$23,$02,$70,$24,$02 .db $0E,$08,$41,$77,$2A,$0D,$B1,$58 .db $40,$13,$09,$46,$75,$2B,$09,$F1 .db $26,$03,$12,$0C,$87,$75,$2B,$03 .db $F1,$20,$03,$12,$56,$01,$71,$2A .db $03,$75,$25,$03,$18,$F1,$20,$18 .db $FB,$21,$0E,$51,$01,$0E,$5B,$01 .db $75,$2E,$04,$F1,$24,$05,$11,$07 .db $36,$73,$2B,$01,$75,$2E,$01,$F8 .db $25,$02,$78,$2A,$02,$16,$F8,$40 .db $74,$2F,$0F,$92,$54,$01,$12,$5C .db $01,$74,$2F,$0F,$92,$54,$01,$F0 .db $20,$03,$76,$26,$03,$74,$2D,$03 .db $F6,$24,$03,$16,$09,$41,$74,$2B .db $06,$F6,$26,$02,$2F,$5D,$91,$58 .db $0C,$04,$F7,$21,$0E,$0B,$00,$00 .db $DD,$FF DATA_06D1D6: .db $03,$E0,$72,$91,$48,$0A,$F1,$83 .db $17,$00,$55,$78,$81,$0E,$0F,$05 .db $55,$70,$86,$09,$16,$56,$04,$11 .db $5C,$04,$F0,$80,$0F,$78,$80,$0F .db $16,$52,$04,$11,$58,$04,$11,$5F .db $01,$15,$5F,$01,$93,$51,$01,$11 .db $53,$01,$15,$53,$01,$70,$80,$0F .db $78,$80,$0F,$73,$26,$06,$11,$09 .db $41,$11,$5E,$04,$16,$5E,$04,$93 .db $50,$00,$16,$55,$02,$78,$80,$08 .db $17,$09,$55,$70,$80,$09,$0F,$0A .db $55,$77,$2B,$04,$0A,$FD,$A4,$03 .db $02,$00,$DD,$FF DATA_06D23A: .db $F3,$20,$00,$80,$0C,$6B,$30,$0F .db $6F,$74,$91,$79,$50,$1F,$13,$05 .db $89,$6B,$6B,$F0,$12,$0F,$88,$F9 .db $50,$12,$79,$43,$11,$6F,$70,$91 .db $14,$01,$89,$0E,$02,$1E,$0F,$07 .db $1D,$11,$0A,$30,$15,$9B,$00,$79 .db $48,$10,$79,$59,$15,$79,$4F,$11 .db $6E,$7D,$A1,$11,$0C,$88,$8E,$01 .db $1D,$79,$58,$10,$79,$5D,$10,$79 .db $53,$10,$6B,$73,$F0,$6B,$78,$F0 .db $6B,$7D,$F0,$79,$42,$10,$79,$44 .db $11,$79,$47,$10,$79,$49,$11,$79 .db $4C,$10,$79,$4E,$11,$8E,$01,$1D .db $0F,$07,$1D,$13,$06,$36,$77,$42 .db $30,$77,$53,$3F,$6E,$7C,$81,$11 .db $0B,$88,$F7,$53,$3D,$6B,$6A,$F0 .db $0E,$02,$1D,$0F,$08,$1D,$8E,$01 .db $1E,$77,$41,$31,$0E,$08,$1D,$79 .db $46,$10,$79,$57,$1F,$70,$77,$81 .db $6F,$7B,$91,$12,$0A,$88,$6B,$7E .db $F0,$8B,$80,$80,$13,$01,$2B,$13 .db $82,$03,$12,$E6,$01,$79,$47,$11 .db $77,$4C,$30,$77,$5D,$3F,$0D,$0D .db $1D,$0E,$02,$1D,$F7,$5D,$39,$6B .db $61,$F0,$6B,$64,$F0,$6B,$67,$F0 .db $6B,$6A,$F0,$6B,$6D,$F0,$EB,$60 .db $F0,$77,$47,$31,$0E,$05,$1D,$79 .db $4C,$10,$79,$5D,$19,$F9,$47,$11 .db $0F,$02,$1D,$0D,$0A,$1D,$0E,$0B .db $1D,$32,$58,$40,$14,$09,$46,$79 .db $4B,$10,$79,$5C,$15,$15,$0F,$40 .db $F9,$42,$11,$6B,$74,$F0,$6B,$76 .db $F0,$79,$58,$17,$6B,$78,$F0,$79 .db $47,$10,$0E,$0B,$1E,$F0,$71,$81 .db $6F,$73,$91,$13,$02,$89,$79,$50 .db $1F,$6B,$68,$F0,$6E,$7E,$A1,$13 .db $0D,$88,$11,$0F,$89,$0E,$06,$1D .db $0D,$0E,$1D,$F9,$50,$19,$79,$4A .db $11,$70,$71,$81,$13,$00,$88,$77 .db $4E,$30,$77,$5F,$31,$F7,$41,$31 .db $54,$04,$04,$6F,$7A,$B1,$53,$08 .db $05,$15,$0B,$89,$79,$4E,$10,$79 .db $5F,$10,$0E,$01,$1D,$0F,$07,$1D .db $F0,$78,$A1,$0D,$00,$01,$52,$0D .db $0F,$8E,$02,$1D,$79,$40,$11,$16 .db $00,$35,$15,$07,$88,$53,$0C,$09 .db $8E,$01,$1D,$52,$05,$05,$79,$4A .db $10,$79,$5B,$11,$79,$4D,$11,$15 .db $0A,$35,$EB,$30,$03,$79,$42,$10 .db $79,$53,$1C,$6B,$68,$F0,$6E,$7C .db $A1,$6B,$7E,$F0,$12,$0B,$88,$F9 .db $40,$11,$79,$45,$10,$79,$56,$1B .db $16,$F6,$20,$F9,$42,$11,$73,$43 .db $70,$73,$54,$71,$73,$46,$71,$11 .db $04,$86,$78,$4C,$20,$2F,$5D,$91 .db $78,$5D,$22,$F8,$50,$2F,$12,$06 .db $89,$13,$0B,$88,$11,$0F,$89,$70 .db $75,$71,$6E,$7C,$91,$6E,$7E,$91 .db $FF DATA_06D40B: .db $8D,$A0,$54,$9F,$19,$20,$30,$F6 .db $58,$10,$1E,$30,$30,$7E,$00,$F1 .db $F3,$0E,$F1,$63,$60,$E3,$F0,$60 .db $D4,$FC,$34,$3B,$3B,$34,$4C,$44 .db $13,$07,$87,$B7,$41,$13,$34,$31 .db $2D,$34,$34,$2B,$34,$45,$41,$34 .db $37,$3D,$34,$3E,$3B,$60,$D1,$D3 .db $6E,$E1,$12,$6E,$E4,$10,$60,$D5 .db $F1,$60,$D7,$E3,$6F,$E7,$02,$6F .db $EA,$50,$6C,$6E,$43,$60,$FB,$F3 .db $70,$DB,$03,$71,$EB,$32,$0D,$01 .db $3F,$0D,$04,$3E,$0E,$07,$3F,$0E .db $0A,$3E,$10,$0B,$3F,$34,$4F,$68 .db $29,$3E,$2E,$60,$DF,$89,$08,$0E .db $3F,$0A,$0F,$41,$EC,$64,$45,$31 .db $37,$2C,$10,$07,$3E,$10,$68,$A7 .db $0F,$09,$3D,$2F,$4A,$02,$60,$D9 .db $3F,$64,$E9,$42,$03,$09,$3F,$67 .db $6C,$56,$28,$3C,$6C,$0A,$6D,$52 .db $0B,$B7,$00,$B7,$40,$3F,$2D,$30 .db $9E,$0C,$00,$3F,$6E,$68,$55,$69 .db $65,$22,$70,$63,$22,$60,$D9,$31 .db $24,$3A,$9C,$03,$0A,$3E,$60,$FB .db $F5,$70,$DE,$02,$10,$0D,$3F,$16 .db $BC,$00,$B7,$40,$3F,$60,$D1,$D2 .db $6E,$E1,$22,$62,$E4,$B2,$60,$F4 .db $00,$01,$04,$3F,$60,$D5,$1F,$0D .db $01,$3F,$04,$08,$30,$33,$3A,$3B .db $33,$4B,$41,$25,$3B,$DB,$25,$3C .db $DD,$33,$3D,$3D,$B7,$40,$3F,$66 .db $60,$34,$60,$D5,$1F,$66,$64,$17 .db $26,$44,$00,$07,$04,$3F,$6E,$60 .db $29,$6B,$69,$86,$6B,$6F,$2A,$0F .db $69,$00,$2B,$4F,$10,$0E,$09,$3C .db $10,$09,$3E,$0D,$0F,$3F,$B7,$40 .db $30,$03,$02,$41,$66,$60,$15,$60 .db $D5,$7C,$22,$35,$3C,$01,$05,$3E .db $72,$64,$1E,$2E,$36,$3C,$2E,$37 .db $3E,$0D,$06,$3E,$0D,$07,$3F,$38 .db $41,$2E,$37,$31,$0D,$34,$3F,$3C .db $13,$0F,$3E,$15,$0C,$41,$12,$20 .db $03,$12,$02,$11,$6B,$6E,$22,$E0 .db $D2,$36,$64,$E2,$32,$03,$02,$3F .db $60,$D9,$2A,$63,$E9,$02,$02,$09 .db $3F,$32,$40,$81,$35,$42,$58,$33 .db $32,$1E,$2C,$3A,$8B,$2C,$4B,$E5 .db $0B,$BD,$00,$6E,$65,$22,$67,$65 .db $22,$66,$6C,$22,$E3,$E3,$20,$60 .db $D4,$2F,$60,$D4,$52,$63,$E7,$22 .db $63,$EA,$20,$60,$DB,$51,$63,$ED .db $22,$02,$03,$3E,$02,$07,$3F,$02 .db $0A,$3E,$02,$0D,$3F,$2C,$41,$69 .db $29,$33,$2B,$29,$44,$32,$29,$37 .db $2D,$29,$3A,$2B,$73,$D1,$09,$13 .db $01,$3F,$74,$EA,$10,$39,$44,$1B .db $37,$34,$1D,$36,$4C,$24,$36,$3B .db $27,$37,$41,$32,$34,$31,$2E,$74 .db $DB,$17,$29,$4B,$A1,$2B,$4D,$83 .db $29,$3D,$1D,$13,$0A,$3E,$0A,$08 .db $41,$A6,$30,$4B,$39,$40,$18,$74 .db $E3,$12,$37,$38,$1B,$16,$05,$8E .db $37,$49,$36,$70,$64,$34,$69,$64 .db $23,$26,$41,$D2,$07,$64,$B0,$26 .db $34,$2D,$2C,$34,$3E,$73,$D4,$00 .db $13,$03,$3F,$0B,$04,$3F,$36,$31 .db $28,$71,$6B,$23,$60,$D4,$26,$62 .db $6A,$6E,$6C,$6A,$14,$68,$DF,$32 .db $68,$FD,$41,$0B,$0E,$3F,$29,$3C .db $2C,$08,$0C,$3E,$02,$0A,$3E,$60 .db $FB,$2D,$6C,$EE,$03,$EC,$E1,$30 .db $68,$D3,$13,$68,$D2,$70,$6A,$E3 .db $52,$6A,$E6,$30,$68,$D7,$50,$0B .db $01,$3E,$09,$03,$3F,$09,$06,$3E .db $6B,$E8,$22,$6B,$EB,$20,$60,$D8 .db $A3,$0A,$08,$3F,$0A,$0B,$3E,$58 .db $10,$1F,$37,$30,$0D,$60,$DC,$D0 .db $60,$DD,$B3,$6C,$ED,$12,$0B,$0D .db $3F,$EC,$E0,$10,$60,$D1,$A3,$6B .db $E1,$22,$6B,$E4,$20,$60,$D5,$B8 .db $6C,$E5,$12,$6C,$E8,$10,$0C,$06 .db $41,$6B,$D9,$20,$6C,$EA,$12,$6C .db $ED,$10,$0B,$00,$3E,$0A,$01,$3F .db $0A,$04,$3E,$0B,$05,$3F,$0B,$08 .db $3E,$0B,$0A,$3F,$0B,$0D,$3E,$60 .db $DE,$D1,$35,$35,$2B,$35,$46,$31 .db $35,$38,$2D,$E0,$D0,$A3,$6B,$E0 .db $22,$6B,$E3,$20,$60,$D4,$B9,$6C .db $E4,$12,$6C,$E7,$10,$6B,$D8,$21 .db $6C,$EA,$12,$6C,$ED,$10,$60,$DE .db $D1,$0A,$00,$3F,$16,$01,$86,$0A .db $03,$3E,$0B,$04,$3F,$0B,$07,$3E .db $0B,$0A,$3F,$0B,$0D,$3E,$2F,$5D .db $91,$58,$10,$1F,$E0,$D0,$DF,$FF DATA_06D6F3: .db $D3,$00,$00,$80,$0C,$6B,$30,$0F .db $70,$76,$81,$79,$50,$1F,$6E,$7D .db $A1,$12,$07,$89,$13,$0C,$88,$F9 .db $50,$1D,$79,$4E,$11,$6F,$70,$91 .db $0E,$02,$1D,$0F,$06,$1D,$15,$F4 .db $30,$16,$08,$41,$17,$FB,$10,$8F .db $01,$1D,$79,$42,$10,$79,$53,$1C .db $6F,$7B,$91,$12,$0A,$88,$F9,$50 .db $1F,$12,$F1,$60,$15,$05,$36,$16 .db $F8,$21,$6B,$7B,$F0,$6B,$7F,$F0 .db $0E,$02,$1D,$0F,$08,$1D,$F9,$50 .db $1F,$15,$F1,$30,$70,$76,$81,$13 .db $07,$89,$0F,$05,$1D,$0D,$0B,$1D .db $15,$0C,$2D,$14,$0D,$2C,$13,$9E .db $00,$12,$0F,$2D,$8E,$02,$1E,$0D .db $0B,$1D,$79,$50,$17,$79,$48,$11 .db $79,$4D,$10,$79,$5E,$1F,$10,$9F .db $00,$14,$9F,$00,$8F,$02,$1D,$70 .db $75,$81,$12,$04,$88,$11,$F9,$70 .db $14,$FB,$40,$10,$0F,$41,$79,$5E .db $13,$F9,$42,$11,$79,$47,$10,$79 .db $58,$17,$0E,$08,$1D,$0E,$0B,$1D .db $6B,$7A,$F0,$11,$9B,$00,$14,$9F .db $00,$F9,$50,$1F,$6B,$71,$F0,$15 .db $92,$00,$12,$93,$00,$6E,$7D,$A1 .db $12,$0C,$88,$8E,$01,$1D,$0E,$05 .db $1D,$12,$96,$00,$15,$99,$00,$35 .db $56,$40,$79,$50,$1C,$79,$4D,$11 .db $18,$07,$46,$F9,$42,$10,$79,$53 .db $11,$79,$45,$11,$15,$F6,$50,$15 .db $FB,$50,$79,$4D,$10,$79,$5E,$17 .db $0F,$02,$1D,$0E,$0A,$1D,$10,$09 .db $41,$6F,$74,$91,$12,$05,$89,$6B .db $7F,$F0,$F9,$46,$11,$6F,$74,$91 .db $13,$03,$88,$0E,$08,$1D,$0E,$0B .db $1D,$77,$4A,$30,$77,$5B,$36,$F7 .db $42,$31,$12,$90,$00,$11,$97,$00 .db $10,$9C,$00,$75,$46,$50,$75,$57 .db $57,$75,$4F,$51,$0D,$0D,$1E,$0E .db $06,$1D,$93,$F3,$70,$79,$45,$10 .db $79,$56,$19,$0E,$08,$1D,$11,$09 .db $34,$15,$A8,$02,$6E,$7D,$A1,$12 .db $0E,$89,$14,$0F,$88,$EF,$70,$91 .db $79,$50,$1F,$14,$A4,$00,$13,$04 .db $19,$11,$05,$1A,$10,$09,$1B,$13 .db $0E,$1C,$12,$A5,$00,$15,$A7,$00 .db $11,$A9,$00,$13,$AB,$00,$10,$0B .db $41,$6E,$7C,$A1,$11,$0D,$89,$10 .db $AF,$00,$14,$AE,$00,$0E,$06,$1E .db $8F,$01,$1D,$0F,$08,$1D,$12,$A1 .db $00,$13,$A9,$00,$12,$AD,$00,$15 .db $AC,$00,$6F,$7B,$91,$11,$0A,$88 .db $79,$50,$1F,$15,$A7,$00,$13,$A5 .db $00,$11,$A8,$00,$EB,$30,$03,$79 .db $50,$10,$79,$41,$11,$79,$46,$10 .db $79,$57,$18,$12,$9F,$00,$0F,$06 .db $1D,$8F,$01,$1D,$0E,$06,$1D,$0E .db $0B,$1D,$70,$75,$81,$13,$04,$88 .db $13,$93,$00,$11,$96,$00,$79,$50 .db $1F,$6B,$78,$F0,$12,$0B,$2D,$11 .db $FD,$71,$15,$0A,$2D,$17,$0F,$41 .db $F9,$50,$16,$79,$47,$11,$15,$A3 .db $00,$14,$A4,$00,$13,$A5,$00,$15 .db $F8,$50,$0E,$06,$1D,$78,$4B,$20 .db $2F,$5D,$91,$78,$5C,$23,$EF,$79 .db $81,$6E,$7D,$91,$13,$08,$88,$78 .db $50,$2F,$11,$0C,$88,$12,$0E,$89 .db $03,$00,$00,$BC,$11,$00,$00,$F8 .db $FF DATA_06D914: .db $C0,$60,$10,$A2,$43,$68,$D0,$5F .db $38,$40,$2C,$2E,$30,$9E,$0D,$00 .db $3F,$0E,$F1,$43,$15,$D6,$20,$15 .db $97,$04,$35,$3C,$2B,$35,$4D,$52 .db $2E,$3F,$6C,$0D,$0F,$3E,$33,$0D .db $11,$00,$02,$00,$F8,$FF DATA_06D942: .db $20,$00,$70,$01,$14,$60,$E0,$F1 .db $60,$FE,$F1,$60,$C1,$1D,$01,$01 .db $57,$01,$0E,$58,$23,$0C,$11,$65 .db $B2,$01,$05,$A4,$00,$65,$B5,$01 .db $05,$A7,$00,$65,$B8,$01,$05,$AA .db $00,$65,$BB,$02,$69,$B2,$02,$09 .db $A5,$00,$69,$B6,$01,$09,$A8,$00 .db $69,$B9,$01,$09,$AB,$00,$69,$BC .db $01,$6D,$B2,$01,$0D,$A4,$00,$6D .db $B5,$01,$0D,$A7,$00,$6D,$B8,$01 .db $0D,$AA,$00,$6D,$BB,$02,$71,$B2 .db $02,$11,$A5,$00,$71,$B6,$01,$11 .db $A8,$00,$71,$B9,$01,$11,$AB,$00 .db $71,$BC,$01,$70,$E0,$A1,$70,$FE .db $A1,$75,$B2,$01,$15,$A4,$00,$75 .db $B5,$01,$15,$A7,$00,$75,$B8,$01 .db $15,$AA,$00,$75,$BB,$02,$37,$00 .db $31,$79,$D1,$1D,$19,$01,$59,$19 .db $0E,$5A,$00,$02,$00,$BC,$FF DATA_06D9D9: .db $CE,$60,$31,$8B,$01,$60,$C0,$DF .db $70,$C0,$3B,$74,$C0,$63,$74,$C4 .db $67,$70,$CC,$A5,$E0,$C0,$D9,$70 .db $C2,$31,$70,$C4,$35,$74,$C2,$67 .db $60,$CA,$DF,$39,$AA,$15,$18,$EC .db $04,$B9,$A0,$1F,$13,$07,$41,$60 .db $CA,$D5,$E0,$C0,$DF,$39,$A0,$1F .db $B9,$A0,$1F,$60,$C0,$DF,$E0,$C0 .db $DF,$39,$A0,$1F,$F3,$C0,$7F,$60 .db $C0,$EF,$E0,$C0,$DF,$6E,$E0,$0F .db $79,$C0,$1F,$78,$E0,$1F,$12,$06 .db $41,$E0,$C0,$DF,$6E,$E0,$00,$6E .db $E2,$08,$6E,$EC,$03,$78,$E0,$1F .db $79,$C0,$1F,$12,$01,$41,$12,$0B .db $41,$F4,$C0,$6D,$76,$CE,$41,$60 .db $C0,$FF,$E0,$C0,$D4,$60,$C5,$E1 .db $60,$C7,$71,$68,$C7,$81,$72,$C3 .db $81,$74,$C5,$61,$76,$C7,$41,$70 .db $C9,$26,$60,$C9,$F6,$6F,$E5,$01 .db $71,$E7,$00,$73,$E9,$06,$35,$C9 .db $0A,$38,$A9,$2A,$8F,$E0,$0F,$60 .db $C0,$BF,$35,$C4,$0F,$38,$A4,$2F .db $8F,$E0,$03,$60,$C0,$B3,$60,$C4 .db $73,$68,$C4,$83,$76,$C4,$44,$12 .db $0C,$87,$60,$C8,$D7,$E0,$C0,$DF .db $10,$02,$41,$16,$E7,$00,$76,$CF .db $48,$F6,$C8,$47,$60,$C0,$ED,$60 .db $CE,$F1,$70,$CE,$51,$13,$0C,$90 .db $0E,$00,$00,$CC,$FF DATA_06DABE: .db $CA,$61,$47,$EC,$25,$72,$60,$0F .db $75,$60,$0F,$F2,$60,$0A,$10,$02 .db $47,$75,$60,$0B,$71,$6A,$06,$76 .db $6B,$04,$75,$6F,$06,$90,$02,$41 .db $70,$64,$10,$72,$60,$04,$6F,$64 .db $0B,$70,$6F,$20,$76,$65,$10,$78 .db $65,$09,$76,$6E,$10,$75,$6E,$01 .db $F5,$60,$0F,$72,$60,$0F,$10,$08 .db $47,$F1,$60,$10,$70,$61,$10,$75 .db $60,$10,$76,$61,$10,$77,$62,$10 .db $78,$63,$05,$77,$69,$10,$76,$6A .db $10,$75,$6B,$10,$75,$6C,$0F,$6F .db $62,$10,$6F,$63,$07,$70,$6A,$02 .db $71,$6C,$02,$72,$6E,$0A,$EE,$68 .db $30,$6D,$68,$0C,$72,$6B,$20,$71 .db $6B,$07,$F2,$62,$50,$6E,$64,$30 .db $71,$65,$40,$75,$66,$09,$71,$8E .db $07,$60,$AE,$F0,$70,$AE,$00,$70 .db $AF,$01,$60,$AF,$F1,$78,$62,$0D .db $F5,$60,$06,$78,$60,$06,$71,$66 .db $30,$78,$47,$26,$09,$00,$01,$75 .db $42,$52,$11,$A5,$00,$11,$09,$31 .db $0D,$07,$41,$16,$05,$64,$F8,$41 .db $23,$16,$08,$47,$60,$AF,$F0,$70 .db $AF,$70,$01,$00,$00,$E6,$03,$00 .db $00,$E7,$0A,$00,$00,$FA,$FF DATA_06DB8D: .db $CA,$61,$47,$EC,$25,$07,$00,$01 .db $60,$96,$B0,$60,$9E,$B0,$65,$70 .db $0F,$08,$01,$5B,$08,$02,$5D,$09 .db $02,$5B,$09,$03,$5D,$6A,$53,$12 .db $0A,$00,$5B,$0A,$01,$5E,$0E,$01 .db $5B,$0E,$02,$5E,$09,$07,$5B,$09 .db $08,$5C,$09,$09,$5D,$08,$0A,$5D .db $69,$5A,$23,$09,$0F,$5B,$6E,$5A .db $21,$11,$0A,$5B,$11,$0B,$5E,$15 .db $0A,$5D,$15,$09,$5B,$16,$0A,$5B .db $6C,$70,$0F,$6D,$96,$30,$6D,$9E .db $A0,$73,$77,$08,$76,$70,$03,$77 .db $70,$03,$76,$94,$10,$76,$96,$10 .db $76,$55,$10,$06,$03,$62,$0D,$03 .db $62,$06,$0B,$62,$0D,$0B,$62,$14 .db $0B,$62,$06,$07,$63,$0D,$07,$63 .db $14,$0F,$63,$13,$0D,$61,$0D,$0F .db $63,$06,$0F,$63,$E0,$96,$B0,$6D .db $96,$D0,$60,$9E,$B0,$6D,$9E,$D0 .db $65,$70,$0F,$6C,$70,$0F,$73,$70 .db $0F,$09,$00,$5E,$6A,$50,$10,$68 .db $51,$32,$6F,$50,$32,$69,$59,$21 .db $70,$59,$21,$76,$59,$44,$71,$5F .db $13,$74,$5F,$63,$09,$05,$5B,$10 .db $03,$5B,$10,$04,$5E,$16,$01,$5B .db $16,$02,$5E,$0A,$07,$5B,$0A,$08 .db $5E,$09,$0B,$5B,$09,$0C,$5E,$10 .db $07,$5C,$10,$08,$5D,$11,$0B,$5B .db $11,$0C,$5E,$18,$0B,$5D,$18,$0C .db $5B,$18,$0D,$5E,$15,$07,$5E,$15 .db $08,$5B,$15,$09,$5E,$16,$07,$5B .db $16,$08,$5D,$06,$03,$62,$0D,$03 .db $62,$06,$0B,$62,$0D,$0B,$62,$06 .db $07,$63,$0D,$07,$63,$0D,$0F,$63 .db $06,$0F,$63,$E0,$98,$B0,$6D,$98 .db $D0,$65,$70,$0F,$6C,$70,$0F,$73 .db $70,$0F,$06,$04,$5B,$08,$01,$5B .db $08,$02,$5D,$08,$03,$5B,$08,$04 .db $5D,$09,$03,$5B,$09,$04,$5E,$0A .db $04,$5B,$0A,$05,$5E,$0A,$02,$5B .db $0A,$03,$5E,$10,$00,$5B,$10,$01 .db $5E,$0E,$02,$5B,$0E,$03,$5E,$0F .db $03,$5B,$0F,$04,$5C,$10,$04,$5B .db $10,$05,$5D,$18,$03,$5B,$18,$04 .db $5C,$18,$05,$5D,$19,$05,$5B,$19 .db $06,$5E,$09,$0A,$5B,$09,$0B,$5E .db $0A,$0B,$5B,$0A,$0C,$5C,$0A,$0D .db $5D,$09,$0D,$5B,$09,$0E,$5E,$6A .db $5E,$12,$0E,$0C,$5C,$0E,$0D,$5D .db $0F,$0C,$5B,$0F,$0D,$5E,$11,$09 .db $5B,$11,$0A,$5C,$11,$0B,$5D,$11 .db $0E,$5B,$11,$0F,$5E,$18,$09,$5B .db $18,$0A,$5E,$16,$0E,$5B,$16,$0F .db $5C,$17,$0D,$5B,$17,$0E,$5C,$17 .db $0F,$5D,$78,$5E,$22,$06,$05,$62 .db $0D,$05,$62,$06,$09,$63,$0D,$09 .db $63,$06,$0E,$62,$0D,$0E,$62,$0C .db $07,$61,$E0,$91,$B0,$6D,$91,$D0 .db $60,$99,$B0,$6D,$99,$50,$65,$70 .db $0E,$6C,$70,$0E,$73,$70,$0E,$77 .db $52,$32,$76,$55,$31,$70,$52,$21 .db $08,$05,$5B,$0A,$03,$5B,$0A,$04 .db $5E,$10,$05,$5B,$10,$06,$5D,$11 .db $04,$5B,$11,$05,$5D,$09,$0A,$5C .db $09,$0B,$5D,$0A,$0D,$5B,$0A,$0E .db $5E,$0E,$0D,$5D,$10,$0A,$5B,$10 .db $0B,$5E,$11,$0C,$5B,$11,$0D,$5E .db $12,$0B,$5B,$12,$0C,$5D,$16,$0C .db $5B,$16,$0D,$5D,$17,$0D,$5B,$17 .db $0E,$5E,$15,$03,$5B,$15,$04,$5E .db $06,$02,$63,$0D,$02,$63,$0D,$0A .db $63,$06,$0A,$63,$06,$06,$62,$0D .db $06,$62,$69,$55,$23,$08,$0C,$5D .db $08,$0B,$5C,$0E,$0C,$5B,$00,$00 .db $01,$73,$70,$0C,$74,$70,$04,$74 .db $70,$0C,$73,$95,$10,$73,$97,$10 .db $73,$56,$10,$73,$9D,$10,$73,$9F .db $10,$73,$5E,$10,$F3,$70,$0F,$74 .db $70,$0F,$72,$7B,$04,$75,$7C,$02 .db $73,$95,$10,$73,$97,$10,$73,$56 .db $10,$13,$0D,$8F,$F3,$70,$0C,$74 .db $70,$0C,$73,$94,$10,$73,$92,$10 .db $75,$76,$06,$76,$76,$06,$77,$76 .db $06,$72,$75,$07,$71,$75,$07,$70 .db $75,$07,$73,$53,$10,$13,$07,$8F .db $13,$0A,$8F,$70,$9D,$70,$70,$5E .db $40,$73,$9F,$10,$F3,$70,$0C,$74 .db $70,$0C,$73,$95,$10,$73,$97,$10 .db $73,$56,$10,$73,$9D,$10,$73,$5E .db $10,$73,$9F,$10,$F3,$70,$0A,$74 .db $70,$0A,$72,$71,$09,$71,$72,$08 .db $70,$73,$06,$75,$71,$09,$76,$72 .db $07,$77,$73,$05,$13,$05,$8F,$13 .db $02,$8F,$13,$08,$8F,$71,$9B,$30 .db $72,$5C,$20,$72,$9D,$20,$73,$7E .db $0C,$74,$7E,$0C,$F3,$93,$10,$73 .db $54,$10,$73,$95,$10,$72,$79,$01 .db $71,$79,$01,$70,$79,$0A,$6F,$79 .db $0A,$6E,$79,$0A,$6E,$9B,$20,$6E .db $9D,$20,$6E,$5C,$20,$F1,$72,$02 .db $72,$72,$02,$73,$72,$02,$74,$72 .db $02,$75,$72,$02,$76,$72,$0D,$77 .db $72,$0D,$72,$94,$50,$76,$96,$10 .db $76,$55,$10,$76,$9C,$10,$76,$9E .db $10,$76,$5D,$10,$FF DATA_06DED2: .db $C7,$AC,$47,$AC,$05,$60,$A0,$F1 .db $70,$A0,$71,$78,$40,$2F,$F7,$6C .db $00,$F6,$66,$10,$75,$6E,$20,$94 .db $07,$31,$13,$0B,$41,$F8,$41,$23 .db $75,$45,$21,$10,$0D,$41,$F5,$80 .db $06,$76,$91,$41,$76,$95,$41,$16 .db $02,$65,$78,$49,$29,$78,$87,$08 .db $77,$9E,$01,$75,$6D,$06,$76,$6D .db $08,$92,$00,$41,$77,$92,$01,$16 .db $04,$2B,$73,$63,$01,$73,$85,$05 .db $74,$96,$31,$73,$6B,$40,$16,$0E .db $47,$14,$5C,$03,$96,$0D,$48,$74 .db $60,$30,$14,$51,$0D,$60,$AF,$F0 .db $70,$AF,$70,$06,$00,$00,$E8,$07 .db $00,$00,$E9,$FF DATA_06DF46: .db $C1,$A1,$49,$84,$05,$2F,$5D,$91 .db $17,$09,$18,$0B,$00,$49,$78,$20 .db $2F,$F8,$20,$2F,$FF DATA_06DF5B: .db $13,$20,$00,$81,$20,$58,$10,$14 .db $77,$F4,$03,$77,$FE,$02,$B8,$35 .db $25,$14,$94,$01,$38,$39,$23,$38 .db $4A,$2B,$77,$FB,$03,$B8,$36,$25 .db $14,$93,$02,$10,$94,$01,$37,$3A .db $33,$37,$4B,$32,$38,$4E,$28,$37 .db $3E,$0D,$10,$5A,$01,$0E,$09,$41 .db $B8,$37,$25,$15,$F5,$20,$38,$3B .db $23,$38,$4C,$2F,$77,$FE,$02,$F7 .db $F6,$04,$14,$06,$40,$38,$3C,$25 .db $B8,$30,$23,$58,$11,$1A,$14,$04 .db $34,$77,$F5,$02,$13,$F9,$40,$14 .db $AE,$06,$94,$91,$00,$14,$03,$30 .db $16,$01,$41,$14,$F8,$30,$38,$3C .db $25,$B8,$30,$23,$38,$41,$27,$38 .db $39,$25,$15,$F7,$20,$77,$F2,$02 .db $38,$3B,$23,$38,$4C,$2A,$15,$FE .db $25,$B8,$37,$25,$0E,$01,$41,$0F .db $52,$00,$10,$53,$00,$11,$54,$00 .db $38,$3B,$23,$58,$1C,$1B,$14,$FC .db $30,$15,$FE,$20,$B2,$4A,$57,$32 .db $39,$57,$2D,$5C,$40,$10,$0D,$46 .db $51,$0A,$07,$B2,$32,$58,$14,$F6 .db $30,$38,$38,$25,$33,$3B,$73,$33 .db $4C,$72,$14,$6F,$60,$33,$3F,$0D .db $95,$60,$50,$16,$61,$40,$17,$62 .db $30,$38,$43,$2F,$34,$30,$0D,$35 .db $31,$0D,$36,$32,$0D,$37,$33,$0D .db $13,$43,$04,$15,$45,$04,$14,$DA .db $01,$12,$FA,$11,$15,$4C,$04,$13 .db $4E,$04,$B8,$33,$25,$37,$35,$33 .db $17,$66,$30,$16,$67,$40,$15,$68 .db $50,$14,$69,$60,$13,$6A,$70,$12 .db $6B,$80,$31,$4C,$92,$36,$36,$0B .db $35,$37,$0B,$34,$38,$0B,$33,$39 .db $0B,$32,$3A,$0B,$31,$3B,$0B,$31 .db $3F,$95,$B8,$32,$23,$58,$13,$11 .db $15,$F4,$20,$14,$F8,$31,$11,$FC .db $60,$B8,$35,$25,$14,$A3,$01,$10 .db $04,$30,$10,$95,$01,$38,$38,$23 .db $38,$49,$21,$38,$3B,$25,$38,$3E .db $23,$38,$4F,$2E,$14,$AF,$01,$10 .db $9D,$01,$10,$AF,$00,$04,$0A,$41 .db $08,$59,$00,$0A,$5A,$00,$0C,$59 .db $00,$0E,$5A,$00,$07,$5F,$01,$8B .db $53,$01,$77,$F4,$02,$77,$FA,$03 .db $38,$3E,$25,$B8,$32,$23,$58,$13 .db $1C,$17,$B3,$04,$16,$B4,$02,$15 .db $B5,$00,$17,$BD,$06,$16,$BE,$04 .db $15,$BF,$02,$94,$B0,$00,$15,$FB .db $20,$77,$FE,$02,$0E,$0F,$41,$95 .db $F5,$20,$2F,$5D,$91,$58,$10,$1F .db $0B,$00,$00,$DF,$0D,$00,$00,$C1 .db $FF DATA_06E104: .db $C0,$60,$10,$82,$43,$69,$D0,$3F .db $38,$40,$2C,$2D,$30,$AE,$2D,$3F .db $D4,$0C,$0F,$3E,$0C,$00,$3F,$0D .db $F1,$73,$17,$D5,$02,$17,$DA,$02 .db $38,$3D,$25,$FF DATA_06E128: .db $83,$40,$D4,$99,$49,$60,$D0,$BF .db $78,$60,$28,$79,$D0,$10,$2C,$30 .db $BE,$0B,$00,$3F,$0C,$F1,$74,$18 .db $5A,$02,$79,$6E,$1C,$E0,$D0,$BF .db $13,$51,$02,$18,$5D,$02,$F9,$62 .db $14,$78,$6C,$2F,$38,$4D,$1C,$18 .db $58,$02,$11,$53,$02,$60,$D0,$BF .db $E0,$F0,$A0,$60,$D1,$D8,$6C,$E0 .db $10,$0B,$00,$3E,$2E,$39,$9C,$0D .db $09,$3E,$0E,$F1,$63,$60,$FA,$F5 .db $70,$FA,$A5,$7A,$DA,$05,$00,$02 .db $00,$C1,$FF DATA_06E183: .db $E9,$20,$22,$90,$1C,$6E,$50,$C8 .db $6E,$49,$C1,$90,$56,$02,$10,$5C .db $02,$12,$57,$02,$12,$5B,$02,$91 .db $52,$01,$11,$05,$41,$11,$57,$01 .db $09,$54,$00,$13,$53,$04,$8A,$03 .db $31,$05,$51,$02,$05,$57,$02,$07 .db $50,$02,$07,$58,$02,$12,$59,$02 .db $02,$05,$41,$91,$05,$30,$04,$58 .db $03,$06,$5C,$02,$08,$5E,$02,$08 .db $54,$02,$06,$56,$02,$83,$05,$41 .db $11,$58,$04,$13,$58,$04,$91,$51 .db $03,$11,$56,$03,$13,$53,$04,$0C .db $51,$00,$08,$54,$00,$03,$0A,$41 .db $6F,$2A,$03,$0B,$0A,$2B,$87,$0B .db $41,$0D,$53,$02,$0F,$55,$02,$A9 .db $5D,$91,$72,$5A,$85,$72,$49,$80 .db $10,$0A,$86,$F2,$50,$8F,$FF DATA_06E20A: .db $C5,$80,$31,$8F,$31,$6B,$C0,$35 .db $6B,$C6,$3A,$58,$10,$10,$B9,$41 .db $14,$38,$31,$0D,$38,$35,$0B,$38 .db $46,$29,$6B,$C1,$39,$6B,$CB,$32 .db $6B,$CE,$33,$75,$78,$03,$75,$87 .db $11,$77,$78,$03,$75,$8C,$10,$74 .db $7F,$06,$74,$8E,$11,$75,$7F,$12 .db $F6,$82,$10,$78,$72,$00,$76,$83 .db $10,$75,$73,$12,$74,$86,$10,$39 .db $40,$15,$38,$30,$0D,$38,$35,$0B .db $38,$46,$29,$75,$88,$11,$75,$79 .db $04,$77,$79,$04,$75,$8E,$10,$6B .db $C2,$38,$6B,$CB,$33,$6B,$CF,$38 .db $B8,$30,$25,$78,$91,$02,$38,$34 .db $23,$38,$45,$20,$38,$36,$25,$78 .db $A7,$02,$38,$3A,$23,$38,$4B,$28 .db $6B,$C8,$3A,$71,$81,$51,$70,$72 .db $10,$77,$72,$00,$71,$83,$50,$B8 .db $34,$25,$38,$38,$23,$18,$05,$8E .db $18,$06,$8E,$18,$07,$8E,$38,$49 .db $20,$38,$3A,$25,$18,$0B,$87,$18 .db $0C,$87,$18,$0D,$87,$38,$3E,$23 .db $38,$4F,$20,$6B,$C3,$33,$6B,$C7 .db $39,$73,$80,$31,$72,$71,$11,$73 .db $83,$30,$77,$71,$01,$71,$8B,$51 .db $70,$7C,$10,$77,$7C,$00,$71,$8D .db $50,$B8,$30,$25,$78,$91,$02,$38 .db $34,$23,$38,$45,$2A,$6B,$C1,$34 .db $72,$CE,$51,$6F,$72,$00,$6F,$81 .db $61,$76,$72,$00,$6F,$83,$60,$16 .db $0C,$47,$6B,$C6,$37,$6B,$CE,$61 .db $05,$00,$00,$D6,$FF DATA_06E307: .db $CF,$80,$31,$8B,$21,$60,$C0,$BF .db $58,$10,$12,$6F,$CD,$14,$B8,$33 .db $25,$39,$A4,$12,$6C,$C2,$41,$36 .db $37,$43,$36,$48,$42,$33,$3A,$2B .db $33,$4B,$71,$30,$3C,$2B,$30,$4D .db $A0,$38,$4E,$2A,$30,$3E,$7D,$60 .db $C0,$BD,$60,$CE,$76,$E0,$C5,$9A .db $6A,$C5,$53,$6A,$C9,$12,$6A,$CC .db $53,$0E,$0B,$8E,$32,$38,$5B,$17 .db $07,$44,$32,$49,$87,$B2,$31,$85 .db $39,$A2,$16,$34,$39,$63,$34,$4A .db $65,$60,$C0,$9A,$60,$CB,$B4,$E0 .db $C0,$BF,$36,$32,$45,$36,$40,$41 .db $34,$30,$1D,$39,$A3,$1D,$17,$D3 .db $0C,$13,$D2,$00,$13,$D6,$00,$12 .db $DB,$00,$94,$D1,$00,$12,$D7,$00 .db $17,$D0,$0A,$39,$A1,$1F,$36,$3B .db $43,$36,$3C,$45,$60,$C0,$B9,$60 .db $CA,$B7,$E0,$C2,$CD,$38,$31,$23 .db $58,$12,$37,$74,$C4,$15,$74,$CC .db $16,$6D,$CD,$31,$10,$D6,$06,$0E .db $59,$02,$E0,$C0,$C4,$60,$C5,$B3 .db $60,$C9,$CE,$6D,$C6,$31,$0D,$05 .db $31,$10,$D1,$04,$74,$C5,$15,$10 .db $DA,$0F,$33,$3E,$4B,$33,$4F,$56 .db $17,$0D,$44,$F0,$CA,$32,$11,$08 .db $90,$34,$46,$46,$33,$36,$0D,$60 .db $C8,$C7,$16,$6D,$20,$34,$3D,$1D .db $36,$3E,$1D,$B8,$3A,$25,$60,$C0 .db $CF,$39,$AB,$14,$B9,$A0,$1F,$60 .db $C0,$CF,$E0,$C0,$CF,$39,$A0,$1F .db $B9,$A0,$1F,$60,$C0,$CF,$E0,$C0 .db $CF,$39,$A0,$1F,$B9,$A0,$1C,$60 .db $C0,$CF,$38,$3D,$23,$58,$1E,$11 .db $14,$0D,$2B,$94,$01,$2B,$10,$01 .db $2B,$13,$04,$2B,$14,$07,$2B,$0F .db $07,$2B,$13,$0A,$2B,$14,$0D,$2B .db $10,$0D,$2B,$60,$C0,$CF,$6D,$CE .db $A1,$15,$0B,$90,$08,$00,$00,$D5 .db $0F,$00,$00,$D5,$FF DATA_06E444: .db $33,$C0,$0A,$80,$20,$58,$10,$20 .db $77,$F5,$03,$F3,$B6,$12,$70,$AC .db $42,$B1,$30,$6B,$31,$41,$95,$70 .db $F2,$03,$31,$27,$13,$33,$2B,$14 .db $35,$2D,$03,$36,$2F,$05,$14,$67 .db $63,$16,$6B,$41,$17,$6D,$31,$18 .db $6F,$23,$B7,$43,$35,$38,$49,$25 .db $37,$39,$0D,$37,$3E,$0B,$37,$4F .db $3B,$12,$57,$01,$B6,$32,$0B,$36 .db $43,$11,$36,$35,$0D,$11,$53,$01 .db $33,$3A,$3B,$33,$4B,$71,$34,$4D .db $61,$33,$3D,$0D,$35,$4F,$51,$34 .db $3F,$0D,$B6,$41,$41,$37,$43,$31 .db $58,$15,$10,$35,$31,$0D,$36,$33 .db $0D,$37,$35,$0D,$13,$58,$01,$15 .db $FD,$20,$F0,$A1,$42,$35,$35,$2B .db $B5,$31,$55,$06,$00,$01,$35,$46 .db $5A,$12,$FA,$21,$10,$08,$41,$B2 .db $3B,$83,$70,$91,$40,$32,$4C,$85 .db $B2,$22,$05,$33,$26,$03,$34,$28 .db $14,$36,$2A,$03,$37,$2C,$05,$14 .db $62,$63,$15,$66,$51,$17,$68,$31 .db $18,$6A,$21,$19,$6C,$13,$B8,$40 .db $25,$38,$36,$25,$38,$3C,$23,$38 .db $4D,$28,$B7,$35,$0B,$37,$46,$30 .db $39,$47,$1A,$37,$37,$1D,$18,$C8 .db $08,$16,$59,$06,$12,$EC,$00,$B7 .db $31,$1B,$38,$42,$26,$37,$32,$0D .db $70,$A5,$42,$73,$A4,$12,$31,$38 .db $6B,$31,$49,$93,$31,$2D,$24,$15 .db $6D,$52,$B4,$20,$03,$35,$22,$05 .db $36,$46,$42,$35,$29,$02,$17,$62 .db $3A,$16,$60,$41,$16,$6D,$41,$34 .db $2D,$00,$15,$6F,$52,$B1,$21,$21 .db $31,$42,$94,$31,$37,$95,$70,$F3 .db $03,$35,$3F,$53,$B5,$40,$51,$37 .db $42,$3A,$35,$32,$1D,$11,$01,$36 .db $15,$F5,$10,$15,$58,$01,$14,$FB .db $20,$78,$2E,$03,$37,$3D,$35,$96 .db $F2,$40,$15,$F7,$51,$15,$5A,$02 .db $14,$00,$87,$38,$34,$23,$38,$45 .db $20,$38,$36,$25,$77,$89,$03,$37 .db $3D,$33,$37,$4E,$31,$13,$FE,$30 .db $B7,$40,$3A,$15,$F0,$11,$37,$3B .db $35,$72,$98,$40,$35,$FA,$10,$12 .db $00,$01,$38,$33,$23,$2F,$5D,$91 .db $58,$14,$1B,$77,$F6,$03,$14,$03 .db $41,$F7,$F4,$03,$77,$FB,$02,$06 .db $00,$00,$F6,$0F,$00,$00,$BE,$10 .db $00,$00,$F5,$FF DATA_06E5D0: .db $33,$C0,$0A,$80,$60,$58,$10,$20 .db $77,$F5,$03,$F3,$B6,$12,$70,$AC .db $42,$B1,$30,$6B,$31,$41,$95,$70 .db $F2,$03,$31,$27,$13,$33,$2B,$14 .db $35,$2D,$03,$36,$2F,$05,$14,$67 .db $63,$16,$6B,$41,$17,$6D,$31,$18 .db $6F,$23,$B7,$43,$35,$38,$49,$25 .db $37,$39,$0D,$37,$3E,$0B,$37,$4F .db $3B,$12,$57,$01,$B6,$32,$0B,$36 .db $43,$11,$36,$35,$0D,$11,$53,$01 .db $33,$3A,$3B,$33,$4B,$71,$34,$4D .db $61,$33,$3D,$0D,$35,$4F,$51,$34 .db $3F,$0D,$B6,$41,$41,$37,$43,$31 .db $58,$15,$10,$35,$31,$0D,$36,$33 .db $0D,$37,$35,$0D,$13,$58,$01,$15 .db $FD,$20,$F0,$A1,$42,$35,$35,$2B .db $B5,$31,$55,$06,$00,$01,$35,$46 .db $5A,$12,$FA,$21,$B2,$3B,$83,$70 .db $91,$40,$32,$4C,$85,$B2,$22,$05 .db $33,$26,$03,$34,$28,$14,$36,$2A .db $03,$37,$2C,$05,$14,$62,$63,$15 .db $66,$51,$17,$68,$31,$18,$6A,$21 .db $19,$6C,$13,$B8,$40,$25,$38,$36 .db $25,$2D,$58,$40,$0E,$09,$46,$38 .db $3C,$23,$38,$4D,$28,$B7,$35,$0B .db $37,$46,$30,$39,$47,$1A,$37,$37 .db $1D,$18,$C8,$08,$16,$59,$06,$12 .db $EC,$00,$B7,$31,$1B,$38,$42,$26 .db $37,$32,$0D,$0E,$07,$41,$70,$A5 .db $42,$73,$A4,$12,$31,$38,$6B,$31 .db $49,$93,$31,$2D,$24,$15,$6D,$52 .db $B4,$20,$03,$26,$73,$16,$25,$75 .db $12,$04,$06,$18,$35,$22,$05,$36 .db $46,$42,$35,$29,$02,$17,$62,$3A .db $16,$60,$41,$16,$6D,$41,$34,$2D .db $00,$15,$6F,$52,$B1,$21,$21,$31 .db $42,$94,$31,$37,$95,$70,$F3,$03 .db $0E,$0D,$41,$35,$3F,$53,$B5,$40 .db $51,$11,$01,$36,$37,$42,$3A,$35 .db $32,$1D,$15,$F5,$10,$15,$58,$01 .db $14,$FB,$20,$37,$3D,$35,$78,$2E .db $03,$96,$F2,$40,$0E,$00,$41,$14 .db $00,$8E,$15,$F7,$51,$15,$5A,$02 .db $38,$34,$23,$38,$45,$20,$38,$36 .db $25,$77,$89,$03,$37,$3D,$33,$37 .db $4E,$31,$13,$FE,$30,$B7,$40,$3A .db $15,$F0,$11,$37,$3B,$35,$72,$98 .db $40,$35,$FA,$10,$12,$00,$01,$38 .db $33,$23,$2F,$5D,$91,$58,$14,$1B .db $77,$F6,$03,$F7,$F4,$03,$77,$FB .db $02,$06,$00,$00,$D1,$0F,$00,$00 .db $BE,$10,$00,$00,$D0,$FF DATA_06E76E: .db $23,$C0,$A4,$99,$88,$00,$F1,$F3 .db $0E,$F1,$43,$76,$C0,$0A,$77,$D1 .db $38,$12,$07,$2B,$93,$50,$02,$13 .db $58,$02,$93,$50,$02,$13,$58,$02 .db $93,$50,$02,$76,$C8,$07,$77,$D9 .db $35,$00,$FC,$F4,$0E,$FC,$44,$03 .db $00,$00,$D0,$FF DATA_06E7A2: .db $CD,$60,$47,$AC,$05,$78,$80,$0F .db $F8,$80,$0F,$F5,$43,$51,$78,$8D .db $09,$F8,$87,$08,$F8,$80,$0F,$06 .db $00,$01,$76,$82,$08,$77,$94,$31 .db $77,$98,$31,$36,$2B,$14,$78,$4D .db $21,$B5,$26,$21,$75,$47,$51,$35 .db $2E,$14,$F7,$40,$31,$35,$28,$11 .db $75,$89,$03,$76,$9B,$41,$32,$FF .db $FF,$72,$4E,$51,$78,$4E,$21,$94 .db $01,$31,$35,$27,$21,$75,$48,$51 .db $F8,$81,$0E,$F8,$80,$0F,$F8,$80 .db $0F,$F8,$80,$0E,$16,$08,$47,$05 .db $00,$01,$78,$80,$0F,$0D,$00,$01 .db $60,$AF,$F0,$70,$AF,$A0,$0D,$00 .db $00,$FC,$FF DATA_06E815: .db $C5,$60,$47,$AC,$05,$6B,$60,$0F .db $78,$40,$23,$78,$80,$0F,$F8,$43 .db $24,$6B,$60,$0F,$74,$64,$01,$14 .db $01,$30,$6C,$A4,$70,$6C,$A5,$71 .db $EB,$60,$0F,$70,$62,$0D,$6C,$A2 .db $30,$6C,$A3,$31,$0E,$06,$47,$74 .db $62,$01,$75,$A2,$20,$75,$A3,$21 .db $78,$46,$24,$EB,$60,$0F,$74,$64 .db $01,$72,$68,$01,$74,$6D,$01,$6C .db $A4,$70,$6C,$A5,$71,$78,$49,$24 .db $EB,$60,$0F,$72,$62,$01,$70,$66 .db $01,$75,$66,$01,$70,$6C,$0C,$74 .db $6B,$0E,$6C,$A6,$30,$6C,$A7,$31 .db $76,$A6,$10,$76,$A7,$11,$78,$4C .db $24,$EB,$60,$0E,$60,$AF,$F0,$70 .db $AF,$A0,$14,$0D,$2B,$02,$00,$00 .db $FB,$FF DATA_06E897: .db $C3,$40,$0A,$84,$10,$58,$10,$3F .db $77,$F3,$02,$0A,$0E,$34,$0D,$2F .db $00,$34,$2A,$02,$16,$6A,$13,$35 .db $3A,$27,$A8,$46,$73,$28,$22,$02 .db $28,$2A,$05,$0A,$62,$5B,$29,$32 .db $27,$2C,$42,$31,$2F,$45,$83,$0D .db $69,$AF,$2F,$21,$02,$11,$61,$63 .db $00,$00,$01,$34,$4E,$34,$30,$2F .db $00,$12,$6F,$11,$31,$3F,$27,$AC .db $31,$37,$2C,$34,$28,$34,$23,$05 .db $35,$36,$28,$2F,$29,$05,$30,$2D .db $03,$35,$4D,$23,$35,$2B,$00,$36 .db $3B,$17,$31,$3E,$38,$2A,$2E,$12 .db $2C,$28,$00,$2D,$38,$17,$29,$3D .db $18,$AA,$42,$24,$33,$23,$10,$33 .db $45,$41,$27,$37,$F3,$05,$01,$41 .db $04,$08,$36,$27,$48,$F0,$27,$39 .db $F5,$69,$F3,$02,$37,$39,$0E,$37 .db $37,$0C,$17,$68,$30,$29,$4A,$E1 .db $29,$2C,$13,$0C,$6C,$B3,$2F,$4F .db $84,$2F,$2D,$00,$30,$3D,$77,$2B .db $3F,$38,$35,$3F,$2B,$AB,$43,$34 .db $2B,$28,$13,$0E,$64,$97,$2B,$21 .db $00,$0D,$61,$11,$2C,$31,$27,$2F .db $24,$05,$30,$28,$03,$31,$39,$68 .db $2D,$3B,$A8,$35,$40,$32,$32,$32 .db $2B,$32,$43,$60,$32,$34,$5D,$6A .db $F4,$02,$06,$01,$41,$07,$5D,$01 .db $20,$3F,$F4,$30,$3F,$7C,$36,$0D .db $11,$03,$00,$00,$CF,$FF DATA_06E985: .db $66,$C0,$00,$84,$60,$20,$30,$F6 .db $38,$40,$28,$36,$00,$21,$30,$30 .db $56,$17,$07,$44,$25,$38,$F3,$35 .db $38,$2C,$25,$49,$F1,$15,$69,$51 .db $25,$3B,$F5,$35,$3B,$56,$01,$5D .db $02,$82,$53,$02,$02,$59,$02,$02 .db $5F,$02,$82,$55,$02,$03,$0E,$41 .db $28,$3C,$F3,$28,$4D,$F1,$28,$3F .db $F5,$38,$3C,$24,$38,$3F,$26,$18 .db $6D,$21,$84,$53,$02,$04,$59,$02 .db $04,$5F,$02,$84,$55,$02,$04,$5B .db $02,$84,$51,$02,$04,$57,$02,$04 .db $5D,$02,$B8,$34,$23,$38,$45,$2A .db $20,$3F,$F4,$30,$3F,$7C,$36,$0D .db $11,$06,$00,$00,$CE,$FF DATA_06E9FB: .db $66,$C0,$08,$84,$60,$20,$30,$F6 .db $30,$30,$56,$36,$00,$21,$77,$F4 .db $03,$77,$F9,$02,$17,$08,$19,$14 .db $09,$1A,$13,$08,$1B,$14,$07,$1C .db $14,$A8,$00,$58,$10,$10,$36,$2F .db $10,$B6,$41,$4B,$36,$3D,$45,$32 .db $47,$34,$34,$46,$13,$34,$35,$17 .db $32,$36,$17,$34,$3A,$18,$32,$3C .db $38,$B2,$32,$83,$32,$43,$80,$32 .db $34,$85,$18,$DB,$20,$B8,$34,$23 .db $32,$4E,$84,$35,$4A,$54,$38,$45 .db $27,$77,$F5,$02,$35,$39,$27,$38 .db $3D,$25,$32,$3D,$27,$35,$3F,$58 .db $B2,$33,$88,$18,$F5,$20,$18,$F8 .db $20,$36,$4D,$45,$75,$FE,$02,$36 .db $3C,$47,$0E,$0A,$41,$38,$3F,$23 .db $D8,$10,$1F,$77,$F6,$03,$36,$33 .db $18,$B4,$42,$35,$05,$00,$01,$36 .db $4F,$14,$36,$3E,$17,$14,$AC,$00 .db $12,$0F,$34,$90,$02,$30,$36,$34 .db $18,$34,$31,$17,$34,$38,$38,$36 .db $0D,$11,$20,$3F,$F4,$30,$3F,$7C .db $06,$00,$00,$CE,$FF DATA_06EAB0: .db $66,$C0,$00,$84,$60,$20,$30,$F6 .db $30,$30,$56,$38,$40,$2B,$36,$00 .db $21,$38,$3C,$25,$72,$AE,$52,$F1 .db $A3,$53,$72,$AA,$13,$F3,$B7,$42 .db $72,$B2,$43,$01,$00,$01,$72,$BE .db $52,$03,$00,$01,$71,$A1,$53,$72 .db $A8,$43,$F4,$A0,$23,$75,$BD,$22 .db $75,$B9,$22,$75,$B5,$22,$F3,$A6 .db $42,$75,$AE,$13,$B8,$35,$23,$38 .db $46,$29,$72,$A5,$22,$36,$0D,$11 .db $20,$3F,$F4,$30,$3F,$7C,$06,$00 .db $00,$CE,$FF DATA_06EB0B: .db $43,$40,$00,$84,$80,$20,$30,$F6 .db $30,$30,$56,$36,$00,$21,$38,$40 .db $29,$36,$39,$1B,$36,$4A,$41,$36 .db $3C,$45,$37,$8D,$3B,$B6,$31,$43 .db $36,$42,$41,$36,$34,$45,$36,$39 .db $43,$36,$3A,$45,$37,$8B,$3B,$35 .db $3F,$53,$B5,$40,$50,$35,$31,$55 .db $15,$04,$41,$36,$37,$43,$36,$48 .db $40,$36,$39,$45,$37,$8A,$3A,$35 .db $3F,$53,$B5,$30,$55,$36,$35,$43 .db $36,$46,$41,$38,$48,$27,$36,$38 .db $1D,$36,$0D,$11,$20,$3F,$F4,$30 .db $3F,$7C,$03,$00,$00,$CD,$FF DATA_06EB72: .db $43,$40,$0A,$84,$80,$20,$30,$F6 .db $30,$30,$56,$36,$00,$21,$77,$F4 .db $03,$58,$10,$24,$36,$2B,$10,$36 .db $4D,$2E,$B4,$23,$10,$34,$25,$13 .db $36,$2C,$14,$11,$0E,$41,$77,$FE .db $02,$B5,$24,$21,$35,$45,$53,$37 .db $49,$3A,$35,$29,$13,$B5,$22,$10 .db $39,$44,$1B,$35,$24,$33,$37,$0D .db $11,$20,$3F,$F4,$30,$3F,$8C,$03 .db $00,$00,$CD,$FF DATA_06EBBE: .db $43,$40,$05,$84,$80,$20,$30,$F6 .db $30,$30,$56,$58,$10,$2B,$36,$00 .db $21,$96,$BC,$00,$17,$BB,$02,$74 .db $85,$01,$11,$09,$8E,$11,$0A,$8E .db $71,$2E,$01,$96,$F0,$10,$17,$B5 .db $02,$16,$B6,$00,$15,$FA,$20,$11 .db $04,$87,$11,$05,$87,$11,$06,$87 .db $11,$07,$87,$11,$08,$87,$11,$09 .db $87,$38,$3C,$25,$38,$3F,$23,$B8 .db $40,$25,$17,$D2,$02,$37,$35,$0B .db $37,$46,$31,$35,$37,$1B,$35,$48 .db $51,$33,$39,$1B,$33,$4A,$75,$20 .db $3F,$F4,$30,$3F,$2C,$FF DATA_06EC24: .db $C3,$C0,$00,$80,$00,$20,$30,$F6 .db $30,$30,$56,$36,$00,$21,$38,$40 .db $29,$14,$95,$00,$14,$04,$2F,$38 .db $3A,$25,$18,$0B,$8E,$18,$0C,$8E .db $18,$0D,$8E,$18,$0E,$8E,$18,$0F .db $8E,$14,$5D,$09,$98,$00,$87,$18 .db $01,$87,$18,$02,$87,$18,$03,$87 .db $18,$04,$87,$78,$85,$04,$78,$2A .db $04,$78,$8F,$04,$14,$5A,$09,$96 .db $05,$41,$78,$24,$03,$38,$38,$23 .db $2F,$5D,$91,$58,$19,$16,$16,$09 .db $86,$FF DATA_06EC7E: .db $C3,$C0,$08,$80,$00,$20,$30,$F6 .db $30,$30,$56,$36,$00,$21,$38,$40 .db $2A,$38,$3B,$25,$19,$DE,$10,$B8 .db $47,$28,$36,$48,$1D,$34,$49,$1B .db $32,$4A,$19,$30,$4B,$17,$30,$3A .db $17,$32,$39,$17,$34,$38,$17,$36 .db $37,$17,$38,$36,$23,$B0,$33,$18 .db $32,$34,$18,$34,$35,$18,$36,$36 .db $18,$2F,$5D,$91,$58,$10,$1F,$16 .db $09,$86,$FF DATA_06ECC9: .db $57,$20,$22,$91,$28,$78,$C0,$0F .db $79,$D1,$1D,$94,$D2,$00,$75,$CA .db $04,$76,$DB,$42,$F9,$C1,$06,$7A .db $D2,$04,$11,$D3,$00,$72,$C8,$04 .db $73,$D9,$72,$0E,$0A,$41,$79,$CD .db $05,$7A,$DE,$03,$97,$D7,$00,$14 .db $DF,$00,$96,$DA,$00,$71,$CE,$04 .db $72,$DF,$82,$F1,$C3,$06,$72,$D4 .db $84,$14,$03,$31,$78,$C0,$07,$79 .db $D1,$15,$76,$CB,$03,$77,$DC,$31 .db $96,$D4,$00,$17,$0F,$41,$95,$D9 .db $00,$15,$D0,$00,$17,$58,$02,$00 .db $F8,$E4,$95,$D4,$00,$17,$53,$02 .db $12,$DE,$00,$78,$CE,$0F,$79,$DF .db $1D,$90,$D8,$00,$12,$57,$02,$2E .db $5E,$40,$10,$0F,$46,$95,$D9,$00 .db $14,$02,$31,$78,$C1,$03,$79,$D2 .db $11,$F2,$C7,$04,$14,$D3,$00,$73 .db $D8,$72,$78,$C7,$04,$0F,$58,$02 .db $F8,$C0,$06,$79,$D1,$14,$15,$DB .db $00,$94,$D5,$00,$78,$CB,$06,$79 .db $DC,$14,$00,$FE,$F3,$0E,$FE,$43 .db $95,$D6,$00,$14,$DE,$00,$92,$DF .db $00,$13,$0B,$41,$17,$D7,$00,$0F .db $05,$31,$96,$D8,$00,$0F,$08,$87 .db $95,$D1,$00,$16,$01,$41,$78,$C8 .db $08,$79,$D9,$16,$14,$0D,$17,$94 .db $02,$2B,$00,$E2,$00,$07,$D7,$00 .db $16,$03,$86,$24,$5D,$91,$6D,$CA .db $06,$6E,$DB,$94,$78,$C1,$0F,$79 .db $D2,$1D,$16,$06,$86,$16,$09,$86 .db $ED,$C1,$0E,$6E,$D2,$CC,$16,$00 .db $01,$2F,$5D,$91,$78,$C1,$0F,$79 .db $D2,$1D,$14,$04,$2B,$14,$07,$2B .db $14,$0A,$2B,$F8,$C1,$0E,$79,$D2 .db $1C,$07,$00,$00,$D7,$FF DATA_06EDE7: .db $01,$00,$72,$95,$1C,$0B,$F1,$F0 .db $06,$F1,$60,$06,$58,$7E,$03,$5B .db $C8,$0B,$DF,$00,$39,$43,$1C,$37 .db $25,$11,$37,$46,$22,$37,$29,$14 .db $37,$2F,$11,$78,$D3,$00,$76,$D6 .db $02,$78,$DB,$02,$B9,$43,$16,$37 .db $40,$32,$37,$23,$14,$37,$29,$11 .db $37,$4A,$35,$76,$D0,$02,$78,$D5 .db $02,$76,$DA,$05,$15,$FD,$51,$0A .db $08,$41,$01,$02,$00,$D7,$FF DATA_06EE36: .db $C8,$A0,$31,$8C,$01,$6B,$C0,$4F .db $58,$10,$1D,$EB,$C0,$45,$6B,$C6 .db $4C,$38,$3E,$25,$78,$AF,$04,$39 .db $AF,$14,$EB,$C3,$4A,$70,$C8,$25 .db $38,$34,$23,$38,$45,$22,$35,$37 .db $2B,$35,$48,$55,$35,$3E,$55,$6B .db $CE,$2E,$39,$AF,$1D,$B8,$35,$23 .db $38,$46,$24,$38,$3B,$25,$14,$08 .db $31,$38,$3D,$23,$38,$4E,$21,$6B .db $CD,$83,$B8,$30,$25,$39,$A1,$1E .db $38,$32,$23,$38,$43,$24,$36,$37 .db $1B,$37,$48,$32,$36,$38,$0D,$36 .db $3A,$0B,$36,$3B,$45,$6B,$C1,$28 .db $6B,$CA,$27,$EB,$C2,$23,$6E,$C4 .db $11,$6E,$C0,$13,$35,$30,$53,$35 .db $41,$50,$35,$32,$55,$39,$A3,$12 .db $38,$36,$23,$38,$47,$20,$38,$38 .db $25,$78,$99,$04,$39,$A9,$1C,$38 .db $3E,$23,$38,$4F,$21,$6B,$C6,$4B .db $EB,$C2,$49,$38,$31,$25,$18,$D3 .db $21,$58,$18,$17,$58,$17,$18,$38 .db $36,$23,$6B,$CC,$4E,$EB,$CB,$42 .db $6B,$CE,$4F,$EB,$CE,$C1,$16,$0C .db $47,$34,$56,$40,$17,$07,$46,$38 .db $40,$2F,$08,$00,$00,$EF,$FF DATA_06EEFD: .db $CB,$A0,$31,$8C,$01,$69,$C0,$38 .db $69,$C9,$42,$69,$CC,$29,$6C,$CE .db $84,$30,$40,$A8,$32,$49,$81,$30 .db $39,$1D,$3A,$4B,$03,$32,$3B,$7D .db $38,$3E,$1B,$79,$EC,$11,$58,$1F .db $2B,$EC,$C3,$35,$69,$C6,$22,$69 .db $C9,$41,$69,$CB,$67,$37,$39,$0B .db $37,$3A,$0D,$B7,$33,$0B,$37,$34 .db $0D,$69,$C5,$6C,$69,$C3,$41,$B5 .db $31,$2B,$35,$42,$31,$35,$34,$2D .db $15,$A7,$01,$15,$06,$31,$38,$3B .db $25,$38,$3E,$23,$69,$C2,$71,$69 .db $C4,$51,$69,$C6,$32,$6D,$C6,$32 .db $6D,$C9,$11,$6D,$CB,$31,$69,$C9 .db $33,$69,$CD,$69,$58,$1F,$19,$E9 .db $C7,$41,$69,$C9,$67,$77,$AF,$00 .db $E9,$C1,$41,$76,$A0,$03,$77,$A4 .db $00,$69,$C3,$67,$69,$CB,$41,$69 .db $CD,$68,$36,$31,$1B,$36,$32,$1D .db $37,$38,$0B,$39,$49,$15,$37,$39 .db $1D,$78,$EA,$13,$37,$3E,$1B,$37 .db $4F,$3F,$B7,$4F,$37,$69,$C6,$26 .db $6C,$C6,$33,$6C,$CA,$35,$69,$CD .db $22,$E9,$C0,$69,$69,$CA,$41,$69 .db $CC,$68,$39,$47,$13,$37,$37,$1D .db $78,$E8,$11,$37,$3A,$1B,$37,$4B .db $3B,$B9,$47,$17,$37,$37,$1D,$78 .db $E8,$15,$37,$3A,$1B,$37,$3B,$1D .db $37,$3E,$1B,$37,$4F,$32,$69,$C5 .db $64,$69,$CA,$21,$6C,$CA,$11,$69 .db $CC,$39,$6D,$CC,$29,$B9,$42,$19 .db $37,$32,$1D,$78,$E3,$17,$37,$36 .db $1B,$37,$37,$1D,$37,$3B,$1B,$37 .db $4C,$35,$69,$C6,$13,$6B,$C6,$13 .db $6D,$C8,$21,$69,$CA,$65,$70,$96 .db $01,$E9,$C0,$64,$69,$C5,$31,$70 .db $A5,$01,$69,$C7,$66,$69,$CE,$57 .db $6F,$CE,$47,$39,$42,$17,$78,$E3 .db $15,$37,$32,$1D,$37,$35,$1B,$37 .db $36,$1D,$37,$39,$1B,$37,$4A,$35 .db $13,$0C,$87,$B7,$40,$3F,$6D,$C6 .db $51,$6D,$C8,$42,$6D,$CB,$51,$69 .db $C6,$36,$69,$CD,$A2,$74,$CE,$21 .db $14,$09,$90,$0B,$00,$00,$E2,$FF DATA_06F05D: .db $C7,$60,$13,$A7,$23,$60,$D0,$0F .db $38,$40,$21,$38,$32,$25,$79,$A3 .db $1A,$18,$E8,$00,$37,$3E,$33,$37 .db $4F,$39,$E1,$E0,$F1,$71,$E0,$20 .db $64,$D1,$F7,$60,$F1,$37,$00,$00 .db $3E,$17,$69,$37,$2F,$29,$47,$60 .db $F9,$E7,$33,$2F,$30,$E0,$D1,$F4 .db $33,$41,$74,$33,$36,$75,$60,$D6 .db $49,$65,$E6,$A2,$04,$06,$3F,$38 .db $39,$23,$58,$1A,$17,$16,$6F,$12 .db $B2,$21,$21,$02,$00,$01,$35,$3F .db $27,$B2,$42,$52,$32,$35,$58,$30 .db $39,$7B,$30,$4A,$83,$70,$CE,$13 .db $60,$D0,$4F,$E0,$D0,$4F,$1A,$62 .db $01,$38,$22,$03,$18,$01,$3D,$39 .db $34,$15,$36,$39,$43,$36,$4A,$43 .db $12,$0A,$31,$35,$2C,$00,$71,$CF .db $01,$15,$0E,$3C,$16,$6E,$42,$B1 .db $40,$96,$31,$27,$05,$13,$67,$73 .db $32,$2B,$03,$14,$6B,$61,$33,$2D .db $04,$15,$6D,$50,$74,$CE,$10,$36 .db $2F,$14,$16,$0E,$3D,$17,$6E,$30 .db $19,$6F,$11,$60,$D0,$4F,$05,$F5 .db $84,$B8,$31,$25,$60,$D0,$4F,$05 .db $F8,$A3,$36,$35,$43,$16,$66,$40 .db $34,$36,$1B,$34,$47,$61,$38,$49 .db $2A,$34,$39,$3D,$35,$4E,$23,$35 .db $3D,$27,$B5,$32,$28,$70,$60,$12 .db $38,$34,$25,$38,$38,$23,$38,$49 .db $26,$60,$D0,$4F,$25,$3F,$F4,$35 .db $3F,$2C,$04,$0F,$3E,$2D,$56,$40 .db $0F,$07,$46,$36,$0D,$11,$05,$00 .db $00,$C0,$07,$00,$00,$ED,$FF DATA_06F164: .db $C9,$6A,$13,$A7,$13,$60,$D0,$0F .db $60,$E1,$12,$00,$00,$3F,$20,$03 .db $21,$20,$45,$A2,$23,$49,$63,$27 .db $4D,$22,$23,$35,$3D,$27,$39,$3D .db $2A,$3D,$25,$70,$D0,$08,$38,$31 .db $D4,$18,$0F,$3C,$16,$0F,$93,$19 .db $60,$F6,$18,$00,$3E,$EA,$E0,$02 .db $61,$D0,$08,$00,$60,$F0,$21,$31 .db $B6,$22,$2D,$13,$01,$0D,$3D,$01 .db $6E,$10,$07,$5E,$01,$06,$0F,$94 .db $65,$68,$1A,$6F,$D9,$00,$2E,$23 .db $40,$01,$00,$3F,$16,$61,$71,$34 .db $20,$20,$10,$64,$45,$18,$60,$87 .db $70,$D9,$0E,$1F,$69,$60,$3E,$3A .db $54,$1E,$09,$3E,$80,$60,$85,$06 .db $61,$71,$28,$20,$33,$0A,$50,$01 .db $08,$65,$37,$01,$09,$3F,$62,$D9 .db $0D,$21,$3A,$56,$00,$69,$60,$70 .db $68,$18,$30,$24,$33,$70,$D9,$00 .db $3E,$30,$94,$1E,$0A,$3C,$3D,$2A .db $41,$18,$0F,$91,$19,$5D,$00,$18 .db $5E,$00,$17,$5F,$00,$1E,$6B,$40 .db $1F,$60,$F0,$80,$60,$F0,$21,$30 .db $F6,$67,$6A,$18,$2E,$26,$30,$6F .db $DB,$00,$37,$20,$31,$14,$65,$53 .db $16,$50,$00,$15,$51,$00,$32,$24 .db $10,$10,$67,$33,$18,$61,$90,$19 .db $60,$A6,$70,$DB,$0F,$1F,$0B,$3E .db $3F,$3C,$34,$80,$60,$F0,$21,$30 .db $26,$22,$23,$13,$26,$25,$34,$69 .db $C8,$12,$01,$64,$B0,$02,$66,$93 .db $06,$69,$62,$09,$6F,$02,$2C,$2E .db $03,$0B,$0E,$3D,$2E,$3F,$05,$01 .db $03,$3D,$10,$5E,$01,$12,$5F,$00 .db $3F,$30,$F4,$AE,$44,$B1,$2E,$30 .db $3E,$0F,$C3,$00,$00,$60,$FD,$30 .db $44,$B1,$31,$32,$1B,$10,$C3,$00 .db $13,$50,$00,$32,$22,$14,$74,$C4 .db $14,$12,$65,$A1,$14,$6F,$04,$39 .db $2E,$03,$18,$0E,$3D,$3B,$3F,$05 .db $3F,$30,$F4,$E1,$D0,$0E,$60,$E1 .db $E3,$00,$00,$3F,$70,$D0,$0A,$7B .db $E0,$02,$7B,$C7,$01,$1A,$0B,$3C .db $3F,$30,$34,$3E,$24,$21,$1C,$68 .db $32,$1F,$65,$A0,$1F,$04,$3C,$1A .db $6C,$34,$39,$2B,$31,$15,$0F,$91 .db $A0,$30,$F6,$2E,$23,$00,$2D,$24 .db $11,$6B,$C6,$02,$66,$6E,$19,$28 .db $2C,$11,$09,$0C,$3C,$09,$6D,$12 .db $0C,$67,$71,$0E,$65,$91,$6F,$DF .db $00,$34,$20,$01,$14,$62,$C0,$32 .db $21,$10,$10,$64,$A3,$16,$60,$E9 .db $70,$DF,$0F,$1F,$0F,$3E,$15,$61 .db $D0,$A0,$30,$26,$21,$23,$23,$00 .db $03,$3D,$27,$26,$34,$6B,$CA,$11 .db $0D,$0E,$96,$01,$67,$85,$07,$6B .db $43,$0B,$6F,$01,$00,$64,$B0,$3F .db $30,$F4,$80,$60,$FC,$0D,$61,$E0 .db $6E,$C0,$11,$0E,$65,$A1,$70,$C4 .db $12,$10,$6B,$42,$33,$2A,$14,$13 .db $6D,$21,$35,$2C,$03,$15,$6E,$11 .db $37,$4D,$28,$3F,$30,$CC,$3C,$0B .db $12,$12,$0A,$3D,$09,$00,$00,$EC .db $FF DATA_06F35D: .db $6F,$62,$13,$E7,$03,$00,$60,$F5 .db $10,$60,$A5,$20,$36,$F6,$38,$46 .db $2B,$30,$36,$7E,$36,$07,$21,$B6 .db $31,$1B,$36,$42,$42,$34,$34,$1B .db $34,$45,$62,$32,$37,$1B,$32,$48 .db $82,$30,$3A,$1B,$30,$4B,$A4,$B0 .db $30,$A5,$78,$A1,$29,$30,$3B,$A3 .db $30,$4C,$A3,$B4,$40,$68,$30,$30 .db $3D,$30,$38,$3B,$30,$49,$A4,$34 .db $4E,$66,$30,$3E,$3D,$B0,$34,$3B .db $30,$45,$A2,$34,$48,$6B,$30,$38 .db $3D,$30,$3D,$3B,$30,$4E,$40,$30 .db $3F,$3D,$F5,$A9,$5F,$30,$33,$3B .db $30,$44,$A0,$30,$35,$A5,$75,$A6 .db $52,$F5,$A9,$5F,$F5,$A9,$5F,$B4 .db $39,$63,$34,$4A,$61,$58,$1C,$10 .db $34,$2C,$33,$B4,$2C,$31,$14,$06 .db $30,$34,$4D,$6E,$B0,$2B,$31,$30 .db $4C,$A6,$B4,$43,$6B,$30,$23,$34 .db $30,$2E,$31,$30,$4F,$A2,$F5,$A3 .db $5F,$30,$32,$A5,$F5,$A3,$5F,$F5 .db $A3,$5F,$F5,$A3,$50,$30,$34,$A3 .db $0E,$02,$41,$33,$47,$78,$20,$3F .db $F4,$30,$3F,$2C,$30,$45,$A1,$30 .db $27,$24,$31,$0C,$12,$0E,$05,$86 .db $0F,$00,$00,$EE,$FF DATA_06F42A: .db $6F,$62,$13,$E2,$03,$02,$00,$01 .db $33,$33,$73,$33,$44,$73,$33,$38 .db $75,$04,$00,$01,$B2,$37,$83,$32 .db $48,$80,$37,$49,$33,$32,$39,$4D .db $32,$3C,$4B,$32,$4D,$81,$37,$4F .db $34,$32,$3F,$4D,$B1,$33,$5B,$31 .db $44,$90,$37,$45,$35,$31,$35,$5D .db $30,$3A,$6B,$30,$4B,$A1,$37,$4D .db $35,$30,$3D,$6D,$AF,$32,$7B,$2F .db $43,$B0,$37,$44,$34,$2F,$34,$7D .db $2E,$38,$8B,$2E,$49,$C1,$34,$4B .db $65,$2E,$3B,$5D,$AC,$30,$7B,$2C .db $41,$E2,$2C,$34,$E5,$19,$61,$12 .db $0B,$00,$01,$B1,$2A,$20,$15,$66 .db $55,$34,$36,$67,$31,$3B,$98,$B0 .db $22,$31,$0C,$00,$01,$15,$6F,$53 .db $34,$3F,$67,$B6,$43,$42,$30,$32 .db $58,$30,$28,$10,$13,$66,$73,$32 .db $36,$37,$30,$39,$58,$36,$4A,$43 .db $16,$02,$3D,$16,$06,$3C,$16,$09 .db $3D,$30,$3D,$5B,$30,$4E,$A2,$B6 .db $41,$45,$30,$31,$5D,$2D,$28,$10 .db $10,$66,$A3,$2F,$36,$67,$2D,$39 .db $88,$36,$4A,$42,$10,$6D,$A2,$16 .db $06,$3C,$16,$09,$3D,$16,$0D,$3C .db $2C,$2F,$21,$2F,$3D,$67,$2C,$3F .db $E8,$FF DATA_06F4FC: .db $C1,$60,$13,$E7,$03,$2F,$5D,$91 .db $58,$10,$1F,$20,$30,$F6,$70,$E0 .db $52,$36,$00,$21,$FF LevelData: .db $42,$C0,$03,$A0,$00,$38,$40,$28 .db $15,$F1,$20,$36,$38,$1B,$36,$49 .db $46,$B6,$30,$45,$B6,$36,$43,$36 .db $47,$41,$38,$49,$26,$36,$39,$1D .db $14,$FD,$31,$02,$02,$00,$C0,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF .BANK 7 LevelData078000: .db $C0,$6F,$49,$04,$05,$6C,$31,$03 .db $6E,$34,$02,$70,$30,$01,$14,$00 .db $82,$79,$20,$1F,$0B,$06,$80,$FF DATA_078018: .db $C0,$6F,$49,$04,$05,$FF DATA_07801E: .db $20,$4E,$39,$0B,$01,$14,$00,$82 .db $79,$B0,$1F,$0B,$07,$84,$FF DATA_07802D: .db $20,$00,$09,$00,$04,$0E,$00,$85 .db $78,$00,$2F,$10,$02,$1D,$10,$06 .db $1D,$10,$0B,$1D,$11,$03,$1D,$11 .db $09,$1D,$11,$0D,$1D,$12,$07,$1D .db $FF DATA_07804E: .db $20,$4E,$29,$11,$02,$78,$C0,$05 .db $78,$C6,$0A,$79,$D1,$13,$79,$D7 .db $19,$FF,$C1,$61,$47,$04,$85,$6C .db $35,$02,$6E,$39,$01,$0B,$00,$49 .db $30,$5D,$81,$78,$20,$2F,$EC,$31 .db $02,$6C,$39,$01,$70,$36,$01,$78 .db $20,$2F,$FF,$C1,$61,$47,$04,$85 .db $14,$06,$83,$13,$0C,$82,$93,$06 .db $82,$FF DATA_078090: .db $20,$6E,$39,$0B,$01,$14,$00,$82 .db $79,$B0,$1F,$0B,$07,$84,$FF DATA_07809F: .db $20,$4E,$29,$11,$06,$78,$C0,$05 .db $78,$C6,$0A,$79,$D1,$13,$79,$D7 .db $19,$FF DATA_0780B1: .db $20,$4E,$29,$11,$08,$78,$C0,$05 .db $78,$C6,$0A,$79,$D1,$13,$79,$D7 .db $19,$FF DATA_0780C3: .db $61,$6A,$31,$4A,$03,$02,$0F,$91 .db $03,$0F,$92,$04,$0F,$93,$06,$0F .db $94,$08,$0F,$95,$09,$0F,$96,$0A .db $0E,$95,$0B,$0E,$96,$01,$00,$01 .db $A0,$43,$2F,$20,$46,$2F,$20,$49 .db $1F,$FF Empty0780ED: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF LevelData078100: .db $CE,$60,$98,$A4,$13,$24,$23,$C4 .db $12,$63,$8C,$00,$60,$F2,$60,$D3 .db $01,$00,$02,$3F,$00,$05,$3E,$61 .db $E2,$23,$04,$02,$3D,$10,$60,$A2 .db $21,$25,$F8,$61,$E5,$01,$60,$F6 .db $0E,$B0,$24,$18,$22,$25,$F9,$60 .db $F5,$1E,$61,$F4,$E0,$31,$20,$64 .db $34,$2A,$31,$19,$60,$1A,$34,$2B .db $04,$35,$3C,$55,$16,$6B,$40,$79 .db $AD,$13,$AD,$31,$D3,$29,$25,$31 .db $29,$26,$34,$0E,$62,$C7,$34,$2B .db $34,$2D,$3A,$65,$19,$6A,$16,$15 .db $6A,$30,$14,$0A,$3D,$21,$2D,$A9 .db $22,$24,$98,$60,$F4,$1F,$B6,$20 .db $11,$36,$21,$04,$18,$61,$20,$37 .db $32,$35,$79,$A3,$13,$2F,$37,$B3 .db $2A,$2C,$41,$10,$68,$AA,$2A,$2D .db $54,$0C,$08,$41,$28,$39,$05,$27 .db $38,$0D,$27,$37,$0B,$28,$36,$0B .db $29,$35,$0B,$2A,$34,$0B,$2B,$33 .db $0B,$6C,$E3,$00,$6D,$E4,$00,$6D .db $E5,$02,$6C,$E6,$02,$6B,$E7,$02 .db $6A,$E8,$02,$69,$E9,$02,$09,$08 .db $3F,$0A,$07,$3F,$0B,$06,$3F,$0C .db $05,$3F,$0C,$04,$3E,$0B,$65,$00 .db $0A,$66,$00,$09,$67,$00,$21,$27 .db $28,$21,$29,$29,$21,$2B,$98,$60 .db $F4,$0F,$A1,$24,$99,$21,$2D,$38 .db $60,$F4,$0F,$30,$43,$A0,$30,$34 .db $A5,$79,$A5,$1F,$F9,$A5,$1F,$21 .db $20,$39,$21,$23,$18,$20,$24,$29 .db $20,$26,$58,$28,$2A,$11,$60,$FB .db $A0,$26,$3B,$14,$05,$0B,$3E,$08 .db $0B,$3A,$2A,$38,$03,$6B,$E8,$00 .db $6C,$E9,$00,$6D,$EA,$00,$6E,$EB .db $00,$2A,$2C,$49,$60,$FC,$93,$6B .db $FA,$01,$6C,$FB,$00,$0B,$09,$3E .db $0C,$0A,$3E,$0D,$0B,$3E,$A0,$23 .db $39,$69,$D0,$10,$6B,$E1,$00,$6C .db $E2,$00,$0B,$63,$11,$6D,$E3,$00 .db $0A,$01,$3E,$0B,$02,$3E,$0C,$03 .db $3E,$0D,$04,$3E,$2F,$23,$11,$2F .db $24,$39,$2E,$27,$19,$2C,$37,$25 .db $2A,$25,$14,$0D,$65,$11,$28,$23 .db $14,$00,$60,$92,$64,$E2,$33,$08 .db $02,$3D,$03,$02,$3F,$09,$62,$10 .db $0F,$04,$3C,$31,$31,$03,$72,$E1 .db $00,$72,$D2,$01,$2E,$34,$04,$05 .db $03,$41,$0B,$59,$00,$0A,$5A,$00 .db $09,$5B,$00,$20,$26,$48,$20,$2A .db $49,$20,$2E,$48,$79,$A5,$1F,$36 .db $34,$13,$78,$E4,$00,$34,$26,$11 .db $32,$28,$11,$30,$2A,$11,$2E,$2C .db $11,$2C,$2E,$11,$36,$26,$29,$34 .db $28,$29,$32,$2A,$29,$30,$2C,$29 .db $2E,$2E,$29,$77,$D5,$10,$75,$F7 .db $00,$73,$F9,$00,$71,$FB,$00,$6F .db $FD,$00,$78,$48,$0B,$74,$5C,$03 .db $6D,$FF,$00,$AA,$20,$11,$29,$21 .db $01,$2C,$20,$29,$2C,$22,$38,$29 .db $22,$14,$2B,$24,$04,$6B,$F1,$00 .db $2A,$26,$11,$28,$28,$11,$27,$29 .db $01,$2D,$25,$29,$2B,$27,$29,$2A .db $29,$19,$27,$2A,$14,$29,$2C,$14 .db $2B,$2E,$04,$2A,$2A,$28,$2C,$2C .db $28,$2E,$2E,$18,$6F,$EF,$02,$14 .db $00,$8E,$78,$44,$0F,$2C,$3F,$25 .db $6D,$FE,$00,$69,$F9,$00,$20,$22 .db $49,$20,$26,$38,$21,$29,$29,$21 .db $2B,$58,$79,$A5,$1E,$60,$F9,$06 .db $A0,$20,$69,$20,$26,$28,$20,$28 .db $29,$20,$2A,$48,$20,$2E,$49,$32 .db $34,$83,$2F,$27,$21,$2B,$2B,$11 .db $2D,$29,$11,$2B,$2C,$04,$2C,$3D .db $05,$6D,$ED,$02,$2D,$2B,$29,$2F .db $29,$29,$11,$68,$40,$32,$38,$16 .db $11,$08,$3F,$14,$08,$3D,$34,$29 .db $14,$33,$2B,$11,$31,$2D,$11,$2F .db $2F,$11,$32,$2E,$29,$34,$2D,$19 .db $36,$3C,$46,$37,$3F,$33,$14,$6C .db $10,$13,$65,$72,$10,$68,$00,$0E .db $6A,$00,$16,$68,$43,$18,$FD,$21 .db $15,$0C,$3F,$12,$09,$41,$0D,$EE .db $20,$0E,$EF,$00,$AF,$20,$04,$30 .db $31,$05,$71,$E1,$02,$31,$20,$19 .db $11,$E2,$20,$12,$E3,$00,$33,$23 .db $31,$20,$22,$28,$20,$24,$29,$20 .db $26,$28,$20,$28,$29,$20,$2A,$18 .db $20,$2B,$19,$20,$2C,$18,$20,$2D .db $19,$20,$2E,$78,$33,$24,$54,$18 .db $60,$23,$1A,$64,$0D,$08,$90,$00 .db $09,$91,$00,$0A,$02,$2F,$0B,$93 .db $00,$0C,$94,$00,$0D,$95,$00,$0E .db $96,$00,$0A,$05,$41,$0A,$54,$00 .db $0C,$56,$00,$25,$34,$03,$25,$45 .db $10,$25,$36,$0D,$26,$37,$0D,$27 .db $38,$0D,$28,$39,$0D,$29,$3A,$0D .db $66,$E4,$00,$67,$E5,$00,$68,$E6 .db $00,$69,$E7,$00,$6A,$E8,$00,$6B .db $E9,$00,$6C,$EA,$00,$6C,$EB,$02 .db $2A,$3B,$15,$06,$05,$3E,$07,$06 .db $3E,$08,$07,$3E,$09,$08,$3E,$0A .db $09,$3E,$0B,$0A,$3E,$05,$9D,$00 .db $06,$9E,$00,$07,$9F,$00,$73,$E8 .db $00,$32,$38,$03,$31,$39,$0B,$30 .db $3A,$0B,$2F,$3B,$0B,$2E,$3C,$0B .db $2D,$3D,$0B,$73,$D9,$00,$73,$EA .db $02,$72,$EB,$02,$71,$EC,$02,$70 .db $ED,$02,$6F,$EE,$02,$2D,$3E,$15 .db $0F,$0D,$3F,$10,$0C,$3F,$11,$0B .db $3F,$12,$0A,$3F,$B1,$21,$71,$30 .db $31,$13,$08,$90,$00,$09,$91,$00 .db $0A,$92,$00,$0B,$93,$00,$27,$25 .db $28,$2C,$26,$01,$09,$67,$40,$2A .db $37,$14,$09,$07,$3E,$0C,$07,$3C .db $2D,$35,$23,$70,$E5,$00,$6E,$D6 .db $21,$31,$22,$74,$30,$32,$15,$36 .db $2C,$21,$36,$2D,$24,$1A,$62,$0D .db $2E,$28,$29,$6E,$EA,$02,$29,$3A .db $45,$27,$28,$14,$00,$66,$60,$00 .db $65,$60,$00,$67,$60,$63,$E7,$33 .db $02,$07,$3F,$07,$07,$3D,$0A,$68 .db $31,$20,$28,$29,$08,$67,$00,$0D .db $5C,$00,$0E,$5B,$00,$0F,$5A,$00 .db $10,$59,$00,$11,$58,$00,$13,$99 .db $00,$12,$9A,$00,$11,$9B,$00,$10 .db $9C,$00,$0F,$9D,$00,$0E,$9E,$00 .db $20,$2A,$28,$20,$2C,$29,$20,$2E .db $28,$48,$0E,$01,$06,$FE,$10,$A0 .db $20,$29,$20,$22,$28,$20,$24,$29 .db $20,$26,$68,$22,$2C,$49,$60,$FC .db $1F,$04,$05,$30,$27,$34,$0B,$28 .db $33,$0B,$29,$32,$03,$6A,$E2,$00 .db $6B,$E3,$00,$6C,$E4,$00,$6C,$E5 .db $02,$6B,$E6,$02,$6A,$E7,$02,$29 .db $37,$05,$28,$36,$0D,$27,$35,$0D .db $09,$64,$11,$0A,$03,$3E,$0B,$04 .db $3E,$0B,$05,$3F,$0A,$06,$3F,$34 .db $24,$41,$38,$45,$29,$34,$25,$34 .db $36,$2A,$11,$36,$2B,$14,$38,$3F .db $25,$1A,$60,$04,$A2,$20,$A8,$28 .db $2A,$49,$28,$2E,$58,$60,$FA,$78 .db $79,$A0,$15,$18,$69,$2A,$37,$47 .db $31,$37,$36,$33,$32,$2D,$41,$32 .db $2E,$54,$A6,$23,$79,$26,$2A,$48 .db $60,$F3,$5A,$28,$2E,$29,$60,$FE .db $73,$2F,$5D,$91,$58,$14,$1B,$16 .db $05,$86,$16,$FA,$10,$A8,$20,$28 .db $24,$22,$69,$24,$28,$58,$60,$F2 .db $3A,$26,$2D,$39,$60,$FD,$52,$08 .db $00,$00,$EA,$FF DATA_0785B4: .db $CB,$6A,$F8,$A4,$13,$00,$60,$F0 .db $21,$30,$F6,$6E,$E0,$D0,$6F,$D0 .db $D0,$07,$96,$60,$06,$9B,$02,$08 .db $9A,$01,$05,$9A,$00,$70,$D0,$DF .db $10,$5F,$0C,$3D,$0E,$12,$82,$E0 .db $0C,$00,$60,$F0,$21,$30,$F6,$2F .db $30,$C3,$6F,$ED,$00,$70,$DD,$0F .db $30,$40,$CF,$3D,$0E,$12,$80,$60 .db $F0,$21,$30,$F6,$02,$E0,$0D,$70 .db $60,$DF,$12,$5F,$09,$1C,$0E,$41 .db $3D,$0E,$12,$80,$60,$F0,$21,$30 .db $F6,$02,$E0,$0D,$10,$E0,$00,$71 .db $60,$DE,$3D,$0E,$12,$80,$60,$F0 .db $21,$30,$F6,$02,$E0,$0D,$10,$E0 .db $01,$72,$60,$DD,$3D,$0E,$12,$80 .db $60,$F0,$21,$30,$F6,$02,$E0,$0D .db $73,$60,$DC,$10,$E0,$02,$3D,$0E .db $12,$80,$60,$F0,$21,$30,$F6,$02 .db $E0,$0D,$10,$E0,$03,$74,$60,$DB .db $3D,$0E,$12,$80,$60,$F0,$21,$30 .db $F6,$02,$E0,$0D,$10,$E0,$04,$75 .db $60,$DA,$3D,$0E,$12,$80,$60,$F0 .db $21,$30,$F6,$02,$E0,$0D,$10,$E0 .db $05,$76,$60,$D9,$3D,$0E,$12,$80 .db $60,$F0,$21,$30,$F6,$02,$E0,$0D .db $10,$E0,$06,$77,$60,$D8,$18,$5F .db $04,$3D,$0E,$12,$80,$60,$F0,$21 .db $30,$F6,$02,$E0,$0D,$10,$E0,$07 .db $78,$60,$D7,$3D,$0E,$12,$80,$60 .db $F0,$21,$4D,$2E,$21,$30,$CE,$02 .db $E0,$0D,$10,$E0,$08,$79,$60,$A6 .db $30,$4D,$2F,$3D,$0B,$12,$00,$02 .db $00,$EA,$01,$02,$00,$EA,$02,$02 .db $00,$EA,$03,$02,$00,$EA,$04,$02 .db $00,$EA,$05,$02,$00,$EA,$06,$02 .db $00,$EA,$07,$02,$00,$EA,$08,$02 .db $00,$EA,$09,$02,$00,$EA,$0A,$02 .db $00,$EA,$0B,$02,$00,$EA,$FF DATA_0786E3: .db $70,$00,$00,$87,$20,$38,$44,$2F .db $30,$40,$A3,$30,$34,$7D,$13,$EA .db $02,$15,$EA,$02,$14,$EA,$00,$14 .db $EC,$00,$96,$E0,$10,$16,$E2,$10 .db $16,$E1,$00,$0F,$E0,$02,$11,$E0 .db $02,$10,$E0,$00,$10,$E2,$00,$38 .db $34,$25,$18,$E5,$05,$25,$76,$12 .db $15,$96,$01,$13,$96,$20,$13,$07 .db $36,$13,$98,$10,$15,$08,$28,$38 .db $3B,$23,$38,$4C,$2F,$16,$EC,$10 .db $16,$EE,$10,$16,$ED,$00,$0F,$EC .db $02,$11,$EC,$02,$10,$EC,$00,$10 .db $EE,$00,$93,$E2,$40,$13,$E5,$40 .db $13,$E3,$01,$15,$F3,$21,$08,$05 .db $41,$0F,$98,$02,$11,$98,$02,$10 .db $98,$00,$10,$9A,$00,$16,$E8,$02 .db $17,$E8,$00,$17,$EA,$00,$38,$3C .db $25,$18,$5D,$05,$13,$EE,$02,$15 .db $EE,$02,$14,$EE,$00,$94,$E0,$00 .db $38,$33,$23,$58,$14,$32,$16,$94 .db $02,$17,$96,$00,$17,$04,$2B,$0F .db $E4,$02,$11,$E4,$02,$10,$E4,$00 .db $10,$E6,$00,$13,$9A,$02,$15,$9A .db $02,$14,$9A,$00,$14,$9C,$00,$96 .db $E0,$12,$17,$01,$40,$0F,$E0,$02 .db $11,$E0,$02,$10,$E0,$00,$10,$E2 .db $00,$12,$E6,$03,$15,$E6,$03,$13 .db $E6,$10,$13,$E9,$10,$0F,$ED,$02 .db $11,$ED,$02,$10,$ED,$00,$10,$EF .db $00,$13,$08,$41,$15,$9E,$20,$15 .db $9F,$01,$95,$91,$20,$13,$E5,$02 .db $15,$E5,$02,$14,$E5,$00,$14,$E7 .db $00,$14,$06,$8E,$15,$9B,$20,$15 .db $9E,$20,$15,$9C,$01,$0E,$EB,$03 .db $11,$EB,$03,$0F,$EB,$10,$0F,$EE .db $10,$97,$67,$30,$16,$68,$40,$15 .db $69,$50,$37,$36,$0B,$15,$F2,$21 .db $36,$37,$0B,$35,$38,$0B,$34,$39 .db $0B,$34,$4A,$64,$34,$3F,$65,$B6 .db $80,$4F,$14,$53,$00,$13,$55,$00 .db $14,$56,$02,$12,$5E,$03,$14,$5E .db $03,$11,$07,$41,$13,$59,$00,$14 .db $5B,$00,$B6,$80,$4D,$35,$3E,$53 .db $35,$4F,$51,$13,$52,$03,$12,$56 .db $03,$14,$56,$03,$B3,$30,$1B,$33 .db $41,$72,$58,$14,$13,$33,$34,$4D .db $36,$85,$1A,$13,$55,$0F,$0A,$E5 .db $0F,$B6,$80,$16,$36,$37,$1B,$36 .db $48,$43,$13,$F8,$20,$32,$3B,$3B .db $32,$4C,$81,$30,$3D,$1B,$2D,$5E .db $30,$0F,$0F,$46,$30,$4E,$A2,$B0 .db $31,$A5,$15,$F4,$55,$13,$F8,$75 .db $15,$FC,$55,$0B,$09,$41,$92,$F0 .db $85,$16,$F4,$45,$11,$F8,$90,$0B .db $50,$01,$0F,$54,$01,$0C,$58,$01 .db $90,$53,$00,$0F,$54,$00,$90,$50 .db $01,$17,$F0,$35,$13,$F7,$70,$11 .db $08,$41,$39,$3D,$13,$39,$4E,$11 .db $38,$2E,$00,$AF,$5D,$91,$38,$40 .db $2F,$16,$01,$86,$B8,$40,$2F,$02 .db $00,$00,$BD,$06,$00,$00,$C0,$FF DATA_0788CB: .db $E3,$00,$00,$87,$40,$38,$40,$29 .db $15,$F1,$20,$77,$F3,$03,$36,$39 .db $1B,$36,$4A,$45,$11,$0E,$41,$75 .db $FD,$02,$B6,$30,$45,$37,$81,$3C .db $35,$35,$53,$35,$46,$51,$35,$38 .db $55,$11,$52,$01,$36,$3E,$43,$36 .db $4F,$40,$B6,$30,$45,$37,$81,$3A .db $36,$35,$43,$36,$46,$40,$36,$37 .db $45,$12,$52,$01,$35,$3C,$53,$35 .db $4D,$52,$74,$FD,$02,$B5,$30,$55 .db $37,$81,$33,$36,$35,$43,$36,$46 .db $49,$10,$52,$01,$75,$F7,$03,$12 .db $FD,$31,$11,$08,$41,$03,$02,$00 .db $C0,$FF DATA_078935: .db $20,$00,$70,$01,$14,$60,$E0,$F1 .db $60,$FE,$F1,$60,$C1,$1D,$01,$01 .db $57,$01,$0E,$58,$23,$0C,$11,$65 .db $B2,$01,$05,$A4,$00,$65,$B5,$01 .db $05,$A7,$00,$65,$B8,$01,$05,$AA .db $00,$65,$BB,$02,$69,$B2,$02,$09 .db $A5,$00,$69,$B6,$01,$09,$A8,$00 .db $69,$B9,$01,$09,$AB,$00,$69,$BC .db $01,$6D,$B2,$01,$0D,$A4,$00,$6D .db $B5,$01,$0D,$A7,$00,$6D,$B8,$01 .db $0D,$AA,$00,$6D,$BB,$02,$71,$B2 .db $02,$11,$A5,$00,$71,$B6,$01,$11 .db $A8,$00,$71,$B9,$01,$11,$AB,$00 .db $71,$BC,$01,$70,$E0,$A1,$70,$FE .db $A1,$75,$B2,$01,$15,$A4,$00,$75 .db $B5,$01,$15,$A7,$00,$75,$B8,$01 .db $15,$AA,$00,$75,$BB,$02,$37,$00 .db $31,$79,$D1,$1D,$19,$01,$59,$19 .db $0E,$5A,$00,$02,$00,$C0,$FF DATA_0789CC: .db $6B,$62,$31,$8B,$01,$6A,$C0,$4B .db $6F,$C0,$4B,$6A,$CC,$96,$58,$10 .db $12,$B9,$43,$13,$38,$33,$0D,$38 .db $36,$0B,$18,$67,$20,$31,$37,$6B .db $31,$48,$95,$31,$3E,$95,$76,$7F .db $1F,$6A,$C3,$36,$6A,$CA,$3A,$EA .db $C5,$39,$6E,$C2,$6C,$6E,$F1,$11 .db $38,$31,$23,$38,$42,$22,$39,$45 .db $14,$38,$35,$0D,$38,$39,$0B,$58 .db $1A,$15,$6A,$CF,$73,$76,$7F,$1F .db $EA,$C3,$57,$70,$C3,$47,$6A,$CB .db $A3,$6A,$CF,$29,$76,$7F,$11,$B8 .db $30,$25,$39,$A1,$1A,$38,$3C,$23 .db $38,$4D,$26,$14,$D4,$00,$74,$A5 .db $01,$6A,$C9,$26,$EA,$C0,$57,$6A .db $C8,$5C,$39,$44,$13,$38,$34,$0D .db $38,$37,$0B,$58,$18,$37,$71,$75 .db $11,$76,$75,$01,$71,$7C,$11,$76 .db $7C,$01,$72,$8B,$31,$72,$8D,$31 .db $72,$85,$30,$72,$87,$30,$F5,$81 .db $11,$75,$8B,$11,$74,$72,$19,$77 .db $72,$09,$75,$8F,$11,$6A,$C5,$58 .db $6A,$CE,$54,$EA,$C3,$57,$77,$70 .db $08,$74,$70,$18,$75,$89,$10,$6A .db $CB,$95,$EA,$C1,$27,$6A,$C9,$2B .db $6F,$81,$31,$6E,$72,$11,$73,$72 .db $01,$6F,$84,$30,$70,$75,$01,$70 .db $87,$50,$76,$77,$00,$6E,$7B,$11 .db $6F,$8C,$71,$77,$7B,$01,$6F,$8B .db $70,$6E,$88,$70,$6D,$75,$12,$6E .db $85,$10,$15,$D3,$00,$17,$02,$19 .db $15,$02,$1A,$14,$03,$1B,$15,$04 .db $1C,$72,$95,$00,$13,$D9,$00,$11 .db $DD,$01,$30,$3F,$7B,$B6,$49,$47 .db $30,$39,$5D,$11,$0C,$8E,$30,$40 .db $A8,$6A,$C5,$27,$6A,$CD,$6B,$EA .db $C9,$67,$39,$41,$13,$36,$31,$2D .db $36,$34,$2B,$36,$45,$49,$18,$6F .db $20,$36,$3F,$1D,$76,$A2,$01,$EA .db $C8,$77,$6A,$C1,$76,$34,$57,$40 .db $17,$08,$46,$38,$40,$2F,$72,$CE .db $51,$16,$0C,$47,$0B,$00,$00,$D4 .db $FF DATA_078B1D: .db $6B,$62,$31,$8B,$01,$E0,$63,$D0 .db $05,$00,$01,$60,$67,$D0,$60,$6F .db $D0,$E0,$65,$D0,$60,$6A,$D0,$60 .db $6E,$D0,$E0,$63,$D0,$60,$67,$D0 .db $09,$00,$01,$60,$6D,$B0,$E0,$65 .db $B0,$6D,$61,$71,$FF DATA_078B4A: .db $67,$62,$31,$8B,$01,$60,$C0,$8F .db $75,$C0,$57,$77,$C8,$3A,$F5,$C4 .db $12,$11,$05,$8E,$60,$C0,$8F,$E0 .db $C0,$8F,$74,$C4,$22,$77,$CA,$3F .db $75,$CC,$13,$73,$CD,$11,$E0,$C0 .db $8F,$74,$CD,$11,$75,$C3,$13,$73 .db $C4,$11,$E0,$C0,$8F,$74,$C3,$12 .db $F2,$C4,$21,$74,$CC,$12,$60,$C0 .db $8F,$E0,$C0,$8F,$6B,$CC,$11,$6F .db $CC,$11,$74,$CC,$11,$78,$CC,$11 .db $E0,$C0,$8F,$69,$C1,$65,$69,$C7 .db $96,$69,$CE,$E1,$78,$C1,$24,$78 .db $C6,$29,$14,$05,$87,$15,$0C,$90 .db $07,$00,$00,$D3,$FF DATA_078BB7: .db $67,$62,$31,$8B,$01,$E0,$CA,$A6 .db $6E,$CA,$C6,$E0,$CA,$6E,$67,$CA .db $12,$69,$CA,$11,$67,$CF,$14,$04 .db $00,$01,$60,$C0,$A1,$6E,$C9,$43 .db $E0,$C9,$A1,$ED,$C0,$D8,$03,$00 .db $01,$69,$C0,$12,$67,$C6,$12,$69 .db $C7,$11,$FF DATA_078BEA: .db $60,$60,$ED,$CB,$01,$39,$A1,$1D .db $6B,$C0,$14,$6B,$C5,$1A,$0D,$D0 .db $D0,$0D,$DF,$D0,$74,$41,$21,$74 .db $43,$21,$74,$45,$21,$74,$47,$21 .db $74,$49,$21,$74,$4B,$21,$74,$4D .db $21,$FF DATA_078C14: .db $82,$6E,$44,$DC,$1D,$00,$F1,$43 .db $4F,$01,$08,$6D,$72,$17,$6E,$73 .db $26,$50,$05,$0C,$51,$07,$0C,$52 .db $09,$0E,$53,$0B,$0F,$54,$0D,$0A .db $55,$0F,$0B,$D6,$00,$07,$57,$01 .db $09,$58,$02,$05,$59,$03,$07,$5A .db $03,$04,$52,$08,$0F,$53,$0B,$0F .db $54,$08,$0F,$55,$0B,$0F,$56,$08 .db $0F,$57,$0B,$0F,$58,$08,$0F,$59 .db $0B,$0F,$5A,$08,$0F,$70,$82,$0D .db $71,$84,$0B,$6B,$10,$43,$2A,$11 .db $00,$6B,$19,$43,$66,$13,$46,$25 .db $18,$00,$68,$1B,$23,$07,$01,$31 .db $2C,$16,$30,$F0,$80,$0F,$71,$80 .db $0F,$52,$08,$07,$53,$0B,$04,$54 .db $08,$07,$55,$0B,$04,$56,$08,$07 .db $57,$0B,$04,$58,$08,$07,$59,$0B .db $04,$5A,$08,$07,$6F,$63,$07,$64 .db $6D,$B2,$64,$63,$39,$2E,$13,$00 .db $0C,$FB,$31,$60,$9D,$31,$62,$73 .db $18,$63,$74,$27,$68,$98,$61,$08 .db $05,$62,$08,$09,$63,$02,$00,$00 .db $F8,$FF DATA_078CC6: .db $C7,$6C,$47,$EC,$05,$0A,$F1,$53 .db $6A,$60,$F0,$6A,$63,$2C,$7A,$60 .db $0F,$79,$81,$0E,$75,$51,$35,$76 .db $58,$25,$77,$5F,$15,$70,$78,$0C .db $6D,$97,$B0,$6D,$9E,$B0,$14,$02 .db $5B,$14,$03,$5C,$14,$04,$5E,$12 .db $06,$5B,$14,$08,$5B,$14,$09,$5C .db $14,$0A,$5C,$15,$09,$5B,$15,$0A .db $5D,$EA,$60,$2F,$7A,$60,$0F,$79 .db $80,$0F,$6D,$95,$B0,$16,$01,$5B .db $16,$02,$5C,$16,$03,$5E,$0D,$06 .db $65,$71,$18,$23,$74,$1A,$44,$14 .db $08,$64,$0D,$0F,$64,$EA,$60,$2F .db $79,$80,$0F,$7A,$60,$0F,$6D,$91 .db $B0,$70,$72,$0C,$6D,$98,$B0,$6D .db $9F,$B0,$F0,$70,$0C,$6D,$96,$B0 .db $6D,$9D,$B0,$70,$7E,$05,$79,$80 .db $0F,$7A,$60,$0F,$6A,$60,$2F,$EA .db $60,$2F,$7A,$60,$0F,$79,$80,$0F .db $6D,$94,$B0,$6D,$66,$2A,$76,$66 .db $2A,$EA,$60,$2F,$7A,$60,$0F,$79 .db $80,$0F,$6D,$92,$B0,$6D,$99,$B0 .db $70,$73,$05,$EA,$60,$2F,$7A,$60 .db $0F,$79,$80,$0C,$59,$ED,$02,$6D .db $64,$78,$EA,$60,$2F,$6D,$6E,$D1 .db $18,$FC,$21,$70,$10,$32,$70,$13 .db $72,$70,$16,$34,$74,$16,$34,$78 .db $18,$23,$78,$15,$22,$78,$10,$24 .db $07,$00,$00,$F7,$FF DATA_078DAB: .db $B9,$6A,$42,$D4,$11,$00,$D0,$F0 .db $63,$C0,$FC,$01,$F0,$43,$70,$C0 .db $FF,$80,$D0,$F0,$70,$C0,$FF,$80 .db $D0,$F0,$07,$03,$41,$1F,$D0,$F0 .db $80,$D0,$F0,$1F,$D0,$F0,$80,$D0 .db $F0,$17,$09,$41,$1F,$D0,$F0,$80 .db $D0,$F0,$1F,$D0,$F0,$80,$D0,$F0 .db $1F,$D0,$F0,$80,$D0,$F0,$1F,$D0 .db $F0,$80,$D0,$F0,$1F,$D0,$F0,$10 .db $06,$41,$80,$D0,$F0,$1F,$D0,$F0 .db $80,$D0,$F0,$1F,$D0,$F0,$80,$D0 .db $F0,$1F,$D0,$F0,$80,$D0,$F0,$0E .db $DC,$01,$10,$DC,$02,$10,$08,$32 .db $1F,$D0,$F0,$80,$D0,$F0,$0A,$0B .db $41,$1F,$D0,$F0,$80,$D0,$F0,$1F .db $D0,$F0,$80,$D0,$F0,$01,$59,$6E .db $10,$59,$6E,$1F,$D0,$F0,$80,$D0 .db $F0,$01,$50,$0E,$10,$50,$0E,$1F .db $D0,$F0,$13,$06,$41,$80,$D0,$F0 .db $01,$50,$7E,$10,$50,$7E,$1F,$D0 .db $F0,$80,$D0,$F0,$01,$58,$7E,$10 .db $58,$7E,$1F,$D0,$F0,$80,$D0,$F0 .db $01,$50,$9E,$01,$DC,$2C,$10,$50 .db $9E,$12,$DC,$2C,$1F,$D0,$F0,$80 .db $D0,$F0,$1F,$D0,$F0,$80,$D0,$F0 .db $1F,$D0,$F0,$80,$D0,$F0,$1F,$D0 .db $F0,$80,$D0,$F0,$1F,$D0,$F0,$80 .db $D0,$F0,$21,$88,$7E,$30,$88,$7E .db $1F,$D0,$F0,$13,$D7,$06,$14,$D6 .db $04,$15,$D5,$02,$80,$D0,$F0,$01 .db $10,$FE,$10,$10,$FE,$1F,$D0,$F0 .db $FF DATA_078EA4: .db $D1,$60,$18,$E2,$13,$60,$D0,$0F .db $58,$10,$4E,$B7,$33,$0B,$74,$50 .db $05,$75,$50,$20,$17,$64,$10,$16 .db $65,$20,$15,$66,$30,$14,$67,$40 .db $13,$68,$50,$12,$69,$60,$36,$34 .db $0B,$35,$35,$0B,$34,$36,$0B,$33 .db $37,$0B,$32,$38,$0B,$31,$39,$0B .db $31,$4A,$94,$34,$4F,$41,$31,$3F .db $2D,$60,$D0,$0F,$E0,$D0,$05,$61 .db $E5,$B0,$60,$D6,$CC,$00,$05,$3E .db $34,$31,$3D,$70,$64,$37,$70,$6E .db $3E,$73,$DB,$03,$32,$4C,$01,$12 .db $0B,$3D,$12,$0E,$3C,$94,$B0,$39 .db $2D,$3B,$2B,$10,$0C,$3F,$6E,$DD .db $28,$2D,$4C,$21,$2B,$3D,$1B,$2B .db $4E,$21,$29,$3F,$1B,$60,$D3,$A4 .db $60,$D8,$71,$60,$DA,$52,$60,$DD .db $37,$6B,$E3,$12,$68,$E8,$22,$66 .db $EA,$12,$64,$ED,$12,$0A,$03,$3F .db $07,$08,$3F,$05,$0A,$3F,$03,$0D .db $3F,$14,$9E,$00,$74,$6F,$13,$E0 .db $D5,$3F,$29,$40,$62,$2D,$43,$25 .db $10,$66,$83,$14,$6A,$40,$29,$33 .db $3D,$31,$35,$6C,$10,$05,$3E,$14 .db $93,$01,$12,$00,$41,$2D,$39,$2D .db $33,$4B,$7F,$30,$3A,$2D,$6D,$6D .db $2D,$68,$66,$23,$28,$49,$0F,$69 .db $D9,$0F,$09,$09,$3F,$85,$06,$41 .db $24,$38,$3C,$60,$D5,$33,$60,$D9 .db $07,$61,$E9,$82,$03,$08,$3E,$00 .db $09,$3F,$33,$3B,$75,$39,$9C,$13 .db $6B,$6F,$2F,$B8,$30,$23,$58,$11 .db $22,$61,$E0,$60,$60,$D1,$78,$24 .db $2A,$39,$24,$2D,$38,$60,$FA,$35 .db $00,$00,$3E,$6B,$6E,$2F,$2B,$4E .db $10,$6D,$DE,$00,$10,$94,$75,$10 .db $9A,$11,$14,$9A,$31,$10,$9C,$71 .db $10,$9E,$31,$16,$9E,$11,$90,$90 .db $72,$34,$38,$3B,$34,$49,$62,$34 .db $3C,$3D,$6B,$6D,$29,$2B,$4D,$10 .db $60,$DA,$4F,$60,$D0,$79,$24,$2A .db $37,$6D,$DD,$00,$71,$6F,$1F,$E1 .db $EA,$32,$65,$6E,$1F,$60,$DA,$0F .db $00,$0A,$3F,$28,$26,$21,$2B,$26 .db $27,$2B,$2A,$38,$28,$47,$23,$2B .db $4B,$0B,$28,$3B,$2D,$6C,$DD,$20 .db $6C,$DE,$1D,$2D,$2E,$17,$1A,$64 .db $05,$38,$24,$03,$14,$01,$87,$37 .db $28,$10,$58,$1A,$11,$37,$2A,$03 .db $32,$23,$26,$72,$D7,$15,$33,$27 .db $17,$33,$2B,$16,$72,$DD,$20,$72 .db $EE,$22,$14,$9F,$01,$E0,$DA,$0F .db $27,$57,$40,$0A,$08,$46,$2B,$47 .db $05,$27,$3C,$3C,$06,$0C,$3E,$27 .db $4D,$4C,$26,$3D,$0E,$06,$CE,$0A .db $6C,$DC,$08,$2C,$2C,$17,$38,$3C .db $25,$15,$BD,$37,$71,$6C,$3F,$71 .db $61,$36,$74,$D6,$06,$31,$4B,$21 .db $33,$47,$03,$13,$07,$3D,$31,$3A .db $1B,$11,$F8,$10,$B8,$35,$23,$38 .db $46,$29,$2C,$23,$16,$6C,$D5,$14 .db $25,$39,$1B,$25,$3A,$75,$6D,$EA .db $02,$71,$6E,$35,$73,$4C,$01,$69 .db $4D,$00,$65,$6E,$68,$60,$DA,$0E .db $B8,$40,$28,$36,$38,$1B,$36,$49 .db $41,$34,$3A,$1B,$34,$4B,$61,$39 .db $4D,$1F,$34,$3D,$4D,$6C,$E0,$10 .db $6B,$D1,$24,$6B,$E6,$22,$0B,$00 .db $3E,$04,$06,$18,$60,$DC,$2F,$63 .db $EC,$42,$60,$D9,$72,$25,$46,$12 .db $21,$38,$3C,$67,$D7,$01,$02,$0C .db $3F,$00,$08,$3E,$07,$06,$3F,$71 .db $63,$14,$31,$43,$00,$12,$03,$3F .db $70,$6C,$1B,$2E,$3E,$1B,$2E,$4F .db $27,$F5,$62,$1D,$39,$4D,$1F,$70 .db $67,$1C,$2E,$37,$1D,$71,$D7,$00 .db $60,$DC,$2F,$66,$63,$1B,$03,$9F .db $36,$6A,$61,$1B,$6D,$DC,$0F,$2A .db $2C,$13,$6C,$EB,$10,$0B,$0B,$3E .db $35,$4F,$0F,$76,$DF,$0F,$AC,$40 .db $0D,$39,$4D,$14,$76,$DF,$01,$35 .db $4F,$01,$70,$67,$19,$13,$0E,$41 .db $66,$66,$18,$05,$59,$03,$23,$3D .db $2C,$60,$DC,$21,$02,$0D,$3E,$60 .db $DE,$A2,$6B,$EE,$22,$6D,$DC,$01 .db $0A,$0E,$3F,$08,$06,$8E,$09,$03 .db $41,$09,$06,$8E,$0A,$06,$8E,$0B .db $06,$8E,$28,$3D,$3C,$07,$0D,$3E .db $0D,$00,$01,$10,$24,$02,$F0,$60 .db $2F,$32,$30,$2C,$73,$E1,$32,$30 .db $40,$00,$11,$00,$3E,$12,$01,$3F .db $60,$D1,$AD,$39,$32,$15,$0C,$92 .db $36,$0E,$99,$11,$0C,$9B,$32,$37 .db $36,$33,$37,$47,$38,$36,$2A,$00 .db $36,$2C,$03,$61,$EF,$92,$60,$DF .db $0C,$00,$0F,$3F,$B7,$40,$3F,$70 .db $65,$2F,$12,$02,$2B,$6C,$6B,$1B .db $65,$63,$1F,$60,$EC,$02,$00,$FD .db $24,$20,$3F,$4C,$E0,$D0,$6F,$37 .db $40,$3C,$13,$B0,$34,$30,$44,$18 .db $72,$D4,$08,$33,$3C,$3C,$35,$0A .db $11,$15,$07,$86,$12,$0C,$3E,$6C .db $69,$1D,$30,$4D,$A0,$32,$4E,$83 .db $30,$3E,$1D,$07,$BB,$44,$87,$B0 .db $01,$0A,$B0,$11,$07,$B2,$41,$60 .db $D0,$6F,$6A,$66,$35,$0C,$06,$3C .db $6D,$D6,$00,$30,$31,$1B,$30,$42 .db $A4,$32,$47,$81,$34,$49,$61,$36 .db $4B,$44,$27,$3F,$EC,$06,$0F,$3E .db $11,$0D,$41,$30,$37,$1D,$32,$39 .db $1D,$34,$3B,$1D,$0F,$00,$00,$E4 .db $10,$00,$00,$E5,$FF DATA_079221: .db $C1,$60,$18,$E2,$03,$2F,$5D,$91 .db $58,$10,$1F,$16,$F1,$10,$16,$09 .db $86,$FF DATA_079233: .db $20,$00,$76,$01,$14,$60,$E0,$F1 .db $60,$FE,$F1,$60,$C1,$1D,$01,$01 .db $57,$01,$0E,$58,$23,$0C,$11,$65 .db $B2,$01,$05,$A4,$00,$65,$B5,$01 .db $05,$A7,$00,$65,$B8,$01,$05,$AA .db $00,$65,$BB,$02,$69,$B2,$02,$09 .db $A5,$00,$69,$B6,$01,$09,$A8,$00 .db $69,$B9,$01,$09,$AB,$00,$69,$BC .db $01,$6D,$B2,$01,$0D,$A4,$00,$6D .db $B5,$01,$0D,$A7,$00,$6D,$B8,$01 .db $0D,$AA,$00,$6D,$BB,$02,$71,$B2 .db $02,$11,$A5,$00,$71,$B6,$01,$11 .db $A8,$00,$71,$B9,$01,$11,$AB,$00 .db $71,$BC,$01,$70,$E0,$A1,$70,$FE .db $A1,$75,$B2,$01,$15,$A4,$00,$75 .db $B5,$01,$15,$A7,$00,$75,$B8,$01 .db $15,$AA,$00,$75,$BB,$02,$37,$00 .db $31,$79,$D1,$1D,$19,$01,$59,$19 .db $0E,$5A,$00,$02,$00,$E4,$FF DATA_0792CA: .db $C7,$62,$13,$E1,$03,$58,$10,$11 .db $60,$D0,$6F,$B8,$32,$25,$31,$36 .db $93,$31,$47,$91,$31,$39,$95,$60 .db $D0,$6F,$11,$5C,$02,$B0,$31,$A3 .db $30,$42,$A0,$30,$33,$A5,$0F,$56 .db $01,$30,$3A,$A3,$30,$4B,$A1,$30 .db $3D,$A5,$60,$D0,$6F,$B7,$32,$33 .db $37,$43,$30,$37,$34,$35,$13,$03 .db $31,$30,$39,$A3,$30,$4A,$A1,$30 .db $3C,$A5,$60,$D0,$6F,$B0,$34,$A3 .db $30,$45,$A0,$30,$36,$A5,$10,$59 .db $02,$30,$3E,$A3,$30,$4F,$A1,$60 .db $D0,$6F,$B0,$31,$A5,$31,$36,$93 .db $31,$47,$91,$31,$39,$95,$11,$5C .db $02,$60,$D0,$6F,$B1,$31,$93,$31 .db $42,$90,$38,$43,$27,$31,$33,$6D .db $38,$3B,$25,$0D,$0D,$41,$60,$D0 .db $6F,$38,$3F,$23,$B8,$40,$23,$38 .db $34,$25,$14,$02,$8E,$33,$37,$73 .db $2F,$58,$40,$12,$09,$46,$33,$48 .db $77,$31,$0D,$11,$27,$3F,$BC,$60 .db $D0,$6F,$06,$0F,$3E,$07,$00,$00 .db $E3,$FF DATA_07937C: .db $C7,$62,$13,$E1,$03,$B0,$33,$A3 .db $30,$44,$A0,$30,$35,$A5,$34,$3A .db $63,$34,$4B,$64,$B4,$30,$65,$32 .db $34,$83,$32,$45,$83,$32,$39,$85 .db $34,$3E,$63,$34,$4F,$61,$B4,$31 .db $65,$31,$35,$93,$31,$46,$91,$31 .db $38,$95,$34,$3D,$63,$34,$4E,$64 .db $B4,$33,$65,$35,$37,$53,$35,$48 .db $54,$35,$3D,$55,$B4,$32,$63,$34 .db $43,$61,$34,$35,$65,$35,$3A,$53 .db $35,$4B,$54,$B5,$30,$55,$32,$3C .db $83,$32,$4D,$80,$32,$3E,$85,$B0 .db $35,$A3,$30,$36,$A5,$FF DATA_0793E2: .db $C9,$62,$13,$E1,$03,$60,$D0,$5B .db $30,$40,$A2,$34,$43,$61,$58,$15 .db $99,$26,$30,$9E,$05,$00,$3F,$0A .db $01,$31,$30,$33,$3D,$34,$35,$3D .db $36,$06,$22,$14,$0D,$35,$25,$2C .db $78,$60,$FC,$46,$E0,$D3,$CC,$35 .db $38,$2B,$35,$49,$33,$35,$3D,$2D .db $70,$68,$13,$F0,$61,$51,$35,$36 .db $2B,$35,$37,$2D,$16,$5F,$01,$73 .db $6A,$1D,$70,$66,$11,$60,$D0,$CA .db $6D,$EA,$20,$60,$DB,$F1,$60,$DD .db $D3,$6E,$ED,$12,$0C,$0A,$3E,$0D .db $0D,$3F,$B5,$31,$2C,$35,$32,$2E .db $14,$01,$3E,$14,$02,$3F,$16,$04 .db $41,$70,$6B,$41,$60,$D1,$DE,$6D .db $60,$28,$6D,$F1,$06,$0D,$00,$3E .db $0D,$08,$3F,$6E,$EF,$30,$0D,$0F .db $3E,$35,$3F,$2B,$F0,$64,$17,$60 .db $F0,$F4,$70,$D0,$14,$60,$D5,$DA .db $2E,$35,$1E,$0D,$05,$3F,$0E,$06 .db $41,$35,$40,$33,$35,$34,$2D,$35 .db $37,$2B,$35,$48,$32,$35,$3B,$2D .db $73,$6E,$1E,$E0,$D0,$D6,$6E,$E6 .db $10,$60,$D7,$FD,$0D,$06,$3E,$30 .db $31,$2B,$30,$42,$30,$30,$33,$2D .db $35,$3B,$2C,$34,$3C,$3E,$14,$0B .db $3E,$73,$6F,$26,$35,$3F,$2C,$B6 .db $30,$1E,$15,$00,$3F,$17,$51,$03 .db $60,$D5,$DF,$0D,$05,$3F,$6E,$E5 .db $12,$6E,$EA,$10,$6D,$DB,$22,$6E .db $EE,$12,$0D,$0E,$3F,$16,$0E,$19 .db $16,$0F,$1A,$0D,$0A,$3E,$73,$68 .db $1B,$B5,$32,$2C,$36,$43,$23,$34 .db $33,$1E,$17,$00,$1B,$17,$01,$1C .db $14,$02,$3E,$6E,$E1,$10,$0D,$01 .db $3E,$36,$37,$1D,$72,$6A,$31,$60 .db $D2,$F4,$70,$E6,$20,$60,$D7,$D3 .db $6E,$E7,$42,$6E,$EA,$10,$0F,$06 .db $3E,$0D,$07,$3F,$0D,$0A,$3E,$73 .db $6E,$1A,$60,$DB,$FB,$B0,$36,$2C .db $60,$D7,$D4,$6D,$F7,$60,$2E,$38 .db $56,$72,$6B,$18,$73,$EB,$20,$73 .db $DC,$20,$74,$ED,$12,$13,$0D,$3F .db $60,$DC,$E6,$6E,$EB,$00,$0F,$06 .db $3E,$0D,$08,$3F,$0D,$0B,$3E,$11 .db $0C,$19,$10,$0E,$1A,$10,$0F,$1B .db $8F,$01,$1C,$2F,$32,$2C,$0E,$02 .db $3E,$36,$30,$1B,$36,$41,$27,$36 .db $39,$1D,$60,$D3,$D8,$60,$FF,$F0 .db $2E,$33,$46,$0D,$03,$3F,$72,$67 .db $18,$13,$6F,$70,$30,$3F,$1C,$0F .db $0F,$3E,$30,$0D,$11,$36,$3C,$1B .db $36,$4D,$21,$34,$3E,$1C,$13,$0E .db $3E,$17,$5A,$01,$14,$5D,$10,$30 .db $37,$23,$30,$38,$1D,$60,$DC,$F2 .db $6E,$EB,$10,$0D,$0B,$3E,$09,$00 .db $00,$E2,$FF DATA_0795A5: .db $C9,$62,$13,$E1,$03,$E0,$D6,$D9 .db $60,$E5,$D0,$30,$35,$A3,$30,$46 .db $A9,$B0,$40,$AF,$60,$D0,$DF,$E0 .db $D0,$DF,$30,$40,$AF,$B0,$40,$AF .db $60,$D0,$DF,$E0,$D0,$DF,$30,$40 .db $AF,$B0,$40,$AF,$60,$D0,$DF,$E0 .db $D0,$DF,$30,$40,$AF,$B0,$40,$AF .db $60,$D0,$DF,$E0,$D0,$DF,$30,$40 .db $AF,$2E,$3E,$1C,$0D,$0E,$3E,$0D .db $6F,$30,$FF DATA_0795F0: .db $C8,$62,$18,$E1,$03,$60,$D0,$7F .db $38,$43,$28,$28,$30,$F6,$38,$30 .db $26,$38,$32,$23,$17,$D2,$08,$16 .db $D2,$02,$16,$D7,$02,$15,$D8,$00 .db $15,$D3,$00,$2B,$3B,$CB,$2B,$4C .db $F9,$07,$00,$3F,$E0,$D0,$7F,$37 .db $3F,$33,$31,$07,$21,$31,$36,$96 .db $71,$EB,$30,$2B,$46,$49,$70,$D6 .db $05,$74,$EC,$02,$73,$ED,$02,$72 .db $EE,$02,$71,$EF,$02,$10,$6C,$20 .db $10,$6D,$10,$10,$6E,$00,$10,$06 .db $3F,$10,$0B,$3E,$13,$0C,$3F,$12 .db $0D,$3F,$11,$0E,$3F,$10,$0F,$3F .db $EB,$63,$2F,$70,$E0,$02,$6F,$E1 .db $02,$6E,$E2,$02,$2B,$40,$23,$6D .db $D3,$00,$0E,$60,$00,$0F,$00,$3F .db $0E,$01,$3F,$0D,$02,$3F,$60,$D0 .db $7F,$37,$40,$31,$35,$31,$1B,$35 .db $42,$51,$33,$33,$1B,$33,$44,$71 .db $31,$35,$1B,$31,$46,$90,$31,$4C .db $97,$31,$47,$14,$73,$D7,$04,$37 .db $47,$34,$34,$37,$2E,$34,$3B,$2C .db $13,$07,$3F,$13,$0B,$3E,$E0,$D0 .db $7C,$68,$EC,$60,$60,$DD,$E2,$07 .db $0C,$3E,$36,$44,$48,$31,$34,$4D .db $32,$3C,$3B,$32,$4D,$82,$E0,$D0 .db $C7,$39,$40,$17,$6D,$E0,$12,$6D .db $E7,$20,$32,$30,$6D,$77,$51,$05 .db $18,$C1,$05,$33,$37,$5B,$33,$48 .db $71,$33,$3A,$75,$60,$D8,$F6,$0C .db $00,$3F,$0C,$07,$3E,$70,$EE,$40 .db $70,$DF,$40,$60,$FF,$F7,$0F,$0E .db $3E,$F0,$D0,$16,$72,$E0,$22,$11 .db $00,$3F,$35,$33,$53,$35,$44,$56 .db $31,$3A,$3B,$31,$4B,$94,$60,$D8 .db $DF,$60,$F7,$C0,$6E,$E7,$32,$0D .db $07,$3F,$E0,$D8,$A8,$6B,$E8,$22 .db $39,$48,$18,$31,$38,$7D,$31,$40 .db $05,$72,$D0,$05,$12,$00,$3F,$12 .db $05,$3E,$31,$46,$91,$37,$40,$35 .db $33,$30,$3E,$33,$35,$3C,$18,$C9 .db $06,$77,$49,$06,$0A,$08,$3F,$EB .db $E0,$30,$60,$D1,$E1,$60,$E3,$E2 .db $0A,$00,$3E,$32,$30,$6B,$32,$41 .db $82,$2F,$5D,$91,$58,$14,$1B,$32 .db $34,$5D,$16,$07,$86,$FF DATA_07975E: .db $C8,$62,$18,$E1,$03,$AD,$37,$D3 .db $2D,$48,$DA,$AD,$43,$DF,$AD,$33 .db $D5,$AD,$3B,$D3,$2D,$4C,$DB,$AD .db $48,$DF,$AD,$38,$D5,$FF DATA_07977C: .db $A5,$A0,$72,$51,$06,$37,$C0,$0F .db $92,$53,$00,$37,$C0,$01,$0D,$07 .db $41,$07,$E7,$00,$0C,$E9,$00,$08 .db $EC,$00,$08,$EF,$00,$06,$5D,$00 .db $0D,$5D,$00,$8E,$02,$41,$0B,$E4 .db $00,$11,$EB,$00,$11,$EF,$00,$12 .db $5D,$00,$14,$EC,$00,$14,$EE,$00 .db $16,$5D,$00,$91,$E5,$00,$0D,$E3 .db $00,$0A,$E5,$00,$08,$E5,$00,$06 .db $E7,$00,$08,$07,$41,$08,$E9,$00 .db $0A,$ED,$00,$0D,$ED,$00,$09,$EF .db $00,$0B,$0F,$41,$0E,$EF,$00,$8A .db $E1,$00,$0A,$E5,$00,$0A,$03,$41 .db $0D,$E2,$00,$0D,$E4,$00,$11,$E7 .db $00,$0D,$EC,$00,$13,$ED,$00,$37 .db $CE,$0A,$92,$E9,$00,$13,$EA,$02 .db $12,$ED,$00,$0F,$EB,$50,$FF DATA_079803: .db $64,$EC,$47,$AC,$25,$77,$80,$08 .db $78,$94,$21,$18,$05,$65,$34,$2B .db $21,$74,$8C,$04,$75,$9E,$51,$15 .db $0C,$64,$10,$0E,$30,$8F,$52,$02 .db $0E,$03,$41,$74,$45,$60,$34,$28 .db $34,$78,$4C,$20,$12,$5F,$02,$F6 .db $42,$40,$12,$56,$00,$11,$57,$00 .db $12,$58,$00,$77,$88,$03,$78,$9A .db $21,$F6,$92,$41,$16,$03,$65,$13 .db $0E,$47,$60,$AF,$F0,$70,$AF,$A0 .db $75,$80,$0E,$E0,$51,$FE,$70,$51 .db $AE,$60,$A0,$F1,$70,$A0,$A1,$03 .db $00,$00,$DD,$FF DATA_079867: .db $49,$E0,$47,$AC,$45,$60,$60,$F0 .db $70,$60,$A0,$75,$61,$52,$13,$02 .db $47,$15,$58,$50,$15,$5D,$50,$15 .db $59,$03,$90,$57,$0B,$15,$52,$0D .db $16,$54,$42,$10,$06,$16,$0C,$05 .db $41,$0C,$58,$07,$95,$50,$0B,$16 .db $59,$42,$10,$56,$09,$0C,$5F,$30 .db $0C,$5B,$30,$0C,$50,$0A,$15,$0C .db $16,$15,$0D,$16,$15,$0E,$16,$15 .db $0F,$16,$95,$00,$16,$15,$01,$16 .db $15,$02,$16,$15,$03,$16,$15,$04 .db $16,$75,$85,$06,$15,$0C,$16,$15 .db $0D,$16,$15,$0E,$16,$15,$0F,$16 .db $70,$96,$40,$60,$96,$F0,$03,$E7 .db $02,$05,$E7,$02,$04,$E9,$00,$04 .db $E7,$00,$60,$9A,$F0,$70,$9A,$40 .db $10,$98,$00,$13,$08,$47,$0C,$08 .db $41,$95,$00,$16,$15,$01,$16,$15 .db $02,$16,$15,$03,$16,$15,$54,$52 .db $13,$5A,$71,$0E,$0B,$41,$95,$50 .db $51,$15,$52,$0A,$15,$5D,$51,$11 .db $07,$34,$93,$53,$72,$14,$58,$11 .db $70,$6E,$51,$78,$4C,$2C,$16,$0E .db $47,$16,$EF,$1F,$60,$6E,$F1,$E0 .db $60,$FF,$70,$60,$5F,$16,$0B,$47 .db $16,$EF,$1F,$E0,$60,$FF,$70,$60 .db $5F,$16,$05,$47,$16,$0E,$47,$16 .db $EF,$1E,$E0,$60,$FE,$70,$60,$5E .db $60,$AF,$F0,$70,$AF,$A0,$16,$0C .db $47,$00,$00,$00,$DB,$03,$00,$00 .db $D9,$06,$00,$00,$14,$07,$00,$00 .db $DB,$08,$00,$00,$DA,$09,$00,$00 .db $DC,$FF DATA_079969: .db $44,$E0,$47,$AC,$95,$60,$61,$0E .db $60,$A0,$F1,$70,$A0,$71,$78,$40 .db $22,$18,$5B,$08,$16,$0F,$41,$15 .db $E8,$0E,$14,$EA,$0A,$13,$EC,$06 .db $E0,$60,$0F,$78,$44,$2E,$74,$4C .db $31,$10,$0F,$41,$74,$6A,$01,$15 .db $5A,$20,$61,$AA,$F0,$61,$AB,$F1 .db $71,$AA,$20,$71,$AB,$21,$F4,$63 .db $30,$60,$60,$0F,$14,$07,$25,$96 .db $01,$47,$60,$60,$0F,$61,$66,$30 .db $66,$66,$0C,$E0,$60,$02,$60,$A3 .db $F0,$60,$A4,$F1,$70,$A4,$71,$70 .db $A3,$70,$60,$55,$FA,$70,$55,$7A .db $03,$00,$00,$DD,$FF DATA_0799D6: .db $D3,$60,$28,$A2,$06,$6B,$C2,$0E .db $6C,$D3,$EC,$78,$C0,$0E,$79,$D1 .db $1C,$F4,$52,$60,$74,$54,$61,$11 .db $03,$31,$0F,$59,$02,$76,$5E,$42 .db $38,$46,$27,$B8,$40,$27,$75,$58 .db $53,$10,$54,$02,$11,$5F,$02,$90 .db $00,$41,$63,$C8,$06,$64,$D9,$F4 .db $74,$D9,$64,$E3,$C2,$08,$64,$D3 .db $F6,$74,$D3,$66,$11,$5D,$02,$E3 .db $C0,$03,$64,$D1,$F1,$74,$D1,$61 .db $15,$5A,$02,$14,$0B,$41,$F1,$50 .db $90,$0B,$55,$02,$10,$08,$41,$00 .db $FB,$F3,$0E,$FB,$23,$15,$FB,$51 .db $8F,$5A,$00,$0E,$5B,$00,$0F,$5C .db $00,$F8,$C0,$0B,$79,$D1,$19,$00 .db $F1,$F3,$0E,$F1,$43,$2D,$55,$40 .db $0E,$06,$46,$0E,$0A,$30,$E4,$D1 .db $F1,$74,$D1,$61,$63,$C0,$03,$6E .db $C0,$03,$72,$C0,$03,$76,$C0,$03 .db $6E,$56,$C1,$30,$28,$54,$32,$28 .db $54,$34,$28,$54,$74,$5E,$61,$EE .db $56,$C1,$30,$25,$51,$32,$25,$51 .db $34,$25,$51,$92,$5B,$01,$8B,$50 .db $01,$15,$5D,$01,$92,$02,$41,$10 .db $00,$01,$11,$56,$02,$10,$07,$41 .db $90,$DB,$02,$F6,$51,$40,$2F,$5D .db $91,$16,$07,$86,$78,$CC,$04,$79 .db $DD,$12,$78,$C3,$08,$79,$D4,$16 .db $F8,$C1,$0E,$79,$D2,$1C,$06,$00 .db $00,$BB,$FF DATA_079AC1: .db $20,$00,$78,$21,$14,$60,$E0,$F1 .db $60,$FE,$F1,$60,$C1,$1D,$01,$01 .db $57,$01,$0E,$58,$23,$0C,$11,$65 .db $B2,$01,$05,$A4,$00,$65,$B5,$01 .db $05,$A7,$00,$65,$B8,$01,$05,$AA .db $00,$65,$BB,$02,$69,$B2,$02,$09 .db $A5,$00,$69,$B6,$01,$09,$A8,$00 .db $69,$B9,$01,$09,$AB,$00,$69,$BC .db $01,$6D,$B2,$01,$0D,$A4,$00,$6D .db $B5,$01,$0D,$A7,$00,$6D,$B8,$01 .db $0D,$AA,$00,$6D,$BB,$02,$71,$B2 .db $02,$11,$A5,$00,$71,$B6,$01,$11 .db $A8,$00,$71,$B9,$01,$11,$AB,$00 .db $71,$BC,$01,$70,$E0,$A1,$70,$FE .db $A1,$75,$B2,$01,$15,$A4,$00,$75 .db $B5,$01,$15,$A7,$00,$75,$B8,$01 .db $15,$AA,$00,$75,$BB,$02,$37,$00 .db $31,$79,$D1,$1D,$19,$01,$59,$19 .db $0E,$5A,$00,$02,$00,$BB,$FF DATA_079B58: .db $D4,$60,$12,$92,$23,$60,$D0,$CF .db $33,$40,$7A,$37,$4B,$37,$33,$2B .db $34,$71,$6F,$13,$B7,$33,$35,$30 .db $20,$01,$30,$41,$10,$30,$32,$15 .db $60,$D0,$CF,$79,$A4,$1B,$B7,$30 .db $33,$37,$41,$3B,$60,$D0,$C5,$6D .db $E3,$50,$60,$D6,$D9,$6C,$D4,$61 .db $2D,$26,$59,$0C,$03,$3E,$33,$2C .db $31,$33,$4D,$72,$E0,$D0,$DF,$37 .db $40,$39,$33,$30,$3D,$13,$F1,$30 .db $37,$3A,$35,$79,$AB,$19,$13,$07 .db $8E,$E0,$D0,$DF,$79,$A5,$1F,$B7 .db $35,$33,$37,$46,$36,$14,$F8,$21 .db $35,$3C,$1B,$35,$4D,$54,$11,$0E .db $2B,$60,$D0,$DB,$61,$EC,$C2,$60 .db $DC,$04,$00,$0C,$3F,$E0,$D1,$0F .db $28,$31,$CB,$25,$24,$21,$0B,$62 .db $F4,$09,$62,$14,$25,$45,$31,$2B .db $37,$F6,$25,$37,$55,$04,$01,$36 .db $65,$69,$F3,$79,$A8,$1A,$38,$39 .db $23,$38,$4A,$21,$38,$3C,$25,$05 .db $9D,$C2,$E1,$E0,$C0,$60,$D1,$D7 .db $00,$00,$3E,$60,$D9,$BF,$6C,$E9 .db $12,$0B,$09,$3F,$0D,$0A,$2B,$6D .db $6B,$1C,$71,$60,$1B,$38,$33,$23 .db $38,$44,$25,$38,$3A,$25,$79,$AB .db $14,$F9,$A0,$1D,$37,$3E,$33,$37 .db $4F,$38,$60,$D9,$87,$28,$29,$39 .db $E0,$D1,$8F,$30,$41,$60,$30,$20 .db $11,$13,$60,$30,$30,$32,$28,$33 .db $41,$32,$33,$30,$37,$33,$34,$38 .db $37,$38,$35,$79,$A9,$16,$B1,$50 .db $30,$13,$01,$46,$79,$A0,$1F,$68 .db $68,$B1,$60,$D1,$8F,$08,$08,$3E .db $08,$09,$3F,$37,$34,$33,$37,$45 .db $36,$36,$2A,$00,$36,$4C,$40,$36 .db $3D,$45,$F9,$A0,$1E,$37,$3F,$33 .db $17,$06,$8E,$11,$06,$31,$60,$D1 .db $8F,$E0,$D1,$8F,$37,$40,$3D,$30 .db $3D,$6B,$34,$44,$28,$34,$22,$00 .db $16,$62,$01,$35,$32,$17,$31,$47 .db $21,$13,$65,$01,$31,$25,$00,$32 .db $35,$17,$31,$39,$28,$30,$4E,$A6 .db $28,$2C,$58,$E0,$D1,$D6,$60,$D8 .db $B7,$6C,$E8,$12,$0B,$08,$3F,$30 .db $35,$A5,$79,$A6,$18,$37,$3F,$33 .db $70,$6B,$13,$2F,$2C,$01,$2F,$4D .db $10,$2F,$3E,$15,$E0,$D0,$BF,$37 .db $40,$39,$31,$29,$51,$31,$4A,$93 .db $71,$CE,$11,$16,$6E,$41,$B5,$20 .db $04,$17,$60,$30,$36,$21,$03,$18 .db $61,$21,$37,$33,$35,$35,$4B,$54 .db $60,$D0,$BF,$08,$00,$01,$32,$3F .db $47,$0F,$00,$01,$36,$39,$43,$79 .db $A4,$14,$17,$6A,$30,$35,$2A,$01 .db $E0,$D0,$BC,$35,$40,$55,$35,$36 .db $55,$79,$A7,$18,$60,$FD,$B7,$2B .db $2D,$58,$EC,$D2,$42,$60,$D5,$D9 .db $60,$DF,$8E,$69,$EF,$42,$08,$0F .db $3F,$2D,$25,$39,$71,$69,$13,$30 .db $2A,$01,$30,$4B,$10,$30,$3C,$15 .db $79,$A0,$1F,$F9,$A0,$1F,$17,$E1 .db $00,$77,$42,$02,$72,$64,$15,$2F .db $27,$21,$2F,$48,$30,$2F,$39,$35 .db $60,$FE,$71,$28,$2E,$28,$E0,$D0 .db $AF,$38,$30,$23,$2F,$5D,$91,$58 .db $11,$1E,$35,$33,$2B,$35,$34,$2D .db $15,$D5,$01,$32,$37,$5B,$32,$38 .db $5D,$10,$07,$86,$E0,$D0,$AF,$05 .db $00,$00,$BF,$FF DATA_079D84: .db $23,$60,$13,$A5,$43,$60,$D0,$9F .db $37,$40,$3A,$2A,$30,$CE,$09,$00 .db $3F,$0A,$F4,$94,$37,$3B,$35,$38 .db $9C,$23,$73,$6F,$11,$E0,$D0,$9F .db $75,$65,$12,$38,$90,$2F,$74,$6C .db $11,$B7,$30,$33,$37,$41,$30,$37 .db $32,$35,$38,$93,$2B,$35,$3F,$53 .db $60,$D0,$9F,$13,$01,$31,$73,$66 .db $12,$74,$6B,$11,$E0,$D0,$97,$0A .db $F1,$13,$35,$40,$57,$2A,$37,$AC .db $09,$07,$3E,$60,$F8,$F7,$70,$F8 .db $A7,$00,$02,$00,$BF,$FF DATA_079DE2: .db $67,$60,$B1,$8B,$11,$60,$C0,$1F .db $62,$C0,$62,$69,$C0,$A2,$74,$C0 .db $32,$78,$C0,$2A,$67,$C3,$A7,$62 .db $C3,$47,$39,$AB,$1C,$18,$EC,$08 .db $E0,$C0,$1F,$02,$0D,$41,$39,$38 .db $13,$78,$E8,$10,$77,$E9,$10,$76 .db $EA,$10,$75,$EB,$10,$74,$EC,$10 .db $73,$ED,$10,$72,$EE,$1F,$19,$69 .db $10,$18,$6A,$20,$17,$6B,$30,$16 .db $6C,$40,$15,$6D,$50,$14,$6E,$60 .db $38,$39,$0B,$37,$3A,$0B,$36,$3B .db $0B,$35,$3C,$0B,$34,$3D,$0B,$33 .db $3E,$0B,$33,$4F,$7F,$12,$DF,$00 .db $0B,$EE,$06,$8B,$D5,$00,$12,$DB .db $00,$72,$EE,$1E,$33,$4F,$7C,$0B .db $E6,$0A,$04,$51,$03,$60,$C0,$1B .db $60,$CC,$13,$04,$5D,$02,$03,$09 .db $8E,$8B,$D1,$00,$0B,$E2,$0A,$60 .db $C0,$2A,$60,$CB,$34,$0B,$DD,$00 .db $14,$6C,$60,$15,$6D,$50,$16,$6E .db $40,$17,$6F,$30,$33,$3C,$0D,$34 .db $3D,$0D,$35,$3E,$0D,$36,$3F,$0D .db $12,$D7,$00,$98,$60,$20,$19,$61 .db $10,$37,$30,$0D,$38,$31,$0D,$39 .db $32,$15,$60,$C0,$1F,$08,$D3,$00 .db $0A,$03,$19,$08,$02,$1A,$07,$03 .db $1B,$08,$04,$1C,$0E,$D5,$00,$0F .db $EC,$00,$13,$EE,$00,$15,$D8,$00 .db $13,$55,$00,$12,$54,$00,$11,$53 .db $00,$10,$52,$00,$39,$A3,$1C,$B9 .db $A0,$1D,$18,$D4,$00,$08,$00,$41 .db $07,$D5,$00,$60,$C0,$27,$60,$C8 .db $1D,$69,$CE,$FC,$79,$CE,$1C,$68 .db $EE,$1C,$88,$D2,$00,$04,$02,$41 .db $60,$C6,$19,$05,$0F,$47,$67,$CE .db $DE,$78,$CE,$21,$96,$03,$41,$16 .db $05,$41,$16,$0C,$47,$67,$CD,$D2 .db $75,$CD,$52,$60,$C0,$6F,$35,$50 .db $30,$17,$01,$46,$78,$C0,$2C,$06 .db $00,$00,$FE,$07,$00,$00,$FE,$FF DATA_079F22: .db $69,$60,$31,$8B,$01,$60,$C0,$AF .db $6B,$C0,$6F,$35,$40,$5F,$96,$60 .db $40,$58,$11,$1D,$75,$D1,$22,$15 .db $00,$4C,$18,$04,$4C,$60,$C0,$DD .db $60,$CE,$A7,$6B,$CE,$57,$35,$3E .db $2B,$35,$4F,$35,$B5,$35,$2D,$60 .db $C6,$DD,$0E,$9D,$90,$38,$3F,$25 .db $EB,$C4,$48,$10,$D4,$00,$60,$C4 .db $A8,$60,$CD,$DE,$38,$43,$2E,$38 .db $32,$23,$39,$A0,$11,$11,$03,$8E .db $35,$34,$2B,$37,$45,$16,$35,$35 .db $1D,$35,$37,$1B,$35,$48,$20,$35 .db $39,$1D,$35,$3B,$1B,$35,$3C,$2D .db $B8,$32,$25,$39,$A3,$12,$38,$36 .db $23,$38,$47,$25,$0E,$98,$90,$35 .db $3C,$2B,$35,$4D,$50,$37,$4E,$36 .db $35,$3E,$1D,$6B,$CC,$1A,$60,$CC .db $AA,$E0,$C7,$BC,$38,$A7,$24,$35 .db $30,$1B,$35,$41,$20,$35,$32,$1D .db $35,$34,$1B,$35,$45,$50,$35,$36 .db $55,$37,$3C,$33,$37,$4D,$35,$B4 .db $32,$2B,$34,$43,$61,$34,$35,$65 .db $38,$A6,$29,$14,$96,$09,$6B,$C4 .db $48,$60,$C4,$AB,$6B,$CD,$49,$EB .db $C7,$45,$6B,$CD,$48,$14,$90,$0B .db $34,$3C,$63,$34,$4D,$68,$38,$A0 .db $2B,$60,$C0,$AF,$E0,$C0,$AF,$6B .db $C6,$49,$14,$05,$4C,$58,$16,$19 .db $18,$0A,$4C,$70,$CB,$24,$73,$CE .db $14,$74,$D6,$32,$F0,$CE,$71,$6B .db $C8,$47,$6B,$C0,$57,$60,$C0,$AF .db $15,$0C,$90,$71,$C0,$14,$14,$08 .db $87,$09,$00,$00,$EB,$FF DATA_07A028: .db $6E,$62,$31,$8F,$41,$68,$C0,$5F .db $73,$C0,$75,$73,$C6,$7D,$F5,$C4 .db $53,$77,$C8,$33,$79,$CC,$13,$68 .db $C0,$5F,$E8,$C0,$5F,$78,$C0,$23 .db $79,$C4,$13,$77,$C8,$33,$75,$CC .db $53,$14,$02,$87,$F3,$C0,$73,$79 .db $C4,$12,$77,$C7,$34,$78,$CC,$23 .db $68,$C0,$58,$68,$C9,$B2,$68,$CC .db $8B,$74,$E9,$02,$71,$EC,$03,$78 .db $E4,$12,$6E,$F8,$51,$F8,$C0,$27 .db $78,$C8,$2D,$68,$C8,$8C,$71,$E1 .db $0C,$71,$EF,$02,$F1,$E3,$01,$68 .db $C5,$A2,$68,$C8,$3B,$76,$C6,$26 .db $79,$C6,$18,$78,$ED,$1D,$77,$CF .db $31,$F9,$C1,$19,$77,$C3,$14,$77 .db $CB,$31,$78,$ED,$1F,$79,$CD,$1A .db $68,$C4,$3B,$E8,$C0,$3B,$77,$C0 .db $14,$77,$C8,$31,$79,$CA,$12,$77 .db $CD,$31,$79,$CF,$12,$78,$EF,$17 .db $68,$CC,$3C,$F7,$C2,$31,$79,$C4 .db $12,$77,$C7,$36,$68,$C9,$A2,$68 .db $CC,$1B,$39,$AE,$1F,$E8,$C8,$1C .db $72,$CC,$13,$74,$C2,$14,$10,$04 .db $8E,$39,$AE,$1F,$E8,$C5,$1B,$76 .db $C6,$14,$39,$AE,$19,$77,$CF,$35 .db $E8,$C1,$A1,$6A,$F0,$81,$73,$E1 .db $01,$68,$C3,$36,$68,$CA,$35,$77 .db $C8,$35,$39,$AE,$1F,$E8,$C0,$36 .db $68,$C7,$3B,$77,$C2,$37,$39,$AE .db $1C,$77,$CF,$36,$E8,$C3,$3F,$77 .db $CB,$34,$F9,$C0,$11,$77,$C2,$34 .db $77,$C7,$38,$68,$C3,$73,$68,$C7 .db $A6,$68,$CE,$E1,$14,$0C,$90,$0E .db $00,$00,$DE,$FF DATA_07A134: .db $6E,$62,$31,$8F,$41,$E0,$64,$D0 .db $60,$68,$D0,$60,$6C,$D0,$E0,$64 .db $D0,$60,$68,$D0,$60,$6C,$D0,$E0 .db $60,$D0,$05,$00,$01,$60,$6E,$B0 .db $E0,$6A,$B0,$E0,$67,$B0,$60,$6C .db $B0,$E0,$61,$B0,$0B,$00,$01,$60 .db $67,$B0,$E0,$61,$B0,$60,$67,$B0 .db $60,$6E,$B0,$E0,$63,$B0,$60,$6A .db $B0,$6C,$6F,$E1,$FF Empty07A179: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF LevelDataSpr07A600: .db $45,$E0,$31,$CB,$01,$6B,$C0,$2A .db $77,$C0,$38,$77,$C9,$38,$6B,$CB .db $22,$6B,$CE,$23,$15,$0D,$47,$0F .db $D5,$00,$0F,$D6,$50,$EB,$C2,$87 .db $6B,$CA,$27,$36,$C2,$07,$39,$A2 .db $17,$77,$CA,$3F,$0F,$DD,$02,$10 .db $DF,$10,$11,$DE,$00,$12,$DD,$20 .db $14,$DE,$01,$95,$05,$47,$6B,$C2 .db $27,$36,$CA,$07,$39,$AA,$17,$6B .db $CA,$87,$F7,$C2,$3F,$15,$0D,$47 .db $6B,$C2,$2F,$0F,$D5,$02,$10,$D7 .db $30,$14,$D5,$02,$11,$D6,$00,$EB .db $C2,$87,$36,$C2,$07,$39,$A2,$17 .db $77,$CA,$3F,$6B,$CA,$2F,$0F,$DD .db $40,$13,$DE,$00,$10,$DF,$40,$95 .db $05,$47,$6B,$CA,$F5,$00,$00,$00 .db $D4,$02,$00,$00,$D3,$03,$00,$00 .db $D2,$05,$00,$00,$D1,$FF DATA_07A68E: .db $C2,$60,$31,$CB,$01,$6A,$C0,$4F .db $38,$40,$26,$38,$37,$25,$39,$A8 .db $17,$38,$3B,$23,$38,$3C,$25,$18 .db $08,$8E,$18,$0A,$8E,$18,$0D,$87 .db $18,$0F,$87,$B8,$30,$23,$38,$41 .db $21,$38,$33,$25,$39,$A4,$17,$6A .db $C0,$4F,$78,$A4,$00,$78,$A6,$00 .db $38,$37,$23,$38,$38,$25,$38,$3C .db $23,$38,$4D,$21,$38,$3F,$25,$78 .db $99,$00,$78,$9B,$00,$B9,$A0,$1A .db $38,$3B,$23,$38,$4C,$23,$18,$00 .db $8E,$18,$01,$8E,$18,$03,$87,$18 .db $04,$87,$18,$D5,$00,$78,$A6,$01 .db $78,$99,$01,$16,$0C,$47,$6A,$C0 .db $4D,$6A,$CE,$D1,$02,$00,$00,$D0 .db $FF DATA_07A707: .db $62,$60,$31,$CB,$01,$6A,$C0,$3F .db $2E,$B0,$5F,$34,$D9,$36,$34,$D0 .db $09,$2E,$E0,$60,$34,$E9,$30,$38 .db $40,$26,$38,$37,$25,$1A,$D8,$0F .db $79,$E8,$1F,$11,$0B,$4A,$EA,$C0 .db $3F,$2E,$B0,$8F,$37,$D0,$0F,$11 .db $06,$4A,$1A,$D8,$0F,$79,$E8,$1F .db $EA,$C0,$3D,$6A,$CE,$D1,$38,$49 .db $26,$38,$38,$23,$2E,$B0,$5C,$34 .db $D0,$36,$34,$D6,$06,$34,$E6,$31 .db $2E,$EC,$61,$11,$00,$4A,$16,$0C .db $47,$02,$00,$00,$D0,$FF DATA_07A765: .db $C4,$E0,$3C,$CB,$5B,$38,$A0,$2F .db $60,$70,$03,$00,$D0,$4F,$09,$04 .db $74,$0A,$06,$7E,$0D,$08,$74,$0E .db $08,$7C,$10,$09,$7D,$0E,$DB,$20 .db $12,$0C,$77,$14,$0D,$76,$B8,$A0 .db $2F,$05,$00,$74,$00,$D0,$4F,$06 .db $01,$7D,$08,$02,$7E,$0A,$D7,$20 .db $14,$0C,$77,$0B,$0E,$78,$B8,$A0 .db $2F,$0D,$00,$74,$10,$01,$7D,$08 .db $01,$75,$00,$D0,$4F,$0E,$D3,$20 .db $05,$08,$74,$06,$0A,$7E,$08,$09 .db $7D,$12,$D7,$20,$09,$0C,$74,$0A .db $0C,$7C,$0C,$0D,$7D,$8F,$00,$77 .db $38,$A0,$2F,$10,$01,$75,$05,$08 .db $72,$00,$D0,$4F,$0A,$D3,$20,$09 .db $04,$73,$06,$D5,$20,$06,$09,$7D .db $0D,$08,$74,$13,$0D,$75,$14,$0D .db $76,$09,$DF,$80,$95,$D0,$0F,$38 .db $A0,$2F,$00,$D0,$5F,$13,$0C,$47 .db $04,$00,$00,$D0,$FF DATA_07A802: .db $63,$60,$31,$CB,$01,$75,$C0,$19 .db $18,$D2,$00,$18,$D7,$00,$73,$CC .db $21,$69,$CC,$81,$6E,$CE,$1A,$74 .db $CF,$42,$EE,$C9,$31,$76,$CD,$12 .db $F4,$C2,$12,$13,$D3,$00,$75,$C8 .db $1A,$73,$CA,$11,$73,$CF,$11,$F3 .db $C4,$11,$77,$C9,$16,$15,$0E,$47 .db $03,$00,$00,$D0,$FF DATA_07A83F: .db $45,$E0,$31,$CB,$41,$6B,$C0,$2A .db $77,$C0,$38,$77,$C9,$38,$6B,$CB .db $22,$6B,$CE,$23,$15,$0D,$47,$10 .db $D5,$00,$11,$D5,$02,$12,$D7,$10 .db $14,$D5,$02,$0F,$D5,$02,$EB,$C2 .db $87,$6B,$CA,$27,$36,$C2,$07,$39 .db $A2,$17,$77,$CA,$3F,$0F,$DE,$01 .db $10,$DD,$40,$11,$DE,$00,$11,$DF .db $30,$14,$DE,$00,$95,$05,$47,$6B .db $C2,$27,$36,$CA,$07,$39,$AA,$17 .db $6B,$CA,$87,$F7,$C2,$3F,$15,$0D .db $47,$6B,$C2,$2F,$0F,$D5,$02,$10 .db $D7,$00,$11,$D6,$30,$EB,$C2,$87 .db $36,$C2,$07,$39,$A2,$17,$77,$CA .db $3F,$6B,$CA,$2F,$0F,$DD,$50,$0F .db $DF,$50,$0F,$DE,$00,$14,$DE,$00 .db $11,$DE,$00,$95,$05,$47,$6B,$CA .db $F5,$00,$00,$00,$CF,$02,$00,$00 .db $CE,$03,$00,$00,$CD,$05,$00,$00 .db $CC,$FF DATA_07A8D9: .db $62,$62,$31,$CB,$41,$6A,$C0,$57 .db $6A,$C8,$31,$6A,$CA,$51,$6A,$CC .db $31,$6A,$CE,$51,$78,$C0,$27,$78 .db $C8,$26,$78,$CF,$23,$EA,$C0,$31 .db $6A,$C2,$51,$6A,$C4,$31,$6A,$C6 .db $51,$6A,$C8,$31,$6A,$CA,$51,$6A .db $CC,$31,$6A,$CE,$51,$78,$C3,$24 .db $78,$C8,$27,$F8,$C0,$22,$78,$C3 .db $24,$78,$C8,$27,$6A,$C0,$31,$6A .db $C2,$51,$6A,$C4,$31,$6A,$C6,$57 .db $6A,$CE,$D1,$16,$0C,$47,$02,$00 .db $00,$BD,$FF DATA_07A934: .db $62,$62,$31,$CB,$41,$60,$65,$F0 .db $6E,$65,$50,$60,$69,$F0,$6E,$69 .db $40,$60,$6D,$F0,$6E,$6D,$30,$E0 .db $61,$F0,$6E,$61,$20,$60,$65,$F0 .db $60,$69,$E0,$60,$6D,$D0,$E0,$61 .db $C0,$60,$65,$C0,$FF DATA_07A961: .db $64,$68,$31,$CA,$51,$60,$C0,$1F .db $60,$C2,$D1,$6E,$C2,$51,$65,$C8 .db $2A,$2B,$06,$12,$65,$EB,$0A,$E0 .db $C0,$1B,$0A,$D1,$00,$60,$C2,$D1 .db $02,$D5,$00,$01,$DE,$00,$66,$CD .db $29,$6E,$C0,$C1,$0D,$DA,$00,$07 .db $D8,$00,$06,$DE,$00,$E0,$C0,$71 .db $60,$C8,$28,$69,$F8,$20,$6C,$F8 .db $21,$6D,$C8,$22,$6E,$C0,$71,$E0 .db $C0,$26,$67,$F0,$20,$6A,$F0,$21 .db $6B,$C0,$24,$6E,$C3,$61,$66,$CA .db $29,$6E,$CD,$21,$60,$C3,$C1,$0A .db $06,$31,$EE,$C0,$11,$60,$C0,$11 .db $60,$C2,$2A,$63,$E5,$05,$60,$CD .db $2F,$6E,$C5,$71,$60,$C5,$12,$01 .db $F7,$23,$00,$D7,$50,$00,$00,$00 .db $BD,$FF DATA_07A9E3: .db $64,$68,$31,$CA,$51,$60,$CC,$39 .db $6A,$FC,$30,$6F,$FC,$31,$70,$CC .db $3F,$02,$00,$01,$60,$CB,$4B,$6C .db $FB,$40,$71,$F0,$41,$72,$C0,$4D .db $74,$CB,$4B,$73,$FB,$41,$F2,$CD .db $2D,$71,$FD,$21,$FC,$C2,$23,$7B .db $F2,$21,$FF DATA_07AA16: .db $E3,$60,$31,$CF,$41,$6A,$C0,$2F .db $58,$10,$25,$16,$DD,$10,$94,$D1 .db $00,$6A,$C0,$2F,$70,$91,$00,$36 .db $3C,$1B,$36,$4D,$20,$36,$3E,$1D .db $B8,$36,$25,$39,$A7,$13,$38,$3B .db $23,$38,$4C,$2B,$15,$DD,$00,$70 .db $AD,$00,$6A,$C0,$2F,$EA,$C0,$2D .db $6A,$CE,$81,$37,$37,$0B,$17,$68 .db $30,$16,$69,$40,$15,$6A,$50,$14 .db $6B,$60,$36,$38,$0B,$35,$39,$0B .db $34,$3A,$0B,$33,$3B,$0B,$33,$4C .db $73,$11,$0D,$47,$03,$00,$00,$BD .db $FF DATA_07AA77: .db $63,$60,$30,$C3,$41,$6A,$C0,$3F .db $58,$10,$15,$BA,$46,$04,$38,$36 .db $1D,$38,$3A,$1B,$38,$4B,$2D,$79 .db $E7,$12,$75,$98,$00,$10,$08,$87 .db $6A,$C0,$3F,$EA,$C0,$3F,$35,$31 .db $2B,$35,$42,$31,$35,$34,$2D,$3A .db $49,$04,$38,$39,$1D,$38,$3D,$1B .db $58,$1E,$11,$79,$EA,$12,$EA,$C0 .db $3D,$6A,$CE,$D1,$6E,$CA,$53,$6E .db $C6,$33,$16,$0C,$47,$03,$00,$00 .db $BD,$FF DATA_07AAC9: .db $67,$71,$3C,$CB,$81,$67,$C0,$2F .db $6A,$C0,$53,$6A,$C4,$54,$6A,$C9 .db $72,$6A,$CC,$31,$6A,$CE,$33,$6E .db $CC,$34,$70,$C6,$12,$70,$C0,$55 .db $72,$C6,$33,$72,$CA,$36,$58,$10 .db $22,$EE,$C1,$51,$67,$C0,$2F,$6A .db $C2,$33,$6A,$C6,$24,$6A,$CB,$25 .db $6E,$C3,$32,$72,$C3,$15,$6D,$C6 .db $47,$6D,$CE,$22,$EA,$C1,$31,$67 .db $C0,$22,$67,$C3,$1C,$37,$32,$0B .db $17,$63,$30,$16,$64,$40,$15,$65 .db $50,$14,$66,$60,$13,$67,$70,$36 .db $33,$0B,$35,$34,$0B,$34,$35,$0B .db $33,$36,$0B,$32,$37,$0B,$32,$48 .db $83,$32,$3C,$85,$39,$AD,$18,$97 .db $D0,$30,$18,$D2,$20,$18,$D4,$20 .db $38,$36,$23,$58,$17,$21,$67,$C0 .db $14,$67,$C5,$31,$67,$C7,$28,$6A .db $C7,$33,$6A,$CB,$31,$6A,$CD,$36 .db $6E,$CA,$24,$6E,$CF,$51,$36,$3D .db $1B,$36,$4E,$23,$B6,$32,$1D,$6E .db $C1,$26,$6A,$C4,$33,$67,$C0,$2F .db $6A,$C8,$64,$6A,$CD,$55,$70,$CD .db $22,$73,$CF,$22,$17,$DC,$00,$97 .db $D4,$00,$38,$39,$25,$39,$AA,$12 .db $38,$3D,$23,$38,$4E,$25,$70,$C0 .db $23,$6D,$C3,$22,$6A,$C3,$27,$67 .db $C0,$2F,$6A,$CB,$25,$E7,$C0,$2F .db $6A,$C1,$32,$6A,$C4,$55,$70,$C6 .db $23,$6A,$CA,$33,$6A,$CE,$35,$6E .db $CA,$45,$37,$33,$0B,$17,$64,$30 .db $36,$34,$0B,$36,$35,$45,$39,$A6 .db $1C,$35,$C6,$0C,$E7,$C0,$2F,$6E .db $C0,$43,$6A,$C4,$41,$6A,$C6,$36 .db $6A,$CD,$42,$6F,$CE,$41,$36,$44 .db $43,$15,$68,$50,$35,$37,$0B,$34 .db $38,$0B,$34,$49,$66,$11,$0A,$90 .db $36,$33,$43,$07,$00,$00,$C7,$FF DATA_07ABF9: .db $67,$71,$3C,$CB,$81,$67,$C0,$2F .db $6A,$C0,$53,$6A,$C4,$54,$6A,$C9 .db $72,$6A,$CC,$31,$6A,$CE,$33,$6E .db $CC,$34,$70,$C6,$12,$70,$C0,$55 .db $72,$C6,$33,$72,$CA,$36,$58,$10 .db $22,$EE,$C1,$51,$67,$C0,$2F,$6A .db $C2,$33,$6A,$C6,$24,$6A,$CB,$25 .db $6E,$C3,$32,$72,$C3,$15,$6D,$C6 .db $47,$6D,$CE,$22,$EA,$C1,$31,$67 .db $C0,$22,$67,$C3,$1C,$37,$32,$0B .db $17,$63,$30,$16,$64,$40,$15,$65 .db $50,$14,$66,$60,$13,$67,$70,$36 .db $33,$0B,$35,$34,$0B,$34,$35,$0B .db $33,$36,$0B,$32,$37,$0B,$32,$48 .db $83,$32,$3C,$85,$39,$AD,$18,$97 .db $D0,$30,$18,$D2,$20,$18,$D4,$20 .db $38,$36,$23,$58,$17,$21,$67,$C0 .db $14,$67,$C5,$31,$67,$C7,$28,$6A .db $C7,$33,$6A,$CB,$31,$6A,$CD,$36 .db $6E,$CA,$24,$6E,$CF,$51,$36,$3D .db $1B,$36,$4E,$23,$B6,$32,$1D,$6E .db $C1,$26,$6A,$C4,$33,$67,$C0,$2F .db $6A,$C8,$64,$6A,$CD,$55,$70,$CD .db $22,$73,$CF,$22,$17,$DC,$00,$97 .db $D4,$00,$38,$39,$25,$39,$AA,$12 .db $38,$3D,$23,$38,$4E,$25,$70,$C0 .db $23,$6D,$C3,$22,$6A,$C3,$27,$67 .db $C0,$2F,$6A,$CB,$25,$E7,$C0,$2F .db $6A,$C1,$32,$6A,$C4,$55,$70,$C6 .db $23,$6A,$CA,$33,$6A,$CE,$35,$6E .db $CA,$45,$37,$33,$0B,$17,$64,$30 .db $36,$34,$0B,$36,$35,$45,$39,$A6 .db $1C,$35,$C6,$0C,$E7,$C0,$2F,$6E .db $C0,$43,$6A,$C4,$41,$6A,$C6,$36 .db $6A,$CD,$42,$6F,$CE,$41,$32,$54 .db $40,$14,$05,$46,$36,$44,$43,$15 .db $68,$50,$35,$37,$0B,$34,$38,$0B .db $34,$49,$66,$11,$0A,$90,$36,$33 .db $43,$07,$00,$00,$C7,$FF DATA_07AD2F: .db $00,$10,$60,$C0,$00,$FF DATA_07AD35: .db $C9,$6A,$00,$82,$13,$60,$65,$1E .db $20,$30,$4E,$20,$37,$86,$00,$06 .db $3F,$01,$9A,$2E,$01,$9D,$16,$08 .db $5E,$04,$0D,$9D,$12,$01,$9F,$0E .db $71,$65,$1E,$3F,$30,$4C,$3F,$37 .db $84,$1F,$06,$3E,$10,$9A,$5E,$A0 .db $30,$F6,$01,$90,$2E,$01,$9C,$3E .db $2E,$3F,$03,$2F,$4F,$00,$63,$68 .db $1C,$2F,$48,$00,$6F,$D9,$00,$70 .db $68,$1C,$30,$48,$00,$70,$D9,$00 .db $10,$9C,$3E,$30,$4F,$00,$31,$3F .db $05,$10,$90,$16,$1A,$90,$14,$10 .db $92,$0E,$18,$00,$41,$3F,$30,$F4 .db $A0,$30,$F6,$08,$90,$F5,$01,$90 .db $D3,$01,$95,$86,$01,$9E,$10,$05 .db $9E,$12,$06,$03,$41,$2E,$30,$F4 .db $0F,$60,$F0,$10,$60,$F0,$31,$30 .db $F6,$7A,$6E,$15,$3F,$30,$DC,$1F .db $0F,$3E,$12,$90,$AC,$12,$9B,$47 .db $E0,$6B,$1D,$20,$30,$AE,$01,$90 .db $5E,$20,$3D,$26,$00,$0C,$3F,$01 .db $9F,$0E,$6E,$E0,$30,$6F,$D0,$30 .db $10,$90,$52,$13,$90,$04,$18,$90 .db $56,$13,$93,$24,$70,$D0,$30,$71 .db $E0,$32,$72,$6B,$1D,$3F,$30,$AC .db $3F,$3D,$24,$1F,$0C,$3E,$10,$9F .db $0E,$88,$90,$F7,$01,$90,$F3,$05 .db $90,$52,$05,$98,$72,$06,$06,$41 .db $20,$30,$F6,$3F,$30,$F4,$1C,$90 .db $F2,$10,$90,$F6,$17,$90,$94,$17 .db $9C,$34,$E0,$6E,$1D,$60,$62,$17 .db $00,$0F,$3F,$20,$30,$1E,$20,$34 .db $9E,$00,$03,$3F,$6A,$62,$15,$2F .db $42,$00,$6F,$D3,$00,$02,$96,$1D .db $02,$98,$12,$0B,$98,$14,$02,$9A .db $1D,$78,$62,$17,$72,$6E,$1D,$70 .db $62,$15,$30,$42,$00,$70,$D3,$00 .db $3F,$30,$1C,$3F,$34,$9C,$1F,$03 .db $3E,$1F,$0F,$3E,$10,$9A,$1E,$10 .db $98,$14,$10,$96,$1E,$1B,$98,$13 .db $A0,$30,$F6,$01,$92,$7E,$01,$9A .db $22,$01,$9D,$2E,$0A,$9A,$25,$05 .db $0B,$41,$10,$92,$D1,$3F,$30,$F4 .db $15,$99,$69,$1D,$92,$61,$19,$92 .db $33,$12,$92,$76,$19,$58,$03,$A0 .db $30,$F6,$01,$90,$66,$08,$90,$13 .db $0C,$90,$63,$08,$94,$23,$0A,$02 .db $41,$63,$6C,$1C,$2F,$4C,$00,$6F .db $DD,$00,$10,$90,$61,$12,$95,$12 .db $17,$90,$02,$15,$90,$61,$17,$94 .db $22,$1A,$90,$64,$3F,$30,$F4,$17 .db $53,$02,$70,$6C,$1C,$30,$4C,$00 .db $70,$DD,$00,$A0,$30,$F6,$01,$90 .db $2E,$01,$97,$1E,$02,$9D,$0D,$10 .db $90,$2E,$10,$97,$1D,$10,$9D,$0E .db $3F,$30,$F4,$A0,$4D,$2F,$20,$30 .db $CE,$01,$92,$0E,$02,$97,$0D,$01 .db $9A,$0E,$10,$92,$0D,$10,$97,$0E .db $10,$9A,$0A,$30,$4D,$2F,$3F,$30 .db $CC,$3D,$0B,$11,$09,$00,$00,$D6 .db $FF DATA_07AF16: .db $01,$20,$00,$80,$40,$2F,$5D,$91 .db $58,$10,$1F,$36,$00,$21,$FF DATA_07AF25: .db $8B,$40,$D4,$9E,$09,$00,$F1,$F3 .db $0E,$F1,$43,$20,$30,$F6,$58,$10 .db $8E,$7A,$D0,$0F,$30,$30,$7E,$60 .db $E3,$00,$60,$D4,$0B,$E0,$D0,$0F .db $7A,$D0,$0F,$E0,$D0,$0F,$7A,$D0 .db $0F,$E0,$D0,$0F,$7A,$D0,$0F,$E0 .db $D0,$0F,$13,$06,$33,$7A,$D0,$0F .db $E0,$D0,$0F,$7A,$D0,$0F,$E0,$D0 .db $0F,$7A,$D0,$0F,$E0,$D0,$0F,$7A .db $D0,$0F,$E0,$D0,$0F,$7A,$D0,$0E .db $38,$3F,$15,$7A,$EF,$02,$E0,$D0 .db $0A,$21,$3A,$F4,$71,$EA,$00,$70 .db $DB,$13,$76,$67,$18,$70,$DF,$70 .db $34,$39,$1B,$34,$4A,$24,$32,$3E .db $1C,$11,$0E,$3E,$00,$0A,$3E,$32 .db $0B,$12,$60,$FB,$F4,$E0,$F0,$FF .db $70,$D0,$7F,$F0,$D4,$3B,$70,$D0 .db $73,$74,$E4,$32,$60,$F0,$FF,$13 .db $04,$3F,$38,$49,$26,$34,$3F,$3C .db $13,$0F,$3E,$7A,$D9,$06,$38,$38 .db $13,$7A,$E8,$00,$09,$00,$00,$D5 .db $FF DATA_07AFCE: .db $01,$20,$00,$80,$40,$39,$80,$19 .db $16,$F1,$40,$38,$3A,$23,$2F,$5D .db $91,$58,$1B,$14,$FF DATA_07AFE3: .db $A2,$A0,$20,$41,$26,$00,$D2,$70 .db $03,$08,$35,$07,$D3,$0A,$05,$DE .db $40,$06,$D7,$02,$18,$B0,$1A,$15 .db $B0,$20,$18,$BB,$05,$98,$B1,$16 .db $18,$B8,$03,$2F,$5D,$91,$00,$DD .db $70,$07,$D2,$0A,$05,$D1,$40,$06 .db $D6,$02,$10,$B2,$00,$11,$B3,$00 .db $12,$B4,$00,$13,$B5,$00,$14,$B6 .db $00,$78,$CC,$04,$79,$DD,$12,$F8 .db $C1,$0E,$79,$D2,$1C,$FF DATA_07B031: .db $B3,$A0,$22,$91,$16,$74,$CD,$03 .db $75,$DE,$51,$78,$C0,$0E,$79,$D1 .db $1C,$8F,$D7,$00,$6B,$CE,$05,$6C .db $DF,$E3,$EE,$C4,$05,$6F,$D5,$B3 .db $EC,$C6,$06,$6D,$D7,$D4,$0C,$D0 .db $00,$EB,$C3,$07,$78,$D3,$27,$6C .db $D4,$A5,$6F,$C3,$07,$73,$C3,$07 .db $77,$C2,$09,$ED,$C1,$07,$6E,$D2 .db $C5,$09,$04,$31,$6B,$CE,$05,$6C .db $DF,$E3,$8B,$DB,$00,$EF,$C3,$09 .db $70,$D4,$A7,$72,$CA,$04,$73,$DB .db $72,$94,$D4,$00,$77,$CC,$08,$78 .db $DD,$26,$F5,$C6,$04,$76,$D7,$42 .db $78,$CF,$05,$F1,$C9,$05,$72,$DA .db $83,$75,$C7,$04,$76,$D8,$42,$79 .db $D0,$13,$ED,$C1,$06,$6E,$D2,$C4 .db $0B,$DF,$00,$91,$D2,$0D,$10,$D4 .db $03,$10,$DC,$01,$08,$D9,$01,$09 .db $F9,$43,$14,$06,$87,$14,$05,$87 .db $14,$04,$87,$14,$03,$87,$14,$02 .db $87,$14,$01,$87,$14,$00,$87,$77 .db $47,$0B,$91,$D0,$0C,$0D,$F3,$30 .db $0D,$FB,$30,$77,$C3,$07,$16,$04 .db $35,$78,$D4,$25,$6F,$CD,$05,$70 .db $DE,$A3,$ED,$C7,$04,$6E,$D8,$C2 .db $8A,$D3,$00,$0A,$DB,$01,$EC,$C1 .db $04,$6D,$D2,$D2,$6F,$C3,$05,$70 .db $D4,$A3,$0F,$DE,$00,$8D,$D9,$00 .db $8F,$D4,$00,$2F,$5D,$91,$78,$CB .db $06,$79,$DC,$14,$F8,$C2,$0D,$79 .db $D3,$1B,$FF DATA_07B124: .db $B0,$A0,$00,$81,$26,$78,$C0,$07 .db $79,$D1,$15,$04,$00,$01,$14,$9B .db $02,$78,$CA,$08,$79,$DB,$16,$94 .db $01,$25,$94,$E4,$02,$15,$ED,$02 .db $90,$E5,$02,$15,$9C,$02,$15,$0D .db $2B,$90,$9C,$03,$10,$0E,$2B,$00 .db $DE,$05,$05,$0F,$8E,$85,$00,$8E .db $00,$D4,$0F,$05,$01,$8E,$05,$02 .db $8E,$05,$03,$8E,$05,$04,$8E,$05 .db $05,$8E,$05,$06,$8E,$05,$07,$8E .db $05,$08,$8E,$05,$09,$8E,$05,$0A .db $8E,$05,$0B,$8E,$05,$0C,$8E,$05 .db $0D,$8E,$05,$0E,$8E,$05,$0F,$8E .db $78,$CC,$07,$79,$DD,$15,$96,$F0 .db $10,$15,$F7,$20,$78,$C4,$06,$79 .db $D5,$14,$78,$CB,$07,$79,$DC,$15 .db $14,$FE,$30,$00,$F4,$43,$00,$D6 .db $0F,$05,$00,$8E,$05,$01,$8E,$06 .db $01,$8E,$06,$D5,$00,$08,$02,$87 .db $08,$03,$87,$08,$04,$87,$08,$05 .db $87,$08,$06,$87,$08,$07,$87,$08 .db $08,$87,$08,$09,$87,$08,$0A,$87 .db $08,$0B,$87,$08,$0C,$87,$08,$0D .db $87,$08,$0E,$87,$08,$0F,$87,$88 .db $00,$87,$08,$01,$87,$08,$02,$87 .db $08,$03,$87,$08,$04,$87,$08,$05 .db $87,$13,$F5,$40,$78,$C3,$06,$79 .db $D4,$14,$00,$F6,$53,$00,$D8,$07 .db $06,$D5,$00,$68,$46,$04,$66,$4A .db $10,$65,$4A,$0F,$80,$FC,$53,$68 .db $3A,$0F,$00,$D0,$0B,$00,$DE,$07 .db $84,$DA,$40,$04,$D9,$00,$06,$DB .db $0B,$05,$DC,$02,$07,$FC,$C3,$00 .db $F6,$53,$00,$D8,$0D,$78,$CC,$0C .db $79,$DD,$1A,$F4,$C9,$0F,$75,$DA .db $5D,$0A,$D1,$05,$0B,$F1,$A3,$0B .db $F3,$A3,$00,$D6,$50,$05,$D2,$02 .db $0B,$F5,$A3,$12,$FB,$10,$87,$D1 .db $01,$08,$F1,$93,$11,$F5,$20,$2F .db $5D,$91,$78,$CB,$05,$79,$DC,$13 .db $F8,$C1,$0E,$79,$D2,$1C,$FF DATA_07B26B: .db $04,$CA,$A2,$91,$18,$21,$30,$F6 .db $05,$D1,$00,$02,$D4,$00,$08,$D0 .db $80,$0C,$EF,$00,$0F,$0D,$29,$11 .db $D9,$01,$13,$D5,$02,$33,$36,$94 .db $35,$36,$96,$17,$52,$01,$19,$53 .db $00,$3E,$30,$F4,$17,$8D,$00,$17 .db $8E,$00,$17,$8F,$00,$1A,$5D,$20 .db $19,$0C,$16,$16,$0E,$19,$16,$0F .db $1A,$A1,$30,$F6,$08,$0F,$2F,$0D .db $0D,$41,$0B,$0F,$2B,$0B,$D1,$00 .db $0C,$89,$01,$10,$84,$01,$12,$DA .db $00,$10,$8E,$01,$1C,$0E,$41,$33 .db $30,$F4,$35,$30,$F6,$17,$80,$10 .db $16,$00,$1B,$16,$01,$1C,$1A,$50 .db $00,$17,$5C,$30,$18,$5B,$00,$19 .db $5C,$00,$1A,$8F,$00,$3E,$30,$F4 .db $3E,$08,$11,$1D,$0A,$16,$1C,$03 .db $16,$18,$0A,$16,$A1,$30,$F6,$05 .db $9C,$00,$05,$09,$41,$06,$D3,$00 .db $0E,$D3,$00,$0D,$0F,$56,$12,$DF .db $00,$12,$08,$2B,$33,$30,$F4,$35 .db $30,$F6,$17,$89,$00,$18,$0B,$41 .db $19,$85,$00,$1C,$07,$16,$1A,$0C .db $16,$3E,$30,$F4,$A1,$30,$F6,$02 .db $E0,$02,$06,$E0,$04,$08,$90,$00 .db $6E,$90,$60,$0E,$07,$53,$6F,$88 .db $00,$0B,$0C,$2B,$08,$0C,$2B,$05 .db $0C,$2B,$02,$0C,$2B,$6D,$8D,$02 .db $0C,$0C,$55,$70,$88,$00,$11,$08 .db $52,$71,$99,$21,$11,$0C,$54,$70 .db $8D,$00,$33,$30,$F4,$11,$04,$2B .db $1B,$00,$41,$19,$01,$16,$1B,$07 .db $16,$18,$0D,$16,$35,$30,$F6,$3E .db $30,$F4,$A1,$30,$F6,$62,$5C,$30 .db $64,$5C,$33,$66,$5C,$31,$68,$5C .db $30,$6A,$5C,$31,$6C,$5C,$33,$6E .db $5C,$32,$06,$E8,$00,$08,$E4,$00 .db $22,$40,$08,$0B,$D0,$00,$70,$5C .db $32,$72,$CD,$0D,$73,$DE,$1B,$33 .db $30,$C4,$35,$30,$C6,$17,$0B,$86 .db $3E,$30,$A4,$3E,$0B,$11,$01,$00 .db $01,$0C,$54,$10,$05,$50,$40,$03 .db $5A,$50,$01,$00,$00,$C5,$04,$00 .db $00,$C4,$FF DATA_07B3C6: .db $06,$C0,$A0,$80,$20,$38,$30,$23 .db $38,$41,$25,$38,$37,$25,$17,$F8 .db $30,$38,$3A,$23,$58,$1B,$13,$53 .db $00,$0B,$15,$01,$41,$15,$03,$41 .db $15,$05,$41,$33,$3C,$47,$33,$4D .db $4F,$B8,$3F,$25,$33,$3D,$48,$72 .db $F1,$04,$11,$FE,$60,$92,$00,$16 .db $13,$01,$16,$14,$02,$16,$15,$03 .db $16,$16,$04,$16,$16,$05,$16,$16 .db $06,$16,$16,$07,$16,$16,$08,$16 .db $16,$09,$16,$16,$0A,$16,$16,$0B .db $16,$16,$0C,$16,$16,$0D,$16,$16 .db $0E,$16,$16,$0F,$16,$96,$00,$16 .db $16,$01,$16,$16,$02,$16,$16,$03 .db $16,$16,$04,$16,$16,$05,$16,$16 .db $06,$16,$30,$3A,$A3,$30,$4B,$A1 .db $30,$3D,$A5,$B2,$30,$83,$32,$41 .db $80,$34,$42,$61,$36,$44,$4E,$15 .db $DD,$00,$32,$32,$1D,$34,$34,$1D .db $75,$F6,$03,$AF,$5D,$91,$58,$13 .db $1C,$36,$33,$1D,$16,$05,$86,$FF DATA_07B46E: .db $4A,$40,$0E,$80,$00,$33,$36,$73 .db $33,$47,$71,$33,$39,$75,$16,$FC .db $40,$38,$FF,$20,$95,$F0,$50,$38 .db $F2,$20,$16,$F4,$40,$17,$F8,$30 .db $15,$FC,$50,$38,$FB,$20,$38,$FE .db $20,$96,$F0,$40,$16,$F4,$40,$0E .db $01,$41,$12,$F7,$80,$12,$FC,$80 .db $12,$0E,$35,$19,$9E,$00,$00,$F9 .db $90,$4A,$09,$06,$CA,$00,$0F,$0C .db $41,$55,$14,$47,$55,$11,$A8,$00 .db $12,$08,$41,$17,$FE,$30,$CA,$00 .db $0F,$0D,$41,$22,$0C,$42,$40,$16 .db $44,$22,$15,$45,$40,$11,$5F,$40 .db $12,$5E,$22,$0E,$05,$41,$0F,$0A .db $35,$14,$A5,$00,$CA,$00,$0F,$0F .db $AC,$00,$15,$AC,$00,$11,$0C,$41 .db $CA,$00,$0F,$14,$FC,$60,$0D,$57 .db $01,$0E,$59,$00,$0F,$5A,$10,$11 .db $59,$00,$12,$57,$01,$11,$56,$00 .db $0F,$55,$10,$0E,$56,$00,$94,$06 .db $35,$0E,$0E,$34,$4A,$00,$0F,$CA .db $00,$0F,$12,$53,$04,$11,$05,$41 .db $10,$A5,$00,$94,$A2,$00,$11,$50 .db $04,$10,$02,$41,$4A,$00,$0F,$38 .db $3C,$23,$2F,$5D,$91,$58,$1D,$12 .db $CA,$00,$0F,$14,$02,$83,$77,$FA .db $04,$FF DATA_07B540: .db $33,$20,$22,$91,$12,$78,$C0,$0F .db $79,$D1,$1D,$09,$03,$51,$69,$84 .db $0B,$E9,$80,$0F,$15,$00,$55,$76 .db $81,$07,$11,$05,$24,$73,$AB,$24 .db $76,$A9,$25,$73,$8C,$05,$79,$8C .db $03,$15,$0D,$51,$15,$0E,$52,$16 .db $0D,$53,$16,$0E,$54,$F3,$82,$0F .db $79,$80,$0C,$16,$52,$04,$15,$04 .db $41,$0E,$01,$51,$0E,$02,$52,$0F .db $01,$53,$0F,$02,$54,$0F,$06,$51 .db $0F,$07,$52,$10,$06,$53,$10,$07 .db $54,$69,$80,$09,$66,$A2,$01,$66 .db $A3,$03,$67,$A2,$03,$67,$A3,$01 .db $63,$AF,$51,$0F,$0B,$24,$15,$0B .db $24,$77,$AE,$11,$77,$8F,$02,$E3 .db $80,$0F,$6E,$A6,$44,$73,$A2,$15 .db $75,$A3,$14,$77,$A2,$15,$75,$84 .db $0B,$79,$84,$02,$18,$07,$54,$17 .db $08,$51,$17,$09,$52,$6E,$87,$0D .db $12,$56,$01,$10,$09,$4D,$10,$0B .db $4E,$12,$09,$4F,$12,$0B,$50,$11 .db $0F,$31,$0B,$55,$00,$0C,$54,$00 .db $0D,$53,$00,$0E,$52,$00,$0B,$0A .db $51,$6B,$8B,$03,$0B,$0F,$52,$0C .db $0A,$53,$0C,$0F,$54,$6C,$8B,$13 .db $E3,$80,$0F,$0A,$03,$24,$11,$03 .db $24,$08,$0B,$24,$0C,$0B,$24,$10 .db $0B,$24,$14,$0B,$24,$75,$80,$05 .db $6C,$A6,$14,$6B,$87,$17,$6E,$A5 .db $15,$74,$A6,$04,$75,$A6,$25,$6F .db $87,$17,$73,$87,$17,$77,$89,$15 .db $78,$AF,$05,$6C,$AF,$35,$70,$AF .db $35,$74,$AF,$35,$E5,$A5,$64,$6C .db $A2,$34,$70,$A2,$34,$74,$A2,$34 .db $19,$00,$52,$78,$83,$02,$18,$06 .db $52,$74,$83,$04,$70,$83,$0C,$6C .db $83,$05,$64,$95,$01,$03,$05,$52 .db $63,$80,$04,$0B,$09,$54,$66,$99 .db $41,$05,$0A,$51,$65,$8B,$05,$0D .db $5C,$01,$0B,$0F,$4D,$0D,$0F,$4F .db $72,$8B,$04,$12,$0A,$51,$13,$5F .db $03,$74,$A8,$33,$78,$8C,$0F,$15 .db $0E,$51,$16,$0E,$53,$75,$8F,$03 .db $76,$8F,$13,$F0,$80,$0F,$72,$80 .db $0E,$15,$03,$52,$16,$03,$54,$14 .db $07,$24,$12,$0F,$52,$73,$9F,$01 .db $74,$AF,$34,$78,$AC,$05,$79,$8D .db $05,$0B,$01,$4E,$0D,$01,$50,$0D .db $54,$01,$0B,$08,$41,$0D,$5B,$01 .db $08,$D4,$01,$05,$F4,$21,$04,$01 .db $54,$8B,$00,$24,$70,$80,$03,$6E .db $A5,$14,$70,$A4,$15,$6E,$86,$09 .db $72,$86,$09,$0F,$59,$05,$77,$A4 .db $11,$77,$85,$0F,$14,$0A,$51,$14 .db $0B,$52,$15,$0A,$53,$15,$0B,$54 .db $14,$0D,$51,$14,$0E,$52,$15,$0D .db $53,$15,$0E,$54,$6A,$A9,$11,$6A .db $AA,$03,$6B,$AA,$11,$6C,$A8,$03 .db $6A,$AF,$03,$6A,$AE,$11,$6B,$AF .db $11,$6C,$AD,$03,$EE,$80,$08,$0E .db $09,$52,$72,$80,$06,$12,$07,$52 .db $17,$05,$52,$0B,$0B,$41,$78,$CA .db $0A,$79,$DB,$18,$F5,$C5,$05,$76 .db $D6,$43,$16,$FE,$40,$F8,$C0,$06 .db $79,$D1,$14,$14,$05,$35,$F3,$C0 .db $05,$74,$D1,$63,$0E,$06,$55,$6F .db $87,$06,$0E,$0E,$55,$10,$0F,$55 .db $11,$0A,$51,$72,$9A,$40,$17,$0A .db $53,$11,$0B,$52,$72,$9B,$41,$17 .db $0B,$54,$F1,$80,$07,$10,$08,$55 .db $12,$04,$51,$12,$05,$52,$13,$04 .db $53,$13,$05,$54,$11,$0A,$4D,$11 .db $0C,$4E,$73,$9A,$10,$73,$9D,$11 .db $15,$0A,$4F,$15,$0C,$50,$10,$0F .db $55,$F1,$80,$0F,$14,$03,$51,$14 .db $04,$52,$15,$03,$53,$15,$04,$54 .db $12,$07,$51,$13,$07,$53,$72,$88 .db $00,$73,$88,$10,$12,$09,$52,$13 .db $09,$54,$14,$08,$41,$14,$0C,$51 .db $14,$0D,$52,$15,$0C,$53,$15,$0D .db $54,$F1,$80,$01,$10,$02,$54,$13 .db $04,$4D,$13,$06,$4E,$15,$04,$4F .db $15,$06,$50,$76,$CC,$05,$77,$DD .db $33,$91,$04,$51,$11,$05,$52,$72 .db $93,$41,$72,$95,$41,$17,$04,$53 .db $17,$05,$54,$0E,$05,$55,$6F,$86 .db $0E,$12,$0C,$51,$12,$0D,$52,$13 .db $0C,$53,$13,$0D,$54,$EF,$85,$0F .db $10,$03,$51,$10,$04,$52,$11,$03 .db $53,$11,$04,$54,$13,$07,$51,$13 .db $08,$52,$14,$07,$53,$14,$08,$54 .db $10,$0B,$51,$10,$0C,$52,$11,$0B .db $53,$11,$0C,$54,$EF,$85,$0F,$10 .db $04,$51,$10,$05,$52,$11,$04,$53 .db $11,$05,$54,$13,$04,$51,$13,$05 .db $52,$14,$04,$53,$14,$05,$54,$10 .db $0A,$51,$10,$0B,$52,$11,$0A,$53 .db $11,$0B,$54,$11,$0F,$51,$12,$0F .db $53,$91,$00,$52,$12,$00,$54,$10 .db $02,$51,$10,$03,$52,$11,$02,$53 .db $11,$03,$54,$0F,$05,$52,$2F,$5D .db $91,$78,$C7,$0A,$79,$D8,$18,$16 .db $09,$86,$F8,$C2,$0D,$79,$D3,$1B .db $06,$00,$00,$C9,$FF DATA_07B87D: .db $00,$00,$22,$95,$4C,$07,$F1,$D3 .db $07,$FD,$D4,$38,$40,$2F,$77,$D0 .db $0F,$14,$08,$36,$00,$02,$00,$C9 .db $FF DATA_07B896: .db $04,$00,$72,$95,$8C,$37,$C0,$0E .db $12,$0E,$41,$8D,$50,$00,$0D,$55 .db $00,$11,$56,$00,$14,$53,$00,$17 .db $57,$00,$14,$5A,$00,$10,$5A,$00 .db $0E,$5F,$00,$16,$0E,$41,$93,$51 .db $00,$0D,$54,$00,$0E,$5C,$00,$11 .db $57,$00,$17,$55,$00,$19,$5B,$00 .db $14,$5E,$00,$91,$52,$00,$0D,$04 .db $41,$10,$58,$00,$10,$5E,$00,$13 .db $56,$00,$17,$54,$00,$18,$5A,$00 .db $13,$5B,$00,$15,$5E,$00,$90,$56 .db $00,$11,$51,$00,$18,$51,$00,$14 .db $53,$00,$15,$07,$41,$11,$5C,$70 .db $17,$5B,$02,$16,$5A,$00,$16,$5E .db $00,$FF DATA_07B908: .db $33,$E0,$28,$85,$00,$35,$41,$5E .db $35,$30,$53,$B5,$20,$03,$17,$60 .db $32,$36,$22,$04,$37,$33,$35,$38 .db $84,$24,$30,$39,$A3,$30,$4A,$A0 .db $30,$3B,$45,$15,$0B,$3D,$35,$2C .db $04,$37,$4D,$3C,$36,$2D,$03,$17 .db $6C,$30,$16,$6B,$40,$12,$5E,$00 .db $13,$5F,$00,$94,$50,$06,$13,$57 .db $00,$12,$58,$00,$00,$F3,$F3,$0E .db $F3,$33,$36,$28,$00,$16,$6A,$45 .db $35,$2A,$01,$32,$3B,$23,$32,$4C .db $81,$32,$3E,$25,$35,$2F,$04,$15 .db $0B,$3C,$15,$0E,$3D,$B7,$40,$3C .db $36,$20,$03,$36,$2B,$00,$16,$6D .db $45,$15,$0E,$3C,$12,$51,$00,$13 .db $52,$00,$14,$53,$06,$13,$5A,$00 .db $12,$5B,$00,$11,$06,$41,$35,$2D .db $01,$32,$3E,$23,$32,$4F,$81,$B2 .db $31,$25,$35,$22,$04,$36,$23,$03 .db $18,$63,$2C,$38,$49,$00,$37,$25 .db $05,$37,$2A,$02,$36,$2E,$00,$15 .db $01,$3D,$12,$54,$00,$13,$55,$00 .db $14,$56,$01,$15,$58,$00,$15,$5A .db $00,$14,$5B,$01,$13,$5D,$00,$12 .db $5E,$00,$14,$09,$30,$B2,$31,$23 .db $16,$60,$41,$35,$20,$01,$15,$01 .db $3C,$32,$42,$82,$32,$25,$34,$17 .db $65,$33,$36,$39,$45,$37,$8A,$34 .db $36,$3F,$43,$11,$0C,$41,$00,$FB .db $93,$B4,$21,$11,$34,$42,$64,$32 .db $26,$11,$32,$47,$81,$32,$29,$03 .db $35,$2C,$03,$36,$3E,$45,$17,$60 .db $3D,$14,$69,$22,$33,$3B,$15,$15 .db $0B,$3D,$37,$8F,$35,$12,$5F,$00 .db $91,$50,$00,$10,$51,$01,$11,$53 .db $00,$12,$54,$00,$36,$35,$43,$35 .db $26,$01,$34,$27,$00,$33,$29,$01 .db $31,$2C,$10,$14,$6A,$67,$15,$69 .db $50,$16,$67,$4E,$17,$66,$30,$31 .db $4E,$91,$B1,$20,$14,$33,$22,$13 .db $35,$46,$59,$B5,$40,$5F,$34,$2F .db $01,$B6,$40,$46,$34,$20,$13,$36 .db $37,$45,$00,$F5,$F3,$0E,$F5,$33 .db $77,$CC,$02,$13,$5D,$04,$0F,$0F .db $32,$F7,$C6,$02,$12,$0E,$41,$F5 .db $10,$03,$77,$C7,$05,$12,$5A,$01 .db $12,$5F,$01,$92,$54,$01,$75,$1A .db $00,$10,$0A,$41,$F7,$C0,$03,$13 .db $52,$01,$72,$0E,$80,$80,$F2,$93 .db $76,$1A,$00,$74,$04,$60,$74,$1E .db $00,$F7,$C4,$02,$90,$01,$41,$74 .db $13,$00,$32,$39,$83,$32,$4A,$81 .db $10,$0A,$86,$32,$2C,$34,$17,$6C .db $35,$B6,$20,$03,$2F,$5D,$91,$58 .db $12,$1D,$37,$22,$05,$FF DATA_07BABE: .db $53,$C0,$85,$80,$00,$37,$40,$3F .db $76,$F5,$03,$12,$0F,$82,$13,$0C .db $83,$95,$02,$1D,$37,$40,$3F,$16 .db $0D,$36,$93,$02,$41,$14,$09,$83 .db $13,$04,$82,$16,$06,$1D,$15,$08 .db $1D,$00,$F1,$93,$F5,$B2,$03,$02 .db $00,$01,$58,$10,$55,$37,$20,$05 .db $F1,$A8,$23,$80,$FC,$93,$14,$0E .db $83,$96,$00,$1D,$13,$05,$82,$15 .db $08,$1D,$F7,$F3,$03,$77,$F9,$03 .db $13,$5B,$00,$00,$FD,$93,$8F,$D8 .db $00,$38,$36,$25,$35,$3A,$53,$35 .db $4B,$5C,$74,$FC,$02,$91,$03,$40 .db $74,$F4,$03,$36,$48,$41,$37,$4A .db $31,$38,$4C,$23,$35,$38,$0D,$36 .db $3A,$0D,$37,$3C,$0D,$14,$0E,$83 .db $96,$00,$1D,$58,$10,$46,$77,$F5 .db $02,$13,$0D,$82,$16,$0F,$1D,$00 .db $FE,$93,$95,$01,$1E,$37,$37,$0B .db $37,$48,$15,$37,$3E,$0D,$76,$F9 .db $03,$F7,$F1,$02,$37,$35,$0B,$37 .db $46,$14,$37,$3B,$0D,$76,$F8,$02 .db $14,$0C,$83,$16,$0E,$1D,$12,$02 .db $41,$0F,$D2,$00,$00,$F6,$93,$8F .db $D4,$00,$37,$33,$0B,$37,$44,$10 .db $37,$35,$0D,$77,$F7,$03,$37,$3C .db $0B,$37,$4D,$14,$76,$FF,$02,$B7 .db $32,$0D,$38,$37,$25,$18,$FC,$20 .db $12,$0F,$41,$B8,$32,$23,$58,$13 .db $17,$13,$04,$82,$16,$06,$1D,$15 .db $08,$1E,$35,$3E,$27,$32,$3F,$27 .db $AF,$41,$85,$32,$40,$55,$0E,$00 .db $01,$35,$4F,$25,$B5,$35,$28,$32 .db $36,$58,$2F,$37,$88,$2F,$30,$27 .db $38,$3B,$25,$10,$FC,$A0,$F1,$A4 .db $62,$38,$3A,$23,$58,$1B,$14,$77 .db $FD,$03,$12,$DC,$02,$0E,$0D,$41 .db $80,$F2,$93,$14,$02,$83,$16,$04 .db $1D,$77,$F9,$04,$13,$0A,$41,$AF .db $5D,$91,$58,$10,$1F,$15,$F1,$20 .db $15,$F3,$20,$13,$F5,$40,$13,$F7 .db $40,$16,$0A,$86,$F7,$F3,$03,$77 .db $FA,$04,$FF DATA_07BC11: .db $0F,$20,$80,$80,$00,$58,$10,$1A .db $77,$F4,$03,$77,$FD,$02,$BA,$4B .db $04,$38,$3B,$1D,$38,$3F,$1B,$19 .db $CC,$02,$B8,$40,$2D,$30,$42,$73 .db $30,$31,$77,$30,$36,$78,$0E,$52 .db $03,$36,$46,$12,$36,$35,$17,$36 .db $39,$18,$14,$FC,$30,$3A,$4E,$04 .db $38,$3E,$1D,$19,$CF,$02,$B6,$32 .db $3B,$36,$43,$41,$58,$15,$19,$36 .db $35,$1D,$17,$C6,$02,$36,$39,$1B .db $36,$4A,$22,$36,$3D,$1D,$75,$FA .db $02,$12,$FE,$50,$0F,$07,$31,$F7 .db $F2,$03,$3A,$4F,$0E,$38,$3F,$1D .db $99,$C0,$0C,$11,$F3,$80,$14,$02 .db $41,$38,$35,$1B,$38,$46,$21,$38 .db $38,$1D,$38,$3D,$1B,$58,$1E,$18 .db $94,$A1,$00,$12,$A3,$00,$10,$05 .db $36,$36,$4A,$18,$36,$39,$17,$34 .db $4C,$14,$32,$4E,$10,$34,$3B,$17 .db $32,$3D,$17,$32,$3F,$18,$0E,$0E .db $41,$B4,$31,$18,$36,$33,$18,$38 .db $37,$25,$15,$F8,$51,$12,$FA,$80 .db $14,$0D,$2B,$93,$F0,$70,$16,$F2 .db $40,$3A,$45,$09,$3A,$34,$03,$19 .db $C4,$09,$38,$3E,$1B,$38,$4F,$2B .db $F7,$F3,$03,$14,$05,$34,$3A,$4B .db $04,$38,$3B,$1D,$38,$3F,$1B,$19 .db $CC,$02,$14,$5C,$02,$95,$F8,$20 .db $38,$40,$2F,$BA,$40,$07,$38,$30 .db $1D,$19,$C1,$05,$17,$E4,$00,$36 .db $37,$3B,$36,$48,$48,$32,$4A,$35 .db $32,$39,$37,$10,$5B,$03,$B2,$30 .db $38,$38,$41,$21,$36,$31,$1D,$3A .db $43,$0F,$38,$33,$1D,$19,$C4,$0D .db $38,$36,$1B,$38,$37,$1D,$38,$3A .db $1B,$38,$3B,$1D,$38,$3E,$1B,$38 .db $3F,$1D,$B8,$32,$1B,$58,$13,$1B .db $77,$F4,$04,$10,$A8,$0F,$14,$A8 .db $0F,$90,$02,$30,$77,$F3,$04,$3A .db $4F,$0B,$38,$3F,$1D,$16,$00,$41 .db $16,$0C,$86,$96,$E2,$00,$17,$E6 .db $00,$19,$C0,$09,$30,$3A,$9B,$30 .db $4B,$A4,$20,$3F,$FC,$12,$06,$41 .db $2E,$0C,$12,$07,$00,$00,$E0,$0F .db $00,$00,$E1,$FF DATA_07BD75: .db $01,$20,$00,$80,$00,$2F,$5D,$91 .db $58,$10,$1F,$36,$00,$21,$F7,$F2 .db $03,$77,$FC,$02,$FF DATA_07BD8A: .db $04,$20,$20,$85,$1C,$28,$40,$F7 .db $67,$D0,$07,$18,$60,$27,$0B,$F1 .db $F0,$06,$F1,$50,$28,$28,$E5,$18 .db $68,$2F,$07,$59,$01,$08,$5D,$01 .db $89,$51,$01,$0A,$55,$01,$0B,$59 .db $01,$0C,$5D,$01,$18,$68,$2F,$8C .db $52,$00,$0B,$53,$03,$10,$5D,$01 .db $18,$68,$2F,$91,$51,$01,$12,$55 .db $01,$13,$59,$01,$14,$5D,$01,$18 .db $68,$2B,$B7,$44,$3B,$76,$D4,$0B .db $11,$09,$41,$15,$FD,$51,$04,$02 .db $00,$E0,$FF DATA_07BDE5: .db $73,$20,$00,$81,$0C,$6B,$30,$0F .db $79,$50,$1F,$6F,$7B,$91,$14,$0A .db $88,$6E,$7F,$A1,$92,$00,$89,$79 .db $50,$12,$79,$43,$11,$79,$48,$10 .db $79,$59,$1F,$6B,$7D,$F0,$EB,$70 .db $F0,$6B,$73,$F0,$6B,$76,$F0,$79 .db $59,$1F,$6B,$79,$F0,$6B,$7C,$F0 .db $6B,$7F,$F0,$14,$08,$41,$F9,$59 .db $1F,$15,$05,$30,$70,$78,$81,$12 .db $09,$89,$36,$1B,$20,$F0,$71,$81 .db $12,$00,$88,$34,$14,$40,$79,$59 .db $1F,$6B,$78,$F0,$6F,$7B,$91,$12 .db $0A,$88,$13,$0C,$89,$35,$1D,$30 .db $F9,$59,$1F,$6F,$73,$91,$14,$04 .db $89,$15,$02,$41,$70,$76,$81,$36 .db $19,$20,$33,$1B,$50,$37,$1E,$10 .db $F9,$59,$1F,$6B,$73,$F0,$6B,$7C .db $F0,$6B,$7F,$F0,$17,$F4,$10,$36 .db $17,$20,$16,$0A,$41,$B3,$11,$50 .db $38,$11,$00,$35,$13,$30,$36,$1B .db $20,$79,$59,$1D,$0F,$E8,$30,$6B .db $75,$F0,$6B,$77,$F0,$6B,$79,$F0 .db $6B,$7D,$F0,$6B,$7F,$F0,$F9,$47 .db $11,$6B,$71,$F0,$6B,$75,$F0,$34 .db $13,$40,$37,$13,$10,$10,$FE,$80 .db $79,$4B,$10,$79,$5C,$14,$F9,$51 .db $1F,$6F,$74,$91,$12,$03,$88,$6B .db $6E,$F0,$EF,$74,$91,$11,$03,$88 .db $79,$51,$1F,$11,$FD,$70,$F9,$51 .db $1F,$6F,$73,$91,$14,$04,$89,$6B .db $66,$F0,$6E,$7F,$A1,$11,$0E,$88 .db $14,$0A,$41,$F9,$51,$1F,$16,$F3 .db $20,$16,$FC,$20,$14,$08,$36,$6E .db $7F,$A1,$92,$00,$89,$79,$41,$11 .db $15,$F3,$50,$73,$46,$70,$73,$57 .db $71,$73,$49,$71,$79,$4C,$10,$79 .db $5D,$12,$F9,$50,$1F,$6B,$64,$F0 .db $6F,$7A,$91,$6E,$7D,$A1,$13,$0B .db $89,$11,$0E,$89,$F9,$50,$1F,$36 .db $11,$20,$10,$F3,$80,$6B,$77,$F0 .db $14,$A9,$02,$14,$0A,$30,$16,$FE .db $20,$F9,$50,$1F,$6B,$30,$03,$6B .db $72,$F0,$6B,$74,$F0,$15,$F7,$30 .db $F9,$50,$14,$17,$03,$86,$79,$45 .db $11,$79,$4A,$10,$79,$5B,$16,$17 .db $0D,$41,$36,$18,$40,$F9,$42,$11 .db $38,$14,$20,$2F,$5D,$91,$78,$4C .db $20,$78,$5D,$22,$F8,$50,$2F,$FF DATA_07BF65: .db $1F,$A0,$05,$40,$20,$38,$40,$2B .db $12,$D0,$06,$77,$F5,$03,$38,$3C .db $25,$96,$F0,$40,$38,$32,$23,$58 .db $13,$13,$13,$04,$82,$15,$07,$1F .db $10,$DF,$04,$94,$01,$83,$16,$03 .db $1D,$38,$37,$25,$38,$3B,$23,$38 .db $3C,$25,$13,$0E,$41,$B8,$30,$23 .db $38,$31,$25,$38,$36,$23,$58,$17 .db $27,$14,$08,$83,$16,$0A,$1F,$10 .db $09,$36,$F7,$F0,$03,$77,$F7,$05 .db $33,$3F,$4B,$13,$AA,$04,$0F,$E9 .db $05,$B3,$40,$50,$35,$41,$31,$33 .db $31,$1D,$35,$33,$2D,$14,$06,$83 .db $14,$06,$2F,$14,$97,$00,$16,$08 .db $1F,$14,$0D,$30,$38,$3F,$25,$B9 .db $33,$13,$39,$44,$1D,$34,$F6,$40 .db $0F,$84,$0B,$14,$A7,$05,$16,$08 .db $41,$14,$9D,$01,$14,$AF,$06,$78 .db $F9,$03,$8F,$80,$04,$0F,$05,$23 .db $0F,$96,$50,$39,$42,$1F,$78,$F3 .db $03,$14,$08,$82,$17,$0A,$1D,$16 .db $0C,$1D,$B9,$32,$15,$38,$37,$23 .db $58,$18,$14,$93,$01,$82,$08,$00 .db $01,$14,$0E,$83,$13,$09,$82,$15 .db $0C,$1D,$96,$04,$1F,$38,$3D,$25 .db $12,$0B,$41,$98,$B2,$03,$15,$B9 .db $03,$B8,$33,$23,$58,$14,$1F,$77 .db $F5,$04,$13,$88,$04,$13,$0E,$82 .db $95,$01,$1D,$14,$9A,$00,$10,$0A .db $34,$14,$0B,$83,$16,$0D,$1F,$B8 .db $34,$25,$38,$39,$23,$38,$4A,$24 .db $38,$3F,$25,$77,$FA,$03,$B8,$34 .db $23,$58,$15,$10,$13,$06,$82,$16 .db $08,$1F,$15,$0A,$1D,$F7,$F2,$02 .db $00,$F2,$F3,$0E,$F2,$73,$38,$36 .db $25,$37,$3B,$33,$37,$4C,$31,$37 .db $3E,$35,$B8,$34,$23,$38,$45,$22 .db $38,$38,$25,$77,$F5,$02,$37,$3D .db $33,$37,$4E,$3F,$76,$FE,$03,$92 .db $A0,$04,$13,$05,$83,$15,$07,$1F .db $37,$3E,$35,$92,$50,$02,$38,$34 .db $23,$38,$45,$20,$38,$36,$25,$14 .db $57,$00,$13,$58,$01,$36,$3A,$43 .db $36,$4B,$40,$36,$3C,$45,$10,$0E .db $41,$B4,$30,$63,$34,$41,$62,$58 .db $14,$15,$34,$34,$3D,$11,$56,$01 .db $13,$07,$82,$15,$0A,$1D,$14,$0F .db $31,$94,$02,$83,$16,$04,$1F,$38 .db $3A,$25,$17,$FD,$30,$17,$BF,$17 .db $97,$F7,$30,$38,$3D,$23,$58,$1E .db $81,$77,$FE,$03,$80,$F0,$F3,$35 .db $33,$27,$32,$45,$56,$35,$44,$25 .db $32,$34,$27,$35,$3A,$28,$32,$3C .db $58,$0E,$0F,$41,$77,$FF,$03,$93 .db $54,$01,$13,$08,$82,$14,$05,$83 .db $16,$07,$1F,$15,$0B,$1D,$F7,$F3 .db $03,$77,$FE,$03,$0F,$50,$20,$0F .db $52,$20,$12,$51,$20,$0F,$55,$00 .db $10,$54,$30,$10,$56,$30,$14,$55 .db $00,$0F,$58,$40,$0F,$5A,$40,$14 .db $59,$00,$F7,$F6,$02,$10,$50,$40 .db $10,$52,$40,$0F,$51,$00,$12,$51 .db $00,$0F,$54,$50,$0F,$55,$00,$10 .db $56,$10,$12,$55,$00,$13,$56,$10 .db $0F,$58,$50,$0F,$59,$01,$11,$59 .db $01,$14,$59,$01,$F7,$F2,$04,$10 .db $50,$40,$10,$52,$40,$0F,$51,$00 .db $12,$51,$00,$14,$58,$02,$12,$5A .db $10,$11,$59,$00,$10,$58,$10,$0F .db $59,$01,$0F,$5C,$40,$14,$5D,$00 .db $0F,$5E,$40,$8F,$50,$50,$0F,$51 .db $00,$10,$52,$20,$12,$51,$00,$0F .db $54,$50,$0F,$55,$01,$11,$55,$01 .db $14,$55,$01,$0F,$58,$50,$0F,$59 .db $00,$10,$5A,$10,$12,$59,$00,$13 .db $5A,$10,$77,$F0,$03,$77,$F8,$02 .db $8F,$50,$50,$0F,$51,$00,$10,$52 .db $20,$12,$51,$00,$77,$F2,$03,$77 .db $FF,$02,$0F,$54,$50,$14,$55,$01 .db $10,$58,$40,$0F,$59,$00,$10,$5A .db $40,$12,$59,$00,$0F,$5C,$20,$0F .db $5E,$20,$12,$5D,$20,$8F,$50,$50 .db $0F,$51,$01,$11,$51,$01,$14,$51 .db $01,$0F,$54,$50,$0F,$55,$00,$10 .db $56,$10,$12,$55,$00,$13,$56,$10 .db $14,$5A,$00,$0F,$5A,$30,$0F,$5C .db $30,$14,$5C,$00,$77,$FC,$03,$AF .db $5D,$91,$58,$10,$1F,$16,$04,$86 .db $FF Empty07C226: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF LevelDataSpr07C300: .db $03,$00,$80,$F4,$51,$60,$5E,$41 .db $A3,$08,$41,$54,$08,$FF,$00,$51 .db $71,$8F,$51,$B1,$8F,$61,$72,$8F .db $41,$C2,$8F,$51,$C3,$8F,$21,$34 .db $1A,$31,$E4,$1A,$71,$04,$8F,$41 .db $64,$8F,$81,$C4,$8F,$51,$25,$8F .db $41,$95,$8F,$61,$D6,$8F,$41,$A6 .db $8F,$41,$17,$8F,$61,$67,$8F,$FF DATA_07C340: .db $10,$00,$00,$A0,$FF DATA_07C345: .db $00,$00,$C0,$29,$FF DATA_07C34A: .db $00,$10,$C0,$29,$FF DATA_07C34F: .db $00,$20,$C0,$29,$FF DATA_07C354: .db $92,$30,$C0,$29,$FF DATA_07C359: .db $92,$00,$20,$33,$00,$70,$33,$00 .db $D0,$33,$40,$C0,$29,$FF DATA_07C367: .db $0E,$00,$10,$A9,$00,$20,$A9,$00 .db $30,$A9,$00,$40,$A9,$FF,$80,$00 .db $80,$F5,$F0,$51,$11,$F0,$03,$11 .db $F0,$33,$11,$F0,$06,$97,$11,$D6 .db $11,$01,$17,$11,$F0,$47,$11,$01 .db $18,$11,$01,$38,$11,$F0,$29,$11 .db $01,$A9,$92,$FF,$00,$11,$50,$A5 .db $11,$80,$A5,$11,$51,$A6,$11,$81 .db $A6,$FF,$00,$00,$80,$E9,$71,$11 .db $30,$81,$41,$2F,$81,$51,$2F,$71 .db $D2,$67,$71,$63,$67,$71,$24,$67 .db $31,$55,$67,$41,$D5,$67,$41,$96 .db $67,$41,$37,$67,$71,$77,$67,$01 .db $38,$67,$D0,$78,$67,$E0,$B8,$67 .db $71,$D8,$67,$FF DATA_07C3DB: .db $0E,$01,$10,$B6,$50,$C0,$29,$FF DATA_07C3E3: .db $0E,$01,$10,$B6,$60,$C0,$29,$01 .db $E0,$B6,$FF DATA_07C3EE: .db $00,$FF DATA_07C3F0: .db $00,$71,$E0,$7B,$FF DATA_07C3F5: .db $00,$00,$00,$8D,$71,$E0,$7B,$FF .db $00,$75,$E0,$7B,$FF,$00,$75,$E1 .db $7B,$FF DATA_07C407: .db $00,$70,$50,$82,$FF DATA_07C40C: .db $00,$00,$00,$8D,$75,$E0,$7B,$FF DATA_07C414: .db $0E,$00,$10,$A9,$00,$20,$A9,$00 .db $30,$A9,$00,$40,$A9,$FF DATA_07C422: .db $0F,$00,$00,$E6,$FF DATA_07C427: .db $00,$61,$B0,$05,$11,$73,$BD,$71 .db $34,$04,$71,$64,$05,$71,$94,$06 .db $71,$C4,$07,$31,$56,$70,$61,$B6 .db $4F,$FF DATA_07C441: .db $00,$00,$00,$19,$FF DATA_07C446: .db $00,$71,$80,$3E,$FF DATA_07C44B: .db $00,$41,$02,$6D,$FF DATA_07C450: .db $00,$71,$40,$3E,$71,$80,$DD,$71 .db $90,$03,$71,$D0,$04,$71,$11,$05 .db $71,$51,$06,$71,$91,$04,$71,$D1 .db $05,$71,$12,$06,$71,$52,$04,$71 .db $92,$05,$FF DATA_07C473: .db $00,$41,$02,$6D,$FF DATA_07C478: .db $00,$71,$60,$3E,$E0,$70,$13,$71 .db $B0,$3E,$E0,$C0,$13,$E0,$11,$13 .db $E0,$61,$13,$E0,$B1,$13,$E0,$02 .db $13,$E0,$52,$13,$E0,$A2,$13,$FF DATA_07C498: .db $00,$41,$02,$6D,$FF DATA_07C49D: .db $00,$F0,$60,$DB,$31,$80,$02,$F0 .db $A0,$3E,$71,$E0,$05,$71,$21,$05 .db $71,$61,$05,$71,$A1,$05,$71,$E1 .db $05,$71,$22,$05,$71,$62,$05,$71 .db $A2,$05,$FF DATA_07C4C0: .db $00,$41,$02,$6D,$FF DATA_07C4C5: .db $00,$61,$70,$8C,$FF DATA_07C4CA: .db $04,$11,$D0,$BD,$31,$F1,$9F,$71 .db $12,$AB,$41,$52,$83,$71,$F2,$AB .db $21,$73,$AB,$31,$84,$AB,$71,$25 .db $AB,$71,$95,$AB,$71,$66,$C7,$71 .db $07,$AB,$51,$17,$4F,$41,$38,$8E .db $71,$A8,$AB,$41,$B8,$4F,$41,$2A .db $B9,$71,$CA,$AB,$71,$6B,$AB,$71 .db $8B,$AB,$71,$AB,$AB,$51,$DB,$AB .db $41,$AC,$9F,$51,$FC,$B9,$71,$FC .db $AB,$71,$1D,$DB,$41,$2E,$9F,$71 .db $2F,$AB,$73,$10,$AB,$73,$70,$AB .db $43,$71,$9F,$43,$C1,$4F,$43,$22 .db $AB,$73,$A2,$95,$73,$E2,$7B,$FF DATA_07C532: .db $00,$71,$11,$DB,$41,$B1,$05,$41 .db $C1,$05,$41,$D1,$05,$41,$E1,$05 .db $41,$F1,$05,$41,$02,$05,$41,$12 .db $05,$41,$22,$05,$51,$04,$B9,$71 .db $25,$DB,$71,$45,$01,$71,$86,$DA .db $71,$A6,$00,$31,$D8,$91,$51,$D9 .db $B9,$31,$1C,$4E,$61,$6C,$4E,$41 .db $6D,$4E,$71,$BE,$4D,$71,$7F,$4D .db $53,$11,$4F,$13,$A1,$3E,$73,$52 .db $91,$73,$E2,$7B,$FF DATA_07C57F: .db $00,$F0,$80,$84,$E0,$C0,$84,$F0 .db $31,$84,$D0,$41,$84,$01,$81,$84 .db $E0,$C1,$84,$FF DATA_07C593: .db $01,$41,$F0,$B9,$A0,$61,$5F,$D0 .db $C2,$5A,$A0,$23,$5A,$A0,$E3,$5F .db $50,$F4,$0B,$D0,$55,$55,$80,$75 .db $0B,$D0,$B5,$57,$80,$A6,$05,$90 .db $F6,$5F,$D0,$B7,$5F,$71,$F9,$09 .db $41,$2A,$B9,$31,$CA,$05,$01,$4B .db $57,$A0,$1C,$5F,$C0,$CC,$59,$E0 .db $1D,$5A,$C0,$6D,$59,$A0,$BD,$5A .db $70,$0E,$59,$70,$6E,$5A,$C0,$8F .db $55,$30,$AF,$0B,$E0,$AF,$0B,$D0 .db $EF,$5F,$D2,$F0,$5F,$E2,$91,$5F .db $73,$E3,$7B,$FF DATA_07C5EF: .db $80,$71,$60,$3E,$FF DATA_07C5F4: .db $C0,$91,$50,$47,$81,$90,$47,$91 .db $D0,$47,$71,$01,$5D,$71,$B1,$5D .db $71,$82,$5D,$71,$E2,$5D,$91,$93 .db $A4,$71,$C3,$5D,$71,$24,$5D,$71 .db $54,$A4,$D0,$84,$3E,$51,$C4,$DB .db $91,$35,$15,$C0,$45,$05,$C0,$85 .db $05,$C0,$C5,$05,$91,$D5,$15,$71 .db $C6,$5D,$91,$17,$A4,$71,$27,$5D .db $71,$67,$A4,$71,$08,$5D,$91,$58 .db $A4,$71,$68,$5D,$71,$B8,$A4,$71 .db $C8,$5D,$91,$19,$A4,$91,$99,$A4 .db $71,$A9,$5D,$91,$F9,$A4,$71,$0A .db $5D,$91,$7A,$18,$FF DATA_07C659: .db $00,$51,$60,$B9,$71,$E0,$7B,$FF DATA_07C661: .db $00,$21,$31,$70,$51,$D1,$B9,$31 .db $22,$70,$01,$23,$70,$FF DATA_07C66F: .db $82,$00,$00,$E6,$51,$60,$B9,$31 .db $11,$24,$21,$51,$24,$01,$91,$25 .db $41,$E1,$22,$01,$52,$24,$41,$A2 .db $22,$71,$A2,$3E,$31,$23,$25,$41 .db $63,$22,$21,$B3,$24,$41,$24,$33 .db $51,$44,$25,$41,$E4,$22,$11,$05 .db $54,$01,$15,$24,$21,$A5,$22,$51 .db $C5,$22,$01,$C5,$24,$31,$06,$54 .db $51,$46,$25,$61,$66,$22,$31,$A6 .db $54,$00,$07,$E6,$51,$37,$B9,$FF DATA_07C6BF: .db $0F,$00,$80,$F3,$00,$00,$E6,$00 .db $21,$89,$51,$52,$83,$81,$43,$5A .db $FF DATA_07C6D0: .db $92,$30,$C0,$29,$FF DATA_07C6D5: .db $00,$71,$C1,$73,$51,$32,$73,$31 .db $72,$73,$71,$D2,$C7,$A0,$33,$72 .db $71,$C3,$98,$41,$B4,$73,$71,$05 .db $73,$31,$95,$99,$71,$76,$09,$11 .db $96,$73,$71,$B6,$09,$71,$08,$73 .db $51,$18,$4F,$71,$48,$98,$B0,$3A .db $72,$71,$5A,$C7,$71,$BA,$73,$71 .db $FA,$73,$41,$1B,$73,$B0,$3C,$72 .db $71,$8C,$73,$41,$BC,$99,$11,$7D .db $73,$71,$9D,$98,$71,$8E,$98,$31 .db $FE,$99,$31,$CF,$98,$73,$C0,$73 .db $13,$D0,$73,$33,$D0,$73,$53,$D0 .db $73,$53,$61,$B9,$62,$D1,$80,$62 .db $12,$0E,$13,$42,$99,$73,$B2,$98 .db $73,$E2,$7B,$FF DATA_07C749: .db $00,$71,$50,$77,$41,$70,$B9,$FF DATA_07C751: .db $00,$00,$80,$E8,$41,$31,$11,$01 .db $61,$BE,$21,$B1,$11,$01,$E1,$BE .db $21,$72,$11,$B0,$F2,$BE,$D0,$64 .db $11,$60,$94,$BE,$60,$C4,$BE,$60 .db $25,$BE,$60,$75,$BE,$60,$95,$BE .db $60,$B5,$BE,$60,$16,$BE,$B0,$C6 .db $BE,$01,$17,$11,$B0,$47,$BE,$B0 .db $67,$BE,$01,$77,$11,$B0,$B7,$BE .db $F0,$48,$11,$F0,$88,$11,$01,$C8 .db $11,$E0,$28,$83,$11,$8B,$2E,$11 .db $AB,$2E,$11,$EB,$11,$FF DATA_07C7A7: .db $00,$71,$51,$97,$60,$52,$0E,$60 .db $82,$80,$71,$43,$DC,$FF DATA_07C7B5: .db $07,$01,$00,$E1,$51,$90,$B9,$FF DATA_07C7BD: .db $00,$F0,$60,$37,$81,$B0,$37,$E0 .db $71,$37,$51,$C1,$37,$FF DATA_07C7CB: .db $00,$F0,$60,$37,$81,$B0,$37,$E0 .db $71,$37,$51,$C1,$37,$FF DATA_07C7D9: .db $0E,$51,$41,$E0,$31,$72,$62,$41 .db $E2,$E0,$21,$B3,$06,$21,$34,$09 .db $11,$94,$08,$11,$C4,$08,$11,$55 .db $09,$41,$D5,$E0,$21,$76,$62,$41 .db $07,$E0,$51,$A7,$B9,$71,$28,$05 .db $61,$58,$62,$61,$19,$08,$E0,$F9 .db $68,$71,$1A,$68,$41,$1A,$68,$01 .db $9A,$08,$51,$3B,$68,$21,$3B,$62 .db $41,$DB,$E0,$11,$5C,$63,$81,$6C .db $55,$81,$0D,$55,$01,$2D,$08,$81 .db $AD,$55,$01,$ED,$08,$01,$4E,$08 .db $41,$4F,$E0,$41,$FF,$E0,$43,$61 .db $E0,$03,$71,$68,$33,$D1,$63,$73 .db $E2,$7B,$FF DATA_07C844: .db $00,$71,$11,$DD,$71,$41,$03,$71 .db $12,$0F,$71,$72,$05,$51,$82,$4F .db $71,$03,$06,$51,$13,$49,$71,$73 .db $06,$51,$83,$4F,$61,$D3,$49,$11 .db $94,$9C,$11,$94,$9B,$11,$D5,$05 .db $71,$16,$0F,$71,$36,$0F,$21,$46 .db $06,$71,$56,$0F,$71,$76,$0F,$71 .db $96,$0F,$71,$B6,$10,$51,$37,$4F .db $11,$88,$9C,$11,$88,$9B,$81,$0B .db $10,$81,$5B,$10,$81,$8B,$10,$71 .db $0C,$10,$11,$5C,$81,$11,$CC,$9C .db $11,$CC,$9B,$A0,$0D,$3F,$A0,$BD .db $3F,$51,$1E,$10,$00,$3E,$CC,$61 .db $FE,$10,$51,$CF,$10,$33,$30,$10 .db $73,$C0,$10,$02,$41,$D9,$73,$41 .db $10,$C2,$D1,$3F,$13,$F1,$9C,$13 .db $F1,$9B,$C2,$12,$3F,$73,$E2,$7B .db $FF DATA_07C8CD: .db $00,$71,$A0,$0A,$51,$A0,$0A,$71 .db $01,$0A,$51,$01,$0A,$61,$51,$0A .db $61,$61,$0A,$61,$71,$0A,$61,$81 .db $0A,$61,$91,$0A,$FF DATA_07C8EA: .db $00,$61,$D0,$49,$51,$11,$49,$61 .db $81,$49,$51,$B1,$0A,$51,$D1,$49 .db $31,$32,$0A,$31,$52,$49,$71,$A2 .db $49,$FF DATA_07C904: .db $0E,$B0,$90,$27,$B0,$01,$27,$21 .db $61,$9E,$C0,$C1,$9E,$60,$22,$9E .db $FF DATA_07C915: .db $80,$50,$20,$32,$30,$21,$26,$80 .db $61,$33,$B0,$C1,$26,$E0,$32,$26 .db $FF DATA_07C926: .db $00,$B0,$90,$32,$D0,$82,$32,$90 .db $82,$32,$D0,$D2,$32,$30,$53,$32 .db $A0,$44,$32,$70,$55,$32,$40,$55 .db $2F,$00,$77,$EF,$FF DATA_07C943: .db $00,$00,$C0,$29,$FF DATA_07C948: .db $80,$71,$C0,$3D,$31,$91,$16,$71 .db $D1,$C2,$61,$72,$3D,$21,$F2,$3D .db $71,$23,$C2,$71,$53,$15,$41,$D3 .db $3D,$21,$44,$C2,$51,$74,$C2,$F0 .db $C4,$16,$01,$15,$16,$41,$65,$3D .db $61,$C5,$16,$51,$E5,$16,$31,$36 .db $3D,$81,$D6,$3D,$11,$07,$15,$41 .db $27,$15,$51,$47,$3E,$41,$E7,$C2 .db $11,$18,$C2,$71,$88,$C2,$11,$B8 .db $3D,$21,$79,$C2,$41,$89,$0E,$31 .db $3A,$15,$61,$6A,$15,$91,$CA,$16 .db $61,$0B,$15,$11,$7B,$3D,$71,$EB .db $7B,$FF DATA_07C9AA: .db $00,$71,$F0,$0B,$E0,$F0,$0B,$D1 .db $A1,$0B,$31,$A1,$0B,$B0,$A1,$0B .db $71,$92,$0B,$F0,$92,$0B,$A1,$03 .db $0B,$B0,$93,$0B,$91,$14,$0B,$FF DATA_07C9CA: .db $0B,$41,$A1,$E3,$F0,$92,$2F,$61 .db $A2,$38,$71,$E2,$3E,$41,$33,$28 .db $FF DATA_07C9DB: .db $07,$21,$60,$3E,$61,$C0,$37,$51 .db $21,$37,$51,$41,$B9,$41,$52,$37 .db $41,$13,$E2,$21,$E3,$37,$FF DATA_07C9F2: .db $00,$11,$40,$37,$51,$80,$37,$41 .db $E0,$37,$11,$21,$37,$11,$E1,$37 .db $41,$32,$38,$01,$92,$39,$61,$C2 .db $39,$FF DATA_07CA0C: .db $09,$F0,$20,$37,$D0,$B0,$C5,$F0 .db $A0,$37,$FF DATA_07CA17: .db $00,$11,$31,$04,$71,$22,$2F,$71 .db $53,$2E,$71,$A3,$2E,$01,$24,$2E .db $01,$85,$0B,$71,$46,$2E,$71,$E6 .db $2E,$41,$08,$4F,$51,$58,$4F,$E0 .db $A9,$2E,$71,$B9,$2E,$E0,$F9,$2E .db $41,$5A,$0A,$71,$7B,$04,$71,$9B .db $2E,$71,$BB,$2E,$71,$DB,$2E,$71 .db $FB,$2E,$01,$0D,$0A,$11,$0D,$0A .db $21,$0D,$0A,$31,$0D,$0A,$41,$0D .db $0A,$51,$0D,$0A,$61,$0D,$0A,$71 .db $0D,$0A,$71,$ED,$7B,$FF DATA_07CA6D: .db $00,$81,$E0,$C4,$81,$31,$C4,$81 .db $81,$4F,$81,$B1,$C4,$81,$12,$C4 .db $71,$62,$4F,$81,$92,$C4,$81,$03 .db $C4,$FF DATA_07CA87: .db $00,$71,$31,$2E,$D0,$61,$BE,$D0 .db $A1,$BE,$D0,$32,$BE,$11,$52,$83 .db $41,$22,$11,$D0,$A2,$BE,$D0,$D2 .db $BE,$D0,$93,$DB,$11,$93,$DC,$71 .db $D3,$11,$71,$54,$11,$11,$A4,$11 .db $71,$F4,$11,$11,$05,$11,$71,$15 .db $C7,$11,$A5,$11,$71,$A6,$11,$81 .db $57,$0A,$80,$17,$80,$80,$47,$0E .db $73,$00,$11,$73,$C0,$11,$73,$51 .db $11,$33,$42,$2E,$33,$62,$2E,$43 .db $D2,$2E,$43,$F2,$2E,$43,$13,$2E .db $03,$33,$11,$43,$94,$11,$53,$D4 .db $4F,$53,$15,$0A,$73,$F5,$11,$F2 .db $A6,$11,$73,$67,$DA,$13,$48,$DC .db $53,$39,$11,$73,$A9,$97,$73,$E9 .db $7B,$FF DATA_07CB01: .db $80,$04,$80,$F5,$91,$D1,$A8,$E0 .db $E1,$11,$E0,$12,$11,$91,$82,$A8 .db $E0,$92,$11,$E0,$E2,$11,$91,$43 .db $A8,$01,$83,$11,$01,$E3,$11,$91 .db $E3,$A8,$21,$34,$11,$21,$B4,$09 .db $FF DATA_07CB2A: .db $80,$41,$81,$15,$F0,$22,$11,$71 .db $C2,$16,$41,$C3,$15,$81,$44,$16 .db $80,$94,$11,$01,$A4,$80,$81,$F4 .db $15,$30,$25,$11,$61,$25,$15,$81 .db $55,$0E,$41,$55,$15,$90,$65,$11 .db $81,$E5,$16,$31,$C6,$15,$71,$D6 .db $15,$51,$57,$16,$60,$87,$3E,$51 .db $97,$16,$60,$D7,$11,$70,$58,$11 .db $31,$58,$15,$51,$98,$15,$71,$29 .db $15,$51,$99,$15,$40,$B9,$91,$60 .db $1A,$11,$F0,$8A,$91,$50,$FA,$91 .db $40,$3B,$81,$60,$BB,$11,$61,$1C .db $11,$61,$7C,$11,$D0,$8C,$3E,$71 .db $AD,$11,$21,$3D,$91,$71,$1E,$11 .db $11,$7E,$11,$E0,$5F,$BE,$E0,$AF .db $BE,$71,$BF,$11,$31,$7F,$91,$E0 .db $CF,$BE,$E2,$30,$BE,$E2,$70,$BE .db $E2,$A0,$BE,$E2,$E0,$BE,$E2,$31 .db $BE,$33,$B1,$92,$43,$12,$2E,$73 .db $E2,$7B,$FF DATA_07CBC5: .db $80,$51,$F0,$11,$41,$51,$11,$91 .db $C1,$15,$61,$D2,$11,$61,$F2,$11 .db $41,$43,$2E,$91,$63,$15,$FF DATA_07CBDC: .db $0B,$61,$21,$38,$11,$21,$38,$41 .db $F1,$E3,$61,$13,$37,$71,$D3,$37 .db $C0,$24,$37,$61,$84,$37,$51,$F4 .db $37,$01,$A5,$37,$71,$E5,$37,$41 .db $36,$37,$21,$37,$28,$41,$E8,$28 .db $40,$C9,$38,$41,$0A,$E2,$21,$7A .db $37,$40,$BA,$38,$FF DATA_07CC11: .db $0D,$11,$41,$90,$01,$22,$90,$01 .db $23,$90,$01,$64,$90,$D0,$25,$90 .db $01,$26,$90,$FF DATA_07CC25: .db $00,$81,$A0,$61,$91,$61,$A8,$61 .db $02,$83,$21,$32,$83,$91,$42,$A8 .db $61,$E2,$4F,$21,$23,$4F,$F0,$53 .db $11,$81,$F3,$61,$51,$84,$83,$31 .db $F5,$A8,$31,$36,$A8,$31,$A6,$A8 .db $81,$19,$61,$91,$A9,$A8,$31,$0B .db $11,$40,$AB,$11,$40,$CB,$11,$41 .db $BB,$2A,$51,$EB,$2A,$51,$4C,$2A .db $81,$CC,$61,$51,$BD,$11,$31,$CD .db $2A,$73,$B0,$DB,$73,$C0,$02,$83 .db $E1,$61,$93,$33,$A8,$93,$64,$A8 .db $93,$C5,$A8,$93,$66,$A8,$F2,$87 .db $2E,$73,$A7,$2E,$F2,$D7,$2E,$73 .db $08,$2E,$F2,$38,$2E,$73,$68,$2E .db $73,$F8,$11,$53,$79,$11,$73,$8A .db $11,$73,$1B,$11,$73,$6B,$11,$83 .db $FB,$61,$33,$7C,$2A,$33,$BC,$2A .db $33,$EC,$2A,$33,$2D,$2A,$62,$2E .db $3E,$73,$EE,$7B,$FF DATA_07CCBA: .db $80,$31,$E0,$11,$31,$11,$11,$61 .db $A1,$11,$21,$32,$11,$91,$92,$15 .db $61,$33,$0A,$91,$53,$15,$61,$D3 .db $11,$FF DATA_07CCD4: .db $00,$00,$11,$D5,$41,$51,$6C,$11 .db $F1,$05,$71,$42,$6B,$61,$52,$0A .db $31,$92,$6C,$81,$82,$74,$81,$C4 .db $6B,$81,$15,$6C,$81,$35,$6B,$51 .db $45,$08,$81,$95,$6C,$81,$B5,$6B .db $81,$16,$6C,$71,$47,$05,$41,$87 .db $6C,$01,$B8,$0B,$31,$C8,$6C,$51 .db $B8,$0B,$71,$C8,$6C,$00,$49,$D9 .db $21,$99,$0A,$00,$4A,$D6,$91,$8A .db $4F,$71,$CA,$6C,$71,$EA,$6B,$81 .db $1B,$4F,$71,$6B,$6C,$F0,$2C,$04 .db $41,$8C,$6C,$41,$8D,$6C,$81,$8D .db $6C,$91,$AD,$6B,$00,$AE,$D9,$21 .db $1F,$05,$00,$9F,$D6,$33,$30,$04 .db $53,$90,$6B,$02,$41,$D9,$83,$41 .db $6B,$63,$71,$0A,$63,$B1,$6C,$83 .db $D1,$6B,$53,$12,$0A,$53,$52,$6C .db $43,$72,$6B,$73,$E2,$7B,$FF DATA_07CD63: .db $00,$81,$A0,$61,$FF DATA_07CD68: .db $80,$31,$41,$33,$51,$61,$1F,$31 .db $02,$33,$31,$B2,$33,$81,$84,$5B .db $81,$D4,$5B,$81,$35,$5B,$E0,$45 .db $3E,$81,$95,$5B,$81,$06,$5B,$11 .db $67,$33,$E0,$48,$33,$21,$A8,$33 .db $E0,$B8,$33,$FF DATA_07CD94: .db $80,$0C,$80,$EA,$31,$52,$32,$F0 .db $13,$33,$51,$83,$32,$F0,$A4,$33 .db $21,$15,$32,$E0,$16,$33,$81,$A6 .db $74,$E0,$98,$33,$51,$E8,$32,$F0 .db $79,$32,$F0,$A9,$32,$51,$3A,$32 .db $51,$6A,$32,$FF DATA_07CDC0: .db $0E,$01,$10,$B6,$50,$C0,$29,$FF DATA_07CDC8: .db $00,$70,$01,$6C,$70,$81,$6C,$10 .db $41,$6B,$10,$C1,$6B,$A1,$C2,$2F .db $81,$F2,$0B,$71,$F2,$0B,$61,$F2 .db $0B,$31,$F2,$0B,$21,$F2,$0B,$11 .db $F2,$0B,$21,$63,$2F,$10,$14,$6B .db $10,$64,$6B,$10,$B4,$6B,$D1,$94 .db $0B,$E0,$C5,$0B,$F0,$95,$6C,$F0 .db $E5,$6C,$E1,$55,$05,$71,$66,$05 .db $21,$86,$09,$FF DATA_07CE0C: .db $00,$01,$61,$97,$71,$E1,$7B,$FF DATA_07CE14: .db $00,$F0,$71,$97,$75,$E1,$7B,$FF DATA_07CE1C: .db $00,$71,$01,$09,$61,$11,$09,$71 .db $F1,$09,$61,$42,$09,$51,$82,$09 .db $51,$23,$09,$51,$53,$09,$51,$83 .db $09,$41,$14,$09,$61,$54,$09,$61 .db $94,$09,$61,$15,$09,$51,$35,$09 .db $51,$A5,$09,$41,$C5,$09,$51,$F5 .db $09,$61,$16,$09,$31,$46,$09,$41 .db $76,$09,$71,$B6,$09,$61,$D6,$09 .db $41,$17,$09,$31,$37,$09,$71,$87 .db $09,$61,$A7,$09,$61,$38,$4F,$00 .db $88,$D9,$61,$B8,$4F,$F0,$AA,$13 .db $00,$6B,$CD,$51,$6B,$4B,$00,$9C .db $CD,$41,$FC,$13,$61,$3D,$13,$00 .db $1E,$D9,$71,$9E,$13,$71,$AE,$13 .db $71,$BE,$13,$71,$CE,$13,$71,$DE .db $13,$71,$EE,$13,$71,$FE,$13,$71 .db $0F,$13,$00,$BF,$CD,$53,$21,$4B .db $23,$B1,$92,$02,$F1,$D9,$33,$72 .db $0B,$33,$82,$0B,$33,$92,$0B,$33 .db $A2,$0B,$73,$E2,$7B,$FF DATA_07CEBA: .db $00,$71,$C3,$3E,$FF DATA_07CEBF: .db $80,$81,$21,$42,$00,$51,$D9,$81 .db $81,$42,$81,$E1,$42,$81,$42,$42 .db $00,$43,$CF,$00,$65,$D9,$81,$36 .db $42,$81,$76,$41,$81,$A6,$43,$81 .db $E6,$C3,$81,$37,$41,$81,$87,$42 .db $81,$B8,$42,$81,$E8,$43,$81,$49 .db $42,$81,$A9,$42,$00,$E9,$D9,$81 .db $F9,$41,$81,$2A,$43,$81,$AA,$43 .db $81,$EA,$43,$00,$9B,$D0,$FF DATA_07CF06: .db $8E,$31,$41,$9E,$51,$91,$AA,$11 .db $D1,$AA,$11,$12,$9E,$F0,$C2,$AA .db $E0,$03,$9E,$71,$73,$AA,$F0,$54 .db $AA,$51,$45,$AA,$21,$D5,$AA,$01 .db $D5,$B2,$71,$06,$31,$01,$46,$B2 .db $01,$56,$B2,$71,$76,$30,$41,$86 .db $AA,$01,$B6,$B2,$01,$E6,$B2,$71 .db $E6,$31,$71,$17,$30,$41,$27,$AA .db $01,$37,$B2,$31,$87,$AA,$FF DATA_07CF4D: .db $8E,$71,$41,$AA,$51,$71,$AA,$E0 .db $71,$26,$51,$F1,$AA,$71,$22,$31 .db $71,$42,$31,$21,$72,$AA,$E0,$82 .db $26,$70,$A2,$AA,$50,$F2,$9E,$21 .db $13,$30,$31,$63,$9E,$50,$A3,$9E .db $70,$D3,$AA,$E0,$E3,$26,$01,$34 .db $AA,$50,$54,$9E,$70,$05,$AA,$50 .db $05,$9E,$71,$25,$30,$51,$35,$AA .db $11,$35,$AA,$E0,$45,$26,$11,$06 .db $AA,$01,$46,$9E,$61,$76,$9E,$81 .db $B6,$30,$41,$D6,$AA,$11,$07,$AA .db $31,$57,$31,$01,$97,$AA,$31,$A7 .db $31,$FF DATA_07CFAF: .db $01,$81,$31,$63,$51,$B1,$63,$81 .db $D1,$65,$21,$72,$63,$51,$92,$65 .db $91,$B3,$65,$61,$44,$65,$11,$54 .db $65,$91,$D4,$65,$21,$E4,$65,$01 .db $15,$65,$91,$55,$65,$91,$65,$65 .db $01,$56,$65,$61,$A6,$65,$F0,$57 .db $65,$F0,$97,$65,$91,$C7,$65,$01 .db $D7,$65,$31,$28,$65,$91,$38,$65 .db $81,$68,$65,$31,$78,$65,$01,$98 .db $65,$01,$F8,$65,$01,$4A,$64,$11 .db $AB,$64,$21,$DC,$64,$01,$2D,$64 .db $01,$8D,$64,$01,$1F,$64,$D0,$9F .db $66,$31,$9F,$65,$61,$FF,$65,$33 .db $50,$65,$93,$90,$65,$43,$F0,$65 .db $73,$51,$65,$43,$B1,$65,$A3,$B1 .db $65,$53,$E2,$7B,$77,$E4,$7B,$FF DATA_07D02F: .db $00,$00,$80,$D7,$71,$51,$57,$41 .db $C1,$57,$81,$32,$57,$51,$A2,$57 .db $71,$53,$55,$FF DATA_07D043: .db $07,$71,$C0,$4D,$11,$01,$BD,$71 .db $21,$4D,$21,$12,$9A,$71,$72,$4D .db $F0,$B3,$BD,$11,$14,$BD,$21,$44 .db $BD,$71,$64,$DB,$11,$E4,$4E,$51 .db $E4,$4E,$71,$25,$4E,$11,$25,$4E .db $71,$45,$4D,$F0,$45,$4D,$31,$45 .db $4D,$51,$65,$4D,$71,$D6,$4D,$41 .db $F6,$4E,$61,$17,$4E,$61,$37,$4E .db $31,$37,$4E,$71,$57,$4D,$51,$67 .db $4F,$F0,$68,$9A,$91,$B8,$4E,$F0 .db $B8,$9A,$61,$99,$4F,$F0,$2A,$4E .db $91,$4A,$4E,$21,$5A,$4E,$F0,$8A .db $4E,$51,$BA,$4E,$71,$1C,$4D,$71 .db $9C,$4D,$61,$DC,$4E,$31,$3D,$4E .db $51,$4D,$4E,$71,$6D,$4D,$61,$AD .db $4E,$71,$8F,$81,$63,$60,$50,$33 .db $F1,$9A,$F2,$32,$9A,$73,$43,$93 .db $73,$E3,$7B,$FF DATA_07D0CF: .db $80,$81,$11,$C3,$81,$22,$C3,$FF DATA_07D0D7: .db $0E,$81,$12,$31,$81,$52,$9E,$41 .db $F2,$31,$01,$23,$9E,$71,$63,$9E .db $01,$A3,$9E,$61,$14,$9E,$11,$24 .db $9E,$41,$05,$74,$FF DATA_07D0F4: .db $80,$11,$C4,$33,$11,$25,$33,$11 .db $85,$33,$11,$E5,$33,$71,$36,$31 .db $71,$C6,$31,$11,$B7,$33,$11,$48 .db $33,$00,$89,$F2,$FF DATA_07D111: .db $00,$30,$D0,$24,$90,$01,$24,$90 .db $31,$24,$30,$81,$25,$70,$D1,$23 .db $C0,$D1,$24,$40,$D1,$22,$A1,$12 .db $24,$41,$12,$22,$C0,$12,$24,$41 .db $62,$24,$A1,$62,$22,$A0,$62,$22 .db $70,$72,$23,$A1,$B2,$24,$41,$B2 .db $22,$60,$D2,$24,$30,$E2,$24,$90 .db $43,$23,$60,$43,$22,$B0,$C3,$24 .db $FF DATA_07D152: .db $00,$20,$C0,$29,$FF DATA_07D157: .db $80,$31,$11,$CA,$11,$31,$C2,$F0 .db $61,$C2,$71,$32,$C2,$41,$32,$C2 .db $01,$62,$CA,$11,$82,$CA,$71,$A2 .db $C2,$71,$C2,$C2,$71,$E2,$C2,$61 .db $73,$CA,$11,$93,$CA,$51,$84,$C2 .db $11,$84,$C2,$71,$A4,$C2,$31,$A4 .db $C2,$F0,$D4,$CA,$11,$25,$CA,$41 .db $75,$CA,$91,$F5,$C2,$71,$06,$C2 .db $01,$56,$C2,$41,$66,$C2,$F0,$96 .db $C2,$01,$C6,$C2,$51,$17,$CA,$81 .db $27,$C2,$F0,$67,$CA,$11,$B7,$CA .db $61,$B7,$CA,$71,$78,$C2,$21,$88 .db $C2,$51,$A8,$C2,$71,$C8,$CA,$31 .db $E8,$C2,$21,$09,$C2,$21,$39,$CA .db $61,$99,$CA,$11,$E9,$CA,$81,$3A .db $C2,$61,$3A,$C2,$41,$3A,$C2,$21 .db $3A,$C2,$91,$7A,$C2,$21,$9A,$CA .db $51,$AA,$C2,$71,$BA,$C2,$31,$DA .db $CA,$41,$1B,$CA,$71,$CB,$C2,$51 .db $DB,$C2,$01,$EB,$C2,$FF DATA_07D1F5: .db $00,$0C,$00,$E8,$61,$71,$8F,$41 .db $12,$8F,$41,$32,$0A,$21,$92,$C4 .db $21,$E2,$8F,$11,$13,$C4,$01,$93 .db $0A,$D0,$34,$8F,$A0,$E4,$08,$A0 .db $05,$08,$A0,$25,$08,$A0,$45,$08 .db $A0,$65,$08,$A0,$85,$08,$A0,$A5 .db $08,$A0,$C5,$08,$D0,$F5,$8F,$90 .db $76,$8F,$50,$F6,$8F,$A0,$87,$08 .db $31,$97,$8F,$C0,$A7,$08,$E0,$C7 .db $08,$70,$49,$8F,$90,$89,$0A,$80 .db $1A,$C4,$E0,$CA,$0B,$F0,$EA,$0B .db $01,$0B,$0B,$11,$2B,$0B,$21,$4B .db $0B,$31,$6B,$0B,$FF DATA_07D25A: .db $00,$01,$11,$72,$71,$A1,$73,$61 .db $52,$01,$71,$D2,$DA,$01,$43,$72 .db $E0,$63,$72,$01,$54,$72,$01,$B4 .db $72,$01,$15,$72,$C0,$35,$72,$D0 .db $75,$72,$11,$46,$DB,$11,$56,$02 .db $11,$D6,$DB,$01,$D6,$72,$11,$F6 .db $02,$71,$47,$73,$F0,$67,$72,$F0 .db $A7,$72,$01,$A7,$DC,$01,$B7,$02 .db $F0,$E7,$72,$71,$18,$73,$01,$38 .db $72,$21,$38,$DC,$01,$48,$DC,$21 .db $58,$02,$01,$68,$02,$51,$2A,$00 .db $00,$6A,$D3,$51,$EA,$02,$51,$8B .db $02,$E0,$7C,$72,$D0,$7C,$72,$C0 .db $7C,$72,$B0,$7C,$72,$00,$9D,$D3 .db $90,$AE,$72,$E0,$AE,$72,$A0,$0F .db $72,$D0,$0F,$72,$80,$6F,$72,$D0 .db $6F,$72,$03,$30,$01,$03,$C0,$72 .db $02,$01,$D9,$43,$01,$01,$F2,$21 .db $72,$F2,$91,$72,$23,$12,$72,$D2 .db $72,$72,$C2,$82,$72,$B2,$92,$72 .db $A2,$A2,$72,$92,$B2,$72,$73,$E2 .db $7B,$FF DATA_07D304: .db $01,$81,$20,$63,$01,$60,$64,$FF DATA_07D30C: .db $0A,$81,$01,$86,$81,$E1,$05,$81 .db $92,$05,$81,$E2,$05,$61,$A3,$86 .db $61,$F3,$0F,$61,$14,$0F,$61,$54 .db $10,$61,$F4,$86,$61,$05,$2F,$81 .db $16,$86,$61,$67,$86,$61,$C7,$86 .db $61,$28,$86,$51,$F9,$81,$81,$2A .db $05,$21,$2B,$4C,$11,$5B,$4C,$81 .db $AB,$86,$21,$DB,$4C,$01,$FB,$4C .db $21,$1C,$4C,$81,$5C,$86,$F0,$BD .db $4C,$11,$ED,$86,$81,$FD,$0E,$F0 .db $3E,$4C,$A1,$4E,$0A,$11,$7E,$86 .db $F0,$FE,$4C,$21,$3F,$86,$F0,$7F .db $4C,$83,$A0,$86,$83,$F0,$86,$03 .db $81,$9C,$03,$81,$9B,$83,$F1,$86 .db $73,$E2,$7B,$FF DATA_07D380: .db $80,$31,$01,$C2,$E0,$21,$3B,$01 .db $51,$C2,$31,$71,$C2,$01,$81,$3B .db $A0,$F1,$3A,$21,$12,$3A,$61,$32 .db $C2,$21,$82,$C2,$31,$92,$C2,$11 .db $92,$C2,$01,$A2,$C2,$41,$A2,$C2 .db $40,$A2,$3B,$90,$D2,$C2,$E0,$43 .db $3C,$70,$53,$3C,$51,$54,$C2,$01 .db $84,$C2,$F0,$A4,$15,$B0,$A4,$15 .db $70,$A4,$15,$D0,$D4,$C2,$61,$E4 .db $3D,$C0,$35,$3A,$51,$55,$3A,$30 .db $65,$C2,$50,$95,$C2,$30,$C5,$3B .db $70,$E5,$3B,$50,$46,$3D,$11,$86 .db $3D,$61,$A6,$C2,$80,$A6,$3B,$C0 .db $C6,$3B,$71,$E6,$3D,$01,$27,$C2 .db $80,$37,$C2,$50,$57,$3C,$C0,$67 .db $3C,$40,$C7,$3C,$61,$38,$0E,$81 .db $68,$80,$30,$88,$3B,$50,$E8,$3B .db $81,$F8,$3D,$30,$69,$3B,$A0,$99 .db $3B,$F0,$C9,$3C,$C0,$0A,$3D,$11 .db $4A,$C2,$B0,$5A,$3D,$61,$8A,$C2 .db $D0,$AA,$3D,$C0,$FA,$3D,$B0,$3B .db $3D,$71,$4B,$3D,$C0,$7B,$3D,$71 .db $AB,$94,$C0,$BB,$3D,$71,$CB,$3D .db $B0,$2C,$3D,$31,$4C,$C2,$71,$6C .db $3D,$71,$EC,$7B,$FF DATA_07D445: .db $0E,$61,$11,$9D,$51,$C1,$9D,$71 .db $92,$9D,$51,$C2,$9D,$81,$03,$2F .db $31,$93,$9D,$71,$D3,$9D,$51,$94 .db $9D,$71,$C4,$9D,$51,$15,$9D,$01 .db $35,$9D,$F0,$F5,$2F,$31,$F5,$DB .db $41,$07,$9D,$21,$17,$9D,$51,$47 .db $9D,$11,$08,$9D,$41,$48,$9D,$51 .db $88,$9D,$21,$88,$9D,$21,$C9,$9D .db $51,$0A,$9D,$21,$3A,$9D,$31,$DA .db $9D,$11,$0B,$9D,$00,$DB,$D9,$21 .db $5C,$9D,$11,$CC,$9D,$00,$EC,$D4 .db $01,$1D,$9D,$00,$9D,$D4,$02,$01 .db $D4,$23,$41,$9D,$83,$61,$92,$33 .db $81,$9D,$02,$B1,$D4,$13,$C1,$9D .db $63,$52,$9D,$13,$82,$9D,$33,$C2 .db $9D,$02,$C2,$D9,$73,$E2,$7B,$FF DATA_07D4C5: .db $00,$71,$80,$80,$71,$A0,$0E,$FF DATA_07D4CD: .db $80,$81,$B1,$B1,$81,$02,$B1,$51 .db $52,$33,$41,$73,$B6,$F0,$E4,$B6 .db $51,$05,$B6,$F0,$35,$B6,$51,$85 .db $B6,$E0,$18,$B2,$E0,$B8,$B2,$51 .db $8A,$3E,$11,$8A,$B2,$31,$5B,$33 .db $21,$7B,$33,$41,$BB,$33,$E0,$CB .db $78,$E0,$DB,$BC,$51,$5C,$BC,$61 .db $CC,$5A,$91,$2D,$B6,$61,$3D,$5A .db $11,$5D,$B6,$51,$7D,$BC,$61,$AD .db $5A,$11,$BD,$B6,$51,$7E,$BC,$FF DATA_07D51D: .db $00,$10,$C0,$29,$FF DATA_07D522: .db $0B,$E0,$11,$28,$11,$91,$37,$81 .db $C1,$37,$41,$52,$38,$11,$B2,$28 .db $01,$33,$37,$81,$C3,$37,$21,$24 .db $37,$51,$A4,$37,$41,$A4,$37,$31 .db $A4,$37,$21,$A4,$37,$11,$A4,$37 .db $01,$35,$37,$71,$75,$37,$41,$16 .db $37,$D0,$26,$DE,$41,$08,$39,$21 .db $58,$39,$31,$58,$39,$41,$58,$39 .db $01,$B9,$39,$11,$0A,$39,$21,$4A .db $39,$FF DATA_07D56C: .db $07,$00,$80,$E1,$51,$91,$83,$21 .db $66,$3E,$FF DATA_07D577: .db $0C,$D0,$11,$1E,$71,$21,$09,$71 .db $12,$DB,$71,$22,$01,$F0,$52,$74 .db $51,$53,$4B,$41,$64,$81,$31,$95 .db $4B,$41,$86,$4B,$51,$77,$4B,$51 .db $E7,$49,$41,$C8,$4B,$00,$19,$D2 .db $41,$6A,$4B,$21,$AB,$4B,$71,$AB .db $3E,$01,$EC,$09,$D0,$CD,$1E,$71 .db $AE,$DC,$71,$7F,$DB,$71,$8F,$01 .db $53,$B1,$4F,$73,$22,$91,$53,$52 .db $4F,$02,$62,$D2,$73,$E2,$7B,$FF DATA_07D5C7: .db $00,$61,$60,$80,$61,$B0,$0E,$FF DATA_07D5CF: .db $80,$61,$60,$C2,$31,$C0,$C2,$51 .db $21,$C2,$F0,$31,$C2,$71,$71,$C2 .db $11,$D1,$C2,$61,$D1,$C2,$E0,$02 .db $C2,$81,$42,$C2,$21,$52,$C2,$41 .db $82,$C2,$61,$B2,$C2,$FF DATA_07D5F5: .db $00,$00,$80,$F4,$E0,$C0,$C1,$E0 .db $11,$C1,$31,$81,$0A,$B0,$B1,$0A .db $D0,$62,$08,$D0,$72,$08,$D0,$82 .db $08,$11,$F2,$08,$F0,$73,$0A,$51 .db $F3,$08,$C0,$54,$0B,$31,$E4,$08 .db $90,$05,$0A,$C0,$65,$08,$C0,$75 .db $08,$C0,$85,$08,$A0,$E5,$08,$A0 .db $F5,$08,$01,$56,$08,$51,$96,$0A .db $90,$D6,$08,$C0,$27,$08,$11,$E8 .db $7B,$11,$39,$78,$11,$49,$78,$11 .db $59,$78,$FF DATA_07D648: .db $0F,$00,$80,$F3,$00,$00,$E6,$00 .db $21,$89,$51,$91,$67,$41,$12,$67 .db $51,$B2,$67,$41,$33,$67,$41,$34 .db $67,$31,$D4,$67,$21,$15,$67,$FF DATA_07D668: .db $80,$E0,$01,$B4,$31,$51,$33,$F0 .db $51,$33,$71,$12,$B4,$71,$42,$B4 .db $B0,$33,$33,$B0,$63,$33,$E0,$44 .db $33,$61,$84,$B4,$D0,$94,$33,$E0 .db $E4,$33,$61,$F4,$B4,$E0,$45,$33 .db $61,$65,$B4,$E0,$F5,$33,$31,$86 .db $B4,$71,$C6,$B4,$31,$17,$B4,$71 .db $57,$B4,$31,$97,$B4,$21,$E9,$33 .db $21,$3A,$33,$11,$AA,$33,$31,$0B .db $33,$21,$7B,$33,$11,$DB,$33,$31 .db $1C,$33,$11,$3C,$33,$11,$8C,$33 .db $01,$AC,$33,$31,$DC,$33,$21,$2D .db $33,$11,$8D,$33,$21,$DD,$33,$31 .db $1E,$33,$21,$7E,$33,$11,$AE,$33 .db $FF DATA_07D6D9: .db $00,$71,$11,$6E,$01,$B1,$6F,$01 .db $42,$C7,$01,$62,$6F,$61,$23,$6E .db $61,$E3,$6F,$61,$14,$6F,$51,$44 .db $6F,$61,$84,$6E,$21,$94,$83,$51 .db $25,$6F,$71,$65,$6F,$51,$D5,$4F .db $F0,$16,$6F,$11,$28,$6E,$71,$69 .db $2F,$61,$6A,$3E,$11,$CA,$95,$51 .db $7C,$6E,$41,$BC,$6F,$01,$DC,$83 .db $11,$0D,$6F,$01,$7D,$6F,$51,$5E .db $4F,$61,$AE,$6F,$61,$2F,$4F,$71 .db $5F,$6E,$61,$DF,$6F,$31,$EF,$4F .db $63,$20,$6F,$43,$A0,$8E,$43,$B1 .db $0A,$73,$32,$2F,$73,$E2,$7B,$FF DATA_07D741: .db $80,$00,$40,$CF,$81,$E0,$C3,$81 .db $12,$C3,$FF DATA_07D74C: .db $11,$81,$11,$52,$71,$81,$38,$61 .db $91,$38,$81,$A3,$52,$51,$B3,$DE .db $51,$54,$39,$51,$64,$39,$51,$74 .db $39,$81,$94,$52,$21,$05,$38,$71 .db $05,$38,$81,$A5,$52,$C0,$F5,$AE .db $61,$67,$39,$41,$C8,$38,$11,$A9 .db $DE,$81,$EA,$52,$11,$3B,$39,$61 .db $3B,$39,$61,$CB,$38,$81,$DB,$52 .db $31,$EB,$38,$81,$CC,$52,$51,$3D .db $39,$81,$BD,$52,$FF DATA_07D799: .db $00,$81,$01,$AF,$81,$11,$AF,$81 .db $21,$AF,$41,$02,$B0,$21,$13,$B0 .db $11,$73,$B0,$41,$44,$B0,$D0,$94 .db $B0,$61,$15,$AF,$61,$85,$B0,$E0 .db $95,$AF,$31,$B5,$AF,$FF DATA_07D7BF: .db $00,$41,$70,$B9,$31,$C0,$6F,$31 .db $E0,$2F,$71,$11,$6E,$71,$B1,$6F .db $80,$C1,$6E,$F0,$D1,$6E,$90,$F1 .db $6F,$80,$F2,$6F,$41,$13,$6F,$E0 .db $33,$6F,$A0,$63,$6E,$FF DATA_07D7E5: .db $00,$71,$40,$77,$FF DATA_07D7EA: .db $00,$51,$21,$AB,$51,$71,$AB,$51 .db $A1,$AB,$31,$A1,$AB,$11,$B1,$AB .db $71,$B2,$2F,$41,$B3,$AB,$71,$D3 .db $AB,$11,$F3,$AB,$11,$34,$AB,$81 .db $54,$4F,$81,$84,$4F,$51,$35,$AB .db $71,$06,$AB,$51,$26,$AB,$31,$46 .db $AB,$71,$86,$AB,$31,$86,$AB,$71 .db $A6,$AB,$FF DATA_07D825: .db $00,$51,$51,$0A,$41,$D1,$0A,$51 .db $72,$0A,$51,$C2,$0A,$21,$43,$0A .db $61,$B3,$0A,$61,$34,$0A,$31,$E4 .db $0B,$61,$25,$0A,$31,$A5,$0A,$41 .db $D5,$0B,$61,$16,$0A,$FF DATA_07D84B: .db $8E,$11,$31,$9D,$31,$71,$9D,$01 .db $B1,$9D,$41,$B1,$9D,$21,$32,$9D .db $11,$72,$9D,$41,$72,$9D,$21,$B2 .db $9D,$F0,$33,$9D,$41,$33,$9D,$21 .db $73,$9D,$FF DATA_07D86E: .db $00,$41,$11,$6E,$31,$61,$6E,$61 .db $D1,$6F,$71,$F1,$C7,$41,$42,$6E .db $61,$D2,$6E,$41,$33,$6F,$71,$A3 .db $6F,$FF DATA_07D888: .db $00,$71,$21,$98,$51,$12,$98,$41 .db $B2,$98,$61,$33,$80,$21,$B3,$0E .db $FF DATA_07D899: .db $00,$71,$80,$3E,$71,$E2,$7B,$FF DATA_07D8A1: .db $00,$81,$E0,$2F,$71,$02,$AB,$51 .db $02,$AB,$31,$02,$AB,$11,$02,$AB .db $F0,$02,$AB,$11,$22,$AB,$F0,$32 .db $AB,$71,$E2,$7B,$FF DATA_07D8BE: .db $0E,$41,$21,$A3,$01,$32,$05,$11 .db $32,$A3,$61,$73,$06,$71,$73,$A3 .db $31,$F3,$05,$41,$F3,$A3,$61,$A4 .db $A3,$51,$A4,$06,$71,$75,$05,$51 .db $46,$06,$61,$46,$A3,$51,$07,$A3 .db $41,$07,$05,$41,$97,$06,$51,$97 .db $A3,$51,$48,$A3,$41,$48,$06,$11 .db $E8,$05,$21,$E8,$A3,$01,$89,$A3 .db $F0,$89,$06,$71,$89,$06,$41,$9A .db $06,$51,$9A,$A3,$31,$3B,$05,$41 .db $3B,$A3,$71,$9B,$06,$71,$BB,$06 .db $41,$BC,$A5,$51,$BC,$A3,$41,$0D .db $0A,$21,$0D,$0A,$41,$5D,$A3,$41 .db $6E,$A5,$51,$6E,$A3,$31,$EE,$A5 .db $41,$EE,$A3,$61,$7F,$A5,$71,$7F .db $A3,$11,$FF,$A5,$21,$FF,$A3,$63 .db $80,$A3,$43,$C0,$0A,$43,$11,$A5 .db $53,$11,$A3,$72,$72,$A3,$73,$E2 .db $06,$C2,$E2,$7B,$77,$E6,$7B,$FF DATA_07D956: .db $01,$50,$70,$55,$50,$D0,$5F,$FF DATA_07D95E: .db $00,$71,$31,$AD,$01,$31,$AC,$71 .db $A1,$32,$F0,$C1,$AC,$41,$C1,$AD .db $11,$72,$AC,$E0,$23,$AC,$71,$A3 .db $32,$31,$D3,$AC,$61,$E3,$B3,$00 .db $14,$D8,$61,$94,$AD,$71,$A4,$B3 .db $01,$05,$AC,$61,$E5,$B3,$71,$06 .db $32,$71,$36,$AD,$41,$46,$AD,$F0 .db $C6,$AC,$41,$C6,$AD,$F0,$07,$AC .db $41,$07,$AD,$71,$37,$AD,$01,$37 .db $AC,$71,$77,$AD,$01,$77,$AC,$00 .db $E7,$D9,$FF DATA_07D9B1: .db $00,$C0,$C0,$26,$E0,$91,$26,$E0 .db $32,$26,$71,$52,$27,$F0,$43,$26 .db $F0,$93,$26,$71,$54,$27,$E0,$74 .db $26,$E0,$15,$26,$71,$35,$27,$E0 .db $B5,$26,$61,$56,$27,$61,$76,$27 .db $61,$C6,$27,$61,$E6,$27,$E0,$A7 .db $26,$E0,$A8,$26,$D0,$69,$26,$D0 .db $5A,$26,$71,$7A,$27,$FF DATA_07D9EF: .db $80,$91,$80,$A8,$71,$80,$2F,$41 .db $C1,$11,$21,$52,$11,$11,$33,$97 .db $71,$53,$11,$71,$83,$11,$F0,$C3 .db $97,$01,$35,$97,$51,$56,$97,$41 .db $17,$97,$FF DATA_07DA12: .db $00,$A0,$41,$11,$80,$51,$11,$E0 .db $22,$11,$21,$42,$11,$51,$52,$11 .db $01,$43,$11,$E0,$53,$11,$C0,$63 .db $11,$A0,$73,$11,$21,$07,$11,$01 .db $17,$11,$E0,$27,$11,$C0,$B8,$11 .db $E0,$F8,$11,$01,$39,$11,$21,$79 .db $11,$FF DATA_07DA44: .db $80,$00,$80,$F5,$51,$21,$2E,$31 .db $51,$2E,$11,$81,$2E,$F0,$B1,$2E .db $F0,$F2,$2E,$31,$63,$2E,$F0,$93 .db $2E,$F0,$D3,$2E,$31,$34,$2E,$F0 .db $54,$2E,$31,$C4,$2E,$F0,$45,$2E .db $71,$59,$91,$31,$E9,$91,$31,$5A .db $91,$F0,$EA,$91,$21,$9B,$91,$F0 .db $1C,$91,$FF DATA_07DA7F: .db $00,$71,$21,$C4,$71,$71,$C4,$F0 .db $71,$9C,$F0,$71,$9B,$71,$C1,$C4 .db $71,$12,$C4,$FF DATA_07DA93: .db $80,$E0,$F1,$B7,$41,$F2,$B8,$A0 .db $13,$B7,$01,$53,$B7,$F0,$B4,$B7 .db $90,$F4,$B7,$81,$45,$B8,$30,$55 .db $B7,$B0,$65,$B7,$71,$95,$B8,$01 .db $E5,$B7,$71,$06,$C4,$31,$D6,$78 .db $31,$E6,$78,$31,$07,$78,$41,$27 .db $B7,$21,$87,$B7,$01,$E7,$B7,$01 .db $28,$B7,$51,$AA,$BF,$50,$2B,$BF .db $51,$CB,$BF,$51,$AD,$95,$71,$ED .db $7B,$FF DATA_07DADD: .db $00,$60,$A0,$3E,$11,$F1,$77,$31 .db $F3,$78,$31,$F4,$76,$51,$F5,$74 .db $A1,$F6,$78,$91,$F6,$78,$81,$F6 .db $78,$71,$F6,$78,$61,$F6,$78,$81 .db $F7,$77,$81,$F8,$75,$C1,$FA,$78 .db $B1,$FA,$78,$A1,$FA,$78,$61,$CB .db $2F,$FF DATA_07DB0F: .db $80,$41,$B0,$13,$01,$11,$13,$71 .db $11,$13,$40,$71,$3E,$71,$A1,$3E .db $71,$D1,$13,$01,$D1,$13,$71,$92 .db $13,$41,$F2,$74,$01,$53,$13,$71 .db $53,$13,$41,$B3,$13,$71,$14,$81 .db $41,$74,$13,$71,$F4,$13,$71,$C5 .db $13,$01,$C5,$13,$A0,$27,$3F,$A0 .db $67,$40,$A0,$A7,$3F,$A0,$E7,$40 .db $21,$39,$DA,$90,$69,$DB,$90,$89 .db $DC,$90,$A9,$DD,$90,$C9,$DA,$90 .db $E9,$DB,$90,$0A,$DC,$90,$2A,$DD .db $90,$4A,$DA,$51,$4B,$49,$31,$8B .db $49,$51,$CB,$49,$21,$0C,$49,$61 .db $4C,$49,$31,$0D,$59,$11,$6D,$59 .db $41,$CD,$59,$71,$0E,$49,$21,$7E .db $95,$71,$5F,$95,$71,$8F,$95,$71 .db $BF,$95,$71,$EF,$7B,$FF DATA_07DB95: .db $8E,$21,$21,$9D,$31,$61,$9D,$21 .db $B1,$9D,$01,$E1,$9D,$41,$22,$9D .db $21,$62,$9D,$01,$72,$9D,$31,$E2 .db $9D,$F0,$E2,$9D,$11,$33,$9D,$31 .db $63,$9D,$11,$A3,$9D,$FF DATA_07DBBB: .db $80,$00,$80,$E9,$71,$11,$30,$81 .db $41,$2F,$81,$51,$2F,$61,$D2,$67 .db $61,$43,$67,$61,$93,$67,$61,$04 .db $67,$01,$24,$33,$F0,$94,$33,$61 .db $C4,$67,$31,$55,$67,$41,$D5,$67 .db $51,$B6,$67,$41,$37,$67,$71,$77 .db $67,$01,$18,$67,$11,$78,$67,$21 .db $B8,$67,$00,$8B,$E9,$FF DATA_07DBF9: .db $00,$00,$80,$EA,$41,$61,$A5,$31 .db $62,$A6,$31,$E3,$A5,$31,$44,$A6 .db $31,$25,$BB,$11,$45,$A5,$71,$95 .db $BB,$31,$D5,$A6,$C0,$86,$30,$E0 .db $C6,$A5,$71,$D6,$A5,$31,$D6,$A6 .db $FF DATA_07DC22: .db $0E,$01,$10,$B6,$60,$C0,$29,$01 .db $E0,$B6,$FF DATA_07DC2D: .db $80,$A0,$11,$C9,$C0,$61,$C9,$50 .db $81,$C9,$E0,$32,$C9,$FF DATA_07DC3B: .db $87,$71,$F0,$38,$31,$21,$38,$51 .db $91,$38,$00,$12,$E5,$71,$75,$39 .db $11,$D5,$39,$00,$F5,$D2,$71,$06 .db $39,$41,$56,$37,$E0,$B6,$37,$61 .db $E6,$E2,$E0,$C7,$E2,$FF DATA_07DC61: .db $80,$20,$70,$76,$B0,$A1,$0B,$E0 .db $F1,$0B,$31,$42,$0B,$90,$72,$05 .db $51,$E2,$0B,$31,$E2,$0B,$11,$E2 .db $0B,$F0,$E2,$0B,$D0,$E2,$0B,$B0 .db $E2,$0B,$90,$E2,$0B,$70,$E2,$0B .db $A0,$73,$05,$B1,$C3,$0B,$71,$04 .db $0B,$21,$54,$0B,$91,$64,$04,$90 .db $C4,$A4,$D0,$45,$06,$C1,$45,$05 .db $71,$45,$74,$21,$45,$07,$30,$45 .db $05,$80,$45,$04,$70,$46,$0B,$51 .db $46,$0B,$D1,$86,$0B,$F0,$86,$0B .db $01,$67,$06,$31,$87,$05,$D0,$87 .db $05,$61,$C7,$07,$A0,$C7,$07,$A1 .db $08,$04,$60,$08,$04,$01,$08,$04 .db $01,$2A,$A4,$B1,$7A,$0B,$C0,$7A .db $0B,$31,$CA,$0B,$31,$5B,$0B,$B1 .db $CB,$0B,$C0,$CB,$0B,$C1,$AC,$A4 .db $61,$AC,$A4,$A0,$AC,$A4,$30,$AC .db $A4,$D3,$24,$A4,$52,$24,$A4,$B3 .db $84,$A4,$72,$84,$A4,$63,$05,$A4 .db $C2,$05,$A4,$13,$A5,$A4,$63,$48 .db $4A,$22,$09,$78,$C3,$29,$78,$D3 .db $29,$78,$FF DATA_07DD14: .db $80,$61,$11,$BF,$01,$A1,$91,$E0 .db $53,$BF,$71,$A3,$91,$21,$14,$BF .db $70,$14,$BF,$60,$35,$BF,$B0,$75 .db $BF,$11,$A5,$BF,$31,$A6,$91,$51 .db $E6,$91,$71,$37,$91,$90,$A7,$BF .db $F0,$08,$BF,$61,$68,$BF,$30,$99 .db $BF,$61,$B9,$BF,$71,$5A,$91,$40 .db $7A,$BF,$F0,$9A,$BF,$F0,$5B,$BF .db $71,$0D,$BF,$50,$6D,$91,$A0,$BD .db $BF,$D0,$9E,$91,$F0,$EE,$91,$51 .db $DF,$BF,$A2,$10,$BF,$63,$50,$91 .db $92,$01,$91,$B2,$41,$91,$E2,$51 .db $BF,$FF DATA_07DD76: .db $00,$71,$E0,$7B,$FF DATA_07DD7B: .db $00,$08,$80,$EA,$70,$31,$BE,$70 .db $B1,$BE,$F0,$22,$04,$70,$42,$BE .db $61,$33,$04,$70,$43,$BE,$F0,$A3 .db $DD,$F0,$C3,$03,$70,$64,$BE,$F0 .db $05,$04,$70,$35,$BE,$70,$26,$BE .db $01,$26,$04,$70,$66,$BE,$71,$A6 .db $04,$70,$07,$BE,$08,$87,$EA,$FF DATA_07DDB3: .db $00,$04,$80,$EA,$FF DATA_07DDB8: .db $00,$41,$30,$80,$41,$80,$0E,$08 .db $81,$F5,$41,$93,$BF,$11,$74,$BF .db $01,$37,$BF,$71,$E7,$7B,$FF DATA_07DDCF: .db $00,$10,$80,$E8,$60,$71,$A5,$B0 .db $91,$A5,$70,$F1,$A5,$A0,$42,$A5 .db $01,$B2,$A5,$01,$F2,$A5,$C0,$33 .db $A5,$01,$53,$A5,$50,$73,$A5,$70 .db $93,$A5,$C0,$D3,$A5,$90,$54,$A5 .db $01,$74,$A5,$C0,$C4,$A5,$21,$D4 .db $A5,$FF DATA_07DE01: .db $0D,$21,$51,$90,$31,$D1,$90,$31 .db $82,$90,$21,$43,$90,$FF DATA_07DE0F: .db $00,$61,$01,$37,$41,$81,$B0,$E0 .db $B1,$B0,$71,$22,$37,$31,$72,$B0 .db $E0,$82,$B0,$71,$C2,$37,$40,$83 .db $76,$F0,$83,$3E,$31,$84,$39,$51 .db $C4,$37,$81,$F5,$39,$01,$A6,$39 .db $71,$E9,$78,$FF DATA_07DE3B: .db $00,$71,$60,$3E,$41,$C2,$37,$51 .db $63,$37,$50,$A3,$80,$31,$B3,$37 .db $50,$F3,$0E,$FF DATA_07DE4F: .db $04,$61,$C0,$09,$71,$D0,$09,$61 .db $E0,$09,$31,$71,$BA,$71,$C1,$09 .db $31,$F1,$BA,$71,$62,$09,$41,$B2 .db $BA,$61,$13,$0A,$71,$33,$BA,$21 .db $63,$BA,$61,$93,$BA,$71,$C3,$0A .db $71,$14,$BA,$01,$64,$0B,$11,$74 .db $BA,$61,$94,$BA,$31,$B4,$0A,$71 .db $F4,$BA,$31,$05,$BA,$51,$45,$0A .db $71,$75,$BA,$51,$D5,$BA,$F0,$36 .db $BA,$71,$66,$BA,$E0,$96,$BA,$41 .db $C6,$05,$41,$17,$BA,$41,$57,$0A .db $11,$77,$BA,$61,$D7,$BA,$71,$68 .db $2F,$51,$A9,$09,$71,$C9,$09,$71 .db $1A,$09,$51,$3A,$09,$31,$DA,$B8 .db $51,$0B,$0A,$61,$2B,$BA,$31,$DB .db $BA,$21,$3C,$BA,$11,$BC,$BA,$61 .db $BC,$BA,$21,$EC,$0A,$01,$0D,$BA .db $61,$3D,$BA,$D0,$6D,$B7,$61,$AD .db $BA,$41,$ED,$9F,$21,$1E,$BA,$41 .db $EE,$0A,$31,$9E,$BA,$41,$1F,$BA .db $41,$AF,$BA,$01,$BF,$9F,$73,$B0 .db $BA,$23,$11,$BA,$33,$21,$9F,$73 .db $21,$BA,$F2,$C1,$78,$73,$E2,$7B .db $FF DATA_07DF08: .db $80,$F0,$01,$48,$F0,$21,$46,$81 .db $81,$C0,$51,$C1,$0B,$21,$C2,$48 .db $21,$F2,$46,$81,$F3,$C0,$81,$44 .db $0A,$81,$64,$C0,$51,$D4,$0B,$81 .db $D4,$C0,$81,$25,$0A,$81,$D6,$C0 .db $81,$B7,$C0,$81,$F7,$C0,$81,$48 .db $0A,$81,$68,$C0,$F0,$F8,$48,$F0 .db $29,$46,$81,$D9,$C0,$51,$BA,$48 .db $51,$DA,$46,$81,$1B,$C0,$81,$9B .db $C0,$01,$6C,$48,$01,$8C,$46,$81 .db $8D,$C0,$E0,$CD,$48,$E0,$ED,$46 .db $81,$5F,$C0,$41,$AF,$48,$41,$CF .db $46,$43,$F0,$0B,$83,$11,$C0,$83 .db $91,$C0,$F2,$A1,$48,$F2,$C1,$46 .db $83,$E1,$C0,$63,$12,$2F,$03,$52 .db $48,$E2,$92,$46,$83,$A2,$C0,$83 .db $D2,$C0,$73,$53,$80,$43,$63,$0E .db $73,$E3,$7B,$FF DATA_07DF94: .db $80,$21,$01,$2E,$91,$21,$15,$41 .db $61,$2E,$91,$91,$15,$31,$D1,$2E .db $91,$F1,$15,$21,$72,$2E,$91,$82 .db $15,$91,$E2,$15,$FF DATA_07DFB1: .db $8E,$81,$B0,$B1,$81,$41,$B1,$21 .db $F1,$9E,$B0,$52,$9E,$21,$B2,$9E .db $B0,$13,$9E,$21,$73,$9E,$B0,$D3 .db $9E,$80,$34,$9E,$E0,$54,$9E,$51 .db $84,$9E,$81,$45,$9E,$70,$55,$9E .db $80,$26,$9E,$71,$67,$74,$FF DATA_07DFE0: .db $80,$41,$01,$32,$71,$D1,$32,$11 .db $02,$AC,$11,$32,$AC,$00,$72,$1F .db $71,$C2,$32,$31,$63,$AD,$31,$A3 .db $AD,$71,$24,$32,$01,$44,$33,$D0 .db $F4,$AC,$61,$F4,$AD,$D0,$35,$AC .db $61,$35,$AD,$E0,$95,$33,$01,$A6 .db $AC,$01,$E6,$33,$01,$17,$AC,$01 .db $47,$33,$01,$87,$AC,$31,$48,$32 .db $71,$59,$32,$FF DATA_07E024: .db $92,$00,$20,$33,$00,$70,$33,$00 .db $D0,$33,$40,$C0,$29,$FF DATA_07E032: .db $80,$04,$80,$E9,$11,$04,$B2,$71 .db $54,$30,$71,$E4,$31,$11,$E4,$B2 .db $71,$25,$30,$11,$25,$B2,$01,$09 .db $33,$31,$69,$32,$E0,$99,$33,$11 .db $F9,$32,$E0,$2A,$33,$E0,$4A,$33 .db $51,$9A,$31,$F0,$CA,$33,$F0,$0C .db $33,$F0,$8D,$33,$FF DATA_07E067: .db $8F,$00,$80,$F3,$00,$00,$E6,$00 .db $70,$89,$F0,$90,$33,$F0,$E0,$33 .db $F0,$51,$33,$31,$A1,$33,$F0,$A1 .db $33,$F0,$22,$33,$31,$22,$33,$F0 .db $82,$33,$31,$82,$33,$FF DATA_07E08D: .db $02,$11,$B0,$54,$61,$11,$B6,$01 .db $11,$B6,$61,$41,$25,$21,$41,$25 .db $01,$61,$B6,$11,$61,$54,$01,$81 .db $25,$21,$C1,$B6,$31,$E1,$25,$F0 .db $E1,$25,$11,$02,$54,$01,$22,$B6 .db $61,$22,$B6,$51,$42,$25,$01,$82 .db $B6,$F0,$A2,$25,$31,$C2,$25,$FF DATA_07E0C5: .db $80,$80,$10,$78,$41,$21,$A2,$C0 .db $21,$A2,$80,$F1,$A2,$41,$02,$A2 .db $C0,$A2,$A2,$01,$53,$A2,$41,$83 .db $A2,$C0,$93,$A2,$C0,$D3,$77,$41 .db $94,$A2,$FF DATA_07E0E8: .db $00,$10,$80,$EA,$71,$20,$A5,$71 .db $70,$A5,$21,$C0,$A5,$71,$F0,$BB .db $D0,$41,$78,$21,$81,$BB,$71,$91 .db $BB,$51,$E1,$A5,$31,$42,$A5,$41 .db $82,$A6,$41,$C2,$A5,$21,$03,$A5 .db $21,$43,$A5,$FF DATA_07E114: .db $00,$08,$80,$E9,$E0,$80,$26,$E0 .db $C0,$26,$E0,$01,$26,$E0,$41,$26 .db $E0,$81,$26,$E0,$C1,$26,$E0,$02 .db $26,$E0,$42,$26,$FF DATA_07E131: .db $8E,$A0,$11,$9E,$20,$51,$9E,$70 .db $81,$9E,$D0,$A1,$9E,$60,$E1,$9E .db $10,$E1,$9E,$60,$72,$32,$61,$43 .db $AA,$D1,$53,$AA,$F0,$53,$AA,$41 .db $73,$AA,$E0,$83,$AA,$B1,$83,$AA .db $80,$14,$32,$04,$84,$EF,$FF DATA_07E160: .db $8F,$00,$00,$E6,$71,$80,$BC,$51 .db $D0,$BC,$F0,$11,$BC,$71,$A1,$BC .db $51,$D1,$BC,$71,$62,$BC,$F0,$92 .db $33,$F0,$D2,$BC,$71,$13,$BC,$31 .db $A3,$BC,$FF DATA_07E183: .db $00,$71,$E0,$93,$71,$51,$93,$71 .db $E1,$93,$41,$12,$93,$71,$82,$93 .db $71,$D2,$93,$71,$33,$93,$71,$73 .db $93,$FF DATA_07E19D: .db $80,$00,$81,$C6,$31,$12,$C8,$11 .db $B2,$51,$71,$B3,$51,$51,$04,$A2 .db $71,$64,$51,$71,$94,$51,$71,$35 .db $A2,$71,$75,$51,$71,$95,$51,$00 .db $16,$C6,$FF DATA_07E1C0: .db $10,$00,$00,$A0,$FF DATA_07E1C5: .db $00,$D0,$40,$74,$B1,$D2,$0E,$D1 .db $D2,$80,$30,$F2,$77,$51,$23,$75 .db $91,$B4,$78,$71,$95,$76,$60,$95 .db $76,$81,$D5,$04,$41,$D5,$05,$90 .db $D5,$05,$40,$D5,$07,$91,$16,$06 .db $11,$16,$06,$60,$16,$06,$31,$07 .db $0A,$31,$17,$0A,$31,$27,$0A,$31 .db $37,$0A,$31,$47,$0A,$21,$68,$09 .db $50,$68,$76,$B1,$C8,$09,$C0,$C8 .db $2C,$A0,$C8,$09,$71,$19,$09,$B1 .db $69,$09,$A0,$69,$09,$41,$99,$07 .db $C1,$C9,$07,$FF DATA_07E221: .db $80,$A0,$40,$76,$71,$90,$2C,$41 .db $F0,$C2,$71,$21,$C2,$11,$21,$C2 .db $41,$A1,$3D,$01,$A1,$3D,$71,$F1 .db $3D,$21,$F1,$3D,$E0,$52,$3D,$31 .db $52,$3D,$41,$13,$C2,$61,$33,$C2 .db $21,$33,$C2,$01,$53,$C2,$81,$53 .db $C2,$51,$93,$C2,$31,$93,$C2,$D0 .db $C4,$3D,$31,$C4,$3D,$D0,$E4,$3D .db $31,$E4,$3D,$11,$15,$3D,$F0,$15 .db $3D,$01,$06,$C2,$11,$26,$C2,$21 .db $46,$C2,$61,$96,$C2,$41,$B6,$C2 .db $21,$D6,$C2,$71,$B7,$C2,$01,$B7 .db $C2,$21,$D7,$C2,$51,$D7,$C2,$F0 .db $38,$3D,$D0,$58,$3D,$F0,$78,$3D .db $D0,$98,$3D,$F0,$B8,$3D,$71,$9B .db $0E,$71,$DB,$80,$FF DATA_07E29E: .db $0C,$71,$60,$2C,$71,$70,$3E,$E0 .db $A0,$1E,$50,$71,$0E,$71,$E1,$7B .db $FF DATA_07E2AF: .db $0E,$31,$01,$2C,$F0,$71,$E0,$A0 .db $32,$05,$D0,$92,$05,$C0,$03,$E0 .db $B0,$93,$06,$B0,$C3,$06,$A0,$94 .db $05,$21,$94,$06,$E0,$94,$06,$40 .db $E4,$0A,$60,$E4,$0A,$80,$E4,$0A .db $A0,$E4,$0A,$C0,$E4,$0A,$E0,$E4 .db $0A,$01,$E4,$0A,$A0,$36,$05,$A0 .db $96,$0B,$B0,$B6,$E0,$B0,$E6,$0A .db $11,$D7,$06,$41,$48,$E0,$41,$99 .db $05,$F0,$D9,$0A,$11,$D9,$0A,$31 .db $D9,$0A,$51,$D9,$0A,$71,$D9,$0A .db $B0,$FB,$E0,$F0,$7C,$DB,$F0,$CC .db $DA,$F0,$DC,$02,$61,$8D,$0E,$F0 .db $8D,$09,$F0,$AD,$09,$C0,$BE,$05 .db $90,$1F,$0B,$A0,$3F,$E0,$90,$CF .db $06,$F2,$E0,$A3,$D2,$91,$E0,$F2 .db $42,$A3,$73,$E2,$7B,$FF DATA_07E335: .db $00,$81,$80,$C4,$81,$D0,$C4,$41 .db $01,$08,$81,$21,$C4,$51,$71,$C4 .db $51,$C1,$C4,$11,$E1,$08,$51,$12 .db $C4,$51,$62,$C4,$11,$C2,$08,$51 .db $D2,$0A,$81,$03,$C4,$81,$53,$C4 .db $61,$73,$0B,$81,$A3,$C4,$81,$F3 .db $C4,$31,$F3,$0B,$81,$44,$C4,$51 .db $64,$0B,$31,$C4,$3E,$11,$16,$08 .db $71,$A6,$08,$11,$27,$08,$71,$37 .db $0A,$71,$57,$0A,$71,$77,$0A,$21 .db $A7,$08,$61,$58,$08,$81,$78,$C4 .db $21,$B8,$08,$81,$F8,$C4,$51,$19 .db $0A,$71,$59,$0A,$81,$79,$C4,$51 .db $99,$0A,$71,$E9,$2C,$71,$5A,$13 .db $51,$7A,$4F,$71,$CA,$13,$41,$EA .db $4F,$71,$3B,$13,$71,$DB,$C4,$51 .db $5C,$C4,$31,$DC,$C4,$11,$5D,$C4 .db $40,$DD,$80,$71,$3E,$05,$40,$3E .db $0E,$71,$6E,$13,$71,$8E,$13,$11 .db $CE,$05,$31,$0F,$13,$31,$2F,$13 .db $31,$4F,$13,$71,$EF,$7B,$FF DATA_07E3DC: .db $00,$20,$30,$78,$80,$80,$6C,$91 .db $A0,$0A,$A0,$E1,$0B,$E0,$32,$6C .db $70,$32,$6B,$21,$F2,$6C,$D0,$D3 .db $64,$90,$44,$6B,$B0,$84,$B9,$60 .db $84,$6C,$B1,$C4,$06,$FF DATA_07E402: .db $0C,$71,$61,$78,$71,$81,$78,$21 .db $81,$3E,$71,$A1,$78,$21,$A1,$3E .db $21,$D1,$3E,$E0,$03,$9C,$E0,$03 .db $9B,$E0,$64,$1E,$51,$84,$C7,$E0 .db $95,$D2,$71,$E5,$7B,$FF DATA_07E428: .db $00,$41,$01,$95,$71,$81,$4F,$51 .db $12,$95,$11,$E2,$3E,$81,$E2,$2F .db $61,$F3,$98,$31,$54,$98,$81,$45 .db $0A,$31,$45,$0A,$E0,$45,$0A,$41 .db $C5,$99,$E0,$C5,$99,$71,$66,$0B .db $51,$86,$0B,$41,$C6,$4F,$31,$67 .db $97,$D0,$E7,$97,$F0,$58,$99,$31 .db $29,$99,$71,$E9,$7B,$FF DATA_07E466: .db $01,$61,$21,$63,$51,$D1,$68,$F0 .db $12,$68,$70,$32,$68,$01,$72,$68 .db $91,$B2,$65,$B0,$B3,$68,$31,$B3 .db $68,$01,$B3,$68,$B0,$F5,$68,$51 .db $16,$68,$E0,$16,$68,$01,$F6,$65 .db $C0,$97,$68,$51,$B7,$68,$41,$D7 .db $68,$A0,$F7,$68,$61,$8A,$C4,$41 .db $CA,$C4,$F0,$8B,$64,$21,$BB,$68 .db $11,$0C,$64,$21,$5C,$68,$11,$BC .db $68,$31,$DC,$62,$11,$0D,$64,$51 .db $3D,$68,$21,$7D,$68,$51,$DD,$68 .db $21,$5E,$68,$31,$7E,$62,$41,$3F .db $68,$51,$5F,$68,$F0,$6F,$64,$21 .db $DF,$68,$13,$30,$68,$43,$70,$68 .db $13,$B0,$68,$43,$51,$68,$03,$51 .db $68,$13,$B1,$68,$13,$F1,$68,$13 .db $32,$68,$73,$E2,$7B,$FF DATA_07E4EC: .db $00,$04,$80,$F3,$FF DATA_07E4F1: .db $84,$41,$D0,$DD,$41,$F0,$03,$21 .db $61,$59,$61,$32,$AB,$11,$C2,$DB .db $11,$D2,$02,$61,$43,$AB,$61,$73 .db $AB,$11,$F3,$DC,$11,$04,$02,$11 .db $15,$DD,$11,$25,$03,$51,$95,$AB .db $11,$76,$DA,$11,$86,$02,$51,$E6 .db $3E,$81,$47,$15,$01,$E7,$DB,$01 .db $F7,$02,$21,$28,$AB,$31,$48,$AB .db $41,$68,$AB,$41,$D8,$DA,$41,$E8 .db $02,$41,$29,$0C,$41,$59,$09,$41 .db $A9,$AB,$41,$C9,$AB,$41,$E9,$AB .db $51,$4A,$DD,$51,$5A,$02,$00,$8B .db $D1,$61,$9B,$75,$61,$CB,$AB,$11 .db $5C,$9F,$61,$FC,$AB,$11,$0E,$9F .db $61,$8E,$AB,$31,$1F,$9F,$33,$70 .db $9F,$73,$E0,$0A,$02,$41,$D9,$73 .db $E2,$7B,$FF DATA_07E574: .db $00,$61,$B0,$05,$11,$73,$BD,$71 .db $34,$04,$71,$64,$05,$71,$94,$06 .db $71,$C4,$07,$31,$56,$70,$71,$B6 .db $4F,$E0,$87,$99,$11,$38,$81,$41 .db $68,$4F,$31,$89,$70,$31,$5A,$70 .db $21,$DA,$70,$E0,$2B,$99,$31,$4B .db $70,$21,$BB,$70,$31,$2C,$70,$E0 .db $4C,$99,$61,$4C,$99,$31,$BC,$70 .db $21,$2D,$70,$81,$CD,$50,$A0,$4F .db $70,$D0,$4F,$70,$01,$4F,$70,$31 .db $4F,$70,$01,$CF,$4F,$13,$D0,$98 .db $33,$71,$70,$73,$A1,$99,$33,$F1 .db $70,$43,$32,$98,$23,$72,$98,$73 .db $E2,$7B,$FF DATA_07E5DF: .db $80,$71,$31,$16,$01,$81,$9C,$01 .db $81,$9B,$71,$91,$16,$21,$82,$15 .db $41,$C2,$4F,$31,$43,$15,$21,$B3 .db $15,$01,$74,$9C,$01,$74,$9B,$51 .db $B4,$15,$11,$E4,$15,$61,$44,$16 .db $71,$15,$16,$51,$F5,$15,$61,$56 .db $16,$31,$17,$05,$71,$57,$05,$31 .db $97,$15,$61,$28,$4F,$51,$B9,$16 .db $61,$19,$16,$61,$0A,$15,$61,$AA .db $16,$41,$EA,$16,$51,$DB,$05,$51 .db $FB,$05,$41,$9C,$15,$21,$FC,$15 .db $21,$BD,$15,$61,$CD,$15,$21,$1E .db $15,$61,$2E,$15,$21,$7E,$15,$61 .db $8E,$15,$F0,$FE,$9C,$F0,$FE,$9B .db $FF DATA_07E650: .db $0A,$81,$21,$86,$81,$22,$1D,$81 .db $82,$1D,$81,$D2,$86,$81,$03,$1D .db $81,$A3,$2F,$61,$B3,$C9,$41,$44 .db $C9,$81,$C4,$1D,$51,$D4,$C9,$81 .db $75,$86,$61,$95,$C9,$31,$B5,$C9 .db $71,$E5,$C9,$71,$46,$4F,$61,$76 .db $C9,$81,$E6,$1D,$81,$07,$2F,$31 .db $17,$C9,$81,$17,$C9,$51,$37,$C9 .db $81,$87,$86,$61,$B7,$C9,$81,$28 .db $86,$41,$38,$C9,$71,$38,$C9,$81 .db $69,$86,$81,$C9,$86,$11,$2A,$9B .db $11,$2A,$9C,$21,$4B,$4C,$41,$8B .db $4C,$11,$9B,$4C,$81,$AB,$1D,$31 .db $DB,$4C,$81,$1C,$1D,$61,$3C,$50 .db $81,$BC,$86,$61,$CC,$50,$51,$3D .db $50,$11,$6E,$9C,$11,$6E,$9B,$61 .db $1F,$C9,$81,$CF,$1D,$61,$EF,$50 .db $83,$50,$86,$83,$60,$1D,$53,$70 .db $50,$63,$81,$C9,$13,$C1,$9C,$13 .db $C1,$9B,$83,$12,$86,$83,$42,$C9 .db $73,$E2,$7B,$FF DATA_07E6F4: .db $07,$11,$40,$9A,$61,$01,$50,$71 .db $D1,$09,$F0,$22,$9A,$71,$C2,$06 .db $71,$13,$06,$71,$34,$05,$71,$74 .db $0C,$21,$C4,$9A,$71,$95,$06,$71 .db $E5,$06,$E0,$C6,$9A,$31,$47,$9A .db $71,$29,$98,$71,$B9,$94,$21,$BB .db $9A,$00,$7C,$D9,$71,$FD,$06,$71 .db $1F,$94,$61,$EF,$05,$73,$80,$05 .db $13,$31,$9A,$63,$B1,$10,$63,$D1 .db $10,$33,$33,$98,$02,$C3,$D9,$73 .db $E3,$09,$63,$A4,$09,$F2,$75,$84 .db $73,$86,$98,$43,$96,$98,$13,$A6 .db $98,$73,$EE,$7B,$FF DATA_07E759: .db $00,$E0,$40,$8A,$E0,$50,$8A,$E0 .db $60,$8A,$E0,$70,$8A,$70,$80,$8C .db $51,$80,$B9,$FF DATA_07E76D: .db $00,$FF Empty07E76F: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF DATA_07F000: .db $30,$44,$58,$6C,$80,$94,$A8,$BC .db $D0,$E4,$28,$2C,$80,$94,$A8,$BC .db $D0,$E4,$30,$58,$00,$00,$28,$2C .db $30,$54,$64,$74,$84,$94,$A4,$B4 .db $00,$00,$28,$2C,$30,$54,$78,$8C .db $A0,$B4,$C8,$DC,$F0,$F8,$28,$2C .db $30,$74,$88,$9C,$B0,$C4,$D8,$EC .db $F8,$FC,$28,$2C,$30,$84,$D8,$E0 .db $E8,$F0,$F8,$00,$00,$00,$28,$2C .db $00,$60,$74,$88,$9C,$B0,$C4,$00 .db $00,$00,$28,$2C,$30,$44,$58,$6C .db $80,$94,$A8,$00,$00,$00,$28,$2C .db $A0,$30,$34,$38,$3C,$40,$44,$48 .db $4C,$50,$28,$2C,$30,$48,$60,$78 .db $8C,$A0,$B4,$C8,$DC,$00,$28,$2C .db $58,$AC,$C0,$D4,$E8,$00,$00,$00 .db $00,$00,$28,$2C,$58,$6C,$80,$94 .db $A8,$BC,$D0,$E4,$00,$00,$28,$2C .db $30,$74,$B8,$C4,$D0,$DC,$E8,$F4 .db $00,$00,$28,$2C,$30,$48,$60,$78 .db $90,$A8,$C0,$D8,$00,$00,$28,$2C .db $30,$44,$58,$5C,$60,$64,$68,$6C .db $70,$00,$28,$2C DATA_07F0B4: .db $00,$0C,$18,$24,$30,$3C,$00,$48 .db $54,$60,$6C,$78,$84,$90,$9C,$00 .db $A8,$0C,$00,$B4 DATA_07F0C8: .db $00,$08,$10,$00,$10,$00,$10,$00 .db $10,$00,$08,$10,$FF,$08,$08,$08 .db $08,$08,$FF,$00,$08,$10,$10,$08 .db $00,$00,$08,$10,$FF,$00,$08,$10 .db $08,$10,$10,$00,$08,$10,$FF,$00 .db $00,$10,$00,$10,$00,$08,$10,$10 .db $FF,$00,$08,$10,$00,$00,$08,$10 .db $10,$00,$08,$10,$FF,$08,$10,$00 .db $00,$08,$10,$00,$10,$00,$08,$10 .db $FF,$00,$08,$10,$10,$0C,$08,$08 .db $FF,$00,$08,$10,$00,$10,$00,$08 .db $10,$00,$10,$00,$08,$10,$FF,$00 .db $08,$10,$00,$10,$00,$08,$10,$10 .db $00,$08,$10,$FF DATA_07F134: .db $00,$00,$00,$08,$08,$10,$10,$18 .db $18,$20,$20,$20,$FF,$00,$08,$10 .db $18,$20,$FF,$00,$00,$00,$08,$10 .db $18,$20,$20,$20,$FF,$00,$00,$08 .db $10,$10,$18,$20,$20,$20,$FF,$00 .db $08,$08,$10,$10,$18,$18,$18,$20 .db $FF,$00,$00,$00,$08,$10,$10,$10 .db $18,$20,$20,$20,$FF,$00,$00,$08 .db $10,$10,$10,$18,$18,$20,$20,$20 .db $FF,$00,$00,$00,$08,$10,$18,$20 .db $FF,$00,$00,$00,$08,$08,$10,$10 .db $10,$18,$18,$20,$20,$20,$FF,$00 .db $00,$00,$08,$08,$10,$10,$10,$18 .db $20,$20,$20,$FF DATA_07F1A0: .db $00,$0D,$13,$1D,$27,$31,$3D,$49 .db $51,$5F DATA_07F1AA: .db $01,$02,$03,$04,$05,$06,$07,$08 .db $09,$10,$11,$12,$13,$14,$15,$16 .db $17,$18,$19,$20,$21,$22,$23,$24 .db $25,$26,$27,$28,$29,$30,$40,$50 CODE_07F1CA: BD 40 15 LDA.W $1540,X CODE_07F1CD: 85 04 STA $04 CODE_07F1CF: 64 02 STZ $02 CODE_07F1D1: BD 94 15 LDA.W $1594,X CODE_07F1D4: 4A LSR CODE_07F1D5: 4A LSR CODE_07F1D6: AA TAX CODE_07F1D7: BF AA F1 07 LDA.L DATA_07F1AA,X CODE_07F1DB: 48 PHA CODE_07F1DC: 4A LSR CODE_07F1DD: 4A LSR CODE_07F1DE: 4A LSR CODE_07F1DF: 4A LSR CODE_07F1E0: AA TAX CODE_07F1E1: F0 0A BEQ CODE_07F1ED CODE_07F1E3: BF A0 F1 07 LDA.L DATA_07F1A0,X CODE_07F1E7: AA TAX CODE_07F1E8: A0 20 LDY.B #$20 CODE_07F1EA: 20 00 F2 JSR.W CODE_07F200 CODE_07F1ED: 68 PLA CODE_07F1EE: 29 0F AND.B #$0F CODE_07F1F0: AA TAX CODE_07F1F1: BF A0 F1 07 LDA.L DATA_07F1A0,X CODE_07F1F5: AA TAX CODE_07F1F6: A9 20 LDA.B #$20 CODE_07F1F8: 85 02 STA $02 CODE_07F1FA: A0 54 LDY.B #$54 CODE_07F1FC: 20 00 F2 JSR.W CODE_07F200 Return07F1FF: 6B RTL ; Return CODE_07F200: BF C8 F0 07 LDA.L DATA_07F0C8,X CODE_07F204: 30 44 BMI CODE_07F24A CODE_07F206: 18 CLC CODE_07F207: 69 64 ADC.B #$64 CODE_07F209: 18 CLC CODE_07F20A: 65 02 ADC $02 CODE_07F20C: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_07F20F: BF 34 F1 07 LDA.L DATA_07F134,X CODE_07F213: 18 CLC CODE_07F214: 69 40 ADC.B #$40 CODE_07F216: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_07F219: A9 EF LDA.B #$EF CODE_07F21B: DA PHX CODE_07F21C: A6 04 LDX $04 CODE_07F21E: E0 10 CPX.B #$10 CODE_07F220: B0 08 BCS CODE_07F22A CODE_07F222: 8A TXA CODE_07F223: 4A LSR CODE_07F224: 4A LSR CODE_07F225: AA TAX CODE_07F226: BF 4E F2 07 LDA.L DATA_07F24E,X CODE_07F22A: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_07F22D: FA PLX CODE_07F22E: A5 13 LDA RAM_FrameCounter CODE_07F230: 4A LSR CODE_07F231: 29 0E AND.B #$0E CODE_07F233: 09 30 ORA.B #$30 CODE_07F235: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_07F238: 5A PHY CODE_07F239: 98 TYA CODE_07F23A: 4A LSR CODE_07F23B: 4A LSR CODE_07F23C: A8 TAY CODE_07F23D: A9 00 LDA.B #$00 CODE_07F23F: 99 20 04 STA.W $0420,Y CODE_07F242: 7A PLY CODE_07F243: C8 INY CODE_07F244: C8 INY CODE_07F245: C8 INY CODE_07F246: C8 INY CODE_07F247: E8 INX CODE_07F248: 80 B6 BRA CODE_07F200 CODE_07F24A: AE E9 15 LDX.W $15E9 ; X = Sprite index Return07F24D: 60 RTS ; Return DATA_07F24E: .db $66,$66,$6E,$FF CODE_07F252: DA PHX CODE_07F253: BD 94 15 LDA.W $1594,X CODE_07F256: 4A LSR CODE_07F257: 4A LSR CODE_07F258: AA TAX CODE_07F259: BF AA F1 07 LDA.L DATA_07F1AA,X CODE_07F25D: 8D 00 19 STA.W $1900 CODE_07F260: FA PLX CODE_07F261: C9 50 CMP.B #$50 CODE_07F263: D0 06 BNE Return07F26B ADDR_07F265: A9 0A LDA.B #$0A ADDR_07F267: 22 E5 AC 02 JSL.L GivePoints Return07F26B: 6B RTL ; Return Sprite1656Vals: .db $70,$70,$70,$70,$10,$10,$10,$10 .db $10,$10,$10,$10,$10,$10,$00,$10 .db $10,$10,$14,$00,$00,$00,$00,$10 .db $10,$11,$81,$10,$10,$80,$11,$11 .db $82,$00,$13,$13,$13,$13,$01,$00 .db $00,$00,$81,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$05,$80,$00 .db $00,$00,$07,$07,$07,$00,$00,$30 .db $30,$00,$00,$00,$00,$08,$00,$10 .db $00,$00,$00,$10,$00,$10,$10,$8C .db $8C,$10,$00,$00,$00,$00,$01,$00 .db $01,$01,$01,$0B,$0B,$0B,$0B,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$10,$19,$30 .db $0A,$10,$10,$30,$00,$00,$00,$00 .db $00,$00,$00,$00,$01,$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,$80,$00,$10,$00,$00,$00,$10 .db $00,$00,$10,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$0D,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$70,$10,$0E .db $00,$00,$00,$00,$00,$00,$FF,$00 .db $00 Sprite1662Vals: .db $00,$00,$00,$00,$40,$40,$40,$40 .db $40,$40,$40,$40,$40,$00,$0A,$00 .db $00,$00,$08,$00,$00,$00,$00,$80 .db $80,$81,$01,$80,$80,$00,$81,$81 .db $00,$00,$81,$81,$81,$81,$06,$00 .db $07,$06,$01,$00,$00,$00,$00,$00 .db $37,$00,$37,$00,$00,$09,$01,$00 .db $00,$00,$0E,$0E,$0E,$00,$00,$00 .db $00,$0F,$0F,$10,$14,$00,$0D,$80 .db $00,$1D,$00,$80,$80,$80,$80,$00 .db $00,$80,$02,$0C,$03,$05,$04,$05 .db $04,$00,$00,$04,$05,$04,$05,$00 .db $1D,$0C,$04,$04,$12,$20,$21,$2C .db $34,$04,$04,$04,$04,$0C,$16,$00 .db $17,$80,$80,$00,$00,$00,$00,$00 .db $00,$00,$00,$1E,$35,$00,$00,$00 .db $0C,$00,$00,$0C,$0C,$00,$00,$3A .db $08,$08,$00,$00,$00,$00,$1C,$08 .db $38,$0D,$0D,$0D,$0D,$0D,$0D,$0D .db $0D,$00,$0D,$80,$1D,$00,$00,$B6 .db $24,$23,$3B,$1F,$22,$00,$27,$00 .db $00,$28,$00,$2A,$2B,$2B,$00,$00 .db $00,$0C,$00,$2D,$00,$00,$00,$2E .db $2E,$0C,$1D,$2F,$0C,$00,$80,$30 .db $32,$31,$00,$00,$33,$07,$FF,$00 .db $0C Sprite166EVals: .db $0A,$08,$06,$04,$0A,$08,$06,$04 .db $0A,$0A,$08,$08,$04,$17,$32,$04 .db $04,$1D,$3D,$09,$09,$45,$45,$85 .db $85,$0B,$08,$01,$12,$15,$09,$4F .db $1C,$24,$0B,$09,$0B,$09,$33,$33 .db $FD,$2B,$08,$35,$3B,$3A,$19,$3A .db $13,$13,$13,$34,$39,$2A,$15,$F3 .db $FD,$FD,$37,$37,$37,$C7,$30,$05 .db $15,$37,$37,$37,$33,$30,$8B,$85 .db $1D,$3B,$3B,$09,$34,$01,$01,$08 .db $08,$09,$20,$30,$20,$E3,$E3,$E3 .db $E3,$E3,$E3,$E1,$E1,$EB,$EB,$E3 .db $E3,$E3,$E1,$E1,$A3,$A3,$A3,$A3 .db $A3,$E3,$F0,$E3,$F3,$3F,$3F,$0F .db $35,$0B,$09,$07,$08,$0A,$20,$24 .db $0A,$3A,$3A,$20,$20,$21,$28,$20 .db $20,$00,$20,$20,$20,$20,$F5,$20 .db $20,$20,$20,$20,$20,$20,$30,$3B .db $F3,$0B,$0B,$0B,$0B,$0B,$0B,$0B .db $0B,$9B,$93,$00,$30,$31,$31,$31 .db $FB,$FB,$BB,$E3,$F3,$35,$35,$39 .db $35,$35,$7D,$07,$37,$37,$3D,$3F .db $3F,$30,$31,$31,$31,$04,$35,$3B .db $3B,$36,$7B,$3B,$33,$06,$0B,$11 .db $F5,$F5,$CB,$CD,$F3,$3F,$FF,$20 .db $38 Sprite167AVals: .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$18,$02,$18 .db $00,$00,$81,$00,$01,$99,$99,$00 .db $00,$01,$00,$00,$00,$00,$00,$02 .db $00,$C2,$00,$00,$00,$00,$01,$01 .db $01,$83,$00,$00,$9A,$1E,$01,$BE .db $81,$81,$81,$02,$18,$87,$02,$01 .db $01,$01,$01,$01,$01,$00,$3E,$01 .db $01,$82,$82,$82,$01,$02,$81,$00 .db $00,$A2,$82,$01,$00,$00,$00,$00 .db $00,$00,$A2,$08,$02,$A2,$A2,$A2 .db $A2,$A2,$A2,$A2,$A2,$A2,$A2,$A2 .db $A2,$A2,$A2,$A2,$A2,$22,$22,$22 .db $22,$A2,$A2,$A2,$A2,$E2,$01,$01 .db $01,$01,$01,$01,$C2,$C2,$C2,$C2 .db $C2,$82,$82,$A2,$A2,$9A,$80,$82 .db $3E,$C2,$82,$82,$82,$92,$80,$82 .db $82,$82,$02,$02,$02,$02,$A2,$A2 .db $01,$F9,$F9,$F9,$F9,$F9,$F9,$F9 .db $F9,$01,$01,$01,$A2,$81,$00,$01 .db $80,$00,$19,$A2,$01,$01,$01,$00 .db $00,$81,$01,$81,$81,$81,$00,$01 .db $01,$A2,$00,$00,$00,$00,$00,$A2 .db $A2,$A2,$A2,$A2,$A0,$01,$01,$A1 .db $A2,$A2,$01,$01,$A2,$A3,$FF,$82 .db $A2 Sprite1686Vals: .db $00,$00,$00,$00,$02,$02,$02,$02 .db $42,$52,$52,$52,$52,$00,$09,$00 .db $40,$00,$01,$00,$00,$10,$10,$90 .db $90,$01,$10,$10,$90,$00,$11,$01 .db $01,$08,$00,$00,$00,$00,$01,$01 .db $19,$80,$00,$39,$09,$09,$10,$0A .db $09,$09,$09,$99,$18,$29,$08,$19 .db $19,$19,$11,$11,$15,$10,$0A,$40 .db $40,$8D,$8D,$8D,$11,$18,$11,$80 .db $00,$29,$29,$10,$10,$10,$10,$00 .db $00,$10,$29,$20,$29,$A9,$A9,$A9 .db $A9,$A9,$A9,$A9,$A9,$A9,$A9,$A9 .db $29,$29,$3D,$3D,$3D,$3D,$3D,$3D .db $3D,$29,$19,$29,$29,$59,$59,$18 .db $18,$10,$10,$50,$28,$28,$28,$28 .db $08,$29,$29,$39,$39,$29,$28,$28 .db $3A,$28,$29,$31,$31,$29,$00,$29 .db $29,$29,$29,$29,$29,$29,$29,$29 .db $11,$11,$11,$11,$11,$11,$11,$11 .db $11,$10,$11,$01,$39,$10,$19,$19 .db $19,$19,$01,$29,$98,$14,$14,$10 .db $18,$18,$18,$00,$19,$19,$19,$19 .db $19,$1D,$1D,$19,$19,$18,$18,$19 .db $19,$19,$1D,$19,$18,$00,$10,$00 .db $99,$99,$10,$90,$A9,$B9,$FF,$39 .db $19 Sprite190FVals: .db $00,$00,$00,$00,$A0,$A0,$A0,$A0 .db $B0,$B0,$B0,$B0,$A0,$80,$44,$80 .db $80,$80,$20,$00,$00,$00,$00,$00 .db $00,$20,$20,$00,$00,$00,$60,$20 .db $04,$04,$20,$20,$20,$20,$24,$04 .db $00,$44,$20,$04,$44,$C4,$00,$C4 .db $24,$24,$24,$04,$04,$46,$04,$04 .db $04,$04,$04,$04,$04,$00,$C4,$00 .db $00,$05,$05,$05,$04,$44,$48,$00 .db $00,$40,$40,$40,$04,$00,$00,$00 .db $00,$00,$64,$C4,$64,$45,$65,$45 .db $65,$45,$45,$45,$45,$65,$65,$45 .db $45,$45,$45,$45,$45,$45,$45,$05 .db $05,$44,$44,$44,$44,$46,$00,$00 .db $00,$10,$10,$10,$40,$40,$40,$40 .db $40,$40,$40,$42,$42,$40,$40,$40 .db $C0,$40,$40,$40,$40,$00,$00,$40 .db $40,$40,$40,$40,$40,$40,$40,$01 .db $00,$48,$48,$48,$48,$48,$48,$48 .db $48,$00,$40,$40,$40,$00,$04,$04 .db $40,$40,$00,$41,$00,$00,$00,$00 .db $00,$40,$00,$00,$40,$40,$00,$00 .db $00,$40,$00,$00,$00,$00,$00,$41 .db $41,$40,$41,$40,$00,$00,$00,$20 .db $47,$45,$00,$00,$41,$41,$FF,$40 .db $40 ZeroSpriteTables: 9E 4A 16 STZ.W $164A,X CODE_07F725: 9E 32 16 STZ.W RAM_SprBehindScrn,X CODE_07F728: 74 C2 STZ RAM_SpriteState,X CODE_07F72A: 9E 1C 15 STZ.W $151C,X CODE_07F72D: 9E 28 15 STZ.W $1528,X CODE_07F730: 9E 34 15 STZ.W $1534,X CODE_07F733: 9E 7C 15 STZ.W RAM_SpriteDir,X CODE_07F736: 9E 88 15 STZ.W RAM_SprObjStatus,X CODE_07F739: 9E C4 15 STZ.W $15C4,X CODE_07F73C: 9E 02 16 STZ.W $1602,X CODE_07F73F: 9E 40 15 STZ.W $1540,X CODE_07F742: 9E 4C 15 STZ.W RAM_DisableInter,X CODE_07F745: 9E 58 15 STZ.W $1558,X CODE_07F748: 9E 64 15 STZ.W $1564,X CODE_07F74B: 9E E2 1F STZ.W $1FE2,X CODE_07F74E: 9E 26 16 STZ.W $1626,X CODE_07F751: 9E 70 15 STZ.W $1570,X CODE_07F754: 74 B6 STZ RAM_SpriteSpeedX,X ; Sprite X Speed = 0 CODE_07F756: 9E F8 14 STZ.W $14F8,X CODE_07F759: 74 AA STZ RAM_SpriteSpeedY,X ; Sprite Y Speed = 0 CODE_07F75B: 9E EC 14 STZ.W $14EC,X CODE_07F75E: 9E DC 15 STZ.W $15DC,X CODE_07F761: 9E D0 15 STZ.W $15D0,X CODE_07F764: 9E 3E 16 STZ.W $163E,X CODE_07F767: 9E 56 16 STZ.W RAM_Tweaker1656,X CODE_07F76A: 9E 62 16 STZ.W RAM_Tweaker1662,X CODE_07F76D: 9E 6E 16 STZ.W RAM_Tweaker166E,X CODE_07F770: 9E 7A 16 STZ.W RAM_Tweaker167A,X CODE_07F773: 9E 86 16 STZ.W RAM_Tweaker1686,X CODE_07F776: 9E 7B 18 STZ.W $187B,X CODE_07F779: 9E 0E 16 STZ.W $160E,X CODE_07F77C: 9E 94 15 STZ.W $1594,X CODE_07F77F: 9E 04 15 STZ.W $1504,X CODE_07F782: 9E D6 1F STZ.W $1FD6,X CODE_07F785: A9 01 LDA.B #$01 CODE_07F787: 9D A0 15 STA.W RAM_OffscreenHorz,X Return07F78A: 6B RTL ; Return LoadSpriteTables: 5A PHY CODE_07F78C: DA PHX CODE_07F78D: B5 9E LDA RAM_SpriteNum,X CODE_07F78F: AA TAX CODE_07F790: BF FE F3 07 LDA.L Sprite166EVals,X CODE_07F794: 29 0F AND.B #$0F CODE_07F796: FA PLX CODE_07F797: 9D F6 15 STA.W RAM_SpritePal,X CODE_07F79A: 22 A0 F7 07 JSL.L LoadTweakerBytes CODE_07F79E: 7A PLY Return07F79F: 6B RTL ; Return LoadTweakerBytes: 5A PHY CODE_07F7A1: DA PHX CODE_07F7A2: 9B TXY CODE_07F7A3: B6 9E LDX RAM_SpriteNum,Y CODE_07F7A5: BF 6C F2 07 LDA.L Sprite1656Vals,X CODE_07F7A9: 99 56 16 STA.W RAM_Tweaker1656,Y CODE_07F7AC: BF 35 F3 07 LDA.L Sprite1662Vals,X CODE_07F7B0: 99 62 16 STA.W RAM_Tweaker1662,Y CODE_07F7B3: BF FE F3 07 LDA.L Sprite166EVals,X CODE_07F7B7: 99 6E 16 STA.W RAM_Tweaker166E,Y CODE_07F7BA: BF C7 F4 07 LDA.L Sprite167AVals,X CODE_07F7BE: 99 7A 16 STA.W RAM_Tweaker167A,Y CODE_07F7C1: BF 90 F5 07 LDA.L Sprite1686Vals,X CODE_07F7C5: 99 86 16 STA.W RAM_Tweaker1686,Y CODE_07F7C8: BF 59 F6 07 LDA.L Sprite190FVals,X CODE_07F7CC: 99 0F 19 STA.W RAM_Tweaker190F,Y CODE_07F7CF: FA PLX CODE_07F7D0: 7A PLY Return07F7D1: 6B RTL ; Return InitSpriteTables: 22 22 F7 07 JSL.L ZeroSpriteTables CODE_07F7D6: 22 8B F7 07 JSL.L LoadSpriteTables Return07F7DA: 6B RTL ; Return CircleCoords: .db $00,$00,$03,$00,$06,$00,$09,$00 .db $0C,$00,$0F,$00,$12,$00,$15,$00 .db $19,$00,$1C,$00,$1F,$00,$22,$00 .db $25,$00,$28,$00,$2B,$00,$2E,$00 .db $31,$00,$35,$00,$38,$00,$3B,$00 .db $3E,$00,$41,$00,$44,$00,$47,$00 .db $4A,$00,$4D,$00,$50,$00,$53,$00 .db $56,$00,$59,$00,$5C,$00,$5F,$00 .db $61,$00,$64,$00,$67,$00,$6A,$00 .db $6D,$00,$70,$00,$73,$00,$75,$00 .db $78,$00,$7B,$00,$7E,$00,$80,$00 .db $83,$00,$86,$00,$88,$00,$8B,$00 .db $8E,$00,$90,$00,$93,$00,$95,$00 .db $98,$00,$9B,$00,$9D,$00,$9F,$00 .db $A2,$00,$A4,$00,$A7,$00,$A9,$00 .db $AB,$00,$AE,$00,$B0,$00,$B2,$00 .db $B5,$00,$B7,$00,$B9,$00,$BB,$00 .db $BD,$00,$BF,$00,$C1,$00,$C3,$00 .db $C5,$00,$C7,$00,$C9,$00,$CB,$00 .db $CD,$00,$CF,$00,$D1,$00,$D3,$00 .db $D4,$00,$D6,$00,$D8,$00,$D9,$00 .db $DB,$00,$DD,$00,$DE,$00,$E0,$00 .db $E1,$00,$E3,$00,$E4,$00,$E6,$00 .db $E7,$00,$E8,$00,$EA,$00,$EB,$00 .db $EC,$00,$ED,$00,$EE,$00,$EF,$00 .db $F1,$00,$F2,$00,$F3,$00,$F4,$00 .db $F4,$00,$F5,$00,$F6,$00,$F7,$00 .db $F8,$00,$F9,$00,$F9,$00,$FA,$00 .db $FB,$00,$FB,$00,$FC,$00,$FC,$00 .db $FD,$00,$FD,$00,$FE,$00,$FE,$00 .db $FE,$00,$FF,$00,$FF,$00,$FF,$00 .db $FF,$00,$FF,$00,$FF,$00,$FF,$00 .db $00,$01,$FF,$00,$FF,$00,$FF,$00 .db $FF,$00,$FF,$00,$FF,$00,$FF,$00 .db $FE,$00,$FE,$00,$FE,$00,$FD,$00 .db $FD,$00,$FC,$00,$FC,$00,$FB,$00 .db $FB,$00,$FA,$00,$F9,$00,$F9,$00 .db $F8,$00,$F7,$00,$F6,$00,$F5,$00 .db $F4,$00,$F4,$00,$F3,$00,$F2,$00 .db $F1,$00,$EF,$00,$EE,$00,$ED,$00 .db $EC,$00,$EB,$00,$EA,$00,$E8,$00 .db $E7,$00,$E6,$00,$E4,$00,$E3,$00 .db $E1,$00,$E0,$00,$DE,$00,$DD,$00 .db $DB,$00,$D9,$00,$D8,$00,$D6,$00 .db $D4,$00,$D3,$00,$D1,$00,$CF,$00 .db $CD,$00,$CB,$00,$C9,$00,$C7,$00 .db $C5,$00,$C3,$00,$C1,$00,$BF,$00 .db $BD,$00,$BB,$00,$B9,$00,$B7,$00 .db $B5,$00,$B2,$00,$B0,$00,$AE,$00 .db $AB,$00,$A9,$00,$A7,$00,$A4,$00 .db $A2,$00,$9F,$00,$9D,$00,$9B,$00 .db $98,$00,$95,$00,$93,$00,$90,$00 .db $8E,$00,$8B,$00,$88,$00,$86,$00 .db $83,$00,$80,$00,$7E,$00,$7B,$00 .db $78,$00,$75,$00,$73,$00,$70,$00 .db $6D,$00,$6A,$00,$67,$00,$64,$00 .db $61,$00,$5F,$00,$5C,$00,$59,$00 .db $56,$00,$53,$00,$50,$00,$4D,$00 .db $4A,$00,$47,$00,$44,$00,$41,$00 .db $3E,$00,$3B,$00,$38,$00,$35,$00 .db $31,$00,$2E,$00,$2B,$00,$28,$00 .db $25,$00,$22,$00,$1F,$00,$1C,$00 .db $19,$00,$15,$00,$12,$00,$0F,$00 .db $0C,$00,$09,$00,$06,$00,$03,$00 .db $F0,$E0,$D0,$C1,$B1,$A1,$92,$82 .db $73,$64,$55,$46,$37,$28,$29,$1A .db $1B,$1C,$0D,$0E,$0F,$00,$01,$02 .db $13,$14,$15,$26,$27,$38,$49,$5A .db $6B,$7C,$8D,$9D,$AE,$BE,$CE,$DF .db $EF,$FF,$00,$10,$20,$31,$41,$51 .db $62,$72,$83,$94,$A5,$B6,$C7,$D8 .db $D9,$EA,$EB,$EC,$FD,$FD,$FF,$F0 .db $F1,$F2,$E3,$E4,$E5,$D6,$D7,$C8 .db $B9,$AA,$9B,$8C,$7D,$6D,$5E,$4E .db $3E,$2F,$1F,$0F,$F5,$E6,$D6,$C7 .db $B8,$A9,$9A,$8B,$7C,$6D,$6E,$5F .db $40,$41,$32,$33,$24,$25,$26,$17 .db $18,$19,$1A,$0B,$0C,$0D,$0E,$0F .db $F0,$E0,$D0,$C0,$B0,$A1,$91,$81 .db $71,$62,$52,$42,$33,$23,$14,$04 .db $0B,$1B,$2C,$3C,$4D,$5D,$6D,$7E .db $8E,$9E,$AE,$BF,$CF,$DF,$EF,$FF .db $00,$01,$02,$03,$04,$15,$16,$17 .db $18,$29,$2A,$2B,$3C,$3D,$4E,$4F .db $50,$61,$62,$73,$84,$95,$A6,$B7 .db $C8,$D9,$E9,$FA,$05,$16,$26,$37 .db $48,$59,$6A,$7B,$8C,$9D,$9E,$AF .db $B0,$B1,$C2,$C3,$D4,$D5,$D6,$E7 .db $E8,$E9,$EA,$FB,$FC,$FD,$FE,$FF .db $00,$10,$20,$30,$40,$51,$61,$71 .db $81,$92,$A2,$B2,$C3,$D3,$E4,$F4 .db $FB,$EB,$DC,$CC,$BD,$AD,$9D,$8E .db $7E,$6E,$5E,$4F,$3F,$2F,$1F,$0F .db $F0,$F1,$F2,$F3,$F4,$E5,$E6,$E7 .db $E8,$D9,$DA,$DB,$CC,$CD,$BE,$BF .db $A0,$91,$92,$83,$74,$65,$56,$47 .db $38,$29,$19,$0A,$F0,$E1,$D2,$D2 .db $C3,$B4,$A5,$A5,$96,$87,$78,$78 .db $69,$5A,$4B,$4B,$3C,$2D,$1E,$1E .db $0F,$00,$11,$22,$22,$33,$44,$55 .db $55,$66,$77,$88,$88,$99,$AA,$BB .db $BB,$CC,$DD,$EE,$EE,$FF,$F8,$E8 .db $D9,$C9,$BA,$AA,$9B,$8B,$7C,$6C .db $5D,$4D,$3E,$2E,$1F,$0F,$00,$10 .db $21,$31,$42,$52,$63,$73,$84,$94 .db $A5,$B5,$C6,$D6,$E7,$F7,$F0,$E0 .db $D1,$C1,$B2,$A2,$93,$83,$74,$64 .db $55,$45,$36,$26,$17,$07,$08,$18 .db $29,$39,$4A,$5A,$6B,$7B,$8C,$9C .db $AD,$BD,$CE,$DE,$EF,$FF,$F0,$F1 .db $E2,$E3,$D4,$D5,$C6,$C7,$B8,$B9 .db $AA,$AB,$9C,$9D,$8E,$8F,$70,$71 .db $62,$63,$54,$55,$46,$47,$38,$39 .db $2A,$2B,$1C,$1D,$0E,$0F,$00,$01 .db $12,$13,$24,$25,$36,$37,$48,$49 .db $5A,$5B,$6C,$6D,$7E,$7F,$80,$81 .db $92,$93,$A4,$A5,$B6,$B7,$C8,$C9 .db $DA,$DB,$EC,$ED,$FE,$FF,$00,$10 .db $20,$30,$40,$50,$60,$70,$80,$90 .db $A0,$B0,$C0,$D0,$E0,$F0,$0F,$1F .db $2F,$3F,$4F,$5F,$6F,$7F,$8F,$9F .db $AF,$BF,$CF,$DF,$EF,$FF,$00,$01 .db $02,$03,$04,$05,$06,$07,$08,$09 .db $0A,$0B,$0C,$0D,$0E,$0F,$F0,$F1 .db $F2,$F3,$F4,$F5,$F6,$F7,$F8,$F9 .db $FA,$FB,$FC,$FD,$FE,$FF,$F0,$E1 .db $D2,$D2,$C3,$B4,$A5,$A5,$96,$87 .db $78,$78,$69,$5A,$4B,$4B,$3C,$2D .db $1E,$1E,$0F,$00,$11,$22,$22,$33 .db $44,$55,$55,$66,$77,$88,$88,$99 .db $AA,$BB,$BB,$CC,$DD,$EE,$EE,$FF .db $DB,$F0,$05,$1A,$2F,$3B,$4B,$5B .db $6B,$7B,$87,$93,$A3,$B3,$C3,$D3 .db $DF,$F4,$09,$19,$29,$39,$49,$59 .db $69,$79,$89,$99,$A9,$B9,$C9,$DE .db $F9,$F9,$FA,$FA,$FA,$FA,$FA,$FA .db $FA,$FA,$FA,$FA,$FA,$FA,$FA,$FA .db $FA,$FA,$FB,$FB,$FB,$FB,$FB,$FB .db $FB,$FB,$FB,$FB,$FB,$FB,$FB,$FB DATA_07FC33: .db $E0,$20,$E0,$20 DATA_07FC37: .db $F0,$F0,$10,$10 CODE_07FC3B: DA PHX CODE_07FC3C: A2 03 LDX.B #$03 CODE_07FC3E: 22 47 FC 07 JSL.L CODE_07FC47 CODE_07FC42: CA DEX CODE_07FC43: 10 F9 BPL CODE_07FC3E CODE_07FC45: FA PLX Return07FC46: 6B RTL ; Return CODE_07FC47: A0 07 LDY.B #$07 ; \ Find a free extended sprite slot CODE_07FC49: B9 0B 17 LDA.W RAM_ExSpriteNum,Y ; | CODE_07FC4C: F0 04 BEQ CODE_07FC52 ; | CODE_07FC4E: 88 DEY ; | CODE_07FC4F: 10 F8 BPL CODE_07FC49 ; | Return07FC51: 6B RTL ; / Return if no free slots CODE_07FC52: A9 10 LDA.B #$10 ; \ Extended sprite = Spin jump stars CODE_07FC54: 99 0B 17 STA.W RAM_ExSpriteNum,Y ; / CODE_07FC57: DA PHX CODE_07FC58: AE E9 15 LDX.W $15E9 ; X = Sprite index CODE_07FC5B: B5 D8 LDA RAM_SpriteYLo,X CODE_07FC5D: 18 CLC CODE_07FC5E: 69 04 ADC.B #$04 CODE_07FC60: 99 15 17 STA.W RAM_ExSpriteYLo,Y CODE_07FC63: BD D4 14 LDA.W RAM_SpriteYHi,X CODE_07FC66: 69 00 ADC.B #$00 CODE_07FC68: 99 29 17 STA.W RAM_ExSpriteYHi,Y CODE_07FC6B: B5 E4 LDA RAM_SpriteXLo,X CODE_07FC6D: 18 CLC CODE_07FC6E: 69 04 ADC.B #$04 CODE_07FC70: 99 1F 17 STA.W RAM_ExSpriteXLo,Y CODE_07FC73: BD E0 14 LDA.W RAM_SpriteXHi,X CODE_07FC76: 69 00 ADC.B #$00 CODE_07FC78: 99 33 17 STA.W RAM_ExSpriteXHi,Y CODE_07FC7B: FA PLX CODE_07FC7C: BF 33 FC 07 LDA.L DATA_07FC33,X CODE_07FC80: 99 47 17 STA.W RAM_ExSprSpeedX,Y CODE_07FC83: BF 37 FC 07 LDA.L DATA_07FC37,X CODE_07FC87: 99 3D 17 STA.W RAM_ExSprSpeedY,Y CODE_07FC8A: A9 17 LDA.B #$17 CODE_07FC8C: 99 6F 17 STA.W $176F,Y Return07FC8F: 6B RTL ; Return Empty07FC90: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .BANK 8 Graphics: .db $E0,$29,$78,$7F,$FE,$AE,$FB,$94 .db $FF,$99,$60,$60,$13,$20,$63,$70 .db $70,$D8,$07,$07,$00,$01,$00,$07 .db $06,$0F,$13,$1F,$0C,$2C,$0C,$1C .db $27,$0F,$10,$F8,$7E,$00,$3E,$C0 .db $FE,$9C,$3E,$32,$43,$7F,$41,$0B .db $3E,$22,$E0,$E6,$7E,$FF,$02,$FF .db $62,$E3,$00,$C1,$23,$80,$11,$C0 .db $C0,$08,$0F,$06,$06,$03,$04,$3F .db $39,$6F,$42,$7B,$6A,$13,$21,$10 .db $30,$83,$00,$10,$13,$03,$0F,$04 .db $0E,$18,$1C,$04,$0C,$0C,$2C,$0F .db $3F,$10,$F8,$60,$00,$F8,$E0,$FC .db $90,$43,$FC,$08,$0B,$F0,$10,$F8 .db $FC,$E0,$E0,$60,$F8,$00,$1C,$00 .db $0E,$43,$04,$06,$09,$00,$0C,$00 .db $1C,$10,$1F,$0E,$0E,$1F,$11,$43 .db $3F,$20,$09,$1F,$11,$1E,$0E,$08 .db $18,$0F,$0F,$00,$01,$28,$00,$02 .db $01,$07,$1F,$83,$00,$60,$01,$B0 .db $00,$43,$F8,$80,$1F,$F0,$04,$60 .db $0C,$08,$1C,$E0,$E0,$60,$F0,$80 .db $F8,$08,$7C,$18,$7C,$B0,$FC,$60 .db $FC,$00,$FC,$18,$0F,$16,$0E,$0E .db $19,$1F,$33,$10,$30,$43,$33,$00 .db $0B,$10,$70,$17,$17,$10,$19,$00 .db $1F,$0C,$3F,$03,$3F,$23,$0C,$08 .db $0F,$1F,$10,$E0,$7E,$1C,$7E,$B2 .db $FF,$84,$00,$2B,$0D,$3C,$3C,$30 .db $3C,$F0,$FE,$60,$E3,$40,$C1,$80 .db $80,$00,$80,$22,$C0,$03,$E0,$C0 .db $FC,$3F,$43,$04,$7F,$E0,$2A,$02 .db $3F,$01,$00,$00,$08,$18,$08,$19 .db $0C,$1C,$38,$78,$40,$F8,$64,$FC .db $3E,$FE,$01,$7F,$07,$1F,$06,$1F .db $03,$1F,$FF,$11,$FF,$51,$EE,$72 .db $90,$9C,$38,$36,$70,$7E,$E0,$FC .db $40,$FC,$24,$00,$06,$10,$60,$70 .db $C8,$E0,$80,$C0,$44,$00,$80,$06 .db $00,$70,$70,$08,$08,$E4,$E4,$23 .db $74,$23,$7A,$07,$00,$F8,$70,$FC .db $08,$FE,$04,$1E,$43,$04,$8E,$43 .db $02,$87,$E4,$21,$00,$07,$07,$00 .db $0E,$30,$03,$FC,$00,$FF,$43,$81 .db $FE,$E0,$21,$40,$7C,$00,$07,$00 .db $1F,$04,$03,$02,$03,$00,$00,$70 .db $00,$7C,$04,$3C,$3F,$00,$00,$C0 .db $00,$F0,$00,$08,$E0,$E0,$10,$F0 .db $0A,$F0,$0E,$E0,$09,$84,$01,$A1 .db $83,$00,$73,$14,$0C,$00,$06,$00 .db $02,$06,$17,$78,$7F,$FF,$9F,$FF .db $96,$FC,$94,$F8,$A8,$7C,$70,$0C .db $30,$84,$00,$4E,$06,$00,$01,$03 .db $02,$03,$07,$07,$22,$03,$1C,$33 .db $0F,$3F,$1E,$FE,$FF,$F9,$FF,$69 .db $3F,$29,$1F,$15,$3E,$0E,$30,$0C .db $08,$0C,$E0,$E0,$00,$00,$80,$C0 .db $40,$C0,$E0,$E0,$22,$C0,$0C,$CC .db $F0,$FC,$38,$FC,$3B,$FF,$18,$7F .db $08,$78,$00,$30,$25,$00,$00,$03 .db $44,$07,$00,$29,$00,$0B,$7C,$7E .db $E6,$FF,$06,$FF,$1E,$7B,$06,$1F .db $00,$06,$23,$00,$01,$80,$E0,$43 .db $00,$F8,$01,$04,$60,$27,$00,$17 .db $10,$30,$13,$73,$6C,$DF,$38,$FD .db $08,$FC,$00,$7C,$00,$18,$00,$00 .db $0F,$3F,$0C,$3F,$20,$1F,$00,$05 .db $27,$00,$1A,$30,$38,$70,$7C,$C4 .db $FE,$0C,$FE,$3C,$7E,$78,$BC,$00 .db $F8,$00,$00,$C0,$F8,$80,$FC,$00 .db $F8,$00,$F0,$00,$00,$40,$24,$00 .db $12,$08,$18,$04,$0E,$05,$0F,$00 .db $07,$05,$0F,$0B,$15,$00,$1F,$00 .db $00,$07,$1F,$01,$43,$0F,$00,$03 .db $07,$00,$00,$0A,$24,$00,$06,$38 .db $3C,$70,$78,$F0,$F8,$00,$22,$F0 .db $00,$E0,$43,$F0,$00,$03,$00,$C0 .db $FC,$80,$43,$F8,$00,$00,$F0,$27 .db $00,$0B,$30,$DC,$18,$FC,$18,$FF .db $08,$FC,$00,$78,$00,$30,$23,$00 .db $02,$23,$07,$03,$43,$07,$00,$00 .db $04,$27,$00,$04,$70,$7C,$E0,$FE .db $86,$43,$FF,$0E,$02,$1F,$06,$0B .db $83,$02,$2A,$00,$80,$43,$FC,$00 .db $84,$02,$75,$00,$04,$24,$00,$03 .db $07,$0F,$00,$07,$22,$00,$02,$01 .db $00,$01,$26,$00,$02,$0F,$00,$07 .db $2C,$00,$0C,$F8,$00,$38,$30,$B8 .db $C0,$F8,$F8,$F4,$38,$FC,$00,$3C .db $22,$00,$07,$80,$C0,$C8,$40,$F8 .db $00,$70,$08,$26,$00,$25,$7A,$05 .db $79,$79,$7D,$7D,$7C,$7C,$23,$00 .db $45,$02,$87,$02,$01,$87,$01,$43 .db $83,$00,$00,$FF,$2B,$00,$01,$80 .db $80,$2A,$00,$06,$80,$00,$80,$80 .db $C0,$00,$C0,$22,$00,$06,$FE,$00 .db $7E,$03,$2F,$01,$15,$87,$02,$88 .db $62,$02,$07,$07,$10,$3F,$0A,$1F .db $00,$00,$0A,$24,$00,$14,$14,$05 .db $F6,$07,$6E,$0F,$9E,$9F,$DE,$FF .db $EC,$FE,$00,$FC,$00,$00,$12,$FF .db $70,$FF,$60,$43,$FF,$00,$04,$3F .db $00,$1E,$00,$0C,$83,$02,$3E,$0B .db $09,$19,$0E,$1F,$00,$0F,$0E,$1F .db $0E,$3F,$00,$3E,$83,$02,$4E,$00 .db $06,$43,$1F,$00,$03,$0F,$00,$00 .db $10,$24,$00,$0A,$08,$0C,$90,$98 .db $70,$F8,$00,$F0,$70,$F8,$70,$83 .db $02,$49,$03,$00,$F0,$FC,$60,$43 .db $F8,$00,$03,$F0,$00,$00,$08,$24 .db $00,$E0,$3F,$38,$3F,$59,$46,$BF .db $87,$BC,$84,$38,$09,$10,$30,$1E .db $3E,$12,$32,$04,$04,$00,$3F,$08 .db $7F,$1B,$7F,$36,$7F,$0F,$3F,$01 .db $3F,$0D,$3F,$1C,$FC,$9A,$62,$FD .db $E1,$3D,$21,$1E,$92,$08,$0C,$78 .db $7C,$48,$4C,$20,$20,$00,$FC,$00 .db $FE,$D8,$FE,$6C,$FC,$F0,$FC,$80 .db $FC,$B0,$FC,$27,$00,$07,$01,$01 .db $07,$07,$0E,$0F,$30,$3E,$26,$00 .db $83,$04,$48,$04,$0F,$0F,$3F,$3E .db $FF,$27,$00,$07,$C0,$F8,$00,$C4 .db $38,$3A,$F8,$FA,$26,$00,$18,$F8 .db $F8,$FC,$C4,$FE,$02,$C7,$02,$07 .db $78,$7F,$FE,$8E,$7B,$54,$3F,$29 .db $00,$00,$13,$20,$43,$70,$30,$F8 .db $83,$01,$D1,$E0,$2B,$00,$0F,$16 .db $1F,$13,$3F,$0C,$2C,$2C,$1C,$07 .db $0F,$11,$F9,$7F,$00,$3F,$C0,$FF .db $85,$3A,$02,$08,$0C,$18,$1C,$30 .db $3C,$E0,$66,$70,$FC,$00,$F8,$40 .db $F8,$38,$FC,$F0,$FC,$E0,$FC,$C0 .db $FC,$89,$04,$80,$43,$13,$20,$01 .db $10,$30,$89,$04,$90,$43,$0C,$2C .db $01,$0F,$3F,$8B,$04,$A0,$43,$18 .db $1C,$8A,$04,$B0,$44,$FC,$E0,$89 .db $04,$80,$43,$13,$20,$8B,$04,$CE .db $43,$0C,$2C,$8D,$04,$DE,$43,$18 .db $1C,$8A,$04,$B0,$44,$FC,$E0,$89 .db $04,$80,$43,$13,$20,$85,$00,$4E .db $85,$04,$94,$43,$0C,$2C,$8B,$04 .db $DE,$07,$04,$06,$06,$07,$0F,$0F .db $E0,$E6,$87,$04,$B2,$09,$F8,$FE .db $F8,$FF,$F0,$FF,$00,$00,$03,$03 .db $23,$07,$23,$0F,$23,$1F,$03,$00 .db $07,$03,$07,$43,$07,$0F,$43,$0F .db $1F,$43,$1F,$3F,$03,$00,$00,$C0 .db $C0,$23,$E0,$23,$F0,$23,$F8,$03 .db $00,$E0,$C0,$E0,$43,$E0,$F0,$43 .db $F0,$F8,$43,$F8,$FC,$22,$00,$0C .db $0E,$00,$0F,$70,$77,$8A,$F9,$84 .db $FB,$80,$FF,$40,$FF,$27,$00,$07 .db $70,$00,$79,$19,$7B,$4B,$3E,$28 .db $23,$00,$0B,$70,$00,$70,$80,$78 .db $80,$38,$C0,$18,$E0,$98,$60,$22 .db $00,$08,$70,$50,$D8,$00,$18,$40 .db $7C,$20,$3C,$43,$10,$1C,$03,$12 .db $32,$0F,$1F,$85,$03,$C4,$00,$1E .db $84,$03,$CB,$01,$0D,$3F,$44,$00 .db $1F,$00,$0F,$27,$00,$03,$48,$4C .db $70,$78,$85,$03,$E4,$00,$78,$84 .db $03,$EB,$02,$B0,$FC,$80,$43,$F8 .db $00,$00,$F0,$38,$00,$00,$3F,$3E .db $00,$00,$FF,$2D,$00,$02,$18,$FC .db $0B,$43,$FF,$08,$02,$78,$00,$30 .db $25,$00,$00,$03,$44,$07,$00,$29 .db $00,$01,$E0,$FE,$84,$02,$22,$04 .db $7F,$02,$1F,$00,$06,$24,$00,$45 .db $F8,$00,$01,$60,$04,$26,$00,$0D .db $10,$30,$08,$1A,$1E,$3F,$1C,$7E .db $04,$7E,$00,$3E,$00,$0E,$83,$02 .db $4E,$05,$05,$1F,$00,$07,$20,$02 .db $27,$00,$05,$30,$38,$E0,$F8,$40 .db $FC,$83,$02,$66,$01,$30,$FC,$84 .db $02,$AC,$45,$F8,$00,$83,$02,$77 .db $25,$00,$05,$10,$08,$18,$07,$0F .db $00,$43,$07,$03,$43,$0F,$00,$03 .db $00,$0F,$1F,$07,$83,$03,$D5,$03 .db $07,$00,$00,$04,$24,$00,$06,$30 .db $38,$F0,$F8,$E0,$F0,$00,$44,$E0 .db $C0,$04,$00,$E0,$00,$00,$C0,$43 .db $F8,$00,$02,$F0,$00,$E0,$27,$00 .db $05,$0C,$1C,$03,$0F,$00,$03,$29 .db $00,$00,$03,$83,$03,$D5,$00,$03 .db $29,$00,$09,$7E,$7F,$C6,$FF,$79 .db $FF,$06,$7B,$00,$06,$25,$00,$00 .db $80,$43,$FF,$00,$02,$FE,$04,$78 .db $27,$00,$0A,$17,$1F,$33,$3F,$30 .db $3F,$3C,$3F,$4F,$7F,$67,$22,$7F .db $03,$00,$00,$1F,$3F,$45,$3F,$7F .db $45,$7F,$FF,$0C,$00,$FF,$C0,$F8 .db $84,$FC,$04,$FC,$9C,$FC,$F2,$FE .db $E6,$22,$FE,$03,$00,$00,$F8,$FC .db $45,$FC,$FE,$45,$FE,$FF,$03,$00 .db $FF,$21,$FE,$43,$80,$FF,$E0,$37 .db $C0,$7F,$F2,$3F,$FE,$2F,$FD,$C3 .db $FC,$01,$1E,$10,$07,$00,$4F,$01 .db $3E,$26,$0C,$0C,$11,$10,$1C,$3C .db $8C,$FE,$9C,$60,$1C,$C0,$08,$E0 .db $00,$F0,$28,$F8,$48,$F8,$10,$F0 .db $E0,$E0,$54,$5E,$D4,$FE,$08,$1E .db $30,$0E,$50,$04,$B0,$34,$E0,$E8 .db $29,$00,$07,$0F,$0F,$30,$38,$07 .db $07,$3F,$3F,$26,$00,$08,$0F,$0F .db $3F,$38,$7F,$00,$F8,$00,$C0,$27 .db $00,$07,$80,$80,$60,$60,$10,$10 .db $E8,$E8,$26,$00,$08,$80,$80,$E0 .db $60,$F0,$10,$F8,$08,$1C,$3E,$00 .db $00,$33,$3E,$00,$00,$FF,$23,$00 .db $02,$03,$03,$01,$62,$01,$05,$00 .db $03,$05,$07,$1F,$1F,$22,$00,$04 .db $07,$03,$07,$01,$03,$43,$03,$07 .db $1B,$07,$1F,$1F,$7F,$00,$00,$04 .db $06,$00,$1E,$F0,$FE,$08,$FC,$C8 .db $FC,$D2,$FA,$84,$F4,$00,$07,$06 .db $1F,$1E,$FF,$FE,$FF,$43,$FC,$FE .db $04,$F8,$FC,$F0,$F8,$00,$83,$04 .db $59,$00,$1E,$43,$0F,$1F,$05,$06 .db $0F,$00,$06,$02,$06,$23,$00,$00 .db $01,$25,$00,$00,$01,$43,$01,$07 .db $0F,$0C,$0C,$1E,$D3,$5E,$83,$5E .db $9B,$16,$8F,$1C,$07,$DC,$07,$D8 .db $13,$22,$00,$14,$60,$30,$30,$00 .db $B0,$50,$F8,$D2,$F8,$32,$38,$22 .db $3C,$00,$18,$1C,$35,$1D,$3F,$3E .db $7E,$43,$3C,$7C,$01,$04,$3E,$83 .db $02,$D6,$05,$08,$01,$00,$03,$01 .db $03,$43,$03,$07,$02,$01,$0F,$03 .db $84,$08,$DF,$05,$D6,$0B,$DA,$1F .db $16,$0F,$85,$08,$EA,$22,$00,$05 .db $E0,$38,$30,$04,$30,$D0,$86,$08 .db $F9,$24,$00,$06,$03,$02,$66,$24 .db $7C,$34,$5C,$43,$34,$7C,$24,$00 .db $05,$03,$01,$07,$03,$0F,$23,$44 .db $0F,$03,$83,$08,$E0,$03,$DE,$03 .db $DE,$1B,$87,$09,$28,$22,$00,$03 .db $E0,$30,$30,$00,$88,$09,$37,$05 .db $18,$1F,$3E,$2E,$7F,$64,$44,$FF .db $82,$04,$84,$7C,$7C,$70,$D8,$84 .db $01,$D1,$00,$03,$43,$00,$01,$03 .db $03,$03,$00,$03,$83,$00,$1E,$00 .db $30,$46,$00,$F8,$01,$E0,$04,$84 .db $04,$AC,$0E,$60,$30,$F8,$18,$FC .db $08,$FC,$18,$FC,$E0,$FC,$00,$FC .db $C0,$FC,$85,$09,$80,$44,$FF,$82 .db $02,$84,$7C,$7C,$85,$04,$CE,$01 .db $03,$03,$43,$00,$01,$83,$09,$9A .db $83,$00,$5E,$00,$70,$46,$00,$F8 .db $83,$09,$AA,$04,$38,$3C,$E0,$60 .db $70,$8C,$09,$B3,$03,$0F,$0F,$07 .db $07,$25,$03,$23,$01,$22,$00,$02 .db $30,$00,$08,$46,$00,$04,$43,$02 .db $00,$02,$03,$F0,$F0,$25,$FC,$23 .db $FE,$01,$06,$06,$22,$00,$00,$0C .db $46,$00,$02,$43,$01,$00,$0A,$F9 .db $00,$07,$30,$33,$0C,$0C,$07,$07 .db $01,$01,$27,$00,$09,$03,$CF,$00 .db $33,$00,$08,$00,$06,$00,$01,$25 .db $00,$07,$CC,$FE,$28,$FC,$00,$38 .db $C0,$C0,$27,$00,$09,$FE,$FF,$FC .db $FF,$38,$FE,$00,$3C,$00,$F8,$25 .db $00,$05,$3E,$3F,$00,$1E,$01,$01 .db $29,$00,$05,$3F,$FF,$1E,$7F,$00 .db $3E,$29,$00,$05,$08,$C8,$30,$30 .db $80,$80,$29,$00,$03,$C0,$F0,$00 .db $C0,$2B,$00,$01,$02,$06,$43,$02 .db $0E,$0B,$01,$1F,$09,$1F,$08,$3F .db $1E,$2F,$00,$1E,$01,$07,$43,$01 .db $0F,$01,$00,$0F,$43,$00,$07,$07 .db $10,$01,$00,$00,$10,$1B,$14,$0B .db $43,$3C,$03,$0A,$BE,$83,$FC,$C3 .db $3C,$C3,$1C,$12,$C2,$FC,$D7,$43 .db $FE,$E7,$02,$FF,$61,$FD,$43,$20 .db $FC,$11,$00,$24,$02,$6E,$26,$7E .db $32,$5E,$31,$7F,$39,$7F,$18,$3F .db $18,$3D,$00,$18,$43,$01,$0F,$00 .db $21,$43,$0F,$00,$43,$07,$00,$86 .db $0A,$DD,$43,$3C,$03,$8A,$0A,$E8 .db $43,$FE,$E7,$02,$FF,$61,$FD,$43 .db $20,$FC,$01,$00,$24,$45,$36,$7E .db $05,$07,$7F,$03,$07,$00,$03,$23 .db $00,$45,$01,$0F,$84,$02,$94,$00 .db $03,$23,$00,$83,$0A,$E0,$43,$3C .db $03,$8A,$0A,$E8,$43,$FE,$E7,$02 .db $FF,$61,$FD,$43,$20,$FC,$0B,$00 .db $24,$78,$FC,$7B,$FF,$78,$FF,$30 .db $78,$00,$30,$25,$00,$00,$03,$44 .db $07,$00,$29,$00,$07,$70,$7E,$E6 .db $FF,$0E,$FF,$1E,$7D,$83,$06,$A8 .db $23,$00,$85,$02,$72,$01,$02,$60 .db $27,$00,$85,$02,$40,$04,$78,$FD .db $78,$FC,$18,$8C,$02,$4B,$27,$00 .db $83,$02,$60,$00,$C0,$85,$02,$65 .db $00,$DC,$8D,$02,$6C,$00,$20,$24 .db $00,$00,$10,$84,$09,$81,$44,$FF .db $82,$02,$84,$7C,$7C,$85,$00,$8E .db $01,$03,$03,$43,$00,$01,$83,$09 .db $9A,$83,$00,$9E,$00,$70,$46,$00 .db $F8,$86,$09,$EA,$00,$E0,$8D,$09 .db $F2,$85,$00,$40,$09,$0F,$09,$00 .db $60,$33,$D0,$1B,$F8,$18,$F8,$85 .db $05,$50,$09,$06,$1F,$13,$1F,$2C .db $0C,$04,$04,$07,$07,$89,$00,$20 .db $43,$7F,$41,$8B,$00,$2E,$23,$80 .db $85,$00,$3E,$05,$01,$02,$19,$69 .db $24,$FC,$45,$26,$FE,$86,$05,$50 .db $02,$07,$03,$03,$25,$01,$84,$00 .db $60,$0A,$C0,$FC,$80,$7C,$58,$3C .db $24,$7E,$42,$FE,$C2,$84,$00,$70 .db $06,$FC,$24,$FE,$A4,$E6,$C0,$C2 .db $83,$00,$F6,$01,$F8,$F8,$43,$FF .db $A0,$03,$7F,$50,$1C,$1C,$43,$13 .db $20,$04,$10,$30,$00,$07,$00,$24 .db $03,$01,$00,$33,$43,$0C,$2C,$04 .db $0F,$3F,$08,$68,$80,$44,$00,$F8 .db $12,$F0,$04,$04,$06,$04,$07,$05 .db $07,$60,$F0,$00,$F8,$98,$FC,$F8 .db $FC,$F0,$FC,$08,$44,$FE,$F8,$09 .db $08,$0F,$7E,$6E,$7B,$54,$7F,$49 .db $00,$00,$43,$13,$20,$83,$00,$4E .db $01,$10,$11,$85,$04,$94,$43,$0C .db $2C,$E0,$21,$0F,$3F,$18,$F8,$78 .db $08,$FC,$88,$F8,$89,$F1,$93,$E3 .db $E3,$02,$03,$06,$07,$E0,$E0,$70 .db $F4,$04,$04,$00,$04,$0C,$0E,$1C .db $1E,$FC,$FF,$F8,$FF,$88,$0C,$40 .db $00,$00,$43,$13,$20,$87,$05,$4E .db $03,$06,$1F,$13,$3F,$43,$0C,$2C .db $83,$00,$5E,$09,$7A,$02,$3F,$C1 .db $FF,$81,$1E,$06,$05,$05,$23,$07 .db $0B,$E0,$E0,$70,$FC,$00,$F0,$60 .db $E0,$00,$E0,$E0,$F8,$44,$F8,$FE .db $E0,$28,$9F,$E0,$86,$DF,$87,$3C .db $04,$78,$09,$70,$10,$00,$3E,$00 .db $22,$04,$04,$00,$1F,$18,$3F,$03 .db $FF,$46,$FF,$6F,$FF,$01,$7F,$1D .db $3F,$0E,$E0,$0E,$60,$FC,$E0,$3C .db $20,$1C,$90,$43,$08,$0C,$0B,$00 .db $7C,$2E,$3F,$02,$FF,$14,$FF,$C4 .db $FE,$64,$FE,$43,$F0,$FC,$0A,$80 .db $FC,$00,$00,$30,$30,$67,$7F,$4F .db $7F,$1F,$22,$3F,$23,$1F,$03,$00 .db $30,$30,$7F,$43,$7F,$FF,$43,$3F .db $7F,$43,$1F,$3F,$04,$00,$00,$20 .db $F0,$80,$46,$E0,$C0,$43,$E0,$F0 .db $03,$00,$FC,$F0,$F8,$47,$E0,$F0 .db $43,$F0,$F8,$03,$08,$18,$04,$0C .db $85,$07,$04,$01,$07,$0D,$83,$03 .db $D6,$02,$07,$1F,$03,$43,$0F,$00 .db $03,$07,$00,$00,$02,$24,$00,$06 .db $30,$38,$70,$78,$E0,$F0,$00,$44 .db $E0,$C0,$85,$07,$2C,$00,$80,$84 .db $07,$33,$27,$00,$05,$1C,$FC,$1E .db $FE,$03,$77,$84,$05,$81,$84,$0E .db $0B,$02,$03,$07,$01,$43,$07,$00 .db $03,$03,$00,$00,$02,$24,$00,$01 .db $3C,$3C,$84,$0E,$22,$44,$E0,$C0 .db $84,$07,$2C,$00,$E0,$85,$0E,$32 .db $27,$00,$03,$05,$FF,$03,$7F,$83 .db $07,$42,$28,$00,$02,$01,$00,$03 .db $83,$07,$52,$27,$00,$03,$FC,$E4 .db $F8,$F8,$83,$0A,$B0,$28,$00,$06 .db $C0,$00,$E0,$00,$F0,$00,$C0,$27 .db $00,$03,$08,$18,$0C,$1C,$83,$03 .db $00,$27,$00,$01,$07,$1F,$84,$07 .db $50,$00,$07,$27,$00,$09,$0F,$0F .db $1E,$1F,$FF,$FF,$FC,$FF,$00,$FC .db $25,$00,$02,$F0,$FE,$E0,$45,$FF .db $00,$00,$FC,$25,$00,$87,$0E,$C0 .db $27,$00,$87,$0E,$D0,$27,$00,$0B .db $0C,$0E,$1A,$1F,$FC,$FF,$F1,$FF .db $03,$FF,$00,$3F,$23,$00,$02,$F0 .db $FE,$E0,$43,$FF,$00,$83,$03,$AB .db $00,$3C,$23,$00,$87,$0E,$C0,$27 .db $00,$87,$0E,$D0,$27,$00,$04,$0E .db $0F,$1E,$1F,$FC,$83,$05,$7D,$02 .db $FE,$00,$1C,$23,$00,$02,$F0,$FF .db $E0,$47,$FF,$00,$00,$1C,$23,$00 .db $0B,$20,$72,$23,$6F,$30,$73,$58 .db $7C,$30,$7C,$00,$3C,$23,$00,$09 .db $0D,$7F,$10,$7F,$0C,$7F,$00,$3C .db $00,$0C,$26,$00,$18,$46,$88,$CE .db $04,$BE,$3C,$7E,$00,$3C,$38,$7C .db $3C,$7E,$00,$3E,$B8,$FE,$30,$FE .db $40,$FE,$00,$7E,$00,$3C,$25,$00 .db $02,$0F,$0F,$06,$83,$0B,$49,$22 .db $01,$83,$04,$46,$84,$07,$0E,$02 .db $0F,$03,$07,$43,$01,$03,$0A,$00 .db $01,$01,$03,$00,$03,$10,$F8,$00 .db $F8,$60,$44,$F8,$F0,$05,$E0,$F0 .db $C0,$E0,$00,$00,$49,$F8,$FC,$85 .db $07,$22,$01,$80,$B0,$43,$80,$A0 .db $01,$00,$40,$27,$00,$01,$30,$78 .db $43,$20,$70,$05,$40,$E0,$00,$C0 .db $00,$80,$23,$00,$01,$03,$03,$83 .db $05,$8A,$23,$3F,$23,$7F,$01,$61 .db $61,$85,$10,$21,$43,$3F,$7F,$43 .db $7F,$FF,$01,$61,$FF,$85,$02,$A0 .db $0C,$E0,$F8,$C0,$F0,$80,$F0,$00 .db $60,$00,$80,$C0,$FC,$80,$45,$F8 .db $00,$43,$F0,$00,$07,$E0,$00,$80 .db $FF,$FF,$BD,$FF,$DB,$44,$FF,$E7 .db $02,$DB,$FF,$BD,$32,$FF,$03,$00 .db $00,$20,$30,$43,$30,$3C,$23,$1E .db $23,$1F,$03,$00,$30,$30,$7C,$43 .db $3C,$7E,$43,$1E,$3F,$43,$1F,$3F .db $3C,$00,$43,$80,$00,$0E,$00,$03 .db $03,$3F,$3F,$3E,$3F,$63,$7F,$40 .db $7F,$1C,$7F,$3F,$7F,$83,$10,$C1 .db $43,$3F,$7F,$47,$7F,$FF,$83,$07 .db $AE,$83,$07,$22,$02,$60,$F0,$40 .db $43,$E0,$00,$02,$C0,$00,$FF,$83 .db $08,$BA,$43,$F0,$F8,$43,$E0,$F0 .db $01,$C0,$E0,$2D,$00,$01,$60,$60 .db $2C,$00,$02,$E0,$60,$F0,$E4,$27 .db $00,$83,$0A,$0C,$03,$04,$07,$7F .db $7F,$24,$00,$00,$02,$83,$09,$14 .db $05,$00,$0F,$07,$7F,$7F,$FF,$24 .db $00,$43,$04,$00,$1A,$08,$E0,$F0 .db $08,$E8,$18,$D8,$00,$08,$00,$0C .db $04,$0E,$04,$9E,$08,$FE,$F0,$FE .db $E0,$F4,$C0,$E4,$00,$00,$78,$78 .db $25,$FF,$08,$7F,$7F,$BF,$BF,$CE .db $DF,$00,$78,$78,$26,$FF,$83,$0D .db $D6,$01,$1F,$3F,$25,$00,$83,$05 .db $A2,$05,$C0,$E0,$80,$F0,$00,$F0 .db $24,$00,$02,$C0,$C0,$E0,$43,$E0 .db $F0,$43,$F0,$F8,$2D,$00,$01,$78 .db $78,$2C,$00,$02,$78,$78,$FF,$3F .db $00,$16,$03,$DF,$1F,$DE,$00,$DF .db $04,$A6,$08,$8E,$08,$8C,$18,$9C .db $F0,$FC,$C0,$E0,$C1,$E0,$C0,$E0 .db $98,$43,$FE,$B0,$04,$FC,$A0,$FC .db $00,$3C,$23,$00,$85,$10,$20,$23 .db $3F,$01,$7F,$7F,$22,$00,$86,$10 .db $20,$43,$3F,$7F,$83,$10,$DE,$83 .db $10,$20,$23,$1F,$25,$3F,$85,$10 .db $1F,$43,$1F,$3F,$45,$3F,$7F,$22 .db $00,$03,$80,$80,$E0,$80,$43,$F0 .db $C0,$43,$F8,$C0,$00,$FC,$83,$08 .db $36,$01,$E0,$F0,$43,$F0,$F8,$43 .db $F8,$FC,$01,$FC,$FE,$43,$1D,$1F .db $0B,$18,$1F,$18,$1D,$3E,$3E,$3A .db $3F,$7C,$7F,$00,$00,$45,$1F,$3F .db $02,$1D,$3F,$3E,$83,$07,$95,$43 .db $FF,$00,$00,$00,$23,$80,$07,$00 .db $80,$00,$40,$C0,$C0,$00,$C0,$22 .db $00,$00,$80,$45,$80,$C0,$00,$40 .db $44,$E0,$C0,$03,$00,$E0,$7F,$7F .db $23,$3F,$0B,$1F,$1F,$1E,$1F,$0C .db $0F,$08,$0E,$00,$00,$7F,$FF,$43 .db $3F,$7F,$43,$1F,$3F,$85,$06,$02 .db $03,$00,$C0,$80,$C0,$43,$00,$80 .db $27,$00,$43,$C0,$E0,$43,$80,$C0 .db $43,$00,$80,$23,$00,$1F,$10,$10 .db $28,$28,$37,$37,$18,$18,$1F,$1F .db $0F,$0F,$03,$03,$00,$00,$10,$78 .db $08,$5F,$07,$4F,$00,$27,$00,$20 .db $00,$10,$00,$0C,$00,$03,$23,$00 .db $05,$80,$82,$60,$64,$80,$98,$83 .db $01,$F8,$22,$00,$10,$02,$00,$83 .db $82,$E7,$64,$FF,$18,$7E,$00,$1E .db $00,$3C,$00,$F0,$00,$1F,$2D,$00 .db $03,$1F,$FF,$00,$1F,$2C,$00,$00 .db $80,$2D,$00,$03,$80,$F8,$00,$80 .db $2B,$00,$07,$C0,$DF,$60,$6C,$63 .db $6B,$67,$67,$22,$FF,$0C,$4F,$FF .db $07,$FF,$87,$1F,$3F,$0C,$9F,$08 .db $9C,$00,$98,$28,$00,$02,$F8,$00 .db $78,$43,$80,$B8,$44,$C0,$D8,$06 .db $D0,$C0,$D0,$F8,$FC,$78,$FC,$43 .db $38,$7C,$43,$18,$3C,$43,$10,$38 .db $29,$FF,$83,$0A,$70,$00,$F0,$30 .db $FF,$22,$00,$03,$C0,$80,$E0,$80 .db $43,$F0,$00,$45,$F8,$00,$84,$11 .db $B5,$43,$F0,$F8,$45,$F8,$FC,$E4 .db $3F,$00,$30,$7F,$4E,$FF,$7F,$44 .db $E0,$FC,$43,$FE,$E0,$00,$FA,$45 .db $E2,$FB,$43,$FC,$FE,$43,$FE,$FF .db $47,$F8,$FC,$83,$02,$4E,$23,$1F .db $0B,$0F,$0F,$09,$0F,$0B,$0F,$03 .db $07,$00,$FF,$3F,$7F,$43,$1F,$3F .db $45,$0F,$1F,$01,$07,$0F,$22,$00 .db $00,$06,$43,$FC,$FE,$0A,$3C,$FE .db $98,$FC,$C8,$FC,$E8,$FC,$00,$06 .db $06,$46,$FF,$FE,$45,$FC,$FE,$06 .db $00,$00,$0C,$0F,$01,$07,$03,$24 .db $07,$23,$0F,$03,$00,$3F,$0F,$1F .db $47,$07,$0F,$43,$0F,$1F,$22,$00 .db $04,$E0,$E4,$FE,$F0,$FE,$43,$F8 .db $FC,$43,$F0,$F8,$02,$00,$E0,$E0 .db $44,$FF,$FE,$43,$FC,$FE,$43,$F8 .db $FC,$00,$00,$44,$00,$07,$01,$00 .db $1F,$44,$00,$3F,$08,$1F,$06,$01 .db $00,$07,$01,$0E,$05,$0C,$25,$00 .db $23,$01,$83,$01,$A0,$0B,$70,$00 .db $38,$C0,$0C,$F0,$04,$F8,$06,$F8 .db $C2,$3C,$83,$01,$A1,$05,$C0,$78 .db $38,$3C,$0C,$0E,$83,$05,$6A,$11 .db $22,$23,$05,$FD,$07,$FE,$07,$FC .db $0F,$F8,$0F,$FC,$1F,$E3,$7E,$C6 .db $86,$86,$43,$98,$88,$1B,$18,$18 .db $B0,$30,$C0,$C0,$C4,$DC,$B9,$B9 .db $01,$7B,$C0,$C0,$E0,$78,$F8,$3C .db $FC,$3E,$EE,$7F,$B6,$BF,$60,$7E .db $C0,$F8,$29,$00,$01,$40,$70,$83 .db $02,$B2,$27,$00,$03,$01,$01,$03 .db $03,$83,$10,$24,$24,$00,$43,$01 .db $00,$06,$02,$00,$1C,$00,$60,$00 .db $40,$23,$00,$23,$A0,$25,$B0,$01 .db $70,$70,$83,$0E,$B0,$43,$20,$70 .db $45,$30,$78,$01,$70,$F8,$25,$00 .db $01,$01,$01,$27,$05,$84,$0E,$90 .db $43,$07,$01,$46,$0B,$01,$27,$00 .db $01,$90,$90,$25,$F0,$26,$00,$01 .db $98,$90,$46,$F8,$F0,$29,$00,$05 .db $0F,$00,$0D,$00,$00,$3F,$28,$00 .db $04,$0F,$04,$1B,$07,$11,$2B,$00 .db $00,$80,$83,$0E,$B2,$29,$00,$06 .db $80,$00,$E0,$80,$F0,$D0,$F8,$25 .db $7F,$23,$3F,$05,$31,$31,$30,$30 .db $24,$24,$45,$7F,$FF,$43,$3F,$7F .db $06,$31,$7F,$30,$7F,$23,$7F,$C2 .db $44,$FF,$C0,$43,$84,$FF,$43,$00 .db $FF,$00,$04,$83,$14,$77,$01,$FD .db $F8,$48,$FF,$F0,$01,$70,$FF,$29 .db $07,$05,$0F,$0F,$0E,$0F,$00,$00 .db $49,$07,$0F,$43,$0F,$1F,$05,$00 .db $1F,$E0,$F8,$F0,$F8,$43,$E0,$F0 .db $83,$12,$F2,$23,$00,$43,$F8,$FC .db $43,$F0,$F8,$84,$0F,$EA,$09,$C0 .db $00,$80,$18,$1F,$10,$1F,$06,$1F .db $0F,$22,$1F,$01,$0E,$0F,$83,$0A .db $2C,$49,$1F,$3F,$84,$08,$C8,$01 .db $07,$E0,$83,$10,$E9,$00,$C0,$43 .db $00,$80,$25,$00,$85,$0F,$E8,$43 .db $80,$C0,$01,$00,$80,$23,$00,$03 .db $04,$03,$14,$1B,$43,$10,$1F,$83 .db $15,$0A,$00,$04,$83,$0C,$97,$06 .db $00,$09,$00,$0F,$01,$0F,$0F,$23 .db $00,$83,$13,$0C,$43,$40,$BF,$E0 .db $23,$00,$FF,$81,$FF,$01,$FF,$03 .db $FC,$0F,$F8,$F0,$F0,$33,$31,$33 .db $11,$E3,$83,$36,$06,$18,$18,$78 .db $1B,$F7,$F7,$00,$0F,$6F,$EF,$1F .db $F7,$24,$5B,$00,$1F,$27,$00,$07 .db $10,$FF,$00,$F7,$00,$5B,$00,$1F .db $27,$00,$00,$80,$83,$07,$35,$00 .db $C0,$2A,$00,$84,$17,$61,$29,$00 .db $23,$3F,$23,$7E,$03,$7D,$7D,$7A .db $7A,$24,$00,$43,$40,$00,$08,$81 .db $00,$81,$01,$83,$02,$87,$00,$FE .db $83,$01,$40,$01,$60,$60,$83,$01 .db $F8,$01,$80,$80,$25,$00,$02,$70 .db $F8,$60,$87,$16,$A5,$00,$80,$23 .db $00,$01,$05,$05,$23,$02,$01,$03 .db $03,$23,$01,$23,$00,$01,$01,$0B .db $44,$00,$05,$00,$04,$44,$00,$02 .db $02,$01,$00,$00,$25,$F0,$01,$78 .db $78,$23,$B8,$03,$58,$58,$00,$00 .db $45,$F0,$F8,$01,$78,$FC,$43,$38 .db $7C,$09,$18,$BC,$00,$7C,$00,$7F .db $00,$0F,$30,$3F,$43,$40,$7F,$83 .db $15,$0A,$03,$03,$07,$00,$00,$22 .db $0A,$04,$00,$3F,$00,$3E,$3E,$84 .db $0F,$CA,$04,$04,$38,$C0,$00,$F8 .db $43,$08,$FC,$43,$00,$FC,$13,$10 .db $F8,$F8,$E8,$38,$3C,$88,$84,$D4 .db $42,$94,$06,$D8,$0A,$70,$30,$E0 .db $E0,$10,$10,$27,$00,$43,$0F,$00 .db $03,$07,$78,$01,$FE,$26,$00,$08 .db $0F,$0F,$17,$04,$13,$06,$07,$01 .db $01,$29,$00,$84,$0E,$B1,$29,$00 .db $06,$C0,$C0,$E0,$20,$F0,$10,$F8 .db $85,$17,$0C,$0B,$1B,$01,$39,$00 .db $01,$04,$00,$0C,$08,$18,$03,$01 .db $22,$00,$E0,$2A,$1F,$00,$1F,$3A .db $3E,$02,$3E,$03,$0F,$07,$1F,$06 .db $F0,$EE,$E0,$1C,$00,$02,$03,$86 .db $07,$84,$06,$00,$0E,$00,$0A,$F2 .db $FF,$06,$1F,$C4,$FE,$E0,$FF,$78 .db $7F,$78,$7E,$F0,$FE,$F4,$FE,$27 .db $00,$07,$03,$00,$0D,$00,$18,$07 .db $10,$0F,$26,$00,$08,$03,$01,$0E .db $0A,$1C,$10,$38,$10,$30,$27,$00 .db $07,$40,$00,$B0,$00,$18,$E0,$08 .db $F0,$26,$00,$09,$C0,$80,$70,$50 .db $38,$08,$1C,$08,$0C,$00,$44,$00 .db $07,$01,$00,$1F,$44,$00,$3F,$88 .db $15,$0D,$25,$00,$23,$01,$0B,$33 .db $3F,$CC,$0F,$77,$07,$3B,$C3,$0D .db $F1,$05,$F9,$83,$15,$2C,$08,$33 .db $FF,$00,$F3,$C0,$78,$30,$3C,$08 .db $86,$15,$39,$03,$00,$00,$7C,$7C .db $2B,$FF,$02,$00,$7C,$7C,$2C,$FF .db $23,$00,$01,$80,$80,$22,$E0,$43 .db $F0,$C0,$02,$F8,$80,$F8,$22,$00 .db $84,$12,$71,$43,$F0,$F8,$43,$F8 .db $FC,$34,$00,$4A,$01,$00,$23,$00 .db $23,$80,$01,$C0,$C0,$23,$E0,$01 .db $70,$70,$43,$00,$80,$43,$80,$C0 .db $01,$C0,$E0,$43,$E0,$F0,$01,$70 .db $F8,$23,$00,$01,$07,$07,$24,$0F .db $04,$1F,$07,$1F,$31,$3F,$22,$00 .db $02,$07,$07,$0F,$43,$0F,$1F,$43 .db $1F,$3F,$01,$3F,$7F,$23,$00,$01 .db $E0,$E0,$23,$F0,$05,$F8,$F8,$F0 .db $F8,$E4,$FC,$22,$00,$02,$E0,$E0 .db $F0,$43,$F0,$F8,$43,$F8,$FC,$0D .db $FC,$FE,$01,$09,$0B,$70,$2B,$D0 .db $23,$FB,$13,$7F,$10,$7B,$83,$02 .db $08,$06,$06,$0F,$04,$14,$24,$04 .db $04,$84,$0B,$57,$23,$00,$03,$F8 .db $88,$F8,$8C,$43,$FC,$CE,$03,$F4 .db $FE,$0C,$D6,$83,$03,$BC,$01,$30 .db $70,$22,$00,$43,$80,$00,$02,$C8 .db $08,$C0,$24,$00,$06,$3F,$0C,$03 .db $04,$0B,$84,$FB,$43,$80,$FF,$03 .db $00,$7F,$00,$3F,$23,$00,$17,$02 .db $02,$72,$02,$7C,$00,$76,$70,$03 .db $00,$07,$03,$F8,$00,$7C,$80,$0C .db $F0,$2E,$F0,$26,$F0,$02,$F8,$43 .db $00,$FC,$17,$88,$FC,$44,$7E,$34 .db $0E,$52,$1F,$56,$1F,$F2,$37,$80 .db $82,$80,$80,$00,$F0,$61,$B1,$77 .db $FF,$34,$7F,$83,$13,$B6,$84,$02 .db $4C,$02,$1F,$4E,$0F,$43,$00,$07 .db $27,$00,$07,$14,$1E,$F8,$FC,$E0 .db $F8,$00,$E0,$27,$00,$00,$E0,$83 .db $03,$AB,$02,$F8,$00,$E0,$28,$00 .db $0A,$1F,$06,$39,$04,$7B,$44,$FB .db $40,$FF,$70,$7F,$43,$F8,$8F,$0B .db $00,$20,$01,$01,$59,$50,$99,$80 .db $8F,$84,$03,$03,$24,$00,$07,$F8 .db $60,$9C,$20,$DE,$22,$DF,$02,$83 .db $07,$73,$11,$FC,$0E,$FE,$00,$04 .db $80,$80,$9A,$0A,$99,$01,$F1,$21 .db $CA,$C2,$08,$00,$10,$84,$16,$FF .db $43,$10,$1F,$8F,$17,$08,$23,$00 .db $83,$13,$0C,$43,$40,$BF,$9B,$17 .db $24,$0F,$FE,$FF,$70,$FF,$00,$7E .db $81,$BD,$83,$BB,$C3,$DB,$44,$54 .db $00,$10,$23,$FF,$03,$7E,$FF,$3C .db $7E,$83,$13,$B6,$04,$10,$BB,$10 .db $7C,$00,$83,$1A,$6B,$0A,$3C,$C0 .db $DC,$E0,$EC,$E0,$E8,$60,$68,$20 .db $28,$83,$07,$B0,$0B,$3C,$FE,$1C .db $3E,$0C,$1E,$08,$1C,$08,$9C,$08 .db $5C,$30,$00,$4E,$01,$00,$23,$B0 .db $25,$D0,$05,$A0,$A0,$40,$40,$00 .db $00,$43,$30,$78,$45,$10,$38,$85 .db $10,$14,$06,$3F,$3F,$3C,$3F,$3F .db $7F,$1F,$44,$7F,$00,$23,$00,$43 .db $3F,$7F,$47,$7F,$FF,$83,$03,$5C .db $06,$8C,$FC,$1C,$FC,$F8,$FE,$E0 .db $44,$FE,$00,$23,$00,$43,$FC,$FE .db $47,$FE,$FF,$01,$00,$FF,$29,$00 .db $00,$0F,$83,$06,$CC,$02,$3F,$00 .db $7F,$26,$00,$04,$0F,$02,$1D,$0B .db $18,$2B,$00,$83,$16,$2A,$03,$70 .db $80,$18,$E0,$26,$00,$84,$16,$39 .db $03,$60,$78,$10,$1C,$85,$18,$00 .db $43,$40,$7F,$87,$18,$0A,$22,$0A .db $8E,$18,$15,$43,$08,$FC,$43,$00 .db $FC,$03,$30,$F8,$E0,$C0,$8B,$18 .db $30,$03,$C0,$C0,$20,$30,$27,$00 .db $00,$03,$44,$00,$1F,$00,$3F,$27 .db $00,$08,$03,$03,$1F,$18,$3F,$10 .db $3F,$20,$7F,$27,$00,$00,$C0,$44 .db $00,$F0,$00,$F8,$27,$00,$19,$C0 .db $C0,$F0,$30,$F8,$10,$F8,$18,$FC .db $F0,$9F,$F3,$8C,$DF,$9F,$30,$10 .db $60,$26,$20,$60,$00,$78,$40,$C8 .db $08,$84,$15,$05,$0D,$0F,$FF,$19 .db $FF,$1F,$FF,$07,$7F,$37,$FF,$03 .db $E2,$3F,$C1,$43,$FF,$80,$E0,$23 .db $78,$60,$30,$38,$10,$18,$00,$F8 .db $60,$7C,$00,$FE,$00,$FF,$07,$FF .db $98,$FF,$C0,$F8,$E0,$F8,$00,$F8 .db $38,$38,$7C,$44,$FE,$A2,$F0,$A0 .db $EF,$80,$6E,$60,$83,$1C,$0C,$26 .db $00,$85,$1C,$17,$00,$40,$29,$00 .db $87,$1C,$28,$26,$00,$88,$1C,$37 .db $25,$00,$85,$04,$57,$23,$1F,$24 .db $00,$86,$1D,$46,$43,$1F,$3F,$23 .db $00,$01,$3C,$3C,$29,$FF,$22,$00 .db $01,$3C,$3C,$2A,$FF,$25,$00,$22 .db $80,$02,$E0,$C0,$F0,$43,$C0,$F8 .db $24,$00,$86,$12,$71,$43,$F8,$FC .db $23,$00,$83,$05,$82,$01,$0F,$0F .db $23,$1F,$01,$3F,$3F,$22,$00,$86 .db $1D,$A4,$43,$1F,$3F,$83,$12,$5E .db $02,$FC,$FE,$FC,$48,$FF,$FE,$04 .db $FC,$FF,$00,$FE,$FE,$2C,$FF,$24 .db $00,$00,$80,$44,$00,$C0,$43,$E0 .db $00,$00,$F0,$22,$00,$02,$80,$80 .db $C0,$43,$C0,$E0,$43,$E0,$F0,$0C .db $F0,$F8,$00,$7F,$0D,$32,$08,$07 .db $28,$37,$20,$3F,$21,$83,$1C,$0D .db $02,$3F,$00,$00,$22,$02,$06,$00 .db $12,$00,$1F,$03,$1E,$1E,$23,$00 .db $09,$0C,$F0,$8C,$70,$80,$7E,$82 .db $7F,$02,$FF,$44,$00,$FE,$12,$FC .db $0C,$0E,$4C,$4E,$66,$62,$65,$21 .db $C5,$05,$6E,$0E,$38,$38,$F0,$30 .db $01,$09,$43,$0B,$10,$0B,$03,$13 .db $05,$0F,$02,$07,$05,$0A,$00,$0F .db $06,$0F,$43,$04,$14,$00,$0C,$84 .db $03,$D5,$00,$05,$22,$00,$05,$F0 .db $80,$F0,$F0,$F8,$88,$43,$F8,$C8 .db $85,$02,$A8,$03,$30,$F8,$00,$88 .db $22,$00,$02,$80,$00,$80,$25,$00 .db $43,$3F,$00,$43,$1F,$00,$06,$8F .db $C0,$80,$F0,$80,$FF,$60,$44,$7F .db $20,$09,$10,$7F,$1F,$7F,$0F,$3F .db $40,$0F,$60,$40,$83,$03,$1F,$04 .db $F0,$00,$E4,$04,$EB,$83,$16,$8A .db $0B,$1C,$07,$FC,$0F,$FC,$18,$FC .db $30,$FC,$E0,$F8,$E4,$43,$F0,$00 .db $10,$E0,$18,$00,$30,$00,$47,$CF .db $0D,$FF,$38,$7D,$00,$7C,$3C,$7C .db $00,$78,$23,$00,$00,$30,$43,$FF .db $00,$02,$7D,$00,$3C,$27,$00,$05 .db $10,$98,$10,$9C,$88,$FC,$83,$06 .db $2A,$85,$0F,$AA,$02,$60,$F8,$60 .db $45,$FC,$00,$00,$7C,$26,$00,$03 .db $7F,$0D,$32,$38,$84,$1E,$05,$00 .db $22,$43,$3F,$00,$83,$03,$8D,$08 .db $42,$02,$70,$12,$40,$1F,$03,$1C .db $1C,$23,$00,$89,$1E,$20,$44,$00 .db $FE,$8C,$1E,$2F,$03,$30,$30,$F0 .db $30,$25,$3F,$29,$7F,$45,$3F,$7F .db $48,$7F,$FF,$28,$FF,$02,$FE,$FF .db $F8,$83,$0F,$71,$30,$FF,$00,$C0 .db $44,$FC,$80,$44,$00,$FE,$04,$F6 .db $00,$E2,$00,$EF,$45,$FC,$FE,$43 .db $FE,$FF,$07,$F6,$FF,$E2,$F7,$E0 .db $F0,$3F,$3F,$2B,$7F,$03,$30,$30 .db $3F,$7F,$4B,$7F,$FF,$01,$30,$7F .db $43,$FC,$FF,$43,$F8,$FF,$07,$F0 .db $FF,$F0,$FE,$E0,$FE,$C0,$FD,$29 .db $FF,$43,$FE,$FF,$00,$FD,$83,$0F .db $35,$06,$DF,$06,$BD,$3C,$BE,$00 .db $7C,$43,$18,$1C,$06,$38,$3C,$F0 .db $F0,$C0,$E0,$82,$84,$12,$E1,$43 .db $E0,$FC,$01,$C0,$FC,$25,$00,$43 .db $07,$00,$01,$00,$1F,$43,$00,$3F .db $24,$00,$84,$15,$11,$2B,$00,$02 .db $C0,$00,$60,$84,$1C,$2B,$01,$08 .db $F0,$24,$00,$04,$C0,$00,$E0,$C0 .db $70,$83,$1C,$3C,$01,$08,$0C,$85 .db $18,$00,$43,$40,$7F,$83,$15,$0A .db $03,$3B,$3F,$00,$00,$22,$0A,$8E .db $18,$15,$43,$08,$FC,$43,$00,$FC .db $03,$10,$F8,$E0,$F0,$8D,$18,$30 .db $01,$00,$10,$27,$00,$07,$03,$00 .db $0E,$00,$1C,$03,$18,$07,$26,$00 .db $08,$03,$00,$0F,$09,$1E,$10,$3C .db $10,$38,$27,$00,$07,$80,$00,$D0 .db $00,$08,$F0,$00,$F8,$26,$00,$09 .db $C0,$C0,$30,$30,$18,$00,$0C,$00 .db $04,$F8,$43,$8F,$FF,$08,$84,$FF .db $8E,$FC,$F8,$03,$00,$0B,$18,$83 .db $00,$4E,$22,$00,$01,$03,$01,$22 .db $07,$0E,$04,$7C,$04,$1C,$0F,$3F .db $0B,$F8,$F7,$F0,$CF,$30,$FF,$18 .db $02,$43,$00,$0C,$0C,$02,$04,$06 .db $F1,$F7,$01,$0F,$03,$FF,$E7,$FF .db $0E,$FF,$43,$F0,$F2,$01,$F8,$FE .db $25,$00,$01,$02,$02,$87,$18,$C8 .db $26,$00,$00,$01,$87,$18,$D8,$27 .db $00,$87,$18,$E8,$26,$00,$88,$18 .db $F7,$23,$00,$0B,$01,$00,$0C,$03 .db $10,$0F,$00,$1F,$26,$19,$0A,$35 .db $22,$00,$0C,$03,$02,$0C,$00,$1C .db $00,$30,$03,$23,$29,$69,$01,$41 .db $23,$00,$03,$80,$00,$30,$C0,$83 .db $20,$AC,$03,$64,$98,$50,$AC,$22 .db $00,$0C,$C0,$40,$30,$00,$38,$00 .db $0C,$C0,$C4,$94,$96,$80,$82,$85 .db $18,$00,$43,$40,$7F,$87,$20,$4A .db $22,$0A,$8E,$18,$15,$43,$08,$FC .db $43,$00,$FC,$94,$20,$6C,$84,$18 .db $01,$43,$40,$7F,$87,$20,$4A,$22 .db $0A,$8E,$18,$15,$43,$08,$FC,$43 .db $00,$FC,$03,$10,$F8,$E0,$FE,$90 .db $20,$70,$02,$1F,$0D,$02,$85,$1E .db $04,$05,$22,$3F,$01,$3E,$03,$04 .db $22,$02,$00,$00,$85,$1E,$14,$01 .db $1C,$1C,$22,$00,$04,$38,$0C,$F0 .db $84,$78,$85,$1E,$24,$0B,$40,$FE .db $E0,$3E,$FE,$1C,$4C,$4E,$64,$66 .db $66,$22,$83,$1E,$36,$0D,$2E,$0E .db $10,$10,$00,$03,$F7,$C0,$F7,$80 .db $F7,$87,$7E,$78,$83,$0B,$48,$24 .db $00,$43,$0F,$00,$02,$08,$01,$09 .db $83,$0B,$58,$23,$00,$0B,$A0,$B0 .db $B0,$BC,$7C,$7E,$EE,$FD,$C0,$FF .db $00,$E0,$23,$00,$43,$40,$70,$02 .db $80,$F0,$02,$43,$F0,$00,$00,$E0 .db $24,$00,$E0,$2E,$0F,$03,$1C,$02 .db $3D,$22,$7D,$20,$7F,$00,$3F,$20 .db $3F,$70,$7F,$00,$30,$04,$24,$2C .db $28,$4C,$40,$47,$42,$29,$21,$18 .db $10,$0C,$08,$00,$FC,$30,$CC,$10 .db $EE,$12,$EF,$02,$FF,$05,$FE,$06 .db $FE,$05,$FC,$83,$05,$A0,$17,$CA .db $0B,$C9,$01,$F9,$11,$E2,$E2,$00 .db $01,$08,$03,$23,$63,$26,$67,$FC .db $DE,$08,$FC,$04,$7C,$00,$3C,$23 .db $00,$07,$1C,$7F,$18,$7F,$20,$0E .db $00,$04,$27,$00,$15,$8C,$8E,$58 .db $DC,$18,$5C,$30,$78,$00,$78,$38 .db $7C,$3C,$7A,$00,$3E,$70,$FE,$20 .db $FC,$20,$7C,$44,$00,$78,$01,$00 .db $04,$23,$00,$02,$1F,$06,$19,$85 .db $1A,$C4,$09,$00,$7F,$20,$3F,$10 .db $1F,$00,$20,$01,$21,$85,$1A,$D4 .db $02,$53,$43,$10,$83,$03,$F9,$02 .db $F8,$60,$98,$89,$1A,$E4,$05,$08 .db $F8,$00,$04,$80,$84,$8C,$1A,$F4 .db $06,$BB,$01,$FE,$20,$DF,$40,$BF .db $43,$80,$FF,$0A,$40,$7F,$30,$3F .db $99,$D0,$A6,$A0,$87,$87,$20,$83 .db $01,$99,$0C,$00,$3F,$00,$0F,$03 .db $20,$DD,$80,$7F,$04,$FB,$02,$FD .db $43,$01,$FF,$12,$02,$FE,$0C,$FC .db $99,$0B,$65,$05,$E1,$E1,$04,$00 .db $0E,$00,$3E,$00,$FC,$00,$F0,$43 .db $C0,$F7,$88,$22,$43,$24,$00,$43 .db $0F,$00,$86,$22,$55,$23,$00,$0B .db $A0,$B0,$B0,$BF,$72,$7D,$F4,$FE .db $EE,$FF,$02,$FD,$83,$07,$44,$04 .db $40,$70,$40,$78,$82,$43,$F8,$00 .db $02,$F0,$02,$F0,$23,$00,$8B,$22 .db $40,$24,$00,$43,$0F,$00,$86,$22 .db $55,$23,$00,$15,$B6,$BD,$B4,$BE .db $60,$7C,$F0,$FC,$EC,$FE,$DC,$FE .db $04,$FA,$00,$04,$42,$78,$40,$78 .db $80,$F8,$44,$00,$F0,$02,$E0,$04 .db $E0,$27,$00,$83,$21,$06,$00,$0F .db $43,$00,$1F,$27,$00,$04,$01,$03 .db $0F,$08,$1F,$43,$10,$3F,$27,$00 .db $02,$C0,$00,$F0,$43,$00,$F8,$27 .db $00,$04,$C0,$C0,$F0,$10,$F8,$43 .db $08,$FC,$01,$78,$60,$43,$FF,$80 .db $04,$7F,$40,$19,$18,$12,$87,$0C .db $CB,$24,$07,$03,$01,$27,$0C,$2D .db $84,$0C,$DC,$01,$E8,$00,$44,$00 .db $F8,$87,$0C,$E8,$00,$E0,$89,$0C .db $F1,$44,$FE,$F8,$01,$78,$60,$43 .db $FF,$80,$8C,$24,$46,$24,$07,$8A .db $24,$58,$43,$00,$F8,$01,$01,$F1 .db $22,$07,$84,$0D,$2C,$87,$0C,$F1 .db $02,$FE,$08,$FE,$83,$0D,$3C,$27 .db $00,$87,$1C,$08,$26,$00,$84,$1C .db $17,$2B,$00,$87,$1C,$28,$26,$00 .db $8E,$1C,$37,$43,$40,$7F,$87,$18 .db $0A,$22,$0A,$8E,$18,$15,$43,$08 .db $FC,$43,$00,$FC,$03,$3F,$FF,$FF .db $D1,$8D,$1C,$70,$0B,$00,$20,$0F .db $0F,$1F,$10,$1E,$10,$0E,$08,$05 .db $04,$22,$01,$05,$0F,$0A,$1B,$00 .db $00,$01,$44,$01,$00,$00,$01,$43 .db $03,$00,$09,$01,$04,$00,$2F,$1F .db $C7,$38,$FF,$38,$80,$46,$00,$70 .db $83,$1A,$7E,$05,$00,$FF,$C7,$FF .db $F0,$FF,$25,$8F,$00,$7F,$83,$1A .db $4B,$02,$0F,$30,$3F,$43,$40,$7F .db $87,$18,$0A,$22,$0A,$8E,$18,$15 .db $43,$08,$FC,$43,$00,$FC,$93,$25 .db $2C,$85,$18,$00,$43,$40,$7F,$07 .db $00,$3F,$38,$3F,$F7,$E7,$00,$00 .db $22,$0A,$89,$18,$15,$00,$08,$83 .db $18,$20,$43,$08,$FC,$43,$00,$FC .db $93,$20,$6C,$43,$1F,$00,$06,$4F .db $60,$87,$E0,$80,$F8,$40,$84,$23 .db $0B,$43,$10,$3F,$05,$08,$1F,$47 .db $1F,$40,$47,$83,$03,$D8,$00,$08 .db $44,$00,$F8,$06,$F2,$06,$E1,$07 .db $01,$1F,$02,$84,$23,$2B,$43,$08 .db $FC,$05,$10,$F8,$E2,$F8,$02,$E2 .db $83,$03,$F8,$00,$10,$88,$0E,$BF .db $27,$00,$87,$0E,$D0,$27,$00,$89 .db $0E,$E0,$25,$00,$02,$F0,$FE,$E0 .db $45,$FF,$00,$00,$FC,$25,$00,$87 .db $0E,$C0,$27,$00,$87,$0E,$D0,$27 .db $00,$8B,$0F,$20,$23,$00,$02,$F0 .db $FE,$E0,$43,$FF,$00,$84,$0F,$37 .db $24,$00,$88,$1E,$01,$07,$61,$7F .db $F0,$9F,$F8,$8F,$00,$00,$22,$02 .db $86,$1E,$15,$23,$00,$89,$1E,$20 .db $44,$00,$FE,$90,$1F,$2F,$01,$01 .db $09,$43,$0B,$10,$8B,$1E,$46,$43 .db $04,$14,$86,$1E,$56,$22,$00,$03 .db $FE,$92,$FC,$CC,$43,$F0,$F8,$04 .db $E0,$F8,$F0,$F0,$E0,$43,$F0,$00 .db $02,$E0,$30,$F0,$45,$00,$F8,$25 .db $00,$00,$03,$83,$02,$91,$02,$07 .db $00,$03,$37,$00,$09,$40,$C0,$80 .db $C0,$B0,$F0,$0F,$BF,$00,$0F,$25 .db $00,$04,$3F,$7F,$3F,$3F,$0F,$43 .db $3F,$00,$00,$0F,$25,$00,$9B,$1A .db $00,$23,$00,$03,$FE,$92,$F8,$CC .db $43,$FC,$FE,$00,$C4,$84,$1A,$29 .db $22,$00,$01,$E0,$30,$45,$F0,$00 .db $02,$F8,$08,$C0,$23,$00,$43,$F7 .db $80,$03,$70,$70,$13,$7B,$85,$1A .db $08,$22,$00,$05,$0F,$07,$0F,$00 .db $0F,$04,$43,$07,$00,$00,$03,$23 .db $00,$08,$A0,$38,$B0,$3C,$74,$7E .db $F4,$FE,$CC,$84,$1A,$29,$22,$00 .db $01,$F8,$80,$45,$F8,$00,$02,$F0 .db $08,$C0,$2E,$00,$00,$0F,$43,$00 .db $1F,$39,$00,$05,$60,$80,$30,$C0 .db $18,$E0,$28,$00,$08,$E0,$20,$10 .db $00,$38,$00,$1C,$78,$60,$43,$FF .db $80,$8C,$24,$46,$24,$07,$8A,$24 .db $58,$44,$00,$F8,$02,$F0,$05,$05 .db $24,$07,$8A,$24,$70,$44,$FE,$F8 .db $85,$18,$00,$43,$40,$7F,$87,$25 .db $CA,$22,$0A,$8E,$25,$D5,$43,$08 .db $FC,$43,$00,$FC,$00,$30,$8E,$20 .db $6D,$09,$C0,$C0,$00,$30,$78,$49 .db $7E,$48,$3F,$30,$83,$07,$43,$0E .db $10,$00,$13,$00,$08,$18,$01,$06 .db $04,$07,$08,$0F,$08,$1F,$03,$43 .db $0F,$0C,$00,$0C,$83,$00,$9E,$83 .db $17,$6F,$83,$02,$75,$01,$08,$0C .db $43,$18,$1C,$01,$E0,$60,$83,$01 .db $B2,$04,$18,$FC,$F0,$FC,$00,$44 .db $FC,$E0,$0F,$00,$82,$70,$F7,$00 .db $F7,$18,$E7,$1C,$E3,$04,$FB,$00 .db $FF,$44,$FB,$23,$00,$03,$70,$50 .db $64,$64,$23,$60,$03,$7C,$5C,$20 .db $20,$29,$00,$43,$C0,$00,$00,$80 .db $27,$00,$04,$C0,$00,$C0,$40,$60 .db $43,$C0,$20,$27,$00,$00,$0F,$43 .db $00,$07,$02,$70,$03,$F8,$26,$00 .db $04,$0F,$0F,$1F,$09,$17,$83,$02 .db $94,$27,$00,$83,$1D,$E5,$02,$F0 .db $00,$F8,$27,$00,$83,$00,$3C,$00 .db $F0,$83,$17,$F4,$85,$18,$00,$43 .db $40,$7F,$87,$18,$0A,$22,$0A,$8E .db $18,$15,$43,$08,$FC,$43,$00,$FC .db $94,$1C,$6C,$84,$18,$01,$43,$40 .db $7F,$87,$18,$0A,$22,$0A,$8E,$18 .db $15,$43,$08,$FC,$43,$00,$FC,$03 .db $30,$F8,$FC,$C4,$8E,$25,$30,$0C .db $38,$3B,$3F,$44,$7F,$40,$7F,$41 .db $7E,$00,$FF,$00,$7F,$43,$20,$3F .db $02,$00,$00,$3B,$43,$02,$3E,$00 .db $3E,$83,$1F,$1A,$0B,$1F,$1C,$1F .db $10,$08,$F0,$4C,$B0,$C4,$38,$84 .db $78,$43,$04,$F8,$13,$08,$FC,$10 .db $FC,$08,$0C,$08,$0E,$20,$26,$60 .db $26,$54,$16,$CC,$06,$D4,$46,$EC .db $C4,$43,$08,$18,$83,$03,$00,$27 .db $00,$43,$07,$1F,$83,$02,$94,$27 .db $00,$8B,$0F,$60,$23,$00,$02,$F0 .db $FF,$E0,$47,$FF,$00,$00,$1C,$23 .db $00,$43,$F7,$80,$01,$70,$70,$87 .db $1E,$46,$43,$00,$0F,$83,$27,$D2 .db $86,$1E,$56,$22,$00,$43,$B0,$38 .db $83,$02,$A2,$45,$E0,$F0,$83,$01 .db $B2,$00,$80,$45,$F8,$00,$00,$F0 .db $25,$00,$92,$0E,$00,$43,$0F,$00 .db $83,$0E,$17,$24,$00,$86,$0E,$20 .db $44,$E0,$C0,$8B,$0E,$2C,$27,$00 .db $05,$1C,$E3,$18,$E7,$00,$FF,$43 .db $01,$FE,$00,$06,$44,$F8,$00,$10 .db $20,$00,$64,$24,$7C,$1C,$D8,$99 .db $81,$81,$46,$47,$78,$66,$78,$7C .db $40,$45,$00,$80,$28,$00,$01,$C0 .db $60,$43,$00,$C0,$83,$01,$3A,$26 .db $00,$00,$7E,$83,$03,$D4,$45,$80 .db $FF,$84,$1A,$4C,$83,$11,$49,$15 .db $04,$74,$04,$78,$00,$6D,$60,$07 .db $01,$0F,$07,$FC,$00,$7C,$80,$1E .db $E0,$5E,$E0,$4E,$E0,$0E,$83,$0E .db $B3,$0C,$FC,$3C,$FE,$1C,$7E,$6E .db $1F,$A2,$3F,$AE,$3F,$CE,$5F,$83 .db $06,$CC,$01,$25,$59,$44,$03,$FE .db $04,$FF,$03,$FF,$27,$7F,$83,$03 .db $D6,$01,$26,$13,$24,$00,$43,$01 .db $00,$00,$13,$83,$03,$D6,$0B,$F0 .db $80,$F8,$F8,$FC,$84,$FE,$E2,$FC .db $FC,$80,$E0,$83,$01,$3E,$03,$30 .db $F8,$00,$80,$22,$00,$00,$80,$44 .db $00,$E0,$15,$80,$00,$00,$01,$69 .db $2D,$D0,$2D,$F0,$2F,$FF,$21,$FF .db $00,$61,$01,$02,$00,$03,$06,$0F .db $22,$22,$02,$44,$00,$0F,$01,$00 .db $01,$22,$00,$09,$FE,$C6,$FF,$69 .db $FF,$71,$EF,$F9,$C6,$E6,$43,$E0 .db $F0,$06,$00,$F0,$20,$F8,$10,$70 .db $00,$83,$28,$F1,$00,$E0,$2D,$00 .db $00,$03,$44,$00,$0F,$00,$1F,$27 .db $00,$00,$03,$83,$24,$18,$03,$00 .db $1F,$10,$3F,$27,$00,$02,$C0,$00 .db $F0,$43,$00,$F8,$27,$00,$84,$24 .db $37,$43,$08,$FC,$05,$00,$7F,$10 .db $1F,$30,$3F,$43,$40,$7F,$83,$15 .db $0A,$83,$15,$EE,$22,$0A,$89,$18 .db $15,$00,$0F,$83,$18,$20,$43,$08 .db $FC,$43,$00,$FC,$03,$10,$F8,$80 .db $80,$8E,$20,$70,$00,$70,$85,$2C .db $40,$43,$40,$7F,$83,$15,$0A,$03 .db $0E,$0E,$00,$00,$22,$0A,$89,$18 .db $15,$00,$01,$83,$18,$20,$43,$08 .db $FC,$43,$00,$FC,$03,$10,$F8,$20 .db $30,$8E,$20,$70,$00,$D0,$27,$00 .db $07,$06,$00,$1B,$00,$30,$0F,$20 .db $1F,$26,$00,$08,$07,$03,$1C,$14 .db $38,$20,$70,$20,$60,$27,$00,$07 .db $80,$36,$54,$2A,$18,$E4,$10,$EE .db $26,$00,$04,$80,$00,$C0,$80,$40 .db $24,$00,$84,$2C,$41,$43,$40,$7F .db $83,$15,$0A,$83,$17,$16,$22,$0A .db $89,$18,$15,$00,$00,$83,$18,$20 .db $43,$08,$FC,$43,$00,$FC,$03,$10 .db $F8,$80,$86,$8E,$20,$70,$15,$78 .db $06,$07,$FA,$02,$FC,$00,$FD,$01 .db $03,$03,$06,$0E,$00,$06,$00,$09 .db $00,$FE,$01,$FF,$05,$83,$0E,$E5 .db $0E,$FF,$01,$0F,$01,$07,$06,$0F .db $00,$F8,$30,$04,$24,$26,$04,$06 .db $43,$02,$03,$03,$00,$3F,$02,$23 .db $83,$02,$EE,$03,$C0,$FE,$F8,$FE .db $43,$FC,$FF,$03,$C0,$FF,$DC,$FF .db $E4,$3F,$00,$09,$18,$1F,$0F,$07 .db $1F,$0C,$18,$68,$70,$90,$43,$58 .db $A0,$0B,$10,$70,$07,$07,$00,$18 .db $03,$3F,$14,$1F,$0F,$1F,$43,$07 .db $27,$02,$0F,$3F,$1C,$83,$1C,$FA .db $04,$C0,$78,$40,$28,$30,$43,$60 .db $08,$05,$00,$08,$D8,$FE,$10,$1C .db $83,$1A,$6E,$01,$C8,$F8,$43,$90 .db $98,$01,$F0,$F8,$45,$1F,$00,$01 .db $0F,$20,$83,$26,$06,$03,$A0,$FF .db $60,$7F,$43,$10,$3F,$0A,$18,$3F .db $0F,$5F,$47,$1F,$40,$07,$40,$40 .db $10,$44,$00,$F8,$0B,$F0,$04,$F1 .db $07,$85,$0F,$05,$1F,$07,$FF,$09 .db $FF,$83,$09,$B6,$13,$F0,$FA,$F2 .db $F8,$82,$F0,$02,$E2,$08,$00,$16 .db $06,$F7,$80,$77,$40,$30,$30,$06 .db $08,$83,$0B,$48,$24,$00,$84,$27 .db $D1,$85,$22,$56,$23,$00,$83,$10 .db $82,$87,$22,$64,$23,$00,$43,$40 .db $F0,$02,$80,$F0,$02,$43,$F0,$00 .db $00,$E0,$23,$00,$06,$1E,$10,$1F .db $12,$1E,$1E,$03,$84,$2E,$47,$24 .db $00,$22,$01,$03,$00,$01,$04,$0C .db $83,$0B,$58,$23,$00,$03,$A0,$30 .db $B0,$3F,$89,$23,$A4,$22,$00,$03 .db $F0,$80,$F8,$02,$43,$F8,$00,$02 .db $F0,$02,$F0,$24,$00,$02,$3F,$0C .db $33,$43,$08,$F7,$43,$00,$FF,$83 .db $26,$0A,$0B,$00,$40,$03,$43,$B3 .db $A0,$B3,$80,$9F,$88,$A7,$87,$83 .db $13,$19,$08,$06,$F9,$DA,$25,$50 .db $AF,$5E,$A1,$00,$46,$E0,$0C,$27 .db $00,$0B,$E0,$5E,$88,$9E,$08,$1E .db $28,$1E,$01,$05,$01,$09,$43,$05 .db $08,$83,$0B,$48,$23,$00,$03,$02 .db $06,$06,$0E,$43,$02,$0A,$83,$0B .db $58,$23,$00,$05,$BA,$01,$B4,$06 .db $80,$0C,$89,$23,$E6,$05,$02,$C4 .db $80,$C8,$00,$78,$44,$00,$F0,$02 .db $E0,$04,$E0,$22,$00,$09,$70,$21 .db $B1,$33,$FB,$3A,$7F,$18,$7E,$08 .db $87,$1A,$8B,$00,$1F,$84,$1A,$16 .db $00,$06,$25,$00,$07,$1C,$3F,$E0 .db $FE,$70,$FC,$00,$70,$27,$00,$00 .db $C0,$85,$0F,$35,$00,$70,$31,$00 .db $84,$24,$08,$29,$00,$85,$24,$08 .db $00,$3F,$29,$00,$84,$01,$B1,$29 .db $00,$84,$01,$B1,$08,$08,$FC,$27 .db $67,$28,$6F,$38,$7C,$00,$43,$7C .db $38,$43,$FC,$00,$04,$00,$18,$7F .db $10,$7F,$44,$00,$7C,$01,$00,$40 .db $24,$00,$0A,$88,$8C,$48,$CC,$38 .db $7C,$00,$3C,$1C,$3E,$1C,$43,$3F .db $00,$03,$00,$70,$FC,$30,$83,$02 .db $49,$03,$3C,$00,$00,$02,$24,$00 .db $0C,$70,$7F,$FA,$8A,$F9,$88,$FF .db $90,$7F,$60,$1F,$00,$0E,$83,$21 .db $16,$00,$06,$44,$00,$07,$04,$0F .db $00,$1F,$11,$3F,$84,$12,$DC,$E0 .db $28,$F8,$08,$30,$D8,$1C,$D4,$16 .db $D0,$12,$A2,$23,$40,$5F,$02,$13 .db $00,$00,$08,$FC,$40,$FC,$48,$FE .db $CC,$FE,$9C,$FF,$20,$FF,$EC,$FF .db $F0,$9F,$FF,$8F,$7B,$75,$3F,$0C .db $30,$00,$43,$0C,$10,$03,$00,$01 .db $0F,$0F,$22,$00,$E0,$33,$0E,$03 .db $7F,$3C,$7F,$03,$33,$03,$13,$0E .db $0F,$78,$FC,$F8,$88,$FC,$08,$FE .db $89,$7E,$71,$3E,$01,$1C,$C1,$02 .db $03,$80,$80,$00,$04,$00,$06,$00 .db $07,$02,$8F,$BE,$FF,$1C,$FF,$E0 .db $FF,$FC,$87,$FF,$8F,$7B,$7C,$77 .db $04,$73,$43,$00,$0C,$02,$30,$10 .db $30,$83,$13,$0C,$07,$03,$87,$13 .db $FF,$37,$FF,$03,$73,$83,$01,$DC .db $00,$1F,$43,$F1,$FF,$05,$21,$FF .db $31,$DF,$1F,$2E,$83,$02,$08,$00 .db $04,$83,$01,$F0,$22,$C0,$22,$E0 .db $15,$C2,$DF,$C0,$CE,$F8,$FC,$00 .db $0C,$00,$3E,$0C,$7A,$30,$7E,$06 .db $39,$06,$10,$18,$38,$1F,$39,$23 .db $00,$00,$04,$83,$0E,$18,$11,$09 .db $09,$19,$07,$3F,$00,$39,$00,$00 .db $18,$19,$04,$3D,$04,$7D,$00,$7F .db $00,$44,$FF,$80,$23,$00,$43,$18 .db $10,$07,$1E,$12,$18,$90,$1E,$12 .db $18,$10,$24,$00,$01,$80,$00,$44 .db $80,$60,$03,$20,$80,$60,$80,$26 .db $00,$08,$60,$00,$30,$60,$10,$40 .db $30,$40,$70,$E4,$5F,$00,$0A,$1F .db $00,$3F,$20,$2F,$20,$43,$70,$40 .db $7C,$30,$83,$27,$77,$E0,$2A,$01 .db $00,$3F,$10,$1F,$0C,$1F,$23,$0F .db $20,$23,$00,$00,$08,$08,$06,$1E .db $F8,$00,$FC,$04,$F4,$04,$C2,$0E .db $02,$3E,$0C,$FC,$00,$F0,$20,$A0 .db $08,$FC,$18,$F8,$30,$F8,$C4,$F0 .db $04,$C4,$83,$12,$FE,$02,$40,$78 .db $00,$44,$00,$03,$84,$15,$06,$01 .db $3E,$00,$83,$29,$5B,$04,$03,$01 .db $06,$01,$04,$24,$00,$05,$01,$00 .db $08,$05,$05,$00,$83,$1C,$29,$E0 .db $28,$00,$18,$C0,$0C,$E0,$04,$D0 .db $06,$E0,$02,$F8,$00,$E0,$20,$F0 .db $90,$78,$08,$3C,$04,$1E,$04,$2E .db $06,$1F,$02,$07,$00,$08,$01,$11 .db $03,$13,$07,$17,$0F,$7F,$30,$5F .db $0E,$3F,$83,$27,$D0,$04,$0E,$1F .db $0C,$1F,$08,$83,$2E,$04,$00,$0E .db $23,$00,$09,$0C,$1F,$F0,$FE,$F0 .db $FC,$80,$F0,$00,$80,$25,$00,$00 .db $E0,$85,$0F,$35,$02,$F0,$00,$80 .db $26,$00,$46,$01,$00,$43,$01,$03 .db $83,$00,$92,$01,$02,$03,$45,$00 .db $01,$27,$00,$01,$0E,$0F,$83,$0D .db $38,$09,$78,$7C,$F8,$78,$F8,$F8 .db $30,$F8,$00,$78,$85,$1F,$C8,$05 .db $80,$FC,$80,$38,$00,$08,$23,$00 .db $01,$11,$31,$43,$1A,$3B,$0A,$0C .db $1E,$00,$1E,$1C,$3E,$3C,$6E,$00 .db $7C,$0E,$44,$3F,$04,$44,$00,$1E .db $01,$00,$10,$22,$00,$0B,$C4,$C6 .db $24,$E6,$1F,$37,$10,$3F,$20,$3E .db $00,$3C,$23,$00,$07,$38,$FE,$18 .db $FE,$08,$30,$00,$20,$27,$00,$0C .db $1F,$39,$1F,$3F,$0F,$1E,$0F,$1D .db $0F,$3C,$3F,$5E,$3D,$83,$0F,$95 .db $00,$39,$83,$15,$0A,$43,$02,$1E .db $00,$20,$24,$00,$43,$80,$FF,$1B .db $C0,$7F,$C1,$FE,$C1,$7E,$CD,$7E .db $C0,$7C,$C0,$C0,$4E,$42,$5E,$42 .db $34,$84,$21,$21,$3D,$21,$13,$11 .db $0C,$0B,$00,$1C,$43,$E0,$00,$43 .db $C0,$00,$00,$80,$26,$00,$43,$C0 .db $F0,$02,$80,$E0,$00,$84,$01,$39 .db $E4,$63,$00,$08,$11,$08,$00,$10 .db $0E,$1E,$00,$12,$04,$84,$32,$0F .db $03,$00,$1F,$17,$3E,$84,$04,$1A .db $02,$1F,$00,$0F,$25,$00,$08,$A8 .db $30,$10,$18,$40,$78,$30,$78,$20 .db $85,$19,$BB,$03,$F8,$C8,$7C,$E0 .db $43,$FC,$80,$02,$F8,$00,$F0,$26 .db $00,$00,$0F,$89,$22,$02,$83,$22 .db $8A,$22,$02,$88,$22,$13,$23,$00 .db $03,$02,$F8,$80,$7C,$85,$1E,$24 .db $43,$00,$FE,$05,$1E,$FC,$42,$47 .db $60,$63,$85,$22,$34,$83,$1F,$3A .db $01,$E0,$23,$43,$1F,$00,$0B,$5F .db $60,$83,$F0,$80,$FC,$C0,$BF,$30 .db $0F,$38,$03,$83,$2E,$12,$05,$3C .db $1F,$63,$2F,$60,$63,$22,$30,$02 .db $70,$2C,$7C,$43,$F8,$00,$02,$F0 .db $04,$C0,$84,$23,$78,$03,$06,$F2 .db $0B,$81,$83,$09,$B6,$0B,$34,$F8 .db $C6,$F4,$06,$C6,$0C,$0C,$10,$18 .db $60,$7C,$88,$16,$08,$86,$18,$01 .db $85,$16,$18,$23,$00,$22,$0A,$01 .db $00,$3F,$22,$00,$85,$16,$2A,$83 .db $18,$20,$43,$08,$FC,$87,$16,$38 .db $87,$18,$30,$0B,$78,$5F,$FE,$96 .db $FE,$89,$7F,$53,$30,$30,$33,$50 .db $84,$0C,$4C,$83,$03,$05,$03,$07 .db $0C,$1F,$03,$83,$0C,$59,$0D,$0C .db $07,$07,$3E,$E2,$7F,$41,$7F,$C1 .db $FE,$22,$1C,$1C,$38,$43,$3C,$30 .db $02,$3E,$C0,$41,$43,$00,$80,$03 .db $C0,$C0,$00,$E0,$45,$C0,$FC,$26 .db $00,$08,$0E,$06,$D1,$50,$B0,$2E .db $F8,$5F,$B9,$26,$00,$08,$0E,$08 .db $19,$4F,$1F,$01,$19,$40,$19,$8A .db $30,$E0,$44,$FF,$80,$23,$00,$43 .db $18,$10,$87,$30,$F8,$27,$00,$00 .db $07,$83,$02,$56,$02,$3E,$00,$7F .db $26,$00,$06,$07,$05,$0B,$02,$09 .db $00,$01,$29,$00,$86,$34,$62,$00 .db $80,$26,$00,$87,$08,$37,$00,$7C .db $E4,$BF,$00,$14,$03,$10,$08,$18 .db $00,$1C,$0B,$1F,$00,$1F,$1C,$3E .db $10,$3E,$00,$3C,$0F,$3C,$07,$1F .db $03,$43,$1F,$00,$00,$03,$25,$00 .db $0B,$0B,$11,$02,$72,$60,$EC,$08 .db $FC,$70,$F8,$00,$70,$23,$00,$83 .db $33,$B2,$00,$10,$83,$02,$75,$00 .db $80,$25,$00,$83,$18,$08,$0D,$3F .db $3C,$F7,$E0,$F6,$80,$F0,$81,$75 .db $7A,$00,$0F,$3E,$3E,$22,$00,$07 .db $03,$01,$0F,$06,$0F,$00,$0E,$05 .db $23,$00,$12,$FC,$06,$FF,$BE,$3F .db $8E,$3F,$7E,$7F,$EC,$FE,$E0,$FC .db $00,$F0,$D8,$1A,$60,$67,$43,$80 .db $FF,$03,$00,$FF,$00,$0E,$83,$03 .db $BC,$07,$18,$FC,$10,$FE,$00,$F1 .db $00,$60,$27,$00,$84,$0E,$50,$00 .db $01,$29,$00,$01,$E2,$FF,$83,$02 .db $E4,$03,$06,$EB,$00,$06,$26,$00 .db $84,$02,$73,$01,$04,$E0,$27,$00 .db $0D,$7F,$FF,$7F,$FE,$7F,$FC,$7F .db $FD,$2F,$FE,$03,$1E,$01,$01,$22 .db $00,$01,$1F,$00,$43,$1F,$02,$00 .db $1E,$43,$00,$1C,$23,$00,$43,$80 .db $FF,$9B,$32,$E4,$07,$00,$1F,$0B .db $04,$01,$0E,$41,$7E,$43,$40,$7F .db $85,$1F,$0C,$23,$04,$05,$3C,$00 .db $3F,$00,$3D,$3C,$83,$03,$05,$05 .db $18,$C0,$0C,$EC,$1E,$D2,$43,$3F .db $E1,$0B,$07,$C1,$3A,$80,$7C,$00 .db $00,$3C,$00,$12,$80,$A0,$83,$03 .db $6A,$05,$80,$38,$80,$7D,$0C,$FE .db $29,$00,$83,$0E,$93,$01,$1C,$03 .db $28,$00,$06,$03,$01,$0E,$01,$1C .db $04,$3C,$29,$00,$05,$C0,$00,$B0 .db $00,$38,$C0,$28,$00,$06,$C0,$80 .db $70,$C0,$38,$38,$3C,$27,$00,$07 .db $07,$00,$1F,$00,$38,$07,$20,$1F .db $26,$00,$08,$07,$03,$1C,$03,$38 .db $08,$78,$00,$60,$27,$00,$07,$80 .db $00,$60,$1B,$6A,$95,$0C,$F2,$26 .db $00,$83,$16,$39,$22,$60,$2B,$00 .db $83,$37,$88,$00,$3F,$29,$00,$85 .db $37,$CA,$00,$7F,$29,$00,$84,$16 .db $2A,$29,$00,$84,$16,$2A,$01,$10 .db $F8,$E4,$3F,$00,$05,$07,$02,$0F .db $03,$1F,$0C,$43,$0F,$18,$00,$07 .db $84,$0E,$03,$05,$05,$05,$08,$0C .db $10,$18,$44,$00,$10,$05,$08,$00 .db $0C,$00,$07,$70,$43,$00,$F0,$04 .db $80,$D0,$78,$F0,$78,$83,$19,$68 .db $01,$00,$E0,$43,$10,$F8,$01,$30 .db $78,$44,$00,$38,$83,$38,$60,$00 .db $E0,$E4,$7F,$00,$07,$08,$0F,$07 .db $07,$71,$71,$F2,$88,$43,$F1,$8C .db $04,$70,$7C,$00,$07,$07,$23,$00 .db $02,$03,$03,$07,$43,$02,$06,$83 .db $02,$10,$44,$78,$00,$06,$02,$80 .db $86,$FA,$7B,$82,$03,$83,$1E,$4E .db $0B,$18,$FC,$38,$FC,$78,$FE,$00 .db $FE,$04,$7F,$7C,$7F,$43,$F0,$FF .db $03,$10,$0F,$20,$3F,$43,$40,$7F .db $1B,$30,$3F,$10,$1F,$08,$0F,$0F .db $07,$00,$30,$0D,$0D,$2D,$00,$27 .db $20,$0B,$03,$08,$08,$04,$04,$00 .db $18,$08,$F0,$04,$FC,$43,$02,$FE .db $83,$23,$2C,$19,$10,$F0,$F0,$E0 .db $08,$0C,$B0,$B0,$B4,$00,$E4,$04 .db $D0,$C0,$10,$10,$20,$20,$10,$18 .db $00,$3F,$40,$7F,$80,$FF,$83,$2E .db $0C,$E0,$25,$F0,$9F,$FF,$EF,$F8 .db $80,$1B,$5B,$1B,$00,$4F,$00,$57 .db $47,$10,$10,$68,$68,$10,$10,$1F .db $1F,$02,$FD,$08,$F7,$0A,$F5,$00 .db $EE,$0C,$E0,$38,$E0,$D8,$C0,$10 .db $20,$22,$60,$0C,$00,$C0,$00,$A0 .db $90,$24,$3E,$48,$5C,$18,$3C,$D0 .db $F8,$84,$05,$80,$02,$04,$0F,$18 .db $44,$1F,$28,$02,$3C,$17,$F3,$26 .db $00,$00,$10,$44,$00,$20,$03,$38 .db $08,$38,$20,$44,$FF,$80,$89,$07 .db $C6,$00,$1F,$8E,$07,$D1,$27,$00 .db $03,$0F,$00,$0B,$00,$83,$30,$E8 .db $26,$00,$04,$0F,$08,$17,$0F,$13 .db $2D,$00,$83,$01,$A2,$01,$38,$C0 .db $28,$00,$83,$15,$31,$02,$F8,$30 .db $3C,$22,$03,$02,$05,$00,$07,$2B .db $00,$00,$02,$2C,$00,$43,$C0,$E0 .db $01,$00,$E0,$3F,$00,$05,$1F,$00 .db $1B,$00,$00,$7E,$43,$00,$FF,$24 .db $00,$06,$1F,$08,$37,$0C,$23,$00 .db $01,$2B,$00,$83,$0E,$B1,$03,$70 .db $80,$30,$C0,$26,$00,$08,$C0,$40 .db $E0,$20,$F0,$50,$78,$30,$38,$27 .db $00,$02,$07,$00,$0F,$43,$00,$1F .db $27,$00,$04,$07,$07,$1F,$08,$1F .db $43,$10,$3F,$27,$00,$02,$E0,$00 .db $F0,$43,$00,$F8,$27,$00,$04,$E0 .db $E0,$F8,$10,$F8,$43,$08,$FC,$01 .db $00,$04,$43,$00,$08,$0B,$03,$0B .db $07,$0F,$00,$1F,$1F,$2F,$00,$3F .db $03,$07,$43,$07,$0F,$00,$04,$43 .db $0F,$00,$01,$07,$10,$22,$00,$07 .db $3C,$3E,$70,$7C,$C0,$F0,$80,$C0 .db $47,$00,$80,$02,$C0,$FE,$80,$83 .db $06,$EB,$02,$C0,$00,$80,$25,$00 .db $16,$18,$00,$36,$20,$76,$50,$70 .db $58,$36,$3F,$07,$0F,$0E,$1B,$00 .db $1F,$0F,$3F,$19,$19,$09,$09,$07 .db $43,$0F,$00,$01,$00,$04,$22,$00 .db $15,$38,$20,$7C,$14,$7E,$1A,$FE .db $FA,$6C,$FC,$E0,$F0,$70,$D8,$00 .db $F8,$D8,$FC,$88,$98,$80,$90,$44 .db $00,$F0,$01,$00,$20,$22,$00,$0B .db $F9,$90,$69,$70,$01,$21,$07,$27 .db $1F,$3F,$38,$7F,$83,$3B,$6C,$22 .db $06,$03,$16,$1E,$3F,$18,$43,$3F .db $00,$01,$07,$20,$22,$00,$03,$A0 .db $30,$E0,$70,$43,$F0,$F8,$03,$F8 .db $FC,$1C,$FE,$83,$3B,$4C,$00,$40 .db $43,$70,$00,$43,$F8,$00,$03,$FC .db $00,$E0,$04,$22,$00,$0B,$50,$F0 .db $50,$B0,$69,$F9,$37,$7F,$18,$3F .db $00,$18,$23,$00,$02,$0E,$3F,$4F .db $83,$03,$D1,$02,$0F,$00,$07,$25 .db $00,$43,$78,$00,$01,$80,$80,$83 .db $0A,$B0,$25,$00,$02,$48,$FE,$78 .db $85,$32,$33,$00,$C0,$26,$00,$0A .db $0F,$70,$7F,$80,$FF,$E0,$FF,$F0 .db $9F,$F0,$90,$83,$30,$06,$22,$0B .db $04,$00,$7E,$00,$1B,$18,$83,$0F .db $CD,$05,$01,$0F,$1F,$1F,$18,$E0 .db $43,$2C,$F0,$00,$0C,$83,$2C,$BD .db $0E,$18,$A0,$30,$70,$78,$38,$1C .db $5C,$0E,$5C,$1E,$6C,$3E,$C0,$6C .db $83,$16,$3A,$06,$00,$F8,$70,$7F .db $F8,$CF,$FC,$43,$84,$FF,$06,$C8 .db $73,$78,$00,$04,$06,$68,$22,$05 .db $00,$00,$44,$00,$03,$44,$07,$00 .db $03,$01,$09,$08,$F0,$43,$14,$F8 .db $11,$04,$38,$C0,$1C,$C0,$18,$20 .db $30,$70,$78,$98,$8C,$AC,$06,$AC .db $0E,$34,$D6,$44,$00,$E0,$09,$F0 .db $80,$F8,$36,$49,$22,$1D,$A2,$DD .db $80,$83,$16,$67,$04,$7F,$38,$7E .db $7D,$64,$22,$09,$10,$01,$49,$00 .db $7F,$0C,$79,$78,$00,$00,$02,$01 .db $00,$03,$18,$E0,$00,$FC,$43,$04 .db $FE,$E0,$3D,$00,$FC,$00,$1E,$E4 .db $06,$E2,$03,$18,$1C,$CC,$C4,$CA .db $42,$8A,$0A,$DC,$1C,$10,$F2,$28 .db $FE,$2C,$FF,$9F,$C0,$80,$E6,$9F .db $C7,$3C,$04,$38,$09,$68,$18,$40 .db $3E,$10,$72,$5F,$3F,$60,$3F,$40 .db $7F,$0B,$7F,$16,$7F,$27,$FF,$41 .db $FF,$0D,$FF,$F9,$03,$01,$67,$F9 .db $E3,$83,$0D,$A6,$14,$16,$18,$02 .db $7C,$08,$4E,$FA,$FC,$06,$FC,$02 .db $FE,$D0,$FE,$68,$FE,$E4,$FF,$82 .db $FF,$B0,$86,$25,$7F,$43,$40,$7F .db $07,$01,$3F,$61,$6F,$F7,$9F,$00 .db $00,$22,$0A,$43,$00,$3F,$00,$3E .db $24,$00,$84,$25,$DF,$43,$08,$FC .db $07,$E0,$BC,$F0,$1C,$F0,$18,$F0 .db $A0,$87,$18,$30,$01,$18,$0A,$24 .db $00,$00,$18,$83,$21,$48,$01,$00 .db $3F,$43,$20,$7F,$0F,$30,$3F,$78 .db $5F,$FF,$8F,$00,$30,$0D,$2D,$2D .db $00,$47,$00,$4B,$43,$84,$39,$5A .db $85,$20,$AB,$04,$FC,$04,$FE,$0E .db $FA,$43,$1F,$F1,$0E,$FE,$EA,$08 .db $0C,$B0,$B4,$B4,$00,$E2,$00,$D0 .db $C0,$00,$00,$20,$83,$13,$19,$1E .db $3F,$00,$7F,$40,$FF,$60,$FF,$20 .db $7F,$10,$1F,$0F,$0F,$0B,$10,$1B .db $5B,$5B,$00,$8F,$00,$97,$87,$50 .db $50,$08,$08,$00,$00,$04,$14,$89 .db $39,$A0,$05,$3C,$E0,$D8,$C0,$30 .db $00,$22,$60,$86,$39,$B3,$05,$4C .db $5E,$18,$3C,$B0,$F8,$45,$3F,$00 .db $01,$0F,$40,$83,$2C,$7E,$04,$20 .db $1F,$30,$06,$00,$83,$3D,$47,$1F .db $7F,$0F,$BF,$00,$8F,$40,$C0,$00 .db $E0,$29,$79,$FC,$0C,$FE,$12,$FF .db $21,$3F,$21,$1E,$F2,$0C,$EC,$1C .db $80,$78,$00,$10,$F0,$20,$E0,$C0 .db $43,$C0,$00,$14,$00,$20,$32,$04 .db $7E,$18,$FC,$00,$00,$0D,$71,$27 .db $D7,$27,$FF,$10,$7F,$10,$78,$00 .db $30,$22,$00,$03,$1F,$02,$13,$28 .db $43,$0F,$00,$00,$07,$25,$00,$45 .db $F0,$F8,$83,$0A,$B0,$26,$00,$45 .db $F8,$00,$02,$F0,$00,$C0,$25,$00 .db $09,$26,$D0,$20,$F0,$23,$F3,$27 .db $FF,$00,$67,$25,$00,$04,$29,$09 .db $0F,$0F,$0C,$43,$0F,$00,$00,$07 .db $25,$00,$45,$F0,$F8,$83,$0A,$B0 .db $26,$00,$45,$F8,$00,$02,$F0,$00 .db $C0,$25,$00,$43,$FD,$80,$83,$09 .db $8A,$85,$02,$88,$22,$00,$01,$03 .db $00,$22,$03,$84,$02,$96,$24,$00 .db $08,$E2,$03,$C2,$03,$06,$07,$0C .db $CE,$D8,$83,$1A,$A3,$0E,$F0,$00 .db $00,$2C,$FF,$5C,$FF,$38,$FF,$30 .db $3E,$00,$1C,$00,$08,$23,$00,$04 .db $11,$73,$22,$7F,$1C,$84,$0F,$A7 .db $01,$78,$BC,$83,$03,$AC,$00,$0C .db $83,$1A,$4B,$84,$0F,$B7,$00,$40 .db $24,$00,$05,$88,$CE,$44,$FE,$38 .db $7E,$83,$2F,$E6,$01,$1E,$3D,$83 .db $06,$50,$00,$30,$83,$0F,$35,$84 .db $0F,$B7,$00,$02,$24,$00,$0D,$F0 .db $90,$69,$60,$09,$70,$20,$D0,$17 .db $FF,$10,$7D,$00,$31,$83,$08,$06 .db $04,$16,$16,$06,$16,$2F,$43,$0F .db $00,$00,$04,$23,$00,$09,$70,$40 .db $80,$08,$F0,$78,$90,$F8,$60,$D0 .db $86,$17,$60,$00,$B8,$44,$00,$78 .db $01,$98,$20,$26,$00,$06,$F8,$88 .db $7E,$58,$06,$38,$00,$83,$37,$16 .db $84,$03,$BB,$03,$07,$07,$01,$09 .db $83,$15,$88,$01,$00,$01,$25,$00 .db $19,$38,$20,$70,$10,$70,$18,$60 .db $7C,$1C,$FA,$20,$7E,$00,$7C,$00 .db $30,$D8,$FE,$80,$9C,$80,$98,$80 .db $E0,$04,$C0,$25,$00,$05,$0B,$10 .db $00,$70,$29,$D9,$89,$3E,$06,$04 .db $04,$14,$0F,$1F,$26,$43,$0F,$00 .db $00,$07,$26,$00,$00,$08,$83,$02 .db $A2,$83,$0A,$B0,$25,$00,$02,$C0 .db $F8,$80,$43,$F8,$00,$02,$F0,$00 .db $C0,$25,$00,$00,$0C,$83,$0C,$CD .db $02,$39,$0B,$3F,$87,$36,$08,$04 .db $1F,$33,$0F,$3F,$06,$43,$3F,$00 .db $00,$07,$25,$00,$05,$60,$00,$00 .db $9C,$C0,$DC,$85,$36,$26,$23,$00 .db $83,$03,$F2,$03,$20,$F8,$00,$F0 .db $31,$00,$43,$03,$00,$01,$00,$1F .db $28,$00,$84,$31,$D1,$25,$00,$83 .db $10,$20,$07,$11,$11,$CE,$0E,$73 .db $03,$39,$C1,$22,$00,$84,$10,$20 .db $07,$11,$FF,$00,$F1,$90,$7C,$08 .db $3E,$E4,$3F,$00,$01,$01,$FE,$83 .db $17,$2A,$E0,$29,$F3,$F0,$E4,$84 .db $80,$80,$98,$00,$D9,$41,$18,$19 .db $78,$1B,$F1,$F7,$03,$0F,$78,$FF .db $7F,$FF,$67,$67,$26,$67,$FF,$4F .db $FF,$3F,$87,$3F,$03,$07,$01,$5B .db $18,$3F,$58,$7F,$DC,$FE,$83,$00 .db $3C,$0B,$80,$F8,$00,$84,$80,$C2 .db $C0,$C3,$80,$E3,$00,$E0,$E4,$46 .db $00,$00,$03,$44,$00,$07,$00,$03 .db $22,$00,$44,$01,$00,$29,$00,$09 .db $86,$86,$79,$01,$6E,$00,$07,$F8 .db $01,$FE,$43,$00,$FF,$07,$D8,$27 .db $80,$F9,$20,$DE,$32,$8F,$85,$36 .db $92,$13,$20,$20,$24,$24,$00,$7F .db $80,$BF,$40,$5E,$20,$2E,$00,$0C .db $90,$15,$80,$0D,$07,$EF,$83,$0D .db $D6,$0F,$1E,$BF,$0E,$DF,$0C,$BE .db $84,$EE,$8C,$FF,$68,$18,$00,$9C .db $00,$04,$85,$10,$90,$09,$1E,$7D .db $2E,$BF,$10,$1E,$9C,$FE,$04,$9E .db $83,$01,$BA,$0F,$00,$00,$02,$60 .db $40,$F0,$E0,$F8,$70,$F0,$2F,$60 .db $2D,$60,$00,$7F,$44,$00,$FF,$08 .db $7F,$1B,$04,$70,$FF,$24,$7B,$26 .db $71,$25,$00,$23,$04,$1F,$00,$1F .db $00,$07,$C8,$1B,$E8,$09,$28,$C9 .db $14,$E4,$10,$E0,$0B,$F1,$1F,$FF .db $07,$DF,$43,$FF,$25,$FF,$05,$3F .db $12,$1F,$10,$1F,$88,$8E,$27,$00 .db $00,$07,$43,$00,$0F,$02,$60,$0F .db $E0,$26,$00,$01,$0F,$07,$44,$1F .db $08,$01,$0C,$1F,$27,$00,$02,$C0 .db $00,$F0,$43,$00,$F8,$27,$00,$02 .db $C0,$C0,$F0,$85,$09,$F2,$44,$00 .db $3F,$02,$1F,$06,$01,$83,$17,$00 .db $43,$10,$1F,$23,$00,$24,$01,$86 .db $17,$11,$01,$08,$F0,$43,$04,$F8 .db $0B,$C2,$3C,$40,$BF,$41,$BF,$01 .db $FF,$81,$FF,$00,$0D,$83,$0C,$EA .db $09,$22,$23,$33,$31,$32,$10,$E2 .db $82,$36,$06,$25,$00,$03,$06,$06 .db $09,$0F,$43,$10,$1F,$01,$00,$3F .db $27,$00,$07,$06,$00,$0F,$0C,$0F .db $0E,$03,$02,$28,$00,$02,$70,$80 .db $F0,$43,$84,$F8,$2A,$00,$05,$0C .db $00,$06,$40,$46,$7F,$83,$0A,$91 .db $02,$3F,$00,$0E,$28,$00,$85,$1A .db $4B,$00,$0E,$27,$00,$05,$9C,$FE .db $0C,$F6,$00,$EC,$2A,$00,$04,$E0 .db $08,$E0,$00,$80,$31,$00,$85,$37 .db $88,$01,$30,$0F,$26,$00,$86,$37 .db $97,$01,$10,$70,$27,$00,$83,$02 .db $31,$03,$1C,$E0,$0C,$F0,$26,$00 .db $06,$E0,$C0,$38,$C0,$1C,$10,$1E .db $83,$12,$CC,$45,$02,$03,$83,$0B .db $58,$25,$00,$44,$01,$00,$00,$01 .db $27,$00,$43,$88,$77,$02,$00,$FF .db $10,$44,$FF,$00,$E0,$39,$81,$FF .db $7E,$7E,$26,$06,$26,$02,$FC,$30 .db $E6,$E0,$03,$03,$0F,$03,$7E,$7E .db $00,$00,$3F,$E8,$3F,$F0,$1F,$F0 .db $7F,$88,$1F,$97,$7C,$FF,$06,$F9 .db $00,$7E,$40,$10,$40,$40,$60,$60 .db $F0,$F0,$08,$78,$00,$7F,$00,$F9 .db $00,$7E,$90,$9C,$F0,$78,$E0,$78 .db $83,$38,$6C,$85,$10,$18,$01,$60 .db $7C,$44,$00,$38,$00,$70,$87,$43 .db $68,$06,$11,$0E,$51,$6E,$40,$7F .db $42,$83,$3A,$0D,$84,$3D,$89,$06 .db $04,$00,$24,$00,$3F,$06,$3C,$84 .db $37,$1B,$83,$17,$16,$01,$03,$FE .db $45,$07,$FC,$03,$0B,$FA,$11,$F7 .db $83,$3D,$F2,$0B,$CC,$C4,$C8,$40 .db $88,$08,$D8,$18,$70,$74,$E0,$66 .db $83,$0A,$66,$17,$07,$70,$07,$38 .db $23,$38,$41,$7C,$50,$7F,$52,$7F .db $1C,$7F,$00,$7F,$04,$0F,$06,$07 .db $03,$07,$2D,$03,$43,$2C,$24,$03 .db $02,$02,$1E,$0E,$43,$FC,$00,$43 .db $FE,$00,$03,$7C,$00,$00,$C2,$83 .db $0F,$36,$43,$04,$FE,$07,$06,$FF .db $8E,$FF,$7C,$FF,$00,$3C,$24,$00 .db $43,$7F,$00,$02,$3F,$20,$3F,$43 .db $10,$1F,$08,$3C,$3F,$F0,$E0,$00 .db $00,$1C,$00,$1E,$83,$03,$D4,$00 .db $0E,$84,$13,$0A,$00,$0F,$49,$06 .db $F8,$15,$18,$FC,$04,$F8,$00,$70 .db $92,$97,$72,$37,$D2,$17,$82,$07 .db $FE,$27,$E4,$C6,$DC,$CE,$00,$8C .db $44,$00,$7F,$02,$3F,$20,$3F,$43 .db $10,$1F,$00,$0C,$84,$3F,$19,$8C .db $44,$12,$00,$07,$47,$06,$F8,$07 .db $04,$F8,$18,$FC,$00,$F8,$E0,$C0 .db $87,$44,$30,$0F,$FC,$26,$E4,$C6 .db $D8,$CC,$20,$F8,$20,$1F,$00,$7F .db $10,$EF,$20,$DF,$43,$80,$FF,$1B .db $40,$7B,$41,$01,$25,$65,$1F,$10 .db $AF,$08,$97,$87,$70,$00,$78,$48 .db $3B,$BF,$04,$BE,$04,$F8,$00,$FE .db $08,$F7,$04,$FB,$43,$01,$FF,$13 .db $02,$DE,$9E,$9C,$A4,$A6,$F8,$08 .db $F5,$10,$E9,$E1,$0E,$00,$1E,$12 .db $DC,$FD,$20,$61,$83,$2C,$DC,$00 .db $1F,$44,$00,$7F,$13,$1F,$20,$1B .db $20,$00,$7F,$20,$70,$20,$7F,$01 .db $7F,$00,$FF,$7F,$FF,$1F,$17,$0F .db $03,$22,$00,$15,$FE,$00,$7E,$01 .db $3F,$C3,$3F,$E3,$1F,$F2,$1C,$BE .db $63,$3F,$C1,$7D,$FF,$BD,$FF,$1C .db $FF,$58,$43,$FF,$E8,$02,$EF,$80 .db $81,$E4,$41,$00,$03,$0C,$13,$08 .db $37,$45,$40,$7F,$19,$20,$3F,$70 .db $7E,$FD,$8E,$03,$0F,$05,$0D,$2F .db $0C,$27,$00,$2B,$23,$10,$00,$0E .db $01,$03,$11,$30,$C8,$10,$EC,$43 .db $02,$FE,$1E,$03,$FF,$07,$FD,$0F .db $79,$BE,$72,$C0,$F0,$A0,$B0,$F4 .db $30,$E4,$00,$D4,$C4,$08,$00,$70 .db $80,$C0,$8C,$20,$78,$07,$30,$1F .db $00,$3F,$48,$00,$7F,$01,$20,$7F .db $43,$00,$3F,$01,$20,$7F,$45,$40 .db $FF,$0B,$41,$FF,$04,$7F,$80,$3F .db $E0,$18,$F6,$1C,$FF,$23,$45,$FF .db $41,$43,$30,$FF,$05,$70,$FF,$62 .db $EB,$40,$C0,$25,$80,$11,$E4,$BF .db $F0,$83,$EF,$A1,$FF,$C0,$7D,$00 .db $7D,$01,$38,$01,$00,$01,$18,$18 .db $83,$03,$C6,$E0,$29,$07,$3F,$45 .db $FF,$64,$FF,$3A,$7F,$06,$3F,$00 .db $F0,$38,$30,$F0,$F8,$80,$84,$80 .db $9C,$00,$02,$00,$F2,$00,$17,$00 .db $00,$08,$F8,$00,$F8,$78,$FC,$60 .db $FC,$FC,$FE,$0C,$FE,$E8,$FF,$43 .db $F7,$80,$89,$2A,$84,$43,$00,$0F .db $8A,$2A,$92,$22,$00,$43,$B0,$38 .db $83,$02,$A2,$45,$E0,$F0,$84,$2A .db $AE,$45,$F8,$00,$00,$F0,$25,$00 .db $01,$01,$09,$43,$0B,$10,$8B,$1E .db $46,$43,$04,$14,$86,$1E,$56,$22 .db $00,$85,$1E,$60,$43,$F8,$C8,$89 .db $1E,$6A,$22,$00,$02,$80,$00,$80 .db $25,$00,$0B,$28,$00,$7C,$40,$38 .db $F0,$1C,$FC,$1F,$FF,$17,$7F,$83 .db $02,$14,$06,$17,$F7,$23,$23,$07 .db $17,$03,$45,$0F,$00,$0E,$07,$00 .db $00,$14,$00,$3E,$02,$1C,$0F,$38 .db $3F,$F8,$FF,$E8,$FE,$83,$07,$2C .db $06,$E8,$EF,$C4,$C4,$E0,$E8,$C0 .db $45,$F0,$00,$00,$E0,$22,$00,$04 .db $FF,$01,$7E,$60,$BF,$43,$40,$FF .db $83,$1A,$4C,$01,$03,$03,$23,$00 .db $07,$1F,$1F,$3F,$03,$3E,$26,$1C .db $1C,$23,$00,$43,$7F,$C1,$02,$3E .db $E2,$1C,$84,$39,$69,$84,$3D,$F2 .db $83,$1D,$E4,$08,$40,$60,$60,$30 .db $30,$60,$60,$C0,$C0,$23,$00,$85 .db $37,$4A,$83,$21,$48,$03,$05,$0A .db $0F,$30,$88,$37,$58,$83,$32,$B5 .db $00,$15,$83,$03,$D6,$85,$3A,$2A .db $83,$20,$AC,$03,$A0,$50,$F0,$0C .db $83,$18,$F6,$02,$80,$38,$20,$83 .db $0F,$97,$10,$04,$00,$A8,$00,$F0 .db $C5,$BE,$06,$7B,$07,$79,$03,$7F .db $00,$7B,$00,$30,$23,$00,$02,$02 .db $09,$01,$23,$00,$02,$07,$00,$03 .db $25,$00,$07,$A8,$70,$40,$C8,$F0 .db $98,$E0,$9C,$87,$3F,$68,$09,$40 .db $9C,$B0,$38,$00,$18,$00,$80,$04 .db $C0,$25,$00,$83,$06,$11,$03,$48 .db $00,$00,$0F,$43,$00,$1F,$83,$17 .db $0C,$05,$27,$FF,$1F,$FF,$0C,$B3 .db $83,$2F,$66,$84,$3F,$54,$0E,$00 .db $9F,$03,$14,$7C,$04,$FC,$24,$FC .db $28,$F8,$08,$F8,$40,$F0,$43,$80 .db $E0,$05,$20,$80,$38,$30,$48,$08 .db $83,$19,$B5,$83,$03,$6A,$07,$0E .db $4F,$1F,$5F,$1E,$FF,$4C,$BE,$83 .db $0F,$88,$23,$00,$01,$30,$7F,$83 .db $22,$88,$03,$40,$3E,$00,$0C,$26 .db $00,$02,$15,$10,$FB,$83,$02,$66 .db $00,$00,$44,$7C,$38,$04,$00,$38 .db $EA,$FF,$04,$85,$3E,$F1,$00,$7C .db $E5,$8D,$00,$07,$03,$18,$03,$0C .db $60,$66,$90,$FF,$26,$00,$02,$03 .db $00,$07,$43,$01,$00,$01,$68,$08 .db $29,$00,$83,$1D,$E5,$00,$E0,$29 .db $00,$84,$49,$AA,$01,$80,$F0,$26 .db $00,$02,$03,$06,$68,$83,$3E,$40 .db $01,$21,$F0,$26,$00,$02,$03,$01 .db $09,$83,$3E,$50,$01,$0E,$0E,$45 .db $00,$FF,$43,$80,$FF,$15,$40,$7F .db $60,$7F,$FC,$7F,$76,$42,$7D,$61 .db $3F,$30,$07,$00,$42,$42,$B6,$B6 .db $9F,$DE,$01,$61,$27,$00,$87,$34 .db $42,$26,$00,$84,$16,$19,$2B,$00 .db $86,$34,$62,$00,$D8,$26,$00,$86 .db $16,$39,$01,$20,$24,$29,$00,$85 .db $37,$4A,$28,$00,$83,$0E,$93,$02 .db $1E,$04,$3C,$29,$00,$84,$17,$63 .db $00,$F0,$28,$00,$06,$E0,$C0,$30 .db $E0,$10,$00,$08,$29,$00,$05,$07 .db $00,$07,$30,$0F,$60,$28,$00,$00 .db $07,$44,$00,$0F,$00,$1F,$29,$00 .db $84,$01,$B1,$29,$00,$85,$01,$B1 .db $84,$0D,$BF,$0B,$78,$48,$FC,$84 .db $F0,$80,$6F,$40,$2D,$20,$00,$3F .db $28,$00,$83,$16,$19,$00,$51,$2B .db $00,$84,$16,$2A,$29,$00,$86,$16 .db $39,$25,$00,$89,$34,$42,$24,$00 .db $84,$16,$19,$23,$00,$01,$02,$02 .db $25,$00,$87,$34,$62,$01,$08,$F0 .db $24,$00,$88,$34,$71,$01,$08,$0C .db $27,$00,$84,$2F,$57,$02,$1F,$00 .db $3F,$26,$00,$04,$07,$02,$0D,$03 .db $08,$2B,$00,$83,$01,$A2,$03,$78 .db $80,$1C,$E0,$26,$00,$84,$3A,$39 .db $03,$68,$7C,$1C,$1E,$45,$00,$FF .db $43,$80,$FF,$95,$49,$EA,$03,$60 .db $80,$70,$80,$44,$30,$C0,$1C,$80 .db $20,$C0,$80,$E0,$00,$C0,$40,$70 .db $60,$78,$B0,$B8,$30,$38,$30,$78 .db $E0,$30,$40,$50,$80,$A0,$27,$F6 .db $27,$FF,$07,$6F,$83,$0B,$48,$44 .db $00,$01,$02,$00,$08,$0E,$44,$00 .db $0F,$02,$07,$00,$03,$25,$00,$0A .db $FE,$43,$FE,$CE,$FF,$F1,$DF,$F9 .db $3F,$FF,$F0,$83,$43,$65,$03,$C0 .db $24,$7C,$30,$86,$17,$61,$00,$80 .db $25,$00,$02,$0F,$30,$3F,$43,$40 .db $7F,$83,$15,$0A,$03,$07,$07,$00 .db $08,$22,$0A,$8A,$2D,$15,$03,$07 .db $0F,$3C,$E4,$43,$7E,$C2,$03,$3C .db $A4,$78,$1C,$43,$60,$00,$01,$00 .db $08,$22,$80,$43,$00,$80,$04,$42 .db $00,$E0,$20,$F8,$83,$00,$B2,$01 .db $10,$0F,$83,$2C,$CC,$43,$10,$3F .db $1B,$20,$3F,$7C,$5F,$FB,$8B,$00 .db $30,$06,$76,$16,$60,$23,$40,$2D .db $49,$1C,$1C,$02,$02,$04,$04,$00 .db $FC,$02,$FA,$03,$FD,$43,$05,$FF .db $E0,$36,$00,$FC,$0C,$F8,$FC,$F0 .db $00,$00,$D0,$D4,$D4,$00,$F2,$00 .db $EA,$E0,$0C,$0E,$10,$16,$04,$0E .db $0F,$70,$07,$18,$63,$7C,$C1,$FC .db $E0,$BF,$FC,$93,$FE,$81,$7E,$62 .db $08,$0F,$04,$07,$07,$03,$2D,$07 .db $0C,$0C,$00,$0C,$06,$3E,$1D,$1D .db $F8,$46,$00,$FC,$01,$00,$04,$84 .db $02,$F2,$02,$68,$00,$FC,$43,$00 .db $FE,$03,$FC,$FE,$00,$FA,$23,$00 .db $07,$90,$98,$00,$7F,$10,$0F,$30 .db $3F,$43,$40,$7F,$87,$18,$0A,$01 .db $1A,$3A,$8F,$18,$14,$43,$08,$FC .db $43,$00,$FC,$03,$3E,$EE,$FF,$D3 .db $8B,$18,$30,$03,$D0,$D0,$20,$20 .db $43,$00,$0F,$01,$30,$3F,$43,$40 .db $7F,$06,$C0,$BF,$E0,$9F,$1B,$6F .db $0F,$44,$00,$0A,$89,$18,$16,$83 .db $15,$28,$19,$08,$FC,$08,$FE,$00 .db $FC,$1E,$F2,$3F,$E1,$FF,$E1,$CC .db $4E,$CC,$06,$D4,$02,$94,$04,$D8 .db $08,$60,$20,$C0,$C0,$22,$00,$84 .db $4D,$01,$43,$40,$7F,$07,$00,$3F .db $01,$1F,$07,$00,$0F,$0F,$43,$0A .db $00,$83,$18,$16,$23,$00,$01,$02 .db $0E,$83,$15,$2A,$43,$0A,$FC,$13 .db $00,$FC,$C2,$DC,$F6,$38,$FE,$10 .db $84,$86,$CE,$47,$D6,$03,$96,$07 .db $D8,$0A,$12,$33,$83,$32,$50,$0F .db $F8,$FF,$E0,$FB,$C1,$F3,$88,$F7 .db $00,$F3,$00,$E3,$00,$83,$00,$81 .db $83,$16,$6C,$04,$1C,$FF,$30,$FF .db $7C,$46,$FF,$7F,$07,$3F,$FF,$9F .db $FF,$0F,$9F,$07,$0F,$46,$03,$C7 .db $00,$87,$43,$00,$FF,$04,$60,$FF .db $F0,$FF,$38,$46,$FF,$F8,$08,$00 .db $E8,$A8,$FE,$DE,$FF,$E7,$FF,$F8 .db $26,$FF,$83,$4D,$9E,$02,$1F,$FF .db $07,$48,$FF,$00,$08,$07,$0F,$07 .db $BF,$AF,$FF,$9F,$FF,$7F,$26,$FF .db $43,$F0,$FF,$02,$E0,$FF,$80,$48 .db $FF,$00,$43,$0B,$10,$06,$00,$08 .db $01,$19,$19,$2F,$0E,$83,$03,$D1 .db $00,$06,$43,$04,$14,$05,$07,$0F .db $06,$07,$10,$01,$25,$00,$43,$70 .db $78,$83,$07,$22,$83,$2B,$AA,$23 .db $00,$43,$80,$F8,$86,$07,$32,$00 .db $80,$23,$00,$04,$F8,$88,$7B,$58 .db $03,$8C,$3F,$45,$03,$04,$0C,$04 .db $04,$83,$09,$94,$25,$00,$05,$38 .db $30,$38,$08,$30,$08,$89,$3F,$66 .db $01,$C8,$FC,$43,$C0,$C8,$83,$3F .db $76,$25,$00,$04,$1C,$1C,$08,$18 .db $00,$83,$14,$9D,$00,$07,$85,$33 .db $8A,$02,$03,$03,$07,$43,$1F,$00 .db $00,$0F,$27,$00,$08,$60,$08,$00 .db $18,$10,$B8,$40,$F0,$40,$43,$E0 .db $00,$07,$80,$00,$00,$F0,$98,$E0 .db $F8,$40,$84,$36,$35,$25,$00,$9B .db $1A,$00,$23,$00,$05,$FF,$A1,$FF .db $E1,$FE,$F2,$87,$27,$A6,$22,$00 .db $43,$C0,$00,$84,$3A,$E8,$01,$08 .db $C0,$23,$00,$01,$21,$D9,$43,$2B .db $F0,$05,$23,$FB,$03,$67,$00,$03 .db $23,$00,$01,$26,$0F,$24,$04,$84 .db $0B,$57,$23,$00,$01,$FE,$92,$43 .db $EC,$FE,$05,$CC,$F6,$80,$EC,$00 .db $C0,$24,$00,$00,$E0,$43,$00,$F0 .db $00,$08,$84,$17,$61,$23,$00,$0B .db $03,$0A,$00,$08,$03,$0A,$03,$07 .db $02,$07,$00,$03,$24,$00,$04,$0C .db $04,$0F,$05,$0C,$29,$00,$0F,$FF .db $11,$FE,$BA,$FC,$E4,$38,$FC,$1C .db $FE,$0C,$9E,$0E,$1D,$00,$1F,$24 .db $00,$02,$20,$00,$3C,$83,$03,$CC .db $00,$02,$22,$00,$84,$1F,$68,$03 .db $F9,$C4,$F3,$C0,$43,$F8,$80,$02 .db $F0,$80,$C0,$43,$00,$FF,$04,$06 .db $FF,$18,$FF,$1F,$48,$FF,$3F,$07 .db $9F,$FF,$87,$DF,$03,$E7,$03,$67 .db $44,$01,$F3,$00,$63,$43,$00,$FF .db $04,$20,$FF,$18,$FF,$F8,$46,$FF .db $FC,$08,$80,$C4,$C4,$FE,$EE,$FF .db $F3,$FF,$FC,$26,$FF,$83,$4D,$D2 .db $02,$0F,$FF,$03,$48,$FF,$00,$08 .db $01,$0F,$0B,$5F,$57,$FF,$CF,$FF .db $3F,$26,$FF,$83,$0D,$3C,$02,$F0 .db $FF,$C0,$48,$FF,$00,$29,$00,$43 .db $0F,$00,$00,$0B,$29,$00,$06,$0F .db $00,$1F,$08,$17,$04,$13,$2B,$00 .db $02,$C0,$00,$E0,$2B,$00,$84,$3A .db $B7,$27,$00,$02,$02,$00,$06,$83 .db $4A,$CD,$00,$7F,$24,$00,$02,$05 .db $00,$17,$83,$4B,$58,$30,$00,$02 .db $80,$00,$E0,$26,$00,$04,$28,$00 .db $F0,$00,$E2,$83,$3C,$13,$27,$00 .db $87,$50,$48,$24,$00,$86,$50,$55 .db $30,$00,$02,$80,$00,$E0,$26,$00 .db $88,$50,$77,$26,$00,$00,$0E,$43 .db $01,$1C,$03,$03,$18,$63,$78,$26 .db $00,$00,$01,$44,$00,$03,$02,$07 .db $02,$07,$27,$00,$00,$F0,$44,$00 .db $FC,$00,$FE,$27,$00,$02,$F0,$00 .db $FC,$44,$00,$FE,$00,$FF,$27,$00 .db $02,$07,$00,$0F,$43,$00,$1F,$27 .db $00,$84,$30,$15,$43,$10,$3F,$27 .db $00,$86,$4A,$B9,$27,$00,$87,$4A .db $B9,$10,$FE,$00,$3F,$00,$5F,$3F .db $22,$7F,$7F,$7A,$7F,$00,$FF,$01 .db $3F,$02,$4F,$2E,$00,$14,$0C,$00 .db $C0,$08,$F8,$DC,$3C,$DC,$FC,$A8 .db $FC,$F0,$FC,$70,$F8,$C0,$C0,$00 .db $3E,$00,$04,$45,$00,$02,$24,$00 .db $00,$30,$25,$00,$85,$24,$08,$03 .db $1B,$00,$06,$78,$24,$00,$0A,$03 .db $02,$0F,$01,$1F,$1C,$37,$0C,$23 .db $02,$07,$25,$00,$83,$01,$A2,$04 .db $98,$00,$68,$00,$F0,$25,$00,$00 .db $C0,$83,$37,$FC,$E0,$25,$98,$FC .db $08,$9C,$00,$0C,$FE,$7F,$FD,$BF .db $FB,$DF,$F7,$EF,$EF,$F7,$DF,$FB .db $BF,$FD,$7F,$FE,$FE,$7E,$FD,$BD .db $FB,$DB,$F7,$E7,$EF,$E7,$DF,$DB .db $BF,$BD,$7F,$7E,$9F,$51,$C0,$09 .db $01,$7E,$00,$FF,$18,$07,$08,$17 .db $88,$F7,$43,$80,$FF,$01,$00,$FF .db $85,$2B,$50,$09,$06,$06,$66,$02 .db $7C,$08,$7E,$78,$03,$01,$83,$1C .db $2A,$03,$38,$C0,$1C,$E0,$43,$4C .db $F0,$84,$50,$E7,$06,$F0,$10,$78 .db $18,$3C,$5C,$1E,$43,$2C,$0E,$0F .db $E0,$AC,$E0,$E0,$00,$3F,$0F,$72 .db $1F,$00,$1B,$04,$3F,$32,$3F,$BF .db $43,$00,$7F,$30,$00,$0B,$F0,$C0 .db $30,$E6,$1E,$67,$9F,$C7,$3F,$6E .db $FE,$30,$83,$2F,$63,$02,$0E,$00 .db $0F,$2C,$00,$02,$3F,$0F,$7F,$22 .db $1F,$00,$02,$22,$3F,$00,$BF,$43 .db $00,$7F,$30,$00,$08,$F0,$C0,$F0 .db $E6,$FE,$E7,$1F,$C7,$FF,$89,$52 .db $6A,$2B,$00,$0F,$83,$F8,$93,$F8 .db $A3,$F8,$A1,$FC,$01,$FC,$00,$FE .db $20,$7E,$20,$3F,$43,$63,$07,$0B .db $53,$47,$51,$43,$2D,$03,$0C,$05 .db $0C,$0D,$18,$18,$4B,$FE,$00,$03 .db $7C,$00,$00,$80,$43,$00,$FF,$17 .db $80,$FF,$C6,$FF,$CE,$FF,$FE,$FF .db $7C,$FE,$00,$7C,$1F,$40,$2F,$E0 .db $2F,$60,$47,$70,$81,$F0,$80,$FE .db $83,$23,$4C,$0F,$18,$3F,$0C,$1F .db $0E,$1F,$27,$2F,$61,$6F,$60,$61 .db $30,$30,$0C,$0C,$47,$FE,$00,$00 .db $FC,$83,$0E,$18,$02,$FE,$00,$F8 .db $45,$00,$FF,$02,$86,$FF,$FC,$43 .db $FE,$02,$00,$02,$22,$00,$04,$0F .db $00,$34,$00,$14,$43,$00,$0F,$02 .db $02,$17,$05,$44,$0F,$00,$03,$0B .db $34,$0B,$14,$44,$00,$0F,$00,$10 .db $24,$00,$04,$80,$70,$F0,$88,$88 .db $43,$48,$C8,$02,$F0,$F0,$E0,$43 .db $F0,$00,$04,$F8,$00,$8C,$70,$00 .db $43,$30,$80,$26,$00,$08,$FE,$81 .db $FE,$80,$FE,$01,$7F,$00,$3D,$86 .db $2A,$8A,$06,$01,$7F,$01,$7D,$7D .db $00,$03,$83,$50,$DE,$00,$05,$22 .db $00,$0A,$F0,$04,$04,$0E,$74,$06 .db $B4,$86,$4C,$CE,$98,$84,$36,$6B .db $06,$00,$0C,$00,$F6,$70,$FE,$30 .db $43,$FE,$00,$00,$7E,$83,$0F,$6A .db $F0,$3F,$51,$C0,$07,$00,$FF,$20 .db $3F,$1D,$1D,$07,$0C,$44,$04,$08 .db $0A,$0C,$0C,$1C,$07,$00,$1F,$1F .db $00,$02,$00,$0F,$44,$03,$0B,$0D .db $0F,$03,$1F,$00,$F8,$20,$F0,$CC .db $C0,$E2,$C0,$CC,$00,$DF,$44,$01 .db $1F,$0B,$E0,$60,$C0,$CC,$00,$3E .db $00,$FF,$20,$33,$00,$20,$43,$C0 .db $E0,$06,$0A,$BF,$0F,$1F,$05,$05 .db $01,$83,$35,$08,$04,$2D,$00,$31 .db $00,$1D,$24,$00,$06,$02,$00,$08 .db $00,$0B,$00,$23,$83,$15,$0A,$00 .db $20,$83,$0F,$E9,$43,$C0,$00,$00 .db $EC,$45,$01,$DF,$22,$00,$00,$0C .db $83,$54,$34,$03,$0C,$FF,$1E,$FE .db $43,$1E,$3E,$E4,$41,$00,$02,$03 .db $00,$0F,$44,$00,$1F,$85,$31,$82 .db $85,$2F,$89,$43,$00,$3F,$85,$31 .db $92,$84,$01,$A0,$44,$00,$F8,$85 .db $31,$A2,$85,$01,$B0,$43,$08,$FC .db $85,$31,$B2,$E4,$4D,$00,$00,$07 .db $2D,$00,$02,$07,$02,$0D,$2D,$00 .db $00,$80,$2D,$00,$02,$80,$00,$E0 .db $29,$00,$83,$3C,$5B,$01,$03,$3E .db $28,$00,$04,$07,$02,$0D,$02,$08 .db $2B,$00,$85,$18,$79,$28,$00,$00 .db $80,$84,$13,$18,$00,$08,$3E,$00 .db $00,$0F,$3F,$00,$0B,$06,$16,$03 .db $23,$0F,$2F,$00,$3F,$3C,$7E,$7C .db $BE,$83,$17,$9C,$04,$09,$1F,$1C .db $3F,$10,$43,$3F,$00,$01,$00,$40 .db $24,$00,$06,$0E,$02,$E0,$F2,$1E .db $FF,$00,$43,$3F,$1E,$00,$27,$83 .db $06,$50,$01,$E0,$F0,$84,$50,$FC .db $03,$3F,$00,$00,$18,$25,$00,$00 .db $5F,$45,$00,$3F,$05,$3C,$7E,$7C .db $FE,$00,$FE,$22,$00,$06,$5F,$00 .db $1F,$00,$0E,$1A,$1F,$27,$00,$06 .db $02,$AE,$00,$93,$00,$FE,$00,$44 .db $3F,$1E,$83,$06,$50,$07,$0C,$FC .db $00,$6F,$00,$CE,$12,$1F,$2D,$00 .db $01,$1C,$1C,$84,$39,$42,$02,$7E .db $41,$7C,$27,$00,$83,$1E,$BC,$03 .db $20,$01,$20,$03,$28,$00,$84,$4A .db $6C,$00,$F8,$2B,$00,$84,$3D,$61 .db $01,$40,$61,$83,$33,$80,$0E,$1E .db $3E,$06,$3E,$08,$1F,$1C,$3F,$00 .db $3E,$26,$3E,$17,$3E,$0F,$44,$3F .db $01,$01,$00,$07,$23,$00,$01,$22 .db $A6,$85,$33,$A0,$0C,$60,$7C,$10 .db $F8,$38,$FC,$00,$7C,$44,$7C,$C8 .db $7C,$E0,$44,$FC,$80,$01,$00,$E0 .db $2D,$00,$05,$04,$00,$0C,$60,$00 .db $1F,$26,$00,$06,$04,$00,$06,$04 .db $3B,$06,$11,$38,$00,$43,$80,$00 .db $00,$C8,$83,$02,$F2,$03,$06,$00 .db $00,$3F,$43,$00,$7F,$87,$1E,$02 .db $01,$03,$08,$25,$00,$22,$02,$84 .db $1E,$15,$83,$1C,$2A,$1B,$10,$E0 .db $08,$F0,$88,$70,$80,$7E,$8E,$7F .db $1E,$33,$20,$F0,$10,$78,$00,$18 .db $08,$0C,$48,$4E,$66,$62,$61,$21 .db $01,$C1,$43,$03,$7E,$0B,$0D,$33 .db $08,$07,$2B,$36,$23,$3E,$23,$7E .db $03,$3E,$23,$00,$22,$02,$01,$00 .db $10,$43,$01,$1C,$03,$1D,$00,$01 .db $F0,$43,$10,$E8,$02,$30,$E0,$FE .db $43,$F2,$1F,$05,$F8,$1E,$F0,$1C .db $00,$08,$83,$2A,$30,$09,$06,$02 .db $05,$E1,$05,$E5,$06,$E6,$00,$E0 .db $84,$16,$0A,$0E,$7F,$00,$FF,$30 .db $FF,$7B,$4C,$FF,$87,$FF,$84,$04 .db $1B,$06,$11,$25,$00,$01,$04,$04 .db $22,$00,$00,$03,$85,$0E,$AF,$01 .db $20,$C0,$43,$10,$E0,$03,$80,$FC .db $E4,$7E,$85,$3A,$B6,$09,$20,$30 .db $10,$18,$90,$9C,$4C,$44,$0A,$82 .db $F0,$3F,$04,$00,$F0,$3F,$31,$80 .db $0F,$23,$38,$23,$78,$03,$78,$01 .db $7C,$21,$3C,$22,$3E,$16,$1F,$08 .db $0F,$43,$00,$07,$01,$12,$07,$43 .db $11,$03,$06,$1C,$01,$09,$01,$06 .db $06,$F8,$48,$00,$FC,$00,$F8,$23 .db $00,$02,$F0,$00,$FC,$43,$00,$FE .db $00,$04,$84,$08,$B9,$02,$00,$F8 .db $00,$83,$32,$16,$06,$60,$0F,$20 .db $23,$30,$20,$3C,$83,$23,$0C,$01 .db $0C,$0F,$84,$2C,$8A,$0A,$1F,$13 .db $1F,$10,$13,$18,$18,$0C,$0C,$03 .db $03,$45,$F8,$00,$00,$F2,$83,$0A .db $C1,$04,$FE,$04,$FC,$60,$C0,$43 .db $08,$FC,$00,$18,$83,$08,$BD,$00 .db $F0,$83,$3D,$5C,$09,$A0,$B0,$0D .db $32,$1F,$40,$3B,$24,$7F,$72,$87 .db $51,$48,$2E,$00,$08,$0C,$80,$40 .db $C8,$38,$5C,$BC,$DC,$7C,$8B,$51 .db $68,$45,$00,$02,$24,$00,$02,$30 .db $20,$7E,$43,$01,$3C,$0B,$13,$38 .db $2D,$4C,$06,$80,$00,$80,$40,$C0 .db $1E,$1F,$83,$09,$14,$05,$0B,$2F .db $11,$53,$79,$F9,$83,$4D,$9E,$45 .db $FF,$21,$03,$FE,$12,$EC,$2C,$45 .db $C0,$E0,$02,$00,$C0,$00,$22,$C0 .db $84,$13,$2A,$00,$20,$43,$00,$E0 .db $06,$03,$3E,$13,$1E,$0E,$0E,$04 .db $44,$10,$09,$44,$00,$10,$06,$01 .db $0C,$0D,$00,$01,$0B,$1F,$43,$06 .db $16,$43,$0F,$1F,$84,$3D,$2A,$05 .db $20,$88,$88,$B0,$38,$B8,$44,$3C .db $38,$43,$00,$E0,$07,$80,$C0,$00 .db $70,$40,$78,$40,$7C,$43,$C0,$FC .db $0F,$7F,$48,$3F,$38,$0F,$3C,$03 .db $1F,$10,$1F,$03,$6F,$6C,$DA,$26 .db $FF,$44,$00,$07,$00,$03,$83,$08 .db $06,$02,$00,$00,$25,$83,$17,$DD .db $0E,$1E,$F0,$1C,$FC,$1E,$8C,$8E .db $8E,$8F,$8E,$0F,$1E,$1F,$7E,$7F .db $44,$00,$E0,$02,$EE,$10,$7E,$43 .db $70,$7F,$83,$4D,$F4,$03,$12,$32 .db $1F,$3F,$83,$56,$CC,$02,$38,$7C .db $78,$43,$FC,$00,$01,$00,$0D,$45 .db $3F,$00,$00,$3E,$27,$00,$03,$48 .db $4C,$F8,$FC,$83,$56,$EC,$02,$1C .db $3E,$1E,$43,$3F,$00,$01,$00,$B0 .db $45,$FC,$00,$00,$7C,$27,$00,$87 .db $33,$80,$00,$15,$83,$34,$11,$02 .db $7E,$00,$7C,$88,$33,$90,$83,$27 .db $77,$00,$02,$89,$33,$9E,$03,$A8 .db $FC,$18,$FC,$83,$0F,$AC,$02,$C8 .db $7C,$E0,$43,$FC,$80,$83,$1A,$6B .db $00,$F0,$83,$02,$79,$01,$01,$09 .db $43,$0B,$10,$8B,$1E,$46,$43,$04 .db $14,$86,$1E,$56,$22,$00,$85,$1E .db $60,$43,$F8,$C8,$89,$1E,$6A,$22 .db $00,$02,$80,$00,$80,$25,$00,$01 .db $01,$09,$43,$0B,$10,$8B,$1E,$46 .db $43,$04,$14,$86,$1E,$56,$22,$00 .db $85,$1E,$60,$43,$F8,$C8,$86,$1E .db $6A,$02,$78,$00,$88,$22,$00,$02 .db $80,$00,$80,$26,$00,$84,$53,$41 .db $43,$00,$0F,$02,$02,$17,$05,$44 .db $0F,$00,$83,$53,$52,$44,$00,$0F .db $00,$10,$24,$00,$84,$53,$61,$43 .db $48,$C8,$02,$F0,$F0,$E0,$43,$F0 .db $00,$84,$53,$71,$43,$30,$80,$25 .db $00,$06,$40,$C0,$20,$60,$19,$39 .db $07,$84,$5A,$49,$01,$7C,$FE,$83 .db $25,$2A,$00,$1F,$83,$45,$DD,$02 .db $1F,$00,$07,$25,$00,$04,$C0,$F0 .db $60,$78,$E8,$84,$3B,$A7,$01,$1C .db $3E,$83,$0F,$A6,$83,$2B,$9F,$01 .db $00,$F0,$43,$00,$E0,$26,$00,$43 .db $10,$00,$0A,$12,$00,$13,$00,$1F .db $1E,$3F,$3E,$7F,$00,$7F,$43,$0F .db $1F,$00,$0D,$83,$41,$DD,$00,$1F .db $25,$00,$01,$38,$3C,$84,$07,$20 .db $84,$45,$F3,$02,$F8,$7C,$00,$43 .db $FC,$C0,$45,$F8,$00,$03,$F0,$00 .db $00,$80,$22,$00,$47,$26,$FF,$01 .db $00,$6E,$35,$00,$83,$08,$BA,$83 .db $1A,$A4,$28,$00,$86,$1A,$B1,$27 .db $00,$83,$1F,$68,$05,$F0,$F8,$E2 .db $F0,$C0,$F9,$44,$C0,$FC,$00,$F8 .db $43,$00,$FF,$04,$07,$FF,$0D,$FF .db $1E,$46,$FF,$1F,$0F,$3F,$FF,$8F .db $FF,$43,$EF,$01,$73,$01,$FB,$00 .db $79,$00,$31,$00,$03,$43,$00,$FF .db $04,$10,$FF,$8C,$FF,$3C,$46,$FF .db $FE,$08,$E0,$F0,$E0,$F2,$F2,$FF .db $F9,$FF,$FE,$26,$FF,$43,$0F,$FF .db $02,$07,$FF,$01,$48,$FF,$00,$08 .db $02,$27,$06,$3F,$3D,$FF,$F3,$FF .db $0F,$26,$FF,$43,$FE,$FF,$02,$FC .db $FF,$F0,$48,$FF,$00,$88,$4F,$80 .db $43,$F8,$80,$02,$F0,$80,$C0,$43 .db $00,$FF,$84,$4F,$94,$48,$FF,$3F .db $87,$4F,$A2,$44,$01,$F3,$00,$63 .db $43,$00,$FF,$84,$4F,$B4,$46,$FF .db $FC,$88,$4F,$C0,$26,$FF,$86,$4F .db $D0,$48,$FF,$00,$88,$4F,$E0,$26 .db $FF,$86,$4F,$F0,$48,$FF,$00,$FF .db $26,$00,$00,$0F,$46,$07,$0C,$00 .db $FC,$23,$00,$23,$04,$45,$67,$BC .db $09,$60,$BF,$E7,$38,$E3,$38,$E1 .db $38,$00,$F8,$22,$3C,$00,$30,$22 .db $37,$00,$07,$23,$FF,$E0,$20,$DF .db $EF,$FB,$CF,$F9,$F3,$E6,$F3,$F4 .db $FC,$F9,$FC,$00,$7F,$79,$70,$64 .db $48,$43,$62,$00,$80,$01,$80,$43 .db $80,$67,$80,$E7,$00,$C3,$00,$81 .db $22,$00,$23,$7F,$23,$FF,$23,$00 .db $0B,$20,$00,$04,$04,$00,$00,$39 .db $39,$24,$3C,$5B,$67,$22,$00,$E0 .db $28,$04,$00,$39,$3C,$7F,$00,$00 .db $82,$82,$00,$00,$1F,$1F,$20,$3F .db $D7,$E0,$A9,$C9,$54,$94,$00,$82 .db $00,$1F,$3F,$FF,$FE,$EB,$44,$63 .db $43,$60,$A8,$C8,$50,$90,$88,$08 .db $5F,$5F,$83,$00,$5A,$13,$7F,$7F .db $FF,$EF,$F7,$A0,$80,$00,$8F,$0F .db $1D,$1D,$5F,$5F,$3F,$3F,$F7,$FF .db $BF,$BF,$23,$FF,$13,$F0,$E2,$A0 .db $C0,$08,$40,$00,$00,$40,$40,$04 .db $04,$B8,$38,$27,$3F,$20,$3F,$97 .db $9C,$43,$14,$18,$E0,$7A,$40,$04 .db $38,$3F,$3F,$9F,$1F,$1F,$AA,$32 .db $28,$30,$D5,$E5,$6B,$C3,$D9,$09 .db $03,$03,$AF,$AF,$5F,$5F,$3D,$3F .db $FA,$FC,$F6,$FC,$50,$E0,$00,$00 .db $11,$01,$44,$40,$04,$04,$33,$33 .db $4C,$7F,$83,$FC,$9C,$E8,$00,$01 .db $40,$04,$33,$7F,$FF,$FF,$52,$62 .db $50,$60,$BB,$DB,$A3,$E3,$53,$93 .db $AB,$8B,$47,$07,$5F,$5F,$7D,$7F .db $F4,$FC,$EC,$F4,$F8,$E0,$02,$00 .db $08,$08,$21,$01,$00,$00,$E8,$E8 .db $18,$F8,$E8,$58,$14,$2C,$00,$08 .db $01,$00,$E8,$F8,$B8,$FC,$AA,$9A .db $E9,$D8,$9D,$85,$BA,$96,$92,$A6 .db $EA,$B6,$B3,$9F,$DE,$CC,$7A,$38 .db $75,$22,$7E,$E0,$30,$7F,$3C,$92 .db $92,$28,$38,$F6,$EE,$3D,$D7,$D6 .db $51,$3D,$34,$FE,$FE,$FF,$DF,$92 .db $38,$DE,$FB,$AF,$CF,$01,$20,$04 .db $04,$02,$02,$7C,$7C,$93,$FF,$7E .db $B3,$D7,$04,$7C,$6C,$FF,$FF,$04 .db $02,$7C,$EF,$DD,$FF,$93,$25,$00 .db $00,$07,$46,$03,$04,$02,$7C,$27 .db $7C,$26,$00,$00,$3C,$43,$27,$7C .db $01,$20,$FF,$45,$E3,$3C,$06,$81 .db $7C,$80,$40,$3C,$3C,$38,$22,$3B .db $01,$03,$3F,$24,$FF,$18,$CF,$FD .db $CE,$FC,$FE,$FF,$FF,$E4,$FE,$F5 .db $E4,$00,$7F,$78,$78,$79,$40,$41 .db $4A,$80,$40,$81,$40,$03,$C0,$43 .db $E7,$00,$02,$C3,$00,$81,$22,$00 .db $22,$3F,$24,$FF,$02,$00,$00,$04 .db $22,$00,$09,$0E,$0E,$09,$0F,$16 .db $19,$93,$98,$29,$30,$22,$00,$E0 .db $26,$0E,$0F,$1F,$9F,$3F,$00,$00 .db $08,$08,$43,$43,$0C,$0F,$11,$1C .db $E8,$F0,$15,$65,$E3,$03,$00,$08 .db $43,$0F,$1F,$FF,$FE,$FC,$29,$33 .db $50,$60,$84,$C4,$52,$92,$97,$17 .db $83,$00,$AC,$13,$FF,$FF,$3F,$7F .db $FB,$FD,$E8,$A0,$C0,$00,$07,$07 .db $17,$17,$0F,$0F,$3F,$3D,$EF,$EF .db $25,$FF,$04,$F8,$E8,$F0,$C2,$10 .db $22,$00,$E0,$55,$03,$03,$24,$27 .db $09,$0F,$09,$0E,$25,$26,$05,$06 .db $1A,$0C,$0A,$0C,$03,$27,$0F,$0F .db $27,$07,$0F,$0F,$35,$39,$CA,$F0 .db $37,$D3,$C1,$01,$AF,$AF,$07,$07 .db $BF,$BF,$1F,$1F,$3E,$FF,$FC,$FE .db $D0,$F8,$60,$E0,$09,$01,$21,$21 .db $09,$09,$21,$01,$0A,$0B,$42,$43 .db $0D,$0E,$32,$3C,$01,$21,$09,$01 .db $0B,$43,$0F,$3F,$8D,$F0,$70,$80 .db $6F,$AF,$4F,$8F,$BB,$3B,$9F,$1F .db $4B,$4B,$83,$00,$B2,$05,$F0,$F0 .db $C4,$E0,$B4,$C0,$83,$00,$BE,$1D .db $88,$88,$45,$C1,$A0,$60,$58,$78 .db $A4,$9C,$94,$CC,$00,$40,$88,$C1 .db $E0,$B8,$7C,$7C,$B3,$9F,$DC,$CC .db $EA,$DA,$E8,$D8,$D7,$8D,$85,$01 .db $3E,$1E,$7F,$3C,$7A,$38,$7D,$7E .db $6E,$7E,$00,$00,$8E,$8E,$37,$3F .db $CE,$F1,$BB,$CA,$CE,$06,$3F,$3D .db $FF,$FF,$00,$8E,$2D,$FF,$7D,$F9 .db $C2,$22,$00,$14,$4E,$4E,$93,$9F .db $6E,$F1,$9D,$6D,$7E,$1E,$9F,$9B .db $FF,$FF,$00,$4E,$9D,$FF,$F7,$F1 .db $64,$23,$00,$00,$03,$46,$01,$02 .db $00,$3E,$43,$07,$3C,$25,$00,$05 .db $1C,$1C,$07,$3C,$04,$FF,$45,$E5 .db $3E,$07,$C1,$3E,$C1,$20,$C0,$20 .db $1C,$1C,$22,$3D,$02,$01,$1F,$1F .db $23,$FF,$93,$00,$34,$04,$C0,$20 .db $01,$E0,$C3,$44,$00,$E7,$02,$C3 .db $00,$81,$22,$00,$01,$1F,$1F,$25 .db $FF,$02,$00,$00,$02,$22,$00,$09 .db $03,$03,$02,$03,$0D,$0E,$05,$06 .db $08,$0C,$22,$00,$05,$03,$03,$0F .db $07,$0F,$01,$62,$01,$1F,$05,$06 .db $99,$9E,$4A,$CC,$B5,$79,$48,$38 .db $31,$01,$01,$03,$07,$9F,$CF,$FE .db $FF,$FE,$94,$98,$6B,$F3,$90,$60 .db $65,$05,$17,$17,$4F,$4F,$23,$FF .db $11,$9F,$FE,$FF,$FA,$E8,$B0,$00 .db $00,$05,$05,$03,$03,$8F,$8F,$FF .db $FF,$BB,$BB,$25,$FF,$04,$FE,$FC .db $70,$00,$44,$22,$00,$F0,$2F,$02 .db $70,$F0,$2F,$02,$40,$E0,$5E,$20 .db $20,$82,$80,$60,$E0,$A0,$60,$74 .db $34,$11,$F0,$72,$32,$A8,$98,$20 .db $80,$E0,$E0,$D4,$F0,$D2,$78,$96 .db $A6,$EA,$F6,$B3,$9F,$7C,$CC,$AB .db $9A,$E8,$D0,$D5,$CD,$AA,$86,$7E .db $7E,$7F,$9C,$7A,$78,$3D,$7E,$00 .db $00,$90,$90,$E7,$67,$DA,$FF,$67 .db $18,$D9,$81,$E7,$E7,$FF,$FF,$00 .db $90,$E7,$BD,$FF,$FF,$18,$00,$21 .db $21,$02,$03,$CD,$CE,$B2,$FC,$CF .db $3B,$73,$41,$CF,$4F,$FF,$FE,$21 .db $03,$CF,$7F,$F6,$FE,$B0,$49,$01 .db $00,$00,$1F,$45,$07,$1C,$24,$00 .db $22,$0C,$01,$06,$FD,$45,$E6,$3D .db $08,$E0,$3F,$E3,$30,$E1,$30,$E0 .db $30,$0C,$22,$3C,$00,$20,$22,$2F .db $24,$FF,$92,$01,$B5,$04,$00,$F0 .db $81,$00,$C3,$44,$00,$E7,$02,$C3 .db $00,$81,$22,$00,$00,$0F,$26,$FF .db $25,$00,$03,$04,$04,$20,$20,$23 .db $01,$01,$E2,$E3,$22,$00,$06,$04 .db $20,$01,$01,$E3,$00,$00,$83,$02 .db $74,$0D,$E2,$E3,$9D,$FE,$62,$9C .db $5C,$90,$81,$01,$00,$09,$01,$E3 .db $22,$FF,$00,$FE,$83,$05,$00,$07 .db $7D,$A1,$85,$05,$5B,$5B,$3F,$3F .db $23,$7F,$13,$FF,$FF,$FE,$FA,$AC .db $C0,$80,$80,$54,$54,$23,$23,$7F .db $7F,$DF,$DF,$FF,$FF,$FB,$FB,$23 .db $FF,$05,$AF,$DC,$80,$20,$00,$04 .db $23,$00,$F0,$2D,$00,$F2,$8B,$00 .db $C0,$43,$14,$18,$F0,$21,$00,$D0 .db $1D,$12,$12,$20,$20,$D0,$F4,$10 .db $F0,$ED,$5C,$08,$78,$E7,$FF,$00 .db $12,$20,$F4,$F0,$BC,$F8,$1F,$D5 .db $CD,$AE,$86,$9B,$A6,$EA,$BE,$83 .db $02,$B8,$04,$AE,$BA,$E9,$D8,$3D .db $22,$7E,$E0,$33,$7F,$3C,$7E,$38 .db $11,$11,$54,$54,$B3,$F3,$5D,$BF .db $B3,$1C,$4C,$00,$F3,$73,$FF,$F7 .db $11,$54,$F3,$EE,$FF,$FF,$9C,$08 .db $04,$04,$E0,$E0,$59,$F9,$E7,$1F .db $39,$26,$F7,$F3,$F9,$F9,$FF,$DF .db $04,$E0,$B9,$FE,$FF,$0E,$86,$20 .db $28,$00,$06,$0E,$0E,$31,$3F,$40 .db $2F,$50,$24,$00,$E0,$49,$0E,$27 .db $0F,$00,$60,$60,$D0,$E0,$28,$70 .db $98,$70,$8E,$F6,$0F,$F6,$9F,$E0 .db $6E,$00,$20,$10,$00,$00,$06,$06 .db $90,$50,$9D,$65,$8A,$65,$8B,$72 .db $85,$31,$4E,$36,$4F,$3B,$47,$1D .db $23,$20,$30,$31,$18,$10,$16,$03 .db $01,$00,$EC,$C8,$F7,$08,$F5,$10 .db $EA,$F0,$0A,$04,$F2,$08,$84,$78 .db $84,$00,$E0,$E2,$04,$04,$08,$70 .db $23,$00,$E0,$24,$1C,$1C,$23,$37 .db $48,$3F,$40,$77,$88,$2F,$90,$0F .db $90,$00,$00,$0C,$16,$3E,$77,$6E .db $6D,$00,$60,$60,$F0,$F0,$18,$38 .db $CC,$C0,$06,$E2,$07,$F2,$07,$F0 .db $06,$23,$00,$03,$38,$FA,$7A,$F8 .db $85,$06,$30,$11,$62,$85,$75,$8E .db $44,$BF,$34,$7E,$3D,$7E,$20,$30 .db $31,$38,$14,$04,$35,$3C,$8C,$06 .db $48,$02,$04,$38,$C4,$85,$06,$58 .db $07,$F0,$00,$00,$07,$07,$1F,$18 .db $38,$43,$20,$60,$45,$40,$C0,$07 .db $07,$1F,$3F,$7B,$71,$F1,$F1,$FB .db $83,$06,$BF,$05,$18,$1F,$20,$3B .db $20,$31,$44,$40,$71,$00,$7B,$87 .db $06,$D0,$01,$60,$8D,$85,$06,$32 .db $0F,$01,$76,$76,$FF,$7C,$FE,$73 .db $FC,$30,$30,$31,$38,$08,$76,$7D .db $70,$8D,$06,$A8,$01,$98,$64,$86 .db $06,$B8,$25,$00,$06,$1E,$1E,$21 .db $3F,$40,$6F,$90,$43,$7F,$80,$22 .db $00,$04,$1E,$27,$4F,$7F,$7F,$24 .db $00,$0A,$60,$60,$F0,$E0,$8E,$B6 .db $5F,$76,$9F,$E0,$EE,$23,$00,$0D .db $10,$06,$06,$10,$00,$06,$07,$0F .db $0D,$0A,$08,$07,$07,$18,$43,$1F .db $20,$01,$2D,$52,$23,$00,$13,$07 .db $1B,$17,$25,$00,$60,$E0,$F0,$70 .db $98,$70,$88,$30,$C8,$D0,$28,$F0 .db $1C,$E4,$06,$24,$00,$06,$C0,$E0 .db $F8,$7F,$80,$7D,$80,$43,$79,$82 .db $14,$34,$87,$0B,$4C,$07,$38,$00 .db $07,$7F,$7F,$7C,$7C,$78,$30,$00 .db $00,$CA,$0F,$EA,$0F,$E8,$44,$0E .db $E4,$13,$E0,$0E,$6A,$8F,$20,$46 .db $F2,$F2,$F0,$F4,$74,$10,$12,$18 .db $1B,$27,$0B,$17,$04,$0B,$43,$00 .db $07,$01,$04,$0B,$43,$00,$0F,$01 .db $03,$03,$83,$02,$3E,$09,$07,$00 .db $B0,$C8,$90,$E8,$40,$B0,$00,$E0 .db $47,$00,$F0,$03,$80,$80,$00,$00 .db $22,$E0,$02,$00,$0F,$F0,$43,$6F .db $90,$01,$77,$88,$43,$3F,$40,$03 .db $0F,$30,$00,$0F,$22,$07,$01,$03 .db $01,$22,$00,$43,$F2,$07,$02,$E0 .db $06,$C2,$84,$06,$83,$E0,$27,$F2 .db $07,$30,$C6,$FA,$FA,$F8,$FA,$FA .db $18,$0A,$08,$1A,$3D,$06,$19,$06 .db $39,$20,$5F,$01,$7E,$00,$3F,$00 .db $0F,$00,$00,$18,$00,$00,$18,$3C .db $0D,$00,$00,$40,$38,$00,$78,$46 .db $00,$FC,$0C,$F8,$00,$F0,$00,$00 .db $C0,$B0,$78,$F8,$F0,$E0,$00,$00 .db $43,$40,$C0,$0B,$44,$C4,$2C,$EC .db $3A,$7E,$11,$7F,$00,$33,$00,$01 .db $23,$FF,$03,$7F,$7F,$33,$01,$43 .db $40,$7F,$07,$44,$7F,$2C,$3F,$3A .db $3B,$11,$11,$23,$00,$23,$FF,$83 .db $08,$54,$0D,$0F,$70,$1F,$E0,$47 .db $B8,$00,$FF,$00,$7F,$00,$3E,$00 .db $1C,$23,$00,$0F,$20,$78,$3E,$1C .db $00,$00,$20,$9C,$00,$BE,$00,$FF .db $00,$FE,$40,$BC,$85,$08,$32,$07 .db $60,$5C,$3E,$3C,$38,$70,$00,$00 .db $43,$7F,$80,$0B,$3B,$80,$00,$44 .db $04,$3B,$03,$04,$00,$03,$00,$00 .db $22,$7F,$00,$3B,$23,$00,$04,$C6 .db $0F,$E6,$0F,$E8,$44,$0E,$E4,$85 .db $07,$A2,$07,$F6,$F6,$F0,$B4,$14 .db $10,$12,$18,$43,$3F,$40,$0B,$1F .db $40,$1F,$20,$00,$20,$0F,$1F,$00 .db $0F,$00,$07,$22,$3F,$01,$1F,$1F .db $22,$00,$13,$DA,$03,$FE,$23,$9C .db $21,$4C,$72,$D8,$E4,$20,$D8,$80 .db $70,$40,$90,$FC,$CC,$C6,$80,$22 .db $00,$0A,$20,$30,$47,$39,$42,$3C .db $41,$3E,$40,$1F,$60,$43,$5F,$E0 .db $15,$6F,$F0,$08,$04,$02,$01,$00 .db $40,$40,$60,$00,$E8,$68,$F4,$84 .db $7A,$04,$FA,$68,$F6,$B0,$7C,$43 .db $DC,$3E,$1F,$00,$60,$30,$00,$60 .db $30,$1C,$1C,$70,$9D,$75,$8A,$75 .db $8B,$7A,$85,$71,$8E,$04,$7F,$6C .db $FE,$78,$FF,$20,$10,$01,$00,$00 .db $04,$6D,$78,$85,$06,$48,$0C,$14 .db $EA,$F4,$0A,$0C,$F2,$28,$14,$08 .db $F4,$00,$E0,$E2,$22,$00,$00,$C0 .db $86,$07,$23,$11,$3D,$42,$0F,$40 .db $07,$30,$03,$08,$01,$04,$00,$1E .db $27,$1D,$3F,$0F,$07,$03,$22,$00 .db $04,$9C,$98,$52,$F8,$0A,$43,$BC .db $46,$07,$F8,$04,$B4,$0F,$00,$00 .db $8C,$C4,$22,$80,$0C,$C4,$00,$6D .db $65,$FA,$05,$FB,$FA,$FD,$01,$0E .db $94,$6F,$83,$09,$3C,$04,$00,$60 .db $01,$00,$F0,$95,$09,$45,$22,$00 .db $01,$C0,$00,$89,$09,$30,$86,$06 .db $3A,$83,$09,$41,$00,$06,$87,$06 .db $46,$85,$09,$4E,$43,$78,$84,$02 .db $00,$E0,$E2,$25,$00,$02,$1C,$1C .db $23,$83,$09,$64,$03,$7F,$80,$3F .db $80,$83,$09,$68,$07,$00,$1C,$27 .db $1D,$7F,$7F,$3F,$0F,$22,$00,$04 .db $1C,$18,$92,$38,$8A,$43,$BC,$46 .db $07,$F8,$04,$B4,$0E,$00,$00,$0C .db $04,$22,$80,$00,$C4,$24,$00,$0A .db $07,$07,$0F,$0C,$0B,$0B,$34,$3F .db $73,$44,$C4,$26,$00,$00,$3B,$24 .db $00,$0A,$80,$80,$C0,$C0,$60,$E0 .db $30,$D0,$D8,$10,$18,$25,$00,$01 .db $20,$E0,$87,$09,$30,$07,$15,$EE .db $6C,$FF,$7A,$FD,$34,$FB,$83,$09 .db $40,$0F,$04,$6C,$78,$30,$00,$EF .db $C8,$F5,$08,$F6,$14,$EA,$84,$7A .db $08,$84,$44,$00,$FC,$12,$E2,$E0 .db $00,$00,$70,$00,$F8,$6F,$F0,$0F .db $70,$07,$08,$03,$0C,$00,$1F,$10 .db $2F,$43,$00,$3F,$00,$60,$22,$00 .db $0B,$04,$0F,$1F,$00,$9C,$7E,$60 .db $DC,$50,$C8,$80,$5C,$43,$00,$FE .db $0F,$20,$DC,$00,$FC,$1C,$00,$20 .db $28,$1C,$3C,$58,$00,$30,$FF,$04 .db $7B,$43,$00,$0F,$27,$00,$02,$33 .db $03,$07,$24,$00,$03,$08,$F4,$00 .db $F8,$43,$00,$F0,$27,$00,$22,$E0 .db $25,$00,$02,$02,$01,$02,$45,$00 .db $01,$00,$01,$62,$06,$02,$00,$0F .db $01,$26,$00,$04,$D5,$1F,$F0,$07 .db $FE,$44,$00,$FF,$09,$E1,$1E,$80 .db $61,$00,$80,$E5,$F8,$7F,$1F,$23 .db $00,$83,$0A,$B0,$43,$00,$0F,$27 .db $00,$02,$33,$03,$07,$24,$00,$83 .db $0A,$C8,$43,$00,$F0,$27,$00,$22 .db $E0,$24,$00,$86,$07,$B0,$02,$06 .db $00,$01,$25,$00,$03,$03,$03,$00 .db $01,$23,$00,$43,$80,$FC,$02,$00 .db $FC,$80,$43,$7C,$00,$0C,$FC,$10 .db $2C,$00,$1C,$80,$B8,$38,$38,$B8 .db $38,$08,$00,$83,$09,$6C,$45,$01 .db $02,$01,$03,$04,$83,$0A,$EC,$01 .db $07,$03,$25,$00,$03,$D6,$1F,$F0 .db $06,$43,$F2,$07,$83,$07,$9C,$11 .db $E0,$0C,$64,$8E,$E6,$F8,$FA,$FA .db $70,$34,$30,$34,$5C,$C3,$43,$DC .db $1F,$60,$45,$1F,$20,$05,$0E,$11 .db $00,$0F,$3C,$20,$25,$00,$19,$40 .db $90,$B0,$5D,$EC,$0F,$F2,$03,$02 .db $FD,$62,$FD,$C0,$7E,$00,$FC,$60 .db $20,$30,$1C,$02,$78,$78,$00,$01 .db $7E,$43,$00,$FF,$29,$00,$01,$08 .db $79,$26,$00,$44,$FC,$00,$29,$00 .db $01,$F8,$F8,$26,$00,$0E,$03,$03 .db $07,$07,$00,$05,$1A,$15,$72,$67 .db $C0,$1E,$81,$61,$9E,$23,$00,$03 .db $08,$1C,$7E,$60,$84,$0A,$3C,$0A .db $E0,$C0,$70,$D0,$18,$90,$58,$50 .db $98,$A0,$30,$23,$00,$11,$20,$20 .db $60,$C0,$00,$3C,$3C,$6F,$63,$E2 .db $5C,$C1,$06,$F8,$79,$86,$3E,$41 .db $83,$07,$2E,$03,$1C,$3E,$07,$01 .db $22,$00,$0E,$F8,$E8,$1C,$74,$8E .db $F4,$0E,$72,$0B,$AA,$33,$FA,$03 .db $F4,$06,$23,$00,$0D,$84,$CC,$FC .db $38,$00,$3C,$3C,$7F,$43,$C2,$0D .db $70,$07,$08,$43,$03,$04,$15,$01 .db $02,$00,$00,$3C,$0E,$06,$03,$03 .db $01,$00,$E0,$E0,$10,$F0,$08,$70 .db $88,$F0,$08,$E0,$10,$43,$D0,$18 .db $25,$00,$19,$E0,$E0,$FE,$7F,$FD .db $BF,$FB,$DF,$F7,$EF,$EF,$F7,$DF .db $FB,$BF,$FD,$7F,$FE,$FE,$FD,$FB .db $F7,$EF,$DF,$BF,$7F,$97,$0C,$90 .db $E0,$2D,$18,$18,$38,$38,$3C,$3C .db $7C,$7C,$2A,$7E,$14,$3E,$0A,$35 .db $15,$0A,$18,$38,$3C,$7C,$7E,$3E .db $3F,$1F,$54,$FC,$00,$FC,$2A,$54 .db $54,$2A,$3E,$00,$2A,$15,$00,$1F .db $0A,$15,$FC,$FC,$7E,$7E,$3E,$3F .db $22,$1F,$07,$00,$15,$0A,$00,$3E .db $14,$3E,$2A,$22,$7E,$0F,$7C,$7C .db $A8,$FC,$1F,$1F,$3E,$3E,$7E,$7E .db $7C,$FC,$12,$1E,$1C,$1C,$23,$18 .db $23,$08,$05,$18,$18,$66,$66,$1E .db $1C,$83,$0D,$0E,$16,$18,$66,$00 .db $00,$1C,$0C,$3E,$3E,$7F,$41,$FF .db $FF,$9F,$00,$1C,$00,$08,$00,$1C .db $2E,$7F,$3E,$C1,$22,$FF,$07,$01 .db $00,$20,$20,$82,$82,$19,$09,$22 .db $FF,$09,$0C,$3F,$0E,$7F,$00,$01 .db $00,$18,$2C,$E7,$22,$FF,$00,$8F .db $24,$00,$05,$26,$06,$50,$00,$06 .db $06,$23,$00,$22,$FF,$43,$F9,$FF .db $03,$FF,$C3,$00,$18,$22,$00,$03 .db $0E,$0E,$8B,$03,$25,$00,$22,$FF .db $01,$F1,$FC,$22,$FF,$01,$0F,$70 .db $43,$07,$08,$43,$0F,$10,$05,$0E .db $11,$06,$09,$00,$07,$27,$00,$03 .db $A0,$30,$D0,$1D,$8B,$0B,$BC,$01 .db $C0,$60,$85,$0B,$CA,$47,$7F,$80 .db $43,$3F,$40,$03,$1E,$21,$00,$1F .db $27,$00,$07,$E8,$0D,$F4,$07,$FA .db $03,$FE,$01,$87,$0B,$C0,$0D,$30 .db $18,$0C,$06,$00,$78,$78,$00,$09 .db $0E,$01,$1E,$01,$0E,$84,$0B,$78 .db $07,$18,$1C,$23,$00,$3D,$0C,$1C .db $0C,$24,$00,$97,$0D,$98,$F0,$2F .db $0C,$90,$03,$06,$00,$0A,$05,$83 .db $0C,$E4,$87,$0C,$F0,$01,$06,$0F .db $23,$1F,$22,$3E,$86,$0C,$E1,$87 .db $0C,$F0,$01,$3E,$3F,$23,$1F,$02 .db $3E,$3E,$2A,$22,$7E,$83,$0C,$FC .db $87,$0C,$D8,$02,$7E,$7E,$7C,$22 .db $FC,$05,$7E,$7E,$24,$3C,$38,$38 .db $23,$18,$23,$08,$83,$0D,$14,$01 .db $3C,$38,$85,$0D,$1A,$14,$20,$00 .db $C9,$00,$69,$20,$3B,$3A,$FF,$EB .db $FF,$00,$1E,$00,$3C,$00,$20,$C9 .db $69,$3B,$D5,$22,$FF,$23,$00,$16 .db $98,$18,$3C,$2C,$FF,$C3,$FE,$3E .db $0E,$0E,$04,$04,$00,$18,$BC,$6E .db $BD,$C3,$FF,$FF,$E3,$00,$26,$22 .db $00,$03,$70,$00,$8E,$06,$25,$00 .db $23,$FF,$00,$F9,$22,$FF,$02,$0D .db $00,$60,$22,$00,$05,$74,$74,$00 .db $00,$3A,$18,$23,$00,$22,$FF,$01 .db $8B,$FF,$83,$04,$5D,$07,$FF,$7A .db $80,$40,$A0,$40,$80,$0C,$46,$80 .db $12,$04,$00,$05,$1F,$3F,$73,$22 .db $6D,$06,$00,$FF,$7E,$7F,$08,$0D .db $00,$44,$01,$48,$43,$68,$01,$07 .db $00,$80,$F2,$FE,$B6,$B6,$96,$96 .db $45,$12,$80,$00,$0C,$43,$80,$00 .db $04,$A0,$3F,$BF,$00,$FF,$22,$6D .db $04,$73,$7F,$5F,$40,$00,$43,$58 .db $01,$43,$48,$01,$0D,$02,$03,$02 .db $07,$FE,$FF,$00,$FF,$A6,$A6,$B6 .db $B6,$FC,$F8,$22,$00,$08,$03,$02 .db $0D,$0E,$11,$1E,$25,$1E,$29,$45 .db $3A,$55,$04,$00,$02,$0E,$1A,$16 .db $22,$2E,$0A,$00,$C0,$40,$B0,$70 .db $88,$78,$A4,$78,$B4,$7C,$44,$AA .db $74,$07,$00,$40,$70,$58,$48,$54 .db $5C,$5C,$43,$7A,$A5,$05,$42,$BD .db $7E,$81,$7E,$BD,$45,$7A,$A5,$04 .db $5E,$5E,$7E,$7E,$42,$22,$5E,$43 .db $7A,$A5,$85,$0F,$94,$45,$7A,$A5 .db $84,$0F,$A0,$22,$5E,$02,$0C,$00 .db $14,$85,$0C,$F3,$22,$7E,$83,$0C .db $FC,$01,$0C,$1E,$85,$0D,$02,$88 .db $0C,$F0,$22,$7E,$8B,$0C,$FC,$97 .db $0C,$D8,$07,$48,$78,$70,$70,$30 .db $30,$18,$18,$23,$08,$83,$0D,$14 .db $02,$78,$70,$30,$84,$0D,$1B,$23 .db $00,$0A,$81,$81,$48,$48,$FF,$63 .db $F7,$00,$1E,$00,$CE,$24,$00,$23 .db $FF,$23,$00,$14,$3C,$2C,$7E,$5E .db $FF,$BD,$FF,$42,$03,$00,$5F,$00 .db $00,$3C,$6E,$DF,$7E,$BD,$FF,$FF .db $BB,$22,$00,$05,$50,$00,$88,$00 .db $4C,$4C,$25,$00,$23,$FF,$00,$B3 .db $22,$FF,$02,$8D,$00,$E0,$22,$00 .db $04,$12,$12,$2E,$0E,$50,$24,$00 .db $22,$FF,$01,$ED,$F1,$22,$FF,$04 .db $00,$FF,$7F,$85,$5F,$43,$BF,$7F .db $00,$E6,$45,$67,$DA,$83,$0F,$10 .db $00,$66,$22,$5A,$04,$00,$FF,$C0 .db $FF,$E8,$43,$FF,$FC,$00,$23,$43 .db $F0,$EF,$09,$FC,$23,$00,$FE,$FA .db $FE,$22,$EE,$EE,$22,$45,$67,$DA .db $09,$7F,$E6,$7F,$FF,$55,$FF,$40 .db $FF,$00,$FF,$22,$5A,$08,$66,$7F .db $5F,$7F,$00,$F8,$EF,$FC,$EF,$84 .db $10,$C8,$01,$FF,$50,$44,$FF,$00 .db $23,$EE,$09,$FE,$FA,$FE,$00,$00 .db $3F,$27,$5F,$5F,$BF,$43,$3F,$FF .db $09,$7F,$FF,$37,$FF,$7B,$FF,$00 .db $18,$20,$40,$43,$40,$00,$03,$00 .db $FC,$F8,$FE,$47,$FC,$FF,$03,$EC .db $FF,$DC,$FF,$27,$00,$00,$7D,$48 .db $FF,$7F,$00,$3F,$83,$08,$77,$00 .db $3F,$27,$00,$00,$BC,$48,$FF,$FC .db $05,$F8,$FF,$00,$FE,$00,$FC,$27 .db $00,$01,$08,$18,$83,$0C,$C4,$89 .db $0E,$76,$02,$18,$3C,$7C,$22,$FC .db $02,$7E,$7E,$2A,$22,$7E,$8E,$0E .db $74,$22,$FC,$01,$7E,$7E,$91,$0E .db $58,$23,$1F,$01,$3E,$3E,$83,$0E .db $88,$83,$10,$0C,$23,$08,$85,$0E .db $94,$85,$10,$1A,$25,$00,$08,$9D .db $8D,$FF,$E3,$FD,$1C,$1C,$00,$3C .db $22,$00,$19,$1C,$2E,$DD,$E3,$FF .db $FF,$10,$00,$83,$00,$12,$00,$97 .db $12,$50,$40,$8D,$00,$3F,$0C,$3D .db $00,$10,$83,$12,$97,$23,$FF,$00 .db $EF,$22,$00,$07,$38,$00,$03,$03 .db $26,$26,$30,$30,$23,$00,$22,$FF .db $0F,$FC,$D9,$CF,$FF,$FF,$75,$00 .db $38,$00,$06,$00,$0C,$0C,$57,$07 .db $88,$24,$00,$22,$FF,$01,$F3,$F8 .db $22,$FF,$E0,$21,$00,$3F,$3F,$40 .db $60,$9F,$4F,$B0,$5F,$A0,$5C,$A3 .db $40,$BF,$43,$BC,$00,$07,$10,$20 .db $00,$40,$20,$78,$00,$FC,$FC,$06 .db $0E,$F3,$E6,$1B,$F6,$0B,$43,$76 .db $8B,$05,$E6,$1B,$00,$F8,$1C,$0C .db $22,$04,$04,$0C,$43,$BC,$40,$BF .db $43,$43,$BC,$13,$60,$9F,$7F,$C0 .db $3F,$7F,$00,$3F,$78,$7C,$78,$78 .db $7C,$3F,$00,$00,$86,$7B,$06,$FB .db $43,$86,$7B,$0D,$0E,$F3,$FE,$07 .db $FC,$FE,$00,$FC,$1C,$7C,$3C,$3C .db $7C,$F8,$83,$00,$56,$02,$C0,$C0 .db $9F,$49,$80,$BF,$03,$81,$00,$3F .db $60,$24,$40,$04,$FE,$FE,$03,$03 .db $F9,$49,$23,$FD,$03,$E3,$00,$FC .db $04,$24,$00,$12,$BC,$85,$BA,$88 .db $B9,$8D,$BF,$87,$BF,$80,$9F,$80 .db $C0,$FF,$7F,$7F,$42,$45,$42,$83 .db $09,$15,$00,$00,$44,$FD,$E3,$00 .db $C3,$43,$FD,$03,$05,$F9,$07,$03 .db $FF,$FE,$FE,$28,$00,$84,$12,$01 .db $49,$40,$BF,$0D,$00,$07,$1F,$3F .db $3F,$7B,$3B,$7B,$00,$FC,$FC,$02 .db $0E,$F1,$49,$06,$F9,$01,$00,$FC .db $22,$FE,$22,$DE,$47,$40,$BF,$01 .db $60,$9F,$83,$0D,$B6,$02,$00,$3F .db $7B,$24,$7F,$01,$3F,$00,$47,$06 .db $F9,$08,$0E,$F1,$FE,$01,$FC,$02 .db $00,$FC,$DE,$24,$FE,$00,$FC,$83 .db $02,$3E,$04,$0C,$0C,$13,$0B,$16 .db $47,$17,$2D,$03,$00,$00,$03,$06 .db $23,$0D,$07,$00,$C0,$C0,$30,$10 .db $E8,$D0,$68,$47,$28,$F4,$03,$00 .db $00,$F0,$70,$23,$B8,$43,$17,$2D .db $43,$16,$2D,$07,$06,$1F,$00,$1F .db $03,$0C,$00,$03,$23,$0D,$03,$0E .db $0F,$03,$00,$47,$28,$F4,$07,$50 .db $E8,$30,$C8,$C0,$30,$00,$C0,$23 .db $B8,$02,$70,$F0,$C0,$86,$12,$BF .db $49,$40,$BF,$83,$12,$D0,$01,$3E .db $7A,$84,$12,$D6,$0F,$06,$02,$FF .db $7E,$83,$FE,$03,$E2,$1F,$02,$FF .db $1E,$E3,$00,$F8,$80,$23,$00,$00 .db $C0,$47,$40,$BF,$87,$12,$38,$00 .db $7B,$23,$7F,$06,$3F,$00,$00,$1E .db $E3,$02,$FF,$43,$1E,$E3,$01,$02 .db $FF,$85,$12,$52,$04,$C0,$E0,$C0 .db $C0,$E0,$87,$12,$5D,$4A,$80,$BF .db $02,$00,$3F,$60,$24,$40,$84,$12 .db $78,$00,$03,$49,$FD,$83,$02,$00 .db $FC,$04,$24,$00,$09,$BF,$87,$B3 .db $97,$AB,$A3,$A7,$B7,$BF,$9C,$85 .db $12,$9A,$03,$40,$48,$54,$48,$83 .db $12,$A4,$46,$FD,$83,$88,$12,$AF .db $2E,$00,$08,$7F,$3F,$C0,$40,$BF .db $00,$FF,$40,$BF,$23,$00,$03,$07 .db $00,$3F,$7B,$26,$00,$08,$FE,$FC .db $07,$02,$FF,$04,$FB,$06,$FB,$23 .db $00,$03,$F8,$00,$FC,$DC,$45,$40 .db $BF,$03,$7F,$C0,$00,$7F,$25,$00 .db $03,$7B,$7F,$7F,$3F,$23,$00,$43 .db $06,$FB,$83,$12,$50,$01,$00,$FE .db $25,$00,$03,$DC,$FC,$FC,$F8,$24 .db $00,$06,$01,$01,$02,$02,$05,$03 .db $05,$47,$05,$0A,$83,$14,$9F,$23 .db $02,$07,$00,$80,$80,$40,$40,$A0 .db $C0,$A0,$47,$20,$D0,$03,$00,$00 .db $C0,$C0,$23,$60,$47,$05,$0A,$03 .db $01,$07,$00,$07,$83,$0A,$E2,$23 .db $02,$83,$0C,$75,$47,$20,$D0,$07 .db $C0,$A0,$40,$A0,$80,$40,$00,$80 .db $23,$60,$02,$C0,$C0,$80,$86,$12 .db $BF,$01,$70,$8F,$45,$78,$87,$05 .db $70,$8F,$00,$07,$0F,$07,$43,$03 .db $43,$85,$13,$98,$01,$0E,$F3,$43 .db $1E,$E3,$43,$02,$FF,$03,$00,$F8 .db $F0,$E0,$22,$C0,$00,$D8,$47,$40 .db $BF,$01,$60,$DF,$85,$12,$3A,$01 .db $4B,$7F,$83,$00,$AC,$01,$00,$00 .db $49,$02,$FF,$85,$12,$52,$03,$D8 .db $FC,$F8,$F8,$83,$0F,$5C,$84,$12 .db $60,$49,$80,$BF,$83,$12,$6F,$24 .db $40,$84,$12,$78,$49,$23,$FD,$83 .db $12,$87,$24,$00,$97,$12,$90,$44 .db $FD,$E3,$00,$C3,$43,$FD,$03,$85 .db $12,$B2,$34,$00,$02,$7F,$7F,$80 .db $26,$00,$00,$7F,$2C,$00,$02,$FE .db $FE,$01,$26,$00,$04,$FE,$7F,$80 .db $00,$7F,$2B,$00,$00,$7F,$26,$00 .db $03,$FE,$01,$00,$FE,$2B,$00,$00 .db $FE,$27,$00,$08,$01,$01,$02,$00 .db $03,$01,$03,$03,$07,$45,$03,$05 .db $83,$14,$9F,$00,$03,$22,$01,$83 .db $14,$B8,$03,$00,$C0,$80,$C0,$47 .db $40,$A0,$83,$0A,$3B,$23,$C0,$47 .db $03,$05,$01,$01,$03,$83,$03,$02 .db $00,$00,$27,$01,$00,$00,$47,$40 .db $A0,$03,$80,$C0,$00,$C0,$83,$14 .db $F4,$23,$C0,$22,$80,$86,$12,$BF .db $03,$7C,$83,$7E,$81,$43,$4E,$B1 .db $02,$7C,$83,$00,$83,$07,$F2,$02 .db $40,$00,$41,$85,$12,$18,$49,$06 .db $FB,$01,$00,$F8,$22,$FC,$22,$DC .db $03,$70,$8F,$40,$BF,$43,$70,$8F .db $01,$60,$BF,$85,$12,$3A,$07,$43 .db $4F,$47,$47,$4F,$3F,$00,$00,$47 .db $06,$FB,$87,$12,$50,$00,$DC,$23 .db $FC,$87,$12,$5D,$4A,$80,$BF,$02 .db $00,$3F,$60,$24,$40,$85,$13,$F8 .db $49,$FD,$13,$02,$00,$FC,$04,$24 .db $00,$09,$BF,$80,$BE,$82,$BD,$84 .db $BC,$86,$BF,$83,$86,$14,$1A,$02 .db $41,$42,$41,$84,$12,$A4,$43,$F3 .db $7D,$04,$73,$FD,$E3,$FD,$83,$87 .db $12,$B2,$00,$80,$2B,$00,$08,$7F .db $3F,$C0,$7F,$80,$7D,$82,$6E,$91 .db $25,$00,$01,$06,$15,$26,$00,$08 .db $FE,$F4,$0B,$A8,$57,$70,$8F,$A0 .db $5F,$23,$00,$05,$08,$56,$AE,$7E .db $55,$AA,$83,$14,$4C,$03,$3F,$C0 .db $00,$7F,$25,$00,$03,$2A,$3F,$40 .db $3F,$23,$00,$83,$14,$4A,$05,$02 .db $FF,$FC,$1F,$00,$FE,$25,$00,$03 .db $BE,$FC,$00,$E0,$24,$00,$84,$03 .db $78,$05,$03,$04,$07,$09,$07,$0A .db $83,$17,$A8,$00,$00,$43,$00,$01 .db $83,$0A,$E1,$0A,$80,$80,$40,$80 .db $60,$80,$E0,$C0,$70,$C0,$B0,$83 .db $17,$C0,$83,$08,$3E,$43,$60,$A0 .db $87,$17,$A8,$07,$03,$05,$03,$06 .db $00,$03,$00,$01,$46,$01,$02,$00 .db $00,$87,$17,$C0,$83,$17,$BC,$03 .db $00,$C0,$00,$80,$43,$60,$A0,$E0 .db $37,$40,$C0,$80,$00,$01,$00,$07 .db $01,$3E,$07,$F9,$3E,$C7,$78,$FF .db $80,$7F,$E0,$9F,$7C,$01,$07,$3F .db $FF,$7F,$9F,$E3,$FC,$80,$00,$E0 .db $80,$7C,$E0,$9F,$7C,$E3,$1E,$FF .db $01,$FE,$07,$F9,$3E,$80,$E0,$FC .db $FF,$FE,$F9,$C7,$3F,$E3,$1F,$FC .db $03,$4B,$FF,$00,$27,$FF,$03,$C7 .db $F8,$3F,$C0,$4B,$FF,$00,$27,$FF .db $1B,$00,$3C,$3C,$42,$7A,$85,$7A .db $8D,$7A,$9D,$5A,$BD,$5E,$B9,$5E .db $B1,$00,$00,$06,$0E,$1E,$3C,$78 .db $70,$5E,$A1,$7E,$81,$8B,$18,$64 .db $01,$60,$42,$85,$18,$72,$43,$7E .db $81,$05,$78,$87,$7B,$8C,$78,$9F .db $86,$18,$6A,$00,$02,$83,$11,$3F .db $8B,$18,$76,$05,$42,$BD,$3C,$42 .db $00,$3C,$85,$18,$88,$01,$38,$00 .db $47,$00,$FF,$06,$07,$FF,$0C,$FF .db $10,$FF,$30,$28,$FF,$47,$00,$FF .db $06,$E0,$FF,$30,$FF,$08,$FF,$0C .db $28,$FF,$47,$20,$FF,$06,$30,$FF .db $10,$FF,$0C,$FF,$07,$28,$FF,$47 .db $04,$FF,$06,$0C,$FF,$08,$FF,$30 .db $FF,$E0,$29,$FF,$4A,$00,$FF,$03 .db $FD,$02,$FF,$01,$27,$FF,$49,$00 .db $FF,$05,$04,$FF,$00,$FD,$01,$FE .db $25,$00,$10,$02,$01,$F7,$FF,$EB .db $F7,$F7,$E3,$D5,$EF,$FD,$81,$FB .db $E3,$D9,$EF,$EB,$22,$FF,$05,$EF .db $E3,$83,$CD,$CD,$E3,$43,$00,$FF .db $04,$14,$FF,$00,$F7,$14,$46,$FF .db $00,$22,$00,$00,$08,$27,$00,$0E .db $C3,$00,$FF,$C3,$3C,$FF,$C3,$3C .db $FF,$00,$FF,$C3,$00,$00,$C3,$22 .db $FF,$0C,$3C,$C3,$18,$00,$7E,$18 .db $E7,$7E,$99,$E7,$7E,$81,$FF,$84 .db $19,$9B,$07,$18,$7E,$FF,$FF,$E7 .db $99,$7E,$FF,$83,$19,$88,$4B,$FF .db $00,$27,$FF,$01,$7E,$81,$4D,$FF .db $00,$27,$FF,$83,$18,$60,$00,$62 .db $86,$18,$69,$83,$18,$78,$01,$00 .db $0C,$83,$18,$74,$00,$60,$8C,$18 .db $63,$83,$18,$78,$85,$18,$72,$85 .db $19,$F6,$05,$78,$9F,$5B,$BC,$58 .db $BF,$87,$1A,$02,$01,$18,$38,$8D .db $19,$F4,$01,$4E,$B1,$83,$18,$B4 .db $85,$18,$72,$01,$20,$00,$45,$00 .db $FF,$02,$07,$FF,$18,$44,$FF,$20 .db $00,$40,$28,$FF,$45,$00,$FF,$02 .db $E0,$FF,$18,$44,$FF,$04,$00,$02 .db $28,$FF,$47,$40,$FF,$43,$20,$FF .db $02,$18,$FF,$07,$28,$FF,$47,$02 .db $FF,$43,$04,$FF,$02,$18,$FF,$E0 .db $29,$FF,$48,$00,$FF,$00,$FB,$83 .db $1A,$64,$00,$00,$26,$FF,$00,$FE .db $4B,$00,$FF,$03,$02,$FF,$00,$FE .db $26,$00,$88,$19,$4F,$06,$F9,$C5 .db $FB,$E3,$C9,$FF,$EB,$23,$FF,$0F .db $E3,$C3,$CD,$DD,$E3,$00,$FF,$22 .db $FF,$00,$EB,$08,$F7,$00,$EB,$22 .db $45,$FF,$00,$03,$00,$14,$08,$14 .db $22,$00,$87,$18,$18,$01,$C3,$3E .db $8D,$18,$22,$97,$18,$00,$83,$18 .db $48,$4B,$FF,$00,$27,$FF,$83,$18 .db $30,$4B,$FF,$00,$27,$FF,$83,$18 .db $60,$00,$46,$86,$19,$E9,$83,$18 .db $64,$00,$00,$84,$19,$F3,$01,$06 .db $0E,$8B,$19,$FC,$83,$18,$64,$85 .db $19,$F2,$85,$1B,$76,$05,$58,$BF .db $5B,$B4,$58,$A7,$91,$1B,$82,$87 .db $19,$E8,$83,$18,$B4,$85,$19,$F2 .db $01,$04,$00,$86,$1A,$44,$44,$FF .db $40,$02,$80,$FF,$80,$28,$FF,$86 .db $1A,$5C,$44,$FF,$02,$02,$01,$FF .db $01,$28,$FF,$45,$80,$FF,$43,$40 .db $FF,$84,$1A,$7A,$28,$FF,$45,$01 .db $FF,$43,$02,$FF,$84,$1A,$92,$29 .db $FF,$46,$00,$FF,$07,$F7,$08,$FF .db $04,$FE,$01,$FD,$02,$25,$FF,$01 .db $FD,$FE,$4D,$00,$FF,$01,$01,$FF .db $27,$00,$86,$19,$50,$03,$FF,$D1 .db $CD,$EB,$83,$1A,$DB,$23,$FF,$11 .db $E3,$E3,$DD,$DD,$E3,$41,$FF,$00 .db $DD,$14,$EB,$00,$FF,$14,$EB,$00 .db $DD,$41,$43,$FF,$00,$04,$22,$14 .db $08,$14,$22,$83,$08,$1E,$95,$19 .db $9A,$23,$00,$8E,$19,$84,$22,$FF .db $03,$3C,$C3,$7E,$81,$4D,$FF,$00 .db $27,$FF,$83,$19,$88,$4B,$FF,$00 .db $27,$FF,$83,$18,$60,$8B,$18,$78 .db $01,$00,$30,$85,$18,$88,$8B,$1B .db $7C,$83,$18,$68,$85,$1B,$72,$01 .db $1E,$3C,$F0,$30,$1B,$90,$01,$80 .db $00,$83,$16,$3F,$08,$B0,$40,$F8 .db $20,$7C,$00,$7E,$00,$3F,$23,$00 .db $13,$40,$20,$20,$10,$00,$01,$00 .db $03,$02,$05,$04,$0B,$08,$1F,$10 .db $3E,$00,$7E,$00,$FC,$23,$00,$13 .db $08,$10,$20,$40,$00,$3F,$00,$1F .db $00,$0F,$70,$73,$E9,$FB,$56,$6F .db $3A,$3D,$07,$07,$23,$00,$02,$71 .db $39,$07,$83,$0B,$E7,$0C,$F8,$00 .db $F0,$0E,$CE,$17,$DF,$6A,$F6,$5C .db $BC,$E0,$E0,$23,$00,$05,$8E,$9C .db $E0,$00,$00,$01,$43,$01,$02,$04 .db $02,$05,$02,$07,$02,$44,$0F,$00 .db $23,$00,$05,$02,$02,$04,$04,$00 .db $80,$44,$00,$C0,$43,$E0,$00,$44 .db $F0,$00,$28,$00,$43,$0F,$00,$05 .db $07,$70,$77,$E8,$FB,$55,$84,$1D .db $7B,$23,$00,$03,$70,$39,$07,$00 .db $44,$00,$F0,$05,$E0,$0E,$EE,$17 .db $DF,$2A,$84,$1D,$93,$23,$00,$00 .db $0E,$83,$1D,$9D,$E0,$3C,$FF,$62 .db $BD,$4C,$F2,$18,$E6,$34,$CB,$29 .db $D7,$43,$BF,$06,$CF,$00,$30,$61 .db $41,$06,$0F,$0F,$36,$00,$FF,$46 .db $BD,$32,$4F,$18,$67,$2C,$D3,$94 .db $EB,$C2,$FD,$60,$F3,$00,$0C,$86 .db $82,$60,$F0,$F0,$6C,$00,$CF,$CF .db $F9,$F0,$FF,$0C,$FF,$30,$CF,$CF .db $30,$00,$CF,$22,$00,$06,$C9,$F3 .db $FC,$3F,$CF,$00,$00,$22,$FF,$02 .db $BD,$FF,$DB,$44,$FF,$E7,$0B,$DB .db $FF,$BD,$FF,$FF,$00,$42,$24,$18 .db $18,$24,$42,$84,$16,$30,$01,$00 .db $07,$83,$13,$22,$15,$12,$2F,$0D .db $36,$3A,$DD,$00,$01,$03,$07,$0C .db $13,$07,$1E,$C8,$F6,$30,$C8,$C0 .db $38,$20,$D0,$85,$14,$F2,$05,$00 .db $00,$F8,$F0,$C0,$20,$83,$14,$FD .db $23,$FF,$93,$00,$34,$39,$00,$15 .db $40,$40,$01,$01,$10,$00,$03,$0A .db $06,$05,$0F,$09,$2B,$26,$00,$00 .db $20,$11,$0D,$0F,$05,$1E,$29,$00 .db $83,$00,$66,$00,$01,$26,$00,$01 .db $02,$01,$25,$00,$00,$08,$2B,$00 .db $00,$08,$2A,$00,$00,$08,$29,$00 .db $02,$14,$08,$14,$22,$00,$17,$66 .db $FF,$49,$FF,$02,$FF,$0F,$F0,$01 .db $FE,$07,$FB,$0F,$FB,$3F,$D8,$7E .db $58,$20,$4F,$41,$5F,$5F,$7C,$44 .db $00,$FF,$12,$FD,$00,$F2,$02,$F7 .db $07,$ED,$02,$F7,$00,$F2,$00,$00 .db $02,$0F,$0F,$1D,$0F,$0F,$43,$7F .db $D8,$07,$4B,$FF,$13,$EF,$03,$FC .db $2A,$F9,$43,$30,$FF,$13,$7C,$7C .db $5B,$7B,$63,$67,$70,$75,$00,$FF .db $44,$BB,$28,$D7,$10,$EF,$28,$D7 .db $44,$BB,$43,$00,$FF,$28,$00,$E0 .db $3C,$FF,$63,$BC,$4E,$F1,$19,$E6 .db $04,$FB,$01,$CF,$03,$CF,$46,$BF .db $00,$30,$60,$41,$07,$37,$37,$0E .db $00,$FF,$86,$7D,$02,$9F,$08,$97 .db $0C,$F3,$94,$EB,$C6,$F9,$6A,$F5 .db $00,$0C,$66,$62,$80,$F0,$F0,$78 .db $00,$F3,$F3,$7E,$3C,$FF,$03,$FF .db $0C,$F3,$F3,$0C,$00,$F3,$22,$00 .db $06,$72,$FC,$3F,$CF,$F3,$00,$00 .db $22,$FF,$02,$BD,$FF,$DB,$44,$FF .db $E7,$8E,$1E,$53,$1C,$00,$03,$03 .db $04,$04,$0B,$03,$0D,$0E,$37,$32 .db $7D,$4C,$F2,$00,$01,$03,$04,$01 .db $07,$3E,$7C,$30,$CE,$C8,$34,$10 .db $E8,$A0,$88,$1E,$7F,$03,$F0,$C8 .db $30,$E0,$83,$14,$FD,$24,$FF,$92 .db $01,$B5,$3B,$00,$83,$04,$E8,$07 .db $08,$00,$03,$04,$06,$03,$15,$12 .db $22,$00,$04,$10,$0D,$0F,$07,$0E .db $27,$00,$01,$08,$08,$84,$03,$01 .db $00,$03,$24,$00,$02,$04,$02,$01 .db $25,$00,$00,$08,$35,$00,$04,$14 .db $08,$00,$00,$14,$26,$00,$02,$22 .db $14,$00,$83,$1C,$7C,$85,$1F,$20 .db $09,$0C,$F3,$18,$E7,$1F,$FB,$3F .db $D8,$5B,$F4,$83,$1F,$30,$03,$59 .db $5F,$7C,$74,$46,$00,$FF,$08,$FD .db $00,$FA,$02,$F7,$00,$FA,$00,$FD .db $22,$00,$1B,$02,$07,$0F,$07,$02 .db $7B,$F4,$5B,$F4,$7F,$D8,$1F,$EB .db $1C,$E3,$24,$F3,$33,$FC,$30,$FF .db $74,$74,$7C,$7F,$7F,$6F,$73,$8C .db $1F,$67,$43,$00,$FF,$28,$00,$E0 .db $22,$FF,$63,$BC,$46,$F9,$01,$E6 .db $00,$E7,$21,$DF,$63,$9F,$56,$AF .db $00,$30,$60,$59,$1B,$07,$0F,$1E .db $00,$FF,$C6,$3D,$62,$9F,$80,$67 .db $00,$E7,$84,$FB,$85,$1F,$A4,$04 .db $06,$9A,$D8,$E0,$F0,$83,$12,$17 .db $0A,$9F,$0F,$FF,$C0,$FF,$03,$FC .db $FC,$03,$00,$FC,$22,$00,$06,$9C .db $3F,$CF,$F3,$FC,$00,$00,$22,$FF .db $02,$BD,$FF,$DB,$44,$FF,$E7,$8F .db $1E,$53,$0C,$02,$00,$03,$03,$0D .db $0C,$1F,$13,$3C,$0C,$73,$32,$CD .db $43,$00,$01,$0D,$0F,$1F,$3C,$72 .db $C4,$3A,$28,$F4,$D0,$68,$A0,$D0 .db $80,$60,$44,$00,$80,$05,$00,$CC .db $38,$70,$E0,$80,$22,$00,$23,$FF .db $93,$00,$34,$3D,$00,$04,$10,$10 .db $01,$01,$04,$62,$00,$01,$0B,$09 .db $23,$00,$03,$08,$05,$03,$07,$23 .db $00,$01,$20,$20,$83,$03,$BE,$05 .db $01,$04,$02,$03,$0D,$0A,$22,$00 .db $04,$10,$08,$05,$03,$06,$25,$00 .db $01,$08,$08,$2A,$00,$00,$08,$2A .db $00,$00,$08,$29,$00,$02,$14,$08 .db $14,$22,$00,$17,$66,$FF,$69,$DF .db $40,$BC,$13,$EF,$15,$EB,$3F,$DA .db $1B,$F4,$7F,$F4,$7E,$78,$63,$5F .db $5F,$7E,$74,$74,$48,$00,$FF,$06 .db $FD,$02,$F8,$00,$FD,$00,$FF,$23 .db $00,$1A,$02,$07,$02,$00,$7F,$A4 .db $7F,$F4,$5B,$F4,$1F,$EA,$1D,$E3 .db $2C,$FB,$37,$F8,$30,$FF,$24,$74 .db $74,$7E,$7F,$67,$77,$8C,$1F,$67 .db $43,$00,$FF,$28,$00,$0A,$FF,$61 .db $BE,$40,$F9,$10,$E9,$30,$CF,$29 .db $D7,$85,$21,$0C,$03,$66,$46,$01 .db $0F,$85,$21,$16,$E0,$21,$72,$8F .db $98,$67,$20,$DF,$80,$F3,$C0,$F3 .db $62,$FD,$00,$0C,$06,$82,$E0,$EC .db $EC,$70,$00,$3F,$3F,$E7,$C3,$FF .db $30,$FF,$C0,$3F,$3F,$C0,$00,$3F .db $22,$00,$06,$27,$CF,$F3,$FC,$3F .db $00,$00,$22,$FF,$02,$BD,$FF,$DB .db $44,$FF,$E7,$8B,$1E,$53,$23,$00 .db $1E,$03,$03,$07,$04,$0F,$03,$1C .db $0C,$33,$31,$4E,$4A,$BD,$00,$00 .db $03,$07,$0F,$1C,$33,$4E,$34,$DA .db $E8,$74,$20,$D8,$C0,$20,$00,$E0 .db $85,$1E,$82,$03,$1C,$78,$E0,$C0 .db $83,$17,$39,$24,$FF,$92,$01,$B5 .db $38,$00,$0E,$01,$00,$02,$00,$04 .db $00,$08,$00,$10,$00,$20,$00,$40 .db $00,$80,$E4,$68,$00,$0E,$80,$00 .db $40,$00,$20,$00,$10,$00,$08,$00 .db $04,$00,$02,$00,$01,$E4,$37,$00 .db $FF,$E0,$2F,$00,$FF,$60,$FF,$70 .db $FF,$38,$FF,$1C,$FF,$0E,$FF,$07 .db $FF,$03,$FF,$00,$60,$70,$38,$1C .db $0E,$07,$03,$00,$FF,$06,$FF,$0E .db $FF,$1C,$FF,$38,$FF,$70,$FF,$E0 .db $FF,$C0,$FF,$00,$06,$0E,$1C,$38 .db $70,$E0,$C0,$49,$01,$00,$00,$F1 .db $43,$00,$01,$28,$00,$00,$86,$44 .db $00,$C6,$00,$A6,$44,$00,$96,$02 .db $8E,$00,$8E,$28,$00,$02,$60,$00 .db $60,$22,$00,$00,$6F,$47,$00,$6C .db $2A,$00,$04,$18,$00,$3C,$00,$99 .db $47,$00,$DB,$2E,$00,$08,$E7,$00 .db $36,$00,$F6,$00,$06,$00,$36,$2E .db $00,$00,$C7,$47,$00,$6C,$28,$00 .db $45,$C0,$00,$00,$CF,$47,$00,$D9 .db $30,$00,$02,$80,$00,$8F,$43,$00 .db $80,$33,$00,$04,$E0,$E0,$B0,$E0 .db $F0,$25,$00,$0B,$40,$00,$C0,$E0 .db $00,$C0,$C0,$A0,$40,$E0,$00,$60 .db $27,$00,$00,$40,$25,$00,$00,$80 .db $44,$00,$C0,$00,$80,$28,$00,$01 .db $80,$80,$24,$00,$07,$0E,$11,$06 .db $19,$06,$09,$00,$0E,$36,$00,$00 .db $01,$63,$01,$03,$07,$08,$0F,$10 .db $28,$00,$04,$1E,$18,$7F,$7C,$DF .db $43,$FE,$5F,$05,$FC,$42,$BC,$3E .db $78,$04,$24,$00,$05,$20,$40,$80 .db $03,$FF,$07,$88,$00,$1B,$05,$60 .db $FF,$00,$FF,$03,$07,$83,$00,$2A .db $04,$60,$00,$C0,$FF,$E0,$88,$00 .db $03,$05,$06,$FF,$00,$FF,$C0,$E0 .db $83,$00,$12,$02,$06,$00,$01,$36 .db $00,$00,$86,$22,$00,$04,$07,$00 .db $04,$00,$07,$45,$00,$04,$28,$00 .db $00,$6C,$22,$00,$0A,$80,$00,$A1 .db $00,$BA,$00,$23,$00,$22,$00,$21 .db $28,$00,$00,$D9,$24,$00,$08,$8E .db $00,$50,$00,$CC,$00,$02,$00,$DE .db $28,$00,$00,$E6,$24,$00,$08,$67 .db $00,$94,$00,$F4,$00,$84,$00,$74 .db $28,$00,$00,$67,$22,$00,$04,$10 .db $00,$3C,$00,$91,$44,$00,$90,$00 .db $91,$28,$00,$00,$CF,$24,$00,$00 .db $E0,$22,$00,$04,$C0,$00,$20,$00 .db $E0,$E4,$21,$00,$00,$80,$43,$80 .db $40,$01,$00,$80,$24,$00,$02,$80 .db $80,$C0,$27,$00,$01,$80,$C0,$44 .db $C0,$E0,$02,$A0,$00,$C0,$28,$00 .db $00,$40,$27,$00,$00,$18,$44,$00 .db $24,$00,$18,$2D,$00,$00,$18,$47 .db $18,$24,$83,$02,$B8,$02,$00,$18 .db $00,$23,$18,$E0,$20,$00,$18,$00 .db $0E,$10,$1D,$20,$1B,$20,$17,$20 .db $0E,$21,$00,$5E,$00,$A0,$00,$C0 .db $01,$02,$04,$08,$10,$20,$40,$00 .db $F0,$08,$E0,$10,$C0,$20,$83,$02 .db $74,$30,$00,$02,$E0,$E0,$10,$43 .db $F0,$08,$05,$30,$C8,$C0,$F0,$C0 .db $E0,$25,$00,$22,$C0,$06,$E0,$C0 .db $C0,$80,$C0,$00,$80,$27,$00,$02 .db $C0,$C0,$80,$31,$00,$02,$80,$80 .db $C0,$27,$00,$00,$C0,$85,$00,$FB .db $00,$E0,$28,$00,$00,$40,$26,$00 .db $04,$07,$07,$19,$1E,$20,$43,$3F .db $40,$00,$5F,$43,$C0,$7F,$12,$80 .db $00,$00,$01,$03,$06,$3C,$0C,$04 .db $00,$E0,$E0,$F8,$18,$04,$EC,$02 .db $F4,$02,$44,$FA,$03,$05,$01,$00 .db $00,$E0,$F0,$18,$22,$0C,$E0,$42 .db $00,$01,$01,$23,$23,$77,$37,$7F .db $7F,$FF,$73,$FF,$6D,$FF,$7F,$FF .db $00,$01,$23,$37,$7F,$73,$6D,$7F .db $00,$80,$80,$C4,$C0,$EE,$EC,$FE .db $FC,$FF,$9C,$FF,$6C,$FF,$F8,$FF .db $00,$80,$C4,$EC,$FE,$9E,$6E,$FE .db $00,$FF,$3F,$A0,$6F,$E0,$00,$FF .db $06,$09,$0C,$12,$18,$64,$40,$F8 .db $00,$5A,$1E,$23,$00,$E0,$3A,$60 .db $00,$7B,$73,$8C,$9B,$64,$1B,$E4 .db $73,$8C,$C3,$3C,$F9,$06,$00,$FD .db $00,$73,$9B,$1B,$73,$C3,$F9,$00 .db $00,$3F,$38,$40,$70,$8F,$6F,$90 .db $5F,$A0,$1C,$A3,$60,$9F,$3B,$84 .db $00,$07,$10,$20,$00,$40,$20,$78 .db $00,$FC,$04,$06,$12,$E3,$EA,$13 .db $F2,$0B,$43,$72,$8B,$05,$EA,$13 .db $00,$F8,$1C,$0C,$22,$04,$0C,$0C .db $00,$1C,$1C,$3E,$12,$73,$0A,$5B .db $0E,$1F,$00,$4E,$23,$00,$05,$1C .db $3E,$7F,$57,$1F,$4E,$24,$00,$1A .db $2C,$00,$06,$06,$1F,$1A,$3B,$12 .db $33,$1C,$3E,$00,$1C,$00,$2C,$06 .db $1F,$37,$3F,$3E,$1C,$00,$3F,$3F .db $47,$7F,$9F,$44,$7F,$BF,$08,$FF .db $77,$BF,$7B,$FF,$00,$08,$20,$40 .db $43,$40,$00,$03,$00,$FC,$F8,$FE .db $47,$FC,$FF,$03,$EC,$FF,$DC,$FF .db $2E,$00,$02,$C0,$C0,$20,$45,$E0 .db $10,$27,$00,$05,$C0,$20,$00,$E0 .db $C0,$E0,$83,$03,$1C,$27,$00,$01 .db $C0,$80,$2A,$00,$00,$C0,$86,$03 .db $48,$00,$F0,$24,$00,$00,$40,$24 .db $00,$08,$80,$80,$C0,$C0,$60,$C0 .db $E0,$00,$E0,$26,$00,$00,$80,$23 .db $00,$10,$79,$80,$7F,$CF,$70,$FF .db $0D,$72,$1D,$22,$1F,$20,$0F,$10 .db $00,$0F,$06,$26,$00,$10,$E6,$01 .db $FE,$F9,$0E,$FD,$B0,$4E,$B8,$44 .db $F8,$04,$F0,$08,$00,$F0,$18,$26 .db $00,$E0,$37,$3F,$7F,$0F,$3F,$00 .db $1F,$00,$07,$01,$3A,$31,$46,$79 .db $82,$00,$83,$3F,$1F,$07,$00,$01 .db $39,$7D,$7C,$F8,$FE,$C0,$FC,$00 .db $F8,$00,$E0,$00,$78,$30,$44,$78 .db $82,$00,$82,$FC,$F8,$E0,$00,$80 .db $B8,$7C,$7C,$00,$FB,$FB,$04,$C3 .db $3C,$F3,$0C,$43,$1B,$E4,$01,$F1 .db $0E,$43,$00,$FB,$07,$C3,$F3,$1B .db $1B,$F1,$00,$00,$FB,$83,$05,$46 .db $01,$73,$8C,$43,$1B,$E4,$84,$05 .db $4C,$02,$F3,$1B,$73,$83,$05,$54 .db $03,$3B,$84,$3C,$83,$43,$3B,$84 .db $13,$1C,$83,$40,$C0,$3F,$7F,$00 .db $3F,$78,$7C,$78,$78,$7C,$3F,$00 .db $00,$9A,$63,$7A,$83,$43,$BA,$43 .db $0D,$72,$83,$06,$07,$FC,$FE,$00 .db $FC,$1C,$7C,$3C,$3C,$7C,$F8,$22 .db $00,$14,$18,$18,$24,$24,$42,$42 .db $81,$42,$C3,$24,$E7,$18,$7E,$00 .db $3C,$00,$18,$3C,$7E,$3C,$18,$22 .db $00,$02,$7E,$30,$C3,$43,$7A,$83 .db $10,$32,$83,$46,$C7,$3C,$FF,$00 .db $7E,$00,$3C,$5C,$7C,$7C,$38,$00 .db $00,$7D,$48,$FF,$7F,$05,$3F,$FF .db $00,$7F,$00,$3F,$27,$00,$00,$BC .db $48,$FF,$FC,$05,$F8,$FF,$00,$FE .db $00,$FC,$28,$00,$02,$3F,$38,$40 .db $45,$7F,$80,$03,$3B,$84,$7B,$84 .db $83,$03,$FE,$05,$1F,$3F,$3F,$7B .db $3B,$7B,$83,$04,$08,$00,$F0,$44 .db $01,$F8,$45,$D8,$21,$01,$00,$F8 .db $22,$FE,$22,$DE,$07,$00,$03,$03 .db $0F,$0C,$1C,$10,$3F,$43,$27,$68 .db $43,$57,$C8,$13,$00,$00,$03,$00 .db $10,$10,$30,$30,$00,$C0,$C0,$F0 .db $30,$38,$08,$EC,$E4,$16,$74,$8E .db $84,$04,$14,$0E,$00,$C0,$10,$08 .db $00,$04,$0C,$00,$00,$2E,$11,$6A .db $15,$2A,$55,$43,$2A,$15,$03,$2E .db $11,$00,$2E,$29,$00,$01,$E0,$10 .db $47,$A0,$50,$03,$E0,$10,$00,$F0 .db $29,$00,$01,$AE,$51,$43,$AA,$55 .db $03,$EA,$15,$2A,$D5,$83,$06,$6C .db $29,$00,$01,$EE,$11,$83,$06,$96 .db $43,$AA,$55,$03,$EE,$11,$00,$EF .db $28,$00,$00,$01,$43,$01,$02,$43 .db $03,$04,$0D,$07,$F8,$7D,$82,$3D .db $42,$00,$01,$01,$03,$03,$07,$7D .db $3D,$22,$00,$02,$80,$00,$80,$43 .db $80,$40,$05,$C0,$3E,$7C,$82,$78 .db $84,$22,$00,$0C,$80,$80,$C0,$7C .db $78,$00,$3F,$00,$1F,$04,$04,$03 .db $03,$25,$01,$23,$00,$01,$03,$00 .db $22,$01,$2E,$00,$01,$03,$03,$2C .db $00,$86,$03,$C1,$03,$18,$66,$20 .db $F8,$22,$00,$83,$03,$D1,$00,$60 .db $27,$00,$00,$18,$30,$00,$00,$48 .db $22,$00,$05,$30,$00,$78,$05,$5C .db $26,$43,$3E,$47,$23,$00,$1D,$04 .db $06,$07,$07,$00,$18,$10,$28,$30 .db $48,$60,$90,$F0,$08,$60,$98,$18 .db $7C,$70,$FC,$00,$10,$30,$60,$F0 .db $60,$1C,$FC,$3B,$84,$45,$3F,$80 .db $08,$1F,$80,$40,$C0,$00,$40,$00 .db $3F,$7B,$23,$7F,$04,$3F,$3F,$00 .db $D8,$21,$45,$F8,$01,$00,$F0,$43 .db $01,$00,$03,$02,$00,$FC,$DE,$24 .db $FE,$01,$FC,$00,$43,$57,$C8,$05 .db $50,$CF,$5F,$C0,$00,$FF,$43,$1F .db $FD,$01,$00,$FF,$22,$30,$06,$3F .db $00,$7D,$7D,$00,$1A,$E3,$43,$7A .db $83,$03,$FA,$03,$00,$FF,$43,$F8 .db $3F,$08,$00,$FF,$1C,$7C,$7C,$FC .db $00,$3E,$3E,$22,$00,$83,$06,$AA .db $09,$2A,$D5,$EA,$15,$8A,$75,$EE .db $11,$00,$EE,$29,$00,$01,$EE,$11 .db $47,$AA,$55,$83,$06,$B4,$28,$00 .db $06,$33,$33,$4C,$73,$8C,$33,$CC .db $43,$33,$4C,$06,$31,$4E,$00,$7B .db $00,$33,$73,$22,$33,$05,$31,$00 .db $00,$5E,$5C,$A3,$43,$5A,$A5,$13 .db $5C,$A3,$D8,$26,$98,$64,$00,$DC .db $00,$5C,$5A,$5A,$5C,$D8,$98,$00 .db $1D,$22,$0F,$10,$43,$1F,$20,$13 .db $3E,$41,$38,$46,$60,$98,$00,$E0 .db $1D,$0F,$1F,$1F,$3E,$38,$60,$00 .db $70,$88,$E0,$10,$43,$F0,$08,$11 .db $F8,$04,$38,$C4,$0C,$32,$00,$0E .db $70,$E0,$F0,$F0,$F8,$38,$0C,$00 .db $FC,$3C,$43,$F8,$18,$05,$F0,$10 .db $E0,$20,$C0,$C0,$23,$00,$02,$1C .db $08,$08,$24,$00,$06,$78,$78,$38 .db $38,$30,$B0,$A0,$44,$E0,$C0,$01 .db $00,$C0,$29,$00,$02,$81,$00,$42 .db $48,$00,$3C,$00,$42,$44,$00,$81 .db $15,$18,$24,$24,$18,$00,$81,$78 .db $78,$FC,$84,$FE,$A2,$FF,$A1,$FF .db $91,$7F,$51,$7F,$49,$37,$37,$22 .db $00,$1E,$10,$20,$08,$04,$00,$7E .db $87,$7F,$CF,$3F,$FF,$72,$FF,$6D .db $FF,$2B,$7F,$17,$3F,$00,$1F,$87 .db $CF,$BF,$FF,$FF,$7F,$3F,$1F,$0C .db $F2,$43,$7C,$82,$05,$3C,$C2,$B8 .db $C6,$B0,$CC,$83,$08,$4C,$0C,$F2 .db $82,$82,$C2,$C6,$CC,$98,$E0,$1E .db $00,$3F,$00,$7F,$49,$00,$FF,$2A .db $00,$02,$78,$00,$FC,$46,$00,$FE .db $02,$FC,$00,$FE,$2C,$00,$00,$18 .db $46,$00,$3C,$00,$18,$2E,$00,$04 .db $40,$00,$E0,$00,$50,$44,$00,$38 .db $00,$D0,$2E,$00,$83,$00,$7A,$00 .db $18,$32,$00,$00,$40,$43,$00,$18 .db $22,$00,$00,$80,$30,$00,$00,$10 .db $38,$00,$00,$08,$3A,$00,$00,$0C .db $E4,$2A,$00,$00,$18,$43,$00,$3C .db $34,$00,$02,$80,$00,$D8,$2A,$00 .db $02,$42,$00,$24,$44,$00,$18,$02 .db $24,$00,$42,$23,$00,$00,$42,$83 .db $08,$B2,$00,$42,$24,$00,$00,$24 .db $44,$00,$18,$00,$24,$26,$00,$03 .db $24,$00,$00,$24,$25,$00,$04,$10 .db $00,$38,$00,$10,$2F,$00,$00,$FF .db $43,$5F,$C0,$43,$00,$FF,$43,$5F .db $C0,$05,$00,$FF,$00,$3D,$3D,$00 .db $83,$0A,$78,$00,$7F,$44,$00,$3F .db $45,$7F,$00,$02,$3F,$00,$03,$28 .db $00,$00,$FE,$46,$00,$FF,$43,$FE .db $00,$02,$F8,$00,$C0,$28,$00,$0A .db $01,$00,$08,$00,$1C,$00,$1D,$00 .db $0B,$00,$01,$2C,$00,$02,$E0,$00 .db $D0,$44,$00,$38,$00,$90,$2E,$00 .db $00,$01,$44,$00,$18,$00,$01,$30 .db $00,$02,$C0,$00,$80,$22,$00,$00 .db $18,$36,$00,$00,$10,$30,$00,$00 .db $80,$24,$00,$00,$08,$30,$00,$43 .db $1E,$00,$0A,$0F,$00,$06,$00,$03 .db $00,$07,$00,$0F,$00,$07,$28,$00 .db $00,$C0,$44,$00,$F0,$83,$01,$0F .db $04,$70,$00,$F0,$00,$60,$28,$00 .db $43,$1E,$00,$0A,$0F,$00,$0E,$00 .db $07,$00,$0D,$00,$0F,$00,$05,$28 .db $00,$02,$F8,$00,$D0,$84,$0B,$5B .db $06,$78,$00,$38,$00,$B0,$00,$60 .db $28,$00,$00,$01,$44,$00,$03,$00 .db $07,$44,$00,$FF,$02,$7F,$00,$3F .db $28,$00,$02,$03,$00,$8F,$44,$00 .db $FE,$43,$FC,$00,$02,$F8,$00,$F8 .db $28,$00,$0B,$0C,$0C,$1F,$03,$3F .db $21,$3F,$01,$1F,$13,$0C,$0C,$24 .db $00,$03,$11,$00,$20,$01,$22,$00 .db $22,$FF,$08,$DB,$FF,$BD,$FF,$00 .db $FF,$BD,$FF,$DB,$23,$FF,$27,$00 .db $FF,$09,$00,$03,$01,$0F,$01,$33 .db $18,$47,$20,$8C,$46,$00,$9E,$03 .db $00,$0C,$20,$5F,$22,$7F,$07,$00 .db $80,$00,$E0,$00,$98,$00,$E4,$44 .db $00,$72,$06,$22,$00,$02,$00,$00 .db $60,$38,$23,$FC,$29,$00,$05,$0C .db $00,$1E,$00,$0E,$10,$E4,$29,$00 .db $05,$0D,$00,$1F,$00,$1A,$05,$31 .db $00,$00,$80,$43,$00,$C0,$2E,$00 .db $05,$30,$00,$78,$04,$5C,$26,$43 .db $3E,$47,$23,$00,$03,$04,$06,$07 .db $07,$22,$00,$E0,$24,$0F,$0E,$71 .db $7C,$82,$78,$84,$20,$5C,$1C,$7E .db $3A,$7D,$00,$00,$0C,$7C,$78,$20 .db $1E,$7D,$00,$06,$02,$15,$12,$2D .db $0E,$11,$61,$1E,$7E,$02,$FF,$01 .db $D7,$29,$23,$00,$13,$11,$03,$01 .db $01,$00,$0C,$04,$0A,$04,$EA,$E6 .db $19,$F2,$0D,$FC,$03,$78,$02,$74 .db $06,$24,$00,$E0,$9E,$84,$CC,$FC .db $06,$07,$0F,$0C,$17,$10,$17,$30 .db $2E,$31,$41,$4E,$40,$51,$DF,$E0 .db $00,$00,$09,$0F,$0E,$31,$2E,$00 .db $E0,$E0,$30,$B0,$88,$78,$44,$8C .db $E0,$04,$E0,$02,$C2,$06,$03,$8B .db $00,$40,$80,$70,$F8,$FC,$F8,$74 .db $05,$07,$0B,$0C,$07,$18,$33,$34 .db $2D,$22,$6E,$61,$65,$62,$33,$74 .db $00,$00,$01,$0B,$1D,$1E,$1D,$08 .db $A0,$E0,$10,$30,$C0,$18,$CC,$2C .db $B4,$44,$76,$86,$A6,$46,$CC,$2E .db $00,$C0,$E0,$D0,$B8,$78,$B8,$10 .db $07,$07,$0B,$0C,$16,$11,$23,$24 .db $07,$28,$4F,$50,$47,$68,$A3,$E4 .db $00,$00,$08,$1B,$17,$2F,$17,$1B .db $E0,$E0,$10,$30,$08,$C8,$C4,$24 .db $E0,$14,$F2,$0A,$E2,$16,$C5,$27 .db $00,$C0,$30,$D8,$E8,$F4,$E8,$D8 .db $00,$9E,$00,$4C,$3C,$60,$1B,$3C .db $00,$1F,$00,$07,$23,$00,$04,$7F .db $3F,$3F,$1F,$07,$23,$00,$0A,$02 .db $00,$04,$58,$0C,$F0,$48,$40,$F0 .db $00,$C0,$23,$00,$04,$FC,$F8,$F8 .db $F0,$C0,$22,$00,$07,$0E,$11,$0F .db $31,$3F,$61,$3F,$73,$43,$7F,$FF .db $07,$67,$FF,$5E,$FF,$01,$21,$61 .db $73,$23,$FF,$22,$00,$00,$80,$47 .db $80,$C0,$01,$00,$80,$22,$00,$00 .db $80,$23,$C0,$01,$80,$00,$43,$1A .db $05,$43,$1F,$00,$01,$0F,$12,$43 .db $1F,$3F,$01,$1E,$3F,$23,$00,$00 .db $12,$22,$3F,$03,$C0,$00,$C0,$20 .db $44,$E0,$30,$E0,$2C,$70,$E0,$F0 .db $20,$F0,$C0,$E0,$00,$20,$30,$30 .db $70,$F0,$F0,$E0,$7E,$87,$7F,$CF .db $3F,$FF,$7E,$FF,$71,$FF,$2B,$7F .db $17,$3F,$00,$1F,$87,$CF,$BF,$FF .db $FF,$7F,$3F,$1F,$46,$B9,$7E,$81 .db $3E,$C1,$43,$DC,$E2,$13,$D8,$E4 .db $20,$D8,$00,$E0,$B9,$81,$C1,$E2 .db $E2,$E4,$D8,$E0,$D6,$29,$7E,$01 .db $0C,$33,$83,$01,$E5,$43,$03,$04 .db $05,$00,$07,$01,$01,$13,$0F,$23 .db $00,$12,$88,$8E,$70,$FE,$00,$FC .db $70,$88,$38,$C4,$D8,$24,$80,$58 .db $00,$80,$FC,$FC,$C8,$24,$00,$0F .db $3F,$C0,$FF,$80,$C0,$3F,$80,$7F .db $40,$3F,$20,$5F,$1F,$20,$00,$1F .db $27,$00,$10,$87,$77,$F6,$1E,$FF .db $00,$3F,$C0,$00,$FF,$7E,$80,$E0 .db $1C,$00,$E0,$08,$26,$00,$0F,$47 .db $78,$BF,$E0,$78,$87,$F0,$0F,$80 .db $7F,$30,$4F,$0F,$30,$00,$0F,$27 .db $00,$0F,$E3,$1F,$FD,$07,$1E,$E1 .db $0F,$F0,$01,$FE,$0C,$F2,$F0,$0C .db $00,$F0,$27,$00,$11,$70,$F3,$F8 .db $1C,$F7,$0F,$3F,$C0,$0F,$70,$10 .db $2F,$0F,$10,$00,$0F,$0C,$03,$25 .db $00,$11,$0E,$CF,$1F,$38,$EF,$F0 .db $FC,$03,$F0,$0E,$08,$F4,$F0,$08 .db $00,$F0,$30,$C0,$25,$00,$E0,$2F .db $3C,$FE,$0C,$7F,$0A,$1D,$02,$0D .db $00,$1F,$1B,$27,$01,$13,$01,$0F .db $FE,$7C,$18,$08,$03,$07,$0F,$07 .db $60,$F0,$EC,$9C,$B6,$4A,$18,$C6 .db $01,$A5,$41,$DD,$41,$B3,$28,$D9 .db $00,$00,$34,$38,$5A,$A2,$8C,$86 .db $86,$03,$00,$10,$6D,$61,$FF,$5E .db $E3,$03,$70,$07,$09,$FE,$7C,$18 .db $69,$E3,$C1,$6C,$00,$83,$03,$18 .db $E0,$43,$06,$FA,$F8,$FE,$99,$FD .db $19,$FD,$41,$BB,$A8,$59,$00,$00 .db $FC,$FC,$FE,$BE,$1C,$06,$01,$3F .db $0F,$1F,$03,$0F,$03,$07,$00,$0F .db $00,$6F,$6F,$F0,$60,$F0,$3F,$1F .db $0F,$07,$03,$60,$E0,$EF,$C0,$E0 .db $B0,$F0,$10,$EE,$2E,$DF,$1E,$FF .db $30,$FF,$89,$F5,$C5,$1B,$E0,$C0 .db $9E,$9F,$3F,$7F,$32,$20,$22,$00 .db $0C,$03,$01,$0E,$03,$3D,$0A,$77 .db $18,$67,$58,$A7,$78,$87,$2A,$00 .db $05,$F3,$F3,$0C,$F7,$FB,$04,$44 .db $FF,$00,$01,$60,$9F,$2A,$00,$14 .db $03,$00,$0F,$00,$FF,$00,$3F,$11 .db $6E,$3B,$44,$31,$CE,$00,$00,$03 .db $0E,$04,$20,$00,$44,$22,$00,$14 .db $C0,$00,$F0,$10,$F8,$38,$EC,$10 .db $FE,$80,$7E,$80,$7F,$00,$00,$C0 .db $10,$68,$FC,$7C,$7E,$83,$03,$C2 .db $43,$00,$7F,$0F,$44,$3B,$6E,$11 .db $46,$B9,$6C,$93,$00,$03,$08,$13 .db $03,$01,$11,$13,$88,$03,$DA,$43 .db $FE,$00,$43,$FF,$00,$0A,$C0,$F0 .db $E8,$FC,$FC,$FE,$FE,$00,$06,$06 .db $09,$46,$0E,$11,$04,$31,$26,$69 .db $26,$49,$25,$00,$05,$10,$30,$00 .db $60,$60,$90,$46,$70,$88,$04,$8C .db $6C,$9E,$64,$92,$26,$00,$10,$0C .db $00,$00,$08,$70,$70,$88,$74,$88 .db $78,$84,$3A,$44,$1D,$22,$2E,$71 .db $29,$00,$0D,$10,$0E,$0E,$11,$2E .db $11,$1E,$21,$5C,$22,$B8,$44,$74 .db $8A,$26,$00,$00,$04,$43,$07,$0F .db $01,$00,$07,$43,$00,$01,$00,$01 .db $62,$06,$00,$00,$22,$0F,$0D,$07 .db $00,$00,$01,$03,$00,$07,$FF,$50 .db $EE,$CE,$F1,$00,$FE,$45,$E0,$10 .db $01,$00,$F0,$22,$E0,$00,$00,$22 .db $E0,$0C,$00,$01,$38,$13,$2C,$18 .db $27,$1E,$21,$0E,$11,$0C,$12,$83 .db $04,$4E,$E0,$4C,$06,$00,$18,$1E .db $0E,$0C,$00,$00,$8B,$7F,$34,$7A .db $AE,$71,$1E,$E1,$0C,$32,$38,$44 .db $00,$78,$00,$00,$70,$F4,$6E,$1E .db $0C,$18,$00,$00,$77,$F8,$00,$7C .db $0B,$1C,$00,$1E,$0C,$13,$0E,$11 .db $1E,$21,$00,$3F,$F0,$7B,$18,$01 .db $0C,$0E,$0E,$00,$A5,$1B,$59,$3F .db $82,$7D,$3A,$45,$78,$87,$00,$FC .db $00,$7C,$00,$00,$58,$BC,$00,$B8 .db $38,$22,$00,$0D,$30,$CF,$03,$FC .db $07,$78,$00,$78,$03,$3F,$00,$0F .db $00,$03,$24,$00,$00,$07,$23,$00 .db $08,$60,$8F,$40,$8F,$90,$1F,$60 .db $7F,$80,$43,$FF,$00,$00,$F3,$83 .db $04,$34,$01,$60,$80,$23,$00,$E0 .db $46,$1B,$E4,$1F,$FF,$30,$6F,$2F .db $7F,$5F,$7F,$67,$9F,$00,$67,$00 .db $1E,$64,$7F,$20,$2F,$1F,$27,$18 .db $00,$00,$FF,$80,$FF,$E0,$7E,$3E .db $FE,$F9,$F1,$F8,$C1,$70,$C6,$00 .db $78,$FE,$FE,$7C,$30,$CE,$9E,$38 .db $00,$7E,$FF,$03,$7D,$3C,$7F,$1F .db $3F,$07,$1F,$07,$04,$0C,$08,$00 .db $0F,$7F,$01,$3C,$1F,$04,$03,$03 .db $83,$05,$57,$06,$FE,$C0,$FE,$E0 .db $FC,$E0,$F8,$23,$20,$E0,$53,$00 .db $E0,$FE,$FC,$FC,$F8,$20,$C0,$C0 .db $00,$76,$89,$63,$C4,$60,$E3,$37 .db $40,$3F,$40,$1F,$24,$07,$1F,$00 .db $07,$50,$38,$1C,$3C,$0C,$0B,$00 .db $00,$6C,$91,$C6,$23,$06,$C7,$BC .db $0E,$FC,$06,$F8,$84,$E0,$D8,$00 .db $E0,$0A,$1C,$38,$F0,$C8,$48,$20 .db $00,$27,$48,$73,$84,$60,$C3,$67 .db $E0,$37,$40,$3F,$44,$0F,$37,$00 .db $0F,$30,$58,$3C,$1C,$3C,$0B,$08 .db $00,$EC,$12,$83,$05,$BA,$E0,$4B .db $9E,$07,$BC,$02,$FC,$C2,$F0,$EC .db $00,$F0,$08,$1C,$38,$F8,$E4,$24 .db $10,$00,$00,$FF,$3F,$80,$40,$E3 .db $43,$CF,$45,$DF,$4E,$DF,$41,$FF .db $40,$FF,$00,$7F,$1C,$33,$25,$2E .db $15,$1B,$00,$FF,$FE,$01,$02,$C5 .db $82,$F1,$52,$B9,$E2,$D9,$52,$FD .db $BA,$FD,$00,$F0,$38,$8E,$16,$C6 .db $52,$BA,$00,$03,$03,$0C,$0F,$10 .db $1F,$20,$1D,$22,$43,$3D,$42,$13 .db $3F,$40,$00,$00,$03,$07,$0C,$1C .db $19,$13,$00,$C0,$C0,$30,$E0,$08 .db $F0,$04,$B0,$44,$43,$BC,$46,$13 .db $F4,$06,$00,$00,$90,$28,$28,$8C .db $8C,$08,$03,$1C,$1C,$20,$02,$23 .db $0C,$1E,$00,$0C,$25,$00,$02,$03 .db $1F,$1C,$25,$00,$08,$7F,$71,$82 .db $08,$CC,$03,$7F,$00,$03,$26,$00 .db $01,$7D,$33,$24,$00,$01,$0E,$0E .db $45,$0F,$09,$43,$1F,$11,$03,$3F .db $20,$7F,$40,$26,$00,$00,$04,$25 .db $00,$09,$60,$60,$E0,$A0,$F0,$30 .db $F0,$50,$F0,$90,$27,$00,$10,$30 .db $08,$78,$04,$38,$46,$3A,$47,$3E .db $47,$7E,$87,$7E,$CF,$3F,$FF,$08 .db $83,$00,$A4,$02,$87,$CF,$BF,$2C .db $00,$02,$F0,$F0,$0C,$25,$00,$83 .db $06,$E6,$8D,$06,$C0,$00,$00,$86 .db $06,$D0,$2E,$00,$00,$F0,$26,$00 .db $04,$F0,$06,$01,$0F,$00,$45,$07 .db $08,$06,$0F,$10,$0F,$19,$07,$1F .db $01,$23,$00,$02,$10,$19,$17,$22 .db $00,$03,$80,$00,$C0,$40,$45,$E0 .db $C0,$05,$F0,$F0,$EC,$00,$80,$C0 .db $22,$E0,$01,$F0,$EC,$85,$04,$88 .db $09,$0F,$70,$6F,$90,$13,$68,$6C .db $9C,$03,$7F,$23,$00,$09,$0C,$07 .db $0F,$0F,$00,$80,$80,$60,$E0,$10 .db $43,$F0,$08,$05,$F8,$04,$38,$04 .db $C4,$C2,$24,$00,$02,$C0,$F8,$FC .db $43,$40,$FF,$43,$60,$FF,$14,$70 .db $DF,$5C,$EF,$7F,$FF,$00,$FF,$15 .db $0E,$05,$0B,$21,$10,$00,$00,$52 .db $FD,$2A,$FD,$12,$43,$F9,$02,$E0 .db $3C,$F1,$32,$F5,$FC,$FD,$00,$FF .db $52,$EA,$56,$B6,$4E,$0A,$02,$00 .db $3B,$44,$33,$4C,$1D,$42,$0E,$21 .db $07,$20,$00,$10,$03,$0F,$00,$03 .db $02,$00,$38,$10,$1D,$0F,$00,$00 .db $D4,$26,$C4,$36,$B4,$46,$68,$8C .db $C8,$0C,$30,$38,$C0,$F0,$00,$C0 .db $18,$08,$38,$70,$F0,$C0,$22,$00 .db $02,$3F,$3F,$40,$43,$7F,$80,$07 .db $00,$FF,$7F,$80,$00,$40,$00,$3F .db $23,$00,$05,$7F,$7F,$3F,$00,$00 .db $FF,$45,$FF,$00,$02,$00,$FF,$FF .db $23,$00,$00,$FF,$23,$00,$22,$FF .db $E0,$26,$00,$7F,$40,$EF,$80,$FF .db $80,$EF,$80,$FF,$80,$EF,$80,$7F .db $43,$3C,$3C,$08,$14,$1A,$14,$18 .db $14,$00,$00,$F8,$28,$F0,$10,$E0 .db $20,$F0,$10,$E0,$E0,$C0,$40,$80 .db $80,$29,$00,$09,$7F,$FF,$76,$FF .db $2C,$7F,$08,$3C,$00,$18,$45,$00 .db $01,$04,$FF,$FF,$7F,$3C,$18,$22 .db $00,$03,$FC,$A2,$FC,$B2,$43,$7E .db $F1,$11,$00,$FE,$78,$84,$F8,$04 .db $00,$FC,$A2,$B2,$F1,$F1,$82,$78 .db $78,$00,$3F,$FF,$86,$08,$40,$02 .db $3D,$01,$1E,$83,$02,$4C,$83,$02 .db $22,$E0,$37,$3C,$19,$01,$00,$F0 .db $0C,$FC,$B2,$FC,$9A,$7E,$B9,$3C .db $FB,$E0,$1D,$E0,$12,$00,$FC,$0C .db $B2,$9A,$B8,$3A,$EE,$EC,$00,$0F .db $1F,$0E,$7F,$65,$9F,$69,$96,$3D .db $42,$3C,$43,$18,$24,$00,$18,$1F .db $1F,$27,$6A,$3C,$3D,$18,$00,$FC .db $DA,$FC,$8E,$43,$FE,$1D,$11,$E0 .db $1F,$1E,$E1,$3E,$41,$00,$7F,$DA .db $8E,$1D,$1D,$00,$9E,$1E,$00,$6C .db $13,$43,$D6,$29,$43,$FE,$01,$01 .db $6D,$02,$83,$05,$1C,$00,$13,$22 .db $01,$23,$00,$13,$38,$FA,$04,$FE .db $00,$FF,$42,$BD,$66,$99,$64,$9A .db $44,$AA,$00,$CC,$FC,$FC,$7C,$18 .db $23,$00,$05,$30,$00,$78,$06,$5E .db $27,$43,$3F,$47,$00,$7F,$84,$02 .db $11,$01,$00,$06,$22,$07,$02,$87 .db $CF,$BF,$22,$00,$14,$78,$78,$84 .db $0C,$F2,$74,$FA,$76,$F9,$BA,$FD .db $9A,$FD,$00,$78,$84,$F2,$FA,$F9 .db $FD,$FD,$87,$08,$FE,$43,$3F,$47 .db $83,$09,$0A,$02,$00,$00,$06,$22 .db $07,$01,$87,$CF,$24,$00,$86,$09 .db $1B,$00,$7A,$83,$06,$25,$84,$09 .db $28,$07,$FD,$FD,$0C,$00,$1E,$01 .db $17,$09,$43,$0F,$11,$06,$1F,$21 .db $1F,$33,$0F,$FF,$00,$23,$01,$02 .db $21,$33,$0F,$22,$00,$07,$9C,$9C .db $E2,$C2,$FD,$DC,$FF,$DE,$44,$FF .db $E6,$03,$00,$9C,$E2,$FD,$23,$FF .db $24,$00,$0A,$03,$03,$0E,$0B,$1E .db $0E,$1F,$0F,$1F,$01,$1F,$83,$03 .db $D0,$00,$1A,$22,$1F,$05,$60,$10 .db $F0,$08,$B0,$48,$43,$E8,$1C,$11 .db $D8,$3E,$36,$FF,$F6,$FF,$10,$08 .db $08,$1C,$1C,$3E,$FF,$FF,$00,$03 .db $03,$04,$43,$07,$08,$47,$0F,$10 .db $03,$00,$00,$03,$02,$23,$05,$07 .db $00,$C0,$80,$20,$C0,$10,$E0,$30 .db $43,$30,$58,$43,$B0,$D8,$11,$00 .db $40,$E0,$60,$B0,$B0,$30,$20,$00 .db $18,$10,$24,$38,$42,$3C,$46,$74 .db $89,$45,$76,$8B,$04,$00,$08,$1C .db $1C,$26,$22,$24,$03,$3C,$00,$42 .db $3C,$47,$81,$7E,$03,$42,$3C,$24 .db $18,$2C,$00,$45,$01,$00,$04,$FF .db $7F,$80,$7E,$80,$25,$00,$0B,$60 .db $7F,$00,$7C,$7C,$82,$86,$81,$92 .db $91,$AA,$B9,$45,$82,$A9,$03,$00 .db $70,$78,$6C,$23,$46,$17,$00,$67 .db $6E,$F1,$19,$E6,$1F,$31,$0F,$3F .db $00,$3F,$3D,$42,$00,$7F,$67,$F1 .db $E0,$31,$3F,$0F,$1C,$01,$43,$08 .db $00,$08,$7F,$00,$3E,$00,$1C,$00 .db $3E,$00,$63,$22,$00,$11,$08,$08 .db $7F,$3E,$1C,$3E,$63,$00,$7F,$FF .db $73,$FF,$2F,$7F,$1C,$3F,$00,$1D .db $43,$01,$02,$01,$00,$03,$83,$02 .db $23,$09,$1C,$00,$01,$00,$BA,$FD .db $3A,$FD,$5A,$BD,$83,$08,$60,$43 .db $F8,$04,$08,$00,$FC,$FD,$FD,$BD .db $1A,$78,$F8,$F8,$84,$08,$6F,$07 .db $73,$FF,$2C,$7F,$19,$3E,$07,$18 .db $83,$04,$8C,$07,$BF,$FF,$FF,$7C .db $39,$13,$07,$00,$43,$9C,$FF,$17 .db $6C,$9F,$02,$FD,$EC,$13,$E2,$1D .db $EC,$12,$00,$FC,$FF,$FF,$9F,$0D .db $E2,$EE,$EC,$00,$6C,$9F,$63,$9C .db $43,$7B,$84,$13,$38,$47,$30,$49 .db $01,$32,$00,$03,$2F,$64,$78,$78 .db $3B,$30,$00,$00,$66,$FF,$98,$67 .db $43,$FE,$01,$03,$FC,$02,$00,$FC .db $83,$08,$64,$0F,$FF,$67,$01,$01 .db $02,$7C,$F8,$00,$07,$EF,$61,$97 .db $62,$9D,$75,$8E,$43,$76,$8F,$13 .db $07,$FF,$00,$07,$0F,$47,$65,$76 .db $77,$77,$07,$07,$EE,$FF,$9C,$FE .db $5C,$BF,$E2,$1D,$83,$0A,$FE,$0B .db $70,$8C,$00,$F0,$FF,$FE,$BF,$1D .db $01,$02,$8C,$F0,$43,$0F,$10,$0B .db $0E,$10,$0F,$11,$06,$09,$07,$0C .db $03,$07,$00,$03,$22,$05,$04,$04 .db $06,$03,$00,$00,$45,$B0,$D8,$09 .db $90,$D8,$60,$B0,$A0,$30,$C0,$E0 .db $00,$C0,$23,$20,$01,$40,$C0,$22 .db $00,$04,$18,$18,$2C,$18,$3C,$43 .db $00,$24,$45,$18,$24,$22,$00,$24 .db $18,$43,$42,$3C,$43,$81,$7E,$00 .db $FF,$2E,$00,$0B,$01,$81,$7F,$FF .db $20,$EF,$20,$69,$30,$79,$00,$31 .db $23,$00,$03,$7E,$00,$10,$10,$23 .db $00,$45,$82,$A9,$09,$AA,$91,$92 .db $81,$C2,$C1,$7C,$FE,$00,$7C,$22 .db $46,$02,$4E,$7E,$3E,$22,$00,$08 .db $0F,$0F,$3F,$30,$7F,$47,$C8,$00 .db $FF,$43,$7F,$80,$01,$00,$FF,$22 .db $00,$03,$30,$00,$50,$50,$22,$00 .db $43,$10,$00,$00,$7C,$43,$00,$10 .db $2C,$00,$FF,$02,$00,$00,$01,$22 .db $00,$E0,$2C,$21,$00,$23,$02,$1B .db $0A,$35,$27,$37,$27,$00,$01,$01 .db $22,$30,$20,$0A,$0B,$80,$00,$C0 .db $00,$80,$00,$C2,$00,$A2,$20,$AC .db $28,$DA,$F2,$FA,$72,$80,$40,$40 .db $22,$46,$42,$24,$E4,$00,$00,$01 .db $22,$00,$F0,$29,$00,$06,$E0,$2F .db $01,$00,$03,$02,$30,$13,$30,$2F .db $03,$1F,$07,$1F,$4F,$7F,$CF,$3F .db $01,$00,$23,$0F,$1F,$1F,$3F,$BF .db $FE,$7F,$FD,$BF,$FB,$DF,$F7,$EF .db $EF,$F7,$DF,$FB,$BF,$FD,$7F,$FE .db $FE,$FD,$FB,$F7,$EF,$DF,$BF,$7F .db $F0,$2F,$00,$78,$03,$00,$3E,$3E .db $C1,$45,$FF,$00,$0D,$1E,$E0,$E0 .db $78,$E0,$FC,$00,$3E,$38,$11,$83 .db $1F,$67,$FB,$4E,$01,$00,$28,$00 .db $F0,$30,$00,$90,$E0,$2E,$03,$03 .db $0C,$0D,$12,$1D,$22,$1F,$20,$01 .db $7E,$3E,$67,$7E,$DF,$00,$00,$05 .db $1D,$1F,$01,$26,$5F,$00,$E0,$E0 .db $18,$70,$84,$70,$82,$F4,$06,$EC .db $0F,$08,$8F,$08,$CF,$00,$E0,$78 .db $7C,$FC,$FE,$7E,$BE,$22,$00,$00 .db $01,$22,$00,$10,$10,$00,$29,$00 .db $12,$00,$05,$05,$0F,$00,$01,$00 .db $10,$39,$13,$05,$0A,$24,$00,$E0 .db $27,$20,$00,$30,$00,$10,$00,$80 .db $00,$B0,$00,$A8,$00,$00,$20,$30 .db $10,$80,$B0,$B8,$1E,$7E,$ED,$1C .db $16,$6E,$4B,$F7,$06,$E9,$09,$1E .db $04,$0F,$00,$07,$67,$1E,$0D,$46 .db $11,$22,$00,$43,$BC,$3E,$13,$78 .db $7F,$E7,$F8,$18,$E7,$E8,$1A,$18 .db $FC,$00,$38,$72,$5E,$9F,$38,$E0 .db $04,$00,$00,$88,$01,$80,$06,$F9 .db $09,$2E,$18,$5F,$00,$78,$83,$01 .db $90,$03,$01,$10,$20,$00,$43,$BC .db $3E,$87,$01,$9C,$03,$04,$FD,$00 .db $0F,$85,$01,$A8,$00,$02,$22,$00 .db $09,$0C,$04,$0C,$0B,$00,$0F,$63 .db $3F,$67,$5F,$43,$0F,$3F,$07,$00 .db $08,$03,$0F,$5F,$1F,$3F,$3F,$F0 .db $47,$00,$78,$43,$0C,$00,$43,$3F .db $0C,$06,$0C,$00,$9C,$00,$52,$00 .db $34,$22,$00,$10,$0C,$0C,$00,$90 .db $DB,$7E,$03,$00,$1B,$00,$38,$00 .db $70,$00,$60,$00,$E0,$43,$00,$C0 .db $28,$00,$F0,$2F,$00,$78,$0B,$7C .db $FF,$30,$FF,$00,$7F,$00,$3F,$01 .db $0F,$00,$03,$23,$00,$03,$7F,$7F .db $3F,$0E,$24,$00,$0A,$EF,$08,$EE .db $3C,$FE,$78,$FC,$E0,$F8,$00,$E0 .db $23,$00,$02,$DE,$D4,$80,$24,$00 .db $05,$0F,$3F,$0E,$26,$0D,$24,$43 .db $0D,$1C,$E0,$25,$05,$0C,$06,$0E .db $00,$07,$30,$39,$3B,$13,$13,$0B .db $09,$07,$B0,$F8,$E0,$F0,$70,$78 .db $A0,$28,$80,$08,$B0,$38,$40,$70 .db $00,$C0,$48,$10,$88,$D8,$F8,$C8 .db $B0,$C0,$23,$00,$0B,$01,$01,$02 .db $02,$05,$04,$0A,$08,$14,$10,$28 .db $20,$22,$00,$0D,$01,$03,$06,$0C .db $18,$0F,$0F,$70,$70,$8F,$80,$70 .db $00,$80,$27,$00,$03,$0F,$7F,$F0 .db $80,$23,$00,$04,$01,$00,$03,$00 .db $0F,$44,$02,$1D,$00,$3D,$43,$00 .db $3F,$28,$00,$1A,$03,$00,$0F,$00 .db $1F,$00,$3F,$04,$7B,$0E,$71,$0C .db $F3,$06,$F9,$00,$03,$0F,$11,$38 .db $30,$71,$79,$00,$7F,$1F,$80,$4B .db $67,$E0,$01,$00,$78,$25,$1E,$01 .db $00,$FF,$4C,$FF,$00,$22,$00,$25 .db $3F,$03,$00,$FF,$FE,$00,$4B,$E1 .db $01,$01,$00,$1F,$25,$FE,$03,$00 .db $FE,$82,$03,$4B,$7C,$7F,$01,$00 .db $FC,$25,$80,$28,$00,$06,$01,$00 .db $03,$03,$04,$06,$69,$23,$00,$03 .db $01,$00,$00,$60,$22,$00,$0C,$0A .db $00,$0C,$00,$7E,$78,$FC,$E0,$FE .db $5C,$E3,$AE,$51,$22,$00,$0C,$78 .db $FC,$E2,$41,$00,$00,$FC,$04,$1B .db $01,$06,$00,$01,$28,$00,$01,$04 .db $01,$29,$00,$0A,$C0,$C0,$20,$60 .db $90,$30,$48,$18,$24,$08,$14,$22 .db $00,$18,$C0,$60,$30,$18,$08,$00 .db $50,$00,$40,$00,$0C,$08,$3C,$2C .db $6E,$18,$42,$24,$66,$00,$3C,$50 .db $40,$0C,$3C,$22,$7E,$00,$3C,$43 .db $00,$04,$0E,$04,$2E,$24,$76,$28 .db $62,$18,$42,$00,$24,$00,$38,$04 .db $04,$2E,$22,$7E,$01,$3C,$38,$24 .db $00,$01,$09,$01,$43,$01,$00,$04 .db $0C,$00,$15,$04,$16,$84,$04,$53 .db $02,$0C,$1D,$1F,$22,$00,$00,$10 .db $22,$00,$08,$80,$80,$B0,$10,$B8 .db $00,$58,$00,$A0,$83,$01,$70,$05 .db $B0,$B8,$58,$E0,$28,$20,$45,$50 .db $40,$47,$A0,$80,$00,$18,$22,$30 .db $23,$60,$38,$00,$00,$3F,$44,$00 .db $1F,$08,$7F,$30,$4B,$38,$44,$18 .db $24,$00,$18,$27,$00,$17,$0F,$FF .db $1C,$FB,$1B,$7F,$4F,$7F,$F0,$8F .db $14,$E4,$08,$7C,$00,$38,$7F,$78 .db $3B,$0F,$10,$18,$00,$00,$49,$67 .db $E0,$01,$19,$F8,$83,$02,$A4,$24 .db $1E,$01,$07,$00,$4A,$00,$FF,$01 .db $C0,$00,$43,$00,$FF,$24,$3F,$02 .db $FF,$00,$00,$49,$E1,$01,$01,$1E .db $1F,$43,$00,$FF,$24,$FE,$02,$E0 .db $00,$00,$49,$7C,$7F,$05,$80,$FF .db $00,$FE,$00,$FC,$24,$80,$22,$00 .db $43,$67,$F8,$05,$7B,$FC,$70,$FF .db $6F,$FF,$43,$2F,$7F,$06,$33,$7F .db $F0,$F0,$F8,$FC,$FF,$22,$7F,$0A .db $58,$A7,$F6,$0F,$36,$CF,$CE,$FF .db $EE,$3F,$2E,$44,$FF,$1E,$03,$06 .db $0F,$0F,$DF,$23,$3F,$37,$00,$01 .db $0C,$12,$43,$04,$0A,$01,$06,$09 .db $47,$02,$05,$03,$0C,$04,$04,$06 .db $23,$02,$1D,$08,$08,$1C,$14,$7F .db $63,$7F,$41,$3E,$22,$7F,$49,$77 .db $55,$63,$63,$00,$08,$1C,$3E,$1C .db $36,$22,$00,$00,$3C,$3C,$7E,$00 .db $99,$43,$42,$A5,$08,$00,$99,$3C .db $7E,$00,$3C,$00,$00,$66,$84,$05 .db $C8,$01,$0D,$1C,$43,$06,$0E,$45 .db $0D,$1C,$83,$02,$DC,$02,$1F,$0F .db $0F,$22,$1F,$12,$0F,$07,$60,$70 .db $E0,$E8,$D0,$40,$A0,$28,$B0,$38 .db $A0,$30,$60,$70,$00,$E0,$F0,$23 .db $F8,$02,$F0,$F0,$E0,$F0,$30,$00 .db $90,$08,$18,$00,$0F,$01,$0E,$05 .db $1A,$04,$1B,$43,$02,$3D,$01,$00 .db $3F,$2A,$00,$0C,$C0,$00,$F0,$00 .db $F8,$80,$78,$80,$7C,$00,$FC,$00 .db $FF,$2E,$00,$08,$07,$07,$18,$1F .db $20,$3E,$41,$7E,$81,$24,$00,$02 .db $1F,$3F,$7F,$26,$00,$08,$E0,$E0 .db $18,$18,$E4,$EC,$F2,$CC,$F1,$23 .db $00,$03,$E0,$F8,$FC,$CE,$24,$00 .db $88,$06,$67,$01,$3E,$81,$23,$00 .db $03,$1F,$3F,$7F,$7F,$24,$00,$86 .db $06,$7F,$03,$C4,$F9,$BA,$C7,$22 .db $00,$04,$E0,$F8,$FC,$C6,$B8,$24 .db $00,$8A,$06,$95,$23,$00,$03,$17 .db $3F,$7F,$7F,$24,$00,$86,$06,$7F .db $03,$C0,$FB,$B2,$C7,$22,$00,$04 .db $E0,$F8,$FC,$C4,$B8,$22,$00,$84 .db $03,$49,$01,$0A,$15,$43,$0A,$35 .db $01,$00,$3F,$2A,$00,$02,$C0,$00 .db $F0,$44,$00,$F8,$44,$FC,$00,$2C .db $00,$86,$06,$F3,$43,$0A,$35,$2C .db $00,$02,$C0,$00,$F0,$44,$00,$F8 .db $02,$FC,$00,$FC,$28,$00,$0E,$01 .db $00,$05,$00,$03,$00,$07,$07,$0F .db $03,$1F,$1D,$23,$3A,$41,$22,$00 .db $04,$07,$0F,$03,$01,$04,$22,$00 .db $0C,$40,$00,$80,$00,$C0,$C0,$E0 .db $80,$F0,$70,$88,$B8,$04,$22,$00 .db $04,$C0,$E0,$80,$00,$40,$F0,$30 .db $00,$90,$00,$3F,$44,$00,$1F,$08 .db $0F,$03,$04,$07,$08,$03,$04,$00 .db $03,$27,$00,$01,$06,$F9,$43,$0E .db $F1,$03,$0C,$F2,$00,$EC,$43,$80 .db $40,$01,$00,$C0,$27,$00,$12,$3E .db $81,$5F,$C0,$20,$60,$1F,$3F,$07 .db $1F,$00,$07,$01,$03,$00,$03,$7F .db $3F,$1F,$22,$00,$0C,$01,$00,$B2 .db $CB,$02,$C7,$38,$7E,$80,$FC,$20 .db $FE,$E0,$83,$05,$31,$08,$FF,$B4 .db $B8,$80,$00,$3C,$7E,$FE,$00,$85 .db $07,$E2,$05,$06,$1F,$01,$07,$00 .db $01,$23,$00,$83,$07,$F1,$00,$01 .db $22,$00,$08,$24,$C7,$00,$3F,$10 .db $FE,$E0,$7F,$C0,$45,$FF,$00,$07 .db $1E,$B8,$C0,$1C,$7E,$FE,$06,$00 .db $83,$08,$0F,$06,$61,$1E,$3F,$06 .db $1F,$00,$07,$25,$00,$01,$3F,$1E .db $25,$00,$04,$04,$FF,$F8,$7F,$80 .db $47,$FF,$00,$06,$3F,$00,$0E,$00 .db $78,$8E,$02,$24,$00,$00,$3F,$44 .db $00,$1F,$00,$0F,$83,$03,$CA,$03 .db $07,$08,$00,$0F,$28,$00,$00,$FC .db $44,$00,$F8,$08,$F0,$00,$C0,$80 .db $40,$C0,$20,$00,$E0,$28,$00,$43 .db $3F,$00,$0A,$1F,$00,$1F,$10,$2F .db $1C,$23,$0C,$12,$00,$0C,$28,$00 .db $43,$FC,$00,$0A,$F8,$00,$F8,$08 .db $F4,$38,$C4,$60,$98,$00,$60,$27 .db $00,$E0,$2F,$31,$44,$3B,$40,$1F .db $20,$02,$3F,$3F,$7F,$39,$7E,$30 .db $7F,$10,$3F,$0A,$04,$00,$23,$7F .db $78,$70,$33,$18,$44,$B8,$04,$F0 .db $08,$80,$F8,$F8,$FC,$38,$FC,$18 .db $FC,$10,$F8,$A0,$40,$00,$88,$FC .db $3C,$1C,$98,$F0,$2F,$00,$78,$22 .db $00,$0C,$03,$03,$0E,$0E,$18,$1F .db $30,$2F,$60,$3E,$60,$59,$C1,$22 .db $00,$04,$01,$03,$13,$07,$26,$22 .db $00,$0C,$C0,$C0,$70,$70,$18,$F8 .db $0C,$F4,$06,$7C,$06,$9A,$83,$22 .db $00,$04,$80,$C0,$C8,$E0,$64,$85 .db $06,$66,$0E,$20,$5F,$2F,$50,$6E .db $91,$6F,$90,$6E,$91,$00,$07,$07 .db $00,$20,$22,$60,$83,$01,$38,$13 .db $F8,$04,$0C,$F2,$F4,$0A,$34,$C9 .db $F0,$09,$0A,$F3,$00,$E0,$F8,$0C .db $04,$06,$06,$0C,$22,$00,$83,$01 .db $21,$00,$18,$43,$1F,$30,$03,$3F .db $60,$3E,$60,$22,$00,$01,$02,$03 .db $22,$07,$22,$00,$0C,$E0,$E0,$F8 .db $D8,$1C,$F4,$06,$FA,$03,$1E,$03 .db $F8,$E7,$22,$00,$06,$20,$88,$C4 .db $E0,$00,$00,$07,$83,$03,$4C,$11 .db $00,$7F,$01,$FE,$1C,$63,$18,$E7 .db $0D,$F3,$00,$06,$1E,$3C,$00,$23 .db $63,$73,$83,$06,$4A,$01,$80,$78 .db $43,$C0,$3C,$1D,$42,$BE,$7F,$DD .db $8C,$FB,$00,$80,$70,$38,$38,$3C .db $D8,$84,$00,$FF,$7F,$80,$48,$80 .db $50,$80,$61,$80,$43,$80,$47,$80 .db $4F,$80,$28,$00,$0E,$FF,$FE,$01 .db $7A,$01,$F6,$01,$EA,$01,$D2,$01 .db $A2,$01,$42,$01,$2A,$00,$00,$02 .db $84,$03,$C8,$06,$0F,$07,$1F,$1A .db $27,$3D,$42,$22,$00,$08,$03,$0F .db $07,$02,$00,$00,$80,$00,$A0,$43 .db $00,$C0,$07,$C0,$E0,$00,$F0,$E0 .db $18,$F0,$08,$22,$00,$E0,$34,$C0 .db $E0,$10,$08,$00,$0F,$1F,$00,$7F .db $70,$FF,$71,$F9,$0F,$70,$29,$51 .db $2F,$50,$09,$71,$1F,$77,$F8,$FE .db $78,$06,$08,$66,$E0,$F0,$00,$FC .db $1C,$FE,$1C,$3E,$E0,$1C,$28,$14 .db $E8,$14,$28,$16,$F0,$DC,$3E,$FE .db $3C,$C0,$20,$C6,$F0,$2F,$00,$78 .db $0B,$6E,$F7,$44,$EE,$00,$44,$00 .db $24,$00,$12,$00,$0A,$83,$07,$52 .db $27,$00,$0B,$76,$EF,$22,$77,$00 .db $22,$00,$24,$00,$48,$00,$50,$83 .db $0A,$3A,$27,$00,$07,$2E,$91,$00 .db $5F,$27,$60,$18,$38,$83,$07,$E8 .db $07,$00,$02,$00,$03,$60,$20,$1F .db $07,$83,$00,$00,$07,$F2,$03,$E4 .db $06,$8C,$0E,$38,$3C,$83,$02,$C0 .db $07,$80,$C0,$00,$C0,$FC,$F8,$F0 .db $C0,$23,$00,$0B,$3D,$61,$2D,$61 .db $23,$6D,$20,$73,$00,$30,$00,$0C .db $83,$02,$AA,$02,$02,$12,$10,$24 .db $00,$01,$90,$F9,$44,$00,$92,$08 .db $14,$00,$94,$00,$98,$00,$58,$00 .db $F0,$27,$00,$0B,$06,$FF,$0D,$FB .db $0D,$FF,$0F,$7F,$0F,$3F,$1E,$10 .db $83,$07,$B4,$10,$7E,$79,$7D,$3F .db $10,$07,$00,$00,$78,$FB,$F8,$FB .db $E4,$FF,$80,$E6,$00,$24,$80,$05 .db $00,$80,$74,$F4,$E0,$80,$23,$00 .db $0F,$5E,$80,$7D,$80,$7A,$80,$74 .db $80,$68,$80,$50,$80,$7F,$80,$00 .db $FF,$27,$00,$0F,$82,$01,$02,$01 .db $06,$01,$0E,$01,$1E,$01,$3A,$01 .db $FE,$01,$00,$FF,$27,$00,$13,$3A .db $40,$30,$45,$10,$25,$07,$3F,$3B .db $7F,$3F,$7F,$3C,$7F,$1B,$3F,$05 .db $0A,$0A,$27,$22,$7F,$07,$3F,$F0 .db $08,$70,$08,$60,$18,$10,$46,$FC .db $F8,$05,$70,$F8,$00,$80,$88,$1C .db $22,$FC,$0C,$F8,$67,$F8,$70,$FF .db $77,$F8,$30,$7F,$03,$3B,$00,$07 .db $23,$00,$04,$F0,$F8,$F8,$78,$34 .db $22,$00,$0B,$D6,$2F,$2E,$DF,$CE .db $3F,$0C,$DE,$80,$AC,$00,$C0,$23 .db $00,$04,$0F,$1F,$1F,$3E,$4C,$22 .db $00,$FF,$03,$01,$01,$03,$02,$43 .db $02,$03,$23,$01,$43,$03,$02,$00 .db $00,$22,$01,$23,$00,$0B,$C0,$C0 .db $78,$B8,$74,$AC,$24,$DC,$6C,$94 .db $78,$B8,$43,$C0,$40,$05,$00,$C0 .db $D8,$F8,$98,$80,$2D,$00,$03,$73 .db $73,$CF,$BC,$26,$00,$00,$70,$23 .db $00,$0B,$1C,$1C,$32,$2E,$2E,$32 .db $DE,$E6,$FD,$03,$F3,$3D,$22,$00 .db $14,$1C,$14,$28,$0E,$0E,$08,$08 .db $0C,$0C,$0E,$0A,$8A,$8E,$CA,$CE .db $A7,$E7,$AD,$EE,$5B,$74,$22,$00 .db $14,$04,$04,$40,$42,$24,$10,$10 .db $30,$30,$70,$50,$51,$71,$53,$73 .db $E5,$E7,$7B,$9F,$AE,$56,$22,$00 .db $E0,$34,$20,$20,$02,$84,$50,$04 .db $04,$0A,$0E,$67,$65,$7F,$58,$3E .db $31,$3D,$22,$7B,$40,$7F,$7E,$00 .db $04,$02,$04,$01,$0A,$04,$00,$10 .db $10,$38,$28,$F0,$D0,$7B,$8B,$BD .db $47,$F6,$0A,$EA,$06,$D1,$07,$00 .db $00,$20,$80,$42,$28,$14,$2E,$2F .db $00,$01,$1C,$22,$22,$41,$01,$22 .db $1C,$30,$00,$10,$08,$14,$22,$41 .db $82,$44,$28,$10,$00,$FF,$00,$AA .db $0A,$FF,$15,$BF,$2A,$86,$00,$F5 .db $01,$00,$7F,$45,$55,$6A,$07,$00 .db $FF,$00,$AB,$A8,$FD,$54,$FF,$87 .db $01,$0C,$02,$00,$FE,$52,$44,$AA .db $56,$11,$03,$03,$0E,$0D,$1F,$10 .db $3F,$20,$3F,$3E,$7F,$41,$FF,$80 .db $FF,$BE,$00,$01,$24,$00,$1C,$40 .db $E0,$E0,$D8,$38,$FC,$04,$FE,$06 .db $EA,$02,$F5,$83,$EB,$41,$E3,$3F .db $00,$20,$C0,$20,$14,$0A,$16,$1C .db $00,$F9,$61,$9E,$45,$00,$C7,$E0 .db $25,$29,$6E,$17,$39,$04,$7B,$00 .db $18,$7D,$7D,$7C,$10,$00,$23,$00 .db $E7,$81,$7E,$00,$3C,$81,$BD,$66 .db $FF,$81,$7E,$7E,$81,$24,$FF,$00 .db $66,$E7,$66,$18,$00,$81,$DB,$43 .db $07,$04,$13,$1B,$1D,$37,$29,$24 .db $3B,$2E,$35,$1F,$1C,$03,$03,$00 .db $00,$04,$18,$1F,$1B,$03,$00,$23 .db $80,$23,$00,$25,$80,$29,$00,$09 .db $B3,$CC,$BF,$C3,$7C,$64,$4C,$74 .db $38,$38,$25,$00,$03,$4C,$70,$10 .db $38,$23,$00,$01,$CE,$CE,$35,$00 .db $E0,$5E,$3F,$20,$6B,$40,$4C,$51 .db $7E,$7F,$FC,$C3,$D3,$AF,$F7,$BB .db $70,$7F,$08,$14,$33,$00,$01,$73 .db $43,$00,$FA,$06,$A2,$0E,$07,$73 .db $0F,$F5,$EF,$FB,$E6,$FE,$E5,$F9 .db $0E,$FE,$24,$5C,$FC,$0A,$E4,$E8 .db $EE,$00,$7F,$43,$B8,$C7,$BB,$FC .db $FE,$FF,$C8,$B3,$C3,$FF,$37,$3B .db $00,$0F,$00,$47,$47,$00,$3D,$33 .db $03,$00,$A3,$19,$83,$FF,$47,$7D .db $0F,$F9,$EE,$F6,$E5,$F9,$EE,$FE .db $08,$F8,$5E,$7C,$BA,$06,$E0,$EE .db $E0,$30,$00,$09,$08,$14,$14,$22 .db $22,$41,$7F,$00,$60,$00,$43,$FF .db $01,$01,$61,$01,$27,$00,$03,$60 .db $B1,$F1,$61,$23,$00,$87,$00,$F8 .db $84,$00,$FC,$02,$D5,$00,$FF,$44 .db $55,$6A,$02,$4A,$7F,$00,$89,$01 .db $0C,$05,$50,$FF,$00,$55,$00,$FF .db $45,$56,$AA,$11,$FE,$00,$55,$6B .db $00,$3F,$7F,$7F,$FE,$80,$7F,$7F .db $3C,$7E,$7C,$BE,$00,$FE,$22,$00 .db $E0,$48,$0F,$00,$3C,$3C,$00,$9F .db $71,$BF,$C9,$E2,$DE,$1D,$7F,$BE .db $DF,$1E,$FF,$7C,$BF,$00,$FE,$6E .db $76,$20,$9C,$1E,$1E,$3C,$00,$48 .db $97,$08,$D6,$61,$FF,$2A,$73,$04 .db $3D,$08,$71,$41,$99,$00,$D8,$27 .db $67,$0C,$04,$0A,$26,$2E,$6F,$00 .db $FF,$00,$24,$C3,$DB,$66,$E7,$3C .db $FF,$E7,$18,$00,$FF,$E7,$E7,$FF .db $FF,$3C,$18,$22,$00,$00,$18,$22 .db $00,$0C,$01,$01,$07,$06,$0E,$0C .db $1C,$0F,$1F,$00,$3F,$30,$70,$22 .db $00,$01,$01,$03,$83,$02,$B1,$02 .db $78,$40,$C8,$46,$00,$10,$06,$20 .db $C0,$E0,$00,$F0,$00,$30,$22,$E0 .db $00,$C0,$22,$00,$E0,$26,$0D,$09 .db $36,$00,$5F,$2F,$70,$1D,$E0,$43 .db $FC,$1D,$62,$17,$E0,$00,$04,$30 .db $00,$4F,$13,$1D,$5F,$00,$00,$06 .db $06,$8F,$8B,$DF,$D5,$FF,$AB,$7F .db $E5,$EF,$DB,$F6,$4E,$24,$00,$02 .db $80,$10,$38,$22,$00,$06,$01,$01 .db $07,$07,$0E,$0F,$1E,$85,$03,$0A .db $22,$00,$83,$00,$12,$84,$03,$17 .db $00,$C0,$44,$10,$E0,$44,$C0,$20 .db $04,$30,$00,$30,$E0,$A0,$83,$03 .db $2C,$0F,$03,$03,$07,$04,$03,$07 .db $08,$07,$28,$37,$70,$5F,$F0,$9F .db $CF,$BF,$26,$00,$10,$30,$80,$80 .db $C6,$46,$EF,$2B,$FF,$96,$F5,$9F .db $DF,$B5,$9A,$FA,$FF,$15,$23,$00 .db $03,$0A,$2A,$60,$60,$85,$03,$90 .db $03,$00,$0F,$3C,$23,$85,$03,$9A .db $26,$00,$90,$03,$A7,$23,$00,$85 .db $03,$BC,$86,$01,$22,$08,$3C,$7F .db $43,$FF,$80,$FF,$FC,$00,$01,$25 .db $00,$03,$E0,$E0,$B8,$58,$83,$01 .db $3C,$19,$D6,$02,$E9,$07,$D3,$85 .db $C7,$7D,$00,$40,$80,$40,$28,$16 .db $2E,$3A,$07,$00,$18,$00,$27,$07 .db $5C,$1C,$58,$18,$43,$B8,$38,$11 .db $9F,$1F,$07,$1F,$38,$60,$60,$C0 .db $C0,$E0,$C0,$00,$30,$00,$C8,$C0 .db $74,$70,$43,$7A,$78,$E0,$57,$FD .db $FC,$C5,$C4,$C0,$F0,$38,$0C,$06 .db $06,$03,$03,$04,$DC,$68,$F0,$20 .db $78,$01,$39,$01,$79,$48,$98,$00 .db $D8,$6A,$FA,$6B,$07,$0F,$0E,$2E .db $27,$6F,$05,$00,$00,$81,$81,$00 .db $7E,$00,$FF,$18,$99,$7E,$7E,$42 .db $42,$00,$00,$FF,$7E,$81,$7E,$E7 .db $81,$BD,$FF,$30,$7C,$0C,$33,$0C .db $13,$0C,$33,$2D,$73,$31,$7F,$33 .db $7F,$1F,$6F,$03,$00,$01,$20,$61 .db $73,$7F,$6C,$00,$08,$00,$88,$43 .db $00,$F0,$00,$E0,$22,$F0,$01,$E0 .db $E0,$22,$F0,$1D,$70,$80,$70,$F0 .db $F0,$E0,$00,$4C,$E3,$08,$6F,$01 .db $AD,$53,$F0,$0F,$5F,$30,$7F,$09 .db $3B,$00,$0D,$1C,$13,$56,$0F,$20 .db $00,$04,$22,$00,$0D,$0C,$0C,$9E .db $96,$DE,$D2,$FE,$A6,$7E,$EA,$EE .db $DE,$FC,$4C,$24,$00,$02,$80,$10 .db $30,$83,$04,$80,$E0,$37,$0D,$13 .db $0D,$33,$2C,$73,$30,$7F,$31,$7E .db $3D,$6E,$03,$00,$01,$21,$60,$72 .db $7C,$6C,$C0,$08,$E0,$E8,$80,$F0 .db $60,$90,$C0,$10,$E0,$50,$A8,$98 .db $AC,$9C,$30,$F0,$80,$00,$20,$20 .db $60,$60,$EF,$F0,$5C,$10,$18,$08 .db $1C,$1C,$3B,$23,$1E,$1E,$23,$00 .db $04,$1F,$0F,$07,$03,$0C,$22,$00 .db $17,$F5,$15,$7A,$1A,$3F,$35,$D7 .db $DD,$1E,$16,$0B,$0B,$06,$06,$00 .db $00,$EA,$E0,$C0,$0A,$09,$04,$00 .db $00,$83,$05,$10,$05,$38,$28,$3C .db $34,$1F,$1F,$25,$00,$03,$1F,$0F .db $07,$0B,$23,$00,$97,$05,$28,$0A .db $6A,$57,$01,$3F,$7F,$7F,$FC,$81 .db $7C,$7F,$03,$83,$05,$51,$12,$0F .db $01,$00,$00,$0E,$01,$03,$03,$00 .db $2F,$F3,$F7,$11,$8E,$8E,$01,$F1 .db $EE,$FE,$43,$E0,$F0,$05,$00,$F0 .db $DC,$EE,$70,$0E,$22,$E0,$02,$00 .db $EF,$0F,$43,$17,$07,$02,$11,$01 .db $1E,$46,$00,$01,$04,$F0,$18,$18 .db $1E,$1F,$22,$01,$43,$85,$84,$0B .db $8D,$8C,$FE,$FC,$FA,$F8,$64,$60 .db $18,$00,$E0,$00,$22,$03,$1A,$02 .db $06,$9C,$F8,$E0,$2C,$7C,$0A,$3E .db $07,$7F,$50,$9F,$0C,$CF,$04,$C7 .db $79,$FF,$00,$F9,$03,$05,$20,$20 .db $71,$79,$83,$04,$68,$0F,$3C,$3C .db $C3,$FF,$24,$FF,$E7,$FF,$24,$3C .db $E7,$FF,$00,$E7,$7E,$C3,$22,$00 .db $04,$C3,$00,$00,$07,$3F,$43,$BF .db $DF,$43,$BE,$DF,$43,$3D,$DF,$02 .db $3B,$4F,$00,$23,$80,$22,$00,$19 .db $FC,$FC,$C6,$C6,$B2,$82,$FB,$83 .db $FD,$81,$BD,$81,$DD,$C1,$ED,$61 .db $00,$38,$7C,$7C,$7E,$7E,$3E,$9E .db $07,$3F,$43,$BF,$DF,$43,$BE,$DF .db $43,$3D,$DF,$02,$3B,$4F,$00,$23 .db $80,$22,$00,$97,$06,$18,$07,$13 .db $2D,$03,$05,$07,$0F,$07,$0E,$43 .db $0A,$1E,$06,$0D,$1B,$09,$19,$20 .db $00,$00,$22,$01,$15,$04,$06,$C6 .db $96,$52,$32,$6B,$23,$7D,$21,$DD .db $01,$7D,$01,$1D,$01,$C7,$41,$68 .db $CC,$DC,$DE,$22,$FE,$06,$BE,$00 .db $18,$18,$7E,$24,$66,$43,$5A,$C3 .db $0D,$24,$66,$18,$7E,$00,$18,$18 .db $66,$5A,$BD,$BD,$5A,$66,$18,$25 .db $00,$05,$10,$38,$28,$28,$10,$38 .db $26,$00,$E0,$30,$28,$10,$28,$00 .db $00,$80,$7F,$80,$62,$1C,$FD,$A2 .db $3E,$41,$DF,$8C,$13,$0C,$93,$00 .db $8E,$7F,$7F,$C3,$41,$A0,$60,$E0 .db $F1,$01,$FE,$01,$46,$38,$BF,$65 .db $7C,$C2,$FB,$71,$88,$08,$F9,$70 .db $71,$FE,$FE,$C3,$82,$62,$05,$00 .db $8F,$89,$06,$C0,$05,$80,$1F,$06 .db $99,$06,$88,$8D,$06,$D0,$09,$45 .db $7C,$82,$FB,$01,$F8,$60,$99,$60 .db $11,$87,$06,$E8,$19,$00,$3F,$00 .db $7F,$00,$FF,$7E,$9F,$7D,$9D,$39 .db $C9,$30,$40,$2A,$D0,$00,$1F,$3F .db $61,$62,$36,$3F,$3F,$00,$C7,$43 .db $00,$FF,$13,$0F,$FF,$EF,$EF,$CF .db $CF,$96,$86,$34,$00,$00,$83,$FF .db $F0,$10,$30,$79,$FF,$00,$C7,$43 .db $00,$FF,$87,$07,$3E,$00,$F8,$89 .db $07,$47,$04,$FC,$00,$FE,$04,$FB .db $43,$FE,$FF,$1B,$3E,$3F,$06,$07 .db $F6,$07,$00,$F8,$FC,$00,$00,$C0 .db $F8,$F8,$17,$6F,$0F,$3F,$0D,$1C .db $1C,$70,$77,$F0,$38,$F8,$00,$3F .db $23,$00,$1D,$03,$0F,$0F,$07,$00 .db $00,$70,$01,$B8,$8E,$D8,$42,$28 .db $0E,$FC,$01,$00,$03,$00,$FC,$00 .db $00,$FE,$70,$BC,$F0,$FE,$FC,$00 .db $00,$85,$07,$80,$0F,$1E,$38,$19 .db $38,$3C,$7C,$1F,$7F,$00,$1F,$00 .db $00,$03,$07,$07,$03,$87,$07,$96 .db $09,$08,$0C,$F0,$04,$04,$02,$F8 .db $FE,$00,$F8,$83,$07,$A8,$83,$07 .db $79,$06,$07,$0D,$07,$0C,$0B,$18 .db $08,$88,$07,$B9,$00,$02,$83,$07 .db $C2,$22,$00,$0A,$60,$21,$A8,$8E .db $C8,$42,$F8,$0E,$02,$01,$FC,$83 .db $07,$67,$01,$00,$DE,$83,$07,$A9 .db $27,$00,$02,$18,$18,$3C,$43,$24 .db $66,$01,$18,$3C,$83,$02,$FE,$05 .db $18,$24,$5A,$7A,$24,$18,$26,$00 .db $04,$10,$10,$38,$00,$10,$26,$00 .db $E0,$6B,$10,$28,$10,$00,$00,$40 .db $C0,$88,$08,$00,$83,$20,$AF,$41 .db $FD,$C3,$F3,$04,$B4,$A0,$A0,$BF .db $77,$FC,$D3,$8E,$0C,$DB,$5F,$02 .db $03,$11,$10,$00,$C1,$04,$F5,$82 .db $BF,$C3,$CF,$20,$2D,$05,$05,$FD .db $EE,$3F,$CB,$71,$30,$DB,$FA,$40 .db $C0,$80,$1C,$18,$A7,$03,$BC,$40 .db $FF,$C3,$FC,$18,$A7,$A0,$B8,$BF .db $63,$C0,$C0,$80,$00,$C0,$47,$02 .db $03,$01,$38,$18,$E5,$40,$BD,$02 .db $FF,$63,$9F,$18,$E5,$05,$1D,$FD .db $C6,$03,$03,$01,$00,$03,$E2,$1F .db $E0,$1B,$E0,$11,$60,$0B,$46,$F0 .db $0F,$02,$1F,$E0,$7F,$22,$3F,$23 .db $7F,$45,$FF,$00,$00,$CF,$44,$00 .db $87,$03,$CF,$00,$FF,$00,$27,$FF .db $00,$DF,$44,$00,$8F,$00,$DF,$48 .db $00,$FF,$27,$FF,$00,$F8,$45,$01 .db $F0,$08,$03,$D0,$02,$80,$02,$D8 .db $03,$F8,$01,$22,$FE,$23,$FC,$0C .db $FE,$00,$FF,$7F,$80,$6E,$80,$3F .db $C0,$1C,$20,$1F,$20,$43,$09,$10 .db $0F,$00,$67,$77,$27,$17,$1F,$0F .db $0F,$00,$FF,$0E,$0F,$2E,$2F,$0C .db $0F,$43,$78,$7C,$0B,$30,$38,$70 .db $78,$00,$F0,$D0,$F0,$80,$80,$C0 .db $80,$29,$00,$05,$01,$01,$03,$03 .db $06,$06,$24,$00,$02,$01,$03,$07 .db $27,$00,$27,$80,$23,$00,$23,$80 .db $27,$00,$02,$02,$02,$03,$84,$00 .db $02,$23,$00,$00,$02,$22,$03,$29 .db $00,$05,$80,$80,$C0,$40,$60,$20 .db $24,$00,$11,$80,$C0,$E0,$02,$01 .db $3E,$39,$38,$2B,$3C,$31,$0A,$04 .db $14,$09,$1A,$00,$06,$83,$09,$39 .db $E0,$28,$01,$06,$0D,$18,$00,$60 .db $60,$78,$18,$54,$0C,$1A,$06,$02 .db $06,$C1,$01,$00,$E0,$35,$01,$00 .db $00,$08,$04,$0C,$26,$F0,$76,$00 .db $03,$00,$0F,$00,$1C,$03,$33,$04 .db $67,$08,$6C,$43,$10,$D8,$13,$00 .db $03,$0F,$1C,$38,$30,$60,$60,$00 .db $C0,$00,$F0,$00,$38,$C8,$C4,$24 .db $E6,$14,$26,$43,$0A,$13,$07,$00 .db $C0,$F0,$38,$18,$18,$0C,$0C,$2A .db $00,$04,$01,$00,$0F,$08,$17,$26 .db $00,$00,$0E,$24,$00,$0A,$77,$47 .db $BF,$18,$F8,$60,$E1,$84,$87,$89 .db $8E,$22,$00,$04,$60,$07,$1E,$79 .db $73,$86,$08,$A0,$46,$F0,$0F,$02 .db $1F,$E0,$7F,$22,$3F,$23,$7F,$47 .db $FF,$00,$00,$DF,$44,$00,$8F,$01 .db $DF,$00,$28,$FF,$01,$00,$F9,$46 .db $00,$F0,$00,$F9,$44,$00,$FF,$27 .db $FF,$00,$F8,$45,$01,$F0,$88,$08 .db $EF,$22,$FE,$23,$FC,$00,$FE,$43 .db $06,$08,$03,$03,$04,$02,$04,$43 .db $01,$02,$43,$00,$01,$03,$05,$07 .db $01,$03,$83,$00,$12,$03,$60,$70 .db $20,$30,$43,$40,$60,$43,$80,$C0 .db $43,$00,$80,$03,$80,$C0,$80,$80 .db $23,$00,$04,$05,$05,$0B,$09,$0B .db $43,$08,$0F,$07,$0B,$0F,$0B,$0B .db $09,$04,$04,$07,$25,$0F,$04,$07 .db $C0,$40,$E0,$20,$43,$F0,$10,$01 .db $F8,$08,$43,$E8,$C8,$05,$B0,$30 .db $C0,$E0,$F0,$F0,$22,$F8,$00,$D0 .db $45,$03,$02,$43,$05,$04,$05,$07 .db $04,$05,$05,$03,$01,$22,$03,$23 .db $07,$06,$03,$A0,$20,$B0,$10,$F0 .db $90,$45,$F0,$D0,$04,$A0,$A0,$40 .db $40,$E0,$24,$F0,$01,$E0,$C0,$63 .db $03,$83,$00,$06,$09,$00,$00,$01 .db $0F,$0F,$1F,$00,$1F,$04,$02,$84 .db $0B,$17,$83,$03,$72,$06,$80,$0F .db $F1,$F9,$81,$00,$00,$83,$0A,$D9 .db $09,$00,$F8,$36,$80,$FE,$7E,$00 .db $E0,$F0,$00,$43,$50,$98,$13,$28 .db $4C,$20,$43,$13,$20,$0C,$1C,$03 .db $0F,$00,$03,$60,$60,$30,$3C,$1F .db $03,$00,$00,$43,$0A,$13,$13,$14 .db $26,$24,$C6,$C8,$0C,$30,$38,$C0 .db $F0,$00,$C0,$0C,$0C,$18,$38,$F0 .db $C0,$00,$00,$43,$09,$17,$17,$0A .db $16,$04,$0C,$05,$0D,$0A,$3B,$08 .db $7B,$29,$DE,$0C,$0C,$09,$03,$02 .db $04,$25,$63,$08,$0E,$04,$07,$83 .db $00,$06,$13,$80,$83,$40,$C7,$21 .db $EE,$12,$7C,$F3,$F9,$FC,$FE,$7C .db $3B,$97,$C7,$0F,$F0,$0D,$F0,$43 .db $18,$E0,$07,$0D,$F0,$1F,$FF,$1F .db $7F,$00,$3F,$24,$7F,$01,$20,$00 .db $84,$0A,$3F,$00,$DF,$43,$00,$FF .db $06,$78,$FF,$FF,$87,$FF,$00,$CF .db $23,$FF,$00,$87,$22,$00,$84,$0B .db $B8,$43,$00,$FF,$86,$0B,$C1,$23 .db $FF,$00,$87,$22,$00,$05,$E8,$01 .db $C0,$01,$E8,$01,$83,$08,$E8,$05 .db $F8,$FB,$F8,$FE,$00,$FC,$24,$FE .db $02,$04,$00,$00,$FF,$07,$00,$00 .db $03,$03,$0C,$0C,$13,$10,$43,$2F .db $20,$13,$5F,$40,$47,$40,$00,$00 .db $03,$0D,$1B,$1F,$3F,$3F,$00,$00 .db $E0,$E0,$18,$18,$EC,$0C,$43,$F6 .db $06,$0B,$EF,$0F,$1F,$1F,$00,$00 .db $E0,$F0,$F8,$F8,$F0,$E0,$85,$00 .db $02,$43,$2F,$20,$83,$00,$0C,$01 .db $78,$78,$86,$00,$11,$00,$07,$85 .db $00,$1A,$43,$F6,$06,$83,$00,$24 .db $01,$FF,$FF,$86,$00,$29,$22,$00 .db $14,$07,$07,$1C,$1C,$37,$30,$2F .db $20,$6F,$60,$47,$40,$60,$60,$00 .db $00,$03,$0B,$17,$1F,$3F,$83,$00 .db $27,$14,$E0,$38,$38,$DC,$1C,$EC .db $0C,$EE,$0E,$DE,$1E,$3E,$3E,$00 .db $00,$C0,$E0,$F0,$F0,$E0,$C0,$F0 .BANK 9 Graphics2: .db $35,$00,$60,$06,$34,$30,$28,$20 .db $60,$60,$40,$90,$00,$6D,$06,$1C .db $1C,$0C,$0C,$0E,$0E,$1E,$8B,$00 .db $85,$16,$3F,$06,$40,$5C,$C0,$78 .db $C0,$70,$C0,$60,$80,$60,$A0,$60 .db $E0,$00,$39,$23,$07,$0F,$7F,$5F .db $1F,$22,$00,$04,$C0,$00,$30,$00 .db $08,$44,$00,$04,$43,$02,$00,$06 .db $00,$C0,$F0,$F8,$F8,$FC,$FC,$22 .db $00,$0C,$01,$00,$01,$01,$02,$04 .db $07,$0B,$08,$15,$10,$13,$10,$24 .db $00,$04,$04,$0B,$0F,$00,$80,$43 .db $80,$40,$09,$C0,$20,$10,$F0,$08 .db $08,$C4,$04,$E4,$04,$24,$00,$02 .db $F0,$F8,$F8,$23,$00,$1F,$03,$63 .db $2C,$D4,$79,$90,$79,$F0,$25,$78 .db $18,$FC,$00,$00,$60,$93,$96,$F7 .db $7B,$FF,$00,$03,$E2,$ED,$0C,$12 .db $C4,$0A,$E2,$06,$F2,$02,$43,$F9 .db $01,$18,$00,$00,$E0,$30,$F8,$FC .db $FE,$FE,$78,$78,$FF,$07,$FF,$80 .db $7F,$7C,$13,$EF,$74,$FF,$0F,$7F .db $18,$0E,$07,$22,$00,$03,$CC,$FF .db $7F,$0E,$23,$FF,$0B,$FE,$7E,$FF .db $00,$FF,$C1,$3E,$FE,$00,$FE,$30 .db $1C,$24,$00,$02,$C0,$FE,$1C,$87 .db $01,$82,$07,$7C,$FF,$0E,$7F,$04 .db $0E,$08,$06,$22,$00,$83,$01,$94 .db $00,$06,$89,$01,$9A,$05,$3C,$FE .db $18,$3C,$20,$18,$23,$00,$03,$C0 .db $FE,$3C,$18,$22,$FF,$0C,$E1,$FF .db $80,$FF,$3F,$C0,$7F,$1E,$E1,$3F .db $40,$00,$3F,$27,$00,$24,$FF,$0A .db $7F,$FF,$00,$7F,$E1,$1E,$FF,$C0 .db $3E,$00,$F8,$27,$00,$22,$FF,$0C .db $FC,$FF,$E0,$FF,$07,$F8,$9F,$63 .db $FC,$0F,$70,$00,$1F,$27,$00,$22 .db $FF,$0C,$3F,$FF,$07,$FF,$E0,$1F .db $F9,$C6,$3F,$F0,$0E,$00,$F8,$27 .db $00,$22,$FF,$83,$02,$2B,$08,$80 .db $7F,$F8,$07,$7F,$0F,$38,$00,$0F .db $27,$00,$22,$FF,$83,$02,$13,$08 .db $01,$FE,$1F,$E0,$FE,$F0,$1C,$00 .db $F0,$27,$00,$43,$30,$70,$0F,$18 .db $38,$1C,$3C,$0F,$1F,$03,$0F,$00 .db $03,$00,$00,$0F,$0F,$07,$03,$24 .db $00,$E0,$4C,$01,$02,$01,$0E,$01 .db $1C,$01,$F8,$C1,$F0,$C1,$FC,$9E .db $00,$FC,$FE,$FC,$F0,$E2,$06,$3E .db $60,$00,$27,$00,$13,$60,$28,$D0 .db $70,$9D,$03,$7C,$0B,$1F,$1B,$3C .db $00,$3C,$1F,$6F,$97,$9F,$7C,$1C .db $3C,$3C,$F2,$02,$33,$02,$CF,$CD .db $DF,$FA,$32,$CC,$F4,$FE,$F6,$0F .db $00,$0F,$FC,$FC,$F0,$E0,$CC,$0E .db $0F,$0F,$7A,$FC,$37,$7A,$02,$71 .db $43,$01,$03,$00,$03,$43,$07,$00 .db $E0,$20,$00,$FD,$78,$71,$03,$03 .db $07,$07,$00,$79,$01,$39,$01,$82 .db $02,$42,$82,$44,$F4,$54,$B8,$18 .db $BC,$00,$3C,$FE,$FE,$7C,$BC,$B8 .db $B8,$BC,$3C,$22,$00,$03,$0F,$1E .db $01,$3E,$44,$01,$7E,$05,$9E,$71 .db $8F,$F8,$00,$0F,$23,$01,$01,$61 .db $10,$24,$00,$43,$80,$00,$0D,$BC .db $1C,$E0,$7E,$C0,$3F,$E0,$00,$00 .db $80,$80,$BC,$E0,$80,$22,$00,$06 .db $01,$06,$06,$19,$00,$3F,$00,$44 .db $7F,$11,$0D,$31,$FF,$00,$06,$19 .db $3F,$7F,$6E,$6E,$CE,$00,$F8,$80 .db $7E,$43,$00,$FF,$0F,$80,$FF,$C0 .db $FF,$40,$7F,$22,$3F,$F8,$7E,$FF .db $FF,$7F,$3F,$BF,$DD,$23,$00,$03 .db $0F,$80,$1F,$80,$43,$3F,$C0,$03 .db $1E,$E3,$1C,$E3,$83,$03,$28,$03 .db $C0,$C0,$E1,$E2,$23,$00,$0B,$80 .db $00,$C0,$20,$E0,$10,$E0,$18,$E0 .db $98,$60,$90,$22,$00,$04,$20,$10 .db $18,$18,$90,$27,$00,$02,$30,$00 .db $78,$43,$00,$FC,$36,$00,$00,$38 .db $29,$00,$16,$0C,$08,$16,$0D,$D2 .db $4A,$FC,$64,$F8,$01,$F8,$73,$20 .db $47,$30,$0C,$12,$D2,$FD,$FB,$FF .db $0F,$3F,$25,$00,$09,$C0,$C0,$20 .db $20,$50,$10,$A0,$18,$E8,$16,$23 .db $00,$1B,$C0,$A0,$C0,$C0,$00,$18 .db $10,$2C,$1A,$64,$25,$79,$30,$78 .db $02,$78,$E7,$40,$0F,$E0,$18,$24 .db $64,$7A,$7F,$7F,$1F,$FF,$25,$00 .db $09,$80,$80,$40,$40,$A0,$20,$40 .db $30,$D0,$2C,$23,$00,$1E,$80,$40 .db $80,$80,$00,$1D,$0C,$37,$1E,$27 .db $0D,$1F,$1D,$03,$12,$11,$20,$20 .db $2E,$20,$1D,$27,$27,$1F,$03,$0D .db $1F,$17,$00,$80,$80,$44,$E0,$C0 .db $08,$80,$C0,$40,$86,$E4,$5E,$5C .db $3E,$80,$22,$E0,$05,$C0,$86,$1E .db $BE,$06,$0F,$44,$00,$07,$00,$0F .db $44,$00,$1F,$12,$3F,$00,$3F,$06 .db $00,$02,$07,$0F,$0F,$1F,$1C,$C0 .db $E0,$00,$C0,$00,$E0,$00,$F0,$44 .db $00,$F8,$14,$FC,$00,$FC,$C0,$00 .db $C0,$60,$70,$70,$78,$F8,$8F,$F8 .db $9F,$70,$FF,$00,$FD,$02,$70,$8F .db $45,$00,$FF,$04,$10,$60,$00,$02 .db $8F,$22,$FF,$09,$3F,$E0,$FF,$C0 .db $FF,$00,$FE,$01,$F8,$07,$45,$00 .db $FF,$22,$00,$01,$01,$07,$22,$FF .db $09,$3B,$FF,$EF,$EF,$CF,$CF,$7A .db $42,$79,$00,$45,$7C,$03,$04,$C4 .db $10,$30,$BD,$FF,$22,$03,$00,$36 .db $22,$3F,$10,$1D,$1D,$E1,$01,$FC .db $00,$7E,$80,$7F,$80,$7C,$83,$C9 .db $C0,$E2,$FE,$FF,$22,$83,$05,$0E .db $F3,$0F,$F0,$07,$F8,$43,$C3,$FC .db $E0,$26,$41,$7E,$00,$3F,$C8,$1F .db $F1,$F0,$F8,$3C,$3C,$BE,$FF,$F7 .db $C0,$B0,$80,$78,$F0,$0C,$38,$C6 .db $7C,$C2,$FC,$02,$FC,$00,$78,$80 .db $30,$78,$0C,$46,$82,$02,$00,$80 .db $FC,$44,$00,$F8,$05,$31,$C0,$01 .db $F0,$01,$FE,$43,$00,$FF,$22,$00 .db $04,$C0,$F0,$FE,$FF,$FF,$49,$FC .db $00,$05,$F8,$00,$38,$C0,$00,$FE .db $25,$00,$01,$C0,$FE,$43,$5B,$38 .db $0B,$47,$30,$7B,$28,$0C,$FC,$6C .db $F4,$5F,$EB,$0E,$C4,$22,$3F,$10 .db $07,$F3,$F3,$E0,$C0,$CE,$11,$C8 .db $16,$80,$18,$10,$10,$20,$20,$C0 .db $C0,$23,$00,$23,$E0,$00,$C0,$22 .db $00,$43,$6F,$F0,$0B,$0F,$E0,$F6 .db $50,$00,$78,$31,$79,$2E,$76,$1C .db $68,$22,$FF,$10,$0F,$7F,$7E,$70 .db $60,$9C,$22,$90,$2C,$00,$30,$20 .db $20,$40,$40,$80,$80,$23,$00,$23 .db $C0,$00,$80,$22,$00,$43,$5F,$40 .db $0F,$4F,$40,$07,$20,$23,$50,$30 .db $48,$4C,$BC,$03,$C3,$2F,$2F,$3F .db $1F,$83,$02,$81,$11,$20,$1E,$9C .db $08,$C0,$0F,$C6,$0F,$C2,$07,$0C .db $0B,$30,$30,$C0,$C0,$DE,$E0,$22 .db $FF,$1A,$F3,$C0,$00,$02,$3F,$03 .db $3F,$04,$1B,$0B,$14,$07,$08,$06 .db $0B,$02,$05,$00,$02,$1B,$0B,$04 .db $0B,$07,$06,$02,$00,$43,$00,$FC .db $E0,$37,$80,$78,$40,$B8,$C0,$10 .db $80,$A0,$80,$40,$00,$80,$78,$78 .db $B0,$40,$E0,$C0,$80,$00,$02,$42 .db $07,$65,$0F,$EB,$0F,$78,$1B,$F4 .db $1C,$F3,$1B,$77,$1A,$77,$40,$62 .db $E6,$77,$EB,$EC,$6B,$6B,$80,$81 .db $C0,$43,$A0,$A7,$E0,$2F,$40,$9F .db $80,$1F,$43,$20,$BE,$09,$01,$83 .db $C7,$CF,$6F,$EF,$4E,$4E,$00,$01 .db $23,$00,$00,$03,$22,$00,$01,$03 .db $03,$24,$01,$83,$00,$00,$23,$00 .db $02,$FF,$00,$FF,$45,$E7,$18,$00 .db $FF,$83,$04,$38,$02,$E0,$FF,$FF .db $23,$18,$07,$7F,$1F,$78,$9F,$07 .db $E7,$84,$78,$43,$80,$7F,$07,$81 .db $7E,$07,$78,$7C,$00,$E7,$F8,$23 .db $7F,$1F,$FF,$FF,$E0,$F8,$C0,$BC .db $B8,$5E,$38,$DE,$EC,$0E,$EC,$0C .db $5C,$1C,$39,$38,$18,$7C,$E6,$E6 .db $F2,$F4,$EC,$D8,$00,$18,$18,$7E .db $24,$66,$43,$5A,$C3,$0D,$24,$66 .db $18,$7E,$00,$18,$18,$66,$5A,$BD .db $BD,$5A,$66,$18,$25,$00,$05,$10 .db $38,$28,$28,$10,$38,$26,$00,$10 .db $28,$10,$28,$00,$00,$F8,$3F,$45 .db $87,$66,$86,$00,$E0,$0C,$F3,$00 .db $FF,$43,$80,$7F,$02,$C7,$FA,$F9 .db $22,$FF,$15,$7F,$7F,$30,$C0,$C0 .db $F8,$40,$FC,$38,$BE,$38,$DE,$2C .db $CE,$6C,$8C,$DD,$1C,$C0,$38,$BC .db $C6,$83,$06,$8B,$4F,$FF,$00,$27 .db $FF,$E0,$2C,$00,$F0,$60,$B8,$40 .db $FE,$00,$7F,$01,$7E,$00,$3E,$01 .db $3F,$00,$19,$00,$20,$70,$3C,$3D .db $1D,$18,$00,$00,$07,$06,$0B,$0C .db $17,$08,$1F,$00,$3F,$33,$4C,$37 .db $C8,$B7,$48,$00,$03,$07,$0E,$0C .db $83,$03,$1B,$13,$F0,$00,$FC,$60 .db $9E,$E0,$0E,$00,$87,$B8,$7F,$D0 .db $3F,$C0,$3F,$00,$00,$60,$F0,$78 .db $23,$00,$13,$63,$01,$9B,$00,$A6 .db $18,$BA,$28,$BA,$34,$7E,$0A,$3E .db $00,$0E,$00,$60,$59,$45,$45,$22 .db $01,$14,$00,$C6,$02,$DB,$82,$E7 .db $9A,$DF,$96,$DF,$AC,$FE,$D0,$FC .db $80,$F0,$00,$04,$18,$20,$20,$22 .db $00,$12,$0C,$7B,$0E,$78,$1F,$30 .db $1F,$10,$1B,$14,$1A,$14,$08,$0C .db $00,$07,$74,$77,$2F,$22,$0F,$09 .db $07,$00,$40,$7E,$20,$3C,$C0,$18 .db $C0,$10,$43,$20,$B0,$0A,$40,$E0 .db $00,$C0,$9E,$DC,$E8,$E0,$C0,$C0 .db $80,$38,$00,$23,$3F,$01,$03,$03 .db $29,$00,$02,$3E,$3E,$03,$24,$00 .db $1B,$99,$81,$9F,$9F,$FE,$FF,$00 .db $FF,$F8,$FF,$7F,$7F,$0F,$0F,$00 .db $00,$7F,$61,$F1,$FF,$07,$00,$70 .db $3F,$E1,$F8,$C1,$FC,$43,$00,$FF .db $43,$60,$FF,$0B,$F0,$FF,$84,$87 .db $38,$3C,$FF,$FF,$9F,$9F,$0F,$7B .db $24,$00,$02,$18,$18,$3C,$43,$24 .db $66,$0B,$18,$3C,$00,$18,$00,$00 .db $18,$24,$5A,$7A,$24,$18,$26,$00 .db $04,$10,$10,$38,$00,$10,$26,$00 .db $11,$10,$28,$10,$00,$00,$83,$7C .db $86,$78,$7C,$00,$19,$01,$93,$93 .db $F8,$FF,$00,$22,$FF,$83,$06,$74 .db $07,$6F,$FF,$FF,$00,$B9,$38,$21 .db $3C,$43,$80,$FF,$43,$60,$FF,$83 .db $08,$04,$02,$D8,$FC,$7F,$86,$08 .db $0B,$02,$1F,$00,$7F,$44,$00,$FF .db $02,$7F,$00,$1F,$23,$00,$05,$1F .db $7F,$FF,$FF,$7F,$1F,$24,$00,$00 .db $7E,$44,$00,$FF,$00,$7E,$26,$00 .db $11,$7E,$FF,$FF,$7E,$00,$00,$57 .db $28,$9B,$A4,$6C,$F3,$07,$78,$01 .db $06,$00,$01,$23,$00,$01,$C0,$40 .db $25,$00,$1B,$C0,$3E,$90,$6F,$28 .db $DF,$50,$FE,$80,$7E,$00,$FC,$60 .db $B8,$00,$F0,$00,$10,$2E,$1C,$3C .db $18,$30,$00,$00,$62,$00,$9A,$8B .db $07,$54,$04,$01,$61,$59,$45,$45 .db $22,$01,$02,$80,$C6,$82,$91,$07 .db $6B,$23,$00,$0E,$07,$07,$18,$1F .db $20,$3F,$40,$73,$8C,$61,$9E,$20 .db $DF,$21,$DE,$25,$00,$01,$40,$40 .db $83,$00,$19,$0B,$F8,$04,$FC,$02 .db $CE,$31,$86,$79,$04,$FB,$84,$7B .db $25,$00,$01,$02,$02,$85,$09,$00 .db $43,$3F,$40,$85,$09,$08,$26,$00 .db $86,$09,$17,$43,$FC,$02,$85,$09 .db $20,$26,$00,$02,$02,$00,$FF,$4D .db $7F,$80,$28,$00,$00,$FF,$4D,$FE .db $01,$28,$00,$00,$01,$2B,$00,$02 .db $03,$00,$01,$25,$00,$00,$03,$44 .db $00,$FF,$43,$7F,$00,$02,$3F,$00 .db $3F,$43,$E7,$18,$83,$06,$D4,$E0 .db $25,$3F,$3F,$18,$18,$02,$02,$07 .db $05,$0F,$0B,$0B,$0C,$1C,$13,$1B .db $17,$0A,$17,$08,$3B,$00,$02,$06 .db $03,$0C,$0B,$1B,$34,$80,$80,$C0 .db $40,$A0,$A0,$70,$B0,$C0,$10,$44 .db $00,$90,$08,$38,$00,$80,$C0,$40 .db $E0,$60,$70,$F8,$83,$09,$60,$0B .db $48,$80,$50,$80,$61,$80,$43,$80 .db $47,$80,$4E,$80,$28,$00,$0E,$FF .db $FE,$01,$72,$01,$E6,$01,$CA,$01 .db $92,$01,$22,$01,$42,$01,$2C,$00 .db $8A,$01,$23,$25,$00,$01,$04,$0B .db $22,$00,$00,$80,$43,$80,$40,$87 .db $01,$3E,$25,$00,$E0,$69,$F0,$F8 .db $00,$07,$04,$4F,$0A,$EA,$00,$F0 .db $05,$F0,$03,$7C,$03,$1C,$00,$00 .db $07,$4B,$E5,$FF,$FF,$7F,$1C,$00 .db $00,$E0,$A0,$F6,$40,$47,$C0,$4F .db $B0,$0F,$E0,$1F,$E0,$1E,$00,$00 .db $E0,$56,$B7,$BF,$FF,$7F,$3E,$00 .db $03,$FC,$01,$BE,$01,$BA,$22,$5D .db $1B,$44,$00,$24,$00,$1B,$00,$00 .db $70,$7E,$7E,$3B,$3B,$1B,$00,$00 .db $C8,$37,$80,$7D,$80,$5D,$44,$BA .db $D8,$22,$00,$24,$00,$D8,$00,$00 .db $06,$7E,$7E,$DC,$DC,$D8,$00,$00 .db $21,$DE,$03,$FC,$43,$BC,$00,$BB .db $87,$0A,$86,$03,$40,$70,$7C,$7F .db $83,$0A,$93,$07,$84,$7B,$C0,$3F .db $C2,$3D,$00,$DD,$87,$0A,$9E,$03 .db $02,$0E,$3E,$FE,$83,$0A,$AB,$4D .db $7F,$80,$01,$00,$FF,$27,$00,$4D .db $FE,$01,$01,$00,$FF,$29,$00,$01 .db $03,$03,$23,$01,$27,$00,$00,$03 .db $26,$00,$87,$06,$50,$83,$07,$CA .db $23,$00,$83,$06,$5C,$83,$07,$D9 .db $05,$08,$38,$0C,$30,$0F,$70,$43 .db $1B,$74,$0D,$1A,$34,$08,$28,$00 .db $07,$37,$3F,$7F,$6F,$6F,$2F,$27 .db $00,$43,$00,$3C,$0B,$C0,$1C,$60 .db $BC,$20,$BC,$60,$FC,$40,$68,$00 .db $C0,$22,$FC,$0B,$DC,$DC,$8C,$88 .db $00,$5C,$80,$79,$80,$72,$80,$64 .db $84,$09,$F3,$83,$0A,$EC,$27,$00 .db $00,$82,$44,$01,$02,$04,$06,$01 .db $0E,$01,$1A,$84,$0B,$03,$27,$00 .db $01,$13,$10,$83,$02,$A0,$E0,$22 .db $21,$DC,$68,$9C,$1A,$7D,$02,$3F .db $02,$01,$0F,$1F,$6F,$9F,$9F,$7D .db $3D,$01,$E4,$04,$F2,$02,$F3,$02 .db $E3,$0D,$15,$DE,$D6,$EF,$D0,$FF .db $10,$E0,$F8,$22,$FC,$0F,$EE,$EF .db $EF,$E0,$00,$07,$04,$0F,$0A,$0A .db $00,$00,$05,$00,$00,$07,$43,$00 .db $0F,$13,$07,$0B,$05,$0F,$0F,$07 .db $0F,$0F,$00,$E0,$A0,$F0,$40,$40 .db $C0,$40,$B0,$00,$00,$E0,$43,$00 .db $F0,$07,$E0,$50,$B0,$B0,$F0,$E0 .db $F0,$F0,$FF,$22,$00,$0C,$03,$03 .db $0C,$0F,$1E,$1C,$2C,$18,$28,$39 .db $40,$3B,$40,$23,$00,$00,$03,$22 .db $07,$06,$00,$FF,$FF,$18,$FF,$3C .db $81,$22,$00,$44,$FF,$00,$23,$00 .db $10,$7E,$FF,$C7,$83,$01,$00,$07 .db $07,$C8,$04,$3B,$00,$BF,$B8,$47 .db $7C,$83,$43,$7C,$82,$1F,$00,$00 .db $C0,$40,$00,$00,$01,$01,$00,$E0 .db $E0,$1F,$00,$FF,$39,$EE,$0C,$FF .db $00,$BF,$00,$3F,$61,$7E,$00,$00 .db $3B,$6C,$3E,$5E,$DE,$8C,$24,$00 .db $04,$C0,$00,$E0,$80,$60,$45,$00 .db $F0,$22,$00,$02,$80,$40,$C0,$22 .db $00,$12,$0D,$0D,$3F,$32,$72,$20 .db $60,$49,$C0,$4F,$C0,$4C,$C3,$4C .db $CF,$00,$00,$0D,$1F,$22,$3F,$0C .db $33,$00,$F3,$F3,$FF,$0C,$0C,$40 .db $40,$F3,$40,$4C,$F3,$43,$06,$FF .db $02,$00,$00,$F3,$22,$BF,$0D,$F9 .db $F9,$00,$CF,$CF,$FF,$30,$30,$00 .db $00,$CF,$00,$38,$CF,$43,$08,$FF .db $04,$00,$00,$CF,$FF,$FF,$22,$F7 .db $00,$50,$44,$CF,$4C,$05,$2E,$6D .db $31,$70,$09,$38,$43,$04,$0C,$07 .db $3F,$33,$33,$13,$0F,$07,$03,$03 .db $45,$00,$FF,$43,$06,$FF,$01,$00 .db $FF,$43,$98,$7F,$22,$FF,$0D,$F9 .db $F9,$FF,$E7,$E7,$00,$FF,$00,$AA .db $0A,$FF,$15,$BF,$2A,$86,$00,$F5 .db $01,$00,$7F,$45,$55,$6A,$07,$00 .db $FF,$00,$AB,$A8,$FD,$54,$FF,$87 .db $01,$0C,$02,$00,$FE,$52,$44,$AA .db $56,$15,$03,$03,$0F,$0F,$18,$0F .db $37,$18,$6F,$30,$4E,$11,$AE,$31 .db $A7,$38,$00,$00,$10,$20,$40,$60 .db $23,$C0,$13,$F0,$B0,$18,$E0,$EC .db $18,$F6,$0C,$72,$88,$05,$FC,$3D .db $FC,$00,$00,$08,$04,$02,$06,$83 .db $00,$D6,$E0,$2D,$4F,$B0,$26,$58 .db $14,$28,$20,$58,$41,$B0,$3B,$40 .db $1A,$24,$00,$3F,$1F,$0F,$1F,$3F .db $1F,$0F,$00,$FF,$16,$09,$2C,$12 .db $78,$04,$C4,$1A,$B4,$0B,$68,$16 .db $D0,$2C,$00,$FC,$F8,$F0,$F8,$FE .db $FC,$F8,$43,$7F,$80,$10,$73,$80 .db $70,$80,$71,$90,$7F,$FC,$3F,$78 .db $00,$3F,$07,$07,$0F,$0F,$0E,$22 .db $00,$44,$FF,$00,$22,$00,$0C,$81 .db $00,$FF,$3C,$FF,$18,$00,$FF,$01 .db $83,$C7,$FF,$7E,$22,$00,$07,$3B .db $47,$01,$3F,$0C,$13,$00,$1F,$43 .db $00,$07,$03,$04,$0F,$00,$0F,$22 .db $00,$E0,$22,$07,$00,$03,$07,$00 .db $F0,$FF,$CE,$F5,$39,$DE,$38,$F7 .db $FD,$03,$01,$FF,$02,$FD,$00,$E7 .db $00,$04,$19,$F0,$01,$01,$C1,$00 .db $40,$B0,$00,$60,$40,$70,$43,$00 .db $F0,$01,$C0,$F0,$44,$00,$F8,$06 .db $80,$80,$00,$E0,$E0,$F0,$00,$45 .db $2C,$6F,$09,$12,$31,$11,$30,$0C .db $1C,$03,$0F,$01,$03,$22,$13,$02 .db $0F,$0F,$03,$22,$00,$01,$FF,$00 .db $46,$FF,$60,$07,$00,$FF,$00,$7F .db $80,$BF,$FF,$FF,$22,$9F,$02,$FF .db $FF,$7F,$43,$00,$FF,$43,$06,$FF .db $00,$00,$45,$FF,$80,$22,$FF,$02 .db $F9,$F9,$FF,$22,$7F,$43,$02,$06 .db $43,$01,$03,$01,$00,$01,$25,$00 .db $01,$01,$01,$25,$00,$17,$98,$7F .db $78,$1F,$39,$07,$07,$01,$80,$80 .db $71,$F1,$0E,$7F,$00,$0E,$E7,$E7 .db $FE,$FE,$7F,$0E,$00,$00,$87,$00 .db $F8,$84,$00,$FC,$02,$D5,$00,$FF .db $44,$55,$6A,$02,$4A,$7F,$00,$89 .db $01,$0C,$05,$50,$FF,$00,$55,$00 .db $FF,$45,$56,$AA,$E0,$43,$FE,$00 .db $81,$0E,$C1,$02,$70,$03,$7D,$02 .db $3D,$02,$0C,$03,$03,$00,$03,$03 .db $F0,$FC,$7C,$5C,$2C,$10,$0C,$00 .db $B1,$70,$83,$40,$0E,$C0,$BE,$40 .db $BC,$40,$30,$C0,$C0,$00,$C0,$C0 .db $0F,$3F,$3E,$3A,$34,$08,$30,$00 .db $35,$48,$5B,$A0,$27,$50,$17,$28 .db $2F,$50,$5E,$A0,$2C,$50,$10,$28 .db $1F,$3F,$22,$1F,$1B,$3F,$1F,$0F .db $E0,$16,$E4,$03,$C8,$06,$90,$0C .db $0C,$02,$0A,$05,$14,$0A,$28,$14 .db $FC,$FE,$FC,$F8,$F8,$FC,$F8,$F0 .db $00,$83,$01,$90,$0A,$1F,$0E,$1F .db $0D,$1E,$0E,$1F,$07,$0F,$00,$07 .db $28,$00,$0E,$80,$80,$C0,$C0,$E0 .db $60,$F0,$A0,$70,$C0,$20,$60,$9C .db $1C,$62,$28,$00,$E0,$2E,$03,$03 .db $0F,$0B,$10,$17,$20,$0F,$40,$3F .db $60,$3B,$A0,$6B,$E0,$00,$00,$0F .db $19,$32,$14,$5C,$1F,$00,$C0,$00 .db $30,$A0,$28,$70,$14,$D0,$06,$B8 .db $0A,$AA,$0B,$8A,$0B,$00,$C0,$D0 .db $E8,$78,$74,$F4,$F4,$83,$00,$02 .db $0B,$01,$1E,$07,$18,$0F,$30,$00 .db $3F,$18,$6F,$30,$5F,$28,$00,$02 .db $C0,$00,$F0,$43,$80,$78,$03,$00 .db $FC,$20,$CC,$43,$68,$8E,$24,$00 .db $22,$10,$0F,$00,$01,$01,$06,$07 .db $09,$0F,$16,$18,$2F,$10,$3F,$20 .db $5F,$60,$BF,$62,$00,$25,$00,$10 .db $F0,$B0,$3C,$C0,$FE,$D0,$2E,$F0 .db $0F,$60,$9F,$00,$FF,$9C,$63,$00 .db $C0,$24,$00,$02,$04,$00,$01,$62 .db $01,$04,$0D,$0C,$17,$18,$2F,$43 .db $30,$5F,$01,$70,$AF,$25,$00,$11 .db $20,$40,$C0,$60,$80,$F0,$00,$F8 .db $80,$FC,$40,$FE,$20,$FF,$10,$FF .db $C8,$3F,$26,$00,$00,$40,$26,$00 .db $08,$18,$08,$16,$06,$09,$03,$08 .db $01,$04,$25,$00,$01,$04,$02,$26 .db $00,$08,$01,$01,$02,$02,$8D,$8B .db $7C,$C8,$2B,$24,$00,$02,$01,$01 .db $14,$2A,$00,$04,$06,$02,$05,$01 .db $02,$28,$00,$02,$01,$00,$01,$43 .db $01,$02,$07,$03,$04,$02,$0D,$0B .db $FC,$C8,$2B,$24,$00,$13,$01,$01 .db $14,$20,$50,$08,$30,$05,$18,$0B .db $30,$17,$60,$07,$38,$0B,$14,$16 .db $28,$1F,$84,$01,$62,$09,$07,$0F .db $74,$0A,$E8,$14,$D0,$28,$F0,$0C .db $83,$02,$EC,$06,$20,$18,$08,$14 .db $F8,$F0,$E0,$83,$02,$FC,$00,$F8 .db $37,$00,$45,$3E,$41,$05,$1D,$22 .db $01,$1E,$00,$01,$2B,$00,$12,$64 .db $E4,$44,$E4,$2A,$7A,$36,$7F,$1B .db $3F,$0C,$1F,$03,$0F,$00,$03,$1B .db $1B,$05,$24,$00,$12,$46,$4F,$2A .db $2F,$2C,$3E,$70,$FE,$98,$FC,$60 .db $F8,$80,$F0,$00,$C0,$B0,$D0,$C0 .db $24,$00,$01,$30,$5F,$43,$31,$5E .db $05,$30,$5F,$00,$3F,$18,$2F,$43 .db $30,$5F,$27,$00,$07,$28,$CE,$D0 .db $1E,$90,$1E,$20,$3E,$44,$00,$FC .db $06,$FE,$00,$FE,$10,$20,$60,$C0 .db $23,$00,$0C,$D1,$7E,$89,$FE,$04 .db $FF,$02,$7F,$01,$3F,$00,$1F,$00 .db $83,$03,$0D,$00,$01,$25,$00,$13 .db $D8,$27,$D4,$2A,$E0,$1E,$40,$9C .db $00,$F8,$80,$F0,$40,$C0,$00,$80 .db $04,$0C,$90,$60,$23,$00,$07,$79 .db $A6,$3C,$A3,$4C,$F3,$59,$E6,$43 .db $01,$7E,$05,$00,$3F,$00,$0F,$40 .db $40,$22,$00,$16,$01,$00,$00,$E4 .db $1F,$F2,$0E,$20,$CC,$C0,$3C,$80 .db $78,$40,$B0,$00,$E0,$00,$80,$20 .db $10,$10,$20,$83,$00,$74,$00,$03 .db $83,$04,$2D,$0D,$03,$00,$02,$02 .db $06,$00,$06,$06,$09,$0A,$15,$02 .db $01,$00,$22,$01,$1B,$00,$06,$C8 .db $28,$2B,$E8,$38,$A0,$AF,$80,$B3 .db $80,$3C,$03,$41,$06,$BA,$84,$17 .db $17,$5F,$7F,$7F,$FC,$F8,$79,$00 .db $02,$88,$05,$72,$07,$0E,$0E,$31 .db $3A,$C5,$01,$01,$00,$22,$01,$84 .db $05,$86,$00,$68,$83,$05,$8C,$0F .db $B0,$83,$3B,$04,$45,$0A,$B0,$8E .db $17,$97,$5F,$7F,$7C,$F8,$F2,$77 .db $83,$02,$DC,$05,$05,$19,$07,$3B .db $01,$1F,$45,$01,$03,$03,$1F,$0F .db $0E,$1C,$23,$00,$09,$34,$12,$68 .db $24,$F0,$68,$E8,$E4,$80,$F8,$45 .db $80,$C0,$03,$EC,$D8,$90,$18,$26 .db $00,$0C,$3C,$00,$3F,$1F,$60,$20 .db $40,$20,$5E,$1E,$6F,$32,$7F,$22 .db $00,$0B,$07,$1F,$01,$0E,$33,$00 .db $7C,$38,$5C,$00,$FC,$F8,$47,$06 .db $04,$03,$86,$00,$18,$00,$23,$F8 .db $00,$78,$24,$00,$0A,$3C,$00,$3F .db $10,$6C,$2C,$56,$1E,$6F,$12,$7F .db $23,$00,$03,$03,$05,$0E,$12,$24 .db $00,$03,$7C,$00,$FC,$00,$46,$06 .db $04,$23,$00,$23,$F8,$83,$03,$30 .db $04,$0F,$1F,$1E,$3F,$3C,$43,$7F .db $00,$10,$FF,$03,$FC,$00,$03,$0F .db $1F,$3F,$1C,$6B,$77,$00,$E0,$80 .db $F0,$80,$FC,$43,$04,$FA,$E0,$4D .db $36,$C9,$24,$DB,$DA,$25,$00,$A0 .db $B0,$DC,$AC,$76,$A4,$DA,$00,$07 .db $05,$1F,$1E,$3F,$19,$3F,$35,$7F .db $08,$FF,$10,$FF,$78,$FF,$00,$05 .db $1E,$19,$35,$6E,$15,$7B,$00,$C0 .db $C0,$F0,$40,$F8,$80,$FC,$84,$FA .db $0C,$F2,$14,$E9,$10,$E9,$00,$C0 .db $70,$88,$EC,$EC,$16,$76,$0E,$00 .db $1F,$00,$1B,$04,$1F,$20,$0E,$31 .db $00,$BF,$08,$77,$00,$7F,$25,$00 .db $11,$11,$1F,$00,$00,$70,$00,$F8 .db $00,$D8,$22,$70,$8C,$00,$FC,$10 .db $EC,$00,$FE,$25,$00,$01,$C8,$F8 .db $2C,$00,$02,$70,$60,$BC,$26,$00 .db $04,$30,$00,$0F,$0F,$30,$43,$3F .db $40,$04,$7F,$80,$39,$80,$11,$43 .db $80,$00,$02,$0F,$3F,$3F,$23,$7F .db $01,$00,$FF,$45,$FF,$00,$43,$CF .db $00,$04,$87,$00,$20,$20,$00,$25 .db $FF,$02,$DF,$00,$FF,$45,$FF,$00 .db $43,$DF,$00,$04,$8F,$00,$22,$20 .db $00,$25,$FF,$00,$DF,$22,$01,$83 .db $05,$A1,$00,$02,$22,$01,$01,$02 .db $01,$43,$02,$00,$84,$02,$4F,$07 .db $01,$01,$80,$C0,$80,$80,$00,$40 .db $44,$80,$C0,$84,$07,$6B,$02,$00 .db $00,$80,$22,$00,$09,$80,$00,$32 .db $7F,$10,$7F,$21,$5F,$3E,$5E,$43 .db $20,$40,$13,$1F,$7F,$00,$3F,$33 .db $1E,$20,$21,$3F,$3F,$00,$00,$04 .db $96,$80,$FE,$A0,$DE,$00,$FE,$43 .db $00,$7E,$15,$E8,$FE,$00,$FC,$68 .db $10,$18,$68,$B8,$90,$00,$00,$12 .db $7F,$1C,$7F,$21,$5F,$32,$5E,$2C .db $4C,$83,$07,$8C,$06,$00,$03,$12 .db $1E,$2C,$21,$33,$22,$00,$03,$04 .db $3E,$20,$5E,$85,$07,$9C,$19,$80 .db $FE,$00,$FC,$00,$C0,$C0,$98,$18 .db $6C,$B8,$38,$00,$00,$47,$B8,$70 .db $8F,$2F,$50,$10,$20,$00,$11,$00 .db $12,$83,$04,$BC,$E0,$2B,$77,$70 .db $2F,$1F,$0E,$0D,$00,$00,$30,$C5 .db $A0,$49,$00,$4A,$00,$3A,$08,$CC .db $70,$78,$C0,$F0,$00,$C0,$3A,$B6 .db $B4,$C4,$30,$80,$00,$00,$01,$FE .db $03,$FC,$00,$7E,$0E,$71,$18,$22 .db $00,$14,$83,$04,$BC,$1C,$7B,$7B .db $05,$3E,$1D,$0B,$00,$00,$B0,$49 .db $80,$45,$04,$7E,$1C,$DE,$10,$3C .db $E0,$F0,$C0,$E0,$00,$C0,$B6,$BA .db $80,$20,$C0,$22,$00,$01,$04,$FB .db $44,$00,$7F,$02,$FF,$00,$7F,$44 .db $00,$3F,$01,$0D,$0B,$27,$00,$10 .db $FE,$20,$DE,$00,$FF,$00,$FE,$00 .db $FF,$00,$FE,$00,$F8,$00,$E4,$F8 .db $D0,$25,$00,$19,$FE,$7F,$FD,$BF .db $FB,$DF,$F7,$EF,$EF,$F7,$DF,$FB .db $BF,$FD,$7F,$FE,$FE,$FD,$FB,$F7 .db $EF,$DF,$BF,$7F,$40,$C0,$43,$60 .db $F0,$03,$08,$78,$08,$18,$43,$07 .db $0F,$06,$00,$07,$3F,$0F,$0F,$07 .db $07,$23,$00,$00,$20,$43,$50,$70 .db $11,$5C,$7E,$4C,$7E,$C1,$FF,$91 .db $FF,$3C,$FF,$DF,$8F,$8F,$81,$81 .db $10,$3C,$7E,$43,$00,$20,$05,$52 .db $72,$5C,$7E,$4D,$7F,$86,$08,$AA .db $06,$DF,$8D,$81,$80,$10,$3C,$7E .db $22,$01,$84,$07,$53,$22,$01,$01 .db $02,$01,$43,$02,$00,$88,$07,$61 .db $03,$00,$80,$00,$40,$44,$80,$C0 .db $87,$07,$73,$22,$00,$04,$80,$00 .db $00,$3C,$10,$43,$3C,$00,$10,$7F .db $33,$CC,$4C,$B3,$5E,$AF,$32,$FF .db $00,$18,$18,$00,$03,$00,$4E,$33 .db $24,$00,$03,$7E,$00,$FE,$FC,$45 .db $03,$02,$00,$83,$23,$00,$22,$FC .db $00,$7C,$E4,$2F,$00,$02,$3E,$FF .db $3F,$44,$FF,$1F,$43,$1B,$7F,$03 .db $11,$7F,$01,$3F,$22,$7F,$22,$3F .db $02,$1B,$13,$7E,$22,$FF,$43,$7B .db $FF,$43,$B7,$FF,$02,$CF,$FF,$7F .db $30,$FF,$06,$BE,$FF,$BD,$FF,$DD .db $FF,$DB,$28,$FF,$0F,$00,$01,$00 .db $03,$03,$04,$00,$0F,$04,$0F,$08 .db $17,$10,$3F,$03,$3C,$23,$00,$13 .db $04,$06,$1C,$1B,$00,$F9,$F8,$07 .db $04,$FB,$00,$FF,$04,$FB,$1F,$E6 .db $FF,$38,$31,$CF,$84,$02,$4F,$16 .db $06,$38,$01,$8C,$F3,$02,$F1,$1C .db $FD,$00,$FE,$1C,$E2,$3E,$C1,$BE .db $41,$1C,$E3,$EC,$CE,$C2,$C0,$24 .db $00,$02,$3F,$27,$58,$43,$18,$E0 .db $45,$67,$80,$05,$7F,$E7,$00,$18 .db $67,$67,$22,$18,$04,$00,$00,$FF .db $0F,$F0,$43,$F0,$00,$46,$FF,$F0 .db $04,$0F,$00,$F0,$0F,$0F,$24,$00 .db $02,$FF,$0F,$F0,$43,$F0,$00,$46 .db $FF,$F0,$84,$0A,$17,$24,$00,$02 .db $FC,$18,$E6,$43,$E6,$01,$45,$F8 .db $E1,$05,$FE,$19,$00,$E4,$18,$18 .db $22,$06,$83,$04,$37,$05,$03,$03 .db $04,$02,$04,$00,$84,$05,$73,$01 .db $00,$05,$83,$00,$01,$43,$01,$00 .db $07,$00,$C0,$80,$40,$00,$A0,$00 .db $60,$83,$08,$34,$00,$00,$83,$0A .db $6B,$02,$80,$40,$80,$84,$07,$7C .db $09,$FF,$5C,$BF,$40,$BF,$73,$BF .db $4C,$8C,$3F,$83,$08,$47,$05,$03 .db $33,$5E,$4C,$40,$73,$22,$00,$05 .db $02,$83,$82,$FF,$40,$BF,$43,$00 .db $FF,$00,$80,$83,$08,$5D,$05,$C0 .db $7C,$00,$3C,$6C,$7C,$23,$00,$02 .db $03,$03,$07,$45,$07,$0F,$03,$03 .db $07,$00,$03,$2A,$00,$0C,$F8,$F0 .db $F8,$E0,$FF,$DF,$E0,$E0,$FF,$F0 .db $F8,$00,$F8,$29,$00,$02,$01,$3F .db $01,$43,$07,$00,$02,$03,$00,$03 .db $25,$00,$03,$03,$03,$01,$01,$23 .db $00,$45,$1F,$FF,$03,$0F,$FF,$06 .db $9F,$84,$05,$1A,$09,$06,$BF,$BF .db $7F,$1F,$0F,$0F,$06,$00,$E7,$24 .db $FF,$09,$3F,$FF,$1D,$FF,$18,$FF .db $00,$3D,$00,$18,$24,$FF,$15,$3D .db $18,$00,$01,$38,$04,$3C,$03,$1F .db $00,$0F,$01,$03,$02,$07,$00,$0F .db $07,$0F,$17,$13,$08,$84,$03,$A0 .db $03,$CE,$31,$1F,$20,$43,$DF,$E0 .db $09,$0E,$F1,$61,$9F,$C2,$3D,$E0 .db $F7,$C0,$C0,$22,$00,$08,$01,$01 .db $00,$C0,$3E,$00,$DC,$0C,$92,$83 .db $08,$62,$01,$C0,$F0,$44,$00,$F8 .db $01,$20,$60,$84,$01,$F3,$05,$7F .db $E7,$27,$58,$00,$3F,$31,$00,$05 .db $FF,$0F,$0F,$F0,$00,$FF,$31,$00 .db $85,$0B,$88,$31,$00,$05,$FE,$19 .db $18,$E6,$00,$FC,$31,$00,$97,$08 .db $70,$0E,$FF,$00,$81,$7E,$F1,$0E .db $3E,$1C,$7C,$38,$8F,$70,$81,$7E .db $FF,$28,$00,$FF,$22,$00,$0C,$07 .db $01,$1E,$0E,$31,$1F,$60,$37,$48 .db $2E,$D1,$1C,$E3,$28,$00,$04,$FF .db $7F,$80,$FF,$7F,$43,$00,$FF,$05 .db $23,$DC,$07,$F8,$47,$B8,$28,$00 .db $05,$F9,$F1,$0E,$F7,$F9,$06,$44 .db $FF,$00,$43,$80,$7F,$28,$00,$03 .db $E2,$E2,$15,$E2,$45,$F5,$00,$04 .db $FE,$0C,$F3,$0E,$F1,$22,$00,$04 .db $02,$02,$00,$00,$02,$48,$00,$03 .db $06,$07,$07,$08,$00,$07,$07,$08 .db $28,$00,$47,$C0,$00,$06,$E0,$E0 .db $10,$00,$E0,$E0,$10,$2A,$00,$0C .db $04,$00,$06,$1A,$05,$3D,$00,$7F .db $00,$4F,$30,$E6,$19,$23,$00,$00 .db $02,$23,$00,$0E,$11,$00,$91,$00 .db $99,$E8,$15,$F9,$06,$FD,$02,$39 .db $C2,$78,$81,$23,$00,$13,$08,$05 .db $05,$06,$00,$03,$03,$04,$06,$09 .db $07,$08,$00,$3F,$3F,$40,$7F,$80 .db $1E,$80,$24,$00,$1B,$2F,$5F,$7F .db $00,$FE,$F4,$0F,$BA,$47,$FB,$07 .db $70,$8F,$80,$7F,$8F,$10,$5F,$60 .db $00,$04,$02,$03,$07,$80,$E1,$80 .db $1C,$22,$FF,$0E,$16,$1E,$F0,$F8 .db $13,$18,$F7,$F8,$2F,$30,$1F,$E0 .db $00,$E0,$F1,$22,$F7,$19,$EF,$18 .db $40,$A0,$80,$F0,$30,$78,$50,$D8 .db $B0,$38,$D0,$58,$B0,$38,$50,$D8 .db $00,$00,$B0,$70,$F0,$F0,$70,$70 .db $22,$00,$0C,$03,$03,$04,$04,$0B .db $06,$09,$00,$0F,$00,$1F,$0F,$30 .db $24,$00,$00,$01,$24,$00,$0C,$60 .db $60,$90,$90,$68,$70,$8E,$0A,$F7 .db $1A,$E7,$0C,$F3,$24,$00,$02,$8A .db $DA,$2C,$22,$00,$0C,$06,$06,$09 .db $09,$16,$0C,$13,$00,$1F,$1C,$37 .db $00,$3F,$24,$00,$02,$03,$17,$18 .db $22,$00,$0C,$C0,$C0,$2C,$2C,$DE .db $E4,$1E,$1A,$E7,$08,$F3,$08,$F2 .db $22,$00,$12,$0C,$04,$1A,$EC,$EC .db $01,$FE,$05,$FA,$35,$4A,$34,$4B .db $14,$2B,$01,$1F,$00,$07,$29,$00 .db $03,$43,$BC,$1F,$E0,$43,$3F,$C0 .db $07,$1C,$E3,$80,$FF,$7F,$FF,$00 .db $FF,$27,$00,$43,$80,$7F,$45,$00 .db $FF,$05,$06,$FF,$F1,$FF,$00,$F9 .db $27,$00,$05,$0E,$F3,$0C,$FF,$00 .db $FE,$43,$02,$F5,$06,$00,$F5,$E0 .db $F5,$00,$E2,$0C,$23,$00,$08,$02 .db $02,$00,$0D,$12,$1D,$22,$07,$38 .db $45,$06,$09,$01,$00,$06,$29,$00 .db $43,$50,$A8,$01,$F0,$08,$43,$D0 .db $28,$03,$C0,$30,$00,$C0,$29,$00 .db $43,$FF,$00,$07,$63,$1C,$01,$3E .db $10,$6F,$20,$DF,$43,$00,$FF,$22 .db $00,$E0,$28,$1C,$2E,$5F,$7F,$47 .db $FD,$07,$FA,$05,$FA,$0D,$FB,$1C .db $FC,$FE,$7C,$FE,$0F,$FF,$17,$FF .db $00,$00,$02,$03,$01,$01,$00,$80 .db $40,$C0,$7F,$FF,$3E,$7F,$01,$3E .db $07,$18,$00,$07,$23,$00,$00,$3F .db $26,$00,$43,$DF,$E0,$01,$2F,$D0 .db $43,$FF,$00,$03,$1F,$E0,$00,$1F .db $29,$00,$43,$FE,$01,$43,$FC,$02 .db $09,$F8,$04,$E0,$18,$00,$E0,$00 .db $00,$F0,$C8,$25,$00,$03,$30,$78 .db $00,$30,$2B,$00,$00,$30,$26,$00 .db $01,$1F,$20,$43,$3F,$40,$09,$5F .db $E0,$4F,$F0,$27,$70,$40,$F8,$00 .db $E7,$22,$00,$0A,$50,$68,$3F,$67 .db $00,$CC,$33,$F8,$02,$E4,$1E,$43 .db $DC,$3E,$E0,$3B,$E8,$3C,$00,$38 .db $00,$C0,$0C,$04,$04,$1C,$1C,$C8 .db $C0,$00,$04,$1B,$08,$37,$2F,$70 .db $17,$78,$63,$F0,$44,$FC,$03,$47 .db $00,$03,$03,$08,$28,$14,$7F,$43 .db $00,$00,$1A,$E3,$62,$9B,$DE,$3F .db $DC,$3E,$C0,$1E,$38,$3C,$C0,$F8 .db $00,$C0,$8C,$04,$1C,$1C,$E0,$C0 .db $22,$00,$85,$00,$31,$44,$FF,$00 .db $43,$80,$7F,$28,$00,$0E,$E0,$E0 .db $10,$E0,$F0,$00,$F2,$02,$F5,$02 .db $FF,$08,$F7,$0A,$F5,$28,$00,$12 .db $01,$00,$3F,$3B,$47,$7D,$82,$7D .db $83,$55,$AB,$7C,$83,$38,$47,$00 .db $00,$03,$00,$22,$01,$18,$03,$04 .db $E0,$00,$F0,$01,$F8,$A0,$7C,$B0 .db $FC,$B8,$FF,$0A,$CF,$02,$87,$00 .db $E0,$10,$08,$80,$80,$B2,$7A,$48 .db $00,$03,$85,$00,$69,$00,$18,$28 .db $00,$47,$C0,$00,$86,$00,$81,$27 .db $00,$01,$20,$5F,$44,$00,$FF,$04 .db $7F,$00,$3F,$31,$4E,$43,$3F,$40 .db $E0,$2F,$1B,$7D,$7F,$3F,$0E,$01 .db $00,$03,$0E,$DE,$00,$D1,$01,$C3 .db $02,$82,$D3,$03,$FC,$02,$FE,$01 .db $FF,$00,$A1,$AE,$BD,$7F,$FF,$FD .db $FE,$73,$00,$01,$01,$FF,$7E,$CF .db $01,$81,$80,$00,$F7,$00,$E7,$08 .db $23,$84,$22,$00,$06,$7E,$FF,$FF .db $F0,$78,$00,$E0,$43,$E0,$F0,$09 .db $80,$E0,$20,$30,$00,$0C,$E4,$07 .db $FB,$03,$23,$00,$07,$C0,$F0,$F8 .db $3C,$00,$20,$00,$70,$43,$30,$78 .db $07,$50,$D8,$10,$98,$C0,$90,$C0 .db $10,$23,$00,$E0,$27,$20,$60,$60 .db $E0,$FE,$7F,$FD,$BF,$FB,$DF,$F7 .db $EF,$EF,$F7,$DF,$FB,$BF,$FD,$7F .db $FE,$FE,$FD,$FB,$F7,$EF,$DF,$BF .db $7F,$00,$1B,$1B,$24,$2D,$52,$3F .db $40,$07,$78,$38,$5F,$43,$01,$FE .db $24,$00,$02,$18,$7D,$4C,$22,$00 .db $14,$98,$98,$7C,$8C,$7E,$34,$EE .db $58,$9E,$C4,$3E,$FA,$3F,$00,$00 .db $18,$0C,$04,$60,$C0,$78,$22,$00 .db $0C,$0D,$0D,$12,$16,$29,$1F,$20 .db $00,$3F,$0C,$37,$00,$7F,$25,$00 .db $19,$17,$3F,$00,$1C,$0C,$FE,$B2 .db $7F,$DC,$2F,$C6,$27,$80,$6F,$2E .db $DF,$3E,$DF,$00,$0C,$02,$00,$18 .db $10,$2E,$9E,$43,$80,$7F,$45,$00 .db $FF,$85,$01,$BA,$27,$00,$10,$08 .db $F7,$0A,$FD,$02,$FF,$00,$F7,$00 .db $F2,$00,$F0,$E0,$F0,$00,$E0,$08 .db $27,$00,$13,$7F,$7D,$BE,$06,$FF .db $02,$FF,$20,$7F,$00,$3F,$01,$06 .db $00,$01,$00,$3D,$7E,$07,$3B,$22 .db $00,$0B,$E0,$06,$F8,$06,$FA,$07 .db $7A,$87,$78,$87,$F0,$08,$83,$02 .db $02,$03,$F8,$F8,$1A,$0A,$23,$00 .db $0D,$1D,$E2,$7D,$82,$07,$78,$0F .db $10,$1C,$23,$18,$25,$00,$19,$29 .db $00,$43,$50,$A8,$0B,$F0,$08,$F8 .db $04,$DC,$22,$CC,$32,$C0,$2C,$00 .db $C0,$27,$00,$43,$1F,$20,$07,$0F .db $10,$07,$08,$03,$04,$00,$03,$23 .db $00,$00,$03,$26,$00,$4B,$FF,$00 .db $83,$02,$62,$02,$03,$18,$18,$24 .db $00,$12,$33,$84,$13,$84,$83,$44 .db $C3,$3C,$FF,$00,$F8,$07,$00,$F8 .db $00,$00,$78,$78,$38,$24,$00,$09 .db $F8,$00,$E0,$07,$E0,$18,$C0,$20 .db $00,$C0,$25,$00,$01,$3F,$18,$25 .db $00,$09,$A0,$08,$10,$18,$28,$EC .db $18,$7C,$00,$1C,$25,$00,$02,$F0 .db $E0,$10,$24,$00,$97,$04,$08,$09 .db $01,$FE,$01,$7E,$03,$7C,$23,$7C .db $07,$38,$83,$04,$BC,$22,$00,$02 .db $24,$28,$38,$23,$00,$17,$DA,$3F .db $E2,$1F,$F8,$02,$F8,$03,$FA,$07 .db $E6,$1F,$18,$FE,$00,$18,$18,$00 .db $0C,$04,$02,$0E,$18,$00,$83,$03 .db $96,$05,$01,$1E,$03,$0C,$01,$02 .db $45,$00,$01,$01,$31,$0E,$25,$00 .db $19,$30,$CF,$7C,$87,$FC,$06,$FC .db $0E,$F0,$0C,$70,$F8,$D8,$FC,$00 .db $DC,$80,$08,$08,$10,$30,$70,$D8 .db $00,$00,$10,$43,$00,$30,$43,$20 .db $54,$05,$00,$9D,$09,$96,$C8,$EC .db $23,$00,$03,$20,$60,$61,$13,$26 .db $00,$04,$20,$00,$C0,$80,$40,$43 .db $00,$80,$27,$00,$00,$7C,$22,$FF .db $0E,$5E,$7E,$C0,$E0,$43,$60,$DF .db $E0,$BF,$C0,$7F,$80,$00,$80,$C1 .db $22,$DF,$14,$BF,$78,$60,$9C,$9C .db $BE,$32,$73,$EE,$2F,$D2,$13,$EE .db $6F,$D2,$53,$AE,$6F,$40,$5C,$BE .db $22,$FE,$01,$7E,$3E,$38,$00,$04 .db $01,$00,$01,$01,$02,$43,$01,$03 .db $05,$00,$03,$00,$C3,$40,$A3,$22 .db $00,$24,$01,$28,$00,$02,$03,$01 .db $02,$43,$00,$01,$2A,$00,$87,$06 .db $79,$04,$83,$80,$C3,$80,$E3,$23 .db $00,$03,$01,$01,$81,$C1,$26,$00 .db $04,$06,$02,$05,$01,$03,$43,$00 .db $01,$24,$00,$00,$01,$26,$00,$85 .db $06,$79,$04,$83,$81,$C3,$00,$E3 .db $24,$00,$83,$06,$BD,$0C,$0E,$0E .db $11,$1F,$22,$19,$22,$1E,$23,$0C .db $12,$00,$0C,$23,$00,$02,$04,$0C .db $0C,$23,$00,$0C,$70,$70,$88,$F8 .db $44,$98,$44,$78,$C4,$30,$48,$00 .db $30,$23,$00,$02,$20,$30,$30,$23 .db $00,$83,$06,$F1,$04,$20,$19,$26 .db $1E,$21,$83,$06,$FA,$24,$00,$00 .db $08,$24,$00,$83,$07,$09,$04,$04 .db $98,$64,$78,$84,$83,$07,$12,$24 .db $00,$00,$10,$24,$00,$0E,$0F,$0F .db $10,$1D,$22,$1F,$20,$1E,$21,$1D .db $62,$23,$5C,$6F,$80,$24,$00,$12 .db $01,$23,$3E,$00,$F0,$F0,$08,$B8 .db $44,$F8,$04,$78,$84,$B8,$46,$C4 .db $3A,$F6,$01,$24,$00,$17,$80,$C4 .db $7C,$D4,$FD,$CE,$FF,$ED,$FE,$52 .db $EE,$D5,$EF,$96,$CF,$87,$CF,$FF .db $FF,$02,$00,$01,$01,$10,$83,$07 .db $1B,$85,$06,$1F,$08,$8E,$08,$B4 .db $90,$C8,$C0,$F0,$80,$F8,$24,$00 .db $00,$30,$83,$02,$0E,$43,$FE,$01 .db $8B,$02,$76,$25,$00,$05,$12,$B3 .db $0C,$1E,$00,$0C,$29,$00,$01,$1E .db $0C,$26,$00,$E0,$2E,$70,$30,$5C .db $18,$3F,$0C,$1F,$00,$0F,$00,$03 .db $00,$0F,$0E,$37,$00,$10,$1C,$0F .db $03,$00,$00,$07,$00,$F7,$07,$FF .db $22,$FC,$69,$F6,$63,$FC,$57,$C8 .db $9E,$81,$3D,$82,$60,$40,$03,$05 .db $0B,$37,$7E,$7C,$22,$00,$05,$38 .db $18,$2E,$0C,$17,$02,$83,$07,$E9 .db $E0,$22,$1F,$1E,$6F,$00,$00,$08 .db $06,$03,$01,$00,$0F,$40,$F7,$47 .db $FF,$30,$DC,$58,$FE,$63,$FC,$42 .db $CD,$9C,$83,$39,$86,$60,$40,$13 .db $1D,$0B,$32,$7D,$7A,$22,$00,$02 .db $01,$00,$1C,$86,$08,$16,$02,$3F .db $3E,$DF,$22,$00,$1C,$04,$03,$01 .db $00,$1F,$00,$F7,$87,$7F,$60,$FC .db $18,$FE,$63,$FC,$46,$C9,$9D,$83 .db $3B,$86,$60,$00,$63,$1D,$0B,$36 .db $7D,$7A,$E4,$5F,$00,$09,$47,$90 .db $28,$B8,$0C,$FC,$17,$8F,$08,$97 .db $43,$57,$C8,$E0,$21,$7B,$E4,$6F .db $47,$03,$60,$60,$30,$30,$18,$E2 .db $09,$14,$1D,$30,$3F,$E8,$F1,$10 .db $E1,$C0,$21,$B6,$47,$BC,$4F,$F6 .db $E2,$C0,$06,$0E,$1E,$38,$30,$29 .db $00,$04,$E0,$00,$40,$00,$E0,$30 .db $00,$06,$F0,$00,$20,$00,$40,$00 .db $F0,$2B,$00,$0C,$03,$03,$04,$02 .db $3D,$3C,$43,$7F,$80,$1C,$80,$40 .db $C0,$23,$00,$E0,$2E,$2C,$5F,$7F .db $3F,$00,$01,$00,$FF,$F6,$0F,$BB .db $47,$F8,$07,$70,$8F,$01,$7E,$0F .db $10,$00,$00,$06,$03,$03,$06,$81 .db $E0,$00,$07,$00,$1F,$06,$39,$15 .db $2A,$3B,$44,$2E,$51,$2A,$55,$55 .db $AA,$00,$07,$08,$25,$00,$08,$80 .db $00,$E0,$00,$F0,$90,$68,$D0,$28 .db $43,$C8,$34,$06,$A8,$54,$00,$8A .db $6C,$36,$10,$22,$18,$0B,$00,$78 .db $30,$FE,$60,$FF,$40,$FF,$00,$FE .db $00,$78,$23,$00,$05,$78,$FE,$FF .db $FF,$FE,$78,$22,$00,$0E,$FC,$FC .db $CF,$FF,$FF,$01,$81,$00,$80,$FF .db $00,$E3,$0C,$91,$42,$22,$00,$04 .db $7E,$7F,$FF,$F0,$BC,$22,$00,$0C .db $78,$38,$FC,$C0,$F4,$70,$78,$18 .db $18,$C4,$06,$F2,$03,$22,$00,$04 .db $08,$80,$E0,$F8,$3C,$2C,$00,$02 .db $1C,$1C,$7E,$27,$00,$0F,$06,$00 .db $0F,$00,$09,$06,$0F,$30,$31,$4E .db $7E,$81,$01,$FE,$00,$FF,$25,$00 .db $11,$7E,$03,$C0,$00,$E0,$0C,$2C .db $D2,$EC,$12,$E4,$1A,$D8,$24,$38 .db $C6,$FA,$05,$83,$07,$00,$00,$04 .db $83,$00,$5D,$02,$1F,$1D,$23,$43 .db $3E,$41,$01,$6A,$95,$84,$03,$3C .db $02,$7F,$00,$01,$22,$00,$1E,$01 .db $03,$00,$00,$F0,$80,$F8,$C0,$3C .db $C0,$FC,$D0,$FF,$32,$FF,$1A,$9F .db $08,$0E,$00,$B0,$18,$C8,$C0,$82 .db $62,$F0,$3B,$7C,$03,$7C,$43,$3F .db $60,$07,$0F,$20,$17,$30,$0B,$18 .db $03,$08,$22,$00,$1C,$10,$1C,$0F .db $07,$07,$78,$FE,$04,$FE,$F0,$04 .db $F8,$0C,$E0,$08,$D0,$18,$A0,$30 .db $40,$60,$00,$00,$08,$10,$70,$E0 .db $C0,$80,$25,$00,$02,$F8,$00,$10 .db $84,$09,$21,$00,$F8,$28,$00,$02 .db $10,$00,$42,$22,$00,$02,$01,$00 .db $80,$22,$00,$02,$42,$00,$08,$28 .db $00,$09,$7F,$FF,$38,$7F,$00,$3F .db $02,$05,$04,$0B,$85,$05,$16,$27 .db $00,$10,$9F,$A0,$DF,$E0,$5F,$A0 .db $6F,$90,$FF,$00,$F3,$0C,$C0,$33 .db $00,$C0,$40,$26,$00,$01,$2E,$D1 .db $43,$3F,$C0,$09,$23,$DC,$08,$F7 .db $13,$EC,$2C,$53,$33,$4C,$23,$40 .db $05,$54,$5C,$2F,$33,$48,$B2,$45 .db $98,$62,$08,$B8,$41,$38,$C1,$72 .db $83,$E6,$07,$3C,$22,$7C,$03,$7E .db $FE,$FC,$F8,$24,$00,$02,$FF,$00 .db $FF,$29,$00,$01,$FF,$FF,$23,$00 .db $12,$99,$42,$89,$42,$C0,$31,$F1 .db $0E,$FF,$00,$FC,$03,$00,$FC,$00 .db $00,$3C,$3C,$0E,$24,$00,$01,$FD .db $01,$85,$05,$58,$03,$80,$60,$00 .db $80,$23,$00,$02,$3E,$1F,$18,$24 .db $00,$14,$76,$E7,$60,$0E,$40,$10 .db $30,$98,$10,$98,$70,$F8,$60,$F0 .db $00,$E0,$18,$F0,$E0,$60,$60,$23 .db $00,$E0,$32,$23,$1C,$23,$0C,$73 .db $53,$AC,$4A,$A5,$00,$F7,$01,$4F .db $00,$03,$1C,$03,$10,$18,$18,$4A .db $00,$00,$72,$8D,$20,$DE,$88,$74 .db $48,$B6,$3C,$83,$8C,$8E,$F0,$FC .db $00,$F0,$8A,$58,$78,$FC,$7E,$70 .db $00,$00,$73,$BC,$4D,$FE,$43,$04 .db $7F,$43,$00,$3F,$06,$31,$7E,$00 .db $3D,$33,$7C,$2E,$22,$16,$03,$3C .db $00,$E0,$06,$43,$FA,$07,$05,$F8 .db $07,$F0,$08,$E0,$10,$83,$0B,$48 .db $02,$F8,$7A,$1A,$24,$00,$1B,$02 .db $08,$05,$F1,$4C,$C1,$60,$E1,$3C .db $7C,$04,$3C,$07,$0F,$00,$07,$07 .db $0E,$3E,$1E,$03,$03,$00,$00,$80 .db $C0,$00,$80,$24,$00,$00,$80,$43 .db $80,$C0,$01,$00,$C0,$27,$00,$FF .db $11,$08,$F8,$05,$7D,$07,$3F,$02 .db $1F,$03,$0F,$01,$07,$00,$03,$00 .db $01,$07,$02,$25,$00,$E0,$27,$48 .db $0F,$E6,$07,$73,$03,$37,$07,$7B .db $04,$A1,$8E,$08,$87,$9C,$D3,$F0 .db $F8,$FC,$F8,$FF,$7F,$7F,$2F,$00 .db $80,$00,$C0,$00,$E0,$00,$F0,$50 .db $78,$80,$1C,$C8,$0E,$9C,$1F,$23 .db $00,$0B,$80,$E0,$F0,$E0,$27,$F0 .db $12,$78,$00,$38,$09,$1D,$87,$00 .db $08,$03,$0F,$07,$07,$02,$23,$00 .db $07,$B5,$47,$18,$E1,$8C,$70,$C8 .db $30,$87,$00,$20,$01,$F8,$FE,$22 .db $FF,$86,$00,$2D,$02,$80,$E0,$E0 .db $88,$00,$37,$23,$00,$83,$00,$44 .db $15,$0A,$FB,$84,$F6,$C8,$1C,$00 .db $F8,$A0,$B0,$40,$60,$80,$C0,$00 .db $80,$04,$E8,$E0,$00,$40,$80,$22 .db $00,$16,$0F,$07,$0F,$05,$08,$00 .db $0F,$00,$FF,$78,$FF,$5C,$81,$00 .db $FF,$00,$07,$07,$00,$00,$7E,$7E .db $00,$45,$1B,$FA,$09,$0A,$FA,$37 .db $F0,$57,$F0,$4F,$E8,$4C,$E9,$23 .db $05,$05,$0F,$0F,$17,$17,$D0,$5F .db $45,$B8,$3F,$01,$44,$87,$45,$74 .db $97,$00,$A0,$22,$C0,$00,$F8,$22 .db $E8,$37,$00,$07,$2D,$F2,$17,$78 .db $02,$38,$08,$1C,$8A,$00,$50,$00 .db $03,$23,$00,$11,$9D,$67,$0C,$F1 .db $06,$F8,$8F,$70,$D9,$26,$F0,$8F .db $30,$8F,$88,$C7,$F8,$FE,$22,$FF .db $02,$7F,$7F,$3F,$87,$00,$78,$07 .db $D0,$78,$C0,$1C,$68,$8E,$FC,$1F .db $23,$00,$83,$00,$44,$01,$FF,$FF .db $43,$5A,$42,$03,$24,$24,$66,$66 .db $45,$5A,$42,$04,$00,$3C,$3C,$18 .db $18,$22,$3C,$00,$00,$46,$FF,$30 .db $46,$00,$FF,$28,$FF,$10,$00,$FF .db $63,$FF,$06,$C0,$5C,$80,$70,$80 .db $61,$80,$23,$C0,$06,$C0,$00,$26 .db $7F,$0B,$00,$FF,$C6,$FF,$04,$03 .db $3C,$03,$F2,$01,$C2,$01,$83,$01 .db $9C,$00,$00,$26,$FE,$E4,$60,$00 .db $96,$00,$A9,$97,$00,$90,$45,$44 .db $E1,$01,$34,$F1,$87,$00,$C8,$22 .db $1F,$22,$0F,$03,$17,$17,$2E,$8F .db $45,$42,$87,$01,$44,$87,$45,$74 .db $97,$00,$F0,$23,$F8,$22,$E8,$17 .db $1F,$1F,$20,$3F,$7F,$40,$E0,$E0 .db $1F,$1F,$38,$38,$0B,$0F,$03,$3F .db $00,$1F,$3F,$1F,$00,$07,$00,$00 .db $83,$01,$7E,$00,$FF,$22,$00,$83 .db $02,$8B,$23,$FF,$00,$00,$22,$FF .db $03,$00,$FF,$00,$00,$23,$FF,$00 .db $00,$45,$00,$FF,$22,$00,$83,$02 .db $8B,$24,$FF,$00,$00,$23,$FF,$01 .db $03,$03,$45,$FD,$01,$01,$03,$03 .db $83,$02,$8B,$00,$FC,$22,$FE,$1C .db $FC,$00,$00,$FF,$3F,$80,$00,$60 .db $CF,$FF,$D0,$FF,$18,$3F,$0A,$2F .db $08,$2D,$00,$7F,$9F,$00,$00,$C0 .db $D0,$D2,$00,$FF,$FF,$22,$00,$00 .db $FF,$44,$FF,$00,$06,$E7,$F8,$DE .db $E1,$00,$FF,$FF,$22,$00,$04,$07 .db $1E,$0C,$C0,$5C,$44,$80,$59,$07 .db $71,$80,$33,$C0,$0C,$CC,$00,$FF .db $25,$7F,$11,$73,$00,$7A,$01,$E2 .db $01,$C0,$03,$8C,$03,$9A,$03,$12 .db $03,$CE,$CF,$00,$FF,$23,$FE,$03 .db $FC,$FC,$30,$00,$83,$01,$80,$E0 .db $2B,$31,$B1,$26,$A6,$1C,$9C,$79 .db $B9,$0C,$BF,$00,$FF,$00,$7F,$4E .db $59,$63,$46,$40,$00,$00,$FF,$92 .db $FF,$8C,$8D,$32,$31,$CC,$CD,$9A .db $99,$4C,$FD,$00,$FF,$00,$FE,$72 .db $CE,$32,$66,$02,$00,$8F,$00,$30 .db $23,$00,$97,$00,$44,$24,$00,$01 .db $FF,$7F,$44,$80,$40,$00,$47,$46 .db $87,$40,$00,$00,$22,$7F,$23,$78 .db $02,$00,$FF,$FF,$24,$00,$01,$DB .db $FF,$46,$00,$E7,$22,$FF,$00,$00 .db $22,$18,$00,$00,$24,$FF,$0A,$01 .db $FF,$00,$FF,$F8,$07,$FF,$00,$07 .db $F8,$00,$25,$FF,$01,$07,$00,$24 .db $FF,$0A,$FC,$FF,$00,$FF,$38,$C7 .db $FF,$00,$87,$78,$00,$25,$FF,$00 .db $87,$43,$00,$FF,$47,$18,$FF,$02 .db $00,$FF,$00,$28,$FF,$E0,$47,$C1 .db $00,$32,$00,$00,$2C,$00,$23,$21 .db $21,$10,$11,$10,$12,$0C,$04,$C1 .db $32,$2C,$23,$21,$11,$12,$04,$44 .db $00,$4E,$00,$00,$B5,$00,$24,$A6 .db $82,$89,$29,$18,$58,$19,$51,$44 .db $4E,$B5,$24,$82,$29,$58,$51,$05 .db $00,$1A,$00,$00,$E6,$08,$02,$14 .db $14,$64,$C4,$A0,$A4,$00,$22,$05 .db $1A,$E6,$02,$14,$C4,$A4,$22,$45 .db $08,$2D,$43,$C8,$ED,$44,$08,$2D .db $00,$ED,$22,$D2,$0D,$12,$12,$D2 .db $D2,$12,$67,$7F,$FF,$FF,$B7,$FF .db $BB,$FF,$FD,$43,$FF,$7E,$22,$FF .db $11,$A7,$7F,$37,$BB,$FD,$7E,$7E .db $FF,$38,$F9,$20,$E1,$1E,$DF,$00 .db $FF,$38,$FF,$43,$20,$E0,$05,$2C .db $EC,$26,$3E,$20,$00,$22,$3F,$0A .db $33,$70,$B0,$40,$80,$7F,$FF,$00 .db $FF,$7E,$81,$45,$02,$03,$04,$4F .db $7F,$00,$00,$FE,$22,$FC,$E0,$3C .db $00,$FF,$1F,$DF,$0F,$E0,$07,$F0 .db $23,$D8,$30,$CC,$39,$C7,$38,$C3 .db $00,$3F,$5F,$6F,$77,$7B,$7C,$7E .db $00,$FF,$F8,$FB,$F2,$07,$E2,$0B .db $C2,$1B,$0A,$33,$9A,$E3,$3A,$C3 .db $00,$FC,$F8,$F4,$EC,$DC,$3C,$7C .db $38,$C1,$39,$C3,$31,$C6,$23,$CC .db $07,$D8,$00,$A0,$3F,$83,$04,$9D .db $12,$7D,$7B,$77,$6F,$5F,$00,$00 .db $3A,$83,$9A,$C3,$8A,$63,$C2,$33 .db $E2,$1B,$02,$07,$83,$03,$DE,$07 .db $7C,$BC,$DC,$EC,$F4,$F8,$00,$00 .db $45,$40,$87,$04,$47,$84,$44,$84 .db $43,$44,$87,$40,$22,$78,$01,$7B .db $7B,$22,$78,$45,$00,$E7,$00,$E7 .db $22,$00,$00,$E7,$44,$E7,$00,$22 .db $18,$01,$FF,$FF,$22,$18,$00,$F8 .db $22,$FF,$83,$00,$B9,$0A,$C8,$30 .db $CC,$33,$34,$FB,$03,$FF,$00,$00 .db $F8,$24,$FF,$00,$78,$22,$FF,$05 .db $87,$87,$00,$00,$78,$00,$85,$03 .db $E4,$02,$00,$00,$78,$24,$FF,$4F .db $3A,$C3,$28,$7C,$46,$81,$7C,$00 .db $00,$23,$FF,$02,$00,$FF,$00,$23 .db $FE,$00,$00,$22,$FF,$E0,$2F,$32 .db $18,$25,$29,$3C,$36,$23,$2A,$28 .db $20,$21,$05,$23,$07,$12,$10,$18 .db $29,$36,$2A,$20,$05,$07,$10,$07 .db $15,$99,$F9,$12,$12,$24,$24,$E0 .db $E4,$30,$04,$2C,$2C,$03,$23,$15 .db $F9,$12,$24,$E4,$04,$2C,$23,$4F .db $08,$2D,$27,$12,$02,$BF,$FF,$3F .db $22,$7F,$05,$27,$3F,$1E,$1F,$07 .db $67,$22,$00,$08,$FF,$BF,$BF,$FF .db $E7,$FE,$9F,$FF,$00,$43,$20,$E0 .db $00,$1F,$84,$04,$85,$45,$20,$E1 .db $03,$3F,$3F,$20,$00,$23,$3E,$E0 .db $43,$3A,$3B,$02,$03,$FE,$FF,$00 .db $FF,$1F,$E0,$00,$C0,$43,$83,$40 .db $80,$C4,$FC,$00,$00,$7F,$7F,$7C .db $7F,$A2,$00,$49,$08,$A5,$05,$D0 .db $87,$40,$4F,$20,$3A,$4E,$70,$08 .db $F0,$FF,$F7,$FA,$78,$B5,$CF,$9F .db $1F,$A0,$0F,$40,$1F,$83,$78,$0C .db $F0,$30,$C0,$9F,$00,$00,$02,$00 .db $06,$F0,$E7,$8F,$3F,$23,$FF,$12 .db $02,$E0,$00,$F9,$80,$3F,$31,$06 .db $00,$00,$30,$02,$00,$04,$00,$36 .db $1F,$C6,$F9,$24,$FF,$11,$A0,$07 .db $00,$FF,$C1,$3C,$E0,$00,$7E,$00 .db $00,$1C,$00,$F0,$00,$30,$F8,$03 .db $25,$FF,$01,$22,$C0,$43,$00,$7F .db $03,$78,$00,$40,$00,$45,$00,$66 .db $01,$3F,$80,$25,$FF,$83,$06,$78 .db $02,$01,$F4,$F4,$22,$00,$01,$0E .db $0E,$22,$00,$02,$60,$F8,$03,$22 .db $FF,$00,$F1,$83,$06,$8E,$0A,$01 .db $FC,$C1,$1E,$38,$03,$00,$00,$63 .db $03,$38,$22,$00,$02,$3F,$C3,$F9 .db $43,$FC,$FF,$00,$FF,$85,$06,$30 .db $10,$12,$E2,$41,$7F,$D9,$DE,$0C .db $0F,$42,$03,$FF,$F7,$FA,$1D,$80 .db $21,$F0,$43,$FC,$FF,$02,$F0,$FF .db $E6,$44,$FF,$EE,$04,$EC,$FF,$F1 .db $FF,$D8,$27,$00,$05,$FF,$3F,$FF .db $0F,$FF,$67,$44,$FF,$77,$04,$37 .db $FF,$8F,$FF,$1B,$27,$00,$03,$11 .db $13,$0C,$04,$2B,$00,$01,$13,$04 .db $25,$00,$17,$04,$44,$88,$C8,$40 .db $08,$30,$10,$08,$08,$04,$04,$02 .db $02,$01,$01,$44,$C8,$08,$10,$08 .db $04,$02,$01,$43,$00,$08,$01,$08 .db $14,$45,$08,$1C,$43,$00,$3E,$22 .db $00,$22,$08,$06,$1C,$1C,$00,$FF .db $FE,$01,$F6,$44,$01,$BE,$05,$F6 .db $01,$F2,$05,$F4,$0F,$25,$FE,$05 .db $FA,$F4,$55,$00,$AA,$00,$8B,$07 .db $80,$47,$55,$AA,$00,$00,$23,$FF .db $43,$00,$FF,$22,$00,$00,$FF,$43 .db $FF,$00,$24,$FF,$11,$00,$00,$80 .db $60,$10,$62,$90,$47,$88,$F6,$48 .db $56,$20,$36,$40,$76,$10,$E7,$22 .db $BF,$14,$0F,$AF,$CF,$8F,$3F,$C0 .db $26,$00,$76,$00,$33,$20,$3F,$00 .db $59,$00,$ED,$00,$6C,$00,$38,$22 .db $FF,$00,$DF,$23,$FF,$0F,$00,$7B .db $00,$49,$00,$C9,$00,$7F,$00,$B2 .db $00,$80,$00,$00,$3D,$3D,$26,$FF .db $02,$C2,$00,$30,$44,$00,$98,$08 .db $18,$00,$00,$F9,$01,$C0,$C0,$1F .db $1F,$24,$FF,$0D,$FE,$3F,$E0,$00 .db $6C,$00,$7D,$00,$6D,$80,$6D,$00 .db $00,$38,$22,$00,$01,$7F,$7F,$26 .db $FF,$0A,$80,$00,$F6,$00,$36,$00 .db $1C,$00,$BC,$00,$ED,$83,$02,$84 .db $01,$80,$80,$26,$FF,$10,$7F,$03 .db $00,$30,$80,$00,$CE,$00,$D8,$00 .db $98,$00,$08,$00,$F9,$00,$73,$27 .db $FF,$11,$F2,$03,$42,$03,$F4,$07 .db $05,$07,$04,$47,$02,$E3,$02,$D3 .db $02,$C3,$FC,$FC,$22,$F8,$22,$FC .db $0F,$FF,$9A,$FF,$E7,$FF,$F9,$FF .db $FE,$FF,$F9,$FF,$E7,$FF,$9F,$FF .db $DF,$27,$00,$01,$FF,$59,$84,$08 .db $7A,$02,$7F,$FF,$9F,$84,$08,$72 .db $00,$FB,$27,$00,$47,$40,$87,$00 .db $47,$44,$80,$40,$01,$00,$FF,$23 .db $78,$22,$7F,$00,$00,$47,$00,$E7 .db $00,$FF,$25,$00,$00,$FF,$23,$18 .db $22,$FF,$00,$00,$43,$00,$3E,$45 .db $3E,$41,$07,$00,$41,$00,$80,$7F .db $FF,$1C,$1C,$23,$3E,$13,$7F,$00 .db $F4,$0F,$F0,$05,$BA,$01,$BE,$01 .db $BA,$01,$FA,$01,$FE,$01,$00,$01 .db $F0,$FA,$25,$FE,$1B,$3F,$3F,$7F .db $60,$E3,$DF,$D9,$B3,$DD,$A9,$CD .db $A5,$E3,$B3,$FF,$BF,$00,$07,$00 .db $04,$16,$5A,$4C,$40,$FF,$FF,$02 .db $2F,$2B,$FF,$01,$00,$D0,$26,$00 .db $0E,$C3,$20,$C1,$27,$C0,$00,$C0 .db $B0,$70,$BC,$7C,$C3,$3F,$E0,$03 .db $22,$7F,$04,$3F,$8F,$83,$C0,$FC .db $43,$00,$E0,$0A,$09,$01,$34,$07 .db $18,$1F,$E7,$FF,$08,$F8,$00,$22 .db $FF,$10,$FE,$F8,$E0,$00,$07,$00 .db $01,$01,$1E,$1F,$E0,$FF,$1F,$FF .db $E0,$E0,$1F,$84,$02,$9C,$07,$FE .db $E0,$00,$00,$1F,$FF,$FF,$00,$88 .db $09,$64,$44,$00,$F7,$83,$02,$9C .db $00,$1F,$23,$FF,$07,$00,$80,$FF .db $7F,$FF,$80,$80,$7F,$44,$00,$FB .db $84,$02,$A3,$01,$00,$7F,$23,$FF .db $0C,$00,$40,$C0,$20,$E0,$9F,$FF .db $61,$7F,$9C,$1F,$E3,$03,$84,$02 .db $CE,$07,$1F,$00,$80,$E0,$FC,$FF .db $00,$00,$84,$00,$0B,$08,$C0,$C0 .db $38,$F8,$0F,$FF,$F0,$FF,$00,$23 .db $FF,$01,$3F,$07,$22,$00,$0F,$06 .db $07,$07,$87,$05,$07,$08,$0F,$1D .db $1F,$E1,$FE,$0F,$FE,$01,$00,$22 .db $F8,$12,$F0,$E0,$01,$01,$FF,$FC .db $FC,$FE,$FE,$C7,$E7,$9B,$CB,$BB .db $93,$B3,$A7,$C7,$CF,$83,$02,$8B .db $05,$18,$24,$6C,$58,$30,$00,$24 .db $BF,$00,$FF,$22,$BF,$01,$FF,$BF .db $22,$FF,$05,$BF,$FF,$40,$40,$00 .db $40,$24,$00,$02,$C0,$80,$BC,$49 .db $9C,$83,$04,$80,$BC,$00,$40,$7C .db $22,$7F,$01,$7C,$40,$24,$00,$08 .db $C0,$00,$FC,$3C,$FB,$00,$FC,$00 .db $C0,$24,$00,$10,$C0,$F8,$C0,$00 .db $00,$08,$AD,$88,$ED,$48,$6D,$80 .db $AF,$4F,$70,$00,$60,$83,$04,$9C .db $05,$12,$12,$92,$50,$8F,$9F,$22 .db $00,$00,$FF,$23,$00,$02,$20,$FF .db $FF,$22,$00,$00,$FF,$44,$FF,$00 .db $85,$02,$89,$4F,$7C,$81,$27,$FE .db $4B,$7C,$81,$03,$00,$01,$00,$FF .db $26,$FE,$01,$00,$FF,$22,$00,$83 .db $01,$7E,$03,$7C,$7F,$82,$03,$43 .db $7C,$81,$84,$07,$AC,$00,$FC,$22 .db $FE,$1E,$7F,$FD,$BF,$FB,$DF,$F7 .db $EF,$EF,$F7,$DF,$FB,$BF,$FD,$7F .db $FE,$FE,$FD,$FB,$F7,$EF,$DF,$BF .db $7F,$1E,$1E,$21,$3F,$4E,$7F,$BF .db $F1,$47,$BF,$E0,$03,$00,$1E,$3F .db $71,$23,$60,$07,$78,$78,$84,$FC .db $72,$FE,$FD,$8F,$47,$FD,$07,$03 .db $00,$78,$FC,$8E,$23,$06,$43,$5F .db $70,$4B,$2F,$38,$01,$30,$30,$25 .db $18,$43,$FA,$0E,$4B,$F4,$1C,$01 .db $0C,$0C,$25,$18,$4F,$2F,$38,$27 .db $18,$4F,$F4,$1C,$28,$18,$00,$E7 .db $43,$3C,$C3,$01,$02,$FD,$44,$01 .db $FE,$0A,$FF,$03,$FE,$00,$01,$01 .db $3B,$3D,$3D,$3C,$39,$83,$02,$87 .db $01,$CF,$30,$43,$30,$CF,$01,$06 .db $F9,$43,$FF,$06,$02,$00,$00,$30 .db $22,$FF,$01,$F9,$F9,$85,$0B,$88 .db $43,$30,$CF,$01,$06,$F9,$43,$FF .db $06,$02,$00,$00,$30,$22,$FF,$08 .db $F9,$F9,$03,$FE,$0B,$F6,$0D,$F3 .db $3C,$43,$C7,$3E,$0B,$EF,$3C,$FF .db $18,$FF,$39,$39,$3C,$38,$38,$10 .db $00,$43,$00,$FF,$02,$60,$FF,$63 .db $43,$9C,$FF,$00,$FC,$22,$FF,$04 .db $00,$FF,$FF,$9F,$9C,$24,$00,$85 .db $0B,$D0,$43,$9C,$FF,$00,$FC,$22 .db $FF,$84,$0B,$DE,$24,$00,$FF,$11 .db $00,$7F,$7F,$80,$67,$FE,$5E,$F9 .db $39,$F6,$00,$7F,$66,$B9,$58,$E7 .db $00,$00,$22,$7F,$14,$00,$2E,$5F .db $00,$FE,$FE,$01,$E6,$7F,$7A,$9F .db $9C,$6F,$00,$FF,$79,$86,$C7,$38 .db $00,$00,$22,$FE,$E0,$2A,$00,$79 .db $FF,$FE,$01,$FD,$03,$FB,$07,$F7 .db $0F,$EF,$1F,$DF,$3F,$BF,$7F,$7F .db $FF,$00,$01,$03,$07,$0F,$1F,$3F .db $7F,$FE,$01,$FC,$03,$F8,$07,$F0 .db $0F,$E3,$1C,$C7,$38,$8F,$70,$0E .db $F1,$86,$00,$40,$0C,$7E,$00,$FF .db $01,$FE,$03,$FC,$07,$F8,$EF,$10 .db $DF,$20,$43,$00,$FF,$07,$FE,$FC .db $F8,$F0,$E0,$C0,$00,$00,$87,$00 .db $48,$83,$00,$68,$44,$00,$FF,$84 .db $00,$41,$02,$00,$00,$06,$86,$00 .db $61,$07,$CF,$30,$DF,$20,$BF,$40 .db $7F,$80,$85,$00,$70,$01,$80,$00 .db $43,$0C,$F3,$0C,$08,$F7,$04,$FB .db $0C,$F3,$1C,$E3,$3C,$C3,$7C,$83 .db $FC,$86,$00,$A1,$43,$FC,$03,$0B .db $F8,$07,$F4,$0B,$EC,$13,$CC,$33 .db $8C,$73,$0C,$F3,$22,$00,$08,$04 .db $0C,$1C,$3C,$7C,$0E,$F1,$05,$FA .db $83,$00,$64,$05,$8F,$F0,$DF,$E0 .db $BF,$C0,$89,$00,$9E,$01,$7E,$81 .db $85,$00,$4A,$06,$E1,$1F,$C3,$3F .db $87,$7F,$0F,$88,$00,$3F,$2A,$00 .db $04,$01,$01,$07,$07,$0F,$25,$00 .db $01,$01,$07,$22,$00,$05,$01,$01 .db $0F,$0F,$3F,$3F,$26,$FF,$04,$00 .db $00,$01,$0F,$3F,$22,$FF,$02,$00 .db $1F,$1F,$2C,$FF,$01,$00,$1F,$25 .db $FF,$28,$00,$00,$01,$43,$01,$03 .db $01,$03,$07,$24,$00,$09,$01,$01 .db $03,$0F,$1F,$1F,$3F,$3F,$7F,$7F .db $28,$FF,$83,$00,$44,$23,$FF,$0A .db $00,$FF,$7F,$FF,$43,$C0,$4F,$C0 .db $5C,$C0,$58,$44,$C0,$70,$12,$00 .db $7F,$7C,$70,$63,$67,$4F,$4F,$00 .db $FF,$FE,$FD,$C2,$01,$F2,$01,$3A .db $01,$1A,$44,$01,$0E,$07,$00,$FE .db $3E,$0E,$C6,$E6,$F2,$F2,$43,$FE .db $01,$43,$FC,$03,$09,$F8,$07,$F7 .db $0F,$CF,$3F,$0F,$DF,$FE,$FE,$83 .db $00,$B8,$05,$C0,$20,$7F,$BF,$7F .db $9E,$43,$BF,$C0,$0F,$1F,$E0,$EF .db $F0,$E3,$FC,$E0,$F3,$7F,$7F,$3F .db $3F,$1F,$0F,$03,$0C,$43,$FE,$01 .db $43,$FC,$03,$06,$F8,$07,$F6,$0F .db $CE,$3F,$0E,$88,$01,$BF,$49,$00 .db $FF,$45,$6F,$F0,$00,$00,$22,$7E .db $00,$00,$22,$6F,$01,$00,$FF,$45 .db $FE,$01,$01,$00,$FF,$45,$E0,$1F .db $00,$00,$22,$FE,$00,$00,$22,$EE .db $01,$00,$FF,$45,$3A,$C5,$01,$00 .db $FF,$45,$EE,$11,$00,$00,$22,$BA .db $00,$00,$22,$EE,$05,$00,$F8,$F8 .db $87,$FF,$F8,$29,$FF,$01,$00,$F8 .db $25,$FF,$22,$00,$11,$80,$80,$70 .db $F0,$8C,$FC,$E3,$FF,$F8,$FF,$FC .db $FF,$FE,$00,$00,$80,$F0,$FC,$22 .db $FF,$2A,$00,$04,$80,$80,$60,$E0 .db $10,$25,$00,$0B,$80,$E0,$F0,$08 .db $F8,$84,$FC,$82,$FE,$C1,$FF,$C0 .db $44,$FF,$E0,$04,$F0,$F0,$F8,$FC .db $FE,$23,$FF,$28,$00,$00,$80,$43 .db $80,$40,$01,$C0,$20,$24,$00,$04 .db $80,$80,$C0,$FF,$F0,$46,$FF,$F8 .db $45,$FC,$FF,$00,$FE,$27,$FF,$43 .db $E0,$10,$43,$F0,$08,$45,$F8,$04 .db $05,$FC,$02,$E0,$E0,$F0,$F0,$22 .db $F8,$00,$FC,$47,$FF,$FE,$2F,$FF .db $43,$70,$C0,$13,$58,$C0,$5C,$C0 .db $4F,$C0,$43,$C0,$7F,$80,$00,$FF .db $4F,$4F,$67,$63,$70,$7C,$7F,$00 .db $43,$0E,$01,$06,$1A,$01,$3A,$01 .db $F2,$01,$C2,$84,$02,$15,$06,$F2 .db $F2,$E6,$C6,$0E,$3E,$FE,$38,$00 .db $46,$FF,$FB,$43,$F1,$FF,$04,$E1 .db $FF,$E0,$FF,$C0,$27,$FF,$00,$00 .db $2E,$FF,$00,$00,$26,$FF,$4F,$FE .db $01,$27,$FE,$43,$07,$0F,$43,$0F .db $1F,$45,$1F,$3F,$05,$3F,$7F,$07 .db $07,$0F,$0F,$22,$1F,$00,$3F,$45 .db $FC,$02,$49,$FE,$01,$22,$FC,$24 .db $FE,$02,$26,$E6,$19,$43,$FF,$00 .db $46,$BF,$00,$04,$40,$D9,$19,$00 .db $26,$23,$7F,$06,$3F,$7C,$7F,$98 .db $FF,$04,$DF,$48,$0C,$CF,$03,$8F .db $80,$00,$60,$24,$F0,$26,$00,$04 .db $42,$42,$E7,$63,$F7,$43,$77,$FF .db $23,$00,$03,$42,$63,$77,$77,$22 .db $00,$02,$10,$10,$38,$43,$38,$7C .db $0D,$78,$FD,$7D,$FF,$FD,$FF,$00 .db $00,$10,$38,$38,$78,$7D,$FD,$24 .db $00,$0A,$01,$00,$03,$01,$06,$02 .db $0D,$05,$1B,$0B,$17,$23,$00,$83 .db $00,$41,$0B,$00,$0F,$0F,$70,$37 .db $CF,$CF,$3F,$3C,$FF,$FB,$FC,$43 .db $F7,$F8,$07,$00,$0F,$3F,$FF,$FC .db $F8,$F0,$F0,$24,$00,$83,$04,$25 .db $06,$07,$03,$0F,$06,$1E,$0C,$1C .db $25,$00,$0D,$01,$03,$00,$0F,$0F .db $7F,$38,$F8,$E0,$E0,$C0,$C3,$03 .db $04,$43,$07,$08,$07,$00,$00,$07 .db $1F,$3C,$F8,$F0,$F0,$24,$00,$44 .db $18,$00,$25,$00,$27,$FF,$22,$00 .db $45,$06,$00,$02,$20,$00,$20,$23 .db $00,$27,$FF,$83,$01,$C8,$43,$3F .db $40,$07,$1F,$20,$0F,$10,$03,$0C .db $00,$03,$86,$01,$D8,$00,$00,$43 .db $FE,$01,$43,$FC,$02,$07,$F8,$04 .db $F0,$08,$C0,$30,$00,$C0,$86,$01 .db $C0,$10,$00,$7F,$BF,$3F,$DE,$3F .db $C0,$5F,$E0,$6F,$F0,$73,$FC,$7C .db $FF,$1F,$9F,$86,$04,$C1,$02,$60 .db $FE,$81,$43,$FC,$03,$06,$F8,$07 .db $F4,$0F,$CC,$3F,$3C,$83,$02,$64 .db $85,$04,$DA,$00,$00,$45,$3F,$7F .db $49,$7F,$FF,$22,$3F,$24,$7F,$23 .db $00,$0B,$EF,$00,$99,$00,$80,$00 .db $85,$05,$8A,$0A,$BF,$15,$22,$00 .db $04,$66,$7F,$7A,$75,$40,$23,$00 .db $0B,$70,$00,$90,$00,$50,$60,$90 .db $E0,$D0,$E0,$90,$E0,$22,$00,$01 .db $60,$80,$22,$00,$07,$38,$00,$C8 .db $00,$E8,$30,$88,$B0,$43,$C8,$F0 .db $0E,$38,$C0,$F8,$C0,$00,$30,$00 .db $40,$00,$00,$30,$30,$E6,$19,$99 .db $23,$00,$04,$FF,$CC,$FF,$FF,$DD .db $43,$FF,$88,$02,$00,$66,$FF,$24 .db $00,$0A,$77,$80,$99,$02,$05,$06 .db $03,$FC,$CF,$F0,$FE,$84,$05,$61 .db $02,$00,$64,$F8,$24,$00,$0A,$0F .db $37,$17,$2F,$17,$6F,$2F,$5F,$2F .db $DF,$4F,$44,$BF,$5F,$84,$01,$68 .db $22,$7F,$45,$F7,$F8,$43,$FB,$FC .db $43,$FD,$FE,$01,$FE,$FF,$22,$F0 .db $05,$F8,$F8,$FC,$FC,$FE,$08,$43 .db $38,$18,$06,$78,$30,$70,$30,$F0 .db $70,$F0,$43,$60,$E0,$22,$07,$22 .db $0F,$01,$1F,$1F,$45,$07,$08,$43 .db $03,$04,$43,$01,$02,$01,$00,$01 .db $22,$F0,$84,$05,$CB,$44,$00,$7F .db $47,$7E,$00,$03,$40,$00,$7F,$00 .db $25,$3F,$00,$00,$44,$00,$FF,$47 .db $FE,$00,$03,$80,$00,$FF,$00,$25 .db $7F,$23,$00,$08,$03,$01,$0F,$07 .db $1F,$0E,$3E,$18,$78,$43,$00,$FF .db $23,$00,$01,$01,$07,$22,$00,$02 .db $FF,$00,$B8,$47,$44,$CC,$00,$77 .db $43,$FF,$00,$00,$77,$23,$33,$22 .db $00,$E0,$20,$1F,$02,$25,$00,$42 .db $01,$43,$3C,$81,$00,$81,$3C,$81 .db $18,$81,$00,$18,$3D,$3C,$42,$7E .db $42,$66,$00,$F8,$F8,$04,$00,$82 .db $7C,$FE,$00,$41,$45,$BE,$FF,$04 .db $00,$00,$7C,$00,$BE,$22,$00,$03 .db $E8,$38,$F8,$27,$8A,$06,$90,$00 .db $3F,$47,$07,$00,$13,$AB,$01,$BF .db $15,$AF,$2F,$DC,$5F,$7A,$3F,$54 .db $3F,$6A,$3F,$34,$1F,$54,$40,$50 .db $20,$23,$00,$E0,$2F,$EF,$10,$98 .db $00,$9F,$07,$97,$17,$8F,$0F,$97 .db $17,$BF,$0C,$F7,$44,$00,$67,$60 .db $68,$70,$68,$73,$3B,$BF,$07,$CF .db $07,$EF,$37,$8F,$B7,$4E,$F6,$8F .db $F7,$7E,$C7,$BB,$C7,$40,$30,$00 .db $40,$01,$00,$30,$30,$43,$FF,$88 .db $0B,$F7,$88,$80,$88,$00,$FF,$33 .db $FF,$CC,$33,$7F,$80,$22,$00,$00 .db $77,$23,$00,$02,$F0,$00,$7F,$44 .db $80,$40,$05,$FF,$00,$40,$80,$FF .db $3F,$83,$06,$FE,$00,$3F,$43,$3F .db $00,$00,$00,$4B,$5F,$BF,$43,$00 .db $FF,$25,$7F,$03,$00,$00,$FD,$FE .db $43,$FB,$FC,$02,$FD,$FE,$FE,$22 .db $FF,$43,$00,$FF,$01,$FC,$F8,$83 .db $02,$99,$01,$00,$00,$4B,$60,$E0 .db $43,$00,$FF,$25,$1F,$00,$00,$62 .db $00,$43,$03,$04,$83,$05,$F4,$22 .db $00,$88,$07,$45,$22,$00,$00,$7F .db $49,$01,$7B,$03,$05,$47,$39,$7F .db $25,$3C,$01,$38,$00,$45,$00,$FF .db $43,$80,$FF,$43,$C0,$FF,$01,$E0 .db $FF,$28,$00,$00,$FF,$49,$00,$FE .db $03,$01,$E1,$1E,$FF,$25,$1F,$05 .db $1E,$00,$00,$E3,$00,$E0,$47,$00 .db $A0,$03,$5F,$FF,$00,$FF,$25,$5F .db $01,$00,$00,$43,$18,$81,$13,$00 .db $81,$7E,$FF,$00,$FF,$40,$BF,$7E .db $81,$00,$FF,$66,$66,$7E,$00,$00 .db $3E,$7E,$00,$47,$BE,$FF,$01,$00 .db $FF,$43,$FE,$01,$01,$00,$FF,$24 .db $00,$04,$FE,$FE,$00,$8F,$00,$43 .db $91,$0E,$0A,$93,$0C,$9F,$0C,$51 .db $0E,$31,$0E,$0F,$00,$70,$23,$60 .db $09,$20,$00,$00,$20,$1F,$18,$07 .db $07,$00,$FF,$84,$06,$24,$03,$6F .db $35,$3A,$05,$23,$00,$00,$7F,$22 .db $00,$01,$BF,$0C,$83,$06,$C6,$E0 .db $24,$B7,$04,$BF,$0C,$B7,$04,$8B .db $0B,$97,$17,$73,$68,$70,$7B,$73 .db $7B,$74,$68,$7E,$C7,$99,$E6,$4E .db $F1,$B9,$C6,$7F,$C0,$B9,$C6,$5E .db $E1,$BE,$C1,$30,$00,$00,$22,$30 .db $04,$00,$00,$10,$0F,$08,$83,$04 .db $36,$07,$08,$1D,$01,$3D,$01,$7F .db $00,$FF,$23,$00,$1E,$08,$02,$0A .db $00,$6A,$9A,$1B,$C4,$47,$D2,$5F .db $94,$3F,$70,$7F,$83,$7C,$53,$AC .db $AC,$50,$64,$38,$20,$40,$80,$00 .db $00,$03,$3D,$D2,$49,$2F,$FD,$43 .db $00,$FF,$00,$2F,$24,$02,$03,$00 .db $00,$17,$E8,$49,$E9,$16,$43,$00 .db $FF,$00,$E8,$24,$FE,$03,$00,$00 .db $E8,$17,$49,$97,$68,$43,$00,$FF .db $00,$17,$24,$7F,$03,$00,$00,$BC .db $4B,$49,$F4,$BF,$43,$00,$FF,$00 .db $F4,$24,$40,$04,$00,$00,$E6,$19 .db $99,$23,$00,$02,$FF,$80,$80,$83 .db $03,$54,$01,$F5,$80,$83,$05,$80 .db $04,$7F,$00,$00,$0A,$E0,$44,$FF .db $F0,$43,$F8,$FF,$43,$FC,$FF,$01 .db $FE,$FF,$28,$00,$0A,$7F,$7F,$FF .db $C0,$C0,$00,$1F,$1F,$20,$00,$1F .db $44,$00,$FF,$08,$00,$3F,$E0,$C0 .db $E0,$00,$00,$41,$DF,$44,$41,$C7 .db $46,$C3,$41,$01,$7D,$FF,$26,$3C .db $00,$00,$4F,$01,$02,$27,$00,$4F .db $80,$40,$2E,$00,$08,$07,$07,$F8 .db $7E,$81,$5C,$A3,$08,$F7,$27,$00 .db $43,$01,$03,$03,$00,$1F,$1F,$E0 .db $83,$00,$48,$03,$78,$87,$89,$76 .db $27,$00,$0F,$80,$C0,$80,$CF,$0F .db $F0,$FC,$03,$CC,$33,$4C,$B3,$CC .db $33,$C0,$3F,$28,$00,$02,$FE,$F9 .db $07,$43,$C8,$37,$03,$C9,$37,$C8 .db $36,$43,$CA,$37,$00,$01,$23,$04 .db $0E,$05,$04,$04,$67,$FF,$60,$BF .db $4F,$FF,$40,$FF,$69,$F6,$00,$FF .db $23,$00,$04,$6F,$2F,$6F,$4F,$69 .db $22,$00,$0B,$38,$FF,$00,$FF,$0E .db $FF,$F1,$0E,$8F,$70,$00,$FF,$23 .db $00,$23,$FF,$00,$8F,$23,$00,$02 .db $FF,$FF,$00,$22,$FF,$08,$7F,$7F .db $9C,$9C,$E3,$E3,$FF,$7E,$7E,$83 .db $04,$8E,$03,$7F,$1C,$00,$81,$83 .db $0A,$20,$22,$FF,$03,$1C,$1C,$E3 .db $E3,$22,$FF,$01,$1C,$1C,$83,$04 .db $8E,$03,$1C,$00,$00,$E3,$29,$00 .db $04,$01,$00,$02,$00,$05,$24,$00 .db $13,$18,$00,$1D,$02,$03,$00,$05 .db $02,$0E,$04,$36,$00,$C4,$00,$2C .db $00,$EC,$00,$A4,$48,$22,$00,$15 .db $08,$38,$D0,$10,$10,$D5,$80,$FF .db $AA,$FF,$80,$D7,$A8,$7F,$80,$7F .db $AA,$FF,$2A,$7F,$80,$2A,$26,$00 .db $4F,$7F,$FF,$27,$7F,$22,$00,$08 .db $03,$01,$0E,$06,$19,$09,$37,$17 .db $6F,$44,$00,$FF,$04,$00,$01,$07 .db $0F,$1F,$22,$00,$09,$7F,$7F,$80 .db $BF,$7F,$60,$FF,$DF,$E0,$E0,$45 .db $FF,$00,$04,$7F,$FF,$E0,$C0,$E0 .db $22,$00,$09,$03,$01,$13,$11,$3B .db $1B,$7F,$5B,$FF,$6B,$44,$FF,$77 .db $0D,$00,$01,$11,$1B,$5B,$6B,$77 .db $77,$00,$C0,$80,$D0,$D0,$F8,$43 .db $B8,$FC,$86,$04,$12,$0A,$80,$D0 .db $B8,$B8,$78,$7D,$FD,$41,$BE,$62 .db $9D,$43,$72,$8D,$07,$33,$4C,$33 .db $4F,$3C,$7F,$00,$7C,$24,$00,$1C .db $03,$3C,$00,$64,$9B,$67,$99,$64 .db $FF,$6C,$FF,$00,$FF,$08,$FF,$01 .db $FB,$01,$03,$00,$01,$64,$6C,$1F .db $F8,$00,$00,$40,$BF,$43,$24,$FF .db $44,$00,$FF,$00,$F8,$43,$80,$C0 .db $04,$00,$24,$24,$67,$F8,$22,$00 .db $17,$CA,$37,$C2,$3F,$C6,$3F,$30 .db $FF,$0F,$FF,$70,$F0,$40,$C7,$40 .db $D9,$04,$0C,$38,$C0,$00,$0F,$3F .db $3F,$43,$FF,$00,$08,$7F,$00,$3F .db $00,$1F,$00,$07,$00,$03,$22,$00 .db $06,$64,$1A,$1C,$13,$07,$03,$00 .db $4E,$00,$FF,$00,$EF,$22,$00,$04 .db $55,$AA,$CF,$39,$EF,$4F,$00,$FF .db $28,$00,$43,$FC,$03,$83,$00,$4C .db $07,$E8,$16,$C0,$3E,$00,$FC,$00 .db $F0,$23,$00,$00,$08,$22,$00,$0C .db $1F,$04,$1F,$09,$0F,$12,$03,$00 .db $07,$01,$07,$82,$07,$22,$00,$14 .db $20,$60,$60,$3C,$98,$48,$98,$0F .db $4C,$98,$CC,$18,$94,$38,$FC,$A8 .db $F8,$50,$58,$A0,$E0,$22,$00,$07 .db $20,$20,$42,$03,$07,$06,$0C,$F0 .db $FF,$22,$00,$0C,$01,$00,$03,$00 .db $0C,$01,$11,$07,$27,$07,$2F,$00 .db $4F,$22,$00,$14,$03,$0F,$1F,$17 .db $30,$00,$80,$80,$40,$00,$E0,$00 .db $18,$E0,$E4,$F8,$FA,$7C,$FE,$FE .db $FF,$22,$00,$04,$E0,$F8,$FC,$7C .db $FE,$22,$00,$1C,$03,$00,$04,$00 .db $1A,$00,$E4,$72,$C2,$3F,$43,$19 .db $25,$00,$00,$03,$05,$1B,$0D,$00 .db $02,$00,$F0,$10,$1C,$0C,$0E,$64 .db $06,$43,$F2,$03,$0B,$60,$01,$C0 .db $C5,$00,$E0,$F0,$F8,$FC,$FC,$FE .db $3A,$22,$00,$13,$01,$00,$06,$00 .db $08,$00,$31,$00,$EA,$79,$E1,$3F .db $41,$00,$00,$01,$07,$0E,$15,$06 .db $23,$00,$84,$00,$49,$01,$34,$06 .db $43,$7A,$03,$02,$B0,$81,$00,$85 .db $00,$58,$E0,$30,$7E,$00,$03,$00 .db $EC,$68,$FA,$40,$D0,$06,$85,$57 .db $D8,$06,$49,$21,$66,$00,$03,$05 .db $2F,$78,$20,$30,$18,$00,$C0,$00 .db $37,$16,$5F,$02,$0B,$60,$A1,$EA .db $1B,$60,$92,$84,$66,$00,$C0,$A0 .db $F4,$1E,$04,$0C,$18,$22,$00,$13 .db $01,$01,$3A,$20,$44,$59,$9F,$30 .db $B9,$22,$B2,$6F,$FF,$00,$00,$01 .db $3B,$60,$46,$4D,$23,$00,$1E,$C0 .db $00,$30,$A0,$CC,$00,$9A,$10,$15 .db $3A,$BF,$7A,$FF,$00,$00,$C0,$30 .db $64,$EA,$40,$00,$00,$11,$11,$2A .db $1B,$64,$1F,$20,$1D,$22,$43,$3A .db $45,$13,$08,$D7,$00,$11,$1B,$1F .db $1D,$38,$38,$28,$00,$88,$08,$D4 .db $98,$64,$F8,$04,$68,$95,$43,$BC .db $42,$09,$30,$CA,$00,$08,$98,$F8 .db $68,$3C,$3C,$34,$22,$00,$14,$18 .db $10,$35,$21,$63,$08,$46,$10,$7A .db $44,$D1,$4E,$D9,$00,$00,$08,$1C .db $39,$05,$2E,$26,$22,$00,$0C,$E0 .db $E0,$F8,$20,$14,$24,$D6,$94,$26 .db $C0,$3C,$1C,$BE,$22,$00,$04,$E8 .db $28,$D8,$C0,$40,$22,$00,$0C,$02 .db $02,$07,$00,$0A,$0B,$14,$1B,$2D .db $17,$3A,$37,$48,$22,$00,$03,$05 .db $0B,$1B,$16,$23,$00,$0C,$40,$40 .db $E0,$00,$10,$F0,$C8,$F8,$34,$F8 .db $0C,$FC,$02,$22,$00,$06,$E0,$F0 .db $38,$08,$00,$00,$F7,$43,$00,$7F .db $E0,$2C,$80,$FF,$20,$FF,$2F,$60 .db $6F,$E0,$9F,$C0,$0F,$BF,$B0,$07 .db $20,$1F,$1F,$3F,$1E,$FF,$0C,$FF .db $01,$FE,$01,$F2,$44,$97,$8C,$1F .db $80,$3F,$00,$61,$1E,$EC,$E0,$0C .db $68,$E0,$C0,$9E,$00,$19,$1C,$43 .db $21,$1E,$0D,$20,$1E,$20,$08,$17 .db $07,$0F,$00,$0F,$06,$02,$00,$01 .db $01,$22,$00,$07,$08,$0D,$08,$5D .db $A0,$F9,$00,$F1,$62,$02,$10,$0E .db $80,$84,$00,$FC,$F2,$A2,$06,$0E .db $FC,$F0,$78,$00,$1C,$22,$00,$1C .db $45,$1F,$20,$07,$1E,$21,$2D,$73 .db $00,$7F,$01,$03,$25,$00,$1E,$C0 .db $C3,$00,$83,$00,$AB,$50,$FF,$86 .db $7F,$00,$C3,$E0,$E1,$00,$FF,$3C .db $7C,$54,$00,$00,$3C,$1E,$00,$0F .db $20,$0E,$20,$0F,$E0,$27,$43,$E0 .db $03,$13,$77,$01,$3B,$00,$19,$10 .db $11,$10,$18,$1C,$08,$00,$00,$F0 .db $04,$70,$04,$F0,$07,$E4,$43,$07 .db $C0,$0A,$EE,$80,$DC,$00,$98,$08 .db $88,$08,$18,$38,$10,$24,$00,$84 .db $00,$03,$07,$00,$10,$03,$23,$06 .db $2F,$01,$5F,$22,$00,$04,$03,$0F .db $1F,$16,$21,$8B,$00,$18,$03,$FC .db $FE,$FE,$FF,$22,$00,$00,$E0,$83 .db $00,$5B,$E0,$44,$1D,$42,$07,$48 .db $23,$EC,$20,$67,$00,$37,$18,$38 .db $0F,$5F,$00,$0F,$3D,$37,$13,$18 .db $08,$07,$00,$00,$78,$83,$D0,$26 .db $80,$63,$04,$CE,$08,$CC,$18,$1C .db $F0,$FA,$00,$F0,$7C,$D8,$9C,$30 .db $30,$E0,$00,$00,$10,$7A,$08,$1F .db $0C,$21,$3C,$62,$2D,$63,$0C,$3F .db $00,$0E,$00,$00,$05,$00,$1E,$1D .db $1C,$22,$00,$14,$B4,$46,$04,$A6 .db $68,$1C,$DC,$26,$A4,$C6,$78,$FC .db $00,$78,$00,$00,$B8,$58,$E0,$D8 .db $38,$29,$00,$08,$0F,$09,$3B,$19 .db $44,$37,$99,$6F,$B4,$23,$00,$03 .db $04,$3B,$77,$6C,$26,$00,$08,$F0 .db $90,$9C,$F4,$06,$FC,$F1,$FE,$05 .db $23,$00,$14,$60,$F8,$FE,$06,$00 .db $01,$01,$03,$00,$0F,$0C,$13,$1C .db $23,$02,$3D,$1C,$23,$02,$3D,$00 .db $22,$01,$43,$02,$1C,$03,$C0,$78 .db $80,$FC,$44,$00,$FE,$44,$FF,$00 .db $1F,$20,$9F,$40,$E0,$F0,$F4,$EC .db $00,$00,$60,$00,$03,$03,$FC,$F7 .db $0B,$04,$0F,$00,$07,$F4,$F7,$02 .db $FD,$18,$67,$00,$00,$F3,$F7,$FB .db $09,$22,$00,$06,$F0,$80,$FC,$10 .db $EE,$08,$F6,$43,$00,$FF,$09,$60 .db $9F,$30,$CF,$00,$90,$C8,$D4,$CC .db $80,$22,$00,$94,$03,$31,$22,$00 .db $00,$F0,$83,$03,$1A,$0F,$08,$F6 .db $04,$FB,$00,$FF,$40,$BF,$60,$9F .db $00,$80,$D8,$D4,$CA,$86,$22,$00 .db $1A,$14,$00,$3C,$18,$E6,$3C,$43 .db $3C,$C2,$18,$67,$00,$3C,$00,$28 .db $00,$00,$18,$3C,$3C,$18,$00,$00 .db $02,$0D,$00,$7F,$43,$00,$9F,$12 .db $60,$E7,$19,$7A,$0D,$3E,$01,$0E .db $03,$0F,$6C,$63,$18,$25,$01,$01 .db $0F,$FF,$03,$43,$FF,$00,$04,$FD .db $15,$FB,$91,$7F,$43,$7F,$FF,$1B .db $C3,$F3,$38,$C2,$04,$80,$00,$00 .db $C0,$F8,$88,$F4,$18,$E6,$14,$AA .db $B2,$CD,$A2,$DD,$A0,$DF,$20,$DF .db $C0,$80,$00,$40,$23,$00,$01,$02 .db $0D,$46,$00,$1F,$E0,$26,$2B,$11 .db $7E,$11,$92,$5D,$FE,$03,$0F,$0C .db $03,$10,$01,$6D,$21,$07,$FF,$00 .db $FF,$01,$FE,$02,$FD,$3D,$C3,$F0 .db $0F,$F6,$0F,$FB,$07,$C7,$F8,$3D .db $C2,$3C,$F0,$F0,$F8,$85,$03,$D8 .db $06,$D4,$EA,$E2,$FD,$62,$FD,$E0 .db $43,$FF,$C0,$00,$80,$26,$00,$02 .db $3C,$3C,$42,$47,$7E,$81,$E0,$26 .db $3C,$42,$00,$3C,$00,$08,$04,$32 .db $48,$08,$10,$00,$3C,$43,$38,$47 .db $16,$2B,$08,$1F,$00,$3F,$30,$CF .db $08,$F7,$38,$47,$3C,$39,$13,$0F .db $0F,$06,$70,$04,$00,$F0,$00,$8D .db $03,$7B,$12,$00,$98,$94,$8A,$06 .db $00,$00,$1E,$21,$00,$1F,$0E,$11 .db $00,$0F,$01,$06,$00,$01,$24,$00 .db $02,$0E,$00,$07,$23,$00,$13,$10 .db $0F,$8C,$9F,$E0,$FF,$68,$FF,$80 .db $7F,$00,$FF,$00,$0F,$00,$07,$F0 .db $6E,$0E,$0E,$22,$06,$13,$00,$46 .db $B8,$60,$F8,$47,$FF,$03,$FF,$02 .db $FF,$00,$FE,$00,$F8,$00,$00,$07 .db $67,$70,$22,$78,$0B,$00,$00,$18 .db $67,$AC,$D2,$B6,$C9,$60,$9E,$00 .db $E0,$25,$00,$00,$80,$26,$00,$E0 .db $23,$02,$7C,$17,$28,$07,$18,$00 .db $0F,$03,$07,$02,$1F,$18,$2F,$00 .db $3F,$3B,$07,$07,$00,$03,$03,$0F .db $00,$B0,$CF,$58,$66,$4E,$71,$14 .db $EA,$00,$FC,$00,$E0,$44,$00,$F0 .db $0C,$80,$80,$00,$C0,$C0,$E0,$00 .db $3C,$00,$7E,$00,$FF,$28,$44,$FF .db $3C,$01,$34,$7E,$43,$00,$3C,$00 .db $7E,$23,$FF,$05,$7E,$3C,$01,$02 .db $00,$03,$46,$00,$01,$00,$03,$43 .db $00,$07,$01,$01,$01,$23,$00,$0C .db $03,$00,$78,$FF,$80,$79,$01,$87 .db $00,$7B,$04,$87,$1C,$43,$FF,$00 .db $14,$F3,$00,$86,$FC,$FC,$79,$81 .db $E1,$00,$20,$5F,$20,$DF,$D0,$EE .db $10,$EE,$08,$F4,$00,$FC,$43,$00 .db $F8,$00,$80,$22,$00,$09,$E0,$C0 .db $F0,$00,$19,$BE,$00,$7B,$02,$07 .db $44,$00,$0F,$00,$1F,$43,$00,$3F .db $1C,$61,$01,$00,$00,$07,$07,$1F .db $00,$F7,$0F,$EF,$1F,$6E,$9F,$00 .db $7F,$07,$87,$1F,$FF,$00,$BF,$00 .db $80,$F0,$E0,$E0,$F0,$78,$22,$00 .db $05,$A0,$DF,$00,$FF,$78,$FE,$44 .db $00,$FC,$44,$FE,$00,$23,$00,$09 .db $78,$70,$7C,$00,$00,$0C,$04,$3B .db $3D,$42,$45,$7E,$81,$06,$3C,$43 .db $00,$3C,$00,$00,$01,$24,$00,$F0 .db $23,$04,$E0,$44,$00,$F0,$86,$05 .db $09,$01,$00,$80,$44,$00,$40,$0F .db $20,$60,$10,$30,$0C,$1C,$82,$00 .db $7E,$00,$80,$80,$C0,$E0,$F0,$7C .db $25,$00,$00,$03,$49,$00,$07,$28 .db $00,$17,$0E,$00,$11,$00,$B9,$0A .db $CF,$18,$DF,$00,$FD,$39,$FF,$1E .db $FF,$01,$0E,$06,$30,$A0,$80,$80 .db $C0,$20,$46,$FF,$00,$01,$81,$FE .db $43,$BE,$80,$E0,$30,$7C,$01,$7F .db $FF,$C3,$1C,$81,$7F,$7F,$FE,$38 .db $FC,$10,$FE,$04,$FA,$04,$EB,$12 .db $5D,$32,$7D,$02,$FD,$02,$85,$B8 .db $D0,$C0,$10,$A0,$80,$00,$78,$00 .db $02,$00,$04,$00,$07,$01,$0F,$00 .db $17,$00,$23,$09,$2F,$01,$83,$01 .db $EF,$04,$03,$0B,$1C,$10,$00,$22 .db $0F,$02,$FF,$01,$7F,$45,$00,$FF .db $17,$06,$F8,$3C,$01,$FF,$0F,$F1 .db $FE,$0F,$F0,$07,$FE,$E0,$F0,$E0 .db $F8,$C0,$FC,$00,$FE,$04,$CA,$36 .db $79,$83,$06,$6C,$05,$E0,$E0,$C0 .db $00,$30,$80,$43,$00,$78,$07,$78 .db $84,$7C,$82,$3C,$C2,$0E,$21,$45 .db $0E,$11,$04,$00,$78,$7C,$3C,$1E .db $22,$0E,$22,$00,$07,$78,$78,$84 .db $1C,$E2,$0C,$12,$06,$44,$09,$02 .db $04,$00,$00,$78,$1C,$0C,$22,$06 .db $0B,$00,$0E,$0C,$32,$38,$44,$78 .db $84,$38,$44,$1C,$22,$43,$0C,$12 .db $0B,$00,$0C,$38,$78,$38,$1C,$0C .db $0C,$00,$78,$38,$46,$43,$1E,$21 .db $01,$3C,$42,$43,$38,$44,$0B,$1C .db $22,$00,$38,$1E,$1E,$3C,$38,$38 .db $1C,$00,$20,$24,$00,$00,$20,$44 .db $00,$50,$00,$20,$83,$07,$25,$0B .db $00,$20,$70,$70,$20,$00,$00,$04 .db $00,$0A,$00,$04,$22,$00,$02,$40 .db $00,$A0,$83,$03,$EA,$06,$04,$0E .db $04,$00,$40,$E0,$40,$E4,$31,$00 .db $02,$80,$00,$80,$43,$80,$40,$08 .db $C0,$20,$E0,$18,$00,$04,$00,$FC .db $00,$84,$06,$10,$01,$F8,$00,$44 .db $00,$07,$00,$03,$31,$00,$83,$01 .db $98,$03,$00,$8E,$00,$01,$27,$00 .db $02,$C0,$80,$01,$24,$00,$14,$F8 .db $01,$C0,$01,$00,$86,$00,$79,$02 .db $83,$1E,$7F,$00,$1F,$00,$01,$FE .db $FF,$FF,$FE,$7C,$22,$00,$07,$3A .db $7D,$44,$FB,$74,$FA,$00,$FE,$47 .db $00,$FC,$00,$80,$22,$00,$0A,$F0 .db $E0,$F8,$00,$01,$87,$36,$BF,$0E .db $7F,$38,$43,$7F,$00,$00,$7E,$43 .db $00,$FE,$01,$78,$40,$22,$00,$0A .db $3C,$7C,$00,$7C,$01,$78,$01,$C0 .db $00,$00,$87,$87,$07,$CE,$83,$07 .db $D8,$83,$07,$DB,$04,$3A,$7D,$42 .db $FD,$78,$43,$FE,$00,$46,$FC,$00 .db $00,$80,$22,$00,$83,$07,$F4,$44 .db $03,$10,$03,$08,$07,$08,$01,$43 .db $10,$00,$0E,$0C,$00,$07,$0F,$0F .db $07,$07,$0F,$0F,$03,$00,$03,$04 .db $01,$04,$48,$00,$02,$00,$01,$83 .db $03,$5F,$23,$01,$03,$00,$00,$18 .db $24,$43,$38,$44,$11,$1C,$42,$7C .db $82,$78,$84,$70,$88,$00,$70,$18 .db $38,$38,$3C,$7C,$78,$70,$00,$45 .db $0E,$11,$01,$1C,$22,$83,$06,$F4 .db $03,$60,$98,$00,$60,$22,$0E,$E0 .db $59,$1C,$38,$78,$60,$00,$00,$08 .db $08,$1C,$0C,$1A,$0C,$12,$08,$45 .db $01,$4B,$00,$AA,$01,$B3,$08,$14 .db $16,$1E,$4D,$4A,$EB,$F2,$00,$48 .db $00,$14,$00,$48,$00,$C0,$80,$D8 .db $40,$5C,$88,$BC,$D8,$7C,$48,$1C .db $48,$C0,$58,$9C,$74,$A4,$00,$C1 .db $40,$B1,$50,$C9,$68,$E6,$30,$71 .db $1C,$3C,$07,$1F,$00,$07,$00,$40 .db $30,$18,$0E,$03,$00,$00,$07,$F8 .db $F3,$0C,$9D,$02,$06,$81,$62,$E1 .db $38,$78,$C6,$43,$FF,$00,$04,$F0 .db $FC,$7E,$1E,$87,$27,$00,$05,$30 .db $00,$78,$04,$5C,$26,$43,$3E,$47 .db $23,$00,$03,$04,$06,$07,$07,$2E .db $00,$00,$1C,$26,$00,$00,$1C,$83 .db $04,$E6,$E0,$29,$00,$05,$00,$0A .db $05,$0A,$0B,$1D,$0B,$16,$1B,$24 .db $00,$00,$02,$05,$05,$0B,$02,$00 .db $00,$70,$40,$E0,$00,$60,$00,$10 .db $E0,$10,$F0,$F8,$F0,$08,$F8,$04 .db $00,$00,$80,$E0,$E0,$F0,$24,$00 .db $0A,$07,$06,$18,$1F,$20,$3E,$4C .db $33,$BF,$40,$F3,$83,$03,$EA,$03 .db $07,$1F,$33,$40,$22,$00,$0E,$E0 .db $E0,$18,$78,$04,$3C,$02,$7C,$02 .db $FC,$E2,$1C,$FE,$00,$1E,$84,$02 .db $6A,$00,$1C,$23,$00,$08,$38,$38 .db $FD,$C5,$FF,$02,$67,$00,$02,$26 .db $00,$01,$38,$FD,$23,$FF,$06,$38 .db $38,$FC,$C4,$EF,$03,$87,$29,$00 .db $01,$38,$FC,$24,$FF,$05,$00,$07 .db $07,$08,$0D,$52,$43,$1F,$20,$11 .db $3B,$44,$1F,$60,$1F,$C0,$00,$07 .db $0D,$1F,$1F,$3B,$1F,$3F,$00,$E0 .db $E0,$10,$83,$09,$54,$01,$E8,$15 .db $43,$FC,$02,$01,$B8,$42,$83,$00 .db $58,$13,$E8,$FC,$FC,$BC,$00,$FF .db $7F,$80,$48,$80,$50,$80,$61,$80 .db $43,$80,$47,$80,$4E,$80,$28,$00 .db $0E,$FF,$FE,$01,$72,$01,$E6,$01 .db $CA,$01,$92,$01,$22,$01,$42,$01 .db $27,$00,$E0,$2F,$03,$F4,$23,$F6 .db $05,$7C,$1A,$38,$17,$78,$2B,$78 .db $33,$78,$0B,$38,$F7,$D4,$7A,$27 .db $6D,$55,$4E,$36,$C0,$08,$E0,$2C .db $E8,$0D,$E0,$09,$48,$0F,$44,$4D .db $BA,$B8,$54,$1D,$78,$1C,$35,$39 .db $F7,$BB,$45,$EB,$26,$00,$87,$00 .db $03,$00,$2F,$24,$00,$02,$03,$0F .db $17,$24,$00,$88,$00,$19,$01,$B8 .db $FA,$24,$00,$E0,$20,$E0,$F8,$BC .db $7E,$87,$7F,$CF,$3F,$FF,$7E,$FF .db $71,$FF,$2B,$7F,$17,$3F,$00,$1F .db $87,$CF,$BF,$FF,$FF,$7F,$3F,$1F .db $1C,$62,$7E,$81,$3E,$C1,$43,$DF .db $E0,$19,$DE,$E1,$38,$C6,$00,$F8 .db $62,$81,$C1,$E0,$E0,$E1,$C6,$F8 .db $00,$60,$00,$90,$C0,$08,$30,$84 .db $08,$E4,$00,$18,$24,$00,$03,$60 .db $F0,$F8,$98,$22,$00,$0E,$01,$00 .db $02,$00,$06,$00,$0C,$00,$18,$00 .db $38,$00,$70,$00,$FC,$62,$00,$05 .db $06,$0C,$18,$28,$50,$CC,$24,$00 .db $0A,$01,$01,$0E,$09,$70,$7B,$80 .db $1F,$FF,$00,$1F,$22,$00,$02,$01 .db $0F,$7F,$22,$00,$14,$1E,$0C,$62 .db $44,$82,$E4,$02,$EC,$0E,$F0,$3E .db $C0,$F0,$00,$C0,$00,$1C,$7C,$FC .db $F0,$C0,$31,$00,$27,$FF,$2F,$00 .db $27,$FF,$09,$1D,$42,$0F,$40,$27 .db $E0,$20,$60,$10,$32,$86,$02,$7A .db $12,$3F,$1F,$1F,$0D,$07,$00,$00 .db $F8,$03,$F0,$06,$C0,$03,$04,$06 .db $08,$0C,$18,$5C,$83,$02,$94,$43 .db $FC,$F8,$0A,$F0,$A0,$00,$00,$5C .db $80,$79,$80,$72,$80,$64,$84,$09 .db $F3,$03,$7F,$80,$00,$FF,$27,$00 .db $00,$82,$44,$01,$02,$09,$06,$01 .db $0E,$01,$1A,$01,$FE,$01,$00,$FF .db $27,$00,$E0,$47,$03,$10,$03,$30 .db $17,$B0,$07,$91,$12,$F0,$22,$B2 .db $5D,$1D,$2A,$B8,$1E,$3C,$AC,$9C .db $EF,$DD,$A2,$D7,$F8,$2F,$D0,$52 .db $A8,$AB,$56,$07,$FA,$07,$D4,$07 .db $D2,$07,$D4,$07,$D7,$2E,$57,$F9 .db $AD,$AB,$7D,$7B,$0B,$2F,$10,$5F .db $00,$77,$00,$FF,$00,$7F,$00,$3F .db $90,$FF,$13,$F0,$1B,$30,$0F,$3F .db $B0,$CF,$00,$0F,$83,$00,$24,$00 .db $1E,$43,$FF,$00,$0E,$FC,$03,$F7 .db $60,$8F,$C0,$18,$7C,$FE,$1E,$E0 .db $F3,$08,$70,$E7,$FF,$22,$00,$02 .db $01,$01,$02,$43,$03,$04,$43,$01 .db $06,$01,$03,$3C,$27,$00,$0F,$3A .db $45,$1E,$A1,$9E,$61,$DC,$22,$DE .db $21,$C6,$39,$D2,$25,$90,$62,$25 .db $00,$01,$18,$1C,$26,$00,$08,$D0 .db $50,$A8,$28,$54,$78,$86,$3C,$42 .db $28,$00,$00,$FF,$44,$00,$7E,$02 .db $3C,$00,$18,$25,$00,$22,$3C,$00 .db $18,$23,$00,$07,$07,$08,$00,$07 .db $07,$09,$0F,$10,$43,$0D,$12,$03 .db $1C,$33,$03,$3F,$26,$00,$08,$03 .db $E0,$10,$00,$E0,$E0,$90,$F0,$08 .db $43,$B0,$48,$03,$38,$CC,$C0,$FC .db $26,$00,$08,$C0,$03,$04,$07,$08 .db $01,$0E,$0E,$11,$43,$1D,$22,$43 .db $1F,$20,$27,$00,$0F,$C0,$20,$E0 .db $10,$C0,$20,$00,$E0,$E0,$F0,$F0 .db $98,$F0,$08,$B8,$4C,$28,$00,$09 .db $07,$03,$0F,$0D,$3F,$3F,$7F,$7E .db $FF,$38,$43,$FF,$00,$13,$7F,$00 .db $03,$0D,$3F,$7F,$7E,$7D,$23,$00 .db $E0,$C0,$F0,$B0,$FC,$FC,$FE,$7E .db $FF,$1C,$43,$FF,$00,$0C,$FE,$00 .db $C0,$B0,$FC,$FE,$7E,$BE,$C4,$00 .db $3C,$1C,$7E,$43,$7E,$FF,$1F,$4D .db $FE,$05,$7E,$22,$5F,$01,$27,$00 .db $1C,$7E,$7E,$7C,$0C,$06,$03,$00 .db $30,$30,$48,$78,$85,$79,$86,$7B .db $84,$F3,$0C,$ED,$12,$1D,$E2,$25 .db $00,$11,$0C,$1C,$01,$02,$00,$01 .db $00,$07,$07,$08,$0C,$10,$06,$19 .db $0F,$20,$01,$7E,$22,$00,$04,$03 .db $03,$00,$10,$00,$43,$F0,$08,$07 .db $38,$C4,$18,$24,$E8,$F4,$F0,$18 .db $43,$F8,$0C,$22,$00,$00,$C0,$28 .db $00,$06,$01,$01,$06,$05,$0A,$03 .db $04,$83,$00,$04,$2E,$00,$02,$80 .db $00,$A0,$43,$A0,$50,$01,$E0,$10 .db $27,$00,$E0,$2E,$3C,$7F,$7F,$FF .db $7E,$FF,$7C,$FF,$01,$7F,$03,$3F .db $08,$17,$00,$0F,$3C,$7F,$7F,$7E .db $3D,$03,$03,$00,$32,$C3,$C6,$E7 .db $6E,$FF,$24,$FE,$80,$FC,$80,$F8 .db $00,$F0,$00,$C0,$3C,$D8,$E0,$70 .db $B0,$F0,$C0,$27,$00,$02,$06,$02 .db $05,$85,$01,$56,$28,$00,$0E,$1B .db $12,$AD,$B6,$49,$FC,$02,$F8,$04 .db $FC,$02,$F0,$0C,$00,$F0,$27,$00 .db $00,$1D,$44,$7F,$3F,$02,$3C,$7F .db $10,$85,$01,$89,$01,$0B,$1D,$22 .db $3F,$04,$3C,$13,$03,$00,$B8,$44 .db $FE,$FC,$0A,$3C,$FE,$08,$FE,$C0 .db $FC,$10,$E8,$00,$D0,$B8,$22,$FC .db $1B,$3C,$C8,$C0,$00,$00,$3F,$1F .db $7F,$39,$FF,$79,$FF,$70,$FF,$20 .db $FF,$08,$77,$00,$3F,$00,$1F,$39 .db $79,$7F,$70,$23,$00,$83,$00,$84 .db $17,$B8,$FE,$FC,$FF,$3E,$FF,$0C .db $FF,$10,$EE,$00,$FC,$00,$C0,$B8 .db $FC,$FE,$2E,$C4,$00,$08,$37,$00 .db $1F,$43,$00,$0F,$13,$04,$1B,$08 .db $1F,$07,$0F,$00,$07,$03,$07,$04 .db $03,$00,$08,$07,$00,$10,$EC,$00 .db $F8,$43,$00,$F0,$0F,$20,$D8,$10 .db $F8,$E0,$F0,$00,$E0,$C0,$E0,$20 .db $C0,$00,$10,$E0,$00,$46,$01,$03 .db $08,$0B,$0B,$17,$02,$1F,$08,$1F .db $00,$0F,$23,$01,$0A,$03,$03,$0F .db $00,$C8,$E3,$C0,$F2,$C4,$F6,$88 .db $43,$FC,$00,$E0,$32,$F8,$00,$80 .db $00,$00,$DC,$EC,$E8,$E0,$C0,$80 .db $00,$00,$3E,$7F,$2D,$FF,$7F,$FF .db $40,$FF,$00,$FF,$1E,$FF,$40,$BF .db $00,$5F,$3E,$2D,$7F,$7F,$40,$1E .db $1E,$00,$00,$FC,$E0,$FE,$F8,$FE .db $FC,$FE,$70,$FE,$00,$FE,$80,$7C .db $43,$00,$E0,$03,$F8,$FC,$FC,$78 .db $28,$00,$08,$3C,$3C,$42,$7C,$82 .db $7E,$81,$7C,$83,$23,$00,$03,$20 .db $6C,$0C,$30,$28,$00,$06,$1C,$1C .db $22,$3E,$C1,$7E,$81,$25,$00,$01 .db $2C,$6C,$22,$00,$14,$71,$31,$5A .db $19,$7F,$0F,$3F,$0F,$1F,$1F,$3F .db $20,$5F,$00,$00,$10,$3B,$1F,$0F .db $1F,$1E,$22,$00,$49,$80,$00,$02 .db $C0,$C0,$30,$26,$00,$08,$C0,$00 .db $03,$03,$05,$00,$03,$00,$01,$28 .db $00,$01,$01,$01,$25,$00,$E0,$45 .db $FC,$FC,$FA,$70,$FC,$00,$F0,$60 .db $90,$00,$F8,$30,$F8,$38,$FC,$00 .db $F8,$F0,$00,$60,$00,$70,$78,$00 .db $C0,$40,$A1,$61,$9F,$3A,$7D,$1D .db $3E,$05,$1E,$06,$0F,$02,$07,$00 .db $00,$01,$3A,$1D,$0D,$06,$02,$0F .db $FB,$7F,$FC,$FF,$FE,$FF,$FF,$0F .db $FF,$03,$FF,$10,$2F,$0C,$13,$1B .db $7C,$FE,$FF,$7F,$0F,$03,$44,$01 .db $00,$26,$00,$04,$01,$00,$03,$03 .db $07,$26,$00,$18,$03,$9F,$7F,$9F .db $78,$3F,$FC,$7F,$FF,$3F,$FF,$83 .db $7F,$C0,$3F,$0C,$F3,$3F,$38,$3C .db $7F,$3F,$9F,$C3,$01,$26,$00,$08 .db $03,$02,$05,$07,$08,$0F,$10,$0E .db $11,$30,$00,$06,$98,$10,$E8,$60 .db $90,$B0,$48,$25,$00,$01,$60,$B0 .db $26,$00,$02,$01,$01,$03,$43,$02 .db $07,$01,$06,$0F,$23,$00,$03,$01 .db $03,$03,$06,$26,$00,$00,$01,$43 .db $01,$83,$03,$00,$83,$83,$4C,$23 .db $00,$03,$01,$01,$00,$80,$22,$00 .db $04,$1E,$0E,$13,$01,$0F,$83,$03 .db $34,$25,$00,$02,$02,$03,$01,$27 .db $00,$0A,$F8,$F0,$FD,$61,$FF,$01 .db $FB,$60,$93,$13,$FC,$22,$00,$04 .db $F8,$F1,$01,$60,$10,$2E,$00,$00 .db $18,$3F,$00,$03,$01,$7E,$00,$01 .db $26,$00,$44,$01,$00,$00,$01,$26 .db $00,$0B,$B0,$7C,$7C,$FF,$3F,$FF .db $1F,$FF,$4F,$BC,$9F,$78,$83,$03 .db $A8,$07,$B0,$7C,$7F,$3F,$1C,$38 .db $3F,$38,$2A,$00,$44,$01,$00,$27 .db $00,$01,$3C,$FF,$45,$1F,$7F,$87 .db $04,$A0,$00,$7C,$22,$3F,$83,$04 .db $AC,$03,$02,$07,$00,$02,$2B,$00 .db $00,$02,$27,$00,$02,$0F,$00,$01 .db $2B,$00,$00,$01,$26,$00,$09,$07 .db $0F,$0C,$1F,$18,$3F,$10,$2C,$00 .db $30,$25,$00,$02,$07,$0F,$1C,$24 .db $00,$05,$80,$FF,$00,$E3,$00,$01 .db $29,$00,$01,$E1,$01,$25,$00,$E0 .db $39,$1D,$22,$21,$7E,$06,$7F,$36 .db $7F,$7C,$FF,$38,$FF,$01,$FE,$01 .db $7E,$01,$21,$06,$36,$7E,$7C,$38 .db $04,$50,$A6,$32,$C5,$E0,$02,$04 .db $8E,$88,$56,$84,$4E,$DA,$3D,$D8 .db $3E,$18,$38,$FC,$70,$20,$30,$00 .db $00,$0D,$1E,$08,$1E,$10,$2D,$30 .db $48,$00,$70,$25,$00,$02,$0D,$0D .db $08,$24,$00,$17,$4F,$F0,$5C,$E3 .db $3B,$C4,$33,$CC,$34,$4A,$69,$95 .db $6A,$93,$69,$92,$40,$40,$83,$03 .db $01,$0A,$0C,$0C,$37,$00,$07,$0F .db $70,$1C,$23,$3B,$44,$33,$4C,$87 .db $05,$90,$02,$20,$00,$03,$84,$05 .db $9B,$15,$08,$14,$08,$1F,$0A,$7D .db $78,$BD,$0A,$7F,$00,$1F,$08,$15 .db $00,$19,$00,$08,$1A,$3A,$18,$08 .db $22,$00,$01,$3C,$3C,$22,$FF,$05 .db $9F,$FF,$0F,$FC,$0F,$F8,$83,$03 .db $A8,$07,$00,$3C,$FF,$FF,$FC,$18 .db $3F,$38,$22,$00,$06,$01,$01,$02 .db $01,$15,$00,$0F,$43,$01,$06,$02 .db $03,$1C,$00,$62,$00,$24,$00,$13 .db $1C,$1C,$A2,$1E,$61,$05,$FA,$D2 .db $25,$D0,$23,$D2,$23,$92,$63,$00 .db $14,$86,$00,$18,$22,$1C,$83,$02 .db $D6,$43,$7E,$81,$0E,$FE,$01,$FC .db $02,$78,$84,$00,$78,$00,$04,$36 .db $30,$00,$CC,$48,$2B,$00,$04,$0D .db $0D,$12,$0F,$10,$27,$00,$13,$7D .db $82,$31,$4E,$02,$31,$01,$5C,$1C .db $23,$1D,$22,$3F,$20,$0C,$33,$30 .db $30,$0E,$03,$23,$00,$13,$BE,$41 .db $8C,$72,$60,$8C,$80,$3A,$38,$C4 .db $B8,$44,$FC,$04,$30,$CC,$00,$04 .db $70,$C0,$23,$00,$07,$7D,$82,$30 .db $4F,$06,$39,$0F,$50,$43,$1F,$20 .db $05,$3D,$22,$1F,$20,$30,$30,$25 .db $00,$85,$06,$78,$05,$00,$E8,$60 .db $98,$B0,$4E,$86,$06,$84,$00,$10 .db $26,$00,$06,$3C,$3C,$43,$73,$8C .db $67,$98,$43,$57,$B8,$09,$34,$7B .db $00,$00,$2C,$63,$23,$16,$14,$34 .db $22,$00,$06,$3C,$3C,$C2,$CE,$31 .db $E6,$19,$43,$EA,$1D,$14,$2C,$DE .db $00,$00,$20,$CC,$E0,$68,$28,$2C .db $00,$0E,$0E,$7F,$77,$8F,$7B,$87 .db $1B,$67,$6B,$44,$17,$0B,$04,$00 .db $0E,$37,$7B,$1B,$22,$0B,$22,$00 .db $0A,$80,$80,$C0,$80,$FC,$DC,$E2 .db $86,$F9,$58,$A7,$83,$02,$F6,$19 .db $80,$80,$DC,$86,$00,$00,$3D,$42 .db $19,$26,$04,$59,$0A,$55,$1C,$23 .db $0E,$31,$0F,$30,$18,$27,$30,$00 .db $06,$02,$23,$00,$14,$BE,$41,$BC .db $42,$18,$E4,$20,$9D,$40,$3E,$38 .db $C4,$7C,$84,$F0,$0C,$00,$04,$00 .db $60,$C0,$25,$00,$0C,$38,$38,$44 .db $78,$84,$78,$97,$76,$89,$0C,$73 .db $08,$17,$23,$00,$03,$10,$00,$00 .db $03,$2E,$00,$00,$80,$27,$00,$05 .db $1C,$3F,$3F,$7F,$0F,$FF,$83,$06 .db $F4,$0C,$0B,$77,$38,$47,$00,$3B .db $1C,$3F,$0F,$37,$7B,$0B,$3B,$84 .db $01,$97,$04,$EE,$FF,$E4,$FE,$C0 .db $89,$01,$A1,$22,$F0,$00,$C0,$29 .db $00,$02,$3C,$3C,$42,$43,$7E,$81 .db $24,$00,$06,$20,$6C,$0C,$00,$78 .db $78,$84,$47,$FC,$02,$84,$06,$3C .db $07,$30,$34,$04,$C0,$D8,$18,$00 .db $13,$84,$01,$E3,$12,$3B,$7C,$17 .db $78,$00,$3F,$03,$1C,$00,$0F,$13 .db $3F,$3C,$3B,$33,$10,$0B,$00,$C8 .db $84,$01,$FB,$E0,$2E,$DC,$3E,$EC .db $1E,$00,$FC,$C0,$38,$00,$F0,$C8 .db $FC,$3C,$DC,$EC,$08,$D0,$00,$0E .db $71,$30,$7F,$3B,$7C,$1B,$7C,$1A .db $7D,$0A,$3D,$01,$1E,$00,$0F,$00 .db $30,$3A,$3B,$3A,$1A,$0D,$00,$C8 .db $FE,$7C,$FE,$BC,$44,$7E,$B8,$07 .db $B0,$7C,$80,$78,$00,$F0,$C8,$7C .db $22,$BC,$E0,$32,$B8,$B0,$00,$34 .db $7B,$35,$7A,$15,$7B,$14,$3B,$04 .db $3B,$03,$1C,$03,$0C,$00,$07,$34 .db $35,$34,$14,$14,$0A,$03,$00,$2C .db $DE,$2C,$5E,$A8,$DE,$28,$DC,$20 .db $DC,$C0,$38,$C0,$30,$00,$E0,$2C .db $AC,$2C,$28,$28,$50,$C0,$00,$47 .db $0B,$17,$07,$2B,$17,$1B,$67,$30 .db $4F,$00,$3B,$24,$0B,$E0,$22,$1B .db $33,$00,$7C,$82,$BA,$C5,$C2,$FD .db $FA,$FD,$F2,$FD,$C4,$FB,$08,$F4 .db $00,$F8,$00,$82,$C2,$FA,$FA,$F4 .db $C8,$00,$07,$7F,$3F,$7F,$38,$7F .db $37,$78,$83,$07,$E8,$0E,$07,$18 .db $00,$0F,$07,$3F,$38,$33,$37,$10 .db $07,$00,$08,$FE,$FC,$84,$08,$29 .db $03,$DC,$3E,$10,$FC,$83,$08,$34 .db $0B,$08,$FC,$7C,$BC,$DC,$18,$B0 .db $00,$00,$1B,$00,$01,$2B,$00,$00 .db $01,$27,$00,$16,$FC,$2C,$DF,$5F .db $BF,$3F,$FF,$1D,$7F,$18,$7F,$65 .db $FA,$57,$E8,$80,$8C,$1F,$3F,$3F .db $3A,$72,$48,$84,$00,$60,$12,$08 .db $0D,$12,$1F,$20,$10,$2F,$0F,$3F .db $3F,$7F,$00,$00,$07,$0D,$1F,$10 .db $0F,$3F,$84,$00,$78,$E0,$22,$10 .db $B0,$48,$F8,$04,$08,$F4,$F0,$FC .db $F8,$FE,$00,$00,$E0,$B0,$F8,$08 .db $F0,$FC,$00,$1F,$0E,$31,$1F,$20 .db $1F,$28,$0A,$15,$00,$1F,$07,$0A .db $00,$0F,$22,$00,$03,$08,$04,$00 .db $02,$23,$00,$46,$80,$00,$22,$00 .db $02,$80,$00,$80,$2E,$00,$08,$1D .db $1D,$22,$00,$3F,$3D,$42,$07,$78 .db $25,$00,$01,$3D,$07,$26,$00,$08 .db $B8,$B8,$44,$00,$FC,$BC,$42,$E0 .db $1E,$25,$00,$09,$BC,$E0,$7C,$83 .db $03,$FC,$0F,$10,$0D,$32,$88,$09 .db $08,$01,$03,$0F,$84,$09,$13,$03 .db $3E,$C1,$C0,$3F,$83,$00,$7E,$85 .db $09,$20,$04,$FC,$FE,$00,$C0,$F0 .db $84,$09,$2B,$26,$00,$08,$30,$10 .db $28,$38,$44,$3C,$53,$79,$8E,$25 .db $00,$19,$10,$0C,$FE,$7F,$FD,$BF .db $FB,$DF,$F7,$EF,$EF,$F7,$DF,$FB .db $BF,$FD,$7F,$FE,$FE,$FD,$FB,$F7 .db $EF,$DF,$BF,$7F,$26,$00,$08,$60 .db $60,$9F,$39,$46,$64,$9B,$1D,$62 .db $25,$00,$01,$04,$1D,$26,$00,$08 .db $06,$06,$F9,$9C,$62,$26,$D9,$B8 .db $46,$25,$00,$05,$20,$B8,$00,$7F .db $1F,$80,$4B,$67,$E0,$01,$00,$78 .db $25,$1E,$01,$00,$FF,$4C,$FF,$00 .db $22,$00,$25,$3F,$03,$00,$FF,$FE .db $00,$4B,$E1,$01,$01,$00,$1F,$25 .db $FE,$03,$00,$FE,$82,$03,$4B,$7C .db $7F,$01,$00,$FC,$25,$80,$43,$7F .db $FF,$1E,$3A,$7F,$18,$3F,$1E,$3F .db $0D,$1F,$02,$0F,$00,$03,$7F,$7F .db $3F,$18,$1F,$0F,$03,$00,$E8,$FF .db $50,$FF,$A0,$FE,$10,$FC,$A0,$FC .db $40,$84,$01,$A3,$07,$FE,$FE,$FC .db $18,$F8,$F0,$C0,$00,$44,$00,$03 .db $44,$01,$00,$46,$01,$03,$00,$01 .db $22,$00,$22,$01,$44,$00,$80,$E0 .db $5C,$FC,$6C,$9F,$1F,$FF,$FD,$FF .db $F8,$FF,$D5,$FA,$00,$00,$80,$8C .db $1F,$FF,$FA,$F2,$78,$FF,$7E,$FF .db $7D,$FF,$02,$FF,$78,$FF,$15,$7F .db $0A,$3F,$00,$0F,$78,$7F,$7F,$07 .db $78,$3F,$0F,$00,$14,$FF,$A8,$FF .db $40,$FF,$80,$FF,$10,$FF,$40,$FE .db $80,$FC,$00,$F0,$1E,$FE,$FE,$E0 .db $1E,$FC,$F0,$00,$39,$7F,$76,$FB .db $74,$FF,$70,$FF,$38,$7F,$0C,$3F .db $03,$0F,$00,$03,$39,$72,$77,$76 .db $3B,$0C,$03,$00,$9C,$FE,$45,$0E .db $FF,$0F,$1C,$FE,$30,$FC,$C0,$F0 .db $00,$C0,$9C,$6E,$EE,$6E,$DC,$30 .db $C0,$00,$97,$09,$D8,$98,$09,$D8 .db $15,$3F,$3F,$7F,$78,$FF,$67,$F9 .db $48,$FF,$20,$7F,$18,$3F,$00,$1F .db $00,$3F,$78,$61,$5C,$27,$18,$83 .db $03,$47,$09,$FE,$1E,$FF,$06,$FF .db $02,$FF,$04,$FE,$18,$83,$02,$91 .db $06,$FC,$1E,$E6,$3A,$E4,$18,$00 .db $49,$67,$E0,$05,$19,$F8,$00,$7F .db $00,$3F,$24,$1E,$01,$07,$00,$4A .db $00,$FF,$01,$C0,$00,$43,$00,$FF .db $24,$3F,$02,$FF,$00,$00,$49,$E1 .db $01,$01,$1E,$1F,$43,$00,$FF,$24 .db $FE,$02,$E0,$00,$00,$49,$7C,$7F .db $00,$80,$83,$00,$E5,$00,$FC,$24 .db $80,$22,$00,$FF,$27,$00,$07,$48 .db $48,$50,$50,$6C,$6C,$70,$70,$28 .db $00,$E0,$2E,$07,$00,$1C,$0E,$30 .db $36,$29,$0D,$63,$60,$FF,$38,$FF .db $61,$FE,$00,$03,$01,$11,$73,$FF .db $BC,$FA,$E0,$E0,$F8,$18,$44,$04 .db $02,$E2,$E2,$D2,$62,$FA,$25,$FD .db $EB,$3F,$00,$A0,$F8,$FC,$DC,$FC .db $78,$30,$27,$00,$00,$40,$43,$00 .db $E0,$02,$E0,$3E,$38,$26,$00,$0C .db $C0,$02,$7F,$04,$3F,$00,$0F,$00 .db $02,$01,$0C,$0C,$1F,$43,$1E,$3F .db $0B,$73,$37,$0F,$00,$0C,$1E,$3E .db $3E,$C7,$7A,$1F,$F2,$43,$1F,$E3 .db $01,$6F,$F3,$43,$77,$F9,$E0,$27 .db $37,$F8,$70,$C0,$20,$E0,$F0,$F8 .db $78,$78,$8E,$0C,$E6,$06,$F6,$86 .db $7B,$0B,$3B,$33,$B3,$82,$83,$83 .db $EE,$E6,$70,$78,$48,$C4,$CC,$7C .db $7C,$10,$06,$3F,$00,$1F,$00,$0F .db $29,$00,$02,$3E,$1F,$0F,$24,$00 .db $43,$07,$F8,$07,$5B,$3C,$21,$1E .db $DC,$3F,$47,$3E,$83,$00,$AC,$15 .db $38,$28,$3C,$1A,$3F,$3E,$0F,$00 .db $FF,$E6,$FF,$7C,$FC,$1C,$FE,$01 .db $7E,$81,$00,$FE,$00,$E8,$24,$00 .db $04,$01,$81,$FE,$E8,$00,$43,$07 .db $F8,$10,$6B,$1C,$2D,$1E,$00,$0F .db $0E,$1F,$3F,$1F,$60,$1F,$38,$28 .db $1C,$1E,$0D,$22,$1F,$86,$00,$D8 .db $08,$00,$7E,$80,$00,$FC,$C8,$B6 .db $00,$FE,$23,$00,$03,$80,$FC,$B6 .db $FE,$43,$07,$F8,$10,$6B,$1C,$35 .db $0E,$08,$07,$06,$0F,$1F,$0F,$30 .db $0F,$38,$28,$1C,$0E,$06,$22,$0F .db $8A,$01,$08,$04,$F8,$C0,$B8,$00 .db $F8,$23,$00,$03,$80,$F8,$B8,$F8 .db $27,$00,$07,$A0,$A0,$A8,$A8,$D0 .db $D0,$E0,$E0,$27,$00,$0F,$03,$33 .db $06,$1D,$19,$06,$36,$29,$11,$2E .db $2E,$7F,$35,$7F,$3F,$7F,$43,$00 .db $02,$1B,$2F,$7F,$75,$7F,$00,$E0 .db $38,$B8,$CC,$0C,$E6,$3E,$DA,$7E .db $25,$FE,$C1,$FF,$18,$E6,$00,$40 .db $30,$18,$3C,$FE,$E6,$C5,$27,$00 .db $07,$80,$00,$C0,$00,$E0,$E0,$1C .db $18,$26,$00,$08,$E0,$00,$3F,$20 .db $1F,$07,$0F,$00,$1F,$43,$18,$3F .db $E0,$65,$00,$3F,$00,$1E,$3F,$00 .db $0F,$17,$38,$3E,$3E,$1E,$28,$F7 .db $F1,$BF,$C0,$FF,$04,$FF,$38,$CF .db $FB,$07,$F3,$07,$0C,$03,$31,$BB .db $F7,$CC,$0C,$07,$0F,$F3,$3C,$C4 .db $DA,$E2,$CA,$E2,$1F,$F2,$1D,$E9 .db $C9,$F9,$0D,$F4,$1D,$E5,$E0,$E4 .db $FC,$0C,$06,$F6,$F2,$E2,$FF,$01 .db $79,$00,$07,$80,$3F,$C0,$0F,$70 .db $00,$1F,$5C,$3F,$E0,$1F,$01,$06 .db $F8,$C0,$70,$1E,$3F,$1F,$8E,$F2 .db $66,$FA,$72,$FC,$33,$FC,$A3,$FC .db $30,$FE,$78,$CF,$7C,$87,$F0,$F8 .db $22,$FC,$04,$7E,$4F,$07,$00,$00 .db $24,$01,$08,$11,$03,$0F,$1C,$1E .db $3E,$31,$0C,$32,$24,$00,$06,$01 .db $00,$31,$80,$80,$40,$40,$22,$80 .db $08,$88,$C0,$F0,$B8,$78,$7C,$8C .db $B0,$4C,$24,$00,$E0,$38,$80,$00 .db $8C,$00,$00,$04,$00,$44,$2E,$24 .db $7E,$1C,$3E,$0E,$7F,$FD,$7E,$0A .db $7D,$00,$00,$2E,$7E,$3E,$7E,$7D .db $7A,$30,$3B,$7B,$FF,$65,$FF,$78 .db $E7,$2A,$75,$20,$7F,$10,$FF,$8C .db $FF,$3F,$FF,$FD,$E7,$60,$62,$71 .db $DC,$05,$1B,$00,$07,$00,$03,$62 .db $00,$00,$01,$43,$03,$00,$06,$01 .db $00,$15,$03,$03,$01,$01,$22,$00 .db $E0,$23,$E3,$FF,$D0,$FF,$2C,$FF .db $5F,$F8,$3D,$F1,$3F,$F0,$3B,$E0 .db $3F,$E3,$EF,$F3,$FC,$F8,$F2,$F0 .db $EC,$60,$60,$19,$58,$3F,$1D,$7F .db $07,$3F,$03,$1F,$01,$0F,$83,$02 .db $8A,$E0,$2B,$19,$3F,$7F,$3F,$1F .db $0F,$07,$03,$3F,$F0,$FB,$70,$F7 .db $FB,$85,$FE,$00,$FF,$00,$E7,$00 .db $83,$00,$01,$F0,$74,$F8,$FE,$FF .db $E7,$83,$01,$00,$07,$03,$0D,$01 .db $0F,$0F,$1F,$3C,$0F,$78,$07,$23 .db $00,$13,$07,$0D,$0F,$1F,$0F,$07 .db $00,$00,$FF,$E0,$F3,$E0,$FF,$F3 .db $9F,$FC,$03,$FF,$00,$E7,$23,$00 .db $05,$E0,$EC,$F0,$FC,$FF,$E7,$22 .db $00,$06,$01,$00,$03,$01,$06,$01 .db $07,$83,$02,$EC,$07,$30,$0F,$78 .db $07,$01,$03,$06,$07,$83,$02,$FA .db $00,$7F,$84,$03,$01,$09,$CF,$FC .db $81,$FF,$C0,$F7,$00,$FB,$00,$F9 .db $84,$03,$10,$02,$F7,$FB,$F9,$29 .db $00,$00,$01,$62,$01,$01,$01,$06 .db $26,$00,$84,$02,$27,$0B,$02,$02 .db $03,$03,$1F,$7F,$06,$C6,$E3,$03 .db $61,$81,$24,$00,$12,$38,$1C,$1E .db $00,$00,$80,$80,$00,$00,$C0,$C0 .db $20,$20,$C0,$C0,$20,$20,$80,$80 .db $27,$00,$09,$06,$0F,$07,$1F,$0F .db $1F,$06,$1F,$00,$0F,$25,$00,$04 .db $0F,$17,$1F,$1F,$0E,$22,$00,$12 .db $C2,$3E,$39,$F7,$FC,$FB,$1C,$FF .db $EC,$1F,$4C,$1F,$18,$3F,$31,$7F .db $3D,$F6,$FB,$22,$1F,$01,$3E,$78 .db $25,$C0,$22,$80,$02,$C0,$60,$80 .db $83,$00,$54,$26,$00,$00,$C0,$27 .db $00,$03,$01,$00,$00,$0F,$43,$0E .db $1F,$24,$00,$0C,$0E,$1E,$1E,$07 .db $3A,$2F,$72,$5F,$E3,$1E,$E2,$6F .db $F3,$43,$67,$F9,$0B,$07,$F8,$08 .db $70,$E0,$E1,$F0,$F8,$78,$38,$00 .db $7D,$22,$00,$83,$03,$19,$02,$00 .db $00,$0F,$43,$0E,$1F,$03,$7C,$00 .db $01,$03,$83,$03,$EC,$04,$EF,$7A .db $7F,$F2,$DF,$84,$00,$7D,$43,$67 .db $F9,$02,$07,$F8,$70,$22,$E0,$83 .db $04,$04,$35,$00,$0A,$0C,$02,$0F .db $01,$11,$0E,$21,$1E,$22,$1D,$1D .db $86,$00,$21,$22,$00,$1C,$01,$63 .db $FF,$BC,$FC,$E0,$E0,$D8,$18,$14 .db $E4,$EA,$F2,$26,$FA,$22,$FA,$C5 .db $3D,$CF,$3F,$00,$20,$F8,$FC,$FC .db $3C,$38,$30,$35,$00,$01,$18,$20 .db $35,$00,$09,$C0,$20,$33,$03,$4D .db $34,$46,$39,$26,$19,$8A,$01,$70 .db $1C,$00,$2E,$7F,$75,$7F,$F0,$10 .db $18,$E0,$14,$EC,$2A,$DE,$D6,$3E .db $24,$FE,$DD,$E7,$DA,$E6,$00,$00 .db $08,$1C,$3C,$FE,$E6,$E5,$27,$00 .db $0A,$3F,$03,$62,$1C,$21,$1E,$11 .db $2E,$00,$0C,$12,$83,$02,$3B,$18 .db $20,$0E,$71,$73,$FF,$5D,$FF,$4F .db $F3,$2C,$73,$28,$77,$10,$BF,$9C .db $FF,$71,$FF,$DD,$E3,$60,$62,$31 .db $DC,$29,$00,$05,$01,$00,$02,$05 .db $05,$0E,$25,$00,$01,$04,$0E,$27 .db $00,$0F,$F0,$00,$0E,$F6,$0D,$F1 .db $16,$E0,$00,$00,$10,$08,$08,$00 .db $02,$0D,$2D,$00,$01,$80,$80,$27 .db $00,$43,$09,$1F,$00,$06,$43,$1F .db $00,$01,$0F,$01,$83,$02,$8B,$E0 .db $20,$00,$19,$19,$1F,$0F,$00,$07 .db $03,$00,$E1,$1C,$3D,$F6,$06,$FB .db $06,$FF,$FC,$8F,$F8,$8F,$21,$DF .db $03,$FF,$1F,$F7,$FB,$0F,$8F,$8F .db $DE,$FC,$89,$04,$50,$00,$62,$84 .db $00,$23,$22,$00,$04,$01,$63,$FF .db $BF,$FE,$87,$04,$68,$06,$B6,$FA .db $12,$FA,$55,$BD,$D7,$85,$04,$77 .db $02,$BC,$38,$38,$25,$00,$02,$01 .db $00,$07,$44,$00,$0F,$00,$1F,$28 .db $00,$06,$08,$00,$18,$00,$39,$00 .db $FB,$46,$00,$FF,$00,$FE,$26,$00 .db $19,$08,$30,$00,$03,$01,$0C,$0C .db $10,$04,$7B,$71,$FF,$3E,$FF,$38 .db $FF,$00,$FF,$0C,$12,$23,$73,$FF .db $BE,$FF,$FE,$43,$FF,$00,$16,$7F .db $00,$0F,$C0,$C7,$A0,$66,$D0,$45 .db $F1,$4F,$F7,$C4,$18,$80,$F0,$B8 .db $D8,$78,$70,$C0,$00,$80,$22,$00 .db $02,$80,$00,$40,$43,$00,$E0,$02 .db $E0,$3E,$38,$26,$00,$05,$C0,$01 .db $7F,$6F,$1F,$20,$83,$05,$5F,$02 .db $00,$00,$0F,$43,$0E,$1F,$00,$01 .db $83,$03,$A2,$0A,$0E,$1E,$1E,$8F .db $F2,$1F,$E2,$1F,$E3,$0E,$F2,$45 .db $67,$F9,$09,$07,$F8,$E0,$C0,$80 .db $71,$F8,$F8,$78,$38,$23,$00,$00 .db $16,$44,$00,$3F,$44,$7F,$00,$26 .db $00,$01,$02,$04,$23,$00,$02,$07 .db $00,$7F,$47,$00,$FF,$27,$00,$07 .db $01,$40,$00,$C0,$00,$D0,$00,$B0 .db $46,$00,$F0,$00,$E0,$26,$00,$09 .db $40,$80,$6F,$10,$70,$0D,$3D,$12 .db $2A,$25,$85,$01,$70,$1F,$30,$7F .db $04,$02,$00,$12,$3F,$7F,$75,$7F .db $BF,$40,$7F,$80,$87,$00,$C3,$38 .db $BB,$76,$65,$FA,$E5,$FF,$C4,$FE .db $06,$01,$78,$7C,$F4,$EA,$62,$F6 .db $84,$06,$9B,$83,$06,$D8,$83,$01 .db $A2,$03,$18,$18,$40,$80,$24,$00 .db $0B,$E0,$10,$3F,$0F,$11,$07,$0B .db $08,$1F,$1C,$3F,$18,$43,$3F,$00 .db $12,$1E,$30,$01,$03,$1B,$3C,$3E .db $3E,$1E,$0A,$FF,$10,$FF,$C0,$FF .db $00,$FF,$18,$EF,$85,$01,$D2,$0A .db $CD,$3D,$F9,$E6,$0E,$07,$0F,$F3 .db $02,$00,$0B,$44,$00,$0F,$06,$07 .db $00,$17,$00,$1B,$00,$0F,$23,$00 .db $07,$01,$00,$02,$01,$00,$78,$00 .db $FE,$44,$00,$FF,$07,$F7,$09,$F8 .db $06,$E6,$01,$CD,$32,$23,$00,$03 .db $C0,$01,$98,$39,$83,$02,$C3,$02 .db $45,$2E,$25,$90,$02,$5F,$09,$B4 .db $5B,$49,$BF,$43,$FF,$43,$FC,$41 .db $FE,$85,$02,$7A,$07,$5F,$BD,$C7 .db $C0,$C0,$64,$73,$9C,$29,$00,$05 .db $01,$01,$00,$0F,$0A,$1F,$25,$00 .db $11,$0E,$1B,$00,$00,$1F,$00,$3F .db $00,$6F,$00,$1F,$60,$3F,$C1,$FF .db $00,$47,$B8,$24,$00,$11,$30,$30 .db $38,$01,$00,$9E,$00,$FE,$00,$FC .db $00,$F9,$30,$FE,$C0,$FE,$00,$FC .db $28,$00,$84,$03,$94,$03,$1F,$10 .db $0F,$18,$26,$00,$22,$1F,$00,$0F .db $23,$00,$05,$FB,$FC,$1D,$FE,$0D .db $FE,$43,$08,$1F,$83,$03,$B4,$0A .db $63,$FF,$FC,$FE,$FE,$1F,$1F,$3F .db $7C,$F8,$F9,$84,$07,$BB,$03,$F8 .db $80,$C0,$80,$85,$00,$52,$26,$00 .db $00,$C0,$43,$FF,$00,$84,$06,$04 .db $06,$E0,$66,$F0,$25,$71,$2F,$77 .db $83,$06,$10,$06,$F8,$F8,$78,$70 .db $00,$7C,$10,$88,$04,$0B,$43,$0E .db $1F,$89,$04,$18,$05,$6F,$F0,$DF .db $E2,$0E,$F2,$45,$67,$F9,$84,$04 .db $2E,$E0,$39,$D1,$78,$F8,$78,$38 .db $04,$77,$33,$FC,$79,$FE,$3C,$FF .db $06,$7F,$02,$1F,$13,$0F,$1B,$07 .db $70,$B8,$FC,$FF,$7F,$1F,$0F,$07 .db $07,$87,$E8,$E8,$9F,$1F,$8A,$0A .db $0D,$8D,$1C,$9C,$1D,$DD,$33,$FF .db $00,$00,$60,$70,$F0,$E0,$E0,$C0 .db $FF,$00,$BD,$00,$DB,$44,$00,$E7 .db $02,$DB,$00,$BD,$43,$00,$FF,$06 .db $BD,$DB,$E7,$E7,$DB,$BD,$FF,$2B .db $00,$02,$7C,$00,$FF,$28,$00,$04 .db $7C,$00,$44,$38,$64,$44,$18,$3C .db $43,$24,$18,$00,$3C,$28,$00,$08 .db $FF,$00,$81,$7E,$9F,$60,$FE,$7C .db $FE,$44,$60,$90,$00,$F0,$3E,$00 .db $01,$C0,$20,$83,$02,$28,$0B,$03 .db $03,$06,$06,$0C,$0C,$1C,$04,$1E .db $06,$1F,$1F,$22,$00,$0B,$01,$03 .db $03,$01,$00,$7E,$7E,$FF,$FF,$81 .db $81,$3C,$44,$00,$FF,$0B,$3A,$00 .db $81,$81,$00,$00,$7E,$FF,$FD,$F8 .db $FD,$7E,$83,$03,$78,$0B,$C0,$C0 .db $60,$60,$30,$30,$3C,$30,$7C,$78 .db $F8,$F8,$22,$00,$03,$80,$C0,$C0 .db $80,$22,$00,$87,$09,$02,$05,$0D .db $0C,$1F,$1E,$1F,$1F,$22,$00,$03 .db $01,$03,$02,$00,$87,$09,$17,$44 .db $00,$FF,$03,$BC,$00,$C1,$C1,$83 .db $09,$28,$03,$FF,$7F,$7F,$3E,$87 .db $09,$30,$07,$70,$70,$F0,$30,$F8 .db $38,$F8,$F8,$22,$00,$01,$80,$80 .db $2E,$00,$02,$08,$00,$1C,$28,$00 .db $84,$08,$88,$44,$00,$E7,$02,$DB .db $00,$BD,$43,$00,$FF,$86,$08,$99 .db $84,$08,$88,$44,$00,$E7,$02,$DB .db $00,$BD,$43,$00,$FF,$86,$08,$99 .db $0B,$03,$07,$02,$07,$06,$0F,$0C .db $1F,$01,$1E,$00,$0F,$43,$0E,$1F .db $0B,$07,$07,$0F,$1E,$10,$0E,$1E .db $1E,$2F,$F2,$6F,$F2,$83,$06,$4C .db $45,$67,$F9,$03,$07,$F8,$C0,$80 .db $85,$06,$5A,$19,$04,$37,$13,$7C .db $7D,$FE,$3E,$FF,$87,$7E,$C3,$1F .db $83,$07,$03,$07,$30,$5C,$FC,$FF .db $7E,$1F,$07,$07,$3F,$C0,$83,$00 .db $A9,$12,$5F,$80,$2F,$C0,$8F,$60 .db $87,$E0,$80,$E0,$00,$C6,$E1,$E0 .db $F4,$73,$F8,$FE,$C0,$83,$07,$FB .db $88,$06,$D9,$05,$FE,$18,$00,$00 .db $80,$40,$23,$00,$1B,$07,$74,$34 .db $FB,$7C,$FB,$0E,$FD,$03,$7E,$09 .db $07,$1D,$03,$19,$03,$70,$B8,$F8 .db $FC,$7E,$07,$03,$03,$E0,$60,$50 .db $90,$43,$38,$C8,$0F,$F4,$04,$7C .db $84,$A5,$C5,$07,$C7,$00,$20,$10 .db $10,$28,$F0,$F8,$F8,$22,$1F,$01 .db $18,$1F,$44,$00,$3F,$05,$38,$07 .db $17,$0F,$00,$07,$24,$00,$02,$07 .db $0F,$07,$22,$FF,$0C,$3F,$FF,$0F .db $FF,$01,$FF,$00,$3F,$C0,$C7,$F8 .db $01,$FE,$24,$00,$0C,$C0,$F8,$FE .db $F8,$E8,$F8,$C0,$F8,$E8,$FC,$F8 .db $FC,$30,$83,$0A,$3A,$00,$E0,$28 .db $00,$22,$1F,$04,$0F,$3F,$07,$3F .db $03,$83,$00,$A9,$02,$07,$00,$01 .db $28,$00,$05,$FF,$DF,$FF,$8F,$FF .db $DF,$22,$FF,$00,$7F,$44,$FF,$00 .db $28,$00,$23,$F8,$05,$FC,$F8,$FC .db $F0,$FC,$C0,$83,$06,$D8,$00,$80 .db $28,$00,$84,$08,$88,$44,$00,$E7 .db $02,$DB,$00,$BD,$43,$00,$FF,$86 .db $08,$99,$00,$01,$44,$00,$03,$09 .db $0F,$08,$18,$18,$33,$30,$E7,$60 .db $E3,$20,$23,$00,$04,$07,$0F,$1F .db $1F,$00,$44,$00,$80,$09,$E0,$20 .db $18,$18,$CC,$0C,$E6,$06,$C7,$07 .db $23,$00,$14,$E0,$F0,$B8,$38,$F1 .db $30,$FF,$FE,$FF,$C1,$FF,$80,$FF .db $00,$C3,$3C,$BC,$7F,$00,$3F,$0E .db $23,$00,$0C,$3C,$7F,$3F,$EF,$0F .db $FF,$1F,$FF,$FF,$FE,$7E,$FF,$1E .db $83,$05,$DC,$02,$3C,$C0,$10,$25 .db $00,$01,$C0,$01,$44,$00,$03,$85 .db $0B,$2E,$03,$F7,$60,$FB,$60,$23 .db $00,$05,$07,$0F,$0F,$07,$03,$03 .db $43,$80,$00,$86,$0B,$46,$02,$02 .db $CF,$03,$23,$00,$0F,$E0,$F0,$F8 .db $F0,$FD,$E0,$FC,$E0,$7C,$3C,$FF .db $1F,$FF,$07,$7F,$00,$83,$00,$63 .db $22,$03,$24,$00,$09,$9F,$03,$1F .db $03,$3E,$3C,$FF,$F8,$FF,$E0,$83 .db $07,$B4,$04,$F0,$00,$E0,$E0,$C0 .db $3C,$00,$FF,$4F,$57,$CF,$27,$3F .db $43,$AB,$67,$43,$D5,$33,$01,$EA .db $19,$43,$F5,$0C,$09,$FA,$06,$9F .db $9F,$CF,$CF,$E7,$F3,$F3,$F9,$29 .db $FF,$43,$7F,$FF,$01,$BF,$7F,$27 .db $FF,$01,$F9,$07,$45,$FD,$03,$47 .db $FE,$01,$00,$F8,$22,$FC,$23,$FE .db $47,$5F,$3F,$47,$AF,$9F,$23,$FF .db $23,$7F,$23,$FF,$07,$7F,$FF,$9F .db $7F,$6F,$1F,$AF,$9F,$43,$57,$CF .db $24,$FF,$02,$7F,$3F,$3F,$49,$57 .db $CF,$45,$AB,$67,$24,$3F,$22,$9F .db $0B,$D5,$33,$D4,$33,$EB,$18,$F4 .db $0C,$FB,$07,$FC,$03,$43,$FF,$00 .db $83,$00,$2A,$01,$F8,$FC,$25,$FF .db $07,$1F,$FF,$E0,$1F,$1F,$00,$E0 .db $E0,$83,$00,$C4,$24,$FF,$02,$1F .db $00,$E0,$43,$AB,$E7,$43,$D5,$F3 .db $43,$EA,$F9,$43,$F5,$FC,$84,$00 .db $28,$03,$E7,$F3,$F3,$F2,$46,$FE .db $FA,$47,$FD,$FF,$00,$F1,$22,$F9 .db $23,$FC,$49,$57,$CF,$45,$AB,$E7 .db $24,$3F,$22,$9F,$0A,$D5,$F3,$D4 .db $F3,$EB,$F8,$F4,$FC,$FB,$FF,$FC .db $24,$FF,$85,$00,$B8,$25,$FF,$8A .db $00,$C4,$25,$FF,$04,$1F,$00,$E0 .db $7F,$FF,$43,$BF,$7F,$43,$5F,$3F .db $43,$AF,$9F,$01,$57,$CF,$24,$FF .db $02,$7F,$7F,$3F,$43,$7F,$00,$45 .db $BF,$80,$45,$5F,$C0,$01,$FF,$FF .db $22,$7F,$22,$3F,$4F,$5F,$C0,$27 .db $3F,$43,$2F,$E0,$43,$17,$F0,$43 .db $0B,$F8,$43,$05,$FC,$07,$1F,$1F .db $0F,$0F,$07,$07,$03,$03,$47,$02 .db $FE,$47,$01,$FF,$23,$01,$23,$00 .db $47,$FF,$00,$01,$7F,$00,$43,$BF .db $80,$01,$5F,$C0,$24,$FF,$02,$7F .db $7F,$3F,$47,$FF,$00,$47,$7F,$00 .db $27,$FF,$49,$5F,$C0,$45,$2F,$E0 .db $24,$3F,$22,$1F,$43,$17,$F0,$04 .db $0B,$F8,$04,$FC,$03,$46,$FF,$00 .db $03,$0F,$0F,$07,$03,$23,$00,$47 .db $FF,$00,$85,$00,$C8,$00,$00,$25 .db $FF,$0B,$1F,$00,$00,$F0,$00,$CF .db $0F,$B0,$3F,$40,$7F,$80,$46,$FF .db $00,$03,$FF,$F0,$C0,$80,$23,$00 .db $02,$F6,$07,$CC,$85,$02,$43,$46 .db $FF,$00,$03,$F8,$F0,$C0,$80,$23 .db $00,$06,$50,$C0,$4F,$CF,$70,$FF .db $40,$48,$FF,$00,$01,$3F,$30,$25 .db $00,$45,$AB,$E7,$09,$D4,$F3,$D3 .db $F0,$EC,$FC,$F3,$FF,$FC,$FF,$22 .db $9F,$04,$CF,$CF,$E3,$F0,$FC,$45 .db $AB,$67,$09,$D4,$33,$D3,$30,$EC .db $1C,$F3,$0F,$FC,$03,$22,$9F,$84 .db $02,$9B,$45,$2F,$E0,$04,$17,$F0 .db $13,$F0,$0C,$84,$00,$B2,$22,$1F .db $13,$0F,$0F,$03,$00,$00,$7D,$80 .db $80,$00,$82,$00,$86,$00,$A7,$00 .db $EF,$00,$FF,$00,$FA,$27,$FF,$01 .db $00,$A9,$22,$01,$0B,$23,$01,$33 .db $01,$76,$01,$FF,$01,$FE,$01,$40 .db $FF,$26,$FE,$13,$00,$00,$FF,$1F .db $FF,$1E,$1E,$78,$00,$E1,$1E,$F0 .db $0F,$38,$C7,$18,$E7,$00,$00,$E1 .db $24,$FF,$E0,$22,$57,$57,$FF,$FF .db $DD,$DD,$CD,$CD,$88,$89,$01,$01 .db $00,$01,$40,$FF,$A8,$00,$22,$32 .db $76,$FE,$FE,$00,$7D,$7F,$80,$FF .db $82,$FF,$86,$FF,$A7,$FF,$EF,$22 .db $FF,$02,$FA,$FF,$80,$26,$00,$08 .db $A8,$FF,$00,$FF,$22,$FF,$32,$FF .db $76,$22,$FF,$03,$FE,$FF,$40,$FF .db $28,$00,$0F,$FF,$F8,$00,$7C,$83 .db $E1,$1E,$87,$78,$0F,$F0,$1C,$E3 .db $18,$E7,$00,$26,$FF,$11,$00,$FF .db $AD,$05,$D6,$01,$B4,$0A,$2D,$50 .db $5A,$A0,$B6,$41,$4D,$A2,$00,$FA .db $25,$FF,$11,$00,$FF,$07,$07,$83 .db $00,$1E,$00,$78,$00,$F0,$00,$E3 .db $00,$E7,$00,$00,$F8,$25,$FF,$16 .db $00,$FF,$52,$57,$29,$28,$4B,$41 .db $D2,$82,$A5,$05,$49,$08,$A2,$00 .db $00,$A8,$D7,$BE,$7D,$FA,$F7,$83 .db $02,$65,$E0,$2C,$FF,$7C,$7C,$E1 .db $E1,$87,$87,$0F,$0F,$1C,$1C,$18 .db $18,$00,$00,$83,$1E,$78,$F0,$E3 .db $E7,$00,$FF,$A8,$FF,$56,$FE,$B4 .db $F5,$AD,$AF,$5A,$5F,$B6,$BE,$4D .db $5D,$00,$00,$01,$0A,$50,$A0,$41 .db $A2,$43,$00,$FF,$0B,$83,$FF,$1E .db $FF,$78,$FF,$F0,$FF,$E3,$FF,$E7 .db $FF,$28,$00,$0E,$FF,$00,$FF,$01 .db $FF,$0A,$FF,$50,$FF,$A0,$FF,$41 .db $FF,$A2,$FF,$27,$00,$01,$D5,$FF .db $83,$02,$48,$09,$82,$FF,$05,$FF .db $AA,$FF,$55,$FF,$AA,$FF,$28,$00 .db $44,$FF,$00,$09,$22,$FF,$54,$FF .db $AA,$FF,$54,$FF,$00,$FF,$27,$00 .db $01,$18,$E7,$43,$0C,$F3,$09,$C4 .db $3B,$E4,$1B,$76,$89,$32,$CD,$3A .db $C5,$27,$FE,$0F,$4C,$A3,$A6,$51 .db $58,$A3,$6E,$11,$B0,$0B,$DC,$01 .db $66,$89,$90,$45,$27,$FE,$01,$48 .db $C7,$43,$60,$EF,$0A,$73,$EC,$77 .db $E8,$1E,$C1,$1C,$C3,$0C,$C3,$3F .db $23,$1F,$22,$3F,$8E,$02,$D0,$27 .db $FF,$01,$00,$A9,$22,$01,$8B,$02 .db $EC,$26,$FE,$19,$00,$5C,$5D,$AE .db $AF,$5C,$5D,$6E,$EF,$B0,$F5,$DC .db $FF,$66,$77,$90,$BB,$A2,$50,$A2 .db $10,$0A,$00,$88,$44,$E6,$44,$FF .db $F2,$09,$3A,$FF,$1A,$FF,$88,$FF .db $CC,$FF,$C4,$FF,$27,$00,$0F,$A2 .db $FF,$50,$FF,$A2,$FF,$10,$FF,$0A .db $FF,$00,$FF,$88,$FF,$44,$FF,$28 .db $00,$0F,$FF,$A8,$50,$D2,$AF,$B4 .db $5F,$2D,$FA,$5A,$F5,$B6,$EB,$4D .db $F7,$00,$26,$FF,$0F,$4E,$F5,$A4 .db $FB,$5A,$F5,$6C,$BB,$B2,$5D,$D8 .db $AD,$64,$DD,$90,$ED,$27,$FE,$E0 .db $31,$82,$02,$7F,$7F,$7D,$7D,$79 .db $79,$58,$58,$10,$10,$00,$00,$FA .db $FF,$FD,$80,$82,$86,$A7,$EF,$FF .db $00,$B2,$11,$58,$09,$A6,$05,$10 .db $01,$4E,$45,$22,$23,$98,$11,$6E .db $2B,$EE,$F6,$FA,$FE,$BA,$DC,$EE .db $D4,$18,$19,$43,$0C,$0D,$11,$C4 .db $C5,$E4,$E5,$76,$77,$32,$33,$3A .db $3B,$E6,$F2,$F2,$3A,$1A,$88,$CC .db $C4,$43,$00,$FF,$43,$42,$FF,$07 .db $1C,$BD,$2C,$BD,$28,$BD,$38,$BD .db $23,$00,$23,$42,$0F,$38,$BD,$68 .db $BD,$28,$FD,$2C,$FD,$3C,$FD,$74 .db $BD,$34,$BD,$3C,$BD,$27,$42,$0F .db $3C,$BD,$2C,$BD,$2E,$BD,$2C,$BF .db $3A,$BF,$38,$BF,$1A,$BD,$18,$BD .db $27,$42,$02,$7F,$80,$80,$44,$00 .db $88,$07,$80,$00,$FA,$FF,$00,$00 .db $3F,$00,$24,$FF,$03,$00,$FF,$FF .db $FC,$22,$04,$0B,$85,$04,$25,$04 .db $21,$04,$41,$FC,$01,$00,$3F,$00 .db $24,$FB,$13,$03,$FF,$FF,$4C,$F0 .db $7F,$BF,$47,$BF,$30,$BF,$3F,$BF .db $7E,$FF,$7F,$FF,$00,$FF,$7F,$23 .db $40,$22,$00,$01,$0C,$00,$23,$FF .db $00,$0F,$22,$FF,$02,$07,$FF,$E7 .db $83,$03,$6F,$24,$00,$06,$18,$00 .db $28,$10,$FF,$FF,$0F,$22,$FF,$00 .db $F0,$22,$FF,$04,$42,$E3,$00,$FF .db $FF,$24,$00,$02,$1C,$00,$E6,$44 .db $01,$F2,$09,$3A,$01,$1A,$01,$88 .db $01,$CC,$01,$C4,$01,$27,$FE,$04 .db $80,$42,$01,$42,$81,$44,$42,$00 .db $05,$81,$C3,$81,$FF,$DB,$C3,$24 .db $81,$07,$00,$00,$3C,$80,$7E,$01 .db $7E,$81,$44,$7E,$00,$43,$81,$FF .db $01,$DB,$C3,$24,$81,$02,$00,$00 .db $3C,$23,$00,$0B,$01,$00,$07,$00 .db $1F,$01,$3F,$07,$7E,$1F,$F8,$3F .db $23,$00,$04,$01,$07,$1F,$3F,$07 .db $83,$01,$ED,$0E,$07,$FF,$7F,$F8 .db $FF,$80,$FF,$07,$F8,$7F,$80,$00 .db $00,$07,$7F,$23,$FF,$00,$C3,$83 .db $02,$D9,$0E,$81,$FF,$EF,$3E,$FF .db $10,$FF,$81,$7E,$EF,$10,$00,$00 .db $81,$EF,$23,$FF,$00,$C7,$43,$00 .db $FF,$03,$C7,$FF,$FF,$38,$83,$06 .db $DA,$01,$38,$FF,$22,$00,$00,$C7 .db $26,$FF,$00,$00,$44,$00,$FF,$43 .db $F7,$00,$43,$FF,$00,$00,$00,$28 .db $FF,$00,$00,$46,$00,$FF,$43,$F7 .db $00,$02,$FF,$00,$00,$28,$FF,$00 .db $80,$44,$80,$BF,$43,$BB,$80,$43 .db $BF,$80,$00,$00,$26,$7F,$28,$00 .db $00,$C0,$44,$00,$F8,$00,$FE,$28 .db $00,$02,$03,$00,$1F,$44,$00,$3F .db $43,$7F,$00,$02,$FF,$00,$FF,$28 .db $00,$04,$C0,$00,$F0,$00,$F8,$46 .db $00,$FC,$02,$FF,$00,$FF,$30,$00 .db $02,$B8,$00,$FC,$43,$00,$FF,$34 .db $00,$02,$18,$00,$BE,$30,$00,$02 .db $01,$00,$0F,$83,$07,$52,$27,$00 .db $0F,$C0,$08,$C8,$08,$33,$7F,$01 .db $3E,$07,$1C,$1B,$3E,$2C,$63,$0F .db $00,$27,$FF,$0F,$2F,$10,$3F,$10 .db $CD,$FE,$83,$7C,$E4,$38,$D8,$7C .db $3C,$C6,$FC,$00,$27,$FF,$00,$00 .db $43,$00,$A5,$0E,$A5,$00,$A5,$7A .db $7E,$7A,$7C,$42,$7C,$CF,$F0,$00 .db $00,$A5,$A5,$22,$7E,$00,$FF,$43 .db $00,$0C,$43,$03,$0F,$43,$00,$03 .db $23,$00,$01,$03,$03,$25,$00,$23 .db $03,$23,$F0,$43,$3F,$FF,$43,$00 .db $3F,$03,$FC,$FC,$0F,$0F,$28,$00 .db $02,$0F,$00,$0F,$43,$0F,$3F,$43 .db $00,$3C,$25,$00,$01,$03,$03,$43 .db $00,$0F,$43,$0F,$FF,$23,$F0,$23 .db $03,$23,$00,$04,$0F,$0F,$FC,$FC .db $00,$22,$FF,$43,$1F,$00,$43,$C0 .db $00,$02,$03,$00,$03,$22,$00,$25 .db $FF,$00,$02,$22,$FF,$43,$C0,$00 .db $43,$1F,$00,$02,$FC,$00,$FC,$22 .db $00,$25,$FF,$32,$00,$01,$01,$01 .db $28,$00,$00,$80,$24,$00,$02,$40 .db $00,$40,$22,$00,$23,$80,$02,$40 .db $60,$00,$43,$FF,$55,$02,$55,$AA .db $AA,$23,$3F,$23,$FC,$0F,$00,$00 .db $AA,$55,$C0,$C0,$03,$03,$00,$FF .db $0A,$FF,$6A,$7F,$95,$BF,$23,$F0 .db $23,$03,$03,$00,$00,$80,$40,$83 .db $08,$6C,$83,$08,$57,$0F,$1F,$03 .db $3F,$0F,$7C,$1F,$78,$1F,$F1,$3E .db $F3,$3C,$00,$00,$03,$0F,$83,$04 .db $93,$45,$FF,$00,$43,$EF,$00,$45 .db $FF,$00,$28,$FF,$46,$00,$FF,$43 .db $F7,$00,$43,$FF,$00,$27,$FF,$45 .db $BF,$80,$43,$B7,$80,$45,$BF,$80 .db $27,$7F,$43,$00,$FF,$02,$AA,$FF .db $55,$44,$FF,$C0,$43,$03,$FF,$28 .db $00,$05,$FF,$00,$FF,$80,$FF,$40 .db $44,$FF,$0F,$43,$FC,$FF,$27,$00 .db $43,$FC,$00,$47,$FF,$00,$43,$0F .db $00,$27,$FF,$43,$3C,$03,$47,$0C .db $03,$43,$CC,$03,$27,$FC,$43,$00 .db $0F,$33,$00,$43,$3F,$FF,$43,$0F .db $FF,$44,$00,$30,$02,$F0,$00,$F0 .db $23,$00,$23,$0F,$43,$3F,$00,$43 .db $FF,$00,$47,$FC,$00,$27,$FF,$02 .db $C0,$00,$C0,$24,$00,$43,$0F,$00 .db $43,$3F,$00,$27,$FF,$25,$00,$08 .db $11,$00,$10,$00,$12,$00,$34,$00 .db $42,$83,$08,$B1,$03,$11,$11,$13 .db $37,$83,$06,$B6,$01,$80,$40,$22 .db $00,$07,$40,$80,$D8,$10,$F8,$00 .db $58,$80,$22,$C0,$04,$C8,$D8,$D8 .db $F8,$FC,$23,$C0,$23,$00,$27,$03 .db $03,$3F,$3F,$FF,$FF,$23,$FC,$23 .db $3F,$23,$FF,$23,$F0,$25,$C0,$83 .db $08,$6A,$0D,$3F,$3F,$F3,$3C,$E7 .db $78,$E7,$F8,$87,$F8,$0F,$F0,$7F .db $80,$43,$FF,$00,$01,$3F,$7F,$26 .db $FF,$46,$00,$FF,$43,$FD,$00,$43 .db $FF,$00,$28,$FF,$44,$00,$EF,$49 .db $FF,$00,$27,$FF,$49,$BF,$80,$43 .db $AF,$80,$01,$BF,$80,$27,$7F,$02 .db $3F,$FF,$3F,$24,$FF,$47,$FC,$FF .db $27,$00,$17,$FE,$7F,$FD,$BF,$FB .db $DF,$F7,$EF,$EF,$F7,$DF,$FB,$BF .db $FD,$7F,$FE,$FE,$FD,$FB,$F7,$EF .db $DF,$BF,$7F,$43,$03,$00,$43,$C0 .db $00,$47,$F0,$00,$27,$FF,$43,$CC .db $03,$43,$C0,$03,$43,$F0,$03,$43 .db $30,$03,$27,$FC,$43,$00,$03,$43 .db $03,$0F,$44,$00,$0C,$02,$03,$00 .db $03,$23,$00,$01,$03,$03,$22,$00 .db $02,$C0,$00,$C0,$23,$F0,$23,$FF .db $25,$3F,$83,$08,$3A,$22,$C0,$16 .db $C3,$C0,$CF,$01,$1F,$04,$3F,$00 .db $7F,$10,$7C,$02,$F8,$24,$F8,$3C .db $33,$ED,$D7,$AC,$B8,$50,$70,$83 .db $09,$DA,$1B,$87,$FF,$23,$FF,$00 .db $FE,$08,$3E,$00,$1F,$04,$1F,$00 .db $C0,$B0,$E8,$35,$1D,$0A,$0E,$07 .db $90,$4C,$E3,$5F,$50,$AA,$AA,$23 .db $3F,$23,$FC,$02,$6F,$1F,$AF,$84 .db $08,$E3,$17,$F8,$01,$D2,$87,$EA .db $0F,$E5,$8F,$90,$B0,$90,$90,$03 .db $43,$03,$03,$FE,$F8,$F0,$70,$6F .db $6F,$FC,$FC,$97,$0A,$F8,$97,$0A .db $F8,$FF,$22,$00,$08,$03,$01,$0F .db $06,$1E,$09,$38,$17,$70,$43,$00 .db $FF,$22,$00,$02,$01,$07,$0F,$22 .db $00,$0A,$7F,$7F,$FF,$BF,$80,$70 .db $0F,$EF,$10,$F0,$0F,$44,$00,$FF .db $04,$00,$7F,$F0,$E0,$F0,$2A,$00 .db $06,$05,$05,$0A,$03,$0C,$05,$12 .db $25,$00,$01,$01,$0D,$28,$00,$06 .db $40,$A0,$58,$F8,$1C,$DC,$1F,$25 .db $00,$01,$A0,$E0,$3A,$00,$0C,$01 .db $00,$01,$01,$07,$07,$1F,$08,$18 .db $09,$79,$32,$73,$24,$00,$1A,$07 .db $06,$0D,$00,$00,$B4,$4A,$FC,$03 .db $FF,$03,$30,$CC,$84,$B4,$4B,$CB .db $31,$F9,$00,$00,$48,$B4,$33,$4B .db $B4,$CE,$26,$00,$08,$C0,$C0,$E0 .db $60,$70,$10,$1E,$8C,$8E,$24,$00 .db $02,$80,$E0,$70,$43,$00,$FF,$0B .db $38,$C7,$04,$FB,$3C,$C3,$44,$BB .db $3E,$C1,$00,$FF,$27,$00,$43,$20 .db $DF,$01,$38,$C7,$45,$24,$DB,$03 .db $38,$C7,$00,$FF,$28,$00,$06,$FF .db $00,$FF,$3C,$C3,$60,$9F,$43,$40 .db $BF,$03,$3C,$C3,$00,$FF,$27,$00 .db $43,$04,$FB,$01,$1C,$E3,$45,$24 .db $DB,$03,$1C,$E3,$00,$FF,$28,$00 .db $84,$00,$C1,$03,$44,$BB,$7C,$83 .db $85,$00,$FA,$27,$00,$01,$0C,$F3 .db $43,$10,$EF,$01,$3C,$C3,$45,$10 .db $EF,$01,$00,$FF,$28,$00,$00,$FF .db $83,$01,$0A,$43,$24,$DB,$05,$1C .db $E3,$04,$FB,$38,$C7,$38,$00,$03 .db $18,$24,$24,$18,$22,$00,$01,$12 .db $D0,$49,$2D,$FD,$43,$00,$FF,$00 .db $2F,$24,$02,$02,$00,$00,$FF,$4A .db $00,$17,$43,$00,$FF,$00,$E8,$24 .db $FE,$22,$00,$E0,$34,$21,$0C,$4C .db $1E,$5E,$33,$7F,$01,$3F,$0D,$3F .db $0C,$3F,$00,$7D,$1E,$33,$21,$0C .db $1E,$12,$11,$33,$03,$C3,$D0,$D0 .db $10,$10,$30,$30,$E0,$E0,$D8,$D8 .db $54,$DC,$94,$9C,$3C,$2F,$EF,$CF .db $1F,$27,$AB,$6B,$00,$E0,$C0,$E0 .db $40,$60,$43,$80,$C0,$45,$40,$60 .db $04,$00,$00,$80,$00,$00,$22,$80 .db $E0,$28,$25,$67,$15,$37,$15,$36 .db $17,$37,$0E,$1F,$0A,$1B,$0F,$0F .db $0D,$1D,$1A,$0A,$0A,$08,$01,$05 .db $0C,$0E,$CF,$FF,$CE,$32,$86,$48 .db $86,$4A,$01,$E1,$01,$F9,$33,$FB .db $86,$F6,$30,$22,$31,$0B,$FE,$FE .db $FC,$79,$C4,$C6,$E8,$EC,$C8,$CC .db $F0,$F8,$43,$30,$38,$43,$E0,$F0 .db $03,$38,$10,$30,$00,$23,$C0,$43 .db $20,$DF,$01,$38,$C7,$47,$24,$DB .db $01,$00,$FF,$28,$00,$00,$FF,$83 .db $01,$44,$47,$10,$EF,$01,$00,$FF .db $28,$00,$04,$FF,$08,$F7,$00,$FF .db $43,$08,$F7,$05,$48,$B7,$30,$CF .db $00,$FF,$27,$00,$43,$20,$DF,$07 .db $24,$DB,$28,$D7,$30,$CF,$28,$D7 .db $83,$02,$4C,$27,$00,$4D,$10,$EF .db $01,$00,$FF,$28,$00,$04,$FF,$00 .db $FF,$68,$97,$47,$54,$AB,$01,$00 .db $FF,$28,$00,$84,$00,$C1,$47,$24 .db $DB,$01,$00,$FF,$3C,$00,$04,$20 .db $50,$20,$FC,$03,$45,$C6,$39,$01 .db $FC,$03,$43,$C0,$3F,$01,$00,$FF .db $27,$00,$09,$82,$7D,$C6,$39,$EE .db $11,$FE,$01,$B6,$49,$43,$86,$79 .db $01,$00,$FF,$28,$00,$04,$79,$00 .db $7F,$00,$1F,$22,$00,$06,$1F,$11 .db $2D,$19,$65,$7C,$83,$22,$3F,$01 .db $1F,$00,$22,$01,$07,$64,$FC,$DC .db $FC,$1E,$9E,$7E,$7E,$26,$FF,$0A .db $FD,$9B,$3B,$F9,$E1,$FC,$FE,$FE .db $FC,$80,$C0,$43,$C0,$E0,$09,$60 .db $78,$70,$78,$60,$70,$E0,$F0,$C0 .db $F0,$22,$00,$22,$80,$05,$00,$00 .db $11,$31,$13,$33,$43,$0F,$1F,$03 .db $07,$0F,$04,$0F,$43,$00,$07,$02 .db $0E,$0C,$03,$22,$07,$03,$01,$01 .db $CF,$CF,$24,$FF,$16,$EF,$D7,$D7 .db $EE,$EF,$3C,$87,$38,$8F,$30,$84 .db $FF,$FF,$EF,$FF,$E3,$E7,$30,$3C .db $D8,$DC,$EC,$EE,$43,$F8,$FC,$0D .db $7C,$FE,$70,$FC,$C0,$F8,$C0,$20 .db $90,$C0,$E0,$E0,$80,$00,$43,$00 .db $FF,$01,$1C,$E3,$45,$22,$DD,$83 .db $01,$14,$28,$00,$84,$00,$C1,$43 .db $24,$DB,$01,$38,$C7,$43,$20,$DF .db $28,$00,$84,$03,$C1,$43,$24,$DB .db $01,$1C,$E3,$43,$04,$FB,$28,$00 .db $08,$FF,$00,$FF,$20,$DF,$2C,$D3 .db $30,$CF,$43,$20,$DF,$01,$00,$FF .db $28,$00,$84,$03,$C1,$03,$20,$DF .db $18,$E7,$84,$01,$5C,$00,$FF,$28 .db $00,$04,$FF,$10,$EF,$38,$C7,$45 .db $10,$EF,$03,$18,$E7,$00,$FF,$28 .db $00,$02,$FF,$00,$FF,$47,$24,$DB .db $83,$04,$44,$28,$00,$02,$FF,$00 .db $FF,$45,$22,$DD,$01,$14,$EB,$83 .db $02,$72,$27,$00,$45,$66,$99,$01 .db $3C,$C3,$45,$18,$E7,$01,$00,$FF .db $28,$00,$04,$FF,$42,$BD,$24,$DB .db $43,$18,$E7,$05,$24,$DB,$42,$BD .db $00,$FF,$27,$00,$07,$7C,$87,$3C .db $47,$00,$3F,$03,$03,$27,$07,$03 .db $03,$03,$00,$03,$23,$07,$04,$6F .db $F0,$1F,$E1,$DF,$2A,$FF,$02,$E0 .db $01,$DF,$24,$FF,$05,$80,$E0,$00 .db $C0,$80,$C0,$44,$C0,$E0,$07,$F0 .db $E0,$F8,$F0,$F8,$00,$00,$80,$22 .db $C0,$05,$E0,$F0,$01,$03,$01,$06 .db $43,$07,$0F,$47,$0F,$1F,$03,$00 .db $00,$07,$07,$23,$0F,$05,$F1,$1F .db $FB,$0F,$FF,$1F,$29,$FF,$02,$0E .db $07,$1F,$24,$FF,$03,$00,$E0,$00 .db $80,$83,$03,$60,$45,$E0,$F0,$85 .db $04,$EE,$22,$E0,$00,$F0,$43,$00 .db $FF,$47,$54,$AB,$03,$28,$D7,$00 .db $FF,$28,$00,$0E,$FF,$00,$FF,$44 .db $BB,$28,$D7,$10,$EF,$28,$D7,$44 .db $BB,$00,$FF,$28,$00,$02,$FF,$00 .db $FF,$45,$24,$DB,$85,$01,$5A,$27 .db $00,$0F,$FE,$01,$0E,$F1,$1C,$E3 .db $38,$C7,$70,$8F,$E0,$1F,$FE,$01 .db $00,$FF,$28,$00,$0A,$FF,$00,$FF .db $28,$D7,$7C,$83,$28,$D7,$7C,$83 .db $83,$05,$4C,$28,$00,$48,$FF,$00 .db $43,$18,$E7,$01,$00,$FF,$28,$00 .db $46,$FF,$00,$43,$18,$E7,$03,$08 .db $F7,$10,$EF,$27,$00,$43,$18,$E7 .db $83,$05,$DC,$47,$00,$FF,$2B,$00 .db $83,$05,$0A,$0F,$0C,$0C,$00,$00 .db $73,$73,$FF,$FF,$01,$03,$07,$0F .db $1F,$3F,$7F,$FF,$83,$03,$74,$1B .db $20,$20,$F0,$F0,$C8,$C8,$00,$00 .db $32,$32,$FF,$FF,$80,$C0,$E0,$F0 .db $F8,$FC,$FE,$FF,$CC,$CC,$00,$00 .db $33,$33,$1F,$1F,$83,$06,$08,$0B .db $03,$03,$01,$01,$FF,$7F,$3F,$1F .db $0F,$07,$03,$01,$83,$06,$30,$05 .db $30,$30,$F8,$F8,$C0,$C0,$23,$00 .db $17,$80,$80,$FF,$FE,$FC,$F8,$F0 .db $E0,$C0,$80,$01,$01,$03,$03,$04 .db $07,$00,$0F,$13,$1F,$3F,$3F,$4C .db $7F,$83,$00,$0E,$07,$03,$0F,$0C .db $00,$33,$FF,$00,$80,$22,$C0,$E0 .db $42,$E0,$00,$F0,$30,$F8,$FC,$FC .db $CC,$FE,$00,$FF,$80,$00,$20,$F0 .db $C8,$00,$32,$FF,$33,$FF,$7F,$7F .db $0C,$3F,$00,$1F,$03,$0F,$07,$07 .db $00,$03,$00,$01,$CC,$00,$33,$1F .db $0C,$00,$03,$01,$33,$FF,$FE,$FE .db $CC,$FC,$00,$F8,$30,$F0,$E0,$E0 .db $C0,$C0,$00,$80,$CC,$00,$30,$F8 .db $C0,$00,$00,$80,$22,$00,$0B,$01 .db $03,$00,$0F,$00,$0C,$13,$00,$3F .db $33,$4C,$FF,$22,$00,$85,$06,$72 .db $0F,$80,$00,$00,$C0,$20,$C0,$F0 .db $00,$C8,$30,$00,$FC,$32,$CC,$FF .db $00,$87,$06,$88,$0F,$CC,$33,$00 .db $7F,$33,$0C,$1F,$00,$0C,$03,$00 .db $07,$03,$00,$01,$00,$87,$06,$A0 .db $0A,$CC,$33,$00,$FE,$30,$CC,$F8 .db $00,$C0,$30,$00,$83,$04,$E1,$00 .db $00,$87,$06,$B8,$E0,$87,$CC,$CC .db $01,$01,$30,$33,$F8,$FF,$C3,$CF .db $1F,$1F,$0C,$3F,$80,$FF,$FF,$FE .db $FF,$FF,$FC,$E0,$F3,$FF,$CC,$CC .db $80,$80,$F3,$F3,$1F,$FF,$3C,$FC .db $F8,$F8,$CF,$FF,$01,$FF,$FF,$7F .db $3F,$FF,$CF,$07,$33,$FF,$32,$FE .db $FC,$FC,$CB,$FB,$0F,$FF,$2C,$EC .db $C0,$C0,$B3,$B3,$FF,$FF,$CD,$03 .db $37,$FF,$DF,$3F,$7F,$FF,$B3,$FF .db $3F,$3F,$2C,$3F,$F0,$FF,$CB,$CF .db $03,$03,$32,$33,$FF,$FF,$CC,$C0 .db $F3,$FF,$FC,$FC,$FF,$FF,$03,$FF .db $32,$FF,$FC,$FF,$CB,$FC,$0F,$F0 .db $2C,$F3,$C0,$FF,$B3,$CC,$FC,$CC .db $00,$33,$FF,$CC,$00,$33,$00,$FF .db $B3,$7F,$3F,$FF,$2C,$DF,$F0,$0F .db $CB,$37,$03,$FF,$32,$CD,$83,$07 .db $94,$83,$07,$94,$0E,$CD,$33,$03 .db $FF,$34,$CF,$F0,$0F,$D3,$3F,$3F .db $FF,$4C,$FF,$00,$87,$07,$A8,$0E .db $FF,$4C,$B3,$C0,$FF,$D3,$EC,$0F .db $F0,$34,$FB,$FC,$FF,$CD,$FE,$89 .db $07,$BE,$0F,$CC,$CC,$00,$01,$33 .db $30,$FF,$F8,$CC,$C3,$00,$1F,$33 .db $0C,$FF,$80,$89,$07,$30,$0A,$00 .db $80,$33,$F3,$FF,$1F,$CC,$3C,$00 .db $F8,$33,$83,$07,$44,$86,$07,$49 .db $0D,$CC,$B3,$00,$3F,$33,$2C,$FF .db $F0,$CC,$CB,$00,$03,$33,$32,$89 .db $07,$76,$0C,$CC,$32,$00,$FC,$33 .db $CB,$FF,$0F,$CC,$2C,$00,$C0,$33 .db $8A,$07,$5D,$85,$06,$30,$00,$FF .db $86,$06,$2F,$29,$FF,$00,$33,$22 .db $FF,$04,$CC,$FF,$00,$FF,$33,$22 .db $FF,$83,$08,$5C,$88,$07,$D8,$06 .db $33,$00,$FF,$33,$CC,$FF,$00,$88 .db $08,$70,$86,$07,$C1,$24,$00,$08 .db $1E,$00,$FF,$00,$7F,$00,$3B,$00 .db $01,$2C,$00,$02,$04,$00,$EE,$44 .db $00,$FF,$02,$FB,$00,$80,$2E,$00 .db $08,$38,$00,$FF,$00,$FE,$00,$F0 .db $00,$60,$2A,$00,$84,$04,$99,$43 .db $18,$E7,$85,$04,$A2,$2D,$00,$00 .db $02,$44,$00,$05,$00,$02,$2B,$00 .db $84,$04,$99,$43,$18,$E7,$85,$04 .db $A2,$28,$00,$84,$04,$99,$43,$18 .db $E7,$85,$04,$A2,$28,$00,$84,$04 .db $99,$43,$18,$E7,$85,$04,$A2,$31 .db $00,$00,$08,$22,$00,$00,$01,$E4 .db $21,$00,$84,$04,$99,$43,$18,$E7 .db $85,$04,$A2,$28,$00,$05,$78,$30 .db $FE,$60,$FF,$40,$83,$08,$BF,$00 .db $78,$23,$00,$05,$78,$FE,$FF,$FF .db $FE,$78,$83,$00,$79,$02,$03,$00 .db $3F,$44,$00,$7F,$44,$FF,$00,$28 .db $00,$04,$98,$00,$FC,$00,$FE,$49 .db $00,$FF,$2C,$00,$04,$19,$00,$3D .db $00,$3F,$45,$00,$7F,$2A,$00,$02 .db $08,$00,$DC,$48,$00,$FE,$00,$F8 .db $2E,$00,$08,$18,$00,$1C,$00,$3E .db $00,$3C,$00,$3D,$2C,$00,$04,$08 .db $00,$C8,$00,$E0,$24,$00,$00,$80 .db $30,$00,$02,$08,$00,$1C,$22,$00 .db $00,$01,$2E,$00,$02,$08,$00,$40 .db $24,$00,$00,$80,$30,$00,$02,$18 .db $00,$18,$2D,$00,$84,$04,$99,$43 .db $18,$E7,$85,$04,$A2,$28,$00,$84 .db $04,$99,$43,$18,$E7,$85,$04,$A2 .db $28,$00,$84,$04,$99,$43,$18,$E7 .db $85,$04,$A2,$2D,$00,$00,$02,$3E .db $00,$00,$41,$29,$00,$84,$04,$99 .db $43,$18,$E7,$85,$04,$A2,$2C,$00 .db $02,$FF,$00,$FF,$29,$00,$01,$FF .db $FF,$23,$00,$45,$FF,$00,$43,$3F .db $00,$43,$1F,$00,$00,$07,$28,$00 .db $4E,$FF,$00,$28,$00,$02,$3F,$00 .db $07,$46,$00,$0F,$02,$1F,$00,$0F .db $2A,$00,$04,$BB,$00,$3F,$00,$BF .db $49,$00,$FF,$2A,$00,$43,$01,$00 .db $45,$07,$00,$00,$02,$2C,$00,$0C .db $10,$00,$99,$00,$FC,$00,$F3,$00 .db $C7,$00,$67,$00,$F7,$2E,$00,$02 .db $03,$00,$03,$34,$00,$02,$28,$00 .db $40,$22,$00,$02,$03,$00,$63,$28 .db $00,$17,$FE,$7F,$FD,$BF,$FB,$DF .db $F7,$EF,$EF,$F7,$DF,$FB,$BF,$FD .db $7F,$FE,$FE,$FD,$FB,$F7,$EF,$DF .db $BF,$7F,$FF,$0F,$00,$03,$03,$0F .db $0F,$1F,$1F,$3F,$3F,$7F,$0C,$40 .db $4C,$C0,$7F,$8F,$24,$00,$12,$33 .db $33,$40,$00,$C0,$C0,$F0,$F0,$F8 .db $30,$04,$30,$02,$FC,$32,$FE,$33 .db $3E,$01,$22,$00,$04,$C8,$CC,$0C .db $0C,$F2,$84,$00,$00,$E0,$42,$13 .db $1F,$2C,$3F,$4C,$33,$70,$73,$F0 .db $7F,$83,$00,$00,$0C,$13,$33,$0C .db $0C,$70,$00,$C0,$C0,$30,$F0,$38 .db $F8,$F4,$FC,$F2,$3C,$0E,$3E,$0D .db $CE,$C3,$00,$C0,$C0,$08,$0C,$C0 .db $C2,$3C,$00,$03,$03,$0C,$0F,$1C .db $1F,$23,$3F,$43,$3C,$7C,$7C,$BC .db $7F,$C0,$00,$03,$03,$1C,$3C,$03 .db $43,$3C,$84,$00,$18,$12,$C8,$F0 .db $34,$F0,$32,$CC,$02,$CE,$03,$F2 .db $F1,$00,$00,$30,$C8,$CC,$30,$30 .db $0E,$83,$00,$00,$13,$03,$13,$1F .db $23,$3F,$73,$3F,$7F,$7F,$CF,$7F .db $B0,$00,$00,$0C,$1C,$0C,$00,$30 .db $4F,$86,$00,$48,$08,$CC,$FC,$CE .db $30,$02,$32,$01,$FC,$3D,$83,$00 .db $48,$1B,$30,$CC,$CC,$02,$00,$03 .db $00,$0C,$0C,$10,$17,$20,$33,$40 .db $3F,$73,$7F,$B3,$3F,$80,$00,$03 .db $0F,$1C,$3C,$0C,$00,$73,$85,$00 .db $78,$E0,$29,$F8,$34,$FC,$32,$FC .db $02,$FC,$01,$FE,$CF,$00,$00,$30 .db $08,$0C,$00,$02,$00,$00,$3F,$06 .db $40,$5C,$C0,$78,$C0,$70,$C0,$60 .db $80,$60,$A0,$60,$E0,$00,$39,$23 .db $07,$0F,$7F,$5F,$1F,$22,$00,$04 .db $C0,$00,$30,$00,$08,$44,$00,$04 .db $43,$02,$00,$06,$00,$C0,$F0,$F8 .db $F8,$FC,$FC,$85,$00,$00,$09,$0F .db $23,$0F,$43,$3F,$4C,$3F,$8C,$4F .db $C3,$22,$00,$01,$10,$30,$87,$00 .db $75,$00,$F8,$83,$00,$AE,$05,$F0 .db $32,$F2,$31,$FE,$C3,$22,$00,$04 .db $30,$30,$0C,$0C,$30,$22,$00,$0C .db $02,$02,$07,$00,$0A,$0B,$14,$1B .db $2D,$17,$3A,$37,$48,$22,$00,$03 .db $05,$0B,$1B,$16,$23,$00,$04,$40 .db $40,$E0,$00,$10,$83,$00,$DC,$03 .db $F8,$0C,$FC,$02,$22,$00,$E0,$2F .db $E0,$F0,$38,$08,$00,$7F,$8F,$7C .db $B0,$3D,$70,$33,$40,$13,$20,$0F .db $13,$03,$0F,$00,$03,$40,$43,$03 .db $3C,$1C,$0C,$00,$00,$3E,$01,$FE .db $C1,$FC,$C2,$FC,$32,$F8,$34,$F0 .db $08,$C0,$30,$00,$C0,$F2,$0C,$0C .db $24,$00,$E0,$29,$7F,$83,$7F,$8F .db $3F,$4F,$3C,$40,$1C,$20,$0F,$10 .db $03,$0C,$00,$03,$70,$30,$30,$0F .db $0F,$03,$03,$00,$CE,$C3,$FE,$31 .db $FC,$32,$FC,$0E,$F8,$0C,$F0,$C8 .db $C0,$F0,$00,$C0,$3C,$02,$25,$00 .db $0B,$7F,$C0,$7F,$83,$3F,$43,$3F .db $70,$1F,$30,$0F,$1C,$83,$01,$BC .db $04,$3C,$4C,$0C,$03,$03,$22,$00 .db $0B,$F2,$F1,$CE,$0D,$DC,$0E,$3C .db $02,$38,$04,$F0,$38,$83,$01,$A4 .db $02,$0E,$30,$30,$23,$C0,$0B,$00 .db $7F,$B0,$7F,$80,$3F,$70,$3F,$7C .db $1F,$3C,$03,$84,$01,$8B,$01,$4F .db $30,$22,$00,$0C,$0C,$00,$00,$FC .db $3D,$F2,$C3,$F4,$C2,$CC,$02,$C8 .db $04,$85,$01,$A2,$18,$02,$0C,$0C .db $F0,$F0,$30,$00,$00,$3F,$8C,$7F .db $CC,$3F,$4C,$3F,$73,$1F,$33,$0C .db $10,$00,$0C,$00,$03,$73,$23,$00 .db $0C,$0F,$03,$00,$FE,$CF,$FC,$31 .db $FC,$32,$F8,$02,$F8,$04,$85,$01 .db $D2,$04,$00,$C2,$C0,$24,$20,$22 .db $00,$43,$30,$70,$05,$18,$38,$1C .db $3C,$0F,$1F,$83,$01,$8C,$05,$00 .db $00,$0F,$0F,$07,$03,$24,$00,$E0 .db $20,$01,$02,$01,$0E,$01,$1C,$01 .db $F8,$C1,$F0,$C1,$FC,$9E,$00,$FC .db $FE,$FC,$F0,$E2,$06,$3E,$60,$00 .db $4F,$C3,$3F,$B0,$3F,$70,$3F,$4C .db $1F,$2C,$85,$01,$BA,$17,$3C,$43 .db $03,$00,$00,$03,$03,$00,$FE,$C3 .db $FE,$01,$FC,$02,$FC,$C2,$F8,$C4 .db $30,$38,$00,$30,$00,$C0,$22,$30 .db $03,$0C,$08,$C0,$C0,$27,$00,$08 .db $0F,$09,$3B,$19,$44,$37,$99,$6F .db $B4,$23,$00,$03,$04,$3B,$77,$6C .db $26,$00,$08,$F0,$90,$9C,$F4,$06 .db $FC,$F1,$FE,$05,$23,$00,$14,$60 .db $F8,$FE,$06,$00,$01,$01,$03,$00 .db $0F,$0C,$13,$1C,$23,$02,$3D,$1C .db $23,$02,$3D,$00,$22,$01,$43,$02 .db $1C,$03,$C0,$78,$80,$FC,$44,$00 .db $FE,$44,$FF,$00,$1F,$20,$9F,$40 .db $E0,$F0,$F4,$EC,$00,$00,$60,$00 .db $03,$03,$FC,$F7,$0B,$04,$0F,$00 .db $07,$F4,$F7,$02,$FD,$18,$67,$00 .db $00,$F3,$F7,$FB,$09,$22,$00,$06 .db $F0,$80,$FC,$10,$EE,$08,$F6,$43 .db $00,$FF,$09,$60,$9F,$30,$CF,$00 .db $90,$C8,$D4,$CC,$80,$22,$00,$94 .db $03,$31,$22,$00,$00,$F0,$83,$03 .db $1A,$0F,$08,$F6,$04,$FB,$00,$FF .db $40,$BF,$60,$9F,$00,$80,$D8,$D4 .db $CA,$86,$22,$00,$14,$14,$00,$3C .db $18,$E6,$3C,$43,$3C,$C2,$18,$67 .db $00,$3C,$00,$28,$00,$00,$18,$3C .db $3C,$18,$22,$00,$04,$04,$00,$0C .db $00,$0F,$43,$00,$1F,$05,$07,$D8 .db $0B,$F4,$0B,$74,$28,$00,$02,$08 .db $00,$38,$44,$00,$F8,$02,$FB,$C0 .db $3F,$43,$60,$9E,$2A,$00,$04,$08 .db $00,$18,$00,$1F,$43,$00,$3F,$03 .db $0F,$30,$1B,$64,$2A,$00,$04,$20 .db $00,$60,$00,$F0,$43,$00,$F8,$03 .db $C0,$3C,$60,$9C,$28,$00,$00,$07 .db $2A,$00,$02,$01,$00,$01,$27,$00 .db $06,$1F,$20,$3E,$41,$1D,$62,$61 .db $44,$BE,$7D,$43,$FB,$7D,$02,$07 .db $0E,$0D,$22,$41,$05,$82,$82,$00 .db $3C,$3C,$42,$47,$7E,$81,$E0,$26 .db $3C,$42,$00,$3C,$00,$08,$04,$32 .db $48,$08,$10,$00,$3C,$43,$38,$47 .db $16,$2B,$08,$1F,$00,$3F,$30,$CF .db $08,$F7,$38,$47,$3C,$39,$13,$0F .db $0F,$06,$70,$04,$00,$F0,$00,$8D .db $03,$7B,$12,$00,$98,$94,$8A,$06 .db $00,$00,$1E,$21,$00,$1F,$0E,$11 .db $00,$0F,$01,$06,$00,$01,$24,$00 .db $02,$0E,$00,$07,$23,$00,$13,$10 .db $0F,$8C,$9F,$E0,$FF,$68,$FF,$80 .db $7F,$00,$FF,$00,$0F,$00,$07,$F0 .db $6E,$0E,$0E,$22,$06,$13,$00,$46 .db $B8,$60,$F8,$47,$FF,$03,$FF,$02 .db $FF,$00,$FE,$00,$F8,$00,$00,$07 .db $67,$70,$22,$78,$0B,$00,$00,$18 .db $67,$AC,$D2,$B6,$C9,$60,$9E,$00 .db $E0,$25,$00,$00,$80,$26,$00,$12 .db $02,$7C,$17,$28,$07,$18,$00,$0F .db $03,$07,$02,$1F,$18,$2F,$00,$3F .db $3B,$07,$07,$83,$00,$00,$0C,$00 .db $B0,$CF,$58,$66,$4E,$71,$14,$EA .db $00,$FC,$00,$E0,$44,$00,$F0,$0C .db $80,$80,$00,$C0,$C0,$E0,$00,$3C .db $00,$7E,$00,$FF,$28,$44,$FF,$3C .db $01,$34,$7E,$43,$00,$3C,$00,$7E .db $23,$FF,$03,$7E,$3C,$0F,$70,$43 .db $00,$3F,$01,$04,$3B,$44,$00,$3F .db $02,$3C,$00,$18,$22,$00,$00,$04 .db $23,$00,$01,$E0,$1C,$43,$00,$FC .db $01,$80,$7C,$44,$00,$FE,$02,$3E .db $00,$06,$22,$00,$00,$80,$23,$00 .db $09,$1B,$64,$0F,$F0,$00,$FF,$00 .db $DF,$04,$3B,$44,$00,$7F,$00,$3C .db $23,$00,$00,$04,$22,$00,$09,$60 .db $9E,$E0,$1E,$00,$FE,$00,$EE,$80 .db $76,$44,$00,$FE,$00,$7C,$23,$00 .db $00,$80,$23,$00,$00,$01,$47,$01 .db $02,$45,$03,$05,$00,$00,$23,$01 .db $22,$02,$03,$FB,$7D,$FB,$FD,$4B .db $F7,$FB,$01,$82,$02,$25,$04,$05 .db $00,$0C,$04,$3B,$3D,$42,$45,$7E .db $81,$01,$3C,$43,$83,$05,$66,$00 .db $01,$24,$00,$F0,$23,$04,$E0,$44 .db $00,$F0,$86,$05,$09,$85,$00,$00 .db $09,$13,$30,$33,$70,$0F,$43,$4F .db $83,$73,$F0,$22,$00,$04,$0F,$0F .db $30,$30,$0F,$83,$00,$48,$0B,$C0 .db $08,$78,$04,$3C,$02,$FC,$3E,$FC .db $3D,$FE,$C1,$83,$01,$19,$00,$FC .db $85,$00,$5D,$0C,$0F,$0F,$13,$1C .db $2C,$3C,$4C,$33,$40,$33,$80,$7C .db $BC,$85,$00,$40,$01,$4C,$03,$85 .db $00,$78,$E0,$21,$D8,$04,$CC,$02 .db $FC,$CE,$FE,$CF,$FE,$31,$00,$00 .db $30,$F8,$FC,$30,$30,$CE,$CF,$FF .db $87,$FF,$23,$FF,$01,$9F,$78,$7F .db $40,$7F,$38,$47,$AA,$F7,$22,$FF .db $10,$E7,$FF,$C3,$81,$A3,$00,$C9 .db $C0,$F3,$C2,$E7,$F6,$EF,$7C,$DE .db $78,$FE,$43,$00,$FC,$0D,$C9,$F3 .db $E7,$EF,$DE,$FE,$FC,$FC,$00,$18 .db $18,$7E,$24,$66,$43,$5A,$C3,$0D .db $24,$66,$18,$7E,$00,$18,$18,$66 .db $5A,$BD,$BD,$5A,$66,$18,$25,$00 .db $05,$10,$38,$28,$28,$10,$38,$26 .db $00,$03,$28,$10,$28,$00,$44,$00 .db $FF,$02,$3E,$C1,$C1,$2A,$FF,$00 .db $3E,$24,$00,$45,$7F,$83,$01,$00 .db $FF,$47,$7C,$BF,$22,$7C,$00,$00 .db $23,$40,$E0,$35,$FE,$7F,$FD,$BF .db $FB,$DF,$F7,$EF,$EF,$F7,$DF,$FB .db $BF,$FD,$7F,$FE,$FE,$FD,$FB,$F7 .db $EF,$DF,$BF,$7F,$00,$F0,$60,$B8 .db $40,$FE,$00,$7F,$01,$7E,$00,$3E .db $01,$3F,$00,$19,$00,$20,$70,$3C .db $3D,$1D,$18,$00,$00,$07,$06,$0B .db $0C,$17,$83,$04,$56,$0A,$33,$4C .db $37,$C8,$B7,$48,$00,$03,$07,$0E .db $0C,$83,$04,$D6,$13,$F0,$00,$FC .db $60,$9E,$E0,$0E,$00,$87,$B8,$7F .db $D0,$3F,$C0,$3F,$00,$00,$60,$F0 .db $78,$E4,$32,$00,$09,$73,$F0,$4F .db $8C,$1F,$4C,$3F,$43,$1F,$23,$85 .db $01,$BA,$02,$0F,$30,$30,$24,$00 .db $05,$FE,$C1,$FE,$03,$FC,$02,$83 .db $01,$9E,$00,$C0,$84,$01,$A3,$11 .db $3C,$CC,$CC,$00,$00,$F0,$C0,$00 .db $7C,$BC,$73,$C3,$37,$43,$0F,$40 .db $0F,$20,$85,$01,$EA,$04,$03,$0C .db $0C,$30,$10,$22,$00,$01,$FE,$31 .db $84,$02,$BA,$02,$CE,$F8,$CC,$85 .db $01,$A2,$E0,$27,$CE,$32,$30,$00 .db $00,$30,$00,$00,$8C,$F3,$0C,$2E .db $04,$06,$04,$87,$05,$07,$CB,$CD .db $5B,$DF,$90,$9F,$83,$DF,$FF,$FC .db $FC,$38,$38,$74,$00,$F8,$00,$F4 .db $00,$EC,$00,$FC,$44,$40,$F8,$0A .db $F0,$00,$E0,$F8,$74,$6C,$7C,$78 .db $78,$70,$E0,$24,$00,$02,$18,$18 .db $3C,$43,$24,$66,$00,$18,$84,$05 .db $35,$05,$18,$24,$5A,$7A,$24,$18 .db $26,$00,$04,$10,$10,$38,$00,$10 .db $26,$00,$04,$10,$28,$10,$00,$00 .db $27,$FF,$47,$FE,$FF,$27,$00,$45 .db $7C,$BF,$49,$7E,$BF,$27,$40,$97 .db $06,$F0,$37,$00,$07,$57,$28,$9B .db $A4,$6C,$F3,$07,$78,$83,$04,$88 .db $23,$00,$01,$C0,$40,$25,$00,$E0 .db $3C,$C0,$3E,$90,$6F,$28,$DF,$50 .db $FE,$80,$7E,$00,$FC,$60,$B8,$00 .db $F0,$00,$10,$2E,$1C,$3C,$18,$30 .db $00,$00,$C1,$40,$B1,$50,$C9,$68 .db $E6,$30,$71,$1C,$3C,$07,$1F,$00 .db $07,$00,$40,$30,$18,$0E,$03,$00 .db $00,$07,$F8,$F3,$0C,$9D,$02,$06 .db $81,$62,$E1,$38,$78,$C6,$43,$FF .db $00,$04,$F0,$FC,$7E,$1E,$87,$22 .db $00,$12,$43,$03,$67,$27,$7F,$3F .db $7A,$1F,$3F,$0F,$3F,$07,$3F,$00 .db $1F,$43,$67,$7F,$7A,$22,$3F,$11 .db $1F,$F3,$3F,$E0,$FF,$E0,$FD,$C0 .db $F8,$80,$F0,$80,$FC,$1C,$E2,$14 .db $EE,$3F,$85,$06,$71,$00,$C5,$83 .db $04,$E6,$E0,$29,$00,$05,$00,$0A .db $05,$0A,$0B,$1D,$0B,$16,$1B,$24 .db $00,$00,$02,$05,$05,$0B,$02,$00 .db $00,$70,$40,$E0,$00,$60,$00,$10 .db $E0,$10,$F0,$F8,$F0,$08,$F8,$04 .db $00,$00,$80,$E0,$E0,$F0,$22,$00 .db $13,$07,$07,$18,$1F,$20,$20,$5F .db $2F,$50,$6E,$91,$6F,$90,$6E,$91 .db $00,$07,$07,$00,$20,$22,$60,$1E .db $00,$E0,$E0,$18,$F8,$04,$0C,$F2 .db $F4,$0A,$34,$C9,$F0,$09,$0A,$F3 .db $00,$E0,$F8,$0C,$04,$06,$06,$0C .db $F8,$FC,$BC,$FE,$1C,$FE,$20,$44 .db $FF,$10,$43,$08,$FF,$34,$00,$02 .db $80,$00,$80,$27,$00,$01,$03,$05 .db $49,$07,$0B,$43,$0F,$17,$00,$02 .db $24,$04,$01,$08,$08,$4F,$EF,$F7 .db $27,$08,$49,$FE,$FF,$45,$FC,$FF .db $27,$00,$4F,$7E,$BF,$27,$40,$4B .db $02,$FF,$43,$01,$FF,$28,$00,$00 .db $E0,$4A,$00,$F0,$02,$F8,$00,$F8 .db $27,$00,$00,$7E,$8E,$06,$F1,$00 .db $7E,$86,$07,$01,$97,$06,$F0,$44 .db $00,$1F,$16,$0F,$02,$27,$06,$3F .db $0E,$1F,$06,$0F,$03,$07,$1F,$1F .db $0F,$27,$3E,$1E,$0E,$07,$10,$EE .db $18,$BC,$43,$00,$A0,$0F,$A0,$E0 .db $C1,$61,$C1,$F1,$00,$F8,$C1,$FB .db $FF,$7F,$3F,$1E,$0E,$07,$97,$06 .db $F0,$97,$06,$F0,$07,$2E,$91,$00 .db $5F,$27,$60,$18,$38,$84,$08,$DC .db $06,$02,$00,$03,$60,$20,$1F,$07 .db $83,$04,$13,$13,$F2,$03,$E4,$06 .db $8C,$0E,$38,$3C,$E0,$F8,$00,$E0 .db $80,$C0,$00,$C0,$FC,$F8,$F0,$C0 .db $23,$00,$43,$08,$FF,$49,$04,$FF .db $01,$02,$FF,$28,$00,$00,$80,$48 .db $00,$C0,$44,$E0,$00,$27,$00,$4D .db $0F,$17,$01,$00,$1F,$26,$08,$00 .db $00,$4D,$EF,$F7,$01,$00,$FF,$26 .db $08,$01,$00,$FC,$46,$FF,$F8,$43 .db $F0,$FF,$03,$E0,$FF,$00,$FF,$27 .db $00,$4D,$7E,$BF,$01,$00,$FF,$26 .db $40,$00,$00,$4D,$01,$FF,$01,$00 .db $FF,$28,$00,$4E,$F8,$00,$27,$00 .db $F0,$2F,$0A,$B0,$FF,$01,$00,$3C .db $45,$00,$24,$47,$18,$24,$00,$00 .db $25,$18,$08,$00,$00,$FC,$00,$02 .db $00,$01,$00,$39,$44,$C6,$29,$05 .db $39,$FE,$01,$00,$FC,$FE,$23,$C6 .db $07,$00,$00,$7E,$00,$C3,$00,$81 .db $00,$44,$99,$66,$06,$60,$9F,$60 .db $90,$00,$3C,$7E,$22,$66,$00,$60 .db $87,$00,$2F,$48,$99,$66,$02,$00 .db $3C,$7E,$23,$66,$04,$00,$00,$F1 .db $00,$91,$43,$00,$8A,$01,$71,$8A .db $43,$7B,$84,$03,$6E,$91,$00,$60 .db $22,$71,$04,$7B,$7B,$00,$00,$FF .db $44,$00,$20,$00,$27,$44,$D8,$24 .db $05,$27,$DF,$20,$00,$DF,$DF,$23 .db $D8,$00,$00,$43,$18,$24,$01,$00 .db $3C,$22,$00,$00,$3C,$44,$00,$24 .db $02,$3C,$00,$18,$22,$00,$06,$18 .db $18,$00,$FC,$02,$C0,$3C,$43,$C0 .db $20,$46,$00,$20,$01,$E0,$00,$25 .db $C0,$02,$00,$60,$9F,$43,$6E,$91 .db $00,$66,$43,$99,$00,$0C,$81,$00 .db $C5,$00,$7B,$00,$6E,$6E,$66,$66 .db $7E,$3A,$00,$43,$7E,$81,$43,$66 .db $99,$46,$00,$99,$02,$E7,$00,$7E .db $24,$66,$00,$00,$43,$6E,$91,$43 .db $64,$9B,$09,$00,$9B,$00,$95,$00 .db $91,$00,$F1,$00,$6E,$22,$64,$04 .db $60,$60,$00,$00,$07,$45,$00,$04 .db $47,$03,$04,$00,$00,$25,$03,$02 .db $00,$00,$FF,$45,$00,$99,$47,$66 .db $99,$00,$00,$25,$66,$02,$00,$00 .db $FF,$44,$00,$81,$00,$9F,$44,$60 .db $91,$05,$9F,$7E,$81,$00,$7E,$7E .db $23,$60,$88,$00,$17,$43,$C6,$29 .db $06,$CE,$31,$FC,$02,$00,$FC,$FE .db $22,$C6,$03,$CE,$00,$00,$FF,$44 .db $00,$81,$00,$E7,$47,$18,$24,$02 .db $00,$7E,$7E,$23,$18,$02,$00,$00 .db $F0,$45,$00,$90,$47,$60,$90,$00 .db $00,$25,$60,$00,$00,$4F,$00,$01 .db $27,$00,$45,$66,$99,$00,$3C,$43 .db $42,$00,$43,$24,$00,$0C,$18,$00 .db $66,$66,$3C,$3C,$18,$18,$00,$7E .db $81,$60,$9F,$43,$60,$90,$01,$00 .db $9F,$44,$00,$81,$01,$FF,$00,$23 .db $60,$06,$7E,$7E,$00,$F8,$04,$CC .db $32,$43,$C6,$29,$46,$00,$29,$02 .db $EF,$00,$CC,$24,$C6,$08,$00,$00 .db $3F,$00,$41,$00,$81,$70,$8F,$43 .db $60,$90,$0B,$30,$48,$38,$44,$00 .db $3E,$7E,$70,$60,$60,$30,$00,$47 .db $60,$90,$01,$00,$9F,$44,$00,$81 .db $01,$FF,$00,$23,$60,$04,$7E,$7E .db $00,$00,$C0,$44,$00,$40,$00,$C0 .db $24,$00,$05,$C0,$80,$40,$00,$80 .db $80,$25,$00,$05,$FC,$00,$82,$00 .db $81,$00,$44,$99,$66,$06,$6E,$91 .db $7C,$82,$00,$7C,$7E,$22,$66,$03 .db $6E,$00,$00,$FF,$44,$00,$99,$44 .db $89,$76,$43,$7E,$81,$02,$00,$66 .db $66,$22,$76,$07,$7E,$00,$0E,$1F .db $0A,$1B,$0A,$3B,$43,$15,$31,$19 .db $2E,$20,$1F,$00,$0F,$00,$11,$15 .db $35,$2E,$2E,$1F,$1B,$01,$00,$18 .db $18,$24,$3C,$42,$18,$66,$18,$2C .db $20,$5A,$84,$00,$00,$22,$18,$01 .db $08,$3C,$22,$00,$43,$FF,$7F,$00 .db $F0,$48,$7F,$F3,$03,$F0,$00,$7F .db $70,$23,$73,$01,$70,$00,$23,$FF .db $02,$2F,$FF,$EF,$44,$FF,$F6,$0B .db $F8,$FF,$38,$00,$FF,$2F,$EF,$F6 .db $F6,$F8,$38,$00,$23,$FF,$02,$24 .db $FF,$27,$44,$FF,$67,$0B,$E7,$FF .db $E7,$00,$FF,$24,$27,$67,$67,$E7 .db $E7,$00,$43,$FF,$FE,$00,$0F,$49 .db $FE,$3F,$02,$00,$FE,$0E,$24,$3E .db $07,$00,$FF,$60,$80,$40,$80,$00 .db $83,$43,$03,$87,$00,$07,$43,$8F .db $00,$1E,$7F,$7F,$7C,$78,$78,$70 .db $70,$00,$FF,$06,$07,$02,$03,$06 .db $C7,$C2,$E3,$C6,$E7,$82,$93,$06 .db $F7,$00,$F8,$FC,$38,$1C,$18,$6C .db $08,$38,$00,$02,$0F,$00,$0F,$4B .db $06,$09,$00,$00,$26,$06,$19,$00 .db $FF,$0A,$0B,$06,$07,$0A,$1B,$16 .db $3F,$12,$3B,$3A,$7F,$02,$7F,$00 .db $F4,$F8,$E4,$C0,$C4,$80,$80,$3F .db $BF,$4D,$41,$81,$00,$40,$26,$7E .db $01,$3F,$BF,$4D,$41,$81,$00,$40 .db $26,$7E,$26,$00,$08,$01,$00,$02 .db $00,$04,$00,$08,$00,$10,$23,$00 .db $09,$01,$03,$07,$0F,$00,$07,$00 .db $38,$00,$C0,$23,$00,$0D,$07,$00 .db $1F,$00,$7F,$00,$00,$07,$3F,$FF .db $FF,$F8,$E0,$80,$43,$03,$04,$01 .db $00,$7F,$45,$7F,$80,$43,$40,$80 .db $25,$00,$01,$3F,$3F,$43,$C0,$20 .db $0B,$00,$FE,$FE,$01,$DE,$01,$CE .db $01,$06,$01,$02,$01,$23,$00,$05 .db $20,$30,$F8,$FC,$00,$09,$22,$00 .db $12,$25,$00,$04,$00,$0E,$00,$2E .db $04,$0F,$04,$1F,$09,$00,$25,$04 .db $0E,$2E,$0B,$1B,$4A,$7F,$F3,$04 .db $F0,$7F,$FF,$00,$FF,$24,$73,$02 .db $70,$7F,$00,$44,$FF,$F9,$43,$F2 .db $FF,$0E,$E7,$FF,$27,$FF,$FF,$00 .db $FF,$F9,$F9,$F2,$F2,$E7,$27,$FF .db $00,$48,$FF,$E7,$43,$67,$FF,$02 .db $FF,$00,$FF,$23,$E7,$03,$67,$67 .db $FF,$00,$4C,$FE,$3F,$02,$FF,$00 .db $FF,$25,$3E,$01,$FE,$00,$44,$00 .db $80,$4A,$8F,$07,$01,$7F,$7F,$25 .db $70,$08,$02,$03,$06,$07,$02,$F3 .db $E6,$F7,$E2,$86,$04,$9D,$01,$FC .db $F8,$45,$0C,$08,$37,$00,$4F,$06 .db $09,$28,$06,$03,$07,$0A,$0B,$02 .db $4A,$7F,$3A,$01,$F8,$F4,$25,$80 .db $00,$FF,$44,$FF,$00,$02,$18,$EF .db $10,$46,$FF,$00,$27,$00,$00,$FF .db $44,$FF,$00,$02,$18,$EF,$10,$46 .db $FF,$00,$28,$00,$43,$20,$01,$44 .db $40,$03,$45,$07,$80,$04,$1F,$1E .db $3E,$3C,$3C,$22,$78,$49,$FF,$00 .db $04,$FE,$00,$FC,$00,$F8,$25,$00 .db $03,$01,$03,$07,$40,$46,$80,$7F .db $01,$00,$7F,$45,$03,$04,$00,$3F .db $26,$00,$09,$06,$01,$CE,$01,$DE .db $01,$FE,$01,$00,$FE,$45,$C0,$20 .db $02,$F8,$30,$20,$25,$00,$E0,$2E .db $1F,$0E,$3F,$1B,$7B,$31,$F1,$44 .db $C0,$8E,$80,$5F,$40,$3F,$20,$1F .db $31,$64,$CE,$BF,$7F,$3B,$11,$FE .db $7F,$FD,$BF,$FB,$DF,$F7,$EF,$EF .db $F7,$DF,$FB,$BF,$FD,$7F,$FE,$FE .db $FD,$FB,$F7,$EF,$DF,$BF,$7F,$F0 .db $47,$05,$A0,$47,$07,$8F,$07,$03 .db $BF,$20,$FC,$00,$FF,$20,$F8,$23 .db $70,$03,$40,$33,$00,$37,$85,$04 .db $A0,$11,$C6,$D7,$82,$A3,$06,$27 .db $02,$E3,$06,$07,$0C,$08,$0C,$28 .db $5C,$D8,$1C,$F8,$37,$00,$4C,$06 .db $09,$02,$0F,$06,$0F,$25,$06,$01 .db $00,$02,$47,$3A,$7F,$07,$06,$7F .db $46,$FF,$06,$FF,$12,$FF,$24,$80 .db $02,$60,$60,$58,$83,$01,$97,$02 .db $07,$00,$0F,$44,$00,$1F,$02,$3F .db $00,$3F,$28,$00,$00,$3F,$4D,$00 .db $FF,$28,$00,$45,$07,$80,$43,$03 .db $40,$01,$00,$40,$43,$00,$20,$22 .db $78,$05,$3C,$3C,$3F,$1F,$1F,$F0 .db $83,$00,$B6,$07,$00,$80,$00,$01 .db $00,$03,$00,$07,$43,$00,$0F,$06 .db $1F,$3F,$7F,$FE,$FC,$F8,$F0,$4F .db $03,$04,$27,$00,$4F,$C0,$20,$2A .db $00,$0C,$01,$01,$0F,$01,$19,$01 .db $11,$07,$0F,$06,$17,$05,$0F,$22 .db $00,$1C,$06,$0E,$00,$09,$02,$00 .db $A8,$A8,$57,$FC,$04,$24,$DC,$86 .db $A6,$4B,$CF,$31,$FF,$CF,$FF,$00 .db $00,$AB,$23,$59,$B4,$CE,$30,$24 .db $00,$0A,$F6,$00,$0A,$00,$04,$B0 .db $B8,$A0,$A8,$E0,$E5,$22,$00,$04 .db $F4,$F8,$40,$50,$1A,$F0,$2F,$05 .db $A0,$E0,$2E,$00,$31,$30,$4B,$78 .db $85,$50,$A5,$C4,$4A,$00,$F2,$00 .db $0D,$00,$03,$00,$30,$4A,$4A,$74 .db $CC,$02,$00,$00,$30,$30,$48,$78 .db $84,$50,$A4,$C0,$4C,$00,$F2,$00 .db $25,$00,$7B,$00,$30,$48,$48,$70 .db $CC,$1A,$88,$07,$97,$07,$C4,$4A .db $00,$F1,$00,$0E,$00,$0A,$83,$07 .db $A8,$01,$74,$CE,$26,$00,$0A,$33 .db $30,$4D,$70,$85,$50,$A5,$C0,$4E .db $00,$FA,$22,$00,$1C,$32,$4A,$4A .db $70,$C0,$00,$04,$00,$40,$00,$01 .db $00,$04,$00,$10,$00,$04,$00,$45 .db $00,$0E,$04,$40,$01,$04,$10,$04 .db $45,$0E,$43,$3F,$00,$43,$1F,$00 .db $83,$03,$BF,$00,$01,$2A,$00,$4D .db $FF,$00,$00,$3F,$29,$00,$04,$10 .db $00,$08,$00,$04,$83,$00,$1A,$25 .db $00,$03,$0F,$07,$03,$01,$23,$00 .db $43,$1F,$00,$00,$07,$25,$00,$0C .db $C0,$00,$38,$00,$07,$E0,$E0,$F8 .db $FF,$FF,$3F,$07,$00,$4F,$03,$04 .db $27,$00,$4F,$C0,$20,$27,$00,$08 .db $05,$17,$05,$2E,$07,$17,$02,$0A .db $0E,$22,$0F,$E0,$25,$01,$05,$00 .db $04,$0A,$12,$08,$05,$0D,$0C,$02 .db $03,$CE,$32,$86,$78,$85,$79,$00 .db $60,$09,$B9,$33,$F3,$86,$C6,$7F .db $7F,$31,$31,$32,$FF,$F6,$FC,$79 .db $80,$C0,$C2,$43,$80,$C4,$11,$B8 .db $BC,$E0,$E8,$60,$64,$00,$02,$70 .db $72,$3C,$78,$78,$40,$70,$F8,$FC .db $8C,$F0,$30,$07,$50,$16,$06,$06 .db $09,$0D,$10,$0D,$76,$46,$C9,$19 .db $86,$3F,$80,$3F,$40,$00,$00,$06 .db $00,$30,$79,$63,$01,$24,$00,$02 .db $C0,$00,$A0,$44,$00,$20,$02,$40 .db $00,$80,$22,$00,$04,$40,$C0,$C0 .db $80,$00,$97,$05,$A0,$22,$00,$0C .db $01,$01,$03,$01,$05,$00,$18,$01 .db $11,$06,$0F,$05,$17,$22,$00,$04 .db $02,$07,$0E,$01,$0A,$87,$07,$20 .db $01,$84,$A4,$89,$07,$2A,$03,$5B .db $B4,$CE,$30,$22,$00,$14,$80,$00 .db $40,$00,$36,$60,$6A,$00,$04,$80 .db $88,$F0,$F4,$00,$00,$80,$C0,$94 .db $F8,$70,$08,$24,$00,$03,$1F,$00 .db $30,$01,$46,$20,$03,$22,$00,$01 .db $0F,$1E,$22,$1C,$24,$00,$03,$F8 .db $00,$0C,$80,$46,$04,$C0,$22,$00 .db $01,$F0,$78,$22,$38,$03,$01,$03 .db $03,$07,$43,$07,$0F,$01,$04,$0F .db $43,$00,$07,$03,$01,$07,$00,$03 .db $22,$07,$05,$03,$03,$00,$FF,$FF .db $EF,$44,$FF,$C7,$E0,$27,$EE,$FF .db $3C,$87,$38,$8F,$F1,$1F,$54,$FF .db $EF,$EF,$FF,$63,$67,$0E,$A0,$A2 .db $E0,$E2,$F0,$F2,$E0,$E9,$60,$EE .db $40,$C4,$80,$A8,$00,$F0,$5C,$9C .db $CC,$F6,$F0,$B8,$50,$00,$83,$09 .db $C0,$43,$07,$0F,$02,$04,$0F,$00 .db $43,$07,$01,$02,$06,$00,$03,$22 .db $07,$01,$03,$02,$83,$09,$D7,$44 .db $FF,$C7,$8F,$09,$E0,$16,$18,$19 .db $C0,$C2,$E0,$E1,$E0,$E2,$60,$E3 .db $40,$D1,$80,$FE,$00,$80,$E6,$BC .db $DE,$FC,$FC,$AE,$00,$98,$09,$2F .db $97,$05,$A0,$03,$03,$3C,$03,$04 .db $43,$01,$02,$43,$00,$01,$04,$01 .db $03,$00,$03,$01,$24,$00,$05,$01 .db $00,$00,$7F,$86,$01,$43,$FC,$02 .db $01,$84,$7A,$45,$00,$FC,$06,$80 .db $FE,$78,$00,$00,$70,$F8,$98,$09 .db $2F,$01,$0D,$1F,$83,$08,$8A,$10 .db $06,$0E,$02,$0B,$0F,$0F,$0D,$0D .db $00,$04,$02,$12,$08,$01,$05,$0C .db $0E,$98,$08,$9F,$01,$E0,$E2,$44 .db $80,$C4,$04,$84,$80,$8C,$60,$68 .db $83,$08,$C2,$00,$1C,$22,$78,$06 .db $70,$F0,$F8,$FC,$01,$20,$00,$44 .db $20,$01,$03,$00,$30,$00,$1F,$23 .db $00,$04,$1E,$1F,$1E,$1E,$0F,$22 .db $00,$02,$80,$04,$00,$44,$04,$80 .db $03,$00,$0C,$00,$F8,$23,$00,$04 .db $78,$F8,$78,$78,$F0,$22,$00,$03 .db $07,$0E,$07,$0F,$45,$0F,$1F,$07 .db $18,$3F,$12,$3C,$04,$19,$06,$07 .db $22,$0F,$07,$18,$13,$06,$FB,$0F .db $FF,$1F,$FF,$44,$FF,$FE,$0D,$0F .db $FF,$43,$8F,$80,$2F,$07,$1F,$FF .db $FE,$FE,$0F,$73,$D0,$45,$00,$80 .db $24,$00,$04,$80,$80,$C0,$00,$80 .db $25,$00,$03,$80,$00,$07,$0F,$43 .db $0F,$1F,$14,$07,$0F,$00,$0F,$0A .db $1C,$04,$19,$00,$0C,$07,$0F,$0F .db $07,$00,$0B,$06,$00,$FE,$1F,$FE .db $24,$FF,$0E,$0F,$FF,$4F,$8F,$82 .db $2F,$00,$1F,$1E,$FE,$FF,$FF,$0F .db $7F,$D2,$25,$00,$46,$80,$00,$2B .db $00,$F0,$2F,$05,$A0,$FF,$01,$00 .db $FF,$4D,$7F,$80,$28,$00,$00,$FF .db $4D,$FE,$01,$27,$00,$E4,$2F,$FF .db $17,$FE,$7F,$FD,$BF,$FB,$DF,$F7 .db $EF,$EF,$F7,$DF,$FB,$BF,$FD,$7F .db $FE,$FE,$FD,$FB,$F7,$EF,$DF,$BF .db $7F,$97,$00,$60,$E0,$31,$07,$07 .db $0E,$08,$3F,$3F,$01,$06,$3F,$3C .db $3D,$3F,$00,$1F,$0F,$0F,$00,$01 .db $00,$04,$3C,$3D,$00,$0F,$F0,$F0 .db $08,$08,$FC,$FC,$08,$FC,$D4,$FC .db $94,$FC,$F8,$FC,$F0,$F8,$00,$F0 .db $00,$C8,$DC,$9C,$F8,$F0,$00,$00 .db $8D,$00,$90,$00,$00,$85,$00,$A0 .db $22,$00,$8D,$00,$A8,$00,$00,$86 .db $00,$B8,$83,$00,$C0,$E0,$2B,$09 .db $08,$1F,$1F,$24,$3B,$2F,$39,$3B .db $3F,$10,$1F,$00,$00,$06,$00,$29 .db $29,$3B,$10,$00,$00,$E0,$E0,$90 .db $10,$F8,$F8,$24,$DC,$F4,$9C,$DC .db $FC,$08,$F8,$00,$00,$60,$00,$94 .db $94,$DC,$08,$8D,$00,$F2,$01,$3F .db $3F,$86,$01,$01,$00,$0F,$8D,$01 .db $0A,$01,$F0,$F0,$86,$01,$19,$84 .db $00,$BF,$13,$08,$08,$10,$10,$08 .db $18,$17,$3F,$18,$3F,$08,$1F,$00 .db $00,$07,$0F,$07,$30,$38,$18,$83 .db $01,$08,$13,$10,$10,$08,$08,$10 .db $18,$E8,$FC,$18,$FC,$10,$F8,$00 .db $00,$E0,$F0,$E0,$0C,$1C,$18,$4D .db $7F,$80,$01,$00,$FF,$27,$00,$4D .db $FE,$01,$01,$00,$FF,$27,$00,$E4 .db $2F,$FF,$F0,$2F,$00,$60,$0D,$14 .db $10,$29,$20,$3F,$70,$3F,$60,$07 .db $00,$23,$20,$11,$10,$22,$0F,$0E .db $1F,$66,$76,$3F,$1F,$0F,$00,$C4 .db $04,$CC,$4E,$FE,$3F,$F4,$0E,$43 .db $FA,$02,$11,$22,$02,$3C,$3C,$F8 .db $B6,$4F,$7E,$FC,$FC,$3C,$00,$0F .db $0F,$07,$06,$0F,$08,$43,$0F,$00 .db $00,$07,$22,$00,$15,$07,$07,$0F .db $01,$04,$0C,$0F,$07,$03,$00,$F0 .db $F8,$F0,$70,$88,$08,$F8,$78,$A0 .db $70,$C0,$30,$83,$01,$08,$44,$F0 .db $80,$16,$F0,$E0,$00,$0F,$0F,$16 .db $10,$2F,$20,$3F,$30,$1F,$30,$0F .db $10,$01,$00,$0E,$0E,$0F,$0F,$19 .db $09,$83,$02,$24,$E0,$22,$F0,$F0 .db $68,$08,$F4,$04,$FC,$0C,$F8,$0C .db $F0,$08,$80,$00,$70,$70,$F0,$F0 .db $98,$90,$FC,$F8,$F0,$00,$46,$40 .db $4F,$40,$3F,$70,$01,$30,$0F,$0E .db $0F,$22,$0E,$0B,$00,$00,$3F,$39 .db $69,$3F,$01,$01,$00,$00,$60,$0C .db $43,$EC,$1E,$04,$F0,$0C,$F0,$00 .db $E0,$24,$00,$0F,$FC,$9E,$9E,$FC .db $F0,$F0,$70,$00,$07,$0F,$16,$10 .db $23,$20,$2F,$20,$89,$02,$78,$01 .db $1F,$1F,$83,$02,$24,$07,$E0,$F0 .db $68,$08,$C4,$04,$F4,$04,$89,$02 .db $90,$01,$F8,$F8,$83,$02,$9C,$8D .db $01,$52,$01,$07,$0F,$86,$01,$61 .db $00,$0F,$8D,$01,$6A,$01,$E8,$F8 .db $86,$01,$79,$00,$F0,$36,$00,$00 .db $01,$2D,$00,$00,$01,$25,$00,$02 .db $04,$03,$02,$84,$00,$F0,$11,$E8 .db $5F,$FF,$64,$FB,$EF,$F9,$9B,$9F .db $50,$5F,$00,$00,$E6,$E0,$E9,$09 .db $7B,$84,$02,$63,$93,$01,$0C,$0F .db $00,$01,$00,$05,$00,$03,$03,$07 .db $03,$0F,$0D,$13,$1E,$21,$1C,$23 .db $22,$00,$02,$07,$03,$01,$24,$00 .db $0C,$40,$00,$80,$80,$C0,$80,$E0 .db $60,$90,$F0,$08,$70,$88,$22,$00 .db $01,$C0,$80,$22,$00,$02,$3C,$00 .db $7E,$48,$00,$FF,$02,$7E,$00,$3C .db $2B,$00,$03,$07,$00,$1F,$00,$83 .db $00,$CD,$00,$07,$2C,$00,$0C,$02 .db $02,$05,$02,$0D,$0A,$15,$02,$1D .db $01,$1E,$04,$0B,$83,$02,$49,$1D .db $08,$10,$18,$1C,$0A,$07,$00,$80 .db $80,$40,$80,$60,$A0,$50,$80,$70 .db $40,$B0,$00,$E0,$00,$C0,$00,$00 .db $20,$10,$30,$30,$E0,$C0,$22,$00 .db $0C,$18,$08,$14,$08,$37,$14,$2B .db $03,$3C,$04,$1B,$00,$0F,$22,$00 .db $04,$20,$20,$38,$18,$0F,$22,$00 .db $08,$30,$20,$50,$20,$D8,$50,$A8 .db $80,$78,$83,$04,$12,$22,$00,$04 .db $08,$08,$38,$30,$E0,$63,$01,$05 .db $02,$05,$03,$04,$03,$0A,$43,$00 .db $08,$01,$02,$0C,$23,$00,$0D,$04 .db $07,$07,$01,$20,$D0,$F0,$08,$D0 .db $28,$F0,$08,$30,$14,$43,$00,$04 .db $01,$10,$08,$23,$00,$07,$C8,$F8 .db $F8,$E0,$36,$30,$43,$40,$43,$3F .db $70,$03,$0F,$30,$0F,$08,$83,$02 .db $AC,$0B,$0F,$3F,$7F,$7F,$3F,$07 .db $00,$00,$64,$04,$C4,$04,$43,$F8 .db $00,$02,$80,$00,$F0,$24,$70,$23 .db $F8,$01,$F0,$80,$2B,$00,$04,$06 .db $00,$07,$00,$03,$23,$00,$03,$10 .db $08,$06,$04,$28,$00,$02,$0C,$00 .db $0F,$44,$00,$07,$0D,$00,$40,$20 .db $18,$1C,$0A,$04,$00,$4F,$4F,$26 .db $20,$1F,$10,$43,$1F,$00,$83,$00 .db $9F,$05,$0E,$0E,$3F,$1F,$09,$19 .db $83,$00,$9D,$97,$02,$88,$02,$0D .db $13,$12,$44,$3F,$1F,$12,$0E,$1F .db $10,$3F,$38,$7C,$00,$38,$01,$33 .db $3F,$3F,$1F,$3F,$7C,$38,$60,$90 .db $90,$44,$F8,$F0,$03,$E0,$F0,$10 .db $F8,$83,$05,$1C,$0E,$00,$98,$F8 .db $F8,$F0,$F8,$7C,$38,$FF,$00,$37 .db $00,$40,$00,$2E,$30,$00,$06,$7F .db $00,$1F,$00,$20,$00,$07,$30,$00 .db $09,$33,$33,$7B,$4A,$3F,$26,$1F .db $18,$07,$07,$26,$00,$02,$31,$19 .db $07,$23,$00,$09,$98,$98,$BC,$A4 .db $F8,$C8,$F0,$30,$C0,$C0,$26,$00 .db $02,$18,$30,$C0,$23,$00,$09,$03 .db $03,$33,$32,$7F,$4E,$3F,$20,$1F .db $1F,$26,$00,$02,$01,$31,$1F,$23 .db $00,$09,$80,$80,$98,$98,$FC,$E4 .db $F8,$08,$F0,$F0,$27,$00,$01,$18 .db $F0,$23,$00,$0A,$09,$1A,$10,$31 .db $07,$20,$0F,$10,$03,$1C,$1C,$43 .db $3F,$00,$16,$1E,$04,$0E,$18,$00 .db $00,$1C,$1E,$00,$E0,$10,$00,$E8 .db $E0,$08,$E0,$10,$90,$78,$00,$F8 .db $00,$70,$22,$00,$04,$10,$10,$00 .db $10,$70,$24,$00,$0C,$06,$06,$09 .db $0B,$14,$0F,$70,$46,$C9,$00,$86 .db $1C,$80,$24,$00,$02,$30,$79,$63 .db $26,$00,$02,$C0,$00,$A0,$44,$00 .db $20,$00,$40,$23,$00,$03,$40,$C0 .db $C0,$80,$8D,$06,$02,$01,$3E,$40 .db $23,$00,$03,$30,$79,$63,$01,$24 .db $00,$02,$C0,$00,$A0,$44,$00,$20 .db $02,$40,$00,$80,$22,$00,$83,$06 .db $2C,$26,$00,$04,$1D,$00,$3F,$00 .db $7F,$43,$00,$FF,$2A,$00,$02,$6C .db $00,$FE,$49,$00,$FF,$28,$00,$8A .db $01,$52,$04,$7F,$28,$7F,$54,$5F .db $84,$01,$61,$02,$78,$58,$2C,$8D .db $01,$6A,$01,$20,$FC,$86,$01,$79 .db $0C,$3C,$00,$01,$01,$0A,$09,$16 .db $06,$19,$00,$0F,$06,$0B,$43,$07 .db $09,$23,$00,$13,$01,$03,$01,$01 .db $70,$00,$58,$A0,$70,$80,$D8,$20 .db $F8,$00,$70,$8C,$00,$FF,$0A,$F5 .db $24,$00,$04,$88,$F8,$70,$00,$02 .db $43,$02,$05,$05,$05,$0A,$06,$09 .db $0F,$11,$43,$0F,$10,$24,$00,$12 .db $01,$00,$00,$38,$80,$AC,$50,$B8 .db $40,$6C,$90,$7C,$80,$B8,$C0,$80 .db $F8,$28,$D4,$23,$00,$13,$80,$C0 .db $E0,$40,$00,$08,$08,$15,$1C,$22 .db $1C,$23,$0C,$32,$2A,$75,$77,$E8 .db $1F,$E0,$22,$00,$06,$18,$08,$22 .db $77,$1F,$00,$80,$22,$00,$00,$C0 .db $26,$00,$02,$C0,$C0,$30,$26,$00 .db $10,$C0,$00,$18,$18,$24,$30,$48 .db $78,$84,$70,$88,$78,$84,$60,$98 .db $00,$60,$2A,$00,$06,$E0,$60,$98 .db $18,$64,$00,$1C,$2D,$00,$05,$3E .db $40,$02,$3C,$03,$04,$43,$01,$02 .db $07,$00,$07,$04,$0F,$00,$07,$01 .db $01,$22,$00,$0A,$02,$07,$00,$00 .db $80,$00,$7F,$00,$09,$80,$1E,$43 .db $C0,$3F,$0B,$20,$FE,$00,$FC,$00 .db $80,$F6,$68,$1E,$0E,$3C,$00,$83 .db $07,$82,$43,$01,$02,$43,$00,$01 .db $04,$01,$03,$00,$03,$01,$24,$00 .db $00,$01,$83,$05,$56,$06,$01,$84 .db $02,$FC,$02,$84,$7A,$45,$00,$FC .db $06,$80,$FE,$78,$00,$00,$70,$F8 .db $44,$00,$FF,$43,$7F,$00,$04,$1B .db $00,$03,$00,$01,$2A,$00,$4B,$FF .db $00,$02,$DF,$00,$0E,$28,$00,$03 .db $2E,$28,$23,$20,$43,$1F,$00,$02 .db $0F,$00,$0F,$22,$00,$02,$0E,$0E .db $17,$22,$1F,$0F,$0F,$0F,$0E,$00 .db $7C,$1E,$C4,$06,$F4,$14,$F8,$08 .db $F4,$04,$D8,$18,$23,$00,$07,$E6 .db $FA,$E8,$F0,$F8,$C0,$00,$00,$43 .db $02,$05,$09,$00,$03,$00,$07,$06 .db $0F,$03,$0F,$00,$03,$23,$00,$11 .db $01,$01,$06,$03,$00,$00,$82,$7D .db $C4,$3A,$40,$BC,$00,$F0,$00,$C0 .db $00,$80,$23,$00,$03,$38,$10,$10 .db $80,$23,$00,$05,$06,$09,$02,$05 .db $01,$02,$47,$00,$01,$29,$00,$03 .db $90,$68,$80,$70,$43,$00,$E0,$83 .db $02,$67,$01,$00,$80,$23,$00,$07 .db $40,$00,$E0,$80,$00,$00,$0F,$10 .db $43,$07,$08,$03,$03,$04,$00,$03 .db $25,$00,$03,$0F,$07,$07,$03,$23 .db $00,$01,$F0,$08,$43,$F8,$04,$43 .db $FC,$02,$01,$06,$F9,$83,$08,$42 .db $83,$02,$F9,$13,$FC,$06,$02,$00 .db $00,$0C,$0C,$12,$1E,$21,$3C,$42 .db $3E,$41,$3C,$42,$18,$24,$00,$18 .db $29,$00,$02,$3C,$00,$7E,$44,$00 .db $FF,$02,$7E,$00,$3C,$2F,$00,$0A .db $03,$03,$0C,$0F,$10,$0A,$15,$1F .db $20,$15,$2A,$26,$00,$00,$0A,$24 .db $00,$02,$C0,$C0,$30,$83,$08,$B8 .db $83,$07,$58,$25,$00,$01,$80,$80 .db $83,$00,$D0,$00,$03,$44,$00,$07 .db $43,$03,$00,$00,$07,$28,$00,$06 .db $0C,$00,$3E,$00,$3F,$00,$1B,$84 .db $09,$31,$02,$05,$00,$0F,$28,$00 .db $17,$0F,$0F,$1C,$10,$7F,$7F,$02 .db $0D,$7F,$79,$7B,$7F,$01,$3F,$1F .db $1F,$00,$03,$00,$09,$79,$7B,$01 .db $1F,$83,$01,$6A,$06,$F8,$F8,$10 .db $F8,$A8,$F8,$28,$84,$05,$2D,$07 .db $00,$E0,$00,$90,$B8,$38,$F0,$E0 .db $F0,$2F,$01,$50,$44,$00,$02,$83 .db $09,$52,$06,$AF,$00,$6F,$00,$F8 .db $00,$1F,$22,$00,$00,$02,$24,$00 .db $08,$10,$00,$30,$00,$E0,$00,$60 .db $00,$EA,$84,$06,$79,$00,$F8,$22 .db $00,$00,$80,$23,$00,$01,$05,$05 .db $44,$03,$00,$0A,$03,$07,$04,$0E .db $09,$0F,$1C,$67,$1F,$00,$03,$22 .db $00,$04,$04,$18,$17,$E0,$E0,$83 .db $06,$2D,$09,$C0,$C0,$E0,$00,$B0 .db $58,$78,$1C,$F8,$FC,$23,$00,$1F .db $80,$88,$9C,$FC,$00,$6A,$38,$C7 .db $25,$5A,$39,$C6,$25,$DA,$38,$47 .db $00,$FF,$00,$6A,$15,$38,$A5,$39 .db $25,$B8,$00,$15,$00,$AA,$C8,$37 .db $45,$2A,$D5,$07,$C5,$3A,$00,$FF .db $00,$AA,$55,$C8,$22,$2A,$0E,$C5 .db $00,$55,$00,$AA,$9B,$64,$A2,$5D .db $93,$6C,$8A,$75,$33,$CC,$84,$0A .db $44,$04,$9B,$A2,$93,$8A,$33,$83 .db $0A,$4E,$09,$B8,$47,$24,$DA,$38 .db $C7,$24,$DB,$A4,$5A,$83,$0A,$44 .db $11,$54,$B8,$25,$38,$24,$A5,$00 .db $54,$10,$2F,$0A,$15,$0F,$10,$03 .db $0C,$00,$03,$25,$00,$01,$0F,$05 .db $25,$00,$09,$70,$88,$F8,$04,$F0 .db $08,$C0,$30,$00,$C0,$25,$00,$00 .db $80,$2A,$00,$0A,$04,$00,$20,$00 .db $71,$00,$70,$00,$21,$00,$03,$32 .db $00,$00,$04,$22,$00,$00,$41,$28 .db $00,$1C,$E0,$E0,$60,$E0,$1F,$7F .db $3F,$00,$0F,$00,$47,$40,$22,$20 .db $1C,$1C,$FF,$FF,$60,$2F,$7F,$3F .db $1E,$00,$60,$40,$F0,$C0,$F0,$44 .db $00,$E0,$00,$C0,$24,$00,$03,$A0 .db $30,$F0,$E0,$83,$04,$1E,$07,$17 .db $1F,$26,$20,$23,$20,$1F,$10,$43 .db $3F,$00,$0D,$5F,$40,$33,$30,$0F .db $1F,$1F,$0F,$7F,$7F,$3F,$03,$E8 .db $F8,$84,$04,$98,$00,$08,$43,$FC .db $00,$0D,$FA,$02,$CC,$0C,$F0,$F8 .db $F8,$F0,$FE,$FE,$FC,$C0,$00,$0F .db $44,$00,$1B,$08,$1F,$00,$0B,$00 .db $0C,$00,$07,$00,$01,$28,$00,$00 .db $F0,$44,$00,$78,$03,$F8,$00,$B0 .db $00,$83,$08,$8B,$00,$80,$27,$00 .db $E0,$2E,$42,$3D,$30,$7F,$1A,$3D .db $0C,$1B,$0F,$18,$17,$3C,$3C,$7F .db $A0,$5C,$31,$78,$3C,$1B,$18,$3C .db $7F,$5C,$10,$E8,$02,$FC,$2D,$DE .db $12,$FC,$F0,$08,$F4,$18,$08,$B0 .db $00,$00,$E0,$0C,$1E,$FC,$08,$18 .db $B0,$84,$03,$DA,$04,$38,$00,$30 .db $00,$38,$83,$03,$E0,$22,$00,$07 .db $07,$1F,$38,$30,$38,$1F,$07,$00 .db $97,$00,$60,$E4,$2F,$FF,$FF,$3E .db $00,$08,$01,$01,$06,$06,$09,$09 .db $16,$17,$28,$24,$00,$02,$01,$07 .db $0F,$22,$00,$0B,$0F,$0F,$70,$70 .db $8F,$8F,$70,$7F,$80,$FF,$00,$FF .db $23,$00,$01,$0F,$7F,$22,$FF,$05 .db $00,$FF,$FF,$00,$00,$FF,$48,$FF .db $00,$22,$00,$25,$FF,$0E,$00,$E0 .db $E0,$1E,$1E,$E1,$01,$1E,$C0,$01 .db $E6,$06,$F9,$01,$FE,$22,$00,$05 .db $E0,$FE,$FF,$F9,$FE,$FF,$24,$00 .db $0A,$80,$80,$60,$60,$98,$18,$64 .db $84,$9A,$E2,$E5,$23,$00,$03,$80 .db $E0,$78,$1C,$E4,$30,$00,$08,$07 .db $07,$18,$18,$27,$27,$58,$2B,$54 .db $43,$4B,$B4,$06,$5F,$A0,$00,$07 .db $1F,$38,$20,$22,$60,$1F,$00,$C0 .db $C0,$30,$30,$C8,$C8,$34,$F4,$0A .db $C2,$3D,$B2,$4D,$F0,$0E,$00,$C0 .db $F0,$38,$0C,$06,$06,$04,$00,$FC .db $84,$1B,$81,$06,$80,$01,$47,$80 .db $00,$02,$00,$04,$01,$29,$00,$0A .db $C0,$C0,$20,$60,$90,$30,$48,$18 .db $24,$08,$14,$22,$00,$04,$C0,$60 .db $30,$18,$08,$89,$00,$C0,$43,$4B .db $B4,$86,$00,$CE,$22,$60,$83,$00 .db $D8,$13,$10,$E8,$E0,$1C,$90,$6C .db $64,$9A,$6A,$95,$EA,$15,$00,$C0 .db $F0,$18,$08,$0C,$06,$06,$85,$00 .db $C0,$09,$26,$59,$23,$5C,$46,$B9 .db $43,$BC,$5F,$AC,$86,$00,$D0,$00 .db $4C,$83,$00,$D8,$13,$70,$8C,$0C .db $F3,$32,$CD,$30,$CE,$F8,$07,$D8 .db $27,$00,$C0,$F0,$3C,$0E,$00,$04 .db $04,$24,$00,$02,$01,$01,$02,$43 .db $02,$05,$43,$05,$0A,$23,$00,$0B .db $01,$01,$03,$03,$2F,$50,$5F,$A0 .db $BF,$40,$7F,$80,$47,$FF,$00,$02 .db $1F,$3F,$7F,$25,$FF,$4E,$00,$FF .db $28,$FF,$4E,$00,$FF,$28,$FF,$4E .db $00,$FF,$27,$FF,$07,$B9,$3A,$DC .db $1D,$EE,$0E,$EF,$0F,$43,$F7,$07 .db $07,$FF,$07,$FB,$03,$C6,$E3,$F1 .db $F0,$22,$F8,$06,$FC,$00,$80,$80 .db $40,$40,$A0,$43,$20,$50,$01,$90 .db $A8,$43,$C8,$D4,$07,$00,$00,$80 .db $C0,$C0,$60,$30,$30,$37,$00,$01 .db $7F,$AA,$43,$7F,$BE,$15,$3F,$5F .db $37,$5D,$18,$27,$07,$18,$00,$07 .db $6A,$7E,$7E,$3F,$3D,$1F,$07,$00 .db $EA,$15,$F6,$09,$43,$FA,$05,$0E .db $E4,$1A,$18,$E4,$E0,$18,$00,$E0 .db $06,$0E,$06,$06,$1C,$F8,$E0,$4F .db $00,$80,$28,$00,$01,$0C,$12,$43 .db $04,$0A,$01,$06,$09,$47,$02,$05 .db $03,$0C,$04,$04,$06,$23,$02,$09 .db $5F,$A0,$7F,$AA,$5F,$B5,$27,$58 .db $38,$47,$85,$02,$4A,$09,$60,$6A .db $75,$38,$3F,$1F,$07,$00,$E8,$16 .db $83,$02,$5A,$1B,$F4,$0A,$EC,$12 .db $10,$EC,$C0,$30,$00,$C0,$04,$0E .db $06,$0C,$1C,$F0,$C0,$00,$5F,$BE .db $5E,$BF,$4F,$BF,$20,$5F,$27,$58 .db $85,$02,$4A,$0F,$5E,$5E,$6F,$30 .db $38,$1F,$07,$00,$9A,$65,$10,$EE .db $3A,$C5,$7A,$85,$87,$02,$60,$01 .db $02,$04,$85,$02,$6A,$01,$09,$16 .db $43,$0B,$14,$45,$17,$28,$43,$2F .db $50,$22,$07,$22,$0F,$01,$1F,$1F .db $4F,$FF,$00,$28,$FF,$4E,$00,$FF .db $28,$FF,$4E,$00,$FF,$28,$FF,$4E .db $00,$FF,$28,$FF,$02,$03,$FF,$03 .db $4B,$FD,$01,$01,$FC,$FC,$25,$FE .db $45,$E4,$EA,$49,$F2,$F5,$22,$18 .db $24,$0C,$38,$00,$8D,$01,$51,$87 .db $00,$CF,$00,$40,$84,$00,$D8,$0A .db $CC,$0C,$F3,$3A,$C5,$38,$C6,$F2 .db $0D,$DA,$25,$83,$01,$78,$03,$06 .db $04,$06,$02,$85,$00,$C0,$05,$0E .db $71,$05,$7A,$55,$AA,$43,$5F,$A0 .db $04,$00,$07,$1F,$00,$30,$22,$60 .db $07,$00,$E0,$E0,$18,$18,$E4,$64 .db $9A,$43,$FA,$05,$0B,$C4,$3A,$72 .db $8D,$00,$E0,$F8,$1C,$06,$06,$0C .db $06,$39,$00,$43,$80,$00,$43,$00 .db $80,$45,$80,$00,$24,$80,$23,$00 .db $84,$00,$C1,$03,$06,$79,$35,$4A .db $83,$03,$FA,$06,$4C,$B3,$00,$07 .db $1F,$08,$20,$22,$60,$85,$00,$D8 .db $01,$48,$B4,$43,$F4,$0A,$83,$04 .db $6E,$84,$00,$E8,$02,$0C,$08,$04 .db $45,$2F,$50,$49,$5F,$A0,$22,$1F .db $24,$3F,$4F,$FF,$00,$28,$FF,$4E .db $00,$FF,$28,$FF,$4E,$00,$FF,$28 .db $FF,$4E,$00,$FF,$27,$FF,$43,$FD .db $01,$4C,$FE,$00,$00,$FE,$25,$FF .db $47,$F9,$FA,$47,$FC,$FD,$23,$06 .db $23,$03,$47,$00,$80,$47,$80,$40 .db $27,$00,$01,$4F,$B0,$45,$40,$BF .db $19,$37,$4F,$3F,$4F,$0F,$3E,$07 .db $0F,$40,$40,$60,$60,$27,$3F,$0F .db $07,$9C,$63,$0C,$F2,$12,$ED,$3A .db $C5,$64,$9A,$85,$02,$62,$02,$00 .db $00,$02,$84,$02,$6B,$07,$4E,$B1 .db $4C,$B3,$53,$AC,$2F,$50,$87,$02 .db $D8,$22,$60,$84,$02,$E3,$05,$F2 .db $0D,$C4,$3A,$7A,$85,$8A,$02,$5E .db $00,$0C,$84,$02,$6A,$38,$00,$45 .db $80,$00,$43,$00,$80,$02,$80,$00 .db $80,$25,$00,$24,$80,$43,$40,$BF .db $01,$51,$AE,$89,$05,$76,$22,$60 .db $84,$02,$E3,$83,$04,$72,$43,$F4 .db $0A,$03,$C8,$34,$30,$C8,$84,$02 .db $C4,$05,$08,$0C,$0C,$38,$F0,$C0 .db $83,$04,$38,$E0,$2C,$40,$00,$60 .db $40,$78,$40,$7F,$48,$77,$4B,$77 .db $48,$74,$40,$A0,$98,$87,$98,$90 .db $90,$93,$00,$01,$00,$02,$00,$06 .db $02,$1E,$02,$FE,$0A,$F6,$CA,$F6 .db $0A,$36,$02,$05,$19,$E1,$19,$11 .db $11,$D1,$24,$00,$04,$18,$43,$7F .db $4B,$77,$43,$CB,$F7,$05,$4B,$77 .db $00,$18,$27,$1B,$23,$D3,$24,$00 .db $04,$18,$C0,$FC,$CA,$F6,$43,$CB .db $F7,$05,$CA,$F6,$00,$18,$E4,$DA .db $23,$D3,$4F,$FF,$00,$27,$FF,$4F .db $FE,$00,$27,$FF,$27,$FE,$27,$FF .db $23,$01,$23,$00,$47,$40,$A0,$47 .db $20,$50,$23,$80,$23,$C0,$13,$00 .db $0F,$03,$3C,$0F,$70,$1D,$60,$37 .db $DC,$34,$DF,$74,$9F,$70,$8F,$00 .db $0F,$3F,$3F,$22,$6B,$04,$7F,$00 .db $F8,$C0,$04,$43,$F0,$02,$09,$FA .db $03,$7A,$E3,$3A,$D3,$32,$D3,$00 .db $F8,$22,$FC,$0E,$9C,$EC,$EC,$00 .db $7F,$73,$8C,$40,$A0,$42,$82,$00 .db $C0,$22,$C0,$43,$40,$80,$03,$00 .db $0F,$3F,$3D,$23,$7F,$07,$00,$FE .db $FC,$01,$42,$03,$0A,$0B,$43,$02 .db $03,$1B,$12,$13,$02,$03,$00,$FE .db $FC,$F4,$FC,$FC,$EC,$FC,$01,$01 .db $10,$10,$31,$31,$3D,$3C,$3D,$35 .db $12,$02,$35,$30,$7F,$70,$22,$00 .db $14,$01,$08,$1D,$0E,$07,$00,$00 .db $A4,$A4,$92,$92,$D8,$D8,$55,$55 .db $57,$57,$2B,$23,$8B,$03,$23,$00 .db $13,$88,$88,$DC,$7C,$10,$10,$38 .db $38,$15,$15,$05,$05,$25,$24,$2D .db $2D,$72,$70,$D7,$C0,$24,$00,$12 .db $02,$0F,$3E,$90,$90,$C8,$C8,$CC .db $CC,$EE,$EE,$94,$94,$B8,$08,$E8 .db $08,$E6,$06,$23,$00,$03,$60,$60 .db $70,$78,$43,$48,$74,$03,$20,$38 .db $18,$18,$27,$00,$03,$90,$90,$40 .db $20,$23,$00,$43,$0A,$36,$03,$04 .db $1C,$18,$18,$27,$00,$03,$11,$11 .db $02,$04,$23,$00,$01,$4B,$77,$83 .db $07,$84,$29,$00,$02,$13,$47,$20 .db $24,$00,$01,$CA,$F6,$83,$07,$9C .db $29,$00,$02,$D0,$E2,$04,$24,$00 .db $4F,$FF,$00,$27,$FF,$47,$FD,$01 .db $45,$FB,$03,$01,$F7,$07,$23,$FE .db $22,$FC,$00,$F8,$2D,$FF,$01,$F8 .db $F8,$26,$00,$04,$07,$D0,$E8,$90 .db $A8,$43,$C8,$D4,$83,$03,$94,$1B .db $82,$8D,$0C,$72,$20,$60,$30,$30 .db $18,$0C,$7C,$F0,$52,$8D,$78,$87 .db $3D,$97,$1F,$80,$00,$40,$30,$70 .db $0F,$3F,$00,$0F,$23,$7F,$17,$3F .db $0F,$00,$00,$12,$F3,$72,$83,$66 .db $87,$86,$07,$0C,$0E,$3C,$3E,$F0 .db $FC,$00,$F0,$EC,$FC,$F8,$F8,$83 .db $05,$FD,$01,$62,$A2,$43,$40,$80 .db $0A,$64,$80,$51,$91,$40,$80,$3F .db $BF,$00,$7F,$5D,$22,$7F,$08,$6E .db $7F,$40,$00,$06,$03,$42,$03,$02 .db $84,$07,$0D,$05,$46,$07,$FE,$FF .db $00,$FE,$22,$FC,$0E,$F4,$FC,$F8 .db $00,$00,$9F,$80,$DF,$C0,$BF,$80 .db $9F,$80,$BF,$80,$43,$3F,$00,$0B .db $07,$00,$79,$30,$70,$78,$78,$70 .db $38,$07,$F9,$01,$43,$FB,$03,$00 .db $FC,$44,$00,$FE,$11,$FC,$00,$B8 .db $00,$36,$1C,$0C,$07,$0F,$0E,$1C .db $B8,$4F,$40,$7F,$60,$3F,$20,$45 .db $1F,$00,$06,$0F,$00,$07,$00,$34 .db $18,$14,$22,$10,$03,$08,$07,$F6 .db $06,$4B,$F8,$00,$13,$E0,$00,$38 .db $1C,$1C,$0C,$08,$28,$38,$E0,$00 .db $38,$38,$67,$3F,$63,$3F,$77,$7F .db $F7,$45,$7F,$FF,$04,$00,$20,$23 .db $37,$77,$22,$7F,$09,$00,$70,$70 .db $88,$F8,$8C,$F8,$DC,$FC,$DE,$45 .db $FC,$FE,$04,$08,$04,$8A,$DA,$DD .db $22,$FD,$29,$00,$05,$1F,$1F,$20 .db $3F,$40,$E0,$24,$00,$02,$1F,$20 .db $5F,$29,$00,$05,$C0,$C0,$30,$F0 .db $08,$3A,$24,$00,$02,$C0,$30,$C9 .db $4F,$FF,$00,$27,$FF,$43,$F7,$07 .db $43,$EF,$0F,$43,$DF,$1F,$11,$BF .db $3F,$7F,$7F,$F8,$F8,$F0,$F0,$E0 .db $E0,$C0,$80,$C0,$C7,$87,$B8,$98 .db $A7,$83,$02,$1A,$13,$E4,$EB,$F3 .db $F4,$E2,$ED,$3F,$78,$60,$60,$30 .db $18,$0C,$1C,$70,$8C,$80,$70,$00 .db $80,$26,$00,$83,$04,$3C,$27,$00 .db $16,$3E,$3E,$41,$31,$EE,$2F,$E0 .db $37,$F0,$1B,$78,$1D,$7C,$0E,$3E .db $00,$00,$5E,$5F,$4F,$27,$23,$11 .db $22,$00,$83,$00,$7D,$07,$90,$D0 .db $28,$E8,$10,$F0,$08,$F8,$23,$00 .db $04,$80,$E0,$F0,$F8,$F8,$4F,$00 .db $FF,$28,$00,$4E,$FF,$00,$27,$00 .db $01,$18,$E4,$43,$3C,$C2,$01,$38 .db $C4,$45,$3C,$C2,$01,$38,$C4,$22 .db $00,$00,$38,$22,$3C,$10,$38,$03 .db $00,$04,$03,$07,$38,$38,$47,$7F .db $80,$01,$FE,$00,$FF,$00,$23,$24 .db $00,$12,$7E,$03,$1C,$60,$00,$90 .db $60,$F0,$0E,$F6,$09,$66,$99,$9E .db $61,$F8,$06,$78,$86,$22,$00,$22 .db $06,$06,$00,$80,$7C,$00,$7C,$38 .db $7C,$44,$18,$24,$44,$3C,$18,$28 .db $00,$48,$7F,$FF,$06,$DF,$3C,$CF .db $00,$7C,$00,$00,$23,$7F,$03,$5F .db $0C,$83,$7C,$48,$FC,$FE,$06,$F6 .db $F8,$E6,$00,$FC,$00,$00,$23,$FD .db $05,$F5,$E1,$03,$FE,$00,$C0,$43 .db $00,$80,$00,$80,$28,$00,$03,$20 .db $40,$40,$80,$23,$00,$05,$04,$0E .db $00,$06,$00,$02,$49,$01,$00,$03 .db $35,$09,$05,$03,$23,$01,$15,$FE .db $00,$F9,$01,$E7,$07,$9C,$1C,$00 .db $03,$03,$FC,$FC,$03,$00,$FC,$FF .db $FE,$F8,$E3,$FF,$FC,$83,$00,$4B .db $0B,$FC,$FC,$C0,$C3,$03,$3C,$3C .db $C3,$C0,$3C,$00,$C0,$22,$00,$03 .db $03,$3F,$FC,$C0,$22,$00,$09,$8C .db $92,$10,$6C,$60,$90,$80,$60,$00 .db $80,$25,$00,$02,$70,$E0,$80,$3C .db $00,$01,$0F,$3F,$43,$07,$1F,$43 .db $03,$0F,$12,$00,$07,$00,$03,$00 .db $00,$10,$08,$08,$04,$04,$03,$00 .db $00,$78,$00,$70,$00,$F0,$43,$80 .db $B0,$22,$80,$05,$00,$80,$00,$C0 .db $F8,$F0,$22,$70,$02,$60,$E0,$20 .db $4F,$00,$FF,$28,$00,$4E,$FF,$00 .db $27,$00,$00,$38,$43,$C4,$30,$E0 .db $41,$C2,$04,$C6,$06,$C7,$2E,$EF .db $3C,$FE,$18,$FC,$38,$38,$3C,$38 .db $38,$10,$00,$00,$3C,$43,$3C,$C3 .db $0B,$F4,$32,$CD,$48,$A7,$01,$73 .db $01,$0D,$00,$03,$03,$00,$30,$38 .db $5A,$0C,$02,$00,$72,$8D,$A2,$5D .db $08,$F6,$48,$B7,$BC,$82,$88,$8C .db $E0,$F8,$00,$E0,$0A,$5A,$F8,$7E .db $7C,$70,$00,$43,$00,$F0,$01,$60 .db $F0,$44,$60,$90,$04,$FF,$60,$FF .db $7E,$FF,$28,$00,$FF,$28,$00,$02 .db $07,$03,$0C,$43,$04,$08,$24,$00 .db $02,$03,$07,$07,$28,$00,$01,$FF .db $FF,$23,$00,$00,$FF,$24,$00,$01 .db $FF,$FF,$29,$00,$01,$FF,$FF,$23 .db $00,$00,$FF,$24,$00,$01,$FF,$FF .db $29,$00,$01,$06,$06,$44,$09,$04 .db $24,$00,$22,$06,$E4,$20,$00,$02 .db $07,$03,$0C,$43,$04,$08,$24,$00 .BANK 10 Graphics3: .db $02,$03,$07,$07,$28,$00,$01,$FF .db $FF,$23,$00,$00,$FF,$24,$00,$83 .db $00,$21,$00,$03,$43,$03,$07,$05 .db $05,$0F,$07,$0F,$0F,$18,$43,$0E .db $11,$01,$03,$07,$83,$00,$B0,$08 .db $10,$10,$00,$80,$80,$C0,$C0,$E0 .db $A0,$23,$F0,$00,$88,$43,$B8,$40 .db $05,$80,$C0,$E0,$F0,$F0,$88,$24 .db $00,$00,$42,$48,$00,$E7,$00,$42 .db $29,$00,$0F,$02,$02,$07,$07,$27 .db $27,$58,$58,$27,$20,$37,$30,$57 .db $50,$E5,$E2,$22,$00,$14,$07,$0F .db $0E,$2C,$19,$00,$00,$90,$90,$F4 .db $F4,$28,$28,$4C,$0C,$CE,$0E,$E6 .db $06,$AC,$4C,$22,$00,$04,$D0,$F0 .db $B0,$78,$10,$23,$00,$0E,$12,$02 .db $08,$00,$02,$02,$01,$01,$03,$03 .db $02,$02,$00,$00,$10,$22,$08,$43 .db $04,$00,$0F,$49,$41,$07,$03,$B9 .db $B9,$6B,$6B,$7D,$7D,$E9,$E9,$C0 .db $C0,$04,$08,$22,$04,$0A,$02,$16 .db $3F,$42,$42,$10,$10,$A5,$A5,$F3 .db $F3,$23,$FF,$03,$2C,$2C,$AD,$AD .db $25,$00,$01,$D3,$52,$25,$00,$09 .db $10,$10,$40,$40,$A4,$A4,$EA,$8A .db $FB,$3A,$26,$00,$00,$01,$4F,$04 .db $09,$27,$06,$05,$00,$81,$00,$42 .db $00,$24,$44,$00,$18,$04,$24,$00 .db $42,$00,$81,$28,$00,$84,$01,$99 .db $44,$00,$18,$84,$01,$A3,$27,$00 .db $4F,$04,$09,$27,$06,$37,$00,$4F .db $04,$09,$27,$06,$01,$00,$88,$44 .db $00,$55,$43,$22,$00,$43,$55,$00 .db $00,$88,$27,$00,$05,$0E,$11,$0F .db $10,$07,$18,$44,$07,$0F,$12,$6F .db $63,$97,$63,$F7,$10,$10,$18,$0F .db $0F,$6F,$97,$F7,$B8,$40,$F8,$00 .db $F0,$88,$45,$E0,$F0,$06,$C0,$E0 .db $80,$C0,$00,$00,$88,$22,$F0,$01 .db $E0,$C0,$2A,$00,$00,$E7,$2B,$00 .db $E0,$3F,$25,$22,$2F,$20,$53,$50 .db $22,$20,$18,$18,$34,$34,$0F,$0F .db $06,$06,$18,$1E,$0D,$1F,$07,$03 .db $00,$00,$A4,$44,$EE,$0E,$C5,$05 .db $1E,$1E,$76,$76,$2C,$2C,$F8,$F8 .db $A0,$A0,$18,$30,$B8,$E0,$80,$D0 .db $00,$00,$07,$07,$1F,$1F,$4F,$4F .db $17,$17,$39,$39,$DB,$1B,$69,$49 .db $34,$34,$23,$00,$E0,$4B,$06,$C4 .db $36,$0B,$82,$80,$07,$00,$67,$40 .db $1F,$00,$BF,$80,$2F,$00,$7F,$00 .db $3F,$00,$7F,$FF,$BD,$FC,$70,$F5 .db $E3,$C3,$20,$00,$15,$01,$F3,$00 .db $F8,$00,$FE,$00,$FC,$00,$FD,$00 .db $FC,$00,$FF,$FE,$CC,$EF,$3F,$7F .db $03,$4B,$F2,$70,$E4,$20,$BC,$BC .db $F9,$D9,$BC,$BC,$38,$38,$FD,$F5 .db $FC,$FC,$02,$1C,$40,$00,$40,$C0 .db $00,$00,$4F,$04,$09,$27,$06,$85 .db $01,$98,$44,$00,$18,$84,$01,$A3 .db $28,$00,$84,$01,$99,$44,$00,$18 .db $84,$01,$A3,$27,$00,$4F,$04,$09 .db $27,$06,$37,$00,$4F,$04,$09,$27 .db $06,$01,$00,$88,$44,$00,$55,$43 .db $22,$00,$43,$55,$00,$00,$88,$27 .db $00,$E0,$62,$77,$F8,$7F,$F3,$18 .db $64,$18,$0B,$33,$04,$27,$18,$37 .db $18,$33,$14,$F8,$F0,$63,$04,$0B .db $07,$07,$0B,$E0,$06,$F6,$C9,$3E .db $67,$3E,$B7,$9E,$53,$C4,$3A,$DC .db $38,$9C,$58,$06,$09,$87,$47,$A3 .db $C2,$C0,$A0,$06,$67,$6F,$98,$77 .db $F8,$75,$FC,$77,$F8,$0F,$70,$3D .db $24,$3F,$28,$61,$90,$F8,$FB,$F8 .db $70,$03,$00,$2E,$FF,$DE,$3F,$F8 .db $1E,$B0,$28,$FC,$14,$FC,$04,$BC .db $24,$FC,$14,$DF,$3F,$1E,$C8,$00 .db $00,$C0,$00,$43,$AC,$6D,$44,$FE .db $7D,$03,$1B,$7C,$07,$19,$43,$3E .db $12,$00,$AC,$22,$FE,$0E,$7C,$18 .db $01,$01,$80,$00,$E0,$E0,$F0,$F0 .db $10,$98,$A8,$D8,$54,$44,$24,$D4 .db $22,$00,$01,$60,$20,$22,$D8,$E4 .db $23,$00,$22,$07,$00,$04,$33,$00 .db $03,$04,$04,$8E,$8A,$2A,$00,$E0 .db $B0,$33,$13,$6C,$10,$EF,$74,$8B .db $40,$87,$01,$72,$20,$58,$00,$00 .db $30,$50,$73,$7A,$0D,$07,$00,$18 .db $10,$A8,$30,$CC,$44,$FA,$70,$FC .db $24,$FA,$D0,$3E,$D0,$3F,$00,$00 .db $80,$00,$00,$08,$C4,$C6,$3C,$00 .db $7C,$30,$FE,$0C,$FE,$00,$FF,$03 .db $FF,$4F,$7E,$32,$36,$00,$3C,$7C .db $CF,$81,$83,$CF,$7F,$37,$78,$00 .db $FF,$38,$FF,$C6,$FF,$83,$FF,$80 .db $FF,$83,$FF,$66,$7A,$00,$79,$FF .db $C6,$83,$80,$83,$E7,$7B,$D0,$D0 .db $E1,$61,$F8,$38,$E6,$C6,$F3,$83 .db $92,$02,$C4,$44,$40,$40,$00,$80 .db $40,$F8,$F8,$FC,$B8,$8C,$67,$18 .db $0A,$15,$2C,$33,$EC,$F3,$D5,$FA .db $B2,$FD,$41,$FA,$09,$F2,$E7,$E2 .db $C1,$01,$01,$00,$0C,$2C,$00,$EC .db $88,$74,$00,$F8,$F0,$07,$82,$75 .db $A4,$56,$04,$B6,$8C,$4E,$00,$20 .db $30,$F8,$88,$88,$48,$30,$38,$09 .db $1C,$6E,$3B,$47,$7F,$81,$73,$88 .db $00,$78,$23,$00,$04,$06,$01,$20 .db $30,$70,$22,$00,$E0,$23,$3C,$F0 .db $58,$70,$F8,$E4,$F0,$8C,$D8,$24 .db $3C,$42,$04,$7A,$00,$1E,$00,$80 .db $04,$00,$18,$38,$04,$00,$07,$38 .db $09,$7C,$31,$4E,$77,$8C,$13,$EB .db $00,$78,$23,$00,$04,$38,$0F,$36 .db $30,$10,$22,$00,$E0,$39,$FC,$04 .db $B0,$28,$F8,$1C,$C0,$3C,$D8,$E4 .db $3C,$42,$1C,$62,$00,$1E,$00,$C8 .db $1C,$00,$18,$38,$1C,$00,$0C,$32 .db $1E,$73,$2F,$59,$77,$89,$7B,$84 .db $33,$48,$00,$38,$00,$00,$31,$10 .db $28,$30,$78,$30,$00,$00,$CC,$3C .db $20,$48,$18,$98,$70,$F0,$E0,$E0 .db $25,$00,$02,$C0,$B0,$60,$28,$00 .db $0B,$1C,$1C,$7C,$64,$76,$4A,$E7 .db $BF,$D7,$BC,$FF,$FF,$23,$00,$13 .db $08,$18,$28,$00,$33,$32,$3D,$2D .db $1F,$13,$1F,$12,$3F,$27,$EF,$C8 .db $9C,$18,$E0,$FF,$23,$00,$13,$08 .db $33,$E7,$00,$CF,$C9,$FF,$F9,$FF .db $13,$2E,$E6,$FE,$F8,$3F,$23,$65 .db $45,$07,$FF,$22,$00,$14,$C0,$00 .db $C4,$9A,$00,$21,$57,$00,$21,$00 .db $01,$00,$05,$04,$0B,$00,$1E,$02 .db $13,$00,$0E,$24,$00,$02,$01,$0C .db $00,$F0,$2F,$04,$F8,$17,$FE,$7F .db $FD,$BF,$FB,$DF,$F7,$EF,$EF,$F7 .db $DF,$FB,$BF,$FD,$7F,$FE,$FE,$FD .db $FB,$F7,$EF,$DF,$BF,$7F,$97,$06 .db $48,$0B,$31,$C6,$54,$9F,$0C,$7F .db $0C,$3F,$01,$0F,$00,$03,$23,$00 .db $03,$78,$60,$01,$01,$23,$00,$E0 .db $25,$BC,$7E,$1A,$FD,$08,$FE,$C0 .db $3E,$28,$12,$90,$86,$48,$CD,$08 .db $4F,$00,$00,$C0,$E4,$FC,$78,$32 .db $30,$1E,$1E,$3E,$22,$7F,$41,$FF .db $81,$FF,$C0,$F8,$FF,$07,$07,$26 .db $00,$04,$07,$00,$00,$08,$08,$22 .db $0E,$0A,$0A,$09,$0F,$8B,$8C,$3E .db $F0,$FF,$03,$E1,$C0,$22,$00,$04 .db $06,$07,$C7,$CC,$3C,$27,$00,$07 .db $E0,$80,$D8,$98,$94,$0C,$9A,$06 .db $25,$00,$03,$08,$04,$00,$01,$45 .db $01,$02,$43,$02,$05,$43,$06,$09 .db $22,$00,$00,$01,$83,$00,$EE,$01 .db $00,$80,$43,$80,$40,$44,$00,$20 .db $04,$B0,$80,$50,$80,$48,$84,$00 .db $C0,$02,$40,$20,$30,$43,$07,$00 .db $43,$0F,$00,$44,$0E,$01,$02,$11 .db $0F,$10,$25,$00,$04,$10,$10,$70 .db $00,$F0,$44,$00,$F8,$45,$B8,$40 .db $01,$F8,$80,$26,$00,$00,$80,$25 .db $00,$09,$01,$00,$01,$0E,$0E,$3D .db $3F,$7C,$7F,$FE,$23,$00,$06,$0E .db $3C,$7C,$FE,$00,$00,$38,$44,$00 .db $FC,$07,$7C,$80,$F8,$04,$F8,$0C .db $F8,$3C,$24,$00,$02,$04,$0C,$3C .db $23,$00,$0B,$82,$82,$8C,$0C,$EC .db $AC,$C0,$00,$88,$08,$80,$80,$22 .db $00,$00,$F0,$83,$05,$A7,$83,$06 .db $78,$12,$09,$7E,$01,$3E,$01,$1E .db $06,$78,$68,$90,$00,$FF,$78,$60 .db $01,$03,$03,$0F,$0F,$84,$06,$8F .db $09,$88,$3E,$1C,$22,$00,$3C,$00 .db $1A,$F8,$FD,$83,$00,$26,$22,$C0 .db $02,$E4,$02,$00,$F0,$2F,$06,$48 .db $97,$06,$48,$43,$08,$4C,$07,$10 .db $78,$20,$58,$20,$50,$00,$60,$23 .db $00,$01,$30,$30,$25,$00,$02,$22 .db $00,$33,$2D,$00,$00,$33,$25,$00 .db $E0,$33,$2D,$28,$EE,$80,$C2,$AC .db $C5,$86,$D3,$B2,$D1,$E1,$EF,$BF .db $00,$1F,$14,$00,$2C,$02,$20,$30 .db $0F,$00,$42,$06,$01,$E1,$20,$00 .db $01,$01,$00,$80,$F9,$81,$F0,$F8 .db $00,$F8,$2C,$E6,$70,$36,$80,$7E .db $F0,$00,$0E,$11,$0D,$12,$45,$1D .db $22,$11,$38,$45,$30,$48,$00,$70 .db $06,$05,$0D,$0D,$09,$12,$07,$0F .db $80,$28,$00,$24,$44,$00,$14,$17 .db $12,$8C,$12,$60,$9E,$1C,$7E,$D0 .db $D8,$E8,$E8,$EC,$EC,$60,$80,$0F .db $18,$0F,$1F,$0E,$1F,$07,$0F,$04 .db $43,$0F,$03,$05,$07,$01,$03,$18 .db $1F,$1F,$22,$0F,$07,$07,$03,$F0 .db $88,$F0,$F8,$B0,$F8,$43,$E0,$F0 .db $15,$00,$F6,$C6,$E9,$C6,$EF,$88 .db $F8,$F8,$F0,$F0,$F6,$E9,$EF,$7F .db $FF,$63,$FF,$1D,$7F,$0F,$1F,$43 .db $07,$0F,$07,$06,$0F,$07,$4E,$FF .db $FF,$7F,$1F,$22,$0F,$08,$4E,$F8 .db $FC,$F0,$F8,$C0,$F0,$80,$C0,$44 .db $00,$80,$08,$00,$80,$00,$FC,$F8 .db $F0,$C0,$80,$80,$22,$00,$12,$3F .db $1F,$60,$3A,$C0,$75,$80,$60,$80 .db $40,$80,$00,$80,$2A,$AA,$00,$03 .db $17,$2F,$22,$7F,$00,$55,$83,$00 .db $20,$05,$FA,$00,$F5,$00,$E0,$00 .db $83,$08,$EF,$05,$AA,$AA,$00,$03 .db $57,$AF,$22,$FF,$84,$09,$17,$08 .db $BF,$00,$5F,$00,$07,$00,$03,$00 .db $01,$83,$09,$25,$02,$C0,$F5,$FA .db $22,$FF,$14,$55,$00,$FC,$F8,$06 .db $5C,$03,$AE,$01,$06,$01,$02,$01 .db $00,$01,$AA,$AB,$00,$C0,$E8,$F4 .db $22,$FE,$03,$54,$00,$00,$01,$43 .db $01,$00,$00,$03,$43,$06,$01,$03 .db $30,$3F,$38,$2F,$24,$00,$12,$02 .db $00,$00,$F8,$F8,$FC,$04,$FE,$82 .db $7E,$C2,$3D,$E3,$31,$EF,$27,$F9 .db $47,$F9,$23,$00,$05,$02,$0E,$1E .db $3E,$00,$00,$22,$39,$0A,$28,$3D .db $38,$7C,$40,$FC,$81,$86,$A8,$C6 .db $80,$24,$00,$12,$01,$28,$00,$60 .db $60,$F8,$98,$D4,$0C,$9A,$06,$02 .db $06,$C1,$01,$00,$E0,$35,$01,$83 .db $06,$EC,$03,$0C,$26,$F0,$76,$83 .db $05,$BA,$0B,$1D,$15,$1D,$1C,$1D .db $10,$3C,$20,$7C,$49,$4E,$58,$25 .db $00,$02,$01,$10,$00,$8E,$09,$A7 .db $22,$00,$84,$09,$BA,$43,$78,$80 .db $43,$7C,$80,$00,$78,$44,$80,$60 .db $05,$78,$80,$7F,$3F,$3F,$2F,$23 .db $3F,$43,$1E,$1F,$45,$7C,$7F,$07 .db $FC,$FF,$FE,$FF,$3E,$3F,$E0,$E0 .db $22,$80,$02,$00,$00,$C0,$28,$00 .db $06,$1C,$0C,$13,$0F,$10,$07,$08 .db $26,$00,$10,$01,$00,$01,$01,$C2 .db $43,$A4,$67,$98,$7F,$80,$FF,$00 .db $FF,$07,$FF,$0F,$23,$00,$03,$03 .db $1F,$18,$D0,$24,$00,$02,$06,$02 .db $05,$44,$03,$04,$02,$7C,$3F,$40 .db $28,$00,$08,$08,$08,$14,$0C,$12 .db $1E,$A1,$BF,$40,$43,$FF,$00,$01 .db $FC,$0C,$24,$00,$E0,$2B,$02,$3F .db $73,$55,$D5,$7E,$FE,$7C,$FC,$78 .db $F8,$25,$F5,$0A,$EA,$1F,$7F,$00 .db $3F,$2A,$01,$03,$07,$0A,$15,$00 .db $00,$55,$55,$FE,$FE,$FC,$FC,$F8 .db $F8,$A5,$F5,$4A,$EA,$3F,$FF,$00 .db $FF,$AA,$88,$0A,$91,$0A,$7F,$7F .db $3F,$3F,$1F,$1F,$5A,$5F,$AD,$AF .db $FC,$83,$0A,$A5,$17,$80,$C0,$E0 .db $A0,$50,$00,$00,$56,$57,$7E,$7F .db $3E,$3F,$1E,$1F,$4A,$5F,$A4,$AF .db $F8,$FE,$00,$FC,$A8,$86,$0A,$C1 .db $E0,$2A,$7F,$67,$F9,$86,$F5,$89 .db $E6,$9A,$8B,$F2,$57,$66,$6A,$4E .db $30,$36,$00,$07,$0E,$1C,$7C,$38 .db $34,$06,$ED,$91,$FD,$61,$D3,$93 .db $1E,$1E,$80,$80,$B8,$38,$38,$28 .db $38,$38,$7E,$9E,$0C,$84,$04,$A8 .db $05,$A3,$84,$E5,$A6,$42,$43,$83 .db $06,$8A,$07,$01,$0F,$0F,$1F,$00 .db $1F,$04,$02,$84,$0B,$17,$84,$08 .db $5D,$07,$0F,$F1,$F9,$81,$00,$00 .db $E0,$F0,$83,$08,$64,$14,$36,$80 .db $FE,$7E,$00,$E0,$F0,$00,$6E,$48 .db $53,$44,$75,$56,$22,$23,$01,$03 .db $00,$1F,$1D,$43,$3F,$00,$07,$04 .db $02,$01,$01,$00,$1D,$00,$35,$22 .db $01,$85,$0B,$2A,$16,$3C,$FE,$FE .db $FF,$00,$FF,$76,$36,$80,$FE,$FE .db $3C,$FE,$00,$7C,$80,$70,$80,$76 .db $80,$7E,$80,$78,$44,$80,$7E,$01 .db $78,$80,$22,$3F,$22,$2F,$01,$3F .db $3F,$43,$7A,$7F,$09,$3A,$3F,$3E .db $3F,$3C,$3F,$1E,$1F,$76,$7F,$62 .db $7E,$00,$80,$22,$C0,$14,$E0,$80 .db $80,$07,$08,$0F,$F0,$7F,$80,$3F .db $40,$1F,$20,$1F,$21,$3F,$43,$7F .db $83,$01,$01,$22,$07,$04,$06,$04 .db $0C,$FF,$6F,$23,$FF,$11,$F0,$7F .db $EC,$FF,$DA,$FD,$D7,$F8,$D2,$FD .db $90,$00,$00,$80,$0C,$18,$10,$10 .db $43,$1F,$20,$0B,$0F,$10,$0F,$11 .db $1F,$63,$7F,$83,$3F,$41,$1F,$21 .db $22,$03,$06,$02,$04,$04,$06,$0E .db $FE,$1E,$43,$FF,$3F,$0D,$F0,$FF .db $EC,$FF,$D9,$FE,$D1,$FE,$D6,$F9 .db $E1,$C0,$C0,$00,$83,$0B,$CC,$FF .db $05,$00,$03,$03,$04,$07,$08,$43 .db $0B,$18,$43,$17,$30,$01,$3F,$40 .db $22,$00,$1C,$04,$04,$0C,$08,$01 .db $00,$C0,$C0,$20,$A0,$30,$90,$18 .db $D0,$18,$E8,$04,$F8,$04,$FC,$02 .db $00,$00,$40,$60,$60,$30,$00,$C0 .db $85,$00,$00,$43,$0A,$19,$05,$16 .db $31,$15,$32,$3D,$42,$22,$00,$86 .db $00,$13,$1F,$40,$A0,$20,$B0,$90 .db $58,$D0,$38,$E8,$04,$78,$84,$BC .db $42,$00,$00,$40,$20,$40,$30,$00 .db $80,$00,$07,$07,$1F,$18,$38,$20 .db $60,$20,$74,$44,$40,$D4,$E0,$20 .db $C0,$07,$1F,$3F,$7F,$6B,$EB,$EB .db $FF,$00,$F0,$E0,$FC,$18,$1E,$0C .db $0E,$18,$1C,$30,$3C,$08,$0E,$04 .db $07,$F0,$FC,$FE,$FE,$FC,$FC,$FE .db $FF,$22,$00,$13,$03,$03,$0C,$0F .db $13,$1C,$2F,$0B,$2C,$37,$78,$00 .db $7F,$00,$00,$01,$03,$1F,$1C,$18 .db $23,$00,$14,$E0,$80,$18,$E0,$E4 .db $1C,$FE,$EC,$1E,$F6,$0F,$CA,$37 .db $00,$00,$E0,$F8,$F8,$18,$0C,$04 .db $22,$00,$00,$01,$44,$00,$07,$44 .db $03,$00,$01,$02,$0F,$25,$00,$19 .db $02,$0E,$00,$60,$40,$A0,$C0,$30 .db $60,$96,$24,$9E,$16,$CF,$32,$EF .db $18,$F6,$00,$00,$80,$46,$46,$27 .db $03,$02,$22,$00,$13,$07,$07,$1C .db $0F,$39,$1B,$73,$2C,$6F,$3D,$FE .db $00,$FF,$00,$00,$05,$1B,$3F,$37 .db $66,$23,$00,$06,$C0,$00,$30,$F0 .db $F8,$00,$FC,$83,$00,$24,$06,$34 .db $CA,$00,$00,$C0,$F0,$F8,$23,$00 .db $02,$30,$30,$48,$43,$78,$84,$07 .db $70,$8C,$0C,$72,$2E,$61,$16,$31 .db $24,$00,$04,$0C,$1E,$0E,$00,$01 .db $83,$00,$00,$43,$07,$08,$05,$03 .db $04,$01,$02,$00,$01,$2A,$00,$04 .db $07,$03,$1E,$1B,$26,$43,$3A,$46 .db $06,$7B,$87,$60,$9F,$00,$00,$06 .db $22,$07,$00,$06,$23,$00,$0E,$E0 .db $C0,$78,$58,$64,$5C,$62,$DC,$E2 .db $DE,$E1,$06,$F9,$00,$00,$22,$E0 .db $17,$60,$60,$00,$3F,$40,$2F,$60 .db $25,$60,$16,$30,$17,$30,$0F,$10 .db $03,$0C,$00,$03,$03,$13,$1B,$09 .db $08,$22,$00,$43,$FC,$02,$10,$D4 .db $06,$20,$04,$E8,$0C,$F0,$18,$C0 .db $30,$00,$C0,$E0,$E0,$E8,$D8,$10 .db $22,$00,$07,$3B,$44,$2B,$64,$21 .db $64,$12,$34,$8C,$01,$88,$22,$00 .db $43,$BC,$42,$8B,$01,$9C,$04,$A0 .db $A0,$E8,$D8,$10,$22,$00,$45,$40 .db $C0,$43,$20,$60,$05,$18,$38,$07 .db $1F,$00,$07,$22,$FF,$15,$7F,$7F .db $3F,$1F,$07,$04,$07,$08,$0E,$30 .db $3C,$18,$1C,$0C,$0E,$18,$1E,$E0 .db $FC,$00,$F0,$FF,$83,$00,$8B,$14 .db $FE,$FC,$F0,$1B,$3F,$17,$3F,$00 .db $7F,$7F,$80,$21,$5E,$16,$29,$38 .db $46,$00,$38,$1B,$17,$25,$00,$0B .db $4A,$B7,$7C,$82,$38,$C4,$80,$78 .db $80,$40,$00,$80,$23,$00,$00,$04 .db $26,$00,$0B,$0F,$3F,$3F,$7F,$7E .db $FF,$78,$FE,$20,$78,$00,$20,$23 .db $00,$13,$3F,$7F,$FF,$FE,$78,$20 .db $00,$00,$08,$E6,$04,$F2,$0C,$73 .db $04,$7B,$00,$3C,$00,$30,$23,$00 .db $03,$10,$08,$08,$04,$23,$00,$11 .db $1E,$7F,$2D,$7F,$00,$FF,$7F,$80 .db $22,$5D,$22,$DD,$7F,$80,$00,$7F .db $1E,$2D,$25,$00,$11,$D4,$EA,$DC .db $E2,$08,$F4,$E0,$18,$60,$90,$C0 .db $20,$00,$C0,$00,$00,$C0,$C0,$28 .db $00,$1C,$07,$06,$0B,$0C,$17,$08 .db $1F,$00,$7F,$60,$9F,$80,$7F,$00 .db $00,$03,$07,$0F,$0F,$07,$00,$00 .db $3C,$3C,$C2,$42,$BD,$5C,$A3,$45 .db $3E,$C1,$1B,$1C,$E2,$00,$3C,$42 .db $40,$80,$80,$00,$00,$5B,$BF,$5D .db $BF,$40,$BF,$1F,$60,$14,$2B,$0C .db $13,$07,$08,$00,$07,$1B,$1D,$25 .db $00,$11,$DA,$FD,$BA,$FD,$02,$FD .db $F8,$06,$28,$D4,$30,$C8,$E0,$10 .db $00,$E0,$D8,$B8,$25,$00,$0D,$02 .db $05,$04,$3B,$21,$5E,$69,$F6,$1D .db $E2,$1E,$E1,$0F,$F0,$83,$00,$9E .db $09,$10,$68,$5C,$5E,$6F,$30,$08 .db $F7,$EF,$14,$44,$F7,$09,$1E,$0A .db $E3,$1C,$1E,$E1,$19,$E6,$00,$04 .db $01,$01,$02,$0C,$01,$66,$C0,$3C .db $20,$DC,$D0,$2E,$D0,$6E,$E8,$56 .db $E8,$94,$80,$78,$70,$88,$22,$00 .db $04,$40,$40,$80,$00,$70,$8D,$03 .db $00,$01,$03,$7C,$86,$03,$10,$00 .db $33,$83,$03,$18,$44,$F7,$09,$06 .db $0A,$E3,$1C,$1C,$E3,$9B,$64,$85 .db $03,$28,$01,$00,$A3,$8A,$03,$30 .db $04,$96,$50,$AC,$90,$6C,$22,$00 .db $83,$03,$43,$00,$80,$22,$00,$03 .db $3D,$21,$5E,$40,$44,$FF,$00,$11 .db $19,$66,$58,$C7,$00,$00,$1C,$7E .db $7E,$62,$18,$38,$00,$7E,$7E,$81 .db $81,$7E,$43,$00,$FF,$05,$81,$7E .db $FF,$42,$C3,$3C,$25,$00,$E0,$29 .db $42,$3C,$00,$01,$01,$1E,$10,$2F .db $20,$7F,$40,$FF,$04,$FB,$07,$FC .db $24,$4B,$00,$00,$0C,$38,$70,$70 .db $04,$33,$00,$F8,$F8,$07,$06,$F9 .db $00,$FF,$04,$FB,$1A,$E5,$FB,$34 .db $26,$D8,$23,$00,$03,$01,$02,$33 .db $C7,$22,$00,$04,$E0,$C0,$70,$80 .db $F8,$44,$00,$FC,$0A,$7C,$40,$7C .db $00,$00,$60,$F0,$F0,$70,$B0,$80 .db $83,$00,$F1,$01,$18,$1F,$43,$20 .db $3F,$45,$40,$7F,$88,$00,$70,$0E .db $00,$E0,$E0,$18,$F8,$0C,$FC,$18 .db $F8,$30,$F0,$08,$F8,$04,$FC,$87 .db $00,$88,$24,$00,$05,$0E,$00,$3F .db $20,$5F,$40,$44,$FF,$00,$22,$00 .db $04,$0E,$1F,$7F,$7F,$7E,$22,$00 .db $04,$3C,$3C,$C3,$C3,$3C,$43,$00 .db $FF,$03,$81,$7E,$C3,$3C,$27,$00 .db $03,$0E,$0E,$1F,$11,$44,$1F,$10 .db $02,$11,$0E,$0E,$24,$00,$00,$01 .db $25,$00,$0B,$07,$38,$04,$0B,$00 .db $07,$04,$0B,$00,$0F,$00,$0E,$23 .db $00,$04,$07,$04,$03,$03,$06,$22 .db $00,$09,$27,$D8,$0E,$F1,$00,$EE .db $00,$E0,$00,$80,$25,$00,$03,$18 .db $80,$C0,$80,$23,$00,$01,$78,$86 .db $43,$78,$87,$0F,$30,$4F,$00,$3F .db $04,$0B,$00,$06,$00,$00,$78,$7A .db $7A,$36,$06,$02,$22,$00,$00,$3B .db $35,$00,$07,$27,$D8,$0F,$30,$2F .db $50,$36,$49,$43,$00,$3F,$13,$28 .db $57,$00,$7F,$17,$0F,$2F,$36,$01 .db $17,$07,$00,$C0,$38,$80,$70,$80 .db $40,$00,$C0,$44,$00,$E0,$83,$02 .db $95,$01,$80,$80,$84,$02,$97,$10 .db $47,$C8,$2F,$70,$0F,$30,$0F,$10 .db $06,$19,$08,$1F,$18,$2F,$00,$3F .db $30,$23,$00,$E0,$20,$08,$0F,$00 .db $7E,$C3,$81,$7E,$BD,$42,$42,$BD .db $FF,$42,$00,$FF,$00,$BD,$00,$81 .db $42,$3C,$00,$3C,$42,$3C,$00,$00 .db $0B,$7C,$70,$8F,$7B,$84,$84,$04 .db $B4,$01,$37,$04,$43,$0F,$00,$00 .db $03,$63,$00,$E0,$25,$07,$00,$D8 .db $24,$3D,$C3,$BE,$41,$3E,$C1,$DD .db $23,$01,$FF,$02,$FD,$00,$E7,$03 .db $80,$00,$80,$01,$01,$C1,$00,$D0 .db $EC,$80,$D8,$50,$9C,$00,$FC,$00 .db $F0,$C0,$F0,$44,$00,$F8,$06,$20 .db $60,$00,$E0,$E0,$F0,$00,$45,$40 .db $7F,$43,$20,$3F,$05,$18,$1F,$07 .db $07,$00,$00,$22,$FF,$85,$01,$F3 .db $04,$FC,$08,$F8,$30,$F0,$85,$04 .db $24,$03,$E0,$E0,$00,$00,$87,$02 .db $08,$07,$01,$7F,$39,$86,$02,$BB .db $3A,$C7,$43,$7C,$83,$06,$78,$87 .db $00,$7F,$03,$78,$44,$83,$00,$A0 .db $43,$00,$FF,$08,$C3,$C3,$3C,$FF .db $C3,$43,$BC,$7F,$83,$84,$05,$32 .db $43,$C3,$3C,$02,$03,$3C,$00,$43 .db $38,$40,$43,$78,$80,$07,$7C,$80 .db $3C,$40,$1C,$20,$04,$18,$27,$00 .db $05,$20,$63,$1D,$3E,$03,$1F,$43 .db $0B,$14,$14,$03,$1F,$03,$14,$05 .db $16,$1C,$00,$03,$00,$00,$03,$08 .db $08,$00,$FF,$C3,$3C,$FF,$00,$BD .db $83,$05,$D3,$84,$06,$1D,$22,$00 .db $04,$C3,$3C,$00,$C3,$3C,$43,$00 .db $01,$22,$00,$08,$01,$00,$39,$08 .db $7D,$54,$2F,$06,$7F,$24,$00,$13 .db $08,$04,$06,$37,$38,$E4,$FB,$0C .db $F3,$B7,$48,$B8,$47,$BF,$70,$3B .db $CC,$DC,$23,$C0,$23,$00,$0E,$30 .db $0C,$C3,$02,$00,$12,$00,$08,$00 .db $00,$07,$66,$09,$06,$19,$43,$0E .db $11,$27,$00,$0B,$40,$00,$48,$00 .db $10,$00,$00,$E0,$66,$90,$60,$98 .db $43,$70,$88,$28,$00,$0E,$78,$38 .db $C4,$7C,$83,$7D,$82,$39,$46,$00 .db $3C,$03,$0F,$00,$03,$22,$00,$0C .db $01,$01,$03,$00,$00,$7F,$80,$60 .db $9F,$4B,$BF,$1B,$FF,$43,$BF,$7F .db $07,$1F,$7F,$C8,$BF,$00,$00,$1B .db $1B,$22,$BF,$18,$58,$FC,$03,$1A .db $E5,$47,$F8,$65,$FA,$F7,$F8,$EA .db $F5,$CC,$F3,$9B,$E4,$04,$08,$60 .db $70,$F1,$E2,$C0,$C3,$24,$00,$47 .db $80,$00,$02,$C0,$C0,$20,$26,$00 .db $00,$C0,$24,$00,$0A,$C0,$C0,$30 .db $80,$7C,$08,$F6,$E0,$1E,$FA,$05 .db $28,$00,$E0,$22,$03,$00,$04,$03 .db $07,$04,$6F,$28,$5F,$16,$2F,$2B .db $D7,$45,$BB,$00,$03,$03,$05,$08 .db $06,$03,$01,$00,$E0,$60,$18,$E0 .db $E4,$18,$FA,$E8,$1A,$F4,$0D,$43 .db $74,$8D,$04,$00,$80,$F8,$FC,$1C .db $22,$0E,$46,$00,$24,$05,$00,$42 .db $00,$C3,$00,$3C,$26,$00,$02,$42 .db $C3,$3C,$23,$00,$14,$0E,$0C,$17 .db $18,$2F,$10,$3F,$20,$5F,$30,$CF .db $70,$87,$00,$00,$06,$0F,$1F,$2F .db $36,$78,$22,$00,$06,$F0,$00,$FC .db $10,$EE,$08,$F6,$43,$00,$FF,$0B .db $C0,$3F,$00,$00,$30,$28,$14,$0C .db $00,$00,$15,$26,$43,$1A,$23,$10 .db $00,$7E,$30,$7E,$40,$FE,$40,$BC .db $00,$70,$18,$1C,$1C,$00,$3C,$7C .db $30,$83,$05,$32,$06,$C3,$42,$BD .db $3C,$C3,$00,$3C,$26,$00,$01,$C3 .db $3C,$24,$00,$09,$02,$7F,$02,$3F .db $2A,$17,$04,$3F,$00,$1E,$25,$00 .db $22,$02,$00,$04,$23,$00,$09,$EF .db $10,$C3,$5C,$84,$FB,$03,$8C,$00 .db $03,$25,$00,$02,$E0,$A4,$03,$24 .db $00,$E0,$2F,$0E,$31,$26,$59,$18 .db $67,$38,$C1,$30,$C3,$70,$83,$69 .db $8F,$58,$9F,$00,$00,$18,$3E,$3C .db $7C,$71,$60,$70,$8C,$64,$9A,$18 .db $E6,$1C,$83,$0C,$C3,$0E,$C1,$96 .db $F1,$1A,$F9,$00,$00,$18,$7C,$3C .db $3E,$8E,$06,$24,$00,$0A,$03,$00 .db $06,$00,$07,$00,$3F,$20,$7F,$00 .db $7F,$22,$00,$E0,$46,$01,$00,$07 .db $3F,$00,$60,$9F,$78,$87,$9F,$00 .db $3F,$20,$1F,$F0,$07,$F8,$00,$FF .db $00,$FC,$67,$70,$E0,$C0,$00,$E0 .db $F8,$00,$06,$F9,$7C,$83,$F1,$02 .db $FB,$0C,$F3,$1C,$C3,$3C,$01,$FE .db $00,$3F,$86,$1C,$0C,$00,$00,$08 .db $1C,$00,$C0,$20,$20,$D0,$C0,$30 .db $E0,$10,$E0,$18,$E0,$1C,$C4,$3E .db $00,$FE,$C0,$20,$22,$00,$01,$08 .db $1C,$25,$00,$0A,$01,$01,$06,$03 .db $1C,$00,$3F,$0F,$70,$3F,$40,$27 .db $00,$0B,$32,$4D,$0D,$32,$01,$1E .db $05,$0E,$00,$07,$00,$01,$26,$00 .db $00,$04,$23,$00,$0D,$F4,$0D,$94 .db $6D,$8C,$7E,$DC,$3E,$B8,$7C,$20 .db $F8,$00,$60,$83,$04,$66,$03,$18 .db $38,$60,$60,$22,$00,$02,$38,$38 .db $44,$43,$7C,$82,$03,$78,$84,$00 .db $78,$43,$68,$8C,$25,$00,$0D,$70 .db $70,$64,$87,$1A,$9C,$A6,$78,$D8 .db $27,$8B,$57,$02,$9F,$83,$05,$1C .db $13,$78,$63,$07,$00,$03,$03,$0F .db $00,$60,$9F,$B8,$C6,$5E,$61,$06 .db $F9,$18,$E6,$00,$F8,$44,$00,$F0 .db $84,$06,$E2,$E0,$31,$E0,$00,$00 .db $7F,$3F,$C0,$47,$87,$5C,$9C,$78 .db $B8,$70,$B0,$78,$B8,$5C,$9C,$00 .db $00,$38,$23,$07,$0F,$07,$23,$00 .db $FF,$FF,$00,$87,$87,$1C,$1C,$38 .db $38,$30,$30,$38,$38,$1C,$1C,$00 .db $00,$78,$E3,$C7,$CF,$C7,$E3,$98 .db $09,$18,$16,$FE,$F8,$03,$86,$87 .db $1E,$1F,$3A,$3B,$32,$33,$3A,$3B .db $1E,$1F,$00,$04,$78,$E0,$C4,$CC .db $C4,$E0,$26,$00,$08,$38,$20,$58 .db $40,$FC,$00,$FF,$05,$FE,$23,$00 .db $03,$10,$70,$78,$40,$2C,$00,$02 .db $81,$81,$7E,$28,$00,$0A,$78,$30 .db $FE,$60,$FF,$40,$FF,$00,$FE,$00 .db $78,$23,$00,$05,$78,$FE,$FF,$FF .db $FE,$78,$22,$00,$01,$01,$6C,$44 .db $01,$FE,$07,$D6,$29,$FE,$01,$6C .db $13,$0F,$7F,$23,$00,$02,$01,$01 .db $13,$84,$06,$F3,$0B,$F0,$08,$70 .db $88,$98,$64,$48,$F4,$00,$FE,$82 .db $FD,$24,$00,$05,$E0,$F0,$08,$00 .db $00,$6C,$43,$00,$FE,$86,$09,$AF .db $01,$1F,$7F,$23,$00,$02,$01,$01 .db $13,$23,$00,$0C,$E0,$60,$90,$70 .db $88,$18,$E4,$88,$74,$28,$D4,$60 .db $98,$23,$00,$02,$80,$40,$80,$84 .db $08,$FF,$4B,$7F,$80,$02,$00,$3F .db $60,$24,$40,$05,$00,$FE,$FC,$03 .db $FE,$03,$49,$BE,$43,$02,$00,$FC .db $04,$25,$00,$0A,$0C,$00,$0F,$0E .db $11,$05,$18,$00,$3E,$00,$3F,$84 .db $05,$4E,$E0,$2E,$00,$08,$06,$01 .db $00,$00,$02,$00,$60,$60,$F8,$30 .db $F8,$80,$70,$E0,$9C,$58,$C7,$0E .db $E1,$04,$FA,$60,$F8,$38,$00,$00 .db $20,$18,$04,$00,$03,$02,$05,$06 .db $09,$0E,$11,$0C,$12,$18,$24,$10 .db $28,$00,$38,$27,$00,$05,$47,$87 .db $30,$FF,$00,$7F,$29,$00,$00,$38 .db $26,$00,$00,$87,$83,$0A,$81,$00 .db $FF,$29,$00,$00,$78,$26,$00,$85 .db $0A,$98,$29,$00,$00,$78,$26,$00 .db $05,$86,$87,$1C,$FF,$00,$FE,$29 .db $00,$00,$78,$26,$00,$19,$03,$75 .db $7B,$9E,$0D,$FF,$55,$AE,$06,$FF .db $02,$7F,$2A,$57,$00,$3E,$09,$1A .db $0D,$04,$06,$02,$02,$00,$FF,$00 .db $83,$04,$54,$85,$0A,$FA,$04,$C2 .db $3D,$00,$7E,$00,$45,$C3,$3C,$25 .db $00,$02,$FF,$00,$FF,$29,$00,$01 .db $FF,$FF,$23,$00,$09,$70,$88,$1B .db $E4,$6B,$94,$13,$6C,$0F,$30,$83 .db $01,$8C,$83,$01,$51,$25,$00,$13 .db $72,$8D,$E2,$1D,$02,$FD,$E0,$0B .db $E0,$10,$C0,$30,$30,$C8,$00,$78 .db $00,$08,$18,$30,$23,$00,$05,$60 .db $90,$77,$88,$57,$A8,$43,$0B,$74 .db $07,$33,$4C,$00,$33,$00,$00,$0F .db $07,$25,$00,$13,$60,$9E,$C2,$3D .db $B2,$5D,$E4,$0A,$E4,$1A,$80,$74 .db $60,$90,$00,$E0,$08,$18,$28,$30 .db $23,$00,$0F,$7C,$83,$76,$8F,$6E .db $9B,$6C,$9F,$71,$8E,$7F,$80,$3F .db $FF,$00,$7F,$24,$40,$02,$60,$00 .db $00,$45,$3E,$C3,$09,$7E,$83,$FE .db $03,$FE,$07,$FC,$FF,$00,$FE,$27 .db $00,$01,$03,$07,$43,$07,$0F,$09 .db $0F,$1F,$0E,$1F,$1E,$3F,$0C,$3E .db $00,$0C,$83,$0B,$BC,$0B,$1F,$3F .db $3E,$0C,$00,$FE,$80,$FC,$00,$8C .db $00,$80,$28,$00,$02,$C0,$80,$80 .db $24,$00,$47,$02,$00,$06,$3E,$30 .db $5E,$20,$7E,$00,$3C,$27,$00,$FF .db $03,$00,$7F,$1F,$F8,$4B,$67,$9E .db $01,$00,$78,$25,$7E,$03,$00,$FF .db $FF,$00,$4B,$FF,$3F,$01,$00,$00 .db $25,$3F,$03,$00,$FF,$FE,$1F,$4B .db $E1,$FE,$01,$00,$1F,$25,$FF,$03 .db $00,$FE,$82,$FD,$4B,$7C,$83,$01 .db $00,$FE,$25,$FC,$01,$00,$7F,$45 .db $3F,$C0,$45,$40,$FF,$02,$7F,$BF .db $00,$25,$7F,$02,$3F,$00,$FE,$45 .db $F8,$07,$45,$04,$FB,$02,$F8,$FF .db $00,$22,$F8,$23,$FC,$05,$00,$3F .db $3F,$40,$60,$9F,$49,$40,$BF,$0D .db $00,$07,$1F,$3F,$3F,$7B,$3B,$7B .db $00,$FC,$FC,$02,$0E,$F1,$49,$06 .db $F9,$01,$00,$FC,$22,$FE,$22,$DE .db $26,$00,$08,$07,$03,$1C,$0C,$30 .db $10,$60,$20,$40,$24,$00,$02,$03 .db $0F,$1F,$26,$00,$08,$E0,$C0,$38 .db $10,$0C,$08,$06,$04,$E2,$24,$00 .db $0D,$F0,$F8,$1C,$F8,$F8,$87,$FF .db $FC,$87,$87,$FC,$84,$FF,$FC,$24 .db $FF,$22,$00,$01,$78,$03,$22,$00 .db $E0,$27,$FE,$7F,$FD,$BF,$FB,$DF .db $F7,$EF,$EF,$F7,$DF,$FB,$BF,$FD .db $7F,$FE,$FE,$FD,$FB,$F7,$EF,$DF .db $BF,$7F,$08,$08,$1C,$14,$08,$08 .db $3E,$3E,$F7,$DD,$F7,$3E,$DD,$D5 .db $1C,$14,$22,$00,$24,$08,$15,$00 .db $3F,$00,$FF,$0F,$F8,$C3,$3F,$F0 .db $CF,$3C,$F3,$CF,$FF,$00,$CF,$00 .db $3F,$C7,$F0,$3C,$0F,$26,$00,$02 .db $07,$07,$F8,$43,$7F,$80,$43,$78 .db $80,$25,$00,$0C,$07,$07,$00,$70 .db $60,$BF,$0F,$E0,$E3,$00,$E0,$00 .db $F0,$25,$00,$06,$20,$10,$1C,$1F .db $0F,$FF,$FF,$49,$67,$9E,$01,$19 .db $E7,$43,$00,$FF,$24,$7E,$02,$1F .db $00,$00,$49,$FF,$3F,$00,$C0,$44 .db $FF,$00,$24,$3F,$02,$FF,$00,$00 .db $49,$E1,$FE,$04,$1E,$E1,$00,$FF .db $00,$25,$FF,$02,$FE,$00,$00,$49 .db $7C,$83,$01,$80,$7F,$43,$00,$FF .db $24,$FC,$02,$80,$00,$00,$44,$7F .db $BF,$47,$80,$7F,$04,$BF,$7F,$BF .db $3F,$3F,$23,$00,$01,$3F,$3F,$43 .db $F8,$FF,$47,$FC,$07,$43,$F8,$FF .db $01,$FC,$FC,$23,$04,$01,$FC,$FC .db $47,$40,$BF,$08,$60,$9F,$7F,$80 .db $3F,$40,$00,$3F,$7B,$24,$7F,$01 .db $3F,$00,$47,$06,$F9,$08,$0E,$F1 .db $FE,$01,$FC,$02,$00,$FC,$DE,$24 .db $FE,$E0,$3C,$FC,$00,$20,$C1,$40 .db $81,$00,$C1,$40,$CF,$4F,$D7,$5C .db $EF,$58,$FF,$43,$FC,$1E,$3E,$7E .db $70,$67,$4F,$5F,$5F,$E4,$73,$42 .db $F1,$22,$D1,$62,$91,$12,$F9,$7A .db $D5,$AA,$75,$8A,$75,$6C,$6E,$6E .db $EE,$16,$DA,$BA,$9A,$86,$FC,$8E .db $FB,$F9,$8A,$F8,$FB,$FA,$FB,$8B .db $44,$F7,$FA,$04,$01,$70,$04,$05 .db $04,$22,$00,$14,$A1,$FF,$51,$FF .db $1F,$D1,$9F,$DF,$5F,$DF,$E1,$EF .db $6F,$EF,$4F,$EF,$00,$0E,$A0,$20 .db $20,$22,$10,$17,$1C,$E7,$1E,$E7 .db $0F,$73,$0F,$70,$03,$3C,$00,$FF .db $F0,$FF,$00,$FF,$78,$78,$3C,$3F .db $1F,$0F,$53,$00,$4E,$0F,$08,$28 .db $08,$00,$38,$44,$40,$3C,$10,$3F .db $43,$3F,$41,$3E,$5F,$20,$7F,$00 .db $7E,$07,$03,$03,$00,$01,$1F,$3E .db $24,$00,$04,$18,$00,$7F,$06,$FF .db $44,$FF,$00,$09,$18,$24,$FF,$FF .db $E7,$80,$FD,$FF,$00,$18,$4F,$39 .db $47,$27,$3F,$4E,$FF,$8F,$28,$8F .db $4F,$85,$FA,$27,$FF,$4F,$F0,$0E .db $27,$F0,$4B,$7F,$BF,$43,$40,$FF .db $25,$3F,$01,$7F,$7F,$4B,$F8,$FF .db $43,$04,$FB,$27,$FC,$85,$00,$90 .db $01,$41,$BE,$45,$43,$BC,$05,$41 .db $BE,$00,$3F,$7E,$7C,$22,$78,$08 .db $7C,$00,$3F,$3F,$7F,$60,$E1,$41 .db $C2,$45,$43,$C4,$05,$41,$C2,$00 .db $00,$1E,$3C,$22,$38,$06,$3C,$4E .db $D1,$41,$CE,$40,$C1,$45,$40,$C0 .db $06,$00,$C1,$00,$41,$6E,$71,$7E .db $22,$7F,$19,$3E,$3E,$5A,$E5,$B2 .db $49,$62,$91,$02,$71,$62,$B9,$68 .db $F1,$9C,$E3,$34,$C2,$7A,$F6,$6E .db $AE,$26,$7E,$FC,$FC,$43,$1A,$17 .db $43,$37,$2F,$07,$6F,$5C,$6F,$58 .db $6F,$50,$DF,$B2,$27,$00,$43,$48 .db $E8,$43,$E4,$F4,$0B,$F2,$3A,$F2 .db $1A,$F2,$0A,$F9,$4D,$10,$10,$08 .db $08,$22,$04,$04,$02,$00,$1F,$1F .db $20,$43,$3F,$40,$01,$7F,$80,$45 .db $7D,$82,$29,$00,$02,$6D,$00,$40 .db $22,$00,$02,$40,$00,$40,$22,$00 .db $09,$40,$00,$00,$6D,$40,$00,$40 .db $40,$00,$40,$22,$00,$00,$FF,$47 .db $FF,$00,$44,$00,$FF,$00,$00,$2D .db $FF,$45,$00,$FF,$01,$FF,$00,$27 .db $FF,$01,$3F,$3F,$43,$7F,$40,$43 .db $F3,$80,$00,$E0,$44,$80,$E3,$22 .db $00,$0A,$0C,$0C,$1F,$1C,$1C,$FC .db $FC,$F2,$02,$81,$01,$43,$81,$03 .db $E0,$21,$01,$03,$01,$0F,$01,$37 .db $00,$0C,$7E,$7C,$7C,$FC,$F0,$C8 .db $83,$80,$80,$90,$80,$80,$8C,$93 .db $8C,$F3,$80,$FF,$C0,$FF,$7F,$7F .db $7C,$6F,$7F,$60,$23,$00,$05,$01 .db $37,$01,$3F,$01,$FF,$43,$01,$E7 .db $0A,$03,$FF,$07,$FF,$FE,$FE,$C8 .db $C0,$00,$18,$18,$22,$00,$01,$40 .db $FF,$45,$3F,$C0,$43,$40,$BF,$02 .db $3F,$C0,$00,$24,$7F,$05,$40,$40 .db $7F,$00,$04,$FB,$45,$F8,$07,$43 .db $00,$FF,$04,$F8,$07,$00,$FE,$FC .db $22,$F8,$07,$00,$00,$F8,$00,$41 .db $BE,$40,$BF,$43,$41,$BE,$83,$02 .db $16,$83,$02,$1C,$0B,$7C,$7E,$7C .db $7C,$7E,$7F,$3F,$00,$41,$C2,$40 .db $C1,$43,$41,$C2,$17,$40,$C1,$60 .db $E0,$3F,$7F,$00,$3F,$3C,$3E,$3C .db $3C,$3E,$1F,$00,$00,$10,$60,$0C .db $30,$03,$1C,$00,$07,$27,$00,$02 .db $1F,$0F,$03,$24,$00,$07,$68,$86 .db $30,$0C,$C0,$38,$00,$E0,$27,$00 .db $02,$78,$F0,$C0,$24,$00,$05,$DF .db $B6,$DD,$B6,$DE,$B0,$44,$DF,$BC .db $44,$BF,$DF,$02,$00,$00,$01,$24 .db $00,$09,$F9,$6D,$B9,$6D,$79,$0D .db $F9,$3D,$F9,$BD,$45,$F9,$FD,$02 .db $02,$02,$82,$24,$02,$06,$7F,$80 .db $77,$80,$67,$80,$38,$44,$40,$3F .db $07,$1E,$21,$00,$1E,$00,$08,$18 .db $07,$25,$00,$05,$6D,$6D,$40,$40 .db $00,$00,$23,$40,$83,$05,$BE,$28 .db $00,$25,$FF,$44,$00,$FF,$26,$FF .db $22,$00,$22,$FF,$02,$00,$FF,$00 .db $43,$00,$FF,$43,$FF,$00,$85,$04 .db $5E,$83,$04,$51,$22,$00,$02,$01 .db $00,$03,$48,$00,$07,$02,$03,$00 .db $01,$28,$00,$02,$03,$00,$07,$48 .db $00,$0F,$02,$07,$00,$03,$28,$00 .db $02,$07,$00,$0F,$48,$00,$1F,$02 .db $0F,$00,$07,$28,$00,$02,$0F,$00 .db $1F,$48,$00,$3F,$02,$1F,$00,$0F .db $28,$00,$02,$1F,$00,$3F,$48,$00 .db $7F,$02,$3F,$00,$1F,$28,$00,$02 .db $0F,$00,$1F,$48,$00,$3F,$02,$1F .db $00,$0F,$28,$00,$02,$07,$00,$0F .db $48,$00,$1F,$02,$0F,$00,$07,$28 .db $00,$02,$03,$00,$07,$48,$00,$0F .db $02,$07,$00,$03,$28,$00,$02,$1F .db $00,$3F,$48,$00,$7F,$02,$3F,$00 .db $1F,$28,$00,$02,$0F,$00,$1F,$48 .db $00,$3F,$02,$1F,$00,$0F,$28,$00 .db $02,$07,$00,$0F,$48,$00,$1F,$02 .db $0F,$00,$07,$28,$00,$02,$03,$00 .db $07,$48,$00,$0F,$02,$07,$00,$03 .db $28,$00,$02,$01,$00,$03,$48,$00 .db $07,$02,$03,$00,$01,$28,$00,$02 .db $03,$00,$07,$48,$00,$0F,$02,$07 .db $00,$03,$28,$00,$02,$07,$00,$0F .db $48,$00,$1F,$02,$0F,$00,$07,$28 .db $00,$02,$0F,$00,$1F,$48,$00,$3F .db $02,$1F,$00,$0F,$29,$00,$03,$60 .db $60,$90,$90,$23,$00,$0D,$0C,$0C .db $12,$12,$00,$00,$FF,$9F,$6F,$FF .db $FF,$F3,$ED,$FF,$22,$00,$02,$20 .db $00,$02,$24,$00,$00,$40,$23,$00 .db $07,$FF,$DF,$FD,$FF,$FF,$BF,$FF .db $FF,$22,$00,$02,$02,$00,$20,$24 .db $00,$00,$10,$83,$05,$81,$07,$FF .db $FD,$DF,$FF,$FF,$EF,$FE,$FF,$97 .db $01,$08,$F0,$60,$07,$C8,$0E,$01 .db $FD,$02,$F3,$0C,$CB,$3C,$17,$F8 .db $47,$D8,$AF,$B0,$CF,$70,$24,$00 .db $02,$20,$40,$80,$43,$FF,$00,$0B .db $FB,$04,$F7,$08,$CF,$30,$2F,$F0 .db $1F,$A0,$1F,$60,$25,$00,$01,$40 .db $80,$47,$FF,$00,$07,$EF,$10,$DF .db $20,$3F,$C0,$BF,$C0,$27,$00,$4B .db $FF,$00,$03,$BF,$40,$7F,$80,$27 .db $00,$4D,$FF,$00,$01,$7F,$80,$27 .db $00,$4B,$FF,$00,$83,$08,$94,$27 .db $00,$47,$FF,$00,$87,$08,$78,$27 .db $00,$43,$FF,$00,$8B,$08,$5C,$25 .db $00,$01,$40,$80,$45,$FF,$00,$43 .db $E7,$18,$44,$FF,$00,$28,$00,$43 .db $FF,$00,$01,$DB,$24,$43,$E7,$18 .db $04,$DB,$24,$FF,$00,$FF,$28,$00 .db $05,$FF,$00,$BD,$42,$FF,$24,$44 .db $FF,$18,$03,$24,$BD,$42,$FF,$28 .db $00,$05,$7E,$81,$FF,$42,$C3,$18 .db $44,$C3,$24,$12,$18,$FF,$42,$7E .db $81,$00,$00,$24,$18,$18,$24,$00 .db $00,$FF,$81,$A5,$3C,$FF,$5A,$43 .db $BD,$66,$07,$FF,$5A,$A5,$3C,$FF .db $81,$00,$42,$83,$09,$5A,$00,$42 .db $86,$09,$47,$44,$C3,$24,$8D,$09 .db $53,$84,$09,$31,$44,$FF,$18,$83 .db $09,$3B,$28,$00,$43,$FF,$00,$01 .db $DB,$24,$43,$E7,$18,$84,$09,$22 .db $2B,$00,$02,$20,$00,$02,$24,$00 .db $04,$40,$00,$33,$00,$CC,$85,$07 .db $A8,$01,$CC,$33,$24,$00,$02,$20 .db $00,$02,$24,$00,$03,$CC,$00,$33 .db $FF,$84,$07,$A8,$01,$33,$CC,$26 .db $00,$02,$20,$00,$02,$22,$00,$02 .db $33,$00,$CC,$22,$FF,$06,$DF,$FD .db $FF,$CC,$33,$00,$40,$26,$00,$83 .db $07,$9B,$03,$CC,$00,$33,$BF,$22 .db $FF,$03,$DF,$FD,$33,$CC,$22,$00 .db $00,$40,$26,$00,$00,$20,$84,$09 .db $CC,$00,$BF,$22,$FF,$02,$DF,$CC .db $33,$24,$00,$00,$40,$26,$00,$84 .db $09,$E5,$00,$BF,$22,$FF,$03,$33 .db $CC,$00,$02,$24,$00,$00,$40,$24 .db $00,$02,$33,$00,$CC,$85,$07,$AA .db $01,$CC,$33,$83,$07,$9A,$24,$00 .db $00,$40,$22,$00,$02,$CC,$00,$33 .db $85,$07,$A9,$03,$33,$CC,$10,$10 .db $22,$00,$08,$10,$82,$BA,$00,$10 .db $00,$00,$10,$10,$22,$00,$02,$10 .db $10,$7C,$83,$0A,$80,$01,$10,$10 .db $23,$00,$01,$82,$92,$23,$00,$01 .db $10,$10,$22,$00,$84,$0A,$91,$23 .db $00,$83,$0A,$80,$01,$44,$54,$83 .db $0A,$8A,$25,$00,$02,$10,$38,$10 .db $26,$00,$05,$10,$10,$28,$28,$10 .db $10,$28,$00,$00,$10,$29,$00,$01 .db $10,$10,$E4,$2B,$00,$85,$0A,$CC .db $28,$00,$00,$10,$25,$00,$89,$0A .db $B2,$25,$00,$02,$10,$38,$10,$3F .db $00,$04,$10,$10,$38,$00,$10,$30 .db $00,$00,$10,$83,$0A,$90,$43,$00 .db $10,$2B,$00,$01,$10,$10,$22,$00 .db $88,$0A,$85,$22,$00,$84,$0A,$91 .db $22,$00,$22,$10,$03,$00,$00,$44 .db $D6,$84,$0A,$8A,$00,$10,$23,$00 .db $02,$10,$38,$10,$25,$00,$84,$0B .db $73,$43,$00,$10,$30,$00,$84,$0B .db $5D,$34,$00,$00,$10,$2F,$00,$FF .db $17,$00,$0F,$0F,$3F,$3F,$7F,$3F .db $7E,$7E,$F9,$7D,$F3,$7B,$F7,$7A .db $E6,$00,$0F,$3F,$3F,$7E,$7C,$78 .db $79,$85,$00,$00,$12,$7F,$FC,$7C .db $C3,$43,$BF,$3F,$FF,$3C,$FC,$00 .db $0F,$3F,$7F,$7C,$40,$00,$43,$00 .db $25,$FF,$09,$7F,$7F,$9C,$9C,$E3 .db $E3,$FF,$7E,$7E,$00,$22,$FF,$04 .db $7F,$1C,$00,$81,$00,$25,$FF,$03 .db $1C,$1C,$E3,$E3,$22,$FF,$02,$1C .db $1C,$00,$22,$FF,$03,$1C,$00,$00 .db $E3,$43,$76,$EE,$43,$7B,$F7,$45 .db $7D,$FB,$05,$7B,$F7,$71,$71,$78 .db $78,$22,$7C,$0C,$78,$40,$C0,$A0 .db $E6,$A0,$66,$60,$E6,$C0,$D0,$80 .db $90,$23,$00,$E0,$37,$3F,$9F,$9F .db $1F,$3F,$7F,$FF,$FF,$F7,$FF,$F6 .db $EE,$F4,$EC,$F4,$8C,$CC,$3C,$38 .db $F8,$F0,$F0,$80,$80,$F0,$F1,$F3 .db $F3,$C3,$07,$0F,$7F,$00,$01,$01 .db $03,$03,$07,$07,$0F,$0F,$1E,$1E .db $3D,$3D,$7B,$7D,$FB,$00,$01,$03 .db $07,$0F,$1E,$3C,$7C,$86,$00,$A8 .db $02,$0E,$0E,$1D,$85,$00,$B2,$06 .db $FE,$FD,$FB,$F7,$EE,$DE,$BC,$87 .db $00,$BF,$86,$00,$AF,$01,$7B,$F7 .db $83,$00,$D0,$03,$EF,$DE,$BC,$78 .db $24,$00,$0A,$06,$06,$0F,$0E,$1F .db $1E,$3D,$3C,$7B,$78,$F5,$22,$00 .db $0E,$06,$0E,$1E,$3C,$7A,$77,$EF .db $76,$8E,$0C,$FC,$38,$B8,$30,$B0 .db $45,$00,$C0,$04,$70,$71,$03,$47 .db $4F,$22,$7F,$17,$FE,$F9,$F9,$F7 .db $F7,$CF,$EE,$1E,$98,$78,$70,$F0 .db $E0,$E0,$80,$80,$FE,$F8,$F0,$E1 .db $87,$0F,$1F,$7F,$8F,$00,$18,$02 .db $F0,$CF,$BF,$85,$00,$2B,$01,$03 .db $03,$83,$00,$01,$10,$FF,$FF,$FC .db $FC,$FB,$FB,$F7,$F7,$CF,$00,$03 .db $0F,$3F,$FF,$FC,$F8,$F0,$48,$00 .db $C0,$06,$C3,$03,$CF,$0F,$FF,$3F .db $FF,$23,$7F,$03,$7C,$73,$4F,$3F .db $45,$76,$EE,$45,$7B,$F7,$03,$77 .db $EF,$76,$EE,$22,$71,$22,$78,$01 .db $70,$71,$8F,$00,$00,$03,$F0,$CF .db $BF,$BF,$83,$00,$14,$24,$00,$44 .db $18,$00,$25,$00,$27,$FF,$22,$00 .db $45,$06,$00,$02,$20,$00,$20,$23 .db $00,$27,$FF,$22,$00,$45,$06,$00 .db $02,$10,$00,$10,$23,$00,$27,$FF .db $24,$00,$45,$20,$00,$43,$04,$00 .db $00,$00,$27,$FF,$8E,$00,$D8,$00 .db $FF,$86,$00,$B8,$00,$78,$43,$FA .db $F6,$05,$F4,$EC,$F4,$CC,$C8,$38 .db $83,$00,$9A,$E0,$21,$C0,$C0,$F9 .db $F9,$F3,$F3,$C7,$07,$0F,$3F,$00 .db $C1,$01,$C3,$03,$C7,$07,$CE,$0E .db $DD,$1E,$FD,$3D,$FB,$7D,$FB,$7E .db $7D,$7B,$77,$6E,$5E,$3C,$7C,$24 .db $00,$88,$00,$F5,$E0,$21,$7A,$F7 .db $FF,$FF,$F9,$F6,$EE,$DE,$BC,$78 .db $F8,$F5,$F4,$ED,$EC,$DF,$EC,$1F .db $18,$FB,$F0,$F3,$E0,$E3,$00,$03 .db $FA,$F2,$E2,$E2,$06,$0E,$1E,$FE .db $28,$00,$86,$01,$51,$24,$00,$02 .db $03,$0F,$3F,$88,$01,$50,$06,$F0 .db $F0,$CF,$CF,$BF,$BF,$7F,$84,$01 .db $60,$0C,$F0,$C0,$80,$FF,$F8,$F8 .db $F7,$F7,$EF,$EF,$9F,$9C,$7C,$83 .db $01,$2A,$09,$00,$00,$FF,$F8,$F0 .db $E0,$83,$0F,$1F,$FF,$83,$00,$98 .db $83,$01,$2C,$27,$00,$03,$C3,$07 .db $1F,$7F,$23,$FF,$09,$7F,$FE,$7E .db $E1,$61,$9F,$1E,$FE,$20,$A0,$45 .db $00,$C0,$04,$7F,$7E,$60,$01,$5F .db $22,$7F,$28,$00,$85,$01,$51,$24 .db $FF,$02,$FC,$F3,$CF,$89,$02,$9F .db $86,$01,$59,$83,$03,$14,$83,$01 .db $64,$24,$00,$12,$3C,$3C,$FE,$FE .db $FD,$FC,$FB,$FA,$F7,$F6,$CF,$FF .db $FF,$C3,$3D,$FE,$FC,$F8,$F0,$24 .db $00,$8A,$03,$35,$22,$00,$00,$3C .db $83,$03,$44,$24,$00,$01,$0F,$0F .db $23,$FF,$04,$FE,$FE,$F9,$F9,$07 .db $22,$00,$07,$0F,$FF,$FF,$FE,$F8 .db $00,$0F,$0F,$25,$FF,$08,$FC,$F8 .db $07,$07,$FF,$F8,$F8,$00,$0F,$22 .db $FF,$02,$F8,$00,$07,$24,$FF,$0A .db $CC,$CE,$31,$B1,$7F,$7F,$FF,$C0 .db $C0,$00,$00,$22,$FF,$0E,$CE,$80 .db $00,$3F,$FF,$FD,$F2,$F2,$8F,$8F .db $7F,$70,$F0,$C0,$C0,$25,$00,$04 .db $FD,$F0,$80,$0F,$3F,$22,$FF,$05 .db $C7,$3F,$30,$F0,$C0,$C0,$29,$00 .db $02,$C0,$0F,$3F,$24,$FF,$2C,$00 .db $01,$0F,$0F,$26,$FF,$01,$F0,$0F .db $28,$00,$01,$0F,$0F,$23,$FF,$00 .db $FC,$23,$FF,$03,$F0,$0F,$FF,$FF .db $24,$00,$01,$0F,$0F,$25,$FF,$02 .db $F8,$F8,$C7,$83,$03,$EC,$22,$FF .db $83,$03,$77,$23,$FF,$07,$FE,$FE .db $C1,$E0,$1F,$9F,$7F,$7F,$84,$04 .db $03,$02,$FE,$E0,$80,$23,$00,$E0 .db $24,$FC,$FC,$FE,$FE,$FF,$FE,$F9 .db $F8,$07,$06,$FF,$F8,$F9,$FF,$03 .db $FD,$FE,$FE,$F8,$00,$06,$7F,$FF .db $7F,$BF,$7F,$8C,$0E,$F1,$31,$BF .db $3E,$BE,$0E,$CE,$00,$C0,$22,$7F .db $04,$0E,$40,$41,$71,$7F,$44,$00 .db $C0,$01,$CF,$0F,$25,$FF,$06,$F8 .db $F8,$C7,$7F,$7F,$70,$0F,$22,$FF .db $18,$F8,$00,$80,$00,$C0,$00,$60 .db $00,$30,$00,$18,$00,$0C,$00,$06 .db $00,$03,$7F,$BF,$DF,$EF,$F7,$FB .db $FD,$FE,$8F,$02,$A0,$84,$03,$28 .db $0A,$F0,$C0,$80,$CC,$3D,$38,$F9 .db $E0,$E1,$80,$81,$47,$00,$01,$03 .db $C2,$06,$1E,$7E,$23,$FE,$83,$03 .db $AE,$2B,$00,$01,$0F,$3F,$25,$FF .db $2C,$00,$02,$0F,$0F,$FF,$26,$00 .db $00,$0F,$28,$00,$01,$0F,$0F,$23 .db $FF,$00,$FC,$24,$00,$02,$0F,$FF .db $FF,$24,$00,$01,$0F,$0F,$25,$FF .db $02,$F8,$F8,$C7,$22,$00,$00,$0F .db $22,$FF,$83,$03,$77,$23,$FF,$86 .db $04,$27,$01,$7E,$FE,$84,$03,$72 .db $0E,$E0,$80,$01,$FF,$FE,$FE,$FD .db $FD,$E3,$F3,$0F,$0E,$FE,$F0,$F0 .db $23,$00,$0F,$FF,$FE,$FC,$F0,$01 .db $0F,$FF,$FF,$FC,$7B,$FB,$07,$07 .db $FF,$FC,$FC,$27,$00,$03,$FC,$F8 .db $00,$03,$23,$FF,$83,$05,$5C,$2C .db $00,$00,$03,$25,$FF,$24,$00,$01 .db $0F,$0F,$23,$FF,$84,$03,$6B,$85 .db $04,$02,$84,$03,$76,$25,$FF,$86 .db $03,$81,$01,$F0,$0F,$22,$FF,$02 .db $F8,$00,$07,$22,$00,$8C,$04,$3B .db $02,$00,$00,$FC,$84,$04,$4B,$4C .db $00,$C0,$02,$CF,$0F,$FF,$25,$7F .db $01,$70,$0F,$44,$00,$C0,$01,$CF .db $0F,$23,$FF,$84,$03,$6B,$85,$04 .db $78,$03,$FE,$F8,$00,$C0,$46,$00 .db $C6,$43,$D0,$00,$02,$C0,$00,$C0 .db $27,$7F,$03,$00,$C0,$C0,$E0,$43 .db $E0,$D0,$17,$D0,$38,$30,$F4,$E0 .db $E2,$C0,$C3,$00,$C0,$E0,$E0,$C0 .db $08,$1C,$3E,$7B,$F7,$76,$EE,$76 .db $8E,$04,$74,$85,$04,$8A,$0D,$00 .db $01,$78,$71,$71,$0B,$07,$03,$01 .db $00,$07,$07,$68,$6F,$43,$90,$FF .db $01,$80,$FF,$43,$40,$7F,$03,$20 .db $3F,$F8,$90,$22,$00,$06,$80,$80 .db $C0,$E0,$E0,$17,$F7,$43,$09,$FF .db $01,$01,$FF,$43,$02,$FE,$03,$04 .db $FC,$1F,$08,$22,$00,$02,$01,$01 .db $03,$2C,$00,$02,$07,$07,$08,$26 .db $00,$00,$07,$24,$00,$0A,$0E,$0E .db $31,$31,$4E,$4E,$BF,$BF,$7F,$7F .db $FF,$22,$00,$00,$0E,$83,$00,$8C .db $15,$00,$0C,$0C,$32,$32,$4D,$4A .db $BD,$BA,$7D,$7E,$FD,$FD,$FE,$FE .db $FF,$00,$0C,$3E,$7E,$FE,$FE,$8D .db $06,$A6,$00,$FF,$84,$06,$BD,$83 .db $06,$BA,$01,$F7,$E3,$24,$00,$0A .db $0E,$0E,$31,$21,$56,$42,$A3,$87 .db $47,$6F,$EF,$22,$00,$88,$06,$A3 .db $08,$3A,$45,$5E,$A1,$BA,$45,$7D .db $EE,$FE,$22,$FF,$07,$00,$0C,$36 .db $62,$C6,$EF,$FF,$FF,$2C,$00,$02 .db $C0,$C0,$20,$26,$00,$02,$C0,$04 .db $0B,$44,$0B,$17,$04,$37,$37,$4F .db $2F,$5F,$43,$5F,$BF,$00,$07,$22 .db $0F,$83,$00,$1B,$07,$FF,$DF,$FF .db $8F,$FF,$1F,$FF,$BF,$27,$FF,$03 .db $DF,$8F,$1F,$BF,$25,$FF,$07,$F7 .db $F7,$E3,$E3,$C7,$C7,$EF,$EF,$32 .db $FF,$06,$FD,$FF,$F8,$FF,$F1,$FF .db $FB,$25,$FF,$05,$FD,$F8,$F1,$FB .db $FF,$FF,$44,$00,$C0,$45,$D8,$00 .db $44,$C0,$00,$27,$7F,$8F,$04,$80 .db $1F,$00,$80,$C0,$E0,$F0,$F8,$FC .db $FE,$00,$83,$00,$C3,$00,$63,$00 .db $33,$00,$1B,$00,$0F,$00,$07,$00 .db $03,$7E,$BE,$DE,$EE,$F6,$FA,$FC .db $FE,$43,$10,$1F,$13,$D0,$DF,$B0 .db $FF,$80,$FF,$4E,$7F,$2A,$3B,$19 .db $19,$E0,$E0,$20,$00,$00,$80,$C4 .db $E6,$43,$08,$F8,$13,$0B,$FB,$0D .db $FF,$01,$FF,$72,$FE,$54,$DC,$98 .db $98,$07,$07,$04,$00,$00,$01,$23 .db $67,$2F,$FF,$01,$C7,$EF,$39,$FF .db $0A,$FB,$F1,$E3,$F7,$E0,$1C,$3C .db $C2,$1C,$E2,$86,$44,$F9,$E6,$43 .db $CC,$F2,$02,$E0,$FC,$FC,$22,$FE .db $01,$FC,$FC,$22,$FF,$03,$80,$80 .db $FF,$FF,$26,$80,$83,$01,$C6,$24 .db $7F,$00,$00,$22,$FF,$83,$01,$BE .db $26,$00,$83,$01,$C6,$24,$FF,$02 .db $00,$80,$80,$47,$BC,$CF,$03,$C0 .db $C0,$59,$66,$22,$7F,$23,$4F,$04 .db $3F,$A7,$80,$01,$01,$47,$39,$C1 .db $04,$03,$03,$83,$02,$FF,$25,$FE .db $02,$FC,$FD,$01,$4F,$BC,$CF,$27 .db $4F,$4F,$39,$C1,$27,$FE,$46,$FF .db $00,$08,$03,$FF,$07,$FC,$0C,$F8 .db $18,$F0,$30,$22,$FF,$05,$FC,$F8 .db $F0,$E0,$C0,$FF,$83,$01,$74,$02 .db $FF,$C0,$C0,$27,$00,$01,$F0,$C0 .db $25,$00,$01,$FF,$F0,$83,$03,$FE .db $03,$0F,$0F,$03,$03,$25,$00,$01 .db $0F,$03,$25,$00,$46,$FE,$00,$08 .db $C0,$FE,$E0,$FE,$F0,$3E,$38,$1E .db $1C,$22,$FF,$0C,$3F,$1F,$0F,$07 .db $03,$E0,$20,$E0,$60,$C0,$40,$C0 .db $C0,$27,$80,$02,$C0,$80,$80,$24 .db $00,$01,$1E,$1C,$23,$0E,$01,$0F .db $0F,$27,$07,$02,$03,$01,$01,$24 .db $00,$2F,$03,$27,$00,$01,$FF,$FF .db $23,$00,$23,$FF,$00,$00,$44,$00 .db $FF,$84,$08,$5C,$24,$FF,$23,$80 .db $23,$FF,$00,$80,$43,$80,$FF,$01 .db $F0,$00,$83,$02,$FE,$E0,$2A,$7F .db $7F,$0F,$07,$00,$07,$04,$03,$02 .db $3B,$02,$6F,$19,$7F,$26,$BF,$5B .db $EF,$21,$FF,$FA,$FD,$FD,$DF,$FF .db $E7,$DF,$00,$00,$81,$00,$43,$80 .db $A7,$C0,$FB,$66,$FF,$6C,$FF,$5C .db $FF,$0A,$22,$FF,$00,$FD,$23,$FF .db $11,$10,$00,$39,$00,$5B,$31,$7B .db $30,$7F,$31,$FF,$37,$FF,$90,$FF .db $EC,$FF,$EF,$83,$07,$6B,$19,$BF .db $FD,$DF,$46,$AF,$9C,$3F,$18,$7B .db $26,$7F,$14,$FF,$33,$EE,$66,$88 .db $88,$B7,$7F,$FD,$FF,$EF,$CC,$99 .db $77,$48,$00,$C0,$86,$01,$71,$23 .db $7F,$83,$01,$7C,$28,$00,$85,$01 .db $51,$24,$FF,$83,$03,$14,$2C,$00 .db $01,$0F,$0F,$26,$FF,$01,$F0,$0F .db $28,$00,$01,$0F,$0F,$23,$FF,$00 .db $FC,$23,$FF,$83,$04,$04,$4C,$00 .db $C0,$02,$CF,$0F,$FF,$25,$7F,$E0 .db $29,$70,$0F,$DF,$31,$FF,$74,$FE .db $73,$FF,$6D,$F7,$A5,$F3,$D2,$21 .db $01,$20,$20,$BF,$FD,$FF,$F3,$7B .db $2D,$FE,$DF,$FE,$6F,$FF,$37,$FF .db $13,$FB,$55,$BF,$25,$9F,$14,$8F .db $0A,$85,$85,$22,$FF,$04,$BF,$DF .db $EF,$F5,$7A,$83,$06,$18,$43,$E0 .db $D0,$87,$06,$20,$06,$3F,$DF,$EF .db $EF,$C7,$0B,$1D,$93,$06,$2F,$00 .db $8B,$84,$04,$94,$02,$7F,$3F,$E2 .db $4B,$5D,$AF,$01,$00,$62,$25,$6F .db $03,$00,$FE,$E8,$FF,$4B,$16,$E9 .db $00,$00,$26,$FE,$03,$32,$DD,$00 .db $FF,$4B,$2D,$57,$01,$3F,$00,$25 .db $37,$03,$E8,$17,$00,$FF,$4B,$2C .db $D2,$01,$E8,$00,$25,$FC,$4F,$2D .db $57,$27,$37,$4F,$2C,$D2,$27,$FC .db $07,$00,$7F,$3F,$C0,$7F,$BF,$7F .db $80,$43,$7F,$BF,$07,$40,$BF,$00 .db $FF,$00,$7F,$3F,$00,$22,$3F,$08 .db $7F,$00,$FF,$3F,$C0,$BF,$FF,$BF .db $40,$43,$BF,$FF,$43,$80,$FF,$03 .db $00,$3F,$3F,$80,$23,$3F,$83,$08 .db $5C,$22,$FF,$00,$00,$23,$FF,$45 .db $00,$FF,$01,$FF,$00,$23,$FF,$05 .db $7F,$BF,$3F,$C0,$00,$FF,$43,$3F .db $C0,$00,$7F,$43,$FF,$00,$01,$7F .db $3F,$23,$7F,$22,$00,$04,$BF,$FF .db $BF,$C0,$80,$83,$0B,$8D,$01,$C0 .db $3F,$44,$FF,$00,$22,$3F,$01,$BF .db $3F,$22,$00,$22,$FF,$02,$00,$00 .db $FF,$44,$FF,$00,$43,$FF,$00,$25 .db $FF,$22,$00,$FF,$22,$00,$E0,$22 .db $03,$00,$0C,$0E,$10,$0C,$23,$08 .db $27,$01,$47,$0B,$47,$00,$00,$03 .db $0F,$1F,$1F,$3F,$37,$00,$CF,$CF .db $F9,$F0,$FF,$0C,$FF,$30,$CF,$CF .db $30,$00,$CF,$22,$00,$04,$C9,$F3 .db $FC,$3F,$CF,$22,$00,$8C,$00,$19 .db $22,$00,$84,$00,$29,$22,$00,$8C .db $00,$19,$22,$00,$86,$00,$29,$07 .db $48,$FE,$28,$DE,$14,$FA,$54,$BA .db $43,$28,$74,$11,$40,$BE,$50,$AE .db $6C,$6C,$5C,$5C,$38,$38,$34,$34 .db $E7,$E7,$C3,$C3,$81,$81,$23,$00 .db $05,$81,$81,$C3,$C3,$E7,$E7,$27 .db $FF,$15,$C8,$F6,$30,$C8,$C0,$38 .db $20,$D0,$40,$A0,$80,$40,$00,$80 .db $00,$00,$F8,$F0,$C0,$20,$C0,$80 .db $22,$00,$16,$01,$01,$03,$00,$07 .db $03,$0C,$0C,$13,$12,$2F,$0D,$36 .db $3A,$DD,$00,$01,$03,$07,$0C,$13 .db $07,$1E,$F0,$47,$00,$A8,$97,$00 .db $90,$0B,$FC,$3F,$03,$FC,$FC,$03 .db $00,$FC,$C0,$20,$00,$C0,$23,$00 .db $04,$3F,$FF,$FC,$00,$C0,$23,$00 .db $8C,$00,$19,$22,$00,$84,$00,$29 .db $22,$00,$06,$03,$03,$0F,$08,$1F .db $00,$FF,$87,$01,$20,$02,$00,$03 .db $0F,$83,$01,$2F,$29,$00,$86,$01 .db $51,$24,$00,$01,$03,$0F,$88,$00 .db $5F,$43,$28,$74,$8B,$00,$6C,$43 .db $1F,$87,$12,$13,$8F,$10,$8F,$11 .db $8E,$7C,$80,$38,$40,$00,$3F,$67 .db $67,$6F,$6F,$7E,$7F,$3F,$E4,$61 .db $00,$F0,$2C,$00,$F1,$22,$00,$F0 .db $44,$00,$D9,$2A,$00,$86,$01,$51 .db $24,$00,$01,$03,$0F,$98,$01,$4F .db $8B,$01,$20,$23,$00,$84,$01,$30 .db $22,$00,$83,$01,$28,$2B,$00,$00 .db $C0,$26,$00,$8B,$01,$20,$23,$00 .db $84,$01,$30,$2B,$00,$86,$01,$51 .db $24,$00,$9A,$02,$9D,$F0,$2E,$03 .db $18,$25,$00,$0A,$07,$06,$FB,$F0 .db $3F,$0F,$FF,$F0,$0F,$0F,$F0,$22 .db $00,$04,$03,$30,$FF,$FF,$0F,$8B .db $03,$64,$03,$E0,$1F,$00,$E0,$85 .db $03,$72,$01,$E0,$00,$8B,$03,$7C .db $23,$00,$84,$03,$8A,$22,$00,$87 .db $03,$80,$27,$00,$02,$FF,$0F,$E0 .db $24,$00,$83,$03,$84,$2B,$00,$00 .db $E0,$33,$00,$02,$07,$06,$FB,$26 .db $00,$00,$03,$28,$00,$86,$03,$65 .db $24,$00,$02,$03,$30,$FF,$24,$00 .db $8A,$03,$65,$22,$00,$9C,$03,$73 .db $F0,$23,$03,$78,$23,$00,$84,$03 .db $8A,$27,$00,$8A,$03,$65,$22,$00 .db $84,$03,$73,$28,$00,$86,$01,$51 .db $24,$00,$9A,$02,$9D,$83,$01,$28 .db $2B,$00,$00,$C0,$26,$00,$83,$01 .db $28,$2B,$00,$00,$C0,$33,$00,$02 .db $07,$06,$FB,$26,$00,$00,$03,$28 .db $00,$86,$03,$65,$24,$00,$02,$03 .db $30,$FF,$24,$00,$8A,$03,$65,$22 .db $00,$F0,$28,$03,$73,$23,$00,$84 .db $03,$8A,$22,$00,$87,$03,$80,$27 .db $00,$02,$FF,$0F,$E0,$24,$00,$83 .db $03,$84,$2B,$00,$00,$E0,$2B,$00 .db $8A,$03,$65,$22,$00,$F0,$33,$04 .db $1B,$2D,$00,$02,$07,$06,$FB,$26 .db $00,$00,$03,$24,$00,$8A,$03,$65 .db $22,$00,$84,$03,$73,$3C,$00,$0A .db $01,$00,$02,$00,$04,$00,$08,$00 .db $10,$00,$20,$28,$00,$04,$0F,$00 .db $70,$00,$80,$32,$00,$18,$80,$00 .db $C0,$40,$A0,$60,$90,$70,$8C,$3C .db $43,$3F,$40,$3A,$45,$00,$00,$40 .db $60,$70,$3C,$3F,$3F,$00,$01,$43 .db $01,$02,$43,$03,$04,$05,$06,$09 .db $05,$CA,$C6,$29,$83,$00,$A8,$09 .db $03,$07,$07,$C7,$78,$D7,$7C,$F3 .db $3E,$F1,$43,$3F,$F0,$06,$3E,$F1 .db $7C,$F3,$78,$D7,$2F,$25,$0F,$05 .db $2F,$E7,$FF,$C3,$FF,$81,$44,$FF .db $00,$04,$81,$FF,$C3,$FF,$E7,$28 .db $FF,$43,$1F,$87,$87,$01,$9C,$03 .db $B8,$C0,$C0,$FF,$88,$01,$A8,$0A .db $FF,$7F,$80,$7F,$FF,$00,$FF,$2C .db $D3,$73,$AC,$43,$60,$FF,$04,$00 .db $00,$7F,$53,$2C,$22,$7F,$0B,$00 .db $FF,$FE,$01,$FE,$FF,$00,$FF,$60 .db $9F,$98,$67,$43,$6E,$F1,$0F,$00 .db $00,$FE,$9A,$60,$F8,$FE,$FE,$00 .db $FF,$67,$BB,$6F,$B7,$64,$BB,$43 .db $68,$B7,$43,$64,$BB,$00,$00,$43 .db $37,$2F,$09,$2F,$37,$37,$00,$FF .db $FF,$F3,$F0,$FF,$0F,$44,$FF,$E0 .db $05,$00,$FF,$1C,$FF,$00,$F3,$25 .db $FF,$8C,$06,$1C,$02,$40,$00,$80 .db $32,$00,$04,$01,$00,$06,$00,$08 .db $2A,$00,$06,$01,$00,$0E,$00,$30 .db $00,$C0,$2E,$00,$02,$1F,$00,$E0 .db $E4,$2C,$00,$00,$20,$46,$00,$40 .db $46,$80,$00,$3F,$00,$0B,$15,$2A .db $1A,$25,$0C,$13,$05,$0B,$00,$07 .db $00,$01,$23,$00,$04,$1F,$1F,$0F .db $07,$01,$22,$00,$E0,$4B,$25,$DA .db $40,$FF,$A2,$FF,$5B,$FF,$BB,$FF .db $7B,$FF,$39,$7F,$11,$3B,$E7,$F7 .db $F7,$FB,$FB,$7B,$39,$11,$EF,$F7 .db $DC,$E3,$B0,$CC,$6E,$90,$CC,$23 .db $C8,$A7,$81,$C7,$83,$C7,$18,$3C .db $73,$EF,$DF,$5F,$3F,$3F,$00,$FF .db $18,$00,$3C,$00,$81,$7E,$00,$FF .db $FF,$C7,$FF,$83,$FF,$01,$00,$FF .db $FF,$7E,$FF,$C7,$83,$01,$FF,$F0 .db $FF,$E8,$8B,$08,$28,$47,$70,$68 .db $45,$6C,$FF,$01,$61,$FF,$43,$51 .db $BF,$43,$50,$FF,$23,$7F,$13,$3F .db $3F,$7F,$7F,$6E,$F1,$0E,$F1,$0C .db $F3,$8C,$F3,$84,$FB,$86,$F9,$66 .db $F9,$6E,$F1,$27,$FE,$01,$64,$BB .db $43,$6B,$B7,$03,$64,$BB,$67,$B8 .db $43,$63,$BC,$01,$00,$FF,$84,$07 .db $03,$03,$23,$33,$00,$1C,$44,$FF .db $83,$08,$00,$FF,$F1,$0E,$FF,$00 .db $C7,$38,$00,$27,$FF,$29,$00,$00 .db $01,$44,$00,$02,$00,$04,$28,$00 .db $86,$07,$29,$30,$00,$4E,$80,$00 .db $28,$00,$00,$FF,$36,$00,$43,$08 .db $00,$43,$10,$00,$45,$20,$00,$00 .db $40,$28,$00,$43,$01,$00,$43,$02 .db $00,$43,$04,$00,$02,$08,$00,$08 .db $29,$00,$09,$07,$07,$1F,$1F,$3F .db $3E,$7F,$78,$7F,$7C,$83,$08,$28 .db $07,$00,$00,$07,$1E,$38,$3C,$70 .db $68,$22,$FF,$00,$C0,$4B,$FF,$00 .db $01,$00,$C0,$25,$00,$E0,$2E,$FF .db $FF,$FC,$7F,$FF,$0F,$FF,$03,$FF .db $05,$FF,$02,$FF,$01,$FF,$02,$00 .db $7F,$0F,$03,$05,$02,$01,$02,$00 .db $00,$E0,$E0,$18,$F8,$A4,$FC,$D2 .db $FE,$C2,$FE,$F1,$FF,$E9,$FF,$00 .db $00,$E0,$F8,$FC,$FC,$FE,$83,$06 .db $DC,$0C,$03,$FF,$0F,$FF,$1F,$EF .db $3F,$DF,$3F,$BF,$7F,$9F,$7F,$83 .db $00,$11,$83,$08,$54,$01,$9F,$7F .db $83,$09,$9C,$05,$FF,$3F,$DF,$3F .db $EF,$1F,$83,$09,$64,$22,$7F,$14 .db $3F,$3F,$1F,$0F,$03,$F7,$79,$EF .db $F1,$D7,$69,$8F,$F1,$97,$69,$0F .db $F1,$17,$E9,$0F,$F1,$44,$7E,$FE .db $22,$FE,$14,$DF,$B0,$E7,$98,$D3 .db $AC,$E1,$9E,$D3,$AE,$E1,$9F,$D2 .db $AF,$E1,$9F,$70,$78,$7C,$7E,$7E .db $22,$7F,$03,$E9,$7F,$F1,$FF,$8B .db $09,$F0,$47,$7E,$FE,$28,$00,$86 .db $01,$51,$24,$00,$01,$03,$0F,$29 .db $00,$86,$01,$51,$24,$00,$01,$03 .db $0F,$2D,$00,$02,$07,$06,$FB,$26 .db $00,$00,$03,$28,$00,$86,$03,$65 .db $24,$00,$02,$03,$30,$FF,$2C,$00 .db $02,$07,$06,$FB,$26,$00,$00,$03 .db $46,$00,$40,$48,$80,$00,$28,$00 .db $43,$10,$00,$43,$20,$00,$43,$40 .db $00,$02,$80,$00,$80,$30,$00,$02 .db $03,$00,$0C,$83,$07,$56,$28,$00 .db $86,$0A,$B9,$30,$00,$04,$C7,$00 .db $F7,$00,$FF,$43,$41,$BE,$E0,$2F .db $44,$BB,$15,$EA,$55,$AA,$00,$03 .db $73,$37,$3F,$3F,$7F,$3F,$00,$8E .db $04,$FE,$0C,$F6,$5C,$A6,$7C,$A6 .db $FE,$2F,$BE,$4F,$BE,$5F,$00,$00 .db $78,$F8,$D8,$D0,$F0,$E0,$11,$EE .db $01,$FE,$64,$9B,$44,$BB,$76,$89 .db $43,$1F,$E0,$06,$73,$8C,$3B,$11 .db $65,$44,$76,$22,$7F,$19,$FE,$17 .db $08,$F7,$22,$FF,$72,$FF,$7E,$FD .db $7E,$CD,$FE,$CF,$FE,$FF,$E8,$08 .db $00,$00,$02,$32,$30,$00,$73,$8C .db $43,$3F,$C0,$43,$7F,$80,$05,$7E .db $81,$32,$CD,$33,$CC,$27,$7F,$E0 .db $2D,$FE,$FF,$FE,$3F,$FE,$3B,$FE .db $FB,$FE,$FF,$FE,$4F,$FE,$4D,$FE .db $FD,$00,$C0,$C4,$04,$00,$B0,$B2 .db $02,$00,$FF,$1D,$E2,$00,$7F,$03 .db $7C,$00,$3F,$07,$F8,$00,$FF,$1B .db $E4,$00,$22,$3F,$3F,$0F,$1F,$83 .db $06,$D6,$19,$39,$C6,$29,$D6,$8F .db $70,$06,$F9,$3E,$C1,$0F,$F0,$C7 .db $38,$00,$3F,$AF,$CF,$87,$3F,$8F .db $E7,$00,$FF,$9C,$63,$43,$FF,$00 .db $43,$7C,$83,$04,$FF,$00,$F9,$06 .db $00,$26,$FF,$14,$07,$F8,$1C,$63 .db $0F,$7C,$1F,$61,$3F,$C7,$7F,$FF .db $07,$FF,$00,$07,$1F,$3F,$33,$3E .db $38,$22,$00,$00,$83,$83,$09,$A7 .db $16,$79,$9F,$F9,$CF,$3F,$8F,$FF .db $BF,$F3,$00,$FF,$80,$80,$86,$06 .db $C0,$00,$0C,$00,$FF,$99,$FF,$9F .db $43,$FF,$F9,$22,$FF,$0C,$CF,$FF .db $FC,$00,$FF,$66,$60,$06,$06,$00 .db $30,$03,$00,$FF,$15,$FC,$FF,$F9 .db $FF,$E1,$FF,$C8,$E7,$90,$CC,$81 .db $DE,$13,$9E,$3F,$8C,$00,$00,$04 .db $10,$2F,$3F,$22,$7F,$1C,$FF,$3F .db $FF,$0F,$FF,$07,$CF,$03,$07,$83 .db $07,$E1,$03,$91,$63,$00,$00,$40 .db $30,$F8,$F8,$FC,$FC,$00,$81,$00 .db $42,$00,$24,$44,$00,$18,$04,$24 .db $00,$42,$00,$81,$27,$00,$4F,$DF .db $BF,$27,$00,$4F,$F9,$FD,$27,$02 .db $09,$00,$03,$02,$0D,$0E,$11,$1E .db $25,$1E,$29,$45,$3A,$55,$04,$00 .db $02,$0E,$1A,$16,$22,$2E,$0A,$00 .db $C0,$40,$B0,$70,$88,$78,$A4,$78 .db $B4,$7C,$44,$AA,$74,$13,$00,$40 .db $70,$58,$48,$54,$5C,$5C,$01,$73 .db $71,$FB,$4A,$FF,$22,$5F,$1A,$67 .db $02,$1F,$44,$01,$03,$12,$71,$7B .db $3B,$1B,$03,$01,$01,$00,$DE,$1C .db $FE,$24,$FA,$58,$E4,$60,$98,$00 .db $E0,$43,$00,$C0,$1C,$80,$9C,$3C .db $78,$60,$00,$80,$80,$00,$0F,$0F .db $3F,$30,$70,$27,$67,$48,$CF,$50 .db $DC,$50,$DA,$50,$D9,$00,$00,$0F .db $18,$30,$22,$20,$05,$50,$D9,$50 .db $DA,$50,$DC,$44,$50,$D8,$84,$00 .db $E3,$27,$20,$09,$00,$FF,$FF,$00 .db $00,$FF,$FF,$00,$00,$FF,$26,$00 .db $22,$FF,$24,$00,$1E,$3C,$38,$C4 .db $E8,$14,$E8,$34,$F4,$1A,$34,$1A .db $04,$0A,$14,$1A,$00,$08,$18,$38 .db $1C,$DC,$FC,$FC,$00,$C0,$00,$F0 .db $00,$F8,$00,$FC,$44,$00,$FE,$43 .db $FF,$00,$06,$C0,$F0,$F8,$FC,$AC .db $AE,$AE,$22,$FF,$14,$80,$C8,$C8 .db $C0,$D0,$E1,$C0,$C3,$C0,$C7,$C0 .db $CF,$C8,$00,$00,$48,$50,$60,$40 .db $40,$48,$22,$FF,$0E,$01,$7B,$03 .db $F7,$03,$EB,$03,$D3,$03,$A3,$03 .db $43,$03,$00,$00,$25,$02,$0C,$5F .db $A0,$0F,$FC,$9F,$FE,$AF,$FC,$D8 .db $FF,$E7,$FF,$F8,$22,$FF,$14,$7F .db $7F,$3F,$3F,$1F,$07,$00,$00,$E9 .db $F3,$F9,$63,$F3,$07,$E3,$17,$07 .db $EF,$8F,$FF,$3F,$22,$FF,$05,$FC .db $FC,$F8,$F8,$F0,$C0,$22,$00,$22 .db $FF,$02,$00,$00,$FF,$43,$FF,$00 .db $86,$00,$3B,$00,$FF,$2D,$00,$06 .db $08,$03,$08,$48,$2E,$1C,$1C,$23 .db $00,$03,$08,$0B,$6E,$1C,$23,$00 .db $06,$03,$00,$04,$02,$48,$04,$00 .db $43,$2C,$38,$08,$38,$00,$00,$03 .db $06,$4C,$2C,$3C,$38,$43,$7A,$A5 .db $05,$42,$BD,$7E,$81,$7E,$BD,$45 .db $7A,$A5,$04,$5E,$5E,$7E,$7E,$42 .db $22,$5E,$43,$7A,$A5,$85,$01,$FC .db $45,$7A,$A5,$84,$02,$08,$22,$5E .db $85,$00,$D8,$03,$40,$C0,$00,$FF .db $43,$67,$9E,$83,$01,$10,$04,$0F .db $3F,$00,$7E,$7E,$25,$00,$84,$01 .db $09,$2D,$00,$45,$50,$A8,$09,$48 .db $B7,$27,$58,$30,$4F,$0F,$70,$00 .db $8F,$22,$70,$0E,$78,$3F,$3F,$0F .db $00,$90,$99,$20,$32,$60,$74,$80 .db $F8,$00,$98,$85,$00,$3A,$02,$60 .db $C0,$80,$24,$00,$4F,$50,$A8,$27 .db $70,$09,$34,$1A,$74,$1A,$FA,$0D .db $FA,$7D,$82,$FD,$83,$01,$46,$07 .db $00,$00,$DC,$9C,$0E,$7E,$FE,$C0 .db $22,$00,$43,$FF,$00,$43,$FE,$00 .db $0A,$FC,$00,$F8,$00,$F0,$00,$C0 .db $FE,$F6,$EC,$1C,$83,$01,$AB,$0C .db $CE,$D8,$ED,$D8,$EA,$D8,$E4,$D0 .db $E8,$C8,$C0,$D0,$80,$22,$FF,$08 .db $58,$78,$78,$70,$68,$50,$7F,$00 .db $83,$22,$03,$08,$07,$03,$0F,$03 .db $1F,$13,$3B,$3B,$01,$22,$FF,$23 .db $02,$E0,$33,$12,$3A,$FE,$00,$00 .db $03,$03,$0F,$0D,$1E,$17,$38,$1F .db $30,$2F,$70,$3F,$60,$7F,$C0,$00 .db $03,$0E,$1C,$18,$30,$21,$43,$00 .db $C0,$C0,$30,$F0,$18,$F8,$3C,$98 .db $7C,$EC,$12,$FC,$02,$FE,$03,$00 .db $00,$10,$38,$78,$F0,$E0,$C2,$43 .db $7F,$80,$03,$6F,$90,$6F,$B0,$43 .db $6F,$F0,$0D,$7F,$E0,$7F,$C0,$07 .db $0F,$1E,$3C,$78,$70,$61,$43,$FE .db $07,$44,$F6,$0F,$02,$0D,$F6,$09 .db $44,$FE,$01,$04,$03,$86,$0E,$1E .db $3C,$83,$03,$2C,$22,$00,$02,$03 .db $00,$07,$44,$00,$0F,$43,$1F,$00 .db $0E,$3F,$00,$00,$03,$07,$07,$0F .db $0F,$1F,$00,$03,$00,$8F,$00,$DF .db $4A,$00,$FF,$03,$03,$8F,$DF,$DF .db $22,$FF,$07,$00,$C0,$00,$F1,$11 .db $EA,$0B,$F4,$43,$0F,$F0,$43,$07 .db $F8,$07,$00,$80,$D1,$EB,$EF,$EF .db $F7,$F7,$22,$00,$02,$C0,$C0,$20 .db $43,$E0,$10,$43,$F0,$08,$0B,$F8 .db $04,$00,$00,$C0,$E0,$E0,$F0,$F0 .db $F8,$00,$01,$63,$01,$E0,$23,$07 .db $08,$0E,$11,$1C,$23,$38,$47,$71 .db $8F,$00,$01,$03,$07,$0F,$1F,$3F .db $7F,$00,$80,$00,$C0,$C0,$60,$20 .db $F0,$30,$E8,$78,$F4,$FC,$E2,$FE .db $C1,$00,$80,$83,$03,$BA,$01,$E0 .db $C0,$4F,$52,$AB,$27,$74,$8B,$01 .db $08,$00,$FF,$43,$FF,$00,$22,$FF .db $01,$00,$FF,$22,$00,$84,$03,$C1 .db $05,$01,$06,$00,$07,$04,$0B,$83 .db $03,$C8,$E0,$29,$00,$01,$03,$01 .db $00,$04,$0E,$1F,$E3,$1F,$C7,$3F .db $8F,$7E,$1F,$FC,$BF,$78,$3F,$F0 .db $1F,$E1,$1F,$F3,$FF,$FF,$FE,$FC .db $F8,$70,$21,$13,$FF,$86,$FF,$0F .db $FF,$1F,$FF,$3F,$FF,$7F,$25,$FF .db $00,$86,$83,$03,$D4,$22,$FF,$10 .db $00,$80,$80,$40,$C0,$A0,$E0,$D0 .db $F0,$E8,$F8,$F4,$FC,$FA,$FE,$FD .db $00,$83,$03,$E8,$06,$F0,$F8,$FC .db $00,$01,$00,$07,$83,$03,$6C,$44 .db $00,$7F,$43,$FF,$00,$0A,$01,$07 .db $1F,$3F,$3F,$7F,$7F,$00,$C3,$00 .db $F7,$4C,$00,$FF,$02,$C3,$F7,$F7 .db $23,$FF,$4D,$00,$FF,$01,$03,$FC .db $25,$FF,$01,$FC,$03,$43,$00,$FF .db $13,$01,$FE,$03,$FC,$07,$F8,$1F .db $E0,$7F,$80,$FF,$00,$FE,$FE,$FD .db $FB,$E7,$9F,$7F,$FF,$44,$00,$3F .db $45,$7F,$00,$44,$FF,$00,$01,$1F .db $1F,$22,$3F,$22,$7F,$01,$3F,$C0 .db $83,$03,$9A,$01,$03,$FC,$43,$01 .db $FE,$43,$00,$FF,$07,$3F,$CF,$F7 .db $FB,$FD,$FD,$FE,$FE,$47,$07,$F8 .db $43,$0F,$F0,$03,$1F,$E0,$3F,$C0 .db $23,$F7,$03,$EF,$EF,$DF,$BF,$43 .db $F8,$04,$45,$FC,$02,$45,$FE,$01 .db $01,$F8,$F8,$22,$FC,$22,$FE,$24 .db $00,$8A,$03,$C1,$22,$00,$84,$03 .db $D1,$83,$03,$CC,$87,$04,$38,$03 .db $3F,$F8,$7F,$F0,$83,$04,$63,$09 .db $FE,$FC,$F8,$F0,$51,$A8,$54,$AC .db $52,$AE,$89,$02,$5E,$02,$77,$73 .db $71,$84,$02,$6B,$44,$00,$0F,$00 .db $07,$44,$00,$03,$45,$01,$00,$03 .db $07,$03,$01,$01,$22,$00,$16,$8F .db $FF,$C3,$FF,$E1,$9F,$F0,$0F,$F8 .db $1F,$FC,$3F,$FE,$7F,$FF,$FF,$8F .db $C7,$83,$01,$18,$3C,$7E,$28,$FF .db $83,$00,$18,$02,$1F,$FF,$0F,$25 .db $FF,$E0,$21,$7F,$3F,$1F,$00,$7F .db $3F,$FF,$61,$FE,$41,$FE,$43,$FC .db $7F,$C0,$5F,$E0,$4F,$F0,$00,$3F .db $7E,$7E,$7C,$40,$60,$70,$00,$80 .db $80,$C0,$40,$A0,$60,$86,$04,$6F .db $00,$F2,$83,$04,$67,$83,$04,$7B .db $00,$FE,$84,$03,$64,$00,$1F,$44 .db $00,$3F,$45,$7F,$00,$03,$07,$0F .db $1F,$1F,$22,$3F,$05,$00,$F3,$73 .db $8C,$3D,$C2,$45,$1F,$E0,$06,$3F .db $C0,$7F,$80,$00,$73,$BD,$22,$DF .db $09,$BF,$7F,$00,$80,$80,$60,$E0 .db $18,$F8,$04,$43,$FC,$02,$43,$FE .db $01,$03,$00,$80,$E0,$F8,$83,$05 .db $3B,$05,$00,$C0,$C0,$31,$F1,$0A .db $43,$FB,$04,$45,$FF,$00,$04,$00 .db $C0,$F1,$FB,$FB,$22,$FF,$05,$80 .db $7F,$C0,$3E,$80,$7C,$84,$00,$CA .db $00,$80,$23,$00,$02,$80,$C0,$80 .db $24,$00,$05,$1F,$E0,$07,$F8,$01 .db $FE,$49,$00,$FF,$03,$1F,$E7,$F9 .db $FE,$24,$FF,$44,$00,$FF,$05,$7F .db $80,$3F,$C0,$1F,$E0,$83,$03,$9A .db $22,$FF,$0A,$7F,$BF,$DF,$EF,$F7 .db $F8,$07,$F0,$0F,$E0,$1F,$43,$C0 .db $3F,$43,$80,$7F,$0F,$00,$FF,$F8 .db $F7,$EF,$DF,$DF,$BF,$BF,$7F,$FF .db $E1,$FF,$C3,$FF,$87,$89,$04,$52 .db $02,$E1,$C3,$87,$84,$04,$61,$16 .db $86,$FF,$C0,$FF,$E2,$FD,$F1,$FE .db $E0,$FF,$C0,$FF,$82,$FF,$07,$FF .db $8F,$C7,$E3,$F1,$F8,$FC,$FE,$88 .db $04,$52,$06,$FE,$7F,$3C,$FF,$18 .db $FF,$00,$25,$FF,$07,$7F,$3F,$1F .db $E1,$FF,$C0,$FF,$80,$84,$04,$C9 .db $05,$02,$FD,$05,$FA,$0B,$F4,$27 .db $FF,$83,$05,$E8,$0B,$00,$E0,$80 .db $70,$60,$98,$F0,$0C,$F8,$06,$FC .db $03,$86,$04,$79,$0F,$FC,$FE,$FF .db $FC,$FF,$F8,$FF,$F0,$FF,$E0,$FF .db $C1,$FF,$83,$FF,$07,$28,$FF,$83 .db $04,$53,$02,$3E,$FF,$7C,$86,$07 .db $3B,$00,$C0,$28,$FF,$05,$88,$F7 .db $04,$FB,$02,$FD,$83,$05,$02,$05 .db $08,$F7,$16,$E9,$2F,$D0,$86,$06 .db $E8,$50,$FF,$00,$27,$7F,$05,$FF .db $00,$FC,$03,$F8,$07,$43,$F0,$0F .db $43,$E0,$1F,$04,$C0,$3F,$FF,$FC .db $FB,$84,$05,$22,$05,$FC,$03,$70 .db $8F,$20,$DF,$49,$00,$FF,$04,$FC .db $73,$AF,$DF,$DF,$22,$FF,$07,$17 .db $E8,$2F,$D0,$5F,$A0,$BF,$40,$83 .db $06,$94,$03,$3E,$C1,$1C,$E3,$24 .db $FF,$0C,$7F,$3E,$1C,$F8,$07,$F0 .db $0E,$E0,$1C,$C0,$38,$80,$70,$85 .db $06,$66,$04,$F8,$F0,$E0,$C0,$80 .db $22,$00,$05,$08,$34,$10,$3C,$18 .db $2C,$49,$0C,$16,$02,$18,$18,$08 .db $24,$04,$01,$07,$F8,$43,$03,$FC .db $43,$01,$FE,$45,$00,$FF,$04,$F7 .db $FB,$FB,$FD,$FD,$22,$FE,$03,$00 .db $FE,$FC,$FF,$43,$82,$7D,$0F,$C2 .db $3D,$FE,$01,$FA,$05,$F2,$0D,$00 .db $FC,$7E,$7E,$3E,$02,$06,$0E,$8B .db $07,$0C,$83,$07,$C8,$27,$FF,$83 .db $07,$CC,$84,$04,$D4,$00,$01,$84 .db $07,$9A,$00,$0E,$23,$FF,$83,$05 .db $6C,$03,$00,$FF,$00,$F3,$46,$00 .db $ED,$00,$F3,$44,$00,$FF,$00,$0C .db $22,$12,$00,$0C,$22,$00,$06,$FF .db $00,$B7,$00,$97,$00,$A7,$44,$00 .db $B7,$43,$FF,$00,$04,$48,$68,$58 .db $48,$48,$22,$00,$4F,$FF,$00,$00 .db $19,$22,$25,$00,$19,$22,$00,$4F .db $FF,$00,$43,$DC,$10,$00,$10,$2A .db $00,$06,$01,$01,$03,$02,$06,$04 .db $0C,$25,$00,$0D,$01,$03,$00,$1C .db $1C,$26,$26,$47,$46,$87,$86,$87 .db $06,$07,$43,$06,$97,$07,$00,$00 .db $18,$38,$78,$F8,$68,$68,$8B,$07 .db $E4,$23,$00,$02,$E0,$C0,$80,$25 .db $00,$04,$FF,$C0,$3F,$F1,$0E,$43 .db $FB,$04,$45,$FF,$00,$04,$3F,$CE .db $F5,$FB,$FB,$22,$FF,$43,$00,$FF .db $01,$C0,$3F,$43,$E0,$1F,$43,$F0 .db $0F,$04,$F8,$07,$FF,$3F,$DF,$83 .db $03,$A4,$06,$FB,$3F,$C0,$CE,$31 .db $F5,$0A,$43,$FB,$04,$45,$FF,$00 .db $84,$09,$28,$23,$FF,$04,$00,$3F .db $C0,$DF,$20,$43,$EF,$10,$43,$F7 .db $08,$01,$FB,$04,$87,$09,$40,$03 .db $00,$FF,$E0,$1F,$43,$F8,$07,$43 .db $FC,$03,$43,$FE,$01,$01,$1F,$E7 .db $85,$08,$21,$03,$00,$E0,$E0,$18 .db $43,$F8,$04,$43,$FC,$02,$43,$FE .db $01,$01,$00,$E0,$83,$00,$2C,$01 .db $FE,$FE,$87,$04,$F8,$43,$01,$FE .db $43,$00,$FF,$87,$05,$08,$4F,$00 .db $FF,$87,$07,$A8,$4F,$00,$FF,$84 .db $07,$C0,$22,$FF,$00,$14,$22,$00 .db $00,$77,$44,$00,$15,$02,$25,$00 .db $47,$22,$00,$07,$EB,$FF,$88,$EA .db $EA,$DA,$B8,$FF,$23,$00,$08,$03 .db $00,$64,$00,$70,$00,$11,$00,$66 .db $22,$00,$E0,$4C,$FF,$FF,$FC,$9B .db $8F,$EE,$99,$FF,$10,$00,$3E,$00 .db $90,$00,$BE,$00,$BC,$00,$15,$00 .db $3F,$00,$11,$00,$EF,$C1,$6F,$41 .db $43,$EA,$C0,$EE,$14,$00,$DC,$00 .db $08,$00,$DC,$00,$48,$00,$54,$00 .db $E0,$00,$1E,$00,$EB,$23,$F7,$23 .db $B7,$AB,$1F,$E1,$08,$18,$10,$32 .db $20,$62,$40,$C1,$60,$E0,$7F,$FF .db $3F,$7F,$00,$3F,$07,$0D,$1D,$3E .db $1F,$22,$00,$01,$06,$97,$44,$06 .db $0F,$0D,$F7,$0E,$0F,$FC,$FE,$F8 .db $FC,$00,$F8,$68,$F0,$F0,$08,$F0 .db $23,$00,$02,$03,$00,$0F,$44,$00 .db $7F,$0E,$3F,$00,$1F,$00,$0F,$00 .db $03,$01,$02,$0E,$3F,$1F,$0F,$03 .db $00,$43,$C0,$3F,$45,$80,$7F,$45 .db $00,$FF,$01,$DF,$DF,$22,$BF,$22 .db $7F,$43,$F8,$07,$45,$FC,$03,$45 .db $FE,$01,$01,$FB,$FB,$22,$FD,$22 .db $FE,$4F,$00,$FF,$01,$DF,$DF,$22 .db $BF,$22,$7F,$43,$FB,$04,$45,$FD .db $02,$45,$FE,$01,$01,$FB,$FB,$22 .db $FD,$23,$FE,$4E,$01,$FE,$27,$FE .db $43,$47,$F8,$13,$4F,$F0,$4E,$F1 .db $5C,$E3,$50,$EF,$3F,$C0,$00,$7F .db $78,$78,$70,$71,$63,$6F,$3F,$00 .db $43,$E2,$1D,$12,$F2,$0D,$72,$8D .db $3A,$C5,$0A,$F5,$FC,$03,$00,$FE .db $1E,$1E,$0E,$8E,$C6,$F6,$FC,$38 .db $00,$4E,$FF,$00,$29,$00,$4E,$FF .db $00,$27,$00,$2F,$FF,$37,$00,$28 .db $FF,$4E,$00,$FF,$27,$FF,$4E,$00 .db $FF,$E4,$20,$FF,$FF,$17,$00,$0F .db $0F,$30,$17,$61,$23,$53,$75,$AD .db $7A,$96,$61,$A7,$56,$9F,$00,$00 .db $09,$0F,$33,$19,$38,$26,$87,$00 .db $00,$07,$55,$9D,$6A,$BE,$49,$B7 .db $1E,$E1,$83,$00,$10,$1B,$23,$09 .db $1C,$3E,$00,$FF,$BF,$40,$0F,$6C .db $63,$F3,$65,$9D,$FA,$06,$FD,$03 .db $7E,$01,$00,$00,$9C,$6F,$F3,$F9 .db $FC,$FE,$83,$00,$30,$E0,$2B,$86 .db $E2,$C9,$F9,$A6,$BF,$59,$7E,$9A .db $E6,$3F,$C1,$00,$00,$DB,$E6,$C0 .db $99,$3D,$7E,$18,$89,$25,$E7,$19 .db $BE,$63,$9C,$73,$A8,$79,$B4,$6A .db $AE,$17,$99,$6E,$19,$43,$27,$37 .db $3B,$31,$66,$43,$00,$01,$43,$01 .db $03,$08,$02,$07,$03,$05,$06,$0F .db $06,$0D,$00,$84,$00,$7A,$19,$07 .db $05,$18,$99,$25,$67,$99,$FE,$63 .db $FC,$6B,$98,$FD,$04,$FE,$02,$7F .db $01,$7E,$99,$03,$67,$F7,$FB,$FD .db $FE,$43,$00,$80,$43,$80,$40,$43 .db $40,$A0,$E0,$20,$20,$D0,$60,$90 .db $00,$00,$80,$80,$C0,$C0,$E0,$E0 .db $00,$E0,$C0,$F0,$D0,$FC,$9C,$7F .db $DF,$27,$DC,$FF,$C4,$FF,$87,$FF .db $00,$C0,$D0,$5C,$07,$22,$DF,$28 .db $00,$06,$C0,$C0,$F0,$F0,$5C,$2C .db $FF,$24,$00,$05,$C0,$50,$FC,$00 .db $80,$80,$83,$00,$B8,$83,$00,$B8 .db $83,$00,$B8,$28,$00,$01,$AA,$55 .db $35,$00,$02,$70,$FF,$78,$44,$FF .db $7C,$45,$7E,$FF,$01,$7C,$FF,$27 .db $7F,$43,$0F,$F0,$01,$1F,$E0,$47 .db $3F,$C0,$01,$1F,$E0,$27,$FF,$01 .db $E7,$07,$43,$C3,$03,$06,$83,$03 .db $87,$07,$C7,$07,$83,$22,$03,$00 .db $F8,$22,$FC,$03,$F8,$F8,$FC,$FC .db $43,$E0,$FF,$02,$F0,$FF,$E0,$46 .db $FF,$80,$01,$C0,$FF,$27,$00,$06 .db $65,$F9,$0B,$F3,$55,$A6,$6B,$83 .db $00,$67,$E0,$31,$94,$7C,$8A,$7A .db $A9,$0E,$1D,$5B,$27,$37,$1B,$0D .db $2E,$F0,$8F,$CF,$F0,$9F,$68,$A7 .db $5C,$73,$AF,$79,$97,$48,$AF,$56 .db $99,$70,$80,$88,$8C,$37,$1B,$31 .db $26,$AD,$81,$DB,$C3,$A5,$66,$FB .db $1C,$FB,$08,$DD,$04,$DE,$83,$00 .db $9D,$02,$BD,$DB,$E7,$83,$00,$A4 .db $00,$BD,$84,$01,$B1,$04,$7B,$1C .db $7B,$08,$FD,$92,$01,$BB,$04,$FA .db $1C,$DB,$08,$DD,$85,$00,$9B,$86 .db $01,$C1,$00,$B5,$88,$01,$B1,$8D .db $01,$D2,$43,$09,$1F,$17,$1F,$3F .db $1C,$37,$3F,$E7,$6E,$F7,$7F,$E7 .db $00,$FF,$0F,$0F,$1F,$17,$27,$77 .db $67,$00,$70,$88,$30,$C8,$43,$78 .db $84,$1F,$0C,$F3,$2E,$D1,$0E,$F1 .db $00,$FF,$F0,$F0,$F8,$F8,$FC,$FE .db $FE,$00,$10,$EF,$1D,$E2,$5F,$A0 .db $0F,$F0,$DC,$23,$D0,$2C,$C0,$30 .db $00,$E0,$23,$DF,$0B,$DC,$D0,$C0 .db $00,$0C,$F3,$B0,$4C,$C0,$30,$00 .db $C0,$27,$00,$02,$FC,$F0,$C0,$24 .db $00,$09,$FB,$FF,$F1,$FE,$E0,$FF .db $E8,$F7,$A8,$F7,$43,$19,$E6,$04 .db $9D,$62,$0C,$1F,$7F,$24,$FF,$1C .db $D9,$DE,$FF,$F0,$33,$F0,$39,$F8 .db $B8,$78,$9F,$7F,$CF,$3F,$D7,$2F .db $27,$0F,$CF,$C7,$C7,$E0,$F0,$F8 .db $78,$FF,$70,$FF,$78,$44,$FF,$7C .db $00,$78,$44,$FF,$70,$27,$7F,$03 .db $07,$F8,$0F,$F0,$43,$1F,$E0,$07 .db $0F,$F0,$3F,$C0,$7F,$80,$3F,$C0 .db $27,$FF,$17,$03,$03,$83,$03,$C1 .db $01,$C3,$03,$C7,$07,$F3,$03,$F1 .db $01,$E3,$03,$FC,$FC,$FE,$FC,$F8 .db $FC,$FE,$FC,$43,$E0,$FF,$43,$C0 .db $FF,$00,$E0,$46,$FF,$F0,$27,$00 .db $E0,$2F,$1B,$23,$53,$03,$E7,$07 .db $E6,$07,$E7,$06,$4E,$0E,$1E,$1E .db $3F,$3F,$FC,$FC,$F8,$F9,$F9,$F1 .db $E1,$C0,$70,$FF,$38,$7F,$1E,$3F .db $0F,$1F,$07,$0F,$03,$07,$01,$03 .db $00,$01,$7F,$3F,$1F,$0F,$07,$03 .db $01,$00,$47,$3F,$C0,$00,$1F,$44 .db $E0,$9F,$01,$C7,$F8,$27,$FF,$43 .db $E3,$03,$45,$C3,$03,$83,$03,$04 .db $01,$CC,$0F,$24,$FC,$12,$F8,$F8 .db $F0,$F0,$FF,$E0,$FE,$C0,$FC,$80 .db $F8,$80,$F0,$00,$E0,$00,$C0,$00 .db $80,$27,$00,$E0,$20,$FF,$E0,$EF .db $E0,$61,$E0,$39,$F8,$3C,$FC,$8E .db $7E,$87,$7F,$C3,$3B,$1F,$1F,$9F .db $C7,$C3,$F1,$F8,$FC,$1C,$FC,$0E .db $FE,$D3,$2F,$F3,$03,$73,$22,$03 .db $05,$43,$43,$E7,$E7,$E3,$F1,$23 .db $FC,$11,$BC,$18,$DF,$20,$7F,$00 .db $3F,$00,$3E,$00,$B8,$80,$A3,$83 .db $87,$87,$CF,$CF,$23,$FF,$E0,$23 .db $7F,$7C,$78,$30,$C7,$07,$9F,$1F .db $BC,$3F,$3C,$3F,$FD,$FE,$F9,$FE .db $F3,$FC,$87,$F8,$F8,$E0,$C3,$C7 .db $07,$0F,$3F,$7F,$1B,$1B,$37,$37 .db $3F,$3F,$7E,$7F,$23,$FF,$1C,$F9 .db $FF,$F5,$F9,$E4,$C8,$C1,$81,$00 .db $00,$0E,$1E,$DC,$E0,$18,$E0,$78 .db $80,$71,$80,$27,$80,$0F,$80,$4E .db $80,$DE,$00,$7F,$26,$FF,$26,$00 .db $08,$01,$01,$03,$03,$07,$07,$1F .db $1C,$3F,$23,$00,$03,$01,$03,$07 .db $1F,$24,$00,$0A,$01,$01,$07,$07 .db $0F,$0E,$1F,$1C,$7F,$73,$FC,$22 .db $00,$E0,$34,$01,$07,$0F,$1F,$7F .db $40,$FF,$30,$FF,$F8,$FF,$E0,$FF .db $00,$FF,$3C,$C3,$FE,$01,$80,$01 .db $4F,$37,$FB,$FB,$FD,$FD,$FE,$FE .db $E0,$FF,$EC,$FF,$DF,$FF,$CB,$FF .db $80,$FF,$BC,$C3,$7F,$80,$02,$80 .db $00,$0C,$1F,$1F,$3F,$3F,$7F,$7F .db $24,$00,$0A,$80,$80,$E0,$E0,$F0 .db $70,$F8,$38,$FE,$CE,$3F,$22,$00 .db $04,$80,$E0,$F0,$F8,$FE,$43,$E0 .db $1F,$05,$E8,$1F,$E0,$1F,$A0,$5F .db $43,$FF,$E0,$00,$00,$25,$FF,$01 .db $1F,$1F,$38,$00,$0C,$65,$FA,$21 .db $7E,$11,$3E,$09,$1E,$04,$0F,$02 .db $07,$00,$8A,$03,$25,$10,$98,$1F .db $B8,$3E,$B0,$3C,$A0,$38,$80,$30 .db $40,$60,$00,$40,$00,$80,$E0,$23 .db $C0,$01,$80,$80,$38,$00,$10,$C1 .db $39,$CC,$30,$EE,$10,$9F,$00,$98 .db $00,$C0,$00,$81,$01,$83,$03,$FE .db $24,$FF,$08,$FE,$FC,$FF,$FF,$7F .db $FF,$FF,$7F,$FC,$84,$01,$6B,$06 .db $CD,$F2,$DE,$E0,$80,$80,$83,$22 .db $1F,$01,$3F,$7F,$25,$FF,$0C,$07 .db $FF,$03,$FF,$81,$7F,$81,$75,$03 .db $73,$00,$00,$F0,$83,$02,$3B,$10 .db $FC,$0F,$F0,$BF,$40,$79,$80,$B1 .db $80,$A1,$80,$A3,$80,$B3,$80,$9F .db $80,$22,$FF,$24,$7F,$1B,$EB,$F3 .db $77,$F7,$FF,$7F,$7D,$7F,$F8,$FF .db $C3,$FC,$C7,$F8,$9F,$C0,$9C,$88 .db $80,$86,$1F,$3F,$7F,$7F,$1C,$00 .db $03,$03,$83,$03,$B6,$03,$DE,$FF .db $1D,$FE,$43,$DF,$3C,$03,$FF,$FC .db $30,$01,$23,$E3,$03,$00,$20,$07 .db $1F,$85,$03,$22,$25,$00,$00,$1F .db $27,$00,$02,$80,$1D,$7D,$83,$03 .db $1E,$03,$01,$07,$00,$01,$23,$00 .db $01,$7F,$02,$26,$00,$05,$01,$00 .db $01,$74,$77,$FC,$44,$FF,$F8,$06 .db $30,$FF,$40,$FF,$FE,$FE,$89,$83 .db $04,$10,$00,$4F,$43,$00,$80,$02 .db $AD,$ED,$BF,$44,$FF,$DF,$06,$EC .db $FF,$F0,$FF,$7F,$7F,$12,$25,$00 .db $0A,$01,$B8,$BE,$F0,$F8,$E0,$F0 .db $80,$E0,$00,$80,$23,$00,$01,$FE .db $40,$25,$00,$17,$3D,$81,$5B,$C3 .db $25,$E6,$7B,$9C,$7B,$88,$7D,$84 .db $7E,$82,$7F,$81,$7E,$3D,$5B,$67 .db $77,$7B,$7D,$7E,$24,$00,$02,$80 .db $00,$80,$43,$80,$40,$43,$C0,$20 .db $28,$00,$02,$03,$00,$03,$43,$03 .db $04,$43,$07,$08,$43,$0F,$10,$28 .db $00,$24,$FF,$0A,$01,$FF,$00,$FF .db $F8,$07,$FF,$00,$07,$F8,$00,$25 .db $FF,$01,$07,$00,$24,$FF,$0A,$FC .db $FF,$00,$FF,$38,$C7,$FF,$00,$87 .db $78,$00,$25,$FF,$13,$87,$00,$FF .db $70,$81,$62,$E3,$20,$63,$22,$63 .db $34,$77,$32,$77,$34,$7F,$00,$0F .db $7F,$24,$3F,$18,$00,$FF,$7E,$FD .db $7E,$B9,$3C,$FA,$7C,$BA,$3C,$D2 .db $5C,$B2,$2C,$D2,$00,$82,$C6,$C4 .db $C4,$EC,$EC,$FC,$00,$24,$FF,$06 .db $00,$FF,$10,$FF,$00,$FF,$02,$43 .db $FF,$00,$26,$FF,$00,$00,$24,$FF .db $06,$00,$FF,$08,$FF,$02,$FF,$10 .db $43,$FF,$00,$26,$FF,$43,$00,$FF .db $05,$08,$FF,$00,$FF,$40,$FF,$43 .db $FF,$00,$00,$00,$27,$FF,$05,$00 .db $00,$FF,$20,$FF,$04,$84,$06,$DB .db $43,$FF,$00,$00,$00,$27,$FF,$00 .db $00,$4F,$7F,$80,$83,$04,$11,$03 .db $0F,$0F,$1F,$1F,$4E,$FF,$00,$22 .db $00,$85,$00,$BA,$4F,$FF,$00,$87 .db $07,$18,$4F,$FE,$01,$88,$00,$B8 .db $08,$FF,$7E,$99,$7E,$FF,$7E,$99 .db $00,$FF,$44,$AA,$00,$00,$AA,$27 .db $00,$85,$06,$00,$01,$5B,$BC,$8F .db $06,$08,$43,$E0,$10,$43,$F0,$08 .db $43,$F8,$04,$43,$FC,$03,$27,$00 .db $43,$1F,$20,$43,$3F,$40,$43,$7F .db $80,$02,$FF,$00,$FF,$28,$00,$00 .db $F8,$83,$05,$2C,$00,$00,$43,$9F .db $60,$07,$9D,$62,$FD,$02,$FF,$00 .db $00,$F8,$25,$FF,$03,$78,$FF,$FF .db $87,$45,$E7,$18,$43,$F9,$06,$03 .db $FF,$00,$00,$78,$25,$FF,$01,$3A .db $7F,$83,$06,$82,$83,$06,$7E,$01 .db $20,$63,$43,$40,$C1,$25,$3F,$03 .db $7F,$7F,$5C,$A2,$83,$06,$9A,$84 .db $06,$96,$00,$FA,$43,$7E,$FD,$02 .db $FC,$EC,$EC,$22,$C4,$01,$82,$82 .db $4F,$7F,$80,$01,$3F,$3F,$25,$7F .db $4F,$FF,$00,$84,$02,$38,$00,$FC .db $22,$FF,$4E,$00,$FF,$83,$04,$64 .db $23,$FF,$4F,$FE,$01,$85,$08,$50 .db $1A,$FE,$FE,$00,$FF,$7F,$FF,$40 .db $FF,$51,$E6,$4A,$ED,$25,$DA,$5B .db $A4,$67,$98,$00,$7F,$67,$4B,$52 .db $24,$18,$00,$00,$22,$FF,$0F,$00 .db $FF,$91,$66,$4A,$AD,$A5,$5A,$DB .db $24,$E7,$18,$00,$FF,$E7,$CB,$83 .db $08,$9C,$43,$FC,$FD,$06,$F4,$FD .db $E8,$F5,$E0,$FD,$F4,$44,$FD,$FC .db $23,$02,$00,$0A,$22,$02,$00,$00 .db $44,$FF,$1F,$01,$E0,$1F,$83,$02 .db $BB,$04,$E2,$1F,$E0,$1F,$00,$26 .db $FF,$13,$00,$FF,$FE,$FF,$00,$FF .db $90,$67,$4A,$AD,$A4,$5B,$DA,$25 .db $E6,$19,$00,$FE,$E6,$CA,$83,$08 .db $9C,$0B,$7C,$C0,$7F,$BF,$7F,$B3 .db $3F,$A7,$3B,$A3,$7C,$F0,$83,$08 .db $3F,$15,$7F,$40,$4C,$58,$5C,$0F .db $00,$00,$0C,$00,$FF,$FF,$C2,$C2 .db $B0,$B0,$65,$65,$CD,$CD,$E3,$E3 .db $83,$06,$F8,$06,$3D,$4F,$9A,$32 .db $1C,$00,$3C,$44,$BD,$7C,$04,$34 .db $BD,$24,$BD,$7C,$44,$BD,$3C,$22 .db $42,$00,$52,$23,$42,$01,$00,$01 .db $43,$01,$82,$43,$83,$44,$43,$C7 .db $28,$01,$EF,$10,$28,$00,$07,$FF .db $00,$FF,$42,$FF,$34,$BD,$24,$46 .db $BD,$3C,$22,$00,$00,$52,$23,$42 .db $05,$81,$42,$42,$A5,$24,$5A,$43 .db $18,$3C,$03,$24,$5A,$42,$A5,$43 .db $81,$42,$05,$24,$10,$00,$24,$42 .db $81,$43,$7C,$83,$43,$78,$84,$43 .db $70,$88,$43,$60,$90,$27,$00,$43 .db $FE,$01,$43,$7E,$81,$43,$3E,$41 .db $43,$1E,$21,$27,$00,$43,$40,$A0 .db $48,$00,$C0,$02,$80,$00,$80,$27 .db $00,$43,$0E,$11,$43,$06,$09,$43 .db $02,$05,$43,$00,$03,$28,$00,$15 .db $FF,$00,$81,$00,$9F,$00,$82,$00 .db $9E,$00,$9F,$00,$81,$00,$FF,$00 .db $7E,$60,$7C,$60,$60,$7E,$83,$05 .db $B7,$0C,$02,$01,$05,$03,$0B,$05 .db $17,$0A,$2D,$18,$5F,$3D,$BF,$62 .db $00,$08,$04,$08,$10,$22,$40,$00 .db $FF,$04,$01,$8B,$08,$BA,$01,$00 .db $FA,$22,$02,$02,$0A,$02,$02,$43 .db $3F,$BF,$06,$2F,$BF,$17,$AF,$07 .db $BF,$2F,$44,$BF,$3F,$23,$40,$00 .db $50,$22,$40,$43,$3F,$BF,$89,$0A .db $3C,$01,$00,$FF,$23,$40,$03,$50 .db $40,$40,$00,$43,$FC,$FD,$86,$08 .db $BC,$44,$FD,$FC,$23,$02,$00,$0A .db $22,$02,$50,$7F,$80,$06,$7E,$7E .db $7C,$7C,$38,$38,$10,$50,$FF,$00 .db $01,$FE,$FE,$84,$0A,$93,$4F,$FE .db $01,$22,$FE,$84,$0A,$93,$13,$A7 .db $A0,$F0,$F0,$7C,$FC,$FC,$7C,$FF .db $3F,$BF,$4F,$1F,$0F,$8E,$0F,$5F .db $0F,$83,$C3,$22,$F0,$02,$F1,$00 .db $7F,$43,$00,$FF,$11,$7E,$9F,$7D .db $9D,$39,$C9,$30,$C0,$2A,$D0,$00 .db $1F,$3F,$61,$62,$36,$3F,$3F,$45 .db $00,$FF,$07,$0F,$FF,$EF,$EF,$CF .db $CF,$86,$86,$22,$00,$0C,$83,$FF .db $F0,$10,$30,$79,$FF,$00,$FE,$00 .db $FF,$04,$FB,$43,$FE,$FF,$14,$3E .db $3F,$06,$07,$36,$07,$00,$F8,$FC .db $00,$00,$C0,$F8,$F8,$1F,$E0,$1B .db $E0,$11,$E0,$0B,$46,$F0,$0F,$02 .db $1F,$E0,$7F,$22,$3F,$23,$7F,$00 .db $F8,$45,$01,$F0,$08,$03,$D0,$03 .db $80,$03,$D8,$03,$F8,$01,$22,$FE .db $23,$FC,$04,$FE,$0F,$F0,$0D,$F0 .db $43,$18,$E0,$01,$0D,$F0,$43,$1F .db $FF,$00,$00,$25,$7F,$07,$20,$00 .db $00,$DF,$00,$8F,$00,$DF,$43,$00 .db $FF,$83,$07,$E0,$01,$FF,$00,$24 .db $FF,$00,$87,$22,$00,$05,$E8,$01 .db $C0,$01,$E8,$01,$83,$0B,$40,$04 .db $F8,$FB,$F8,$FF,$00,$25,$FE,$00 .db $04,$23,$00,$00,$01,$46,$00,$81 .db $43,$C3,$00,$01,$E7,$00,$27,$FF .db $83,$0B,$A8,$00,$E7,$4A,$00,$FF .db $27,$FF,$00,$DF,$44,$00,$8F,$00 .db $DF,$48,$00,$FF,$28,$FF,$03,$00 .db $FF,$00,$9F,$48,$00,$0F,$01,$9F .db $00,$27,$FF,$FF,$29,$00,$05,$03 .db $03,$0F,$0F,$3C,$3F,$22,$00,$04 .db $03,$0F,$3C,$70,$C0,$23,$00,$18 .db $01,$01,$03,$03,$06,$07,$0C,$0F .db $18,$1F,$30,$3F,$01,$03,$06,$0C .db $18,$30,$60,$C0,$60,$7F,$C0,$FF .db $80,$4A,$FF,$00,$00,$80,$27,$00 .db $45,$FF,$00,$08,$FC,$00,$F0,$03 .db $C3,$0F,$8F,$3C,$3F,$22,$00,$85 .db $00,$13,$0C,$FE,$00,$FC,$01,$F9 .db $03,$F3,$06,$E7,$0C,$CF,$18,$9F .db $89,$00,$26,$45,$FF,$00,$09,$FC .db $00,$F0,$00,$C3,$03,$8F,$0F,$3C .db $3F,$24,$FF,$1A,$FC,$F0,$C0,$FE .db $00,$FC,$00,$F9,$01,$F3,$03,$E6 .db $07,$CC,$0F,$98,$1F,$30,$3F,$FF .db $FF,$FE,$FC,$F8,$F0,$E0,$C0,$45 .db $FF,$00,$89,$00,$7E,$22,$00,$84 .db $00,$13,$8F,$00,$90,$87,$00,$28 .db $25,$00,$85,$00,$0A,$03,$70,$7F .db $C3,$FC,$22,$00,$04,$03,$0F,$3F .db $7F,$FF,$87,$00,$1C,$15,$19,$1E .db $33,$3C,$67,$78,$CF,$F0,$01,$03 .db $07,$0F,$1F,$3F,$7F,$FF,$9F,$E0 .db $3F,$C0,$7F,$80,$49,$FF,$00,$27 .db $FF,$45,$00,$FF,$09,$03,$FF,$0F .db $FF,$3C,$FF,$70,$FF,$C3,$FC,$22 .db $00,$85,$00,$EB,$0C,$FF,$03,$FF .db $06,$FF,$0C,$FF,$19,$FE,$33,$FC .db $67,$F8,$89,$00,$FE,$46,$FF,$00 .db $08,$03,$FF,$0F,$FC,$3F,$F0,$7F .db $C3,$FC,$28,$FF,$0E,$01,$FF,$03 .db $FE,$07,$FC,$0F,$F9,$1E,$F3,$3C .db $E7,$78,$CF,$F0,$28,$FF,$45,$00 .db $FF,$88,$01,$57,$22,$00,$84,$00 .db $EB,$8F,$01,$68,$87,$01,$00,$2D .db $00,$01,$03,$03,$24,$00,$02,$03 .db $1F,$FC,$2B,$00,$83,$00,$0A,$23 .db $00,$03,$03,$0F,$3C,$F0,$23,$00 .db $85,$00,$0A,$01,$F0,$FF,$83,$00 .db $77,$83,$01,$DC,$00,$C0,$22,$00 .db $04,$1C,$1F,$F0,$FF,$C0,$4A,$FF .db $00,$00,$E0,$27,$00,$49,$FF,$00 .db $04,$FC,$00,$E0,$03,$03,$24,$00 .db $02,$03,$1F,$FC,$48,$00,$FF,$85 .db $00,$4F,$00,$0F,$23,$00,$84,$01 .db $DC,$86,$02,$31,$8C,$01,$E8,$22 .db $00,$49,$FF,$00,$05,$FC,$00,$E0 .db $00,$03,$03,$26,$FF,$00,$FC,$47 .db $FF,$00,$85,$00,$7E,$01,$0F,$0F .db $25,$FF,$01,$FC,$F0,$87,$02,$78 .db $86,$01,$E8,$22,$FF,$02,$FC,$F0 .db $C0,$22,$00,$49,$FF,$00,$85,$02 .db $62,$24,$00,$02,$03,$1F,$FC,$47 .db $FF,$00,$87,$02,$78,$23,$00,$83 .db $01,$DC,$8F,$02,$88,$84,$01,$F0 .db $2C,$00,$05,$03,$03,$1F,$1F,$FC .db $FF,$24,$00,$02,$03,$1F,$FF,$27 .db $00,$87,$01,$E4,$23,$00,$03,$03 .db $0F,$3F,$FF,$87,$01,$E4,$06,$C3 .db $FC,$0F,$F0,$3F,$C0,$FF,$83,$00 .db $EA,$24,$FF,$85,$03,$20,$49,$FF .db $00,$27,$FF,$49,$00,$FF,$05,$03 .db $FF,$1F,$FF,$FC,$FF,$24,$00,$01 .db $03,$1F,$48,$FF,$00,$85,$01,$26 .db $01,$F0,$FF,$23,$00,$84,$03,$14 .db $86,$03,$69,$8A,$03,$20,$25,$FF .db $49,$00,$FF,$03,$03,$FF,$1F,$FC .db $29,$FF,$47,$00,$FF,$85,$01,$57 .db $29,$FF,$86,$03,$B1,$87,$03,$20 .db $28,$FF,$49,$00,$FF,$84,$03,$9B .db $24,$00,$02,$03,$1F,$FF,$48,$FF .db $00,$86,$03,$B1,$23,$00,$84,$03 .db $28,$8E,$03,$C1,$02,$03,$0F,$3F .db $25,$FF,$44,$00,$FF,$09,$FE,$01 .db $FC,$03,$F8,$07,$F1,$0F,$F3,$0F .db $22,$00,$83,$01,$00,$09,$0F,$FF .db $00,$F0,$0F,$80,$7F,$07,$FF,$3F .db $83,$02,$6D,$14,$E0,$FF,$80,$00 .db $0F,$7F,$FF,$FF,$FC,$E0,$80,$1F .db $F8,$3F,$F0,$7F,$E0,$FF,$C0,$FF .db $80,$45,$FF,$00,$83,$00,$A4,$00 .db $80,$22,$00,$04,$E3,$1F,$E7,$1F .db $C7,$43,$3E,$CF,$01,$3C,$8F,$43 .db $7C,$9F,$08,$78,$1F,$1F,$3E,$3E .db $3C,$7C,$7C,$78,$45,$FF,$00,$09 .db $FC,$03,$F0,$0F,$E1,$1F,$C7,$3F .db $8F,$7E,$22,$00,$10,$03,$0F,$1F .db $3F,$7E,$FF,$00,$E0,$1F,$00,$FF .db $0F,$FF,$7F,$FF,$FF,$F8,$83,$00 .db $33,$01,$00,$1F,$22,$FF,$01,$F8 .db $80,$27,$00,$08,$01,$00,$03,$00 .db $07,$01,$0F,$03,$0F,$22,$00,$84 .db $04,$33,$22,$00,$01,$0F,$00,$92 .db $04,$3D,$00,$03,$43,$1F,$07,$43 .db $3E,$0F,$01,$3C,$0F,$43,$7C,$1F .db $88,$04,$77,$26,$00,$08,$03,$00 .db $0F,$01,$1F,$07,$3F,$0F,$7E,$22 .db $00,$84,$04,$93,$22,$00,$8E,$04 .db $9B,$22,$FF,$02,$F8,$80,$00,$43 .db $07,$F8,$43,$0F,$F0,$43,$1F,$E0 .db $83,$01,$0A,$0F,$F8,$F8,$F0,$F0 .db $E0,$E0,$C0,$80,$07,$1F,$0F,$3C .db $1F,$38,$1F,$30,$44,$3F,$60,$12 .db $40,$3F,$40,$1F,$3C,$38,$30,$60 .db $60,$40,$40,$E7,$1F,$CF,$3C,$DF .db $38,$DF,$30,$44,$BF,$60,$01,$40 .db $BF,$88,$05,$4F,$22,$00,$04,$07 .db $07,$1F,$1F,$38,$43,$3F,$60,$43 .db $7F,$C0,$08,$00,$07,$1F,$38,$60 .db $60,$C0,$C0,$00,$23,$FF,$43,$00 .db $FF,$47,$11,$FF,$00,$FF,$27,$00 .db $00,$01,$63,$01,$10,$07,$08,$0F .db $10,$1F,$20,$3F,$40,$7F,$01,$02 .db $04,$08,$10,$20,$40,$80,$83,$05 .db $A1,$0B,$02,$04,$04,$08,$08,$10 .db $10,$20,$20,$40,$40,$80,$87,$01 .db $00,$8D,$05,$A2,$01,$80,$FF,$97 .db $05,$C8,$85,$00,$A2,$11,$80,$00 .db $00,$FE,$00,$FD,$00,$FB,$00,$F7 .db $00,$EF,$00,$DF,$00,$BF,$00,$7F .db $87,$05,$F7,$0F,$01,$FE,$02,$FC .db $04,$F8,$08,$F0,$10,$E0,$20,$C0 .db $40,$80,$80,$00,$29,$FF,$4D,$00 .db $FF,$27,$00,$00,$FF,$2E,$00,$29 .db $FF,$4C,$00,$FF,$28,$FF,$4F,$80 .db $FF,$27,$00,$4F,$80,$00,$27,$FF .db $4E,$80,$FF,$2A,$FF,$4D,$80,$FF .db $27,$00,$00,$FF,$4E,$00,$80,$29 .db $FF,$4C,$80,$FF,$28,$FF,$0D,$00 .db $FE,$01,$FD,$02,$FB,$04,$F7,$08 .db $EF,$10,$DF,$20,$BF,$99,$05,$AE .db $27,$FF,$0E,$01,$FF,$02,$FF,$04 .db $FF,$08,$FF,$10,$FF,$20,$FF,$40 .db $FF,$80,$28,$FF,$0C,$FE,$00,$FD .db $01,$FA,$03,$F4,$07,$E8,$0F,$D0 .db $1F,$A0,$8A,$05,$AD,$83,$07,$09 .db $08,$FA,$04,$F4,$08,$E8,$10,$D0 .db $20,$A0,$8A,$05,$C5,$04,$FF,$01 .db $FE,$03,$FC,$83,$05,$2A,$85,$05 .db $32,$88,$05,$DF,$E0,$2A,$E7,$00 .db $C7,$04,$CF,$0C,$8D,$0E,$99,$1E .db $B1,$3E,$C3,$3C,$E7,$18,$FF,$FB .db $F3,$F1,$E1,$C1,$C3,$E7,$18,$FF .db $38,$FF,$30,$FF,$72,$FD,$66,$F9 .db $4E,$F1,$3C,$C3,$18,$E7,$18,$3C .db $3C,$22,$7E,$09,$3C,$18,$00,$03 .db $01,$0F,$09,$1F,$09,$3F,$43,$24 .db $7F,$02,$65,$FF,$61,$83,$03,$26 .db $04,$1F,$3F,$3F,$7F,$7F,$4C,$FF .db $00,$02,$FF,$00,$FF,$25,$00,$09 .db $FF,$FF,$00,$C0,$00,$F0,$00,$F8 .db $08,$F4,$43,$5C,$A2,$0B,$56,$A9 .db $16,$E9,$00,$C0,$F0,$F8,$FC,$FC .db $FE,$FE,$43,$70,$FF,$06,$63,$FF .db $4F,$FE,$1F,$F9,$1F,$43,$F7,$3F .db $08,$EF,$7C,$73,$6F,$5F,$3F,$3E .db $7D,$7A,$43,$06,$F9,$E0,$31,$C6 .db $F9,$FA,$75,$FC,$9B,$FC,$EB,$FA .db $EF,$FA,$F7,$3E,$CE,$F6,$FA,$FC .db $7C,$BC,$5C,$7F,$AF,$7F,$B7,$3F .db $77,$3F,$59,$11,$3E,$0C,$1F,$03 .db $0F,$00,$03,$7A,$7D,$3E,$3F,$0F .db $03,$00,$00,$F8,$07,$E6,$1F,$DE .db $3F,$43,$BD,$7E,$05,$7B,$FC,$67 .db $F8,$1F,$E0,$27,$FF,$13,$FA,$F7 .db $F2,$EF,$F4,$EE,$E4,$9E,$88,$7C .db $30,$F8,$C0,$F0,$00,$C0,$5C,$BC .db $78,$F8,$83,$01,$F3,$17,$FE,$7F .db $FD,$BF,$FB,$DF,$F7,$EF,$EF,$F7 .db $DF,$FB,$BF,$FD,$7F,$FE,$FE,$FD .db $FB,$F7,$EF,$DF,$BF,$7F,$F0,$47 .db $08,$88,$45,$00,$FF,$03,$18,$FF .db $24,$E7,$45,$42,$C3,$23,$00,$00 .db $18,$22,$3C,$43,$00,$FF,$03,$0C .db $FF,$12,$F3,$43,$21,$E1,$43,$20 .db $E0,$22,$00,$04,$0C,$1E,$1E,$1F .db $1F,$47,$00,$FF,$03,$60,$FF,$90 .db $9F,$43,$08,$0F,$24,$00,$02,$60 .db $F0,$F0,$45,$20,$E0,$02,$12,$F2 .db $0D,$46,$FF,$00,$22,$1F,$00,$0D .db $23,$00,$49,$08,$0F,$05,$90,$9F .db $60,$FF,$00,$FF,$24,$F0,$00,$60 .db $25,$00,$89,$00,$1C,$01,$31,$3E .db $85,$04,$31,$0D,$1F,$3F,$0F,$0F .db $7F,$7F,$F0,$FF,$80,$FF,$0F,$F0 .db $7F,$80,$43,$FF,$00,$01,$0F,$7F .db $26,$FF,$86,$04,$23,$07,$F9,$06 .db $F3,$0C,$E7,$18,$CE,$30,$27,$FF .db $83,$04,$3A,$83,$09,$80,$02,$F0 .db $00,$80,$24,$00,$27,$FF,$23,$00 .db $83,$04,$B7,$07,$06,$00,$0C,$00 .db $18,$00,$31,$01,$26,$FF,$04,$FE .db $0F,$00,$7F,$00,$83,$09,$B0,$83 .db $09,$78,$27,$FF,$03,$F0,$80,$00 .db $00,$23,$FF,$0B,$FE,$FE,$FC,$FC .db $F9,$F9,$F3,$F3,$E7,$E7,$CE,$CF .db $83,$04,$31,$83,$00,$2A,$03,$F0 .db $F0,$80,$80,$86,$09,$78,$44,$FF .db $00,$03,$0F,$7F,$F0,$80,$24,$00 .db $0E,$FF,$01,$FF,$07,$FF,$0E,$FE .db $19,$FB,$36,$F1,$36,$FE,$6B,$E7 .db $22,$00,$05,$01,$04,$0F,$01,$1F .db $3E,$22,$FF,$13,$D3,$F7,$33,$0B .db $8F,$B7,$0B,$F7,$86,$E7,$56,$F7 .db $00,$00,$08,$F4,$68,$D8,$B8,$68 .db $25,$00,$09,$01,$00,$06,$01,$09 .db $04,$0B,$07,$15,$01,$27,$FF,$23 .db $00,$0B,$3C,$00,$CC,$30,$14,$E8 .db $64,$58,$A8,$B0,$48,$50,$2D,$FF .db $09,$FE,$FE,$F8,$F9,$F6,$F1,$E9 .db $E7,$E1,$ED,$22,$00,$04,$01,$06 .db $0F,$1F,$13,$23,$FF,$13,$C3,$C3 .db $3B,$0B,$9B,$B3,$2B,$F3,$E7,$E7 .db $D7,$F7,$00,$00,$3C,$F4,$6C,$DC .db $B8,$68,$43,$D7,$CF,$1D,$C7,$DF .db $A8,$9F,$B3,$9C,$B8,$A0,$87,$87 .db $FF,$FF,$3E,$3D,$2B,$77,$6B,$5F .db $78,$00,$D7,$F7,$2F,$4F,$2F,$CF .db $5F,$9F,$3F,$3F,$25,$FF,$04,$E8 .db $F0,$70,$60,$C0,$22,$00,$01,$33 .db $3C,$45,$67,$78,$47,$CF,$F0,$00 .db $3F,$22,$7F,$23,$FF,$03,$8F,$F0 .db $3F,$C0,$43,$7F,$80,$47,$FF,$00 .db $27,$FF,$01,$CC,$30,$45,$98,$60 .db $47,$30,$C0,$27,$FF,$02,$70,$80 .db $C0,$43,$00,$80,$28,$00,$27,$FF .db $01,$33,$03,$45,$67,$07,$47,$CF .db $0F,$00,$FC,$22,$F8,$23,$F0,$03 .db $8F,$0F,$3F,$3F,$23,$7F,$27,$FF .db $03,$F0,$C0,$80,$80,$23,$00,$01 .db $CC,$CF,$45,$98,$9F,$48,$30,$3F .db $22,$60,$23,$C0,$02,$70,$7F,$C0 .db $44,$FF,$80,$47,$00,$FF,$00,$80 .db $26,$00,$0B,$6A,$FB,$69,$E7,$D0 .db $FE,$D3,$CD,$CC,$D5,$C3,$E7,$83 .db $02,$6D,$12,$06,$1D,$0B,$36,$2A .db $18,$00,$00,$96,$B7,$EC,$DF,$6C .db $CF,$98,$5F,$70,$7F,$E0,$84,$00 .db $33,$04,$E8,$A0,$B0,$A0,$80,$22 .db $00,$0A,$16,$0E,$15,$05,$27,$1B .db $28,$15,$23,$1C,$3C,$24,$00,$27 .db $FF,$08,$E8,$D0,$50,$40,$90,$60 .db $60,$00,$80,$26,$00,$27,$FF,$FF .db $14,$00,$0F,$0F,$3F,$33,$7F,$29 .db $7F,$60,$FF,$63,$FE,$69,$F6,$77 .db $FC,$00,$0F,$33,$2D,$73,$22,$7F .db $83,$00,$00,$0F,$3D,$7F,$35,$7B .db $7C,$AF,$77,$8A,$5F,$A0,$7F,$80 .db $00,$0F,$3F,$3F,$23,$7F,$13,$00 .db $FF,$E3,$FF,$DD,$FF,$22,$FD,$5C .db $F3,$63,$9C,$94,$6B,$ED,$12,$00 .db $E3,$DD,$E3,$23,$FF,$E0,$27,$00 .db $FF,$D7,$FB,$ED,$F3,$26,$FF,$58 .db $F7,$22,$DD,$55,$EA,$AD,$52,$00 .db $D7,$EF,$FF,$FF,$BF,$5F,$BF,$66 .db $F9,$55,$FA,$6A,$FD,$57,$FC,$66 .db $F9,$5B,$FC,$4B,$F4,$42,$FD,$23 .db $7F,$13,$67,$5B,$5B,$47,$DB,$E4 .db $AF,$D0,$3D,$C2,$C1,$3E,$9A,$7D .db $C9,$36,$E3,$1C,$FF,$00,$22,$FF .db $14,$E1,$DE,$D9,$E7,$FF,$EF,$F9 .db $F3,$EC,$57,$FA,$AF,$D0,$D3,$6C .db $AF,$50,$DF,$20,$FF,$40,$23,$FF .db $E0,$3F,$DF,$AF,$DF,$FF,$00,$01 .db $01,$3B,$23,$7F,$07,$7F,$0C,$3F .db $1A,$3F,$34,$7F,$62,$FF,$00,$01 .db $3B,$37,$0F,$1F,$3F,$7F,$FE,$01 .db $B1,$4F,$EB,$17,$E7,$1F,$AC,$5F .db $DA,$3F,$B4,$7F,$62,$FF,$FE,$F1 .db $EB,$E7,$EF,$DF,$BF,$7F,$F6,$09 .db $FD,$03,$83,$7F,$B3,$7F,$44,$FF .db $4A,$BF,$84,$00,$CC,$06,$FD,$C3 .db $BB,$77,$4F,$BF,$7F,$24,$00,$0A .db $06,$06,$0F,$0C,$1F,$18,$3F,$3E .db $79,$72,$FD,$22,$00,$14,$06,$0E .db $1E,$3E,$7E,$6F,$F9,$73,$EC,$57 .db $FA,$2F,$D0,$53,$EC,$3F,$C0,$5F .db $A0,$7F,$C0,$27,$7F,$14,$EA,$FF .db $F1,$FE,$91,$FF,$4E,$BF,$91,$EE .db $F7,$08,$DF,$20,$FD,$02,$FF,$FF .db $F1,$EE,$F1,$22,$FF,$06,$F0,$0F .db $CF,$3F,$BD,$7F,$B5,$88,$00,$1F .db $03,$F0,$CF,$BF,$BF,$23,$7F,$E0 .db $27,$00,$23,$23,$7F,$0E,$3F,$21 .db $FF,$CC,$FF,$C0,$FF,$83,$FC,$5A .db $E5,$00,$23,$0F,$23,$DD,$DD,$E3 .db $FF,$7F,$80,$77,$88,$7F,$80,$71 .db $8E,$68,$9F,$21,$DF,$43,$BF,$3D .db $FF,$22,$7F,$E0,$25,$71,$6E,$6D .db $43,$3F,$63,$FC,$59,$FF,$64,$FF .db $69,$F6,$6E,$F9,$4D,$F2,$55,$FA .db $6B,$D4,$7F,$79,$76,$79,$7F,$6F .db $57,$6F,$F0,$0F,$4F,$BF,$BD,$7F .db $B1,$7F,$7C,$86,$00,$09,$83,$01 .db $48,$23,$7F,$0F,$DF,$20,$FB,$04 .db $BF,$40,$FF,$00,$F7,$08,$FF,$00 .db $BF,$40,$FB,$04,$28,$FF,$04,$00 .db $FE,$01,$FF,$00,$84,$01,$2C,$04 .db $00,$7F,$80,$FF,$00,$27,$FF,$83 .db $01,$CA,$01,$F7,$08,$43,$FF,$00 .db $85,$01,$CA,$28,$FF,$0A,$00,$F7 .db $08,$FE,$01,$DF,$20,$FF,$00,$FD .db $02,$83,$01,$FE,$27,$FF,$E0,$73 .db $00,$07,$04,$0F,$0A,$1D,$04,$1B .db $00,$1F,$19,$3F,$3C,$7B,$76,$FD .db $00,$06,$0E,$0D,$03,$1F,$3F,$7F .db $D3,$FC,$D6,$AD,$45,$FA,$BB,$F4 .db $5B,$E4,$85,$7A,$7F,$80,$DB,$24 .db $FF,$FF,$C7,$BB,$DB,$E7,$FF,$FF .db $7E,$81,$6D,$93,$7B,$87,$37,$CF .db $6D,$9E,$5A,$BF,$35,$FA,$62,$FF .db $7E,$7D,$7B,$77,$6D,$5A,$3D,$7F .db $FF,$00,$B7,$48,$F9,$06,$F6,$0F .db $EC,$1F,$98,$7F,$BE,$79,$72,$FD .db $FF,$FF,$F9,$F6,$EE,$DE,$BE,$7E .db $C2,$FD,$92,$ED,$00,$FF,$86,$F9 .db $5A,$E5,$94,$6B,$7E,$81,$DA,$25 .db $C6,$BA,$BA,$C6,$23,$FE,$24,$00 .db $0A,$0E,$02,$1D,$0E,$11,$01,$0F .db $0E,$3F,$3D,$FF,$22,$00,$19,$0E .db $0E,$01,$0F,$3F,$00,$03,$03,$0F .db $09,$3F,$34,$FF,$E0,$FF,$E2,$FD .db $95,$FA,$5A,$E5,$00,$03,$09,$36 .db $F9,$22,$FF,$83,$01,$20,$0B,$86 .db $F9,$55,$AA,$A7,$F8,$D3,$3C,$C7 .db $38,$FD,$02,$23,$FF,$17,$E7,$DB .db $E7,$FF,$0F,$F0,$AE,$71,$D7,$38 .db $6F,$90,$F7,$08,$BE,$41,$FF,$00 .db $FB,$04,$FF,$EF,$D7,$EF,$23,$FF .db $14,$6A,$FF,$71,$FE,$05,$FE,$52 .db $AF,$1D,$E2,$77,$88,$5F,$A0,$7D .db $82,$7F,$7F,$7D,$7A,$7D,$22,$7F .db $83,$02,$DC,$E0,$23,$DC,$23,$F9 .db $06,$7C,$83,$E3,$1F,$CF,$3F,$3F .db $FE,$FF,$FF,$FC,$FB,$FC,$F3,$CF .db $3F,$FC,$03,$B3,$4F,$CE,$3F,$3D .db $FF,$CA,$FF,$A2,$FD,$85,$FA,$5A .db $E5,$83,$03,$14,$03,$CF,$B7,$CF .db $FF,$43,$FF,$00,$0F,$C3,$3C,$3D .db $FE,$F6,$FF,$DA,$FF,$54,$AB,$2A .db $D5,$FF,$FF,$C3,$3D,$23,$FE,$24 .db $00,$0A,$3C,$3C,$FE,$F6,$FF,$CA .db $FF,$26,$FB,$56,$A9,$22,$00,$00 .db $3C,$23,$FE,$24,$00,$0A,$07,$03 .db $FF,$FB,$FF,$F2,$FF,$49,$F6,$AF .db $58,$22,$00,$00,$07,$23,$FF,$15 .db $00,$0F,$0F,$FF,$F1,$FF,$6E,$FD .db $26,$F9,$A1,$FF,$D9,$EE,$97,$68 .db $00,$0F,$F1,$EE,$EE,$F1,$23,$FF .db $0D,$DA,$FF,$B5,$FE,$68,$D7,$97 .db $78,$55,$AA,$3E,$C1,$F7,$08,$27 .db $FF,$13,$27,$FD,$C9,$7E,$22,$FD .db $07,$F8,$3D,$C2,$FF,$00,$EF,$10 .db $FE,$01,$FF,$CF,$B7,$CF,$23,$FF .db $0F,$2A,$D5,$5F,$A0,$2F,$D0,$E7 .db $18,$D3,$3C,$E7,$18,$EF,$10,$FF .db $00,$22,$FF,$02,$E7,$DB,$E7,$22 .db $FF,$0D,$00,$FD,$02,$EF,$10,$E1 .db $1E,$DC,$3F,$A3,$7C,$90,$6F,$0F .db $23,$FF,$08,$E3,$DC,$BF,$B0,$0F .db $F7,$08,$BF,$40,$83,$02,$02,$06 .db $F0,$0F,$0F,$FF,$FB,$FF,$75,$24 .db $FF,$09,$F0,$0F,$FF,$FF,$EB,$14 .db $8F,$70,$50,$EF,$83,$03,$FA,$83 .db $03,$6A,$05,$AA,$5D,$FF,$8F,$70 .db $0F,$23,$FF,$87,$03,$F8,$09,$1B .db $F4,$A7,$DD,$D7,$A8,$A9,$56,$F0 .db $0F,$25,$FF,$12,$DF,$20,$01,$FE .db $FD,$FE,$76,$FF,$1A,$F5,$A6,$DD .db $D6,$A9,$A8,$57,$FF,$03,$FD,$24 .db $FE,$09,$7F,$FF,$5A,$FF,$35,$FA .db $68,$DF,$17,$E8,$83,$03,$9A,$06 .db $77,$88,$7F,$7F,$77,$6B,$77,$23 .db $7F,$04,$80,$57,$A8,$70,$8F,$89 .db $04,$0E,$03,$7F,$7F,$70,$0F,$24 .db $FF,$0D,$00,$BB,$44,$D7,$28,$EF .db $10,$D7,$28,$BB,$44,$FF,$00,$FF .db $28,$00,$87,$03,$18,$07,$E2,$FF .db $DC,$FB,$8D,$F2,$62,$DD,$83,$03 .db $14,$0D,$E3,$DD,$DD,$E3,$FE,$01 .db $FC,$03,$DE,$21,$F6,$09,$BE,$41 .db $83,$04,$B2,$01,$FE,$01,$27,$FE .db $07,$2F,$D0,$5F,$A0,$FD,$02,$BF .db $40,$83,$03,$B4,$83,$01,$B2,$27 .db $FF,$26,$00,$02,$01,$00,$01,$22 .db $00,$02,$0F,$0F,$FF,$26,$00,$00 .db $0F,$24,$00,$0A,$E0,$C0,$F0,$B0 .db $CF,$0E,$FF,$FA,$FF,$7C,$FB,$22 .db $00,$00,$E0,$83,$04,$04,$03,$00 .db $06,$06,$0D,$83,$00,$00,$1B,$3B .db $FF,$12,$FF,$49,$F6,$8A,$FD,$00 .db $06,$00,$0F,$3F,$9F,$6F,$9F,$00 .db $0F,$0D,$FF,$F8,$FF,$70,$FF,$DB .db $EC,$77,$BD,$83,$04,$2C,$03,$00 .db $0D,$FA,$FD,$25,$FF,$83,$03,$92 .db $03,$6D,$D6,$92,$7F,$85,$03,$9A .db $22,$FF,$00,$FD,$83,$05,$3A,$07 .db $27,$FD,$E9,$76,$52,$BD,$6F,$D0 .db $88,$03,$B0,$02,$EF,$D7,$EF,$23 .db $FF,$84,$03,$C0,$06,$F0,$D5,$3A .db $EF,$10,$FB,$04,$85,$03,$CC,$02 .db $EF,$D7,$EF,$22,$FF,$08,$C3,$3C .db $A1,$7E,$9C,$63,$3D,$C3,$C3,$86 .db $04,$11,$04,$C3,$BD,$BC,$3D,$C3 .db $22,$FF,$87,$03,$F8,$07,$43,$FC .db $9B,$FD,$83,$FC,$85,$7A,$83,$04 .db $04,$03,$C7,$BB,$BB,$C7,$22,$00 .db $01,$FC,$FC,$8A,$04,$3D,$02,$00 .db $00,$FC,$24,$FE,$0B,$7F,$80,$5F .db $A0,$7B,$84,$7F,$80,$7B,$84,$5F .db $A0,$83,$04,$6C,$25,$7F,$03,$70 .db $0F,$7D,$82,$85,$05,$DA,$8B,$04 .db $70,$23,$FF,$09,$7F,$80,$5D,$A2 .db $7F,$80,$7D,$82,$6F,$90,$43,$7F .db $80,$01,$7B,$84,$27,$7F,$44,$00 .db $01,$0A,$03,$03,$07,$05,$1A,$08 .db $1F,$07,$1B,$04,$0F,$22,$00,$1A .db $03,$07,$08,$07,$07,$D9,$F6,$C2 .db $FD,$69,$FE,$93,$6C,$85,$7A,$6F .db $D0,$0B,$F4,$35,$CA,$FF,$FF,$7F .db $BF,$BF,$7F,$22,$FF,$04,$FC,$FF .db $F0,$FF,$E6,$44,$FF,$EE,$04,$EC .db $FF,$F1,$FF,$D8,$27,$00,$05,$FF .db $3F,$FF,$0F,$FF,$67,$44,$FF,$77 .db $04,$37,$FF,$8F,$FF,$1B,$2B,$00 .db $05,$8F,$00,$70,$00,$8F,$8F,$25 .db $FF,$22,$00,$01,$8F,$70,$26,$00 .db $00,$FF,$22,$00,$23,$FF,$03,$F0 .db $FF,$0F,$FF,$22,$00,$00,$FF,$22 .db $00,$00,$0F,$23,$00,$00,$FF,$22 .db $00,$83,$06,$9C,$83,$03,$FC,$22 .db $00,$04,$FF,$00,$0F,$FF,$FF,$23 .db $00,$85,$03,$F8,$85,$04,$12,$22 .db $00,$00,$0F,$23,$FF,$83,$00,$A8 .db $09,$A3,$7F,$07,$7F,$CC,$FF,$DA .db $FF,$B4,$FF,$84,$00,$B6,$00,$B7 .db $83,$00,$BC,$22,$00,$0A,$1F,$D8 .db $3F,$13,$3C,$EC,$F3,$F3,$FF,$CE .db $FF,$83,$02,$96,$03,$1E,$DF,$0C .db $03,$85,$02,$9E,$01,$49,$BF,$8E .db $02,$A6,$28,$FF,$02,$FE,$FF,$FE .db $22,$FF,$83,$06,$9C,$26,$00,$00 .db $0F,$23,$FF,$03,$1F,$FF,$CF,$FF .db $83,$05,$00,$03,$FB,$FF,$7C,$FB .db $22,$00,$84,$05,$0B,$03,$F9,$FF .db $F6,$FD,$85,$06,$B0,$89,$05,$1A .db $05,$FF,$9F,$6F,$9F,$F0,$FF,$91 .db $05,$2A,$23,$FF,$03,$7F,$80,$3D .db $C2,$43,$7F,$80,$83,$01,$6A,$83 .db $06,$02,$27,$7F,$E0,$3F,$06,$1F .db $11,$3F,$02,$3F,$1C,$3F,$36,$7B .db $29,$7E,$74,$EB,$6D,$FB,$07,$1B .db $07,$1F,$37,$2B,$77,$7F,$B7,$D8 .db $6B,$9C,$37,$C8,$DF,$20,$73,$8C .db $A9,$5E,$D3,$2C,$BF,$40,$F7,$EB .db $F7,$FF,$F3,$ED,$F3,$FF,$FF,$9A .db $FF,$E7,$FF,$F9,$FF,$FE,$FF,$F9 .db $FF,$E7,$FF,$9F,$FF,$DF,$27,$00 .db $01,$FF,$59,$84,$07,$D2,$02,$7F .db $FF,$9F,$84,$07,$CA,$00,$FB,$27 .db $00,$25,$FF,$09,$F1,$FF,$EC,$FF .db $EA,$FD,$C4,$FF,$3D,$FF,$23,$00 .db $17,$0E,$0E,$05,$3F,$EC,$FF,$C3 .db $FF,$C6,$FF,$3D,$FF,$EA,$FF,$C6 .db $FD,$91,$FE,$62,$FD,$00,$13,$0F .db $3F,$83,$02,$CB,$07,$F0,$FF,$CF .db $FF,$BD,$FF,$B1,$FF,$87,$01,$A0 .db $83,$00,$28,$23,$7F,$0D,$F8,$FF .db $F4,$FF,$F2,$FD,$F0,$FF,$C7,$FE .db $BF,$FD,$BF,$FA,$83,$02,$1E,$03 .db $06,$01,$07,$3F,$97,$02,$26,$25 .db $FF,$85,$06,$B0,$85,$03,$6A,$22 .db $00,$00,$0F,$23,$FF,$83,$06,$9C .db $91,$03,$7C,$22,$FF,$8D,$04,$81 .db $28,$00,$8E,$04,$80,$28,$00,$8E .db $04,$80,$28,$00,$0E,$7E,$00,$FF .db $3C,$FF,$66,$FF,$60,$FF,$6E,$FF .db $66,$FF,$3E,$7E,$28,$00,$1B,$3F .db $3F,$7F,$60,$E3,$DF,$D9,$B3,$DD .db $A9,$CD,$A5,$E3,$B3,$FF,$BF,$00 .db $07,$00,$04,$16,$5A,$4C,$40,$FF .db $FF,$02,$2F,$2B,$FF,$01,$00,$D0 .db $25,$00,$0C,$FC,$FC,$FE,$FE,$C7 .db $E7,$9B,$CB,$BB,$93,$B3,$A7,$C7 .db $83,$03,$2E,$06,$00,$18,$24,$6C .db $58,$30,$00,$24,$BF,$00,$FF,$22 .db $BF,$01,$FF,$BF,$22,$FF,$05,$BF .db $FF,$40,$40,$00,$40,$23,$00,$8E .db $04,$80,$28,$00,$8E,$04,$80,$28 .db $00,$8E,$04,$80,$28,$00,$8E,$04 .db $80,$28,$00,$8E,$04,$80,$28,$00 .db $8E,$04,$80,$28,$00,$8E,$04,$80 .db $28,$00,$85,$01,$68,$09,$6E,$91 .db $7C,$83,$33,$CF,$4E,$BF,$3D,$FF .db $23,$7F,$03,$7C,$73,$4F,$3F,$83 .db $02,$DC,$83,$01,$2C,$87,$03,$08 .db $23,$FF,$83,$03,$14,$85,$03,$D8 .db $83,$01,$D0,$04,$BF,$40,$F0,$0F .db $0F,$26,$FF,$00,$F0,$8F,$03,$EF .db $24,$FF,$83,$04,$04,$8F,$05,$D0 .db $25,$7F,$01,$70,$0F,$8E,$04,$80 .db $28,$00,$8E,$04,$80,$28,$00,$8E .db $04,$80,$28,$00,$8E,$04,$80,$28 .db $00,$07,$1E,$1E,$21,$3F,$5E,$7F .db $BF,$F1,$47,$BF,$E0,$03,$00,$1E .db $3F,$71,$23,$60,$07,$78,$78,$9C .db $E4,$4E,$F2,$E7,$F9,$44,$F7,$39 .db $0E,$79,$E7,$F9,$00,$78,$FC,$FE .db $3E,$3E,$7E,$FE,$5F,$71,$5F,$73 .db $4B,$2F,$39,$01,$31,$33,$25,$19 .db $03,$CE,$F2,$8E,$F2,$4B,$9C,$E4 .db $01,$FC,$FC,$25,$F8,$4F,$2F,$39 .db $27,$19,$4F,$9C,$E4,$27,$F8,$07 .db $1F,$1F,$20,$3F,$5F,$7F,$BF,$F0 .db $45,$BF,$E0,$05,$5F,$70,$00,$1F .db $3F,$70,$22,$60,$00,$30,$83,$06 .db $96,$00,$00,$23,$FF,$43,$00,$FF .db $02,$40,$FF,$C0,$84,$0B,$88,$01 .db $00,$40,$85,$0B,$97,$23,$FF,$45 .db $00,$FF,$22,$00,$01,$FF,$FF,$23 .db $00,$11,$5F,$71,$BF,$F3,$9F,$FF .db $CE,$BF,$E0,$9F,$7F,$40,$3F,$20 .db $1F,$1F,$31,$73,$22,$7F,$05,$3F .db $1F,$00,$FF,$FF,$BF,$44,$FF,$00 .db $44,$FF,$00,$02,$FF,$00,$00,$25 .db $FF,$01,$00,$00,$23,$FF,$43,$00 .db $FF,$44,$FF,$00,$02,$FF,$00,$00 .db $25,$FF,$01,$00,$00,$FF,$2A,$00 .db $04,$03,$00,$04,$00,$08,$25,$00 .db $01,$03,$07,$22,$00,$06,$01,$00 .db $0E,$00,$30,$00,$C0,$27,$00,$02 .db $01,$0F,$3F,$22,$FF,$03,$00,$1F .db $00,$E0,$2C,$00,$00,$1F,$25,$FF .db $07,$00,$F8,$F8,$FF,$1F,$1F,$03 .db $03,$29,$00,$01,$E0,$FC,$23,$FF .db $22,$00,$0C,$80,$00,$F0,$E0,$FC .db $FC,$FF,$5E,$5F,$2F,$2F,$17,$17 .db $24,$00,$02,$A0,$D0,$E8,$2A,$00 .db $04,$C0,$80,$E0,$C0,$F8,$30,$00 .db $00,$01,$44,$00,$02,$00,$04,$24 .db $00,$0A,$01,$01,$03,$00,$10,$00 .db $20,$00,$40,$00,$80,$27,$00,$03 .db $0F,$1F,$3F,$7F,$23,$FF,$0B,$0B .db $0B,$05,$05,$0A,$0A,$05,$05,$02 .db $02,$01,$01,$83,$00,$A3,$03,$F4 .db $FA,$F5,$FA,$62,$FD,$10,$FE,$D0 .db $FC,$E8,$FE,$F4,$FF,$78,$7F,$F4 .db $FF,$7A,$7F,$BD,$BF,$5E,$5F,$22 .db $00,$04,$80,$00,$80,$40,$A0,$28 .db $00,$00,$80,$44,$00,$C0,$00,$E0 .db $28,$00,$00,$04,$44,$00,$08,$45 .db $10,$00,$05,$20,$00,$20,$03,$07 .db $07,$22,$0F,$09,$1F,$1F,$AF,$AF .db $5E,$5F,$AF,$AF,$57,$57,$83,$01 .db $24,$05,$AB,$AB,$57,$57,$50,$A0 .db $43,$50,$A8,$11,$54,$A8,$00,$E0 .db $80,$F0,$40,$F0,$80,$F8,$40,$F8 .db $A0,$F8,$C0,$FC,$A0,$FC,$28,$00 .db $00,$20,$4A,$00,$40,$03,$80,$00 .db $80,$1F,$24,$3F,$05,$7F,$7F,$AB .db $AB,$55,$55,$8B,$01,$68,$47,$54 .db $AA,$0F,$D0,$FC,$E0,$FE,$D0,$FE .db $E0,$FE,$D0,$FE,$E0,$FE,$D0,$FF .db $E0,$FF,$28,$00,$4E,$80,$00,$27 .db $7F,$07,$AA,$AA,$55,$55,$AA,$AA .db $55,$55,$85,$01,$B0,$22,$55,$46 .db $AA,$55,$07,$D0,$FF,$E8,$FF,$D0 .db $FF,$E8,$FF,$87,$01,$C8,$29,$00 .db $01,$38,$38,$23,$7C,$27,$FE,$31 .db $FF,$05,$FC,$FF,$F8,$FC,$F0,$F8 .db $24,$FF,$0C,$FC,$FB,$F7,$D5,$FF .db $AA,$FF,$D0,$FE,$80,$F0,$00,$C0 .db $25,$00,$04,$FF,$FE,$F1,$CF,$3F .db $22,$FF,$03,$00,$FF,$00,$E0,$2B .db $00,$01,$E0,$1F,$25,$FF,$01,$07 .db $FF,$85,$00,$4A,$27,$00,$03,$07 .db $00,$E0,$FC,$25,$FF,$05,$7F,$FF .db $0F,$FF,$E3,$FF,$87,$00,$68,$03 .db $FF,$7F,$0F,$03,$83,$00,$74,$29 .db $FF,$04,$3F,$FF,$9F,$FF,$C7,$25 .db $FF,$02,$3F,$1F,$07,$27,$FF,$01 .db $FE,$FF,$43,$FC,$FE,$01,$F8,$FC .db $23,$FF,$0B,$FE,$FD,$FD,$FB,$E0 .db $F0,$C0,$E0,$80,$C0,$00,$80,$27 .db $00,$03,$EF,$DF,$BF,$7F,$23,$FF .db $03,$D3,$FF,$E9,$FF,$8B,$00,$DC .db $01,$03,$01,$43,$00,$80,$01,$40 .db $A0,$27,$FF,$00,$7F,$44,$FF,$3F .db $00,$1F,$24,$FF,$05,$7F,$3F,$3F .db $1F,$F8,$FC,$43,$F0,$F8,$45,$E0 .db $F0,$43,$C0,$E0,$02,$FB,$F7,$F7 .db $22,$EF,$14,$DF,$DF,$1F,$FF,$8F .db $FF,$4F,$FF,$87,$FF,$47,$FF,$A7 .db $FF,$C3,$FF,$A3,$FF,$1F,$0F,$0F .db $22,$07,$03,$03,$03,$C0,$E0,$49 .db $80,$C0,$43,$00,$80,$00,$DF,$24 .db $BF,$0D,$7F,$7F,$D3,$FF,$E1,$FF .db $D1,$FF,$E1,$FF,$D1,$FF,$E1,$FF .db $83,$01,$8C,$00,$03,$24,$01,$25 .db $00,$0E,$03,$00,$0F,$03,$1F,$0F .db $3F,$1F,$7F,$3F,$FF,$7F,$00,$00 .db $03,$84,$00,$B8,$03,$0F,$00,$FF .db $0F,$2B,$FF,$00,$0F,$26,$FF,$0A .db $F0,$00,$9F,$E0,$F3,$FC,$F8,$FF .db $FC,$FF,$FE,$22,$FF,$02,$FE,$FF .db $F0,$26,$FF,$23,$00,$17,$C0,$00 .db $F0,$00,$38,$C0,$1C,$E0,$0E,$F0 .db $87,$F8,$00,$00,$C0,$F0,$F8,$FC .db $FE,$FF,$01,$00,$03,$01,$43,$07 .db $03,$43,$0F,$07,$43,$1F,$0F,$00 .db $01,$84,$01,$18,$10,$1F,$1F,$43 .db $FC,$A1,$FE,$52,$FD,$A1,$FE,$D0 .db $FF,$A8,$FF,$D4,$FF,$A8,$28,$FF .db $83,$00,$F9,$13,$E0,$00,$60,$80 .db $B0,$40,$50,$A0,$B8,$40,$58,$A0 .db $80,$C0,$E0,$E0,$F0,$F0,$F8,$F8 .db $47,$3F,$1F,$46,$7F,$3F,$24,$3F .db $23,$7F,$0E,$D4,$FF,$AA,$FF,$D4 .db $FF,$EA,$FF,$D5,$FF,$EA,$FF,$D5 .db $FF,$EA,$28,$FF,$0F,$2C,$D0,$5C .db $A0,$2C,$D0,$1C,$E0,$2E,$D0,$16 .db $E8,$0E,$F0,$16,$E8,$23,$FC,$23 .db $FE,$4F,$FF,$7F,$27,$FF,$87,$04 .db $10,$86,$04,$10,$28,$FF,$07,$0B .db $F4,$87,$F8,$0B,$F4,$87,$F8,$87 .db $04,$68,$2C,$FF,$00,$E7,$44,$FF .db $C3,$45,$81,$FF,$03,$FF,$E7,$C3 .db $C3,$22,$81,$83,$02,$10,$0B,$D7 .db $FC,$AF,$F3,$DF,$EF,$BF,$DF,$FF .db $BF,$FF,$7F,$27,$FF,$03,$0F,$F0 .db $FF,$0F,$34,$FF,$00,$0F,$88,$03 .db $7A,$22,$FF,$00,$FE,$2D,$FF,$0A .db $3F,$FF,$0F,$3F,$C7,$1F,$E3,$0F .db $F1,$87,$F8,$28,$FF,$02,$FE,$FF .db $FD,$44,$FF,$FB,$43,$F7,$FF,$02 .db $EF,$FF,$EF,$28,$FF,$83,$02,$D8 .db $0A,$1F,$7F,$9F,$BF,$4F,$5F,$AF .db $BF,$47,$5F,$A7,$28,$FF,$47,$DF .db $FF,$46,$BF,$FF,$27,$FF,$0F,$2F .db $D3,$5F,$A3,$2F,$D3,$1F,$E3,$2F .db $D1,$17,$E9,$0F,$F1,$17,$E9,$27 .db $FF,$25,$00,$08,$01,$00,$03,$00 .db $07,$00,$0F,$00,$1F,$28,$00,$04 .db $01,$00,$1F,$00,$7F,$49,$00,$FF .db $28,$00,$43,$3F,$00,$45,$7F,$00 .db $44,$FF,$00,$28,$00,$17,$FF,$80 .db $FF,$C0,$FF,$A0,$7F,$68,$3F,$74 .db $3F,$7A,$0F,$3D,$17,$3F,$80,$C0 .db $A0,$68,$74,$7A,$3D,$3F,$4C,$FF .db $00,$02,$55,$FF,$AA,$25,$00,$E0 .db $23,$55,$AA,$FF,$01,$FF,$03,$FD .db $07,$FE,$0E,$FC,$16,$FC,$AE,$F0 .db $7C,$A8,$FC,$01,$03,$07,$0E,$16 .db $AE,$7C,$FC,$05,$1F,$02,$0F,$01 .db $07,$00,$03,$00,$01,$25,$00,$04 .db $1F,$0F,$07,$03,$01,$22,$00,$02 .db $FF,$FF,$BF,$83,$05,$C4,$08,$FF .db $05,$FF,$00,$7F,$00,$1F,$00,$01 .db $24,$FF,$02,$7F,$1F,$01,$23,$FF .db $83,$06,$04,$00,$55,$45,$FF,$00 .db $2A,$FF,$00,$FE,$83,$05,$C4,$43 .db $FF,$00,$04,$FE,$00,$F8,$00,$80 .db $24,$FF,$0C,$FE,$F8,$80,$E0,$F8 .db $80,$F0,$00,$E0,$00,$C0,$00,$80 .db $25,$00,$04,$F8,$F0,$E0,$C0,$80 .db $22,$00,$26,$FF,$00,$FE,$83,$02 .db $01,$03,$FF,$F0,$FF,$E0,$22,$FF .db $0A,$FE,$FC,$F8,$F0,$E0,$FF,$FE .db $FF,$E0,$FF,$80,$49,$FF,$00,$02 .db $FE,$E0,$80,$24,$00,$44,$FF,$C0 .db $45,$80,$FF,$44,$00,$FF,$01,$C0 .db $C0,$22,$80,$22,$00,$85,$05,$A0 .db $11,$FF,$E8,$BF,$F4,$BF,$FA,$CF .db $FD,$D7,$FF,$80,$C0,$A0,$E8,$F4 .db $FA,$FD,$FF,$85,$05,$D0,$16,$FF .db $0F,$FD,$17,$FD,$AF,$F3,$7F,$EB .db $FF,$01,$03,$07,$0F,$17,$AF,$7F .db $FF,$E5,$FF,$F2,$FF,$F9,$83,$03 .db $7F,$30,$FF,$87,$06,$02,$04,$80 .db $FF,$E0,$FF,$FE,$2A,$FF,$00,$FD .db $84,$06,$1D,$06,$A0,$FF,$01,$FF .db $07,$FF,$7F,$28,$FF,$08,$A7,$FF .db $4F,$FF,$9F,$FF,$3F,$FF,$7F,$2F .db $FF,$91,$05,$A1,$86,$06,$BB,$04 .db $FE,$03,$FC,$07,$FC,$84,$05,$D7 .db $02,$F8,$7C,$F0,$83,$05,$DF,$84 .db $06,$D3,$89,$05,$E8,$25,$00,$29 .db $FF,$8D,$06,$02,$29,$FF,$84,$06 .db $32,$43,$FF,$00,$84,$06,$3B,$27 .db $FF,$89,$06,$48,$25,$00,$27,$FF .db $00,$03,$84,$05,$63,$00,$3F,$44 .db $00,$7F,$02,$FF,$00,$FF,$28,$00 .db $17,$FF,$80,$7F,$C0,$7F,$60,$3F .db $7A,$1F,$35,$0F,$1E,$03,$0F,$00 .db $03,$80,$C0,$60,$7A,$35,$1E,$0F .db $03,$46,$FF,$00,$83,$06,$1E,$00 .db $AA,$83,$02,$26,$22,$00,$02,$AA .db $55,$AA,$22,$FF,$43,$01,$FE,$14 .db $02,$FC,$AE,$F8,$5C,$F0,$F8,$C0 .db $F0,$00,$C0,$01,$01,$02,$AE,$5C .db $F8,$F0,$C0,$FF,$FC,$84,$06,$6C .db $00,$C0,$44,$FF,$80,$03,$00,$FF .db $00,$FC,$83,$06,$59,$00,$80,$85 .db $07,$DE,$11,$FF,$E0,$BF,$FA,$DF .db $F5,$EF,$FE,$F3,$FF,$FC,$FF,$80 .db $C0,$E0,$FA,$F5,$FE,$22,$FF,$13 .db $01,$FE,$03,$FF,$05,$FD,$AB,$FB .db $57,$F7,$FF,$CF,$FF,$3F,$FF,$01 .db $03,$05,$AB,$57,$22,$FF,$4F,$00 .db $BF,$27,$7F,$4E,$03,$FF,$28,$FF .db $4F,$7F,$C0,$27,$3F,$4F,$FC,$03 .db $27,$FF,$01,$00,$BF,$47,$40,$DF .db $43,$20,$EF,$02,$10,$F7,$7F,$23 .db $BF,$03,$DF,$DF,$EF,$03,$48,$FF .db $06,$43,$0C,$FF,$00,$18,$28,$FF .db $08,$10,$F7,$08,$FB,$04,$FD,$02 .db $FE,$01,$46,$FF,$00,$04,$EF,$F7 .db $FB,$FD,$FE,$22,$FF,$48,$00,$FF .db $06,$3F,$38,$07,$07,$C0,$01,$E0 .db $27,$FF,$47,$00,$FF,$83,$08,$E8 .db $03,$F8,$07,$F0,$0F,$27,$FF,$04 .db $18,$FF,$30,$FF,$60,$83,$06,$92 .db $45,$FF,$00,$28,$FF,$06,$07,$F8 .db $07,$FA,$07,$FD,$07,$48,$FC,$03 .db $02,$F8,$FA,$FD,$24,$FC,$09,$F0 .db $9F,$E0,$3F,$E0,$2F,$C8,$27,$C0 .db $6F,$45,$D0,$4F,$00,$9F,$22,$3F .db $23,$7F,$83,$03,$61,$02,$00,$FC .db $00,$43,$FF,$01,$00,$FE,$43,$00 .db $FF,$04,$E0,$EF,$F3,$FC,$FD,$62 .db $FD,$16,$00,$FF,$20,$CB,$04,$33 .db $08,$E7,$10,$CF,$80,$5F,$60,$9F .db $40,$3F,$07,$F7,$CF,$1F,$BF,$BF .db $7F,$47,$FF,$00,$08,$FC,$00,$F3 .db $00,$CC,$00,$B0,$00,$40,$23,$FF .db $0B,$FC,$F3,$CF,$BF,$00,$FF,$00 .db $F0,$00,$0F,$0F,$FF,$25,$1F,$83 .db $05,$FE,$01,$F0,$00,$22,$E0,$83 .db $06,$39,$08,$FD,$00,$FA,$00,$F4 .db $00,$E8,$20,$C8,$43,$00,$D0,$84 .db $06,$72,$0A,$F0,$E0,$E0,$00,$80 .db $40,$C0,$1F,$7F,$0F,$3F,$43,$07 .db $1F,$43,$03,$0F,$01,$7F,$3F,$26 .db $00,$43,$05,$00,$43,$02,$00,$46 .db $01,$00,$03,$03,$03,$01,$01,$24 .db $00,$45,$FF,$00,$22,$FF,$03,$BF .db $7F,$5F,$3F,$25,$FF,$03,$00,$FF .db $FF,$00,$43,$02,$06,$43,$01,$03 .db $46,$00,$01,$22,$01,$2E,$00,$05 .db $FF,$40,$C0,$20,$E0,$00,$24,$FF .db $09,$00,$3F,$1F,$00,$F3,$8F,$D3 .db $CF,$C3,$CF,$43,$CB,$C7,$06,$CA .db $C7,$C0,$CF,$D0,$CF,$7F,$26,$3F .db $43,$33,$C3,$06,$B1,$C1,$CD,$F1 .db $CF,$F3,$4B,$44,$F3,$03,$83,$04 .db $32,$23,$FC,$05,$B2,$8F,$B3,$8F .db $F5,$CB,$43,$DC,$C3,$07,$D5,$CB .db $F3,$CF,$F3,$8F,$7F,$7F,$24,$3F .db $02,$7F,$43,$F3,$83,$0A,$BB,$05 .db $CD,$F1,$F5,$C1,$B1,$C1,$43,$33 .db $C3,$22,$FC,$22,$FE,$07,$FC,$FC .db $33,$F0,$13,$F0,$03,$F0,$43,$0B .db $F8,$05,$0A,$F8,$00,$F0,$10,$F0 .db $22,$0F,$22,$07,$01,$0F,$0F,$43 .db $30,$3F,$01,$B0,$3F,$43,$CC,$0F .db $00,$48,$44,$0F,$00,$22,$C0,$24 .db $F0,$05,$32,$F0,$33,$F0,$35,$F4 .db $43,$1C,$FC,$01,$15,$F4,$43,$33 .db $F0,$0A,$0F,$0F,$0B,$03,$03,$0B .db $0F,$0F,$40,$0F,$C8,$44,$0F,$CC .db $02,$F4,$3F,$B0,$44,$3F,$30,$23 .db $F0,$23,$C0,$03,$3F,$C0,$40,$80 .db $22,$7F,$46,$80,$7F,$23,$FF,$00 .db $80,$25,$FF,$04,$00,$01,$00,$F9 .db $F8,$45,$F9,$00,$02,$FA,$01,$F8 .db $22,$FF,$00,$07,$24,$FF,$13,$FE .db $7F,$FD,$BF,$FB,$DF,$F7,$EF,$EF .db $F7,$DF,$FB,$BF,$FD,$7F,$FE,$FE .db $FD,$FB,$F7,$83,$02,$B0,$05,$7F .db $C0,$41,$C0,$F9,$F8,$45,$99,$80 .db $06,$9A,$81,$D8,$BF,$3F,$3F,$07 .db $24,$7F,$05,$3F,$C0,$03,$80,$7F .db $7F,$47,$7C,$83,$04,$FF,$FC,$FF .db $FF,$80,$23,$FF,$06,$FC,$FE,$00 .db $FC,$00,$F8,$00,$86,$06,$4B,$22 .db $00,$27,$FF,$4F,$39,$C7,$27,$3F .db $4F,$F0,$0F,$27,$F0,$FF,$43,$05 .db $06,$13,$0B,$0C,$17,$18,$6F,$70 .db $9F,$E0,$7F,$80,$FF,$00,$F8,$F8 .db $F0,$E2,$86,$0E,$1E,$7E,$26,$FF .db $08,$FC,$FC,$F3,$F3,$CF,$CE,$BE .db $B8,$78,$22,$FF,$10,$FC,$F0,$C0 .db $81,$07,$FF,$FE,$FE,$E1,$E1,$9F .db $9E,$7E,$60,$E0,$80,$80,$23,$00 .db $05,$FE,$E0,$80,$01,$1F,$7F,$22 .db $FF,$06,$1C,$1C,$E3,$E3,$FF,$1C .db $1C,$27,$00,$03,$1C,$00,$00,$E3 .db $24,$FF,$08,$7E,$7E,$9D,$9D,$E3 .db $62,$7E,$1C,$1C,$25,$00,$04,$7E .db $1C,$00,$81,$E3,$23,$FF,$08,$1F .db $1F,$E1,$E1,$FE,$1E,$1F,$01,$01 .db $25,$00,$04,$1F,$01,$00,$E0,$FE .db $27,$FF,$06,$0F,$0F,$F0,$F0,$FF .db $0F,$0F,$23,$00,$05,$FF,$FF,$0F .db $00,$00,$F0,$2A,$FF,$06,$07,$07 .db $F8,$F8,$FF,$07,$07,$23,$FF,$03 .db $07,$00,$00,$F8,$2A,$FF,$04,$3F .db $3F,$C7,$C7,$F8,$24,$FF,$02,$3F .db $07,$00,$45,$FF,$FE,$47,$FE,$FD .db $01,$FD,$FB,$22,$FE,$23,$FC,$00 .db $F8,$83,$00,$DC,$03,$FF,$FD,$FD .db $FB,$43,$FA,$F6,$43,$F4,$EC,$07 .db $FE,$FC,$FC,$F8,$F1,$F1,$E3,$E3 .db $45,$01,$00,$47,$02,$01,$01,$05 .db $03,$22,$FE,$23,$FC,$00,$F8,$83 .db $01,$0C,$03,$03,$01,$05,$03,$43 .db $0A,$06,$43,$14,$0C,$87,$01,$00 .db $01,$FF,$FE,$43,$FE,$FD,$43,$FD .db $FB,$45,$FA,$F6,$83,$01,$00,$00 .db $F8,$22,$F1,$01,$01,$00,$43,$02 .db $01,$43,$05,$03,$45,$0A,$06,$84 .db $01,$48,$22,$F1,$01,$FF,$00,$43 .db $FE,$01,$43,$FD,$03,$45,$FA,$06 .db $84,$01,$48,$22,$F1,$84,$00,$1E .db $04,$EF,$E4,$DC,$E8,$D8,$43,$D0 .db $B0,$0F,$B0,$70,$FC,$F0,$E0,$C3 .db $C7,$8F,$8F,$0F,$60,$E0,$C0,$C0 .db $80,$80,$29,$00,$02,$1F,$3F,$7F .db $24,$FF,$25,$00,$09,$01,$00,$02 .db $00,$04,$00,$08,$00,$10,$00,$22 .db $FF,$0C,$FE,$FD,$FB,$F7,$EF,$07 .db $00,$3F,$07,$C3,$03,$01,$01,$25 .db $00,$05,$80,$80,$F8,$C0,$3C,$FE .db $22,$FF,$07,$7F,$E0,$00,$1C,$E0 .db $C3,$FC,$E0,$44,$FF,$F0,$43,$78 .db $7F,$01,$1F,$03,$23,$00,$01,$80 .db $80,$25,$00,$09,$80,$00,$40,$80 .db $20,$C0,$10,$E0,$08,$F0,$22,$FF .db $04,$7F,$3F,$1F,$0F,$07,$23,$1F .db $17,$5F,$5F,$1F,$1E,$16,$1C,$1C .db $18,$18,$10,$10,$00,$E0,$E0,$A0 .db $E0,$E1,$E3,$E7,$EF,$07,$F8,$3F .db $C7,$83,$01,$CC,$25,$00,$83,$00 .db $3A,$01,$3C,$FE,$22,$FF,$04,$7F .db $38,$3F,$07,$07,$2B,$00,$01,$C0 .db $F8,$25,$FF,$47,$FD,$FB,$47,$FA .db $F6,$23,$F8,$23,$F1,$01,$F4,$EC .db $43,$E8,$D8,$45,$D0,$B0,$06,$B0 .db $70,$A0,$60,$E3,$C7,$C7,$22,$8F .db $01,$0F,$1F,$47,$05,$03,$47,$0A .db $06,$23,$F8,$23,$F1,$01,$14,$0C .db $43,$28,$18,$45,$50,$30,$86,$02 .db $7C,$22,$8F,$01,$0F,$1F,$47,$F4 .db $EC,$47,$E8,$D8,$23,$E3,$23,$C7 .db $47,$14,$0C,$47,$28,$18,$23,$E3 .db $23,$C7,$47,$F4,$0C,$47,$E8,$18 .db $23,$E3,$23,$C7,$4F,$FF,$00,$27 .db $FE,$25,$00,$83,$01,$0C,$05,$0D .db $03,$32,$0E,$CC,$3C,$22,$FF,$10 .db $FE,$FC,$F0,$C1,$03,$03,$00,$0C .db $03,$73,$0F,$8C,$7C,$70,$F0,$80 .db $80,$23,$00,$09,$FC,$F0,$80,$03 .db $0F,$7F,$FF,$FF,$E3,$00,$85,$00 .db $4A,$27,$00,$83,$00,$58,$23,$FF .db $03,$81,$00,$62,$81,$85,$00,$64 .db $25,$00,$84,$00,$70,$22,$FF,$03 .db $E0,$00,$1E,$E0,$85,$00,$7C,$25 .db $00,$84,$00,$88,$22,$FF,$23,$00 .db $01,$F0,$00,$85,$00,$96,$23,$00 .db $87,$00,$A0,$27,$00,$01,$F8,$00 .db $85,$00,$B2,$23,$FF,$83,$00,$BC .db $29,$00,$05,$C0,$00,$38,$C0,$C7 .db $F8,$24,$FF,$01,$3F,$07,$46,$00 .db $FF,$47,$FE,$01,$01,$FD,$03,$22 .db $FE,$23,$FC,$00,$F8,$83,$01,$68 .db $03,$FF,$01,$FD,$03,$43,$FA,$06 .db $43,$F4,$0C,$87,$01,$00,$22,$FF .db $04,$F8,$F8,$E7,$E0,$D8,$43,$C0 .db $A0,$43,$80,$40,$22,$00,$08,$07 .db $1F,$1F,$3F,$3F,$20,$00,$50,$20 .db $49,$B8,$40,$03,$F8,$00,$DF,$AF .db $24,$77,$00,$07,$49,$D0,$B0,$45 .db $A0,$60,$24,$8F,$22,$1F,$49,$50 .db $30,$45,$A0,$60,$24,$8F,$22,$1F .db $49,$D0,$30,$45,$A0,$60,$24,$8F .db $22,$1F,$07,$01,$00,$06,$01,$09 .db $07,$16,$0E,$43,$28,$18,$83,$04 .db $58,$0D,$FE,$F8,$F0,$E1,$C7,$C7 .db $8F,$1F,$10,$00,$20,$00,$24,$04 .db $45,$40,$00,$06,$80,$00,$A0,$20 .db $EF,$DF,$DB,$22,$BF,$02,$7F,$5F .db $00,$4B,$00,$0C,$22,$00,$00,$FF .db $25,$F3,$02,$FF,$78,$7F,$43,$7C .db $4F,$47,$3E,$0F,$01,$1E,$1F,$22 .db $80,$23,$C0,$02,$E0,$08,$F0,$43 .db $04,$F8,$45,$02,$FC,$43,$01,$FE .db $02,$07,$03,$03,$22,$01,$83,$01 .db $FC,$01,$82,$02,$43,$80,$00,$01 .db $88,$08,$45,$80,$00,$04,$7F,$7D .db $7F,$7F,$77,$22,$7F,$03,$00,$00 .db $08,$08,$23,$00,$01,$20,$20,$23 .db $00,$09,$04,$04,$FF,$F7,$FF,$FF .db $DF,$FF,$FF,$FB,$23,$1F,$01,$5F .db $5F,$23,$1F,$00,$17,$24,$1F,$02 .db $E0,$E0,$A0,$24,$E0,$4F,$01,$FE .db $27,$00,$47,$FD,$03,$47,$FA,$06 .db $23,$F8,$23,$F1,$01,$F4,$0C,$43 .db $E8,$18,$45,$D0,$30,$86,$02,$7C .db $22,$8F,$07,$0F,$1F,$FF,$C3,$C3 .db $BD,$81,$46,$45,$81,$02,$06,$C3 .db $85,$FF,$C3,$00,$00,$38,$22,$7C .db $00,$38,$22,$00,$05,$18,$38,$18 .db $5C,$08,$4C,$43,$0C,$8E,$23,$00 .db $0B,$FF,$E7,$E3,$F3,$F1,$F1,$FF .db $FF,$A0,$60,$D0,$30,$43,$E8,$18 .db $01,$D0,$30,$45,$A0,$60,$04,$1F .db $0F,$47,$47,$0F,$22,$1F,$45,$CF .db $20,$02,$C0,$2F,$C0,$46,$20,$CF .db $07,$B7,$B7,$B0,$BF,$BF,$B0,$B7 .db $B7,$38,$FF,$46,$00,$FF,$07,$FC .db $03,$F3,$0F,$CE,$3E,$B8,$78,$22 .db $7F,$04,$7C,$70,$40,$01,$07,$47 .db $FF,$00,$87,$06,$08,$22,$FF,$85 .db $00,$2B,$0A,$00,$FE,$01,$E1,$1F .db $9F,$7F,$70,$F0,$C0,$C0,$23,$00 .db $05,$FE,$E0,$80,$00,$0F,$3F,$22 .db $FF,$86,$03,$49,$27,$00,$83,$00 .db $58,$24,$FF,$01,$00,$7E,$86,$03 .db $63,$25,$00,$84,$00,$70,$23,$FF .db $01,$00,$1F,$86,$03,$7B,$25,$00 .db $84,$00,$88,$23,$FF,$44,$00,$FF .db $85,$00,$96,$23,$00,$85,$00,$A0 .db $22,$FF,$48,$00,$FF,$85,$00,$B2 .db $23,$FF,$83,$00,$BC,$4B,$FF,$00 .db $03,$3F,$C0,$C7,$F8,$24,$FF,$0C .db $3F,$07,$00,$80,$C0,$40,$70,$30 .db $3C,$0C,$0F,$03,$03,$25,$00,$04 .db $3F,$8F,$C3,$F0,$FC,$22,$FF,$0B .db $40,$40,$00,$00,$01,$01,$00,$C0 .db $C0,$FF,$3F,$3F,$23,$00,$07,$BF .db $FF,$FE,$3F,$00,$C0,$FF,$FF,$26 .db $00,$02,$C0,$00,$C0,$25,$00,$22 .db $FF,$01,$3F,$3F,$22,$FF,$83,$05 .db $BA,$00,$F4,$44,$0C,$74,$00,$68 .db $84,$04,$8B,$07,$0F,$47,$63,$A3 .db $A3,$87,$8F,$1F,$85,$07,$20,$43 .db $F4,$8C,$01,$E8,$98,$83,$04,$40 .db $87,$07,$30,$83,$00,$48,$03,$E0 .db $FF,$10,$1F,$47,$00,$0F,$03,$1C .db $00,$03,$EF,$23,$FF,$2F,$00,$28 .db $FF,$0C,$00,$FE,$01,$F9,$07,$F6 .db $0E,$E8,$18,$F0,$10,$E0,$20,$86 .db $04,$8E,$08,$CF,$9F,$1F,$C3,$3C .db $E3,$1C,$F7,$08,$49,$FF,$00,$07 .db $3D,$DD,$EB,$F7,$7B,$7D,$1E,$E0 .db $43,$03,$00,$43,$05,$02,$43,$08 .db $07,$43,$11,$0E,$12,$FC,$FD,$FA .db $FA,$F7,$F7,$EE,$EE,$C0,$00,$E0 .db $00,$F0,$00,$F8,$00,$FC,$00,$FE .db $44,$00,$FF,$02,$3F,$DF,$EF,$84 .db $07,$AB,$07,$FF,$FC,$FF,$F3,$FF .db $EF,$FF,$DF,$44,$FF,$BD,$05,$7D .db $FF,$7F,$FC,$F0,$E0,$84,$01,$9B .db $12,$FF,$3F,$3F,$CF,$8F,$F7,$C7 .db $FB,$C3,$BD,$E3,$BD,$E1,$BE,$E1 .db $FE,$3F,$0F,$07,$84,$01,$CD,$07 .db $03,$00,$0F,$03,$1F,$0F,$3F,$1F .db $43,$7F,$3D,$8B,$07,$EC,$0B,$C0 .db $00,$30,$C0,$88,$F0,$C4,$F8,$C2 .db $BC,$E2,$BC,$8B,$08,$04,$05,$3C .db $00,$52,$1C,$99,$1E,$45,$89,$0E .db $06,$08,$8F,$00,$7E,$C3,$A1,$60 .db $23,$70,$02,$81,$1F,$1F,$23,$3F .db $05,$3C,$3F,$03,$FF,$FC,$FC,$23 .db $00,$00,$E0,$22,$C0,$0D,$00,$03 .db $FF,$FF,$01,$FF,$02,$FE,$0C,$FC .db $30,$F0,$C0,$C0,$26,$00,$03,$01 .db $03,$0F,$3F,$22,$FF,$2C,$00,$02 .db $18,$00,$18,$25,$FF,$09,$E7,$E7 .db $03,$FC,$0F,$F3,$1F,$EF,$21,$C1 .db $43,$42,$00,$03,$8A,$08,$C0,$40 .db $22,$00,$0C,$1E,$BD,$BD,$75,$3F .db $00,$0F,$00,$1F,$00,$3F,$00,$7F .db $46,$00,$FF,$28,$FF,$2A,$00,$04 .db $80,$00,$C0,$00,$E0,$27,$FF,$44 .db $00,$F8,$43,$FC,$00,$43,$FE,$00 .db $01,$FF,$00,$28,$FF,$07,$7F,$00 .db $80,$7F,$A3,$7F,$BD,$7D,$47,$A0 .db $60,$03,$80,$00,$00,$02,$23,$1F .db $04,$08,$07,$04,$03,$03,$2A,$00 .db $02,$F7,$FB,$FC,$24,$FF,$43,$23 .db $1C,$43,$47,$38,$43,$8F,$70,$0C .db $FF,$80,$60,$7F,$DD,$DD,$BB,$BB .db $77,$77,$00,$80,$FE,$44,$00,$FC .db $43,$F8,$00,$0D,$F4,$0C,$E1,$1F .db $02,$FE,$FD,$FB,$FB,$F7,$F7,$E3 .db $00,$01,$47,$FF,$7F,$03,$0F,$7F .db $00,$0F,$27,$00,$03,$80,$F0,$FF .db $FF,$47,$F1,$FE,$03,$F0,$FE,$00 .db $F0,$27,$00,$01,$01,$0F,$22,$FF .db $8E,$07,$F9,$27,$00,$02,$E3,$FC .db $EF,$84,$07,$E3,$44,$FF,$BD,$02 .db $7D,$FF,$7F,$28,$00,$4D,$FF,$00 .db $29,$FF,$4E,$00,$FF,$27,$FF,$4F .db $00,$0F,$27,$FF,$28,$00,$45,$FF .db $00,$28,$FF,$85,$08,$DA,$88,$07 .db $CB,$28,$FF,$05,$00,$C0,$00,$F0 .db $00,$FC,$48,$00,$FF,$28,$FF,$28 .db $00,$85,$0A,$39,$28,$FF,$44,$00 .db $80,$43,$C0,$00,$43,$E0,$00,$02 .db $F0,$00,$F0,$27,$FF,$45,$00,$FF .db $43,$C0,$3F,$44,$00,$FF,$28,$FF .db $09,$00,$00,$10,$10,$38,$38,$1C .db $1C,$08,$08,$25,$00,$04,$FF,$EF .db $C7,$E3,$F7,$22,$FF,$2A,$00,$04 .db $C0,$80,$F8,$70,$7F,$24,$FF,$02 .db $3F,$07,$80,$4E,$00,$FF,$28,$FF .db $4B,$00,$FF,$43,$18,$E7,$27,$FF .db $05,$00,$00,$60,$60,$90,$90,$23 .db $00,$0D,$0C,$0C,$12,$12,$00,$00 .db $FF,$9F,$6F,$FF,$FF,$F3,$ED,$FF .db $22,$00,$02,$20,$00,$02,$24,$00 .db $00,$40,$23,$00,$07,$FF,$DF,$FD .db $FF,$FF,$BF,$FF,$FF,$22,$00,$02 .db $02,$00,$20,$24,$00,$10,$10,$00 .db $01,$00,$00,$FF,$FD,$DF,$FF,$FF .db $EF,$FE,$FF,$00,$01,$00,$03,$43 .db $00,$07,$07,$14,$17,$0A,$0F,$00 .db $03,$00,$01,$28,$00,$02,$1F,$00 .db $3F,$48,$00,$7F,$02,$3F,$00,$1F .db $29,$00,$08,$44,$00,$28,$00,$10 .db $00,$28,$00,$44,$24,$00,$05,$FF .db $BB,$D7,$EF,$D7,$BB,$22,$FF,$0E .db $00,$FD,$02,$F3,$0C,$CB,$3C,$27 .db $E8,$D7,$D8,$6F,$30,$AF,$30,$23 .db $00,$09,$10,$20,$C0,$C0,$FF,$00 .db $BD,$42,$FF,$24,$44,$FF,$18,$03 .db $24,$BD,$42,$FF,$2B,$00,$02,$20 .db $00,$02,$24,$00,$04,$40,$00,$33 .db $00,$CC,$85,$0B,$20,$03,$CC,$33 .db $10,$10,$22,$00,$04,$10,$82,$BA .db $00,$10,$83,$0A,$98,$22,$00,$04 .db $10,$10,$7C,$10,$10,$26,$00,$04 .db $10,$10,$38,$00,$10,$2D,$00,$FF .db $0B,$03,$00,$0F,$03,$19,$0F,$37 .db $1F,$7F,$3E,$7E,$3D,$43,$FE,$7D .db $13,$00,$03,$09,$17,$3E,$3C,$7C .db $7C,$C0,$00,$F0,$C0,$F8,$F0,$FC .db $F8,$FE,$7C,$7E,$BC,$43,$7F,$BE .db $1B,$00,$C0,$F0,$F8,$7C,$3C,$3E .db $3E,$0F,$00,$39,$0F,$F7,$3F,$BF .db $47,$87,$78,$C0,$3F,$78,$07,$0F .db $00,$00,$09,$37,$07,$23,$00,$13 .db $F0,$00,$FC,$F0,$FF,$FC,$FD,$E2 .db $E1,$1E,$03,$FC,$1E,$E0,$F0,$00 .db $00,$F0,$FC,$E0,$23,$00,$17,$F0 .db $E0,$E0,$C0,$E4,$44,$40,$80,$C0 .db $80,$40,$00,$80,$00,$A0,$20,$EF .db $DF,$5B,$3F,$3F,$BF,$7F,$5F,$26 .db $FF,$08,$F8,$FC,$F3,$F8,$E7,$F0 .db $EF,$F1,$EF,$23,$00,$0F,$03,$07 .db $0F,$0F,$FF,$E1,$FF,$C0,$E1,$1E .db $C1,$3F,$00,$FF,$0E,$F3,$43,$FF .db $E1,$11,$00,$00,$1E,$3F,$FF,$F3 .db $E1,$E1,$C7,$3F,$E7,$1F,$FF,$C1 .db $FF,$C0,$FF,$FC,$44,$FF,$E0,$03 .db $F8,$3F,$1F,$01,$24,$00,$24,$FF .db $E0,$28,$C7,$FF,$03,$FF,$00,$FB .db $84,$F8,$87,$FF,$00,$FF,$FF,$C7 .db $03,$28,$28,$30,$00,$07,$00,$1C .db $07,$3E,$1D,$70,$3F,$72,$3D,$FB .db $74,$E2,$7D,$E8,$77,$F8,$E0,$C2 .db $80,$80,$09,$22,$00,$06,$0F,$00 .db $1F,$00,$3F,$00,$7F,$47,$00,$FF .db $03,$F0,$E0,$C0,$80,$2E,$00,$04 .db $80,$00,$C0,$00,$E0,$24,$FF,$02 .db $7F,$3F,$1F,$45,$FF,$00,$01,$F3 .db $0C,$48,$FF,$00,$03,$FF,$E1,$ED .db $E1,$23,$FF,$4C,$00,$FF,$02,$CF .db $30,$87,$24,$FF,$01,$87,$B7,$28 .db $00,$00,$C0,$83,$00,$47,$00,$00 .db $24,$FF,$03,$3F,$0F,$03,$00,$44 .db $00,$80,$43,$C0,$00,$43,$E0,$00 .db $10,$F0,$00,$F0,$7F,$7F,$3F,$3F .db $1F,$1F,$0F,$0F,$FF,$7E,$FE,$7D .db $FF,$3E,$89,$00,$36,$03,$7E,$7C .db $3E,$07,$23,$00,$E0,$37,$FE,$1C .db $9E,$04,$7D,$B9,$FD,$C1,$FE,$FC .db $F2,$FC,$ED,$F9,$FD,$F9,$1D,$65 .db $82,$C2,$FD,$FD,$FA,$FA,$FF,$BF .db $DF,$BF,$EF,$71,$F3,$41,$DF,$9B .db $FB,$87,$ED,$7F,$FF,$7F,$3F,$3F .db $71,$4D,$23,$07,$7F,$7F,$FE,$00 .db $9E,$00,$FD,$39,$FD,$01,$43,$FE .db $00,$43,$FF,$00,$85,$01,$A8,$01 .db $FE,$FF,$43,$7F,$80,$07,$FF,$00 .db $F3,$00,$DF,$98,$FF,$80,$43,$FF .db $00,$86,$01,$C0,$0A,$FF,$F3,$EF .db $F3,$CF,$E3,$9F,$C7,$BF,$C7,$39 .db $43,$C9,$30,$E0,$25,$DE,$39,$0F .db $0F,$1F,$3F,$39,$36,$36,$39,$FF .db $E1,$BF,$E1,$FF,$B3,$FC,$9F,$F0 .db $9F,$E6,$D9,$7F,$C0,$FF,$E6,$E1 .db $E1,$B3,$9F,$9F,$D9,$C0,$E6,$E3 .db $FC,$E7,$F8,$43,$FF,$00,$09,$FC .db $33,$FB,$27,$F0,$0F,$F1,$0F,$FC .db $F8,$85,$00,$8A,$E0,$37,$9F,$60 .db $FC,$07,$3E,$DD,$70,$BF,$F2,$3D .db $F3,$7C,$E6,$79,$E8,$77,$08,$00 .db $02,$00,$00,$01,$04,$00,$F9,$66 .db $EF,$70,$EE,$71,$E0,$3F,$7F,$00 .db $0B,$04,$3B,$04,$1F,$00,$10,$00 .db $08,$00,$80,$F7,$C7,$E0,$FF,$00 .db $1C,$E3,$E0,$FF,$10,$1F,$47,$00 .db $0F,$03,$1C,$00,$03,$EF,$23,$FF .db $44,$00,$F8,$43,$FC,$00,$43,$FE .db $00,$E0,$22,$FF,$00,$FF,$07,$07 .db $03,$03,$01,$01,$00,$00,$FF,$FC .db $FC,$F3,$F3,$EF,$E4,$DC,$E8,$D8 .db $D1,$BF,$DE,$B1,$FF,$00,$FC,$F0 .db $E0,$C3,$C7,$80,$80,$0E,$4F,$00 .db $FF,$27,$00,$4F,$FF,$7F,$27,$00 .db $4F,$F1,$FE,$27,$00,$06,$FE,$1C .db $9E,$00,$FD,$B9,$3D,$44,$01,$03 .db $43,$05,$01,$13,$1D,$61,$02,$C2 .db $FC,$FC,$FA,$FA,$FF,$9C,$DC,$A3 .db $EF,$71,$B6,$04,$DC,$98,$F8,$80 .db $43,$80,$00,$03,$1C,$00,$00,$49 .db $83,$01,$C4,$17,$E3,$01,$9B,$01 .db $7D,$39,$3D,$01,$1E,$1C,$E2,$FC .db $1D,$E1,$FD,$01,$1C,$64,$82,$C2 .db $E1,$01,$02,$1A,$43,$C0,$80,$01 .db $8E,$00,$83,$03,$1E,$03,$FB,$87 .db $9C,$63,$84,$01,$EE,$0A,$49,$23 .db $00,$00,$1C,$FF,$C3,$CF,$8D,$95 .db $1E,$43,$B5,$3E,$08,$BD,$3E,$9D .db $1E,$99,$1E,$C3,$B1,$60,$22,$40 .db $1B,$60,$60,$99,$1E,$B9,$3E,$BD .db $02,$C3,$00,$9B,$1A,$87,$1E,$FF .db $3D,$7F,$83,$60,$40,$40,$3C,$64 .db $60,$01,$03,$03,$00,$43,$04,$03 .db $E0,$33,$08,$07,$10,$0F,$28,$16 .db $25,$18,$42,$39,$FC,$F8,$F8,$F0 .db $E0,$C1,$C2,$84,$80,$00,$60,$00 .db $50,$00,$48,$20,$44,$30,$A4,$10 .db $22,$98,$12,$C8,$7F,$9F,$AF,$97 .db $8B,$4B,$45,$25,$13,$C8,$14,$CB .db $0C,$E3,$F8,$07,$10,$EF,$85,$03 .db $9A,$E0,$27,$24,$20,$10,$00,$00 .db $C1,$C2,$84,$82,$79,$64,$93,$54 .db $03,$4F,$20,$44,$33,$A4,$50,$26 .db $98,$12,$C8,$04,$08,$A8,$90,$88 .db $0B,$41,$25,$F8,$FF,$E7,$F8,$D8 .db $E7,$A7,$DF,$43,$5F,$BF,$43,$BF .db $7F,$0C,$00,$00,$07,$1F,$3F,$3F .db $7F,$7F,$00,$FF,$FF,$00,$00,$2A .db $FF,$01,$00,$00,$25,$FF,$4F,$00 .db $0F,$27,$F0,$28,$00,$45,$FF,$00 .db $24,$FF,$24,$00,$84,$01,$13,$01 .db $00,$F0,$84,$02,$8A,$01,$FE,$00 .db $83,$01,$1C,$03,$0F,$07,$03,$01 .db $86,$01,$57,$49,$00,$FF,$02,$3F .db $0F,$03,$24,$00,$14,$E0,$1F,$CE .db $3F,$A9,$5F,$44,$BF,$A4,$5F,$52 .db $AF,$AA,$57,$52,$AF,$00,$00,$06 .db $03,$03,$22,$01,$0F,$DF,$20,$2F .db $D0,$97,$E8,$4B,$F4,$A5,$FA,$D2 .db $FD,$51,$FE,$4A,$FD,$22,$00,$1C .db $80,$C0,$E0,$E0,$F0,$FF,$1F,$1F .db $E3,$E3,$DC,$D5,$AA,$88,$77,$D0 .db $AF,$60,$5F,$41,$3E,$1F,$03,$00 .db $22,$77,$2F,$9F,$BE,$26,$FF,$08 .db $7F,$FF,$3F,$7F,$9F,$9F,$6F,$0F .db $F7,$22,$FF,$04,$7F,$3F,$9F,$0F .db $07,$8C,$03,$78,$02,$BD,$FF,$C3 .db $85,$03,$88,$01,$81,$C3,$8B,$03 .db $78,$03,$FE,$BD,$FE,$C1,$85,$03 .db $88,$19,$80,$C0,$42,$39,$44,$B3 .db $34,$43,$0F,$30,$00,$0F,$00,$C0 .db $00,$06,$00,$00,$84,$08,$88,$C0 .db $F0,$3F,$F9,$FF,$43,$12,$C8,$07 .db $0C,$E3,$F0,$0C,$00,$F0,$00,$06 .db $23,$00,$07,$25,$25,$10,$03,$0F .db $F9,$FF,$FF,$4F,$FC,$03,$27,$FB .db $45,$7F,$00,$02,$00,$7F,$00,$46 .db $00,$7F,$14,$BF,$BF,$80,$FF,$FF .db $80,$BF,$BF,$78,$00,$BC,$40,$96 .db $68,$47,$38,$BB,$44,$FE,$00,$6C .db $22,$00,$07,$87,$73,$7D,$BA,$56 .db $65,$93,$FF,$4E,$FF,$00,$29,$00 .db $4E,$FF,$00,$29,$00,$0A,$18,$00 .db $24,$10,$62,$38,$46,$3C,$7C,$30 .db $30,$22,$00,$06,$FF,$E7,$CB,$85 .db $81,$83,$CF,$4F,$FF,$00,$28,$FF .db $E0,$41,$00,$00,$0C,$00,$32,$0C .db $56,$28,$7E,$00,$5E,$20,$2C,$10 .db $18,$00,$FF,$F3,$CD,$BD,$B5,$A9 .db $DB,$E7,$02,$FF,$74,$FF,$4C,$FF .db $58,$FF,$A2,$7F,$36,$FF,$C8,$FF .db $00,$FF,$01,$03,$32,$3E,$1F,$0E .db $3F,$DE,$49,$FE,$C8,$FF,$E5,$FE .db $E4,$FF,$E5,$FE,$04,$FF,$05,$FE .db $E4,$FF,$F0,$F0,$22,$F8,$E0,$20 .db $78,$78,$F8,$FF,$00,$FE,$00,$E4 .db $00,$F8,$18,$F7,$0F,$FF,$07,$C7 .db $07,$9F,$1F,$FE,$E5,$DB,$C7,$E0 .db $C0,$B8,$60,$DF,$20,$5A,$20,$31 .db $01,$22,$FF,$10,$F0,$F0,$CF,$CF .db $BF,$DF,$BF,$32,$B5,$CE,$00,$00 .db $0F,$3F,$3F,$0F,$F7,$43,$07,$FB .db $45,$03,$FD,$43,$01,$FE,$02,$07 .db $03,$03,$22,$01,$05,$00,$00,$A0 .db $60,$D0,$30,$43,$E8,$18,$02,$D0 .db $3F,$A0,$44,$7F,$80,$07,$1F,$0F .db $47,$47,$0F,$1F,$3F,$3F,$4F,$FF .db $00,$26,$FF,$00,$FE,$4A,$FF,$00 .db $04,$07,$FF,$03,$FF,$7F,$23,$FE .db $03,$F8,$F0,$80,$00,$45,$FC,$03 .db $09,$FF,$00,$FF,$0F,$FF,$9F,$FF .db $EF,$FF,$FF,$22,$FB,$01,$F0,$60 .db $22,$00,$45,$7F,$00,$05,$FF,$00 .db $FF,$3E,$FF,$BF,$23,$FF,$22,$BF .db $00,$01,$23,$00,$48,$FF,$00,$02 .db $F8,$FF,$FE,$26,$FF,$01,$07,$01 .db $22,$00,$E0,$3B,$FB,$84,$FC,$C3 .db $F8,$C7,$F8,$E7,$F8,$F7,$9C,$93 .db $FD,$E2,$F3,$EC,$AC,$DB,$D7,$E7 .db $F7,$F3,$E2,$ED,$F7,$08,$FF,$00 .db $F0,$0F,$E4,$1B,$FE,$01,$CF,$30 .db $DF,$20,$CF,$30,$78,$70,$6F,$5F .db $4F,$30,$BF,$BE,$FF,$00,$FC,$03 .db $70,$8F,$08,$F7,$34,$CB,$C2,$3D .db $43,$FF,$00,$17,$00,$03,$8F,$F7 .db $CB,$BD,$7D,$3A,$FB,$84,$BC,$83 .db $38,$07,$98,$87,$C7,$C0,$E0,$E0 .db $FC,$FC,$9E,$9E,$83,$07,$18,$00 .db $F8,$22,$FF,$8B,$07,$20,$02,$5F .db $20,$4F,$88,$07,$2F,$00,$01,$24 .db $FF,$00,$F0,$84,$06,$C6,$04,$F0 .db $FF,$02,$FD,$E1,$23,$FF,$16,$F0 .db $00,$00,$C9,$FE,$CA,$FD,$11,$FE .db $22,$FD,$C5,$FA,$0B,$F4,$57,$A8 .db $AF,$50,$F0,$F0,$E0,$C0,$23,$00 .db $0B,$9F,$7F,$EB,$13,$F7,$07,$FD .db $1E,$EA,$1D,$E6,$19,$43,$FF,$00 .db $02,$00,$04,$68,$22,$40,$E0,$23 .db $66,$7F,$CF,$BF,$F0,$CF,$BF,$30 .db $67,$77,$CE,$FF,$10,$EF,$39,$C6 .db $EF,$10,$3F,$0F,$40,$88,$00,$00 .db $10,$31,$82,$7D,$44,$3B,$6E,$55 .db $1F,$0E,$1E,$1F,$43,$3E,$0F,$0F .db $1E,$1F,$7D,$BB,$91,$E0,$E0,$C0 .db $C0,$E0,$8F,$77,$47,$BB,$87,$7B .db $45,$03,$FD,$43,$01,$FE,$02,$07 .db $83,$03,$22,$01,$00,$00,$43,$00 .db $FF,$0D,$0F,$FF,$3F,$FE,$7F,$98 .db $7F,$C1,$3E,$FF,$01,$FF,$03,$F0 .db $83,$01,$02,$02,$80,$C0,$F0,$2D .db $FF,$01,$FE,$FF,$28,$00,$45,$FF .db $00,$07,$FC,$00,$F8,$00,$F3,$00 .db $FF,$00,$28,$FF,$46,$00,$FF,$07 .db $7F,$00,$1F,$00,$C3,$00,$FF,$00 .db $28,$FF,$83,$06,$78,$43,$E8,$18 .db $01,$C0,$3F,$45,$80,$7F,$83,$06 .db $88,$23,$00,$43,$E3,$DC,$05,$E1 .db $DE,$E3,$DC,$F3,$8C,$43,$FF,$80 .db $15,$FE,$C1,$DD,$DD,$DE,$DE,$BE .db $BE,$9C,$CD,$EE,$11,$EC,$13,$FC .db $03,$FE,$01,$FF,$00,$FE,$01,$43 .db $FF,$00,$07,$9D,$DB,$E3,$F1,$E0 .db $D1,$B0,$50,$43,$7F,$80,$03,$67 .db $98,$FF,$00,$47,$7F,$80,$1C,$9B .db $A3,$BA,$30,$A0,$C0,$E0,$C0,$6E .db $11,$2C,$13,$9C,$83,$C2,$C1,$E1 .db $E0,$98,$98,$FE,$FE,$F3,$F3,$9D .db $DB,$E3,$FD,$FE,$22,$FF,$43,$7F .db $80,$E0,$23,$6F,$90,$FF,$00,$F0 .db $00,$E0,$00,$0F,$0F,$1E,$1E,$9B .db $A3,$B0,$A0,$AF,$1F,$FF,$FF,$FE .db $01,$F5,$0A,$EA,$15,$55,$AA,$AA .db $55,$04,$FB,$71,$FF,$4E,$FF,$26 .db $00,$15,$31,$50,$FF,$21,$FF,$23 .db $FF,$98,$7F,$44,$BF,$A3,$5F,$D0 .db $2F,$EA,$15,$3F,$1F,$1F,$07,$03 .db $22,$00,$26,$FF,$02,$FE,$FE,$FC .db $83,$03,$A0,$01,$F0,$E0,$22,$FF .db $08,$FE,$FD,$FB,$F7,$EF,$FF,$E3 .db $F7,$EB,$44,$FB,$C5,$0E,$C4,$FD .db $C2,$FA,$C5,$FD,$E2,$E3,$EB,$D5 .db $D5,$D4,$D2,$CD,$EE,$28,$FF,$06 .db $FC,$FC,$3B,$78,$87,$F8,$07,$23 .db $FF,$0B,$FC,$3B,$87,$0F,$FF,$F8 .db $FF,$C7,$C3,$03,$01,$01,$25,$00 .db $05,$80,$80,$F8,$C0,$3C,$FE,$22 .db $FF,$04,$7F,$FF,$0F,$FF,$1F,$43 .db $FF,$3F,$09,$FC,$3F,$E0,$1F,$F8 .db $07,$FF,$00,$E0,$C0,$22,$80,$03 .db $C0,$E0,$F8,$FE,$24,$FF,$09,$E7 .db $FF,$0F,$F7,$1F,$EF,$7F,$9F,$FF .db $1F,$26,$00,$10,$40,$C3,$C3,$81 .db $81,$00,$3C,$00,$7E,$00,$FC,$00 .db $F0,$00,$E3,$00,$DF,$29,$FF,$0D .db $83,$83,$01,$01,$00,$3C,$00,$3F .db $00,$0F,$00,$E7,$00,$FB,$27,$FF .db $29,$00,$02,$0C,$00,$0C,$22,$00 .db $24,$FF,$1A,$F3,$F3,$FF,$9C,$83 .db $1C,$03,$1D,$02,$8A,$85,$EA,$E5 .db $F3,$EC,$31,$2E,$F1,$EE,$EB,$EB .db $E2,$F5,$F5,$EC,$EE,$EE,$47,$FF .db $00,$83,$01,$E2,$15,$5F,$80,$4F .db $80,$50,$58,$68,$68,$A8,$08,$AC .db $B6,$86,$80,$E0,$E0,$F0,$F0,$FF .db $FF,$E3,$E3,$83,$09,$35,$02,$FF .db $FF,$F9,$26,$FF,$13,$15,$12,$76 .db $71,$F3,$F0,$99,$98,$FC,$FC,$FE .db $FE,$7F,$7F,$FC,$FC,$FA,$FB,$FD .db $FE,$23,$FF,$0B,$53,$A3,$D7,$27 .db $E6,$06,$E7,$07,$1F,$1F,$33,$33 .db $23,$FF,$03,$AF,$AF,$DF,$1F,$23 .db $FF,$01,$06,$06,$23,$00,$E0,$29 .db $30,$30,$1D,$1D,$7C,$7C,$CB,$CB .db $3F,$3F,$F9,$FF,$FF,$CF,$E2,$83 .db $34,$C0,$00,$00,$60,$60,$00,$00 .db $B0,$B0,$E6,$E6,$F0,$F0,$FE,$FE .db $C7,$C7,$FF,$9F,$FF,$4F,$19,$0F .db $01,$38,$22,$FF,$E0,$34,$3F,$BF .db $5F,$9C,$6C,$CF,$37,$E7,$1B,$FF .db $00,$F1,$8E,$FF,$3F,$5F,$6F,$37 .db $5B,$60,$AE,$FF,$E0,$FF,$F0,$9F .db $98,$FF,$F8,$FF,$98,$DF,$A8,$CF .db $30,$E7,$18,$EC,$F5,$FB,$FB,$9A .db $AA,$30,$78,$1E,$E1,$87,$78,$C7 .db $38,$E3,$1C,$83,$01,$26,$0B,$EF .db $20,$CF,$00,$E3,$FB,$FB,$1D,$0D .db $01,$11,$30,$83,$04,$B0,$02,$C3 .db $FC,$E0,$44,$FF,$F0,$43,$78,$7F .db $01,$1F,$03,$23,$00,$01,$80,$80 .db $26,$FF,$08,$7F,$7F,$BF,$3F,$DF .db $1F,$EF,$0F,$F7,$22,$FF,$84,$04 .db $60,$43,$FF,$3F,$0A,$FE,$7F,$B8 .db $7F,$81,$7E,$C7,$38,$FF,$00,$FF .db $25,$00,$12,$01,$47,$7F,$FF,$FF .db $BE,$FF,$7E,$BF,$FD,$7E,$B9,$7E .db $82,$7D,$C4,$3B,$FC,$03,$24,$00 .db $02,$01,$83,$C3,$22,$FF,$00,$7F .db $43,$FD,$7E,$06,$B9,$7E,$83,$7C .db $47,$38,$7F,$25,$00,$02,$01,$83 .db $87,$25,$FF,$08,$7D,$FE,$79,$FE .db $83,$7C,$87,$78,$FF,$25,$00,$06 .db $01,$03,$87,$F3,$EC,$F7,$C8,$43 .db $FF,$C0,$01,$BF,$80,$43,$3F,$00 .db $E0,$21,$9F,$80,$EE,$CC,$DD,$D9 .db $DB,$DB,$D3,$E6,$EF,$00,$E7,$00 .db $E3,$00,$F3,$10,$E9,$08,$E6,$05 .db $C6,$05,$8A,$09,$D6,$DA,$5C,$5C .db $5E,$5D,$BD,$7D,$47,$FF,$00,$43 .db $7F,$80,$02,$B8,$40,$F0,$24,$00 .db $13,$80,$80,$47,$4F,$FF,$E0,$9F .db $90,$F7,$F0,$E7,$E0,$C7,$C0,$E7 .db $E0,$33,$30,$F8,$F8,$83,$0A,$D8 .db $03,$FA,$FA,$FC,$FF,$89,$0A,$E0 .db $05,$9F,$00,$01,$00,$78,$78,$84 .db $0A,$F0,$02,$61,$FE,$FF,$FF,$07 .db $03,$00,$02,$01,$FF,$00,$80,$7F .db $43,$83,$7C,$43,$81,$7E,$13,$00 .db $01,$00,$7F,$7C,$7C,$7E,$7E,$C0 .db $00,$C0,$80,$FE,$00,$01,$FC,$C1 .db $3C,$C2,$38,$43,$C1,$3C,$22,$00 .db $14,$FE,$3E,$3C,$3E,$3E,$3B,$00 .db $7F,$13,$E0,$3F,$8C,$7B,$BC,$48 .db $6F,$34,$CF,$60,$BF,$60,$23,$00 .db $13,$03,$01,$14,$13,$B8,$00,$CC .db $B8,$46,$BC,$42,$BC,$86,$38,$C9 .db $16,$F1,$0E,$F9,$06,$23,$00,$03 .db $40,$60,$20,$C8,$25,$00,$03,$1F .db $00,$60,$1F,$45,$80,$7F,$23,$00 .db $00,$1F,$22,$7F,$00,$00,$43,$00 .db $1E,$04,$0C,$FE,$04,$06,$F8,$45 .db $01,$FE,$23,$00,$00,$F8,$22,$FE .db $04,$0F,$00,$07,$00,$03,$2A,$00 .db $01,$07,$03,$2F,$00,$05,$02,$00 .db $05,$00,$0E,$04,$25,$00,$E0,$33 .db $02,$00,$3B,$00,$2A,$00,$2F,$01 .db $21,$01,$2F,$09,$FF,$09,$9F,$08 .db $BE,$20,$00,$11,$10,$1E,$10,$00 .db $60,$41,$DC,$00,$54,$00,$F4,$88 .db $84,$88,$F4,$98,$FF,$90,$F9,$10 .db $7D,$06,$00,$88,$00,$70,$00,$00 .db $06,$80,$07,$00,$4B,$07,$02,$02 .db $76,$01,$00,$25,$02,$01,$01,$F8 .db $46,$00,$08,$00,$F8,$22,$00,$04 .db $B8,$00,$A8,$10,$00,$22,$F0,$22 .db $00,$E0,$30,$10,$0F,$00,$3F,$0F .db $FF,$30,$BF,$60,$BF,$70,$BF,$7F .db $B0,$7F,$70,$1F,$00,$0F,$30,$60 .db $70,$7F,$7F,$1F,$C0,$00,$F0,$C0 .db $FC,$30,$FC,$10,$FC,$20,$FC,$C0 .db $FC,$40,$F8,$40,$00,$C0,$30,$18 .db $38,$F8,$F8,$E0,$87,$00,$00,$43 .db $8F,$70,$01,$80,$7F,$85,$00,$0E .db $02,$70,$70,$7F,$88,$00,$17,$07 .db $E1,$1C,$F2,$08,$71,$8C,$E1,$1C .db $22,$00,$04,$FE,$1E,$0C,$8E,$1E .db $43,$81,$7E,$05,$41,$1E,$80,$00 .db $FF,$00,$43,$02,$01,$09,$03,$00 .db $7E,$7E,$3E,$7F,$00,$01,$01,$00 .db $45,$C1,$3C,$03,$01,$00,$FF,$00 .db $44,$C0,$80,$00,$00,$22,$3E,$00 .db $FE,$23,$00,$13,$7F,$00,$DF,$60 .db $DF,$70,$8F,$60,$84,$7F,$40,$3F .db $63,$1C,$1C,$00,$17,$07,$02,$19 .db $23,$00,$13,$FA,$00,$FE,$00,$F9 .db $06,$F1,$0E,$41,$FE,$02,$FC,$86 .db $78,$78,$00,$EC,$E0,$48,$B0,$23 .db $00,$05,$80,$7F,$92,$6D,$7D,$10 .db $47,$79,$30,$03,$FF,$00,$7F,$6D .db $25,$00,$05,$01,$FE,$49,$B6,$BE .db $08,$47,$DE,$8C,$03,$FF,$00,$FE .db $B6,$25,$00,$43,$3F,$00,$04,$1F .db $00,$0F,$00,$03,$26,$00,$03,$1F .db $1F,$0F,$03,$23,$00,$02,$14,$08 .db $18,$24,$00,$02,$01,$00,$01,$24 .db $00,$0B,$02,$02,$22,$60,$20,$20 .db $00,$00,$A1,$21,$BB,$38,$49,$B7 .db $30,$03,$FF,$00,$5E,$44,$24,$48 .db $04,$00,$85,$86,$FD,$3E,$49,$FD .db $1E,$02,$FF,$00,$78,$26,$00,$0B .db $55,$23,$5F,$23,$43,$3F,$F7,$18 .db $BC,$43,$BF,$77,$43,$FF,$00,$E0 .db $23,$22,$20,$3C,$00,$43,$40,$00 .db $00,$68,$90,$88,$F0,$FC,$E0,$F4 .db $68,$F4,$08,$06,$F8,$FF,$00,$FE .db $00,$80,$60,$00,$08,$00,$F0,$00 .db $00,$58,$27,$5F,$38,$45,$59,$3E .db $07,$79,$1E,$39,$0E,$1F,$00,$27 .db $38,$22,$3F,$01,$1F,$0F,$45,$00 .db $F8,$44,$80,$F8,$07,$FE,$80,$FF .db $80,$FE,$00,$90,$70,$22,$F0,$08 .db $E0,$C0,$00,$87,$78,$8F,$70,$4F .db $00,$83,$01,$86,$43,$02,$01,$04 .db $03,$00,$78,$70,$30,$84,$01,$93 .db $01,$81,$7C,$43,$F1,$0C,$83,$01 .db $9E,$44,$C0,$80,$04,$00,$7E,$0E .db $0E,$FE,$23,$00,$87,$00,$00,$43 .db $8F,$70,$83,$00,$06,$86,$01,$60 .db $00,$7C,$8F,$01,$68,$22,$00,$84 .db $01,$7B,$0B,$03,$00,$04,$00,$7D .db $00,$C5,$00,$BF,$38,$B8,$38,$43 .db $BF,$3F,$13,$00,$03,$02,$3A,$40 .db $47,$40,$40,$C0,$00,$20,$00,$FE .db $40,$E7,$44,$F9,$1E,$19,$1E,$43 .db $F9,$FE,$05,$00,$C0,$00,$18,$00 .db $E0,$87,$02,$FE,$43,$80,$7F,$45 .db $8C,$73,$83,$00,$10,$00,$7F,$22 .db $73,$89,$01,$68,$01,$E2,$18,$43 .db $E1,$1C,$22,$00,$0D,$FE,$1E,$1C .db $1E,$1E,$7F,$00,$50,$08,$57,$0F .db $5F,$00,$70,$84,$03,$93,$12,$50 .db $08,$00,$27,$20,$20,$07,$20,$20 .db $27,$FE,$00,$0A,$00,$FA,$F0,$FA .db $00,$0E,$84,$03,$AB,$09,$0A,$00 .db $00,$F4,$04,$04,$F0,$04,$04,$F4 .db $87,$00,$00,$43,$8F,$70,$03,$8E .db $71,$8F,$70,$85,$01,$60,$01,$71 .db $70,$8B,$03,$78,$83,$01,$6E,$22 .db $00,$0C,$FE,$1E,$1C,$FE,$1E,$FF .db $00,$FF,$40,$A0,$5F,$BF,$40,$43 .db $E0,$5F,$03,$BF,$40,$BF,$1F,$26 .db $00,$00,$40,$87,$03,$F0,$43,$E0 .db $5F,$83,$03,$FC,$26,$00,$10,$40 .db $1B,$00,$3B,$11,$6E,$31,$7F,$00 .db $7F,$20,$7F,$31,$6E,$31,$6C,$3F .db $27,$00,$0F,$D8,$00,$DC,$88,$76 .db $8C,$FE,$00,$FE,$04,$FA,$8C,$72 .db $8C,$32,$FC,$27,$00,$E0,$24,$60 .db $1F,$F0,$2F,$D6,$69,$9D,$66,$BA .db $4D,$EF,$12,$3F,$00,$0F,$00,$00 .db $20,$60,$76,$7F,$3F,$07,$00,$23 .db $DC,$73,$AC,$CF,$70,$3F,$C4,$5F .db $F0,$CF,$30,$FE,$83,$00,$EA,$05 .db $20,$72,$FC,$FA,$F4,$70,$84,$01 .db $55,$85,$02,$D4,$43,$02,$01,$02 .db $03,$00,$7F,$86,$02,$E1,$05,$71 .db $8C,$F1,$0C,$E1,$1C,$83,$01,$9E .db $44,$C0,$80,$04,$00,$8E,$0E,$1E .db $FE,$23,$00,$07,$BF,$3F,$BF,$3C .db $FC,$03,$20,$1C,$43,$21,$00,$1A .db $7F,$00,$3F,$00,$40,$40,$00,$03 .db $1E,$1E,$00,$00,$F9,$FE,$F9,$3E .db $3F,$C0,$04,$38,$84,$18,$86,$18 .db $FF,$00,$FE,$23,$00,$04,$C0,$60 .db $60,$00,$00,$43,$8F,$70,$01,$40 .db $0F,$83,$01,$86,$43,$02,$01,$04 .db $03,$00,$70,$70,$3F,$84,$01,$93 .db $43,$F1,$0C,$85,$04,$9C,$44,$C0 .db $80,$04,$00,$0E,$0E,$1E,$FE,$23 .db $00,$00,$77,$84,$03,$9B,$01,$57 .db $0F,$85,$03,$90,$0A,$7F,$00,$00 .db $20,$27,$20,$00,$27,$20,$00,$FE .db $84,$03,$B3,$01,$FA,$F0,$85,$03 .db $A8,$08,$FE,$00,$00,$04,$F4,$04 .db $00,$F4,$04,$8A,$04,$7F,$43,$02 .db $01,$90,$04,$8E,$02,$10,$FF,$00 .db $44,$C0,$80,$84,$04,$A7,$23,$00 .db $83,$03,$FA,$02,$A0,$00,$FF,$84 .db $05,$71,$02,$E0,$40,$FF,$22,$00 .db $04,$5F,$00,$00,$5F,$1F,$8F,$05 .db $6F,$22,$00,$85,$05,$82,$0F,$70 .db $3F,$66,$1F,$78,$0F,$76,$09,$7E .db $29,$76,$39,$6E,$3F,$71,$3F,$27 .db $00,$0F,$0A,$FC,$16,$F8,$0E,$F0 .db $6E,$90,$6E,$94,$6A,$9C,$62,$FC .db $8A,$FC,$27,$00,$89,$00,$00,$83 .db $02,$D0,$01,$8E,$71,$84,$00,$10 .db $02,$78,$70,$71,$87,$00,$18,$07 .db $81,$7C,$02,$F8,$E1,$1C,$71,$8C .db $22,$00,$0C,$FE,$7E,$FC,$1E,$8E .db $00,$00,$07,$00,$1D,$06,$3B,$1C .db $43,$63,$3C,$0D,$C3,$7C,$C7,$78 .db $00,$00,$06,$1E,$3E,$3E,$7C,$78 .db $00,$00,$83,$01,$38,$01,$B8,$C0 .db $43,$8C,$F0,$10,$86,$78,$C6,$38 .db $00,$00,$C0,$F0,$F8,$F8,$7C,$3C .db $00,$00,$67,$00,$FF,$4A,$60,$DF .db $01,$00,$00,$25,$60,$04,$00,$00 .db $E6,$00,$FF,$4A,$06,$FB,$01,$00 .db $00,$25,$06,$87,$00,$00,$43,$8F .db $70,$43,$80,$7F,$86,$01,$60,$00 .db $7F,$87,$00,$18,$01,$F1,$0C,$85 .db $01,$72,$22,$00,$04,$FE,$0E,$0C .db $8E,$1E,$25,$00,$03,$0F,$0F,$3F .db $3F,$23,$7F,$01,$FF,$FF,$2D,$00 .db $03,$80,$80,$E0,$E0,$23,$F0,$01 .db $F8,$F8,$29,$00,$0C,$01,$00,$03 .db $00,$07,$00,$3F,$00,$7F,$30,$FF .db $00,$FF,$22,$00,$14,$01,$03,$03 .db $07,$05,$7D,$80,$00,$40,$80,$A0 .db $40,$D0,$20,$DF,$20,$FF,$1E,$FF .db $00,$FE,$23,$00,$04,$80,$80,$C0 .db $40,$7C,$87,$00,$00,$03,$88,$77 .db $98,$67,$43,$BF,$40,$83,$00,$10 .db $01,$77,$67,$83,$03,$46,$85,$00 .db $1A,$06,$11,$EC,$1A,$E0,$FD,$00 .db $FD,$23,$00,$04,$FE,$EE,$E4,$02 .db $02,$23,$FF,$03,$3F,$3F,$0F,$0F .db $23,$07,$23,$03,$27,$00,$26,$F8 .db $00,$F9,$43,$F0,$F3,$03,$E0,$E7 .db $80,$87,$27,$00,$43,$8E,$71,$00 .db $47,$84,$02,$D5,$43,$02,$01,$04 .db $03,$00,$71,$71,$38,$84,$01,$93 .db $43,$71,$8C,$85,$04,$9C,$44,$C0 .db $80,$04,$00,$8E,$8E,$1E,$FE,$23 .db $00,$43,$C7,$78,$49,$C3,$7C,$03 .db $FF,$00,$78,$78,$22,$7C,$02,$7E .db $7E,$00,$43,$C6,$38,$46,$86,$78 .db $06,$F8,$86,$F8,$FE,$00,$3C,$3C .db $22,$7C,$02,$FC,$FC,$00,$4D,$DF .db $60,$01,$FF,$00,$26,$60,$00,$00 .db $4D,$FB,$06,$01,$FF,$00,$26,$06 .db $06,$00,$81,$7E,$83,$7C,$47,$08 .db $83,$01,$86,$43,$02,$01,$03,$03 .db $00,$7E,$7C,$85,$07,$62,$05,$C1 .db $3C,$81,$7C,$01,$FC,$83,$01,$9E .db $44,$C0,$80,$04,$00,$3E,$7E,$FE .db $FE,$E4,$F8,$00,$00,$7C,$49,$00 .db $FF,$30,$00,$43,$80,$00,$02,$C0 .db $00,$C0,$27,$00,$0B,$03,$00,$0F .db $03,$19,$0F,$37,$1F,$7F,$3E,$7E .db $3D,$43,$FE,$7D,$07,$00,$03,$09 .db $17,$3E,$3C,$7C,$7C,$83,$01,$38 .db $07,$F8,$F0,$FC,$F8,$FE,$7C,$7E .db $BC,$43,$7F,$BE,$83,$06,$29,$06 .db $7C,$3C,$3E,$3E,$E0,$00,$F0,$44 .db $00,$F8,$02,$F0,$00,$E0,$24,$00 .db $06,$E0,$F0,$F8,$F8,$F0,$E0,$01 .db $83,$00,$90,$00,$01,$31,$00,$01 .db $F8,$FF,$E4,$3F,$00,$03,$80,$C0 .db $C0,$80,$E4,$AC,$00,$43,$FF,$00 .db $00,$7F,$44,$00,$3F,$02,$1F,$00 .db $1C,$2A,$00,$45,$C0,$00,$02,$80 .db $00,$80,$2D,$00,$13,$FF,$7E,$FE .db $7D,$FF,$3E,$BF,$47,$87,$78,$C0 .db $3F,$78,$07,$0F,$00,$7E,$7C,$3E .db $07,$29,$00,$09,$08,$00,$1C,$08 .db $9E,$08,$7A,$10,$FA,$50,$25,$00 .db $01,$84,$04,$2F,$00,$00,$1F,$83 .db $02,$B3,$00,$01,$31,$00,$24,$FF .db $08,$F8,$00,$00,$0F,$00,$39,$0F .db $F7,$3F,$89,$0A,$B6,$03,$00,$09 .db $37,$07,$23,$00,$13,$F0,$00,$FC .db $F0,$FF,$FC,$FD,$E2,$E1,$1E,$03 .db $FC,$1E,$E0,$F0,$00,$00,$F0,$FC .db $E0,$23,$00,$83,$04,$BC,$00,$1F .db $44,$00,$3F,$E0,$2B,$7E,$00,$7A .db $00,$75,$00,$3F,$1F,$0F,$1F,$1E .db $38,$20,$00,$FE,$00,$FC,$00,$F2 .db $0C,$FA,$04,$F9,$06,$FD,$02,$BE .db $00,$5D,$00,$F8,$F0,$E0,$F0,$F0 .db $38,$08,$00,$98,$67,$88,$77,$40 .db $1F,$83,$01,$86,$43,$02,$01,$03 .db $03,$00,$67,$77,$85,$04,$F2,$03 .db $19,$E4,$11,$EC,$85,$07,$FC,$44 .db $C0,$80,$04,$00,$E6,$EE,$FE,$FE .db $23,$00,$02,$01,$00,$03,$44,$00 .db $07,$02,$03,$00,$01,$24,$00,$06 .db $01,$03,$07,$07,$03,$01,$00,$4C .db $00,$FF,$00,$3F,$22,$00,$25,$FF .db $00,$3F,$2E,$00,$00,$3F,$27,$00 .db $11,$3F,$76,$20,$78,$20,$FC,$4A .db $BA,$45,$D7,$82,$52,$81,$A0,$00 .db $60,$00,$80,$22,$00,$03,$20,$2C .db $5F,$03,$FF,$E0,$39,$FE,$7F,$FD .db $BF,$FB,$DF,$F7,$EF,$EF,$F7,$DF .db $FB,$BF,$FD,$7F,$FE,$FE,$FD,$FB .db $F7,$EF,$DF,$BF,$7F,$00,$07,$07 .db $1F,$18,$38,$27,$60,$28,$67,$53 .db $CF,$57,$CE,$57,$CC,$00,$00,$07 .db $1F,$1F,$3F,$3E,$3C,$9C,$80,$63 .db $1C,$9C,$7F,$7F,$E3,$FF,$80,$45 .db $FF,$00,$04,$7F,$FF,$FF,$E3,$80 .db $22,$00,$09,$CD,$C1,$32,$0C,$CD .db $3E,$3E,$F3,$FF,$C1,$45,$FF,$00 .db $04,$3E,$FF,$FF,$F3,$C1,$22,$00 .db $26,$FF,$45,$7F,$FF,$02,$3F,$FF .db $3F,$27,$FF,$0B,$AF,$98,$6F,$18 .db $CF,$30,$1F,$F0,$FF,$E0,$FF,$80 .db $43,$FF,$00,$07,$78,$F8,$F0,$F0 .db $E0,$80,$00,$00,$8B,$00,$78,$43 .db $FF,$00,$85,$00,$88,$22,$00,$84 .db $00,$19,$05,$17,$30,$28,$67,$33 .db $6F,$86,$00,$24,$0D,$0F,$1F,$1F .db $3E,$3C,$F0,$0F,$CF,$3F,$B8,$78 .db $A7,$60,$A8,$8E,$00,$21,$0A,$F8 .db $07,$E7,$1F,$D8,$38,$D7,$30,$A8 .db $67,$B3,$8C,$00,$B3,$26,$00,$08 .db $1C,$1C,$3E,$22,$63,$2A,$63,$52 .db $C3,$24,$00,$06,$1C,$1C,$3C,$AF .db $98,$5F,$30,$45,$BF,$60,$43,$5F .db $30,$03,$AF,$90,$78,$F0,$22,$E0 .db $0C,$F0,$F0,$70,$A7,$9C,$4F,$38 .db $9F,$78,$7F,$F0,$FF,$C0,$45,$FF .db $00,$04,$7C,$F8,$F8,$F0,$C0,$22 .db $00,$85,$00,$D8,$91,$00,$C6,$E0 .db $2F,$00,$39,$39,$7F,$46,$C6,$B9 .db $80,$46,$39,$B9,$7F,$7F,$C6,$FF .db $80,$00,$00,$39,$7F,$FF,$FF,$C6 .db $80,$7F,$C0,$79,$C6,$A6,$7F,$99 .db $79,$56,$30,$29,$66,$AA,$67,$57 .db $CD,$C0,$C0,$E0,$C6,$CF,$9F,$9F .db $3D,$97,$00,$00,$25,$00,$08,$10 .db $10,$17,$17,$DE,$CC,$7C,$28,$38 .db $23,$00,$04,$10,$17,$DE,$7C,$38 .db $4E,$FF,$00,$28,$00,$4E,$FF,$00 .db $28,$00,$4E,$FF,$00,$28,$00,$4E .db $FF,$00,$29,$00,$04,$0F,$0F,$3F .db $38,$78,$91,$00,$1E,$0B,$AF,$9C .db $6F,$1C,$CF,$38,$1F,$F8,$FF,$F0 .db $FF,$C0,$43,$FF,$00,$01,$7C,$FC .db $85,$01,$31,$02,$A0,$9F,$4F,$8C .db $00,$C3,$07,$70,$C0,$87,$9F,$9F .db $3F,$3E,$3C,$45,$FF,$00,$09,$E3 .db $1C,$DD,$3E,$A2,$63,$AA,$63,$52 .db $C3,$24,$00,$0C,$1C,$1C,$3C,$B5 .db $89,$7A,$1C,$9D,$66,$7D,$C6,$FD .db $86,$43,$FA,$0C,$09,$F5,$19,$7E .db $FF,$E7,$C7,$87,$0F,$0F,$1E,$22 .db $00,$0C,$06,$06,$1F,$19,$39,$16 .db $30,$29,$66,$2A,$67,$57,$CD,$22 .db $00,$1E,$06,$0F,$1F,$1F,$3D,$00 .db $0E,$0E,$3F,$31,$71,$4E,$C0,$B1 .db $8E,$4E,$3F,$BF,$71,$7F,$C0,$00 .db $00,$0E,$3F,$7F,$FF,$F1,$C0,$57 .db $CC,$85,$01,$08,$03,$7F,$C0,$FF .db $80,$43,$FF,$00,$06,$3C,$78,$F0 .db $E0,$C0,$80,$00,$4F,$00,$FF,$28 .db $00,$83,$01,$08,$45,$BF,$60,$43 .db $5F,$30,$83,$01,$16,$22,$E0,$0D .db $F0,$F0,$70,$FF,$00,$F9,$06,$E6 .db $1F,$D9,$39,$D6,$30,$A9,$84,$01 .db $73,$22,$00,$84,$02,$9B,$83,$00 .db $C0,$09,$B0,$70,$4F,$C0,$B0,$8F .db $4F,$3F,$BF,$70,$83,$02,$AE,$E0 .db $20,$0F,$3F,$7F,$FF,$F0,$C0,$C3 .db $3C,$BD,$7E,$46,$C7,$B2,$83,$4A .db $33,$AA,$73,$55,$E6,$EA,$B3,$00 .db $00,$38,$7C,$FC,$FC,$F8,$BC,$00 .db $3C,$3C,$88,$03,$33,$00,$54,$8B .db $03,$3D,$E0,$25,$03,$03,$CF,$CC .db $FC,$33,$30,$CC,$03,$33,$CF,$CF .db $FC,$FF,$30,$00,$00,$03,$CF,$FF .db $FF,$FC,$30,$00,$CF,$CF,$FF,$30 .db $30,$CF,$00,$30,$CF,$CF,$FF,$FF .db $30,$FF,$22,$00,$00,$CF,$22,$FF .db $0B,$30,$00,$AF,$9C,$5F,$30,$BF .db $70,$7F,$E0,$FF,$80,$45,$FF,$00 .db $00,$7C,$83,$00,$8A,$22,$00,$03 .db $EF,$78,$FF,$10,$4B,$FF,$00,$01 .db $78,$10,$25,$00,$4E,$FF,$00,$28 .db $00,$43,$FF,$00,$0B,$FC,$03,$E3 .db $1F,$DC,$3C,$A3,$60,$AC,$63,$53 .db $CF,$23,$00,$13,$03,$1F,$1F,$3F .db $FF,$00,$FE,$01,$79,$87,$96,$EE .db $69,$78,$96,$11,$69,$87,$97,$EE .db $22,$00,$07,$01,$87,$EF,$FF,$FE .db $FC,$03,$33,$94,$03,$63,$83,$03 .db $80,$8A,$03,$7C,$22,$00,$00,$CF .db $22,$FF,$0D,$30,$00,$3F,$C0,$C7 .db $F8,$3B,$3C,$C5,$06,$35,$C6,$CA .db $F3,$43,$EA,$33,$06,$00,$00,$C0 .db $F8,$F8,$FC,$3C,$84,$01,$07,$45 .db $BF,$60,$43,$5F,$30,$83,$01,$16 .db $22,$E0,$02,$F0,$F0,$70,$22,$00 .db $E0,$2F,$80,$00,$C0,$00,$E0,$00 .db $F0,$00,$1C,$60,$7F,$70,$79,$00 .db $00,$80,$40,$60,$F0,$9C,$8F,$FA .db $C7,$F0,$89,$E2,$13,$C0,$21,$82 .db $43,$00,$81,$02,$03,$00,$01,$FA .db $F6,$EE,$DE,$BE,$7E,$FE,$FE,$C6 .db $39,$B9,$94,$01,$53,$03,$F5,$19 .db $FA,$0C,$45,$FD,$06,$43,$FA,$0C .db $03,$F5,$09,$1E,$0F,$22,$07,$02 .db $0F,$0F,$0E,$4E,$FF,$00,$2D,$00 .db $0A,$03,$03,$1F,$1C,$3C,$23,$60 .db $2C,$63,$53,$CF,$23,$00,$83,$03 .db $EC,$22,$00,$03,$01,$01,$87,$86 .db $88,$03,$F7,$22,$00,$84,$04,$03 .db $F0,$26,$03,$60,$22,$00,$00,$CF .db $22,$FF,$8B,$03,$8E,$45,$FF,$00 .db $84,$03,$A0,$22,$00,$83,$03,$A8 .db $4B,$FF,$00,$01,$78,$10,$25,$00 .db $4E,$FF,$00,$28,$00,$F0,$26,$04 .db $08,$22,$00,$00,$CF,$22,$FF,$0D .db $30,$00,$00,$C0,$C0,$F8,$38,$3C .db $C4,$06,$34,$C6,$CA,$F3,$43,$EA .db $33,$8B,$04,$48,$05,$BC,$63,$A3 .db $7F,$9C,$7C,$85,$04,$EA,$83,$01 .db $18,$1A,$C3,$9F,$9F,$3F,$36,$B6 .db $03,$43,$00,$20,$08,$18,$04,$0C .db $02,$06,$00,$02,$00,$01,$49,$3C .db $1F,$07,$03,$01,$01,$86,$02,$E7 .db $45,$7F,$C0,$83,$01,$10,$02,$78 .db $F0,$E0,$22,$C0,$00,$E0,$43,$F0 .db $00,$00,$F8,$43,$08,$E8,$47,$0C .db $CC,$03,$7F,$7F,$77,$77,$23,$73 .db $27,$00,$01,$04,$04,$23,$0E,$01 .db $1F,$1F,$23,$FF,$09,$FB,$F1,$F1 .db $E0,$02,$01,$10,$11,$3A,$39,$62 .db $38,$00,$39,$62,$38,$04,$39,$10 .db $11,$FE,$EE,$24,$C6,$02,$EE,$00 .db $02,$44,$00,$07,$43,$0F,$00,$00 .db $04,$83,$05,$F4,$06,$00,$02,$02 .db $07,$04,$03,$01,$2B,$00,$04,$1C .db $1C,$7F,$63,$E3,$26,$00,$00,$1C .db $2A,$00,$04,$0C,$0C,$3E,$32,$F3 .db $26,$00,$06,$0C,$00,$01,$01,$03 .db $02,$06,$45,$05,$0C,$06,$02,$06 .db $01,$03,$00,$00,$01,$22,$03,$07 .db $01,$00,$FE,$01,$FD,$03,$FA,$06 .db $45,$F5,$0C,$02,$FA,$06,$FD,$83 .db $06,$B7,$22,$03,$00,$01,$83,$04 .db $F9,$00,$03,$43,$02,$06,$07,$01 .db $03,$03,$0F,$0F,$3F,$33,$F3,$83 .db $04,$F9,$22,$00,$1B,$0C,$00,$0F .db $0F,$30,$30,$4F,$20,$50,$46,$A6 .db $0E,$EF,$1D,$DF,$0F,$CF,$00,$00 .db $0F,$1F,$39,$71,$62,$70,$00,$FF .db $FF,$83,$01,$C6,$0A,$74,$00,$00 .db $82,$82,$83,$93,$C3,$CF,$00,$00 .db $22,$FF,$02,$7D,$7C,$3C,$84,$07 .db $08,$06,$EE,$00,$8C,$01,$31,$03 .db $03,$23,$DF,$83,$00,$5E,$03,$FE .db $FC,$20,$20,$23,$FF,$23,$9F,$23 .db $FD,$23,$FF,$07,$00,$00,$60,$60 .db $02,$02,$00,$00,$97,$00,$00,$97 .db $00,$00,$83,$01,$08,$45,$BF,$60 .db $43,$5F,$30,$83,$01,$16,$22,$E0 .db $02,$F0,$F0,$70,$47,$0C,$CC,$43 .db $08,$E8,$83,$06,$18,$23,$73,$03 .db $77,$77,$7F,$7F,$29,$1F,$23,$0E .db $01,$04,$04,$24,$E0,$04,$F1,$F1 .db $FB,$02,$01,$62,$00,$02,$01,$00 .db $01,$87,$07,$C8,$27,$FE,$16,$00 .db $0F,$0E,$3D,$3E,$63,$3E,$73,$7C .db $8A,$7C,$CE,$70,$AC,$00,$F0,$00 .db $0E,$3E,$3E,$7C,$7C,$70,$4A,$00 .db $FF,$05,$E3,$1C,$9C,$7F,$63,$E3 .db $26,$00,$00,$1C,$49,$FF,$00,$05 .db $F3,$0C,$CD,$3E,$32,$F3,$26,$00 .db $84,$06,$A7,$45,$02,$06,$43,$01 .db $03,$03,$00,$01,$00,$00,$22,$01 .db $22,$00,$83,$06,$C0,$45,$FA,$06 .db $43,$FD,$03,$03,$FE,$01,$00,$00 .db $22,$01,$22,$00,$83,$06,$C0,$43 .db $FA,$06,$04,$FD,$03,$F3,$0F,$CF .db $86,$06,$E5,$22,$00,$14,$0C,$0E .db $CF,$06,$E7,$0C,$EF,$19,$FF,$0A .db $EF,$09,$EF,$0A,$CF,$1D,$DF,$70 .db $78,$70,$60,$22,$70,$0B,$60,$FD .db $FF,$F9,$FF,$71,$FF,$05,$FF,$FC .db $FF,$CE,$22,$CF,$01,$FF,$FF,$24 .db $00,$0D,$30,$30,$00,$BD,$BF,$F9 .db $FF,$99,$FF,$38,$FF,$32,$FF,$07 .db $24,$FF,$00,$40,$26,$00,$25,$FF .db $23,$E7,$02,$7F,$FF,$7F,$22,$FF .db $22,$00,$03,$18,$18,$80,$80,$F0 .db $30,$07,$4F,$07,$3F,$FF,$0F,$FF .db $22,$BF,$39,$BF,$43,$27,$A7,$43 .db $3F,$BF,$19,$00,$00,$40,$40,$58 .db $58,$40,$40,$00,$F0,$02,$FA,$07 .db $F7,$07,$FF,$07,$F7,$07,$FF,$02 .db $F2,$00,$F8,$7F,$7D,$23,$78,$01 .db $7D,$7F,$2F,$00,$27,$FF,$00,$02 .db $62,$01,$05,$02,$01,$06,$07,$06 .db $05,$85,$09,$4E,$02,$FE,$FC,$FE .db $44,$F8,$FA,$46,$7F,$9F,$00,$8F .db $44,$3F,$4F,$02,$47,$1F,$27,$23 .db $7F,$22,$3F,$0C,$1F,$1F,$21,$0F .db $10,$07,$08,$03,$04,$01,$02,$00 .db $01,$23,$00,$04,$1F,$0F,$07,$03 .db $01,$22,$00,$24,$FF,$0A,$3F,$FF .db $07,$FF,$00,$7F,$80,$0F,$70,$00 .db $0F,$24,$FF,$02,$7F,$0F,$00,$46 .db $7F,$BF,$08,$9F,$7F,$9F,$3F,$CF .db $3F,$C7,$1F,$E3,$24,$7F,$0E,$3F .db $3F,$5F,$1F,$E1,$0F,$F0,$07,$F8 .db $03,$F4,$01,$F2,$00,$F1,$43,$00 .db $F0,$03,$5F,$6F,$77,$7B,$62,$7D .db $00,$7F,$24,$FF,$8A,$09,$95,$24 .db $FF,$1A,$7F,$8F,$F0,$86,$86,$CC .db $48,$6D,$29,$6B,$2A,$BF,$94,$FE .db $58,$7E,$08,$3E,$00,$86,$CC,$6D .db $6B,$BF,$FE,$7E,$3E,$97,$01,$68 .db $8F,$03,$00,$22,$00,$84,$02,$9B .db $43,$FF,$00,$8B,$03,$DC,$23,$00 .db $93,$03,$EC,$22,$00,$84,$04,$03 .db $97,$05,$D0,$43,$3F,$BF,$43,$39 .db $B9,$01,$3F,$BF,$43,$1F,$DF,$19 .db $3F,$BF,$40,$40,$46,$46,$40,$60 .db $60,$40,$00,$B0,$00,$B8,$00,$90 .db $00,$98,$00,$90,$00,$B8,$00,$B0 .db $00,$F8,$27,$7F,$83,$01,$9C,$29 .db $38,$03,$10,$10,$FF,$EF,$24,$C7 .db $00,$EF,$87,$09,$50,$85,$09,$48 .db $01,$00,$01,$43,$FA,$F8,$09,$FE .db $FC,$FE,$FE,$00,$C7,$00,$F7,$00 .db $FF,$43,$41,$BE,$E0,$2F,$44,$BB .db $15,$EA,$55,$AA,$00,$03,$73,$37 .db $3F,$3F,$7F,$3F,$00,$8E,$04,$FE .db $0C,$F6,$5C,$A6,$7C,$A6,$FE,$2F .db $BE,$4F,$BE,$5F,$00,$00,$78,$F8 .db $D8,$D0,$F0,$E0,$11,$EE,$01,$FE .db $64,$9B,$44,$BB,$76,$89,$43,$1F .db $E0,$06,$73,$8C,$3B,$11,$65,$44 .db $76,$22,$7F,$19,$FE,$17,$08,$F7 .db $22,$FF,$72,$FF,$7E,$FD,$7E,$CD .db $FE,$CF,$FE,$FF,$E8,$08,$00,$00 .db $02,$32,$30,$00,$73,$8C,$43,$3F .db $C0,$43,$7F,$80,$05,$7E,$81,$32 .db $CD,$33,$CC,$27,$7F,$E0,$4B,$FE .db $FF,$FE,$3F,$FE,$3B,$FE,$FB,$FE .db $FF,$FE,$4F,$FE,$4D,$FE,$FD,$00 .db $C0,$C4,$04,$00,$B0,$B2,$02,$00 .db $FF,$1D,$E2,$00,$7F,$03,$7C,$00 .db $3F,$07,$F8,$00,$FF,$1B,$E4,$00 .db $22,$3F,$3F,$0F,$1F,$7F,$7F,$00 .db $FF,$39,$C6,$29,$D6,$8F,$70,$06 .db $F9,$3E,$C1,$0F,$F0,$C7,$38,$00 .db $3F,$AF,$CF,$87,$3F,$8F,$E7,$00 .db $FF,$9C,$63,$43,$FF,$00,$43,$7C .db $83,$83,$03,$00,$00,$00,$26,$FF .db $0A,$07,$F8,$1C,$63,$0F,$7C,$1F .db $61,$3F,$C7,$7F,$83,$09,$96,$05 .db $07,$1F,$3F,$33,$3E,$38,$22,$00 .db $1B,$83,$7F,$9F,$7F,$BF,$79,$9F .db $F9,$CF,$3F,$8F,$FF,$BF,$F3,$00 .db $FF,$80,$80,$86,$06,$C0,$00,$0C .db $00,$FF,$99,$FF,$9F,$43,$FF,$F9 .db $22,$FF,$0C,$CF,$FF,$FC,$00,$FF .db $66,$60,$06,$06,$00,$30,$03,$00 .db $FF,$E4,$22,$00,$04,$01,$00,$07 .db $00,$0F,$2C,$00,$0A,$03,$00,$1F .db $00,$7F,$01,$FE,$0E,$F0,$31,$C1 .db $23,$00,$1B,$01,$0F,$3F,$FE,$00 .db $0F,$00,$7F,$00,$FF,$07,$F8,$38 .db $C0,$C7,$07,$38,$3F,$C0,$FF,$00 .db $00,$07,$3F,$FF,$F8,$C0,$00,$45 .db $00,$FF,$00,$FF,$22,$00,$00,$FF .db $45,$FF,$00,$00,$00,$22,$FF,$23 .db $00,$44,$F0,$00,$0B,$E0,$10,$00 .db $1F,$E0,$FF,$27,$F8,$20,$F8,$00 .db $00,$22,$E0,$02,$00,$00,$07,$45 .db $00,$FF,$04,$3F,$C0,$20,$C0,$3F .db $44,$DF,$20,$04,$00,$00,$3F,$1F .db $1F,$23,$00,$44,$FF,$00,$04,$FC .db $03,$00,$03,$FC,$45,$FF,$00,$00 .db $00,$22,$FC,$22,$00,$17,$C8,$3B .db $10,$F7,$20,$EF,$41,$DE,$81,$BE .db $01,$7E,$01,$FE,$03,$FC,$04,$0E .db $1E,$3F,$7F,$FF,$7F,$7F,$4F,$00 .db $FF,$28,$00,$00,$01,$63,$01,$09 .db $02,$05,$03,$6C,$6C,$93,$77,$88 .db $6F,$90,$24,$00,$14,$0C,$07,$0F .db $00,$BC,$B4,$4A,$FA,$05,$BA,$45 .db $FA,$05,$F8,$05,$74,$8D,$0C,$7A .db $00,$04,$24,$02,$10,$84,$00,$67 .db $26,$59,$33,$4C,$4C,$B3,$70,$80 .db $00,$FF,$7B,$FC,$3D,$7E,$22,$00 .db $14,$4C,$7F,$00,$78,$3C,$00,$1C .db $1C,$E2,$B0,$4E,$AE,$53,$06,$E1 .db $62,$F9,$7A,$FD,$7A,$F9,$22,$00 .db $0C,$0C,$1E,$66,$7A,$7E,$01,$06 .db $01,$07,$00,$03,$00,$01,$28,$00 .db $00,$01,$25,$00,$44,$FF,$0F,$12 .db $CF,$7F,$FF,$3F,$FF,$1F,$7F,$0F .db $3C,$07,$1C,$0F,$0F,$CF,$7F,$3F .db $1F,$0C,$04,$28,$00,$02,$01,$00 .db $03,$43,$01,$06,$25,$00,$E0,$25 .db $01,$01,$00,$1F,$03,$3C,$04,$78 .db $13,$E3,$6C,$8F,$D1,$1E,$A3,$3C .db $43,$7C,$03,$07,$1F,$3C,$70,$E0 .db $C0,$80,$CE,$0F,$30,$3F,$C7,$F8 .db $0F,$F0,$CF,$30,$E7,$18,$43,$E0 .db $1F,$01,$F0,$C0,$25,$00,$01,$1E .db $E1,$43,$FF,$00,$05,$FE,$01,$F0 .db $0F,$80,$7F,$43,$00,$FF,$28,$00 .db $4E,$FF,$00,$27,$00,$45,$20,$FF .db $47,$27,$F8,$01,$20,$FF,$27,$00 .db $47,$3F,$C0,$47,$20,$DF,$27,$00 .db $47,$FC,$03,$47,$00,$FF,$27,$00 .db $17,$06,$F9,$78,$07,$F8,$07,$F0 .db $0F,$20,$DF,$30,$CF,$E0,$1F,$00 .db $FF,$7E,$86,$06,$0C,$DC,$F8,$E0 .db $00,$4F,$00,$FF,$27,$00,$1B,$1C .db $E0,$79,$81,$64,$87,$03,$84,$3B .db $7C,$45,$FE,$3E,$7F,$01,$3F,$1F .db $7E,$78,$78,$00,$44,$3E,$01,$76 .db $71,$92,$F1,$46,$7A,$F9,$E0,$3B .db $FB,$74,$F6,$E8,$EC,$8E,$0E,$76 .db $7E,$7E,$7C,$78,$F0,$06,$3F,$3F .db $7F,$00,$FF,$7E,$FF,$00,$FF,$60 .db $FF,$00,$7F,$00,$3F,$06,$3F,$7E .db $7E,$70,$67,$1F,$00,$F0,$F2,$26 .db $F1,$06,$21,$32,$01,$C2,$F9,$00 .db $FA,$02,$F9,$00,$FF,$FC,$2E,$DE .db $FE,$06,$34,$F6,$38,$00,$05,$01 .db $0E,$00,$07,$00,$01,$31,$00,$09 .db $03,$0C,$02,$0C,$06,$19,$04,$1B .db $0C,$33,$43,$08,$37,$0B,$00,$6F .db $03,$03,$06,$04,$0C,$08,$08,$10 .db $01,$FE,$4C,$00,$FF,$00,$FB,$26 .db $00,$0D,$04,$00,$CF,$47,$B8,$68 .db $97,$10,$63,$03,$FC,$61,$FE,$40 .db $83,$02,$AB,$1E,$00,$08,$1C,$00 .db $6C,$5E,$00,$FE,$7F,$FD,$BF,$FB .db $DF,$F7,$EF,$EF,$F7,$DF,$FB,$BF .db $FD,$7F,$FE,$FE,$FD,$FB,$F7,$EF .db $DF,$BF,$7F,$F0,$5F,$03,$48,$22 .db $00,$0C,$33,$13,$2C,$19,$26,$26 .db $59,$78,$80,$78,$83,$01,$FE,$23 .db $00,$02,$26,$7F,$7C,$23,$00,$0C .db $8E,$0E,$F1,$D8,$26,$56,$AB,$26 .db $51,$06,$F1,$B6,$79,$23,$00,$E0 .db $25,$04,$AE,$0E,$36,$0D,$1D,$19 .db $39,$00,$7E,$24,$7E,$5A,$E4,$12 .db $F3,$61,$FF,$7F,$FF,$0E,$1E,$3D .db $25,$5B,$4C,$60,$7C,$00,$9C,$00 .db $BC,$00,$7E,$00,$7F,$40,$2A,$43 .db $40,$20,$05,$20,$10,$00,$18,$BC .db $AA,$22,$C0,$E0,$30,$E0,$04,$1C .db $0C,$1C,$1C,$3C,$00,$7E,$3E,$7F .db $70,$FE,$0D,$F1,$6A,$FB,$07,$0F .db $1F,$3D,$3E,$71,$6E,$64,$00,$90 .db $00,$B8,$00,$FC,$00,$7E,$00,$7C .db $40,$34,$40,$A0,$60,$10,$00,$10 .db $38,$BC,$90,$C0,$40,$E0,$24,$FF .db $47,$FC,$FF,$04,$7C,$FF,$0C,$FF .db $FF,$23,$FC,$07,$7C,$0C,$FE,$F1 .db $FC,$F3,$FC,$03,$43,$F8,$07,$07 .db $F0,$0F,$E0,$1F,$C0,$3F,$F0,$F0 .db $26,$00,$43,$6F,$00,$00,$5F,$44 .db $00,$DF,$44,$BF,$00,$01,$10,$10 .db $22,$20,$22,$40,$E0,$27,$00,$FF .db $04,$FC,$40,$FC,$80,$BF,$00,$7F .db $40,$BF,$31,$CE,$0F,$F0,$00,$03 .db $03,$60,$FF,$7F,$3F,$0F,$00,$BE .db $BE,$41,$00,$FE,$0E,$81,$7A,$F9 .db $00,$FA,$06,$FD,$00,$FF,$22,$00 .db $06,$7E,$66,$04,$F2,$00,$00,$FE .db $46,$6C,$92,$06,$93,$7E,$81,$0C .db $F3,$00,$1E,$28,$00,$0E,$FE,$7C .db $83,$06,$F9,$1C,$23,$06,$39,$06 .db $F9,$7C,$83,$00,$FE,$28,$00,$84 .db $04,$E1,$09,$06,$79,$3C,$C2,$60 .db $9F,$7E,$81,$00,$FF,$28,$00,$04 .db $7C,$38,$44,$18,$64,$47,$18,$24 .db $01,$00,$3C,$27,$00,$97,$03,$48 .db $83,$02,$7C,$83,$02,$A2,$1B,$7F .db $FF,$00,$7F,$4C,$FF,$00,$FF,$3E .db $01,$3F,$7F,$7F,$3E,$4D,$00,$BA .db $79,$40,$F2,$A6,$C9,$0E,$C1,$30 .db $FF,$00,$FE,$43,$00,$FF,$07,$3E .db $4C,$B6,$BE,$00,$4C,$FC,$00,$83 .db $01,$2A,$E0,$67,$34,$78,$00,$7F .db $14,$3B,$00,$1F,$10,$2F,$00,$3F .db $7C,$7B,$37,$30,$13,$07,$0F,$00 .db $20,$9E,$34,$4A,$D0,$EF,$0A,$E5 .db $14,$F2,$1A,$F9,$00,$FF,$00,$E0 .db $60,$B0,$10,$18,$CC,$C6,$C0,$00 .db $70,$FF,$01,$FE,$7D,$FE,$3C,$7F .db $01,$7E,$10,$7F,$44,$BB,$00,$FF .db $70,$7D,$7D,$3C,$3C,$11,$23,$00 .db $20,$D0,$80,$3C,$20,$34,$00,$FE .db $04,$FA,$00,$FC,$00,$FA,$00,$FE .db $20,$C0,$C8,$00,$F0,$F0,$F4,$00 .db $FF,$00,$70,$90,$1E,$E1,$01,$7E .db $00,$1F,$00,$03,$24,$00,$01,$0F .db $01,$25,$00,$13,$FF,$38,$3F,$07 .db $C7,$C0,$38,$38,$C7,$07,$F8,$00 .db $7F,$00,$0F,$00,$C0,$F8,$3F,$07 .db $23,$00,$45,$BF,$00,$43,$DF,$00 .db $00,$5F,$43,$00,$6F,$22,$40,$22 .db $20,$01,$10,$10,$4F,$00,$FF,$28 .db $00,$06,$FF,$00,$FF,$0F,$F0,$3F .db $C0,$45,$7F,$80,$01,$FF,$1F,$26 .db $00,$00,$1F,$43,$00,$FF,$02,$C0 .db $FF,$F0,$44,$FF,$F8,$43,$FC,$FF .db $E0,$2B,$00,$00,$C0,$F0,$F8,$F8 .db $FC,$FC,$00,$E6,$66,$99,$3F,$40 .db $03,$40,$40,$80,$08,$B0,$04,$D7 .db $18,$2F,$00,$66,$3F,$3F,$7F,$4F .db $08,$12,$00,$F7,$63,$9C,$DC,$03 .db $F0,$0C,$E0,$10,$C0,$10,$44,$00 .db $20,$06,$63,$FC,$F0,$E0,$E0,$C0 .db $C0,$2C,$00,$02,$07,$00,$07,$2C .db $00,$0A,$03,$00,$0C,$00,$30,$00 .db $C0,$00,$CF,$00,$FF,$22,$00,$03 .db $03,$0F,$3F,$30,$23,$00,$04,$78 .db $00,$87,$03,$03,$24,$00,$0A,$E0 .db $03,$E0,$00,$00,$78,$FC,$FF,$FF .db $1F,$1F,$22,$00,$0C,$22,$00,$14 .db $00,$D8,$C0,$FE,$70,$78,$30,$38 .db $38,$3C,$24,$00,$02,$80,$C0,$C0 .db $2A,$00,$44,$0F,$00,$2A,$00,$87 .db $06,$AD,$04,$9F,$00,$FF,$00,$BF .db $84,$06,$B9,$02,$60,$00,$40,$85 .db $06,$C2,$24,$00,$03,$80,$0C,$80 .db $3F,$85,$06,$D0,$0C,$7F,$7F,$FF .db $00,$40,$00,$2C,$00,$F0,$C0,$FC .db $70,$7A,$83,$06,$E4,$01,$18,$1C .db $23,$00,$03,$80,$C0,$C0,$E0,$4F .db $00,$FF,$27,$00,$4F,$20,$FF,$28 .db $00,$00,$6F,$43,$08,$37,$01,$0C .db $33,$43,$00,$1F,$43,$03,$0C,$05 .db $10,$08,$08,$0C,$04,$06,$22,$00 .db $00,$FF,$83,$00,$CC,$01,$07,$F8 .db $83,$06,$34,$43,$FF,$0F,$25,$00 .db $01,$0F,$0F,$4B,$FF,$1F,$23,$FF .db $25,$1F,$02,$FF,$FF,$FC,$45,$FF .db $FE,$48,$F1,$FE,$02,$FC,$FE,$FE .db $24,$F0,$12,$00,$2F,$06,$3F,$0E .db $3F,$0F,$1F,$07,$1F,$01,$1F,$00 .db $0F,$00,$07,$16,$0E,$1F,$22,$0F .db $18,$07,$00,$C0,$E0,$80,$E0,$20 .db $F0,$60,$F0,$90,$FC,$00,$FF,$00 .db $DF,$00,$87,$00,$00,$60,$E0,$F0 .db $DC,$87,$83,$00,$8D,$02,$1F,$1E .db $2E,$43,$1F,$3F,$01,$0F,$1E,$43 .db $07,$08,$02,$00,$00,$01,$25,$00 .db $07,$EF,$00,$8F,$00,$07,$01,$01 .db $C1,$44,$01,$FE,$06,$FC,$02,$10 .db $70,$F8,$FE,$3E,$83,$00,$42,$02 .db $C0,$0F,$80,$43,$1F,$00,$09,$0F .db $00,$8F,$80,$C3,$C0,$70,$F0,$3F .db $7F,$22,$FF,$0D,$7F,$3F,$0F,$D8 .db $1C,$DC,$1E,$FC,$1E,$EC,$0E,$CC .db $0E,$CE,$44,$0F,$0E,$22,$E0,$24 .db $F0,$12,$00,$7E,$78,$B8,$7C,$FC .db $7F,$FC,$3F,$78,$1F,$20,$0F,$10 .db $07,$08,$01,$07,$03,$25,$00,$17 .db $3E,$00,$1C,$04,$04,$84,$04,$FA .db $06,$FB,$07,$F1,$0B,$E8,$10,$C1 .db $E3,$FB,$7B,$01,$00,$04,$07,$3F .db $44,$00,$7F,$43,$3F,$00,$01,$0C .db $00,$83,$06,$8E,$25,$FF,$09,$3F .db $FF,$1C,$1E,$9C,$1E,$8C,$0E,$0C .db $0E,$45,$0E,$0F,$03,$2E,$3F,$E0 .db $E0,$24,$F0,$00,$C0,$4F,$00,$FF .db $27,$00,$4F,$20,$FF,$32,$00,$43 .db $01,$00,$00,$03,$28,$00,$E0,$22 .db $07,$07,$08,$00,$18,$08,$30,$31 .db $41,$27,$C7,$CF,$0F,$8E,$0F,$00 .db $01,$07,$0F,$1E,$38,$F0,$F0,$3F .db $3F,$FF,$7F,$E4,$FF,$C0,$FF,$80 .db $FF,$87,$FF,$83,$07,$AF,$01,$C0 .db $80,$83,$00,$43,$02,$3F,$7F,$1C .db $44,$FE,$18,$02,$38,$FE,$F0,$43 .db $FE,$C0,$06,$F8,$C0,$F0,$3C,$3C .db $7C,$F8,$83,$06,$8A,$2C,$00,$02 .db $01,$00,$01,$28,$00,$1E,$0C,$00 .db $12,$10,$21,$1A,$23,$38,$41,$64 .db $86,$F8,$1F,$98,$1F,$00,$0C,$1E .db $1C,$3E,$78,$60,$E2,$03,$04,$01 .db $02,$02,$05,$03,$04,$43,$07,$08 .db $43,$0F,$10,$27,$00,$0B,$F8,$04 .db $E4,$18,$1E,$E0,$FF,$00,$7F,$80 .db $8F,$70,$43,$FF,$00,$02,$03,$03 .db $01,$27,$00,$43,$20,$00,$44,$22 .db $80,$43,$CD,$1F,$09,$FF,$DF,$DF .db $DD,$5D,$5D,$20,$20,$0C,$0F,$44 .db $04,$07,$44,$27,$04,$06,$D8,$FF .db $98,$FF,$F0,$F8,$F8,$22,$D8,$05 .db $00,$00,$03,$04,$00,$03,$62,$03 .db $04,$0A,$0E,$11,$0F,$10,$43,$1F .db $20,$27,$00,$03,$98,$61,$7C,$81 .db $43,$FE,$01,$02,$3E,$C1,$FE,$44 .db $00,$FF,$01,$06,$02,$22,$00,$00 .db $01,$26,$00,$44,$11,$00,$07,$6E .db $FF,$6C,$FF,$28,$7F,$FF,$FF,$22 .db $EE,$02,$00,$00,$80,$47,$2E,$3F .db $01,$2C,$3F,$43,$CC,$FF,$01,$98 .db $FE,$24,$C0,$22,$00,$4F,$20,$DF .db $28,$00,$4E,$FF,$00,$28,$00,$13 .db $0C,$08,$10,$01,$11,$03,$63,$0F .db $8F,$7A,$FF,$38,$7F,$00,$3B,$03 .db $0F,$0E,$1C,$70,$22,$00,$08,$38 .db $3F,$70,$7F,$C0,$FF,$C7,$FF,$9F .db $45,$FF,$00,$0B,$F9,$C0,$83,$07 .db $0F,$1F,$3F,$70,$00,$3F,$FF,$79 .db $44,$FF,$F0,$07,$C0,$FC,$80,$FC .db $00,$F8,$00,$E0,$22,$FF,$05,$F8 .db $F8,$F0,$C0,$00,$80,$43,$F0,$00 .db $02,$E0,$00,$C0,$27,$00,$02,$E0 .db $C0,$80,$24,$00,$E0,$28,$01,$02 .db $00,$0A,$08,$14,$08,$10,$08,$50 .db $50,$A0,$41,$81,$07,$87,$01,$01 .db $03,$0F,$0F,$1F,$7E,$78,$30,$3F .db $70,$7F,$72,$7F,$62,$7F,$C6,$FF .db $CE,$FF,$0E,$FF,$0C,$FF,$C2,$22 .db $86,$03,$0E,$1E,$3E,$3C,$83,$08 .db $7C,$09,$07,$F8,$73,$FC,$79,$FE .db $0E,$7F,$00,$0F,$29,$00,$47,$FF .db $00,$07,$FE,$01,$3D,$C3,$C1,$FF .db $00,$FF,$27,$00,$08,$C5,$0F,$E0 .db $07,$E0,$18,$98,$78,$7E,$22,$FE .db $83,$00,$6A,$19,$30,$18,$07,$07 .db $01,$01,$00,$00,$10,$FE,$04,$FE .db $00,$06,$04,$06,$0C,$0E,$3C,$3E .db $F0,$FC,$00,$F0,$00,$00,$84,$0A .db $C3,$02,$00,$1F,$20,$43,$0F,$10 .db $09,$07,$08,$01,$06,$00,$03,$01 .db $03,$00,$03,$27,$00,$43,$FF,$00 .db $04,$F8,$06,$E7,$1F,$DF,$83,$09 .db $30,$43,$FF,$00,$01,$00,$01,$25 .db $00,$00,$3D,$25,$00,$23,$C0,$83 .db $00,$6A,$00,$C2,$22,$FF,$0D,$3F .db $3F,$00,$00,$38,$FE,$30,$7E,$30 .db $7C,$00,$3C,$20,$38,$43,$E0,$F0 .db $06,$00,$F0,$00,$80,$80,$C0,$C0 .db $22,$00,$4F,$20,$DF,$28,$00,$4E .db $FF,$00,$27,$00,$FF,$01,$00,$FF .db $44,$FF,$00,$08,$70,$8F,$FC,$93 .db $FF,$9C,$FF,$9F,$FF,$22,$00,$06 .db $40,$C0,$D0,$DC,$DF,$00,$FF,$4A .db $FF,$00,$02,$C0,$3F,$F0,$2C,$00 .db $04,$07,$03,$04,$02,$05,$43,$01 .db $02,$01,$00,$01,$24,$00,$01,$01 .db $01,$27,$00,$08,$80,$80,$40,$C0 .db $20,$C0,$11,$E0,$0E,$23,$00,$07 .db $80,$C0,$E0,$F1,$00,$01,$01,$02 .db $43,$01,$03,$07,$00,$71,$61,$93 .db $21,$53,$C0,$21,$24,$00,$02,$01 .db $81,$C0,$22,$00,$83,$00,$4F,$08 .db $37,$B3,$FC,$7C,$FF,$C3,$FF,$BD .db $C3,$23,$00,$08,$33,$7C,$C3,$81 .db $00,$FF,$38,$FF,$0F,$4B,$FF,$00 .db $02,$38,$3F,$0F,$24,$00,$0A,$FF .db $44,$BB,$28,$D7,$10,$EF,$28,$D7 .db $44,$BB,$43,$00,$FF,$28,$00,$01 .db $0F,$07,$4C,$08,$06,$01,$00,$00 .BANK 11 Graphics4: .db $25,$07,$09,$03,$FC,$F8,$07,$7B .db $7D,$7D,$7B,$7E,$79,$45,$7F,$78 .db $03,$03,$00,$81,$81,$23,$80,$0B .db $6E,$91,$00,$FE,$6C,$B6,$24,$FE .db $00,$B6,$2D,$00,$43,$FF,$C0,$07 .db $6E,$01,$25,$25,$49,$D2,$00,$00 .db $83,$00,$D8,$05,$FB,$FD,$FD,$FF .db $FE,$FF,$25,$FE,$00,$03,$83,$00 .db $44,$22,$01,$0B,$6C,$93,$00,$FE .db $6D,$B6,$2A,$FC,$16,$A8,$54,$40 .db $23,$C0,$0B,$6C,$01,$25,$2B,$57 .db $BF,$3F,$3F,$00,$FF,$FF,$60,$2B .db $98,$01,$00,$00,$25,$67,$83,$00 .db $00,$06,$57,$00,$AB,$00,$57,$00 .db $AB,$83,$01,$53,$22,$00,$25,$FF .db $01,$00,$F0,$4D,$E0,$10,$01,$00 .db $00,$25,$E0,$43,$CF,$7F,$E0,$39 .db $E7,$3F,$F3,$1F,$F8,$0F,$FC,$07 .db $FF,$03,$FF,$00,$6F,$6F,$37,$1B .db $0C,$07,$03,$00,$CF,$FC,$F3,$FF .db $FD,$FE,$FB,$FE,$E3,$FE,$07,$FC .db $1F,$F8,$FF,$E0,$C0,$F0,$FC,$FA .db $E6,$1C,$F8,$E0,$00,$01,$00,$7F .db $30,$48,$17,$28,$07,$18,$00,$06 .db $00,$01,$23,$00,$22,$07,$14,$01 .db $00,$00,$F1,$30,$FF,$36,$7E,$1F .db $FC,$7D,$FC,$71,$7C,$00,$3E,$80 .db $3E,$40,$FF,$FF,$22,$FE,$E0,$2A .db $FF,$7F,$3F,$81,$42,$01,$82,$02 .db $05,$00,$07,$03,$07,$07,$8E,$07 .db $9F,$0E,$4F,$81,$01,$02,$00,$03 .db $06,$07,$8E,$7E,$81,$77,$88,$FC .db $03,$FB,$07,$77,$8E,$B7,$CF,$C9 .db $FF,$ED,$FF,$22,$00,$14,$03,$06 .db $87,$C9,$ED,$62,$9D,$E2,$1D,$23 .db $DC,$DE,$E1,$ED,$73,$E3,$FF,$97 .db $FF,$B7,$FF,$22,$00,$04,$C0,$61 .db $E3,$97,$B7,$8B,$00,$A8,$43,$00 .db $FF,$28,$00,$02,$FF,$FF,$00,$4B .db $7F,$78,$01,$00,$00,$25,$80,$83 .db $00,$00,$4B,$FF,$C0,$28,$00,$02 .db $FF,$FF,$01,$2B,$FE,$01,$00,$00 .db $25,$01,$03,$00,$FF,$FF,$3F,$2B .db $C0,$01,$00,$00,$25,$3F,$00,$00 .db $44,$00,$40,$43,$C0,$00,$05,$C4 .db $00,$09,$C0,$0B,$D0,$25,$00,$01 .db $C0,$D0,$37,$00,$45,$01,$04,$09 .db $00,$05,$01,$07,$07,$0E,$06,$09 .db $00,$0F,$22,$03,$06,$02,$00,$01 .db $06,$00,$80,$70,$43,$60,$90,$0C .db $C0,$20,$80,$60,$40,$A0,$80,$40 .db $00,$80,$80,$20,$20,$43,$40,$80 .db $02,$00,$03,$07,$43,$01,$03,$01 .db $00,$01,$27,$00,$02,$03,$01,$01 .db $24,$00,$17,$7F,$FF,$BF,$FF,$DF .db $FF,$EF,$FF,$77,$FF,$39,$7F,$1E .db $3F,$0F,$1F,$7F,$BF,$DF,$EF,$77 .db $39,$1E,$0F,$2B,$FF,$02,$7F,$FF .db $87,$26,$FF,$01,$7F,$87,$3D,$FF .db $08,$FE,$FF,$FD,$FF,$FA,$FF,$D4 .db $FF,$82,$26,$FF,$E0,$20,$FC,$C3 .db $D4,$FF,$A8,$FF,$D1,$FF,$A2,$FF .db $44,$FF,$88,$FF,$40,$FF,$A0,$FF .db $FE,$FD,$FB,$F7,$EF,$9F,$7F,$FF .db $40,$FF,$80,$FF,$00,$FF,$01,$43 .db $FF,$00,$0E,$FE,$00,$FC,$00,$F8 .db $FF,$FE,$FE,$FC,$FC,$F8,$F8,$F0 .db $40,$E0,$43,$80,$C0,$01,$00,$80 .db $32,$00,$02,$03,$02,$06,$43,$07 .db $08,$03,$03,$04,$00,$03,$23,$00 .db $0B,$01,$07,$07,$03,$00,$00,$01 .db $E4,$A1,$BC,$E9,$06,$43,$FE,$01 .db $1F,$F9,$06,$E0,$1A,$00,$E1,$03 .db $43,$F9,$FE,$FE,$F9,$E1,$00,$C0 .db $27,$C6,$3E,$D5,$20,$CA,$20,$D5 .db $20,$CA,$20,$85,$58,$00,$87,$C0 .db $C1,$23,$DF,$00,$87,$23,$00,$0A .db $C0,$40,$20,$A0,$10,$40,$10,$80 .db $20,$00,$C0,$23,$00,$1D,$C0,$E0 .db $E0,$C0,$00,$00,$07,$F8,$C6,$F8 .db $02,$3C,$40,$9E,$B0,$4F,$D8,$27 .db $EE,$91,$6E,$51,$30,$08,$DC,$6E .db $35,$18,$0E,$8E,$25,$00,$09,$C0 .db $00,$8C,$00,$38,$00,$70,$80,$60 .db $80,$25,$00,$83,$02,$56,$02,$7F .db $FF,$40,$44,$C0,$5F,$02,$40,$C0 .db $7F,$43,$FF,$00,$00,$00,$23,$3F .db $22,$00,$03,$FF,$FE,$FF,$02,$44 .db $03,$FA,$02,$02,$03,$FE,$43,$FF .db $00,$00,$00,$23,$FC,$0B,$00,$00 .db $9F,$60,$0F,$F0,$98,$67,$F0,$0F .db $F8,$07,$45,$FF,$00,$02,$60,$F0 .db $60,$24,$00,$05,$05,$0F,$00,$07 .db $00,$01,$29,$00,$01,$07,$01,$25 .db $00,$0B,$78,$FF,$AA,$FF,$55,$FF .db $2A,$FF,$01,$3F,$00,$0F,$83,$00 .db $3E,$05,$F8,$FF,$FF,$3F,$0F,$01 .db $22,$00,$84,$04,$B1,$02,$AA,$FF .db $55,$45,$FF,$00,$01,$1F,$00,$24 .db $FF,$08,$1F,$00,$15,$FF,$AA,$FF .db $50,$FF,$80,$47,$FF,$00,$01,$F8 .db $3F,$24,$FF,$01,$F8,$00,$48,$00 .db $FF,$02,$FC,$00,$F0,$83,$03,$AE .db $22,$FF,$02,$FC,$F0,$80,$22,$00 .db $04,$F0,$00,$E0,$00,$80,$29,$00 .db $01,$E0,$80,$28,$00,$0A,$03,$01 .db $05,$06,$09,$05,$0A,$02,$05,$00 .db $03,$23,$00,$03,$02,$06,$05,$02 .db $22,$00,$06,$FF,$EF,$20,$55,$AA .db $AA,$55,$85,$05,$44,$83,$04,$D4 .db $44,$55,$AA,$0F,$00,$03,$04,$03 .db $E4,$E3,$1E,$B9,$44,$59,$A4,$A1 .db $5C,$00,$E2,$00,$22,$01,$15,$E1 .db $BB,$5B,$A3,$01,$00,$C0,$20,$C0 .db $27,$C7,$3C,$CA,$2A,$C0,$20,$C0 .db $38,$80,$47,$00,$80,$22,$C0,$02 .db $D5,$DF,$C7,$83,$05,$05,$01,$FA .db $0A,$83,$05,$47,$01,$01,$01,$24 .db $00,$08,$FF,$00,$05,$AA,$55,$FE .db $FF,$FF,$00,$43,$36,$A9,$43,$1B .db $D4,$03,$9B,$54,$1B,$D4,$43,$9B .db $54,$02,$46,$46,$23,$43,$23,$A3 .db $0B,$A3,$00,$C0,$1C,$C0,$30,$C0 .db $00,$C0,$1E,$E0,$18,$43,$E0,$00 .db $04,$C0,$C0,$40,$00,$00,$22,$60 .db $85,$04,$67,$44,$03,$FA,$02,$02 .db $03,$FE,$43,$FF,$00,$00,$00,$23 .db $FC,$22,$00,$83,$04,$51,$44,$C0 .db $5F,$02,$40,$C0,$7F,$43,$FF,$00 .db $00,$00,$23,$3F,$22,$00,$02,$0F .db $07,$08,$43,$0F,$10,$45,$1F,$20 .db $01,$3F,$40,$28,$00,$00,$FF,$43 .db $FF,$00,$01,$FE,$01,$43,$FC,$03 .db $43,$F8,$07,$27,$00,$03,$3E,$00 .db $1F,$00,$43,$0F,$20,$0F,$07,$30 .db $07,$10,$03,$08,$03,$0C,$3F,$3F .db $1F,$1F,$0F,$0F,$07,$03,$43,$0C .db $3F,$13,$04,$1F,$80,$0F,$C0,$0F .db $E1,$07,$F1,$03,$F8,$03,$CD,$CD .db $ED,$F6,$F4,$F8,$FC,$FC,$23,$FF .db $05,$7E,$FF,$1C,$FF,$00,$FF,$45 .db $80,$7F,$22,$FF,$02,$FE,$7E,$1C .db $22,$00,$00,$FF,$4C,$FF,$00,$29 .db $00,$0E,$FF,$FF,$15,$FF,$0B,$FF .db $15,$FF,$0A,$FF,$15,$FF,$0A,$FF .db $05,$28,$00,$02,$F0,$E0,$F0,$43 .db $F0,$F8,$45,$F8,$FC,$01,$FC,$7E .db $28,$00,$00,$01,$43,$01,$02,$47 .db $03,$04,$01,$00,$0F,$26,$00,$00 .db $01,$22,$00,$0C,$81,$00,$8B,$0B .db $9F,$1F,$7F,$1C,$7F,$03,$FC,$7C .db $83,$22,$00,$1C,$0B,$9F,$DC,$83 .db $7C,$00,$98,$88,$D4,$8C,$F3,$ED .db $F7,$EE,$F7,$1C,$E5,$DC,$25,$49 .db $BB,$00,$80,$80,$E1,$E0,$02,$E2 .db $75,$24,$00,$0A,$20,$20,$F0,$C0 .db $E8,$88,$FC,$F0,$F8,$E0,$F0,$22 .db $00,$E0,$4C,$20,$C0,$88,$F0,$E0 .db $08,$1F,$1D,$3E,$35,$7E,$0E,$37 .db $0A,$17,$0D,$13,$00,$1F,$0F,$3F .db $08,$1D,$3D,$1E,$0E,$0B,$00,$0F .db $BD,$03,$7B,$07,$F7,$0F,$E6,$1F .db $11,$FE,$36,$F9,$08,$F3,$19,$E3 .db $FD,$FB,$F7,$E7,$1E,$38,$34,$05 .db $81,$FF,$EE,$F1,$DE,$E1,$0F,$F0 .db $37,$F8,$7B,$CC,$FD,$F6,$DD,$FE .db $9D,$EE,$DE,$8F,$37,$4B,$F5,$FD .db $8B,$00,$A8,$43,$00,$FF,$27,$00 .db $45,$3F,$40,$49,$7F,$80,$27,$00 .db $05,$98,$67,$08,$F7,$98,$67,$43 .db $F8,$07,$43,$FC,$03,$04,$FE,$01 .db $60,$F0,$60,$24,$00,$44,$01,$04 .db $04,$06,$04,$0B,$05,$0A,$45,$06 .db $0B,$04,$03,$03,$01,$00,$01,$22 .db $00,$03,$FC,$03,$FA,$05,$83,$06 .db $22,$0F,$55,$AA,$A0,$5F,$54,$AB .db $00,$FF,$FC,$FA,$FC,$F8,$55,$A0 .db $54,$00,$43,$00,$FF,$01,$10,$EF .db $84,$00,$90,$44,$FF,$00,$23,$00 .db $84,$00,$A1,$16,$FF,$D7,$3D,$D7 .db $2B,$39,$D7,$FF,$0A,$39,$D7,$D7 .db $2A,$D7,$2D,$00,$28,$28,$C6,$00 .db $C6,$28,$28,$83,$06,$9C,$83,$06 .db $9C,$86,$08,$10,$00,$15,$27,$00 .db $45,$FC,$FE,$01,$FE,$7F,$46,$FE .db $FF,$00,$7F,$27,$00,$0B,$0C,$1F .db $1D,$3E,$36,$7F,$0B,$37,$0D,$13 .db $0F,$10,$83,$07,$2C,$1F,$0C,$1D .db $3E,$1F,$0B,$08,$00,$0F,$BB,$07 .db $77,$0F,$C8,$3F,$36,$F9,$37,$F8 .db $0E,$F1,$34,$C3,$19,$E7,$FB,$F7 .db $CF,$38,$38,$30,$0C,$09,$83,$07 .db $50,$00,$5E,$8D,$07,$55,$00,$0F .db $83,$07,$64,$17,$E0,$F4,$F4,$FE .db $F8,$FC,$78,$FC,$38,$FC,$7C,$FF .db $1C,$FF,$6E,$9F,$E0,$F4,$F8,$78 .db $38,$7D,$1D,$0E,$8B,$00,$A8,$43 .db $00,$FF,$27,$00,$89,$07,$38,$05 .db $30,$FB,$0B,$F7,$17,$EF,$84,$07 .db $48,$02,$3C,$33,$07,$83,$07,$50 .db $01,$CE,$F1,$83,$07,$58,$0D,$F9 .db $E6,$DD,$F6,$8C,$FF,$9D,$EE,$CE .db $B7,$4B,$E5,$D5,$EE,$8B,$00,$A8 .db $43,$00,$FF,$27,$00,$05,$78,$87 .db $77,$8F,$6F,$9F,$43,$5F,$BF,$00 .db $13,$44,$7F,$37,$0D,$00,$07,$0F .db $1F,$1F,$13,$37,$37,$7F,$80,$9F .db $E0,$EF,$F0,$43,$F7,$F8,$45,$FB .db $FC,$04,$00,$80,$E0,$F0,$F0,$22 .db $F8,$4E,$FF,$00,$28,$00,$83,$06 .db $1C,$0B,$FD,$02,$FB,$06,$F9,$05 .db $FC,$02,$FE,$03,$FF,$01,$23,$00 .db $E0,$21,$02,$01,$00,$00,$7C,$83 .db $B3,$CF,$8F,$3F,$CF,$5F,$AF,$9F .db $4F,$3F,$1F,$FF,$BF,$FF,$00,$03 .db $4F,$2F,$6F,$DF,$3F,$3F,$FC,$03 .db $F3,$0F,$EF,$1F,$43,$DF,$3F,$45 .db $BF,$7F,$04,$00,$03,$0F,$1F,$1F .db $22,$3F,$17,$0F,$FA,$E3,$FD,$D5 .db $FF,$EA,$FF,$D4,$FF,$88,$FF,$C4 .db $FF,$AA,$FF,$00,$F0,$FC,$FE,$FF .db $CF,$EF,$EF,$47,$FE,$FF,$02,$7E .db $FF,$7C,$44,$FE,$3C,$25,$00,$08 .db $80,$80,$1F,$77,$3F,$6F,$27,$FF .db $77,$44,$FF,$7F,$07,$38,$FF,$00 .db $7F,$17,$2F,$27,$77,$22,$7F,$1C .db $39,$C3,$FF,$FE,$FF,$3C,$FF,$7C .db $FF,$F1,$FE,$E0,$FF,$C6,$F9,$0E .db $F1,$C3,$FF,$3E,$7E,$FC,$F8,$F1 .db $E1,$0C,$FF,$4C,$BF,$45,$08,$FF .db $E0,$2A,$10,$FF,$70,$FF,$60,$FF .db $9E,$1E,$1E,$6E,$EE,$9C,$7C,$70 .db $F2,$3F,$F0,$3F,$FC,$E3,$7F,$7C .db $03,$82,$01,$F9,$00,$FE,$00,$FF .db $02,$00,$00,$80,$7C,$06,$01,$00 .db $1F,$77,$27,$7F,$37,$44,$FF,$7F .db $08,$3F,$FF,$00,$FF,$30,$4F,$17 .db $27,$37,$23,$7F,$0C,$09,$CE,$FF .db $3C,$FF,$79,$FE,$F1,$FF,$E1,$FF .db $87,$F9,$43,$0F,$F1,$0B,$CF,$3E .db $7C,$FD,$F9,$F1,$F1,$E1,$1C,$FF .db $7C,$BF,$43,$E8,$FF,$43,$E0,$FF .db $05,$C0,$FF,$80,$FF,$9E,$3E,$22 .db $FE,$02,$FC,$F0,$E0,$8B,$00,$A8 .db $43,$00,$FF,$27,$00,$01,$37,$7F .db $45,$1B,$3F,$43,$0D,$1F,$43,$06 .db $0F,$00,$37,$22,$1B,$03,$0D,$0D .db $06,$06,$43,$FD,$FE,$00,$FE,$2A .db $FF,$02,$FC,$FC,$FE,$25,$FF,$44 .db $00,$FF,$83,$09,$18,$02,$E3,$FC .db $FC,$22,$FF,$23,$00,$03,$80,$E0 .db $FC,$FF,$4B,$FF,$00,$00,$00,$22 .db $FF,$26,$00,$00,$FF,$43,$FF,$00 .db $08,$FE,$01,$FD,$03,$F3,$0F,$8F .db $7F,$7F,$22,$FF,$22,$00,$02,$01 .db $03,$0F,$44,$7F,$FF,$22,$FF,$85 .db $03,$66,$83,$03,$68,$01,$7F,$7F .db $25,$FF,$83,$03,$80,$0C,$50,$FF .db $88,$FF,$10,$FF,$A0,$FF,$40,$FF .db $20,$FF,$EF,$22,$DF,$05,$BF,$BF .db $7F,$7F,$3C,$FE,$45,$18,$FC,$08 .db $10,$F8,$30,$F8,$20,$F0,$60,$F0 .db $80,$23,$C0,$09,$80,$80,$00,$30 .db $49,$10,$29,$01,$1A,$00,$83,$00 .db $65,$04,$03,$02,$07,$01,$04,$23 .db $00,$0A,$01,$00,$00,$03,$0E,$F1 .db $06,$F9,$05,$FB,$E7,$22,$FF,$0D .db $FE,$FF,$01,$FE,$27,$90,$10,$F8 .db $19,$E7,$FF,$FE,$01,$6F,$43,$E0 .db $FF,$43,$C0,$FF,$85,$03,$92,$E0 .db $28,$83,$7C,$F0,$E0,$E0,$C0,$80 .db $00,$00,$83,$3C,$C3,$7E,$81,$7F .db $80,$41,$BE,$3E,$C1,$13,$EC,$2D .db $BA,$25,$92,$3C,$7E,$7F,$41,$3E .db $13,$45,$6D,$36,$4F,$17,$2F,$00 .db $1F,$00,$83,$03,$05,$84,$0B,$4B .db $02,$06,$07,$03,$23,$00,$05,$03 .db $1F,$F3,$FE,$FB,$F0,$46,$FF,$00 .db $05,$6D,$DA,$27,$90,$13,$FB,$83 .db $04,$F5,$01,$25,$6F,$4B,$00,$FF .db $83,$0B,$7C,$01,$C0,$80,$24,$00 .db $00,$83,$37,$00,$FF,$03,$17,$37 .db $0F,$1F,$43,$07,$0F,$01,$04,$0F .db $43,$00,$07,$03,$01,$03,$08,$03 .db $22,$07,$05,$03,$01,$00,$FF,$FF .db $EF,$44,$FF,$C7,$13,$EE,$FF,$3C .db $87,$38,$8F,$F1,$1F,$54,$FF,$EF .db $EF,$FF,$63,$67,$0E,$9C,$9E,$CC .db $CE,$43,$F8,$FC,$0D,$70,$FC,$70 .db $F8,$C0,$F8,$00,$E0,$60,$B0,$C0 .db $E0,$E0,$80,$22,$00,$0E,$01,$00 .db $01,$01,$07,$06,$0E,$08,$18,$09 .db $79,$32,$73,$24,$67,$22,$00,$1C .db $01,$07,$06,$0D,$1B,$B4,$4A,$FC .db $03,$33,$CF,$01,$31,$84,$84,$4A .db $CA,$31,$F9,$CC,$FE,$00,$48,$30 .db $CE,$7B,$B5,$CE,$33,$24,$00,$0A .db $80,$80,$E0,$E0,$F0,$20,$3C,$18 .db $1C,$88,$8C,$24,$00,$08,$C0,$E0 .db $70,$00,$03,$03,$04,$07,$08,$43 .db $0B,$18,$05,$13,$30,$17,$30,$3E .db $40,$22,$00,$0A,$04,$04,$0C,$08 .db $01,$00,$C0,$C0,$20,$A0,$30,$43 .db $90,$18,$0F,$E8,$04,$F8,$04,$3C .db $02,$00,$00,$40,$60,$60,$30,$00 .db $C0,$00,$7F,$43,$00,$05,$07,$3F .db $3F,$00,$01,$00,$3F,$00,$1E,$24 .db $00,$00,$3F,$24,$00,$0A,$C0,$00 .db $70,$00,$20,$80,$E0,$C0,$E0,$00 .db $80,$26,$00,$01,$80,$C0,$23,$00 .db $8C,$00,$49,$01,$25,$67,$22,$00 .db $83,$00,$5B,$00,$1A,$8D,$00,$60 .db $00,$CE,$87,$00,$6F,$00,$31,$24 .db $00,$8A,$00,$7D,$24,$00,$04,$C0 .db $E0,$70,$70,$88,$43,$30,$48,$43 .db $10,$28,$44,$00,$18,$00,$08,$27 .db $00,$03,$10,$10,$38,$28,$23,$00 .db $23,$10,$24,$00,$02,$10,$38,$10 .db $23,$00,$22,$10,$01,$00,$10,$24 .db $00,$83,$01,$5A,$02,$10,$10,$00 .db $23,$10,$22,$00,$05,$01,$06,$07 .db $0F,$0F,$1F,$43,$1F,$3F,$11,$0F .db $1F,$03,$0F,$00,$03,$00,$07,$0F .db $1F,$1F,$0F,$03,$00,$FB,$0F,$FF .db $1F,$27,$FF,$05,$FE,$FF,$58,$A6 .db $07,$1F,$23,$FF,$01,$FE,$58,$84 .db $00,$7C,$08,$FC,$F8,$FC,$F0,$F8 .db $C0,$F0,$00,$C0,$22,$00,$06,$80 .db $E0,$F8,$F0,$C0,$00,$00,$43,$15 .db $37,$0F,$13,$37,$0A,$1F,$0E,$1F .db $0D,$1D,$00,$10,$10,$30,$0A,$0A .db $0C,$05,$62,$0D,$00,$0F,$43,$02 .db $32,$1B,$CF,$CF,$00,$60,$09,$B9 .db $33,$F3,$86,$C6,$7F,$7F,$FD,$FD .db $30,$FF,$F6,$FC,$79,$80,$F0,$FC .db $B0,$F8,$A0,$F0,$A0,$B0,$43,$E0 .db $F0,$04,$30,$3C,$3C,$3E,$00,$22 .db $40,$23,$C0,$14,$3C,$40,$2C,$60 .db $24,$60,$16,$30,$17,$30,$0F,$10 .db $03,$0C,$00,$03,$03,$13,$1B,$09 .db $08,$22,$00,$43,$1C,$02,$10,$14 .db $06,$20,$04,$E8,$0C,$F0,$18,$C0 .db $30,$00,$C0,$E0,$E0,$E8,$D8,$10 .db $31,$00,$00,$0F,$2B,$00,$00,$70 .db $43,$00,$30,$25,$00,$00,$F0,$27 .db $00,$05,$15,$37,$15,$36,$12,$36 .db $8B,$01,$CE,$00,$0D,$84,$01,$DB .db $05,$CE,$32,$86,$78,$85,$79,$89 .db $01,$E6,$02,$31,$31,$32,$8C,$01 .db $F3,$43,$E0,$F0,$84,$02,$04,$22 .db $40,$23,$C0,$0F,$10,$00,$49,$00 .db $2D,$00,$5F,$00,$3F,$00,$FF,$00 .db $0F,$03,$05,$07,$26,$00,$18,$02 .db $15,$00,$1F,$00,$D7,$C0,$E0,$FF .db $D2,$F3,$8C,$FF,$00,$FF,$33,$CC .db $00,$15,$1F,$00,$2D,$73,$CC,$8C .db $24,$00,$16,$80,$B8,$B0,$F8,$D0 .db $F4,$60,$7C,$A0,$3E,$C0,$00,$00 .db $60,$40,$00,$00,$80,$40,$FF,$3F .db $FF,$00,$45,$FF,$80,$07,$7F,$80 .db $00,$80,$FF,$FF,$3F,$7F,$24,$FF .db $02,$00,$F9,$FE,$48,$FE,$00,$22 .db $00,$28,$FF,$22,$00,$04,$3F,$47 .db $11,$6E,$77,$22,$00,$14,$03,$01 .db $0F,$04,$1F,$0B,$00,$4C,$7F,$77 .db $00,$01,$07,$0F,$00,$00,$B3,$6C .db $21,$DC,$6E,$22,$00,$10,$C0,$C0 .db $F0,$30,$F8,$D0,$00,$DF,$FD,$6E .db $00,$C0,$C0,$A8,$00,$00,$FE,$26 .db $00,$22,$FF,$22,$00,$23,$FE,$83 .db $03,$24,$47,$72,$7A,$01,$00,$00 .db $22,$FC,$02,$04,$0C,$0C,$23,$80 .db $0D,$00,$00,$F8,$F0,$00,$07,$07 .db $18,$1F,$20,$20,$5F,$3B,$44,$45 .db $7B,$84,$28,$00,$00,$FF,$43,$FF .db $00,$09,$B6,$49,$B5,$4A,$85,$7A .db $B4,$4B,$B5,$4A,$28,$00,$00,$FF .db $43,$FF,$00,$09,$6D,$92,$A5,$5A .db $A9,$56,$2D,$D2,$AD,$52,$28,$00 .db $0E,$E0,$E0,$18,$F8,$04,$6C,$92 .db $5C,$A2,$3E,$C1,$5E,$A1,$6E,$91 .db $27,$00,$83,$00,$00,$43,$07,$0F .db $01,$04,$0F,$43,$00,$07,$83,$00 .db $0E,$22,$07,$85,$00,$15,$44,$FF .db $C7,$84,$00,$20,$03,$CF,$F1,$1F .db $55,$84,$00,$29,$0B,$A7,$0E,$07 .db $00,$18,$00,$27,$07,$5C,$1C,$58 .db $18,$43,$B8,$38,$11,$9F,$1F,$07 .db $1F,$38,$60,$60,$C0,$C0,$E0,$C0 .db $00,$30,$00,$C8,$C0,$74,$70,$43 .db $7A,$78,$15,$FD,$FC,$C5,$C4,$C0 .db $F0,$38,$0C,$06,$06,$03,$03,$40 .db $BF,$40,$B3,$00,$3F,$08,$FF,$1C .db $F7,$43,$94,$FF,$E0,$23,$DC,$F7 .db $8C,$8C,$FF,$FF,$F7,$77,$77,$B7 .db $FE,$00,$BE,$22,$3C,$26,$7C,$DB .db $28,$EF,$30,$FE,$62,$FE,$E4,$FC .db $00,$40,$C2,$87,$D7,$CE,$9C,$78 .db $F3,$FD,$48,$FD,$01,$22,$01,$01 .db $FF,$FF,$26,$FE,$00,$00,$83,$03 .db $00,$45,$FF,$80,$87,$03,$0A,$24 .db $FF,$E0,$23,$00,$1F,$14,$3C,$0B .db $3D,$2A,$3C,$2B,$1F,$14,$1C,$0B .db $0B,$04,$03,$00,$1F,$1F,$3F,$37 .db $0B,$17,$0F,$03,$F8,$28,$2C,$D0 .db $AC,$50,$2C,$D0,$D8,$20,$38,$84 .db $01,$BA,$00,$D0,$22,$FC,$03,$F8 .db $F8,$F0,$C0,$27,$FF,$07,$00,$00 .db $55,$FF,$AA,$FF,$55,$FF,$27,$00 .db $27,$FD,$01,$01,$01,$85,$04,$EA .db $27,$00,$45,$7F,$80,$43,$3F,$40 .db $05,$1F,$20,$07,$18,$00,$07,$27 .db $00,$0F,$FF,$00,$76,$89,$75,$8A .db $AD,$52,$DD,$22,$DE,$21,$FF,$00 .db $F8,$07,$27,$00,$83,$03,$C4,$45 .db $AD,$52,$05,$73,$8C,$FF,$00,$00 .db $FF,$27,$00,$01,$FE,$01,$43,$BE .db $41,$09,$BC,$42,$FC,$02,$B8,$44 .db $E0,$18,$00,$E0,$27,$00,$62,$01 .db $00,$07,$45,$07,$0F,$45,$0F,$1F .db $01,$00,$03,$22,$07,$22,$0F,$83 .db $01,$98,$2B,$FF,$01,$07,$1F,$25 .db $FF,$01,$EF,$0F,$43,$17,$07,$02 .db $11,$01,$1E,$46,$00,$01,$04,$F0 .db $18,$18,$1E,$1F,$22,$01,$43,$85 .db $84,$07,$8D,$8C,$FE,$FC,$FA,$F8 .db $64,$60,$83,$05,$65,$22,$03,$05 .db $02,$06,$9C,$F8,$E0,$E9,$22,$FF .db $07,$F3,$F3,$ED,$ED,$F3,$E1,$FF .db $F3,$43,$FF,$81,$00,$DE,$83,$05 .db $D9,$00,$FF,$83,$03,$80,$23,$F8 .db $03,$F0,$F0,$E0,$E0,$23,$C0,$08 .db $00,$00,$F0,$F0,$E0,$88,$90,$30 .db $20,$26,$00,$09,$01,$01,$03,$03 .db $07,$07,$03,$07,$08,$0B,$83,$05 .db $6E,$0D,$04,$08,$18,$14,$00,$00 .db $0F,$0F,$4F,$5F,$E7,$EF,$F0,$FF .db $85,$01,$BA,$03,$0F,$70,$A0,$10 .db $83,$00,$59,$83,$03,$D7,$0E,$C0 .db $DE,$9E,$BF,$3F,$FF,$3F,$3F,$0F .db $0F,$02,$02,$C0,$18,$20,$83,$02 .db $FB,$00,$E1,$25,$00,$09,$40,$40 .db $20,$A0,$90,$D0,$08,$68,$48,$E8 .db $25,$00,$01,$80,$00,$47,$38,$3C .db $01,$00,$00,$22,$FF,$02,$80,$C0 .db $80,$23,$40,$06,$00,$00,$7F,$7F .db $10,$00,$27,$26,$00,$22,$FF,$22 .db $00,$23,$3F,$84,$03,$A7,$04,$18 .db $18,$7E,$24,$66,$43,$5A,$C3,$0D .db $24,$66,$18,$7E,$00,$18,$18,$66 .db $5A,$BD,$BD,$5A,$66,$18,$25,$00 .db $05,$10,$38,$28,$28,$10,$38,$26 .db $00,$02,$28,$10,$28,$24,$00,$0C .db $46,$05,$7D,$39,$79,$37,$77,$07 .db $67,$0F,$4F,$3F,$3F,$22,$00,$03 .db $02,$00,$08,$10,$23,$00,$0C,$7F .db $3F,$3F,$1F,$1F,$CF,$CF,$60,$67 .db $B0,$B0,$D8,$D8,$83,$02,$FC,$03 .db $20,$90,$48,$24,$22,$00,$0C,$FE .db $1D,$FD,$1A,$FA,$F7,$F7,$0F,$EF .db $1F,$1F,$3D,$3D,$26,$00,$00,$02 .db $22,$00,$0C,$7E,$B0,$BE,$50,$5E .db $E0,$EE,$F4,$F6,$F0,$F2,$F8,$F8 .db $22,$00,$17,$80,$00,$00,$08,$04 .db $00,$7F,$1C,$9C,$27,$A7,$67,$E7 .db $72,$FF,$3F,$7F,$3F,$BF,$7F,$FF .db $00,$63,$40,$22,$00,$0C,$40,$00 .db $00,$FF,$28,$28,$CF,$FF,$86,$FF .db $03,$FF,$CF,$22,$FF,$03,$F2,$FF .db $00,$D7,$26,$00,$10,$FF,$08,$08 .db $FF,$FF,$7F,$FF,$8F,$FF,$87,$87 .db $FF,$FF,$1F,$FF,$00,$F7,$22,$00 .db $00,$78,$22,$00,$04,$F0,$10,$1C .db $F8,$FA,$43,$9C,$9E,$08,$FC,$FE .db $F0,$FC,$C0,$F0,$00,$E0,$04,$24 .db $00,$01,$1C,$1D,$43,$1C,$1E,$14 .db $3C,$3E,$38,$3C,$00,$7C,$00,$04 .db $38,$3C,$22,$20,$20,$40,$40,$00 .db $78,$40,$00,$00,$07,$2A,$00,$03 .db $3F,$00,$0F,$0F,$22,$1F,$22,$3F .db $02,$00,$01,$FD,$22,$00,$47,$08 .db $00,$02,$F0,$00,$FA,$22,$FD,$23 .db $FE,$45,$E4,$F4,$09,$F2,$FA,$72 .db $7A,$02,$FA,$02,$0A,$72,$7A,$23 .db $00,$03,$80,$00,$F0,$80,$47,$DF .db $9F,$07,$00,$00,$05,$0F,$0A,$0F .db $05,$0F,$23,$60,$23,$00,$27,$FF .db $87,$04,$E8,$2C,$00,$02,$18,$18 .db $3C,$43,$24,$66,$0B,$18,$3C,$00 .db $18,$00,$00,$18,$24,$5A,$7A,$24 .db $18,$26,$00,$04,$10,$10,$38,$00 .db $10,$26,$00,$14,$10,$28,$10,$00 .db $00,$2F,$2F,$1F,$5F,$2F,$6F,$37 .db $77,$0B,$7B,$09,$7D,$08,$7C,$38 .db $7C,$27,$00,$05,$FC,$FC,$7F,$7F .db $BF,$BF,$43,$CF,$FF,$E0,$21,$F6 .db $F6,$7B,$7B,$3D,$3D,$02,$80,$40 .db $00,$00,$09,$84,$42,$7B,$7B,$77 .db $77,$BE,$BE,$DD,$DD,$EF,$EF,$F7 .db $F7,$7B,$7B,$BC,$BC,$04,$08,$01 .db $02,$83,$02,$FC,$0B,$F4,$F4,$78 .db $7A,$D4,$D6,$E8,$EC,$D8,$DC,$98 .db $BC,$43,$1C,$3E,$02,$00,$80,$20 .db $24,$00,$0D,$7F,$FF,$3F,$7F,$7F .db $FF,$33,$73,$73,$F3,$7F,$FF,$00 .db $7F,$29,$00,$25,$FF,$02,$BF,$FF .db $C1,$22,$FF,$01,$00,$FF,$29,$00 .db $23,$FF,$04,$9F,$FF,$F4,$FF,$DF .db $22,$FF,$01,$00,$FF,$29,$00,$07 .db $F0,$FC,$F8,$FA,$FC,$FE,$04,$86 .db $83,$07,$70,$01,$00,$FC,$22,$00 .db $02,$04,$00,$18,$23,$00,$49,$38 .db $3C,$85,$07,$8A,$24,$40,$83,$07 .db $95,$48,$00,$10,$00,$27,$24,$00 .db $27,$3F,$29,$00,$00,$FE,$22,$00 .db $01,$08,$00,$27,$FE,$49,$72,$7A .db $85,$07,$D2,$24,$80,$08,$00,$F0 .db $80,$FE,$FE,$AA,$AA,$54,$54,$31 .db $00,$05,$7F,$7F,$AA,$AA,$95,$95 .db $27,$80,$29,$00,$00,$F8,$22,$FF .db $15,$7F,$7F,$57,$4F,$2F,$27,$2B .db $27,$17,$13,$15,$13,$7F,$00,$00 .db $3F,$1F,$1F,$0F,$0F,$07,$87,$83 .db $04,$8E,$05,$96,$E6,$AC,$CC,$2C .db $CC,$43,$58,$98,$00,$F8,$83,$03 .db $8C,$04,$F0,$E0,$E0,$00,$00,$83 .db $06,$08,$09,$0F,$0F,$0E,$0E,$0D .db $0C,$05,$04,$03,$03,$23,$00,$02 .db $01,$03,$03,$24,$00,$05,$80,$80 .db $C0,$C0,$E0,$E0,$23,$60,$01,$C0 .db $C0,$24,$00,$02,$80,$80,$00,$23 .db $01,$0B,$03,$03,$06,$06,$04,$04 .db $07,$06,$03,$02,$01,$01,$22,$00 .db $03,$01,$03,$01,$01,$22,$00,$01 .db $80,$80,$23,$C0,$25,$40,$01,$80 .db $80,$23,$00,$22,$80,$04,$00,$38 .db $38,$6C,$6C,$43,$54,$44,$01,$28 .db $28,$23,$10,$22,$00,$03,$10,$38 .db $38,$10,$22,$00,$03,$10,$10,$28 .db $28,$43,$10,$00,$23,$28,$23,$10 .db $84,$0A,$30,$00,$10,$23,$00,$05 .db $FE,$FE,$54,$54,$AA,$AA,$27,$00 .db $00,$FE,$28,$00,$05,$7F,$7F,$55 .db $55,$2A,$2A,$27,$00,$00,$7F,$25 .db $80,$00,$00,$49,$38,$3C,$85,$07 .db $8A,$24,$40,$02,$00,$78,$40,$25 .db $00,$00,$3F,$22,$00,$45,$10,$00 .db $27,$3F,$45,$08,$00,$00,$F0,$28 .db $00,$27,$FE,$49,$72,$7A,$85,$07 .db $D2,$24,$80,$02,$00,$F0,$80,$85 .db $09,$78,$27,$80,$29,$00,$85,$09 .db $60,$31,$00,$03,$0B,$09,$0A,$09 .db $43,$05,$04,$23,$02,$23,$01,$02 .db $07,$07,$03,$84,$0A,$04,$43,$B0 .db $30,$23,$60,$23,$C0,$23,$80,$83 .db $0B,$32,$25,$00,$07,$3F,$00,$27 .db $1F,$07,$1F,$00,$00,$43,$01,$07 .db $13,$00,$01,$00,$00,$1F,$1F,$00 .db $07,$07,$01,$00,$00,$FC,$00,$F0 .db $FC,$E0,$F8,$00,$00,$43,$80,$E0 .db $83,$00,$E2,$04,$F0,$E0,$00,$80 .db $80,$22,$00,$87,$0B,$42,$43,$01 .db $07,$93,$0B,$4E,$43,$80,$E0,$88 .db $0B,$66,$38,$00,$17,$FE,$7F,$FD .db $BF,$FB,$DF,$F7,$EF,$EF,$F7,$DF .db $FB,$BF,$FD,$7F,$FE,$FE,$FD,$FB .db $F7,$EF,$DF,$BF,$7F,$87,$0A,$68 .db $27,$00,$00,$7F,$25,$80,$22,$00 .db $85,$0A,$52,$27,$00,$00,$FE,$26 .db $00,$FF,$E0,$20,$20,$00,$10,$00 .db $18,$00,$0E,$00,$47,$00,$31,$00 .db $1F,$00,$0F,$00,$20,$10,$18,$0E .db $47,$31,$1F,$0F,$10,$00,$88,$00 .db $46,$00,$63,$00,$FB,$46,$00,$FF .db $04,$10,$88,$46,$63,$FB,$22,$FF .db $07,$20,$20,$19,$19,$0D,$0D,$3F .db $3F,$23,$0F,$03,$67,$67,$FF,$FF .db $27,$00,$0F,$40,$40,$30,$30,$8C .db $8C,$C7,$C7,$EF,$EF,$FF,$FF,$E4 .db $E4,$F8,$F8,$25,$00,$01,$1B,$07 .db $29,$00,$0D,$21,$20,$00,$00,$02 .db $00,$00,$20,$10,$0C,$BF,$1F,$FF .db $3F,$29,$00,$04,$8C,$00,$EF,$00 .db $7F,$25,$00,$02,$FC,$FF,$FF,$23 .db $00,$01,$40,$00,$83,$00,$00,$04 .db $4C,$00,$0E,$00,$7F,$22,$00,$05 .db $40,$20,$10,$40,$0C,$74,$2D,$00 .db $00,$FE,$28,$00,$1E,$04,$00,$25 .db $00,$1B,$00,$7F,$00,$37,$00,$1F .db $00,$BF,$00,$FF,$00,$04,$25,$3B .db $7F,$37,$1F,$BF,$FF,$C0,$00,$B0 .db $00,$F0,$00,$E4,$44,$00,$FC,$11 .db $F8,$00,$FE,$00,$C0,$B0,$F0,$F4 .db $FC,$FC,$F8,$FE,$00,$00,$04,$04 .db $06,$06,$23,$0F,$05,$07,$07,$17 .db $17,$37,$37,$27,$00,$09,$80,$80 .db $C8,$C8,$D8,$D8,$BA,$BA,$FE,$FE .db $23,$F8,$01,$FC,$FC,$31,$00,$00 .db $04,$24,$00,$07,$14,$15,$17,$3F .db $1F,$5F,$0F,$3F,$2B,$00,$0C,$80 .db $00,$20,$00,$40,$60,$F0,$F4,$FC .db $F8,$F2,$F8,$01,$22,$00,$00,$03 .db $44,$00,$07,$10,$03,$00,$0B,$00 .db $03,$00,$01,$00,$03,$07,$06,$03 .db $09,$01,$00,$00,$A4,$44,$00,$90 .db $43,$E0,$00,$E0,$23,$C0,$00,$80 .db $00,$00,$A4,$90,$90,$40,$C0,$00 .db $00,$7F,$00,$3F,$00,$1F,$00,$37 .db $00,$3E,$00,$5B,$00,$11,$00,$03 .db $00,$7F,$3F,$1F,$37,$3E,$7B,$11 .db $03,$45,$FF,$00,$09,$F7,$00,$EF .db $00,$CC,$00,$DD,$00,$30,$00,$22 .db $FF,$04,$F7,$EF,$CC,$DD,$30,$83 .db $00,$F8,$07,$1F,$1F,$18,$18,$20 .db $20,$01,$01,$2B,$00,$25,$FF,$07 .db $7F,$7F,$DC,$DC,$11,$11,$20,$20 .db $2B,$00,$02,$C0,$C0,$04,$2A,$00 .db $0E,$3F,$3F,$FF,$0F,$FF,$37,$44 .db $08,$FF,$00,$1F,$00,$FF,$00,$38 .db $28,$00,$22,$FF,$01,$FC,$81,$22 .db $00,$06,$BF,$00,$3F,$00,$18,$00 .db $02,$28,$00,$03,$B7,$3C,$18,$02 .db $23,$00,$04,$FE,$00,$F8,$00,$20 .db $32,$00,$43,$7F,$00,$43,$FF,$00 .db $43,$7F,$00,$05,$1F,$00,$5F,$00 .db $7F,$7F,$83,$01,$CC,$0A,$1F,$5F .db $FA,$00,$EC,$00,$F9,$00,$F1,$00 .db $FA,$44,$00,$FE,$11,$FC,$00,$FA .db $EC,$F9,$F1,$FA,$FE,$FE,$FC,$37 .db $37,$1F,$1F,$4F,$4F,$7F,$7F,$23 .db $3F,$03,$07,$07,$23,$23,$25,$00 .db $11,$08,$0C,$FC,$FC,$F8,$F8,$F2 .db $F2,$A2,$A2,$B4,$B4,$7C,$7C,$2C .db $2C,$28,$28,$22,$00,$04,$40,$40 .db $80,$D0,$D0,$43,$05,$00,$00,$0D .db $44,$00,$0F,$45,$07,$00,$00,$1F .db $24,$0F,$02,$07,$17,$60,$44,$00 .db $C0,$00,$80,$44,$00,$E0,$43,$C0 .db $00,$25,$E0,$01,$C0,$C0,$43,$03 .db $00,$00,$07,$44,$00,$03,$02,$01 .db $00,$01,$2A,$00,$4C,$80,$00,$2B .db $00,$04,$07,$07,$1F,$18,$38,$43 .db $20,$60,$45,$40,$C0,$04,$07,$1F .db $3F,$7F,$7F,$22,$FF,$0B,$00,$E0 .db $E0,$F8,$18,$1C,$04,$76,$04,$06 .db $02,$73,$43,$02,$03,$05,$E0,$F8 .db $FC,$8E,$FE,$8F,$83,$00,$3E,$03 .db $07,$07,$18,$1F,$43,$20,$3F,$45 .db $40,$7F,$84,$03,$10,$22,$FF,$05 .db $00,$00,$E0,$E0,$18,$F8,$43,$04 .db $FC,$45,$02,$FE,$88,$03,$28,$0A .db $FF,$44,$BB,$28,$D7,$10,$EF,$28 .db $D7,$44,$BB,$43,$00,$FF,$28,$00 .db $8A,$03,$61,$43,$00,$FF,$28,$00 .db $8A,$03,$61,$43,$00,$FF,$28,$00 .db $8A,$03,$61,$43,$00,$FF,$28,$00 .db $8A,$03,$61,$43,$00,$FF,$28,$00 .db $8A,$03,$61,$43,$00,$FF,$27,$00 .db $03,$1B,$00,$3F,$00,$43,$35,$0A .db $03,$7F,$70,$CF,$F0,$43,$97,$E8 .db $24,$00,$1A,$3C,$57,$57,$70,$70 .db $80,$78,$E0,$30,$C0,$60,$A0,$30 .db $D0,$1C,$D0,$1A,$D2,$1B,$00,$70 .db $40,$00,$40,$E0,$E4,$E4,$E4,$30 .db $00,$8A,$03,$61,$43,$00,$FF,$28 .db $00,$8A,$03,$61,$43,$00,$FF,$27 .db $00,$43,$40,$C0,$0B,$44,$C4,$2C .db $EC,$3A,$7E,$11,$7F,$00,$33,$00 .db $01,$23,$FF,$03,$7F,$7F,$33,$01 .db $43,$02,$03,$0B,$22,$23,$34,$37 .db $5C,$7E,$88,$FE,$00,$CC,$00,$80 .db $23,$FF,$03,$FE,$FE,$CC,$80,$43 .db $40,$7F,$07,$44,$7F,$2C,$3F,$3A .db $3B,$11,$11,$23,$00,$23,$FF,$83 .db $04,$94,$43,$02,$FE,$07,$22,$FE .db $34,$FC,$5C,$DC,$88,$88,$23,$00 .db $23,$FF,$83,$04,$AC,$8B,$03,$60 .db $43,$00,$FF,$28,$00,$8A,$03,$61 .db $43,$00,$FF,$28,$00,$8A,$03,$61 .db $43,$00,$FF,$28,$00,$8A,$03,$61 .db $43,$00,$FF,$28,$00,$8A,$03,$61 .db $43,$00,$FF,$28,$00,$8A,$03,$61 .db $43,$00,$FF,$27,$00,$E0,$5E,$9D .db $C0,$9A,$C2,$65,$67,$38,$7F,$00 .db $7C,$33,$FF,$08,$7F,$00,$3B,$7F .db $7D,$18,$00,$03,$44,$00,$00,$A2 .db $33,$6A,$73,$8A,$E3,$16,$87,$4E .db $6F,$CE,$FF,$84,$DE,$00,$8C,$CC .db $8C,$1C,$78,$90,$00,$08,$00,$37 .db $30,$C8,$F7,$AF,$D0,$4F,$70,$00 .db $3F,$30,$8F,$38,$80,$00,$F8,$00 .db $30,$68,$3F,$4F,$70,$7F,$00,$80 .db $00,$F0,$30,$C8,$38,$E6,$1E,$0C .db $F1,$1C,$E1,$0C,$01,$00,$0F,$00 .db $00,$70,$F0,$EE,$1E,$FE,$43,$00 .db $7C,$01,$38,$7C,$49,$18,$3C,$28 .db $00,$0E,$3E,$00,$7E,$3C,$FC,$60 .db $7E,$3C,$FF,$06,$FF,$66,$7E,$3C .db $3C,$2A,$00,$83,$01,$54,$09,$0B .db $04,$0D,$06,$1E,$03,$1F,$01,$10 .db $0F,$29,$00,$0D,$1C,$82,$BE,$41 .db $F3,$0C,$EF,$18,$DF,$30,$FF,$20 .db $7E,$81,$28,$00,$16,$07,$00,$1F .db $07,$F8,$1F,$E1,$3E,$83,$5C,$DE .db $42,$DF,$D5,$C7,$00,$07,$1F,$7E .db $7C,$20,$20,$3A,$22,$00,$44,$80 .db $00,$26,$00,$00,$80,$27,$00,$E0 .db $27,$3E,$3E,$41,$7F,$BE,$C1,$87 .db $E0,$03,$38,$19,$1C,$0C,$0E,$06 .db $07,$00,$3A,$7F,$1F,$07,$1B,$0D .db $06,$00,$00,$38,$00,$C8,$B0,$B8 .db $C0,$F0,$8C,$E0,$7E,$94,$1D,$D0 .db $1F,$24,$00,$02,$8C,$E2,$E0,$23 .db $00,$0B,$E0,$E0,$99,$F9,$A7,$9F .db $98,$81,$4D,$44,$42,$46,$22,$00 .db $E0,$26,$61,$78,$7F,$3B,$39,$18 .db $18,$34,$3C,$72,$7E,$EA,$F2,$82 .db $E2,$5C,$90,$BA,$24,$3B,$24,$00 .db $28,$68,$9C,$7C,$E0,$C0,$C0,$00 .db $01,$00,$07,$01,$0E,$01,$1E,$07 .db $18,$45,$0F,$30,$04,$00,$01,$01 .db $09,$0F,$22,$1F,$07,$00,$F0,$01 .db $FE,$80,$7F,$9E,$61,$46,$FF,$01 .db $04,$00,$00,$F0,$9E,$9F,$22,$FE .db $0A,$FF,$00,$00,$80,$40,$5E,$A1 .db $27,$D8,$7B,$84,$43,$7F,$80,$01 .db $BE,$C1,$22,$00,$00,$80,$2A,$00 .db $45,$80,$00,$02,$E0,$00,$FC,$26 .db $00,$00,$E0,$38,$00,$00,$01,$43 .db $00,$03,$01,$01,$03,$45,$03,$07 .db $01,$07,$0F,$43,$00,$01,$22,$03 .db $08,$07,$00,$FC,$00,$FF,$00,$C3 .db $8C,$E0,$47,$C7,$F0,$03,$00,$FC .db $7F,$BF,$23,$DF,$22,$00,$04,$80 .db $00,$C0,$00,$60,$44,$80,$30,$12 .db $18,$80,$78,$00,$00,$80,$C0,$E0 .db $E0,$F0,$90,$00,$3F,$0F,$70,$1F .db $E0,$2E,$D1,$43,$04,$FB,$1A,$2E .db $D1,$1F,$C0,$0F,$3F,$7F,$6E,$44 .db $44,$6E,$7F,$7E,$81,$7C,$83,$B9 .db $47,$83,$3F,$5C,$9C,$63,$80,$FF .db $00,$FB,$22,$00,$0D,$80,$C0,$63 .db $7F,$FF,$FF,$D5,$C7,$A5,$87,$AA .db $8F,$4A,$0F,$43,$95,$1E,$E0,$2E .db $CA,$0F,$E5,$07,$3A,$7A,$74,$F4 .db $E9,$E9,$F4,$FA,$00,$80,$60,$E0 .db $70,$F0,$B0,$F0,$D0,$70,$EC,$3C .db $EE,$3E,$76,$9E,$00,$60,$70,$30 .db $90,$CC,$CE,$66,$06,$07,$0C,$0E .db $03,$3F,$1C,$3F,$00,$1C,$0D,$43 .db $1F,$00,$02,$00,$06,$0D,$83,$01 .db $52,$0C,$09,$00,$D2,$1B,$12,$1B .db $EA,$F3,$14,$E6,$08,$0C,$D8,$43 .db $FC,$00,$13,$00,$E4,$E4,$0C,$18 .db $F0,$00,$10,$00,$45,$43,$12,$31 .db $13,$30,$17,$30,$10,$30,$0D,$43 .db $1F,$00,$02,$00,$3C,$0E,$22,$0F .db $0D,$00,$09,$00,$BF,$B0,$76,$F9 .db $82,$73,$94,$06,$08,$2C,$D8,$43 .db $FC,$00,$1D,$00,$40,$00,$8C,$F8 .db $D0,$00,$10,$00,$0F,$60,$17,$70 .db $10,$70,$08,$38,$0F,$3F,$0C,$1F .db $00,$0D,$00,$00,$3F,$2F,$2F,$17 .db $10,$22,$00,$0E,$FF,$00,$0F,$00 .db $03,$00,$FD,$FC,$06,$FE,$F8,$FF .db $FE,$FF,$7C,$23,$FF,$E0,$34,$03 .db $01,$F8,$FE,$7D,$5C,$63,$A2,$3F .db $FD,$1D,$DD,$41,$3C,$C0,$39,$81 .db $5A,$C3,$B9,$81,$80,$C1,$E2,$BE .db $7F,$FE,$BD,$7E,$E0,$1C,$18,$84 .db $00,$D8,$10,$F0,$90,$F0,$0C,$FC .db $6E,$FE,$36,$FE,$F8,$78,$A0,$90 .db $50,$8C,$0E,$86,$24,$00,$01,$0C .db $00,$43,$1F,$04,$00,$1C,$43,$02 .db $0E,$22,$00,$0B,$0C,$0B,$0B,$05 .db $05,$07,$0F,$0F,$1F,$1F,$3F,$3E .db $43,$FF,$00,$09,$7E,$80,$00,$7C .db $00,$07,$0F,$1F,$3E,$81,$22,$FF .db $0A,$8F,$E0,$87,$E0,$03,$E0,$07 .db $80,$3E,$00,$7F,$44,$00,$FF,$02 .db $BF,$BF,$7F,$24,$FF,$09,$80,$78 .db $C0,$18,$80,$30,$1C,$20,$56,$68 .db $45,$AA,$35,$04,$90,$F0,$E0,$C0 .db $80,$22,$C0,$01,$1F,$C0,$45,$0F .db $60,$00,$07,$43,$30,$00,$03,$10 .db $06,$0E,$7F,$22,$3F,$13,$1F,$1F .db $0F,$01,$FF,$04,$F0,$06,$E0,$07 .db $D8,$1F,$34,$3D,$68,$78,$51,$71 .db $5E,$7F,$22,$FB,$04,$E1,$C2,$87 .db $8E,$81,$43,$E2,$03,$0B,$42,$03 .db $06,$87,$7D,$FF,$83,$FF,$7C,$FF .db $83,$FC,$22,$FD,$0C,$F9,$02,$7C .db $80,$03,$B6,$DE,$B4,$DC,$BA,$CE .db $BB,$CF,$43,$7B,$8F,$0B,$FA,$0E .db $F8,$0C,$26,$24,$32,$33,$73,$73 .db $F2,$F0,$83,$09,$00,$0C,$0E,$60 .db $0C,$60,$01,$21,$0F,$1F,$03,$0F .db $00,$07,$7F,$22,$3F,$00,$1E,$22 .db $00,$E0,$33,$C0,$06,$19,$1F,$70 .db $7F,$CC,$FF,$B8,$FD,$78,$FD,$70 .db $FB,$40,$FF,$FB,$E2,$81,$0C,$3A .db $7A,$75,$43,$C2,$03,$02,$03,$C2 .db $C3,$3D,$FF,$C3,$FF,$3C,$FF,$43 .db $BC,$3E,$C0,$FD,$FD,$3D,$C2,$3C .db $00,$C3,$FF,$B6,$DE,$BA,$CE,$43 .db $BB,$CF,$85,$09,$52,$09,$38,$0C .db $26,$32,$33,$33,$73,$F2,$F0,$F0 .db $2C,$00,$02,$03,$00,$03,$26,$00 .db $02,$01,$7C,$FF,$43,$3C,$7F,$43 .db $3E,$7F,$0D,$78,$FF,$01,$FF,$06 .db $FF,$7D,$3D,$3D,$3E,$3E,$79,$06 .db $F9,$83,$03,$F0,$43,$35,$0A,$83 .db $03,$F8,$43,$97,$E8,$24,$00,$8D .db $04,$05,$00,$18,$83,$04,$12,$85 .db $04,$18,$01,$E0,$E4,$43,$01,$07 .db $46,$00,$03,$44,$01,$00,$01,$02 .db $02,$22,$01,$22,$00,$E0,$27,$7D .db $00,$5F,$00,$87,$80,$84,$84,$8A .db $9E,$09,$9F,$16,$9F,$01,$07,$FF .db $FF,$7F,$7B,$65,$E6,$E1,$F8,$FF .db $00,$F8,$00,$E0,$00,$08,$08,$33 .db $3F,$CC,$FF,$33,$FF,$CC,$F3,$22 .db $FF,$E0,$20,$F7,$CC,$33,$C0,$0C .db $2E,$31,$DC,$E2,$A0,$FC,$90,$EC .db $50,$EC,$BC,$E2,$5C,$BE,$E0,$3E .db $C0,$00,$40,$58,$98,$1C,$40,$C0 .db $01,$07,$00,$01,$33,$00,$E0,$37 .db $80,$FF,$21,$DE,$00,$C0,$00,$F7 .db $10,$6F,$00,$7F,$77,$AA,$00,$FF .db $1E,$61,$7F,$6B,$33,$37,$00,$00 .db $7E,$80,$FB,$00,$FB,$0C,$F6,$19 .db $F1,$1E,$F3,$1C,$F7,$FA,$00,$FF .db $7F,$FC,$F0,$E0,$E1,$E7,$00,$00 .db $38,$0C,$10,$18,$B0,$58,$60,$B0 .db $83,$04,$0C,$1F,$C0,$E0,$00,$E0 .db $F0,$E0,$20,$40,$C0,$80,$00,$00 .db $03,$1C,$01,$7E,$7F,$A0,$0F,$F8 .db $07,$7F,$03,$7F,$01,$3F,$00,$0F .db $07,$1F,$0F,$07,$24,$00,$11,$FF .db $C0,$3F,$BC,$56,$83,$FF,$C0,$FF .db $80,$FF,$00,$9F,$00,$07,$0F,$DF .db $83,$24,$00,$E0,$2D,$7E,$80,$FF .db $18,$FF,$70,$F7,$F8,$E0,$FF,$40 .db $F1,$06,$CE,$00,$87,$FF,$E0,$80 .db $00,$00,$0E,$01,$00,$3C,$06,$94 .db $06,$D4,$06,$BA,$63,$6A,$E3,$F6 .db $F7,$78,$AE,$00,$78,$F8,$78,$38 .db $1C,$1C,$08,$22,$00,$00,$01,$36 .db $00,$01,$FF,$01,$89,$0A,$9B,$00 .db $88,$89,$0A,$A6,$88,$05,$70,$01 .db $38,$0D,$43,$1F,$00,$00,$00,$83 .db $05,$80,$02,$07,$00,$09,$86,$05 .db $87,$04,$14,$86,$08,$2C,$D8,$43 .db $FC,$00,$00,$00,$83,$05,$98,$02 .db $D0,$00,$10,$38,$00,$01,$10,$80 .db $43,$3F,$C0,$00,$08,$88,$0A,$9F .db $22,$7F,$84,$0A,$AB,$01,$1E,$E0 .db $8A,$0A,$B2,$03,$F8,$00,$FF,$1F .db $86,$0A,$C1,$05,$3A,$0E,$16,$1E .db $B4,$5C,$89,$0A,$CE,$02,$F2,$E6 .db $24,$84,$0A,$DB,$FF,$26,$00,$08 .db $01,$01,$03,$00,$07,$07,$0F,$0F .db $1B,$25,$00,$01,$07,$0B,$22,$00 .db $E0,$2C,$01,$01,$7F,$7C,$FF,$FE .db $FF,$79,$AF,$37,$FF,$8C,$FB,$00 .db $01,$01,$00,$00,$01,$87,$C8,$00 .db $30,$30,$F8,$E0,$9C,$FC,$1E,$78 .db $8E,$24,$DE,$86,$F3,$90,$E9,$30 .db $F8,$9C,$1E,$0C,$98,$E8,$C6,$E4 .db $2F,$00,$0F,$28,$00,$AA,$00,$5A .db $00,$3C,$00,$3D,$00,$1F,$01,$1F .db $03,$1E,$1F,$26,$00,$18,$01,$00 .db $00,$2A,$00,$3E,$00,$EC,$C0,$C1 .db $FF,$A5,$E5,$18,$FE,$00,$FF,$00 .db $00,$2A,$3F,$00,$5A,$E7,$99,$23 .db $00,$0B,$08,$00,$1A,$00,$1B,$00 .db $FD,$E0,$FE,$A0,$7E,$40,$22,$00 .db $08,$80,$C0,$00,$00,$80,$FF,$3F .db $FF,$00,$45,$FF,$80,$00,$7F,$43 .db $80,$00,$02,$FF,$3F,$7F,$24,$FF .db $02,$00,$F9,$FE,$48,$FE,$00,$23 .db $00,$27,$FF,$E0,$28,$00,$EA,$1F .db $D2,$3F,$22,$FF,$82,$FF,$06,$FF .db $04,$FF,$85,$7E,$0B,$FC,$0B,$1B .db $33,$EA,$96,$74,$74,$EB,$10,$E8 .db $40,$B0,$60,$90,$00,$E0,$E0,$98 .db $68,$EC,$9C,$7E,$AC,$1E,$23,$00 .db $03,$20,$10,$00,$40,$8D,$00,$F2 .db $01,$13,$FF,$86,$01,$01,$00,$90 .db $8D,$01,$0A,$01,$46,$2F,$22,$00 .db $83,$01,$1C,$01,$90,$E2,$F0,$26 .db $00,$F1,$23,$00,$83,$01,$1C,$0A .db $0A,$1F,$0F,$1F,$07,$1F,$10,$0F .db $00,$1F,$1F,$43,$3F,$00,$E0,$38 .db $0F,$0A,$0F,$0F,$07,$00,$1F,$0F .db $00,$F3,$FF,$C6,$FF,$04,$FF,$48 .db $BF,$30,$FF,$C0,$FF,$1F,$FF,$00 .db $FF,$FB,$F7,$F6,$8E,$3E,$E0,$DF .db $00,$26,$CF,$56,$EF,$E6,$7F,$86 .db $FF,$C4,$FE,$C0,$FC,$FC,$FE,$00 .db $FE,$10,$40,$60,$A0,$E0,$E0,$FC .db $00,$83,$00,$C0,$45,$FF,$80,$00 .db $7F,$43,$80,$00,$02,$FF,$3F,$7F .db $24,$FF,$02,$00,$F2,$FD,$49,$FC .db $01,$03,$00,$01,$00,$FF,$26,$FE .db $02,$00,$06,$1F,$43,$04,$1D,$04 .db $06,$1E,$02,$1F,$03,$43,$0F,$01 .db $18,$07,$19,$1B,$1B,$19,$1D,$0C .db $0E,$07,$66,$99,$81,$7E,$81,$66 .db $00,$18,$10,$FE,$38,$EC,$28,$FC .db $91,$F9,$22,$18,$11,$FF,$FF,$EF .db $EF,$7E,$7C,$70,$3C,$3C,$28,$2E .db $78,$7E,$48,$4E,$F0,$FE,$E0,$22 .db $FC,$09,$80,$C0,$D6,$86,$B6,$0E .db $7C,$FA,$F2,$FD,$49,$FC,$01,$83 .db $01,$EC,$26,$FE,$84,$01,$C7,$45 .db $FF,$80,$00,$7F,$43,$80,$00,$02 .db $FF,$3F,$7F,$24,$FF,$E0,$25,$00 .db $13,$FF,$67,$F8,$83,$E7,$03,$8C .db $05,$0F,$04,$7F,$43,$FF,$00,$FF .db $90,$67,$80,$03,$04,$04,$7B,$00 .db $66,$1F,$D6,$3F,$BA,$DF,$A2,$7F .db $B0,$FE,$30,$FE,$FE,$83,$00,$C2 .db $06,$D0,$18,$A8,$38,$38,$FE,$00 .db $84,$02,$72,$1D,$84,$01,$07,$00 .db $07,$07,$3F,$20,$7F,$00,$7F,$67 .db $80,$03,$00,$00,$07,$30,$00,$A6 .db $7F,$76,$BF,$46,$FF,$64,$FE,$60 .db $FC,$FC,$43,$FE,$00,$07,$F0,$A0 .db $30,$50,$70,$70,$FC,$00,$84,$02 .db $6F,$15,$82,$E7,$02,$85,$00,$03 .db $00,$1F,$0F,$3F,$00,$3F,$90,$67 .db $80,$02,$00,$00,$0F,$00,$26,$4F .db $8D,$01,$B2,$00,$90,$86,$01,$C1 .db $05,$20,$20,$30,$30,$BD,$BD,$22 .db $FF,$06,$CC,$7F,$4C,$7F,$44,$FF .db $E4,$27,$00,$07,$81,$81,$C3,$C3 .db $F7,$F7,$FF,$FE,$44,$FF,$82,$02 .db $9E,$FF,$82,$27,$00,$05,$01,$01 .db $87,$87,$DF,$DF,$44,$FF,$78,$44 .db $79,$FF,$27,$00,$0F,$01,$01,$86 .db $86,$DE,$DE,$FC,$7C,$FE,$32,$FF .db $23,$FE,$A2,$FE,$26,$2D,$00,$01 .db $10,$10,$2F,$00,$23,$07,$01,$03 .db $03,$29,$00,$02,$07,$07,$03,$24 .db $00,$0B,$C7,$F7,$FF,$FF,$DB,$DB .db $E7,$C3,$FF,$E7,$7F,$7F,$43,$3F .db $00,$07,$B9,$C3,$E7,$FF,$FF,$7F .db $00,$00,$25,$FC,$03,$F8,$F8,$FC .db $FC,$23,$E0,$0A,$80,$80,$FB,$F3 .db $E3,$87,$82,$88,$04,$50,$6C,$48 .db $00,$FE,$06,$7C,$00,$38,$00,$10 .db $00,$6C,$23,$FE,$E0,$32,$7C,$38 .db $10,$FE,$7F,$FD,$BF,$FB,$DF,$F7 .db $EF,$EF,$F7,$DF,$FB,$BF,$FD,$7F .db $FE,$FE,$FD,$FB,$F7,$EF,$DF,$BF .db $7F,$00,$01,$00,$10,$00,$31,$11 .db $3D,$19,$3D,$12,$0E,$07,$3F,$18 .db $78,$01,$10,$31,$2C,$24,$1C,$38 .db $67,$22,$00,$E0,$4B,$A4,$00,$92 .db $00,$98,$88,$9D,$C8,$DF,$6C,$7F .db $3E,$3F,$00,$A4,$92,$98,$15,$17 .db $93,$81,$00,$10,$00,$38,$00,$15 .db $00,$05,$00,$24,$01,$2D,$2E,$72 .db $30,$F0,$10,$38,$15,$05,$24,$2E .db $5D,$C9,$00,$90,$00,$C8,$00,$CC .db $A0,$EE,$E0,$F4,$A0,$B8,$D0,$58 .db $88,$0E,$90,$C8,$CC,$CE,$14,$58 .db $88,$86,$00,$00,$3F,$47,$11,$6E .db $77,$22,$00,$14,$03,$01,$0F,$04 .db $1F,$0B,$00,$4C,$7F,$77,$00,$01 .db $07,$0F,$00,$00,$B3,$6C,$21,$DC .db $6E,$22,$00,$11,$C0,$C0,$F0,$30 .db $F8,$D0,$00,$DF,$FD,$6E,$00,$C0 .db $C0,$A8,$7F,$60,$3F,$26,$43,$3F .db $32,$07,$7F,$7F,$73,$73,$81,$81 .db $01,$01,$27,$00,$03,$FF,$42,$FF .db $4E,$44,$FF,$42,$06,$FF,$CF,$CF .db $86,$86,$02,$02,$27,$00,$03,$FF .db $70,$FF,$10,$43,$FF,$11,$07,$FE .db $FE,$7C,$7C,$18,$18,$08,$08,$27 .db $00,$0B,$FC,$24,$FE,$7E,$FE,$CE .db $FF,$CF,$F8,$F8,$78,$78,$83,$04 .db $BC,$2B,$00,$05,$10,$10,$28,$28 .db $10,$10,$28,$00,$00,$10,$25,$00 .db $83,$03,$66,$01,$54,$44,$83,$03 .db $64,$25,$00,$02,$10,$38,$10,$22 .db $00,$83,$03,$66,$05,$38,$28,$BA .db $82,$38,$28,$83,$03,$64,$22,$00 .db $04,$10,$10,$6C,$10,$10,$23,$00 .db $09,$54,$44,$10,$00,$7C,$00,$10 .db $00,$54,$44,$23,$00,$06,$10,$10 .db $28,$C6,$28,$10,$10,$30,$00,$01 .db $3C,$7E,$23,$FF,$01,$7E,$1C,$31 .db $00,$00,$1C,$22,$3E,$08,$1C,$00 .db $30,$F0,$63,$E0,$4B,$C0,$8C,$22 .db $80,$E0,$2B,$0C,$00,$3F,$00,$07 .db $00,$C3,$93,$AE,$68,$60,$60,$38 .db $00,$1E,$1F,$06,$07,$B2,$03,$E0 .db $00,$0C,$00,$DE,$00,$FC,$00,$B8 .db $00,$01,$19,$05,$C7,$0F,$1E,$0C .db $18,$30,$70,$1F,$70,$06,$20,$25 .db $00,$06,$0E,$00,$07,$00,$49,$6F .db $32,$22,$10,$06,$08,$08,$80,$06 .db $D0,$00,$60,$22,$00,$43,$08,$00 .db $1A,$68,$00,$F0,$00,$8E,$54,$64 .db $04,$08,$08,$28,$00,$1F,$14,$3C .db $0B,$3D,$2A,$3C,$2B,$1F,$14,$1C .db $0B,$0B,$04,$03,$83,$01,$88,$15 .db $37,$0B,$17,$0F,$03,$F8,$28,$2C .db $D0,$AC,$50,$2C,$D0,$D8,$20,$38 .db $C0,$F0,$00,$C0,$00,$D0,$22,$FC .db $03,$F8,$F8,$F0,$C0,$24,$00,$0A .db $01,$00,$07,$02,$0D,$06,$09,$04 .db $3B,$34,$7B,$26,$00,$12,$30,$00 .db $07,$07,$7F,$63,$FC,$39,$FE,$51 .db $BE,$6C,$9F,$EE,$1F,$EA,$1F,$07 .db $1F,$22,$00,$02,$0E,$0F,$0B,$22 .db $00,$14,$F0,$F0,$F8,$E0,$30,$C0 .db $20,$E0,$3C,$78,$9C,$70,$88,$00 .db $F0,$F8,$30,$20,$3C,$1C,$08,$24 .db $00,$04,$01,$01,$07,$07,$0F,$43 .db $0F,$1F,$01,$1E,$3F,$2C,$00,$26 .db $FF,$01,$00,$FF,$38,$00,$00,$01 .db $2C,$00,$0A,$03,$03,$0F,$0C,$1F .db $13,$3C,$2C,$F0,$D3,$E3,$22,$00 .db $10,$03,$0F,$1F,$3F,$FC,$00,$0F .db $0F,$FF,$F0,$FF,$0F,$F0,$F0,$00 .db $0F,$0F,$23,$FF,$01,$00,$0F,$22 .db $FF,$00,$F0,$22,$00,$0A,$F0,$F0 .db $FF,$0F,$FF,$F0,$0F,$0F,$00,$F0 .db $F0,$23,$FF,$01,$00,$F0,$22,$FF .db $00,$0F,$22,$00,$0C,$08,$08,$1C .db $18,$32,$3C,$6D,$1A,$59,$04,$22 .db $00,$1C,$23,$00,$03,$04,$02,$26 .db $1C,$83,$06,$93,$03,$1D,$1D,$38 .db $30,$43,$1F,$00,$43,$7F,$00,$06 .db $FF,$00,$00,$02,$0F,$3F,$67,$83 .db $03,$7B,$08,$F9,$C0,$FF,$30,$3F .db $C6,$07,$F1,$01,$43,$E0,$00,$09 .db $F9,$01,$F9,$3F,$CF,$F9,$9E,$3F .db $FF,$7E,$22,$00,$14,$C0,$00,$E0 .db $00,$C0,$00,$F0,$C0,$FE,$E0,$FE .db $F8,$FF,$00,$C0,$E0,$C0,$F0,$3E .db $1E,$07,$2A,$00,$00,$01,$22,$00 .db $00,$62,$24,$00,$02,$01,$00,$62 .db $43,$01,$07,$00,$05,$44,$03,$01 .db $05,$00,$03,$40,$43,$23,$23,$22 .db $06,$0E,$02,$12,$23,$33,$1F,$40 .db $BF,$40,$B3,$00,$3F,$08,$FF,$1C .db $F7,$43,$94,$FF,$14,$DC,$F7,$8C .db $8C,$FF,$FF,$F7,$77,$77,$B7,$72 .db $FD,$78,$DF,$57,$FF,$3E,$FF,$00 .db $7F,$40,$83,$05,$7C,$08,$0F,$78 .db $5C,$57,$7F,$3E,$01,$03,$07,$96 .db $01,$20,$43,$90,$60,$00,$B0,$89 .db $01,$0E,$03,$66,$0F,$10,$30,$85 .db $01,$4A,$4F,$1C,$3E,$3F,$00,$43 .db $01,$03,$03,$02,$07,$05,$0E,$43 .db $0A,$1C,$43,$15,$39,$0F,$01,$01 .db $03,$07,$0F,$0F,$1E,$1E,$2F,$CF .db $5F,$9F,$BF,$3F,$7F,$7F,$27,$FF .db $03,$F0,$E0,$C0,$80,$23,$00,$2F .db $FF,$27,$00,$2F,$FF,$27,$00,$43 .db $10,$00,$85,$03,$C8,$0D,$7C,$00 .db $6C,$00,$82,$00,$10,$10,$FE,$7C .db $38,$7C,$6C,$82,$43,$FF,$00,$E0 .db $37,$7D,$00,$7F,$00,$1F,$00,$3F .db $28,$18,$1F,$00,$05,$00,$01,$03 .db $40,$71,$17,$07,$05,$FB,$03,$F1 .db $01,$F8,$00,$F0,$00,$E3,$03,$9C .db $1F,$12,$1E,$08,$98,$7C,$FE,$FF .db $FF,$FC,$E3,$EC,$D0,$FC,$FF,$E0 .db $FF,$70,$7E,$80,$FE,$00,$F0,$00 .db $80,$23,$00,$05,$03,$1F,$8E,$7E .db $F0,$80,$22,$00,$04,$E0,$00,$70 .db $00,$20,$26,$00,$05,$60,$00,$00 .db $E0,$70,$20,$22,$00,$07,$60,$00 .db $27,$27,$1F,$1F,$07,$07,$23,$03 .db $01,$05,$05,$83,$00,$29,$08,$1F .db $07,$03,$25,$1D,$02,$06,$0D,$E9 .db $22,$FF,$07,$F3,$F3,$ED,$ED,$F3 .db $E1,$FF,$F3,$43,$FF,$81,$00,$DE .db $83,$08,$F1,$08,$FF,$00,$00,$08 .db $1F,$07,$0F,$00,$07,$29,$00,$01 .db $08,$07,$25,$00,$86,$02,$A0,$08 .db $3F,$3E,$7F,$00,$7F,$07,$0F,$00 .db $0F,$83,$02,$B0,$0B,$3E,$00,$07 .db $00,$96,$2F,$A6,$FF,$76,$BF,$44 .db $FE,$43,$60,$FC,$83,$01,$BC,$01 .db $C0,$20,$84,$02,$C9,$22,$00,$02 .db $01,$00,$03,$83,$07,$8C,$01,$00 .db $06,$2C,$00,$06,$E0,$00,$F0,$00 .db $E0,$00,$80,$30,$00,$47,$2B,$73 .db $47,$57,$E7,$23,$3C,$23,$78,$2F .db $FF,$27,$00,$2F,$FF,$27,$00,$02 .db $FF,$FF,$EF,$44,$FF,$C7,$13,$EE .db $FF,$3C,$87,$38,$8F,$F1,$1F,$54 .db $FF,$EF,$EF,$FF,$63,$67,$0E,$9C .db $9E,$CC,$CE,$43,$F8,$FC,$0D,$70 .db $FC,$70,$F8,$C0,$F8,$00,$E0,$60 .db $B0,$C0,$E0,$E0,$80,$23,$00,$83 .db $03,$7C,$02,$1C,$00,$7F,$45,$00 .db $FF,$22,$00,$04,$0F,$3F,$63,$80 .db $01,$22,$00,$0C,$80,$80,$77,$77 .db $7F,$7F,$E0,$00,$F8,$00,$FE,$00 .db $FF,$22,$00,$05,$80,$80,$FF,$E7 .db $FF,$33,$22,$00,$14,$40,$00,$13 .db $F0,$FF,$78,$7F,$1F,$1F,$0F,$0F .db $1F,$1F,$00,$40,$13,$0F,$87,$E0 .db $F0,$E0,$22,$00,$00,$80,$22,$00 .db $10,$C0,$00,$E6,$00,$FF,$80,$F4 .db $00,$FC,$00,$80,$00,$C0,$E6,$FF .db $74,$FC,$2C,$00,$02,$3F,$00,$7F .db $34,$00,$02,$80,$00,$E0,$28,$00 .db $0C,$70,$70,$88,$50,$AC,$7C,$82 .db $34,$4A,$5C,$A2,$80,$DC,$2C,$00 .db $0A,$38,$10,$6C,$38,$44,$30,$4C .db $40,$B8,$80,$C0,$2E,$00,$08,$18 .db $10,$28,$20,$50,$40,$A0,$80,$C0 .db $29,$00,$00,$60,$44,$00,$F0,$00 .db $60,$E4,$28,$00,$47,$57,$E7,$47 .db $2B,$73,$23,$78,$23,$3C,$2F,$FF .db $27,$00,$2F,$FF,$27,$00,$03,$FB .db $0F,$FF,$1F,$2B,$FF,$01,$07,$1F .db $25,$FF,$01,$00,$80,$43,$80,$C0 .db $43,$C0,$E0,$45,$E0,$F0,$83,$0B .db $58,$00,$C0,$22,$E0,$43,$FF,$00 .db $02,$7F,$00,$37,$29,$00,$03,$80 .db $59,$3F,$07,$22,$00,$09,$FF,$00 .db $FE,$00,$F9,$01,$82,$02,$18,$18 .db $25,$00,$04,$1F,$3F,$EE,$FC,$E0 .db $22,$00,$05,$3C,$3F,$60,$7F,$F8 .db $FE,$23,$00,$01,$80,$80,$23,$00 .db $02,$C3,$9F,$06,$25,$00,$02,$F9 .db $00,$82,$22,$00,$00,$46,$27,$00 .db $03,$F9,$82,$00,$46,$24,$00,$08 .db $7F,$0D,$30,$0A,$07,$1A,$17,$1F .db $1F,$22,$00,$07,$7F,$00,$3F,$00 .db $00,$02,$12,$1F,$23,$00,$0C,$F0 .db $80,$30,$80,$18,$C0,$58,$C0,$F8 .db $60,$F0,$00,$C0,$24,$00,$04,$40 .db $C0,$60,$00,$00,$FF,$E0,$3F,$07 .db $01,$0F,$00,$0B,$00,$03,$08,$07 .db $3C,$3F,$7C,$5E,$F9,$79,$FF,$00 .db $00,$0C,$04,$30,$70,$D9,$FF,$FC .db $C0,$3F,$30,$6E,$08,$B7,$84,$86 .db $F4,$74,$FC,$DA,$FC,$D8,$FC,$00 .db $C0,$D0,$68,$78,$F8,$FC,$FC,$00 .db $00,$01,$01,$07,$03,$0F,$02,$1F .db $04,$5F,$26,$5E,$26,$1E,$62,$24 .db $00,$12,$20,$21,$61,$00,$00,$E0 .db $E0,$FE,$F0,$1E,$18,$EE,$0C,$F4 .db $04,$F6,$06,$76,$06,$22,$00,$E0 .db $44,$E0,$70,$C8,$C8,$F8,$06,$00 .db $0F,$00,$0D,$00,$09,$02,$0D,$16 .db $1F,$3E,$35,$7F,$3F,$7F,$00,$00 .db $06,$04,$10,$3E,$75,$7F,$FE,$30 .db $EF,$08,$B7,$04,$3B,$82,$63,$DE .db $EC,$DE,$D5,$3E,$34,$FE,$00,$10 .db $D8,$54,$1C,$1E,$3E,$FE,$00,$0E .db $04,$1B,$0E,$11,$0A,$15,$06,$19 .db $0E,$31,$24,$7B,$51,$FF,$24,$00 .db $0E,$20,$60,$D1,$FF,$C0,$3F,$30 .db $CF,$08,$2F,$C8,$0E,$F8,$77,$F8 .db $85,$00,$24,$02,$F0,$30,$30,$83 .db $00,$2D,$86,$00,$91,$07,$0C,$13 .db $02,$1D,$1C,$3F,$2B,$7F,$24,$00 .db $E0,$24,$1C,$3F,$6B,$1E,$F0,$4F .db $BC,$E7,$14,$A3,$5A,$63,$9E,$EC .db $1E,$44,$BE,$14,$FE,$00,$00,$08 .db $04,$04,$0E,$0E,$1E,$03,$06,$06 .db $0F,$07,$0F,$03,$07,$00,$03,$25 .db $00,$04,$07,$0E,$0F,$07,$03,$2A .db $00,$07,$04,$00,$04,$0E,$04,$3E .db $7C,$3E,$24,$00,$02,$0E,$3E,$3E .db $23,$00,$0A,$1C,$00,$7E,$00,$78 .db $00,$FE,$00,$FF,$00,$7E,$28,$00 .db $15,$22,$10,$12,$3F,$0E,$1F,$0F .db $3F,$7E,$3F,$01,$3E,$00,$01,$00 .db $00,$10,$3F,$1F,$3F,$3E,$3D,$88 .db $00,$30,$08,$84,$9F,$46,$4E,$F6 .db $EE,$F2,$1F,$F3,$23,$00,$02,$80 .db $71,$F1,$22,$E0,$8B,$00,$4C,$01 .db $0E,$06,$86,$00,$59,$0A,$F0,$7F .db $FF,$3E,$7F,$01,$3E,$07,$1F,$00 .db $07,$25,$00,$04,$FF,$7F,$3E,$1F .db $07,$22,$00,$07,$B0,$D8,$70,$98 .db $E0,$F0,$00,$E0,$27,$00,$03,$D8 .db $98,$F0,$E0,$23,$00,$E0,$34,$EF .db $73,$CF,$31,$E7,$78,$73,$FC,$39 .db $7E,$18,$3F,$00,$3C,$00,$18,$70 .db $30,$78,$FC,$7E,$3F,$3C,$18,$0E .db $06,$9F,$86,$FF,$FC,$F8,$3F,$FC .db $03,$78,$86,$00,$7C,$C0,$F8,$F0 .db $60,$00,$07,$03,$86,$7C,$F8,$3F .db $7F,$0F,$3F,$10,$84,$00,$F5,$25 .db $00,$04,$7F,$3F,$0F,$07,$03,$22 .db $00,$09,$E8,$F4,$98,$E4,$60,$B8 .db $80,$F0,$00,$C0,$25,$00,$04,$F4 .db $E4,$B8,$F0,$C0,$22,$00,$84,$01 .db $80,$04,$3F,$1F,$07,$00,$07,$25 .db $00,$04,$FF,$7F,$3F,$07,$07,$22 .db $00,$03,$B0,$F8,$70,$F8,$83,$01 .db $9C,$27,$00,$03,$F8,$F8,$F0,$E0 .db $23,$00,$04,$3F,$7F,$1F,$3F,$00 .db $83,$01,$93,$00,$03,$25,$00,$04 .db $7F,$3F,$1F,$00,$03,$22,$00,$05 .db $E8,$FC,$98,$FC,$60,$F8,$83,$01 .db $FE,$25,$00,$04,$FC,$FC,$F8,$F0 .db $C0,$22,$00,$0E,$90,$00,$48,$00 .db $68,$00,$7C,$00,$3C,$00,$3D,$00 .db $3F,$00,$7F,$28,$00,$02,$40,$00 .db $68,$44,$00,$38,$43,$3C,$00,$02 .db $3E,$00,$3E,$2C,$00,$0A,$1C,$00 .db $3E,$00,$3C,$00,$7E,$00,$7F,$00 .db $7C,$28,$00,$E0,$2F,$01,$01,$07 .db $33,$3F,$72,$5F,$E4,$5F,$E6,$6E .db $F6,$6E,$F2,$1F,$73,$00,$30,$70 .db $E0,$E0,$F1,$F1,$60,$77,$19,$37 .db $18,$3B,$0C,$1D,$06,$04,$03,$01 .db $07,$17,$0F,$30,$0F,$08,$08,$04 .db $02,$03,$07,$0F,$0F,$84,$01,$CA .db $0B,$38,$FC,$00,$78,$80,$00,$F8 .db $F0,$FC,$00,$FC,$60,$22,$00,$03 .db $80,$F8,$FC,$FC,$8D,$00,$32,$01 .db $6F,$F3,$23,$00,$03,$20,$21,$61 .db $F0,$97,$01,$68,$8F,$03,$00,$23 .db $00,$9B,$03,$14,$E0,$5D,$03,$03 .db $3F,$03,$64,$BB,$83,$FF,$33,$CF .db $7C,$87,$77,$80,$3D,$03,$00,$00 .db $BB,$FF,$CF,$02,$09,$33,$E0,$E0 .db $FC,$F0,$5C,$98,$AC,$CC,$DC,$E0 .db $1E,$E2,$42,$A2,$EA,$FA,$00,$00 .db $A0,$D0,$F0,$10,$5C,$F4,$00,$03 .db $00,$0F,$08,$3F,$3C,$7F,$76,$77 .db $72,$F2,$60,$E0,$4F,$C0,$03,$0F .db $37,$43,$09,$8D,$9F,$B8,$00,$80 .db $00,$A0,$00,$C8,$00,$A0,$00,$00 .db $7C,$80,$FE,$02,$FF,$01,$80,$A0 .db $C8,$A0,$00,$80,$24,$00,$1E,$01 .db $00,$07,$00,$0F,$00,$1F,$08,$37 .db $0E,$21,$3B,$40,$00,$00,$01,$07 .db $0F,$1F,$1F,$3F,$00,$7F,$40,$BF .db $60,$9F,$70,$8F,$78,$87,$43,$7C .db $83,$19,$38,$C7,$00,$1F,$0F,$07 .db $03,$01,$01,$83,$01,$01,$03,$02 .db $07,$00,$07,$20,$07,$00,$07,$50 .db $07,$20,$03,$F4,$22,$00,$09,$20 .db $00,$50,$20,$F4,$C0,$80,$F0,$00 .db $FC,$44,$00,$FE,$44,$FF,$00,$25 .db $00,$03,$40,$20,$79,$01,$44,$00 .db $03,$09,$0F,$08,$18,$18,$33,$30 .db $E7,$60,$E3,$20,$23,$00,$83,$03 .db $D3,$00,$00,$44,$00,$80,$09,$E0 .db $20,$18,$18,$CC,$0C,$E6,$06,$C7 .db $07,$23,$00,$04,$E0,$F0,$B8,$38 .db $01,$44,$00,$03,$85,$04,$26,$03 .db $F7,$60,$FB,$60,$23,$00,$04,$07 .db $0F,$0F,$07,$00,$44,$00,$80,$86 .db $04,$3E,$02,$02,$CF,$03,$23,$00 .db $0B,$E0,$F0,$F8,$F0,$6F,$F1,$97 .db $78,$3B,$CC,$1D,$86,$87,$02,$D8 .db $03,$70,$A8,$04,$82,$94,$02,$E4 .db $22,$00,$83,$02,$FC,$87,$04,$80 .db $07,$60,$1F,$FE,$1F,$07,$3F,$00 .db $07,$83,$04,$90,$03,$1F,$1F,$3F .db $07,$8A,$02,$E8,$05,$FC,$98,$FE .db $00,$FC,$60,$22,$00,$0A,$80,$FC .db $FE,$FC,$3C,$03,$36,$05,$1F,$00 .db $0F,$62,$00,$13,$00,$0F,$2F,$1F .db $60,$1F,$03,$19,$00,$00,$02,$0F .db $1F,$1F,$EE,$F6,$1E,$E2,$84,$78 .db $43,$D8,$3C,$E0,$28,$D0,$FE,$BE .db $FD,$07,$F8,$F0,$E0,$78,$3C,$3C .db $FE,$FD,$F8,$4F,$C0,$47,$C0,$5F .db $C0,$0F,$40,$27,$60,$0F,$20,$07 .db $18,$01,$0C,$B8,$BC,$AC,$77,$5E .db $3C,$1F,$0F,$FF,$01,$FF,$44,$00 .db $FE,$43,$FC,$00,$02,$F8,$00,$E0 .db $22,$00,$09,$80,$00,$00,$60,$C0 .db $80,$3B,$40,$3F,$40,$43,$7F,$80 .db $43,$7B,$80,$05,$13,$88,$00,$68 .db $3F,$3F,$23,$7F,$03,$77,$17,$00 .db $FF,$43,$80,$7F,$03,$E0,$1F,$E8 .db $17,$43,$FC,$03,$E0,$22,$F0,$0F .db $C7,$FF,$C7,$F3,$FB,$FD,$FD,$F1 .db $41,$F8,$7D,$FC,$1B,$78,$33,$70 .db $10,$30,$18,$38,$0F,$1F,$00,$07 .db $BE,$82,$67,$4F,$2F,$27,$10,$07 .db $FF,$43,$00,$FE,$E0,$23,$01,$F4 .db $03,$70,$02,$08,$0C,$E0,$F8,$00 .db $E0,$6B,$6B,$FF,$FF,$FE,$F4,$18 .db $E0,$F1,$30,$FF,$FE,$FF,$C1,$FF .db $80,$FF,$00,$C3,$3C,$BC,$7F,$00 .db $3F,$0E,$23,$00,$0C,$3C,$7F,$3F .db $EF,$0F,$FF,$1F,$FF,$FF,$FE,$7E .db $FF,$1E,$83,$05,$2A,$02,$3C,$C0 .db $10,$25,$00,$10,$C0,$FD,$E0,$FC .db $E0,$7C,$3C,$FF,$1F,$FF,$07,$7F .db $00,$3F,$00,$0F,$00,$22,$03,$24 .db $00,$09,$9F,$03,$1F,$03,$3E,$3C .db $FF,$F8,$FF,$E0,$83,$05,$2E,$04 .db $F0,$00,$E0,$E0,$C0,$27,$00,$0C .db $60,$20,$51,$30,$4B,$38,$47,$3E .db $41,$1E,$21,$1C,$23,$22,$00,$01 .db $01,$01,$83,$03,$C1,$13,$3F,$00 .db $7F,$10,$EF,$18,$E7,$1C,$E3,$1E .db $E1,$1F,$E0,$1E,$E1,$00,$0F,$47 .db $C3,$C1,$22,$C0,$0B,$00,$E0,$00 .db $FC,$00,$FF,$01,$FE,$0F,$F0,$FF .db $00,$43,$7F,$80,$02,$00,$E0,$FC .db $22,$FF,$01,$7F,$7F,$24,$00,$02 .db $80,$80,$40,$43,$C0,$20,$43,$E0 .db $10,$22,$00,$0E,$80,$C0,$C0,$E0 .db $E0,$00,$03,$02,$05,$03,$04,$07 .db $08,$00,$0F,$83,$02,$7B,$01,$03 .db $FC,$24,$00,$02,$0F,$3F,$7F,$22 .db $00,$06,$0C,$08,$94,$98,$64,$18 .db $E4,$83,$06,$32,$01,$F8,$07,$24 .db $00,$02,$E0,$FC,$FF,$22,$00,$02 .db $0C,$08,$14,$43,$18,$24,$05,$3C .db $42,$3C,$C2,$00,$FE,$26,$00,$00 .db $C0,$38,$00,$E0,$36,$18,$00,$14 .db $00,$23,$00,$22,$10,$32,$09,$1B .db $08,$19,$04,$0D,$07,$0B,$1C,$1D .db $0D,$04,$06,$02,$74,$0B,$38,$07 .db $3F,$80,$1E,$C1,$1D,$42,$0B,$24 .db $03,$34,$81,$92,$F1,$F9,$7F,$3E .db $BC,$D8,$C8,$6C,$00,$03,$03,$0F .db $0F,$1F,$1E,$3C,$43,$33,$70,$E0 .db $23,$63,$E0,$6F,$E0,$03,$0C,$10 .db $21,$4C,$4C,$9C,$90,$00,$C0,$C0 .db $F0,$F0,$F8,$38,$3C,$3C,$0E,$FC .db $0E,$E6,$07,$C6,$07,$C0,$30,$08 .db $C4,$C2,$02,$19,$39,$85,$06,$F0 .db $05,$1C,$3C,$3C,$70,$3E,$70,$43 .db $67,$E0,$07,$03,$0C,$10,$23,$43 .db $41,$98,$98,$85,$07,$08,$01,$78 .db $3C,$43,$CC,$0E,$02,$C6,$07,$E6 .db $83,$07,$17,$08,$84,$32,$32,$39 .db $19,$00,$FF,$00,$80,$45,$3F,$BF .db $07,$7F,$BF,$5F,$9F,$58,$98,$00 .db $7F,$23,$40,$01,$60,$67,$83,$04 .db $15,$25,$FF,$07,$3C,$3F,$19,$1E .db $1A,$1C,$00,$FF,$22,$00,$04,$C0 .db $E1,$E3,$00,$3F,$47,$00,$7F,$01 .db $01,$7E,$43,$01,$FE,$0D,$03,$1F .db $2F,$37,$37,$3B,$7B,$73,$20,$DF .db $27,$D8,$5F,$A0,$43,$BF,$40,$43 .db $7F,$80,$09,$3F,$C0,$E0,$E7,$DF .db $BF,$BF,$7F,$7F,$3F,$49,$FF,$00 .db $01,$E6,$10,$43,$E0,$08,$24,$FF .db $04,$EF,$F7,$F7,$E0,$10,$43,$C0 .db $08,$0A,$80,$08,$00,$0C,$00,$0A .db $00,$11,$00,$61,$E0,$23,$F0,$0C .db $F4,$EE,$9E,$3E,$C0,$18,$C1,$01 .db $A7,$07,$BF,$1F,$BF,$43,$0F,$5F .db $E0,$21,$07,$2F,$7F,$3E,$59,$47 .db $5F,$2F,$2F,$17,$1C,$03,$0E,$C1 .db $C7,$E0,$E3,$F0,$F3,$F8,$F1,$F8 .db $F9,$FC,$F8,$FC,$FF,$3F,$DF,$EF .db $F7,$F7,$FB,$FB,$43,$00,$FF,$06 .db $80,$7F,$C0,$3F,$E0,$1F,$F8,$84 .db $05,$87,$00,$FC,$26,$FF,$03,$00 .db $80,$80,$60,$83,$07,$C8,$11,$00 .db $04,$00,$06,$00,$05,$08,$0D,$00 .db $80,$E0,$F0,$F8,$F8,$FA,$F2,$04 .db $0C,$43,$02,$06,$01,$01,$03,$43 .db $00,$01,$23,$00,$02,$03,$01,$01 .db $24,$00,$1B,$60,$E9,$18,$7C,$04 .db $1E,$00,$07,$80,$81,$83,$83,$03 .db $83,$7E,$FF,$16,$83,$E1,$F8,$7E .db $7C,$7C,$00,$7F,$E0,$63,$E0,$43 .db $33,$70,$E0,$2B,$1E,$3C,$0F,$1F .db $03,$0F,$00,$03,$80,$9C,$4C,$4C .db $21,$10,$0C,$03,$F6,$07,$FE,$07 .db $8C,$0E,$0C,$0E,$38,$3C,$F0,$F8 .db $C0,$F0,$00,$C0,$09,$01,$72,$F2 .db $C4,$08,$30,$C0,$6F,$E0,$7F,$E0 .db $43,$31,$70,$00,$1C,$86,$08,$79 .db $04,$90,$80,$4E,$4E,$23,$86,$08 .db $85,$43,$8C,$0E,$00,$B8,$89,$08 .db $91,$06,$72,$44,$08,$30,$C0,$41 .db $81,$43,$43,$83,$01,$41,$81,$43 .db $40,$80,$12,$3F,$BF,$00,$FF,$7E .db $7C,$7C,$7E,$7F,$7F,$40,$00,$0A .db $0E,$81,$87,$84,$87,$03,$84,$08 .db $50,$15,$FF,$FF,$00,$FF,$F1,$78 .db $78,$FC,$FE,$FF,$00,$00,$0B,$F4 .db $03,$FC,$0F,$F0,$11,$EE,$1E,$E1 .db $43,$0E,$B1,$0E,$11,$CE,$63,$73 .db $4F,$41,$40,$60,$60,$31,$5F,$A0 .db $3F,$C0,$FC,$43,$00,$F8,$E0,$28 .db $03,$E0,$04,$C0,$04,$80,$18,$1F .db $3F,$FF,$FF,$FC,$FB,$FB,$E7,$C1 .db $09,$C2,$13,$02,$13,$04,$26,$0C .db $CE,$18,$1C,$30,$38,$60,$70,$F6 .db $EC,$EC,$D9,$31,$E3,$C7,$8F,$00 .db $81,$45,$00,$01,$43,$02,$03,$43 .db $06,$07,$00,$7E,$22,$FE,$0D,$FC .db $FC,$F8,$F8,$07,$2F,$03,$17,$00 .db $0B,$00,$04,$00,$03,$45,$00,$01 .db $03,$17,$0B,$04,$03,$23,$00,$02 .db $FC,$FE,$FE,$22,$FF,$09,$7F,$FF .db $3F,$FF,$BF,$7F,$BE,$7F,$BD,$7E .db $62,$FD,$05,$7F,$3F,$BF,$BE,$BD .db $70,$22,$00,$17,$01,$81,$9E,$E3 .db $B8,$C2,$74,$86,$E4,$06,$C8,$0C .db $FF,$FF,$7E,$9C,$BD,$79,$F9,$F3 .db $70,$79,$80,$F1,$83,$09,$48,$43 .db $02,$03,$43,$06,$07,$02,$86,$0E .db $7E,$84,$09,$5B,$14,$00,$00,$1C .db $0C,$3E,$3E,$7F,$41,$FF,$FF,$9F .db $00,$1C,$00,$08,$00,$1C,$2E,$7F .db $3E,$C1,$22,$FF,$07,$01,$00,$20 .db $20,$82,$82,$19,$09,$22,$FF,$09 .db $0C,$3F,$0E,$7F,$00,$01,$00,$18 .db $2C,$E7,$22,$FF,$14,$20,$00,$C9 .db $00,$69,$20,$3B,$3A,$FF,$EB,$FF .db $00,$1E,$00,$3C,$00,$20,$C9,$69 .db $3B,$D5,$22,$FF,$23,$00,$13,$98 .db $18,$3C,$2C,$FF,$C3,$FE,$3E,$0E .db $0E,$04,$04,$00,$18,$BC,$6E,$BD .db $C3,$FF,$FF,$23,$00,$0A,$81,$81 .db $48,$48,$FF,$63,$F7,$00,$1E,$00 .db $CE,$24,$00,$23,$FF,$23,$00,$13 .db $3C,$2C,$7E,$5E,$FF,$BD,$FF,$42 .db $03,$00,$5F,$00,$00,$3C,$6E,$DF .db $7E,$BD,$FF,$FF,$25,$00,$08,$9D .db $8D,$FF,$E3,$FD,$1C,$1C,$00,$3C .db $22,$00,$19,$1C,$2E,$DD,$E3,$FF .db $FF,$10,$00,$83,$00,$12,$00,$97 .db $12,$50,$40,$8D,$00,$3F,$0C,$3D .db $00,$10,$83,$12,$97,$23,$FF,$09 .db $1E,$40,$0C,$60,$00,$21,$00,$19 .db $00,$07,$25,$00,$03,$3F,$1F,$1E .db $06,$23,$00,$19,$01,$61,$0F,$8F .db $FC,$FF,$00,$FC,$08,$10,$09,$11 .db $05,$09,$07,$0F,$9E,$70,$00,$03 .db $0F,$0E,$06,$00,$C0,$E0,$83,$02 .db $00,$00,$01,$62,$01,$17,$C2,$83 .db $42,$83,$7E,$FF,$1F,$3F,$FF,$FE .db $FC,$7C,$7C,$00,$0C,$0F,$3C,$3E .db $78,$7C,$F8,$FC,$70,$FC,$43,$F0 .db $F8,$04,$E0,$F0,$F0,$C0,$80,$25 .db $00,$08,$03,$01,$06,$02,$05,$01 .db $02,$00,$01,$26,$00,$02,$01,$02 .db $01,$23,$00,$0B,$BD,$7E,$72,$FC .db $09,$F1,$E6,$07,$08,$8F,$01,$7D .db $83,$0A,$A4,$0F,$BD,$73,$0E,$F8 .db $70,$02,$06,$00,$90,$18,$60,$70 .db $80,$E0,$01,$C1,$43,$82,$83,$07 .db $02,$83,$7E,$FF,$E7,$8F,$1F,$3E .db $22,$7C,$8A,$0A,$C7,$43,$F0,$F8 .db $84,$0A,$D6,$24,$00,$00,$8F,$24 .db $00,$05,$26,$06,$50,$00,$06,$06 .db $23,$00,$22,$FF,$43,$F9,$FF,$03 .db $FF,$C3,$00,$18,$22,$00,$03,$0E .db $0E,$8B,$03,$25,$00,$22,$FF,$01 .db $F1,$FC,$22,$FF,$02,$E3,$00,$26 .db $22,$00,$03,$70,$00,$8E,$06,$25 .db $00,$23,$FF,$00,$F9,$22,$FF,$02 .db $0D,$00,$60,$22,$00,$05,$74,$74 .db $00,$00,$3A,$18,$23,$00,$22,$FF .db $05,$8B,$FF,$E7,$FF,$FF,$BB,$22 .db $00,$05,$50,$00,$88,$00,$4C,$4C .db $25,$00,$23,$FF,$00,$B3,$22,$FF .db $02,$8D,$00,$E0,$22,$00,$04,$12 .db $12,$2E,$0E,$50,$24,$00,$22,$FF .db $01,$ED,$F1,$22,$FF,$00,$EF,$22 .db $00,$07,$38,$00,$03,$03,$26,$26 .db $30,$30,$23,$00,$22,$FF,$0F,$FC .db $D9,$CF,$FF,$FF,$75,$00,$38,$00 .db $06,$00,$0C,$0C,$57,$07,$88,$24 .db $00,$22,$FF,$01,$F3,$F8,$22,$FF .db $FF,$0F,$00,$01,$01,$03,$03,$02 .db $03,$00,$00,$03,$03,$04,$07,$08 .db $0B,$14,$24,$00,$22,$03,$0F,$00 .db $B0,$B0,$F8,$F8,$4C,$58,$A4,$58 .db $A6,$BA,$47,$DA,$27,$64,$9A,$24 .db $00,$02,$82,$C2,$64,$3C,$00,$02 .db $01,$01,$06,$83,$00,$0C,$03,$0F .db $10,$1F,$20,$22,$00,$04,$01,$01 .db $03,$0F,$1F,$22,$00,$0C,$6C,$6C .db $FE,$8E,$73,$E6,$19,$76,$89,$F8 .db $07,$FC,$03,$22,$00,$04,$80,$E0 .db $70,$F8,$FC,$2C,$00,$02,$C0,$80 .db $C0,$26,$00,$00,$80,$87,$00,$08 .db $83,$00,$54,$04,$0F,$20,$03,$10 .db $00,$22,$03,$0B,$0F,$1F,$1F,$0F .db $00,$80,$80,$66,$E6,$1F,$77,$89 .db $43,$FB,$04,$03,$E5,$02,$1A,$19 .db $84,$00,$72,$02,$F8,$FC,$E6,$26 .db $00,$46,$80,$00,$01,$80,$C0,$26 .db $00,$00,$80,$E4,$22,$00,$04,$6C .db $6C,$FE,$FE,$13,$E4,$2C,$00,$02 .db $60,$20,$50,$26,$00,$00,$20,$22 .db $00,$0C,$01,$00,$01,$01,$07,$06 .db $0E,$08,$18,$09,$79,$32,$73,$23 .db $00,$1B,$01,$07,$06,$0D,$00,$00 .db $B4,$4A,$FC,$03,$33,$CF,$01,$31 .db $84,$84,$4A,$CA,$31,$F9,$00,$00 .db $48,$30,$CE,$7B,$B5,$CE,$26,$00 .db $08,$80,$80,$E0,$E0,$F0,$20,$3C .db $18,$1C,$25,$00,$03,$C0,$E0,$0F .db $10,$43,$1F,$20,$08,$07,$10,$03 .db $10,$00,$08,$03,$07,$00,$84,$00 .db $A3,$03,$0F,$07,$00,$00,$43,$FC .db $01,$15,$C8,$11,$C2,$13,$24,$3E .db $52,$67,$B2,$C7,$10,$E6,$FE,$FE .db $EE,$EC,$C0,$8A,$0A,$08,$00,$80 .db $43,$80,$C0,$01,$00,$80,$28,$00 .db $01,$80,$80,$24,$00,$83,$01,$84 .db $03,$08,$18,$03,$0F,$44,$00,$03 .db $05,$39,$39,$7E,$1F,$0F,$07,$23 .db $00,$19,$38,$FC,$01,$CC,$09,$30 .db $38,$C1,$F9,$02,$FF,$0C,$F1,$18 .db $E5,$E0,$1F,$FE,$F6,$C7,$06,$30 .db $E2,$02,$00,$80,$43,$C0,$00,$44 .db $E0,$40,$1E,$00,$C0,$00,$1E,$1E .db $FF,$80,$00,$00,$40,$40,$00,$00 .db $1E,$0C,$1C,$03,$1F,$00,$03,$00 .db $1D,$1C,$3F,$0C,$3F,$04,$3F,$06 .db $1F,$03,$22,$00,$22,$1C,$18,$06 .db $E3,$F8,$01,$F8,$00,$F8,$01,$F9 .db $06,$FB,$04,$FB,$0A,$F7,$10,$EF .db $07,$17,$77,$F6,$F0,$F0,$E2,$00 .db $44,$00,$C0,$02,$F0,$70,$F8,$43 .db $70,$FC,$03,$60,$F8,$C0,$F0,$22 .db $00,$04,$70,$78,$78,$70,$E0,$24 .db $00,$84,$00,$4D,$05,$0F,$10,$0B .db $14,$1F,$20,$22,$00,$13,$01,$01 .db $07,$0B,$1F,$FE,$01,$D6,$29,$56 .db $A9,$9E,$61,$ED,$12,$F3,$0C,$7F .db $80,$FF,$23,$00,$E0,$49,$80,$E1 .db $F3,$7F,$FF,$00,$01,$00,$07,$07 .db $8F,$8F,$DF,$1F,$FF,$9E,$7F,$A1 .db $5E,$C0,$3F,$00,$00,$07,$8F,$1F .db $9E,$80,$C0,$30,$C8,$B0,$44,$40 .db $A4,$44,$A2,$4C,$A2,$8C,$42,$1C .db $82,$3C,$02,$30,$38,$18,$18,$10 .db $30,$60,$C0,$25,$67,$15,$37,$15 .db $36,$12,$36,$0A,$1F,$0E,$1F,$0D .db $1D,$00,$10,$1A,$0A,$0A,$0D,$05 .db $62,$0D,$0F,$CE,$FE,$CE,$32,$86 .db $78,$85,$79,$00,$60,$09,$B9,$33 .db $F3,$86,$C6,$22,$31,$0E,$32,$FF .db $F6,$FC,$79,$88,$8C,$F0,$FC,$B0 .db $F8,$A0,$F0,$A0,$B0,$43,$E0,$F0 .db $03,$30,$3C,$70,$00,$22,$40,$22 .db $C0,$06,$00,$03,$03,$0F,$0E,$1F .db $0C,$43,$1F,$00,$00,$0E,$24,$00 .db $03,$03,$0F,$0E,$0E,$22,$00,$08 .db $30,$C3,$BB,$C7,$38,$C7,$7C,$83 .db $7E,$44,$80,$7F,$06,$3F,$40,$0C .db $83,$83,$00,$01,$23,$00,$17,$C8 .db $C8,$F4,$74,$FA,$34,$FA,$00,$FE .db $00,$7A,$C4,$02,$FC,$02,$00,$C0 .db $F0,$70,$70,$84,$38,$00,$1C,$43 .db $7F,$00,$00,$3F,$29,$00,$01,$3C .db $3F,$25,$00,$07,$19,$E7,$38,$C3 .db $3C,$C1,$3E,$40,$47,$7F,$80,$03 .db $01,$05,$02,$01,$23,$00,$1D,$DC .db $FF,$18,$FF,$00,$FF,$20,$5E,$14 .db $2A,$88,$16,$E0,$0A,$FC,$02,$DE .db $FE,$1E,$80,$C0,$60,$14,$00,$01 .db $0E,$00,$07,$00,$03,$29,$00,$01 .db $04,$02,$25,$00,$03,$E9,$17,$18 .db $E3,$83,$03,$64,$00,$7E,$46,$80 .db $7F,$83,$03,$70,$00,$01,$22,$00 .db $09,$80,$E0,$00,$F0,$00,$F8,$20 .db $5C,$24,$5A,$84,$03,$80,$07,$0E .db $C0,$80,$10,$80,$80,$C0,$60,$83 .db $00,$99,$08,$10,$07,$10,$00,$08 .db $01,$07,$00,$01,$23,$00,$83,$01 .db $92,$23,$00,$13,$FE,$00,$E1,$00 .db $9E,$1D,$22,$3D,$C2,$FD,$02,$DD .db $0C,$12,$00,$0C,$FF,$FE,$E0,$C0 .db $23,$00,$09,$46,$3F,$D7,$2F,$BB .db $47,$79,$87,$3C,$43,$45,$00,$7F .db $0F,$CE,$47,$03,$03,$01,$00,$3E .db $00,$48,$B4,$80,$E8,$C0,$E8,$80 .db $F8,$48,$00,$FC,$12,$90,$D0,$C0 .db $98,$78,$F8,$00,$10,$30,$13,$33 .db $17,$37,$1F,$3F,$07,$1F,$04,$0F .db $43,$00,$07,$02,$0F,$0C,$0B,$22 .db $07,$01,$03,$01,$23,$FF,$00,$EF .db $44,$FF,$C7,$13,$EE,$FF,$3C,$87 .db $38,$CF,$00,$FC,$FF,$EF,$EF,$FF .db $63,$A7,$30,$3C,$D8,$DC,$EC,$EE .db $43,$F8,$FC,$0C,$7C,$FE,$70,$FC .db $F0,$F8,$C0,$20,$90,$C0,$E0,$E0 .db $80,$38,$00,$01,$3F,$40,$83,$03 .db $D8,$05,$03,$1C,$00,$3F,$20,$5F .db $43,$00,$7F,$24,$00,$04,$1C,$3E .db $00,$C8,$34,$43,$A0,$68,$05,$80 .db $78,$00,$FC,$80,$7C,$44,$00,$FC .db $05,$10,$10,$00,$18,$78,$F8,$38 .db $00,$43,$3F,$40,$07,$1F,$20,$07 .db $18,$01,$3E,$20,$5F,$43,$00,$7F .db $23,$00,$05,$08,$1E,$3E,$00,$CC .db $32,$43,$A0,$6C,$85,$04,$B6,$44 .db $00,$FC,$85,$04,$C1,$38,$00,$01 .db $7F,$80,$43,$3F,$40,$05,$1F,$20 .db $07,$38,$20,$5F,$43,$00,$7F,$24 .db $00,$06,$18,$3E,$00,$C0,$32,$A4 .db $6A,$87,$04,$FC,$43,$00,$FC,$00 .db $0C,$85,$04,$C1,$2B,$00,$84,$00 .db $4D,$25,$00,$01,$01,$01,$85,$00 .db $FA,$89,$02,$70,$25,$00,$01,$80 .db $E1,$2A,$00,$83,$00,$CD,$00,$C0 .db $25,$00,$00,$80,$2F,$00,$00,$18 .db $27,$00,$01,$01,$03,$62,$01,$00 .db $07,$43,$07,$0F,$43,$0F,$1F,$03 .db $1F,$3F,$00,$00,$83,$05,$BC,$07 .db $0F,$1F,$F1,$1F,$FB,$0F,$FF,$1F .db $29,$FF,$02,$0E,$07,$1F,$24,$FF .db $07,$60,$F8,$00,$E0,$80,$C0,$C0 .db $E0,$45,$E0,$F0,$05,$F0,$F8,$00 .db $00,$80,$C0,$22,$E0,$E0,$2F,$F0 .db $50,$9D,$65,$8A,$65,$8B,$72,$85 .db $31,$4E,$36,$4F,$3B,$47,$1D,$23 .db $20,$30,$31,$18,$10,$16,$03,$01 .db $00,$EC,$C8,$F7,$08,$F5,$10,$EA .db $F0,$0A,$04,$F2,$08,$84,$78,$84 .db $00,$E0,$E2,$04,$04,$08,$70,$29 .db $00,$06,$0E,$0E,$31,$3F,$40,$2F .db $50,$24,$00,$12,$0E,$27,$0F,$00 .db $60,$60,$90,$F0,$08,$70,$88,$70 .db $8E,$F6,$0F,$F6,$DF,$F0,$3E,$24 .db $00,$08,$06,$06,$C0,$00,$06,$06 .db $09,$0F,$10,$43,$0D,$12,$05,$0E .db $11,$09,$16,$15,$2A,$25,$00,$01 .db $01,$15,$85,$06,$48,$43,$B0,$48 .db $05,$70,$88,$90,$68,$A8,$54,$25 .db $00,$01,$80,$A8,$83,$06,$60,$44 .db $0F,$10,$0A,$1F,$00,$1F,$09,$1E .db $15,$2A,$00,$06,$0F,$0F,$87,$06 .db $74,$44,$F0,$08,$0A,$F8,$00,$F8 .db $90,$78,$A8,$54,$00,$60,$F0,$F0 .db $84,$06,$8C,$04,$07,$06,$19,$1E .db $21,$43,$3C,$42,$05,$74,$8A,$60 .db $96,$00,$F0,$27,$00,$83,$02,$62 .db $43,$1F,$20,$87,$03,$DA,$01,$07 .db $0B,$85,$01,$91,$85,$02,$7A,$89 .db $03,$F0,$02,$F3,$7F,$FF,$84,$04 .db $00,$E0,$47,$80,$70,$D0,$38,$D0 .db $3B,$03,$3F,$CF,$3F,$80,$7F,$B0 .db $4F,$CF,$3F,$80,$D0,$D0,$C3,$0F .db $00,$00,$0F,$08,$14,$08,$F4,$6C .db $92,$A8,$D2,$46,$A1,$8E,$41,$1E .db $81,$9E,$E1,$08,$08,$0C,$8C,$18 .db $30,$60,$80,$FE,$7F,$FD,$BF,$FB .db $DF,$F7,$EF,$EF,$F7,$DF,$FB,$BF .db $FD,$7F,$FE,$FE,$FD,$FB,$F7,$EF .db $DF,$BF,$7F,$28,$00,$02,$06,$06 .db $09,$43,$0F,$10,$30,$00,$02,$60 .db $60,$90,$43,$F0,$08,$27,$00,$07 .db $1B,$27,$0B,$17,$04,$0B,$00,$07 .db $27,$00,$01,$03,$03,$25,$00,$09 .db $B0,$C8,$90,$E8,$40,$B0,$00,$E0 .db $00,$F0,$44,$00,$70,$00,$30,$83 .db $01,$C1,$0F,$E0,$60,$60,$00,$7F .db $80,$7D,$80,$78,$83,$34,$86,$08 .db $4C,$00,$38,$43,$00,$01,$04,$7F .db $7E,$7C,$78,$30,$22,$00,$43,$EA .db $0F,$01,$E8,$0E,$43,$64,$8E,$0D .db $60,$8E,$EA,$0F,$20,$C6,$F2,$F2 .db $70,$34,$14,$10,$12,$18,$43,$2F .db $50,$0B,$27,$50,$09,$58,$16,$3E .db $09,$1F,$06,$09,$03,$04,$22,$2F .db $01,$27,$01,$22,$00,$43,$F4,$0A .db $0B,$E4,$0A,$90,$1A,$68,$7C,$90 .db $F8,$60,$90,$C0,$20,$22,$F4,$01 .db $E4,$80,$22,$00,$43,$2F,$50,$8B .db $07,$E4,$22,$2F,$01,$27,$01,$22 .db $00,$43,$F4,$0A,$8B,$07,$FC,$22 .db $F4,$01,$E4,$80,$23,$00,$0E,$60 .db $40,$A0,$40,$B8,$70,$88,$38,$46 .db $3C,$42,$1C,$22,$00,$1C,$28,$00 .db $00,$01,$35,$00,$85,$03,$FA,$31 .db $00,$07,$6F,$9F,$71,$8F,$3C,$43 .db $1E,$21,$83,$05,$30,$43,$00,$7F .db $02,$0F,$03,$01,$84,$05,$3B,$07 .db $CE,$F1,$84,$EA,$00,$CC,$00,$B8 .db $83,$04,$B8,$43,$00,$FC,$03,$C0 .db $D0,$B0,$40,$83,$04,$C4,$97,$07 .db $38,$01,$0F,$10,$43,$0D,$12,$09 .db $0E,$31,$29,$56,$35,$4A,$2F,$50 .db $0F,$50,$23,$00,$05,$21,$35,$2F .db $2F,$F0,$08,$43,$B0,$48,$09,$70 .db $8C,$94,$6A,$AC,$52,$F4,$0A,$F0 .db $0A,$23,$00,$03,$84,$AC,$F4,$F4 .db $97,$07,$38,$97,$07,$38,$24,$00 .db $43,$01,$00,$00,$0F,$85,$06,$3A .db $24,$00,$86,$06,$45,$43,$E0,$08 .db $07,$F0,$1E,$E6,$EF,$86,$0F,$C0 .db $0E,$83,$06,$B8,$07,$E0,$16,$F6 .db $F0,$03,$3C,$33,$78,$43,$67,$F0 .db $03,$4F,$E0,$0F,$60,$43,$1F,$20 .db $0B,$00,$34,$68,$68,$50,$10,$00 .db $00,$C0,$3C,$CC,$1E,$43,$E6,$0F .db $03,$F2,$07,$F0,$06,$43,$F8,$04 .db $05,$00,$2C,$16,$16,$0A,$08,$22 .db $00,$86,$06,$61,$07,$0C,$13,$09 .db $16,$07,$18,$0F,$30,$24,$00,$01 .db $01,$07,$86,$06,$47,$09,$B0,$48 .db $30,$C8,$90,$68,$E0,$18,$F0,$0C .db $24,$00,$0A,$80,$E0,$F0,$12,$3D .db $01,$3A,$06,$11,$07,$10,$43,$0F .db $20,$43,$1F,$20,$0F,$10,$04,$08 .db $08,$10,$10,$00,$00,$48,$BC,$80 .db $5C,$60,$88,$E0,$08,$43,$F0,$04 .db $43,$F8,$04,$05,$08,$20,$10,$10 .db $08,$08,$22,$00,$0E,$03,$03,$07 .db $07,$00,$05,$1A,$15,$72,$67,$C0 .db $1E,$81,$61,$9E,$23,$00,$03,$08 .db $1C,$7E,$60,$83,$00,$CC,$0B,$C0 .db $E0,$C0,$70,$D0,$18,$90,$58,$50 .db $98,$A0,$30,$23,$00,$05,$20,$20 .db $60,$C0,$0E,$0E,$45,$0F,$09,$43 .db $1F,$11,$03,$3F,$20,$7F,$40,$26 .db $00,$00,$04,$25,$00,$09,$60,$60 .db $E0,$A0,$F0,$30,$F0,$50,$F0,$90 .db $27,$00,$09,$07,$30,$09,$18,$16 .db $3E,$29,$7F,$66,$F1,$85,$09,$66 .db $03,$0F,$07,$01,$20,$83,$09,$72 .db $09,$E0,$0C,$90,$18,$68,$7C,$94 .db $FE,$66,$8F,$85,$09,$7E,$03,$F0 .db $E0,$80,$04,$83,$09,$8A,$F0,$2F .db $09,$00,$83,$07,$B0,$43,$79,$82 .db $0A,$34,$87,$0B,$4C,$07,$38,$00 .db $07,$7F,$7F,$7C,$84,$07,$C2,$43 .db $EA,$0F,$00,$E8,$44,$0E,$E4,$0D .db $E0,$0E,$6A,$8F,$20,$46,$F2,$F2 .db $F0,$F4,$74,$10,$12,$18,$43,$0F .db $10,$0B,$07,$08,$01,$0E,$00,$0F .db $00,$1F,$10,$2F,$00,$3F,$23,$00 .db $03,$06,$0F,$0E,$00,$43,$F0,$08 .db $03,$E0,$10,$80,$70,$83,$03,$C2 .db $03,$08,$F4,$00,$FC,$23,$00,$03 .db $60,$F0,$70,$00,$83,$07,$E2,$03 .db $28,$58,$07,$6F,$43,$68,$F7,$0B .db $70,$FF,$34,$7B,$2F,$2F,$27,$10 .db $60,$63,$73,$31,$83,$07,$FA,$03 .db $14,$1A,$E0,$F6,$43,$16,$EF,$19 .db $0E,$FF,$2C,$DE,$F4,$F4,$E4,$08 .db $06,$C6,$CE,$8C,$0F,$D0,$4F,$B0 .db $07,$F8,$01,$FE,$00,$7F,$00,$7C .db $00,$3C,$83,$05,$AE,$11,$60,$78 .db $3C,$38,$18,$00,$F0,$0B,$F2,$0D .db $E0,$1F,$80,$7F,$00,$FE,$00,$3E .db $85,$0B,$4C,$07,$06,$1E,$3C,$1C .db $18,$00,$0F,$70,$43,$07,$08,$43 .db $0F,$10,$05,$0E,$11,$06,$09,$00 .db $07,$27,$00,$E0,$3D,$A0,$30,$D0 .db $1D,$EC,$0F,$F2,$03,$02,$FD,$62 .db $FD,$C0,$7E,$00,$FC,$C0,$60,$30 .db $1C,$02,$78,$78,$00,$7F,$40,$EF .db $80,$FF,$80,$EF,$80,$FF,$80,$EF .db $80,$7F,$43,$3C,$3C,$08,$14,$1A .db $14,$18,$14,$00,$00,$F8,$28,$F0 .db $10,$E0,$20,$F0,$10,$E0,$E0,$C0 .db $40,$80,$80,$29,$00,$43,$1F,$20 .db $86,$0A,$E2,$84,$0A,$EB,$24,$00 .db $02,$0E,$0E,$00,$43,$F8,$04,$86 .db $0A,$FA,$84,$0B,$03,$24,$00,$02 .db $70,$70,$00,$FF,$17,$BF,$FF,$FA .db $F7,$FF,$D7,$FE,$FE,$BF,$FF,$D5 .db $FF,$FF,$AB,$FF,$FD,$7F,$7F,$EB .db $FF,$EF,$5F,$FF,$FD,$97,$00,$00 .db $12,$00,$02,$49,$00,$9B,$6D,$06 .db $DF,$FF,$37,$FF,$FF,$37,$FF,$FF .db $3F,$FF,$FF,$3F,$84,$00,$3D,$05 .db $24,$92,$49,$B6,$DB,$6D,$31,$FF .db $17,$6D,$B6,$DB,$6D,$B6,$DB,$6D .db $B6,$DA,$6D,$B4,$92,$49,$24,$92 .db $49,$24,$91,$92,$42,$49,$24,$93 .db $63,$25,$FF,$11,$DF,$FF,$FE,$DB .db $7F,$B6,$3B,$6D,$B1,$44,$EC,$4A .db $69,$12,$93,$6D,$A4,$DB,$25,$FF .db $8A,$00,$7E,$14,$49,$69,$12,$91 .db $6D,$A4,$91,$36,$36,$DB,$36,$36 .db $DB,$36,$36,$DB,$06,$C6,$DB,$06 .db $C6,$83,$00,$B0,$05,$00,$D8,$DB .db $00,$D8,$DB,$25,$FF,$8D,$00,$7E .db $03,$DB,$69,$13,$63,$87,$00,$60 .db $15,$DB,$49,$36,$DB,$91,$24,$92 .db $32,$44,$92,$44,$99,$24,$69,$12 .db $49,$6D,$B4,$91,$6D,$B4,$91,$83 .db $00,$F0,$04,$A4,$88,$6D,$A4,$88 .db $83,$00,$F9,$14,$24,$40,$6D,$24 .db $40,$45,$B6,$D1,$45,$B6,$D1,$51 .db $B6,$DA,$31,$B6,$DB,$B1,$B6,$DB .db $B1,$87,$01,$12,$8A,$00,$F0,$03 .db $8B,$6D,$A4,$8B,$83,$01,$29,$04 .db $24,$5B,$6D,$24,$5B,$88,$00,$A8 .db $04,$46,$C6,$DB,$46,$C6,$83,$01 .db $40,$04,$68,$D8,$DB,$68,$D8,$86 .db $00,$DA,$91,$01,$50,$17,$24,$90 .db $00,$B6,$D2,$40,$FF,$FB,$48,$FF .db $FF,$E9,$FF,$FF,$E9,$FF,$FF,$F9 .db $FF,$FF,$F9,$FF,$FF,$F9,$F0,$2F .db $00,$00,$13,$3B,$FF,$FF,$3B,$FF .db $FF,$3B,$FF,$FE,$07,$7F,$B6,$07 .db $6D,$B1,$00,$EC,$48,$00,$12,$23 .db $00,$25,$FF,$88,$00,$7E,$08,$24 .db $EC,$4A,$2D,$92,$93,$36,$24,$DB .db $25,$FF,$91,$00,$96,$25,$FF,$91 .db $01,$CE,$25,$FF,$88,$00,$7E,$00 .db $04,$83,$01,$C0,$24,$00,$10,$1B .db $1B,$00,$1B,$1B,$00,$03,$62,$00 .db $00,$6C,$00,$00,$0D,$00,$00,$01 .db $25,$00,$91,$00,$D8,$05,$04,$99 .db $24,$00,$02,$49,$93,$00,$60,$13 .db $48,$24,$90,$00,$69,$22,$00,$49 .db $22,$00,$49,$10,$00,$48,$80,$00 .db $44,$00,$00,$20,$27,$00,$93,$00 .db $60,$13,$4B,$24,$96,$DB,$69,$22 .db $DB,$49,$22,$DB,$49,$16,$DB,$48 .db $B6,$DB,$45,$B6,$DB,$2D,$88,$01 .db $51,$10,$1B,$1B,$6D,$1B,$1B,$6D .db $A3,$62,$6D,$B4,$6C,$6D,$B6,$8D .db $6D,$B6,$D1,$83,$00,$66,$8A,$01 .db $51,$8C,$00,$E1,$15,$22,$49,$FF .db $FF,$F1,$FF,$FF,$F1,$DF,$FF,$F1 .db $DB,$7F,$88,$3B,$6D,$88,$04,$EC .db $40,$00,$12,$23,$00,$91,$00,$A8 .db $83,$00,$B7,$00,$C6,$8A,$01,$1F .db $00,$B4,$87,$01,$2B,$83,$01,$2A .db $87,$01,$37,$88,$03,$0A,$84,$00 .db $BB,$00,$00,$8A,$01,$4E,$88,$00 .db $E1,$05,$24,$99,$24,$36,$32,$49 .db $97,$03,$00,$0E,$69,$13,$63,$69 .db $13,$63,$69,$13,$63,$48,$B4,$6C .db $48,$B4,$6C,$83,$03,$81,$02,$B6 .db $8D,$45,$83,$02,$C5,$8F,$01,$4F .db $04,$8D,$B6,$DB,$8D,$B6,$86,$00 .db $AA,$07,$36,$36,$DB,$66,$C6,$DB .db $66,$C6,$86,$03,$B0,$00,$6C,$8C .db $03,$16,$87,$00,$FB,$83,$00,$FA .db $00,$40,$93,$01,$50,$03,$DA,$6D .db $B6,$DA,$91,$03,$78,$0B,$45,$B4 .db $6C,$45,$B6,$8C,$6D,$B6,$91,$6D .db $B6,$91,$83,$04,$08,$01,$B4,$88 .db $83,$03,$C9,$86,$04,$12,$88,$03 .db $D7,$8D,$00,$68,$00,$96,$88,$04 .db $0A,$87,$04,$10,$85,$03,$D3,$01 .db $A4,$40,$F0,$30,$00,$00,$16,$D8 .db $DB,$00,$1A,$DB,$00,$1A,$9B,$00 .db $03,$53,$00,$03,$52,$00,$00,$62 .db $00,$00,$0C,$00,$00,$01,$83,$01 .db $32,$06,$22,$DB,$6D,$22,$DB,$69 .db $16,$86,$02,$A5,$00,$86,$84,$00 .db $A9,$83,$04,$83,$83,$02,$2C,$00 .db $13,$88,$04,$8F,$25,$00,$88,$00 .db $60,$E0,$20,$4D,$B6,$92,$89,$24 .db $92,$32,$24,$91,$24,$C8,$4B,$36 .db $12,$DB,$00,$D6,$DB,$00,$D8,$DA .db $00,$18,$DA,$00,$1A,$D2,$00,$03 .db $21,$00,$00,$49,$84,$02,$37,$00 .db $01,$85,$01,$08,$02,$2D,$B6,$DA .db $89,$02,$AF,$84,$00,$61,$85,$01 .db $14,$0D,$36,$26,$DB,$46,$C4,$93 .db $68,$D9,$12,$6D,$13,$24,$6D,$A4 .db $83,$00,$EF,$12,$6C,$D8,$DB,$6D .db $9A,$DB,$6D,$9A,$9B,$6D,$B3,$53 .db $6D,$B3,$52,$6D,$B6,$62,$6D,$85 .db $04,$06,$09,$24,$40,$6D,$22,$00 .db $6D,$22,$00,$69,$10,$86,$02,$75 .db $00,$84,$84,$02,$7D,$05,$6D,$B6 .db $D2,$6D,$B6,$D2,$83,$00,$F0,$08 .db $24,$8B,$49,$24,$5B,$92,$12,$DB .db $24,$84,$03,$A6,$03,$2D,$B6,$8D .db $2D,$83,$02,$C5,$85,$04,$0A,$03 .db $92,$6D,$B6,$92,$86,$05,$7C,$0F .db $B4,$40,$8D,$A4,$40,$8D,$A2,$00 .db $AD,$22,$00,$32,$10,$00,$24,$80 .db $83,$02,$7E,$84,$05,$55,$87,$00 .db $DA,$01,$B6,$D2,$85,$04,$D4,$01 .db $44,$C8,$84,$00,$A1,$00,$22,$84 .db $02,$6F,$88,$02,$77,$27,$00,$97 .db $00,$00,$15,$D2,$D8,$34,$9A,$D8 .db $34,$9A,$C1,$A4,$DA,$C1,$A0,$DA .db $C1,$20,$B6,$C0,$00,$96,$00,$00 .db $12,$23,$00,$15,$04,$00,$01,$27 .db $00,$49,$FF,$12,$25,$D2,$9F,$FC .db $A4,$8B,$64,$A6,$12,$25,$26,$12 .db $C9,$BF,$22,$00,$14,$80,$00,$00 .db $80,$00,$00,$50,$00,$00,$90,$00 .db $00,$B6,$00,$00,$D6,$C0,$00,$DA .db $C0,$04,$83,$02,$38,$13,$09,$A0 .db $00,$4D,$6C,$02,$6D,$75,$12,$DB .db $6D,$96,$CB,$40,$96,$5B,$40,$B6 .db $5B,$25,$25,$00,$11,$80,$00,$00 .db $B0,$00,$00,$B6,$40,$00,$B6,$C1 .db $00,$B6,$49,$A0,$B6,$EB,$A0,$36 .db $00,$17,$04,$00,$08,$00,$00,$45 .db $00,$02,$4E,$A0,$12,$D9,$D4,$12 .db $E9,$B6,$96,$EF,$24,$97,$7D,$6C .db $BB,$EC,$2B,$00,$0C,$04,$80,$01 .db $25,$00,$49,$6D,$12,$5B,$6E,$00 .db $01,$B6,$23,$00,$E0,$43,$48,$00 .db $12,$28,$00,$89,$25,$00,$B3,$25 .db $00,$D1,$74,$A0,$D2,$4E,$A0,$FF .db $69,$D4,$12,$5B,$44,$8A,$4A,$25 .db $89,$4C,$25,$13,$A8,$25,$11,$78 .db $24,$13,$E9,$04,$13,$6D,$04,$02 .db $59,$04,$DB,$5B,$6D,$DB,$6D,$B6 .db $B7,$6D,$B6,$D6,$DB,$6D,$90,$0D .db $A4,$B8,$0D,$B6,$B6,$DB,$6D,$92 .db $40,$04,$43,$B6,$DB,$0F,$6D,$A4 .db $DB,$6D,$AC,$DB,$6D,$B6,$9B,$4D .db $B6,$92,$49,$B5,$BB,$6D,$83,$06 .db $E9,$06,$93,$6D,$B6,$92,$49,$6D .db $92,$83,$00,$60,$0A,$A4,$DB,$6D .db $AD,$B6,$81,$B6,$DB,$01,$B6,$B6 .db $43,$DB,$6D,$02,$6D,$B6,$ED,$83 .db $06,$F2,$02,$9B,$6D,$B4,$43,$B6 .db $DB,$83,$00,$60,$83,$07,$01,$E0 .db $36,$DB,$61,$2E,$DB,$61,$2E,$DB .db $09,$76,$D6,$89,$76,$D8,$4B,$B6 .db $D8,$4B,$B6,$A2,$5B,$B6,$C2,$5D .db $B5,$DB,$59,$36,$DB,$59,$35,$DB .db $49,$75,$DB,$4B,$B5,$D7,$5D,$AC .db $D6,$DD,$AC,$D7,$6D,$60,$BB,$6D .db $60,$A2,$C0,$00,$82,$C0,$00,$82 .db $84,$06,$19,$E0,$33,$02,$00,$00 .db $1A,$C0,$00,$D2,$00,$00,$DA,$C0 .db $00,$02,$5D,$76,$00,$4B,$AF,$00 .db $4B,$76,$00,$0B,$76,$00,$09,$68 .db $00,$01,$04,$00,$00,$24,$00,$00 .db $24,$F7,$58,$25,$FF,$51,$2D,$FF .db $09,$6E,$DC,$4A,$00,$00,$01,$24 .db $92,$83,$02,$57,$0B,$B6,$B8,$04 .db $92,$DA,$D9,$2D,$D6,$CB,$6D,$B6 .db $DA,$88,$07,$A3,$0B,$B2,$DB,$6B .db $B2,$C9,$24,$AA,$93,$6B,$00,$96 .db $D8,$22,$00,$0F,$24,$92,$49,$2D .db $B6,$DB,$76,$DB,$64,$92,$49,$2C .db $92,$D9,$2C,$96,$84,$02,$7D,$12 .db $04,$92,$49,$25,$B6,$DB,$6F,$D9 .db $25,$B6,$DB,$2D,$92,$57,$2C,$96 .db $4B,$2C,$B4,$84,$07,$A4,$83,$07 .db $D3,$E0,$33,$FF,$6C,$92,$DB,$24 .db $B2,$5A,$D5,$B2,$4B,$65,$92,$89 .db $48,$B2,$92,$41,$BF,$B6,$C1,$F6 .db $C0,$58,$36,$C0,$48,$2D,$56,$01 .db $6C,$5A,$C8,$20,$DA,$D1,$20,$5A .db $81,$2C,$DB,$4D,$F4,$D6,$D9,$20 .db $D6,$C8,$00,$B2,$00,$00,$80,$2B .db $00,$00,$48,$2E,$00,$E0,$21,$20 .db $00,$01,$2C,$00,$09,$6D,$00,$09 .db $60,$00,$09,$6D,$02,$4A,$05,$12 .db $DA,$06,$96,$CB,$6D,$12,$C9,$6D .db $02,$59,$2C,$92,$5B,$2D,$12,$49 .db $24,$83,$06,$4E,$13,$6D,$60,$B6 .db $00,$00,$B6,$C9,$00,$B7,$5B,$64 .db $B6,$EB,$6D,$96,$EB,$6D,$92,$49 .db $24,$22,$00,$E0,$52,$96,$EF,$FE .db $96,$EF,$FE,$12,$ED,$FF,$02,$5D .db $BF,$80,$4D,$B7,$B2,$0B,$76,$96 .db $DB,$6D,$12,$49,$24,$A0,$00,$00 .db $D6,$00,$00,$D6,$00,$00,$DA,$C1 .db $20,$FA,$C1,$68,$FB,$58,$30,$A2 .db $5D,$B5,$82,$ED,$B6,$12,$ED,$76 .db $97,$6B,$76,$97,$6B,$B6,$94,$0D .db $B6,$B8,$0D,$B5,$BB,$6D,$AD,$DB .db $6D,$60,$DB,$6B,$05,$DB,$6B,$04 .db $D7,$58,$00,$B3,$58,$00,$DB,$58 .db $84,$07,$7C,$09,$C1,$24,$DA,$C0 .db $00,$B6,$C0,$00,$92,$40,$2C,$00 .db $00,$80,$23,$00,$06,$04,$00,$01 .db $28,$00,$01,$28,$83,$08,$55,$E0 .db $62,$4B,$68,$02,$5D,$68,$12,$EB .db $68,$96,$D9,$6D,$B8,$05,$B2,$96 .db $A5,$B6,$97,$F5,$B2,$17,$64,$92 .db $97,$64,$B6,$96,$DA,$AD,$97,$00 .db $96,$12,$01,$AD,$55,$5A,$AE,$59 .db $6D,$B6,$D9,$24,$B6,$5B,$2D,$6A .db $4B,$AD,$96,$C9,$24,$96,$DA,$D9 .db $36,$BB,$6B,$6D,$C9,$6D,$96,$4B .db $6D,$94,$5B,$65,$52,$49,$25,$B2 .db $DB,$65,$92,$DB,$7D,$B6,$DA,$DB .db $6D,$B6,$49,$24,$C9,$2C,$B6,$D1 .db $2C,$96,$DB,$2D,$92,$DB,$6D,$B6 .db $5B,$6D,$AD,$B6,$83,$07,$D7,$00 .db $20,$22,$00,$0A,$D9,$6C,$B6,$E9 .db $64,$96,$4B,$6D,$B6,$DB,$6B,$83 .db $01,$65,$01,$92,$48,$26,$00,$10 .db $48,$09,$6D,$C8,$4B,$76,$D8,$4A .db $06,$A2,$5A,$06,$82,$5D,$B6,$02 .db $5D,$83,$08,$BD,$02,$12,$EB,$B6 .db $85,$06,$4E,$11,$96,$00,$00,$D6 .db $40,$00,$B2,$58,$00,$B0,$0B,$00 .db $90,$0B,$00,$97,$58,$00,$83,$07 .db $86,$04,$09,$2E,$00,$00,$24,$23 .db $00,$13,$01,$2D,$00,$01,$2D,$00 .db $09,$6E,$00,$4B,$76,$B6,$CB,$24 .db $C0,$59,$6C,$A0,$5B,$6D,$83,$08 .db $A0,$E0,$A1,$DB,$B5,$C0,$4B,$6E .db $DF,$09,$6D,$FA,$D1,$25,$96,$5B .db $AD,$96,$5B,$76,$92,$DB,$6E,$B6 .db $C9,$25,$B6,$DB,$64,$D6,$DB,$6D .db $BA,$DB,$6D,$DA,$DB,$65,$B6,$C0 .db $2D,$B6,$D9,$05,$D2,$DB,$60,$B6 .db $4B,$6D,$B6,$C9,$40,$B6,$DB,$40 .db $B6,$C9,$2D,$B6,$DB,$24,$DF,$5B .db $05,$DF,$6B,$04,$1B,$EB,$60,$80 .db $6D,$60,$B2,$0D,$6C,$B6,$C1,$AD .db $B6,$0F,$B5,$B0,$6F,$F5,$DA,$6B .db $65,$B6,$DB,$25,$92,$48,$25,$00 .db $00,$25,$16,$DD,$84,$82,$5B,$40 .db $82,$49,$6D,$B0,$01,$24,$02,$C1 .db $2D,$D6,$09,$6D,$D6,$09,$6C,$B0 .db $4B,$6C,$90,$4B,$6C,$02,$5B,$64 .db $A2,$01,$64,$12,$81,$A6,$82,$48 .db $00,$82,$5B,$20,$93,$6B,$60,$D6 .db $EB,$00,$BA,$EB,$00,$D7,$5B,$00 .db $C0,$5B,$00,$A0,$59,$00,$12,$4B .db $6D,$00,$4B,$6D,$00,$84,$07,$A2 .db $84,$09,$CC,$00,$2E,$83,$0A,$89 .db $1D,$48,$00,$12,$ED,$AD,$12,$DB .db $64,$12,$49,$00,$80,$00,$24,$B6 .db $DB,$6C,$D8,$0D,$B6,$D8,$0D,$6D .db $92,$ED,$B6,$B6,$D9,$24,$92,$22 .db $00,$19,$7D,$6C,$92,$00,$00,$92 .db $C9,$24,$DB,$5B,$6D,$BB,$6C,$06 .db $DB,$6C,$06,$90,$00,$00,$02,$DD .db $FE,$12,$ED,$F6,$22,$00,$03,$92 .db $49,$24,$B6,$43,$DB,$6D,$83,$06 .db $F2,$85,$08,$A9,$00,$B0,$24,$00 .db $83,$0A,$D4,$43,$DB,$6D,$03,$B6 .db $93,$6D,$B6,$2A,$00,$18,$04,$92 .db $49,$04,$B6,$DA,$25,$DB,$6C,$25 .db $DB,$61,$2E,$97,$69,$B5,$97,$59 .db $B5,$97,$5D,$AD,$BB,$6D,$B6,$83 .db $07,$35,$08,$6D,$AE,$DB,$6D,$AE .db $DB,$6B,$76,$BB,$84,$08,$E0,$00 .db $DA,$83,$06,$2B,$83,$08,$A8,$04 .db $D4,$40,$00,$D4,$40,$83,$06,$50 .db $14,$02,$29,$B7,$02,$25,$3F,$11 .db $2F,$3E,$12,$75,$E4,$00,$48,$BE .db $00,$01,$25,$00,$00,$04,$22,$00 .db $02,$FA,$D8,$04,$83,$0B,$31,$84 .db $05,$F8,$00,$D0,$84,$06,$4F,$00 .db $80,$24,$00,$08,$96,$ED,$6C,$12 .db $DB,$AD,$02,$4B,$6D,$83,$08,$55 .db $84,$0B,$50,$25,$00,$0D,$B6,$DB .db $64,$96,$DB,$6C,$B2,$49,$6C,$02 .db $09,$20,$02,$C0,$83,$06,$53,$01 .db $92,$C0,$83,$07,$73,$17,$82,$ED .db $F6,$12,$DD,$FE,$02,$5D,$BC,$02 .db $5B,$27,$00,$4B,$12,$00,$09,$FA .db $00,$08,$B4,$00,$01,$20,$83,$06 .db $27,$0E,$00,$00,$96,$40,$00,$51 .db $40,$04,$EB,$48,$04,$F2,$00,$00 .db $80,$24,$00,$0F,$12,$ED,$36,$96 .db $EB,$36,$96,$D9,$B6,$B7,$6D,$B5 .db $92,$DB,$2D,$12,$83,$0A,$3F,$00 .db $24,$3A,$00,$FF,$05,$00,$00,$7E .db $00,$FF,$3C,$46,$FF,$66,$01,$3C .db $7E,$22,$00,$04,$7C,$00,$7C,$38 .db $7C,$47,$18,$3C,$22,$00,$85,$00 .db $02,$06,$FE,$1C,$7F,$30,$FF,$7E .db $FF,$22,$00,$0C,$FE,$00,$FF,$7C .db $FF,$06,$3E,$1C,$FF,$06,$FF,$7C .db $FE,$22,$00,$0C,$3E,$00,$7E,$1C .db $FE,$2C,$FF,$4C,$FF,$7E,$FF,$0C .db $1E,$22,$00,$08,$FE,$00,$FE,$7C .db $FE,$60,$FF,$7C,$7F,$83,$00,$3B .db $22,$00,$03,$7E,$00,$FE,$3C,$83 .db $00,$56,$84,$00,$0A,$22,$00,$07 .db $FF,$00,$FF,$7E,$FF,$66,$FE,$0C .db $44,$3C,$18,$22,$00,$85,$00,$02 .db $00,$7E,$83,$00,$05,$01,$3C,$7E .db $22,$00,$86,$00,$02,$10,$3E,$7F .db $06,$7F,$3C,$7E,$00,$18,$00,$3C .db $18,$7E,$24,$FF,$66,$FF,$7E,$44 .db $FF,$66,$08,$00,$FC,$00,$FE,$7C .db $FF,$66,$FE,$7C,$43,$FF,$66,$05 .db $FE,$7C,$FC,$00,$3C,$00,$83,$00 .db $88,$44,$FF,$60,$0A,$66,$7E,$3C .db $3C,$00,$F8,$00,$FC,$78,$FE,$64 .db $43,$FF,$66,$04,$FE,$64,$FC,$78 .db $F8,$43,$00,$FF,$05,$7E,$FF,$60 .db $FE,$7C,$FE,$43,$60,$FF,$00,$7E .db $44,$FF,$00,$85,$00,$E3,$45,$60 .db $F0,$87,$00,$01,$02,$60,$FF,$6E .db $83,$00,$96,$00,$7E,$43,$00,$FF .db $43,$66,$FF,$00,$7E,$46,$FF,$66 .db $43,$00,$7E,$00,$3C,$47,$3C,$18 .db $02,$7E,$3C,$7E,$43,$00,$3F,$03 .db $1E,$3F,$0C,$1E,$43,$0C,$FE,$03 .db $6C,$FE,$38,$7C,$43,$00,$FF,$02 .db $66,$FF,$6C,$43,$FE,$78,$04,$FF .db $6C,$FF,$66,$FF,$43,$00,$F0,$46 .db $60,$F0,$85,$00,$EA,$0A,$E3,$00 .db $F7,$62,$FF,$76,$FF,$7E,$FF,$6A .db $FF,$43,$62,$F7,$01,$00,$E7,$83 .db $01,$61,$02,$72,$FF,$7A,$83,$01 .db $08,$02,$F7,$62,$F3,$84,$00,$BF .db $47,$FF,$66,$83,$00,$CC,$83,$00 .db $B0,$43,$FF,$66,$02,$FE,$7C,$FC .db $43,$60,$F0,$84,$00,$BF,$44,$FF .db $66,$05,$7E,$FE,$64,$7F,$3E,$3E .db $84,$00,$AF,$43,$FF,$66,$06,$FE .db $7C,$FE,$6C,$FF,$66,$F7,$83,$00 .db $41,$06,$3C,$FC,$60,$7E,$3C,$FF .db $06,$84,$00,$CA,$43,$00,$FF,$01 .db $7E,$FF,$49,$18,$3C,$02,$00,$E7 .db $00,$49,$FF,$66,$02,$7E,$3C,$3C .db $43,$00,$FF,$45,$66,$FF,$05,$24 .db $7E,$3C,$7E,$18,$3C,$43,$00,$FF .db $47,$6A,$FF,$13,$7E,$FF,$14,$7E .db $00,$F7,$00,$FF,$62,$FF,$74,$FE .db $38,$7F,$1C,$FF,$2E,$FF,$46,$EF .db $43,$00,$FF,$43,$66,$FF,$01,$3C .db $7E,$45,$18,$3C,$43,$00,$FF,$0B .db $7E,$FF,$0E,$3E,$1C,$7C,$38,$FF .db $70,$FF,$7E,$FF,$2A,$00,$04,$70 .db $00,$70,$20,$70,$28,$00,$06,$70 .db $00,$F0,$20,$F0,$40,$E0,$22,$00 .db $0C,$63,$00,$77,$22,$3E,$14,$1C .db $08,$3E,$14,$77,$22,$63,$28,$00 .db $83,$01,$20,$00,$7E,$22,$00,$01 .db $18,$00,$47,$3C,$18,$83,$00,$A0 .db $01,$18,$00,$4B,$FF,$FE,$04,$FE .db $FD,$FC,$FB,$F2,$43,$01,$E2,$47 .db $C1,$FA,$02,$01,$FE,$01,$47,$07 .db $F8,$01,$06,$F9,$45,$00,$FF,$09 .db $E0,$00,$F0,$E0,$F8,$F0,$FC,$F8 .db $FF,$FC,$45,$FF,$FE,$49,$77,$83 .db $01,$7F,$80,$43,$00,$FF,$03,$3C .db $00,$7E,$34,$46,$FF,$6A,$03,$4A .db $7E,$34,$3C,$22,$00,$02,$7F,$00 .db $41,$48,$3E,$C1,$09,$41,$3E,$1B .db $00,$24,$1B,$40,$3F,$49,$36,$43 .db $99,$66,$17,$97,$60,$60,$00,$83 .db $00,$44,$83,$28,$C7,$2B,$C4,$33 .db $CC,$20,$DF,$27,$D8,$D8,$00,$8F .db $00,$90,$0F,$43,$53,$8C,$01,$20 .db $DF,$43,$26,$D9,$05,$D9,$00,$8C .db $00,$D2,$0C,$43,$53,$8C,$01,$A5 .db $18,$43,$65,$98,$11,$98,$00,$3E .db $00,$43,$3C,$99,$66,$A9,$46,$29 .db $C6,$32,$CC,$82,$7C,$FC,$00,$44 .db $FF,$1E,$02,$3E,$FF,$7E,$43,$FF .db $FE,$83,$02,$9C,$0D,$3C,$00,$64 .db $18,$44,$38,$64,$18,$24,$18,$66 .db $18,$42,$3C,$43,$7E,$00,$01,$C3 .db $3C,$43,$99,$66,$E0,$27,$C1,$3E .db $79,$06,$43,$3C,$7E,$00,$FF,$FF .db $00,$FF,$FF,$02,$FF,$1F,$BF,$7E .db $1F,$FC,$E1,$1E,$FE,$01,$FE,$FE .db $03,$FF,$F9,$07,$B2,$CE,$4F,$BF .db $E3,$1F,$D6,$2E,$6F,$9F,$23,$00 .db $05,$01,$00,$06,$01,$08,$07,$43 .db $10,$0F,$01,$21,$1E,$23,$00,$01 .db $FF,$00,$45,$00,$FF,$00,$FF,$22 .db $00,$02,$E0,$00,$E0,$49,$C0,$F8 .db $04,$E0,$FC,$E0,$FF,$00,$44,$FF .db $7E,$45,$18,$3D,$22,$00,$0C,$F8 .db $00,$FD,$D8,$FF,$DD,$FF,$DF,$FF .db $DA,$FF,$D8,$FD,$22,$00,$0C,$FF .db $00,$FF,$DE,$FE,$D8,$FF,$DE,$FE .db $D8,$FF,$DE,$FF,$22,$00,$01,$18 .db $00,$43,$3C,$18,$43,$78,$30,$07 .db $FE,$60,$FF,$7E,$7E,$00,$31,$00 .db $43,$7B,$31,$43,$F7,$63,$07,$FF .db $67,$7F,$3E,$7E,$00,$86,$00,$44 .db $CF,$86,$00,$06,$43,$9E,$0C,$12 .db $1E,$0C,$0C,$00,$0F,$00,$1F,$0F .db $3F,$18,$7F,$13,$7F,$31,$7F,$33 .db $7F,$1E,$3F,$84,$04,$1F,$05,$8F .db $06,$CF,$86,$DE,$8C,$43,$9E,$0C .db $01,$0C,$00,$44,$FF,$F8,$00,$F9 .db $28,$FF,$16,$F8,$F3,$00,$9A,$61 .db $8E,$71,$96,$69,$9A,$65,$9C,$63 .db $96,$61,$F3,$00,$FC,$00,$64,$98 .db $7F,$80,$47,$66,$99,$0E,$FF,$00 .db $3F,$C0,$DF,$20,$D7,$28,$B7,$48 .db $6E,$91,$39,$C6,$00,$22,$FF,$0F .db $F9,$67,$FB,$D7,$F7,$FF,$7B,$E7 .db $FB,$07,$C3,$3F,$07,$FF,$FE,$FE .db $4F,$22,$1C,$83,$03,$A2,$05,$0F .db $01,$7F,$0F,$FF,$7F,$24,$FF,$00 .db $FE,$43,$FF,$F8,$26,$FF,$00,$3F .db $43,$7F,$BF,$01,$FF,$7E,$4C,$FF .db $FE,$22,$FE,$E0,$20,$83,$FF,$F9 .db $FF,$22,$3E,$39,$3F,$F9,$FF,$83 .db $FF,$FE,$FE,$80,$7F,$40,$3F,$20 .db $1F,$10,$0F,$08,$07,$04,$03,$02 .db $01,$01,$00,$1E,$1E,$F2,$44,$FE .db $B2,$0E,$B3,$FF,$81,$FF,$F3,$FF .db $1E,$1E,$FE,$FE,$82,$FE,$9E,$FE .db $83,$44,$FF,$F9,$83,$04,$EC,$02 .db $7E,$7E,$C2,$83,$05,$13,$44,$FF .db $99,$0B,$C3,$FF,$7E,$7E,$FF,$FF .db $81,$FF,$F9,$FF,$32,$3E,$44,$24 .db $3C,$22,$3C,$83,$03,$70,$47,$99 .db $66,$0B,$C3,$3C,$7E,$00,$F3,$F3 .db $1E,$FF,$DC,$3F,$83,$7C,$83,$03 .db $B4,$02,$FE,$01,$01,$22,$FE,$83 .db $03,$92,$09,$81,$7F,$F9,$67,$F3 .db $DF,$F3,$FF,$F1,$6F,$83,$03,$80 .db $07,$C0,$3F,$3F,$C0,$FE,$01,$81 .db $7E,$83,$05,$76,$07,$E7,$E7,$36 .db $F7,$DC,$FF,$E1,$1E,$83,$03,$7F .db $02,$CF,$30,$7C,$22,$FF,$01,$00 .db $FF,$43,$FF,$00,$83,$03,$7F,$05 .db $F8,$07,$E7,$18,$FE,$19,$48,$FE .db $F9,$02,$81,$FE,$01,$83,$03,$B4 .db $01,$04,$FB,$43,$06,$F9,$45,$07 .db $F8,$00,$FF,$43,$00,$3F,$2D,$00 .db $48,$FF,$00,$45,$FF,$00,$49,$7F .db $9F,$01,$FF,$1F,$44,$FF,$00,$0E .db $FC,$FF,$F8,$FF,$F0,$FE,$E0,$FC .db $C0,$F8,$80,$F0,$00,$E0,$00,$43 .db $C1,$3E,$0D,$81,$7E,$01,$FE,$03 .db $FC,$07,$F8,$0F,$F0,$1F,$E0,$FF .db $8F,$45,$FF,$0F,$27,$FF,$01,$3F .db $C3,$45,$1F,$E3,$47,$0F,$F3,$2C .db $FF,$02,$FB,$FF,$F9,$44,$00,$18 .db $83,$01,$1E,$06,$3C,$00,$7E,$00 .db $66,$00,$81,$83,$02,$AE,$08,$D3 .db $2C,$1B,$E4,$FB,$04,$07,$F8,$00 .db $22,$FF,$0F,$71,$8F,$93,$6F,$E6 .db $1E,$CC,$3C,$1F,$FF,$CD,$3F,$03 .db $FF,$FE,$FE,$45,$FF,$00,$84,$05 .db $5C,$01,$01,$00,$22,$FF,$01,$38 .db $FF,$43,$FF,$00,$11,$27,$D8,$00 .db $FF,$F7,$FF,$7F,$FF,$C1,$C1,$8F .db $70,$01,$FE,$F0,$0F,$0F,$F0,$83 .db $04,$7E,$00,$80,$22,$FF,$45,$10 .db $0F,$49,$20,$1F,$5B,$00,$FF,$43 .db $20,$DF,$03,$FF,$0F,$7F,$8F,$45 .db $7F,$9F,$45,$3F,$CF,$2C,$FF,$02 .db $CF,$FF,$8F,$45,$E7,$03,$45,$77 .db $83,$43,$3F,$C3,$27,$00,$00,$F0 .db $43,$F0,$90,$22,$F0,$00,$03,$2E .db $00,$02,$80,$00,$80,$2C,$00,$02 .db $7F,$00,$7C,$2E,$00,$03,$E0,$00 .db $FF,$E0,$48,$FC,$FB,$03,$F3,$FF .db $00,$FF,$2C,$00,$0C,$38,$00,$7C .db $28,$FE,$6C,$FE,$60,$FE,$7C,$7C .db $38,$38,$24,$00,$83,$01,$20,$44 .db $7E,$00,$01,$3C,$7E,$22,$00,$04 .db $1C,$00,$1C,$08,$1C,$24,$00,$85 .db $07,$80,$12,$FF,$FF,$99,$FF,$89 .db $FF,$81,$FF,$A1,$FF,$B1,$FF,$B9 .db $FF,$EF,$EF,$7E,$7E,$C3,$48,$FF .db $99,$84,$05,$2C,$4A,$FF,$99,$83 .db $05,$2C,$02,$FE,$FE,$83,$48,$FF .db $99,$83,$04,$EC,$01,$01,$01,$43 .db $02,$03,$01,$7E,$7F,$48,$80,$FF .db $12,$80,$40,$C0,$20,$E0,$10,$F0 .db $08,$F8,$04,$FC,$02,$FE,$01,$FF .db $80,$FF,$70,$7F,$49,$10,$1F,$01 .db $0F,$0F,$FF,$00,$FF,$48,$FF,$99 .db $0A,$C3,$FF,$66,$7E,$3C,$3C,$FF .db $FF,$B9,$FF,$A9,$44,$FF,$81,$0B .db $91,$FF,$B9,$FF,$EF,$EF,$FF,$FF .db $81,$FF,$E7,$FF,$43,$24,$3C,$02 .db $E7,$FF,$81,$22,$FF,$02,$7E,$7E .db $C3,$48,$FF,$99,$00,$C3,$24,$FF .db $43,$99,$FF,$00,$81,$45,$FF,$99 .db $22,$FF,$01,$78,$00,$44,$78,$30 .db $03,$10,$70,$20,$60,$24,$00,$01 .db $7F,$00,$44,$7F,$36,$03,$12,$7E .db $24,$6C,$24,$00,$02,$10,$00,$39 .db $43,$10,$FF,$1B,$7C,$7D,$38,$FE .db $38,$FF,$44,$EF,$00,$EE,$00,$FF .db $EE,$FE,$A8,$FE,$E8,$FF,$2E,$FF .db $2A,$FF,$EE,$EE,$00,$3F,$00,$1C .db $2C,$00,$09,$3F,$C0,$10,$E0,$08 .db $F0,$04,$F8,$02,$FC,$45,$01,$FE .db $4B,$7F,$3E,$03,$FF,$3E,$FF,$3F .db $4E,$FF,$3E,$00,$FE,$4A,$FF,$7C .db $45,$7F,$FF,$02,$C3,$CB,$B5,$43 .db $95,$6A,$05,$B5,$4A,$CB,$B5,$FF .db $C3,$22,$FF,$0F,$C6,$BB,$EE,$D7 .db $7C,$EF,$38,$D7,$7C,$BB,$EE,$FF .db $C6,$FF,$00,$0E,$86,$00,$A5,$07 .db $00,$FF,$03,$FC,$8F,$70,$FF,$00 .db $44,$FF,$FD,$0B,$F9,$FF,$F9,$FB .db $E1,$E3,$05,$03,$FC,$00,$FF,$FF .db $4E,$00,$80,$00,$FF,$2E,$00,$4F .db $01,$00,$01,$E7,$18,$43,$81,$7E .db $45,$00,$FF,$43,$C3,$3C,$43,$E7 .db $18,$0F,$00,$FF,$81,$7E,$C3,$3C .db $81,$7E,$99,$66,$7E,$81,$81,$7E .db $3C,$C3,$83,$01,$64,$03,$E7,$18 .db $24,$DB,$83,$01,$66,$13,$01,$00 .db $02,$01,$04,$03,$08,$07,$10,$0F .db $20,$1F,$40,$3F,$80,$7F,$01,$00 .db $1E,$01,$43,$20,$1F,$43,$40,$3F .db $05,$80,$7F,$FF,$00,$01,$FE,$43 .db $03,$FC,$43,$07,$F8,$05,$0F,$F0 .db $0E,$F0,$FE,$00,$47,$FF,$3F,$07 .db $3F,$1F,$1F,$0F,$0F,$00,$07,$00 .db $44,$FF,$FE,$0A,$FC,$FF,$F8,$FF .db $F0,$FF,$00,$FE,$00,$FC,$00,$46 .db $FF,$7F,$47,$7C,$FF,$0B,$00,$FE .db $F1,$FE,$E1,$FE,$C1,$FE,$01,$F9 .db $00,$F1,$44,$00,$81,$43,$FF,$F8 .db $28,$FF,$01,$F0,$FF,$28,$00,$09 .db $80,$00,$C0,$00,$E0,$00,$C0,$00 .db $FC,$FB,$4D,$FE,$FD,$00,$80,$4A .db $00,$C0,$00,$80,$22,$00,$26,$FF .db $48,$F8,$FF,$02,$F0,$00,$F0,$2C .db $00,$43,$C7,$03,$47,$E7,$03,$43 .db $67,$83,$02,$01,$00,$01,$2C,$00 .db $00,$FF,$2E,$00,$02,$0E,$00,$0C .db $2C,$00,$83,$01,$9E,$43,$03,$FC .db $43,$07,$F8,$06,$FF,$00,$7F,$80 .db $03,$00,$03,$2C,$00,$00,$0F,$30 .db $00,$01,$7F,$00,$47,$41,$3E,$43 .db $C1,$3E,$00,$01,$34,$00,$01,$7F .db $00,$47,$7F,$3E,$00,$E0,$2E,$00 .db $01,$0F,$00,$45,$08,$07,$47,$10 .db $0F,$04,$F1,$00,$19,$E0,$0A,$44 .db $F1,$0E,$43,$04,$FB,$05,$00,$FF .db $E0,$00,$1F,$E0,$45,$01,$FE,$45 .db $00,$FF,$23,$00,$03,$03,$00,$C3 .db $01,$43,$C7,$03,$43,$EF,$07,$23 .db $00,$03,$E0,$00,$FF,$E0,$47,$FF .db $FE,$01,$07,$00,$47,$07,$03,$45 .db $C7,$03,$48,$FF,$FE,$00,$7E,$45 .db $7F,$3E,$07,$00,$00,$3C,$00,$7E .db $3C,$FF,$7E,$47,$FF,$66,$00,$00 .db $43,$00,$1F,$43,$0E,$1F,$53,$06 .db $0F,$24,$00,$85,$03,$72,$44,$FF .db $66,$07,$06,$0E,$0C,$3C,$18,$78 .db $30,$F0,$43,$60,$FF,$43,$7E,$FF .db $24,$00,$01,$FE,$00,$4B,$FE,$6C .db $01,$FF,$6C,$44,$FF,$7E,$45,$0C .db $1E,$24,$00,$01,$FF,$00,$44,$FF .db $7E,$07,$60,$FC,$60,$FE,$7C,$FF .db $06,$0F,$43,$06,$FF,$43,$66,$FF .db $03,$7E,$7E,$3C,$3C,$24,$00,$85 .db $03,$72,$44,$FF,$66,$03,$60,$FE .db $7C,$00,$43,$00,$FF,$43,$7E,$FF .db $43,$66,$FF,$02,$06,$0F,$06,$87 .db $03,$70,$45,$FF,$66,$01,$7E,$3C .db $48,$FF,$66,$83,$03,$F9,$22,$00 .db $01,$7E,$3C,$46,$FF,$66,$83,$03 .db $F9,$22,$00,$03,$7F,$3E,$FF,$06 .db $44,$FF,$66,$83,$03,$F9,$22,$00 .db $22,$FF,$47,$F8,$FF,$00,$F9,$24 .db $FF,$00,$FE,$44,$FF,$3E,$00,$7E .db $47,$FF,$FE,$00,$80,$4E,$00,$C0 .db $4F,$FF,$3F,$26,$FF,$0B,$EF,$FF .db $C7,$FF,$83,$FF,$01,$F3,$01,$FC .db $F8,$FE,$4B,$F8,$FF,$00,$FC,$4F .db $C0,$00,$01,$FD,$E0,$46,$FF,$E1 .db $00,$E3,$45,$FF,$F3,$07,$0F,$07 .db $8F,$07,$CF,$07,$FF,$0F,$46,$FF .db $8F,$00,$9F,$47,$F8,$F7,$47,$F0 .db $EF,$43,$3F,$1F,$4B,$7F,$3F,$45 .db $40,$BF,$45,$60,$9F,$43,$71,$8E .db $45,$70,$8F,$01,$F0,$0F,$46,$F8 .db $07,$04,$17,$3F,$CF,$1F,$E7,$43 .db $1F,$E6,$01,$0F,$F7,$43,$0F,$F3 .db $04,$07,$F9,$FF,$00,$01,$4C,$FE .db $FD,$2B,$FF,$83,$01,$1E,$4F,$FD .db $FE,$85,$01,$C4,$43,$FE,$F8,$44 .db $FF,$FC,$00,$FE,$43,$C0,$3F,$49 .db $40,$3F,$01,$C0,$3F,$4F,$7F,$9F .db $07,$E3,$01,$E7,$83,$EF,$C7,$FF .db $EF,$28,$FF,$4D,$FC,$FF,$01,$F8 .db $7F,$46,$1F,$BF,$47,$9F,$0F,$45 .db $FF,$F7,$28,$FF,$00,$FE,$43,$FF .db $DF,$2B,$FF,$47,$E0,$DF,$47,$C0 .db $BF,$4E,$FF,$7F,$02,$00,$71,$8E .db $45,$7B,$84,$09,$77,$80,$73,$80 .db $71,$80,$F0,$00,$FC,$1B,$44,$FC .db $3B,$00,$03,$43,$9E,$01,$00,$03 .db $22,$00,$01,$07,$F9,$83,$01,$A4 .db $09,$0F,$F0,$3F,$C0,$FE,$00,$F8 .db $00,$E0,$00,$22,$FF,$00,$3F,$43 .db $FF,$03,$00,$3F,$45,$03,$07,$00 .db $00,$47,$07,$F9,$45,$03,$FC,$01 .db $FF,$00,$4C,$FF,$F8,$02,$00,$FF .db $00,$24,$FF,$0A,$7F,$FF,$7E,$7F .db $3C,$7F,$38,$3F,$10,$3F,$00,$49 .db $C0,$3F,$05,$FF,$00,$9F,$00,$1F .db $00,$44,$3F,$DF,$0A,$CF,$3F,$C7 .db $3F,$C3,$FB,$00,$F9,$00,$F8,$00 .db $2A,$FF,$45,$00,$FF,$09,$F0,$FF .db $E0,$FE,$C0,$FC,$80,$F8,$00,$F0 .db $84,$02,$0B,$03,$9F,$0F,$1F,$0F .db $4A,$0F,$07,$02,$00,$FF,$FE,$44 .db $FF,$FC,$43,$F8,$FF,$43,$F0,$FE .db $00,$00,$22,$FF,$43,$7F,$FF,$0C .db $3F,$7F,$3E,$3F,$1E,$3F,$00,$0F .db $00,$C0,$3F,$E0,$1F,$83,$05,$26 .db $0C,$E4,$03,$E3,$00,$E1,$00,$C0 .db $00,$03,$00,$C2,$01,$C2,$49,$81 .db $F2,$02,$01,$FF,$00,$4D,$00,$FF .db $23,$00,$0B,$83,$00,$C7,$03,$CF .db $07,$DF,$0F,$FF,$1F,$FF,$3F,$23 .db $00,$01,$FF,$00,$29,$FF,$25,$00 .db $0B,$80,$00,$C0,$80,$E0,$C0,$F0 .db $E0,$F8,$F0,$FF,$00,$2D,$FF,$05 .db $3C,$00,$42,$3C,$9D,$62,$43,$A1 .db $5E,$17,$9D,$62,$42,$3C,$3C,$00 .db $FC,$F3,$FC,$E3,$FC,$C3,$FC,$83 .db $FC,$03,$F4,$03,$E7,$00,$C0,$00 .db $07,$00,$43,$04,$03,$09,$84,$03 .db $C4,$83,$E4,$C3,$F4,$E3,$FC,$F3 .db $53,$C0,$00,$00,$80,$2A,$00,$01 .db $07,$00,$49,$07,$03,$43,$0F,$07 .db $30,$00,$4E,$FF,$00,$4F,$FF,$00 .db $2F,$FF,$FF,$03,$FF,$18,$FF,$24 .db $44,$FF,$66,$00,$7E,$44,$FF,$66 .db $02,$00,$FF,$7C,$44,$FF,$66,$00 .db $7C,$44,$FF,$66,$06,$7C,$FF,$00 .db $FF,$3C,$FF,$66,$46,$FF,$60,$02 .db $66,$FF,$3C,$83,$00,$0E,$4A,$FF .db $66,$83,$00,$1D,$00,$7E,$44,$FF .db $60,$00,$7C,$44,$FF,$60,$00,$7E .db $83,$00,$3E,$44,$FF,$60,$00,$7C .db $46,$FF,$60,$87,$00,$1F,$00,$6E .db $44,$FF,$66,$02,$3A,$FF,$00,$46 .db $FF,$66,$00,$7E,$46,$FF,$66,$02 .db $00,$FF,$3C,$4A,$FF,$18,$83,$00 .db $2D,$00,$1E,$48,$FF,$0C,$02,$6C .db $FF,$38,$84,$00,$6E,$08,$6C,$FF .db $78,$FF,$70,$FF,$78,$FF,$6C,$83 .db $00,$0C,$4C,$FF,$60,$83,$00,$4D .db $02,$46,$FF,$6E,$44,$FF,$7E,$00 .db $56,$44,$FF,$46,$0E,$00,$FF,$62 .db $FF,$72,$FF,$7A,$FF,$5E,$FF,$4E .db $FF,$46,$FF,$42,$83,$00,$1E,$4A .db $FF,$66,$84,$00,$2D,$46,$FF,$66 .db $00,$7C,$44,$FF,$60,$02,$00,$FF .db $3C,$46,$FF,$66,$02,$76,$FF,$6C .db $84,$00,$6C,$00,$7C,$44,$FF,$66 .db $00,$7C,$88,$00,$A8,$85,$00,$21 .db $02,$3C,$FF,$06,$86,$00,$2A,$00 .db $7E,$4C,$FF,$18,$00,$00,$4C,$FF .db $66,$02,$3C,$FF,$00,$48,$FF,$66 .db $00,$24,$84,$00,$80,$02,$00,$FF .db $46,$46,$FF,$56,$00,$7E,$44,$FF .db $2C,$00,$00,$44,$FF,$66,$83,$00 .db $81,$00,$3C,$44,$FF,$66,$00,$00 .db $46,$FF,$66,$00,$3C,$46,$FF,$18 .db $83,$00,$3F,$06,$06,$FF,$0C,$FF .db $18,$FF,$30,$85,$00,$4A,$4A,$FF .db $18,$02,$00,$FF,$18,$4C,$FF,$00 .db $43,$60,$FF,$47,$00,$FF,$43,$7C .db $FF,$4F,$00,$FF,$83,$01,$99,$85 .db $00,$1F,$85,$01,$93,$02,$00,$FF .db $18,$50,$FF,$00,$24,$00,$01,$18 .db $00,$43,$24,$18,$12,$14,$08,$28 .db $10,$30,$00,$FF,$FF,$81,$FF,$F1 .db $FF,$22,$3E,$44,$7C,$8F,$FF,$81 .db $23,$FF,$01,$7E,$C3,$46,$FF,$99 .db $01,$C3,$FF,$84,$00,$4C,$01,$7C .db $C7,$43,$7C,$E7,$44,$3C,$E7,$85 .db $01,$2C,$83,$02,$22,$04,$E3,$FE .db $CF,$7F,$81,$23,$FF,$1E,$00,$FF .db $FE,$83,$FF,$F9,$FF,$E3,$3E,$F9 .db $FF,$83,$FF,$FF,$FE,$FF,$00,$FF .db $3E,$E3,$7E,$D3,$FE,$B3,$FF,$81 .db $FF,$F3,$FF,$FF,$1E,$84,$02,$4E .db $01,$FE,$9F,$83,$02,$51,$00,$7F .db $86,$02,$5A,$01,$7E,$C3,$84,$02 .db $73,$88,$02,$28,$06,$FF,$81,$FF .db $99,$FF,$F3,$FE,$43,$E7,$3C,$89 .db $02,$3C,$01,$C3,$7E,$88,$02,$28 .db $84,$02,$21,$05,$C1,$FF,$F9,$7F .db $C3,$7F,$83,$00,$4C,$00,$FE,$84 .db $02,$85,$00,$83,$44,$FF,$99,$04 .db $83,$FF,$FE,$FE,$7E,$83,$02,$21 .db $44,$FF,$9F,$83,$02,$28,$07,$7E .db $7E,$F8,$00,$84,$78,$82,$7C,$43 .db $81,$7E,$04,$82,$7C,$84,$78,$F8 .db $84,$02,$0F,$01,$E7,$FF,$46,$24 .db $3C,$22,$3C,$19,$E7,$E7,$95,$F7 .db $8D,$FF,$85,$FF,$91,$FF,$99,$FF .db $95,$F7,$F3,$F3,$7F,$7F,$C1,$FF .db $9F,$FF,$C3,$FF,$79,$7F,$83,$02 .db $58,$03,$FE,$FE,$FF,$07,$4A,$FF .db $03,$04,$07,$FF,$00,$FF,$98,$4A .db $FF,$18,$02,$9F,$FF,$00,$4C,$FF .db $18,$02,$9F,$FF,$00,$4C,$FF,$19 .db $09,$8F,$FF,$00,$FF,$8F,$FF,$99 .db $FF,$98,$FF,$83,$02,$1A,$02,$99 .db $FF,$0F,$84,$00,$8E,$00,$8C,$44 .db $FF,$0C,$43,$8C,$FF,$02,$1E,$FF .db $00,$46,$FF,$66,$00,$3C,$46,$FF .db $18,$02,$00,$FF,$FD,$44,$FF,$C1 .db $00,$F9,$44,$FF,$C1,$02,$FD,$FF .db $00,$4C,$FF,$86,$04,$F7,$FF,$00 .db $FF,$0F,$4A,$FF,$19,$04,$CF,$FF .db $00,$FF,$23,$48,$FF,$AB,$02,$9E .db $FF,$16,$83,$00,$1E,$44,$FF,$42 .db $88,$01,$E7,$03,$3C,$3C,$42,$7E .db $47,$99,$FF,$0F,$42,$7E,$3C,$3C .db $FF,$04,$FF,$0C,$FF,$08,$FF,$10 .db $FF,$00,$FF,$20,$48,$FF,$00,$83 .db $01,$27,$04,$3E,$FF,$66,$FF,$3B .db $44,$FF,$00,$43,$60,$FF,$00,$7C .db $44,$FF,$66,$00,$7C,$46,$FF,$00 .db $00,$3E,$46,$FF,$60,$00,$3E,$44 .db $FF,$00,$43,$06,$FF,$00,$3E,$44 .db $FF,$66,$00,$3E,$46,$FF,$00,$83 .db $00,$21,$83,$00,$41,$00,$3C,$44 .db $FF,$00,$04,$0E,$FF,$18,$FF,$7E .db $46,$FF,$18,$45,$00,$FF,$00,$3C .db $44,$FF,$66,$02,$3E,$FF,$06,$83 .db $00,$2C,$44,$FF,$60,$00,$7C,$46 .db $FF,$66,$43,$00,$FF,$02,$18,$FF .db $00,$48,$FF,$18,$43,$00,$FF,$02 .db $18,$FF,$00,$48,$FF,$18,$00,$30 .db $84,$00,$AE,$85,$00,$A1,$02,$6C .db $FF,$66,$44,$FF,$00,$4B,$18,$FF .db $45,$00,$FF,$00,$7C,$48,$FF,$56 .db $45,$00,$FF,$00,$3C,$48,$FF,$26 .db $45,$00,$FF,$00,$3C,$46,$FF,$66 .db $00,$3C,$46,$FF,$00,$00,$7C,$44 .db $FF,$66,$00,$7C,$44,$FF,$60,$43 .db $00,$FF,$00,$3E,$44,$FF,$66,$00 .db $3E,$44,$FF,$06,$43,$00,$FF,$02 .db $2E,$FF,$38,$46,$FF,$30,$45,$00 .db $FF,$00,$3C,$86,$01,$24,$00,$3C .db $46,$FF,$00,$02,$18,$FF,$7E,$46 .db $FF,$18,$45,$00,$FF,$47,$66,$FF .db $00,$3E,$46,$FF,$00,$45,$66,$FF .db $02,$24,$FF,$18,$46,$FF,$00,$47 .db $56,$FF,$00,$7C,$46,$FF,$00,$88 .db $01,$73,$46,$FF,$00,$43,$66,$FF .db $84,$04,$6B,$46,$FF,$00,$00,$7E .db $86,$01,$94,$00,$7E,$46,$FF,$00 .db $02,$28,$FF,$7C,$85,$05,$A4,$44 .db $FF,$00,$02,$02,$FF,$0C,$46,$FF .db $18,$08,$0C,$FF,$02,$FF,$00,$FF .db $40,$FF,$30,$46,$FF,$18,$02,$30 .db $FF,$40,$83,$01,$94,$50,$FF,$00 .db $43,$18,$FF,$45,$00,$FF,$22,$00 .db $07,$07,$00,$0C,$03,$0B,$04,$08 .db $07,$43,$0B,$04,$00,$0F,$4F,$00 .db $FF,$00,$19,$4E,$FF,$00,$06,$B0 .db $FF,$39,$FF,$30,$FF,$07,$44,$FF .db $0F,$43,$0E,$FF,$0A,$07,$FF,$B0 .db $FF,$00,$FF,$C6,$FF,$F6,$FF,$F0 .db $44,$FF,$70,$04,$E0,$FF,$0C,$FF .db $1C,$48,$FF,$0C,$83,$02,$6D,$89 .db $01,$E1,$85,$05,$9B,$87,$01,$E1 .db $87,$01,$29,$02,$0C,$FF,$1C,$44 .db $FF,$2C,$00,$4C,$84,$05,$94,$02 .db $00,$FF,$7C,$44,$FF,$60,$00,$7C .db $44,$FF,$06,$89,$00,$1D,$00,$7C .db $44,$FF,$66,$85,$01,$2D,$00,$66 .db $44,$FF,$0C,$45,$18,$FF,$02,$00 .db $FF,$3C,$4A,$FF,$66,$01,$3C,$FF .db $22,$00,$13,$F7,$00,$DD,$22,$4D .db $B2,$55,$AA,$59,$A6,$5D,$A2,$F7 .db $00,$7C,$7C,$44,$7C,$64,$7C,$46 .db $24,$3C,$22,$3C,$83,$02,$C0,$08 .db $F9,$FF,$79,$7F,$C3,$FF,$9F,$FF .db $81,$22,$FF,$02,$FE,$FE,$83,$44 .db $FF,$99,$04,$83,$FF,$9E,$FE,$90 .db $24,$F0,$47,$90,$F0,$02,$9F,$FF .db $81,$22,$FF,$02,$7E,$7E,$C3,$44 .db $FF,$99,$00,$81,$43,$FF,$99,$24 .db $FF,$45,$99,$FF,$04,$C3,$FF,$66 .db $7E,$24,$22,$3C,$83,$02,$10,$02 .db $9F,$FF,$81,$44,$FF,$9F,$00,$81 .db $22,$FF,$02,$FE,$FE,$83,$44,$FF .db $99,$00,$83,$83,$03,$07,$22,$FF .db $87,$02,$D0,$83,$03,$08,$08,$C1 .db $FF,$7F,$7F,$EF,$EF,$B9,$FF,$91 .db $44,$FF,$81,$02,$A9,$FF,$B9,$22 .db $FF,$05,$00,$00,$F0,$00,$18,$E0 .db $45,$68,$90,$02,$18,$E0,$F0,$47 .db $00,$FF,$00,$30,$44,$FF,$48,$01 .db $30,$FF,$30,$00,$83,$00,$0E,$44 .db $FF,$66,$00,$7C,$83,$00,$66,$43 .db $FF,$00,$02,$81,$7E,$E7,$48,$18 .db $25,$10,$3D,$00,$CF,$00,$79,$86 .db $31,$CE,$01,$FE,$49,$B6,$79,$86 .db $49,$86,$CF,$22,$00,$1D,$80,$00 .db $E0,$80,$78,$E0,$1F,$F8,$07,$7F .db $00,$BF,$00,$57,$01,$00,$03,$01 .db $0E,$03,$3C,$0F,$F0,$3E,$C0,$FD .db $00,$FA,$00,$D5,$4F,$00,$FF,$FF .db $0D,$00,$00,$7F,$7F,$5D,$7F,$6A .db $7F,$51,$7B,$40,$55,$40,$6A,$23 .db $00,$0B,$FE,$FE,$54,$FE,$8A,$DE .db $04,$AE,$00,$54,$00,$AA,$23,$00 .db $0B,$7F,$7C,$7F,$40,$6F,$50,$57 .db $68,$6A,$15,$55,$2A,$23,$00,$43 .db $FE,$00,$19,$EA,$14,$5C,$A2,$AA .db $54,$54,$AA,$00,$00,$1D,$00,$37 .db $08,$23,$1C,$21,$1E,$60,$1F,$40 .db $3F,$42,$3D,$C2,$3D,$28,$00,$00 .db $07,$44,$00,$08,$0C,$07,$07,$00 .db $18,$07,$20,$1F,$00,$0C,$61,$00 .db $41,$30,$43,$81,$60,$0B,$70,$00 .db $4C,$30,$40,$3C,$02,$98,$04,$82 .db $08,$87,$43,$04,$83,$43,$86,$79 .db $0E,$80,$7F,$C0,$3F,$60,$1F,$3E .db $01,$02,$01,$03,$00,$F8,$3F,$E8 .db $44,$3F,$EC,$45,$F8,$3F,$01,$F6 .db $3F,$43,$80,$FF,$43,$04,$FF,$00 .db $00,$44,$FF,$40,$01,$02,$FF,$45 .db $FC,$3F,$43,$F8,$3F,$43,$EC,$3F .db $08,$FC,$3F,$E0,$FF,$42,$FF,$02 .db $FF,$00,$44,$FF,$80,$05,$08,$FF .db $1C,$FF,$FC,$00,$43,$04,$F8,$00 .db $0C,$46,$F0,$08,$09,$18,$E0,$00 .db $AA,$00,$55,$00,$AA,$00,$55,$87 .db $00,$E0,$07,$FF,$FF,$1F,$1F,$07 .db $07,$03,$03,$23,$01,$23,$00,$03 .db $80,$6F,$80,$61,$43,$81,$60,$03 .db $01,$00,$F7,$00,$43,$84,$73,$01 .db $04,$7B,$45,$04,$83,$03,$00,$80 .db $EF,$00,$43,$08,$E7,$05,$00,$01 .db $01,$03,$00,$03,$45,$02,$07,$03 .db $03,$07,$05,$1D,$4F,$03,$01,$4F .db $40,$80,$15,$00,$E0,$E0,$F0,$10 .db $F8,$08,$FE,$06,$FF,$01,$FF,$04 .db $FF,$84,$FF,$0F,$00,$E0,$0F,$80 .db $61,$45,$81,$60,$07,$01,$00,$EF .db $00,$78,$80,$07,$78,$47,$04,$83 .db $03,$00,$80,$77,$88,$24,$00,$0A .db $3C,$3C,$7E,$42,$FF,$81,$FF,$10 .db $FF,$38,$FF,$45,$FF,$3F,$09,$F6 .db $3F,$F8,$3F,$D8,$3F,$DA,$3F,$FA .db $3F,$45,$07,$FF,$04,$02,$FF,$40 .db $FF,$E0,$44,$FF,$E1,$02,$FC,$3F .db $F8,$46,$3F,$FA,$45,$F8,$3F,$45 .db $1C,$FF,$02,$08,$FF,$80,$44,$FF .db $90,$03,$00,$FF,$1C,$E0,$47,$04 .db $F8,$04,$1C,$E0,$10,$E0,$F0,$22 .db $00,$05,$07,$07,$1F,$1F,$3F,$3F .db $23,$7F,$23,$FF,$22,$00,$1C,$08 .db $00,$7D,$7C,$BF,$40,$FE,$38,$79 .db $00,$10,$00,$00,$03,$00,$06,$01 .db $04,$03,$06,$01,$03,$00,$07,$00 .db $04,$03,$07,$00,$25,$FF,$43,$BF .db $FF,$00,$B7,$44,$FF,$E3,$43,$00 .db $FF,$02,$80,$FF,$D0,$44,$FF,$78 .db $04,$58,$FF,$D0,$FF,$31,$48,$FF .db $7B,$00,$31,$44,$FF,$04,$00,$80 .db $46,$FF,$C0,$04,$C2,$FF,$82,$FF .db $02,$48,$FF,$00,$00,$06,$48,$FF .db $0F,$07,$FF,$00,$12,$ED,$F2,$0D .db $32,$CD,$43,$92,$6D,$07,$38,$C7 .db $EF,$00,$FF,$00,$43,$BC,$43,$49 .db $B6,$0F,$43,$BC,$4F,$B0,$C9,$30 .db $F9,$00,$FF,$00,$04,$FB,$3C,$C3 .db $0C,$F3,$43,$3C,$C3,$07,$04,$FB .db $FF,$00,$E7,$00,$35,$C2,$43,$94 .db $63,$01,$35,$C2,$43,$95,$62,$06 .db $F7,$00,$00,$FF,$07,$F8,$0F,$44 .db $F0,$4F,$03,$0F,$F0,$07,$F8,$43 .db $00,$FF,$01,$06,$F9,$47,$8F,$70 .db $43,$4F,$B0,$05,$04,$FB,$05,$FA .db $03,$FC,$43,$13,$EC,$43,$03,$FC .db $01,$79,$86,$28,$00,$02,$C0,$C0 .db $E0,$43,$20,$F0,$83,$02,$00,$05 .db $FC,$03,$4E,$B1,$26,$D9,$43,$66 .db $99,$E0,$23,$FF,$00,$C0,$00,$7F .db $80,$31,$CE,$64,$9B,$60,$9F,$67 .db $98,$71,$8E,$DF,$00,$7F,$00,$CC .db $33,$89,$76,$09,$F6,$48,$B7,$C9 .db $36,$49,$36,$7F,$00,$17,$3F,$43 .db $23,$7F,$03,$15,$3F,$19,$3F,$43 .db $33,$7F,$08,$21,$7F,$D0,$FF,$F8 .db $FF,$B0,$FF,$C0,$44,$FF,$80,$08 .db $C0,$FF,$E0,$FF,$04,$FF,$60,$FF .db $F0,$46,$FF,$F4,$43,$F0,$FF,$00 .db $00,$46,$FF,$40,$02,$00,$FF,$30 .db $44,$FF,$78,$00,$CD,$22,$FF,$00 .db $9E,$44,$FF,$0C,$05,$0E,$FF,$99 .db $FF,$F1,$F7,$43,$00,$FF,$00,$07 .db $48,$FF,$0F,$00,$07,$44,$FF,$00 .db $00,$80,$46,$FF,$C0,$04,$C8,$FF .db $88,$FF,$06,$46,$FF,$0F,$47,$CF .db $FF,$43,$20,$F0,$0E,$D0,$F8,$C8 .db $FC,$F4,$FE,$FC,$FE,$CA,$FF,$CE .db $FF,$00,$FF,$04,$44,$FB,$24,$02 .db $60,$9F,$F0,$44,$0F,$F8,$01,$46 .db $B9,$43,$00,$FF,$01,$72,$8D,$43 .db $FA,$05,$03,$F8,$07,$70,$8F,$43 .db $FC,$03,$43,$DC,$23,$43,$F5,$0A .db $0F,$FC,$03,$78,$87,$02,$C7,$00 .db $AF,$00,$FD,$10,$F8,$00,$C8,$00 .db $CD,$43,$00,$FF,$47,$FE,$3F,$43 .db $F0,$3F,$09,$F8,$07,$C7,$38,$00 .db $00,$7C,$00,$C6,$38,$45,$92,$6C .db $07,$C6,$38,$7C,$00,$FF,$00,$61 .db $9E,$43,$24,$DB,$01,$21,$DE,$43 .db $24,$DB,$01,$FF,$00,$25,$FF,$00 .db $9D,$44,$FF,$0D,$43,$0F,$FF,$12 .db $E0,$FF,$E4,$FF,$A4,$FF,$A0,$FF .db $A1,$FF,$F0,$FF,$B4,$FF,$E4,$FF .db $F0,$FF,$60,$44,$FF,$02,$43,$00 .db $FF,$0C,$80,$FF,$87,$FF,$20,$F0 .db $70,$F8,$70,$FE,$70,$FF,$22,$43 .db $FF,$07,$02,$EF,$07,$C7,$23,$00 .db $13,$FF,$00,$C9,$36,$C4,$3B,$CC .db $33,$4C,$33,$7F,$00,$0F,$00,$09 .db $06,$39,$06,$E1,$1E,$43,$C9,$36 .db $03,$E1,$1E,$BF,$00,$49,$00,$FF .db $00,$38,$44,$FF,$7C,$02,$0F,$FF .db $06,$44,$FF,$20,$48,$00,$FF,$43 .db $7F,$00,$43,$0F,$00,$04,$6F,$00 .db $67,$00,$63,$22,$00,$00,$8E,$44 .db $00,$CE,$08,$C4,$00,$C0,$00,$98 .db $00,$3C,$00,$18,$22,$00,$00,$08 .db $44,$00,$1C,$00,$08,$22,$00,$06 .db $20,$00,$00,$01,$FE,$03,$FC,$43 .db $1B,$E4,$83,$02,$A2,$1A,$2F,$D0 .db $2D,$D2,$00,$00,$01,$00,$03,$00 .db $3B,$01,$7F,$3B,$7F,$3F,$5F,$3F .db $DF,$3F,$FF,$38,$FF,$C7,$8F,$FF .db $BF,$24,$FF,$17,$FE,$FF,$BE,$FF .db $FF,$7F,$FF,$BC,$FF,$9B,$FF,$E3 .db $FE,$FF,$7C,$FF,$5E,$FF,$1F,$FF .db $FF,$00,$98,$67,$47,$92,$6D,$06 .db $98,$67,$FF,$00,$0F,$FF,$9E,$22 .db $FF,$43,$FB,$FF,$00,$FA,$44,$FF .db $FE,$43,$E0,$FF,$04,$E5,$FF,$81 .db $FF,$00,$44,$FF,$10,$02,$00,$FF .db $0F,$48,$FF,$1F,$00,$4F,$84,$03 .db $45,$4F,$C0,$3F,$00,$00,$44,$FF .db $20,$00,$0C,$44,$FF,$1E,$00,$0C .db $47,$FF,$00,$00,$3F,$44,$00,$1F .db $03,$3F,$00,$DF,$00,$4C,$FF,$7C .db $03,$38,$FF,$00,$FF,$85,$03,$D0 .db $00,$00,$84,$03,$D7,$43,$00,$FF .db $00,$03,$48,$FF,$07,$00,$03,$44 .db $FF,$00,$24,$00,$02,$0C,$00,$0C .db $22,$00,$02,$40,$00,$04,$22,$00 .db $06,$FF,$08,$F7,$48,$B7,$E1,$1E .db $43,$E3,$1C,$03,$E1,$1E,$40,$BF .db $43,$0D,$F2,$18,$0F,$F0,$CF,$30 .db $E7,$18,$EF,$10,$CB,$34,$01,$FE .db $CF,$3F,$64,$1F,$20,$1F,$2A,$15 .db $30,$0F,$0F,$00,$03,$22,$00,$0B .db $9C,$FF,$00,$FF,$46,$FF,$08,$F7 .db $51,$AE,$FB,$04,$83,$05,$63,$17 .db $0F,$FF,$0B,$FF,$40,$BF,$00,$FF .db $10,$EF,$ED,$12,$BF,$40,$FF,$00 .db $9F,$00,$D0,$0F,$52,$8D,$50,$8F .db $43,$52,$8D,$03,$D0,$0F,$9F,$00 .db $22,$FF,$05,$F0,$FF,$67,$F8,$9F .db $F3,$22,$FF,$00,$3F,$22,$FF,$05 .db $F0,$8F,$F8,$77,$FC,$FB,$43,$FE .db $FD,$01,$FF,$FE,$23,$FF,$83,$04 .db $30,$0A,$03,$FC,$1F,$E3,$3F,$CF .db $3F,$DF,$FF,$3F,$FF,$44,$FF,$78 .db $07,$31,$FE,$C7,$39,$EF,$97,$FF .db $C7,$23,$FF,$05,$00,$FF,$78,$87 .db $FF,$38,$29,$FF,$43,$00,$FF,$05 .db $81,$7E,$E7,$99,$FF,$E7,$23,$FF .db $07,$E3,$FF,$07,$F8,$1F,$E7,$FF .db $1F,$29,$FF,$09,$8F,$7F,$FF,$8F .db $FC,$F3,$FC,$FB,$FF,$FC,$25,$FF .db $43,$F0,$FF,$07,$00,$FF,$03,$FC .db $0F,$F1,$FF,$0F,$23,$FF,$83,$03 .db $A8,$44,$F2,$0D,$02,$CD,$FC,$F3 .db $83,$06,$88,$01,$00,$FF,$43,$01 .db $FE,$01,$38,$C7,$45,$7C,$83,$05 .db $FF,$00,$09,$F6,$0B,$F4,$43,$03 .db $FC,$07,$0F,$F0,$1D,$E2,$FD,$02 .db $FF,$F8,$43,$FF,$00,$43,$DF,$20 .db $86,$03,$61,$00,$1F,$84,$05,$8D .db $04,$1F,$FF,$3F,$FF,$7F,$25,$FF .db $07,$FE,$00,$C3,$3C,$49,$B6,$C9 .db $36,$83,$02,$72,$0B,$C9,$36,$FF .db $00,$FB,$00,$8E,$71,$24,$DB,$26 .db $D9,$43,$27,$D8,$06,$8C,$73,$FF .db $00,$30,$FF,$03,$83,$04,$31,$06 .db $FD,$48,$F7,$9B,$64,$F6,$09,$83 .db $04,$0E,$0D,$7F,$FF,$07,$FF,$58 .db $FF,$00,$FF,$62,$9D,$F7,$08,$FF .db $00,$23,$03,$23,$1F,$17,$7B,$7F .db $71,$FF,$7A,$FF,$9E,$FF,$03,$03 .db $87,$87,$FF,$FF,$F3,$FF,$F2,$FF .db $3E,$FF,$3C,$FF,$1D,$FF,$23,$80 .db $01,$CC,$CC,$23,$FE,$08,$67,$FF .db $43,$FF,$21,$FF,$0C,$7F,$20,$43 .db $FF,$70,$09,$79,$20,$70,$00,$30 .db $80,$99,$80,$9E,$00,$44,$FF,$CC .db $09,$00,$F3,$00,$D3,$00,$FF,$00 .db $F7,$00,$CD,$44,$70,$FF,$0A,$FC .db $70,$FB,$20,$FB,$00,$CC,$00,$CE .db $00,$FD,$44,$00,$03,$43,$1F,$00 .db $0C,$7B,$00,$71,$00,$FA,$00,$9E .db $00,$03,$00,$87,$00,$FF,$44,$00 .db $FC,$04,$3F,$00,$1C,$00,$5C,$44 .db $00,$80,$00,$CC,$44,$00,$FE,$06 .db $EF,$00,$43,$00,$E1,$00,$0E,$22 .db $00,$04,$10,$00,$38,$00,$10,$26 .db $00,$08,$E8,$00,$E0,$00,$E1,$00 .db $43,$00,$01,$44,$00,$0C,$0C,$80 .db $00,$E0,$00,$46,$00,$06,$00,$80 .db $00,$10,$00,$04,$22,$00,$02,$40 .db $F0,$00,$83,$01,$DC,$09,$30,$C0 .db $9E,$60,$92,$6C,$32,$CC,$FE,$00 .db $FF,$00,$00,$4E,$FF,$7F,$00,$00 .db $26,$7F,$4E,$00,$80,$00,$FF,$28 .db $00,$08,$FF,$05,$FA,$0A,$F5,$05 .db $FA,$0A,$F5,$85,$00,$32,$00,$00 .db $26,$7F,$09,$00,$FF,$F4,$01,$FA .db $01,$F4,$01,$FA,$01,$85,$00,$4A .db $00,$00,$27,$FE,$1F,$7F,$FD,$BF .db $FB,$DF,$F7,$EF,$EF,$F7,$DF,$FB .db $BF,$FD,$7F,$FE,$FE,$FD,$FB,$F7 .db $EF,$DF,$BF,$7F,$00,$FF,$FA,$FF .db $F4,$FF,$FA,$FF,$F4,$86,$00,$79 .db $27,$00,$22,$FF,$10,$9F,$FF,$FC .db $FF,$E7,$FF,$FF,$9C,$FF,$4F,$FF .db $00,$FF,$FF,$9F,$FC,$E7,$24,$FF .db $00,$C7,$22,$FF,$00,$F9,$23,$FF .db $06,$7A,$E7,$0C,$FF,$00,$FF,$C7 .db $83,$00,$AC,$02,$E7,$FF,$FF,$2F .db $00,$07,$01,$03,$07,$0F,$1F,$3F .db $7F,$FF,$34,$00,$13,$18,$7E,$FF .db $00,$FF,$BB,$FF,$EE,$FF,$B5,$FF .db $5A,$FF,$21,$DE,$0C,$F7,$58,$EF .db $00,$26,$FF,$03,$00,$18,$00,$3C .db $44,$00,$7E,$46,$FF,$00,$30,$00 .db $43,$81,$00,$02,$C3,$00,$E7,$27 .db $00,$0E,$01,$00,$03,$00,$07,$00 .db $0F,$00,$1F,$00,$3F,$00,$7F,$00 .db $FF,$89,$00,$CF,$8E,$01,$38,$87 .db $00,$D0,$0E,$01,$01,$03,$03,$07 .db $07,$0F,$0F,$1F,$1F,$3F,$3F,$7F .db $7F,$FF,$86,$01,$5F,$43,$7F,$FF .db $45,$07,$FF,$47,$7F,$FF,$27,$7F .db $07,$FA,$FF,$F5,$FF,$FA,$FF,$F5 .db $FF,$86,$01,$98,$28,$FF,$05,$FA .db $05,$F5,$0A,$FA,$05,$45,$0F,$F0 .db $83,$00,$34,$27,$FF,$03,$FA,$00 .db $F5,$00,$85,$01,$C8,$45,$FF,$1F .db $24,$FF,$22,$E0,$0B,$0A,$0A,$05 .db $05,$FA,$FA,$F5,$F5,$FA,$FA,$05 .db $05,$83,$01,$E0,$07,$F5,$FA,$05 .db $0A,$05,$FA,$F5,$FA,$83,$00,$7C .db $05,$04,$0F,$0A,$0F,$04,$0F,$45 .db $E0,$E1,$01,$00,$00,$22,$F0,$22 .db $1E,$2B,$00,$83,$01,$6C,$25,$FF .db $01,$F8,$F0,$23,$00,$01,$1C,$1C .db $83,$01,$72,$27,$FF,$02,$E3,$C0 .db $80,$28,$00,$03,$0F,$0F,$BF,$BF .db $28,$FF,$01,$F0,$40,$2A,$00,$01 .db $80,$80,$23,$C0,$01,$E0,$E0,$23 .db $FF,$0F,$7F,$3F,$3F,$1F,$CA,$B5 .db $A4,$5B,$DB,$B4,$7E,$C5,$F7,$08 .db $7F,$80,$43,$FF,$00,$28,$FF,$0E .db $00,$FE,$01,$FC,$03,$F8,$07,$F0 .db $0F,$E0,$1F,$C0,$3F,$80,$7F,$27 .db $FF,$0E,$00,$FF,$01,$FF,$03,$FF .db $07,$FF,$0F,$FF,$1F,$FF,$3F,$FF .db $7F,$29,$FF,$8E,$02,$A0,$27,$FF .db $0B,$1C,$FF,$E0,$FF,$FF,$00,$F1 .db $0E,$9F,$60,$FC,$03,$43,$FF,$00 .db $27,$FF,$07,$E0,$FF,$00,$FF,$3C .db $C3,$E3,$1C,$43,$FF,$00,$03,$F3 .db $0C,$FF,$00,$27,$FF,$02,$77,$FF .db $63,$4C,$FF,$41,$01,$77,$63,$25 .db $41,$00,$FC,$4E,$FF,$F0,$01,$FC .db $F8,$25,$F0,$8B,$00,$34,$83,$00 .db $34,$01,$3F,$1F,$25,$0F,$03,$F8 .db $03,$F8,$07,$4B,$F0,$0F,$01,$FC .db $F8,$25,$F0,$04,$0A,$CA,$05,$E5 .db $0A,$85,$01,$B0,$84,$03,$67,$01 .db $35,$1A,$45,$05,$0A,$0A,$E4,$FF .db $C2,$FF,$80,$FF,$82,$FF,$80,$FF .db $82,$84,$03,$7B,$27,$00,$23,$0F .db $85,$01,$70,$25,$FF,$04,$F0,$F0 .db $E0,$C0,$80,$22,$00,$2F,$FF,$27 .db $00,$2F,$FF,$27,$00,$01,$F8,$F8 .db $25,$FC,$01,$FE,$FE,$25,$FF,$00 .db $07,$22,$03,$00,$01,$30,$00,$01 .db $01,$01,$2B,$00,$09,$03,$03,$0C .db $0C,$10,$10,$20,$20,$C4,$C4,$24 .db $00,$0E,$03,$0F,$1F,$3B,$FF,$0F .db $0F,$F0,$F0,$02,$02,$00,$00,$10 .db $10,$26,$00,$03,$0F,$FD,$FF,$EF .db $22,$FF,$05,$F0,$F0,$0F,$0F,$00 .db $00,$83,$04,$24,$01,$20,$20,$24 .db $00,$06,$F0,$FF,$FD,$FF,$DF,$FF .db $FF,$23,$00,$0B,$C0,$C0,$30,$30 .db $08,$08,$04,$04,$03,$03,$81,$81 .db $22,$00,$04,$C0,$F0,$F8,$FC,$7E .db $2D,$00,$01,$80,$80,$27,$00,$46 .db $7F,$F0,$48,$FF,$7F,$27,$7F,$83 .db $01,$98,$13,$F8,$FF,$E0,$FF,$C1 .db $FF,$8D,$FF,$9C,$FC,$11,$F0,$FF .db $FF,$F8,$E0,$C0,$80,$83,$0F,$83 .db $00,$34,$43,$00,$FF,$09,$81,$FF .db $A5,$FF,$24,$7E,$A5,$7E,$FF,$FF .db $23,$00,$01,$81,$81,$83,$01,$C8 .db $13,$1A,$E0,$05,$F8,$C2,$FC,$F1 .db $FE,$38,$3E,$88,$0F,$FF,$FF,$1F .db $07,$03,$01,$C1,$F0,$83,$01,$E0 .db $8B,$04,$E0,$47,$F5,$FA,$8B,$00 .db $7C,$83,$00,$7C,$28,$00,$04,$0F .db $0F,$3F,$3F,$70,$43,$7F,$C0,$03 .db $3F,$70,$0F,$3F,$83,$05,$10,$11 .db $72,$C2,$C0,$70,$3F,$0F,$CA,$B5 .db $BC,$43,$FB,$84,$C6,$01,$C7,$00 .db $7F,$80,$44,$FF,$00,$05,$C7,$C7 .db $39,$39,$C7,$C7,$83,$00,$EF,$0D .db $C7,$FE,$C7,$C7,$01,$C6,$01,$39 .db $C6,$3C,$C7,$58,$EF,$00,$86,$05 .db $39,$97,$00,$60,$23,$02,$07,$04 .db $04,$08,$08,$10,$10,$12,$12,$23 .db $20,$00,$01,$83,$00,$D0,$04,$0D .db $1F,$1F,$02,$02,$23,$00,$01,$20 .db $20,$23,$00,$83,$04,$24,$01,$FD .db $FF,$83,$04,$4C,$03,$FD,$FF,$00 .db $00,$25,$60,$01,$64,$64,$25,$60 .db $00,$FF,$22,$9F,$00,$9B,$22,$9F .db $03,$00,$00,$46,$46,$25,$06,$01 .db $26,$26,$23,$06,$01,$FF,$B9,$22 .db $F9,$04,$D9,$F9,$F9,$02,$02,$23 .db $00,$01,$20,$20,$23,$00,$8B,$05 .db $94,$0F,$C0,$C0,$40,$40,$E0,$E0 .db $70,$70,$38,$38,$58,$58,$3C,$3C .db $1C,$1C,$43,$00,$80,$03,$C0,$A0 .db $C0,$E0,$E4,$22,$00,$04,$60,$20 .db $50,$10,$28,$25,$00,$01,$20,$10 .db $28,$00,$06,$1C,$18,$3F,$01,$3E .db $06,$38,$24,$00,$02,$1C,$1F,$1F .db $2A,$00,$04,$01,$01,$83,$80,$4F .db $25,$00,$01,$01,$80,$22,$00,$14 .db $10,$10,$38,$28,$74,$50,$E8,$A0 .db $D0,$50,$A8,$88,$54,$00,$00,$10 .db $38,$70,$E0,$D0,$88,$2C,$00,$02 .db $70,$60,$F8,$26,$00,$05,$70,$34 .db $F1,$25,$E5,$00,$44,$FF,$3F,$07 .db $00,$FF,$0D,$C0,$00,$ED,$0F,$1F .db $23,$00,$01,$3F,$3F,$43,$A5,$7E .db $00,$24,$44,$FF,$A5,$01,$24,$FF .db $43,$A5,$7E,$01,$81,$81,$23,$00 .db $04,$81,$A5,$6F,$1F,$2F,$44,$1F .db $0F,$46,$07,$0F,$24,$0F,$23,$07 .db $37,$FF,$23,$40,$03,$48,$48,$C0 .db $C0,$23,$80,$0B,$A0,$A0,$80,$80 .db $BF,$BF,$B7,$3F,$7F,$7F,$5F,$7F .db $87,$04,$3C,$23,$00,$83,$04,$24 .db $85,$04,$4A,$01,$FD,$FF,$25,$00 .db $01,$08,$08,$83,$04,$3C,$23,$00 .db $22,$FF,$04,$F7,$FF,$FD,$FF,$FF .db $E4,$2F,$00,$17,$2E,$2E,$1E,$1E .db $AE,$AE,$1F,$1F,$2F,$2F,$17,$17 .db $4F,$4F,$17,$17,$D1,$E1,$51,$E0 .db $D0,$E8,$B0,$E8,$22,$00,$0A,$03 .db $00,$07,$03,$0C,$04,$18,$0D,$31 .db $21,$41,$83,$00,$26,$E0,$23,$03 .db $07,$0F,$1E,$3E,$00,$08,$14,$04 .db $8A,$02,$CD,$8D,$52,$5E,$21,$1C .db $23,$E3,$DC,$00,$FF,$08,$04,$82 .db $8D,$DE,$DC,$23,$00,$0E,$30,$0D .db $F1,$7B,$83,$43,$1B,$E3,$07,$A3 .db $43,$CF,$2F,$00,$FF,$1F,$3E,$22 .db $7C,$09,$BC,$D0,$00,$01,$5E,$D0 .db $EC,$E8,$F0,$E9,$43,$F1,$EB,$E0 .db $41,$F3,$F7,$FF,$00,$FF,$8F,$1F .db $0F,$0E,$0E,$0C,$00,$00,$08,$95 .db $0C,$53,$5C,$63,$D0,$EF,$CF,$F0 .db $D0,$E0,$AC,$FC,$00,$FF,$08,$8D .db $9D,$13,$0F,$1F,$03,$00,$E0,$D8 .db $B8,$C4,$3C,$C2,$60,$83,$ED,$0E .db $0E,$0F,$1E,$1F,$00,$FF,$F0,$F8 .db $FC,$FC,$F1,$F0,$E0,$00,$00,$ED .db $3F,$ED,$00,$44,$FF,$3F,$07,$00 .db $FF,$2D,$C0,$04,$E9,$3F,$3F,$23 .db $00,$01,$3F,$3F,$37,$00,$43,$03 .db $07,$45,$01,$03,$45,$00,$01,$01 .db $03,$03,$22,$01,$22,$00,$23,$FF .db $06,$F7,$FF,$F9,$FF,$FC,$FF,$FE .db $26,$FF,$09,$F7,$F9,$FC,$FE,$FF .db $FF,$80,$80,$82,$82,$23,$80,$01 .db $90,$90,$25,$80,$04,$7F,$7D,$7F .db $7F,$6F,$22,$7F,$23,$00,$83,$04 .db $42,$03,$01,$01,$10,$10,$23,$00 .db $83,$05,$99,$03,$FE,$EF,$FF,$FF .db $25,$00,$01,$22,$22,$25,$00,$01 .db $08,$08,$22,$FF,$00,$DD,$22,$FF .db $0B,$F7,$11,$11,$0B,$1B,$17,$1E .db $1F,$06,$01,$1F,$1E,$84,$01,$72 .db $03,$11,$1B,$1E,$06,$83,$00,$D4 .db $1F,$08,$88,$50,$D8,$80,$78,$98 .db $60,$00,$F8,$78,$FC,$7C,$DE,$FE .db $DF,$88,$D8,$78,$60,$F8,$FC,$DE .db $DF,$0F,$0F,$17,$17,$8F,$8F,$17 .db $17,$87,$07,$70,$03,$F0,$E8,$70 .db $E8,$84,$07,$7C,$17,$FF,$5F,$9F .db $27,$C7,$31,$C1,$04,$78,$21,$7E .db $00,$3F,$00,$07,$00,$60,$78,$7E .db $3F,$3F,$03,$00,$00,$22,$FF,$1F .db $D8,$D8,$80,$80,$3F,$00,$FE,$01 .db $00,$FF,$00,$FE,$00,$00,$27,$7F .db $FF,$FF,$FE,$00,$00,$FF,$5C,$9B .db $34,$C3,$08,$F6,$00,$7E,$00,$1C .db $24,$00,$03,$66,$7C,$3C,$08,$22 .db $00,$01,$03,$00,$43,$06,$01,$43 .db $0D,$03,$E0,$29,$1D,$03,$19,$0E .db $16,$09,$03,$06,$06,$0D,$0D,$1D .db $13,$11,$67,$FB,$CF,$F7,$CF,$F6 .db $9F,$E8,$9C,$E3,$83,$FF,$1F,$FF .db $9F,$7F,$64,$C8,$C9,$97,$9C,$83 .db $1F,$9F,$DC,$BF,$D9,$3E,$43,$B9 .db $7E,$0F,$79,$FE,$69,$D6,$65,$8A .db $45,$8A,$5C,$D9,$B9,$B9,$79,$59 .db $1D,$3D,$46,$FF,$7C,$43,$3C,$FF .db $43,$38,$FF,$00,$78,$22,$83,$04 .db $C3,$C3,$C7,$C7,$87,$97,$00,$60 .db $00,$E3,$43,$F0,$E0,$07,$F8,$E0 .db $FC,$F0,$FF,$F8,$FF,$FC,$22,$FF .db $11,$EC,$EF,$E7,$E3,$F0,$F8,$FC .db $FF,$C0,$0C,$00,$14,$00,$04,$00 .db $0C,$00,$3C,$45,$00,$FC,$04,$30 .db $E8,$F8,$F0,$C0,$22,$00,$23,$80 .db $03,$90,$90,$82,$82,$23,$80,$0D .db $84,$84,$80,$80,$7F,$7F,$6F,$7D .db $7F,$7F,$7B,$7F,$00,$01,$28,$00 .db $43,$01,$00,$00,$03,$27,$00,$00 .db $FF,$46,$FF,$7F,$00,$3F,$22,$FF .db $04,$F9,$FF,$3C,$FF,$FF,$22,$7F .db $05,$3F,$FF,$F9,$3C,$0F,$FF,$43 .db $07,$EF,$43,$87,$EF,$0F,$84,$EF .db $83,$CF,$86,$CF,$0F,$07,$07,$87 .db $87,$84,$83,$86,$F0,$FC,$45,$F8 .db $FE,$08,$00,$FF,$E0,$FF,$80,$FF .db $7C,$83,$F0,$22,$F8,$03,$00,$E0 .db $80,$7C,$97,$00,$60,$07,$FF,$00 .db $FC,$03,$F3,$0F,$EF,$1C,$43,$DF .db $30,$43,$BF,$60,$0F,$03,$0F,$1F .db $3C,$70,$70,$E0,$E0,$03,$00,$0C .db $03,$13,$0F,$2F,$1C,$43,$5F,$30 .db $43,$BF,$60,$87,$0A,$90,$03,$7F .db $C0,$FF,$80,$4B,$FF,$00,$01,$C0 .db $80,$25,$00,$00,$36,$44,$09,$30 .db $04,$31,$0E,$14,$0F,$2E,$44,$1F .db $6F,$07,$31,$37,$17,$03,$04,$0E .db $0F,$0F,$45,$9F,$7F,$43,$3F,$FF .db $00,$7F,$24,$FF,$22,$9F,$04,$3F .db $3F,$7F,$FF,$FF,$43,$05,$8A,$07 .db $09,$D6,$85,$FA,$C5,$FA,$EE,$F1 .db $43,$EF,$F0,$04,$7D,$7C,$38,$80 .db $C0,$22,$E0,$17,$FF,$F8,$FF,$70 .db $FE,$20,$FE,$00,$DC,$00,$04,$00 .db $00,$F8,$C0,$08,$07,$8F,$DE,$7E .db $3C,$FC,$00,$30,$97,$00,$60,$23 .db $FF,$02,$F9,$FF,$E3,$47,$FF,$0F .db $22,$FF,$01,$F9,$E3,$23,$0F,$00 .db $80,$44,$F8,$C0,$43,$E0,$F8,$45 .db $F0,$FC,$00,$80,$83,$02,$64,$22 .db $F0,$97,$00,$60,$0A,$1F,$01,$3E .db $07,$7F,$1E,$7F,$3C,$FF,$70,$FF .db $24,$00,$04,$1F,$20,$41,$43,$8F .db $22,$FF,$0B,$DE,$FF,$6F,$FF,$B3 .db $7F,$DC,$3F,$E0,$1F,$FF,$00,$43 .db $00,$F8,$13,$DE,$6F,$B3,$DC,$E0 .db $FF,$FB,$FB,$05,$CE,$03,$CD,$07 .db $EB,$07,$E3,$07,$C1,$C7,$00,$43 .db $00,$C4,$04,$05,$02,$04,$04,$06 .db $22,$C7,$04,$FE,$81,$FE,$71,$FF .db $83,$09,$C8,$02,$F0,$FF,$00,$43 .db $00,$0F,$04,$1E,$0E,$0F,$07,$0F .db $22,$FF,$97,$00,$60,$FF,$25,$00 .db $04,$01,$00,$07,$00,$1F,$43,$00 .db $3F,$28,$00,$02,$03,$00,$7B,$4A .db $00,$FF,$01,$FD,$02,$26,$00,$03 .db $02,$83,$00,$E7,$4B,$00,$FF,$28 .db $00,$06,$80,$00,$E0,$00,$F0,$00 .db $F6,$44,$00,$FF,$43,$F9,$06,$25 .db $00,$01,$06,$06,$25,$00,$04,$E0 .db $00,$F8,$00,$FC,$43,$00,$FE,$2E .db $00,$00,$24,$22,$00,$04,$5A,$00 .db $3C,$00,$FF,$23,$00,$04,$24,$00 .db $5A,$24,$E7,$24,$00,$0A,$07,$00 .db $1F,$01,$3F,$0D,$7F,$1C,$7C,$11 .db $F0,$25,$00,$01,$03,$0F,$24,$00 .db $0A,$FF,$00,$FF,$81,$FF,$A5,$FF .db $24,$7E,$A5,$7E,$25,$00,$01,$81 .db $81,$24,$00,$0A,$E0,$00,$F8,$C0 .db $FC,$F0,$FE,$38,$3E,$88,$0F,$25 .db $00,$10,$C0,$F0,$1C,$00,$7E,$00 .db $FC,$02,$FD,$02,$39,$46,$02,$FC .db $9E,$60,$6C,$22,$00,$05,$02,$03 .db $47,$FE,$FE,$6C,$43,$00,$01,$E0 .db $41,$01,$0A,$0A,$14,$15,$38,$0C .db $10,$08,$20,$1A,$C2,$00,$00,$01 .db $0B,$07,$0F,$1F,$3D,$00,$80,$80 .db $40,$40,$A0,$A0,$50,$30,$48,$88 .db $34,$04,$0A,$42,$4D,$00,$80,$40 .db $A0,$B0,$C8,$F4,$B2,$00,$1F,$10 .db $28,$38,$44,$7C,$83,$3B,$C7,$57 .db $AF,$60,$9F,$77,$88,$00,$17,$3B .db $7C,$38,$10,$22,$00,$11,$F8,$00 .db $04,$00,$02,$00,$FF,$D4,$FE,$B8 .db $FC,$14,$F2,$EA,$19,$00,$F8,$FC .db $22,$00,$19,$0C,$06,$40,$20,$A0 .db $90,$50,$C8,$28,$64,$14,$32,$0A .db $19,$05,$0C,$02,$06,$C0,$60,$30 .db $18,$0C,$06,$03,$01,$2C,$00,$02 .db $80,$80,$40,$26,$00,$00,$80,$45 .db $3F,$00,$09,$70,$0F,$74,$0B,$F0 .db $0F,$C1,$3E,$80,$7F,$22,$00,$10 .db $0F,$0B,$0F,$3F,$7F,$FD,$02,$FC .db $03,$78,$87,$38,$C7,$00,$FF,$87 .db $78,$43,$FF,$00,$1A,$02,$03,$87 .db $C7,$FF,$7F,$FF,$FF,$DF,$20,$4F .db $B0,$0F,$F0,$00,$FF,$80,$7F,$84 .db $7B,$FE,$01,$FF,$00,$20,$B0,$F0 .db $24,$FF,$03,$79,$86,$78,$87,$45 .db $00,$FF,$01,$1B,$E4,$43,$FF,$00 .db $01,$86,$87,$26,$FF,$10,$00,$3F .db $C0,$1E,$E0,$1C,$E0,$1E,$E0,$1F .db $E0,$0F,$F0,$8F,$70,$00,$C0,$23 .db $E0,$01,$F0,$F0,$83,$00,$7C,$00 .db $81,$22,$00,$00,$81,$22,$00,$05 .db $99,$00,$3C,$00,$00,$24,$43,$81 .db $00,$06,$99,$3C,$34,$F1,$25,$E5 .db $00,$44,$FF,$3F,$07,$00,$FF,$0D .db $C0,$00,$ED,$0F,$1F,$23,$00,$01 .db $3F,$3F,$43,$A5,$7E,$00,$24,$44 .db $FF,$A5,$01,$24,$FF,$43,$A5,$7E .db $01,$81,$81,$23,$00,$06,$81,$A5 .db $2C,$8F,$A4,$A7,$00,$44,$FF,$FC .db $07,$00,$FF,$B0,$03,$00,$B7,$F0 .db $F8,$23,$00,$E0,$45,$FC,$FC,$00 .db $00,$6C,$00,$48,$A4,$1A,$60,$26 .db $18,$64,$10,$C8,$24,$0A,$40,$00 .db $00,$A4,$60,$18,$10,$24,$40,$44 .db $B4,$30,$48,$10,$28,$09,$17,$05 .db $0B,$02,$05,$01,$02,$00,$01,$4B .db $37,$17,$08,$04,$02,$01,$00,$9C .db $9F,$38,$3C,$F0,$F8,$A8,$F4,$54 .db $F2,$8A,$D9,$05,$8C,$02,$86,$60 .db $C0,$00,$08,$83,$01,$64,$45,$77 .db $88,$01,$76,$89,$45,$56,$A9,$01 .db $00,$FF,$27,$00,$07,$F5,$0C,$F2 .db $0E,$D1,$2B,$D0,$29,$45,$D0,$28 .db $03,$00,$F8,$03,$01,$25,$00,$03 .db $01,$03,$00,$01,$33,$00,$89,$01 .db $50,$04,$08,$19,$06,$0F,$00,$86 .db $01,$5F,$24,$00,$06,$60,$20,$58 .db $18,$27,$1F,$20,$43,$0F,$10,$09 .db $07,$08,$00,$00,$20,$18,$1F,$0F .db $0F,$07,$22,$00,$00,$01,$63,$01 .db $05,$07,$C8,$CF,$30,$C0,$3F,$83 .db $00,$3D,$0F,$01,$03,$07,$CF,$C0 .db $3C,$00,$80,$80,$60,$E0,$10,$F0 .db $08,$F8,$06,$83,$01,$BC,$15,$7F .db $80,$00,$80,$E0,$F0,$F8,$FE,$FF .db $7F,$00,$01,$01,$06,$07,$18,$1F .db $20,$3F,$C0,$FF,$00,$43,$F0,$0F .db $07,$00,$01,$07,$1F,$3F,$FF,$F0 .db $F6,$22,$00,$14,$80,$80,$40,$C0 .db $20,$E0,$13,$F3,$0C,$7F,$80,$03 .db $FC,$00,$00,$80,$C0,$E0,$F3,$7F .db $03,$22,$00,$06,$06,$04,$1A,$18 .db $E4,$F8,$04,$43,$F0,$08,$0E,$E0 .db $10,$00,$00,$04,$18,$F8,$F0,$F0 .db $E0,$00,$ED,$3F,$ED,$00,$44,$FF .db $3F,$07,$00,$FF,$2D,$C0,$04,$E9 .db $3F,$3F,$23,$00,$01,$3F,$3F,$43 .db $A5,$7E,$00,$24,$44,$FF,$A5,$01 .db $24,$FF,$44,$A5,$7E,$00,$81,$23 .db $00,$06,$81,$81,$00,$B7,$FC,$B7 .db $00,$44,$FF,$FC,$07,$00,$FF,$B4 .db $03,$20,$97,$FC,$FC,$23,$00,$0C .db $FC,$FC,$20,$00,$66,$10,$00,$20 .db $18,$00,$20,$18,$44,$25,$00,$03 .db $10,$20,$00,$18,$25,$00,$10,$3F .db $3F,$40,$00,$7F,$10,$20,$12,$20 .db $1C,$E0,$1C,$A0,$00,$00,$3F,$00 .db $22,$1F,$00,$5F,$22,$00,$0C,$F8 .db $F8,$04,$00,$FC,$50,$58,$70,$78 .db $F0,$FF,$F7,$F8,$83,$01,$37,$06 .db $A0,$80,$00,$07,$00,$FF,$7F,$45 .db $80,$00,$07,$FF,$7D,$FF,$01,$FF .db $7D,$83,$00,$22,$7F,$24,$00,$01 .db $FF,$FE,$45,$01,$00,$07,$FF,$3E .db $7F,$00,$7F,$3E,$41,$00,$22,$FE .db $00,$00,$22,$80,$4F,$01,$03,$28 .db $00,$4E,$40,$00,$27,$80,$01,$06 .db $09,$43,$02,$05,$11,$00,$03,$00 .db $07,$06,$19,$1F,$60,$7F,$80,$06 .db $02,$02,$00,$00,$06,$1F,$7F,$4F .db $00,$FF,$09,$FE,$C7,$C3,$C3,$E6 .db $EE,$7C,$78,$38,$C7,$45,$18,$E7 .db $47,$00,$FF,$00,$38,$22,$1B,$05 .db $03,$73,$F9,$DD,$30,$CF,$4D,$00 .db $FF,$07,$36,$0E,$8E,$8E,$DE,$DE .db $FE,$FE,$4D,$00,$FF,$0B,$01,$FE .db $F0,$FC,$CE,$C6,$C6,$CC,$F8,$F1 .db $E0,$10,$43,$40,$A0,$05,$00,$C0 .db $40,$A0,$E0,$18,$83,$03,$38,$0B .db $E0,$40,$40,$00,$40,$E0,$F8,$FE .db $00,$3C,$3C,$42,$43,$66,$99,$07 .db $0C,$F2,$00,$3E,$18,$24,$00,$3C .db $2B,$00,$43,$38,$00,$01,$00,$38 .db $43,$10,$28,$43,$00,$38,$08,$7C .db $6C,$38,$28,$28,$38,$00,$00,$10 .db $44,$00,$38,$01,$00,$38,$43,$10 .db $28,$02,$00,$38,$10,$83,$05,$3C .db $84,$05,$3D,$00,$24,$22,$00,$02 .db $08,$00,$20,$2E,$00,$0B,$1A,$A0 .db $1A,$E0,$18,$20,$08,$20,$00,$7F .db $3F,$40,$83,$00,$0D,$00,$5F,$22 .db $1F,$83,$00,$0D,$13,$D0,$D8,$F0 .db $FF,$70,$78,$50,$58,$00,$FC,$F8 .db $04,$00,$F8,$00,$00,$27,$00,$80 .db $A0,$83,$05,$94,$47,$7D,$83,$45 .db $6D,$93,$01,$01,$EF,$27,$00,$49 .db $3E,$41,$05,$3A,$45,$2A,$55,$00 .db $7B,$27,$80,$4F,$01,$03,$28,$00 .db $4E,$40,$00,$27,$80,$09,$7F,$80 .db $1F,$60,$07,$18,$01,$06,$01,$02 .db $43,$03,$04,$09,$07,$08,$7F,$1F .db $07,$01,$01,$03,$03,$07,$47,$00 .db $FF,$47,$80,$7F,$07,$7E,$67,$63 .db $63,$B3,$B7,$BE,$B8,$4D,$00,$FF .db $09,$38,$C7,$8D,$0D,$5D,$7D,$31 .db $03,$03,$3B,$4D,$00,$FF,$03,$10 .db $EF,$FE,$FE,$22,$6E,$02,$0E,$06 .db $16,$4F,$00,$FF,$01,$F8,$CC,$22 .db $C6,$15,$CE,$FC,$78,$FE,$01,$78 .db $86,$20,$D8,$00,$E0,$00,$C0,$00 .db $E0,$40,$A0,$60,$90,$FE,$78,$20 .db $22,$00,$E0,$20,$40,$60,$67,$60 .db $EF,$E0,$FF,$E0,$DF,$C0,$CF,$C0 .db $EF,$E0,$2F,$20,$47,$40,$1C,$1C .db $10,$30,$3D,$1F,$1F,$3F,$FA,$02 .db $FB,$03,$F9,$01,$FB,$44,$03,$F3 .db $0B,$F6,$06,$B6,$06,$1C,$3C,$0E .db $4C,$7C,$3C,$F8,$F8,$43,$0F,$00 .db $16,$DF,$C0,$9F,$80,$BF,$80,$9F .db $80,$DF,$C0,$5F,$40,$3E,$38,$30 .db $70,$70,$7C,$3C,$3C,$F0,$00,$F8 .db $46,$00,$FC,$07,$FE,$00,$FF,$01 .db $FD,$01,$08,$1C,$22,$0E,$E0,$56 .db $0F,$4E,$DE,$03,$07,$07,$0F,$0F .db $1A,$0E,$1F,$1C,$3F,$18,$3F,$11 .db $3E,$1B,$3C,$07,$0F,$1A,$1F,$3F .db $3C,$3C,$38,$80,$FC,$01,$FF,$00 .db $FF,$06,$FB,$03,$FD,$E3,$1C,$F7 .db $0B,$FE,$11,$F3,$F9,$F8,$F4,$1A .db $0B,$74,$E9,$22,$3F,$C2,$FF,$03 .db $FF,$B1,$5F,$C0,$3F,$E3,$FC,$F7 .db $F8,$7F,$80,$E7,$CF,$0F,$A7,$CC .db $09,$03,$FF,$80,$E0,$80,$F0,$C0 .db $B0,$C0,$78,$40,$F8,$A0,$F8,$43 .db $C0,$78,$1A,$E0,$F0,$B0,$78,$78 .db $38,$98,$98,$00,$03,$00,$32,$20 .db $5F,$27,$50,$2F,$50,$20,$50,$23 .db $50,$20,$50,$00,$01,$20,$24,$2F .db $06,$00,$C0,$00,$4C,$04,$FA,$F4 .db $44,$0A,$C4,$06,$24,$0A,$04,$0A .db $00,$80,$04,$24,$F4,$01,$07,$08 .db $43,$0F,$10,$1B,$1F,$20,$18,$27 .db $20,$58,$00,$60,$00,$00,$07,$0F .db $0F,$1F,$18,$20,$00,$00,$80,$7F .db $C1,$3E,$CF,$30,$07,$C8,$03,$04 .db $83,$02,$7C,$05,$00,$00,$80,$C1 .db $CF,$07,$83,$01,$66,$07,$78,$87 .db $FC,$03,$FE,$01,$F8,$06,$83,$03 .db $84,$0F,$80,$60,$00,$80,$78,$FC .db $FE,$F8,$F0,$E0,$80,$00,$10,$EF .db $18,$E7,$83,$01,$E0,$01,$1F,$20 .db $83,$06,$04,$17,$00,$01,$10,$18 .db $FF,$3F,$1F,$07,$01,$00,$00,$FF .db $03,$FC,$F3,$0C,$E0,$13,$C0,$20 .db $80,$40,$00,$80,$22,$00,$08,$03 .db $F3,$E0,$C0,$80,$00,$00,$E0,$10 .db $43,$F0,$08,$1B,$F8,$04,$18,$E4 .db $04,$1A,$00,$06,$00,$00,$E0,$F0 .db $F0,$F8,$18,$04,$00,$00,$29,$20 .db $21,$20,$3C,$3C,$1C,$1C,$07,$07 .db $25,$00,$03,$1F,$1F,$03,$03,$23 .db $00,$05,$24,$04,$18,$18,$10,$10 .db $23,$E0,$25,$00,$02,$F8,$E0,$E0 .db $24,$00,$83,$06,$96,$E0,$2B,$4F .db $40,$CF,$C8,$7E,$78,$6D,$6D,$47 .db $47,$04,$04,$34,$3E,$3E,$37,$07 .db $02,$00,$00,$F9,$01,$ED,$01,$E2 .db $02,$CE,$0E,$9F,$9F,$B0,$B0,$F0 .db $F0,$C0,$C0,$FE,$FE,$FC,$F0,$60 .db $40,$00,$00,$45,$0B,$1C,$13,$03 .db $0C,$05,$0F,$04,$0F,$05,$0E,$04 .db $0F,$19,$19,$1B,$0B,$0C,$0C,$0D .db $0C,$EC,$33,$43,$DD,$62,$E0,$29 .db $DC,$E3,$DE,$F1,$1F,$F0,$DF,$F9 .db $0F,$FC,$C3,$86,$9E,$1F,$0F,$0F .db $06,$23,$37,$D8,$BB,$4E,$BB,$4F .db $3D,$CF,$7D,$9F,$F8,$7F,$FB,$FD .db $F0,$7F,$E7,$71,$70,$F0,$E0,$80 .db $02,$84,$44,$C0,$78,$0E,$F8,$C0 .db $F8,$A0,$F0,$20,$F0,$80,$F0,$00 .db $F8,$98,$98,$18,$18,$22,$30,$0C .db $38,$23,$53,$2F,$5F,$26,$56,$2F .db $5F,$20,$5F,$00,$32,$43,$00,$02 .db $04,$2C,$20,$29,$20,$20,$22,$01 .db $0B,$C4,$CA,$F4,$FA,$E4,$EA,$F4 .db $FA,$04,$FA,$80,$4C,$43,$80,$40 .db $04,$34,$04,$14,$04,$04,$22,$80 .db $02,$00,$7F,$20,$43,$7F,$00,$43 .db $03,$01,$00,$02,$84,$04,$20,$06 .db $3F,$00,$01,$01,$00,$00,$7F,$46 .db $00,$FE,$09,$C0,$00,$C0,$80,$C0 .db $00,$FF,$FC,$01,$00,$83,$03,$6F .db $02,$80,$00,$FE,$26,$00,$01,$7F .db $20,$43,$7F,$00,$02,$FF,$7F,$80 .db $23,$00,$03,$3F,$00,$00,$7F,$26 .db $00,$45,$FE,$00,$02,$FF,$FC,$01 .db $23,$00,$03,$FC,$00,$00,$FE,$E4 .db $30,$00,$00,$FF,$4D,$5F,$A0,$28 .db $00,$00,$FF,$4D,$FE,$01,$27,$00 .db $0F,$2C,$2C,$7E,$52,$FF,$A1,$7F .db $41,$FE,$82,$FF,$85,$7E,$4A,$34 .db $34,$27,$00,$E0,$57,$FE,$7F,$FD .db $BF,$FB,$DF,$F7,$EF,$EF,$F7,$DF .db $FB,$BF,$FD,$7F,$FE,$FE,$FD,$FB .db $F7,$EF,$DF,$BF,$7F,$0C,$1E,$08 .db $1E,$18,$3E,$30,$7E,$10,$3C,$01 .db $19,$12,$3B,$22,$F3,$1D,$1D,$3D .db $7D,$3B,$17,$36,$EE,$80,$FF,$87 .db $FB,$80,$FF,$8F,$F2,$9F,$E4,$3F .db $C4,$7F,$88,$FF,$08,$B0,$B4,$B0 .db $A5,$8B,$1B,$17,$37,$00,$FE,$80 .db $FE,$00,$FE,$D0,$3E,$E8,$1D,$F4 .db $1F,$F6,$0F,$FB,$0F,$22,$0D,$00 .db $C5,$83,$01,$F4,$17,$A0,$F8,$B8 .db $FD,$BC,$FF,$96,$FF,$48,$7E,$44 .db $7E,$82,$9F,$40,$CF,$B8,$BD,$BF .db $BF,$DE,$DE,$EF,$77,$97,$09,$D8 .db $97,$09,$D8,$03,$63,$80,$45,$82 .db $43,$49,$86,$13,$47,$80,$65,$80 .db $3F,$BF,$00,$FF,$5C,$78,$70,$70 .db $78,$5A,$40,$00,$C6,$03,$A2,$43 .db $43,$92,$63,$04,$E2,$03,$A6,$03 .db $FE,$83,$04,$BD,$06,$1C,$0C,$0C .db $1C,$58,$00,$00,$83,$0A,$80,$43 .db $49,$86,$93,$0A,$88,$43,$92,$63 .db $8D,$0A,$A0,$2C,$00,$04,$FF,$FF .db $00,$00,$FF,$32,$00,$84,$0A,$EB .db $27,$00,$45,$5F,$A0,$01,$40,$BF .db $47,$40,$A0,$27,$00,$45,$FE,$01 .db $01,$00,$FF,$2F,$00,$F0,$2F,$0A .db $50,$17,$05,$76,$05,$26,$0B,$2C .db $17,$58,$17,$98,$4F,$50,$AF,$F0 .db $1F,$A0,$6C,$1C,$18,$31,$71,$E3 .db $A3,$07,$4F,$FF,$00,$02,$7F,$EF .db $EF,$22,$DF,$03,$BF,$FF,$FF,$0F .db $4A,$FF,$07,$03,$03,$7F,$83,$F0 .db $24,$F8,$18,$FC,$7C,$A0,$E7,$90 .db $F2,$C8,$F9,$C4,$EC,$E5,$FF,$F0 .db $FB,$F0,$FC,$F8,$FC,$3B,$1C,$0E .db $07,$05,$04,$00,$43,$00,$7C,$01 .db $38,$7C,$49,$18,$3C,$28,$00,$01 .db $FF,$00,$46,$FF,$66,$01,$3C,$7E .db $43,$18,$3C,$28,$00,$FF,$17,$B4 .db $4A,$FC,$03,$33,$CF,$01,$31,$84 .db $84,$4A,$CA,$31,$F9,$CF,$FF,$00 .db $48,$30,$CE,$7B,$B5,$CE,$30,$24 .db $00,$0A,$80,$80,$E0,$E0,$F0,$60 .db $7C,$F8,$9C,$F8,$1C,$24,$00,$00 .db $80,$3A,$00,$48,$01,$00,$45,$01 .db $03,$28,$00,$0F,$FF,$00,$E4,$E0 .db $E6,$00,$FF,$E0,$FF,$F0,$CF,$F2 .db $CD,$F7,$C8,$00,$23,$1F,$0E,$3F .db $0F,$3C,$00,$FC,$00,$3C,$38,$FC .db $00,$BC,$78,$BC,$F8,$3C,$43,$70 .db $F8,$00,$00,$24,$C0,$09,$80,$80 .db $00,$FF,$04,$F8,$7F,$F8,$7E,$F8 .db $43,$7F,$FC,$E0,$43,$07,$46,$3F .db $7F,$00,$07,$00,$01,$07,$04,$3A .db $03,$00,$FF,$8F,$FF,$87,$7F,$C0 .db $FF,$70,$0F,$FF,$19,$CE,$00,$FE .db $00,$00,$7F,$7F,$3F,$8F,$00,$31 .db $61,$00,$FF,$F1,$FF,$E1,$FE,$03 .db $FF,$0E,$F0,$FF,$98,$73,$00,$7F .db $00,$00,$FE,$FE,$FC,$F1,$00,$8C .db $86,$00,$FF,$20,$1F,$FE,$1F,$7E .db $1F,$43,$FE,$3F,$0F,$E0,$62,$FC .db $FE,$00,$E0,$00,$80,$E0,$20,$5C .db $C0,$00,$20,$DF,$20,$23,$00,$03 .db $FF,$FF,$00,$00,$23,$FF,$05,$DF .db $DF,$FF,$FF,$00,$FF,$22,$00,$01 .db $80,$7F,$44,$80,$00,$07,$7F,$FF .db $00,$80,$7F,$FF,$7D,$FF,$23,$7F .db $84,$00,$CD,$16,$7F,$FD,$BF,$FB .db $DF,$F7,$EF,$EF,$F7,$DF,$FB,$BF .db $FD,$7F,$FE,$FE,$FD,$FB,$F7,$EF .db $DF,$BF,$7F,$97,$01,$20,$8D,$00 .db $00,$01,$CE,$FE,$86,$00,$10,$00 .db $31,$24,$00,$84,$00,$1D,$05,$20 .db $3C,$1A,$1E,$9F,$9B,$24,$00,$E0 .db $21,$C0,$E0,$60,$CF,$33,$87,$78 .db $85,$79,$00,$60,$09,$B9,$33,$F3 .db $86,$C6,$7F,$7F,$30,$30,$32,$FF .db $F6,$FC,$79,$80,$F0,$1C,$F0,$18 .db $E0,$F0,$80,$44,$F0,$00,$03,$10 .db $FC,$FC,$FE,$22,$00,$00,$60,$22 .db $E0,$38,$00,$01,$01,$03,$45,$00 .db $04,$43,$01,$09,$04,$09,$11,$0F .db $12,$00,$22,$03,$03,$06,$06,$0E .db $0C,$44,$FF,$C0,$12,$80,$EF,$90 .db $EF,$10,$07,$F8,$81,$7F,$83,$7D .db $03,$00,$00,$10,$10,$F8,$7E,$7C .db $45,$F0,$78,$45,$80,$90,$43,$00 .db $20,$02,$80,$00,$00,$22,$60,$03 .db $C0,$C0,$03,$43,$43,$00,$20,$19 .db $0F,$10,$00,$08,$01,$06,$00,$01 .db $00,$00,$3C,$1F,$1F,$0F,$07,$01 .db $00,$00,$FF,$C0,$FF,$F8,$3F,$3F .db $FF,$0F,$83,$00,$5F,$13,$1F,$E0 .db $00,$1F,$C1,$39,$CF,$F0,$FF,$FF .db $1F,$00,$FF,$03,$FF,$1F,$FC,$FC .db $FF,$F0,$83,$00,$5F,$0D,$F8,$07 .db $00,$F8,$83,$9C,$F3,$0F,$FF,$FF .db $F8,$00,$C0,$C2,$43,$00,$04,$05 .db $F0,$08,$00,$10,$80,$60,$83,$00 .db $2C,$07,$3C,$F8,$F8,$F0,$E0,$80 .db $00,$00,$25,$FF,$44,$00,$FF,$00 .db $7F,$2B,$00,$47,$7C,$FF,$00,$60 .db $43,$FF,$00,$00,$1C,$29,$00,$F0 .db $2F,$01,$20,$02,$CE,$32,$86,$8C .db $01,$83,$01,$31,$31,$85,$01,$92 .db $0F,$FF,$F1,$FF,$D1,$FF,$E1,$BF .db $BB,$E6,$FE,$E2,$FE,$20,$3C,$44 .db $7E,$22,$00,$04,$40,$C8,$DC,$D8 .db $B8,$E4,$38,$00,$00,$01,$63,$01 .db $01,$07,$08,$24,$00,$E0,$34,$01 .db $03,$07,$1F,$24,$3F,$44,$3F,$48 .db $7F,$88,$FF,$10,$FD,$22,$C9,$76 .db $C1,$BE,$18,$38,$30,$70,$E0,$C2 .db $B6,$3E,$86,$7A,$66,$9A,$F6,$0C .db $FF,$04,$FF,$08,$FE,$09,$FE,$11 .db $FC,$22,$79,$99,$0B,$03,$07,$06 .db $0E,$1C,$00,$20,$44,$00,$40,$02 .db $80,$00,$80,$25,$00,$02,$C0,$80 .db $80,$25,$00,$0E,$E0,$40,$B8,$F0 .db $7C,$F8,$FE,$FE,$FF,$FC,$FF,$F8 .db $FF,$F0,$FF,$2C,$00,$0A,$01,$01 .db $03,$03,$05,$07,$8B,$0F,$9F,$07 .db $0F,$28,$00,$06,$40,$40,$E8,$E0 .db $7C,$E0,$FC,$43,$F0,$FE,$43,$F8 .db $FF,$28,$00,$0A,$06,$02,$05,$07 .db $0B,$07,$0F,$0F,$17,$0F,$1F,$43 .db $1F,$3F,$2A,$00,$04,$80,$00,$C0 .db $80,$E0,$43,$C0,$F0,$03,$80,$FF .db $7F,$9F,$32,$00,$04,$0F,$07,$09 .db $07,$CF,$2E,$00,$43,$01,$00,$43 .db $F1,$E0,$00,$FD,$2E,$00,$04,$FC .db $F8,$3C,$F8,$7F,$43,$F8,$FF,$27 .db $00,$02,$FF,$FF,$EF,$44,$FF,$C7 .db $13,$EF,$FF,$3F,$80,$3F,$C0,$FF .db $1F,$55,$FF,$EF,$EF,$FF,$60,$A0 .db $1F,$EC,$FE,$FC,$FE,$43,$F8,$FC .db $0C,$F0,$FC,$F0,$F8,$C0,$F8,$00 .db $E0,$90,$E0,$F0,$F0,$E0,$2F,$00 .db $02,$07,$07,$FF,$2E,$00,$08,$03 .db $03,$0C,$01,$70,$01,$81,$0F,$0E .db $23,$00,$E0,$25,$03,$0F,$7E,$F0 .db $0F,$11,$1F,$62,$7F,$84,$FF,$08 .db $FF,$30,$C9,$F6,$C3,$3C,$C1,$3E .db $0E,$1C,$78,$F0,$C0,$36,$3C,$3E .db $E0,$1F,$C0,$3F,$83,$7C,$F3,$0D .db $FB,$06,$83,$03,$66,$11,$FF,$10 .db $1F,$3F,$7C,$0C,$05,$03,$07,$0F .db $F8,$24,$78,$C4,$F0,$88,$E0,$10 .db $43,$C0,$20,$0A,$80,$40,$00,$80 .db $18,$B8,$70,$E0,$C0,$C0,$80,$39 .db $00,$10,$1E,$E0,$FC,$00,$3C,$00 .db $38,$80,$78,$00,$70,$00,$F0,$00 .db $E0,$E0,$00,$83,$00,$8C,$22,$00 .db $04,$04,$01,$03,$00,$01,$29,$00 .db $00,$03,$27,$00,$0A,$03,$FC,$FF .db $00,$01,$00,$81,$3F,$40,$00,$20 .db $43,$0F,$10,$13,$FC,$00,$FE,$7E .db $3F,$1F,$0F,$0F,$20,$C1,$3D,$FF .db $00,$84,$00,$0C,$E3,$1C,$00,$3C .db $43,$C7,$38,$0B,$1E,$00,$7B,$F3 .db $E3,$C3,$C7,$C7,$C0,$00,$FF,$FF .db $22,$00,$14,$0C,$E1,$1E,$00,$1E .db $C0,$3F,$C0,$3D,$3F,$00,$FF,$F3 .db $E1,$E1,$C0,$C0,$00,$28,$EF,$FF .db $43,$00,$08,$02,$F7,$08,$00,$44 .db $04,$FB,$01,$C7,$00,$22,$F7,$0D .db $FB,$7B,$7B,$00,$1D,$E0,$FD,$00 .db $1D,$00,$3D,$C1,$3A,$00,$44,$3A .db $C1,$03,$E0,$00,$E0,$C0,$23,$C1 .db $0A,$00,$07,$F8,$FF,$00,$07,$80 .db $07,$F8,$07,$00,$45,$07,$F8,$02 .db $00,$F8,$78,$23,$F8,$43,$FF,$1F .db $2B,$FF,$01,$1F,$1F,$25,$FF,$01 .db $00,$80,$43,$80,$C0,$43,$C0,$E0 .db $45,$E0,$F0,$83,$05,$E8,$00,$C0 .db $22,$E0,$44,$2F,$FF,$0D,$F8,$0F .db $90,$07,$B8,$01,$FE,$03,$FC,$07 .db $B8,$00,$00,$06,$22,$7E,$E0,$37 .db $7F,$7F,$3F,$30,$ED,$D2,$E1,$1E .db $C3,$3C,$81,$7E,$E0,$1F,$E7,$18 .db $EF,$13,$C0,$12,$9E,$BC,$FE,$9F .db $58,$50,$80,$7F,$E7,$18,$EF,$11 .db $EF,$12,$FF,$0C,$FF,$30,$FE,$C1 .db $18,$06,$7F,$18,$10,$11,$03,$0F .db $3E,$F8,$FE,$21,$FC,$42,$F0,$8C .db $83,$04,$E6,$01,$00,$C0,$23,$00 .db $04,$1E,$3C,$70,$E0,$C0,$22,$00 .db $02,$FF,$FF,$EF,$44,$FF,$C7,$8F .db $04,$58,$03,$FC,$FE,$EC,$EE,$43 .db $F8,$FC,$87,$04,$70,$04,$E0,$F0 .db $E0,$C0,$80,$23,$00,$0B,$60,$C0 .db $30,$00,$18,$00,$0C,$F8,$FE,$00 .db $03,$FE,$22,$FF,$05,$80,$C0,$E0 .db $F0,$00,$FC,$2E,$00,$02,$80,$00 .db $C0,$28,$00,$0A,$10,$0F,$10,$10 .db $20,$00,$20,$1F,$3F,$00,$20,$43 .db $1F,$3F,$22,$0F,$02,$1F,$00,$1F .db $22,$00,$01,$38,$C7,$43,$38,$00 .db $08,$3C,$C3,$FF,$00,$3C,$C1,$FB .db $C0,$F9,$22,$C7,$02,$C3,$00,$C3 .db $22,$00,$01,$39,$C0,$44,$39,$00 .db $07,$E0,$FF,$01,$0E,$FF,$F1,$FF .db $FF,$23,$C0,$06,$00,$F0,$00,$00 .db $80,$04,$FB,$44,$04,$80,$07,$FB .db $7F,$00,$08,$F7,$FF,$F3,$FF,$23 .db $7B,$01,$00,$F7,$22,$00,$01,$1E .db $E1,$44,$1E,$00,$03,$F3,$FF,$08 .db $00,$23,$FF,$23,$E1,$01,$00,$F7 .db $22,$00,$01,$07,$F8,$44,$07,$00 .db $03,$F0,$FF,$00,$0F,$43,$E0,$FE .db $23,$F8,$83,$07,$04,$F0,$2F,$01 .db $20,$03,$03,$EC,$03,$CF,$43,$2F .db $FF,$03,$2C,$FF,$00,$FC,$23,$00 .db $01,$7F,$7C,$25,$00,$01,$FC,$1C .db $22,$E0,$04,$E3,$E0,$FC,$00,$E0 .db $25,$00,$02,$43,$1F,$1C,$25,$00 .db $04,$18,$00,$60,$00,$80,$29,$00 .db $01,$E0,$80,$3D,$00,$43,$FF,$1F .db $2B,$FF,$01,$1F,$1F,$25,$FF,$01 .db $00,$80,$43,$80,$C0,$43,$C0,$E0 .db $45,$E0,$F0,$84,$05,$F8,$22,$E0 .db $0B,$FE,$FF,$7C,$FF,$38,$FF,$10 .db $BF,$00,$9E,$00,$8C,$2C,$00,$04 .db $E0,$00,$C0,$00,$80,$31,$00,$45 .db $3F,$7F,$01,$00,$7F,$43,$00,$07 .db $2B,$00,$45,$C0,$F8,$45,$00,$F8 .db $2B,$00,$09,$7F,$FF,$3F,$7F,$00 .db $3F,$00,$1F,$00,$0F,$2D,$00,$09 .db $E3,$FF,$81,$FF,$00,$FD,$00,$F8 .db $00,$E0,$2D,$00,$23,$FF,$00,$7E .db $83,$02,$79,$02,$1F,$00,$07,$2B .db $00,$04,$C0,$FC,$80,$FC,$00,$83 .db $07,$4B,$02,$E0,$00,$80,$2B,$00 .db $F0,$2F,$01,$20,$2A,$00,$04,$07 .db $07,$FD,$7F,$9F,$2E,$00,$04,$07 .db $07,$7F,$7F,$9F,$23,$FF,$2C,$00 .db $43,$E0,$C0,$06,$F8,$C0,$FB,$C1 .db $FA,$01,$FA,$30,$00,$06,$F0,$60 .db $BC,$E0,$7C,$E0,$FD,$2C,$00,$04 .db $FC,$78,$9C,$78,$BF,$43,$78,$FF .db $01,$FC,$7F,$2E,$00,$08,$3F,$1E .db $27,$1E,$2F,$1E,$3F,$1F,$BF,$2A .db $00,$08,$03,$01,$02,$00,$3F,$1F .db $27,$1F,$AF,$43,$1F,$FF,$28,$00 .db $0E,$F8,$70,$B8,$F0,$FF,$70,$FF .db $71,$FE,$71,$FF,$73,$FD,$73,$FF .db $27,$00,$02,$FF,$FF,$EF,$44,$FF .db $C7,$08,$EE,$FF,$3C,$87,$38,$8F .db $F1,$1F,$54,$83,$04,$61,$06,$63 .db $67,$0E,$9C,$9E,$CC,$CE,$43,$F8 .db $FC,$02,$70,$FC,$70,$84,$04,$73 .db $05,$60,$B0,$C0,$E0,$E0,$80,$22 .db $00,$01,$02,$01,$44,$02,$00,$03 .db $01,$03,$00,$02,$43,$01,$03,$23 .db $01,$01,$00,$01,$22,$00,$02,$0F .db $F0,$0F,$43,$00,$07,$83,$05,$BA .db $43,$F8,$FF,$02,$F0,$F0,$F8,$43 .db $F8,$00,$04,$00,$01,$0E,$F7,$08 .db $23,$00,$83,$00,$F8,$00,$FE,$83 .db $03,$9B,$00,$F1,$83,$01,$02,$22 .db $00,$02,$0C,$F3,$0C,$43,$00,$04 .db $03,$FB,$FF,$00,$04,$43,$FB,$FF .db $02,$F3,$F3,$FB,$43,$FB,$00,$04 .db $00,$08,$70,$BF,$40,$23,$00,$85 .db $00,$F8,$03,$E7,$FF,$87,$AF,$83 .db $01,$02,$22,$00,$01,$80,$7F,$43 .db $80,$00,$04,$84,$7B,$FF,$00,$44 .db $43,$B9,$FF,$22,$7F,$05,$7B,$00 .db $BB,$00,$00,$40,$83,$01,$0F,$0F .db $40,$00,$46,$21,$5E,$00,$7E,$01 .db $7A,$01,$62,$3F,$00,$3F,$39,$21 .db $22,$01,$03,$00,$03,$F0,$FF,$43 .db $00,$0F,$02,$F0,$0F,$00,$44,$0F .db $F0,$01,$FC,$00,$25,$F0,$03,$00 .db $FA,$31,$CB,$43,$80,$0E,$02,$F0 .db $0F,$00,$44,$0F,$F0,$03,$01,$00 .db $71,$71,$23,$F0,$84,$05,$A0,$0E .db $0D,$01,$0E,$F1,$0E,$00,$0E,$F1 .db $0E,$F3,$0C,$E0,$00,$F0,$F0,$22 .db $F1,$0C,$F3,$00,$03,$DC,$FF,$00 .db $23,$00,$21,$CE,$31,$00,$31,$43 .db $8E,$71,$0B,$FC,$00,$DC,$DE,$CE .db $CE,$8E,$8E,$00,$A0,$3F,$DF,$43 .db $00,$C0,$02,$3F,$C0,$00,$44,$80 .db $7F,$01,$1F,$00,$22,$3F,$22,$7F .db $12,$00,$E0,$1F,$FF,$00,$E0,$00 .db $60,$9F,$60,$00,$60,$9F,$60,$DF .db $20,$1F,$00,$1F,$23,$9F,$04,$DF .db $00,$88,$7F,$FF,$43,$00,$80,$02 .db $7F,$80,$00,$44,$80,$7F,$01,$77 .db $00,$25,$7F,$03,$FB,$0F,$FF,$1F .db $2B,$FF,$01,$07,$1F,$25,$FF,$01 .db $00,$80,$43,$80,$C0,$43,$C0,$E0 .db $45,$E0,$F0,$84,$05,$F8,$22,$E0 .db $49,$01,$03,$01,$00,$03,$2B,$00 .db $47,$FC,$FF,$00,$E0,$45,$FF,$00 .db $00,$F8,$27,$00,$47,$F8,$FF,$00 .db $C0,$43,$FF,$00,$02,$3F,$00,$38 .db $27,$00,$00,$FB,$44,$FF,$7D,$02 .db $7C,$FF,$60,$43,$FF,$00,$02,$3F .db $00,$3C,$27,$00,$45,$87,$FF,$01 .db $00,$FF,$43,$00,$F3,$2B,$00,$00 .db $B9,$44,$FF,$B8,$01,$00,$FF,$43 .db $00,$FE,$2B,$00,$FF,$07,$00,$00 .db $3C,$00,$7E,$3C,$FF,$7E,$47,$FF .db $66,$05,$00,$00,$FC,$00,$FE,$7C .db $47,$FF,$66,$01,$FE,$7C,$85,$00 .db $00,$46,$FF,$66,$0A,$60,$F0,$60 .db $00,$00,$F8,$00,$FC,$78,$FE,$64 .db $47,$FF,$66,$00,$00,$43,$00,$FF .db $01,$7E,$FF,$44,$60,$F0,$04,$FE .db $60,$FE,$7C,$00,$43,$00,$FF,$01 .db $7E,$FF,$44,$60,$F0,$85,$00,$4C .db $03,$7E,$00,$FF,$3C,$46,$FF,$66 .db $83,$00,$2D,$43,$00,$FF,$49,$66 .db $FF,$01,$7E,$00,$43,$00,$7E,$00 .db $3C,$49,$3C,$18,$00,$00,$43,$00 .db $3F,$01,$1E,$3F,$48,$0C,$1E,$00 .db $00,$43,$00,$FF,$83,$00,$1B,$02 .db $6C,$FC,$78,$43,$F8,$70,$00,$00 .db $43,$00,$F0,$4A,$60,$F0,$00,$00 .db $43,$00,$F7,$43,$62,$FF,$00,$76 .db $45,$FF,$7E,$00,$00,$43,$00,$F7 .db $43,$62,$FF,$43,$72,$FF,$02,$7A .db $FF,$7A,$85,$00,$00,$49,$FF,$66 .db $85,$00,$10,$4A,$FF,$66,$00,$7E .db $4A,$FF,$66,$22,$00,$49,$FF,$66 .db $02,$FE,$7C,$FC,$22,$00,$00,$F0 .db $43,$60,$FF,$44,$66,$FF,$02,$7E .db $3C,$3C,$22,$00,$47,$FF,$66,$04 .db $FE,$64,$FC,$78,$F8,$22,$00,$00 .db $FE,$46,$60,$F0,$04,$FF,$60,$FF .db $7E,$FF,$22,$00,$00,$FE,$4B,$60 .db $F0,$22,$00,$03,$FF,$60,$FF,$6E .db $46,$FF,$66,$01,$3A,$7E,$22,$00 .db $4C,$FF,$66,$22,$00,$49,$3C,$18 .db $02,$7E,$3C,$7E,$22,$00,$00,$1E .db $43,$0C,$FE,$45,$6C,$FE,$01,$38 .db $7C,$22,$00,$43,$FC,$78,$43,$FE .db $6C,$44,$FF,$66,$22,$00,$47,$F0 .db $60,$84,$01,$48,$22,$00,$01,$FF .db $7E,$46,$FF,$6A,$43,$62,$F7,$22 .db $00,$44,$FF,$6E,$43,$66,$FF,$43 .db $62,$F7,$22,$00,$49,$FF,$66,$02 .db $7E,$3C,$3C,$22,$00,$02,$FE,$7C .db $FC,$49,$60,$F0,$24,$00,$83,$00 .db $02,$49,$FF,$66,$85,$00,$10,$49 .db $FF,$66,$85,$00,$00,$46,$FF,$66 .db $03,$60,$7E,$3C,$00,$43,$00,$FF .db $01,$7E,$FF,$48,$18,$3C,$00,$00 .db $43,$00,$FF,$4A,$66,$FF,$00,$00 .db $43,$00,$FF,$4A,$66,$FF,$00,$00 .db $43,$00,$FF,$4A,$6A,$FF,$00,$00 .db $43,$00,$F7,$0B,$62,$F7,$62,$FE .db $74,$7E,$34,$7C,$38,$3C,$18,$00 .db $43,$00,$FF,$4A,$66,$FF,$00,$00 .db $43,$00,$FF,$01,$7E,$FF,$43,$0E .db $3F,$04,$1C,$3E,$1C,$7E,$1C,$2B .db $00,$83,$00,$82,$E4,$4F,$00,$05 .db $FF,$66,$FF,$6C,$FF,$6E,$43,$FF .db $66,$02,$7F,$3A,$3B,$22,$00,$01 .db $FE,$7C,$4A,$FF,$66,$22,$00,$01 .db $FF,$06,$47,$FF,$66,$02,$7E,$3C .db $3C,$22,$00,$4C,$3C,$18,$22,$00 .db $49,$FF,$66,$02,$7E,$3C,$3C,$22 .db $00,$44,$FF,$66,$43,$24,$7E,$43 .db $18,$3C,$22,$00,$44,$FF,$6A,$43 .db $7E,$FF,$03,$3E,$7F,$14,$3E,$22 .db $00,$05,$3E,$1C,$7E,$2C,$7F,$2E .db $46,$EF,$46,$22,$00,$02,$FF,$3C .db $7E,$49,$18,$3C,$22,$00,$02,$7E .db $38,$7C,$43,$38,$FC,$43,$70,$FF .db $01,$7E,$FF,$22,$00,$00,$7E,$36 .db $00,$04,$70,$00,$70,$20,$70,$E4 .db $42,$00,$FF,$E4,$65,$00,$12,$03 .db $03,$0C,$03,$1F,$0F,$3F,$1F,$7F .db $3F,$03,$01,$00,$03,$0C,$10,$20 .db $40,$02,$44,$00,$0F,$E0,$29,$8F .db $87,$C7,$E0,$60,$F0,$B0,$FF,$B9 .db $FE,$80,$C8,$FF,$F8,$DF,$6F,$37 .db $39,$00,$0C,$80,$1C,$80,$38,$80 .db $30,$0C,$70,$07,$F8,$43,$BC,$E9 .db $1E,$0C,$9C,$F8,$F0,$CC,$C7,$C3 .db $E9,$2B,$00,$02,$80,$00,$C0,$26 .db $00,$03,$80,$C0,$03,$07,$45,$07 .db $0F,$02,$03,$0F,$01,$44,$1F,$0F .db $00,$03,$22,$07,$03,$03,$01,$0F .db $0F,$43,$FE,$FF,$0A,$FC,$FF,$F4 .db $FE,$F8,$FE,$38,$FE,$F8,$FE,$D8 .db $22,$FE,$07,$FC,$F4,$F8,$38,$F8 .db $D8,$00,$BF,$44,$00,$7F,$08,$FF .db $00,$FF,$20,$FF,$30,$FF,$70,$FF .db $24,$00,$02,$20,$30,$70,$49,$00 .db $80,$2D,$00,$05,$01,$00,$06,$01 .db $08,$07,$44,$00,$0F,$07,$07,$00 .db $03,$00,$00,$01,$06,$08,$24,$00 .db $E0,$35,$FF,$03,$03,$FC,$00,$C7 .db $00,$83,$00,$BF,$0C,$F3,$1E,$E1 .db $1E,$61,$FC,$03,$00,$03,$3F,$73 .db $61,$67,$FF,$C0,$FF,$30,$07,$C0 .db $03,$80,$05,$F8,$33,$CD,$79,$86 .db $78,$87,$3F,$CF,$07,$03,$C5,$CA .db $85,$9F,$80,$00,$E0,$00,$F8,$20 .db $43,$FC,$30,$0D,$FE,$18,$FE,$88 .db $FF,$08,$80,$E0,$D8,$CC,$CC,$E6 .db $76,$F7,$23,$00,$05,$01,$00,$03 .db $01,$07,$03,$43,$0F,$07,$02,$1F .db $0F,$00,$62,$00,$09,$04,$08,$08 .db $10,$1F,$00,$7F,$1F,$FF,$F8,$44 .db $FF,$E0,$16,$C0,$FE,$C0,$CF,$C0 .db $1F,$60,$00,$05,$0D,$0F,$1B,$0F .db $E0,$00,$F8,$80,$FC,$F0,$7E,$70 .db $3E,$30,$43,$BF,$00,$09,$3F,$00 .db $E0,$78,$0C,$8E,$CE,$FF,$FF,$3F .db $37,$00,$07,$7F,$3F,$FF,$77,$FD .db $7A,$FE,$79,$45,$FF,$7C,$05,$7E .db $39,$40,$88,$85,$86,$22,$83,$E0 .db $22,$46,$BC,$FF,$DC,$3F,$DA,$35 .db $96,$68,$54,$A8,$50,$A8,$10,$E8 .db $99,$75,$3C,$DC,$DC,$99,$5B,$5F .db $1F,$1F,$F4,$4F,$F6,$4F,$F7,$6E .db $7A,$A5,$7A,$85,$43,$7A,$FD,$05 .db $7B,$FE,$B4,$B6,$97,$5B,$23,$7B .db $43,$E0,$00,$1F,$70,$80,$F0,$00 .db $B8,$00,$38,$00,$18,$20,$60,$D0 .db $E0,$E0,$F0,$30,$78,$F8,$D8,$C0 .db $00,$1F,$3F,$00,$6F,$0F,$5F,$1F .db $FF,$7F,$FF,$00,$44,$00,$07,$03 .db $3F,$70,$60,$80,$22,$FF,$07,$E8 .db $FD,$20,$FD,$C0,$3D,$E0,$9D,$43 .db $F8,$00,$43,$20,$D8,$03,$E8,$20 .db $C0,$60,$23,$F8,$0B,$D8,$FF,$31 .db $FE,$77,$FB,$0F,$F7,$FF,$07,$FF .db $00,$43,$08,$30,$04,$D8,$31,$74 .db $08,$F8,$22,$FF,$0B,$00,$00,$C0 .db $00,$70,$00,$F8,$C0,$FC,$E0,$FC .db $00,$44,$00,$1C,$03,$C0,$F0,$38 .db $1C,$22,$FC,$2E,$00,$00,$04,$27 .db $00,$09,$1E,$63,$1C,$63,$1E,$60 .db $00,$3C,$00,$42,$44,$00,$80,$05 .db $81,$6D,$6D,$67,$3F,$7F,$22,$FF .db $1C,$78,$8F,$70,$8F,$78,$03,$70 .db $09,$20,$53,$00,$0B,$00,$9B,$00 .db $FF,$B7,$B7,$9F,$8F,$DE,$F7,$E7 .db $C2,$3F,$C0,$03,$FC,$01,$43,$F6 .db $00,$43,$F2,$00,$E0,$52,$E6,$00 .db $86,$BF,$9F,$1F,$0E,$1E,$1E,$3E .db $FE,$3F,$1F,$3F,$1C,$3F,$19,$3F .db $10,$38,$07,$18,$07,$00,$0E,$00 .db $0C,$20,$23,$26,$2F,$3B,$1B,$33 .db $73,$86,$06,$7F,$40,$C0,$86,$80 .db $06,$39,$9F,$71,$AE,$60,$B9,$79 .db $19,$80,$3F,$7F,$FF,$DF,$A6,$A6 .db $9F,$1F,$00,$EF,$30,$3F,$18,$1F .db $00,$C0,$9E,$60,$DE,$60,$CE,$E0 .db $8E,$1F,$CF,$E7,$FF,$BC,$5C,$5D .db $9D,$36,$00,$13,$80,$7E,$31,$7D .db $22,$13,$6C,$2E,$51,$19,$26,$07 .db $38,$1F,$60,$3C,$50,$4E,$5C,$10 .db $23,$00,$19,$13,$AE,$7F,$91,$7F .db $5F,$BF,$CF,$3F,$CF,$1F,$87,$1F .db $07,$3F,$0F,$3F,$2E,$11,$1F,$0F .db $2F,$67,$C7,$CF,$FD,$4C,$FF,$FC .db $02,$F8,$FF,$FD,$25,$FC,$02,$F8 .db $80,$E0,$44,$00,$E8,$00,$F4,$44 .db $00,$F2,$09,$F4,$00,$FC,$80,$10 .db $10,$08,$0C,$0C,$08,$E4,$61,$00 .db $43,$07,$00,$02,$03,$00,$03,$30 .db $00,$00,$67,$48,$00,$FF,$0C,$0B .db $00,$08,$00,$04,$7F,$3E,$00,$00 .db $08,$0F,$0F,$07,$46,$00,$FF,$1C .db $FB,$00,$F7,$00,$E7,$00,$C7,$03 .db $0C,$83,$02,$06,$0F,$3E,$DE,$3C .db $FF,$00,$8C,$00,$F8,$00,$F0,$00 .db $E0,$00,$C0,$00,$80,$23,$00,$02 .db $FC,$78,$30,$25,$00,$43,$3E,$00 .db $00,$3C,$29,$00,$0B,$71,$71,$73 .db $7E,$3C,$1E,$06,$07,$39,$00,$00 .db $18,$44,$00,$20,$E0,$26,$31,$00 .db $1F,$00,$0F,$00,$00,$C6,$FF,$7F .db $7F,$3F,$1F,$0F,$80,$C0,$07,$00 .db $CF,$00,$E7,$00,$63,$00,$E3,$00 .db $C6,$00,$8E,$00,$0E,$39,$FD,$F5 .db $E3,$E3,$C6,$8E,$0E,$22,$00,$02 .db $80,$00,$80,$29,$00,$22,$80,$24 .db $00,$03,$20,$40,$00,$71,$43,$00 .db $0F,$01,$07,$0F,$45,$03,$07,$04 .db $1F,$0E,$00,$00,$07,$22,$03,$04 .db $0F,$7F,$1F,$FF,$3F,$2A,$FF,$02 .db $8F,$1F,$3F,$24,$FF,$45,$F8,$FF .db $43,$F0,$FF,$05,$E0,$FF,$C0,$E7 .db $00,$DF,$22,$F8,$06,$F0,$F0,$E0 .db $C0,$00,$00,$F8,$44,$00,$E0,$48 .db $C0,$00,$3F,$00,$01,$0F,$00,$84 .db $00,$6A,$00,$20,$43,$7F,$00,$15 .db $FF,$00,$FF,$7C,$0F,$10,$20,$40 .db $48,$48,$CE,$80,$80,$00,$F0,$80 .db $F8,$C0,$FC,$60,$FE,$30,$44,$FF .db $38,$08,$18,$80,$70,$38,$9C,$4E .db $47,$47,$67,$2D,$00,$00,$80,$27 .db $00,$00,$80,$2B,$00,$02,$01,$00 .db $03,$26,$00,$E0,$3B,$01,$03,$00 .db $04,$00,$02,$00,$01,$19,$06,$65 .db $1E,$D8,$3F,$B3,$7C,$67,$FB,$07 .db $03,$01,$19,$65,$D8,$B3,$64,$03 .db $0C,$06,$09,$1D,$A3,$FA,$17,$F6 .db $EF,$EC,$1F,$0C,$FF,$DC,$BF,$FF .db $FE,$FD,$EA,$16,$EC,$0C,$5C,$00 .db $00,$30,$C0,$38,$C0,$7C,$B0,$7E .db $B8,$43,$FE,$78,$09,$FF,$7C,$00 .db $30,$38,$4C,$46,$86,$86,$83,$FF .db $09,$00,$03,$01,$0F,$01,$33,$18 .db $47,$20,$8C,$46,$00,$9E,$03,$00 .db $0C,$20,$5F,$22,$7F,$07,$00,$80 .db $00,$E0,$00,$98,$00,$E4,$44,$00 .db $72,$06,$22,$00,$02,$00,$00,$60 .db $38,$23,$FC,$E4,$65,$00,$05,$30 .db $00,$78,$04,$5C,$26,$43,$3E,$47 .db $23,$00,$03,$04,$06,$07,$07,$22 .db $00,$E0,$24,$0F,$0E,$71,$7C,$82 .db $78,$84,$20,$5C,$1C,$7E,$3A,$7D .db $00,$00,$0C,$7C,$78,$20,$1E,$7D .db $00,$06,$02,$15,$12,$2D,$0E,$11 .db $61,$1E,$7E,$02,$FF,$01,$D7,$29 .db $23,$00,$13,$11,$03,$01,$01,$00 .db $0C,$04,$0A,$04,$EA,$E6,$19,$F2 .db $0D,$FC,$03,$78,$02,$74,$06,$24 .db $00,$0A,$84,$CC,$FC,$00,$03,$03 .db $0C,$0F,$10,$00,$FF,$43,$00,$3F .db $E0,$3B,$2D,$7F,$05,$7F,$00,$03 .db $08,$00,$1F,$0D,$2D,$05,$00,$E0 .db $E0,$18,$00,$04,$0C,$8E,$0C,$FE .db $02,$FF,$F8,$FF,$FC,$FF,$00,$E0 .db $F8,$70,$80,$F0,$FC,$FE,$00,$07 .db $07,$18,$0F,$20,$00,$47,$20,$7F .db $40,$FF,$1B,$FF,$3C,$FF,$00,$07 .db $1E,$38,$07,$1B,$3B,$7C,$83,$01 .db $08,$08,$F0,$04,$00,$E2,$04,$FE .db $02,$FF,$D8,$83,$01,$2D,$19,$E0 .db $78,$1C,$E0,$D8,$DC,$3E,$00,$07 .db $03,$18,$0F,$20,$1F,$40,$0F,$40 .db $43,$C0,$60,$E0,$3C,$FC,$00,$07 .db $1F,$22,$3F,$14,$1F,$03,$00,$E0 .db $C0,$18,$F0,$04,$F8,$02,$F0,$02 .db $C2,$03,$06,$07,$3C,$3F,$00,$E0 .db $F8,$22,$FC,$0D,$F8,$C0,$00,$9E .db $00,$4C,$3C,$60,$1B,$3C,$00,$1F .db $00,$07,$23,$00,$04,$7F,$3F,$3F .db $1F,$07,$23,$00,$0A,$02,$00,$04 .db $58,$0C,$F0,$48,$40,$F0,$00,$C0 .db $23,$00,$04,$FC,$F8,$F8,$F0,$C0 .db $23,$00,$86,$00,$F1,$43,$00,$3F .db $F0,$24,$00,$FC,$84,$00,$F1,$11 .db $10,$2F,$00,$3F,$00,$7F,$17,$7F .db $70,$FF,$00,$03,$0C,$10,$0F,$37 .db $37,$70,$83,$01,$08,$03,$80,$04 .db $0C,$EE,$83,$01,$40,$02,$70,$FF .db $78,$83,$01,$47,$E0,$22,$10,$E0 .db $78,$7C,$7E,$7E,$87,$7F,$CF,$3F .db $FF,$7E,$FF,$71,$FF,$2B,$7F,$17 .db $3F,$00,$1F,$87,$CF,$BF,$FF,$FF .db $7F,$3F,$1F,$46,$B9,$7E,$81,$3E .db $C1,$43,$DC,$E2,$17,$D8,$E4,$20 .db $D8,$00,$E0,$B9,$81,$C1,$E2,$E2 .db $E4,$D8,$E0,$D6,$29,$7E,$01,$0C .db $33,$00,$1F,$00,$0F,$43,$03,$04 .db $05,$00,$07,$01,$01,$13,$0F,$23 .db $00,$12,$88,$8E,$70,$FE,$00,$FC .db $70,$88,$38,$C4,$D8,$24,$80,$58 .db $00,$80,$FC,$FC,$C8,$24,$00,$04 .db $7F,$9F,$7F,$FF,$78,$43,$FF,$00 .db $02,$7F,$01,$3F,$83,$01,$88,$07 .db $1F,$7F,$7C,$7C,$00,$01,$07,$00 .db $43,$FC,$FF,$1E,$7C,$FF,$38,$FE .db $70,$FE,$C0,$FC,$00,$F8,$00,$E0 .db $FE,$FE,$7E,$3C,$7C,$F8,$E0,$00 .db $7B,$FE,$77,$FF,$67,$FF,$20,$7F .db $10,$7F,$00,$84,$02,$7B,$12,$7A .db $77,$67,$23,$30,$18,$07,$00,$DE .db $7F,$EE,$FF,$E6,$FF,$04,$FE,$08 .db $FE,$00,$84,$02,$93,$12,$5E,$EE .db $E6,$C4,$0C,$18,$E0,$00,$4F,$FF .db $70,$FF,$7F,$FF,$3F,$7F,$1F,$7F .db $07,$84,$02,$7B,$01,$40,$70,$85 .db $01,$90,$02,$F0,$FF,$0C,$43,$FF .db $F8,$03,$FE,$F0,$FE,$E0,$84,$02 .db $93,$07,$02,$0E,$FE,$FC,$FC,$F8 .db $E0,$00,$43,$7F,$BF,$00,$78,$43 .db $FF,$00,$86,$02,$79,$01,$3F,$3F .db $85,$02,$82,$43,$FC,$FF,$87,$02 .db $8C,$03,$04,$FA,$16,$F9,$85,$02 .db $98,$01,$E2,$19,$43,$7F,$BF,$00 .db $78,$43,$FF,$00,$8E,$03,$09,$43 .db $FC,$FF,$89,$03,$1C,$01,$1A,$FD .db $86,$03,$28,$00,$1D,$43,$6F,$F7 .db $04,$4F,$FF,$00,$7F,$20,$84,$02 .db $A9,$09,$08,$1F,$67,$67,$4F,$0F .db $20,$18,$07,$18,$43,$FC,$FF,$02 .db $18,$FF,$08,$43,$FE,$00,$03,$FC .db $00,$FC,$0C,$22,$FE,$15,$9E,$0C .db $1C,$78,$E4,$1E,$00,$63,$63,$94 .db $77,$88,$55,$AA,$7F,$80,$0E,$71 .db $30,$7F,$78,$FF,$25,$00,$11,$30 .db $78,$00,$84,$80,$4A,$80,$4C,$80 .db $5A,$00,$D4,$00,$FA,$00,$F4,$00 .db $F8,$2A,$00,$02,$03,$00,$0F,$83 .db $00,$F6,$0D,$11,$6E,$3B,$44,$31 .db $CE,$00,$00,$03,$0E,$04,$20,$00 .db $44,$22,$00,$14,$C0,$00,$F0,$10 .db $F8,$38,$EC,$10,$FE,$80,$7E,$80 .db $7F,$00,$00,$C0,$10,$68,$FC,$7C .db $7E,$83,$03,$C2,$43,$00,$7F,$0F .db $44,$3B,$6E,$11,$46,$B9,$6C,$93 .db $00,$03,$08,$13,$03,$01,$11,$13 .db $88,$03,$DA,$43,$FE,$00,$43,$FF .db $00,$05,$C0,$F0,$E8,$FC,$FC,$FE .db $83,$01,$DF,$04,$0F,$0D,$17,$19 .db $2F,$43,$31,$7F,$14,$73,$FF,$57 .db $FF,$00,$03,$07,$09,$31,$31,$73 .db $5F,$00,$C0,$C0,$F0,$60,$F8,$10 .db $FC,$08,$43,$FE,$88,$01,$FF,$98 .db $83,$04,$17,$04,$98,$8C,$8C,$CE .db $FA,$83,$04,$20,$1B,$09,$17,$11 .db $2F,$31,$7F,$33,$7F,$57,$FF,$44 .db $FF,$00,$03,$01,$01,$31,$33,$5F .db $4C,$00,$C0,$40,$F0,$00,$F8,$00 .db $FC,$43,$88,$FE,$0B,$98,$FF,$88 .db $FF,$00,$C0,$90,$88,$8C,$CC,$FA .db $CA,$45,$00,$01,$22,$00,$00,$01 .db $43,$01,$02,$01,$00,$03,$22,$01 .db $22,$00,$01,$01,$00,$43,$BA,$7D .db $05,$DA,$3D,$00,$FE,$78,$84,$43 .db $F8,$04,$09,$00,$FC,$7D,$7D,$3D .db $1A,$78,$F8,$F8,$00,$44,$00,$01 .db $02,$07,$03,$0C,$43,$0F,$10,$01 .db $00,$1F,$83,$04,$87,$13,$00,$03 .db $07,$0F,$00,$00,$BC,$7F,$CC,$3F .db $12,$ED,$DC,$23,$C2,$3D,$DC,$22 .db $00,$FC,$83,$01,$8E,$05,$0D,$C2 .db $DE,$DC,$00,$00,$43,$17,$38,$05 .db $07,$38,$00,$1F,$07,$18,$43,$1F .db $20,$01,$00,$3F,$22,$38,$04,$10 .db $07,$0F,$1F,$00,$43,$F6,$0F,$05 .db $FA,$07,$00,$FF,$70,$88,$43,$78 .db $84,$11,$00,$FC,$0F,$0F,$07,$07 .db $70,$68,$78,$00,$70,$FF,$40,$FF .db $00,$5F,$00,$1F,$44,$00,$0F,$04 .db $07,$00,$01,$70,$40,$26,$00,$04 .db $F8,$00,$FF,$00,$FE,$44,$00,$FC .db $04,$F8,$00,$F0,$00,$E0,$27,$00 .db $E0,$46,$1B,$E4,$1F,$FF,$30,$6F .db $2F,$7F,$5F,$7F,$67,$9F,$00,$67 .db $00,$1E,$64,$7F,$20,$2F,$1F,$27 .db $18,$00,$00,$FF,$80,$FF,$E0,$7E .db $3E,$FE,$F9,$F1,$F8,$C1,$70,$C6 .db $00,$78,$FE,$FE,$7C,$30,$CE,$9E .db $38,$00,$7E,$FF,$03,$7D,$3C,$7F .db $1F,$3F,$07,$1F,$07,$04,$0C,$08 .db $00,$0F,$7F,$01,$3C,$1F,$04,$03 .db $03,$83,$05,$57,$06,$FE,$C0,$FE .db $E0,$FC,$E0,$F8,$23,$20,$01,$00 .db $E0,$83,$02,$FA,$0C,$20,$C0,$C0 .db $00,$44,$FF,$24,$FF,$20,$FF,$09 .db $7F,$03,$86,$02,$A9,$03,$4C,$6C .db $60,$2D,$83,$01,$92,$08,$88,$FF .db $04,$FF,$00,$FF,$90,$FE,$80,$86 .db $02,$C1,$03,$CA,$06,$06,$9C,$83 .db $02,$FC,$02,$44,$FF,$00,$43,$FF .db $20,$01,$7F,$09,$87,$05,$A9,$06 .db $40,$60,$20,$2D,$1F,$07,$00,$43 .db $00,$FF,$04,$04,$FF,$00,$FE,$90 .db $86,$02,$C1,$07,$02,$02,$06,$04 .db $9C,$F8,$E0,$00,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .BANK 12 DATA_0C8000: .db $71,$71,$71,$71,$71,$71,$6E,$11 .db $43,$43,$43,$11,$68,$3D,$69,$69 .db $69,$3D,$6E,$3D,$43,$43,$43,$00 .db $43,$00,$11,$3F,$11,$50,$20,$50 .db $11,$3F,$3F,$11,$71,$11,$43,$43 .db $43,$11,$71,$3D,$69,$69,$69,$3D .db $6E,$3D,$43,$43,$43,$3D,$68,$3D .db $3F,$3F,$3F,$3D,$6E,$3D,$3F,$3F .db $11,$00,$43,$00,$11,$3F,$11,$50 .db $11,$43,$43,$11,$11,$20,$3D,$69 .db $69,$00,$11,$50,$3D,$43,$43,$50 .db $50,$11,$11,$10,$3F,$11,$50,$3D .db $71,$3D,$3F,$3F,$11,$3D,$6E,$3D .db $3F,$3F,$3F,$3D,$03,$03,$03,$03 .db $03,$03,$11,$43,$43,$43,$11,$71 .db $3D,$69,$69,$69,$3D,$11,$3D,$43 .db $43,$43,$00,$11,$11,$10,$3F,$11 .db $50,$50,$71,$11,$10,$3F,$11,$50 .db $03,$60,$75,$60,$03,$03,$11,$00 .db $43,$00,$11,$71,$3D,$50,$3F,$50 .db $3D,$11,$3D,$3F,$3F,$11,$00,$11 .db $11,$10,$3F,$11,$50,$50,$71,$11 .db $10,$3F,$11,$50,$60,$75,$75,$75 .db $60,$03,$3D,$43,$43,$43,$3D,$71 .db $3D,$3F,$3F,$3F,$3D,$11,$3D,$3F .db $3F,$11,$00,$11,$71,$10,$3F,$11 .db $50,$50,$71,$71,$10,$3F,$11,$50 .db $69,$20,$69,$69,$20,$50,$50,$43 .db $43,$43,$43,$11,$11,$75,$75,$75 .db $75,$75,$75,$11,$10,$10,$11,$75 .db $75,$11,$43,$43,$11,$75,$75,$75 .db $75,$75,$75,$75,$69,$20,$69,$69 .db $20,$50,$50,$43,$43,$43,$43,$11 .db $11,$75,$10,$10,$75,$75,$75,$11 .db $00,$00,$11,$75,$75,$11,$50,$50 .db $11,$75,$75,$75,$11,$11,$75,$75 .db $69,$20,$69,$69,$20,$50,$50,$43 .db $43,$43,$43,$11,$11,$10,$03,$10 .db $75,$75,$11,$00,$43,$00,$11,$75 .db $11,$50,$69,$50,$11,$75,$75,$11 .db $43,$11,$75,$75,$69,$20,$69,$69 .db $20,$50,$50,$43,$43,$43,$43,$11 .db $11,$10,$03,$03,$10,$75,$11,$00 .db $43,$43,$00,$11,$11,$50,$69,$69 .db $50,$11,$75,$11,$43,$43,$11,$75 .db $11,$75,$75,$75,$75,$75,$75,$75 .db $75,$75,$75,$75,$75,$75,$75,$75 .db $75,$75,$75,$75,$75,$75,$75,$75 .db $75,$75,$75,$75,$75,$75,$A6,$A7 .db $75,$75,$75,$75,$20,$3D,$56,$57 .db $71,$20,$20,$3D,$64,$65,$71,$50 .db $20,$3D,$71,$71,$71,$71,$50,$3D .db $71,$71,$71,$71,$11,$3D,$12,$13 .db $14,$15,$75,$3D,$49,$4A,$59,$5A .db $20,$3D,$56,$57,$71,$20,$20,$3D .db $64,$65,$71,$50,$20,$3D,$71,$71 .db $71,$71,$50,$3D,$12,$13,$14,$15 .db $11,$3D,$31,$32,$33,$34,$75,$3D .db $49,$4A,$59,$5A,$20,$3D,$56,$57 .db $71,$20,$20,$3D,$64,$65,$71,$50 .db $20,$3D,$12,$13,$14,$15,$50,$3D .db $31,$32,$33,$34,$11,$3D,$35,$36 .db $37,$38,$75,$3D,$49,$4A,$59,$5A .db $3F,$3F,$3F,$3F,$3F,$3F,$3F,$3F .db $3F,$3F,$3F,$3F,$3F,$76,$76,$76 .db $76,$3F,$76,$76,$F0,$F1,$76,$76 .db $76,$76,$F1,$F0,$76,$76,$3F,$76 .db $76,$76,$76,$3F,$3F,$3F,$3F,$3F .db $3F,$3F,$3F,$3F,$3F,$3F,$3F,$3F .db $3F,$76,$76,$76,$76,$3F,$76,$F1 .db $F0,$F1,$F1,$76,$76,$F0,$F1,$F0 .db $F0,$76,$3F,$76,$76,$76,$76,$3F .db $3F,$3F,$3F,$3F,$3F,$3F,$3F,$3F .db $3F,$3F,$3F,$3F,$3F,$76,$76,$76 .db $76,$3F,$76,$E3,$11,$11,$E3,$76 .db $76,$43,$11,$11,$43,$76,$3F,$76 .db $76,$76,$76,$3F,$3F,$3F,$3F,$3F .db $3F,$3F,$3F,$3F,$3F,$3F,$3F,$3F .db $3F,$76,$76,$76,$76,$3F,$76,$E3 .db $E4,$E4,$E3,$76,$76,$F1,$F1,$F1 .db $F1,$76,$3F,$76,$76,$76,$76,$3F .db $3F,$3F,$3F,$3F,$3F,$3F,$3F,$3F .db $3F,$3F,$3F,$3F,$76,$E3,$E4,$E4 .db $E3,$76,$76,$FE,$FF,$FF,$FE,$76 .db $76,$11,$F1,$F1,$11,$76,$76,$76 .db $76,$76,$76,$76,$3F,$3F,$3F,$3F .db $3F,$3F,$3F,$3F,$3F,$3F,$3F,$3F .db $76,$E3,$E4,$E4,$E3,$76,$F2,$F3 .db $F4,$F4,$F3,$F2,$F0,$F1,$F0,$F1 .db $F0,$F1,$76,$76,$76,$76,$76,$76 .db $3F,$3F,$3F,$3F,$3F,$3F,$3F,$E3 .db $E4,$E4,$E3,$3F,$F2,$F3,$F4,$F4 .db $F3,$F2,$CE,$CF,$CD,$CD,$CF,$CE .db $11,$DE,$DF,$DF,$DE,$11,$76,$76 .db $76,$76,$76,$76,$3F,$E3,$E4,$E4 .db $E3,$3F,$F2,$F3,$F4,$F4,$F3,$F2 .db $CB,$CC,$CD,$CD,$CC,$CB,$DB,$DC .db $DD,$DD,$DC,$DB,$ED,$DE,$DF,$DF .db $DE,$ED,$76,$76,$76,$76,$76,$76 .db $3F,$E3,$E4,$E4,$E3,$3F,$F2,$F3 .db $F4,$F4,$F3,$F2,$CB,$CC,$CD,$CD .db $CC,$CB,$DB,$DC,$DD,$DD,$DC,$DB .db $FB,$FC,$FD,$FD,$FC,$FB,$ED,$EE .db $EF,$EF,$EE,$ED,$3F,$E3,$E4,$E4 .db $E3,$3F,$F2,$F3,$F4,$F4,$F3,$F2 .db $CB,$CC,$CD,$CD,$CC,$CB,$DB,$DC .db $DD,$DD,$DC,$DB,$EB,$EC,$BB,$BB .db $EC,$EB,$FB,$FC,$FD,$FD,$FC,$FB .db $3F,$3F,$3F,$3F,$3F,$3F,$3F,$E3 .db $E4,$E4,$E3,$3F,$F2,$F3,$F4,$F4 .db $F3,$F2,$CB,$CC,$CD,$CD,$CC,$CB .db $DB,$DC,$DD,$DD,$DC,$DB,$FB,$FC .db $FD,$FD,$FC,$FB,$3F,$50,$20,$69 .db $69,$69,$3F,$10,$42,$41,$69,$69 .db $03,$11,$3C,$4F,$50,$69,$5D,$5D .db $6B,$6B,$6E,$43,$5D,$5D,$6B,$6B .db $6D,$6D,$4F,$4F,$3C,$3C,$4F,$6E .db $75,$75,$75,$75,$75,$75,$E2,$E5 .db $B2,$B3,$75,$75,$84,$EA,$D4,$D5 .db $75,$75,$35,$36,$37,$38,$75,$75 .db $35,$36,$37,$38,$01,$75,$49,$4A .db $59,$5A,$11,$10,$69,$69,$69,$69 .db $69,$69,$69,$50,$43,$43,$50,$69 .db $69,$DA,$8A,$8A,$3D,$69,$43,$DA .db $8A,$8A,$3D,$43,$75,$00,$43,$43 .db $00,$75,$75,$20,$20,$20,$20,$75 .db $69,$69,$69,$69,$69,$69,$69,$69 .db $69,$69,$69,$69,$69,$50,$43,$43 .db $50,$69,$43,$DA,$8A,$8A,$3D,$43 .db $75,$DA,$8A,$8A,$3D,$75,$75,$00 .db $43,$43,$00,$75,$69,$69,$69,$69 .db $69,$69,$69,$69,$69,$69,$69,$69 .db $69,$69,$69,$69,$69,$69,$43,$10 .db $43,$43,$10,$43,$75,$DA,$8A,$8A .db $3D,$75,$75,$DA,$8A,$8A,$3D,$75 .db $43,$43,$43,$43,$43,$43,$75,$75 .db $75,$75,$75,$75,$75,$75,$75,$75 .db $75,$75,$75,$75,$75,$75,$75,$75 .db $75,$75,$75,$75,$75,$75,$75,$75 .db $75,$75,$75,$75,$10,$43,$9A,$9A .db $10,$43,$3D,$71,$6A,$6A,$3D,$75 .db $00,$43,$43,$43,$00,$75,$20,$20 .db $69,$20,$20,$11,$50,$20,$69,$20 .db $50,$11,$11,$43,$43,$43,$11,$75 .db $50,$43,$9A,$9A,$50,$69,$3D,$71 .db $6A,$6A,$3D,$43,$DA,$AD,$5D,$5D .db $3D,$75,$DA,$AD,$5D,$5D,$3D,$75 .db $00,$43,$43,$43,$00,$11,$50,$20 .db $69,$20,$50,$11,$50,$43,$9A,$9A .db $50,$69,$3D,$71,$6A,$6A,$3D,$69 .db $DA,$AD,$5D,$5D,$3D,$43,$DA,$AD .db $5D,$5D,$3D,$75,$00,$43,$43,$43 .db $00,$75,$20,$20,$69,$20,$20,$11 .db $50,$43,$9A,$9A,$50,$69,$3D,$71 .db $6A,$6A,$3D,$69,$DA,$AD,$5D,$5D .db $3D,$69,$DA,$AD,$5D,$5D,$3D,$43 .db $00,$43,$43,$43,$00,$75,$20,$20 .db $69,$20,$20,$75,$50,$43,$9A,$9A .db $50,$69,$3D,$71,$6A,$6A,$3D,$69 .db $DA,$AD,$5D,$5D,$3D,$69,$DA,$AD .db $5D,$5D,$3D,$69,$00,$43,$43,$43 .db $00,$43,$20,$20,$69,$20,$20,$75 .db $6E,$3D,$A4,$A4,$A4,$3D,$68,$3D .db $B4,$B4,$B4,$3D,$6E,$3D,$73,$73 .db $73,$00,$43,$00,$3F,$3F,$3F,$50 .db $20,$50,$3F,$3F,$3F,$3F,$43,$3F .db $3F,$3F,$3F,$3F,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $6A,$6A,$5D,$5D,$6F,$5F,$6A,$6A .db $5F,$6F,$5F,$56,$6F,$5F,$5F,$6F .db $5F,$6F,$5F,$58,$6A,$6A,$5F,$6F .db $5D,$6B,$5D,$6B,$6B,$6D,$6B,$6E .db $5F,$6F,$6C,$58,$6A,$6A,$5F,$6F .db $5D,$5D,$5D,$5D,$6A,$6A,$5D,$5D .db $6C,$71,$5F,$6F,$68,$68,$52,$71 .db $6A,$6A,$6A,$6A,$6D,$6B,$6E,$6B .db $6F,$5F,$30,$6C,$6A,$6A,$6F,$5F .db $4E,$4E,$6A,$6A,$4B,$3F,$3F,$4B .db $3F,$4B,$4B,$3F,$71,$71,$6C,$68 .db $A6,$A7,$B6,$B7,$A6,$A7,$A9,$B7 .db $6B,$6E,$6B,$5D,$5D,$6F,$6F,$5F .db $5F,$63,$5F,$6F,$5D,$68,$5D,$68 .db $74,$68,$68,$74,$71,$68,$68,$68 .db $43,$68,$71,$68,$3E,$3E,$43,$43 .db $5D,$5D,$9A,$9A,$3F,$5B,$5B,$3F .db $5B,$3F,$3F,$5B,$6A,$6A,$68,$68 .db $5D,$6B,$5D,$6B,$6B,$6E,$6B,$6E .db $6B,$6B,$6B,$6B,$9A,$9A,$3E,$3E .db $71,$71,$71,$71,$6B,$C5,$6B,$C5 .db $4B,$3F,$4B,$3F,$6A,$6A,$9A,$9A .db $6D,$6B,$6E,$6B,$6F,$5F,$71,$6C .db $9A,$9A,$6F,$5F,$8C,$8D,$8C,$8D .db $6B,$6E,$6B,$6D,$6D,$6D,$71,$6E .db $6E,$11,$5D,$6F,$5D,$6F,$6A,$6A .db $5D,$5D,$6A,$6A,$68,$68,$5F,$6F .db $6D,$6C,$6E,$71,$71,$71,$71,$71 .db $8C,$8D,$43,$43,$9A,$9A,$8C,$8D .db $71,$71,$71,$71,$6E,$68,$68,$68 .db $71,$68,$6E,$68,$71,$68,$71,$68 .db $6E,$71,$6E,$71,$10,$03,$6F,$6F .db $4B,$5B,$3F,$4B,$5B,$3F,$4B,$3F .db $4B,$10,$03,$71,$A4,$A4,$B4,$B4 .db $A4,$A4,$B4,$B4,$6B,$5D,$6B,$68 .db $68,$68,$74,$74,$74,$68,$70,$5D .db $3E,$3E,$3E,$3E,$9A,$9A,$6A,$6A .db $6A,$6A,$6F,$6F,$C5,$6B,$C5,$6B .db $5D,$5D,$5D,$5D,$6A,$6A,$6F,$5F .db $5F,$71,$6C,$68,$71,$11,$68,$68 .db $43,$43,$68,$6C,$56,$57,$9E,$9F .db $54,$55,$9E,$9F,$67,$57,$9E,$9F .db $11,$11,$11,$11,$5F,$6F,$6A,$6A .db $6B,$5D,$6B,$5D,$2B,$2B,$6A,$6A .db $2B,$6E,$2B,$6E,$6F,$5F,$71,$6C .db $6A,$6A,$6F,$5F,$99,$6E,$6C,$6D .db $71,$6C,$6F,$5F,$6F,$5F,$6A,$6A .db $5F,$6F,$6C,$71,$71,$71,$71,$71 .db $6F,$6F,$6A,$6A,$6A,$6A,$5F,$6F .db $6D,$6C,$6E,$89,$6B,$6B,$68,$6B .db $71,$71,$68,$68,$6B,$5D,$6B,$5D .db $6B,$6B,$6B,$6B,$5D,$5D,$5D,$5D .db $6A,$6A,$5D,$5D,$6B,$5D,$6B,$68 .db $6A,$6A,$6A,$6A,$5D,$6B,$5D,$6B .db $71,$B6,$71,$71,$B7,$71,$71,$71 .db $71,$71,$71,$A6,$71,$71,$A7,$71 .db $71,$71,$A7,$A6,$9A,$9A,$6A,$6A .db $4B,$75,$4B,$75,$5B,$5B,$75,$75 .db $5B,$3F,$75,$75,$76,$76,$76,$76 .db $3F,$3F,$3F,$3F,$68,$5D,$68,$5D .db $6C,$4F,$6C,$68,$6C,$4F,$6C,$6C .db $5D,$68,$4F,$6C,$5D,$68,$5D,$5D .db $4F,$6C,$68,$6C,$4F,$6C,$6C,$6C .db $4F,$68,$6C,$6C,$5D,$68,$4F,$68 .db $68,$4F,$6C,$6C,$5D,$5D,$68,$68 .db $6E,$6D,$6D,$6E,$2B,$2B,$2B,$2B .db $6A,$6A,$2B,$2B,$91,$92,$A0,$A1 .db $A2,$A3,$93,$94,$6A,$6A,$9A,$9A .db $C5,$6B,$C5,$6B,$C5,$C5,$C5,$C5 .db $6B,$C5,$6B,$C5,$71,$71,$71,$A6 .db $3D,$A4,$3D,$B4,$A4,$3D,$B4,$3D .db $61,$61,$61,$61,$5D,$5D,$5D,$68 .db $71,$71,$68,$68,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $BA,$BA,$BA,$BA,$BA,$BA,$BA,$BA .db $00,$10,$84,$50,$01,$10,$D0,$83 .db $90,$01,$18,$50,$82,$5C,$02,$10 .db $90,$50,$82,$14,$04,$50,$90,$10 .db $94,$58,$81,$54,$00,$18,$81,$14 .db $81,$58,$02,$54,$10,$D0,$83,$90 .db $01,$10,$50,$82,$5C,$81,$10,$00 .db $50,$82,$14,$02,$10,$18,$50,$82 .db $58,$02,$10,$90,$50,$81,$58,$05 .db $D4,$50,$90,$10,$94,$58,$81,$54 .db $00,$D0,$82,$90,$02,$D0,$58,$50 .db $81,$5C,$83,$50,$81,$14,$01,$54 .db $90,$82,$50,$00,$58,$81,$54,$81 .db $10,$00,$50,$81,$58,$00,$54,$81 .db $10,$00,$50,$82,$58,$86,$10,$00 .db $D0,$83,$90,$01,$10,$50,$82,$5C .db $02,$10,$D0,$50,$82,$14,$83,$50 .db $00,$58,$81,$54,$01,$90,$10,$81 .db $50,$00,$58,$81,$54,$02,$10,$50 .db $1C,$82,$10,$0C,$D0,$10,$14,$50 .db $90,$10,$50,$14,$58,$54,$10,$D0 .db $50,$81,$58,$00,$D4,$83,$50,$00 .db $58,$81,$54,$01,$90,$10,$81,$50 .db $00,$58,$81,$54,$00,$50,$82,$1C .db $81,$10,$00,$50,$82,$14,$81,$10 .db $00,$50,$82,$58,$02,$10,$D0,$50 .db $81,$58,$00,$D4,$81,$50,$02,$10 .db $50,$58,$81,$54,$00,$90,$81,$10 .db $01,$50,$58,$81,$54,$01,$1C,$58 .db $82,$1C,$83,$14,$00,$54,$82,$14 .db $85,$1C,$03,$D4,$10,$50,$94,$81 .db $1C,$00,$54,$82,$14,$87,$1C,$00 .db $58,$82,$1C,$83,$14,$00,$54,$82 .db $14,$02,$1C,$10,$50,$82,$1C,$03 .db $D4,$50,$10,$94,$81,$1C,$81,$54 .db $81,$14,$82,$1C,$01,$54,$14,$82 .db $1C,$00,$58,$82,$1C,$83,$14,$00 .db $54,$82,$14,$81,$10,$00,$50,$81 .db $1C,$05,$D4,$50,$90,$10,$94,$1C .db $81,$54,$00,$5C,$81,$14,$81,$1C .db $00,$54,$81,$14,$82,$1C,$00,$58 .db $82,$1C,$83,$14,$00,$54,$82,$14 .db $82,$10,$03,$50,$1C,$D4,$50,$81 .db $90,$01,$10,$94,$81,$54,$81,$5C .db $81,$14,$01,$1C,$54,$82,$14,$01 .db $1C,$14,$9C,$1C,$81,$14,$83,$1C .db $01,$54,$10,$81,$18,$03,$10,$50 .db $54,$10,$81,$18,$02,$10,$50,$54 .db $84,$10,$00,$54,$84,$10,$00,$54 .db $84,$10,$00,$14,$84,$10,$01,$54 .db $10,$81,$18,$03,$10,$50,$54,$10 .db $81,$18,$02,$10,$50,$54,$84,$10 .db $00,$54,$84,$10,$00,$54,$84,$10 .db $00,$14,$84,$10,$01,$54,$10,$81 .db $18,$03,$10,$50,$54,$10,$81,$18 .db $02,$10,$50,$54,$84,$10,$00,$54 .db $84,$10,$00,$54,$84,$10,$00,$14 .db $84,$10,$8C,$58,$83,$14,$00,$58 .db $85,$14,$81,$94,$81,$D4,$81,$94 .db $00,$58,$83,$94,$8D,$58,$83,$14 .db $04,$58,$14,$54,$14,$54,$81,$14 .db $00,$94,$83,$D4,$01,$94,$58,$83 .db $94,$8D,$58,$83,$14,$07,$58,$14 .db $10,$94,$D4,$50,$14,$94,$81,$14 .db $03,$54,$14,$94,$58,$83,$94,$8D .db $58,$83,$14,$01,$58,$14,$81,$10 .db $81,$50,$04,$14,$94,$D4,$94,$D4 .db $81,$94,$00,$58,$83,$94,$8C,$58 .db $00,$14,$81,$10,$81,$50,$81,$14 .db $81,$10,$81,$50,$05,$14,$94,$54 .db $D4,$94,$14,$86,$94,$8B,$58,$00 .db $14,$81,$10,$81,$50,$00,$14,$82 .db $10,$82,$50,$8B,$94,$86,$58,$81 .db $10,$81,$50,$00,$58,$82,$10,$82 .db $50,$82,$10,$82,$50,$00,$54,$81 .db $10,$81,$50,$00,$14,$85,$94,$00 .db $58,$81,$10,$81,$50,$00,$58,$82 .db $10,$82,$50,$82,$10,$82,$50,$82 .db $10,$82,$50,$82,$10,$82,$50,$85 .db $94,$00,$58,$81,$10,$81,$50,$00 .db $58,$82,$10,$82,$50,$82,$10,$82 .db $50,$82,$10,$82,$50,$82,$10,$82 .db $50,$82,$10,$82,$50,$00,$58,$81 .db $10,$81,$50,$00,$58,$82,$10,$82 .db $50,$82,$10,$82,$50,$82,$10,$82 .db $50,$81,$10,$81,$14,$81,$50,$82 .db $10,$82,$50,$86,$58,$81,$10,$81 .db $50,$00,$58,$82,$10,$82,$50,$82 .db $10,$82,$50,$82,$10,$82,$50,$82 .db $10,$82,$50,$01,$18,$54,$83,$50 .db $81,$18,$81,$58,$81,$50,$83,$18 .db $03,$58,$50,$18,$58,$83,$18,$01 .db $98,$D8,$81,$98,$00,$D8,$85,$18 .db $00,$D8,$85,$1C,$83,$10,$81,$1C .db $83,$10,$81,$1C,$83,$10,$81,$1C .db $83,$10,$01,$50,$5C,$83,$10,$81 .db $50,$86,$1C,$82,$10,$00,$50,$81 .db $1C,$81,$10,$81,$50,$01,$1C,$14 .db $81,$90,$04,$D0,$50,$14,$1C,$50 .db $81,$90,$00,$10,$81,$1C,$81,$58 .db $81,$18,$8D,$1C,$82,$10,$02,$50 .db $1C,$14,$81,$10,$81,$50,$01,$14 .db $1C,$81,$90,$01,$D0,$50,$81,$1C .db $00,$50,$81,$90,$00,$10,$92,$1C .db $00,$14,$82,$10,$02,$50,$14,$1C .db $81,$10,$81,$50,$81,$1C,$81,$90 .db $02,$D0,$50,$1C,$85,$14,$9D,$1C .db $82,$10,$81,$50,$00,$14,$82,$10 .db $81,$50,$01,$1C,$50,$82,$90,$01 .db $10,$1C,$81,$58,$00,$50,$81,$18 .db $04,$94,$54,$58,$50,$18,$81,$14 .db $00,$54,$83,$14,$00,$1C,$82,$10 .db $81,$50,$00,$1C,$82,$10,$81,$50 .db $00,$14,$82,$10,$81,$50,$00,$1C .db $82,$90,$03,$D0,$50,$1C,$50,$82 .db $90,$05,$10,$94,$54,$58,$50,$18 .db $81,$14,$82,$10,$81,$50,$00,$1C .db $82,$10,$81,$50,$00,$1C,$82,$10 .db $81,$50,$00,$14,$82,$90,$03,$D0 .db $50,$1C,$50,$82,$90,$01,$10,$1C .db $81,$58,$00,$50,$81,$18,$00,$94 .db $82,$10,$81,$50,$00,$1C,$82,$10 .db $81,$50,$00,$1C,$82,$10,$81,$50 .db $00,$1C,$82,$90,$03,$D0,$50,$14 .db $50,$82,$90,$01,$10,$1C,$81,$58 .db $00,$50,$81,$18,$00,$1C,$82,$10 .db $81,$50,$00,$1C,$82,$10,$81,$50 .db $00,$1C,$82,$10,$81,$50,$00,$1C .db $82,$90,$03,$D0,$50,$1C,$50,$82 .db $90,$01,$10,$14,$81,$58,$00,$50 .db $81,$18,$02,$1C,$10,$50,$82,$18 .db $02,$10,$18,$50,$82,$18,$02,$10 .db $90,$50,$82,$1C,$02,$50,$90,$10 .db $82,$58,$02,$54,$18,$14,$83,$58 .db $00,$14,$84,$58,$FF,$0C,$FF,$0C .db $FF,$0C,$FF,$0C,$FF,$0C,$FF,$0C .db $FF,$0C,$CB,$0C,$02,$10,$50,$10 .db $81,$50,$01,$90,$10,$81,$50,$81 .db $90,$05,$18,$50,$90,$50,$90,$50 .db $81,$90,$81,$10,$81,$50,$06,$90 .db $50,$10,$D0,$90,$10,$50,$81,$90 .db $00,$50,$81,$90,$81,$10,$81,$50 .db $08,$90,$10,$50,$90,$D0,$10,$50 .db $10,$50,$81,$10,$00,$D0,$82,$10 .db $00,$50,$81,$10,$02,$50,$10,$50 .db $81,$10,$08,$D0,$90,$D0,$10,$50 .db $D0,$10,$50,$D0,$81,$10,$03,$50 .db $10,$50,$54,$81,$58,$04,$14,$58 .db $14,$54,$58,$81,$10,$01,$50,$18 .db $87,$14,$81,$10,$82,$90,$01,$10 .db $D0,$81,$10,$01,$50,$D0,$82,$10 .db $00,$90,$81,$10,$81,$18,$00,$90 .db $87,$10,$01,$18,$58,$81,$14,$08 .db $90,$D0,$90,$D0,$58,$14,$94,$58 .db $14,$81,$58,$02,$94,$10,$50,$81 .db $10,$03,$50,$10,$D0,$90,$81,$10 .db $81,$90,$81,$50,$81,$D0,$03,$90 .db $D0,$18,$58,$84,$18,$0A,$58,$98 .db $D8,$54,$18,$14,$18,$10,$50,$90 .db $D0,$81,$18,$02,$D8,$98,$D8,$81 .db $18,$04,$D8,$18,$58,$D8,$18,$85 .db $10,$00,$90,$81,$D0,$81,$10,$05 .db $D0,$10,$50,$90,$10,$90,$81,$10 .db $04,$50,$90,$D0,$10,$50,$81,$10 .db $02,$50,$90,$50,$81,$90,$88,$10 .db $01,$90,$D0,$85,$10,$00,$50,$81 .db $18,$82,$10,$00,$50,$84,$10,$02 .db $50,$10,$D0,$81,$10,$81,$50,$09 .db $10,$54,$14,$18,$54,$14,$18,$54 .db $18,$54,$8A,$18,$02,$50,$10,$D0 .db $85,$10,$81,$50,$0C,$D0,$18,$58 .db $18,$58,$10,$50,$10,$50,$10,$50 .db $D0,$90,$81,$18,$81,$98,$06,$18 .db $58,$98,$D8,$18,$58,$D8,$82,$18 .db $03,$D8,$10,$18,$58,$81,$10,$82 .db $18,$00,$98,$8B,$18,$14,$D4,$94 .db $54,$14,$D0,$10,$90,$D0,$50,$10 .db $D0,$90,$94,$D4,$10,$50,$54,$10 .db $D4,$90,$D0,$81,$10,$01,$D0,$90 .db $81,$D0,$00,$10,$82,$50,$00,$90 .db $82,$50,$01,$90,$50,$81,$90,$01 .db $D0,$50,$81,$90,$84,$10,$00,$50 .db $81,$10,$01,$50,$10,$81,$50,$01 .db $90,$50,$81,$90,$00,$10,$81,$50 .db $01,$10,$D0,$83,$10,$81,$18,$81 .db $98,$81,$18,$81,$98,$07,$18,$58 .db $98,$D8,$18,$58,$18,$58,$81,$18 .db $04,$98,$10,$18,$58,$18,$81,$58 .db $02,$18,$D8,$98,$94,$18,$08,$58 .db $18,$58,$54,$1C,$14,$1C,$14,$94 .db $81,$1C,$01,$14,$58,$81,$1C,$81 .db $14,$81,$94,$83,$58,$03,$10,$50 .db $10,$D0,$81,$10,$00,$D0,$82,$10 .db $02,$D0,$10,$90,$81,$10,$05,$D0 .db $10,$50,$90,$D0,$10,$81,$50,$01 .db $90,$10,$81,$50,$00,$90,$81,$10 .db $00,$50,$81,$90,$00,$10,$82,$50 .db $01,$10,$D0,$81,$10,$00,$50,$81 .db $10,$81,$50,$81,$90,$07,$14,$54 .db $94,$D4,$10,$50,$14,$54,$88,$10 .db $0A,$50,$90,$D0,$10,$50,$90,$D0 .db $58,$10,$D8,$90,$81,$58,$81,$D8 .db $83,$18,$02,$50,$18,$50,$81,$18 .db $0A,$10,$18,$10,$9C,$DC,$1C,$5C .db $18,$58,$98,$10,$81,$18,$81,$10 .db $FF,$0C,$FF,$0C,$FF,$0C,$BB,$0C .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_0C9380: .db $20,$00,$5F,$FE,$F8,$00,$30,$00 .db $5F,$FE,$FA,$08,$FF CODE_0C938D: 8B PHB ; Wrapper CODE_0C938E: 4B PHK CODE_0C938F: AB PLB CODE_0C9390: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0C9392: 20 6A 9F JSR.W CODE_0C9F6A CODE_0C9395: 20 1F AB JSR.W CODE_0CAB1F CODE_0C9398: AB PLB Return0C9399: 6B RTL ; Return CODE_0C939A: 8B PHB ; Wrapper CODE_0C939B: 4B PHK CODE_0C939C: AB PLB CODE_0C939D: 20 E3 A0 JSR.W CODE_0CA0E3 CODE_0C93A0: 20 D4 A1 JSR.W CODE_0CA1D4 CODE_0C93A3: AB PLB Return0C93A4: 6B RTL ; Return CODE_0C93A5: 8B PHB ; Wrapper CODE_0C93A6: 4B PHK CODE_0C93A7: AB PLB CODE_0C93A8: 20 AD AE JSR.W CODE_0CAEAD CODE_0C93AB: AB PLB Return0C93AC: 6B RTL ; Return CODE_0C93AD: 8B PHB CODE_0C93AE: 4B PHK CODE_0C93AF: AB PLB CODE_0C93B0: CE 5B 14 DEC.W $145B CODE_0C93B3: D0 0A BNE CODE_0C93BF CODE_0C93B5: A9 23 LDA.B #$23 CODE_0C93B7: 8D 00 01 STA.W RAM_GameMode CODE_0C93BA: A9 FF LDA.B #$FF CODE_0C93BC: 8D E9 1D STA.W $1DE9 CODE_0C93BF: AB PLB Return0C93C0: 6B RTL ; Return DATA_0C93C1: .db $5A,$F4,$C0,$E7,$82,$EC,$44,$DD .db $00,$D9,$59,$DF,$54,$DE DATA_0C93CF: .db $FF,$FF,$FF,$FE,$FF,$FE,$FF,$FE .db $FF,$FF,$FF,$FE,$FF,$FE CODE_0C93DD: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0C93DF: 9C 28 19 STZ.W $1928 CODE_0C93E2: AD 28 19 LDA.W $1928 CODE_0C93E5: 29 FF 00 AND.W #$00FF CODE_0C93E8: 0A ASL CODE_0C93E9: AA TAX CODE_0C93EA: BF C1 93 0C LDA.L DATA_0C93C1,X CODE_0C93EE: 85 68 STA $68 CODE_0C93F0: BF CF 93 0C LDA.L DATA_0C93CF,X CODE_0C93F4: 85 65 STA $65 CODE_0C93F6: E2 20 SEP #$20 ; Accum (8 bit) CODE_0C93F8: A0 00 00 LDY.W #$0000 CODE_0C93FB: A6 68 LDX $68 CODE_0C93FD: E0 FE E8 CPX.W #$E8FE CODE_0C9400: 90 03 BCC CODE_0C9405 CODE_0C9402: A0 01 00 LDY.W #$0001 CODE_0C9405: A2 00 00 LDX.W #$0000 CODE_0C9408: 98 TYA CODE_0C9409: 9F 00 BD 7E STA.L $7EBD00,X CODE_0C940D: 9F 00 BF 7E STA.L $7EBF00,X CODE_0C9411: E8 INX CODE_0C9412: E0 00 02 CPX.W #$0200 CODE_0C9415: D0 F2 BNE CODE_0C9409 CODE_0C9417: A9 0C LDA.B #$0C CODE_0C9419: 85 6A STA $6A CODE_0C941B: A2 00 B9 LDX.W #$B900 CODE_0C941E: 86 0D STX $0D CODE_0C9420: C2 20 REP #$20 ; Accum (16 bit) CODE_0C9422: 20 4C 94 JSR.W CODE_0C944C CODE_0C9425: 20 C0 94 JSR.W CODE_0C94C0 CODE_0C9428: EE 28 19 INC.W $1928 CODE_0C942B: AD 28 19 LDA.W $1928 CODE_0C942E: C9 07 00 CMP.W #$0007 CODE_0C9431: D0 AF BNE CODE_0C93E2 CODE_0C9433: A9 40 58 LDA.W #$5840 CODE_0C9436: 85 65 STA $65 CODE_0C9438: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0C943A: 64 67 STZ $67 CODE_0C943C: 9C 28 19 STZ.W $1928 CODE_0C943F: 22 67 95 0C JSL.L CODE_0C9567 CODE_0C9443: 20 51 A0 JSR.W CODE_0CA051 CODE_0C9446: A9 09 LDA.B #$09 CODE_0C9448: 8D FB 1D STA.W $1DFB ; / Change music Return0C944B: 6B RTL ; Return CODE_0C944C: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0C944E: A0 00 00 LDY.W #$0000 CODE_0C9451: 84 03 STY $03 CODE_0C9453: 84 05 STY $05 CODE_0C9455: E2 20 SEP #$20 ; Accum (8 bit) CODE_0C9457: A9 7E LDA.B #$7E CODE_0C9459: 85 0F STA $0F CODE_0C945B: A4 03 LDY $03 CODE_0C945D: B7 68 LDA [$68],Y CODE_0C945F: 85 07 STA $07 CODE_0C9461: C8 INY CODE_0C9462: 84 03 STY $03 CODE_0C9464: 29 80 AND.B #$80 CODE_0C9466: F0 18 BEQ CODE_0C9480 CODE_0C9468: A5 07 LDA $07 CODE_0C946A: 29 7F AND.B #$7F CODE_0C946C: 85 07 STA $07 CODE_0C946E: B7 68 LDA [$68],Y CODE_0C9470: C8 INY CODE_0C9471: 84 03 STY $03 CODE_0C9473: A4 05 LDY $05 CODE_0C9475: 97 0D STA [$0D],Y CODE_0C9477: C8 INY CODE_0C9478: C6 07 DEC $07 CODE_0C947A: 10 F9 BPL CODE_0C9475 CODE_0C947C: 84 05 STY $05 CODE_0C947E: 80 12 BRA CODE_0C9492 CODE_0C9480: A4 03 LDY $03 CODE_0C9482: B7 68 LDA [$68],Y CODE_0C9484: C8 INY CODE_0C9485: 84 03 STY $03 CODE_0C9487: A4 05 LDY $05 CODE_0C9489: 97 0D STA [$0D],Y CODE_0C948B: C8 INY CODE_0C948C: 84 05 STY $05 CODE_0C948E: C6 07 DEC $07 CODE_0C9490: 10 EE BPL CODE_0C9480 CODE_0C9492: A4 03 LDY $03 CODE_0C9494: B7 68 LDA [$68],Y CODE_0C9496: C9 FF CMP.B #$FF CODE_0C9498: D0 C1 BNE CODE_0C945B CODE_0C949A: C8 INY CODE_0C949B: B7 68 LDA [$68],Y CODE_0C949D: C9 FF CMP.B #$FF CODE_0C949F: D0 BA BNE CODE_0C945B CODE_0C94A1: C2 20 REP #$20 ; Accum (16 bit) CODE_0C94A3: A9 00 91 LDA.W #$9100 CODE_0C94A6: 85 00 STA $00 CODE_0C94A8: A2 00 00 LDX.W #$0000 CODE_0C94AB: A5 00 LDA $00 CODE_0C94AD: 9D BE 0F STA.W $0FBE,X CODE_0C94B0: A5 00 LDA $00 CODE_0C94B2: 18 CLC CODE_0C94B3: 69 08 00 ADC.W #$0008 CODE_0C94B6: 85 00 STA $00 CODE_0C94B8: E8 INX CODE_0C94B9: E8 INX CODE_0C94BA: E0 00 04 CPX.W #$0400 CODE_0C94BD: D0 EC BNE CODE_0C94AB Return0C94BF: 60 RTS ; Return CODE_0C94C0: E2 20 SEP #$20 ; Accum (8 bit) CODE_0C94C2: C2 10 REP #$10 ; Index (16 bit) CODE_0C94C4: A2 00 B9 LDX.W #$B900 CODE_0C94C7: 86 6B STX $6B CODE_0C94C9: A9 7E LDA.B #$7E CODE_0C94CB: 85 6D STA $6D CODE_0C94CD: 85 70 STA $70 CODE_0C94CF: A2 00 BD LDX.W #$BD00 CODE_0C94D2: 86 6E STX $6E CODE_0C94D4: A9 0D LDA.B #$0D CODE_0C94D6: 85 6A STA $6A CODE_0C94D8: A0 F0 00 LDY.W #$00F0 CODE_0C94DB: 84 04 STY $04 CODE_0C94DD: AD 28 19 LDA.W $1928 CODE_0C94E0: EB XBA CODE_0C94E1: 29 00 AND.B #$00 CODE_0C94E3: AA TAX CODE_0C94E4: 86 00 STX $00 CODE_0C94E6: A2 7F 00 LDX.W #$007F CODE_0C94E9: 86 08 STX $08 CODE_0C94EB: E2 20 SEP #$20 ; Accum (8 bit) CODE_0C94ED: A4 04 LDY $04 CODE_0C94EF: B7 6B LDA [$6B],Y CODE_0C94F1: 85 02 STA $02 CODE_0C94F3: B7 6E LDA [$6E],Y CODE_0C94F5: 85 03 STA $03 CODE_0C94F7: C2 20 REP #$20 ; Accum (16 bit) CODE_0C94F9: A5 02 LDA $02 CODE_0C94FB: 0A ASL CODE_0C94FC: AA TAX CODE_0C94FD: BD BE 0F LDA.W $0FBE,X CODE_0C9500: 85 68 STA $68 CODE_0C9502: A0 00 00 LDY.W #$0000 CODE_0C9505: A5 00 LDA $00 CODE_0C9507: 0A ASL CODE_0C9508: 0A ASL CODE_0C9509: 48 PHA CODE_0C950A: 29 3F 00 AND.W #$003F CODE_0C950D: 85 06 STA $06 CODE_0C950F: 68 PLA CODE_0C9510: 29 C0 FF AND.W #$FFC0 CODE_0C9513: 0A ASL CODE_0C9514: 05 06 ORA $06 CODE_0C9516: AA TAX CODE_0C9517: B7 68 LDA [$68],Y CODE_0C9519: 25 65 AND $65 CODE_0C951B: 9F 00 40 7F STA.L $7F4000,X CODE_0C951F: C8 INY CODE_0C9520: C8 INY CODE_0C9521: B7 68 LDA [$68],Y CODE_0C9523: 25 65 AND $65 CODE_0C9525: 9F 40 40 7F STA.L $7F4040,X CODE_0C9529: C8 INY CODE_0C952A: C8 INY CODE_0C952B: B7 68 LDA [$68],Y CODE_0C952D: 25 65 AND $65 CODE_0C952F: 9F 02 40 7F STA.L $7F4002,X CODE_0C9533: C8 INY CODE_0C9534: C8 INY CODE_0C9535: B7 68 LDA [$68],Y CODE_0C9537: 25 65 AND $65 CODE_0C9539: 9F 42 40 7F STA.L $7F4042,X CODE_0C953D: E6 00 INC $00 CODE_0C953F: E6 04 INC $04 CODE_0C9541: C6 08 DEC $08 CODE_0C9543: 10 A6 BPL CODE_0C94EB CODE_0C9545: A9 7F 00 LDA.W #$007F CODE_0C9548: 85 08 STA $08 CODE_0C954A: A5 04 LDA $04 CODE_0C954C: C9 70 01 CMP.W #$0170 CODE_0C954F: D0 07 BNE Return0C9558 CODE_0C9551: A9 A0 02 LDA.W #$02A0 CODE_0C9554: 85 04 STA $04 CODE_0C9556: 80 93 BRA CODE_0C94EB Return0C9558: 60 RTS ; Return DATA_0C9559: .db $01,$18,$00,$40,$7F,$00,$04 DATA_0C9560: .db $01,$18,$00,$44,$7F,$00,$04 CODE_0C9567: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0C9569: 8B PHB CODE_0C956A: 4B PHK CODE_0C956B: AB PLB CODE_0C956C: A9 80 LDA.B #$80 CODE_0C956E: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_0C9571: A9 C0 LDA.B #$C0 CODE_0C9573: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_0C9576: A9 30 LDA.B #$30 CODE_0C9578: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_0C957B: A0 06 LDY.B #$06 CODE_0C957D: B9 59 95 LDA.W DATA_0C9559,Y CODE_0C9580: 99 10 43 STA.W $4310,Y CODE_0C9583: 88 DEY CODE_0C9584: 10 F7 BPL CODE_0C957D CODE_0C9586: AD 28 19 LDA.W $1928 CODE_0C9589: 0A ASL CODE_0C958A: 0A ASL CODE_0C958B: 0A ASL CODE_0C958C: 0D 13 43 ORA.W $4313 ; A Address (High Byte) CODE_0C958F: 8D 13 43 STA.W $4313 ; A Address (High Byte) CODE_0C9592: A9 02 LDA.B #$02 CODE_0C9594: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_0C9597: A9 80 LDA.B #$80 CODE_0C9599: 8D 15 21 STA.W $2115 ; VRAM Address Increment Value CODE_0C959C: A9 C0 LDA.B #$C0 CODE_0C959E: 8D 16 21 STA.W $2116 ; Address for VRAM Read/Write (Low Byte) CODE_0C95A1: A9 34 LDA.B #$34 CODE_0C95A3: 8D 17 21 STA.W $2117 ; Address for VRAM Read/Write (High Byte) CODE_0C95A6: A0 06 LDY.B #$06 CODE_0C95A8: B9 60 95 LDA.W DATA_0C9560,Y CODE_0C95AB: 99 10 43 STA.W $4310,Y CODE_0C95AE: 88 DEY CODE_0C95AF: 10 F7 BPL CODE_0C95A8 CODE_0C95B1: AD 28 19 LDA.W $1928 CODE_0C95B4: 0A ASL CODE_0C95B5: 0A ASL CODE_0C95B6: 0A ASL CODE_0C95B7: 0D 13 43 ORA.W $4313 ; A Address (High Byte) CODE_0C95BA: 8D 13 43 STA.W $4313 ; A Address (High Byte) CODE_0C95BD: A9 02 LDA.B #$02 CODE_0C95BF: 8D 0B 42 STA.W $420B ; Regular DMA Channel Enable CODE_0C95C2: 9C FE 1F STZ.W $1FFE CODE_0C95C5: AB PLB Return0C95C6: 6B RTL ; Return DATA_0C95C7: .db $07 DATA_0C95C8: .db $23,$0E,$3C,$21,$3C,$0E,$3C,$0C .db $3C,$1E,$3C,$1D,$3C,$12,$3C,$1F .db $3C,$0E,$3C,$FC,$00,$19,$3C,$1B .db $3C,$18,$3C,$0D,$3C,$1E,$3C,$0C .db $3C,$0E,$3C,$1B,$3C,$FF,$09,$1F .db $C7,$38,$C8,$38,$E1,$38,$CE,$38 .db $E2,$38,$C7,$38,$C8,$38,$FC,$00 .db $E8,$38,$C0,$38,$CC,$38,$C0,$38 .db $E4,$38,$C2,$38,$C7,$38,$C8,$38 .db $09,$1F,$D7,$38,$D8,$38,$F1,$38 .db $DE,$38,$F2,$38,$D7,$38,$D8,$38 .db $FC,$00,$F8,$38,$D0,$38,$DC,$38 .db $D0,$38,$F4,$38,$D2,$38,$D7,$38 .db $D8,$38,$0C,$0F,$19,$28,$1B,$28 .db $18,$28,$0D,$28,$1E,$28,$0C,$28 .db $0E,$28,$1B,$28,$08,$1F,$E2,$38 .db $C7,$38,$C8,$38,$C6,$38,$C4,$38 .db $E1,$38,$E4,$38,$FC,$00,$CC,$38 .db $C8,$38,$E8,$38,$C0,$38,$CC,$38 .db $CE,$38,$E3,$38,$CE,$38,$08,$1F .db $F2,$38,$D7,$38,$D8,$38,$D6,$38 .db $D4,$38,$F1,$38,$F4,$38,$FC,$00 .db $DC,$38,$D8,$38,$F8,$38,$D0,$38 .db $DC,$38,$DE,$38,$F3,$38,$DE,$38 .db $09,$19,$16,$28,$0A,$28,$12,$28 .db $17,$28,$FC,$00,$0D,$28,$12,$28 .db $1B,$28,$0E,$28,$0C,$28,$1D,$28 .db $18,$28,$1B,$28,$09,$1B,$E3,$38 .db $C0,$38,$CA,$38,$C0,$38,$E2,$38 .db $C7,$38,$C8,$38,$FC,$00,$E3,$38 .db $C4,$38,$E9,$38,$E4,$38,$CA,$38 .db $C0,$38,$09,$1B,$F3,$38,$D0,$38 .db $DA,$38,$D0,$38,$F2,$38,$D7,$38 .db $D8,$38,$FC,$00,$F3,$38,$D4,$38 .db $F9,$38,$F4,$38,$DA,$38,$D0,$38 .db $0A,$17,$16,$3C,$0A,$3C,$19,$3C .db $FC,$00,$0D,$3C,$12,$3C,$1B,$3C .db $0E,$3C,$0C,$3C,$1D,$3C,$18,$3C .db $1B,$3C,$09,$19,$C7,$38,$C8,$38 .db $C3,$38,$C4,$38,$E0,$38,$E4,$38 .db $C8,$38,$FC,$00,$CA,$38,$CE,$38 .db $CD,$38,$CD,$38,$CE,$38,$09,$19 .db $D7,$38,$D8,$38,$D3,$38,$D4,$38 .db $F0,$38,$F4,$38,$D8,$38,$FC,$00 .db $DA,$38,$DE,$38,$DD,$38,$DD,$38 .db $DE,$38,$09,$19,$0A,$2C,$1B,$2C .db $0E,$2C,$0A,$2C,$FC,$00,$0D,$2C .db $12,$2C,$1B,$2C,$0E,$2C,$0C,$2C .db $1D,$2C,$18,$2C,$1B,$2C,$09,$1B .db $CA,$38,$C0,$38,$E3,$38,$E2,$38 .db $E4,$38,$E8,$38,$C0,$38,$FC,$00 .db $C4,$38,$C6,$38,$E4,$38,$C2,$38 .db $C7,$38,$C8,$38,$09,$1B,$DA,$38 .db $D0,$38,$F3,$38,$F2,$38,$F4,$38 .db $F8,$38,$D0,$38,$FC,$00,$D4,$38 .db $D6,$38,$F4,$38,$D2,$38,$D7,$38 .db $D8,$38,$08,$1F,$19,$28,$1B,$28 .db $18,$28,$10,$28,$1B,$28,$0A,$28 .db $16,$28,$FC,$00,$0D,$28,$12,$28 .db $1B,$28,$0E,$28,$0C,$28,$1D,$28 .db $18,$28,$1B,$28,$08,$1F,$E3,$38 .db $CE,$38,$E2,$38,$C7,$38,$C8,$38 .db $C7,$38,$C8,$38,$CA,$38,$CE,$38 .db $FC,$00,$CD,$38,$C0,$38,$CA,$38 .db $C0,$38,$C6,$38,$CE,$38,$08,$1F .db $F3,$38,$DE,$38,$F2,$38,$D7,$38 .db $D8,$38,$D7,$38,$D8,$38,$DA,$38 .db $DE,$38,$FC,$00,$DD,$38,$D0,$38 .db $DA,$38,$D0,$38,$D6,$38,$DE,$38 .db $02,$35,$16,$3C,$0A,$3C,$1B,$3C .db $12,$3C,$18,$3C,$FC,$00,$0A,$3C .db $17,$3C,$0D,$3C,$FC,$00,$1C,$3C .db $22,$3C,$1C,$3C,$1D,$3C,$0E,$3C .db $16,$3C,$FC,$00,$19,$3C,$1B,$3C .db $18,$3C,$10,$3C,$1B,$3C,$0A,$3C .db $16,$3C,$16,$3C,$0E,$3C,$1B,$3C .db $09,$1B,$E3,$38,$CE,$38,$E2,$38 .db $C7,$38,$C8,$38,$CE,$38,$FC,$00 .db $C8,$38,$E6,$38,$C0,$38,$E6,$38 .db $C0,$38,$CA,$38,$C8,$38,$09,$1B .db $F3,$38,$DE,$38,$F2,$38,$D7,$38 .db $D8,$38,$DE,$38,$FC,$00,$D8,$38 .db $F6,$38,$D0,$38,$F6,$38,$D0,$38 .db $DA,$38,$D8,$38,$08,$21,$18,$2C .db $0B,$2C,$13,$2C,$0E,$2C,$0C,$2C .db $1D,$2C,$FC,$00,$19,$2C,$1B,$2C .db $18,$2C,$10,$2C,$1B,$2C,$0A,$2C .db $16,$2C,$16,$2C,$0E,$2C,$1B,$2C .db $09,$1B,$CA,$38,$C0,$38,$E9,$38 .db $E4,$38,$C0,$38,$CA,$38,$C8,$38 .db $FC,$00,$CC,$38,$CE,$38,$E1,$38 .db $C8,$38,$E3,$38,$C0,$38,$09,$1B .db $DA,$38,$D0,$38,$F9,$38,$F4,$38 .db $D0,$38,$DA,$38,$D8,$38,$FC,$00 .db $DC,$38,$DE,$38,$F1,$38,$D8,$38 .db $F3,$38,$D0,$38,$06,$29,$0B,$28 .db $0A,$28,$0C,$28,$14,$28,$10,$28 .db $1B,$28,$18,$28,$1E,$28,$17,$28 .db $0D,$28,$FC,$00,$19,$28,$1B,$28 .db $18,$28,$10,$28,$1B,$28,$0A,$28 .db $16,$28,$16,$28,$0E,$28,$1B,$28 .db $07,$25,$E2,$38,$C7,$38,$C8,$38 .db $C6,$38,$C4,$38,$C7,$38,$C8,$38 .db $E1,$38,$CE,$38,$FC,$00,$CA,$38 .db $C0,$38,$E2,$38,$C0,$38,$CC,$38 .db $C0,$38,$E3,$38,$E2,$38,$E4,$38 .db $07,$25,$F2,$38,$D7,$38,$D8,$38 .db $D6,$38,$D4,$38,$D7,$38,$D8,$38 .db $F1,$38,$DE,$38,$FC,$00,$DA,$38 .db $D0,$38,$F2,$38,$D0,$38,$DC,$38 .db $D0,$38,$F3,$38,$F2,$38,$F4,$38 .db $07,$23,$E3,$38,$C0,$38,$E3,$38 .db $E2,$38,$E4,$38,$CD,$38,$CE,$38 .db $E1,$38,$C8,$38,$FC,$00,$E3,$38 .db $C0,$38,$CA,$38,$C0,$38,$CA,$38 .db $E4,$38,$E1,$38,$C0,$38,$07,$23 .db $F3,$38,$D0,$38,$F3,$38,$F2,$38 .db $F4,$38,$DD,$38,$DE,$38,$F1,$38 .db $D8,$38,$FC,$00,$F3,$38,$D0,$38 .db $DA,$38,$D0,$38,$DA,$38,$F4,$38 .db $F1,$38,$D0,$38,$09,$1B,$16,$3C .db $0A,$3C,$19,$3C,$FC,$00,$19,$3C .db $1B,$3C,$18,$3C,$10,$3C,$1B,$3C .db $0A,$3C,$16,$3C,$16,$3C,$0E,$3C .db $1B,$3C,$08,$1F,$E3,$38,$C0,$38 .db $E3,$38,$E2,$38,$E4,$38,$CE,$38 .db $FC,$00,$CD,$38,$C8,$38,$E2,$38 .db $C7,$38,$C8,$38,$E8,$38,$C0,$38 .db $CC,$38,$C0,$38,$08,$1F,$F3,$38 .db $D0,$38,$F3,$38,$F2,$38,$F4,$38 .db $DE,$38,$FC,$00,$DD,$38,$D8,$38 .db $F2,$38,$D7,$38,$D8,$38,$F8,$38 .db $D0,$38,$DC,$38,$D0,$38,$08,$1D .db $0A,$2C,$1B,$2C,$0E,$2C,$0A,$2C .db $FC,$00,$0D,$2C,$0A,$2C,$1D,$2C .db $0A,$2C,$FC,$00,$12,$2C,$17,$2C .db $19,$2C,$1E,$2C,$1D,$2C,$08,$1F .db $E8,$38,$CE,$38,$E2,$38,$C7,$38 .db $C8,$38,$C7,$38,$C8,$38,$E1,$38 .db $CE,$38,$FC,$00,$CD,$38,$CE,$38 .db $CC,$38,$CE,$38,$E3,$38,$CE,$38 .db $08,$1F,$F8,$38,$DE,$38,$F2,$38 .db $D7,$38,$D8,$38,$D7,$38,$D8,$38 .db $F1,$38,$DE,$38,$FC,$00,$DD,$38 .db $DE,$38,$DC,$38,$DE,$38,$F3,$38 .db $DE,$38,$0B,$11,$C4,$38,$C8,$38 .db $C9,$38,$C8,$38,$FC,$00,$CD,$38 .db $CE,$38,$E3,$38,$CE,$38,$0B,$11 .db $D4,$38,$D8,$38,$D9,$38,$D8,$38 .db $FC,$00,$DD,$38,$DE,$38,$F3,$38 .db $DE,$38,$08,$1D,$E2,$38,$C0,$38 .db $E3,$38,$CE,$38,$E1,$38,$E4,$38 .db $FC,$00,$E3,$38,$C0,$38,$CA,$38 .db $C0,$38,$C7,$38,$C0,$38,$E3,$38 .db $C0,$38,$08,$1D,$F2,$38,$D0,$38 .db $F3,$38,$DE,$38,$F1,$38,$F4,$38 .db $FC,$00,$F3,$38,$D0,$38,$DA,$38 .db $D0,$38,$D7,$38,$D0,$38,$F3,$38 .db $D0,$38,$03,$33,$0C,$28,$11,$28 .db $0A,$28,$1B,$28,$0A,$28,$0C,$28 .db $1D,$28,$0E,$28,$1B,$28,$FC,$00 .db $10,$28,$1B,$28,$0A,$28,$19,$28 .db $11,$28,$12,$28,$0C,$28,$FC,$00 .db $0D,$28,$0E,$28,$1C,$28,$12,$28 .db $10,$28,$17,$28,$0E,$28,$1B,$28 .db $09,$1B,$E2,$38,$C7,$38,$C8,$38 .db $C6,$38,$C4,$38,$C5,$38,$E4,$38 .db $CC,$38,$C8,$38,$FC,$00,$C7,$38 .db $C8,$38,$CD,$38,$CE,$38,$09,$1B .db $F2,$38,$D7,$38,$D8,$38,$D6,$38 .db $D4,$38,$D5,$38,$F4,$38,$DC,$38 .db $D8,$38,$FC,$00,$D7,$38,$D8,$38 .db $DD,$38,$DE,$38,$09,$1B,$1C,$3C .db $18,$3C,$1E,$3C,$17,$3C,$0D,$3C .db $FC,$00,$0C,$3C,$18,$3C,$16,$3C .db $19,$3C,$18,$3C,$1C,$3C,$0E,$3C .db $1B,$3C,$0B,$13,$CA,$38,$CE,$38 .db $C9,$38,$C8,$38,$FC,$00,$CA,$38 .db $CE,$38,$CD,$38,$C3,$38,$CE,$38 .db $0B,$13,$DA,$38,$DE,$38,$D9,$38 .db $D8,$38,$FC,$00,$DA,$38,$DE,$38 .db $DD,$38,$D3,$38,$DE,$38,$07,$23 .db $1C,$2C,$19,$2C,$0E,$2C,$0C,$2C .db $12,$2C,$0A,$2C,$15,$2C,$FC,$00 .db $1D,$2C,$11,$2C,$0A,$2C,$17,$2C .db $14,$2C,$1C,$2C,$FC,$00,$1D,$2C .db $18,$2C,$78,$2C,$09,$19,$E8,$38 .db $CE,$38,$C8,$38,$C2,$38,$C7,$38 .db $C8,$38,$FC,$00,$CA,$38,$CE,$38 .db $E3,$38,$C0,$38,$C1,$38,$C4,$38 .db $09,$19,$F8,$38,$DE,$38,$D8,$38 .db $D2,$38,$D7,$38,$D8,$38,$FC,$00 .db $DA,$38,$DE,$38,$F3,$38,$D0,$38 .db $D1,$38,$D4,$38,$09,$1B,$E8,$38 .db $C0,$38,$E2,$38,$E4,$38,$C7,$38 .db $C8,$38,$E1,$38,$CE,$38,$FC,$00 .db $E2,$38,$C0,$38,$CA,$38,$C0,$38 .db $C8,$38,$09,$1B,$F8,$38,$D0,$38 .db $F2,$38,$F4,$38,$D7,$38,$D8,$38 .db $F1,$38,$DE,$38,$FC,$00,$F2,$38 .db $D0,$38,$DA,$38,$D0,$38,$D8,$38 .db $09,$19,$CC,$38,$C8,$38,$C4,$38 .db $FC,$00,$E8,$38,$CE,$38,$E2,$38 .db $C7,$38,$C8,$38,$CC,$38,$E4,$38 .db $E1,$38,$C0,$38,$09,$19,$DC,$38 .db $D8,$38,$D4,$38,$FC,$00,$F8,$38 .db $DE,$38,$F2,$38,$D7,$38,$D8,$38 .db $DC,$38,$F4,$38,$F1,$38,$D0,$38 .db $09,$1B,$C7,$38,$C8,$38,$E1,$38 .db $CE,$38,$CD,$38,$CE,$38,$C1,$38 .db $E4,$38,$FC,$00,$CA,$38,$C0,$38 .db $CA,$38,$E4,$38,$C8,$38,$09,$1B .db $D7,$38,$D8,$38,$F1,$38,$DE,$38 .db $DD,$38,$DE,$38,$D1,$38,$F4,$38 .db $FC,$00,$DA,$38,$D0,$38,$DA,$38 .db $F4,$38,$D8,$38,$0B,$13,$CA,$38 .db $C4,$38,$C8,$38,$E9,$38,$CE,$38 .db $FC,$00,$CA,$38,$C0,$38,$E3,$38 .db $CE,$38,$0B,$13,$DA,$38,$D4,$38 .db $D8,$38,$F9,$38,$DE,$38,$FC,$00 .db $DA,$38,$D0,$38,$F3,$38,$DE,$38 .db $09,$19,$E3,$38,$C0,$38,$CA,$38 .db $C0,$38,$CE,$38,$FC,$00,$E2,$38 .db $C7,$38,$C8,$38,$CC,$38,$C8,$38 .db $E9,$38,$E4,$38,$09,$19,$F3,$38 .db $D0,$38,$DA,$38,$D0,$38,$DE,$38 .db $FC,$00,$F2,$38,$D7,$38,$D8,$38 .db $DC,$38,$D8,$38,$F9,$38,$F4,$38 .db $0A,$15,$C3,$38,$C0,$38,$E8,$38 .db $E5,$38,$FC,$00,$C1,$38,$E1,$38 .db $CE,$38,$CE,$38,$CA,$38,$E2,$38 .db $0A,$15,$D3,$38,$D0,$38,$F8,$38 .db $F5,$38,$FC,$00,$D1,$38,$F1,$38 .db $DE,$38,$DE,$38,$DA,$38,$F2,$38 DATA_0C9D18: .db $C1,$00,$26,$00,$DD,$00,$FB,$00 .db $26,$00,$26,$00,$26,$00,$19,$01 .db $26,$00,$33,$01,$4F,$01,$26,$00 .db $26,$00,$26,$00,$6B,$01,$26,$00 .db $87,$01,$A5,$01,$26,$00,$26,$00 .db $26,$00,$C3,$01,$26,$00,$E5,$01 .db $07,$02,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $29,$02,$26,$00,$61,$02,$7F,$02 .db $26,$00,$26,$00,$26,$00,$9D,$02 .db $26,$00,$C1,$02,$DF,$02,$26,$00 .db $26,$00,$26,$00,$FD,$02,$26,$00 .db $29,$03,$51,$03,$26,$00,$79,$03 .db $9F,$03,$26,$00,$26,$00,$C5,$03 .db $26,$00,$E3,$03,$05,$04,$26,$00 .db $26,$00,$26,$00,$27,$04,$26,$00 .db $47,$04,$69,$04,$26,$00,$8B,$04 .db $9F,$04,$26,$00,$B3,$04,$D3,$04 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$F3,$04 .db $26,$00,$29,$05,$47,$05,$26,$00 .db $26,$00,$26,$00,$65,$05,$26,$00 .db $83,$05,$99,$05,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$AF,$05,$26,$00,$D5,$05 .db $F1,$05,$26,$00,$0D,$06,$2B,$06 .db $26,$00,$49,$06,$65,$06,$26,$00 .db $81,$06,$9F,$06,$26,$00,$BD,$06 .db $D3,$06,$26,$00,$E9,$06,$05,$07 .db $26,$00,$21,$07,$39,$07,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$6B,$00,$26,$00 .db $7D,$00,$9F,$00,$26,$00,$26,$00 .db $26,$00,$00,$00,$26,$00,$27,$00 .db $49,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00,$26,$00,$26,$00 .db $26,$00,$26,$00 DATA_0C9EAC: .db $40,$3E,$FC,$00,$FF CODE_0C9EB1: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0C9EB3: AF 7B 83 7F LDA.L $7F837B CODE_0C9EB7: AA TAX CODE_0C9EB8: A0 00 00 LDY.W #$0000 CODE_0C9EBB: E2 20 SEP #$20 ; Accum (8 bit) CODE_0C9EBD: A5 66 LDA $66 CODE_0C9EBF: 9F 7D 83 7F STA.L $7F837D,X CODE_0C9EC3: A5 65 LDA $65 CODE_0C9EC5: 9F 7E 83 7F STA.L $7F837E,X CODE_0C9EC9: E8 INX CODE_0C9ECA: E8 INX CODE_0C9ECB: B9 AC 9E LDA.W DATA_0C9EAC,Y CODE_0C9ECE: 9F 7D 83 7F STA.L $7F837D,X CODE_0C9ED2: E8 INX CODE_0C9ED3: C8 INY CODE_0C9ED4: C0 05 00 CPY.W #$0005 CODE_0C9ED7: D0 F2 BNE CODE_0C9ECB CODE_0C9ED9: C2 20 REP #$20 ; Accum (16 bit) CODE_0C9EDB: CA DEX CODE_0C9EDC: 8A TXA CODE_0C9EDD: 8F 7B 83 7F STA.L $7F837B CODE_0C9EE1: A5 67 LDA $67 CODE_0C9EE3: 29 FF 00 AND.W #$00FF CODE_0C9EE6: 0A ASL CODE_0C9EE7: A8 TAY CODE_0C9EE8: B9 18 9D LDA.W DATA_0C9D18,Y CODE_0C9EEB: A8 TAY CODE_0C9EEC: E2 20 SEP #$20 ; Accum (8 bit) CODE_0C9EEE: E6 67 INC $67 CODE_0C9EF0: B9 C7 95 LDA.W DATA_0C95C7,Y CODE_0C9EF3: C9 FF CMP.B #$FF CODE_0C9EF5: F0 4C BEQ CODE_0C9F43 CODE_0C9EF7: B9 C7 95 LDA.W DATA_0C95C7,Y CODE_0C9EFA: 85 02 STA $02 CODE_0C9EFC: B9 C8 95 LDA.W DATA_0C95C8,Y CODE_0C9EFF: 85 00 STA $00 CODE_0C9F01: 64 01 STZ $01 CODE_0C9F03: C8 INY CODE_0C9F04: C8 INY CODE_0C9F05: A5 66 LDA $66 CODE_0C9F07: 9F 7D 83 7F STA.L $7F837D,X CODE_0C9F0B: A5 65 LDA $65 CODE_0C9F0D: 18 CLC CODE_0C9F0E: 65 02 ADC $02 CODE_0C9F10: 9F 7E 83 7F STA.L $7F837E,X CODE_0C9F14: E8 INX CODE_0C9F15: E8 INX CODE_0C9F16: A5 01 LDA $01 CODE_0C9F18: 9F 7D 83 7F STA.L $7F837D,X CODE_0C9F1C: A5 00 LDA $00 CODE_0C9F1E: 9F 7E 83 7F STA.L $7F837E,X CODE_0C9F22: E8 INX CODE_0C9F23: E8 INX CODE_0C9F24: C2 20 REP #$20 ; Accum (16 bit) CODE_0C9F26: B9 C7 95 LDA.W DATA_0C95C7,Y CODE_0C9F29: 9F 7D 83 7F STA.L $7F837D,X CODE_0C9F2D: E8 INX CODE_0C9F2E: E8 INX CODE_0C9F2F: C8 INY CODE_0C9F30: C8 INY CODE_0C9F31: C6 00 DEC $00 CODE_0C9F33: C6 00 DEC $00 CODE_0C9F35: 10 EF BPL CODE_0C9F26 CODE_0C9F37: A9 FF 00 LDA.W #$00FF CODE_0C9F3A: 9F 7D 83 7F STA.L $7F837D,X CODE_0C9F3E: 8A TXA CODE_0C9F3F: 8F 7B 83 7F STA.L $7F837B CODE_0C9F43: C2 20 REP #$20 ; Accum (16 bit) CODE_0C9F45: E2 10 SEP #$10 ; Index (8 bit) CODE_0C9F47: A5 65 LDA $65 CODE_0C9F49: 18 CLC CODE_0C9F4A: 69 20 00 ADC.W #$0020 CODE_0C9F4D: 85 65 STA $65 CODE_0C9F4F: 29 FF 03 AND.W #$03FF CODE_0C9F52: D0 07 BNE Return0C9F5B CODE_0C9F54: A5 65 LDA $65 CODE_0C9F56: 49 00 0C EOR.W #$0C00 CODE_0C9F59: 85 65 STA $65 Return0C9F5B: 60 RTS ; Return DATA_0C9F5C: .db $C0,$00,$80,$01,$40,$02,$00,$03 .db $C0,$03,$80,$04,$59,$05 CODE_0C9F6A: C2 20 REP #$20 ; Accum (16 bit) CODE_0C9F6C: A2 00 LDX.B #$00 CODE_0C9F6E: A9 80 FF LDA.W #$FF80 CODE_0C9F71: 9D 46 14 STA.W $1446,X CODE_0C9F74: B5 1E LDA $1E,X CODE_0C9F76: 95 00 STA $00,X CODE_0C9F78: 20 CB 9F JSR.W CODE_0C9FCB CODE_0C9F7B: B5 00 LDA $00,X CODE_0C9F7D: 95 1E STA $1E,X CODE_0C9F7F: A5 24 LDA $24 CODE_0C9F81: C9 59 05 CMP.W #$0559 CODE_0C9F84: B0 26 BCS CODE_0C9FAC CODE_0C9F86: A2 02 LDX.B #$02 CODE_0C9F88: A9 40 00 LDA.W #$0040 CODE_0C9F8B: 9D 46 14 STA.W $1446,X CODE_0C9F8E: A5 24 LDA $24 CODE_0C9F90: 95 00 STA $00,X CODE_0C9F92: 85 04 STA $04 CODE_0C9F94: 20 CB 9F JSR.W CODE_0C9FCB CODE_0C9F97: B5 00 LDA $00,X CODE_0C9F99: C5 04 CMP $04 CODE_0C9F9B: F0 0F BEQ CODE_0C9FAC CODE_0C9F9D: 85 24 STA $24 CODE_0C9F9F: A5 24 LDA $24 CODE_0C9FA1: 29 07 00 AND.W #$0007 CODE_0C9FA4: C9 01 00 CMP.W #$0001 CODE_0C9FA7: D0 03 BNE CODE_0C9FAC CODE_0C9FA9: 20 B1 9E JSR.W CODE_0C9EB1 CODE_0C9FAC: A2 0C LDX.B #$0C CODE_0C9FAE: A5 24 LDA $24 CODE_0C9FB0: DD 5C 9F CMP.W DATA_0C9F5C,X CODE_0C9FB3: F0 06 BEQ CODE_0C9FBB CODE_0C9FB5: CA DEX CODE_0C9FB6: CA DEX CODE_0C9FB7: 10 F5 BPL CODE_0C9FAE CODE_0C9FB9: 80 0B BRA CODE_0C9FC6 CODE_0C9FBB: AD 88 1B LDA.W $1B88 CODE_0C9FBE: 29 FF 00 AND.W #$00FF CODE_0C9FC1: D0 03 BNE CODE_0C9FC6 CODE_0C9FC3: EE 88 1B INC.W $1B88 CODE_0C9FC6: E2 20 SEP #$20 ; Accum (8 bit) CODE_0C9FC8: 82 1F 00 BRL CODE_0C9FEA CODE_0C9FCB: BD 4E 14 LDA.W $144E,X ; Accum (16 bit) CODE_0C9FCE: 29 FF 00 AND.W #$00FF CODE_0C9FD1: 18 CLC CODE_0C9FD2: 7D 46 14 ADC.W $1446,X CODE_0C9FD5: 9D 4E 14 STA.W $144E,X CODE_0C9FD8: 29 00 FF AND.W #$FF00 CODE_0C9FDB: 10 03 BPL CODE_0C9FE0 CODE_0C9FDD: 09 FF 00 ORA.W #$00FF CODE_0C9FE0: EB XBA CODE_0C9FE1: 18 CLC CODE_0C9FE2: 75 00 ADC $00,X CODE_0C9FE4: 95 00 STA $00,X Return0C9FE6: 60 RTS ; Return DATA_0C9FE7: .db $00,$FF,$00 CODE_0C9FEA: C2 20 REP #$20 ; Accum (16 bit) CODE_0C9FEC: A9 38 00 LDA.W #$0038 CODE_0C9FEF: 85 94 STA RAM_MarioXPos CODE_0C9FF1: A9 8F 00 LDA.W #$008F CODE_0C9FF4: 85 96 STA RAM_MarioYPos CODE_0C9FF6: E2 20 SEP #$20 ; Accum (8 bit) CODE_0C9FF8: A9 01 LDA.B #$01 CODE_0C9FFA: 85 19 STA RAM_MarioPowerUp CODE_0C9FFC: A9 08 LDA.B #$08 CODE_0C9FFE: 8D 7B 00 STA.W RAM_MarioSpeedX CODE_0CA001: 20 5A A7 JSR.W CODE_0CA75A CODE_0CA004: A9 52 LDA.B #$52 CODE_0CA006: 85 E4 STA RAM_SpriteXLo CODE_0CA008: 9C E0 14 STZ.W RAM_SpriteXHi CODE_0CA00B: A9 8F LDA.B #$8F CODE_0CA00D: 85 D8 STA RAM_SpriteYLo CODE_0CA00F: 9C D4 14 STZ.W RAM_SpriteYHi CODE_0CA012: A9 A0 LDA.B #$A0 CODE_0CA014: 8D EA 15 STA.W RAM_SprOAMIndex CODE_0CA017: 20 78 A7 JSR.W CODE_0CA778 CODE_0CA01A: AE 02 16 LDX.W $1602 CODE_0CA01D: A9 51 LDA.B #$51 CODE_0CA01F: 85 00 STA $00 CODE_0CA021: 64 01 STZ $01 CODE_0CA023: BD E7 9F LDA.W DATA_0C9FE7,X CODE_0CA026: 18 CLC CODE_0CA027: 69 85 ADC.B #$85 CODE_0CA029: 85 02 STA $02 CODE_0CA02B: 8A TXA CODE_0CA02C: 0A ASL CODE_0CA02D: 0A ASL CODE_0CA02E: A8 TAY CODE_0CA02F: A2 00 LDX.B #$00 CODE_0CA031: 20 21 A8 JSR.W CODE_0CA821 CODE_0CA034: A9 A0 LDA.B #$A0 CODE_0CA036: 85 0E STA $0E CODE_0CA038: 20 A3 A8 JSR.W CODE_0CA8A3 CODE_0CA03B: A9 10 LDA.B #$10 CODE_0CA03D: 85 02 STA $02 CODE_0CA03F: 20 DF A8 JSR.W CODE_0CA8DF Return0CA042: 60 RTS ; Return DATA_0CA043: .db $63,$73,$83,$93,$A3,$B3,$C3 DATA_0CA04A: .db $A0,$9C,$A0,$9C,$A0,$9C,$A0 CODE_0CA051: 8B PHB CODE_0CA052: 4B PHK CODE_0CA053: AB PLB CODE_0CA054: A2 0E LDX.B #$0E CODE_0CA056: 9E 23 0B STZ.W $0B23,X CODE_0CA059: 9E 32 0B STZ.W $0B32,X CODE_0CA05C: CA DEX CODE_0CA05D: 10 F7 BPL CODE_0CA056 CODE_0CA05F: A2 0D LDX.B #$0D CODE_0CA061: A0 06 LDY.B #$06 CODE_0CA063: B9 4A A0 LDA.W DATA_0CA04A,Y CODE_0CA066: 9D 41 0B STA.W $0B41,X CODE_0CA069: 9E 5F 0B STZ.W $0B5F,X CODE_0CA06C: B9 43 A0 LDA.W DATA_0CA043,Y CODE_0CA06F: 9D 50 0B STA.W $0B50,X CODE_0CA072: 9E 6E 0B STZ.W $0B6E,X CODE_0CA075: B9 C2 A3 LDA.W DATA_0CA3C2,Y CODE_0CA078: 9D 05 0B STA.W $0B05,X CODE_0CA07B: A9 01 LDA.B #$01 CODE_0CA07D: 9D F6 0A STA.W $0AF6,X CODE_0CA080: 88 DEY CODE_0CA081: CA DEX CODE_0CA082: E0 06 CPX.B #$06 CODE_0CA084: D0 DD BNE CODE_0CA063 CODE_0CA086: 64 76 STZ RAM_MarioDirection CODE_0CA088: A9 E2 LDA.B #$E2 CODE_0CA08A: 8D 89 1B STA.W $1B89 CODE_0CA08D: AB PLB Return0CA08E: 60 RTS ; Return DATA_0CA08F: .db $FF,$02,$04,$06,$08,$06,$08,$06 .db $08,$06,$08,$04,$02,$FF,$20,$22 .db $24,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$24,$22,$20,$40,$42,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $42,$40 DATA_0CA0B9: .db $FF,$37,$37,$35,$35,$37,$37,$39 .db $39,$3B,$3B,$77,$77,$FF,$37,$37 .db $37,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$77,$77,$77,$37,$37,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $77,$77 CODE_0CA0E3: A9 10 LDA.B #$10 CODE_0CA0E5: 85 00 STA $00 CODE_0CA0E7: 85 02 STA $02 CODE_0CA0E9: A9 2F LDA.B #$2F CODE_0CA0EB: 85 01 STA $01 CODE_0CA0ED: A2 90 LDX.B #$90 CODE_0CA0EF: A0 00 LDY.B #$00 CODE_0CA0F1: B9 8F A0 LDA.W DATA_0CA08F,Y CODE_0CA0F4: C9 FF CMP.B #$FF CODE_0CA0F6: F0 22 BEQ CODE_0CA11A CODE_0CA0F8: 9D 02 03 STA.W OAM_Tile,X CODE_0CA0FB: B9 B9 A0 LDA.W DATA_0CA0B9,Y CODE_0CA0FE: 9D 03 03 STA.W OAM_Prop,X CODE_0CA101: A5 00 LDA $00 CODE_0CA103: 9D 00 03 STA.W OAM_DispX,X CODE_0CA106: A5 01 LDA $01 CODE_0CA108: 9D 01 03 STA.W OAM_DispY,X CODE_0CA10B: DA PHX CODE_0CA10C: 8A TXA CODE_0CA10D: 4A LSR CODE_0CA10E: 4A LSR CODE_0CA10F: AA TAX CODE_0CA110: A9 02 LDA.B #$02 CODE_0CA112: 9D 60 04 STA.W OAM_TileSize,X CODE_0CA115: FA PLX CODE_0CA116: E8 INX CODE_0CA117: E8 INX CODE_0CA118: E8 INX CODE_0CA119: E8 INX CODE_0CA11A: A5 00 LDA $00 CODE_0CA11C: 18 CLC CODE_0CA11D: 69 10 ADC.B #$10 CODE_0CA11F: 85 00 STA $00 CODE_0CA121: C9 F0 CMP.B #$F0 CODE_0CA123: D0 0B BNE CODE_0CA130 CODE_0CA125: A5 02 LDA $02 CODE_0CA127: 85 00 STA $00 CODE_0CA129: A5 01 LDA $01 CODE_0CA12B: 18 CLC CODE_0CA12C: 69 10 ADC.B #$10 CODE_0CA12E: 85 01 STA $01 CODE_0CA130: C8 INY CODE_0CA131: C0 2A CPY.B #$2A CODE_0CA133: D0 BC BNE CODE_0CA0F1 Return0CA135: 60 RTS ; Return DATA_0CA136: .db $26,$28,$2A,$2C,$46,$48,$4A,$4C .db $60,$62,$64,$66,$6A,$6C,$6E,$0A CODE_0CA146: C2 20 REP #$20 ; Accum (16 bit) CODE_0CA148: A9 3F 00 LDA.W #$003F CODE_0CA14B: 85 08 STA $08 CODE_0CA14D: 85 0A STA $0A CODE_0CA14F: 64 00 STZ $00 CODE_0CA151: 64 02 STZ $02 CODE_0CA153: 64 04 STZ $04 CODE_0CA155: A0 00 LDY.B #$00 CODE_0CA157: A2 50 LDX.B #$50 CODE_0CA159: C2 20 REP #$20 ; Accum (16 bit) CODE_0CA15B: A5 00 LDA $00 CODE_0CA15D: 18 CLC CODE_0CA15E: 69 80 00 ADC.W #$0080 CODE_0CA161: 85 00 STA $00 CODE_0CA163: 85 02 STA $02 CODE_0CA165: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CA167: 20 83 A1 JSR.W CODE_0CA183 CODE_0CA16A: C2 20 REP #$20 ; Accum (16 bit) CODE_0CA16C: A9 80 00 LDA.W #$0080 CODE_0CA16F: 38 SEC CODE_0CA170: E5 04 SBC $04 CODE_0CA172: 38 SEC CODE_0CA173: E9 40 00 SBC.W #$0040 CODE_0CA176: 85 00 STA $00 CODE_0CA178: 85 02 STA $02 CODE_0CA17A: A9 3F 00 LDA.W #$003F CODE_0CA17D: 85 08 STA $08 CODE_0CA17F: 85 0A STA $0A CODE_0CA181: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CA183: A5 01 LDA $01 CODE_0CA185: D0 24 BNE CODE_0CA1AB CODE_0CA187: B9 36 A1 LDA.W DATA_0CA136,Y CODE_0CA18A: 9D 02 03 STA.W OAM_Tile,X CODE_0CA18D: A9 35 LDA.B #$35 CODE_0CA18F: 9D 03 03 STA.W OAM_Prop,X CODE_0CA192: A5 00 LDA $00 CODE_0CA194: 9D 00 03 STA.W OAM_DispX,X CODE_0CA197: A5 08 LDA $08 CODE_0CA199: 9D 01 03 STA.W OAM_DispY,X CODE_0CA19C: DA PHX CODE_0CA19D: 8A TXA CODE_0CA19E: 4A LSR CODE_0CA19F: 4A LSR CODE_0CA1A0: AA TAX CODE_0CA1A1: A9 02 LDA.B #$02 CODE_0CA1A3: 9D 60 04 STA.W OAM_TileSize,X CODE_0CA1A6: FA PLX CODE_0CA1A7: E8 INX CODE_0CA1A8: E8 INX CODE_0CA1A9: E8 INX CODE_0CA1AA: E8 INX CODE_0CA1AB: C2 20 REP #$20 ; Accum (16 bit) CODE_0CA1AD: A5 00 LDA $00 CODE_0CA1AF: 18 CLC CODE_0CA1B0: 69 10 00 ADC.W #$0010 CODE_0CA1B3: 85 00 STA $00 CODE_0CA1B5: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CA1B7: 98 TYA CODE_0CA1B8: 29 07 AND.B #$07 CODE_0CA1BA: C9 03 CMP.B #$03 CODE_0CA1BC: D0 0F BNE CODE_0CA1CD CODE_0CA1BE: A5 02 LDA $02 CODE_0CA1C0: 85 00 STA $00 CODE_0CA1C2: A5 03 LDA $03 CODE_0CA1C4: 85 01 STA $01 CODE_0CA1C6: A5 08 LDA $08 CODE_0CA1C8: 18 CLC CODE_0CA1C9: 69 10 ADC.B #$10 CODE_0CA1CB: 85 08 STA $08 CODE_0CA1CD: C8 INY CODE_0CA1CE: 98 TYA CODE_0CA1CF: 29 07 AND.B #$07 CODE_0CA1D1: D0 B0 BNE CODE_0CA183 Return0CA1D3: 60 RTS ; Return CODE_0CA1D4: 20 1F AB JSR.W CODE_0CAB1F CODE_0CA1D7: AD 42 14 LDA.W $1442 CODE_0CA1DA: 22 FA 86 00 JSL.L ExecutePtrLong PtrsLong0CA1DE: ED A1 0C .dw CODE_0CA1ED .db :$CODE_0CA1ED 3C A4 0C .dw CODE_0CA43C .db :$CODE_0CA43C 32 A5 0C .dw CODE_0CA532 .db :$CODE_0CA532 5B A6 0C .dw CODE_0CA65B .db :$CODE_0CA65B B0 A6 0C .dw CODE_0CA6B0 .db :$CODE_0CA6B0 CODE_0CA1ED: 20 15 A3 JSR.W CODE_0CA315 CODE_0CA1F0: AD 89 1B LDA.W $1B89 CODE_0CA1F3: F0 01 BEQ CODE_0CA1F6 Return0CA1F5: 60 RTS ; Return CODE_0CA1F6: A9 60 LDA.B #$60 CODE_0CA1F8: 85 96 STA RAM_MarioYPos CODE_0CA1FA: A9 01 LDA.B #$01 CODE_0CA1FC: 85 97 STA RAM_MarioYPosHi CODE_0CA1FE: A2 00 LDX.B #$00 CODE_0CA200: BD 50 0B LDA.W $0B50,X CODE_0CA203: C9 70 CMP.B #$70 CODE_0CA205: D0 48 BNE CODE_0CA24F CODE_0CA207: 9C E2 18 STZ.W $18E2 CODE_0CA20A: A9 0F LDA.B #$0F ; \ Mario's image = Going Down Pipe CODE_0CA20C: 8D E0 13 STA.W MarioFrame ; / CODE_0CA20F: 20 64 A7 JSR.W CODE_0CA764 CODE_0CA212: 20 B4 A7 JSR.W CODE_0CA7B4 CODE_0CA215: AD 42 14 LDA.W $1442 CODE_0CA218: D0 13 BNE CODE_0CA22D CODE_0CA21A: A5 E4 LDA RAM_SpriteXLo CODE_0CA21C: 85 00 STA $00 CODE_0CA21E: A9 9F LDA.B #$9F CODE_0CA220: 85 02 STA $02 CODE_0CA222: A0 00 LDY.B #$00 CODE_0CA224: A2 B4 LDX.B #$B4 CODE_0CA226: A9 01 LDA.B #$01 CODE_0CA228: 85 0E STA $0E CODE_0CA22A: 20 15 AA JSR.W CODE_0CAA15 CODE_0CA22D: 64 01 STZ $01 CODE_0CA22F: AD 50 0B LDA.W $0B50 CODE_0CA232: 18 CLC CODE_0CA233: 69 10 ADC.B #$10 CODE_0CA235: 85 00 STA $00 CODE_0CA237: AD 6E 0B LDA.W $0B6E CODE_0CA23A: 69 00 ADC.B #$00 CODE_0CA23C: 85 01 STA $01 CODE_0CA23E: A9 9F LDA.B #$9F CODE_0CA240: 85 02 STA $02 CODE_0CA242: A9 03 LDA.B #$03 CODE_0CA244: 0A ASL CODE_0CA245: 0A ASL CODE_0CA246: A8 TAY CODE_0CA247: A2 A4 LDX.B #$A4 CODE_0CA249: 20 21 A8 JSR.W CODE_0CA821 CODE_0CA24C: 82 74 00 BRL CODE_0CA2C3 CODE_0CA24F: A9 F8 LDA.B #$F8 CODE_0CA251: 9D 14 0B STA.W $0B14,X CODE_0CA254: 20 4F A7 JSR.W CODE_0CA74F CODE_0CA257: BD 50 0B LDA.W $0B50,X CODE_0CA25A: 85 94 STA RAM_MarioXPos CODE_0CA25C: BD 6E 0B LDA.W $0B6E,X CODE_0CA25F: 85 95 STA RAM_MarioXPosHi CODE_0CA261: A9 01 LDA.B #$01 CODE_0CA263: 85 19 STA RAM_MarioPowerUp CODE_0CA265: A9 08 LDA.B #$08 CODE_0CA267: 8D 7B 00 STA.W RAM_MarioSpeedX CODE_0CA26A: 20 5A A7 JSR.W CODE_0CA75A CODE_0CA26D: AD 50 0B LDA.W $0B50 CODE_0CA270: 18 CLC CODE_0CA271: 69 30 ADC.B #$30 CODE_0CA273: 85 E4 STA RAM_SpriteXLo CODE_0CA275: AD 6E 0B LDA.W $0B6E CODE_0CA278: 69 00 ADC.B #$00 CODE_0CA27A: 8D E0 14 STA.W RAM_SpriteXHi CODE_0CA27D: A9 60 LDA.B #$60 CODE_0CA27F: 85 D8 STA RAM_SpriteYLo CODE_0CA281: A9 01 LDA.B #$01 CODE_0CA283: 8D D4 14 STA.W RAM_SpriteYHi CODE_0CA286: A9 30 LDA.B #$30 CODE_0CA288: 8D EA 15 STA.W RAM_SprOAMIndex CODE_0CA28B: 20 78 A7 JSR.W CODE_0CA778 CODE_0CA28E: 64 01 STZ $01 CODE_0CA290: AD 50 0B LDA.W $0B50 CODE_0CA293: 18 CLC CODE_0CA294: 69 10 ADC.B #$10 CODE_0CA296: 85 00 STA $00 CODE_0CA298: AD 6E 0B LDA.W $0B6E CODE_0CA29B: 69 00 ADC.B #$00 CODE_0CA29D: 85 01 STA $01 CODE_0CA29F: A9 9F LDA.B #$9F CODE_0CA2A1: 85 02 STA $02 CODE_0CA2A3: CE 4E 14 DEC.W $144E CODE_0CA2A6: 10 0D BPL CODE_0CA2B5 CODE_0CA2A8: A9 06 LDA.B #$06 CODE_0CA2AA: 8D 4E 14 STA.W $144E CODE_0CA2AD: AD 4F 14 LDA.W $144F CODE_0CA2B0: 49 01 EOR.B #$01 CODE_0CA2B2: 8D 4F 14 STA.W $144F CODE_0CA2B5: AD 4F 14 LDA.W $144F CODE_0CA2B8: 18 CLC CODE_0CA2B9: 69 03 ADC.B #$03 CODE_0CA2BB: 0A ASL CODE_0CA2BC: 0A ASL CODE_0CA2BD: A8 TAY CODE_0CA2BE: A2 A4 LDX.B #$A4 CODE_0CA2C0: 20 21 A8 JSR.W CODE_0CA821 CODE_0CA2C3: AD 57 0B LDA.W $0B57 CODE_0CA2C6: 85 00 STA $00 CODE_0CA2C8: AD 75 0B LDA.W $0B75 CODE_0CA2CB: 85 01 STA $01 CODE_0CA2CD: C2 20 REP #$20 ; Accum (16 bit) CODE_0CA2CF: A5 00 LDA $00 CODE_0CA2D1: C9 30 00 CMP.W #$0030 CODE_0CA2D4: D0 0A BNE CODE_0CA2E0 CODE_0CA2D6: AD 42 14 LDA.W $1442 CODE_0CA2D9: D0 21 BNE CODE_0CA2FC CODE_0CA2DB: EE 42 14 INC.W $1442 CODE_0CA2DE: 80 1C BRA CODE_0CA2FC CODE_0CA2E0: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CA2E2: A2 0D LDX.B #$0D CODE_0CA2E4: E0 0B CPX.B #$0B CODE_0CA2E6: 90 07 BCC CODE_0CA2EF CODE_0CA2E8: AD 5B 0B LDA.W $0B5B CODE_0CA2EB: C9 98 CMP.B #$98 CODE_0CA2ED: F0 08 BEQ CODE_0CA2F7 CODE_0CA2EF: A9 F8 LDA.B #$F8 CODE_0CA2F1: 9D 14 0B STA.W $0B14,X CODE_0CA2F4: 20 4F A7 JSR.W CODE_0CA74F CODE_0CA2F7: CA DEX CODE_0CA2F8: E0 06 CPX.B #$06 CODE_0CA2FA: D0 E8 BNE CODE_0CA2E4 CODE_0CA2FC: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CA2FE: A9 AF LDA.B #$AF CODE_0CA300: 85 0E STA $0E CODE_0CA302: 20 A3 A8 JSR.W CODE_0CA8A3 CODE_0CA305: A9 88 LDA.B #$88 CODE_0CA307: 85 02 STA $02 CODE_0CA309: 20 DF A8 JSR.W CODE_0CA8DF Return0CA30C: 60 RTS ; Return DATA_0CA30D: .db $00,$01,$02,$01 DATA_0CA311: .db $00,$01,$01,$01 CODE_0CA315: A2 01 LDX.B #$01 CODE_0CA317: BD 05 0B LDA.W $0B05,X CODE_0CA31A: 18 CLC CODE_0CA31B: 69 01 ADC.B #$01 CODE_0CA31D: 9D 05 0B STA.W $0B05,X CODE_0CA320: 20 21 A7 JSR.W CODE_0CA721 CODE_0CA323: BD 41 0B LDA.W $0B41,X CODE_0CA326: C9 9F CMP.B #$9F CODE_0CA328: 90 0A BCC CODE_0CA334 CODE_0CA32A: A9 F0 LDA.B #$F0 CODE_0CA32C: 9D 05 0B STA.W $0B05,X CODE_0CA32F: A9 9F LDA.B #$9F CODE_0CA331: 9D 41 0B STA.W $0B41,X CODE_0CA334: A0 00 LDY.B #$00 CODE_0CA336: AD 06 0B LDA.W $0B06 CODE_0CA339: 10 0E BPL CODE_0CA349 CODE_0CA33B: C9 F4 CMP.B #$F4 CODE_0CA33D: 90 16 BCC CODE_0CA355 CODE_0CA33F: A0 01 LDY.B #$01 CODE_0CA341: C9 F8 CMP.B #$F8 CODE_0CA343: 90 10 BCC CODE_0CA355 CODE_0CA345: A0 02 LDY.B #$02 CODE_0CA347: 80 00 BRA CODE_0CA349 CODE_0CA349: C9 0C CMP.B #$0C CODE_0CA34B: B0 08 BCS CODE_0CA355 CODE_0CA34D: A0 01 LDY.B #$01 CODE_0CA34F: C9 08 CMP.B #$08 CODE_0CA351: B0 02 BCS CODE_0CA355 CODE_0CA353: A0 02 LDY.B #$02 CODE_0CA355: 8C 58 14 STY.W $1458 CODE_0CA358: AD 57 14 LDA.W $1457 CODE_0CA35B: F0 56 BEQ Return0CA3B3 CODE_0CA35D: C9 01 CMP.B #$01 CODE_0CA35F: D0 52 BNE Return0CA3B3 CODE_0CA361: A9 18 LDA.B #$18 CODE_0CA363: 85 00 STA $00 CODE_0CA365: 64 01 STZ $01 CODE_0CA367: AD 42 0B LDA.W $0B42 CODE_0CA36A: 85 02 STA $02 CODE_0CA36C: AC 58 14 LDY.W $1458 CODE_0CA36F: B9 0D A3 LDA.W DATA_0CA30D,Y CODE_0CA372: 18 CLC CODE_0CA373: 69 07 ADC.B #$07 CODE_0CA375: 0A ASL CODE_0CA376: 0A ASL CODE_0CA377: A8 TAY CODE_0CA378: A2 D0 LDX.B #$D0 CODE_0CA37A: 20 21 A8 JSR.W CODE_0CA821 CODE_0CA37D: A9 D4 LDA.B #$D4 CODE_0CA37F: 85 00 STA $00 CODE_0CA381: 64 01 STZ $01 CODE_0CA383: AD 42 0B LDA.W $0B42 CODE_0CA386: 85 02 STA $02 CODE_0CA388: AC 58 14 LDY.W $1458 CODE_0CA38B: B9 0D A3 LDA.W DATA_0CA30D,Y CODE_0CA38E: 18 CLC CODE_0CA38F: 69 0A ADC.B #$0A CODE_0CA391: 0A ASL CODE_0CA392: 0A ASL CODE_0CA393: A8 TAY CODE_0CA394: A2 F0 LDX.B #$F0 CODE_0CA396: 20 21 A8 JSR.W CODE_0CA821 CODE_0CA399: AC 58 14 LDY.W $1458 CODE_0CA39C: B9 11 A3 LDA.W DATA_0CA311,Y CODE_0CA39F: 0A ASL CODE_0CA3A0: A8 TAY CODE_0CA3A1: A9 50 LDA.B #$50 CODE_0CA3A3: 85 00 STA $00 CODE_0CA3A5: AD 42 0B LDA.W $0B42 CODE_0CA3A8: 85 02 STA $02 CODE_0CA3AA: A2 F0 LDX.B #$F0 CODE_0CA3AC: A9 00 LDA.B #$00 CODE_0CA3AE: 85 0E STA $0E CODE_0CA3B0: 20 15 AA JSR.W CODE_0CAA15 Return0CA3B3: 60 RTS ; Return DATA_0CA3B4: .db $40,$50,$60,$70,$80,$90,$A0 DATA_0CA3BB: .db $AF,$AB,$AF,$AB,$AF,$AB,$AF DATA_0CA3C2: .db $F6,$00,$F6,$00,$F6,$00,$F6 CODE_0CA3C9: 8B PHB CODE_0CA3CA: 4B PHK CODE_0CA3CB: AB PLB CODE_0CA3CC: A9 01 LDA.B #$01 CODE_0CA3CE: 8D 57 14 STA.W $1457 CODE_0CA3D1: 64 76 STZ RAM_MarioDirection CODE_0CA3D3: 9C 42 14 STZ.W $1442 CODE_0CA3D6: A9 00 LDA.B #$00 CODE_0CA3D8: 8D 50 0B STA.W $0B50 CODE_0CA3DB: A9 01 LDA.B #$01 CODE_0CA3DD: 8D 6E 0B STA.W $0B6E CODE_0CA3E0: 9C 32 0B STZ.W $0B32 CODE_0CA3E3: 9C 33 0B STZ.W $0B33 CODE_0CA3E6: 9C 39 0B STZ.W $0B39 CODE_0CA3E9: A9 06 LDA.B #$06 CODE_0CA3EB: 8D 4E 14 STA.W $144E CODE_0CA3EE: 9C 4F 14 STZ.W $144F CODE_0CA3F1: 9C 58 14 STZ.W $1458 CODE_0CA3F4: A9 06 LDA.B #$06 CODE_0CA3F6: 8D 59 14 STA.W $1459 CODE_0CA3F9: A9 F0 LDA.B #$F0 CODE_0CA3FB: 8D 06 0B STA.W $0B06 CODE_0CA3FE: A9 9F LDA.B #$9F CODE_0CA400: 8D 42 0B STA.W $0B42 CODE_0CA403: A9 E2 LDA.B #$E2 CODE_0CA405: 8D 89 1B STA.W $1B89 CODE_0CA408: 8D 28 19 STA.W $1928 CODE_0CA40B: A9 0A LDA.B #$0A CODE_0CA40D: 8D FB 1D STA.W $1DFB ; / Change music CODE_0CA410: A2 0D LDX.B #$0D CODE_0CA412: A0 06 LDY.B #$06 CODE_0CA414: B9 BB A3 LDA.W DATA_0CA3BB,Y CODE_0CA417: 9D 41 0B STA.W $0B41,X CODE_0CA41A: 9E 5F 0B STZ.W $0B5F,X CODE_0CA41D: B9 B4 A3 LDA.W DATA_0CA3B4,Y CODE_0CA420: 9D 50 0B STA.W $0B50,X CODE_0CA423: B9 C2 A3 LDA.W DATA_0CA3C2,Y CODE_0CA426: 9D 05 0B STA.W $0B05,X CODE_0CA429: A9 01 LDA.B #$01 CODE_0CA42B: 9D F6 0A STA.W $0AF6,X CODE_0CA42E: 9D 6E 0B STA.W $0B6E,X CODE_0CA431: 88 DEY CODE_0CA432: CA DEX CODE_0CA433: E0 06 CPX.B #$06 CODE_0CA435: D0 DD BNE CODE_0CA414 CODE_0CA437: AB PLB Return0CA438: 6B RTL ; Return DATA_0CA439: .db $00,$02,$02 CODE_0CA43C: AD 58 14 LDA.W $1458 CODE_0CA43F: C9 08 CMP.B #$08 CODE_0CA441: B0 19 BCS CODE_0CA45C CODE_0CA443: 20 15 A3 JSR.W CODE_0CA315 CODE_0CA446: AD 58 14 LDA.W $1458 CODE_0CA449: D0 0C BNE CODE_0CA457 CODE_0CA44B: AD 42 0B LDA.W $0B42 CODE_0CA44E: C9 9F CMP.B #$9F CODE_0CA450: D0 05 BNE CODE_0CA457 CODE_0CA452: A9 08 LDA.B #$08 CODE_0CA454: 8D 58 14 STA.W $1458 CODE_0CA457: A0 00 LDY.B #$00 CODE_0CA459: 82 B4 00 BRL CODE_0CA510 CODE_0CA45C: CE 59 14 DEC.W $1459 CODE_0CA45F: 10 17 BPL CODE_0CA478 CODE_0CA461: A9 06 LDA.B #$06 CODE_0CA463: 8D 59 14 STA.W $1459 CODE_0CA466: EE 58 14 INC.W $1458 CODE_0CA469: AD 58 14 LDA.W $1458 CODE_0CA46C: C9 0B CMP.B #$0B CODE_0CA46E: D0 08 BNE CODE_0CA478 CODE_0CA470: A9 0A LDA.B #$0A CODE_0CA472: 8D 58 14 STA.W $1458 CODE_0CA475: EE 42 14 INC.W $1442 CODE_0CA478: AD 58 14 LDA.W $1458 CODE_0CA47B: 29 03 AND.B #$03 CODE_0CA47D: D0 37 BNE CODE_0CA4B6 CODE_0CA47F: A9 18 LDA.B #$18 CODE_0CA481: 85 00 STA $00 CODE_0CA483: 64 01 STZ $01 CODE_0CA485: A9 9F LDA.B #$9F CODE_0CA487: 85 02 STA $02 CODE_0CA489: AD 58 14 LDA.W $1458 CODE_0CA48C: 29 03 AND.B #$03 CODE_0CA48E: 18 CLC CODE_0CA48F: 69 07 ADC.B #$07 CODE_0CA491: 0A ASL CODE_0CA492: 0A ASL CODE_0CA493: A8 TAY CODE_0CA494: A2 D0 LDX.B #$D0 CODE_0CA496: 20 21 A8 JSR.W CODE_0CA821 CODE_0CA499: A9 D4 LDA.B #$D4 CODE_0CA49B: 85 00 STA $00 CODE_0CA49D: 64 01 STZ $01 CODE_0CA49F: A9 9F LDA.B #$9F CODE_0CA4A1: 85 02 STA $02 CODE_0CA4A3: AD 58 14 LDA.W $1458 CODE_0CA4A6: 29 03 AND.B #$03 CODE_0CA4A8: 18 CLC CODE_0CA4A9: 69 0A ADC.B #$0A CODE_0CA4AB: 0A ASL CODE_0CA4AC: 0A ASL CODE_0CA4AD: A8 TAY CODE_0CA4AE: A2 F0 LDX.B #$F0 CODE_0CA4B0: 20 21 A8 JSR.W CODE_0CA821 CODE_0CA4B3: 82 33 00 BRL CODE_0CA4E9 CODE_0CA4B6: A9 18 LDA.B #$18 CODE_0CA4B8: 85 00 STA $00 CODE_0CA4BA: 64 01 STZ $01 CODE_0CA4BC: A9 A7 LDA.B #$A7 CODE_0CA4BE: 85 02 STA $02 CODE_0CA4C0: AD 58 14 LDA.W $1458 CODE_0CA4C3: 29 03 AND.B #$03 CODE_0CA4C5: 3A DEC A CODE_0CA4C6: 0A ASL CODE_0CA4C7: 0A ASL CODE_0CA4C8: A8 TAY CODE_0CA4C9: A2 C0 LDX.B #$C0 CODE_0CA4CB: 20 9E A9 JSR.W CODE_0CA99E CODE_0CA4CE: A9 CC LDA.B #$CC CODE_0CA4D0: 85 00 STA $00 CODE_0CA4D2: 64 01 STZ $01 CODE_0CA4D4: A9 A7 LDA.B #$A7 CODE_0CA4D6: 85 02 STA $02 CODE_0CA4D8: AD 58 14 LDA.W $1458 CODE_0CA4DB: 29 03 AND.B #$03 CODE_0CA4DD: 3A DEC A CODE_0CA4DE: 18 CLC CODE_0CA4DF: 69 02 ADC.B #$02 CODE_0CA4E1: 0A ASL CODE_0CA4E2: 0A ASL CODE_0CA4E3: A8 TAY CODE_0CA4E4: A2 D8 LDX.B #$D8 CODE_0CA4E6: 20 9E A9 JSR.W CODE_0CA99E CODE_0CA4E9: AD 58 14 LDA.W $1458 CODE_0CA4EC: 29 03 AND.B #$03 CODE_0CA4EE: A8 TAY CODE_0CA4EF: B9 39 A4 LDA.W DATA_0CA439,Y CODE_0CA4F2: 0A ASL CODE_0CA4F3: A8 TAY CODE_0CA4F4: A9 50 LDA.B #$50 CODE_0CA4F6: 85 00 STA $00 CODE_0CA4F8: A9 9F LDA.B #$9F CODE_0CA4FA: 85 02 STA $02 CODE_0CA4FC: A2 F0 LDX.B #$F0 CODE_0CA4FE: A9 00 LDA.B #$00 CODE_0CA500: 85 0E STA $0E CODE_0CA502: 20 15 AA JSR.W CODE_0CAA15 CODE_0CA505: AD 58 14 LDA.W $1458 CODE_0CA508: 29 03 AND.B #$03 CODE_0CA50A: A8 TAY CODE_0CA50B: B9 39 A4 LDA.W DATA_0CA439,Y CODE_0CA50E: 0A ASL CODE_0CA50F: A8 TAY CODE_0CA510: A5 E4 LDA RAM_SpriteXLo CODE_0CA512: 85 00 STA $00 CODE_0CA514: A9 9F LDA.B #$9F CODE_0CA516: 85 02 STA $02 CODE_0CA518: A2 B4 LDX.B #$B4 CODE_0CA51A: A9 01 LDA.B #$01 CODE_0CA51C: 85 0E STA $0E CODE_0CA51E: 20 15 AA JSR.W CODE_0CAA15 CODE_0CA521: 82 D2 FC BRL CODE_0CA1F6 DATA_0CA524: .db $20,$01,$10,$40,$08,$02,$04 DATA_0CA52B: .db $10,$60,$20,$00,$30,$50,$40 CODE_0CA532: AD 5C 14 LDA.W $145C CODE_0CA535: F0 03 BEQ CODE_0CA53A CODE_0CA537: 82 91 00 BRL CODE_0CA5CB CODE_0CA53A: A9 98 LDA.B #$98 CODE_0CA53C: 8D 08 0B STA.W $0B08 CODE_0CA53F: 8D 09 0B STA.W $0B09 CODE_0CA542: A9 D4 LDA.B #$D4 CODE_0CA544: 8D 0A 0B STA.W $0B0A CODE_0CA547: 8D 0B 0B STA.W $0B0B CODE_0CA54A: AC 5B 14 LDY.W $145B CODE_0CA54D: B9 2B A5 LDA.W DATA_0CA52B,Y CODE_0CA550: 4A LSR CODE_0CA551: 4A LSR CODE_0CA552: 4A LSR CODE_0CA553: 4A LSR CODE_0CA554: AA TAX CODE_0CA555: 1A INC A CODE_0CA556: 8D 5C 14 STA.W $145C CODE_0CA559: A9 C0 LDA.B #$C0 CODE_0CA55B: 9D 0C 0B STA.W $0B0C,X CODE_0CA55E: A9 04 LDA.B #$04 CODE_0CA560: 9D FD 0A STA.W $0AFD,X CODE_0CA563: BD 48 0B LDA.W $0B48,X CODE_0CA566: 8D 44 0B STA.W $0B44 CODE_0CA569: 8D 45 0B STA.W $0B45 CODE_0CA56C: 18 CLC CODE_0CA56D: 69 08 ADC.B #$08 CODE_0CA56F: 8D 46 0B STA.W $0B46 CODE_0CA572: 8D 47 0B STA.W $0B47 CODE_0CA575: 9C 62 0B STZ.W $0B62 CODE_0CA578: 9C 63 0B STZ.W $0B63 CODE_0CA57B: 9C 64 0B STZ.W $0B64 CODE_0CA57E: 9C 65 0B STZ.W $0B65 CODE_0CA581: BD 57 0B LDA.W $0B57,X CODE_0CA584: 8D 53 0B STA.W $0B53 CODE_0CA587: 8D 55 0B STA.W $0B55 CODE_0CA58A: 18 CLC CODE_0CA58B: 69 08 ADC.B #$08 CODE_0CA58D: 8D 54 0B STA.W $0B54 CODE_0CA590: 8D 56 0B STA.W $0B56 CODE_0CA593: 9C 71 0B STZ.W $0B71 CODE_0CA596: 9C 72 0B STZ.W $0B72 CODE_0CA599: 9C 73 0B STZ.W $0B73 CODE_0CA59C: 9C 74 0B STZ.W $0B74 CODE_0CA59F: B9 24 A5 LDA.W DATA_0CA524,Y CODE_0CA5A2: 0C 5A 14 TSB.W $145A CODE_0CA5A5: EE 5B 14 INC.W $145B CODE_0CA5A8: AD 5B 14 LDA.W $145B CODE_0CA5AB: C9 08 CMP.B #$08 CODE_0CA5AD: F0 07 BEQ CODE_0CA5B6 CODE_0CA5AF: A9 0A LDA.B #$0A CODE_0CA5B1: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_0CA5B4: 80 15 BRA CODE_0CA5CB CODE_0CA5B6: 9C 70 0B STZ.W $0B70 CODE_0CA5B9: A9 80 LDA.B #$80 CODE_0CA5BB: 8D 52 0B STA.W $0B52 CODE_0CA5BE: 9C 16 0B STZ.W $0B16 CODE_0CA5C1: A9 0B LDA.B #$0B CODE_0CA5C3: 8D FB 1D STA.W $1DFB ; / Change music CODE_0CA5C6: EE 42 14 INC.W $1442 CODE_0CA5C9: 80 03 BRA CODE_0CA5CE CODE_0CA5CB: 20 DE A5 JSR.W CODE_0CA5DE CODE_0CA5CE: 20 B6 A4 JSR.W CODE_0CA4B6 Return0CA5D1: 60 RTS ; Return DATA_0CA5D2: .db $C8,$C8,$D8,$D8 DATA_0CA5D6: .db $26,$66,$26,$66 DATA_0CA5DA: .db $E8,$18,$F4,$0C CODE_0CA5DE: AD 5C 14 LDA.W $145C CODE_0CA5E1: F0 77 BEQ Return0CA65A CODE_0CA5E3: A2 06 LDX.B #$06 CODE_0CA5E5: BD 05 0B LDA.W $0B05,X CODE_0CA5E8: 18 CLC CODE_0CA5E9: 69 06 ADC.B #$06 CODE_0CA5EB: C9 70 CMP.B #$70 CODE_0CA5ED: F0 03 BEQ CODE_0CA5F2 CODE_0CA5EF: 9D 05 0B STA.W $0B05,X CODE_0CA5F2: 8A TXA CODE_0CA5F3: 38 SEC CODE_0CA5F4: E9 03 SBC.B #$03 CODE_0CA5F6: A8 TAY CODE_0CA5F7: B9 DA A5 LDA.W DATA_0CA5DA,Y CODE_0CA5FA: 9D 14 0B STA.W $0B14,X CODE_0CA5FD: 20 21 A7 JSR.W CODE_0CA721 CODE_0CA600: 20 4F A7 JSR.W CODE_0CA74F CODE_0CA603: CA DEX CODE_0CA604: E0 02 CPX.B #$02 CODE_0CA606: D0 DD BNE CODE_0CA5E5 CODE_0CA608: AD 44 0B LDA.W $0B44 CODE_0CA60B: 29 F0 AND.B #$F0 CODE_0CA60D: C9 F0 CMP.B #$F0 CODE_0CA60F: D0 03 BNE CODE_0CA614 CODE_0CA611: 9C 5C 14 STZ.W $145C CODE_0CA614: A2 00 LDX.B #$00 CODE_0CA616: A0 06 LDY.B #$06 CODE_0CA618: B9 6E 0B LDA.W $0B6E,Y CODE_0CA61B: D0 38 BNE CODE_0CA655 CODE_0CA61D: B9 5F 0B LDA.W $0B5F,Y CODE_0CA620: D0 33 BNE CODE_0CA655 CODE_0CA622: B9 41 0B LDA.W $0B41,Y CODE_0CA625: C9 F0 CMP.B #$F0 CODE_0CA627: B0 2C BCS CODE_0CA655 CODE_0CA629: B9 50 0B LDA.W $0B50,Y CODE_0CA62C: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CA62F: B9 41 0B LDA.W $0B41,Y CODE_0CA632: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CA635: 5A PHY CODE_0CA636: 98 TYA CODE_0CA637: 38 SEC CODE_0CA638: E9 03 SBC.B #$03 CODE_0CA63A: A8 TAY CODE_0CA63B: B9 D2 A5 LDA.W DATA_0CA5D2,Y CODE_0CA63E: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CA641: B9 D6 A5 LDA.W DATA_0CA5D6,Y CODE_0CA644: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CA647: 7A PLY CODE_0CA648: DA PHX CODE_0CA649: 8A TXA CODE_0CA64A: 4A LSR CODE_0CA64B: 4A LSR CODE_0CA64C: AA TAX CODE_0CA64D: 9E 20 04 STZ.W $0420,X CODE_0CA650: FA PLX CODE_0CA651: E8 INX CODE_0CA652: E8 INX CODE_0CA653: E8 INX CODE_0CA654: E8 INX CODE_0CA655: 88 DEY CODE_0CA656: C0 02 CPY.B #$02 CODE_0CA658: D0 BE BNE CODE_0CA618 Return0CA65A: 60 RTS ; Return CODE_0CA65B: A2 02 LDX.B #$02 CODE_0CA65D: BD 14 0B LDA.W $0B14,X CODE_0CA660: 38 SEC CODE_0CA661: E9 04 SBC.B #$04 CODE_0CA663: 9D 14 0B STA.W $0B14,X CODE_0CA666: 20 4F A7 JSR.W CODE_0CA74F CODE_0CA669: BD 50 0B LDA.W $0B50,X CODE_0CA66C: C9 F8 CMP.B #$F8 CODE_0CA66E: 90 0A BCC CODE_0CA67A CODE_0CA670: EE 42 14 INC.W $1442 CODE_0CA673: A9 F0 LDA.B #$F0 CODE_0CA675: 8D 5D 14 STA.W $145D CODE_0CA678: A9 00 LDA.B #$00 CODE_0CA67A: 85 00 STA $00 CODE_0CA67C: 85 02 STA $02 CODE_0CA67E: 85 04 STA $04 CODE_0CA680: 64 01 STZ $01 CODE_0CA682: 64 03 STZ $03 CODE_0CA684: 64 05 STZ $05 CODE_0CA686: A9 3F LDA.B #$3F CODE_0CA688: 85 08 STA $08 CODE_0CA68A: 85 0A STA $0A CODE_0CA68C: A0 00 LDY.B #$00 CODE_0CA68E: A2 50 LDX.B #$50 CODE_0CA690: 20 59 A1 JSR.W CODE_0CA159 CODE_0CA693: CE 59 14 DEC.W $1459 CODE_0CA696: 10 14 BPL CODE_0CA6AC CODE_0CA698: A9 06 LDA.B #$06 CODE_0CA69A: 8D 59 14 STA.W $1459 CODE_0CA69D: CE 58 14 DEC.W $1458 CODE_0CA6A0: AD 58 14 LDA.W $1458 CODE_0CA6A3: C9 07 CMP.B #$07 CODE_0CA6A5: D0 05 BNE CODE_0CA6AC CODE_0CA6A7: A9 08 LDA.B #$08 CODE_0CA6A9: 8D 58 14 STA.W $1458 CODE_0CA6AC: 20 78 A4 JSR.W CODE_0CA478 Return0CA6AF: 60 RTS ; Return CODE_0CA6B0: 20 46 A1 JSR.W CODE_0CA146 CODE_0CA6B3: 20 15 A3 JSR.W CODE_0CA315 CODE_0CA6B6: 20 FC A2 JSR.W CODE_0CA2FC CODE_0CA6B9: A9 60 LDA.B #$60 CODE_0CA6BB: 85 96 STA RAM_MarioYPos CODE_0CA6BD: A9 01 LDA.B #$01 CODE_0CA6BF: 85 97 STA RAM_MarioYPosHi CODE_0CA6C1: 9C E2 18 STZ.W $18E2 CODE_0CA6C4: A9 26 LDA.B #$26 ; \ Mario's image = Peace Sign CODE_0CA6C6: 8D E0 13 STA.W MarioFrame ; / CODE_0CA6C9: 20 64 A7 JSR.W CODE_0CA764 CODE_0CA6CC: 20 B4 A7 JSR.W CODE_0CA7B4 CODE_0CA6CF: AC 58 14 LDY.W $1458 CODE_0CA6D2: B9 11 A3 LDA.W DATA_0CA311,Y CODE_0CA6D5: 0A ASL CODE_0CA6D6: A8 TAY CODE_0CA6D7: A5 E4 LDA RAM_SpriteXLo CODE_0CA6D9: 85 00 STA $00 CODE_0CA6DB: AD 42 0B LDA.W $0B42 CODE_0CA6DE: 85 02 STA $02 CODE_0CA6E0: A2 B4 LDX.B #$B4 CODE_0CA6E2: A9 01 LDA.B #$01 CODE_0CA6E4: 85 0E STA $0E CODE_0CA6E6: 20 15 AA JSR.W CODE_0CAA15 CODE_0CA6E9: 64 01 STZ $01 CODE_0CA6EB: AD 50 0B LDA.W $0B50 CODE_0CA6EE: 18 CLC CODE_0CA6EF: 69 10 ADC.B #$10 CODE_0CA6F1: 85 00 STA $00 CODE_0CA6F3: AD 6E 0B LDA.W $0B6E CODE_0CA6F6: 69 00 ADC.B #$00 CODE_0CA6F8: 85 01 STA $01 CODE_0CA6FA: A9 9F LDA.B #$9F CODE_0CA6FC: 85 02 STA $02 CODE_0CA6FE: A5 13 LDA RAM_FrameCounter CODE_0CA700: 29 08 AND.B #$08 CODE_0CA702: 4A LSR CODE_0CA703: 4A LSR CODE_0CA704: 4A LSR CODE_0CA705: 18 CLC CODE_0CA706: 69 05 ADC.B #$05 CODE_0CA708: 0A ASL CODE_0CA709: 0A ASL CODE_0CA70A: A8 TAY CODE_0CA70B: A2 A4 LDX.B #$A4 CODE_0CA70D: 20 21 A8 JSR.W CODE_0CA821 CODE_0CA710: CE 5D 14 DEC.W $145D CODE_0CA713: AD 5D 14 LDA.W $145D CODE_0CA716: D0 08 BNE Return0CA720 CODE_0CA718: EE 00 01 INC.W RAM_GameMode CODE_0CA71B: A9 40 LDA.B #$40 CODE_0CA71D: 8D 5B 14 STA.W $145B Return0CA720: 60 RTS ; Return CODE_0CA721: BD 05 0B LDA.W $0B05,X CODE_0CA724: 0A ASL CODE_0CA725: 0A ASL CODE_0CA726: 0A ASL CODE_0CA727: 0A ASL CODE_0CA728: 18 CLC CODE_0CA729: 7D 23 0B ADC.W $0B23,X CODE_0CA72C: 9D 23 0B STA.W $0B23,X CODE_0CA72F: 08 PHP CODE_0CA730: BD 05 0B LDA.W $0B05,X CODE_0CA733: 4A LSR CODE_0CA734: 4A LSR CODE_0CA735: 4A LSR CODE_0CA736: 4A LSR CODE_0CA737: C9 08 CMP.B #$08 CODE_0CA739: A0 00 LDY.B #$00 CODE_0CA73B: 90 03 BCC CODE_0CA740 CODE_0CA73D: 09 F0 ORA.B #$F0 CODE_0CA73F: 88 DEY CODE_0CA740: 28 PLP CODE_0CA741: 7D 41 0B ADC.W $0B41,X CODE_0CA744: 9D 41 0B STA.W $0B41,X CODE_0CA747: 98 TYA CODE_0CA748: 7D 5F 0B ADC.W $0B5F,X CODE_0CA74B: 9D 5F 0B STA.W $0B5F,X Return0CA74E: 60 RTS ; Return CODE_0CA74F: DA PHX CODE_0CA750: 8A TXA CODE_0CA751: 18 CLC CODE_0CA752: 69 0F ADC.B #$0F CODE_0CA754: AA TAX CODE_0CA755: 20 21 A7 JSR.W CODE_0CA721 CODE_0CA758: FA PLX Return0CA759: 60 RTS ; Return CODE_0CA75A: 8B PHB CODE_0CA75B: A9 00 LDA.B #$00 CODE_0CA75D: 48 PHA CODE_0CA75E: AB PLB CODE_0CA75F: 22 B1 CE 00 JSL.L CODE_00CEB1 CODE_0CA763: AB PLB CODE_0CA764: 9C F9 13 STZ.W RAM_IsBehindScenery CODE_0CA767: AD 96 14 LDA.W $1496 CODE_0CA76A: F0 03 BEQ CODE_0CA76F CODE_0CA76C: CE 96 14 DEC.W $1496 CODE_0CA76F: AD A2 14 LDA.W $14A2 CODE_0CA772: F0 03 BEQ Return0CA777 CODE_0CA774: CE A2 14 DEC.W $14A2 Return0CA777: 60 RTS ; Return CODE_0CA778: A2 00 LDX.B #$00 CODE_0CA77A: 8E E9 15 STX.W $15E9 CODE_0CA77D: A9 35 LDA.B #$35 CODE_0CA77F: 85 9E STA RAM_SpriteNum CODE_0CA781: AD 02 16 LDA.W $1602 CODE_0CA784: 48 PHA CODE_0CA785: 22 D2 F7 07 JSL.L InitSpriteTables CODE_0CA789: 68 PLA CODE_0CA78A: 8D 02 16 STA.W $1602 CODE_0CA78D: A9 02 LDA.B #$02 CODE_0CA78F: 85 C2 STA RAM_SpriteState CODE_0CA791: A9 01 LDA.B #$01 CODE_0CA793: 8D 7C 15 STA.W RAM_SpriteDir CODE_0CA796: AD 56 14 LDA.W $1456 CODE_0CA799: 18 CLC CODE_0CA79A: 69 38 ADC.B #$38 CODE_0CA79C: 8D 56 14 STA.W $1456 CODE_0CA79F: 90 0E BCC CODE_0CA7AF CODE_0CA7A1: AD 02 16 LDA.W $1602 CODE_0CA7A4: 1A INC A CODE_0CA7A5: 8D 02 16 STA.W $1602 CODE_0CA7A8: C9 03 CMP.B #$03 CODE_0CA7AA: 90 03 BCC CODE_0CA7AF CODE_0CA7AC: 9C 02 16 STZ.W $1602 CODE_0CA7AF: A9 01 LDA.B #$01 CODE_0CA7B1: 8D E2 18 STA.W $18E2 CODE_0CA7B4: 22 BD E2 00 JSL.L CODE_00E2BD Return0CA7B8: 60 RTS ; Return DATA_0CA7B9: .db $63 DATA_0CA7BA: .db $64,$68,$69,$63,$64,$68,$69,$4B .db $4C,$6B,$6C,$8A,$8B,$AA,$68,$8D .db $8E,$AD,$AE,$8A,$00,$AA,$44,$8A .db $0E,$AA,$2E,$81,$80,$A1,$A0,$84 .db $83,$A4,$A3,$87,$86,$A7,$A6,$80 .db $81,$A0,$A1,$83,$84,$A3,$A4,$86 .db $87,$A6,$A7 DATA_0CA7ED: .db $21 DATA_0CA7EE: .db $21,$21,$21,$21,$21,$21,$21,$21 .db $21,$21,$21,$21,$21,$21,$21,$20 .db $20,$20,$20,$21,$21,$21,$21,$21 .db $21,$21,$21,$78,$78,$78,$78,$78 .db $78,$78,$78,$78,$78,$78,$78,$34 .db $34,$34,$34,$34,$34,$34,$34,$34 .db $34,$34,$34 CODE_0CA821: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0CA823: 8A TXA CODE_0CA824: 29 FF 00 AND.W #$00FF CODE_0CA827: AA TAX CODE_0CA828: 98 TYA CODE_0CA829: 29 FF 00 AND.W #$00FF CODE_0CA82C: C9 28 00 CMP.W #$0028 CODE_0CA82F: 90 05 BCC CODE_0CA836 CODE_0CA831: 8A TXA CODE_0CA832: 09 00 01 ORA.W #$0100 CODE_0CA835: AA TAX CODE_0CA836: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CA838: A9 01 LDA.B #$01 CODE_0CA83A: 85 04 STA $04 CODE_0CA83C: A5 01 LDA $01 CODE_0CA83E: D0 60 BNE CODE_0CA8A0 CODE_0CA840: A9 02 LDA.B #$02 CODE_0CA842: 85 0A STA $0A CODE_0CA844: A5 00 LDA $00 CODE_0CA846: 9D 04 02 STA.W $0204,X CODE_0CA849: 18 CLC CODE_0CA84A: 69 08 ADC.B #$08 CODE_0CA84C: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CA84F: 90 04 BCC CODE_0CA855 CODE_0CA851: A9 01 LDA.B #$01 CODE_0CA853: 85 0A STA $0A CODE_0CA855: A5 02 LDA $02 CODE_0CA857: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CA85A: 9D 05 02 STA.W $0205,X CODE_0CA85D: B9 B9 A7 LDA.W DATA_0CA7B9,Y CODE_0CA860: 9D 06 02 STA.W $0206,X CODE_0CA863: B9 BA A7 LDA.W DATA_0CA7BA,Y CODE_0CA866: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CA869: B9 ED A7 LDA.W DATA_0CA7ED,Y CODE_0CA86C: 9D 07 02 STA.W $0207,X CODE_0CA86F: B9 EE A7 LDA.W DATA_0CA7EE,Y CODE_0CA872: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CA875: A5 02 LDA $02 CODE_0CA877: 18 CLC CODE_0CA878: 69 10 ADC.B #$10 CODE_0CA87A: 85 02 STA $02 CODE_0CA87C: DA PHX CODE_0CA87D: C2 20 REP #$20 ; Accum (16 bit) CODE_0CA87F: 8A TXA CODE_0CA880: 4A LSR CODE_0CA881: 4A LSR CODE_0CA882: AA TAX CODE_0CA883: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CA885: A9 02 LDA.B #$02 CODE_0CA887: 9D 21 04 STA.W $0421,X CODE_0CA88A: A5 0A LDA $0A CODE_0CA88C: 9D 20 04 STA.W $0420,X CODE_0CA88F: FA PLX CODE_0CA890: C2 20 REP #$20 ; Accum (16 bit) CODE_0CA892: 8A TXA CODE_0CA893: 18 CLC CODE_0CA894: 69 08 00 ADC.W #$0008 CODE_0CA897: AA TAX CODE_0CA898: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CA89A: C8 INY CODE_0CA89B: C8 INY CODE_0CA89C: C6 04 DEC $04 CODE_0CA89E: 10 9C BPL CODE_0CA83C CODE_0CA8A0: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return0CA8A2: 60 RTS ; Return CODE_0CA8A3: A2 0D LDX.B #$0D CODE_0CA8A5: BD 05 0B LDA.W $0B05,X CODE_0CA8A8: 18 CLC CODE_0CA8A9: 7D F6 0A ADC.W $0AF6,X CODE_0CA8AC: 9D 05 0B STA.W $0B05,X CODE_0CA8AF: 20 21 A7 JSR.W CODE_0CA721 CODE_0CA8B2: BD 41 0B LDA.W $0B41,X CODE_0CA8B5: C5 0E CMP $0E CODE_0CA8B7: 90 12 BCC CODE_0CA8CB CODE_0CA8B9: 9E 23 0B STZ.W $0B23,X CODE_0CA8BC: A9 F6 LDA.B #$F6 CODE_0CA8BE: 9D 05 0B STA.W $0B05,X CODE_0CA8C1: A9 01 LDA.B #$01 CODE_0CA8C3: 9D F6 0A STA.W $0AF6,X CODE_0CA8C6: A5 0E LDA $0E CODE_0CA8C8: 9D 41 0B STA.W $0B41,X CODE_0CA8CB: CA DEX CODE_0CA8CC: E0 06 CPX.B #$06 CODE_0CA8CE: D0 D5 BNE CODE_0CA8A5 Return0CA8D0: 60 RTS ; Return DATA_0CA8D1: .db $00,$10,$20,$30,$40,$50,$60 DATA_0CA8D8: .db $68,$26,$24,$6A,$28,$64,$26 CODE_0CA8DF: AD 5A 14 LDA.W $145A CODE_0CA8E2: 85 0E STA $0E CODE_0CA8E4: A0 0D LDY.B #$0D CODE_0CA8E6: B9 6E 0B LDA.W $0B6E,Y CODE_0CA8E9: D0 49 BNE CODE_0CA934 CODE_0CA8EB: B9 50 0B LDA.W $0B50,Y CODE_0CA8EE: 85 00 STA $00 CODE_0CA8F0: B9 41 0B LDA.W $0B41,Y CODE_0CA8F3: 85 01 STA $01 CODE_0CA8F5: A6 02 LDX $02 CODE_0CA8F7: A5 00 LDA $00 CODE_0CA8F9: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CA8FC: A5 01 LDA $01 CODE_0CA8FE: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CA901: 46 0E LSR $0E CODE_0CA903: B0 0C BCS CODE_0CA911 CODE_0CA905: A9 86 LDA.B #$86 CODE_0CA907: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CA90A: A9 21 LDA.B #$21 CODE_0CA90C: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CA90F: 80 12 BRA CODE_0CA923 CODE_0CA911: 5A PHY CODE_0CA912: 98 TYA CODE_0CA913: 38 SEC CODE_0CA914: E9 07 SBC.B #$07 CODE_0CA916: A8 TAY CODE_0CA917: A9 EA LDA.B #$EA CODE_0CA919: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CA91C: B9 D8 A8 LDA.W DATA_0CA8D8,Y CODE_0CA91F: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CA922: 7A PLY CODE_0CA923: 8A TXA CODE_0CA924: 4A LSR CODE_0CA925: 4A LSR CODE_0CA926: AA TAX CODE_0CA927: A9 02 LDA.B #$02 CODE_0CA929: 9D 20 04 STA.W $0420,X CODE_0CA92C: E6 02 INC $02 CODE_0CA92E: E6 02 INC $02 CODE_0CA930: E6 02 INC $02 CODE_0CA932: E6 02 INC $02 CODE_0CA934: 88 DEY CODE_0CA935: C0 06 CPY.B #$06 CODE_0CA937: D0 AD BNE CODE_0CA8E6 Return0CA939: 60 RTS ; Return DATA_0CA93A: .db $BB DATA_0CA93B: .db $B9,$DC,$DB,$DA,$D9,$8B,$89,$AC .db $AB,$AA,$A9,$B9,$BB,$D9,$DA,$DB .db $DC,$89,$8B,$A9,$AA,$AB,$AC DATA_0CA952: .db $78 DATA_0CA953: .db $78,$78,$78,$78,$78,$78,$78,$78 .db $78,$78,$78,$34,$34,$34,$34,$34 .db $34,$34,$34,$34,$34,$34,$34 DATA_0CA96A: .db $00 DATA_0CA96B: .db $10,$00,$08,$10,$18,$00,$10,$00 .db $08,$10,$18,$00,$10,$00,$08,$10 .db $18,$00,$10,$00,$08,$10,$18 DATA_0CA982: .db $00 DATA_0CA983: .db $00,$10,$10,$10,$10,$00,$00,$10 .db $10,$10,$10,$00,$00,$10,$10,$10 .db $10,$00,$00,$10,$10,$10,$10 DATA_0CA99A: .db $00,$06,$0C,$12 CODE_0CA99E: 98 TYA CODE_0CA99F: 4A LSR CODE_0CA9A0: 4A LSR CODE_0CA9A1: A8 TAY CODE_0CA9A2: B9 9A A9 LDA.W DATA_0CA99A,Y CODE_0CA9A5: A8 TAY CODE_0CA9A6: A9 02 LDA.B #$02 CODE_0CA9A8: 85 04 STA $04 CODE_0CA9AA: B9 6A A9 LDA.W DATA_0CA96A,Y CODE_0CA9AD: 18 CLC CODE_0CA9AE: 65 00 ADC $00 CODE_0CA9B0: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CA9B3: B9 6B A9 LDA.W DATA_0CA96B,Y CODE_0CA9B6: 18 CLC CODE_0CA9B7: 65 00 ADC $00 CODE_0CA9B9: 9D 04 02 STA.W $0204,X CODE_0CA9BC: B9 82 A9 LDA.W DATA_0CA982,Y CODE_0CA9BF: 18 CLC CODE_0CA9C0: 65 02 ADC $02 CODE_0CA9C2: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CA9C5: B9 83 A9 LDA.W DATA_0CA983,Y CODE_0CA9C8: 18 CLC CODE_0CA9C9: 65 02 ADC $02 CODE_0CA9CB: 9D 05 02 STA.W $0205,X CODE_0CA9CE: B9 3A A9 LDA.W DATA_0CA93A,Y CODE_0CA9D1: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CA9D4: B9 3B A9 LDA.W DATA_0CA93B,Y CODE_0CA9D7: 9D 06 02 STA.W $0206,X CODE_0CA9DA: B9 52 A9 LDA.W DATA_0CA952,Y CODE_0CA9DD: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CA9E0: B9 53 A9 LDA.W DATA_0CA953,Y CODE_0CA9E3: 9D 07 02 STA.W $0207,X CODE_0CA9E6: 5A PHY CODE_0CA9E7: DA PHX CODE_0CA9E8: 8A TXA CODE_0CA9E9: 4A LSR CODE_0CA9EA: 4A LSR CODE_0CA9EB: AA TAX CODE_0CA9EC: A0 02 LDY.B #$02 CODE_0CA9EE: A5 04 LDA $04 CODE_0CA9F0: 29 02 AND.B #$02 CODE_0CA9F2: D0 02 BNE CODE_0CA9F6 CODE_0CA9F4: A0 00 LDY.B #$00 CODE_0CA9F6: 98 TYA CODE_0CA9F7: 9D 20 04 STA.W $0420,X CODE_0CA9FA: 9D 21 04 STA.W $0421,X CODE_0CA9FD: FA PLX CODE_0CA9FE: 7A PLY CODE_0CA9FF: 8A TXA CODE_0CAA00: 18 CLC CODE_0CAA01: 69 08 ADC.B #$08 CODE_0CAA03: AA TAX CODE_0CAA04: C8 INY CODE_0CAA05: C8 INY CODE_0CAA06: C6 04 DEC $04 CODE_0CAA08: 10 A0 BPL CODE_0CA9AA Return0CAA0A: 60 RTS ; Return DATA_0CAA0B: .db $C4 DATA_0CAA0C: .db $E4,$E6,$E8,$CE,$EE DATA_0CAA11: .db $36 DATA_0CAA12: .db $36,$3A,$3A CODE_0CAA15: 5A PHY CODE_0CAA16: A5 0E LDA $0E CODE_0CAA18: 0A ASL CODE_0CAA19: A8 TAY CODE_0CAA1A: B9 11 AA LDA.W DATA_0CAA11,Y CODE_0CAA1D: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CAA20: B9 12 AA LDA.W DATA_0CAA12,Y CODE_0CAA23: 9D 07 02 STA.W $0207,X CODE_0CAA26: 7A PLY CODE_0CAA27: A5 00 LDA $00 CODE_0CAA29: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CAA2C: 9D 04 02 STA.W $0204,X CODE_0CAA2F: A5 02 LDA $02 CODE_0CAA31: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CAA34: 18 CLC CODE_0CAA35: 69 10 ADC.B #$10 CODE_0CAA37: 9D 05 02 STA.W $0205,X CODE_0CAA3A: B9 0B AA LDA.W DATA_0CAA0B,Y CODE_0CAA3D: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CAA40: B9 0C AA LDA.W DATA_0CAA0C,Y CODE_0CAA43: 9D 06 02 STA.W $0206,X CODE_0CAA46: 8A TXA CODE_0CAA47: 4A LSR CODE_0CAA48: 4A LSR CODE_0CAA49: AA TAX CODE_0CAA4A: A9 02 LDA.B #$02 CODE_0CAA4C: 9D 20 04 STA.W $0420,X CODE_0CAA4F: 9D 21 04 STA.W $0421,X Return0CAA52: 60 RTS ; Return DATA_0CAA53: .db $53 DATA_0CAA54: .db $6A DATA_0CAA55: .db $80 DATA_0CAA56: .db $3C,$63,$6A,$82,$3C,$53,$7A,$A0 .db $3C,$63,$7A,$A2,$3C,$53,$8A,$84 .db $3C,$63,$8A,$86,$3C,$53,$9A,$A4 .db $3C,$63,$9A,$A6,$3C,$53,$AA,$88 .db $3C,$63,$AA,$8A,$3C,$8D,$5A,$A8 .db $3A,$9D,$5A,$AA,$3A,$8D,$6A,$8C .db $3A,$9D,$6A,$8E,$3A,$8D,$7A,$AC .db $3A,$9D,$7A,$AE,$3A,$8D,$8A,$63 .db $3A,$9D,$8A,$65,$3A,$8D,$9A,$48 .db $3A,$9D,$9A,$68,$3A,$8D,$AA,$6B .db $3A,$9D,$AA,$6D,$3A,$78,$58,$4D .db $3E,$70,$68,$E0,$3F,$80,$68,$C4 .db $3F,$70,$78,$4A,$3F,$80,$78,$4C .db $3F,$70,$88,$6A,$3F,$80,$88,$6C .db $3F,$68,$98,$AB,$3F,$78,$98,$C8 .db $3F,$88,$98,$E6,$3F,$68,$A8,$E8 .db $3F,$78,$A8,$EA,$3F,$88,$A8,$EC .db $3F CODE_0CAADF: 8B PHB CODE_0CAAE0: 4B PHK CODE_0CAAE1: AB PLB CODE_0CAAE2: A2 00 LDX.B #$00 CODE_0CAAE4: 9B TXY CODE_0CAAE5: B9 53 AA LDA.W DATA_0CAA53,Y CODE_0CAAE8: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CAAEB: B9 54 AA LDA.W DATA_0CAA54,Y CODE_0CAAEE: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CAAF1: B9 55 AA LDA.W DATA_0CAA55,Y CODE_0CAAF4: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CAAF7: B9 56 AA LDA.W DATA_0CAA56,Y CODE_0CAAFA: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CAAFD: DA PHX CODE_0CAAFE: 8A TXA CODE_0CAAFF: 4A LSR CODE_0CAB00: 4A LSR CODE_0CAB01: AA TAX CODE_0CAB02: A9 02 LDA.B #$02 CODE_0CAB04: 9D 20 04 STA.W $0420,X CODE_0CAB07: FA PLX CODE_0CAB08: E8 INX CODE_0CAB09: E8 INX CODE_0CAB0A: E8 INX CODE_0CAB0B: E8 INX CODE_0CAB0C: 9B TXY CODE_0CAB0D: C0 8C CPY.B #$8C CODE_0CAB0F: D0 D4 BNE CODE_0CAAE5 CODE_0CAB11: AB PLB Return0CAB12: 6B RTL ; Return CODE_0CAB13: 8B PHB ; Wrapper CODE_0CAB14: 4B PHK CODE_0CAB15: AB PLB CODE_0CAB16: 20 1F AB JSR.W CODE_0CAB1F CODE_0CAB19: AB PLB Return0CAB1A: 6B RTL ; Return DATA_0CAB1B: .db $FE,$02 DATA_0CAB1D: .db $00,$E0 CODE_0CAB1F: AE 88 1B LDX.W $1B88 CODE_0CAB22: A9 33 LDA.B #$33 CODE_0CAB24: 85 41 STA $41 CODE_0CAB26: AC 28 19 LDY.W $1928 CODE_0CAB29: D0 04 BNE CODE_0CAB2F CODE_0CAB2B: E0 00 CPX.B #$00 CODE_0CAB2D: F0 0C BEQ CODE_0CAB3B CODE_0CAB2F: C0 06 CPY.B #$06 CODE_0CAB31: 90 06 BCC CODE_0CAB39 CODE_0CAB33: D0 06 BNE CODE_0CAB3B CODE_0CAB35: E0 00 CPX.B #$00 CODE_0CAB37: D0 02 BNE CODE_0CAB3B CODE_0CAB39: A9 30 LDA.B #$30 CODE_0CAB3B: 85 43 STA $43 CODE_0CAB3D: AD 89 1B LDA.W $1B89 CODE_0CAB40: DD 1D AB CMP.W DATA_0CAB1D,X CODE_0CAB43: D0 1F BNE CODE_0CAB64 CODE_0CAB45: E0 00 CPX.B #$00 CODE_0CAB47: F0 22 BEQ CODE_0CAB6B CODE_0CAB49: A2 00 LDX.B #$00 CODE_0CAB4B: 8E 88 1B STX.W $1B88 CODE_0CAB4E: C0 06 CPY.B #$06 CODE_0CAB50: 90 05 BCC CODE_0CAB57 CODE_0CAB52: EE 00 01 INC.W RAM_GameMode CODE_0CAB55: 80 14 BRA CODE_0CAB6B CODE_0CAB57: 48 PHA CODE_0CAB58: DA PHX CODE_0CAB59: EE FE 1F INC.W $1FFE CODE_0CAB5C: EE 28 19 INC.W $1928 CODE_0CAB5F: 20 B2 AB JSR.W CODE_0CABB2 CODE_0CAB62: FA PLX CODE_0CAB63: 68 PLA CODE_0CAB64: 18 CLC CODE_0CAB65: 7D 1B AB ADC.W DATA_0CAB1B,X CODE_0CAB68: 8D 89 1B STA.W $1B89 CODE_0CAB6B: C2 20 REP #$20 ; Accum (16 bit) CODE_0CAB6D: A2 00 LDX.B #$00 CODE_0CAB6F: A0 E0 LDY.B #$E0 CODE_0CAB71: A9 FF 00 LDA.W #$00FF CODE_0CAB74: EC 89 1B CPX.W $1B89 CODE_0CAB77: 90 03 BCC CODE_0CAB7C CODE_0CAB79: A9 00 FF LDA.W #$FF00 CODE_0CAB7C: 9D A0 04 STA.W $04A0,X CODE_0CAB7F: 99 7E 05 STA.W $057E,Y CODE_0CAB82: E8 INX CODE_0CAB83: E8 INX CODE_0CAB84: 88 DEY CODE_0CAB85: 88 DEY CODE_0CAB86: D0 EC BNE CODE_0CAB74 CODE_0CAB88: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CAB8A: A9 13 LDA.B #$13 CODE_0CAB8C: 8D 2E 21 STA.W $212E ; Window Mask Designation for Main Screen CODE_0CAB8F: 8D 2F 21 STA.W $212F ; Window Mask Designation for Sub Screen CODE_0CAB92: A9 22 LDA.B #$22 CODE_0CAB94: 85 44 STA $44 CODE_0CAB96: A9 80 LDA.B #$80 CODE_0CAB98: 8D 9F 0D STA.W $0D9F Return0CAB9B: 60 RTS ; Return DATA_0CAB9C: .db $00,$18,$30,$48,$60,$78,$90,$A8 DATA_0CABA4: .db $06,$00,$00,$02,$05,$06,$00 DATA_0CABAB: .db $03,$03,$07,$00,$01,$02,$00 CODE_0CABB2: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0CABB4: A9 0C LDA.B #$0C CODE_0CABB6: 8D 82 06 STA.W $0682 CODE_0CABB9: 8D 90 06 STA.W $0690 CODE_0CABBC: A9 02 LDA.B #$02 CODE_0CABBE: 8D 83 06 STA.W $0683 CODE_0CABC1: A9 12 LDA.B #$12 CODE_0CABC3: 8D 91 06 STA.W $0691 CODE_0CABC6: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0CABC8: AD 28 19 LDA.W $1928 CODE_0CABCB: 29 FF 00 AND.W #$00FF CODE_0CABCE: A8 TAY CODE_0CABCF: B9 A4 AB LDA.W DATA_0CABA4,Y CODE_0CABD2: 29 0F 00 AND.W #$000F CODE_0CABD5: 0A ASL CODE_0CABD6: AA TAX CODE_0CABD7: BF A0 B0 00 LDA.L Palettes?,X CODE_0CABDB: 8D 01 07 STA.W $0701 CODE_0CABDE: A9 B0 B0 LDA.W #$B0B0 CODE_0CABE1: 85 00 STA $00 CODE_0CABE3: B9 AB AB LDA.W DATA_0CABAB,Y CODE_0CABE6: 29 0F 00 AND.W #$000F CODE_0CABE9: AA TAX CODE_0CABEA: BD 9C AB LDA.W DATA_0CAB9C,X CODE_0CABED: 29 FF 00 AND.W #$00FF CODE_0CABF0: 18 CLC CODE_0CABF1: 65 00 ADC $00 CODE_0CABF3: 85 00 STA $00 CODE_0CABF5: 64 02 STZ $02 CODE_0CABF7: A9 00 00 LDA.W #$0000 CODE_0CABFA: 85 04 STA $04 CODE_0CABFC: A9 01 00 LDA.W #$0001 CODE_0CABFF: 85 08 STA $08 CODE_0CAC01: A6 04 LDX $04 CODE_0CAC03: A0 05 00 LDY.W #$0005 CODE_0CAC06: A7 00 LDA [$00] CODE_0CAC08: 9D 84 06 STA.W $0684,X CODE_0CAC0B: E6 00 INC $00 CODE_0CAC0D: E6 00 INC $00 CODE_0CAC0F: E8 INX CODE_0CAC10: E8 INX CODE_0CAC11: 88 DEY CODE_0CAC12: 10 F2 BPL CODE_0CAC06 CODE_0CAC14: A5 04 LDA $04 CODE_0CAC16: 18 CLC CODE_0CAC17: 69 0E 00 ADC.W #$000E CODE_0CAC1A: 85 04 STA $04 CODE_0CAC1C: C6 08 DEC $08 CODE_0CAC1E: 10 E1 BPL CODE_0CAC01 CODE_0CAC20: A9 00 00 LDA.W #$0000 CODE_0CAC23: 9D 84 06 STA.W $0684,X CODE_0CAC26: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) Return0CAC28: 60 RTS ; Return DATA_0CAC29: .db $E0,$00,$00,$00,$00,$26,$2B,$41 .db $0A,$F4,$10,$26,$3B,$51,$2B,$37 .db $00,$2C,$40,$3F,$FF,$00,$20,$05 .db $01,$00,$26,$3A,$57,$26,$4B,$54 .db $0C,$F3,$30,$2C,$38,$33,$2C,$49 .db $36,$FF,$40,$40,$05,$00,$00,$04 .db $92,$02,$26,$4B,$94,$28,$49,$71 .db $26,$3A,$1B,$27,$40,$53,$27,$34 .db $58,$28,$38,$57,$2B,$16,$10,$2D .db $40,$27,$2D,$38,$25,$FF,$20,$C0 .db $08,$07,$07,$05,$96,$01,$23,$2C .db $21,$23,$3C,$C1,$26,$3A,$60,$07 .db $6B,$90,$2B,$32,$47,$2B,$43,$40 .db $2B,$34,$48,$2D,$38,$27,$2D,$49 .db $21,$2D,$3B,$28,$FF,$00,$20,$0A .db $01,$00,$23,$2C,$21,$23,$3C,$81 .db $26,$3A,$50,$07,$6B,$40,$25,$23 .db $10,$25,$34,$11,$27,$31,$40,$08 .db $62,$31,$27,$34,$47,$27,$45,$40 .db $27,$36,$48,$2C,$40,$3F,$FF,$C0 .db $60,$03,$22,$03,$21,$26,$46,$6C .db $A6,$39,$64,$61,$12,$6A,$60,$55 .db $FF,$80,$40,$04,$1A,$09,$60,$68 .db $24,$65,$68,$14,$08,$0B,$7F,$09 .db $08,$7F,$6C,$60,$33,$FF,$60,$40 .db $07,$2C,$05,$65,$83,$09,$6A,$8A .db $02,$66,$94,$91,$66,$99,$91,$6B .db $9B,$71,$FF,$C0,$80,$01,$0B,$01 .db $60,$C8,$22,$63,$CD,$42,$64,$C1 .db $24,$65,$C6,$21,$65,$CA,$22,$69 .db $C3,$11,$6B,$CA,$24,$FF,$60,$A0 .db $01,$0B,$01,$60,$C3,$22,$64,$C9 .db $23,$69,$C1,$42,$2A,$84,$3B,$FF .db $C0,$20,$01,$13,$01,$29,$C0,$0F .db $2C,$A0,$3F,$FF,$A0,$60,$0C,$0B .db $01,$28,$40,$76,$28,$37,$75,$29 .db $A8,$61,$28,$3A,$73,$28,$4B,$74 .db $FF,$01,$60,$00,$20,$01,$FF DATA_0CAD58: .db $29,$AC,$3E,$AC,$53,$AC,$77,$AC .db $9E,$AC,$C8,$AC,$DA,$AC,$EF,$AC .db $04,$AD,$1F,$AD,$31,$AD,$3D,$AD .db $52,$AD DATA_0CAD72: .db $82,$EC,$44,$DD,$59,$DF,$00,$D9 .db $54,$DE,$FE,$E8,$B9,$DA,$80,$EF .db $5A,$F4,$03,$E1,$5A,$F4,$03,$E1 .db $52,$AD CODE_0CAD8C: 8B PHB CODE_0CAD8D: 4B PHK CODE_0CAD8E: AB PLB CODE_0CAD8F: EE E9 1D INC.W $1DE9 CODE_0CAD92: A2 FF LDX.B #$FF CODE_0CAD94: AD E9 1D LDA.W $1DE9 CODE_0CAD97: C9 0C CMP.B #$0C CODE_0CAD99: D0 02 BNE CODE_0CAD9D CODE_0CAD9B: A2 0C LDX.B #$0C CODE_0CAD9D: 0A ASL CODE_0CAD9E: A8 TAY CODE_0CAD9F: A9 0C LDA.B #$0C CODE_0CADA1: 85 67 STA $67 CODE_0CADA3: 86 6A STX $6A CODE_0CADA5: C2 20 REP #$20 ; Accum (16 bit) CODE_0CADA7: B9 58 AD LDA.W DATA_0CAD58,Y CODE_0CADAA: 85 65 STA $65 CODE_0CADAC: B9 72 AD LDA.W DATA_0CAD72,Y CODE_0CADAF: 85 68 STA $68 CODE_0CADB1: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CADB3: AB PLB Return0CADB4: 6B RTL ; Return DATA_0CADB5: .db $28,$28,$44,$28,$38,$20,$28,$20 .db $08,$28,$7C,$68,$28 DATA_0CADC2: .db $00,$00,$88,$00,$E0,$00,$C0,$00 .db $E8,$00,$00,$00,$A0,$00,$50,$00 .db $B0,$00,$E0,$00,$18,$00,$E0,$00 .db $00,$00 DATA_0CADDC: .db $49 DATA_0CADDD: .db $FE,$4B,$FE,$5F,$FE,$71,$FE,$73 .db $FE,$8F,$FE,$91,$FE,$93,$FE,$95 .db $FE,$97,$FE,$99,$FE,$9B,$FE,$9D .db $FE CODE_0CADF6: 8B PHB CODE_0CADF7: 4B PHK CODE_0CADF8: AB PLB CODE_0CADF9: AD E9 1D LDA.W $1DE9 CODE_0CADFC: A8 TAY CODE_0CADFD: 0A ASL CODE_0CADFE: AA TAX CODE_0CADFF: 18 CLC CODE_0CAE00: 6D E9 1D ADC.W $1DE9 CODE_0CAE03: 18 CLC CODE_0CAE04: 69 D8 ADC.B #$D8 CODE_0CAE06: 85 12 STA $12 CODE_0CAE08: 5A PHY CODE_0CAE09: DA PHX CODE_0CAE0A: 22 C8 84 00 JSL.L CODE_0084C8 CODE_0CAE0E: AD EB 1E LDA.W $1EEB CODE_0CAE11: 10 35 BPL CODE_0CAE48 CODE_0CAE13: AD E9 1D LDA.W $1DE9 CODE_0CAE16: 0A ASL CODE_0CAE17: A8 TAY CODE_0CAE18: B9 DC AD LDA.W DATA_0CADDC,Y CODE_0CAE1B: 8D 00 00 STA.W $0000 CODE_0CAE1E: B9 DD AD LDA.W DATA_0CADDD,Y CODE_0CAE21: 8D 01 00 STA.W $0001 CODE_0CAE24: A9 0D LDA.B #$0D CODE_0CAE26: 8D 02 00 STA.W $0002 CODE_0CAE29: A0 00 LDY.B #$00 CODE_0CAE2B: AF 7B 83 7F LDA.L $7F837B CODE_0CAE2F: AA TAX CODE_0CAE30: C2 20 REP #$20 ; Accum (16 bit) CODE_0CAE32: B7 00 LDA [$00],Y CODE_0CAE34: 9F 7D 83 7F STA.L $7F837D,X CODE_0CAE38: C8 INY CODE_0CAE39: C8 INY CODE_0CAE3A: E8 INX CODE_0CAE3B: E8 INX CODE_0CAE3C: C9 FF FF CMP.W #$FFFF CODE_0CAE3F: D0 EF BNE CODE_0CAE30 CODE_0CAE41: 8A TXA CODE_0CAE42: 8F 7B 83 7F STA.L $7F837B CODE_0CAE46: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CAE48: FA PLX CODE_0CAE49: 7A PLY CODE_0CAE4A: B9 B5 AD LDA.W DATA_0CADB5,Y CODE_0CAE4D: 8D A3 04 STA.W $04A3 CODE_0CAE50: 8D AD 04 STA.W $04AD CODE_0CAE53: 8D B7 04 STA.W $04B7 CODE_0CAE56: A9 88 LDA.B #$88 CODE_0CAE58: 38 SEC CODE_0CAE59: F9 B5 AD SBC.W DATA_0CADB5,Y CODE_0CAE5C: 8D A6 04 STA.W $04A6 CODE_0CAE5F: 8D B0 04 STA.W $04B0 CODE_0CAE62: 8D BA 04 STA.W $04BA CODE_0CAE65: C2 20 REP #$20 ; Accum (16 bit) CODE_0CAE67: BD C2 AD LDA.W DATA_0CADC2,X CODE_0CAE6A: 85 20 STA $20 CODE_0CAE6C: AD E9 1D LDA.W $1DE9 CODE_0CAE6F: 29 FF 00 AND.W #$00FF CODE_0CAE72: C9 0C 00 CMP.W #$000C CODE_0CAE75: D0 11 BNE CODE_0CAE88 CODE_0CAE77: 64 1A STZ RAM_ScreenBndryXLo CODE_0CAE79: 64 1E STZ $1E CODE_0CAE7B: 64 22 STZ $22 CODE_0CAE7D: 9C 62 14 STZ.W $1462 CODE_0CAE80: 9C 66 14 STZ.W $1466 CODE_0CAE83: 9C 6A 14 STZ.W $146A CODE_0CAE86: 80 1B BRA CODE_0CAEA3 CODE_0CAE88: A9 00 FF LDA.W #$FF00 CODE_0CAE8B: 85 1A STA RAM_ScreenBndryXLo CODE_0CAE8D: 85 22 STA $22 CODE_0CAE8F: A9 00 01 LDA.W #$0100 CODE_0CAE92: 8D 62 14 STA.W $1462 CODE_0CAE95: 8D 6A 14 STA.W $146A CODE_0CAE98: A9 80 FF LDA.W #$FF80 CODE_0CAE9B: 85 1E STA $1E CODE_0CAE9D: A9 80 00 LDA.W #$0080 CODE_0CAEA0: 8D 66 14 STA.W $1466 CODE_0CAEA3: A9 FF 00 LDA.W #$00FF CODE_0CAEA6: 8D 5B 14 STA.W $145B CODE_0CAEA9: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CAEAB: AB PLB Return0CAEAC: 6B RTL ; Return CODE_0CAEAD: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CAEAF: AD E9 1D LDA.W $1DE9 CODE_0CAEB2: C9 0C CMP.B #$0C CODE_0CAEB4: D0 06 BNE CODE_0CAEBC CODE_0CAEB6: CE 5B 14 DEC.W $145B CODE_0CAEB9: 4C F8 AE JMP.W CODE_0CAEF8 CODE_0CAEBC: C2 20 REP #$20 ; Accum (16 bit) CODE_0CAEBE: A5 1A LDA RAM_ScreenBndryXLo CODE_0CAEC0: CD 62 14 CMP.W $1462 CODE_0CAEC3: D0 0B BNE CODE_0CAED0 CODE_0CAEC5: AD 5B 14 LDA.W $145B CODE_0CAEC8: F0 06 BEQ CODE_0CAED0 CODE_0CAECA: CE 5B 14 DEC.W $145B CODE_0CAECD: 4C 0C AF JMP.W CODE_0CAF0C CODE_0CAED0: A5 1A LDA RAM_ScreenBndryXLo CODE_0CAED2: 18 CLC CODE_0CAED3: 69 02 00 ADC.W #$0002 CODE_0CAED6: 85 1A STA RAM_ScreenBndryXLo CODE_0CAED8: 85 22 STA $22 CODE_0CAEDA: AD 62 14 LDA.W $1462 CODE_0CAEDD: 38 SEC CODE_0CAEDE: E9 02 00 SBC.W #$0002 CODE_0CAEE1: 8D 62 14 STA.W $1462 CODE_0CAEE4: 8D 6A 14 STA.W $146A CODE_0CAEE7: E6 1E INC $1E CODE_0CAEE9: CE 66 14 DEC.W $1466 CODE_0CAEEC: A5 1A LDA RAM_ScreenBndryXLo CODE_0CAEEE: 2D 62 14 AND.W $1462 CODE_0CAEF1: 29 FF 00 AND.W #$00FF CODE_0CAEF4: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CAEF6: D0 14 BNE CODE_0CAF0C CODE_0CAEF8: AD 5B 14 LDA.W $145B CODE_0CAEFB: D0 0F BNE CODE_0CAF0C CODE_0CAEFD: EE 00 01 INC.W RAM_GameMode CODE_0CAF00: AD E9 1D LDA.W $1DE9 CODE_0CAF03: C9 0C CMP.B #$0C CODE_0CAF05: F0 05 BEQ CODE_0CAF0C CODE_0CAF07: A9 22 LDA.B #$22 CODE_0CAF09: 8D 00 01 STA.W RAM_GameMode CODE_0CAF0C: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CAF0E: 4C BC B5 JMP.W CODE_0CB5BC DATA_0CAF11: .db $29 DATA_0CAF12: .db $3C DATA_0CAF13: .db $C2 DATA_0CAF14: .db $5F,$39,$3C,$C0,$5F,$5B,$34,$88 .db $59,$5B,$40,$8A,$55,$29,$4C,$E2 .db $5F,$39,$4C,$E0,$5F,$5B,$4C,$8C .db $55,$5B,$58,$8E,$55,$5C,$60,$C6 .db $1F,$60,$A0,$82,$34,$60,$B0,$A2 .db $34,$A0,$B0,$A4,$38,$80,$A0,$82 .db $36,$C0,$A0,$82,$78,$80,$B0,$A0 .db $36,$C0,$B0,$A2,$7A,$A0,$A0,$84 .db $38,$FF,$92,$A3,$A2,$35,$A2,$A3 .db $A4,$35,$80,$A9,$D7,$25,$86,$AC .db $D6,$25,$B5,$AF,$C7,$25,$BD,$B2 .db $C6,$25,$92,$B3,$E6,$35,$A2,$B3 .db $C8,$35,$B2,$B3,$A6,$35,$63,$B4 .db $E0,$33,$73,$B4,$E0,$33,$83,$B4 .db $E0,$33,$93,$B4,$E0,$33,$17,$2F .db $8C,$19,$37,$37,$8E,$19,$3F,$47 .db $AA,$19,$1F,$5F,$EC,$99,$38,$8F .db $80,$3D,$50,$8F,$82,$7D,$90,$3C .db $AE,$1B,$A6,$45,$AE,$1B,$78,$54 .db $C0,$1B,$FF,$43,$1E,$82,$5D,$30 .db $22,$64,$5D,$72,$23,$0A,$15,$27 .db $30,$66,$5D,$AD,$40,$AA,$1D,$84 .db $6A,$8E,$33,$8C,$6A,$8E,$73,$84 .db $7A,$AE,$33,$8C,$7A,$AE,$73,$BC .db $92,$A2,$23,$C4,$92,$A2,$63,$BC .db $9A,$B2,$23,$C4,$9A,$B2,$63,$48 .db $93,$0C,$35,$58,$93,$0E,$35,$50 .db $9A,$09,$25,$48,$A3,$0E,$F5,$58 .db $A3,$0C,$F5,$FF,$6B,$67,$41,$5B .db $73,$67,$40,$5B,$A6,$67,$40,$1B .db $AE,$67,$41,$1B,$57,$6E,$72,$0B .db $66,$6E,$71,$4B,$BB,$6E,$70,$0B .db $42,$6F,$00,$1B,$4A,$6F,$01,$1B .db $6B,$6F,$51,$5B,$AE,$6F,$0A,$1B .db $7B,$77,$60,$4B,$A6,$77,$60,$0B .db $FF,$20,$37,$6D,$57,$38,$37,$5A .db $07,$40,$37,$4A,$07,$30,$3F,$46 .db $17,$40,$3F,$48,$17,$20,$47,$C6 .db $56,$50,$47,$C6,$16,$30,$4F,$2E .db $12,$40,$4F,$2E,$12,$90,$9C,$B6 .db $29,$99,$9C,$B6,$29,$86,$A0,$B6 .db $29,$A3,$A0,$B6,$29,$CB,$A4,$06 .db $77,$C0,$A7,$1D,$67,$C8,$A7,$1C .db $67,$88,$AF,$CE,$3B,$90,$AF,$E2 .db $29,$98,$AF,$E3,$29,$98,$AF,$CE .db $7B,$C0,$AF,$21,$77,$C8,$AF,$20 .db $77,$38,$8F,$AE,$38,$38,$9F,$C5 .db $2A,$40,$9F,$C5,$6A,$8C,$1F,$E0 .db $1B,$94,$22,$E4,$09,$9C,$22,$E5 .db $09,$9C,$27,$F2,$0B,$B4,$27,$E0 .db $1B,$BC,$2A,$F4,$05,$C4,$2A,$F5 .db $05,$C4,$2F,$F2,$09,$94,$3F,$E0 .db $1B,$9C,$42,$E4,$09,$A4,$42,$E5 .db $09,$A4,$47,$F2,$0B,$B4,$4F,$E2 .db $18,$BC,$4F,$C9,$05,$BC,$57,$D9 .db $05,$C4,$57,$C0,$05,$FF,$2C,$27 .db $EE,$15,$28,$2F,$C5,$15,$30,$2F .db $C6,$15,$20,$3F,$2E,$10,$30,$3F .db $2E,$10,$40,$3F,$2E,$10,$30,$4F .db $CC,$15,$20,$5F,$CC,$15,$30,$5F .db $EC,$15,$40,$5F,$CC,$15,$89,$3F .db $8A,$15,$BA,$43,$86,$11,$CB,$47 .db $3D,$00,$AE,$48,$3D,$00,$8A,$4F .db $E8,$15,$8A,$4F,$E8,$15,$D6,$4F .db $84,$51,$B7,$54,$3D,$00,$C8,$55 .db $3D,$00,$89,$5F,$E8,$15,$89,$5F .db $E8,$15,$8A,$6F,$E8,$15,$74,$AF .db $62,$30,$84,$AF,$A6,$72,$FF,$80 .db $8F,$80,$33,$90,$8F,$82,$33,$A0 .db $8F,$84,$33,$B0,$8F,$86,$33,$80 .db $9F,$A0,$33,$90,$9F,$88,$33,$A0 .db $9F,$CE,$33,$B0,$9F,$EE,$33,$80 .db $AF,$C0,$33,$90,$AF,$C2,$33,$A0 .db $AF,$CE,$33,$B0,$AF,$EE,$33,$80 .db $BF,$8E,$33,$90,$BF,$AE,$33,$A0 .db $BF,$84,$B3,$B0,$BF,$86,$B3,$6C .db $2F,$8A,$57,$67,$3F,$AA,$57,$A4 .db $4F,$66,$00,$A0,$53,$64,$00,$8C .db $57,$A8,$17,$9C,$57,$62,$00,$30 .db $8F,$CC,$71,$40,$8F,$CA,$71,$30 .db $9F,$EC,$71,$40,$9F,$EA,$71,$FF .db $30,$27,$EC,$1B,$28,$37,$EC,$1B .db $50,$40,$C0,$5D,$60,$40,$86,$5D .db $30,$47,$EC,$1B,$50,$50,$C2,$5D .db $60,$50,$A6,$5D,$98,$2F,$C8,$17 .db $A8,$2F,$C8,$57,$A0,$37,$CA,$17 .db $98,$3F,$C8,$97,$A8,$3F,$C8,$D7 .db $44,$8F,$AC,$37,$22,$94,$F1,$2B .db $20,$9C,$F0,$2B,$25,$A4,$E1,$2B .db $4C,$A7,$AE,$77,$24,$AB,$E0,$2B .db $24,$AF,$8C,$37,$B2,$A7,$A0,$77 .db $C2,$A7,$80,$77,$BA,$9E,$84,$77 .db $88,$AF,$A4,$77,$88,$BF,$66,$76 .db $90,$BF,$64,$76,$98,$BF,$62,$76 .db $A8,$BF,$82,$77,$B8,$BF,$80,$77 .db $FF,$28,$26,$E6,$57,$20,$36,$C2 .db $51,$48,$36,$E6,$17,$51,$45,$E8 .db $1B,$A8,$4A,$60,$14,$B0,$4A,$60 .db $14,$AC,$3E,$A8,$1B,$AA,$4E,$60 .db $14,$AE,$4E,$60,$14,$AF,$51,$4D .db $09,$9F,$33,$84,$07,$A7,$33,$84 .db $47,$9F,$3B,$84,$87,$A7,$3B,$84 .db $C7,$B7,$2B,$60,$54,$BF,$2B,$60 .db $54,$BB,$1F,$EC,$5B,$C9,$21,$AA .db $55,$B9,$2F,$60,$54,$BD,$2F,$60 .db $54,$C0,$32,$4D,$49,$D9,$21,$89 .db $49,$D9,$29,$89,$49,$D9,$31,$89 .db $49,$D9,$39,$89,$49,$D9,$41,$89 .db $49,$D9,$49,$89,$49,$D9,$51,$89 .db $49,$D9,$59,$89,$49,$D1,$61,$24 .db $5A,$48,$8F,$82,$79,$7F,$AE,$CC .db $35,$B8,$AF,$C6,$35,$B0,$AF,$C4 .db $35,$A8,$AE,$C8,$35,$A0,$AF,$C6 .db $35,$98,$AF,$8C,$35,$9E,$A7,$98 .db $2B,$FF,$41,$56,$8C,$1F,$46,$46 .db $AE,$1F,$50,$36,$88,$1F,$5C,$29 .db $A8,$1F,$AB,$50,$60,$54,$B5,$50 .db $60,$54,$B0,$45,$64,$5D,$BE,$48 .db $8A,$59,$AD,$54,$60,$54,$B3,$54 .db $60,$54,$C6,$58,$AC,$5D,$C6,$68 .db $AC,$5D,$C6,$7C,$AC,$7D,$C6,$8A .db $CE,$77,$B2,$90,$6A,$3D,$A0,$8A .db $ED,$3D,$8E,$8F,$6A,$3D,$22,$95 .db $86,$7D,$32,$95,$84,$7D,$42,$95 .db $82,$7D,$52,$95,$80,$7D,$22,$A5 .db $A6,$7D,$32,$A5,$A4,$7D,$42,$A5 .db $A2,$7D,$59,$A5,$E8,$7D,$52,$A5 .db $A0,$7D,$22,$B5,$C6,$7D,$32,$B5 .db $C4,$7D,$42,$B5,$A2,$7D,$52,$B5 .db $A0,$FD,$22,$C5,$E6,$7D,$32,$C5 .db $E4,$7D,$42,$C5,$82,$FD,$52,$C5 .db $80,$FD,$30,$A6,$E8,$3D,$4B,$A3 .db $C0,$7D,$4B,$B3,$E0,$7D,$FF,$5C .db $47,$EA,$13,$6C,$47,$EA,$53,$5C .db $57,$EA,$93,$6C,$57,$EA,$D3,$54 .db $3F,$E8,$13,$49,$34,$E8,$13,$3E .db $29,$E8,$13,$7B,$2E,$6C,$13,$8B .db $2E,$6C,$53,$7B,$3E,$6C,$93,$8B .db $3E,$6C,$D3,$70,$A7,$A8,$3D,$80 .db $A7,$A3,$2D,$80,$AF,$A3,$AD,$A8 .db $AC,$A6,$3D,$B8,$AC,$A3,$2D,$B8 .db $B4,$A3,$AD,$50,$AF,$A6,$3D,$60 .db $AF,$A3,$2D,$60,$B7,$A3,$AD,$86 .db $AF,$A6,$3D,$96,$AF,$B3,$2D,$96 .db $B7,$B3,$AD,$78,$BF,$A6,$3D,$88 .db $BF,$B3,$2D,$88,$C7,$B3,$AD,$FF .db $70,$1E,$44,$1F,$80,$1E,$46,$1F .db $60,$2E,$26,$D5,$70,$2E,$64,$1F .db $80,$2E,$66,$1F,$70,$3E,$4E,$11 .db $80,$3E,$4E,$51,$48,$3F,$40,$1F .db $58,$3F,$42,$1F,$98,$3F,$42,$5F .db $A8,$3F,$40,$5F,$48,$4F,$60,$1F .db $58,$4F,$62,$1F,$98,$4F,$62,$5F .db $A8,$4F,$60,$5F,$48,$5F,$4E,$11 .db $58,$5F,$4E,$51,$98,$5F,$4E,$11 .db $A8,$5F,$4E,$51,$70,$66,$46,$5F .db $80,$66,$44,$5F,$70,$76,$66,$5F .db $80,$76,$64,$5F,$70,$86,$4E,$11 .db $80,$86,$4E,$51,$A0,$8E,$26,$15 .db $FF,$6C,$1A,$48,$10,$7C,$1A,$4A .db $10,$8C,$22,$1C,$00,$6C,$2A,$68 .db $10,$7C,$2A,$6A,$10,$8C,$2A,$2C .db $10,$64,$3A,$08,$00,$6C,$3A,$09 .db $00,$74,$3A,$0A,$00,$7C,$3A,$0B .db $00,$84,$3A,$0C,$00,$8C,$3A,$0D .db $00,$94,$3A,$0E,$00,$9C,$3A,$0F .db $00,$64,$42,$40,$10,$74,$42,$41 .db $40,$7C,$42,$45,$00,$84,$42,$41 .db $00,$8C,$42,$41,$40,$94,$42,$46 .db $10,$74,$4A,$51,$40,$7C,$4A,$62 .db $00,$84,$4A,$51,$00,$8C,$4A,$51 .db $40,$64,$52,$60,$10,$74,$52,$62 .db $00,$7C,$52,$62,$00,$84,$52,$62 .db $00,$8C,$52,$65,$00,$94,$52,$66 .db $10,$74,$5A,$72,$00,$7C,$5A,$73 .db $00,$84,$5A,$74,$00,$8C,$5A,$75 .db $00,$64,$62,$20,$00,$6C,$62,$21 .db $00,$74,$62,$22,$10,$84,$62,$24 .db $10,$94,$62,$26,$00,$9C,$62,$27 .db $00,$6C,$6A,$31,$00,$94,$6A,$36 .db $00,$6C,$72,$37,$00,$74,$72,$38 .db $00,$7C,$72,$39,$00,$84,$72,$3A .db $00,$8C,$72,$3B,$00,$94,$72,$2B .db $00,$31,$2C,$83,$4C,$39,$2C,$DA .db $4C,$41,$2C,$D9,$4C,$31,$34,$86 .db $4C,$39,$34,$EA,$4C,$41,$34,$E9 .db $4C,$31,$3C,$8D,$4C,$39,$3C,$8C .db $4C,$41,$3C,$87,$4C,$B2,$2C,$B2 .db $0E,$BA,$2C,$B3,$0E,$C2,$2C,$91 .db $0E,$B2,$34,$92,$0E,$BA,$34,$93 .db $0E,$C2,$34,$94,$0E,$BA,$3C,$95 .db $0E,$C2,$3C,$96,$0E,$1A,$6C,$A8 .db $15,$12,$7C,$EC,$1B,$22,$7C,$EE .db $1B,$15,$5C,$92,$05,$1D,$5C,$92 .db $45,$15,$64,$84,$15,$CD,$6C,$A0 .db $19,$DD,$6C,$A0,$59,$CD,$7C,$EC .db $1B,$DD,$7C,$EE,$1B,$D5,$5F,$9F .db $49,$DD,$5F,$9E,$49,$D5,$67,$CC .db $59,$34,$AA,$24,$57,$3C,$9A,$1B .db $47,$3C,$A2,$08,$57,$70,$A9,$CC .db $02,$78,$A9,$CD,$02,$80,$A9,$CD .db $42,$88,$A9,$CC,$42,$70,$B1,$99 .db $02,$78,$B1,$9A,$02,$80,$B1,$9A .db $42,$88,$B1,$99,$42,$70,$B9,$9B .db $02,$78,$B9,$9C,$02,$80,$B9,$9C .db $42,$88,$B9,$9B,$42,$70,$C1,$9D .db $02,$78,$C1,$9E,$02,$80,$C1,$9E .db $42,$88,$C1,$9D,$42,$BD,$9E,$0C .db $0B,$B4,$A6,$00,$1B,$BD,$AB,$02 .db $1B,$B5,$B4,$0A,$0B,$FF DATA_0CB5A2: .db $FC,$02,$1C,$01,$C1,$01,$22,$02 .db $00,$00,$45,$00,$8B,$02,$95,$03 .db $9E,$00,$2A,$04,$93,$04,$E7,$00 .db $FC,$04 CODE_0CB5BC: A9 00 LDA.B #$00 CODE_0CB5BE: EB XBA CODE_0CB5BF: A0 20 LDY.B #$20 CODE_0CB5C1: AD E9 1D LDA.W $1DE9 CODE_0CB5C4: C9 05 CMP.B #$05 CODE_0CB5C6: D0 02 BNE CODE_0CB5CA CODE_0CB5C8: A0 30 LDY.B #$30 CODE_0CB5CA: 84 00 STY $00 CODE_0CB5CC: 0A ASL CODE_0CB5CD: C2 10 REP #$10 ; Index (16 bit) CODE_0CB5CF: A8 TAY CODE_0CB5D0: BE A2 B5 LDX.W DATA_0CB5A2,Y CODE_0CB5D3: A0 7F 00 LDY.W #$007F CODE_0CB5D6: 84 01 STY $01 CODE_0CB5D8: A0 FC 01 LDY.W #$01FC CODE_0CB5DB: 5A PHY CODE_0CB5DC: A4 1A LDY RAM_ScreenBndryXLo CODE_0CB5DE: BD 14 AF LDA.W DATA_0CAF14,X CODE_0CB5E1: 29 20 AND.B #$20 CODE_0CB5E3: F0 03 BEQ CODE_0CB5E8 CODE_0CB5E5: AC 62 14 LDY.W $1462 CODE_0CB5E8: 84 03 STY $03 CODE_0CB5EA: 7A PLY CODE_0CB5EB: BD 11 AF LDA.W DATA_0CAF11,X CODE_0CB5EE: C9 FF CMP.B #$FF CODE_0CB5F0: F0 41 BEQ CODE_0CB633 CODE_0CB5F2: 38 SEC CODE_0CB5F3: E5 03 SBC $03 CODE_0CB5F5: 99 00 02 STA.W OAM_ExtendedDispX,Y CODE_0CB5F8: A9 00 LDA.B #$00 CODE_0CB5FA: E5 04 SBC $04 CODE_0CB5FC: 29 01 AND.B #$01 CODE_0CB5FE: 85 04 STA $04 CODE_0CB600: BD 14 AF LDA.W DATA_0CAF14,X CODE_0CB603: 29 10 AND.B #$10 CODE_0CB605: 4A LSR CODE_0CB606: 4A LSR CODE_0CB607: 4A LSR CODE_0CB608: 05 04 ORA $04 CODE_0CB60A: 5A PHY CODE_0CB60B: A4 01 LDY $01 CODE_0CB60D: 99 20 04 STA.W $0420,Y CODE_0CB610: 7A PLY CODE_0CB611: BD 12 AF LDA.W DATA_0CAF12,X CODE_0CB614: 99 01 02 STA.W OAM_ExtendedDispY,Y CODE_0CB617: BD 13 AF LDA.W DATA_0CAF13,X CODE_0CB61A: 99 02 02 STA.W OAM_ExtendedTile,Y CODE_0CB61D: BD 14 AF LDA.W DATA_0CAF14,X CODE_0CB620: 29 CF AND.B #$CF CODE_0CB622: 05 00 ORA $00 CODE_0CB624: 99 03 02 STA.W OAM_ExtendedProp,Y CODE_0CB627: 88 DEY CODE_0CB628: 88 DEY CODE_0CB629: 88 DEY CODE_0CB62A: 88 DEY CODE_0CB62B: E8 INX CODE_0CB62C: E8 INX CODE_0CB62D: E8 INX CODE_0CB62E: E8 INX CODE_0CB62F: C6 01 DEC $01 CODE_0CB631: 80 A8 BRA CODE_0CB5DB CODE_0CB633: E2 10 SEP #$10 ; Index (8 bit) Return0CB635: 60 RTS ; Return DATA_0CB636: .db $50,$EA,$00,$17,$E3,$20,$FC,$20 .db $C7,$20,$FC,$20,$C4,$20,$FC,$20 .db $FC,$20,$C4,$20,$FC,$20,$CD,$20 .db $FC,$20,$C3,$20,$51,$0A,$00,$17 .db $F3,$20,$FC,$20,$D7,$20,$FC,$20 .db $D4,$20,$FC,$20,$FC,$20,$D4,$20 .db $FC,$20,$DD,$20,$FC,$20,$D3,$20 Empty0CB66E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF DATA_0CB800: .db $30,$00,$5F,$FE,$FA,$28,$30,$64 .db $40,$2E,$F8,$00,$30,$76,$00,$03 .db $B6,$11,$B6,$51,$30,$84,$40,$2E .db $F8,$00,$30,$84,$00,$03,$B6,$11 .db $B6,$51,$30,$A4,$40,$2E,$F8,$00 .db $30,$AF,$00,$03,$B6,$11,$B6,$51 .db $30,$C4,$40,$2E,$F8,$00,$30,$DB .db $00,$01,$F1,$11,$30,$E4,$40,$2E .db $F8,$00,$30,$F8,$00,$07,$F1,$11 .db $F1,$51,$F1,$11,$F2,$11,$31,$04 .db $40,$2E,$F8,$00,$31,$06,$00,$03 .db $B6,$11,$B6,$51,$31,$17,$00,$09 .db $F1,$11,$F2,$11,$F2,$51,$F2,$11 .db $F9,$08,$31,$24,$40,$2E,$F8,$00 .db $31,$2A,$00,$03,$F1,$11,$F1,$51 .db $31,$36,$00,$0B,$F1,$11,$F2,$11 .db $F9,$08,$F9,$08,$F0,$11,$F0,$51 .db $31,$44,$40,$2E,$F8,$00,$31,$49 .db $00,$07,$F1,$11,$F2,$11,$F2,$51 .db $F1,$51,$31,$52,$00,$03,$B6,$11 .db $B6,$51,$31,$56,$00,$0B,$F1,$91 .db $F2,$91,$F9,$08,$F0,$11,$F2,$11 .db $F2,$51,$31,$64,$00,$2F,$F1,$11 .db $F1,$51,$F8,$08,$F8,$08,$F1,$11 .db $F2,$11,$F9,$08,$F2,$D1,$F1,$D1 .db $AA,$0D,$AB,$0D,$AC,$0D,$AD,$0D .db $AE,$0D,$AF,$0D,$F8,$08,$F8,$08 .db $F8,$08,$F1,$11,$F2,$11,$F9,$08 .db $F0,$91,$F2,$91,$F9,$08,$31,$84 .db $00,$2F,$F2,$11,$F2,$51,$F1,$51 .db $F1,$11,$F2,$11,$F9,$08,$F9,$08 .db $F2,$51,$F1,$51,$BA,$0D,$BB,$0D .db $BC,$0D,$BD,$0D,$DC,$0D,$BF,$0D .db $F8,$08,$F8,$08,$F1,$11,$F2,$11 .db $F0,$11,$F0,$51,$F0,$11,$F2,$11 .db $F9,$08,$31,$A4,$00,$2F,$86,$1D .db $87,$1D,$86,$1D,$87,$1D,$86,$1D .db $87,$1D,$86,$1D,$87,$1D,$86,$1D .db $CA,$0D,$CB,$0D,$DC,$0D,$DB,$0D .db $DC,$0D,$CF,$0D,$86,$1D,$87,$1D .db $86,$1D,$87,$1D,$86,$1D,$87,$1D .db $86,$1D,$87,$1D,$86,$1D,$31,$C4 .db $00,$2F,$9E,$1D,$9F,$1D,$9E,$1D .db $9F,$1D,$9E,$1D,$9F,$1D,$9E,$1D .db $9F,$1D,$9E,$1D,$EA,$0D,$DB,$0D .db $DC,$0D,$DB,$0D,$DC,$0D,$DF,$0D .db $9E,$1D,$9F,$1D,$9E,$1D,$9F,$1D .db $9E,$1D,$9F,$1D,$9E,$1D,$9F,$1D .db $9E,$1D,$31,$E4,$40,$2E,$8A,$35 .db $31,$E4,$00,$01,$B8,$35,$31,$E9 .db $00,$01,$B8,$35,$31,$F2,$00,$01 .db $B8,$35,$31,$FB,$00,$01,$B8,$35 .db $32,$04,$40,$2E,$9A,$35,$32,$07 .db $00,$01,$B7,$35,$32,$0E,$00,$01 .db $B7,$35,$32,$15,$00,$01,$B7,$35 .db $32,$19,$00,$01,$B7,$35,$FF DATA_0CB9BF: .db $20,$00,$5F,$FE,$F8,$00,$20,$F4 .db $00,$0B,$80,$01,$81,$01,$82,$01 .db $83,$01,$81,$41,$85,$01,$21,$14 .db $00,$0B,$90,$01,$91,$01,$92,$01 .db $93,$01,$94,$01,$95,$01,$21,$34 .db $00,$0B,$A0,$01,$A1,$01,$A2,$01 .db $A3,$01,$A4,$01,$A5,$01,$21,$54 .db $00,$0B,$B0,$01,$91,$01,$92,$01 .db $93,$01,$94,$01,$B5,$01,$21,$74 .db $00,$0B,$A0,$01,$A1,$01,$A2,$01 .db $A3,$01,$A4,$01,$A5,$01,$21,$94 .db $00,$0B,$90,$01,$B1,$01,$B2,$01 .db $B3,$01,$B4,$01,$95,$01,$21,$B4 .db $00,$0B,$A0,$01,$C6,$01,$C7,$01 .db $C6,$41,$94,$01,$A5,$01,$21,$D4 .db $00,$0B,$B0,$01,$D6,$01,$C7,$81 .db $D6,$41,$B4,$41,$B5,$01,$21,$F4 .db $00,$0B,$D0,$89,$D0,$C9,$E0,$09 .db $E1,$09,$D0,$C9,$E2,$09,$FF DATA_0CBA56: .db $30,$00,$5F,$FE,$FA,$28,$30,$64 .db $40,$2E,$FA,$08,$30,$84,$40,$2E .db $FA,$08,$30,$A4,$40,$2E,$FA,$08 .db $30,$C4,$40,$2E,$FA,$08,$30,$E4 .db $40,$2E,$FA,$08,$31,$04,$40,$2E .db $FA,$08,$31,$24,$40,$2E,$FA,$08 .db $31,$44,$40,$2E,$FA,$08,$31,$64 .db $40,$2E,$FA,$08,$31,$84,$40,$2E .db $FA,$08,$31,$A4,$40,$2E,$FA,$08 .db $31,$C4,$40,$2E,$FA,$08,$30,$64 .db $80,$05,$F8,$08,$F8,$08,$8C,$09 .db $30,$65,$00,$01,$8C,$09,$30,$68 .db $00,$01,$8C,$09,$30,$69,$80,$03 .db $F8,$08,$8C,$09,$30,$6A,$80,$05 .db $F8,$08,$F8,$08,$8C,$09,$30,$6B .db $00,$01,$8C,$09,$30,$6C,$80,$03 .db $F8,$08,$8C,$09,$30,$6D,$C0,$06 .db $F8,$08,$30,$ED,$00,$01,$8C,$09 .db $30,$6E,$80,$05,$F8,$08,$F8,$08 .db $8C,$09,$30,$6F,$C0,$04,$F8,$08 .db $30,$CF,$00,$01,$8C,$09,$30,$71 .db $80,$05,$F8,$08,$F8,$08,$8C,$09 .db $30,$74,$00,$01,$8C,$09,$30,$75 .db $80,$03,$F8,$08,$8C,$09,$30,$77 .db $00,$01,$8C,$09,$30,$7A,$80,$05 .db $F8,$08,$F8,$08,$8C,$09,$30,$7B .db $C0,$04,$F8,$08,$30,$DB,$00,$01 .db $8C,$09,$31,$84,$80,$05,$8C,$89 .db $F8,$08,$F8,$08,$31,$45,$00,$01 .db $8C,$89,$31,$65,$C0,$06,$F8,$08 .db $31,$C7,$00,$01,$8C,$89,$31,$A9 .db $80,$03,$8C,$89,$F8,$08,$31,$6B .db $00,$01,$8C,$89,$31,$8B,$C0,$04 .db $F8,$08,$31,$8C,$80,$05,$8C,$89 .db $F8,$08,$F8,$08,$31,$CD,$00,$01 .db $8C,$89,$31,$AF,$80,$03,$8C,$89 .db $F8,$08,$31,$91,$80,$05,$8C,$89 .db $F8,$08,$F8,$08,$31,$D2,$00,$01 .db $8C,$89,$31,$B6,$80,$03,$8C,$89 .db $F8,$08,$31,$D7,$00,$01,$8C,$89 .db $31,$99,$80,$05,$8C,$89,$F8,$08 .db $F8,$08,$31,$7B,$00,$01,$8C,$89 .db $31,$9B,$C0,$04,$F8,$08,$31,$E4 .db $40,$2E,$8A,$25,$32,$04,$40,$2E .db $9A,$25,$FF DATA_0CBBB9: .db $30,$00,$5F,$FE,$FA,$28,$30,$64 .db $40,$2E,$F8,$08,$30,$76,$00,$03 .db $B6,$11,$B6,$51,$30,$84,$40,$2E .db $F8,$08,$30,$84,$00,$03,$B6,$11 .db $B6,$51,$30,$A4,$40,$2E,$F8,$08 .db $30,$AF,$00,$03,$B6,$11,$B6,$51 .db $30,$C4,$40,$2E,$F8,$08,$30,$E4 .db $40,$2E,$F8,$08,$30,$FA,$00,$03 .db $B6,$11,$B6,$51,$31,$04,$40,$2E .db $F8,$08,$31,$06,$00,$03,$B6,$11 .db $B6,$51,$31,$24,$40,$2E,$F8,$08 .db $31,$44,$40,$2E,$F8,$08,$31,$4A .db $00,$05,$8F,$09,$FE,$08,$8D,$49 .db $31,$4F,$00,$09,$8F,$09,$8E,$49 .db $F8,$08,$B6,$11,$B6,$51,$31,$64 .db $40,$2E,$F8,$08,$31,$69,$00,$0F .db $8F,$09,$FF,$08,$FE,$08,$FD,$08 .db $F8,$08,$8F,$09,$FF,$08,$9B,$C9 .db $31,$75,$00,$05,$8F,$09,$FE,$08 .db $9B,$C9,$31,$84,$40,$2E,$F8,$08 .db $31,$86,$00,$19,$8F,$09,$9C,$C9 .db $9B,$C9,$FF,$08,$FF,$08,$FE,$08 .db $9B,$49,$8D,$49,$FF,$08,$9C,$C9 .db $FE,$08,$FE,$08,$9B,$C9,$31,$95 .db $00,$05,$FF,$08,$FE,$08,$FD,$08 .db $31,$9A,$00,$03,$8F,$09,$8E,$49 .db $31,$A4,$40,$2E,$F8,$08,$31,$A5 .db $00,$1B,$8F,$09,$9C,$C9,$FE,$08 .db $FD,$08,$FF,$08,$9C,$C9,$FE,$08 .db $9B,$C9,$FD,$08,$FF,$08,$9C,$C9 .db $FE,$08,$9B,$C9,$8D,$C9,$31,$B5 .db $00,$0D,$FF,$08,$9C,$C9,$FD,$08 .db $8D,$49,$8F,$09,$9C,$C9,$9B,$C9 .db $31,$C4,$00,$2F,$8F,$09,$9C,$C9 .db $FE,$08,$9B,$C9,$FD,$08,$9B,$89 .db $FE,$08,$9B,$C9,$FD,$08,$9D,$09 .db $9C,$C9,$FE,$08,$9B,$C9,$FD,$08 .db $8D,$49,$F8,$08,$8F,$09,$9C,$C9 .db $FE,$08,$FD,$08,$9D,$09,$9C,$C9 .db $9B,$C9,$FD,$08,$31,$E4,$40,$2E .db $8A,$25,$32,$04,$40,$2E,$9A,$25 .db $FF DATA_0CBD02: .db $30,$00,$5F,$FE,$FA,$28,$30,$64 .db $40,$2E,$F8,$00,$30,$76,$00,$03 .db $B6,$11,$B6,$51,$30,$84,$40,$2E .db $F8,$00,$30,$84,$00,$03,$B6,$11 .db $B6,$51,$30,$A4,$40,$2E,$F8,$00 .db $30,$AF,$00,$03,$B6,$11,$B6,$51 .db $30,$C4,$40,$2E,$F8,$00,$30,$E4 .db $40,$2E,$F8,$00,$30,$FA,$00,$03 .db $B6,$11,$B6,$51,$31,$04,$40,$2E .db $F8,$00,$31,$06,$00,$03,$B6,$11 .db $B6,$51,$31,$0F,$00,$01,$89,$0D .db $31,$24,$40,$2E,$F8,$00,$31,$2E .db $00,$05,$88,$0D,$FC,$0C,$88,$4D .db $31,$44,$40,$2E,$F8,$00,$31,$46 .db $00,$01,$89,$0D,$31,$4D,$00,$0D .db $88,$0D,$FC,$0C,$FC,$0C,$FC,$0C .db $88,$4D,$B6,$11,$B6,$51,$31,$64 .db $40,$2E,$F8,$00,$31,$65,$00,$05 .db $88,$0D,$FC,$0C,$88,$4D,$31,$6C .db $00,$01,$88,$0D,$31,$6D,$40,$08 .db $FC,$0C,$31,$72,$00,$01,$88,$4D .db $31,$7B,$00,$01,$88,$0D,$31,$84 .db $40,$2E,$F8,$00,$31,$84,$00,$09 .db $88,$0D,$FC,$0C,$FC,$0C,$FC,$0C .db $88,$4D,$31,$8B,$00,$01,$88,$0D .db $31,$8C,$40,$0C,$FC,$0C,$31,$93 .db $00,$01,$88,$4D,$31,$9A,$00,$03 .db $88,$0D,$FC,$0C,$31,$A4,$00,$21 .db $96,$0D,$97,$0D,$98,$0D,$99,$0D .db $FC,$0C,$88,$4D,$88,$0D,$FC,$0C .db $96,$0D,$97,$0D,$98,$0D,$99,$0D .db $FC,$0C,$FC,$0C,$FC,$0C,$FC,$0C .db $88,$4D,$31,$B5,$40,$06,$F8,$00 .db $31,$B9,$00,$05,$88,$0D,$96,$0D .db $97,$0D,$31,$C4,$00,$2F,$A6,$0D .db $A7,$0D,$A8,$0D,$A9,$0D,$FC,$0C .db $FC,$0C,$FC,$0C,$FC,$0C,$A6,$0D .db $A7,$0D,$A8,$0D,$A9,$0D,$FC,$0C .db $FC,$0C,$FC,$0C,$FC,$0C,$FC,$0C .db $88,$4D,$F8,$00,$F8,$00,$88,$0D .db $FC,$0C,$A6,$0D,$A7,$0D,$31,$E4 .db $40,$2E,$8A,$35,$31,$E4,$00,$01 .db $B8,$35,$31,$E9,$00,$01,$B8,$35 .db $31,$F2,$00,$01,$B8,$35,$31,$FB .db $00,$01,$B8,$35,$32,$04,$40,$2E .db $9A,$35,$32,$07,$00,$01,$B7,$35 .db $32,$0E,$00,$01,$B7,$35,$32,$15 .db $00,$01,$B7,$35,$32,$19,$00,$01 .db $B7,$35,$FF DATA_0CBE85: .db $52,$64,$00,$2F,$0C,$39,$40,$39 .db $51,$39,$48,$39,$4E,$39,$1F,$39 .db $1F,$39,$47,$39,$40,$39,$52,$39 .db $1F,$39,$1F,$39,$43,$39,$44,$39 .db $45,$39,$44,$39,$40,$39,$53,$39 .db $44,$39,$43,$39,$1F,$39,$53,$39 .db $47,$39,$44,$39,$FF DATA_0CBEBA: .db $52,$84,$00,$2F,$43,$39,$44,$39 .db $4C,$39,$44,$39,$4D,$39,$53,$39 .db $44,$39,$43,$39,$1F,$39,$1F,$39 .db $08,$39,$46,$39,$46,$39,$58,$39 .db $1F,$39,$0A,$39,$4E,$39,$4E,$39 .db $4F,$39,$40,$39,$1F,$39,$1F,$39 .db $48,$39,$4D,$39,$FF DATA_0CBEEF: .db $52,$A4,$00,$2F,$42,$39,$40,$39 .db $52,$39,$53,$39,$4B,$39,$44,$39 .db $1F,$39,$1F,$39,$5A,$39,$64,$39 .db $1F,$39,$1F,$39,$40,$39,$4D,$39 .db $43,$39,$1F,$39,$1F,$39,$51,$39 .db $44,$39,$52,$39,$42,$39,$54,$39 .db $44,$39,$43,$39,$FF DATA_0CBF24: .db $52,$C4,$00,$2F,$18,$39,$4E,$39 .db $52,$39,$47,$39,$48,$39,$5D,$39 .db $52,$39,$1F,$39,$1F,$39,$45,$39 .db $51,$39,$48,$39,$44,$39,$4D,$39 .db $43,$39,$1F,$39,$1F,$39,$56,$39 .db $47,$39,$4E,$39,$1F,$39,$1F,$39 .db $48,$39,$52,$39,$FF DATA_0CBF59: .db $52,$E4,$00,$2F,$52,$39,$53,$39 .db $48,$39,$4B,$39,$4B,$39,$1F,$39 .db $53,$39,$51,$39,$40,$39,$4F,$39 .db $4F,$39,$44,$39,$43,$39,$1F,$39 .db $48,$39,$4D,$39,$1F,$39,$40,$39 .db $4D,$39,$1F,$39,$44,$39,$46,$39 .db $46,$39,$1B,$39,$FF DATA_0CBF8E: .db $53,$04,$00,$2F,$13,$39,$4E,$39 .db $46,$39,$44,$39,$53,$39,$47,$39 .db $44,$39,$51,$39,$1D,$39,$1F,$39 .db $1F,$39,$1F,$39,$1F,$39,$53,$39 .db $47,$39,$44,$39,$58,$39,$1F,$39 .db $1F,$39,$1F,$39,$1F,$39,$4D,$39 .db $4E,$39,$56,$39,$FF DATA_0CBFC3: .db $53,$24,$00,$29,$53,$39,$51,$39 .db $40,$39,$55,$39,$44,$39,$4B,$39 .db $1F,$39,$53,$39,$4E,$39,$1F,$39 .db $03,$39,$4E,$39,$4D,$39,$54,$39 .db $53,$39,$1F,$39,$0B,$39,$40,$39 .db $4D,$39,$43,$39,$1B,$39 DATA_0CBFF1: .db $FF DATA_0CBFF2: .db $52,$64,$00,$2F,$0C,$39,$4E,$39 .db $51,$39,$53,$39,$4E,$39,$4D,$39 .db $1F,$39,$1F,$39,$1F,$39,$0A,$39 .db $4E,$39,$4E,$39,$4F,$39,$40,$39 .db $1F,$39,$1F,$39,$1F,$39,$09,$39 .db $51,$39,$1B,$39,$1F,$39,$1F,$39 .db $4E,$39,$45,$39,$FF DATA_0CC027: .db $52,$84,$00,$2F,$42,$39,$40,$39 .db $52,$39,$53,$39,$4B,$39,$44,$39 .db $1F,$39,$1F,$39,$5A,$39,$65,$39 .db $1F,$39,$48,$39,$52,$39,$1F,$39 .db $4D,$39,$4E,$39,$56,$39,$1F,$39 .db $49,$39,$54,$39,$52,$39,$53,$39 .db $1F,$39,$40,$39,$FF DATA_0CC05C: .db $52,$A4,$00,$2F,$4C,$39,$44,$39 .db $4C,$39,$4E,$39,$51,$39,$58,$39 .db $1B,$39,$1F,$39,$13,$39,$47,$39 .db $44,$39,$1F,$39,$4D,$39,$44,$39 .db $57,$39,$53,$39,$1F,$39,$40,$39 .db $51,$39,$44,$39,$40,$39,$1F,$39 .db $48,$39,$52,$39,$FF DATA_0CC091: .db $52,$C4,$00,$2F,$53,$39,$47,$39 .db $44,$39,$1F,$39,$1F,$39,$54,$39 .db $4D,$39,$43,$39,$44,$39,$51,$39 .db $46,$39,$51,$39,$4E,$39,$54,$39 .db $4D,$39,$43,$39,$1F,$39,$15,$39 .db $40,$39,$4D,$39,$48,$39,$4B,$39 .db $4B,$39,$40,$39,$FF DATA_0CC0C6: .db $52,$E4,$00,$2F,$03,$39,$4E,$39 .db $4C,$39,$44,$39,$1B,$39,$1F,$39 .db $1F,$39,$1F,$39,$16,$39,$47,$39 .db $40,$39,$53,$39,$1F,$39,$53,$39 .db $51,$39,$40,$39,$4F,$39,$52,$39 .db $1F,$39,$40,$39,$56,$39,$40,$39 .db $48,$39,$53,$39,$FF DATA_0CC0FB: .db $53,$04,$00,$2F,$0C,$39,$40,$39 .db $51,$39,$48,$39,$4E,$39,$1F,$39 .db $48,$39,$4D,$39,$1F,$39,$53,$39 .db $47,$39,$48,$39,$52,$39,$1F,$39 .db $4D,$39,$44,$39,$56,$39,$1F,$39 .db $56,$39,$4E,$39,$51,$39,$4B,$39 .db $43,$39,$1E,$39,$FF DATA_0CC130: .db $53,$24,$00,$2F,$16,$39,$47,$39 .db $40,$39,$53,$39,$1F,$39,$1F,$39 .db $1F,$39,$56,$39,$48,$39,$4B,$39 .db $4B,$39,$1F,$39,$1F,$39,$1F,$39 .db $41,$39,$44,$39,$42,$39,$4E,$39 .db $4C,$39,$44,$39,$1F,$39,$1F,$39 .db $4E,$39,$45,$39,$FF DATA_0CC165: .db $53,$44,$00,$25,$0F,$39,$51,$39 .db $48,$39,$4D,$39,$42,$39,$44,$39 .db $52,$39,$52,$39,$1F,$39,$13,$39 .db $4E,$39,$40,$39,$43,$39,$52,$39 .db $53,$39,$4E,$39,$4E,$39,$4B,$39 .db $1E,$39,$FF DATA_0CC190: .db $52,$64,$00,$2F,$0C,$39,$40,$39 .db $51,$39,$48,$39,$4E,$39,$1F,$39 .db $47,$39,$40,$39,$52,$39,$1F,$39 .db $53,$39,$51,$39,$48,$39,$54,$39 .db $4C,$39,$4F,$39,$47,$39,$44,$39 .db $43,$39,$1F,$39,$4E,$39,$55,$39 .db $44,$39,$51,$39,$FF DATA_0CC1C5: .db $52,$84,$00,$2F,$0B,$39,$44,$39 .db $4C,$39,$4C,$39,$58,$39,$1F,$39 .db $1F,$39,$0A,$39,$4E,$39,$4E,$39 .db $4F,$39,$40,$39,$1F,$39,$1F,$39 .db $4E,$39,$45,$39,$1F,$39,$1F,$39 .db $42,$39,$40,$39,$52,$39,$53,$39 .db $4B,$39,$44,$39,$FF DATA_0CC1FA: .db $52,$A4,$00,$2F,$5A,$39,$66,$39 .db $1B,$39,$1F,$39,$1F,$39,$0C,$39 .db $40,$39,$51,$39,$48,$39,$4E,$39 .db $5D,$39,$52,$39,$1F,$39,$1F,$39 .db $50,$39,$54,$39,$44,$39,$52,$39 .db $53,$39,$1F,$39,$1F,$39,$1F,$39 .db $48,$39,$52,$39,$FF DATA_0CC22F: .db $52,$C4,$00,$2F,$52,$39,$53,$39 .db $40,$39,$51,$39,$53,$39,$48,$39 .db $4D,$39,$46,$39,$1F,$39,$1F,$39 .db $53,$39,$4E,$39,$1F,$39,$1F,$39 .db $46,$39,$44,$39,$53,$39,$1F,$39 .db $1F,$39,$1F,$39,$4C,$39,$54,$39 .db $42,$39,$47,$39,$FF DATA_0CC264: .db $52,$E4,$00,$2F,$4C,$39,$4E,$39 .db $51,$39,$44,$39,$1F,$39,$43,$39 .db $48,$39,$45,$39,$45,$39,$48,$39 .db $42,$39,$54,$39,$4B,$39,$53,$39 .db $1B,$39,$1F,$39,$1F,$39,$1F,$39 .db $1F,$39,$1F,$39,$07,$39,$40,$39 .db $55,$39,$44,$39,$FF DATA_0CC299: .db $53,$04,$00,$2F,$58,$39,$4E,$39 .db $54,$39,$1F,$39,$1F,$39,$45,$39 .db $4E,$39,$54,$39,$4D,$39,$43,$39 .db $1F,$39,$1F,$39,$53,$39,$47,$39 .db $44,$39,$1F,$39,$11,$39,$44,$39 .db $43,$39,$1F,$39,$1F,$39,$40,$39 .db $4D,$39,$43,$39,$FF DATA_0CC2CE: .db $53,$24,$00,$25,$06,$39,$51,$39 .db $44,$39,$44,$39,$4D,$39,$1F,$39 .db $12,$39,$56,$39,$48,$39,$53,$39 .db $42,$39,$47,$39,$44,$39,$52,$39 .db $1F,$39,$58,$39,$44,$39,$53,$39 .db $1E,$39,$FF DATA_0CC2F9: .db $52,$64,$00,$2F,$0B,$39,$54,$39 .db $43,$39,$56,$39,$48,$39,$46,$39 .db $1F,$39,$55,$39,$4E,$39,$4D,$39 .db $1F,$39,$1F,$39,$0A,$39,$4E,$39 .db $4E,$39,$4F,$39,$40,$39,$5D,$39 .db $52,$39,$1F,$39,$43,$39,$40,$39 .db $58,$39,$52,$39,$FF DATA_0CC32E: .db $52,$84,$00,$2F,$4E,$39,$45,$39 .db $1F,$39,$1F,$39,$1F,$39,$1F,$39 .db $42,$39,$4E,$39,$4C,$39,$4F,$39 .db $4E,$39,$52,$39,$48,$39,$4D,$39 .db $46,$39,$1F,$39,$1F,$39,$1F,$39 .db $1F,$39,$0A,$39,$4E,$39,$4E,$39 .db $4F,$39,$40,$39,$FF DATA_0CC363: .db $52,$A4,$00,$2F,$52,$39,$58,$39 .db $4C,$39,$4F,$39,$47,$39,$4E,$39 .db $4D,$39,$48,$39,$44,$39,$52,$39 .db $1F,$39,$48,$39,$4D,$39,$1F,$39 .db $42,$39,$40,$39,$52,$39,$53,$39 .db $4B,$39,$44,$39,$1F,$39,$1F,$39 .db $5A,$39,$67,$39,$FF DATA_0CC398: .db $52,$C4,$00,$2F,$40,$39,$51,$39 .db $44,$39,$1F,$39,$4E,$39,$55,$39 .db $44,$39,$51,$39,$1B,$39,$1F,$39 .db $1F,$39,$13,$39,$47,$39,$44,$39 .db $1F,$39,$05,$39,$4E,$39,$51,$39 .db $44,$39,$52,$39,$53,$39,$1F,$39 .db $4E,$39,$45,$39,$FF DATA_0CC3CD: .db $52,$E4,$00,$2F,$08,$39,$4B,$39 .db $4B,$39,$54,$39,$52,$39,$48,$39 .db $4E,$39,$4D,$39,$1F,$39,$1F,$39 .db $1F,$39,$4B,$39,$48,$39,$44,$39 .db $52,$39,$1F,$39,$1F,$39,$1F,$39 .db $40,$39,$47,$39,$44,$39,$40,$39 .db $43,$39,$1B,$39,$FF DATA_0CC402: .db $53,$04,$00,$2F,$0C,$39,$40,$39 .db $51,$39,$48,$39,$4E,$39,$1F,$39 .db $4C,$39,$54,$39,$52,$39,$53,$39 .db $1F,$39,$54,$39,$52,$39,$44,$39 .db $1F,$39,$47,$39,$48,$39,$52,$39 .db $1F,$39,$41,$39,$51,$39,$40,$39 .db $48,$39,$4D,$39,$FF DATA_0CC437: .db $53,$24,$00,$2F,$53,$39,$4E,$39 .db $1F,$39,$52,$39,$4E,$39,$4B,$39 .db $55,$39,$44,$39,$1F,$39,$1F,$39 .db $53,$39,$47,$39,$44,$39,$1F,$39 .db $4F,$39,$54,$39,$59,$39,$59,$39 .db $4B,$39,$44,$39,$1F,$39,$1F,$39 .db $4E,$39,$45,$39,$FF DATA_0CC46C: .db $53,$44,$00,$2D,$53,$39,$47,$39 .db $48,$39,$52,$39,$1F,$39,$4F,$39 .db $44,$39,$51,$39,$4F,$39,$4B,$39 .db $44,$39,$57,$39,$48,$39,$4D,$39 .db $46,$39,$1F,$39,$45,$39,$4E,$39 .db $51,$39,$44,$39,$52,$39,$53,$39 .db $1B,$39,$FF DATA_0CC49F: .db $52,$64,$00,$2F,$0C,$39,$40,$39 .db $51,$39,$48,$39,$4E,$39,$1F,$39 .db $1F,$39,$1F,$39,$45,$39,$4E,$39 .db $54,$39,$4D,$39,$43,$39,$1F,$39 .db $1F,$39,$1F,$39,$47,$39,$48,$39 .db $52,$39,$1F,$39,$1F,$39,$56,$39 .db $40,$39,$58,$39,$FF DATA_0CC4D4: .db $52,$84,$00,$2F,$53,$39,$47,$39 .db $51,$39,$4E,$39,$54,$39,$46,$39 .db $47,$39,$1F,$39,$1F,$39,$53,$39 .db $47,$39,$44,$39,$1F,$39,$1F,$39 .db $05,$39,$4E,$39,$51,$39,$44,$39 .db $52,$39,$53,$39,$1F,$39,$1F,$39 .db $4E,$39,$45,$39,$FF DATA_0CC509: .db $52,$A4,$00,$2F,$08,$39,$4B,$39 .db $4B,$39,$54,$39,$52,$39,$48,$39 .db $4E,$39,$4D,$39,$1F,$39,$40,$39 .db $4D,$39,$43,$39,$1F,$39,$1F,$39 .db $47,$39,$40,$39,$52,$39,$1F,$39 .db $4F,$39,$54,$39,$53,$39,$1F,$39 .db $40,$39,$4D,$39,$FF DATA_0CC53E: .db $52,$C4,$00,$2F,$44,$39,$4D,$39 .db $43,$39,$1F,$39,$1F,$39,$53,$39 .db $4E,$39,$1F,$39,$1F,$39,$1F,$39 .db $11,$39,$4E,$39,$58,$39,$1F,$39 .db $1F,$39,$0A,$39,$4E,$39,$4E,$39 .db $4F,$39,$40,$39,$1F,$39,$1F,$39 .db $4E,$39,$45,$39,$FF DATA_0CC573: .db $52,$E4,$00,$2F,$42,$39,$40,$39 .db $52,$39,$53,$39,$4B,$39,$44,$39 .db $1F,$39,$1F,$39,$5A,$39,$68,$39 .db $1B,$39,$1F,$39,$1F,$39,$1F,$39 .db $0E,$39,$4D,$39,$56,$39,$40,$39 .db $51,$39,$43,$39,$1F,$39,$1F,$39 .db $53,$39,$4E,$39,$FF DATA_0CC5A8: .db $53,$04,$00,$2F,$53,$39,$47,$39 .db $44,$39,$1F,$39,$1F,$39,$1F,$39 .db $1F,$39,$43,$39,$40,$39,$4D,$39 .db $46,$39,$44,$39,$51,$39,$4E,$39 .db $54,$39,$52,$39,$1F,$39,$1F,$39 .db $1F,$39,$1F,$39,$5B,$39,$41,$39 .db $54,$39,$53,$39,$FF DATA_0CC5DD: .db $53,$24,$00,$2F,$53,$39,$40,$39 .db $52,$39,$53,$39,$58,$39,$5C,$39 .db $1F,$39,$02,$39,$47,$39,$4E,$39 .db $42,$39,$4E,$39,$4B,$39,$40,$39 .db $53,$39,$44,$39,$1F,$39,$08,$39 .db $52,$39,$4B,$39,$40,$39,$4D,$39 .db $43,$39,$1A,$39,$FF DATA_0CC612: .db $52,$64,$00,$2F,$16,$39,$44,$39 .db $4D,$39,$43,$39,$58,$39,$1F,$39 .db $0E,$39,$1B,$39,$1F,$39,$0A,$39 .db $4E,$39,$4E,$39,$4F,$39,$40,$39 .db $1F,$39,$48,$39,$4D,$39,$1F,$39 .db $42,$39,$40,$39,$52,$39,$53,$39 .db $4B,$39,$44,$39,$FF DATA_0CC647: .db $52,$84,$00,$2F,$5A,$39,$69,$39 .db $1F,$39,$1F,$39,$47,$39,$40,$39 .db $52,$39,$1F,$39,$1F,$39,$52,$39 .db $54,$39,$4D,$39,$46,$39,$1F,$39 .db $1F,$39,$47,$39,$44,$39,$51,$39 .db $1F,$39,$1F,$39,$4B,$39,$40,$39 .db $52,$39,$53,$39,$FF DATA_0CC67C: .db $52,$A4,$00,$2F,$52,$39,$4E,$39 .db $4D,$39,$46,$39,$1B,$39,$1F,$39 .db $1F,$39,$0C,$39,$40,$39,$51,$39 .db $48,$39,$4E,$39,$1F,$39,$1F,$39 .db $4C,$39,$54,$39,$52,$39,$53,$39 .db $1F,$39,$1F,$39,$4C,$39,$44,$39 .db $44,$39,$53,$39,$FF DATA_0CC6B1: .db $52,$C4,$00,$2F,$53,$39,$47,$39 .db $44,$39,$1F,$39,$1F,$39,$42,$39 .db $47,$39,$40,$39,$4B,$39,$4B,$39 .db $44,$39,$4D,$39,$46,$39,$44,$39 .db $1F,$39,$1F,$39,$53,$39,$47,$39 .db $40,$39,$53,$39,$1F,$39,$1F,$39 .db $48,$39,$52,$39,$FF DATA_0CC6E6: .db $52,$E4,$00,$2F,$4D,$39,$4E,$39 .db $56,$39,$1F,$39,$41,$39,$44,$39 .db $45,$39,$4E,$39,$51,$39,$44,$39 .db $1F,$39,$47,$39,$48,$39,$4C,$39 .db $1B,$39,$1F,$39,$1F,$39,$1F,$39 .db $1F,$39,$13,$39,$47,$39,$44,$39 .db $51,$39,$44,$39,$FF DATA_0CC71B: .db $53,$04,$00,$2F,$48,$39,$52,$39 .db $1F,$39,$40,$39,$1F,$39,$1F,$39 .db $52,$39,$54,$39,$4D,$39,$4A,$39 .db $44,$39,$4D,$39,$1F,$39,$1F,$39 .db $52,$39,$47,$39,$48,$39,$4F,$39 .db $1F,$39,$1F,$39,$53,$39,$47,$39 .db $40,$39,$53,$39,$FF DATA_0CC750: .db $53,$24,$00,$2F,$40,$39,$4F,$39 .db $4F,$39,$44,$39,$40,$39,$51,$39 .db $52,$39,$1F,$39,$53,$39,$4E,$39 .db $1F,$39,$41,$39,$44,$39,$1F,$39 .db $1F,$39,$40,$39,$1F,$39,$46,$39 .db $40,$39,$53,$39,$44,$39,$56,$39 .db $40,$39,$58,$39,$FF DATA_0CC785: .db $53,$44,$00,$2F,$53,$39,$4E,$39 .db $1F,$39,$53,$39,$47,$39,$44,$39 .db $1F,$39,$15,$39,$40,$39,$4B,$39 .db $4B,$39,$44,$39,$58,$39,$1F,$39 .db $4E,$39,$45,$39,$1F,$39,$01,$39 .db $4E,$39,$56,$39,$52,$39,$44,$39 .db $51,$39,$1B,$39,$FF DATA_0CC7BA: .db $52,$64,$00,$2F,$0C,$39,$40,$39 .db $51,$39,$48,$39,$4E,$39,$1F,$39 .db $47,$39,$40,$39,$52,$39,$1F,$39 .db $43,$39,$44,$39,$45,$39,$44,$39 .db $40,$39,$53,$39,$44,$39,$43,$39 .db $1F,$39,$0B,$39,$40,$39,$51,$39 .db $51,$39,$58,$39,$FF DATA_0CC7EF: .db $52,$84,$00,$2F,$0A,$39,$4E,$39 .db $4E,$39,$4F,$39,$40,$39,$1F,$39 .db $48,$39,$4D,$39,$1F,$39,$42,$39 .db $40,$39,$52,$39,$53,$39,$4B,$39 .db $44,$39,$1F,$39,$5A,$39,$6A,$39 .db $1B,$39,$1F,$39,$1F,$39,$00,$39 .db $4B,$39,$4B,$39,$FF DATA_0CC824: .db $52,$A4,$00,$2F,$53,$39,$47,$39 .db $40,$39,$53,$39,$1F,$39,$48,$39 .db $52,$39,$1F,$39,$4B,$39,$44,$39 .db $45,$39,$53,$39,$1F,$39,$48,$39 .db $52,$39,$1F,$39,$01,$39,$4E,$39 .db $56,$39,$52,$39,$44,$39,$51,$39 .db $5D,$39,$52,$39,$FF DATA_0CC859: .db $52,$C4,$00,$2F,$02,$39,$40,$39 .db $52,$39,$53,$39,$4B,$39,$44,$39 .db $1F,$39,$1F,$39,$56,$39,$47,$39 .db $44,$39,$51,$39,$44,$39,$1F,$39 .db $1F,$39,$1F,$39,$0F,$39,$51,$39 .db $48,$39,$4D,$39,$42,$39,$44,$39 .db $52,$39,$52,$39,$FF DATA_0CC88E: .db $52,$E4,$00,$2F,$13,$39,$4E,$39 .db $40,$39,$43,$39,$52,$39,$53,$39 .db $4E,$39,$4E,$39,$4B,$39,$1F,$39 .db $48,$39,$52,$39,$1F,$39,$41,$39 .db $44,$39,$48,$39,$4D,$39,$46,$39 .db $1F,$39,$47,$39,$44,$39,$4B,$39 .db $43,$39,$1B,$39,$FF DATA_0CC8C3: .db $53,$04,$00,$2F,$02,$39,$40,$39 .db $4D,$39,$1F,$39,$0C,$39,$40,$39 .db $51,$39,$48,$39,$4E,$39,$1F,$39 .db $51,$39,$44,$39,$52,$39,$42,$39 .db $54,$39,$44,$39,$1F,$39,$47,$39 .db $44,$39,$51,$39,$1F,$39,$40,$39 .db $4D,$39,$43,$39,$FF DATA_0CC8F8: .db $53,$24,$00,$2F,$51,$39,$44,$39 .db $52,$39,$53,$39,$4E,$39,$51,$39 .db $44,$39,$1F,$39,$1F,$39,$1F,$39 .db $1F,$39,$1F,$39,$4F,$39,$44,$39 .db $40,$39,$42,$39,$44,$39,$1F,$39 .db $1F,$39,$1F,$39,$1F,$39,$1F,$39 .db $53,$39,$4E,$39,$FF DATA_0CC92D: .db $53,$44,$00,$1B,$03,$39,$48,$39 .db $4D,$39,$4E,$39,$52,$39,$40,$39 .db $54,$39,$51,$39,$1F,$39,$0B,$39 .db $40,$39,$4D,$39,$43,$39,$1E,$39 .db $FF CODE_0CC94E: AD 43 14 LDA.W $1443 CODE_0CC951: F0 2A BEQ Return0CC97D CODE_0CC953: CE 43 14 DEC.W $1443 CODE_0CC956: AD 43 14 LDA.W $1443 CODE_0CC959: 29 1F AND.B #$1F CODE_0CC95B: D0 20 BNE Return0CC97D CODE_0CC95D: AD C6 13 LDA.W $13C6 CODE_0CC960: 3A DEC A CODE_0CC961: 0A ASL CODE_0CC962: 0A ASL CODE_0CC963: 0A ASL CODE_0CC964: 85 00 STA $00 CODE_0CC966: AD 43 14 LDA.W $1443 CODE_0CC969: 29 E0 AND.B #$E0 CODE_0CC96B: 4A LSR CODE_0CC96C: 4A LSR CODE_0CC96D: 4A LSR CODE_0CC96E: 4A LSR CODE_0CC96F: 4A LSR CODE_0CC970: 05 00 ORA $00 CODE_0CC972: 85 00 STA $00 CODE_0CC974: 0A ASL CODE_0CC975: 18 CLC CODE_0CC976: 65 00 ADC $00 CODE_0CC978: 18 CLC CODE_0CC979: 69 21 ADC.B #$21 CODE_0CC97B: 85 12 STA $12 Return0CC97D: 60 RTS ; Return CODE_0CC97E: 8B PHB CODE_0CC97F: 4B PHK CODE_0CC980: AB PLB CODE_0CC981: 20 4E C9 JSR.W CODE_0CC94E CODE_0CC984: 20 8F CA JSR.W CODE_0CCA8F CODE_0CC987: 20 8C C9 JSR.W CODE_0CC98C CODE_0CC98A: AB PLB Return0CC98B: 6B RTL ; Return CODE_0CC98C: A5 13 LDA RAM_FrameCounter CODE_0CC98E: 29 03 AND.B #$03 CODE_0CC990: D0 08 BNE CODE_0CC99A CODE_0CC992: AD 4D 14 LDA.W $144D CODE_0CC995: F0 03 BEQ CODE_0CC99A CODE_0CC997: CE 4D 14 DEC.W $144D CODE_0CC99A: 20 03 D8 JSR.W CODE_0CD803 CODE_0CC99D: AD C6 13 LDA.W $13C6 CODE_0CC9A0: 3A DEC A CODE_0CC9A1: 22 DF 86 00 JSL.L ExecutePtr Ptrs0CC9A5: B3 C9 .dw CODE_0CC9B3 CC C9 .dw CODE_0CC9CC 2F CA .dw CODE_0CCA2F 04 CA .dw CODE_0CCA04 E0 C9 .dw CODE_0CC9E0 51 CA .dw CODE_0CCA51 72 CA .dw CODE_0CCA72 CODE_0CC9B3: 20 5B CB JSR.W CODE_0CCB5B CODE_0CC9B6: 20 CE CA JSR.W CODE_0CCACE CODE_0CC9B9: AD 42 14 LDA.W $1442 CODE_0CC9BC: 22 DF 86 00 JSL.L ExecutePtr Ptrs0CC9C0: 1C CB .dw CODE_0CCB1C 95 D2 .dw CODE_0CD295 51 CC .dw CODE_0CCC51 B2 D2 .dw CODE_0CD2B2 23 CD .dw CODE_0CCD23 DE CF .dw CODE_0CCFDE CODE_0CC9CC: 20 CE CA JSR.W CODE_0CCACE CODE_0CC9CF: AD 42 14 LDA.W $1442 CODE_0CC9D2: 22 DF 86 00 JSL.L ExecutePtr Ptrs0CC9D6: 03 D0 .dw CODE_0CD003 B2 D2 .dw CODE_0CD2B2 23 CD .dw CODE_0CCD23 57 D5 .dw CODE_0CD557 DE CF .dw CODE_0CCFDE CODE_0CC9E0: 20 5B CB JSR.W CODE_0CCB5B CODE_0CC9E3: 20 CE CA JSR.W CODE_0CCACE CODE_0CC9E6: 20 F8 D4 JSR.W CODE_0CD4F8 CODE_0CC9E9: AD 42 14 LDA.W $1442 CODE_0CC9EC: 22 DF 86 00 JSL.L ExecutePtr Ptrs0CC9F0: 1C CB .dw CODE_0CCB1C D0 D2 .dw CODE_0CD2D0 72 CF .dw CODE_0CCF72 C5 CF .dw CODE_0CCFC5 95 D2 .dw CODE_0CD295 51 CC .dw CODE_0CCC51 B2 D2 .dw CODE_0CD2B2 23 CD .dw CODE_0CCD23 F7 CF .dw CODE_0CCFF7 DE CF .dw CODE_0CCFDE CODE_0CCA04: 20 5B CB JSR.W CODE_0CCB5B CODE_0CCA07: AD 42 14 LDA.W $1442 CODE_0CCA0A: D0 05 BNE CODE_0CCA11 CODE_0CCA0C: A0 04 LDY.B #$04 CODE_0CCA0E: 8C 45 14 STY.W $1445 CODE_0CCA11: C9 07 CMP.B #$07 CODE_0CCA13: D0 03 BNE CODE_0CCA18 CODE_0CCA15: 20 49 CF JSR.W CODE_0CCF49 CODE_0CCA18: AD 42 14 LDA.W $1442 CODE_0CCA1B: 22 DF 86 00 JSL.L ExecutePtr Ptrs0CCA1F: 1C CB .dw CODE_0CCB1C 95 D2 .dw CODE_0CD295 51 CC .dw CODE_0CCC51 BD D2 .dw CODE_0CD2BD A1 CD .dw CODE_0CCDA1 E6 D2 .dw CODE_0CD2E6 E2 CE .dw CODE_0CCEE2 DE CF .dw CODE_0CCFDE CODE_0CCA2F: 20 5B D6 JSR.W CODE_0CD65B CODE_0CCA32: 20 CE CA JSR.W CODE_0CCACE CODE_0CCA35: AD 42 14 LDA.W $1442 CODE_0CCA38: C9 03 CMP.B #$03 CODE_0CCA3A: F0 03 BEQ CODE_0CCA3F CODE_0CCA3C: 20 A6 D3 JSR.W CODE_0CD3A6 CODE_0CCA3F: 20 F4 D3 JSR.W CODE_0CD3F4 CODE_0CCA42: AD 42 14 LDA.W $1442 CODE_0CCA45: 22 DF 86 00 JSL.L ExecutePtr Ptrs0CCA49: BC D0 .dw CODE_0CD0BC B2 D2 .dw CODE_0CD2B2 23 CD .dw CODE_0CCD23 DE CF .dw CODE_0CCFDE CODE_0CCA51: 20 EC D6 JSR.W CODE_0CD6EC CODE_0CCA54: AD 44 14 LDA.W $1444 CODE_0CCA57: F0 0E BEQ CODE_0CCA67 CODE_0CCA59: A2 30 LDX.B #$30 CODE_0CCA5B: A9 B0 LDA.B #$B0 CODE_0CCA5D: 85 00 STA $00 CODE_0CCA5F: A9 68 LDA.B #$68 CODE_0CCA61: 8D 51 0B STA.W $0B51 CODE_0CCA64: 20 FD CA JSR.W CODE_0CCAFD CODE_0CCA67: AD 42 14 LDA.W $1442 CODE_0CCA6A: 22 DF 86 00 JSL.L ExecutePtr Ptrs0CCA6E: C9 D0 .dw CODE_0CD0C9 DE CF .dw CODE_0CCFDE CODE_0CCA72: AD 42 14 LDA.W $1442 CODE_0CCA75: 22 DF 86 00 JSL.L ExecutePtr Ptrs0CCA79: D2 D0 .dw CODE_0CD0D2 08 D1 .dw CODE_0CD108 6F D1 .dw CODE_0CD16F 9C D1 .dw CODE_0CD19C DE CF .dw CODE_0CCFDE DATA_0CCA83: .db $20 DATA_0CCA84: .db $48 DATA_0CCA85: .db $A6 DATA_0CCA86: .db $18,$30,$48,$A8,$18,$28,$58,$8D .db $08 CODE_0CCA8F: AD 4A 14 LDA.W $144A CODE_0CCA92: F0 39 BEQ Return0CCACD CODE_0CCA94: A0 00 LDY.B #$00 CODE_0CCA96: BB TYX CODE_0CCA97: B9 83 CA LDA.W DATA_0CCA83,Y CODE_0CCA9A: 9D E0 03 STA.W $03E0,X CODE_0CCA9D: B9 84 CA LDA.W DATA_0CCA84,Y CODE_0CCAA0: 9D E1 03 STA.W $03E1,X CODE_0CCAA3: B9 85 CA LDA.W DATA_0CCA85,Y CODE_0CCAA6: 9D E2 03 STA.W $03E2,X CODE_0CCAA9: B9 86 CA LDA.W DATA_0CCA86,Y CODE_0CCAAC: 29 CF AND.B #$CF CODE_0CCAAE: 09 20 ORA.B #$20 CODE_0CCAB0: 9D E3 03 STA.W $03E3,X CODE_0CCAB3: DA PHX CODE_0CCAB4: 8A TXA CODE_0CCAB5: 4A LSR CODE_0CCAB6: 4A LSR CODE_0CCAB7: AA TAX CODE_0CCAB8: B9 86 CA LDA.W DATA_0CCA86,Y CODE_0CCABB: 29 10 AND.B #$10 CODE_0CCABD: 4A LSR CODE_0CCABE: 4A LSR CODE_0CCABF: 4A LSR CODE_0CCAC0: 9D 98 04 STA.W $0498,X CODE_0CCAC3: FA PLX CODE_0CCAC4: E8 INX CODE_0CCAC5: E8 INX CODE_0CCAC6: E8 INX CODE_0CCAC7: E8 INX CODE_0CCAC8: 9B TXY CODE_0CCAC9: C0 0C CPY.B #$0C CODE_0CCACB: D0 CA BNE CODE_0CCA97 Return0CCACD: 60 RTS ; Return CODE_0CCACE: AD 42 14 LDA.W $1442 CODE_0CCAD1: D0 0A BNE CODE_0CCADD CODE_0CCAD3: 9C 44 14 STZ.W $1444 CODE_0CCAD6: A9 98 LDA.B #$98 CODE_0CCAD8: 8D 51 0B STA.W $0B51 CODE_0CCADB: 80 1F BRA Return0CCAFC CODE_0CCADD: AD 44 14 LDA.W $1444 CODE_0CCAE0: F0 1A BEQ Return0CCAFC CODE_0CCAE2: AD 51 0B LDA.W $0B51 CODE_0CCAE5: C9 5C CMP.B #$5C CODE_0CCAE7: 90 0A BCC CODE_0CCAF3 CODE_0CCAE9: A2 01 LDX.B #$01 CODE_0CCAEB: A9 F0 LDA.B #$F0 CODE_0CCAED: 9D 14 0B STA.W $0B14,X CODE_0CCAF0: 20 68 D3 JSR.W CODE_0CD368 CODE_0CCAF3: A2 30 LDX.B #$30 CODE_0CCAF5: A9 AB LDA.B #$AB CODE_0CCAF7: 85 00 STA $00 CODE_0CCAF9: 82 01 00 BRL CODE_0CCAFD Return0CCAFC: 60 RTS ; Return CODE_0CCAFD: A5 00 LDA $00 CODE_0CCAFF: 9D 80 03 STA.W $0380,X CODE_0CCB02: AD 51 0B LDA.W $0B51 CODE_0CCB05: 9D 81 03 STA.W $0381,X CODE_0CCB08: A9 E6 LDA.B #$E6 CODE_0CCB0A: 9D 82 03 STA.W $0382,X CODE_0CCB0D: A9 21 LDA.B #$21 CODE_0CCB0F: 9D 83 03 STA.W $0383,X CODE_0CCB12: 8A TXA CODE_0CCB13: 4A LSR CODE_0CCB14: 4A LSR CODE_0CCB15: AA TAX CODE_0CCB16: A9 02 LDA.B #$02 CODE_0CCB18: 9D 80 04 STA.W $0480,X Return0CCB1B: 60 RTS ; Return CODE_0CCB1C: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_0CCB1F: D0 0F BNE CODE_0CCB30 CODE_0CCB21: A9 60 LDA.B #$60 CODE_0CCB23: 8D 50 0B STA.W $0B50 CODE_0CCB26: A9 01 LDA.B #$01 CODE_0CCB28: 8D 3F 14 STA.W $143F CODE_0CCB2B: 9C 40 14 STZ.W $1440 CODE_0CCB2E: 80 25 BRA CODE_0CCB55 CODE_0CCB30: A2 00 LDX.B #$00 CODE_0CCB32: A0 30 LDY.B #$30 CODE_0CCB34: AD C6 13 LDA.W $13C6 CODE_0CCB37: 3A DEC A CODE_0CCB38: D0 02 BNE CODE_0CCB3C CODE_0CCB3A: A0 18 LDY.B #$18 CODE_0CCB3C: 98 TYA CODE_0CCB3D: 9D 14 0B STA.W $0B14,X CODE_0CCB40: 20 68 D3 JSR.W CODE_0CD368 CODE_0CCB43: CE 3F 14 DEC.W $143F CODE_0CCB46: 10 0D BPL CODE_0CCB55 CODE_0CCB48: A9 01 LDA.B #$01 CODE_0CCB4A: 8D 3F 14 STA.W $143F CODE_0CCB4D: AD 40 14 LDA.W $1440 CODE_0CCB50: 49 01 EOR.B #$01 CODE_0CCB52: 8D 40 14 STA.W $1440 CODE_0CCB55: 20 FA CB JSR.W CODE_0CCBFA CODE_0CCB58: 82 25 00 BRL CODE_0CCB80 CODE_0CCB5B: A0 E0 LDY.B #$E0 CODE_0CCB5D: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_0CCB60: F0 02 BEQ CODE_0CCB64 CODE_0CCB62: A0 E2 LDY.B #$E2 CODE_0CCB64: 8C 02 02 STY.W OAM_ExtendedTile CODE_0CCB67: A9 39 LDA.B #$39 CODE_0CCB69: 8D 03 02 STA.W OAM_ExtendedProp CODE_0CCB6C: A9 50 LDA.B #$50 CODE_0CCB6E: 8D 00 02 STA.W OAM_ExtendedDispX CODE_0CCB71: A9 67 LDA.B #$67 CODE_0CCB73: 8D 01 02 STA.W OAM_ExtendedDispY CODE_0CCB76: A9 02 LDA.B #$02 CODE_0CCB78: 8D 20 04 STA.W $0420 Return0CCB7B: 60 RTS ; Return DATA_0CCB7C: .db $86,$87,$96,$97 CODE_0CCB80: A2 60 LDX.B #$60 CODE_0CCB82: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_0CCB85: F0 03 BEQ CODE_0CCB8A CODE_0CCB87: AE 50 0B LDX.W $0B50 CODE_0CCB8A: 86 00 STX $00 CODE_0CCB8C: A9 67 LDA.B #$67 CODE_0CCB8E: 85 01 STA $01 CODE_0CCB90: A2 14 LDX.B #$14 CODE_0CCB92: A5 00 LDA $00 CODE_0CCB94: C9 B0 CMP.B #$B0 CODE_0CCB96: B0 1D BCS CODE_0CCBB5 CODE_0CCB98: 9D 80 03 STA.W $0380,X CODE_0CCB9B: A5 01 LDA $01 CODE_0CCB9D: 9D 81 03 STA.W $0381,X CODE_0CCBA0: A9 E4 LDA.B #$E4 CODE_0CCBA2: 9D 82 03 STA.W $0382,X CODE_0CCBA5: A9 3F LDA.B #$3F CODE_0CCBA7: 9D 83 03 STA.W $0383,X CODE_0CCBAA: DA PHX CODE_0CCBAB: 8A TXA CODE_0CCBAC: 4A LSR CODE_0CCBAD: 4A LSR CODE_0CCBAE: AA TAX CODE_0CCBAF: A9 02 LDA.B #$02 CODE_0CCBB1: 9D 80 04 STA.W $0480,X CODE_0CCBB4: FA PLX CODE_0CCBB5: A5 00 LDA $00 CODE_0CCBB7: 18 CLC CODE_0CCBB8: 69 10 ADC.B #$10 CODE_0CCBBA: 85 00 STA $00 CODE_0CCBBC: E8 INX CODE_0CCBBD: E8 INX CODE_0CCBBE: E8 INX CODE_0CCBBF: E8 INX CODE_0CCBC0: E0 28 CPX.B #$28 CODE_0CCBC2: D0 CE BNE CODE_0CCB92 CODE_0CCBC4: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_0CCBC7: F0 30 BEQ Return0CCBF9 CODE_0CCBC9: AD 50 0B LDA.W $0B50 CODE_0CCBCC: 38 SEC CODE_0CCBCD: E9 08 SBC.B #$08 CODE_0CCBCF: C9 B0 CMP.B #$B0 CODE_0CCBD1: 90 05 BCC CODE_0CCBD8 CODE_0CCBD3: EE 42 14 INC.W $1442 CODE_0CCBD6: 80 21 BRA Return0CCBF9 CODE_0CCBD8: 9D 80 03 STA.W $0380,X CODE_0CCBDB: A9 6F LDA.B #$6F CODE_0CCBDD: 9D 81 03 STA.W $0381,X CODE_0CCBE0: A0 85 LDY.B #$85 CODE_0CCBE2: AD 40 14 LDA.W $1440 CODE_0CCBE5: F0 02 BEQ CODE_0CCBE9 CODE_0CCBE7: A0 95 LDY.B #$95 CODE_0CCBE9: 98 TYA CODE_0CCBEA: 9D 82 03 STA.W $0382,X CODE_0CCBED: A9 35 LDA.B #$35 CODE_0CCBEF: 9D 83 03 STA.W $0383,X CODE_0CCBF2: 8A TXA CODE_0CCBF3: 4A LSR CODE_0CCBF4: 4A LSR CODE_0CCBF5: AA TAX CODE_0CCBF6: 9E 80 04 STZ.W $0480,X Return0CCBF9: 60 RTS ; Return CODE_0CCBFA: A2 04 LDX.B #$04 CODE_0CCBFC: A9 A8 LDA.B #$A8 CODE_0CCBFE: 85 00 STA $00 CODE_0CCC00: 85 02 STA $02 CODE_0CCC02: A9 5F LDA.B #$5F CODE_0CCC04: 85 01 STA $01 CODE_0CCC06: A0 00 LDY.B #$00 CODE_0CCC08: A5 00 LDA $00 CODE_0CCC0A: 9D 80 03 STA.W $0380,X CODE_0CCC0D: A5 01 LDA $01 CODE_0CCC0F: 9D 81 03 STA.W $0381,X CODE_0CCC12: B9 7C CB LDA.W DATA_0CCB7C,Y CODE_0CCC15: 9D 82 03 STA.W $0382,X CODE_0CCC18: A9 2D LDA.B #$2D CODE_0CCC1A: 9D 83 03 STA.W $0383,X CODE_0CCC1D: DA PHX CODE_0CCC1E: 8A TXA CODE_0CCC1F: 4A LSR CODE_0CCC20: 4A LSR CODE_0CCC21: AA TAX CODE_0CCC22: A9 02 LDA.B #$02 CODE_0CCC24: 9D 80 04 STA.W $0480,X CODE_0CCC27: FA PLX CODE_0CCC28: C8 INY CODE_0CCC29: A5 00 LDA $00 CODE_0CCC2B: 18 CLC CODE_0CCC2C: 69 08 ADC.B #$08 CODE_0CCC2E: 85 00 STA $00 CODE_0CCC30: 98 TYA CODE_0CCC31: 29 01 AND.B #$01 CODE_0CCC33: D0 0B BNE CODE_0CCC40 CODE_0CCC35: A5 02 LDA $02 CODE_0CCC37: 85 00 STA $00 CODE_0CCC39: A5 01 LDA $01 CODE_0CCC3B: 18 CLC CODE_0CCC3C: 69 08 ADC.B #$08 CODE_0CCC3E: 85 01 STA $01 CODE_0CCC40: E8 INX CODE_0CCC41: E8 INX CODE_0CCC42: E8 INX CODE_0CCC43: E8 INX CODE_0CCC44: C0 04 CPY.B #$04 CODE_0CCC46: D0 C0 BNE CODE_0CCC08 Return0CCC48: 60 RTS ; Return DATA_0CCC49: .db $03,$01,$03,$01 DATA_0CCC4D: .db $93,$73,$FF,$7F CODE_0CCC51: A5 13 LDA RAM_FrameCounter CODE_0CCC53: 29 02 AND.B #$02 CODE_0CCC55: AA TAX CODE_0CCC56: C2 20 REP #$20 ; Accum (16 bit) CODE_0CCC58: BD 4D CC LDA.W DATA_0CCC4D,X CODE_0CCC5B: 8D 01 07 STA.W $0701 CODE_0CCC5E: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CCC60: CE 41 14 DEC.W $1441 CODE_0CCC63: 10 1D BPL CODE_0CCC82 CODE_0CCC65: 20 73 D3 JSR.W CODE_0CD373 CODE_0CCC68: AE C6 13 LDX.W $13C6 CODE_0CCC6B: BF 50 94 00 LDA.L CutsceneBgColor-1,X CODE_0CCC6F: 0A ASL CODE_0CCC70: AA TAX CODE_0CCC71: C2 20 REP #$20 ; Accum (16 bit) CODE_0CCC73: BF A0 B0 00 LDA.L Palettes?,X CODE_0CCC77: 8D 01 07 STA.W $0701 CODE_0CCC7A: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CCC7C: EE 42 14 INC.W $1442 CODE_0CCC7F: 82 18 00 BRL CODE_0CCC9A CODE_0CCC82: CE 3F 14 DEC.W $143F CODE_0CCC85: 10 10 BPL CODE_0CCC97 CODE_0CCC87: AD 40 14 LDA.W $1440 CODE_0CCC8A: 1A INC A CODE_0CCC8B: 29 03 AND.B #$03 CODE_0CCC8D: 8D 40 14 STA.W $1440 CODE_0CCC90: AA TAX CODE_0CCC91: BD 49 CC LDA.W DATA_0CCC49,X CODE_0CCC94: 8D 3F 14 STA.W $143F CODE_0CCC97: 20 B6 CC JSR.W CODE_0CCCB6 CODE_0CCC9A: A2 1C LDX.B #$1C CODE_0CCC9C: 82 5D FF BRL CODE_0CCBFC DATA_0CCC9F: .db $A0,$A4,$00,$C0,$C4,$00,$A0,$A2 .db $A4,$C0,$C2,$C4,$00,$00,$00,$00 .db $00,$00 DATA_0CCCB1: .db $00,$06,$0C,$06,$0C CODE_0CCCB6: AD 40 14 LDA.W $1440 CODE_0CCCB9: 1A INC A CODE_0CCCBA: AA TAX CODE_0CCCBB: BD B1 CC LDA.W DATA_0CCCB1,X CODE_0CCCBE: 85 08 STA $08 CODE_0CCCC0: A0 A0 LDY.B #$A0 CODE_0CCCC2: E0 00 CPX.B #$00 CODE_0CCCC4: D0 02 BNE CODE_0CCCC8 CODE_0CCCC6: A0 A8 LDY.B #$A8 CODE_0CCCC8: 84 00 STY $00 CODE_0CCCCA: 84 04 STY $04 CODE_0CCCCC: A9 57 LDA.B #$57 CODE_0CCCCE: 85 02 STA $02 CODE_0CCCD0: A2 00 LDX.B #$00 CODE_0CCCD2: A4 08 LDY $08 CODE_0CCCD4: B9 9F CC LDA.W DATA_0CCC9F,Y CODE_0CCCD7: F0 29 BEQ CODE_0CCD02 CODE_0CCCD9: 9D 06 02 STA.W $0206,X CODE_0CCCDC: A0 35 LDY.B #$35 CODE_0CCCDE: AD 40 14 LDA.W $1440 CODE_0CCCE1: 30 06 BMI CODE_0CCCE9 CODE_0CCCE3: 29 02 AND.B #$02 CODE_0CCCE5: F0 02 BEQ CODE_0CCCE9 CODE_0CCCE7: A0 39 LDY.B #$39 CODE_0CCCE9: 98 TYA CODE_0CCCEA: 9D 07 02 STA.W $0207,X CODE_0CCCED: A5 00 LDA $00 CODE_0CCCEF: 9D 04 02 STA.W $0204,X CODE_0CCCF2: A5 02 LDA $02 CODE_0CCCF4: 9D 05 02 STA.W $0205,X CODE_0CCCF7: DA PHX CODE_0CCCF8: 8A TXA CODE_0CCCF9: 4A LSR CODE_0CCCFA: 4A LSR CODE_0CCCFB: AA TAX CODE_0CCCFC: A9 02 LDA.B #$02 CODE_0CCCFE: 9D 21 04 STA.W $0421,X CODE_0CCD01: FA PLX CODE_0CCD02: E6 08 INC $08 CODE_0CCD04: A5 00 LDA $00 CODE_0CCD06: 18 CLC CODE_0CCD07: 69 10 ADC.B #$10 CODE_0CCD09: 85 00 STA $00 CODE_0CCD0B: E8 INX CODE_0CCD0C: E8 INX CODE_0CCD0D: E8 INX CODE_0CCD0E: E8 INX CODE_0CCD0F: E0 0C CPX.B #$0C CODE_0CCD11: D0 0B BNE CODE_0CCD1E CODE_0CCD13: A5 04 LDA $04 CODE_0CCD15: 85 00 STA $00 CODE_0CCD17: A5 02 LDA $02 CODE_0CCD19: 18 CLC CODE_0CCD1A: 69 10 ADC.B #$10 CODE_0CCD1C: 85 02 STA $02 CODE_0CCD1E: E0 18 CPX.B #$18 CODE_0CCD20: D0 B0 BNE CODE_0CCCD2 Return0CCD22: 60 RTS ; Return CODE_0CCD23: A2 00 LDX.B #$00 CODE_0CCD25: A5 1C LDA RAM_ScreenBndryYLo CODE_0CCD27: C9 C0 CMP.B #$C0 CODE_0CCD29: D0 06 BNE CODE_0CCD31 CODE_0CCD2B: 64 1A STZ RAM_ScreenBndryXLo CODE_0CCD2D: 64 1B STZ RAM_ScreenBndryXHi CODE_0CCD2F: 80 44 BRA CODE_0CCD75 CODE_0CCD31: 9D 41 0B STA.W $0B41,X CODE_0CCD34: A5 1D LDA RAM_ScreenBndryYHi CODE_0CCD36: 9D 5F 0B STA.W $0B5F,X CODE_0CCD39: A9 F0 LDA.B #$F0 CODE_0CCD3B: 9D 05 0B STA.W $0B05,X CODE_0CCD3E: 20 3A D3 JSR.W CODE_0CD33A CODE_0CCD41: 20 83 D2 JSR.W CODE_0CD283 CODE_0CCD44: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CCD46: BD 5F 0B LDA.W $0B5F,X CODE_0CCD49: 85 1D STA RAM_ScreenBndryYHi CODE_0CCD4B: BD 41 0B LDA.W $0B41,X CODE_0CCD4E: 85 1C STA RAM_ScreenBndryYLo CODE_0CCD50: C9 FD CMP.B #$FD CODE_0CCD52: D0 05 BNE CODE_0CCD59 CODE_0CCD54: A9 01 LDA.B #$01 CODE_0CCD56: 8D 44 14 STA.W $1444 CODE_0CCD59: A5 1C LDA RAM_ScreenBndryYLo CODE_0CCD5B: C9 E8 CMP.B #$E8 CODE_0CCD5D: D0 03 BNE CODE_0CCD62 CODE_0CCD5F: 20 C9 D5 JSR.W CODE_0CD5C9 CODE_0CCD62: A5 1C LDA RAM_ScreenBndryYLo CODE_0CCD64: C9 C0 CMP.B #$C0 CODE_0CCD66: D0 0D BNE CODE_0CCD75 CODE_0CCD68: A9 22 LDA.B #$22 CODE_0CCD6A: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_0CCD6D: 20 D0 D1 JSR.W CODE_0CD1D0 CODE_0CCD70: A9 08 LDA.B #$08 CODE_0CCD72: 8D 06 0B STA.W $0B06 CODE_0CCD75: A2 01 LDX.B #$01 CODE_0CCD77: BD 05 0B LDA.W $0B05,X CODE_0CCD7A: 10 09 BPL CODE_0CCD85 CODE_0CCD7C: BD 41 0B LDA.W $0B41,X CODE_0CCD7F: C9 68 CMP.B #$68 CODE_0CCD81: B0 0E BCS CODE_0CCD91 CODE_0CCD83: 80 0F BRA CODE_0CCD94 CODE_0CCD85: BD 41 0B LDA.W $0B41,X CODE_0CCD88: C9 78 CMP.B #$78 CODE_0CCD8A: D0 05 BNE CODE_0CCD91 CODE_0CCD8C: EE 42 14 INC.W $1442 CODE_0CCD8F: 80 0D BRA CODE_0CCD9E CODE_0CCD91: 20 3A D3 JSR.W CODE_0CD33A CODE_0CCD94: A2 00 LDX.B #$00 CODE_0CCD96: A9 04 LDA.B #$04 CODE_0CCD98: 9D 14 0B STA.W $0B14,X CODE_0CCD9B: 20 68 D3 JSR.W CODE_0CD368 CODE_0CCD9E: 82 89 00 BRL CODE_0CCE2A CODE_0CCDA1: A5 13 LDA RAM_FrameCounter CODE_0CCDA3: 29 03 AND.B #$03 CODE_0CCDA5: D0 12 BNE CODE_0CCDB9 CODE_0CCDA7: AD 47 14 LDA.W $1447 CODE_0CCDAA: 18 CLC CODE_0CCDAB: 69 02 ADC.B #$02 CODE_0CCDAD: 8D 47 14 STA.W $1447 CODE_0CCDB0: C9 80 CMP.B #$80 CODE_0CCDB2: 90 05 BCC CODE_0CCDB9 ADDR_0CCDB4: A9 7F LDA.B #$7F ADDR_0CCDB6: 8D 47 14 STA.W $1447 CODE_0CCDB9: A2 00 LDX.B #$00 CODE_0CCDBB: A5 1C LDA RAM_ScreenBndryYLo CODE_0CCDBD: 9D 41 0B STA.W $0B41,X CODE_0CCDC0: A5 1D LDA RAM_ScreenBndryYHi CODE_0CCDC2: 9D 5F 0B STA.W $0B5F,X CODE_0CCDC5: AD 47 14 LDA.W $1447 CODE_0CCDC8: 9D 05 0B STA.W $0B05,X CODE_0CCDCB: 20 3A D3 JSR.W CODE_0CD33A CODE_0CCDCE: BD 41 0B LDA.W $0B41,X CODE_0CCDD1: F0 04 BEQ CODE_0CCDD7 CODE_0CCDD3: C9 20 CMP.B #$20 CODE_0CCDD5: B0 03 BCS CODE_0CCDDA CODE_0CCDD7: 20 83 D2 JSR.W CODE_0CD283 CODE_0CCDDA: BD 5F 0B LDA.W $0B5F,X CODE_0CCDDD: 85 1D STA RAM_ScreenBndryYHi CODE_0CCDDF: BD 41 0B LDA.W $0B41,X CODE_0CCDE2: 85 1C STA RAM_ScreenBndryYLo CODE_0CCDE4: F0 09 BEQ CODE_0CCDEF CODE_0CCDE6: C9 20 CMP.B #$20 CODE_0CCDE8: 90 05 BCC CODE_0CCDEF CODE_0CCDEA: A9 08 LDA.B #$08 CODE_0CCDEC: 8D 06 0B STA.W $0B06 CODE_0CCDEF: BD 41 0B LDA.W $0B41,X CODE_0CCDF2: F0 0E BEQ CODE_0CCE02 CODE_0CCDF4: C9 A8 CMP.B #$A8 CODE_0CCDF6: 90 0A BCC CODE_0CCE02 CODE_0CCDF8: A9 7F LDA.B #$7F CODE_0CCDFA: 8D 3F 14 STA.W $143F CODE_0CCDFD: EE 42 14 INC.W $1442 CODE_0CCE00: 80 1C BRA CODE_0CCE1E CODE_0CCE02: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CCE04: A2 01 LDX.B #$01 CODE_0CCE06: BD 05 0B LDA.W $0B05,X CODE_0CCE09: 10 09 BPL CODE_0CCE14 CODE_0CCE0B: BD 41 0B LDA.W $0B41,X CODE_0CCE0E: C9 68 CMP.B #$68 CODE_0CCE10: B0 09 BCS CODE_0CCE1B CODE_0CCE12: 80 0A BRA CODE_0CCE1E CODE_0CCE14: BD 41 0B LDA.W $0B41,X CODE_0CCE17: C9 78 CMP.B #$78 CODE_0CCE19: B0 03 BCS CODE_0CCE1E CODE_0CCE1B: 20 3A D3 JSR.W CODE_0CD33A CODE_0CCE1E: A9 77 LDA.B #$77 CODE_0CCE20: 38 SEC CODE_0CCE21: ED 41 0B SBC.W $0B41 CODE_0CCE24: 8D 43 0B STA.W $0B43 CODE_0CCE27: 20 AB CE JSR.W CODE_0CCEAB CODE_0CCE2A: 20 48 CE JSR.W CODE_0CCE48 CODE_0CCE2D: A2 14 LDX.B #$14 CODE_0CCE2F: A9 A8 LDA.B #$A8 CODE_0CCE31: 85 00 STA $00 CODE_0CCE33: 85 02 STA $02 CODE_0CCE35: A9 5F LDA.B #$5F CODE_0CCE37: 38 SEC CODE_0CCE38: ED 41 0B SBC.W $0B41 CODE_0CCE3B: 85 01 STA $01 CODE_0CCE3D: 82 C6 FD BRL CODE_0CCC06 DATA_0CCE40: .db $80,$81,$82,$83,$83,$82,$81,$80 CODE_0CCE48: CE 3F 14 DEC.W $143F CODE_0CCE4B: 10 0D BPL CODE_0CCE5A CODE_0CCE4D: A9 05 LDA.B #$05 CODE_0CCE4F: 8D 3F 14 STA.W $143F CODE_0CCE52: AD 40 14 LDA.W $1440 CODE_0CCE55: 49 01 EOR.B #$01 CODE_0CCE57: 8D 40 14 STA.W $1440 CODE_0CCE5A: A9 98 LDA.B #$98 CODE_0CCE5C: 85 00 STA $00 CODE_0CCE5E: A0 21 LDY.B #$21 CODE_0CCE60: AD 40 14 LDA.W $1440 CODE_0CCE63: F0 02 BEQ CODE_0CCE67 CODE_0CCE65: A0 61 LDY.B #$61 CODE_0CCE67: 84 04 STY $04 CODE_0CCE69: AD 40 14 LDA.W $1440 CODE_0CCE6C: 0A ASL CODE_0CCE6D: 0A ASL CODE_0CCE6E: A8 TAY CODE_0CCE6F: A2 00 LDX.B #$00 CODE_0CCE71: A5 00 LDA $00 CODE_0CCE73: 9D 04 02 STA.W $0204,X CODE_0CCE76: AD 42 0B LDA.W $0B42 CODE_0CCE79: 9D 05 02 STA.W $0205,X CODE_0CCE7C: B9 40 CE LDA.W DATA_0CCE40,Y CODE_0CCE7F: 9D 06 02 STA.W $0206,X CODE_0CCE82: A5 04 LDA $04 CODE_0CCE84: 9D 07 02 STA.W $0207,X CODE_0CCE87: DA PHX CODE_0CCE88: 8A TXA CODE_0CCE89: 4A LSR CODE_0CCE8A: 4A LSR CODE_0CCE8B: AA TAX CODE_0CCE8C: A9 02 LDA.B #$02 CODE_0CCE8E: 9D 21 04 STA.W $0421,X CODE_0CCE91: FA PLX CODE_0CCE92: A5 00 LDA $00 CODE_0CCE94: 18 CLC CODE_0CCE95: 69 10 ADC.B #$10 CODE_0CCE97: 85 00 STA $00 CODE_0CCE99: C8 INY CODE_0CCE9A: E8 INX CODE_0CCE9B: E8 INX CODE_0CCE9C: E8 INX CODE_0CCE9D: E8 INX CODE_0CCE9E: E0 10 CPX.B #$10 CODE_0CCEA0: D0 CF BNE CODE_0CCE71 Return0CCEA2: 60 RTS ; Return DATA_0CCEA3: .db $C6,$C8,$C6,$C8 DATA_0CCEA7: .db $25,$25,$65,$65 CODE_0CCEAB: A2 30 LDX.B #$30 CODE_0CCEAD: A9 B0 LDA.B #$B0 CODE_0CCEAF: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CCEB2: AD 43 0B LDA.W $0B43 CODE_0CCEB5: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CCEB8: A5 13 LDA RAM_FrameCounter CODE_0CCEBA: 29 06 AND.B #$06 CODE_0CCEBC: 4A LSR CODE_0CCEBD: A8 TAY CODE_0CCEBE: B9 A3 CE LDA.W DATA_0CCEA3,Y CODE_0CCEC1: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CCEC4: B9 A7 CE LDA.W DATA_0CCEA7,Y CODE_0CCEC7: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CCECA: 8A TXA CODE_0CCECB: 4A LSR CODE_0CCECC: 4A LSR CODE_0CCECD: AA TAX CODE_0CCECE: A9 02 LDA.B #$02 CODE_0CCED0: 9D 20 04 STA.W $0420,X Return0CCED3: 60 RTS ; Return DATA_0CCED4: .db $02,$FF,$02,$03,$04,$05,$06 DATA_0CCEDB: .db $03,$01,$07,$07,$07,$07,$07 CODE_0CCEE2: AD 40 14 LDA.W $1440 CODE_0CCEE5: C9 02 CMP.B #$02 CODE_0CCEE7: B0 26 BCS CODE_0CCF0F CODE_0CCEE9: A5 13 LDA RAM_FrameCounter CODE_0CCEEB: 29 01 AND.B #$01 CODE_0CCEED: F0 08 BEQ CODE_0CCEF7 CODE_0CCEEF: AD 40 14 LDA.W $1440 CODE_0CCEF2: 49 01 EOR.B #$01 CODE_0CCEF4: 8D 40 14 STA.W $1440 CODE_0CCEF7: A2 02 LDX.B #$02 CODE_0CCEF9: 20 3A D3 JSR.W CODE_0CD33A CODE_0CCEFC: 20 68 D3 JSR.W CODE_0CD368 CODE_0CCEFF: AD 43 0B LDA.W $0B43 CODE_0CCF02: C9 5C CMP.B #$5C CODE_0CCF04: 90 07 BCC CODE_0CCF0D CODE_0CCF06: A9 02 LDA.B #$02 CODE_0CCF08: 8D 40 14 STA.W $1440 CODE_0CCF0B: 80 02 BRA CODE_0CCF0F CODE_0CCF0D: 80 29 BRA CODE_0CCF38 CODE_0CCF0F: CE 3F 14 DEC.W $143F CODE_0CCF12: 10 24 BPL CODE_0CCF38 CODE_0CCF14: AD 47 14 LDA.W $1447 CODE_0CCF17: 1A INC A CODE_0CCF18: 8D 47 14 STA.W $1447 CODE_0CCF1B: AA TAX CODE_0CCF1C: BD D4 CE LDA.W DATA_0CCED4,X CODE_0CCF1F: 8D 40 14 STA.W $1440 CODE_0CCF22: BD DB CE LDA.W DATA_0CCEDB,X CODE_0CCF25: 8D 3F 14 STA.W $143F CODE_0CCF28: E0 01 CPX.B #$01 CODE_0CCF2A: D0 05 BNE CODE_0CCF31 CODE_0CCF2C: A9 08 LDA.B #$08 CODE_0CCF2E: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_0CCF31: E0 06 CPX.B #$06 CODE_0CCF33: D0 03 BNE CODE_0CCF38 CODE_0CCF35: 20 C6 D5 JSR.W CODE_0CD5C6 CODE_0CCF38: 82 0E 00 BRL CODE_0CCF49 DATA_0CCF3B: .db $B7,$B8,$89,$99,$A9,$B9,$E8 DATA_0CCF42: .db $25,$25,$23,$23,$23,$23,$23 CODE_0CCF49: AC 40 14 LDY.W $1440 CODE_0CCF4C: C0 FF CPY.B #$FF CODE_0CCF4E: F0 21 BEQ Return0CCF71 CODE_0CCF50: A2 04 LDX.B #$04 CODE_0CCF52: AD 52 0B LDA.W $0B52 CODE_0CCF55: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CCF58: AD 43 0B LDA.W $0B43 CODE_0CCF5B: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CCF5E: B9 3B CF LDA.W DATA_0CCF3B,Y CODE_0CCF61: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CCF64: B9 42 CF LDA.W DATA_0CCF42,Y CODE_0CCF67: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CCF6A: 8A TXA CODE_0CCF6B: 4A LSR CODE_0CCF6C: 4A LSR CODE_0CCF6D: AA TAX CODE_0CCF6E: 9E 20 04 STZ.W $0420,X Return0CCF71: 60 RTS ; Return CODE_0CCF72: CE 3F 14 DEC.W $143F CODE_0CCF75: 10 14 BPL CODE_0CCF8B CODE_0CCF77: A9 03 LDA.B #$03 CODE_0CCF79: 8D 3F 14 STA.W $143F CODE_0CCF7C: EE 40 14 INC.W $1440 CODE_0CCF7F: AD 40 14 LDA.W $1440 CODE_0CCF82: C9 04 CMP.B #$04 CODE_0CCF84: D0 05 BNE CODE_0CCF8B CODE_0CCF86: EE 42 14 INC.W $1442 CODE_0CCF89: 80 05 BRA CODE_0CCF90 CODE_0CCF8B: A2 04 LDX.B #$04 CODE_0CCF8D: 20 A3 CF JSR.W CODE_0CCFA3 CODE_0CCF90: A2 08 LDX.B #$08 CODE_0CCF92: A9 A8 LDA.B #$A8 CODE_0CCF94: 85 00 STA $00 CODE_0CCF96: 85 02 STA $02 CODE_0CCF98: A9 5F LDA.B #$5F CODE_0CCF9A: 85 01 STA $01 CODE_0CCF9C: 82 67 FC BRL CODE_0CCC06 DATA_0CCF9F: .db $60,$62,$64,$66 CODE_0CCFA3: AC 40 14 LDY.W $1440 CODE_0CCFA6: B9 9F CF LDA.W DATA_0CCF9F,Y CODE_0CCFA9: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CCFAC: A0 21 LDY.B #$21 CODE_0CCFAE: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CCFB1: A9 AC LDA.B #$AC CODE_0CCFB3: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CCFB6: A9 63 LDA.B #$63 CODE_0CCFB8: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CCFBB: 8A TXA CODE_0CCFBC: 4A LSR CODE_0CCFBD: 4A LSR CODE_0CCFBE: AA TAX CODE_0CCFBF: A9 02 LDA.B #$02 CODE_0CCFC1: 9D 20 04 STA.W $0420,X Return0CCFC4: 60 RTS ; Return CODE_0CCFC5: AD 45 14 LDA.W $1445 CODE_0CCFC8: C9 03 CMP.B #$03 CODE_0CCFCA: F0 07 BEQ CODE_0CCFD3 CODE_0CCFCC: A9 08 LDA.B #$08 CODE_0CCFCE: 8D 3F 14 STA.W $143F CODE_0CCFD1: 80 08 BRA CODE_0CCFDB CODE_0CCFD3: CE 3F 14 DEC.W $143F CODE_0CCFD6: 10 03 BPL CODE_0CCFDB CODE_0CCFD8: EE 42 14 INC.W $1442 CODE_0CCFDB: 82 B2 FF BRL CODE_0CCF90 CODE_0CCFDE: AD 43 14 LDA.W $1443 CODE_0CCFE1: 0D 4D 14 ORA.W $144D CODE_0CCFE4: D0 10 BNE Return0CCFF6 CODE_0CCFE6: A5 16 LDA $16 CODE_0CCFE8: 05 18 ORA $18 CODE_0CCFEA: 29 C0 AND.B #$C0 CODE_0CCFEC: F0 08 BEQ Return0CCFF6 CODE_0CCFEE: 9C 42 14 STZ.W $1442 CODE_0CCFF1: A9 0B LDA.B #$0B CODE_0CCFF3: 8D 00 01 STA.W RAM_GameMode Return0CCFF6: 60 RTS ; Return CODE_0CCFF7: AD 43 14 LDA.W $1443 CODE_0CCFFA: F0 06 BEQ Return0CD002 CODE_0CCFFC: EE 42 14 INC.W $1442 CODE_0CCFFF: 82 DC FF BRL CODE_0CCFDE Return0CD002: 60 RTS ; Return CODE_0CD003: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_0CD006: C9 01 CMP.B #$01 CODE_0CD008: F0 2A BEQ CODE_0CD034 CODE_0CD00A: C9 02 CMP.B #$02 CODE_0CD00C: F0 0B BEQ CODE_0CD019 CODE_0CD00E: C9 03 CMP.B #$03 CODE_0CD010: F0 2C BEQ CODE_0CD03E CODE_0CD012: A9 10 LDA.B #$10 CODE_0CD014: 8D 3F 14 STA.W $143F CODE_0CD017: 80 2D BRA CODE_0CD046 CODE_0CD019: AD 3F 14 LDA.W $143F CODE_0CD01C: 29 F8 AND.B #$F8 CODE_0CD01E: F0 03 BEQ CODE_0CD023 CODE_0CD020: 20 69 D0 JSR.W CODE_0CD069 CODE_0CD023: 20 83 D2 JSR.W CODE_0CD283 CODE_0CD026: CE 3F 14 DEC.W $143F CODE_0CD029: 10 1B BPL CODE_0CD046 CODE_0CD02B: 9C 3E 14 STZ.W RAM_ScrollSprNum CODE_0CD02E: 64 1A STZ RAM_ScreenBndryXLo CODE_0CD030: 64 1B STZ RAM_ScreenBndryXHi CODE_0CD032: 80 12 BRA CODE_0CD046 CODE_0CD034: A9 3F LDA.B #$3F CODE_0CD036: 8D 3F 14 STA.W $143F CODE_0CD039: A9 03 LDA.B #$03 CODE_0CD03B: 8D 3E 14 STA.W RAM_ScrollSprNum CODE_0CD03E: CE 3F 14 DEC.W $143F CODE_0CD041: 10 03 BPL CODE_0CD046 CODE_0CD043: EE 42 14 INC.W $1442 CODE_0CD046: A2 A8 LDX.B #$A8 CODE_0CD048: A5 1A LDA RAM_ScreenBndryXLo CODE_0CD04A: F0 08 BEQ CODE_0CD054 CODE_0CD04C: 10 04 BPL CODE_0CD052 ADDR_0CD04E: A2 A9 LDX.B #$A9 ADDR_0CD050: 80 02 BRA CODE_0CD054 CODE_0CD052: A2 A7 LDX.B #$A7 CODE_0CD054: 86 00 STX $00 CODE_0CD056: 86 02 STX $02 CODE_0CD058: A9 5F LDA.B #$5F CODE_0CD05A: 85 01 STA $01 CODE_0CD05C: A2 08 LDX.B #$08 CODE_0CD05E: 82 A5 FB BRL CODE_0CCC06 DATA_0CD061: .db $7C,$7D,$7D,$7C DATA_0CD065: .db $30,$30,$F0,$F0 CODE_0CD069: A0 00 LDY.B #$00 CODE_0CD06B: A2 04 LDX.B #$04 CODE_0CD06D: A5 94 LDA RAM_MarioXPos CODE_0CD06F: 18 CLC CODE_0CD070: 69 10 ADC.B #$10 CODE_0CD072: 85 00 STA $00 CODE_0CD074: 85 02 STA $02 CODE_0CD076: A5 96 LDA RAM_MarioYPos CODE_0CD078: 18 CLC CODE_0CD079: 69 10 ADC.B #$10 CODE_0CD07B: 85 01 STA $01 CODE_0CD07D: A5 00 LDA $00 CODE_0CD07F: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CD082: A5 01 LDA $01 CODE_0CD084: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CD087: B9 61 D0 LDA.W DATA_0CD061,Y CODE_0CD08A: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CD08D: B9 65 D0 LDA.W DATA_0CD065,Y CODE_0CD090: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CD093: DA PHX CODE_0CD094: 8A TXA CODE_0CD095: 4A LSR CODE_0CD096: 4A LSR CODE_0CD097: AA TAX CODE_0CD098: 9E 20 04 STZ.W $0420,X CODE_0CD09B: FA PLX CODE_0CD09C: A5 00 LDA $00 CODE_0CD09E: 18 CLC CODE_0CD09F: 69 08 ADC.B #$08 CODE_0CD0A1: 85 00 STA $00 CODE_0CD0A3: C8 INY CODE_0CD0A4: C0 02 CPY.B #$02 CODE_0CD0A6: D0 0B BNE CODE_0CD0B3 CODE_0CD0A8: A5 02 LDA $02 CODE_0CD0AA: 85 00 STA $00 CODE_0CD0AC: A5 01 LDA $01 CODE_0CD0AE: 18 CLC CODE_0CD0AF: 69 08 ADC.B #$08 CODE_0CD0B1: 85 01 STA $01 CODE_0CD0B3: E8 INX CODE_0CD0B4: E8 INX CODE_0CD0B5: E8 INX CODE_0CD0B6: E8 INX CODE_0CD0B7: C0 04 CPY.B #$04 CODE_0CD0B9: D0 C2 BNE CODE_0CD07D Return0CD0BB: 60 RTS ; Return CODE_0CD0BC: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_0CD0BF: C9 01 CMP.B #$01 CODE_0CD0C1: D0 03 BNE CODE_0CD0C6 CODE_0CD0C3: EE 42 14 INC.W $1442 CODE_0CD0C6: 82 C7 FE BRL CODE_0CCF90 CODE_0CD0C9: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_0CD0CC: F0 03 BEQ Return0CD0D1 CODE_0CD0CE: 20 C6 D5 JSR.W CODE_0CD5C6 Return0CD0D1: 60 RTS ; Return CODE_0CD0D2: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_0CD0D5: C9 01 CMP.B #$01 CODE_0CD0D7: D0 2E BNE Return0CD107 CODE_0CD0D9: A2 00 LDX.B #$00 CODE_0CD0DB: A5 1C LDA RAM_ScreenBndryYLo CODE_0CD0DD: 9D 41 0B STA.W $0B41,X CODE_0CD0E0: A5 1D LDA RAM_ScreenBndryYHi CODE_0CD0E2: 9D 5F 0B STA.W $0B5F,X CODE_0CD0E5: A9 08 LDA.B #$08 CODE_0CD0E7: 9D 05 0B STA.W $0B05,X CODE_0CD0EA: 20 3A D3 JSR.W CODE_0CD33A CODE_0CD0ED: BD 41 0B LDA.W $0B41,X CODE_0CD0F0: F0 0E BEQ CODE_0CD100 CODE_0CD0F2: C9 09 CMP.B #$09 CODE_0CD0F4: 90 0A BCC CODE_0CD100 CODE_0CD0F6: EE 42 14 INC.W $1442 CODE_0CD0F9: A9 28 LDA.B #$28 CODE_0CD0FB: 8D 47 14 STA.W $1447 CODE_0CD0FE: 80 07 BRA Return0CD107 CODE_0CD100: 85 1C STA RAM_ScreenBndryYLo CODE_0CD102: BD 5F 0B LDA.W $0B5F,X CODE_0CD105: 85 1D STA RAM_ScreenBndryYHi Return0CD107: 60 RTS ; Return CODE_0CD108: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_0CD10B: C9 02 CMP.B #$02 CODE_0CD10D: D0 5F BNE Return0CD16E CODE_0CD10F: CE 47 14 DEC.W $1447 CODE_0CD112: AD 47 14 LDA.W $1447 CODE_0CD115: 30 07 BMI CODE_0CD11E CODE_0CD117: C9 24 CMP.B #$24 CODE_0CD119: 90 03 BCC CODE_0CD11E CODE_0CD11B: 20 69 D0 JSR.W CODE_0CD069 CODE_0CD11E: AD 47 14 LDA.W $1447 CODE_0CD121: C9 C8 CMP.B #$C8 CODE_0CD123: D0 0E BNE CODE_0CD133 CODE_0CD125: A9 40 LDA.B #$40 CODE_0CD127: 8D 3F 14 STA.W $143F CODE_0CD12A: A9 1A LDA.B #$1A CODE_0CD12C: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_0CD12F: EE 42 14 INC.W $1442 Return0CD132: 60 RTS ; Return CODE_0CD133: A2 00 LDX.B #$00 CODE_0CD135: A5 1C LDA RAM_ScreenBndryYLo CODE_0CD137: 9D 41 0B STA.W $0B41,X CODE_0CD13A: A5 1D LDA RAM_ScreenBndryYHi CODE_0CD13C: 9D 5F 0B STA.W $0B5F,X CODE_0CD13F: A5 1A LDA RAM_ScreenBndryXLo CODE_0CD141: 9D 50 0B STA.W $0B50,X CODE_0CD144: A5 1B LDA RAM_ScreenBndryXHi CODE_0CD146: 9D 6E 0B STA.W $0B6E,X CODE_0CD149: AD 47 14 LDA.W $1447 CODE_0CD14C: 9D 05 0B STA.W $0B05,X CODE_0CD14F: A9 E8 LDA.B #$E8 CODE_0CD151: 9D 14 0B STA.W $0B14,X CODE_0CD154: 20 3A D3 JSR.W CODE_0CD33A CODE_0CD157: 20 68 D3 JSR.W CODE_0CD368 CODE_0CD15A: BD 41 0B LDA.W $0B41,X CODE_0CD15D: 85 1C STA RAM_ScreenBndryYLo CODE_0CD15F: BD 5F 0B LDA.W $0B5F,X CODE_0CD162: 85 1D STA RAM_ScreenBndryYHi CODE_0CD164: BD 50 0B LDA.W $0B50,X CODE_0CD167: 85 1A STA RAM_ScreenBndryXLo CODE_0CD169: BD 6E 0B LDA.W $0B6E,X CODE_0CD16C: 85 1B STA RAM_ScreenBndryXHi Return0CD16E: 60 RTS ; Return CODE_0CD16F: A5 13 LDA RAM_FrameCounter CODE_0CD171: 29 02 AND.B #$02 CODE_0CD173: F0 0E BEQ CODE_0CD183 CODE_0CD175: C2 20 REP #$20 ; Accum (16 bit) CODE_0CD177: A5 20 LDA $20 CODE_0CD179: 38 SEC CODE_0CD17A: E9 01 00 SBC.W #$0001 CODE_0CD17D: 85 20 STA $20 CODE_0CD17F: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CD181: 80 0C BRA CODE_0CD18F CODE_0CD183: C2 20 REP #$20 ; Accum (16 bit) CODE_0CD185: A5 20 LDA $20 CODE_0CD187: 18 CLC CODE_0CD188: 69 01 00 ADC.W #$0001 CODE_0CD18B: 85 20 STA $20 CODE_0CD18D: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CD18F: CE 3F 14 DEC.W $143F CODE_0CD192: 10 07 BPL Return0CD19B CODE_0CD194: 64 20 STZ $20 CODE_0CD196: 64 21 STZ $21 CODE_0CD198: EE 42 14 INC.W $1442 Return0CD19B: 60 RTS ; Return CODE_0CD19C: AD 3E 14 LDA.W RAM_ScrollSprNum CODE_0CD19F: C9 03 CMP.B #$03 CODE_0CD1A1: D0 03 BNE Return0CD1A6 CODE_0CD1A3: 20 C6 D5 JSR.W CODE_0CD5C6 Return0CD1A6: 60 RTS ; Return DATA_0CD1A7: .db $20,$B3,$00,$0F,$C0,$01,$C1,$01 .db $C2,$01,$C3,$01,$C4,$01,$C5,$01 .db $C1,$41,$C0,$41,$20,$D3,$00,$0F .db $D0,$01,$D1,$01,$D2,$01,$D3,$01 .db $D4,$01,$D5,$01,$D1,$41,$D0,$41 .db $FF CODE_0CD1D0: A0 28 LDY.B #$28 CODE_0CD1D2: 98 TYA CODE_0CD1D3: 18 CLC CODE_0CD1D4: 6F 7B 83 7F ADC.L $7F837B CODE_0CD1D8: AA TAX CODE_0CD1D9: B9 A7 D1 LDA.W DATA_0CD1A7,Y CODE_0CD1DC: 9F 7D 83 7F STA.L $7F837D,X CODE_0CD1E0: CA DEX CODE_0CD1E1: 88 DEY CODE_0CD1E2: 10 F5 BPL CODE_0CD1D9 CODE_0CD1E4: A9 28 LDA.B #$28 CODE_0CD1E6: 18 CLC CODE_0CD1E7: 6F 7B 83 7F ADC.L $7F837B CODE_0CD1EB: 8F 7B 83 7F STA.L $7F837B Return0CD1EF: 60 RTS ; Return DATA_0CD1F0: .db $20,$F4,$40,$02,$F8,$00,$21,$14 .db $40,$02,$F8,$00,$FF DATA_0CD1FD: .db $20,$F4 DATA_0CD1FF: .db $21,$14,$21,$34,$21,$54,$21,$74 .db $21,$94,$21,$B4,$21,$D4,$20,$F6 .db $21,$16,$21,$36,$21,$56,$21,$76 .db $21,$96,$21,$B6,$21,$D6,$20,$F8 .db $21,$18,$21,$38,$21,$58,$21,$78 .db $21,$98,$21,$B8,$21,$D8 CODE_0CD22D: AF 7B 83 7F LDA.L $7F837B CODE_0CD231: 85 01 STA $01 CODE_0CD233: A0 0C LDY.B #$0C CODE_0CD235: 98 TYA CODE_0CD236: 18 CLC CODE_0CD237: 6F 7B 83 7F ADC.L $7F837B CODE_0CD23B: AA TAX CODE_0CD23C: B9 F0 D1 LDA.W DATA_0CD1F0,Y CODE_0CD23F: 9F 7D 83 7F STA.L $7F837D,X CODE_0CD243: CA DEX CODE_0CD244: 88 DEY CODE_0CD245: 10 F5 BPL CODE_0CD23C CODE_0CD247: A9 0C LDA.B #$0C CODE_0CD249: 18 CLC CODE_0CD24A: 6F 7B 83 7F ADC.L $7F837B CODE_0CD24E: 8F 7B 83 7F STA.L $7F837B CODE_0CD252: A5 94 LDA RAM_MarioXPos CODE_0CD254: 38 SEC CODE_0CD255: E9 A0 SBC.B #$A0 CODE_0CD257: 85 00 STA $00 CODE_0CD259: AD 46 14 LDA.W $1446 CODE_0CD25C: 38 SEC CODE_0CD25D: E9 38 SBC.B #$38 CODE_0CD25F: 4A LSR CODE_0CD260: 4A LSR CODE_0CD261: 18 CLC CODE_0CD262: 65 00 ADC $00 CODE_0CD264: A8 TAY CODE_0CD265: A6 01 LDX $01 CODE_0CD267: C2 20 REP #$20 ; Accum (16 bit) CODE_0CD269: B9 FD D1 LDA.W DATA_0CD1FD,Y CODE_0CD26C: 9F 7D 83 7F STA.L $7F837D,X CODE_0CD270: B9 FF D1 LDA.W DATA_0CD1FF,Y CODE_0CD273: 9F 83 83 7F STA.L $7F8383,X CODE_0CD277: E2 20 SEP #$20 ; Accum (8 bit) CODE_0CD279: C0 1C CPY.B #$1C CODE_0CD27B: D0 05 BNE Return0CD282 CODE_0CD27D: A9 01 LDA.B #$01 CODE_0CD27F: 8D 44 14 STA.W $1444 Return0CD282: 60 RTS ; Return CODE_0CD283: C2 20 REP #$20 ; Accum (16 bit) CODE_0CD285: A5 13 LDA RAM_FrameCounter CODE_0CD287: 29 01 00 AND.W #$0001 CODE_0CD28A: F0 04 BEQ CODE_0CD290 CODE_0CD28C: E6 1A INC RAM_ScreenBndryXLo CODE_0CD28E: 80 02 BRA CODE_0CD292 CODE_0CD290: C6 1A DEC RAM_ScreenBndryXLo CODE_0CD292: E2 20 SEP #$20 ; Accum (8 bit) Return0CD294: 60 RTS ; Return CODE_0CD295: A9 1A LDA.B #$1A CODE_0CD297: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_0CD29A: A9 FF LDA.B #$FF CODE_0CD29C: 8D 40 14 STA.W $1440 CODE_0CD29F: A9 30 LDA.B #$30 CODE_0CD2A1: 8D 41 14 STA.W $1441 CODE_0CD2A4: A9 01 LDA.B #$01 CODE_0CD2A6: 8D 3F 14 STA.W $143F CODE_0CD2A9: EE 42 14 INC.W $1442 CODE_0CD2AC: 20 FA CB JSR.W CODE_0CCBFA CODE_0CD2AF: 82 9F F9 BRL CODE_0CCC51 CODE_0CD2B2: A9 21 LDA.B #$21 CODE_0CD2B4: 8D F9 1D STA.W $1DF9 ; / Play sound effect CODE_0CD2B7: 20 1A D3 JSR.W CODE_0CD31A CODE_0CD2BA: 82 66 FA BRL CODE_0CCD23 CODE_0CD2BD: A9 17 LDA.B #$17 CODE_0CD2BF: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_0CD2C2: A9 77 LDA.B #$77 CODE_0CD2C4: 8D 43 0B STA.W $0B43 CODE_0CD2C7: 9C 47 14 STZ.W $1447 CODE_0CD2CA: 20 1A D3 JSR.W CODE_0CD31A CODE_0CD2CD: 82 D1 FA BRL CODE_0CCDA1 CODE_0CD2D0: A9 03 LDA.B #$03 CODE_0CD2D2: 8D 3F 14 STA.W $143F CODE_0CD2D5: 9C 40 14 STZ.W $1440 CODE_0CD2D8: A9 19 LDA.B #$19 CODE_0CD2DA: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_0CD2DD: EE 42 14 INC.W $1442 CODE_0CD2E0: 20 FA CB JSR.W CODE_0CCBFA CODE_0CD2E3: 82 8C FC BRL CODE_0CCF72 CODE_0CD2E6: CE 3F 14 DEC.W $143F CODE_0CD2E9: 30 01 BMI CODE_0CD2EC Return0CD2EB: 60 RTS ; Return CODE_0CD2EC: 20 73 D3 JSR.W CODE_0CD373 CODE_0CD2EF: A9 0F LDA.B #$0F CODE_0CD2F1: 8D 43 0B STA.W $0B43 CODE_0CD2F4: 9C 61 0B STZ.W $0B61 CODE_0CD2F7: A9 90 LDA.B #$90 CODE_0CD2F9: 8D 52 0B STA.W $0B52 CODE_0CD2FC: 9C 70 0B STZ.W $0B70 CODE_0CD2FF: A9 08 LDA.B #$08 CODE_0CD301: 8D 07 0B STA.W $0B07 CODE_0CD304: A9 FF LDA.B #$FF CODE_0CD306: 8D 16 0B STA.W $0B16 CODE_0CD309: A9 02 LDA.B #$02 CODE_0CD30B: 8D 3F 14 STA.W $143F CODE_0CD30E: 9C 40 14 STZ.W $1440 CODE_0CD311: 9C 47 14 STZ.W $1447 CODE_0CD314: EE 42 14 INC.W $1442 CODE_0CD317: 82 C8 FB BRL CODE_0CCEE2 CODE_0CD31A: A9 77 LDA.B #$77 CODE_0CD31C: 8D 42 0B STA.W $0B42 CODE_0CD31F: A9 5F LDA.B #$5F CODE_0CD321: 8D 50 0B STA.W $0B50 CODE_0CD324: A9 F8 LDA.B #$F8 CODE_0CD326: 8D 06 0B STA.W $0B06 CODE_0CD329: 9C 40 14 STZ.W $1440 CODE_0CD32C: A9 05 LDA.B #$05 CODE_0CD32E: 8D 3F 14 STA.W $143F CODE_0CD331: EE 42 14 INC.W $1442 CODE_0CD334: 20 73 D3 JSR.W CODE_0CD373 CODE_0CD337: 82 C0 F8 BRL CODE_0CCBFA CODE_0CD33A: BD 05 0B LDA.W $0B05,X CODE_0CD33D: 0A ASL CODE_0CD33E: 0A ASL CODE_0CD33F: 0A ASL CODE_0CD340: 0A ASL CODE_0CD341: 18 CLC CODE_0CD342: 7D 23 0B ADC.W $0B23,X CODE_0CD345: 9D 23 0B STA.W $0B23,X CODE_0CD348: 08 PHP CODE_0CD349: BD 05 0B LDA.W $0B05,X CODE_0CD34C: 4A LSR CODE_0CD34D: 4A LSR CODE_0CD34E: 4A LSR CODE_0CD34F: 4A LSR CODE_0CD350: C9 08 CMP.B #$08 CODE_0CD352: A0 00 LDY.B #$00 CODE_0CD354: 90 03 BCC CODE_0CD359 CODE_0CD356: 09 F0 ORA.B #$F0 CODE_0CD358: 88 DEY CODE_0CD359: 28 PLP CODE_0CD35A: 7D 41 0B ADC.W $0B41,X CODE_0CD35D: 9D 41 0B STA.W $0B41,X CODE_0CD360: 98 TYA CODE_0CD361: 7D 5F 0B ADC.W $0B5F,X CODE_0CD364: 9D 5F 0B STA.W $0B5F,X Return0CD367: 60 RTS ; Return CODE_0CD368: DA PHX CODE_0CD369: 8A TXA CODE_0CD36A: 18 CLC CODE_0CD36B: 69 0F ADC.B #$0F CODE_0CD36D: AA TAX CODE_0CD36E: 20 3A D3 JSR.W CODE_0CD33A CODE_0CD371: FA PLX Return0CD372: 60 RTS ; Return CODE_0CD373: 9C 23 0B STZ.W $0B23 CODE_0CD376: 9C 32 0B STZ.W $0B32 CODE_0CD379: 9C 24 0B STZ.W $0B24 CODE_0CD37C: 9C 33 0B STZ.W $0B33 CODE_0CD37F: 9C 34 0B STZ.W $0B34 CODE_0CD382: 9C 34 0B STZ.W $0B34 Return0CD385: 60 RTS ; Return DATA_0CD386: .db $C8,$C0,$C4,$C8,$C0,$B4,$C8,$B8 .db $C6,$B7,$C4,$B0,$C8,$C0,$C8,$C4 DATA_0CD396: .db $18,$F8,$0A,$20,$E8,$1A,$EA,$08 .db $F0,$18,$E0,$2A,$F8,$20,$FA,$18 CODE_0CD3A6: AD 45 14 LDA.W $1445 CODE_0CD3A9: 3A DEC A CODE_0CD3AA: C9 E7 CMP.B #$E7 CODE_0CD3AC: B0 45 BCS Return0CD3F3 CODE_0CD3AE: A5 13 LDA RAM_FrameCounter CODE_0CD3B0: 29 01 AND.B #$01 CODE_0CD3B2: D0 3F BNE Return0CD3F3 CODE_0CD3B4: A2 0E LDX.B #$0E CODE_0CD3B6: BD 8C 0B LDA.W $0B8C,X CODE_0CD3B9: D0 33 BNE CODE_0CD3EE CODE_0CD3BB: A9 01 LDA.B #$01 CODE_0CD3BD: 9D 8C 0B STA.W $0B8C,X CODE_0CD3C0: A9 04 LDA.B #$04 CODE_0CD3C2: 9D 7D 0B STA.W $0B7D,X CODE_0CD3C5: BD 86 D3 LDA.W DATA_0CD386,X CODE_0CD3C8: 9D 05 0B STA.W $0B05,X CODE_0CD3CB: BD 96 D3 LDA.W DATA_0CD396,X CODE_0CD3CE: 9D 14 0B STA.W $0B14,X CODE_0CD3D1: A5 94 LDA RAM_MarioXPos CODE_0CD3D3: 18 CLC CODE_0CD3D4: 69 18 ADC.B #$18 CODE_0CD3D6: 9D 50 0B STA.W $0B50,X CODE_0CD3D9: A5 96 LDA RAM_MarioYPos CODE_0CD3DB: 18 CLC CODE_0CD3DC: 69 20 ADC.B #$20 CODE_0CD3DE: 9D 41 0B STA.W $0B41,X CODE_0CD3E1: A5 13 LDA RAM_FrameCounter CODE_0CD3E3: 29 02 AND.B #$02 CODE_0CD3E5: D0 0C BNE Return0CD3F3 CODE_0CD3E7: A9 07 LDA.B #$07 CODE_0CD3E9: 8D FC 1D STA.W $1DFC ; / Play sound effect CODE_0CD3EC: 80 05 BRA Return0CD3F3 CODE_0CD3EE: CA DEX CODE_0CD3EF: E0 03 CPX.B #$03 CODE_0CD3F1: D0 C3 BNE CODE_0CD3B6 Return0CD3F3: 60 RTS ; Return CODE_0CD3F4: A2 0E LDX.B #$0E CODE_0CD3F6: BD 8C 0B LDA.W $0B8C,X CODE_0CD3F9: F0 20 BEQ CODE_0CD41B CODE_0CD3FB: BD 05 0B LDA.W $0B05,X CODE_0CD3FE: 30 04 BMI CODE_0CD404 CODE_0CD400: C9 40 CMP.B #$40 CODE_0CD402: B0 07 BCS CODE_0CD40B CODE_0CD404: 18 CLC CODE_0CD405: 7D 7D 0B ADC.W $0B7D,X CODE_0CD408: 9D 05 0B STA.W $0B05,X CODE_0CD40B: 20 3A D3 JSR.W CODE_0CD33A CODE_0CD40E: 20 68 D3 JSR.W CODE_0CD368 CODE_0CD411: BD 41 0B LDA.W $0B41,X CODE_0CD414: C9 80 CMP.B #$80 CODE_0CD416: 90 03 BCC CODE_0CD41B CODE_0CD418: 9E 8C 0B STZ.W $0B8C,X CODE_0CD41B: CA DEX CODE_0CD41C: E0 03 CPX.B #$03 CODE_0CD41E: D0 D6 BNE CODE_0CD3F6 CODE_0CD420: 82 02 00 BRL CODE_0CD425 DATA_0CD423: .db $3C,$3D CODE_0CD425: A0 0E LDY.B #$0E CODE_0CD427: A2 14 LDX.B #$14 CODE_0CD429: B9 8C 0B LDA.W $0B8C,Y CODE_0CD42C: F0 2C BEQ CODE_0CD45A CODE_0CD42E: B9 50 0B LDA.W $0B50,Y CODE_0CD431: C9 50 CMP.B #$50 CODE_0CD433: 90 25 BCC CODE_0CD45A CODE_0CD435: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CD438: B9 41 0B LDA.W $0B41,Y CODE_0CD43B: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CD43E: 5A PHY CODE_0CD43F: A5 13 LDA RAM_FrameCounter CODE_0CD441: 29 02 AND.B #$02 CODE_0CD443: 4A LSR CODE_0CD444: A8 TAY CODE_0CD445: B9 23 D4 LDA.W DATA_0CD423,Y CODE_0CD448: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CD44B: 7A PLY CODE_0CD44C: A9 22 LDA.B #$22 CODE_0CD44E: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CD451: DA PHX CODE_0CD452: 8A TXA CODE_0CD453: 4A LSR CODE_0CD454: 4A LSR CODE_0CD455: AA TAX CODE_0CD456: 9E 20 04 STZ.W $0420,X CODE_0CD459: FA PLX CODE_0CD45A: E8 INX CODE_0CD45B: E8 INX CODE_0CD45C: E8 INX CODE_0CD45D: E8 INX CODE_0CD45E: 88 DEY CODE_0CD45F: C0 03 CPY.B #$03 CODE_0CD461: D0 C6 BNE CODE_0CD429 Return0CD463: 60 RTS ; Return DATA_0CD464: .db $F8,$80,$80,$80,$FA,$80,$80,$80 .db $FA,$FC,$80,$80,$FA,$FC,$04,$80 .db $F8,$80,$80,$80,$F9,$80,$80,$80 .db $FA,$80,$80,$80,$FA,$80,$80,$80 DATA_0CD484: .db $08,$80,$80,$80,$09,$80,$80,$80 .db $09,$FF,$80,$80,$09,$FF,$F6,$80 .db $04,$80,$80,$80,$00,$80,$80,$80 .db $FF,$80,$80,$80,$00,$80,$80,$80 CODE_0CD4A4: 8B PHB CODE_0CD4A5: 4B PHK CODE_0CD4A6: AB PLB CODE_0CD4A7: A2 00 LDX.B #$00 CODE_0CD4A9: A5 19 LDA RAM_MarioPowerUp CODE_0CD4AB: D0 02 BNE CODE_0CD4AF CODE_0CD4AD: A2 08 LDX.B #$08 CODE_0CD4AF: 86 02 STX $02 CODE_0CD4B1: A2 40 LDX.B #$40 CODE_0CD4B3: A9 02 LDA.B #$02 CODE_0CD4B5: 85 00 STA $00 CODE_0CD4B7: AD 45 14 LDA.W $1445 CODE_0CD4BA: 0A ASL CODE_0CD4BB: 0A ASL CODE_0CD4BC: A8 TAY CODE_0CD4BD: B9 84 D4 LDA.W DATA_0CD484,Y CODE_0CD4C0: C9 80 CMP.B #$80 CODE_0CD4C2: F0 29 BEQ CODE_0CD4ED CODE_0CD4C4: 18 CLC CODE_0CD4C5: 65 94 ADC RAM_MarioXPos CODE_0CD4C7: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CD4CA: B9 64 D4 LDA.W DATA_0CD464,Y CODE_0CD4CD: 18 CLC CODE_0CD4CE: 65 96 ADC RAM_MarioYPos CODE_0CD4D0: 18 CLC CODE_0CD4D1: 65 02 ADC $02 CODE_0CD4D3: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CD4D6: A9 B6 LDA.B #$B6 CODE_0CD4D8: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CD4DB: A9 31 LDA.B #$31 CODE_0CD4DD: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CD4E0: DA PHX CODE_0CD4E1: 8A TXA CODE_0CD4E2: 4A LSR CODE_0CD4E3: 4A LSR CODE_0CD4E4: AA TAX CODE_0CD4E5: 9E 20 04 STZ.W $0420,X CODE_0CD4E8: FA PLX CODE_0CD4E9: E8 INX CODE_0CD4EA: E8 INX CODE_0CD4EB: E8 INX CODE_0CD4EC: E8 INX CODE_0CD4ED: C8 INY CODE_0CD4EE: C6 00 DEC $00 CODE_0CD4F0: 10 CB BPL CODE_0CD4BD CODE_0CD4F2: AB PLB Return0CD4F3: 6B RTL ; Return DATA_0CD4F4: .db $89,$99,$A9,$B9 CODE_0CD4F8: AD 46 14 LDA.W $1446 CODE_0CD4FB: D0 05 BNE CODE_0CD502 CODE_0CD4FD: 9C 43 0B STZ.W $0B43 CODE_0CD500: 80 54 BRA Return0CD556 CODE_0CD502: A2 02 LDX.B #$02 CODE_0CD504: A9 FD LDA.B #$FD CODE_0CD506: 9D 05 0B STA.W $0B05,X CODE_0CD509: 20 3A D3 JSR.W CODE_0CD33A CODE_0CD50C: BD 41 0B LDA.W $0B41,X CODE_0CD50F: 49 FF EOR.B #$FF CODE_0CD511: 1A INC A CODE_0CD512: C9 0D CMP.B #$0D CODE_0CD514: 90 05 BCC CODE_0CD51B CODE_0CD516: 9C 46 14 STZ.W $1446 CODE_0CD519: 80 3B BRA Return0CD556 CODE_0CD51B: A2 00 LDX.B #$00 CODE_0CD51D: A5 19 LDA RAM_MarioPowerUp CODE_0CD51F: D0 02 BNE CODE_0CD523 CODE_0CD521: A2 08 LDX.B #$08 CODE_0CD523: 86 00 STX $00 CODE_0CD525: A2 34 LDX.B #$34 CODE_0CD527: A9 04 LDA.B #$04 CODE_0CD529: 18 CLC CODE_0CD52A: 65 94 ADC RAM_MarioXPos CODE_0CD52C: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CD52F: AD 43 0B LDA.W $0B43 CODE_0CD532: 18 CLC CODE_0CD533: 65 96 ADC RAM_MarioYPos CODE_0CD535: 18 CLC CODE_0CD536: 65 00 ADC $00 CODE_0CD538: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CD53B: AD 43 0B LDA.W $0B43 CODE_0CD53E: 49 FF EOR.B #$FF CODE_0CD540: 1A INC A CODE_0CD541: 4A LSR CODE_0CD542: 4A LSR CODE_0CD543: A8 TAY CODE_0CD544: B9 F4 D4 LDA.W DATA_0CD4F4,Y CODE_0CD547: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CD54A: A9 33 LDA.B #$33 CODE_0CD54C: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CD54F: 8A TXA CODE_0CD550: 4A LSR CODE_0CD551: 4A LSR CODE_0CD552: AA TAX CODE_0CD553: 9E 20 04 STZ.W $0420,X Return0CD556: 60 RTS ; Return CODE_0CD557: AD 46 14 LDA.W $1446 CODE_0CD55A: D0 08 BNE CODE_0CD564 CODE_0CD55C: 9C 44 0B STZ.W $0B44 CODE_0CD55F: 9C 53 0B STZ.W $0B53 CODE_0CD562: 80 61 BRA Return0CD5C5 CODE_0CD564: A2 03 LDX.B #$03 CODE_0CD566: A9 06 LDA.B #$06 CODE_0CD568: 9D 14 0B STA.W $0B14,X CODE_0CD56B: A9 01 LDA.B #$01 CODE_0CD56D: 9D 05 0B STA.W $0B05,X CODE_0CD570: 20 3A D3 JSR.W CODE_0CD33A CODE_0CD573: 20 68 D3 JSR.W CODE_0CD368 CODE_0CD576: BD 50 0B LDA.W $0B50,X CODE_0CD579: C9 0D CMP.B #$0D CODE_0CD57B: 90 08 BCC CODE_0CD585 CODE_0CD57D: 9C 46 14 STZ.W $1446 CODE_0CD580: EE 42 14 INC.W $1442 CODE_0CD583: 80 40 BRA Return0CD5C5 CODE_0CD585: A2 0F LDX.B #$0F CODE_0CD587: A0 0C LDY.B #$0C CODE_0CD589: A5 19 LDA RAM_MarioPowerUp CODE_0CD58B: D0 02 BNE CODE_0CD58F ADDR_0CD58D: A2 13 LDX.B #$13 CODE_0CD58F: 86 00 STX $00 CODE_0CD591: 84 01 STY $01 CODE_0CD593: A2 34 LDX.B #$34 CODE_0CD595: AD 53 0B LDA.W $0B53 CODE_0CD598: 18 CLC CODE_0CD599: 65 94 ADC RAM_MarioXPos CODE_0CD59B: 18 CLC CODE_0CD59C: 65 01 ADC $01 CODE_0CD59E: 9D 00 02 STA.W OAM_ExtendedDispX,X CODE_0CD5A1: AD 44 0B LDA.W $0B44 CODE_0CD5A4: 18 CLC CODE_0CD5A5: 65 96 ADC RAM_MarioYPos CODE_0CD5A7: 18 CLC CODE_0CD5A8: 65 00 ADC $00 CODE_0CD5AA: 9D 01 02 STA.W OAM_ExtendedDispY,X CODE_0CD5AD: AD 53 0B LDA.W $0B53 CODE_0CD5B0: 4A LSR CODE_0CD5B1: 4A LSR CODE_0CD5B2: A8 TAY CODE_0CD5B3: B9 F4 D4 LDA.W DATA_0CD4F4,Y CODE_0CD5B6: 9D 02 02 STA.W OAM_ExtendedTile,X CODE_0CD5B9: A9 33 LDA.B #$33 CODE_0CD5BB: 9D 03 02 STA.W OAM_ExtendedProp,X CODE_0CD5BE: 8A TXA CODE_0CD5BF: 4A LSR CODE_0CD5C0: 4A LSR CODE_0CD5C1: AA TAX CODE_0CD5C2: 9E 20 04 STZ.W $0420,X Return0CD5C5: 60 RTS ; Return CODE_0CD5C6: EE 42 14 INC.W $1442 CODE_0CD5C9: A9 FF LDA.B #$FF CODE_0CD5CB: 8D 43 14 STA.W $1443 CODE_0CD5CE: A9 D0 LDA.B #$D0 CODE_0CD5D0: 8D 4D 14 STA.W $144D CODE_0CD5D3: A9 13 LDA.B #$13 Instr0CD5D5: .db $8D,$FB,$1D Return0CD5D8: 60 RTS ; Return DATA_0CD5D9: .db $35,$36,$36,$36,$37,$37,$37,$37 .db $37,$37,$37,$36,$36,$35,$35,$35 DATA_0CD5E9: .db $8B,$8B,$8B,$AA,$8A,$CE,$CE,$8A .db $8A,$AA,$AA,$8A,$AA,$8A,$CE,$8A .db $AA,$8A,$8A DATA_0CD5FC: .db $61,$61,$61,$61,$61,$61,$61,$21 .db $21,$21,$21,$A1,$21,$21,$61,$61 .db $61,$E1,$E1 DATA_0CD60F: .db $FA,$FA,$F9,$FB,$F9,$FA,$F0,$F0 .db $F4,$F4,$FD,$FF,$FD,$FF,$0A,$0D .db $0A,$0D,$0E,$10,$0E,$10,$0D,$0E .db $0E,$10,$0A,$0D,$FD,$FF,$F4,$F4 .db $F0,$F0,$F3,$F0,$F3,$F0 DATA_0CD635: .db $06,$03,$07,$00,$07,$01,$0D,$08 .db $02,$FB,$FF,$F6,$FF,$F6,$03,$FD .db $03,$FD,$0A,$06,$0A,$06,$12,$0F .db $0A,$06,$03,$FD,$FF,$F6,$02,$FB .db $0D,$08,$15,$10,$15,$10 CODE_0CD65B: AD 4A 14 LDA.W $144A CODE_0CD65E: 4A LSR CODE_0CD65F: F0 62 BEQ Return0CD6C3 CODE_0CD661: AD 45 14 LDA.W $1445 CODE_0CD664: D0 05 BNE CODE_0CD66B CODE_0CD666: AE DB 13 LDX.W $13DB CODE_0CD669: 80 15 BRA CODE_0CD680 CODE_0CD66B: CE 45 14 DEC.W $1445 CODE_0CD66E: C9 F0 CMP.B #$F0 CODE_0CD670: 90 02 BCC CODE_0CD674 ADDR_0CD672: A9 0F LDA.B #$0F CODE_0CD674: 29 0F AND.B #$0F CODE_0CD676: 18 CLC CODE_0CD677: 69 03 ADC.B #$03 CODE_0CD679: AA TAX CODE_0CD67A: BD D6 D5 LDA.W ADDR_0CD5D6,X CODE_0CD67D: 8D E0 13 STA.W MarioFrame CODE_0CD680: A0 00 LDY.B #$00 CODE_0CD682: BD E9 D5 LDA.W DATA_0CD5E9,X CODE_0CD685: 4A LSR CODE_0CD686: 90 02 BCC CODE_0CD68A CODE_0CD688: A0 30 LDY.B #$30 CODE_0CD68A: 0A ASL CODE_0CD68B: 99 FE 02 STA.W $02FE,Y CODE_0CD68E: A5 76 LDA RAM_MarioDirection CODE_0CD690: 4A LSR CODE_0CD691: 6A ROR CODE_0CD692: 4A LSR CODE_0CD693: 5D FC D5 EOR.W DATA_0CD5FC,X CODE_0CD696: 99 FF 02 STA.W $02FF,Y CODE_0CD699: 8A TXA CODE_0CD69A: 0A ASL CODE_0CD69B: AA TAX CODE_0CD69C: A5 19 LDA RAM_MarioPowerUp CODE_0CD69E: F0 01 BEQ CODE_0CD6A1 CODE_0CD6A0: E8 INX CODE_0CD6A1: A5 96 LDA RAM_MarioYPos CODE_0CD6A3: 18 CLC CODE_0CD6A4: 7D 35 D6 ADC.W DATA_0CD635,X CODE_0CD6A7: 99 FD 02 STA.W $02FD,Y CODE_0CD6AA: BD 0F D6 LDA.W DATA_0CD60F,X CODE_0CD6AD: A6 76 LDX RAM_MarioDirection CODE_0CD6AF: D0 03 BNE CODE_0CD6B4 CODE_0CD6B1: 49 FF EOR.B #$FF CODE_0CD6B3: 1A INC A CODE_0CD6B4: 18 CLC CODE_0CD6B5: 65 94 ADC RAM_MarioXPos CODE_0CD6B7: 99 FC 02 STA.W $02FC,Y CODE_0CD6BA: 98 TYA CODE_0CD6BB: 4A LSR CODE_0CD6BC: 4A LSR CODE_0CD6BD: A8 TAY CODE_0CD6BE: A9 02 LDA.B #$02 CODE_0CD6C0: 99 5F 04 STA.W $045F,Y Return0CD6C3: 60 RTS ; Return DATA_0CD6C4: .db $E7,$E6,$E6,$EA,$E6,$E7 DATA_0CD6CA: .db $F6,$F1,$F3,$F3,$F3,$F4 DATA_0CD6D0: .db $1B,$0E,$00 DATA_0CD6D3: .db $15,$08,$00 DATA_0CD6D6: .db $8E,$8E,$8C DATA_0CD6D9: .db $FC,$04,$FC,$04,$FC,$04,$FC DATA_0CD6E0: .db $34,$68,$34,$68,$34 DATA_0CD6E5: .db $68,$34,$B0,$00,$C0,$00,$C0 CODE_0CD6EC: AD 4A 14 LDA.W $144A CODE_0CD6EF: 4A LSR CODE_0CD6F0: F0 5F BEQ Return0CD751 CODE_0CD6F2: A0 04 LDY.B #$04 CODE_0CD6F4: A9 02 LDA.B #$02 CODE_0CD6F6: 99 70 04 STA.W $0470,Y CODE_0CD6F9: 88 DEY CODE_0CD6FA: 10 FA BPL CODE_0CD6F6 CODE_0CD6FC: AD 46 14 LDA.W $1446 CODE_0CD6FF: D0 51 BNE CODE_0CD752 CODE_0CD701: AD DB 13 LDA.W $13DB CODE_0CD704: 0A ASL CODE_0CD705: A4 19 LDY RAM_MarioPowerUp CODE_0CD707: F0 01 BEQ CODE_0CD70A ADDR_0CD709: 1A INC A CODE_0CD70A: A8 TAY CODE_0CD70B: B9 C4 D6 LDA.W DATA_0CD6C4,Y CODE_0CD70E: 85 00 STA $00 CODE_0CD710: B9 CA D6 LDA.W DATA_0CD6CA,Y CODE_0CD713: 85 01 STA $01 CODE_0CD715: A5 76 LDA RAM_MarioDirection CODE_0CD717: 4A LSR CODE_0CD718: 6A ROR CODE_0CD719: 4A LSR CODE_0CD71A: 49 61 EOR.B #$61 CODE_0CD71C: 85 02 STA $02 CODE_0CD71E: A2 02 LDX.B #$02 CODE_0CD720: 8A TXA CODE_0CD721: 0A ASL CODE_0CD722: 0A ASL CODE_0CD723: A8 TAY CODE_0CD724: A5 00 LDA $00 CODE_0CD726: 18 CLC CODE_0CD727: 7D D0 D6 ADC.W DATA_0CD6D0,X CODE_0CD72A: 24 02 BIT $02 CODE_0CD72C: 50 03 BVC CODE_0CD731 CODE_0CD72E: 49 FF EOR.B #$FF CODE_0CD730: 1A INC A CODE_0CD731: 18 CLC CODE_0CD732: 65 94 ADC RAM_MarioXPos CODE_0CD734: 99 40 03 STA.W $0340,Y CODE_0CD737: A5 01 LDA $01 CODE_0CD739: 18 CLC CODE_0CD73A: 7D D3 D6 ADC.W DATA_0CD6D3,X CODE_0CD73D: 18 CLC CODE_0CD73E: 65 96 ADC RAM_MarioYPos CODE_0CD740: 99 41 03 STA.W $0341,Y CODE_0CD743: BD D6 D6 LDA.W DATA_0CD6D6,X CODE_0CD746: 99 42 03 STA.W $0342,Y CODE_0CD749: A5 02 LDA $02 CODE_0CD74B: 99 43 03 STA.W $0343,Y CODE_0CD74E: CA DEX CODE_0CD74F: 10 CF BPL CODE_0CD720 Return0CD751: 60 RTS ; Return CODE_0CD752: 29 07 AND.B #$07 CODE_0CD754: D0 03 BNE CODE_0CD759 CODE_0CD756: 20 2D D2 JSR.W CODE_0CD22D CODE_0CD759: A0 25 LDY.B #$25 CODE_0CD75B: AD 46 14 LDA.W $1446 CODE_0CD75E: C9 4C CMP.B #$4C CODE_0CD760: 90 02 BCC CODE_0CD764 CODE_0CD762: A0 38 LDY.B #$38 ; \ Mario's image = Ducking, back to camera CODE_0CD764: 8C E0 13 STY.W MarioFrame ; / CODE_0CD767: A0 00 LDY.B #$00 CODE_0CD769: 3A DEC A CODE_0CD76A: 85 00 STA $00 CODE_0CD76C: A9 AC LDA.B #$AC CODE_0CD76E: 99 42 03 STA.W $0342,Y CODE_0CD771: A9 21 LDA.B #$21 CODE_0CD773: 99 43 03 STA.W $0343,Y CODE_0CD776: A5 94 LDA RAM_MarioXPos CODE_0CD778: 99 40 03 STA.W $0340,Y CODE_0CD77B: A5 00 LDA $00 CODE_0CD77D: 99 41 03 STA.W $0341,Y CODE_0CD780: 18 CLC CODE_0CD781: 69 10 ADC.B #$10 CODE_0CD783: C9 68 CMP.B #$68 CODE_0CD785: 90 02 BCC CODE_0CD789 CODE_0CD787: A9 68 LDA.B #$68 CODE_0CD789: 85 00 STA $00 CODE_0CD78B: C8 INY CODE_0CD78C: C8 INY CODE_0CD78D: C8 INY CODE_0CD78E: C8 INY CODE_0CD78F: A9 AE LDA.B #$AE CODE_0CD791: C0 14 CPY.B #$14 CODE_0CD793: 90 D9 BCC CODE_0CD76E CODE_0CD795: AE 45 14 LDX.W $1445 CODE_0CD798: AD 46 14 LDA.W $1446 CODE_0CD79B: DD E0 D6 CMP.W DATA_0CD6E0,X CODE_0CD79E: D0 3E BNE CODE_0CD7DE CODE_0CD7A0: AD 49 14 LDA.W $1449 CODE_0CD7A3: F0 04 BEQ CODE_0CD7A9 CODE_0CD7A5: CE 49 14 DEC.W $1449 Return0CD7A8: 60 RTS ; Return CODE_0CD7A9: 8A TXA CODE_0CD7AA: F0 1D BEQ CODE_0CD7C9 CODE_0CD7AC: 4A LSR CODE_0CD7AD: B0 1A BCS CODE_0CD7C9 CODE_0CD7AF: A5 13 LDA RAM_FrameCounter CODE_0CD7B1: 29 04 AND.B #$04 CODE_0CD7B3: F0 05 BEQ CODE_0CD7BA CODE_0CD7B5: A9 39 LDA.B #$39 ; \ Mario's image = Standing, back to camera CODE_0CD7B7: 8D E0 13 STA.W MarioFrame ; / CODE_0CD7BA: A5 94 LDA RAM_MarioXPos CODE_0CD7BC: DD E5 D6 CMP.W DATA_0CD6E5,X CODE_0CD7BF: F0 08 BEQ CODE_0CD7C9 CODE_0CD7C1: 1A INC A CODE_0CD7C2: 85 94 STA RAM_MarioXPos CODE_0CD7C4: 29 0F AND.B #$0F CODE_0CD7C6: F0 1D BEQ CODE_0CD7E5 Return0CD7C8: 60 RTS ; Return CODE_0CD7C9: EE 45 14 INC.W $1445 CODE_0CD7CC: E0 06 CPX.B #$06 CODE_0CD7CE: 90 04 BCC CODE_0CD7D4 CODE_0CD7D0: 9C 46 14 STZ.W $1446 Return0CD7D3: 60 RTS ; Return CODE_0CD7D4: 8A TXA CODE_0CD7D5: 4A LSR CODE_0CD7D6: B0 05 BCS Return0CD7DD CODE_0CD7D8: A9 0F LDA.B #$0F CODE_0CD7DA: 8D F9 1D STA.W $1DF9 ; / Play sound effect Return0CD7DD: 60 RTS ; Return CODE_0CD7DE: 18 CLC CODE_0CD7DF: 7D D9 D6 ADC.W DATA_0CD6D9,X CODE_0CD7E2: 8D 46 14 STA.W $1446 CODE_0CD7E5: A9 10 LDA.B #$10 CODE_0CD7E7: 8D 49 14 STA.W $1449 Return0CD7EA: 60 RTS ; Return DATA_0CD7EB: .db $F7,$F6 DATA_0CD7ED: .db $63,$5F,$62,$5F,$62,$5E DATA_0CD7F3: .db $67,$66,$65,$65,$64,$64,$64,$64 .db $64,$64,$64,$64,$65,$65,$66,$67 CODE_0CD803: AE 4A 14 LDX.W $144A CODE_0CD806: D0 35 BNE CODE_0CD83D CODE_0CD808: AD 98 14 LDA.W RAM_PickUpImgTimer CODE_0CD80B: F0 05 BEQ CODE_0CD812 CODE_0CD80D: 4A LSR CODE_0CD80E: F0 39 BEQ CODE_0CD849 CODE_0CD810: 80 3D BRA CODE_0CD84F CODE_0CD812: A4 19 LDY RAM_MarioPowerUp CODE_0CD814: F0 02 BEQ CODE_0CD818 CODE_0CD816: A0 01 LDY.B #$01 CODE_0CD818: A5 94 LDA RAM_MarioXPos CODE_0CD81A: 18 CLC CODE_0CD81B: 79 EB D7 ADC.W DATA_0CD7EB,Y CODE_0CD81E: 8D 4C 14 STA.W $144C CODE_0CD821: 98 TYA CODE_0CD822: 4A LSR CODE_0CD823: AD DB 13 LDA.W $13DB CODE_0CD826: 2A ROL CODE_0CD827: A8 TAY CODE_0CD828: B9 ED D7 LDA.W DATA_0CD7ED,Y CODE_0CD82B: A4 94 LDY RAM_MarioXPos CODE_0CD82D: C0 40 CPY.B #$40 CODE_0CD82F: B0 27 BCS CODE_0CD858 CODE_0CD831: A4 7B LDY RAM_MarioSpeedX CODE_0CD833: D0 23 BNE CODE_0CD858 CODE_0CD835: A9 10 LDA.B #$10 CODE_0CD837: 8D 98 14 STA.W RAM_PickUpImgTimer CODE_0CD83A: 9C 8F 14 STZ.W $148F CODE_0CD83D: A9 05 LDA.B #$05 CODE_0CD83F: C5 94 CMP RAM_MarioXPos CODE_0CD841: 90 09 BCC CODE_0CD84C CODE_0CD843: 85 94 STA RAM_MarioXPos CODE_0CD845: A5 7B LDA RAM_MarioSpeedX CODE_0CD847: 30 03 BMI CODE_0CD84C CODE_0CD849: EE 4A 14 INC.W $144A CODE_0CD84C: EE 4B 14 INC.W $144B CODE_0CD84F: AD 4B 14 LDA.W $144B CODE_0CD852: 29 0F AND.B #$0F CODE_0CD854: A8 TAY CODE_0CD855: B9 F3 D7 LDA.W DATA_0CD7F3,Y CODE_0CD858: 8D 81 03 STA.W $0381 CODE_0CD85B: AD 4C 14 LDA.W $144C CODE_0CD85E: 8D 80 03 STA.W $0380 CODE_0CD861: 9C 82 03 STZ.W $0382 CODE_0CD864: A9 21 LDA.B #$21 CODE_0CD866: 8D 83 03 STA.W $0383 CODE_0CD869: A9 02 LDA.B #$02 CODE_0CD86B: 8D 80 04 STA.W $0480 Return0CD86E: 60 RTS ; Return DATA_0CD86F: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF DATA_0CD900: .db $E2,$00,$00,$01,$81,$02,$00,$03 .db $B0,$00,$03,$04,$05,$06,$07,$8B .db $00,$00,$08,$81,$09,$00,$0A,$8B .db $00,$03,$0B,$0C,$09,$0D,$8B,$00 .db $00,$0B,$81,$09,$00,$0D,$8B,$00 .db $08,$0B,$0E,$09,$0D,$0F,$10,$11 .db $00,$11,$86,$00,$00,$0B,$81,$09 .db $05,$0D,$12,$13,$14,$00,$14,$84 .db $00,$0D,$04,$05,$15,$16,$0C,$0D .db $02,$17,$18,$00,$18,$01,$02,$03 .db $81,$00,$00,$08,$81,$09,$09,$19 .db $1A,$1B,$1C,$1D,$18,$02,$18,$02 .db $03,$82,$00,$04,$0B,$0C,$09,$0D .db $1E,$81,$09,$05,$1F,$18,$00,$20 .db $06,$07,$82,$00,$10,$0B,$09,$0E .db $0D,$0B,$09,$0E,$0D,$18,$00,$0C .db $09,$0A,$00,$04,$05,$0B,$81,$09 .db $01,$0D,$0B,$81,$09,$02,$0D,$18 .db $00,$81,$09,$0D,$0D,$00,$08,$09 .db $0B,$0C,$09,$0D,$0B,$0C,$09,$0D .db $18,$00,$81,$09,$04,$0D,$02,$0B .db $09,$0B,$81,$09,$01,$0D,$0B,$81 .db $09,$00,$0D,$81,$02,$06,$09,$0E .db $0D,$00,$0B,$0E,$0B,$81,$09,$08 .db $0D,$0B,$09,$0E,$0D,$02,$03,$09 .db $21,$88,$22,$06,$23,$09,$0D,$18 .db $00,$16,$24,$88,$25,$0A,$26,$09 .db $0D,$18,$02,$22,$23,$0D,$02,$0B .db $21,$89,$22,$05,$25,$26,$0D,$22 .db $0B,$24,$89,$25,$FF,$00,$87,$00 .db $00,$01,$81,$02,$00,$03,$84,$00 .db $00,$01,$81,$02,$00,$03,$D8,$00 .db $01,$0F,$10,$8D,$00,$02,$12,$13 .db $03,$83,$00,$02,$0F,$10,$11,$82 .db $00,$04,$0F,$10,$11,$27,$28,$84 .db $00,$02,$12,$13,$14,$82,$00,$04 .db $12,$13,$14,$29,$28,$82,$00,$00 .db $01,$81,$02,$01,$17,$18,$82,$00 .db $07,$29,$28,$18,$27,$2A,$0F,$10 .db $11,$81,$00,$03,$27,$13,$18,$01 .db $81,$02,$07,$17,$28,$18,$27,$2B .db $12,$13,$14,$81,$00,$02,$29,$28 .db $18,$82,$00,$18,$29,$28,$2C,$02 .db $0B,$02,$17,$18,$04,$05,$1C,$1D .db $18,$00,$01,$02,$2A,$20,$1C,$1D .db $0B,$29,$28,$18,$08,$81,$09,$01 .db $1F,$18,$81,$02,$01,$03,$2B,$81 .db $09,$15,$1F,$0B,$27,$13,$18,$0B .db $0C,$09,$0D,$18,$00,$2D,$22,$0B .db $09,$0C,$0D,$0B,$29,$2C,$02,$0B .db $81,$09,$09,$0D,$02,$03,$2E,$25 .db $0B,$09,$1A,$1B,$15,$83,$22,$02 .db $23,$0E,$0D,$83,$22,$01,$0B,$21 .db $82,$22,$83,$25,$02,$26,$09,$0D .db $83,$25,$01,$0B,$24,$82,$25,$FF .db $FF DATA_0CDAB9: .db $D6,$00,$02,$2F,$30,$31,$95,$00 .db $02,$2F,$30,$31,$BE,$00,$01,$32 .db $33,$8C,$00,$02,$34,$35,$36,$8C .db $00,$02,$37,$38,$32,$86,$00,$00 .db $33,$84,$00,$81,$39,$01,$3A,$3B .db $81,$00,$01,$2F,$31,$81,$00,$01 .db $36,$3C,$83,$00,$03,$3D,$34,$35 .db $3E,$84,$00,$01,$33,$32,$81,$00 .db $00,$3F,$81,$00,$04,$32,$40,$41 .db $3D,$42,$83,$00,$01,$36,$39,$81 .db $00,$00,$43,$81,$00,$00,$39,$81 .db $00,$01,$3C,$44,$83,$00,$04,$45 .db $41,$00,$3F,$46,$84,$00,$01,$47 .db $3D,$86,$00,$01,$48,$49,$83,$00 .db $02,$4A,$4B,$4C,$84,$00,$0A,$2F .db $31,$43,$4D,$4E,$2F,$31,$00,$4F .db $50,$3E,$82,$00,$00,$32,$82,$00 .db $02,$51,$52,$3E,$82,$00,$02,$53 .db $54,$55,$81,$00,$02,$33,$3A,$3B .db $81,$00,$02,$4F,$54,$3E,$82,$00 .db $0C,$51,$56,$49,$30,$31,$36,$57 .db $3E,$00,$33,$58,$49,$55,$82,$00 .db $0C,$4F,$59,$5A,$3F,$3C,$34,$35 .db $40,$00,$36,$51,$56,$49,$81,$00 .db $0D,$3F,$58,$5B,$5C,$48,$3F,$5D .db $32,$39,$00,$5D,$46,$57,$4D,$81 .db $00,$0D,$48,$34,$35,$5E,$43,$48 .db $32,$39,$33,$00,$39,$35,$3A,$35 .db $81,$00,$00,$43,$81,$45,$0A,$39 .db $3D,$43,$41,$40,$36,$3C,$39,$41 .db $39,$5D,$E5,$00,$02,$2F,$30,$31 .db $D6,$00,$02,$2F,$30,$31,$93,$00 .db $00,$32,$8D,$00,$07,$2F,$5E,$31 .db $3C,$00,$2F,$30,$31,$81,$00,$01 .db $2F,$31,$82,$00,$04,$33,$34,$35 .db $2F,$31,$89,$00,$04,$3C,$36,$5F .db $3A,$3B,$8B,$00,$03,$45,$39,$38 .db $41,$82,$00,$01,$2F,$31,$86,$00 .db $02,$33,$5D,$45,$82,$00,$00,$33 .db $86,$00,$02,$32,$00,$36,$83,$00 .db $01,$33,$36,$86,$00,$02,$3A,$3B .db $39,$83,$00,$01,$36,$32,$81,$00 .db $07,$33,$00,$3F,$00,$34,$35,$41 .db $3F,$81,$00,$03,$46,$00,$34,$35 .db $81,$00,$26,$36,$00,$43,$00,$5F .db $39,$3D,$43,$00,$4A,$4B,$4C,$45 .db $39,$00,$33,$32,$00,$45,$00,$41 .db $3A,$3B,$45,$00,$53,$54,$3E,$40 .db $41,$3C,$36,$39,$00,$4E,$3F,$33 .db $40,$41,$81,$00,$28,$4A,$4B,$4C .db $3F,$47,$3F,$00,$41,$00,$3D,$48 .db $36,$3C,$33,$00,$3F,$4F,$50,$54 .db $43,$49,$48,$33,$00,$33,$41,$43 .db $39,$00,$36,$00,$43,$53,$54,$49 .db $51,$5A,$43,$36,$00,$36,$FF,$FF DATA_0CDC71: .db $A1,$00,$01,$60,$61,$F5,$00,$01 .db $60,$61,$9A,$00,$01,$60,$61,$DA .db $00,$01,$60,$61,$BE,$00,$00,$62 .db $88,$00,$00,$63,$83,$00,$02,$64 .db $65,$66,$82,$00,$00,$67,$82,$00 .db $01,$63,$68,$82,$00,$0C,$64,$69 .db $6A,$6B,$66,$6C,$6D,$6E,$6F,$70 .db $71,$68,$22,$81,$00,$01,$64,$69 .db $81,$72,$0C,$73,$6B,$74,$75,$76 .db $77,$78,$79,$7A,$22,$00,$64,$69 .db $81,$72,$00,$6A,$81,$72,$01,$6B .db $74,$82,$76,$06,$77,$78,$79,$64 .db $69,$6A,$73,$81,$72,$09,$73,$6A .db $73,$6B,$74,$75,$76,$75,$76,$77 .db $E8,$00,$01,$60,$61,$E7,$00,$01 .db $60,$61,$BE,$00,$01,$63,$7B,$84 .db $00,$01,$60,$61,$85,$00,$03,$63 .db $68,$7C,$7B,$89,$00,$02,$7D,$7E .db $68,$81,$22,$01,$7C,$7B,$87,$00 .db $01,$63,$68,$84,$22,$02,$7C,$7F .db $80,$85,$00,$00,$68,$87,$22,$01 .db $7C,$7B,$84,$00,$89,$22,$01,$7C .db $7B,$83,$00,$8A,$22,$01,$7C,$7B .db $82,$00,$8B,$22,$01,$7C,$7B,$81 .db $00,$00,$7A,$8B,$22,$05,$7C,$7B .db $00,$78,$79,$7A,$8A,$22,$01,$7C .db $7B,$FF,$FF DATA_0CDD44: .db $DA,$00,$01,$60,$61,$93,$00,$01 .db $60,$61,$B4,$00,$02,$7D,$7E,$7B .db $8B,$00,$04,$63,$68,$22,$81,$7B .db $89,$00,$01,$63,$68,$82,$22,$01 .db $7C,$7B,$87,$00,$01,$63,$68,$84 .db $22,$02,$7C,$7F,$80,$83,$00,$02 .db $7D,$7E,$68,$87,$22,$01,$7C,$7F .db $81,$00,$01,$63,$68,$8A,$22,$03 .db $82,$00,$63,$68,$8A,$22,$03,$83 .db $68,$63,$68,$8A,$22,$03,$83,$68 .db $22,$68,$87,$22,$04,$83,$84,$85 .db $81,$68,$81,$22,$00,$86,$86,$22 .db $04,$83,$68,$22,$7C,$86,$82,$22 .db $03,$7C,$86,$82,$85,$82,$22,$01 .db $83,$68,$82,$22,$01,$7C,$87,$82 .db $22,$06,$7C,$68,$7C,$87,$82,$88 .db $68,$8B,$22,$01,$83,$68,$8C,$22 .db $01,$83,$68,$84,$22,$01,$82,$85 .db $85,$22,$01,$81,$68,$84,$22,$01 .db $81,$68,$A4,$22,$EB,$00,$01,$60 .db $61,$97,$00,$01,$60,$61,$C9,$00 .db $01,$63,$7B,$8B,$00,$04,$80,$63 .db $68,$7C,$7B,$8A,$00,$01,$88,$68 .db $81,$22,$01,$83,$7B,$86,$00,$02 .db $60,$61,$00,$82,$22,$03,$83,$68 .db $7C,$7B,$88,$00,$81,$22,$01,$81 .db $68,$81,$22,$04,$7C,$7F,$80,$63 .db $7B,$84,$00,$87,$22,$07,$83,$68 .db $7C,$7B,$7D,$80,$7D,$7E,$86,$22 .db $01,$81,$68,$81,$22,$04,$7C,$86 .db $7C,$86,$83,$8B,$22,$06,$7C,$86 .db $7C,$68,$22,$83,$86,$89,$22,$06 .db $7C,$87,$22,$81,$68,$7C,$86,$8E .db $22,$01,$7C,$84,$BA,$22,$FF,$FF DATA_0CDE54: .db $A2,$00,$01,$60,$61,$CD,$00,$01 .db $60,$61,$F8,$00,$01,$60,$61,$8A .db $00,$01,$60,$61,$A9,$00,$00,$67 .db $8C,$00,$05,$6C,$6D,$6E,$6F,$70 .db $67,$87,$00,$09,$6C,$6D,$89,$76 .db $77,$75,$78,$6E,$6F,$70,$83,$00 .db $04,$6C,$6D,$89,$77,$8A,$83,$76 .db $0D,$77,$76,$78,$6F,$70,$8B,$6D .db $89,$75,$77,$8C,$65,$74,$77,$82 .db $76,$04,$75,$77,$8D,$8E,$8F,$81 .db $77,$0B,$76,$8C,$69,$6A,$6B,$74 .db $76,$75,$76,$8D,$8E,$8F,$81,$72 .db $0C,$76,$77,$8C,$69,$6A,$72,$6A .db $6B,$74,$8D,$8E,$8F,$6A,$82,$72 .db $02,$90,$8C,$69,$83,$72,$03,$73 .db $6B,$91,$73,$83,$72,$06,$6A,$8C .db $69,$73,$6A,$72,$6A,$82,$72,$01 .db $6B,$91,$81,$6A,$02,$72,$92,$93 .db $B2,$00,$01,$60,$61,$C8,$00,$01 .db $60,$61,$95,$00,$01,$60,$61,$EB .db $00,$01,$60,$61,$A5,$00,$01,$60 .db $61,$92,$00,$00,$94,$8D,$00,$03 .db $95,$65,$96,$97,$83,$00,$00,$67 .db $86,$00,$0A,$72,$6A,$73,$98,$96 .db $97,$6C,$6D,$6E,$6F,$70,$83,$00 .db $01,$6C,$6A,$82,$72,$03,$92,$93 .db $89,$77,$81,$76,$05,$78,$6F,$70 .db $6C,$6D,$89,$81,$72,$02,$92,$93 .db $89,$84,$76,$09,$75,$77,$78,$99 .db $90,$77,$92,$93,$89,$77,$84,$76 .db $00,$75,$83,$76,$04,$78,$99,$89 .db $76,$77,$82,$76,$01,$77,$75,$86 .db $76,$00,$77,$FF,$FF DATA_0CDF59: .db $BB,$00,$01,$60,$61,$83,$00,$01 .db $60,$61,$D4,$00,$01,$60,$61,$B5 .db $00,$01,$60,$61,$9B,$00,$00,$7D .db $8D,$00,$01,$63,$68,$84,$00,$02 .db $9A,$9B,$9C,$83,$00,$0C,$7D,$7E .db $68,$22,$9D,$9A,$9B,$9C,$9A,$9E .db $9F,$09,$9C,$81,$00,$01,$71,$68 .db $82,$22,$0B,$A0,$9E,$A1,$09,$A2 .db $9F,$A3,$A4,$A5,$9A,$A6,$A7,$83 .db $22,$01,$A8,$9F,$81,$09,$01,$A9 .db $A3,$81,$72,$03,$AA,$AB,$9F,$A9 .db $82,$22,$05,$A0,$9F,$A3,$AC,$AD .db $AE,$82,$72,$08,$AF,$AD,$B0,$A6 .db $A7,$A0,$9B,$A2,$A3,$82,$72,$00 .db $B1,$81,$72,$56,$AF,$A3,$B2,$9E .db $9F,$B3,$B4,$A1,$09,$B5,$72,$B2 .db $9B,$B6,$B2,$9B,$B3,$B2,$9E,$9F .db $09,$A3,$B2,$A1,$09,$B6,$B5,$9F .db $A3,$A5,$B7,$AC,$09,$A2,$9B,$09 .db $A3,$AA,$9E,$B8,$A9,$A4,$AA,$AE .db $72,$B9,$BA,$72,$AC,$09,$B3,$A9 .db $72,$B2,$9E,$9F,$09,$72,$BB,$B7 .db $B2,$B8,$09,$B6,$B1,$A4,$AF,$A3 .db $B2,$BC,$9B,$BD,$B3,$AA,$BE,$B2 .db $9E,$B7,$A4,$A5,$72,$AA,$A3,$B2 .db $BF,$C0,$B8,$81,$09,$D6,$00,$01 .db $60,$61,$A8,$00,$01,$60,$61,$A8 .db $00,$01,$60,$61,$95,$00,$01,$60 .db $61,$98,$00,$00,$80,$8E,$00,$01 .db $7C,$7B,$84,$00,$02,$9A,$9F,$9C .db $85,$00,$09,$22,$7C,$7F,$7E,$7F .db $80,$9A,$9F,$A3,$A5,$81,$00,$01 .db $7D,$80,$81,$00,$84,$22,$4A,$7C .db $A8,$9F,$C1,$AA,$00,$63,$68,$7C .db $7F,$7E,$22,$A0,$9B,$C2,$22,$A0 .db $9F,$A3,$BA,$C3,$71,$68,$A0,$9F .db $A7,$22,$C4,$9F,$A3,$AA,$C4,$9F .db $A3,$B2,$9E,$9F,$A7,$22,$A8,$A1 .db $09,$A7,$9E,$A1,$C1,$AA,$BD,$AE .db $B2,$9F,$BD,$A3,$C5,$A0,$9F,$A3 .db $A4,$B2,$A2,$A1,$C1,$AF,$A3,$B2 .db $9F,$09,$A3,$B2,$9B,$BE,$AC,$C1 .db $B2,$9F,$81,$A3,$02,$AA,$B0,$9B .db $81,$BD,$20,$B3,$C1,$A8,$A1,$A3 .db $AA,$B2,$BC,$A6,$72,$B5,$B2,$9E .db $9F,$09,$A3,$A5,$B2,$9E,$B8,$B6 .db $72,$C0,$A2,$9F,$B6,$72,$A8,$9F .db $09,$A3,$72,$AA,$81,$9E,$04,$9F .db $A9,$72,$AA,$09,$81,$A3,$11,$B2 .db $9E,$A1,$09,$BE,$72,$AA,$9E,$9F .db $09,$A3,$72,$AA,$AE,$72,$BD,$A2 .db $9F,$81,$09,$05,$A3,$72,$AF,$BD .db $09,$A9,$81,$72,$02,$B2,$B7,$72 .db $FF,$FF DATA_0CE103: .db $7F,$C6,$9E,$C7,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $C9,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$CA,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$CA,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $CB,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $CB,$CC,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C7,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$C9,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$CA,$9E,$C8,$9E,$C6,$9E,$C8 .db $C9,$80,$C6,$7F,$9E,$C8,$9E,$CA .db $9E,$C8,$9E,$C6,$C9,$C8,$9E,$C6 .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C7,$9E,$C6,$9E,$C8,$9E,$C6 .db $C9,$C8,$9E,$C6,$9E,$CD,$CE,$C6 .db $9E,$C8,$9E,$C6,$9E,$C8,$CB,$CC .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$9E,$CA,$9E,$C8,$9E,$C6 .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$C9,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$C9,$C6,$9E,$C8,$9E,$CA .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$CA .db $9E,$C8,$9E,$C6,$CF,$C8,$9E,$C6 .db $CF,$C8,$C9,$C6,$CF,$C8,$C9,$C6 .db $CF,$C8,$9E,$C6,$80,$D0,$7F,$C8 .db $9E,$CA,$D0,$C8,$9E,$C6,$D0,$C8 .db $9E,$C6,$D0,$C7,$9E,$D1,$D2,$D3 .db $D4,$D1,$D2,$D3,$D4,$D1,$D2,$D3 .db $D4,$D1,$D2,$D3,$D4,$D5,$D6,$D7 .db $D8,$D5,$D6,$D7,$D8,$D5,$D6,$D7 .db $D8,$D5,$D6,$D7,$D8,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$80 .db $00,$7F,$DA,$00,$D9,$00,$DA,$00 .db $D9,$00,$DA,$00,$D9,$00,$DA,$00 .db $D9,$00,$DA,$00,$D9,$00,$DA,$00 .db $D9,$00,$DA,$00,$D9,$00,$DA,$00 .db $D9,$00,$DA,$00,$D9,$00,$DA,$00 .db $D9,$00,$DA,$00,$D9,$00,$DA,$C6 .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C7,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$9E,$C6,$9E,$C8,$C9,$C6 .db $9E,$C8,$9E,$C6,$9E,$C7,$9E,$C6 .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$C9,$C6,$9E,$C8,$9E,$CC .db $9E,$C8,$9E,$CA,$9E,$C8,$CB,$CC .db $9E,$C8,$9E,$C6,$C9,$C8,$9E,$C6 .db $9E,$C8,$80,$9E,$7F,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C7 .db $9E,$C6,$C9,$C8,$9E,$C6,$9E,$C8 .db $C9,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$C9,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$CA,$9E,$C8 .db $9E,$C6,$9E,$C7,$9E,$C6,$9E,$C8 .db $9E,$CA,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$C9,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C7 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$9E,$C6,$9E,$C8 .db $9E,$C6,$9E,$C8,$C9,$80,$C6,$7F .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$CA .db $9E,$C8,$9E,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$C9,$C6,$9E,$C8,$9E,$C6 .db $9E,$C8,$9E,$C6,$CF,$C8,$9E,$C6 .db $CF,$C8,$9E,$C6,$CF,$C8,$C9,$C6 .db $CF,$C8,$9E,$C6,$D0,$CD,$CE,$C6 .db $D0,$C8,$C9,$C6,$D0,$C8,$9E,$C6 .db $D0,$C8,$C9,$D1,$D2,$D3,$D4,$D1 .db $D2,$D3,$D4,$D1,$D2,$D3,$D4,$D1 .db $D2,$D3,$D4,$D5,$D6,$D7,$D8,$D5 .db $D6,$D7,$D8,$D5,$D6,$D7,$D8,$D5 .db $D6,$D7,$D8,$00,$D9,$00,$DA,$00 .db $D9,$00,$DA,$00,$D9,$00,$DA,$00 .db $D9,$00,$DA,$00,$D9,$00,$DA,$00 .db $D9,$00,$DA,$00,$D9,$00,$DA,$00 .db $D9,$00,$DA,$00,$D9,$00,$DA,$00 .db $80,$D9,$59,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$00,$D9,$00 .db $DA,$00,$D9,$00,$DA,$FF,$FF DATA_0CE472: .db $81,$00,$01,$60,$61,$C4,$00,$01 .db $60,$61,$A1,$00,$02,$63,$7F,$80 .db $8B,$00,$03,$63,$68,$22,$7C,$89 .db $00,$02,$7D,$7E,$68,$82,$22,$88 .db $00,$01,$63,$68,$84,$22,$87,$00 .db $01,$63,$68,$85,$22,$86,$00,$01 .db $63,$68,$86,$22,$83,$00,$03,$63 .db $7B,$71,$68,$87,$22,$82,$00,$03 .db $63,$68,$7C,$86,$88,$22,$03,$DB .db $7D,$7E,$68,$81,$22,$02,$7C,$84 .db $85,$81,$22,$00,$DC,$83,$22,$01 .db $DD,$DE,$87,$22,$02,$DF,$65,$E0 .db $81,$22,$03,$E1,$76,$DD,$DE,$85 .db $22,$06,$DF,$69,$6A,$6B,$E0,$E1 .db $E2,$81,$76,$01,$DD,$DE,$83,$22 .db $01,$DF,$69,$81,$72,$02,$6A,$6B .db $74,$82,$76,$02,$77,$DD,$DE,$81 .db $22,$02,$DF,$69,$6A,$83,$72,$02 .db $6B,$74,$77,$82,$76,$05,$DD,$DE .db $DF,$69,$73,$6A,$84,$72,$00,$6B .db $84,$76,$01,$8C,$69,$87,$72,$06 .db $6A,$90,$76,$77,$76,$8C,$69,$83 .db $72,$00,$73,$84,$72,$04,$78,$99 .db $90,$8C,$69,$81,$72,$00,$6A,$84 .db $72,$00,$73,$81,$72,$03,$77,$76 .db $8C,$69,$88,$72,$07,$6A,$73,$E3 .db $76,$8C,$69,$72,$73,$87,$72,$05 .db $E3,$E4,$8F,$8C,$69,$73,$86,$72 .db $03,$73,$E3,$E4,$8F,$81,$72,$00 .db $69,$81,$73,$02,$6A,$72,$6A,$82 .db $72,$03,$E3,$E4,$8F,$73,$82,$72 .db $A7,$00,$01,$60,$61,$BD,$00,$00 .db $E5,$86,$00,$01,$7F,$E6,$84,$00 .db $02,$E7,$E8,$DB,$85,$00,$02,$22 .db $E9,$80,$82,$00,$04,$E7,$E2,$76 .db $DD,$DB,$84,$00,$81,$22,$04,$7C .db $7F,$80,$E7,$E2,$82,$76,$01,$DD .db $DB,$83,$00,$83,$22,$03,$E1,$E2 .db $76,$77,$82,$76,$01,$DD,$DB,$82 .db $00,$82,$22,$01,$E1,$E2,$81,$77 .db $83,$76,$02,$75,$DD,$DB,$81,$00 .db $81,$22,$01,$E1,$E2,$88,$76,$05 .db $DD,$DB,$00,$22,$E1,$E2,$8A,$76 .db $03,$DD,$DB,$E1,$E2,$86,$76,$00 .db $75,$82,$76,$03,$75,$76,$DD,$E2 .db $8D,$76,$00,$77,$83,$76,$00,$77 .db $84,$76,$00,$77,$84,$76,$01,$75 .db $77,$85,$76,$00,$EA,$8C,$76,$04 .db $EB,$EC,$6E,$99,$90,$82,$76,$08 .db $75,$76,$74,$76,$75,$76,$EB,$EC .db $89,$82,$76,$02,$78,$99,$90,$82 .db $76,$05,$6B,$74,$EB,$EC,$89,$77 .db $81,$76,$01,$77,$75,$81,$76,$07 .db $78,$99,$90,$76,$72,$6B,$74,$ED .db $81,$76,$01,$75,$77,$84,$76,$08 .db $77,$78,$99,$72,$E3,$E4,$EE,$EF .db $F0,$88,$76,$02,$77,$E4,$8F,$81 .db $72,$05,$6A,$98,$EF,$F0,$76,$77 .db $83,$76,$02,$75,$76,$73,$85,$72 .db $02,$98,$EF,$F0,$81,$76,$00,$75 .db $82,$76,$03,$72,$6A,$72,$73,$82 .db $72,$05,$6A,$72,$98,$EF,$F0,$77 .db $82,$76,$83,$72,$00,$73,$83,$72 .db $06,$6A,$72,$98,$EF,$F0,$76,$8C .db $FF,$FF DATA_0CE674: .db $FF,$F1,$FF,$F1,$FF,$F1,$FF,$F1 .db $FF,$F1,$FF,$F1,$DF,$F1,$FF,$FF DATA_0CE684: .db $8D,$00,$00,$F2,$83,$00,$02,$F3 .db $00,$F3,$95,$00,$00,$F4,$83,$00 .db $00,$F4,$87,$00,$00,$F2,$89,$00 .db $00,$F2,$81,$00,$00,$F5,$93,$00 .db $00,$F3,$88,$00,$00,$F2,$89,$00 .db $00,$F5,$88,$00,$00,$F2,$82,$00 .db $00,$F2,$92,$00,$00,$F2,$82,$00 .db $00,$F4,$89,$00,$00,$F3,$88,$00 .db $00,$F5,$8F,$00,$00,$F2,$83,$00 .db $02,$F3,$00,$F3,$95,$00,$00,$F4 .db $83,$00,$00,$F4,$87,$00,$00,$F2 .db $89,$00,$00,$F2,$81,$00,$00,$F5 .db $93,$00,$00,$F3,$88,$00,$00,$F2 .db $89,$00,$00,$F5,$88,$00,$00,$F2 .db $82,$00,$00,$F2,$92,$00,$00,$F2 .db $82,$00,$00,$F4,$89,$00,$00,$F3 .db $88,$00,$00,$F5,$8C,$00,$00,$F3 .db $83,$00,$0D,$F6,$F7,$F8,$F6,$F7 .db $F8,$F6,$F7,$F8,$F6,$F7,$F8,$F6 .db $F7,$81,$F8,$AF,$72,$8D,$00,$00 .db $F2,$83,$00,$02,$F3,$00,$F3,$95 .db $00,$00,$F4,$83,$00,$00,$F4,$87 .db $00,$00,$F2,$89,$00,$00,$F2,$81 .db $00,$00,$F5,$93,$00,$00,$F3,$88 .db $00,$00,$F2,$89,$00,$00,$F5,$88 .db $00,$00,$F2,$82,$00,$00,$F2,$92 .db $00,$00,$F2,$82,$00,$00,$F4,$89 .db $00,$00,$F3,$88,$00,$00,$F5,$8F .db $00,$00,$F2,$83,$00,$02,$F3,$00 .db $F3,$95,$00,$00,$F4,$83,$00,$00 .db $F4,$87,$00,$00,$F2,$89,$00,$00 .db $F2,$81,$00,$00,$F5,$93,$00,$00 .db $F3,$88,$00,$00,$F2,$89,$00,$00 .db $F5,$88,$00,$00,$F2,$82,$00,$00 .db $F2,$92,$00,$00,$F2,$82,$00,$00 .db $F4,$89,$00,$00,$F3,$88,$00,$00 .db $F5,$8C,$00,$00,$F3,$83,$00,$0D .db $F6,$F7,$F8,$F6,$F7,$F8,$F6,$F7 .db $F8,$F6,$F7,$F8,$F6,$F7,$81,$F8 .db $AF,$72,$FF,$FF DATA_0CE7C0: .db $9A,$00,$01,$60,$61,$C9,$00,$01 .db $60,$61,$EE,$00,$01,$9A,$9C,$87 .db $00,$01,$60,$61,$83,$00,$02,$A8 .db $A1,$9C,$8B,$00,$03,$9A,$9E,$A1 .db $A3,$82,$00,$01,$60,$61,$85,$00 .db $05,$9A,$9E,$9F,$09,$AA,$9C,$89 .db $00,$05,$A8,$9E,$A1,$A3,$AF,$A9 .db $88,$00,$06,$9A,$9E,$9F,$A3,$AF .db $09,$A3,$88,$00,$06,$A8,$9E,$A1 .db $AF,$B8,$A3,$AA,$88,$00,$07,$A8 .db $9F,$B0,$A3,$09,$B6,$AF,$9C,$81 .db $00,$00,$9A,$84,$00,$0A,$9F,$B0 .db $9F,$72,$09,$B0,$A1,$A9,$00,$9A .db $9F,$83,$00,$00,$9A,$81,$09,$08 .db $A3,$AF,$B0,$9E,$A1,$A3,$9A,$9E .db $A1,$82,$00,$09,$9A,$9E,$09,$A3 .db $AF,$A9,$9E,$9F,$C1,$AA,$81,$9E .db $00,$A1,$81,$00,$00,$9A,$81,$9E .db $0A,$B0,$A1,$AC,$A9,$9F,$09,$C1 .db $AF,$A2,$9F,$09,$81,$00,$01,$A8 .db $9F,$81,$9E,$07,$A1,$72,$A3,$AF .db $A3,$AF,$09,$A3,$81,$09,$06,$00 .db $9A,$9F,$A3,$9E,$9F,$A3,$83,$72 .db $04,$09,$A3,$72,$AC,$B0,$CC,$00 .db $01,$60,$61,$A3,$00,$01,$60,$61 .db $FF,$00,$95,$00,$01,$60,$61,$83 .db $00,$01,$9A,$9C,$8C,$00,$02,$9A .db $9F,$A3,$8C,$00,$02,$A8,$A1,$AA .db $8C,$00,$03,$9F,$09,$AC,$9C,$8B .db $00,$04,$09,$B0,$B6,$AC,$9C,$8A .db $00,$01,$B0,$9F,$81,$72,$03,$AA .db $9A,$9B,$9C,$87,$00,$01,$9F,$A3 .db $81,$72,$03,$AA,$9E,$B8,$A3,$87 .db $00,$07,$09,$BB,$09,$B6,$AF,$C0 .db $9E,$AA,$87,$00,$08,$B0,$B7,$72 .db $AF,$A3,$72,$C0,$AF,$9C,$86,$00 .db $08,$B7,$72,$AF,$A3,$AF,$C1,$AA .db $B8,$A3,$87,$00,$FF,$FF DATA_0CE8EE: .db $FF,$00,$FF,$00,$FF,$00,$FF,$00 .db $FF,$00,$FF,$00,$E0,$00,$FF,$FF DATA_0CE8FE: .db $0C,$00,$01,$02,$03,$04,$05,$06 .db $07,$08,$02,$09,$0A,$0B,$81,$01 .db $0D,$0C,$0D,$01,$0E,$02,$0F,$10 .db $06,$07,$11,$03,$12,$13,$14,$81 .db $01,$13,$0C,$0D,$15,$0C,$03,$12 .db $09,$06,$07,$08,$03,$16,$17,$18 .db $01,$15,$00,$19,$1A,$00,$81,$03 .db $08,$1B,$06,$1C,$11,$02,$01,$05 .db $1D,$01,$81,$0D,$1E,$1E,$1F,$0D .db $02,$20,$05,$06,$21,$08,$0E,$01 .db $0B,$22,$15,$23,$19,$21,$1F,$22 .db $03,$0F,$10,$06,$21,$24,$0C,$09 .db $10,$0D,$23,$25,$81,$1E,$0D,$1F .db $0D,$0E,$26,$01,$06,$1E,$1F,$00 .db $27,$01,$0D,$28,$1E,$81,$21,$0C .db $1F,$0D,$0C,$12,$09,$29,$2A,$2B .db $0D,$0E,$01,$22,$28,$82,$21,$06 .db $1F,$22,$00,$02,$05,$18,$22,$81 .db $0D,$0C,$0C,$01,$0D,$2C,$1E,$2D .db $1E,$2E,$23,$19,$03,$06,$18,$82 .db $0D,$0C,$00,$01,$22,$2F,$21,$1F .db $21,$30,$31,$21,$02,$06,$1D,$82 .db $0D,$05,$22,$15,$23,$32,$1E,$1F .db $81,$21,$06,$07,$1E,$03,$06,$19 .db $1A,$22,$82,$0D,$00,$28,$81,$21 .db $00,$1F,$81,$21,$05,$1C,$21,$03 .db $0B,$21,$1F,$82,$0D,$01,$22,$28 .db $81,$21,$00,$33,$82,$21,$09,$2D .db $0E,$06,$1E,$2E,$0D,$23,$19,$34 .db $28,$81,$21,$0E,$1E,$21,$35,$21 .db $1F,$0C,$06,$21,$08,$0D,$28,$21 .db $01,$36,$37,$81,$21,$7F,$38,$39 .db $1E,$1F,$0C,$0B,$21,$30,$1A,$2C .db $1E,$01,$3A,$2F,$1E,$2D,$11,$36 .db $2A,$2B,$3B,$06,$1E,$35,$3C,$3D .db $21,$01,$18,$3E,$21,$1F,$3F,$22 .db $34,$40,$02,$06,$2A,$39,$1C,$21 .db $41,$01,$42,$36,$2A,$2B,$1F,$40 .db $01,$0C,$03,$43,$3A,$28,$21,$35 .db $08,$01,$0B,$19,$1A,$22,$1F,$44 .db $01,$44,$02,$45,$18,$28,$1E,$07 .db $08,$01,$06,$1E,$1F,$0D,$33,$02 .db $01,$03,$46,$01,$18,$28,$21,$07 .db $30,$01,$06,$2A,$2B,$40,$21,$03 .db $01,$03,$47,$01,$42,$36,$2A,$07 .db $1E,$01,$0B,$40,$3A,$0C,$1E,$03 .db $01,$46,$04,$01,$43,$3A,$34,$48 .db $37,$01,$49,$3B,$18,$44,$80,$2A .db $12,$02,$4A,$4B,$4C,$4D,$4B,$18 .db $01,$2B,$3E,$4D,$4B,$46,$42,$03 .db $34,$46,$49,$4E,$81,$46,$0F,$4E .db $4F,$01,$22,$40,$50,$4E,$45,$49 .db $02,$4D,$4B,$45,$49,$26,$45,$81 .db $49,$0D,$4D,$3A,$0C,$45,$43,$4A .db $26,$03,$46,$13,$01,$26,$47,$4A .db $81,$26,$31,$02,$4F,$0C,$4D,$4B .db $49,$26,$02,$04,$09,$0A,$04,$0F .db $01,$12,$26,$05,$01,$0B,$06,$21 .db $07,$21,$01,$0F,$27,$13,$0F,$27 .db $09,$20,$05,$06,$01,$06,$0B,$21 .db $07,$38,$15,$27,$16,$13,$51,$02 .db $05,$04,$0B,$06,$09,$81,$06,$7F .db $21,$1C,$11,$0D,$03,$01,$13,$06 .db $03,$06,$0F,$10,$0B,$12,$06,$0B .db $52,$21,$24,$23,$03,$01,$17,$29 .db $16,$0B,$27,$01,$29,$03,$0B,$06 .db $36,$2A,$2B,$28,$03,$01,$51,$1D .db $01,$29,$0E,$09,$18,$53,$49,$06 .db $23,$19,$1A,$28,$03,$09,$06,$0D .db $01,$1D,$00,$27,$18,$0C,$26,$14 .db $28,$21,$1F,$28,$02,$12,$06,$22 .db $15,$0D,$22,$16,$1D,$0C,$26,$18 .db $2C,$21,$1F,$28,$53,$02,$06,$0D .db $23,$19,$1A,$01,$22,$00,$27,$18 .db $54,$1E,$55,$2C,$0C,$03,$14,$0D .db $28,$1E,$1F,$15,$23,$19,$03,$18 .db $54,$21,$24,$2F,$0C,$02,$18,$0D .db $2C,$21,$1F,$23,$25,$21,$16,$1D .db $80,$54,$0A,$41,$2B,$2F,$00,$03 .db $18,$0D,$2F,$1E,$33,$31,$81,$21 .db $0A,$01,$55,$2F,$08,$23,$32,$1A .db $16,$1D,$22,$3E,$81,$21,$00,$07 .db $81,$21,$07,$01,$24,$54,$08,$28 .db $21,$1F,$01,$81,$0D,$00,$28,$81 .db $1E,$0A,$1C,$21,$2D,$01,$3A,$54 .db $08,$28,$21,$1F,$15,$81,$0D,$01 .db $36,$52,$81,$21,$08,$2D,$2B,$01 .db $18,$3E,$24,$28,$21,$2B,$81,$22 .db $39,$0D,$34,$36,$52,$21,$2E,$40 .db $4A,$18,$23,$19,$31,$21,$22,$34 .db $0D,$2C,$01,$55,$28,$1E,$08,$0C .db $49,$18,$28,$21,$07,$21,$40,$01 .db $0D,$54,$01,$24,$28,$21,$11,$0C .db $45,$4F,$28,$21,$1C,$21,$0C,$4D .db $3A,$3E,$4D,$3A,$2C,$21,$3F,$44 .db $01,$0B,$28,$82,$21,$16,$3B,$46 .db $18,$40,$02,$42,$2F,$1E,$33,$02 .db $01,$06,$36,$52,$21,$56,$46,$45 .db $18,$0C,$03,$06,$54,$81,$21,$2F .db $02,$01,$49,$3A,$28,$21,$07,$45 .db $01,$4F,$0C,$02,$06,$57,$35,$1E .db $03,$4D,$4B,$4F,$25,$41,$07,$4D .db $01,$49,$3B,$03,$0B,$58,$07,$37 .db $03,$02,$13,$0B,$1E,$11,$07,$46 .db $4D,$4B,$50,$03,$06,$36,$39,$3E .db $81,$03,$0B,$4E,$06,$21,$08,$48 .db $47,$50,$4E,$47,$02,$06,$22,$81 .db $36,$1F,$03,$02,$49,$0B,$1E,$3F .db $2B,$04,$26,$49,$4C,$46,$06,$40 .db $3A,$34,$02,$03,$26,$06,$2A,$2B .db $40,$04,$26,$47,$46,$45,$06,$44 .db $42,$01,$81,$46,$04,$26,$0B,$3A .db $34,$0C,$FF,$FF DATA_0CEC82: .db $86,$59,$01,$5A,$5B,$87,$59,$01 .db $5A,$5B,$94,$59,$04,$5C,$5D,$59 .db $5A,$5B,$87,$59,$05,$5C,$5D,$5C .db $5E,$5F,$5D,$88,$59,$03,$5C,$5E .db $5F,$5E,$81,$60,$03,$5F,$5D,$5C .db $5D,$82,$59,$06,$5C,$5D,$5C,$5E .db $60,$61,$62,$81,$60,$04,$63,$5F .db $5E,$5F,$5D,$81,$5C,$07,$5E,$5F .db $5E,$60,$61,$64,$65,$62,$84,$60 .db $00,$5F,$81,$5E,$01,$66,$63,$81 .db $60,$04,$5F,$5D,$5C,$5E,$66,$86 .db $60,$01,$67,$68,$82,$60,$01,$5F .db $5E,$87,$60,$05,$67,$69,$6A,$68 .db $67,$68,$81,$60,$01,$67,$68,$83 .db $60,$14,$67,$68,$69,$6B,$6C,$6A .db $69,$6A,$68,$67,$69,$6A,$68,$67 .db $68,$67,$69,$6A,$6B,$6C,$6D,$82 .db $6B,$01,$6A,$69,$81,$6B,$03,$6A .db $69,$6A,$69,$81,$6B,$00,$6E,$82 .db $6B,$04,$6F,$6E,$6B,$6C,$6D,$81 .db $6B,$20,$70,$71,$70,$71,$6B,$72 .db $6E,$6B,$6F,$73,$72,$6E,$6B,$6C .db $6B,$70,$74,$75,$74,$75,$71,$67 .db $69,$6C,$6A,$68,$60,$72,$6E,$6B .db $70,$74,$76,$82,$77,$01,$75,$69 .db $81,$6B,$07,$6F,$73,$60,$67,$69 .db $6B,$78,$79,$82,$77,$01,$7A,$79 .db $82,$6B,$03,$6A,$68,$67,$69,$81 .db $6B,$06,$70,$74,$77,$76,$7A,$7B .db $78,$81,$6B,$03,$70,$71,$70,$71 .db $81,$6B,$10,$70,$74,$77,$76,$7C .db $75,$71,$70,$6B,$70,$74,$75,$74 .db $75,$71,$70,$74,$84,$77,$03,$75 .db $74,$70,$74,$83,$77,$01,$75,$74 .db $86,$77,$01,$7A,$74,$82,$77,$01 .db $76,$7C,$83,$77,$01,$7D,$7E,$82 .db $77,$01,$75,$7E,$83,$77,$01,$76 .db $7C,$81,$77,$03,$7D,$7F,$80,$7E .db $82,$77,$03,$80,$7E,$7D,$7E,$83 .db $77,$05,$7D,$7F,$81,$82,$80,$7E .db $81,$77,$09,$83,$80,$7F,$80,$7E .db $7D,$7E,$77,$84,$85,$82,$83,$02 .db $80,$7E,$77,$81,$83,$12,$82,$83 .db $80,$7F,$80,$7E,$77,$84,$85,$86 .db $85,$86,$87,$77,$83,$81,$83,$86 .db $85,$81,$83,$08,$80,$7E,$77,$84 .db $87,$84,$87,$77,$76,$81,$83,$07 .db $86,$87,$84,$85,$83,$82,$80,$7E .db $85,$77,$8F,$59,$01,$5A,$5B,$85 .db $59,$01,$5A,$5B,$8A,$59,$01,$5A .db $5B,$89,$59,$03,$5C,$5D,$5C,$5D .db $8A,$59,$07,$5C,$5E,$5F,$5E,$5F .db $5D,$5C,$5D,$85,$59,$02,$5A,$5B .db $5E,$82,$60,$04,$66,$5F,$5E,$5F .db $5D,$81,$59,$01,$5C,$5D,$82,$59 .db $81,$60,$01,$61,$62,$81,$60,$07 .db $63,$60,$5F,$5D,$5C,$5E,$5F,$5D .db $81,$59,$06,$60,$61,$64,$65,$62 .db $61,$62,$81,$60,$08,$5F,$5E,$60 .db $63,$5F,$5D,$5C,$61,$64,$81,$59 .db $05,$65,$64,$65,$62,$60,$66,$83 .db $60,$05,$5F,$5E,$5F,$5D,$5C,$5D .db $81,$59,$01,$5C,$5E,$81,$60,$01 .db $67,$68,$83,$60,$19,$68,$5F,$5E .db $5F,$5D,$5C,$5E,$67,$68,$67,$69 .db $6A,$68,$67,$68,$67,$6A,$68,$66 .db $60,$67,$68,$67,$69,$6A,$69,$81 .db $6B,$0F,$6A,$69,$6A,$69,$6D,$6A .db $68,$67,$69,$6A,$69,$6B,$70,$71 .db $6B,$6D,$82,$6B,$00,$6F,$81,$6B .db $10,$6A,$69,$6C,$6D,$6B,$70,$74 .db $75,$71,$70,$71,$6B,$6F,$73,$71 .db $70,$71,$83,$6B,$0C,$78,$79,$76 .db $75,$74,$75,$71,$6A,$68,$75,$74 .db $75,$71,$83,$6B,$0E,$78,$79,$7A .db $79,$7A,$7B,$6B,$6A,$79,$77,$7C .db $75,$71,$6B,$6C,$81,$6B,$08,$78 .db $7B,$78,$7B,$6B,$70,$71,$74,$76 .db $81,$77,$04,$75,$71,$70,$71,$6D .db $82,$6B,$05,$70,$71,$78,$7B,$7A .db $79,$82,$77,$0D,$75,$74,$75,$71 .db $70,$71,$70,$74,$75,$71,$6B,$7B .db $78,$79,$84,$77,$06,$75,$74,$75 .db $74,$77,$7C,$75,$81,$71,$04,$6B .db $78,$79,$77,$7C,$88,$77,$81,$75 .db $05,$71,$70,$74,$77,$76,$7C,$87 .db $77,$03,$7D,$77,$75,$74,$87,$77 .db $07,$76,$7C,$77,$7D,$7F,$77,$7D .db $7E,$83,$77,$01,$7D,$7E,$84,$77 .db $0B,$84,$85,$77,$84,$87,$77,$7D .db $7E,$7D,$7F,$80,$7E,$83,$77,$02 .db $7D,$7F,$7C,$81,$77,$07,$7D,$7F .db $80,$7F,$83,$82,$80,$7E,$81,$77 .db $02,$7D,$7F,$83,$81,$77,$03,$7D .db $7F,$81,$82,$83,$83,$05,$80,$7E .db $77,$84,$85,$83,$FF,$FF DATA_0CEF80: .db $86,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $88,$83,$07,$89,$83,$8A,$8B,$8C .db $83,$8B,$8C,$86,$83,$0A,$8D,$8E .db $8F,$90,$91,$92,$8A,$91,$92,$8A .db $8C,$83,$83,$0D,$8D,$8C,$93,$90 .db $94,$95,$96,$97,$95,$96,$97,$8C .db $89,$83,$82,$98,$1C,$99,$9A,$9B .db $9C,$9D,$9E,$9C,$9D,$9E,$9F,$A0 .db $A1,$98,$83,$89,$8A,$90,$A2,$A3 .db $A4,$A5,$A4,$A6,$A5,$A4,$A6,$96 .db $A7,$8C,$82,$98,$5C,$99,$9A,$9B .db $9C,$A8,$9E,$9C,$A8,$9E,$9F,$A0 .db $A1,$98,$A9,$83,$8D,$8E,$A2,$A3 .db $A4,$AA,$A6,$AB,$AA,$A6,$AB,$96 .db $AC,$8F,$AD,$AE,$8D,$AD,$AE,$AF .db $A3,$B0,$AB,$B1,$B0,$B2,$AF,$AD .db $AE,$A9,$B3,$B4,$92,$B3,$B4,$92 .db $90,$B5,$B6,$B1,$B5,$B6,$B1,$B3 .db $B4,$B7,$B8,$B9,$B7,$B8,$B9,$92 .db $8C,$88,$97,$8E,$88,$97,$8E,$B8 .db $B9,$8C,$BA,$8C,$B7,$93,$A9,$8D .db $8C,$88,$8A,$A9,$88,$8A,$A9,$83 .db $93,$8C,$8F,$98,$8F,$B5,$8F,$88 .db $C6,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$00,$88,$81,$83,$00,$88 .db $8B,$83,$03,$88,$83,$93,$88,$88 .db $83,$07,$89,$83,$8A,$8B,$8C,$83 .db $8B,$8C,$86,$83,$0C,$8D,$8E,$8F .db $90,$91,$90,$BB,$91,$92,$8A,$8C .db $83,$89,$81,$83,$0D,$8D,$8A,$8E .db $A2,$A3,$95,$BC,$A3,$95,$BD,$BC .db $B1,$8F,$8C,$82,$98,$1C,$99,$9A .db $9B,$9C,$9D,$9E,$9C,$9D,$9E,$9F .db $A0,$A1,$98,$83,$89,$8A,$90,$A2 .db $A3,$A4,$A5,$A4,$A6,$A5,$A4,$A6 .db $96,$A7,$8C,$82,$98,$5C,$99,$9A .db $9B,$9C,$A8,$9E,$9C,$A8,$9E,$9F .db $A0,$A1,$98,$A9,$83,$8D,$8E,$A2 .db $A3,$A4,$AA,$A6,$AB,$AA,$A4,$A6 .db $96,$AC,$8F,$AD,$AE,$8D,$AD,$AE .db $AF,$A3,$B0,$BE,$BC,$B0,$BE,$BC .db $AD,$AE,$A9,$B3,$B4,$B7,$B3,$B4 .db $92,$90,$B5,$B6,$B1,$B5,$B6,$B1 .db $B3,$B4,$B7,$B8,$B9,$B7,$B8,$B9 .db $92,$8C,$88,$97,$8E,$88,$97,$8E .db $B8,$B9,$8E,$83,$8D,$8E,$8F,$8C .db $8D,$8C,$88,$8A,$A9,$88,$8A,$BA .db $8A,$A9,$8D,$8F,$98,$8F,$B5,$8F .db $88,$BF,$83,$FF,$FF DATA_0CF175: .db $00,$BF,$81,$C0,$04,$C1,$C2,$C3 .db $C0,$BF,$81,$C0,$00,$BF,$81,$C0 .db $00,$BF,$81,$C0,$00,$C4,$81,$C5 .db $04,$C1,$C2,$C6,$C5,$C4,$81,$C5 .db $00,$C4,$81,$C5,$00,$C4,$81,$C5 .db $82,$C0,$02,$C1,$C2,$C3,$89,$C0 .db $82,$C5,$02,$C1,$C2,$C6,$89,$C5 .db $82,$C7,$01,$C8,$C2,$88,$C7,$01 .db $C9,$C7,$82,$CA,$01,$C1,$C2,$83 .db $CA,$81,$CB,$84,$CA,$82,$CC,$02 .db $C1,$C2,$CD,$89,$CC,$82,$C5,$02 .db $C1,$C2,$C6,$89,$C5,$82,$C0,$04 .db $C1,$C2,$C3,$C0,$BF,$81,$C0,$00 .db $BF,$81,$C0,$00,$CE,$81,$59,$82 .db $C5,$04,$C1,$CF,$C6,$C5,$C4,$81 .db $C5,$00,$C4,$81,$C5,$00,$D0,$81 .db $59,$00,$D1,$81,$C0,$02,$C8,$C2 .db $C3,$85,$C0,$00,$CE,$82,$59,$00 .db $D2,$81,$C5,$02,$C1,$C2,$C6,$85 .db $C5,$00,$D0,$81,$59,$00,$D3,$82 .db $C0,$02,$C1,$C2,$C3,$84,$C0,$00 .db $CE,$81,$59,$01,$D1,$D4,$82,$C5 .db $02,$C1,$C2,$C6,$84,$C5,$04,$D0 .db $D3,$D5,$D2,$C5,$82,$C0,$04,$C1 .db $C2,$C3,$C0,$BF,$83,$C0,$03,$D4 .db $C0,$BF,$C0,$82,$C5,$04,$C1,$C2 .db $C6,$C5,$C4,$81,$C5,$00,$D6,$82 .db $C5,$07,$C4,$C5,$59,$D1,$C0,$C1 .db $C2,$C3,$81,$C0,$02,$CE,$59,$D7 .db $85,$59,$04,$D2,$C5,$C1,$C2,$C6 .db $81,$C5,$00,$D0,$82,$59,$00,$D5 .db $81,$59,$00,$D3,$82,$C7,$01,$C1 .db $C2,$84,$C7,$00,$C9,$84,$C7,$81 .db $CA,$03,$CB,$C1,$C2,$CB,$87,$CA .db $01,$CB,$CA,$82,$CC,$02,$C1,$CF .db $CD,$89,$CC,$82,$C5,$02,$C1,$C2 .db $C6,$89,$C5,$00,$BF,$81,$C0,$04 .db $C8,$C2,$C3,$C0,$CE,$82,$59,$02 .db $D1,$C0,$BF,$81,$C0,$00,$C4,$81 .db $C5,$0A,$C1,$C2,$C6,$C5,$D0,$59 .db $D3,$59,$D2,$D6,$C4,$81,$C5,$82 .db $C0,$02,$C1,$C2,$C3,$82,$C0,$03 .db $D4,$CE,$59,$D7,$82,$59,$82,$C5 .db $02,$C1,$CF,$C6,$83,$C5,$01,$D0 .db $59,$81,$D5,$01,$D3,$59,$82,$C0 .db $02,$C1,$C2,$C3,$87,$C0,$02,$D4 .db $C0,$BF,$81,$C0,$04,$C1,$C2,$C3 .db $C0,$BF,$81,$C0,$00,$BF,$81,$C0 .db $00,$BF,$81,$C0,$00,$C4,$81,$C5 .db $04,$C1,$C2,$C6,$C5,$C4,$81,$C5 .db $00,$C4,$81,$C5,$00,$C4,$81,$C5 .db $82,$C0,$02,$C8,$C2,$C3,$89,$C0 .db $82,$C5,$02,$C1,$C2,$C6,$89,$C5 .db $82,$C7,$03,$C1,$C2,$C7,$C9,$83 .db $C7,$00,$C9,$83,$C7,$82,$CA,$01 .db $C1,$C2,$81,$CA,$00,$CB,$87,$CA .db $82,$CC,$02,$C1,$C2,$CD,$89,$CC .db $82,$C5,$02,$C1,$C2,$C6,$89,$C5 .db $00,$D1,$81,$C0,$04,$C1,$C2,$C3 .db $C0,$CE,$83,$59,$01,$D1,$BF,$81 .db $C0,$00,$D2,$81,$C5,$04,$C1,$C2 .db $C6,$C5,$D0,$83,$59,$01,$D2,$C4 .db $81,$C5,$82,$59,$03,$C1,$C2,$C3 .db $CE,$89,$59,$05,$D5,$59,$C1,$C2 .db $C6,$D0,$81,$59,$03,$D3,$59,$D5 .db $D3,$81,$59,$00,$D5,$82,$C0,$02 .db $C8,$C2,$C3,$82,$C0,$03,$D4,$BF .db $C0,$D4,$82,$C0,$82,$C5,$02,$C1 .db $C2,$C6,$81,$C5,$02,$D6,$C5,$C4 .db $84,$C5,$82,$C0,$01,$C1,$C2,$82 .db $59,$00,$D7,$83,$59,$00,$D1,$81 .db $C0,$82,$C5,$02,$C1,$C2,$D5,$86 .db $59,$09,$D2,$D6,$C5,$59,$D1,$C0 .db $C1,$CF,$C3,$CE,$81,$59,$00,$D1 .db $82,$C0,$01,$CE,$D7,$81,$59,$08 .db $D2,$C5,$C1,$C2,$C6,$D0,$D5,$59 .db $D2,$82,$C5,$00,$D0,$81,$59,$82 .db $C7,$03,$C1,$C2,$C7,$C9,$84,$C7 .db $00,$C9,$82,$C7,$82,$CA,$01,$C1 .db $CF,$84,$CA,$00,$CB,$84,$CA,$82 .db $CC,$02,$C1,$C2,$CD,$89,$CC,$82 .db $C5,$02,$C1,$C2,$C6,$89,$C5,$00 .db $BF,$81,$C0,$05,$C8,$C2,$C3,$C0 .db $BF,$CE,$81,$59,$02,$D1,$C0,$BF .db $81,$C0,$00,$C4,$81,$C5,$05,$C1 .db $CF,$C6,$C5,$C4,$D0,$81,$59,$02 .db $D2,$D6,$C4,$81,$C5,$00,$D1,$81 .db $C0,$03,$C1,$C2,$C3,$CE,$84,$59 .db $01,$D7,$D1,$81,$C0,$00,$D2,$81 .db $C5,$04,$C1,$C2,$C6,$D0,$D3,$81 .db $59,$00,$D5,$81,$59,$00,$D2,$81 .db $C5,$82,$C0,$04,$C1,$C2,$C3,$C0 .db $D4,$87,$C0,$FF,$FF DATA_0CF45A: .db $0B,$76,$D8,$D9,$DA,$DB,$D9,$DA .db $DB,$76,$D8,$D9,$DA,$81,$DB,$0D .db $D9,$DA,$76,$DC,$DD,$DE,$DF,$DD .db $DE,$DF,$76,$DC,$DD,$DE,$81,$DF .db $09,$DD,$DE,$DB,$D9,$DA,$D9,$DA .db $DB,$D9,$DA,$83,$DB,$0B,$D9,$E0 .db $DA,$DB,$DF,$DD,$DE,$DD,$DE,$DF .db $DD,$DE,$83,$DF,$0B,$DD,$E1,$DE .db $DF,$E2,$E3,$E4,$E3,$E4,$E2,$E3 .db $E4,$83,$E2,$06,$E3,$E5,$E4,$E2 .db $E6,$E7,$E8,$81,$E9,$03,$E7,$E8 .db $E9,$E6,$82,$E9,$06,$E7,$E8,$E9 .db $E7,$76,$EA,$DE,$81,$DF,$04,$DD .db $DE,$DF,$76,$DC,$81,$DF,$0D,$DD .db $DE,$DF,$DD,$76,$EB,$E4,$E2,$DF .db $E3,$E4,$DF,$76,$DC,$81,$E2,$3F .db $E3,$E4,$E2,$E3,$76,$EC,$ED,$EE .db $E5,$ED,$EE,$E4,$76,$EB,$ED,$EE .db $E0,$ED,$EE,$DA,$76,$EB,$EF,$F0 .db $E0,$EF,$F0,$DA,$76,$EC,$EF,$F0 .db $E1,$EF,$F0,$E4,$76,$EC,$F1,$F2 .db $E5,$F1,$F2,$E4,$76,$EB,$F1,$F2 .db $E5,$F1,$F2,$DA,$76,$DC,$D9,$DA .db $DB,$D9,$DA,$DB,$76,$D8,$D9,$DA .db $81,$DB,$0D,$D9,$DE,$76,$DC,$DD .db $DE,$DF,$DD,$DE,$DF,$76,$DC,$DD .db $DE,$81,$DF,$09,$DD,$DE,$DB,$D9 .db $DA,$D9,$DA,$DB,$D9,$DA,$81,$DB .db $1F,$D9,$DA,$D9,$DA,$DB,$D9,$DF .db $DD,$DE,$DD,$DE,$DF,$DD,$E4,$E2 .db $F3,$E3,$DE,$DD,$DE,$DF,$DD,$E2 .db $E3,$E4,$E3,$E4,$E2,$E3,$E4,$E3 .db $E4,$81,$E2,$06,$E3,$E4,$E2,$E3 .db $E6,$E7,$E8,$81,$E9,$03,$E7,$E8 .db $E9,$E6,$83,$E9,$0C,$E7,$E8,$E7 .db $76,$EA,$DE,$DF,$E2,$DD,$DE,$DF .db $76,$DC,$82,$DF,$0C,$DD,$DE,$DD .db $76,$EB,$E4,$E3,$E0,$E5,$E4,$DF .db $76,$DC,$82,$E2,$3D,$E3,$E4,$E3 .db $76,$EC,$ED,$EE,$E1,$ED,$EE,$E4 .db $76,$EB,$ED,$EE,$E0,$ED,$EE,$DA .db $76,$EB,$EF,$F0,$E5,$EF,$F0,$DA .db $76,$EC,$EF,$F0,$E1,$EF,$F0,$DE .db $76,$EC,$F1,$F2,$E0,$F1,$F2,$E4 .db $76,$EB,$F1,$F2,$E5,$F1,$F2,$DE .db $76,$DC,$D9,$DA,$DF,$D9,$DA,$DB .db $76,$D8,$D9,$81,$E0,$0D,$DA,$D9 .db $E4,$76,$DC,$DD,$DE,$DF,$DD,$DE .db $DF,$76,$DC,$DD,$81,$E1,$05,$DE .db $DD,$DA,$DB,$D9,$DA,$82,$DB,$01 .db $D9,$DA,$83,$DB,$00,$D9,$81,$E0 .db $04,$DA,$DF,$DD,$E4,$E2,$81,$F3 .db $01,$E3,$DE,$83,$DF,$00,$DD,$81 .db $E1,$03,$DE,$DF,$DD,$DA,$82,$DB .db $01,$D9,$DE,$83,$DF,$00,$DD,$81 .db $E5,$0C,$DE,$76,$D8,$D9,$DA,$DB .db $D9,$DA,$DB,$76,$D8,$D9,$DA,$81 .db $DB,$0D,$D9,$DA,$76,$DC,$DD,$DE .db $DF,$DD,$DE,$DF,$76,$DC,$DD,$DE .db $81,$DF,$06,$DD,$DE,$D9,$E0,$DA .db $D9,$DA,$81,$DB,$06,$D9,$DA,$D9 .db $DA,$DB,$D9,$DA,$81,$DB,$04,$DD .db $E1,$DE,$DD,$DE,$81,$DF,$06,$DD .db $DE,$DD,$DE,$DF,$DD,$DE,$81,$DF .db $04,$E3,$E5,$E4,$E3,$E4,$81,$E2 .db $06,$E3,$E4,$E3,$E4,$E2,$E3,$E4 .db $81,$E2,$04,$E6,$E7,$E8,$E7,$E8 .db $82,$E9,$0C,$E6,$E7,$E8,$E9,$E7 .db $E8,$E9,$E7,$76,$EA,$DE,$DD,$DE .db $81,$DF,$4E,$E2,$76,$EB,$DE,$DF .db $DD,$DE,$DF,$DD,$76,$EB,$E4,$E3 .db $E4,$E2,$E3,$DA,$76,$EC,$E4,$E2 .db $E3,$E4,$E2,$E3,$76,$EC,$ED,$EE .db $E0,$ED,$EE,$DE,$76,$EA,$ED,$EE .db $E0,$ED,$EE,$DA,$76,$EB,$EF,$F0 .db $E5,$EF,$F0,$DE,$76,$EA,$EF,$F0 .db $E1,$EF,$F0,$E4,$76,$EC,$F1,$F2 .db $E0,$F1,$F2,$E4,$76,$EB,$F1,$F2 .db $E5,$F1,$F2,$DA,$76,$DC,$D9,$DA .db $DD,$DA,$81,$DB,$03,$76,$EC,$E0 .db $DA,$81,$DB,$07,$D9,$DE,$76,$DC .db $DD,$DE,$DD,$DE,$81,$DF,$03,$76 .db $EB,$E1,$DE,$81,$DF,$06,$DD,$DE .db $DA,$D9,$DA,$DB,$D9,$81,$E0,$06 .db $DA,$DB,$D9,$DA,$DB,$D9,$DA,$81 .db $DB,$0D,$DE,$DD,$DE,$DF,$DD,$E5 .db $E1,$DE,$DF,$DD,$DE,$DF,$DD,$DE .db $81,$DF,$04,$E4,$E3,$E4,$E2,$E3 .db $81,$E5,$06,$E4,$E2,$E3,$E4,$E2 .db $E3,$E4,$81,$E2,$02,$E6,$E7,$E8 .db $81,$E9,$03,$E7,$E8,$E9,$E6,$82 .db $E9,$06,$E7,$E8,$E9,$E7,$76,$EA .db $DE,$81,$DF,$04,$DD,$DE,$DF,$76 .db $DC,$81,$DF,$06,$DD,$DE,$DF,$DD .db $76,$EB,$E4,$81,$E2,$04,$E3,$E4 .db $DF,$76,$DC,$81,$E2,$51,$E3,$E4 .db $E2,$E3,$76,$EC,$ED,$EE,$E0,$ED .db $EE,$E4,$76,$EB,$ED,$EE,$E0,$ED .db $EE,$DA,$76,$EA,$EF,$F0,$E1,$EF .db $F0,$DA,$76,$EC,$EF,$F0,$E1,$EF .db $F0,$E4,$76,$EA,$F1,$F2,$E5,$F1 .db $F2,$E4,$76,$EB,$F1,$F2,$E5,$F1 .db $F2,$DA,$76,$EB,$E0,$DA,$DB,$D9 .db $DA,$DB,$76,$EC,$DA,$DB,$D9,$DA .db $DB,$DF,$76,$EC,$E1,$DE,$DF,$DD .db $DE,$DF,$76,$EA,$DE,$DF,$DD,$DE .db $81,$DF,$02,$DB,$D9,$DA,$82,$DB .db $0C,$D9,$DA,$DB,$D9,$DA,$DB,$D9 .db $DA,$D9,$DA,$DF,$DD,$DE,$82,$DF .db $0C,$DD,$E4,$E2,$E3,$DE,$DF,$DD .db $DE,$DD,$DE,$DF,$DD,$DE,$82,$DF .db $09,$DD,$DA,$DB,$D9,$DE,$DF,$DD .db $DE,$DD,$DE,$FF,$FF,$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,$82 .db $04,$6E,$04,$72,$04,$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 $99,$A3,$9B,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $97,$98,$6E,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$10,$00,$00,$00,$00,$00 .db $00,$00,$83,$00,$00,$00,$00,$00 .db $0A,$03,$63,$04,$4E,$04,$6E,$15 .db $1A,$00,$10,$00,$00,$00,$00,$00 .db $12,$00,$10,$00,$00,$00,$3F,$00 .db $20,$88,$4C,$00,$00,$00,$00,$00 .db $10,$00,$3F,$00,$00,$00,$2A,$00 .db $6E,$04,$5D,$00,$00,$00,$76,$04 .db $7B,$00,$2A,$00,$BC,$00,$1E,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$74,$32,$35,$00,$19,$16 .db $82,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$2A,$00,$20,$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,$8A,$A6 .db $00,$00,$00,$00,$00,$58,$04,$04 .db $04,$6E,$04,$6E,$04,$04,$04,$5D .db $15,$1A,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$10 .db $00,$20,$00,$00,$00,$00,$00,$08 .db $16,$70,$4F,$04,$6E,$00,$00,$3F .db $00,$3F,$00,$00,$00,$00,$0D,$0E .db $00,$3F,$00,$00,$1E,$00,$00,$41 .db $00,$3F,$00,$00,$00,$00,$82,$00 .db $00,$3F,$00,$00,$19,$06,$06,$09 .db $00,$3F,$00,$00,$00,$00,$00,$00 .db $00,$72,$00,$00,$00,$00,$00,$00 .db $00,$3F,$00,$00,$00,$00,$00,$00 .db $00,$31,$BC,$00,$00,$00,$00,$00 .db $00,$10,$00,$00,$00,$00,$00,$00 .db $28,$29,$00,$00,$00,$00,$00,$00 .db $00,$4D,$00,$00,$00,$00,$00,$00 .db $2F,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$28 .db $29,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$3A .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$3A .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$5A,$00,$2F .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$99,$A3,$9B .db $00,$00,$10,$00,$63,$04,$82,$00 .db $00,$00,$00,$00,$00,$00,$00,$76 .db $00,$00,$70,$00,$10,$00,$00,$00 .db $00,$00,$00,$00,$00,$97,$00,$10 .db $00,$9B,$10,$00,$5A,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$3F .db $97,$98,$10,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$40 .db $00,$00,$10,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$99,$9A,$9B .db $00,$00,$4D,$00,$00,$00,$00,$00 .db $00,$00,$00,$4D,$00,$00,$00,$00 .db $00,$00,$A6,$00,$00,$00,$00,$00 .db $00,$00,$00,$2A,$00,$00,$00,$00 .db $00,$00,$5D,$87,$00,$00,$00,$00 .db $00,$2E,$2B,$7F,$BD,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$82 .db $96,$50,$00,$00,$00,$00,$00,$00 .db $56,$00,$00,$00,$00,$00,$00,$10 .db $00,$2A,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$1E .db $00,$4C,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$19 .db $16,$5D,$8C,$00,$58,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$10,$00,$00,$10,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$6E,$04,$04,$57,$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,$3F,$00,$30 .db $00,$5A,$04,$58,$04,$04,$42,$00 .db $00,$4D,$00,$00,$00,$34,$00,$30 .db $00,$00,$00,$00,$00,$A6,$00,$00 .db $00,$0F,$00,$00,$00,$37,$33,$2D .db $00,$00,$00,$00,$8B,$5D,$04,$04 .db $05,$09,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$10,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$10,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$10,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$63,$04,$04,$6E,$00,$00 .db $00,$00,$00,$00,$00,$BE,$00,$82 .db $00,$00,$10,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$10,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$0A,$02 .db $1A,$00,$10,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$12,$00 .db $20,$00,$10,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$10,$00 .db $70,$04,$70,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$1E,$00 .db $0F,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$19,$06 .db $09,$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,$40,$00,$00,$00,$00,$4D,$00 .db $00,$00,$00,$00,$00,$97,$00,$98 .db $00,$3F,$00,$99,$9A,$9B,$4C,$87 .db $9C,$9D,$00,$00,$00,$00,$9E,$9F .db $00,$2A,$00,$00,$00,$00,$5D,$15 .db $1A,$9E,$9F,$00,$00,$99,$A0,$00 .db $00,$3F,$00,$00,$A1,$A2,$99,$A0 .db $20,$00,$00,$00,$00,$00,$00,$00 .db $00,$3F,$00,$00,$00,$00,$00,$00 .db $72,$00,$00,$00,$00,$00,$00,$00 .db $00,$0F,$00,$00,$9E,$00,$9F,$00 .db $0F,$00,$00,$00,$00,$00,$00,$00 .db $0D,$0E,$00,$B5,$99,$A0,$6E,$05 .db $09,$00,$00,$00,$00,$00,$00,$00 .db $12,$00,$07,$56,$17,$00,$10,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $66,$05,$11,$00,$1F,$16,$66,$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,$B6,$BB,$00 .db $82,$00,$00,$B8,$00,$00,$00,$00 .db $00,$00,$B8,$00,$00,$B8,$00,$B9 .db $3F,$00,$00,$00,$00,$63,$04,$04 .db $15,$1A,$B9,$00,$00,$00,$00,$BA .db $3F,$B8,$00,$00,$00,$10,$00,$00 .db $00,$20,$00,$00,$00,$5A,$04,$04 .db $70,$00,$00,$00,$BB,$3F,$B9,$00 .db $00,$6F,$00,$00,$00,$00,$00,$B8 .db $3F,$B6,$00,$00,$B8,$3F,$BA,$00 .db $B8,$10,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$A7,$A8,$00,$00,$00 .db $00,$00,$00,$00,$00,$6E,$04,$82 .db $00,$00,$A9,$AA,$AB,$AC,$00,$00 .db $00,$00,$00,$00,$00,$10,$00,$00 .db $00,$00,$AD,$AE,$AF,$B0,$B1,$00 .db $00,$00,$00,$00,$00,$82,$00,$00 .db $B6,$5A,$B2,$B3,$60,$B4,$61,$00 .db $BA,$00,$00,$00,$00,$00,$00,$B8 .db $00,$10,$00,$8D,$4C,$00,$10,$00 .db $00,$00,$BA,$00,$00,$00,$00,$00 .db $BA,$70,$04,$04,$5D,$00,$58,$00 .db $00,$B8,$BB,$00,$00,$00,$00,$00 .db $B7,$10,$00,$00,$10,$00,$10,$00 .db $00,$00,$00,$00,$00,$00,$B8,$78 .db $00,$6E,$04,$04,$63,$04,$71,$04 .db $6E,$04,$15,$1A,$00,$B6,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$20,$00,$BB,$B9,$00 .db $00,$82,$04,$04,$6E,$04,$04,$04 .db $04,$82,$00,$47,$00,$00,$00,$00 .db $00,$00,$00,$8E,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$8F,$90,$91,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$92,$93,$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,$B9,$00 .db $3F,$BB,$00,$00,$00,$74,$32,$35 .db $00,$6E,$00,$00,$00,$00,$00,$00 .db $1E,$00,$00,$00,$00,$31,$00,$3D .db $00,$4C,$00,$00,$00,$00,$00,$00 .db $19,$16,$71,$04,$2C,$2D,$00,$78 .db $00,$5D,$89,$00,$00,$00,$00,$00 .db $00,$00,$10,$00,$00,$00,$00,$00 .db $00,$0F,$00,$00,$00,$00,$00,$00 .db $00,$00,$48,$00,$00,$00,$00,$82 .db $05,$09,$00,$00,$00,$00,$99,$9A .db $9B,$00,$00,$00,$00,$4D,$00,$00 .db $00,$97,$A3,$9B,$00,$9F,$00,$00 .db $00,$00,$00,$00,$00,$10,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$0A,$03,$7A,$04,$69,$15,$1A .db $00,$9E,$9F,$00,$00,$9A,$9B,$00 .db $00,$12,$00,$10,$00,$00,$00,$20 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$10,$00,$10,$00,$00,$00,$10 .db $00,$00,$99,$9A,$9B,$98,$00,$00 .db $00,$70,$00,$10,$00,$00,$00,$74 .db $04,$78,$00,$00,$00,$00,$00,$00 .db $00,$10,$00,$1E,$00,$00,$00,$0F .db $00,$00,$00,$00,$00,$00,$9E,$9F .db $00,$6E,$00,$19,$16,$70,$05,$09 .db $00,$00,$97,$A3,$9B,$97,$A3,$9B .db $00,$0F,$00,$00,$00,$10,$00,$00 .db $00,$00,$00,$00,$00,$42,$04,$04 .db $05,$09,$00,$00,$00,$10,$00,$00 .db $00,$99,$9A,$9B,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$4D,$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,$5A,$04 .db $7D,$04,$04,$6E,$04,$04,$7D,$04 .db $04,$6E,$04,$15,$1A,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$30,$00,$5F,$04 .db $66,$04,$04,$7D,$04,$04,$6E,$04 .db $04,$7D,$04,$05,$09,$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,$49,$5F,$4A,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$0A,$22,$00,$21,$1A,$00 .db $00,$00,$00,$00,$00,$00,$00,$5F .db $04,$04,$68,$00,$5A,$00,$68,$04 .db $04,$5F,$00,$00,$00,$00,$00,$19 .db $18,$00,$00,$00,$3F,$00,$00,$00 .db $08,$09,$00,$00,$00,$00,$00,$00 .db $4B,$68,$00,$00,$3F,$00,$00,$68 .db $51,$00,$00,$00,$00,$00,$00,$00 .db $0D,$0E,$00,$07,$68,$17,$00,$1D .db $1C,$00,$00,$00,$00,$00,$00,$0A .db $22,$07,$01,$11,$00,$1F,$14,$17 .db $21,$1A,$00,$00,$00,$00,$00,$5F .db $05,$11,$00,$00,$00,$00,$00,$1F .db $16,$5F,$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,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF .BANK 13 DATA_0D8000: .db $70,$1C,$72,$1C,$71,$1C,$73,$1C DATA_0D8008: .db $C5,$09,$FB,$08,$C5,$09,$FB,$08 DATA_0D8010: .db $FD,$1C,$FD,$1C,$FD,$1C,$FD,$1C DATA_0D8018: .db $FB,$08,$FB,$08,$FB,$08,$FB,$08 DATA_0D8020: .db $4C,$2C,$4E,$2C,$4D,$2C,$4F,$2C DATA_0D8028: .db $FC,$2C,$FC,$2C,$FC,$2C,$FC,$2C DATA_0D8030: .db $87,$14,$88,$54,$88,$14,$87,$54 DATA_0D8038: .db $89,$1C,$8A,$1C,$92,$1C,$82,$1C DATA_0D8040: .db $92,$1C,$82,$1C,$92,$1C,$82,$1C DATA_0D8048: .db $92,$1C,$82,$1C,$89,$5C,$8A,$5C DATA_0D8050: .db $8A,$1C,$8A,$1C,$82,$1C,$82,$1C DATA_0D8058: .db $82,$1C,$82,$1C,$82,$1C,$82,$1C DATA_0D8060: .db $82,$1C,$82,$1C,$8A,$5C,$8A,$5C DATA_0D8068: .db $8A,$1C,$89,$9C,$82,$1C,$92,$9C DATA_0D8070: .db $82,$1C,$92,$9C,$82,$1C,$92,$9C DATA_0D8078: .db $82,$1C,$92,$9C,$8A,$5C,$89,$DC DATA_0D8080: .db $82,$1C,$82,$1C,$82,$1C,$BA,$9C DATA_0D8088: .db $82,$1C,$AB,$1C,$82,$1C,$AB,$1C DATA_0D8090: .db $82,$1C,$BA,$DC,$82,$1C,$82,$1C DATA_0D8098: .db $82,$1C,$82,$1C,$AA,$1C,$AA,$1C DATA_0D80A0: .db $F8,$1C,$F8,$1C,$F8,$1C,$F8,$1C DATA_0D80A8: .db $AA,$5C,$AA,$5C,$82,$1C,$82,$1C DATA_0D80B0: .db $82,$1C,$82,$1C,$BA,$1C,$82,$1C DATA_0D80B8: .db $AB,$9C,$82,$1C,$AB,$9C,$82,$1C DATA_0D80C0: .db $BA,$5C,$82,$1C,$82,$1C,$82,$1C DATA_0D80C8: .db $82,$1C,$82,$1C,$82,$1C,$9A,$DC DATA_0D80D0: .db $82,$1C,$9A,$9C,$82,$1C,$82,$1C DATA_0D80D8: .db $82,$1C,$82,$1C,$9A,$5C,$82,$1C DATA_0D80E0: .db $9A,$1C,$82,$1C,$82,$1C,$82,$1C DATA_0D80E8: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D80F0: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D80F8: .db $85,$18,$95,$18,$86,$18,$96,$18 DATA_0D8100: .db $95,$18,$95,$18,$96,$18,$96,$18 DATA_0D8108: .db $F8,$18,$F8,$18,$F8,$18,$F8,$18 DATA_0D8110: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D8118: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D8120: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D8128: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D8130: .db $F8,$10,$0C,$10,$F8,$10,$0C,$50 DATA_0D8138: .db $50,$10,$52,$10,$51,$10,$53,$10 DATA_0D8140: .db $52,$10,$52,$10,$53,$10,$53,$10 DATA_0D8148: .db $78,$18,$7A,$18,$79,$18,$7B,$18 DATA_0D8150: .db $54,$18,$56,$18,$55,$18,$57,$18 DATA_0D8158: .db $6C,$18,$6E,$18,$6D,$18,$6F,$18 DATA_0D8160: .db $6C,$1C,$6E,$1C,$6D,$1C,$6F,$1C DATA_0D8168: .db $08,$18,$18,$18,$09,$18,$19,$18 DATA_0D8170: .db $28,$18,$38,$18,$29,$18,$39,$18 DATA_0D8178: .db $F8,$08,$F8,$08,$74,$10,$75,$10 DATA_0D8180: .db $F8,$08,$F8,$08,$75,$10,$75,$10 DATA_0D8188: .db $F8,$08,$F8,$08,$75,$10,$77,$10 DATA_0D8190: .db $74,$3C,$75,$3C,$F8,$18,$F8,$18 DATA_0D8198: .db $75,$3C,$75,$3C,$F8,$18,$F8,$18 DATA_0D81A0: .db $75,$3C,$77,$3C,$F8,$18,$F8,$18 DATA_0D81A8: .db $F8,$1C,$F8,$1C,$76,$10,$75,$10 DATA_0D81B0: .db $F8,$18,$F8,$18,$75,$3C,$77,$3C DATA_0D81B8: .db $F8,$18,$F8,$18,$75,$3C,$77,$3C DATA_0D81C0: .db $98,$1C,$F8,$08,$98,$1C,$F8,$08 DATA_0D81C8: .db $A0,$10,$A2,$10,$A1,$10,$A3,$10 DATA_0D81D0: .db $A2,$10,$A2,$10,$A3,$10,$A3,$10 DATA_0D81D8: .db $A2,$10,$A4,$10,$A3,$10,$A5,$10 DATA_0D81E0: .db $A0,$3C,$A2,$3C,$A1,$3C,$A3,$3C DATA_0D81E8: .db $A2,$3C,$A2,$3C,$A3,$3C,$A3,$3C DATA_0D81F0: .db $A2,$3C,$A4,$3C,$A3,$3C,$A5,$3C DATA_0D81F8: .db $94,$09,$92,$09,$95,$09,$93,$09 DATA_0D8200: .db $C0,$09,$D0,$09,$95,$09,$93,$09 DATA_0D8208: .db $94,$09,$92,$09,$C0,$49,$D0,$49 DATA_0D8210: .db $85,$09,$92,$09,$95,$09,$93,$09 DATA_0D8218: .db $94,$09,$92,$09,$85,$49,$93,$09 DATA_0D8220: .db $92,$89,$94,$89,$93,$89,$95,$89 DATA_0D8228: .db $80,$08,$90,$08,$81,$08,$91,$08 DATA_0D8230: .db $80,$0C,$90,$0C,$81,$0C,$91,$0C DATA_0D8238: .db $80,$10,$90,$10,$81,$10,$91,$10 DATA_0D8240: .db $EA,$18,$EC,$18,$EB,$18,$ED,$18 DATA_0D8248: .db $FE,$14,$FE,$14,$FE,$14,$FE,$14 DATA_0D8250: .db $FD,$14,$FD,$14,$FD,$14,$FD,$14 DATA_0D8258: .db $F8,$14,$B0,$14,$F8,$14,$B1,$14 DATA_0D8260: .db $F8,$14,$C1,$14,$F8,$14,$C2,$14 DATA_0D8268: .db $B0,$14,$FE,$14,$B1,$14,$FE,$14 DATA_0D8270: .db $A6,$14,$B6,$14,$A7,$14,$B7,$14 DATA_0D8278: .db $B5,$14,$B5,$94,$FD,$14,$FD,$14 DATA_0D8280: .db $FE,$14,$B2,$14,$FE,$14,$B3,$14 DATA_0D8288: .db $B2,$14,$FD,$14,$B3,$14,$FD,$14 DATA_0D8290: .db $FE,$14,$FE,$14,$E7,$14,$D0,$54 DATA_0D8298: .db $C5,$14,$FE,$14,$C6,$14,$D6,$14 DATA_0D82A0: .db $F8,$14,$F8,$14,$C0,$14,$D0,$14 DATA_0D82A8: .db $FE,$14,$FE,$14,$C0,$14,$D0,$14 DATA_0D82B0: .db $FD,$14,$FD,$14,$E7,$54,$D0,$54 DATA_0D82B8: .db $C0,$14,$D0,$14,$FE,$14,$FE,$14 DATA_0D82C0: .db $C0,$14,$D0,$14,$FE,$14,$FE,$14 DATA_0D82C8: .db $E7,$54,$D0,$14,$FE,$14,$FE,$14 DATA_0D82D0: .db $A4,$14,$B4,$14,$A5,$14,$FE,$14 DATA_0D82D8: .db $E8,$14,$F3,$14,$E9,$14,$FE,$14 DATA_0D82E0: .db $D1,$14,$F1,$14,$D2,$14,$FE,$14 DATA_0D82E8: .db $E6,$14,$F5,$14,$F8,$14,$F8,$14 DATA_0D82F0: .db $E5,$14,$F5,$14,$FE,$14,$FE,$14 DATA_0D82F8: .db $E7,$14,$D0,$54,$FD,$14,$FD,$14 DATA_0D8300: .db $FD,$14,$FD,$14,$E6,$14,$F5,$14 DATA_0D8308: .db $FD,$14,$FD,$14,$E5,$14,$F5,$14 DATA_0D8310: .db $FD,$14,$FD,$14,$E5,$14,$F5,$14 DATA_0D8318: .db $C3,$14,$FD,$14,$A7,$14,$B7,$14 DATA_0D8320: .db $E1,$14,$FD,$14,$E2,$14,$F2,$14 DATA_0D8328: .db $E3,$14,$FD,$14,$E4,$14,$F4,$14 DATA_0D8330: .db $F8,$1C,$0E,$1C,$F8,$1C,$0F,$1C DATA_0D8338: .db $F8,$1C,$8C,$1C,$F8,$1C,$F8,$1C DATA_0D8340: .db $1E,$1C,$93,$14,$1F,$1C,$D5,$1C DATA_0D8348: .db $9C,$1C,$F8,$1C,$F8,$1C,$94,$14 DATA_0D8350: .db $2D,$14,$2D,$94,$2D,$54,$2D,$D4 DATA_0D8358: .db $2D,$18,$2D,$98,$2D,$58,$2D,$D8 DATA_0D8360: .db $2D,$1C,$2D,$9C,$2D,$5C,$2D,$DC DATA_0D8368: .db $3D,$1C,$3D,$9C,$3D,$5C,$3D,$DC DATA_0D8370: .db $BB,$18,$F0,$18,$8D,$18,$9D,$18 DATA_0D8378: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D8380: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D8388: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D8390: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D8398: .db $82,$09,$92,$09,$83,$09,$93,$09 DATA_0D83A0: .db $81,$09,$D0,$09,$83,$09,$93,$09 DATA_0D83A8: .db $8D,$09,$D0,$09,$83,$09,$93,$09 DATA_0D83B0: .db $82,$09,$92,$09,$81,$49,$D0,$49 DATA_0D83B8: .db $82,$09,$92,$09,$8D,$49,$D0,$49 DATA_0D83C0: .db $0D,$18,$F8,$08,$0D,$18,$F8,$08 DATA_0D83C8: .db $2C,$1C,$3C,$1C,$2C,$5C,$3C,$5C DATA_0D83D0: .db $64,$10,$66,$10,$65,$10,$67,$10 DATA_0D83D8: .db $DA,$1C,$DC,$1C,$DB,$1C,$DD,$1C DATA_0D83E0: .db $64,$10,$66,$10,$65,$10,$67,$10 DATA_0D83E8: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D83F0: .db $64,$10,$66,$10,$65,$10,$67,$10 DATA_0D83F8: .db $64,$10,$66,$10,$65,$10,$67,$10 DATA_0D8400: .db $68,$18,$6A,$18,$69,$18,$6B,$18 DATA_0D8408: .db $68,$18,$6A,$18,$69,$18,$6B,$18 DATA_0D8410: .db $68,$18,$6A,$18,$69,$18,$6B,$18 DATA_0D8418: .db $68,$18,$6A,$18,$69,$18,$6B,$18 DATA_0D8420: .db $68,$18,$6A,$18,$69,$18,$6B,$18 DATA_0D8428: .db $68,$18,$6A,$18,$69,$18,$6B,$18 DATA_0D8430: .db $68,$18,$6A,$18,$69,$18,$6B,$18 DATA_0D8438: .db $06,$18,$16,$18,$07,$18,$17,$18 DATA_0D8440: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D8448: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D8450: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D8458: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D8460: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D8468: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D8470: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D8478: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D8480: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D8488: .db $60,$18,$62,$18,$61,$18,$63,$18 DATA_0D8490: .db $06,$18,$16,$18,$07,$18,$17,$18 DATA_0D8498: .db $06,$18,$16,$18,$07,$18,$17,$18 DATA_0D84A0: .db $06,$18,$16,$18,$07,$18,$17,$18 DATA_0D84A8: .db $8E,$10,$9E,$10,$8F,$10,$9F,$10 DATA_0D84B0: .db $BE,$14,$F6,$14,$D7,$14,$F7,$14 DATA_0D84B8: .db $68,$1C,$6A,$1C,$69,$1C,$6B,$1C DATA_0D84C0: .db $5C,$18,$5E,$18,$5D,$18,$5F,$18 DATA_0D84C8: .db $30,$10,$32,$10,$31,$10,$33,$10 DATA_0D84D0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D84D8: .db $58,$18,$5A,$18,$59,$18,$5B,$18 DATA_0D84E0: .db $00,$14,$10,$14,$01,$14,$11,$14 DATA_0D84E8: .db $02,$14,$12,$14,$03,$14,$13,$14 DATA_0D84F0: .db $20,$14,$20,$14,$21,$14,$21,$14 DATA_0D84F8: .db $22,$14,$22,$14,$23,$14,$23,$14 DATA_0D8500: .db $00,$14,$10,$14,$01,$14,$11,$14 DATA_0D8508: .db $02,$14,$12,$14,$03,$14,$13,$14 DATA_0D8510: .db $00,$14,$10,$14,$01,$14,$11,$14 DATA_0D8518: .db $02,$14,$12,$14,$03,$14,$13,$14 DATA_0D8520: .db $04,$14,$14,$14,$05,$14,$15,$14 DATA_0D8528: .db $24,$14,$34,$14,$25,$14,$35,$14 DATA_0D8530: .db $2E,$14,$3E,$14,$2E,$14,$3E,$14 DATA_0D8538: .db $2F,$14,$3F,$14,$2F,$14,$3F,$14 DATA_0D8540: .db $24,$14,$34,$14,$25,$14,$35,$14 DATA_0D8548: .db $06,$18,$16,$18,$07,$18,$17,$18 DATA_0D8550: .db $0A,$10,$1A,$10,$0A,$50,$1A,$50 DATA_0D8558: .db $2A,$10,$3A,$10,$2B,$10,$3B,$10 DATA_0D8560: .db $83,$10,$83,$10,$84,$10,$84,$10 DATA_0D8568: .db $1C,$98,$1C,$18,$1C,$D8,$1C,$58 DATA_0D8570: .db $80,$09,$90,$09,$83,$09,$93,$09 DATA_0D8578: .db $91,$09,$90,$09,$83,$09,$93,$09 DATA_0D8580: .db $D7,$09,$90,$09,$83,$09,$93,$09 DATA_0D8588: .db $82,$09,$92,$09,$80,$49,$90,$49 DATA_0D8590: .db $82,$09,$92,$09,$91,$49,$90,$49 DATA_0D8598: .db $82,$09,$92,$09,$D7,$49,$90,$49 DATA_0D85A0: .db $84,$09,$90,$09,$95,$09,$93,$09 DATA_0D85A8: .db $94,$09,$92,$09,$84,$49,$90,$49 DATA_0D85B0: .db $90,$89,$80,$89,$93,$89,$83,$89 DATA_0D85B8: .db $92,$89,$82,$89,$93,$89,$83,$89 DATA_0D85C0: .db $92,$89,$82,$89,$90,$C9,$80,$C9 DATA_0D85C8: .db $90,$89,$84,$89,$93,$89,$95,$89 DATA_0D85D0: .db $92,$89,$94,$89,$90,$C9,$84,$C9 DATA_0D85D8: .db $F8,$10,$F8,$10,$F8,$10,$F8,$10 DATA_0D85E0: .db $F8,$08,$B4,$09,$F8,$08,$B5,$09 DATA_0D85E8: .db $94,$09,$A9,$09,$95,$09,$AA,$09 DATA_0D85F0: .db $C0,$09,$BE,$09,$95,$09,$AA,$09 DATA_0D85F8: .db $C5,$09,$CC,$09,$C5,$09,$CD,$09 DATA_0D8600: .db $FB,$08,$CC,$09,$FB,$08,$CD,$09 DATA_0D8608: .db $F8,$08,$B6,$09,$F8,$08,$B7,$09 DATA_0D8610: .db $94,$09,$AB,$09,$95,$09,$AC,$09 DATA_0D8618: .db $C0,$09,$AF,$09,$95,$09,$AC,$09 DATA_0D8620: .db $C5,$09,$CE,$09,$C5,$09,$CF,$09 DATA_0D8628: .db $FB,$08,$CE,$09,$FB,$08,$CF,$09 DATA_0D8630: .db $B4,$09,$B8,$09,$B5,$09,$B9,$09 DATA_0D8638: .db $ED,$09,$B8,$09,$EE,$09,$B9,$09 DATA_0D8640: .db $EF,$09,$B8,$09,$EE,$09,$B9,$09 DATA_0D8648: .db $C6,$09,$B8,$09,$C7,$09,$B9,$09 DATA_0D8650: .db $CC,$09,$B8,$09,$CD,$09,$B9,$09 DATA_0D8658: .db $A4,$09,$BA,$09,$A5,$09,$93,$09 DATA_0D8660: .db $BB,$09,$BA,$09,$BC,$09,$93,$09 DATA_0D8668: .db $BF,$09,$BA,$09,$BC,$09,$93,$09 DATA_0D8670: .db $C8,$09,$BA,$09,$A5,$09,$93,$09 DATA_0D8678: .db $CA,$09,$BA,$09,$A5,$09,$93,$09 DATA_0D8680: .db $A5,$49,$92,$09,$A4,$49,$BA,$49 DATA_0D8688: .db $BC,$49,$92,$09,$BB,$49,$BA,$49 DATA_0D8690: .db $BC,$49,$93,$49,$BF,$49,$BA,$49 DATA_0D8698: .db $A5,$49,$92,$09,$C8,$49,$BA,$49 DATA_0D86A0: .db $A5,$49,$92,$09,$CA,$49,$BA,$49 DATA_0D86A8: .db $B5,$49,$B9,$49,$B4,$49,$B8,$49 DATA_0D86B0: .db $EE,$49,$B9,$49,$ED,$49,$B8,$49 DATA_0D86B8: .db $EE,$49,$B9,$49,$EF,$49,$B8,$49 DATA_0D86C0: .db $C7,$49,$B9,$49,$C6,$49,$B8,$49 DATA_0D86C8: .db $CD,$49,$B9,$49,$CC,$49,$B8,$49 DATA_0D86D0: .db $F8,$08,$B7,$49,$F8,$08,$B6,$49 DATA_0D86D8: .db $94,$09,$AC,$49,$95,$09,$AB,$49 DATA_0D86E0: .db $94,$09,$AC,$49,$C0,$49,$AF,$49 DATA_0D86E8: .db $C5,$09,$CF,$49,$C5,$09,$CE,$49 DATA_0D86F0: .db $FB,$08,$CF,$49,$FB,$08,$CE,$49 DATA_0D86F8: .db $F8,$08,$B5,$49,$F8,$08,$B4,$49 DATA_0D8700: .db $94,$09,$AA,$49,$95,$09,$A9,$49 DATA_0D8708: .db $94,$09,$AA,$49,$C0,$49,$BE,$49 DATA_0D8710: .db $C5,$09,$CD,$49,$C5,$09,$CC,$49 DATA_0D8718: .db $FB,$08,$CD,$49,$FB,$08,$CC,$49 DATA_0D8720: .db $F8,$08,$9B,$09,$F8,$08,$9C,$09 DATA_0D8728: .db $94,$09,$A0,$09,$95,$09,$B1,$09 DATA_0D8730: .db $C0,$09,$8F,$09,$95,$09,$B1,$09 DATA_0D8738: .db $C5,$09,$D5,$09,$C5,$09,$D6,$09 DATA_0D8740: .db $FB,$08,$D5,$09,$FB,$08,$D6,$09 DATA_0D8748: .db $9B,$09,$9D,$09,$8E,$09,$9E,$09 DATA_0D8750: .db $EC,$09,$9D,$09,$A1,$09,$9E,$09 DATA_0D8758: .db $EB,$09,$9D,$09,$A1,$09,$9E,$09 DATA_0D8760: .db $CA,$09,$9D,$09,$CB,$09,$9E,$09 DATA_0D8768: .db $D5,$09,$9D,$09,$D6,$09,$9E,$09 DATA_0D8770: .db $8E,$49,$9E,$49,$9B,$49,$9D,$49 DATA_0D8778: .db $A1,$49,$9E,$49,$EC,$49,$9D,$49 DATA_0D8780: .db $A1,$49,$9E,$49,$EB,$49,$9D,$49 DATA_0D8788: .db $CB,$49,$9E,$49,$CA,$49,$9D,$49 DATA_0D8790: .db $D6,$49,$9E,$49,$D5,$49,$9D,$49 DATA_0D8798: .db $F8,$08,$9C,$49,$F8,$08,$9B,$49 DATA_0D87A0: .db $94,$09,$B1,$49,$95,$09,$A0,$49 DATA_0D87A8: .db $94,$09,$B1,$49,$C0,$49,$8F,$49 DATA_0D87B0: .db $C5,$09,$D6,$49,$C5,$09,$D5,$49 DATA_0D87B8: .db $FB,$08,$D6,$49,$FB,$08,$D5,$49 DATA_0D87C0: .db $F8,$08,$96,$09,$87,$09,$97,$09 DATA_0D87C8: .db $94,$09,$88,$09,$89,$09,$97,$09 DATA_0D87D0: .db $C0,$09,$98,$09,$89,$09,$97,$09 DATA_0D87D8: .db $C5,$09,$D8,$09,$C9,$09,$97,$09 DATA_0D87E0: .db $FB,$08,$D8,$09,$D8,$09,$97,$09 DATA_0D87E8: .db $87,$49,$97,$49,$F8,$08,$96,$49 DATA_0D87F0: .db $89,$49,$97,$49,$95,$09,$88,$49 DATA_0D87F8: .db $89,$49,$97,$49,$C0,$49,$98,$49 DATA_0D8800: .db $C9,$49,$97,$49,$C5,$09,$D8,$49 DATA_0D8808: .db $D8,$49,$97,$49,$FB,$08,$D8,$49 DATA_0D8810: .db $DE,$1C,$EE,$1C,$DF,$1C,$EF,$1C DATA_0D8818: .db $DF,$5C,$EF,$5C,$DE,$5C,$EE,$5C DATA_0D8820: .db $C1,$09,$D1,$09,$C2,$09,$D2,$09 DATA_0D8828: .db $C2,$49,$D2,$49,$C1,$49,$D1,$49 DATA_0D8830: .db $A4,$09,$BA,$09,$BD,$09,$D0,$49 DATA_0D8838: .db $BB,$09,$BA,$09,$AD,$09,$D0,$49 DATA_0D8840: .db $BD,$49,$D0,$09,$A4,$49,$BA,$49 DATA_0D8848: .db $AD,$49,$D0,$09,$BB,$49,$BA,$49 DATA_0D8850: .db $9B,$09,$9D,$09,$A3,$09,$B2,$09 DATA_0D8858: .db $EC,$09,$9D,$09,$A2,$09,$B2,$09 DATA_0D8860: .db $A3,$49,$B2,$49,$9B,$49,$9D,$49 DATA_0D8868: .db $A2,$49,$B2,$49,$EC,$49,$9D,$49 DATA_0D8870: .db $F8,$08,$96,$09,$8A,$09,$9A,$09 DATA_0D8878: .db $94,$09,$88,$09,$99,$09,$9A,$09 DATA_0D8880: .db $8A,$49,$9A,$49,$F8,$08,$96,$49 DATA_0D8888: .db $99,$49,$9A,$49,$95,$09,$88,$49 DATA_0D8890: .db $96,$89,$F8,$08,$97,$89,$87,$89 DATA_0D8898: .db $97,$C9,$87,$C9,$96,$C9,$F8,$08 DATA_0D88A0: .db $9B,$89,$F8,$08,$9C,$89,$F8,$08 DATA_0D88A8: .db $9D,$89,$9B,$89,$9E,$89,$8E,$89 DATA_0D88B0: .db $9E,$C9,$8E,$C9,$9D,$C9,$9B,$C9 DATA_0D88B8: .db $9C,$C9,$F8,$08,$9B,$C9,$F8,$08 DATA_0D88C0: .db $F8,$08,$F8,$08,$C1,$09,$D1,$09 DATA_0D88C8: .db $C1,$09,$D1,$09,$C2,$09,$D2,$09 DATA_0D88D0: .db $C1,$49,$D1,$49,$F8,$08,$F8,$08 DATA_0D88D8: .db $C2,$49,$D2,$49,$C1,$49,$D1,$49 DATA_0D88E0: .db $F8,$1C,$44,$08,$44,$08,$45,$08 DATA_0D88E8: .db $48,$48,$49,$48,$F8,$1C,$48,$48 DATA_0D88F0: .db $44,$48,$45,$48,$F8,$1C,$44,$48 DATA_0D88F8: .db $F8,$1C,$48,$08,$48,$08,$49,$08 DATA_0D8900: .db $F8,$2C,$4C,$2C,$F8,$2C,$4D,$2C DATA_0D8908: .db $4C,$2C,$4E,$2C,$4D,$2C,$4F,$2C DATA_0D8910: .db $41,$6C,$43,$6C,$40,$6C,$42,$6C DATA_0D8918: .db $F8,$2C,$41,$6C,$F8,$2C,$40,$6C DATA_0D8920: .db $F8,$2C,$44,$2C,$44,$2C,$45,$2C DATA_0D8928: .db $46,$6C,$47,$6C,$F8,$2C,$46,$6C DATA_0D8930: .db $A6,$09,$92,$09,$A7,$09,$93,$09 DATA_0D8938: .db $AE,$09,$D0,$09,$A7,$09,$93,$09 DATA_0D8940: .db $A8,$09,$92,$09,$95,$09,$93,$09 DATA_0D8948: .db $94,$09,$92,$09,$A8,$49,$93,$09 DATA_0D8950: .db $A7,$49,$92,$09,$A6,$49,$93,$09 DATA_0D8958: .db $A7,$49,$92,$09,$AE,$49,$D0,$49 DATA_0D8960: .db $8C,$09,$92,$09,$B3,$09,$93,$09 DATA_0D8968: .db $9F,$09,$D0,$09,$B3,$09,$93,$09 DATA_0D8970: .db $B3,$49,$92,$09,$8C,$49,$93,$09 DATA_0D8978: .db $B3,$49,$92,$09,$9F,$49,$D0,$49 DATA_0D8980: .db $86,$09,$92,$09,$95,$09,$93,$09 DATA_0D8988: .db $8B,$09,$D0,$09,$95,$09,$93,$09 DATA_0D8990: .db $94,$09,$92,$09,$86,$49,$93,$09 DATA_0D8998: .db $94,$09,$92,$09,$8B,$49,$D0,$49 DATA_0D89A0: .db $94,$09,$92,$09,$95,$09,$93,$09 DATA_0D89A8: .db $C0,$09,$D0,$09,$95,$09,$93,$09 DATA_0D89B0: .db $94,$09,$92,$09,$C0,$49,$D0,$49 DATA_0D89B8: .db $86,$09,$92,$09,$C0,$49,$D0,$49 DATA_0D89C0: .db $C0,$09,$D0,$09,$86,$49,$93,$49 DATA_0D89C8: .db $82,$09,$92,$09,$83,$09,$93,$09 DATA_0D89D0: .db $92,$89,$86,$89,$93,$89,$95,$89 DATA_0D89D8: .db $92,$89,$94,$89,$93,$89,$86,$C9 DATA_0D89E0: .db $92,$89,$8C,$89,$93,$89,$B3,$89 DATA_0D89E8: .db $92,$89,$B3,$C9,$93,$89,$8C,$C9 DATA_0D89F0: .db $92,$89,$94,$89,$93,$89,$95,$89 DATA_0D89F8: .db $C2,$09,$D2,$09,$95,$09,$93,$09 DATA_0D8A00: .db $94,$09,$92,$09,$C2,$49,$D2,$49 DATA_0D8A08: .db $45,$08,$47,$08,$47,$08,$92,$09 DATA_0D8A10: .db $4B,$48,$92,$49,$49,$48,$4B,$48 DATA_0D8A18: .db $47,$48,$92,$49,$45,$48,$47,$48 DATA_0D8A20: .db $49,$08,$4B,$08,$4B,$08,$92,$09 DATA_0D8A28: .db $C2,$09,$F8,$08,$93,$09,$D1,$C9 DATA_0D8A30: .db $F3,$09,$93,$09,$93,$09,$B0,$C9 DATA_0D8A38: .db $94,$09,$D1,$89,$C2,$49,$F8,$08 DATA_0D8A40: .db $94,$09,$B0,$89,$F3,$49,$93,$09 DATA_0D8A48: .db $4E,$2C,$FB,$2C,$4F,$2C,$FB,$2C DATA_0D8A50: .db $43,$6C,$FB,$2C,$42,$6C,$FB,$2C DATA_0D8A58: .db $45,$2C,$FB,$2C,$FB,$2C,$FB,$2C DATA_0D8A60: .db $FB,$2C,$FB,$2C,$47,$6C,$FB,$2C DATA_0D8A68: .db $FB,$2C,$FB,$2C,$FB,$2C,$FB,$2C DATA_0D8A70: .db $F8,$08,$AC,$14,$A8,$14,$AD,$14 DATA_0D8A78: .db $A9,$14,$AE,$14,$F8,$08,$AF,$14 DATA_0D8A80: .db $BF,$14,$CB,$14,$F8,$08,$CC,$14 DATA_0D8A88: .db $F8,$08,$B8,$14,$B8,$14,$B9,$14 DATA_0D8A90: .db $B9,$14,$C8,$14,$BC,$14,$FF,$14 DATA_0D8A98: .db $BD,$14,$C9,$14,$CD,$14,$CA,$14 DATA_0D8AA0: .db $B9,$14,$C8,$14,$C8,$14,$FF,$14 DATA_0D8AA8: .db $D3,$14,$C4,$14,$D4,$14,$F8,$08 DATA_0D8AB0: .db $00,$0C,$10,$0C,$01,$0C,$11,$0C DATA_0D8AB8: .db $02,$0C,$12,$0C,$03,$0C,$13,$0C DATA_0D8AC0: .db $20,$0C,$20,$0C,$21,$0C,$21,$0C DATA_0D8AC8: .db $22,$0C,$22,$0C,$23,$0C,$23,$0C DATA_0D8AD0: .db $00,$0C,$10,$0C,$01,$0C,$11,$0C DATA_0D8AD8: .db $02,$0C,$12,$0C,$03,$0C,$13,$0C DATA_0D8AE0: .db $00,$0C,$10,$0C,$01,$0C,$11,$0C DATA_0D8AE8: .db $02,$0C,$12,$0C,$03,$0C,$13,$0C DATA_0D8AF0: .db $00,$18,$10,$18,$01,$18,$11,$18 DATA_0D8AF8: .db $02,$18,$12,$18,$03,$18,$13,$18 DATA_0D8B00: .db $20,$18,$20,$18,$21,$18,$21,$18 DATA_0D8B08: .db $22,$18,$22,$18,$23,$18,$23,$18 DATA_0D8B10: .db $00,$18,$10,$18,$01,$18,$11,$18 DATA_0D8B18: .db $02,$18,$12,$18,$03,$18,$13,$18 DATA_0D8B20: .db $00,$18,$10,$18,$01,$18,$11,$18 DATA_0D8B28: .db $02,$18,$12,$18,$03,$18,$13,$18 DATA_0D8B30: .db $00,$1C,$10,$1C,$01,$1C,$11,$1C DATA_0D8B38: .db $02,$1C,$12,$1C,$03,$1C,$13,$1C DATA_0D8B40: .db $20,$1C,$20,$1C,$21,$1C,$21,$1C DATA_0D8B48: .db $22,$1C,$22,$1C,$23,$1C,$23,$1C DATA_0D8B50: .db $00,$1C,$10,$1C,$01,$1C,$11,$1C DATA_0D8B58: .db $02,$1C,$12,$1C,$03,$1C,$13,$1C DATA_0D8B60: .db $00,$1C,$10,$1C,$01,$1C,$11,$1C DATA_0D8B68: .db $02,$1C,$12,$1C,$03,$1C,$13,$1C DATA_0D8B70: .db $C5,$15,$CC,$15,$C6,$15,$CD,$15 DATA_0D8B78: .db $C7,$15,$FF,$14,$C8,$15,$D5,$15 DATA_0D8B80: .db $C6,$15,$D6,$15,$CA,$15,$FF,$14 DATA_0D8B88: .db $C9,$15,$D6,$15,$C7,$15,$CF,$15 DATA_0D8B90: .db $C7,$15,$CE,$15,$C8,$15,$D5,$15 DATA_0D8B98: .db $C7,$15,$FF,$14,$C6,$15,$CF,$15 DATA_0D8BA0: .db $C7,$15,$D6,$15,$CB,$15,$D7,$15 DATA_0D8BA8: .db $F8,$14,$C5,$35,$F8,$14,$C6,$35 DATA_0D8BB0: .db $F8,$14,$C7,$35,$F8,$14,$C8,$35 DATA_0D8BB8: .db $F8,$14,$C6,$35,$F8,$14,$CA,$35 DATA_0D8BC0: .db $F8,$14,$C9,$35,$F8,$14,$C7,$35 DATA_0D8BC8: .db $F8,$14,$C7,$35,$F8,$14,$C8,$35 DATA_0D8BD0: .db $F8,$14,$C7,$35,$F8,$14,$C6,$35 DATA_0D8BD8: .db $F8,$14,$C7,$35,$F8,$14,$CB,$35 DATA_0D8BE0: .db $DC,$0D,$DC,$0D,$DD,$0D,$DD,$0D DATA_0D8BE8: .db $DE,$0D,$E2,$0D,$DF,$0D,$F8,$14 DATA_0D8BF0: .db $E0,$0D,$F8,$14,$E1,$0D,$E3,$0D DATA_0D8BF8: .db $F8,$14,$F8,$14,$E4,$0D,$E4,$0D DATA_0D8C00: .db $E7,$09,$EA,$09,$E8,$09,$F0,$09 DATA_0D8C08: .db $E8,$09,$F0,$09,$E9,$09,$F1,$09 DATA_0D8C10: .db $E8,$09,$F0,$09,$E7,$49,$EA,$49 DATA_0D8C18: .db $CA,$14,$D6,$14,$CB,$14,$D6,$15 DATA_0D8C20: .db $CC,$14,$FF,$14,$CD,$14,$D5,$15 DATA_0D8C28: .db $CB,$14,$CF,$15,$CF,$14,$FF,$14 DATA_0D8C30: .db $CE,$14,$FF,$15,$CC,$14,$D6,$15 DATA_0D8C38: .db $CC,$14,$CF,$15,$CD,$14,$D5,$15 DATA_0D8C40: .db $CC,$14,$FF,$14,$C8,$14,$D6,$15 DATA_0D8C48: .db $CC,$14,$CE,$15,$D5,$14,$D7,$14 DATA_0D8C50: .db $F8,$08,$F8,$08,$C7,$09,$D7,$09 DATA_0D8C58: .db $C7,$49,$D7,$49,$F8,$08,$F8,$08 DATA_0D8C60: .db $F8,$08,$C5,$09,$C7,$09,$C9,$09 DATA_0D8C68: .db $C7,$49,$C9,$49,$F8,$08,$C5,$49 DATA_0D8C70: .db $F8,$08,$C5,$09,$F8,$08,$C6,$09 DATA_0D8C78: .db $F8,$08,$F8,$08,$F8,$08,$D7,$09 DATA_0D8C80: .db $F8,$08,$D7,$49,$F8,$08,$F8,$08 DATA_0D8C88: .db $F8,$08,$F8,$08,$F8,$08,$C6,$09 DATA_0D8C90: .db $F8,$08,$C5,$09,$F8,$08,$F8,$08 DATA_0D8C98: .db $92,$09,$94,$09,$C8,$09,$D8,$09 DATA_0D8CA0: .db $C8,$49,$D8,$49,$93,$09,$95,$09 DATA_0D8CA8: .db $92,$09,$D5,$09,$C8,$09,$D9,$09 DATA_0D8CB0: .db $C8,$49,$D9,$49,$93,$09,$D6,$09 DATA_0D8CB8: .db $92,$09,$D5,$09,$93,$09,$D6,$09 DATA_0D8CC0: .db $92,$09,$94,$09,$93,$09,$D8,$09 DATA_0D8CC8: .db $92,$09,$D8,$49,$93,$09,$95,$09 DATA_0D8CD0: .db $92,$09,$94,$09,$92,$09,$D6,$09 DATA_0D8CD8: .db $92,$09,$D5,$09,$93,$09,$95,$09 DATA_0D8CE0: .db $C1,$09,$93,$09,$F8,$08,$D1,$09 DATA_0D8CE8: .db $F2,$09,$93,$09,$94,$09,$B0,$09 DATA_0D8CF0: .db $D1,$C9,$F8,$08,$93,$09,$D1,$C9 DATA_0D8CF8: .db $B0,$C9,$93,$09,$93,$09,$B0,$C9 DATA_0D8D00: .db $D2,$C9,$DC,$09,$93,$09,$B0,$C9 DATA_0D8D08: .db $D1,$09,$93,$09,$F8,$08,$D1,$09 DATA_0D8D10: .db $B0,$09,$93,$09,$93,$09,$B0,$09 DATA_0D8D18: .db $B0,$09,$93,$09,$C0,$49,$D2,$09 DATA_0D8D20: .db $F8,$08,$D1,$49,$D1,$49,$95,$09 DATA_0D8D28: .db $94,$09,$B0,$49,$B0,$49,$95,$09 DATA_0D8D30: .db $C0,$09,$D2,$49,$B0,$49,$95,$09 DATA_0D8D38: .db $94,$09,$D1,$89,$D1,$89,$F8,$08 DATA_0D8D40: .db $94,$09,$B0,$89,$B0,$89,$95,$09 DATA_0D8D48: .db $94,$09,$B0,$89,$D2,$89,$D0,$49 DATA_0D8D50: .db $F8,$08,$D1,$49,$C1,$49,$95,$09 DATA_0D8D58: .db $94,$09,$B0,$49,$F2,$49,$95,$09 DATA_0D8D60: .db $E4,$09,$E5,$09,$FF,$08,$E6,$09 DATA_0D8D68: .db $E7,$09,$E8,$09,$FF,$08,$E9,$09 DATA_0D8D70: .db $FF,$08,$84,$09,$FF,$08,$FF,$08 DATA_0D8D78: .db $FF,$08,$FF,$08,$FF,$08,$FF,$08 DATA_0D8D80: .db $FF,$08,$FF,$08,$FF,$08,$84,$49 DATA_0D8D88: .db $FF,$08,$E6,$49,$E4,$49,$E5,$49 DATA_0D8D90: .db $FF,$08,$E9,$49,$E7,$49,$B0,$09 DATA_0D8D98: .db $CD,$09,$DD,$09,$DD,$89,$CD,$89 DATA_0D8DA0: .db $C1,$29,$D1,$29,$C2,$29,$D2,$29 DATA_0D8DA8: .db $F2,$29,$E2,$29,$C3,$29,$D3,$29 DATA_0D8DB0: .db $E1,$29,$F1,$29,$E2,$29,$F2,$29 DATA_0D8DB8: .db $C2,$29,$D2,$29,$E3,$29,$F3,$29 DATA_0D8DC0: .db $E1,$29,$F1,$29,$E3,$29,$F3,$29 DATA_0D8DC8: .db $C1,$29,$D1,$29,$C3,$29,$D3,$29 DATA_0D8DD0: .db $E1,$09,$F1,$09,$E3,$09,$F3,$09 DATA_0D8DD8: .db $C1,$09,$D1,$09,$C3,$09,$D3,$09 DATA_0D8DE0: .db $C4,$09,$D4,$09,$AF,$09,$BF,$09 DATA_0D8DE8: .db $AF,$49,$BF,$49,$C4,$49,$D4,$49 DATA_0D8DF0: .db $F8,$08,$EA,$09,$F8,$08,$91,$09 DATA_0D8DF8: .db $F0,$09,$F0,$09,$DD,$89,$CD,$89 DATA_0D8E00: .db $CD,$09,$DD,$09,$F0,$49,$F0,$49 DATA_0D8E08: .db $C3,$09,$D3,$09,$C3,$49,$D3,$49 DATA_0D8E10: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E18: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E20: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E28: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E30: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E38: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E40: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E48: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E50: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E58: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E60: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E68: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E70: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E78: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E80: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E88: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E90: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8E98: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8EA0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8EA8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8EB0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8EB8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8EC0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8EC8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8ED0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8ED8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8EE0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8EE8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8EF0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8EF8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F00: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F08: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F10: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F18: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F20: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F28: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F30: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F38: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F40: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F48: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F50: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F58: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F60: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F68: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F70: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F78: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F80: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F88: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F90: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8F98: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8FA0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8FA8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8FB0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8FB8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8FC0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8FC8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8FD0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D8FD8: .db $D8,$0D,$DA,$0D,$D9,$0D,$DB,$0D DATA_0D8FE0: .db $D9,$0D,$DA,$0D,$D9,$0D,$DB,$0D DATA_0D8FE8: .db $D9,$0D,$DA,$0D,$D8,$4D,$DB,$0D DATA_0D8FF0: .db $D9,$0D,$E5,$0D,$D9,$0D,$E5,$0D DATA_0D8FF8: .db $C1,$29,$D1,$29,$C2,$29,$D2,$29 DATA_0D9000: .db $F2,$29,$E2,$29,$C3,$29,$D3,$29 DATA_0D9008: .db $E1,$29,$F1,$29,$E3,$29,$F3,$29 DATA_0D9010: .db $CC,$09,$DC,$09,$CB,$09,$DB,$09 DATA_0D9018: .db $CA,$09,$E0,$09,$CB,$09,$DB,$09 DATA_0D9020: .db $CC,$09,$DC,$09,$CA,$49,$E0,$49 DATA_0D9028: .db $F4,$15,$F6,$15,$F5,$15,$F7,$15 DATA_0D9030: .db $F8,$15,$F8,$15,$F9,$15,$F9,$15 DATA_0D9038: .db $F6,$95,$F4,$95,$F7,$95,$F5,$95 DATA_0D9040: .db $FA,$19,$FD,$19,$FB,$19,$FE,$19 DATA_0D9048: .db $FC,$19,$FF,$19,$FC,$19,$FF,$19 DATA_0D9050: .db $FB,$59,$FE,$59,$FA,$59,$FD,$59 DATA_0D9058: .db $FF,$14,$CD,$14,$CD,$14,$CE,$14 DATA_0D9060: .db $CE,$14,$D8,$14,$CF,$14,$D9,$14 DATA_0D9068: .db $CE,$14,$D8,$14,$D8,$14,$D9,$14 DATA_0D9070: .db $D9,$14,$E0,$14,$E0,$14,$F8,$08 DATA_0D9078: .db $DD,$C9,$CD,$C9,$DA,$49,$DA,$C9 DATA_0D9080: .db $CB,$49,$DB,$49,$CA,$49,$DA,$49 DATA_0D9088: .db $CA,$09,$DA,$09,$CB,$09,$DB,$09 DATA_0D9090: .db $DA,$09,$DA,$89,$DD,$89,$CD,$89 DATA_0D9098: .db $00,$10,$10,$10,$01,$10,$11,$10 DATA_0D90A0: .db $02,$10,$12,$10,$03,$10,$13,$10 DATA_0D90A8: .db $20,$10,$20,$10,$21,$10,$21,$10 DATA_0D90B0: .db $22,$10,$22,$10,$23,$10,$23,$10 DATA_0D90B8: .db $06,$10,$16,$10,$07,$10,$17,$10 DATA_0D90C0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D90C8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0D90D0: .db $20,$14,$20,$14,$21,$14,$21,$14 DATA_0D90D8: .db $22,$14,$22,$14,$23,$14,$23,$14 DATA_0D90E0: .db $26,$14,$36,$14,$26,$54,$36,$54 DATA_0D90E8: .db $26,$18,$36,$18,$26,$58,$36,$58 DATA_0D90F0: .db $26,$1C,$36,$1C,$26,$5C,$36,$5C DATA_0D90F8: .db $27,$1C,$37,$1C,$27,$5C,$37,$5C DATA_0D9100: .db $F8,$00,$F8,$00,$F8,$00,$F8,$00 DATA_0D9108: .db $53,$01,$54,$01,$F9,$00,$55,$01 DATA_0D9110: .db $F9,$00,$55,$01,$F9,$00,$55,$01 DATA_0D9118: .db $F9,$00,$55,$01,$53,$41,$56,$01 DATA_0D9120: .db $F8,$00,$06,$01,$00,$01,$07,$01 DATA_0D9128: .db $01,$01,$FC,$00,$02,$01,$FC,$00 DATA_0D9130: .db $03,$01,$FC,$00,$04,$01,$08,$01 DATA_0D9138: .db $05,$01,$09,$01,$F8,$00,$0A,$01 DATA_0D9140: .db $0B,$01,$0E,$01,$FC,$00,$FC,$00 DATA_0D9148: .db $FC,$00,$FC,$00,$FC,$00,$FC,$00 DATA_0D9150: .db $0C,$01,$0F,$01,$0D,$01,$10,$01 DATA_0D9158: .db $11,$01,$11,$01,$FC,$00,$FC,$00 DATA_0D9160: .db $14,$01,$14,$81,$FC,$00,$FC,$00 DATA_0D9168: .db $12,$01,$12,$01,$13,$01,$13,$01 DATA_0D9170: .db $FC,$00,$FC,$00,$14,$01,$14,$81 DATA_0D9178: .db $F8,$00,$27,$01,$23,$01,$FF,$00 DATA_0D9180: .db $24,$01,$FF,$00,$25,$01,$FF,$00 DATA_0D9188: .db $26,$01,$28,$01,$F8,$00,$29,$01 DATA_0D9190: .db $2A,$01,$2D,$01,$FF,$00,$FF,$00 DATA_0D9198: .db $FF,$00,$FF,$00,$30,$01,$30,$81 DATA_0D91A0: .db $2B,$01,$2E,$01,$2C,$01,$2F,$01 DATA_0D91A8: .db $18,$05,$FC,$04,$19,$05,$08,$05 DATA_0D91B0: .db $1A,$05,$1D,$05,$FF,$04,$1E,$05 DATA_0D91B8: .db $F9,$00,$55,$01,$57,$41,$59,$01 DATA_0D91C0: .db $2E,$01,$2E,$01,$2F,$01,$2F,$01 DATA_0D91C8: .db $0C,$05,$0F,$05,$20,$05,$22,$05 DATA_0D91D0: .db $FF,$04,$1B,$05,$15,$05,$1C,$05 DATA_0D91D8: .db $16,$05,$FC,$04,$17,$05,$FC,$04 DATA_0D91E0: .db $18,$01,$FC,$00,$19,$01,$08,$01 DATA_0D91E8: .db $1A,$01,$1D,$01,$FF,$00,$1E,$01 DATA_0D91F0: .db $1F,$05,$21,$05,$FC,$04,$FC,$04 DATA_0D91F8: .db $0C,$01,$0F,$01,$20,$01,$22,$01 DATA_0D9200: .db $16,$01,$FC,$00,$17,$01,$FC,$00 DATA_0D9208: .db $44,$05,$46,$05,$45,$05,$F9,$04 DATA_0D9210: .db $F9,$00,$F9,$00,$F9,$00,$F9,$00 DATA_0D9218: .db $45,$45,$F9,$04,$44,$45,$46,$45 DATA_0D9220: .db $4D,$01,$4F,$01,$3D,$01,$50,$01 DATA_0D9228: .db $3D,$01,$41,$01,$3D,$01,$41,$01 DATA_0D9230: .db $3D,$01,$51,$01,$4E,$01,$52,$01 DATA_0D9238: .db $2D,$01,$2D,$01,$FF,$00,$FF,$00 DATA_0D9240: .db $FF,$00,$FF,$00,$FF,$00,$FF,$00 DATA_0D9248: .db $2D,$01,$2D,$01,$30,$01,$30,$81 DATA_0D9250: .db $FF,$00,$1B,$01,$15,$01,$1C,$01 DATA_0D9258: .db $1F,$01,$21,$01,$FC,$00,$FC,$00 DATA_0D9260: .db $57,$01,$58,$01,$F9,$00,$55,$01 DATA_0D9268: .db $39,$01,$3B,$01,$3A,$01,$F9,$00 DATA_0D9270: .db $3C,$01,$3F,$01,$3D,$01,$40,$01 DATA_0D9278: .db $5B,$01,$F8,$00,$5C,$01,$F8,$00 DATA_0D9280: .db $5C,$01,$F8,$00,$5C,$01,$F8,$00 DATA_0D9288: .db $5C,$01,$F8,$00,$5D,$01,$F8,$00 DATA_0D9290: .db $44,$01,$5A,$01,$50,$01,$5A,$01 DATA_0D9298: .db $F8,$00,$F8,$00,$44,$00,$46,$00 DATA_0D92A0: .db $F8,$00,$F8,$00,$44,$01,$5A,$01 DATA_0D92A8: .db $50,$01,$4B,$01,$5A,$01,$5A,$01 DATA_0D92B0: .db $F8,$00,$F8,$00,$45,$00,$47,$00 DATA_0D92B8: .db $F8,$00,$F8,$00,$5A,$01,$5A,$01 DATA_0D92C0: .db $5A,$01,$5A,$01,$5A,$01,$4B,$01 DATA_0D92C8: .db $48,$01,$48,$01,$5A,$01,$4B,$01 DATA_0D92D0: .db $5A,$01,$5A,$01,$51,$01,$5A,$01 DATA_0D92D8: .db $45,$01,$5A,$01,$F8,$00,$F8,$00 DATA_0D92E0: .db $0F,$05,$F8,$00,$1F,$05,$F8,$00 DATA_0D92E8: .db $4B,$01,$F8,$00,$F8,$00,$F8,$00 DATA_0D92F0: .db $5A,$01,$5A,$01,$F8,$00,$F8,$00 DATA_0D92F8: .db $F8,$00,$F8,$00,$44,$04,$46,$04 DATA_0D9300: .db $4B,$01,$48,$01,$48,$01,$4B,$01 DATA_0D9308: .db $4B,$01,$F8,$00,$48,$01,$4B,$01 DATA_0D9310: .db $44,$04,$46,$04,$F8,$00,$F8,$00 DATA_0D9318: .db $F8,$00,$F8,$00,$45,$04,$47,$04 DATA_0D9320: .db $45,$04,$47,$04,$F8,$00,$F8,$00 DATA_0D9328: .db $48,$01,$4B,$01,$4B,$01,$F8,$00 DATA_0D9330: .db $40,$01,$59,$01,$54,$01,$5A,$01 DATA_0D9338: .db $4D,$01,$59,$01,$41,$01,$5A,$01 DATA_0D9340: .db $F8,$00,$F8,$00,$45,$04,$46,$04 DATA_0D9348: .db $59,$01,$59,$01,$5A,$01,$5A,$01 DATA_0D9350: .db $F8,$00,$F8,$00,$F8,$00,$4D,$01 DATA_0D9358: .db $59,$01,$4F,$01,$57,$01,$59,$01 DATA_0D9360: .db $54,$01,$5A,$01,$F8,$00,$F8,$00 DATA_0D9368: .db $59,$01,$59,$01,$4D,$01,$59,$01 DATA_0D9370: .db $41,$01,$5A,$01,$F8,$00,$F8,$00 DATA_0D9378: .db $F8,$00,$F8,$00,$59,$01,$59,$01 DATA_0D9380: .db $5A,$01,$5A,$01,$59,$01,$59,$01 DATA_0D9388: .db $F8,$00,$F8,$00,$40,$01,$59,$01 DATA_0D9390: .db $54,$01,$5A,$01,$59,$01,$59,$01 DATA_0D9398: .db $F8,$00,$F8,$00,$59,$01,$46,$01 DATA_0D93A0: .db $57,$01,$59,$01,$54,$01,$5A,$01 DATA_0D93A8: .db $5A,$01,$4D,$01,$F8,$00,$41,$01 DATA_0D93B0: .db $54,$01,$5A,$01,$5A,$01,$5A,$01 DATA_0D93B8: .db $51,$01,$5A,$01,$53,$01,$5A,$01 DATA_0D93C0: .db $F8,$00,$F8,$00,$4A,$01,$F8,$00 DATA_0D93C8: .db $5A,$01,$5A,$01,$57,$01,$59,$01 DATA_0D93D0: .db $54,$01,$5A,$01,$4B,$01,$F8,$00 DATA_0D93D8: .db $5A,$01,$5A,$01,$5A,$01,$52,$01 DATA_0D93E0: .db $5A,$01,$50,$01,$49,$01,$5A,$01 DATA_0D93E8: .db $F8,$00,$4B,$01,$4B,$01,$48,$01 DATA_0D93F0: .db $5A,$01,$51,$01,$5A,$01,$53,$01 DATA_0D93F8: .db $F8,$00,$F8,$00,$5A,$01,$4B,$01 DATA_0D9400: .db $3A,$11,$3A,$91,$3B,$11,$54,$11 DATA_0D9408: .db $54,$91,$54,$11,$3A,$51,$3A,$D1 DATA_0D9410: .db $F8,$00,$00,$01,$F8,$00,$00,$41 DATA_0D9418: .db $32,$11,$34,$11,$33,$11,$F9,$00 DATA_0D9420: .db $F8,$00,$01,$01,$01,$01,$02,$01 DATA_0D9428: .db $02,$01,$FA,$00,$02,$41,$FA,$00 DATA_0D9430: .db $01,$41,$02,$41,$F8,$00,$01,$41 DATA_0D9438: .db $F8,$00,$1F,$01,$F8,$00,$1F,$41 DATA_0D9440: .db $2E,$11,$F9,$00,$F9,$00,$F9,$00 DATA_0D9448: .db $02,$01,$FA,$00,$FA,$00,$FA,$00 DATA_0D9450: .db $52,$01,$FA,$00,$FA,$00,$FA,$00 DATA_0D9458: .db $FA,$00,$FA,$00,$02,$41,$FA,$00 DATA_0D9460: .db $F8,$00,$20,$01,$F8,$00,$21,$01 DATA_0D9468: .db $20,$01,$22,$01,$21,$01,$FD,$00 DATA_0D9470: .db $22,$01,$FD,$00,$22,$41,$FD,$00 DATA_0D9478: .db $21,$41,$FD,$00,$20,$41,$22,$41 DATA_0D9480: .db $F8,$00,$21,$41,$F8,$00,$20,$41 DATA_0D9488: .db $32,$11,$38,$11,$33,$11,$F9,$00 DATA_0D9490: .db $FA,$00,$FA,$00,$FA,$00,$FA,$00 DATA_0D9498: .db $FA,$00,$52,$01,$52,$01,$FA,$00 DATA_0D94A0: .db $06,$41,$02,$41,$FD,$00,$06,$41 DATA_0D94A8: .db $51,$01,$FD,$00,$FD,$00,$51,$01 DATA_0D94B0: .db $FD,$00,$FD,$00,$FD,$00,$FD,$00 DATA_0D94B8: .db $51,$01,$FD,$00,$FD,$00,$FD,$00 DATA_0D94C0: .db $FD,$00,$FD,$00,$22,$41,$FD,$00 DATA_0D94C8: .db $2B,$41,$FD,$00,$2A,$41,$22,$41 DATA_0D94D0: .db $F9,$00,$2B,$41,$F9,$00,$2A,$41 DATA_0D94D8: .db $33,$51,$F9,$00,$32,$51,$34,$51 DATA_0D94E0: .db $F9,$00,$F9,$00,$2E,$51,$F9,$00 DATA_0D94E8: .db $F8,$00,$35,$11,$F8,$00,$36,$11 DATA_0D94F0: .db $35,$11,$2E,$11,$36,$11,$F9,$00 DATA_0D94F8: .db $36,$51,$F9,$00,$35,$51,$2E,$51 DATA_0D9500: .db $F8,$00,$36,$51,$F8,$00,$35,$51 DATA_0D9508: .db $2C,$11,$39,$11,$2D,$11,$F9,$00 DATA_0D9510: .db $F9,$00,$30,$11,$F9,$00,$31,$11 DATA_0D9518: .db $2C,$11,$2F,$11,$2D,$11,$F9,$00 DATA_0D9520: .db $31,$51,$F9,$00,$30,$51,$2E,$51 DATA_0D9528: .db $F9,$00,$31,$51,$F9,$00,$30,$51 DATA_0D9530: .db $2D,$51,$F9,$00,$2C,$51,$2F,$51 DATA_0D9538: .db $2D,$51,$F9,$00,$2C,$51,$39,$51 DATA_0D9540: .db $30,$11,$2E,$11,$31,$11,$F9,$00 DATA_0D9548: .db $22,$01,$FD,$00,$FD,$00,$FD,$00 DATA_0D9550: .db $FD,$00,$05,$01,$FD,$00,$05,$41 DATA_0D9558: .db $F8,$00,$13,$01,$F8,$00,$14,$01 DATA_0D9560: .db $FD,$00,$06,$01,$06,$01,$02,$01 DATA_0D9568: .db $FD,$00,$1A,$01,$FD,$00,$1B,$01 DATA_0D9570: .db $1A,$01,$15,$01,$1B,$01,$FA,$00 DATA_0D9578: .db $15,$01,$FA,$00,$FA,$00,$FA,$00 DATA_0D9580: .db $FD,$00,$28,$41,$FD,$00,$27,$41 DATA_0D9588: .db $04,$41,$02,$41,$FA,$00,$04,$41 DATA_0D9590: .db $FA,$00,$24,$01,$FA,$00,$25,$01 DATA_0D9598: .db $24,$01,$22,$01,$25,$01,$FD,$00 DATA_0D95A0: .db $F8,$00,$12,$01,$F8,$00,$12,$41 DATA_0D95A8: .db $13,$01,$15,$01,$14,$01,$FA,$00 DATA_0D95B0: .db $14,$41,$FA,$00,$13,$41,$15,$41 DATA_0D95B8: .db $F8,$00,$14,$41,$F8,$00,$13,$41 DATA_0D95C0: .db $FA,$00,$FA,$00,$15,$41,$FA,$00 DATA_0D95C8: .db $28,$41,$FD,$00,$27,$41,$22,$41 DATA_0D95D0: .db $F8,$00,$3E,$01,$3E,$01,$FE,$00 DATA_0D95D8: .db $49,$01,$46,$01,$43,$01,$FC,$00 DATA_0D95E0: .db $3D,$41,$FC,$00,$F8,$00,$3D,$41 DATA_0D95E8: .db $33,$51,$F9,$00,$32,$51,$38,$51 DATA_0D95F0: .db $FE,$00,$FE,$00,$FE,$00,$FE,$00 DATA_0D95F8: .db $FE,$00,$41,$01,$41,$01,$FC,$00 DATA_0D9600: .db $F9,$00,$50,$01,$50,$01,$FE,$00 DATA_0D9608: .db $46,$01,$46,$01,$FC,$00,$FC,$00 DATA_0D9610: .db $41,$41,$FC,$00,$FE,$00,$41,$41 DATA_0D9618: .db $FC,$00,$3F,$01,$3F,$01,$FA,$00 DATA_0D9620: .db $42,$01,$FA,$00,$42,$01,$FA,$00 DATA_0D9628: .db $42,$01,$FA,$00,$48,$41,$45,$41 DATA_0D9630: .db $44,$01,$FE,$00,$4A,$41,$47,$41 DATA_0D9638: .db $4F,$41,$FC,$00,$F9,$00,$4F,$41 DATA_0D9640: .db $47,$01,$47,$01,$FE,$00,$FE,$00 DATA_0D9648: .db $FC,$00,$FC,$00,$46,$41,$46,$41 DATA_0D9650: .db $FA,$00,$FA,$00,$45,$41,$45,$41 DATA_0D9658: .db $FE,$00,$44,$81,$FE,$00,$44,$81 DATA_0D9660: .db $3F,$41,$FA,$00,$FC,$00,$3F,$41 DATA_0D9668: .db $FC,$00,$43,$81,$FC,$00,$43,$81 DATA_0D9670: .db $FC,$00,$43,$81,$46,$41,$49,$C1 DATA_0D9678: .db $FA,$00,$3F,$C1,$3F,$C1,$FC,$00 DATA_0D9680: .db $FC,$00,$41,$C1,$41,$C1,$FE,$00 DATA_0D9688: .db $FA,$00,$4B,$01,$4B,$01,$FA,$00 DATA_0D9690: .db $FA,$00,$40,$C1,$40,$C1,$FE,$00 DATA_0D9698: .db $4C,$81,$FC,$00,$FC,$00,$4C,$81 DATA_0D96A0: .db $41,$41,$FC,$00,$FE,$40,$41,$41 DATA_0D96A8: .db $4B,$81,$FA,$00,$FA,$00,$4B,$81 DATA_0D96B0: .db $3F,$81,$FC,$00,$FA,$00,$3F,$81 DATA_0D96B8: .db $FE,$00,$40,$01,$40,$01,$FA,$00 DATA_0D96C0: .db $41,$81,$FE,$00,$FC,$00,$41,$81 DATA_0D96C8: .db $FA,$00,$42,$81,$45,$41,$48,$C1 DATA_0D96D0: .db $FA,$00,$42,$81,$FA,$00,$42,$81 DATA_0D96D8: .db $FA,$00,$40,$C1,$40,$C1,$FE,$C0 DATA_0D96E0: .db $FE,$00,$4D,$01,$4D,$01,$FE,$00 DATA_0D96E8: .db $43,$01,$FC,$00,$43,$01,$FC,$00 DATA_0D96F0: .db $43,$01,$FC,$00,$49,$41,$46,$41 DATA_0D96F8: .db $FE,$00,$FE,$00,$47,$41,$47,$41 DATA_0D9700: .db $40,$41,$FA,$00,$FE,$00,$40,$41 DATA_0D9708: .db $45,$01,$45,$01,$FA,$00,$FA,$00 DATA_0D9710: .db $4E,$41,$FA,$00,$F9,$00,$4E,$41 DATA_0D9718: .db $FA,$00,$3C,$C1,$3C,$C1,$F8,$00 DATA_0D9720: .db $44,$01,$FE,$00,$44,$01,$FE,$00 DATA_0D9728: .db $FA,$00,$4E,$C1,$4E,$C1,$F9,$00 DATA_0D9730: .db $FE,$00,$FE,$00,$5A,$01,$5A,$01 DATA_0D9738: .db $7C,$01,$5B,$01,$79,$01,$FE,$00 DATA_0D9740: .db $5B,$01,$5B,$01,$FE,$00,$FE,$00 DATA_0D9748: .db $78,$01,$FE,$00,$79,$01,$FE,$00 DATA_0D9750: .db $78,$01,$FE,$00,$7B,$01,$5A,$01 DATA_0D9758: .db $FE,$00,$FE,$00,$78,$01,$FE,$00 DATA_0D9760: .db $79,$01,$78,$01,$5A,$01,$7B,$01 DATA_0D9768: .db $5B,$01,$7C,$01,$78,$01,$79,$01 DATA_0D9770: .db $79,$01,$FE,$00,$FE,$00,$FE,$00 DATA_0D9778: .db $40,$00,$42,$00,$41,$00,$43,$00 DATA_0D9780: .db $64,$01,$66,$01,$65,$01,$67,$01 DATA_0D9788: .db $FE,$00,$68,$41,$5E,$01,$60,$01 DATA_0D9790: .db $FE,$00,$61,$01,$FE,$00,$62,$01 DATA_0D9798: .db $5F,$01,$63,$01,$FE,$00,$68,$01 DATA_0D97A0: .db $FE,$00,$69,$01,$FE,$00,$69,$41 DATA_0D97A8: .db $6B,$41,$6E,$41,$6A,$41,$6C,$01 DATA_0D97B0: .db $FE,$00,$6D,$01,$FE,$00,$6D,$41 DATA_0D97B8: .db $6A,$01,$6C,$41,$6B,$01,$6E,$01 DATA_0D97C0: .db $FC,$00,$6F,$01,$FC,$00,$6F,$41 DATA_0D97C8: .db $70,$01,$72,$01,$71,$01,$73,$01 DATA_0D97D0: .db $74,$01,$76,$01,$75,$01,$77,$01 DATA_0D97D8: .db $0A,$41,$0B,$41,$F8,$00,$0A,$41 DATA_0D97E0: .db $F9,$00,$07,$01,$F9,$00,$07,$41 DATA_0D97E8: .db $FD,$00,$FD,$00,$0B,$41,$FD,$00 DATA_0D97F0: .db $11,$41,$0B,$41,$F9,$00,$11,$41 DATA_0D97F8: .db $F9,$00,$08,$01,$08,$01,$02,$01 DATA_0D9800: .db $08,$41,$02,$41,$F9,$00,$08,$41 DATA_0D9808: .db $F9,$00,$11,$01,$11,$01,$0B,$01 DATA_0D9810: .db $0B,$01,$FD,$00,$FD,$00,$FD,$00 DATA_0D9818: .db $FA,$00,$17,$01,$FA,$00,$18,$01 DATA_0D9820: .db $17,$01,$15,$01,$18,$01,$FA,$00 DATA_0D9828: .db $F8,$00,$09,$01,$F8,$00,$09,$41 DATA_0D9830: .db $F8,$00,$33,$51,$F8,$00,$32,$51 DATA_0D9838: .db $F8,$00,$0A,$01,$0A,$01,$0B,$01 DATA_0D9840: .db $0B,$01,$FD,$00,$0B,$41,$FD,$00 DATA_0D9848: .db $F9,$00,$F9,$00,$34,$51,$2E,$51 DATA_0D9850: .db $FD,$00,$26,$01,$FD,$00,$26,$41 DATA_0D9858: .db $FD,$00,$27,$01,$FD,$00,$28,$01 DATA_0D9860: .db $27,$01,$22,$01,$28,$01,$FD,$00 DATA_0D9868: .db $FD,$00,$19,$01,$FD,$00,$19,$41 DATA_0D9870: .db $15,$01,$FA,$00,$15,$41,$FA,$00 DATA_0D9878: .db $1B,$41,$FA,$00,$1A,$41,$15,$41 DATA_0D9880: .db $FD,$00,$1B,$41,$FD,$00,$1A,$41 DATA_0D9888: .db $7D,$01,$7D,$81,$7D,$41,$7D,$C1 DATA_0D9890: .db $4F,$00,$F8,$00,$F8,$00,$F8,$00 DATA_0D9898: .db $F8,$00,$F8,$00,$F8,$00,$4E,$00 DATA_0D98A0: .db $4C,$00,$4C,$80,$4C,$40,$4C,$C0 DATA_0D98A8: .db $4D,$00,$4D,$80,$4D,$40,$4D,$C0 DATA_0D98B0: .db $4D,$01,$FA,$00,$4E,$01,$FA,$00 DATA_0D98B8: .db $4F,$01,$FA,$00,$50,$01,$FA,$00 DATA_0D98C0: .db $51,$01,$FA,$00,$52,$01,$FA,$00 DATA_0D98C8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_0D98D0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_0D98D8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_0D98E0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_0D98E8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_0D98F0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_0D98F8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_0D9900: .db $FD,$04,$FD,$04,$06,$05,$07,$05 DATA_0D9908: .db $00,$05,$00,$05,$00,$45,$00,$45 DATA_0D9910: .db $00,$05,$00,$05,$72,$04,$FF,$04 DATA_0D9918: .db $00,$05,$00,$05,$FF,$04,$FF,$04 DATA_0D9920: .db $FF,$04,$FF,$04,$00,$05,$00,$05 DATA_0D9928: .db $FF,$04,$FF,$04,$0E,$45,$00,$45 DATA_0D9930: .db $FF,$04,$FF,$04,$00,$45,$00,$45 DATA_0D9938: .db $10,$05,$10,$05,$10,$45,$10,$45 DATA_0D9940: .db $FA,$04,$FA,$04,$10,$05,$10,$05 DATA_0D9948: .db $00,$05,$1B,$05,$00,$45,$1B,$45 DATA_0D9950: .db $FF,$04,$05,$45,$0B,$45,$0C,$45 DATA_0D9958: .db $FF,$04,$72,$04,$00,$45,$00,$45 DATA_0D9960: .db $FD,$04,$FD,$04,$00,$05,$00,$05 DATA_0D9968: .db $FD,$04,$FD,$04,$FD,$04,$FD,$04 DATA_0D9970: .db $01,$05,$03,$05,$02,$05,$04,$05 DATA_0D9978: .db $FF,$04,$FF,$04,$0B,$05,$0C,$05 DATA_0D9980: .db $FF,$04,$05,$05,$00,$45,$00,$45 DATA_0D9988: .db $73,$04,$FA,$04,$10,$05,$10,$05 DATA_0D9990: .db $0E,$05,$00,$05,$FF,$04,$FF,$04 DATA_0D9998: .db $00,$45,$00,$45,$FF,$04,$FF,$04 DATA_0D99A0: .db $02,$45,$04,$45,$01,$45,$03,$45 DATA_0D99A8: .db $00,$05,$1C,$05,$00,$45,$1C,$45 DATA_0D99B0: .db $00,$05,$00,$05,$FF,$04,$05,$45 DATA_0D99B8: .db $0B,$45,$0C,$45,$FF,$04,$FF,$04 DATA_0D99C0: .db $00,$45,$00,$45,$FD,$04,$FD,$04 DATA_0D99C8: .db $FD,$04,$18,$05,$FD,$04,$18,$45 DATA_0D99D0: .db $FD,$04,$13,$05,$FD,$04,$FD,$04 DATA_0D99D8: .db $FF,$04,$FF,$04,$72,$04,$FF,$04 DATA_0D99E0: .db $10,$05,$1D,$05,$10,$45,$1D,$45 DATA_0D99E8: .db $06,$45,$07,$45,$FD,$04,$FD,$04 DATA_0D99F0: .db $71,$04,$71,$84,$71,$44,$71,$C4 DATA_0D99F8: .db $10,$05,$10,$05,$FD,$04,$FD,$04 DATA_0D9A00: .db $0B,$05,$0C,$05,$FF,$04,$05,$05 DATA_0D9A08: .db $FA,$04,$FA,$04,$FA,$04,$FA,$04 DATA_0D9A10: .db $70,$04,$70,$84,$70,$44,$70,$C4 DATA_0D9A18: .db $FD,$04,$FD,$04,$FD,$04,$13,$45 DATA_0D9A20: .db $FA,$04,$19,$C5,$10,$05,$13,$85 DATA_0D9A28: .db $FD,$04,$18,$05,$10,$45,$1A,$45 DATA_0D9A30: .db $FF,$04,$FF,$04,$FF,$04,$FF,$04 DATA_0D9A38: .db $FF,$04,$05,$05,$FF,$04,$FF,$04 DATA_0D9A40: .db $FD,$04,$FD,$04,$10,$45,$10,$45 DATA_0D9A48: .db $FF,$04,$05,$45,$06,$45,$07,$45 DATA_0D9A50: .db $18,$85,$FD,$04,$18,$C5,$FD,$04 DATA_0D9A58: .db $13,$85,$FD,$04,$FD,$04,$FD,$04 DATA_0D9A60: .db $13,$45,$10,$45,$19,$05,$FA,$04 DATA_0D9A68: .db $1A,$85,$10,$05,$18,$C5,$FD,$04 DATA_0D9A70: .db $15,$05,$16,$05,$FD,$04,$13,$05 DATA_0D9A78: .db $10,$45,$10,$45,$FA,$04,$73,$04 DATA_0D9A80: .db $FA,$04,$FA,$04,$15,$05,$16,$05 DATA_0D9A88: .db $FD,$04,$13,$05,$10,$45,$10,$45 DATA_0D9A90: .db $10,$45,$19,$05,$FA,$04,$FA,$04 DATA_0D9A98: .db $10,$05,$1A,$05,$FD,$04,$18,$45 DATA_0D9AA0: .db $1C,$85,$00,$05,$1C,$C5,$00,$45 DATA_0D9AA8: .db $1D,$85,$10,$05,$1D,$C5,$10,$45 DATA_0D9AB0: .db $FD,$04,$FD,$04,$13,$C5,$FD,$04 DATA_0D9AB8: .db $16,$C5,$15,$C5,$FA,$04,$FA,$04 DATA_0D9AC0: .db $FA,$04,$FA,$04,$19,$C5,$10,$05 DATA_0D9AC8: .db $13,$85,$FD,$04,$10,$45,$10,$45 DATA_0D9AD0: .db $07,$C5,$06,$C5,$FD,$04,$FD,$04 DATA_0D9AD8: .db $07,$85,$06,$85,$05,$85,$FF,$04 DATA_0D9AE0: .db $10,$05,$10,$05,$FD,$04,$13,$45 DATA_0D9AE8: .db $15,$45,$16,$45,$FA,$04,$FA,$04 DATA_0D9AF0: .db $10,$45,$13,$C5,$FA,$04,$19,$85 DATA_0D9AF8: .db $16,$85,$15,$85,$13,$85,$FD,$04 DATA_0D9B00: .db $FD,$04,$FD,$04,$07,$85,$06,$85 DATA_0D9B08: .db $FA,$04,$FA,$04,$16,$85,$15,$85 DATA_0D9B10: .db $04,$C5,$02,$C5,$03,$C5,$01,$C5 DATA_0D9B18: .db $FF,$04,$FF,$04,$05,$C5,$FF,$04 DATA_0D9B20: .db $03,$85,$01,$85,$04,$85,$02,$85 DATA_0D9B28: .db $1B,$85,$00,$05,$1B,$C5,$00,$45 DATA_0D9B30: .db $00,$05,$0E,$85,$FF,$04,$FF,$04 DATA_0D9B38: .db $FF,$04,$FF,$04,$0C,$85,$0B,$85 DATA_0D9B40: .db $10,$05,$10,$05,$13,$C5,$FD,$04 DATA_0D9B48: .db $FF,$04,$FF,$04,$00,$45,$0E,$C5 DATA_0D9B50: .db $05,$85,$FF,$04,$00,$45,$00,$45 DATA_0D9B58: .db $0C,$C5,$0B,$C5,$FF,$04,$FF,$04 DATA_0D9B60: .db $0C,$85,$0B,$85,$05,$85,$FF,$04 DATA_0D9B68: .db $00,$05,$00,$05,$05,$C5,$FF,$04 DATA_0D9B70: .db $05,$C5,$FF,$04,$0C,$C5,$0B,$C5 DATA_0D9B78: .db $05,$C5,$FF,$04,$07,$C5,$06,$C5 DATA_0D9B80: .db $05,$85,$FF,$04,$FF,$04,$FF,$04 DATA_0D9B88: .db $FF,$04,$FF,$04,$FF,$04,$05,$45 DATA_0D9B90: .db $18,$85,$FD,$04,$1A,$C5,$10,$45 DATA_0D9B98: .db $06,$05,$07,$05,$FF,$04,$05,$05 DATA_0D9BA0: .db $10,$45,$10,$45,$FA,$04,$FA,$04 DATA_0D9BA8: .db $19,$45,$FA,$04,$13,$05,$10,$05 DATA_0D9BB0: .db $FA,$04,$1D,$85,$FA,$04,$1D,$C5 DATA_0D9BB8: .db $19,$05,$FA,$04,$FA,$04,$FA,$04 DATA_0D9BC0: .db $19,$85,$13,$C5,$FA,$04,$19,$85 DATA_0D9BC8: .db $F8,$00,$F8,$00,$F8,$00,$F8,$00 DATA_0D9BD0: .db $3A,$11,$3A,$91,$3B,$11,$54,$11 DATA_0D9BD8: .db $54,$91,$54,$11,$3A,$51,$3A,$D1 DATA_0D9BE0: .db $64,$01,$74,$01,$65,$01,$FD,$00 DATA_0D9BE8: .db $65,$41,$FD,$00,$64,$41,$74,$41 DATA_0D9BF0: .db $75,$01,$FD,$00,$FD,$00,$FD,$00 DATA_0D9BF8: .db $FD,$00,$FD,$00,$75,$41,$FD,$00 DATA_0D9C00: .db $FD,$00,$FD,$00,$FD,$00,$FD,$00 DATA_0D9C08: .db $FD,$00,$FD,$00,$FD,$00,$75,$C1 DATA_0D9C10: .db $FD,$00,$75,$81,$FD,$00,$FD,$00 DATA_0D9C18: .db $FD,$00,$59,$01,$59,$01,$59,$41 DATA_0D9C20: .db $FD,$00,$65,$C1,$74,$C1,$64,$C1 DATA_0D9C28: .db $74,$81,$64,$81,$FD,$00,$65,$81 DATA_0D9C30: .db $59,$41,$59,$01,$FD,$00,$59,$41 DATA_0D9C38: .db $66,$01,$76,$01,$67,$01,$FC,$00 DATA_0D9C40: .db $67,$41,$FC,$00,$66,$41,$76,$41 DATA_0D9C48: .db $77,$01,$FC,$00,$FC,$00,$FC,$00 DATA_0D9C50: .db $FC,$00,$FC,$00,$77,$41,$FC,$00 DATA_0D9C58: .db $FC,$00,$FC,$00,$FC,$00,$FC,$00 DATA_0D9C60: .db $6E,$01,$7E,$01,$6F,$01,$7F,$01 DATA_0D9C68: .db $6F,$41,$7F,$41,$6E,$41,$7E,$41 DATA_0D9C70: .db $FC,$00,$77,$81,$FC,$00,$FC,$00 DATA_0D9C78: .db $FC,$00,$FC,$00,$FC,$00,$77,$C1 DATA_0D9C80: .db $68,$01,$78,$01,$69,$01,$FB,$00 DATA_0D9C88: .db $69,$41,$FB,$00,$68,$41,$78,$41 DATA_0D9C90: .db $76,$81,$66,$81,$FC,$00,$67,$81 DATA_0D9C98: .db $FC,$00,$67,$C1,$76,$C1,$66,$C1 DATA_0D9CA0: .db $79,$01,$FB,$00,$FB,$00,$FB,$00 DATA_0D9CA8: .db $FB,$00,$FB,$00,$79,$41,$FB,$00 DATA_0D9CB0: .db $70,$01,$72,$01,$71,$01,$73,$01 DATA_0D9CB8: .db $FB,$00,$FB,$00,$FB,$00,$FB,$00 DATA_0D9CC0: .db $78,$81,$68,$81,$FB,$00,$69,$81 DATA_0D9CC8: .db $FB,$00,$79,$81,$FB,$00,$FB,$00 DATA_0D9CD0: .db $FB,$00,$FB,$00,$FB,$00,$79,$C1 DATA_0D9CD8: .db $FB,$00,$69,$C1,$78,$C1,$68,$C1 DATA_0D9CE0: .db $71,$41,$73,$41,$70,$41,$72,$41 DATA_0D9CE8: .db $6A,$01,$7A,$01,$6B,$01,$FA,$00 DATA_0D9CF0: .db $6B,$41,$FA,$00,$6A,$41,$7A,$41 DATA_0D9CF8: .db $7B,$01,$FA,$00,$FA,$00,$FA,$00 DATA_0D9D00: .db $FA,$00,$FA,$00,$7B,$41,$FA,$00 DATA_0D9D08: .db $6C,$01,$7C,$01,$6D,$01,$7D,$01 DATA_0D9D10: .db $6D,$41,$7D,$41,$6C,$41,$7C,$41 DATA_0D9D18: .db $FA,$00,$FA,$00,$FA,$00,$FA,$00 DATA_0D9D20: .db $7A,$81,$6A,$81,$FA,$00,$6B,$81 DATA_0D9D28: .db $FA,$00,$7B,$81,$FA,$00,$FA,$00 DATA_0D9D30: .db $FA,$00,$FA,$00,$FA,$00,$7B,$C1 DATA_0D9D38: .db $FA,$00,$6B,$C1,$7A,$C1,$6A,$C1 DATA_0D9D40: .db $35,$41,$35,$41,$35,$01,$35,$01 DATA_0D9D48: .db $2D,$41,$FA,$40,$2C,$41,$FA,$40 DATA_0D9D50: .db $2D,$41,$2C,$41,$2C,$41,$2D,$41 DATA_0D9D58: .db $34,$41,$33,$41,$34,$01,$33,$01 DATA_0D9D60: .db $2D,$41,$2C,$41,$2C,$41,$FA,$40 DATA_0D9D68: .db $FA,$40,$FA,$40,$FA,$40,$2D,$41 DATA_0D9D70: .db $2D,$41,$2C,$41,$2C,$41,$22,$01 DATA_0D9D78: .db $2D,$41,$23,$01,$2C,$41,$2D,$41 DATA_0D9D80: .db $22,$01,$2C,$41,$23,$01,$22,$01 DATA_0D9D88: .db $3A,$41,$39,$41,$3A,$01,$39,$01 DATA_0D9D90: .db $22,$01,$2C,$41,$23,$01,$2D,$41 DATA_0D9D98: .db $2D,$41,$FA,$40,$2C,$41,$2D,$41 DATA_0D9DA0: .db $38,$01,$23,$01,$21,$01,$22,$01 DATA_0D9DA8: .db $43,$41,$2F,$41,$43,$01,$2F,$01 DATA_0D9DB0: .db $38,$01,$21,$01,$21,$01,$22,$01 DATA_0D9DB8: .db $22,$01,$23,$01,$23,$01,$2D,$41 DATA_0D9DC0: .db $2B,$01,$2B,$81,$2B,$01,$2B,$81 DATA_0D9DC8: .db $2A,$01,$2A,$81,$29,$01,$29,$81 DATA_0D9DD0: .db $28,$01,$28,$81,$27,$01,$27,$81 DATA_0D9DD8: .db $26,$01,$26,$81,$25,$01,$25,$81 DATA_0D9DE0: .db $24,$01,$24,$81,$36,$01,$36,$81 DATA_0D9DE8: .db $2E,$41,$37,$41,$2E,$01,$37,$01 DATA_0D9DF0: .db $36,$01,$36,$81,$24,$01,$24,$81 DATA_0D9DF8: .db $25,$01,$25,$81,$26,$01,$26,$81 DATA_0D9E00: .db $27,$01,$27,$81,$28,$01,$28,$81 DATA_0D9E08: .db $29,$01,$29,$81,$2A,$01,$2A,$81 DATA_0D9E10: .db $22,$01,$23,$01,$23,$01,$38,$01 DATA_0D9E18: .db $38,$01,$21,$01,$21,$01,$1E,$01 DATA_0D9E20: .db $1E,$01,$1F,$01,$1F,$01,$1E,$01 DATA_0D9E28: .db $4C,$00,$4E,$00,$4C,$40,$4E,$40 DATA_0D9E30: .db $1E,$01,$1F,$01,$1F,$01,$38,$01 DATA_0D9E38: .db $22,$01,$23,$01,$23,$01,$2C,$41 DATA_0D9E40: .db $37,$41,$2E,$41,$37,$01,$2E,$01 DATA_0D9E48: .db $FA,$40,$2C,$41,$FA,$40,$FA,$40 DATA_0D9E50: .db $2F,$41,$43,$41,$2F,$01,$43,$01 DATA_0D9E58: .db $1E,$01,$21,$01,$1F,$01,$38,$01 DATA_0D9E60: .db $22,$01,$23,$01,$23,$01,$22,$01 DATA_0D9E68: .db $40,$01,$3B,$01,$41,$01,$44,$81 DATA_0D9E70: .db $42,$01,$44,$81,$40,$41,$3B,$01 DATA_0D9E78: .db $22,$01,$21,$01,$23,$01,$38,$01 DATA_0D9E80: .db $39,$41,$3A,$41,$39,$01,$3A,$01 DATA_0D9E88: .db $22,$01,$21,$01,$23,$01,$22,$01 DATA_0D9E90: .db $38,$01,$21,$01,$21,$01,$38,$01 DATA_0D9E98: .db $3C,$41,$3C,$01,$44,$41,$44,$81 DATA_0D9EA0: .db $44,$41,$44,$81,$3C,$01,$3C,$41 DATA_0D9EA8: .db $33,$41,$34,$41,$33,$01,$34,$01 DATA_0D9EB0: .db $38,$01,$23,$01,$21,$01,$38,$01 DATA_0D9EB8: .db $FA,$40,$FA,$40,$FA,$40,$FA,$40 DATA_0D9EC0: .db $3D,$01,$40,$01,$44,$41,$41,$01 DATA_0D9EC8: .db $44,$41,$42,$01,$3D,$01,$40,$41 DATA_0D9ED0: .db $FA,$40,$2C,$41,$FA,$40,$2D,$41 DATA_0D9ED8: .db $2D,$41,$23,$01,$2C,$41,$22,$01 DATA_0D9EE0: .db $38,$01,$1F,$01,$21,$01,$38,$01 DATA_0D9EE8: .db $38,$01,$1F,$01,$21,$01,$1E,$01 DATA_0D9EF0: .db $1E,$01,$21,$01,$1F,$01,$1E,$01 DATA_0D9EF8: .db $5E,$01,$7A,$01,$5F,$01,$7B,$01 DATA_0D9F00: .db $5E,$01,$6E,$01,$5F,$01,$6F,$01 DATA_0D9F08: .db $67,$41,$77,$41,$66,$41,$76,$41 DATA_0D9F10: .db $66,$01,$76,$01,$67,$01,$77,$01 DATA_0D9F18: .db $64,$01,$74,$01,$5F,$01,$6F,$01 DATA_0D9F20: .db $7A,$81,$5E,$81,$7B,$81,$5F,$81 DATA_0D9F28: .db $6E,$81,$5E,$81,$6F,$81,$5F,$81 DATA_0D9F30: .db $74,$81,$64,$81,$6F,$81,$5F,$81 DATA_0D9F38: .db $5A,$01,$6A,$01,$5B,$01,$6B,$01 DATA_0D9F40: .db $67,$41,$77,$41,$66,$41,$53,$01 DATA_0D9F48: .db $5A,$01,$54,$01,$5B,$01,$6B,$01 DATA_0D9F50: .db $6A,$81,$5A,$81,$6B,$81,$5B,$81 DATA_0D9F58: .db $54,$81,$5A,$81,$6B,$81,$5B,$81 DATA_0D9F60: .db $64,$01,$6E,$01,$65,$01,$6F,$01 DATA_0D9F68: .db $64,$01,$74,$01,$65,$01,$6F,$01 DATA_0D9F70: .db $57,$C1,$79,$C1,$56,$C1,$78,$C1 DATA_0D9F78: .db $66,$01,$53,$41,$67,$01,$77,$01 DATA_0D9F80: .db $69,$C1,$59,$C1,$68,$C1,$58,$C1 DATA_0D9F88: .db $58,$01,$68,$01,$59,$01,$69,$01 DATA_0D9F90: .db $78,$01,$56,$01,$79,$01,$57,$01 DATA_0D9F98: .db $5C,$01,$6C,$01,$5D,$01,$6D,$01 DATA_0D9FA0: .db $7C,$01,$6E,$01,$7D,$01,$6F,$01 DATA_0D9FA8: .db $F8,$00,$55,$01,$F8,$00,$F8,$00 DATA_0D9FB0: .db $6E,$81,$7C,$81,$6F,$81,$7D,$81 DATA_0D9FB8: .db $6C,$81,$5C,$81,$6D,$81,$5D,$81 DATA_0D9FC0: .db $F5,$45,$FC,$05,$F5,$01,$FD,$01 DATA_0D9FC8: .db $F5,$41,$FD,$01,$F6,$01,$F8,$01 DATA_0D9FD0: .db $F4,$01,$F7,$01,$F5,$01,$FC,$01 DATA_0D9FD8: .db $F5,$41,$FC,$01,$F5,$01,$FD,$01 DATA_0D9FE0: .db $FE,$85,$FF,$05,$FF,$81,$FE,$41 DATA_0D9FE8: .db $FE,$01,$FF,$01,$F8,$01,$F8,$81 DATA_0D9FF0: .db $F7,$01,$F7,$81,$FE,$41,$FF,$81 DATA_0D9FF8: .db $FE,$81,$FF,$01,$FF,$81,$FE,$41 DATA_0D9FF8: .db $FE,$81,$FF,$01,$FF,$81,$FE,$41 DATA_0DA000: .db $F4,$01,$F7,$01,$F6,$01,$F8,$01 DATA_0DA008: .db $F7,$01,$F7,$81,$F8,$01,$F8,$81 DATA_0DA010: .db $FF,$41,$FA,$01,$FE,$01,$FA,$41 DATA_0DA018: .db $FE,$C1,$FA,$01,$F8,$01,$FB,$01 DATA_0DA020: .db $F7,$01,$F9,$01,$FE,$01,$FA,$01 DATA_0DA028: .db $F7,$01,$F9,$01,$F8,$01,$FB,$01 DATA_0DA030: .db $74,$01,$72,$01,$75,$01,$73,$01 DATA_0DA038: .db $F5,$45,$FD,$05,$F6,$05,$F8,$05 DATA_0DA040: .db $F4,$05,$F7,$05,$F5,$05,$FC,$05 DATA_0DA048: .db $F5,$45,$FC,$05,$F5,$05,$FD,$05 DATA_0DA050: .db $FE,$05,$FF,$05,$F8,$01,$F8,$81 DATA_0DA058: .db $FE,$C5,$FA,$05,$F8,$01,$FB,$01 DATA_0DA060: .db $F5,$45,$FD,$05,$F6,$01,$F8,$01 DATA_0DA068: .db $E0,$01,$E4,$01,$E1,$01,$E5,$81 DATA_0DA070: .db $E1,$41,$E5,$C1,$E0,$41,$E4,$01 DATA_0DA078: .db $E2,$01,$E2,$01,$E5,$01,$E5,$81 DATA_0DA080: .db $E5,$41,$E5,$C1,$E2,$01,$E2,$01 DATA_0DA088: .db $E2,$01,$E0,$01,$E5,$01,$E1,$01 DATA_0DA090: .db $E5,$41,$E1,$41,$E2,$01,$E0,$41 DATA_0DA098: .db $FF,$41,$FA,$01,$FE,$C1,$FA,$01 Empty0DA0A0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0A8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0B0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0B8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0C0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0C8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0D0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0D8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0E0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0E8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0F0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DA0F8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF CODE_0DA100: E2 30 SEP #$30 ; This was done before JSLing to here, morons (which was unnecessary there too) CODE_0DA102: 20 06 A1 JSR.W CODE_0DA106 ; Run main code (why not just end the routines with RTLs? SMW's code is confusing sometimes...) Return0DA105: 6B RTL ; CODE_0DA106: E2 30 SEP #$30 ; Third time in about five opcodes, morons CODE_0DA108: A5 59 LDA $59 ; Load object size (i.e. extended object number) CODE_0DA10A: AA TAX ; Put in X too since some objects share codes CODE_0DA10B: 22 FA 86 00 JSL.L ExecutePtrLong ; and go to the correct address (why go to a 24bit address when the return is 16bit anyways? Morons...) PtrsLong0DA10F: 12 A5 0D .dw CODE_0DA512 .db :$CODE_0DA512 ; Screen exit PtrsLong0DA112: 3D A5 0D .dw CODE_0DA53D .db :$CODE_0DA53D ; Screen jump PtrsLong0DA115: 00 00 00 .dw $0000 .db $00 ;\ PtrsLong0DA118: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA11B: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA11E: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA121: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA124: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA127: 00 00 00 .dw $0000 .db $00 ; | Unused (LM will declare these to be fatal errors and change them to doors) PtrsLong0DA12A: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA12D: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA130: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA133: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA136: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA139: 00 00 00 .dw $0000 .db $00 ; | PtrsLong0DA13C: 00 00 00 .dw $0000 .db $00 ;/ PtrsLong0DA13F: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Small door PtrsLong0DA142: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Invisible ? block (1-UP) PtrsLong0DA145: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Invisible note block PtrsLong0DA148: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Top left corner edge tile 1 PtrsLong0DA14B: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Top right corner edge tile 1 PtrsLong0DA14E: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Small POW door PtrsLong0DA151: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Invisible POW ? block PtrsLong0DA154: 4D A6 0D .dw CODE_0DA64D .db :$CODE_0DA64D ; Green star block PtrsLong0DA157: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; 3-UP moon PtrsLong0DA15A: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Invisible 1-UP #1 PtrsLong0DA15D: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Invisible 1-UP #2 PtrsLong0DA160: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Invisible 1-UP #3 PtrsLong0DA163: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Invisible 1-UP #4 PtrsLong0DA166: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Red berry PtrsLong0DA169: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Pink berry PtrsLong0DA16C: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Green berry PtrsLong0DA16F: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Always turning block PtrsLong0DA172: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Bottom right of midway point (unused) PtrsLong0DA175: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Bottom right of midway point (unused) PtrsLong0DA178: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Note block (flower/feather/star) PtrsLong0DA17B: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; ON/OFF block PtrsLong0DA17E: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Direction coins ? block PtrsLong0DA181: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Note block PtrsLong0DA184: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Note block, bounce on all sides PtrsLong0DA187: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Turn block (Flower) PtrsLong0DA18A: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Turn block (Feather) PtrsLong0DA18D: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Turn block (Star) PtrsLong0DA190: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Turn block (Star 2/1-UP/Vine) PtrsLong0DA193: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Turn block (Multiple coins) PtrsLong0DA196: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Turn block (Coin) PtrsLong0DA199: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Turn block (Nothing) PtrsLong0DA19C: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Turn block (POW) PtrsLong0DA19F: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; ? block (Flower) PtrsLong0DA1A2: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; ? block (Feather) PtrsLong0DA1A5: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; ? block (Star) PtrsLong0DA1A8: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; ? block (Star 2) PtrsLong0DA1AB: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; ? block (Multiple coins) PtrsLong0DA1AE: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; ? block (Key/Wings/Balloon/Shell) PtrsLong0DA1B1: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; ? block (Yoshi) PtrsLong0DA1B4: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; ? block (Shell) PtrsLong0DA1B7: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; ? block (Shell) PtrsLong0DA1BA: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Turn block, unbreakable (Feather) PtrsLong0DA1BD: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Top left corner edge tile 2 PtrsLong0DA1C0: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Top right corner edge tile 2 PtrsLong0DA1C3: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Top left corner edge tile 3 PtrsLong0DA1C6: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Top right corner edge tile 3 PtrsLong0DA1C9: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Top left corner edge tile 4 PtrsLong0DA1CC: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Top right corner edge tile 4 PtrsLong0DA1CF: 7B A5 0D .dw CODE_0DA57B .db :$CODE_0DA57B ; Transculent block PtrsLong0DA1D2: CA B2 0D .dw CODE_0DB2CA .db :$CODE_0DB2CA ; Yoshi Coin PtrsLong0DA1D5: 56 A6 0D .dw ADDR_0DA656 .db :$ADDR_0DA656 ; Top left slope PtrsLong0DA1D8: 56 A6 0D .dw ADDR_0DA656 .db :$ADDR_0DA656 ; Top right slope PtrsLong0DA1DB: 73 A6 0D .dw CODE_0DA673 .db :$CODE_0DA673 ; Purple triangle, left PtrsLong0DA1DE: 73 A6 0D .dw CODE_0DA673 .db :$CODE_0DA673 ; Purple triangle, right PtrsLong0DA1E1: 8E A6 0D .dw CODE_0DA68E .db :$CODE_0DA68E ; Midway point rope PtrsLong0DA1E4: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; Door PtrsLong0DA1E7: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; Invisible POW door PtrsLong0DA1EA: BF EA 0D .dw CODE_0DEABF .db :$CODE_0DEABF ; Ghost house exit PtrsLong0DA1ED: C1 A7 0D .dw CODE_0DA7C1 .db :$CODE_0DA7C1 ; Climbing net door PtrsLong0DA1F0: 59 C2 0D .dw CODE_0DC259 .db :$CODE_0DC259 ; Conveyor end tile 1 PtrsLong0DA1F3: 59 C2 0D .dw CODE_0DC259 .db :$CODE_0DC259 ; Conveyor end tile 2 PtrsLong0DA1F6: 67 CE 0D .dw CODE_0DCE67 .db :$CODE_0DCE67 ; Line guide, top left 1/4 large circle PtrsLong0DA1F9: 67 CE 0D .dw CODE_0DCE67 .db :$CODE_0DCE67 ; Line guide, top right 1/4 large circle PtrsLong0DA1FC: 67 CE 0D .dw CODE_0DCE67 .db :$CODE_0DCE67 ; Line guide, bottom left 1/4 large circle PtrsLong0DA1FF: 67 CE 0D .dw CODE_0DCE67 .db :$CODE_0DCE67 ; Line guide, bottom right 1/4 large circle PtrsLong0DA202: 94 CE 0D .dw CODE_0DCE94 .db :$CODE_0DCE94 ; Line guide, top left 1/4 small circle PtrsLong0DA205: 94 CE 0D .dw CODE_0DCE94 .db :$CODE_0DCE94 ; Line guide, top right 1/4 small circle PtrsLong0DA208: 94 CE 0D .dw CODE_0DCE94 .db :$CODE_0DCE94 ; Line guide, bottom left 1/4 small circle PtrsLong0DA20B: 94 CE 0D .dw CODE_0DCE94 .db :$CODE_0DCE94 ; Line guide, bottom right 1/4 small circle PtrsLong0DA20E: C0 CE 0D .dw CODE_0DCEC0 .db :$CODE_0DCEC0 ; Line guide end, for horizontal line PtrsLong0DA211: DA CE 0D .dw CODE_0DCEDA .db :$CODE_0DCEDA ; Line guide end, for vertical line PtrsLong0DA214: 5F E9 0D .dw CODE_0DE95F .db :$CODE_0DE95F ; Switch palace bottom right corner tile PtrsLong0DA217: 5F E9 0D .dw CODE_0DE95F .db :$CODE_0DE95F ; Switch palace bottom left corner tile PtrsLong0DA21A: 5F E9 0D .dw CODE_0DE95F .db :$CODE_0DE95F ; Switch palace top right corner tile PtrsLong0DA21D: 5F E9 0D .dw CODE_0DE95F .db :$CODE_0DE95F ; Switch palace top left corner tile PtrsLong0DA220: 5F E9 0D .dw CODE_0DE95F .db :$CODE_0DE95F ; Bit of brick background tile 1 PtrsLong0DA223: 5F E9 0D .dw CODE_0DE95F .db :$CODE_0DE95F ; Bit of brick background tile 2 PtrsLong0DA226: 5F E9 0D .dw CODE_0DE95F .db :$CODE_0DE95F ; Bit of brick background tile 3 PtrsLong0DA229: 5F E9 0D .dw CODE_0DE95F .db :$CODE_0DE95F ; Bit of brick background tile 4 PtrsLong0DA22C: 71 E9 0D .dw ADDR_0DE971 .db :$ADDR_0DE971 ; Large background area PtrsLong0DA22F: 57 DA 0D .dw CODE_0DDA57 .db :$CODE_0DDA57 ; Lava/mud top right corner edge PtrsLong0DA232: AA E9 0D .dw CODE_0DE9AA .db :$CODE_0DE9AA ; Ghost house clock PtrsLong0DA235: AA E9 0D .dw CODE_0DE9AA .db :$CODE_0DE9AA ; Ghost house top left to bottom right beam 1 PtrsLong0DA238: AA E9 0D .dw CODE_0DE9AA .db :$CODE_0DE9AA ; Ghost house top right to bottom left beam 1 PtrsLong0DA23B: ED E9 0D .dw CODE_0DE9ED .db :$CODE_0DE9ED ; Ghost house cobweb, top right PtrsLong0DA23E: ED E9 0D .dw CODE_0DE9ED .db :$CODE_0DE9ED ; Ghost house cobweb, top left PtrsLong0DA241: 3E EA 0D .dw ADDR_0DEA3E .db :$ADDR_0DEA3E ; Ghost house top right to bottom left beam 2 PtrsLong0DA244: 3E EA 0D .dw ADDR_0DEA3E .db :$ADDR_0DEA3E ; Ghost house top left to bottom right beam 2 PtrsLong0DA247: 71 B5 0D .dw ADDR_0DB571 .db :$ADDR_0DB571 ; Cloud fringe, bottom and right edge PtrsLong0DA24A: 71 B5 0D .dw ADDR_0DB571 .db :$ADDR_0DB571 ; Cloud fringe, bottom and left edge PtrsLong0DA24D: 71 B5 0D .dw ADDR_0DB571 .db :$ADDR_0DB571 ; Cloud fringe, bottom right PtrsLong0DA250: 71 B5 0D .dw ADDR_0DB571 .db :$ADDR_0DB571 ; Cloud fringe, bottom left PtrsLong0DA253: 71 B5 0D .dw ADDR_0DB571 .db :$ADDR_0DB571 ; Cloud fringe on white, bottom and right edge PtrsLong0DA256: 71 B5 0D .dw ADDR_0DB571 .db :$ADDR_0DB571 ; Cloud fringe on white, bottom and left edge PtrsLong0DA259: 71 B5 0D .dw ADDR_0DB571 .db :$ADDR_0DB571 ; Cloud fringe on white, bottom right PtrsLong0DA25C: 71 B5 0D .dw ADDR_0DB571 .db :$ADDR_0DB571 ; Cloud fringe on white, bottom left PtrsLong0DA25F: A6 CE 0D .dw ADDR_0DCEA6 .db :$ADDR_0DCEA6 ; Bit of canvass 1 PtrsLong0DA262: AE E0 0D .dw CODE_0DE0AE .db :$CODE_0DE0AE ; Canvass 1 PtrsLong0DA265: AE E0 0D .dw CODE_0DE0AE .db :$CODE_0DE0AE ; Canvass 2 PtrsLong0DA268: AE E0 0D .dw CODE_0DE0AE .db :$CODE_0DE0AE ; Canvass 3 PtrsLong0DA26B: AE E0 0D .dw CODE_0DE0AE .db :$CODE_0DE0AE ; Canvass 4 PtrsLong0DA26E: 68 DA 0D .dw CODE_0DDA68 .db :$CODE_0DDA68 ; Canvass tile 1 PtrsLong0DA271: 68 DA 0D .dw CODE_0DDA68 .db :$CODE_0DDA68 ; Canvass tile 2 PtrsLong0DA274: 68 DA 0D .dw CODE_0DDA68 .db :$CODE_0DDA68 ; Canvass tile 3 PtrsLong0DA277: 68 DA 0D .dw CODE_0DDA68 .db :$CODE_0DDA68 ; Canvass tile 4 PtrsLong0DA27A: 68 DA 0D .dw CODE_0DDA68 .db :$CODE_0DDA68 ; Canvass tile 5 PtrsLong0DA27D: 68 DA 0D .dw CODE_0DDA68 .db :$CODE_0DDA68 ; Canvass tile 6 PtrsLong0DA280: 68 DA 0D .dw CODE_0DDA68 .db :$CODE_0DDA68 ; Canvass tile 7 PtrsLong0DA283: 80 DA 0D .dw CODE_0DDA80 .db :$CODE_0DDA80 ; Bit of canvas 2 PtrsLong0DA286: 80 DA 0D .dw CODE_0DDA80 .db :$CODE_0DDA80 ; Bit of canvas 3 PtrsLong0DA289: 80 DA 0D .dw CODE_0DDA80 .db :$CODE_0DDA80 ; Bit of canvas 4 PtrsLong0DA28C: A2 DA 0D .dw CODE_0DDAA2 .db :$CODE_0DDAA2 ; Torpedo launcher PtrsLong0DA28F: 6A EB 0D .dw CODE_0DEB6A .db :$CODE_0DEB6A ; Ghost house entrance PtrsLong0DA292: 68 EC 0D .dw ADDR_0DEC68 .db :$ADDR_0DEC68 ; Water weed PtrsLong0DA295: 1B A7 0D .dw CODE_0DA71B .db :$CODE_0DA71B ; Big bush 1 PtrsLong0DA298: 60 A7 0D .dw CODE_0DA760 .db :$CODE_0DA760 ; Big bush 2 PtrsLong0DA29B: E9 C2 0D .dw CODE_0DC2E9 .db :$CODE_0DC2E9 ; Castle entrance PtrsLong0DA29E: 33 EC 0D .dw CODE_0DEC33 .db :$CODE_0DEC33 ; Yoshi's house PtrsLong0DA2A1: E7 A7 0D .dw CODE_0DA7E7 .db :$CODE_0DA7E7 ; Arrow sign PtrsLong0DA2A4: 8B B5 0D .dw CODE_0DB58B .db :$CODE_0DB58B ; ! block, green PtrsLong0DA2A7: E3 B6 0D .dw CODE_0DB6E3 .db :$CODE_0DB6E3 ; Tree branch, left PtrsLong0DA2AA: E3 B6 0D .dw CODE_0DB6E3 .db :$CODE_0DB6E3 ; Tree branch, right PtrsLong0DA2AD: 8E EC 0D .dw CODE_0DEC8E .db :$CODE_0DEC8E ; Switch, green PtrsLong0DA2B0: 8E EC 0D .dw CODE_0DEC8E .db :$CODE_0DEC8E ; Switch, yellow PtrsLong0DA2B3: 8E EC 0D .dw CODE_0DEC8E .db :$CODE_0DEC8E ; Switch, blue PtrsLong0DA2B6: 8E EC 0D .dw CODE_0DEC8E .db :$CODE_0DEC8E ; Switch, red PtrsLong0DA2B9: 83 B5 0D .dw CODE_0DB583 .db :$CODE_0DB583 ; ! block, yellow PtrsLong0DA2BC: C1 EC 0D .dw CODE_0DECC1 .db :$CODE_0DECC1 ; Ghost house window PtrsLong0DA2BF: 1E C3 0D .dw CODE_0DC31E .db :$CODE_0DC31E ; Boss door PtrsLong0DA2C2: 0D A8 0D .dw CODE_0DA80D .db :$CODE_0DA80D ; Steep left slope (vert. lev.) PtrsLong0DA2C5: 0D A8 0D .dw CODE_0DA80D .db :$CODE_0DA80D ; Steep right slope (vert. lev.) PtrsLong0DA2C8: 46 A8 0D .dw CODE_0DA846 .db :$CODE_0DA846 ; Normal left slope (vert. lev.) PtrsLong0DA2CB: 46 A8 0D .dw CODE_0DA846 .db :$CODE_0DA846 ; Normal right slope (vert. lev.) PtrsLong0DA2CE: 7D A8 0D .dw CODE_0DA87D .db :$CODE_0DA87D ; Very steep left slope (vert. lev.) PtrsLong0DA2D1: 7D A8 0D .dw CODE_0DA87D .db :$CODE_0DA87D ; Very steep right slope (vert. lev.) PtrsLong0DA2D4: 5C EC 0D .dw CODE_0DEC5C .db :$CODE_0DEC5C ; Switch palace right and bottom edge tile PtrsLong0DA2D7: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ;\ PtrsLong0DA2DA: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2DD: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2E0: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2E3: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2E6: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2E9: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2EC: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2EF: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2F2: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2F5: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2F8: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2FB: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA2FE: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA301: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA304: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA307: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA30A: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA30D: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA310: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA313: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA316: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA319: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA31C: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA31F: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA322: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA325: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA328: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA32B: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA32E: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA331: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA334: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA337: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA33A: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA33D: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA340: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA343: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA346: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA349: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA34C: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA34F: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA352: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA355: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA358: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA35B: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA35E: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA361: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA364: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA367: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA36A: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA36D: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA370: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA373: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | Unused (will create two garbage tiles each) PtrsLong0DA376: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA379: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA37C: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA37F: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA382: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA385: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA388: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA38B: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA38E: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA391: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA394: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA397: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA39A: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA39D: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3A0: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3A3: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3A6: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3A9: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3AC: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3AF: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3B2: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3B5: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3B8: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3BB: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3BE: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3C1: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3C4: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3C7: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3CA: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3CD: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3D0: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3D3: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3D6: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3D9: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3DC: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3DF: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3E2: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3E5: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3E8: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3EB: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3EE: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3F1: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3F4: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3F7: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3FA: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA3FD: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA400: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA403: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA406: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA409: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ; | PtrsLong0DA40C: D1 A6 0D .dw CODE_0DA6D1 .db :$CODE_0DA6D1 ;/ ;This code calls the code for loading an object in the current tileset. CODE_0DA40F: E2 30 SEP #$30 ; AXY already are 8bit, morons CODE_0DA411: 20 15 A4 JSR.W CODE_0DA415 ; Call local routine Return0DA414: 6B RTL ; Return CODE_0DA415: E2 30 SEP #$30 ; Who made Super Waste-my-processor's-time World... was it you? CODE_0DA417: AD 31 19 LDA.W $1931 ;\ CODE_0DA41A: 22 FA 86 00 JSL.L ExecutePtrLong ;/ Run one of those codes depending on the tileset (are all objects tileset specific?) PtrsLong0DA41E: 4B A4 0D .dw CODE_0DA44B .db :$CODE_0DA44B ; Normal 1 PtrsLong0DA421: 90 C1 0D .dw CODE_0DC190 .db :$CODE_0DC190 ; Castle 1 PtrsLong0DA424: 90 CD 0D .dw CODE_0DCD90 .db :$CODE_0DCD90 ; Rope 1 PtrsLong0DA427: 90 D9 0D .dw CODE_0DD990 .db :$CODE_0DD990 ; Underground 1 PtrsLong0DA42A: 90 E8 0D .dw CODE_0DE890 .db :$CODE_0DE890 ; Switch Palace 1 PtrsLong0DA42D: 90 E8 0D .dw CODE_0DE890 .db :$CODE_0DE890 ; Ghost House 1 PtrsLong0DA430: 90 CD 0D .dw CODE_0DCD90 .db :$CODE_0DCD90 ; Rope 2 PtrsLong0DA433: 4B A4 0D .dw CODE_0DA44B .db :$CODE_0DA44B ; Normal 2 PtrsLong0DA436: 90 CD 0D .dw CODE_0DCD90 .db :$CODE_0DCD90 ; Rope 3 PtrsLong0DA439: 90 D9 0D .dw CODE_0DD990 .db :$CODE_0DD990 ; Underground 2 PtrsLong0DA43C: 90 D9 0D .dw CODE_0DD990 .db :$CODE_0DD990 ; Switch Palace 2 PtrsLong0DA43F: 90 D9 0D .dw CODE_0DD990 .db :$CODE_0DD990 ; Castle 2 PtrsLong0DA442: 4B A4 0D .dw CODE_0DA44B .db :$CODE_0DA44B ; Cloud/Forest PtrsLong0DA445: 90 E8 0D .dw CODE_0DE890 .db :$CODE_0DE890 ; Ghost House 2 PtrsLong0DA448: 90 D9 0D .dw CODE_0DD990 .db :$CODE_0DD990 ; Underground 3 ; Tileset F (only accessible through hex editors/etc) is obviously a fatal error. ; This calls the correct code for the object if the tileset is T:0 in LM (normal or cloud/forest) CODE_0DA44B: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0DA44D: A6 5A LDX $5A ; Load object number CODE_0DA44F: CA DEX ; We'll never see object number 0, so change the index to it won't clutter the table CODE_0DA450: 8A TXA ;\ CODE_0DA451: 22 FA 86 00 JSL.L ExecutePtrLong ;/ and call the correct subroutine PtrsLong0DA455: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Water (Blue) PtrsLong0DA458: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible coin blocks PtrsLong0DA45B: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible note blocks PtrsLong0DA45E: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible POW coins PtrsLong0DA461: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Coins PtrsLong0DA464: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Walk-through dirt PtrsLong0DA467: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Water (Other color) PtrsLong0DA46A: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Note blocks PtrsLong0DA46D: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Turn blocks PtrsLong0DA470: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Coin ? blocks PtrsLong0DA473: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Throw blocks PtrsLong0DA476: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Black piranha plants PtrsLong0DA479: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Cement blocks PtrsLong0DA47C: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Brown blocks PtrsLong0DA47F: 26 AA 0D .dw CODE_0DAA26 .db :$CODE_0DAA26 ; Vertical pipes PtrsLong0DA482: B4 AA 0D .dw CODE_0DAAB4 .db :$CODE_0DAAB4 ; Horizontal pipes PtrsLong0DA485: 0D AB 0D .dw CODE_0DAB0D .db :$CODE_0DAB0D ; Bullet shooter PtrsLong0DA488: 3E AB 0D .dw CODE_0DAB3E .db :$CODE_0DAB3E ; Slopes PtrsLong0DA48B: 75 B0 0D .dw CODE_0DB075 .db :$CODE_0DB075 ; Ledge edges PtrsLong0DA48E: D4 B1 0D .dw CODE_0DB1D4 .db :$CODE_0DB1D4 ; Ground ledge PtrsLong0DA491: 24 B2 0D .dw CODE_0DB224 .db :$CODE_0DB224 ; Midway/Goal point PtrsLong0DA494: 36 B3 0D .dw ADDR_0DB336 .db :$ADDR_0DB336 ; Blue coins PtrsLong0DA497: BD B3 0D .dw CODE_0DB3BD .db :$CODE_0DB3BD ; Rope/Clouds PtrsLong0DA49A: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Water surface (ani) PtrsLong0DA49D: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Water surface (not ani) PtrsLong0DA4A0: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Lava surface (ani) PtrsLong0DA4A3: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Net top edge PtrsLong0DA4A6: 2D B4 0D .dw CODE_0DB42D .db :$CODE_0DB42D ; Donut bridge PtrsLong0DA4A9: 61 B4 0D .dw CODE_0DB461 .db :$CODE_0DB461 ; Net bottom edge PtrsLong0DA4AC: 9E B4 0D .dw CODE_0DB49E .db :$CODE_0DB49E ; Net vertical edge PtrsLong0DA4AF: 1F B5 0D .dw CODE_0DB51F .db :$CODE_0DB51F ; Vert. Pipe/Bone/Log PtrsLong0DA4B2: 47 B5 0D .dw CODE_0DB547 .db :$CODE_0DB547 ; Horiz. Pipe/Bone/Log PtrsLong0DA4B5: C8 B1 0D .dw CODE_0DB1C8 .db :$CODE_0DB1C8 ; Long ground ledge PtrsLong0DA4B8: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;\ PtrsLong0DA4BB: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DA4BE: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DA4C1: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DA4C4: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DA4C7: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DA4CA: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DA4CD: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | Unused (LM will declare these to be "reserved" and won't let you use them) PtrsLong0DA4D0: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DA4D3: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DA4D6: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DA4D9: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;/ PtrsLong0DA4DC: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;\ PtrsLong0DA4DF: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;/ These could've been tileset specific, but Nintendo didn't have that many ideas for them. PtrsLong0DA4E2: 2C BB 0D .dw CODE_0DBB2C .db :$CODE_0DBB2C ; Ice blue vertical pipe PtrsLong0DA4E5: 63 BB 0D .dw CODE_0DBB63 .db :$CODE_0DBB63 ; Ice blue turn tiles PtrsLong0DA4E8: 16 B9 0D .dw CODE_0DB916 .db :$CODE_0DB916 ; Blue switch blocks PtrsLong0DA4EB: DC BA 0D .dw CODE_0DBADC .db :$CODE_0DBADC ; Forest tree top PtrsLong0DA4EE: 4C BA 0D .dw CODE_0DBA4C .db :$CODE_0DBA4C ; Solid left/right and top edge (forest) PtrsLong0DA4F1: 0A BA 0D .dw CODE_0DBA0A .db :$CODE_0DBA0A ; Ledge (forest) PtrsLong0DA4F4: C0 B9 0D .dw CODE_0DB9C0 .db :$CODE_0DB9C0 ; Large tree trunk (forest) PtrsLong0DA4F7: 66 B9 0D .dw CODE_0DB966 .db :$CODE_0DB966 ; Small tree trunk (forest) PtrsLong0DA4FA: 1E B9 0D .dw CODE_0DB91E .db :$CODE_0DB91E ; Red switch blocks PtrsLong0DA4FD: 3F B7 0D .dw CODE_0DB73F .db :$CODE_0DB73F ; Right facing diagonal pipe PtrsLong0DA500: AA B7 0D .dw CODE_0DB7AA .db :$CODE_0DB7AA ; Left facing diagonal ledge PtrsLong0DA503: 63 B8 0D .dw CODE_0DB863 .db :$CODE_0DB863 ; Right facing diagonal ledge PtrsLong0DA506: 04 B6 0D .dw CODE_0DB604 .db :$CODE_0DB604 ; Arch ledge PtrsLong0DA509: C3 B6 0D .dw CODE_0DB6C3 .db :$CODE_0DB6C3 ; Top cloud fringe PtrsLong0DA50C: 05 B7 0D .dw ADDR_0DB705 .db :$ADDR_0DB705 ; Left/right cloud fringe PtrsLong0DA50F: B7 B5 0D .dw CODE_0DB5B7 .db :$CODE_0DB5B7 ; Bushes 1 through 5 ;This is the screen exit routine. CODE_0DA512: A0 00 LDY.B #$00 ;\ Waste some time (you don't need to index an LDA [$00], morons) CODE_0DA514: B7 65 LDA [$65],Y ; |\ CODE_0DA516: 85 5A STA $5A ; |/ Get destination screen number, store in temporary address CODE_0DA518: C8 INY ; |\ CODE_0DA519: 98 TYA ; | | CODE_0DA51A: 18 CLC ; | | It's called INC $65 CODE_0DA51B: 65 65 ADC $65 ; | | CODE_0DA51D: 85 65 STA $65 ; |/ CODE_0DA51F: A5 66 LDA $66 ; | CODE_0DA521: 69 00 ADC.B #$00 ; | This big code increments the level data pointer (but why not simply REP #$20 INC $65 SEP #$20?) CODE_0DA523: 85 66 STA $66 ;/ CODE_0DA525: A5 0A LDA $0A ;\ CODE_0DA527: 29 1F AND.B #$1F ; | Get screen number to X CODE_0DA529: AA TAX ;/ CODE_0DA52A: A5 5A LDA $5A ;\ CODE_0DA52C: 9D B8 19 STA.W $19B8,X ;/ Store data from temporary variable in table (why not store directly to here? Morons...) CODE_0DA52F: A5 0B LDA $0B ;\ CODE_0DA531: 29 01 AND.B #$01 ; | Waste some MORE time, and also some RAM this time, this table isn't used ANYWHERE else than in this routine CODE_0DA533: 9D D8 19 STA.W $19D8,X ;/ CODE_0DA536: A5 0B LDA $0B ;\ CODE_0DA538: 4A LSR ; | Use Secondary Exits flag (finally something that makes sense) CODE_0DA539: 8D 93 1B STA.W $1B93 ;/ Return0DA53C: 60 RTS ; Return ;Compressed version of the above routine: ;LDA $0A : AND #$1F : TAX : LDA [$65] : STA $19B8,x : REP #$20 : INC $65 : SEP #$20 : LDA $0B : STA $1B93 : RTS ;This is the screen jump routine. It's so short that I fail to see any reason to add any more comments to it (except to flame the coders). CODE_0DA53D: A5 0A LDA $0A CODE_0DA53F: 29 1F AND.B #$1F ; The block number already is 0, morons CODE_0DA541: 8D 28 19 STA.W $1928 CODE_0DA544: 8D A1 1B STA.W $1BA1 ; Why two screen number flags? Even MORE moronic time wasting? Return0DA547: 60 RTS ; Return ;This code handles many single-tile objects. DATA_0DA548: .db $1F,$22,$24,$42,$43,$27,$29,$25 DATA_0DA550: .db $6E,$6F,$70,$71,$72,$45,$46,$47 DATA_0DA558: .db $48,$36,$37,$11,$12,$14,$15,$16 DATA_0DA560: .db $17,$18,$19,$1A,$1B,$1C,$29,$1D DATA_0DA568: .db $1F,$20,$21,$22,$23,$25,$26,$27 DATA_0DA570: .db $28,$2A,$DE,$E0,$E2,$E4,$EC,$ED DATA_0DA578: .db $2C,$25,$2D CODE_0DA57B: 8A TXA ;\ CODE_0DA57C: 38 SEC ; | CODE_0DA57D: E9 10 SBC.B #$10 ; | "Fix" object number CODE_0DA57F: 85 00 STA $00 ;/ CODE_0DA581: E0 18 CPX.B #$18 ;\ CODE_0DA583: 90 2C BCC CODE_0DA5B1 ; | CODE_0DA585: E0 1D CPX.B #$1D ; | Some objects have special behavior. This goes elsewhere with the "normal" ones. CODE_0DA587: B0 28 BCS CODE_0DA5B1 ;/ CODE_0DA589: AD BF 13 LDA.W $13BF ;\ CODE_0DA58C: 4A LSR ; | CODE_0DA58D: 4A LSR ; | CODE_0DA58E: 4A LSR ; | CODE_0DA58F: A8 TAY ; | Get level number to some index tables CODE_0DA590: AD BF 13 LDA.W $13BF ; | CODE_0DA593: 29 07 AND.B #$07 ; | CODE_0DA595: AA TAX ;/ CODE_0DA596: A5 00 LDA $00 ;\ CODE_0DA598: C9 08 CMP.B #$08 ; | The invisible 1up tiles doesn't use this code CODE_0DA59A: D0 0B BNE CODE_0DA5A7 ;/ CODE_0DA59C: B9 EE 1F LDA.W $1FEE,Y ;\ CODE_0DA59F: 3F A6 A8 0D AND.L DATA_0DA8A6,X ; | Check the flag for whether the moon has been taken in this level CODE_0DA5A3: F0 0C BEQ CODE_0DA5B1 ;/ CODE_0DA5A5: 80 09 BRA Return0DA5B0 ; Why not use RTS? CODE_0DA5A7: B9 3C 1F LDA.W $1F3C,Y ;\ CODE_0DA5AA: 3F A6 A8 0D AND.L DATA_0DA8A6,X ; | Check the flag for whether the invisible 1up has been taken in this level CODE_0DA5AE: F0 01 BEQ CODE_0DA5B1 ;/ Return0DA5B0: 60 RTS ; Return CODE_0DA5B1: A4 57 LDY $57 ; Position of the block CODE_0DA5B3: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DA5B6: A6 00 LDX $00 ; | CODE_0DA5B8: E0 13 CPX.B #$13 ; | Check and set which map16 page it uses CODE_0DA5BA: 30 03 BMI CODE_0DA5BF ; | CODE_0DA5BC: 20 08 AA JSR.W Sta1To6ePointer ;/ CODE_0DA5BF: BF 48 A5 0D LDA.L DATA_0DA548,X ; Get object number CODE_0DA5C3: 85 0C STA $0C ; Save it for later use CODE_0DA5C5: E0 01 CPX.B #$01 ;\ CODE_0DA5C7: F0 27 BEQ CODE_0DA5F0 ; | CODE_0DA5C9: E0 07 CPX.B #$07 ; | CODE_0DA5CB: F0 23 BEQ CODE_0DA5F0 ; | CODE_0DA5CD: E0 32 CPX.B #$32 ; | Check whether the object cares about item memory CODE_0DA5CF: F0 1F BEQ CODE_0DA5F0 ; | (invisible 1up block, green star block, Yoshi block, and star2/vine/1up does) CODE_0DA5D1: E0 26 CPX.B #$26 ; | CODE_0DA5D3: F0 1B BEQ CODE_0DA5F0 ; | CODE_0DA5D5: E0 1B CPX.B #$1B ; | CODE_0DA5D7: D0 6F BNE CODE_0DA648 ;/ CODE_0DA5D9: 98 TYA ;\ CODE_0DA5DA: 29 0F AND.B #$0F ; | CODE_0DA5DC: C9 01 CMP.B #$01 ; | CODE_0DA5DE: F0 10 BEQ CODE_0DA5F0 ; | CODE_0DA5E0: C9 04 CMP.B #$04 ; | CODE_0DA5E2: F0 0C BEQ CODE_0DA5F0 ; | Object 2B (vine/star2/1up mushroom) only cares about item memory on certain X positions CODE_0DA5E4: C9 07 CMP.B #$07 ; | CODE_0DA5E6: F0 08 BEQ CODE_0DA5F0 ; | CODE_0DA5E8: C9 0A CMP.B #$0A ; | CODE_0DA5EA: F0 04 BEQ CODE_0DA5F0 ; | CODE_0DA5EC: C9 0D CMP.B #$0D ; | CODE_0DA5EE: D0 58 BNE CODE_0DA648 ;/ CODE_0DA5F0: 8A TXA ;\ \ CODE_0DA5F1: 48 PHA ; | | CODE_0DA5F2: 98 TYA ; | | Preserve X and Y (why not PHX PHY?) CODE_0DA5F3: 48 PHA ; |/ CODE_0DA5F4: AE BE 13 LDX.W $13BE ; | This big code checks the item memory settings flag for the current object, and makes it add a brown used block if it has already been hit. CODE_0DA5F7: A9 F8 LDA.B #$F8 ; |\ CODE_0DA5F9: 18 CLC ; | | CODE_0DA5FA: 7F AE A8 0D ADC.L DATA_0DA8AE,X ; | | Low byte of pointer to item memory table CODE_0DA5FE: 85 08 STA $08 ; |/ CODE_0DA600: A9 19 LDA.B #$19 ; |\ CODE_0DA602: 7F B1 A8 0D ADC.L DATA_0DA8B1,X ; | | High byte of pointer CODE_0DA606: 85 09 STA $09 ; |/ CODE_0DA608: AD A1 1B LDA.W $1BA1 ; |\ CODE_0DA60B: 0A ASL ; | | CODE_0DA60C: 0A ASL ; | | Set screen number in index CODE_0DA60D: 85 0E STA $0E ; |/ CODE_0DA60F: A5 0A LDA $0A ; |\ CODE_0DA611: 29 10 AND.B #$10 ; | | CODE_0DA613: F0 06 BEQ CODE_0DA61B ; | | CODE_0DA615: A5 0E LDA $0E ; | | Set high Y byte in index CODE_0DA617: 09 02 ORA.B #$02 ; | | CODE_0DA619: 85 0E STA $0E ; |/ CODE_0DA61B: 98 TYA ; |\ CODE_0DA61C: 29 08 AND.B #$08 ; | | CODE_0DA61E: F0 06 BEQ CODE_0DA626 ; | | CODE_0DA620: A5 0E LDA $0E ; | | Set highest bit of X position in index CODE_0DA622: 09 01 ORA.B #$01 ; | | CODE_0DA624: 85 0E STA $0E ; |/ CODE_0DA626: A5 57 LDA $57 ; |\ CODE_0DA628: 29 07 AND.B #$07 ; | | Set another index to lowest three bits of X position CODE_0DA62A: AA TAX ; |/ CODE_0DA62B: A4 0E LDY $0E ; |\ CODE_0DA62D: B1 08 LDA ($08),Y ; | | CODE_0DA62F: 3F A6 A8 0D AND.L DATA_0DA8A6,X ; | | And load the bit we need CODE_0DA633: 85 0F STA $0F ; |/ CODE_0DA635: 68 PLA ; |\ CODE_0DA636: A8 TAY ; | | CODE_0DA637: 68 PLA ; | | Reload indexes CODE_0DA638: AA TAX ; |/ CODE_0DA639: A5 0F LDA $0F ; |\ CODE_0DA63B: F0 0B BEQ CODE_0DA648 ; |/ If bit is clear, do nothing CODE_0DA63D: E0 07 CPX.B #$07 ; |\ CODE_0DA63F: F0 0B BEQ Return0DA64C ; |/ If it's the green star block, don't generate used block...? This routine thinks that the green star block is 42, not 17 CODE_0DA641: 20 08 AA JSR.W Sta1To6ePointer ; |\ CODE_0DA644: A9 32 LDA.B #$32 ; | | Make it generate the used block CODE_0DA646: 85 0C STA $0C ;/ / CODE_0DA648: A5 0C LDA $0C ;\ CODE_0DA64A: 97 6B STA [$6B],Y ;/ Generate the tile it should generate Return0DA64C: 60 RTS ; Return ;This tiny code generates the green star block. CODE_0DA64D: A9 32 LDA.B #$32 ; Make the above routine think we're trying to generate object 42 CODE_0DA64F: 4C 7F A5 JMP.W CODE_0DA57F ; and go to the middle of the Fix Object Number code ;This is the code for the small slopes (no idea what they're good for). DATA_0DA652: .db $D8,$DB ; The leftmost blocks DATA_0DA654: .db $DA,$DC ; The rightmost blocks ADDR_0DA656: A4 57 LDY $57 ; Position of the block ADDR_0DA658: 8A TXA ;\ ADDR_0DA659: 38 SEC ; | ADDR_0DA65A: E9 42 SBC.B #$42 ; | Subtract $42 from object number (GAH CHANGE THE 0DA652/ETC INSTEAD, TIMEWASTERS) ADDR_0DA65C: AA TAX ;/ ADDR_0DA65D: 20 08 AA JSR.W Sta1To6ePointer ;\ GOD why not expand that inline? You're saving ONLY ONE BYTE! ADDR_0DA660: BF 52 A6 0D LDA.L DATA_0DA652,X ; | Add left block and update pointer ADDR_0DA664: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DA667: BF 54 A6 0D LDA.L DATA_0DA654,X ;\ ADDR_0DA66B: 97 6B STA [$6B],Y ; | Add right block (no need to update the pointer this time) ADDR_0DA66D: 20 08 AA JSR.W Sta1To6ePointer ;/ Return0DA670: 60 RTS ; Return ;This is the code for the triangles. DATA_0DA671: .db $B4,$B5 ; Top tiles CODE_0DA673: A4 57 LDY $57 ; Position of the block CODE_0DA675: 8A TXA ;\ CODE_0DA676: 38 SEC ; | CODE_0DA677: E9 44 SBC.B #$44 ; | Not another object number subtraction... CODE_0DA679: AA TAX ;/ CODE_0DA67A: BF 71 A6 0D LDA.L DATA_0DA671,X ;\ CODE_0DA67E: 97 6B STA [$6B],Y ;/ Set top tile CODE_0DA680: 20 08 AA JSR.W Sta1To6ePointer ; Not that one again... CODE_0DA683: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer/index downwards CODE_0DA686: A9 EB LDA.B #$EB ;\ CODE_0DA688: 97 6B STA [$6B],Y ; | Set bottom tile CODE_0DA68A: 20 08 AA JSR.W Sta1To6ePointer ;/ Return0DA68D: 60 RTS ; Return ;This is the code for the midway point. CODE_0DA68E: AE BF 13 LDX.W $13BF ;\ CODE_0DA691: BF A2 1E 00 LDA.L $001EA2,X ; | (Offtopic: Why use 24bit addressing? Morons...) CODE_0DA695: 29 40 AND.B #$40 ; | Check midway flag from table CODE_0DA697: D0 17 BNE Return0DA6B0 ;/ CODE_0DA699: AD CE 13 LDA.W $13CE ;\ CODE_0DA69C: D0 12 BNE Return0DA6B0 ;/ Check another midway flag CODE_0DA69E: A4 57 LDY $57 ; Position again CODE_0DA6A0: 88 DEY ; Odd... why is the left tile to the left of the actual object? CODE_0DA6A1: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ (Offtopic: Not ANOTHER four byte routine...) CODE_0DA6A4: A9 35 LDA.B #$35 ; | Set the left tile CODE_0DA6A6: 20 5B A9 JSR.W CODE_0DA95B ;/ (Offtopic: There's no way that this code will work around screen boundaries.) CODE_0DA6A9: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DA6AC: A9 38 LDA.B #$38 ; | Set right tile CODE_0DA6AE: 97 6B STA [$6B],Y ;/ Return0DA6B0: 60 RTS ; Return ;Preserve data pointer CODE_0DA6B1: A5 6B LDA $6B CODE_0DA6B3: 85 04 STA $04 CODE_0DA6B5: A5 6C LDA $6C CODE_0DA6B7: 85 05 STA $05 Return0DA6B9: 60 RTS ; Return ;Reload data pointer CODE_0DA6BA: A5 04 LDA $04 CODE_0DA6BC: 85 6B STA $6B CODE_0DA6BE: 85 6E STA $6E CODE_0DA6C0: A5 05 LDA $05 CODE_0DA6C2: 85 6C STA $6C CODE_0DA6C4: 85 6F STA $6F CODE_0DA6C6: AD 28 19 LDA.W $1928 CODE_0DA6C9: 8D A1 1B STA.W $1BA1 Return0DA6CC: 60 RTS ; Return ;This is the code for the two-tiles-high tile doors (and the unused $98-$FF, which will generate garbage) DATA_0DA6CD: .db $1F,$27 ; Top tiles DATA_0DA6CF: .db $20,$28 ; Bottom tiles CODE_0DA6D1: A4 57 LDY $57 ; Position again CODE_0DA6D3: 8A TXA ;\ CODE_0DA6D4: 38 SEC ; | CODE_0DA6D5: E9 47 SBC.B #$47 ; | Load object type CODE_0DA6D7: AA TAX ;/ CODE_0DA6D8: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DA6DB: BF CD A6 0D LDA.L DATA_0DA6CD,X ; | Set top tile CODE_0DA6DF: 97 6B STA [$6B],Y ;/ CODE_0DA6E1: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DA6E4: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DA6E7: BF CF A6 0D LDA.L DATA_0DA6CF,X ; | Set bottom tile CODE_0DA6EB: 97 6B STA [$6B],Y ;/ Return0DA6ED: 60 RTS ; Return ;This is the code for the big bush. ;I know that this table uses nine bytes/row instead of eight, but it's much more readable that way. DATA_0DA6EE: .db $25,$25,$25,$4B,$4D,$4E,$25,$25,$25 DATA_0DA6F7: .db $25,$25,$54,$49,$49,$5F,$63,$25,$25 DATA_0DA700: .db $25,$25,$57,$49,$49,$52,$4A,$5D,$25 DATA_0DA709: .db $25,$5A,$49,$49,$50,$51,$4A,$60,$25 DATA_0DA712: .db $5A,$49,$49,$49,$53,$4A,$4A,$4A,$63 CODE_0DA71B: A4 57 LDY $57 ; Position CODE_0DA71D: A9 08 LDA.B #$08 ; Width CODE_0DA71F: 85 00 STA $00 CODE_0DA721: A9 04 LDA.B #$04 ; Height CODE_0DA723: 85 01 STA $01 CODE_0DA725: A2 00 LDX.B #$00 ; Block we're at CODE_0DA727: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve the pointer CODE_0DA72A: A5 00 LDA $00 ;\ CODE_0DA72C: 85 02 STA $02 ;/ Reload number of blocks in a row CODE_0DA72E: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DA731: BF EE A6 0D LDA.L DATA_0DA6EE,X ; | CODE_0DA735: 20 8D A7 JSR.W CODE_0DA78D ; | Add block and go to the next one CODE_0DA738: E8 INX ;/ CODE_0DA739: C6 02 DEC $02 ;\ CODE_0DA73B: 10 F1 BPL CODE_0DA72E ;/ Check for end of the line CODE_0DA73D: 20 BA A6 JSR.W CODE_0DA6BA ;\ CODE_0DA740: 20 7D A9 JSR.W CODE_0DA97D ;/ Reload pointer and move it downwards CODE_0DA743: C6 01 DEC $01 ;\ CODE_0DA745: 10 E3 BPL CODE_0DA72A ;/ Check for end of the bush Return0DA747: 60 RTS ; Return ;This is the code for the small bush. ;(yes, weird table width again) DATA_0DA748: .db $25,$25,$4B,$4C,$25,$25 DATA_0DA74E: .db $25,$54,$49,$5F,$63,$25 DATA_0DA754: .db $25,$57,$49,$52,$4A,$5D DATA_0DA75A: .db $5A,$49,$49,$49,$4F,$60 CODE_0DA760: A4 57 LDY $57 ; Position CODE_0DA762: A9 05 LDA.B #$05 ; Width CODE_0DA764: 85 00 STA $00 CODE_0DA766: A9 03 LDA.B #$03 ; Height CODE_0DA768: 85 01 STA $01 CODE_0DA76A: A2 00 LDX.B #$00 ; Block we're at CODE_0DA76C: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve the pointer CODE_0DA76F: A5 00 LDA $00 ;\ CODE_0DA771: 85 02 STA $02 ;/ Reload number of blocks in a row CODE_0DA773: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DA776: BF 48 A7 0D LDA.L DATA_0DA748,X ; | CODE_0DA77A: 20 8D A7 JSR.W CODE_0DA78D ; | Add block and go to the next one CODE_0DA77D: E8 INX ;/ CODE_0DA77E: C6 02 DEC $02 ;\ CODE_0DA780: 10 F1 BPL CODE_0DA773 ;/ Check for end of the line CODE_0DA782: 20 BA A6 JSR.W CODE_0DA6BA ;\ CODE_0DA785: 20 7D A9 JSR.W CODE_0DA97D ;/ Reload pointer and move it downwards CODE_0DA788: C6 01 DEC $01 ;\ CODE_0DA78A: 10 E3 BPL CODE_0DA76F ;/ Check for end of the bush Return0DA78C: 60 RTS ; Return ;This code adds a tile for the bush. CODE_0DA78D: 85 0F STA $0F ; Preserve block to be written CODE_0DA78F: C9 25 CMP.B #$25 ;\ CODE_0DA791: D0 03 BNE CODE_0DA796 ; | If trying to write a blank tile, update the pointer without adding the block CODE_0DA793: 4C 5D A9 JMP.W CODE_0DA95D ;/ CODE_0DA796: C9 49 CMP.B #$49 ;\ CODE_0DA798: 90 12 BCC CODE_0DA7AC ; | CODE_0DA79A: C9 54 CMP.B #$54 ; | Don't change the single-color ones CODE_0DA79C: 90 0E BCC CODE_0DA7AC ;/ CODE_0DA79E: B7 6B LDA [$6B],Y ; Check what's about to be overwritten CODE_0DA7A0: C9 25 CMP.B #$25 ;\ CODE_0DA7A2: F0 08 BEQ CODE_0DA7AC ;/ If it's the blank one, don't CODE_0DA7A4: C9 49 CMP.B #$49 ;\ CODE_0DA7A6: F0 02 BEQ CODE_0DA7AA ;/ Tile 0x49 is the only "bright" one ADDR_0DA7A8: E6 0F INC $0F ;\ CODE_0DA7AA: E6 0F INC $0F ;/ Increase the value with a correct amount CODE_0DA7AC: A5 0F LDA $0F ;\ CODE_0DA7AE: 4C 5B A9 JMP.W CODE_0DA95B ;/ Load block number and add it ;This is the code for the net door. ;(yes I'm stubborn with that table width thingy) DATA_0DA7B1: .db $10,$11,$11,$12 DATA_0DA7B5: .db $13,$0B,$0B,$15 DATA_0DA7B9: .db $13,$0B,$0B,$15 DATA_0DA7BD: .db $16,$17,$17,$18 CODE_0DA7C1: A4 57 LDY $57 ; Position again... yawn CODE_0DA7C3: A2 00 LDX.B #$00 CODE_0DA7C5: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DA7C8: A9 03 LDA.B #$03 ; Number of lines CODE_0DA7CA: 85 02 STA $02 CODE_0DA7CC: BF B1 A7 0D LDA.L DATA_0DA7B1,X ;\ CODE_0DA7D0: 20 5B A9 JSR.W CODE_0DA95B ;/ Add block CODE_0DA7D3: E8 INX ;\ CODE_0DA7D4: C6 02 DEC $02 ; | Go to the next one CODE_0DA7D6: 10 F4 BPL CODE_0DA7CC ;/ CODE_0DA7D8: 20 BA A6 JSR.W CODE_0DA6BA ;\ CODE_0DA7DB: 20 7D A9 JSR.W CODE_0DA97D ;/ Reload and move pointer CODE_0DA7DE: E0 10 CPX.B #$10 ; Number of tiles CODE_0DA7E0: D0 E6 BNE CODE_0DA7C8 Return0DA7E2: 60 RTS ; Return ;Goal sign DATA_0DA7E3: .db $66,$67 DATA_0DA7E5: .db $68,$69 CODE_0DA7E7: A4 57 LDY $57 ; Position again... Nintendo should've added this in ExecutePtrLong instead CODE_0DA7E9: A2 00 LDX.B #$00 CODE_0DA7EB: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DA7EE: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DA7F1: BF E3 A7 0D LDA.L DATA_0DA7E3,X ; | Add block CODE_0DA7F5: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DA7F8: E8 INX ;\ CODE_0DA7F9: 8A TXA ;/ Move to the next one CODE_0DA7FA: 29 01 AND.B #$01 ; Width... almost CODE_0DA7FC: D0 F0 BNE CODE_0DA7EE CODE_0DA7FE: 20 BA A6 JSR.W CODE_0DA6BA ;\ CODE_0DA801: 20 7D A9 JSR.W CODE_0DA97D ;/ Reload and change pointer CODE_0DA804: E0 04 CPX.B #$04 ; Number of tiles CODE_0DA806: D0 E6 BNE CODE_0DA7EE Return0DA808: 60 RTS ; Return ;Steep vertical-level-compatible slopes DATA_0DA809: .db $AA,$AF ; Top tiles DATA_0DA80B: .db $E2,$E4 ; Bottom tiles CODE_0DA80D: A4 57 LDY $57 ; Posi... you know CODE_0DA80F: 8A TXA ;\ CODE_0DA810: 38 SEC ; | CODE_0DA811: E9 91 SBC.B #$91 ; | "Fix" object number CODE_0DA813: AA TAX ;/ CODE_0DA814: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DA817: BF 09 A8 0D LDA.L DATA_0DA809,X ; | Store top tile CODE_0DA81B: 97 6B STA [$6B],Y ;/ CODE_0DA81D: 20 2A A8 JSR.W CODE_0DA82A ; Update pointer CODE_0DA820: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DA823: BF 0B A8 0D LDA.L DATA_0DA80B,X ; | Store bottom tile CODE_0DA827: 97 6B STA [$6B],Y ;/ Return0DA829: 60 RTS ; Return ;This moves the pointer downwards without breaking in vertical level boundaries. CODE_0DA82A: A5 57 LDA $57 ;\ CODE_0DA82C: 18 CLC ; | CODE_0DA82D: 69 10 ADC.B #$10 ; | Update position CODE_0DA82F: 85 57 STA $57 ;/ CODE_0DA831: A8 TAY ;\ CODE_0DA832: 90 09 BCC Return0DA83D ;/ Check for boundary CODE_0DA834: A5 6C LDA $6C ;\ CODE_0DA836: 18 CLC ; | CODE_0DA837: 69 02 ADC.B #$02 ; | Update pointer if needed (they're smarter than I thought, they didn't touch $6B, but it's still called INC) CODE_0DA839: 85 6C STA $6C ; | CODE_0DA83B: 85 6F STA $6F ;/ Return0DA83D: 60 RTS ; Return ;Normal vertical-level-compatible slopes (will break at horizontal boundaries, though) DATA_0DA83E: .db $96,$A0 ; Top left tile DATA_0DA840: .db $9B,$A5 ; Top right tile DATA_0DA842: .db $DE,$E6 ; Bottom left tile DATA_0DA844: .db $E6,$E0 ; Bottom right tile CODE_0DA846: A4 57 LDY $57 ; Position

YAWN

CODE_0DA848: 8A TXA ;\ CODE_0DA849: 38 SEC ; | CODE_0DA84A: E9 93 SBC.B #$93 ; | "Fix" object number CODE_0DA84C: AA TAX ;/ CODE_0DA84D: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DA850: BF 3E A8 0D LDA.L DATA_0DA83E,X ; | Top left tile CODE_0DA854: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DA857: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DA85A: BF 40 A8 0D LDA.L DATA_0DA840,X ; | Top right tile CODE_0DA85E: 97 6B STA [$6B],Y ;/ CODE_0DA860: 20 2A A8 JSR.W CODE_0DA82A ; Update pointer CODE_0DA863: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DA866: BF 42 A8 0D LDA.L DATA_0DA842,X ; | Bottom left tile CODE_0DA86A: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DA86D: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DA870: BF 44 A8 0D LDA.L DATA_0DA844,X ; | Bottom right tile CODE_0DA874: 97 6B STA [$6B],Y ;/ Return0DA876: 60 RTS ; Return ;This is the code for the very steep slopes (vertical level compatible). DATA_0DA877: .db $CA,$CC ; Top tile DATA_0DA879: .db $CB,$CD ; Middle tile DATA_0DA87B: .db $F1,$F2 ; Bottom tile CODE_0DA87D: A4 57 LDY $57 ; Position CODE_0DA87F: 8A TXA ;\ CODE_0DA880: 38 SEC ; | CODE_0DA881: E9 95 SBC.B #$95 ; | "Fix" object number CODE_0DA883: AA TAX ;/ CODE_0DA884: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DA887: BF 77 A8 0D LDA.L DATA_0DA877,X ; | Add object CODE_0DA88B: 97 6B STA [$6B],Y ;/ CODE_0DA88D: 20 2A A8 JSR.W CODE_0DA82A ; Update pointer CODE_0DA890: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DA893: BF 79 A8 0D LDA.L DATA_0DA879,X ; | Add object CODE_0DA897: 97 6B STA [$6B],Y ;/ CODE_0DA899: 20 2A A8 JSR.W CODE_0DA82A ; Update pointer CODE_0DA89C: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DA89F: BF 7B A8 0D LDA.L DATA_0DA87B,X ; | Add object CODE_0DA8A3: 97 6B STA [$6B],Y ;/ Return0DA8A5: 60 RTS ; Return DATA_0DA8A6: .db $80,$40,$20,$10,$08,$04,$02,$01 ; Useful table if you want tables of one bit/e.g. level instead of one byte/level, but why repeat it this much? ;This code handles many objects. DATA_0DA8AE: .db $00,$80,$00 ; Low bytes of offsets to sprite memory table DATA_0DA8B1: .db $00,$00,$01 ; High bytes of offsets to sprite memory table DATA_0DA8B4: .db $02,$21,$23,$2A,$2B,$3F,$03,$13 ; List of objects DATA_0DA8BC: .db $1E,$24,$2E,$2F,$30,$32,$65 CODE_0DA8C3: A4 57 LDY $57 ; Position CODE_0DA8C5: A5 59 LDA $59 ;\ CODE_0DA8C7: 29 0F AND.B #$0F ; | CODE_0DA8C9: 85 00 STA $00 ; | Extract width CODE_0DA8CB: 85 02 STA $02 ;/ CODE_0DA8CD: A5 59 LDA $59 ;\ CODE_0DA8CF: 4A LSR ; | CODE_0DA8D0: 4A LSR ; | CODE_0DA8D1: 4A LSR ; | Extract height CODE_0DA8D2: 4A LSR ; | CODE_0DA8D3: 85 01 STA $01 ;/ CODE_0DA8D5: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DA8D8: E0 04 CPX.B #$04 ;\ CODE_0DA8DA: D0 52 BNE CODE_0DA92E ;/ Only coins cares about sprite memory CODE_0DA8DC: 8A TXA ;\ \ CODE_0DA8DD: 48 PHA ; | | CODE_0DA8DE: 98 TYA ; | | Preserve X and Y (why not PHX PHY?) CODE_0DA8DF: 48 PHA ; |/ CODE_0DA8E0: AE BE 13 LDX.W $13BE ; | This big code checks the item memory settings flag for the current object, and makes it generate nothing if it has already been taken. You'll get some lulzy results if you build your level so that an area with a big bunch of coins can be reentered CODE_0DA8E3: A9 F8 LDA.B #$F8 ; |\ CODE_0DA8E5: 18 CLC ; | | CODE_0DA8E6: 7F AE A8 0D ADC.L DATA_0DA8AE,X ; | | Low byte of pointer to item memory table CODE_0DA8EA: 85 08 STA $08 ; |/ CODE_0DA8EC: A9 19 LDA.B #$19 ; |\ CODE_0DA8EE: 7F B1 A8 0D ADC.L DATA_0DA8B1,X ; | | High byte of pointer CODE_0DA8F2: 85 09 STA $09 ; |/ CODE_0DA8F4: AD A1 1B LDA.W $1BA1 ; |\ CODE_0DA8F7: 0A ASL ; | | CODE_0DA8F8: 0A ASL ; | | Set screen number in index CODE_0DA8F9: 85 0E STA $0E ; |/ CODE_0DA8FB: A5 0A LDA $0A ; |\ CODE_0DA8FD: 29 10 AND.B #$10 ; | | CODE_0DA8FF: F0 06 BEQ CODE_0DA907 ; | | CODE_0DA901: A5 0E LDA $0E ; | | Set high Y bit in index CODE_0DA903: 09 02 ORA.B #$02 ; | | CODE_0DA905: 85 0E STA $0E ; |/ CODE_0DA907: 98 TYA ; |\ CODE_0DA908: 29 08 AND.B #$08 ; | | CODE_0DA90A: F0 06 BEQ CODE_0DA912 ; | | CODE_0DA90C: A5 0E LDA $0E ; | | Set highest bit of X position in index CODE_0DA90E: 09 01 ORA.B #$01 ; | | CODE_0DA910: 85 0E STA $0E ; |/ CODE_0DA912: 98 TYA ; |\ CODE_0DA913: 29 07 AND.B #$07 ; | | Set another index to lowest three bits of X position CODE_0DA915: AA TAX ; |/ CODE_0DA916: A4 0E LDY $0E ; |\ CODE_0DA918: B1 08 LDA ($08),Y ; | | CODE_0DA91A: 3F A6 A8 0D AND.L DATA_0DA8A6,X ; | | And load the bit we need CODE_0DA91E: 85 0F STA $0F ; |/ CODE_0DA920: 68 PLA ; |\ CODE_0DA921: A8 TAY ; | | CODE_0DA922: 68 PLA ; | | Reload indexes CODE_0DA923: AA TAX ; |/ CODE_0DA924: A5 0F LDA $0F ; |\ CODE_0DA926: F0 06 BEQ CODE_0DA92E ; |/ If it hasn't been taken, run standard code CODE_0DA928: 20 5D A9 JSR.W CODE_0DA95D ; |\ CODE_0DA92B: 4C 43 A9 JMP.W CODE_0DA943 ;/ / If it has been taken, update pointer and move on CODE_0DA92E: BF B4 A8 0D LDA.L DATA_0DA8B4,X ;\ CODE_0DA932: 85 0C STA $0C ;/ Get object number CODE_0DA934: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DA937: E0 07 CPX.B #$07 ; | CODE_0DA939: 30 03 BMI CODE_0DA93E ; | Set map16 page CODE_0DA93B: 20 08 AA JSR.W Sta1To6ePointer ;/ CODE_0DA93E: A5 0C LDA $0C ;\ CODE_0DA940: 20 5B A9 JSR.W CODE_0DA95B ;/ Add tile CODE_0DA943: C6 02 DEC $02 ;\ CODE_0DA945: A5 02 LDA $02 ; | Check for end of the line CODE_0DA947: 10 8F BPL CODE_0DA8D8 ;/ CODE_0DA949: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DA94C: 20 7D A9 JSR.W CODE_0DA97D ;\ CODE_0DA94F: A5 00 LDA $00 ; | Go to next line CODE_0DA951: 85 02 STA $02 ;/ CODE_0DA953: C6 01 DEC $01 ;\ CODE_0DA955: 30 03 BMI Return0DA95A ; | Check for end of the object CODE_0DA957: 4C D8 A8 JMP.W CODE_0DA8D8 ;/ Return0DA95A: 60 RTS ; Return ;This is the code to add a tile and move the pointer/index one tile to the right. CODE_0DA95B: 97 6B STA [$6B],Y ; Add block CODE_0DA95D: C8 INY ; Increase index CODE_0DA95E: 98 TYA ;\ CODE_0DA95F: 29 0F AND.B #$0F ; | Check whether we hit a horizontal screen boundary CODE_0DA961: D0 19 BNE Return0DA97C ;/ CODE_0DA963: A5 6B LDA $6B ;\ CODE_0DA965: 18 CLC ; | CODE_0DA966: 69 B0 ADC.B #$B0 ; | CODE_0DA968: 85 6B STA $6B ; | CODE_0DA96A: 85 6E STA $6E ; | Increase pointer CODE_0DA96C: A5 6C LDA $6C ; | CODE_0DA96E: 69 01 ADC.B #$01 ; | CODE_0DA970: 85 6C STA $6C ; | CODE_0DA972: 85 6F STA $6F ;/ CODE_0DA974: EE A1 1B INC.W $1BA1 ; Increase screen number CODE_0DA977: A5 57 LDA $57 ;\ CODE_0DA979: 29 F0 AND.B #$F0 ; | Load new index CODE_0DA97B: A8 TAY ;/ Return0DA97C: 60 RTS ; Return ;This is the code to move the pointer down one tile from the starting position. CODE_0DA97D: A5 57 LDA $57 ;\ CODE_0DA97F: 18 CLC ; | CODE_0DA980: 69 10 ADC.B #$10 ; | Increase pointer CODE_0DA982: 85 57 STA $57 ;/ CODE_0DA984: A8 TAY ;\ CODE_0DA985: 90 0A BCC Return0DA991 ;/ Check for screen boundaries CODE_0DA987: A5 6C LDA $6C ;\ CODE_0DA989: 69 00 ADC.B #$00 ; | CODE_0DA98B: 85 6C STA $6C ; | Update pointer CODE_0DA98D: 85 6F STA $6F ;/ CODE_0DA98F: 85 05 STA $05 ; Update preserved pointer Return0DA991: 60 RTS ; Return ;Move pointer down and left CODE_0DA992: A5 57 LDA $57 ;\ CODE_0DA994: 18 CLC ; | CODE_0DA995: 69 0F ADC.B #$0F ; | Move index a bit CODE_0DA997: A8 TAY ;/ CODE_0DA998: 90 03 BCC CODE_0DA99D ; Check if we hit a horizontal subscreen boundary ADDR_0DA99A: 20 87 A9 JSR.W CODE_0DA987 ; Move pointer down if needed CODE_0DA99D: 98 TYA ;\ CODE_0DA99E: 29 0F AND.B #$0F ; | CODE_0DA9A0: C9 0F CMP.B #$0F ; | Check if we hit a vertical subscreen boundary CODE_0DA9A2: D0 0D BNE CODE_0DA9B1 ;/ CODE_0DA9A4: 98 TYA ;\ CODE_0DA9A5: 18 CLC ; | CODE_0DA9A6: 69 10 ADC.B #$10 ; | Move index down CODE_0DA9A8: A8 TAY ;/ CODE_0DA9A9: 90 03 BCC CODE_0DA9AE ;\ ADDR_0DA9AB: 20 87 A9 JSR.W CODE_0DA987 ;/ Move pointer down if needed CODE_0DA9AE: 20 D6 A9 JSR.W CODE_0DA9D6 ; Move pointer leftwards CODE_0DA9B1: 84 57 STY $57 ; Save index Return0DA9B3: 60 RTS ; Return ;Move pointer down and right CODE_0DA9B4: A5 57 LDA $57 ;\ CODE_0DA9B6: 18 CLC ; | CODE_0DA9B7: 69 11 ADC.B #$11 ; | Move index a bit CODE_0DA9B9: A8 TAY ;/ CODE_0DA9BA: 90 03 BCC CODE_0DA9BF ; Check if we hit a horizontal subscreen boundary ADDR_0DA9BC: 20 87 A9 JSR.W CODE_0DA987 ; Move pointer down if needed CODE_0DA9BF: 98 TYA ;\ CODE_0DA9C0: 29 0F AND.B #$0F ; | CODE_0DA9C2: C9 01 CMP.B #$01 ; | Check if we hit a vertical subscreen boundary CODE_0DA9C4: 10 0D BPL CODE_0DA9D3 ;/ CODE_0DA9C6: 98 TYA ;\ CODE_0DA9C7: 38 SEC ; | CODE_0DA9C8: E9 10 SBC.B #$10 ; | Move index back up CODE_0DA9CA: A8 TAY ;/ CODE_0DA9CB: B0 03 BCS CODE_0DA9D0 ;\ ADDR_0DA9CD: 20 87 A9 JSR.W CODE_0DA987 ;/ Update preserved pointer? Waste of time since $0DA9EF does this anyways. CODE_0DA9D0: 20 EF A9 JSR.W CODE_0DA9EF ; Move pointer rightwards CODE_0DA9D3: 84 57 STY $57 ; Save index Return0DA9D5: 60 RTS ; Return ;This code goes back one screen. Also updates preserved pointer. CODE_0DA9D6: A5 6B LDA $6B CODE_0DA9D8: 38 SEC CODE_0DA9D9: E9 B0 SBC.B #$B0 CODE_0DA9DB: 85 6B STA $6B CODE_0DA9DD: 85 6E STA $6E CODE_0DA9DF: 85 04 STA $04 CODE_0DA9E1: A5 6C LDA $6C CODE_0DA9E3: E9 01 SBC.B #$01 CODE_0DA9E5: 85 6C STA $6C CODE_0DA9E7: 85 6F STA $6F CODE_0DA9E9: 85 05 STA $05 CODE_0DA9EB: CE A1 1B DEC.W $1BA1 Return0DA9EE: 60 RTS ; Return ;This code goes forwards one screen. Also updates preserved pointer. CODE_0DA9EF: A5 6B LDA $6B CODE_0DA9F1: 18 CLC CODE_0DA9F2: 69 B0 ADC.B #$B0 CODE_0DA9F4: 85 6B STA $6B CODE_0DA9F6: 85 6E STA $6E CODE_0DA9F8: 85 04 STA $04 CODE_0DA9FA: A5 6C LDA $6C CODE_0DA9FC: 69 01 ADC.B #$01 CODE_0DA9FE: 85 6C STA $6C CODE_0DAA00: 85 6F STA $6F CODE_0DAA02: 85 05 STA $05 CODE_0DAA04: EE A1 1B INC.W $1BA1 Return0DAA07: 60 RTS ; Return ;This one sets the map16 page for the current object to #01. Sta1To6ePointer: A9 01 LDA.B #$01 ; This one is FAR too short to put any comments on. CODE_0DAA0A: 97 6E STA [$6E],Y Return0DAA0C: 60 RTS ; Return ;This one sets the map16 page for the current object to #00. StzTo6ePointer0080E7:A9 00 LDA.B #$00 ; Why make routines that are this short? (Also, where did the 0080E7 come from?) CODE_0DAA0F: 97 6E STA [$6E],Y Return0DAA11: 60 RTS ; Return ;This is the code for the vertical pipes. DATA_0DAA12: .db $33,$37,$39,$00,$00 ; Top left tiles (the 00's are unused) DATA_0DAA17: .db $34,$38,$3A,$00,$00 ; Top right tiles (the 00's are unused) DATA_0DAA1C: .db $00,$00,$39,$33,$37 ; Bottom left tiles (the 00's are unused) DATA_0DAA21: .db $00,$00,$3A,$34,$38 ; Bottom right tiles (the 00's are unused) CODE_0DAA26: A4 57 LDY $57 ; Position CODE_0DAA28: A5 59 LDA $59 ;\ CODE_0DAA2A: 4A LSR ; | CODE_0DAA2B: 4A LSR ; | CODE_0DAA2C: 4A LSR ; | Extract height CODE_0DAA2D: 4A LSR ; | CODE_0DAA2E: 85 00 STA $00 ;/ CODE_0DAA30: A5 59 LDA $59 ;\ CODE_0DAA32: 29 0F AND.B #$0F ; | Extract type CODE_0DAA34: AA TAX ;/ CODE_0DAA35: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DAA38: E0 03 CPX.B #$03 ;\ CODE_0DAA3A: 10 16 BPL CODE_0DAA52 ;/ Don't add the left end for the ones that shouldn't have it (I think) CODE_0DAA3C: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAA3F: BF 12 AA 0D LDA.L DATA_0DAA12,X ; | Add left tile CODE_0DAA43: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAA46: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAA49: BF 17 AA 0D LDA.L DATA_0DAA17,X ; | Add right tile CODE_0DAA4D: 97 6B STA [$6B],Y ;/ CODE_0DAA4F: 4C 77 AA JMP.W CODE_0DAA77 CODE_0DAA52: E0 05 CPX.B #$05 ;\ CODE_0DAA54: D0 12 BNE CODE_0DAA68 ;/ Check for the endless vertical pipe CODE_0DAA56: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAA59: A9 68 LDA.B #$68 ; | Add left tile CODE_0DAA5B: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAA5E: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAA61: A9 69 LDA.B #$69 ; | Add right tile CODE_0DAA63: 97 6B STA [$6B],Y ;/ CODE_0DAA65: 4C 77 AA JMP.W CODE_0DAA77 CODE_0DAA68: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAA6B: A9 35 LDA.B #$35 ; | Left tile CODE_0DAA6D: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAA70: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAA73: A9 36 LDA.B #$36 ; | Right tile CODE_0DAA75: 97 6B STA [$6B],Y ;/ CODE_0DAA77: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DAA7A: 20 7D A9 JSR.W CODE_0DA97D ; Go to next row CODE_0DAA7D: E0 05 CPX.B #$05 ;\ CODE_0DAA7F: F0 04 BEQ CODE_0DAA85 ; | CODE_0DAA81: E0 02 CPX.B #$02 ; | Check if the object has a special bottom CODE_0DAA83: 10 07 BPL CODE_0DAA8C ;/ CODE_0DAA85: C6 00 DEC $00 ;\ CODE_0DAA87: 10 C9 BPL CODE_0DAA52 ; | Check for end of the object (also, it's called RTS, not JMP *insert address of an RTS*) CODE_0DAA89: 4C A3 AA JMP.W Return0DAAA3 ;/ CODE_0DAA8C: C6 00 DEC $00 ;\ CODE_0DAA8E: D0 D8 BNE CODE_0DAA68 ;/ Check if this is the last tile CODE_0DAA90: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAA93: BF 1C AA 0D LDA.L DATA_0DAA1C,X ; | Left tile CODE_0DAA97: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAA9A: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAA9D: BF 21 AA 0D LDA.L DATA_0DAA21,X ; | Right tile CODE_0DAAA1: 97 6B STA [$6B],Y ;/ Return0DAAA3: 60 RTS ; Return ;Horizontal pipes DATA_0DAAA4: .db $3B,$3C DATA_0DAAA6: .db $3B,$3F ; End tiles (top then bottom) DATA_0DAAA8: .db $3B,$3C DATA_0DAAAA: .db $3B,$3F DATA_0DAAAC: .db $3D,$3E DATA_0DAAAE: .db $3D,$3E ; Middle tiles (top then bottom) DATA_0DAAB0: .db $3D,$3E DATA_0DAAB2: .db $3D,$3E CODE_0DAAB4: A4 57 LDY $57 ; Position CODE_0DAAB6: A5 59 LDA $59 ;\ CODE_0DAAB8: 29 0F AND.B #$0F ; | CODE_0DAABA: 85 00 STA $00 ; | Extract size CODE_0DAABC: 85 01 STA $01 ;/ CODE_0DAABE: A5 59 LDA $59 ;\ CODE_0DAAC0: 29 F0 AND.B #$F0 ; | CODE_0DAAC2: 4A LSR ; | CODE_0DAAC3: 4A LSR ; | Extract type CODE_0DAAC4: 4A LSR ; | CODE_0DAAC5: AA TAX ;/ CODE_0DAAC6: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DAAC9: E0 04 CPX.B #$04 ;\ CODE_0DAACB: 10 0D BPL CODE_0DAADA ;/ Go to another part of the code if it's an end-on-right pipe CODE_0DAACD: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAAD0: BF A4 AA 0D LDA.L DATA_0DAAA4,X ; | Add ending tile CODE_0DAAD4: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAAD7: 4C E4 AA JMP.W CODE_0DAAE4 CODE_0DAADA: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAADD: BF AC AA 0D LDA.L DATA_0DAAAC,X ; | Add middle tiles CODE_0DAAE1: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAAE4: E0 04 CPX.B #$04 ;\ CODE_0DAAE6: 10 07 BPL CODE_0DAAEF ;/ Add end of end-on-right pipes CODE_0DAAE8: C6 01 DEC $01 ;\ CODE_0DAAEA: 10 EE BPL CODE_0DAADA ; | Check for end of line (also, it's called BRA, morons) CODE_0DAAEC: 4C FC AA JMP.W CODE_0DAAFC ;/ CODE_0DAAEF: C6 01 DEC $01 ;\ CODE_0DAAF1: D0 D6 BNE CODE_0DAAC9 ;/ Check for end of line CODE_0DAAF3: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAAF6: BF A4 AA 0D LDA.L DATA_0DAAA4,X ; | Add ending tile CODE_0DAAFA: 97 6B STA [$6B],Y ;/ CODE_0DAAFC: A5 00 LDA $00 ;\ CODE_0DAAFE: 85 01 STA $01 ;/ Reload size CODE_0DAB00: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DAB03: 20 7D A9 JSR.W CODE_0DA97D ;\ CODE_0DAB06: E8 INX ;/ Go to the next line CODE_0DAB07: 8A TXA ;\ CODE_0DAB08: 29 01 AND.B #$01 ; | Check for end of the block CODE_0DAB0A: D0 BD BNE CODE_0DAAC9 ;/ Return0DAB0C: 60 RTS ; Return ;Bullet shooter CODE_0DAB0D: A4 57 LDY $57 ; Position CODE_0DAB0F: A5 59 LDA $59 ;\ CODE_0DAB11: 4A LSR ; | CODE_0DAB12: 4A LSR ; | CODE_0DAB13: 4A LSR ; | Extract height (the width bits are obviously unused) CODE_0DAB14: 4A LSR ; | CODE_0DAB15: AA TAX ;/ CODE_0DAB16: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAB19: A9 41 LDA.B #$41 ; | Add top tile CODE_0DAB1B: 97 6B STA [$6B],Y ;/ CODE_0DAB1D: 20 7D A9 JSR.W CODE_0DA97D ;\ CODE_0DAB20: CA DEX ; | Go to next tile and check for end of the object CODE_0DAB21: 30 1A BMI Return0DAB3D ;/ CODE_0DAB23: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAB26: A9 42 LDA.B #$42 ; | Add middle tile CODE_0DAB28: 97 6B STA [$6B],Y ;/ CODE_0DAB2A: 20 7D A9 JSR.W CODE_0DA97D ;\ CODE_0DAB2D: CA DEX ; | Go to next tile and check for end of the object CODE_0DAB2E: 30 0D BMI Return0DAB3D ;/ CODE_0DAB30: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAB33: A9 43 LDA.B #$43 ; | Add bottom tiles CODE_0DAB35: 97 6B STA [$6B],Y ;/ CODE_0DAB37: 20 7D A9 JSR.W CODE_0DA97D ;\ CODE_0DAB3A: CA DEX ; | Go to next tile and check for end of the object CODE_0DAB3B: 10 F3 BPL CODE_0DAB30 ;/ Return0DAB3D: 60 RTS ; Return ;Slopes (what a big code...) CODE_0DAB3E: A5 59 LDA $59 ;\ CODE_0DAB40: 29 0F AND.B #$0F ;/ Get type... CODE_0DAB42: C9 0A CMP.B #$0A ;\ CODE_0DAB44: 30 06 BMI CODE_0DAB4C ; | ADDR_0DAB46: 38 SEC ; | ...modulo 10 for some reason ADDR_0DAB47: E9 0A SBC.B #$0A ; | ADDR_0DAB49: 4C 42 AB JMP.W CODE_0DAB42 ;/ CODE_0DAB4C: 22 FA 86 00 JSL.L ExecutePtrLong PtrsLong0DAB50: 6E AB 0D .dw CODE_0DAB6E .db :$CODE_0DAB6E ; Normal slope left 21 AC 0D .dw CODE_0DAC21 .db :$CODE_0DAC21 ; Steep slope left 92 AC 0D .dw CODE_0DAC92 .db :$CODE_0DAC92 ; Gradual slope left 44 AD 0D .dw CODE_0DAD44 .db :$CODE_0DAD44 ; Normal slope right A3 AD 0D .dw CODE_0DADA3 .db :$CODE_0DADA3 ; Steep slope right EB AD 0D .dw CODE_0DADEB .db :$CODE_0DADEB ; Gradual slope right 6D AE 0D .dw CODE_0DAE6D .db :$CODE_0DAE6D ; Normal slope left upside down FC AE 0D .dw CODE_0DAEFC .db :$CODE_0DAEFC ; Normal slope right upside down 61 AF 0D .dw CODE_0DAF61 .db :$CODE_0DAF61 ; Steep slope left upside down EA AF 0D .dw CODE_0DAFEA .db :$CODE_0DAFEA ; Steep slope right upside down ;Normal slope left CODE_0DAB6E: A4 57 LDY $57 ; The obligatory position loading! CODE_0DAB70: A9 01 LDA.B #$01 ;\ CODE_0DAB72: 85 02 STA $02 ; | Number of tiles on the top, I guess CODE_0DAB74: 85 00 STA $00 ;/ CODE_0DAB76: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DAB79: A5 59 LDA $59 ;\ CODE_0DAB7B: 4A LSR ; | CODE_0DAB7C: 4A LSR ; | CODE_0DAB7D: 4A LSR ; | Get size (lol @ storing to $00 twice and not using INC A) CODE_0DAB7E: 4A LSR ; | CODE_0DAB7F: 85 00 STA $00 ; | CODE_0DAB81: E6 00 INC $00 ;/ CODE_0DAB83: A6 02 LDX $02 ; Reload size CODE_0DAB85: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAB88: A9 96 LDA.B #$96 ; | Add top left tile, or whatever I should call it CODE_0DAB8A: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DAB8D: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAB90: A9 9B LDA.B #$9B ; | Add to right tile CODE_0DAB92: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DAB95: CA DEX ;\ CODE_0DAB96: CA DEX ; | Go to next tiles CODE_0DAB97: 30 1F BMI CODE_0DABB8 ;/ CODE_0DAB99: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAB9C: A9 DE LDA.B #$DE ; | Add bottom left tile CODE_0DAB9E: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DABA1: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DABA4: A9 E6 LDA.B #$E6 ; | Add bottom right tile (identical to 0x03F) CODE_0DABA6: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DABA9: CA DEX ;\ CODE_0DABAA: 4C B5 AB JMP.W CODE_0DABB5 ;/ Go to next tiles CODE_0DABAD: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DABB0: A9 3F LDA.B #$3F ; | CODE_0DABB2: 20 5B A9 JSR.W CODE_0DA95B ; | Add 0x03F tiles CODE_0DABB5: CA DEX ; | CODE_0DABB6: 10 F5 BPL CODE_0DABAD ;/ CODE_0DABB8: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DABBB: E6 02 INC $02 ;\ CODE_0DABBD: E6 02 INC $02 ; | Update size CODE_0DABBF: C6 00 DEC $00 ;/ CODE_0DABC1: F0 29 BEQ CODE_0DABEC ; Check for last row (that one doesn't contain 0x196 nor 0x19B) CODE_0DABC3: 10 03 BPL CODE_0DABC8 ;\ CODE_0DABC5: 4C F6 AB JMP.W Return0DABF6 ;/ Check for end of the object CODE_0DABC8: A5 57 LDA $57 ;\ \ CODE_0DABCA: 18 CLC ; | | CODE_0DABCB: 69 0E ADC.B #$0E ; | | CODE_0DABCD: A8 TAY ; | | Move pointer right or left/down CODE_0DABCE: 90 03 BCC CODE_0DABD3 ; | | ADDR_0DABD0: 20 87 A9 JSR.W CODE_0DA987 ; |/ CODE_0DABD3: 98 TYA ; |\ CODE_0DABD4: 29 0F AND.B #$0F ; | | CODE_0DABD6: C9 0E CMP.B #$0E ; | | Check whether the pointer was moved right or left/down and return if it's left/down CODE_0DABD8: 30 0D BMI CODE_0DABE7 ; |/ CODE_0DABDA: 98 TYA ; |\ CODE_0DABDB: 18 CLC ; | | CODE_0DABDC: 69 10 ADC.B #$10 ; | | Move pointer downwards CODE_0DABDE: A8 TAY ; |/ CODE_0DABDF: 90 03 BCC CODE_0DABE4 ; |\ ADDR_0DABE1: 20 87 A9 JSR.W CODE_0DA987 ; | | Update screen number CODE_0DABE4: 20 D6 A9 JSR.W CODE_0DA9D6 ; |/ CODE_0DABE7: 84 57 STY $57 ; | This big code moves the pointer/index leftwards and downwards. CODE_0DABE9: 4C 83 AB JMP.W CODE_0DAB83 ;/ CODE_0DABEC: A6 02 LDX $02 ;\ CODE_0DABEE: CA DEX ; | CODE_0DABEF: CA DEX ; | Update pointers and restart loop CODE_0DABF0: 20 7D A9 JSR.W CODE_0DA97D ; | CODE_0DABF3: 4C 99 AB JMP.W CODE_0DAB99 ;/ Return0DABF6: 60 RTS ; Return ;This code adds a tile for the slopes (only used for the ones with blank pixels on them) DATA_0DABF7: .db $3F,$01,$03 ; Table for tiles to change when we're on DATA_0DABFA: .db $01,$03,$04 ; Table of what number to add when we're on one of those special tiles CODE_0DABFD: 85 0C STA $0C ;\ CODE_0DABFF: 8A TXA ; | Preserve some stuff (also, it's still called PHX) CODE_0DAC00: 48 PHA ;/ CODE_0DAC01: A2 02 LDX.B #$02 ;\ CODE_0DAC03: B7 6B LDA [$6B],Y ; | CODE_0DAC05: DF F7 AB 0D CMP.L DATA_0DABF7,X ; | CODE_0DAC09: F0 06 BEQ CODE_0DAC11 ; | Check for those special tiles CODE_0DAC0B: CA DEX ; | CODE_0DAC0C: 10 F7 BPL CODE_0DAC05 ; | CODE_0DAC0E: 4C 1A AC JMP.W CODE_0DAC1A ;/ CODE_0DAC11: A5 0C LDA $0C ;\ CODE_0DAC13: 18 CLC ; | CODE_0DAC14: 7F FA AB 0D ADC.L DATA_0DABFA,X ; | Increase tile number CODE_0DAC18: 85 0C STA $0C ;/ CODE_0DAC1A: 68 PLA ;\ CODE_0DAC1B: AA TAX ; | Reload this stuff CODE_0DAC1C: A5 0C LDA $0C ;/ CODE_0DAC1E: 4C 5B A9 JMP.W CODE_0DA95B ; And add the tile (also, I didn't expect you to be smart enough to not use JSR RTS) ;Steep slope left CODE_0DAC21: A4 57 LDY $57 ; Position CODE_0DAC23: A5 59 LDA $59 ;\ CODE_0DAC25: 4A LSR ; | CODE_0DAC26: 4A LSR ; | CODE_0DAC27: 4A LSR ; | Size CODE_0DAC28: 4A LSR ; | CODE_0DAC29: 85 00 STA $00 ; | CODE_0DAC2B: E6 00 INC $00 ;/ CODE_0DAC2D: A9 00 LDA.B #$00 ;\ CODE_0DAC2F: 85 02 STA $02 ;/ It's called STZ, morons CODE_0DAC31: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DAC34: A6 02 LDX $02 ; Load size CODE_0DAC36: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAC39: A9 AA LDA.B #$AA ; | Add top tile CODE_0DAC3B: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DAC3E: CA DEX ;\ CODE_0DAC3F: 30 16 BMI CODE_0DAC57 ;/ Go to next tile and check for end of object CODE_0DAC41: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAC44: A9 E2 LDA.B #$E2 ; | Add bottom tile CODE_0DAC46: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAC49: 4C 54 AC JMP.W CODE_0DAC54 CODE_0DAC4C: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DAC4F: A9 3F LDA.B #$3F ; | CODE_0DAC51: 20 5B A9 JSR.W CODE_0DA95B ; | Add ground tiles CODE_0DAC54: CA DEX ; | CODE_0DAC55: 10 F5 BPL CODE_0DAC4C ;/ CODE_0DAC57: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DAC5A: E6 02 INC $02 ;\ CODE_0DAC5C: C6 00 DEC $00 ;/ Update indexes CODE_0DAC5E: F0 29 BEQ CODE_0DAC89 ; The last line doesn't have any 0x1AA tile CODE_0DAC60: 10 03 BPL CODE_0DAC65 ;\ CODE_0DAC62: 4C 91 AC JMP.W Return0DAC91 ;/ Check for end of the object CODE_0DAC65: A5 57 LDA $57 ;\ \ CODE_0DAC67: 18 CLC ; | | CODE_0DAC68: 69 0F ADC.B #$0F ; | | CODE_0DAC6A: A8 TAY ; | | Move pointer right or left/down CODE_0DAC6B: 90 03 BCC CODE_0DAC70 ; | | CODE_0DAC6D: 20 87 A9 JSR.W CODE_0DA987 ; |/ CODE_0DAC70: 98 TYA ; |\ CODE_0DAC71: 29 0F AND.B #$0F ; | | CODE_0DAC73: C9 0F CMP.B #$0F ; | | Check whether the pointer was moved right or left/down and return if it's left/down CODE_0DAC75: D0 0D BNE CODE_0DAC84 ; |/ CODE_0DAC77: 98 TYA ; |\ CODE_0DAC78: 18 CLC ; | | CODE_0DAC79: 69 10 ADC.B #$10 ; | | Move pointer downwards CODE_0DAC7B: A8 TAY ; |/ CODE_0DAC7C: 90 03 BCC CODE_0DAC81 ; |\ ADDR_0DAC7E: 20 87 A9 JSR.W CODE_0DA987 ; | | Update screen number CODE_0DAC81: 20 D6 A9 JSR.W CODE_0DA9D6 ; |/ CODE_0DAC84: 84 57 STY $57 ; | This big code moves the pointer/index leftwards and downwards. CODE_0DAC86: 4C 34 AC JMP.W CODE_0DAC34 ;/ CODE_0DAC89: A6 02 LDX $02 ; Load size CODE_0DAC8B: 20 7D A9 JSR.W CODE_0DA97D ; Update pointer CODE_0DAC8E: 4C 3E AC JMP.W CODE_0DAC3E ; and add line Return0DAC91: 60 RTS ; Return ;Gradual slope left CODE_0DAC92: A4 57 LDY $57 ; Position CODE_0DAC94: A9 03 LDA.B #$03 ;\ CODE_0DAC96: 85 02 STA $02 ; | Number of tiles in the first row CODE_0DAC98: 85 00 STA $00 ;/ CODE_0DAC9A: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DAC9D: A5 59 LDA $59 ;\ CODE_0DAC9F: 4A LSR ; | CODE_0DACA0: 4A LSR ; | CODE_0DACA1: 4A LSR ; | Get width CODE_0DACA2: 4A LSR ; | CODE_0DACA3: 85 00 STA $00 ; | CODE_0DACA5: E6 00 INC $00 ;/ CODE_0DACA7: A6 02 LDX $02 ; Reload number of tiles in a row CODE_0DACA9: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DACAC: A9 6E LDA.B #$6E ; | CODE_0DACAE: 20 FD AB JSR.W CODE_0DABFD ; | CODE_0DACB1: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DACB4: A9 73 LDA.B #$73 ; | CODE_0DACB6: 20 FD AB JSR.W CODE_0DABFD ; | CODE_0DACB9: 20 08 AA JSR.W Sta1To6ePointer ; | Add the actual slope tiles CODE_0DACBC: A9 78 LDA.B #$78 ; | CODE_0DACBE: 20 FD AB JSR.W CODE_0DABFD ; | CODE_0DACC1: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DACC4: A9 7D LDA.B #$7D ; | CODE_0DACC6: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DACC9: CA DEX ;\ CODE_0DACCA: CA DEX ; | CODE_0DACCB: CA DEX ; | Check if it's the top line CODE_0DACCC: CA DEX ; | CODE_0DACCD: 30 31 BMI CODE_0DAD00 ;/ CODE_0DACCF: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DACD2: A9 D8 LDA.B #$D8 ; | CODE_0DACD4: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DACD7: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DACDA: A9 DA LDA.B #$DA ; | CODE_0DACDC: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DACDF: 20 08 AA JSR.W Sta1To6ePointer ; | Add the "slope assist" tiles CODE_0DACE2: A9 E6 LDA.B #$E6 ; | CODE_0DACE4: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DACE7: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DACEA: A9 E6 LDA.B #$E6 ; | CODE_0DACEC: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DACEF: CA DEX ;\ CODE_0DACF0: CA DEX ; | CODE_0DACF1: CA DEX ; | Update index CODE_0DACF2: 4C FD AC JMP.W CODE_0DACFD ;/ CODE_0DACF5: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DACF8: A9 3F LDA.B #$3F ; | CODE_0DACFA: 20 5B A9 JSR.W CODE_0DA95B ; | Add bottom tiles CODE_0DACFD: CA DEX ; | CODE_0DACFE: 10 F5 BPL CODE_0DACF5 ;/ CODE_0DAD00: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DAD03: A5 02 LDA $02 ;\ CODE_0DAD05: 18 CLC ; | CODE_0DAD06: 69 04 ADC.B #$04 ; | Increase size of future lines CODE_0DAD08: 85 02 STA $02 ;/ CODE_0DAD0A: C6 00 DEC $00 ; Decrease number of lines remaining CODE_0DAD0C: F0 29 BEQ CODE_0DAD37 ; Check for last line CODE_0DAD0E: 10 03 BPL CODE_0DAD13 ;\ CODE_0DAD10: 4C 43 AD JMP.W Return0DAD43 ;/ Check for end of the object CODE_0DAD13: A5 57 LDA $57 ;\ CODE_0DAD15: 18 CLC ; | CODE_0DAD16: 69 0C ADC.B #$0C ; | Move pointer either right or left/down CODE_0DAD18: A8 TAY ;/ CODE_0DAD19: 90 03 BCC CODE_0DAD1E ; Check whether it hit a subscreen boundary ADDR_0DAD1B: 20 87 A9 JSR.W CODE_0DA987 ; and update the pointer if needed CODE_0DAD1E: 98 TYA ;\ CODE_0DAD1F: 29 0F AND.B #$0F ; | CODE_0DAD21: C9 0C CMP.B #$0C ; | Check whether it went left/down or right and return if it's left/down CODE_0DAD23: 30 0D BMI CODE_0DAD32 ;/ ADDR_0DAD25: 98 TYA ;\ ADDR_0DAD26: 18 CLC ; | ADDR_0DAD27: 69 10 ADC.B #$10 ; | Move pointer down ADDR_0DAD29: A8 TAY ;/ ADDR_0DAD2A: 90 03 BCC ADDR_0DAD2F ;\ ADDR_0DAD2C: 20 87 A9 JSR.W CODE_0DA987 ;/ Handle subscreen boundaries ADDR_0DAD2F: 20 D6 A9 JSR.W CODE_0DA9D6 ; Go left CODE_0DAD32: 84 57 STY $57 ; Save index CODE_0DAD34: 4C A7 AC JMP.W CODE_0DACA7 ; and run the loop again CODE_0DAD37: A6 02 LDX $02 ;\ CODE_0DAD39: CA DEX ; | CODE_0DAD3A: CA DEX ; | Update index CODE_0DAD3B: CA DEX ; | CODE_0DAD3C: CA DEX ;/ CODE_0DAD3D: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DAD40: 4C CF AC JMP.W CODE_0DACCF ; and run the loop again Return0DAD43: 60 RTS ; Return ;Normal slope right CODE_0DAD44: A4 57 LDY $57 ; Position CODE_0DAD46: A2 01 LDX.B #$01 ;\ CODE_0DAD48: 86 02 STX $02 ; | Number of actual slope tiles CODE_0DAD4A: 86 00 STX $00 ;/ CODE_0DAD4C: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer (why not run this before the JSL to ExecutePtrLong?) CODE_0DAD4F: A5 59 LDA $59 ;\ CODE_0DAD51: 4A LSR ; | CODE_0DAD52: 4A LSR ; | CODE_0DAD53: 4A LSR ; | Get size CODE_0DAD54: 4A LSR ; | CODE_0DAD55: 85 00 STA $00 ; | CODE_0DAD57: E6 00 INC $00 ;/ CODE_0DAD59: 4C 7F AD JMP.W CODE_0DAD7F ; Go to loop CODE_0DAD5C: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DAD5F: A9 3F LDA.B #$3F ; | CODE_0DAD61: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DAD64: CA DEX ; | Add dirt tiles CODE_0DAD65: E0 03 CPX.B #$03 ; | CODE_0DAD67: D0 F3 BNE CODE_0DAD5C ;/ CODE_0DAD69: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAD6C: A9 E6 LDA.B #$E6 ; | CODE_0DAD6E: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DAD71: 20 08 AA JSR.W Sta1To6ePointer ; | Add actual slope tiles CODE_0DAD74: A9 E0 LDA.B #$E0 ; | CODE_0DAD76: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAD79: CA DEX ;\ CODE_0DAD7A: CA DEX ; | CODE_0DAD7B: A5 00 LDA $00 ; | Check for end of the object CODE_0DAD7D: F0 20 BEQ Return0DAD9F ;/ CODE_0DAD7F: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAD82: A9 A0 LDA.B #$A0 ; | CODE_0DAD84: 20 FD AB JSR.W CODE_0DABFD ; | CODE_0DAD87: 20 08 AA JSR.W Sta1To6ePointer ; | Add "slope assist" tiles CODE_0DAD8A: A9 A5 LDA.B #$A5 ; | CODE_0DAD8C: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DAD8F: 20 BA A6 JSR.W CODE_0DA6BA ;\ CODE_0DAD92: 20 7D A9 JSR.W CODE_0DA97D ;/ Reload and update pointer CODE_0DAD95: E6 02 INC $02 ;\ CODE_0DAD97: E6 02 INC $02 ; | CODE_0DAD99: A6 02 LDX $02 ; | Go to the next line CODE_0DAD9B: C6 00 DEC $00 ; | CODE_0DAD9D: 10 01 BPL CODE_0DADA0 ;/ Return0DAD9F: 60 RTS ; Return CODE_0DADA0: 4C 65 AD JMP.W CODE_0DAD65 ; Random jump to waste 3 bytes + 3 cycles ;Steep slope right CODE_0DADA3: A4 57 LDY $57 ; Position CODE_0DADA5: A2 00 LDX.B #$00 ;\ CODE_0DADA7: 86 02 STX $02 ; | Number of actual slope tiles (also, it's called STZ, morons) CODE_0DADA9: 86 00 STX $00 ;/ CODE_0DADAB: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DADAE: A5 59 LDA $59 ;\ CODE_0DADB0: 4A LSR ; | CODE_0DADB1: 4A LSR ; | CODE_0DADB2: 4A LSR ; | Get size CODE_0DADB3: 4A LSR ; | CODE_0DADB4: 85 00 STA $00 ; | CODE_0DADB6: E6 00 INC $00 ;/ CODE_0DADB8: 4C D0 AD JMP.W CODE_0DADD0 ; Go to loop CODE_0DADBB: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DADBE: A9 3F LDA.B #$3F ; | CODE_0DADC0: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DADC3: CA DEX ; | Add dirt tiles CODE_0DADC4: E0 01 CPX.B #$01 ; | CODE_0DADC6: D0 F3 BNE CODE_0DADBB ;/ CODE_0DADC8: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DADCB: A9 E4 LDA.B #$E4 ; | Add slope assist tile CODE_0DADCD: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DADD0: A5 00 LDA $00 ;\ CODE_0DADD2: F0 16 BEQ Return0DADEA ;/ Check for end of the object CODE_0DADD4: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DADD7: A9 AF LDA.B #$AF ; | Add actual slope tile CODE_0DADD9: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DADDC: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DADDF: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DADE2: E6 02 INC $02 ;\ CODE_0DADE4: A6 02 LDX $02 ; | CODE_0DADE6: C6 00 DEC $00 ; | Go to next line CODE_0DADE8: 10 DA BPL CODE_0DADC4 ;/ Return0DADEA: 60 RTS ; Return ;Gradual slope right CODE_0DADEB: A4 57 LDY $57 ; Position CODE_0DADED: A2 03 LDX.B #$03 ;\ CODE_0DADEF: 86 02 STX $02 ;/ Number of actual slope tiles (thanks for forgetting to waste some time with $00) CODE_0DADF1: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DADF4: A5 59 LDA $59 ;\ CODE_0DADF6: 4A LSR ; | CODE_0DADF7: 4A LSR ; | CODE_0DADF8: 4A LSR ; | Get size CODE_0DADF9: 4A LSR ; | CODE_0DADFA: 85 00 STA $00 ; | CODE_0DADFC: E6 00 INC $00 ;/ CODE_0DADFE: 4C 36 AE JMP.W CODE_0DAE36 ; Go to loop CODE_0DAE01: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DAE04: A9 3F LDA.B #$3F ; | CODE_0DAE06: 20 5B A9 JSR.W CODE_0DA95B ; | Add dirt tiles CODE_0DAE09: CA DEX ; | (silly all.log thought that the first four instructions here was a table...) CODE_0DAE0A: E0 07 CPX.B #$07 ; | CODE_0DAE0C: D0 F3 BNE CODE_0DAE01 ;/ CODE_0DAE0E: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAE11: A9 E6 LDA.B #$E6 ; | CODE_0DAE13: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DAE16: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DAE19: A9 E6 LDA.B #$E6 ; | CODE_0DAE1B: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DAE1E: 20 08 AA JSR.W Sta1To6ePointer ; | Add slope assist tiles CODE_0DAE21: A9 DB LDA.B #$DB ; | CODE_0DAE23: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DAE26: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DAE29: A9 DC LDA.B #$DC ; | CODE_0DAE2B: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAE2E: CA DEX ;\ CODE_0DAE2F: CA DEX ; | CODE_0DAE30: CA DEX ; | CODE_0DAE31: CA DEX ; | Check for end of the object CODE_0DAE32: A5 00 LDA $00 ; | CODE_0DAE34: F0 33 BEQ Return0DAE69 ;/ CODE_0DAE36: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAE39: A9 82 LDA.B #$82 ; | CODE_0DAE3B: 20 FD AB JSR.W CODE_0DABFD ; | CODE_0DAE3E: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DAE41: A9 87 LDA.B #$87 ; | CODE_0DAE43: 20 FD AB JSR.W CODE_0DABFD ; | CODE_0DAE46: 20 08 AA JSR.W Sta1To6ePointer ; | Add actual slope tiles CODE_0DAE49: A9 8C LDA.B #$8C ; | CODE_0DAE4B: 20 FD AB JSR.W CODE_0DABFD ; | CODE_0DAE4E: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DAE51: A9 91 LDA.B #$91 ; | CODE_0DAE53: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DAE56: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DAE59: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DAE5C: A5 02 LDA $02 ;\ CODE_0DAE5E: 18 CLC ; | CODE_0DAE5F: 69 04 ADC.B #$04 ; | CODE_0DAE61: 85 02 STA $02 ; | Go to next tile CODE_0DAE63: A6 02 LDX $02 ; | CODE_0DAE65: C6 00 DEC $00 ; | CODE_0DAE67: 10 01 BPL CODE_0DAE6A ;/ Return0DAE69: 60 RTS ; Return CODE_0DAE6A: 4C 0A AE JMP.W CODE_0DAE0A ; Another moronic waste-three-bytes-and-cycles code... ;Normal slope left upside down CODE_0DAE6D: A4 57 LDY $57 ; Position CODE_0DAE6F: A5 59 LDA $59 ;\ CODE_0DAE71: 4A LSR ; | CODE_0DAE72: 4A LSR ; | CODE_0DAE73: 4A LSR ; | Get size CODE_0DAE74: 4A LSR ; | CODE_0DAE75: 85 00 STA $00 ;/ CODE_0DAE77: 0A ASL ;\ CODE_0DAE78: 85 02 STA $02 ; | Get width of first line CODE_0DAE7A: C6 02 DEC $02 ;/ CODE_0DAE7C: A9 00 LDA.B #$00 ;\ CODE_0DAE7E: 85 01 STA $01 ;/ Set the Is First Line flag CODE_0DAE80: A6 02 LDX $02 ; Load number of tiles in line CODE_0DAE82: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DAE85: 4C 9E AE JMP.W CODE_0DAE9E ; Go to loop CODE_0DAE88: A6 02 LDX $02 CODE_0DAE8A: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAE8D: A9 C6 LDA.B #$C6 ; | CODE_0DAE8F: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DAE92: 20 08 AA JSR.W Sta1To6ePointer ; | Add slope tiles CODE_0DAE95: A9 C7 LDA.B #$C7 ; | CODE_0DAE97: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAE9A: CA DEX ;\ CODE_0DAE9B: CA DEX ; | Check if it's the last line CODE_0DAE9C: 30 1F BMI CODE_0DAEBD ;/ CODE_0DAE9E: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAEA1: A9 EE LDA.B #$EE ; | CODE_0DAEA3: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DAEA6: 20 08 AA JSR.W Sta1To6ePointer ; | Add slope assist tiles CODE_0DAEA9: A9 F0 LDA.B #$F0 ; | CODE_0DAEAB: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAEAE: CA DEX ;\ CODE_0DAEAF: 4C BA AE JMP.W CODE_0DAEBA ;/ Go to the next area CODE_0DAEB2: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAEB5: A9 65 LDA.B #$65 ; | CODE_0DAEB7: 20 5B A9 JSR.W CODE_0DA95B ; | Add dirt tiles (what's wrong with 0x03F?) CODE_0DAEBA: CA DEX ; | CODE_0DAEBB: 10 F5 BPL CODE_0DAEB2 ;/ CODE_0DAEBD: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DAEC0: A5 01 LDA $01 ;\ CODE_0DAEC2: D0 08 BNE CODE_0DAECC ; | Check if it's the first line, since we don't want the actual slope tiles on the first row CODE_0DAEC4: E6 01 INC $01 ;/ CODE_0DAEC6: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DAEC9: 4C F2 AE JMP.W CODE_0DAEF2 ; Skip Move Pointer code CODE_0DAECC: A5 02 LDA $02 ;\ CODE_0DAECE: 38 SEC ; | CODE_0DAECF: E9 02 SBC.B #$02 ; | Update size CODE_0DAED1: 85 02 STA $02 ;/ CODE_0DAED3: A5 57 LDA $57 ;\ CODE_0DAED5: 18 CLC ; | CODE_0DAED6: 69 12 ADC.B #$12 ; | Update index CODE_0DAED8: A8 TAY ;/ CODE_0DAED9: 90 03 BCC CODE_0DAEDE ;\ CODE_0DAEDB: 20 87 A9 JSR.W CODE_0DA987 ;/ Move pointer downwards if needed CODE_0DAEDE: 98 TYA ;\ CODE_0DAEDF: 29 0F AND.B #$0F ; | CODE_0DAEE1: C9 02 CMP.B #$02 ; | Check if pointer should move downwards CODE_0DAEE3: 10 0D BPL CODE_0DAEF2 ;/ ADDR_0DAEE5: 98 TYA ;\ ADDR_0DAEE6: 38 SEC ; | ADDR_0DAEE7: E9 10 SBC.B #$10 ; | Move pointer back up ADDR_0DAEE9: A8 TAY ;/ ADDR_0DAEEA: B0 03 BCS ADDR_0DAEEF ;\ ADDR_0DAEEC: 20 87 A9 JSR.W CODE_0DA987 ;/ Update preserved pointer (isn't that done earlier too?) ADDR_0DAEEF: 20 EF A9 JSR.W CODE_0DA9EF ; Move pointer forwards CODE_0DAEF2: 84 57 STY $57 ; Save index CODE_0DAEF4: C6 00 DEC $00 ;\ CODE_0DAEF6: 30 03 BMI Return0DAEFB ; | Check for end of the object CODE_0DAEF8: 4C 88 AE JMP.W CODE_0DAE88 ;/ Return0DAEFB: 60 RTS ; Return ;Normal slope right upside down CODE_0DAEFC: A4 57 LDY $57 ; Position CODE_0DAEFE: A5 59 LDA $59 ;\ CODE_0DAF00: 4A LSR ; | CODE_0DAF01: 4A LSR ; | CODE_0DAF02: 4A LSR ; | Get height CODE_0DAF03: 4A LSR ; | CODE_0DAF04: 85 00 STA $00 ;/ CODE_0DAF06: 0A ASL ;\ CODE_0DAF07: 85 02 STA $02 ; | Get width of first line CODE_0DAF09: E6 02 INC $02 ;/ CODE_0DAF0B: A9 00 LDA.B #$00 ;\ CODE_0DAF0D: 85 01 STA $01 ;/ Set Is First Line flag CODE_0DAF0F: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DAF12: A6 02 LDX $02 ; Load number of tiles in line CODE_0DAF14: 4C 20 AF JMP.W CODE_0DAF20 ; Go to loop CODE_0DAF17: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAF1A: A9 65 LDA.B #$65 ; | CODE_0DAF1C: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DAF1F: CA DEX ; | Add dirt tiles CODE_0DAF20: E0 04 CPX.B #$04 ; | CODE_0DAF22: 10 F3 BPL CODE_0DAF17 ;/ CODE_0DAF24: E0 02 CPX.B #$02 ;\ CODE_0DAF26: 30 14 BMI CODE_0DAF3C ;/ Don't add slope assist tiles in the last line CODE_0DAF28: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAF2B: A9 F0 LDA.B #$F0 ; | CODE_0DAF2D: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DAF30: 20 08 AA JSR.W Sta1To6ePointer ; | Add slope assist tiles CODE_0DAF33: A9 EF LDA.B #$EF ; | CODE_0DAF35: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAF38: A5 01 LDA $01 ;\ CODE_0DAF3A: F0 10 BEQ CODE_0DAF4C ;/ Don't add actual slope tiles in top row CODE_0DAF3C: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAF3F: A9 C8 LDA.B #$C8 ; | CODE_0DAF41: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DAF44: 20 08 AA JSR.W Sta1To6ePointer ; | Add actual slope tiles CODE_0DAF47: A9 C9 LDA.B #$C9 ; | CODE_0DAF49: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAF4C: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DAF4F: A5 02 LDA $02 ;\ CODE_0DAF51: 38 SEC ; | CODE_0DAF52: E9 02 SBC.B #$02 ; | Go to next line CODE_0DAF54: 85 02 STA $02 ;/ CODE_0DAF56: AA TAX ; Reload number of tiles in line CODE_0DAF57: E6 01 INC $01 ; Clear Is First Line flag CODE_0DAF59: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DAF5C: C6 00 DEC $00 ;\ CODE_0DAF5E: 10 C0 BPL CODE_0DAF20 ;/ Check for end of the object Return0DAF60: 60 RTS ; Return ;Steep slope left upside down CODE_0DAF61: A4 57 LDY $57 ; Position CODE_0DAF63: A5 59 LDA $59 ;\ CODE_0DAF65: 4A LSR ; | CODE_0DAF66: 4A LSR ; | CODE_0DAF67: 4A LSR ; | CODE_0DAF68: 4A LSR ; | Get size CODE_0DAF69: 85 00 STA $00 ; | CODE_0DAF6B: 85 02 STA $02 ; | CODE_0DAF6D: C6 02 DEC $02 ;/ CODE_0DAF6F: A9 00 LDA.B #$00 ;\ CODE_0DAF71: 85 01 STA $01 ;/ Set Is First Line flag CODE_0DAF73: A6 02 LDX $02 ; Load number of remaining tiles on the line CODE_0DAF75: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DAF78: 4C 88 AF JMP.W CODE_0DAF88 ; Go into loop CODE_0DAF7B: A6 02 LDX $02 ; Load number of remaining tiles on the line CODE_0DAF7D: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAF80: A9 C4 LDA.B #$C4 ; | Add actual slope tile CODE_0DAF82: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAF85: CA DEX CODE_0DAF86: 30 16 BMI CODE_0DAF9E CODE_0DAF88: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAF8B: A9 EC LDA.B #$EC ; | Add slope assist tile CODE_0DAF8D: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DAF90: 4C 9B AF JMP.W CODE_0DAF9B CODE_0DAF93: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DAF96: A9 65 LDA.B #$65 ; | CODE_0DAF98: 20 5B A9 JSR.W CODE_0DA95B ; | Add dirt tiles CODE_0DAF9B: CA DEX ; | CODE_0DAF9C: 10 F5 BPL CODE_0DAF93 ;/ CODE_0DAF9E: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DAFA1: A5 01 LDA $01 ;\ CODE_0DAFA3: D0 0A BNE CODE_0DAFAF ;/ Don't move pointer rightwards from the right line CODE_0DAFA5: E6 01 INC $01 ; Clear Is First Line flag CODE_0DAFA7: A6 02 LDX $02 CODE_0DAFA9: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DAFAC: 4C D5 AF JMP.W CODE_0DAFD5 ; and go to Check For End Of Line code CODE_0DAFAF: A5 02 LDA $02 ;\ CODE_0DAFB1: 38 SEC ; | CODE_0DAFB2: E9 01 SBC.B #$01 ; | Update size of line (it's called DEC, morons) CODE_0DAFB4: 85 02 STA $02 ;/ CODE_0DAFB6: A5 57 LDA $57 ;\ CODE_0DAFB8: 18 CLC ; | CODE_0DAFB9: 69 11 ADC.B #$11 ; | Increase index and check if we hit a horizontal subscreen boundary CODE_0DAFBB: A8 TAY ; | CODE_0DAFBC: 90 03 BCC CODE_0DAFC1 ;/ CODE_0DAFBE: 20 87 A9 JSR.W CODE_0DA987 ; Move pointer down if needed CODE_0DAFC1: 98 TYA ;\ CODE_0DAFC2: 29 0F AND.B #$0F ; | CODE_0DAFC4: C9 01 CMP.B #$01 ; | Check for vertical subscreen boundaries CODE_0DAFC6: 10 0D BPL CODE_0DAFD5 ;/ CODE_0DAFC8: 98 TYA ;\ CODE_0DAFC9: 38 SEC ; | CODE_0DAFCA: E9 10 SBC.B #$10 ; | CODE_0DAFCC: A8 TAY ; | Move pointer back up CODE_0DAFCD: B0 03 BCS CODE_0DAFD2 ; | CODE_0DAFCF: 20 DF AF JSR.W CODE_0DAFDF ;/ CODE_0DAFD2: 20 EF A9 JSR.W CODE_0DA9EF ; Move pointer rightwards CODE_0DAFD5: 84 57 STY $57 ; Save index CODE_0DAFD7: C6 00 DEC $00 ;\ CODE_0DAFD9: 30 03 BMI Return0DAFDE ; | Check for end of the object CODE_0DAFDB: 4C 7B AF JMP.W CODE_0DAF7B ;/ Return0DAFDE: 60 RTS ; Return ;This moves the pointer up one screen if carry is set. CODE_0DAFDF: A5 6C LDA $6C CODE_0DAFE1: E9 00 SBC.B #$00 CODE_0DAFE3: 85 6C STA $6C CODE_0DAFE5: 85 6F STA $6F CODE_0DAFE7: 85 05 STA $05 Return0DAFE9: 60 RTS ; Return ;Steep slope right upside down CODE_0DAFEA: A4 57 LDY $57 ; Position CODE_0DAFEC: A5 59 LDA $59 ;\ CODE_0DAFEE: 4A LSR ; | CODE_0DAFEF: 4A LSR ; | CODE_0DAFF0: 4A LSR ; | Get size CODE_0DAFF1: 4A LSR ; | CODE_0DAFF2: 85 00 STA $00 ; | CODE_0DAFF4: 85 02 STA $02 ;/ CODE_0DAFF6: A9 00 LDA.B #$00 ;\ CODE_0DAFF8: 85 01 STA $01 ;/ Set Is First Line flag CODE_0DAFFA: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DAFFD: A6 02 LDX $02 CODE_0DAFFF: 4C 0B B0 JMP.W CODE_0DB00B ; Go to loop ;I don't really like how you're cutting it in the middle of a subroutine, but okay CODE_0DB002: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB005: A9 65 LDA.B #$65 ; | CODE_0DB007: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DB00A: CA DEX ; | Add dirt tiles CODE_0DB00B: E0 02 CPX.B #$02 ; | CODE_0DB00D: 10 F3 BPL CODE_0DB002 ;/ CODE_0DB00F: E0 01 CPX.B #$01 ;\ CODE_0DB011: 30 0C BMI CODE_0DB01F ;/ Don't add slope assist tiles on the last line CODE_0DB013: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB016: A9 ED LDA.B #$ED ; | Add slope assist tile CODE_0DB018: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB01B: A5 01 LDA $01 ;\ CODE_0DB01D: F0 08 BEQ CODE_0DB027 ;/ Check Is First Line flag CODE_0DB01F: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB022: A9 C5 LDA.B #$C5 ; | Add actual slope tile CODE_0DB024: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB027: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB02A: A6 02 LDX $02 ;\ CODE_0DB02C: CA DEX ; | Update number of remaining lines (wow, you morons know how to use DEX?) CODE_0DB02D: 86 02 STX $02 ;/ CODE_0DB02F: E6 01 INC $01 ; Clear Is First Line flag CODE_0DB031: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB034: C6 00 DEC $00 ;\ CODE_0DB036: 10 D3 BPL CODE_0DB00B ;/ Check for end of the object Return0DB038: 60 RTS ; Return ;Ledge edge object DATA_0DB039: .db $40,$41,$06,$45,$4B,$48,$4C,$01 ; Top tiles .db $03,$B6,$B7,$45,$4B,$48,$4C DATA_0DB048: .db $40,$41,$06,$4B,$4B,$4C,$4C,$40 ; The tiles below the top tiles (same as middle tiles) .db $41,$4B,$4C,$4B,$4B,$4C,$4C DATA_0DB057: .db $40,$41,$06,$4B,$4B,$4C,$4C,$40 ; Middle tiles .db $41,$4B,$4C,$4B,$4B,$4C,$4C DATA_0DB066: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; Bottom tiles .db $FF,$FF,$FF,$E2,$E2,$E4,$E4 CODE_0DB075: A4 57 LDY $57 ; Position CODE_0DB077: A5 59 LDA $59 ;\ CODE_0DB079: 4A LSR ; | CODE_0DB07A: 4A LSR ; | CODE_0DB07B: 4A LSR ; | Get height CODE_0DB07C: 4A LSR ; | CODE_0DB07D: 85 00 STA $00 ;/ CODE_0DB07F: A5 59 LDA $59 ;\ CODE_0DB081: 29 0F AND.B #$0F ; | Get type CODE_0DB083: AA TAX ;/ CODE_0DB084: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB087: E0 03 CPX.B #$03 ; | CODE_0DB089: 30 03 BMI CODE_0DB08E ; | Set correct map16 page CODE_0DB08B: 20 08 AA JSR.W Sta1To6ePointer ;/ CODE_0DB08E: BF 39 B0 0D LDA.L DATA_0DB039,X ;\ CODE_0DB092: 20 14 B1 JSR.W CODE_0DB114 ; | Add top tile CODE_0DB095: 97 6B STA [$6B],Y ;/ CODE_0DB097: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer down CODE_0DB09A: C6 00 DEC $00 ;\ CODE_0DB09C: 30 44 BMI CODE_0DB0E2 ;/ Check if size=0 CODE_0DB09E: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB0A1: E0 09 CPX.B #$09 ; | CODE_0DB0A3: 10 08 BPL CODE_0DB0AD ; | CODE_0DB0A5: E0 07 CPX.B #$07 ; | CODE_0DB0A7: 10 07 BPL CODE_0DB0B0 ; | Set correct map16 page CODE_0DB0A9: E0 03 CPX.B #$03 ; | CODE_0DB0AB: 30 03 BMI CODE_0DB0B0 ; | CODE_0DB0AD: 20 08 AA JSR.W Sta1To6ePointer ;/ CODE_0DB0B0: BF 48 B0 0D LDA.L DATA_0DB048,X ;\ CODE_0DB0B4: 20 98 B1 JSR.W CODE_0DB198 ; | Add tile-below-top-tile CODE_0DB0B7: 97 6B STA [$6B],Y ;/ CODE_0DB0B9: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB0BC: C6 00 DEC $00 ;\ CODE_0DB0BE: 30 22 BMI CODE_0DB0E2 ;/ Check for end of the object (except the bottom tile) CODE_0DB0C0: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB0C3: E0 09 CPX.B #$09 ; | CODE_0DB0C5: 10 08 BPL CODE_0DB0CF ; | CODE_0DB0C7: E0 07 CPX.B #$07 ; | CODE_0DB0C9: 10 07 BPL CODE_0DB0D2 ; | Set correct map16 page CODE_0DB0CB: E0 03 CPX.B #$03 ; | CODE_0DB0CD: 30 03 BMI CODE_0DB0D2 ; | CODE_0DB0CF: 20 08 AA JSR.W Sta1To6ePointer ;/ CODE_0DB0D2: BF 57 B0 0D LDA.L DATA_0DB057,X ;\ CODE_0DB0D6: 20 98 B1 JSR.W CODE_0DB198 ; | Add middle tiles CODE_0DB0D9: 97 6B STA [$6B],Y ;/ CODE_0DB0DB: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB0DE: C6 00 DEC $00 ;\ CODE_0DB0E0: 10 DE BPL CODE_0DB0C0 ;/ Check for end of the object (except bottom tile) CODE_0DB0E2: E0 0B CPX.B #$0B ;\ CODE_0DB0E4: 30 09 BMI Return0DB0EF ;/ Check if it's one of the objects with a bottom tile CODE_0DB0E6: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB0E9: BF 66 B0 0D LDA.L DATA_0DB066,X ; | Add bottom tile CODE_0DB0ED: 97 6B STA [$6B],Y ;/ Return0DB0EF: 60 RTS ; Return ;Account for placing the top tile on top of other stuff DATA_0DB0F0: .db $7D,$7E,$82,$83,$9B,$9C,$A0,$A1 .db $AA,$AB,$AF,$B0,$D8,$DC,$DE,$E0 ; If on top of one of these... .db $E2,$E4 DATA_0DB102: .db $B8,$B9,$BA,$BB,$BC,$BD,$BE,$BF .db $C0,$C1,$C2,$C3,$D9,$DD,$DF,$E1 ; change to the corresponding one of these .db $E3,$E5 CODE_0DB114: E0 03 CPX.B #$03 ;\ CODE_0DB116: 30 08 BMI CODE_0DB120 ; | CODE_0DB118: E0 09 CPX.B #$09 ; | CODE_0DB11A: 30 04 BMI CODE_0DB120 ; | CODE_0DB11C: E0 0B CPX.B #$0B ; | Only run this code on some of the object numbers CODE_0DB11E: 30 3B BMI Return0DB15B ; | CODE_0DB120: E0 02 CPX.B #$02 ; | CODE_0DB122: F0 37 BEQ Return0DB15B ;/ CODE_0DB124: 86 0B STX $0B ; Preserve X CODE_0DB126: 85 0C STA $0C ; Preserve tile number CODE_0DB128: A2 11 LDX.B #$11 ; Size of tables CODE_0DB12A: B7 6B LDA [$6B],Y ;\ CODE_0DB12C: DF F0 B0 0D CMP.L DATA_0DB0F0,X ; | CODE_0DB130: F0 20 BEQ CODE_0DB152 ; | Check the on-top-of-one-of-these table CODE_0DB132: CA DEX ; | CODE_0DB133: 10 F7 BPL CODE_0DB12C ;/ CODE_0DB135: C9 25 CMP.B #$25 ;\ CODE_0DB137: F0 14 BEQ CODE_0DB14D ;/ If on top of tile 025, don't change anything CODE_0DB139: A5 0C LDA $0C ;\ CODE_0DB13B: C9 01 CMP.B #$01 ; | CODE_0DB13D: F0 0C BEQ CODE_0DB14B ; | CODE_0DB13F: C9 03 CMP.B #$03 ; | CODE_0DB141: F0 08 BEQ CODE_0DB14B ; | Only run this check if we're trying to add tile 101, 103, 145, or 148 CODE_0DB143: C9 45 CMP.B #$45 ; | CODE_0DB145: F0 04 BEQ CODE_0DB14B ; | CODE_0DB147: C9 48 CMP.B #$48 ; | CODE_0DB149: D0 02 BNE CODE_0DB14D ;/ CODE_0DB14B: E6 0C INC $0C ;\ CODE_0DB14D: A5 0C LDA $0C ; | Fix object number and return CODE_0DB14F: 4C 59 B1 JMP.W CODE_0DB159 ;/ CODE_0DB152: 20 08 AA JSR.W Sta1To6ePointer ; Set map16 page CODE_0DB155: BF 02 B1 0D LDA.L DATA_0DB102,X ; Load the tile to use CODE_0DB159: A6 0B LDX $0B ; Reload X Return0DB15B: 60 RTS ; Return ;Account for placing the middle tiles on top of other stuff DATA_0DB15C: .db $6E,$6F,$73,$74,$78,$79,$7D,$7E .db $82,$83,$87,$88,$8C,$8D,$91,$92 .db $96,$97,$9B,$9C,$A0,$A1,$A5,$A6 ; If on top of one of these... .db $AA,$AB,$AF,$B0,$E2,$E4 DATA_0DB17A: .db $70,$70,$75,$75,$7A,$7A,$7F,$7F .db $84,$84,$89,$89,$8E,$8E,$93,$93 .db $98,$98,$9D,$9D,$A2,$A2,$A7,$A7 ; change to the corresponding one of these .db $AC,$AC,$B1,$B1,$E9,$EA CODE_0DB198: E0 03 CPX.B #$03 ;\ CODE_0DB19A: 30 08 BMI CODE_0DB1A4 ; | CODE_0DB19C: E0 07 CPX.B #$07 ; | CODE_0DB19E: 30 27 BMI Return0DB1C7 ; | CODE_0DB1A0: E0 09 CPX.B #$09 ; | Only run this code on some of the object numbers CODE_0DB1A2: 10 23 BPL Return0DB1C7 ; | CODE_0DB1A4: E0 02 CPX.B #$02 ; | CODE_0DB1A6: F0 1F BEQ Return0DB1C7 ;/ CODE_0DB1A8: 86 0B STX $0B ; Preserve X CODE_0DB1AA: 85 0C STA $0C ; Preserve tile number CODE_0DB1AC: A2 1D LDX.B #$1D ; Size of tables CODE_0DB1AE: B7 6B LDA [$6B],Y ;\ CODE_0DB1B0: DF 5C B1 0D CMP.L DATA_0DB15C,X ; | CODE_0DB1B4: F0 08 BEQ CODE_0DB1BE ; | Check the on-top-of-one-of-these table CODE_0DB1B6: CA DEX ; | CODE_0DB1B7: 10 F7 BPL CODE_0DB1B0 ;/ CODE_0DB1B9: A5 0C LDA $0C ;\ CODE_0DB1BB: 4C C5 B1 JMP.W CODE_0DB1C5 ;/ If no match is found, return CODE_0DB1BE: 20 08 AA JSR.W Sta1To6ePointer ; Set map16 page CODE_0DB1C1: BF 7A B1 0D LDA.L DATA_0DB17A,X ; Load the tile to use CODE_0DB1C5: A6 0B LDX $0B ; Reload X Return0DB1C7: 60 RTS ; Return ;Long ground ledge CODE_0DB1C8: A5 59 LDA $59 ;\ CODE_0DB1CA: 85 00 STA $00 ; | Load width CODE_0DB1CC: AA TAX ;/ CODE_0DB1CD: A9 02 LDA.B #$02 ;\ CODE_0DB1CF: 85 02 STA $02 ;/ Load height CODE_0DB1D1: 4C E3 B1 JMP.W CODE_0DB1E3 ; Go to loop ;Standard ledge CODE_0DB1D4: A5 59 LDA $59 ;\ CODE_0DB1D6: 29 0F AND.B #$0F ; | CODE_0DB1D8: 85 00 STA $00 ; | Get width CODE_0DB1DA: AA TAX ;/ CODE_0DB1DB: A5 59 LDA $59 ;\ CODE_0DB1DD: 4A LSR ; | CODE_0DB1DE: 4A LSR ; | CODE_0DB1DF: 4A LSR ; | Get height CODE_0DB1E0: 4A LSR ; | CODE_0DB1E1: 85 02 STA $02 ;/ CODE_0DB1E3: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DB1E6: A4 57 LDY $57 ; Position CODE_0DB1E8: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB1EB: A9 00 LDA.B #$00 ; | Add top tiles CODE_0DB1ED: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB1F0: CA DEX ;\ CODE_0DB1F1: E0 FF CPX.B #$FF ; | CODE_0DB1F3: D0 F3 BNE CODE_0DB1E8 ; | Check for end of the row CODE_0DB1F5: 4C 05 B2 JMP.W CODE_0DB205 ;/ CODE_0DB1F8: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB1FB: A9 3F LDA.B #$3F ; | Add bottom tile CODE_0DB1FD: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB200: CA DEX ;\ CODE_0DB201: E0 FF CPX.B #$FF ; | Check for end of line CODE_0DB203: D0 F3 BNE CODE_0DB1F8 ;/ CODE_0DB205: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB208: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB20B: A6 00 LDX $00 ;\ CODE_0DB20D: C6 02 DEC $02 ; | Go to next row CODE_0DB20F: 10 E7 BPL CODE_0DB1F8 ;/ Return0DB211: 60 RTS ; Return ;Midway/goal point DATA_0DB212: .db $2F,$25,$32 ; Top tiles of midway point DATA_0DB215: .db $30,$25,$33 ; Middle tiles of midway point DATA_0DB218: .db $31,$25,$34 ; Bottom tiles of midway point DATA_0DB21B: .db $39,$25,$3C ; Top tiles of goal point DATA_0DB21E: .db $3A,$25,$3D ; Middle tiles of goal point DATA_0DB221: .db $3B,$25,$3E ; Bottom tiles of goal point CODE_0DB224: A4 57 LDY $57 ; Position CODE_0DB226: A5 59 LDA $59 ;\ CODE_0DB228: 29 0F AND.B #$0F ; | Type CODE_0DB22A: 85 02 STA $02 ;/ CODE_0DB22C: A5 59 LDA $59 ;\ CODE_0DB22E: 4A LSR ; | CODE_0DB22F: 4A LSR ; | CODE_0DB230: 4A LSR ; | Height CODE_0DB231: 4A LSR ; | CODE_0DB232: 85 00 STA $00 ; | CODE_0DB234: 85 01 STA $01 ;/ CODE_0DB236: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DB239: A2 00 LDX.B #$00 CODE_0DB23B: BF 12 B2 0D LDA.L DATA_0DB212,X ;\ CODE_0DB23F: 85 03 STA $03 ; | CODE_0DB241: A5 02 LDA $02 ; | CODE_0DB243: F0 06 BEQ CODE_0DB24B ; | Check which tile we need CODE_0DB245: BF 1B B2 0D LDA.L DATA_0DB21B,X ; | CODE_0DB249: 85 03 STA $03 ;/ CODE_0DB24B: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB24E: A5 03 LDA $03 ; | Add top tile CODE_0DB250: 97 6B STA [$6B],Y ;/ CODE_0DB252: 98 TYA ;\ CODE_0DB253: 18 CLC ; | CODE_0DB254: 69 10 ADC.B #$10 ; | CODE_0DB256: A8 TAY ; | CODE_0DB257: 90 08 BCC CODE_0DB261 ; | Move pointer downwards CODE_0DB259: A5 6C LDA $6C ; | CODE_0DB25B: 69 00 ADC.B #$00 ; | CODE_0DB25D: 85 6C STA $6C ; | CODE_0DB25F: 85 6F STA $6F ;/ CODE_0DB261: C6 01 DEC $01 ;\ CODE_0DB263: F0 2A BEQ CODE_0DB28F ;/ Check if it's one tile high CODE_0DB265: BF 15 B2 0D LDA.L DATA_0DB215,X ;\ CODE_0DB269: 85 03 STA $03 ; | CODE_0DB26B: A5 02 LDA $02 ; | CODE_0DB26D: F0 06 BEQ CODE_0DB275 ; | Check which tile we need CODE_0DB26F: BF 1E B2 0D LDA.L DATA_0DB21E,X ; | CODE_0DB273: 85 03 STA $03 ;/ CODE_0DB275: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB278: A5 03 LDA $03 ; | Add middle tile CODE_0DB27A: 97 6B STA [$6B],Y ;/ CODE_0DB27C: 98 TYA ;\ CODE_0DB27D: 18 CLC ; | CODE_0DB27E: 69 10 ADC.B #$10 ; | CODE_0DB280: A8 TAY ; | CODE_0DB281: 90 08 BCC CODE_0DB28B ; | Move pointer downwards CODE_0DB283: A5 6C LDA $6C ; | CODE_0DB285: 69 00 ADC.B #$00 ; | CODE_0DB287: 85 6C STA $6C ; | CODE_0DB289: 85 6F STA $6F ;/ CODE_0DB28B: C6 01 DEC $01 ;\ CODE_0DB28D: D0 D6 BNE CODE_0DB265 ;/ Check if we need to add more middle tiles CODE_0DB28F: BF 18 B2 0D LDA.L DATA_0DB218,X ;\ CODE_0DB293: 85 03 STA $03 ; | CODE_0DB295: A5 02 LDA $02 ; | CODE_0DB297: F0 06 BEQ CODE_0DB29F ; | Check which tile we need CODE_0DB299: BF 21 B2 0D LDA.L DATA_0DB221,X ; | CODE_0DB29D: 85 03 STA $03 ;/ CODE_0DB29F: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB2A2: A5 03 LDA $03 ; | Add bottom tile CODE_0DB2A4: 97 6B STA [$6B],Y ;/ CODE_0DB2A6: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB2A9: A5 57 LDA $57 ;\ CODE_0DB2AB: 18 CLC ; | CODE_0DB2AC: 69 01 ADC.B #$01 ; | CODE_0DB2AE: A8 TAY ; | Check if we hit a subscreen boundary CODE_0DB2AF: 29 0F AND.B #$0F ; | CODE_0DB2B1: D0 08 BNE CODE_0DB2BB ;/ CODE_0DB2B3: 20 EF A9 JSR.W CODE_0DA9EF ; Move pointer forwards CODE_0DB2B6: A5 57 LDA $57 ;\ CODE_0DB2B8: 29 F0 AND.B #$F0 ; | CODE_0DB2BA: A8 TAY ; | Update index CODE_0DB2BB: 84 57 STY $57 ;/ CODE_0DB2BD: A5 00 LDA $00 ;\ CODE_0DB2BF: 85 01 STA $01 ;/ Reload size CODE_0DB2C1: E8 INX ;\ CODE_0DB2C2: E0 03 CPX.B #$03 ; | CODE_0DB2C4: F0 03 BEQ Return0DB2C9 ; | Check for end of the object CODE_0DB2C6: 4C 3B B2 JMP.W CODE_0DB23B ;/ Return0DB2C9: 60 RTS ; Return ;This is the code for the Yoshi coin. CODE_0DB2CA: AD BF 13 LDA.W $13BF ;\ CODE_0DB2CD: 4A LSR ; | CODE_0DB2CE: 4A LSR ; | CODE_0DB2CF: 4A LSR ; | CODE_0DB2D0: A8 TAY ; | CODE_0DB2D1: AD BF 13 LDA.W $13BF ; | Check whether the Yoshi coins in this level has been taken CODE_0DB2D4: 29 07 AND.B #$07 ; | CODE_0DB2D6: AA TAX ; | CODE_0DB2D7: B9 2F 1F LDA.W $1F2F,Y ; | CODE_0DB2DA: 3F A6 A8 0D AND.L DATA_0DA8A6,X ; | CODE_0DB2DE: D0 E9 BNE Return0DB2C9 ;/ CODE_0DB2E0: AE BE 13 LDX.W $13BE ;\ CODE_0DB2E3: A9 F8 LDA.B #$F8 ; | CODE_0DB2E5: 18 CLC ; | CODE_0DB2E6: 7F AE A8 0D ADC.L DATA_0DA8AE,X ; | CODE_0DB2EA: 85 08 STA $08 ; | CODE_0DB2EC: A9 19 LDA.B #$19 ; | CODE_0DB2EE: 7F B1 A8 0D ADC.L DATA_0DA8B1,X ; | CODE_0DB2F2: 85 09 STA $09 ; | CODE_0DB2F4: AD A1 1B LDA.W $1BA1 ; | CODE_0DB2F7: 0A ASL ; | CODE_0DB2F8: 0A ASL ; | CODE_0DB2F9: 85 0E STA $0E ; | CODE_0DB2FB: A5 0A LDA $0A ; | CODE_0DB2FD: 29 10 AND.B #$10 ; | CODE_0DB2FF: F0 06 BEQ CODE_0DB307 ; | CODE_0DB301: A5 0E LDA $0E ; | Check whether this Yoshi coin has been taken (check around $0DA5F0 - $0DA638 for more detailed comments) CODE_0DB303: 09 02 ORA.B #$02 ; | CODE_0DB305: 85 0E STA $0E ; | CODE_0DB307: A4 57 LDY $57 ; | CODE_0DB309: 98 TYA ; | CODE_0DB30A: 29 08 AND.B #$08 ; | CODE_0DB30C: F0 06 BEQ CODE_0DB314 ; | CODE_0DB30E: A5 0E LDA $0E ; | CODE_0DB310: 09 01 ORA.B #$01 ; | CODE_0DB312: 85 0E STA $0E ; | CODE_0DB314: 98 TYA ; | CODE_0DB315: 29 07 AND.B #$07 ; | CODE_0DB317: AA TAX ; | CODE_0DB318: A4 0E LDY $0E ; | CODE_0DB31A: B1 08 LDA ($08),Y ; | CODE_0DB31C: 3F A6 A8 0D AND.L DATA_0DA8A6,X ; | CODE_0DB320: D0 13 BNE Return0DB335 ;/ CODE_0DB322: A4 57 LDY $57 ; Position CODE_0DB324: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB327: A9 2D LDA.B #$2D ; | Add top tile CODE_0DB329: 97 6B STA [$6B],Y ;/ CODE_0DB32B: 20 7D A9 JSR.W CODE_0DA97D ; Go to next tile CODE_0DB32E: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB331: A9 2E LDA.B #$2E ; | Add bottom tile CODE_0DB333: 97 6B STA [$6B],Y ;/ Return0DB335: 60 RTS ; Return ;Blue coins ADDR_0DB336: A4 57 LDY $57 ; Position ADDR_0DB338: A5 59 LDA $59 ;\ ADDR_0DB33A: 29 0F AND.B #$0F ; | ADDR_0DB33C: 85 00 STA $00 ; | Width ADDR_0DB33E: AA TAX ;/ ADDR_0DB33F: A5 59 LDA $59 ;\ ADDR_0DB341: 4A LSR ; | ADDR_0DB342: 4A LSR ; | ADDR_0DB343: 4A LSR ; | Height ADDR_0DB344: 4A LSR ; | ADDR_0DB345: 85 01 STA $01 ;/ ADDR_0DB347: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer ADDR_0DB34A: 98 TYA ;\ \ ADDR_0DB34B: 48 PHA ; | | ADDR_0DB34C: 8A TXA ; | | Preserve X and Y (why not PHX PHY?) ADDR_0DB34D: 48 PHA ; |/ ADDR_0DB34E: AE BE 13 LDX.W $13BE ; | This big code checks the item memory settings flag for the current object. ADDR_0DB351: A9 F8 LDA.B #$F8 ; |\ ADDR_0DB353: 18 CLC ; | | ADDR_0DB354: 7F AE A8 0D ADC.L DATA_0DA8AE,X ; | | Low byte of pointer to item memory table ADDR_0DB358: 85 08 STA $08 ; |/ ADDR_0DB35A: A9 19 LDA.B #$19 ; |\ ADDR_0DB35C: 7F B1 A8 0D ADC.L DATA_0DA8B1,X ; | | High byte of pointer ADDR_0DB360: 85 09 STA $09 ; |/ ADDR_0DB362: AD A1 1B LDA.W $1BA1 ; |\ ADDR_0DB365: 0A ASL ; | | ADDR_0DB366: 0A ASL ; | | Set screen number in index ADDR_0DB367: 85 0E STA $0E ; |/ ADDR_0DB369: A5 0A LDA $0A ; |\ ADDR_0DB36B: 29 10 AND.B #$10 ; | | ADDR_0DB36D: F0 06 BEQ ADDR_0DB375 ; | | ADDR_0DB36F: A5 0E LDA $0E ; | | Set high Y bit in index ADDR_0DB371: 09 02 ORA.B #$02 ; | | ADDR_0DB373: 85 0E STA $0E ; |/ ADDR_0DB375: 98 TYA ; |\ ADDR_0DB376: 29 08 AND.B #$08 ; | | ADDR_0DB378: F0 06 BEQ ADDR_0DB380 ; | | ADDR_0DB37A: A5 0E LDA $0E ; | | Set highest bit of X position in index ADDR_0DB37C: 09 01 ORA.B #$01 ; | | ADDR_0DB37E: 85 0E STA $0E ; |/ ADDR_0DB380: 98 TYA ; |\ ADDR_0DB381: 29 07 AND.B #$07 ; | | Set another index to lowest three bits of X position ADDR_0DB383: AA TAX ; |/ ADDR_0DB384: A4 0E LDY $0E ; |\ ADDR_0DB386: B1 08 LDA ($08),Y ; | | ADDR_0DB388: 3F A6 A8 0D AND.L DATA_0DA8A6,X ; | | And load the bit we need ADDR_0DB38C: 85 0F STA $0F ; |/ ADDR_0DB38E: 68 PLA ; |\ ADDR_0DB38F: AA TAX ; | | ADDR_0DB390: 68 PLA ; | | Reload indexes ADDR_0DB391: A8 TAY ;/ / ADDR_0DB392: 20 0D AA JSR.W StzTo6ePointer0080E7 ; Set map16 page (even if the coin has been taken) ADDR_0DB395: A9 2C LDA.B #$2C ;\ ADDR_0DB397: 85 0C STA $0C ;/ Object to generate ADDR_0DB399: A5 0F LDA $0F ;\ ADDR_0DB39B: F0 06 BEQ ADDR_0DB3A3 ;/ Check item memory flag ADDR_0DB39D: 20 87 A9 JSR.W CODE_0DA987 ; Update pointer...? ADDR_0DB3A0: 4C A8 B3 JMP.W ADDR_0DB3A8 ; Skip Add Object code ADDR_0DB3A3: A5 0C LDA $0C ;\ ADDR_0DB3A5: 20 5B A9 JSR.W CODE_0DA95B ;/ Add object ADDR_0DB3A8: CA DEX ;\ ADDR_0DB3A9: 10 9F BPL ADDR_0DB34A ;/ Check for end of the row ADDR_0DB3AB: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer ADDR_0DB3AE: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards ADDR_0DB3B1: A6 00 LDX $00 ; Reload width ADDR_0DB3B3: C6 01 DEC $01 ;\ ADDR_0DB3B5: 30 03 BMI Return0DB3BA ; | Check for end of the object ADDR_0DB3B7: 4C 4A B3 JMP.W ADDR_0DB34A ;/ Return0DB3BA: 60 RTS ; Return ;Rope/clouds DATA_0DB3BB: .db $05,$06 CODE_0DB3BD: A4 57 LDY $57 ; Position CODE_0DB3BF: A5 59 LDA $59 ;\ CODE_0DB3C1: 29 0F AND.B #$0F ; | Width CODE_0DB3C3: 85 00 STA $00 ;/ CODE_0DB3C5: A5 59 LDA $59 ;\ CODE_0DB3C7: 4A LSR ; | CODE_0DB3C8: 4A LSR ; | CODE_0DB3C9: 4A LSR ; | Type CODE_0DB3CA: 4A LSR ; | CODE_0DB3CB: AA TAX ;/ CODE_0DB3CC: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB3CF: BF BB B3 0D LDA.L DATA_0DB3BB,X ; | Add tile CODE_0DB3D3: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB3D6: C6 00 DEC $00 ;\ CODE_0DB3D8: 10 F2 BPL CODE_0DB3CC ;/ Check for end of the object Return0DB3DA: 60 RTS ; Return ;Water surface (both animated and nonanimated), lava surface, and net top edge DATA_0DB3DB: .db $00,$01,$04,$08 ; Top tiles DATA_0DB3DF: .db $02,$03,$05,$0B ; Bottom tiles CODE_0DB3E3: A4 57 LDY $57 ; Position CODE_0DB3E5: A5 59 LDA $59 ;\ CODE_0DB3E7: 29 0F AND.B #$0F ; | CODE_0DB3E9: 85 00 STA $00 ; | Width CODE_0DB3EB: 85 02 STA $02 ;/ CODE_0DB3ED: A5 59 LDA $59 ;\ CODE_0DB3EF: 4A LSR ; | CODE_0DB3F0: 4A LSR ; | CODE_0DB3F1: 4A LSR ; | Height CODE_0DB3F2: 4A LSR ; | CODE_0DB3F3: 85 01 STA $01 ;/ CODE_0DB3F5: 8A TXA ;\ CODE_0DB3F6: 38 SEC ; | CODE_0DB3F7: E9 17 SBC.B #$17 ; | Type CODE_0DB3F9: AA TAX ;/ CODE_0DB3FA: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DB3FD: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB400: BF DB B3 0D LDA.L DATA_0DB3DB,X ; | Add top tile CODE_0DB404: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB407: C6 02 DEC $02 ;\ CODE_0DB409: 10 F2 BPL CODE_0DB3FD ; | Check for end of the row CODE_0DB40B: 4C 1C B4 JMP.W CODE_0DB41C ;/ CODE_0DB40E: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB411: BF DF B3 0D LDA.L DATA_0DB3DF,X ; | Add middle tiles CODE_0DB415: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB418: C6 02 DEC $02 ;\ CODE_0DB41A: 10 F2 BPL CODE_0DB40E ;/ Check for end of the row CODE_0DB41C: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB41F: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB422: A5 00 LDA $00 ;\ CODE_0DB424: 85 02 STA $02 ;/ Reload width CODE_0DB426: C6 01 DEC $01 ;\ CODE_0DB428: 10 E4 BPL CODE_0DB40E ;/ Check for end of the object Return0DB42A: 60 RTS ; Return ;Donut bridge DATA_0DB42B: .db $26 ; Top tile DATA_0DB42C: .db $44 ; Bottom tile CODE_0DB42D: A4 57 LDY $57 ; Position CODE_0DB42F: A5 59 LDA $59 ;\ CODE_0DB431: 29 0F AND.B #$0F ; | CODE_0DB433: 85 00 STA $00 ; | Width (the height bits are obviously unused) CODE_0DB435: 85 01 STA $01 ;/ CODE_0DB437: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DB43A: A2 00 LDX.B #$00 CODE_0DB43C: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB43F: E0 00 CPX.B #$00 ; | CODE_0DB441: F0 03 BEQ CODE_0DB446 ; | Set map16 page CODE_0DB443: 20 08 AA JSR.W Sta1To6ePointer ;/ CODE_0DB446: BF 2B B4 0D LDA.L DATA_0DB42B,X ;\ CODE_0DB44A: 20 5B A9 JSR.W CODE_0DA95B ;/ Add tile CODE_0DB44D: C6 01 DEC $01 ;\ CODE_0DB44F: 10 EB BPL CODE_0DB43C ;/ Check for end of the row CODE_0DB451: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB454: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB457: A5 00 LDA $00 ;\ CODE_0DB459: 85 01 STA $01 ;/ Reload width CODE_0DB45B: E8 INX ;\ CODE_0DB45C: E0 02 CPX.B #$02 ; | Check for end of the object CODE_0DB45E: D0 DC BNE CODE_0DB43C ;/ Return0DB460: 60 RTS ; Return ;Net bottom edge CODE_0DB461: A4 57 LDY $57 ; Position CODE_0DB463: A5 59 LDA $59 ;\ CODE_0DB465: 4A LSR ; | CODE_0DB466: 4A LSR ; | CODE_0DB467: 4A LSR ; | Height CODE_0DB468: 4A LSR ; | CODE_0DB469: 85 00 STA $00 ;/ CODE_0DB46B: A5 59 LDA $59 ;\ CODE_0DB46D: 29 0F AND.B #$0F ; | CODE_0DB46F: 85 01 STA $01 ; | Width CODE_0DB471: AA TAX ;/ CODE_0DB472: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DB475: A5 00 LDA $00 ;\ CODE_0DB477: F0 17 BEQ CODE_0DB490 ;/ Check if it's one tile high CODE_0DB479: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB47C: A9 0B LDA.B #$0B ; | Add middle tiles CODE_0DB47E: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB481: CA DEX ;\ CODE_0DB482: 10 F5 BPL CODE_0DB479 ;/ Check for end of the line CODE_0DB484: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB487: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB48A: A6 01 LDX $01 ; Reload size CODE_0DB48C: C6 00 DEC $00 ;\ CODE_0DB48E: D0 E9 BNE CODE_0DB479 ;/ Check if we're on the last line CODE_0DB490: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB493: A9 0E LDA.B #$0E ; | Add tile CODE_0DB495: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB498: CA DEX ;\ CODE_0DB499: 10 F5 BPL CODE_0DB490 ;/ Check for end of the object Return0DB49B: 60 RTS ; Return ;Net vertical edge DATA_0DB49C: .db $0A,$0C CODE_0DB49E: A4 57 LDY $57 ; Position CODE_0DB4A0: A5 59 LDA $59 ;\ CODE_0DB4A2: 4A LSR ; | CODE_0DB4A3: 4A LSR ; | CODE_0DB4A4: 4A LSR ; | Height CODE_0DB4A5: 4A LSR ; | CODE_0DB4A6: 85 00 STA $00 ;/ CODE_0DB4A8: A5 59 LDA $59 ;\ CODE_0DB4AA: 29 0F AND.B #$0F ; | Type CODE_0DB4AC: AA TAX ;/ CODE_0DB4AD: BF 9C B4 0D LDA.L DATA_0DB49C,X ;\ CODE_0DB4B1: 20 D9 B4 JSR.W CODE_0DB4D9 ;/ Add top tile CODE_0DB4B4: 4C C0 B4 JMP.W CODE_0DB4C0 ; Go to loop CODE_0DB4B7: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB4BA: BF 9C B4 0D LDA.L DATA_0DB49C,X ; | Add middle tile CODE_0DB4BE: 97 6B STA [$6B],Y ;/ CODE_0DB4C0: 98 TYA ;\ CODE_0DB4C1: 18 CLC ; | CODE_0DB4C2: 69 10 ADC.B #$10 ; | CODE_0DB4C4: A8 TAY ; | Move pointer downwards CODE_0DB4C5: 90 03 BCC CODE_0DB4CA ; | CODE_0DB4C7: 20 87 A9 JSR.W CODE_0DA987 ;/ CODE_0DB4CA: C6 00 DEC $00 ;\ CODE_0DB4CC: D0 E9 BNE CODE_0DB4B7 ;/ Check for end of the object (except bottom tile) CODE_0DB4CE: BF 9C B4 0D LDA.L DATA_0DB49C,X ;\ CODE_0DB4D2: 4C FE B4 JMP.W CODE_0DB4FE ;/ Add bottom tile ;A subroutine the vertical net edge uses DATA_0DB4D5: .db $07,$09 ; New tiles if it's on a top edge DATA_0DB4D7: .db $1A,$19 ; New tiles if it's on a bottom edge CODE_0DB4D9: 85 0C STA $0C ; Preserve tile CODE_0DB4DB: B7 6B LDA [$6B],Y ; Load tile we're on CODE_0DB4DD: C9 08 CMP.B #$08 ;\ CODE_0DB4DF: D0 07 BNE CODE_0DB4E8 ;/ Check if we're on a top edge CODE_0DB4E1: BF D5 B4 0D LDA.L DATA_0DB4D5,X ;\ CODE_0DB4E5: 4C F0 B4 JMP.W CODE_0DB4F0 ;/ Change to new tile CODE_0DB4E8: C9 0E CMP.B #$0E ;\ CODE_0DB4EA: D0 06 BNE CODE_0DB4F2 ;/ Check if we're on a bottom edge CODE_0DB4EC: BF D7 B4 0D LDA.L DATA_0DB4D7,X ;\ CODE_0DB4F0: 85 0C STA $0C ;/ Change to new tile CODE_0DB4F2: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB4F5: A5 0C LDA $0C ; | Add tile CODE_0DB4F7: 97 6B STA [$6B],Y ;/ Return0DB4F9: 60 RTS ; Return ;More vertical net edge stuff DATA_0DB4FA: .db $0D,$0F ; New tiles if it's on a bottom edge DATA_0DB4FC: .db $1C,$1B ; New tiles if it's on a top edge CODE_0DB4FE: 85 0C STA $0C ; Preserve tile CODE_0DB500: B7 6B LDA [$6B],Y ; Load tile we're on CODE_0DB502: C9 0E CMP.B #$0E ;\ CODE_0DB504: D0 07 BNE CODE_0DB50D ;/ Check if we're on a bottom edge CODE_0DB506: BF FA B4 0D LDA.L DATA_0DB4FA,X ;\ CODE_0DB50A: 4C 15 B5 JMP.W CODE_0DB515 ;/ Change to new tile CODE_0DB50D: C9 08 CMP.B #$08 ;\ CODE_0DB50F: D0 06 BNE CODE_0DB517 ;/ Check if we're on a top edge CODE_0DB511: BF FC B4 0D LDA.L DATA_0DB4FC,X ;\ CODE_0DB515: 85 0C STA $0C ;/ Change to new tile CODE_0DB517: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB51A: A5 0C LDA $0C ; | Add tile CODE_0DB51C: 97 6B STA [$6B],Y ;/ Return0DB51E: 60 RTS ; Return ;Vertical bone/pipe/log CODE_0DB51F: A4 57 LDY $57 ; Position CODE_0DB521: A5 59 LDA $59 ;\ CODE_0DB523: 29 F0 AND.B #$F0 ; | CODE_0DB525: 4A LSR ; | CODE_0DB526: 4A LSR ; | Height CODE_0DB527: 4A LSR ; | CODE_0DB528: 4A LSR ; | CODE_0DB529: AA TAX ;/ CODE_0DB52A: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB52D: A9 53 LDA.B #$53 ; | Add top tile CODE_0DB52F: 4C 37 B5 JMP.W CODE_0DB537 ;/ CODE_0DB532: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB535: A9 54 LDA.B #$54 ; | Add middle tiles CODE_0DB537: 97 6B STA [$6B],Y ;/ CODE_0DB539: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB53C: CA DEX ;\ CODE_0DB53D: D0 F3 BNE CODE_0DB532 ;/ Check for end of the object CODE_0DB53F: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB542: A9 55 LDA.B #$55 ; | Add bottom tiles CODE_0DB544: 97 6B STA [$6B],Y ;/ Return0DB546: 60 RTS ; Return ;Horizontal bone/pipe/log CODE_0DB547: A4 57 LDY $57 ; Position CODE_0DB549: A5 59 LDA $59 ;\ CODE_0DB54B: 29 0F AND.B #$0F ; | Width CODE_0DB54D: AA TAX ;/ CODE_0DB54E: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB551: A9 56 LDA.B #$56 ; | Add left tile CODE_0DB553: 4C 5B B5 JMP.W CODE_0DB55B ;/ CODE_0DB556: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB559: A9 57 LDA.B #$57 ; | Add middle tiles CODE_0DB55B: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB55E: CA DEX ;\ CODE_0DB55F: D0 F5 BNE CODE_0DB556 ;/ Check for end of the object CODE_0DB561: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB564: A9 58 LDA.B #$58 ; | Add right tile CODE_0DB566: 97 6B STA [$6B],Y ;/ Return0DB568: 60 RTS ; Return ;This is the Cloud Fringe objects. DATA_0DB569: .db $91,$92,$96,$97,$9A,$9B,$9F,$A0 ADDR_0DB571: A4 57 LDY $57 ; Position again ADDR_0DB573: A5 59 LDA $59 ; That's a new version, why not TXA? ADDR_0DB575: 38 SEC ;\ ADDR_0DB576: E9 68 SBC.B #$68 ; | Update block number ADDR_0DB578: AA TAX ;/ ADDR_0DB579: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DB57C: BF 69 B5 0D LDA.L DATA_0DB569,X ; | Add block ADDR_0DB580: 97 6B STA [$6B],Y ;/ Return0DB582: 60 RTS ; Return ;Yellow switch block CODE_0DB583: A2 01 LDX.B #$01 ; Index points to the yellow one CODE_0DB585: D0 06 BNE CODE_0DB58D ; WHAT THE FUCK why not BRA? If it won't trigger, ROR RTL will be run, which will crash! DATA_0DB587: .db $6A,$6B ; Active block at second page DATA_0DB589: .db $6A,$6B ; Inactive block at first page (also lol @ two identical tables) ;Green switch block (most of this is shared by both of them, though) CODE_0DB58B: A2 00 LDX.B #$00 ; Index points to the green one CODE_0DB58D: A4 57 LDY $57 ; Position CODE_0DB58F: BD 27 1F LDA.W $1F27,X ;\ CODE_0DB592: D0 0A BNE CODE_0DB59E ;/ Check whether the switch has been hit and go to the correct place CODE_0DB594: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB597: BF 89 B5 0D LDA.L DATA_0DB589,X ; | Add outline block CODE_0DB59B: 97 6B STA [$6B],Y ;/ Return0DB59D: 60 RTS ; Return CODE_0DB59E: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB5A1: BF 87 B5 0D LDA.L DATA_0DB587,X ; | Add solid block CODE_0DB5A5: 97 6B STA [$6B],Y ;/ Return0DB5A7: 60 RTS ; Return ;Bushes 1 through 5 DATA_0DB5A8: .db $73,$7A,$85,$88,$C3 ; Left tiles DATA_0DB5AD: .db $74,$7B,$86,$89,$C3 ; Middle tiles DATA_0DB5B2: .db $79,$80,$87,$8E,$C3 ; Right tiles CODE_0DB5B7: A4 57 LDY $57 ; Position CODE_0DB5B9: A5 59 LDA $59 ;\ CODE_0DB5BB: 29 0F AND.B #$0F ; | Width CODE_0DB5BD: 85 00 STA $00 ;/ CODE_0DB5BF: A5 59 LDA $59 ;\ CODE_0DB5C1: 4A LSR ; | CODE_0DB5C2: 4A LSR ; | CODE_0DB5C3: 4A LSR ; | Type CODE_0DB5C4: 4A LSR ; | CODE_0DB5C5: AA TAX ;/ CODE_0DB5C6: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB5C9: BF A8 B5 0D LDA.L DATA_0DB5A8,X ; | Add left tile CODE_0DB5CD: 4C D7 B5 JMP.W CODE_0DB5D7 ;/ CODE_0DB5D0: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB5D3: BF AD B5 0D LDA.L DATA_0DB5AD,X ; | Add middle tiles CODE_0DB5D7: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB5DA: C6 00 DEC $00 ;\ CODE_0DB5DC: D0 F2 BNE CODE_0DB5D0 ;/ Check for end of the object CODE_0DB5DE: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB5E1: BF B2 B5 0D LDA.L DATA_0DB5B2,X ; | Add right tile CODE_0DB5E5: 97 6B STA [$6B],Y ;/ Return0DB5E7: 60 RTS ; Return ;Arch ledge DATA_0DB5E8: .db $07,$0A,$0A,$08,$0A,$0A,$09 DATA_0DB5EF: .db $81,$82,$83,$81,$82,$83,$81 DATA_0DB5F6: .db $81,$25,$84,$81,$25,$84,$81 DATA_0DB5FD: .db $81,$25,$84,$81,$25,$84,$81 CODE_0DB604: A5 59 LDA $59 ;\ CODE_0DB606: 29 0F AND.B #$0F ; | Width CODE_0DB608: 85 00 STA $00 ;/ CODE_0DB60A: A9 03 LDA.B #$03 ;\ CODE_0DB60C: 85 03 STA $03 ;/ Height CODE_0DB60E: A2 00 LDX.B #$00 CODE_0DB610: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DB613: A4 57 LDY $57 ; Position CODE_0DB615: A5 00 LDA $00 ;\ CODE_0DB617: 85 02 STA $02 ;/ Reload width CODE_0DB619: A9 02 LDA.B #$02 ;\ CODE_0DB61B: 85 01 STA $01 ;/ Number of tiles in left area CODE_0DB61D: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB620: BF E8 B5 0D LDA.L DATA_0DB5E8,X ; | Add tile CODE_0DB624: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB627: E8 INX ;\ CODE_0DB628: C6 01 DEC $01 ; | Check for end of the left area CODE_0DB62A: 10 F1 BPL CODE_0DB61D ;/ CODE_0DB62C: C6 02 DEC $02 ;\ CODE_0DB62E: F0 22 BEQ CODE_0DB652 ;/ Check if it has a middle area CODE_0DB630: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB633: BF E8 B5 0D LDA.L DATA_0DB5E8,X ; | CODE_0DB637: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DB63A: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DB63D: BF E9 B5 0D LDA.L DATA_0DB5E8+1,X ; | Add middle tiles CODE_0DB641: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DB644: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DB647: BF EA B5 0D LDA.L DATA_0DB5E8+2,X ; | CODE_0DB64B: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB64E: C6 02 DEC $02 ;\ CODE_0DB650: D0 DE BNE CODE_0DB630 ;/ Check if we need more middle tiles CODE_0DB652: 8A TXA ;\ CODE_0DB653: 18 CLC ; | CODE_0DB654: 69 03 ADC.B #$03 ; | Update index to table CODE_0DB656: AA TAX ;/ CODE_0DB657: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB65A: BF E8 B5 0D LDA.L DATA_0DB5E8,X ; | Add right tile CODE_0DB65E: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB661: 4C B2 B6 JMP.W CODE_0DB6B2 ; Go to loop to add the lower tiles CODE_0DB664: A4 57 LDY $57 ; Position CODE_0DB666: A5 00 LDA $00 ;\ CODE_0DB668: 85 02 STA $02 ;/ Reload width CODE_0DB66A: A9 02 LDA.B #$02 ;\ CODE_0DB66C: 85 01 STA $01 ;/ Number of tiles in left area CODE_0DB66E: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB671: BF E8 B5 0D LDA.L DATA_0DB5E8,X ; | Add left tiles CODE_0DB675: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB678: E8 INX ;\ CODE_0DB679: C6 01 DEC $01 ; | Check if we need more left tiles CODE_0DB67B: 10 F1 BPL CODE_0DB66E ;/ CODE_0DB67D: C6 02 DEC $02 ;\ CODE_0DB67F: F0 22 BEQ CODE_0DB6A3 ;/ Check if it has a middle area CODE_0DB681: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB684: BF E8 B5 0D LDA.L DATA_0DB5E8,X ; | CODE_0DB688: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DB68B: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | CODE_0DB68E: BF E9 B5 0D LDA.L DATA_0DB5E8+1,X ; | Add middle tiles CODE_0DB692: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DB695: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | CODE_0DB698: BF EA B5 0D LDA.L DATA_0DB5E8+2,X ; | CODE_0DB69C: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB69F: C6 02 DEC $02 ;\ CODE_0DB6A1: D0 DE BNE CODE_0DB681 ;/ Check if we need more middle tiles CODE_0DB6A3: 8A TXA ;\ CODE_0DB6A4: 18 CLC ; | CODE_0DB6A5: 69 03 ADC.B #$03 ; | Update index to table CODE_0DB6A7: AA TAX ;/ CODE_0DB6A8: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB6AB: BF E8 B5 0D LDA.L DATA_0DB5E8,X ; | Add right tile CODE_0DB6AF: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB6B2: E8 INX CODE_0DB6B3: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB6B6: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer down CODE_0DB6B9: C6 03 DEC $03 ;\ CODE_0DB6BB: 30 03 BMI Return0DB6C0 ; | Check for end of the object CODE_0DB6BD: 4C 64 B6 JMP.W CODE_0DB664 ;/ Return0DB6C0: 60 RTS ; Return ;Top cloud fringe DATA_0DB6C1: .db $93,$9C CODE_0DB6C3: A4 57 LDY $57 ; Position CODE_0DB6C5: A5 59 LDA $59 ;\ CODE_0DB6C7: 29 0F AND.B #$0F ; | Size CODE_0DB6C9: 85 00 STA $00 ;/ CODE_0DB6CB: A5 59 LDA $59 ;\ CODE_0DB6CD: 4A LSR ; | CODE_0DB6CE: 4A LSR ; | CODE_0DB6CF: 4A LSR ; | Type CODE_0DB6D0: 4A LSR ; | CODE_0DB6D1: AA TAX ;/ CODE_0DB6D2: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB6D5: BF C1 B6 0D LDA.L DATA_0DB6C1,X ; | Add tile CODE_0DB6D9: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB6DC: C6 00 DEC $00 ;\ CODE_0DB6DE: 10 F2 BPL CODE_0DB6D2 ;/ Check for end of the object Return0DB6E0: 60 RTS ; Return ;The two tree branches DATA_0DB6E1: .db $C1,$C2 CODE_0DB6E3: A4 57 LDY $57 ; Position CODE_0DB6E5: A5 59 LDA $59 ;\ CODE_0DB6E7: 38 SEC ; | CODE_0DB6E8: E9 88 SBC.B #$88 ; | "Fix" object number CODE_0DB6EA: AA TAX ;/ CODE_0DB6EB: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB6EE: BF E1 B6 0D LDA.L DATA_0DB6E1,X ; | Add block CODE_0DB6F2: 97 6B STA [$6B],Y ;/ Return0DB6F4: 60 RTS ; Return ;Left/right cloud fringe DATA_0DB6F5: .db $94,$8F,$9D,$98,$95,$90,$9E,$99 ; Top tiles DATA_0DB6FD: .db $8F,$8F,$98,$98,$90,$90,$99,$99 ; Middle tiles ADDR_0DB705: A4 57 LDY $57 ; Position ADDR_0DB707: A5 59 LDA $59 ;\ ADDR_0DB709: 4A LSR ; | ADDR_0DB70A: 4A LSR ; | ADDR_0DB70B: 4A LSR ; | Height ADDR_0DB70C: 4A LSR ; | ADDR_0DB70D: 85 00 STA $00 ;/ ADDR_0DB70F: A5 59 LDA $59 ;\ ADDR_0DB711: 29 0F AND.B #$0F ; | Type ADDR_0DB713: AA TAX ;/ ADDR_0DB714: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DB717: BF F5 B6 0D LDA.L DATA_0DB6F5,X ; | Add top tile ADDR_0DB71B: 4C 25 B7 JMP.W ADDR_0DB725 ;/ ADDR_0DB71E: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DB721: BF FD B6 0D LDA.L DATA_0DB6FD,X ; | Add middle tiles ADDR_0DB725: 97 6B STA [$6B],Y ;/ ADDR_0DB727: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards ADDR_0DB72A: C6 00 DEC $00 ;\ ADDR_0DB72C: 10 F0 BPL ADDR_0DB71E ;/ Check for end of the object Return0DB72E: 60 RTS ; Return ;Right facing diagonal pipe DATA_0DB72F: .db $C4,$C5 DATA_0DB731: .db $C7,$EC,$ED,$C6 DATA_0DB735: .db $C7,$EE,$59,$5A,$EF DATA_0DB73A: .db $C7,$EE,$59,$5B,$5C CODE_0DB73F: A4 57 LDY $57 ; Position CODE_0DB741: A5 59 LDA $59 ;\ CODE_0DB743: 4A LSR ; | CODE_0DB744: 4A LSR ; | CODE_0DB745: 4A LSR ; | Size CODE_0DB746: 4A LSR ; | CODE_0DB747: 85 00 STA $00 ;/ CODE_0DB749: A9 01 LDA.B #$01 ;\ CODE_0DB74B: 85 01 STA $01 ;/ Number of tiles in first row CODE_0DB74D: A2 00 LDX.B #$00 CODE_0DB74F: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DB752: A5 01 LDA $01 ;\ CODE_0DB754: 85 02 STA $02 ;/ Reload number of tiles in row CODE_0DB756: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB759: BF 2F B7 0D LDA.L DATA_0DB72F,X ; | Add tile CODE_0DB75D: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB760: E8 INX ;\ CODE_0DB761: C6 02 DEC $02 ; | Go to next tile CODE_0DB763: 10 F1 BPL CODE_0DB756 ;/ CODE_0DB765: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB768: 20 92 A9 JSR.W CODE_0DA992 ; Move pointer down and left CODE_0DB76B: E6 01 INC $01 ;\ CODE_0DB76D: E6 01 INC $01 ;/ Increase size of the next line CODE_0DB76F: C6 00 DEC $00 ;\ CODE_0DB771: 30 2C BMI CODE_0DB79F ;/ Check for end of the object CODE_0DB773: E0 06 CPX.B #$06 ;\ CODE_0DB775: D0 DB BNE CODE_0DB752 ;/ Check if the object should keep getting bigger CODE_0DB777: C6 01 DEC $01 ; The size of the last lines is 5, not 6 CODE_0DB779: A5 01 LDA $01 ;\ CODE_0DB77B: 85 02 STA $02 ;/ Reload width of the line CODE_0DB77D: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB780: BF 2F B7 0D LDA.L DATA_0DB72F,X ; | Add tile CODE_0DB784: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB787: E8 INX ;\ CODE_0DB788: C6 02 DEC $02 ; | Check for end of the row CODE_0DB78A: 10 F1 BPL CODE_0DB77D ;/ CODE_0DB78C: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB78F: 20 92 A9 JSR.W CODE_0DA992 ; Move pointer down and left CODE_0DB792: E0 10 CPX.B #$10 ;\ CODE_0DB794: D0 05 BNE CODE_0DB79B ;/ Check if we're at the end of the table CODE_0DB796: 8A TXA ;\ CODE_0DB797: 38 SEC ; | CODE_0DB798: E9 05 SBC.B #$05 ; | Decrease X if needed CODE_0DB79A: AA TAX ;/ CODE_0DB79B: C6 00 DEC $00 ;\ CODE_0DB79D: 10 DA BPL CODE_0DB779 ;/ Check for end of the object CODE_0DB79F: 20 5D A9 JSR.W CODE_0DA95D ; Move pointer down CODE_0DB7A2: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB7A5: A9 EB LDA.B #$EB ; | Add bottom tile CODE_0DB7A7: 97 6B STA [$6B],Y ;/ Return0DB7A9: 60 RTS ; Return ;Left facing diagonal ledge CODE_0DB7AA: A4 57 LDY $57 ; Position CODE_0DB7AC: A5 59 LDA $59 ;\ CODE_0DB7AE: 29 0F AND.B #$0F ; | CODE_0DB7B0: 85 00 STA $00 ; | Height CODE_0DB7B2: 85 02 STA $02 ;/ CODE_0DB7B4: A5 59 LDA $59 ;\ CODE_0DB7B6: 4A LSR ; | CODE_0DB7B7: 4A LSR ; | CODE_0DB7B8: 4A LSR ; | Width CODE_0DB7B9: 4A LSR ; | CODE_0DB7BA: 85 03 STA $03 ;/ CODE_0DB7BC: A2 01 LDX.B #$01 ;\ CODE_0DB7BE: 86 01 STX $01 ;/ Width of top row (not used) CODE_0DB7C0: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DB7C3: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB7C6: A9 AA LDA.B #$AA ; | CODE_0DB7C8: 20 FD AB JSR.W CODE_0DABFD ; | CODE_0DB7CB: AD 0D AA LDA.W StzTo6ePointer0080E7 ; | Add top row CODE_0DB7CE: A9 A1 LDA.B #$A1 ; | CODE_0DB7D0: 20 4E B8 JSR.W CODE_0DB84E ;/ CODE_0DB7D3: 4C FD B7 JMP.W CODE_0DB7FD CODE_0DB7D6: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB7D9: A9 AA LDA.B #$AA ; | Add slope tile CODE_0DB7DB: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DB7DE: CA DEX CODE_0DB7DF: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB7E2: A9 E2 LDA.B #$E2 ; | Add slope assist tile CODE_0DB7E4: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB7E7: 4C F2 B7 JMP.W CODE_0DB7F2 CODE_0DB7EA: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB7ED: A9 3F LDA.B #$3F ; | Add dirt tiles CODE_0DB7EF: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB7F2: CA DEX ;\ CODE_0DB7F3: D0 F5 BNE CODE_0DB7EA ;/ Check if we need any dirt tiles CODE_0DB7F5: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB7F8: A9 A6 LDA.B #$A6 ; | Add the right tile with the diagonal line CODE_0DB7FA: 20 4E B8 JSR.W CODE_0DB84E ;/ CODE_0DB7FD: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB800: 20 92 A9 JSR.W CODE_0DA992 ; Move pointer down and left CODE_0DB803: E6 01 INC $01 ;\ CODE_0DB805: E6 01 INC $01 ;/ Increase width of the row CODE_0DB807: A6 01 LDX $01 CODE_0DB809: C6 02 DEC $02 ;\ CODE_0DB80B: 10 C9 BPL CODE_0DB7D6 ;/ Go up and add more slope tiles if needed CODE_0DB80D: 20 5D A9 JSR.W CODE_0DA95D ; Go down CODE_0DB810: 84 57 STY $57 ;\ CODE_0DB812: 20 B1 A6 JSR.W CODE_0DA6B1 ;/ Preserve pointer/etc CODE_0DB815: CA DEX CODE_0DB816: 86 01 STX $01 CODE_0DB818: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB81B: A9 F7 LDA.B #$F7 ; | Add lower leftmost tile CODE_0DB81D: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DB820: 4C 36 B8 JMP.W CODE_0DB836 CODE_0DB823: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB826: A9 A3 LDA.B #$A3 ; | Add the left tile with the diagonal line CODE_0DB828: 20 4E B8 JSR.W CODE_0DB84E ;/ CODE_0DB82B: 4C 36 B8 JMP.W CODE_0DB836 CODE_0DB82E: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB831: A9 3F LDA.B #$3F ; | Add ground tiles CODE_0DB833: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB836: CA DEX ;\ CODE_0DB837: D0 F5 BNE CODE_0DB82E ;/ Check if we need more ground tiles CODE_0DB839: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB83C: A9 A6 LDA.B #$A6 ; | Add the right tile with the diagonal line CODE_0DB83E: 20 4E B8 JSR.W CODE_0DB84E ;/ CODE_0DB841: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB844: 20 B4 A9 JSR.W CODE_0DA9B4 ; Move pointer down/right CODE_0DB847: A6 01 LDX $01 ;\ CODE_0DB849: C6 03 DEC $03 ; | Check if we need more ground tiles CODE_0DB84B: 10 D6 BPL CODE_0DB823 ;/ Return0DB84D: 60 RTS ; Return ;Add tile for the diagonal ledges and check if we need to care about those black lines CODE_0DB84E: 85 0F STA $0F ; Preserve tile CODE_0DB850: B7 6B LDA [$6B],Y ; Load the tile we're on CODE_0DB852: C9 25 CMP.B #$25 ;\ CODE_0DB854: F0 08 BEQ CODE_0DB85E ;/ Don't change anything if we're on an air tile CODE_0DB856: C9 3F CMP.B #$3F ;\ CODE_0DB858: F0 02 BEQ CODE_0DB85C ;/ Only go forwards one tile if we're on dirt ADDR_0DB85A: E6 0F INC $0F ;\ CODE_0DB85C: E6 0F INC $0F ;/ Go forwards two tiles if we're on anything else, like 1E7 or 1E8 CODE_0DB85E: A5 0F LDA $0F ;\ CODE_0DB860: 4C 5B A9 JMP.W CODE_0DA95B ;/ Add the requested tile ;Right facing diagonal ledge CODE_0DB863: A4 57 LDY $57 ; Position CODE_0DB865: A5 59 LDA $59 ;\ CODE_0DB867: 29 0F AND.B #$0F ; | CODE_0DB869: 85 00 STA $00 ; | Width CODE_0DB86B: 85 02 STA $02 ;/ CODE_0DB86D: A5 59 LDA $59 ;\ CODE_0DB86F: 4A LSR ; | CODE_0DB870: 4A LSR ; | CODE_0DB871: 4A LSR ; | Height CODE_0DB872: 4A LSR ; | CODE_0DB873: 85 03 STA $03 ;/ CODE_0DB875: A2 01 LDX.B #$01 ;\ CODE_0DB877: 86 01 STX $01 ;/ Width of first row CODE_0DB879: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DB87C: AD 0D AA LDA.W StzTo6ePointer0080E7 ;\ CODE_0DB87F: A9 AF LDA.B #$AF ; | CODE_0DB881: 20 4E B8 JSR.W CODE_0DB84E ; | CODE_0DB884: 20 08 AA JSR.W Sta1To6ePointer ; | Add top row CODE_0DB887: A9 AF LDA.B #$AF ; | CODE_0DB889: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DB88C: 4C B7 B8 JMP.W CODE_0DB8B7 CODE_0DB88F: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB892: A9 A9 LDA.B #$A9 ; | Add the left tile with the diagonal line CODE_0DB894: 20 4E B8 JSR.W CODE_0DB84E ;/ CODE_0DB897: 4C A2 B8 JMP.W CODE_0DB8A2 CODE_0DB89A: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB89D: A9 3F LDA.B #$3F ; | Add dirt tile CODE_0DB89F: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB8A2: CA DEX ;\ CODE_0DB8A3: E0 01 CPX.B #$01 ; | Check if we need more dirt tiles CODE_0DB8A5: D0 F3 BNE CODE_0DB89A ;/ CODE_0DB8A7: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB8AA: A9 E4 LDA.B #$E4 ; | CODE_0DB8AC: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DB8AF: 20 08 AA JSR.W Sta1To6ePointer ; | Add slope + slopeassist tiles CODE_0DB8B2: A9 AF LDA.B #$AF ; | CODE_0DB8B4: 20 FD AB JSR.W CODE_0DABFD ;/ CODE_0DB8B7: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB8BA: 20 92 A9 JSR.W CODE_0DA992 ; Move pointer down and left CODE_0DB8BD: E6 01 INC $01 ;\ CODE_0DB8BF: E6 01 INC $01 ;/ Increase width of future lines CODE_0DB8C1: A6 01 LDX $01 ; Load width CODE_0DB8C3: C6 02 DEC $02 ;\ CODE_0DB8C5: 10 C8 BPL CODE_0DB88F ;/ Check if we need dirt tiles CODE_0DB8C7: CA DEX ;\ CODE_0DB8C8: 86 01 STX $01 ;/ Lower width of the next line CODE_0DB8CA: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB8CD: A9 A9 LDA.B #$A9 ; | Add the left tile with the diagonal line CODE_0DB8CF: 20 4E B8 JSR.W CODE_0DB84E ;/ CODE_0DB8D2: 4C DD B8 JMP.W CODE_0DB8DD CODE_0DB8D5: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB8D8: A9 3F LDA.B #$3F ; | Add dirt tiles CODE_0DB8DA: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB8DD: CA DEX ;\ CODE_0DB8DE: D0 F5 BNE CODE_0DB8D5 ;/ Check if we need more dirt tiles CODE_0DB8E0: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB8E3: A9 F9 LDA.B #$F9 ; | Add the lower rightmost tile CODE_0DB8E5: 20 4E B8 JSR.W CODE_0DB84E ;/ CODE_0DB8E8: 4C 09 B9 JMP.W CODE_0DB909 CODE_0DB8EB: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB8EE: A9 A9 LDA.B #$A9 ; | Add the left tile with the diagonal line CODE_0DB8F0: 20 4E B8 JSR.W CODE_0DB84E ;/ CODE_0DB8F3: 4C FE B8 JMP.W CODE_0DB8FE CODE_0DB8F6: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB8F9: A9 3F LDA.B #$3F ; | Add dirt tiles CODE_0DB8FB: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB8FE: CA DEX ;\ CODE_0DB8FF: D0 F5 BNE CODE_0DB8F6 ;/ Check if we need more dirt tiles CODE_0DB901: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB904: A9 AC LDA.B #$AC ; | Add the right tile with the diagonal line CODE_0DB906: 20 4E B8 JSR.W CODE_0DB84E ;/ CODE_0DB909: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB90C: 20 92 A9 JSR.W CODE_0DA992 ; Move pointer down and left CODE_0DB90F: A6 01 LDX $01 ; Reload width CODE_0DB911: C6 03 DEC $03 ;\ CODE_0DB913: 10 D6 BPL CODE_0DB8EB ;/ Check for end of the object Return0DB915: 60 RTS ; Return ;Blue switch blocks CODE_0DB916: A2 00 LDX.B #$00 ; Set tile to blue switch tile CODE_0DB918: F0 06 BEQ CODE_0DB920 ; NOT ANOTHER DANGEROUS NON-BRA DATA_0DB91A: .db $6C,$6D ; Tiles when the switch isn't hit DATA_0DB91C: .db $6C,$6D ; Tiles when the switch is hit ;Red switch blocks CODE_0DB91E: A2 01 LDX.B #$01 ; Set tile to red switch tile CODE_0DB920: A4 57 LDY $57 ; Position CODE_0DB922: A5 59 LDA $59 ;\ CODE_0DB924: 29 0F AND.B #$0F ; | Width CODE_0DB926: 85 00 STA $00 ;/ CODE_0DB928: A5 59 LDA $59 ;\ CODE_0DB92A: 4A LSR ; | CODE_0DB92B: 4A LSR ; | CODE_0DB92C: 4A LSR ; | Height CODE_0DB92D: 4A LSR ; | CODE_0DB92E: 85 01 STA $01 ;/ CODE_0DB930: A5 00 LDA $00 ;\ CODE_0DB932: 85 02 STA $02 ;/ Load width CODE_0DB934: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DB937: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB93A: BF 1A B9 0D LDA.L DATA_0DB91A,X ; | CODE_0DB93E: 85 0F STA $0F ; | CODE_0DB940: BD 29 1F LDA.W $1F29,X ; | CODE_0DB943: F0 09 BEQ CODE_0DB94E ; | Load the tile we need CODE_0DB945: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DB948: BF 1C B9 0D LDA.L DATA_0DB91C,X ; | CODE_0DB94C: 85 0F STA $0F ;/ CODE_0DB94E: A5 0F LDA $0F ;\ CODE_0DB950: 20 5B A9 JSR.W CODE_0DA95B ;/ Add tile CODE_0DB953: C6 02 DEC $02 ;\ CODE_0DB955: 10 E0 BPL CODE_0DB937 ;/ Check for end of the line CODE_0DB957: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB95A: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB95D: C6 01 DEC $01 ;\ CODE_0DB95F: 10 CF BPL CODE_0DB930 ;/ Check for end of the object Return0DB961: 60 RTS ; Return ;Small tree trunk (forest) DATA_0DB962: .db $BD,$BF ; Top tiles DATA_0DB964: .db $BE,$C0 ; Bottom tiles (this object is 16x32 and repeats vertically) CODE_0DB966: A4 57 LDY $57 ; Position CODE_0DB968: A5 59 LDA $59 ;\ CODE_0DB96A: 29 0F AND.B #$0F ; | Type CODE_0DB96C: AA TAX ;/ CODE_0DB96D: A5 59 LDA $59 ;\ CODE_0DB96F: 4A LSR ; | CODE_0DB970: 4A LSR ; | CODE_0DB971: 4A LSR ; | Height CODE_0DB972: 4A LSR ; | CODE_0DB973: 85 00 STA $00 ;/ CODE_0DB975: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB978: BF 62 B9 0D LDA.L DATA_0DB962,X ; | Add upper tile CODE_0DB97C: 20 97 B9 JSR.W CODE_0DB997 ;/ CODE_0DB97F: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB982: C6 00 DEC $00 ;\ CODE_0DB984: 30 10 BMI Return0DB996 ;/ Check for end of the object CODE_0DB986: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB989: BF 64 B9 0D LDA.L DATA_0DB964,X ; | Add lower tile CODE_0DB98D: 97 6B STA [$6B],Y ;/ CODE_0DB98F: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB992: C6 00 DEC $00 ;\ CODE_0DB994: 10 DF BPL CODE_0DB975 ;/ Check for end of the object Return0DB996: 60 RTS ; Return ;Add tile for small tree trunk and update tile number if it's on something useful CODE_0DB997: 85 0F STA $0F ; Preserve tile to add CODE_0DB999: E0 01 CPX.B #$01 ;\ CODE_0DB99B: D0 11 BNE CODE_0DB9AE ;/ Check which type of tree trunk it is CODE_0DB99D: B7 6B LDA [$6B],Y ;\ CODE_0DB99F: C9 B1 CMP.B #$B1 ; | CODE_0DB9A1: F0 04 BEQ CODE_0DB9A7 ; | CODE_0DB9A3: C9 B6 CMP.B #$B6 ; | If the one below everything is on top of tile 0B1 or 0B6, add tile 0B2 or 0B7 CODE_0DB9A5: D0 14 BNE CODE_0DB9BB ; | CODE_0DB9A7: 85 0F STA $0F ; | CODE_0DB9A9: E6 0F INC $0F ;/ CODE_0DB9AB: 4C BB B9 JMP.W CODE_0DB9BB CODE_0DB9AE: B7 6B LDA [$6B],Y ;\ CODE_0DB9B0: C9 0E CMP.B #$0E ; | If the one above everything is on top of tile 10E... CODE_0DB9B2: D0 07 BNE CODE_0DB9BB ;/ CODE_0DB9B4: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB9B7: A9 0D LDA.B #$0D ; | add tile 10D instead CODE_0DB9B9: 85 0F STA $0F ;/ CODE_0DB9BB: A5 0F LDA $0F ;\ CODE_0DB9BD: 97 6B STA [$6B],Y ;/ Add the tile Return0DB9BF: 60 RTS ; Return ;Large tree trunk (forest) CODE_0DB9C0: A4 57 LDY $57 ; Position CODE_0DB9C2: A5 59 LDA $59 ;\ CODE_0DB9C4: 4A LSR ; | CODE_0DB9C5: 4A LSR ; | CODE_0DB9C6: 4A LSR ; | Height (width bits are unused) CODE_0DB9C7: 4A LSR ; | CODE_0DB9C8: 85 00 STA $00 ;/ CODE_0DB9CA: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DB9CD: A2 B9 LDX.B #$B9 ;\ CODE_0DB9CF: 20 F6 B9 JSR.W CODE_0DB9F6 ;/ Add 0B9 and 0BA tiles CODE_0DB9D2: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB9D5: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB9D8: C6 00 DEC $00 ;\ CODE_0DB9DA: 30 19 BMI Return0DB9F5 ;/ Check for end of the object CODE_0DB9DC: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB9DF: A9 BB LDA.B #$BB ; | Add 0BB tile CODE_0DB9E1: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DB9E4: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DB9E7: A9 BC LDA.B #$BC ; | Add 0BC tile CODE_0DB9E9: 97 6B STA [$6B],Y ;/ CODE_0DB9EB: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DB9EE: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DB9F1: C6 00 DEC $00 ;\ CODE_0DB9F3: 10 D5 BPL CODE_0DB9CA ;/ Check for end of the object Return0DB9F5: 60 RTS ; Return ;Add one of the rows for the large tree trunk and check if we're on a ledge CODE_0DB9F6: B7 6B LDA [$6B],Y ;\ CODE_0DB9F8: C9 0E CMP.B #$0E ; | If we're on tile 10E... CODE_0DB9FA: D0 05 BNE CODE_0DBA01 ;/ CODE_0DB9FC: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DB9FF: A2 0B LDX.B #$0B ;/ add 10B/10C instead CODE_0DBA01: 8A TXA ;\ CODE_0DBA02: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DBA05: E8 INX ; | Add tiles CODE_0DBA06: 8A TXA ; | CODE_0DBA07: 97 6B STA [$6B],Y ;/ Return0DBA09: 60 RTS ; Return ;Ledge (forest) CODE_0DBA0A: A4 57 LDY $57 ; Position CODE_0DBA0C: A5 59 LDA $59 ;\ CODE_0DBA0E: 29 0F AND.B #$0F ; | CODE_0DBA10: 85 00 STA $00 ; | Width CODE_0DBA12: AA TAX ;/ CODE_0DBA13: A5 59 LDA $59 ;\ CODE_0DBA15: 4A LSR ; | CODE_0DBA16: 4A LSR ; | CODE_0DBA17: 4A LSR ; | Height CODE_0DBA18: 4A LSR ; | CODE_0DBA19: 85 01 STA $01 ;/ CODE_0DBA1B: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DBA1E: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DBA21: A9 0E LDA.B #$0E ; | Add actual ledge tiles CODE_0DBA23: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DBA26: CA DEX ;\ CODE_0DBA27: 10 F5 BPL CODE_0DBA1E ; | Check for end of the row CODE_0DBA29: 4C 37 BA JMP.W CODE_0DBA37 ;/ CODE_0DBA2C: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DBA2F: A9 B8 LDA.B #$B8 ; | Add dirt tiles CODE_0DBA31: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DBA34: CA DEX ;\ CODE_0DBA35: 10 F5 BPL CODE_0DBA2C ;/ Check for end of the row CODE_0DBA37: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DBA3A: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DBA3D: A6 00 LDX $00 ; Reload width CODE_0DBA3F: C6 01 DEC $01 ;\ CODE_0DBA41: 10 E9 BPL CODE_0DBA2C ;/ Check for end of the object Return0DBA43: 60 RTS ; Return ;Left/right and top edge (forest) DATA_0DBA44: .db $5F,$5E,$10,$0F ; Top tiles (bad LM, show the ones with nonsolid left/right edges! You can render them correctly, so WHY NOT LET US ADD IT???) DATA_0DBA48: .db $60,$5D,$C5,$C4 ; Bottom tiles CODE_0DBA4C: A4 57 LDY $57 ; Position CODE_0DBA4E: A5 59 LDA $59 ;\ CODE_0DBA50: 29 0F AND.B #$0F ; | Type CODE_0DBA52: AA TAX ;/ CODE_0DBA53: A5 59 LDA $59 ;\ CODE_0DBA55: 4A LSR ; | CODE_0DBA56: 4A LSR ; | CODE_0DBA57: 4A LSR ; | Height CODE_0DBA58: 4A LSR ; | CODE_0DBA59: 85 00 STA $00 ;/ CODE_0DBA5B: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DBA5E: BF 44 BA 0D LDA.L DATA_0DBA44,X ; | Add top tile CODE_0DBA62: 97 6B STA [$6B],Y ;/ CODE_0DBA64: 4C 74 BA JMP.W CODE_0DBA74 CODE_0DBA67: E0 02 CPX.B #$02 ;\ CODE_0DBA69: 10 03 BPL CODE_0DBA6E ;/ Check if it's got a solid left/right edge CODE_0DBA6B: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DBA6E: BF 48 BA 0D LDA.L DATA_0DBA48,X ; | Add tile CODE_0DBA72: 97 6B STA [$6B],Y ;/ CODE_0DBA74: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer down CODE_0DBA77: C6 00 DEC $00 ;\ CODE_0DBA79: 10 EC BPL CODE_0DBA67 ;/ Check for end of the object Return0DBA7B: 60 RTS ; Return ;Forest tree top (worst coding I've ever seen) DATA_0DBA7C: .db $B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4 DATA_0DBA8C: .db $B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4 DATA_0DBA9C: .db $B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B4,$B5,$B3,$B5,$B3 DATA_0DBAAC: .db $B3,$B4,$B4,$B5,$B3,$B4,$B4,$B4,$B4,$B5,$B3,$B5,$B6,$B1,$B6,$B1 DATA_0DBABC: .db $B1,$B3,$B5,$B6,$B1,$B3,$B5,$B3,$B5,$B6,$B1,$B6,$25,$25,$25,$25 DATA_0DBACC: .db $25,$B1,$B6,$25,$25,$B1,$B6,$B1,$B6,$25,$25,$25,$25,$25,$25,$25 CODE_0DBADC: A5 59 LDA $59 ;\ CODE_0DBADE: 85 0F STA $0F ;/ Copy size CODE_0DBAE0: A5 57 LDA $57 ;\ CODE_0DBAE2: 85 0E STA $0E ; | Copy position CODE_0DBAE4: A8 TAY ;/ CODE_0DBAE5: A2 00 LDX.B #$00 CODE_0DBAE7: A9 05 LDA.B #$05 ;\ CODE_0DBAE9: 85 01 STA $01 ;/ Height CODE_0DBAEB: A9 0F LDA.B #$0F ;\ CODE_0DBAED: 85 00 STA $00 ;/ Width of one screen CODE_0DBAEF: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DBAF2: A5 00 LDA $00 ;\ CODE_0DBAF4: 85 02 STA $02 ;/ Copy width CODE_0DBAF6: BF 7C BA 0D LDA.L DATA_0DBA7C,X ;\ CODE_0DBAFA: 20 5B A9 JSR.W CODE_0DA95B ;/ Add tile CODE_0DBAFD: E8 INX ;\ CODE_0DBAFE: C6 02 DEC $02 ; | Check for end of the line CODE_0DBB00: 10 F4 BPL CODE_0DBAF6 ;/ CODE_0DBB02: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DBB05: A5 0E LDA $0E ;\ CODE_0DBB07: 18 CLC ; | CODE_0DBB08: 69 10 ADC.B #$10 ; | CODE_0DBB0A: 85 0E STA $0E ; | Move pointer downwards one tile CODE_0DBB0C: A8 TAY ; | CODE_0DBB0D: 90 03 BCC CODE_0DBB12 ; | CODE_0DBB0F: 20 87 A9 JSR.W CODE_0DA987 ;/ CODE_0DBB12: C6 01 DEC $01 ;\ CODE_0DBB14: 10 DC BPL CODE_0DBAF2 ;/ Check for end of this area CODE_0DBB16: A5 6B LDA $6B ;\ CODE_0DBB18: 18 CLC ; | CODE_0DBB19: 69 B0 ADC.B #$B0 ; | CODE_0DBB1B: 85 6B STA $6B ; | CODE_0DBB1D: 85 6E STA $6E ; | Move pointer downwards one screen (if carry doesn't get set, it screws up) CODE_0DBB1F: A5 6C LDA $6C ; | CODE_0DBB21: 69 00 ADC.B #$00 ; | CODE_0DBB23: 85 6C STA $6C ; | CODE_0DBB25: 85 6F STA $6F ;/ CODE_0DBB27: C6 0F DEC $0F ;\ CODE_0DBB29: 10 B5 BPL CODE_0DBAE0 ;/ Check for end of the object Return0DBB2B: 60 RTS ; Return ;Ice blue vertical pipe CODE_0DBB2C: A4 57 LDY $57 ; Position CODE_0DBB2E: A5 59 LDA $59 ;\ CODE_0DBB30: 4A LSR ; | CODE_0DBB31: 4A LSR ; | CODE_0DBB32: 4A LSR ; | Height CODE_0DBB33: 4A LSR ; | CODE_0DBB34: AA TAX ;/ CODE_0DBB35: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DBB38: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DBB3B: A9 61 LDA.B #$61 ; | Add top left tile CODE_0DBB3D: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DBB40: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DBB43: A9 62 LDA.B #$62 ; | Add top right tile CODE_0DBB45: 97 6B STA [$6B],Y ;/ CODE_0DBB47: 4C 59 BB JMP.W CODE_0DBB59 CODE_0DBB4A: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DBB4D: A9 63 LDA.B #$63 ; | Add middle left tile CODE_0DBB4F: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DBB52: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DBB55: A9 64 LDA.B #$64 ; | Add middle right tile CODE_0DBB57: 97 6B STA [$6B],Y ;/ CODE_0DBB59: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DBB5C: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DBB5F: CA DEX ;\ CODE_0DBB60: 10 E8 BPL CODE_0DBB4A ;/ Check for end of the object Return0DBB62: 60 RTS ; Return ;Ice blue turn tiles CODE_0DBB63: A2 0E LDX.B #$0E ;\ CODE_0DBB65: 4C C3 A8 JMP.W CODE_0DA8C3 ;/ Hijack the this-code-handles-many-objects code Empty0DBB68: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBB70: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBB78: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBB80: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBB88: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBB90: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBB98: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBA0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBA8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBB0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBB8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBC0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBC8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBD0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBD8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBE0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBE8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBF0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DBBF8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_0DBC00: .db $F4,$09,$F7,$09,$F5,$09,$FC,$09 DATA_0DBC08: .db $F5,$49,$FC,$09,$F5,$09,$FD,$09 DATA_0DBC10: .db $F5,$49,$FD,$09,$F6,$09,$F8,$09 DATA_0DBC18: .db $F7,$09,$F7,$89,$FE,$49,$FF,$89 DATA_0DBC20: .db $FE,$89,$FF,$09,$FF,$89,$FE,$49 DATA_0DBC28: .db $FE,$09,$FF,$09,$F8,$09,$F8,$89 DATA_0DBC30: .db $F7,$09,$F9,$09,$FE,$09,$FA,$09 DATA_0DBC38: .db $FF,$49,$FA,$09,$FE,$09,$FA,$49 DATA_0DBC40: .db $FE,$C9,$FA,$09,$F8,$09,$FB,$09 DATA_0DBC48: .db $F4,$29,$F7,$29,$F5,$29,$FC,$29 DATA_0DBC50: .db $F5,$69,$FC,$29,$F5,$29,$FD,$29 DATA_0DBC58: .db $F7,$29,$F7,$A9,$FE,$69,$FF,$A9 DATA_0DBC60: .db $FE,$A9,$FF,$29,$FF,$A9,$FE,$69 DATA_0DBC68: .db $F7,$29,$F9,$29,$FE,$29,$FA,$29 DATA_0DBC70: .db $FF,$69,$FA,$29,$FE,$29,$FA,$69 DATA_0DBC78: .db $C8,$29,$CA,$29,$C7,$29,$C9,$29 DATA_0DBC80: .db $71,$09,$73,$09,$FA,$08,$FA,$08 DATA_0DBC88: .db $FA,$08,$FA,$08,$FA,$08,$FA,$08 DATA_0DBC90: .db $FA,$08,$FA,$08,$70,$29,$72,$29 DATA_0DBC98: .db $D3,$99,$D3,$19,$D4,$99,$D4,$19 DATA_0DBCA0: .db $B1,$81,$A1,$81,$B2,$81,$A2,$81 DATA_0DBCA8: .db $B3,$81,$A3,$81,$B4,$81,$A4,$81 DATA_0DBCB0: .db $F8,$00,$F8,$00,$AC,$01,$BC,$01 DATA_0DBCB8: .db $AB,$41,$BB,$41,$F8,$00,$F8,$00 DATA_0DBCC0: .db $F8,$00,$F8,$00,$AB,$01,$BB,$01 DATA_0DBCC8: .db $AF,$01,$BF,$01,$F8,$00,$F8,$00 DATA_0DBCD0: .db $A1,$01,$B1,$01,$A2,$01,$B2,$01 DATA_0DBCD8: .db $A3,$01,$B3,$01,$A4,$01,$B4,$01 DATA_0DBCE0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBCE8: .db $8A,$1D,$8A,$1D,$F8,$1C,$F8,$1C DATA_0DBCF0: .db $F8,$1C,$F8,$1C,$8A,$5D,$8A,$5D DATA_0DBCF8: .db $8B,$1D,$F8,$1C,$8B,$1D,$F8,$1C DATA_0DBD00: .db $F8,$1C,$8B,$9D,$F8,$1C,$8B,$9D DATA_0DBD08: .db $A5,$0D,$B5,$0D,$A6,$0D,$B6,$0D DATA_0DBD10: .db $A7,$0D,$B7,$0D,$A8,$0D,$B8,$0D DATA_0DBD18: .db $A9,$0D,$B9,$0D,$AA,$0D,$BA,$0D DATA_0DBD20: .db $A0,$0D,$9A,$0D,$F3,$0D,$9B,$0D DATA_0DBD28: .db $EB,$0D,$ED,$0D,$EC,$0D,$DD,$0D DATA_0DBD30: .db $EC,$4D,$DD,$4D,$EB,$4D,$ED,$4D DATA_0DBD38: .db $DD,$4D,$DD,$4D,$DD,$0D,$EF,$0D DATA_0DBD40: .db $DD,$4D,$EF,$4D,$DD,$0D,$DD,$0D DATA_0DBD48: .db $DD,$4D,$EE,$0D,$DD,$0D,$EE,$4D DATA_0DBD50: .db $7E,$0D,$7E,$0D,$21,$0C,$21,$0C DATA_0DBD58: .db $22,$0C,$22,$0C,$7F,$0D,$7F,$0D DATA_0DBD60: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBD68: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBD70: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBD78: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBD80: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBD88: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBD90: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBD98: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDA0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDA8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDB0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDB8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDC0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDC8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDD0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDD8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDE0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDE8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDF0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBDF8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE00: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE08: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE10: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE18: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE20: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE28: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE30: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE38: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE40: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE48: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE50: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE58: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE60: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE68: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE70: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE78: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE80: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE88: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE90: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBE98: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBEA0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBEA8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBEB0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBEB8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBEC0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBEC8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBED0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBED8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBEE0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBEE8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBEF0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBEF8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF00: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF08: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF10: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF18: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF20: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF28: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF30: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF38: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF40: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF48: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF50: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF58: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF60: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF68: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF70: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF78: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF80: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF88: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF90: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBF98: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFA0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFA8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFB0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFB8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFC0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFC8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFD0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFD8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFE0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFE8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFF0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DBFF8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC000: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC008: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC010: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC018: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC020: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC028: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC030: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC038: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC040: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC048: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC050: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC058: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC060: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC068: .db $46,$10,$46,$90,$46,$50,$46,$D0 DATA_0DC070: .db $4A,$10,$4A,$90,$4A,$50,$4A,$D0 DATA_0DC078: .db $C3,$15,$D3,$19,$C4,$15,$D4,$19 DATA_0DC080: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC088: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC090: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC098: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC0A0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC0A8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC0B0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC0B8: .db $C5,$01,$D5,$01,$C6,$01,$D6,$01 DATA_0DC0C0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC0C8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC0D0: .db $FA,$19,$FD,$19,$FB,$19,$FE,$19 DATA_0DC0D8: .db $FC,$19,$FF,$19,$FC,$19,$FF,$19 DATA_0DC0E0: .db $FB,$59,$FE,$59,$FA,$59,$FD,$59 DATA_0DC0E8: .db $85,$19,$96,$19,$87,$19,$97,$19 DATA_0DC0F0: .db $96,$99,$85,$99,$97,$99,$87,$99 DATA_0DC0F8: .db $88,$19,$98,$19,$89,$19,$99,$19 DATA_0DC100: .db $89,$59,$99,$59,$88,$59,$98,$59 DATA_0DC108: .db $F4,$09,$F7,$09,$F5,$09,$FC,$09 DATA_0DC110: .db $F5,$49,$FC,$09,$F5,$09,$FD,$09 DATA_0DC118: .db $F5,$49,$FD,$09,$F6,$09,$F8,$09 DATA_0DC120: .db $F7,$09,$F7,$89,$FE,$49,$FF,$89 DATA_0DC128: .db $FE,$89,$FF,$09,$FF,$89,$FE,$49 DATA_0DC130: .db $FE,$09,$FF,$09,$F8,$09,$F8,$89 DATA_0DC138: .db $F7,$09,$F9,$09,$FE,$09,$FA,$09 DATA_0DC140: .db $FF,$49,$FA,$09,$FE,$09,$FA,$49 DATA_0DC148: .db $FE,$C9,$FA,$09,$F8,$09,$FB,$09 DATA_0DC150: .db $AD,$01,$BD,$01,$8D,$01,$9D,$01 DATA_0DC158: .db $8E,$01,$9E,$01,$8F,$01,$9F,$01 DATA_0DC160: .db $8C,$01,$9C,$01,$8D,$01,$9D,$01 DATA_0DC168: .db $8E,$01,$9E,$01,$AE,$01,$BE,$01 DATA_0DC170: .db $26,$14,$36,$14,$26,$54,$36,$54 DATA_0DC178: .db $26,$18,$36,$18,$26,$58,$36,$58 DATA_0DC180: .db $26,$1C,$36,$1C,$26,$5C,$36,$5C DATA_0DC188: .db $27,$1C,$37,$1C,$27,$5C,$37,$5C ; This calls the correct code for the object if the tileset is T:1 in LM (castle) CODE_0DC190: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0DC192: A6 5A LDX $5A ; Load object number CODE_0DC194: CA DEX ; We'll never see object number 0, so change the index to it won't clutter the table CODE_0DC195: 8A TXA ;\ CODE_0DC196: 22 FA 86 00 JSL.L ExecutePtrLong ;/ and call the correct subroutine PtrsLong0DC19A: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Water (Blue) PtrsLong0DC19D: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible coin blocks PtrsLong0DC1A0: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible note blocks PtrsLong0DC1A3: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible POW coins PtrsLong0DC1A6: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Coins PtrsLong0DC1A9: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Walk-through dirt PtrsLong0DC1AC: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Water (Other color) PtrsLong0DC1AF: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Note blocks PtrsLong0DC1B2: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Turn blocks PtrsLong0DC1B5: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Coin ? blocks PtrsLong0DC1B8: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Throw blocks PtrsLong0DC1BB: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Black piranha plants PtrsLong0DC1BE: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Cement blocks PtrsLong0DC1C1: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Brown blocks PtrsLong0DC1C4: 26 AA 0D .dw CODE_0DAA26 .db :$CODE_0DAA26 ; Vertical pipes PtrsLong0DC1C7: B4 AA 0D .dw CODE_0DAAB4 .db :$CODE_0DAAB4 ; Horizontal pipes PtrsLong0DC1CA: 0D AB 0D .dw CODE_0DAB0D .db :$CODE_0DAB0D ; Bullet shooter PtrsLong0DC1CD: 3E AB 0D .dw CODE_0DAB3E .db :$CODE_0DAB3E ; Slopes PtrsLong0DC1D0: 75 B0 0D .dw CODE_0DB075 .db :$CODE_0DB075 ; Ledge edges PtrsLong0DC1D3: D4 B1 0D .dw CODE_0DB1D4 .db :$CODE_0DB1D4 ; Ground ledge PtrsLong0DC1D6: 24 B2 0D .dw CODE_0DB224 .db :$CODE_0DB224 ; Midway/Goal point PtrsLong0DC1D9: 36 B3 0D .dw ADDR_0DB336 .db :$ADDR_0DB336 ; Blue coins PtrsLong0DC1DC: BD B3 0D .dw CODE_0DB3BD .db :$CODE_0DB3BD ; Rope/Clouds PtrsLong0DC1DF: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Water surface (ani) PtrsLong0DC1E2: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Water surface (not ani) PtrsLong0DC1E5: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Lava surface (ani) PtrsLong0DC1E8: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Net top edge PtrsLong0DC1EB: 2D B4 0D .dw CODE_0DB42D .db :$CODE_0DB42D ; Donut bridge PtrsLong0DC1EE: 61 B4 0D .dw CODE_0DB461 .db :$CODE_0DB461 ; Net bottom edge PtrsLong0DC1F1: 9E B4 0D .dw CODE_0DB49E .db :$CODE_0DB49E ; Net vertical edge PtrsLong0DC1F4: 1F B5 0D .dw CODE_0DB51F .db :$CODE_0DB51F ; Vert. Pipe/Bone/Log PtrsLong0DC1F7: 47 B5 0D .dw CODE_0DB547 .db :$CODE_0DB547 ; Horiz. Pipe/Bone/Log PtrsLong0DC1FA: C8 B1 0D .dw CODE_0DB1C8 .db :$CODE_0DB1C8 ; Long ground ledge PtrsLong0DC1FD: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;\ PtrsLong0DC200: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC203: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC206: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC209: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC20C: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC20F: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC212: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | Unused (LM will declare these to be "reserved" and won't let you use them) PtrsLong0DC215: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC218: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC21B: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC21E: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;/ PtrsLong0DC221: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;\ PtrsLong0DC224: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC227: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC22A: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | These could've been tileset specific, but Nintendo didn't have that many ideas for them. PtrsLong0DC22D: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DC230: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;/ PtrsLong0DC233: D8 C5 0D .dw CODE_0DC5D8 .db :$CODE_0DC5D8 ; Those weird double ended pipes that Mario can walk through the middles of PtrsLong0DC236: 8A C5 0D .dw CODE_0DC58A .db :$CODE_0DC58A ; Rock wall background PtrsLong0DC239: EF C4 0D .dw CODE_0DC4EF .db :$CODE_0DC4EF ; Large spikes PtrsLong0DC23C: 12 CF 0D .dw CODE_0DCF12 .db :$CODE_0DCF12 ; Horizontal line guide lines PtrsLong0DC23F: 33 CF 0D .dw CODE_0DCF33 .db :$CODE_0DCF33 ; Vertical line guide lines PtrsLong0DC242: 16 B9 0D .dw CODE_0DB916 .db :$CODE_0DB916 ; Blue switch blocks PtrsLong0DC245: 1E B9 0D .dw CODE_0DB91E .db :$CODE_0DB91E ; Red switch blocks PtrsLong0DC248: C9 C4 0D .dw CODE_0DC4C9 .db :$CODE_0DC4C9 ; Ledge PtrsLong0DC24B: 78 C4 0D .dw CODE_0DC478 .db :$CODE_0DC478 ; Stone block wall PtrsLong0DC24E: 41 C3 0D .dw CODE_0DC341 .db :$CODE_0DC341 ; Conveyors PtrsLong0DC251: 2E C4 0D .dw CODE_0DC42E .db :$CODE_0DC42E ; Horizontal rows of spikes PtrsLong0DC254: 4F C4 0D .dw CODE_0DC44F .db :$CODE_0DC44F ; Vertical rows of spikes / vertical columns ;Conveyor end tiles DATA_0DC257: .db $07,$08 CODE_0DC259: A4 57 LDY $57 ; Position yawn CODE_0DC25B: A5 59 LDA $59 ;\ CODE_0DC25D: 38 SEC ; | CODE_0DC25E: E9 4B SBC.B #$4B ; | Fix object number yawn CODE_0DC260: AA TAX ;/ CODE_0DC261: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC264: BF 57 C2 0D LDA.L DATA_0DC257,X ; | Add object yawn CODE_0DC268: 97 6B STA [$6B],Y ;/ Return0DC26A: 60 RTS ; Return ;Castle entrance DATA_0DC26B: .db $73,$74,$75,$73,$74,$74,$7B,$79,$7A DATA_0DC274: .db $79,$7A,$7B,$79,$7A,$7B,$73,$74,$75 DATA_0DC27D: .db $73,$74,$74,$74,$75,$73,$77,$77,$78 DATA_0DC286: .db $76,$77,$77,$7A,$7B,$79,$7A,$7A,$7B DATA_0DC28F: .db $79,$7A,$7B,$73,$74,$74,$75,$73,$74 DATA_0DC298: .db $73,$75,$73,$77,$7A,$7A,$7B,$79,$7A DATA_0DC2A1: .db $79,$7B,$79,$7B,$7C,$7D,$7D,$7D,$7D DATA_0DC2AA: .db $25,$73,$74,$75,$7E,$7F,$7F,$7F,$7F DATA_0DC2B3: .db $25,$76,$77,$78,$80,$81,$81,$81,$81 DATA_0DC2BC: .db $25,$76,$77,$78,$82,$82,$82,$82,$7C DATA_0DC2C5: .db $25,$79,$7A,$7B,$83,$84,$84,$85,$80 DATA_0DC2CE: .db $25,$73,$74,$75,$83,$84,$84,$85,$7C DATA_0DC2D7: .db $25,$76,$77,$78,$83,$84,$84,$85,$7E DATA_0DC2E0: .db $25,$79,$7A,$7B,$83,$84,$84,$85,$80 CODE_0DC2E9: A4 57 LDY $57 ; Load position CODE_0DC2EB: A2 00 LDX.B #$00 CODE_0DC2ED: A9 08 LDA.B #$08 ; Width CODE_0DC2EF: 85 00 STA $00 CODE_0DC2F1: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC2F4: BF 6B C2 0D LDA.L DATA_0DC26B,X ; | Add tile CODE_0DC2F8: C9 25 CMP.B #$25 ; | \ CODE_0DC2FA: F0 02 BEQ CODE_0DC2FE ; | / Don't add the blank tiles for some reason CODE_0DC2FC: 97 6B STA [$6B],Y ;/ CODE_0DC2FE: 20 5D A9 JSR.W CODE_0DA95D ;\ CODE_0DC301: E8 INX ;/ Go to next tile CODE_0DC302: C6 00 DEC $00 ;\ CODE_0DC304: D0 EB BNE CODE_0DC2F1 ;/ Check for end of line CODE_0DC306: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC309: BF 6B C2 0D LDA.L DATA_0DC26B,X ; | Add tile without checking for tile 25? CODE_0DC30D: 97 6B STA [$6B],Y ;/ CODE_0DC30F: E8 INX ;\ CODE_0DC310: 20 7D A9 JSR.W CODE_0DA97D ;/ Go to next line CODE_0DC313: E0 7E CPX.B #$7E ;\ CODE_0DC315: D0 D6 BNE CODE_0DC2ED ;/ Check for end of object Return0DC317: 60 RTS ; Return ;Boss door DATA_0DC318: .db $98,$99 DATA_0DC31A: .db $9A,$9B DATA_0DC31C: .db $9C,$9C CODE_0DC31E: A4 57 LDY $57 ; Load position CODE_0DC320: A2 00 LDX.B #$00 CODE_0DC322: A9 01 LDA.B #$01 ; Width CODE_0DC324: 85 00 STA $00 CODE_0DC326: A5 00 LDA $00 ;\ CODE_0DC328: 85 01 STA $01 ;/ Reload size CODE_0DC32A: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC32D: BF 18 C3 0D LDA.L DATA_0DC318,X ; | Add object CODE_0DC331: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC334: E8 INX ;\ CODE_0DC335: C6 01 DEC $01 ;/ Go to next tile CODE_0DC337: 10 F1 BPL CODE_0DC32A ;\ CODE_0DC339: 20 7D A9 JSR.W CODE_0DA97D ;/ Check for end of line CODE_0DC33C: E0 06 CPX.B #$06 ; Total size CODE_0DC33E: D0 E6 BNE CODE_0DC326 Return0DC340: 60 RTS ; Return ;Conveyors CODE_0DC341: A5 59 LDA $59 ;\ CODE_0DC343: 29 02 AND.B #$02 ; | CODE_0DC345: 4A LSR ; | Check which direction the conveyor is facing CODE_0DC346: 22 FA 86 00 JSL.L ExecutePtrLong ;/ PtrsLong0DC34A: 58 C3 0D .dw CODE_0DC358 .db :$CODE_0DC358 ; Left D8 C3 0D .dw CODE_0DC3D8 .db :$CODE_0DC3D8 ; Right DATA_0DC350: .db $CE,$D1,$CF,$D0 ; Conveyor tiles DATA_0DC354: .db $F3,$F6,$F4,$F5 ; Slope assist tiles CODE_0DC358: A4 57 LDY $57 ; Position CODE_0DC35A: A9 00 LDA.B #$00 ;\ CODE_0DC35C: 85 02 STA $02 ;/ Width of the first line CODE_0DC35E: A5 59 LDA $59 ;\ CODE_0DC360: 29 03 AND.B #$03 ; | Type CODE_0DC362: AA TAX ;/ CODE_0DC363: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DC366: A5 59 LDA $59 ;\ CODE_0DC368: 4A LSR ; | CODE_0DC369: 4A LSR ; | CODE_0DC36A: 4A LSR ; | Size CODE_0DC36B: 4A LSR ; | CODE_0DC36C: 85 00 STA $00 ; | CODE_0DC36E: E6 00 INC $00 ;/ CODE_0DC370: A5 02 LDA $02 ;\ CODE_0DC372: 85 03 STA $03 ;/ Reload width of line CODE_0DC374: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC377: BF 50 C3 0D LDA.L DATA_0DC350,X ; | Add conveyor tile CODE_0DC37B: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC37E: C6 03 DEC $03 ;\ CODE_0DC380: 30 19 BMI CODE_0DC39B ;/ Check if it's the first line (i.e. if we need slope assist tiles) CODE_0DC382: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC385: BF 54 C3 0D LDA.L DATA_0DC354,X ; | Add slope assist tile CODE_0DC389: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC38C: 4C 97 C3 JMP.W CODE_0DC397 CODE_0DC38F: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC392: A9 3F LDA.B #$3F ; | Add dirt tiles CODE_0DC394: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC397: C6 03 DEC $03 ;\ CODE_0DC399: 10 F4 BPL CODE_0DC38F ;/ Check for end of the line CODE_0DC39B: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DC39E: E6 02 INC $02 ; Increase width of next line CODE_0DC3A0: C6 00 DEC $00 ;\ CODE_0DC3A2: F0 29 BEQ CODE_0DC3CD ;/ Check if it's the last line CODE_0DC3A4: 10 03 BPL CODE_0DC3A9 ;\ CODE_0DC3A6: 4C D7 C3 JMP.W Return0DC3D7 ;/ Check for end of the object CODE_0DC3A9: A5 57 LDA $57 ;\ CODE_0DC3AB: 18 CLC ; | Update index CODE_0DC3AC: 69 0F ADC.B #$0F ;/ CODE_0DC3AE: A8 TAY ;\ CODE_0DC3AF: 90 03 BCC CODE_0DC3B4 ; | Move pointer downwards if needed ADDR_0DC3B1: 20 87 A9 JSR.W CODE_0DA987 ;/ CODE_0DC3B4: 98 TYA ;\ CODE_0DC3B5: 29 0F AND.B #$0F ; | CODE_0DC3B7: C9 0F CMP.B #$0F ; | Check if we need to move the pointer leftwards CODE_0DC3B9: D0 0D BNE CODE_0DC3C8 ;/ CODE_0DC3BB: 98 TYA ;\ CODE_0DC3BC: 18 CLC ; | CODE_0DC3BD: 69 10 ADC.B #$10 ; | CODE_0DC3BF: A8 TAY ; | Move pointer downwards CODE_0DC3C0: 90 03 BCC CODE_0DC3C5 ; | CODE_0DC3C2: 20 87 A9 JSR.W CODE_0DA987 ;/ CODE_0DC3C5: 20 D6 A9 JSR.W CODE_0DA9D6 ; Move pointer leftwards CODE_0DC3C8: 84 57 STY $57 ; Save index CODE_0DC3CA: 4C 70 C3 JMP.W CODE_0DC370 CODE_0DC3CD: A5 02 LDA $02 ;\ CODE_0DC3CF: 85 03 STA $03 ;/ Reload width CODE_0DC3D1: 20 7D A9 JSR.W CODE_0DA97D ; Reload pointer CODE_0DC3D4: 4C 7E C3 JMP.W CODE_0DC37E ; Go to the add-slope-assist-tile area Return0DC3D7: 60 RTS ; Return CODE_0DC3D8: A4 57 LDY $57 ; Position CODE_0DC3DA: A9 00 LDA.B #$00 ;\ CODE_0DC3DC: 85 02 STA $02 ;/ Width of first line CODE_0DC3DE: A5 59 LDA $59 ;\ CODE_0DC3E0: 29 03 AND.B #$03 ; | Type CODE_0DC3E2: AA TAX ;/ CODE_0DC3E3: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DC3E6: A5 59 LDA $59 ;\ CODE_0DC3E8: 4A LSR ; | CODE_0DC3E9: 4A LSR ; | CODE_0DC3EA: 4A LSR ; | Height CODE_0DC3EB: 4A LSR ; | CODE_0DC3EC: 85 00 STA $00 ; | CODE_0DC3EE: E6 00 INC $00 ;/ CODE_0DC3F0: 4C 0D C4 JMP.W CODE_0DC40D CODE_0DC3F3: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC3F6: A9 3F LDA.B #$3F ; | Add dirt tiles CODE_0DC3F8: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC3FB: C6 03 DEC $03 ;\ CODE_0DC3FD: A5 03 LDA $03 ; | CODE_0DC3FF: C9 01 CMP.B #$01 ; | Check if we need more dirt tiles CODE_0DC401: D0 F0 BNE CODE_0DC3F3 ;/ CODE_0DC403: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC406: BF 54 C3 0D LDA.L DATA_0DC354,X ; | Add slope assist tile CODE_0DC40A: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC40D: A5 00 LDA $00 ;\ CODE_0DC40F: F0 1A BEQ Return0DC42B ;/ Check if it's the last line CODE_0DC411: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC414: BF 50 C3 0D LDA.L DATA_0DC350,X ; | Add actual slope tiles CODE_0DC418: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC41B: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DC41E: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DC421: E6 02 INC $02 ; Increase width of next line CODE_0DC423: A5 02 LDA $02 ;\ CODE_0DC425: 85 03 STA $03 ;/ Reload width of line CODE_0DC427: C6 00 DEC $00 ;\ CODE_0DC429: 10 D2 BPL CODE_0DC3FD ;/ Check for end of the object Return0DC42B: 60 RTS ; Return ;Horizontal rows of spikes DATA_0DC42C: .db $5A,$59 CODE_0DC42E: A4 57 LDY $57 ; Position CODE_0DC430: A5 59 LDA $59 ;\ CODE_0DC432: 29 0F AND.B #$0F ; | Width CODE_0DC434: 85 00 STA $00 ;/ CODE_0DC436: A5 59 LDA $59 ;\ CODE_0DC438: 4A LSR ; | CODE_0DC439: 4A LSR ; | CODE_0DC43A: 4A LSR ; | Type CODE_0DC43B: 4A LSR ; | CODE_0DC43C: AA TAX ;/ CODE_0DC43D: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC440: BF 2C C4 0D LDA.L DATA_0DC42C,X ; | Add tile CODE_0DC444: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC447: C6 00 DEC $00 ;\ CODE_0DC449: 10 F2 BPL CODE_0DC43D ;/ Check for end of the line Return0DC44B: 60 RTS ; Return ;Vertical rows of spikes / vertical columns DATA_0DC44C: .db $5B,$5C,$53 CODE_0DC44F: A4 57 LDY $57 ; Position CODE_0DC451: A5 59 LDA $59 ;\ CODE_0DC453: 4A LSR ; | CODE_0DC454: 4A LSR ; | CODE_0DC455: 4A LSR ; | Size CODE_0DC456: 4A LSR ; | CODE_0DC457: 85 00 STA $00 ;/ CODE_0DC459: A5 59 LDA $59 ;\ CODE_0DC45B: 29 0F AND.B #$0F ; | Type CODE_0DC45D: AA TAX ;/ CODE_0DC45E: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC461: BF 4C C4 0D LDA.L DATA_0DC44C,X ; | Add tile CODE_0DC465: 97 6B STA [$6B],Y ;/ CODE_0DC467: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DC46A: C6 00 DEC $00 ;\ CODE_0DC46C: 10 F0 BPL CODE_0DC45E ;/ Check for end of the object Return0DC46E: 60 RTS ; Return ;Stone block wall DATA_0DC46F: .db $5D,$60,$63 ; Top tiles DATA_0DC472: .db $5E,$61,$64 ; Middle tiles DATA_0DC475: .db $5F,$62,$65 ; Bottom tiles CODE_0DC478: A4 57 LDY $57 ; Position CODE_0DC47A: A5 59 LDA $59 ;\ CODE_0DC47C: 29 0F AND.B #$0F ; | Height CODE_0DC47E: 85 00 STA $00 ;/ CODE_0DC480: A5 59 LDA $59 ;\ CODE_0DC482: 4A LSR ; | CODE_0DC483: 4A LSR ; | CODE_0DC484: 4A LSR ; | Width CODE_0DC485: 4A LSR ; | CODE_0DC486: 85 01 STA $01 ;/ CODE_0DC488: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DC48B: A2 00 LDX.B #$00 ; Place in table CODE_0DC48D: A5 00 LDA $00 ;\ CODE_0DC48F: 85 02 STA $02 ;/ Reload width CODE_0DC491: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC494: BF 6F C4 0D LDA.L DATA_0DC46F,X ; | Add left tile CODE_0DC498: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC49B: 4C A8 C4 JMP.W CODE_0DC4A8 CODE_0DC49E: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC4A1: BF 72 C4 0D LDA.L DATA_0DC472,X ; | Add middle tiles CODE_0DC4A5: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC4A8: C6 02 DEC $02 ;\ CODE_0DC4AA: D0 F2 BNE CODE_0DC49E ;/ Check if we need more middle tiles CODE_0DC4AC: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC4AF: BF 75 C4 0D LDA.L DATA_0DC475,X ; | Add right tile CODE_0DC4B3: 97 6B STA [$6B],Y ;/ CODE_0DC4B5: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DC4B8: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DC4BB: A2 01 LDX.B #$01 ; Set index to tables CODE_0DC4BD: C6 01 DEC $01 ;\ CODE_0DC4BF: 30 07 BMI Return0DC4C8 ;/ Check for end of the object CODE_0DC4C1: D0 02 BNE CODE_0DC4C5 ;\ CODE_0DC4C3: A2 02 LDX.B #$02 ; | Check if it's the last tile and set index CODE_0DC4C5: 4C 8D C4 JMP.W CODE_0DC48D ;/ Return0DC4C8: 60 RTS ; Return ;Ledge (castle) CODE_0DC4C9: A4 57 LDY $57 ; Position CODE_0DC4CB: A5 59 LDA $59 ;\ CODE_0DC4CD: 29 0F AND.B #$0F ; | Width CODE_0DC4CF: 85 00 STA $00 ;/ CODE_0DC4D1: A6 00 LDX $00 ; Load width CODE_0DC4D3: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC4D6: A9 09 LDA.B #$09 ; | Add top tile CODE_0DC4D8: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC4DB: CA DEX ;\ CODE_0DC4DC: 10 F5 BPL CODE_0DC4D3 ;/ Check if we need more top tiles CODE_0DC4DE: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DC4E1: A6 00 LDX $00 ; Reload width CODE_0DC4E3: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC4E6: A9 86 LDA.B #$86 ; | Add bottom tile CODE_0DC4E8: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC4EB: CA DEX ;\ CODE_0DC4EC: 10 F5 BPL CODE_0DC4E3 ;/ Check if we need more bottom tiles Return0DC4EE: 60 RTS ; Return ;Large spikes CODE_0DC4EF: A4 57 LDY $57 ; Position CODE_0DC4F1: A5 59 LDA $59 ;\ CODE_0DC4F3: 29 0F AND.B #$0F ; | Direction CODE_0DC4F5: AA TAX ;/ CODE_0DC4F6: A5 59 LDA $59 ;\ CODE_0DC4F8: 4A LSR ; | CODE_0DC4F9: 4A LSR ; | CODE_0DC4FA: 4A LSR ; | Height CODE_0DC4FB: 4A LSR ; | CODE_0DC4FC: 85 00 STA $00 ;/ CODE_0DC4FE: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DC501: E0 00 CPX.B #$00 ;\ CODE_0DC503: F0 19 BEQ CODE_0DC51E ;/ Check if it points upwards CODE_0DC505: 20 5D A9 JSR.W CODE_0DA95D ; Don't put anything at the first spot CODE_0DC508: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC50B: A9 87 LDA.B #$87 ; | CODE_0DC50D: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DC510: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | Add top tiles CODE_0DC513: A9 88 LDA.B #$88 ; | CODE_0DC515: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC518: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DC51B: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DC51E: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC521: A9 89 LDA.B #$89 ; | CODE_0DC523: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DC526: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DC529: A9 66 LDA.B #$66 ; | CODE_0DC52B: 20 5B A9 JSR.W CODE_0DA95B ; | Add upper row CODE_0DC52E: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DC531: A9 67 LDA.B #$67 ; | CODE_0DC533: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DC536: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | CODE_0DC539: A9 8A LDA.B #$8A ; | CODE_0DC53B: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC53E: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DC541: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DC544: C6 00 DEC $00 ;\ CODE_0DC546: 30 2A BMI CODE_0DC572 ;/ Check for end of the object CODE_0DC548: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC54B: A9 8B LDA.B #$8B ; | CODE_0DC54D: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DC550: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DC553: A9 68 LDA.B #$68 ; | CODE_0DC555: 20 5B A9 JSR.W CODE_0DA95B ; | Add lower row CODE_0DC558: 20 08 AA JSR.W Sta1To6ePointer ; | CODE_0DC55B: A9 69 LDA.B #$69 ; | CODE_0DC55D: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DC560: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | CODE_0DC563: A9 8C LDA.B #$8C ; | CODE_0DC565: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC568: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DC56B: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DC56E: C6 00 DEC $00 ;\ CODE_0DC570: 10 AC BPL CODE_0DC51E ;/ Check for end of the object CODE_0DC572: E0 00 CPX.B #$00 ;\ CODE_0DC574: D0 13 BNE Return0DC589 ;/ Check if it points downwards CODE_0DC576: 20 5D A9 JSR.W CODE_0DA95D ; Don't put anything at the first spot CODE_0DC579: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC57C: A9 8D LDA.B #$8D ; | CODE_0DC57E: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DC581: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | Add bottom tiles CODE_0DC584: A9 8E LDA.B #$8E ; | CODE_0DC586: 20 5B A9 JSR.W CODE_0DA95B ;/ Return0DC589: 60 RTS ; Return ;Rock wall background CODE_0DC58A: A4 57 LDY $57 ; Position CODE_0DC58C: A5 59 LDA $59 ;\ CODE_0DC58E: 29 0F AND.B #$0F ; | Width CODE_0DC590: 85 00 STA $00 ;/ CODE_0DC592: A5 59 LDA $59 ;\ CODE_0DC594: 4A LSR ; | CODE_0DC595: 4A LSR ; | CODE_0DC596: 4A LSR ; | Height CODE_0DC597: 4A LSR ; | CODE_0DC598: 85 01 STA $01 ;/ CODE_0DC59A: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DC59D: A6 00 LDX $00 ; Load width CODE_0DC59F: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC5A2: A9 94 LDA.B #$94 ; | CODE_0DC5A4: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DC5A7: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | Add upper row CODE_0DC5AA: A9 95 LDA.B #$95 ; | CODE_0DC5AC: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC5AF: CA DEX ;\ CODE_0DC5B0: 10 ED BPL CODE_0DC59F ;/ Check for end of the line CODE_0DC5B2: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DC5B5: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DC5B8: A6 00 LDX $00 ; Reload width CODE_0DC5BA: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC5BD: A9 96 LDA.B #$96 ; | CODE_0DC5BF: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DC5C2: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | Add lower row CODE_0DC5C5: A9 97 LDA.B #$97 ; | CODE_0DC5C7: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC5CA: CA DEX ;\ CODE_0DC5CB: 10 ED BPL CODE_0DC5BA ;/ Check for end of the line CODE_0DC5CD: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DC5D0: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DC5D3: C6 01 DEC $01 ;\ CODE_0DC5D5: 10 C6 BPL CODE_0DC59D ;/ Check for end of the object Return0DC5D7: 60 RTS ; Return ;Those weird double ended pipes that Mario can walk through the middles of CODE_0DC5D8: A4 57 LDY $57 ; Position CODE_0DC5DA: A5 59 LDA $59 ;\ CODE_0DC5DC: 4A LSR ; | CODE_0DC5DD: 4A LSR ; | CODE_0DC5DE: 4A LSR ; | Height CODE_0DC5DF: 4A LSR ; | CODE_0DC5E0: 85 00 STA $00 ;/ CODE_0DC5E2: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DC5E5: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC5E8: A9 33 LDA.B #$33 ; | Add top left tile CODE_0DC5EA: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC5ED: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC5F0: A9 34 LDA.B #$34 ; | Add top right tile CODE_0DC5F2: 97 6B STA [$6B],Y ;/ CODE_0DC5F4: 4C 06 C6 JMP.W CODE_0DC606 CODE_0DC5F7: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC5FA: A9 9D LDA.B #$9D ; | Add middle left tile CODE_0DC5FC: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC5FF: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DC602: A9 9E LDA.B #$9E ; | Add middle right tile CODE_0DC604: 97 6B STA [$6B],Y ;/ CODE_0DC606: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DC609: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DC60C: C6 00 DEC $00 ;\ CODE_0DC60E: D0 E7 BNE CODE_0DC5F7 ;/ Check for end of the object CODE_0DC610: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC613: A9 33 LDA.B #$33 ; | Add bottom left tile CODE_0DC615: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DC618: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DC61B: A9 34 LDA.B #$34 ; | Add bottom right tile CODE_0DC61D: 97 6B STA [$6B],Y ;/ Return0DC61F: 60 RTS ; Return Empty0DC620: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC628: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC630: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC638: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC640: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC648: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC650: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC658: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC660: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC668: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC670: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC678: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC680: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC688: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC690: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC698: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6A0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6A8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6B0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6B8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6C0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6C8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6D0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6D8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6E0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6E8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6F0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC6F8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC700: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC708: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC710: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC718: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC720: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC728: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC730: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC738: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC740: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC748: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC750: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC758: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC760: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC768: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC770: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC778: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC780: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC788: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC790: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC798: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7A0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7A8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7B0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7B8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7C0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7C8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7D0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7D8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7E0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7E8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7F0: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DC7F8: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DATA_0DC800: .db $C5,$09,$C5,$09,$85,$09,$C6,$89 DATA_0DC808: .db $C6,$09,$85,$89,$85,$09,$C6,$89 DATA_0DC810: .db $C6,$09,$85,$89,$C5,$49,$C5,$49 DATA_0DC818: .db $C1,$1D,$D1,$1D,$C2,$1D,$F8,$1C DATA_0DC820: .db $C2,$5D,$F8,$1C,$C1,$5D,$D1,$5D DATA_0DC828: .db $D1,$9D,$C1,$9D,$F8,$1C,$C2,$9D DATA_0DC830: .db $F8,$1C,$C2,$DD,$D1,$DD,$C1,$DD DATA_0DC838: .db $F8,$1C,$DC,$1D,$CD,$1D,$DD,$1D DATA_0DC840: .db $CE,$1D,$F8,$1C,$CF,$1D,$F8,$1C DATA_0DC848: .db $E0,$1D,$F0,$1D,$F8,$1C,$F8,$1C DATA_0DC850: .db $F8,$1C,$F8,$1C,$E0,$5D,$F0,$5D DATA_0DC858: .db $CF,$5D,$F8,$1C,$CE,$5D,$F8,$1C DATA_0DC860: .db $CD,$5D,$DD,$5D,$F8,$1C,$DC,$5D DATA_0DC868: .db $DC,$9D,$F8,$1C,$DD,$9D,$CD,$9D DATA_0DC870: .db $F8,$1C,$CE,$9D,$F8,$1C,$CF,$9D DATA_0DC878: .db $F0,$9D,$E0,$9D,$F8,$1C,$F8,$1C DATA_0DC880: .db $F8,$1C,$F8,$1C,$F0,$DD,$E0,$DD DATA_0DC888: .db $F8,$1C,$CF,$DD,$F8,$1C,$CE,$DD DATA_0DC890: .db $DD,$DD,$CD,$DD,$DC,$DD,$F8,$1C DATA_0DC898: .db $F8,$1C,$CC,$1D,$CC,$1D,$F8,$1C DATA_0DC8A0: .db $CC,$5D,$F8,$1C,$F8,$1C,$CC,$5D DATA_0DC8A8: .db $F8,$1C,$F8,$1C,$E1,$1D,$F1,$1D DATA_0DC8B0: .db $E1,$5D,$F1,$5D,$F8,$1C,$F8,$1C DATA_0DC8B8: .db $E1,$1D,$F1,$1D,$F8,$1C,$F8,$1C DATA_0DC8C0: .db $F8,$1C,$F8,$1C,$E1,$5D,$F1,$5D DATA_0DC8C8: .db $F8,$1C,$F2,$1D,$F8,$1C,$F3,$1D DATA_0DC8D0: .db $F2,$1D,$F8,$1C,$F3,$1D,$F8,$1C DATA_0DC8D8: .db $F3,$5D,$F8,$1C,$F2,$5D,$F8,$1C DATA_0DC8E0: .db $F8,$1C,$F3,$5D,$F8,$1C,$F2,$5D DATA_0DC8E8: .db $DE,$1D,$DE,$1D,$F8,$1C,$F8,$1C DATA_0DC8F0: .db $F8,$1C,$F8,$1C,$DE,$5D,$DE,$5D DATA_0DC8F8: .db $DF,$1D,$F8,$1C,$DF,$1D,$F8,$1C DATA_0DC900: .db $F8,$1C,$DF,$9D,$F8,$1C,$DF,$9D DATA_0DC908: .db $F8,$1C,$7C,$1C,$7C,$1C,$F8,$1C DATA_0DC910: .db $7D,$08,$F8,$1C,$F8,$1C,$7D,$08 DATA_0DC918: .db $F8,$1C,$4C,$1C,$F8,$1C,$4D,$1C DATA_0DC920: .db $4D,$DC,$F8,$1C,$4C,$DC,$F8,$1C DATA_0DC928: .db $F8,$1C,$F8,$1C,$4C,$1C,$4D,$DC DATA_0DC930: .db $4D,$1C,$4C,$DC,$F8,$1C,$F8,$1C DATA_0DC938: .db $C3,$35,$D3,$35,$C4,$35,$D4,$35 DATA_0DC940: .db $C4,$75,$D4,$75,$C3,$75,$D3,$75 DATA_0DC948: .db $C3,$2D,$D3,$2D,$C4,$2D,$D4,$2D DATA_0DC950: .db $C4,$6D,$D4,$6D,$C3,$6D,$D3,$6D DATA_0DC958: .db $C3,$39,$D3,$39,$C4,$39,$D4,$39 DATA_0DC960: .db $C4,$79,$D4,$79,$C3,$79,$D3,$79 DATA_0DC968: .db $C3,$3D,$D3,$3D,$C4,$3D,$D4,$3D DATA_0DC970: .db $C4,$7D,$D4,$7D,$C3,$7D,$D3,$7D DATA_0DC978: .db $C5,$09,$C5,$09,$C5,$49,$C5,$49 DATA_0DC980: .db $F8,$08,$53,$09,$F8,$08,$55,$09 DATA_0DC988: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC990: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC998: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9A0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9A8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9B0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9B8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9C0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9C8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9D0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9D8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9E0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9E8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9F0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DC9F8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA00: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA08: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA10: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA18: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA20: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA28: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA30: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA38: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA40: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA48: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA50: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA58: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA60: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA68: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA70: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA78: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA80: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA88: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA90: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCA98: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAA0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAA8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAB0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAB8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAC0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAC8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAD0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAD8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAE0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAE8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAF0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCAF8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB00: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB08: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB10: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB18: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB20: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB28: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB30: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB38: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB40: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB48: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB50: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB58: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB60: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB68: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB70: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB78: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB80: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB88: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB90: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCB98: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBA0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBA8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBB0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBB8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBC0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBC8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBD0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBD8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBE0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBE8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBF0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCBF8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC00: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC08: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC10: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC18: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC20: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC28: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC30: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC38: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC40: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC48: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC50: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC58: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC60: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCC68: .db $80,$15,$91,$15,$D6,$15,$D6,$95 DATA_0DCC70: .db $D6,$15,$D6,$95,$D6,$15,$D6,$95 DATA_0DCC78: .db $D6,$15,$D6,$95,$80,$55,$91,$55 DATA_0DCC80: .db $D5,$15,$C7,$15,$D6,$15,$D6,$95 DATA_0DCC88: .db $D6,$15,$D6,$95,$D5,$55,$C7,$55 DATA_0DCC90: .db $4E,$08,$F8,$1C,$4E,$08,$F8,$1C DATA_0DCC98: .db $4E,$48,$F8,$1C,$4E,$48,$F8,$1C DATA_0DCCA0: .db $56,$09,$58,$09,$57,$09,$5A,$09 DATA_0DCCA8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCCB0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCCB8: .db $F4,$19,$F6,$19,$F5,$19,$F7,$19 DATA_0DCCC0: .db $F8,$19,$F8,$19,$F9,$19,$F9,$19 DATA_0DCCC8: .db $F6,$99,$F4,$99,$F7,$99,$F5,$99 DATA_0DCCD0: .db $FA,$19,$FD,$19,$FB,$19,$FE,$19 DATA_0DCCD8: .db $FC,$19,$FF,$19,$FC,$19,$FF,$19 DATA_0DCCE0: .db $FB,$59,$FE,$59,$FA,$59,$FD,$59 DATA_0DCCE8: .db $CA,$19,$DA,$19,$CB,$19,$DB,$19 DATA_0DCCF0: .db $CB,$19,$DB,$19,$CB,$19,$DB,$19 DATA_0DCCF8: .db $CB,$19,$DB,$19,$CA,$59,$DA,$59 DATA_0DCD00: .db $C8,$19,$D8,$19,$C9,$19,$D9,$19 DATA_0DCD08: .db $D8,$19,$D8,$19,$D9,$19,$D9,$19 DATA_0DCD10: .db $D8,$19,$C8,$99,$D9,$19,$C9,$99 DATA_0DCD18: .db $E2,$11,$D7,$11,$E3,$11,$F9,$1C DATA_0DCD20: .db $E4,$11,$F9,$1C,$E5,$11,$EA,$11 DATA_0DCD28: .db $D7,$11,$D7,$11,$E6,$11,$E7,$11 DATA_0DCD30: .db $E6,$51,$E7,$51,$EA,$11,$EA,$11 DATA_0DCD38: .db $E9,$11,$E9,$91,$F9,$1C,$F9,$1C DATA_0DCD40: .db $F9,$1C,$F9,$1C,$EA,$11,$E8,$11 DATA_0DCD48: .db $D7,$11,$D7,$11,$F9,$1C,$F9,$1C DATA_0DCD50: .db $F9,$1C,$F9,$1C,$E8,$91,$EA,$11 DATA_0DCD58: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DCD60: .db $20,$14,$20,$14,$21,$14,$21,$14 DATA_0DCD68: .db $22,$14,$22,$14,$23,$14,$23,$14 DATA_0DCD70: .db $26,$14,$36,$14,$26,$54,$36,$54 DATA_0DCD78: .db $26,$18,$36,$18,$26,$58,$36,$58 DATA_0DCD80: .db $26,$1C,$36,$1C,$26,$5C,$36,$5C DATA_0DCD88: .db $27,$1C,$37,$1C,$27,$5C,$37,$5C ; This calls the correct code for the object if the tileset is T:2 in LM (rope) CODE_0DCD90: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0DCD92: A6 5A LDX $5A ; Load object number CODE_0DCD94: CA DEX ; We'll never see object number 0, so change the index to it won't clutter the table CODE_0DCD95: 8A TXA ;\ CODE_0DCD96: 22 FA 86 00 JSL.L ExecutePtrLong ;/ and call the correct subroutine PtrsLong0DCD9A: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Water (Blue) PtrsLong0DCD9D: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible coin blocks PtrsLong0DCDA0: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible note blocks PtrsLong0DCDA3: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible POW coins PtrsLong0DCDA6: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Coins PtrsLong0DCDA9: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Walk-through dirt PtrsLong0DCDAC: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Water (Other color) PtrsLong0DCDAF: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Note blocks PtrsLong0DCDB2: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Turn blocks PtrsLong0DCDB5: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Coin ? blocks PtrsLong0DCDB8: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Throw blocks PtrsLong0DCDBB: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Black piranha plants PtrsLong0DCDBE: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Cement blocks PtrsLong0DCDC1: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Brown blocks PtrsLong0DCDC4: 26 AA 0D .dw CODE_0DAA26 .db :$CODE_0DAA26 ; Vertical pipes PtrsLong0DCDC7: B4 AA 0D .dw CODE_0DAAB4 .db :$CODE_0DAAB4 ; Horizontal pipes PtrsLong0DCDCA: 0D AB 0D .dw CODE_0DAB0D .db :$CODE_0DAB0D ; Bullet shooter PtrsLong0DCDCD: 3E AB 0D .dw CODE_0DAB3E .db :$CODE_0DAB3E ; Slopes PtrsLong0DCDD0: 75 B0 0D .dw CODE_0DB075 .db :$CODE_0DB075 ; Ledge edges PtrsLong0DCDD3: D4 B1 0D .dw CODE_0DB1D4 .db :$CODE_0DB1D4 ; Ground ledge PtrsLong0DCDD6: 24 B2 0D .dw CODE_0DB224 .db :$CODE_0DB224 ; Midway/Goal point PtrsLong0DCDD9: 36 B3 0D .dw ADDR_0DB336 .db :$ADDR_0DB336 ; Blue coins PtrsLong0DCDDC: BD B3 0D .dw CODE_0DB3BD .db :$CODE_0DB3BD ; Rope/Clouds PtrsLong0DCDDF: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Water surface (ani) PtrsLong0DCDE2: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Water surface (not ani) PtrsLong0DCDE5: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Lava surface (ani) PtrsLong0DCDE8: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Net top edge PtrsLong0DCDEB: 2D B4 0D .dw CODE_0DB42D .db :$CODE_0DB42D ; Donut bridge PtrsLong0DCDEE: 61 B4 0D .dw CODE_0DB461 .db :$CODE_0DB461 ; Net bottom edge PtrsLong0DCDF1: 9E B4 0D .dw CODE_0DB49E .db :$CODE_0DB49E ; Net vertical edge PtrsLong0DCDF4: 1F B5 0D .dw CODE_0DB51F .db :$CODE_0DB51F ; Vert. Pipe/Bone/Log PtrsLong0DCDF7: 47 B5 0D .dw CODE_0DB547 .db :$CODE_0DB547 ; Horiz. Pipe/Bone/Log PtrsLong0DCDFA: C8 B1 0D .dw CODE_0DB1C8 .db :$CODE_0DB1C8 ; Long ground ledge PtrsLong0DCDFD: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;\ PtrsLong0DCE00: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DCE03: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DCE06: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DCE09: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DCE0C: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DCE0F: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DCE12: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | Unused (LM will declare these to be "reserved" and won't let you use them) PtrsLong0DCE15: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DCE18: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DCE1B: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DCE1E: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;/ PtrsLong0DCE21: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;\ PtrsLong0DCE24: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DCE27: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | These could've been tileset specific, but Nintendo didn't have that many ideas for them. PtrsLong0DCE2A: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;/ PtrsLong0DCE2D: 4E D2 0D .dw CODE_0DD24E .db :$CODE_0DD24E ; Log bridge PtrsLong0DCE30: 16 B9 0D .dw CODE_0DB916 .db :$CODE_0DB916 ; Blue switch blocks PtrsLong0DCE33: 1E B9 0D .dw CODE_0DB91E .db :$CODE_0DB91E ; Red switch blocks PtrsLong0DCE36: D9 D1 0D .dw CODE_0DD1D9 .db :$CODE_0DD1D9 ; Plants on columns PtrsLong0DCE39: F2 CE 0D .dw ADDR_0DCEF2 .db :$ADDR_0DCEF2 ; Horizontal conveyors PtrsLong0DCE3C: 41 C3 0D .dw CODE_0DC341 .db :$CODE_0DC341 ; Diagonal conveyors PtrsLong0DCE3F: 12 CF 0D .dw CODE_0DCF12 .db :$CODE_0DCF12 ; Horizontal guide lines PtrsLong0DCE42: 33 CF 0D .dw CODE_0DCF33 .db :$CODE_0DCF33 ; Vertical guide lines / vertical column PtrsLong0DCE45: 53 CF 0D .dw CODE_0DCF53 .db :$CODE_0DCF53 ; Normal/steep/ON/OFF guide lines PtrsLong0DCE48: 70 D0 0D .dw ADDR_0DD070 .db :$ADDR_0DD070 ; Very steep guide lines PtrsLong0DCE4B: 03 D1 0D .dw CODE_0DD103 .db :$CODE_0DD103 ; Mushroom ledge PtrsLong0DCE4E: 45 D1 0D .dw CODE_0DD145 .db :$CODE_0DD145 ; Mushroom column PtrsLong0DCE51: 82 D1 0D .dw ADDR_0DD182 .db :$ADDR_0DD182 ; Horizontal log PtrsLong0DCE54: A5 D1 0D .dw ADDR_0DD1A5 .db :$ADDR_0DD1A5 ; Vertical log ;Quarters of line guide circles DATA_0DCE57: .db $7A,$7B ; Top left one DATA_0DCE59: .db $7C,$25 DATA_0DCE5B: .db $7E,$7F ; Top right one DATA_0DCE5D: .db $25,$7D DATA_0DCE5F: .db $82,$25 ; Bottom left one DATA_0DCE61: .db $80,$81 DATA_0DCE63: .db $25,$83 ; Bottom right one DATA_0DCE65: .db $84,$85 CODE_0DCE67: A4 57 LDY $57 ; Position CODE_0DCE69: A5 59 LDA $59 ;\ CODE_0DCE6B: 38 SEC ; | CODE_0DCE6C: E9 4D SBC.B #$4D ; | CODE_0DCE6E: 0A ASL ; | "Fix" object number and multiply by four CODE_0DCE6F: 0A ASL ; | CODE_0DCE70: AA TAX ;/ CODE_0DCE71: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DCE74: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DCE77: BF 57 CE 0D LDA.L DATA_0DCE57,X ; | Add object CODE_0DCE7B: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DCE7E: E8 INX ;\ CODE_0DCE7F: 8A TXA ; | CODE_0DCE80: 29 01 AND.B #$01 ; | Go to next object and check for end of line CODE_0DCE82: D0 F0 BNE CODE_0DCE74 ;/ CODE_0DCE84: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DCE87: 20 7D A9 JSR.W CODE_0DA97D ; Go downwards CODE_0DCE8A: 8A TXA ;\ CODE_0DCE8B: 29 03 AND.B #$03 ; | Check for end of object CODE_0DCE8D: D0 E5 BNE CODE_0DCE74 ;/ Return0DCE8F: 60 RTS ; Return ;Quarters of small line guide circles DATA_0DCE90: .db $76,$77,$78,$79 CODE_0DCE94: A4 57 LDY $57 ; Position CODE_0DCE96: A5 59 LDA $59 ;\ CODE_0DCE98: 38 SEC ; | CODE_0DCE99: E9 51 SBC.B #$51 ; | "Fix" object number CODE_0DCE9B: AA TAX ;/ CODE_0DCE9C: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DCE9F: BF 90 CE 0D LDA.L DATA_0DCE90,X ; | Add object CODE_0DCEA3: 97 6B STA [$6B],Y ;/ Return0DCEA5: 60 RTS ; Return ;Bit of canvass 1 (I've got no idea why it isn't with the other three) ADDR_0DCEA6: A4 57 LDY $57 ; Position ADDR_0DCEA8: A5 59 LDA $59 ;\ ADDR_0DCEAA: 38 SEC ; | ADDR_0DCEAB: E9 51 SBC.B #$51 ; | "Fix" object number (it's not used anyways, morons) ADDR_0DCEAD: AA TAX ;/ ADDR_0DCEAE: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DCEB1: A9 84 LDA.B #$84 ; | Add top tile ADDR_0DCEB3: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DCEB6: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DCEB9: A9 85 LDA.B #$85 ; | Add bottom tile ADDR_0DCEBB: 97 6B STA [$6B],Y ;/ Return0DCEBD: 60 RTS ; Return ;Line guide end, for horizontal line DATA_0DCEBE: .db $96 DATA_0DCEBF: .db $97 CODE_0DCEC0: A4 57 LDY $57 ; Position CODE_0DCEC2: A5 59 LDA $59 ; Hi timewasters, is it fun to waste time? CODE_0DCEC4: A2 00 LDX.B #$00 CODE_0DCEC6: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DCEC9: BF BE CE 0D LDA.L DATA_0DCEBE,X ; | Add block CODE_0DCECD: 97 6B STA [$6B],Y ;/ CODE_0DCECF: 20 7D A9 JSR.W CODE_0DA97D ;\ CODE_0DCED2: E8 INX ;/ Go to the next one CODE_0DCED3: E0 02 CPX.B #$02 ;\ CODE_0DCED5: D0 EF BNE CODE_0DCEC6 ;/ Check for end of the block Return0DCED7: 60 RTS ; Return ;Line guide end, for vertical line DATA_0DCED8: .db $98,$99 CODE_0DCEDA: A4 57 LDY $57 ; Position CODE_0DCEDC: A5 59 LDA $59 ; Hi again, timewasters CODE_0DCEDE: A2 00 LDX.B #$00 CODE_0DCEE0: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DCEE3: BF D8 CE 0D LDA.L DATA_0DCED8,X ; | Add block CODE_0DCEE7: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DCEEA: E8 INX ;\ CODE_0DCEEB: E0 02 CPX.B #$02 ; | Go to next and check for ending CODE_0DCEED: D0 F1 BNE CODE_0DCEE0 ;/ Return0DCEEF: 60 RTS ; Return ;Horizontal conveyors DATA_0DCEF0: .db $0C,$0D ADDR_0DCEF2: A4 57 LDY $57 ; Position ADDR_0DCEF4: A5 59 LDA $59 ;\ ADDR_0DCEF6: 29 0F AND.B #$0F ; | Width ADDR_0DCEF8: 85 00 STA $00 ;/ ADDR_0DCEFA: A5 59 LDA $59 ;\ ADDR_0DCEFC: 4A LSR ; | ADDR_0DCEFD: 4A LSR ; | ADDR_0DCEFE: 4A LSR ; | Type ADDR_0DCEFF: 4A LSR ; | ADDR_0DCF00: AA TAX ;/ ADDR_0DCF01: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DCF04: BF F0 CE 0D LDA.L DATA_0DCEF0,X ; | Add tile ADDR_0DCF08: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DCF0B: C6 00 DEC $00 ;\ ADDR_0DCF0D: 10 F2 BPL ADDR_0DCF01 ;/ Check for end of the object Return0DCF0F: 60 RTS ; Return ;Horizontal guide lines DATA_0DCF10: .db $92,$93 CODE_0DCF12: A4 57 LDY $57 ; Position CODE_0DCF14: A5 59 LDA $59 ;\ CODE_0DCF16: 29 0F AND.B #$0F ; | Width CODE_0DCF18: 85 00 STA $00 ;/ CODE_0DCF1A: A5 59 LDA $59 ;\ CODE_0DCF1C: 4A LSR ; | CODE_0DCF1D: 4A LSR ; | CODE_0DCF1E: 4A LSR ; | Type CODE_0DCF1F: 4A LSR ; | CODE_0DCF20: AA TAX ;/ CODE_0DCF21: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DCF24: BF 10 CF 0D LDA.L DATA_0DCF10,X ; | Add tile CODE_0DCF28: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DCF2B: C6 00 DEC $00 ;\ CODE_0DCF2D: 10 F2 BPL CODE_0DCF21 ;/ Check for end of the object Return0DCF2F: 60 RTS ; Return ;Vertical guide lines / vertical column DATA_0DCF30: .db $90,$91,$A2 CODE_0DCF33: A4 57 LDY $57 ; Position CODE_0DCF35: A5 59 LDA $59 ;\ CODE_0DCF37: 29 0F AND.B #$0F ; | Type CODE_0DCF39: AA TAX ;/ CODE_0DCF3A: A5 59 LDA $59 ;\ CODE_0DCF3C: 4A LSR ; | CODE_0DCF3D: 4A LSR ; | CODE_0DCF3E: 4A LSR ; | Height CODE_0DCF3F: 4A LSR ; | CODE_0DCF40: 85 00 STA $00 ;/ CODE_0DCF42: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DCF45: BF 30 CF 0D LDA.L DATA_0DCF30,X ; | Add tile CODE_0DCF49: 97 6B STA [$6B],Y ;/ CODE_0DCF4B: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DCF4E: C6 00 DEC $00 ;\ CODE_0DCF50: 10 F0 BPL CODE_0DCF42 ;/ Check for end of the object Return0DCF52: 60 RTS ; Return ;Normal/steep/ON/OFF guide lines CODE_0DCF53: A5 59 LDA $59 ;\ CODE_0DCF55: 29 0F AND.B #$0F ; | CODE_0DCF57: AA TAX ; | Check type and run the correct code CODE_0DCF58: 22 FA 86 00 JSL.L ExecutePtrLong ;/ PtrsLong0DCF5C: 6E CF 0D .dw CODE_0DCF6E .db :$CODE_0DCF6E ; Normal slope left B1 CF 0D .dw CODE_0DCFB1 .db :$CODE_0DCFB1 ; Steep slope left F0 CF 0D .dw ADDR_0DCFF0 .db :$ADDR_0DCFF0 ; Normal slope right 34 D0 0D .dw CODE_0DD034 .db :$CODE_0DD034 ; Steep slope right B1 CF 0D .dw CODE_0DCFB1 .db :$CODE_0DCFB1 ; ON/OFF steep left slope 34 D0 0D .dw CODE_0DD034 .db :$CODE_0DD034 ; ON/OFF steep right slope CODE_0DCF6E: A4 57 LDY $57 ; Position CODE_0DCF70: A5 59 LDA $59 ;\ CODE_0DCF72: 4A LSR ; | CODE_0DCF73: 4A LSR ; | CODE_0DCF74: 4A LSR ; | Size CODE_0DCF75: 4A LSR ; | CODE_0DCF76: AA TAX ;/ CODE_0DCF77: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DCF7A: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DCF7D: A9 8C LDA.B #$8C ; | Add left tile CODE_0DCF7F: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DCF82: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DCF85: A9 8D LDA.B #$8D ; | Add right tile CODE_0DCF87: 97 6B STA [$6B],Y ;/ CODE_0DCF89: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DCF8C: A5 57 LDA $57 ;\ CODE_0DCF8E: 18 CLC ; | CODE_0DCF8F: 69 0E ADC.B #$0E ; | Update index CODE_0DCF91: A8 TAY ;/ CODE_0DCF92: 90 03 BCC CODE_0DCF97 ;\ CODE_0DCF94: 20 87 A9 JSR.W CODE_0DA987 ;/ Move pointer down if needed CODE_0DCF97: 98 TYA ;\ CODE_0DCF98: 29 0F AND.B #$0F ; | CODE_0DCF9A: C9 0E CMP.B #$0E ; | Check if pointer needs to move left CODE_0DCF9C: 30 0D BMI CODE_0DCFAB ;/ ADDR_0DCF9E: 98 TYA ;\ ADDR_0DCF9F: 18 CLC ; | ADDR_0DCFA0: 69 10 ADC.B #$10 ; | Move index down ADDR_0DCFA2: A8 TAY ;/ ADDR_0DCFA3: 90 03 BCC ADDR_0DCFA8 ;\ ADDR_0DCFA5: 20 87 A9 JSR.W CODE_0DA987 ;/ Move pointer down if needed ADDR_0DCFA8: 20 D6 A9 JSR.W CODE_0DA9D6 ; Move pointer left CODE_0DCFAB: 84 57 STY $57 ; Save index CODE_0DCFAD: CA DEX ;\ CODE_0DCFAE: 10 CA BPL CODE_0DCF7A ;/ Check for end of the object Return0DCFB0: 60 RTS ; Return CODE_0DCFB1: A9 86 LDA.B #$86 ;\ CODE_0DCFB3: E0 04 CPX.B #$04 ; | CODE_0DCFB5: D0 02 BNE CODE_0DCFB9 ; | Check which tile we should add CODE_0DCFB7: A9 94 LDA.B #$94 ; | CODE_0DCFB9: 85 00 STA $00 ;/ CODE_0DCFBB: A4 57 LDY $57 ; Position CODE_0DCFBD: A5 59 LDA $59 ;\ CODE_0DCFBF: 4A LSR ; | CODE_0DCFC0: 4A LSR ; | CODE_0DCFC1: 4A LSR ; | Size CODE_0DCFC2: 4A LSR ; | CODE_0DCFC3: AA TAX ;/ CODE_0DCFC4: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DCFC7: A5 00 LDA $00 ; | Add tile CODE_0DCFC9: 97 6B STA [$6B],Y ;/ CODE_0DCFCB: A5 57 LDA $57 ;\ CODE_0DCFCD: 18 CLC ; | CODE_0DCFCE: 69 0F ADC.B #$0F ; | Update index CODE_0DCFD0: A8 TAY ;/ CODE_0DCFD1: 90 03 BCC CODE_0DCFD6 ;\ CODE_0DCFD3: 20 87 A9 JSR.W CODE_0DA987 ;/ Move pointer down if needed CODE_0DCFD6: 98 TYA ;\ CODE_0DCFD7: 29 0F AND.B #$0F ; | CODE_0DCFD9: C9 0F CMP.B #$0F ; | Check if pointer needs to move left CODE_0DCFDB: 30 0D BMI CODE_0DCFEA ;/ CODE_0DCFDD: 98 TYA ;\ CODE_0DCFDE: 18 CLC ; | CODE_0DCFDF: 69 10 ADC.B #$10 ; | Move index down CODE_0DCFE1: A8 TAY ;/ CODE_0DCFE2: 90 03 BCC CODE_0DCFE7 ;\ ADDR_0DCFE4: 20 87 A9 JSR.W CODE_0DA987 ;/ Move pointer down if needed CODE_0DCFE7: 20 D6 A9 JSR.W CODE_0DA9D6 ; Move pointer left CODE_0DCFEA: 84 57 STY $57 ; Save index CODE_0DCFEC: CA DEX ;\ CODE_0DCFED: 10 D5 BPL CODE_0DCFC4 ;/ Check for end of the object Return0DCFEF: 60 RTS ; Return ADDR_0DCFF0: A4 57 LDY $57 ; Position ADDR_0DCFF2: A5 59 LDA $59 ;\ ADDR_0DCFF4: 4A LSR ; | ADDR_0DCFF5: 4A LSR ; | ADDR_0DCFF6: 4A LSR ; | Size ADDR_0DCFF7: 4A LSR ; | ADDR_0DCFF8: AA TAX ;/ ADDR_0DCFF9: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer ADDR_0DCFFC: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DCFFF: A9 8E LDA.B #$8E ; | ADDR_0DD001: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DD004: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DD007: A9 8F LDA.B #$8F ; | Add right tile ADDR_0DD009: 97 6B STA [$6B],Y ;/ ADDR_0DD00B: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer (waste of time...) ADDR_0DD00E: A5 57 LDA $57 ;\ ADDR_0DD010: 18 CLC ; | ADDR_0DD011: 69 10 ADC.B #$10 ; | Move index down ADDR_0DD013: A8 TAY ;/ ADDR_0DD014: 90 03 BCC ADDR_0DD019 ;\ ADDR_0DD016: 20 87 A9 JSR.W CODE_0DA987 ;/ Update pointer if needed ADDR_0DD019: 98 TYA ;\ ADDR_0DD01A: 18 CLC ; | ADDR_0DD01B: 69 02 ADC.B #$02 ; | Move index rightwards ADDR_0DD01D: A8 TAY ;/ ADDR_0DD01E: 29 0F AND.B #$0F ;\ ADDR_0DD020: C9 02 CMP.B #$02 ; | Check if we need to move the pointer rightwards ADDR_0DD022: 10 0A BPL ADDR_0DD02E ;/ ADDR_0DD024: 98 TYA ;\ ADDR_0DD025: 38 SEC ; | Move index back up ADDR_0DD026: E9 10 SBC.B #$10 ;/ ADDR_0DD028: 29 F1 AND.B #$F1 ;\ ADDR_0DD02A: A8 TAY ;/ Move index leftwards (smells like a waste of time to me...) ADDR_0DD02B: 20 EF A9 JSR.W CODE_0DA9EF ; Move pointer rightwards ADDR_0DD02E: 84 57 STY $57 ; Save index ADDR_0DD030: CA DEX ;\ ADDR_0DD031: 10 C9 BPL ADDR_0DCFFC ;/ Check for end of the object Return0DD033: 60 RTS ; Return CODE_0DD034: A9 87 LDA.B #$87 ;\ CODE_0DD036: E0 05 CPX.B #$05 ; | CODE_0DD038: D0 02 BNE CODE_0DD03C ; | Check which tile we should add CODE_0DD03A: A9 95 LDA.B #$95 ; | CODE_0DD03C: 85 00 STA $00 ;/ CODE_0DD03E: A4 57 LDY $57 ; Position CODE_0DD040: A5 59 LDA $59 ;\ CODE_0DD042: 4A LSR ; | CODE_0DD043: 4A LSR ; | CODE_0DD044: 4A LSR ; | Size CODE_0DD045: 4A LSR ; | CODE_0DD046: AA TAX ;/ CODE_0DD047: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DD04A: A5 00 LDA $00 ; | Add tile CODE_0DD04C: 97 6B STA [$6B],Y ;/ CODE_0DD04E: A5 57 LDA $57 ;\ CODE_0DD050: 18 CLC ; | CODE_0DD051: 69 10 ADC.B #$10 ; | CODE_0DD053: A8 TAY ; | Move pointer downwards CODE_0DD054: 90 03 BCC CODE_0DD059 ; | CODE_0DD056: 20 87 A9 JSR.W CODE_0DA987 ;/ CODE_0DD059: 98 TYA ;\ CODE_0DD05A: 18 CLC ; | CODE_0DD05B: 69 01 ADC.B #$01 ; | CODE_0DD05D: A8 TAY ; | CODE_0DD05E: 29 0F AND.B #$0F ; | CODE_0DD060: D0 08 BNE CODE_0DD06A ; | CODE_0DD062: 88 DEY ; | Move pointer rightwards CODE_0DD063: 98 TYA ; | CODE_0DD064: 29 F0 AND.B #$F0 ; | CODE_0DD066: A8 TAY ; | CODE_0DD067: 20 EF A9 JSR.W CODE_0DA9EF ; | CODE_0DD06A: 84 57 STY $57 ;/ CODE_0DD06C: CA DEX ;\ CODE_0DD06D: 10 D8 BPL CODE_0DD047 ;/ Check for end of the object Return0DD06F: 60 RTS ; Return ;Very steep guide lines ADDR_0DD070: A5 59 LDA $59 ;\ ADDR_0DD072: 4A LSR ; | ADDR_0DD073: 4A LSR ; | ADDR_0DD074: 4A LSR ; | Check type and run the correct code ADDR_0DD075: 4A LSR ; | ADDR_0DD076: 22 FA 86 00 JSL.L ExecutePtrLong ;/ PtrsLong0DD07A: 80 D0 0D .dw ADDR_0DD080 .db :$ADDR_0DD080 ; Very steep left slope C3 D0 0D .dw ADDR_0DD0C3 .db :$ADDR_0DD0C3 ; Very steep right slope ADDR_0DD080: A4 57 LDY $57 ; Position ADDR_0DD082: A5 59 LDA $59 ;\ ADDR_0DD084: 29 0F AND.B #$0F ; | Size ADDR_0DD086: AA TAX ;/ ADDR_0DD087: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DD08A: A9 88 LDA.B #$88 ; | Add upper tile ADDR_0DD08C: 97 6B STA [$6B],Y ;/ ADDR_0DD08E: 98 TYA ;\ ADDR_0DD08F: 18 CLC ; | ADDR_0DD090: 69 10 ADC.B #$10 ; | ADDR_0DD092: A8 TAY ; | Move pointer downwards ADDR_0DD093: 90 03 BCC ADDR_0DD098 ; | ADDR_0DD095: 20 87 A9 JSR.W CODE_0DA987 ;/ ADDR_0DD098: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DD09B: A9 8A LDA.B #$8A ; | Add lower tile ADDR_0DD09D: 97 6B STA [$6B],Y ;/ ADDR_0DD09F: 98 TYA ;\ ADDR_0DD0A0: 18 CLC ; | ADDR_0DD0A1: 69 0F ADC.B #$0F ; | ADDR_0DD0A3: A8 TAY ; | ADDR_0DD0A4: 90 03 BCC ADDR_0DD0A9 ; | ADDR_0DD0A6: 20 87 A9 JSR.W CODE_0DA987 ; | ADDR_0DD0A9: 98 TYA ; | ADDR_0DD0AA: 29 0F AND.B #$0F ; | ADDR_0DD0AC: C9 0F CMP.B #$0F ; | ADDR_0DD0AE: D0 0D BNE ADDR_0DD0BD ; | Move pointer down and left ADDR_0DD0B0: 98 TYA ; | ADDR_0DD0B1: 18 CLC ; | ADDR_0DD0B2: 69 10 ADC.B #$10 ; | ADDR_0DD0B4: A8 TAY ; | ADDR_0DD0B5: 90 03 BCC ADDR_0DD0BA ; | ADDR_0DD0B7: 20 87 A9 JSR.W CODE_0DA987 ; | ADDR_0DD0BA: 20 D6 A9 JSR.W CODE_0DA9D6 ; | ADDR_0DD0BD: 84 57 STY $57 ;/ ADDR_0DD0BF: CA DEX ;\ ADDR_0DD0C0: 10 C5 BPL ADDR_0DD087 ;/ Check for end of the object Return0DD0C2: 60 RTS ; Return ADDR_0DD0C3: A4 57 LDY $57 ; Position ADDR_0DD0C5: A5 59 LDA $59 ;\ ADDR_0DD0C7: 29 0F AND.B #$0F ; | Size ADDR_0DD0C9: AA TAX ;/ ADDR_0DD0CA: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DD0CD: A9 89 LDA.B #$89 ; | Add upper tile ADDR_0DD0CF: 97 6B STA [$6B],Y ;/ ADDR_0DD0D1: 98 TYA ;\ ADDR_0DD0D2: 18 CLC ; | ADDR_0DD0D3: 69 10 ADC.B #$10 ; | ADDR_0DD0D5: A8 TAY ; | Move pointer downwards ADDR_0DD0D6: 90 03 BCC ADDR_0DD0DB ; | ADDR_0DD0D8: 20 87 A9 JSR.W CODE_0DA987 ;/ ADDR_0DD0DB: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DD0DE: A9 8B LDA.B #$8B ; | Add lower tile ADDR_0DD0E0: 97 6B STA [$6B],Y ;/ ADDR_0DD0E2: 98 TYA ;\ ADDR_0DD0E3: 18 CLC ; | ADDR_0DD0E4: 69 10 ADC.B #$10 ; | ADDR_0DD0E6: A8 TAY ; | Move pointer downwards ADDR_0DD0E7: 90 03 BCC ADDR_0DD0EC ; | ADDR_0DD0E9: 20 87 A9 JSR.W CODE_0DA987 ;/ ADDR_0DD0EC: 98 TYA ;\ ADDR_0DD0ED: 18 CLC ; | ADDR_0DD0EE: 69 01 ADC.B #$01 ; | ADDR_0DD0F0: A8 TAY ; | ADDR_0DD0F1: 29 0F AND.B #$0F ; | ADDR_0DD0F3: D0 08 BNE ADDR_0DD0FD ; | ADDR_0DD0F5: 88 DEY ; | Move pointer rightwards ADDR_0DD0F6: 98 TYA ; | ADDR_0DD0F7: 29 F0 AND.B #$F0 ; | ADDR_0DD0F9: A8 TAY ; | ADDR_0DD0FA: 20 EF A9 JSR.W CODE_0DA9EF ; | ADDR_0DD0FD: 84 57 STY $57 ;/ ADDR_0DD0FF: CA DEX ;\ ADDR_0DD100: 10 C8 BPL ADDR_0DD0CA ;/ Check for end of the object Return0DD102: 60 RTS ; Return ;Mushroom ledge CODE_0DD103: A4 57 LDY $57 ; Position CODE_0DD105: A5 59 LDA $59 ;\ CODE_0DD107: 29 0F AND.B #$0F ; | Width CODE_0DD109: 85 00 STA $00 ;/ CODE_0DD10B: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DD10E: A2 07 LDX.B #$07 ; | CODE_0DD110: B7 6B LDA [$6B],Y ; | CODE_0DD112: C9 73 CMP.B #$73 ; | CODE_0DD114: 30 06 BMI CODE_0DD11C ; | Check which tile we want to add CODE_0DD116: C9 76 CMP.B #$76 ; | CODE_0DD118: 10 02 BPL CODE_0DD11C ; | CODE_0DD11A: A2 0A LDX.B #$0A ; | CODE_0DD11C: 8A TXA ;/ CODE_0DD11D: 20 5B A9 JSR.W CODE_0DA95B ; and add it CODE_0DD120: 4C 2B D1 JMP.W CODE_0DD12B CODE_0DD123: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DD126: A9 08 LDA.B #$08 ; | Add middle tiles CODE_0DD128: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DD12B: C6 00 DEC $00 ;\ CODE_0DD12D: D0 F4 BNE CODE_0DD123 ;/ Check if we need more middle tiles CODE_0DD12F: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DD132: A2 09 LDX.B #$09 ; | CODE_0DD134: B7 6B LDA [$6B],Y ; | CODE_0DD136: C9 73 CMP.B #$73 ; | CODE_0DD138: 30 06 BMI CODE_0DD140 ; | Check which tile we want to add CODE_0DD13A: C9 76 CMP.B #$76 ; | CODE_0DD13C: 10 02 BPL CODE_0DD140 ; | CODE_0DD13E: A2 0B LDX.B #$0B ; | CODE_0DD140: 8A TXA ;/ CODE_0DD141: 20 5B A9 JSR.W CODE_0DA95B ; and add it Return0DD144: 60 RTS ; Return ;Mushroom column CODE_0DD145: A4 57 LDY $57 ; Position CODE_0DD147: A5 59 LDA $59 ;\ CODE_0DD149: 29 0F AND.B #$0F ; | Width CODE_0DD14B: 85 00 STA $00 ;/ CODE_0DD14D: A5 59 LDA $59 ;\ CODE_0DD14F: 4A LSR ; | CODE_0DD150: 4A LSR ; | CODE_0DD151: 4A LSR ; | Height CODE_0DD152: 4A LSR ; | CODE_0DD153: 85 01 STA $01 ;/ CODE_0DD155: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DD158: A6 00 LDX $00 ; Load width CODE_0DD15A: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DD15D: A9 73 LDA.B #$73 ; | Add left tile CODE_0DD15F: 4C 67 D1 JMP.W CODE_0DD167 ;/ CODE_0DD162: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DD165: A9 74 LDA.B #$74 ; | Add middle tile CODE_0DD167: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DD16A: CA DEX ;\ CODE_0DD16B: D0 F5 BNE CODE_0DD162 ;/ Check if we need more middle tiles CODE_0DD16D: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DD170: A9 75 LDA.B #$75 ; | Add right tile CODE_0DD172: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DD175: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DD178: A6 00 LDX $00 ; Reload width CODE_0DD17A: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DD17D: C6 01 DEC $01 ;\ CODE_0DD17F: 10 D7 BPL CODE_0DD158 ;/ Check for end of the object Return0DD181: 60 RTS ; Return ;Horizontal log ADDR_0DD182: A4 57 LDY $57 ; Position ADDR_0DD184: A5 59 LDA $59 ;\ ADDR_0DD186: 29 0F AND.B #$0F ; | Width ADDR_0DD188: AA TAX ;/ ADDR_0DD189: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DD18C: A9 59 LDA.B #$59 ; | Add left tile ADDR_0DD18E: 4C 96 D1 JMP.W ADDR_0DD196 ;/ ADDR_0DD191: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DD194: A9 5A LDA.B #$5A ; | Add middle tiles ADDR_0DD196: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DD199: CA DEX ;\ ADDR_0DD19A: D0 F5 BNE ADDR_0DD191 ;/ Check if we need more middle tiles ADDR_0DD19C: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DD19F: A9 5B LDA.B #$5B ; | Add right tile ADDR_0DD1A1: 20 5B A9 JSR.W CODE_0DA95B ;/ Return0DD1A4: 60 RTS ; Return ;Vertical log ADDR_0DD1A5: A4 57 LDY $57 ; Position ADDR_0DD1A7: A5 59 LDA $59 ;\ ADDR_0DD1A9: 4A LSR ; | ADDR_0DD1AA: 4A LSR ; | ADDR_0DD1AB: 4A LSR ; | Width ADDR_0DD1AC: 4A LSR ; | ADDR_0DD1AD: AA TAX ;/ ADDR_0DD1AE: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DD1B1: A9 5C LDA.B #$5C ; | Add top tile ADDR_0DD1B3: 4C BB D1 JMP.W ADDR_0DD1BB ;/ ADDR_0DD1B6: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DD1B9: A9 5D LDA.B #$5D ; | Add middle tiles ADDR_0DD1BB: 97 6B STA [$6B],Y ;/ ADDR_0DD1BD: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards ADDR_0DD1C0: CA DEX ;\ ADDR_0DD1C1: D0 F3 BNE ADDR_0DD1B6 ;/ Check if we need more middle tiles ADDR_0DD1C3: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DD1C6: A9 5E LDA.B #$5E ; | Add bottom tile ADDR_0DD1C8: 97 6B STA [$6B],Y ;/ Return0DD1CA: 60 RTS ; Return ;Plants on columns DATA_0DD1CB: .db $9A,$9C,$9E,$A0 ; Left plant tiles DATA_0DD1CF: .db $9B,$9D,$9F,$A1 ; Right plant tiles DATA_0DD1D3: .db $61,$62,$63,$64,$65,$66 ; Main column tiles CODE_0DD1D9: A4 57 LDY $57 ; Position CODE_0DD1DB: A5 59 LDA $59 ;\ CODE_0DD1DD: 29 0F AND.B #$0F ; | Type CODE_0DD1DF: AA TAX ;/ CODE_0DD1E0: A5 59 LDA $59 ;\ CODE_0DD1E2: 4A LSR ; | CODE_0DD1E3: 4A LSR ; | CODE_0DD1E4: 4A LSR ; | Height CODE_0DD1E5: 4A LSR ; | CODE_0DD1E6: 85 00 STA $00 ;/ CODE_0DD1E8: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DD1EB: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DD1EE: BF CB D1 0D LDA.L DATA_0DD1CB,X ; | Add left plant tile CODE_0DD1F2: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DD1F5: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DD1F8: BF CF D1 0D LDA.L DATA_0DD1CF,X ; | Add right plant tile CODE_0DD1FC: 97 6B STA [$6B],Y ;/ CODE_0DD1FE: C6 00 DEC $00 ;\ CODE_0DD200: 10 03 BPL CODE_0DD205 ; | Check if it has a column ADDR_0DD202: 4C 4B D2 JMP.W Return0DD24B ;/ CODE_0DD205: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DD208: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DD20B: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DD20E: A9 5F LDA.B #$5F ; | Add top left column tile CODE_0DD210: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DD213: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DD216: A9 60 LDA.B #$60 ; | Add top right column tile CODE_0DD218: 97 6B STA [$6B],Y ;/ CODE_0DD21A: C6 00 DEC $00 ;\ CODE_0DD21C: 30 2D BMI Return0DD24B ;/ Check if it has more of the column than the top tile CODE_0DD21E: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DD221: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DD224: A2 00 LDX.B #$00 CODE_0DD226: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DD229: BF D3 D1 0D LDA.L DATA_0DD1D3,X ; | Add left column tile CODE_0DD22D: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DD230: E8 INX CODE_0DD231: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DD234: BF D3 D1 0D LDA.L DATA_0DD1D3,X ; | Add right column tile CODE_0DD238: 97 6B STA [$6B],Y ;/ CODE_0DD23A: E8 INX CODE_0DD23B: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DD23E: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DD241: E0 06 CPX.B #$06 ;\ CODE_0DD243: D0 02 BNE CODE_0DD247 ; | Check for end of the table CODE_0DD245: A2 00 LDX.B #$00 ;/ CODE_0DD247: C6 00 DEC $00 ;\ CODE_0DD249: 10 DB BPL CODE_0DD226 ;/ Check for end of the object Return0DD24B: 60 RTS ; Return ;Log bridge DATA_0DD24C: .db $A3,$0E CODE_0DD24E: A4 57 LDY $57 ; Position CODE_0DD250: A5 59 LDA $59 ;\ CODE_0DD252: 29 0F AND.B #$0F ; | CODE_0DD254: 85 00 STA $00 ; | Width CODE_0DD256: 85 01 STA $01 ;/ CODE_0DD258: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DD25B: A2 00 LDX.B #$00 CODE_0DD25D: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DD260: E0 00 CPX.B #$00 ; | CODE_0DD262: F0 03 BEQ CODE_0DD267 ; | Set correct map16 page CODE_0DD264: 20 08 AA JSR.W Sta1To6ePointer ;/ CODE_0DD267: BF 4C D2 0D LDA.L DATA_0DD24C,X ;\ CODE_0DD26B: 20 5B A9 JSR.W CODE_0DA95B ;/ Add tile CODE_0DD26E: C6 01 DEC $01 ;\ CODE_0DD270: 10 EB BPL CODE_0DD25D ;/ Check for end of the line CODE_0DD272: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DD275: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DD278: A5 00 LDA $00 ;\ CODE_0DD27A: 85 01 STA $01 ;/ Reload width CODE_0DD27C: E8 INX ;\ CODE_0DD27D: E0 02 CPX.B #$02 ; | Check for end of the object CODE_0DD27F: D0 DC BNE CODE_0DD25D ;/ Return0DD281: 60 RTS ; Return Empty0DD282: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD28A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD292: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD29A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2A2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2AA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2B2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2BA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2C2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2CA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2D2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2DA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2E2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2EA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2F2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD2FA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD302: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD30A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD312: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD31A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD322: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD32A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD332: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD33A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD342: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD34A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD352: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD35A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD362: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD36A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD372: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD37A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD382: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD38A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD392: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD39A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3A2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3AA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3B2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3BA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3C2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3CA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3D2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3DA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3E2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3EA: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3F2: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DD3FA: .db $FF,$FF,$FF,$FF,$FF,$FF DATA_0DD400: .db $F0,$B5,$F0,$35,$F1,$B5,$F1,$35 DATA_0DD408: .db $F1,$B5,$F1,$35,$F1,$B5,$F1,$35 DATA_0DD410: .db $F1,$B5,$F1,$35,$F2,$B5,$F2,$35 DATA_0DD418: .db $CF,$3D,$F8,$1C,$CF,$3D,$F8,$1C DATA_0DD420: .db $CB,$35,$D7,$35,$CC,$35,$D8,$35 DATA_0DD428: .db $CD,$35,$D9,$35,$CC,$35,$D8,$35 DATA_0DD430: .db $CD,$35,$D9,$35,$CE,$35,$DA,$35 DATA_0DD438: .db $D7,$B5,$CB,$B5,$D8,$B5,$CC,$B5 DATA_0DD440: .db $D9,$B5,$CD,$B5,$D8,$B5,$CC,$B5 DATA_0DD448: .db $D9,$B5,$CD,$B5,$DA,$B5,$CE,$B5 DATA_0DD450: .db $E3,$B5,$E3,$35,$F1,$B5,$F1,$35 DATA_0DD458: .db $F1,$B5,$F1,$35,$E3,$B5,$E3,$35 DATA_0DD460: .db $F0,$B5,$F0,$35,$E3,$B5,$E3,$35 DATA_0DD468: .db $E3,$B5,$E3,$35,$F2,$B5,$F2,$35 DATA_0DD470: .db $E6,$39,$E8,$39,$D2,$B5,$C2,$B5 DATA_0DD478: .db $D1,$B5,$C1,$B5,$D2,$B5,$C2,$B5 DATA_0DD480: .db $D1,$B5,$C1,$B5,$E7,$39,$E9,$39 DATA_0DD488: .db $E8,$B9,$E6,$B9,$C2,$35,$D2,$35 DATA_0DD490: .db $C1,$35,$D1,$35,$C2,$35,$D2,$35 DATA_0DD498: .db $C1,$35,$D1,$35,$E9,$B9,$E7,$B9 DATA_0DD4A0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4A8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4B0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4B8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4C0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4C8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4D0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4D8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4E0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4E8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4F0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD4F8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD500: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD508: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD510: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD518: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD520: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD528: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD530: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD538: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD540: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD548: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD550: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD558: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD560: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD568: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD570: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD578: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD580: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD588: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD590: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD598: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5A0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5A8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5B0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5B8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5C0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5C8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5D0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5D8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5E0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5E8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5F0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD5F8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD600: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD608: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD610: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD618: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD620: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD628: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD630: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD638: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD640: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD648: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD650: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD658: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD660: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD668: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD670: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD678: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD680: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD688: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD690: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD698: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6A0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6A8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6B0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6B8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6C0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6C8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6D0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6D8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6E0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6E8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6F0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD6F8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD700: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD708: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD710: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD718: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD720: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD728: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD730: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD738: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD740: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD748: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD750: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD758: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD760: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD768: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD770: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD778: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD780: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD788: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD790: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD798: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7A0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7A8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7B0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7B8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7C0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7C8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7D0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7D8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7E0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7E8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7F0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD7F8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD800: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD808: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD810: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD818: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD820: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD828: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD830: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD838: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD840: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD848: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD850: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD858: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD860: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD868: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD870: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD878: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD880: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD888: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD890: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD898: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD8A0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD8A8: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD8B0: .db $00,$00,$00,$00,$00,$00,$00,$00 DATA_0DD8B8: .db $F4,$11,$F6,$11,$F5,$11,$F7,$11 DATA_0DD8C0: .db $F8,$11,$F8,$11,$F9,$11,$F9,$11 DATA_0DD8C8: .db $F6,$91,$F4,$91,$F7,$91,$F5,$91 DATA_0DD8D0: .db $FA,$11,$FD,$11,$FB,$11,$FE,$11 DATA_0DD8D8: .db $FC,$11,$FF,$11,$FC,$11,$FF,$11 DATA_0DD8E0: .db $FB,$51,$FE,$51,$FA,$51,$FD,$51 DATA_0DD8E8: .db $4A,$2C,$FB,$2C,$4B,$2C,$FB,$2C DATA_0DD8F0: .db $4A,$2C,$FB,$2C,$48,$2C,$49,$2C DATA_0DD8F8: .db $FB,$2C,$FB,$2C,$49,$2C,$49,$2C DATA_0DD900: .db $C7,$29,$DB,$39,$C8,$29,$DC,$39 DATA_0DD908: .db $C7,$29,$DC,$39,$C8,$29,$DC,$39 DATA_0DD910: .db $C7,$29,$DC,$39,$C8,$29,$DF,$39 DATA_0DD918: .db $DE,$09,$B0,$09,$C8,$09,$CA,$09 DATA_0DD920: .db $C7,$09,$B0,$09,$C8,$09,$CA,$09 DATA_0DD928: .db $C8,$09,$CA,$09,$C8,$09,$CA,$09 DATA_0DD930: .db $F0,$B5,$F0,$35,$F1,$B5,$F1,$35 DATA_0DD938: .db $F1,$B5,$F1,$35,$F1,$B5,$F1,$35 DATA_0DD940: .db $F1,$B5,$F1,$35,$F2,$B5,$F2,$35 DATA_0DD948: .db $92,$89,$94,$89,$93,$89,$95,$89 DATA_0DD950: .db $E0,$11,$E3,$11,$E1,$11,$C3,$11 DATA_0DD958: .db $FA,$1C,$C4,$11,$E2,$11,$FA,$1C DATA_0DD960: .db $FA,$1C,$E2,$D1,$D3,$11,$FA,$1C DATA_0DD968: .db $D4,$11,$FA,$1C,$FA,$1C,$E2,$91 DATA_0DD970: .db $26,$14,$36,$14,$26,$54,$36,$54 DATA_0DD978: .db $26,$18,$36,$18,$26,$58,$36,$58 DATA_0DD980: .db $26,$1C,$36,$1C,$26,$5C,$36,$5C DATA_0DD988: .db $27,$1C,$37,$1C,$27,$5C,$37,$5C ; This calls the correct code for the object if the tileset is T:3 in LM (underground) CODE_0DD990: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0DD992: A6 5A LDX $5A ; Load object number CODE_0DD994: CA DEX ; We'll never see object number 0, so change the index to it won't clutter the table CODE_0DD995: 8A TXA ;\ CODE_0DD996: 22 FA 86 00 JSL.L ExecutePtrLong ;/ and call the correct subroutine PtrsLong0DD99A: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Water (Blue) PtrsLong0DD99D: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible coin blocks PtrsLong0DD9A0: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible note blocks PtrsLong0DD9A3: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible POW coins PtrsLong0DD9A6: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Coins PtrsLong0DD9A9: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Walk-through dirt PtrsLong0DD9AC: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Water (Other color) PtrsLong0DD9AF: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Note blocks PtrsLong0DD9B2: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Turn blocks PtrsLong0DD9B5: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Coin ? blocks PtrsLong0DD9B8: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Throw blocks PtrsLong0DD9BB: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Black piranha plants PtrsLong0DD9BE: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Cement blocks PtrsLong0DD9C1: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Brown blocks PtrsLong0DD9C4: 26 AA 0D .dw CODE_0DAA26 .db :$CODE_0DAA26 ; Vertical pipes PtrsLong0DD9C7: B4 AA 0D .dw CODE_0DAAB4 .db :$CODE_0DAAB4 ; Horizontal pipes PtrsLong0DD9CA: 0D AB 0D .dw CODE_0DAB0D .db :$CODE_0DAB0D ; Bullet shooter PtrsLong0DD9CD: 3E AB 0D .dw CODE_0DAB3E .db :$CODE_0DAB3E ; Slopes PtrsLong0DD9D0: 75 B0 0D .dw CODE_0DB075 .db :$CODE_0DB075 ; Ledge edges PtrsLong0DD9D3: D4 B1 0D .dw CODE_0DB1D4 .db :$CODE_0DB1D4 ; Ground ledge PtrsLong0DD9D6: 24 B2 0D .dw CODE_0DB224 .db :$CODE_0DB224 ; Midway/Goal point PtrsLong0DD9D9: 36 B3 0D .dw ADDR_0DB336 .db :$ADDR_0DB336 ; Blue coins PtrsLong0DD9DC: BD B3 0D .dw CODE_0DB3BD .db :$CODE_0DB3BD ; Rope/Clouds PtrsLong0DD9DF: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Water surface (ani) PtrsLong0DD9E2: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Water surface (not ani) PtrsLong0DD9E5: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Lava surface (ani) PtrsLong0DD9E8: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Net top edge PtrsLong0DD9EB: 2D B4 0D .dw CODE_0DB42D .db :$CODE_0DB42D ; Donut bridge PtrsLong0DD9EE: 61 B4 0D .dw CODE_0DB461 .db :$CODE_0DB461 ; Net bottom edge PtrsLong0DD9F1: 9E B4 0D .dw CODE_0DB49E .db :$CODE_0DB49E ; Net vertical edge PtrsLong0DD9F4: 1F B5 0D .dw CODE_0DB51F .db :$CODE_0DB51F ; Vert. Pipe/Bone/Log PtrsLong0DD9F7: 47 B5 0D .dw CODE_0DB547 .db :$CODE_0DB547 ; Horiz. Pipe/Bone/Log PtrsLong0DD9FA: C8 B1 0D .dw CODE_0DB1C8 .db :$CODE_0DB1C8 ; Long ground ledge PtrsLong0DD9FD: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;\ PtrsLong0DDA00: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA03: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA06: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA09: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA0C: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA0F: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA12: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | Unused (LM will declare these to be "reserved" and won't let you use them) PtrsLong0DDA15: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA18: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA1B: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA1E: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;/ PtrsLong0DDA21: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;\ PtrsLong0DDA24: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA27: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA2A: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | These could've been tileset specific, but Nintendo didn't have that many ideas for them. PtrsLong0DDA2D: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DDA30: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;/ PtrsLong0DDA33: 16 B9 0D .dw CODE_0DB916 .db :$CODE_0DB916 ; Blue switch blocks PtrsLong0DDA36: 1E B9 0D .dw CODE_0DB91E .db :$CODE_0DB91E ; Red switch blocks PtrsLong0DDA39: 35 E1 0D .dw CODE_0DE135 .db :$CODE_0DE135 ; Four-sided edge ground square PtrsLong0DDA3C: 3A DF 0D .dw CODE_0DDF3A .db :$CODE_0DDF3A ; Multiple canvasses (position hardcoded) PtrsLong0DDA3F: C8 DA 0D .dw CODE_0DDAC8 .db :$CODE_0DDAC8 ; Right facing mud/lava PtrsLong0DDA42: F2 DA 0D .dw CODE_0DDAF2 .db :$CODE_0DDAF2 ; Mud/lava slopes PtrsLong0DDA45: A9 DC 0D .dw CODE_0DDCA9 .db :$CODE_0DDCA9 ; Mud/lava with top PtrsLong0DDA48: A9 DC 0D .dw CODE_0DDCA9 .db :$CODE_0DDCA9 ; Mud/lava tiles PtrsLong0DDA4B: 87 DD 0D .dw CODE_0DDD87 .db :$CODE_0DDD87 ; Very steep slopes PtrsLong0DDA4E: EA DC 0D .dw CODE_0DDCEA .db :$CODE_0DDCEA ; Upside down ledge PtrsLong0DDA51: 2E DD 0D .dw CODE_0DDD2E .db :$CODE_0DDD2E ; Solid edges / solid edges with bottoms PtrsLong0DDA54: 5C DD 0D .dw CODE_0DDD5C .db :$CODE_0DDD5C ; Solid dirt ;Lava/mud top right corner edge CODE_0DDA57: A4 57 LDY $57 ; Position CODE_0DDA59: 20 08 AA JSR.W Sta1To6ePointer ; Second page CODE_0DDA5C: A9 FE LDA.B #$FE ;\ CODE_0DDA5E: 97 6B STA [$6B],Y ;/ Tile $1FE Return0DDA60: 60 RTS ; Return ;Canvass tiles 1 through 7 DATA_0DDA61: .db $7D,$7E,$7F,$80,$81,$82,$83 CODE_0DDA68: A4 57 LDY $57 ; Position CODE_0DDA6A: A5 59 LDA $59 ;\ CODE_0DDA6C: 38 SEC ; | CODE_0DDA6D: E9 75 SBC.B #$75 ; | "Fix" object number CODE_0DDA6F: AA TAX ;/ CODE_0DDA70: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DDA73: BF 61 DA 0D LDA.L DATA_0DDA61,X ; | Add tile CODE_0DDA77: 97 6B STA [$6B],Y ;/ Return0DDA79: 60 RTS ; Return ;Bit of canvas 2 through 4 DATA_0DDA7A: .db $81,$82,$83 ; Top tiles DATA_0DDA7D: .db $84,$85,$86 ; Bottom tiles CODE_0DDA80: A4 57 LDY $57 ; Position CODE_0DDA82: A5 59 LDA $59 ;\ CODE_0DDA84: 38 SEC ; | CODE_0DDA85: E9 7C SBC.B #$7C ; | "Fix" object number CODE_0DDA87: AA TAX ;/ CODE_0DDA88: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DDA8B: BF 7A DA 0D LDA.L DATA_0DDA7A,X ; | Top tile CODE_0DDA8F: 97 6B STA [$6B],Y ;/ CODE_0DDA91: 20 7D A9 JSR.W CODE_0DA97D ; Go to next tile CODE_0DDA94: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DDA97: BF 7D DA 0D LDA.L DATA_0DDA7D,X ; | Bottom tile CODE_0DDA9B: 97 6B STA [$6B],Y ;/ Return0DDA9D: 60 RTS ; Return ;Torpedo launcher DATA_0DDA9E: .db $66,$67 DATA_0DDAA0: .db $68,$69 CODE_0DDAA2: A4 57 LDY $57 ; Position CODE_0DDAA4: A2 00 LDX.B #$00 CODE_0DDAA6: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DDAA9: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDAAC: BF 9E DA 0D LDA.L DATA_0DDA9E,X ; | Add object CODE_0DDAB0: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDAB3: E8 INX ;\ CODE_0DDAB4: 8A TXA ;/ Go to next object CODE_0DDAB5: 29 01 AND.B #$01 ;\ CODE_0DDAB7: D0 F0 BNE CODE_0DDAA9 ;/ Check for end of line CODE_0DDAB9: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDABC: 20 7D A9 JSR.W CODE_0DA97D ; Go to next line CODE_0DDABF: E0 04 CPX.B #$04 ;\ CODE_0DDAC1: D0 E6 BNE CODE_0DDAA9 ;/ Return0DDAC3: 60 RTS ; Return ;Right facing mud/lava DATA_0DDAC4: .db $5A,$5B ; Tiles if it has a top DATA_0DDAC6: .db $5B,$5B ; Tiles if it doesn't have a top CODE_0DDAC8: A4 57 LDY $57 ; Position CODE_0DDACA: A5 59 LDA $59 ;\ CODE_0DDACC: 29 0F AND.B #$0F ; | Type CODE_0DDACE: AA TAX ;/ CODE_0DDACF: A5 59 LDA $59 ;\ CODE_0DDAD1: 4A LSR ; | CODE_0DDAD2: 4A LSR ; | CODE_0DDAD3: 4A LSR ; | Height CODE_0DDAD4: 4A LSR ; | CODE_0DDAD5: 85 00 STA $00 ;/ CODE_0DDAD7: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDADA: BF C4 DA 0D LDA.L DATA_0DDAC4,X ; | Add top tile CODE_0DDADE: 4C E8 DA JMP.W CODE_0DDAE8 ;/ CODE_0DDAE1: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDAE4: BF C6 DA 0D LDA.L DATA_0DDAC6,X ; | CODE_0DDAE8: 97 6B STA [$6B],Y ; | Add middle tile CODE_0DDAEA: 20 7D A9 JSR.W CODE_0DA97D ;/ CODE_0DDAED: C6 00 DEC $00 ;\ CODE_0DDAEF: 10 F0 BPL CODE_0DDAE1 ;/ Check for end of the object Return0DDAF1: 60 RTS ; Return ;Mud/lava slopes CODE_0DDAF2: A5 59 LDA $59 ;\ CODE_0DDAF4: 29 03 AND.B #$03 ; | Run the correct code for the type of slope we're trying to add CODE_0DDAF6: 22 FA 86 00 JSL.L ExecutePtrLong ;/ PtrsLong0DDAFA: 06 DB 0D .dw CODE_0DDB06 .db :$CODE_0DDB06 ; Normal left mud/lava slope 8F DB 0D .dw CODE_0DDB8F .db :$CODE_0DDB8F ; Steep left mud/lava slope 02 DC 0D .dw ADDR_0DDC02 .db :$ADDR_0DDC02 ; Normal right mud/lava slope 61 DC 0D .dw CODE_0DDC61 .db :$CODE_0DDC61 ; Steep right mud/lava slope CODE_0DDB06: A4 57 LDY $57 ; Position CODE_0DDB08: A9 01 LDA.B #$01 ;\ CODE_0DDB0A: 85 02 STA $02 ; | Width of the first line CODE_0DDB0C: 85 00 STA $00 ;/ CODE_0DDB0E: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DDB11: A5 59 LDA $59 ;\ CODE_0DDB13: 4A LSR ; | CODE_0DDB14: 4A LSR ; | CODE_0DDB15: 4A LSR ; | Size CODE_0DDB16: 4A LSR ; | CODE_0DDB17: 85 00 STA $00 ; | CODE_0DDB19: E6 00 INC $00 ;/ CODE_0DDB1B: A6 02 LDX $02 ; Load size CODE_0DDB1D: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDB20: A9 D2 LDA.B #$D2 ; | Add upper left tile CODE_0DDB22: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDB25: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDB28: A9 D3 LDA.B #$D3 ; | Add upper right tile CODE_0DDB2A: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDB2D: CA DEX ;\ CODE_0DDB2E: CA DEX ; | Check if we need "slope assist" and plain-color tiles CODE_0DDB2F: 30 1F BMI CODE_0DDB50 ;/ CODE_0DDB31: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDB34: A9 FB LDA.B #$FB ; | Add bottom left tile CODE_0DDB36: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDB39: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDB3C: A9 FF LDA.B #$FF ; | Add bottom right tile CODE_0DDB3E: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDB41: CA DEX ;\ CODE_0DDB42: 4C 4D DB JMP.W CODE_0DDB4D ;/ Go to loop CODE_0DDB45: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDB48: A9 FF LDA.B #$FF ; | Add plain-color tiles CODE_0DDB4A: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDB4D: CA DEX ;\ CODE_0DDB4E: 10 F5 BPL CODE_0DDB45 ;/ Check if we need more plain-color tiles CODE_0DDB50: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDB53: E6 02 INC $02 ;\ CODE_0DDB55: E6 02 INC $02 ;/ Update size of line CODE_0DDB57: C6 00 DEC $00 ;\ CODE_0DDB59: F0 29 BEQ CODE_0DDB84 ;/ Check for the last line CODE_0DDB5B: 10 03 BPL CODE_0DDB60 ;\ CODE_0DDB5D: 4C 8E DB JMP.W Return0DDB8E ;/ Check for end of the object CODE_0DDB60: A5 57 LDA $57 ;\ CODE_0DDB62: 18 CLC ; | CODE_0DDB63: 69 0E ADC.B #$0E ; | Move index left/down or right CODE_0DDB65: A8 TAY ;/ CODE_0DDB66: 90 03 BCC CODE_0DDB6B ;\ ADDR_0DDB68: 20 87 A9 JSR.W CODE_0DA987 ;/ Move pointer downwards if needed CODE_0DDB6B: 98 TYA ;\ CODE_0DDB6C: 29 0F AND.B #$0F ; | CODE_0DDB6E: C9 0E CMP.B #$0E ; | Check which direction it went CODE_0DDB70: 30 0D BMI CODE_0DDB7F ;/ CODE_0DDB72: 98 TYA ;\ CODE_0DDB73: 18 CLC ; | CODE_0DDB74: 69 10 ADC.B #$10 ; | Move index downwards CODE_0DDB76: A8 TAY ;/ CODE_0DDB77: 90 03 BCC CODE_0DDB7C ;\ ADDR_0DDB79: 20 87 A9 JSR.W CODE_0DA987 ;/ Move pointer downwards if needed CODE_0DDB7C: 20 D6 A9 JSR.W CODE_0DA9D6 ; Move pointer leftwards CODE_0DDB7F: 84 57 STY $57 ; Update position CODE_0DDB81: 4C 1B DB JMP.W CODE_0DDB1B CODE_0DDB84: A6 02 LDX $02 ;\ CODE_0DDB86: CA DEX ; | Update line size CODE_0DDB87: CA DEX ;/ CODE_0DDB88: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DDB8B: 4C 31 DB JMP.W CODE_0DDB31 Return0DDB8E: 60 RTS ; Return CODE_0DDB8F: A4 57 LDY $57 ; Position CODE_0DDB91: A9 00 LDA.B #$00 ;\ CODE_0DDB93: 85 02 STA $02 ; | Width of the first line CODE_0DDB95: 85 00 STA $00 ;/ CODE_0DDB97: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DDB9A: A5 59 LDA $59 ;\ CODE_0DDB9C: 4A LSR ; | CODE_0DDB9D: 4A LSR ; | CODE_0DDB9E: 4A LSR ; | Size CODE_0DDB9F: 4A LSR ; | CODE_0DDBA0: 85 00 STA $00 ; | CODE_0DDBA2: E6 00 INC $00 ;/ CODE_0DDBA4: A6 02 LDX $02 ; Load size CODE_0DDBA6: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDBA9: A9 D6 LDA.B #$D6 ; | Add upper tile CODE_0DDBAB: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDBAE: CA DEX ;\ CODE_0DDBAF: 30 16 BMI CODE_0DDBC7 ;/ Check if we need "slope assist" tiles CODE_0DDBB1: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDBB4: A9 FD LDA.B #$FD ; | Add lower tile CODE_0DDBB6: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDBB9: 4C C4 DB JMP.W CODE_0DDBC4 ; Go to loop CODE_0DDBBC: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDBBF: A9 FF LDA.B #$FF ; | Add plain-color tile CODE_0DDBC1: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDBC4: CA DEX ;\ CODE_0DDBC5: 10 F5 BPL CODE_0DDBBC ;/ Check if we need more plain-color tiles CODE_0DDBC7: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDBCA: E6 02 INC $02 ; Update size of line CODE_0DDBCC: C6 00 DEC $00 ;\ CODE_0DDBCE: F0 29 BEQ CODE_0DDBF9 ;/ Check for the last line CODE_0DDBD0: 10 03 BPL CODE_0DDBD5 ;\ CODE_0DDBD2: 4C 01 DC JMP.W Return0DDC01 ;/ Check for end of the object CODE_0DDBD5: A5 57 LDA $57 ;\ CODE_0DDBD7: 18 CLC ; | CODE_0DDBD8: 69 0F ADC.B #$0F ; | Move index left/down or right CODE_0DDBDA: A8 TAY ;/ CODE_0DDBDB: 90 03 BCC CODE_0DDBE0 ;\ ADDR_0DDBDD: 20 87 A9 JSR.W CODE_0DA987 ;/ Move pointer downwards if needed CODE_0DDBE0: 98 TYA ;\ CODE_0DDBE1: 29 0F AND.B #$0F ; | CODE_0DDBE3: C9 0F CMP.B #$0F ; | Check which direction it went CODE_0DDBE5: D0 0D BNE CODE_0DDBF4 ;/ CODE_0DDBE7: 98 TYA ;\ CODE_0DDBE8: 18 CLC ; | CODE_0DDBE9: 69 10 ADC.B #$10 ; | Move index downwards CODE_0DDBEB: A8 TAY ;/ CODE_0DDBEC: 90 03 BCC CODE_0DDBF1 ;\ ADDR_0DDBEE: 20 87 A9 JSR.W CODE_0DA987 ;/ Move pointer downwards if needed CODE_0DDBF1: 20 D6 A9 JSR.W CODE_0DA9D6 ; Move pointer leftwards CODE_0DDBF4: 84 57 STY $57 ; Update position CODE_0DDBF6: 4C A4 DB JMP.W CODE_0DDBA4 CODE_0DDBF9: A6 02 LDX $02 ; Reload line size CODE_0DDBFB: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DDBFE: 4C AE DB JMP.W CODE_0DDBAE Return0DDC01: 60 RTS ; Return ADDR_0DDC02: A4 57 LDY $57 ; Position ADDR_0DDC04: A2 01 LDX.B #$01 ;\ ADDR_0DDC06: 86 02 STX $02 ; | Width of first line ADDR_0DDC08: 86 00 STX $00 ;/ ADDR_0DDC0A: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer ADDR_0DDC0D: A5 59 LDA $59 ;\ ADDR_0DDC0F: 4A LSR ; | ADDR_0DDC10: 4A LSR ; | ADDR_0DDC11: 4A LSR ; | Size ADDR_0DDC12: 4A LSR ; | ADDR_0DDC13: 85 00 STA $00 ; | ADDR_0DDC15: E6 00 INC $00 ;/ ADDR_0DDC17: 4C 3D DC JMP.W ADDR_0DDC3D ADDR_0DDC1A: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DDC1D: A9 FF LDA.B #$FF ; | Add plain-color tiles ADDR_0DDC1F: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DDC22: CA DEX ;\ ADDR_0DDC23: E0 03 CPX.B #$03 ; | Check if we need more plain-color tiles ADDR_0DDC25: D0 F3 BNE ADDR_0DDC1A ;/ ADDR_0DDC27: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DDC2A: A9 FF LDA.B #$FF ; | Add bottom left tile ADDR_0DDC2C: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DDC2F: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DDC32: A9 FC LDA.B #$FC ; | Add bottom right tile ADDR_0DDC34: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DDC37: CA DEX ;\ ADDR_0DDC38: CA DEX ; | ADDR_0DDC39: A5 00 LDA $00 ; | Check if it's the last line ADDR_0DDC3B: F0 20 BEQ Return0DDC5D ;/ ADDR_0DDC3D: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DDC40: A9 D4 LDA.B #$D4 ; | Add top left tile ADDR_0DDC42: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DDC45: 20 08 AA JSR.W Sta1To6ePointer ;\ ADDR_0DDC48: A9 D5 LDA.B #$D5 ; | Add top right tile ADDR_0DDC4A: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DDC4D: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer ADDR_0DDC50: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards ADDR_0DDC53: E6 02 INC $02 ;\ ADDR_0DDC55: E6 02 INC $02 ;/ Update size of line ADDR_0DDC57: A6 02 LDX $02 ; Reload size of line ADDR_0DDC59: C6 00 DEC $00 ;\ ADDR_0DDC5B: 10 01 BPL ADDR_0DDC5E ;/ Check for end of the object Return0DDC5D: 60 RTS ; Return ADDR_0DDC5E: 4C 23 DC JMP.W ADDR_0DDC23 CODE_0DDC61: A4 57 LDY $57 ; Position CODE_0DDC63: A2 00 LDX.B #$00 ;\ CODE_0DDC65: 86 02 STX $02 ; | Width of first line CODE_0DDC67: 86 00 STX $00 ;/ CODE_0DDC69: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DDC6C: A5 59 LDA $59 ;\ CODE_0DDC6E: 4A LSR ; | CODE_0DDC6F: 4A LSR ; | CODE_0DDC70: 4A LSR ; | Size CODE_0DDC71: 4A LSR ; | CODE_0DDC72: 85 00 STA $00 ; | CODE_0DDC74: E6 00 INC $00 ;/ CODE_0DDC76: 4C 8E DC JMP.W CODE_0DDC8E CODE_0DDC79: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDC7C: A9 FF LDA.B #$FF ; | Add plain-color tiles CODE_0DDC7E: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDC81: CA DEX ;\ CODE_0DDC82: E0 01 CPX.B #$01 ; | Check if we need more plain-color tiles CODE_0DDC84: D0 F3 BNE CODE_0DDC79 ;/ CODE_0DDC86: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDC89: A9 FE LDA.B #$FE ; | Add lower tile CODE_0DDC8B: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDC8E: A5 00 LDA $00 ;\ CODE_0DDC90: F0 16 BEQ Return0DDCA8 ;/ Check if it's the last line CODE_0DDC92: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDC95: A9 D7 LDA.B #$D7 ; | Add upper tile CODE_0DDC97: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDC9A: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDC9D: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DDCA0: E6 02 INC $02 ; Update size of line CODE_0DDCA2: A6 02 LDX $02 ; Reload size of line CODE_0DDCA4: C6 00 DEC $00 ;\ CODE_0DDCA6: 10 DA BPL CODE_0DDC82 ;/ Check for end of the object Return0DDCA8: 60 RTS ; Return ;Mud/lava with and without top CODE_0DDCA9: A4 57 LDY $57 ; Position CODE_0DDCAB: A5 59 LDA $59 ;\ CODE_0DDCAD: 29 0F AND.B #$0F ; | Width CODE_0DDCAF: 85 00 STA $00 ;/ CODE_0DDCB1: A5 59 LDA $59 ;\ CODE_0DDCB3: 4A LSR ; | CODE_0DDCB4: 4A LSR ; | CODE_0DDCB5: 4A LSR ; | Height CODE_0DDCB6: 4A LSR ; | CODE_0DDCB7: 85 01 STA $01 ;/ CODE_0DDCB9: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DDCBC: 8A TXA CODE_0DDCBD: A6 00 LDX $00 ; Load width CODE_0DDCBF: 38 SEC ;\ CODE_0DDCC0: E9 39 SBC.B #$39 ; | Check if we need top tiles CODE_0DDCC2: D0 0E BNE CODE_0DDCD2 ;/ CODE_0DDCC4: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDCC7: A9 59 LDA.B #$59 ; | Add top tile CODE_0DDCC9: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDCCC: CA DEX ;\ CODE_0DDCCD: 10 F5 BPL CODE_0DDCC4 ; | Check if we need more top tiles CODE_0DDCCF: 4C DD DC JMP.W CODE_0DDCDD ;/ CODE_0DDCD2: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDCD5: A9 FF LDA.B #$FF ; | Add bottom tiles CODE_0DDCD7: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDCDA: CA DEX ;\ CODE_0DDCDB: 10 F5 BPL CODE_0DDCD2 ;/ Check if we need more bottom tiles CODE_0DDCDD: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDCE0: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DDCE3: A6 00 LDX $00 ;\ CODE_0DDCE5: C6 01 DEC $01 ; | Check for end of the object CODE_0DDCE7: 10 E9 BPL CODE_0DDCD2 ;/ Return0DDCE9: 60 RTS ; Return ;Upside down ledge CODE_0DDCEA: A4 57 LDY $57 ; Position CODE_0DDCEC: A5 59 LDA $59 ;\ CODE_0DDCEE: 4A LSR ; | CODE_0DDCEF: 4A LSR ; | CODE_0DDCF0: 4A LSR ; | Height CODE_0DDCF1: 4A LSR ; | CODE_0DDCF2: 85 00 STA $00 ;/ CODE_0DDCF4: A5 59 LDA $59 ;\ CODE_0DDCF6: 29 0F AND.B #$0F ; | Width CODE_0DDCF8: 85 01 STA $01 ;/ CODE_0DDCFA: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DDCFD: A5 00 LDA $00 ;\ CODE_0DDCFF: F0 17 BEQ CODE_0DDD18 ;/ Check if we need dirt tiles CODE_0DDD01: A6 01 LDX $01 ; Load width CODE_0DDD03: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDD06: A9 65 LDA.B #$65 ; | Add dirt tile CODE_0DDD08: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDD0B: CA DEX ;\ CODE_0DDD0C: 10 F5 BPL CODE_0DDD03 ;/ Check if we need more dirt tiles CODE_0DDD0E: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDD11: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DDD14: C6 00 DEC $00 ;\ CODE_0DDD16: D0 E9 BNE CODE_0DDD01 ;/ Check for the last row CODE_0DDD18: A6 01 LDX $01 ; Load width CODE_0DDD1A: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDD1D: A9 4E LDA.B #$4E ; | Add bottom tile CODE_0DDD1F: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDD22: CA DEX ;\ CODE_0DDD23: 10 F5 BPL CODE_0DDD1A ;/ Check for end of the object Return0DDD25: 60 RTS ; Return ;Solid edges / solid edges with bottoms DATA_0DDD26: .db $50,$50,$51,$51 ; Upper tiles DATA_0DDD2A: .db $4D,$50,$4F,$51 ; Bottom tiles CODE_0DDD2E: A4 57 LDY $57 ; Position CODE_0DDD30: A5 59 LDA $59 ;\ CODE_0DDD32: 4A LSR ; | CODE_0DDD33: 4A LSR ; | CODE_0DDD34: 4A LSR ; | Height CODE_0DDD35: 4A LSR ; | CODE_0DDD36: 85 00 STA $00 ;/ CODE_0DDD38: A5 59 LDA $59 ;\ CODE_0DDD3A: 29 0F AND.B #$0F ; | Type CODE_0DDD3C: AA TAX ;/ CODE_0DDD3D: A5 00 LDA $00 ;\ CODE_0DDD3F: F0 10 BEQ CODE_0DDD51 ;/ Check if we need upper tiles CODE_0DDD41: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDD44: BF 26 DD 0D LDA.L DATA_0DDD26,X ; | Add upper tile CODE_0DDD48: 97 6B STA [$6B],Y ;/ CODE_0DDD4A: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DDD4D: C6 00 DEC $00 ;\ CODE_0DDD4F: D0 F0 BNE CODE_0DDD41 ;/ Check if we need more upper tiles CODE_0DDD51: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDD54: BF 2A DD 0D LDA.L DATA_0DDD2A,X ; | Add bottom tile CODE_0DDD58: 20 5B A9 JSR.W CODE_0DA95B ;/ Return0DDD5B: 60 RTS ; Return ;Solid dirt CODE_0DDD5C: A4 57 LDY $57 ; Position CODE_0DDD5E: A5 59 LDA $59 ;\ CODE_0DDD60: 4A LSR ; | CODE_0DDD61: 4A LSR ; | CODE_0DDD62: 4A LSR ; | Height CODE_0DDD63: 4A LSR ; | CODE_0DDD64: 85 00 STA $00 ;/ CODE_0DDD66: A5 59 LDA $59 ;\ CODE_0DDD68: 29 0F AND.B #$0F ; | Width CODE_0DDD6A: 85 01 STA $01 ;/ CODE_0DDD6C: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DDD6F: A6 01 LDX $01 ; Load width CODE_0DDD71: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDD74: A9 65 LDA.B #$65 ; | Add tile CODE_0DDD76: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDD79: CA DEX ;\ CODE_0DDD7A: 10 F5 BPL CODE_0DDD71 ;/ Check for end of the line CODE_0DDD7C: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDD7F: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DDD82: C6 00 DEC $00 ;\ CODE_0DDD84: 10 E9 BPL CODE_0DDD6F ;/ Check for end of the object Return0DDD86: 60 RTS ; Return ;Very steep slopes CODE_0DDD87: A5 59 LDA $59 ;\ CODE_0DDD89: 4A LSR ; | CODE_0DDD8A: 4A LSR ; | CODE_0DDD8B: 4A LSR ; | Check type and run the correct code CODE_0DDD8C: 4A LSR ; | CODE_0DDD8D: 29 01 AND.B #$01 ; | CODE_0DDD8F: 22 FA 86 00 JSL.L ExecutePtrLong ;/ PtrsLong0DDD93: 99 DD 0D .dw CODE_0DDD99 .db :$CODE_0DDD99 ; Very steep left slope 3C DE 0D .dw CODE_0DDE3C .db :$CODE_0DDE3C ; Very steep right slope CODE_0DDD99: A4 57 LDY $57 ; Position CODE_0DDD9B: A5 59 LDA $59 ;\ CODE_0DDD9D: 29 0F AND.B #$0F ; | Width CODE_0DDD9F: 85 00 STA $00 ;/ CODE_0DDDA1: 0A ASL ;\ CODE_0DDDA2: 18 CLC ; | CODE_0DDDA3: 69 02 ADC.B #$02 ; | Height (this object is added in vertical stripes rather than horizontal) CODE_0DDDA5: 85 01 STA $01 ;/ CODE_0DDDA7: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DDDAA: A6 01 LDX $01 ; Load height CODE_0DDDAC: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDDAF: A9 CA LDA.B #$CA ; | Add top tile CODE_0DDDB1: 97 6B STA [$6B],Y ;/ CODE_0DDDB3: 98 TYA ;\ CODE_0DDDB4: 18 CLC ; | CODE_0DDDB5: 69 10 ADC.B #$10 ; | CODE_0DDDB7: A8 TAY ; | CODE_0DDDB8: 90 08 BCC CODE_0DDDC2 ; | Move pointer downwards ADDR_0DDDBA: A5 6C LDA $6C ; | ADDR_0DDDBC: 69 00 ADC.B #$00 ; | ADDR_0DDDBE: 85 6C STA $6C ; | ADDR_0DDDC0: 85 6F STA $6F ;/ CODE_0DDDC2: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDDC5: A9 CB LDA.B #$CB ; | Add middle tile (not counting dirt tiles) CODE_0DDDC7: 97 6B STA [$6B],Y ;/ CODE_0DDDC9: 98 TYA ;\ CODE_0DDDCA: 18 CLC ; | CODE_0DDDCB: 69 10 ADC.B #$10 ; | CODE_0DDDCD: A8 TAY ; | CODE_0DDDCE: 90 08 BCC CODE_0DDDD8 ; | Move pointer downwards ADDR_0DDDD0: A5 6C LDA $6C ; | ADDR_0DDDD2: 69 00 ADC.B #$00 ; | ADDR_0DDDD4: 85 6C STA $6C ; | ADDR_0DDDD6: 85 6F STA $6F ;/ CODE_0DDDD8: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDDDB: A9 F1 LDA.B #$F1 ; | Add bottom tile (not counting dirt tiles) CODE_0DDDDD: 97 6B STA [$6B],Y ;/ CODE_0DDDDF: 98 TYA ;\ CODE_0DDDE0: 18 CLC ; | CODE_0DDDE1: 69 10 ADC.B #$10 ; | CODE_0DDDE3: A8 TAY ; | CODE_0DDDE4: 90 08 BCC CODE_0DDDEE ; | Move pointer downwards ADDR_0DDDE6: A5 6C LDA $6C ; | ADDR_0DDDE8: 69 00 ADC.B #$00 ; | ADDR_0DDDEA: 85 6C STA $6C ; | ADDR_0DDDEC: 85 6F STA $6F ;/ CODE_0DDDEE: CA DEX ;\ CODE_0DDDEF: CA DEX ; | Update number of remaining tiles in the line and go to loop CODE_0DDDF0: 4C 09 DE JMP.W CODE_0DDE09 ;/ CODE_0DDDF3: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DDDF6: A9 3F LDA.B #$3F ; | Add dirt tile CODE_0DDDF8: 97 6B STA [$6B],Y ;/ CODE_0DDDFA: 98 TYA ;\ CODE_0DDDFB: 18 CLC ; | CODE_0DDDFC: 69 10 ADC.B #$10 ; | CODE_0DDDFE: A8 TAY ; | CODE_0DDDFF: 90 08 BCC CODE_0DDE09 ; | Move pointer downwards ADDR_0DDE01: A5 6C LDA $6C ; | ADDR_0DDE03: 69 00 ADC.B #$00 ; | ADDR_0DDE05: 85 6C STA $6C ; | ADDR_0DDE07: 85 6F STA $6F ;/ CODE_0DDE09: CA DEX ;\ CODE_0DDE0A: 10 E7 BPL CODE_0DDDF3 ;/ Check if we need more dirt tiles CODE_0DDE0C: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDE0F: A5 57 LDA $57 ;\ CODE_0DDE11: 18 CLC ; | CODE_0DDE12: 69 1F ADC.B #$1F ; | CODE_0DDE14: A8 TAY ; | CODE_0DDE15: 90 03 BCC CODE_0DDE1A ; | ADDR_0DDE17: 20 87 A9 JSR.W CODE_0DA987 ; | CODE_0DDE1A: 98 TYA ; | CODE_0DDE1B: 29 0F AND.B #$0F ; | CODE_0DDE1D: C9 0F CMP.B #$0F ; | CODE_0DDE1F: D0 0D BNE CODE_0DDE2E ; | Move pointer down and left CODE_0DDE21: 98 TYA ; | CODE_0DDE22: 18 CLC ; | CODE_0DDE23: 69 10 ADC.B #$10 ; | CODE_0DDE25: A8 TAY ; | CODE_0DDE26: 90 03 BCC CODE_0DDE2B ; | ADDR_0DDE28: 20 87 A9 JSR.W CODE_0DA987 ; | CODE_0DDE2B: 20 D6 A9 JSR.W CODE_0DA9D6 ; | CODE_0DDE2E: 84 57 STY $57 ;/ CODE_0DDE30: C6 01 DEC $01 ;\ CODE_0DDE32: C6 01 DEC $01 ;/ Update height CODE_0DDE34: C6 00 DEC $00 ;\ CODE_0DDE36: 30 03 BMI Return0DDE3B ; | Check for end of the object CODE_0DDE38: 4C A7 DD JMP.W CODE_0DDDA7 ;/ Return0DDE3B: 60 RTS ; Return CODE_0DDE3C: A4 57 LDY $57 ; Position CODE_0DDE3E: A5 59 LDA $59 ;\ CODE_0DDE40: 29 0F AND.B #$0F ; | Width CODE_0DDE42: 85 00 STA $00 ;/ CODE_0DDE44: 0A ASL ;\ CODE_0DDE45: 18 CLC ; | CODE_0DDE46: 69 02 ADC.B #$02 ; | Height CODE_0DDE48: 85 01 STA $01 ;/ CODE_0DDE4A: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DDE4D: A6 01 LDX $01 ; Load height CODE_0DDE4F: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDE52: A9 CC LDA.B #$CC ; | Add top tile CODE_0DDE54: 97 6B STA [$6B],Y ;/ CODE_0DDE56: 98 TYA ;\ CODE_0DDE57: 18 CLC ; | CODE_0DDE58: 69 10 ADC.B #$10 ; | CODE_0DDE5A: A8 TAY ; | CODE_0DDE5B: 90 08 BCC CODE_0DDE65 ; | Move pointer downwards ADDR_0DDE5D: A5 6C LDA $6C ; | ADDR_0DDE5F: 69 00 ADC.B #$00 ; | ADDR_0DDE61: 85 6C STA $6C ; | ADDR_0DDE63: 85 6F STA $6F ;/ CODE_0DDE65: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDE68: A9 CD LDA.B #$CD ; | Add middle tile (not counting dirt tiles) CODE_0DDE6A: 97 6B STA [$6B],Y ;/ CODE_0DDE6C: 98 TYA ;\ CODE_0DDE6D: 18 CLC ; | CODE_0DDE6E: 69 10 ADC.B #$10 ; | CODE_0DDE70: A8 TAY ; | CODE_0DDE71: 90 08 BCC CODE_0DDE7B ; | Move pointer downwards ADDR_0DDE73: A5 6C LDA $6C ; | ADDR_0DDE75: 69 00 ADC.B #$00 ; | ADDR_0DDE77: 85 6C STA $6C ; | ADDR_0DDE79: 85 6F STA $6F ;/ CODE_0DDE7B: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDE7E: A9 F2 LDA.B #$F2 ; | Add bottom tile (not counting dirt tiles) CODE_0DDE80: 97 6B STA [$6B],Y ;/ CODE_0DDE82: 98 TYA ;\ CODE_0DDE83: 18 CLC ; | CODE_0DDE84: 69 10 ADC.B #$10 ; | CODE_0DDE86: A8 TAY ; | CODE_0DDE87: 90 08 BCC CODE_0DDE91 ; | Move pointer downwards ADDR_0DDE89: A5 6C LDA $6C ; | ADDR_0DDE8B: 69 00 ADC.B #$00 ; | ADDR_0DDE8D: 85 6C STA $6C ; | ADDR_0DDE8F: 85 6F STA $6F ;/ CODE_0DDE91: CA DEX ;\ CODE_0DDE92: CA DEX ; | Update number of remaining tiles in the line and go to loop CODE_0DDE93: 4C AC DE JMP.W CODE_0DDEAC ;/ CODE_0DDE96: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DDE99: A9 3F LDA.B #$3F ; | Add dirt tile CODE_0DDE9B: 97 6B STA [$6B],Y ;/ CODE_0DDE9D: 98 TYA ;\ CODE_0DDE9E: 18 CLC ; | CODE_0DDE9F: 69 10 ADC.B #$10 ; | CODE_0DDEA1: A8 TAY ; | CODE_0DDEA2: 90 08 BCC CODE_0DDEAC ; | Move pointer downwards ADDR_0DDEA4: A5 6C LDA $6C ; | ADDR_0DDEA6: 69 00 ADC.B #$00 ; | ADDR_0DDEA8: 85 6C STA $6C ; | ADDR_0DDEAA: 85 6F STA $6F ;/ CODE_0DDEAC: CA DEX ;\ CODE_0DDEAD: 10 E7 BPL CODE_0DDE96 ;/ Check if we need more dirt tiles CODE_0DDEAF: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDEB2: A5 57 LDA $57 ;\ CODE_0DDEB4: 18 CLC ; | CODE_0DDEB5: 69 20 ADC.B #$20 ; | CODE_0DDEB7: A8 TAY ; | CODE_0DDEB8: 90 03 BCC CODE_0DDEBD ; | ADDR_0DDEBA: 20 87 A9 JSR.W CODE_0DA987 ; | CODE_0DDEBD: 98 TYA ; | CODE_0DDEBE: 18 CLC ; | CODE_0DDEBF: 69 01 ADC.B #$01 ; | CODE_0DDEC1: A8 TAY ; | Move pointer down and right CODE_0DDEC2: 29 0F AND.B #$0F ; | CODE_0DDEC4: D0 08 BNE CODE_0DDECE ; | CODE_0DDEC6: 20 EF A9 JSR.W CODE_0DA9EF ; | CODE_0DDEC9: 88 DEY ; | CODE_0DDECA: 98 TYA ; | CODE_0DDECB: 29 F0 AND.B #$F0 ; | CODE_0DDECD: A8 TAY ; | CODE_0DDECE: 84 57 STY $57 ;/ CODE_0DDED0: C6 01 DEC $01 ;\ CODE_0DDED2: C6 01 DEC $01 ;/ Update height CODE_0DDED4: C6 00 DEC $00 ;\ CODE_0DDED6: 30 03 BMI Return0DDEDB ; | Check for end of the object CODE_0DDED8: 4C 4A DE JMP.W CODE_0DDE4A ;/ Return0DDEDB: 60 RTS ; Return ;Multiple canvasses (position hardcoded) DATA_0DDEDC: .db $5C,$5D,$5E,$60 DATA_0DDEE0: .db $73,$74,$75 ; This line is added twice DATA_0DDEE3: .db $62,$63,$64,$5F DATA_0DDEE7: .db $76,$76,$76 DATA_0DDEEA: .db $50,$58,$94,$9C,$D0,$D8,$14,$1C ; Low bytes of pointers to where to place the canvasses DATA_0DDEF2: .db $C8,$C8,$C8,$C8,$C8,$C8,$C9,$C9 ; High bytes of pointers to where to place the canvasses DATA_0DDEFA: .db $00,$C8,$B0,$C9,$60,$CB,$10,$CD ; Table of 16-bit pointers to the screens (bank is 7E) .db $C0,$CE,$70,$D0,$20,$D2,$D0,$D3 .db $80,$D5,$30,$D7,$E0,$D8,$90,$DA .db $40,$DC,$F0,$DD,$A0,$DF,$50,$E1 DATA_0DDF1A: .db $00,$C8,$B0,$C9,$60,$CB,$10,$CD ; Table of 16-bit pointers to the screens (bank is 7F) .db $C0,$CE,$70,$D0,$20,$D2,$D0,$D3 .db $80,$D5,$30,$D7,$E0,$D8,$90,$DA .db $40,$DC,$F0,$DD,$A0,$DF,$50,$E1 CODE_0DDF3A: A5 59 LDA $59 ;\ CODE_0DDF3C: 29 0F AND.B #$0F ; | Remove height bits CODE_0DDF3E: 85 59 STA $59 ;/ CODE_0DDF40: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DDF43: A0 50 LDY.B #$50 ;\ CODE_0DDF45: 84 57 STY $57 ;/ Change position CODE_0DDF47: A9 0F LDA.B #$0F ;\ CODE_0DDF49: 85 00 STA $00 ;/ Width of a row CODE_0DDF4B: A9 04 LDA.B #$04 ;\ CODE_0DDF4D: 85 01 STA $01 ;/ Height CODE_0DDF4F: A6 00 LDX $00 ; Load width CODE_0DDF51: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDF54: A9 61 LDA.B #$61 ; | Add tile CODE_0DDF56: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DDF59: CA DEX ;\ CODE_0DDF5A: 10 F5 BPL CODE_0DDF51 ;/ Check for end of the row CODE_0DDF5C: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDF5F: A5 57 LDA $57 ;\ CODE_0DDF61: 18 CLC ; | CODE_0DDF62: 69 40 ADC.B #$40 ; | CODE_0DDF64: 85 57 STA $57 ; | Move pointer down CODE_0DDF66: A8 TAY ; | CODE_0DDF67: 90 03 BCC CODE_0DDF6C ; | CODE_0DDF69: 20 87 A9 JSR.W CODE_0DA987 ;/ CODE_0DDF6C: C6 01 DEC $01 ;\ CODE_0DDF6E: 10 DF BPL CODE_0DDF4F ;/ Check for end of this area CODE_0DDF70: A9 00 LDA.B #$00 ;\ CODE_0DDF72: 85 6B STA $6B ; | CODE_0DDF74: 85 04 STA $04 ; | CODE_0DDF76: 85 6E STA $6E ; | CODE_0DDF78: A9 00 LDA.B #$00 ; | CODE_0DDF7A: 85 00 STA $00 ; | Hijack the pointers CODE_0DDF7C: A9 07 LDA.B #$07 ; | CODE_0DDF7E: 85 03 STA $03 ; | CODE_0DDF80: A9 02 LDA.B #$02 ; | CODE_0DDF82: 85 01 STA $01 ;/ CODE_0DDF84: A6 00 LDX $00 ;\ CODE_0DDF86: BF EA DE 0D LDA.L DATA_0DDEEA,X ; | CODE_0DDF8A: 85 57 STA $57 ; | CODE_0DDF8C: A8 TAY ; | CODE_0DDF8D: BF F2 DE 0D LDA.L DATA_0DDEF2,X ; | Set up pointers to where to place the canvasses CODE_0DDF91: 85 6C STA $6C ; | CODE_0DDF93: 85 05 STA $05 ; | CODE_0DDF95: 85 6F STA $6F ;/ CODE_0DDF97: A9 03 LDA.B #$03 ;\ CODE_0DDF99: 85 02 STA $02 ;/ Width of top line CODE_0DDF9B: A2 00 LDX.B #$00 CODE_0DDF9D: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDFA0: BF DC DE 0D LDA.L DATA_0DDEDC,X ; | CODE_0DDFA4: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DDFA7: E8 INX ; | Add top line CODE_0DDFA8: C6 02 DEC $02 ; | CODE_0DDFAA: 10 F1 BPL CODE_0DDF9D ;/ CODE_0DDFAC: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDFAF: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DDFB2: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DDFB5: BF DC DE 0D LDA.L DATA_0DDEDC,X ; | CODE_0DDFB9: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DDFBC: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | CODE_0DDFBF: BF DD DE 0D LDA.L DATA_0DDEDC+1,X ; | CODE_0DDFC3: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DDFC6: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | Add middle lines CODE_0DDFC9: BF DE DE 0D LDA.L DATA_0DDEDC+2,X ; | CODE_0DDFCD: 97 6B STA [$6B],Y ; | CODE_0DDFCF: 20 7D A9 JSR.W CODE_0DA97D ; | CODE_0DDFD2: C6 01 DEC $01 ; | CODE_0DDFD4: 10 DC BPL CODE_0DDFB2 ;/ CODE_0DDFD6: E8 INX ;\ CODE_0DDFD7: E8 INX ; | Increase index to table CODE_0DDFD8: E8 INX ;/ CODE_0DDFD9: A9 03 LDA.B #$03 ;\ CODE_0DDFDB: 85 02 STA $02 ;/ Width of bottom line CODE_0DDFDD: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DDFE0: BF DC DE 0D LDA.L DATA_0DDEDC,X ; | CODE_0DDFE4: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DDFE7: E8 INX ; | Add bottom line CODE_0DDFE8: C6 02 DEC $02 ; | CODE_0DDFEA: 10 F1 BPL CODE_0DDFDD ;/ CODE_0DDFEC: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DDFEF: A9 02 LDA.B #$02 ;\ CODE_0DDFF1: 85 02 STA $02 ;/ CODE_0DDFF3: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DDFF6: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DDFF9: BF DC DE 0D LDA.L DATA_0DDEDC,X ; | CODE_0DDFFD: 20 5B A9 JSR.W CODE_0DA95B ; | Add bottom line CODE_0DE001: C6 02 DEC $02 ; | CODE_0DE003: 10 F1 BPL CODE_0DDFF6 ;/ CODE_0DE005: C6 03 DEC $03 ;\ CODE_0DE007: 30 05 BMI CODE_0DE00E ; | CODE_0DE009: E6 00 INC $00 ; | Check for end of the object CODE_0DE00B: 4C 80 DF JMP.W CODE_0DDF80 ;/ CODE_0DE00E: A9 01 LDA.B #$01 ;\ CODE_0DE010: 85 08 STA $08 ;/ First screen to copy to CODE_0DE012: A9 00 LDA.B #$00 ;\ CODE_0DE014: 85 09 STA $09 ;/ High byte of screen number (always 0) CODE_0DE016: C2 30 REP #$30 ; Index (16 bit) Accum (16 bit) CODE_0DE018: A5 08 LDA $08 ;\ CODE_0DE01A: 0A ASL ; | Get index to table CODE_0DE01B: AA TAX ;/ CODE_0DE01C: BF FA DE 0D LDA.L DATA_0DDEFA,X ;\ CODE_0DE020: 85 04 STA $04 ;/ Get pointer to low byte of map16 tiles table CODE_0DE022: BF 1A DF 0D LDA.L DATA_0DDF1A,X ;\ CODE_0DE026: 85 06 STA $06 ;/ Get pointer to high byte of map16 tiles table CODE_0DE028: A9 B0 01 LDA.W #$01B0 ;\ CODE_0DE02B: 85 00 STA $00 ;/ Size of a screen CODE_0DE02D: A9 00 C8 LDA.W #$C800 ;\ CODE_0DE030: 85 02 STA $02 ;/ Where to copy from CODE_0DE032: 8B PHB ; Preserve DBR (MVN/MVP changes this one) CODE_0DE033: A5 00 LDA $00 ;\ CODE_0DE035: A6 02 LDX $02 ; | Load settings CODE_0DE037: A4 04 LDY $04 ;/ CODE_0DE039: 54 7E 7E MVN $7E,$7E ; And move it CODE_0DE03C: AB PLB ; Reload DBR CODE_0DE03D: A9 B0 01 LDA.W #$01B0 ;\ CODE_0DE040: 85 00 STA $00 ;/ Size of a screen CODE_0DE042: A9 00 C8 LDA.W #$C800 ;\ CODE_0DE045: 85 02 STA $02 ;/ Where to copy from CODE_0DE047: 8B PHB ; Preserve DBR (MVN/MVP changes this one) CODE_0DE048: A5 00 LDA $00 ;\ CODE_0DE04A: A6 02 LDX $02 ; | Load settings CODE_0DE04C: A4 06 LDY $06 ;/ CODE_0DE04E: 54 7F 7F MVN $7F,$7F ; And move it CODE_0DE051: AB PLB ; Reload DBR CODE_0DE052: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0DE054: C6 59 DEC $59 ;\ CODE_0DE056: F0 05 BEQ Return0DE05D ; | CODE_0DE058: E6 08 INC $08 ; | Check for end of the object CODE_0DE05A: 4C 16 E0 JMP.W CODE_0DE016 ;/ Return0DE05D: 60 RTS ; Return ;Canvass 1 through 4 (i.e. all of them) DATA_0DE05E: .db $5C,$5D,$5E,$60 ; No, I don't know what those 60's are for DATA_0DE062: .db $73,$74,$75 DATA_0DE065: .db $73,$74,$75 DATA_0DE068: .db $73,$74,$75 DATA_0DE06B: .db $73,$74,$75 DATA_0DE06E: .db $76,$76,$76 DATA_0DE071: .db $5C,$5D,$5E,$60 DATA_0DE075: .db $77,$78,$79 DATA_0DE078: .db $7A,$7B,$7C DATA_0DE07B: .db $77,$78,$79 DATA_0DE07E: .db $7A,$7B,$7C DATA_0DE081: .db $76,$76,$76 DATA_0DE084: .db $5C,$5D,$5E,$60 DATA_0DE088: .db $73,$7D,$75 DATA_0DE08B: .db $73,$7E,$75 DATA_0DE08E: .db $73,$74,$75 DATA_0DE091: .db $7F,$74,$75 DATA_0DE094: .db $76,$76,$76 DATA_0DE097: .db $5C,$5D,$5E,$60 DATA_0DE09B: .db $77,$82,$83 DATA_0DE09E: .db $7A,$85,$86 DATA_0DE0A1: .db $81,$78,$79 DATA_0DE0A4: .db $84,$7B,$7C DATA_0DE0A7: .db $76,$76,$76 DATA_0DE0AA: .db $00,$13,$26,$39 ; Offsets in the table (powers of 19) CODE_0DE0AE: A4 57 LDY $57 ; Position CODE_0DE0B0: A5 59 LDA $59 ;\ CODE_0DE0B2: 38 SEC ; | CODE_0DE0B3: E9 71 SBC.B #$71 ; | "Fix" object number CODE_0DE0B5: AA TAX ;/ CODE_0DE0B6: BF AA E0 0D LDA.L DATA_0DE0AA,X ;\ CODE_0DE0BA: AA TAX ;/ Multiply with 19 to get index to table CODE_0DE0BB: 20 B1 A6 JSR.W CODE_0DA6B1 ; Save pointer CODE_0DE0BE: A9 02 LDA.B #$02 ;\ CODE_0DE0C0: 85 01 STA $01 ;/ Why not put this later? Spaghetti code... CODE_0DE0C2: A9 03 LDA.B #$03 ;\ CODE_0DE0C4: 85 02 STA $02 ;/ Width of first row CODE_0DE0C6: 20 08 AA JSR.W Sta1To6ePointer ;\ \ CODE_0DE0C9: BF 5E E0 0D LDA.L DATA_0DE05E,X ; | | Add tile CODE_0DE0CD: 20 5B A9 JSR.W CODE_0DA95B ; |/ CODE_0DE0D0: E8 INX ; | CODE_0DE0D1: C6 02 DEC $02 ; | This code adds the top row of tiles. CODE_0DE0D3: 10 F1 BPL CODE_0DE0C6 ;/ CODE_0DE0D5: 20 BA A6 JSR.W CODE_0DA6BA ;\ CODE_0DE0D8: 20 7D A9 JSR.W CODE_0DA97D ;/ Reload pointer and go to next row CODE_0DE0DB: A9 02 LDA.B #$02 ; Width of other rows CODE_0DE0DD: 85 02 STA $02 CODE_0DE0DF: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ \ CODE_0DE0E2: BF 5E E0 0D LDA.L DATA_0DE05E,X ; | | Add tile CODE_0DE0E6: 20 5B A9 JSR.W CODE_0DA95B ; | / CODE_0DE0E9: E8 INX ; | CODE_0DE0EA: C6 02 DEC $02 ; | This code adds the middle rows. CODE_0DE0EC: 10 F1 BPL CODE_0DE0DF ; | CODE_0DE0EE: 20 BA A6 JSR.W CODE_0DA6BA ; | > Reload pointer CODE_0DE0F1: 20 7D A9 JSR.W CODE_0DA97D ; | CODE_0DE0F4: C6 01 DEC $01 ; | CODE_0DE0F6: 10 E3 BPL CODE_0DE0DB ;/ CODE_0DE0F8: A9 02 LDA.B #$02 ; Width of the second-to-bottom row CODE_0DE0FA: 85 02 STA $02 CODE_0DE0FC: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DE0FF: BF 5E E0 0D LDA.L DATA_0DE05E,X ; | CODE_0DE103: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DE106: E8 INX ; | This code adds the second-to-bottom row. CODE_0DE107: C6 02 DEC $02 ; | CODE_0DE109: 10 F1 BPL CODE_0DE0FC ;/ CODE_0DE10B: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DE10E: A9 5F LDA.B #$5F ; | Add that 15F tile CODE_0DE110: 97 6B STA [$6B],Y ;/ CODE_0DE112: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DE115: A9 02 LDA.B #$02 ; Width of the bottom row CODE_0DE117: 85 02 STA $02 CODE_0DE119: 20 7D A9 JSR.W CODE_0DA97D ; Go to next row CODE_0DE11C: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DE11F: BF 5E E0 0D LDA.L DATA_0DE05E,X ; | CODE_0DE123: 20 5B A9 JSR.W CODE_0DA95B ; | CODE_0DE126: E8 INX ; | This code adds the bottom row. CODE_0DE127: C6 02 DEC $02 ; | CODE_0DE129: 10 F1 BPL CODE_0DE11C ;/ Return0DE12B: 60 RTS ; Return ;Four-sided edge ground square DATA_0DE12C: .db $45,$50,$4D ; Left tiles DATA_0DE12F: .db $00,$F0,$4E ; Middle tiles DATA_0DE132: .db $48,$51,$4F ; Right tiles CODE_0DE135: A4 57 LDY $57 ; Position CODE_0DE137: A5 59 LDA $59 ;\ CODE_0DE139: 29 0F AND.B #$0F ; | Width CODE_0DE13B: 85 00 STA $00 ;/ CODE_0DE13D: A5 59 LDA $59 ;\ CODE_0DE13F: 4A LSR ; | CODE_0DE140: 4A LSR ; | CODE_0DE141: 4A LSR ; | Height CODE_0DE142: 4A LSR ; | CODE_0DE143: 85 01 STA $01 ;/ CODE_0DE145: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DE148: A2 00 LDX.B #$00 ; Index to table CODE_0DE14A: A5 00 LDA $00 ;\ CODE_0DE14C: 85 02 STA $02 ;/ Reload width CODE_0DE14E: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DE151: BF 2C E1 0D LDA.L DATA_0DE12C,X ; | Add left tile CODE_0DE155: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DE158: 4C 65 E1 JMP.W CODE_0DE165 CODE_0DE15B: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DE15E: BF 2F E1 0D LDA.L DATA_0DE12F,X ; | Add middle tile CODE_0DE162: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DE165: C6 02 DEC $02 ;\ CODE_0DE167: D0 F2 BNE CODE_0DE15B ;/ Check if we need more middle tiles CODE_0DE169: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DE16C: BF 32 E1 0D LDA.L DATA_0DE132,X ; | Add right tile CODE_0DE170: 97 6B STA [$6B],Y ;/ CODE_0DE172: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DE175: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DE178: A2 01 LDX.B #$01 CODE_0DE17A: C6 01 DEC $01 ;\ CODE_0DE17C: 30 07 BMI Return0DE185 ;/ Check for end of the object CODE_0DE17E: D0 02 BNE CODE_0DE182 ;\ CODE_0DE180: A2 02 LDX.B #$02 ; | Check for the last line CODE_0DE182: 4C 4A E1 JMP.W CODE_0DE14A ;/ Return0DE185: 60 RTS ; Return Empty0DE186: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE18E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE196: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE19E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1A6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1AE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1B6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1BE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1C6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1CE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1D6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1DE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1E6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1EE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1F6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE1FE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE206: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE20E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE216: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE21E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE226: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE22E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE236: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE23E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE246: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE24E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE256: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE25E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE266: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE26E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE276: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE27E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE286: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE28E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE296: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE29E: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2A6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2AE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2B6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2BE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2C6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2CE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2D6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2DE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2E6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2EE: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2F6: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Empty0DE2FE: .db $FF,$FF DATA_0DE300: .db $82,$1D,$82,$DD,$82,$DD,$83,$1D DATA_0DE308: .db $82,$1D,$86,$1D,$82,$DD,$82,$1D DATA_0DE310: .db $82,$1D,$82,$DD,$89,$1D,$82,$1D DATA_0DE318: .db $8A,$1D,$82,$DD,$82,$DD,$82,$1D DATA_0DE320: .db $7A,$05,$7A,$85,$7A,$45,$7A,$C5 DATA_0DE328: .db $88,$0D,$98,$0D,$89,$0D,$99,$0D DATA_0DE330: .db $98,$0D,$98,$0D,$99,$0D,$99,$0D DATA_0DE338: .db $F8,$1C,$85,$4D,$82,$4D,$84,$4D DATA_0DE340: .db $81,$4D,$83,$4D,$80,$4D,$F8,$1C DATA_0DE348: .db $F8,$1C,$85,$4D,$85,$4D,$84,$4D DATA_0DE350: .db $84,$4D,$83,$4D,$83,$4D,$F8,$1C DATA_0DE358: .db $80,$0D,$F8,$1C,$81,$0D,$83,$0D DATA_0DE360: .db $82,$0D,$84,$0D,$F8,$1C,$85,$0D DATA_0DE368: .db $83,$0D,$F8,$1C,$84,$0D,$83,$0D DATA_0DE370: .db $85,$0D,$84,$0D,$F8,$1C,$85,$0D DATA_0DE378: .db $20,$0D,$20,$8D,$20,$0D,$20,$8D DATA_0DE380: .db $30,$0D,$30,$0D,$30,$4D,$30,$4D DATA_0DE388: .db $F8,$1C,$8D,$4D,$8D,$4D,$8C,$4D DATA_0DE390: .db $8C,$4D,$8B,$4D,$8B,$4D,$F8,$1C DATA_0DE398: .db $8B,$0D,$F8,$1C,$8C,$0D,$8B,$0D DATA_0DE3A0: .db $8D,$0D,$8C,$0D,$F8,$1C,$8D,$0D DATA_0DE3A8: .db $8E,$2D,$8E,$AD,$F8,$3C,$F8,$3C DATA_0DE3B0: .db $F8,$3C,$9A,$2D,$F8,$3C,$9B,$2D DATA_0DE3B8: .db $F8,$3C,$9B,$2D,$F8,$3C,$9B,$2D DATA_0DE3C0: .db $F8,$3C,$9B,$2D,$F8,$3C,$9A,$6D DATA_0DE3C8: .db $F8,$08,$F8,$08,$AB,$0D,$F8,$08 DATA_0DE3D0: .db $AC,$0D,$BC,$0D,$AD,$0D,$BD,$0D DATA_0DE3D8: .db $CC,$0D,$F8,$08,$CD,$0D,$F8,$08 DATA_0DE3E0: .db $CD,$4D,$F8,$08,$CC,$4D,$F8,$08 DATA_0DE3E8: .db $AD,$4D,$BD,$4D,$AC,$4D,$BC,$4D DATA_0DE3F0: .db $AB,$4D,$F8,$08,$F8,$08,$F8,$08 DATA_0DE3F8: .db $31,$0D,$32,$0D,$32,$0D,$31,$0D DATA_0DE400: .db $31,$0D,$F8,$1C,$32,$0D,$31,$0D DATA_0DE408: .db $F8,$1C,$32,$0D,$F8,$1C,$31,$0D DATA_0DE410: .db $31,$0D,$32,$0D,$32,$0D,$F8,$1C DATA_0DE418: .db $F8,$1C,$32,$0D,$F8,$1C,$F8,$1C DATA_0DE420: .db $20,$0D,$20,$8D,$9E,$0D,$AE,$0D DATA_0DE428: .db $9F,$0D,$AF,$0D,$9F,$4D,$AF,$4D DATA_0DE430: .db $9E,$4D,$AE,$4D,$20,$0D,$20,$8D DATA_0DE438: .db $F8,$1C,$F8,$1C,$BE,$0D,$BE,$0D DATA_0DE440: .db $BF,$0D,$CF,$0D,$BF,$4D,$CF,$4D DATA_0DE448: .db $BE,$4D,$BE,$4D,$F8,$1C,$F8,$1C DATA_0DE450: .db $8D,$0D,$8C,$0D,$BE,$0D,$EE,$0D DATA_0DE458: .db $DF,$0D,$EF,$0D,$DF,$4D,$EF,$4D DATA_0DE460: .db $BE,$4D,$EE,$4D,$8D,$4D,$8C,$4D DATA_0DE468: .db $60,$11,$60,$91,$49,$51,$48,$D1 DATA_0DE470: .db $49,$11,$48,$91,$49,$51,$48,$D1 DATA_0DE478: .db $49,$11,$48,$91,$60,$51,$60,$D1 DATA_0DE480: .db $8F,$09,$AA,$09,$AA,$09,$8F,$09 DATA_0DE488: .db $43,$41,$43,$41,$39,$01,$39,$01 DATA_0DE490: .db $26,$01,$27,$81,$26,$01,$27,$81 DATA_0DE498: .db $63,$01,$73,$01,$62,$01,$72,$01 DATA_0DE4A0: .db $4C,$01,$73,$01,$4B,$01,$72,$01 DATA_0DE4A8: .db $4A,$01,$71,$01,$4B,$01,$72,$01 DATA_0DE4B0: .db $61,$01,$71,$01,$62,$01,$72,$01 DATA_0DE4B8: .db $3E,$01,$73,$01,$3F,$01,$72,$01 DATA_0DE4C0: .db $3E,$01,$71,$01,$3F,$01,$72,$01 DATA_0DE4C8: .db $40,$01,$3B,$01,$41,$01,$45,$81 DATA_0DE4D0: .db $42,$01,$45,$81,$40,$41,$3B,$01 DATA_0DE4D8: .db $3C,$41,$3C,$01,$45,$01,$45,$81 DATA_0DE4E0: .db $45,$01,$45,$81,$3C,$01,$3C,$41 DATA_0DE4E8: .db $3D,$01,$40,$01,$45,$01,$41,$01 DATA_0DE4F0: .db $45,$01,$42,$01,$3D,$01,$40,$41 DATA_0DE4F8: .db $41,$01,$45,$01,$41,$01,$45,$01 DATA_0DE500: .db $45,$81,$41,$01,$45,$81,$41,$01 DATA_0DE508: .db $3E,$01,$3F,$01,$3F,$01,$3E,$01 DATA_0DE510: .db $26,$01,$27,$81,$26,$01,$C2,$01 DATA_0DE518: .db $26,$01,$C3,$01,$26,$01,$C4,$01 DATA_0DE520: .db $26,$01,$C5,$01,$26,$01,$C6,$01 DATA_0DE528: .db $26,$01,$C7,$01,$26,$01,$C8,$01 DATA_0DE530: .db $26,$01,$C9,$01,$26,$01,$27,$81 DATA_0DE538: .db $4A,$01,$71,$01,$D2,$01,$E2,$01 DATA_0DE540: .db $D3,$01,$E3,$01,$D4,$01,$E4,$01 DATA_0DE548: .db $D5,$01,$E5,$01,$D6,$01,$E6,$01 DATA_0DE550: .db $D7,$01,$E7,$01,$D8,$01,$E8,$01 DATA_0DE558: .db $D9,$01,$E9,$01,$4A,$01,$72,$01 DATA_0DE560: .db $3E,$01,$73,$01,$3F,$01,$3E,$01 DATA_0DE568: .db $3E,$01,$3F,$01,$3F,$01,$72,$01 DATA_0DE570: .db $3D,$01,$3C,$01,$FA,$1C,$FA,$1C DATA_0DE578: .db $FA,$1C,$FA,$1C,$FA,$1C,$FA,$1C DATA_0DE580: .db $FA,$1C,$FA,$1C,$3D,$21,$3C,$21 DATA_0DE588: .db $26,$21,$27,$A1,$26,$21,$27,$A1 DATA_0DE590: .db $3E,$21,$3F,$21,$3F,$21,$3E,$21 DATA_0DE598: .db $FA,$1C,$FA,$1C,$3D,$01,$3C,$01 DATA_0DE5A0: .db $BB,$09,$F2,$09,$BB,$09,$F2,$09 DATA_0DE5A8: .db $F0,$09,$F0,$09,$F0,$09,$F0,$09 DATA_0DE5B0: .db $F8,$1C,$F8,$1C,$44,$14,$46,$14 DATA_0DE5B8: .db $F8,$1C,$F8,$1C,$45,$14,$47,$14 DATA_0DE5C0: .db $F8,$08,$F8,$08,$95,$19,$95,$19 DATA_0DE5C8: .db $96,$19,$96,$19,$97,$19,$97,$19 DATA_0DE5D0: .db $F8,$08,$8E,$09,$8B,$09,$8F,$09 DATA_0DE5D8: .db $8C,$09,$FF,$08,$8D,$09,$FF,$08 DATA_0DE5E0: .db $A4,$09,$FF,$08,$A4,$09,$FF,$08 DATA_0DE5E8: .db $98,$09,$FF,$08,$99,$09,$FF,$08 DATA_0DE5F0: .db $9A,$09,$9B,$09,$F8,$08,$9C,$09 DATA_0DE5F8: .db $A6,$09,$B6,$09,$FF,$08,$FF,$08 DATA_0DE600: .db $FF,$08,$FF,$08,$FF,$08,$FF,$08 DATA_0DE608: .db $9D,$09,$9F,$09,$9E,$09,$A7,$09 DATA_0DE610: .db $F1,$09,$F1,$09,$FF,$08,$FF,$08 DATA_0DE618: .db $FF,$08,$FF,$08,$A5,$09,$A5,$09 DATA_0DE620: .db $F1,$09,$B2,$09,$A3,$09,$B3,$09 DATA_0DE628: .db $FF,$08,$B2,$09,$A3,$09,$B3,$09 DATA_0DE630: .db $FF,$08,$B4,$09,$A3,$09,$B5,$09 DATA_0DE638: .db $FF,$08,$B2,$09,$A3,$09,$92,$09 DATA_0DE640: .db $FF,$08,$93,$09,$A3,$09,$94,$09 DATA_0DE648: .db $FF,$08,$B2,$09,$A5,$09,$B3,$09 DATA_0DE650: .db $A8,$09,$A8,$09,$A9,$09,$A9,$09 DATA_0DE658: .db $C4,$1D,$D4,$1D,$C5,$1D,$D5,$1D DATA_0DE660: .db $F8,$08,$F8,$08,$E6,$0D,$F6,$0D DATA_0DE668: .db $E7,$0D,$F7,$0D,$E8,$0D,$F8,$0D DATA_0DE670: .db $E9,$09,$F9,$09,$A9,$09,$A9,$09 DATA_0DE678: .db $F8,$08,$C0,$09,$95,$19,$C1,$09 DATA_0DE680: .db $96,$19,$C1,$09,$97,$19,$C3,$09 DATA_0DE688: .db $F8,$08,$C3,$49,$F8,$08,$F8,$08 DATA_0DE690: .db $F8,$08,$AA,$09,$F8,$08,$AB,$09 DATA_0DE698: .db $E4,$1D,$F4,$09,$E5,$1D,$F5,$09 DATA_0DE6A0: .db $D0,$09,$D0,$09,$D1,$09,$E1,$09 DATA_0DE6A8: .db $D2,$09,$D2,$09,$D3,$09,$E3,$09 DATA_0DE6B0: .db $D3,$49,$E3,$49,$F8,$08,$AA,$09 DATA_0DE6B8: .db $B1,$89,$B0,$09,$B0,$89,$B1,$09 DATA_0DE6C0: .db $80,$14,$90,$14,$81,$14,$91,$14 DATA_0DE6C8: .db $AC,$15,$BC,$15,$AD,$15,$BD,$15 DATA_0DE6D0: .db $AD,$55,$BD,$55,$AC,$55,$BC,$55 DATA_0DE6D8: .db $CC,$15,$DC,$19,$CD,$15,$DD,$19 DATA_0DE6E0: .db $CD,$55,$DE,$19,$CC,$55,$DF,$19 DATA_0DE6E8: .db $AC,$19,$BC,$19,$AD,$19,$BD,$19 DATA_0DE6F0: .db $AD,$59,$BD,$59,$AC,$59,$BC,$59 DATA_0DE6F8: .db $CC,$19,$DC,$19,$CD,$19,$DD,$19 DATA_0DE700: .db $CD,$59,$DE,$19,$CC,$59,$DF,$19 DATA_0DE708: .db $AC,$1D,$BC,$1D,$AD,$1D,$BD,$1D DATA_0DE710: .db $AD,$5D,$BD,$5D,$AC,$5D,$BC,$5D DATA_0DE718: .db $CC,$1D,$DC,$19,$CD,$1D,$DD,$19 DATA_0DE720: .db $CD,$5D,$DE,$19,$CC,$5D,$DF,$19 DATA_0DE728: .db $AE,$1D,$BE,$1D,$AF,$1D,$BF,$1D DATA_0DE730: .db $AF,$5D,$BF,$5D,$AE,$5D,$BE,$5D DATA_0DE738: .db $CE,$1D,$DC,$19,$CF,$1D,$DD,$19 DATA_0DE740: .db $CF,$5D,$DE,$19,$CE,$5D,$DF,$19 DATA_0DE748: .db $A6,$01,$B6,$01,$A7,$01,$B7,$01 DATA_0DE750: .db $A6,$41,$B6,$41,$20,$0D,$20,$8D DATA_0DE758: .db $B6,$01,$DC,$01,$B7,$01,$DD,$01 DATA_0DE760: .db $B6,$41,$DC,$41,$20,$0D,$20,$8D DATA_0DE768: .db $80,$09,$EA,$09,$81,$09,$EB,$09 DATA_0DE770: .db $81,$49,$EB,$49,$81,$09,$EB,$09 DATA_0DE778: .db $81,$49,$EB,$49,$80,$49,$EA,$49 DATA_0DE780: .db $A2,$09,$9D,$4D,$A3,$09,$9C,$0D DATA_0DE788: .db $A2,$09,$9C,$0D,$A3,$09,$9C,$0D DATA_0DE790: .db $A2,$09,$9C,$0D,$A3,$09,$9D,$0D DATA_0DE798: .db $D1,$09,$F1,$89,$D1,$09,$F1,$89 DATA_0DE7A0: .db $A8,$15,$B8,$09,$A9,$15,$B9,$09 DATA_0DE7A8: .db $EC,$09,$B0,$09,$ED,$09,$B1,$09 DATA_0DE7B0: .db $82,$1D,$84,$1D,$87,$1D,$FD,$1D DATA_0DE7B8: .db $82,$1D,$82,$DD,$82,$DD,$82,$1D DATA_0DE7C0: .db $82,$1D,$84,$1D,$82,$DD,$85,$1D DATA_0DE7C8: .db $82,$1D,$82,$DD,$87,$1D,$88,$1D DATA_0DE7D0: .db $FA,$19,$FD,$19,$FB,$19,$FE,$19 DATA_0DE7D8: .db $FC,$19,$FF,$19,$FC,$19,$FF,$19 DATA_0DE7E0: .db $FB,$59,$FE,$59,$FA,$59,$FD,$59 DATA_0DE7E8: .db $CE,$01,$DE,$01,$CE,$01,$DE,$01 DATA_0DE7F0: .db $EC,$01,$EC,$01,$ED,$01,$ED,$01 DATA_0DE7F8: .db $ED,$41,$ED,$41,$EC,$41,$EC,$41 DATA_0DE800: .db $87,$DD,$88,$DD,$82,$DD,$82,$1D DATA_0DE808: .db $84,$DD,$82,$DD,$85,$DD,$82,$1D DATA_0DE810: .db $90,$09,$A0,$09,$91,$09,$A1,$09 DATA_0DE818: .db $B0,$09,$C0,$09,$B1,$09,$C1,$09 DATA_0DE820: .db $B1,$49,$C1,$49,$B0,$49,$C0,$49 DATA_0DE828: .db $B2,$09,$BA,$09,$D1,$09,$F1,$89 DATA_0DE830: .db $D1,$09,$F1,$89,$B3,$09,$BA,$09 DATA_0DE838: .db $BA,$09,$BA,$09,$BB,$09,$F2,$09 DATA_0DE840: .db $BB,$09,$F2,$09,$BA,$09,$BA,$09 DATA_0DE848: .db $BA,$09,$BA,$09,$F0,$09,$F0,$09 DATA_0DE850: .db $E0,$11,$EB,$11,$E1,$11,$CA,$11 DATA_0DE858: .db $FA,$1C,$CB,$11,$EA,$11,$FA,$1C DATA_0DE860: .db $FA,$1C,$EA,$D1,$DA,$11,$FA,$1C DATA_0DE868: .db $DB,$11,$FA,$1C,$FA,$1C,$EA,$91 DATA_0DE870: .db $F0,$09,$F0,$09,$BA,$09,$BA,$09 DATA_0DE878: .db $BA,$09,$B4,$09,$F0,$09,$D1,$09 DATA_0DE880: .db $F0,$09,$D1,$09,$F0,$09,$D1,$09 DATA_0DE888: .db $F0,$09,$D1,$09,$BA,$09,$B5,$09 ; This calls the correct code for the object if the tileset is T:4 in LM (ghost house or switch palace) CODE_0DE890: E2 30 SEP #$30 ; Index (8 bit) Accum (8 bit) CODE_0DE892: A6 5A LDX $5A ; Load object number CODE_0DE894: CA DEX ; We'll never see object number 0, so change the index to it won't clutter the table CODE_0DE895: 8A TXA ;\ CODE_0DE896: 22 FA 86 00 JSL.L ExecutePtrLong ;/ and call the correct subroutine PtrsLong0DE89A: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Water (Blue) PtrsLong0DE89D: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible coin blocks PtrsLong0DE8A0: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible note blocks PtrsLong0DE8A3: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Invisible POW coins PtrsLong0DE8A6: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Coins PtrsLong0DE8A9: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Walk-through dirt PtrsLong0DE8AC: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Water (Other color) PtrsLong0DE8AF: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Note blocks PtrsLong0DE8B2: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Turn blocks PtrsLong0DE8B5: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Coin ? blocks PtrsLong0DE8B8: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Throw blocks PtrsLong0DE8BB: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Black piranha plants PtrsLong0DE8BE: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Cement blocks PtrsLong0DE8C1: C3 A8 0D .dw CODE_0DA8C3 .db :$CODE_0DA8C3 ; Brown blocks PtrsLong0DE8C4: 26 AA 0D .dw CODE_0DAA26 .db :$CODE_0DAA26 ; Vertical pipes PtrsLong0DE8C7: B4 AA 0D .dw CODE_0DAAB4 .db :$CODE_0DAAB4 ; Horizontal pipes PtrsLong0DE8CA: 0D AB 0D .dw CODE_0DAB0D .db :$CODE_0DAB0D ; Bullet shooter PtrsLong0DE8CD: 3E AB 0D .dw CODE_0DAB3E .db :$CODE_0DAB3E ; Slopes PtrsLong0DE8D0: 75 B0 0D .dw CODE_0DB075 .db :$CODE_0DB075 ; Ledge edges PtrsLong0DE8D3: D4 B1 0D .dw CODE_0DB1D4 .db :$CODE_0DB1D4 ; Ground ledge PtrsLong0DE8D6: 24 B2 0D .dw CODE_0DB224 .db :$CODE_0DB224 ; Midway/Goal point PtrsLong0DE8D9: 36 B3 0D .dw ADDR_0DB336 .db :$ADDR_0DB336 ; Blue coins PtrsLong0DE8DC: BD B3 0D .dw CODE_0DB3BD .db :$CODE_0DB3BD ; Rope/Clouds PtrsLong0DE8DF: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Water surface (ani) PtrsLong0DE8E2: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Water surface (not ani) PtrsLong0DE8E5: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Lava surface (ani) PtrsLong0DE8E8: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; Net top edge PtrsLong0DE8EB: 2D B4 0D .dw CODE_0DB42D .db :$CODE_0DB42D ; Donut bridge PtrsLong0DE8EE: 61 B4 0D .dw CODE_0DB461 .db :$CODE_0DB461 ; Net bottom edge PtrsLong0DE8F1: 9E B4 0D .dw CODE_0DB49E .db :$CODE_0DB49E ; Net vertical edge PtrsLong0DE8F4: 1F B5 0D .dw CODE_0DB51F .db :$CODE_0DB51F ; Vert. Pipe/Bone/Log PtrsLong0DE8F7: 47 B5 0D .dw CODE_0DB547 .db :$CODE_0DB547 ; Horiz. Pipe/Bone/Log PtrsLong0DE8FA: C8 B1 0D .dw CODE_0DB1C8 .db :$CODE_0DB1C8 ; Long ground ledge PtrsLong0DE8FD: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;\ PtrsLong0DE900: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DE903: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DE906: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DE909: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DE90C: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DE90F: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DE912: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | Unused (LM will declare these to be "reserved" and won't let you use them) PtrsLong0DE915: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DE918: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DE91B: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ; | PtrsLong0DE91E: E3 B3 0D .dw CODE_0DB3E3 .db :$CODE_0DB3E3 ;/ PtrsLong0DE921: 6C F0 0D .dw CODE_0DF06C .db :$CODE_0DF06C ; Thin horizontal upward spikes PtrsLong0DE924: 66 F0 0D .dw ADDR_0DF066 .db :$ADDR_0DF066 ; Log background PtrsLong0DE927: 2B F0 0D .dw CODE_0DF02B .db :$CODE_0DF02B ; Grass ledge 1 PtrsLong0DE92A: A8 EF 0D .dw CODE_0DEFA8 .db :$CODE_0DEFA8 ; Wooden crate PtrsLong0DE92D: 67 EF 0D .dw CODE_0DEF67 .db :$CODE_0DEF67 ; Grass ledge 2 PtrsLong0DE930: 45 EF 0D .dw CODE_0DEF45 .db :$CODE_0DEF45 ; Cloud ledge (I wonder why it's called "ledge" when you can't stand on it) PtrsLong0DE933: C0 EE 0D .dw CODE_0DEEC0 .db :$CODE_0DEEC0 ; Wood ledge on column PtrsLong0DE936: C9 EC 0D .dw CODE_0DECC9 .db :$CODE_0DECC9 ; Grey bricks background PtrsLong0DE939: C9 EC 0D .dw CODE_0DECC9 .db :$CODE_0DECC9 ; Wooden blocks PtrsLong0DE93C: 12 ED 0D .dw CODE_0DED12 .db :$CODE_0DED12 ; Horizontal log background and hand rails PtrsLong0DE93F: 43 ED 0D .dw CODE_0DED43 .db :$CODE_0DED43 ; Wood ledge without column PtrsLong0DE942: 6B ED 0D .dw CODE_0DED6B .db :$CODE_0DED6B ; Some vertical log backgrounds PtrsLong0DE945: 99 ED 0D .dw CODE_0DED99 .db :$CODE_0DED99 ; Solid vertical brick edges, vertical rows of spikes, and some likely unused things PtrsLong0DE948: B9 ED 0D .dw CODE_0DEDB9 .db :$CODE_0DEDB9 ; Another ledge (the wood thingies seen in the bonus rooms, like level FD) PtrsLong0DE94B: DB ED 0D .dw CODE_0DEDDB .db :$CODE_0DEDDB ; Upside down ledge (switch palace) PtrsLong0DE94E: 17 EE 0D .dw CODE_0DEE17 .db :$CODE_0DEE17 ; Ledge (switch palace) PtrsLong0DE951: 52 EE 0D .dw CODE_0DEE52 .db :$CODE_0DEE52 ; Right facing edge (switch palace) PtrsLong0DE954: 89 EE 0D .dw CODE_0DEE89 .db :$CODE_0DEE89 ; Left facing edge (switch palace) ;Switch palace corner tiles and Bit of brick background tiles 1-4 DATA_0DE957: .db $73,$74,$75,$76,$93,$94,$95,$96 CODE_0DE95F: A4 57 LDY $57 ; Position CODE_0DE961: A5 59 LDA $59 ;\ CODE_0DE963: 38 SEC ; | CODE_0DE964: E9 57 SBC.B #$57 ; | "Fix" object number CODE_0DE966: AA TAX ;/ CODE_0DE967: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DE96A: BF 57 E9 0D LDA.L DATA_0DE957,X ; | Add tile CODE_0DE96E: 97 6B STA [$6B],Y ;/ Return0DE970: 60 RTS ; Return ;Large background area ADDR_0DE971: A9 03 LDA.B #$03 ; Size of this object ADDR_0DE973: 85 00 STA $00 ADDR_0DE975: A0 00 LDY.B #$00 ;\ ADDR_0DE977: 20 0D AA JSR.W StzTo6ePointer0080E7 ; | ADDR_0DE97A: A9 77 LDA.B #$77 ; | Add tile ADDR_0DE97C: 97 6B STA [$6B],Y ;/ ADDR_0DE97E: C8 INY ;\ ADDR_0DE97F: D0 F6 BNE ADDR_0DE977 ;/ Check how many tiles have been added ADDR_0DE981: A5 6C LDA $6C ;\ ADDR_0DE983: 18 CLC ; | ADDR_0DE984: 69 01 ADC.B #$01 ; | Increase pointers (it's called INC $6C INC $6F, morons) ADDR_0DE986: 85 6C STA $6C ; | ADDR_0DE988: 85 6F STA $6F ;/ ADDR_0DE98A: C6 00 DEC $00 ;\ ADDR_0DE98C: 10 E9 BPL ADDR_0DE977 ;/ Check for end of object Return0DE98E: 60 RTS ; Return ;Ghost house clock and ghost house beam 1 (both directions) DATA_0DE98F: .db $97,$98,$99 DATA_0DE992: .db $9A,$9B,$9C ; Ghost house clock DATA_0DE995: .db $9D,$9E,$9F DATA_0DE998: .db $86,$87,$25 DATA_0DE99B: .db $25,$86,$87 ; Ghost house top left to bottom right beam 1 DATA_0DE99E: .db $25,$25,$86 DATA_0DE9A1: .db $25,$84,$85 DATA_0DE9A4: .db $84,$85,$25 ; Ghost house top right to bottom left beam 1 DATA_0DE9A7: .db $85,$25,$25 CODE_0DE9AA: A4 57 LDY $57 ; Position CODE_0DE9AC: A5 59 LDA $59 ;\ CODE_0DE9AE: 38 SEC ; | CODE_0DE9AF: E9 61 SBC.B #$61 ; | CODE_0DE9B1: 85 00 STA $00 ; | CODE_0DE9B3: 0A ASL ; | CODE_0DE9B4: 0A ASL ; | "Fix" type and multiply with 9 CODE_0DE9B5: 0A ASL ; | CODE_0DE9B6: 18 CLC ; | CODE_0DE9B7: 65 00 ADC $00 ; | CODE_0DE9B9: AA TAX ;/ CODE_0DE9BA: A9 02 LDA.B #$02 ; Size of first row, also height CODE_0DE9BC: 85 00 STA $00 CODE_0DE9BE: 85 01 STA $01 CODE_0DE9C0: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DE9C3: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DE9C6: BF 8F E9 0D LDA.L DATA_0DE98F,X ; | Add block CODE_0DE9CA: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DE9CD: E8 INX ;\ CODE_0DE9CE: C6 00 DEC $00 ; | Go to next block CODE_0DE9D0: 10 F1 BPL CODE_0DE9C3 ;/ CODE_0DE9D2: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DE9D5: 20 7D A9 JSR.W CODE_0DA97D ; Go to next row CODE_0DE9D8: A9 02 LDA.B #$02 ; Size of the other rows CODE_0DE9DA: 85 00 STA $00 CODE_0DE9DC: C6 01 DEC $01 ;\ CODE_0DE9DE: 10 E3 BPL CODE_0DE9C3 ;/ Check for end of object Return0DE9E0: 60 RTS ; Return ;Ghost house cobwebs (parts of the routine is also used by the ghost house window) DATA_0DE9E1: .db $8C,$8D DATA_0DE9E3: .db $25,$8E ; Ghost house cobweb, top right corner DATA_0DE9E5: .db $90,$91 DATA_0DE9E7: .db $8F,$25 ; Ghost house cobweb, top left corner DATA_0DE9E9: .db $FC,$FD DATA_0DE9EB: .db $FE,$FF ; Ghost house window CODE_0DE9ED: A5 59 LDA $59 ;\ CODE_0DE9EF: 38 SEC ; | CODE_0DE9F0: E9 64 SBC.B #$64 ; | CODE_0DE9F2: 0A ASL ; | "Fix" type and multiply with 4 CODE_0DE9F3: 0A ASL ; | CODE_0DE9F4: AA TAX ;/ CODE_0DE9F5: A4 57 LDY $57 ; Position (it's usually loaded before the type is fixed, but whatever) CODE_0DE9F7: A9 01 LDA.B #$01 ; Size of the first row, also height CODE_0DE9F9: 85 00 STA $00 CODE_0DE9FB: 85 01 STA $01 CODE_0DE9FD: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DEA00: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEA03: BF E1 E9 0D LDA.L DATA_0DE9E1,X ; | Add block CODE_0DEA07: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEA0A: E8 INX ;\ CODE_0DEA0B: C6 00 DEC $00 ; | Go to the next block CODE_0DEA0D: 10 F1 BPL CODE_0DEA00 ;/ CODE_0DEA0F: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DEA12: 20 7D A9 JSR.W CODE_0DA97D ; Go to the next row CODE_0DEA15: A9 01 LDA.B #$01 ; Size of the other row CODE_0DEA17: 85 00 STA $00 CODE_0DEA19: C6 01 DEC $01 ;\ CODE_0DEA1B: 10 E3 BPL CODE_0DEA00 ;/ Check for the end of the object Return0DEA1D: 60 RTS ; Return ;Ghost house top right to bottom left beam 2 (both directions) DATA_0DEA1E: .db $25,$25,$7A,$7B DATA_0DEA22: .db $25,$7C,$7D,$25 DATA_0DEA26: .db $7C,$7D,$25,$25 ; Ghost house top right to bottom left beam 2 DATA_0DEA2A: .db $7D,$25,$25,$25 DATA_0DEA2E: .db $7E,$7F,$25,$25 DATA_0DEA32: .db $25,$80,$81,$25 DATA_0DEA36: .db $25,$25,$80,$81 ; Ghost house top left to bottom right beam 2 DATA_0DEA3A: .db $25,$25,$25,$80 ADDR_0DEA3E: A4 57 LDY $57 ; Position ADDR_0DEA40: A5 59 LDA $59 ;\ ADDR_0DEA42: 38 SEC ; | ADDR_0DEA43: E9 66 SBC.B #$66 ; | ADDR_0DEA45: 0A ASL ; | ADDR_0DEA46: 0A ASL ; | "Fix" type and multiply with 16 ADDR_0DEA47: 0A ASL ; | ADDR_0DEA48: 0A ASL ; | ADDR_0DEA49: AA TAX ;/ ADDR_0DEA4A: A9 03 LDA.B #$03 ; Size of the first row, also height ADDR_0DEA4C: 85 00 STA $00 ADDR_0DEA4E: 85 01 STA $01 ADDR_0DEA50: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer ADDR_0DEA53: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DEA56: BF 1E EA 0D LDA.L DATA_0DEA1E,X ; | Add block ADDR_0DEA5A: 20 5B A9 JSR.W CODE_0DA95B ;/ ADDR_0DEA5D: E8 INX ;\ ADDR_0DEA5E: C6 00 DEC $00 ; | Go to the next block ADDR_0DEA60: 10 F1 BPL ADDR_0DEA53 ;/ ADDR_0DEA62: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer ADDR_0DEA65: 20 7D A9 JSR.W CODE_0DA97D ; Go to the next row ADDR_0DEA68: A9 03 LDA.B #$03 ; Size of the other row ADDR_0DEA6A: 85 00 STA $00 ADDR_0DEA6C: C6 01 DEC $01 ;\ ADDR_0DEA6E: 10 E3 BPL ADDR_0DEA53 ;/ Check for the end of the object Return0DEA70: 60 RTS ; Return ;Ghost house exit DATA_0DEA71: .db $A5,$A5,$A4,$A5,$A5,$A4 DATA_0DEA77: .db $A7,$A8,$A4,$A7,$A8,$A4 DATA_0DEA7D: .db $AC,$AD,$A4,$AC,$AD,$A4 DATA_0DEA83: .db $AE,$AF,$A4,$AE,$AF,$A4 DATA_0DEA89: .db $B0,$B1,$A4,$B0,$B1,$A4 DATA_0DEA8F: .db $A7,$A8,$A4,$A7,$A8,$A4 DATA_0DEA95: .db $A5,$A5,$A5,$A5,$A5,$A4 DATA_0DEA9B: .db $B4,$B4,$B4,$B4,$B4,$A4 DATA_0DEAA1: .db $AC,$B2,$AD,$B4,$B4,$A4 DATA_0DEAA7: .db $B0,$B3,$B1,$B4,$B4,$A4 DATA_0DEAAD: .db $C1,$C2,$C6,$B4,$B4,$A4 DATA_0DEAB3: .db $C1,$C2,$C6,$A5,$A5,$A4 DATA_0DEAB9: .db $C1,$C2,$C6,$A7,$A8,$A4 CODE_0DEABF: A4 57 LDY $57 ; Position CODE_0DEAC1: A2 00 LDX.B #$00 CODE_0DEAC3: A9 05 LDA.B #$05 ; Width CODE_0DEAC5: 85 00 STA $00 CODE_0DEAC7: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEACA: BF 71 EA 0D LDA.L DATA_0DEA71,X ; | Add block CODE_0DEACE: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEAD1: E8 INX ;\ CODE_0DEAD2: C6 00 DEC $00 ; | Go to next one and check for end of line CODE_0DEAD4: 10 F1 BPL CODE_0DEAC7 ;/ CODE_0DEAD6: 20 7D A9 JSR.W CODE_0DA97D ; Go to next row (I've got reasons to belive that LM renders this one incorrectly!) CODE_0DEAD9: E0 4E CPX.B #$4E ; Total size CODE_0DEADB: D0 E6 BNE CODE_0DEAC3 Return0DEADD: 60 RTS ; Return ;Ghost house entrance DATA_0DEADE: .db $A4,$A6,$A9,$A9,$A9,$A9,$A9,$A9,$A9,$A9 DATA_0DEAE8: .db $A4,$A5,$A5,$A5,$A5,$A5,$A5,$A5,$A5,$A5 DATA_0DEAF2: .db $A4,$C0,$A8,$A8,$A8,$A8,$AB,$AB,$A8,$A8 DATA_0DEAFC: .db $A4,$A6,$AC,$AD,$C0,$AC,$AD,$A6,$AC,$AD DATA_0DEB06: .db $A4,$A6,$AE,$AF,$A6,$AE,$AF,$BF,$AE,$AF DATA_0DEB10: .db $A4,$BF,$B0,$B1,$AB,$B0,$B1,$A6,$B0,$B1 DATA_0DEB1A: .db $A4,$A6,$AB,$A8,$A9,$A8,$AB,$A9,$A8,$A8 DATA_0DEB24: .db $A4,$A5,$A5,$A5,$B5,$B6,$B7,$B8,$B9,$A5 DATA_0DEB2E: .db $A4,$A7,$A8,$AB,$BA,$BB,$BC,$BD,$BE,$A8 DATA_0DEB38: .db $A4,$C0,$AC,$AD,$A6,$AC,$B2,$AD,$BF,$AC DATA_0DEB42: .db $A4,$A7,$AE,$AF,$C0,$AE,$B3,$AF,$AB,$AE DATA_0DEB4C: .db $A4,$BF,$B0,$B1,$A6,$C1,$C2,$C3,$A6,$B0 DATA_0DEB56: .db $A4,$A5,$A5,$A5,$A5,$C1,$C2,$C3,$C4,$C4 DATA_0DEB60: .db $A4,$B4,$B4,$B4,$B4,$C1,$C2,$C3,$C5,$C5 CODE_0DEB6A: A4 57 LDY $57 ; Position CODE_0DEB6C: A2 00 LDX.B #$00 CODE_0DEB6E: A9 09 LDA.B #$09 ; Width CODE_0DEB70: 85 00 STA $00 CODE_0DEB72: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEB75: BF DE EA 0D LDA.L DATA_0DEADE,X ; | Add tile CODE_0DEB79: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEB7C: E8 INX ;\ CODE_0DEB7D: C6 00 DEC $00 ; | Go to next tile CODE_0DEB7F: D0 F1 BNE CODE_0DEB72 ;/ CODE_0DEB81: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEB84: BF DE EA 0D LDA.L DATA_0DEADE,X ; | Add the last tile on the row CODE_0DEB88: 97 6B STA [$6B],Y ;/ CODE_0DEB8A: E8 INX ;\ CODE_0DEB8B: 20 7D A9 JSR.W CODE_0DA97D ;/ Go to next line CODE_0DEB8E: E0 8C CPX.B #$8C ; Total size CODE_0DEB90: D0 DC BNE CODE_0DEB6E Return0DEB92: 60 RTS ; Return ;Yoshi's house DATA_0DEB93: .db $25,$25,$25,$25,$25,$25,$25,$25,$25,$25,$25,$CB,$CC,$25,$25,$25 DATA_0DEBA3: .db $25,$CD,$CE,$CF,$CF,$CF,$CF,$CF,$CF,$CF,$CF,$CF,$CF,$D0,$D1,$25 DATA_0DEBB3: .db $25,$D2,$EB,$D3,$D3,$D3,$EB,$D3,$D3,$D3,$D3,$EB,$D3,$D3,$D4,$25 DATA_0DEBC3: .db $25,$D5,$D3,$EB,$D3,$D3,$D3,$D3,$D3,$EB,$D3,$D3,$D3,$EB,$D6,$25 DATA_0DEBD3: .db $25,$D5,$D3,$D3,$D3,$D3,$D3,$EB,$D3,$D3,$D3,$D3,$D3,$D3,$D6,$25 DATA_0DEBE3: .db $25,$D7,$D8,$D9,$D8,$D8,$D9,$D8,$D8,$D9,$D8,$DA,$DB,$D8,$DC,$25 DATA_0DEBF3: .db $25,$25,$25,$DD,$25,$25,$DD,$25,$25,$DD,$25,$CB,$CC,$25,$25,$25 DATA_0DEC03: .db $25,$25,$DE,$DD,$25,$25,$DD,$25,$25,$DD,$25,$CB,$CC,$25,$25,$25 DATA_0DEC13: .db $25,$DF,$E0,$E1,$25,$25,$DD,$25,$25,$DD,$25,$E2,$E3,$E4,$25,$25 DATA_0DEC23: .db $E5,$E5,$E6,$DD,$E5,$E5,$DD,$E5,$E5,$DD,$E5,$E7,$E8,$E9,$E5,$E5 CODE_0DEC33: A4 57 LDY $57 CODE_0DEC35: A2 00 LDX.B #$00 CODE_0DEC37: A9 0F LDA.B #$0F ; Width CODE_0DEC39: 85 00 STA $00 CODE_0DEC3B: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEC3E: BF 93 EB 0D LDA.L DATA_0DEB93,X ; | Add tile CODE_0DEC42: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEC45: E8 INX ;\ CODE_0DEC46: C6 00 DEC $00 ; | Go to next tile CODE_0DEC48: D0 F1 BNE CODE_0DEC3B ;/ CODE_0DEC4A: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEC4D: BF 93 EB 0D LDA.L DATA_0DEB93,X ; | Add the last tile on the row CODE_0DEC51: 97 6B STA [$6B],Y ;/ CODE_0DEC53: E8 INX ;\ CODE_0DEC54: 20 7D A9 JSR.W CODE_0DA97D ;/ Go to next line CODE_0DEC57: E0 A0 CPX.B #$A0 ; Total size CODE_0DEC59: D0 DC BNE CODE_0DEC37 Return0DEC5B: 60 RTS ; Return ;Switch palace right and bottom edge tile CODE_0DEC5C: A4 57 LDY $57 ; Position CODE_0DEC5E: 20 08 AA JSR.W Sta1To6ePointer ; Page 1 CODE_0DEC61: A9 10 LDA.B #$10 ;\ CODE_0DEC63: 97 6B STA [$6B],Y ;/ Tile 0x?10 (in this case, it's 0x110) Return0DEC65: 60 RTS ; Return ;Water weed DATA_0DEC66: .db $C9 DATA_0DEC67: .db $CA ; This was CMP.B #$CA in all.log. *Insert epic facepalm* ADDR_0DEC68: A4 57 LDY $57 ; Position ADDR_0DEC6A: A2 00 LDX.B #$00 ADDR_0DEC6C: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ ADDR_0DEC6F: BF 66 EC 0D LDA.L ADDR_0DEC66,X ; | Add tile (why not unroll this loop?) ADDR_0DEC73: 97 6B STA [$6B],Y ;/ ADDR_0DEC75: 20 7D A9 JSR.W CODE_0DA97D ;\ ADDR_0DEC78: E8 INX ;/ Go to next tile ADDR_0DEC79: E0 02 CPX.B #$02 ; Height ADDR_0DEC7B: D0 EF BNE ADDR_0DEC6C Return0DEC7D: 60 RTS ; Return ;The four switches in the switch palaces DATA_0DEC7E: .db $EC,$ED DATA_0DEC80: .db $EE,$EF ; Green switch DATA_0DEC82: .db $F0,$F1 DATA_0DEC84: .db $F2,$F3 ; Yellow switch DATA_0DEC86: .db $F4,$F5 DATA_0DEC88: .db $F6,$F7 ; Blue switch DATA_0DEC8A: .db $F8,$F9 DATA_0DEC8C: .db $FA,$FB ; Red switch CODE_0DEC8E: A4 57 LDY $57 ; Position CODE_0DEC90: A5 59 LDA $59 ;\ CODE_0DEC92: 38 SEC ; | CODE_0DEC93: E9 8A SBC.B #$8A ; | "Fix" object number CODE_0DEC95: AA TAX ;/ CODE_0DEC96: BF 27 1F 00 LDA.L $001F27,X ;\ CODE_0DEC9A: D0 24 BNE Return0DECC0 ;/ Don't add anything if this switch palace has already been hit CODE_0DEC9C: 8A TXA ;\ CODE_0DEC9D: 0A ASL ; | CODE_0DEC9E: 0A ASL ; | Multiply object number with 4 CODE_0DEC9F: AA TAX ;/ CODE_0DECA0: A9 01 LDA.B #$01 ; Size (both width and height) CODE_0DECA2: 85 00 STA $00 ;\ CODE_0DECA4: 85 01 STA $01 ;/ Preserve sizes CODE_0DECA6: A5 00 LDA $00 ;\ CODE_0DECA8: 85 02 STA $02 ;/ Reload width CODE_0DECAA: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DECAD: BF 7E EC 0D LDA.L DATA_0DEC7E,X ; | Add tile CODE_0DECB1: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DECB4: E8 INX ;\ CODE_0DECB5: C6 02 DEC $02 ; | Go to next one and check for end of the line CODE_0DECB7: 10 F1 BPL CODE_0DECAA ;/ CODE_0DECB9: 20 7D A9 JSR.W CODE_0DA97D ;\ CODE_0DECBC: C6 01 DEC $01 ; | Go to next row and check for end of the object CODE_0DECBE: 10 E6 BPL CODE_0DECA6 ;/ Return0DECC0: 60 RTS ; Return ;Ghost house window CODE_0DECC1: A2 08 LDX.B #$08 ; Set offset to 8 CODE_0DECC3: 4C F5 E9 JMP.W CODE_0DE9F5 ; and "steal" the ghost house cobwebs code ;Grey bricks background and wooden blocks DATA_0DECC6: .db $92,$5E,$82 CODE_0DECC9: 8A TXA ;\ CODE_0DECCA: 38 SEC ; | CODE_0DECCB: E9 34 SBC.B #$34 ; | Check which type of object it is CODE_0DECCD: AA TAX ;/ CODE_0DECCE: A4 57 LDY $57 ; Position CODE_0DECD0: A5 59 LDA $59 ;\ CODE_0DECD2: 29 0F AND.B #$0F ; | CODE_0DECD4: 85 00 STA $00 ; | Width CODE_0DECD6: 85 02 STA $02 ;/ CODE_0DECD8: A5 59 LDA $59 ;\ CODE_0DECDA: 4A LSR ; | CODE_0DECDB: 4A LSR ; | CODE_0DECDC: 4A LSR ; | Height CODE_0DECDD: 4A LSR ; | CODE_0DECDE: 85 01 STA $01 ;/ CODE_0DECE0: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DECE3: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DECE6: E0 01 CPX.B #$01 ; | CODE_0DECE8: D0 03 BNE CODE_0DECED ; | Set map16 page CODE_0DECEA: 20 08 AA JSR.W Sta1To6ePointer ;/ CODE_0DECED: BF C6 EC 0D LDA.L DATA_0DECC6,X ;\ CODE_0DECF1: 20 5B A9 JSR.W CODE_0DA95B ;/ Add tile CODE_0DECF4: C6 02 DEC $02 ;\ CODE_0DECF6: A5 02 LDA $02 ; | Check for end of the line CODE_0DECF8: 10 E9 BPL CODE_0DECE3 ;/ CODE_0DECFA: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DECFD: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DED00: A5 00 LDA $00 ;\ CODE_0DED02: 85 02 STA $02 ;/ Reload width CODE_0DED04: C6 01 DEC $01 ;\ CODE_0DED06: 10 DB BPL CODE_0DECE3 ;/ Check for end of the object Return0DED08: 60 RTS ; Return ;Horizontal log background and hand rails DATA_0DED09: .db $82,$89,$88 ; Left tiles DATA_0DED0C: .db $82,$8A,$88 ; Middle tiles DATA_0DED0F: .db $82,$8B,$88 ; Right tiles CODE_0DED12: A4 57 LDY $57 ; Position CODE_0DED14: A5 59 LDA $59 ;\ CODE_0DED16: 29 0F AND.B #$0F ; | Width CODE_0DED18: 85 00 STA $00 ;/ CODE_0DED1A: A5 59 LDA $59 ;\ CODE_0DED1C: 4A LSR ; | CODE_0DED1D: 4A LSR ; | CODE_0DED1E: 4A LSR ; | Type CODE_0DED1F: 4A LSR ; | CODE_0DED20: AA TAX ;/ CODE_0DED21: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DED24: BF 09 ED 0D LDA.L DATA_0DED09,X ; | Add left tile CODE_0DED28: 4C 32 ED JMP.W CODE_0DED32 ;/ CODE_0DED2B: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DED2E: BF 0C ED 0D LDA.L DATA_0DED0C,X ; | Add middle tile CODE_0DED32: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DED35: C6 00 DEC $00 ;\ CODE_0DED37: D0 F2 BNE CODE_0DED2B ;/ CODE_0DED39: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DED3C: BF 0F ED 0D LDA.L DATA_0DED0F,X ; | Add right tile CODE_0DED40: 97 6B STA [$6B],Y ;/ Return0DED42: 60 RTS ; Return ;Wood ledge without column CODE_0DED43: A4 57 LDY $57 ; Position CODE_0DED45: A5 59 LDA $59 ;\ CODE_0DED47: 29 0F AND.B #$0F ; | Height CODE_0DED49: AA TAX ;/ CODE_0DED4A: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DED4D: A9 0A LDA.B #$0A ; | Add left tile CODE_0DED4F: 4C 57 ED JMP.W CODE_0DED57 ;/ CODE_0DED52: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DED55: A9 0B LDA.B #$0B ; | Add middle tile CODE_0DED57: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DED5A: CA DEX ;\ CODE_0DED5B: D0 F5 BNE CODE_0DED52 ;/ Check for end of the object CODE_0DED5D: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DED60: A9 0C LDA.B #$0C ; | Add right tile CODE_0DED62: 97 6B STA [$6B],Y ;/ Return0DED64: 60 RTS ; Return ;Some vertical log backgrounds DATA_0DED65: .db $83,$78,$79 ; Top tiles DATA_0DED68: .db $83,$79,$79 ; Middle tiles CODE_0DED6B: A4 57 LDY $57 ; Position CODE_0DED6D: A5 59 LDA $59 ;\ CODE_0DED6F: 4A LSR ; | CODE_0DED70: 4A LSR ; | CODE_0DED71: 4A LSR ; | Height CODE_0DED72: 4A LSR ; | CODE_0DED73: 85 00 STA $00 ;/ CODE_0DED75: A5 59 LDA $59 ;\ CODE_0DED77: 29 0F AND.B #$0F ; | Type CODE_0DED79: AA TAX ;/ CODE_0DED7A: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DED7D: BF 65 ED 0D LDA.L DATA_0DED65,X ; | Add top tile CODE_0DED81: 4C 8B ED JMP.W CODE_0DED8B ;/ CODE_0DED84: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DED87: BF 68 ED 0D LDA.L DATA_0DED68,X ; | Add middle tile CODE_0DED8B: 97 6B STA [$6B],Y ;/ CODE_0DED8D: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DED90: C6 00 DEC $00 ;\ CODE_0DED92: 10 F0 BPL CODE_0DED84 ;/ Check for end of the object Return0DED94: 60 RTS ; Return ;Solid vertical brick edges, vertical rows of spikes, and some likely unused things DATA_0DED95: .db $5F,$60,$5A,$5B CODE_0DED99: A5 59 LDA $59 ;\ CODE_0DED9B: 29 0F AND.B #$0F ; | Type CODE_0DED9D: AA TAX ;/ CODE_0DED9E: A4 57 LDY $57 ; Position CODE_0DEDA0: A5 59 LDA $59 ;\ CODE_0DEDA2: 4A LSR ; | CODE_0DEDA3: 4A LSR ; | CODE_0DEDA4: 4A LSR ; | Height CODE_0DEDA5: 4A LSR ; | CODE_0DEDA6: 85 00 STA $00 ;/ CODE_0DEDA8: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEDAB: BF 95 ED 0D LDA.L DATA_0DED95,X ; | Add tile CODE_0DEDAF: 97 6B STA [$6B],Y ;/ CODE_0DEDB1: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DEDB4: C6 00 DEC $00 ;\ CODE_0DEDB6: 10 F0 BPL CODE_0DEDA8 ;/ Check for end of the object Return0DEDB8: 60 RTS ; Return ;Another ledge (the wood thingies seen in the bonus rooms, like level FD) CODE_0DEDB9: A4 57 LDY $57 ; Position CODE_0DEDBB: A5 59 LDA $59 ;\ CODE_0DEDBD: 29 0F AND.B #$0F ; | Size CODE_0DEDBF: AA TAX ;/ CODE_0DEDC0: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEDC3: A9 07 LDA.B #$07 ; | Add left tile CODE_0DEDC5: 4C CD ED JMP.W CODE_0DEDCD ;/ CODE_0DEDC8: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEDCB: A9 08 LDA.B #$08 ; | Add middle tile CODE_0DEDCD: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEDD0: CA DEX ;\ CODE_0DEDD1: D0 F5 BNE CODE_0DEDC8 ;/ Check for end of the object CODE_0DEDD3: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEDD6: A9 09 LDA.B #$09 ; | Add right tile CODE_0DEDD8: 97 6B STA [$6B],Y ;/ Return0DEDDA: 60 RTS ; Return ;Upside down ledge (switch palace) CODE_0DEDDB: A4 57 LDY $57 ; Position CODE_0DEDDD: A5 59 LDA $59 ;\ CODE_0DEDDF: 29 0F AND.B #$0F ; | Width CODE_0DEDE1: 85 00 STA $00 ;/ CODE_0DEDE3: A5 59 LDA $59 ;\ CODE_0DEDE5: 4A LSR ; | CODE_0DEDE6: 4A LSR ; | CODE_0DEDE7: 4A LSR ; | Height CODE_0DEDE8: 4A LSR ; | CODE_0DEDE9: 85 01 STA $01 ;/ CODE_0DEDEB: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DEDEE: A6 00 LDX $00 ; Load width CODE_0DEDF0: A5 01 LDA $01 ;\ CODE_0DEDF2: F0 17 BEQ CODE_0DEE0B ;/ Check if we need any middle tiles CODE_0DEDF4: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEDF7: A9 53 LDA.B #$53 ; | Add middle tile CODE_0DEDF9: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEDFC: CA DEX ;\ CODE_0DEDFD: 10 F5 BPL CODE_0DEDF4 ;/ Check for end of the line CODE_0DEDFF: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DEE02: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DEE05: A6 00 LDX $00 ; Reload width CODE_0DEE07: C6 01 DEC $01 ;\ CODE_0DEE09: D0 E9 BNE CODE_0DEDF4 ;/ Check for end of the object (except bottom line) CODE_0DEE0B: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEE0E: A9 54 LDA.B #$54 ; | Add bottom tile CODE_0DEE10: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEE13: CA DEX ;\ CODE_0DEE14: 10 F5 BPL CODE_0DEE0B ;/ Check for end of the object Return0DEE16: 60 RTS ; Return ;Ledge (switch palace) CODE_0DEE17: A4 57 LDY $57 ; Position CODE_0DEE19: A5 59 LDA $59 ;\ CODE_0DEE1B: 29 0F AND.B #$0F ; | Width CODE_0DEE1D: 85 00 STA $00 ;/ CODE_0DEE1F: A5 59 LDA $59 ;\ CODE_0DEE21: 4A LSR ; | CODE_0DEE22: 4A LSR ; | CODE_0DEE23: 4A LSR ; | Height CODE_0DEE24: 4A LSR ; | CODE_0DEE25: 85 01 STA $01 ;/ CODE_0DEE27: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DEE2A: A6 00 LDX $00 ; Load width CODE_0DEE2C: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEE2F: A9 5D LDA.B #$5D ; | Add top tile CODE_0DEE31: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEE34: CA DEX ;\ CODE_0DEE35: 10 F5 BPL CODE_0DEE2C ; | Check for end of the line CODE_0DEE37: 4C 45 EE JMP.W CODE_0DEE45 ;/ CODE_0DEE3A: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEE3D: A9 53 LDA.B #$53 ; | Add middle tile CODE_0DEE3F: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEE42: CA DEX ;\ CODE_0DEE43: 10 F5 BPL CODE_0DEE3A ;/ Check for end of the line CODE_0DEE45: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DEE48: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DEE4B: A6 00 LDX $00 ; Reload width CODE_0DEE4D: C6 01 DEC $01 ;\ CODE_0DEE4F: 10 E9 BPL CODE_0DEE3A ;/ Check for end of the object Return0DEE51: 60 RTS ; Return ;Right facing edge (switch palace) CODE_0DEE52: A4 57 LDY $57 ; Position CODE_0DEE54: A5 59 LDA $59 ;\ CODE_0DEE56: 29 0F AND.B #$0F ; | Width CODE_0DEE58: 85 00 STA $00 ;/ CODE_0DEE5A: A5 59 LDA $59 ;\ CODE_0DEE5C: 4A LSR ; | CODE_0DEE5D: 4A LSR ; | CODE_0DEE5E: 4A LSR ; | Height CODE_0DEE5F: 4A LSR ; | CODE_0DEE60: 85 01 STA $01 ;/ CODE_0DEE62: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DEE65: A6 00 LDX $00 ; Load width CODE_0DEE67: F0 0B BEQ CODE_0DEE74 ; Check if we need any middle tiles CODE_0DEE69: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEE6C: A9 53 LDA.B #$53 ; | Add middle tile CODE_0DEE6E: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEE71: CA DEX ;\ CODE_0DEE72: D0 F5 BNE CODE_0DEE69 ;/ Check for end of the line CODE_0DEE74: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEE77: A9 55 LDA.B #$55 ; | Add right tile CODE_0DEE79: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEE7C: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DEE7F: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DEE82: A6 00 LDX $00 ; Reload width CODE_0DEE84: C6 01 DEC $01 ;\ CODE_0DEE86: 10 DD BPL CODE_0DEE65 ;/ Check for end of the object Return0DEE88: 60 RTS ; Return ;Left facing edge (switch palace) CODE_0DEE89: A4 57 LDY $57 ; Position CODE_0DEE8B: A5 59 LDA $59 ;\ CODE_0DEE8D: 29 0F AND.B #$0F ; | Width CODE_0DEE8F: 85 00 STA $00 ;/ CODE_0DEE91: A5 59 LDA $59 ;\ CODE_0DEE93: 4A LSR ; | CODE_0DEE94: 4A LSR ; | CODE_0DEE95: 4A LSR ; | Height CODE_0DEE96: 4A LSR ; | CODE_0DEE97: 85 01 STA $01 ;/ CODE_0DEE99: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DEE9C: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEE9F: A9 5C LDA.B #$5C ; | Add left tile CODE_0DEEA1: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEEA4: A6 00 LDX $00 ; Load width CODE_0DEEA6: F0 0B BEQ CODE_0DEEB3 ; Check if we need any middle tiles CODE_0DEEA8: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEEAB: A9 53 LDA.B #$53 ; | Add middle tile CODE_0DEEAD: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEEB0: CA DEX ;\ CODE_0DEEB1: 10 F5 BPL CODE_0DEEA8 ;/ Check for end of the line CODE_0DEEB3: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DEEB6: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DEEB9: A6 00 LDX $00 ; Reload width CODE_0DEEBB: C6 01 DEC $01 ;\ CODE_0DEEBD: 10 DD BPL CODE_0DEE9C ;/ Check for end of the object Return0DEEBF: 60 RTS ; Return ;Wood ledge on column CODE_0DEEC0: A4 57 LDY $57 ; Position CODE_0DEEC2: A5 59 LDA $59 ;\ CODE_0DEEC4: 29 0F AND.B #$0F ; | Number of columns CODE_0DEEC6: 85 00 STA $00 ;/ CODE_0DEEC8: 0A ASL ;\ CODE_0DEEC9: 0A ASL ; | CODE_0DEECA: 18 CLC ; | "Real" width CODE_0DEECB: 69 02 ADC.B #$02 ; | CODE_0DEECD: AA TAX ;/ CODE_0DEECE: A5 59 LDA $59 ;\ CODE_0DEED0: 4A LSR ; | CODE_0DEED1: 4A LSR ; | CODE_0DEED2: 4A LSR ; | Height CODE_0DEED3: 4A LSR ; | CODE_0DEED4: 85 01 STA $01 ;/ CODE_0DEED6: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DEED9: 20 4A ED JSR.W CODE_0DED4A ; Add the ledge by "stealing" the column-less one's code CODE_0DEEDC: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DEEDF: A5 57 LDA $57 ;\ CODE_0DEEE1: 18 CLC ; | CODE_0DEEE2: 69 01 ADC.B #$01 ; | CODE_0DEEE4: A8 TAY ; | CODE_0DEEE5: 29 0F AND.B #$0F ; | CODE_0DEEE7: D0 08 BNE CODE_0DEEF1 ; | ADDR_0DEEE9: A5 57 LDA $57 ; | ADDR_0DEEEB: 29 F0 AND.B #$F0 ; | ADDR_0DEEED: A8 TAY ; | Move pointer downwards and rightwards ADDR_0DEEEE: 20 EF A9 JSR.W CODE_0DA9EF ; | CODE_0DEEF1: 98 TYA ; | CODE_0DEEF2: 18 CLC ; | CODE_0DEEF3: 69 10 ADC.B #$10 ; | CODE_0DEEF5: 85 57 STA $57 ; | CODE_0DEEF7: A8 TAY ; | CODE_0DEEF8: 90 03 BCC CODE_0DEEFD ; | ADDR_0DEEFA: 20 87 A9 JSR.W CODE_0DA987 ;/ CODE_0DEEFD: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DEF00: A6 01 LDX $01 ; Load height (looks like this object is added in vertical stripes) CODE_0DEF02: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEF05: A9 78 LDA.B #$78 ; | Add top tile CODE_0DEF07: 4C 0F EF JMP.W CODE_0DEF0F ;/ CODE_0DEF0A: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEF0D: A9 79 LDA.B #$79 ; | Add middle tile CODE_0DEF0F: 97 6B STA [$6B],Y ;/ CODE_0DEF11: 98 TYA ;\ CODE_0DEF12: 18 CLC ; | CODE_0DEF13: 69 10 ADC.B #$10 ; | CODE_0DEF15: A8 TAY ; | CODE_0DEF16: 90 09 BCC CODE_0DEF21 ; | ADDR_0DEF18: A5 6C LDA $6C ; | Move pointer downwards ADDR_0DEF1A: 18 CLC ; | ADDR_0DEF1B: 69 01 ADC.B #$01 ; | ADDR_0DEF1D: 85 6C STA $6C ; | ADDR_0DEF1F: 85 6F STA $6F ;/ CODE_0DEF21: CA DEX ;\ CODE_0DEF22: D0 E6 BNE CODE_0DEF0A ;/ Check for end of the line CODE_0DEF24: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DEF27: A5 57 LDA $57 ;\ CODE_0DEF29: 18 CLC ; | CODE_0DEF2A: 69 04 ADC.B #$04 ; | CODE_0DEF2C: A8 TAY ; | CODE_0DEF2D: 29 0F AND.B #$0F ; | CODE_0DEF2F: C9 04 CMP.B #$04 ; | CODE_0DEF31: 10 08 BPL CODE_0DEF3B ; | Move pointer rightwards CODE_0DEF33: 98 TYA ; | CODE_0DEF34: 38 SEC ; | CODE_0DEF35: E9 10 SBC.B #$10 ; | CODE_0DEF37: A8 TAY ; | CODE_0DEF38: 20 EF A9 JSR.W CODE_0DA9EF ; | CODE_0DEF3B: 84 57 STY $57 ;/ CODE_0DEF3D: C6 00 DEC $00 ;\ CODE_0DEF3F: 30 03 BMI Return0DEF44 ; | Check for end of the object CODE_0DEF41: 4C FD EE JMP.W CODE_0DEEFD ;/ Return0DEF44: 60 RTS ; Return ;Cloud ledge (I wonder why it's called "ledge" when you can't stand on it) CODE_0DEF45: A4 57 LDY $57 ; Position CODE_0DEF47: A5 59 LDA $59 ;\ CODE_0DEF49: 29 0F AND.B #$0F ; | Width CODE_0DEF4B: AA TAX ;/ CODE_0DEF4C: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEF4F: A9 A0 LDA.B #$A0 ; | Add left tile CODE_0DEF51: 4C 59 EF JMP.W CODE_0DEF59 ;/ CODE_0DEF54: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEF57: A9 A1 LDA.B #$A1 ; | Add middle tile CODE_0DEF59: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEF5C: CA DEX ;\ CODE_0DEF5D: D0 F5 BNE CODE_0DEF54 ;/ Check for end of the object CODE_0DEF5F: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEF62: A9 A2 LDA.B #$A2 ; | Add right tile CODE_0DEF64: 97 6B STA [$6B],Y ;/ Return0DEF66: 60 RTS ; Return ;Grass ledge 2 CODE_0DEF67: A4 57 LDY $57 ; Position CODE_0DEF69: A5 59 LDA $59 ;\ CODE_0DEF6B: 29 0F AND.B #$0F ; | Width CODE_0DEF6D: 85 00 STA $00 ;/ CODE_0DEF6F: A5 59 LDA $59 ;\ CODE_0DEF71: 4A LSR ; | CODE_0DEF72: 4A LSR ; | CODE_0DEF73: 4A LSR ; | Height CODE_0DEF74: 4A LSR ; | CODE_0DEF75: 85 01 STA $01 ;/ CODE_0DEF77: A6 00 LDX $00 ; Load width CODE_0DEF79: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DEF7C: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEF7F: A9 0E LDA.B #$0E ; | Add top tile CODE_0DEF81: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEF84: CA DEX ;\ CODE_0DEF85: 10 F5 BPL CODE_0DEF7C ;/ Check for end of the line CODE_0DEF87: C6 01 DEC $01 ;\ CODE_0DEF89: 30 16 BMI Return0DEFA1 ;/ Check if we need any lower tiles CODE_0DEF8B: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer CODE_0DEF8E: 20 7D A9 JSR.W CODE_0DA97D ; Move pointer downwards CODE_0DEF91: A6 00 LDX $00 ; Reload width CODE_0DEF93: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEF96: A9 A3 LDA.B #$A3 ; | Add lower tile CODE_0DEF98: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEF9B: CA DEX ;\ CODE_0DEF9C: 10 F5 BPL CODE_0DEF93 ; | Check for end of the object CODE_0DEF9E: 4C 87 EF JMP.W CODE_0DEF87 ;/ Return0DEFA1: 60 RTS ; Return ;Wooden crate DATA_0DEFA2: .db $63,$65 ; Left tiles DATA_0DEFA4: .db $C7,$C8 ; Middle tiles (the top and bottom lines aren't here) DATA_0DEFA6: .db $64,$6A ; Right tiles CODE_0DEFA8: A4 57 LDY $57 ; Position CODE_0DEFAA: A5 59 LDA $59 ;\ CODE_0DEFAC: 29 0F AND.B #$0F ; | Width CODE_0DEFAE: 85 00 STA $00 ;/ CODE_0DEFB0: A5 59 LDA $59 ;\ CODE_0DEFB2: 4A LSR ; | CODE_0DEFB3: 4A LSR ; | CODE_0DEFB4: 4A LSR ; | Height CODE_0DEFB5: 4A LSR ; | CODE_0DEFB6: 85 01 STA $01 ;/ CODE_0DEFB8: 20 B1 A6 JSR.W CODE_0DA6B1 ; Preserve pointer CODE_0DEFBB: A5 00 LDA $00 ;\ CODE_0DEFBD: 85 02 STA $02 ;/ Reload width CODE_0DEFBF: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEFC2: A9 61 LDA.B #$61 ;/ Add top left tile CODE_0DEFC4: D0 05 BNE CODE_0DEFCB ; This looks like some random instruction that should be BRA! CODE_0DEFC6: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEFC9: A9 0D LDA.B #$0D ; | Add upper middle tile CODE_0DEFCB: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEFCE: C6 02 DEC $02 ;\ CODE_0DEFD0: D0 F4 BNE CODE_0DEFC6 ;/ Check if we need more middle tiles CODE_0DEFD2: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEFD5: A9 62 LDA.B #$62 ; | Add upper right tile CODE_0DEFD7: 97 6B STA [$6B],Y ;/ CODE_0DEFD9: A2 01 LDX.B #$01 ; Set which line we're on CODE_0DEFDB: 4C FE EF JMP.W CODE_0DEFFE CODE_0DEFDE: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEFE1: BF A2 EF 0D LDA.L DATA_0DEFA2,X ; | Add left tile CODE_0DEFE5: D0 07 BNE CODE_0DEFEE ;/ CODE_0DEFE7: 20 0D AA JSR.W StzTo6ePointer0080E7 ;\ CODE_0DEFEA: BF A4 EF 0D LDA.L DATA_0DEFA4,X ; | Add middle tile CODE_0DEFEE: 20 5B A9 JSR.W CODE_0DA95B ;/ CODE_0DEFF1: C6 02 DEC $02 ;\ CODE_0DEFF3: D0 F2 BNE CODE_0DEFE7 ;/ Check if we need more middle tiles CODE_0DEFF5: 20 08 AA JSR.W Sta1To6ePointer ;\ CODE_0DEFF8: BF A6 EF 0D LDA.L DATA_0DEFA6,X ; | Add right tile CODE_0DEFFC: 97 6B STA [$6B],Y ;/ CODE_0DEFFE: 20 BA A6 JSR.W CODE_0DA6BA ; Reload pointer DATA_0DF08A: .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF DATA_0DF300: .db $20,$00,$40,$A4,$FA,$34,$20,$60 .db $C0,$2C,$FA,$34,$20,$61,$C0,$2C .db $FA,$34,$20,$62,$C0,$2C,$FA,$34 .db $21,$C3,$C0,$22,$FA,$34,$21,$C4 .db $C0,$22,$FA,$34,$21,$C5,$C0,$22 .db $FA,$34,$20,$6F,$C0,$14,$FA,$34 .db $20,$70,$C0,$14,$FA,$34,$20,$71 .db $C0,$14,$FA,$34,$20,$72,$C0,$14 .db $FA,$34,$21,$C3,$40,$1E,$FA,$34 .db $21,$E0,$40,$7E,$FA,$34,$20,$5C .db $C0,$2E,$FA,$34,$20,$5D,$C0,$2E .db $FA,$34,$20,$5E,$C0,$2E,$FA,$34 .db $20,$5F,$C0,$2E,$FA,$34,$22,$3A .db $C0,$10,$FA,$34,$22,$3B,$C0,$10 .db $FA,$34,$22,$40,$C0,$10,$FA,$34 .db $22,$41,$C0,$10,$FA,$34,$22,$42 .db $C0,$10,$FA,$34,$22,$43,$C0,$10 .db $FA,$34,$22,$44,$C0,$10,$FA,$34 .db $22,$45,$C0,$10,$FA,$34,$23,$40 .db $49,$3E,$FA,$34,$50,$72,$00,$19 .db $0F,$38,$12,$38,$1C,$38,$11,$38 .db $12,$38,$17,$38,$85,$38,$15,$38 .db $0A,$38,$14,$38,$12,$38,$1D,$38 .db $1E,$38,$50,$82,$00,$11,$19,$38 .db $0A,$38,$1B,$38,$0A,$38,$27,$38 .db $0B,$38,$18,$38,$16,$38,$0B,$38 .db $51,$67,$00,$15,$19,$38,$0A,$38 .db $1B,$38,$0A,$38,$27,$38,$10,$38 .db $18,$38,$18,$38,$16,$38,$0B,$38 .db $0A,$38,$51,$B2,$00,$0B,$15,$38 .db $0A,$38,$14,$38,$12,$38,$1D,$38 .db $1E,$38,$52,$28,$00,$09,$1C,$38 .db $19,$38,$12,$38,$17,$38,$22,$38 .db $52,$B7,$00,$0D,$20,$38,$12,$38 .db $10,$38,$10,$38,$15,$38,$0E,$38 .db $1B,$38,$53,$2E,$00,$0D,$0B,$38 .db $18,$38,$0B,$38,$27,$38,$18,$38 .db $16,$38,$0B,$38,$FF DATA_0DF42D: .db $20,$00,$40,$DE,$FA,$34,$20,$80 .db $40,$1E,$FA,$34,$20,$A0,$40,$1E .db $FA,$34,$20,$C0,$C0,$28,$FA,$34 .db $20,$C1,$C0,$28,$FA,$34,$20,$C2 .db $C0,$28,$FA,$34,$20,$CD,$C0,$0C .db $FA,$34,$20,$CE,$C0,$0C,$FA,$34 .db $20,$CF,$C0,$0C,$FA,$34,$21,$A3 .db $40,$18,$FA,$34,$21,$C3,$40,$18 .db $FA,$34,$21,$E3,$40,$30,$FA,$34 .db $22,$03,$40,$30,$FA,$34,$22,$2D .db $C0,$12,$FA,$34,$22,$2E,$C0,$12 .db $FA,$34,$20,$7C,$C0,$1A,$FA,$34 .db $20,$7D,$C0,$2E,$FA,$34,$20,$7E .db $C0,$2E,$FA,$34,$20,$7F,$C0,$2E .db $FA,$34,$23,$60,$49,$3E,$FA,$34 .db $50,$81,$00,$1B,$0A,$38,$16,$38 .db $0A,$38,$23,$38,$12,$38,$17,$38 .db $10,$38,$FC,$00,$0F,$38,$15,$38 .db $22,$38,$12,$38,$17,$38,$85,$38 .db $50,$A1,$00,$1B,$11,$38,$0A,$38 .db $16,$38,$16,$38,$0E,$38,$1B,$38 .db $FC,$00,$0B,$38,$1B,$38,$18,$38 .db $1D,$38,$11,$38,$0E,$38,$1B,$38 .db $50,$F2,$00,$15,$1C,$38,$1E,$38 .db $19,$38,$0E,$38,$1B,$38,$FC,$00 .db $14,$38,$18,$38,$18,$38,$19,$38 .db $0A,$38,$52,$57,$00,$0F,$0C,$38 .db $11,$38,$0A,$38,$1B,$38,$10,$38 .db $12,$38,$17,$38,$85,$38,$52,$78 .db $00,$09,$0C,$38,$11,$38,$1E,$38 .db $0C,$38,$14,$38,$52,$A4,$00,$0D .db $13,$38,$1E,$38,$16,$38,$19,$38 .db $12,$38,$17,$38,$10,$38,$52,$C1 .db $00,$19,$19,$38,$12,$38,$1B,$38 .db $11,$38,$0A,$38,$17,$38,$0A,$38 .db $FC,$00,$19,$38,$15,$38,$0A,$38 .db $17,$38,$1D,$38,$53,$30,$00,$0D .db $1F,$38,$18,$38,$15,$38,$0C,$38 .db $0A,$38,$17,$38,$18,$38,$53,$51 .db $00,$09,$15,$38,$18,$38,$1D,$38 .db $1E,$38,$1C,$38,$FF DATA_0DF572: .db $20,$00,$40,$BE,$FA,$34,$20,$6B .db $40,$28,$FA,$34,$20,$8B,$40,$28 .db $FA,$34,$20,$AB,$40,$28,$FA,$34 .db $20,$60,$C0,$1E,$FA,$34,$20,$61 .db $C0,$1E,$FA,$34,$20,$62,$C0,$1E .db $FA,$34,$20,$CB,$C0,$18,$FA,$34 .db $20,$CC,$C0,$18,$FA,$34,$20,$CD .db $C0,$18,$FA,$34,$20,$DE,$C0,$18 .db $FA,$34,$20,$DF,$C0,$18,$FA,$34 .db $22,$60,$40,$8E,$FA,$34,$22,$C0 .db $40,$0E,$FA,$34,$22,$E0,$40,$0E .db $FA,$34,$23,$00,$40,$0E,$FA,$34 .db $23,$20,$40,$0E,$FA,$34,$23,$40 .db $40,$0E,$FA,$34,$23,$60,$40,$0E .db $FA,$34,$22,$B5,$40,$14,$FA,$34 .db $22,$D5,$40,$14,$FA,$34,$22,$F5 .db $40,$14,$FA,$34,$23,$15,$40,$14 .db $FA,$34,$23,$35,$40,$14,$FA,$34 .db $23,$55,$40,$14,$FA,$34,$23,$75 .db $49,$14,$FA,$34,$50,$81,$00,$17 .db $1C,$38,$1E,$38,$16,$38,$18,$38 .db $FC,$00,$0B,$38,$1B,$38,$18,$38 .db $1D,$38,$11,$38,$0E,$38,$1B,$38 .db $50,$F5,$00,$13,$16,$38,$18,$38 .db $17,$38,$1D,$38,$22,$38,$FC,$00 .db $16,$38,$18,$38,$15,$38,$0E,$38 .db $51,$D0,$00,$09,$19,$38,$18,$38 .db $14,$38,$0E,$38,$22,$38,$53,$2D .db $00,$15,$0B,$38,$1E,$38,$15,$38 .db $15,$38,$0E,$38,$1D,$38,$FC,$00 .db $0B,$38,$12,$38,$15,$38,$15,$38 .db $FF DATA_0DF66B: .db $20,$00,$41,$12,$FA,$34,$20,$80 .db $40,$12,$FA,$34,$20,$A0,$40,$12 .db $FA,$34,$20,$C0,$40,$12,$FA,$34 .db $20,$E0,$40,$12,$FA,$34,$21,$00 .db $40,$12,$FA,$34,$21,$20,$40,$12 .db $FA,$34,$21,$40,$40,$12,$FA,$34 .db $21,$60,$40,$12,$FA,$34,$21,$80 .db $40,$12,$FA,$34,$21,$A0,$40,$12 .db $FA,$34,$21,$C0,$40,$12,$FA,$34 .db $21,$E0,$40,$88,$FA,$34,$22,$40 .db $C0,$0E,$FA,$34,$22,$41,$C0,$0E .db $FA,$34,$22,$42,$C0,$0E,$FA,$34 .db $22,$43,$C0,$0E,$FA,$34,$22,$44 .db $C0,$0E,$FA,$34,$22,$2C,$C0,$10 .db $FA,$34,$22,$2D,$C0,$10,$FA,$34 .db $23,$40,$40,$1A,$FA,$34,$20,$9C .db $C0,$2C,$FA,$34,$20,$9D,$C0,$2C .db $FA,$34,$20,$9E,$C0,$2C,$FA,$34 .db $20,$9F,$C0,$2C,$FA,$34,$23,$60 .db $49,$3E,$FA,$34,$51,$11,$00,$05 .db $1B,$38,$0E,$38,$21,$38,$52,$03 .db $00,$11,$16,$38,$0E,$38,$10,$38 .db $0A,$38,$FC,$00,$16,$38,$18,$38 .db $15,$38,$0E,$38,$53,$30,$00,$15 .db $0B,$38,$0A,$38,$17,$38,$23,$38 .db $0A,$38,$12,$38,$FC,$00,$0B,$38 .db $12,$38,$15,$38,$15,$38,$FF DATA_0DF742: .db $20,$00,$41,$06,$FA,$34,$20,$A0 .db $C0,$18,$FA,$34,$20,$A1,$C0,$18 .db $FA,$34,$20,$A2,$C0,$18,$FA,$34 .db $20,$A3,$C0,$18,$FA,$34,$20,$92 .db $40,$1A,$FA,$34,$20,$B2,$40,$1A .db $FA,$34,$20,$D2,$40,$1A,$FA,$34 .db $20,$F2,$40,$1A,$FA,$34,$21,$12 .db $40,$1A,$FA,$34,$21,$32,$40,$1A .db $FA,$34,$21,$52,$40,$1A,$FA,$34 .db $21,$72,$40,$1A,$FA,$34,$21,$92 .db $40,$1A,$FA,$34,$21,$B2,$40,$22 .db $FA,$34,$21,$D2,$40,$22,$FA,$34 .db $21,$F2,$40,$22,$FA,$34,$22,$12 .db $40,$22,$FA,$34,$22,$20,$40,$92 .db $FA,$34,$22,$80,$40,$12,$FA,$34 .db $22,$A0,$40,$12,$FA,$34,$22,$C0 .db $40,$12,$FA,$34,$22,$E0,$40,$12 .db $FA,$34,$23,$00,$40,$12,$FA,$34 .db $23,$20,$40,$12,$FA,$34,$22,$7C .db $C0,$0C,$FA,$34,$22,$7D,$C0,$0C .db $FA,$34,$22,$7E,$C0,$0C,$FA,$34 .db $22,$7F,$C0,$0C,$FA,$34,$23,$40 .db $49,$7E,$FA,$34,$50,$C2,$00,$13 .db $0D,$38,$12,$38,$17,$38,$18,$38 .db $27,$38,$1B,$38,$11,$38,$12,$38 .db $17,$38,$18,$38,$51,$E9,$00,$13 .db $0D,$38,$12,$38,$17,$38,$18,$38 .db $27,$38,$1D,$38,$18,$38,$1B,$38 .db $0C,$38,$11,$38,$53,$30,$00,$0B .db $14,$38,$18,$38,$18,$38,$19,$38 .db $0A,$38,$1C,$38,$FF DATA_0DF837: .db $20,$00,$41,$04,$FA,$34,$20,$A0 .db $C0,$28,$FA,$34,$20,$A1,$C0,$28 .db $FA,$34,$20,$A2,$C0,$28,$FA,$34 .db $20,$8A,$C0,$10,$FA,$34,$20,$8B .db $C0,$10,$FA,$34,$20,$9A,$C0,$2A .db $FA,$34,$20,$9B,$C0,$2A,$FA,$34 .db $20,$9C,$C0,$2A,$FA,$34,$20,$9D .db $C0,$2A,$FA,$34,$20,$9E,$C0,$2A .db $FA,$34,$20,$9F,$C0,$2A,$FA,$34 .db $21,$AA,$40,$B6,$FA,$34,$22,$23 .db $C0,$10,$FA,$34,$22,$24,$C0,$10 .db $FA,$34,$22,$25,$C0,$10,$FA,$34 .db $22,$19,$C0,$12,$FA,$34,$23,$40 .db $49,$7E,$FA,$34,$50,$A2,$00,$11 .db $1C,$38,$19,$38,$12,$38,$14,$38 .db $0E,$38,$FC,$00,$1D,$38,$18,$38 .db $19,$38,$50,$B1,$00,$0F,$1C,$38 .db $20,$38,$18,$38,$18,$38,$19,$38 .db $0E,$38,$1B,$38,$1C,$38,$52,$03 .db $00,$17,$0B,$38,$1E,$38,$23,$38 .db $23,$38,$22,$38,$FC,$00,$0B,$38 .db $0E,$38,$0E,$38,$1D,$38,$15,$38 .db $0E,$38,$52,$72,$00,$0B,$0B,$38 .db $15,$38,$0A,$38,$1B,$38,$10,$38 .db $10,$38,$FF DATA_0DF8FA: .db $20,$00,$40,$BE,$FA,$34,$20,$60 .db $C0,$16,$FA,$34,$20,$61,$C0,$16 .db $FA,$34,$20,$62,$C0,$16,$FA,$34 .db $20,$7C,$C0,$16,$FA,$34,$20,$7D .db $C0,$2C,$FA,$34,$20,$7E,$C0,$2C .db $FA,$34,$20,$7F,$C0,$2C,$FA,$34 .db $21,$E0,$40,$9C,$FA,$34,$22,$40 .db $C0,$10,$FA,$34,$22,$41,$C0,$10 .db $FA,$34,$22,$42,$C0,$10,$FA,$34 .db $22,$4C,$C0,$10,$FA,$34,$22,$4D .db $C0,$10,$FA,$34,$22,$4E,$C0,$10 .db $FA,$34,$23,$4C,$49,$66,$FA,$34 .db $50,$84,$00,$0B,$0B,$38,$15,$38 .db $1E,$38,$1B,$38,$19,$38,$1C,$38 .db $50,$B2,$00,$0B,$1E,$38,$1B,$38 .db $0C,$38,$11,$38,$12,$38,$17,$38 .db $51,$A7,$00,$17,$19,$38,$18,$38 .db $1B,$38,$0C,$38,$1E,$38,$27,$38 .db $19,$38,$1E,$38,$0F,$38,$0F,$38 .db $0E,$38,$1B,$38,$52,$52,$00,$15 .db $1D,$38,$18,$38,$1B,$38,$19,$38 .db $0E,$38,$0D,$38,$18,$38,$FC,$00 .db $1D,$38,$0E,$38,$0D,$38,$53,$02 .db $00,$17,$1B,$38,$12,$38,$19,$38 .db $FC,$00,$1F,$38,$0A,$38,$17,$38 .db $FC,$00,$0F,$38,$12,$38,$1C,$38 .db $11,$38,$FF DATA_0DF9CD: .db $20,$00,$40,$E2,$FA,$34,$20,$80 .db $C0,$2C,$FA,$34,$20,$81,$C0,$2C .db $FA,$34,$20,$82,$C0,$2C,$FA,$34 .db $20,$83,$C0,$12,$FA,$34,$20,$8E .db $C0,$26,$FA,$34,$20,$8F,$C0,$26 .db $FA,$34,$20,$90,$C0,$10,$FA,$34 .db $20,$91,$C0,$10,$FA,$34,$20,$7C .db $C0,$28,$FA,$34,$20,$7D,$C0,$28 .db $FA,$34,$20,$7E,$C0,$28,$FA,$34 .db $20,$7F,$C0,$28,$FA,$34,$21,$AE .db $40,$C2,$FA,$34,$23,$0E,$40,$22 .db $FA,$34,$23,$2E,$40,$22,$FA,$34 .db $23,$4E,$49,$82,$FA,$34,$50,$A3 .db $00,$19,$86,$78,$0B,$38,$18,$38 .db $18,$38,$86,$38,$FC,$00,$0B,$38 .db $1E,$38,$0D,$38,$0D,$38,$12,$38 .db $0E,$38,$1C,$38,$50,$D2,$00,$13 .db $0F,$38,$12,$38,$1C,$38,$11,$38 .db $12,$38,$17,$38,$85,$38,$0B,$38 .db $18,$38,$18,$38,$52,$22,$00,$19 .db $1D,$38,$11,$38,$0E,$38,$FC,$00 .db $0B,$38,$12,$38,$10,$38,$FC,$00 .db $86,$78,$0B,$38,$18,$38,$18,$38 .db $86,$38,$52,$B3,$00,$0B,$0E,$38 .db $0E,$38,$1B,$38,$12,$38,$0E,$38 .db $1C,$38,$FF DATA_0DFA98: .db $20,$00,$40,$BE,$FA,$34,$20,$60 .db $C0,$2E,$FA,$34,$20,$61,$C0,$2E .db $FA,$34,$20,$62,$C0,$2E,$FA,$34 .db $21,$63,$C0,$1E,$FA,$34,$21,$64 .db $C0,$1E,$FA,$34,$21,$65,$C0,$1E .db $FA,$34,$20,$7D,$C0,$2A,$FA,$34 .db $20,$7E,$C0,$2A,$FA,$34,$20,$7F .db $C0,$2A,$FA,$34,$21,$7C,$C0,$1A .db $FA,$34,$21,$AE,$C0,$1A,$FA,$34 .db $21,$AF,$C0,$1A,$FA,$34,$21,$60 .db $40,$7E,$FA,$34,$23,$30,$40,$1E .db $FA,$34,$23,$50,$49,$5E,$FA,$34 .db $50,$6B,$00,$13,$15,$38,$12,$38 .db $15,$38,$FC,$00,$1C,$38,$19,$38 .db $0A,$38,$1B,$38,$14,$38,$22,$38 .db $50,$F1,$00,$15,$0B,$38,$18,$38 .db $17,$38,$22,$38,$FC,$00,$0B,$38 .db $0E,$38,$0E,$38,$1D,$38,$15,$38 .db $0E,$38,$51,$22,$00,$11,$0D,$38 .db $1B,$38,$22,$38,$FC,$00,$0B,$38 .db $18,$38,$17,$38,$0E,$38,$1C,$38 .db $52,$4F,$00,$0B,$1D,$38,$11,$38 .db $20,$38,$18,$38,$16,$38,$19,$38 .db $52,$B6,$00,$0B,$1D,$38,$11,$38 .db $20,$38,$12,$38,$16,$38,$19,$38 .db $52,$E9,$00,$0D,$11,$38,$18,$38 .db $1D,$38,$11,$38,$0E,$38,$0A,$38 .db $0D,$38,$FF DATA_0DFB73: .db $20,$00,$40,$FE,$FA,$34,$20,$80 .db $C0,$14,$FA,$34,$20,$81,$C0,$14 .db $FA,$34,$20,$82,$C0,$14,$FA,$34 .db $20,$83,$C0,$14,$FA,$34,$20,$84 .db $C0,$14,$FA,$34,$20,$85,$C0,$14 .db $FA,$34,$20,$86,$C0,$14,$FA,$34 .db $20,$87,$C0,$14,$FA,$34,$20,$98 .db $C0,$14,$FA,$34,$20,$99,$C0,$14 .db $FA,$34,$20,$9A,$C0,$14,$FA,$34 .db $20,$9B,$C0,$14,$FA,$34,$20,$9C .db $C0,$14,$FA,$34,$20,$9D,$C0,$14 .db $FA,$34,$20,$9E,$C0,$14,$FA,$34 .db $20,$9F,$C0,$14,$FA,$34,$21,$E0 .db $40,$7E,$FA,$34,$22,$20,$C0,$12 .db $FA,$34,$22,$21,$C0,$12,$FA,$34 .db $22,$22,$C0,$12,$FA,$34,$22,$23 .db $C0,$12,$FA,$34,$22,$3C,$C0,$12 .db $FA,$34,$22,$3D,$C0,$12,$FA,$34 .db $22,$3E,$C0,$12,$FA,$34,$22,$3F .db $C0,$12,$FA,$34,$23,$60,$49,$3E .db $FA,$34,$50,$90,$00,$0D,$10,$38 .db $1B,$38,$12,$38,$17,$38,$0D,$38 .db $0E,$38,$1B,$38,$51,$A7,$00,$17 .db $0B,$38,$0A,$38,$15,$38,$15,$38 .db $85,$78,$17,$38,$85,$38,$0C,$38 .db $11,$38,$0A,$38,$12,$38,$17,$38 .db $52,$4D,$00,$0F,$0F,$38,$12,$38 .db $1C,$38,$11,$38,$0B,$38,$18,$38 .db $17,$38,$0E,$38,$FF DATA_0DFC58: .db $20,$00,$40,$FE,$FA,$34,$20,$80 .db $C0,$2A,$FA,$34,$20,$81,$C0,$2A .db $FA,$34,$20,$82,$C0,$2A,$FA,$34 .db $20,$83,$C0,$2A,$FA,$34,$20,$84 .db $C0,$2A,$FA,$34,$20,$85,$C0,$2A .db $FA,$34,$20,$86,$C0,$2A,$FA,$34 .db $20,$87,$C0,$2A,$FA,$34,$20,$98 .db $C0,$2A,$FA,$34,$20,$99,$C0,$2A .db $FA,$34,$20,$9A,$C0,$2A,$FA,$34 .db $20,$9B,$C0,$2A,$FA,$34,$20,$9C .db $C0,$2A,$FA,$34,$20,$9D,$C0,$2A .db $FA,$34,$20,$9E,$C0,$2A,$FA,$34 .db $20,$9F,$C0,$2A,$FA,$34,$23,$40 .db $49,$7E,$FA,$34,$51,$8D,$00,$0B .db $1B,$38,$0E,$38,$23,$38,$17,$38 .db $18,$38,$1B,$38,$FF DATA_0DFCD5: .db $20,$00,$42,$80,$FA,$34,$21,$40 .db $C0,$12,$FA,$34,$21,$41,$C0,$12 .db $FA,$34,$21,$42,$C0,$12,$FA,$34 .db $21,$43,$C0,$12,$FA,$34,$21,$44 .db $C0,$12,$FA,$34,$21,$45,$C0,$12 .db $FA,$34,$21,$46,$C0,$12,$FA,$34 .db $21,$47,$C0,$12,$FA,$34,$21,$58 .db $C0,$12,$FA,$34,$21,$59,$C0,$12 .db $FA,$34,$21,$5A,$C0,$12,$FA,$34 .db $21,$5B,$C0,$12,$FA,$34,$21,$5C .db $C0,$12,$FA,$34,$21,$5D,$C0,$12 .db $FA,$34,$21,$5E,$C0,$12,$FA,$34 .db $21,$5F,$C0,$12,$FA,$34,$22,$80 .db $4A,$FE,$FA,$34,$51,$8B,$00,$15 .db $16,$38,$0E,$38,$0C,$38,$11,$38 .db $0A,$38,$14,$38,$18,$38,$18,$38 .db $19,$38,$0A,$38,$1C,$38,$FF DATA_0DFD5C: .db $20,$00,$5F,$FE,$FA,$14,$51,$25 .db $00,$0B,$16,$38,$18,$38,$1B,$38 .db $1D,$38,$18,$38,$17,$38,$51,$44 .db $00,$11,$14,$38,$18,$38,$18,$38 .db $19,$38,$0A,$38,$FC,$00,$13,$38 .db $1B,$38,$24,$38,$51,$37,$00,$05 .db $1B,$38,$18,$38,$22,$38,$51,$56 .db $00,$09,$14,$38,$18,$38,$18,$38 .db $19,$38,$0A,$38,$52,$0D,$00,$0B .db $0B,$38,$18,$38,$20,$38,$1C,$38 .db $0E,$38,$1B,$38,$52,$43,$00,$09 .db $15,$38,$0E,$38,$16,$38,$16,$38 .db $22,$38,$52,$63,$00,$09,$14,$38 .db $18,$38,$18,$38,$19,$38,$0A,$38 .db $52,$59,$00,$09,$20,$38,$0E,$38 .db $17,$38,$0D,$38,$22,$38,$52,$78 .db $00,$0D,$18,$38,$24,$38,$14,$38 .db $18,$38,$18,$38,$19,$38,$0A,$38 .db $53,$06,$00,$07,$12,$38,$10,$38 .db $10,$38,$22,$38,$53,$26,$00,$09 .db $14,$38,$18,$38,$18,$38,$19,$38 .db $0A,$38,$53,$17,$00,$09,$15,$38 .db $0A,$38,$1B,$38,$1B,$38,$22,$38 .db $53,$37,$00,$09,$14,$38,$18,$38 .db $18,$38,$19,$38,$0A,$38,$53,$2E .db $00,$0B,$15,$38,$1E,$38,$0D,$38 .db $20,$38,$12,$38,$10,$38,$53,$4D .db $00,$11,$1F,$38,$18,$38,$17,$38 .db $FC,$00,$14,$38,$18,$38,$18,$38 .db $19,$38,$0A,$38,$FF,$FF,$FF,$52 .db $C1,$00,$0D,$19,$38,$1E,$38,$16 .db $38,$19,$38,$14,$38,$12,$38,$17 .db $38,$FF,$FF,$53,$2D,$00,$0B,$19 .db $38,$12,$38,$0D,$38,$10,$38,$12 .db $38,$1D,$38,$FF,$FF,$FF,$FF,$53 .db $2E,$00,$15,$16,$38,$0A,$38,$1C .db $38,$14,$38,$FC,$00,$14,$38,$18 .db $38,$18,$38,$19,$38,$0A,$38,$1C .db $38,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF .BANK 14 BankE: .db $3E,$0E,$00,$05,$20,$CD,$CF,$BD .db $E8,$00,$C5,$86,$03,$C5,$87,$03 .db $C5,$88,$03,$C5,$89,$03,$5D,$AF .db $C8,$E8,$D0,$FB,$E8,$00,$5D,$D5 .db $00,$02,$3D,$D0,$FA,$D5,$00,$03 .db $3D,$D0,$FA,$CD,$0B,$F5,$A1,$12 .db $FD,$F5,$95,$12,$3F,$97,$06,$1D .db $10,$F3,$E8,$F0,$C5,$F1,$00,$E8 .db $10,$C5,$FA,$00,$E8,$36,$C4,$51 .db $E8,$01,$C5,$F1,$00,$EC,$FD,$00 .db $F0,$FB,$6D,$E8,$38,$CF,$60,$84 .db $44,$C4,$44,$90,$1A,$AB,$45,$3F .db $AE,$06,$CD,$00,$3F,$A5,$05,$3F .db $E5,$09,$CD,$01,$3F,$A5,$05,$3F .db $16,$08,$CD,$03,$3F,$A5,$05,$E4 .db $51,$EE,$CF,$60,$84,$49,$C4,$49 .db $90,$0F,$E5,$88,$03,$D0,$03,$3F .db $C0,$0B,$CD,$02,$3F,$A5,$05,$2F .db $BC,$E4,$06,$F0,$B8,$CD,$0E,$8F .db $80,$48,$F4,$31,$F0,$03,$3F,$98 .db $11,$4B,$48,$1D,$1D,$10,$F3,$2F .db $A4,$7D,$FD,$F4,$04,$D5,$F4,$00 .db $F5,$F4,$00,$75,$F4,$00,$D0,$F8 .db $FD,$F4,$08,$DB,$08,$DE,$08,$05 .db $8D,$00,$DB,$00,$6F,$DB,$00,$DD .db $6F,$68,$D0,$B0,$05,$68,$C6,$90 .db $16,$6F,$D4,$C1,$80,$A8,$D0,$8D .db $06,$8F,$A5,$14,$8F,$5F,$15,$3F .db $56,$0D,$D0,$ED,$FC,$F7,$14,$28 .db $7F,$60,$84,$43,$D5,$B1,$02,$F5 .db $D1,$02,$D5,$B0,$02,$E8,$00,$D5 .db $30,$03,$D5,$60,$03,$D4,$A0,$D5 .db $10,$01,$D4,$B0,$09,$48,$5C,$09 .db $48,$47,$F5,$00,$03,$D4,$90,$F0 .db $1E,$F5,$01,$03,$D4,$91,$F5,$20 .db $03,$D0,$0A,$F5,$B1,$02,$80,$B5 .db $21,$03,$D5,$B1,$02,$F5,$21,$03 .db $60,$95,$B1,$02,$3F,$5D,$0F,$F5 .db $B1,$02,$FD,$F5,$B0,$02,$DA,$10 .db $8D,$00,$E4,$11,$80,$A8,$34,$B0 .db $09,$E4,$11,$80,$A8,$13,$B0,$06 .db $DC,$1C,$7A,$10,$DA,$10,$4D,$E4 .db $11,$3F,$BD,$12,$DA,$14,$E4,$11 .db $BC,$3F,$BD,$12,$CE,$9A,$14,$2D .db $E4,$10,$CF,$7A,$14,$DA,$14,$E4 .db $10,$EE,$CF,$DD,$8D,$00,$7A,$14 .db $DA,$14,$F5,$10,$02,$EB,$14,$CF .db $DA,$16,$F5,$10,$02,$EB,$15,$CF .db $60,$84,$17,$C4,$17,$7D,$9F,$5C .db $08,$02,$FD,$E4,$16,$3F,$8F,$06 .db $FC,$E4,$17,$2D,$E4,$48,$24,$1D .db $AE,$D0,$06,$CC,$F2,$00,$C5,$F3 .db $00,$6F,$E8,$0A,$C5,$87,$03,$E4 .db $51,$3F,$14,$0E,$E8,$1D,$C4,$03 .db $2F,$24,$78,$12,$00,$F0,$0F,$78 .db $11,$00,$F0,$0A,$78,$11,$04,$F0 .db $0B,$78,$1D,$04,$F0,$06,$E4,$00 .db $30,$D8,$D0,$0A,$E5,$82,$03,$D0 .db $4D,$E4,$04,$D0,$7C,$6F,$C4,$04 .db $E5,$88,$03,$F0,$1E,$E8,$00,$C5 .db $88,$03,$E5,$89,$03,$D0,$04,$E8 .db $20,$2F,$0B,$E8,$16,$C4,$62,$C4 .db $64,$3F,$EB,$0E,$E8,$00,$8D,$6C .db $3F,$97,$06,$E8,$02,$C5,$82,$03 .db $78,$11,$04,$D0,$0A,$E5,$89,$03 .db $F0,$05,$E8,$00,$3F,$22,$0F,$E8 .db $10,$8D,$5C,$3F,$97,$06,$82,$1D .db $E8,$00,$C5,$08,$03,$6F,$8C,$82 .db $03,$D0,$B2,$E4,$04,$1C,$FD,$F6 .db $81,$56,$C4,$18,$F6,$82,$56,$C4 .db $19,$2F,$25,$78,$11,$04,$D0,$0A .db $E8,$60,$C5,$88,$03,$8D,$6C,$3F .db $97,$06,$8F,$00,$04,$92,$1D,$CD .db $08,$E4,$C9,$F0,$03,$5F,$4B,$0D .db $6F,$8C,$80,$03,$D0,$54,$3A,$18 .db $CD,$00,$E7,$18,$F0,$D5,$30,$2A .db $C5,$81,$03,$3A,$18,$E7,$18,$C4 .db $10,$30,$1F,$8D,$40,$3F,$97,$06 .db $3A,$18,$E7,$18,$10,$0B,$5D,$E4 .db $10,$8D,$41,$3F,$97,$06,$7D,$2F .db $09,$8D,$41,$3F,$97,$06,$3A,$18 .db $E7,$18,$68,$DA,$F0,$69,$68,$DD .db $F0,$34,$68,$EB,$F0,$43,$68,$FF .db $F0,$89,$CD,$08,$3F,$C5,$05,$E8 .db $10,$3F,$32,$0D,$E5,$81,$03,$C5 .db $80,$03,$F2,$13,$CD,$08,$F4,$90 .db $F0,$05,$3F,$CD,$09,$2F,$0E,$E8 .db $02,$65,$80,$03,$D0,$07,$E8,$10 .db $8D,$5C,$3F,$97,$06,$6F,$CD,$00 .db $3A,$18,$E7,$18,$8F,$08,$46,$CD .db $08,$3F,$C5,$05,$E8,$10,$3F,$32 .db $0D,$CD,$00,$3A,$18,$E7,$18,$C4 .db $99,$3A,$18,$E7,$18,$C4,$98,$2D .db $3A,$18,$E7,$18,$EE,$8F,$08,$46 .db $CD,$08,$3F,$5D,$0F,$2F,$AD,$CD .db $00,$3A,$18,$E7,$18,$8D,$09,$CF .db $5D,$8D,$40,$8F,$08,$12,$F5,$70 .db $55,$3F,$97,$06,$3D,$FC,$6E,$12 .db $F5,$F5,$70,$55,$C5,$18,$02,$5F .db $52,$07,$78,$24,$07,$F0,$13,$78 .db $24,$03,$F0,$0A,$78,$1D,$07,$F0 .db $09,$78,$05,$07,$F0,$04,$E4,$03 .db $D0,$09,$E4,$0D,$D0,$19,$E4,$07 .db $D0,$40,$6F,$C4,$07,$8F,$02,$0D .db $E8,$40,$8D,$5C,$3F,$97,$06,$C2 .db $1D,$E8,$00,$C5,$0C,$03,$6F,$6E .db $0D,$E8,$E4,$07,$1C,$FD,$F6,$19 .db $56,$C4,$1A,$F6,$1A,$56,$C4,$1B .db $2F,$1F,$8F,$00,$07,$D2,$1D,$E8 .db $00,$C4,$2F,$8D,$3D,$3F,$97,$06 .db $CD,$0C,$E4,$CD,$F0,$03,$5F,$4B .db $0D,$6F,$8C,$84,$03,$D0,$58,$3A .db $1A,$CD,$00,$E7,$1A,$F0,$DB,$30 .db $2A,$C5,$85,$03,$3A,$1A,$E7,$1A .db $C4,$10,$30,$1F,$8D,$60,$3F,$97 .db $06,$3A,$1A,$E7,$1A,$10,$0B,$5D .db $E4,$10,$8D,$61,$3F,$97,$06,$7D .db $2F,$09,$8D,$61,$3F,$97,$06,$3A .db $1A,$E7,$1A,$68,$DA,$F0,$6D,$68 .db $DD,$F0,$38,$68,$EB,$F0,$47,$68 .db $FF,$D0,$04,$1A,$1A,$2F,$BA,$CD .db $0C,$3F,$C5,$05,$E8,$40,$3F,$32 .db $0D,$E5,$85,$03,$C5,$84,$03,$F2 .db $13,$CD,$0C,$F4,$90,$F0,$05,$3F .db $CD,$09,$2F,$0E,$E8,$02,$65,$84 .db $03,$D0,$07,$E8,$40,$8D,$5C,$3F .db $97,$06,$6F,$CD,$00,$3A,$1A,$E7 .db $1A,$8F,$0C,$46,$CD,$0C,$3F,$C5 .db $05,$E8,$40,$3F,$32,$0D,$CD,$00 .db $3A,$1A,$E7,$1A,$C4,$9D,$3A,$1A .db $E7,$1A,$C4,$9C,$2D,$3A,$1A,$E7 .db $1A,$EE,$8F,$0C,$46,$CD,$0C,$3F .db $5D,$0F,$2F,$AD,$E8,$00,$C4,$2F .db $8D,$3D,$3F,$97,$06,$CD,$00,$3A .db $1A,$E7,$1A,$30,$1D,$8D,$09,$CF .db $5D,$8D,$60,$8F,$08,$12,$F5,$70 .db $55,$3F,$97,$06,$3D,$FC,$6E,$12 .db $F5,$F5,$70,$55,$C5,$1C,$02,$5F .db $7B,$08,$28,$1F,$C4,$2E,$8D,$6C .db $3F,$97,$06,$E8,$40,$C4,$2F,$8D .db $3D,$3F,$97,$06,$2F,$C7,$8D,$09 .db $CF,$5D,$8D,$50,$8F,$08,$12,$F5 .db $70,$55,$3F,$97,$06,$3D,$FC,$6E .db $12,$F5,$F5,$70,$55,$C5,$1A,$02 .db $6F,$E4,$06,$68,$06,$F0,$04,$28 .db $FC,$D0,$7C,$E5,$86,$03,$D0,$0E .db $E8,$09,$3F,$62,$09,$E8,$01,$D0 .db $02,$E8,$00,$C5,$86,$03,$2F,$67 .db $E8,$60,$8D,$6C,$3F,$97,$06,$E8 .db $FF,$8D,$5C,$3F,$97,$06,$3F,$F2 .db $12,$E8,$00,$C4,$04,$C4,$05,$C4 .db $06,$C4,$07,$C4,$1D,$C5,$87,$03 .db $C5,$88,$03,$C5,$86,$03,$C5,$89 .db $03,$E8,$20,$8D,$6C,$3F,$97,$06 .db $6F,$E8,$B0,$8D,$02,$9B,$90,$3F .db $75,$10,$F5,$B1,$02,$FD,$F5,$B0 .db $02,$DA,$10,$8F,$00,$48,$5F,$34 .db $06,$E4,$01,$68,$FF,$F0,$B1,$68 .db $02,$F0,$8E,$68,$03,$F0,$A2,$68 .db $01,$F0,$1D,$E4,$05,$68,$01,$F0 .db $06,$E4,$01,$68,$04,$F0,$0B,$E4 .db $05,$68,$01,$F0,$48,$68,$04,$F0 .db $04,$6F,$5F,$CE,$0A,$5F,$08,$0B .db $C4,$05,$E8,$04,$C5,$83,$03,$E8 .db $80,$8D,$5C,$3F,$97,$06,$E2,$1D .db $E8,$00,$8D,$20,$D6,$FF,$02,$FE .db $FB,$6F,$8C,$83,$03,$D0,$DA,$8F .db $30,$1C,$2F,$30,$78,$2A,$1C,$D0 .db $5C,$8F,$0E,$46,$CD,$0E,$8D,$00 .db $CB,$9F,$8D,$12,$CB,$9E,$E8,$B9 .db $3F,$5D,$0F,$2F,$48,$E5,$83,$03 .db $D0,$D8,$6E,$1C,$DF,$8F,$00,$05 .db $F2,$1D,$CD,$0E,$E4,$CF,$F0,$03 .db $5F,$4B,$0D,$6F,$3F,$B1,$0A,$E8 .db $B2,$8F,$0E,$46,$CD,$0E,$3F,$C5 .db $05,$8D,$00,$CB,$9F,$8D,$05,$CB .db $9E,$E8,$B5,$3F,$5D,$0F,$E8,$38 .db $C4,$10,$8D,$70,$3F,$97,$06,$E8 .db $38,$C4,$10,$8D,$71,$3F,$97,$06 .db $E8,$80,$3F,$32,$0D,$E8,$02,$2E .db $1C,$07,$E8,$80,$8D,$5C,$3F,$97 .db $06,$F2,$13,$E4,$9E,$F0,$05,$CD .db $0E,$3F,$CD,$09,$6F,$E8,$08,$8D .db $09,$CF,$5D,$8D,$70,$8F,$08,$12 .db $F5,$70,$55,$3F,$97,$06,$3D,$FC .db $6E,$12,$F5,$F5,$70,$55,$C5,$1E .db $02,$6F,$C4,$05,$E8,$04,$C5,$83 .db $03,$E8,$80,$8D,$5C,$3F,$97,$06 .db $E2,$1D,$E8,$00,$8D,$20,$D6,$FF .db $02,$FE,$FB,$6F,$8C,$83,$03,$D0 .db $FA,$8F,$18,$1C,$2F,$05,$78,$0C .db $1C,$D0,$3C,$E8,$07,$3F,$B3,$0A .db $E8,$A4,$8F,$0E,$46,$CD,$0E,$3F .db $C5,$05,$2F,$14,$E5,$83,$03,$D0 .db $DB,$6E,$1C,$E2,$8F,$00,$05,$F2 .db $1D,$CD,$0E,$E4,$CF,$5F,$4B,$0D .db $E8,$28,$C4,$10,$8D,$70,$3F,$97 .db $06,$E8,$28,$C4,$10,$8D,$71,$3F .db $97,$06,$E8,$80,$3F,$32,$0D,$E8 .db $02,$2E,$1C,$07,$E8,$80,$8D,$5C .db $3F,$97,$06,$6F,$80,$68,$16,$F0 .db $10,$68,$10,$F0,$0C,$68,$0F,$F0 .db $08,$68,$09,$90,$09,$68,$0D,$B0 .db $05,$8D,$00,$CC,$87,$03,$C4,$06 .db $8F,$02,$0C,$1C,$FD,$F6,$5E,$13 .db $C4,$40,$F6,$5F,$13,$C4,$41,$CD .db $0E,$E8,$0A,$D5,$81,$02,$E8,$FF .db $D5,$41,$02,$E8,$00,$D5,$D1,$02 .db $D4,$81,$D4,$80,$D4,$A1,$D4,$B1 .db $D4,$C0,$D4,$C1,$1D,$1D,$10,$E1 .db $C4,$58,$C4,$60,$C4,$52,$C4,$43 .db $8F,$C0,$57,$8F,$36,$51,$8D,$20 .db $D6,$FF,$02,$FE,$FB,$2F,$02,$C4 .db $06,$E4,$1D,$48,$FF,$8D,$5C,$5F .db $97,$06,$CD,$F0,$D8,$58,$E8,$00 .db $C4,$59,$80,$A4,$57,$3F,$76,$0F .db $DA,$5A,$2F,$27,$E4,$06,$F0,$1A .db $68,$06,$F0,$04,$28,$FC,$D0,$10 .db $E5,$86,$03,$D0,$0B,$E8,$20,$8D .db $5C,$3F,$97,$06,$A2,$1D,$2F,$02 .db $B2,$1D,$E4,$02,$30,$CC,$F0,$03 .db $5F,$40,$0B,$E4,$0C,$D0,$13,$E4 .db $06,$D0,$57,$6F,$8D,$00,$F7,$40 .db $3A,$40,$2D,$F7,$40,$3A,$40,$FD .db $AE,$6F,$6E,$0C,$EE,$3F,$F0,$0B .db $DA,$16,$DD,$D0,$19,$E4,$16,$F0 .db $96,$8B,$42,$F0,$0B,$10,$02,$C4 .db $42,$3F,$F0,$0B,$DA,$40,$2F,$E5 .db $3A,$40,$3A,$40,$2F,$DF,$8D,$0F .db $F7,$16,$D6,$30,$00,$DC,$10,$F8 .db $CD,$0E,$8F,$80,$48,$F4,$31,$F0 .db $0B,$E8,$01,$D4,$70,$F4,$C1,$D0 .db $03,$3F,$4A,$0D,$4B,$48,$1D,$1D .db $10,$EB,$CD,$00,$D8,$47,$8F,$01 .db $48,$D8,$46,$F4,$31,$F0,$76,$9B .db $70,$D0,$6F,$3F,$5E,$12,$D0,$1E .db $F4,$C0,$F0,$A1,$9B,$C0,$D0,$0A .db $F5,$E0,$03,$D4,$30,$F5,$E1,$03 .db $2F,$08,$F5,$F0,$03,$D4,$30,$F5 .db $F1,$03,$D4,$31,$2F,$DD,$30,$23 .db $D5,$00,$02,$3F,$5E,$12,$30,$1B .db $2D,$9F,$28,$07,$FD,$F6,$68,$12 .db $D5,$01,$02,$AE,$28,$0F,$FD,$F6 .db $70,$12,$D5,$11,$02,$09,$48,$5C .db $3F,$5E,$12,$68,$DA,$90,$05,$3F .db $40,$0D,$2F,$AF,$2D,$E4,$48,$24 .db $1D,$AE,$D0,$03,$3F,$C5,$05,$F5 .db $00,$02,$D4,$70,$FD,$F5,$01,$02 .db $CF,$DD,$D0,$01,$BC,$D5,$00,$01 .db $2F,$03,$3F,$A1,$10,$3D,$3D,$0B .db $48,$B0,$03,$5F,$4D,$0C,$E4,$52 .db $F0,$0D,$6E,$52,$04,$BA,$52,$2F .db $04,$BA,$54,$7A,$50,$DA,$50,$E4 .db $60,$F0,$1C,$6E,$60,$0A,$E8,$00 .db $EB,$62,$DA,$61,$EB,$64,$2F,$0A .db $BA,$65,$7A,$61,$DA,$61,$BA,$67 .db $7A,$63,$DA,$63,$3F,$EB,$0E,$E4 .db $58,$F0,$10,$6E,$58,$04,$BA,$58 .db $2F,$04,$BA,$5A,$7A,$56,$DA,$56 .db $8F,$FF,$5C,$CD,$0E,$8F,$80,$48 .db $F4,$31,$F0,$03,$3F,$DB,$0F,$4B .db $48,$1D,$1D,$10,$F3,$8F,$00,$5C .db $E4,$1D,$48,$FF,$24,$47,$2D,$8D .db $5C,$E8,$00,$3F,$97,$06,$AE,$8D .db $4C,$5F,$97,$06,$1C,$5D,$E8,$00 .db $1F,$DC,$0E,$3F,$5C,$12,$BC,$D4 .db $C1,$9C,$8D,$05,$8F,$46,$14,$8F .db $5F,$15,$CF,$7A,$14,$DA,$14,$E4 .db $48,$24,$1D,$D0,$2C,$4D,$7D,$9F .db $5C,$08,$04,$5D,$E4,$48,$48,$FF .db $24,$2F,$C4,$2F,$8D,$3D,$3F,$97 .db $06,$8D,$00,$F7,$14,$C9,$F2,$00 .db $C5,$F3,$00,$3D,$FC,$AD,$04,$D0 .db $F2,$F7,$14,$CE,$D5,$10,$02,$E8 .db $00,$6F,$3F,$5C,$12,$28,$1F,$D5 .db $81,$02,$DD,$28,$C0,$D5,$A1,$02 .db $E8,$00,$D5,$80,$02,$09,$48,$5C .db $6F,$3F,$5C,$12,$D4,$81,$2D,$3F .db $5E,$12,$D5,$A0,$02,$80,$B5,$81 .db $02,$CE,$3F,$76,$0F,$D5,$90,$02 .db $DD,$D5,$91,$02,$6F,$3F,$5C,$12 .db $D5,$40,$03,$E8,$00,$D5,$41,$03 .db $3F,$5E,$12,$D5,$31,$03,$3F,$5E .db $12,$F8,$46,$D4,$A1,$6F,$3F,$5C .db $12,$D5,$41,$03,$2D,$F4,$A1,$D5 .db $51,$03,$CE,$8D,$00,$9E,$F8,$46 .db $D5,$50,$03,$6F,$3F,$5C,$12,$C4 .db $57,$8F,$00,$56,$8F,$FF,$5C,$6F .db $3F,$5C,$12,$C4,$58,$3F,$5E,$12 .db $C4,$59,$F8,$58,$80,$A4,$57,$3F .db $76,$0F,$DA,$5A,$6F,$3F,$5C,$12 .db $85,$87,$03,$C4,$51,$8F,$00,$50 .db $6F,$3F,$5C,$12,$C4,$52,$3F,$5E .db $12,$85,$87,$03,$C4,$53,$F8,$52 .db $80,$A4,$51,$3F,$76,$0F,$DA,$54 .db $6F,$3F,$5C,$12,$C4,$43,$6F,$3F .db $5C,$12,$D5,$70,$03,$3F,$5E,$12 .db $D5,$62,$03,$3F,$5E,$12,$F8,$46 .db $D4,$B1,$6F,$E8,$01,$2F,$02,$E8 .db $00,$F8,$46,$D5,$20,$03,$3F,$5C .db $12,$D5,$01,$03,$3F,$5E,$12,$D5 .db $00,$03,$3F,$5E,$12,$D5,$21,$03 .db $6F,$F8,$46,$D5,$00,$03,$6F,$3F .db $5C,$12,$D5,$41,$02,$E8,$00,$D5 .db $40,$02,$09,$48,$5C,$6F,$3F,$5C .db $12,$D4,$80,$2D,$3F,$5E,$12,$D5 .db $60,$02,$80,$B5,$41,$02,$CE,$3F .db $76,$0F,$D5,$50,$02,$DD,$D5,$51 .db $02,$6F,$3F,$5C,$12,$D5,$D1,$02 .db $6F,$3F,$5C,$12,$2D,$3F,$5E,$12 .db $2D,$3F,$5E,$12,$D4,$C0,$F4,$30 .db $D5,$E0,$03,$F4,$31,$D5,$E1,$03 .db $AE,$D4,$31,$D5,$F1,$03,$AE,$D4 .db $30,$D5,$F0,$03,$6F,$3F,$5C,$12 .db $C5,$89,$03,$8D,$4D,$3F,$97,$06 .db $3F,$5E,$12,$E8,$00,$DA,$61,$3F .db $5E,$12,$E8,$00,$DA,$63,$C4,$2E .db $28,$1F,$8D,$6C,$3F,$97,$06,$E4 .db $62,$8D,$2C,$3F,$97,$06,$E4,$64 .db $8D,$3C,$5F,$97,$06,$3F,$5C,$12 .db $C4,$60,$3F,$5E,$12,$C4,$69,$F8 .db $60,$80,$A4,$62,$3F,$76,$0F,$DA .db $65,$3F,$5E,$12,$C4,$6A,$F8,$60 .db $80,$A4,$64,$3F,$76,$0F,$DA,$67 .db $6F,$F8,$46,$C5,$89,$03,$FD,$DA .db $61,$DA,$63,$3F,$EB,$0E,$C4,$2E .db $08,$20,$8D,$6C,$5F,$97,$06,$3F .db $5C,$12,$8D,$7D,$3F,$97,$06,$3F .db $5E,$12,$8D,$0D,$3F,$97,$06,$3F .db $5E,$12,$8D,$08,$CF,$5D,$8D,$0F .db $F5,$AD,$12,$3F,$97,$06,$3D,$DD .db $60,$88,$10,$FD,$10,$F2,$F8,$46 .db $6F,$28,$7F,$D5,$D0,$02,$80,$B5 .db $B1,$02,$2D,$F4,$90,$5D,$AE,$3F .db $76,$0F,$D5,$C0,$02,$DD,$D5,$C1 .db $02,$6F,$B0,$0D,$48,$FF,$BC,$3F .db $85,$0F,$DA,$14,$BA,$0E,$9A,$14 .db $6F,$8D,$00,$9E,$2D,$E8,$00,$9E .db $EE,$F8,$46,$6F,$47,$0D,$8E,$0D .db $A5,$0D,$00,$00,$C1,$0D,$D5,$0D .db $F0,$0D,$FC,$0D,$11,$0E,$1D,$0E .db $35,$0E,$3B,$0E,$4A,$0E,$73,$0E .db $82,$0E,$A5,$0E,$DA,$0D,$4F,$0E .db $53,$0E,$00,$00,$9E,$0E,$C9,$0E .db $1D,$0F,$33,$0F,$F9,$0E,$02,$02 .db $03,$04,$04,$01,$02,$03,$02,$03 .db $02,$04,$01,$02,$03,$04,$02,$04 .db $04,$01,$02,$04,$01,$04,$04,$F4 .db $80,$F0,$0C,$09,$48,$5C,$E8,$40 .db $8D,$02,$9B,$80,$3F,$75,$10,$F4 .db $B1,$FD,$F0,$23,$F5,$70,$03,$DE .db $B0,$1B,$09,$48,$5C,$F5,$60,$03 .db $10,$07,$FC,$D0,$04,$E8,$80,$2F .db $04,$60,$95,$62,$03,$D5,$60,$03 .db $3F,$3A,$12,$2F,$08,$BB,$B0,$F5 .db $11,$02,$3F,$4D,$12,$F4,$81,$D0 .db $07,$E4,$48,$24,$5C,$D0,$0A,$6F .db $E8,$80,$8D,$02,$9B,$81,$3F,$75 .db $10,$F5,$81,$02,$FD,$F5,$80,$02 .db $DA,$10,$7D,$9F,$5C,$C4,$12,$EB .db $11,$F6,$81,$12,$80,$B6,$80,$12 .db $EB,$10,$CF,$DD,$EB,$11,$60,$96 .db $80,$12,$FD,$F5,$71,$03,$CF,$F5 .db $A1,$02,$13,$12,$01,$1C,$10,$05 .db $DD,$48,$FF,$BC,$FD,$DD,$EB,$12 .db $3F,$8F,$06,$E8,$00,$8D,$14,$9A .db $10,$DA,$10,$AB,$12,$33,$12,$C7 .db $6F,$DA,$14,$D0,$0F,$60,$88,$20 .db $DA,$16,$7D,$FD,$E8,$00,$2D,$F7 .db $16,$FC,$2F,$12,$60,$88,$10,$DA .db $16,$7D,$FD,$F7,$14,$60,$97,$16 .db $2D,$FC,$F7,$14,$97,$16,$D7,$14 .db $DC,$AE,$D7,$14,$6F,$40,$9B,$00 .db $20,$F0,$05,$E8,$02,$DE,$70,$2C .db $F4,$30,$FB,$31,$DA,$14,$8D,$00 .db $F7,$14,$F0,$19,$30,$05,$FC,$F7 .db $14,$10,$FB,$68,$C6,$F0,$15,$68 .db $DA,$90,$0A,$6D,$FD,$AE,$60,$96 .db $E8,$0E,$FD,$2F,$E3,$E4,$48,$8D .db $5C,$3F,$8F,$06,$F2,$13,$F4,$90 .db $F0,$06,$E4,$48,$24,$1D,$F0,$2D .db $E7,$30,$68,$DD,$D0,$40,$E4,$48 .db $24,$1D,$F0,$0B,$8F,$04,$10,$3F .db $60,$12,$6E,$10,$FA,$2F,$16,$3F .db $60,$12,$3F,$5E,$12,$D4,$91,$3F .db $5E,$12,$D4,$90,$3F,$5E,$12,$60 .db $84,$43,$3F,$5D,$0F,$F4,$91,$F0 .db $04,$9B,$91,$2F,$11,$E4,$1D,$24 .db $48,$D0,$0B,$E2,$13,$E8,$B0,$8D .db $02,$9B,$90,$3F,$75,$10,$F5,$B1 .db $02,$FD,$F5,$B0,$02,$DA,$10,$F4 .db $A1,$F0,$09,$F5,$40,$03,$74,$A0 .db $F0,$06,$BB,$A0,$E3,$13,$52,$6F .db $F5,$41,$03,$F0,$1D,$75,$10,$01 .db $D0,$07,$F5,$51,$03,$D4,$A1,$2F .db $11,$F5,$10,$01,$F0,$02,$F4,$A1 .db $60,$95,$50,$03,$D4,$A1,$40,$BB .db $10,$20,$F5,$30,$03,$60,$95,$31 .db $03,$D5,$30,$03,$C4,$12,$1C,$1C .db $90,$02,$48,$FF,$FD,$F4,$A1,$68 .db $F1,$B0,$06,$CF,$DD,$8D,$00,$2F .db $03,$28,$0F,$CF,$F3,$12,$06,$DA .db $12,$BA,$0E,$9A,$12,$7A,$10,$DA .db $10,$5F,$34,$06,$F2,$13,$F4,$B1 .db $F0,$09,$F5,$70,$03,$DE,$B0,$03 .db $3F,$2D,$12,$F5,$81,$02,$FD,$F5 .db $80,$02,$DA,$10,$F4,$81,$D0,$05 .db $E3,$13,$0C,$2F,$0D,$F5,$91,$02 .db $FD,$F5,$90,$02,$3F,$01,$12,$3F .db $36,$10,$F2,$13,$F5,$B1,$02,$FD .db $F5,$B0,$02,$DA,$10,$F4,$90,$F0 .db $0E,$F4,$91,$D0,$0A,$F5,$C1,$02 .db $FD,$F5,$C0,$02,$3F,$FF,$11,$F4 .db $A1,$D0,$04,$E3,$13,$AB,$6F,$F5 .db $40,$03,$DE,$A0,$F6,$EB,$49,$F5 .db $31,$03,$CF,$DD,$60,$95,$30,$03 .db $5F,$70,$11,$E2,$13,$DA,$16,$CB .db $12,$F3,$12,$06,$BA,$0E,$9A,$16 .db $DA,$16,$EB,$49,$E4,$16,$CF,$CB .db $14,$8F,$00,$15,$EB,$49,$E4,$17 .db $CF,$7A,$14,$F3,$12,$06,$DA,$14 .db $BA,$0E,$9A,$14,$7A,$10,$DA,$10 .db $6F,$E2,$13,$EB,$49,$F5,$62,$03 .db $CF,$DD,$60,$95,$60,$03,$1C,$90 .db $02,$48,$FF,$FB,$B1,$CF,$F5,$11 .db $02,$CF,$DD,$48,$FF,$80,$95,$11 .db $02,$FD,$F5,$41,$02,$CF,$E4,$57 .db $CF,$DD,$CF,$DD,$D5,$71,$03,$6F .db $F8,$46,$E7,$30,$BB,$30,$D0,$02 .db $BB,$31,$FD,$6F,$33,$66,$80,$99 .db $B3,$CC,$E6,$FF,$08,$12,$1B,$24 .db $2C,$35,$3E,$47,$51,$5A,$62,$6B .db $7D,$8F,$A1,$B3,$00,$01,$03,$07 .db $0D,$15,$1E,$29,$34,$42,$51,$5E .db $67,$6E,$73,$77,$7A,$7C,$7D,$7E .db $7F,$7F,$7F,$00,$00,$2F,$60,$00 .db $00,$00,$80,$60,$02,$0C,$1C,$2C .db $3C,$6C,$0D,$2D,$3D,$4D,$5D,$6D .db $7D,$FF,$08,$17,$24,$24,$17,$08 .db $FF,$7F,$00,$00,$00,$00,$00,$00 .db $00,$8D,$00,$1C,$CD,$18,$9E,$5D .db $F6,$DA,$12,$C4,$16,$F6,$D9,$12 .db $2F,$04,$4B,$16,$7C,$3D,$C8,$06 .db $D0,$F8,$EB,$16,$6F,$BE,$10,$BD .db $11,$CB,$12,$E9,$13,$18,$15,$59 .db $16,$AD,$17,$16,$19,$94,$1A,$28 .db $1C,$D5,$1D,$9B,$1F,$00,$E8,$AA .db $C5,$F4,$00,$E8,$BB,$C5,$F5,$00 .db $E5,$F4,$00,$68,$CC,$D0,$F9,$2F .db $20,$EC,$F4,$00,$D0,$FB,$5E,$F4 .db $00,$D0,$0F,$E5,$F5,$00,$CC,$F4 .db $00,$D7,$14,$FC,$D0,$F0,$AB,$15 .db $2F,$EC,$10,$EA,$5E,$F4,$00,$10 .db $E5,$E5,$F6,$00,$EC,$F7,$00,$DA .db $14,$EC,$F4,$00,$E5,$F5,$00,$CC .db $F4,$00,$D0,$CD,$CD,$31,$C9,$F1 .db $00,$6F,$6B,$0A,$70,$55,$70,$70 .db $00,$10,$06,$DF,$E0,$B8,$02,$70 .db $70,$00,$10,$00,$FE,$0A,$B8,$03 .db $70,$70,$00,$10,$03,$FE,$11,$B8 .db $03,$70,$70,$00,$10,$04,$FE,$6A .db $B8,$03,$70,$70,$00,$10,$00,$FE .db $11,$B8,$03,$70,$70,$00,$10,$08 .db $FE,$6A,$B8,$03,$70,$70,$00,$10 .db $02,$FE,$6A,$B8,$06,$70,$70,$00 .db $10,$06,$FE,$6A,$B8,$05,$70,$70 .db $00,$10,$00,$CA,$D7,$B8,$03,$70 .db $70,$00,$10,$10,$0E,$6A,$7F,$04 .db $70,$70,$00,$10,$0B,$FE,$6A,$B8 .db $02,$70,$70,$00,$10,$0B,$FF,$E0 .db $B8,$05,$70,$70,$00,$10,$0E,$FE .db $00,$7F,$06,$70,$70,$00,$10,$00 .db $B6,$30,$30,$06,$70,$70,$00,$10 .db $12,$0E,$6A,$70,$03,$70,$70,$00 .db $10,$01,$FA,$6A,$70,$03,$70,$70 .db $00,$10,$02,$FE,$16,$70,$03,$70 .db $70,$00,$10,$13,$0E,$16,$7F,$03 .db $70,$70,$00,$10,$02,$FE,$33,$7F .db $03,$B6,$5E,$07,$5D,$F9,$5C,$9C .db $5E,$08,$5E,$8C,$5C,$BE,$5E,$00 .db $5B,$15,$5F,$7D,$5B,$6C,$5B,$1C .db $5D,$1C,$5D,$31,$5B,$E9,$5E,$15 .db $5F,$25,$5F,$37,$5F,$A4,$5B,$BB .db $5D,$4E,$5A,$1B,$5A,$14,$5A,$ED .db $59,$E1,$59,$91,$59,$63,$59,$09 .db $59,$F6,$5B,$F5,$58,$E0,$58,$98 .db $59,$DF,$5C,$CC,$58,$D6,$58,$87 .db $58,$7D,$58,$58,$58,$51,$58,$04 .db $58,$F2,$57,$EA,$57,$95,$57,$64 .db $57,$E3,$56,$EB,$56,$F3,$56,$FB .db $56,$03,$57,$0B,$57,$13,$57,$1B .db $57,$EF,$5C,$CC,$5C,$94,$5C,$35 .db $5C,$1C,$5C,$8D,$5B,$4F,$5D,$EE .db $5A,$46,$5B,$E5,$5D,$74,$5C,$3B .db $5E,$6A,$5D,$5C,$5B,$83,$5E,$14 .db $5E,$27,$5B,$27,$5B,$9B,$5C,$A2 .db $5C,$A9,$5C,$B0,$5C,$B7,$5C,$BE .db $5C,$C5,$5C,$DD,$5A,$DF,$5A,$B7 .db $5B,$D0,$5B,$D3,$5A,$6A,$5A,$5B .db $5A,$30,$59,$26,$5B,$FA,$57,$26 .db $5B,$18,$58,$D8,$57,$A7,$57,$54 .db $57,$23,$57,$D7,$56,$DA,$12,$0C .db $3C,$A4,$A7,$AA,$AD,$B0,$30,$B3 .db $00,$DA,$92,$0D,$12,$50,$00,$A4 .db $00,$DA,$92,$0D,$12,$46,$0A,$A4 .db $00,$DA,$92,$0D,$12,$3C,$14,$A4 .db $00,$DA,$92,$0D,$12,$32,$1E,$A4 .db $00,$DA,$92,$0D,$12,$1E,$32,$A4 .db $00,$DA,$92,$0D,$12,$14,$3C,$A4 .db $00,$DA,$92,$0D,$12,$0A,$46,$A4 .db $00,$DA,$92,$0D,$12,$00,$50,$A4 .db $00,$DA,$0A,$0C,$46,$46,$9C,$24 .db $0E,$08,$9C,$DA,$11,$24,$00,$00 .db $A4,$06,$08,$08,$A1,$12,$0C,$0C .db $9F,$06,$0E,$10,$9C,$0C,$14,$15 .db $9B,$06,$18,$17,$99,$12,$0C,$11 .db $97,$12,$0B,$08,$93,$0C,$04,$02 .db $92,$00,$DA,$0D,$30,$0F,$DD,$BE .db $00,$30,$BC,$1B,$0B,$EB,$00,$18 .db $BB,$00,$DA,$0A,$0C,$00,$72,$9C .db $24,$0E,$08,$9C,$DA,$11,$24,$00 .db $00,$A4,$06,$00,$0C,$A1,$12,$02 .db $10,$9F,$06,$04,$16,$9C,$0C,$00 .db $1A,$9B,$06,$04,$21,$99,$12,$02 .db $14,$97,$12,$01,$12,$93,$0C,$04 .db $02,$92,$00,$DA,$0D,$30,$00,$14 .db $DD,$BE,$00,$30,$BC,$1B,$00,$11 .db $EB,$00,$18,$BB,$00,$DA,$0A,$0C .db $72,$00,$9A,$24,$08,$0E,$9A,$DA .db $11,$24,$00,$00,$A4,$06,$0C,$00 .db $A1,$12,$10,$02,$9F,$06,$16,$04 .db $9C,$0C,$1A,$00,$9B,$06,$21,$04 .db $99,$12,$14,$02,$97,$12,$12,$01 .db $93,$0C,$04,$02,$92,$00,$DA,$0D .db $30,$14,$00,$DD,$BE,$00,$30,$BC .db $1B,$11,$00,$EB,$00,$18,$BB,$00 .db $DA,$05,$06,$54,$93,$18,$93,$00 .db $DA,$12,$08,$3C,$B4,$24,$B0,$00 .db $DA,$0D,$27,$28,$DD,$BC,$00,$24 .db $9F,$00,$DA,$05,$08,$54,$DD,$98 .db $00,$08,$90,$08,$EB,$00,$08,$A8 .db $15,$EB,$00,$12,$95,$00,$DA,$11 .db $04,$28,$92,$04,$32,$95,$04,$3C .db $98,$04,$46,$9B,$04,$50,$9E,$04 .db $4A,$9D,$04,$46,$9C,$04,$41,$9B .db $04,$3C,$9A,$04,$37,$99,$04,$32 .db $98,$04,$2D,$97,$04,$28,$96,$04 .db $23,$95,$04,$1E,$94,$04,$19,$93 .db $04,$14,$92,$04,$0F,$91,$00,$DA .db $92,$0D,$0E,$1E,$A4,$00,$DA,$98 .db $0F,$03,$32,$BC,$03,$00,$BC,$03 .db $50,$BC,$03,$00,$BC,$03,$3C,$BC .db $03,$00,$BC,$03,$28,$BC,$03,$00 .db $BC,$03,$1E,$BC,$03,$00,$BC,$03 .db $14,$BC,$00,$DA,$0A,$0F,$54,$DD .db $A4,$00,$0C,$9F,$00,$DA,$06,$03 .db $54,$AB,$A6,$03,$46,$AD,$A8,$03 .db $38,$AF,$A9,$03,$2A,$B0,$AB,$03 .db $00,$B0,$03,$54,$AB,$A6,$03,$46 .db $AD,$A8,$03,$38,$AF,$A9,$03,$2A .db $B0,$AB,$03,$00,$B0,$03,$54,$AB .db $A6,$03,$46,$AD,$A8,$03,$38,$AF .db $A9,$03,$2A,$B0,$AB,$03,$20,$B2 .db $AD,$03,$16,$B4,$AF,$03,$0C,$B5 .db $B0,$00,$DA,$12,$0C,$32,$AB,$AF .db $B2,$30,$B7,$00,$DA,$12,$0C,$32 .db $DD,$B5,$00,$06,$B7,$00,$DA,$0E .db $0F,$32,$DD,$9A,$00,$0C,$AB,$0F .db $00,$00,$8C,$1B,$32,$DD,$A4,$00 .db $18,$A1,$00,$DA,$06,$08,$32,$DD .db $A4,$00,$08,$B7,$08,$EB,$00,$08 .db $AB,$16,$EB,$00,$12,$B7,$00,$DA .db $12,$06,$38,$38,$B7,$06,$3F,$31 .db $B5,$06,$29,$46,$B2,$06,$4D,$23 .db $AF,$06,$38,$38,$B5,$06,$3F,$31 .db $B2,$06,$2A,$46,$BB,$06,$46,$1C .db $AD,$30,$23,$4D,$AB,$00,$DA,$11 .db $0C,$00,$54,$8C,$08,$1C,$0E,$8C .db $0C,$46,$38,$8C,$12,$38,$54,$8D .db $0C,$0E,$1C,$8B,$12,$2A,$1C,$89 .db $18,$1C,$0E,$8B,$08,$0E,$1C,$8C .db $0C,$1C,$0E,$89,$06,$2A,$15,$8B .db $08,$0E,$1C,$8C,$30,$1C,$1C,$8B .db $FF,$DA,$8E,$03,$06,$23,$00,$98 .db $98,$06,$1C,$07,$98,$98,$08,$19 .db $0A,$98,$06,$15,$0E,$98,$98,$08 .db $11,$11,$98,$98,$06,$0E,$1F,$98 .db $06,$09,$18,$98,$98,$08,$07,$1C .db $98,$06,$00,$23,$98,$98,$00,$DA .db $11,$60,$00,$54,$98,$00,$DA,$8F .db $08,$06,$28,$93,$DA,$91,$08,$06 .db $32,$C3,$06,$00,$93,$DA,$8E,$08 .db $06,$26,$C3,$DA,$90,$08,$06,$2D .db $C3,$06,$00,$93,$DA,$8D,$08,$06 .db $18,$C3,$DA,$8F,$08,$06,$1E,$C3 .db $06,$00,$93,$DA,$8C,$08,$06,$14 .db $C3,$DA,$8E,$08,$06,$19,$C3,$06 .db $00,$93,$DA,$8B,$08,$06,$14,$C3 .db $DA,$8D,$08,$06,$19,$C3,$00,$DA .db $0C,$04,$46,$B5,$DA,$9C,$10,$18 .db $2A,$C3,$00,$DA,$11,$0C,$46,$A4 .db $06,$30,$A3,$06,$18,$A1,$0C,$2A .db $9D,$12,$38,$9A,$18,$3F,$99,$0C .db $46,$9A,$12,$54,$97,$18,$59,$95 .db $18,$54,$94,$24,$1C,$93,$30,$0E .db $92,$00,$DA,$91,$0D,$60,$15,$AB .db $00,$DA,$0B,$04,$46,$3F,$AB,$9A .db $A8,$04,$3F,$46,$95,$8B,$A6,$04 .db $2A,$3F,$9D,$A6,$90,$04,$38,$1C .db $A4,$89,$9C,$04,$0E,$31,$9F,$8B .db $95,$04,$31,$07,$8C,$82,$90,$04 .db $07,$23,$8E,$84,$85,$04,$1C,$00 .db $82,$87,$84,$00,$DA,$02,$06,$38 .db $B7,$B2,$B7,$B9,$BB,$BE,$18,$C3 .db $00,$DA,$05,$0C,$54,$DD,$9C,$00 .db $0C,$9F,$0F,$EB,$00,$0C,$90,$00 .db $DA,$03,$10,$15,$3F,$DD,$A1,$00 .db $10,$B7,$18,$EB,$00,$18,$AD,$12 .db $38,$15,$DD,$A8,$00,$12,$AB,$0C .db $EB,$00,$0C,$9F,$08,$0E,$31,$DD .db $A4,$00,$08,$A8,$06,$EB,$00,$06 .db $9C,$0C,$2A,$0E,$DD,$A1,$00,$0C .db $A4,$06,$EB,$00,$06,$98,$0C,$07 .db $23,$DD,$9C,$00,$0C,$9F,$06,$EB .db $00,$06,$93,$0C,$1B,$04,$DD,$98 .db $00,$0C,$9C,$06,$EB,$00,$06,$90 .db $0C,$04,$18,$DD,$95,$00,$0C,$98 .db $06,$EB,$00,$06,$8C,$6C,$00,$A5 .db $15,$38,$38,$DD,$AB,$00,$12,$BC .db $00,$DA,$06,$4B,$46,$DD,$90,$00 .db $48,$9F,$00,$DA,$05,$DA,$07,$06 .db $46,$A9,$06,$00,$B5,$06,$46,$A8 .db $06,$00,$B5,$00,$DA,$0A,$1B,$54 .db $DD,$A4,$00,$18,$9F,$DA,$02,$06 .db $B4,$B7,$B4,$0C,$B7,$00,$DA,$05 .db $08,$54,$DD,$9F,$00,$08,$A3,$12 .db $EB,$00,$12,$AB,$06,$3F,$EB,$00 .db $06,$A8,$11,$31,$EB,$00,$11,$AB .db $08,$23,$EB,$00,$08,$A8,$0F,$15 .db $EB,$00,$0C,$AB,$00,$DA,$02,$0C .db $54,$B4,$B0,$B4,$18,$B0,$00,$DA .db $03,$03,$23,$9F,$93,$A0,$94,$A1 .db $95,$A2,$96,$A3,$97,$A4,$98,$A5 .db $99,$A6,$9A,$00,$DA,$05,$0C,$1C .db $DD,$A1,$00,$0C,$9F,$18,$2A,$EB .db $00,$18,$BC,$0F,$15,$EB,$00,$0C .db $B0,$00,$DA,$01,$0C,$2A,$DD,$A1 .db $00,$0C,$9F,$15,$59,$EB,$00,$12 .db $C1,$00,$DA,$06,$0F,$31,$DD,$A4 .db $00,$0C,$B7,$0F,$00,$00,$8C,$18 .db $31,$B4,$00,$DA,$02,$06,$38,$B4 .db $B7,$12,$00,$C6,$06,$38,$B4,$B7 .db $B6,$BA,$00,$DA,$05,$0F,$54,$DD .db $8C,$00,$0C,$90,$0C,$00,$00,$8C .db $DA,$01,$1B,$59,$DD,$96,$00,$18 .db $93,$00,$DA,$06,$06,$38,$DD,$98 .db $00,$06,$AD,$0F,$38,$EB,$00,$0C .db $A4,$18,$00,$A4,$00,$DA,$06,$03 .db $54,$B5,$B4,$B5,$B4,$03,$46,$B5 .db $B4,$03,$38,$B5,$B4,$03,$2A,$B5 .db $B4,$03,$15,$B5,$B4,$00,$DA,$0F .db $0C,$2A,$AE,$B8,$0C,$00,$B8,$0C .db $2A,$B8,$18,$2A,$B8,$0C,$31,$AF .db $B9,$0C,$00,$B9,$0C,$31,$B9,$18 .db $31,$B9,$0C,$38,$BA,$0C,$00,$BA .db $30,$38,$BA,$00,$DA,$0F,$0C,$2A .db $A9,$B2,$0C,$00,$B2,$0C,$2A,$B2 .db $18,$2A,$B2,$0C,$31,$AA,$B3,$0C .db $00,$B3,$0C,$31,$B3,$18,$31,$B3 .db $0C,$38,$B4,$0C,$00,$B4,$30,$38 .db $B4,$00,$DA,$06,$0C,$38,$0E,$DD .db $A4,$00,$0C,$B7,$18,$1C,$1C,$EB .db $00,$18,$B0,$34,$0E,$38,$EB,$00 .db $30,$A4,$00,$DA,$03,$03,$00,$38 .db $AD,$AB,$03,$0E,$23,$A8,$A4,$03 .db $15,$15,$A3,$9F,$03,$1C,$00,$9D .db $9A,$03,$38,$00,$AD,$AB,$03,$23 .db $0E,$A8,$A4,$03,$15,$15,$A3,$9F .db $03,$00,$1C,$9D,$9A,$03,$00,$38 .db $AD,$AB,$03,$0E,$23,$A8,$A4,$03 .db $15,$15,$A3,$9F,$03,$1C,$00,$9D .db $9A,$00,$DA,$06,$09,$38,$DD,$9F .db $00,$06,$AF,$09,$38,$DD,$9F,$00 .db $06,$AF,$09,$38,$DD,$9F,$00,$06 .db $AF,$00,$DA,$02,$03,$4D,$AC,$B0 .db $B6,$00,$DA,$04,$06,$59,$AE,$B5 .db $00,$DA,$04,$06,$59,$B0,$B7,$00 .db $DA,$04,$06,$59,$B2,$B9,$00,$DA .db $04,$06,$59,$B4,$BB,$00,$DA,$04 .db $06,$59,$B6,$BD,$00,$DA,$04,$06 .db $59,$B8,$BF,$00,$DA,$04,$06,$59 .db $BA,$C1,$00,$DA,$04,$06,$59,$BC .db $C3,$00,$DA,$07,$09,$31,$DD,$98 .db $00,$06,$9F,$DA,$0C,$1B,$54,$DD .db $A4,$00,$0C,$98,$00,$DA,$06,$0F .db $23,$DD,$98,$00,$0C,$93,$0F,$DD .db $9C,$00,$0C,$9E,$00,$DA,$0A,$07 .db $23,$DD,$93,$00,$04,$B7,$00,$DA .db $04,$06,$3F,$A4,$03,$AB,$AC,$A5 .db $AC,$AD,$A6,$AD,$AE,$DA,$04,$06 .db $3F,$A7,$03,$AE,$AF,$A8,$AF,$B0 .db $A9,$B0,$B1,$AA,$B1,$B2,$AB,$B2 .db $B3,$00,$DA,$02,$0F,$46,$1C,$DD .db $98,$00,$0C,$9F,$0F,$1C,$46,$DD .db $A4,$00,$0C,$AB,$0F,$46,$1C,$DD .db $A0,$00,$0C,$A7,$0F,$1C,$46,$DD .db $AC,$00,$0C,$B3,$0F,$46,$1C,$DD .db $A2,$00,$0C,$A9,$0F,$1C,$46,$DD .db $AE,$00,$0C,$B5,$00,$DA,$02,$09 .db $1C,$1C,$B0,$08,$19,$1F,$AE,$07 .db $1F,$19,$AC,$06,$15,$23,$AA,$05 .db $23,$15,$A8,$04,$0E,$2A,$A6,$00 .db $DA,$03,$0C,$15,$07,$DD,$95,$00 .db $0C,$A4,$06,$EB,$00,$06,$97,$0C .db $07,$1C,$DD,$99,$00,$0C,$A8,$06 .db $EB,$00,$06,$9A,$0C,$23,$0E,$DD .db $9D,$00,$0C,$AD,$06,$EB,$00,$06 .db $9D,$0C,$0E,$31,$DD,$A1,$00,$0C .db $B0,$06,$EB,$00,$06,$A0,$0C,$38 .db $15,$DD,$A5,$00,$0C,$B4,$06,$EB .db $00,$06,$A3,$0C,$15,$3F,$DD,$A9 .db $00,$0C,$B9,$09,$EB,$00,$06,$AD .db $00,$DA,$05,$0C,$2A,$0E,$DD,$A1 .db $00,$0C,$98,$06,$EB,$00,$06,$A3 .db $0C,$0E,$31,$DD,$A4,$00,$0C,$9B .db $06,$EB,$00,$06,$A6,$0C,$3F,$15 .db $DD,$A7,$00,$0C,$9E,$09,$EB,$00 .db $06,$A8,$00,$DA,$02,$03,$46,$98 .db $9C,$9F,$A4,$9F,$A4,$A8,$AB,$B0 .db $AB,$A0,$A4,$A7,$AC,$A7,$AC,$B0 .db $B3,$B8,$B3,$A2,$A6,$A9,$AE,$A9 .db $AE,$B2,$B5,$BA,$B5,$00,$DA,$02 .db $08,$59,$B4,$B7,$C0,$BC,$BE,$0C .db $C3,$00,$DA,$01,$03,$59,$A4,$A6 .db $A7,$A8,$03,$59,$A9,$AA,$AB,$AC .db $03,$4D,$A9,$AA,$AB,$AC,$03,$46 .db $A9,$AA,$AB,$AC,$03,$3F,$A9,$AA .db $AB,$AC,$03,$38,$A9,$AA,$AB,$AC .db $00,$DA,$03,$03,$1C,$1C,$A3,$A1 .db $9F,$9D,$A3,$06,$A1,$03,$1C,$1C .db $A4,$A3,$A1,$A0,$A4,$06,$A3,$03 .db $2A,$0E,$A8,$A6,$A5,$A4,$03,$0E .db $23,$A8,$A6,$A5,$A4,$03,$23,$0E .db $A8,$A6,$A5,$A4,$03,$0E,$1C,$A8 .db $A6,$A5,$A4,$03,$1C,$0E,$A8,$A6 .db $A5,$A4,$03,$07,$15,$A8,$A6,$A5 .db $A4,$03,$15,$07,$A8,$A6,$A5,$A4 .db $00,$DA,$04,$03,$46,$AD,$08,$AC .db $03,$46,$AF,$08,$B0,$03,$3F,$B1 .db $B3,$B4,$B5,$03,$38,$B3,$B5,$B6 .db $B7,$00,$DA,$01,$03,$3F,$B2,$08 .db $B3,$03,$3F,$B5,$B6,$B7,$B8,$03 .db $38,$B5,$B6,$B7,$B8,$03,$31,$B5 .db $B6,$B7,$B8,$00,$DA,$02,$08,$46 .db $BB,$24,$C0,$00,$DA,$07,$04,$2A .db $2A,$BB,$C0,$04,$31,$23,$AB,$A6 .db $04,$23,$31,$98,$9A,$04,$38,$1C .db $9C,$91,$04,$1C,$38,$95,$97,$04 .db $3F,$15,$90,$8C,$04,$15,$3F,$8B .db $82,$04,$46,$0E,$85,$87,$00,$DA .db $0A,$03,$38,$9D,$9E,$9F,$A0,$A1 .db $A2,$A3,$A4,$0C,$00,$9C,$03,$38 .db $9F,$A0,$9F,$A0,$06,$9F,$0C,$00 .db $AB,$03,$38,$A3,$A4,$A3,$A4,$0C .db $00,$AB,$03,$38,$A6,$A7,$A6,$A7 .db $06,$A6,$00,$DA,$0A,$06,$54,$98 .db $06,$00,$8B,$1B,$54,$DD,$9F,$00 .db $18,$98,$00,$DA,$0B,$08,$38,$A4 .db $06,$23,$A4,$06,$1C,$A4,$06,$15 .db $A4,$06,$07,$A4,$FF,$DA,$0B,$06 .db $15,$A4,$06,$1C,$A4,$08,$2A,$A4 .db $18,$38,$A4,$00,$00,$FE,$6A,$B8 .db $06,$01,$FA,$6A,$B8,$03,$02,$AE .db $2F,$B8,$04,$03,$FE,$6A,$B8,$03 .db $04,$A9,$6A,$B8,$03,$07,$AE,$26 .db $B8,$07,$08,$FA,$6A,$B8,$03,$09 .db $9E,$1F,$B8,$03,$05,$AE,$26,$B8 .db $1E,$0A,$EE,$6A,$B8,$02,$0B,$FE .db $6A,$B8,$08,$01,$F7,$6A,$B8,$03 .db $10,$0E,$6A,$7F,$04,$0C,$FE,$6A .db $B8,$03,$0D,$AE,$26,$B8,$07,$12 .db $8E,$E0,$B8,$03,$0C,$FE,$70,$B8 .db $03,$11,$FE,$6A,$B8,$05,$01,$E9 .db $6A,$B8,$03,$0F,$0F,$6A,$7F,$03 .db $A8,$06,$0E,$6A,$40,$07,$A4,$06 .db $8C,$E0,$70,$07,$A1,$0E,$FE,$6A .db $B8,$07,$A4,$0E,$FE,$6A,$B8,$08 .db $A4,$0B,$FE,$6A,$B8,$02,$9C,$0B .db $7E,$6A,$7F,$08,$A6,$0B,$7E,$6A .db $30,$08,$A6,$0E,$0E,$6A,$7F,$03 .db $A1,$1D,$16,$60,$13,$AA,$14,$18 .db $14,$42,$14,$6C,$14,$B0,$13,$72 .db $13,$DC,$13,$30,$15,$44,$15,$80 .db $13,$90,$13,$90,$13,$A0,$13,$FF .db $00,$74,$13,$00,$00,$09,$1D,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$0D,$1D,$35 .db $1D,$4B,$1D,$63,$1D,$00,$00,$00 .db $00,$00,$00,$75,$1D,$83,$1D,$BE .db $1D,$D6,$1D,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$BC,$13,$BC .db $13,$CC,$13,$FF,$00,$B0,$13,$00 .db $00,$EE,$1D,$37,$1E,$20,$1E,$62 .db $1E,$09,$1E,$4C,$1E,$00,$00,$00 .db $00,$7E,$1E,$B5,$1E,$A3,$1E,$D6 .db $1E,$91,$1E,$C5,$1E,$00,$00,$00 .db $00,$E8,$13,$F8,$13,$08,$14,$FF .db $00,$DE,$13,$00,$00,$EE,$1E,$4E .db $1F,$02,$1F,$BC,$1F,$12,$1F,$7F .db $1F,$00,$00,$00,$00,$22,$1F,$4E .db $1F,$2A,$1F,$BC,$1F,$31,$1F,$7F .db $1F,$00,$00,$00,$00,$38,$1F,$4E .db $1F,$40,$1F,$BC,$1F,$47,$1F,$7F .db $1F,$00,$00,$00,$00,$32,$14,$22 .db $14,$FF,$00,$18,$14,$00,$00,$19 .db $21,$02,$21,$4E,$21,$73,$21,$00 .db $00,$00,$00,$00,$00,$39,$22,$B9 .db $21,$9F,$21,$E9,$21,$11,$22,$00 .db $00,$00,$00,$00,$00,$39,$22,$4C .db $14,$5C,$14,$FF,$00,$42,$14,$00 .db $00,$D6,$1F,$15,$20,$50,$20,$77 .db $20,$00,$00,$00,$00,$00,$00,$00 .db $00,$A7,$20,$C2,$20,$DA,$20,$ED .db $20,$00,$00,$00,$00,$00,$00,$00 .db $00,$7A,$14,$8A,$14,$8A,$14,$9A .db $14,$FF,$00,$6E,$14,$00,$00,$00 .db $00,$00,$00,$48,$23,$B0,$23,$63 .db $23,$00,$00,$00,$00,$D3,$23,$52 .db $22,$76,$22,$48,$23,$B0,$23,$63 .db $23,$BC,$22,$99,$22,$D3,$23,$DF .db $22,$FA,$22,$7B,$23,$B0,$23,$8E .db $23,$2E,$23,$14,$23,$09,$24,$C0 .db $14,$D0,$14,$E0,$14,$F0,$14,$00 .db $15,$10,$15,$10,$15,$20,$15,$FF .db $00,$AC,$14,$00,$00,$48,$24,$71 .db $24,$00,$00,$95,$24,$AF,$24,$00 .db $00,$00,$00,$00,$00,$C3,$24,$F9 .db $24,$6D,$25,$47,$25,$93,$25,$00 .db $00,$00,$00,$00,$00,$D7,$25,$00 .db $26,$65,$26,$3F,$26,$8B,$26,$00 .db $00,$B9,$25,$00,$00,$B0,$26,$CC .db $26,$51,$27,$2A,$27,$00,$00,$00 .db $00,$00,$00,$00,$00,$65,$27,$85 .db $27,$09,$28,$E3,$27,$00,$00,$00 .db $00,$00,$00,$00,$00,$1D,$28,$42 .db $28,$7E,$28,$6D,$28,$00,$00,$00 .db $00,$00,$00,$00,$00,$8F,$28,$CE .db $28,$57,$29,$0C,$29,$31,$29,$00 .db $00,$00,$00,$00,$00,$34,$15,$00 .db $00,$51,$1C,$93,$1C,$B2,$1C,$D1 .db $1C,$00,$00,$74,$1C,$00,$00,$EF .db $1C,$BE,$15,$CE,$15,$DE,$15,$BE .db $15,$CE,$15,$DE,$15,$BE,$15,$CE .db $15,$DE,$15,$BE,$15,$CE,$15,$DE .db $15,$BE,$15,$CE,$15,$DE,$15,$BE .db $15,$CE,$15,$DE,$15,$BE,$15,$CE .db $15,$DE,$15,$BE,$15,$CE,$15,$DE .db $15,$BE,$15,$EE,$15,$FE,$15,$FE .db $15,$0E,$16,$1E,$16,$0E,$16,$2E .db $16,$0E,$16,$1E,$16,$0E,$16,$2E .db $16,$3E,$16,$4E,$16,$3E,$16,$5E .db $16,$FE,$15,$FE,$15,$6E,$16,$7E .db $16,$6E,$16,$8E,$16,$6E,$16,$7E .db $16,$6E,$16,$8E,$16,$3E,$16,$4E .db $16,$3E,$16,$5E,$16,$6E,$16,$7E .db $16,$6E,$16,$8E,$16,$FF,$00,$78 .db $15,$00,$00,$6A,$19,$62,$17,$3B .db $17,$26,$18,$95,$19,$1F,$19,$40 .db $19,$F9,$18,$6A,$19,$B0,$17,$89 .db $17,$94,$18,$95,$19,$1F,$19,$40 .db $19,$F9,$18,$29,$1A,$ED,$16,$C6 .db $16,$4A,$18,$51,$1A,$E1,$19,$03 .db $1A,$BB,$19,$8A,$1B,$79,$1B,$4E .db $1B,$64,$1B,$95,$19,$1F,$19,$6A .db $19,$F9,$18,$6E,$18,$14,$17,$9E .db $16,$D7,$17,$95,$19,$1F,$19,$6A .db $19,$F9,$18,$6A,$19,$CF,$18,$B8 .db $18,$E5,$18,$95,$19,$1F,$19,$00 .db $00,$F9,$18,$6A,$19,$8D,$1A,$77 .db $1A,$E5,$18,$95,$19,$1F,$19,$00 .db $00,$F9,$18,$6A,$19,$B6,$1A,$A2 .db $1A,$C9,$1A,$95,$19,$1F,$19,$00 .db $00,$F9,$18,$6A,$19,$3F,$1B,$DD .db $1A,$F2,$1A,$95,$19,$1F,$19,$06 .db $1B,$F9,$18,$6A,$19,$3F,$1B,$1C .db $1B,$2E,$1B,$95,$19,$1F,$19,$06 .db $1B,$F9,$18,$6A,$19,$79,$1B,$4E .db $1B,$64,$1B,$95,$19,$1F,$19,$8A .db $1B,$F9,$18,$6A,$19,$C6,$1B,$9D .db $1B,$B2,$1B,$95,$19,$1F,$19,$00 .db $00,$F9,$18,$6A,$19,$02,$1C,$DB .db $1B,$EF,$1B,$95,$19,$1F,$19,$00 .db $00,$F9,$18,$6A,$19,$3E,$1C,$17 .db $1C,$29,$1C,$95,$19,$1F,$19,$00 .db $00,$F9,$18,$DA,$04,$DB,$0A,$0C .db $6C,$B0,$C7,$C7,$AB,$C7,$C7,$A8 .db $C7,$C7,$AD,$C7,$18,$AF,$0C,$AE .db $AD,$C7,$10,$AB,$B4,$B7,$0C,$B9 .db $C7,$B5,$B7,$C7,$B4,$C7,$B0,$B2 .db $24,$AF,$00,$DA,$03,$DB,$0A,$0C .db $6C,$A8,$C7,$A8,$A8,$C7,$A8,$C7 .db $A8,$C7,$A8,$C7,$A8,$C7,$A8,$A8 .db $A8,$0C,$A8,$C7,$A8,$C7,$C7,$A9 .db $C7,$A9,$A8,$C7,$C7,$C7,$C7,$C7 .db $C7,$C7,$DA,$03,$DB,$0A,$0C,$6C .db $B0,$C7,$B4,$AF,$C7,$B4,$C7,$AD .db $C7,$B4,$C7,$AF,$C7,$AF,$B0,$B2 .db $0C,$B0,$C7,$B0,$C7,$C7,$B0,$C7 .db $B0,$B0,$C7,$C7,$C7,$C7,$C7,$C7 .db $C7,$DA,$03,$DB,$14,$0C,$69,$B0 .db $C7,$B4,$AF,$C7,$B4,$C7,$AD,$C7 .db $B4,$C7,$AF,$C7,$AF,$B0,$B2,$0C .db $B0,$C7,$B4,$AF,$C7,$B4,$C7,$AD .db $C7,$B4,$C7,$AF,$C7,$AF,$B0,$B2 .db $DA,$03,$DB,$0A,$0C,$6C,$AB,$C7 .db $AB,$AB,$C7,$AB,$C7,$AB,$C7,$AB .db $C7,$AB,$C7,$AB,$AB,$AB,$0C,$AB .db $C7,$AB,$AB,$C7,$AB,$C7,$AB,$C7 .db $AB,$C7,$AB,$C7,$AB,$AB,$AB,$DA .db $03,$DB,$0A,$0C,$6C,$B0,$C7,$B4 .db $AF,$C7,$B4,$C7,$AD,$C7,$B4,$C7 .db $AF,$C7,$AF,$B0,$B2,$0C,$B0,$C7 .db $B4,$AF,$C7,$B4,$C7,$AD,$C7,$B4 .db $C7,$AF,$C7,$AF,$B0,$B1,$DA,$03 .db $DB,$0A,$0C,$6C,$AD,$C7,$AD,$AD .db $C7,$AD,$C7,$AD,$C7,$AD,$C7,$AD .db $C7,$AD,$AD,$AD,$0C,$AD,$C7,$AD .db $AD,$C7,$AD,$C7,$AD,$C7,$AD,$C7 .db $AD,$C7,$AD,$AD,$AD,$DA,$03,$DB .db $0A,$0C,$6C,$B2,$C7,$B5,$B1,$C7 .db $B5,$C7,$B0,$C7,$B5,$C7,$AF,$C7 .db $AF,$B0,$B1,$0C,$B2,$C7,$B5,$B1 .db $C7,$B5,$C7,$B0,$C7,$B5,$C7,$AF .db $C7,$AF,$B0,$B2,$DA,$04,$DB,$0A .db $0C,$6C,$A8,$C7,$C7,$A4,$C7,$C7 .db $9F,$C7,$C7,$A4,$C7,$18,$A6,$0C .db $A5,$A4,$C7,$10,$A4,$AB,$AF,$0C .db $B0,$C7,$AD,$AF,$C7,$AB,$C7,$A8 .db $A9,$24,$A6,$DA,$04,$0C,$6C,$9F .db $C7,$C7,$9C,$C7,$C7,$98,$C7,$C7 .db $9D,$C7,$18,$9F,$0C,$9E,$9D,$C7 .db $60,$C7,$C7,$10,$9C,$A4,$A8,$0C .db $A9,$C7,$A6,$A8,$C7,$A4,$C7,$A1 .db $A3,$24,$9F,$DA,$0E,$0C,$6D,$8C .db $C6,$C6,$93,$93,$C6,$C6,$98,$98 .db $C6,$C6,$93,$93,$C6,$93,$C6,$8C .db $C6,$C6,$93,$93,$C6,$C6,$98,$C6 .db $98,$C6,$98,$93,$C6,$93,$C6,$DA .db $0E,$0C,$6D,$8C,$C6,$C6,$93,$93 .db $C6,$C6,$98,$98,$C6,$C6,$93,$93 .db $C6,$93,$C6,$8C,$C6,$8C,$C6,$C6 .db $8D,$C6,$8D,$8C,$C6,$C6,$93,$93 .db $C6,$93,$C6,$DA,$0E,$0C,$6D,$DB .db $0A,$8C,$C6,$C6,$8C,$90,$C6,$C6 .db $90,$91,$C6,$C6,$91,$92,$C6,$93 .db $C6,$8C,$C6,$C6,$8C,$90,$C6,$C6 .db $90,$91,$C6,$C6,$91,$92,$C6,$93 .db $C6,$DA,$0E,$0C,$6D,$8E,$C6,$C6 .db $95,$95,$C6,$C6,$9A,$9A,$C6,$C6 .db $95,$95,$C6,$95,$C6,$8E,$C6,$C6 .db $95,$95,$C6,$C6,$9A,$C6,$9A,$C6 .db $9A,$95,$C6,$95,$C6,$DA,$07,$DB .db $0A,$18,$6B,$C7,$0C,$B7,$B6,$B5 .db $B3,$C7,$B4,$C7,$AC,$AD,$B0,$C7 .db $AD,$B0,$B2,$00,$DA,$07,$DB,$0A .db $18,$6B,$C7,$0C,$B4,$B3,$B2,$AF .db $C7,$B0,$C7,$A8,$A9,$AB,$C7,$A4 .db $A8,$A9,$DA,$0E,$0C,$6D,$8C,$C6 .db $C6,$8C,$90,$C6,$C6,$90,$91,$C6 .db $C6,$91,$95,$C6,$98,$C6,$DA,$00 .db $DB,$14,$0C,$7C,$D2,$C6,$D2,$D2 .db $D2,$C6,$D2,$D2,$D2,$C6,$D2,$D2 .db $D2,$C6,$D2,$D2,$D2,$C6,$D2,$D2 .db $D2,$C6,$D2,$D2,$D2,$C6,$D2,$D2 .db $D2,$C6,$D2,$D2,$DA,$0C,$DB,$05 .db $18,$7C,$A9,$A9,$B0,$0C,$C6,$A9 .db $24,$B0,$0C,$A9,$18,$A9,$A9,$18 .db $A9,$A9,$B0,$0C,$C6,$A9,$24,$B0 .db $0C,$A9,$18,$A9,$A9,$DA,$02,$DB .db $00,$DE,$00,$00,$00,$0C,$15,$AB .db $AB,$C6,$B2,$AB,$AB,$C6,$B2,$C7 .db $B2,$C7,$B2,$AB,$AB,$C6,$B2,$AB .db $AB,$C6,$B2,$AB,$AB,$C6,$B2,$C7 .db $B2,$C7,$B2,$AB,$AB,$C6,$B2,$F0 .db $DA,$0C,$DB,$0C,$E2,$29,$18,$6C .db $98,$9F,$0C,$9F,$98,$C6,$18,$98 .db $9F,$0C,$9F,$0C,$9F,$C6,$98,$98 .db $18,$98,$9F,$0C,$9F,$98,$C6,$18 .db $98,$9F,$0C,$9F,$0C,$9F,$C6,$98 .db $98,$00,$DA,$00,$DB,$0A,$0C,$6C .db $D6,$D6,$C7,$D3,$D3,$D3,$C7,$D6 .db $C7,$D6,$D6,$C7,$D3,$D3,$C7,$D6 .db $D6,$D6,$C7,$D3,$D3,$D3,$C7,$D6 .db $C7,$D6,$D6,$C7,$D3,$D3,$C7,$D6 .db $DA,$00,$DB,$14,$0C,$7C,$D2,$C6 .db $D2,$D2,$D2,$C6,$D2,$D2,$D2,$C6 .db $D2,$D2,$D2,$C6,$D2,$D2,$D2,$D2 .db $D2,$C6,$D2,$D2,$C6,$D2,$D2,$C6 .db $C6,$C6,$D2,$C6,$D2,$D2,$DA,$0C .db $DB,$05,$18,$7C,$A9,$A9,$B0,$0C .db $C6,$A9,$24,$B0,$0C,$A9,$18,$A9 .db $A9,$18,$B0,$B0,$0C,$C6,$B0,$C6 .db $B0,$24,$B0,$0C,$A4,$18,$A4,$A4 .db $DA,$02,$DB,$00,$0C,$15,$AB,$AB .db $C6,$B2,$AB,$AB,$C6,$B2,$C7,$B2 .db $C7,$B2,$AB,$AB,$C6,$B2,$B2,$C7 .db $B2,$C7,$C7,$B2,$C7,$B2,$B2,$C7 .db $C7,$C7,$B2,$B2,$C6,$AB,$DA,$0C .db $DB,$0C,$18,$6C,$98,$9F,$0C,$9F .db $98,$C6,$18,$98,$9F,$0C,$9F,$0C .db $9F,$C6,$98,$98,$18,$6C,$9F,$9F .db $0C,$C6,$9F,$C6,$9F,$18,$98,$C6 .db $0C,$9F,$9F,$C6,$98,$00,$DA,$00 .db $DB,$0A,$0C,$6C,$D6,$D6,$C7,$D3 .db $D3,$D3,$C7,$D6,$C7,$D6,$D6,$C7 .db $D3,$D3,$C7,$D6,$D3,$C7,$D3,$C7 .db $C7,$D3,$C7,$D3,$D3,$C7,$C7,$C7 .db $D3,$D3,$C7,$D6,$DA,$07,$DB,$0A .db $18,$6B,$C7,$0C,$B7,$B6,$B5,$B3 .db $C7,$B4,$C7,$BC,$C7,$BC,$18,$BC .db $C7,$00,$DA,$07,$DB,$0A,$18,$6B .db $C7,$0C,$B4,$B3,$B2,$AF,$C7,$B0 .db $C7,$B5,$C7,$B5,$18,$B5,$C7,$DA .db $07,$DB,$0A,$18,$6B,$C7,$0C,$B3 .db $C7,$C7,$B2,$C7,$C7,$18,$B0,$C6 .db $C6,$C7,$00,$DA,$07,$DB,$0A,$18 .db $6B,$C7,$0C,$AC,$C7,$C7,$A9,$C7 .db $C7,$18,$A8,$C6,$C6,$C7,$DA,$0E .db $0C,$6D,$94,$C6,$C6,$94,$96,$C6 .db $C6,$96,$98,$95,$96,$97,$98,$C6 .db $C6,$C6,$DA,$06,$DB,$0C,$0C,$6B .db $B0,$B0,$C7,$B0,$C7,$B0,$B2,$C7 .db $B4,$B0,$C7,$AD,$30,$AB,$00,$DA .db $06,$DB,$08,$0C,$6B,$AC,$AC,$C7 .db $AC,$C7,$AC,$AE,$C7,$AB,$A8,$C7 .db $A8,$30,$A4,$DA,$03,$DB,$14,$0C .db $69,$B8,$C7,$BC,$B3,$C7,$B8,$C7 .db $B7,$C7,$BC,$C7,$B4,$B7,$C7,$BC .db $C7,$DA,$06,$DB,$0C,$0C,$6B,$B0 .db $B0,$C7,$B0,$C7,$B0,$B2,$24,$B4 .db $C6,$C6,$00,$DA,$06,$DB,$08,$0C .db $6B,$AC,$AC,$C7,$AC,$C7,$AC,$AE .db $24,$AB,$C6,$C6,$DA,$0E,$DB,$0A .db $24,$6D,$88,$8F,$18,$94,$24,$93 .db $8C,$18,$87,$DA,$06,$DB,$0A,$0C .db $6B,$B4,$B4,$C7,$B4,$C7,$B0,$B4 .db $C7,$18,$B7,$C7,$DA,$0F,$A3,$C7 .db $00,$DA,$06,$DB,$0A,$0C,$6B,$AA .db $AA,$C7,$AA,$C7,$AA,$AA,$C7,$18 .db $AF,$C7,$DA,$0F,$A3,$C7,$DA,$0E .db $0C,$6D,$8E,$8E,$C7,$8E,$C7,$8E .db $90,$91,$18,$93,$C7,$93,$C7,$DA .db $04,$DB,$0A,$0C,$6B,$AD,$AD,$C7 .db $AD,$C7,$AD,$AD,$C7,$18,$B2,$C7 .db $C7,$C7,$DA,$07,$DB,$0A,$0C,$6B .db $B4,$B0,$C7,$24,$AB,$18,$AC,$0C .db $AD,$B5,$C7,$B5,$30,$AD,$00,$DA .db $07,$DB,$0A,$0C,$6B,$B0,$18,$AD .db $24,$A8,$18,$A8,$0C,$A9,$B0,$C7 .db $B0,$30,$A9,$DA,$0E,$DB,$0A,$24 .db $6D,$8C,$0C,$92,$18,$93,$98,$24 .db $91,$0C,$91,$0C,$98,$98,$91,$C7 .db $DA,$07,$DB,$0A,$10,$6B,$AF,$B9 .db $B9,$B9,$B7,$B5,$0C,$B4,$B0,$C7 .db $AD,$30,$AB,$00,$DA,$07,$DB,$0A .db $10,$6B,$AB,$B5,$B5,$B5,$B4,$B2 .db $0C,$B0,$AD,$C7,$A9,$30,$A8,$DA .db $0E,$DB,$0A,$24,$6D,$8E,$0C,$91 .db $18,$93,$97,$24,$93,$0C,$93,$0C .db $98,$98,$93,$C7,$DA,$07,$DB,$0A .db $0C,$6B,$AF,$B5,$C7,$B5,$10,$B5 .db $B4,$B2,$30,$B0,$C7,$00,$DA,$07 .db $DB,$0A,$0C,$6B,$AB,$B2,$C7,$B2 .db $10,$B2,$B0,$AF,$0C,$AB,$A8,$C7 .db $A8,$30,$A4,$DA,$0E,$DB,$0A,$24 .db $6D,$93,$0C,$93,$10,$93,$95,$97 .db $18,$98,$93,$30,$8C,$00,$F0,$DA .db $04,$E2,$23,$DB,$0A,$DE,$14,$15 .db $20,$30,$7E,$C7,$0C,$A9,$A9,$18 .db $4E,$A9,$B0,$48,$7E,$AF,$0C,$4E .db $AE,$AD,$18,$AC,$B5,$60,$B4,$C6 .db $00,$DA,$04,$DB,$0A,$DE,$14,$15 .db $20,$30,$7E,$C7,$0C,$9D,$9D,$18 .db $4E,$9D,$A4,$48,$7E,$A3,$0C,$4E .db $A2,$A1,$18,$A0,$A9,$60,$A8,$C6 .db $DA,$04,$DB,$0A,$DE,$14,$15,$20 .db $30,$7E,$C7,$0C,$A4,$A4,$18,$4E .db $A4,$AB,$48,$7E,$AA,$0C,$4E,$A9 .db $A8,$18,$A7,$B0,$60,$AF,$C6,$DA .db $04,$DB,$0A,$DE,$14,$15,$20,$30 .db $7E,$C7,$0C,$9F,$9F,$18,$4E,$9F .db $A6,$48,$7E,$A5,$0C,$4E,$A4,$A3 .db $18,$A2,$AB,$60,$AA,$C6,$DA,$04 .db $DB,$0A,$DE,$14,$1F,$30,$0C,$4F .db $8C,$8C,$60,$8C,$18,$C6,$06,$3F .db $8C,$8C,$8C,$8C,$48,$6F,$8C,$18 .db $8C,$60,$8D,$C6,$DA,$04,$DB,$0A .db $0C,$4F,$D0,$D0,$60,$D0,$18,$C6 .db $06,$3F,$D0,$D0,$D0,$D0,$48,$6F .db $D0,$18,$D0,$60,$D0,$C7,$F0,$18 .db $C7,$00,$DA,$01,$E2,$19,$DB,$0D .db $DE,$14,$1F,$30,$06,$4E,$B0,$B2 .db $B0,$C6,$B0,$B2,$B0,$C6,$0C,$3E .db $B0,$18,$5E,$BC,$0C,$BC,$0C,$5C .db $BB,$0C,$2C,$B2,$B2,$B2,$30,$6D .db $B2,$00,$DA,$01,$DB,$08,$DE,$14 .db $1E,$30,$30,$7D,$C7,$0C,$A7,$24 .db $AC,$30,$C7,$0C,$7C,$AE,$24,$AF .db $DA,$01,$DB,$0A,$DE,$14,$1D,$30 .db $18,$7D,$C7,$C7,$0C,$A4,$24,$A7 .db $18,$C7,$C7,$0C,$7C,$AA,$24,$AB .db $DA,$01,$DB,$05,$DE,$14,$1E,$30 .db $18,$C7,$48,$4E,$9B,$18,$C7,$48 .db $4D,$9F,$DA,$01,$DB,$00,$DE,$14 .db $1C,$30,$60,$4F,$94,$60,$4E,$93 .db $0C,$6C,$B5,$0C,$2B,$B3,$B3,$0C .db $6C,$B5,$0C,$2B,$B3,$B3,$18,$6C .db $B5,$0C,$6C,$B4,$0C,$2B,$B2,$B2 .db $0C,$6C,$B4,$0C,$2B,$B2,$B2,$18 .db $6C,$B4,$0C,$6D,$B5,$0C,$2C,$B3 .db $B3,$0C,$6D,$B5,$0C,$2C,$B3,$B3 .db $0C,$6D,$B5,$BC,$0C,$7C,$C6,$54 .db $7C,$BB,$00,$24,$3B,$AE,$AE,$18 .db $6B,$AE,$24,$3B,$AD,$AD,$18,$6B .db $AD,$24,$3C,$AE,$AE,$18,$6C,$AE .db $60,$5D,$AD,$24,$3B,$AA,$AA,$18 .db $6B,$AA,$24,$3B,$A9,$A9,$18,$6B .db $A9,$24,$3C,$AA,$AA,$18,$6C,$AA .db $60,$5D,$A9,$F0,$DA,$04,$E2,$19 .db $DB,$0A,$0C,$3B,$B0,$B0,$B0,$A6 .db $18,$B0,$0C,$A6,$AF,$C6,$AF,$AF .db $A4,$AF,$AD,$AE,$AF,$00,$DA,$04 .db $DB,$00,$0C,$3B,$AD,$AD,$AD,$C7 .db $18,$AD,$0C,$C7,$AB,$C6,$AB,$AB .db $C7,$AB,$C7,$C7,$C7,$DA,$04,$DB .db $00,$0C,$3B,$A9,$A9,$A9,$C7,$18 .db $A9,$0C,$C7,$A8,$C6,$A8,$A8,$C7 .db $A8,$C7,$C7,$C7,$DA,$08,$DB,$0A .db $24,$3E,$8E,$0C,$95,$24,$9A,$0C .db $95,$24,$8C,$0C,$93,$98,$98,$93 .db $C6,$DA,$0C,$DB,$00,$0C,$6F,$A6 .db $C6,$AD,$C6,$C6,$AD,$A3,$A3,$A6 .db $C6,$AD,$C6,$C6,$AD,$A3,$A3,$DA .db $0A,$DB,$14,$0C,$6B,$C7,$C6,$D2 .db $C6,$C6,$C6,$0C,$69,$D1,$D1,$0C .db $6B,$C7,$C6,$D2,$C6,$C6,$C6,$0C .db $69,$D1,$D1,$0C,$B0,$B0,$B0,$A6 .db $18,$B0,$0C,$A6,$AF,$C6,$AF,$AF .db $AF,$AF,$C7,$C7,$C7,$00,$0C,$AD .db $AD,$AD,$C7,$18,$AD,$0C,$C7,$AB .db $C6,$AB,$AB,$AB,$AB,$C7,$C7,$C7 .db $0C,$A9,$A9,$A9,$C7,$18,$A9,$0C .db $C7,$A8,$C6,$A8,$A8,$A8,$A8,$C7 .db $C7,$C7,$24,$8E,$0C,$95,$24,$9A .db $0C,$95,$8C,$8C,$8C,$8C,$8C,$C6 .db $C6,$93,$0C,$A6,$C6,$AD,$C6,$C6 .db $AD,$A3,$A3,$A6,$C6,$AD,$AD,$AD .db $C6,$B0,$C6,$0C,$C7,$C6,$D2,$C6 .db $C6,$C6,$0C,$69,$D1,$D1,$0C,$6B .db $C7,$D1,$0C,$69,$D1,$0C,$6B,$D1 .db $30,$6C,$D1,$F0,$DA,$04,$E2,$18 .db $DB,$05,$DE,$00,$00,$00,$60,$49 .db $C6,$48,$C6,$0C,$C7,$AC,$00,$DA .db $04,$DB,$0A,$DE,$00,$00,$00,$60 .db $49,$C6,$48,$C6,$0C,$C7,$A7,$DA .db $04,$DB,$0F,$DE,$00,$00,$00,$60 .db $49,$C6,$48,$C6,$0C,$C7,$A1,$60 .db $AB,$48,$C6,$0C,$C7,$AB,$00,$60 .db $A6,$48,$C6,$0C,$C7,$A6,$60,$A0 .db $48,$C6,$0C,$C7,$A0,$60,$AC,$48 .db $C6,$0C,$C7,$AC,$00,$60,$A7,$48 .db $C6,$0C,$C7,$A7,$60,$A1,$48,$C6 .db $0C,$C7,$A1,$DA,$0E,$E7,$FF,$DB .db $0A,$06,$6F,$C7,$84,$84,$84,$84 .db $C6,$84,$84,$C6,$84,$84,$C6,$84 .db $C6,$0C,$9A,$DD,$06,$04,$9C,$06 .db $C7,$84,$84,$84,$84,$C6,$84,$84 .db $C6,$84,$84,$C6,$84,$C6,$0C,$95 .db $DD,$06,$04,$97,$DA,$05,$DB,$14 .db $DE,$00,$00,$00,$E9,$8B,$1F,$20 .db $06,$49,$D1,$06,$49,$D1,$06,$4B .db $D1,$06,$49,$D1,$06,$4C,$D1,$06 .db $49,$D1,$06,$4B,$D1,$06,$49,$D1 .db $06,$49,$D1,$06,$49,$D1,$06,$4B .db $D1,$06,$49,$D1,$06,$4C,$D1,$06 .db $49,$D1,$06,$4B,$D1,$06,$49,$D1 .db $00,$DA,$05,$E7,$FF,$DB,$0A,$DE .db $00,$00,$00,$18,$4F,$D0,$D8,$0C .db $C7,$D0,$18,$D8,$D0,$D8,$0C,$C7 .db $D0,$18,$D8,$F0,$DA,$03,$E2,$1C .db $DB,$0A,$12,$5D,$A8,$06,$A8,$0C .db $A8,$9F,$18,$A1,$9F,$0C,$A8,$A8 .db $A8,$DA,$00,$DB,$00,$0C,$B7,$0C .db $B9,$C6,$B7,$C7,$DA,$03,$DB,$0A .db $12,$A9,$06,$A9,$0C,$A9,$A1,$18 .db $A3,$A1,$0C,$A9,$A9,$A9,$DA,$00 .db $DB,$00,$0C,$B9,$0C,$BB,$C6,$B9 .db $C7,$00,$DA,$03,$DB,$0A,$12,$5D .db $A4,$06,$A4,$0C,$A4,$9C,$18,$9D .db $9C,$0C,$A4,$A4,$A4,$DA,$00,$DB .db $00,$0C,$B4,$0C,$B5,$C6,$B4,$C7 .db $DA,$03,$DB,$0A,$12,$A6,$06,$A6 .db $0C,$A6,$9D,$18,$9F,$9D,$0C,$A6 .db $A6,$A6,$DA,$00,$DB,$00,$0C,$B5 .db $0C,$B7,$C6,$B5,$C7,$DA,$04,$DB .db $0A,$24,$6D,$8C,$0C,$93,$18,$98 .db $93,$0C,$8C,$8C,$8C,$C7,$0C,$C7 .db $C7,$8C,$C6,$24,$8E,$0C,$95,$18 .db $9A,$95,$0C,$8E,$8E,$8E,$C7,$0C .db $C7,$C7,$8E,$C6,$DA,$04,$DB,$14 .db $06,$6B,$D1,$06,$69,$D1,$D1,$D1 .db $0C,$D1,$D1,$18,$D1,$D1,$0C,$6B .db $D1,$D1,$D1,$C7,$30,$C7,$06,$6B .db $D1,$06,$69,$D1,$D1,$D1,$0C,$D1 .db $D1,$18,$D1,$D1,$0C,$6B,$D1,$D1 .db $D1,$C7,$30,$C7,$DA,$03,$E2,$1C .db $DB,$0A,$12,$5D,$A8,$06,$A8,$0C .db $A8,$9F,$18,$A1,$9F,$DA,$01,$0C .db $A8,$A7,$A6,$A5,$30,$A4,$00,$DA .db $03,$DB,$0A,$12,$5D,$A4,$06,$A4 .db $0C,$A4,$9C,$18,$9D,$9C,$DA,$01 .db $0C,$A2,$A1,$A0,$9F,$30,$9E,$DA .db $04,$DB,$0A,$24,$6D,$8C,$0C,$93 .db $18,$98,$93,$0C,$8C,$8B,$8A,$89 .db $30,$88,$DA,$04,$DB,$14,$06,$6B .db $D1,$06,$69,$D1,$D1,$D1,$0C,$D1 .db $D1,$18,$D1,$D1,$48,$C7,$D4,$DA .db $08,$E2,$1C,$DB,$0A,$18,$4F,$8C .db $98,$89,$95,$8E,$9A,$87,$93,$8C .db $98,$89,$95,$60,$C7,$00,$DA,$03 .db $DB,$0A,$08,$6F,$C7,$C7,$A4,$AF .db $A4,$AF,$18,$C7,$AD,$08,$C7,$C7 .db $A6,$B0,$A6,$B0,$18,$C7,$AF,$08 .db $C7,$C7,$A4,$AF,$A4,$AF,$18,$C7 .db $AD,$08,$A6,$C7,$A8,$A9,$C7,$AB .db $DA,$00,$08,$C7,$C7,$04,$B7,$B9 .db $0C,$B7,$C7,$DA,$03,$DB,$00,$08 .db $6F,$C7,$C7,$C7,$AB,$C7,$AB,$18 .db $C7,$A8,$08,$C7,$C7,$C7,$AD,$C7 .db $AD,$18,$C7,$AB,$08,$C7,$C7,$C7 .db $AB,$C7,$AB,$18,$C7,$A8,$60,$C7 .db $DA,$03,$DB,$14,$08,$6F,$C7,$C7 .db $C7,$A8,$C7,$A8,$18,$C7,$A4,$08 .db $C7,$C7,$C7,$A9,$C7,$A9,$18,$C7 .db $A6,$08,$C7,$C7,$C7,$A8,$C7,$A8 .db $18,$C7,$A4,$60,$C7,$08,$D1,$C7 .db $D1,$18,$D2,$00,$DA,$08,$DB,$0A .db $18,$4F,$8C,$98,$89,$95,$8E,$9A .db $87,$93,$8C,$98,$89,$95,$0C,$8E .db $C7,$18,$C7,$30,$8D,$00,$F0,$DA .db $03,$E2,$1C,$DB,$0A,$08,$6F,$C7 .db $C7,$A4,$AF,$A4,$AF,$18,$C7,$AD .db $08,$C7,$C7,$A6,$B0,$A6,$B0,$18 .db $C7,$AF,$08,$C7,$C7,$A4,$AF,$A4 .db $AF,$18,$C7,$AD,$08,$B0,$C7,$AD .db $C7,$A9,$C7,$18,$A8,$A6,$DA,$03 .db $DB,$00,$08,$6F,$C7,$C7,$C7,$AB .db $C7,$AB,$18,$C7,$A8,$08,$C7,$C7 .db $C7,$AD,$C7,$AD,$18,$C7,$AB,$08 .db $C7,$C7,$C7,$AB,$C7,$AB,$18,$C7 .db $A8,$18,$AD,$C7,$30,$A3,$DA,$03 .db $DB,$14,$08,$6F,$C7,$C7,$C7,$A8 .db $C7,$A8,$18,$C7,$A4,$08,$C7,$C7 .db $C7,$A9,$C7,$A9,$18,$C7,$A6,$08 .db $C7,$C7,$C7,$A8,$C7,$A8,$18,$C7 .db $A4,$18,$A9,$C7,$30,$9D,$DA,$02 .db $DB,$14,$08,$6C,$D1,$C7,$D1,$18 .db $D2,$E9,$98,$21,$05,$18,$D1,$08 .db $D1,$D1,$D1,$18,$D2,$D2,$00,$DA .db $02,$DB,$05,$DE,$00,$00,$00,$06 .db $6B,$B7,$C6,$C6,$C6,$AB,$C6,$C6 .db $C6,$60,$C6,$30,$C3,$06,$B6,$C6 .db $C6,$C6,$AA,$C6,$C6,$C6,$60,$C6 .db $30,$C2,$00,$DA,$02,$DB,$00,$DE .db $00,$00,$00,$06,$6B,$C6,$B1,$C6 .db $C6,$C6,$B1,$C6,$C6,$60,$C6,$30 .db $C6,$06,$C6,$B0,$C6,$C6,$C6,$B0 .db $C6,$C6,$60,$C6,$30,$C6,$DA,$02 .db $DB,$14,$DE,$00,$00,$00,$06,$6D .db $C6,$C6,$AB,$C6,$C6,$C6,$B7,$C6 .db $60,$C6,$30,$C6,$06,$C6,$C6,$AA .db $C6,$C6,$C6,$B6,$C6,$60,$C6,$30 .db $C6,$DA,$02,$DB,$0F,$DE,$00,$00 .db $00,$06,$6D,$C6,$C6,$C6,$A5,$C6 .db $C6,$C6,$C6,$5A,$C6,$36,$B7,$06 .db $C6,$C6,$C6,$A4,$C6,$C6,$C6,$C6 .db $5A,$C6,$36,$B6,$06,$B5,$C6,$C6 .db $C6,$A9,$C6,$C6,$C6,$60,$C6,$30 .db $C6,$06,$B4,$C6,$C6,$C6,$A8,$C6 .db $C6,$C6,$60,$C6,$30,$C6,$00,$06 .db $C6,$AF,$C6,$C6,$C6,$AF,$C6,$C6 .db $60,$C6,$30,$C6,$06,$C6,$AE,$C6 .db $C6,$C6,$AE,$C6,$C6,$60,$C6,$30 .db $C6,$06,$C6,$C6,$A9,$C6,$C6,$C6 .db $B5,$C6,$60,$C6,$30,$C6,$06,$C6 .db $C6,$A8,$C6,$C6,$C6,$B4,$C6,$60 .db $C6,$30,$C6,$06,$C6,$C6,$C6,$A3 .db $C6,$C6,$C6,$C6,$5A,$C6,$36,$C6 .db $06,$C6,$C6,$C6,$A2,$C6,$C6,$C6 .db $C6,$5A,$C6,$36,$C6,$F0,$DA,$0E .db $E2,$23,$DB,$0A,$30,$4E,$8E,$18 .db $C6,$0C,$8E,$8E,$60,$C7,$30,$91 .db $18,$C6,$0C,$91,$91,$60,$C7,$00 .db $DA,$07,$DB,$0A,$30,$4E,$8E,$18 .db $C6,$0C,$8E,$8E,$60,$C7,$30,$91 .db $18,$C6,$0C,$91,$91,$60,$C7,$00 .db $30,$4E,$94,$18,$C6,$0C,$94,$94 .db $60,$C7,$30,$8D,$18,$C6,$0C,$8D .db $8D,$60,$C7,$30,$4E,$94,$18,$C6 .db $0C,$94,$94,$60,$C7,$30,$8D,$18 .db $C6,$0C,$8D,$8D,$0C,$6C,$C7,$D8 .db $0C,$6F,$D0,$D0,$0C,$7C,$D8,$0C .db $7F,$D0,$0C,$D8,$D8,$DA,$05,$DB .db $0A,$DE,$00,$00,$00,$E9,$BC,$23 .db $08,$0C,$49,$D1,$D1,$0C,$4B,$D1 .db $0C,$49,$D1,$0C,$4C,$D1,$0C,$49 .db $D1,$0C,$4B,$D1,$0C,$49,$D1,$00 .db $DA,$05,$DB,$0A,$DE,$00,$00,$00 .db $30,$4F,$D0,$02,$C7,$16,$D8,$0C .db $C6,$D0,$0C,$C7,$D0,$C7,$D0,$01 .db $C7,$17,$D8,$0C,$C6,$D0,$30,$D0 .db $02,$C7,$16,$D8,$0C,$C6,$D0,$0C .db $4D,$C7,$D0,$0C,$4E,$D0,$D0,$01 .db $C7,$17,$D8,$0C,$C6,$D0,$DA,$05 .db $DB,$0A,$DE,$00,$00,$00,$30,$4F .db $D0,$02,$C7,$16,$D8,$0C,$C6,$D0 .db $0C,$C7,$D0,$C7,$D0,$01,$C7,$17 .db $D8,$0C,$C6,$D0,$30,$D0,$03,$C7 .db $15,$D8,$0C,$C6,$D0,$0C,$7F,$C7 .db $03,$C6,$09,$D8,$0C,$D0,$D0,$03 .db $C7,$09,$D8,$0C,$D0,$03,$C6,$09 .db $D8,$03,$C6,$09,$D8,$F0,$DA,$03 .db $E2,$3C,$E0,$E6,$DB,$0F,$18,$3E .db $B2,$B2,$B2,$A6,$B2,$B2,$B2,$A6 .db $06,$B3,$B0,$B3,$B0,$B3,$B0,$B3 .db $B0,$B3,$B0,$B3,$B0,$B3,$B0,$B3 .db $B0,$18,$B2,$AD,$A6,$00,$DA,$00 .db $DB,$0A,$E7,$FA,$DE,$23,$13,$40 .db $18,$4E,$BE,$BE,$BE,$B2,$BE,$BE .db $BE,$B2,$E1,$0C,$96,$0C,$BF,$E1 .db $54,$FA,$54,$C6,$E0,$E6,$18,$BE .db $C7,$C7,$DA,$01,$DB,$0A,$E7,$FA .db $DE,$23,$12,$40,$18,$4E,$A6,$A6 .db $A6,$9A,$A6,$A6,$A6,$9A,$60,$AD .db $18,$AA,$C7,$C7,$DA,$00,$DB,$0A .db $E7,$FA,$DE,$23,$11,$40,$60,$4E .db $C7,$C7,$60,$9D,$18,$9A,$C7,$C7 .db $DA,$02,$E0,$C8,$DB,$00,$18,$4B .db $B2,$BB,$BB,$BB,$B2,$BB,$BB,$BB .db $B2,$BB,$BB,$BB,$0C,$BB,$BC,$18 .db $BB,$C6,$B9,$B2,$B9,$B9,$0C,$B9 .db $C6,$18,$B2,$B9,$B9,$0C,$B9,$C6 .db $18,$B2,$B9,$B9,$0C,$B9,$C6,$B9 .db $BB,$18,$B9,$C6,$B7,$00,$DA,$00 .db $DB,$0A,$E7,$DC,$DE,$23,$13,$40 .db $18,$4C,$B2,$BB,$BB,$0C,$4D,$BB .db $C7,$18,$4C,$B2,$BB,$BB,$0C,$4D .db $BB,$C7,$18,$4C,$B2,$BB,$BB,$0C .db $4D,$BB,$C7,$0C,$4C,$BB,$BC,$18 .db $BB,$C6,$B9,$B2,$B9,$B9,$0C,$4D .db $B9,$C7,$18,$4C,$B2,$B9,$B9,$0C .db $4D,$B9,$C7,$18,$4C,$B2,$B9,$B9 .db $0C,$4D,$B9,$C7,$0C,$4C,$B9,$BB .db $18,$B9,$C6,$B7,$DA,$01,$DB,$0A .db $18,$6E,$C7,$93,$AB,$AB,$C7,$93 .db $AB,$AB,$C7,$93,$AB,$AB,$C7,$8E .db $AA,$AA,$C7,$8E,$AA,$AA,$C7,$8E .db $AA,$AA,$C7,$8E,$AA,$C7,$AA,$93 .db $AB,$AB,$DA,$01,$DB,$0F,$18,$6E .db $C7,$C7,$A3,$A3,$C7,$C7,$A3,$A3 .db $C7,$C7,$A3,$A3,$C7,$C7,$A1,$A1 .db $C7,$C7,$A1,$A1,$C7,$C7,$A1,$A1 .db $C7,$C7,$A1,$C7,$A1,$C7,$A3,$A3 .db $DA,$03,$DB,$0F,$18,$6E,$C7,$C7 .db $9A,$9F,$C7,$C7,$9A,$9F,$C7,$C7 .db $9A,$A3,$C7,$A1,$C7,$A1,$C7,$C7 .db $9A,$A1,$C7,$C7,$9A,$A1,$C7,$C7 .db $9A,$9E,$C7,$9F,$C7,$9F,$DA,$01 .db $DB,$05,$DE,$23,$12,$40,$18,$6C .db $C7,$E0,$C8,$E1,$FF,$F0,$60,$B7 .db $B5,$B4,$B3,$E1,$64,$C8,$B2,$B0 .db $AF,$48,$C6,$C7,$DA,$02,$DB,$00 .db $18,$4B,$B2,$BB,$BB,$BB,$B2,$BB .db $BB,$BB,$B2,$BB,$BB,$BB,$0C,$B9 .db $BB,$18,$BC,$C6,$C0,$C6,$BE,$BE .db $BE,$B2,$BC,$BC,$BC,$B6,$B7,$C6 .db $C6,$C7,$C7,$C7,$00,$DA,$00,$DB .db $0A,$18,$4C,$B2,$BB,$BB,$0C,$4D .db $BB,$C7,$18,$4C,$B2,$BB,$BB,$0C .db $4D,$BB,$C7,$18,$4C,$B2,$BB,$BB .db $0C,$4D,$BB,$C7,$0C,$4C,$B9,$BB .db $30,$BC,$C0,$18,$BE,$BE,$0C,$4D .db $BE,$C7,$18,$4C,$B2,$BC,$BC,$0C .db $4D,$BC,$C7,$18,$4C,$B6,$B7,$C6 .db $C6,$C7,$C7,$C7,$DA,$01,$DB,$0A .db $18,$6E,$C7,$93,$AB,$AB,$C7,$97 .db $AF,$AF,$C7,$98,$B0,$B0,$C7,$99 .db $B1,$B1,$C7,$9A,$AD,$AD,$C7,$92 .db $AA,$AA,$C7,$93,$C7,$8E,$C7,$93 .db $C7,$00,$DA,$01,$DB,$0F,$18,$6E .db $C7,$C7,$A3,$A3,$C7,$C7,$A9,$A9 .db $C7,$C7,$AB,$AB,$C7,$C7,$AB,$AB .db $C7,$C7,$A6,$A6,$C7,$C7,$A4,$A4 .db $C7,$A3,$C7,$9F,$C7,$A3,$C7,$00 .db $DA,$03,$DB,$0F,$18,$6E,$C7,$C7 .db $9A,$9F,$C7,$C7,$9D,$A3,$C7,$C7 .db $9F,$A4,$C7,$A5,$C7,$A5,$C7,$C7 .db $A1,$A6,$C7,$C7,$9E,$A4,$C7,$9A .db $C7,$97,$C7,$93,$C7,$DA,$00,$DB .db $05,$DE,$23,$12,$40,$24,$6D,$AF .db $0C,$AD,$60,$AF,$B2,$B0,$B4,$30 .db $B6,$B7,$B9,$BC,$60,$BB,$30,$C7 .db $00,$DA,$01,$E7,$F0,$DB,$0A,$DE .db $23,$13,$40,$24,$6E,$B2,$0C,$B0 .db $30,$AF,$B2,$B7,$18,$C6,$B6,$30 .db $B3,$B4,$B9,$18,$C6,$B7,$DA,$03 .db $DB,$0F,$06,$B6,$AD,$B6,$AD,$B6 .db $AD,$B6,$C7,$B7,$AF,$B7,$AF,$B7 .db $AF,$B7,$C7,$B9,$B0,$B9,$B0,$B9 .db $B0,$B9,$C7,$BC,$B4,$BC,$B4,$BC .db $B4,$BC,$C7,$BB,$B2,$BB,$B2,$BB .db $B2,$BB,$B2,$BB,$B2,$BB,$B2,$BB .db $B2,$BB,$B2,$E8,$30,$60,$06,$BB .db $B2,$BB,$B2,$BB,$B2,$BB,$B2,$DA .db $01,$DB,$14,$30,$C7,$18,$9F,$A3 .db $A6,$A3,$9F,$A3,$A6,$A3,$A4,$A8 .db $AB,$A8,$A5,$A8,$AB,$A8,$A6,$AA .db $AD,$AA,$A6,$AA,$AD,$AA,$9F,$A3 .db $A6,$A3,$9F,$A3,$A6,$A3,$DA,$04 .db $DE,$23,$11,$40,$DB,$0A,$30,$6C .db $C7,$60,$93,$97,$98,$99,$9A,$95 .db $97,$93,$DA,$00,$DB,$05,$DE,$23 .db $12,$40,$24,$6D,$AF,$0C,$AD,$60 .db $AF,$B2,$B0,$B4,$30,$B6,$18,$B5 .db $B6,$48,$BC,$18,$B6,$60,$B7,$48 .db $C7,$00,$DA,$01,$DB,$0A,$E7,$FA .db $24,$6E,$B2,$0C,$B0,$30,$AF,$B2 .db $B7,$18,$C6,$B6,$30,$B3,$B4,$B9 .db $18,$C6,$B7,$DA,$03,$DB,$0F,$06 .db $B6,$AD,$B6,$AD,$B6,$AD,$B6,$C7 .db $B5,$AD,$B5,$C7,$B6,$AD,$B6,$C7 .db $BC,$B2,$BC,$B2,$BC,$B2,$BC,$B2 .db $BC,$B2,$BC,$C7,$B6,$AD,$B6,$C7 .db $B7,$AF,$B7,$AF,$B7,$AF,$B7,$AF .db $B7,$AF,$B7,$AF,$B7,$AF,$B7,$AF .db $E8,$30,$60,$06,$B7,$AF,$B7,$AF .db $B7,$AF,$B7,$AF,$C7,$C7,$C7,$C7 .db $DA,$01,$DB,$14,$30,$C7,$18,$9F .db $A3,$A6,$A3,$A3,$A6,$A9,$A6,$A4 .db $A8,$AB,$A8,$A5,$A8,$AB,$A8,$A6 .db $AA,$AD,$AA,$A1,$A6,$AA,$A6,$A3 .db $A6,$A1,$A6,$9F,$C6,$C6,$DA,$04 .db $DB,$0A,$DE,$23,$11,$40,$30,$6D .db $C7,$60,$93,$97,$98,$99,$9A,$92 .db $93,$C6,$DA,$00,$E0,$DC,$DB,$0A .db $DE,$23,$12,$40,$18,$6E,$B3,$B4 .db $B4,$B4,$B6,$B7,$C6,$BC,$C6,$DA .db $01,$E0,$AA,$10,$AF,$B0,$AF,$AD .db $AF,$AD,$30,$AB,$18,$A6,$00,$DA .db $02,$DB,$05,$E7,$FA,$18,$6E,$C7 .db $06,$98,$9A,$9C,$9D,$9F,$A1,$A3 .db $A4,$A6,$A8,$A9,$AB,$AD,$AF,$B0 .db $C6,$60,$C7,$DA,$01,$DB,$0A,$10 .db $AB,$AD,$AB,$AA,$AB,$AA,$30,$A6 .db $18,$A3,$DA,$01,$DB,$0A,$18,$6E .db $C7,$48,$9F,$18,$9F,$30,$9F,$C7 .db $60,$9F,$9A,$DA,$01,$DB,$0A,$18 .db $6E,$C7,$48,$98,$18,$98,$30,$98 .db $C7,$60,$97,$93,$DA,$00,$E0,$DC .db $DB,$0A,$DE,$23,$12,$40,$18,$6E .db $B3,$B4,$B4,$B4,$B6,$B7,$C6,$BC .db $C6,$DA,$01,$18,$2E,$B2,$B1,$B2 .db $AD,$A6,$A5,$A6,$A1,$E0,$96,$E1 .db $60,$FA,$60,$5E,$A7,$DA,$03,$DB .db $0F,$18,$1E,$A6,$AD,$B2,$B9,$BE .db $C7,$C7,$C7,$DA,$01,$DB,$0A,$48 .db $5D,$A6,$00,$DA,$02,$DB,$05,$18 .db $6E,$C7,$06,$98,$9A,$9C,$9D,$9F .db $A1,$A3,$A4,$A6,$A8,$A9,$AB,$AD .db $AF,$B0,$C6,$60,$C7,$DA,$01,$DB .db $0A,$18,$AD,$C7,$C7,$AD,$AD,$C7 .db $C7,$AD,$9B,$C6,$C6,$C6,$DA,$00 .db $DB,$05,$18,$1E,$A6,$AD,$B2,$B9 .db $BE,$C7,$C7,$C7,$DA,$01,$48,$5D .db $A1,$DA,$01,$DB,$0A,$18,$6E,$C7 .db $48,$9F,$18,$9F,$30,$9F,$C7,$18 .db $A1,$C7,$C7,$C7,$A1,$C7,$C7,$C7 .db $60,$9D,$18,$9E,$C7,$C7,$C7,$C7 .db $C7,$C7,$C7,$48,$5D,$9E,$DA,$01 .db $DB,$14,$18,$6E,$C7,$48,$C7,$18 .db $C7,$30,$C7,$C7,$18,$9E,$C7,$C7 .db $C7,$9E,$C7,$C7,$C7,$60,$A4,$18 .db $A1,$C7,$C7,$C7,$C7,$C7,$C7,$C7 .db $48,$5D,$A4,$00,$DA,$01,$DB,$0A .db $18,$6E,$C7,$48,$98,$18,$98,$30 .db $98,$C7,$18,$9A,$C7,$C7,$C7,$9A .db $C7,$C7,$C7,$60,$A1,$18,$9A,$C7 .db $C7,$C7,$C7,$C7,$C7,$C7,$48,$6E .db $8E,$00,$00,$00,$00,$05,$FD,$41 .db $60,$13,$18,$16,$AA,$18,$C6,$16 .db $62,$1A,$B0,$13,$72,$17,$DA,$17 .db $90,$14,$DE,$15,$A6,$15,$9A,$13 .db $F2,$15,$56,$19,$52,$15,$6E,$19 .db $6E,$19,$82,$19,$96,$19,$38,$1A .db $10,$1A,$24,$1A,$62,$1A,$94,$1B .db $BA,$1B,$34,$1B,$64,$1B,$CE,$1B .db $F6,$1B,$5E,$1A,$F8,$15,$A0,$13 .db $00,$00,$2E,$2C,$68,$2C,$9A,$2C .db $CC,$2C,$74,$2D,$52,$2D,$FE,$2C .db $27,$2D,$D0,$13,$E0,$13,$20,$14 .db $60,$14,$F0,$13,$80,$14,$40,$14 .db $00,$14,$10,$14,$60,$14,$F0,$13 .db $80,$14,$40,$14,$FF,$00,$B2,$13 .db $00,$00,$7A,$34,$CC,$34,$E4,$34 .db $95,$34,$00,$00,$AC,$34,$FB,$34 .db $12,$35,$29,$35,$00,$00,$00,$00 .db $B8,$35,$00,$00,$DD,$35,$68,$35 .db $90,$35,$29,$35,$A4,$37,$A7,$37 .db $B8,$35,$00,$00,$DD,$35,$68,$35 .db $90,$35,$29,$35,$0C,$38,$0F,$38 .db $B8,$35,$00,$00,$DD,$35,$68,$35 .db $90,$35,$29,$35,$1F,$38,$22,$38 .db $B8,$35,$00,$00,$DD,$35,$68,$35 .db $90,$35,$29,$35,$52,$35,$54,$35 .db $B8,$35,$00,$00,$DD,$35,$68,$35 .db $90,$35,$29,$35,$00,$00,$00,$00 .db $CD,$35,$00,$00,$F2,$35,$68,$35 .db $90,$35,$29,$35,$F0,$37,$F3,$37 .db $CD,$35,$00,$00,$F2,$35,$68,$35 .db $90,$35,$25,$36,$00,$00,$00,$00 .db $B8,$35,$00,$00,$B8,$36,$70,$36 .db $94,$36,$25,$36,$4A,$36,$4D,$36 .db $B8,$35,$00,$00,$B8,$36,$70,$36 .db $94,$36,$E3,$36,$00,$00,$00,$00 .db $74,$37,$00,$00,$50,$37,$08,$37 .db $2C,$37,$E3,$36,$CA,$37,$CD,$37 .db $74,$37,$00,$00,$50,$37,$08,$37 .db $94,$36,$B2,$14,$C2,$14,$D2,$14 .db $C2,$14,$D2,$14,$E2,$14,$F2,$14 .db $02,$15,$22,$15,$12,$15,$22,$15 .db $32,$15,$42,$15,$12,$15,$FF,$00 .db $A0,$14,$00,$00,$AB,$2D,$C5,$2D .db $D8,$2D,$EB,$2D,$FA,$2D,$09,$2E .db $1A,$2E,$29,$2E,$3A,$2E,$B5,$2E .db $00,$00,$00,$00,$00,$00,$2D,$2F .db $00,$00,$00,$00,$3A,$2E,$B5,$2E .db $46,$2F,$62,$2F,$00,$00,$2D,$2F .db $00,$00,$00,$00,$80,$2F,$B7,$2F .db $2A,$30,$95,$30,$61,$30,$ED,$2F .db $00,$00,$0D,$30,$B5,$30,$08,$31 .db $00,$00,$00,$00,$00,$00,$5A,$31 .db $00,$00,$00,$00,$B5,$30,$08,$31 .db $B6,$31,$00,$00,$00,$00,$6E,$31 .db $00,$00,$00,$00,$B5,$30,$08,$31 .db $B6,$31,$00,$00,$00,$00,$8A,$31 .db $00,$00,$00,$00,$B5,$30,$08,$31 .db $EC,$31,$08,$32,$00,$00,$8A,$31 .db $00,$00,$00,$00,$23,$32,$6E,$32 .db $E8,$32,$03,$33,$00,$00,$BB,$32 .db $39,$33,$24,$33,$53,$33,$9E,$33 .db $16,$34,$34,$34,$00,$00,$E9,$33 .db $5F,$34,$4F,$34,$66,$15,$96,$15 .db $96,$15,$76,$15,$96,$15,$86,$15 .db $96,$15,$FF,$00,$5E,$15,$00,$00 .db $F5,$38,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $F8,$38,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $FC,$38,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$39,$43,$39,$24,$39,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $AE,$15,$BE,$15,$CE,$15,$00,$00 .db $D2,$3B,$DE,$3B,$E9,$3B,$F4,$3B .db $FF,$3B,$0A,$3C,$17,$3C,$00,$00 .db $25,$3C,$2C,$3C,$35,$3C,$3E,$3C .db $46,$3C,$50,$3C,$5A,$3C,$00,$00 .db $63,$3C,$6B,$3C,$74,$3C,$81,$3C .db $8B,$3C,$97,$3C,$A0,$3C,$00,$00 .db $E2,$15,$00,$00,$00,$00,$AA,$3C .db $D2,$3C,$E7,$3C,$00,$00,$00,$00 .db $00,$00,$00,$00,$F8,$15,$08,$16 .db $00,$00,$00,$00,$00,$3A,$18,$3A .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$37,$3B,$2F,$3A,$AB,$3B .db $AC,$3A,$00,$00,$FD,$3A,$00,$00 .db $74,$3B,$36,$16,$96,$16,$A6,$16 .db $96,$16,$B6,$16,$46,$16,$56,$16 .db $46,$16,$56,$16,$66,$16,$76,$16 .db $86,$16,$FF,$00,$1A,$16,$00,$00 .db $0B,$3D,$2C,$3D,$38,$3D,$47,$3D .db $00,$00,$00,$00,$00,$00,$00,$00 .db $5D,$3D,$7C,$3D,$AC,$3D,$BE,$3D .db $00,$00,$D0,$3D,$00,$00,$00,$00 .db $14,$3E,$30,$3E,$60,$3E,$72,$3E .db $00,$00,$D0,$3D,$00,$00,$00,$00 .db $84,$3E,$A1,$3E,$D1,$3E,$E3,$3E .db $00,$00,$F5,$3E,$00,$00,$00,$00 .db $19,$3F,$A1,$3E,$D1,$3E,$E3,$3E .db $00,$00,$F5,$3E,$00,$00,$00,$00 .db $34,$3F,$63,$3F,$B4,$3F,$E6,$3F .db $00,$00,$D0,$3D,$00,$00,$00,$00 .db $1A,$40,$49,$40,$AB,$40,$C9,$40 .db $00,$00,$D0,$3D,$00,$00,$00,$00 .db $DD,$40,$0C,$41,$3C,$41,$5E,$41 .db $00,$00,$72,$41,$00,$00,$00,$00 .db $96,$41,$BF,$41,$EF,$41,$10,$42 .db $00,$00,$22,$42,$00,$00,$00,$00 .db $F2,$16,$E2,$16,$02,$17,$22,$17 .db $12,$17,$32,$17,$42,$17,$52,$17 .db $42,$17,$62,$17,$32,$17,$FF,$00 .db $C8,$16,$00,$00,$88,$52,$B8,$52 .db $72,$52,$00,$00,$00,$00,$F4,$52 .db $D6,$52,$00,$00,$E0,$51,$48,$52 .db $14,$52,$FC,$51,$00,$00,$00,$00 .db $2D,$52,$5C,$52,$40,$53,$9C,$53 .db $87,$53,$1E,$53,$00,$00,$F4,$52 .db $BA,$53,$59,$53,$40,$53,$6B,$53 .db $87,$53,$1E,$53,$9C,$53,$F4,$52 .db $BA,$53,$59,$53,$DB,$53,$62,$54 .db $28,$54,$D8,$53,$00,$00,$3B,$54 .db $81,$54,$F2,$53,$DB,$53,$0C,$54 .db $28,$54,$D8,$53,$62,$54,$3B,$54 .db $81,$54,$FF,$53,$A3,$54,$C6,$54 .db $BD,$54,$A0,$54,$00,$00,$EB,$54 .db $D7,$54,$AF,$54,$0B,$55,$29,$55 .db $20,$55,$09,$55,$00,$00,$EB,$54 .db $37,$55,$15,$55,$48,$55,$29,$55 .db $20,$55,$46,$55,$00,$00,$EB,$54 .db $37,$55,$52,$55,$8A,$17,$9A,$17 .db $AA,$17,$BA,$17,$AA,$17,$BA,$17 .db $AA,$17,$CA,$17,$CA,$17,$FF,$00 .db $76,$17,$00,$00,$46,$42,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$59,$42,$00,$00 .db $00,$00,$EF,$42,$00,$00,$16,$43 .db $00,$00,$00,$00,$CA,$42,$00,$00 .db $00,$00,$EF,$42,$00,$00,$16,$43 .db $00,$00,$00,$00,$CA,$42,$A3,$42 .db $7E,$42,$EF,$42,$00,$00,$16,$43 .db $00,$00,$00,$00,$7C,$43,$60,$43 .db $46,$43,$EF,$42,$00,$00,$16,$43 .db $00,$00,$00,$00,$FA,$17,$0A,$18 .db $4A,$18,$6A,$18,$8A,$18,$1A,$18 .db $9A,$18,$6A,$18,$2A,$18,$7A,$18 .db $4A,$18,$3A,$18,$5A,$18,$FF,$00 .db $DA,$17,$00,$00,$D2,$43,$2F,$44 .db $05,$44,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$D2,$43,$2F,$44 .db $05,$44,$75,$44,$00,$00,$59,$44 .db $00,$00,$00,$00,$99,$46,$99,$47 .db $EA,$46,$B6,$47,$00,$00,$7E,$47 .db $34,$47,$00,$00,$D1,$47,$7B,$48 .db $D1,$47,$98,$48,$00,$00,$60,$48 .db $1A,$48,$00,$00,$B3,$48,$5D,$49 .db $B3,$48,$7A,$49,$00,$00,$42,$49 .db $FC,$48,$00,$00,$91,$44,$E3,$44 .db $BD,$44,$25,$45,$00,$00,$09,$45 .db $00,$00,$00,$00,$91,$44,$E3,$44 .db $BD,$44,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$41,$45,$93,$45 .db $6D,$45,$D5,$45,$00,$00,$B9,$45 .db $00,$00,$00,$00,$41,$45,$93,$45 .db $6D,$45,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$F1,$45,$43,$46 .db $1D,$46,$81,$46,$00,$00,$69,$46 .db $00,$00,$00,$00,$F1,$45,$43,$46 .db $1D,$46,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$D6,$18,$C6,$18 .db $E6,$18,$F6,$18,$E6,$18,$F6,$18 .db $06,$19,$16,$19,$46,$19,$26,$19 .db $36,$19,$FF,$00,$AC,$18,$00,$00 .db $52,$4A,$C9,$4A,$05,$4B,$1B,$4B .db $1B,$4B,$09,$4C,$1B,$4B,$8D,$4A .db $95,$49,$F6,$49,$24,$4A,$DE,$49 .db $C6,$49,$3A,$4A,$0C,$4A,$AF,$49 .db $21,$4B,$7C,$4B,$51,$4C,$EC,$4B .db $00,$00,$09,$4C,$00,$00,$B4,$4B .db $65,$4C,$B8,$4C,$39,$4D,$20,$4D .db $00,$00,$09,$4C,$00,$00,$EC,$4C .db $4B,$4D,$9E,$4D,$1C,$4E,$06,$4E .db $00,$00,$32,$4E,$00,$00,$D2,$4D .db $5F,$4E,$B2,$4E,$2D,$4F,$1A,$4F .db $00,$00,$32,$4E,$00,$00,$E6,$4E .db $3F,$4F,$75,$4F,$BC,$4F,$98,$4F .db $00,$00,$D3,$4F,$00,$00,$3F,$4F .db $3F,$4F,$02,$50,$41,$50,$21,$50 .db $00,$00,$D3,$4F,$00,$00,$3F,$4F .db $58,$50,$E0,$50,$BA,$51,$8E,$51 .db $00,$00,$09,$4C,$00,$00,$37,$51 .db $5E,$19,$FF,$00,$56,$19,$00,$00 .db $81,$39,$C1,$39,$60,$39,$9F,$39 .db $00,$00,$D8,$39,$00,$00,$00,$00 .db $72,$19,$00,$00,$75,$38,$8C,$38 .db $9B,$38,$AA,$38,$B9,$38,$C8,$38 .db $D7,$38,$E6,$38,$86,$19,$00,$00 .db $45,$38,$5E,$38,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $B0,$19,$C0,$19,$D0,$19,$E0,$19 .db $D0,$19,$E0,$19,$F0,$19,$00,$1A .db $D0,$19,$E0,$19,$FF,$00,$98,$19 .db $00,$00,$36,$29,$82,$29,$5E,$29 .db $70,$29,$00,$00,$4C,$29,$00,$00 .db $00,$00,$00,$00,$BB,$29,$95,$29 .db $E2,$29,$00,$00,$00,$00,$00,$00 .db $00,$00,$2F,$2A,$76,$2A,$8C,$2A .db $E2,$29,$00,$00,$55,$2A,$00,$00 .db $A2,$2A,$B8,$2A,$EB,$2A,$FC,$2A .db $E2,$29,$00,$00,$D2,$2A,$00,$00 .db $0D,$2B,$1E,$2B,$32,$2B,$44,$2B .db $E2,$29,$00,$00,$00,$00,$00,$00 .db $55,$2B,$66,$2B,$32,$2B,$44,$2B .db $E2,$29,$00,$00,$00,$00,$00,$00 .db $55,$2B,$14,$1A,$00,$00,$78,$2B .db $C7,$2B,$DD,$2B,$09,$2C,$00,$00 .db $B0,$2B,$95,$2B,$F3,$2B,$28,$1A .db $00,$00,$6F,$26,$84,$26,$95,$26 .db $B9,$26,$00,$00,$00,$00,$00,$00 .db $00,$00,$3E,$1A,$4E,$1A,$00,$00 .db $DC,$26,$4A,$27,$A4,$27,$83,$27 .db $18,$27,$C5,$27,$5F,$28,$12,$28 .db $86,$28,$A9,$28,$EE,$28,$CD,$28 .db $B4,$28,$D4,$28,$F5,$28,$95,$28 .db $84,$1A,$00,$00,$84,$1A,$94,$1A .db $B4,$1A,$C4,$1A,$B4,$1A,$D4,$1A .db $E4,$1A,$F4,$1A,$E4,$1A,$04,$1B .db $14,$1B,$24,$1B,$14,$1B,$24,$1B .db $A4,$1A,$FF,$00,$68,$1A,$B3,$22 .db $D5,$22,$F1,$22,$0D,$23,$26,$23 .db $36,$23,$00,$00,$56,$23,$78,$23 .db $94,$23,$AA,$23,$C0,$23,$D6,$23 .db $EC,$23,$00,$00,$00,$00,$6F,$24 .db $5B,$24,$5E,$26,$95,$24,$43,$24 .db $B0,$24,$5B,$26,$65,$24,$6F,$24 .db $5B,$24,$00,$00,$95,$24,$43,$24 .db $B0,$24,$00,$00,$65,$24,$6F,$24 .db $5B,$24,$00,$00,$95,$24,$4F,$24 .db $B0,$24,$00,$00,$65,$24,$6F,$24 .db $5B,$24,$00,$00,$95,$24,$4F,$24 .db $BD,$24,$00,$00,$65,$24,$6F,$24 .db $5B,$24,$02,$24,$95,$24,$43,$24 .db $B0,$24,$1A,$24,$65,$24,$6F,$24 .db $5B,$24,$36,$24,$95,$24,$4F,$24 .db $B0,$24,$33,$24,$65,$24,$6F,$24 .db $5B,$24,$36,$24,$95,$24,$4F,$24 .db $BD,$24,$33,$24,$65,$24,$5E,$25 .db $E3,$24,$D8,$24,$81,$25,$00,$00 .db $9C,$25,$D5,$24,$1F,$25,$38,$26 .db $C2,$25,$B8,$25,$81,$25,$00,$00 .db $9C,$25,$B5,$25,$FC,$25,$54,$1B .db $B4,$1A,$C4,$1A,$B4,$1A,$D4,$1A .db $E4,$1A,$F4,$1A,$E4,$1A,$04,$1B .db $14,$1B,$24,$1B,$14,$1B,$24,$1B .db $A4,$1A,$FF,$00,$38,$1B,$55,$22 .db $77,$22,$83,$22,$8F,$22,$9B,$22 .db $A7,$22,$00,$00,$00,$00,$84,$1B .db $B4,$1A,$C4,$1A,$B4,$1A,$D4,$1A .db $E4,$1A,$F4,$1A,$E4,$1A,$04,$1B .db $14,$1B,$24,$1B,$14,$1B,$24,$1B .db $A4,$1A,$FF,$00,$68,$1B,$66,$22 .db $77,$22,$83,$22,$8F,$22,$9B,$22 .db $A7,$22,$00,$00,$00,$00,$9A,$1B .db $AA,$1B,$00,$00,$4B,$1F,$86,$1F .db $BB,$1F,$F0,$1F,$00,$00,$00,$00 .db $00,$00,$00,$00,$25,$20,$7F,$20 .db $D3,$20,$27,$21,$00,$00,$00,$00 .db $00,$00,$00,$00,$BE,$1B,$00,$00 .db $7B,$21,$B6,$21,$EB,$21,$20,$22 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $D6,$1B,$E6,$1B,$9A,$1B,$00,$00 .db $50,$1D,$A6,$1D,$FB,$1D,$50,$1E .db $00,$00,$00,$00,$00,$00,$00,$00 .db $7D,$1E,$B5,$1E,$E7,$1E,$19,$1F .db $00,$00,$00,$00,$00,$00,$00,$00 .db $FC,$1B,$0C,$1C,$00,$00,$1C,$1C .db $3F,$1C,$68,$1C,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$79,$1C .db $DC,$1C,$33,$1D,$F9,$1C,$16,$1D .db $AB,$1C,$00,$00,$00,$00,$DA,$12 .db $E2,$14,$DE,$14,$14,$20,$DB,$0A .db $0C,$6D,$AA,$0C,$3D,$AD,$0C,$6D .db $A8,$0C,$3D,$AD,$0C,$6D,$A6,$0C .db $3D,$AD,$18,$6D,$B2,$60,$B9,$C6 .db $00,$DA,$12,$DB,$0A,$06,$C7,$0C .db $6B,$AA,$0C,$3B,$AD,$0C,$6B,$A8 .db $0C,$3B,$AD,$0C,$6B,$A6,$0C,$3B .db $AD,$18,$6B,$B2,$42,$B9,$DA,$00 .db $08,$4B,$B9,$B2,$B2,$B9,$B9,$BE .db $48,$BE,$DA,$12,$DE,$14,$14,$20 .db $DB,$0A,$18,$5D,$9A,$99,$98,$97 .db $60,$96,$C6,$DA,$12,$E2,$23,$DE .db $14,$14,$20,$DB,$0A,$18,$6D,$A6 .db $A8,$48,$6D,$AB,$0C,$3D,$A8,$AB .db $48,$6D,$AF,$0C,$3D,$AB,$AF,$18 .db $6E,$B2,$0C,$3E,$AF,$B2,$18,$6E .db $B4,$0C,$3E,$B2,$B4,$30,$6F,$B7 .db $BB,$60,$BE,$C6,$00,$DA,$12,$DE .db $14,$14,$20,$DB,$0A,$06,$C7,$18 .db $6B,$A6,$A8,$48,$6B,$AB,$0C,$3B .db $A8,$AB,$48,$6B,$AF,$0C,$3B,$AB .db $AF,$18,$6B,$B2,$0C,$3B,$AF,$B2 .db $18,$6B,$B4,$0C,$3B,$B2,$B4,$30 .db $6C,$B7,$BB,$60,$BE,$C6,$DA,$12 .db $DE,$14,$14,$20,$DB,$0F,$30,$C7 .db $48,$6D,$A8,$18,$C6,$48,$AB,$18 .db $C6,$AF,$C6,$B0,$C6,$30,$B4,$B7 .db $60,$BB,$C6,$DA,$12,$DE,$14,$14 .db $20,$DB,$05,$30,$C7,$48,$6D,$A4 .db $18,$C6,$48,$A8,$18,$C6,$AB,$C6 .db $AD,$C6,$30,$B0,$B4,$60,$B6,$C6 .db $DA,$12,$DE,$14,$14,$20,$DB,$0A .db $30,$C7,$48,$6D,$A1,$18,$C6,$48 .db $A4,$18,$C6,$A8,$C6,$AB,$C6,$30 .db $AD,$B0,$60,$B2,$C6,$DA,$12,$DE .db $14,$14,$20,$DB,$0A,$30,$C7,$48 .db $6D,$8E,$18,$C6,$48,$8E,$18,$C6 .db $8E,$C6,$8E,$C6,$30,$8E,$8E,$60 .db $93,$C6,$DA,$11,$E2,$32,$DB,$14 .db $0C,$7F,$A8,$DD,$00,$0C,$A3,$0C .db $7E,$A8,$DD,$00,$0C,$A3,$0C,$7D .db $A8,$DD,$00,$0C,$A3,$0C,$7C,$A8 .db $DD,$00,$0C,$A3,$0C,$7F,$A8,$DD .db $00,$0C,$A3,$0C,$7E,$A8,$DD,$00 .db $0C,$A3,$0C,$7D,$A8,$DD,$00,$0C .db $A3,$0C,$7C,$A8,$DD,$00,$0C,$A3 .db $18,$7F,$A8,$DD,$00,$18,$A3,$18 .db $7E,$A4,$DD,$00,$18,$9F,$60,$7E .db $A8,$DD,$00,$60,$AB,$60,$C7,$00 .db $DA,$11,$DB,$0A,$03,$C7,$0C,$7F .db $A2,$DD,$00,$0C,$9E,$0C,$7E,$A2 .db $DD,$00,$0C,$9E,$0C,$7D,$A2,$DD .db $00,$0C,$9E,$0C,$7C,$A2,$DD,$00 .db $0C,$9E,$0C,$7F,$A2,$DD,$00,$0C .db $9E,$0C,$7E,$A2,$DD,$00,$0C,$9E .db $0C,$7D,$A2,$DD,$00,$0C,$9E,$0C .db $7C,$A2,$DD,$00,$0C,$9E,$18,$7F .db $A2,$DD,$00,$18,$9D,$18,$7E,$9F .db $DD,$00,$18,$9A,$60,$7E,$A2,$DD .db $00,$60,$A5,$60,$C7,$DA,$11,$DB .db $05,$06,$C7,$0C,$7F,$9D,$DD,$00 .db $0C,$99,$0C,$7E,$9D,$DD,$00,$0C .db $99,$0C,$7D,$9D,$DD,$00,$0C,$99 .db $0C,$7C,$9D,$DD,$00,$0C,$99,$0C .db $7F,$9D,$DD,$00,$0C,$99,$0C,$7E .db $9D,$DD,$00,$0C,$99,$0C,$7D,$9D .db $DD,$00,$0C,$99,$0C,$7C,$9D,$DD .db $00,$0C,$99,$18,$7F,$9D,$DD,$00 .db $18,$97,$18,$7E,$9A,$DD,$00,$18 .db $95,$60,$7E,$9D,$DD,$00,$60,$A2 .db $60,$C7,$DA,$11,$DB,$0A,$06,$7E .db $D0,$06,$7D,$D0,$06,$7C,$D0,$06 .db $7B,$D0,$18,$79,$D0,$06,$7E,$D0 .db $06,$7D,$D0,$06,$7C,$D0,$06,$7B .db $D0,$18,$79,$D0,$30,$C6,$60,$7E .db $98,$DD,$00,$60,$9C,$60,$C7,$DA .db $11,$E2,$19,$E0,$FF,$E1,$60,$C8 .db $DB,$14,$18,$7F,$9A,$DD,$00,$0C .db $A1,$DD,$00,$0C,$98,$18,$7F,$9D .db $DD,$00,$0C,$A4,$DD,$00,$0C,$9C .db $18,$7F,$A1,$DD,$00,$0C,$A8,$DD .db $00,$0C,$9F,$18,$7E,$A4,$DD,$00 .db $0C,$AB,$DD,$00,$0C,$A3,$00,$DA .db $11,$DB,$00,$06,$C7,$18,$7F,$9A .db $DD,$00,$0C,$A1,$DD,$00,$0C,$98 .db $18,$7F,$9D,$DD,$00,$0C,$A4,$DD .db $00,$0C,$9C,$18,$7F,$A1,$DD,$00 .db $0C,$A8,$DD,$00,$0C,$9F,$18,$7E .db $A4,$DD,$00,$0C,$AB,$DD,$00,$0C .db $A3,$DA,$11,$DB,$0F,$0C,$C7,$18 .db $7F,$91,$DD,$00,$0C,$9A,$DD,$00 .db $0C,$90,$18,$7F,$95,$DD,$00,$0C .db $9D,$DD,$00,$0C,$93,$18,$7F,$98 .db $DD,$00,$0C,$9F,$DD,$00,$0C,$97 .db $18,$7E,$9D,$DD,$00,$0C,$A3,$DD .db $00,$0C,$9A,$DA,$11,$DB,$05,$12 .db $C7,$18,$7F,$91,$DD,$00,$0C,$9A .db $DD,$00,$0C,$90,$18,$7F,$95,$DD .db $00,$0C,$9D,$DD,$00,$0C,$93,$18 .db $7F,$98,$DD,$00,$0C,$9F,$DD,$00 .db $0C,$97,$18,$7E,$9D,$DD,$00,$18 .db $A3,$DD,$00,$18,$9A,$DA,$11,$E2 .db $19,$E0,$C8,$E1,$60,$64,$DB,$14 .db $DC,$30,$0A,$18,$7E,$A8,$DD,$00 .db $0C,$AF,$DD,$00,$0C,$A6,$18,$7D .db $AB,$DD,$00,$0C,$B0,$DD,$00,$0C .db $A8,$18,$7C,$AF,$DD,$00,$0C,$B5 .db $DD,$00,$0C,$AD,$18,$7B,$B2,$DD .db $00,$0C,$B9,$DD,$00,$0C,$B0,$00 .db $DA,$11,$DB,$00,$DC,$30,$0A,$06 .db $C7,$18,$7E,$A8,$DD,$00,$0C,$AF .db $DD,$00,$0C,$A6,$18,$7D,$AB,$DD .db $00,$0C,$B0,$DD,$00,$0C,$A8,$18 .db $7C,$AF,$DD,$00,$0C,$B5,$DD,$00 .db $0C,$AD,$18,$7B,$B2,$DD,$00,$0C .db $B9,$DD,$00,$0C,$B0,$DA,$11,$DB .db $0F,$DC,$30,$0A,$0C,$C7,$18,$7E .db $9F,$DD,$00,$0C,$A6,$DD,$00,$0C .db $9D,$18,$7D,$A3,$DD,$00,$0C,$A9 .db $DD,$00,$0C,$A1,$18,$7C,$A6,$DD .db $00,$0C,$AB,$DD,$00,$0C,$A4,$18 .db $7B,$A9,$DD,$00,$0C,$AF,$DD,$00 .db $0C,$A8,$DA,$11,$DB,$05,$DC,$30 .db $0A,$12,$C7,$18,$7E,$9F,$DD,$00 .db $0C,$A6,$DD,$00,$0C,$9D,$18,$7D .db $A3,$DD,$00,$0C,$A9,$DD,$00,$0C .db $A1,$18,$7C,$A6,$DD,$00,$0C,$AB .db $DD,$00,$0C,$A4,$18,$7B,$A9,$DD .db $00,$0C,$AF,$DD,$00,$0C,$A8,$DA .db $11,$E0,$64,$E1,$60,$FF,$DB,$0A .db $DC,$60,$14,$18,$7B,$B2,$DD,$00 .db $0C,$B9,$DD,$00,$0C,$B0,$18,$7B .db $AF,$DD,$00,$0C,$B5,$DD,$00,$0C .db $AD,$18,$7C,$AB,$DD,$00,$0C,$B0 .db $DD,$00,$0C,$A8,$18,$7C,$A8,$DD .db $00,$0C,$AF,$DD,$00,$0C,$B2,$18 .db $7D,$A4,$DD,$00,$0C,$AB,$DD,$00 .db $0C,$AF,$18,$7E,$A1,$DD,$00,$0C .db $A8,$DD,$00,$0C,$9F,$2A,$7F,$9D .db $DD,$00,$0C,$A4,$DD,$00,$1E,$9C .db $00,$DB,$0A,$DC,$60,$00,$06,$C7 .db $18,$7B,$B2,$DD,$00,$0C,$B9,$DD .db $00,$0C,$B0,$18,$7B,$AF,$DD,$00 .db $0C,$B5,$DD,$00,$0C,$AD,$18,$7C .db $AB,$DD,$00,$0C,$B0,$DD,$00,$0C .db $A8,$18,$7C,$A8,$DD,$00,$0C,$AF .db $DD,$00,$0C,$B2,$18,$7D,$A4,$DD .db $00,$0C,$AB,$DD,$00,$0C,$AF,$18 .db $7E,$A1,$DD,$00,$0C,$A8,$DD,$00 .db $0C,$9F,$24,$7F,$9D,$DD,$00,$0C .db $A4,$DD,$00,$18,$9C,$DB,$0A,$DC .db $60,$0F,$0C,$C7,$18,$7B,$A9,$DD .db $00,$0C,$AD,$DD,$00,$0C,$9C,$18 .db $7B,$A6,$DD,$00,$0C,$AB,$DD,$00 .db $0C,$A4,$18,$7C,$A3,$DD,$00,$0C .db $A9,$DD,$00,$0C,$A1,$18,$7C,$9F .db $DD,$00,$0C,$A6,$DD,$00,$0C,$9D .db $18,$7D,$9C,$DD,$00,$0C,$A3,$DD .db $00,$0C,$9A,$18,$7E,$98,$DD,$00 .db $0C,$A1,$DD,$00,$0C,$97,$1E,$7F .db $95,$DD,$00,$0C,$9D,$DD,$00,$12 .db $93,$DB,$0A,$DC,$60,$05,$12,$C7 .db $18,$7B,$A9,$DD,$00,$0C,$AD,$DD .db $00,$0C,$9C,$18,$7B,$A6,$DD,$00 .db $0C,$AB,$DD,$00,$0C,$A4,$18,$7C .db $A3,$DD,$00,$0C,$A9,$DD,$00,$0C .db $A1,$18,$7C,$9F,$DD,$00,$0C,$A6 .db $DD,$00,$0C,$9D,$18,$7D,$9C,$DD .db $00,$0C,$A3,$DD,$00,$0C,$9A,$18 .db $7E,$98,$DD,$00,$0C,$A1,$DD,$00 .db $0C,$97,$18,$7F,$95,$DD,$00,$0C .db $9D,$DD,$00,$0C,$93,$DA,$11,$E2 .db $19,$E0,$FF,$E1,$60,$C8,$DB,$14 .db $DC,$60,$0A,$18,$7F,$A8,$DD,$00 .db $0C,$AF,$DD,$00,$0C,$B2,$18,$7E .db $A4,$DD,$00,$0C,$AB,$DD,$00,$0C .db $AF,$18,$7D,$A1,$DD,$00,$0C,$A8 .db $DD,$00,$0C,$9F,$2A,$7C,$9D,$DD .db $00,$0C,$A4,$DD,$00,$1E,$9C,$00 .db $DA,$11,$DB,$00,$DC,$60,$0A,$06 .db $C7,$18,$7F,$A8,$DD,$00,$0C,$AF .db $DD,$00,$0C,$B2,$18,$7E,$A4,$DD .db $00,$0C,$AB,$DD,$00,$0C,$AF,$18 .db $7D,$A1,$DD,$00,$0C,$A8,$DD,$00 .db $0C,$9F,$24,$7C,$9D,$DD,$00,$0C .db $A4,$DD,$00,$18,$9C,$DA,$11,$DB .db $0F,$DC,$60,$0A,$0C,$C7,$18,$7F .db $9F,$DD,$00,$0C,$A6,$DD,$00,$0C .db $9D,$18,$7E,$9C,$DD,$00,$0C,$A3 .db $DD,$00,$0C,$9A,$18,$7D,$98,$DD .db $00,$0C,$A1,$DD,$00,$0C,$97,$1E .db $7C,$95,$DD,$00,$0C,$9D,$DD,$00 .db $12,$93,$DA,$11,$DB,$05,$DC,$60 .db $0A,$12,$C7,$18,$7F,$9F,$DD,$00 .db $0C,$A6,$DD,$00,$0C,$9D,$18,$7E .db $9C,$DD,$00,$0C,$A3,$DD,$00,$0C .db $9A,$18,$7D,$98,$DD,$00,$0C,$A1 .db $DD,$00,$0C,$97,$18,$7C,$95,$DD .db $00,$0C,$9D,$DD,$00,$0C,$93,$DA .db $04,$E2,$28,$DB,$0A,$48,$7E,$A3 .db $C6,$DD,$0C,$60,$97,$E2,$41,$00 .db $DA,$04,$E2,$32,$DB,$0A,$48,$7E .db $A3,$C6,$DD,$0C,$60,$97,$E2,$46 .db $00,$DA,$04,$DB,$14,$48,$7E,$A8 .db $C6,$DD,$0C,$60,$97,$DA,$04,$DB .db $0F,$48,$7E,$AD,$C6,$DD,$0C,$60 .db $97,$DA,$04,$DB,$05,$48,$7E,$B2 .db $C6,$DD,$0C,$60,$97,$DA,$04,$DB .db $00,$48,$7E,$B7,$C6,$DD,$0C,$60 .db $97,$DA,$04,$DB,$0A,$48,$7E,$BB .db $C6,$DD,$0C,$60,$97,$DA,$04,$E2 .db $0D,$E3,$FF,$1E,$DB,$14,$18,$7D .db $84,$8A,$89,$88,$82,$83,$18,$7E .db $84,$8A,$89,$88,$82,$83,$18,$7F .db $84,$8A,$89,$88,$C7,$C7,$00,$DA .db $04,$DB,$0A,$18,$7D,$90,$96,$95 .db $94,$8E,$8F,$18,$7E,$90,$96,$95 .db $94,$8E,$8F,$18,$7F,$90,$96,$95 .db $94,$C7,$C7,$DA,$04,$DB,$00,$18 .db $7D,$8B,$91,$90,$8F,$89,$8A,$18 .db $7E,$8B,$91,$90,$8F,$89,$8A,$18 .db $7F,$8B,$91,$90,$8F,$C7,$C7,$DA .db $04,$DB,$0F,$60,$7D,$C7,$30,$C7 .db $18,$7E,$97,$9D,$9C,$9B,$95,$96 .db $18,$7F,$97,$9D,$9C,$9B,$C7,$C7 .db $DA,$04,$DB,$0A,$60,$C7,$C7,$C7 .db $18,$7F,$9C,$A2,$A1,$A0,$C7,$C7 .db $DA,$04,$DB,$0A,$06,$C7,$18,$79 .db $90,$96,$95,$94,$8E,$8F,$18,$7B .db $97,$9D,$9C,$9B,$95,$96,$18,$7C .db $9C,$A2,$A1,$12,$A0,$18,$C7,$C7 .db $DA,$04,$DB,$0A,$18,$7D,$D0,$D0 .db $D0,$D0,$D0,$D0,$18,$7E,$D0,$D0 .db $D0,$D0,$D0,$D0,$0C,$7F,$D0,$D0 .db $D0,$D0,$D0,$D0,$D0,$D0,$C7,$C7 .db $C7,$C7,$DA,$04,$E2,$14,$E3,$FF .db $28,$DB,$14,$48,$7E,$84,$DB,$08 .db $48,$A2,$DB,$0A,$48,$A3,$C6,$DD .db $0C,$60,$97,$E2,$3C,$00,$DA,$04 .db $DB,$12,$0C,$7E,$C7,$48,$89,$DB .db $06,$3C,$A7,$DB,$14,$48,$A8,$C6 .db $DD,$0C,$60,$97,$DA,$04,$DB,$10 .db $18,$7E,$C7,$48,$8E,$DB,$04,$30 .db $AC,$DB,$0F,$48,$AD,$C6,$DD,$0C .db $60,$97,$DA,$04,$DB,$0E,$24,$7E .db $C7,$48,$93,$DB,$02,$24,$B1,$DB .db $05,$48,$B2,$C6,$DD,$0C,$60,$97 .db $DA,$04,$DB,$0C,$30,$7E,$C7,$48 .db $98,$DB,$00,$18,$B6,$DB,$00,$48 .db $B7,$C6,$DD,$0C,$60,$97,$DA,$04 .db $DB,$0A,$3C,$7E,$C7,$48,$9D,$DB .db $00,$0C,$BA,$DB,$0A,$48,$BB,$C6 .db $DD,$0C,$60,$97,$E7,$F0,$DA,$11 .db $DE,$48,$07,$30,$DB,$0A,$08,$7E .db $97,$9A,$9D,$48,$A3,$54,$A2,$6C .db $9C,$60,$C6,$00,$E7,$F0,$DA,$11 .db $DE,$48,$07,$30,$DB,$0C,$08,$7C .db $C6,$C6,$97,$9A,$9D,$48,$A3,$54 .db $A2,$6C,$9C,$60,$C6,$08,$C6,$C6 .db $08,$97,$9A,$9D,$48,$A3,$54,$A2 .db $6C,$A6,$60,$C6,$00,$DA,$0F,$DB .db $0F,$60,$7D,$C6,$54,$9E,$6C,$A1 .db $C6,$DA,$0F,$DB,$0F,$60,$7D,$C6 .db $54,$A1,$6C,$A7,$C6,$DA,$11,$DB .db $0F,$60,$7D,$97,$96,$95,$94,$DA .db $11,$DB,$05,$60,$7D,$90,$8F,$8E .db $8D,$DA,$0E,$DB,$0A,$0C,$7F,$90 .db $C6,$90,$C6,$90,$C6,$90,$C6,$0C .db $90,$90,$90,$8E,$C6,$8E,$8E,$8F .db $18,$90,$90,$90,$90,$0C,$90,$90 .db $90,$8E,$C6,$8E,$8E,$8F,$00,$DA .db $01,$DB,$0A,$E9,$9D,$24,$04,$18 .db $7E,$D0,$C6,$0C,$D0,$D0,$18,$C6 .db $0C,$D0,$C6,$C6,$D0,$C6,$D0,$C6 .db $C6,$00,$DA,$01,$DB,$0A,$E9,$B8 .db $24,$10,$18,$7E,$C6,$D8,$00,$18 .db $7E,$C6,$D8,$C6,$D8,$C6,$D8,$C6 .db $D8,$C6,$D8,$C6,$D8,$0C,$C6,$D8 .db $D8,$D8,$D8,$D8,$D8,$D8,$00,$08 .db $C6,$C6,$60,$A9,$54,$A8,$6C,$A0 .db $48,$C6,$18,$A9,$00,$DB,$0A,$0C .db $3D,$97,$9D,$97,$C6,$97,$9D,$97 .db $C6,$0C,$3E,$97,$0C,$3D,$9D,$97 .db $0C,$3E,$9D,$0C,$3D,$C6,$9C,$0C .db $3E,$97,$0C,$3D,$9D,$97,$9D,$97 .db $C6,$97,$9D,$97,$C6,$0C,$3E,$97 .db $0C,$3D,$9D,$97,$0C,$3E,$9D,$0C .db $3D,$C6,$9C,$0C,$3E,$97,$0C,$3D .db $9D,$DB,$05,$01,$3C,$C7,$0C,$9D .db $97,$9D,$C6,$9D,$97,$9D,$C6,$0C .db $3D,$9D,$0C,$3C,$97,$9D,$0C,$3D .db $97,$0C,$3C,$C6,$97,$0C,$3D,$9C .db $0C,$3C,$97,$0C,$9D,$97,$9D,$C6 .db $9D,$97,$9D,$C6,$0C,$3D,$9D,$0C .db $3C,$97,$9D,$0C,$3D,$97,$0C,$3C .db $C6,$97,$0C,$3D,$9C,$0C,$3C,$97 .db $0C,$88,$C6,$88,$C6,$88,$C6,$88 .db $C6,$88,$C6,$88,$88,$C6,$88,$88 .db $88,$0C,$88,$C6,$88,$C6,$88,$C6 .db $88,$C6,$88,$C6,$88,$88,$C6,$88 .db $88,$88,$00,$DA,$01,$DB,$0A,$E9 .db $89,$25,$04,$18,$7E,$D0,$C6,$0C .db $D0,$D0,$18,$C6,$0C,$C6,$D0,$D0 .db $C6,$D0,$D0,$C6,$D0,$00,$DA,$01 .db $DB,$0A,$E9,$A4,$25,$04,$18,$7E .db $C6,$D8,$C6,$D8,$0C,$7E,$D8,$C6 .db $C6,$D8,$C6,$C6,$D8,$C6,$00,$08 .db $C6,$C6,$60,$A8,$54,$A7,$6C,$9F .db $48,$C6,$30,$A8,$0C,$96,$9C,$96 .db $C6,$96,$9C,$96,$C6,$0C,$3E,$96 .db $0C,$3D,$9C,$96,$0C,$3E,$9C,$0C .db $3D,$C6,$9B,$0C,$3E,$96,$0C,$3D .db $9C,$0C,$96,$9C,$96,$C6,$96,$9C .db $96,$C6,$0C,$3E,$96,$0C,$3D,$9C .db $96,$0C,$3E,$9C,$0C,$3D,$C6,$9B .db $0C,$3E,$96,$0C,$3D,$9C,$01,$C7 .db $0C,$9C,$96,$9C,$C6,$9C,$96,$9C .db $C6,$0C,$3D,$9C,$0C,$3C,$96,$9C .db $0C,$3D,$96,$0C,$3C,$C6,$96,$0C .db $3D,$9B,$0C,$3C,$96,$0C,$9C,$96 .db $9C,$C6,$9C,$96,$9C,$C6,$0C,$3D .db $9C,$0C,$3C,$96,$9C,$0C,$3D,$96 .db $0C,$3C,$C6,$96,$0C,$3D,$9B,$0C .db $3C,$96,$0C,$87,$C6,$87,$C6,$87 .db $C6,$87,$C6,$87,$C6,$87,$87,$C6 .db $87,$87,$87,$0C,$87,$C6,$87,$C6 .db $87,$C6,$87,$C6,$87,$C6,$87,$87 .db $C6,$87,$87,$87,$00,$08,$C6,$C6 .db $E8,$FF,$28,$60,$C6,$18,$C6,$DD .db $00,$30,$BB,$48,$C6,$60,$C6,$C6 .db $00,$DA,$01,$E2,$2D,$DE,$14,$14 .db $20,$DB,$05,$30,$5D,$B4,$B2,$B0 .db $60,$AF,$C6,$30,$C6,$00,$DA,$01 .db $DE,$14,$14,$20,$DB,$0F,$30,$5D .db $B0,$AF,$AD,$60,$AB,$C6,$C6,$DA .db $01,$DE,$14,$14,$20,$DB,$0A,$0C .db $5D,$B7,$B9,$B7,$B9,$B7,$B9,$B7 .db $B9,$B7,$B9,$B7,$B9,$06,$B7,$B9 .db $B7,$B9,$B7,$B9,$B7,$B9,$60,$B7 .db $60,$59,$C3,$DA,$00,$DE,$14,$14 .db $20,$DB,$0A,$0C,$59,$B7,$B9,$B7 .db $B9,$B7,$B9,$B7,$B9,$B7,$B9,$B7 .db $B9,$06,$B7,$B9,$B7,$B9,$B7,$B9 .db $B7,$B9,$60,$B7,$C6,$C6,$DA,$01 .db $E2,$32,$DE,$14,$14,$20,$DB,$0A .db $18,$5D,$C7,$0C,$B7,$B9,$C0,$C7 .db $B7,$B9,$30,$C0,$C6,$18,$C7,$0C .db $B7,$B9,$C1,$C7,$B7,$B9,$30,$C1 .db $C6,$18,$C7,$0C,$B7,$B8,$C1,$C7 .db $B7,$B8,$30,$C1,$C6,$18,$C7,$0C .db $B7,$B9,$C0,$C7,$B7,$B9,$30,$C0 .db $C6,$00,$DA,$00,$DE,$14,$13,$20 .db $DB,$0A,$60,$59,$C7,$30,$C7,$0C .db $B7,$B9,$B7,$B9,$60,$B7,$30,$C7 .db $0C,$B7,$B9,$B7,$B9,$60,$B7,$30 .db $C7,$0C,$B7,$B8,$B7,$B8,$B7,$B4 .db $B0,$AD,$B0,$AD,$AB,$A8,$AB,$A8 .db $A4,$A1,$60,$9F,$DA,$01,$DE,$14 .db $15,$20,$DB,$0F,$18,$5D,$C7,$0C .db $B4,$B5,$BC,$C7,$B4,$B5,$30,$BC .db $C6,$18,$C7,$0C,$B4,$B5,$BE,$C7 .db $B4,$B5,$30,$BE,$C6,$18,$C7,$0C .db $B2,$B5,$BE,$C7,$B2,$B5,$30,$BE .db $C6,$18,$C7,$0C,$B4,$B5,$BC,$C7 .db $B4,$B5,$30,$BC,$C6,$DA,$04,$DB .db $0A,$DE,$14,$13,$20,$60,$5E,$8C .db $48,$C6,$18,$8C,$60,$8C,$48,$C6 .db $18,$8C,$60,$8C,$48,$C6,$18,$8C .db $60,$8C,$48,$C6,$18,$8C,$DA,$01 .db $DB,$05,$DE,$14,$14,$20,$60,$5E .db $98,$48,$C6,$18,$98,$60,$98,$48 .db $C6,$18,$98,$60,$98,$48,$C6,$18 .db $98,$60,$98,$48,$C6,$18,$98,$DA .db $01,$DB,$0F,$DE,$14,$15,$20,$E7 .db $AA,$E8,$C0,$F0,$18,$3E,$C7,$0C .db $AB,$AB,$18,$AB,$AB,$AB,$AB,$AB .db $AB,$E7,$AA,$E8,$C0,$F0,$18,$C7 .db $0C,$AD,$AD,$18,$AD,$AD,$AD,$AD .db $AD,$AD,$E7,$AA,$E8,$C0,$F0,$18 .db $C7,$0C,$AC,$AC,$18,$AC,$AC,$AC .db $AC,$AC,$AC,$E7,$AA,$E8,$C0,$F0 .db $18,$C7,$0C,$AB,$AB,$18,$AB,$AB .db $AB,$AB,$AB,$AB,$DA,$01,$DB,$0F .db $DE,$14,$14,$20,$E7,$AA,$E8,$C0 .db $F0,$18,$3E,$C7,$0C,$A8,$A8,$18 .db $A8,$A8,$A8,$A8,$A8,$A8,$E7,$AA .db $E8,$C0,$F0,$18,$C7,$0C,$A9,$A9 .db $18,$A9,$A9,$A9,$A9,$A9,$A9,$E7 .db $AA,$E8,$C0,$F0,$18,$C7,$0C,$A9 .db $A9,$18,$A9,$A9,$A9,$A9,$A9,$A9 .db $E7,$AA,$E8,$C0,$F0,$18,$C7,$0C .db $A8,$A8,$18,$A8,$A8,$A8,$A8,$A8 .db $A8,$DA,$01,$DB,$05,$E9,$67,$28 .db $04,$E7,$DC,$E8,$60,$64,$06,$7E .db $D7,$D7,$D7,$D7,$D7,$D7,$D7,$D7 .db $D7,$D7,$D7,$D7,$D7,$D7,$D7,$D7 .db $E7,$AA,$48,$C7,$18,$5E,$D6,$00 .db $60,$A9,$C6,$18,$7C,$AB,$B2,$B7 .db $B9,$30,$BA,$BB,$60,$C6,$00,$DA .db $01,$DE,$14,$15,$20,$60,$7C,$A4 .db $C6,$18,$A3,$A9,$AF,$B0,$30,$B1 .db $B2,$60,$C6,$30,$5B,$C6,$B9,$30 .db $B5,$B2,$60,$B0,$AF,$C6,$DA,$00 .db $DB,$0A,$DE,$14,$14,$20,$18,$5D .db $C7,$0C,$A6,$A5,$18,$A6,$A9,$AD .db $A9,$AD,$B5,$60,$B4,$B2,$C6,$60 .db $8E,$C6,$60,$93,$C6,$C6,$DA,$01 .db $DB,$0A,$60,$6D,$A1,$C6,$60,$A3 .db $DA,$10,$06,$6D,$AB,$AF,$B2,$B5 .db $B7,$BB,$BE,$C1,$30,$C3,$60,$C6 .db $60,$9A,$C6,$60,$9F,$C6,$C6,$DA .db $01,$DB,$05,$E7,$C8,$E8,$30,$64 .db $06,$7E,$D7,$D7,$D7,$D7,$D7,$D7 .db $D7,$D7,$30,$C7,$60,$C7,$E7,$C8 .db $E8,$60,$64,$06,$7E,$D7,$D7,$D7 .db $D7,$D7,$D7,$D7,$D7,$D7,$D7,$D7 .db $D7,$D7,$D7,$D7,$D7,$D7,$D7,$D7 .db $D7,$D7,$D7,$D7,$D7,$D7,$D7,$D7 .db $D7,$D7,$D7,$D7,$D7,$60,$C7,$00 .db $F0,$DA,$04,$E2,$40,$DB,$05,$30 .db $5C,$AB,$AB,$AA,$AA,$18,$A9,$A6 .db $AD,$60,$AB,$18,$C7,$00,$DA,$00 .db $DB,$0A,$30,$5C,$B7,$B7,$B6,$B6 .db $18,$B5,$B2,$B9,$60,$B7,$18,$C7 .db $DA,$04,$DB,$0A,$30,$5C,$A8,$A8 .db $A7,$A7,$18,$A6,$A2,$A9,$60,$A8 .db $18,$C7,$DA,$04,$DB,$0F,$30,$5C .db $A4,$A4,$A4,$A4,$18,$A2,$9F,$A6 .db $60,$A4,$18,$C7,$DA,$0E,$DB,$0A .db $30,$5D,$95,$95,$94,$94,$18,$93 .db $C7,$93,$8C,$C6,$8C,$8C,$8C,$DA .db $07,$DB,$0A,$18,$5B,$91,$A4,$A4 .db $91,$A4,$A4,$91,$A4,$8E,$A1,$A1 .db $8E,$A1,$A1,$8E,$A1,$91,$A4,$A4 .db $91,$A4,$A4,$91,$A4,$8E,$A1,$A1 .db $8E,$A1,$C6,$C6,$C6,$DA,$07,$DB .db $05,$18,$5B,$C7,$A9,$A9,$C7,$A9 .db $A9,$C7,$A9,$C7,$A6,$A6,$C7,$A6 .db $A6,$C7,$A6,$C7,$A9,$A9,$C7,$A9 .db $A9,$C7,$A9,$C7,$A6,$A6,$C7,$A6 .db $C6,$C6,$C6,$00,$DA,$0C,$DB,$0F .db $DB,$0A,$E7,$FF,$24,$6F,$B5,$0C .db $B0,$18,$B2,$24,$B5,$0C,$B0,$18 .db $B2,$0C,$B5,$B9,$B0,$B2,$24,$B5 .db $0C,$B0,$18,$B2,$24,$B5,$0C,$B0 .db $18,$B2,$0C,$B5,$B9,$B0,$B2,$24 .db $B5,$0C,$B0,$18,$B2,$24,$B5,$0C .db $B0,$18,$B2,$0C,$B5,$B9,$B0,$B2 .db $24,$B5,$0C,$B0,$18,$B2,$24,$B5 .db $0C,$B0,$18,$B2,$0C,$B5,$B9,$B0 .db $B2,$DE,$00,$00,$00,$DA,$01,$DB .db $0A,$EC,$00,$06,$08,$30,$5D,$B9 .db $24,$B5,$0C,$B0,$18,$B5,$B5,$24 .db $B5,$0C,$B0,$18,$B5,$B5,$B5,$BC .db $30,$B9,$24,$B7,$0C,$B0,$00,$DE .db $00,$00,$00,$DA,$02,$DB,$05,$30 .db $59,$B9,$24,$B5,$0C,$B0,$18,$B5 .db $B5,$24,$B5,$0C,$B0,$18,$B5,$B5 .db $B5,$BC,$30,$B9,$24,$B7,$0C,$B0 .db $DA,$07,$DB,$0A,$18,$59,$91,$A4 .db $91,$A4,$91,$A4,$91,$A4,$91,$A4 .db $91,$A4,$91,$C7,$8C,$C6,$DA,$07 .db $DB,$05,$18,$59,$C7,$A1,$C7,$A1 .db $C7,$A1,$C7,$A1,$C7,$A1,$C7,$A1 .db $A1,$C7,$9F,$C6,$DA,$07,$DB,$0F .db $18,$59,$C7,$A9,$C7,$A9,$C7,$A9 .db $C7,$A9,$C7,$A9,$C7,$A9,$A4,$C7 .db $A8,$C6,$30,$B9,$24,$B5,$0C,$B0 .db $18,$B5,$B5,$24,$B5,$0C,$B0,$18 .db $B5,$BC,$B9,$B7,$30,$B5,$DA,$0F .db $18,$A1,$C6,$00,$30,$B9,$24,$B5 .db $0C,$B0,$18,$B5,$B5,$24,$B5,$0C .db $B0,$18,$B5,$BC,$B9,$B7,$30,$B5 .db $DA,$0F,$18,$AD,$C6,$18,$91,$A4 .db $91,$A4,$91,$A4,$91,$A4,$91,$A4 .db $98,$A8,$91,$C7,$91,$C7,$18,$C7 .db $A1,$C7,$A1,$C7,$A1,$C7,$A1,$C7 .db $A1,$C7,$A4,$A1,$C7,$A1,$C7,$18 .db $C7,$A9,$C7,$A9,$C7,$A9,$C7,$A9 .db $C7,$A9,$C7,$AB,$A4,$C7,$A4,$C7 .db $DA,$01,$30,$B9,$18,$B5,$B0,$30 .db $B9,$B5,$0C,$B8,$B5,$18,$B0,$30 .db $B8,$60,$B7,$00,$18,$96,$A6,$96 .db $A6,$95,$A4,$95,$A4,$94,$A4,$94 .db $A4,$93,$A6,$8C,$A4,$00,$18,$C7 .db $A2,$C7,$A2,$C7,$A1,$C7,$A1,$C7 .db $A0,$C7,$A0,$C7,$A2,$C7,$A2,$18 .db $C7,$A9,$C7,$A9,$C7,$A9,$C7,$A9 .db $C7,$A9,$C7,$A9,$C7,$A9,$C7,$A8 .db $30,$B9,$18,$B5,$B0,$30,$B9,$B5 .db $0C,$B8,$B5,$18,$B0,$60,$BC,$30 .db $C7,$00,$DA,$01,$DB,$0A,$E2,$40 .db $EC,$00,$06,$08,$30,$5D,$BE,$BE .db $BE,$BE,$18,$BC,$BC,$B9,$B7,$30 .db $B5,$DA,$0F,$18,$A1,$C6,$00,$DA .db $01,$DB,$0A,$EC,$00,$06,$08,$30 .db $5D,$BA,$BA,$BB,$BB,$18,$B9,$B9 .db $B5,$B4,$30,$B0,$DA,$0F,$18,$95 .db $C6,$00,$DA,$02,$DB,$05,$30,$59 .db $BE,$BE,$BE,$BE,$18,$BC,$BC,$B9 .db $B7,$30,$B5,$DA,$0F,$18,$A1,$C6 .db $00,$DA,$07,$DB,$0A,$18,$59,$96 .db $A6,$96,$A6,$97,$A6,$97,$A6,$98 .db $A8,$98,$A8,$91,$C7,$91,$C7,$DA .db $07,$DB,$05,$18,$59,$C7,$A2,$C7 .db $A2,$C7,$A3,$C7,$A3,$C7,$A4,$C7 .db $A4,$A1,$C7,$A1,$C7,$DA,$07,$DB .db $0F,$18,$59,$C7,$A9,$C7,$A9,$C7 .db $A9,$C7,$A9,$C7,$AB,$C7,$AB,$A4 .db $C7,$A4,$C7,$DA,$0C,$DB,$0F,$DB .db $0A,$E7,$FF,$24,$6F,$B5,$0C,$B0 .db $18,$B2,$24,$B5,$0C,$B0,$18,$B2 .db $0C,$B5,$B9,$B0,$B2,$24,$B5,$0C .db $B0,$18,$B2,$B5,$B5,$C6,$B5,$C6 .db $F0,$DA,$04,$E2,$2D,$DE,$23,$13 .db $30,$DB,$0A,$18,$4C,$C6,$0C,$B9 .db $B9,$18,$3C,$B9,$18,$5C,$B9,$B5 .db $B0,$0C,$4C,$B2,$C7,$C7,$B5,$60 .db $B5,$30,$C6,$18,$C7,$0C,$B0,$B0 .db $18,$3C,$B0,$B5,$E3,$30,$26,$10 .db $5C,$B5,$BC,$BC,$60,$6D,$B9,$30 .db $C6,$00,$DA,$04,$DE,$23,$14,$30 .db $DB,$0A,$18,$4C,$C6,$0C,$B2,$B2 .db $18,$3C,$B2,$18,$5C,$B2,$AE,$A9 .db $0C,$4C,$AD,$C7,$C7,$AE,$60,$AE .db $30,$C6,$18,$C7,$0C,$AB,$AB,$18 .db $3C,$AB,$AE,$10,$5C,$AE,$B7,$B7 .db $60,$B4,$30,$C6,$DA,$04,$DE,$23 .db $13,$30,$DB,$0A,$18,$4C,$C6,$0C .db $AE,$AE,$18,$3C,$AE,$18,$5C,$AE .db $A9,$A6,$0C,$4C,$A9,$C7,$C7,$A9 .db $60,$A9,$30,$C6,$18,$C7,$0C,$A7 .db $A7,$18,$3C,$A7,$AB,$10,$5C,$AB .db $B1,$B1,$60,$B0,$30,$C6,$DA,$04 .db $DE,$23,$14,$30,$DB,$0A,$18,$4C .db $C6,$0C,$A9,$A9,$18,$3C,$A9,$18 .db $5C,$A9,$A6,$A1,$0C,$4C,$A2,$C7 .db $C7,$A6,$60,$A6,$30,$C6,$18,$C7 .db $0C,$A2,$A2,$18,$3C,$A2,$A5,$10 .db $5C,$A5,$AE,$AE,$60,$AD,$30,$C6 .db $DA,$02,$DB,$14,$60,$6B,$C7,$C7 .db $DC,$90,$00,$06,$A6,$A9,$AD,$AE .db $A9,$AD,$AE,$B2,$AD,$AE,$B2,$B5 .db $AE,$B2,$B5,$B9,$B2,$B5,$B9,$BA .db $B5,$B9,$BA,$BE,$60,$C1,$C7,$C7 .db $C7,$DA,$02,$DB,$14,$04,$69,$C7 .db $60,$C7,$C7,$DC,$90,$00,$06,$A6 .db $A9,$AD,$AE,$A9,$AD,$AE,$B2,$AD .db $AE,$B2,$B5,$AE,$B2,$B5,$B9,$B2 .db $B5,$B9,$BA,$B5,$B9,$BA,$BE,$60 .db $C1,$C7,$C7,$C7,$DA,$04,$DE,$23 .db $11,$30,$DB,$0A,$60,$7E,$8C,$C6 .db $18,$C6,$0C,$8C,$8C,$18,$8C,$8C .db $10,$8C,$8D,$8E,$60,$8F,$10,$8F .db $8F,$8F,$60,$91,$30,$C6,$DA,$04 .db $DB,$0A,$60,$7E,$D5,$C6,$18,$C6 .db $0C,$D5,$D5,$18,$D5,$D5,$10,$D5 .db $D5,$D5,$60,$D5,$10,$D5,$D5,$D5 .db $06,$7D,$D5,$D5,$D5,$D5,$D5,$D5 .db $D5,$D5,$06,$D5,$D5,$D5,$D5,$D5 .db $D5,$D5,$D5,$06,$D5,$D5,$D5,$D5 .db $D5,$D5,$30,$6F,$D5,$F0,$DA,$01 .db $E2,$28,$E3,$8C,$46,$E0,$FF,$DE .db $23,$11,$40,$DB,$14,$60,$6E,$87 .db $DB,$04,$60,$B0,$30,$C6,$00,$DA .db $01,$DE,$23,$12,$40,$DB,$12,$0C .db $6E,$C7,$60,$8D,$DB,$02,$60,$B1 .db $24,$C6,$DA,$01,$DE,$23,$13,$40 .db $DB,$10,$18,$6E,$C7,$60,$93,$DB .db $00,$60,$B7,$18,$C6,$DA,$01,$DE .db $23,$12,$40,$DB,$0E,$24,$6E,$C7 .db $60,$99,$6C,$C6,$DA,$01,$DE,$23 .db $13,$40,$DB,$0C,$30,$6E,$C7,$60 .db $9F,$60,$C6,$DA,$01,$DE,$23,$12 .db $40,$DB,$0A,$30,$6E,$C7,$0C,$C7 .db $60,$A4,$54,$C6,$DA,$01,$DE,$23 .db $14,$40,$DB,$08,$48,$6E,$C7,$60 .db $A5,$48,$C6,$DA,$01,$DE,$23,$12 .db $40,$DB,$06,$48,$6E,$C7,$0C,$C7 .db $60,$AB,$3C,$C6,$E7,$64,$E8,$60 .db $C8,$DA,$01,$E2,$14,$DB,$14,$06 .db $6F,$B0,$06,$6B,$B0,$B0,$B0,$B0 .db $B0,$B0,$B0,$06,$6D,$B0,$06,$6C .db $B0,$B0,$B0,$B0,$B0,$B0,$B0,$E7 .db $64,$E8,$60,$C8,$06,$6F,$AF,$06 .db $6B,$AF,$AF,$AF,$AF,$AF,$AF,$AF .db $06,$6D,$AF,$06,$6C,$AF,$AF,$AF .db $AF,$AF,$AF,$AF,$E7,$64,$E8,$60 .db $C8,$06,$6F,$B0,$06,$6B,$B0,$B0 .db $B0,$B0,$B0,$B0,$B0,$06,$6D,$B0 .db $06,$6C,$B0,$B0,$B0,$B0,$B0,$B0 .db $B0,$E7,$64,$E8,$60,$C8,$06,$6F .db $AF,$06,$6B,$AF,$AF,$AF,$AF,$AF .db $AF,$AF,$06,$6D,$AF,$06,$6C,$AF .db $AF,$AF,$AF,$AF,$AF,$AF,$00,$E7 .db $64,$E8,$60,$C8,$DA,$01,$DB,$0F .db $06,$6F,$B5,$06,$6B,$B5,$B5,$B5 .db $B5,$B5,$B5,$B5,$06,$6D,$B5,$06 .db $6C,$B5,$B5,$B5,$B5,$B5,$B5,$B5 .db $E7,$64,$E8,$60,$C8,$06,$6F,$B7 .db $06,$6B,$B7,$B7,$B7,$B7,$B7,$B7 .db $B7,$06,$6D,$B7,$06,$6C,$B7,$B7 .db $B7,$B7,$B7,$B7,$B7,$E7,$64,$E8 .db $60,$C8,$06,$6F,$B8,$06,$6B,$B8 .db $B8,$B8,$B8,$B8,$B8,$B8,$06,$6D .db $B8,$06,$6C,$B8,$B8,$B8,$B8,$B8 .db $B8,$B8,$E7,$64,$E8,$60,$C8,$06 .db $6F,$B7,$06,$6B,$B7,$B7,$B7,$B7 .db $B7,$B7,$B7,$06,$6D,$B7,$06,$6C .db $B7,$B7,$B7,$B7,$B7,$B7,$B7,$DA .db $04,$E7,$C8,$DB,$0A,$DE,$28,$28 .db $20,$48,$6F,$C7,$18,$85,$30,$87 .db $C7,$48,$C7,$18,$85,$30,$87,$C7 .db $DA,$01,$E7,$FF,$DB,$0A,$DE,$1E .db $29,$20,$18,$6F,$A0,$C6,$9D,$98 .db $18,$9A,$48,$9D,$18,$C7,$98,$9D .db $A4,$30,$A0,$9F,$04,$C7,$DA,$01 .db $E7,$FF,$DB,$05,$DE,$1E,$28,$20 .db $18,$6C,$A0,$C6,$9D,$98,$18,$9A .db $48,$9D,$18,$C7,$98,$9D,$A4,$30 .db $A0,$9F,$E7,$64,$E8,$48,$C8,$DA .db $01,$E2,$14,$DB,$14,$06,$6F,$B0 .db $06,$6B,$B0,$B0,$B0,$B0,$B0,$B0 .db $B0,$06,$6D,$B0,$06,$6C,$B0,$B0 .db $B0,$E7,$DC,$18,$6E,$B0,$AF,$30 .db $C7,$18,$B0,$AF,$30,$C7,$18,$B0 .db $AF,$B0,$AE,$AF,$C6,$48,$C7,$60 .db $C7,$E7,$64,$E8,$48,$C8,$DA,$01 .db $DB,$0F,$06,$6F,$B5,$06,$6B,$B5 .db $B5,$B5,$B5,$B5,$B5,$B5,$06,$6D .db $B5,$06,$6C,$B5,$B5,$B5,$E7,$DC .db $18,$6E,$B5,$B7,$30,$C7,$18,$B5 .db $B7,$30,$C7,$18,$B5,$B7,$B8,$B6 .db $B7,$C6,$48,$C7,$60,$C7,$00,$DA .db $04,$E7,$FF,$DB,$0A,$DE,$23,$14 .db $40,$48,$6E,$C7,$18,$91,$93,$85 .db $87,$91,$93,$85,$87,$85,$87,$88 .db $86,$87,$C6,$48,$C7,$60,$C7,$DA .db $0A,$E7,$FF,$DB,$0A,$48,$6E,$C7 .db $18,$C7,$C7,$85,$87,$C7,$C7,$85 .db $87,$85,$87,$88,$86,$87,$C6,$48 .db $C7,$60,$C7,$C7,$DA,$01,$E7,$C8 .db $DB,$0A,$DE,$28,$28,$20,$48,$7E .db $C7,$18,$C1,$C3,$C7,$C7,$C1,$C3 .db $C7,$C7,$C1,$C3,$C4,$C2,$C3,$60 .db $C6,$30,$C6,$E2,$08,$E3,$30,$19 .db $03,$C1,$BE,$BB,$B8,$B7,$B5,$B2 .db $AF,$AC,$AB,$A9,$A6,$A3,$A0,$9F .db $C6,$18,$C6,$04,$C7,$DA,$01,$E7 .db $C8,$DB,$0A,$DE,$28,$29,$20,$48 .db $7B,$C7,$18,$C1,$C3,$C7,$C7,$C1 .db $C3,$C7,$C7,$C1,$C3,$C4,$C2,$C3 .db $60,$C6,$30,$C6,$03,$C1,$BE,$BB .db $B8,$B7,$B5,$B2,$AF,$AC,$AB,$A9 .db $A6,$A3,$A0,$9F,$C6,$18,$C6,$DA .db $01,$E7,$C8,$DB,$0A,$DE,$28,$28 .db $20,$48,$6E,$C7,$18,$AC,$B2,$C7 .db $C7,$AC,$B2,$C7,$C7,$AC,$B2,$B3 .db $B1,$B2,$C6,$48,$C7,$60,$C7,$DA .db $01,$E2,$19,$DB,$0F,$E7,$78,$E8 .db $30,$C8,$08,$7D,$A4,$A4,$A4,$AB .db $AB,$AB,$E8,$30,$78,$B3,$B3,$AB .db $AB,$AB,$A4,$E8,$30,$C8,$A4,$A4 .db $A4,$AD,$AD,$AD,$E8,$30,$78,$B3 .db $B3,$AD,$AD,$AD,$A4,$E8,$30,$C8 .db $A4,$A4,$A4,$AC,$AC,$AC,$E8,$30 .db $78,$B5,$B5,$AC,$AC,$AC,$A4,$E8 .db $30,$C8,$A6,$A6,$A6,$AF,$AF,$AF .db $E8,$30,$78,$B5,$B5,$AF,$AF,$AF .db $A6,$00,$DA,$01,$DB,$14,$E7,$78 .db $E8,$30,$C8,$04,$7D,$C6,$08,$9F .db $A7,$A7,$B0,$B0,$B0,$E8,$30,$78 .db $B0,$B0,$B0,$A7,$A7,$A7,$E8,$30 .db $C8,$A1,$A7,$A7,$A7,$B0,$B0,$E8 .db $30,$78,$B0,$B0,$B0,$A7,$A7,$A7 .db $E8,$30,$C8,$A0,$A9,$A9,$A9,$B0 .db $B0,$E8,$30,$78,$B0,$B0,$B0,$A9 .db $A9,$A9,$E8,$30,$C8,$A3,$A9,$A9 .db $A9,$B2,$B2,$E8,$30,$78,$B2,$B2 .db $B2,$A9,$A9,$A9,$DA,$01,$E7,$C8 .db $DB,$0A,$DE,$1E,$28,$20,$30,$6F .db $8C,$8C,$92,$92,$91,$91,$93,$93 .db $DA,$01,$E7,$C8,$DB,$0A,$DE,$1E .db $27,$20,$18,$6F,$8C,$8C,$8C,$8C .db $92,$92,$92,$92,$91,$91,$91,$91 .db $93,$93,$93,$93,$DA,$01,$E7,$C8 .db $DB,$0A,$DE,$1E,$28,$20,$0C,$6F .db $8C,$8C,$8C,$8C,$8C,$8C,$8C,$8C .db $92,$92,$92,$92,$92,$92,$92,$92 .db $91,$91,$91,$91,$91,$91,$91,$91 .db $93,$93,$93,$93,$93,$93,$93,$93 .db $DA,$04,$E7,$C8,$DB,$05,$DE,$1E .db $29,$20,$60,$7B,$8C,$DD,$0C,$12 .db $98,$DD,$0C,$12,$8C,$60,$7B,$92 .db $DD,$0C,$12,$9E,$DD,$0C,$12,$92 .db $60,$7B,$91,$DD,$0C,$12,$9D,$DD .db $0C,$12,$91,$60,$7B,$93,$DD,$0C .db $12,$9F,$DD,$0C,$12,$93,$DA,$01 .db $E7,$DC,$DB,$0A,$DE,$1E,$28,$20 .db $18,$7D,$B3,$C6,$B0,$AB,$18,$AA .db $48,$B0,$18,$C7,$AB,$B0,$B7,$30 .db $B3,$B2,$DA,$01,$E7,$DC,$DB,$0A .db $DE,$18,$29,$20,$18,$7C,$AB,$C6 .db $A7,$A4,$18,$A4,$48,$AA,$18,$C7 .db $A4,$AB,$B0,$60,$A9,$E7,$78,$E8 .db $30,$C8,$08,$A4,$A4,$A4,$AB,$AB .db $AB,$E8,$30,$78,$B3,$B3,$AB,$AB .db $AB,$A4,$E8,$30,$C8,$A6,$A6,$A6 .db $AC,$AC,$AC,$E8,$30,$78,$B5,$B5 .db $AC,$AC,$AC,$A0,$E8,$30,$C8,$A6 .db $A6,$A6,$AF,$AF,$AF,$E8,$30,$78 .db $B5,$B5,$AF,$AF,$AF,$A6,$E8,$30 .db $C8,$A4,$A4,$A4,$AB,$AB,$AB,$E8 .db $30,$78,$B3,$B3,$AB,$AB,$AB,$A4 .db $E7,$78,$E8,$30,$C8,$04,$C6,$08 .db $9F,$A7,$A7,$A7,$B0,$B0,$E8,$30 .db $78,$B0,$B0,$B0,$A7,$A7,$A7,$E8 .db $30,$C8,$A0,$A9,$A9,$A9,$B2,$B2 .db $E8,$30,$78,$B2,$B2,$B2,$A9,$A6 .db $A6,$E8,$30,$C8,$A3,$A9,$A9,$A9 .db $B2,$B2,$E8,$30,$78,$B2,$B2,$B2 .db $A9,$A9,$A9,$E8,$30,$C8,$9F,$A7 .db $A7,$A7,$B0,$B0,$E8,$30,$78,$B0 .db $B0,$B0,$A7,$A7,$A7,$DA,$01,$E7 .db $C8,$DB,$0A,$DE,$1E,$28,$20,$0C .db $6F,$94,$94,$94,$94,$94,$94,$94 .db $94,$97,$97,$97,$97,$97,$97,$97 .db $97,$93,$93,$93,$93,$93,$93,$93 .db $93,$98,$98,$98,$98,$98,$98,$98 .db $98,$00,$DA,$01,$E7,$DC,$DB,$0A .db $DE,$1E,$29,$20,$18,$7D,$C7,$B0 .db $B7,$BC,$30,$B8,$B7,$18,$C7,$AB .db $B2,$B7,$30,$B5,$B3,$DA,$00,$E7 .db $DC,$DB,$05,$DE,$1E,$28,$20,$60 .db $79,$C7,$18,$C7,$0C,$AF,$B0,$18 .db $B1,$B2,$30,$C6,$C7,$18,$C7,$0C .db $AD,$AE,$18,$AF,$48,$B0,$DA,$02 .db $E7,$C8,$DB,$0A,$18,$79,$C7,$B0 .db $B7,$BC,$60,$B8,$18,$C7,$AB,$B2 .db $B7,$60,$B5,$DA,$01,$E7,$DC,$DB .db $0A,$DE,$18,$28,$20,$18,$7C,$C7 .db $AB,$B0,$B7,$30,$B2,$B2,$18,$C7 .db $A3,$A9,$AF,$60,$AB,$E7,$78,$E8 .db $30,$C8,$08,$A4,$A4,$A4,$AA,$AA .db $AA,$E8,$30,$78,$B3,$B3,$AA,$AA .db $AA,$A4,$E8,$30,$C8,$A4,$A4,$A4 .db $AD,$AD,$AD,$E8,$30,$78,$B2,$B2 .db $AD,$AD,$AD,$A4,$E8,$30,$C8,$A4 .db $A4,$A4,$AD,$AD,$AD,$E8,$30,$78 .db $B6,$B6,$AD,$AD,$AD,$A4,$E8,$30 .db $C8,$A4,$A4,$A4,$AB,$AB,$AB,$E8 .db $30,$78,$B2,$B2,$B2,$BB,$BB,$BB .db $E8,$30,$C8,$04,$C6,$08,$9E,$A7 .db $A7,$A7,$B0,$B0,$E8,$30,$78,$B0 .db $B0,$B0,$A7,$A7,$A7,$E8,$30,$C8 .db $A1,$A6,$A6,$A6,$B0,$B0,$E8,$30 .db $78,$B0,$B0,$B0,$A6,$A6,$A6,$E8 .db $30,$C8,$A1,$AA,$AA,$AA,$B0,$B0 .db $E8,$30,$78,$B0,$B0,$B0,$AA,$AA .db $AA,$E8,$30,$C8,$9F,$A6,$A6,$A6 .db $B0,$B0,$E8,$30,$78,$AF,$B5,$B5 .db $B5,$BE,$BE,$DA,$01,$E7,$C8,$DB .db $0A,$DE,$1E,$27,$20,$0C,$6F,$95 .db $95,$95,$95,$95,$95,$95,$95,$92 .db $92,$92,$92,$92,$92,$92,$92,$8E .db $8E,$8E,$8E,$8E,$8E,$8E,$8E,$93 .db $93,$93,$93,$93,$93,$93,$93,$00 .db $DA,$01,$E7,$DC,$DB,$0A,$DE,$1E .db $28,$20,$18,$7D,$C7,$B3,$B2,$B0 .db $30,$B2,$AD,$18,$C7,$B2,$B0,$B2 .db $30,$B0,$24,$AF,$0C,$C7,$DA,$00 .db $60,$79,$C6,$18,$C6,$0C,$AA,$AB .db $18,$AC,$AD,$30,$AD,$0C,$C6,$AC .db $AD,$B0,$24,$B3,$06,$B2,$B0,$30 .db $B2,$18,$6B,$C7,$B3,$B2,$B0,$60 .db $B2,$18,$C7,$B2,$B0,$B2,$30,$B0 .db $AF,$DA,$01,$18,$7C,$C7,$AD,$AA .db $AA,$30,$AA,$A4,$18,$C7,$AA,$AA .db $AA,$30,$AB,$A9,$DA,$00,$E2,$32 .db $60,$6F,$C7,$00,$F0,$DA,$00,$E2 .db $32,$DB,$0A,$E7,$C8,$DE,$18,$14 .db $20,$0C,$6F,$BA,$3C,$B8,$0C,$B5 .db $24,$B3,$0C,$AE,$54,$AC,$00,$DA .db $04,$DB,$0A,$E7,$C8,$DE,$18,$15 .db $20,$0C,$6F,$BA,$3C,$B8,$0C,$B5 .db $24,$B3,$0C,$AE,$54,$AC,$DA,$04 .db $DB,$0A,$E7,$C8,$DE,$18,$13,$20 .db $0C,$6F,$A1,$3C,$9F,$0C,$9C,$24 .db $9A,$0C,$95,$30,$93,$E7,$FF,$24 .db $7F,$98,$DD,$0C,$0C,$8C,$DA,$04 .db $DB,$0F,$E7,$C8,$DE,$18,$14,$20 .db $0C,$6F,$B5,$3C,$B3,$0C,$B0,$24 .db $AE,$0C,$A9,$54,$A7,$00,$DA,$04 .db $DB,$05,$E7,$C8,$DE,$18,$14,$20 .db $0C,$6F,$B0,$3C,$AE,$0C,$AB,$24 .db $A9,$0C,$A4,$54,$A2,$DA,$04,$DB .db $14,$E7,$C8,$DE,$18,$13,$20,$0C .db $6F,$AC,$3C,$AA,$0C,$A7,$24,$A5 .db $0C,$A0,$54,$9E,$DA,$04,$DB,$00 .db $E7,$C8,$DE,$18,$15,$20,$0C,$6F .db $A6,$3C,$A4,$0C,$AD,$24,$9F,$0C .db $9A,$54,$98,$DA,$01,$DB,$0F,$E7 .db $C8,$0C,$6D,$B0,$C7,$C7,$B0,$C7 .db $B0,$B0,$B0,$B0,$C7,$C7,$B3,$C6 .db $B1,$B3,$B1,$B0,$C7,$C7,$B0,$C7 .db $B0,$B0,$B0,$B0,$C7,$C7,$B3,$C6 .db $C6,$C7,$C7,$00,$12,$C7,$DA,$04 .db $DB,$0A,$E7,$C8,$60,$C7,$18,$7C .db $C7,$60,$9D,$DD,$00,$60,$C1,$C6 .db $48,$C6,$DA,$01,$DB,$05,$E7,$C8 .db $0C,$6D,$AB,$C7,$C7,$AB,$C7,$AB .db $AB,$AB,$AB,$C7,$C7,$AE,$C6,$AC .db $AE,$AC,$AB,$C7,$C7,$AB,$C7,$AB .db $AB,$AB,$AB,$C7,$C7,$AE,$C6,$C6 .db $C7,$C7,$DA,$01,$DB,$0A,$E7,$C8 .db $0C,$6D,$A6,$C7,$C7,$A6,$C7,$A6 .db $A6,$A6,$A6,$C7,$C7,$A9,$C6,$A7 .db $A9,$A7,$A6,$C7,$C7,$A6,$C7,$A6 .db $A6,$A6,$A6,$C7,$C7,$A9,$C6,$C6 .db $C7,$C7,$DA,$0A,$DB,$0A,$E7,$C8 .db $E9,$C2,$35,$04,$0C,$6F,$D6,$D7 .db $D7,$D6,$D7,$D7,$D6,$D7,$00,$E9 .db $C2,$35,$03,$0C,$D6,$D7,$D7,$06 .db $D6,$D6,$0C,$D6,$D6,$D6,$D6,$DA .db $04,$E7,$C8,$DB,$0A,$DE,$23,$14 .db $40,$24,$6D,$8C,$93,$18,$98,$24 .db $8D,$94,$18,$99,$24,$8C,$93,$18 .db $98,$24,$8D,$94,$18,$99,$24,$8C .db $93,$18,$98,$24,$8D,$3C,$99,$DD .db $18,$24,$8D,$DA,$02,$E7,$FF,$DB .db $0A,$DE,$22,$28,$20,$18,$6D,$B3 .db $C6,$B0,$AB,$18,$AC,$48,$B0,$18 .db $C7,$AB,$B0,$B7,$30,$B3,$C6,$DA .db $01,$0C,$6D,$B5,$C7,$C7,$B5,$C7 .db $B5,$B5,$B5,$B5,$C7,$C7,$B8,$C6 .db $B6,$B8,$B6,$B5,$C7,$C7,$B5,$C7 .db $B5,$B5,$B5,$B5,$C7,$C7,$B8,$C6 .db $C6,$C7,$C7,$00,$12,$69,$C7,$DA .db $04,$0C,$C6,$BE,$BF,$BE,$BF,$BE .db $BC,$BB,$B8,$B6,$B2,$AD,$AC,$AA .db $A9,$A7,$A6,$A9,$AC,$AF,$C7,$C7 .db $A9,$AC,$AF,$B2,$C7,$C7,$AF,$B3 .db $B5,$B8,$DA,$01,$0C,$6D,$B0,$C7 .db $C7,$B0,$C7,$B0,$B0,$B0,$B0,$C7 .db $C7,$B3,$C6,$B1,$B3,$B1,$B0,$C7 .db $C7,$B0,$C7,$B0,$B0,$B0,$B0,$C7 .db $C7,$B3,$C6,$C6,$C7,$C7,$DA,$01 .db $0C,$6D,$AB,$C7,$C7,$AB,$C7,$AB .db $AB,$AB,$AB,$C7,$C7,$AE,$C6,$AC .db $AE,$AC,$AB,$C7,$C7,$AB,$C7,$AB .db $AB,$AB,$AB,$C7,$C7,$AE,$C6,$C6 .db $C7,$C7,$DA,$04,$24,$6D,$91,$98 .db $18,$9D,$24,$92,$99,$18,$9E,$24 .db $91,$98,$18,$9D,$24,$92,$99,$18 .db $9E,$DA,$02,$18,$6D,$B3,$C6,$B0 .db $AB,$18,$AC,$48,$B0,$18,$C7,$AB .db $B0,$B7,$30,$B3,$C6,$DA,$01,$0C .db $6D,$B7,$B7,$C7,$B7,$C7,$B7,$C7 .db $B7,$C7,$C7,$C7,$B7,$C6,$B6,$B5 .db $C6,$B4,$B4,$C7,$B4,$C7,$B4,$C7 .db $B4,$C7,$C7,$C7,$B4,$C6,$B3,$B2 .db $C6,$00,$DA,$01,$0C,$6D,$B2,$B2 .db $C7,$B2,$C7,$B2,$C7,$B2,$C7,$C7 .db $C7,$B2,$C6,$B1,$B0,$C6,$AF,$AF .db $C7,$AF,$C7,$AF,$C7,$AF,$C7,$C7 .db $C7,$AF,$C6,$AE,$AD,$C6,$DA,$01 .db $0C,$6D,$AD,$AD,$C7,$AD,$C7,$AD .db $C7,$AD,$C7,$C7,$C7,$AD,$C6,$AC .db $AB,$C6,$AA,$AA,$C7,$AA,$C7,$AA .db $C7,$AA,$C7,$C7,$C7,$AA,$C6,$A9 .db $A8,$C6,$DA,$04,$0C,$6D,$90,$90 .db $C7,$90,$C7,$90,$C7,$90,$C7,$C7 .db $C7,$90,$C6,$8F,$8E,$C6,$8D,$8D .db $C7,$8D,$C7,$8D,$C7,$8D,$C7,$C7 .db $C7,$8D,$C6,$8C,$8B,$C6,$DA,$0A .db $DB,$0A,$E7,$C8,$E9,$7E,$37,$02 .db $0C,$D6,$D6,$D7,$D6,$D7,$D6,$D6 .db $D6,$D6,$D7,$D7,$D6,$D7,$D6,$D6 .db $D7,$00,$DA,$02,$18,$6D,$B3,$C6 .db $B0,$AB,$18,$AC,$48,$B0,$18,$C7 .db $AB,$B0,$B7,$30,$B3,$C6,$12,$69 .db $B8,$DA,$04,$0C,$C6,$C6,$B9,$C6 .db $B8,$C6,$B6,$B5,$B3,$AF,$AE,$AC .db $A7,$A9,$AB,$B0,$B3,$B2,$B0,$B2 .db $C6,$B9,$B3,$B0,$AF,$B0,$AF,$AE .db $AC,$A7,$A9,$AB,$12,$69,$AB,$DA .db $04,$0C,$AE,$AB,$AE,$B0,$AE,$B0 .db $B3,$B0,$B3,$B5,$B3,$B5,$B7,$B5 .db $B7,$BA,$BB,$C6,$BA,$B9,$B8,$B7 .db $C6,$B7,$B5,$B1,$AF,$AB,$A9,$B1 .db $AF,$C6,$12,$69,$C6,$DA,$04,$0C .db $AF,$B0,$B2,$B5,$C6,$B5,$B3,$B2 .db $B0,$A9,$C6,$A9,$C6,$A7,$60,$A9 .db $DD,$24,$48,$9D,$C6,$C6,$06,$69 .db $C7,$DA,$05,$60,$C6,$24,$B5,$B8 .db $B4,$BA,$B8,$BB,$C6,$C6,$60,$C6 .db $C6,$06,$69,$C6,$DA,$05,$0C,$B5 .db $C6,$B8,$B9,$BA,$BB,$BA,$B9,$B5 .db $C6,$B0,$B8,$C6,$BA,$C6,$BA,$BB .db $BA,$BB,$BA,$B8,$B5,$C6,$B0,$B3 .db $B5,$C6,$C6,$C6,$C6,$C6,$C6,$DA .db $00,$E2,$46,$DB,$00,$DC,$60,$14 .db $6C,$7E,$B5,$DD,$18,$24,$A4,$DD .db $00,$18,$B0,$DD,$00,$0C,$B5,$00 .db $DA,$00,$DB,$14,$DC,$60,$00,$6C .db $7E,$A9,$DD,$18,$24,$98,$DD,$00 .db $18,$A4,$DD,$00,$0C,$A9,$00,$F0 .db $E0,$64,$E1,$30,$FF,$DA,$01,$E2 .db $14,$DB,$0A,$DC,$30,$00,$60,$6F .db $A9,$DD,$0A,$30,$C1,$00,$DA,$01 .db $DB,$0A,$DC,$30,$14,$60,$6F,$A9 .db $DD,$0A,$30,$91,$00,$DA,$01,$DB .db $0A,$DC,$30,$00,$60,$6F,$98,$DD .db $0A,$30,$B5,$00,$DA,$01,$DB,$0A .db $DC,$30,$14,$60,$6F,$A4,$DD,$0A .db $30,$9D,$00,$DA,$01,$DB,$0A,$DC .db $30,$00,$60,$6F,$9D,$DD,$0A,$30 .db $B0,$00,$DA,$01,$DB,$0A,$DC,$30 .db $14,$60,$6F,$91,$DD,$0A,$30,$98 .db $00,$DA,$01,$DB,$0A,$DC,$30,$00 .db $60,$6F,$9D,$DD,$0A,$30,$91,$00 .db $DA,$01,$DB,$0A,$DC,$30,$14,$60 .db $6F,$A9,$DD,$0A,$30,$8C,$00,$E2 .db $20,$00,$E3,$FF,$30,$00,$E3,$FF .db $40,$00,$DA,$03,$DB,$00,$DC,$60 .db $14,$18,$6F,$C7,$10,$A4,$08,$9F .db $C7,$AB,$9F,$A4,$C6,$9F,$DC,$60 .db $00,$18,$C7,$10,$A5,$08,$A0,$C7 .db $AC,$A0,$A5,$C6,$A0,$00,$DA,$0C .db $DB,$0A,$08,$6B,$B0,$B0,$B9,$B9 .db $B0,$B0,$B9,$B9,$B0,$B0,$B9,$B9 .db $B0,$B0,$B9,$B9,$B0,$B0,$B9,$B9 .db $B0,$B0,$B9,$B9,$00,$DA,$03,$DB .db $14,$DC,$0A,$00,$10,$6F,$8C,$08 .db $93,$18,$C6,$18,$98,$93,$DC,$60 .db $14,$10,$8D,$08,$94,$18,$C6,$18 .db $99,$94,$E2,$38,$DA,$01,$DB,$0A .db $18,$3E,$B0,$B0,$B0,$0C,$C7,$B0 .db $C7,$24,$B0,$18,$B0,$B0,$AF,$AF .db $AF,$0C,$C7,$AF,$C6,$24,$AF,$18 .db $AF,$AF,$00,$DA,$01,$DB,$00,$18 .db $3E,$AD,$AD,$AD,$0C,$C7,$AD,$C7 .db $24,$AD,$18,$AD,$AD,$AB,$AB,$AB .db $0C,$C7,$AB,$C6,$24,$AB,$18,$AB .db $AB,$DA,$01,$DB,$14,$18,$3E,$A9 .db $A9,$A9,$0C,$A6,$18,$A9,$A9,$0C .db $A6,$A9,$A6,$18,$A9,$A8,$A8,$A8 .db $0C,$A4,$18,$A8,$A8,$0C,$A4,$A8 .db $A4,$18,$A8,$DA,$08,$DB,$0A,$30 .db $5E,$8E,$24,$95,$9A,$18,$C7,$95 .db $9A,$30,$8C,$24,$93,$98,$18,$C7 .db $93,$98,$DB,$14,$0C,$6D,$D1,$D1 .db $D1,$D1,$18,$D2,$0C,$D1,$D1,$D1 .db $D1,$D1,$D1,$18,$D2,$0C,$D1,$D1 .db $D1,$D1,$D1,$D1,$18,$D2,$0C,$D1 .db $D1,$D1,$D1,$D1,$D1,$18,$D2,$0C .db $D1,$D1,$F0,$DA,$02,$DB,$14,$DC .db $54,$00,$54,$7F,$A4,$DD,$00,$0C .db $B7,$DD,$00,$18,$B0,$DD,$00,$30 .db $A4,$00,$DA,$02,$DB,$14,$DC,$54 .db $00,$54,$7E,$9F,$DD,$00,$0C,$B0 .db $DD,$00,$18,$AB,$DD,$00,$30,$9F .db $00,$DA,$05,$E2,$38,$DB,$0A,$DE .db $00,$00,$00,$08,$5B,$B0,$C6,$C6 .db $08,$5C,$B0,$C7,$08,$5B,$B9,$B0 .db $C6,$C6,$08,$5C,$B0,$C7,$08,$5B .db $B9,$B0,$C6,$C6,$08,$5C,$B0,$C7 .db $08,$5B,$B9,$B0,$C6,$C6,$08,$5C .db $B0,$C7,$08,$5B,$B9,$B0,$C6,$C6 .db $08,$5C,$B0,$C7,$08,$5B,$B9,$B0 .db $C6,$C6,$08,$5C,$B0,$C7,$08,$5B .db $B9,$B0,$C6,$C6,$08,$5C,$B0,$C7 .db $08,$5B,$B9,$B0,$C6,$C6,$08,$5C .db $B0,$C7,$08,$5B,$B9,$60,$B0,$C7 .db $08,$B0,$C6,$C6,$08,$5C,$B0,$C7 .db $08,$5B,$B9,$B0,$C6,$C6,$08,$5C .db $B0,$C7,$08,$5B,$B9,$B0,$C6,$C6 .db $C7,$C7,$C7,$18,$B0,$C7,$DA,$05 .db $DB,$0F,$01,$C7,$08,$49,$B9,$C6 .db $C6,$B9,$C7,$B0,$B9,$C6,$C6,$B9 .db $C7,$B0,$B9,$C6,$C6,$B9,$C7,$B0 .db $B9,$C6,$C6,$B9,$C7,$B0,$B9,$C6 .db $C6,$B9,$C7,$B0,$B9,$C6,$C6,$B9 .db $C7,$B0,$B9,$C6,$C6,$B9,$C7,$B0 .db $B9,$C6,$C6,$B9,$C7,$B0,$60,$BA .db $C7,$08,$B9,$C6,$C6,$B9,$C7,$B0 .db $B9,$C6,$C6,$B9,$C7,$B0,$B9,$C6 .db $C6,$C7,$C7,$C7,$18,$B9,$C7,$DA .db $06,$DB,$05,$DE,$23,$14,$20,$30 .db $3C,$B0,$B0,$0C,$AD,$C7,$30,$B0 .db $0C,$AD,$C7,$18,$6C,$B0,$18,$2B .db $AD,$A9,$60,$6C,$B0,$0C,$AD,$C7 .db $18,$5C,$B4,$18,$1B,$B5,$B4,$B5 .db $24,$3C,$B4,$0C,$AB,$B7,$B5,$B4 .db $C6,$60,$6C,$B0,$18,$C7,$C7,$BC .db $C7,$DA,$04,$E2,$38,$DB,$0A,$DE .db $23,$14,$20,$30,$3C,$B5,$B5,$0C .db $B2,$C7,$30,$B5,$0C,$B2,$C7,$18 .db $6C,$B5,$18,$2B,$B2,$B0,$60,$6C .db $B5,$0C,$B2,$C7,$18,$5C,$BC,$18 .db $1B,$BE,$BC,$BE,$24,$3C,$BC,$0C .db $B0,$BA,$B9,$B7,$C6,$60,$6C,$B5 .db $18,$C7,$C7,$C1,$C7,$00,$DA,$06 .db $DB,$0F,$DE,$23,$14,$20,$30,$3C .db $AD,$AD,$0C,$A9,$C7,$30,$AD,$0C .db $A9,$C7,$18,$6C,$AD,$18,$2B,$A9 .db $A9,$60,$6C,$AD,$0C,$A9,$C7,$18 .db $C7,$C7,$C7,$C7,$24,$C7,$0C,$A8 .db $B4,$B0,$AE,$C6,$60,$6C,$AD,$18 .db $C7,$C7,$B9,$C7,$00,$DA,$04,$DB .db $0A,$18,$4B,$91,$C7,$91,$C7,$8F .db $C7,$8F,$C7,$8E,$C7,$8E,$C7,$8D .db $C7,$8D,$C7,$8C,$C7,$C7,$C7,$C7 .db $C7,$8E,$90,$91,$C7,$8C,$C7,$91 .db $C7,$91,$C7,$00,$F0,$DA,$0D,$E2 .db $30,$DB,$0D,$30,$6D,$9F,$C6,$C6 .db $DA,$0D,$DB,$0C,$04,$C7,$30,$6C .db $A6,$C6,$C6,$DA,$0D,$DB,$0B,$08 .db $C7,$30,$6C,$A9,$C6,$C6,$DA,$0D .db $DB,$0A,$0B,$C7,$30,$6C,$AE,$C6 .db $C6,$DA,$0D,$DB,$09,$0E,$C7,$30 .db $6C,$B2,$C6,$C6,$DA,$0D,$DB,$08 .db $11,$C7,$30,$6C,$B5,$30,$6D,$B5 .db $C6,$DA,$0D,$DB,$07,$14,$C7,$30 .db $6D,$B9,$18,$6D,$C6,$B0,$00,$DB .db $0D,$60,$6D,$98,$C6,$C6,$DB,$0C .db $04,$C7,$60,$6C,$9F,$C6,$C6,$DB .db $0B,$08,$C7,$60,$6C,$A2,$C6,$C6 .db $DB,$0A,$30,$6C,$AE,$AB,$C6,$C6 .db $DB,$09,$03,$C7,$30,$6C,$B1,$AE .db $C6,$C6,$DB,$08,$06,$C7,$30,$6C .db $B4,$B1,$C6,$C6,$DB,$07,$09,$C7 .db $30,$6D,$B9,$B4,$00,$DB,$0D,$60 .db $6D,$9D,$C6,$C6,$00,$DB,$0C,$04 .db $C7,$60,$6C,$A4,$C6,$C6,$DB,$0B .db $08,$C7,$48,$6C,$A8,$30,$C6,$C3 .db $60,$C6,$C6,$DB,$0A,$01,$C7,$48 .db $6C,$AD,$B9,$C6,$C6,$DB,$09,$03 .db $C7,$48,$6C,$B0,$18,$C6,$60,$BE .db $C6,$DB,$08,$05,$C7,$60,$6C,$B4 .db $C6,$C6,$DB,$07,$07,$C7,$60,$6D .db $B7,$C6,$C6,$00,$F0,$DA,$03,$E2 .db $30,$DB,$0A,$04,$6F,$B4,$B2,$B4 .db $24,$C7,$E2,$34,$DA,$09,$0C,$6E .db $C4,$C5,$C4,$C5,$C1,$BC,$BD,$BE .db $B8,$B9,$B5,$B0,$B1,$B2,$AC,$AD .db $30,$A9,$9D,$00,$DA,$09,$DB,$0A .db $30,$4E,$C7,$18,$C7,$AD,$C7,$AB .db $C7,$A9,$C7,$A8,$18,$A4,$C7,$98 .db $C7,$DA,$09,$DB,$0A,$30,$6E,$C7 .db $18,$9D,$18,$4E,$A9,$18,$6E,$9B .db $18,$4E,$A7,$18,$6E,$9A,$18,$4E .db $A6,$18,$6E,$98,$18,$4E,$A4,$18 .db $6E,$91,$C7,$30,$91,$F0,$DA,$09 .db $E2,$40,$DB,$0A,$DE,$00,$00,$00 .db $0C,$6E,$B4,$0C,$6C,$B2,$AE,$24 .db $6E,$B4,$0C,$6C,$B2,$AE,$18,$AD .db $18,$6E,$B9,$B9,$C6,$00,$DA,$09 .db $DB,$14,$24,$6D,$96,$96,$18,$C6 .db $60,$95,$DA,$09,$DB,$0A,$24,$6D .db $9E,$9E,$18,$C6,$18,$9F,$B1,$B1 .db $C6,$DA,$09,$DB,$00,$24,$6E,$AE .db $AE,$18,$C6,$18,$A5,$06,$B3,$12 .db $B4,$06,$B3,$12,$B4,$18,$C6,$DE .db $00,$00,$00,$30,$6E,$B9,$24,$6D .db $B5,$0C,$B0,$B2,$18,$B5,$30,$B5 .db $0C,$B2,$18,$B0,$B5,$B5,$BC,$24 .db $B9,$30,$B7,$0C,$B0,$00,$18,$6C .db $91,$18,$4C,$A4,$18,$6C,$95,$18 .db $4C,$A4,$18,$6C,$96,$18,$4C,$A6 .db $18,$6C,$97,$18,$4C,$A6,$18,$6C .db $95,$18,$4C,$A4,$18,$6C,$94,$18 .db $4C,$A4,$18,$6C,$93,$18,$4C,$A6 .db $18,$6C,$8C,$18,$4C,$A4,$18,$4C .db $C7,$A1,$C7,$A1,$C7,$A2,$C7,$A3 .db $C7,$A1,$C7,$A1,$C7,$A2,$C7,$A2 .db $18,$4C,$C7,$A9,$C7,$A9,$C7,$A9 .db $C7,$A9,$C7,$A9,$C7,$A9,$C7,$A9 .db $C7,$A8,$DA,$0C,$0C,$6F,$B0,$C6 .db $B5,$C6,$B0,$C6,$B5,$B5,$B0,$C6 .db $B5,$C6,$B0,$C6,$B5,$B5,$B0,$C6 .db $B5,$C6,$B0,$C6,$B5,$B5,$B0,$C6 .db $B5,$C6,$B0,$C6,$B5,$B5,$B0,$C6 .db $B5,$C6,$B0,$C6,$B5,$B5,$B0,$C6 .db $B5,$C6,$B0,$C6,$B5,$B5,$B0,$C6 .db $B5,$C6,$B0,$C6,$B5,$B5,$B0,$C6 .db $B5,$C6,$B0,$C6,$B5,$B5,$30,$6E .db $B9,$24,$6D,$B5,$0C,$B0,$B2,$18 .db $B5,$30,$B5,$0C,$B2,$18,$B0,$B5 .db $0C,$BA,$B9,$B7,$30,$B5,$C7,$0C .db $C7,$00,$18,$6C,$91,$18,$4C,$A4 .db $18,$6C,$95,$18,$4C,$A4,$18,$6C .db $96,$18,$4C,$A6,$18,$6C,$97,$18 .db $4C,$A6,$18,$6C,$93,$18,$4C,$A6 .db $18,$6C,$98,$18,$4C,$A8,$18,$6C .db $91,$18,$4C,$A4,$18,$6C,$91,$18 .db $4C,$A4,$18,$4C,$C7,$A1,$C7,$A1 .db $C7,$A2,$C7,$A3,$C7,$A2,$C7,$A4 .db $C7,$A1,$C7,$A1,$18,$4C,$C7,$A9 .db $C7,$A9,$C7,$A9,$C7,$A9,$C7,$A9 .db $C7,$AB,$C7,$A9,$C7,$A9,$24,$6D .db $B9,$24,$6C,$B5,$18,$B0,$24,$6D .db $B9,$3C,$6C,$B5,$0C,$6D,$B8,$0C .db $6C,$B5,$18,$B0,$24,$6D,$B8,$6C .db $6C,$B7,$00,$18,$6B,$96,$18,$4B .db $A6,$18,$6B,$96,$18,$4B,$A6,$18 .db $6B,$95,$18,$4B,$A4,$18,$6B,$95 .db $18,$4B,$A4,$18,$6B,$94,$18,$4B .db $A4,$18,$6B,$94,$18,$4B,$A4,$18 .db $6B,$93,$18,$4B,$A6,$18,$6B,$8C .db $18,$4B,$A4,$18,$4B,$C7,$A2,$C7 .db $A2,$C7,$A1,$C7,$A1,$C7,$A0,$C7 .db $A0,$C7,$A2,$C7,$A2,$18,$4B,$C7 .db $A9,$C7,$A9,$C7,$A9,$C7,$A9,$C7 .db $A9,$C7,$A9,$C7,$A9,$C7,$A8,$DA .db $0C,$0C,$6D,$B0,$C6,$B5,$C6,$B0 .db $C6,$B5,$B5,$B0,$C6,$B5,$C6,$B0 .db $C6,$B5,$B5,$B0,$C6,$B5,$C6,$B0 .db $C6,$B5,$B5,$B0,$C6,$B5,$C6,$B0 .db $C6,$B5,$B5,$24,$6D,$B9,$24,$6C .db $B5,$18,$B0,$24,$6D,$B9,$3C,$6C .db $B5,$0C,$6D,$B8,$0C,$6C,$B5,$18 .db $B0,$60,$BC,$30,$C7,$00,$30,$6E .db $B9,$24,$6D,$B5,$0C,$B0,$B2,$18 .db $B5,$30,$B5,$0C,$B7,$0C,$6E,$B9 .db $0C,$6D,$B5,$18,$B0,$24,$B2,$60 .db $B5,$0C,$B2,$18,$5E,$BC,$BE,$BC .db $BE,$24,$BC,$0C,$B0,$BA,$B9,$B7 .db $C6,$60,$B5,$C7,$00,$18,$6C,$91 .db $18,$4C,$A4,$18,$6C,$91,$18,$4C .db $A4,$18,$6C,$8F,$18,$4C,$A4,$18 .db $6C,$8F,$18,$4C,$A4,$18,$6C,$8E .db $18,$4C,$A4,$18,$6C,$8E,$18,$4C .db $A4,$18,$6C,$8D,$18,$4C,$A3,$18 .db $6C,$8D,$18,$4C,$A3,$60,$6C,$8C .db $30,$C6,$18,$6C,$8E,$90,$18,$6C .db $91,$18,$4C,$A4,$18,$6C,$91,$18 .db $4C,$A4,$18,$6C,$91,$18,$4C,$A4 .db $18,$6C,$91,$18,$4C,$A4,$18,$4C .db $C7,$A1,$C7,$A1,$C7,$A2,$C7,$A2 .db $C7,$A1,$C7,$A1,$C7,$A0,$C7,$A0 .db $A2,$C6,$C6,$C6,$C6,$C6,$C6,$C6 .db $0C,$C7,$C7,$0C,$6E,$A9,$18,$6D .db $A1,$0C,$6E,$A9,$18,$6D,$A1,$0C .db $6E,$A9,$18,$6D,$A1,$30,$6E,$A9 .db $18,$4C,$C7,$A9,$C7,$A9,$C7,$AB .db $C7,$AB,$C7,$A9,$C7,$A9,$C7,$A9 .db $C7,$A9,$A8,$C6,$C6,$C6,$C6,$C6 .db $C6,$C6,$0C,$C7,$C7,$0C,$6E,$A4 .db $18,$6D,$9D,$0C,$6E,$A4,$18,$6E .db $9D,$0C,$6E,$A4,$18,$6D,$9D,$0C .db $A4,$C6,$C6,$9D,$DB,$0A,$0C,$5C .db $C6,$A6,$B2,$AD,$B0,$18,$7E,$B2 .db $0C,$5C,$AD,$B2,$AA,$AD,$24,$7E .db $B2,$0C,$5C,$A6,$C6,$C7,$A6,$B2 .db $A6,$AB,$18,$7E,$B2,$0C,$5C,$A6 .db $B2,$A6,$AB,$24,$7E,$B2,$0C,$5C .db $A6,$C6,$00,$DB,$14,$18,$6C,$8E .db $18,$4C,$A6,$18,$6C,$95,$18,$4C .db $A6,$18,$6C,$8E,$18,$4C,$A6,$18 .db $6C,$95,$18,$4C,$A6,$18,$6C,$93 .db $18,$4C,$A6,$18,$6C,$8E,$18,$4C .db $A6,$18,$6C,$93,$18,$4C,$A6,$18 .db $6C,$8E,$18,$4C,$A6,$18,$6C,$8C .db $18,$4C,$A4,$18,$6C,$93,$18,$4C .db $A4,$18,$6C,$8C,$18,$4C,$A4,$18 .db $6C,$93,$18,$4C,$A4,$18,$6C,$91 .db $18,$4C,$A4,$18,$6C,$8C,$18,$4C .db $A4,$18,$6C,$91,$18,$6D,$91,$18 .db $7E,$90,$18,$7E,$8F,$DB,$0A,$0C .db $5C,$C7,$C7,$AA,$C6,$C6,$24,$7E .db $AA,$24,$5C,$AA,$54,$7E,$AA,$24 .db $5C,$AE,$24,$7E,$AE,$24,$5C,$AE .db $3C,$7E,$AE,$DB,$00,$18,$4C,$C7 .db $9E,$C7,$9E,$C7,$9E,$C7,$9E,$C7 .db $A2,$C7,$A2,$C7,$A2,$C7,$A2,$0C .db $5C,$C6,$A4,$B0,$AB,$AE,$18,$7E .db $B0,$0C,$5C,$AB,$B0,$A8,$AB,$24 .db $7F,$B0,$0C,$5C,$A4,$C6,$C6,$A4 .db $B0,$A9,$AD,$18,$7E,$B0,$0C,$5C .db $A9,$18,$7B,$B0,$18,$7D,$B0,$18 .db $7E,$AF,$18,$7E,$AE,$00,$18,$6C .db $8C,$18,$4C,$A4,$18,$6C,$93,$18 .db $4C,$A4,$18,$6C,$8C,$18,$4C,$A4 .db $18,$6C,$93,$18,$4C,$A4,$18,$6C .db $91,$18,$4C,$A4,$18,$6C,$8C,$18 .db $4C,$A4,$18,$7C,$91,$18,$7C,$91 .db $18,$7E,$90,$18,$7E,$8F,$0C,$5C .db $C7,$C7,$A8,$C6,$C6,$24,$7E,$A8 .db $24,$5C,$A8,$54,$7E,$A8,$24,$5C .db $A9,$24,$7E,$A9,$18,$7B,$A1,$18 .db $7D,$A1,$18,$7E,$A0,$18,$7E,$9F .db $18,$4C,$C7,$9C,$C7,$9C,$C7,$9C .db $C7,$9C,$C7,$9D,$C7,$9D,$A7,$A7 .db $18,$6E,$A6,$A5,$DA,$0C,$0C,$6F .db $B0,$C6,$B5,$C6,$B0,$C6,$B5,$B5 .db $B0,$C6,$B5,$C6,$B0,$C6,$B5,$B5 .db $B0,$C6,$B5,$C6,$B0,$C6,$B5,$B5 .db $B5,$B0,$B5,$B0,$B5,$B0,$B5,$B0 .db $0C,$5C,$C6,$A8,$B4,$A8,$AB,$18 .db $7E,$B4,$0C,$5C,$A8,$B4,$A8,$AB .db $24,$7E,$B4,$0C,$5C,$A8,$C6,$C6 .db $A9,$B5,$18,$7E,$A4,$0C,$5C,$B0 .db $B2,$B4,$18,$7E,$B5,$B4,$B5,$C6 .db $00,$18,$6C,$8C,$18,$4C,$A4,$18 .db $6C,$93,$18,$4C,$A4,$18,$6C,$8C .db $18,$4C,$A4,$18,$6C,$93,$18,$4C .db $A4,$18,$6C,$91,$18,$4C,$A4,$18 .db $6C,$8C,$18,$4C,$A4,$18,$6C,$91 .db $18,$6C,$8C,$18,$6C,$91,$18,$6C .db $91,$0C,$5C,$C7,$C7,$AE,$C6,$C6 .db $24,$7E,$AE,$24,$5C,$AE,$54,$7E .db $AE,$0C,$5C,$AD,$18,$7E,$A9,$0C .db $5C,$A9,$A9,$AB,$18,$7E,$AD,$AB .db $AD,$A1,$18,$4C,$C7,$9C,$C7,$9C .db $C7,$9C,$C7,$9C,$C7,$9D,$C7,$9D .db $B0,$B0,$B0,$A4,$DA,$0C,$0C,$6F .db $B0,$C6,$B5,$C6,$B0,$C6,$B5,$B5 .db $B0,$C6,$B5,$C6,$B0,$C6,$B5,$B5 .db $B0,$C6,$B5,$C6,$B0,$C6,$B5,$B5 .db $B5,$C6,$B0,$C6,$B5,$C6,$B0,$C6 .db $EF,$F6,$00,$00,$F1,$04,$6C,$00 .db $F2,$DC,$16,$16,$DA,$03,$E2,$23 .db $24,$C7,$00,$DA,$03,$E2,$23,$DB .db $00,$18,$4E,$85,$8A,$0C,$88,$8A .db $C7,$85,$C7,$85,$8A,$C7,$18,$88 .db $8A,$85,$8A,$0C,$88,$8A,$C7,$85 .db $C7,$85,$8A,$C7,$18,$88,$8A,$00 .db $DA,$08,$DB,$05,$DE,$14,$08,$50 .db $18,$6E,$C7,$A0,$24,$9D,$0C,$98 .db $9A,$48,$9D,$0C,$C6,$18,$C7,$98 .db $0C,$9D,$18,$A4,$60,$A0,$DD,$0C .db $3C,$A1,$60,$C6,$00,$DA,$08,$DB .db $0F,$DE,$14,$08,$50,$06,$6B,$C7 .db $18,$C7,$A0,$24,$9D,$0C,$98,$9A .db $48,$9D,$0C,$C6,$18,$C7,$98,$0C .db $9D,$18,$A4,$60,$A0,$DD,$0C,$3C .db $A1,$60,$C6,$00,$DA,$03,$E2,$23 .db $DB,$00,$18,$4E,$85,$8A,$0C,$88 .db $8A,$C7,$85,$C7,$85,$8A,$C7,$18 .db $88,$8A,$85,$8A,$0C,$88,$8A,$C7 .db $85,$C7,$85,$8A,$C7,$18,$88,$8A .db $00,$DA,$03,$DB,$14,$0C,$4E,$91 .db $8C,$8F,$8C,$8D,$8B,$8F,$8D,$91 .db $8C,$8F,$8C,$8D,$8B,$8F,$8D,$91 .db $8C,$8F,$8C,$8D,$8B,$8F,$8D,$91 .db $8C,$8F,$8C,$8D,$8B,$8F,$8D,$00 .db $DA,$0C,$0C,$6D,$A9,$06,$A6,$A6 .db $0C,$A9,$A6,$C6,$A4,$A4,$C6,$A9 .db $06,$A6,$A6,$0C,$A9,$A6,$C6,$A4 .db $A4,$C6,$A9,$06,$A6,$A6,$0C,$A9 .db $A6,$C6,$A4,$A4,$C6,$A9,$06,$A6 .db $A6,$0C,$A9,$A6,$C6,$A4,$A4,$C6 .db $DA,$08,$DB,$05,$24,$5E,$A1,$9D .db $18,$98,$24,$A1,$30,$9D,$0C,$C7 .db $A0,$9D,$18,$98,$24,$A0,$60,$9F .db $0C,$C7,$DA,$08,$DB,$0F,$06,$6B .db $C7,$24,$A1,$9D,$18,$98,$24,$A1 .db $30,$9D,$0C,$C7,$A0,$9D,$18,$98 .db $24,$A0,$60,$9F,$0C,$C7,$DA,$03 .db $DB,$00,$18,$4E,$8A,$8E,$0C,$8C .db $8E,$C7,$89,$C7,$89,$8E,$C7,$18 .db $8C,$8E,$88,$8E,$0C,$8C,$8E,$C7 .db $87,$C7,$87,$8E,$C7,$18,$8C,$8E .db $00,$DA,$03,$DB,$14,$0C,$4E,$91 .db $06,$8A,$89,$0C,$8E,$8A,$8C,$8A .db $8E,$8A,$91,$06,$89,$88,$0C,$8C .db $89,$8E,$89,$8C,$89,$91,$06,$88 .db $87,$0C,$8B,$88,$8E,$88,$8B,$88 .db $91,$06,$87,$86,$0C,$8A,$87,$8E .db $87,$8A,$87,$00,$F0,$DA,$01,$E2 .db $12,$DB,$0F,$DE,$00,$00,$00,$E0 .db $80,$E1,$60,$FF,$06,$67,$BB,$BD .db $B9,$BC,$BB,$BD,$B9,$BC,$BB,$BD .db $B9,$BC,$BB,$BD,$B9,$BC,$BB,$BD .db $B9,$BC,$BB,$BD,$B9,$BC,$BB,$BD .db $B9,$BC,$BB,$BD,$B9,$BC,$00,$DA .db $02,$DB,$0A,$DE,$00,$00,$00,$06 .db $67,$BB,$BD,$B9,$BC,$BB,$BD,$B9 .db $BC,$BB,$BD,$B9,$BC,$BB,$BD,$B9 .db $BC,$BB,$BD,$B9,$BC,$BB,$BD,$B9 .db $BC,$BB,$BD,$B9,$BC,$BB,$BD,$B9 .db $BC,$DA,$01,$DB,$05,$DE,$00,$00 .db $00,$06,$67,$B5,$B7,$B4,$B6,$B5 .db $B7,$B4,$B6,$B5,$B7,$B4,$B6,$B5 .db $B7,$B4,$B6,$B5,$B7,$B4,$B6,$B5 .db $B7,$B4,$B6,$B5,$B7,$B4,$B6,$B5 .db $B7,$B4,$B6,$DA,$0B,$DB,$00,$DE .db $00,$00,$00,$E7,$A0,$E8,$60,$FF .db $60,$7F,$A9,$DD,$30,$60,$A7,$E8 .db $60,$B0,$DC,$60,$0A,$60,$C6,$DA .db $0B,$DB,$00,$DE,$00,$00,$00,$E7 .db $A0,$E8,$60,$FF,$60,$7F,$A3,$DD .db $30,$60,$A1,$E8,$60,$B0,$DC,$60 .db $0A,$60,$C6,$DA,$01,$DB,$0F,$E0 .db $80,$E1,$60,$FF,$06,$67,$BD,$BF .db $BB,$BE,$BD,$BF,$BB,$BE,$BD,$BF .db $BB,$BE,$BD,$BF,$BB,$BE,$BD,$BF .db $BB,$BE,$BD,$BF,$BB,$BE,$BD,$BF .db $BB,$BE,$BD,$BF,$BB,$BE,$00,$DA .db $02,$DB,$0A,$06,$67,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$DA,$01,$DB .db $05,$06,$67,$B7,$B9,$B6,$B8,$B7 .db $B9,$B6,$B8,$B7,$B9,$B6,$B8,$B7 .db $B9,$B6,$B8,$B7,$B9,$B6,$B8,$B7 .db $B9,$B6,$B8,$B7,$B9,$B6,$B8,$B7 .db $B9,$B6,$B8,$DA,$0B,$DB,$0A,$DE .db $00,$00,$00,$E7,$A0,$E8,$60,$FF .db $60,$7F,$AB,$DD,$30,$60,$A9,$E8 .db $60,$B0,$DC,$60,$14,$60,$C6,$DA .db $0B,$DB,$0A,$DE,$00,$00,$00,$E7 .db $A0,$E8,$60,$FF,$60,$7F,$A5,$DD .db $30,$60,$A3,$E8,$60,$B0,$DC,$60 .db $14,$60,$C6,$DA,$01,$DB,$0F,$E0 .db $80,$E1,$60,$FF,$06,$67,$BF,$C1 .db $BD,$C0,$BF,$C1,$BD,$C0,$BF,$C1 .db $BD,$C0,$BF,$C1,$BD,$C0,$BF,$C1 .db $BD,$C0,$BF,$C1,$BD,$C0,$BF,$C1 .db $BD,$C0,$BF,$C1,$BD,$C0,$00,$DA .db $02,$DB,$0A,$06,$67,$BF,$C1,$BD .db $C0,$BF,$C1,$BD,$C0,$BF,$C1,$BD .db $C0,$BF,$C1,$BD,$C0,$BF,$C1,$BD .db $C0,$BF,$C1,$BD,$C0,$BF,$C1,$BD .db $C0,$BF,$C1,$BD,$C0,$DA,$01,$DB .db $05,$06,$67,$B9,$BB,$B8,$BA,$B9 .db $BB,$B8,$BA,$B9,$BB,$B8,$BA,$B9 .db $BB,$B8,$BA,$B9,$BB,$B8,$BA,$B9 .db $BB,$B8,$BA,$B9,$BB,$B8,$BA,$B9 .db $BB,$B8,$BA,$DA,$0B,$DB,$14,$DE .db $00,$00,$00,$E7,$A0,$E8,$60,$FF .db $60,$7F,$AD,$DD,$30,$60,$AB,$E8 .db $60,$B0,$DC,$60,$0A,$60,$C6,$DA .db $0B,$DB,$14,$DE,$00,$00,$00,$E7 .db $A0,$E8,$60,$FF,$60,$7F,$A7,$DD .db $30,$60,$A5,$E8,$60,$B0,$DC,$60 .db $0A,$60,$C6,$DA,$01,$DB,$0F,$E0 .db $80,$E1,$60,$FF,$06,$67,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$00,$DA .db $02,$DB,$0A,$06,$67,$C1,$C3,$BF .db $C2,$C1,$C3,$BF,$C2,$C1,$C3,$BF .db $C2,$C1,$C3,$BF,$C2,$C1,$C3,$BF .db $C2,$C1,$C3,$BF,$C2,$C1,$C3,$BF .db $C2,$C1,$C3,$BF,$C2,$DA,$01,$DB .db $05,$06,$67,$BB,$BD,$BA,$BC,$BB .db $BD,$BA,$BC,$BB,$BD,$BA,$BC,$BB .db $BD,$BA,$BC,$BB,$BD,$BA,$BC,$BB .db $BD,$BA,$BC,$BB,$BD,$BA,$BC,$BB .db $BD,$BA,$BC,$DA,$0B,$DB,$0A,$E7 .db $A0,$E8,$60,$FF,$60,$7F,$AF,$DD .db $30,$60,$AD,$E8,$60,$B0,$DC,$60 .db $00,$60,$C6,$DA,$0B,$DB,$0A,$E7 .db $A0,$E8,$60,$FF,$60,$7F,$A9,$DD .db $30,$60,$A7,$E8,$60,$B0,$DC,$60 .db $00,$60,$C6,$DA,$01,$E0,$FF,$DB .db $0F,$DE,$00,$00,$00,$06,$67,$C1 .db $C3,$BF,$C2,$C1,$C3,$BF,$C2,$C1 .db $C3,$BF,$C2,$C1,$C3,$BF,$C2,$C1 .db $C3,$BF,$C2,$C1,$C3,$BF,$C2,$C1 .db $C3,$BF,$C2,$C1,$C3,$BF,$C2,$C1 .db $C3,$BF,$C2,$C1,$C3,$BF,$C2,$C1 .db $C3,$BF,$C2,$C1,$C3,$BF,$C2,$E1 .db $60,$80,$06,$C1,$C3,$BF,$C2,$C1 .db $C3,$BF,$C2,$C1,$C3,$BF,$C2,$C1 .db $C3,$BF,$C2,$00,$DA,$02,$DB,$0A .db $DE,$00,$00,$00,$06,$67,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$C1,$C3 .db $BF,$C2,$C1,$C3,$BF,$C2,$DA,$01 .db $DB,$05,$DE,$00,$00,$00,$06,$67 .db $BB,$BD,$BA,$BC,$BB,$BD,$BA,$BC .db $BB,$BD,$BA,$BC,$BB,$BD,$BA,$BC .db $BB,$BD,$BA,$BC,$BB,$BD,$BA,$BC .db $BB,$BD,$BA,$BC,$BB,$BD,$BA,$BC .db $BB,$BD,$BA,$BC,$BB,$BD,$BA,$BC .db $BB,$BD,$BA,$BC,$BB,$BD,$BA,$BC .db $BB,$BD,$BA,$BC,$BB,$BD,$BA,$BC .db $BB,$BD,$BA,$BC,$BB,$BD,$BA,$BC .db $DA,$0B,$E7,$FF,$DB,$05,$DE,$14 .db $1E,$70,$30,$7F,$A6,$18,$A3,$9E .db $9F,$48,$A3,$18,$C6,$9E,$A3,$AA .db $30,$A6,$A5,$DA,$0B,$E7,$FF,$DB .db $0A,$DE,$14,$1E,$70,$12,$7B,$C7 .db $30,$A6,$18,$A3,$9E,$9F,$48,$A3 .db $18,$C6,$9E,$A3,$AA,$30,$A6,$A5 .db $DA,$04,$E7,$FF,$DB,$0F,$DE,$00 .db $00,$00,$30,$7E,$8E,$18,$8B,$86 .db $87,$48,$8B,$18,$C6,$86,$8B,$92 .db $30,$8E,$8D,$E0,$FF,$06,$67,$BF .db $C1,$BD,$C0,$BF,$C1,$BD,$C0,$BF .db $C1,$BD,$C0,$BF,$C1,$BD,$C0,$BF .db $C1,$BD,$C0,$BF,$C1,$BD,$C0,$BF .db $C1,$BD,$C0,$BF,$C1,$BD,$C0,$BF .db $C1,$BD,$C0,$BF,$C1,$BD,$C0,$BF .db $C1,$BD,$C0,$BF,$C1,$BD,$C0,$E1 .db $60,$80,$06,$BF,$C1,$BD,$C0,$BF .db $C1,$BD,$C0,$BF,$C1,$BD,$C0,$BF .db $C1,$BD,$C0,$00,$DA,$01,$DB,$05 .db $06,$67,$B9,$BB,$B8,$BA,$B9,$BB .db $B8,$BA,$B9,$BB,$B8,$BA,$B9,$BB .db $B8,$BA,$B9,$BB,$B8,$BA,$B9,$BB .db $B8,$BA,$B9,$BB,$B8,$BA,$B9,$BB .db $B8,$BA,$B9,$BB,$B8,$BA,$B9,$BB .db $B8,$BA,$B9,$BB,$B8,$BA,$B9,$BB .db $B8,$BA,$B9,$BB,$B8,$BA,$B9,$BB .db $B8,$BA,$B9,$BB,$B8,$BA,$B9,$BB .db $B8,$BA,$DA,$0B,$E7,$FF,$DB,$05 .db $DE,$14,$1E,$70,$30,$7F,$A4,$18 .db $A1,$9C,$9D,$48,$A1,$18,$C6,$9C .db $A1,$A8,$30,$A4,$A3,$DA,$0B,$E7 .db $FF,$DB,$0A,$DE,$14,$1E,$70,$12 .db $7B,$C7,$30,$A4,$18,$A1,$9C,$9D .db $48,$A1,$18,$C6,$9C,$A1,$A8,$30 .db $A4,$A3,$DA,$04,$E7,$FF,$DB,$0F .db $DE,$00,$00,$00,$30,$7E,$8C,$18 .db $89,$84,$85,$48,$89,$18,$C6,$84 .db $89,$90,$30,$8C,$8B,$E0,$FF,$06 .db $67,$BD,$BF,$BB,$BE,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$BD,$BF,$BB .db $BE,$E1,$60,$80,$06,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$BD,$BF,$BB .db $BE,$BD,$BF,$BB,$BE,$00,$DA,$01 .db $DB,$05,$06,$67,$B7,$B9,$B6,$B8 .db $B7,$B9,$B6,$B8,$B7,$B9,$B6,$B8 .db $B7,$B9,$B6,$B8,$B7,$B9,$B6,$B8 .db $B7,$B9,$B6,$B8,$B7,$B9,$B6,$B8 .db $B7,$B9,$B6,$B8,$B7,$B9,$B6,$B8 .db $B7,$B9,$B6,$B8,$B7,$B9,$B6,$B8 .db $B7,$B9,$B6,$B8,$B7,$B9,$B6,$B8 .db $B7,$B9,$B6,$B8,$B7,$B9,$B6,$B8 .db $B7,$B9,$B6,$B8,$DA,$0B,$E7,$FF .db $DB,$05,$DE,$14,$1E,$70,$30,$7F .db $A2,$18,$9F,$9A,$9B,$48,$9F,$18 .db $C6,$9A,$9F,$A6,$30,$A2,$A1,$DA .db $0B,$E7,$FF,$DB,$0A,$DE,$14,$1E .db $70,$12,$7B,$C7,$30,$A2,$18,$9F .db $9A,$9B,$48,$9F,$18,$C6,$9A,$9F .db $A6,$30,$A2,$A1,$DA,$04,$E7,$FF .db $DB,$0F,$DE,$00,$00,$00,$30,$7E .db $8A,$18,$87,$82,$83,$48,$87,$18 .db $C6,$82,$87,$8E,$30,$8A,$89,$F0 .db $DA,$01,$E2,$36,$DB,$0A,$DE,$00 .db $00,$00,$30,$6D,$BE,$24,$BA,$0C .db $B5,$0C,$B4,$C7,$B5,$B7,$30,$C6 .db $00,$DA,$02,$DB,$0A,$DE,$00,$00 .db $00,$30,$67,$BE,$24,$BA,$0C,$B5 .db $0C,$B4,$C7,$B5,$B7,$30,$C6,$00 .db $DA,$02,$DB,$8A,$DE,$00,$00,$00 .db $06,$65,$C7,$30,$BE,$24,$BA,$0C .db $B5,$0C,$B4,$C7,$B5,$B7,$30,$C6 .db $DA,$01,$DB,$8A,$DE,$00,$00,$00 .db $06,$69,$C7,$30,$BE,$24,$BA,$0C .db $B5,$0C,$B4,$C7,$B5,$B7,$30,$C6 .db $DA,$01,$DB,$0A,$DE,$00,$00,$00 .db $30,$6D,$B5,$24,$B2,$0C,$AE,$0C .db $AB,$C7,$AD,$AE,$30,$C6,$DA,$01 .db $DB,$82,$DE,$00,$00,$00,$06,$69 .db $C7,$30,$B5,$24,$B2,$0C,$AE,$0C .db $AB,$C7,$AD,$AE,$30,$C6,$DA,$01 .db $DB,$0A,$DE,$00,$00,$00,$30,$6D .db $A2,$24,$9D,$0C,$9A,$0C,$98,$C7 .db $9A,$9C,$30,$C6,$DA,$01,$DB,$A0 .db $DE,$00,$00,$00,$06,$69,$C7,$30 .db $A2,$24,$9D,$0C,$9A,$0C,$98,$C7 .db $9A,$9C,$30,$C6,$DA,$05,$DB,$0A .db $DE,$00,$00,$00,$08,$5B,$B0,$C6 .db $C6,$B0,$C7,$B9,$B0,$C6,$C6,$B0 .db $C7,$B9,$B2,$C6,$C6,$B2,$C7,$BA .db $B1,$C6,$C6,$B1,$C7,$BA,$B0,$C6 .db $C6,$B0,$C7,$B9,$B0,$C6,$C6,$B0 .db $C7,$B9,$B2,$C6,$C6,$B1,$C6,$C6 .db $C6,$C6,$C6,$C6,$C6,$C6,$00,$DA .db $05,$DB,$0F,$DE,$00,$00,$00,$01 .db $49,$C7,$08,$B5,$C6,$C6,$B5,$C7 .db $B5,$B5,$C6,$C6,$B5,$C7,$B5,$B5 .db $C6,$C6,$B5,$C7,$B5,$B4,$C6,$C6 .db $B4,$C7,$B4,$B5,$C6,$C6,$B5,$C7 .db $B5,$B5,$C6,$C6,$B5,$C7,$B5,$B5 .db $C6,$C6,$B4,$C6,$C6,$C6,$C6,$C6 .db $C6,$C6,$C6,$DA,$05,$DB,$05,$DE .db $00,$00,$00,$02,$C7,$08,$48,$B9 .db $C6,$C6,$B9,$C7,$B0,$B9,$C6,$C6 .db $B9,$C7,$B0,$BA,$C6,$C6,$BA,$C7 .db $B2,$BA,$C6,$C6,$BA,$C7,$B1,$B9 .db $C6,$C6,$B9,$C7,$B0,$B9,$C6,$C6 .db $B9,$C7,$B0,$BA,$C6,$C6,$BA,$C6 .db $C6,$C6,$C6,$C6,$C6,$C6,$C6,$DA .db $04,$DB,$0A,$18,$4C,$91,$C7,$8E .db $C7,$93,$C7,$8C,$C7,$91,$C7,$8E .db $C7,$93,$92,$C6,$C6,$60,$01,$C7 .db $C7,$C7,$C7,$DA,$05,$DB,$0A,$DE .db $00,$00,$00,$08,$5B,$B0,$C6,$C6 .db $08,$5C,$B0,$C7,$08,$5B,$B9,$B0 .db $C6,$C6,$08,$5C,$B0,$C7,$08,$5B .db $B9,$B2,$C6,$C6,$08,$5C,$B2,$C7 .db $08,$5B,$BA,$B2,$C6,$C6,$08,$5C .db $B2,$C7,$08,$5B,$BB,$B0,$C6,$C6 .db $08,$5C,$B0,$C7,$08,$5B,$B9,$B0 .db $C6,$C6,$08,$5C,$B0,$C7,$08,$5B .db $B8,$B0,$C6,$C6,$08,$5C,$B0,$C7 .db $08,$5B,$B7,$B0,$C6,$C6,$08,$5C .db $B0,$C7,$08,$5B,$BA,$00,$DA,$05 .db $DB,$05,$02,$C7,$08,$48,$B9,$C6 .db $C6,$B9,$C7,$B0,$B9,$C6,$C6,$B9 .db $C7,$B0,$BA,$C6,$C6,$BA,$C7,$B2 .db $BB,$C6,$C6,$BB,$C7,$B2,$B9,$C6 .db $C6,$B9,$C7,$B0,$B8,$C6,$C6,$B8 .db $C7,$B0,$B7,$C6,$C6,$B7,$C7,$B0 .db $BA,$C6,$C6,$BA,$C7,$B0,$DA,$05 .db $DB,$0F,$01,$49,$C7,$08,$B5,$C6 .db $C6,$B5,$C7,$B5,$B5,$C6,$C6,$B5 .db $C7,$B5,$B5,$C6,$C6,$B5,$C7,$B5 .db $B5,$C6,$C6,$B5,$C7,$B5,$B4,$C6 .db $C6,$B4,$C7,$B4,$B3,$C6,$C6,$B3 .db $C7,$B3,$B2,$C6,$C6,$B2,$C7,$B2 .db $B4,$C6,$C6,$B4,$C7,$B4,$DA,$07 .db $DB,$0A,$30,$5C,$AD,$24,$A9,$0C .db $A4,$A6,$18,$A9,$30,$A9,$0C,$A6 .db $18,$A4,$A9,$A9,$B0,$24,$AD,$30 .db $AB,$0C,$A4,$DA,$0C,$DB,$0A,$E7 .db $FF,$0C,$6F,$B5,$B9,$B5,$B0,$B2 .db $C6,$B0,$C6,$B0,$B2,$B5,$C6,$B0 .db $B2,$B5,$C6,$B5,$B9,$B5,$B0,$B2 .db $C6,$B0,$C6,$B0,$B2,$B5,$C6,$B0 .db $C6,$C6,$C6,$B5,$B9,$B5,$B0,$B2 .db $C6,$B0,$C6,$B0,$B2,$B5,$C6,$B0 .db $B2,$B5,$C6,$B5,$B9,$B5,$B0,$B2 .db $C6,$B0,$C6,$B0,$B2,$B5,$C6,$B0 .db $C6,$B0,$B0,$DA,$04,$18,$4B,$91 .db $C7,$95,$C7,$96,$C7,$97,$C7,$95 .db $C7,$94,$C7,$93,$8C,$8E,$90,$08 .db $5B,$B0,$C6,$C6,$08,$5C,$B0,$C7 .db $08,$5B,$B9,$B0,$C6,$C6,$08,$5C .db $B0,$C7,$08,$5B,$B9,$B2,$C6,$C6 .db $08,$5C,$B2,$C7,$08,$5B,$BA,$B2 .db $C6,$C6,$08,$5C,$B2,$C7,$08,$5B .db $BB,$B2,$C6,$C6,$08,$5C,$B2,$C7 .db $08,$5B,$BA,$B0,$C6,$C6,$08,$5C .db $B0,$C7,$08,$5B,$BA,$B0,$C6,$C6 .db $08,$5C,$B0,$C7,$08,$5B,$B9,$B0 .db $C6,$C6,$08,$5C,$B0,$C7,$08,$5B .db $B9,$00,$02,$C7,$08,$48,$B9,$C6 .db $C6,$B9,$C7,$B0,$B9,$C6,$C6,$B9 .db $C7,$B0,$BA,$C6,$C6,$BA,$C7,$B2 .db $BB,$C6,$C6,$BB,$C7,$B2,$BA,$C6 .db $C6,$BA,$C7,$B2,$BA,$C6,$C6,$BA .db $C7,$B0,$B9,$C6,$C6,$B9,$C7,$B0 .db $B9,$C6,$C6,$B9,$C7,$B0,$01,$C7 .db $08,$49,$B5,$C6,$C6,$B5,$C7,$B5 .db $B5,$C6,$C6,$B5,$C7,$B5,$B5,$C6 .db $C6,$B5,$C7,$B5,$B5,$C6,$C6,$B5 .db $C7,$B5,$B7,$C6,$C6,$B7,$C7,$B7 .db $B4,$C6,$C6,$B4,$C7,$B4,$B5,$C6 .db $C6,$B5,$C7,$B5,$B5,$C6,$C6,$B5 .db $C7,$B5,$30,$5C,$AD,$24,$A9,$0C .db $A4,$A6,$18,$A9,$30,$A9,$0C,$A6 .db $18,$A4,$A9,$0C,$AE,$AD,$AB,$30 .db $A9,$C7,$C7,$18,$4B,$91,$C7,$95 .db $C7,$96,$C7,$97,$C7,$98,$8C,$90 .db $93,$91,$8C,$91,$C7,$08,$5B,$B2 .db $C6,$C6,$08,$5C,$B2,$C7,$08,$5B .db $BA,$B2,$C6,$C6,$08,$5C,$B2,$C7 .db $08,$5B,$BA,$B0,$C6,$C6,$08,$5C .db $B0,$C7,$08,$5B,$B9,$B0,$C7,$B9 .db $08,$5C,$B0,$C7,$08,$5B,$B9,$AF .db $C6,$C6,$08,$5C,$AF,$C7,$08,$5B .db $B8,$AF,$C6,$C6,$08,$5C,$AF,$C7 .db $08,$5B,$B8,$AE,$C6,$C6,$08,$5C .db $AE,$C7,$08,$5B,$B7,$B0,$C7,$B7 .db $08,$5C,$B0,$C7,$08,$5B,$B7,$00 .db $02,$C7,$08,$48,$BA,$C6,$C6,$BA .db $C7,$B2,$BA,$C6,$C6,$BA,$C7,$B2 .db $B9,$C6,$C6,$B9,$C7,$B0,$B9,$C7 .db $B0,$B9,$C7,$B0,$B8,$C6,$C6,$B8 .db $C7,$AF,$B8,$C6,$C6,$B8,$C7,$AF .db $B7,$C6,$C6,$B7,$C7,$AE,$B7,$C7 .db $B0,$B7,$C7,$B0,$01,$49,$C7,$08 .db $B5,$C6,$C6,$B5,$C7,$B5,$B5,$C6 .db $C6,$B5,$C7,$B5,$B5,$C6,$C6,$B5 .db $C7,$B5,$B5,$C7,$B5,$B5,$C7,$B5 .db $B2,$C6,$C6,$B2,$C7,$B2,$B2,$C6 .db $C6,$B2,$C7,$B2,$B2,$C6,$C6,$B2 .db $C7,$B2,$B4,$C7,$B4,$B4,$C7,$B4 .db $24,$5C,$AD,$A9,$18,$A4,$24,$AD .db $30,$A9,$0C,$C7,$AC,$A9,$18,$A4 .db $24,$AC,$60,$AB,$0C,$C7,$DA,$08 .db $DB,$0A,$18,$4B,$96,$97,$98,$9A .db $98,$95,$91,$93,$94,$97,$9A,$9D .db $9F,$9D,$9C,$98,$DA,$0C,$DB,$0A .db $E7,$FF,$06,$6F,$B5,$B5,$0C,$B9 .db $B5,$B0,$B2,$C6,$B0,$C6,$B5,$B2 .db $C6,$B5,$B2,$C6,$C6,$C6,$06,$B5 .db $B5,$0C,$B9,$B5,$B0,$B2,$C6,$B0 .db $C6,$B5,$B2,$C6,$B5,$B2,$C6,$C6 .db $C6,$08,$5B,$B2,$C6,$C6,$08,$5C .db $B2,$C7,$08,$5B,$BA,$B2,$C6,$C6 .db $08,$5C,$B2,$08,$5B,$C7,$BA,$B0 .db $C6,$C6,$08,$5C,$B0,$C7,$08,$5B .db $B9,$B0,$C7,$B9,$08,$5C,$B0,$08 .db $5B,$C7,$B9,$AF,$C6,$C6,$08,$5C .db $AF,$C7,$08,$5B,$B8,$AF,$C6,$C6 .db $08,$5C,$AF,$08,$5B,$C7,$B8,$AE .db $C6,$C6,$08,$5C,$AE,$C7,$08,$5B .db $B7,$B0,$C7,$B0,$08,$5C,$B7,$08 .db $5B,$B0,$B7,$00,$02,$C7,$08,$48 .db $BA,$C6,$C6,$BA,$C7,$B2,$BA,$C6 .db $C6,$BA,$C7,$B2,$B9,$C6,$C6,$B9 .db $C7,$B0,$B9,$C7,$B0,$B9,$C7,$B0 .db $B8,$C6,$C6,$B8,$C7,$AF,$B8,$C6 .db $C6,$B8,$C7,$AF,$B7,$C6,$C6,$B7 .db $C7,$AE,$B7,$C7,$B7,$B0,$B7,$B0 .db $01,$C7,$08,$49,$B5,$C6,$C6,$B5 .db $C7,$B5,$B5,$C6,$C6,$B5,$C7,$B5 .db $B5,$C6,$C6,$B5,$C7,$B5,$B5,$C7 .db $B5,$B5,$C7,$B5,$B2,$C6,$C6,$B2 .db $C7,$B2,$B2,$C6,$C6,$B2,$C7,$B2 .db $B2,$C6,$C6,$B2,$C7,$B2,$B4,$C7 .db $B4,$B4,$B4,$B4,$24,$5C,$AD,$A9 .db $18,$A4,$24,$AD,$30,$A9,$0C,$C7 .db $AC,$A9,$18,$A4,$60,$B0,$C6,$18 .db $4B,$96,$95,$96,$9A,$9D,$9C,$98 .db $95,$97,$9A,$9D,$97,$96,$9A,$98 .db $9C,$DA,$05,$DB,$0A,$08,$49,$A6 .db $C6,$C6,$A9,$C6,$C6,$A6,$C7,$A9 .db $AA,$C6,$AB,$AD,$C7,$AC,$AB,$C6 .db $AA,$AD,$C7,$A6,$A7,$C6,$A8,$A9 .db $C7,$C7,$A6,$C6,$C6,$A9,$C7,$AB .db $AC,$C6,$AD,$AC,$C7,$AD,$A9,$C6 .db $A6,$A4,$C7,$A9,$A1,$C6,$A2,$DA .db $00,$DB,$0A,$DE,$23,$12,$40,$0C .db $5C,$A6,$18,$A2,$24,$A6,$18,$A6 .db $0C,$A9,$A9,$A8,$30,$A7,$0C,$C7 .db $A6,$18,$A2,$A6,$0C,$C6,$18,$A8 .db $60,$A9,$DA,$00,$DB,$05,$DE,$23 .db $12,$40,$0C,$5C,$A9,$18,$A6,$24 .db $A9,$18,$AB,$0C,$AD,$AC,$AB,$30 .db $AA,$0C,$C7,$A9,$18,$A6,$A9,$0C .db $C6,$18,$AB,$60,$AD,$00,$DA,$08 .db $DB,$0A,$18,$4C,$96,$95,$96,$97 .db $98,$99,$9A,$95,$93,$96,$95,$93 .db $91,$8E,$8C,$91,$00,$DA,$0C,$DB .db $0A,$E7,$FF,$06,$6F,$B5,$B5,$B5 .db $C6,$B5,$C6,$B5,$C6,$0C,$B5,$B5 .db $B2,$C6,$B5,$B5,$18,$B5,$B2,$C6 .db $06,$B5,$B5,$B5,$C6,$B5,$C6,$B5 .db $C6,$0C,$B5,$B5,$B2,$C6,$B5,$B5 .db $18,$B5,$B2,$C6,$DA,$01,$DB,$0A .db $0C,$5C,$A6,$18,$A2,$24,$A6,$18 .db $A6,$0C,$A9,$AB,$AD,$30,$AE,$0C .db $C7,$A6,$18,$A2,$A6,$0C,$C6,$18 .db $A8,$60,$A4,$DA,$01,$DB,$0F,$0C .db $5C,$A9,$18,$A6,$24,$A9,$18,$AB .db $0C,$AD,$AE,$B0,$30,$B2,$0C,$C7 .db $A9,$18,$A6,$A9,$0C,$C6,$18,$AB .db $60,$A9,$00,$DA,$08,$DB,$0A,$18 .db $4C,$96,$95,$96,$97,$98,$99,$9A .db $95,$93,$96,$95,$93,$91,$8C,$91 .db $C6,$00,$DA,$05,$DB,$0A,$DE,$00 .db $00,$00,$08,$5B,$B0,$C6,$C6,$08 .db $5C,$B0,$C7,$08,$5B,$B9,$B0,$C6 .db $C6,$08,$5C,$B0,$C7,$08,$5B,$B9 .db $B0,$C6,$C6,$08,$5C,$B0,$C7,$08 .db $5B,$B9,$B0,$C6,$C6,$08,$5C,$B0 .db $C7,$08,$5B,$B9,$B0,$C6,$C6,$08 .db $5C,$B0,$C7,$08,$5B,$B9,$B0,$C6 .db $C6,$08,$5C,$B0,$C7,$08,$5B,$B9 .db $B0,$C6,$C6,$08,$5C,$B0,$C7,$08 .db $5B,$B9,$B0,$C6,$C6,$08,$5C,$B0 .db $C7,$08,$5B,$B9,$48,$B0,$78,$C7 .db $08,$B0,$C6,$C6,$08,$5C,$B0,$C7 .db $08,$5B,$B9,$B0,$C6,$C6,$08,$5C .db $B0,$C7,$08,$5B,$B9,$B0,$C6,$C6 .db $08,$5C,$B0,$C7,$08,$5B,$B9,$B0 .db $C6,$C6,$08,$5C,$B0,$C7,$08,$5B .db $B9,$00,$DA,$05,$DB,$05,$02,$C7 .db $08,$48,$B9,$C6,$C6,$B9,$C7,$B0 .db $B9,$C6,$C6,$B9,$C7,$B0,$B9,$C6 .db $C6,$B9,$C7,$B0,$B9,$C6,$C6,$B9 .db $C7,$B0,$B9,$C6,$C6,$B9,$C7,$B0 .db $B9,$C6,$C6,$B9,$C7,$B0,$B9,$C6 .db $C6,$B9,$C7,$B0,$B9,$C6,$C6,$B9 .db $C7,$B0,$02,$C7,$48,$BA,$76,$C7 .db $08,$B9,$C6,$C6,$B9,$C7,$B0,$B9 .db $C6,$C6,$B9,$C7,$B0,$B9,$C6,$C6 .db $B9,$C7,$B0,$B9,$C6,$C6,$B9,$C7 .db $B0,$DA,$05,$DB,$0F,$01,$C7,$08 .db $49,$B5,$C6,$C6,$B5,$C7,$B5,$B5 .db $C6,$C6,$B5,$C7,$B5,$B5,$C6,$C6 .db $B5,$C7,$B5,$B5,$C6,$C6,$B5,$C7 .db $B5,$B5,$C6,$C6,$B5,$C7,$B5,$B5 .db $C6,$C6,$B5,$C7,$B5,$B5,$C6,$C6 .db $B5,$C7,$B5,$B5,$C6,$C6,$B5,$C7 .db $B5,$01,$C7,$48,$B7,$77,$C7,$08 .db $B5,$C6,$C6,$B5,$C7,$B5,$B5,$C6 .db $C6,$B5,$C7,$B5,$B5,$C6,$C6,$B5 .db $C7,$B5,$B5,$C6,$C6,$B5,$C7,$B5 .db $DA,$07,$DB,$0A,$30,$5C,$AD,$24 .db $A9,$0C,$A4,$A6,$18,$A9,$30,$A9 .db $0C,$AB,$AD,$A9,$18,$A4,$24,$A6 .db $60,$A9,$0C,$A6,$18,$B0,$B2,$B0 .db $B2,$24,$B0,$0C,$A4,$AE,$AD,$AB .db $C6,$60,$A9,$C7,$DA,$04,$DB,$0A .db $18,$4B,$91,$C7,$91,$C7,$8F,$C7 .db $8F,$C7,$8E,$C7,$8E,$C7,$8D,$C7 .db $8D,$C7,$8C,$C7,$C7,$C7,$C7,$C7 .db $8E,$90,$91,$C7,$8C,$C7,$91,$C7 .db $91,$C7,$F0,$DA,$01,$E2,$32,$DB .db $0A,$DE,$23,$12,$40,$48,$7E,$BE .db $30,$BA,$18,$B5,$24,$B4,$0C,$B4 .db $06,$B5,$B6,$48,$B7,$00,$DA,$01 .db $DB,$8A,$06,$7B,$C7,$48,$BE,$30 .db $BA,$18,$B5,$24,$B4,$0C,$B4,$06 .db $B5,$B6,$3C,$B7,$0C,$C7,$DA,$01 .db $DB,$0A,$DE,$23,$12,$40,$48,$6E .db $9F,$30,$9F,$18,$9F,$24,$8C,$0C .db $8C,$06,$8E,$8F,$48,$90,$00,$DA .db $01,$DB,$8A,$DE,$23,$12,$40,$06 .db $6B,$C7,$48,$9F,$30,$9F,$18,$9F .db $24,$8C,$0C,$8C,$06,$8E,$8F,$48 .db $90,$00,$DA,$01,$DB,$0A,$48,$6E .db $B5,$30,$B2,$18,$AE,$24,$AB,$0C .db $AB,$06,$AD,$AD,$48,$AE,$DA,$01 .db $DB,$A0,$06,$6E,$C7,$48,$B5,$30 .db $B2,$18,$AE,$24,$AB,$0C,$AB,$06 .db $AD,$AD,$48,$AE,$DA,$01,$DB,$0A .db $DE,$23,$12,$40,$48,$3E,$91,$8E .db $93,$8C,$91,$8E,$93,$18,$8C,$8E .db $90,$00,$DA,$03,$DB,$0A,$DE,$23 .db $12,$40,$48,$79,$C7,$06,$B0,$B2 .db $B5,$B9,$30,$BC,$48,$C7,$06,$B2 .db $B5,$B7,$BA,$30,$BE,$48,$C7,$06 .db $B0,$B2,$B5,$B9,$30,$BC,$48,$C7 .db $06,$B4,$B7,$BA,$BE,$24,$C0,$0C .db $2E,$C7,$DA,$01,$DB,$0A,$18,$4D .db $C7,$A4,$A4,$C7,$A4,$A4,$C7,$A6 .db $A6,$C7,$A5,$A5,$C7,$A4,$A4,$C7 .db $A4,$A4,$C7,$A6,$A6,$C7,$A5,$A5 .db $DA,$01,$DB,$0A,$18,$4D,$C7,$A1 .db $A1,$C7,$A1,$A1,$C7,$A2,$A2,$C7 .db $A2,$A2,$C7,$A1,$A1,$C7,$A1,$A1 .db $C7,$A2,$A2,$C7,$A2,$A2,$DA,$0C .db $DB,$0A,$18,$6D,$C7,$0C,$B0,$B0 .db $18,$B0,$C7,$AD,$B2,$C7,$0C,$B0 .db $B0,$18,$B0,$C7,$AD,$B2,$C7,$0C .db $B0,$B0,$18,$B0,$C7,$AD,$B2,$C7 .db $0C,$B0,$B0,$18,$B0,$C7,$AD,$B2 .db $DA,$01,$DB,$0A,$DE,$23,$12,$40 .db $12,$7B,$C7,$48,$B9,$30,$B5,$18 .db $B0,$30,$B2,$18,$B5,$48,$B5,$30 .db $B0,$18,$B5,$30,$B5,$18,$BC,$48 .db $B9,$B7,$48,$6E,$B9,$30,$B5,$18 .db $B0,$30,$B2,$18,$B5,$48,$B5,$30 .db $B0,$18,$B5,$30,$B5,$18,$BC,$48 .db $B9,$B7,$00,$DA,$01,$DB,$0F,$DE .db $23,$12,$40,$48,$7C,$A4,$A5,$A6 .db $A5,$A4,$A3,$A2,$A8,$DA,$02,$DB .db $0A,$48,$6C,$B9,$30,$B5,$18,$B0 .db $30,$B2,$18,$B5,$48,$B5,$30,$B0 .db $18,$B5,$30,$B5,$18,$BC,$48,$B9 .db $B7,$DA,$01,$DB,$0A,$DE,$23,$12 .db $40,$48,$3E,$91,$95,$96,$97,$95 .db $94,$93,$18,$8C,$8E,$90,$DA,$01 .db $DB,$0A,$18,$4D,$C7,$A4,$A4,$C7 .db $A4,$A4,$C7,$A6,$A6,$C7,$A6,$A6 .db $C7,$A8,$A8,$C7,$A7,$A7,$C7,$A6 .db $A6,$C7,$A8,$A8,$DA,$01,$DB,$0A .db $18,$4D,$C7,$A1,$A1,$C7,$A1,$A1 .db $C7,$A2,$A2,$C7,$A3,$A3,$C7,$A4 .db $A4,$C7,$A4,$A4,$C7,$A2,$A2,$C7 .db $A4,$A4,$12,$7B,$C7,$48,$B9,$30 .db $B5,$18,$B0,$30,$B2,$18,$B5,$48 .db $B5,$30,$B0,$18,$B5,$BA,$B9,$B7 .db $48,$B5,$C7,$00,$DA,$01,$48,$7B .db $A4,$A5,$A6,$A5,$A4,$A2,$A1,$C6 .db $00,$DA,$01,$48,$7B,$A4,$A5,$A6 .db $A5,$A4,$A8,$A9,$C6,$00,$DA,$02 .db $DB,$0A,$48,$6C,$B9,$30,$B5,$18 .db $B0,$30,$B2,$18,$B5,$48,$B5,$30 .db $B0,$18,$B5,$BA,$B9,$B7,$48,$B5 .db $C7,$00,$DA,$01,$DB,$0A,$48,$3E .db $91,$95,$96,$97,$93,$98,$18,$91 .db $98,$95,$48,$91,$00,$DA,$0C,$DB .db $0A,$18,$6D,$C7,$0C,$B0,$B0,$18 .db $B0,$C7,$AD,$B2,$C7,$0C,$B0,$B0 .db $18,$B0,$C7,$AD,$B2,$C7,$0C,$B0 .db $B0,$18,$B0,$C7,$AD,$B2,$AD,$B0 .db $B0,$AD,$C7,$C7,$DA,$01,$DB,$0A .db $18,$4D,$C7,$A4,$A4,$C7,$A4,$A4 .db $C7,$A6,$A6,$C7,$A6,$A6,$C7,$A6 .db $A6,$C7,$A4,$A4,$C7,$A4,$A4,$C7 .db $A4,$A4,$00,$DA,$01,$DB,$0A,$18 .db $4D,$C7,$A1,$A1,$C7,$A1,$A1,$C7 .db $A2,$A2,$C7,$A3,$A3,$C7,$A2,$A2 .db $C7,$A2,$A2,$C7,$A1,$A1,$C7,$A1 .db $A1,$00,$12,$7B,$C7,$DA,$01,$48 .db $B9,$30,$B5,$18,$B0,$48,$B9,$B5 .db $00,$DA,$00,$60,$67,$B0,$0C,$B1 .db $B2,$B5,$B9,$48,$BC,$B9,$00,$DA .db $01,$48,$3E,$96,$96,$95,$95,$00 .db $DA,$01,$18,$4D,$C7,$A9,$A9,$C7 .db $A9,$A9,$C7,$A9,$A9,$C7,$A9,$A9 .db $00,$DA,$01,$DB,$0A,$18,$4D,$C7 .db $A6,$A6,$C7,$A6,$A6,$C7,$A4,$A4 .db $C7,$A4,$A4,$C7,$00,$DA,$0C,$DB .db $0A,$18,$6D,$C7,$B2,$B2,$C7,$B2 .db $AD,$C7,$B2,$B2,$C7,$AD,$B2,$C7 .db $B2,$B2,$C7,$B2,$AD,$C7,$B2,$B2 .db $C7,$AD,$B2,$12,$C6,$48,$B8,$30 .db $B5,$18,$B8,$48,$B7,$C7,$00,$60 .db $AF,$0C,$B0,$B2,$B5,$B8,$48,$BA .db $B7,$00,$48,$94,$94,$93,$18,$8C .db $8E,$90,$00,$18,$C7,$A9,$A9,$C7 .db $A9,$A9,$C7,$A9,$A9,$C7,$A8,$A8 .db $00,$18,$C7,$A3,$A3,$C7,$A3,$A3 .db $C7,$A2,$A2,$C7,$A4,$A4,$C7,$00 .db $12,$C6,$48,$B8,$30,$B5,$18,$B0 .db $48,$BC,$C6,$00,$60,$AF,$0C,$B0 .db $B1,$B2,$B5,$48,$B9,$B7,$00,$00 .db $00,$00,$05,$E0,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .BANK 15 BankF: .db $50,$00,$00,$80,$00,$81,$24,$81 .db $3F,$81,$63,$81,$7E,$81,$68,$82 .db $83,$82,$AC,$83,$C7,$83,$EB,$83 .db $06,$84,$2F,$85,$3D,$86,$3D,$86 .db $AB,$8A,$D2,$90,$11,$91,$35,$91 .db $50,$91,$7A,$9D,$95,$9D,$95,$9D .db $13,$B0,$13,$B0,$AF,$B6,$D3,$B6 .db $EE,$B6,$88,$B9,$C7,$B9,$38,$C4 .db $53,$C4,$53,$C4,$D2,$C6,$D2,$C6 .db $B7,$CF,$C7,$D4,$21,$D5,$21,$D5 .db $7B,$DE,$7B,$DE,$20,$6F,$00,$81 .db $02,$00,$00,$00,$00,$00,$00,$00 .db $00,$96,$00,$00,$00,$07,$55,$54 .db $43,$43,$9E,$00,$10,$00,$00,$F0 .db $F0,$FE,$ED,$7E,$22,$0E,$DF,$E0 .db $0F,$E0,$F0,$12,$8E,$10,$12,$22 .db $42,$20,$02,$01,$11,$9E,$00,$01 .db $0F,$10,$FF,$00,$E0,$CE,$7F,$12 .db $0E,$DF,$E0,$0F,$E0,$0F,$12,$02 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $C2,$00,$00,$00,$04,$43,$33,$21 .db $10,$96,$0D,$DD,$ED,$CB,$EF,$00 .db $01,$01,$8E,$EF,$F2,$20,$1F,$10 .db $FF,$02,$21,$A6,$12,$01,$03,$55 .db $1E,$F0,$EE,$EF,$8E,$C0,$0F,$0E .db $DE,$24,$0F,$10,$00,$8F,$FF,$F2 .db $20,$1F,$10,$FF,$F4,$02,$02,$00 .db $00,$00,$00,$00,$00,$00,$00,$02 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $A6,$00,$00,$EB,$EC,$24,$5D,$2F .db $4D,$96,$AF,$70,$2C,$EF,$42,$ED .db $E2,$D3,$92,$FE,$0E,$0C,$EC,$EE .db $0F,$EE,$DF,$96,$C2,$4E,$2F,$30 .db $1F,$31,$D2,$D2,$96,$F3,$F0,$3E .db $1F,$1E,$FF,$13,$C5,$96,$F1,$FF .db $1D,$1C,$2F,$40,$01,$F2,$92,$CE .db $DE,$CB,$10,$2E,$20,$ED,$BF,$96 .db $C4,$E4,$3F,$0D,$3B,$FC,$52,$E3 .db $96,$16,$A0,$E0,$EC,$31,$6F,$30 .db $2F,$A6,$C0,$F2,$D1,$32,$1E,$3F .db $EC,$01,$A6,$F1,$F5,$11,$EF,$1C .db $ED,$41,$00,$A6,$44,$DE,$D1,$DE .db $02,$40,$21,$2E,$A2,$FD,$CD,$AC .db $05,$54,$66,$3C,$BB,$A6,$1F,$26 .db $41,$DF,$0B,$BC,$42,$30,$A6,$64 .db $FB,$B0,$DC,$E5,$64,$12,$3D,$AE .db $CF,$33,$D4,$43,$CE,$FF,$DC,$24 .db $B6,$11,$23,$31,$EF,$EE,$CF,$22 .db $12,$A6,$54,$EA,$BF,$CB,$16,$73 .db $13,$1B,$B6,$CE,$0F,$01,$43,$00 .db $00,$DC,$F1,$B6,$00,$24,$3F,$E0 .db $FD,$CF,$32,$01,$B6,$42,$ED,$E0 .db $ED,$13,$31,$02,$1D,$B6,$CE,$1F .db $F1,$43,$00,$10,$DB,$F1,$B6,$1F .db $24,$3F,$E0,$0C,$CF,$32,$01,$B6 .db $42,$FC,$E1,$DD,$04,$40,$02,$2D .db $B6,$CE,$00,$E1,$44,$0F,$10,$DC .db $E2,$B6,$0F,$25,$3F,$EF,$1C,$CF .db $32,$F1,$B7,$43,$EC,$F0,$ED,$04 .db $31,$02,$1E,$02,$00,$00,$00,$00 .db $00,$00,$00,$00,$C2,$00,$00,$00 .db $CF,$0F,$00,$F1,$01,$B2,$1F,$32 .db $22,$F1,$F2,$10,$1A,$EA,$C6,$00 .db $D3,$01,$3E,$21,$F5,$C2,$0D,$C2 .db $41,$12,$CF,$CC,$FB,$ED,$D1,$F1 .db $C6,$1F,$4F,$01,$E2,$E0,$0E,$0E .db $F0,$B6,$F1,$E1,$22,$30,$22,$04 .db $E1,$0C,$B6,$4B,$1F,$A3,$A1,$2B .db $4E,$15,$E5,$B6,$1E,$7C,$32,$B4 .db $B0,$1A,$3A,$F1,$B6,$D3,$FF,$4F .db $33,$F4,$F2,$1E,$2D,$B6,$0F,$F0 .db $CF,$EF,$1F,$10,$03,$13,$B6,$10 .db $2F,$30,$E1,$C1,$FD,$1C,$0F,$B6 .db $E3,$E1,$2F,$40,$22,$F2,$00,$1D .db $B6,$1F,$E0,$C0,$FE,$1F,$11,$F3 .db $02,$A6,$4F,$50,$11,$E1,$CF,$EC .db $0B,$EF,$A6,$D3,$F2,$11,$42,$34 .db $F3,$00,$2D,$A6,$0D,$D0,$BF,$DD .db $1E,$20,$13,$13,$A6,$41,$30,$12 .db $E1,$DE,$FC,$0D,$DF,$96,$D1,$01 .db $32,$56,$36,$22,$4F,$2D,$9E,$00 .db $D2,$D0,$1E,$21,$01,$11,$20,$8E .db $21,$E2,$D1,$EE,$EE,$DF,$0D,$2E .db $9E,$11,$01,$11,$11,$02,$E1,$0E .db $1E,$8E,$FE,$D1,$C2,$E0,$2F,$40 .db $22,$21,$8E,$11,$1E,$1E,$F0,$B1 .db $DE,$2C,$11,$96,$D0,$01,$22,$33 .db $34,$23,$2F,$2E,$9E,$00,$D2,$E0 .db $00,$1F,$12,$F3,$F1,$8E,$2F,$2F .db $E2,$C1,$CF,$0D,$1E,$F3,$9E,$F1 .db $1F,$4E,$20,$02,$E1,$1D,$1E,$9E .db $00,$D2,$EF,$2F,$10,$02,$01,$2E .db $8E,$5E,$10,$E1,$DF,$FD,$0E,$00 .db $F1,$8E,$02,$02,$3F,$32,$E4,$C2 .db $0C,$2C,$9E,$F1,$D1,$0E,$2F,$10 .db $11,$01,$2F,$8E,$2F,$10,$E0,$EF .db $FD,$0E,$00,$F1,$9E,$01,$1F,$3F .db $20,$01,$F0,$1D,$2D,$9E,$00,$E1 .db $FF,$10,$01,$02,$01,$1F,$8F,$4E .db $10,$E0,$FE,$EE,$1C,$2F,$F2,$02 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $96,$00,$00,$00,$0B,$CE,$12,$21 .db $04,$96,$40,$23,$30,$EC,$E4,$45 .db $41,$4E,$C6,$F1,$12,$21,$F9,$A0 .db $11,$20,$0F,$96,$13,$03,$43,$2C .db $CE,$02,$21,$14,$96,$31,$22,$31 .db $EC,$E4,$44,$42,$3E,$C7,$00,$12 .db $21,$F9,$A0,$11,$20,$00,$02,$00 .db $00,$00,$00,$00,$00,$00,$00,$6E .db $04,$41,$22,$22,$22,$32,$23,$32 .db $6E,$42,$42,$43,$43,$43,$44,$44 .db $44,$6E,$44,$44,$45,$34,$35,$34 .db $34,$44,$6E,$25,$24,$34,$24,$33 .db $24,$23,$32,$6E,$33,$14,$13,$31 .db $31,$32,$13,$12,$5E,$33,$43,$34 .db $24,$23,$32,$32,$41,$5E,$33,$22 .db $23,$22,$23,$13,$22,$22,$5E,$32 .db $13,$22,$31,$23,$13,$13,$12,$4E .db $41,$53,$22,$32,$32,$22,$23,$03 .db $4E,$12,$21,$43,$32,$34,$24,$34 .db $34,$5E,$22,$21,$32,$22,$12,$21 .db $21,$12,$4E,$03,$31,$22,$10,$21 .db $01,$F1,$00,$4E,$FF,$0F,$EF,$FD .db $EF,$DD,$EE,$BE,$5E,$EF,$EE,$DF .db $ED,$ED,$FC,$EE,$DD,$5E,$DE,$CE .db $DC,$EE,$CE,$DD,$DE,$DD,$5E,$ED .db $EE,$DE,$ED,$FD,$EF,$DF,$EE,$4E .db $CD,$DD,$DD,$ED,$ED,$EE,$EE,$EE .db $3E,$BF,$CD,$BF,$DD,$FD,$FE,$CE .db $EF,$4E,$EE,$EF,$EE,$DE,$ED,$DE .db $DD,$DC,$5E,$FE,$ED,$FE,$DE,$DD .db $ED,$CE,$DD,$5E,$CE,$BE,$CD,$CC .db $DC,$CC,$CC,$BD,$5E,$BC,$CC,$CB .db $DC,$CC,$CC,$DC,$CD,$5E,$CD,$CC .db $DC,$CD,$CD,$CD,$CD,$DC,$5E,$EC .db $DE,$CD,$DD,$DD,$DD,$DD,$DD,$5E .db $ED,$DD,$ED,$EE,$DE,$EE,$ED,$EE .db $5E,$DD,$ED,$DD,$DE,$CE,$CD,$DD .db $CE,$6E,$EE,$EF,$DF,$EE,$EF,$DE .db $EE,$FD,$5E,$CC,$CC,$BC,$CB,$CC .db $CC,$BC,$DB,$5E,$CD,$CD,$CD,$EC .db $DF,$CF,$EE,$E0,$4E,$BF,$FF,$F0 .db $F2,$11,$31,$34,$53,$6E,$12,$12 .db $12,$22,$23,$22,$24,$23,$6E,$24 .db $33,$33,$44,$33,$53,$45,$34,$6E .db $45,$35,$35,$34,$44,$34,$44,$34 .db $6E,$33,$43,$42,$43,$33,$33,$32 .db $33,$6E,$23,$23,$22,$32,$22,$22 .db $22,$12,$5E,$52,$42,$43,$42,$33 .db $23,$32,$32,$5E,$32,$32,$23,$13 .db $22,$23,$13,$22,$5E,$23,$13,$13 .db $22,$22,$31,$22,$22,$4E,$32,$43 .db $32,$22,$33,$13,$21,$23,$4E,$02 .db $30,$52,$33,$24,$33,$43,$43,$5E .db $22,$22,$22,$22,$21,$22,$02,$20 .db $4E,$41,$32,$12,$11,$20,$1F,$10 .db $00,$4E,$0E,$1E,$EF,$FE,$DF,$DE .db $DE,$CD,$5E,$EF,$EE,$EE,$DF,$DD .db $FD,$DD,$EE,$5E,$CE,$CE,$DD,$DE .db $CE,$DD,$DE,$DD,$5E,$EE,$DE,$DE .db $EE,$DF,$DF,$DF,$EE,$4E,$DC,$DE .db $CD,$ED,$EE,$DE,$FD,$EF,$3E,$9F .db $DC,$CE,$ED,$ED,$0D,$DD,$0C,$4E .db $FE,$EE,$FD,$FD,$DE,$DE,$CE,$DC .db $5E,$EF,$ED,$FD,$EE,$DD,$DE,$CE .db $CE,$5E,$CD,$DC,$EB,$DC,$CD,$CB .db $DC,$BD,$5E,$BC,$CB,$DB,$DB,$DC .db $CC,$DC,$CD,$5E,$CC,$DC,$DC,$CC .db $DD,$CC,$EC,$CD,$5E,$EC,$DD,$DD .db $DD,$DC,$ED,$CE,$DD,$5E,$DE,$DD .db $ED,$ED,$EE,$ED,$FD,$ED,$5E,$ED .db $DE,$DD,$DD,$DE,$CD,$CE,$CD,$6E .db $EF,$DF,$EE,$FD,$FD,$FD,$FE,$DF .db $5E,$AD,$CB,$CC,$CB,$CB,$DB,$CC .db $CC,$5E,$CD,$CC,$DD,$DD,$DE,$DF .db $DF,$EF,$4E,$ED,$FF,$0F,$01,$12 .db $21,$44,$35,$6E,$11,$22,$12,$22 .db $22,$32,$24,$22,$6F,$42,$43,$25 .db $33,$43,$53,$44,$44,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$C0,$00 .db $01,$20,$0F,$1F,$02,$B1,$2F,$B0 .db $B0,$E0,$D1,$03,$D2,$25,$D5,$0C .db $B0,$3D,$1E,$3E,$D5,$B1,$4F,$0F .db $4B,$C0,$4F,$20,$10,$01,$D2,$0D .db $2F,$F0,$B0,$1F,$B2,$0E,$F0,$33 .db $E2,$21,$10,$C0,$01,$00,$00,$FE .db $00,$D2,$C3,$D1,$B0,$FB,$5B,$4F .db $C6,$C0,$F4,$0F,$F0,$B0,$5D,$03 .db $D3,$0E,$04,$E0,$D2,$E0,$B0,$4E .db $E4,$D5,$D0,$F3,$ED,$F3,$DF,$C0 .db $00,$F0,$E1,$2E,$1E,$21,$F0,$F4 .db $B0,$D0,$01,$F0,$3C,$6C,$12,$C2 .db $D4,$B0,$11,$F2,$1E,$5A,$12,$D2 .db $E0,$FE,$B0,$F0,$0F,$2E,$2E,$11 .db $2C,$20,$20,$B0,$13,$1E,$40,$E1 .db $F1,$ED,$4E,$FF,$B0,$0D,$2E,$31 .db $A1,$2E,$21,$E2,$3C,$C0,$1E,$4F .db $0E,$01,$E1,$0E,$11,$F0,$A0,$19 .db $6E,$FF,$35,$E2,$E4,$2E,$31,$B0 .db $EF,$4F,$D0,$0F,$F1,$C1,$F0,$0F .db $B0,$12,$00,$F4,$F0,$1F,$F2,$10 .db $1C,$B0,$2F,$D2,$0C,$3F,$0F,$3F .db $F5,$B2,$B0,$21,$C5,$0C,$0F,$10 .db $2C,$30,$D0,$A0,$2F,$D1,$00,$4F .db $13,$3E,$D6,$2D,$B4,$2E,$3C,$3D .db $3F,$1F,$B5,$F0,$3E,$A0,$F4,$D1 .db $25,$A1,$FF,$E4,$1F,$FE,$B0,$1F .db $20,$0F,$E3,$10,$0F,$12,$D4,$B0 .db $F1,$F0,$F1,$01,$F2,$C2,$D2,$F1 .db $A0,$29,$60,$F5,$FF,$D3,$04,$E1 .db $B4,$B0,$D3,$D3,$EF,$4F,$E2,$E2 .db $0E,$00,$B0,$12,$C2,$00,$F0,$0F .db $00,$1F,$F1,$A0,$24,$A2,$F0,$2D .db $2D,$3D,$C6,$C4,$A0,$C3,$D4,$B5 .db $FE,$32,$FF,$02,$E1,$B0,$FF,$20 .db $1F,$E4,$C2,$F2,$00,$02,$A0,$F0 .db $1E,$12,$B3,$C5,$C1,$FF,$F4,$A0 .db $C1,$F2,$D3,$D4,$D5,$C3,$04,$D3 .db $A0,$E1,$0F,$F3,$DD,$05,$C4,$D0 .db $10,$A0,$0E,$40,$D1,$FF,$F3,$D0 .db $F0,$E2,$A0,$1C,$00,$02,$E1,$EF .db $4E,$00,$20,$A0,$00,$13,$B4,$D3 .db $0B,$4D,$01,$E2,$A0,$E3,$E0,$E0 .db $D1,$2C,$5B,$3F,$1F,$A0,$01,$F2 .db $3C,$20,$E0,$2F,$00,$10,$A0,$F3 .db $D0,$3B,$30,$0F,$3E,$FF,$02,$90 .db $31,$AD,$F4,$3C,$1D,$16,$C0,$29 .db $A0,$1E,$40,$F3,$00,$11,$E4,$DF .db $3E,$90,$4B,$FF,$FF,$39,$3B,$5C .db $40,$6E,$90,$0E,$62,$4C,$E1,$00 .db $1E,$22,$CD,$A0,$0E,$2D,$4D,$2F .db $2D,$20,$11,$FF,$90,$7D,$4A,$4C .db $3F,$4E,$1F,$5D,$0D,$A0,$00,$01 .db $D2,$0F,$2F,$F0,$1D,$4E,$90,$3F .db $0F,$F0,$3B,$03,$01,$FE,$14,$A0 .db $C2,$E0,$10,$1E,$0F,$30,$02,$F0 .db $90,$0E,$3F,$10,$F1,$FF,$04,$BF .db $D4,$90,$4B,$20,$E3,$1E,$13,$B2 .db $0D,$F4,$90,$EE,$00,$E2,$C3,$FE .db $3E,$12,$10,$90,$D4,$F2,$E3,$E3 .db $F0,$1D,$E4,$2C,$90,$0E,$2E,$11 .db $D1,$F0,$F4,$B6,$CF,$90,$24,$D1 .db $FE,$12,$E0,$F0,$3F,$F0,$90,$21 .db $E2,$E3,$E2,$E5,$A1,$2F,$1C,$80 .db $06,$DB,$3C,$12,$9E,$32,$CC,$63 .db $90,$C3,$3F,$21,$C5,$1F,$F2,$E1 .db $D2,$90,$D0,$1D,$F0,$E2,$FF,$E6 .db $D3,$E1,$90,$0F,$21,$01,$1B,$5F .db $00,$E3,$E2,$80,$D3,$29,$16,$EC .db $10,$E2,$FD,$E5,$90,$FE,$1E,$0F .db $F1,$F1,$00,$10,$04,$80,$1C,$40 .db $4D,$2E,$1F,$D4,$D0,$1B,$80,$50 .db $A2,$F0,$C1,$C3,$3E,$F2,$20,$80 .db $E2,$2C,$5D,$1F,$13,$A1,$F3,$A2 .db $80,$11,$0D,$24,$A3,$D2,$5B,$00 .db $4E,$80,$D2,$11,$A4,$D2,$F1,$2E .db $1E,$E4,$80,$00,$E4,$DF,$1E,$3C .db $02,$E1,$C2,$80,$C6,$DE,$01,$FF .db $12,$4B,$3F,$32,$80,$F0,$12,$D0 .db $F2,$C0,$1E,$FF,$F2,$70,$CB,$5D .db $2F,$EF,$22,$CF,$33,$C0,$70,$44 .db $C3,$2F,$41,$C4,$2E,$2F,$2E,$80 .db $00,$F1,$1C,$11,$D2,$E2,$D1,$2D .db $70,$6E,$F2,$49,$7E,$31,$0F,$01 .db $03,$70,$A7,$EE,$3C,$3D,$4E,$01 .db $DD,$5C,$80,$0F,$0E,$21,$EF,$30 .db $D5,$F0,$11,$70,$3F,$11,$F3,$0E .db $2E,$F0,$FC,$30,$80,$01,$E0,$E1 .db $0F,$2F,$00,$4C,$21,$70,$D2,$F0 .db $1E,$4C,$F4,$B0,$F2,$FD,$80,$10 .db $1F,$00,$1C,$3F,$10,$FF,$1F,$60 .db $3F,$3C,$02,$4E,$D1,$E2,$2A,$5B .db $70,$4C,$41,$E1,$F4,$E1,$0F,$21 .db $0F,$70,$30,$D1,$EF,$F1,$F9,$7C .db $2E,$3E,$70,$03,$D4,$E4,$D1,$10 .db $2D,$4E,$20,$70,$E4,$FE,$00,$1B .db $3F,$F3,$C2,$F1,$60,$02,$F3,$EC .db $32,$F0,$00,$FE,$22,$70,$2E,$10 .db $03,$E2,$F2,$B3,$F1,$EF,$60,$2B .db $6A,$14,$C0,$D7,$C1,$3E,$21,$60 .db $0E,$03,$E4,$EF,$2B,$30,$02,$B3 .db $60,$F2,$E0,$0D,$30,$D1,$10,$D4 .db $F0,$60,$F2,$10,$4A,$70,$E3,$E0 .db $00,$E1,$60,$D4,$DF,$F1,$C0,$2F .db $F1,$10,$2F,$60,$22,$01,$F2,$F3 .db $1C,$5D,$0F,$1E,$50,$1F,$D7,$EA .db $60,$2C,$14,$E1,$F6,$60,$D3,$C3 .db $FF,$01,$0E,$1F,$10,$2D,$60,$04 .db $FF,$12,$F0,$00,$F0,$00,$E2,$50 .db $EE,$1E,$21,$2A,$5F,$F1,$30,$0F .db $50,$6B,$16,$CF,$3E,$00,$1C,$1E .db $1F,$50,$2E,$E2,$E1,$4B,$4E,$1E .db $F1,$0F,$50,$0E,$3E,$3E,$1F,$3E .db $1F,$4C,$3E,$40,$61,$C5,$C5,$1F .db $01,$0D,$F0,$1C,$40,$3C,$5C,$0B .db $04,$C0,$E2,$D3,$11,$40,$11,$E4 .db $E3,$E3,$4C,$13,$EF,$1F,$40,$ED .db $2E,$F3,$E0,$E1,$E0,$C4,$F1,$40 .db $1F,$4E,$13,$C2,$FF,$1F,$11,$E2 .db $30,$A1,$10,$2C,$4E,$4B,$5F,$05 .db $B2,$30,$04,$DF,$4C,$F0,$0D,$E2 .db $EF,$3D,$30,$5F,$13,$FE,$4E,$23 .db $1C,$03,$EE,$30,$0F,$F2,$E3,$10 .db $FF,$6C,$41,$3E,$30,$21,$E4,$0F .db $F0,$0D,$2E,$D3,$E0,$20,$0F,$5E .db $21,$1F,$2F,$20,$D2,$F3,$30,$0C .db $31,$F0,$00,$F2,$1D,$20,$02,$20 .db $FE,$20,$F3,$A3,$0F,$3D,$01,$E3 .db $10,$0D,$3E,$40,$01,$0D,$5D,$11 .db $B4,$20,$F0,$F3,$E1,$F3,$E2,$00 .db $4E,$02,$10,$E0,$0B,$4F,$1E,$D4 .db $D2,$0F,$10,$00,$20,$40,$10,$3F .db $13,$D2,$E0,$FE,$00,$3C,$EE,$00 .db $C1,$0F,$11,$F0,$2D,$00,$3E,$2F .db $10,$F3,$0F,$03,$D1,$00,$00,$01 .db $0E,$2E,$2E,$00,$01,$F0,$F0,$00 .db $01,$0F,$10,$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,$01,$00,$00,$00,$00,$00 .db $00,$00,$00,$02,$00,$00,$00,$00 .db $00,$00,$00,$00,$76,$00,$00,$00 .db $00,$00,$00,$00,$62,$86,$15,$4F .db $F0,$22,$1F,$FE,$CF,$FD,$8E,$F1 .db $1E,$03,$2F,$FF,$CF,$F1,$2D,$86 .db $CC,$24,$1F,$DF,$0F,$13,$54,$33 .db $76,$66,$33,$0F,$23,$13,$3E,$E3 .db $4F,$86,$DD,$E0,$43,$0F,$24,$21 .db $0E,$E1,$76,$7E,$AD,$03,$53,$0F .db $CC,$0F,$CC,$86,$00,$B9,$E3,$54 .db $22,$54,$21,$FD,$96,$00,$FC,$F5 .db $63,$10,$21,$EC,$BD,$9E,$11,$12 .db $00,$0F,$CF,$E0,$F1,$0F,$8E,$32 .db $FF,$DC,$0F,$13,$42,$12,$3D,$86 .db $ED,$F0,$EC,$DF,$00,$11,$21,$13 .db $86,$4F,$CE,$12,$34,$64,$FD,$26 .db $51,$96,$00,$F0,$13,$10,$01,$20 .db $14,$30,$9E,$DF,$11,$10,$11,$32 .db $FD,$F1,$1F,$9E,$DE,$13,$10,$11 .db $20,$FC,$FF,$1F,$96,$02,$23,$53 .db $1C,$BA,$BB,$BB,$DD,$9E,$11,$1E .db $D0,$F0,$00,$32,$20,$F1,$86,$4E .db $AB,$BB,$AE,$11,$FF,$34,$1D,$9E .db $01,$E1,$23,$1F,$FF,$10,$20,$0F .db $8E,$05,$0F,$E2,$30,$EF,$13,$50 .db $CE,$86,$F0,$FC,$AE,$36,$63,$34 .db $51,$D9,$9E,$00,$1F,$10,$33,$00 .db $FE,$F0,$EF,$9E,$13,$21,$FF,$FE .db $EF,$EE,$FE,$11,$9E,$10,$1F,$FE .db $FE,$10,$13,$20,$0E,$9E,$0F,$CF .db $01,$01,$00,$F1,$01,$0F,$9E,$EF .db $12,$31,$F0,$00,$00,$10,$11,$9E .db $11,$F1,$10,$FF,$12,$20,$F1,$11 .db $8E,$0C,$E0,$12,$12,$23,$20,$EE .db $FF,$9E,$FF,$F0,$22,$30,$11,$1E .db $FD,$F1,$9E,$02,$12,$FF,$F0,$EE .db $DF,$EF,$F1,$8E,$3F,$0F,$FD,$BD .db $00,$32,$32,$0F,$8E,$CD,$CE,$02 .db $F0,$EF,$F4,$3F,$EC,$8E,$01,$22 .db $10,$10,$00,$E1,$14,$00,$AE,$01 .db $F1,$11,$EF,$22,$E2,$E0,$33,$A6 .db $2C,$14,$21,$11,$F2,$3F,$C0,$2F .db $A6,$AD,$E0,$32,$11,$34,$2D,$BB .db $D0,$96,$1F,$16,$7F,$DD,$F1,$BA .db $BC,$FD,$A6,$EF,$FE,$DF,$11,$DB .db $F3,$22,$FF,$96,$11,$CA,$D0,$EC .db $F5,$31,$35,$1E,$96,$F0,$DC,$F0 .db $14,$41,$03,$12,$3E,$AE,$04,$0D .db $D0,$32,$10,$11,$30,$DF,$A6,$E0 .db $0E,$CF,$46,$32,$23,$11,$FA,$AE .db $02,$F4,$21,$E0,$1F,$E0,$1D,$F0 .db $96,$BD,$23,$00,$FD,$DD,$EE,$EE .db $F0,$A6,$FC,$DE,$FE,$FE,$EF,$EE .db $F1,$10,$AE,$10,$FE,$01,$11,$E1 .db $E0,$F2,$31,$A6,$20,$10,$01,$10 .db $E0,$21,$F2,$45,$AE,$CF,$F2,$10 .db $F0,$22,$3F,$F0,$02,$A6,$1E,$CF .db $0F,$02,$33,$43,$0F,$DE,$9E,$21 .db $FF,$24,$1E,$D0,$02,$EC,$EE,$8E .db $13,$23,$ED,$F1,$21,$0E,$FF,$CF .db $9E,$0E,$F0,$FE,$FF,$21,$CE,$13 .db $2E,$96,$F0,$0E,$F3,$55,$0D,$D1 .db $36,$41,$9E,$F3,$3F,$D1,$11,$FF .db $F1,$42,$0E,$96,$11,$42,$EC,$F4 .db $75,$34,$65,$30,$9E,$FF,$F0,$11 .db $13,$31,$0F,$FF,$FF,$9E,$E2,$10 .db $F1,$1F,$0F,$0D,$FD,$E0,$9E,$01 .db $F1,$1F,$F0,$20,$1F,$00,$CF,$9E .db $0F,$EE,$F2,$0E,$0F,$0F,$01,$1E .db $96,$EF,$FF,$46,$4F,$F1,$23,$23 .db $33,$96,$42,$13,$44,$20,$F1,$65 .db $32,$44,$9E,$1F,$FF,$21,$00,$13 .db $21,$00,$0F,$9E,$0E,$E0,$04,$11 .db $13,$10,$FE,$00,$9E,$FF,$10,$0F .db $10,$0F,$D0,$FD,$F0,$8E,$0F,$DF .db $30,$DF,$43,$FD,$00,$CC,$8E,$DE .db $DE,$FF,$E0,$FD,$D3,$40,$CB,$8E .db $12,$32,$FF,$E0,$20,$F0,$34,$0B .db $9E,$01,$30,$FF,$02,$2F,$01,$31 .db $01,$9E,$F1,$01,$FF,$11,$23,$00 .db $02,$1F,$9E,$DF,$00,$01,$13,$21 .db $01,$F0,$E1,$8E,$0E,$FF,$02,$F0 .db $1F,$BE,$0D,$EE,$8E,$00,$EE,$F1 .db $F1,$01,$11,$0D,$CC,$8E,$EE,$EF .db $00,$DC,$D2,$22,$FD,$D0,$86,$13 .db $34,$44,$20,$FF,$34,$41,$13,$8E .db $22,$FF,$02,$21,$F2,$12,$22,$20 .db $7E,$50,$0D,$E3,$34,$24,$35,$43 .db $3E,$8E,$ED,$FF,$01,$34,$42,$01 .db $F0,$F1,$8E,$FF,$FF,$2F,$00,$F0 .db $EE,$D0,$FF,$8E,$0D,$FF,$F0,$FF .db $21,$11,$FE,$CB,$9E,$FF,$11,$EE .db $EF,$11,$0F,$FF,$00,$8E,$12,$40 .db $EC,$F0,$20,$FE,$01,$30,$8E,$1F .db $01,$11,$01,$11,$02,$13,$21,$8E .db $10,$E1,$01,$11,$11,$24,$12,$01 .db $8E,$0D,$EF,$03,$32,$20,$20,$3F .db $0F,$7E,$00,$00,$EF,$02,$FD,$ED .db $0F,$DE,$8E,$F0,$0E,$E0,$FF,$21 .db $31,$EB,$CE,$8E,$11,$FE,$EC,$FF .db $F1,$1E,$ED,$01,$86,$14,$52,$10 .db $11,$00,$DD,$F1,$23,$8E,$F1,$E2 .db $01,$10,$1F,$01,$23,$10,$7E,$FF .db $11,$11,$F0,$33,$44,$33,$30,$7E .db $0B,$DE,$24,$21,$33,$41,$1F,$10 .db $6E,$41,$DC,$F1,$0E,$FF,$ED,$CE .db $F0,$8E,$0F,$1E,$FE,$F0,$33,$1F .db $DE,$E0,$8E,$F0,$0E,$FC,$FF,$01 .db $FE,$EF,$02,$7E,$33,$0F,$0F,$0F .db $ED,$CF,$02,$41,$7E,$0D,$11,$13 .db $10,$E1,$12,$32,$00,$7E,$20,$1F .db $00,$03,$12,$33,$34,$2F,$7E,$FF .db $EF,$01,$21,$33,$02,$22,$10,$6E .db $30,$0F,$F0,$ED,$FF,$FF,$FD,$E1 .db $7E,$22,$ED,$CC,$22,$43,$FE,$DD .db $C0,$8E,$01,$FE,$EE,$E1,$F0,$EF .db $FF,$10,$7E,$23,$10,$FF,$00,$EC .db $DE,$11,$2F,$6E,$0E,$13,$33,$00 .db $21,$01,$23,$22,$7E,$10,$0F,$10 .db $11,$02,$23,$42,$20,$7E,$0F,$EF .db $01,$11,$12,$12,$23,$10,$7E,$20 .db $00,$1F,$EF,$F1,$00,$DF,$04,$7E .db $21,$DD,$DF,$13,$22,$0D,$CE,$F1 .db $7E,$1F,$ED,$DD,$FD,$0E,$FE,$FE .db $02,$7E,$12,$10,$F0,$0F,$ED,$FE .db $0F,$00,$6E,$0F,$01,$34,$12,$01 .db $F0,$22,$12,$7E,$00,$01,$00,$00 .db $11,$21,$43,$21,$7E,$0F,$FF,$F1 .db $10,$10,$12,$33,$12,$7E,$01,$1F .db $FF,$F0,$00,$0E,$F0,$22,$7E,$11 .db $EE,$C0,$23,$21,$ED,$DF,$F0,$7E .db $00,$0D,$ED,$DF,$FF,$EF,$EF,$11 .db $6E,$24,$10,$EE,$EF,$0D,$CC,$DE .db $0F,$6E,$FE,$00,$43,$32,$10,$00 .db $10,$01,$7E,$10,$10,$01,$00,$00 .db $12,$32,$41,$7E,$1F,$0F,$00,$0F .db $01,$11,$33,$23,$6E,$21,$FE,$FE .db $0E,$00,$00,$F1,$25,$7E,$10,$EE .db $FF,$33,$10,$0C,$DF,$E0,$7E,$00 .db $0E,$EE,$EE,$FF,$EE,$F0,$00,$7E .db $31,$1F,$FE,$FF,$1F,$DF,$DF,$1F .db $6E,$DE,$F1,$23,$41,$12,$F0,$F0 .db $F1,$7E,$11,$00,$10,$10,$F0,$12 .db $14,$21,$7E,$21,$0F,$00,$FF,$00 .db $01,$33,$42,$6E,$40,$FE,$EF,$FE .db $F1,$03,$02,$32,$7E,$1F,$0E,$F0 .db $23,$20,$FE,$CD,$FF,$6E,$12,$FD .db $CD,$CC,$FC,$ED,$C0,$03,$6E,$44 .db $2C,$CD,$FF,$0D,$DB,$CF,$EF,$6E .db $ED,$F1,$22,$42,$21,$0E,$FE,$01 .db $6E,$12,$01,$22,$2F,$E0,$12,$35 .db $54,$7E,$21,$10,$F0,$FF,$FF,$02 .db $24,$42,$6E,$50,$FD,$EF,$DF,$00 .db $33,$22,$22,$7E,$01,$EF,$00,$22 .db $31,$EE,$CD,$EE,$6E,$31,$0F,$CC .db $BE,$EE,$DC,$DF,$14,$6E,$43,$2C .db $CC,$EF,$0E,$CC,$DD,$EF,$6E,$EC .db $F0,$23,$33,$22,$EF,$DE,$00,$7E .db $02,$01,$02,$1F,$0F,$01,$13,$23 .db $7E,$12,$10,$00,$EF,$E0,$01,$34 .db $33,$6E,$41,$FD,$DE,$DF,$02,$35 .db $13,$12,$7E,$1F,$0F,$00,$23,$21 .db $FE,$BD,$DF,$7E,$11,$1F,$ED,$FE .db $F0,$EF,$D1,$02,$7E,$22,$1E,$DE .db $FF,$1F,$EE,$EF,$E1,$6E,$BD,$E0 .db $23,$52,$21,$FE,$DD,$F0,$7E,$11 .db $10,$11,$2F,$0F,$F1,$12,$33,$7E .db $12,$2F,$1F,$EF,$FF,$F2,$33,$43 .db $6E,$41,$FD,$CD,$DE,$13,$45,$22 .db $21,$7E,$10,$F0,$F1,$22,$40,$0C .db $CD,$C0,$7E,$02,$1F,$DF,$DF,$F0 .db $EF,$EF,$21,$7E,$32,$0E,$DE,$FF .db $1F,$EE,$EF,$FF,$6E,$DD,$D0,$24 .db $43,$21,$FD,$CE,$FF,$7E,$11,$10 .db $12,$10,$F0,$E1,$13,$22,$7E,$23 .db $01,$0F,$FE,$FF,$F2,$33,$44,$7E .db $11,$FE,$FE,$EF,$03,$13,$20,$11 .db $7E,$10,$F0,$F1,$23,$32,$ED,$BD .db $C0,$7E,$02,$1F,$EE,$DF,$0F,$EF .db $E1,$02,$7E,$32,$0E,$CF,$E0,$00 .db $DF,$EE,$F0,$6E,$CD,$DF,$33,$53 .db $21,$FD,$CD,$FF,$7E,$11,$10,$12 .db $2F,$F0,$F0,$12,$32,$7E,$22,$20 .db $0F,$FE,$FE,$10,$43,$43,$7E,$21 .db $FE,$EF,$DF,$12,$23,$11,$11,$7E .db $10,$F0,$F1,$24,$22,$FC,$BD,$DE .db $7E,$21,$1F,$FC,$FE,$0F,$EF,$FF .db $22,$7E,$22,$1D,$DE,$E0,$1F,$EE .db $EE,$0F,$6E,$DC,$D0,$24,$52,$31 .db $EE,$BE,$E0,$7E,$02,$00,$22,$10 .db $FF,$0F,$22,$23,$7E,$13,$11,$F0 .db $EF,$EF,$01,$33,$53,$7E,$20,$0D .db $FD,$FF,$02,$32,$20,$20,$7E,$11 .db $FF,$00,$33,$40,$0C,$BC,$DF,$7E .db $12,$1F,$ED,$EF,$FF,$0D,$F1,$02 .db $7E,$32,$1D,$CF,$E0,$0F,$FE,$D0 .db $E0,$6E,$BE,$C0,$25,$43,$21,$FC .db $EC,$E0,$7E,$02,$01,$12,$10,$F0 .db $E1,$12,$23,$7E,$22,$11,$F0,$FE .db $EF,$01,$34,$43,$7E,$20,$0E,$ED .db $FF,$02,$32,$21,$02,$7E,$01,$FF .db $01,$23,$40,$0C,$BD,$CF,$7E,$12 .db $1F,$ED,$FE,$FF,$0E,$E0,$21,$7E .db $33,$FE,$DD,$F0,$1E,$FE,$EE,$0E .db $6F,$FB,$EF,$33,$54,$11,$FD,$CE .db $D0,$02,$00,$00,$00,$00,$00,$00 .db $00,$00,$9E,$00,$00,$00,$0E,$D3 .db $20,$F0,$E1,$AE,$EE,$02,$45,$0E .db $E0,$F0,$F1,$01,$BE,$10,$01,$ED .db $E1,$21,$10,$F1,$F0,$96,$ED,$E3 .db $66,$FA,$CE,$12,$0F,$FF,$AE,$EE .db $03,$35,$0E,$E0,$0F,$F1,$02,$BF .db $01,$00,$EE,$E0,$22,$01,$F0,$0F .db $02,$00,$00,$00,$00,$00,$00,$00 .db $00,$02,$00,$00,$00,$00,$00,$00 .db $00,$00,$8E,$00,$20,$10,$F1,$00 .db $E0,$EF,$FD,$8E,$EE,$D0,$EE,$D0 .db $13,$13,$32,$34,$9E,$3F,$11,$20 .db $11,$F0,$F1,$00,$0F,$8E,$D0,$E0 .db $ED,$CD,$CC,$CD,$D0,$00,$8E,$12 .db $52,$33,$23,$12,$F0,$11,$21,$8E .db $F0,$13,$01,$1E,$12,$FE,$EE,$03 .db $8E,$FF,$FF,$20,$0E,$CD,$0E,$DD .db $BF,$8E,$10,$21,$13,$42,$11,$02 .db $22,$F0,$8E,$E0,$00,$F1,$E1,$FF .db $20,$45,$12,$9E,$2F,$01,$1F,$FD .db $FD,$EE,$FF,$FF,$8E,$1E,$03,$42 .db $00,$EF,$15,$32,$22,$9E,$00,$00 .db $02,$0F,$EF,$FF,$10,$22,$9E,$21 .db $21,$00,$FE,$ED,$FF,$FC,$EE,$9E .db $E2,$24,$12,$F0,$E1,$12,$12,$1F .db $96,$10,$EE,$24,$52,$0E,$CC,$CF .db $01,$9E,$22,$11,$10,$0E,$FE,$F0 .db $0E,$DC,$9E,$D0,$13,$10,$0F,$03 .db $33,$43,$FE,$9E,$EB,$01,$34,$ED .db $CC,$EF,$03,$53,$9E,$33,$11,$FF .db $ED,$EF,$E0,$FF,$CD,$9E,$D1,$25 .db $12,$EF,$14,$52,$30,$F0,$AE,$EE .db $F1,$32,$1D,$DD,$FF,$01,$22,$AE .db $22,$2F,$FE,$FF,$F1,$F0,$0F,$ED .db $AE,$EF,$23,$30,$1F,$12,$41,$00 .db $FF,$AE,$FD,$00,$43,$FC,$DD,$E0 .db $22,$12,$AE,$22,$00,$ED,$F0,$00 .db $00,$00,$ED,$AE,$C0,$24,$21,$E0 .db $22,$40,$1F,$F0,$BE,$0E,$01,$21 .db $FE,$EE,$F0,$20,$20,$AE,$42,$1F .db $DD,$E2,$01,$FF,$1F,$DB,$AE,$D2 .db $33,$31,$FF,$23,$21,$0F,$F0,$AE .db $EE,$F1,$52,$EB,$DC,$01,$32,$12 .db $AE,$23,$0D,$DE,$E2,$01,$F1,$F0 .db $CD,$AE,$E1,$34,$30,$0F,$23,$11 .db $EF,$F0,$AE,$EE,$01,$41,$EB,$DE .db $F2,$42,$21,$AE,$21,$FF,$CE,$02 .db $00,$0F,$1D,$ED,$AE,$00,$43,$21 .db $FF,$22,$3F,$F0,$EE,$AE,$FE,$02 .db $40,$ED,$CE,$03,$32,$12,$AE,$11 .db $0D,$DF,$F1,$F0,$1F,$0F,$DE,$AE .db $02,$23,$3F,$1F,$23,$00,$0E,$FF .db $AE,$DE,$13,$10,$FD,$DF,$12,$22 .db $03,$9E,$21,$FE,$CE,$EB,$E1,$22 .db $DC,$DF,$AE,$03,$12,$10,$1F,$32 .db $10,$EF,$FD,$AE,$EE,$22,$20,$FE .db $E1,$00,$11,$31,$AE,$3F,$0E,$0F .db $DE,$D2,$11,$FF,$E1,$A6,$F0,$12 .db $11,$33,$55,$75,$52,$0B,$AE,$DF .db $32,$20,$FE,$01,$00,$E2,$32,$BE .db $10,$00,$0F,$EE,$E1,$2F,$1F,$01 .db $B6,$11,$00,$F0,$12,$33,$33,$21 .db $FC,$AE,$E0,$32,$12,$F1,$F2,$EE .db $F1,$33,$BE,$10,$10,$0E,$DE,$E2 .db $10,$00,$12,$BE,$0F,$0E,$01,$11 .db $20,$11,$FE,$DD,$AE,$F1,$32,$22 .db $02,$01,$DC,$F2,$33,$BE,$01,$01 .db $0D,$ED,$F1,$11,$01,$21,$BE,$1E .db $FD,$01,$21,$11,$20,$EF,$CE,$AE .db $E2,$32,$23,$21,$1E,$CB,$03,$32 .db $BE,$10,$20,$0D,$CD,$02,$01,$02 .db $22,$BE,$FE,$EE,$10,$30,$21,$2F .db $FD,$DE,$AE,$F2,$32,$24,$22,$0D .db $BD,$02,$41,$BE,$02,$11,$ED,$DD .db $02,$00,$21,$31,$BE,$FE,$DE,$12 .db $12,$12,$1F,$ED,$DF,$AE,$F2,$23 .db $24,$32,$ED,$CD,$22,$31,$BE,$02 .db $10,$EC,$DE,$11,$01,$13,$21,$BE .db $ED,$FE,$12,$20,$22,$0E,$FC,$EF .db $AE,$12,$31,$34,$30,$EC,$DF,$22 .db $10,$BE,$12,$1F,$EC,$EF,$10,$10 .db $23,$2F,$BE,$EE,$E0,$11,$22,$02 .db $0E,$DD,$FF,$AE,$23,$13,$23,$3E .db $ED,$FF,$21,$2F,$BE,$12,$0F,$DD .db $F0,$00,$10,$33,$00,$BE,$DF,$E1 .db $11,$21,$10,$0E,$DE,$F0,$AE,$12 .db $23,$32,$0E,$EF,$F1,$21,$00,$BE .db $11,$FF,$DE,$00,$0F,$21,$22,$0F .db $AE,$CF,$0F,$21,$43,$10,$DC,$BE .db $E1,$AE,$13,$23,$21,$FE,$FF,$11 .db $01,$01,$AE,$10,$DD,$CF,$F1,$F0 .db $25,$31,$FD,$AE,$FF,$01,$03,$32 .db $0F,$CC,$DE,$10,$AE,$13,$32,$2E .db $FE,$00,$21,$F1,$11,$AE,$0E,$EC .db $D0,$10,$F1,$34,$10,$DE,$AE,$01 .db $1F,$13,$22,$FD,$DB,$F0,$01,$AE .db $13,$33,$FE,$EF,$11,$20,$10,$11 .db $AE,$ED,$CD,$F2,$1F,$02,$42,$0D .db $EF,$AE,$12,$2F,$12,$21,$EC,$BE .db $00,$20,$AE,$14,$40,$DE,$E1,$03 .db $11,$01,$00,$AE,$DC,$CE,$12,$2F .db $12,$31,$EE,$E0,$AE,$32,$00,$12 .db $2F,$CD,$BF,$11,$11,$AE,$34,$2F .db $CD,$00,$13,$20,$02,$0D,$AE,$DB .db $D0,$22,$10,$22,$2F,$CF,$F2,$AE .db $22,$1F,$22,$1E,$CC,$D0,$11,$02 .db $AE,$35,$0D,$DD,$01,$31,$21,$11 .db $0B,$BE,$ED,$00,$11,$10,$11,$00 .db $EF,$01,$AE,$31,$01,$21,$FE,$BD .db $F0,$20,$22,$AE,$42,$FE,$CE,$11 .db $31,$11,$20,$EC,$BE,$DF,$F1,$11 .db $01,$20,$F0,$EF,$11,$AE,$21,$10 .db $21,$ED,$BE,$01,$11,$23,$A6,$57 .db $40,$ED,$E0,$23,$34,$44,$0B,$BE .db $EE,$11,$11,$10,$20,$E0,$E0,$02 .db $AE,$11,$01,$10,$EC,$C0,$02,$20 .db $23,$A6,$55,$2E,$DD,$F1,$32,$34 .db $43,$0A,$AE,$DE,$13,$22,$11,$1F .db $FD,$E0,$31,$AE,$21,$02,$0E,$EC .db $EF,$12,$12,$21,$AE,$1F,$EE,$E1 .db $12,$20,$11,$0F,$CC,$AE,$DF,$23 .db $22,$11,$FF,$EF,$E1,$22,$AE,$11 .db $10,$FF,$EC,$F0,$12,$21,$21,$AE .db $E0,$EE,$00,$22,$02,$00,$0E,$DC .db $AE,$E0,$23,$22,$1F,$FF,$EF,$00 .db $22,$9E,$24,$0F,$CD,$CC,$E1,$44 .db $44,$0F,$AE,$FE,$0E,$01,$03,$11 .db $0F,$0E,$DE,$AE,$E1,$13,$31,$0E .db $0E,$E0,$F1,$13,$9E,$42,$1C,$CC .db $ED,$F1,$44,$52,$FD,$9E,$DF,$E1 .db $01,$23,$41,$0D,$EC,$CD,$AE,$E1 .db $22,$22,$FE,$FF,$FF,$01,$13,$AE .db $22,$ED,$FE,$FF,$10,$22,$30,$FE .db $9E,$DF,$F1,$12,$24,$21,$DE,$DD .db $EE,$AE,$F0,$22,$30,$FF,$EF,$F0 .db $00,$23,$AE,$3F,$FD,$FE,$F0,$01 .db $32,$20,$FD,$9E,$C0,$F2,$03,$34 .db $1F,$DD,$DF,$EF,$AE,$01,$13,$10 .db $EE,$0E,$0F,$02,$23,$9E,$3F,$DB .db $CE,$00,$13,$45,$2F,$BC,$9E,$CF .db $02,$23,$34,$1E,$DD,$CF,$E0,$AE .db $10,$22,$1E,$FF,$FE,$00,$03,$23 .db $9E,$2D,$CB,$EC,$10,$34,$53,$1D .db $DC,$9E,$CF,$02,$35,$43,$EE,$BD .db $DE,$F0,$AE,$12,$20,$1F,$EE,$0F .db $E1,$22,$32,$AE,$0E,$EE,$E0,$F1 .db $23,$12,$0E,$EF,$AE,$EF,$02,$22 .db $3F,$0E,$EF,$EF,$F2,$AE,$12,$20 .db $0E,$FF,$FF,$E1,$23,$31,$AE,$FE .db $FD,$FF,$01,$32,$30,$FE,$FE,$AE .db $E0,$F2,$42,$2F,$FF,$EF,$EF,$01 .db $AE,$31,$10,$0E,$FF,$EF,$F1,$33 .db $30,$AE,$FE,$FD,$FE,$12,$24,$1F .db $FF,$EF,$AE,$D0,$03,$33,$1E,$0E .db $FF,$D0,$02,$AE,$22,$00,$E0,$FF .db $EE,$02,$33,$2F,$AE,$0E,$EE,$EF .db $12,$42,$10,$EF,$EE,$AE,$E0,$04 .db $32,$0F,$FF,$EF,$D0,$21,$AE,$31 .db $0F,$0E,$0E,$EF,$03,$32,$10,$AE .db $FF,$ED,$FF,$23,$32,$00,$EF,$DE .db $AE,$FF,$23,$32,$F0,$FF,$EE,$E0 .db $23,$AE,$12,$FF,$0E,$FE,$E0,$04 .db $22,$1F,$AE,$0E,$FD,$E1,$14,$31 .db $0F,$FE,$ED,$AE,$F0,$33,$30,$1F .db $F0,$CF,$E0,$32,$AE,$21,$E0,$FF .db $EE,$F0,$22,$31,$01,$AE,$EF,$ED .db $F1,$23,$31,$0F,$EF,$DE,$AE,$E2 .db $32,$30,$1F,$FF,$DE,$F1,$23,$AE .db $10,$0F,$0E,$DF,$F0,$31,$31,$1F .db $AE,$0D,$EE,$E2,$33,$30,$0E,$FE .db $DE,$AE,$01,$42,$11,$00,$FE,$ED .db $01,$33,$9E,$00,$0E,$EC,$DC,$F3 .db $34,$42,$11,$AE,$EF,$CE,$02,$33 .db $11,$0E,$FD,$DE,$AE,$12,$32,$11 .db $00,$FD,$EE,$03,$21,$9E,$3E,$0F .db $DC,$CD,$13,$34,$23,$2F,$AE,$FD .db $ED,$13,$22,$20,$0F,$ED,$DF,$AE .db $13,$22,$01,$10,$ED,$EE,$12,$31 .db $9E,$00,$FF,$DC,$CE,$14,$33,$23 .db $1F,$AE,$FD,$D0,$03,$23,$01,$FF .db $ED,$EF,$AE,$13,$12,$11,$1E,$FD .db $EF,$13,$20,$9E,$10,$FE,$EA,$DE .db $33,$33,$13,$2E,$AE,$FD,$EF,$13 .db $22,$1F,$1D,$FD,$E0,$AE,$21,$30 .db $20,$1F,$FC,$FF,$13,$11,$9E,$F0 .db $FF,$DC,$B0,$24,$23,$22,$1F,$AE .db $EE,$D0,$23,$12,$00,$FF,$EE,$E0 .db $AE,$22,$20,$20,$1F,$ED,$F0,$12 .db $10,$9E,$00,$0F,$DC,$C0,$23,$32 .db $23,$0F,$AE,$ED,$E0,$31,$21,$1F .db $0F,$EE,$F0,$9E,$33,$41,$12,$FF .db $CC,$E0,$33,$10,$9E,$00,$2E,$EB .db $C1,$22,$32,$13,$1E,$9E,$DA,$E1 .db $25,$22,$10,$FE,$BD,$E1,$9E,$24 .db $12,$11,$1E,$DC,$F0,$23,$00,$9E .db $01,$10,$CC,$D0,$23,$20,$32,$1F .db $9E,$CB,$F0,$42,$31,$11,$FD,$DD .db $E1,$9E,$23,$20,$21,$0E,$ED,$E1 .db $22,$0F,$9E,$02,$1F,$DB,$FF,$32 .db $11,$23,$1D,$96,$0B,$BD,$F3,$44 .db $54,$41,$DB,$BC,$9E,$23,$10,$20 .db $1E,$DE,$F1,$11,$00,$9E,$02,$10 .db $CC,$E1,$12,$11,$21,$2D,$96,$FC .db $CD,$03,$44,$45,$30,$EC,$CD,$8E .db $33,$21,$22,$1D,$DC,$F0,$21,$0F .db $9E,$12,$00,$CD,$E1,$12,$11,$12 .db $1E,$96,$FC,$CE,$02,$34,$44,$20 .db $EC,$CE,$8E,$22,$22,$02,$0F,$DE .db $FF,$21,$F0,$9E,$02,$1F,$EC,$FF .db $30,$20,$22,$0F,$96,$FD,$DD,$02 .db $34,$34,$20,$ED,$CE,$8E,$32,$10 .db $21,$0F,$EE,$EF,$11,$F0,$9E,$11 .db $2F,$DE,$E0,$20,$20,$13,$0E,$9E .db $DF,$F1,$13,$11,$01,$FF,$EE,$00 .db $7E,$63,$10,$31,$1F,$EC,$DE,$21 .db $00,$9E,$02,$1F,$EC,$0F,$21,$01 .db $12,$1F,$8E,$AD,$F1,$35,$21,$20 .db $0D,$CD,$E2,$7E,$34,$10,$31,$1F .db $EC,$CE,$23,$0F,$9E,$02,$1F,$ED .db $E0,$21,$00,$22,$0F,$8E,$DC,$F0 .db $54,$12,$03,$FD,$DB,$F0,$8E,$32 .db $01,$11,$10,$FE,$DF,$21,$0E,$9E .db $11,$2E,$EE,$D1,$12,$F1,$12,$00 .db $8E,$BC,$F1,$44,$21,$12,$1D,$CC .db $E0,$8E,$31,$10,$02,$20,$EE,$DF .db $22,$0F,$9E,$11,$10,$DD,$E1,$02 .db $00,$12,$1F,$8E,$DC,$F0,$53,$21 .db $12,$1D,$BC,$E0,$86,$DF,$F0,$03 .db $45,$3F,$BB,$E0,$0F,$9E,$11,$20 .db $CD,$FF,$30,$00,$12,$2F,$8E,$CC .db $D2,$43,$12,$14,$0D,$BC,$E0,$86 .db $CF,$FE,$03,$46,$2F,$BA,$DF,$0F .db $9E,$12,$10,$DD,$D1,$11,$00,$21 .db $3F,$9E,$DF,$E0,$22,$10,$22,$0E .db $ED,$F1,$8E,$02,$00,$12,$31,$EC .db $CF,$22,$00,$9E,$13,$1F,$DD,$EF .db $21,$F0,$22,$20,$9E,$ED,$F0,$21 .db $21,$12,$1E,$DD,$F0,$86,$AD,$DE .db $03,$56,$3F,$A9,$DF,$00,$9E,$13 .db $1F,$DD,$D0,$20,$F1,$14,$10,$9E .db $ED,$E0,$22,$11,$22,$0F,$DD,$E0 .db $86,$AC,$DE,$14,$67,$4E,$9A,$C0 .db $01,$9E,$13,$10,$CD,$D0,$10,$00 .db $22,$30,$9E,$DE,$EF,$22,$20,$32 .db $0E,$ED,$D0,$96,$DD,$EF,$12,$43 .db $2F,$DC,$E0,$01,$9E,$13,$10,$DC .db $DF,$11,$F1,$14,$20,$9E,$DE,$D0 .db $22,$12,$22,$0F,$DC,$EF,$9E,$10 .db $10,$21,$30,$FE,$DF,$12,$01,$9E .db $13,$2F,$DB,$D0,$01,$00,$24,$3F .db $9E,$ED,$EF,$22,$12,$22,$1E,$DC .db $EF,$9E,$01,$01,$22,$20,$0C,$EE .db $22,$01,$9E,$13,$2F,$DC,$CF,$10 .db $10,$24,$21,$9E,$DD,$D0,$13,$12 .db $23,$0F,$CC,$EE,$9E,$10,$11,$22 .db $21,$EE,$C0,$12,$01,$AE,$11,$10 .db $EE,$EF,$10,$00,$13,$10,$9E,$DC .db $EF,$22,$31,$23,$1E,$CC,$DF,$9E .db $01,$11,$22,$21,$FC,$EE,$22,$10 .db $AE,$11,$2F,$EE,$EF,$01,$00,$13 .db $10,$9E,$EB,$EF,$22,$22,$32,$1D .db $DC,$CF,$9E,$10,$20,$33,$20,$FC .db $EF,$12,$01,$AE,$11,$2F,$EE,$D0 .db $1F,$10,$22,$10,$9E,$EB,$D0,$13 .db $22,$24,$0E,$CB,$DF,$9E,$01,$12 .db $23,$21,$DD,$DF,$22,$01,$AE,$12 .db $01,$DD,$FF,$00,$10,$22,$11,$AE .db $DF,$E0,$02,$11,$12,$0F,$EE,$D0 .db $9E,$11,$12,$23,$3F,$ED,$DF,$12 .db $11,$AE,$12,$1F,$ED,$E0,$00,$01 .db $22,$11,$AE,$DE,$F0,$02,$11,$21 .db $0F,$ED,$FF,$9E,$F3,$03,$24,$11 .db $DD,$DE,$31,$11,$AE,$12,$1F,$ED .db $EF,$10,$01,$22,$2F,$AE,$FD,$FF .db $12,$11,$12,$1E,$DE,$FE,$9E,$30 .db $22,$24,$2F,$ED,$C0,$12,$11,$AE .db $21,$1F,$ED,$EF,$10,$01,$22,$2F .db $AE,$EE,$FF,$12,$11,$21,$0F,$ED .db $EF,$9E,$22,$12,$32,$3F,$ED,$C0 .db $12,$20,$AE,$21,$1F,$ED,$EF,$01 .db $01,$22,$2F,$AE,$EE,$FF,$11,$21 .db $21,$0F,$DE,$EF,$9E,$12,$22,$24 .db $10,$EC,$DF,$22,$20,$AE,$21,$1F .db $ED,$D0,$01,$01,$22,$2F,$AE,$EE .db $E0,$12,$11,$21,$0F,$DE,$D0,$9E .db $12,$21,$42,$3F,$DD,$DF,$13,$20 .db $AE,$21,$1F,$ED,$D0,$01,$01,$22 .db $2F,$AE,$EE,$E0,$11,$22,$11,$0F .db $DD,$FF,$9E,$03,$13,$32,$20,$EB .db $EE,$32,$21,$AE,$12,$00,$DD,$EF .db $01,$10,$32,$10,$AE,$DE,$FF,$12 .db $21,$12,$0E,$EC,$FF,$9E,$22,$13 .db $32,$20,$EB,$D0,$22,$21,$AE,$12 .db $00,$DD,$D0,$01,$10,$32,$1F,$AE .db $FD,$E0,$12,$21,$12,$0E,$DE,$D0 .db $9E,$22,$13,$32,$3F,$DD,$CF,$33 .db $11,$AE,$12,$1E,$ED,$D0,$01,$10 .db $32,$1F,$AE,$EE,$E0,$12,$21,$12 .db $0E,$DD,$FF,$9E,$12,$32,$24,$10 .db $EB,$D0,$22,$22,$AE,$11,$10,$CD .db $EF,$10,$11,$23,$00,$AE,$ED,$E1 .db $11,$22,$11,$0E,$ED,$D1,$9E,$02 .db $31,$43,$10,$DC,$D0,$22,$30,$AE .db $12,$1E,$EC,$E0,$01,$10,$32,$1F .db $AE,$EE,$E0,$12,$21,$12,$0D,$ED .db $E0,$9E,$12,$31,$42,$3F,$DC,$DF .db $33,$11,$AE,$12,$1E,$EC,$EF,$20 .db $02,$13,$1F,$AE,$EE,$E0,$12,$21 .db $12,$FF,$DD,$E0,$9E,$12,$23,$32 .db $3F,$DC,$DF,$33,$12,$AE,$11,$1F .db $DD,$D0,$10,$11,$22,$10,$AE,$DE .db $E1,$11,$21,$21,$0E,$DE,$D0,$9E .db $22,$31,$34,$10,$DC,$DF,$32,$30 .db $AE,$12,$00,$CD,$EF,$11,$10,$22 .db $2F,$AE,$ED,$F0,$12,$12,$12,$FE .db $ED,$EF,$9E,$32,$22,$42,$20,$DC .db $DF,$32,$30,$AE,$12,$00,$CD,$EF .db $11,$02,$12,$2F,$AE,$ED,$FF,$22 .db $20,$30,$0F,$CE,$EF,$9E,$32,$22 .db $33,$20,$DC,$C1,$14,$11,$AE,$12 .db $00,$CD,$EF,$11,$01,$22,$2F,$AE .db $ED,$FF,$22,$20,$22,$FE,$EC,$FF .db $9E,$32,$22,$33,$20,$DC,$C0,$33 .db $11,$AE,$12,$0F,$EC,$D0,$11,$01 .db $22,$2F,$AE,$ED,$FF,$22,$20,$21 .db $1D,$EC,$FF,$9E,$31,$32,$33,$20 .db $DC,$C0,$33,$11,$AE,$11,$2E,$DD .db $EF,$11,$01,$22,$2F,$AE,$ED,$E1 .db $12,$12,$11,$0F,$CE,$EF,$9E,$23 .db $22,$33,$20,$DC,$DF,$32,$21,$AE .db $12,$0F,$EC,$D0,$11,$01,$22,$2F .db $AE,$DF,$D1,$12,$12,$11,$0F,$CE .db $EF,$9E,$23,$22,$25,$10,$DC,$DF .db $33,$11,$AE,$12,$0F,$EC,$D0,$11 .db $01,$22,$10,$AE,$ED,$FF,$22,$12 .db $11,$0F,$CE,$D1,$9E,$02,$32,$24 .db $20,$DC,$DF,$32,$21,$AE,$12,$0F .db $EB,$FF,$10,$11,$22,$10,$AE,$ED .db $FF,$22,$12,$11,$0E,$EC,$FF,$9E .db $23,$13,$24,$20,$DC,$DF,$32,$21 .db $AE,$11,$2E,$DD,$D0,$10,$11,$22 .db $10,$AE,$ED,$E1,$12,$11,$21,$0F .db $CE,$D0,$9E,$22,$31,$43,$20,$DC .db $C0,$32,$20,$AE,$21,$1E,$EC,$EF .db $11,$10,$22,$20,$AE,$DD,$F0,$13 .db $02,$12,$0D,$ED,$EF,$9E,$41,$22 .db $43,$20,$DC,$C0,$24,$02,$AE,$11 .db $10,$CD,$D0,$02,$F2,$13,$2F,$AE .db $DE,$FF,$21,$22,$11,$0E,$EC,$E0 .db $9E,$22,$23,$24,$20,$DC,$C0,$23 .db $20,$AE,$12,$1F,$CD,$EF,$11,$01 .db $22,$20,$AE,$DD,$F0,$12,$12,$12 .db $FF,$DD,$D1,$9E,$03,$22,$34,$20 .db $DB,$EE,$33,$20,$AE,$12,$1F,$CD .db $EF,$11,$01,$22,$2F,$AE,$EE,$D1 .db $12,$20,$22,$FF,$DD,$D1,$9E,$02 .db $32,$42,$30,$DB,$D0,$23,$11,$AE .db $12,$1E,$EC,$D0,$11,$01,$22,$2F .db $AE,$ED,$FF,$22,$20,$22,$FF,$DC .db $FF,$9E,$23,$13,$34,$2F,$EB,$DF .db $33,$11,$AE,$12,$1E,$EC,$D0,$10 .db $11,$22,$2F,$AE,$ED,$FF,$22,$12 .db $11,$1D,$EC,$FF,$9E,$22,$32,$33 .db $3F,$EB,$DF,$33,$11,$AE,$12,$00 .db $CD,$D0,$10,$11,$14,$01,$AE,$DD .db $E1,$11,$30,$22,$FF,$CE,$D0,$9E .db $23,$13,$33,$3F,$EB,$DF,$32,$21 .db $AE,$12,$00,$CD,$D0,$02,$00,$32 .db $2F,$AE,$ED,$E1,$03,$12,$11,$1D .db $EC,$E0,$9E,$23,$13,$33,$3F,$EB .db $C0,$32,$21,$AE,$12,$00,$CD,$D0 .db $02,$F2,$22,$2F,$AE,$ED,$E0,$22 .db $11,$22,$FF,$CE,$D0,$9E,$22,$23 .db $33,$3F,$EB,$C0,$32,$21,$AE,$12 .db $00,$CD,$DF,$20,$11,$13,$2F,$AE .db $ED,$E0,$22,$11,$22,$FE,$EC,$E0 .db $9E,$22,$23,$25,$10,$EB,$C0,$24 .db $02,$AE,$11,$2E,$EB,$E0,$01,$10 .db $32,$2F,$AE,$ED,$E0,$21,$22,$11 .db $0F,$CD,$FF,$9E,$13,$22,$43,$3F .db $DC,$C0,$23,$20,$AE,$21,$1F,$DC .db $D0,$11,$01,$23,$1F,$AE,$FC,$FF .db $22,$21,$12,$0E,$DD,$D1,$9E,$03 .db $22,$43,$3F,$DC,$C0,$23,$20,$AE .db $21,$1F,$CD,$EF,$10,$20,$22,$20 .db $AE,$DD,$F0,$12,$12,$21,$FF,$DD .db $EF,$9E,$23,$22,$43,$3F,$DC,$C0 .db $23,$20,$AE,$12,$1F,$DC,$D0,$11 .db $01,$22,$20,$AE,$DD,$FF,$22,$21 .db $12,$0E,$CE,$EF,$9E,$23,$22,$43 .db $20,$DC,$C0,$23,$12,$AE,$11,$2E .db $DD,$C1,$01,$10,$32,$10,$AE,$ED .db $E0,$13,$11,$21,$0F,$CD,$E0,$9E .db $13,$22,$34,$3F,$DC,$CF,$33,$12 .db $AE,$11,$2E,$DC,$EF,$20,$02,$13 .db $2F,$AE,$DE,$E0,$13,$11,$21,$0F .db $CD,$E0,$9E,$12,$32,$43,$20,$DC .db $CF,$33,$11,$AE,$12,$1F,$CD,$D0 .db $10,$11,$22,$20,$AF,$DD,$E1,$12 .db $12,$12,$FF,$DC,$FF,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$64,$0E .db $CF,$21,$11,$00,$14,$10,$FA,$64 .db $AE,$FE,$ED,$AF,$42,$36,$1B,$01 .db $74,$F0,$0C,$F5,$43,$3F,$BC,$46 .db $03,$A4,$0F,$01,$11,$00,$FF,$00 .db $20,$AD,$A4,$FF,$DE,$12,$22,$43 .db $21,$FF,$43,$94,$3E,$AD,$0E,$00 .db $C3,$46,$7B,$CF,$AC,$04,$CE,$F1 .db $21,$F0,$0D,$C0,$33,$B4,$41,$00 .db $00,$11,$12,$FF,$DF,$0F,$B4,$FE .db $01,$33,$1F,$E1,$42,$0E,$FF,$B4 .db $00,$20,$F0,$EC,$FF,$00,$F1,$1F .db $A4,$12,$31,$F0,$1D,$C2,$FD,$F2 .db $46,$B4,$1F,$13,$51,$0F,$DE,$0F .db $02,$1E,$A4,$AB,$FE,$E0,$30,$CF .db $45,$00,$53,$B4,$FF,$00,$FE,$E1 .db $43,$FF,$22,$33,$A4,$FF,$EC,$ED .db $13,$FB,$BE,$CA,$C1,$B4,$1E,$E1 .db $10,$22,$21,$00,$21,$FC,$B4,$E2 .db $11,$FE,$24,$31,$11,$FD,$DF,$B4 .db $20,$FF,$0F,$CE,$0F,$EE,$01,$F0 .db $B4,$32,$31,$F2,$41,$ED,$E1,$0F .db $DF,$B4,$13,$33,$33,$FE,$E1,$1E .db $F2,$FD,$A4,$AF,$FC,$DE,$D0,$F0 .db $66,$1F,$47,$BC,$0E,$EF,$30,$FE .db $01,$10,$12,$2D,$A4,$BD,$1F,$D0 .db $31,$CC,$DE,$EC,$CE,$B4,$FD,$F2 .db $32,$00,$24,$30,$FF,$21,$B4,$EF .db $FF,$FF,$25,$3F,$01,$FE,$F2,$A4 .db $2F,$DC,$FE,$AD,$0E,$AA,$E3,$61 .db $B4,$01,$44,$20,$01,$20,$FF,$FE .db $C0,$A4,$74,$13,$2F,$CD,$F3,$1E .db $E0,$EB,$AC,$03,$1C,$C1,$35,$FD .db $05,$30,$DE,$B4,$12,$00,$10,$EC .db $E1,$11,$12,$1F,$AC,$E1,$30,$F0 .db $10,$CF,$21,$0B,$C3,$AC,$41,$FE .db $24,$3E,$D2,$2D,$F4,$1C,$A4,$BB .db $C0,$01,$44,$1D,$D0,$F0,$01,$A4 .db $1F,$DD,$22,$EA,$AE,$00,$EE,$36 .db $A4,$42,$54,$20,$24,$2F,$CB,$DD .db $E2,$A4,$43,$0F,$FF,$EF,$23,$1E .db $D0,$32,$AC,$CC,$13,$0D,$02,$30 .db $03,$00,$E0,$A4,$34,$2F,$ED,$BC .db $F2,$32,$10,$FF,$A4,$D0,$22,$0E .db $E1,$30,$DC,$DE,$EC,$9C,$23,$12 .db $35,$FD,$02,$22,$FD,$DD,$AC,$E0 .db $32,$01,$F1,$DF,$01,$30,$C0,$94 .db $F2,$4F,$AA,$AB,$AA,$BC,$D2,$76 .db $AC,$0F,$10,$2F,$10,$DE,$F0,$20 .db $30,$94,$44,$09,$E3,$21,$ED,$04 .db $30,$CC,$9C,$FE,$1E,$D1,$13,$42 .db $E1,$F2,$13,$A4,$42,$0E,$DD,$F0 .db $04,$30,$0F,$F1,$9C,$F1,$CF,$5F .db $1F,$DE,$F0,$D0,$D0,$AC,$02,$20 .db $10,$F1,$20,$11,$DF,$FF,$94,$BF .db $46,$42,$2E,$E2,$0F,$FD,$F2,$9C .db $0D,$0F,$D0,$EF,$EF,$20,$53,$EF .db $AC,$2F,$13,$0F,$0F,$EE,$04,$F1 .db $2F,$94,$10,$F0,$1F,$CD,$01,$0D .db $0E,$BC,$A4,$DD,$DC,$C1,$11,$21 .db $22,$34,$34,$A4,$50,$DE,$EF,$01 .db $22,$00,$00,$1E,$A4,$E0,$F0,$0F .db $00,$DD,$FD,$CC,$EE,$AC,$20,$1F .db $13,$D2,$30,$FE,$E1,$0F,$94,$D1 .db $64,$F0,$30,$FF,$D0,$0D,$F3,$A4 .db $0E,$EF,$EB,$DD,$CF,$0F,$F3,$21 .db $AC,$03,$21,$EE,$01,$EE,$23,$F0 .db $00,$94,$21,$BE,$2E,$CE,$20,$EF .db $EC,$CC,$AC,$D0,$20,$E1,$22,$E0 .db $12,$4E,$E1,$AC,$2C,$0F,$12,$0F .db $12,$EE,$12,$EE,$AC,$20,$F1,$1D .db $02,$ED,$F3,$FF,$F1,$A4,$22,$0E .db $45,$43,$34,$30,$E0,$2F,$A4,$F1 .db $41,$E1,$0F,$0F,$EF,$10,$EF,$A4 .db $10,$CC,$EF,$EB,$D1,$2F,$E1,$34 .db $AC,$F0,$22,$DE,$12,$DF,$23,$E1 .db $F0,$A4,$01,$FD,$F1,$0D,$F1,$1E .db $CE,$0F,$A4,$AC,$F1,$0D,$E2,$42 .db $14,$53,$03,$94,$4E,$DF,$12,$31 .db $00,$30,$CD,$10,$A4,$ED,$13,$FC .db $E0,$0D,$BC,$11,$DC,$A4,$03,$10 .db $44,$23,$33,$1F,$FF,$02,$A4,$1F .db $21,$1F,$F0,$1E,$CF,$31,$DD,$A4 .db $F2,$FB,$BF,$1E,$CE,$1F,$12,$42 .db $A4,$23,$43,$2F,$F0,$20,$F0,$32 .db $FE,$A4,$22,$FC,$E1,$20,$CE,$21 .db $DB,$F0,$AC,$EF,$1F,$00,$31,$0F .db $11,$3F,$EE,$A4,$11,$1E,$F3,$3F .db $E0,$32,$DC,$F3,$94,$1A,$A2,$3C .db $9E,$DC,$CD,$DB,$BF,$AC,$21,$0E .db $13,$2E,$E0,$20,$D0,$22,$A4,$1E .db $E3,$30,$BE,$22,$DE,$01,$FE,$A4 .db $EF,$EE,$FF,$ED,$D0,$23,$00,$15 .db $A4,$51,$13,$20,$E0,$32,$ED,$14 .db $2C,$94,$A3,$2D,$CF,$10,$DE,$EC .db $CD,$EF,$A4,$DC,$D1,$21,$F0,$34 .db $31,$43,$1F,$A4,$E3,$4F,$C0,$33 .db $EE,$01,$FE,$00,$AC,$F1,$F0,$FF .db $01,$1F,$CF,$23,$0E,$A4,$F2,$22 .db $13,$54,$FE,$24,$1D,$E2,$94,$60 .db $E0,$00,$EE,$E0,$FF,$0F,$CA,$A4 .db $F1,$0E,$BC,$F1,$FF,$12,$10,$25 .db $A4,$60,$F0,$53,$FE,$02,$10,$F0 .db $00,$A4,$FF,$0F,$F1,$0F,$DD,$02 .db $0C,$CE,$AC,$1F,$F2,$3E,$E0,$44 .db $EB,$14,$1E,$84,$DC,$26,$20,$01 .db $EE,$FE,$BA,$F6,$A4,$1D,$CF,$12 .db $FC,$DF,$ED,$F1,$2F,$A4,$E0,$55 .db $10,$14,$31,$00,$10,$01,$A4,$00 .db $F0,$00,$DF,$11,$0D,$CF,$20,$A4 .db $FE,$EE,$DC,$12,$0D,$F2,$43,$11 .db $9C,$23,$F0,$0E,$01,$01,$FE,$21 .db $FE,$A4,$DF,$22,$EC,$E0,$10,$F0 .db $EC,$CF,$94,$23,$CB,$04,$63,$33 .db $35,$54,$31,$94,$02,$20,$0E,$13 .db $0A,$C2,$31,$CB,$AC,$02,$E2,$1F .db $DE,$03,$1F,$E0,$21,$9C,$00,$01 .db $11,$2F,$0F,$01,$1E,$D3,$94,$41 .db $DB,$E2,$3F,$DD,$CB,$E1,$51,$A4 .db $DB,$D0,$0F,$EF,$01,$21,$11,$22 .db $94,$45,$31,$34,$0E,$02,$30,$CD .db $02,$A4,$01,$FF,$DD,$F2,$20,$DC .db $E0,$FE,$9C,$1F,$24,$E0,$1F,$14 .db $0F,$F3,$1E,$9C,$E0,$22,$EF,$FF .db $21,$10,$FE,$BF,$94,$F4,$5E,$AB .db $BE,$FD,$BE,$11,$32,$94,$F1,$54 .db $32,$46,$51,$F1,$22,$10,$AC,$FF .db $20,$10,$0D,$E1,$22,$0E,$EF,$94 .db $EE,$DD,$CD,$03,$10,$F3,$33,$22 .db $9C,$40,$F0,$E0,$21,$0D,$F0,$10 .db $41,$94,$0C,$AA,$F3,$3E,$DC,$DD .db $EC,$BD,$9C,$40,$FF,$12,$F0,$11 .db $11,$2E,$E0,$A4,$21,$00,$FE,$F1 .db $22,$0E,$DD,$01,$9C,$0E,$EF,$01 .db $ED,$03,$2E,$02,$0F,$9C,$01,$10 .db $14,$FE,$F2,$01,$0F,$C0,$94,$E0 .db $55,$0B,$BC,$E2,$2F,$DE,$0E,$9C .db $C0,$20,$F2,$11,$D1,$10,$F2,$22 .db $94,$43,$02,$34,$11,$EC,$D1,$55 .db $1C,$9C,$E1,$32,$FD,$21,$ED,$F2 .db $EF,$13,$8C,$1C,$04,$DF,$03,$45 .db $FC,$04,$10,$94,$32,$DC,$D1,$55 .db $2C,$BD,$00,$EF,$9C,$3E,$D0,$1E .db $C1,$40,$0F,$11,$EF,$94,$F1,$54 .db $23,$22,$34,$41,$DD,$D0,$94,$65 .db $1C,$DF,$FC,$F3,$0E,$E0,$EB,$9C .db $E2,$20,$0F,$30,$ED,$22,$11,$1F .db $94,$22,$35,$32,$EB,$C2,$64,$FF .db $0E,$9C,$C4,$20,$E0,$11,$CD,$01 .db $2E,$03,$9C,$1F,$EE,$21,$11,$00 .db $01,$12,$2D,$94,$D9,$E4,$31,$22 .db $FB,$C0,$2F,$E0,$94,$21,$CB,$CE .db $DD,$F2,$21,$EE,$F1,$A4,$10,$11 .db $11,$14,$31,$DF,$00,$01,$94,$63 .db $DC,$E1,$0D,$F2,$3F,$CD,$EC,$94 .db $CC,$01,$21,$EE,$00,$01,$23,$F0 .db $A4,$34,$20,$F0,$FF,$02,$31,$EF .db $00,$9C,$D0,$24,$ED,$0F,$0E,$D2 .db $22,$0F,$A4,$F0,$0F,$01,$10,$F1 .db $43,$11,$10,$94,$CC,$26,$30,$E1 .db $1D,$CE,$22,$0F,$9C,$00,$FC,$F1 .db $31,$F0,$1F,$EF,$41,$94,$0D,$04 .db $54,$35,$4E,$AE,$34,$2F,$94,$12 .db $0C,$CF,$11,$0F,$01,$E9,$BD,$84 .db $EF,$F3,$3D,$A1,$51,$AD,$36,$45 .db $A4,$34,$1F,$D0,$11,$10,$21,$FE .db $FF,$9C,$4E,$E3,$1F,$CE,$01,$F1 .db $22,$DE,$AC,$11,$0E,$F2,$1F,$01 .db $30,$EE,$01,$84,$30,$24,$65,$D9 .db $E0,$DD,$04,$5F,$94,$DD,$DB,$B0 .db $20,$EF,$13,$FD,$F1,$AC,$0E,$13 .db $10,$E0,$F1,$F1,$F3,$0F,$9C,$D1 .db $0F,$F1,$21,$0E,$0F,$CF,$14,$9C .db $0D,$02,$3E,$C1,$12,$CE,$45,$11 .db $94,$20,$10,$EF,$24,$21,$00,$0E .db $C0,$9C,$10,$00,$1C,$DF,$40,$FE .db $23,$1B,$94,$E1,$1F,$DC,$05,$54 .db $33,$2E,$EF,$94,$33,$10,$22,$FD .db $D0,$00,$14,$0C,$94,$BD,$FF,$BD .db $13,$1E,$F2,$2E,$BD,$94,$13,$34 .db $44,$2E,$E0,$31,$02,$41,$94,$EF .db $EF,$E1,$33,$FC,$D0,$EB,$BE,$94 .db $22,$FE,$13,$1C,$CE,$01,$24,$55 .db $84,$2C,$F2,$10,$36,$42,$00,$BA .db $C4,$94,$41,$ED,$00,$DA,$BF,$3F .db $E0,$33,$9C,$CF,$F0,$02,$04,$2F .db $D0,$1E,$10,$94,$23,$12,$20,$CC .db $03,$30,$DF,$21,$94,$B9,$C1,$0E .db $F1,$22,$0E,$EE,$DE,$94,$24,$43 .db $32,$0F,$01,$11,$23,$3F,$94,$CD .db $04,$1E,$E2,$3F,$AB,$DF,$FE,$94 .db $F1,$31,$00,$ED,$CF,$13,$34,$32 .db $94,$0F,$11,$01,$34,$3E,$CD,$32 .db $0D,$94,$13,$1E,$CC,$DE,$EE,$F1 .db $21,$21,$94,$DC,$DF,$01,$34,$31 .db $20,$00,$01,$94,$35,$2D,$C1,$20 .db $EF,$22,$1F,$DC,$84,$AA,$AD,$FF .db $34,$41,$CA,$AB,$D3,$94,$23,$32 .db $21,$0F,$F1,$64,$0D,$F1,$8C,$1C .db $E3,$32,$FC,$EE,$D0,$01,$01,$94 .db $13,$21,$FE,$CD,$F1,$13,$22,$33 .db $94,$FD,$F4,$53,$FF,$01,$1F,$E0 .db $12,$94,$20,$EE,$CD,$DD,$F0,$02 .db $22,$0D,$94,$DE,$E0,$11,$14,$42 .db $ED,$14,$32,$8C,$DE,$41,$DF,$E2 .db $41,$0F,$CF,$FC,$8C,$F1,$20,$14 .db $4D,$DE,$B0,$22,$0F,$94,$25,$41 .db $EE,$13,$32,$00,$12,$0F,$9C,$F0 .db $31,$F0,$0E,$FE,$01,$F0,$22,$9C .db $01,$EF,$D1,$1F,$F1,$33,$FE,$D1 .db $84,$17,$61,$01,$25,$1D,$CF,$22 .db $14,$84,$3D,$AB,$BA,$9B,$01,$47 .db $1D,$DF,$94,$ED,$D0,$24,$31,$FF .db $13,$30,$01,$8C,$22,$CC,$22,$E2 .db $41,$DD,$FF,$DE,$84,$AB,$D2,$54 .db $10,$0F,$BA,$AE,$47,$84,$61,$EE .db $36,$5F,$F4,$62,$00,$FE,$8C,$F4 .db $4F,$E0,$DF,$EE,$D1,$34,$00,$84 .db $22,$2F,$C9,$AD,$36,$51,$DF,$66 .db $84,$00,$24,$31,$33,$DC,$F2,$43 .db $11,$8C,$FF,$DC,$E2,$23,$F1,$21 .db $FE,$EA,$94,$DE,$14,$1F,$F2,$21 .db $01,$20,$12,$8C,$2C,$DE,$41,$3F .db $F1,$0E,$DB,$01,$94,$FF,$F1,$12 .db $11,$FC,$CE,$32,$0E,$8C,$53,$E0 .db $10,$FF,$42,$0D,$DF,$32,$84,$21 .db $23,$3F,$BA,$AB,$CD,$F1,$02,$94 .db $32,$FB,$C0,$20,$F0,$11,$11,$21 .db $8C,$D1,$43,$FD,$D1,$12,$E2,$22 .db $FC,$94,$EE,$DD,$DF,$0F,$F2,$43 .db $DC,$E0,$84,$0F,$F1,$00,$24,$40 .db $E1,$56,$30,$8C,$F1,$1E,$02,$41 .db $DE,$0E,$DD,$33,$94,$ED,$F4,$41 .db $DE,$FF,$F0,$00,$F0,$84,$35,$3E .db $F1,$55,$30,$22,$FC,$F3,$94,$31 .db $01,$1E,$CE,$FF,$CD,$04,$30,$84 .db $DF,$ED,$E0,$1D,$C1,$45,$2D,$F3 .db $84,$53,$13,$41,$DC,$23,$31,$34 .db $0A,$9C,$02,$0D,$E2,$31,$0F,$0F .db $E1,$10,$84,$FB,$C1,$64,$0E,$04 .db $30,$26,$4F,$9C,$F1,$10,$01,$2F .db $DF,$20,$FD,$F3,$84,$01,$34,$1E .db $DE,$21,$CA,$D2,$52,$84,$E1,$22 .db $00,$57,$2E,$F0,$1F,$06,$94,$30 .db $FF,$10,$DC,$EE,$E1,$12,$1E,$84 .db $E1,$30,$AA,$F3,$10,$03,$2F,$E3 .db $84,$55,$10,$10,$EF,$26,$4F,$F2 .db $1E,$84,$CB,$AB,$C0,$44,$0C,$F4 .db $3E,$AB,$84,$10,$E0,$34,$0D,$F4 .db $53,$21,$2F,$84,$C0,$54,$11,$13 .db $0E,$DD,$A9,$B1,$84,$52,$DD,$25 .db $1C,$DE,$FE,$D1,$42,$84,$FE,$04 .db $32,$35,$FD,$E2,$42,$12,$9C,$01 .db $E0,$00,$DF,$13,$1E,$E2,$20,$84 .db $0D,$FF,$DC,$E2,$41,$EF,$20,$24 .db $84,$53,$EE,$01,$22,$13,$30,$01 .db $1E,$94,$CC,$F1,$0E,$F1,$20,$01 .db $0F,$ED,$8C,$52,$0E,$01,$FF,$34 .db $FE,$E0,$11,$94,$01,$12,$1F,$12 .db $0E,$CD,$00,$EF,$84,$01,$20,$12 .db $2D,$BC,$01,$01,$1F,$8C,$F1,$33 .db $FE,$F0,$1F,$F4,$2F,$C2,$84,$45 .db $FB,$AE,$EE,$CE,$01,$00,$24,$84 .db $1D,$CD,$E0,$11,$0E,$E1,$33,$31 .db $84,$22,$FD,$04,$40,$E3,$62,$FC .db $CE,$84,$FC,$CE,$1F,$E1,$34,$1F .db $CD,$D0,$84,$21,$FE,$E1,$32,$13 .db $31,$DE,$34,$84,$1F,$13,$52,$FD .db $EF,$DC,$DF,$FE,$84,$E1,$33,$3F .db $DC,$E0,$11,$ED,$02,$84,$10,$25 .db $3F,$D0,$32,$00,$14,$42,$84,$FF .db $FF,$CC,$EF,$ED,$E0,$34,$30,$84 .db $DC,$E0,$2F,$DF,$10,$E1,$35,$2F .db $8C,$01,$2F,$F0,$23,$0E,$F0,$0E .db $F0,$84,$EE,$ED,$D0,$24,$40,$DC .db $F2,$0D,$84,$F0,$0E,$F1,$34,$2F .db $01,$11,$F0,$8C,$31,$F0,$0F,$0E .db $0F,$10,$EE,$11,$84,$24,$50,$DE .db $00,$EF,$00,$FD,$F1,$7C,$41,$ED .db $12,$FD,$13,$22,$0F,$11,$84,$0E .db $EF,$FE,$DC,$CD,$35,$20,$F0,$74 .db $FE,$C0,$0E,$DC,$D2,$54,$22,$32 .db $74,$0E,$F3,$54,$24,$63,$FD,$DE .db $F0,$8C,$DD,$03,$31,$FF,$01,$D1 .db $00,$0F,$74,$DB,$E1,$42,$23,$43 .db $ED,$14,$32,$8C,$11,$00,$FE,$F2 .db $2F,$CD,$04,$2F,$74,$33,$30,$0E .db $D0,$0F,$CB,$E1,$21,$74,$15,$52 .db $DE,$14,$12,$34,$75,$FC,$84,$E1 .db $30,$BB,$DE,$F1,$12,$11,$0F,$74 .db $EF,$10,$BB,$E1,$0F,$36,$40,$EF .db $84,$02,$10,$13,$42,$FD,$02,$2F .db $DC,$7C,$F2,$22,$10,$21,$DE,$F3 .db $0E,$C1,$84,$0F,$E1,$13,$20,$F0 .db $01,$1F,$14,$84,$42,$EE,$12,$10 .db $EC,$CE,$FF,$00,$74,$54,$0E,$F2 .db $0D,$EE,$ED,$C0,$45,$8C,$FF,$F1 .db $2E,$F0,$33,$FE,$FF,$21,$84,$11 .db $FC,$CE,$FE,$F1,$21,$01,$00,$74 .db $FE,$0F,$DB,$C0,$54,$2F,$F3,$3E .db $74,$C1,$57,$52,$0F,$F3,$52,$D9 .db $CD,$7C,$DF,$33,$2F,$F1,$0F,$E1 .db $10,$BE,$74,$C0,$54,$FF,$33,$0D .db $D1,$55,$54,$74,$0D,$05,$50,$DD .db $EB,$AA,$E1,$12,$84,$11,$1F,$F1 .db $10,$DD,$E1,$20,$F1,$84,$21,$FF .db $F0,$22,$41,$FF,$12,$20,$7C,$F0 .db $0C,$D1,$22,$F3,$10,$EE,$13,$74 .db $3F,$A9,$F2,$0F,$13,$31,$E0,$ED .db $84,$14,$31,$F0,$12,$10,$01,$FD .db $EE,$74,$CC,$F2,$52,$FD,$15,$3D .db $AC,$F0,$74,$EF,$33,$02,$2D,$CE .db $47,$41,$E1,$74,$42,$01,$31,$ED .db $CC,$BB,$F3,$41,$74,$DF,$35,$2D .db $CE,$ED,$E2,$10,$24,$74,$1C,$BF .db $46,$30,$03,$21,$12,$21,$74,$FF .db $EB,$9B,$F4,$2F,$D1,$53,$0F,$74 .db $FE,$CD,$00,$F1,$34,$0C,$B0,$44 .db $7C,$E0,$10,$0F,$20,$0F,$10,$EB .db $E2,$74,$03,$0D,$02,$32,$11,$FD .db $CF,$FF,$74,$E1,$44,$FB,$D1,$31 .db $22,$22,$11,$84,$10,$01,$11,$0D .db $CE,$10,$FF,$01,$74,$22,$31,$FD .db $EE,$FD,$E2,$53,$DC,$74,$F0,$11 .db $23,$11,$22,$10,$F2,$54,$74,$D9 .db $BE,$FF,$E0,$00,$13,$32,$FD,$74 .db $FF,$DC,$F3,$51,$ED,$FF,$02,$21 .db $74,$21,$33,$0D,$F5,$52,$EB,$DE .db $DE,$74,$FF,$0F,$13,$51,$EF,$1E .db $CC,$03,$74,$31,$FE,$EF,$01,$21 .db $02,$52,$FD,$74,$05,$41,$FE,$DD .db $DE,$F0,$EE,$15,$74,$30,$01,$1D .db $BE,$02,$21,$FF,$EE,$74,$11,$0F .db $15,$51,$DE,$14,$32,$0F,$74,$EC .db $DF,$0D,$DF,$23,$21,$21,$0D,$74 .db $CE,$01,$12,$0E,$D0,$10,$EF,$35 .db $74,$31,$EE,$22,$31,$20,$EC,$E0 .db $FC,$64,$90,$33,$34,$54,$FA,$BB .db $E2,$53,$74,$FE,$E1,$1E,$D0,$34 .db $31,$E0,$11,$64,$26,$60,$AA,$0F .db $B9,$BF,$11,$26,$64,$63,$0D,$BA .db $D3,$52,$CC,$03,$FB,$74,$D0,$34 .db $30,$00,$0F,$24,$20,$EF,$6C,$00 .db $DD,$3F,$12,$32,$1F,$FC,$CE,$64 .db $F5,$3F,$CF,$21,$FA,$90,$66,$24 .db $64,$3F,$C0,$57,$4F,$D0,$FD,$DC .db $AC,$74,$F0,$12,$33,$2E,$DD,$12 .db $0F,$E0,$74,$21,$EC,$E1,$11,$32 .db $2F,$E0,$32,$7C,$0F,$F0,$00,$0E .db $F1,$01,$01,$31,$64,$2C,$AD,$13 .db $1D,$C2,$50,$BB,$CF,$74,$01,$33 .db $2E,$F0,$22,$20,$0F,$10,$74,$FE .db $DE,$FE,$F2,$43,$1F,$DF,$22,$64 .db $DC,$F3,$3F,$CC,$DD,$D2,$76,$2F .db $6C,$F1,$33,$FD,$00,$20,$CE,$10 .db $DF,$74,$F2,$43,$1E,$E1,$11,$FE .db $02,$1F,$64,$FE,$BA,$E2,$55,$40 .db $DF,$34,$3F,$74,$01,$10,$FF,$FE .db $DD,$F1,$43,$1E,$64,$F1,$30,$CF .db $22,$01,$0D,$AC,$C0,$64,$56,$30 .db $D0,$34,$0F,$22,$1F,$1F,$74,$FE .db $DC,$F2,$33,$0F,$01,$1F,$F1,$74 .db $00,$10,$00,$DD,$D0,$23,$2F,$F1 .db $74,$11,$00,$11,$00,$10,$0E,$CC .db $F2,$6C,$3C,$E1,$2F,$E1,$0F,$2F .db $11,$1D,$74,$EC,$D0,$22,$00,$11 .db $00,$10,$10,$74,$00,$21,$0E,$CC .db $F3,$10,$11,$01,$74,$00,$00,$00 .db $01,$21,$DC,$D0,$21,$64,$01,$12 .db $10,$02,$00,$01,$24,$2A,$6C,$D2 .db $41,$10,$F1,$1F,$F0,$11,$FD,$74 .db $02,$30,$DC,$E0,$01,$01,$10,$01 .db $64,$10,$01,$E0,$55,$0B,$AB,$F1 .db $00,$64,$12,$21,$F0,$22,$ED,$15 .db $50,$CA,$64,$CE,$F0,$21,$11,$20 .db $02,$0D,$F2,$64,$54,$0C,$BC,$E0 .db $0F,$23,$1F,$F2,$64,$40,$DE,$15 .db $50,$DC,$CC,$F1,$00,$64,$21,$11 .db $21,$FD,$F2,$53,$1D,$BD,$64,$FF .db $E0,$32,$0E,$04,$3F,$DE,$34,$64 .db $32,$FC,$BE,$EF,$01,$10,$12,$30 .db $64,$ED,$F2,$53,$0D,$EE,$ED,$E2 .db $30,$64,$FF,$14,$2E,$E0,$13,$43 .db $FD,$DD,$64,$EE,$00,$00,$23,$21 .db $DC,$F3,$43,$64,$FF,$FF,$CC,$02 .db $3F,$EF,$33,$10,$6C,$E1,$13,$2E .db $EE,$0E,$11,$0F,$11,$64,$23,$30 .db $DC,$F3,$31,$01,$0E,$CC,$64,$03 .db $1F,$E0,$23,$10,$FE,$13,$42,$64 .db $2E,$ED,$EE,$EF,$FF,$34,$30,$CD .db $64,$02,$11,$12,$1D,$BE,$02,$1E .db $F0,$6C,$11,$1E,$D2,$11,$3F,$FE .db $0F,$F0,$64,$FE,$DF,$35,$3F,$DE .db $01,$00,$23,$64,$0D,$CE,$10,$10 .db $EF,$13,$11,$FE,$64,$03,$32,$21 .db $FE,$FE,$ED,$C0,$34,$54,$5D,$DF .db $FE,$F2,$55,$EB,$CC,$F3,$54,$2D .db $DF,$05,$60,$CE,$23,$55,$42,$64 .db $0F,$0F,$DC,$C0,$33,$10,$F0,$0E .db $54,$E3,$52,$0C,$BC,$02,$11,$CC .db $16,$64,$2F,$0F,$01,$33,$11,$00 .db $10,$CB,$54,$A0,$45,$11,$2F,$CD .db $01,$34,$0C,$54,$CC,$E3,$4E,$BF .db $23,$21,$FF,$01,$6C,$21,$E0,$10 .db $0F,$DE,$13,$1F,$11,$54,$2E,$EC .db $E2,$32,$1F,$9B,$04,$2E,$54,$DE .db $22,$21,$0E,$F3,$52,$22,$25,$64 .db $2F,$CD,$EF,$F1,$21,$10,$EF,$F0 .db $54,$15,$2C,$9D,$03,$1E,$E0,$01 .db $31,$64,$FF,$11,$12,$01,$24,$1F .db $ED,$DF,$54,$E0,$34,$1F,$0E,$CE .db $44,$1C,$AD,$44,$23,$00,$EC,$16 .db $3F,$DF,$15,$71,$54,$F3,$66,$40 .db $BB,$CB,$D2,$21,$22,$54,$0C,$CF .db $44,$0C,$BE,$F1,$1F,$E0,$5C,$2F .db $00,$E0,$31,$FE,$12,$42,$DE,$5C .db $FD,$C2,$30,$11,$11,$DC,$03,$40 .db $5C,$DD,$FF,$32,$EF,$10,$11,$FE .db $02,$54,$22,$1E,$F4,$55,$53,$FC .db $BC,$EE,$54,$E2,$43,$FC,$D0,$23 .db $1D,$BD,$0F,$54,$0F,$E1,$30,$0F .db $F0,$42,$FF,$02,$54,$36,$63,$0D .db $CE,$DC,$D3,$42,$FE,$44,$9E,$76 .db $FB,$9A,$EF,$BD,$12,$24,$5C,$ED .db $32,$0F,$F0,$01,$24,$1E,$DF,$54 .db $FE,$BB,$F1,$33,$0C,$D1,$22,$1D .db $44,$AE,$CB,$DD,$E4,$60,$DD,$13 .db $32,$5C,$0F,$F0,$43,$1E,$E1,$FD .db $E0,$12,$54,$43,$FD,$D1,$31,$F0 .db $EE,$EE,$DD,$54,$12,$20,$E0,$00 .db $22,$1F,$EF,$36,$54,$43,$31,$0F .db $CB,$D0,$33,$ED,$F1,$54,$12,$0F .db $FF,$EC,$CF,$12,$00,$F0,$54,$0F .db $23,$1E,$E0,$24,$44,$23,$10,$54 .db $CB,$C2,$20,$FF,$F0,$11,$00,$F0 .db $5C,$ED,$03,$02,$FF,$00,$E2,$3F .db $FE,$54,$E0,$23,$43,$24,$30,$CB .db $E0,$11,$4C,$B1,$02,$1F,$F3,$0C .db $DC,$04,$10,$44,$23,$FC,$E1,$55 .db $0E,$DE,$37,$53,$5C,$23,$ED,$EE .db $30,$10,$FF,$2F,$00,$54,$12,$10 .db $CD,$DE,$F0,$11,$0E,$F1,$5C,$02 .db $EE,$F3,$10,$F2,$22,$EE,$E0,$4C .db $F3,$0E,$11,$00,$E0,$42,$FD,$CE .db $44,$AB,$C1,$31,$EE,$D0,$64,$0D .db $D2,$5C,$00,$F3,$21,$FE,$E0,$10 .db $F0,$02,$4C,$EE,$F1,$51,$FC,$0C .db $EF,$32,$20,$5C,$FE,$02,$20,$D0 .db $02,$FF,$11,$31,$4C,$FC,$FF,$0E .db $00,$21,$FD,$F3,$30,$44,$31,$EB .db $AA,$B0,$22,$EB,$E3,$51,$4C,$E0 .db $10,$0E,$05,$41,$0E,$FF,$FF,$4C .db $E1,$31,$CF,$10,$32,$0F,$DF,$CF .db $44,$BF,$31,$CC,$02,$30,$0F,$21 .db $FD,$4C,$24,$22,$0F,$00,$ED,$F3 .db $10,$EF,$4C,$E3,$21,$01,$EE,$CD .db $25,$1D,$E0,$4C,$13,$0E,$F3,$0E .db $E1,$02,$40,$02,$4C,$1E,$DF,$F2 .db $10,$EF,$F2,$11,$12,$44,$2E,$99 .db $E0,$0E,$DE,$01,$00,$12,$4C,$FF .db $FF,$21,$11,$22,$0F,$ED,$12,$44 .db $00,$FD,$DF,$0F,$35,$2E,$AB,$D0 .db $34,$F9,$BF,$F0,$00,$23,$2F,$DF .db $00,$4C,$11,$22,$2E,$DF,$10,$2E .db $FF,$1E,$44,$E0,$44,$2F,$AC,$FE .db $ED,$FE,$00,$4C,$F1,$10,$0E,$00 .db $10,$F1,$33,$0F,$44,$1F,$02,$0F .db $0F,$ED,$EF,$45,$1E,$3C,$EF,$1F .db $0E,$11,$0E,$13,$00,$0E,$4C,$F2 .db $F0,$F1,$23,$2E,$D1,$1F,$1F,$44 .db $F0,$ED,$D0,$34,$1F,$EE,$EE,$DE .db $34,$EC,$DE,$00,$22,$F0,$00,$10 .db $CE,$44,$34,$44,$20,$21,$00,$10 .db $EC,$E0,$34,$46,$3F,$EE,$BB,$DC .db $CD,$DC,$F2,$3C,$F0,$0E,$13,$EC .db $F3,$43,$2F,$F1,$34,$31,$12,$30 .db $B9,$C0,$43,$23,$FC,$3C,$00,$E1 .db $0D,$02,$01,$2E,$E1,$30,$34,$0E .db $CF,$35,$64,$55,$21,$24,$30,$34 .db $BA,$D0,$03,$51,$FF,$CD,$DD,$CD .db $34,$BC,$01,$1E,$F0,$23,$0E,$CF .db $33,$34,$45,$54,$21,$35,$3E,$DD .db $CE,$12,$3C,$11,$DE,$00,$F0,$FE .db $F1,$22,$EF,$3C,$F2,$21,$DD,$10 .db $12,$20,$3E,$E2,$3C,$3F,$0E,$EF .db $F1,$13,$10,$FF,$E0,$3C,$00,$FD .db $01,$20,$0E,$F3,$2F,$FE,$3C,$00 .db $10,$32,$FF,$11,$10,$0F,$FD,$2C .db $E3,$23,$22,$DE,$E0,$1E,$DC,$F2 .db $24,$00,$DC,$D0,$43,$0F,$FC,$E2 .db $56,$2C,$0F,$22,$01,$2F,$CC,$FF .db $33,$22,$2C,$DF,$F0,$00,$CB,$03 .db $21,$DC,$34,$2C,$F1,$0F,$C0,$04 .db $20,$03,$00,$22,$2C,$00,$DD,$EF .db $14,$20,$0E,$F2,$0E,$2C,$CD,$02 .db $2F,$E0,$00,$22,$0E,$C0,$2C,$30 .db $10,$21,$01,$12,$10,$ED,$D0,$24 .db $E0,$32,$00,$01,$1F,$B9,$BC,$EE .db $24,$DD,$DE,$03,$2F,$E0,$F0,$01 .db $33,$2C,$02,$02,$20,$FC,$EF,$13 .db $01,$0E,$2C,$12,$0E,$CF,$00,$00 .db $0F,$D3,$20,$1C,$0D,$00,$0E,$13 .db $02,$10,$15,$32,$2C,$FD,$EF,$03 .db $00,$00,$02,$0F,$DE,$1C,$0F,$40 .db $DC,$03,$4F,$FF,$01,$FF,$1C,$00 .db $32,$00,$16,$21,$0A,$DF,$02,$2C .db $10,$F0,$12,$F0,$ED,$00,$2F,$FE .db $1C,$13,$1F,$00,$00,$0E,$01,$20 .db $00,$1C,$23,$41,$FD,$DD,$13,$0F .db $00,$12,$24,$21,$FD,$CF,$FE,$DD .db $EF,$F0,$F0,$1C,$01,$EF,$00,$20 .db $0F,$33,$23,$0C,$14,$00,$F0,$00 .db $0E,$03,$52,$E9,$CF,$0C,$DE,$ED .db $03,$0E,$F1,$30,$FB,$04,$1C,$00 .db $F0,$22,$23,$0E,$EF,$F1,$10,$14 .db $EF,$03,$51,$ED,$DE,$ED,$BC,$EE .db $1C,$FF,$01,$20,$D0,$20,$F0,$00 .db $12,$1C,$21,$10,$D0,$00,$1F,$E0 .db $23,$00,$1C,$DE,$01,$0D,$01,$0F .db $0F,$02,$00,$0C,$F0,$0F,$1F,$E2 .db $12,$43,$10,$ED,$14,$02,$1F,$EF .db $03,$31,$FF,$0F,$ED,$14,$CE,$0E .db $DD,$F0,$00,$0F,$01,$0F,$1C,$00 .db $01,$12,$2F,$EF,$20,$0E,$E0,$14 .db $12,$20,$00,$00,$ED,$EF,$FE,$DE .db $1C,$00,$00,$00,$00,$00,$F0,$00 .db $21,$0C,$10,$E0,$21,$0C,$F0,$23 .db $00,$E1,$04,$20,$AC,$ED,$FC,$BD .db $ED,$DF,$00,$04,$00,$00,$00,$F0 .db $36,$54,$22,$45,$04,$10,$FF,$02 .db $00,$02,$1F,$DB,$F0,$04,$EC,$ED .db $DF,$EE,$00,$00,$00,$00,$04,$E0 .db $15,$42,$23,$43,$20,$E0,$00,$04 .db $00,$11,$10,$DE,$FE,$0D,$DF,$ED .db $04,$EF,$00,$00,$00,$00,$E0,$23 .db $21,$04,$13,$44,$00,$00,$00,$00 .db $21,$00,$04,$FE,$0F,$FF,$FE,$ED .db $E0,$F0,$00,$04,$00,$0F,$F0,$03 .db $10,$03,$42,$00,$04,$01,$00,$00 .db $12,$00,$00,$FF,$F0,$04,$0E,$EE .db $EF,$00,$F0,$00,$00,$E0,$04,$00 .db $10,$11,$32,$00,$11,$00,$01,$04 .db $11,$00,$00,$00,$00,$00,$EE,$FF .db $04,$FF,$00,$00,$0F,$F0,$00,$00 .db $00,$00,$23,$45,$66,$65,$45,$56 .db $66,$65,$00,$32,$10,$00,$FE,$CC .db $BA,$AB,$CC,$00,$CB,$BB,$CC,$DD .db $F0,$12,$23,$45,$00,$44,$34,$44 .db $45,$54,$32,$11,$00,$00,$0F,$ED .db $CC,$BC,$DD,$DC,$CD,$DD,$00,$DE .db $F0,$00,$12,$33,$33,$33,$33,$00 .db $34,$43,$21,$11,$00,$00,$FF,$ED .db $00,$DD,$EE,$ED,$DE,$EE,$EE,$F0 .db $00,$00,$01,$22,$22,$22,$22,$23 .db $32,$21,$00,$11,$00,$00,$0F,$FE .db $EE,$EE,$EE,$00,$EE,$EE,$EF,$F0 .db $00,$00,$11,$11,$00,$11,$11,$22 .db $22,$11,$10,$00,$00,$00,$00,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$00,$F0 .db $00,$00,$00,$11,$11,$11,$11,$00 .db $11,$11,$00,$00,$00,$00,$0F,$FF .db $00,$FF,$FF,$0F,$FF,$F0,$00,$00 .db $00,$00,$00,$00,$00,$00,$01,$11 .db $10,$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,$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,$00,$00,$00,$00 .db $00,$00,$01,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$B4,$00,$D1,$F1 .db $F0,$50,$42,$01,$11,$B4,$FD,$B2 .db $3F,$CF,$39,$4A,$0F,$FF,$B4,$0F .db $F0,$FF,$0F,$23,$B3,$10,$02,$B4 .db $31,$2D,$F2,$40,$F1,$3F,$E4,$A6 .db $B0,$76,$52,$64,$10,$4F,$60,$23 .db $03,$B4,$22,$C2,$1E,$2C,$20,$1D .db $0F,$3F,$B4,$0C,$DF,$E4,$BF,$FF .db $00,$1E,$0F,$B4,$F0,$FF,$00,$E1 .db $D0,$2D,$2E,$34,$C4,$F1,$10,$0F .db $01,$E1,$30,$20,$00,$B4,$2E,$5F .db $12,$11,$F2,$00,$20,$0F,$B4,$2B .db $2C,$5F,$E0,$FE,$00,$5F,$F2,$A4 .db $D3,$1D,$EF,$F1,$EB,$3B,$DE,$BF .db $A4,$FE,$FE,$FF,$F0,$F1,$19,$21 .db $0F,$A4,$F4,$B6,$40,$3E,$52,$D4 .db $37,$C6,$B4,$FF,$20,$D5,$E2,$E3 .db $1E,$11,$2E,$A4,$2B,$03,$DD,$55 .db $FE,$F7,$E4,$A2,$B4,$2F,$01,$F2 .db $FE,$1C,$4D,$00,$DF,$A4,$2A,$1F .db $C4,$D0,$EE,$1F,$B4,$A4,$A4,$D2 .db $10,$4F,$B1,$44,$12,$E1,$2B,$A4 .db $6F,$20,$CF,$00,$1E,$4E,$6F,$E5 .db $A4,$20,$F4,$F2,$4E,$50,$20,$E1 .db $F2,$A4,$1B,$7E,$09,$43,$DF,$FC .db $31,$DF,$A4,$E4,$C3,$CC,$20,$C2 .db $EE,$01,$E3,$A4,$D2,$C6,$BD,$3F .db $00,$01,$CF,$32,$A4,$ED,$3C,$2E .db $E2,$0E,$5A,$7E,$12,$A4,$D3,$03 .db $C3,$4E,$E6,$A3,$3C,$F6,$A4,$D3 .db $2D,$2F,$D6,$0E,$E2,$2F,$1D,$A4 .db $11,$F1,$3F,$E4,$EE,$0F,$D3,$E1 .db $A4,$00,$D1,$0E,$EE,$D4,$EF,$C5 .db $B1,$94,$D1,$B2,$5A,$0F,$B5,$1E .db $3F,$1C,$A0,$CC,$0B,$2E,$00,$14 .db $3F,$44,$2F,$A4,$1F,$41,$1D,$04 .db $E2,$F3,$0D,$6E,$94,$D2,$34,$10 .db $1D,$AD,$50,$4D,$DD,$A0,$12,$F0 .db $0C,$E1,$CE,$0E,$E0,$EF,$A4,$FD .db $3E,$E2,$1B,$10,$D2,$20,$B4,$A4 .db $FE,$2E,$01,$E0,$2E,$E3,$B2,$E3 .db $A4,$2E,$D1,$F5,$D2,$10,$D4,$00 .db $00,$A4,$E1,$7F,$03,$00,$10,$03 .db $C5,$D0,$A4,$13,$FC,$2F,$FE,$0F .db $03,$B3,$2D,$A0,$EF,$22,$DF,$EF .db $0F,$EF,$ED,$FC,$94,$10,$2D,$FD .db $F0,$1C,$FF,$27,$B2,$A4,$D0,$01 .db $01,$F2,$11,$FC,$21,$1D,$A4,$10 .db $FF,$32,$F1,$0D,$42,$0D,$31,$A4 .db $F1,$E0,$0E,$4F,$00,$F0,$3F,$E3 .db $A0,$44,$01,$F3,$23,$10,$22,$14 .db $12,$A4,$D4,$DE,$2F,$2E,$0F,$00 .db $0F,$E3,$A4,$E0,$C2,$E4,$DF,$1F .db $02,$D3,$E0,$94,$2F,$10,$D3,$1D .db $4D,$05,$2B,$42,$A0,$31,$33,$33 .db $14,$33,$31,$F4,$10,$94,$3D,$5E .db $5A,$1D,$6A,$01,$24,$AF,$90,$20 .db $45,$DF,$11,$1B,$4F,$35,$D0,$90 .db $43,$2F,$22,$0E,$0C,$E1,$ED,$EE .db $94,$C4,$95,$DD,$F4,$3A,$2D,$45 .db $0A,$90,$AF,$2F,$41,$D4,$54,$11 .db $43,$5D,$90,$11,$31,$4F,$E3,$3D .db $03,$F0,$02,$90,$3F,$5D,$C6,$F2 .db $54,$7E,$D3,$F0,$90,$FC,$2D,$32 .db $21,$F5,$FD,$02,$FD,$90,$E0,$EC .db $BF,$F3,$01,$C4,$5D,$4E,$A4,$FF .db $21,$E1,$00,$0F,$EF,$41,$FE,$90 .db $D1,$E3,$CE,$E4,$EC,$21,$C1,$CC .db $90,$03,$4D,$2C,$5D,$BF,$C1,$FF .db $13,$90,$6E,$13,$43,$14,$F0,$EE .db $55,$34,$94,$0E,$A5,$FC,$E2,$E1 .db $3B,$1D,$50,$94,$30,$F2,$0E,$40 .db $B6,$FD,$20,$5B,$94,$21,$E1,$BF .db $5C,$D0,$3D,$02,$10,$90,$CE,$CC .db $0D,$20,$0F,$3E,$0F,$04,$90,$3C .db $E1,$E0,$32,$60,$E4,$F1,$52,$94 .db $F5,$12,$DC,$4E,$F1,$1B,$4E,$03 .db $90,$F2,$3D,$E0,$F0,$DF,$44,$F0 .db $22,$90,$5F,$55,$11,$11,$04,$02 .db $40,$60,$94,$D4,$0C,$E2,$12,$C3 .db $0B,$30,$E4,$94,$EF,$0E,$22,$2D .db $E3,$2E,$F0,$0D,$94,$31,$F0,$F1 .db $23,$C1,$4D,$0D,$4D,$90,$FE,$0F .db $43,$31,$11,$2F,$0F,$12,$90,$22 .db $41,$22,$11,$C0,$40,$3D,$EF,$94 .db $0E,$EF,$5E,$2E,$E2,$F0,$22,$D2 .db $90,$FB,$31,$F0,$1E,$2F,$13,$45 .db $53,$94,$0F,$2F,$3D,$C3,$40,$FB .db $2D,$02,$94,$EF,$2E,$2D,$4F,$D0 .db $4F,$D2,$2F,$80,$26,$D0,$01,$1C .db $1E,$E2,$44,$4D,$90,$F3,$11,$FF .db $15,$E4,$12,$F1,$0E,$90,$32,$33 .db $FE,$2F,$00,$02,$F0,$C0,$90,$FF .db $1F,$EF,$02,$1C,$CF,$DF,$1D,$94 .db $D1,$20,$30,$1F,$2C,$4F,$0C,$4D .db $94,$20,$1F,$4D,$02,$D2,$00,$EE .db $10,$80,$DD,$CB,$D1,$EB,$4D,$F0 .db $D3,$2C,$84,$50,$FF,$A3,$6C,$D0 .db $EF,$5D,$6D,$94,$D4,$11,$2F,$C0 .db $3F,$12,$D3,$E3,$80,$53,$60,$42 .db $E1,$E5,$EA,$03,$16,$90,$EF,$0E .db $0D,$DC,$E0,$FF,$EF,$D0,$80,$35 .db $B0,$44,$10,$13,$EB,$20,$CF,$84 .db $E2,$F0,$A6,$C4,$6D,$C2,$E3,$24 .db $90,$32,$12,$33,$13,$10,$3F,$20 .db $CF,$84,$E1,$DE,$6B,$D1,$35,$CF .db $02,$FC,$80,$43,$24,$64,$45,$34 .db $57,$53,$05,$80,$24,$DC,$1F,$BB .db $DA,$CA,$C9,$DF,$80,$D1,$20,$02 .db $13,$E2,$15,$22,$0F,$84,$F0,$1A .db $5D,$1E,$E3,$F4,$DD,$11,$74,$D7 .db $04,$31,$12,$3E,$C5,$3F,$21,$80 .db $45,$64,$63,$F3,$2D,$4F,$F2,$E0 .db $80,$CD,$EE,$FE,$03,$D2,$2F,$03 .db $31,$80,$0F,$F0,$0C,$FF,$DE,$CD .db $B0,$BE,$80,$0B,$1E,$F0,$F1,$23 .db $F2,$44,$44,$80,$44,$F0,$52,$DF .db $10,$1E,$2F,$E3,$80,$21,$3F,$CD .db $0E,$D1,$21,$EF,$11,$80,$04,$E0 .db $31,$10,$00,$EB,$CE,$F0,$80,$23 .db $00,$D1,$DE,$44,$13,$03,$21,$80 .db $20,$11,$01,$DE,$0F,$FE,$CE,$2F .db $80,$00,$0C,$DD,$22,$EE,$FE,$12 .db $E0,$74,$DC,$71,$D3,$C4,$01,$40 .db $59,$10,$74,$B2,$23,$EF,$F3,$C3 .db $B4,$DD,$30,$70,$F3,$CD,$1A,$BB .db $C5,$24,$65,$12,$74,$F0,$04,$DE .db $12,$FD,$0D,$19,$60,$84,$1E,$D5 .db $0D,$31,$2C,$2F,$22,$E2,$74,$1D .db $D1,$A7,$4E,$0C,$D0,$4B,$22,$80 .db $F0,$0C,$0F,$F1,$0E,$EE,$2D,$2F .db $74,$3D,$21,$D3,$EF,$2E,$F2,$05 .db $9B,$70,$10,$0E,$FD,$F1,$BE,$64 .db $11,$F4,$74,$C2,$6C,$D1,$4E,$11 .db $F1,$E1,$C1,$70,$53,$D3,$51,$DA .db $BC,$EB,$D4,$FC,$64,$E4,$7F,$A4 .db $FF,$5C,$20,$1A,$30,$70,$1F,$F0 .db $FB,$FF,$29,$02,$F3,$52,$74,$2F .db $D2,$F2,$F3,$E5,$0D,$FE,$31,$74 .db $C3,$0C,$20,$3C,$B2,$3D,$2B,$F5 .db $74,$01,$0E,$FC,$13,$42,$A3,$3D .db $F0,$70,$23,$FF,$32,$03,$1E,$05 .db $33,$DE,$74,$42,$F0,$D0,$20,$0E .db $F0,$D3,$3D,$60,$BC,$92,$DB,$0F .db $ED,$20,$DE,$FF,$60,$12,$F0,$0D .db $65,$DB,$E6,$54,$46,$74,$2D,$22 .db $0E,$FF,$2C,$00,$F2,$2C,$60,$92 .db $DD,$EF,$03,$22,$CE,$0D,$F6,$70 .db $0F,$1C,$DE,$00,$0E,$F1,$00,$EF .db $60,$0F,$AD,$52,$FE,$13,$24,$50 .db $54,$64,$F2,$34,$B1,$B1,$D2,$00 .db $5B,$B5,$64,$A0,$11,$CF,$0D,$40 .db $7A,$21,$96,$64,$1E,$12,$00,$C4 .db $3E,$33,$D0,$F0,$64,$00,$F2,$C2 .db $0E,$E1,$31,$AD,$30,$64,$20,$E0 .db $3E,$21,$F1,$FF,$30,$E4,$64,$C3 .db $1E,$20,$D2,$00,$F0,$2C,$C5,$64 .db $EE,$03,$D2,$3D,$12,$C4,$D3,$3C .db $60,$00,$11,$AE,$00,$0F,$0E,$03 .db $0E,$50,$FD,$CF,$44,$22,$2C,$17 .db $2B,$2D,$60,$35,$F0,$10,$11,$2C .db $1E,$FD,$E2,$50,$20,$2C,$EE,$4B .db $2C,$E1,$05,$24,$54,$95,$3A,$35 .db $A3,$FC,$40,$B0,$41,$50,$EB,$F0 .db $FD,$1A,$FC,$0D,$0D,$1B,$50,$21 .db $DF,$00,$20,$54,$15,$31,$45,$64 .db $2E,$FE,$1E,$E2,$1E,$1F,$0E,$E5 .db $54,$CD,$50,$4F,$F1,$F2,$21,$F3 .db $A3,$50,$33,$F5,$20,$25,$34,$40 .db $32,$13,$54,$ED,$3F,$DF,$42,$FC .db $00,$4C,$C2,$50,$EF,$DD,$DD,$FE .db $FC,$10,$F0,$0F,$50,$21,$E4,$3F .db $FF,$1C,$00,$00,$23,$50,$20,$13 .db $42,$43,$4F,$0F,$11,$F1,$50,$3F .db $EC,$F1,$02,$DF,$0F,$FF,$FF,$50 .db $E2,$ED,$CC,$0F,$FD,$DE,$DD,$FF .db $44,$E7,$D0,$14,$DD,$6F,$14,$D4 .db $E1,$50,$45,$54,$00,$22,$10,$0F .db $F1,$1A,$44,$34,$5F,$CD,$0E,$50 .db $B2,$60,$A1,$44,$F3,$D1,$20,$FE .db $62,$2B,$D1,$13,$34,$D7,$C1,$2D .db $F0,$A7,$6F,$1A,$20,$44,$FF,$D1 .db $FF,$22,$F3,$D0,$12,$DE,$40,$E0 .db $F0,$FF,$13,$E2,$2C,$BC,$BF,$44 .db $20,$B1,$00,$F3,$E3,$5E,$C1,$3F .db $34,$0E,$02,$3F,$12,$B5,$2C,$2D .db $F3,$44,$EE,$2C,$31,$ED,$2E,$10 .db $20,$FE,$34,$4E,$20,$3E,$EE,$42 .db $E5,$2D,$DF,$30,$F3,$20,$35,$E1 .db $01,$D0,$0F,$EE,$20,$0E,$FF,$01 .db $11,$41,$C1,$DF,$32,$34,$4F,$FE .db $10,$C1,$F2,$00,$0D,$03,$34,$00 .db $0B,$2F,$3E,$11,$13,$F1,$E0,$24 .db $5F,$EE,$4C,$12,$F1,$0C,$41,$F0 .db $24,$FF,$B1,$2D,$10,$20,$E1,$D2 .db $1D,$20,$0E,$CD,$F1,$30,$FE,$F0 .db $43,$EF,$20,$0F,$05,$20,$11,$00 .db $04,$23,$30,$14,$5E,$0F,$F4,$0F .db $FC,$6F,$F0,$EA,$14,$F3,$7B,$A1 .db $50,$12,$1F,$1F,$E1,$14,$20,$F1 .db $20,$D0,$0B,$10,$3F,$00,$00,$EA .db $E0,$1B,$DB,$F0,$EE,$00,$1E,$00 .db $11,$24,$14,$32,$23,$40,$30,$0E .db $00,$CF,$0F,$00,$0F,$FE,$00,$00 .db $00,$00,$F0,$E0,$00,$10,$02,$20 .db $02,$11,$00,$00,$00,$00,$00,$0F .db $00,$00,$F0,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$0F,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$01,$00 .db $00,$00,$00,$00,$00,$00,$00,$02 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $96,$00,$00,$00,$04,$33,$33,$43 .db $43,$8E,$30,$20,$00,$1E,$0E,$DF .db $DD,$EE,$7E,$AE,$DF,$F0,$00,$10 .db $11,$20,$12,$7E,$11,$12,$12,$11 .db $33,$23,$24,$22,$8E,$12,$01,$01 .db $F0,$EF,$ED,$ED,$EE,$7F,$BD,$DF .db $F0,$00,$10,$11,$20,$12,$02,$00 .db $00,$00,$00,$00,$00,$00,$00,$C6 .db $41,$11,$10,$0F,$00,$00,$00,$00 .db $B6,$E0,$1C,$2A,$0F,$FF,$1D,$FF .db $FF,$A6,$DF,$CD,$0F,$0D,$FF,$E0 .db $0D,$00,$B6,$1E,$E4,$C0,$2D,$E4 .db $DD,$11,$EF,$A6,$1B,$E0,$FC,$01 .db $C0,$F1,$A2,$1A,$B6,$10,$1D,$3C .db $4C,$2F,$F1,$D2,$F0,$B6,$F1,$D2 .db $F0,$0F,$00,$01,$03,$3F,$A6,$35 .db $10,$52,$E0,$FD,$F5,$FF,$3F,$A6 .db $03,$F1,$D4,$DD,$4F,$01,$10,$1F .db $A6,$01,$1F,$40,$E3,$F3,$E3,$3E .db $31,$B6,$10,$11,$0F,$3E,$10,$E2 .db $F3,$A6,$A2,$27,$F5,$F2,$1C,$4D .db $1C,$1B,$FD,$A6,$3E,$F5,$B3,$1E .db $00,$FF,$F3,$EC,$B6,$3E,$F2,$E0 .db $00,$0F,$2F,$F5,$2F,$A6,$73,$F3 .db $41,$13,$BF,$12,$E0,$5E,$96,$25 .db $F0,$2C,$32,$D0,$07,$B4,$5C,$B6 .db $F2,$00,$2F,$10,$2E,$3E,$3E,$4F .db $B6,$02,$02,$D4,$F1,$F1,$F2,$E1 .db $1E,$B6,$0F,$10,$C4,$EF,$2E,$00 .db $F0,$01,$A2,$FD,$01,$DF,$2F,$E2 .db $CE,$EE,$BD,$A6,$2B,$03,$EA,$6E .db $E1,$1E,$13,$32,$A6,$62,$F3,$5F .db $21,$F0,$FE,$10,$01,$A6,$30,$C5 .db $C3,$D3,$C3,$E3,$E1,$1C,$A6,$4E .db $3D,$5E,$11,$2E,$31,$E4,$F3,$A6 .db $2F,$22,$13,$C4,$0D,$13,$D0,$1C .db $A2,$52,$2E,$FE,$FB,$2C,$CD,$BC .db $AE,$A6,$B3,$F0,$E3,$1B,$22,$CF .db $2D,$E0,$A6,$0F,$E2,$CF,$0F,$01 .db $E0,$F2,$5F,$A6,$51,$50,$22,$3F .db $12,$C1,$D3,$C5,$96,$0D,$21,$1C .db $3C,$10,$2F,$11,$92,$A6,$0F,$20 .db $01,$01,$10,$1F,$05,$E2,$A6,$03 .db $E4,$F3,$F0,$1C,$5D,$2D,$3B,$A6 .db $10,$C0,$E1,$E1,$1C,$10,$EF,$2E .db $A6,$FF,$10,$E2,$EF,$1F,$E2,$C2 .db $D1,$A6,$E0,$F0,$EE,$1E,$3B,$11 .db $F0,$22,$96,$56,$54,$26,$21,$4F .db $ED,$D0,$F2,$96,$E1,$2F,$F2,$EF .db $00,$4D,$3A,$2C,$92,$0D,$F0,$E2 .db $F5,$12,$01,$14,$43,$96,$4C,$32 .db $F2,$F1,$E0,$10,$C4,$DD,$A6,$1F .db $EF,$0F,$0F,$3B,$2F,$0F,$0F,$96 .db $00,$C4,$D2,$A1,$FE,$FD,$0F,$FB .db $96,$4D,$FB,$1F,$E1,$EE,$F1,$F0 .db $34,$96,$47,$54,$45,$26,$F3,$C0 .db $DE,$E1,$86,$FB,$6A,$6A,$1F,$F2 .db $F2,$D0,$AE,$86,$FD,$0D,$2F,$2F .db $4E,$E0,$05,$D2,$96,$2E,$02,$E2 .db $F0,$FF,$2C,$02,$0C,$96,$3C,$0E .db $F1,$D1,$EF,$00,$D1,$EE,$86,$C1 .db $FB,$0D,$DE,$C0,$DF,$AD,$3D,$96 .db $0D,$0D,$0D,$1E,$0F,$D1,$F1,$F4 .db $9E,$02,$01,$1F,$1F,$2E,$F0,$C4 .db $D2,$86,$E1,$EF,$F1,$0F,$30,$10 .db $F0,$C0,$96,$FD,$1E,$F0,$0F,$F1 .db $F0,$F1,$F1,$76,$1D,$2D,$0E,$1F .db $DE,$4E,$F6,$30,$86,$3C,$10,$F0 .db $1F,$FF,$F1,$B2,$BF,$86,$C1,$CE .db $0C,$0D,$FB,$2E,$BF,$2C,$86,$F2 .db $A0,$EE,$1C,$3C,$2F,$0E,$24,$96 .db $33,$65,$45,$24,$23,$1F,$DE,$DF .db $86,$CE,$DE,$D0,$EF,$3E,$F1,$EF .db $ED,$86,$EB,$FD,$B0,$DF,$0E,$EF .db $DF,$D1,$86,$FF,$DF,$FC,$2D,$2B .db $F0,$00,$10,$86,$01,$B3,$C1,$E0 .db $1C,$1D,$1E,$EF,$96,$EF,$F0,$FF .db $D1,$CF,$0F,$EF,$0F,$86,$1A,$1C .db $1B,$FE,$2D,$00,$02,$D2,$9E,$20 .db $30,$21,$D2,$02,$FE,$F0,$F0,$86 .db $DF,$FE,$FE,$3E,$2E,$5E,$21,$E0 .db $86,$F2,$C0,$C3,$B0,$2F,$1D,$0E .db $0E,$86,$20,$0F,$F0,$D3,$D1,$1C .db $1E,$21,$86,$00,$0D,$3D,$02,$12 .db $F0,$10,$FF,$86,$E0,$EC,$10,$B1 .db $C0,$F1,$EE,$00,$86,$0E,$0D,$0C .db $2D,$0F,$FF,$0F,$10,$AE,$01,$12 .db $E2,$00,$F1,$1E,$1E,$1E,$86,$DA .db $FC,$DE,$C1,$ED,$02,$FF,$1F,$86 .db $C1,$FF,$FD,$DE,$E0,$D0,$EC,$0F .db $76,$BF,$DE,$3A,$EE,$D4,$EF,$10 .db $F1,$86,$02,$0E,$1E,$4D,$22,$F0 .db $F0,$02,$86,$A3,$C2,$A2,$FC,$2E .db $FF,$3C,$2D,$86,$5C,$2D,$0E,$D0 .db $E3,$B1,$F0,$FF,$9E,$20,$24,$D4 .db $F0,$00,$2E,$FE,$1D,$86,$DA,$EC .db $EE,$B2,$EC,$12,$FF,$1F,$87,$C0 .db $0E,$FD,$EE,$E0,$D0,$EC,$F0,$02 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $C2,$00,$00,$00,$0C,$FC,$CC,$CF .db $40,$C6,$16,$D2,$1F,$10,$FD,$2F .db $D0,$0D,$C6,$0E,$1F,$01,$F2,$1F .db $2F,$4E,$12,$C6,$F2,$F0,$F1,$2F .db $1C,$4B,$4F,$0E,$C6,$E5,$0F,$C1 .db $11,$D1,$0C,$F2,$FD,$B6,$5A,$F0 .db $02,$11,$01,$04,$22,$6D,$C6,$E1 .db $40,$3F,$1F,$10,$01,$F0,$FF,$C6 .db $EF,$02,$A2,$01,$C0,$F0,$10,$1F .db $C2,$FE,$DE,$E0,$10,$CE,$E2,$03 .db $03,$C6,$E2,$F3,$E4,$0F,$3E,$1F .db $02,$F0,$B6,$0D,$FB,$16,$9F,$DE .db $A2,$2F,$0F,$B6,$0F,$E2,$1D,$6E .db $3E,$60,$50,$1C,$B6,$6E,$10,$EF .db $4F,$1C,$10,$BD,$4C,$B6,$EF,$FF .db $F3,$E1,$E3,$F2,$21,$D5,$B6,$E4 .db $01,$F0,$5F,$E3,$E1,$02,$EE,$A6 .db $2D,$1E,$BE,$1A,$D0,$E5,$A0,$2A .db $B6,$01,$FE,$5B,$3D,$3E,$22,$E5 .db $D3,$B6,$40,$02,$F2,$F4,$D5,$B3 .db $1E,$1E,$B6,$0F,$FD,$0A,$40,$B1 .db $DF,$0F,$1E,$A6,$04,$D2,$E5,$F2 .db $4F,$71,$6E,$50,$B6,$14,$C3,$10 .db $0F,$02,$D1,$F1,$D2,$B6,$DF,$F1 .db $EE,$2E,$D2,$E1,$0C,$2E,$B6,$0F .db $0F,$1F,$20,$04,$F3,$11,$F4,$B6 .db $3D,$3F,$03,$E2,$FF,$D0,$2B,$11 .db $B6,$D1,$E1,$F0,$E2,$E2,$F3,$0D .db $13,$A2,$E2,$D4,$DB,$2D,$ED,$EA .db $DB,$DD,$A6,$20,$D2,$6F,$5E,$20 .db $F4,$EF,$5F,$A6,$A4,$4A,$00,$ED .db $12,$DB,$1D,$E2,$B2,$DD,$EC,$EC .db $FD,$12,$D1,$01,$00,$A2,$30,$21 .db $61,$0F,$04,$E2,$F6,$C3,$A6,$94 .db $10,$F4,$EE,$02,$0E,$3F,$F7,$A2 .db $F4,$32,$1E,$1C,$6E,$FC,$EF,$CD .db $A6,$FD,$6D,$1E,$3E,$3C,$3E,$F1 .db $3D,$A6,$22,$D2,$01,$2D,$32,$E0 .db $30,$E0,$A2,$10,$21,$30,$0D,$40 .db $01,$FF,$FD,$A6,$F1,$11,$C1,$C2 .db $2D,$0E,$5B,$21,$A6,$D6,$3E,$F1 .db $13,$A6,$3F,$E2,$FD,$A2,$65,$26 .db $5D,$DC,$FD,$DA,$AE,$DA,$A2,$FD .db $0C,$5F,$00,$E2,$F5,$F1,$F0,$A2 .db $2D,$00,$11,$1C,$4F,$11,$43,$35 .db $A6,$B3,$2E,$00,$FC,$20,$E1,$C2 .db $0F,$A6,$B5,$FF,$40,$F6,$D0,$10 .db $13,$D0,$A2,$20,$31,$20,$32,$CF .db $EF,$E1,$00,$96,$20,$05,$BF,$6B .db $40,$C1,$12,$0D,$A6,$C3,$B1,$2F .db $E1,$C2,$02,$CE,$21,$A6,$11,$21 .db $5E,$3D,$54,$A2,$2C,$5A,$B2,$14 .db $02,$1E,$F0,$E1,$DE,$EE,$FD,$A6 .db $2E,$4E,$D4,$B3,$1C,$30,$F0,$14 .db $A6,$C0,$3F,$3E,$20,$2E,$7D,$22 .db $0D,$A6,$32,$EB,$2E,$EF,$1C,$ED .db $0F,$01,$A6,$D4,$F0,$3C,$42,$D3 .db $20,$0F,$E4,$A2,$22,$22,$31,$D3 .db $32,$50,$3F,$43,$A2,$65,$40,$00 .db $BF,$1C,$AB,$C0,$B2,$96,$B2,$4C .db $7D,$39,$14,$DA,$1F,$4C,$A2,$EC .db $2F,$F0,$21,$77,$54,$C3,$03,$96 .db $EF,$A0,$51,$A2,$EC,$04,$2E,$ED .db $A6,$5C,$1C,$5E,$B0,$5B,$23,$E4 .db $2D,$A6,$22,$4A,$24,$D5,$D2,$C2 .db $DE,$3D,$A6,$D5,$C2,$0C,$40,$D1 .db $1E,$B2,$F3,$A6,$F1,$D1,$FC,$22 .db $4E,$2F,$24,$11,$A6,$5B,$23,$FC .db $4D,$3D,$1D,$D1,$1F,$A6,$D0,$0E .db $E1,$D6,$EF,$02,$A7,$F1,$A6,$5E .db $1F,$E1,$01,$0C,$4E,$F1,$E2,$A6 .db $00,$FE,$3C,$22,$14,$B0,$5C,$5C .db $92,$7E,$24,$ED,$B9,$AE,$BF,$C0 .db $CE,$92,$41,$14,$F3,$4E,$FE,$34 .db $E0,$F0,$A6,$2E,$11,$E0,$10,$C2 .db $F0,$0D,$2F,$92,$C2,$DF,$AE,$2D .db $65,$54,$53,$62,$A6,$2F,$3D,$5D .db $FE,$11,$D0,$20,$E0,$A6,$21,$E3 .db $CF,$00,$E1,$FE,$4F,$E1,$A2,$EE .db $E0,$D4,$01,$1E,$13,$21,$33,$A6 .db $F0,$22,$C7,$DE,$21,$F0,$1B,$20 .db $A6,$FD,$1C,$F3,$E1,$2E,$2C,$20 .db $2B,$92,$31,$0D,$C2,$FF,$0D,$01 .db $F4,$14,$A6,$11,$00,$11,$2E,$0E .db $3B,$22,$ED,$A6,$F0,$0D,$2E,$10 .db $D4,$0E,$F4,$EF,$A2,$0F,$E3,$02 .db $12,$26,$04,$03,$11,$A6,$0E,$1E .db $01,$E1,$D0,$03,$EE,$20,$96,$1F .db $6F,$3B,$61,$03,$E1,$4A,$24,$A6 .db $0F,$E6,$E1,$DE,$F1,$2D,$01,$FD .db $A6,$1E,$12,$EE,$0C,$6E,$1F,$00 .db $F2,$A6,$F4,$3F,$F0,$F3,$4F,$FF .db $1D,$3B,$A2,$52,$24,$01,$20,$12 .db $D1,$E0,$AC,$A6,$02,$F3,$FD,$0E .db $03,$00,$20,$0B,$92,$F2,$B3,$43 .db $5D,$11,$14,$33,$FE,$92,$13,$41 .db $2D,$54,$B5,$FF,$67,$36,$A6,$F0 .db $00,$0D,$FF,$FF,$02,$ED,$3E,$92 .db $ED,$21,$F5,$4F,$FB,$F6,$14,$01 .db $A2,$11,$50,$0F,$41,$1E,$F5,$02 .db $23,$96,$2F,$1D,$B6,$FD,$CF,$6C .db $DC,$20,$A6,$0E,$23,$0D,$1F,$02 .db $10,$1D,$3D,$A6,$12,$1E,$2C,$20 .db $4D,$01,$F3,$E1,$96,$2D,$11,$11 .db $0C,$B5,$C3,$2C,$C5,$A2,$DE,$10 .db $1A,$CD,$CD,$ED,$CF,$DE,$A6,$3F .db $D2,$C3,$F2,$E3,$01,$F4,$F0,$96 .db $1B,$7B,$31,$A3,$20,$FC,$3D,$DE .db $A6,$3D,$3D,$E2,$F1,$D4,$EF,$F3 .db $F2,$A6,$01,$E2,$F1,$13,$EE,$22 .db $F0,$01,$92,$4B,$5C,$00,$A1,$1B .db $CE,$FB,$FE,$A2,$00,$FF,$D2,$F1 .db $C1,$12,$01,$13,$96,$E0,$FF,$E3 .db $1F,$E5,$D4,$0F,$F0,$A6,$0F,$F1 .db $F0,$E0,$EE,$2E,$2E,$F4,$A6,$F2 .db $F0,$E3,$12,$E0,$31,$4F,$F1,$A2 .db $54,$30,$31,$E0,$FF,$1E,$EC,$10 .db $A6,$1D,$1F,$2D,$E0,$1F,$2D,$2D .db $4F,$A6,$1F,$30,$03,$E1,$30,$FE .db $4F,$EE,$A6,$11,$00,$D2,$E0,$03 .db $CF,$01,$EE,$A6,$3E,$1D,$50,$1C .db $01,$50,$E2,$E4,$A6,$E1,$0E,$3E .db $E1,$F1,$00,$D0,$2F,$A2,$E1,$0E .db $40,$EF,$32,$00,$F1,$F0,$96,$AD .db $5E,$30,$D2,$E2,$4C,$5E,$10,$A6 .db $00,$02,$C3,$E0,$10,$11,$F1,$2E .db $A6,$F0,$0E,$00,$EF,$21,$C0,$21 .db $E2,$A6,$C4,$D5,$F1,$F0,$04,$1F .db $FF,$00,$A2,$03,$22,$11,$0C,$FF .db $FF,$DF,$F0,$92,$F2,$D1,$E0,$AF .db $D0,$F3,$BF,$0E,$96,$30,$50,$C2 .db $F4,$D1,$31,$F2,$D2,$A2,$E2,$20 .db $DD,$EC,$C0,$DC,$FD,$D0,$96,$EF .db $15,$B2,$FF,$21,$11,$F0,$5F,$96 .db $00,$E0,$20,$E0,$2E,$2E,$C1,$C0 .db $96,$E0,$E4,$D0,$0F,$6F,$1C,$42 .db $D3,$92,$54,$31,$2F,$1F,$40,$01 .db $13,$F4,$92,$12,$02,$22,$01,$F6 .db $FE,$1D,$0E,$A6,$E1,$2E,$0F,$0F .db $11,$1E,$0D,$40,$96,$22,$F3,$C2 .db $60,$E0,$21,$C1,$2B,$92,$20,$CE .db $FD,$CD,$3E,$0F,$00,$21,$96,$1D .db $20,$EE,$5D,$F3,$E0,$FC,$F6,$A6 .db $E0,$11,$0F,$13,$F2,$E3,$D1,$1E .db $92,$04,$33,$E1,$FF,$EF,$C0,$EE .db $ED,$96,$F1,$95,$F2,$B2,$F0,$5E .db $17,$FD,$92,$43,$66,$5F,$61,$0D .db $00,$FF,$F0,$92,$C0,$F0,$E0,$31 .db $2E,$B1,$ED,$FE,$96,$FD,$11,$02 .db $13,$C0,$02,$02,$2E,$96,$03,$C5 .db $E2,$C0,$1C,$40,$E1,$1D,$96,$D2 .db $C5,$1D,$2E,$E0,$01,$13,$3E,$92 .db $10,$53,$53,$53,$F2,$20,$1B,$2C .db $92,$0C,$FF,$21,$F6,$24,$F1,$F1 .db $F0,$96,$11,$BF,$4C,$0E,$DF,$4E .db $32,$01,$96,$1F,$20,$00,$F5,$02 .db $A1,$E2,$12,$96,$10,$DE,$F3,$FA .db $3B,$F3,$3E,$2E,$92,$E1,$FE,$12 .db $F2,$23,$5C,$21,$E0,$92,$E1,$21 .db $3D,$21,$24,$3D,$10,$F1,$96,$3E .db $B1,$2B,$03,$FE,$31,$F2,$E1,$86 .db $35,$0B,$12,$BF,$01,$D4,$1A,$27 .db $96,$00,$2D,$5D,$D1,$F3,$EF,$F0 .db $1D,$86,$1E,$0E,$3C,$E6,$A1,$2B .db $33,$F5,$96,$04,$EE,$31,$D4,$01 .db $10,$F3,$C4,$96,$1F,$FE,$1E,$F2 .db $C0,$1B,$3D,$E4,$96,$94,$00,$0F .db $02,$E2,$F3,$E1,$2E,$96,$E3,$00 .db $30,$E2,$32,$4D,$D3,$F0,$92,$03 .db $00,$EC,$FD,$CE,$EE,$FD,$DF,$92 .db $CF,$D0,$EE,$CF,$F0,$1C,$FD,$F1 .db $96,$E0,$22,$C0,$23,$E1,$F0,$F3 .db $2E,$92,$34,$33,$02,$21,$1F,$2F .db $4E,$F0,$96,$EE,$00,$E2,$FF,$F1 .db $F0,$E4,$01,$96,$5C,$F2,$3F,$21 .db $1E,$F0,$F1,$5B,$86,$FE,$01,$DC .db $22,$2D,$B3,$1C,$E0,$92,$FF,$1D .db $FE,$01,$25,$F0,$11,$10,$92,$0F .db $0F,$FD,$50,$22,$10,$04,$30,$82 .db $23,$DE,$CB,$2D,$C2,$EB,$E3,$BF .db $86,$32,$CE,$1B,$61,$0C,$2E,$1F .db $24,$86,$01,$30,$E2,$4D,$F0,$D2 .db $EC,$00,$92,$CF,$F0,$DE,$FE,$01 .db $ED,$1F,$20,$82,$CA,$E2,$CE,$20 .db $FE,$21,$41,$4D,$86,$F4,$F4,$00 .db $04,$B5,$C4,$BE,$4D,$86,$40,$EB .db $2B,$6F,$C0,$0F,$40,$0F,$82,$1E .db $F0,$01,$0F,$FF,$F1,$55,$F1,$82 .db $EE,$42,$1A,$EE,$02,$E3,$01,$05 .db $86,$F0,$2F,$04,$B1,$D1,$DE,$4D .db $F1,$86,$2C,$0F,$C5,$FE,$13,$01 .db $3E,$22,$86,$2F,$15,$DD,$D6,$0D .db $C1,$EE,$E3,$86,$0B,$5F,$10,$10 .db $2C,$32,$0E,$E2,$82,$20,$1E,$C1 .db $C0,$23,$22,$21,$41,$86,$20,$CD .db $4F,$12,$E1,$C1,$31,$C1,$82,$31 .db $2F,$24,$00,$10,$BB,$CB,$BC,$82 .db $02,$20,$CD,$00,$51,$E1,$12,$D2 .db $86,$0C,$4B,$13,$1F,$00,$2F,$F6 .db $C1,$76,$EC,$E0,$40,$E9,$56,$C3 .db $C6,$A1,$86,$11,$0C,$F4,$DF,$FE .db $31,$C1,$31,$76,$FF,$5D,$57,$1F .db $EA,$7B,$1E,$F5,$86,$C1,$2C,$E0 .db $F1,$25,$D0,$E3,$02,$76,$2B,$CD .db $6D,$F5,$BA,$3F,$B4,$4E,$86,$D3 .db $01,$1F,$F0,$E0,$4E,$5E,$04,$86 .db $1F,$11,$B3,$3F,$E0,$0E,$B0,$01 .db $86,$C2,$C5,$D3,$E0,$F0,$13,$FE .db $13,$72,$65,$42,$51,$03,$24,$04 .db $2D,$33,$76,$12,$E4,$DD,$40,$4A .db $F3,$C0,$2D,$76,$DC,$04,$DF,$C4 .db $0F,$11,$FE,$14,$76,$02,$1E,$41 .db $14,$1D,$ED,$61,$D0,$86,$22,$C0 .db $0F,$1F,$E1,$E2,$FF,$02,$72,$CE .db $0F,$1F,$0D,$DD,$1C,$E0,$30,$86 .db $F2,$F2,$1E,$10,$0F,$20,$00,$3E .db $86,$E0,$D2,$E1,$1F,$FE,$1F,$E2 .db $2F,$76,$20,$3B,$55,$D1,$DE,$00 .db $30,$22,$72,$3F,$11,$33,$55,$03 .db $1F,$20,$50,$86,$01,$C0,$1E,$2F .db $0F,$1F,$12,$1E,$72,$44,$EF,$21 .db $FF,$2E,$13,$02,$63,$76,$1F,$00 .db $4F,$2D,$EF,$00,$F2,$0D,$76,$DE .db $11,$D0,$1C,$33,$0F,$F3,$20,$76 .db $F1,$E2,$D3,$04,$2E,$10,$20,$FF .db $76,$E2,$EF,$31,$B1,$ED,$1F,$FF .db $2E,$76,$11,$E3,$E1,$1F,$14,$2F .db $E4,$EE,$62,$10,$EA,$30,$E4,$3F .db $13,$46,$51,$72,$F2,$12,$E1,$0F .db $F4,$E2,$01,$EE,$72,$10,$EF,$DC .db $BD,$AD,$0E,$00,$C2,$76,$02,$D3 .db $1E,$23,$F0,$01,$E2,$EB,$76,$F0 .db $E2,$1E,$3B,$21,$3F,$E1,$F0,$66 .db $5F,$E2,$10,$5B,$FB,$41,$10,$22 .db $66,$2C,$E0,$F4,$FE,$22,$0C,$3D .db $1D,$62,$CF,$9D,$C3,$AC,$CF,$FD .db $AE,$E1,$76,$4E,$C3,$F2,$F1,$F0 .db $1F,$13,$BF,$62,$0B,$BE,$EE,$FE .db $1E,$40,$22,$11,$66,$F1,$42,$11 .db $BA,$3E,$E2,$D3,$DF,$62,$EB,$1D .db $04,$74,$FF,$3F,$C4,$B1,$66,$F0 .db $20,$4D,$00,$0F,$11,$3D,$B3,$62 .db $2F,$EF,$05,$CE,$EE,$CF,$EE,$FF .db $62,$ED,$24,$E3,$62,$11,$E0,$D1 .db $DF,$52,$D1,$76,$D1,$1F,$EE,$6D .db $E0,$62,$62,$10,$F0,$52,$44,$2E .db $02,$DE,$BE,$56,$0C,$40,$DF,$B3 .db $32,$50,$D0,$33,$66,$3F,$13,$C2 .db $F0,$0F,$F0,$D1,$C4,$66,$D2,$01 .db $02,$E0,$EC,$32,$0C,$F2,$66,$2F .db $3E,$F3,$E0,$22,$1F,$D4,$D4,$66 .db $4D,$D1,$0E,$03,$00,$EF,$00,$E2 .db $66,$1F,$D0,$50,$CF,$C5,$E1,$0D .db $1D,$66,$22,$01,$F2,$1E,$40,$F3 .db $0F,$2F,$62,$54,$31,$24,$F0,$0F .db $12,$11,$12,$66,$E0,$1E,$4E,$FD .db $E1,$FE,$0F,$F0,$66,$40,$F3,$10 .db $2E,$03,$00,$32,$E0,$56,$F2,$B0 .db $4C,$F0,$3B,$0E,$0C,$1F,$62,$CC .db $DD,$22,$0F,$DC,$EF,$0F,$0F,$56 .db $3E,$12,$E6,$CE,$13,$20,$F5,$FD .db $56,$3D,$11,$C2,$3C,$DF,$3D,$2E .db $EF,$66,$E4,$F1,$02,$E0,$01,$00 .db $F1,$F1,$52,$FF,$EF,$E6,$31,$FF .db $F5,$55,$32,$52,$36,$55,$3C,$30 .db $EA,$EE,$C9,$AA,$56,$1F,$30,$33 .db $FF,$D0,$43,$EF,$F1,$56,$1E,$11 .db $E2,$0C,$31,$40,$EE,$03,$56,$E1 .db $FB,$1E,$30,$DF,$22,$FB,$F6,$56 .db $B3,$21,$41,$C2,$0F,$F3,$F0,$FF .db $56,$1F,$F4,$0E,$E0,$03,$10,$F3 .db $DF,$56,$3F,$E1,$EC,$41,$1C,$02 .db $D0,$11,$66,$F2,$F0,$14,$D0,$FF .db $03,$D0,$E1,$56,$21,$0F,$2F,$2C .db $21,$14,$F3,$A2,$52,$43,$0F,$1B .db $03,$11,$10,$0E,$E1,$52,$DD,$03 .db $24,$0F,$FF,$D1,$1F,$FC,$56,$22 .db $F0,$1D,$3C,$01,$44,$D1,$10,$46 .db $1F,$BD,$3B,$45,$DE,$06,$0D,$0E .db $52,$E0,$00,$43,$ED,$CC,$CF,$DF .db $ED,$52,$31,$01,$01,$10,$01,$25 .db $54,$43,$52,$54,$01,$1E,$32,$FE .db $01,$10,$DF,$56,$D1,$21,$32,$CE .db $0E,$21,$D1,$0E,$56,$30,$00,$2F .db $00,$E2,$41,$F2,$C2,$56,$1F,$0D .db $0C,$42,$D0,$00,$0F,$F2,$56,$E0 .db $12,$32,$BE,$0F,$F4,$FE,$0F,$46 .db $50,$01,$10,$1F,$D6,$34,$11,$D0 .db $56,$10,$EF,$0D,$41,$DF,$00,$0E .db $F1,$46,$D3,$11,$73,$BD,$FE,$13 .db $FF,$D0,$46,$61,$B2,$02,$F0,$F4 .db $33,$F3,$A4,$46,$31,$BE,$EA,$63 .db $CE,$F2,$EC,$03,$46,$D3,$20,$56 .db $9E,$EF,$13,$D0,$FD,$46,$50,$20 .db $F1,$FF,$D5,$22,$21,$A3,$56,$20 .db $EF,$FD,$41,$E0,$00,$0E,$12,$46 .db $C0,$30,$74,$9C,$ED,$14,$DE,$1B .db $52,$01,$00,$11,$10,$F0,$34,$33 .db $13,$46,$12,$BE,$FB,$62,$CF,$10 .db $FC,$13,$56,$E2,$10,$33,$CE,$FF .db $11,$FF,$0F,$46,$42,$E1,$01,$0F .db $F3,$33,$02,$B3,$46,$40,$DD,$F9 .db $71,$DD,$11,$FA,$24,$46,$C1,$41 .db $64,$AC,$FE,$04,$DE,$0D,$46,$61 .db $F1,$10,$FF,$F4,$24,$11,$C3,$56 .db $10,$EF,$0D,$31,$EF,$00,$FE,$02 .db $56,$E1,$20,$33,$CE,$0F,$02,$FF .db $0E,$46,$72,$E0,$10,$1E,$E4,$34 .db $E2,$C2,$56,$20,$EF,$FD,$41,$EF .db $00,$0E,$01,$56,$E2,$11,$32,$DE .db $FF,$03,$EF,$0F,$46,$51,$E2,$00 .db $0F,$E5,$23,$01,$D2,$56,$20,$DF .db $0D,$40,$FE,$10,$0D,$11,$46,$D2 .db $31,$65,$9C,$FE,$04,$EE,$0D,$46 .db $61,$E1,$10,$0F,$E5,$32,$01,$C3 .db $56,$2F,$EF,$FD,$41,$EF,$01,$FE .db $02,$56,$E1,$20,$42,$CF,$FF,$02 .db $FF,$0E,$46,$61,$F0,$10,$0F,$E5 .db $32,$01,$C3,$56,$2F,$EF,$0D,$31 .db $EF,$10,$FE,$11,$46,$C3,$31,$65 .db $AC,$EE,$05,$DE,$FD,$46,$61,$E1 .db $10,$0F,$E4,$33,$01,$C3,$56,$20 .db $DF,$0D,$40,$FE,$10,$0D,$11,$46 .db $D2,$31,$75,$9C,$EE,$05,$DE,$FD .db $46,$61,$F0,$10,$0F,$F4,$33,$F2 .db $B3,$56,$20,$DF,$0D,$40,$FE,$10 .db $0E,$02,$46,$B2,$41,$65,$9C,$FE .db $04,$DF,$FD,$46,$61,$E1,$00,$1F .db $E4,$33,$01,$C3,$56,$2F,$EF,$0D .db $40,$EF,$10,$0D,$11,$46,$D2,$31 .db $65,$AB,$FE,$05,$DE,$FD,$46,$61 .db $F0,$10,$0F,$E5,$32,$02,$B3,$56 .db $20,$DF,$0D,$40,$FE,$10,$0E,$01 .db $46,$D2,$41,$65,$9C,$FE,$04,$DF .db $FD,$46,$61,$E1,$00,$0F,$F4,$33 .db $01,$C3,$57,$2F,$EF,$0C,$41,$EF .db $10,$FE,$11,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$94,$0F,$00,$E0 .db $E1,$3C,$0F,$F0,$FC,$94,$00,$FD .db $EF,$ED,$CE,$2D,$BF,$D0,$A4,$EE .db $2D,$F0,$F1,$E1,$E0,$2C,$30,$B4 .db $F2,$0E,$21,$0E,$23,$FD,$22,$4E .db $B4,$C1,$11,$11,$11,$31,$13,$FF .db $01,$8C,$C5,$12,$11,$12,$01,$11 .db $11,$10,$6C,$62,$33,$13,$21,$21 .db $10,$10,$0F,$8C,$00,$0F,$1E,$1F .db $F0,$0F,$EF,$3D,$94,$EC,$B0,$FD .db $DE,$CB,$DD,$D0,$0D,$9C,$FE,$13 .db $DE,$01,$0C,$10,$0F,$1E,$84,$DE .db $DA,$0E,$F2,$30,$AC,$31,$EE,$74 .db $11,$A1,$70,$E1,$E0,$64,$33,$32 .db $84,$11,$22,$21,$13,$53,$10,$04 .db $43,$8C,$2F,$F0,$20,$22,$E3,$F0 .db $12,$0E,$8C,$23,$2F,$F0,$13,$00 .db $11,$00,$13,$8C,$2F,$F0,$02,$02 .db $02,$1F,$11,$F0,$74,$52,$65,$24 .db $35,$6F,$24,$44,$04,$64,$24,$32 .db $41,$23,$20,$43,$FD,$0F,$7C,$2F .db $F1,$D1,$21,$DD,$1F,$11,$20,$74 .db $DB,$BB,$AC,$EA,$EE,$CD,$CB,$EA .db $8C,$F0,$1F,$0F,$FF,$E2,$F0,$F1 .db $EE,$7C,$0D,$F2,$D1,$EF,$DE,$E0 .db $B4,$0C,$7C,$FF,$0C,$FF,$0D,$1F .db $FE,$E2,$C2,$74,$AC,$CE,$FC,$CE .db $DD,$FF,$ED,$FE,$64,$BB,$EB,$EF .db $DE,$0F,$FF,$2F,$E4,$64,$F1,$FD .db $00,$14,$61,$0B,$15,$22,$6C,$3C .db $14,$FF,$3F,$14,$C3,$0F,$5C,$64 .db $33,$34,$41,$51,$52,$45,$F1,$33 .db $64,$32,$E0,$24,$3E,$36,$01,$04 .db $04,$64,$50,$31,$53,$15,$20,$44 .db $52,$02,$64,$55,$52,$F3,$15,$22 .db $24,$41,$00,$64,$13,$01,$11,$44 .db $0F,$51,$01,$20,$64,$43,$02,$21 .db $31,$F3,$14,$33,$3F,$64,$26,$2E .db $17,$51,$51,$3F,$45,$52,$64,$32 .db $41,$52,$24,$12,$33,$33,$32,$5C .db $E5,$D3,$11,$5B,$13,$2E,$20,$1E .db $54,$23,$CF,$20,$F1,$EF,$10,$EC .db $E2,$54,$13,$CD,$B4,$2F,$0F,$E3 .db $EF,$ED,$44,$20,$C3,$0B,$DE,$20 .db $DC,$D2,$11,$44,$CC,$2D,$FC,$0E .db $C1,$32,$F2,$DE,$44,$F1,$E0,$3F .db $00,$03,$30,$45,$34,$5C,$11,$EF .db $32,$01,$D3,$11,$01,$2F,$4C,$F2 .db $4D,$41,$14,$F2,$E3,$21,$B2,$44 .db $52,$23,$E0,$EE,$FF,$FF,$FB,$CD .db $4C,$EF,$EF,$10,$DE,$D0,$FB,$0F .db $DF,$5C,$F0,$EE,$F0,$FD,$00,$D1 .db $C0,$FF,$5C,$D0,$DF,$F0,$DF,$FE .db $E0,$EF,$FE,$4C,$DE,$CF,$CD,$0D .db $EC,$DF,$FF,$BD,$4C,$1B,$0C,$1D .db $EE,$EF,$0E,$EF,$FE,$3C,$D1,$DD .db $1C,$0D,$1B,$21,$DF,$FF,$34,$03 .db $10,$2F,$26,$34,$36,$54,$67,$3C .db $E2,$11,$10,$04,$01,$12,$03,$01 .db $2C,$33,$23,$44,$34,$F4,$42,$43 .db $05,$3C,$12,$F5,$12,$E4,$20,$12 .db $12,$02,$2C,$05,$22,$24,$21,$42 .db $12,$5E,$25,$3C,$11,$00,$31,$01 .db $01,$12,$00,$10,$2C,$40,$12,$02 .db $00,$32,$01,$02,$01,$1C,$05,$10 .db $20,$21,$21,$10,$04,$10,$14,$32 .db $32,$32,$21,$31,$42,$32,$22,$04 .db $25,$63,$55,$33,$55,$63,$43,$14 .db $04,$24,$24,$33,$22,$42,$24,$33 .db $22,$04,$01,$10,$00,$00,$00,$0E .db $0D,$DF,$04,$DE,$EF,$EB,$DC,$EC .db $CC,$DC,$DC,$04,$AC,$CC,$CC,$BD .db $CB,$CD,$CD,$CD,$04,$DD,$DD,$DD .db $DD,$EE,$EE,$DE,$ED,$04,$FE,$EF .db $FF,$FF,$F0,$FF,$FF,$FF,$04,$FF .db $00,$00,$00,$00,$00,$00,$0F,$04 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$BB,$CC,$CD,$DD,$EE,$EF,$FF .db $FF,$01,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$A4,$00,$00,$01,$F0 .db $00,$00,$F2,$41,$A4,$C2,$12,$ED .db $35,$BF,$03,$F2,$EF,$94,$2D,$12 .db $3E,$ED,$1F,$D3,$B0,$DF,$9C,$FF .db $1C,$DE,$DE,$14,$00,$1F,$F1,$9C .db $02,$F1,$01,$00,$22,$2F,$20,$F1 .db $8C,$23,$14,$12,$F2,$11,$D0,$31 .db $20,$7C,$FF,$00,$01,$CF,$EE,$E3 .db $0D,$00,$8C,$FD,$D0,$E0,$10,$FE .db $FE,$C0,$0F,$8C,$02,$0E,$0F,$ED .db $FE,$04,$33,$12,$8C,$00,$E0,$00 .db $EF,$CF,$FF,$10,$02,$8C,$02,$32 .db $01,$F0,$12,$32,$20,$33,$7C,$32 .db $31,$1E,$E0,$21,$F1,$30,$00,$8C .db $FF,$F1,$D0,$00,$DE,$EE,$FE,$10 .db $8C,$E0,$DD,$CE,$DF,$FF,$0F,$FF .db $FF,$8C,$02,$12,$22,$EF,$FE,$02 .db $14,$23,$8C,$23,$21,$20,$22,$01 .db $1F,$F1,$10,$74,$34,$33,$32,$FD .db $DD,$E0,$21,$23,$8C,$FF,$0F,$0F .db $0F,$FE,$ED,$FF,$0F,$7C,$CF,$FF .db $EE,$DE,$E1,$C2,$F2,$01,$64,$21 .db $0E,$EB,$CF,$0A,$AB,$BB,$06,$8C .db $22,$23,$22,$30,$21,$01,$02,$10 .db $8C,$11,$01,$31,$12,$0F,$F0,$0E .db $E1,$7C,$FF,$FF,$0E,$0F,$EE,$0D .db $ED,$EE,$7C,$EE,$0E,$F1,$EE,$F1 .db $EF,$DD,$DE,$7C,$E1,$FD,$0F,$D0 .db $F2,$12,$10,$32,$7C,$12,$22,$12 .db $F2,$30,$01,$00,$1F,$7C,$02,$33 .db $45,$23,$35,$03,$20,$33,$8C,$00 .db $00,$FF,$01,$0E,$0F,$ED,$FE,$7C .db $BC,$FF,$CD,$ED,$FE,$FE,$DE,$EC .db $7C,$EE,$EE,$F1,$13,$F3,$32,$21 .db $2F,$7C,$20,$12,$21,$32,$41,$21 .db $31,$32,$7C,$23,$22,$22,$0F,$10 .db $01,$0F,$EF,$7C,$FE,$EF,$FD,$F1 .db $10,$F1,$E0,$0F,$7C,$10,$00,$FE .db $FE,$0D,$FF,$ED,$FD,$6C,$0B,$DD .db $FD,$DC,$D2,$0F,$10,$30,$7C,$0F .db $2E,$0F,$01,$11,$2F,$41,$22,$7C .db $33,$41,$43,$30,$12,$12,$13,$12 .db $6C,$15,$2F,$E1,$0F,$F1,$DC,$CE .db $CD,$7C,$EF,$DE,$D0,$DE,$EF,$FF .db $0D,$0E,$6C,$CD,$ED,$FE,$FF,$ED .db $11,$41,$02,$7C,$10,$E1,$F2,$0F .db $21,$01,$34,$23,$7C,$24,$11,$01 .db $1E,$01,$11,$10,$3F,$5C,$5E,$24 .db $41,$22,$20,$D0,$E0,$12,$7C,$02 .db $00,$FE,$EF,$ED,$DF,$CE,$DE,$7C .db $DD,$DF,$FF,$F0,$F0,$F0,$1F,$20 .db $6C,$00,$20,$01,$00,$13,$12,$13 .db $33,$6C,$44,$52,$22,$20,$00,$12 .db $24,$13,$6C,$43,$23,$13,$11,$11 .db $00,$F0,$FE,$6C,$EF,$DE,$EE,$0C .db $ED,$FD,$0E,$FF,$6C,$0F,$F0,$10 .db $E0,$FD,$DD,$DD,$CC,$6C,$CC,$CD .db $EE,$00,$11,$11,$11,$42,$6C,$42 .db $43,$32,$43,$34,$13,$04,$23,$7C .db $12,$22,$23,$11,$10,$F1,$E1,$E0 .db $6C,$FE,$EE,$EF,$FE,$FE,$EE,$ED .db $DD,$6C,$CD,$EC,$CD,$ED,$DF,$FD .db $EE,$EF,$5C,$F1,$21,$12,$41,$33 .db $24,$22,$32,$5C,$23,$2F,$2F,$20 .db $32,$33,$32,$33,$6C,$22,$34,$22 .db $22,$2F,$1F,$1F,$01,$5C,$12,$12 .db $14,$11,$32,$E0,$DD,$DE,$6C,$E0 .db $EF,$EE,$EC,$FC,$DD,$DC,$ED,$6C .db $DE,$DD,$FE,$EF,$0F,$10,$00,$11 .db $6C,$12,$21,$23,$22,$32,$13,$13 .db $33,$5C,$24,$33,$45,$33,$43,$32 .db $11,$21,$6C,$11,$1F,$00,$F0,$0F .db $FF,$0D,$ED,$6C,$EE,$CE,$EC,$FE .db $DF,$FE,$EE,$FF,$5C,$FE,$1F,$01 .db $1F,$EF,$FF,$FF,$EF,$6C,$EF,$FF .db $0F,$01,$11,$22,$13,$22,$6C,$31 .db $43,$42,$33,$22,$22,$12,$21,$4C .db $10,$01,$1C,$00,$00,$10,$0D,$CC .db $6C,$FE,$FF,$EF,$ED,$ED,$FE,$F0 .db $FE,$5C,$EC,$DD,$EC,$DC,$DF,$DE .db $0D,$00,$6C,$F0,$01,$02,$21,$30 .db $32,$21,$21,$5C,$03,$22,$10,$F0 .db $F1,$12,$32,$32,$5C,$33,$33,$12 .db $43,$51,$11,$20,$01,$5C,$FF,$FE .db $EF,$CD,$BD,$CF,$DD,$DD,$6C,$EE .db $EE,$EE,$EE,$0D,$EE,$EE,$EE,$5C .db $D0,$0E,$03,$03,$23,$22,$43,$43 .db $6C,$22,$12,$21,$12,$22,$33,$22 .db $32,$5C,$61,$23,$11,$0F,$FE,$EF .db $DF,$DF,$5C,$00,$D0,$0E,$EE,$DF .db $DE,$DF,$DE,$5C,$0C,$FD,$ED,$EF .db $EE,$EF,$EF,$FE,$4C,$0E,$01,$32 .db $22,$10,$EF,$FE,$EF,$5C,$1E,$1F .db $01,$00,$31,$24,$33,$54,$5C,$44 .db $33,$54,$41,$32,$13,$02,$02,$5C .db $11,$10,$0F,$EE,$EE,$ED,$DE,$CD .db $6C,$DF,$EE,$EF,$EF,$EF,$E0,$D0 .db $E0,$4C,$CE,$DD,$E0,$0F,$E0,$F0 .db $03,$24,$5C,$22,$34,$22,$43,$43 .db $33,$23,$32,$5C,$22,$13,$22,$12 .db $00,$00,$F0,$F0,$4C,$10,$32,$12 .db $33,$01,$10,$F0,$EC,$5C,$EE,$FD .db $ED,$EE,$CD,$DD,$DE,$DE,$5C,$CE .db $EE,$DF,$EE,$FE,$F0,$E1,$00,$5C .db $10,$21,$21,$22,$23,$33,$42,$32 .db $5C,$23,$33,$32,$32,$13,$21,$21 .db $10,$4C,$20,$01,$1E,$0D,$ED,$DB .db $CC,$BD,$5C,$DE,$EE,$DF,$FD,$0E .db $FE,$F1,$E0,$5C,$F0,$F0,$FF,$EE .db $FF,$EF,$EF,$FE,$4C,$00,$F2,$F2 .db $32,$52,$41,$31,$10,$5C,$10,$12 .db $11,$22,$33,$33,$42,$33,$5C,$33 .db $23,$21,$30,$11,$10,$01,$E1,$5C .db $EE,$ED,$DD,$EC,$EC,$DC,$EC,$ED .db $5C,$DD,$DD,$DE,$DE,$FE,$0F,$0F .db $11,$4C,$13,$33,$53,$43,$32,$43 .db $22,$22,$4C,$33,$33,$43,$45,$44 .db $53,$33,$30,$3C,$50,$10,$FD,$DE .db $DD,$FF,$CD,$00,$3C,$FF,$11,$00 .db $00,$ED,$0C,$EE,$FF,$5C,$FE,$0D .db $FE,$EF,$EE,$EE,$ED,$ED,$4C,$DD .db $DD,$FF,$EF,$F0,$20,$13,$23,$5C .db $23,$22,$33,$23,$23,$22,$33,$23 .db $4C,$43,$23,$33,$22,$02,$00,$2F .db $00,$5C,$0F,$0F,$FF,$FE,$DF,$DE .db $DE,$FC,$4C,$EC,$CD,$CD,$EE,$ED .db $FE,$0E,$FF,$3C,$FE,$0F,$01,$11 .db $30,$11,$2F,$20,$4C,$10,$10,$11 .db $12,$23,$32,$32,$53,$4C,$33,$33 .db $33,$32,$24,$14,$13,$22,$4C,$11 .db $21,$02,$F0,$EF,$DE,$DC,$CC,$5C .db $EE,$EE,$DD,$FD,$FD,$EF,$EE,$EF .db $4C,$D0,$D0,$0F,$0F,$20,$02,$12 .db $22,$4C,$33,$32,$33,$33,$42,$43 .db $23,$12,$3C,$41,$32,$22,$24,$23 .db $12,$13,$11,$3C,$20,$00,$F1,$0D .db $0F,$FD,$EE,$DD,$4C,$E0,$DF,$EF .db $FF,$FF,$0E,$FE,$EF,$4C,$CF,$CD .db $CE,$BC,$DD,$CE,$EE,$FF,$4C,$0F .db $11,$11,$21,$32,$43,$34,$34,$5C .db $32,$23,$23,$22,$22,$11,$21,$01 .db $4C,$10,$0F,$0F,$FF,$EE,$EF,$CF .db $DE,$4C,$DE,$ED,$DF,$CF,$DE,$EC .db $FC,$FE,$4C,$DF,$EF,$D0,$EF,$00 .db $F3,$02,$21,$3C,$33,$32,$11,$41 .db $13,$F2,$01,$20,$4C,$10,$11,$10 .db $21,$12,$12,$22,$13,$4C,$22,$22 .db $12,$21,$21,$20,$20,$10,$4C,$0F .db $FF,$EE,$EE,$CE,$CE,$CD,$CD,$4C .db $CE,$DC,$FD,$ED,$EE,$FE,$FF,$0F .db $3C,$01,$01,$23,$14,$24,$25,$34 .db $45,$4C,$23,$23,$32,$33,$22,$23 .db $11,$21,$2C,$13,$3D,$2E,$00,$1F .db $EF,$EF,$D0,$3C,$FF,$E0,$DF,$DE .db $DF,$CF,$DE,$DE,$3C,$EE,$ED,$EC .db $ED,$CD,$DC,$DD,$DD,$3C,$DD,$FE .db $FE,$FF,$0E,$10,$F1,$12,$4C,$12 .db $21,$41,$32,$42,$33,$32,$42,$4C .db $22,$31,$31,$11,$20,$00,$00,$F0 .db $4C,$E0,$EF,$FE,$EE,$FD,$EE,$EE .db $EE,$3C,$CD,$EC,$FD,$DF,$EF,$D0 .db $FE,$0F,$2C,$CE,$00,$E0,$1F,$40 .db $31,$53,$44,$3C,$22,$12,$12,$20 .db $23,$02,$12,$13,$3C,$02,$20,$22 .db $12,$22,$32,$34,$22,$3C,$52,$21 .db $12,$10,$0F,$FE,$EE,$CE,$4C,$EE .db $FD,$FD,$FD,$ED,$EE,$DE,$ED,$3C .db $DD,$CE,$EE,$0F,$F2,$02,$22,$32 .db $3C,$24,$14,$23,$34,$32,$53,$34 .db $33,$3C,$42,$33,$32,$23,$21,$11 .db $10,$00,$3C,$0E,$0E,$EE,$FE,$DF .db $ED,$FE,$EF,$3C,$FE,$FF,$0F,$D0 .db $EF,$FF,$FF,$E0,$2C,$BD,$EC,$DD .db $DD,$DD,$ED,$FD,$E0,$3C,$F0,$00 .db $10,$00,$20,$13,$12,$23,$3C,$34 .db $34,$44,$33,$33,$33,$20,$40,$3C .db $30,$21,$00,$2F,$00,$0F,$FE,$EE .db $3C,$FC,$ED,$EC,$CE,$DC,$ED,$ED .db $EF,$2C,$AD,$CE,$C0,$B0,$F0,$E0 .db $20,$11,$2C,$12,$21,$22,$21,$22 .db $22,$33,$33,$2C,$51,$53,$32,$51 .db $42,$32,$13,$23,$2C,$11,$22,$13 .db $20,$22,$10,$10,$2D,$3C,$00,$FF .db $0E,$E0,$EE,$FD,$EE,$DE,$3C,$DE .db $DD,$EE,$DE,$DF,$EF,$D0,$E0,$3C .db $F0,$01,$01,$20,$22,$22,$22,$23 .db $3C,$22,$31,$41,$23,$12,$21,$20 .db $30,$1C,$24,$13,$03,$0E,$11,$FD .db $0E,$DF,$2C,$EF,$DE,$FD,$EC,$EC .db $EE,$B0,$DE,$2C,$E0,$D0,$E0,$FD .db $1D,$0E,$EF,$FE,$2C,$F0,$DF,$FF .db $F0,$00,$F0,$F1,$F1,$2C,$11,$22 .db $14,$14,$34,$34,$43,$54,$3C,$22 .db $21,$30,$31,$12,$10,$2F,$10,$2C .db $1E,$FE,$FD,$ED,$EB,$ED,$DC,$CD .db $2C,$CD,$CC,$DC,$CD,$DC,$EE,$EE .db $EF,$2C,$E1,$E1,$F1,$01,$13,$12 .db $23,$13,$2C,$24,$12,$22,$22,$12 .db $22,$12,$21,$1C,$51,$32,$50,$22 .db $12,$10,$01,$10,$1C,$F0,$10,$0F .db $00,$E0,$0E,$DF,$FD,$2C,$FE,$EE .db $FE,$EE,$FD,$DE,$DF,$CF,$2C,$DE .db $DE,$E0,$C1,$FF,$F0,$1F,$02,$2C .db $F2,$10,$30,$32,$23,$24,$34,$23 .db $2C,$33,$32,$31,$22,$11,$20,$01 .db $00,$1C,$0F,$0F,$0E,$0E,$EF,$DD .db $EF,$BF,$2C,$DF,$EF,$ED,$0D,$EE .db $FE,$FE,$FE,$1C,$0D,$FC,$2D,$F0 .db $F0,$01,$0F,$10,$1C,$01,$20,$11 .db $02,$11,$31,$14,$22,$1C,$31,$43 .db $41,$53,$34,$34,$33,$53,$1C,$33 .db $32,$13,$0F,$01,$FE,$0D,$FD,$2C .db $EF,$EE,$EE,$DF,$DE,$EE,$EF,$DF .db $1C,$EC,$FC,$EE,$FE,$D0,$00,$F0 .db $10,$1C,$21,$21,$22,$14,$12,$33 .db $33,$23,$1C,$23,$33,$13,$22,$21 .db $30,$11,$10,$0C,$12,$01,$0E,$3F .db $1F,$FE,$0F,$EF,$0C,$01,$C0,$EE .db $FE,$D0,$DF,$CE,$DC,$2C,$FF,$E0 .db $D0,$FF,$D0,$FF,$FE,$0F,$1C,$EE .db $00,$E0,$00,$10,$11,$21,$23,$1C .db $14,$23,$34,$25,$32,$42,$33,$14 .db $1C,$13,$03,$02,$01,$00,$00,$FF .db $0D,$1C,$FF,$DE,$E0,$CE,$DF,$CF .db $DE,$FD,$0C,$DC,$FB,$D0,$C0,$C0 .db $EF,$FE,$00,$0C,$F0,$02,$01,$22 .db $12,$20,$13,$11,$0C,$22,$20,$11 .db $13,$01,$21,$23,$13,$1C,$03,$01 .db $11,$02,$10,$21,$11,$01,$1C,$01 .db $00,$F0,$00,$FF,$0D,$F0,$EE,$1C .db $FD,$EF,$DF,$DF,$DE,$FE,$FE,$0F .db $0C,$FF,$00,$10,$00,$01,$12,$02 .db $03,$1C,$03,$F3,$03,$11,$22,$13 .db $02,$20,$0C,$42,$13,$11,$11,$02 .db $0F,$0F,$00,$0C,$FF,$0F,$0D,$00 .db $0F,$0F,$00,$E0,$0C,$F0,$C0,$0D .db $00,$F0,$EF,$0C,$00,$0C,$D0,$D0 .db $F0,$DF,$FF,$E0,$00,$00,$0C,$0F .db $02,$02,$13,$21,$22,$42,$42,$0C .db $23,$31,$22,$30,$21,$21,$12,$00 .db $0C,$10,$00,$00,$D0,$F0,$C0,$EE .db $0C,$0C,$0C,$FE,$DE,$FD,$0E,$E0 .db $FF,$0D,$14,$DD,$ED,$FF,$00,$01 .db $13,$13,$33,$14,$34,$32,$43,$24 .db $22,$33,$22,$21,$04,$34,$34,$33 .db $23,$33,$24,$33,$43,$04,$54,$44 .db $34,$52,$42,$22,$11,$00,$0C,$F0 .db $F0,$FF,$0F,$FE,$DF,$F0,$CF,$0C .db $EF,$FD,$0E,$0E,$F0,$0F,$00,$00 .db $0C,$10,$01,$01,$00,$12,$01,$11 .db $02,$0C,$11,$11,$11,$01,$10,$00 .db $10,$00,$04,$20,$10,$00,$FF,$DE .db $EC,$CD,$BC,$04,$DB,$BB,$BB,$CC .db $CC,$DE,$DF,$EF,$04,$EF,$FF,$FF .db $00,$0F,$F0,$F0,$FF,$04,$0F,$F0 .db $F0,$F0,$00,$00,$00,$02,$04,$12 .db $12,$33,$44,$45,$45,$55,$55,$04 .db $44,$44,$34,$32,$22,$00,$00,$00 .db $04,$EE,$EF,$DD,$DD,$DD,$CD,$CC .db $CC,$04,$CD,$DC,$CD,$DD,$EE,$EF .db $FF,$0F,$04,$00,$00,$11,$12,$22 .db $12,$03,$22,$04,$12,$12,$11,$01 .db $21,$11,$11,$01,$04,$10,$00,$00 .db $00,$00,$00,$00,$00,$04,$00,$00 .db $00,$00,$00,$00,$00,$00,$04,$EF .db $EF,$EF,$EF,$EF,$FE,$EE,$EE,$04 .db $FF,$FF,$F0,$F0,$00,$00,$00,$11 .db $04,$10,$11,$11,$22,$12,$12,$11 .db $10,$04,$11,$11,$11,$00,$00,$00 .db $00,$00,$10,$43,$32,$21,$00,$00 .db $FF,$EE,$EE,$00,$BA,$AA,$AA,$AB .db $BB,$BB,$BC,$CC,$00,$CC,$DD,$DD .db $DD,$DE,$EE,$EE,$EE,$00,$EE,$EE .db $EF,$FF,$FF,$00,$00,$00,$00,$11 .db $22,$23,$33,$44,$44,$45,$55,$00 .db $54,$44,$44,$33,$32,$22,$11,$00 .db $00,$00,$0F,$FF,$FE,$EE,$EE,$ED .db $DD,$00,$DD,$EE,$EE,$EE,$EF,$FF .db $FF,$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,$01,$00 .db $00,$00,$00,$00,$00,$00,$00,$02 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $A6,$C0,$00,$01,$11,$0F,$0F,$EF .db $00,$7E,$24,$43,$DE,$DE,$ED,$B3 .db $1F,$EF,$96,$FF,$CC,$22,$42,$11 .db $0E,$F0,$E1,$A6,$1D,$E0,$EE,$00 .db $24,$42,$22,$00,$9E,$EF,$1F,$FE .db $01,$02,$12,$30,$DE,$9E,$FF,$DC .db $33,$F2,$21,$01,$EF,$22,$96,$21 .db $2F,$CC,$AB,$E1,$21,$66,$0E,$A6 .db $21,$0F,$F1,$1E,$BC,$FD,$EF,$00 .db $96,$21,$14,$34,$40,$DE,$CB,$EF .db $F2,$96,$31,$45,$22,$2F,$EE,$E1 .db $54,$46,$96,$31,$EE,$DF,$FF,$F0 .db $10,$00,$10,$96,$FF,$E0,$DC,$E1 .db $21,$23,$56,$0D,$8E,$0E,$BF,$11 .db $41,$13,$FF,$14,$FF,$86,$31,$11 .db $ED,$BE,$03,$3F,$23,$F0,$96,$01 .db $33,$31,$1F,$CC,$DD,$E0,$23,$9E .db $2F,$0F,$1E,$00,$F2,$1F,$D2,$20 .db $9E,$13,$0E,$0E,$E0,$0E,$02,$1D .db $11,$96,$11,$14,$30,$01,$BD,$FE .db $D2,$20,$96,$01,$CE,$10,$05,$51 .db $21,$EF,$1E,$A6,$02,$10,$44,$21 .db $2F,$F0,$FD,$F1,$AE,$10,$01,$2D .db $2F,$0F,$FD,$D2,$1F,$A6,$FF,$0F .db $00,$F1,$43,$24,$30,$01,$AE,$01 .db $01,$F0,$1F,$F1,$0F,$E2,$DE,$A6 .db $CF,$CE,$FE,$FF,$FF,$14,$55,$31 .db $B6,$FF,$ED,$EF,$01,$11,$33,$11 .db $11,$A6,$11,$00,$00,$0B,$AE,$0D .db $C1,$0E,$BE,$01,$E1,$00,$00,$00 .db $02,$3E,$F1,$AE,$D3,$FF,$21,$F2 .db $FE,$BD,$40,$F5,$B6,$2F,$04,$0B .db $F0,$EF,$15,$1E,$43,$B6,$DC,$0E .db $E2,$22,$D0,$33,$DD,$14,$B6,$0E .db $43,$E0,$EE,$ED,$01,$01,$01,$B6 .db $43,$FD,$FE,$EF,$12,$52,$33,$1F .db $AE,$11,$00,$03,$0E,$F0,$1F,$EF .db $1D,$9E,$12,$F0,$1F,$1F,$FF,$0F .db $10,$F1,$A6,$0F,$00,$00,$00,$25 .db $12,$35,$25,$B6,$ED,$42,$03,$20 .db $11,$00,$BB,$0F,$B6,$13,$C0,$1E .db $F0,$14,$21,$32,$F0,$B6,$00,$0F .db $02,$1F,$0F,$DD,$3F,$B0,$B6,$0E .db $15,$12,$1F,$11,$FE,$0E,$E3,$B6 .db $0C,$D0,$2D,$D2,$1B,$00,$F2,$2B .db $B6,$04,$3F,$04,$0F,$10,$F1,$BC .db $1F,$B6,$EF,$10,$00,$01,$52,$12 .db $20,$00,$AE,$00,$1F,$12,$F0,$F0 .db $0F,$F0,$DE,$B6,$02,$CE,$1E,$F0 .db $02,$0F,$61,$21,$B6,$0F,$EB,$EF .db $EF,$02,$01,$45,$12,$B6,$10,$00 .db $00,$00,$00,$1D,$C0,$1D,$B6,$E1 .db $FF,$00,$00,$14,$22,$30,$01,$B6 .db $0F,$00,$0F,$12,$CD,$1F,$C0,$FF .db $B6,$F1,$45,$12,$00,$1F,$F0,$00 .db $F0,$B6,$0C,$F4,$CD,$33,$DC,$44 .db $BD,$31,$B6,$C1,$6F,$13,$0E,$F1 .db $DA,$00,$DF,$B6,$20,$00,$1F,$03 .db $51,$12,$10,$01,$AE,$D1,$01,$F2 .db $1F,$F0,$FE,$1E,$E3,$B6,$FE,$01 .db $FF,$3F,$E3,$E3,$30,$11,$BE,$FC .db $10,$02,$0D,$3F,$10,$32,$D0,$B6 .db $10,$00,$01,$F0,$FD,$C0,$FF,$F0 .db $BE,$00,$F1,$0F,$12,$2E,$02,$E0 .db $00,$A6,$F0,$00,$EF,$CA,$FC,$DF .db $FF,$00,$B6,$05,$41,$30,$F0,$00 .db $0F,$00,$DC,$B6,$41,$A1,$5D,$C2 .db $31,$CF,$4E,$92,$B6,$12,$32,$20 .db $F2,$0E,$DC,$FD,$D0,$BE,$10,$F0 .db $1F,$23,$E0,$FF,$10,$00,$A6,$00 .db $0F,$01,$20,$FF,$DC,$CB,$0C,$B6 .db $03,$C0,$0E,$F1,$2E,$35,$00,$2F .db $BE,$D0,$1F,$10,$10,$00,$23,$0E .db $00,$B6,$FF,$00,$00,$00,$0F,$CF .db $FE,$F0,$B6,$F0,$0F,$01,$04,$51 .db $11,$00,$10,$A6,$F0,$0F,$0F,$A9 .db $0C,$DF,$FF,$00,$B6,$35,$22,$20 .db $0E,$F0,$0B,$F4,$EC,$B2,$C1,$0C .db $CB,$D0,$CB,$01,$CB,$E1,$B6,$02 .db $3F,$F0,$00,$0D,$B0,$FC,$F1,$BE .db $0F,$00,$02,$2F,$01,$EE,$21,$E1 .db $A6,$00,$00,$0F,$21,$CE,$EB,$DC .db $0D,$B6,$E0,$F0,$13,$D1,$61,$11 .db $1F,$FC,$BE,$01,$00,$10,$1E,$14 .db $2D,$01,$FF,$B6,$FF,$00,$0F,$0F .db $0B,$F0,$FF,$F0,$BE,$F1,$F1,$0F .db $42,$D1,$0E,$10,$F1,$B6,$00,$00 .db $FD,$CF,$0E,$0F,$00,$03,$B6,$52 .db $12,$1F,$0F,$EC,$22,$ED,$E2,$B6 .db $30,$D0,$4F,$B1,$40,$AF,$10,$1D .db $C6,$14,$00,$01,$0F,$FE,$0F,$EF .db $01,$BE,$EE,$30,$03,$1D,$20,$EF .db $01,$1F,$A6,$F1,$00,$0F,$01,$ED .db $DD,$DD,$ED,$B6,$FF,$10,$F1,$6E .db $E6,$1F,$21,$FC,$B6,$CE,$EE,$1F .db $01,$10,$55,$13,$10,$B6,$0F,$F0 .db $0F,$00,$DC,$FF,$F1,$0F,$B6,$0F .db $00,$00,$44,$22,$10,$00,$00,$B6 .db $00,$00,$EC,$DF,$F0,$0F,$00,$03 .db $B6,$51,$22,$10,$0E,$D2,$0E,$CF .db $4E,$B6,$B2,$50,$B2,$4E,$C0,$EE .db $F0,$F4,$BE,$2D,$00,$0F,$F1,$EE .db $1F,$10,$01,$BE,$00,$2E,$23,$FF .db $1F,$FF,$10,$00,$B6,$01,$00,$F0 .db $FE,$10,$BF,$0E,$F0,$BE,$F0,$00 .db $1F,$04,$2C,$11,$EF,$D0,$B6,$EE .db $FF,$00,$00,$15,$52,$31,$10,$B6 .db $FF,$F0,$F0,$0F,$CD,$FF,$10,$0F .db $B6,$0F,$00,$01,$53,$13,$00,$00 .db $00,$B6,$00,$0F,$CD,$3D,$D2,$FE .db $00,$44,$B6,$12,$20,$FC,$01,$00 .db $C3,$1D,$CF,$B6,$21,$D1,$21,$CF .db $04,$FC,$0E,$25,$B6,$11,$23,$FF .db $00,$BD,$EF,$FF,$FF,$AE,$20,$3F .db $52,$E0,$0F,$EE,$20,$01,$A6,$00 .db $00,$EF,$1F,$CE,$EC,$DD,$EE,$B6 .db $F0,$00,$01,$53,$22,$0F,$FC,$DE .db $B6,$EE,$00,$F0,$02,$65,$22,$10 .db $00,$B6,$E0,$0F,$FF,$0E,$CF,$00 .db $0F,$00,$B6,$FF,$00,$04,$42,$22 .db $00,$00,$00,$B6,$1F,$00,$EC,$DF .db $F0,$0F,$04,$41,$B6,$22,$FC,$13 .db $F0,$10,$FF,$BE,$4C,$B6,$E2,$EF .db $0F,$F6,$2C,$F0,$EF,$33,$A6,$57 .db $1F,$0F,$F9,$AF,$FC,$CE,$FF,$BE .db $11,$F2,$3E,$00,$00,$E0,$10,$00 .db $A6,$00,$00,$FE,$EF,$FD,$CC,$FD .db $E2,$B6,$3D,$F1,$33,$22,$10,$0F .db $EB,$EE,$B6,$EF,$00,$F0,$27,$32 .db $21,$00,$00,$B6,$E0,$FF,$E0,$FC .db $F0,$0F,$0F,$00,$B6,$FF,$00,$15 .db $31,$32,$F0,$10,$00,$B6,$00,$0E .db $CF,$2B,$01,$EF,$02,$52,$B6,$0F .db $22,$F1,$1E,$10,$A0,$2B,$D1,$B6 .db $E0,$1F,$F6,$3E,$EF,$EE,$F1,$63 .db $B6,$11,$10,$00,$EC,$0F,$DE,$FF .db $00,$B6,$11,$24,$42,$22,$1F,$F0 .db $00,$00,$A6,$00,$0F,$DF,$3E,$AC .db $FB,$D2,$2B,$BE,$20,$F0,$42,$E0 .db $0F,$FE,$D3,$0F,$B6,$F0,$F0,$01 .db $55,$23,$11,$00,$FF,$A6,$FF,$ED .db $DF,$AC,$01,$EF,$0F,$EF,$BE,$00 .db $01,$13,$E0,$1F,$F1,$F1,$F1,$B6 .db $0D,$D3,$FB,$F1,$FE,$01,$53,$12 .db $B6,$10,$00,$F1,$1F,$E0,$FB,$DF .db $F0,$B6,$F0,$00,$34,$0C,$FF,$DF .db $13,$41,$B6,$21,$00,$0F,$C0,$EC .db $FF,$0F,$01,$AE,$1F,$53,$EF,$2D .db $D1,$10,$00,$10,$A6,$00,$F0,$1F .db $AB,$FB,$C0,$EE,$0F,$B6,$00,$04 .db $51,$21,$F0,$DB,$EF,$EF,$B6,$0F .db $01,$06,$52,$22,$00,$FF,$00,$A6 .db $FF,$ED,$FD,$A1,$FD,$FF,$E0,$FF .db $B6,$00,$01,$53,$22,$01,$00,$01 .db $00,$B6,$0F,$FC,$DF,$0E,$00,$44 .db $12,$20,$BE,$00,$01,$FF,$1F,$1C .db $F3,$0F,$10,$C6,$00,$01,$2F,$F0 .db $FF,$0F,$41,$11,$B6,$00,$00,$CF .db $EC,$FF,$F0,$01,$10,$B6,$14,$52 .db $21,$F0,$00,$01,$00,$00,$AE,$00 .db $0E,$D2,$1C,$21,$E0,$1F,$10,$B6 .db $04,$51,$11,$00,$FB,$DF,$EE,$00 .db $B6,$00,$15,$51,$32,$00,$FF,$00 .db $0F,$A6,$FE,$FE,$CE,$FD,$DE,$FF .db $0F,$F0,$B6,$00,$14,$41,$12,$01 .db $00,$01,$00,$B6,$F0,$FD,$D0,$EF .db $00,$53,$12,$F0,$B6,$20,$00,$F0 .db $FF,$BD,$F0,$FF,$0F,$B6,$14,$21 .db $2C,$DF,$DE,$06,$22,$22,$B6,$00 .db $00,$DE,$ED,$EF,$0F,$02,$10,$B6 .db $14,$42,$21,$F0,$00,$10,$10,$00 .db $AF,$F1,$0E,$D2,$0D,$21,$D2,$F0 .db $1F,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$94,$01,$10,$12,$40,$11 .db $FF,$10,$CD,$A4,$CC,$16,$6B,$F6 .db $3B,$03,$FD,$CB,$B4,$FF,$F4,$1C .db $31,$2E,$3E,$10,$0E,$B4,$FE,$01 .db $DF,$0F,$E1,$0C,$0E,$EE,$A4,$4B .db $22,$23,$44,$F7,$F3,$A2,$1F,$B4 .db $01,$01,$01,$03,$32,$10,$3F,$EE .db $B4,$51,$31,$02,$F0,$0F,$E0,$2E .db $F2,$B4,$F1,$F2,$0E,$03,$E0,$FB .db $C3,$DF,$B4,$FF,$13,$FF,$30,$21 .db $2F,$31,$C3,$B4,$EF,$4F,$F1,$0D .db $FF,$DF,$02,$00,$B4,$E3,$0F,$01 .db $F1,$0C,$F2,$F1,$0E,$B4,$F1,$DF .db $0E,$21,$DF,$10,$C2,$2F,$B0,$CC .db $ED,$F2,$20,$05,$2F,$05,$52,$B4 .db $61,$FF,$30,$ED,$31,$ED,$40,$FF .db $A0,$52,$42,$1F,$FF,$3C,$23,$63 .db $20,$B4,$EE,$21,$B1,$20,$AE,$2F .db $E1,$0F,$94,$15,$E4,$D9,$05,$05 .db $0F,$74,$3E,$B4,$30,$02,$51,$E4 .db $00,$11,$2F,$E1,$B4,$1D,$3F,$1F .db $0D,$3C,$01,$D1,$0F,$B4,$F2,$0F .db $C0,$14,$A4,$0E,$D2,$D3,$B0,$A1 .db $1E,$DF,$E1,$54,$23,$12,$1F,$B0 .db $24,$EB,$DD,$CE,$2F,$0F,$00,$E3 .db $A4,$2F,$DF,$1C,$61,$00,$10,$EF .db $31,$A4,$C2,$FE,$D4,$FE,$01,$FE .db $F0,$2F,$B4,$D1,$EC,$5F,$D2,$0C .db $4D,$02,$00,$B4,$0E,$E2,$00,$02 .db $EF,$D5,$1D,$30,$B0,$0B,$14,$0D .db $51,$2C,$24,$02,$40,$B4,$95,$39 .db $40,$0F,$F4,$1E,$21,$EC,$C0,$14 .db $FF,$13,$0E,$22,$21,$22,$FF,$C0 .db $42,$00,$31,$F2,$32,$12,$30,$F4 .db $C0,$10,$14,$1F,$03,$0F,$24,$2F .db $33,$B0,$FF,$33,$C0,$11,$EF,$11 .db $9F,$0B,$C0,$D1,$0E,$F0,$0E,$04 .db $1F,$33,$10,$B4,$7F,$B5,$2C,$E4 .db $E1,$A5,$0E,$F3,$C4,$0D,$10,$EF .db $30,$FE,$10,$FC,$31,$B4,$A2,$5A .db $22,$F1,$C4,$E6,$A6,$EC,$A0,$D5 .db $A1,$25,$CD,$50,$1F,$6E,$D1,$B0 .db $5F,$11,$4F,$D2,$10,$12,$4C,$36 .db $B0,$F2,$66,$12,$24,$41,$34,$C5 .db $3D,$B0,$00,$2F,$B2,$1C,$F4,$FA .db $46,$EF,$B0,$14,$EC,$13,$1E,$12 .db $D1,$41,$F1,$B0,$20,$01,$E2,$10 .db $FA,$30,$CD,$2C,$B0,$BF,$EA,$DC .db $2E,$91,$3C,$B0,$1A,$B4,$02,$3D .db $D6,$F9,$53,$0F,$F1,$1C,$B4,$10 .db $34,$DF,$13,$0F,$31,$EE,$12,$C0 .db $12,$42,$2F,$33,$30,$43,$20,$22 .db $B0,$23,$43,$D3,$6E,$14,$00,$12 .db $EE,$C4,$3F,$EE,$4F,$E0,$1F,$FF .db $1D,$21,$B4,$FD,$F7,$FE,$12,$EE .db $04,$D2,$5F,$B0,$2F,$06,$EF,$02 .db $CF,$DF,$D0,$12,$B0,$03,$41,$10 .db $0E,$E0,$C1,$10,$0F,$C0,$20,$12 .db $10,$00,$0C,$EF,$10,$F1,$B4,$3E .db $F1,$0A,$11,$DF,$41,$0F,$5C,$B0 .db $03,$40,$30,$3A,$D0,$EC,$12,$EF .db $B4,$5B,$E1,$2F,$A1,$5F,$B3,$5A .db $05,$B4,$1C,$05,$0A,$15,$A2,$13 .db $D4,$30,$B4,$F0,$2F,$C2,$4C,$10 .db $2D,$03,$1E,$B0,$FF,$1F,$D0,$2D .db $13,$DE,$51,$0E,$B4,$E0,$ED,$6C .db $E4,$1D,$04,$D1,$A4,$C0,$ED,$C1 .db $CD,$F1,$E0,$32,$0F,$1F,$C0,$EE .db $2E,$F1,$3F,$04,$30,$11,$2E,$C0 .db $F1,$0D,$22,$FF,$41,$11,$11,$EF .db $B0,$2E,$D5,$0F,$D6,$F0,$E2,$0B .db $C3,$B0,$BE,$12,$EF,$64,$3F,$62 .db $EE,$61,$B4,$D4,$3E,$D5,$1F,$D0 .db $3D,$B3,$1F,$B4,$F3,$1F,$13,$E0 .db $C4,$AE,$03,$E6,$B4,$D3,$D1,$1F .db $F0,$2B,$E2,$2C,$6C,$B0,$1E,$10 .db $1E,$1F,$BE,$DD,$D3,$02,$B4,$14 .db $FE,$4F,$FE,$1E,$0F,$21,$02,$B0 .db $24,$44,$04,$F1,$DE,$01,$1F,$41 .db $B0,$0E,$42,$3D,$01,$CD,$0F,$D2 .db $12,$A0,$D7,$45,$F5,$DB,$ED,$01 .db $EE,$0A,$B4,$3F,$1D,$3E,$CF,$40 .db $F3,$0C,$0F,$B4,$4C,$0F,$2B,$12 .db $11,$0F,$1E,$3F,$B4,$D0,$2F,$D4 .db $04,$D5,$D1,$E5,$B1,$B0,$04,$0F .db $15,$13,$61,$50,$43,$4D,$B0,$51 .db $FF,$2E,$F5,$3F,$13,$0D,$F2,$B4 .db $CE,$31,$C0,$5E,$C0,$21,$C2,$F0 .db $B4,$C4,$A5,$E3,$F0,$02,$FE,$40 .db $FD,$B0,$10,$2F,$53,$23,$34,$33 .db $24,$F2,$B4,$01,$01,$02,$EF,$3E .db $FF,$3C,$4C,$B0,$02,$3E,$42,$01 .db $30,$FF,$22,$E1,$B0,$61,$13,$20 .db $1F,$1E,$BD,$FE,$D3,$B0,$1E,$E1 .db $0F,$04,$EA,$F1,$BD,$3F,$C4,$F0 .db $1F,$FF,$4C,$F2,$1D,$03,$1E,$B0 .db $AE,$FF,$F5,$CC,$02,$EE,$13,$01 .db $B4,$3E,$04,$1E,$C2,$3E,$F3,$1D .db $E3,$B4,$1E,$40,$EC,$30,$0F,$40 .db $FD,$21,$B0,$F3,$11,$DF,$FF,$C0 .db $F1,$CD,$D0,$B4,$0D,$2F,$EF,$3D .db $4D,$4D,$F0,$4D,$B4,$00,$FD,$3D .db $4E,$3F,$F0,$20,$21,$B0,$01,$00 .db $F3,$F3,$43,$E1,$34,$10,$B0,$3E .db $CF,$4D,$F5,$1A,$E2,$51,$F4,$B0 .db $FD,$F2,$D0,$21,$D0,$43,$12,$40 .db $B0,$CF,$20,$F5,$1C,$F5,$20,$25 .db $2D,$B0,$FF,$1D,$61,$FE,$41,$FF .db $3E,$AE,$B0,$EC,$D1,$CC,$D1,$EC .db $E3,$CC,$EF,$B4,$F2,$FF,$1F,$3F .db $B2,$3B,$F2,$3D,$B0,$E2,$0C,$16 .db $2E,$55,$0F,$33,$E4,$B4,$3B,$C6 .db $2E,$D3,$FF,$D3,$0F,$5C,$B0,$FF .db $10,$02,$20,$0F,$0C,$E4,$1F,$B0 .db $06,$41,$25,$3F,$21,$EF,$31,$DF .db $B0,$42,$F3,$40,$E0,$0D,$E2,$1D .db $F5,$B4,$DC,$41,$CF,$1F,$D2,$2F .db $A3,$6C,$B4,$D4,$2D,$D1,$1C,$32 .db $1B,$35,$0B,$B0,$23,$2B,$E0,$DF .db $32,$C0,$32,$23,$B0,$34,$E0,$FF .db $03,$1F,$13,$13,$33,$B0,$0F,$FE .db $C0,$2E,$DF,$1F,$E0,$42,$A4,$BE .db $DE,$6D,$4F,$E1,$40,$F0,$31,$B0 .db $DB,$0F,$DF,$0D,$F0,$10,$12,$1E .db $B4,$01,$0F,$13,$D0,$24,$BF,$21 .db $BE,$B0,$F3,$EC,$20,$CF,$41,$F1 .db $3D,$DF,$B0,$40,$01,$21,$23,$31 .db $31,$ED,$F2,$B0,$10,$11,$F0,$43 .db $14,$21,$FF,$23,$B4,$D4,$0F,$02 .db $E0,$0D,$0F,$01,$F1,$B4,$2C,$20 .db $1D,$30,$EF,$F0,$1D,$31,$A4,$01 .db $12,$FF,$E0,$4B,$E2,$D0,$E4,$A0 .db $D1,$22,$14,$FE,$F0,$BD,$E1,$EE .db $A0,$56,$33,$4F,$FF,$00,$F2,$BE .db $F5,$B4,$E1,$1F,$C1,$1F,$F2,$3D .db $10,$5D,$A4,$F3,$49,$C3,$49,$12 .db $0F,$F4,$2E,$A4,$3F,$CE,$3F,$D0 .db $5F,$F2,$4E,$D5,$A4,$DF,$A0,$11 .db $B3,$11,$B4,$2F,$1B,$A4,$6A,$FF .db $4C,$1D,$6D,$30,$5D,$E2,$94,$DB .db $11,$FC,$42,$D4,$26,$EB,$50,$B0 .db $F0,$21,$E2,$21,$12,$44,$11,$11 .db $A0,$DE,$2F,$0F,$11,$F1,$5F,$2D .db $10,$A4,$E0,$30,$01,$F1,$1E,$D3 .db $C1,$D0,$A0,$AD,$CF,$CF,$EF,$FF .db $DC,$3F,$FA,$A0,$22,$11,$66,$33 .db $35,$C0,$1E,$91,$A0,$2E,$EF,$EF .db $00,$3C,$1E,$CA,$12,$A4,$B3,$12 .db $C3,$11,$B3,$5A,$D2,$5B,$A0,$F1 .db $4F,$11,$2F,$13,$FE,$E2,$D2,$A0 .db $23,$F6,$F0,$E0,$4E,$E0,$3B,$FF .db $A0,$3E,$2D,$0C,$EE,$DC,$EF,$0F .db $11,$A0,$34,$ED,$03,$FC,$F1,$EE .db $00,$E3,$A4,$DD,$E4,$F2,$E4,$F0 .db $02,$2F,$4F,$A0,$20,$4F,$3D,$52 .db $0F,$31,$F3,$20,$A0,$D1,$11,$C5 .db $00,$E2,$02,$14,$1E,$A0,$1F,$DD .db $3E,$DF,$0E,$F3,$0D,$C3,$A0,$ED .db $13,$1C,$12,$00,$52,$2D,$2C,$A0 .db $CE,$30,$A1,$2C,$E5,$DF,$D4,$DA .db $A0,$E4,$1B,$43,$EF,$4F,$0B,$3E .db $9C,$A0,$0F,$A1,$FD,$C2,$DD,$F4 .db $EC,$06,$B4,$DF,$31,$D2,$2E,$00 .db $0F,$F1,$2E,$A0,$E3,$0F,$20,$0C .db $01,$EE,$11,$0F,$90,$3C,$E6,$21 .db $E6,$1D,$15,$FF,$34,$A0,$F1,$4F .db $FE,$3F,$F2,$2D,$E0,$0D,$A0,$06 .db $2D,$14,$FD,$23,$EC,$22,$CE,$A0 .db $50,$BD,$3D,$BF,$1C,$B1,$2B,$07 .db $A0,$1E,$05,$EC,$15,$EB,$23,$CE .db $40,$B0,$DF,$1F,$D0,$1F,$F1,$1F .db $04,$11,$A0,$25,$0F,$34,$F0,$43 .db $EF,$50,$FF,$A0,$4F,$0F,$2D,$02 .db $1F,$03,$11,$12,$A0,$FF,$FF,$B1 .db $0F,$F0,$1E,$E0,$0E,$90,$02,$1C .db $01,$EC,$12,$E1,$05,$FE,$90,$EC .db $C0,$0B,$AB,$2A,$F0,$FE,$FF,$A0 .db $FE,$F3,$1F,$02,$D4,$22,$20,$0F .db $90,$DD,$2E,$FD,$0A,$3C,$13,$22 .db $10,$A4,$04,$E0,$F3,$E2,$E2,$00 .db $1F,$EE,$90,$24,$EF,$31,$FD,$E4 .db $31,$E0,$B4,$A0,$01,$1E,$D0,$F0 .db $21,$1F,$FC,$2E,$90,$31,$1F,$F0 .db $34,$35,$E2,$D2,$F4,$80,$F0,$CF .db $2E,$35,$60,$39,$4F,$FC,$A4,$1F .db $01,$FF,$01,$FF,$E4,$E0,$10,$90 .db $DD,$04,$42,$45,$CE,$41,$E1,$3E .db $90,$AE,$3E,$E3,$5A,$C1,$3C,$03 .db $3D,$A0,$11,$20,$24,$FF,$01,$E0 .db $F1,$D0,$90,$E0,$C0,$2F,$C1,$FE .db $EF,$1B,$10,$90,$0B,$11,$DA,$ED .db $E0,$00,$B0,$01,$90,$C2,$23,$E1 .db $F0,$11,$21,$40,$11,$94,$6C,$D1 .db $49,$50,$ED,$60,$CE,$23,$80,$3D .db $62,$C3,$4F,$CF,$64,$B5,$3C,$90 .db $91,$FD,$B2,$D9,$A1,$DA,$12,$FB .db $90,$20,$0E,$5F,$DD,$52,$11,$40 .db $E3,$90,$31,$F4,$0E,$C3,$3E,$F4 .db $0E,$25,$90,$0D,$30,$CD,$25,$FE .db $20,$B1,$31,$94,$E4,$0D,$02,$4C .db $03,$0D,$21,$1C,$94,$3D,$0F,$14 .db $DE,$21,$D0,$24,$E0,$90,$11,$EC .db $00,$CE,$CD,$CD,$D1,$DC,$94,$2F .db $F5,$4C,$FD,$1E,$12,$3E,$F1,$94 .db $DC,$60,$E1,$F1,$E0,$14,$A1,$12 .db $90,$C2,$23,$E1,$31,$02,$51,$24 .db $1D,$80,$23,$3C,$5D,$FD,$16,$EF .db $FC,$C5,$80,$54,$B1,$DE,$9E,$4E .db $F3,$9C,$E0,$80,$2F,$1D,$FE,$33 .db $22,$3B,$31,$43,$80,$64,$1E,$D2 .db $42,$56,$A1,$E1,$C1,$90,$F0,$D0 .db $1F,$E2,$0C,$12,$10,$41,$94,$DF .db $32,$C0,$4D,$C3,$1F,$D4,$0D,$90 .db $C1,$3E,$E1,$0C,$02,$0E,$42,$EF .db $90,$21,$C2,$41,$D1,$1F,$E4,$2D .db $F3,$90,$2C,$13,$FD,$22,$FE,$42 .db $EF,$2F,$80,$A2,$5F,$E3,$2D,$06 .db $4C,$16,$31,$80,$47,$FC,$25,$C1 .db $55,$B0,$20,$C3,$94,$2B,$03,$0B .db $30,$0B,$42,$DD,$43,$90,$CF,$22 .db $C2,$32,$D2,$2F,$F2,$3D,$90,$F3 .db $1D,$02,$0C,$22,$F1,$33,$E1,$80 .db $6F,$F3,$70,$C3,$2D,$05,$5C,$07 .db $80,$10,$16,$FB,$21,$CF,$41,$D0 .db $4D,$80,$20,$3E,$F2,$DC,$00,$DC .db $F2,$CF,$70,$F4,$BA,$1A,$11,$1F .db $D0,$EA,$41,$80,$00,$0F,$A1,$00 .db $C0,$3E,$D0,$1D,$80,$EF,$E9,$10 .db $0C,$12,$DF,$22,$01,$80,$31,$B1 .db $10,$C3,$3C,$02,$0E,$F4,$80,$EB .db $14,$0D,$13,$BF,$12,$E0,$4F,$80 .db $C0,$20,$E1,$3C,$01,$2D,$23,$ED .db $80,$31,$0E,$21,$AE,$F2,$C3,$1F .db $C1,$80,$00,$D2,$0F,$FF,$FC,$41 .db $00,$52,$80,$12,$50,$10,$31,$D5 .db $11,$03,$01,$80,$14,$12,$11,$0F .db $4F,$0F,$1E,$F0,$80,$3E,$02,$1F .db $F5,$F0,$12,$1F,$12,$70,$F0,$00 .db $ED,$3B,$FC,$00,$E1,$EF,$70,$EF .db $DE,$D4,$CF,$DF,$EF,$F0,$10,$70 .db $DF,$EF,$0F,$1E,$DF,$1D,$F1,$1B .db $70,$DC,$0C,$10,$2C,$F0,$EB,$02 .db $BE,$70,$D1,$90,$03,$C3,$21,$D4 .db $30,$04,$70,$3D,$32,$4C,$34,$3F .db $25,$1E,$23,$70,$FF,$03,$B1,$10 .db $FF,$2E,$D1,$2E,$70,$30,$3A,$21 .db $0F,$14,$DD,$03,$D3,$70,$14,$A2 .db $01,$F1,$3F,$F0,$1F,$50,$74,$2C .db $4C,$12,$1E,$F3,$FE,$24,$EE,$70 .db $14,$FE,$02,$0C,$01,$C0,$23,$E1 .db $70,$2F,$D1,$3F,$D1,$0A,$12,$3D .db $24,$70,$FF,$25,$1F,$24,$C2,$34 .db $E1,$3F,$70,$D1,$30,$FF,$1B,$00 .db $2D,$00,$DD,$70,$E1,$EF,$E2,$CF .db $03,$F1,$0F,$DF,$60,$11,$4F,$0B .db $12,$11,$4F,$CF,$1E,$60,$F6,$3E .db $D3,$20,$35,$1A,$E2,$BF,$60,$33 .db $C0,$01,$B4,$31,$D0,$2A,$F2,$70 .db $1D,$00,$0C,$31,$0D,$00,$C0,$01 .db $70,$DF,$FF,$B2,$10,$D1,$1D,$02 .db $2E,$70,$21,$1E,$42,$1D,$11,$D0 .db $11,$D1,$60,$0F,$C4,$40,$E1,$0B .db $03,$2B,$20,$60,$ED,$24,$EF,$10 .db $C0,$32,$E4,$20,$64,$04,$1C,$10 .db $0E,$30,$0E,$4D,$E3,$54,$6C,$B3 .db $CE,$05,$FD,$14,$9F,$65,$64,$D0 .db $1E,$E2,$2F,$D3,$FC,$22,$1C,$60 .db $00,$EC,$00,$FD,$10,$CE,$12,$E2 .db $50,$1D,$B4,$41,$07,$4B,$15,$60 .db $62,$50,$EE,$73,$20,$62,$B2,$53 .db $04,$2B,$50,$C4,$2F,$E3,$DA,$F2 .db $FD,$0F,$AC,$50,$30,$00,$4E,$E1 .db $5F,$11,$FC,$D2,$50,$11,$14,$EF .db $F4,$F3,$F0,$CE,$1F,$50,$12,$2C .db $1F,$2E,$4E,$1B,$00,$F2,$54,$0D .db $D3,$00,$E5,$B1,$C5,$FF,$31,$50 .db $ED,$00,$F0,$2E,$EB,$1F,$E2,$2F .db $40,$C3,$40,$15,$0E,$C4,$0F,$46 .db $0C,$40,$54,$01,$60,$ED,$2E,$F2 .db $4F,$D2,$40,$2E,$03,$FD,$B0,$DF .db $14,$FD,$22,$34,$D2,$3C,$A0,$5C .db $71,$49,$D6,$2D,$34,$01,$0B,$11 .db $2E,$32,$BF,$52,$C1,$30,$F2,$DE .db $FF,$E4,$1E,$E0,$11,$FE,$30,$0B .db $EB,$FE,$1F,$FD,$00,$0F,$FE,$34 .db $F2,$C4,$02,$D1,$F3,$E2,$0E,$F1 .db $24,$1B,$43,$2E,$01,$30,$0F,$FE .db $3F,$24,$D1,$14,$EF,$21,$D0,$00 .db $E1,$FD,$24,$F3,$2E,$11,$0F,$02 .db $EE,$01,$D1,$10,$F3,$F4,$02,$03 .db $2F,$03,$0E,$14,$20,$10,$31,$20 .db $41,$0F,$2F,$FF,$10,$10,$00,$3F .db $F1,$1C,$F0,$0D,$D1,$FD,$00,$02 .db $0C,$12,$EC,$00,$DA,$20,$FD,$00 .db $10,$FE,$2F,$0F,$1F,$00,$20,$10 .db $00,$10,$11,$00,$00,$00,$10,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$01,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$A4,$00,$00,$FD .db $D1,$64,$21,$0F,$FF,$A4,$FF,$FF .db $FF,$00,$12,$FF,$BC,$FF,$B4,$01 .db $01,$10,$10,$F4,$31,$F5,$B2,$A4 .db $DF,$00,$FE,$0F,$0F,$0F,$DB,$13 .db $A4,$65,$21,$FE,$EE,$EE,$F1,$B2 .db $BC,$9C,$0E,$41,$11,$11,$11,$02 .db $F1,$00,$B4,$1F,$F3,$E4,$22,$10 .db $0F,$F0,$F0,$AC,$E1,$CD,$02,$10 .db $10,$10,$01,$F1,$A4,$21,$21,$11 .db $11,$10,$00,$0D,$B4,$A4,$15,$32 .db $1E,$FE,$DE,$EE,$EE,$FF,$A4,$02 .db $0D,$CC,$EF,$11,$12,$23,$23,$7C .db $A5,$11,$02,$00,$10,$1F,$F0,$0E .db $6C,$0D,$ED,$FD,$DE,$DE,$DE,$FD .db $EE,$6C,$0E,$D0,$F0,$E1,$E1,$F0 .db $01,$F2,$6C,$11,$11,$22,$02,$12 .db $02,$20,$02,$A4,$0F,$5F,$01,$0F .db $00,$10,$00,$00,$64,$6F,$F0,$FD .db $DD,$DC,$CC,$BB,$BB,$74,$ED,$DD .db $ED,$DC,$4C,$EE,$ED,$EE,$5C,$0F .db $D1,$EF,$3E,$F0,$F1,$2E,$0F,$5C .db $11,$1F,$01,$04,$F2,$11,$2F,$22 .db $5C,$11,$11,$2F,$22,$21,$10,$12 .db $11,$5C,$11,$F0,$3F,$2F,$F3,$FD .db $21,$0F,$4C,$E1,$F1,$0E,$ED,$00 .db $FE,$FD,$2F,$4C,$DD,$0E,$00,$EC .db $F0,$0D,$EB,$21,$4C,$0D,$E0,$00 .db $0E,$E1,$D2,$EF,$1F,$44,$E2,$F3 .db $22,$44,$03,$04,$43,$74,$44,$22 .db $34,$23,$16,$35,$31,$74,$43,$4C .db $0E,$5E,$F3,$2F,$34,$C0,$3C,$2F .db $44,$1E,$13,$21,$0C,$13,$35,$13 .db $FE,$80,$11,$21,$11,$10,$01,$0F .db $29,$45,$70,$7F,$EC,$CC,$CC,$BC .db $CC,$CC,$DD,$44,$0F,$25,$04,$F1 .db $0F,$FE,$D0,$01,$44,$FC,$CD,$EE .db $0E,$23,$01,$00,$F0,$B0,$00,$00 .db $00,$0F,$DD,$22,$34,$14,$A4,$F0 .db $DA,$FB,$5B,$15,$D1,$00,$10,$7C .db $60,$10,$10,$10,$00,$00,$F1,$F0 .db $5C,$C1,$EE,$0E,$0C,$DF,$1E,$EF .db $DF,$5C,$D3,$FF,$1E,$11,$F1,$E0 .db $03,$D3,$54,$23,$66,$75,$75,$77 .db $67,$42,$1B,$B0,$0E,$C1,$34,$44 .db $33,$21,$10,$00,$B4,$F1,$20,$DD .db $FF,$01,$01,$01,$11,$84,$35,$44 .db $43,$22,$11,$1F,$0F,$EE,$6C,$FE .db $ED,$EE,$FD,$FE,$FE,$0D,$0E,$5C .db $11,$DF,$01,$E1,$21,$21,$11,$40 .db $5C,$32,$33,$13,$30,$41,$23,$22 .db $21,$5C,$21,$20,$23,$2F,$11,$2D .db $03,$D0,$5C,$01,$EF,$0D,$0F,$DF .db $FE,$FE,$0F,$5C,$FE,$EE,$D1,$EF .db $0D,$E1,$0E,$D0,$84,$0F,$F0,$00 .db $F0,$00,$00,$00,$FC,$B0,$DD,$FF .db $33,$42,$51,$12,$3C,$00,$A4,$B4 .db $C1,$FF,$E0,$11,$12,$12,$11,$7C .db $4F,$10,$01,$0F,$0F,$1E,$0F,$0F .db $5C,$EB,$DD,$EC,$DE,$DE,$DF,$DE .db $E1,$5C,$CE,$1E,$20,$F0,$00,$21 .db $11,$11,$74,$21,$22,$23,$22,$22 .db $51,$40,$21,$74,$21,$12,$11,$10 .db $10,$00,$0F,$FC,$A4,$1F,$1F,$1D .db $13,$F0,$4E,$C1,$00,$A4,$EF,$F5 .db $FD,$10,$01,$3D,$C1,$FC,$94,$A0 .db $01,$22,$33,$33,$32,$22,$21,$6C .db $4F,$F0,$FF,$F0,$EE,$FF,$DF,$FF .db $B0,$FF,$FE,$EE,$FC,$D0,$0C,$00 .db $F0,$B4,$01,$F1,$F0,$0E,$F2,$C3 .db $C5,$E1,$A4,$41,$11,$11,$E6,$0C .db $3B,$ED,$F0,$84,$66,$66,$55,$54 .db $42,$31,$00,$29,$A4,$11,$F1,$DF .db $EF,$FE,$1D,$E0,$F2,$B4,$D1,$3C .db $00,$12,$F0,$00,$F0,$0F,$94,$0F .db $02,$2E,$10,$52,$D9,$1E,$11,$94 .db $53,$44,$43,$44,$33,$22,$12,$10 .db $A4,$1F,$0F,$E0,$E1,$C1,$52,$FF .db $EE,$A4,$E0,$CF,$EA,$E1,$BC,$5B .db $F3,$F3,$A4,$1E,$23,$06,$44,$31 .db $00,$FF,$0F,$6C,$E1,$F1,$F0,$1F .db $1F,$20,$21,$13,$A4,$12,$30,$FE .db $EC,$EF,$11,$21,$21,$7C,$7E,$1F .db $1F,$00,$0F,$FF,$FE,$FE,$A4,$FE .db $DF,$C2,$31,$41,$FE,$EE,$EF,$8C .db $C0,$00,$00,$00,$01,$01,$01,$01 .db $A4,$11,$21,$43,$B3,$12,$C2,$F1 .db $11,$84,$55,$65,$54,$43,$21,$10 .db $FF,$EB,$A4,$F1,$E1,$D0,$2A,$FF .db $C6,$EB,$D5,$A4,$FF,$B1,$B1,$2D .db $E0,$1B,$41,$E1,$A4,$01,$F1,$0D .db $5F,$10,$24,$14,$30,$A4,$26,$F4 .db $B5,$11,$FE,$10,$00,$EE,$A4,$FB .db $BD,$F0,$00,$11,$11,$11,$11,$A4 .db $01,$01,$00,$FE,$E1,$10,$31,$3F .db $A4,$0F,$DF,$CF,$FE,$EF,$0B,$0E .db $E0,$A4,$E0,$E4,$F5,$12,$50,$26 .db $0F,$50,$B4,$2F,$2D,$4E,$E1,$0C .db $10,$2F,$0E,$A0,$24,$22,$31,$00 .db $EE,$EC,$BB,$1C,$A4,$1D,$4F,$0F .db $E2,$E0,$10,$11,$11,$84,$23,$22 .db $11,$00,$FF,$FD,$FE,$A1,$94,$D2 .db $EE,$01,$DE,$FF,$21,$BE,$DD,$A4 .db $FE,$1F,$E0,$57,$52,$00,$F0,$FF .db $94,$FF,$FF,$00,$00,$01,$23,$4F .db $0F,$A4,$FC,$2E,$22,$F1,$21,$11 .db $12,$11,$7C,$A2,$1F,$C0,$D1,$FD .db $0E,$FE,$FF,$6C,$CE,$DD,$ED,$EC .db $FE,$DF,$EE,$DF,$94,$FE,$EF,$0F .db $35,$16,$7F,$03,$E0,$94,$F0,$0F .db $00,$01,$11,$14,$C2,$30,$94,$0F .db $1E,$6D,$25,$04,$24,$46,$74,$8C .db $FD,$FE,$0E,$FF,$0E,$F0,$FF,$10 .db $9C,$21,$DE,$CD,$3F,$02,$01,$1F .db $2F,$7C,$5F,$10,$1F,$10,$00,$FF .db $00,$F0,$5C,$BD,$EC,$FD,$DF,$EE .db $E0,$E1,$10,$AC,$00,$00,$00,$00 .db $0E,$3F,$13,$2E,$84,$41,$FD,$DD .db $DD,$DE,$EF,$E0,$14,$90,$36,$5E .db $11,$EF,$05,$10,$11,$35,$94,$02 .db $22,$24,$F2,$F2,$1E,$5B,$11,$A4 .db $EE,$EC,$C1,$CF,$EF,$0E,$0F,$00 .db $94,$01,$0E,$31,$13,$0E,$E0,$31 .db $11,$9C,$1F,$23,$C4,$FD,$00,$0F .db $10,$F1,$94,$00,$20,$01,$5C,$0D .db $FE,$02,$23,$7C,$33,$23,$02,$01 .db $0F,$20,$FD,$41,$94,$0F,$DF,$0C .db $1B,$E0,$DD,$1C,$DF,$94,$AC,$EB .db $EE,$ED,$DD,$D1,$FF,$DF,$94,$24 .db $10,$24,$7F,$7F,$36,$62,$34,$A4 .db $16,$C0,$0E,$E3,$FF,$0E,$11,$E1 .db $94,$DC,$2C,$E1,$CC,$20,$03,$EF .db $00,$94,$E1,$C1,$31,$12,$23,$40 .db $42,$24,$94,$2C,$4F,$A0,$AC,$1B .db $B0,$00,$3F,$94,$E3,$FE,$2D,$3B .db $DF,$50,$12,$33,$94,$FB,$DE,$EE .db $00,$21,$21,$22,$23,$94,$10,$73 .db $33,$13,$E0,$EF,$DC,$ED,$94,$ED .db $FC,$EF,$D3,$E0,$F0,$E4,$C2,$94 .db $F1,$21,$F2,$43,$40,$02,$34,$13 .db $A4,$00,$11,$F1,$0E,$1C,$0E,$DE .db $DF,$94,$CF,$DF,$1E,$11,$21,$15 .db $43,$41,$94,$2F,$0E,$0F,$0C,$C0 .db $E2,$D1,$10,$94,$01,$41,$F1,$F6 .db $31,$11,$44,$D1,$94,$FF,$3F,$11 .db $4E,$0F,$0F,$FC,$CE,$94,$BB,$EE .db $FB,$0F,$00,$F2,$12,$21,$94,$32 .db $21,$21,$10,$FF,$E3,$33,$55,$8C .db $CC,$DE,$EF,$E0,$0F,$1F,$22,$0D .db $9C,$FD,$10,$1E,$21,$11,$10,$11 .db $00,$9C,$03,$0F,$2E,$3E,$00,$E0 .db $FF,$1E,$9C,$F1,$00,$F0,$00,$10 .db $1D,$2F,$EE,$8C,$0F,$42,$E4,$21 .db $12,$F1,$10,$00,$84,$42,$21,$21 .db $0F,$E1,$D0,$BE,$FB,$94,$0D,$0D .db $FC,$F3,$D2,$11,$10,$00,$74,$CC .db $BA,$CB,$CD,$EE,$00,$12,$33,$94 .db $11,$21,$22,$23,$34,$40,$DE,$DD .db $84,$F0,$44,$55,$44,$32,$22,$00 .db $12,$A4,$12,$E1,$FD,$FE,$FF,$CF .db $FE,$E0,$A4,$EF,$1E,$F0,$E2,$0F .db $4E,$30,$E2,$A4,$01,$0E,$10,$D1 .db $21,$0E,$40,$0F,$B4,$10,$01,$F2 .db $1F,$1E,$30,$D5,$FD,$A4,$45,$B0 .db $5C,$4D,$4E,$32,$D3,$DF,$A4,$10 .db $FF,$FF,$2E,$0F,$EE,$2D,$D4,$B4 .db $E3,$C1,$F0,$10,$EE,$1F,$D2,$F1 .db $B4,$2F,$0B,$40,$10,$00,$10,$00 .db $01,$A4,$10,$20,$FE,$4E,$3F,$01 .db $11,$14,$94,$56,$F0,$3E,$E0,$EF .db $EF,$00,$01,$84,$00,$00,$FF,$FD .db $DD,$CF,$C0,$CB,$94,$1F,$E0,$DD .db $2A,$1F,$B1,$3A,$1E,$94,$FF,$1D .db $1B,$11,$F1,$FF,$36,$E3,$8C,$33 .db $C4,$E0,$3D,$11,$F1,$0F,$21,$94 .db $02,$00,$0F,$C2,$EE,$CE,$00,$12 .db $84,$30,$21,$23,$10,$11,$ED,$01 .db $CE,$94,$FD,$13,$B0,$EF,$F1,$BE .db $DD,$EB,$94,$D0,$FF,$FE,$30,$3F .db $43,$02,$20,$94,$40,$01,$03,$0D .db $12,$21,$04,$F3,$A4,$5F,$21,$20 .db $0F,$0F,$E1,$FE,$0F,$94,$B0,$FF .db $EF,$F3,$E1,$1E,$3F,$40,$94,$F5 .db $AE,$B4,$E1,$B1,$02,$F2,$00,$94 .db $3F,$01,$F1,$1E,$04,$E4,$FC,$00 .db $B4,$1F,$0F,$FF,$1E,$FE,$5F,$0D .db $02,$A4,$E5,$00,$0E,$00,$21,$1D .db $10,$11,$A4,$D4,$01,$2F,$11,$01 .db $23,$F3,$00,$94,$6F,$FE,$39,$F0 .db $C2,$BD,$BD,$2C,$94,$D0,$DF,$EF .db $2E,$5E,$5E,$13,$41,$94,$04,$0D .db $4B,$0F,$BF,$FC,$00,$0F,$94,$11 .db $F3,$F0,$40,$13,$13,$10,$00,$9C .db $ED,$31,$EF,$00,$2D,$20,$2E,$01 .db $94,$11,$01,$00,$41,$D3,$11,$42 .db $14,$8C,$0B,$3E,$DF,$00,$1E,$E0 .db $F1,$E1,$9C,$E0,$21,$1E,$13,$FF .db $02,$3D,$01,$94,$2E,$20,$05,$BD .db $1C,$2E,$D1,$DF,$A4,$FF,$01,$C2 .db $F0,$1F,$0F,$12,$1F,$94,$BF,$31 .db $F2,$FF,$D1,$FF,$3C,$1D,$94,$D2 .db $2C,$6B,$43,$E3,$0E,$34,$03,$A4 .db $FF,$25,$E1,$EA,$42,$02,$D1,$0A .db $94,$42,$0E,$0E,$3A,$F3,$24,$D5 .db $1F,$A4,$02,$20,$2F,$D0,$22,$2D .db $00,$E4,$94,$D2,$A2,$DE,$BF,$FE .db $ED,$CF,$1B,$94,$0F,$B3,$F0,$31 .db $02,$02,$16,$4D,$94,$11,$F6,$2C .db $02,$1F,$1F,$2E,$4B,$90,$4F,$00 .db $11,$00,$FF,$12,$22,$13,$84,$FE .db $4B,$41,$A0,$D0,$D4,$EC,$50,$84 .db $E1,$22,$4F,$F0,$EF,$FD,$1C,$1F .db $84,$C2,$BF,$3F,$DE,$B3,$64,$D1 .db $75,$94,$21,$22,$F5,$1F,$20,$12 .db $10,$BF,$94,$D3,$D0,$CF,$2B,$E1 .db $C2,$1A,$30,$94,$D2,$F0,$5B,$02 .db $0E,$4E,$00,$EF,$84,$5C,$E0,$CF .db $0C,$EF,$0E,$F0,$13,$94,$31,$21 .db $14,$4F,$41,$22,$03,$20,$94,$20 .db $E1,$0D,$1B,$0E,$ED,$E0,$E0,$94 .db $0E,$10,$F3,$F2,$10,$31,$2E,$0F .db $94,$02,$CF,$EE,$0F,$E1,$F0,$FE .db $3D,$84,$54,$C0,$22,$14,$E2,$E0 .db $4C,$21,$84,$E1,$F6,$4F,$E0,$02 .db $FC,$ED,$D0,$84,$C0,$12,$32,$12 .db $33,$21,$12,$44,$8C,$1F,$00,$FF .db $FC,$F1,$0F,$0E,$F3,$84,$BE,$0C .db $EE,$E3,$E1,$20,$51,$43,$8C,$12 .db $F1,$00,$10,$1F,$2D,$4D,$3E,$84 .db $FD,$20,$10,$B0,$1D,$EE,$AF,$BD .db $84,$E9,$FC,$CF,$FE,$C0,$C1,$ED .db $30,$84,$34,$F4,$14,$45,$23,$42 .db $63,$11,$84,$25,$34,$E2,$20,$0E .db $EC,$DD,$CC,$84,$CC,$DE,$ED,$EC .db $DF,$EE,$B0,$02,$7C,$E3,$12,$2F .db $20,$11,$00,$10,$F0,$74,$01,$21 .db $0D,$04,$F6,$9F,$C0,$CB,$7C,$B1 .db $E1,$E0,$F0,$F0,$EE,$41,$FE,$94 .db $10,$22,$03,$22,$12,$31,$20,$02 .db $84,$20,$F0,$11,$EC,$0B,$1D,$E0 .db $C3,$64,$B1,$6E,$17,$14,$4D,$F2 .db $E4,$DE,$84,$0F,$0F,$E1,$C0,$EC .db $2C,$CF,$0B,$84,$FC,$FF,$F0,$F2 .db $02,$3D,$6E,$35,$84,$22,$2C,$32 .db $2E,$0F,$34,$01,$03,$84,$20,$31 .db $4E,$E2,$20,$1E,$E3,$0F,$84,$ED .db $FD,$EE,$0C,$3F,$11,$13,$11,$84 .db $10,$32,$E0,$00,$10,$CF,$0E,$FE .db $84,$0E,$CB,$EF,$1C,$BF,$C1,$0E .db $FE,$84,$F0,$E0,$F2,$E2,$15,$32 .db $32,$55,$74,$65,$32,$61,$4F,$10 .db $30,$2F,$3E,$84,$C3,$20,$FD,$10 .db $1F,$31,$12,$10,$84,$40,$F0,$10 .db $4A,$0C,$C1,$1C,$AF,$84,$BF,$D1 .db $DD,$DE,$13,$94,$B3,$DE,$74,$36 .db $BD,$16,$C6,$E0,$60,$E2,$FC,$84 .db $1F,$30,$0E,$22,$03,$12,$20,$42 .db $84,$33,$20,$21,$41,$F1,$1F,$00 .db $2D,$84,$FF,$30,$BF,$00,$0F,$F0 .db $D0,$FE,$84,$FE,$EF,$EF,$FD,$C0 .db $F0,$EE,$11,$7C,$23,$D2,$00,$F3 .db $F1,$FD,$20,$3C,$84,$10,$F1,$F2 .db $0F,$0E,$00,$F0,$CD,$84,$D1,$FB .db $0F,$B6,$EF,$F3,$ED,$7D,$84,$06 .db $D0,$40,$04,$D5,$E2,$F2,$E2,$94 .db $1E,$12,$C5,$0D,$40,$F3,$0E,$30 .db $94,$10,$F0,$00,$1D,$20,$C2,$0D .db $10,$94,$D4,$E0,$1D,$F2,$F1,$FF .db $3F,$C2,$84,$A1,$6E,$F1,$F1,$0E .db $1F,$4D,$EE,$84,$3E,$02,$00,$FB .db $63,$EF,$B2,$14,$84,$FF,$A5,$0E .db $1E,$E3,$E0,$30,$C4,$A4,$1F,$11 .db $00,$0F,$14,$FF,$FE,$20,$94,$F3 .db $11,$EB,$E4,$20,$10,$D2,$FE,$94 .db $21,$21,$FC,$11,$F2,$E0,$F0,$F1 .db $84,$3A,$FF,$13,$FF,$F4,$A0,$1F .db $01,$84,$DF,$01,$DF,$3D,$13,$C1 .db $F2,$3B,$84,$DF,$5F,$3B,$3D,$1E .db $53,$E0,$C5,$84,$E1,$3F,$3C,$D3 .db $4F,$51,$E4,$B2,$84,$43,$E3,$2F .db $2D,$11,$BE,$0C,$2F,$74,$DE,$3F .db $E4,$D2,$5C,$45,$E0,$66,$84,$F0 .db $B2,$1F,$C1,$CF,$EC,$EF,$A1,$74 .db $1E,$AF,$D0,$69,$71,$4E,$05,$36 .db $84,$41,$E4,$14,$30,$11,$2F,$50 .db $AF,$84,$30,$0E,$CF,$2E,$01,$D0 .db $0E,$03,$70,$CD,$EE,$A2,$B2,$0D .db $EE,$2D,$FF,$94,$00,$F1,$E0,$C0 .db $22,$F1,$E0,$E2,$80,$ED,$F2,$24 .db $1C,$00,$00,$31,$CC,$84,$3D,$14 .db $C0,$12,$1F,$10,$10,$02,$74,$F3 .db $C1,$F2,$11,$E6,$EF,$3A,$C7,$74 .db $EF,$B4,$1B,$D2,$62,$10,$60,$25 .db $84,$01,$10,$00,$00,$0F,$0F,$E0 .db $FC,$84,$E1,$FE,$FB,$F0,$D1,$2C .db $D1,$D0,$74,$20,$00,$D0,$2F,$24 .db $F5,$23,$12,$74,$51,$42,$22,$43 .db $22,$23,$23,$31,$74,$20,$11,$20 .db $AD,$CE,$3D,$22,$12,$6C,$03,$F0 .db $E1,$1F,$D2,$E0,$CF,$10,$84,$EE .db $0E,$F0,$0E,$FC,$FF,$DD,$DC,$84 .db $FD,$EE,$DF,$10,$01,$E5,$04,$32 .db $84,$23,$33,$50,$11,$13,$30,$20 .db $03,$74,$45,$30,$15,$26,$02,$F5 .db $CF,$CB,$84,$FD,$ED,$DD,$EE,$EE .db $FD,$EF,$F1,$74,$2A,$25,$FF,$F5 .db $21,$22,$3F,$21,$84,$02,$E3,$4D .db $00,$FF,$3D,$2F,$ED,$84,$2D,$F2 .db $00,$FE,$E0,$E2,$4E,$1E,$74,$A2 .db $53,$3E,$C0,$10,$53,$03,$D0,$84 .db $11,$00,$3D,$3F,$E1,$F0,$4E,$0E .db $74,$00,$15,$EE,$EF,$52,$D0,$2F .db $20,$74,$E1,$D1,$70,$1C,$04,$16 .db $11,$1E,$74,$22,$3E,$FD,$0E,$FD .db $DE,$FA,$FF,$74,$0A,$EF,$10,$0B .db $D2,$E0,$ED,$EB,$6C,$01,$3C,$0F .db $34,$30,$3F,$40,$4F,$74,$43,$34 .db $45,$30,$20,$51,$FF,$BC,$84,$1E .db $FF,$CF,$00,$E0,$E0,$F0,$00,$74 .db $22,$F1,$52,$40,$01,$42,$30,$FE .db $74,$12,$0F,$DF,$F0,$D0,$DC,$0E .db $4F,$74,$FD,$12,$24,$22,$E5,$12 .db $F0,$EF,$74,$FE,$ED,$BC,$BE,$FB .db $0C,$11,$F2,$64,$11,$40,$45,$21 .db $0E,$55,$0E,$F0,$64,$24,$F5,$A3 .db $E4,$5C,$F0,$15,$30,$64,$0C,$0D .db $10,$0B,$00,$04,$1F,$10,$64,$35 .db $02,$3F,$25,$32,$03,$35,$60,$64 .db $35,$06,$E2,$0E,$25,$A6,$00,$A9 .db $74,$1D,$CC,$BA,$BC,$CB,$DB,$DE .db $EF,$74,$EF,$F1,$11,$00,$06,$64 .db $22,$36,$74,$32,$31,$51,$32,$22 .db $EE,$D1,$35,$94,$FC,$F3,$00,$0E .db $F1,$10,$F1,$00,$84,$0F,$01,$10 .db $CF,$1E,$21,$F0,$10,$74,$02,$1F .db $F4,$3D,$E0,$F2,$FE,$DE,$84,$00 .db $F0,$E0,$1F,$10,$D1,$4F,$00,$84 .db $21,$1F,$C1,$40,$E0,$D2,$FE,$EF .db $74,$32,$F0,$C0,$45,$2E,$20,$14 .db $03,$64,$65,$40,$63,$21,$D3,$2E .db $4E,$FB,$74,$FF,$1D,$E1,$DE,$0E .db $CC,$FF,$EE,$74,$EF,$1D,$F0,$F1 .db $0F,$4F,$31,$EF,$74,$1F,$75,$EF .db $D2,$3F,$50,$03,$22,$64,$03,$F4 .db $23,$10,$00,$3C,$0D,$0A,$64,$BB .db $DB,$DA,$AD,$D0,$D2,$A1,$F3,$64 .db $3F,$11,$25,$12,$22,$06,$20,$2B .db $74,$15,$00,$D0,$3D,$21,$FF,$0E .db $E0,$64,$C0,$10,$AF,$D2,$D1,$14 .db $D3,$11,$74,$F1,$21,$1E,$F4,$2F .db $1F,$21,$21,$64,$E2,$22,$4E,$F4 .db $11,$DE,$6B,$1C,$74,$FF,$0E,$CE .db $CF,$1A,$2B,$E2,$BF,$74,$2D,$03 .db $D4,$2E,$F3,$14,$3E,$22,$64,$03 .db $10,$41,$22,$3D,$6C,$05,$E2,$74 .db $F1,$0F,$00,$2D,$2F,$F1,$0C,$1F .db $74,$01,$00,$FA,$F4,$2F,$E0,$E0 .db $41,$74,$DC,$21,$C5,$3B,$00,$F3 .db $40,$1E,$74,$D0,$43,$22,$CE,$2F .db $12,$FD,$00,$64,$CF,$ED,$4C,$F0 .db $1C,$1D,$36,$ED,$64,$20,$5D,$E4 .db $31,$FD,$3D,$21,$D2,$64,$FF,$0E .db $B2,$00,$DE,$E4,$FF,$D2,$64,$F3 .db $3C,$3C,$03,$24,$FD,$F1,$15,$54 .db $F1,$04,$37,$EE,$63,$10,$F3,$3E .db $64,$1F,$10,$0E,$0E,$3E,$2B,$CD .db $20,$64,$EE,$EC,$D2,$02,$C0,$F1 .db $44,$0B,$60,$EE,$13,$11,$11,$01 .db $FE,$BD,$DF,$64,$0C,$0F,$F1,$3E .db $11,$12,$21,$51,$64,$03,$34,$10 .db $01,$12,$10,$ED,$1F,$64,$E0,$EA .db $DD,$FC,$EE,$A0,$00,$EB,$64,$0F .db $15,$0F,$FF,$31,$11,$E3,$E3,$64 .db $5E,$2F,$22,$4E,$4F,$13,$4C,$1D .db $64,$11,$13,$10,$D2,$2E,$40,$EE .db $EF,$54,$1F,$DE,$6C,$D0,$F9,$22 .db $02,$CD,$64,$F2,$14,$FF,$10,$11 .db $1C,$1D,$01,$64,$D1,$DE,$C1,$0D .db $FD,$EF,$01,$00,$64,$D1,$12,$40 .db $1F,$31,$51,$02,$13,$54,$51,$24 .db $E2,$15,$FE,$0E,$00,$BE,$64,$EF .db $F1,$0D,$0F,$C7,$C0,$2D,$E4,$64 .db $D1,$1C,$E1,$FE,$EF,$E1,$F0,$1F .db $64,$03,$12,$04,$01,$32,$0F,$4F .db $03,$54,$12,$3E,$01,$32,$FF,$2F .db $EF,$E2,$54,$E1,$F1,$FE,$0A,$1F .db $EB,$ED,$EC,$54,$EF,$CF,$C1,$FF .db $CF,$F0,$0F,$E0,$54,$10,$31,$CF .db $00,$E2,$B1,$00,$1E,$64,$2F,$30 .db $F2,$03,$20,$13,$24,$10,$64,$42 .db $23,$11,$30,$01,$10,$FF,$E1,$54 .db $EF,$DD,$0F,$0D,$1D,$3F,$2F,$2F .db $54,$1D,$1F,$E1,$CD,$BE,$EC,$BC .db $CB,$64,$FC,$FD,$ED,$FE,$0E,$0E .db $21,$01,$54,$10,$44,$42,$FE,$15 .db $04,$04,$14,$64,$14,$02,$F4,$30 .db $2F,$F1,$0F,$1E,$54,$FC,$2F,$1D .db $00,$31,$40,$20,$37,$54,$01,$40 .db $33,$04,$F4,$D0,$E6,$FE,$54,$D2 .db $EE,$0C,$DD,$B0,$CC,$DC,$ED,$64 .db $FE,$C1,$DF,$FF,$ED,$FE,$F0,$00 .db $54,$F1,$E0,$42,$22,$25,$53,$61 .db $52,$64,$15,$01,$21,$10,$20,$01 .db $EF,$0F,$64,$CF,$EF,$0E,$EE,$4E .db $11,$20,$1F,$54,$43,$32,$1E,$23 .db $34,$11,$5F,$0E,$54,$3D,$0B,$3B .db $39,$3C,$2F,$FE,$BA,$4C,$41,$1E .db $C0,$31,$BE,$FF,$01,$4D,$54,$2F .db $21,$33,$25,$24,$4F,$71,$FF,$54 .db $50,$1E,$FF,$FD,$D0,$CF,$A0,$F0 .db $54,$0F,$D1,$5D,$60,$15,$F4,$23 .db $01,$54,$54,$32,$11,$03,$4F,$20 .db $F3,$E5,$54,$FD,$F0,$1C,$FD,$DC .db $AE,$BD,$CC,$54,$EC,$1D,$2C,$0F .db $01,$0E,$2D,$3F,$54,$2D,$FD,$10 .db $FD,$D0,$2E,$10,$22,$5C,$E2,$02 .db $E1,$F4,$20,$0E,$30,$00,$54,$11 .db $10,$14,$D0,$10,$1E,$11,$DE,$54 .db $F0,$4C,$00,$E1,$0E,$1E,$DF,$0F .db $54,$FC,$E0,$EF,$E1,$CF,$01,$F1 .db $E0,$54,$00,$F1,$F0,$FF,$1C,$FC .db $F0,$DD,$5C,$00,$10,$F2,$0E,$13 .db $F1,$02,$E3,$64,$41,$32,$12,$31 .db $3F,$10,$00,$1E,$54,$DE,$FE,$0D .db $CE,$D0,$DD,$E0,$FF,$44,$12,$FD .db $05,$45,$D2,$13,$25,$4F,$54,$E0 .db $2F,$0C,$F1,$ED,$FC,$EE,$E1,$54 .db $FD,$D0,$F1,$10,$C0,$F3,$01,$F1 .db $44,$D6,$14,$4A,$45,$20,$D4,$22 .db $63,$54,$23,$14,$33,$12,$00,$31 .db $2F,$D0,$44,$30,$EB,$CD,$FF,$1E .db $DA,$20,$30,$44,$91,$AF,$0B,$F9 .db $D0,$FA,$EA,$CE,$44,$0E,$DD,$FF .db $60,$4E,$04,$26,$FF,$44,$F2,$13 .db $F0,$00,$42,$32,$F1,$32,$44,$43 .db $D2,$03,$33,$12,$C3,$23,$EC,$44 .db $11,$12,$0E,$11,$34,$F0,$E0,$40 .db $54,$10,$E0,$E2,$FF,$DF,$EF,$DF .db $DC,$54,$DE,$1C,$ED,$E0,$1E,$00 .db $01,$12,$4C,$F3,$C0,$41,$3C,$F2 .db $21,$E0,$FF,$44,$10,$40,$ED,$11 .db $32,$E0,$F4,$04,$54,$F0,$00,$20 .db $0F,$01,$F4,$F1,$1F,$44,$03,$FF .db $EC,$FD,$0C,$ED,$CE,$3D,$44,$0B .db $EF,$F1,$FC,$FC,$EF,$EC,$ED,$44 .db $10,$0F,$C0,$F1,$00,$01,$43,$21 .db $44,$25,$36,$36,$33,$33,$34,$30 .db $20,$34,$3F,$6C,$1C,$02,$AC,$DD .db $CD,$D0,$44,$DF,$00,$FF,$ED,$0E .db $FE,$FB,$FF,$44,$D2,$EC,$3E,$01 .db $2E,$10,$01,$10,$44,$1E,$01,$30 .db $E3,$F1,$40,$F2,$23,$44,$E5,$E4 .db $22,$32,$23,$10,$33,$0F,$44,$2C .db $5D,$FD,$CE,$CE,$CC,$ED,$BE,$44 .db $C1,$CC,$C1,$01,$FE,$0F,$30,$20 .db $44,$01,$32,$12,$30,$05,$23,$4F .db $1F,$54,$11,$0E,$1E,$2E,$3C,$2F .db $01,$FF,$44,$3D,$1F,$6B,$20,$E5 .db $2E,$F2,$01,$54,$20,$00,$F0,$31 .db $EF,$F0,$32,$FC,$44,$C2,$10,$B0 .db $FC,$1D,$1E,$EC,$EF,$34,$2A,$0D .db $3E,$30,$4F,$51,$02,$02,$34,$04 .db $20,$62,$F0,$10,$3C,$1A,$19,$34 .db $DE,$D0,$BC,$E0,$2D,$E1,$65,$43 .db $3C,$13,$3F,$04,$C4,$F4,$EE,$12 .db $EF,$34,$30,$BD,$B0,$DB,$CD,$BF .db $BE,$EF,$34,$9E,$E0,$0E,$DD,$F1 .db $1E,$F1,$F1,$34,$D2,$E2,$BE,$D2 .db $DA,$C1,$0B,$0F,$44,$1E,$00,$30 .db $20,$02,$21,$23,$05,$54,$E3,$02 .db $0D,$5E,$1F,$01,$F0,$10,$44,$CF .db $3C,$5D,$FF,$F0,$50,$D3,$EF,$40 .db $43,$62,$F5,$0D,$2D,$2F,$DC,$F1 .db $40,$01,$4F,$22,$44,$1F,$12,$0E .db $ED,$44,$01,$A3,$CD,$40,$FC,$D0 .db $3D,$1C,$34,$F1,$00,$FF,$10,$05 .db $F5,$F0,$10,$44,$42,$10,$04,$04 .db $F1,$F1,$11,$0F,$34,$0E,$5F,$0F .db $E2,$01,$F1,$D3,$10,$34,$02,$2E .db $2F,$70,$BE,$11,$F0,$D0,$34,$DE .db $01,$0E,$BF,$F1,$DE,$EF,$FC,$34 .db $0F,$CE,$0F,$F0,$CE,$F1,$F1,$FD .db $34,$11,$04,$E2,$E0,$04,$00,$E1 .db $24,$34,$00,$5F,$3F,$73,$1F,$34 .db $44,$00,$34,$61,$52,$20,$01,$32 .db $E1,$0E,$2F,$44,$1D,$FE,$0E,$FF .db $FC,$FF,$F0,$EE,$34,$FF,$FE,$CD .db $F0,$11,$EE,$00,$21,$34,$0F,$1E .db $40,$50,$02,$23,$30,$11,$24,$00 .db $3D,$E1,$B3,$E0,$DF,$A2,$30,$34 .db $0F,$D4,$10,$11,$02,$11,$21,$01 .db $24,$E7,$4F,$C1,$22,$3F,$1A,$2E .db $0E,$24,$DF,$CD,$1A,$EC,$B2,$2E .db $D1,$FD,$24,$53,$5F,$A2,$25,$2E .db $60,$06,$31,$24,$4E,$21,$6E,$00 .db $E1,$0E,$1C,$00,$3C,$FD,$2F,$00 .db $0F,$0C,$12,$F0,$0F,$34,$E1,$01 .db $40,$F2,$14,$11,$03,$02,$34,$40 .db $1E,$14,$45,$0F,$D2,$F1,$0F,$24 .db $ED,$FC,$5F,$00,$C3,$4F,$1D,$12 .db $24,$31,$E2,$30,$3F,$0D,$4E,$11 .db $0F,$24,$0D,$00,$DC,$CC,$FE,$0D .db $0E,$20,$24,$02,$00,$1F,$0F,$D1 .db $ED,$FC,$AD,$24,$CF,$FF,$AF,$02 .db $10,$11,$02,$44,$24,$3D,$34,$36 .db $00,$10,$32,$40,$20,$24,$45,$15 .db $11,$23,$20,$2D,$4E,$0F,$24,$FF .db $FD,$FD,$EE,$DF,$EF,$DC,$FE,$14 .db $FE,$DB,$DE,$00,$FB,$2C,$11,$01 .db $14,$DB,$02,$6F,$0C,$03,$00,$3E .db $14,$14,$45,$10,$40,$30,$E1,$F1 .db $42,$22,$14,$45,$41,$42,$1D,$00 .db $03,$0F,$D0,$14,$2F,$0B,$1D,$1D .db $FE,$FA,$0C,$0F,$14,$DE,$00,$FE .db $D1,$FF,$EE,$0D,$1E,$14,$0F,$EE .db $10,$10,$00,$13,$F3,$11,$14,$12 .db $60,$13,$03,$14,$03,$D4,$2E,$14 .db $30,$10,$00,$20,$00,$F0,$3F,$30 .db $04,$B4,$F1,$CD,$1C,$0E,$FD,$DC .db $FF,$04,$FF,$CE,$A0,$00,$EE,$0E .db $01,$0E,$04,$00,$51,$02,$E3,$F5 .db $30,$31,$10,$04,$13,$D0,$0E,$0F .db $0F,$FC,$0E,$FC,$04,$ED,$00,$FE .db $EC,$0E,$10,$DD,$F0,$14,$10,$10 .db $00,$31,$30,$30,$12,$11,$04,$01 .db $06,$F3,$00,$02,$03,$F0,$F0,$04 .db $20,$00,$F0,$01,$40,$4F,$11,$41 .db $04,$00,$11,$10,$0B,$EF,$EF,$EB .db $C0,$04,$00,$BA,$DE,$D0,$EC,$EB .db $00,$CD,$04,$BF,$D0,$1F,$10,$01 .db $00,$30,$34,$04,$22,$42,$13,$31 .db $40,$32,$13,$30,$04,$00,$00,$00 .db $F1,$04,$50,$00,$00,$04,$10,$0D .db $00,$20,$F0,$D0,$00,$0F,$04,$EE .db $00,$0F,$E0,$D1,$00,$E0,$00,$00 .db $CD,$EF,$EF,$F0,$00,$ED,$EE,$ED .db $04,$0F,$00,$1E,$0E,$00,$1E,$FD .db $00,$04,$0F,$0E,$00,$10,$00,$00 .db $10,$00,$00,$EF,$01,$12,$23,$46 .db $65,$55,$55,$00,$65,$45,$33,$32 .db $21,$11,$22,$12,$00,$22,$23,$33 .db $22,$44,$54,$45,$65,$00,$56,$55 .db $55,$55,$32,$22,$10,$0F,$10,$FF .db $EE,$ED,$DD,$DD,$DD,$DD,$EE,$00 .db $BB,$BB,$CC,$CC,$CC,$CD,$DE,$DD .db $00,$DE,$FF,$FF,$FF,$00,$00,$00 .db $01,$00,$11,$12,$32,$33,$33,$33 .db $33,$33,$00,$33,$33,$22,$22,$22 .db $22,$22,$22,$00,$22,$22,$22,$22 .db $11,$11,$00,$00,$00,$00,$FF,$EE .db $EE,$EE,$DD,$DD,$DD,$00,$DD,$DE .db $EE,$EE,$EE,$FF,$FF,$FF,$00,$FF .db $0F,$F0,$00,$00,$00,$00,$00,$00 .db $01,$01,$11,$11,$11,$11,$11,$11 .db $00,$11,$11,$11,$11,$11,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$FF,$00,$F0,$0F,$F0,$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,$01 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $00,$00,$00,$05,$18,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $00,$00,$00,$00,$00,$00,$00,$00 .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF 7E0013 RAM_FrameCounter 7E0014 RAM_FrameCounterB 7E0015 RAM_ControllerA 7E0017 RAM_ControllerB 7E0019 RAM_MarioPowerUp 7E001A RAM_ScreenBndryXLo 7E001B RAM_ScreenBndryXHi 7E001C RAM_ScreenBndryYLo 7E001D RAM_ScreenBndryYHi 7E005B RAM_IsVerticalLvl 7E005D RAM_ScreensInLvl 7E0071 RAM_MarioAnimation 7E0072 RAM_IsFlying 7E0073 RAM_IsDucking 7E0074 RAM_IsClimbing 7E0075 RAM_IsSwimming 7E0076 RAM_MarioDirection 7E0077 RAM_MarioObjStatus 7E007B RAM_MarioSpeedX 7E007D RAM_MarioSpeedY 7E0085 RAM_IsWaterLevel 7E0094 RAM_MarioXPos 7E0095 RAM_MarioXPosHi 7E0096 RAM_MarioYPos 7E0097 RAM_MarioYPosHi 7E0098 RAM_BlockXLo 7E0099 RAM_BlockXHi 7E009A RAM_BlockYLo 7E009B RAM_BlockYHi 7E009C RAM_BlockBlock 7E009D RAM_SpritesLocked 7E009E RAM_SpriteNum 7E00AA RAM_SpriteSpeedY 7E00B6 RAM_SpriteSpeedX 7E00C2 RAM_SpriteState 7E00D8 RAM_SpriteYLo 7E00E4 RAM_SpriteXLo 7E0100 RAM_GameMode 7E0200 OAM_ExtendedDispX 7E0201 OAM_ExtendedDispY 7E0202 OAM_ExtendedTile 7E0203 OAM_ExtendedProp 7E0300 OAM_DispX 7E0301 OAM_DispY 7E0302 OAM_Tile 7E0303 OAM_Prop 7E0304 OAM_Tile2DispX 7E0305 OAM_Tile2DispY 7E0306 OAM_Tile2 7E0307 OAM_Tile2Prop 7E0308 OAM_Tile3DispX 7E0309 OAM_Tile3DispY 7E030A OAM_Tile3 7E030B OAM_Tile3Prop 7E030C OAM_Tile4DispX 7E030D OAM_Tile4DispY 7E030E OAM_Tile4 7E030F OAM_Tile4Prop 7E0460 OAM_TileSize 7E0DA6 RAM_OWControllerA 7E0DB4 RAM_PlayerLives 7E0DB6 RAM_PlayerCoins 7E0DB8 RAM_PlayerPowerUp 7E0DBA RAM_PlyrYoshiColor 7E0DBE RAM_StatusLives 7E0DBF RAM_StatusCoins 7E0DC1 RAM_OWHasYoshi 7E13C7 RAM_YoshiColor 7E13DD RAM_ChangingDir 7E13E0 MarioFrame 7E13E3 RAM_WallWalkStatus 7E13F9 RAM_IsBehindScenery 7E140D RAM_IsSpinJump 7E1410 RAM_YoshiHasWingsB 7E1419 RAM_YoshiInPipe 7E141E RAM_YoshiHasWings 7E1436 RAM_KeyHolePos1 7E1438 RAM_KeyHolePos2 7E143E RAM_ScrollSprNum 7E148D RAM_RandomByte1 7E148E RAM_RandomByte2 7E1498 RAM_PickUpImgTimer 7E1499 RAM_FaceCamImgTimer 7E149A RAM_KickImgTimer 7E149B RAM_FlashingPalTimer 7E149C RAM_FireballImgTimer 7E14AD RAM_BluePowTimer 7E14AE RAM_SilverPowTimer 7E14AF RAM_OnOffStatus 7E14D4 RAM_SpriteYHi 7E14E0 RAM_SpriteXHi 7E1520 RAM_Reznor1Dead 7E1521 RAM_Reznor2Dead 7E1522 RAM_Reznor3Dead 7E1523 RAM_Reznor4Dead 7E154C RAM_DisableInter 7E157C RAM_SpriteDir 7E1588 RAM_SprObjStatus 7E15A0 RAM_OffscreenHorz 7E15EA RAM_SprOAMIndex 7E15F6 RAM_SpritePal 7E161A RAM_SprIndexInLvl 7E1632 RAM_SprBehindScrn 7E1656 RAM_Tweaker1656 7E1662 RAM_Tweaker1662 7E166E RAM_Tweaker166E 7E167A RAM_Tweaker167A 7E1686 RAM_Tweaker1686 7E1699 RAM_BounceSprNum 7E169D RAM_BounceSprInit 7E16A1 RAM_BounceSprXLo 7E16A5 RAM_BounceSprYLo 7E16A9 RAM_BounceSprXHi 7E16AD RAM_BounceSprYHi 7E16B1 RAM_BouncBlkSpeedX 7E16B5 RAM_BouncBlkSpeedY 7E16C1 RAM_BounceSprBlock 7E16C5 RAM_BounceSprTimer 7E16CD RAM_BouncBlkStatus 7E16E1 RAM_ScoreSprNum 7E16E7 RAM_ScoreSprYLo 7E16ED RAM_ScoreSprXLo 7E16F3 RAM_ScoreSprXHi 7E16F9 RAM_ScoreSprYHi 7E16FF RAM_ScoreSprSpeedY 7E170B RAM_ExSpriteNum 7E1715 RAM_ExSpriteYLo 7E171F RAM_ExSpriteXLo 7E1729 RAM_ExSpriteYHi 7E1733 RAM_ExSpriteXHi 7E173D RAM_ExSprSpeedY 7E1747 RAM_ExSprSpeedX 7E178B RAM_ShooterYLo 7E1793 RAM_ShooterYHi 7E179B RAM_ShooterXLo 7E17A3 RAM_ShooterXHi 7E17AB RAM_ShooterTimer 7E186C RAM_OffscreenVert 7E187A RAM_OnYoshi 7E1887 RAM_ShakeGrndTimer 7E1888 RAM_Layer1DispYLo 7E1889 RAM_Layer1DispYHi 7E18B9 RAM_GeneratorNum 7E18BD RAM_LockMarioTimer 7E18C0 RAM_TimeTillRespawn 7E18C1 RAM_SpriteToRespawn 7E18E7 RAM_YoshiHasStomp 7E190F RAM_Tweaker190F 7E1938 RAM_SprLoadStatus 7F8000 RAM_7F8000 7F8002 RAM_7F8002 7F812E RAM_7F812E 7F8182 RAM_7F8182