;;; Animate Samus ;;; ; First thing it does is JSL to 90:EC58 and calculates Samus's lower/upper boundaries. ; Then it JSRs to ($8067,X), X = $196E AND #$000F (no ASL). Unknown use. ; If Samus is in the normal jumping pose, branch to $8032. ; Decrement the frame timer. If it's positive, return. ; If it's 0 or negative, increment Samus's animation frame and JSR to $82DC. ; Return when $82DC is done (so here on out is just for $82DC) ; 90:82DC handles all the game-mechanics related to animating Samus. ; First off, it gets a pointer to the starting address for the $0A1C's animation frame timers from 91:B010,X (X = 2*$0A1C) ; If the number is positive, ; $84E3 will get a different pointer for the animation frame timer if Samus is running, ; depending on Samus's current speed counter (B5E8, B5F3, B5FE, B609, B614). ; Whichever pointer it has then, ; it's used to find the next animation frame timer and the game is done with 90:8000. ; If the number is negative, ; it first goes to $852C. ; If Samus isn't running, this just loads the value animation frame timer again. ; If she's running without speed boots, it sets everything up and tells $82DC to branch to the end. ; Otherwise, if Samus is running with speed boots, it has a few things to do. ; If Samus has just reached blue suit speed, start the sound for it. ; Set everything up for speed running, and tell $82DC to branch to end. Very inefficient. ; Finally, if the routine doesn't branch to the end (Samus isn't running), ; the last nybble is used as an index for a JSR ($8324,X). ; 0-5 all CLC and RTS. (Stop at last frame) ; 6 causes heavy breathing (go to next animation loop) when low on health (SEC). ; Else go back to start of current animation loop ; 7 is used only when Samus is exhausted (MB or Metroid attack) (SEC). ; (Put #$94CB into $0A58, go to next animation loop) ; 8 makes a lot of checks: If $0A60 is #$E91D or $0A28 is 4B, 4C, 19, or 1A, do nothing. ; Else put #$E926 into $0A60 and use the argument for $0A2C (same as D) ; 9 checks Samus' equipment, if a certain item bit isn't equipped (first 2 bytes of argument), ; use 3rd byte of argument for $0A2C if Samus is moving vertically, 4th if not, ; 5th if item is equipped and Samus is moving vertically, 6th if not moving but equipped. ; 0A32 = #$0003, CLC. Only used by Springball, currently. ; A If Samus isn't falling, use 1st byte of argument for $0A2C, else use second. 0A32 = #$0003, CLC ; B is used by walljumps only, I think. Hardcoded stuff, ; switches to screw attack, space jump, or spinjump ; depending on FX3, Gravity Suit, screw attack, and space jump. ; C checks Samus' equipment, if a certain item bit isn't equipped (first 2 bytes of argument), ; use 3rd byte of argument for $0A2C, else use 4th byte of argument for $0A2C. 0A32 = #$0003, CLC. Springball ; D uses the next byte in the animation frame list for $0A2C, 0A32 = #$0003. ; E backtracks by the argument's amount of frames (SEC). A targeted loop, basically. ; F loops back to frame 0. SEC. Straightforward loop. ; Anyways, if carry is cleared, it's done. Otherwise, it uses the pointer, $0A96 to get the next frame timer $908000 08 PHP $908001 C2 30 REP #$30 $908003 22 58 EC 90 JSL $90EC58[$90:EC58] $908007 AD 6E 19 LDA $196E [$7E:196E] $90800A 29 0F 00 AND #$000F $90800D AA TAX $90800E FC 67 80 JSR ($8067,x)[$90:8078] $908011 AD 1C 0A LDA $0A1C [$7E:0A1C] $908014 C9 4D 00 CMP #$004D $908017 F0 19 BEQ $19 [$8032] $908019 C9 4E 00 CMP #$004E $90801C F0 14 BEQ $14 [$8032] $90801E AD 94 0A LDA $0A94 [$7E:0A94] $908021 3A DEC A $908022 8D 94 0A STA $0A94 [$7E:0A94] $908025 F0 02 BEQ $02 [$8029] $908027 10 3C BPL $3C [$8065] $908029 AD 96 0A LDA $0A96 [$7E:0A96] $90802C 1A INC A $90802D 8D 96 0A STA $0A96 [$7E:0A96] $908030 80 30 BRA $30 [$8062] $908032 AD 36 0B LDA $0B36 [$7E:0B36] $908035 C9 02 00 CMP #$0002 $908038 F0 16 BEQ $16 [$8050] $90803A AD 96 0A LDA $0A96 [$7E:0A96] $90803D C9 01 00 CMP #$0001 $908040 D0 0E BNE $0E [$8050] $908042 AD 94 0A LDA $0A94 [$7E:0A94] $908045 C9 01 00 CMP #$0001 $908048 D0 06 BNE $06 [$8050] $90804A A9 04 00 LDA #$0004 $90804D 8D 94 0A STA $0A94 [$7E:0A94] $908050 AD 94 0A LDA $0A94 [$7E:0A94] $908053 3A DEC A $908054 8D 94 0A STA $0A94 [$7E:0A94] $908057 F0 02 BEQ $02 [$805B] $908059 10 0A BPL $0A [$8065] $90805B AD 96 0A LDA $0A96 [$7E:0A96] $90805E 1A INC A $90805F 8D 96 0A STA $0A96 [$7E:0A96] $908062 20 DC 82 JSR $82DC [$90:82DC] $908065 28 PLP $908066 60 RTS $908067 dw 8078, 81C0, 8219, 80B8, 8077, 8077, 8077, 8077 $908077 60 RTS ;;; ;;; $908078 AD 66 0A LDA $0A66 [$7E:0A66] $90807B 8D 9C 0A STA $0A9C [$7E:0A9C] $90807E AD D2 0A LDA $0AD2 [$7E:0AD2] $908081 F0 34 BEQ $34 [$80B7] $908083 89 01 00 BIT #$0001 $908086 D0 04 BNE $04 [$808C] $908088 9C D2 0A STZ $0AD2 [$7E:0AD2] $90808B 60 RTS $90808C 9C D2 0A STZ $0AD2 [$7E:0AD2] $90808F A9 0E 00 LDA #$000E $908092 22 CB 90 80 JSL $8090CB[$80:90CB] $908096 AD 74 0A LDA $0A74 [$7E:0A74] $908099 89 04 00 BIT #$0004 $90809C D0 17 BNE $17 [$80B5] $90809E AD 1F 0A LDA $0A1F [$7E:0A1F] $9080A1 29 FF 00 AND #$00FF $9080A4 C9 03 00 CMP #$0003 $9080A7 F0 05 BEQ $05 [$80AE] $9080A9 C9 14 00 CMP #$0014 $9080AC D0 07 BNE $07 [$80B5] $9080AE A9 30 00 LDA #$0030 $9080B1 22 49 90 80 JSL $809049[$80:9049] $9080B5 80 2F BRA $2F [$80E6] $9080B7 60 RTS ;;; ;;; $9080B8 AD 5E 19 LDA $195E [$7E:195E] $9080BB 30 BB BMI $BB [$8078] $9080BD C5 12 CMP $12 [$7E:0012] $9080BF 30 02 BMI $02 [$80C3] $9080C1 80 B5 BRA $B5 [$8078] $9080C3 AD 7E 19 LDA $197E [$7E:197E] $9080C6 89 04 00 BIT #$0004 $9080C9 D0 AD BNE $AD [$8078] $9080CB AD 93 9E LDA $9E93 [$90:9E93] $9080CE 8D 9C 0A STA $0A9C [$7E:0A9C] $9080D1 AD D2 0A LDA $0AD2 [$7E:0AD2] $9080D4 C9 01 00 CMP #$0001 $9080D7 F0 65 BEQ $65 [$813E] $9080D9 A9 01 00 LDA #$0001 $9080DC 8D D2 0A STA $0AD2 [$7E:0AD2] $9080DF A9 0D 00 LDA #$000D $9080E2 22 CB 90 80 JSL $8090CB[$80:90CB] $9080E6 AD 1F 0A LDA $0A1F [$7E:0A1F] $9080E9 29 FF 00 AND #$00FF $9080EC AA TAX $9080ED BD A4 81 LDA $81A4,x[$90:81A7] $9080F0 29 FF 00 AND #$00FF $9080F3 D0 1A BNE $1A [$810F] $9080F5 A9 00 03 LDA #$0300 $9080F8 8D EC 0A STA $0AEC [$7E:0AEC] $9080FB A9 02 00 LDA #$0002 $9080FE 8D D4 0A STA $0AD4 [$7E:0AD4] $908101 AD F6 0A LDA $0AF6 [$7E:0AF6] $908104 8D DC 0A STA $0ADC [$7E:0ADC] $908107 AD 5E 19 LDA $195E [$7E:195E] $90810A 8D E4 0A STA $0AE4 [$7E:0AE4] $90810D 80 2F BRA $2F [$813E] $90810F A9 00 01 LDA #$0100 $908112 8D EC 0A STA $0AEC [$7E:0AEC] $908115 8D EE 0A STA $0AEE [$7E:0AEE] $908118 A9 03 00 LDA #$0003 $90811B 8D D4 0A STA $0AD4 [$7E:0AD4] $90811E 8D D6 0A STA $0AD6 [$7E:0AD6] $908121 AD F6 0A LDA $0AF6 [$7E:0AF6] $908124 18 CLC $908125 69 04 00 ADC #$0004 $908128 8D DC 0A STA $0ADC [$7E:0ADC] $90812B 38 SEC $90812C E9 07 00 SBC #$0007 $90812F 8D DE 0A STA $0ADE [$7E:0ADE] $908132 A5 12 LDA $12 [$7E:0012] $908134 38 SEC $908135 E9 04 00 SBC #$0004 $908138 8D E4 0A STA $0AE4 [$7E:0AE4] $90813B 8D E6 0A STA $0AE6 [$7E:0AE6] $90813E A5 14 LDA $14 [$7E:0014] $908140 38 SEC $908141 E9 18 00 SBC #$0018 $908144 CD 5E 19 CMP $195E [$7E:195E] $908147 30 42 BMI $42 [$818B] $908149 AD B6 05 LDA $05B6 [$7E:05B6] $90814C 89 7F 00 BIT #$007F $90814F D0 3A BNE $3A [$818B] $908151 AD F0 0A LDA $0AF0 [$7E:0AF0] $908154 D0 35 BNE $35 [$818B] $908156 A9 00 05 LDA #$0500 $908159 8D F0 0A STA $0AF0 [$7E:0AF0] $90815C A9 03 00 LDA #$0003 $90815F 8D D8 0A STA $0AD8 [$7E:0AD8] $908162 AD F6 0A LDA $0AF6 [$7E:0AF6] $908165 8D E0 0A STA $0AE0 [$7E:0AE0] $908168 AD FA 0A LDA $0AFA [$7E:0AFA] $90816B 38 SEC $90816C ED 00 0B SBC $0B00 [$7E:0B00] $90816F 18 CLC $908170 69 06 00 ADC #$0006 $908173 8D E8 0A STA $0AE8 [$7E:0AE8] $908176 22 11 81 80 JSL $808111[$80:8111] $90817A 89 01 00 BIT #$0001 $90817D F0 05 BEQ $05 [$8184] $90817F A9 0F 00 LDA #$000F $908182 80 03 BRA $03 [$8187] $908184 A9 11 00 LDA #$0011 $908187 22 CB 90 80 JSL $8090CB[$80:90CB] $90818B AD 1C 0A LDA $0A1C [$7E:0A1C] $90818E C9 00 00 CMP #$0000 $908191 F0 0D BEQ $0D [$81A0] $908193 C9 9B 00 CMP #$009B $908196 F0 08 BEQ $08 [$81A0] $908198 AD A2 09 LDA $09A2 [$7E:09A2] $90819B 89 20 00 BIT #$0020 $90819E F0 03 BEQ $03 [$81A3] $9081A0 9C 9C 0A STZ $0A9C [$7E:0A9C] $9081A3 60 RTS $9081A4 db 01, 00, 00, 00, 01, 01, 00, 00, 00, 00, 00, 00 $9081B5 db 01, 00, 00, 00, 01, 00, 00, 00, 00, 00, 00 ;;; ;;; ; Contains lava damage / gravity suit check $9081C0 AD 62 19 LDA $1962 [$7E:1962] $9081C3 30 47 BMI $47 [$820C] $9081C5 C5 12 CMP $12 [$7E:0012] $9081C7 10 43 BPL $43 [$820C] $9081C9 AD 3E 0B LDA $0B3E [$7E:0B3E] $9081CC F0 0A BEQ $0A [$81D8] $9081CE 22 53 DE 91 JSL $91DE53[$91:DE53] $9081D2 9C 42 0B STZ $0B42 [$7E:0B42] $9081D5 9C 44 0B STZ $0B44 [$7E:0B44] $9081D8 AD A2 09 LDA $09A2 [$7E:09A2] $9081DB 89 20 00 BIT #$0020 $9081DE D0 2F BNE $2F [$820F] $9081E0 AD DA 09 LDA $09DA [$7E:09DA] $9081E3 89 07 00 BIT #$0007 $9081E6 D0 0F BNE $0F [$81F7] $9081E8 AD C2 09 LDA $09C2 [$7E:09C2] $9081EB C9 47 00 CMP #$0047 $9081EE 30 07 BMI $07 [$81F7] $9081F0 A9 2D 00 LDA #$002D $9081F3 22 39 91 80 JSL $809139[$80:9139] $9081F7 AD 4E 0A LDA $0A4E [$7E:0A4E] $9081FA 18 CLC $9081FB 6D 8B 9E ADC $9E8B [$90:9E8B] $9081FE 8D 4E 0A STA $0A4E [$7E:0A4E] $908201 AD 50 0A LDA $0A50 [$7E:0A50] $908204 6D 8D 9E ADC $9E8D [$90:9E8D] $908207 8D 50 0A STA $0A50 [$7E:0A50] $90820A 80 40 BRA $40 [$824C] $90820C 4C 78 80 JMP $8078 [$90:8078] $90820F 9C 9C 0A STZ $0A9C [$7E:0A9C] $908212 A9 02 00 LDA #$0002 $908215 8D D2 0A STA $0AD2 [$7E:0AD2] $908218 60 RTS ;;; ;;; $908219 AD 62 19 LDA $1962 [$7E:1962] $90821C 30 EE BMI $EE [$820C] $90821E C5 12 CMP $12 [$7E:0012] $908220 10 EA BPL $EA [$820C] $908222 AD DA 09 LDA $09DA [$7E:09DA] $908225 89 07 00 BIT #$0007 $908228 D0 0F BNE $0F [$8239] $90822A AD C2 09 LDA $09C2 [$7E:09C2] $90822D C9 47 00 CMP #$0047 $908230 30 07 BMI $07 [$8239] $908232 A9 2D 00 LDA #$002D $908235 22 39 91 80 JSL $809139[$80:9139] $908239 AD 4E 0A LDA $0A4E [$7E:0A4E] $90823C 18 CLC $90823D 6D 8F 9E ADC $9E8F [$90:9E8F] $908240 8D 4E 0A STA $0A4E [$7E:0A4E] $908243 AD 50 0A LDA $0A50 [$7E:0A50] $908246 6D 91 9E ADC $9E91 [$90:9E91] $908249 8D 50 0A STA $0A50 [$7E:0A50] $90824C AD 95 9E LDA $9E95 [$90:9E95] $90824F 8D 9C 0A STA $0A9C [$7E:0A9C] $908252 A9 02 00 LDA #$0002 $908255 8D D2 0A STA $0AD2 [$7E:0AD2] $908258 A5 14 LDA $14 [$7E:0014] $90825A CD 62 19 CMP $1962 [$7E:1962] $90825D 10 64 BPL $64 [$82C3] $90825F AD EC 0A LDA $0AEC [$7E:0AEC] $908262 89 00 04 BIT #$0400 $908265 D0 5C BNE $5C [$82C3] $908267 A9 00 04 LDA #$0400 $90826A 8D EC 0A STA $0AEC [$7E:0AEC] $90826D 8D EE 0A STA $0AEE [$7E:0AEE] $908270 8D F0 0A STA $0AF0 [$7E:0AF0] $908273 8D F2 0A STA $0AF2 [$7E:0AF2] $908276 A9 03 00 LDA #$0003 $908279 8D D4 0A STA $0AD4 [$7E:0AD4] $90827C 8D DA 0A STA $0ADA [$7E:0ADA] $90827F A9 02 80 LDA #$8002 $908282 8D D6 0A STA $0AD6 [$7E:0AD6] $908285 8D D8 0A STA $0AD8 [$7E:0AD8] $908288 AD 62 19 LDA $1962 [$7E:1962] $90828B 8D E4 0A STA $0AE4 [$7E:0AE4] $90828E 8D E6 0A STA $0AE6 [$7E:0AE6] $908291 8D E8 0A STA $0AE8 [$7E:0AE8] $908294 8D EA 0A STA $0AEA [$7E:0AEA] $908297 AD F6 0A LDA $0AF6 [$7E:0AF6] $90829A 18 CLC $90829B 69 06 00 ADC #$0006 $90829E 8D DC 0A STA $0ADC [$7E:0ADC] $9082A1 38 SEC $9082A2 E9 06 00 SBC #$0006 $9082A5 8D DE 0A STA $0ADE [$7E:0ADE] $9082A8 E9 00 00 SBC #$0000 $9082AB 8D E0 0A STA $0AE0 [$7E:0AE0] $9082AE E9 06 00 SBC #$0006 $9082B1 8D E2 0A STA $0AE2 [$7E:0AE2] $9082B4 AD DA 09 LDA $09DA [$7E:09DA] $9082B7 89 01 00 BIT #$0001 $9082BA D0 07 BNE $07 [$82C3] $9082BC A9 10 00 LDA #$0010 $9082BF 22 CB 90 80 JSL $8090CB[$80:90CB] $9082C3 AD 1C 0A LDA $0A1C [$7E:0A1C] $9082C6 C9 00 00 CMP #$0000 $9082C9 F0 0D BEQ $0D [$82D8] $9082CB C9 9B 00 CMP #$009B $9082CE F0 08 BEQ $08 [$82D8] $9082D0 AD A2 09 LDA $09A2 [$7E:09A2] $9082D3 89 20 00 BIT #$0020 $9082D6 F0 03 BEQ $03 [$82DB] $9082D8 9C 9C 0A STZ $0A9C [$7E:0A9C] $9082DB 60 RTS ;;; ;;; $9082DC 08 PHP $9082DD E2 20 SEP #$20 $9082DF 8B PHB $9082E0 A9 91 LDA #$91 $9082E2 85 02 STA $02 [$7E:0002] $9082E4 48 PHA $9082E5 AB PLB $9082E6 C2 30 REP #$30 $9082E8 AC 96 0A LDY $0A96 [$7E:0A96] $9082EB AD 1C 0A LDA $0A1C [$7E:0A1C] $9082EE 0A ASL A $9082EF AA TAX $9082F0 BF 10 B0 91 LDA $91B010,x[$91:B014] $9082F4 85 00 STA $00 [$7E:0000] $9082F6 B7 00 LDA [$00],y[$91:B299] $9082F8 29 FF 00 AND #$00FF $9082FB 89 80 00 BIT #$0080 $9082FE D0 05 BNE $05 [$8305] $908300 20 E3 84 JSR $84E3 [$90:84E3] $908303 80 1C BRA $1C [$8321] $908305 20 2C 85 JSR $852C [$90:852C] $908308 AA TAX $908309 F0 16 BEQ $16 [$8321] $90830B 29 0F 00 AND #$000F $90830E 0A ASL A $90830F AA TAX $908310 FC 24 83 JSR ($8324,x)[$90:8346] $908313 90 0C BCC $0C [$8321] $908315 B7 00 LDA [$00],y[$91:B298] $908317 29 FF 00 AND #$00FF $90831A 18 CLC $90831B 6D 9C 0A ADC $0A9C [$7E:0A9C] $90831E 8D 94 0A STA $0A94 [$7E:0A94] $908321 AB PLB $908322 28 PLP $908323 60 RTS $908324 db 44 $908330 db 46 $908332 db 60 $908334 db 70 $908336 db 9A $90833A db 1D $90833E db B6 $908340 db C7 $908342 db DB $908344 18 CLC $908345 60 RTS $908346 AD C2 09 LDA $09C2 [$7E:09C2] $908349 C9 1E 00 CMP #$001E $90834C 30 08 BMI $08 [$8356] $90834E A0 00 00 LDY #$0000 $908351 8C 96 0A STY $0A96 [$7E:0A96] $908354 38 SEC $908355 60 RTS $908356 AD 96 0A LDA $0A96 [$7E:0A96] $908359 1A INC A $90835A 8D 96 0A STA $0A96 [$7E:0A96] $90835D A8 TAY $90835E 38 SEC $90835F 60 RTS $908360 A9 CB 94 LDA #$94CB $908363 8D 58 0A STA $0A58 [$7E:0A58] $908366 AD 96 0A LDA $0A96 [$7E:0A96] $908369 1A INC A $90836A 8D 96 0A STA $0A96 [$7E:0A96] $90836D A8 TAY $90836E 38 SEC $90836F 60 RTS $908370 AD 60 0A LDA $0A60 [$7E:0A60] $908373 C9 1D E9 CMP #$E91D $908376 F0 1D BEQ $1D [$8395] $908378 AD 28 0A LDA $0A28 [$7E:0A28] $90837B C9 4B 00 CMP #$004B $90837E F0 18 BEQ $18 [$8398] $908380 C9 4C 00 CMP #$004C $908383 F0 13 BEQ $13 [$8398] $908385 C9 19 00 CMP #$0019 $908388 F0 0E BEQ $0E [$8398] $90838A C9 1A 00 CMP #$001A $90838D F0 09 BEQ $09 [$8398] $90838F A9 26 E9 LDA #$E926 $908392 8D 60 0A STA $0A60 [$7E:0A60] $908395 4C B6 84 JMP $84B6 [$90:84B6] $908398 18 CLC $908399 60 RTS $90839A C8 INY $90839B B7 00 LDA [$00],y[$91:B4CB] $90839D 85 12 STA $12 [$7E:0012] $90839F AD A2 09 LDA $09A2 [$7E:09A2] $9083A2 24 12 BIT $12 [$7E:0012] $9083A4 D0 23 BNE $23 [$83C9] $9083A6 AD 2E 0B LDA $0B2E [$7E:0B2E] $9083A9 D0 11 BNE $11 [$83BC] $9083AB AD 2C 0B LDA $0B2C [$7E:0B2C] $9083AE D0 0C BNE $0C [$83BC] $9083B0 C8 INY $9083B1 C8 INY $9083B2 B7 00 LDA [$00],y[$91:B4CD] $9083B4 29 FF 00 AND #$00FF $9083B7 8D 2C 0A STA $0A2C [$7E:0A2C] $9083BA 80 32 BRA $32 [$83EE] $9083BC C8 INY $9083BD C8 INY $9083BE C8 INY $9083BF B7 00 LDA [$00],y[$91:B4D7] $9083C1 29 FF 00 AND #$00FF $9083C4 8D 2C 0A STA $0A2C [$7E:0A2C] $9083C7 80 25 BRA $25 [$83EE] $9083C9 AD 2E 0B LDA $0B2E [$7E:0B2E] $9083CC D0 13 BNE $13 [$83E1] $9083CE AD 2C 0B LDA $0B2C [$7E:0B2C] $9083D1 D0 0E BNE $0E [$83E1] $9083D3 C8 INY $9083D4 C8 INY $9083D5 C8 INY $9083D6 C8 INY $9083D7 B7 00 LDA [$00],y[$91:B4D8] $9083D9 29 FF 00 AND #$00FF $9083DC 8D 2C 0A STA $0A2C [$7E:0A2C] $9083DF 80 0D BRA $0D [$83EE] $9083E1 C8 INY $9083E2 C8 INY $9083E3 C8 INY $9083E4 C8 INY $9083E5 C8 INY $9083E6 B7 00 LDA [$00],y[$91:B4D0] $9083E8 29 FF 00 AND #$00FF $9083EB 8D 2C 0A STA $0A2C [$7E:0A2C] $9083EE A9 03 00 LDA #$0003 $9083F1 8D 32 0A STA $0A32 [$7E:0A32] $9083F4 18 CLC $9083F5 60 RTS $90841D AD A2 09 LDA $09A2 [$7E:09A2] $908420 89 20 00 BIT #$0020 $908423 D0 20 BNE $20 [$8445] $908425 22 58 EC 90 JSL $90EC58[$90:EC58] $908429 AD 5E 19 LDA $195E [$7E:195E] $90842C 30 0E BMI $0E [$843C] $90842E C5 14 CMP $14 [$7E:0014] $908430 10 13 BPL $13 [$8445] $90843C AD 62 19 LDA $1962 [$7E:1962] $90843F 30 04 BMI $04 [$8445] $908441 C5 14 CMP $14 [$7E:0014] $908443 30 0D BMI $0D [$8452] $908445 AD A2 09 LDA $09A2 [$7E:09A2] $908448 89 08 00 BIT #$0008 $90844B D0 2A BNE $2A [$8477] $90844D 89 00 02 BIT #$0200 $908450 D0 11 BNE $11 [$8463] $908452 A9 31 00 LDA #$0031 $908455 22 49 90 80 JSL $809049[$80:9049] $908459 AD 96 0A LDA $0A96 [$7E:0A96] $90845C 1A INC A $90845D 8D 96 0A STA $0A96 [$7E:0A96] $908460 A8 TAY $908461 38 SEC $908462 60 RTS $908463 A9 3E 00 LDA #$003E $908466 22 49 90 80 JSL $809049[$80:9049] $90846A AD 96 0A LDA $0A96 [$7E:0A96] $90846D 18 CLC $90846E 69 0B 00 ADC #$000B $908471 8D 96 0A STA $0A96 [$7E:0A96] $908474 A8 TAY $908475 38 SEC $908476 60 RTS $908477 A9 33 00 LDA #$0033 $90847A 22 49 90 80 JSL $809049[$80:9049] $90847E AD 96 0A LDA $0A96 [$7E:0A96] $908481 18 CLC $908482 69 15 00 ADC #$0015 $908485 8D 96 0A STA $0A96 [$7E:0A96] $908488 A8 TAY $908489 38 SEC $90848A 60 RTS $9084B6 C8 INY $9084B7 B7 00 LDA [$00],y[$91:B234] $9084B9 29 FF 00 AND #$00FF $9084BC 8D 2C 0A STA $0A2C [$7E:0A2C] $9084BF A9 03 00 LDA #$0003 $9084C2 8D 32 0A STA $0A32 [$7E:0A32] $9084C5 18 CLC $9084C6 60 RTS $9084C7 C8 INY $9084C8 B7 00 LDA [$00],y[$91:B34E] $9084CA 29 FF 00 AND #$00FF $9084CD 85 12 STA $12 [$7E:0012] $9084CF AD 96 0A LDA $0A96 [$7E:0A96] $9084D2 38 SEC $9084D3 E5 12 SBC $12 [$7E:0012] $9084D5 8D 96 0A STA $0A96 [$7E:0A96] $9084D8 A8 TAY $9084D9 38 SEC $9084DA 60 RTS $9084DB A0 00 00 LDY #$0000 $9084DE 8C 96 0A STY $0A96 [$7E:0A96] $9084E1 38 SEC $9084E2 60 RTS $9084E3 08 PHP $9084E4 E2 20 SEP #$20 $9084E6 8B PHB $9084E7 A9 91 LDA #$91 $9084E9 85 02 STA $02 [$7E:0002] $9084EB 48 PHA $9084EC AB PLB $9084ED C2 30 REP #$30 $9084EF AD 3C 0B LDA $0B3C [$7E:0B3C] $9084F2 F0 29 BEQ $29 [$851D] $9084F4 AD 1F 0A LDA $0A1F [$7E:0A1F] $9084F7 29 FF 00 AND #$00FF $9084FA C9 01 00 CMP #$0001 $9084FD D0 1E BNE $1E [$851D] $9084FF AD A2 09 LDA $09A2 [$7E:09A2] $908502 89 00 20 BIT #$2000 $908505 F0 10 BEQ $10 [$8517] $908507 AD 3F 0B LDA $0B3F [$7E:0B3F] $90850A 29 FF 00 AND #$00FF $90850D 0A ASL A $90850E AA TAX $90850F BF DE B5 91 LDA $91B5DE,x[$91:B5DE] $908513 85 00 STA $00 [$7E:0000] $908515 80 06 BRA $06 [$851D] $908517 AF D1 B5 91 LDA $91B5D1[$91:B5D1] $90851B 85 00 STA $00 [$7E:0000] $90851D B7 00 LDA [$00],y[$91:B299] $90851F 29 FF 00 AND #$00FF $908522 18 CLC $908523 6D 9C 0A ADC $0A9C [$7E:0A9C] $908526 8D 94 0A STA $0A94 [$7E:0A94] $908529 AB PLB $90852A 28 PLP $90852B 60 RTS $90852C 08 PHP $90852D E2 20 SEP #$20 $90852F 8B PHB $908530 A9 91 LDA #$91 $908532 85 02 STA $02 [$7E:0002] $908534 48 PHA $908535 AB PLB $908536 C2 30 REP #$30 $908538 AD 3C 0B LDA $0B3C [$7E:0B3C] $90853B D0 03 BNE $03 [$8540] $90853D 4C DA 85 JMP $85DA [$90:85DA] $908540 A5 8B LDA $8B [$7E:008B] $908542 2C B6 09 BIT $09B6 [$7E:09B6] $908545 D0 03 BNE $03 [$854A] $908547 4C DA 85 JMP $85DA [$90:85DA] $90854A AD 1F 0A LDA $0A1F [$7E:0A1F] $90854D 29 FF 00 AND #$00FF $908550 C9 01 00 CMP #$0001 $908553 F0 03 BEQ $03 [$8558] $908555 4C DA 85 JMP $85DA [$90:85DA] $908558 AD A2 09 LDA $09A2 [$7E:09A2] $90855B 89 00 20 BIT #$2000 $90855E D0 1D BNE $1D [$857D] $908560 A0 00 00 LDY #$0000 $908563 8C 96 0A STY $0A96 [$7E:0A96] $908566 AF D1 B5 91 LDA $91B5D1[$91:B5D1] $90856A 85 00 STA $00 [$7E:0000] $90856C B7 00 LDA [$00],y[$91:B5D3] $90856E 29 FF 00 AND #$00FF $908571 18 CLC $908572 6D 9C 0A ADC $0A9C [$7E:0A9C] $908575 8D 94 0A STA $0A94 [$7E:0A94] $908578 A9 00 00 LDA #$0000 $90857B 80 62 BRA $62 [$85DF] $90857D AD 3E 0B LDA $0B3E [$7E:0B3E] $908580 3A DEC A $908581 8D 3E 0B STA $0B3E [$7E:0B3E] $908584 89 FF 00 BIT #$00FF $908587 D0 51 BNE $51 [$85DA] $908589 AD 3E 0B LDA $0B3E [$7E:0B3E] $90858C 89 00 04 BIT #$0400 $90858F D0 19 BNE $19 [$85AA] $908591 18 CLC $908592 69 00 01 ADC #$0100 $908595 8D 3E 0B STA $0B3E [$7E:0B3E] $908598 89 00 04 BIT #$0400 $90859B F0 0D BEQ $0D [$85AA] $90859D A9 01 00 LDA #$0001 $9085A0 8D 40 0B STA $0B40 [$7E:0B40] $9085A3 A9 03 00 LDA #$0003 $9085A6 22 4D 91 80 JSL $80914D[$80:914D] $9085AA EB XBA $9085AB 29 FF 00 AND #$00FF $9085AE 0A ASL A $9085AF AA TAX $9085B0 AD 3E 0B LDA $0B3E [$7E:0B3E] $9085B3 29 00 FF AND #$FF00 $9085B6 1F 1F B6 91 ORA $91B61F,x[$91:B621] $9085BA 8D 3E 0B STA $0B3E [$7E:0B3E] $9085BD A0 00 00 LDY #$0000 $9085C0 8C 96 0A STY $0A96 [$7E:0A96] $9085C3 BF DE B5 91 LDA $91B5DE,x[$91:B5E0] $9085C7 85 00 STA $00 [$7E:0000] $9085C9 B7 00 LDA [$00],y[$91:B5F3] $9085CB 29 FF 00 AND #$00FF $9085CE 18 CLC $9085CF 6D 9C 0A ADC $0A9C [$7E:0A9C] $9085D2 8D 94 0A STA $0A94 [$7E:0A94] $9085D5 A9 00 00 LDA #$0000 $9085D8 80 05 BRA $05 [$85DF] $9085DA B7 00 LDA [$00],y[$91:B29C] $9085DC 29 FF 00 AND #$00FF $9085DF AB PLB $9085E0 28 PLP $9085E1 60 RTS ;;; Draw Samus ;;; $9085E2 08 PHP $9085E3 8B PHB $9085E4 E2 20 SEP #$20 $9085E6 A9 92 LDA #$92 $9085E8 48 PHA $9085E9 AB PLB $9085EA C2 30 REP #$30 $9085EC AD AA 18 LDA $18AA [$7E:18AA] $9085EF D0 15 BNE $15 [$8606] $9085F1 AD A8 18 LDA $18A8 [$7E:18A8] $9085F4 F0 10 BEQ $10 [$8606] $9085F6 AD 68 0A LDA $0A68 [$7E:0A68] $9085F9 D0 0B BNE $0B [$8606] $9085FB AD B6 05 LDA $05B6 [$7E:05B6] $9085FE 89 01 00 BIT #$0001 $908601 F0 03 BEQ $03 [$8606] $908603 4C 47 86 JMP $8647 [$90:8647] $908606 AD 1C 0A LDA $0A1C [$7E:0A1C] $908609 0A ASL A $90860A AA TAX $90860B DA PHX $90860C BF 63 92 92 LDA $929263,x[$92:9267] $908610 18 CLC $908611 6D 96 0A ADC $0A96 [$7E:0A96] $908614 8D C8 0A STA $0AC8 [$7E:0AC8] $908617 48 PHA $908618 20 1F 8C JSR $8C1F [$90:8C1F] $90861B 68 PLA $90861C 22 AE 89 81 JSL $8189AE[$81:89AE] $908620 FA PLX $908621 86 24 STX $24 [$7E:0024] $908623 AD 1F 0A LDA $0A1F [$7E:0A1F] $908626 29 FF 00 AND #$00FF $908629 0A ASL A $90862A AA TAX $90862B FC 4E 86 JSR ($864E,x)[$90:868D] $90862E 90 17 BCC $17 [$8647] $908630 A6 24 LDX $24 [$7E:0024] $908632 BF 5D 94 92 LDA $92945D,x[$92:9461] $908636 18 CLC $908637 6D 96 0A ADC $0A96 [$7E:0A96] $90863A 8D CA 0A STA $0ACA [$7E:0ACA] $90863D AE 04 0B LDX $0B04 [$7E:0B04] $908640 AC 06 0B LDY $0B06 [$7E:0B06] $908643 22 AE 89 81 JSL $8189AE[$81:89AE] $908647 22 00 80 92 JSL $928000[$92:8000] $90864B AB PLB $90864C 28 PLP $90864D 60 RTS $90864E db 8D $908650 db 86 $908652 db 86 $908654 db C6 $908656 db 88 $908658 db 86 $90865A db 86 $90865E db 88 $908662 db EE $90866A db 86 $90866C db 0C $90866E db 86 $908670 db 88 $908672 db 88 $908674 db 88 $908676 db 68 $908678 db 86 $90867A db 86 $90867C db 86 $90867E db 86 $908680 db 7C $908682 db 86 $908684 db 90 $908686 38 SEC $908687 60 RTS $908688 9C CA 0A STZ $0ACA [$7E:0ACA] $90868B 18 CLC $90868C 60 RTS $90868D AD 1C 0A LDA $0A1C [$7E:0A1C] $908690 C9 00 00 CMP #$0000 $908693 F0 02 BEQ $02 [$8697] $908695 38 SEC $908696 60 RTS $908697 AE 90 05 LDX $0590 [$7E:0590] $90869A AD F6 0A LDA $0AF6 [$7E:0AF6] $90869D 38 SEC $90869E E9 07 00 SBC #$0007 $9086A1 38 SEC $9086A2 ED 11 09 SBC $0911 [$7E:0911] $9086A5 9D 70 03 STA $0370,x[$7E:0398] $9086A8 AD FA 0A LDA $0AFA [$7E:0AFA] $9086AB 38 SEC $9086AC E9 11 00 SBC #$0011 $9086AF 38 SEC $9086B0 ED 15 09 SBC $0915 [$7E:0915] $9086B3 9D 71 03 STA $0371,x[$7E:0399] $9086B6 A9 21 38 LDA #$3821 $9086B9 9D 72 03 STA $0372,x[$7E:039A] $9086BC 8A TXA $9086BD 18 CLC $9086BE 69 04 00 ADC #$0004 $9086C1 8D 90 05 STA $0590 [$7E:0590] $9086C4 80 CF BRA $CF [$8695] $9086C6 AD 1C 0A LDA $0A1C [$7E:0A1C] $9086C9 C9 81 00 CMP #$0081 $9086CC F0 14 BEQ $14 [$86E2] $9086CE C9 82 00 CMP #$0082 $9086D1 F0 0F BEQ $0F [$86E2] $9086D3 C9 1B 00 CMP #$001B $9086D6 F0 0A BEQ $0A [$86E2] $9086D8 C9 1C 00 CMP #$001C $9086DB F0 05 BEQ $05 [$86E2] $9086DD AD 96 0A LDA $0A96 [$7E:0A96] $9086E0 D0 02 BNE $02 [$86E4] $9086E2 38 SEC $9086E3 60 RTS $9086E4 C9 0B 00 CMP #$000B $9086E7 10 F9 BPL $F9 [$86E2] $9086E9 9C CA 0A STZ $0ACA [$7E:0ACA] $9086EC 18 CLC $9086ED 60 RTS $9086EE AD 1C 0A LDA $0A1C [$7E:0A1C] $9086F1 C9 D7 00 CMP #$00D7 $9086F4 F0 07 BEQ $07 [$86FD] $9086F6 C9 D8 00 CMP #$00D8 $9086F9 F0 02 BEQ $02 [$86FD] $9086FB 80 08 BRA $08 [$8705] $9086FD AD 96 0A LDA $0A96 [$7E:0A96] $908700 C9 03 00 CMP #$0003 $908703 30 02 BMI $02 [$8707] $908705 38 SEC $908706 60 RTS $90870C AD 1C 0A LDA $0A1C [$7E:0A1C] $90870F C9 F1 00 CMP #$00F1 $908712 10 1B BPL $1B [$872F] $908714 C9 DB 00 CMP #$00DB $908717 10 1D BPL $1D [$8736] $908719 C9 35 00 CMP #$0035 $90871C F0 11 BEQ $11 [$872F] $90871E C9 36 00 CMP #$0036 $908721 F0 0C BEQ $0C [$872F] $908723 C9 3B 00 CMP #$003B $908726 F0 07 BEQ $07 [$872F] $908728 C9 3C 00 CMP #$003C $90872B F0 02 BEQ $02 [$872F] $90872D 80 02 BRA $02 [$8731] $90872F 38 SEC $908730 60 RTS $908731 9C CA 0A STZ $0ACA [$7E:0ACA] $908734 18 CLC $908735 60 RTS $908768 AD 96 0A LDA $0A96 [$7E:0A96] $90876B C9 03 00 CMP #$0003 $90876E 10 02 BPL $02 [$8772] $908770 38 SEC $908771 60 RTS $908772 C9 0D 00 CMP #$000D $908775 10 F9 BPL $F9 [$8770] $908777 9C CA 0A STZ $0ACA [$7E:0ACA] $90877A 18 CLC $90877B 60 RTS $90877C AD 96 0A LDA $0A96 [$7E:0A96] $90877F C9 02 00 CMP #$0002 $908782 10 02 BPL $02 [$8786] $908784 38 SEC $908785 60 RTS $908786 C9 09 00 CMP #$0009 $908789 10 F9 BPL $F9 [$8784] $90878B 9C CA 0A STZ $0ACA [$7E:0ACA] $90878E 18 CLC $90878F 60 RTS $908790 AD 1C 0A LDA $0A1C [$7E:0A1C] $908793 C9 CF 00 CMP #$00CF $908796 10 0C BPL $0C [$87A4] $908798 C9 CB 00 CMP #$00CB $90879B F0 1B BEQ $1B [$87B8] $90879D C9 CC 00 CMP #$00CC $9087A0 F0 16 BEQ $16 [$87B8] $9087A2 80 12 BRA $12 [$87B6] $9087A4 C9 E8 00 CMP #$00E8 $9087A7 F0 05 BEQ $05 [$87AE] $9087A9 C9 E9 00 CMP #$00E9 $9087AC D0 08 BNE $08 [$87B6] $9087AE AD 96 0A LDA $0A96 [$7E:0A96] $9087B1 C9 02 00 CMP #$0002 $9087B4 30 02 BMI $02 [$87B8] $9087B6 38 SEC $9087B7 60 RTS $9087B8 9C CA 0A STZ $0ACA [$7E:0ACA] $9087BB 18 CLC $9087BC 60 RTS ;;; Draw Samus' echoes ;;; $9087BD 08 PHP $9087BE C2 30 REP #$30 $9087C0 AD AE 0A LDA $0AAE [$7E:0AAE] $9087C3 30 25 BMI $25 [$87EA] $9087C5 AD 3E 0B LDA $0B3E [$7E:0B3E] $9087C8 29 00 FF AND #$FF00 $9087CB C9 00 04 CMP #$0400 $9087CE F0 02 BEQ $02 [$87D2] $9087D0 28 PLP $9087D1 60 RTS $9087D2 AD B2 0A LDA $0AB2 [$7E:0AB2] $9087D5 F0 06 BEQ $06 [$87DD] $9087D7 A0 02 00 LDY #$0002 $9087DA 20 55 88 JSR $8855 [$90:8855] $9087DD AD B0 0A LDA $0AB0 [$7E:0AB0] $9087E0 F0 06 BEQ $06 [$87E8] $9087E2 A0 00 00 LDY #$0000 $9087E5 20 55 88 JSR $8855 [$90:8855] $9087E8 28 PLP $9087E9 60 RTS $9087EA A0 02 00 LDY #$0002 $9087ED B9 B0 0A LDA $0AB0,y[$7E:0AB2] $9087F0 F0 50 BEQ $50 [$8842] $9087F2 B9 B8 0A LDA $0AB8,y[$7E:0ABA] $9087F5 CD FA 0A CMP $0AFA [$7E:0AFA] $9087F8 F0 12 BEQ $12 [$880C] $9087FA 30 09 BMI $09 [$8805] $9087FC 38 SEC $9087FD E9 02 00 SBC #$0002 $908800 99 B8 0A STA $0AB8,y[$7E:0ABA] $908803 80 07 BRA $07 [$880C] $908805 18 CLC $908806 69 02 00 ADC #$0002 $908809 99 B8 0A STA $0AB8,y[$7E:0ABA] $90880C B9 C0 0A LDA $0AC0,y[$7E:0AC2] $90880F 30 17 BMI $17 [$8828] $908811 B9 B0 0A LDA $0AB0,y[$7E:0AB2] $908814 18 CLC $908815 79 C0 0A ADC $0AC0,y[$7E:0AC2] $908818 99 B0 0A STA $0AB0,y[$7E:0AB2] $90881B CD F6 0A CMP $0AF6 [$7E:0AF6] $90881E 30 1F BMI $1F [$883F] $908820 A9 00 00 LDA #$0000 $908823 99 B0 0A STA $0AB0,y[$7E:0AB0] $908826 80 1A BRA $1A [$8842] $908828 B9 B0 0A LDA $0AB0,y[$7E:0AB2] $90882B 18 CLC $90882C 79 C0 0A ADC $0AC0,y[$7E:0AC2] $90882F 99 B0 0A STA $0AB0,y[$7E:0AB2] $908832 CD F6 0A CMP $0AF6 [$7E:0AF6] $908835 10 08 BPL $08 [$883F] $908837 A9 00 00 LDA #$0000 $90883A 99 B0 0A STA $0AB0,y[$7E:0AB2] $90883D 80 03 BRA $03 [$8842] $90883F 20 55 88 JSR $8855 [$90:8855] $908842 88 DEY $908843 88 DEY $908844 10 A7 BPL $A7 [$87ED] $908846 AD B2 0A LDA $0AB2 [$7E:0AB2] $908849 D0 08 BNE $08 [$8853] $90884B AD B0 0A LDA $0AB0 [$7E:0AB0] $90884E D0 03 BNE $03 [$8853] $908850 9C AE 0A STZ $0AAE [$7E:0AAE] $908853 28 PLP $908854 60 RTS $908855 5A PHY $908856 AD 1C 0A LDA $0A1C [$7E:0A1C] $908859 0A ASL A $90885A 0A ASL A $90885B 0A ASL A $90885C AA TAX $90885D BF 2D B6 91 LDA $91B62D,x[$91:B67D] $908861 29 FF 00 AND #$00FF $908864 85 12 STA $12 [$7E:0012] $908866 B9 B0 0A LDA $0AB0,y[$7E:0AB0] $908869 38 SEC $90886A ED 11 09 SBC $0911 [$7E:0911] $90886D AA TAX $90886E B9 B8 0A LDA $0AB8,y[$7E:0AB8] $908871 38 SEC $908872 E5 12 SBC $12 [$7E:0012] $908874 ED 15 09 SBC $0915 [$7E:0915] $908877 30 05 BMI $05 [$887E] $908879 C9 F8 00 CMP #$00F8 $90887C 30 02 BMI $02 [$8880] $90887E 7A PLY $90887F 60 RTS $908880 A8 TAY $908881 AD C8 0A LDA $0AC8 [$7E:0AC8] $908884 22 AE 89 81 JSL $8189AE[$81:89AE] $908888 7A PLY $908889 AD CA 0A LDA $0ACA [$7E:0ACA] $90888C F0 2B BEQ $2B [$88B9] $90888E AD 1C 0A LDA $0A1C [$7E:0A1C] $908891 0A ASL A $908892 0A ASL A $908893 0A ASL A $908894 AA TAX $908895 BF 2D B6 91 LDA $91B62D,x[$91:B67D] $908899 29 FF 00 AND #$00FF $90889C 85 12 STA $12 [$7E:0012] $90889E 5A PHY $90889F B9 B0 0A LDA $0AB0,y[$7E:0AB0] $9088A2 38 SEC $9088A3 ED 11 09 SBC $0911 [$7E:0911] $9088A6 AA TAX $9088A7 B9 B8 0A LDA $0AB8,y[$7E:0AB8] $9088AA 38 SEC $9088AB E5 12 SBC $12 [$7E:0012] $9088AD ED 15 09 SBC $0915 [$7E:0915] $9088B0 A8 TAY $9088B1 AD CA 0A LDA $0ACA [$7E:0ACA] $9088B4 22 AE 89 81 JSL $8189AE[$81:89AE] $9088B8 7A PLY $9088B9 60 RTS $9088BA 08 PHP $9088BB 8B PHB $9088BC E2 20 SEP #$20 $9088BE A9 92 LDA #$92 $9088C0 48 PHA $9088C1 AB PLB $9088C2 C2 30 REP #$30 $9088C4 9B TXY $9088C5 AD B6 05 LDA $05B6 [$7E:05B6] $9088C8 89 01 00 BIT #$0001 $9088CB D0 03 BNE $03 [$88D0] $9088CD 4C 50 89 JMP $8950 [$90:8950] $9088D0 AD 1C 0A LDA $0A1C [$7E:0A1C] $9088D3 0A ASL A $9088D4 AA TAX $9088D5 DA PHX $9088D6 5A PHY $9088D7 BF 63 92 92 LDA $929263,x[$92:93F5] $9088DB 18 CLC $9088DC 6D 96 0A ADC $0A96 [$7E:0A96] $9088DF 48 PHA $9088E0 8A TXA $9088E1 0A ASL A $9088E2 0A ASL A $9088E3 AA TAX $9088E4 BF 2D B6 91 LDA $91B62D,x[$91:BC75] $9088E8 29 FF 00 AND #$00FF $9088EB 85 12 STA $12 [$7E:0012] $9088ED B9 B0 0A LDA $0AB0,y[$7E:0AB2] $9088F0 38 SEC $9088F1 ED 11 09 SBC $0911 [$7E:0911] $9088F4 AA TAX $9088F5 B9 B8 0A LDA $0AB8,y[$7E:0ABA] $9088F8 38 SEC $9088F9 E5 12 SBC $12 [$7E:0012] $9088FB ED 15 09 SBC $0915 [$7E:0915] $9088FE 30 05 BMI $05 [$8905] $908900 C9 F8 00 CMP #$00F8 $908903 30 05 BMI $05 [$890A] $90890A A8 TAY $90890B 68 PLA $90890C 22 AE 89 81 JSL $8189AE[$81:89AE] $908910 7A PLY $908911 FA PLX $908912 86 24 STX $24 [$7E:0024] $908914 AD 1F 0A LDA $0A1F [$7E:0A1F] $908917 29 FF 00 AND #$00FF $90891A 0A ASL A $90891B AA TAX $90891C FC 4E 86 JSR ($864E,x)[$90:8790] $90891F 90 2F BCC $2F [$8950] $908921 A6 24 LDX $24 [$7E:0024] $908923 BF 5D 94 92 LDA $92945D,x[$92:95EF] $908927 18 CLC $908928 6D 96 0A ADC $0A96 [$7E:0A96] $90892B 48 PHA $90892C 8A TXA $90892D 0A ASL A $90892E 0A ASL A $90892F AA TAX $908930 BF 2D B6 91 LDA $91B62D,x[$91:BC75] $908934 29 FF 00 AND #$00FF $908937 85 12 STA $12 [$7E:0012] $908939 B9 B0 0A LDA $0AB0,y[$7E:0AB2] $90893C 38 SEC $90893D ED 11 09 SBC $0911 [$7E:0911] $908940 AA TAX $908941 B9 B8 0A LDA $0AB8,y[$7E:0ABA] $908944 38 SEC $908945 E5 12 SBC $12 [$7E:0012] $908947 ED 15 09 SBC $0915 [$7E:0915] $90894A A8 TAY $90894B 68 PLA $90894C 22 AE 89 81 JSL $8189AE[$81:89AE] $908950 AB PLB $908951 28 PLP $908952 60 RTS $908953 08 PHP $908954 C2 30 REP #$30 $908956 AD B6 05 LDA $05B6 [$7E:05B6] $908959 89 01 00 BIT #$0001 $90895C F0 16 BEQ $16 [$8974] $90895E AD C6 0A LDA $0AC6 [$7E:0AC6] $908961 F0 06 BEQ $06 [$8969] $908963 A0 06 00 LDY #$0006 $908966 20 55 88 JSR $8855 [$90:8855] $908969 AD C4 0A LDA $0AC4 [$7E:0AC4] $90896C F0 06 BEQ $06 [$8974] $90896E A0 04 00 LDY #$0004 $908971 20 55 88 JSR $8855 [$90:8855] $908974 28 PLP $908975 6B RTL $908976 08 PHP $908977 8B PHB $908978 4B PHK $908979 AB PLB $90897A C2 30 REP #$30 $90897C AD 94 0A LDA $0A94 [$7E:0A94] $90897F 3A DEC A $908980 8D 94 0A STA $0A94 [$7E:0A94] $908983 F0 02 BEQ $02 [$8987] $908985 10 0A BPL $0A [$8991] $908987 AD 96 0A LDA $0A96 [$7E:0A96] $90898A 1A INC A $90898B 8D 96 0A STA $0A96 [$7E:0A96] $90898E 20 DC 82 JSR $82DC [$90:82DC] $908991 22 98 89 90 JSL $908998[$90:8998] $908995 AB PLB $908996 28 PLP $908997 6B RTL $908998 08 PHP $908999 8B PHB $90899A E2 20 SEP #$20 $90899C A9 92 LDA #$92 $90899E 48 PHA $90899F AB PLB $9089A0 C2 30 REP #$30 $9089A2 AD 1C 0A LDA $0A1C [$7E:0A1C] $9089A5 0A ASL A $9089A6 AA TAX $9089A7 DA PHX $9089A8 BF 63 92 92 LDA $929263,x[$92:9411] $9089AC 18 CLC $9089AD 6D 96 0A ADC $0A96 [$7E:0A96] $9089B0 48 PHA $9089B1 20 1F 8C JSR $8C1F [$90:8C1F] $9089B4 AD 04 0B LDA $0B04 [$7E:0B04] $9089B7 18 CLC $9089B8 6D 11 09 ADC $0911 [$7E:0911] $9089BB AA TAX $9089BC AD 06 0B LDA $0B06 [$7E:0B06] $9089BF 18 CLC $9089C0 6D 15 09 ADC $0915 [$7E:0915] $9089C3 A8 TAY $9089C4 68 PLA $9089C5 22 AE 89 81 JSL $8189AE[$81:89AE] $9089C9 FA PLX $9089CA 86 24 STX $24 [$7E:0024] $9089CC AD 1F 0A LDA $0A1F [$7E:0A1F] $9089CF 29 FF 00 AND #$00FF $9089D2 0A ASL A $9089D3 AA TAX $9089D4 FC 4E 86 JSR ($864E,x)[$90:86EE] $9089D7 90 20 BCC $20 [$89F9] $9089D9 A6 24 LDX $24 [$7E:0024] $9089DB BF 5D 94 92 LDA $92945D,x[$92:960B] $9089DF 18 CLC $9089E0 6D 96 0A ADC $0A96 [$7E:0A96] $9089E3 48 PHA $9089E4 AD 04 0B LDA $0B04 [$7E:0B04] $9089E7 18 CLC $9089E8 6D 11 09 ADC $0911 [$7E:0911] $9089EB AA TAX $9089EC AD 06 0B LDA $0B06 [$7E:0B06] $9089EF 18 CLC $9089F0 6D 15 09 ADC $0915 [$7E:0915] $9089F3 A8 TAY $9089F4 68 PLA $9089F5 22 AE 89 81 JSL $8189AE[$81:89AE] $9089F9 22 00 80 92 JSL $928000[$92:8000] $9089FD AB PLB $9089FE 28 PLP $9089FF 6B RTL $908A00 08 PHP $908A01 8B PHB $908A02 E2 20 SEP #$20 $908A04 A9 92 LDA #$92 $908A06 48 PHA $908A07 AB PLB $908A08 C2 30 REP #$30 $908A0A AD 1C 0A LDA $0A1C [$7E:0A1C] $908A0D 0A ASL A $908A0E AA TAX $908A0F DA PHX $908A10 BF 63 92 92 LDA $929263,x[$92:9275] $908A14 18 CLC $908A15 6D 96 0A ADC $0A96 [$7E:0A96] $908A18 48 PHA $908A19 20 1F 8C JSR $8C1F [$90:8C1F] $908A1C 68 PLA $908A1D 22 AE 89 81 JSL $8189AE[$81:89AE] $908A21 FA PLX $908A22 86 24 STX $24 [$7E:0024] $908A24 AD 1F 0A LDA $0A1F [$7E:0A1F] $908A27 29 FF 00 AND #$00FF $908A2A 0A ASL A $908A2B AA TAX $908A2C FC 4E 86 JSR ($864E,x)[$90:8686] $908A2F 90 14 BCC $14 [$8A45] $908A31 A6 24 LDX $24 [$7E:0024] $908A33 BF 5D 94 92 LDA $92945D,x[$92:946F] $908A37 18 CLC $908A38 6D 96 0A ADC $0A96 [$7E:0A96] $908A3B AE 04 0B LDX $0B04 [$7E:0B04] $908A3E AC 06 0B LDY $0B06 [$7E:0B06] $908A41 22 AE 89 81 JSL $8189AE[$81:89AE] $908A45 22 00 80 92 JSL $928000[$92:8000] $908A49 AB PLB $908A4A 28 PLP $908A4B 6B RTL ;;; Atmospheric effects (water splash, air bubbles, footsteps) ;;; $908A4C 08 PHP $908A4D C2 30 REP #$30 $908A4F A0 06 00 LDY #$0006 $908A52 B9 EC 0A LDA $0AEC,y[$7E:0AF2] $908A55 F0 58 BEQ $58 [$8AAF] $908A57 48 PHA $908A58 29 FF 00 AND #$00FF $908A5B 0A ASL A $908A5C 85 12 STA $12 [$7E:0012] $908A5E 68 PLA $908A5F EB XBA $908A60 29 FF 00 AND #$00FF $908A63 0A ASL A $908A64 AA TAX $908A65 B9 D4 0A LDA $0AD4,y[$7E:0ADA] $908A68 3A DEC A $908A69 99 D4 0A STA $0AD4,y[$7E:0ADA] $908A6C F0 18 BEQ $18 [$8A86] $908A6E 10 3C BPL $3C [$8AAC] $908A70 C9 00 80 CMP #$8000 $908A73 D0 3A BNE $3A [$8AAF] $908A75 DA PHX $908A76 BD 93 8B LDA $8B93,x[$90:8B95] $908A79 18 CLC $908A7A 65 12 ADC $12 [$7E:0012] $908A7C AA TAX $908A7D BD 00 00 LDA $0000,x[$90:8BA5] $908A80 99 D4 0A STA $0AD4,y[$7E:0AD4] $908A83 FA PLX $908A84 80 26 BRA $26 [$8AAC] $908A86 DA PHX $908A87 BD 93 8B LDA $8B93,x[$90:8B9F] $908A8A 18 CLC $908A8B 65 12 ADC $12 [$7E:0012] $908A8D AA TAX $908A8E BD 00 00 LDA $0000,x[$90:8BDF] $908A91 99 D4 0A STA $0AD4,y[$7E:0ADA] $908A94 FA PLX $908A95 B9 EC 0A LDA $0AEC,y[$7E:0AF2] $908A98 1A INC A $908A99 99 EC 0A STA $0AEC,y[$7E:0AF2] $908A9C 29 FF 00 AND #$00FF $908A9F DD EF 8B CMP $8BEF,x[$90:8BFB] $908AA2 30 08 BMI $08 [$8AAC] $908AA4 A9 00 00 LDA #$0000 $908AA7 99 EC 0A STA $0AEC,y[$7E:0AF2] $908AAA 80 03 BRA $03 [$8AAF] $908AAC FC B5 8A JSR ($8AB5,x)[$90:8B57] $908AAF 88 DEY $908AB0 88 DEY $908AB1 10 9F BPL $9F [$8A52] $908AB3 28 PLP $908AB4 60 RTS $908AB7 db C5 $908ABB db 16 $908ABD db 2E $908ABF db 64 $908AC1 db 57 $908AC3 db 57 $908AC5 5A PHY $908AC6 B9 EC 0A LDA $0AEC,y[$7E:0AF2] $908AC9 29 FF 00 AND #$00FF $908ACC 0A ASL A $908ACD 85 12 STA $12 [$7E:0012] $908ACF DA PHX $908AD0 AE 90 05 LDX $0590 [$7E:0590] $908AD3 B9 DC 0A LDA $0ADC,y[$7E:0AE2] $908AD6 38 SEC $908AD7 ED 11 09 SBC $0911 [$7E:0911] $908ADA E9 04 00 SBC #$0004 $908ADD 30 34 BMI $34 [$8B13] $908ADF C9 00 01 CMP #$0100 $908AE2 10 2F BPL $2F [$8B13] $908AE4 9D 70 03 STA $0370,x[$7E:03A4] $908AE7 B9 E4 0A LDA $0AE4,y[$7E:0AEA] $908AEA 38 SEC $908AEB ED 15 09 SBC $0915 [$7E:0915] $908AEE E9 04 00 SBC #$0004 $908AF1 30 20 BMI $20 [$8B13] $908AF3 C9 00 01 CMP #$0100 $908AF6 10 1B BPL $1B [$8B13] $908AF8 9D 71 03 STA $0371,x[$7E:03A5] $908AFB 7A PLY $908AFC B9 FF 8B LDA $8BFF,y[$90:8C0B] $908AFF 18 CLC $908B00 65 12 ADC $12 [$7E:0012] $908B02 A8 TAY $908B03 B9 00 00 LDA $0000,y[$90:8C17] $908B06 9D 72 03 STA $0372,x[$7E:03A6] $908B09 8A TXA $908B0A 18 CLC $908B0B 69 04 00 ADC #$0004 $908B0E 8D 90 05 STA $0590 [$7E:0590] $908B11 7A PLY $908B12 60 RTS $908B13 7A PLY $908B14 7A PLY $908B15 60 RTS $908B16 5A PHY $908B17 B9 EC 0A LDA $0AEC,y[$7E:0AEC] $908B1A 29 FF 00 AND #$00FF $908B1D 85 12 STA $12 [$7E:0012] $908B1F AD 5E 19 LDA $195E [$7E:195E] $908B22 99 E4 0A STA $0AE4,y[$7E:0AE4] $908B25 A9 8F 01 LDA #$018F $908B28 18 CLC $908B29 65 12 ADC $12 [$7E:0012] $908B2B 48 PHA $908B2C 80 46 BRA $46 [$8B74] $908B2E 98 TYA $908B2F 89 04 00 BIT #$0004 $908B32 D0 0C BNE $0C [$8B40] $908B34 B9 DC 0A LDA $0ADC,y[$7E:0ADC] $908B37 18 CLC $908B38 69 01 00 ADC #$0001 $908B3B 99 DC 0A STA $0ADC,y[$7E:0ADC] $908B3E 80 0A BRA $0A [$8B4A] $908B40 B9 DC 0A LDA $0ADC,y[$7E:0AE2] $908B43 38 SEC $908B44 E9 01 00 SBC #$0001 $908B47 99 DC 0A STA $0ADC,y[$7E:0AE2] $908B4A B9 E4 0A LDA $0AE4,y[$7E:0AEA] $908B4D 38 SEC $908B4E E9 01 00 SBC #$0001 $908B51 99 E4 0A STA $0AE4,y[$7E:0AEA] $908B54 4C C5 8A JMP $8AC5 [$90:8AC5] $908B57 B9 E4 0A LDA $0AE4,y[$7E:0AEA] $908B5A 38 SEC $908B5B E9 01 00 SBC #$0001 $908B5E 99 E4 0A STA $0AE4,y[$7E:0AEA] $908B61 4C C5 8A JMP $8AC5 [$90:8AC5] $908B64 5A PHY $908B65 B9 EC 0A LDA $0AEC,y[$7E:0AF0] $908B68 29 FF 00 AND #$00FF $908B6B 85 12 STA $12 [$7E:0012] $908B6D A9 86 01 LDA #$0186 $908B70 18 CLC $908B71 65 12 ADC $12 [$7E:0012] $908B73 48 PHA $908B74 B9 DC 0A LDA $0ADC,y[$7E:0ADC] $908B77 38 SEC $908B78 ED 11 09 SBC $0911 [$7E:0911] $908B7B AA TAX $908B7C B9 E4 0A LDA $0AE4,y[$7E:0AE4] $908B7F 38 SEC $908B80 ED 15 09 SBC $0915 [$7E:0915] $908B83 89 00 FF BIT #$FF00 $908B86 D0 08 BNE $08 [$8B90] $908B88 A8 TAY $908B89 68 PLA $908B8A 22 AE 89 81 JSL $8189AE[$81:89AE] $908B8E 7A PLY $908B8F 60 RTS $908B90 68 PLA $908B91 7A PLY $908B92 60 RTS $908B95 db A5, 8B $908B99 db B5, 8B, C7, 8B, CF, 8B, DF, 8B, E7, 8B $908BA5 db 03, 00, 03, 00, 03, 00, 03, 00 $908BB5 db 02, 00, 02, 00, 03, 00, 03, 00, 03, 00, 05, 00, 05, 00, 06, 00, 07, 00, 02, 00, 02, 00, 02, 00, 02, 00, 05, 00, 05, 00, 05, 00, 05, 00, 05, 00, 05, 00, 05, 00, 05, 00, 03, 00, 04, 00, 05, 00, 06, 00, 03, 00, 04, 00, 05, 00, 06, 00 $908BF1 db 04, 00 $908BF5 db 09, 00, 04, 00, 08, 00, 04, 00, 04, 00 $908C01 db 0F, 8C $908C07 db 17, 8C $908C0B db 17, 8C, 17, 8C, 2C, 2A, 2D, 2A, 2E, 2A, 2F, 2A, 48, 2A, 49, 2A, 4A, 2A, 4B, 2A $908C1F AD 3F 09 LDA $093F [$7E:093F] $908C22 10 2B BPL $2B [$8C4F] $908C24 AD F6 0A LDA $0AF6 [$7E:0AF6] $908C27 8D 82 0D STA $0D82 [$7E:0D82] $908C2A AD FA 0A LDA $0AFA [$7E:0AFA] $908C2D 8D 84 0D STA $0D84 [$7E:0D84] $908C30 DA PHX $908C31 22 52 8A 8B JSL $8B8A52[$8B:8A52] $908C35 FA PLX $908C36 9B TXY $908C37 AD 1F 0A LDA $0A1F [$7E:0A1F] $908C3A 29 FF 00 AND #$00FF $908C3D 0A ASL A $908C3E AA TAX $908C3F FC 5C 8C JSR ($8C5C,x)[$90:8C94] $908C42 AD 84 0D LDA $0D84 [$7E:0D84] $908C45 8D FA 0A STA $0AFA [$7E:0AFA] $908C48 AD 82 0D LDA $0D82 [$7E:0D82] $908C4B 8D F6 0A STA $0AF6 [$7E:0AF6] $908C4E 60 RTS $908C4F 9B TXY $908C50 AD 1F 0A LDA $0A1F [$7E:0A1F] $908C53 29 FF 00 AND #$00FF $908C56 0A ASL A $908C57 AA TAX $908C58 FC 5C 8C JSR ($8C5C,x)[$90:8CC3] $908C5B 60 RTS $908C5C db C3 $908C5E db 94 $908C60 db 94 $908C62 db 94 $908C64 db 94 $908C66 db 94 $908C68 db 94 $908C6C db 94 $908C70 db 94 $908C78 db 94 $908C7A db 3C $908C7C db 94 $908C7E db 94 $908C80 db 94 $908C82 db 94 $908C84 db 94 $908C86 db 94 $908C88 db 94 $908C8A db 94 $908C8C db 94 $908C8E db 94 $908C90 db 94 $908C92 db 98 $908C94 98 TYA $908C95 0A ASL A $908C96 0A ASL A $908C97 AA TAX $908C98 BF 2D B6 91 LDA $91B62D,x[$91:B63D] $908C9C 29 FF 00 AND #$00FF $908C9F 89 80 00 BIT #$0080 $908CA2 F0 03 BEQ $03 [$8CA7] $908CA4 09 00 FF ORA #$FF00 $908CA7 85 12 STA $12 [$7E:0012] $908CA9 AD FA 0A LDA $0AFA [$7E:0AFA] $908CAC 38 SEC $908CAD E5 12 SBC $12 [$7E:0012] $908CAF 38 SEC $908CB0 ED 15 09 SBC $0915 [$7E:0915] $908CB3 8D 06 0B STA $0B06 [$7E:0B06] $908CB6 A8 TAY $908CB7 AD F6 0A LDA $0AF6 [$7E:0AF6] $908CBA 38 SEC $908CBB ED 11 09 SBC $0911 [$7E:0911] $908CBE 8D 04 0B STA $0B04 [$7E:0B04] $908CC1 AA TAX $908CC2 60 RTS $908CC3 8B PHB $908CC4 4B PHK $908CC5 AB PLB $908CC6 98 TYA $908CC7 4A LSR A $908CC8 C9 00 00 CMP #$0000 $908CCB F0 3A BEQ $3A [$8D07] $908CCD C9 9B 00 CMP #$009B $908CD0 F0 35 BEQ $35 [$8D07] $908CD2 C9 A4 00 CMP #$00A4 $908CD5 30 61 BMI $61 [$8D38] $908CD7 C9 A8 00 CMP #$00A8 $908CDA 10 5C BPL $5C [$8D38] $908CDC 38 SEC $908CDD E9 A4 00 SBC #$00A4 $908CE0 0A ASL A $908CE1 0A ASL A $908CE2 18 CLC $908CE3 6D 96 0A ADC $0A96 [$7E:0A96] $908CE6 AA TAX $908CE7 BD 28 8D LDA $8D28,x[$90:8D2C] $908CEA 85 12 STA $12 [$7E:0012] $908CEC AD FA 0A LDA $0AFA [$7E:0AFA] $908CEF 38 SEC $908CF0 E5 12 SBC $12 [$7E:0012] $908CF2 38 SEC $908CF3 ED 15 09 SBC $0915 [$7E:0915] $908CF6 8D 06 0B STA $0B06 [$7E:0B06] $908CF9 A8 TAY $908CFA AD F6 0A LDA $0AF6 [$7E:0AF6] $908CFD 38 SEC $908CFE ED 11 09 SBC $0911 [$7E:0911] $908D01 8D 04 0B STA $0B04 [$7E:0B04] $908D04 AA TAX $908D05 AB PLB $908D06 60 RTS $908D07 AD 96 0A LDA $0A96 [$7E:0A96] $908D0A C9 02 00 CMP #$0002 $908D0D 30 29 BMI $29 [$8D38] $908D0F AD FA 0A LDA $0AFA [$7E:0AFA] $908D12 3A DEC A $908D13 38 SEC $908D14 ED 15 09 SBC $0915 [$7E:0915] $908D17 8D 06 0B STA $0B06 [$7E:0B06] $908D1A A8 TAY $908D1B AD F6 0A LDA $0AF6 [$7E:0AF6] $908D1E 38 SEC $908D1F ED 11 09 SBC $0911 [$7E:0911] $908D22 8D 04 0B STA $0B04 [$7E:0B04] $908D25 AA TAX $908D26 AB PLB $908D27 60 RTS $908D28 db 03, 06, 00 $908D2C db 03, 06, 00 $908D30 db 03, 03, 06, 00, 03, 03, 06, 00 $908D38 AB PLB $908D39 4C 94 8C JMP $8C94 [$90:8C94] $908D3C 8B PHB $908D3D 4B PHK $908D3E AB PLB $908D3F 98 TYA $908D40 4A LSR A $908D41 C9 35 00 CMP #$0035 $908D44 30 F2 BMI $F2 [$8D38] $908D46 C9 41 00 CMP #$0041 $908D49 10 ED BPL $ED [$8D38] $908D4B 38 SEC $908D4C E9 35 00 SBC #$0035 $908D4F 0A ASL A $908D50 18 CLC $908D51 6D 96 0A ADC $0A96 [$7E:0A96] $908D54 AA TAX $908D55 BD 80 8D LDA $8D80,x[$90:8D80] $908D58 29 FF 00 AND #$00FF $908D5B 89 80 00 BIT #$0080 $908D5E F0 03 BEQ $03 [$8D63] $908D60 09 00 FF ORA #$FF00 $908D63 85 12 STA $12 [$7E:0012] $908D65 AD FA 0A LDA $0AFA [$7E:0AFA] $908D68 18 CLC $908D69 65 12 ADC $12 [$7E:0012] $908D6B 38 SEC $908D6C ED 15 09 SBC $0915 [$7E:0915] $908D6F 8D 06 0B STA $0B06 [$7E:0B06] $908D72 A8 TAY $908D73 AD F6 0A LDA $0AF6 [$7E:0AF6] $908D76 38 SEC $908D77 ED 11 09 SBC $0911 [$7E:0911] $908D7A 8D 04 0B STA $0B04 [$7E:0B04] $908D7D AA TAX $908D7E AB PLB $908D7F 60 RTS $908D80 db F8, 00, F8, 00, FC, FE, FC, FE, 00 $908D8C db FC, 00, FC, 00, 05, 04, 05, 04, 00 $908D98 8B PHB $908D99 4B PHK $908D9A AB PLB $908D9B 98 TYA $908D9C 4A LSR A $908D9D C9 E8 00 CMP #$00E8 $908DA0 F0 1F BEQ $1F [$8DC1] $908DA2 C9 E9 00 CMP #$00E9 $908DA5 F0 1A BEQ $1A [$8DC1] $908DA7 C9 EA 00 CMP #$00EA $908DAA F0 05 BEQ $05 [$8DB1] $908DAC C9 EB 00 CMP #$00EB $908DAF D0 0D BNE $0D [$8DBE] $908DB1 AE 96 0A LDX $0A96 [$7E:0A96] $908DB4 E0 05 00 CPX #$0005 $908DB7 30 05 BMI $05 [$8DBE] $908DBE 4C 38 8D JMP $8D38 [$90:8D38] $908DC1 AE 96 0A LDX $0A96 [$7E:0A96] $908DC4 BD EF 8D LDA $8DEF,x[$90:8DF1] $908DC7 29 FF 00 AND #$00FF $908DCA 89 80 00 BIT #$0080 $908DCD F0 03 BEQ $03 [$8DD2] $908DCF 09 00 FF ORA #$FF00 $908DD2 85 12 STA $12 [$7E:0012] $908DD4 AD FA 0A LDA $0AFA [$7E:0AFA] $908DD7 18 CLC $908DD8 65 12 ADC $12 [$7E:0012] $908DDA 38 SEC $908DDB ED 15 09 SBC $0915 [$7E:0915] $908DDE 8D 06 0B STA $0B06 [$7E:0B06] $908DE1 A8 TAY $908DE2 AD F6 0A LDA $0AF6 [$7E:0AF6] $908DE5 38 SEC $908DE6 ED 11 09 SBC $0911 [$7E:0911] $908DE9 8D 04 0B STA $0B04 [$7E:0B04] $908DEC AA TAX $908DED AB PLB $908DEE 60 RTS $908DF1 db F8, F8, F8, F8 $908DF6 db FB, 04, 04, 04, 04, 00 $908DFD db 04, FD, FB, 00 $908E09 db 04, 00 $908E0C db 04, 00 $908E0F 08 PHP $908E10 8B PHB $908E11 4B PHK $908E12 AB PLB $908E13 C2 30 REP #$30 $908E15 22 58 EC 90 JSL $90EC58[$90:EC58] ; This calculates Samus's lower and upper boundaries, then puts them in $12 and $14 $908E19 AD 6E 19 LDA $196E [$7E:196E] $908E1C 29 0F 00 AND #$000F $908E1F AA TAX $908E20 FC 26 8E JSR ($8E26,x)[$90:8E36] $908E23 AB PLB $908E24 28 PLP $908E25 6B RTL $908E26 dw 8E36 $908E28 dw 8E3A $908E2A dw 8E3A $908E2C dw 8E4A $908E2E dw 8E36 $908E30 dw 8E36 $908E32 dw 8E36 $908E34 dw 8E36 $908E36 9C D2 0A STZ $0AD2 [$7E:0AD2] $908E39 60 RTS $908E3A AD 62 19 LDA $1962 [$7E:1962] $908E3D 30 F7 BMI $F7 [$8E36] $908E3F C5 12 CMP $12 [$7E:0012] $908E41 10 F3 BPL $F3 [$8E36] $908E4A AD 5E 19 LDA $195E [$7E:195E] $908E4D 30 E7 BMI $E7 [$8E36] $908E4F C5 12 CMP $12 [$7E:0012] $908E51 30 02 BMI $02 [$8E55] $908E53 80 E1 BRA $E1 [$8E36] $908E55 AD 7E 19 LDA $197E [$7E:197E] $908E58 89 04 00 BIT #$0004 $908E5B D0 D9 BNE $D9 [$8E36] $908E5D A9 01 00 LDA #$0001 $908E60 8D D2 0A STA $0AD2 [$7E:0AD2] $908E63 60 RTS ;;; Samus X motion ;;; ; Simple JSR list: 973E, 9BD1, 9A7E, 8EA9 ; Effectively, calculates horizontal momentum, speed, and new position and any collisions $908E64 08 PHP $908E65 C2 30 REP #$30 $908E67 20 3E 97 JSR $973E [$90:973E] $908E6A 20 D1 9B JSR $9BD1 [$90:9BD1] $908E6D 20 7E 9A JSR $9A7E [$90:9A7E] $908E70 20 A9 8E JSR $8EA9 [$90:8EA9] $908E73 28 PLP $908E74 60 RTS ;;; ;;; ; Check Samus's direction and go to E4AD or E464, then 9350 or 93B1 depending on net movement $908EA9 AD 4A 0B LDA $0B4A [$7E:0B4A] $908EAC F0 12 BEQ $12 [$8EC0] $908EAE C9 02 00 CMP #$0002 $908EB1 F0 0D BEQ $0D [$8EC0] $908EB3 AD 1E 0A LDA $0A1E [$7E:0A1E] $908EB6 29 FF 00 AND #$00FF $908EB9 C9 08 00 CMP #$0008 $908EBC F0 12 BEQ $12 [$8ED0] $908EBE 80 0B BRA $0B [$8ECB] $908EC0 AD 1E 0A LDA $0A1E [$7E:0A1E] $908EC3 29 FF 00 AND #$00FF $908EC6 C9 04 00 CMP #$0004 $908EC9 F0 05 BEQ $05 [$8ED0] $908ECB 20 AD E4 JSR $E4AD [$90:E4AD] $908ECE 80 03 BRA $03 [$8ED3] $908ED0 20 64 E4 JSR $E464 [$90:E464] $908ED3 A5 12 LDA $12 [$7E:0012] $908ED5 30 04 BMI $04 [$8EDB] $908ED7 20 B1 93 JSR $93B1 [$90:93B1] $908EDA 60 RTS $908EDB 20 50 93 JSR $9350 [$90:9350] $908EDE 60 RTS ;;; ;;; $908EDF 08 PHP $908EE0 C2 30 REP #$30 $908EE2 AD 52 0A LDA $0A52 [$7E:0A52] $908EE5 F0 0D BEQ $0D [$8EF4] $908EE7 20 D1 9B JSR $9BD1 [$90:9BD1] $908EEA 20 7E 9A JSR $9A7E [$90:9A7E] $908EED AD 54 0A LDA $0A54 [$7E:0A54] $908EF0 D0 13 BNE $13 [$8F05] $908EF2 80 16 BRA $16 [$8F0A] $908EF4 A2 25 9F LDX #$9F25 $908EF7 20 7E 9A JSR $9A7E [$90:9A7E] $908EFA AD 56 0A LDA $0A56 [$7E:0A56] $908EFD 29 FF 00 AND #$00FF $908F00 C9 01 00 CMP #$0001 $908F03 F0 05 BEQ $05 [$8F0A] $908F05 20 AD E4 JSR $E4AD [$90:E4AD] $908F08 80 03 BRA $03 [$8F0D] $908F0A 20 64 E4 JSR $E464 [$90:E464] $908F0D A5 12 LDA $12 [$7E:0012] $908F0F 30 05 BMI $05 [$8F16] $908F11 20 B1 93 JSR $93B1 [$90:93B1] $908F14 80 03 BRA $03 [$8F19] $908F16 20 50 93 JSR $9350 [$90:9350] $908F19 28 PLP $908F1A 60 RTS $908F1B 08 PHP $908F1C C2 30 REP #$30 $908F1E AD 36 0B LDA $0B36 [$7E:0B36] $908F21 C9 01 00 CMP #$0001 $908F24 D0 37 BNE $37 [$8F5D] $908F26 AD 2E 0B LDA $0B2E [$7E:0B2E] $908F29 30 15 BMI $15 [$8F40] $908F2B C9 01 00 CMP #$0001 $908F2E 10 2D BPL $2D [$8F5D] $908F30 AD 60 0A LDA $0A60 [$7E:0A60] $908F33 C9 1D E9 CMP #$E91D $908F36 F0 25 BEQ $25 [$8F5D] $908F38 A9 13 E9 LDA #$E913 $908F3B 8D 60 0A STA $0A60 [$7E:0A60] $908F3E 80 1D BRA $1D [$8F5D] $908F40 9C 2C 0B STZ $0B2C [$7E:0B2C] $908F43 9C 2E 0B STZ $0B2E [$7E:0B2E] $908F46 A9 02 00 LDA #$0002 $908F49 8D 36 0B STA $0B36 [$7E:0B36] $908F4C AD 56 0A LDA $0A56 [$7E:0A56] $908F4F 29 FF 00 AND #$00FF $908F52 C9 02 00 CMP #$0002 $908F55 F0 06 BEQ $06 [$8F5D] $908F57 A9 02 00 LDA #$0002 $908F5A 8D 4A 0B STA $0B4A [$7E:0B4A] $908F5D 28 PLP $908F5E 60 RTS $908F5F 08 PHP $908F60 C2 30 REP #$30 $908F62 20 D1 9B JSR $9BD1 [$90:9BD1] $908F65 20 7E 9A JSR $9A7E [$90:9A7E] $908F68 AD 62 0A LDA $0A62 [$7E:0A62] $908F6B C9 01 00 CMP #$0001 $908F6E F0 05 BEQ $05 [$8F75] $908F75 20 64 E4 JSR $E464 [$90:E464] $908F78 A5 12 LDA $12 [$7E:0012] $908F7A 30 05 BMI $05 [$8F81] $908F81 20 50 93 JSR $9350 [$90:9350] $908F84 28 PLP $908F85 60 RTS $908FB3 08 PHP $908FB4 C2 30 REP #$30 $908FB6 20 3E 97 JSR $973E [$90:973E] $908FB9 AD 1C 0A LDA $0A1C [$7E:0A1C] $908FBC C9 4B 00 CMP #$004B $908FBF F0 0F BEQ $0F [$8FD0] $908FC1 C9 4C 00 CMP #$004C $908FC4 F0 0A BEQ $0A [$8FD0] $908FC6 C9 55 00 CMP #$0055 $908FC9 30 11 BMI $11 [$8FDC] $908FCB C9 5B 00 CMP #$005B $908FCE 10 0C BPL $0C [$8FDC] $908FD0 9C 4A 0B STZ $0B4A [$7E:0B4A] $908FD3 20 48 93 JSR $9348 [$90:9348] $908FD6 20 88 92 JSR $9288 [$90:9288] $908FD9 4C 3E 90 JMP $903E [$90:903E] $908FDC AD 36 0B LDA $0B36 [$7E:0B36] $908FDF C9 01 00 CMP #$0001 $908FE2 D0 18 BNE $18 [$8FFC] $908FE4 A5 8B LDA $8B [$7E:008B] $908FE6 2D B4 09 AND $09B4 [$7E:09B4] $908FE9 F0 05 BEQ $05 [$8FF0] $908FEB AD 2E 0B LDA $0B2E [$7E:0B2E] $908FEE 10 0C BPL $0C [$8FFC] $908FF0 9C 2C 0B STZ $0B2C [$7E:0B2C] $908FF3 9C 2E 0B STZ $0B2E [$7E:0B2E] $908FF6 A9 02 00 LDA #$0002 $908FF9 8D 36 0B STA $0B36 [$7E:0B36] $908FFC 20 D1 9B JSR $9BD1 [$90:9BD1] $908FFF 20 1F 9B JSR $9B1F [$90:9B1F] $909002 AD 1F 0A LDA $0A1F [$7E:0A1F] $909005 29 FF 00 AND #$00FF $909008 C9 14 00 CMP #$0014 $90900B F0 20 BEQ $20 [$902D] $90900D AD 4A 0B LDA $0B4A [$7E:0B4A] $909010 D0 26 BNE $26 [$9038] $909012 A5 8B LDA $8B [$7E:008B] $909014 89 00 01 BIT #$0100 $909017 D0 1F BNE $1F [$9038] $909019 89 00 02 BIT #$0200 $90901C D0 1A BNE $1A [$9038] $90901E 64 12 STZ $12 [$7E:0012] $909020 64 14 STZ $14 [$7E:0014] $909022 9C 46 0B STZ $0B46 [$7E:0B46] $909025 9C 48 0B STZ $0B48 [$7E:0B48] $909028 9C D0 0D STZ $0DD0 [$7E:0DD0] $90902B 80 0E BRA $0E [$903B] $90902D AD 4A 0B LDA $0B4A [$7E:0B4A] $909030 D0 06 BNE $06 [$9038] $909032 A9 02 00 LDA #$0002 $909035 8D 4A 0B STA $0B4A [$7E:0B4A] $909038 20 A9 8E JSR $8EA9 [$90:8EA9] $90903B 20 E2 90 JSR $90E2 [$90:90E2] $90903E 28 PLP $90903F 60 RTS $909040 08 PHP $909041 C2 30 REP #$30 $909043 20 3E 97 JSR $973E [$90:973E] $909046 AD 36 0B LDA $0B36 [$7E:0B36] $909049 C9 01 00 CMP #$0001 $90904C D0 18 BNE $18 [$9066] $90904E A5 8B LDA $8B [$7E:008B] $909050 2D B4 09 AND $09B4 [$7E:09B4] $909053 F0 05 BEQ $05 [$905A] $909055 AD 2E 0B LDA $0B2E [$7E:0B2E] $909058 10 0C BPL $0C [$9066] $90905A 9C 2C 0B STZ $0B2C [$7E:0B2C] $90905D 9C 2E 0B STZ $0B2E [$7E:0B2E] $909060 A9 02 00 LDA #$0002 $909063 8D 36 0B STA $0B36 [$7E:0B36] $909066 20 D1 9B JSR $9BD1 [$90:9BD1] $909069 20 1F 9B JSR $9B1F [$90:9B1F] $90906C B0 37 BCS $37 [$90A5] $90906E AD 4A 0B LDA $0B4A [$7E:0B4A] $909071 C9 01 00 CMP #$0001 $909074 F0 2F BEQ $2F [$90A5] $909076 AD 1E 0A LDA $0A1E [$7E:0A1E] $909079 29 FF 00 AND #$00FF $90907C C9 04 00 CMP #$0004 $90907F F0 09 BEQ $09 [$908A] $909081 A5 8B LDA $8B [$7E:008B] $909083 89 00 01 BIT #$0100 $909086 F0 0B BEQ $0B [$9093] $909088 80 1B BRA $1B [$90A5] $90908A A5 8B LDA $8B [$7E:008B] $90908C 89 00 02 BIT #$0200 $90908F F0 02 BEQ $02 [$9093] $909091 80 12 BRA $12 [$90A5] $909093 64 12 STZ $12 [$7E:0012] $909095 64 14 STZ $14 [$7E:0014] $909097 9C 46 0B STZ $0B46 [$7E:0B46] $90909A 9C 48 0B STZ $0B48 [$7E:0B48] $90909D 9C D0 0D STZ $0DD0 [$7E:0DD0] $9090A0 9C 4A 0B STZ $0B4A [$7E:0B4A] $9090A3 80 0B BRA $0B [$90B0] $9090A5 AD 4A 0B LDA $0B4A [$7E:0B4A] $9090A8 D0 06 BNE $06 [$90B0] $9090AA A9 02 00 LDA #$0002 $9090AD 8D 4A 0B STA $0B4A [$7E:0B4A] $9090B0 20 A9 8E JSR $8EA9 [$90:8EA9] $9090B3 AD 9F 9E LDA $9E9F [$90:9E9F] $9090B6 85 12 STA $12 [$7E:0012] $9090B8 64 14 STZ $14 [$7E:0014] $9090BA 20 35 9D JSR $9D35 [$90:9D35] $9090BD B0 03 BCS $03 [$90C2] $9090BF 20 E2 90 JSR $90E2 [$90:90E2] $9090C2 28 PLP $9090C3 60 RTS $9090C4 08 PHP $9090C5 C2 30 REP #$30 $9090C7 AD 36 0B LDA $0B36 [$7E:0B36] $9090CA C9 01 00 CMP #$0001 $9090CD D0 11 BNE $11 [$90E0] $9090CF AD 2E 0B LDA $0B2E [$7E:0B2E] $9090D2 10 0C BPL $0C [$90E0] $9090D4 9C 2C 0B STZ $0B2C [$7E:0B2C] $9090D7 9C 2E 0B STZ $0B2E [$7E:0B2E] $9090DA A9 02 00 LDA #$0002 $9090DD 8D 36 0B STA $0B36 [$7E:0B36] $9090E0 28 PLP $9090E1 60 RTS $9090E2 08 PHP $9090E3 C2 30 REP #$30 $9090E5 AD 2C 0B LDA $0B2C [$7E:0B2C] $9090E8 85 14 STA $14 [$7E:0014] $9090EA AD 2E 0B LDA $0B2E [$7E:0B2E] $9090ED 85 12 STA $12 [$7E:0012] $9090EF AD 36 0B LDA $0B36 [$7E:0B36] $9090F2 C9 02 00 CMP #$0002 $9090F5 F0 15 BEQ $15 [$910C] $9090F7 AD 2C 0B LDA $0B2C [$7E:0B2C] $9090FA 38 SEC $9090FB ED 32 0B SBC $0B32 [$7E:0B32] $9090FE 8D 2C 0B STA $0B2C [$7E:0B2C] $909101 AD 2E 0B LDA $0B2E [$7E:0B2E] $909104 ED 34 0B SBC $0B34 [$7E:0B34] $909107 8D 2E 0B STA $0B2E [$7E:0B2E] $90910A 80 1B BRA $1B [$9127] $90910C AD 2E 0B LDA $0B2E [$7E:0B2E] $90910F C9 05 00 CMP #$0005 $909112 F0 13 BEQ $13 [$9127] $909114 AD 2C 0B LDA $0B2C [$7E:0B2C] $909117 18 CLC $909118 6D 32 0B ADC $0B32 [$7E:0B32] $90911B 8D 2C 0B STA $0B2C [$7E:0B2C] $90911E AD 2E 0B LDA $0B2E [$7E:0B2E] $909121 6D 34 0B ADC $0B34 [$7E:0B34] $909124 8D 2E 0B STA $0B2E [$7E:0B2E] $909127 AD 5C 0B LDA $0B5C [$7E:0B5C] $90912A F0 06 BEQ $06 [$9132] $90912C AD 5A 0B LDA $0B5A [$7E:0B5A] $90912F F0 01 BEQ $01 [$9132] $909131 EA NOP $909132 AD 36 0B LDA $0B36 [$7E:0B36] $909135 C9 02 00 CMP #$0002 $909138 F0 13 BEQ $13 [$914D] $90913A A5 12 LDA $12 [$7E:0012] $90913C 49 FF FF EOR #$FFFF $90913F 85 12 STA $12 [$7E:0012] $909141 A5 14 LDA $14 [$7E:0014] $909143 49 FF FF EOR #$FFFF $909146 1A INC A $909147 85 14 STA $14 [$7E:0014] $909149 D0 02 BNE $02 [$914D] $90914B E6 12 INC $12 [$7E:0012] $90914D AD 5A 0B LDA $0B5A [$7E:0B5A] $909150 18 CLC $909151 65 14 ADC $14 [$7E:0014] $909153 85 14 STA $14 [$7E:0014] $909155 AD 5C 0B LDA $0B5C [$7E:0B5C] $909158 65 12 ADC $12 [$7E:0012] $90915A 85 12 STA $12 [$7E:0012] $90915C 30 05 BMI $05 [$9163] $90915E 20 40 94 JSR $9440 [$90:9440] $909161 80 03 BRA $03 [$9166] $909163 20 EC 93 JSR $93EC [$90:93EC] $909166 28 PLP $909167 60 RTS $909168 08 PHP $909169 C2 30 REP #$30 $90916B 20 3E 97 JSR $973E [$90:973E] $90916E 20 D1 9B JSR $9BD1 [$90:9BD1] $909171 20 1F 9B JSR $9B1F [$90:9B1F] $909174 AD 4A 0B LDA $0B4A [$7E:0B4A] $909177 D0 1B BNE $1B [$9194] $909179 A5 8B LDA $8B [$7E:008B] $90917B 89 00 01 BIT #$0100 $90917E D0 14 BNE $14 [$9194] $909180 89 00 02 BIT #$0200 $909183 D0 0F BNE $0F [$9194] $909185 64 12 STZ $12 [$7E:0012] $909187 64 14 STZ $14 [$7E:0014] $909189 9C 46 0B STZ $0B46 [$7E:0B46] $90918C 9C 48 0B STZ $0B48 [$7E:0B48] $90918F 9C D0 0D STZ $0DD0 [$7E:0DD0] $909192 80 03 BRA $03 [$9197] $909194 20 A9 8E JSR $8EA9 [$90:8EA9] $909197 20 C4 90 JSR $90C4 [$90:90C4] $90919A 20 E2 90 JSR $90E2 [$90:90E2] $90919D 28 PLP $90919E 60 RTS $90919F 08 PHP $9091A0 C2 30 REP #$30 $9091A2 20 D1 9B JSR $9BD1 [$90:9BD1] $9091A5 20 1F 9B JSR $9B1F [$90:9B1F] $9091A8 AD 4A 0B LDA $0B4A [$7E:0B4A] $9091AB D0 19 BNE $19 [$91C6] $9091AD A5 8B LDA $8B [$7E:008B] $9091AF 89 00 01 BIT #$0100 $9091B2 D0 12 BNE $12 [$91C6] $9091B4 89 00 02 BIT #$0200 $9091B7 D0 0D BNE $0D [$91C6] $9091B9 64 12 STZ $12 [$7E:0012] $9091BB 64 14 STZ $14 [$7E:0014] $9091BD 9C 46 0B STZ $0B46 [$7E:0B46] $9091C0 9C 48 0B STZ $0B48 [$7E:0B48] $9091C3 9C D0 0D STZ $0DD0 [$7E:0DD0] $9091C6 20 A9 8E JSR $8EA9 [$90:8EA9] $9091C9 20 C4 90 JSR $90C4 [$90:90C4] $9091CC 20 E2 90 JSR $90E2 [$90:90E2] $9091CF 28 PLP $9091D0 60 RTS $9091D1 08 PHP $9091D2 C2 30 REP #$30 $9091D4 20 D1 9B JSR $9BD1 [$90:9BD1] $9091D7 20 1F 9B JSR $9B1F [$90:9B1F] $9091DA AD 4A 0B LDA $0B4A [$7E:0B4A] $9091DD D0 19 BNE $19 [$91F8] $9091DF A5 8B LDA $8B [$7E:008B] $9091E1 89 00 01 BIT #$0100 $9091E4 D0 12 BNE $12 [$91F8] $9091E6 89 00 02 BIT #$0200 $9091E9 D0 0D BNE $0D [$91F8] $9091EB 64 12 STZ $12 [$7E:0012] $9091ED 64 14 STZ $14 [$7E:0014] $9091EF 9C 46 0B STZ $0B46 [$7E:0B46] $9091F2 9C 48 0B STZ $0B48 [$7E:0B48] $9091F5 9C D0 0D STZ $0DD0 [$7E:0DD0] $9091F8 20 A9 8E JSR $8EA9 [$90:8EA9] $9091FB AD 52 0A LDA $0A52 [$7E:0A52] $9091FE D0 3D BNE $3D [$923D] $909200 AD 5C 0B LDA $0B5C [$7E:0B5C] $909203 D0 05 BNE $05 [$920A] $909205 AD 5A 0B LDA $0B5A [$7E:0B5A] $909208 F0 2D BEQ $2D [$9237] $909237 20 C4 90 JSR $90C4 [$90:90C4] $90923A 20 E2 90 JSR $90E2 [$90:90E2] $90923D 28 PLP $90923E 60 RTS ;;; Samus Y motion ;;; ; Calculate values for initial $12 and $14 ; (Y movement distance, don't currently understand calculations), ; and go to 93EC or 9440 $90923F 08 PHP $909240 C2 30 REP #$30 $909242 AD 5C 0B LDA $0B5C [$7E:0B5C] $909245 D0 20 BNE $20 [$9267] $909247 AD 5A 0B LDA $0B5A [$7E:0B5A] $90924A D0 1B BNE $1B [$9267] $90924C AD BA 0D LDA $0DBA [$7E:0DBA] $90924F D0 0D BNE $0D [$925E] $909251 AD BE 0D LDA $0DBE [$7E:0DBE] $909254 85 14 STA $14 [$7E:0014] $909256 AD BC 0D LDA $0DBC [$7E:0DBC] $909259 1A INC A $90925A 85 12 STA $12 [$7E:0012] $90925C 80 07 BRA $07 [$9265] $90925E 64 14 STZ $14 [$7E:0014] $909260 A9 01 00 LDA #$0001 $909263 85 12 STA $12 [$7E:0012] $909265 80 17 BRA $17 [$927E] $909267 64 14 STZ $14 [$7E:0014] $909269 64 12 STZ $12 [$7E:0012] $90926B AD 5A 0B LDA $0B5A [$7E:0B5A] $90926E 18 CLC $90926F 65 14 ADC $14 [$7E:0014] $909271 85 14 STA $14 [$7E:0014] $909273 AD 5C 0B LDA $0B5C [$7E:0B5C] $909276 65 12 ADC $12 [$7E:0012] $909278 85 12 STA $12 [$7E:0012] $90927A 30 07 BMI $07 [$9283] $90927C E6 12 INC $12 [$7E:0012] $90927E 20 40 94 JSR $9440 [$90:9440] $909281 80 03 BRA $03 [$9286] $909283 20 EC 93 JSR $93EC [$90:93EC] $909286 28 PLP $909287 60 RTS $909288 08 PHP $909289 C2 30 REP #$30 $90928B AD 5C 0B LDA $0B5C [$7E:0B5C] $90928E D0 07 BNE $07 [$9297] $909290 AD 5A 0B LDA $0B5A [$7E:0B5A] $909293 D0 02 BNE $02 [$9297] $909295 28 PLP $909296 60 RTS $909297 64 14 STZ $14 [$7E:0014] $909299 64 12 STZ $12 [$7E:0012] $90929B AD 5A 0B LDA $0B5A [$7E:0B5A] $90929E 18 CLC $90929F 65 14 ADC $14 [$7E:0014] $9092A1 85 14 STA $14 [$7E:0014] $9092A3 AD 5C 0B LDA $0B5C [$7E:0B5C] $9092A6 65 12 ADC $12 [$7E:0012] $9092A8 85 12 STA $12 [$7E:0012] $9092AA 30 07 BMI $07 [$92B3] $9092AC E6 12 INC $12 [$7E:0012] $9092AE 20 40 94 JSR $9440 [$90:9440] $9092B1 80 03 BRA $03 [$92B6] $9092B3 20 EC 93 JSR $93EC [$90:93EC] $9092B6 28 PLP $9092B7 60 RTS $9092B8 AD 36 0B LDA $0B36 [$7E:0B36] $9092BB D0 02 BNE $02 [$92BF] $9092BD 18 CLC $9092BE 60 RTS $9092BF 20 C4 90 JSR $90C4 [$90:90C4] $9092C2 20 E2 90 JSR $90E2 [$90:90E2] $9092C5 38 SEC $9092C6 60 RTS $9092C7 AD 36 0B LDA $0B36 [$7E:0B36] $9092CA D0 02 BNE $02 [$92CE] $9092CC 18 CLC $9092CD 60 RTS $9092CE 20 C4 90 JSR $90C4 [$90:90C4] $9092D1 20 E2 90 JSR $90E2 [$90:90E2] $9092D4 38 SEC $9092D5 60 RTS $9092E9 60 RTS ;;; ;;; $909348 64 12 STZ $12 [$7E:0012] $90934A 64 14 STZ $14 [$7E:0014] $90934C 20 A9 8E JSR $8EA9 [$90:8EA9] $90934F 60 RTS ;;; Move Samus left $12.$14 pixels with all the checks ;;; $909350 08 PHP $909351 C2 30 REP #$30 $909353 A5 12 LDA $12 [$7E:0012] $909355 49 FF FF EOR #$FFFF $909358 85 12 STA $12 [$7E:0012] $90935A A5 14 LDA $14 [$7E:0014] $90935C 49 FF FF EOR #$FFFF $90935F 1A INC A $909360 85 14 STA $14 [$7E:0014] $909362 D0 02 BNE $02 [$9366] $909364 E6 12 INC $12 [$7E:0012] $909366 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $90936A 8D D0 0D STA $0DD0 [$7E:0DD0] $90936D AA TAX $90936E F0 0C BEQ $0C [$937C] $909370 20 CE E5 JSR $E5CE [$90:E5CE] $909373 20 42 98 JSR $9842 [$90:9842] $909376 22 F4 87 94 JSL $9487F4[$94:87F4] $90937A 28 PLP $90937B 60 RTS $90937C A5 12 LDA $12 [$7E:0012] $90937E 49 FF FF EOR #$FFFF $909381 85 12 STA $12 [$7E:0012] $909383 A5 14 LDA $14 [$7E:0014] $909385 49 FF FF EOR #$FFFF $909388 1A INC A $909389 85 14 STA $14 [$7E:0014] $90938B D0 02 BNE $02 [$938F] $90938D E6 12 INC $12 [$7E:0012] $90938F 22 1E 97 94 JSL $94971E[$94:971E] $909393 A5 14 LDA $14 [$7E:0014] $909395 8D AC 0D STA $0DAC [$7E:0DAC] $909398 A5 12 LDA $12 [$7E:0012] $90939A 8D AA 0D STA $0DAA [$7E:0DAA] $90939D AD 02 0B LDA $0B02 [$7E:0B02] $9093A0 89 01 00 BIT #$0001 $9093A3 F0 03 BEQ $03 [$93A8] $9093A5 9C D0 0D STZ $0DD0 [$7E:0DD0] $9093A8 20 CE E5 JSR $E5CE [$90:E5CE] $9093AB 22 F4 87 94 JSL $9487F4[$94:87F4] $9093AF 28 PLP $9093B0 60 RTS ;;; Move Samus right $12.$14 pixels with all the checks ;;; $9093B1 08 PHP $9093B2 C2 30 REP #$30 $9093B4 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $9093B8 8D D0 0D STA $0DD0 [$7E:0DD0] $9093BB AA TAX $9093BC F0 0C BEQ $0C [$93CA] $9093BE 20 CE E5 JSR $E5CE [$90:E5CE] $9093C1 20 26 98 JSR $9826 [$90:9826] $9093C4 22 F4 87 94 JSL $9487F4[$94:87F4] $9093C8 28 PLP $9093C9 60 RTS $9093CA 22 1E 97 94 JSL $94971E[$94:971E] $9093CE A5 14 LDA $14 [$7E:0014] $9093D0 8D B0 0D STA $0DB0 [$7E:0DB0] $9093D3 A5 12 LDA $12 [$7E:0012] $9093D5 8D AE 0D STA $0DAE [$7E:0DAE] $9093D8 AD 02 0B LDA $0B02 [$7E:0B02] $9093DB 89 01 00 BIT #$0001 $9093DE D0 03 BNE $03 [$93E3] $9093E0 9C D0 0D STZ $0DD0 [$7E:0DD0] $9093E3 20 CE E5 JSR $E5CE [$90:E5CE] $9093E6 22 F4 87 94 JSL $9487F4[$94:87F4] $9093EA 28 PLP $9093EB 60 RTS ;;; Move Samus up $12.$14 pixels with all the checks ;;; $9093EC 08 PHP $9093ED C2 30 REP #$30 $9093EF A9 02 00 LDA #$0002 $9093F2 8D 02 0B STA $0B02 [$7E:0B02] $9093F5 A5 12 LDA $12 [$7E:0012] $9093F7 49 FF FF EOR #$FFFF $9093FA 85 12 STA $12 [$7E:0012] $9093FC A5 14 LDA $14 [$7E:0014] $9093FE 49 FF FF EOR #$FFFF $909401 1A INC A $909402 85 14 STA $14 [$7E:0014] $909404 D0 02 BNE $02 [$9408] $909406 E6 12 INC $12 [$7E:0012] $909408 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $90940C 8D D0 0D STA $0DD0 [$7E:0DD0] $90940F AA TAX $909410 F0 08 BEQ $08 [$941A] $909412 20 06 E6 JSR $E606 [$90:E606] $909415 20 8D 98 JSR $988D [$90:988D] $909418 28 PLP $909419 60 RTS $90941A A5 12 LDA $12 [$7E:0012] $90941C 49 FF FF EOR #$FFFF $90941F 85 12 STA $12 [$7E:0012] $909421 A5 14 LDA $14 [$7E:0014] $909423 49 FF FF EOR #$FFFF $909426 1A INC A $909427 85 14 STA $14 [$7E:0014] $909429 D0 02 BNE $02 [$942D] $90942B E6 12 INC $12 [$7E:0012] $90942D 22 63 97 94 JSL $949763[$94:9763] $909431 A5 14 LDA $14 [$7E:0014] $909433 8D B4 0D STA $0DB4 [$7E:0DB4] $909436 A5 12 LDA $12 [$7E:0012] $909438 8D B2 0D STA $0DB2 [$7E:0DB2] $90943B 20 06 E6 JSR $E606 [$90:E606] $90943E 28 PLP $90943F 60 RTS ;;; Move Samus down $12.$14 pixels with all the checks ;;; $909440 08 PHP $909441 C2 30 REP #$30 $909443 A9 03 00 LDA #$0003 $909446 8D 02 0B STA $0B02 [$7E:0B02] $909449 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $90944D 8D D0 0D STA $0DD0 [$7E:0DD0] $909450 AA TAX $909451 F0 08 BEQ $08 [$945B] $909453 20 1B E6 JSR $E61B [$90:E61B] $909456 20 71 98 JSR $9871 [$90:9871] $909459 28 PLP $90945A 60 RTS $90945B 22 63 97 94 JSL $949763[$94:9763] $90945F A5 14 LDA $14 [$7E:0014] $909461 8D B8 0D STA $0DB8 [$7E:0DB8] $909464 A5 12 LDA $12 [$7E:0012] $909466 8D B6 0D STA $0DB6 [$7E:0DB6] $909469 20 1B E6 JSR $E61B [$90:E61B] $90946C 28 PLP $90946D 60 RTS ;;; ;;; $90946E AD 36 0B LDA $0B36 [$7E:0B36] $909471 C9 01 00 CMP #$0001 $909474 D0 17 BNE $17 [$948D] $909476 AD 2E 0B LDA $0B2E [$7E:0B2E] $909479 10 12 BPL $12 [$948D] $90947B 9C 2C 0B STZ $0B2C [$7E:0B2C] $90947E 9C 2E 0B STZ $0B2E [$7E:0B2E] $909481 A9 02 00 LDA #$0002 $909484 8D 36 0B STA $0B36 [$7E:0B36] $909487 A9 37 A3 LDA #$A337 $90948A 8D 58 0A STA $0A58 [$7E:0A58] $90948D A9 02 00 LDA #$0002 $909490 8D 4A 0B STA $0B4A [$7E:0B4A] $909493 20 21 9C JSR $9C21 [$90:9C21] $909496 20 7E 9A JSR $9A7E [$90:9A7E] $909499 AD 4A 0B LDA $0B4A [$7E:0B4A] $90949C D0 1B BNE $1B [$94B9] $90949E A5 8B LDA $8B [$7E:008B] $9094A0 89 00 01 BIT #$0100 $9094A3 D0 14 BNE $14 [$94B9] $9094A5 89 00 02 BIT #$0200 $9094A8 D0 0F BNE $0F [$94B9] $9094AA 64 12 STZ $12 [$7E:0012] $9094AC 64 14 STZ $14 [$7E:0014] $9094AE 9C 46 0B STZ $0B46 [$7E:0B46] $9094B1 9C 48 0B STZ $0B48 [$7E:0B48] $9094B4 9C D0 0D STZ $0DD0 [$7E:0DD0] $9094B7 80 03 BRA $03 [$94BC] $9094B9 20 A9 8E JSR $8EA9 [$90:8EA9] $9094BC 20 E2 90 JSR $90E2 [$90:90E2] $9094BF AD C6 0D LDA $0DC6 [$7E:0DC6] $9094C2 F0 06 BEQ $06 [$94CA] $9094C4 A9 37 A3 LDA #$A337 $9094C7 8D 58 0A STA $0A58 [$7E:0A58] $9094CA 60 RTS $9094CB 20 E2 90 JSR $90E2 [$90:90E2] $9094CE AD D0 0D LDA $0DD0 [$7E:0DD0] $9094D1 F0 18 BEQ $18 [$94EB] $9094D3 A9 37 A3 LDA #$A337 $9094D6 8D 58 0A STA $0A58 [$7E:0A58] $9094D9 A9 08 00 LDA #$0008 $9094DC 8D 94 0A STA $0A94 [$7E:0A94] $9094DF A9 07 00 LDA #$0007 $9094E2 8D 96 0A STA $0A96 [$7E:0A96] $9094E5 9C 2C 0B STZ $0B2C [$7E:0B2C] $9094E8 9C 2E 0B STZ $0B2E [$7E:0B2E] $9094EB 60 RTS ;;; Main scrolling routine ;;; ; Has $0CF8 scrolling (JSL $80A528 and JSL $80A731), and then normal scrolling. ; Also JSRs to $07E9 if it's not 0000. ; Sets previous frame's position($0B10 - $0B17) $9094EC 08 PHP $9094ED 8B PHB $9094EE 4B PHK $9094EF AB PLB $9094F0 C2 30 REP #$30 $9094F2 AD F8 0C LDA $0CF8 [$7E:0CF8] $9094F5 F0 60 BEQ $60 [$9557] $9094F7 AD F6 0A LDA $0AF6 [$7E:0AF6] $9094FA 30 51 BMI $51 [$954D] $9094FC 38 SEC $9094FD ED 11 09 SBC $0911 [$7E:0911] $909500 90 16 BCC $16 [$9518] $909502 C9 A0 00 CMP #$00A0 $909505 90 0C BCC $0C [$9513] $909507 AD 11 09 LDA $0911 [$7E:0911] $90950A 18 CLC $90950B 69 03 00 ADC #$0003 $90950E 8D 11 09 STA $0911 [$7E:0911] $909511 80 0F BRA $0F [$9522] $909513 C9 60 00 CMP #$0060 $909516 B0 0A BCS $0A [$9522] $909518 AD 11 09 LDA $0911 [$7E:0911] $90951B 38 SEC $90951C E9 03 00 SBC #$0003 $90951F 8D 11 09 STA $0911 [$7E:0911] $909522 AD FA 0A LDA $0AFA [$7E:0AFA] $909525 30 26 BMI $26 [$954D] $909527 38 SEC $909528 ED 15 09 SBC $0915 [$7E:0915] $90952B 90 16 BCC $16 [$9543] $90952D C9 90 00 CMP #$0090 $909530 90 0C BCC $0C [$953E] $909532 AD 15 09 LDA $0915 [$7E:0915] $909535 18 CLC $909536 69 03 00 ADC #$0003 $909539 8D 15 09 STA $0915 [$7E:0915] $90953C 80 0F BRA $0F [$954D] $90953E C9 70 00 CMP #$0070 $909541 B0 0A BCS $0A [$954D] $909543 AD 15 09 LDA $0915 [$7E:0915] $909546 38 SEC $909547 E9 03 00 SBC #$0003 $90954A 8D 15 09 STA $0915 [$7E:0915] $90954D 22 28 A5 80 JSL $80A528[$80:A528] $909551 22 31 A7 80 JSL $80A731[$80:A731] $909555 80 0C BRA $0C [$9563] $909557 20 C0 96 JSR $96C0 [$90:96C0] $90955A 20 A0 95 JSR $95A0 [$90:95A0] $90955D 20 FF 96 JSR $96FF [$90:96FF] $909560 20 4F 96 JSR $964F [$90:964F] $909563 AE E9 07 LDX $07E9 [$7E:07E9] $909566 F0 06 BEQ $06 [$956E] $909568 A2 00 00 LDX #$0000 $90956B FC E9 07 JSR ($07E9,x)[$90:9589] $90956E AD F6 0A LDA $0AF6 [$7E:0AF6] $909571 8D 10 0B STA $0B10 [$7E:0B10] $909574 AD F8 0A LDA $0AF8 [$7E:0AF8] $909577 8D 12 0B STA $0B12 [$7E:0B12] $90957A AD FA 0A LDA $0AFA [$7E:0AFA] $90957D 8D 14 0B STA $0B14 [$7E:0B14] $909580 AD FC 0A LDA $0AFC [$7E:0AFC] $909583 8D 16 0B STA $0B16 [$7E:0B16] $909586 AB PLB $909587 28 PLP $909588 6B RTL ;;; ;;; $909589 A9 D0 01 LDA #$01D0 $90958C CD 15 09 CMP $0915 [$7E:0915] $90958F 90 03 BCC $03 [$9594] $909591 8D 15 09 STA $0915 [$7E:0915] $909594 60 RTS ;;; Handles horizontal scrolling ;;; ; If Samus didn't move, JSL $80A528 and do nothing else. ; Calculates ideal position, adjusts by how much Samus moved, ; and JSL $80A641 if scrolling right, JSL $80A6BB if scrolling left. $9095A0 08 PHP $9095A1 C2 30 REP #$30 $9095A3 AD 10 0B LDA $0B10 [$7E:0B10] $9095A6 CD F6 0A CMP $0AF6 [$7E:0AF6] $9095A9 D0 07 BNE $07 [$95B2] $9095AB 22 28 A5 80 JSL $80A528[$80:A528] $9095AF 4C 3D 96 JMP $963D [$90:963D] $9095B2 AD 11 09 LDA $0911 [$7E:0911] $9095B5 85 12 STA $12 [$7E:0012] $9095B7 AD 52 0A LDA $0A52 [$7E:0A52] $9095BA D0 0B BNE $0B [$95C7] $9095BC AD 1F 0A LDA $0A1F [$7E:0A1F] $9095BF 29 FF 00 AND #$00FF $9095C2 C9 10 00 CMP #$0010 $9095C5 D0 0D BNE $0D [$95D4] $9095C7 AD 1E 0A LDA $0A1E [$7E:0A1E] $9095CA 29 FF 00 AND #$00FF $9095CD C9 04 00 CMP #$0004 $9095D0 F0 15 BEQ $15 [$95E7] $9095D2 80 22 BRA $22 [$95F6] $9095D4 AD 4A 0B LDA $0B4A [$7E:0B4A] $9095D7 C9 01 00 CMP #$0001 $9095DA F0 EB BEQ $EB [$95C7] $9095DC AD 1E 0A LDA $0A1E [$7E:0A1E] $9095DF 29 FF 00 AND #$00FF $9095E2 C9 04 00 CMP #$0004 $9095E5 F0 0F BEQ $0F [$95F6] $9095E7 AE 41 09 LDX $0941 [$7E:0941] $9095EA AD F6 0A LDA $0AF6 [$7E:0AF6] $9095ED 38 SEC $9095EE FD 3F 96 SBC $963F,x[$90:963F] $9095F1 8D 0A 0B STA $0B0A [$7E:0B0A] $9095F4 80 0D BRA $0D [$9603] $9095F6 AE 41 09 LDX $0941 [$7E:0941] $9095F9 AD F6 0A LDA $0AF6 [$7E:0AF6] $9095FC 38 SEC $9095FD FD 47 96 SBC $9647,x[$90:9647] $909600 8D 0A 0B STA $0B0A [$7E:0B0A] $909603 AD 0A 0B LDA $0B0A [$7E:0B0A] $909606 CD 11 09 CMP $0911 [$7E:0911] $909609 F0 32 BEQ $32 [$963D] $90960B 30 19 BMI $19 [$9626] $90960D AD 0F 09 LDA $090F [$7E:090F] $909610 18 CLC $909611 6D A4 0D ADC $0DA4 [$7E:0DA4] $909614 8D 0F 09 STA $090F [$7E:090F] $909617 AD 11 09 LDA $0911 [$7E:0911] $90961A 6D A2 0D ADC $0DA2 [$7E:0DA2] $90961D 8D 11 09 STA $0911 [$7E:0911] $909620 22 41 A6 80 JSL $80A641[$80:A641] $909624 80 17 BRA $17 [$963D] $909626 AD 0F 09 LDA $090F [$7E:090F] $909629 38 SEC $90962A ED A4 0D SBC $0DA4 [$7E:0DA4] $90962D 8D 0F 09 STA $090F [$7E:090F] $909630 AD 11 09 LDA $0911 [$7E:0911] $909633 ED A2 0D SBC $0DA2 [$7E:0DA2] $909636 8D 11 09 STA $0911 [$7E:0911] $909639 22 BB A6 80 JSL $80A6BB[$80:A6BB] $90963D 28 PLP $90963E 60 RTS $90963F dw 0060, 0040, 0020, 00E0 $909645 dw 00A0, 0050, 0020, 00E0 ;;; Handles vertical scrolling ;;; ; If Samus didn't move, JSL $80A731 and do nothing. ; Calculates ideal position, adjusts by how much Samus moved, ; and JSL $80A893 if scrolling down, JSL $80A936 if scrolling up. $90964F 08 PHP $909650 C2 30 REP #$30 $909652 AD 14 0B LDA $0B14 [$7E:0B14] $909655 CD FA 0A CMP $0AFA [$7E:0AFA] $909658 D0 07 BNE $07 [$9661] $90965A 22 31 A7 80 JSL $80A731[$80:A731] $90965E 4C BE 96 JMP $96BE [$90:96BE] $909661 AD 15 09 LDA $0915 [$7E:0915] $909664 85 12 STA $12 [$7E:0012] $909666 AD 36 0B LDA $0B36 [$7E:0B36] $909669 C9 01 00 CMP #$0001 $90966C F0 0C BEQ $0C [$967A] $90966E AD FA 0A LDA $0AFA [$7E:0AFA] $909671 38 SEC $909672 ED AD 07 SBC $07AD [$7E:07AD] $909675 8D 0E 0B STA $0B0E [$7E:0B0E] $909678 80 0A BRA $0A [$9684] $90967A AD FA 0A LDA $0AFA [$7E:0AFA] $90967D 38 SEC $90967E ED AF 07 SBC $07AF [$7E:07AF] $909681 8D 0E 0B STA $0B0E [$7E:0B0E] $909684 AD 0E 0B LDA $0B0E [$7E:0B0E] $909687 CD 15 09 CMP $0915 [$7E:0915] $90968A F0 32 BEQ $32 [$96BE] $90968C 30 19 BMI $19 [$96A7] $90968E AD 13 09 LDA $0913 [$7E:0913] $909691 18 CLC $909692 6D A8 0D ADC $0DA8 [$7E:0DA8] $909695 8D 13 09 STA $0913 [$7E:0913] $909698 AD 15 09 LDA $0915 [$7E:0915] $90969B 6D A6 0D ADC $0DA6 [$7E:0DA6] $90969E 8D 15 09 STA $0915 [$7E:0915] $9096A1 22 93 A8 80 JSL $80A893[$80:A893] $9096A5 80 17 BRA $17 [$96BE] $9096A7 AD 13 09 LDA $0913 [$7E:0913] $9096AA 38 SEC $9096AB ED A8 0D SBC $0DA8 [$7E:0DA8] $9096AE 8D 13 09 STA $0913 [$7E:0913] $9096B1 AD 15 09 LDA $0915 [$7E:0915] $9096B4 ED A6 0D SBC $0DA6 [$7E:0DA6] $9096B7 8D 15 09 STA $0915 [$7E:0915] $9096BA 22 36 A9 80 JSL $80A936[$80:A936] $9096BE 28 PLP $9096BF 60 RTS ;;; Calculates the horizontal distance Samus has moved last frame, + 1 pixel ;;; ; Results in $0DA2.$0DA4. $9096C0 08 PHP $9096C1 C2 30 REP #$30 $9096C3 AD F6 0A LDA $0AF6 [$7E:0AF6] $9096C6 CD 10 0B CMP $0B10 [$7E:0B10] $9096C9 30 02 BMI $02 [$96CD] $9096CB 80 19 BRA $19 [$96E6] $9096CD AD 12 0B LDA $0B12 [$7E:0B12] $9096D0 38 SEC $9096D1 ED F8 0A SBC $0AF8 [$7E:0AF8] $9096D4 8D A4 0D STA $0DA4 [$7E:0DA4] $9096D7 AD 10 0B LDA $0B10 [$7E:0B10] $9096DA ED F6 0A SBC $0AF6 [$7E:0AF6] $9096DD 18 CLC $9096DE 6D AD 9E ADC $9EAD [$90:9EAD] $9096E1 8D A2 0D STA $0DA2 [$7E:0DA2] $9096E4 80 17 BRA $17 [$96FD] $9096E6 AD F8 0A LDA $0AF8 [$7E:0AF8] $9096E9 38 SEC $9096EA ED 12 0B SBC $0B12 [$7E:0B12] $9096ED 8D A4 0D STA $0DA4 [$7E:0DA4] $9096F0 AD F6 0A LDA $0AF6 [$7E:0AF6] $9096F3 ED 10 0B SBC $0B10 [$7E:0B10] $9096F6 18 CLC $9096F7 6D AD 9E ADC $9EAD [$90:9EAD] $9096FA 8D A2 0D STA $0DA2 [$7E:0DA2] $9096FD 28 PLP $9096FE 60 RTS ;;; Calculates the vertical distance Samus has moved last frame, + 1 pixel ;;; ; Results in $0DA6.$0DA8 $9096FF 08 PHP $909700 C2 30 REP #$30 $909702 AD FA 0A LDA $0AFA [$7E:0AFA] $909705 CD 14 0B CMP $0B14 [$7E:0B14] $909708 30 02 BMI $02 [$970C] $90970A 80 19 BRA $19 [$9725] $90970C AD 16 0B LDA $0B16 [$7E:0B16] $90970F 38 SEC $909710 ED FC 0A SBC $0AFC [$7E:0AFC] $909713 8D A8 0D STA $0DA8 [$7E:0DA8] $909716 AD 14 0B LDA $0B14 [$7E:0B14] $909719 ED FA 0A SBC $0AFA [$7E:0AFA] $90971C 18 CLC $90971D 6D AD 9E ADC $9EAD [$90:9EAD] $909720 8D A6 0D STA $0DA6 [$7E:0DA6] $909723 80 17 BRA $17 [$973C] $909725 AD FC 0A LDA $0AFC [$7E:0AFC] $909728 38 SEC $909729 ED 16 0B SBC $0B16 [$7E:0B16] $90972C 8D A8 0D STA $0DA8 [$7E:0DA8] $90972F AD FA 0A LDA $0AFA [$7E:0AFA] $909732 ED 14 0B SBC $0B14 [$7E:0B14] $909735 18 CLC $909736 6D AD 9E ADC $9EAD [$90:9EAD] $909739 8D A6 0D STA $0DA6 [$7E:0DA6] $90973C 28 PLP $90973D 60 RTS ;;; ;;; ; Checks if Samus is being affected by water, or if she isn't walking/running on ground, ; if so, set her speed to 0 if her running byte isn't set ($0B3C). ; Otherwise, increase and cap her speed as appropriate. $90973E 08 PHP $90973F C2 30 REP #$30 $909741 AD A2 09 LDA $09A2 [$7E:09A2] $909744 89 20 00 BIT #$0020 $909747 D0 18 BNE $18 [$9761] $909749 22 3E EC 90 JSL $90EC3E[$90:EC3E] $90974D AD 5E 19 LDA $195E [$7E:195E] $909750 30 06 BMI $06 [$9758] $909752 C5 12 CMP $12 [$7E:0012] $909754 30 10 BMI $10 [$9766] $909756 80 09 BRA $09 [$9761] $909758 AD 62 19 LDA $1962 [$7E:1962] $90975B 30 04 BMI $04 [$9761] $90975D C5 12 CMP $12 [$7E:0012] $90975F 30 0D BMI $0D [$976E] $909761 A2 00 00 LDX #$0000 $909764 80 0B BRA $0B [$9771] $909766 AD 7E 19 LDA $197E [$7E:197E] $909769 89 04 00 BIT #$0004 $90976C D0 F3 BNE $F3 [$9761] $90976E 4C 08 98 JMP $9808 [$90:9808] $909771 AD 1F 0A LDA $0A1F [$7E:0A1F] $909774 29 FF 00 AND #$00FF $909777 C9 01 00 CMP #$0001 $90977A F0 03 BEQ $03 [$977F] $90977C 4C 08 98 JMP $9808 [$90:9808] $90977F A5 8B LDA $8B [$7E:008B] $909781 2D B6 09 AND $09B6 [$7E:09B6] $909784 D0 03 BNE $03 [$9789] $909786 4C 08 98 JMP $9808 [$90:9808] $909789 AD A2 09 LDA $09A2 [$7E:09A2] $90978C 89 00 20 BIT #$2000 $90978F F0 36 BEQ $36 [$97C7] $909791 AD 3C 0B LDA $0B3C [$7E:0B3C] $909794 D0 13 BNE $13 [$97A9] $909796 A9 01 00 LDA #$0001 $909799 8D 3C 0B STA $0B3C [$7E:0B3C] $90979C 8D D0 0A STA $0AD0 [$7E:0AD0] $90979F 9C CE 0A STZ $0ACE [$7E:0ACE] $9097A2 AF 1F B6 91 LDA $91B61F[$91:B61F] $9097A6 8D 3E 0B STA $0B3E [$7E:0B3E] $9097A9 AD 42 0B LDA $0B42 [$7E:0B42] $9097AC DD 0D 9F CMP $9F0D,x[$90:9F0D] $9097AF 30 42 BMI $42 [$97F3] $9097B1 AD 44 0B LDA $0B44 [$7E:0B44] $9097B4 DD 13 9F CMP $9F13,x[$90:9F13] $9097B7 30 3A BMI $3A [$97F3] $9097B9 BD 0D 9F LDA $9F0D,x[$90:9F0D] $9097BC 8D 42 0B STA $0B42 [$7E:0B42] $9097BF BD 13 9F LDA $9F13,x[$90:9F13] $9097C2 8D 44 0B STA $0B44 [$7E:0B44] $9097C5 80 4C BRA $4C [$9813] $9097C7 AD 3C 0B LDA $0B3C [$7E:0B3C] $9097CA D0 09 BNE $09 [$97D5] $9097CC A9 01 00 LDA #$0001 $9097CF 8D 3C 0B STA $0B3C [$7E:0B3C] $9097D2 9C 3E 0B STZ $0B3E [$7E:0B3E] $9097D5 AD 42 0B LDA $0B42 [$7E:0B42] $9097D8 DD 19 9F CMP $9F19,x[$90:9F19] $9097DB 30 16 BMI $16 [$97F3] $9097DD AD 44 0B LDA $0B44 [$7E:0B44] $9097E0 DD 1F 9F CMP $9F1F,x[$90:9F1F] $9097E3 30 0E BMI $0E [$97F3] $9097E5 BD 19 9F LDA $9F19,x[$90:9F19] $9097E8 8D 42 0B STA $0B42 [$7E:0B42] $9097EB BD 1F 9F LDA $9F1F,x[$90:9F1F] $9097EE 8D 44 0B STA $0B44 [$7E:0B44] $9097F1 80 20 BRA $20 [$9813] $9097F3 AD 44 0B LDA $0B44 [$7E:0B44] $9097F6 18 CLC $9097F7 7D 07 9F ADC $9F07,x[$90:9F07] $9097FA 8D 44 0B STA $0B44 [$7E:0B44] $9097FD AD 42 0B LDA $0B42 [$7E:0B42] $909800 7D 01 9F ADC $9F01,x[$90:9F01] $909803 8D 42 0B STA $0B42 [$7E:0B42] $909806 80 0B BRA $0B [$9813] $909808 AD 3C 0B LDA $0B3C [$7E:0B3C] $90980B D0 06 BNE $06 [$9813] $90980D 9C 42 0B STZ $0B42 [$7E:0B42] $909810 9C 44 0B STZ $0B44 [$7E:0B44] $909813 AD 3E 0B LDA $0B3E [$7E:0B3E] $909816 29 00 FF AND #$FF00 $909819 C9 00 04 CMP #$0400 $90981C D0 06 BNE $06 [$9824] $90981E A9 01 00 LDA #$0001 $909821 8D 6E 0A STA $0A6E [$7E:0A6E] $909824 28 PLP $909825 60 RTS ;;; Move Samus $12.$14 pixels right and put $12 and $14 into $0DAE and $0DB0 ;;; $909826 AD F8 0A LDA $0AF8 [$7E:0AF8] $909829 18 CLC $90982A 65 14 ADC $14 [$7E:0014] $90982C 8D F8 0A STA $0AF8 [$7E:0AF8] $90982F AD F6 0A LDA $0AF6 [$7E:0AF6] $909832 65 12 ADC $12 [$7E:0012] $909834 8D F6 0A STA $0AF6 [$7E:0AF6] $909837 A5 14 LDA $14 [$7E:0014] $909839 8D B0 0D STA $0DB0 [$7E:0DB0] $90983C A5 12 LDA $12 [$7E:0012] $90983E 8D AE 0D STA $0DAE [$7E:0DAE] $909841 60 RTS ;;; Move Samus $12.$14 pixels left and put -$12 and -$14 into $0DAA and $0DAC ;;; $909842 AD F8 0A LDA $0AF8 [$7E:0AF8] $909845 38 SEC $909846 E5 14 SBC $14 [$7E:0014] $909848 8D F8 0A STA $0AF8 [$7E:0AF8] $90984B AD F6 0A LDA $0AF6 [$7E:0AF6] $90984E E5 12 SBC $12 [$7E:0012] $909850 8D F6 0A STA $0AF6 [$7E:0AF6] $909853 A5 12 LDA $12 [$7E:0012] $909855 49 FF FF EOR #$FFFF $909858 85 12 STA $12 [$7E:0012] $90985A A5 14 LDA $14 [$7E:0014] $90985C 49 FF FF EOR #$FFFF $90985F 1A INC A $909860 85 14 STA $14 [$7E:0014] $909862 D0 02 BNE $02 [$9866] $909864 E6 12 INC $12 [$7E:0012] $909866 A5 14 LDA $14 [$7E:0014] $909868 8D AC 0D STA $0DAC [$7E:0DAC] $90986B A5 12 LDA $12 [$7E:0012] $90986D 8D AA 0D STA $0DAA [$7E:0DAA] $909870 60 RTS ;;; Move Samus $12.$14 pixels down and put $12 and $14 into $0DB6 and $0DB8 ;;; $909871 AD FC 0A LDA $0AFC [$7E:0AFC] $909874 18 CLC $909875 65 14 ADC $14 [$7E:0014] $909877 8D FC 0A STA $0AFC [$7E:0AFC] $90987A AD FA 0A LDA $0AFA [$7E:0AFA] $90987D 65 12 ADC $12 [$7E:0012] $90987F 8D FA 0A STA $0AFA [$7E:0AFA] $909882 A5 14 LDA $14 [$7E:0014] $909884 8D B8 0D STA $0DB8 [$7E:0DB8] $909887 A5 12 LDA $12 [$7E:0012] $909889 8D B6 0D STA $0DB6 [$7E:0DB6] $90988C 60 RTS ;;; Move Samus $12.$14 pixels up and put -$12 and -$14 into $0DB2 and $0DB4 ;;; $90988D AD FC 0A LDA $0AFC [$7E:0AFC] $909890 38 SEC $909891 E5 14 SBC $14 [$7E:0014] $909893 8D FC 0A STA $0AFC [$7E:0AFC] $909896 AD FA 0A LDA $0AFA [$7E:0AFA] $909899 E5 12 SBC $12 [$7E:0012] $90989B 8D FA 0A STA $0AFA [$7E:0AFA] $90989E A5 12 LDA $12 [$7E:0012] $9098A0 49 FF FF EOR #$FFFF $9098A3 85 12 STA $12 [$7E:0012] $9098A5 A5 14 LDA $14 [$7E:0014] $9098A7 49 FF FF EOR #$FFFF $9098AA 1A INC A $9098AB 85 14 STA $14 [$7E:0014] $9098AD D0 02 BNE $02 [$98B1] $9098AF E6 12 INC $12 [$7E:0012] $9098B1 A5 14 LDA $14 [$7E:0014] $9098B3 8D B4 0D STA $0DB4 [$7E:0DB4] $9098B6 A5 12 LDA $12 [$7E:0012] $9098B8 8D B2 0D STA $0DB2 [$7E:0DB2] $9098BB 60 RTS ;;; ;;; ; Load Samus's vertical speeds (+2 for water, +4 for lava): ; Normal: 9EBF.9EB9, ; Hi-jump: 9ECB.9EC5. ; Also adds Samus' horizontal speed / 2, IF Samus has speed boots. ; Sets Samus moving up, clears 0A9E and 0AA0, unknown uses. $9098BC 08 PHP $9098BD 8B PHB $9098BE 4B PHK $9098BF AB PLB $9098C0 C2 30 REP #$30 $9098C2 AD A2 09 LDA $09A2 [$7E:09A2] $9098C5 89 20 00 BIT #$0020 $9098C8 D0 18 BNE $18 [$98E2] $9098CA 22 3E EC 90 JSL $90EC3E[$90:EC3E] $9098CE AD 5E 19 LDA $195E [$7E:195E] $9098D1 30 06 BMI $06 [$98D9] $9098D3 C5 12 CMP $12 [$7E:0012] $9098D5 30 10 BMI $10 [$98E7] $9098D7 80 09 BRA $09 [$98E2] $9098D9 AD 62 19 LDA $1962 [$7E:1962] $9098DC 30 04 BMI $04 [$98E2] $9098DE C5 12 CMP $12 [$7E:0012] $9098E0 30 12 BMI $12 [$98F4] $9098E2 A2 00 00 LDX #$0000 $9098E5 80 10 BRA $10 [$98F7] $9098E7 AD 7E 19 LDA $197E [$7E:197E] $9098EA 89 04 00 BIT #$0004 $9098ED D0 F3 BNE $F3 [$98E2] $9098EF A2 02 00 LDX #$0002 $9098F2 80 03 BRA $03 [$98F7] $9098F4 A2 04 00 LDX #$0004 $9098F7 AD A2 09 LDA $09A2 [$7E:09A2] $9098FA 89 00 01 BIT #$0100 $9098FD D0 0E BNE $0E [$990D] $9098FF BD BF 9E LDA $9EBF,x[$90:9EBF] $909902 8D 2C 0B STA $0B2C [$7E:0B2C] $909905 BD B9 9E LDA $9EB9,x[$90:9EB9] $909908 8D 2E 0B STA $0B2E [$7E:0B2E] $90990B 80 0C BRA $0C [$9919] $90990D BD CB 9E LDA $9ECB,x[$90:9ECB] $909910 8D 2C 0B STA $0B2C [$7E:0B2C] $909913 BD C5 9E LDA $9EC5,x[$90:9EC5] $909916 8D 2E 0B STA $0B2E [$7E:0B2E] $909919 AD A2 09 LDA $09A2 [$7E:09A2] $90991C 89 00 20 BIT #$2000 $90991F F0 19 BEQ $19 [$993A] $909921 AD 42 0B LDA $0B42 [$7E:0B42] $909924 4A LSR A $909925 85 12 STA $12 [$7E:0012] $909927 AD 2C 0B LDA $0B2C [$7E:0B2C] $90992A 18 CLC $90992B 6D 44 0B ADC $0B44 [$7E:0B44] $90992E 8D 2C 0B STA $0B2C [$7E:0B2C] $909931 AD 2E 0B LDA $0B2E [$7E:0B2E] $909934 18 CLC $909935 65 12 ADC $12 [$7E:0012] $909937 8D 2E 0B STA $0B2E [$7E:0B2E] $90993A 9C 9E 0A STZ $0A9E [$7E:0A9E] $90993D 9C A0 0A STZ $0AA0 [$7E:0AA0] $909940 A9 01 00 LDA #$0001 $909943 8D 36 0B STA $0B36 [$7E:0B36] $909946 AB PLB $909947 28 PLP $909948 6B RTL ;;; ;;; $909949 08 PHP $90994A 8B PHB $90994B 4B PHK $90994C AB PLB $90994D C2 30 REP #$30 $90994F AD A2 09 LDA $09A2 [$7E:09A2] $909952 89 20 00 BIT #$0020 $909955 D0 18 BNE $18 [$996F] $909957 22 3E EC 90 JSL $90EC3E[$90:EC3E] $90995B AD 5E 19 LDA $195E [$7E:195E] $90995E 30 06 BMI $06 [$9966] $909960 C5 12 CMP $12 [$7E:0012] $909962 30 10 BMI $10 [$9974] $909964 80 09 BRA $09 [$996F] $909966 AD 62 19 LDA $1962 [$7E:1962] $909969 30 04 BMI $04 [$996F] $90996B C5 12 CMP $12 [$7E:0012] $90996D 30 12 BMI $12 [$9981] $90996F A2 00 00 LDX #$0000 $909972 80 10 BRA $10 [$9984] $909984 AD A2 09 LDA $09A2 [$7E:09A2] $909987 89 00 01 BIT #$0100 $90998A D0 0E BNE $0E [$999A] $90998C BD D7 9E LDA $9ED7,x[$90:9ED7] $90998F 8D 2C 0B STA $0B2C [$7E:0B2C] $909992 BD D1 9E LDA $9ED1,x[$90:9ED1] $909995 8D 2E 0B STA $0B2E [$7E:0B2E] $909998 80 0C BRA $0C [$99A6] $90999A BD E3 9E LDA $9EE3,x[$90:9EE3] $90999D 8D 2C 0B STA $0B2C [$7E:0B2C] $9099A0 BD DD 9E LDA $9EDD,x[$90:9EDD] $9099A3 8D 2E 0B STA $0B2E [$7E:0B2E] $9099A6 AD A2 09 LDA $09A2 [$7E:09A2] $9099A9 89 00 20 BIT #$2000 $9099AC F0 19 BEQ $19 [$99C7] $9099AE AD 42 0B LDA $0B42 [$7E:0B42] $9099B1 4A LSR A $9099B2 85 12 STA $12 [$7E:0012] $9099B4 AD 2C 0B LDA $0B2C [$7E:0B2C] $9099B7 18 CLC $9099B8 6D 44 0B ADC $0B44 [$7E:0B44] $9099BB 8D 2C 0B STA $0B2C [$7E:0B2C] $9099BE AD 2E 0B LDA $0B2E [$7E:0B2E] $9099C1 18 CLC $9099C2 65 12 ADC $12 [$7E:0012] $9099C4 8D 2E 0B STA $0B2E [$7E:0B2E] $9099C7 9C 9E 0A STZ $0A9E [$7E:0A9E] $9099CA 9C A0 0A STZ $0AA0 [$7E:0AA0] $9099CD A9 01 00 LDA #$0001 $9099D0 8D 36 0B STA $0B36 [$7E:0B36] $9099D3 AB PLB $9099D4 28 PLP $9099D5 6B RTL $9099D6 08 PHP $9099D7 8B PHB $9099D8 4B PHK $9099D9 AB PLB $9099DA C2 30 REP #$30 $9099DC AD A2 09 LDA $09A2 [$7E:09A2] $9099DF 89 20 00 BIT #$0020 $9099E2 D0 18 BNE $18 [$99FC] $9099E4 22 3E EC 90 JSL $90EC3E[$90:EC3E] $9099E8 AD 5E 19 LDA $195E [$7E:195E] $9099EB 30 06 BMI $06 [$99F3] $9099ED C5 12 CMP $12 [$7E:0012] $9099EF 30 10 BMI $10 [$9A01] $9099F1 80 09 BRA $09 [$99FC] $9099F3 AD 62 19 LDA $1962 [$7E:1962] $9099F6 30 04 BMI $04 [$99FC] $9099F8 C5 12 CMP $12 [$7E:0012] $9099FA 30 12 BMI $12 [$9A0E] $9099FC A2 00 00 LDX #$0000 $9099FF 80 10 BRA $10 [$9A11] $909A01 AD 7E 19 LDA $197E [$7E:197E] $909A04 89 04 00 BIT #$0004 $909A07 D0 F3 BNE $F3 [$99FC] $909A09 A2 02 00 LDX #$0002 $909A0C 80 03 BRA $03 [$9A11] $909A0E A2 04 00 LDX #$0004 $909A11 BD EF 9E LDA $9EEF,x[$90:9EEF] $909A14 8D 2C 0B STA $0B2C [$7E:0B2C] $909A17 BD E9 9E LDA $9EE9,x[$90:9EE9] $909A1A 8D 2E 0B STA $0B2E [$7E:0B2E] $909A1D 9C 9E 0A STZ $0A9E [$7E:0A9E] $909A20 9C A0 0A STZ $0AA0 [$7E:0AA0] $909A23 A9 01 00 LDA #$0001 $909A26 8D 36 0B STA $0B36 [$7E:0B36] $909A29 AB PLB $909A2A 28 PLP $909A2B 6B RTL $909A2C 08 PHP $909A2D C2 30 REP #$30 $909A2F AD A2 09 LDA $09A2 [$7E:09A2] $909A32 89 20 00 BIT #$0020 $909A35 D0 18 BNE $18 [$9A4F] $909A37 22 3E EC 90 JSL $90EC3E[$90:EC3E] $909A3B AD 5E 19 LDA $195E [$7E:195E] $909A3E 30 06 BMI $06 [$9A46] $909A40 C5 12 CMP $12 [$7E:0012] $909A42 30 10 BMI $10 [$9A54] $909A44 80 09 BRA $09 [$9A4F] $909A46 AD 62 19 LDA $1962 [$7E:1962] $909A49 30 04 BMI $04 [$9A4F] $909A4B C5 12 CMP $12 [$7E:0012] $909A4D 30 12 BMI $12 [$9A61] $909A4F A2 00 00 LDX #$0000 $909A52 80 10 BRA $10 [$9A64] $909A54 AD 7E 19 LDA $197E [$7E:197E] $909A57 89 04 00 BIT #$0004 $909A5A D0 F3 BNE $F3 [$9A4F] $909A5C A2 02 00 LDX #$0002 $909A5F 80 03 BRA $03 [$9A64] $909A64 BD FB 9E LDA $9EFB,x[$90:9EFB] $909A67 8D 2C 0B STA $0B2C [$7E:0B2C] $909A6A BD F5 9E LDA $9EF5,x[$90:9EF5] $909A6D 8D 2E 0B STA $0B2E [$7E:0B2E] $909A70 9C 9E 0A STZ $0A9E [$7E:0A9E] $909A73 9C A0 0A STZ $0AA0 [$7E:0AA0] $909A76 A9 01 00 LDA #$0001 $909A79 8D 36 0B STA $0B36 [$7E:0B36] $909A7C 28 PLP $909A7D 60 RTS ;;; ;;; ; Modifies momentum according to $0B4A (add or subtract) and X (entry start). ; X is usually a start pointer indexed by $0A1F * #$0C $909A7E 08 PHP $909A7F C2 30 REP #$30 $909A81 AD 4A 0B LDA $0B4A [$7E:0B4A] $909A84 D0 34 BNE $34 [$9ABA] $909A86 AD 48 0B LDA $0B48 [$7E:0B48] $909A89 18 CLC $909A8A 7D 02 00 ADC $0002,x[$90:9FCF] $909A8D 8D 48 0B STA $0B48 [$7E:0B48] $909A90 AD 46 0B LDA $0B46 [$7E:0B46] $909A93 7D 00 00 ADC $0000,x[$90:9FCD] $909A96 8D 46 0B STA $0B46 [$7E:0B46] $909A99 DD 04 00 CMP $0004,x[$90:9FD1] $909A9C 30 75 BMI $75 [$9B13] $909A9E F0 0E BEQ $0E [$9AAE] $909AA0 BD 04 00 LDA $0004,x[$90:9FD1] $909AA3 8D 46 0B STA $0B46 [$7E:0B46] $909AA6 BD 06 00 LDA $0006,x[$90:9FD3] $909AA9 8D 48 0B STA $0B48 [$7E:0B48] $909AAC 80 65 BRA $65 [$9B13] $909AAE AD 48 0B LDA $0B48 [$7E:0B48] $909AB1 DD 06 00 CMP $0006,x[$90:9F67] $909AB4 30 5D BMI $5D [$9B13] $909AB6 F0 5B BEQ $5B [$9B13] $909AB8 80 E6 BRA $E6 [$9AA0] $909ABA E2 20 SEP #$20 $909ABC AD 4C 0B LDA $0B4C [$7E:0B4C] $909ABF F0 2A BEQ $2A [$9AEB] $909AEB C2 20 REP #$20 $909AED BD 0A 00 LDA $000A,x[$90:9F6B] $909AF0 85 14 STA $14 [$7E:0014] $909AF2 BD 08 00 LDA $0008,x[$90:9F69] $909AF5 85 12 STA $12 [$7E:0012] $909AF7 AD 48 0B LDA $0B48 [$7E:0B48] $909AFA 38 SEC $909AFB E5 14 SBC $14 [$7E:0014] $909AFD 8D 48 0B STA $0B48 [$7E:0B48] $909B00 AD 46 0B LDA $0B46 [$7E:0B46] $909B03 E5 12 SBC $12 [$7E:0012] $909B05 8D 46 0B STA $0B46 [$7E:0B46] $909B08 10 09 BPL $09 [$9B13] $909B0A 9C 46 0B STZ $0B46 [$7E:0B46] $909B0D 9C 48 0B STZ $0B48 [$7E:0B48] $909B10 9C 4A 0B STZ $0B4A [$7E:0B4A] $909B13 AD 46 0B LDA $0B46 [$7E:0B46] $909B16 85 12 STA $12 [$7E:0012] $909B18 AD 48 0B LDA $0B48 [$7E:0B48] $909B1B 85 14 STA $14 [$7E:0014] $909B1D 28 PLP $909B1E 60 RTS $909B1F 08 PHP $909B20 C2 30 REP #$30 $909B22 AD 4A 0B LDA $0B4A [$7E:0B4A] $909B25 89 01 00 BIT #$0001 $909B28 D0 34 BNE $34 [$9B5E] $909B2A AD 48 0B LDA $0B48 [$7E:0B48] $909B2D 18 CLC $909B2E 7D 02 00 ADC $0002,x[$90:9F9F] $909B31 8D 48 0B STA $0B48 [$7E:0B48] $909B34 AD 46 0B LDA $0B46 [$7E:0B46] $909B37 7D 00 00 ADC $0000,x[$90:9F9D] $909B3A 8D 46 0B STA $0B46 [$7E:0B46] $909B3D DD 04 00 CMP $0004,x[$90:9FA1] $909B40 30 75 BMI $75 [$9BB7] $909B42 F0 0E BEQ $0E [$9B52] $909B44 BD 04 00 LDA $0004,x[$90:9FA1] $909B47 8D 46 0B STA $0B46 [$7E:0B46] $909B4A BD 06 00 LDA $0006,x[$90:9FA3] $909B4D 8D 48 0B STA $0B48 [$7E:0B48] $909B50 80 72 BRA $72 [$9BC4] $909B52 AD 48 0B LDA $0B48 [$7E:0B48] $909B55 DD 06 00 CMP $0006,x[$90:9FA3] $909B58 30 5D BMI $5D [$9BB7] $909B5A F0 5B BEQ $5B [$9BB7] $909B5C 80 E6 BRA $E6 [$9B44] $909B5E E2 20 SEP #$20 $909B60 AD 4C 0B LDA $0B4C [$7E:0B4C] $909B63 F0 2A BEQ $2A [$9B8F] $909B8F C2 20 REP #$20 $909B91 BD 0A 00 LDA $000A,x[$90:9F83] $909B94 85 14 STA $14 [$7E:0014] $909B96 BD 08 00 LDA $0008,x[$90:9F81] $909B99 85 12 STA $12 [$7E:0012] $909B9B AD 48 0B LDA $0B48 [$7E:0B48] $909B9E 38 SEC $909B9F E5 14 SBC $14 [$7E:0014] $909BA1 8D 48 0B STA $0B48 [$7E:0B48] $909BA4 AD 46 0B LDA $0B46 [$7E:0B46] $909BA7 E5 12 SBC $12 [$7E:0012] $909BA9 8D 46 0B STA $0B46 [$7E:0B46] $909BAC 10 09 BPL $09 [$9BB7] $909BAE 9C 46 0B STZ $0B46 [$7E:0B46] $909BB1 9C 48 0B STZ $0B48 [$7E:0B48] $909BB4 9C 4A 0B STZ $0B4A [$7E:0B4A] $909BB7 AD 46 0B LDA $0B46 [$7E:0B46] $909BBA 85 12 STA $12 [$7E:0012] $909BBC AD 48 0B LDA $0B48 [$7E:0B48] $909BBF 85 14 STA $14 [$7E:0014] $909BC1 28 PLP $909BC2 18 CLC $909BC3 60 RTS $909BC4 AD 46 0B LDA $0B46 [$7E:0B46] $909BC7 85 12 STA $12 [$7E:0012] $909BC9 AD 48 0B LDA $0B48 [$7E:0B48] $909BCC 85 14 STA $14 [$7E:0014] $909BCE 28 PLP $909BCF 38 SEC $909BD0 60 RTS ;;; ;;; ; Set $0A6C to #$A08D if affected by FX3, or #$A1DD if affected by FX3 and FX3 fills the room. ; Also, X = ($0A1F * #$0C) + $0A6C when leaving. $909BD1 08 PHP $909BD2 C2 30 REP #$30 $909BD4 AD A2 09 LDA $09A2 [$7E:09A2] $909BD7 89 20 00 BIT #$0020 $909BDA D0 18 BNE $18 [$9BF4] $909BDC 22 3E EC 90 JSL $90EC3E[$90:EC3E] $909BE0 AD 5E 19 LDA $195E [$7E:195E] $909BE3 30 06 BMI $06 [$9BEB] $909BE5 C5 12 CMP $12 [$7E:0012] $909BE7 30 0D BMI $0D [$9BF6] $909BE9 80 09 BRA $09 [$9BF4] $909BEB AD 62 19 LDA $1962 [$7E:1962] $909BEE 30 04 BMI $04 [$9BF4] $909BF0 C5 12 CMP $12 [$7E:0012] $909BF2 30 12 BMI $12 [$9C06] $909BF4 80 16 BRA $16 [$9C0C] $909BF6 AD 7E 19 LDA $197E [$7E:197E] $909BF9 89 04 00 BIT #$0004 $909BFC D0 F6 BNE $F6 [$9BF4] $909BFE A9 8D A0 LDA #$A08D $909C01 8D 6C 0A STA $0A6C [$7E:0A6C] $909C04 80 06 BRA $06 [$9C0C] $909C06 A9 DD A1 LDA #$A1DD $909C09 8D 6C 0A STA $0A6C [$7E:0A6C] $909C0C AD 1F 0A LDA $0A1F [$7E:0A1F] $909C0F 29 FF 00 AND #$00FF $909C12 85 14 STA $14 [$7E:0014] $909C14 0A ASL A $909C15 18 CLC $909C16 65 14 ADC $14 [$7E:0014] $909C18 0A ASL A $909C19 0A ASL A $909C1A 18 CLC $909C1B 6D 6C 0A ADC $0A6C [$7E:0A6C] $909C1E AA TAX $909C1F 28 PLP $909C20 60 RTS $909C21 08 PHP $909C22 C2 30 REP #$30 $909C24 AD A2 09 LDA $09A2 [$7E:09A2] $909C27 89 20 00 BIT #$0020 $909C2A D0 18 BNE $18 [$9C44] $909C2C 22 3E EC 90 JSL $90EC3E[$90:EC3E] $909C30 AD 5E 19 LDA $195E [$7E:195E] $909C33 30 06 BMI $06 [$9C3B] $909C35 C5 12 CMP $12 [$7E:0012] $909C37 30 10 BMI $10 [$9C49] $909C39 80 09 BRA $09 [$9C44] $909C3B AD 62 19 LDA $1962 [$7E:1962] $909C3E 30 04 BMI $04 [$9C44] $909C40 C5 12 CMP $12 [$7E:0012] $909C42 30 12 BMI $12 [$9C56] $909C44 A2 31 9F LDX #$9F31 $909C47 80 10 BRA $10 [$9C59] $909C59 28 PLP $909C5A 60 RTS ;;; ;;; ; Handles gravity $909C5B AD A2 09 LDA $09A2 [$7E:09A2] $909C5E 89 20 00 BIT #$0020 $909C61 D0 18 BNE $18 [$9C7B] $909C63 22 3E EC 90 JSL $90EC3E[$90:EC3E] $909C67 AD 5E 19 LDA $195E [$7E:195E] $909C6A 30 06 BMI $06 [$9C72] $909C6C C5 12 CMP $12 [$7E:0012] $909C6E 30 19 BMI $19 [$9C89] $909C70 80 09 BRA $09 [$9C7B] $909C72 AD 62 19 LDA $1962 [$7E:1962] $909C75 30 04 BMI $04 [$9C7B] $909C77 C5 12 CMP $12 [$7E:0012] $909C79 30 24 BMI $24 [$9C9F] $909C7B AD A1 9E LDA $9EA1 [$90:9EA1] $909C7E 8D 32 0B STA $0B32 [$7E:0B32] $909C81 AD A7 9E LDA $9EA7 [$90:9EA7] $909C84 8D 34 0B STA $0B34 [$7E:0B34] $909C87 80 22 BRA $22 [$9CAB] $909C89 AD 7E 19 LDA $197E [$7E:197E] $909C8C 89 04 00 BIT #$0004 $909C8F D0 EA BNE $EA [$9C7B] $909C91 AD A3 9E LDA $9EA3 [$90:9EA3] $909C94 8D 32 0B STA $0B32 [$7E:0B32] $909C97 AD A9 9E LDA $9EA9 [$90:9EA9] $909C9A 8D 34 0B STA $0B34 [$7E:0B34] $909C9D 80 0C BRA $0C [$9CAB] $909C9F AD A5 9E LDA $9EA5 [$90:9EA5] $909CA2 8D 32 0B STA $0B32 [$7E:0B32] $909CA5 AD AB 9E LDA $9EAB [$90:9EAB] $909CA8 8D 34 0B STA $0B34 [$7E:0B34] $909CAB 60 RTS ;;; ;;; $909D35 08 PHP $909D36 C2 30 REP #$30 $909D38 AD 27 0A LDA $0A27 [$7E:0A27] $909D3B 29 FF 00 AND #$00FF $909D3E C9 03 00 CMP #$0003 $909D41 F0 05 BEQ $05 [$9D48] $909D43 C9 14 00 CMP #$0014 $909D46 D0 2F BNE $2F [$9D77] $909D48 AD 1C 0A LDA $0A1C [$7E:0A1C] $909D4B C9 81 00 CMP #$0081 $909D4E F0 10 BEQ $10 [$9D60] $909D50 C9 82 00 CMP #$0082 $909D53 F0 0B BEQ $0B [$9D60] $909D55 AD 96 0A LDA $0A96 [$7E:0A96] $909D58 C9 0B 00 CMP #$000B $909D5B 30 0E BMI $0E [$9D6B] $909D5D 4C DD 9D JMP $9DDD [$90:9DDD] $909D60 AD 96 0A LDA $0A96 [$7E:0A96] $909D63 C9 1B 00 CMP #$001B $909D66 30 03 BMI $03 [$9D6B] $909D68 4C DD 9D JMP $9DDD [$90:9DDD] $909D6B A5 8B LDA $8B [$7E:008B] $909D6D 89 00 02 BIT #$0200 $909D70 D0 08 BNE $08 [$9D7A] $909D72 89 00 01 BIT #$0100 $909D75 D0 18 BNE $18 [$9D8F] $909D77 28 PLP $909D78 18 CLC $909D79 60 RTS $909D7A A9 01 00 LDA #$0001 $909D7D 8D 02 0B STA $0B02 [$7E:0B02] $909D80 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $909D84 AA TAX $909D85 D0 2B BNE $2B [$9DB2] $909D87 22 7F 96 94 JSL $94967F[$94:967F] $909D8B 90 EA BCC $EA [$9D77] $909D8D 80 23 BRA $23 [$9DB2] $909D8F 9C 02 0B STZ $0B02 [$7E:0B02] $909D92 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $909D96 AA TAX $909D97 D0 19 BNE $19 [$9DB2] $909D99 A5 12 LDA $12 [$7E:0012] $909D9B 49 FF FF EOR #$FFFF $909D9E 85 12 STA $12 [$7E:0012] $909DA0 A5 14 LDA $14 [$7E:0014] $909DA2 49 FF FF EOR #$FFFF $909DA5 1A INC A $909DA6 85 14 STA $14 [$7E:0014] $909DA8 D0 02 BNE $02 [$9DAC] $909DAA E6 12 INC $12 [$7E:0012] $909DAC 22 7F 96 94 JSL $94967F[$94:967F] $909DB0 90 C5 BCC $C5 [$9D77] $909DB2 AD 1C 0A LDA $0A1C [$7E:0A1C] $909DB5 C9 81 00 CMP #$0081 $909DB8 F0 14 BEQ $14 [$9DCE] $909DBA C9 82 00 CMP #$0082 $909DBD F0 0F BEQ $0F [$9DCE] $909DBF A9 01 00 LDA #$0001 $909DC2 8D 94 0A STA $0A94 [$7E:0A94] $909DC5 A9 0A 00 LDA #$000A $909DC8 8D 96 0A STA $0A96 [$7E:0A96] $909DCB 4C 77 9D JMP $9D77 [$90:9D77] $909DCE A9 01 00 LDA #$0001 $909DD1 8D 94 0A STA $0A94 [$7E:0A94] $909DD4 A9 1A 00 LDA #$001A $909DD7 8D 96 0A STA $0A96 [$7E:0A96] $909DDA 4C 77 9D JMP $9D77 [$90:9D77] $909DDD A9 FF FF LDA #$FFFF $909DE0 8D 1C 0E STA $0E1C [$7E:0E1C] $909DE3 A5 8B LDA $8B [$7E:008B] $909DE5 89 00 02 BIT #$0200 $909DE8 D0 08 BNE $08 [$9DF2] $909DEA 89 00 01 BIT #$0100 $909DED D0 29 BNE $29 [$9E18] $909DEF 4C 88 9E JMP $9E88 [$90:9E88] $909DF2 A9 01 00 LDA #$0001 $909DF5 8D 02 0B STA $0B02 [$7E:0B02] $909DF8 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $909DFC AA TAX $909DFD D0 10 BNE $10 [$9E0F] $909DFF 22 7F 96 94 JSL $94967F[$94:967F] $909E03 90 EA BCC $EA [$9DEF] $909E05 A5 8F LDA $8F [$7E:008F] $909E07 2C B4 09 BIT $09B4 [$7E:09B4] $909E0A D0 60 BNE $60 [$9E6C] $909E0C 4C 88 9E JMP $9E88 [$90:9E88] $909E0F A5 8F LDA $8F [$7E:008F] $909E11 2C B4 09 BIT $09B4 [$7E:09B4] $909E14 D0 35 BNE $35 [$9E4B] $909E16 80 70 BRA $70 [$9E88] $909E18 9C 02 0B STZ $0B02 [$7E:0B02] $909E1B 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $909E1F AA TAX $909E20 D0 22 BNE $22 [$9E44] $909E22 A5 12 LDA $12 [$7E:0012] $909E24 49 FF FF EOR #$FFFF $909E27 85 12 STA $12 [$7E:0012] $909E29 A5 14 LDA $14 [$7E:0014] $909E2B 49 FF FF EOR #$FFFF $909E2E 1A INC A $909E2F 85 14 STA $14 [$7E:0014] $909E31 D0 02 BNE $02 [$9E35] $909E33 E6 12 INC $12 [$7E:0012] $909E35 22 7F 96 94 JSL $94967F[$94:967F] $909E39 90 4D BCC $4D [$9E88] $909E3B A5 8F LDA $8F [$7E:008F] $909E3D 2C B4 09 BIT $09B4 [$7E:09B4] $909E40 D0 2A BNE $2A [$9E6C] $909E42 80 44 BRA $44 [$9E88] $909E44 A5 8F LDA $8F [$7E:008F] $909E46 2C B4 09 BIT $09B4 [$7E:09B4] $909E49 F0 3D BEQ $3D [$9E88] $909E6C A9 00 00 LDA #$0000 $909E6F F0 07 BEQ $07 [$9E78] $909E78 A5 12 LDA $12 [$7E:0012] $909E7A C9 08 00 CMP #$0008 $909E7D 10 09 BPL $09 [$9E88] $909E7F A9 05 00 LDA #$0005 $909E82 8D C6 0D STA $0DC6 [$7E:0DC6] $909E85 28 PLP $909E86 38 SEC $909E87 60 RTS $909E88 28 PLP $909E89 18 CLC $909E8A 60 RTS $909E8B db 00, 80, 00, 00, 00, 80, 01, 00, 03, 00, 02, 00, 80, 02, 00, 05, 80, 00, 00, 05, 08, 00, 00, 1C, 00, 08, 00, 09, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00, 01, 00, 00, 00, 01, 00, 00, 00, 04, 00, 01, 00, 02, 00, 00, E0, 00, C0, 00, C0, 06, 00, 02, 00, 03, 00, 00, 00, 00, 80, 00, 80, 04, 00 $909ED7 db 00, A0 $909EDD db 05, 00 $909EE3 db 00, 80 $909EE9 db 05, 00, 02, 00, 02, 00, 00, 00, 00, 00, 00, 00, 02, 00, 00, 00 $909EFB db 00, C0, 00, 10 $909F01 db 00, 00 $909F07 db 00, 10 $909F0D db 07, 00 $909F13 db 00, 00 $909F19 db 02, 00 $909F1F db 00, 00 $909F25 db 00, 00, 00, 30, 03, 00, 00, 00, 00, 00, 00, 08 $909F39 db 00, 00, 00, 10 $909F61 db 00, 00, 00, 30, 02, 00, 00, C0, 00, 00, 00, 80, 00, 00, 00, C0, 01, 00, 00, 40 $909F79 db 00, 00, 00, C0, 01, 00, 00, 60, 00, 00, 00, 80, 00, 00, 00, C0, 03, 00, 00, 40, 00, 00, 00, 80 $909F9D db 00, 00, 00, C0, 01, 00, 00, 00 $909FB5 db 00, 00, 00, C0, 01, 00, 00, 00, 00, 00, 00, 80 $909FCD db 01, 00, 00, 80, 05, 00, 00, 00, 00, 00, 00, 80 $909FFD db 00, 00, 00, C0, 00, 00, 00, 00, 00, 00, 00, 80, 00, 00, 00, C0, 01, 00, 00, 40 $90A015 db 00, 00, 00, C0, 00, 00, 00, 80 $90A021 db 00, 00, 00, C0, 03, 00, 00, 40, 00, 00, 00, 80, 00, 00, 00, C0, 01, 00, 00, 40, 00, 00, 00, 80, 00, 00, 00, C0, 01, 00, 00, 00, 00, 00, 00, 80, 00, 00, 00, C0, 01, 00, 00, 60 $90A069 db 00, 00, 00, C0, 00, 00, 00, 00, 00, 00, 00, 80, 00, 00, 00, C0, 00, 00, 00, 00, 00, 00, 00, 80, 00, 00, 00, C0, 05, 00, 00, 00 $90A099 db 00, 00, 00, 04, 02, 00, 00, C0, 00, 00, 00, 08, 00, 00, 00, C0, 01, 00, 00, 40 $90A0B1 db 00, 00, 00, C0, 01, 00, 00, 60, 00, 00, 00, 08, 00, 00, 00, 04, 02, 00, 00, C0 $90A0D5 db 00, 00, 00, C0, 01, 00, 00, 00 $90A0ED db 00, 00, 00, 04, 01, 00, 00, 80 $90A105 db 01, 00, 00, 80, 05, 00, 00, 00, 00, 00, 00, 08 $90A135 db 00, 00, 00, C0, 00, 00, 00, 00, 00, 00, 00, 08 $90A1A1 db 00, 00, 00, C0, 00, 00, 00, 00, 00, 00, 00, 08, 00, 00, 00, C0, 00, 00, 00, 00, 00, 00, 00, 08, 00, 00, 00, C0, 00, 00, 00, 80 $90A1E9 db 00, 00, 00, 04, 01, 00, 00, C0, 00, 00, 00, 40, 00, 00, 00, C0, 01, 00, 00, 40 $90A201 db 00, 00, 00, C0, 01, 00, 00, 60, 00, 00, 00, 40, 00, 00, 00, 04, 02, 00, 00, C0, 00, 00, 00, 40 $90A225 db 00, 00, 00, C0, 01, 00, 00, 00 $90A23D db 00, 00, 00, 04, 01, 00, 00, 60 $90A255 db 01, 00, 00, 80, 05, 00, 00, 00, 00, 00, 00, 40 $90A285 db 00, 00, 00, C0, 00, 00, 00, 00, 00, 00, 00, 40 $90A2F1 db 00, 00, 00, C0, 00, 00, 00, 00, 00, 00, 00, 40, 00, 00, 00, C0, 00, 00, 00, 00, 00, 00, 00, 40, 00, 00, 00, C0, 00, 00, 00, 80 ;;; ;;; ; Cause of elevator blue suit $90A337 AD 78 0A LDA $0A78 [$7E:0A78] $90A33A D0 0E BNE $0E [$A34A] $90A33C AD 1F 0A LDA $0A1F [$7E:0A1F] $90A33F 29 FF 00 AND #$00FF $90A342 0A ASL A $90A343 AA TAX $90A344 FC 4B A3 JSR ($A34B,x)[$90:A383] $90A347 20 E7 EE JSR $EEE7 [$90:EEE7] $90A34A 60 RTS $90A34B dw A383, A3E5, A42E, A436, A521, A573, A58D, A32D, A5CA, A5FB, A5FC, A607, A60F, A617, A67C, A61C, A694, A69F, A6F1, A703, A734, A75F, A780, A790, A7AD, A7CA, A7D2, A7DA ;;; ;;; ; Handles collision detection while on elevators (94:9763, that's basically all if on elevators), ; locks Samus's animation if she's holding fire and not aiming, ; and goes to 90:9348, 90:923F, and 91:DE53 (movement and collision detection) $90A383 08 PHP $90A384 C2 30 REP #$30 $90A386 AD 1C 0A LDA $0A1C [$7E:0A1C] $90A389 F0 07 BEQ $07 [$A392] $90A38B C9 9B 00 CMP #$009B $90A38E F0 02 BEQ $02 [$A392] $90A390 80 1B BRA $1B [$A3AD] $90A392 AD 18 0E LDA $0E18 [$7E:0E18] $90A395 F0 11 BEQ $11 [$A3A8] $90A397 A9 02 00 LDA #$0002 $90A39A 8D 02 0B STA $0B02 [$7E:0B02] $90A39D A9 01 00 LDA #$0001 $90A3A0 85 12 STA $12 [$7E:0012] $90A3A2 64 14 STZ $14 [$7E:0014] $90A3A4 22 63 97 94 JSL $949763[$94:9763] $90A3A8 9C C6 0D STZ $0DC6 [$7E:0DC6] $90A3AB 80 36 BRA $36 [$A3E3] $90A3AD AD 1C 0A LDA $0A1C [$7E:0A1C] $90A3B0 C9 01 00 CMP #$0001 $90A3B3 F0 05 BEQ $05 [$A3BA] $90A3B5 C9 02 00 CMP #$0002 $90A3B8 D0 10 BNE $10 [$A3CA] $90A3BA A5 8B LDA $8B [$7E:008B] $90A3BC 2C B2 09 BIT $09B2 [$7E:09B2] $90A3BF F0 09 BEQ $09 [$A3CA] $90A3C1 A9 10 00 LDA #$0010 $90A3C4 8D 94 0A STA $0A94 [$7E:0A94] $90A3C7 9C 96 0A STZ $0A96 [$7E:0A96] $90A3CA 20 48 93 JSR $9348 [$90:9348] $90A3CD 20 3F 92 JSR $923F [$90:923F] $90A3D0 22 53 DE 91 JSL $91DE53[$91:DE53] $90A3D4 9C 42 0B STZ $0B42 [$7E:0B42] $90A3D7 9C 44 0B STZ $0B44 [$7E:0B44] $90A3DA 9C 46 0B STZ $0B46 [$7E:0B46] $90A3DD 9C 48 0B STZ $0B48 [$7E:0B48] $90A3E0 9C 4A 0B STZ $0B4A [$7E:0B4A] $90A3E3 28 PLP $90A3E4 60 RTS ;;; ;;; ; Handles X motion (90:8E64), then Y motion (90:923F), ; then on certain animation frames makes footstep graphics (90:ED88), ; and if nothing stops it, footstep sounds (80:914D) $90A3E5 08 PHP $90A3E6 C2 30 REP #$30 $90A3E8 20 64 8E JSR $8E64 [$90:8E64] $90A3EB 20 3F 92 JSR $923F [$90:923F] $90A3EE AE 96 0A LDX $0A96 [$7E:0A96] $90A3F1 AD 94 0A LDA $0A94 [$7E:0A94] $90A3F4 C9 01 00 CMP #$0001 $90A3F7 D0 29 BNE $29 [$A422] $90A3F9 BD 24 A4 LDA $A424,x[$90:A424] $90A3FC 29 FF 00 AND #$00FF $90A3FF F0 21 BEQ $21 [$A422] $90A401 20 88 ED JSR $ED88 [$90:ED88] $90A404 AD 51 1F LDA $1F51 [$7E:1F51] $90A407 D0 19 BNE $19 [$A422] $90A409 AD 9C 17 LDA $179C [$7E:179C] $90A40C D0 14 BNE $14 [$A422] $90A40E AD 68 0A LDA $0A68 [$7E:0A68] $90A411 D0 0F BNE $0F [$A422] $90A413 AD 3E 0B LDA $0B3E [$7E:0B3E] $90A416 89 00 04 BIT #$0400 $90A419 D0 07 BNE $07 [$A422] $90A41B A9 06 00 LDA #$0006 $90A41E 22 4D 91 80 JSL $80914D[$80:914D] $90A422 28 PLP $90A423 60 RTS $90A424 db 00, 00, 01, 00, 00, 00, 00, 01, 00, 00 ;;; ;;; $90A42E 08 PHP $90A42F C2 30 REP #$30 $90A431 20 B3 8F JSR $8FB3 [$90:8FB3] $90A434 28 PLP $90A435 60 RTS ;;; ;;; $90A436 08 PHP $90A437 C2 30 REP #$30 $90A439 AD 74 0A LDA $0A74 [$7E:0A74] $90A43C 89 04 00 BIT #$0004 $90A43F D0 27 BNE $27 [$A468] $90A441 22 58 EC 90 JSL $90EC58[$90:EC58] $90A445 AD 5E 19 LDA $195E [$7E:195E] $90A448 30 0E BMI $0E [$A458] $90A44A C5 14 CMP $14 [$7E:0014] $90A44C 10 1A BPL $1A [$A468] $90A44E AD 7E 19 LDA $197E [$7E:197E] $90A451 89 04 00 BIT #$0004 $90A454 D0 12 BNE $12 [$A468] $90A456 80 09 BRA $09 [$A461] $90A458 AD 62 19 LDA $1962 [$7E:1962] $90A45B 30 0B BMI $0B [$A468] $90A45D C5 14 CMP $14 [$7E:0014] $90A45F 10 07 BPL $07 [$A468] $90A461 A9 01 00 LDA #$0001 $90A464 85 12 STA $12 [$7E:0012] $90A466 80 02 BRA $02 [$A46A] $90A468 64 12 STZ $12 [$7E:0012] $90A46A A5 12 LDA $12 [$7E:0012] $90A46C D0 69 BNE $69 [$A4D7] $90A46E AD A2 09 LDA $09A2 [$7E:09A2] $90A471 89 00 02 BIT #$0200 $90A474 D0 12 BNE $12 [$A488] $90A476 AD 1C 0A LDA $0A1C [$7E:0A1C] $90A479 C9 81 00 CMP #$0081 $90A47C F0 07 BEQ $07 [$A485] $90A47E C9 82 00 CMP #$0082 $90A481 F0 02 BEQ $02 [$A485] $90A483 80 52 BRA $52 [$A4D7] $90A488 AD 36 0B LDA $0B36 [$7E:0B36] $90A48B C9 02 00 CMP #$0002 $90A48E D0 38 BNE $38 [$A4C8] $90A490 AD D2 0A LDA $0AD2 [$7E:0AD2] $90A493 F0 0F BEQ $0F [$A4A4] $90A495 AD 2D 0B LDA $0B2D [$7E:0B2D] $90A498 CD 9B 9E CMP $9E9B [$90:9E9B] $90A49B 30 2B BMI $2B [$A4C8] $90A49D CD 9D 9E CMP $9E9D [$90:9E9D] $90A4A0 10 26 BPL $26 [$A4C8] $90A4A2 80 0D BRA $0D [$A4B1] $90A4A4 AD 2D 0B LDA $0B2D [$7E:0B2D] $90A4A7 CD 97 9E CMP $9E97 [$90:9E97] $90A4AA 30 1C BMI $1C [$A4C8] $90A4AC CD 99 9E CMP $9E99 [$90:9E99] $90A4AF 10 17 BPL $17 [$A4C8] $90A4B1 AD FA 0D LDA $0DFA [$7E:0DFA] $90A4B4 29 00 FF AND #$FF00 $90A4B7 09 01 00 ORA #$0001 $90A4BA 8D FA 0D STA $0DFA [$7E:0DFA] $90A4BD A5 8F LDA $8F [$7E:008F] $90A4BF 2D B4 09 AND $09B4 [$7E:09B4] $90A4C2 F0 04 BEQ $04 [$A4C8] $90A4C4 22 BC 98 90 JSL $9098BC[$90:98BC] $90A4C8 AD 1C 0A LDA $0A1C [$7E:0A1C] $90A4CB C9 81 00 CMP #$0081 $90A4CE F0 39 BEQ $39 [$A509] $90A4D0 C9 82 00 CMP #$0082 $90A4D3 F0 34 BEQ $34 [$A509] $90A4D5 80 00 BRA $00 [$A4D7] $90A4D7 A5 12 LDA $12 [$7E:0012] $90A4D9 F0 1A BEQ $1A [$A4F5] $90A4DB AE 96 0A LDX $0A96 [$7E:0A96] $90A4DE AD 94 0A LDA $0A94 [$7E:0A94] $90A4E1 C9 01 00 CMP #$0001 $90A4E4 D0 0F BNE $0F [$A4F5] $90A4E6 BD 14 A5 LDA $A514,x[$90:A51A] $90A4E9 29 FF 00 AND #$00FF $90A4EC F0 07 BEQ $07 [$A4F5] $90A4EE A9 2F 00 LDA #$002F $90A4F1 22 49 90 80 JSL $809049[$80:9049] $90A4F5 AD D0 0C LDA $0CD0 [$7E:0CD0] $90A4F8 C9 3C 00 CMP #$003C $90A4FB 30 12 BMI $12 [$A50F] $90A4FD A5 12 LDA $12 [$7E:0012] $90A4FF D0 0E BNE $0E [$A50F] $90A501 A9 04 00 LDA #$0004 $90A504 8D 6E 0A STA $0A6E [$7E:0A6E] $90A507 80 06 BRA $06 [$A50F] $90A509 A9 03 00 LDA #$0003 $90A50C 8D 6E 0A STA $0A6E [$7E:0A6E] $90A50F 20 40 90 JSR $9040 [$90:9040] $90A512 28 PLP $90A513 60 RTS $90A514 db 01, 00, 00, 00, 00, 00, 00, 00, 01, 00 $90A51F db 00, 00 $90A521 08 PHP $90A522 C2 30 REP #$30 $90A524 AD 4A 0B LDA $0B4A [$7E:0B4A] $90A527 D0 3D BNE $3D [$A566] $90A529 AD 1E 0A LDA $0A1E [$7E:0A1E] $90A52C 29 FF 00 AND #$00FF $90A52F C9 04 00 CMP #$0004 $90A532 F0 0A BEQ $0A [$A53E] $90A534 AD 1C 0A LDA $0A1C [$7E:0A1C] $90A537 C9 1D 00 CMP #$001D $90A53A D0 2A BNE $2A [$A566] $90A53C 80 08 BRA $08 [$A546] $90A53E AD 1C 0A LDA $0A1C [$7E:0A1C] $90A541 C9 41 00 CMP #$0041 $90A544 D0 20 BNE $20 [$A566] $90A546 20 48 93 JSR $9348 [$90:9348] $90A549 20 B8 92 JSR $92B8 [$90:92B8] $90A54C B0 23 BCS $23 [$A571] $90A54E 20 3F 92 JSR $923F [$90:923F] $90A551 22 53 DE 91 JSL $91DE53[$91:DE53] $90A555 9C 42 0B STZ $0B42 [$7E:0B42] $90A558 9C 44 0B STZ $0B44 [$7E:0B44] $90A55B 9C 46 0B STZ $0B46 [$7E:0B46] $90A55E 9C 48 0B STZ $0B48 [$7E:0B48] $90A561 9C 4A 0B STZ $0B4A [$7E:0B4A] $90A564 80 0B BRA $0B [$A571] $90A566 20 64 8E JSR $8E64 [$90:8E64] $90A569 20 B8 92 JSR $92B8 [$90:92B8] $90A56C B0 03 BCS $03 [$A571] $90A56E 20 3F 92 JSR $923F [$90:923F] $90A571 28 PLP $90A572 60 RTS $90A573 08 PHP $90A574 C2 30 REP #$30 $90A576 20 48 93 JSR $9348 [$90:9348] $90A579 20 3F 92 JSR $923F [$90:923F] $90A57C 9C 42 0B STZ $0B42 [$7E:0B42] $90A57F 9C 44 0B STZ $0B44 [$7E:0B44] $90A582 9C 46 0B STZ $0B46 [$7E:0B46] $90A585 9C 48 0B STZ $0B48 [$7E:0B48] $90A588 9C 4A 0B STZ $0B4A [$7E:0B4A] $90A58B 28 PLP $90A58C 60 RTS $90A58D 08 PHP $90A58E C2 30 REP #$30 $90A590 20 68 91 JSR $9168 [$90:9168] $90A593 AD 1C 0A LDA $0A1C [$7E:0A1C] $90A596 C9 29 00 CMP #$0029 $90A599 F0 11 BEQ $11 [$A5AC] $90A59B C9 2A 00 CMP #$002A $90A59E F0 0C BEQ $0C [$A5AC] $90A5A0 C9 67 00 CMP #$0067 $90A5A3 F0 07 BEQ $07 [$A5AC] $90A5A5 C9 68 00 CMP #$0068 $90A5A8 F0 02 BEQ $02 [$A5AC] $90A5AA 80 1C BRA $1C [$A5C8] $90A5AC AD 2E 0B LDA $0B2E [$7E:0B2E] $90A5AF C9 05 00 CMP #$0005 $90A5B2 30 14 BMI $14 [$A5C8] $90A5B4 AD 96 0A LDA $0A96 [$7E:0A96] $90A5B7 C9 05 00 CMP #$0005 $90A5BA 10 0C BPL $0C [$A5C8] $90A5BC A9 08 00 LDA #$0008 $90A5BF 8D 94 0A STA $0A94 [$7E:0A94] $90A5C2 A9 05 00 LDA #$0005 $90A5C5 8D 96 0A STA $0A96 [$7E:0A96] $90A5C8 28 PLP $90A5C9 60 RTS $90A5CA 08 PHP $90A5CB C2 30 REP #$30 $90A5CD A5 8B LDA $8B [$7E:008B] $90A5CF 89 00 03 BIT #$0300 $90A5D2 D0 18 BNE $18 [$A5EC] $90A5D4 AD 4A 0B LDA $0B4A [$7E:0B4A] $90A5D7 D0 13 BNE $13 [$A5EC] $90A5D9 22 53 DE 91 JSL $91DE53[$91:DE53] $90A5DD 9C 42 0B STZ $0B42 [$7E:0B42] $90A5E0 9C 44 0B STZ $0B44 [$7E:0B44] $90A5E3 9C 46 0B STZ $0B46 [$7E:0B46] $90A5E6 9C 48 0B STZ $0B48 [$7E:0B48] $90A5E9 9C 4A 0B STZ $0B4A [$7E:0B4A] $90A5EC AD 20 0B LDA $0B20 [$7E:0B20] $90A5EF D0 05 BNE $05 [$A5F6] $90A5F1 20 9F 91 JSR $919F [$90:919F] $90A5F4 80 03 BRA $03 [$A5F9] $90A5F6 20 D1 91 JSR $91D1 [$90:91D1] $90A5F9 28 PLP $90A5FA 60 RTS $90A5FC 08 PHP $90A5FD C2 30 REP #$30 $90A5FF 9C C6 0D STZ $0DC6 [$7E:0DC6] $90A602 20 3F 92 JSR $923F [$90:923F] $90A605 28 PLP $90A606 60 RTS $90A61C 08 PHP $90A61D C2 30 REP #$30 $90A61F AD 1C 0A LDA $0A1C [$7E:0A1C] $90A622 C9 F1 00 CMP #$00F1 $90A625 10 0E BPL $0E [$A635] $90A627 C9 DB 00 CMP #$00DB $90A62A 10 14 BPL $14 [$A640] $90A62C 38 SEC $90A62D E9 35 00 SBC #$0035 $90A630 0A ASL A $90A631 AA TAX $90A632 FC 59 A6 JSR ($A659,x)[$90:A671] $90A635 20 48 93 JSR $9348 [$90:9348] $90A638 20 C7 92 JSR $92C7 [$90:92C7] $90A63B B0 03 BCS $03 [$A640] $90A63D 20 3F 92 JSR $923F [$90:923F] $90A640 AD C6 0D LDA $0DC6 [$7E:0DC6] $90A643 C9 01 04 CMP #$0401 $90A646 D0 0C BNE $0C [$A654] $90A648 9C 2C 0B STZ $0B2C [$7E:0B2C] $90A64B 9C 2E 0B STZ $0B2E [$7E:0B2E] $90A64E 9C 36 0B STZ $0B36 [$7E:0B36] $90A651 9C 20 0B STZ $0B20 [$7E:0B20] $90A654 9C C6 0D STZ $0DC6 [$7E:0DC6] $90A657 28 PLP $90A658 60 RTS $90A659 db 71 $90A65B db 71 $90A65D db 71 $90A65F db 71 $90A665 db 71 $90A667 db 71 $90A669 db 71 $90A66B db 71 $90A671 60 RTS $90A67C 08 PHP $90A67D C2 30 REP #$30 $90A67F 20 64 8E JSR $8E64 [$90:8E64] $90A682 20 3F 92 JSR $923F [$90:923F] $90A685 22 53 DE 91 JSL $91DE53[$91:DE53] $90A689 9C 42 0B STZ $0B42 [$7E:0B42] $90A68C 9C 44 0B STZ $0B44 [$7E:0B44] $90A68F 9C C6 0D STZ $0DC6 [$7E:0DC6] $90A692 28 PLP $90A693 60 RTS $90A694 08 PHP $90A695 C2 30 REP #$30 $90A697 20 64 8E JSR $8E64 [$90:8E64] $90A69A 20 3F 92 JSR $923F [$90:923F] $90A69D 28 PLP $90A69E 60 RTS $90A69F 08 PHP $90A6A0 C2 30 REP #$30 $90A6A2 AD 4A 0B LDA $0B4A [$7E:0B4A] $90A6A5 D0 3D BNE $3D [$A6E4] $90A6A7 AD 1E 0A LDA $0A1E [$7E:0A1E] $90A6AA 29 FF 00 AND #$00FF $90A6AD C9 04 00 CMP #$0004 $90A6B0 F0 0A BEQ $0A [$A6BC] $90A6B2 AD 1C 0A LDA $0A1C [$7E:0A1C] $90A6B5 C9 79 00 CMP #$0079 $90A6B8 D0 2A BNE $2A [$A6E4] $90A6BA 80 08 BRA $08 [$A6C4] $90A6BC AD 1C 0A LDA $0A1C [$7E:0A1C] $90A6BF C9 7A 00 CMP #$007A $90A6C2 D0 20 BNE $20 [$A6E4] $90A6C4 20 48 93 JSR $9348 [$90:9348] $90A6C7 20 B8 92 JSR $92B8 [$90:92B8] $90A6CA B0 23 BCS $23 [$A6EF] $90A6CC 20 3F 92 JSR $923F [$90:923F] $90A6CF 22 53 DE 91 JSL $91DE53[$91:DE53] $90A6D3 9C 42 0B STZ $0B42 [$7E:0B42] $90A6D6 9C 44 0B STZ $0B44 [$7E:0B44] $90A6D9 9C 46 0B STZ $0B46 [$7E:0B46] $90A6DC 9C 48 0B STZ $0B48 [$7E:0B48] $90A6DF 9C 4A 0B STZ $0B4A [$7E:0B4A] $90A6E2 80 0B BRA $0B [$A6EF] $90A6E4 20 64 8E JSR $8E64 [$90:8E64] $90A6E7 20 B8 92 JSR $92B8 [$90:92B8] $90A6EA B0 03 BCS $03 [$A6EF] $90A6EC 20 3F 92 JSR $923F [$90:923F] $90A6EF 28 PLP $90A6F0 60 RTS $90A6F1 08 PHP $90A6F2 C2 30 REP #$30 $90A6F4 AD 20 0B LDA $0B20 [$7E:0B20] $90A6F7 D0 05 BNE $05 [$A6FE] $90A6F9 20 B3 8F JSR $8FB3 [$90:8FB3] $90A6FC 80 03 BRA $03 [$A701] $90A6FE 20 D1 91 JSR $91D1 [$90:91D1] $90A701 28 PLP $90A702 60 RTS $90A703 08 PHP $90A704 C2 30 REP #$30 $90A706 A5 8B LDA $8B [$7E:008B] $90A708 89 00 03 BIT #$0300 $90A70B D0 18 BNE $18 [$A725] $90A70D AD 4A 0B LDA $0B4A [$7E:0B4A] $90A710 D0 13 BNE $13 [$A725] $90A712 22 53 DE 91 JSL $91DE53[$91:DE53] $90A716 9C 42 0B STZ $0B42 [$7E:0B42] $90A719 9C 44 0B STZ $0B44 [$7E:0B44] $90A71C 9C 46 0B STZ $0B46 [$7E:0B46] $90A71F 9C 48 0B STZ $0B48 [$7E:0B48] $90A722 9C 4A 0B STZ $0B4A [$7E:0B4A] $90A725 AD 20 0B LDA $0B20 [$7E:0B20] $90A728 D0 05 BNE $05 [$A72F] $90A72A 20 9F 91 JSR $919F [$90:919F] $90A72D 80 03 BRA $03 [$A732] $90A72F 20 D1 91 JSR $91D1 [$90:91D1] $90A732 28 PLP $90A733 60 RTS $90A734 08 PHP $90A735 C2 30 REP #$30 $90A737 AD 96 0A LDA $0A96 [$7E:0A96] $90A73A C9 17 00 CMP #$0017 $90A73D 10 15 BPL $15 [$A754] $90A73F C9 03 00 CMP #$0003 $90A742 30 16 BMI $16 [$A75A] $90A744 AD D0 0C LDA $0CD0 [$7E:0CD0] $90A747 C9 3C 00 CMP #$003C $90A74A 30 0E BMI $0E [$A75A] $90A754 A9 03 00 LDA #$0003 $90A757 8D 6E 0A STA $0A6E [$7E:0A6E] $90A75A 20 B3 8F JSR $8FB3 [$90:8FB3] $90A75D 28 PLP $90A75E 60 RTS $90A75F 08 PHP $90A760 C2 30 REP #$30 $90A762 20 48 93 JSR $9348 [$90:9348] $90A765 20 3F 92 JSR $923F [$90:923F] $90A768 22 53 DE 91 JSL $91DE53[$91:DE53] $90A76C 9C 42 0B STZ $0B42 [$7E:0B42] $90A76F 9C 44 0B STZ $0B44 [$7E:0B44] $90A772 9C 46 0B STZ $0B46 [$7E:0B46] $90A775 9C 48 0B STZ $0B48 [$7E:0B48] $90A778 9C 4A 0B STZ $0B4A [$7E:0B4A] $90A77B 20 E9 92 JSR $92E9 [$90:92E9] $90A77E 28 PLP $90A77F 60 RTS $90A780 08 PHP $90A781 C2 30 REP #$30 $90A783 AD C6 0D LDA $0DC6 [$7E:0DC6] $90A786 C9 05 00 CMP #$0005 $90A789 F0 03 BEQ $03 [$A78E] $90A78B 9C C6 0D STZ $0DC6 [$7E:0DC6] $90A78E 28 PLP $90A78F 60 RTS $90A790 08 PHP $90A791 C2 30 REP #$30 $90A793 20 64 8E JSR $8E64 [$90:8E64] $90A796 20 B8 92 JSR $92B8 [$90:92B8] $90A799 B0 03 BCS $03 [$A79E] $90A79B 20 3F 92 JSR $923F [$90:923F] $90A79E 22 53 DE 91 JSL $91DE53[$91:DE53] $90A7A2 9C 42 0B STZ $0B42 [$7E:0B42] $90A7A5 9C 44 0B STZ $0B44 [$7E:0B44] $90A7A8 9C C6 0D STZ $0DC6 [$7E:0DC6] $90A7AB 28 PLP $90A7AC 60 RTS $90A7AD 08 PHP $90A7AE C2 30 REP #$30 $90A7B0 20 64 8E JSR $8E64 [$90:8E64] $90A7B3 20 B8 92 JSR $92B8 [$90:92B8] $90A7B6 B0 03 BCS $03 [$A7BB] $90A7BB 22 53 DE 91 JSL $91DE53[$91:DE53] $90A7BF 9C 42 0B STZ $0B42 [$7E:0B42] $90A7C2 9C 44 0B STZ $0B44 [$7E:0B44] $90A7C5 9C C6 0D STZ $0DC6 [$7E:0DC6] $90A7C8 28 PLP $90A7C9 60 RTS $90A7CA 08 PHP $90A7CB C2 30 REP #$30 $90A7CD 20 B3 8F JSR $8FB3 [$90:8FB3] $90A7D0 28 PLP $90A7D1 60 RTS $90A7D2 08 PHP $90A7D3 C2 30 REP #$30 $90A7D5 9C C6 0D STZ $0DC6 [$7E:0DC6] $90A7D8 28 PLP $90A7D9 60 RTS $90A7DA 08 PHP $90A7DB C2 30 REP #$30 $90A7DD 9C C6 0D STZ $0DC6 [$7E:0DC6] $90A7E0 28 PLP $90A7E1 60 RTS ;;; ;;; ; Disable and clear automap. ; Check a list for boss number ($179C). If one isn't found, cleanup and RTS, ; else use the argument for a list of entries for $12 and $18, ; then JSR to 90:A8A6 after each entry, until a negative entry (such as FFFF). ; Entry format: bytes 1 and 3 ignored, bytes 2 and 4 = X/Y offset from topleft corner of room. $90A7E2 08 PHP $90A7E3 8B PHB $90A7E4 C2 30 REP #$30 $90A7E6 4B PHK $90A7E7 AB PLB $90A7E8 A9 01 00 LDA #$0001 $90A7EB 8D F7 05 STA $05F7 [$7E:05F7] $90A7EE A9 1F 00 LDA #$001F $90A7F1 09 00 2C ORA #$2C00 $90A7F4 A2 00 00 LDX #$0000 $90A7F7 9F 3C C6 7E STA $7EC63C,x[$7E:C63C] $90A7FB 9F 7C C6 7E STA $7EC67C,x[$7E:C67C] $90A7FF 9F BC C6 7E STA $7EC6BC,x[$7E:C6BC] $90A803 E8 INX $90A804 E8 INX $90A805 E0 0A 00 CPX #$000A $90A808 30 ED BMI $ED [$A7F7] $90A80A AD 9C 17 LDA $179C [$7E:179C] $90A80D A2 14 00 LDX #$0014 $90A810 DD 3A A8 CMP $A83A,x[$90:A84E] $90A813 F0 09 BEQ $09 [$A81E] $90A815 CA DEX $90A816 CA DEX $90A817 CA DEX $90A818 CA DEX $90A819 10 F5 BPL $F5 [$A810] $90A81B AB PLB $90A81C 28 PLP $90A81D 6B RTL $90A81E BD 3C A8 LDA $A83C,x[$90:A83C] $90A821 AA TAX $90A822 BD 00 00 LDA $0000,x[$90:A852] $90A825 30 10 BMI $10 [$A837] $90A827 85 12 STA $12 [$7E:0012] $90A829 BD 02 00 LDA $0002,x[$90:A854] $90A82C 85 18 STA $18 [$7E:0018] $90A82E 20 A6 A8 JSR $A8A6 [$90:A8A6] $90A831 E8 INX $90A832 E8 INX $90A833 E8 INX $90A834 E8 INX $90A835 80 EB BRA $EB [$A822] $90A837 AB PLB $90A838 28 PLP $90A839 6B RTL $90A83A dw 0003, A852, 0006, A864, 0007, A872, 0008, A878, 000A, A88A, 0005, A89C $90A852 dw 0000, 0000, 0100, 0000, 0000, 0100, 0100, 0100, FFFF $90A864 dw 0300, 0000, 0400, 0000, 0500, 0000, FFFF $90A872 dw 0000, 0000, FFFF $90A878 dw 0000, 0000, 0100, 0000, 0000, 0100, 0100, 0100, FFFF $90A88A dw 0000, 0000, 0100, 0000, 0200, 0000, 0300, 0000, FFFF $90A89C dw 0000, 0000, 0000, 0100, FFFF ;;; ;;; ; Set tiles explored for current area, depending on $12 and $18 (X and Y offsets from room's topleft corner). $90A8A6 08 PHP $90A8A7 DA PHX $90A8A8 5A PHY $90A8A9 A5 12 LDA $12 [$7E:0012] $90A8AB 29 00 FF AND #$FF00 $90A8AE EB XBA $90A8AF 18 CLC $90A8B0 6D A1 07 ADC $07A1 [$7E:07A1] $90A8B3 48 PHA $90A8B4 29 20 00 AND #$0020 $90A8B7 85 22 STA $22 [$7E:0022] $90A8B9 68 PLA $90A8BA 29 1F 00 AND #$001F $90A8BD 85 12 STA $12 [$7E:0012] $90A8BF 29 07 00 AND #$0007 $90A8C2 A8 TAY $90A8C3 A5 12 LDA $12 [$7E:0012] $90A8C5 4A LSR A $90A8C6 4A LSR A $90A8C7 4A LSR A $90A8C8 85 14 STA $14 [$7E:0014] $90A8CA A5 18 LDA $18 [$7E:0018] $90A8CC 29 00 FF AND #$FF00 $90A8CF EB XBA $90A8D0 18 CLC $90A8D1 6D A3 07 ADC $07A3 [$7E:07A3] $90A8D4 1A INC A $90A8D5 85 16 STA $16 [$7E:0016] $90A8D7 18 CLC $90A8D8 65 22 ADC $22 [$7E:0022] $90A8DA 0A ASL A $90A8DB 0A ASL A $90A8DC 18 CLC $90A8DD 65 14 ADC $14 [$7E:0014] $90A8DF AA TAX $90A8E0 E2 20 SEP #$20 $90A8E2 BD F7 07 LDA $07F7,x[$7E:08C5] $90A8E5 19 04 AC ORA $AC04,y[$90:AC0B] $90A8E8 9D F7 07 STA $07F7,x[$7E:08C5] $90A8EB 7A PLY $90A8EC FA PLX $90A8ED 28 PLP $90A8EE 60 RTS ;;; Update mini-map ;;; $90A8EF 08 PHP $90A8F0 C2 30 REP #$30 $90A8F2 AD F6 0A LDA $0AF6 [$7E:0AF6] $90A8F5 29 00 FF AND #$FF00 $90A8F8 EB XBA $90A8F9 18 CLC $90A8FA 6D A1 07 ADC $07A1 [$7E:07A1] $90A8FD AA TAX $90A8FE 85 12 STA $12 [$7E:0012] $90A900 29 07 00 AND #$0007 $90A903 A8 TAY $90A904 8A TXA $90A905 4A LSR A $90A906 4A LSR A $90A907 4A LSR A $90A908 85 14 STA $14 [$7E:0014] $90A90A AD FA 0A LDA $0AFA [$7E:0AFA] $90A90D 29 00 FF AND #$FF00 $90A910 EB XBA $90A911 18 CLC $90A912 6D A3 07 ADC $07A3 [$7E:07A3] $90A915 1A INC A $90A916 85 16 STA $16 [$7E:0016] $90A918 4C 43 AA JMP $AA43 [$90:AA43] ;;; Minimap ;;; $90A91B 08 PHP $90A91C C2 30 REP #$30 $90A91E AD F7 05 LDA $05F7 [$7E:05F7] $90A921 F0 02 BEQ $02 [$A925] $90A923 28 PLP $90A924 6B RTL $90A925 AD F6 0A LDA $0AF6 [$7E:0AF6] $90A928 4A LSR A $90A929 4A LSR A $90A92A 4A LSR A $90A92B 4A LSR A $90A92C CD A5 07 CMP $07A5 [$7E:07A5] $90A92F 90 02 BCC $02 [$A933] $90A931 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90A933 AD FA 0A LDA $0AFA [$7E:0AFA] $90A936 4A LSR A $90A937 4A LSR A $90A938 4A LSR A $90A939 4A LSR A $90A93A CD A7 07 CMP $07A7 [$7E:07A7] $90A93D 90 02 BCC $02 [$A941] $90A93F 28 PLP $90A940 6B RTL $90A941 64 2E STZ $2E [$7E:002E] $90A943 AD F6 0A LDA $0AF6 [$7E:0AF6] $90A946 29 00 FF AND #$FF00 $90A949 EB XBA $90A94A 18 CLC $90A94B 6D A1 07 ADC $07A1 [$7E:07A1] $90A94E 48 PHA $90A94F 29 20 00 AND #$0020 $90A952 85 22 STA $22 [$7E:0022] $90A954 68 PLA $90A955 29 1F 00 AND #$001F $90A958 85 12 STA $12 [$7E:0012] $90A95A 29 07 00 AND #$0007 $90A95D A8 TAY $90A95E A5 12 LDA $12 [$7E:0012] $90A960 4A LSR A $90A961 4A LSR A $90A962 4A LSR A $90A963 85 14 STA $14 [$7E:0014] $90A965 AD FA 0A LDA $0AFA [$7E:0AFA] $90A968 29 00 FF AND #$FF00 $90A96B EB XBA $90A96C 18 CLC $90A96D 6D A3 07 ADC $07A3 [$7E:07A3] $90A970 1A INC A $90A971 85 16 STA $16 [$7E:0016] $90A973 18 CLC $90A974 65 22 ADC $22 [$7E:0022] $90A976 0A ASL A $90A977 0A ASL A $90A978 18 CLC $90A979 65 14 ADC $14 [$7E:0014] $90A97B AA TAX $90A97C E2 20 SEP #$20 $90A97E BD F7 07 LDA $07F7,x[$7E:0830] $90A981 19 04 AC ORA $AC04,y[$90:AC08] $90A984 9D F7 07 STA $07F7,x[$7E:0830] $90A987 84 20 STY $20 [$7E:0020] $90A989 86 1E STX $1E [$7E:001E] $90A98B C2 30 REP #$30 $90A98D CA DEX $90A98E CA DEX $90A98F CA DEX $90A990 CA DEX $90A991 98 TYA $90A992 3A DEC A $90A993 3A DEC A $90A994 10 06 BPL $06 [$A99C] $90A996 29 07 00 AND #$0007 $90A999 CA DEX $90A99A E6 2E INC $2E [$7E:002E] $90A99C 0A ASL A $90A99D A8 TAY $90A99E 86 32 STX $32 [$7E:0032] $90A9A0 84 34 STY $34 [$7E:0034] $90A9A2 BD F7 07 LDA $07F7,x[$7E:082C] $90A9A5 EB XBA $90A9A6 39 0C AC AND $AC0C,y[$90:AC10] $90A9A9 85 18 STA $18 [$7E:0018] $90A9AB BD FB 07 LDA $07FB,x[$7E:0830] $90A9AE EB XBA $90A9AF 39 0C AC AND $AC0C,y[$90:AC10] $90A9B2 85 1A STA $1A [$7E:001A] $90A9B4 BD FF 07 LDA $07FF,x[$7E:0834] $90A9B7 EB XBA $90A9B8 39 0C AC AND $AC0C,y[$90:AC10] $90A9BB 85 1C STA $1C [$7E:001C] $90A9BD DA PHX $90A9BE AD 9F 07 LDA $079F [$7E:079F] $90A9C1 0A ASL A $90A9C2 AA TAX $90A9C3 A9 82 00 LDA #$0082 $90A9C6 85 0B STA $0B [$7E:000B] $90A9C8 BF 17 97 82 LDA $829717,x[$82:9723] $90A9CC 85 09 STA $09 [$7E:0009] $90A9CE 85 0F STA $0F [$7E:000F] $90A9D0 68 PLA $90A9D1 18 CLC $90A9D2 65 09 ADC $09 [$7E:0009] $90A9D4 85 09 STA $09 [$7E:0009] $90A9D6 A7 09 LDA [$09] [$82:9D5C] $90A9D8 EB XBA $90A9D9 85 26 STA $26 [$7E:0026] $90A9DB A5 09 LDA $09 [$7E:0009] $90A9DD 18 CLC $90A9DE 69 04 00 ADC #$0004 $90A9E1 85 09 STA $09 [$7E:0009] $90A9E3 A7 09 LDA [$09] [$82:9D60] $90A9E5 EB XBA $90A9E6 85 28 STA $28 [$7E:0028] $90A9E8 A5 09 LDA $09 [$7E:0009] $90A9EA 18 CLC $90A9EB 69 04 00 ADC #$0004 $90A9EE 85 09 STA $09 [$7E:0009] $90A9F0 A7 09 LDA [$09] [$82:9D64] $90A9F2 EB XBA $90A9F3 85 2A STA $2A [$7E:002A] $90A9F5 A6 32 LDX $32 [$7E:0032] $90A9F7 A4 34 LDY $34 [$7E:0034] $90A9F9 8A TXA $90A9FA 29 03 00 AND #$0003 $90A9FD C9 03 00 CMP #$0003 $90AA00 D0 2A BNE $2A [$AA2C] $90AA02 A5 2E LDA $2E [$7E:002E] $90AA04 F0 04 BEQ $04 [$AA0A] $90AA06 98 TYA $90AA07 4A LSR A $90AA08 80 02 BRA $02 [$AA0C] $90AA0A A5 20 LDA $20 [$7E:0020] $90AA0C C9 06 00 CMP #$0006 $90AA0F 30 1B BMI $1B [$AA2C] $90AA11 A5 22 LDA $22 [$7E:0022] $90AA13 D0 0A BNE $0A [$AA1F] $90AA15 E2 20 SEP #$20 $90AA17 8A TXA $90AA18 18 CLC $90AA19 69 7D ADC #$7D $90AA1B 85 30 STA $30 [$7E:0030] $90AA1D 80 08 BRA $08 [$AA27] $90AA1F E2 20 SEP #$20 $90AA21 8A TXA $90AA22 38 SEC $90AA23 E9 7C SBC #$7C $90AA25 85 30 STA $30 [$7E:0030] $90AA27 C2 30 REP #$30 $90AA29 20 75 AB JSR $AB75 [$90:AB75] $90AA2C A5 34 LDA $34 [$7E:0034] $90AA2E 4A LSR A $90AA2F C9 00 00 CMP #$0000 $90AA32 F0 0F BEQ $0F [$AA43] $90AA34 06 18 ASL $18 [$7E:0018] $90AA36 06 26 ASL $26 [$7E:0026] $90AA38 06 1A ASL $1A [$7E:001A] $90AA3A 06 28 ASL $28 [$7E:0028] $90AA3C 06 1C ASL $1C [$7E:001C] $90AA3E 06 2A ASL $2A [$7E:002A] $90AA40 3A DEC A $90AA41 80 EF BRA $EF [$AA32] $90AA43 A5 16 LDA $16 [$7E:0016] $90AA45 18 CLC $90AA46 65 22 ADC $22 [$7E:0022] $90AA48 EB XBA $90AA49 4A LSR A $90AA4A 4A LSR A $90AA4B 4A LSR A $90AA4C 18 CLC $90AA4D 65 12 ADC $12 [$7E:0012] $90AA4F 8D 0B 06 STA $060B [$7E:060B] $90AA52 A5 22 LDA $22 [$7E:0022] $90AA54 F0 14 BEQ $14 [$AA6A] $90AA56 AD 0B 06 LDA $060B [$7E:060B] $90AA59 29 1F 00 AND #$001F $90AA5C C9 02 00 CMP #$0002 $90AA5F 10 09 BPL $09 [$AA6A] $90AA61 AD 0B 06 LDA $060B [$7E:060B] $90AA64 38 SEC $90AA65 E9 02 04 SBC #$0402 $90AA68 80 07 BRA $07 [$AA71] $90AA6A AD 0B 06 LDA $060B [$7E:060B] $90AA6D 38 SEC $90AA6E E9 22 00 SBC #$0022 $90AA71 0A ASL A $90AA72 A8 TAY $90AA73 AD 9F 07 LDA $079F [$7E:079F] $90AA76 0A ASL A $90AA77 18 CLC $90AA78 6D 9F 07 ADC $079F [$7E:079F] $90AA7B AA TAX $90AA7C BF 4C 96 82 LDA $82964C,x[$82:965E] $90AA80 85 02 STA $02 [$7E:0002] $90AA82 85 05 STA $05 [$7E:0005] $90AA84 85 08 STA $08 [$7E:0008] $90AA86 BF 4A 96 82 LDA $82964A,x[$82:965C] $90AA8A 85 00 STA $00 [$7E:0000] $90AA8C 18 CLC $90AA8D 69 40 00 ADC #$0040 $90AA90 85 03 STA $03 [$7E:0003] $90AA92 18 CLC $90AA93 69 40 00 ADC #$0040 $90AA96 85 06 STA $06 [$7E:0006] $90AA98 A9 05 00 LDA #$0005 $90AA9B 85 12 STA $12 [$7E:0012] $90AA9D A2 00 00 LDX #$0000 $90AAA0 AD 89 07 LDA $0789 [$7E:0789] $90AAA3 08 PHP $90AAA4 06 26 ASL $26 [$7E:0026] $90AAA6 90 06 BCC $06 [$AAAE] $90AAA8 B7 00 LDA [$00],y[$B5:E358] $90AAAA 28 PLP $90AAAB 08 PHP $90AAAC D0 03 BNE $03 [$AAB1] $90AAAE A9 1F 00 LDA #$001F $90AAB1 29 FF E3 AND #$E3FF $90AAB4 09 00 2C ORA #$2C00 $90AAB7 9F 3C C6 7E STA $7EC63C,x[$7E:C63C] $90AABB 06 18 ASL $18 [$7E:0018] $90AABD 90 0C BCC $0C [$AACB] $90AABF B7 00 LDA [$00],y[$B5:E354] $90AAC1 29 FF E3 AND #$E3FF $90AAC4 09 00 28 ORA #$2800 $90AAC7 9F 3C C6 7E STA $7EC63C,x[$7E:C63C] $90AACB 06 28 ASL $28 [$7E:0028] $90AACD 90 06 BCC $06 [$AAD5] $90AACF B7 03 LDA [$03],y[$B5:E398] $90AAD1 28 PLP $90AAD2 08 PHP $90AAD3 D0 03 BNE $03 [$AAD8] $90AAD5 A9 1F 00 LDA #$001F $90AAD8 29 FF E3 AND #$E3FF $90AADB 09 00 2C ORA #$2C00 $90AADE 9F 7C C6 7E STA $7EC67C,x[$7E:C67C] $90AAE2 06 1A ASL $1A [$7E:001A] $90AAE4 90 22 BCC $22 [$AB08] $90AAE6 B7 03 LDA [$03],y[$B5:E398] $90AAE8 29 FF E3 AND #$E3FF $90AAEB 09 00 28 ORA #$2800 $90AAEE 9F 7C C6 7E STA $7EC67C,x[$7E:C680] $90AAF2 A5 12 LDA $12 [$7E:0012] $90AAF4 C9 03 00 CMP #$0003 $90AAF7 D0 0F BNE $0F [$AB08] $90AAF9 BF 7C C6 7E LDA $7EC67C,x[$7E:C680] $90AAFD 29 FF 01 AND #$01FF $90AB00 C9 28 00 CMP #$0028 $90AB03 D0 03 BNE $03 [$AB08] $90AB05 20 5F AB JSR $AB5F [$90:AB5F] $90AB08 06 2A ASL $2A [$7E:002A] $90AB0A 90 06 BCC $06 [$AB12] $90AB0C B7 06 LDA [$06],y[$B5:E3D8] $90AB0E 28 PLP $90AB0F 08 PHP $90AB10 D0 03 BNE $03 [$AB15] $90AB12 A9 1F 00 LDA #$001F $90AB15 29 FF E3 AND #$E3FF $90AB18 09 00 2C ORA #$2C00 $90AB1B 9F BC C6 7E STA $7EC6BC,x[$7E:C6BC] $90AB1F 06 1C ASL $1C [$7E:001C] $90AB21 90 0C BCC $0C [$AB2F] $90AB23 B7 06 LDA [$06],y[$B5:E3D4] $90AB25 29 FF E3 AND #$E3FF $90AB28 09 00 28 ORA #$2800 $90AB2B 9F BC C6 7E STA $7EC6BC,x[$7E:C6BC] $90AB2F E8 INX $90AB30 E8 INX $90AB31 C8 INY $90AB32 C8 INY $90AB33 98 TYA $90AB34 29 3F 00 AND #$003F $90AB37 C9 00 00 CMP #$0000 $90AB3A D0 06 BNE $06 [$AB42] $90AB3C 98 TYA $90AB3D 18 CLC $90AB3E 69 C0 07 ADC #$07C0 $90AB41 A8 TAY $90AB42 C6 12 DEC $12 [$7E:0012] $90AB44 F0 03 BEQ $03 [$AB49] $90AB46 4C A4 AA JMP $AAA4 [$90:AAA4] $90AB49 28 PLP $90AB4A AD B5 05 LDA $05B5 [$7E:05B5] $90AB4D 29 08 00 AND #$0008 $90AB50 D0 0B BNE $0B [$AB5D] $90AB52 AF 80 C6 7E LDA $7EC680[$7E:C680] $90AB56 09 00 1C ORA #$1C00 $90AB59 8F 80 C6 7E STA $7EC680[$7E:C680] $90AB5D 28 PLP $90AB5E 6B RTL $90AB5F DA PHX $90AB60 5A PHY $90AB61 A6 1E LDX $1E [$7E:001E] $90AB63 E2 20 SEP #$20 $90AB65 A4 20 LDY $20 [$7E:0020] $90AB67 BD F3 07 LDA $07F3,x[$7E:080C] $90AB6A 19 04 AC ORA $AC04,y[$90:AC0B] $90AB6D 9D F3 07 STA $07F3,x[$7E:080C] $90AB70 C2 20 REP #$20 $90AB72 7A PLY $90AB73 FA PLX $90AB74 60 RTS $90AB75 08 PHP $90AB76 C2 30 REP #$30 $90AB78 A5 30 LDA $30 [$7E:0030] $90AB7A 29 FF 00 AND #$00FF $90AB7D AA TAX $90AB7E 18 CLC $90AB7F 65 0F ADC $0F [$7E:000F] $90AB81 85 09 STA $09 [$7E:0009] $90AB83 E2 20 SEP #$20 $90AB85 BD F7 07 LDA $07F7,x[$7E:089F] $90AB88 85 2C STA $2C [$7E:002C] $90AB8A A7 09 LDA [$09] [$82:98CF] $90AB8C 85 2D STA $2D [$7E:002D] $90AB8E A9 20 LDA #$20 $90AB90 C5 22 CMP $22 [$7E:0022] $90AB92 D0 0A BNE $0A [$AB9E] $90AB94 A5 2C LDA $2C [$7E:002C] $90AB96 85 19 STA $19 [$7E:0019] $90AB98 A5 2D LDA $2D [$7E:002D] $90AB9A 85 27 STA $27 [$7E:0027] $90AB9C 80 08 BRA $08 [$ABA6] $90AB9E A5 2C LDA $2C [$7E:002C] $90ABA0 85 18 STA $18 [$7E:0018] $90ABA2 A5 2D LDA $2D [$7E:002D] $90ABA4 85 26 STA $26 [$7E:0026] $90ABA6 BD FB 07 LDA $07FB,x[$7E:08A3] $90ABA9 85 2C STA $2C [$7E:002C] $90ABAB C2 20 REP #$20 $90ABAD A5 09 LDA $09 [$7E:0009] $90ABAF 18 CLC $90ABB0 69 04 00 ADC #$0004 $90ABB3 85 09 STA $09 [$7E:0009] $90ABB5 E2 20 SEP #$20 $90ABB7 A7 09 LDA [$09] [$82:98D3] $90ABB9 85 2D STA $2D [$7E:002D] $90ABBB A9 20 LDA #$20 $90ABBD C5 22 CMP $22 [$7E:0022] $90ABBF D0 0A BNE $0A [$ABCB] $90ABC1 A5 2C LDA $2C [$7E:002C] $90ABC3 85 1B STA $1B [$7E:001B] $90ABC5 A5 2D LDA $2D [$7E:002D] $90ABC7 85 29 STA $29 [$7E:0029] $90ABC9 80 08 BRA $08 [$ABD3] $90ABCB A5 2C LDA $2C [$7E:002C] $90ABCD 85 1A STA $1A [$7E:001A] $90ABCF A5 2D LDA $2D [$7E:002D] $90ABD1 85 28 STA $28 [$7E:0028] $90ABD3 BD FF 07 LDA $07FF,x[$7E:08A7] $90ABD6 85 2C STA $2C [$7E:002C] $90ABD8 C2 20 REP #$20 $90ABDA A5 09 LDA $09 [$7E:0009] $90ABDC 18 CLC $90ABDD 69 04 00 ADC #$0004 $90ABE0 85 09 STA $09 [$7E:0009] $90ABE2 E2 20 SEP #$20 $90ABE4 A7 09 LDA [$09] [$82:98D7] $90ABE6 85 2D STA $2D [$7E:002D] $90ABE8 A9 20 LDA #$20 $90ABEA C5 22 CMP $22 [$7E:0022] $90ABEC D0 0A BNE $0A [$ABF8] $90ABEE A5 2C LDA $2C [$7E:002C] $90ABF0 85 1D STA $1D [$7E:001D] $90ABF2 A5 2D LDA $2D [$7E:002D] $90ABF4 85 2B STA $2B [$7E:002B] $90ABF6 80 08 BRA $08 [$AC00] $90ABF8 A5 2C LDA $2C [$7E:002C] $90ABFA 85 1C STA $1C [$7E:001C] $90ABFC A5 2D LDA $2D [$7E:002D] $90ABFE 85 2A STA $2A [$7E:002A] $90AC00 C2 30 REP #$30 $90AC02 28 PLP $90AC03 60 RTS $90AC04 db 80, 40, 20, 10, 08, 04, 02, 01, 00, FC, 00, 7E, 00, 3F, 80, 1F, C0, 0F, E0, 07, F0, 03, F8, 01 ;;; Handle's Samus' cooldown ;;; $90AC1C AD 78 0A LDA $0A78 [$7E:0A78] $90AC1F D0 11 BNE $11 [$AC32] $90AC21 AD CC 0C LDA $0CCC [$7E:0CCC] $90AC24 F0 0B BEQ $0B [$AC31] $90AC26 30 06 BMI $06 [$AC2E] $90AC28 3A DEC A $90AC29 8D CC 0C STA $0CCC [$7E:0CCC] $90AC2C 10 03 BPL $03 [$AC31] $90AC2E ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90AC31 60 RTS $90AC32 A9 20 00 LDA #$0020 $90AC35 8D CC 0C STA $0CCC [$7E:0CCC] $90AC38 60 RTS ;;; ;;; ; Checks current number of beams and cooldown when trying to fire $90AC39 AD CE 0C LDA $0CCE [$7E:0CCE] $90AC3C C9 05 00 CMP #$0005 $90AC3F 10 17 BPL $17 [$AC58] $90AC41 AD CC 0C LDA $0CCC [$7E:0CCC] $90AC44 29 FF 00 AND #$00FF $90AC47 D0 0F BNE $0F [$AC58] $90AC49 A9 01 00 LDA #$0001 $90AC4C 8D CC 0C STA $0CCC [$7E:0CCC] $90AC4F AD CE 0C LDA $0CCE [$7E:0CCE] $90AC52 1A INC A $90AC53 8D CE 0C STA $0CCE [$7E:0CCE] $90AC56 38 SEC $90AC57 60 RTS $90AC58 18 CLC $90AC59 60 RTS $90AC5A AD D2 09 LDA $09D2 [$7E:09D2] $90AC5D C9 02 00 CMP #$0002 $90AC60 F0 21 BEQ $21 [$AC83] $90AC62 AD CE 0C LDA $0CCE [$7E:0CCE] $90AC65 C9 05 00 CMP #$0005 $90AC68 10 17 BPL $17 [$AC81] $90AC6A AD CC 0C LDA $0CCC [$7E:0CCC] $90AC6D 29 FF 00 AND #$00FF $90AC70 D0 0F BNE $0F [$AC81] $90AC72 A9 01 00 LDA #$0001 $90AC75 8D CC 0C STA $0CCC [$7E:0CCC] $90AC78 AD CE 0C LDA $0CCE [$7E:0CCE] $90AC7B 1A INC A $90AC7C 8D CE 0C STA $0CCE [$7E:0CCE] $90AC7F 38 SEC $90AC80 60 RTS $90AC81 18 CLC $90AC82 60 RTS $90AC83 AD CE 0C LDA $0CCE [$7E:0CCE] $90AC86 C9 04 00 CMP #$0004 $90AC89 30 DF BMI $DF [$AC6A] $90AC8B 18 CLC $90AC8C 60 RTS ;;; Update beam graphics ;;; ; Updates pause screen and its palette $90AC8D 08 PHP $90AC8E 8B PHB $90AC8F 4B PHK $90AC90 AB PLB $90AC91 C2 30 REP #$30 $90AC93 AD A6 09 LDA $09A6 [$7E:09A6] $90AC96 29 FF 0F AND #$0FFF $90AC99 0A ASL A $90AC9A A8 TAY $90AC9B AE 30 03 LDX $0330 [$7E:0330] $90AC9E A9 00 01 LDA #$0100 $90ACA1 95 D0 STA $D0,x [$7E:00D0] $90ACA3 E8 INX $90ACA4 E8 INX $90ACA5 B9 B1 C3 LDA $C3B1,y[$90:C3B1] $90ACA8 95 D0 STA $D0,x [$7E:00D2] $90ACAA E8 INX $90ACAB E8 INX $90ACAC E2 20 SEP #$20 $90ACAE A9 9A LDA #$9A $90ACB0 95 D0 STA $D0,x [$7E:00D4] $90ACB2 C2 20 REP #$20 $90ACB4 E8 INX $90ACB5 A9 00 63 LDA #$6300 $90ACB8 95 D0 STA $D0,x [$7E:00D5] $90ACBA E8 INX $90ACBB E8 INX $90ACBC 8E 30 03 STX $0330 [$7E:0330] $90ACBF 4C CD AC JMP $ACCD [$90:ACCD] $90ACC2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90ACCD A9 90 00 LDA #$0090 $90ACD0 EB XBA $90ACD1 85 01 STA $01 [$7E:0001] $90ACD3 B9 C9 C3 LDA $C3C9,y[$90:C3C9] $90ACD6 85 00 STA $00 [$7E:0000] $90ACD8 A0 00 00 LDY #$0000 $90ACDB A2 00 00 LDX #$0000 $90ACDE B7 00 LDA [$00],y[$90:C3E1] $90ACE0 9F C0 C1 7E STA $7EC1C0,x[$7E:C1C0] $90ACE4 E8 INX $90ACE5 E8 INX $90ACE6 C8 INY $90ACE7 C8 INY $90ACE8 C0 20 00 CPY #$0020 $90ACEB 30 F1 BMI $F1 [$ACDE] $90ACED AB PLB $90ACEE 28 PLP $90ACEF 6B RTL ;;; ;;; $90ACF0 08 PHP $90ACF1 8B PHB $90ACF2 4B PHK $90ACF3 AB PLB $90ACF4 C2 30 REP #$30 $90ACF6 20 FC AC JSR $ACFC [$90:ACFC] $90ACF9 AB PLB $90ACFA 28 PLP $90ACFB 6B RTL $90ACFC 29 FF 0F AND #$0FFF $90ACFF 0A ASL A $90AD00 A8 TAY $90AD01 A9 90 00 LDA #$0090 $90AD04 EB XBA $90AD05 85 01 STA $01 [$7E:0001] $90AD07 B9 C9 C3 LDA $C3C9,y[$90:C3CD] $90AD0A 85 00 STA $00 [$7E:0000] $90AD0C A0 00 00 LDY #$0000 $90AD0F A2 00 00 LDX #$0000 $90AD12 B7 00 LDA [$00],y[$90:C401] $90AD14 9F C0 C1 7E STA $7EC1C0,x[$7E:C1C0] $90AD18 E8 INX $90AD19 E8 INX $90AD1A C8 INY $90AD1B C8 INY $90AD1C C0 20 00 CPY #$0020 $90AD1F 30 F1 BMI $F1 [$AD12] $90AD21 60 RTS $90AD22 08 PHP $90AD23 C2 30 REP #$30 $90AD25 A2 00 00 LDX #$0000 $90AD28 9E 90 0C STZ $0C90,x[$7E:0C90] $90AD2B 9E 64 0B STZ $0B64,x[$7E:0B64] $90AD2E 9E 78 0B STZ $0B78,x[$7E:0B78] $90AD31 9E 04 0C STZ $0C04,x[$7E:0C04] $90AD34 9E DC 0B STZ $0BDC,x[$7E:0BDC] $90AD37 9E F0 0B STZ $0BF0,x[$7E:0BF0] $90AD3A 9E B4 0B STZ $0BB4,x[$7E:0BB4] $90AD3D 9E C8 0B STZ $0BC8,x[$7E:0BC8] $90AD40 9E 18 0C STZ $0C18,x[$7E:0C18] $90AD43 9E 2C 0C STZ $0C2C,x[$7E:0C2C] $90AD46 9E 40 0C STZ $0C40,x[$7E:0C40] $90AD49 9E 54 0C STZ $0C54,x[$7E:0C54] $90AD4C 9E 7C 0C STZ $0C7C,x[$7E:0C7C] $90AD4F 9E B8 0C STZ $0CB8,x[$7E:0CB8] $90AD52 A9 69 B1 LDA #$B169 $90AD55 9D 68 0C STA $0C68,x[$7E:0C68] $90AD58 E8 INX $90AD59 E8 INX $90AD5A E0 14 00 CPX #$0014 $90AD5D 30 C9 BMI $C9 [$AD28] $90AD5F 9C D2 0C STZ $0CD2 [$7E:0CD2] $90AD62 9C CC 0C STZ $0CCC [$7E:0CCC] $90AD65 9C CE 0C STZ $0CCE [$7E:0CCE] $90AD68 9C EE 0C STZ $0CEE [$7E:0CEE] $90AD6B AD EA 09 LDA $09EA [$7E:09EA] $90AD6E F0 06 BEQ $06 [$AD76] $90AD76 9C B0 0A STZ $0AB0 [$7E:0AB0] $90AD79 9C B2 0A STZ $0AB2 [$7E:0AB2] $90AD7C 9C B4 0A STZ $0AB4 [$7E:0AB4] $90AD7F 9C B6 0A STZ $0AB6 [$7E:0AB6] $90AD82 9C B8 0A STZ $0AB8 [$7E:0AB8] $90AD85 9C BA 0A STZ $0ABA [$7E:0ABA] $90AD88 9C BC 0A STZ $0ABC [$7E:0ABC] $90AD8B 9C BE 0A STZ $0ABE [$7E:0ABE] $90AD8E 9C C0 0A STZ $0AC0 [$7E:0AC0] $90AD91 9C C2 0A STZ $0AC2 [$7E:0AC2] $90AD94 9C C4 0A STZ $0AC4 [$7E:0AC4] $90AD97 9C C6 0A STZ $0AC6 [$7E:0AC6] $90AD9A 9C AE 0A STZ $0AAE [$7E:0AAE] $90AD9D AD 4A 0A LDA $0A4A [$7E:0A4A] $90ADA0 F0 07 BEQ $07 [$ADA9] $90ADA9 AD 76 0A LDA $0A76 [$7E:0A76] $90ADAC F0 07 BEQ $07 [$ADB5] $90ADAE A0 F0 E1 LDY #$E1F0 $90ADB1 22 E9 C4 8D JSL $8DC4E9[$8D:C4E9] $90ADB5 28 PLP $90ADB6 6B RTL ;;; Clean up (aka delete) projectile/bomb ;;; ; Index in X $90ADB7 08 PHP $90ADB8 C2 30 REP #$30 $90ADBA 9E 64 0B STZ $0B64,x[$7E:0B64] $90ADBD 9E 78 0B STZ $0B78,x[$7E:0B78] $90ADC0 9E 8C 0B STZ $0B8C,x[$7E:0B8C] $90ADC3 9E A0 0B STZ $0BA0,x[$7E:0BA0] $90ADC6 9E 04 0C STZ $0C04,x[$7E:0C04] $90ADC9 9E DC 0B STZ $0BDC,x[$7E:0BDC] $90ADCC 9E F0 0B STZ $0BF0,x[$7E:0BF0] $90ADCF 9E B4 0B STZ $0BB4,x[$7E:0BB4] $90ADD2 9E C8 0B STZ $0BC8,x[$7E:0BC8] $90ADD5 9E 18 0C STZ $0C18,x[$7E:0C18] $90ADD8 9E 2C 0C STZ $0C2C,x[$7E:0C2C] $90ADDB 9E 40 0C STZ $0C40,x[$7E:0C40] $90ADDE 9E 54 0C STZ $0C54,x[$7E:0C54] $90ADE1 9E 7C 0C STZ $0C7C,x[$7E:0C7C] $90ADE4 9E B8 0C STZ $0CB8,x[$7E:0CB8] $90ADE7 A9 69 B1 LDA #$B169 $90ADEA 9D 68 0C STA $0C68,x[$7E:0C68] $90ADED E0 0A 00 CPX #$000A $90ADF0 10 0A BPL $0A [$ADFC] $90ADF2 CE CE 0C DEC $0CCE [$7E:0CCE] $90ADF5 10 0D BPL $0D [$AE04] $90ADFC CE D2 0C DEC $0CD2 [$7E:0CD2] $90ADFF 10 03 BPL $03 [$AE04] $90AE04 28 PLP $90AE05 6B RTL ;;; Kill projectile ;;; ; 0C18 index in X $90AE06 08 PHP $90AE07 8B PHB $90AE08 4B PHK $90AE09 AB PLB $90AE0A C2 30 REP #$30 $90AE0C BD 19 0C LDA $0C19,x[$7E:0C19] $90AE0F 29 0F 00 AND #$000F $90AE12 F0 0C BEQ $0C [$AE20] $90AE14 C9 03 00 CMP #$0003 $90AE17 30 14 BMI $14 [$AE2D] $90AE20 9B TXY $90AE21 BD 04 0C LDA $0C04,x[$7E:0C04] $90AE24 29 0F 00 AND #$000F $90AE27 0A ASL A $90AE28 AA TAX $90AE29 FC 3A AE JSR ($AE3A,x)[$90:AEB9] $90AE2C BB TYX $90AE2D 22 CF 80 93 JSL $9380CF[$93:80CF] $90AE31 A9 69 B1 LDA #$B169 $90AE34 9D 68 0C STA $0C68,x[$7E:0C68] $90AE37 AB PLB $90AE38 28 PLP $90AE39 6B RTL $90AE3A dw AE4E, AE59, AE6E, AE79, AE8E, AE8E, AE99, AEAE, AEB9, AE4E ;;; ;;; $90AE4E B9 78 0B LDA $0B78,y[$7E:0B78] $90AE51 38 SEC $90AE52 F9 C8 0B SBC $0BC8,y[$7E:0BC8] $90AE55 99 78 0B STA $0B78,y[$7E:0B78] $90AE58 60 RTS ;;; ;;; $90AE59 B9 64 0B LDA $0B64,y[$7E:0B66] $90AE5C 18 CLC $90AE5D 79 B4 0B ADC $0BB4,y[$7E:0BB6] $90AE60 99 64 0B STA $0B64,y[$7E:0B66] $90AE63 B9 78 0B LDA $0B78,y[$7E:0B7A] $90AE66 38 SEC $90AE67 F9 C8 0B SBC $0BC8,y[$7E:0BCA] $90AE6A 99 78 0B STA $0B78,y[$7E:0B7A] $90AE6D 60 RTS ;;; ;;; $90AE6E B9 64 0B LDA $0B64,y[$7E:0B64] $90AE71 18 CLC $90AE72 79 B4 0B ADC $0BB4,y[$7E:0BB4] $90AE75 99 64 0B STA $0B64,y[$7E:0B64] $90AE78 60 RTS ;;; ;;; $90AE79 B9 64 0B LDA $0B64,y[$7E:0B64] $90AE7C 18 CLC $90AE7D 79 B4 0B ADC $0BB4,y[$7E:0BB4] $90AE80 99 64 0B STA $0B64,y[$7E:0B64] $90AE83 B9 78 0B LDA $0B78,y[$7E:0B78] $90AE86 18 CLC $90AE87 79 C8 0B ADC $0BC8,y[$7E:0BC8] $90AE8A 99 78 0B STA $0B78,y[$7E:0B78] $90AE8D 60 RTS ;;; ;;; $90AE8E B9 78 0B LDA $0B78,y[$7E:0B78] $90AE91 18 CLC $90AE92 79 C8 0B ADC $0BC8,y[$7E:0BC8] $90AE95 99 78 0B STA $0B78,y[$7E:0B78] $90AE98 60 RTS ;;; ;;; $90AE99 B9 64 0B LDA $0B64,y[$7E:0B64] $90AE9C 38 SEC $90AE9D F9 B4 0B SBC $0BB4,y[$7E:0BB4] $90AEA0 99 64 0B STA $0B64,y[$7E:0B64] $90AEA3 B9 78 0B LDA $0B78,y[$7E:0B78] $90AEA6 18 CLC $90AEA7 79 C8 0B ADC $0BC8,y[$7E:0BC8] $90AEAA 99 78 0B STA $0B78,y[$7E:0B78] $90AEAD 60 RTS ;;; ;;; $90AEAE B9 64 0B LDA $0B64,y[$7E:0B64] $90AEB1 38 SEC $90AEB2 F9 B4 0B SBC $0BB4,y[$7E:0BB4] $90AEB5 99 64 0B STA $0B64,y[$7E:0B64] $90AEB8 60 RTS ;;; ;;; $90AEB9 B9 64 0B LDA $0B64,y[$7E:0B64] $90AEBC 38 SEC $90AEBD F9 B4 0B SBC $0BB4,y[$7E:0BB4] $90AEC0 99 64 0B STA $0B64,y[$7E:0B64] $90AEC3 B9 78 0B LDA $0B78,y[$7E:0B78] $90AEC6 38 SEC $90AEC7 F9 C8 0B SBC $0BC8,y[$7E:0BC8] $90AECA 99 78 0B STA $0B78,y[$7E:0B78] $90AECD 60 RTS ;;; Handle current projectiles/bombs ;;; $90AECE 08 PHP $90AECF C2 30 REP #$30 $90AED1 A9 12 00 LDA #$0012 $90AED4 8D DE 0D STA $0DDE [$7E:0DDE] $90AED7 AA TAX $90AED8 BD 40 0C LDA $0C40,x[$7E:0C52] $90AEDB F0 0A BEQ $0A [$AEE7] $90AEDD FC 68 0C JSR ($0C68,x)[$90:AF68] $90AEE0 22 E9 81 93 JSL $9381E9[$93:81E9] $90AEE4 AE DE 0D LDX $0DDE [$7E:0DDE] $90AEE7 CA DEX $90AEE8 CA DEX $90AEE9 8E DE 0D STX $0DDE [$7E:0DDE] $90AEEC 10 EA BPL $EA [$AED8] $90AEEE 9C D2 0D STZ $0DD2 [$7E:0DD2] $90AEF1 28 PLP $90AEF2 60 RTS ;;; ;;; $90AEF3 BD 04 0C LDA $0C04,x[$7E:0C04] $90AEF6 29 F0 00 AND #$00F0 $90AEF9 F0 05 BEQ $05 [$AF00] $90AEFB 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90AEFF 60 RTS $90AF00 DE 90 0C DEC $0C90,x[$7E:0C90] $90AF03 D0 0D BNE $0D [$AF12] $90AF05 A9 04 00 LDA #$0004 $90AF08 9D 90 0C STA $0C90,x[$7E:0C90] $90AF0B 22 57 B6 90 JSL $90B657[$90:B657] $90AF0F AE DE 0D LDX $0DDE [$7E:0DDE] $90AF12 BD 04 0C LDA $0C04,x[$7E:0C04] $90AF15 29 0F 00 AND #$000F $90AF18 0A ASL A $90AF19 A8 TAY $90AF1A BD DC 0B LDA $0BDC,x[$7E:0BDC] $90AF1D 18 CLC $90AF1E 79 53 C3 ADC $C353,y[$90:C363] $90AF21 9D DC 0B STA $0BDC,x[$7E:0BDC] $90AF24 BD F0 0B LDA $0BF0,x[$7E:0BF0] $90AF27 18 CLC $90AF28 79 67 C3 ADC $C367,y[$90:C377] $90AF2B 9D F0 0B STA $0BF0,x[$7E:0BF0] $90AF2E BB TYX $90AF2F FC 36 AF JSR ($AF36,x)[$90:AF52] $90AF32 20 6A B1 JSR $B16A [$90:B16A] $90AF35 60 RTS $90AF36 dw AF4A, AF52, AF60, AF52, AF4A, AF4A, AF52, AF60, AF52, AF4A ;;; ;;; $90AF4A AE DE 0D LDX $0DDE [$7E:0DDE] $90AF4D 22 CA A2 94 JSL $94A2CA[$94:A2CA] $90AF51 60 RTS ;;; ;;; $90AF52 AE DE 0D LDX $0DDE [$7E:0DDE] $90AF55 22 3B A2 94 JSL $94A23B[$94:A23B] $90AF59 B0 04 BCS $04 [$AF5F] $90AF5B 22 CA A2 94 JSL $94A2CA[$94:A2CA] $90AF5F 60 RTS ;;; ;;; $90AF60 AE DE 0D LDX $0DDE [$7E:0DDE] $90AF63 22 3B A2 94 JSL $94A23B[$94:A23B] $90AF67 60 RTS $90AF68 BD 04 0C LDA $0C04,x[$7E:0C04] $90AF6B 29 F0 00 AND #$00F0 $90AF6E F0 05 BEQ $05 [$AF75] $90AF70 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90AF74 60 RTS $90AF75 DE 90 0C DEC $0C90,x[$7E:0C90] $90AF78 D0 0D BNE $0D [$AF87] $90AF7A A9 04 00 LDA #$0004 $90AF7D 9D 90 0C STA $0C90,x[$7E:0C90] $90AF80 22 57 B6 90 JSL $90B657[$90:B657] $90AF84 AE DE 0D LDX $0DDE [$7E:0DDE] $90AF87 BD 04 0C LDA $0C04,x[$7E:0C04] $90AF8A 29 0F 00 AND #$000F $90AF8D 0A ASL A $90AF8E A8 TAY $90AF8F BD DC 0B LDA $0BDC,x[$7E:0BDC] $90AF92 18 CLC $90AF93 79 53 C3 ADC $C353,y[$90:C361] $90AF96 9D DC 0B STA $0BDC,x[$7E:0BDC] $90AF99 BD F0 0B LDA $0BF0,x[$7E:0BF0] $90AF9C 18 CLC $90AF9D 79 67 C3 ADC $C367,y[$90:C375] $90AFA0 9D F0 0B STA $0BF0,x[$7E:0BF0] $90AFA3 98 TYA $90AFA4 4A LSR A $90AFA5 A8 TAY $90AFA6 20 F6 B2 JSR $B2F6 [$90:B2F6] $90AFA9 98 TYA $90AFAA 0A ASL A $90AFAB AA TAX $90AFAC FC B3 AF JSR ($AFB3,x)[$90:AFDD] $90AFAF 20 6A B1 JSR $B16A [$90:B16A] $90AFB2 60 RTS $90AFB3 db C7 $90AFB5 db CF $90AFB7 db DD $90AFBB db C7 $90AFBF db CF $90AFC1 db DD $90AFC3 db CF $90AFC5 db C7 $90AFC7 AE DE 0D LDX $0DDE [$7E:0DDE] $90AFCA 22 D9 A4 94 JSL $94A4D9[$94:A4D9] $90AFCE 60 RTS $90AFCF AE DE 0D LDX $0DDE [$7E:0DDE] $90AFD2 22 6F A4 94 JSL $94A46F[$94:A46F] $90AFD6 B0 04 BCS $04 [$AFDC] $90AFD8 22 D9 A4 94 JSL $94A4D9[$94:A4D9] $90AFDC 60 RTS $90AFDD AE DE 0D LDX $0DDE [$7E:0DDE] $90AFE0 22 6F A4 94 JSL $94A46F[$94:A46F] $90AFE4 60 RTS $90AFE5 BD 04 0C LDA $0C04,x[$7E:0C04] $90AFE8 29 F0 00 AND #$00F0 $90AFEB F0 06 BEQ $06 [$AFF3] $90AFED 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90AFF1 80 28 BRA $28 [$B01B] $90AFF3 DE 90 0C DEC $0C90,x[$7E:0C90] $90AFF6 D0 0D BNE $0D [$B005] $90AFF8 A9 02 00 LDA #$0002 $90AFFB 9D 90 0C STA $0C90,x[$7E:0C90] $90AFFE 22 57 B6 90 JSL $90B657[$90:B657] $90B002 AE DE 0D LDX $0DDE [$7E:0DDE] $90B005 BD 04 0C LDA $0C04,x[$7E:0C04] $90B008 29 0F 00 AND #$000F $90B00B A8 TAY $90B00C 20 F6 B2 JSR $B2F6 [$90:B2F6] $90B00F 98 TYA $90B010 0A ASL A $90B011 AA TAX $90B012 FC 33 B0 JSR ($B033,x)[$90:B06A] $90B015 20 6A B1 JSR $B16A [$90:B16A] $90B018 B0 01 BCS $01 [$B01B] $90B01A 60 RTS $90B01B A0 08 00 LDY #$0008 $90B01E B9 18 0C LDA $0C18,y[$7E:0C20] $90B021 29 FF 0F AND #$0FFF $90B024 C9 00 02 CMP #$0200 $90B027 D0 05 BNE $05 [$B02E] $90B029 BB TYX $90B02A 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90B02E 88 DEY $90B02F 88 DEY $90B030 10 EC BPL $EC [$B01E] $90B032 60 RTS $90B033 db 47 $90B035 db 52 $90B037 db 6A $90B039 db 52 $90B03B db 47 $90B03D db 47 $90B03F db 52 $90B041 db 6A $90B043 db 52 $90B045 db 47 $90B047 AE DE 0D LDX $0DDE [$7E:0DDE] $90B04A 22 D9 A4 94 JSL $94A4D9[$94:A4D9] $90B04E 20 66 B3 JSR $B366 [$90:B366] $90B051 60 RTS $90B052 AE DE 0D LDX $0DDE [$7E:0DDE] $90B055 22 6F A4 94 JSL $94A46F[$94:A46F] $90B059 B0 0B BCS $0B [$B066] $90B05B 20 06 B4 JSR $B406 [$90:B406] $90B05E 22 D9 A4 94 JSL $94A4D9[$94:A4D9] $90B062 20 66 B3 JSR $B366 [$90:B366] $90B065 60 RTS $90B066 20 06 B4 JSR $B406 [$90:B406] $90B069 60 RTS $90B06A AE DE 0D LDX $0DDE [$7E:0DDE] $90B06D 22 6F A4 94 JSL $94A46F[$94:A46F] $90B071 20 06 B4 JSR $B406 [$90:B406] $90B074 60 RTS $90B075 BD 04 0C LDA $0C04,x[$7E:0C06] $90B078 29 F0 00 AND #$00F0 $90B07B F0 1B BEQ $1B [$B098] $90B07D 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90B081 A0 08 00 LDY #$0008 $90B084 B9 18 0C LDA $0C18,y[$7E:0C20] $90B087 29 FF 0F AND #$0FFF $90B08A C9 00 02 CMP #$0200 $90B08D D0 05 BNE $05 [$B094] $90B08F BB TYX $90B090 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90B094 88 DEY $90B095 88 DEY $90B096 10 EC BPL $EC [$B084] $90B098 60 RTS $90B099 BD 04 0C LDA $0C04,x[$7E:0C0E] $90B09C 29 F0 00 AND #$00F0 $90B09F F0 05 BEQ $05 [$B0A6] $90B0A1 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90B0A5 60 RTS $90B0A6 20 28 C1 JSR $C128 [$90:C128] $90B0A9 22 AC 9C 94 JSL $949CAC[$94:9CAC] $90B0AD 60 RTS $90B0AE BD 04 0C LDA $0C04,x[$7E:0C0E] $90B0B1 29 F0 00 AND #$00F0 $90B0B4 F0 05 BEQ $05 [$B0BB] $90B0BB 20 57 C1 JSR $C157 [$90:C157] $90B0BE 22 AC 9C 94 JSL $949CAC[$94:9CAC] $90B0C2 60 RTS $90B0C3 BD 04 0C LDA $0C04,x[$7E:0C04] $90B0C6 29 F0 00 AND #$00F0 $90B0C9 F0 05 BEQ $05 [$B0D0] $90B0CB 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90B0CF 60 RTS $90B0D0 DE 90 0C DEC $0C90,x[$7E:0C90] $90B0D3 D0 2E BNE $2E [$B103] $90B0D5 A9 04 00 LDA #$0004 $90B0D8 9D 90 0C STA $0C90,x[$7E:0C90] $90B0DB 22 57 B6 90 JSL $90B657[$90:B657] $90B0DF AE DE 0D LDX $0DDE [$7E:0DDE] $90B0E2 80 1F BRA $1F [$B103] $90B103 BD 04 0C LDA $0C04,x[$7E:0C04] $90B106 29 0F 00 AND #$000F $90B109 0A ASL A $90B10A A8 TAY $90B10B BD DC 0B LDA $0BDC,x[$7E:0BDC] $90B10E 18 CLC $90B10F 79 53 C3 ADC $C353,y[$90:C361] $90B112 9D DC 0B STA $0BDC,x[$7E:0BDC] $90B115 BD F0 0B LDA $0BF0,x[$7E:0BF0] $90B118 18 CLC $90B119 79 67 C3 ADC $C367,y[$90:C375] $90B11C 9D F0 0B STA $0BF0,x[$7E:0BF0] $90B11F BB TYX $90B120 FC 27 B1 JSR ($B127,x)[$90:B151] $90B123 20 6A B1 JSR $B16A [$90:B16A] $90B126 60 RTS $90B127 db 3B $90B129 db 43 $90B12B db 51 $90B12D db 43 $90B12F db 3B $90B131 db 3B $90B133 db 43 $90B135 db 51 $90B137 db 43 $90B139 db 3B $90B13B AE DE 0D LDX $0DDE [$7E:0DDE] $90B13E 22 E4 A3 94 JSL $94A3E4[$94:A3E4] $90B142 60 RTS $90B143 AE DE 0D LDX $0DDE [$7E:0DDE] $90B146 22 52 A3 94 JSL $94A352[$94:A352] $90B14A B0 04 BCS $04 [$B150] $90B14C 22 E4 A3 94 JSL $94A3E4[$94:A3E4] $90B150 60 RTS $90B151 AE DE 0D LDX $0DDE [$7E:0DDE] $90B154 22 52 A3 94 JSL $94A352[$94:A352] $90B158 60 RTS $90B159 BD 04 0C LDA $0C04,x[$7E:0C04] $90B15C 29 F0 00 AND #$00F0 $90B15F F0 05 BEQ $05 [$B166] $90B161 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90B165 60 RTS $90B166 4C 03 B1 JMP $B103 [$90:B103] $90B169 60 RTS $90B16A AE DE 0D LDX $0DDE [$7E:0DDE] $90B16D BD 64 0B LDA $0B64,x[$7E:0B64] $90B170 38 SEC $90B171 ED 11 09 SBC $0911 [$7E:0911] $90B174 C9 C0 FF CMP #$FFC0 $90B177 30 05 BMI $05 [$B17E] $90B179 C9 40 01 CMP #$0140 $90B17C 30 06 BMI $06 [$B184] $90B17E 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90B182 38 SEC $90B183 60 RTS $90B184 BD 78 0B LDA $0B78,x[$7E:0B78] $90B187 38 SEC $90B188 ED 15 09 SBC $0915 [$7E:0915] $90B18B C9 C0 FF CMP #$FFC0 $90B18E 30 EE BMI $EE [$B17E] $90B190 C9 40 01 CMP #$0140 $90B193 10 E9 BPL $E9 [$B17E] $90B195 18 CLC $90B196 60 RTS ;;; ;;; ; Sets the initial speed for projectiles (including the boost from Samus's current speed) $90B197 08 PHP $90B198 8B PHB $90B199 4B PHK $90B19A AB PLB $90B19B C2 30 REP #$30 $90B19D A6 14 LDX $14 [$7E:0014] $90B19F BD 18 0C LDA $0C18,x[$7E:0C18] $90B1A2 29 0F 00 AND #$000F $90B1A5 0A ASL A $90B1A6 0A ASL A $90B1A7 A8 TAY $90B1A8 BD 04 0C LDA $0C04,x[$7E:0C04] $90B1AB 29 0F 00 AND #$000F $90B1AE 0A ASL A $90B1AF AA TAX $90B1B0 7C C9 B1 JMP ($B1C9,x)[$90:B1BA] $90B1B3 B9 D1 C2 LDA $C2D1,y[$90:C2D1] $90B1B6 85 16 STA $16 [$7E:0016] $90B1B8 80 05 BRA $05 [$B1BF] $90B1BA B9 D3 C2 LDA $C2D3,y[$90:C2D3] $90B1BD 85 16 STA $16 [$7E:0016] $90B1BF A6 14 LDX $14 [$7E:0014] $90B1C1 86 12 STX $12 [$7E:0012] $90B1C3 20 F3 B1 JSR $B1F3 [$90:B1F3] $90B1C6 AB PLB $90B1C7 28 PLP $90B1C8 6B RTL $90B1C9 db B3 $90B1CB db BA $90B1CD db B3 $90B1CF db BA $90B1D1 db B3 $90B1D3 db B3 $90B1D5 db BA $90B1D7 db B3 $90B1D9 db BA $90B1DB db B3 $90B1DD 08 PHP $90B1DE C2 30 REP #$30 $90B1E0 A6 14 LDX $14 [$7E:0014] $90B1E2 BD 18 0C LDA $0C18,x[$7E:0C18] $90B1E5 29 0F 00 AND #$000F $90B1E8 0A ASL A $90B1E9 A8 TAY $90B1EA 64 16 STZ $16 [$7E:0016] $90B1EC 86 12 STX $12 [$7E:0012] $90B1EE 20 F3 B1 JSR $B1F3 [$90:B1F3] $90B1F1 28 PLP $90B1F2 60 RTS $90B1F3 9E 8C 0B STZ $0B8C,x[$7E:0B8C] $90B1F6 9E A0 0B STZ $0BA0,x[$7E:0BA0] $90B1F9 BD 04 0C LDA $0C04,x[$7E:0C04] $90B1FC 29 0F 00 AND #$000F $90B1FF 0A ASL A $90B200 AA TAX $90B201 7C 04 B2 JMP ($B204,x)[$90:B2B4] $90B204 db 18 $90B206 db 3D $90B208 db 68 $90B20A db 77 $90B20C db 8C $90B20E db 8C $90B210 db 9B $90B212 db B4 $90B214 db C7 $90B216 db 18 $90B218 A6 12 LDX $12 [$7E:0012] $90B21A AD B1 0D LDA $0DB1 [$7E:0DB1] $90B21D 89 00 FF BIT #$FF00 $90B220 D0 04 BNE $04 [$B226] $90B222 64 12 STZ $12 [$7E:0012] $90B224 80 07 BRA $07 [$B22D] $90B226 4A LSR A $90B227 4A LSR A $90B228 09 00 C0 ORA #$C000 $90B22B 85 12 STA $12 [$7E:0012] $90B22D A5 16 LDA $16 [$7E:0016] $90B22F 49 FF FF EOR #$FFFF $90B232 1A INC A $90B233 18 CLC $90B234 65 12 ADC $12 [$7E:0012] $90B236 9D F0 0B STA $0BF0,x[$7E:0BF0] $90B239 9E DC 0B STZ $0BDC,x[$7E:0BDC] $90B23C 60 RTS $90B23D A6 12 LDX $12 [$7E:0012] $90B23F AD B1 0D LDA $0DB1 [$7E:0DB1] $90B242 89 00 FF BIT #$FF00 $90B245 D0 04 BNE $04 [$B24B] $90B247 64 12 STZ $12 [$7E:0012] $90B249 80 07 BRA $07 [$B252] $90B24B 4A LSR A $90B24C 4A LSR A $90B24D 09 00 C0 ORA #$C000 $90B250 85 12 STA $12 [$7E:0012] $90B252 A5 16 LDA $16 [$7E:0016] $90B254 49 FF FF EOR #$FFFF $90B257 1A INC A $90B258 18 CLC $90B259 65 12 ADC $12 [$7E:0012] $90B25B 9D F0 0B STA $0BF0,x[$7E:0BF2] $90B25E A5 16 LDA $16 [$7E:0016] $90B260 18 CLC $90B261 6D AD 0D ADC $0DAD [$7E:0DAD] $90B264 9D DC 0B STA $0BDC,x[$7E:0BDE] $90B267 60 RTS $90B268 A6 12 LDX $12 [$7E:0012] $90B26A 9E F0 0B STZ $0BF0,x[$7E:0BF0] $90B26D A5 16 LDA $16 [$7E:0016] $90B26F 18 CLC $90B270 6D AD 0D ADC $0DAD [$7E:0DAD] $90B273 9D DC 0B STA $0BDC,x[$7E:0BDC] $90B276 60 RTS $90B277 A6 12 LDX $12 [$7E:0012] $90B279 A5 16 LDA $16 [$7E:0016] $90B27B 18 CLC $90B27C 6D B5 0D ADC $0DB5 [$7E:0DB5] $90B27F 9D F0 0B STA $0BF0,x[$7E:0BF0] $90B282 A5 16 LDA $16 [$7E:0016] $90B284 18 CLC $90B285 6D AD 0D ADC $0DAD [$7E:0DAD] $90B288 9D DC 0B STA $0BDC,x[$7E:0BDC] $90B28B 60 RTS $90B28C A6 12 LDX $12 [$7E:0012] $90B28E A5 16 LDA $16 [$7E:0016] $90B290 18 CLC $90B291 6D B5 0D ADC $0DB5 [$7E:0DB5] $90B294 9D F0 0B STA $0BF0,x[$7E:0BF0] $90B297 9E DC 0B STZ $0BDC,x[$7E:0BDC] $90B29A 60 RTS $90B29B A6 12 LDX $12 [$7E:0012] $90B29D A5 16 LDA $16 [$7E:0016] $90B29F 18 CLC $90B2A0 6D B5 0D ADC $0DB5 [$7E:0DB5] $90B2A3 9D F0 0B STA $0BF0,x[$7E:0BF0] $90B2A6 A5 16 LDA $16 [$7E:0016] $90B2A8 49 FF FF EOR #$FFFF $90B2AB 1A INC A $90B2AC 18 CLC $90B2AD 6D A9 0D ADC $0DA9 [$7E:0DA9] $90B2B0 9D DC 0B STA $0BDC,x[$7E:0BDC] $90B2B3 60 RTS $90B2B4 A6 12 LDX $12 [$7E:0012] $90B2B6 9E F0 0B STZ $0BF0,x[$7E:0BF0] $90B2B9 A5 16 LDA $16 [$7E:0016] $90B2BB 49 FF FF EOR #$FFFF $90B2BE 1A INC A $90B2BF 18 CLC $90B2C0 6D A9 0D ADC $0DA9 [$7E:0DA9] $90B2C3 9D DC 0B STA $0BDC,x[$7E:0BDC] $90B2C6 60 RTS $90B2C7 A6 12 LDX $12 [$7E:0012] $90B2C9 AD B1 0D LDA $0DB1 [$7E:0DB1] $90B2CC 89 00 FF BIT #$FF00 $90B2CF D0 04 BNE $04 [$B2D5] $90B2D1 64 12 STZ $12 [$7E:0012] $90B2D3 80 07 BRA $07 [$B2DC] $90B2D5 4A LSR A $90B2D6 4A LSR A $90B2D7 09 00 C0 ORA #$C000 $90B2DA 85 12 STA $12 [$7E:0012] $90B2DC A5 16 LDA $16 [$7E:0016] $90B2DE 49 FF FF EOR #$FFFF $90B2E1 1A INC A $90B2E2 18 CLC $90B2E3 65 12 ADC $12 [$7E:0012] $90B2E5 9D F0 0B STA $0BF0,x[$7E:0BF0] $90B2E8 A5 16 LDA $16 [$7E:0016] $90B2EA 49 FF FF EOR #$FFFF $90B2ED 1A INC A $90B2EE 18 CLC $90B2EF 6D A9 0D ADC $0DA9 [$7E:0DA9] $90B2F2 9D DC 0B STA $0BDC,x[$7E:0BDC] $90B2F5 60 RTS $90B2F6 08 PHP $90B2F7 C2 30 REP #$30 $90B2F9 DA PHX $90B2FA 5A PHY $90B2FB BD 7C 0C LDA $0C7C,x[$7E:0C7C] $90B2FE 29 00 FF AND #$FF00 $90B301 D0 26 BNE $26 [$B329] $90B303 BD 7C 0C LDA $0C7C,x[$7E:0C7C] $90B306 18 CLC $90B307 6D 01 C3 ADC $C301 [$90:C301] $90B30A 9D 7C 0C STA $0C7C,x[$7E:0C7C] $90B30D 29 00 FF AND #$FF00 $90B310 F0 50 BEQ $50 [$B362] $90B312 BD 7C 0C LDA $0C7C,x[$7E:0C7C] $90B315 85 16 STA $16 [$7E:0016] $90B317 86 12 STX $12 [$7E:0012] $90B319 20 F3 B1 JSR $B1F3 [$90:B1F3] $90B31C BD 18 0C LDA $0C18,x[$7E:0C18] $90B31F 89 00 02 BIT #$0200 $90B322 F0 3E BEQ $3E [$B362] $90B324 20 46 BF JSR $BF46 [$90:BF46] $90B327 80 39 BRA $39 [$B362] $90B329 BD 04 0C LDA $0C04,x[$7E:0C04] $90B32C 29 0F 00 AND #$000F $90B32F 0A ASL A $90B330 0A ASL A $90B331 85 12 STA $12 [$7E:0012] $90B333 BD 19 0C LDA $0C19,x[$7E:0C19] $90B336 29 0F 00 AND #$000F $90B339 89 02 00 BIT #$0002 $90B33C D0 09 BNE $09 [$B347] $90B33E A9 03 C3 LDA #$C303 $90B341 18 CLC $90B342 65 12 ADC $12 [$7E:0012] $90B344 A8 TAY $90B345 80 07 BRA $07 [$B34E] $90B347 A9 2B C3 LDA #$C32B $90B34A 18 CLC $90B34B 65 12 ADC $12 [$7E:0012] $90B34D A8 TAY $90B34E BD DC 0B LDA $0BDC,x[$7E:0BDC] $90B351 18 CLC $90B352 79 00 00 ADC $0000,y[$90:C31F] $90B355 9D DC 0B STA $0BDC,x[$7E:0BDC] $90B358 BD F0 0B LDA $0BF0,x[$7E:0BF0] $90B35B 18 CLC $90B35C 79 02 00 ADC $0002,y[$90:C321] $90B35F 9D F0 0B STA $0BF0,x[$7E:0BF0] $90B362 7A PLY $90B363 FA PLX $90B364 28 PLP $90B365 60 RTS $90B366 AE DE 0D LDX $0DDE [$7E:0DDE] $90B369 BD 18 0C LDA $0C18,x[$7E:0C18] $90B36C 29 00 0F AND #$0F00 $90B36F C9 00 02 CMP #$0200 $90B372 F0 06 BEQ $06 [$B37A] $90B374 C9 00 08 CMP #$0800 $90B377 F0 01 BEQ $01 [$B37A] $90B37A BD 7C 0C LDA $0C7C,x[$7E:0C7C] $90B37D 89 00 FF BIT #$FF00 $90B380 D0 01 BNE $01 [$B383] $90B383 29 FF 00 AND #$00FF $90B386 A8 TAY $90B387 BD F0 0B LDA $0BF0,x[$7E:0BF0] $90B38A 10 04 BPL $04 [$B390] $90B38C 49 FF FF EOR #$FFFF $90B38F 1A INC A $90B390 29 00 FF AND #$FF00 $90B393 C9 00 0B CMP #$0B00 $90B396 30 5C BMI $5C [$B3F4] $90B398 EB XBA $90B399 38 SEC $90B39A E9 0A 00 SBC #$000A $90B39D 85 12 STA $12 [$7E:0012] $90B39F BD F0 0B LDA $0BF0,x[$7E:0BF0] $90B3A2 30 28 BMI $28 [$B3CC] $90B3A4 DA PHX $90B3A5 BD 78 0B LDA $0B78,x[$7E:0B78] $90B3A8 38 SEC $90B3A9 E5 12 SBC $12 [$7E:0012] $90B3AB 99 78 0B STA $0B78,y[$7E:0B7A] $90B3AE BB TYX $90B3AF 8C DE 0D STY $0DDE [$7E:0DDE] $90B3B2 22 D9 A4 94 JSL $94A4D9[$94:A4D9] $90B3B6 9B TXY $90B3B7 FA PLX $90B3B8 8E DE 0D STX $0DDE [$7E:0DDE] $90B3BB BD 18 0C LDA $0C18,x[$7E:0C18] $90B3BE 29 00 0F AND #$0F00 $90B3C1 C9 00 08 CMP #$0800 $90B3C4 D0 05 BNE $05 [$B3CB] $90B3CB 60 RTS $90B3CC DA PHX $90B3CD BD 78 0B LDA $0B78,x[$7E:0B78] $90B3D0 18 CLC $90B3D1 65 12 ADC $12 [$7E:0012] $90B3D3 99 78 0B STA $0B78,y[$7E:0B7A] $90B3D6 BB TYX $90B3D7 8C DE 0D STY $0DDE [$7E:0DDE] $90B3DA 22 D9 A4 94 JSL $94A4D9[$94:A4D9] $90B3DE 9B TXY $90B3DF FA PLX $90B3E0 8E DE 0D STX $0DDE [$7E:0DDE] $90B3E3 BD 18 0C LDA $0C18,x[$7E:0C18] $90B3E6 29 00 0F AND #$0F00 $90B3E9 C9 00 08 CMP #$0800 $90B3EC D0 DD BNE $DD [$B3CB] $90B3EE BB TYX $90B3EF 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90B3F3 60 RTS $90B3F4 BD 18 0C LDA $0C18,x[$7E:0C18] $90B3F7 29 00 0F AND #$0F00 $90B3FA C9 00 08 CMP #$0800 $90B3FD F0 EF BEQ $EF [$B3EE] $90B3FF BD 78 0B LDA $0B78,x[$7E:0B78] $90B402 99 78 0B STA $0B78,y[$7E:0B7A] $90B405 60 RTS $90B406 AE DE 0D LDX $0DDE [$7E:0DDE] $90B409 BD 18 0C LDA $0C18,x[$7E:0C18] $90B40C 29 00 0F AND #$0F00 $90B40F C9 00 02 CMP #$0200 $90B412 F0 06 BEQ $06 [$B41A] $90B414 C9 00 08 CMP #$0800 $90B417 F0 01 BEQ $01 [$B41A] $90B41A BD 7C 0C LDA $0C7C,x[$7E:0C7C] $90B41D 89 00 FF BIT #$FF00 $90B420 D0 01 BNE $01 [$B423] $90B423 29 FF 00 AND #$00FF $90B426 A8 TAY $90B427 BD DC 0B LDA $0BDC,x[$7E:0BDC] $90B42A 10 04 BPL $04 [$B430] $90B42C 49 FF FF EOR #$FFFF $90B42F 1A INC A $90B430 29 00 FF AND #$FF00 $90B433 C9 00 0B CMP #$0B00 $90B436 30 5C BMI $5C [$B494] $90B438 EB XBA $90B439 38 SEC $90B43A E9 0A 00 SBC #$000A $90B43D 85 12 STA $12 [$7E:0012] $90B43F BD DC 0B LDA $0BDC,x[$7E:0BDC] $90B442 30 28 BMI $28 [$B46C] $90B444 DA PHX $90B445 BD 64 0B LDA $0B64,x[$7E:0B64] $90B448 38 SEC $90B449 E5 12 SBC $12 [$7E:0012] $90B44B 99 64 0B STA $0B64,y[$7E:0B66] $90B44E BB TYX $90B44F 8C DE 0D STY $0DDE [$7E:0DDE] $90B452 22 6F A4 94 JSL $94A46F[$94:A46F] $90B456 9B TXY $90B457 FA PLX $90B458 8E DE 0D STX $0DDE [$7E:0DDE] $90B45B BD 18 0C LDA $0C18,x[$7E:0C18] $90B45E 29 00 0F AND #$0F00 $90B461 C9 00 08 CMP #$0800 $90B464 D0 05 BNE $05 [$B46B] $90B466 BB TYX $90B467 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90B46B 60 RTS $90B46C DA PHX $90B46D BD 64 0B LDA $0B64,x[$7E:0B64] $90B470 18 CLC $90B471 65 12 ADC $12 [$7E:0012] $90B473 99 64 0B STA $0B64,y[$7E:0B66] $90B476 BB TYX $90B477 8C DE 0D STY $0DDE [$7E:0DDE] $90B47A 22 6F A4 94 JSL $94A46F[$94:A46F] $90B47E 9B TXY $90B47F FA PLX $90B480 8E DE 0D STX $0DDE [$7E:0DDE] $90B483 BD 18 0C LDA $0C18,x[$7E:0C18] $90B486 29 00 0F AND #$0F00 $90B489 C9 00 08 CMP #$0800 $90B48C D0 DD BNE $DD [$B46B] $90B48E BB TYX $90B48F 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90B493 60 RTS $90B494 BD 18 0C LDA $0C18,x[$7E:0C18] $90B497 29 00 0F AND #$0F00 $90B49A C9 00 08 CMP #$0800 $90B49D F0 EF BEQ $EF [$B48E] $90B49F BD 64 0B LDA $0B64,x[$7E:0B64] $90B4A2 99 64 0B STA $0B64,y[$7E:0B66] $90B4A5 60 RTS $90B4C9 db 00, 00, 01, 00, 38, 2C, 01, 00, 38, 2C, 01, 00, 38, 2C, 01, 00, 38, 2C, 01, 00, 39, 2C, 01, 00, 39, 2C, 25, B5, 01, 00, 39, 2C, 01, 00, 39, 2C, 25, B5, 01, 00, 3A, 2C, 25, B5, 01, 00, 3A, 2C, 25, B5, 01, 00, 3A, 2C, 25, B5, 01, 00, 3A, 2C, 25, B5, 01, 00, 3A, 2C, 25, B5, 01, 00, 3A, 2C, 25, B5, 01, 00, 3A, 2C, 25, B5, 01, 00, 3A, 2C, 25, B5, 04, 00, 3B, 2C, 00, 00 $90B525 B9 78 D7 LDA $D778,y[$7E:D79A] $90B528 1A INC A $90B529 99 78 D7 STA $D778,y[$7E:D79A] $90B52C 60 RTS $90B52D db 01, 00, 38, 2C, 01, 00, 38, 2C, 01, 00, 38, 2C, 01, 00, 38, 2C, 01, 00, 39, 2C, 01, 00, 39, 2C, 87, B5, 01, 00, 39, 2C, 01, 00, 39, 2C, 87, B5, 01, 00, 3A, 2C, 87, B5, 01, 00, 3A, 2C, 87, B5, 01, 00, 3A, 2C, 87, B5, 01, 00, 3A, 2C, 87, B5, 01, 00, 3A, 2C, 87, B5, 01, 00, 3A, 2C, 87, B5, 01, 00, 3A, 2C, 87, B5, 01, 00, 3A, 2C, 87, B5, 04, 00, 3B, 2C, 00, 00 $90B587 B9 9C D7 LDA $D79C,y[$7E:D7BE] $90B58A 1A INC A $90B58B 99 9C D7 STA $D79C,y[$7E:D7BE] $90B58E 60 RTS $90B5A1 db 04, 00, 48, 2A, 04, 00, 49, 2A, 04, 00, 4A, 2A, 04, 00, 4B, 2A, 00, 00 $90B5BB db C9, B4 $90B5C3 db C9, B4, C9, B4, CB, B4, CB, B4 $90B5CD db C9, B4 $90B5D1 db CB, B4 $90B5E3 db C9, B4, C9, B4 $90B5E9 db CB, B4 $90B5ED db C9, B4 $90B5F1 db CB, B4 $90B5FB db A1, B5, A1, B5 $90B609 db C9, B4 $90B611 db C9, B4, C9, B4, 2D, B5, 2D, B5 $90B61B db C9, B4 $90B61F db 2D, B5 $90B631 db C9, B4, C9, B4 $90B637 db 2D, B5 $90B63B db C9, B4 $90B63F db 2D, B5 $90B649 db C9, B4, C9, B4 $90B657 8B PHB $90B658 BD 18 0C LDA $0C18,x[$7E:0C18] $90B65B 89 00 0F BIT #$0F00 $90B65E D0 05 BNE $05 [$B665] $90B660 29 3F 00 AND #$003F $90B663 80 0D BRA $0D [$B672] $90B665 EB XBA $90B666 29 0F 00 AND #$000F $90B669 C9 03 00 CMP #$0003 $90B66C B0 17 BCS $17 [$B685] $90B66E 18 CLC $90B66F 69 1F 00 ADC #$001F $90B672 0A ASL A $90B673 AA TAX $90B674 F4 7E 7E PEA $7E7E $90B677 AB PLB $90B678 AB PLB $90B679 A0 22 00 LDY #$0022 $90B67C B9 58 D6 LDA $D658,y[$7E:D67A] $90B67F F0 07 BEQ $07 [$B688] $90B681 88 DEY $90B682 88 DEY $90B683 10 F7 BPL $F7 [$B67C] $90B685 AB PLB $90B686 38 SEC $90B687 6B RTL $90B688 A9 01 00 LDA #$0001 $90B68B 99 58 D6 STA $D658,y[$7E:D67A] $90B68E 99 7C D6 STA $D67C,y[$7E:D69E] $90B691 BF BB B5 90 LDA $90B5BB,x[$90:B5FB] $90B695 99 A0 D6 STA $D6A0,y[$7E:D6C2] $90B698 BF 09 B6 90 LDA $90B609,x[$90:B649] $90B69C 99 C4 D6 STA $D6C4,y[$7E:D6E6] $90B69F AE DE 0D LDX $0DDE [$7E:0DDE] $90B6A2 22 CC A3 9B JSL $9BA3CC[$9B:A3CC] $90B6A6 AB PLB $90B6A7 18 CLC $90B6A8 6B RTL $90B6A9 8B PHB $90B6AA F4 7E 7E PEA $7E7E $90B6AD AB PLB $90B6AE AB PLB $90B6AF AD 78 0A LDA $0A78 [$7E:0A78] $90B6B2 F0 03 BEQ $03 [$B6B7] $90B6B4 4C 8F B7 JMP $B78F [$90:B78F] $90B6B7 A0 22 00 LDY #$0022 $90B6BA B9 58 D6 LDA $D658,y[$7E:D67A] $90B6BD F0 61 BEQ $61 [$B720] $90B6BF 3A DEC A $90B6C0 99 58 D6 STA $D658,y[$7E:D67A] $90B6C3 D0 27 BNE $27 [$B6EC] $90B6C5 BE A0 D6 LDX $D6A0,y[$7E:D6C2] $90B6C8 BF 00 00 90 LDA $900000,x[$90:B5A1] $90B6CC 10 0A BPL $0A [$B6D8] $90B6CE E8 INX $90B6CF E8 INX $90B6D0 F4 C7 B6 PEA $B6C7 $90B6D3 85 12 STA $12 [$7E:0012] $90B6D5 6C 12 00 JMP ($0012)[$90:B525] $90B6D8 99 58 D6 STA $D658,y[$7E:D67A] $90B6DB F0 43 BEQ $43 [$B720] $90B6DD BF 02 00 90 LDA $900002,x[$90:B5A3] $90B6E1 99 E8 D6 STA $D6E8,y[$7E:D70A] $90B6E4 8A TXA $90B6E5 18 CLC $90B6E6 69 04 00 ADC #$0004 $90B6E9 99 A0 D6 STA $D6A0,y[$7E:D6C2] $90B6EC AE 90 05 LDX $0590 [$7E:0590] $90B6EF E0 00 02 CPX #$0200 $90B6F2 10 2C BPL $2C [$B720] $90B6F4 B9 30 D7 LDA $D730,y[$7E:D752] $90B6F7 38 SEC $90B6F8 ED 11 09 SBC $0911 [$7E:0911] $90B6FB 89 00 FF BIT #$FF00 $90B6FE D0 20 BNE $20 [$B720] $90B700 9D 70 03 STA $0370,x[$7E:0398] $90B703 B9 78 D7 LDA $D778,y[$7E:D79A] $90B706 38 SEC $90B707 ED 15 09 SBC $0915 [$7E:0915] $90B70A 89 00 FF BIT #$FF00 $90B70D D0 11 BNE $11 [$B720] $90B70F 9D 71 03 STA $0371,x[$7E:0399] $90B712 B9 E8 D6 LDA $D6E8,y[$7E:D70A] $90B715 9D 72 03 STA $0372,x[$7E:039A] $90B718 8A TXA $90B719 18 CLC $90B71A 69 04 00 ADC #$0004 $90B71D 8D 90 05 STA $0590 [$7E:0590] $90B720 B9 7C D6 LDA $D67C,y[$7E:D69E] $90B723 F0 61 BEQ $61 [$B786] $90B725 3A DEC A $90B726 99 7C D6 STA $D67C,y[$7E:D69E] $90B729 D0 27 BNE $27 [$B752] $90B72B BE C4 D6 LDX $D6C4,y[$7E:D6E6] $90B72E BF 00 00 90 LDA $900000,x[$90:B4C9] $90B732 10 0A BPL $0A [$B73E] $90B734 E8 INX $90B735 E8 INX $90B736 F4 2D B7 PEA $B72D $90B739 85 12 STA $12 [$7E:0012] $90B73B 6C 12 00 JMP ($0012)[$90:B587] $90B73E 99 7C D6 STA $D67C,y[$7E:D69E] $90B741 F0 43 BEQ $43 [$B786] $90B743 BF 02 00 90 LDA $900002,x[$90:B52F] $90B747 99 0C D7 STA $D70C,y[$7E:D72E] $90B74A 8A TXA $90B74B 18 CLC $90B74C 69 04 00 ADC #$0004 $90B74F 99 C4 D6 STA $D6C4,y[$7E:D6E6] $90B752 AE 90 05 LDX $0590 [$7E:0590] $90B755 E0 00 02 CPX #$0200 $90B758 10 2C BPL $2C [$B786] $90B75A B9 54 D7 LDA $D754,y[$7E:D776] $90B75D 38 SEC $90B75E ED 11 09 SBC $0911 [$7E:0911] $90B761 89 00 FF BIT #$FF00 $90B764 D0 20 BNE $20 [$B786] $90B766 9D 70 03 STA $0370,x[$7E:03A0] $90B769 B9 9C D7 LDA $D79C,y[$7E:D7BE] $90B76C 38 SEC $90B76D ED 15 09 SBC $0915 [$7E:0915] $90B770 89 00 FF BIT #$FF00 $90B773 D0 11 BNE $11 [$B786] $90B775 9D 71 03 STA $0371,x[$7E:03A1] $90B778 B9 0C D7 LDA $D70C,y[$7E:D72E] $90B77B 9D 72 03 STA $0372,x[$7E:03A2] $90B77E 8A TXA $90B77F 18 CLC $90B780 69 04 00 ADC #$0004 $90B783 8D 90 05 STA $0590 [$7E:0590] $90B786 88 DEY $90B787 88 DEY $90B788 30 03 BMI $03 [$B78D] $90B78A 4C BA B6 JMP $B6BA [$90:B6BA] $90B78D AB PLB $90B78E 6B RTL $90B78F A0 22 00 LDY #$0022 $90B792 AE 90 05 LDX $0590 [$7E:0590] $90B795 E0 00 02 CPX #$0200 $90B798 10 31 BPL $31 [$B7CB] $90B79A B9 58 D6 LDA $D658,y[$7E:D67A] $90B79D F0 2C BEQ $2C [$B7CB] $90B79F B9 30 D7 LDA $D730,y[$7E:D752] $90B7A2 38 SEC $90B7A3 ED 11 09 SBC $0911 [$7E:0911] $90B7A6 89 00 FF BIT #$FF00 $90B7A9 D0 20 BNE $20 [$B7CB] $90B7AB 9D 70 03 STA $0370,x[$7E:03B0] $90B7AE B9 78 D7 LDA $D778,y[$7E:D79A] $90B7B1 38 SEC $90B7B2 ED 15 09 SBC $0915 [$7E:0915] $90B7B5 89 00 FF BIT #$FF00 $90B7B8 D0 11 BNE $11 [$B7CB] $90B7BA 9D 71 03 STA $0371,x[$7E:03B1] $90B7BD B9 E8 D6 LDA $D6E8,y[$7E:D70A] $90B7C0 9D 72 03 STA $0372,x[$7E:03B2] $90B7C3 8A TXA $90B7C4 18 CLC $90B7C5 69 04 00 ADC #$0004 $90B7C8 8D 90 05 STA $0590 [$7E:0590] $90B7CB AE 90 05 LDX $0590 [$7E:0590] $90B7CE E0 00 02 CPX #$0200 $90B7D1 10 31 BPL $31 [$B804] $90B7D3 B9 7C D6 LDA $D67C,y[$7E:D69E] $90B7D6 F0 2C BEQ $2C [$B804] $90B7D8 B9 54 D7 LDA $D754,y[$7E:D776] $90B7DB 38 SEC $90B7DC ED 11 09 SBC $0911 [$7E:0911] $90B7DF 89 00 FF BIT #$FF00 $90B7E2 D0 20 BNE $20 [$B804] $90B7E4 9D 70 03 STA $0370,x[$7E:03B4] $90B7E7 B9 9C D7 LDA $D79C,y[$7E:D7BE] $90B7EA 38 SEC $90B7EB ED 15 09 SBC $0915 [$7E:0915] $90B7EE 89 00 FF BIT #$FF00 $90B7F1 D0 11 BNE $11 [$B804] $90B7F3 9D 71 03 STA $0371,x[$7E:03B5] $90B7F6 B9 0C D7 LDA $D70C,y[$7E:D72E] $90B7F9 9D 72 03 STA $0372,x[$7E:03B6] $90B7FC 8A TXA $90B7FD 18 CLC $90B7FE 69 04 00 ADC #$0004 $90B801 8D 90 05 STA $0590 [$7E:0590] $90B804 88 DEY $90B805 88 DEY $90B806 30 03 BMI $03 [$B80B] $90B808 4C 92 B7 JMP $B792 [$90:B792] $90B80B AB PLB $90B80C 6B RTL ;;; ;;; $90B80D 08 PHP $90B80E C2 30 REP #$30 $90B810 AD D0 0C LDA $0CD0 [$7E:0CD0] $90B813 8D C2 0D STA $0DC2 [$7E:0DC2] $90B816 AD 76 0A LDA $0A76 [$7E:0A76] $90B819 D0 08 BNE $08 [$B823] $90B81B AD A6 09 LDA $09A6 [$7E:09A6] $90B81E 89 00 10 BIT #$1000 $90B821 D0 0A BNE $0A [$B82D] $90B823 A5 8B LDA $8B [$7E:008B] $90B825 2D B2 09 AND $09B2 [$7E:09B2] $90B828 F0 5B BEQ $5B [$B885] $90B82A 4C 87 B8 JMP $B887 [$90:B887] $90B82D AD 5E 0B LDA $0B5E [$7E:0B5E] $90B830 F0 0A BEQ $0A [$B83C] $90B832 AD D0 0C LDA $0CD0 [$7E:0CD0] $90B835 C9 3C 00 CMP #$003C $90B838 10 33 BPL $33 [$B86D] $90B83A 80 28 BRA $28 [$B864] $90B83C A5 8B LDA $8B [$7E:008B] $90B83E 2D B2 09 AND $09B2 [$7E:09B2] $90B841 F0 17 BEQ $17 [$B85A] $90B843 AD D0 0C LDA $0CD0 [$7E:0CD0] $90B846 C9 78 00 CMP #$0078 $90B849 10 2B BPL $2B [$B876] $90B84B 1A INC A $90B84C 8D D0 0C STA $0CD0 [$7E:0CD0] $90B84F C9 01 00 CMP #$0001 $90B852 D0 31 BNE $31 [$B885] $90B854 20 BE BC JSR $BCBE [$90:BCBE] $90B857 4C 87 B8 JMP $B887 [$90:B887] $90B85A AD D0 0C LDA $0CD0 [$7E:0CD0] $90B85D F0 26 BEQ $26 [$B885] $90B85F C9 3C 00 CMP #$003C $90B862 10 09 BPL $09 [$B86D] $90B864 9C D0 0C STZ $0CD0 [$7E:0CD0] $90B867 20 BE BC JSR $BCBE [$90:BCBE] $90B86A 4C 87 B8 JMP $B887 [$90:B887] $90B86D 9C D0 0C STZ $0CD0 [$7E:0CD0] $90B870 20 BE BC JSR $BCBE [$90:BCBE] $90B873 4C 86 B9 JMP $B986 [$90:B986] $90B876 20 C0 CC JSR $CCC0 [$90:CCC0] $90B879 90 0A BCC $0A [$B885] $90B97B ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90B885 28 PLP $90B886 60 RTS ;;; ;;; ; Has code for firing uncharged beams (also used by hyper beam) $90B887 AD 76 0A LDA $0A76 [$7E:0A76] $90B88A F0 03 BEQ $03 [$B88F] $90B88C 4C D1 BC JMP $BCD1 [$90:BCD1] $90B88F 20 39 AC JSR $AC39 [$90:AC39] $90B892 B0 16 BCS $16 [$B8AA] $90B894 AD C2 0D LDA $0DC2 [$7E:0DC2] $90B897 C9 10 00 CMP #$0010 $90B89A 10 02 BPL $02 [$B89E] $90B89C 28 PLP $90B89D 60 RTS $90B89E 9C C0 0D STZ $0DC0 [$7E:0DC0] $90B8A1 A9 02 00 LDA #$0002 $90B8A4 22 21 90 80 JSL $809021[$80:9021] $90B8A8 28 PLP $90B8A9 60 RTS $90B8AA A2 00 00 LDX #$0000 $90B8AD BD 2C 0C LDA $0C2C,x[$7E:0C2C] $90B8B0 F0 09 BEQ $09 [$B8BB] $90B8B2 E8 INX $90B8B3 E8 INX $90B8B4 E0 0A 00 CPX #$000A $90B8B7 30 F4 BMI $F4 [$B8AD] $90B8BB 86 14 STX $14 [$7E:0014] $90B8BD 20 56 BA JSR $BA56 [$90:BA56] $90B8C0 B0 D2 BCS $D2 [$B894] $90B8C2 A9 0A 00 LDA #$000A $90B8C5 8D AC 18 STA $18AC [$7E:18AC] $90B8C8 A6 14 LDX $14 [$7E:0014] $90B8CA A9 04 00 LDA #$0004 $90B8CD 9D 90 0C STA $0C90,x[$7E:0C90] $90B8D0 AD A6 09 LDA $09A6 [$7E:09A6] $90B8D3 09 00 80 ORA #$8000 $90B8D6 9D 18 0C STA $0C18,x[$7E:0C18] $90B8D9 29 0F 00 AND #$000F $90B8DC 0A ASL A $90B8DD A8 TAY $90B8DE B9 8F C2 LDA $C28F,y[$90:C28F] $90B8E1 22 21 90 80 JSL $809021[$80:9021] $90B8E5 9C C0 0D STZ $0DC0 [$7E:0DC0] $90B8E8 22 00 80 93 JSL $938000[$93:8000] $90B8EC AD A6 09 LDA $09A6 [$7E:09A6] $90B8EF 89 00 10 BIT #$1000 $90B8F2 D0 28 BNE $28 [$B91C] $90B8F4 A5 8F LDA $8F [$7E:008F] $90B8F6 2C B2 09 BIT $09B2 [$7E:09B2] $90B8F9 D0 21 BNE $21 [$B91C] $90B8FB AD 00 0E LDA $0E00 [$7E:0E00] $90B8FE 2C B2 09 BIT $09B2 [$7E:09B2] $90B901 D0 19 BNE $19 [$B91C] $90B903 BD 18 0C LDA $0C18,x[$7E:0C1A] $90B906 48 PHA $90B907 29 3F 00 AND #$003F $90B90A A8 TAY $90B90B B9 83 C2 LDA $C283,y[$90:C283] $90B90E 29 FF 00 AND #$00FF $90B911 8D CC 0C STA $0CCC [$7E:0CCC] $90B914 68 PLA $90B915 89 01 00 BIT #$0001 $90B918 D0 32 BNE $32 [$B94C] $90B91A 80 17 BRA $17 [$B933] $90B91C BD 18 0C LDA $0C18,x[$7E:0C18] $90B91F 48 PHA $90B920 29 3F 00 AND #$003F $90B923 A8 TAY $90B924 B9 54 C2 LDA $C254,y[$90:C254] $90B927 29 FF 00 AND #$00FF $90B92A 8D CC 0C STA $0CCC [$7E:0CCC] $90B92D 68 PLA $90B92E 89 01 00 BIT #$0001 $90B931 D0 19 BNE $19 [$B94C] $90B933 9E DC 0B STZ $0BDC,x[$7E:0BDC] $90B936 9E F0 0B STZ $0BF0,x[$7E:0BF0] $90B939 8E DE 0D STX $0DDE [$7E:0DDE] $90B93C 20 64 BD JSR $BD64 [$90:BD64] $90B93F AE DE 0D LDX $0DDE [$7E:0DDE] $90B942 BD 18 0C LDA $0C18,x[$7E:0C18] $90B945 89 00 0F BIT #$0F00 $90B948 D0 22 BNE $22 [$B96C] $90B94A 80 0C BRA $0C [$B958] $90B94C 9E DC 0B STZ $0BDC,x[$7E:0BDC] $90B94F 9E F0 0B STZ $0BF0,x[$7E:0BF0] $90B952 8E DE 0D STX $0DDE [$7E:0DDE] $90B955 20 B2 BD JSR $BDB2 [$90:BDB2] $90B958 86 14 STX $14 [$7E:0014] $90B95A BD 18 0C LDA $0C18,x[$7E:0C18] $90B95D 29 0F 00 AND #$000F $90B960 0A ASL A $90B961 A8 TAY $90B962 B9 6E B9 LDA $B96E,y[$90:B96E] $90B965 9D 68 0C STA $0C68,x[$7E:0C68] $90B968 22 97 B1 90 JSL $90B197[$90:B197] $90B96C 28 PLP $90B96D 60 RTS $90B96E db F3, AE $90B976 db F3, AE, C3, B0, F3, AE, C3, B0 $90B980 db C3, B0 $90B984 db C3, B0 ;;; ;;; ; Has code for firing charged beams $90B986 20 39 AC JSR $AC39 [$90:AC39] $90B989 B0 16 BCS $16 [$B9A1] $90B9A1 A2 00 00 LDX #$0000 $90B9A4 BD 2C 0C LDA $0C2C,x[$7E:0C2C] $90B9A7 F0 09 BEQ $09 [$B9B2] $90B9B2 86 14 STX $14 [$7E:0014] $90B9B4 20 56 BA JSR $BA56 [$90:BA56] $90B9B7 B0 D2 BCS $D2 [$B98B] $90B9B9 A9 0A 00 LDA #$000A $90B9BC 8D AC 18 STA $18AC [$7E:18AC] $90B9BF A6 14 LDX $14 [$7E:0014] $90B9C1 A9 04 00 LDA #$0004 $90B9C4 9D 90 0C STA $0C90,x[$7E:0C90] $90B9C7 AD A6 09 LDA $09A6 [$7E:09A6] $90B9CA 29 0F 10 AND #$100F $90B9CD 09 10 80 ORA #$8010 $90B9D0 9D 18 0C STA $0C18,x[$7E:0C18] $90B9D3 29 0F 00 AND #$000F $90B9D6 0A ASL A $90B9D7 A8 TAY $90B9D8 B9 A7 C2 LDA $C2A7,y[$90:C2AF] $90B9DB 22 21 90 80 JSL $809021[$80:9021] $90B9DF 9C C0 0D STZ $0DC0 [$7E:0DC0] $90B9E2 22 00 80 93 JSL $938000[$93:8000] $90B9E6 BD 18 0C LDA $0C18,x[$7E:0C18] $90B9E9 48 PHA $90B9EA 29 3F 00 AND #$003F $90B9ED A8 TAY $90B9EE B9 54 C2 LDA $C254,y[$90:C268] $90B9F1 29 FF 00 AND #$00FF $90B9F4 8D CC 0C STA $0CCC [$7E:0CCC] $90B9F7 68 PLA $90B9F8 89 01 00 BIT #$0001 $90B9FB D0 19 BNE $19 [$BA16] $90B9FD 9E DC 0B STZ $0BDC,x[$7E:0BDC] $90BA00 9E F0 0B STZ $0BF0,x[$7E:0BF0] $90BA03 8E DE 0D STX $0DDE [$7E:0DDE] $90BA06 20 64 BD JSR $BD64 [$90:BD64] $90BA09 AE DE 0D LDX $0DDE [$7E:0DDE] $90BA0C BD 18 0C LDA $0C18,x[$7E:0C18] $90BA0F 89 00 0F BIT #$0F00 $90BA12 D0 22 BNE $22 [$BA36] $90BA14 80 0C BRA $0C [$BA22] $90BA16 9E DC 0B STZ $0BDC,x[$7E:0BDC] $90BA19 9E F0 0B STZ $0BF0,x[$7E:0BF0] $90BA1C 8E DE 0D STX $0DDE [$7E:0DDE] $90BA1F 20 B2 BD JSR $BDB2 [$90:BDB2] $90BA22 86 14 STX $14 [$7E:0014] $90BA24 BD 18 0C LDA $0C18,x[$7E:0C18] $90BA27 29 0F 00 AND #$000F $90BA2A 0A ASL A $90BA2B A8 TAY $90BA2C B9 3E BA LDA $BA3E,y[$90:BA46] $90BA2F 9D 68 0C STA $0C68,x[$7E:0C68] $90BA32 22 97 B1 90 JSL $90B197[$90:B197] $90BA36 A9 04 00 LDA #$0004 $90BA39 8D 18 0B STA $0B18 [$7E:0B18] $90BA3C 28 PLP $90BA3D 60 RTS $90BA46 db F3, AE, C3, B0 $90BA4C db C3, B0 $90BA50 db C3, B0 $90BA54 db C3, B0 ;;; ;;; ; Has a *ton* of code, to find out if Samus can fire a beam in her current position. ; If so, place the beam where it should start, and make it travel in the correct direction. ; Might do more, but that's what I got from a glance through $90BA56 AD 1C 0A LDA $0A1C [$7E:0A1C] $90BA59 0A ASL A $90BA5A 0A ASL A $90BA5B 0A ASL A $90BA5C AA TAX $90BA5D A4 14 LDY $14 [$7E:0014] $90BA5F AD 5E 0B LDA $0B5E [$7E:0B5E] $90BA62 F0 08 BEQ $08 [$BA6C] $90BA64 29 FF 00 AND #$00FF $90BA67 9C 5E 0B STZ $0B5E [$7E:0B5E] $90BA6A 80 14 BRA $14 [$BA80] $90BA6C BF 2C B6 91 LDA $91B62C,x[$91:B63C] $90BA70 29 FF 00 AND #$00FF $90BA73 89 F0 00 BIT #$00F0 $90BA76 F0 08 BEQ $08 [$BA80] $90BA80 99 04 0C STA $0C04,y[$7E:0C04] $90BA83 BF 2D B6 91 LDA $91B62D,x[$91:B63D] $90BA87 29 FF 00 AND #$00FF $90BA8A 85 16 STA $16 [$7E:0016] $90BA8C B9 04 0C LDA $0C04,y[$7E:0C04] $90BA8F 29 0F 00 AND #$000F $90BA92 0A ASL A $90BA93 AA TAX $90BA94 AD 1C 0A LDA $0A1C [$7E:0A1C] $90BA97 C9 75 00 CMP #$0075 $90BA9A F0 29 BEQ $29 [$BAC5] $90BA9C C9 76 00 CMP #$0076 $90BA9F F0 24 BEQ $24 [$BAC5] $90BAA1 AD 1F 0A LDA $0A1F [$7E:0A1F] $90BAA4 29 FF 00 AND #$00FF $90BAA7 C9 01 00 CMP #$0001 $90BAAA F0 19 BEQ $19 [$BAC5] $90BAAC BD 04 C2 LDA $C204,x[$90:C212] $90BAAF 18 CLC $90BAB0 6D F6 0A ADC $0AF6 [$7E:0AF6] $90BAB3 99 64 0B STA $0B64,y[$7E:0B64] $90BAB6 BD 18 C2 LDA $C218,x[$90:C226] $90BAB9 18 CLC $90BABA 6D FA 0A ADC $0AFA [$7E:0AFA] $90BABD 38 SEC $90BABE E5 16 SBC $16 [$7E:0016] $90BAC0 99 78 0B STA $0B78,y[$7E:0B78] $90BAC3 18 CLC $90BAC4 60 RTS $90BAC5 BD 2C C2 LDA $C22C,x[$90:C23C] $90BAC8 18 CLC $90BAC9 6D F6 0A ADC $0AF6 [$7E:0AF6] $90BACC 99 64 0B STA $0B64,y[$7E:0B64] $90BACF BD 40 C2 LDA $C240,x[$90:C250] $90BAD2 18 CLC $90BAD3 6D FA 0A ADC $0AFA [$7E:0AFA] $90BAD6 38 SEC $90BAD7 E5 16 SBC $16 [$7E:0016] $90BAD9 99 78 0B STA $0B78,y[$7E:0B78] $90BADC 18 CLC $90BADD 60 RTS $90BAFC 08 PHP $90BAFD C2 30 REP #$30 $90BAFF AD 76 0A LDA $0A76 [$7E:0A76] $90BB02 D0 09 BNE $09 [$BB0D] $90BB04 AD D0 0C LDA $0CD0 [$7E:0CD0] $90BB07 F0 02 BEQ $02 [$BB0B] $90BB09 10 05 BPL $05 [$BB10] $90BB0B 28 PLP $90BB0C 60 RTS $90BB0D 4C B2 BB JMP $BBB2 [$90:BBB2] $90BB10 C9 01 00 CMP #$0001 $90BB13 D0 1B BNE $1B [$BB30] $90BB15 9C D6 0C STZ $0CD6 [$7E:0CD6] $90BB18 9C D8 0C STZ $0CD8 [$7E:0CD8] $90BB1B 9C DA 0C STZ $0CDA [$7E:0CDA] $90BB1E A9 03 00 LDA #$0003 $90BB21 8D DC 0C STA $0CDC [$7E:0CDC] $90BB24 A9 05 00 LDA #$0005 $90BB27 8D DE 0C STA $0CDE [$7E:0CDE] $90BB2A A9 04 00 LDA #$0004 $90BB2D 8D E0 0C STA $0CE0 [$7E:0CE0] $90BB30 AD D0 0C LDA $0CD0 [$7E:0CD0] $90BB33 C9 0F 00 CMP #$000F $90BB36 10 03 BPL $03 [$BB3B] $90BB38 4C B0 BB JMP $BBB0 [$90:BBB0] $90BB3B C9 10 00 CMP #$0010 $90BB3E D0 07 BNE $07 [$BB47] $90BB40 A9 08 00 LDA #$0008 $90BB43 22 2B 90 80 JSL $80902B[$80:902B] $90BB47 A2 00 00 LDX #$0000 $90BB4A E2 20 SEP #$20 $90BB4C A9 90 LDA #$90 $90BB4E 85 02 STA $02 [$7E:0002] $90BB50 C2 20 REP #$20 $90BB52 BD DC 0C LDA $0CDC,x[$7E:0CDC] $90BB55 3A DEC A $90BB56 9D DC 0C STA $0CDC,x[$7E:0CDC] $90BB59 10 41 BPL $41 [$BB9C] $90BB5B BD D6 0C LDA $0CD6,x[$7E:0CD6] $90BB5E 1A INC A $90BB5F 9D D6 0C STA $0CD6,x[$7E:0CD6] $90BB62 A8 TAY $90BB63 BD 81 C4 LDA $C481,x[$90:C481] $90BB66 85 00 STA $00 [$7E:0000] $90BB68 B7 00 LDA [$00],y[$90:C488] $90BB6A 29 FF 00 AND #$00FF $90BB6D C9 FF 00 CMP #$00FF $90BB70 F0 07 BEQ $07 [$BB79] $90BB72 C9 FE 00 CMP #$00FE $90BB75 F0 0B BEQ $0B [$BB82] $90BB77 80 1B BRA $1B [$BB94] $90BB79 A9 00 00 LDA #$0000 $90BB7C 9D D6 0C STA $0CD6,x[$7E:0CDA] $90BB7F A8 TAY $90BB80 80 12 BRA $12 [$BB94] $90BB82 C8 INY $90BB83 B7 00 LDA [$00],y[$90:C4A6] $90BB85 29 FF 00 AND #$00FF $90BB88 85 12 STA $12 [$7E:0012] $90BB8A BD D6 0C LDA $0CD6,x[$7E:0CD6] $90BB8D 38 SEC $90BB8E E5 12 SBC $12 [$7E:0012] $90BB90 9D D6 0C STA $0CD6,x[$7E:0CD6] $90BB93 A8 TAY $90BB94 B7 00 LDA [$00],y[$90:C488] $90BB96 29 FF 00 AND #$00FF $90BB99 9D DC 0C STA $0CDC,x[$7E:0CDC] $90BB9C DA PHX $90BB9D 20 E1 BB JSR $BBE1 [$90:BBE1] $90BBA0 FA PLX $90BBA1 AD D0 0C LDA $0CD0 [$7E:0CD0] $90BBA4 C9 1E 00 CMP #$001E $90BBA7 30 07 BMI $07 [$BBB0] $90BBA9 E8 INX $90BBAA E8 INX $90BBAB E0 06 00 CPX #$0006 $90BBAE 30 9A BMI $9A [$BB4A] $90BBB0 28 PLP $90BBB1 60 RTS $90BBB2 AD D0 0C LDA $0CD0 [$7E:0CD0] $90BBB5 F0 28 BEQ $28 [$BBDF] $90BBB7 A2 04 00 LDX #$0004 $90BBBA DE DC 0C DEC $0CDC,x[$7E:0CE0] $90BBBD F0 02 BEQ $02 [$BBC1] $90BBBF 10 15 BPL $15 [$BBD6] $90BBC1 DE D6 0C DEC $0CD6,x[$7E:0CDA] $90BBC4 D0 0A BNE $0A [$BBD0] $90BBC6 E0 04 00 CPX #$0004 $90BBC9 D0 0B BNE $0B [$BBD6] $90BBCB 9C D0 0C STZ $0CD0 [$7E:0CD0] $90BBCE 80 06 BRA $06 [$BBD6] $90BBD0 A9 03 00 LDA #$0003 $90BBD3 9D DC 0C STA $0CDC,x[$7E:0CE0] $90BBD6 DA PHX $90BBD7 20 E1 BB JSR $BBE1 [$90:BBE1] $90BBDA FA PLX $90BBDB CA DEX $90BBDC CA DEX $90BBDD 10 DB BPL $DB [$BBBA] $90BBDF 28 PLP $90BBE0 60 RTS $90BBE1 08 PHP $90BBE2 E2 20 SEP #$20 $90BBE4 A9 93 LDA #$93 $90BBE6 85 02 STA $02 [$7E:0002] $90BBE8 C2 30 REP #$30 $90BBEA BD D6 0C LDA $0CD6,x[$7E:0CD6] $90BBED 29 FF 00 AND #$00FF $90BBF0 85 12 STA $12 [$7E:0012] $90BBF2 AD 1E 0A LDA $0A1E [$7E:0A1E] $90BBF5 29 FF 00 AND #$00FF $90BBF8 C9 04 00 CMP #$0004 $90BBFB F0 0B BEQ $0B [$BC08] $90BBFD BF 25 A2 93 LDA $93A225,x[$93:A225] $90BC01 18 CLC $90BC02 65 12 ADC $12 [$7E:0012] $90BC04 85 16 STA $16 [$7E:0016] $90BC06 80 09 BRA $09 [$BC11] $90BC08 BF 2B A2 93 LDA $93A22B,x[$93:A22B] $90BC0C 18 CLC $90BC0D 65 12 ADC $12 [$7E:0012] $90BC0F 85 16 STA $16 [$7E:0016] $90BC11 AD 1C 0A LDA $0A1C [$7E:0A1C] $90BC14 0A ASL A $90BC15 0A ASL A $90BC16 0A ASL A $90BC17 AA TAX $90BC18 BF 2D B6 91 LDA $91B62D,x[$91:B6CD] $90BC1C 29 FF 00 AND #$00FF $90BC1F 85 18 STA $18 [$7E:0018] $90BC21 BF 2C B6 91 LDA $91B62C,x[$91:B6CC] $90BC25 29 FF 00 AND #$00FF $90BC28 C9 FF 00 CMP #$00FF $90BC2B F0 0A BEQ $0A [$BC37] $90BC2D C9 10 00 CMP #$0010 $90BC30 F0 05 BEQ $05 [$BC37] $90BC32 C9 10 00 CMP #$0010 $90BC35 D0 02 BNE $02 [$BC39] $90BC37 28 PLP $90BC38 60 RTS $90BC39 29 0F 00 AND #$000F $90BC3C 0A ASL A $90BC3D AA TAX $90BC3E AD 3F 09 LDA $093F [$7E:093F] $90BC41 10 10 BPL $10 [$BC53] $90BC53 AD 1F 0A LDA $0A1F [$7E:0A1F] $90BC56 29 FF 00 AND #$00FF $90BC59 C9 01 00 CMP #$0001 $90BC5C F0 1E BEQ $1E [$BC7C] $90BC5E BD A8 C1 LDA $C1A8,x[$90:C1B6] $90BC61 18 CLC $90BC62 6D F6 0A ADC $0AF6 [$7E:0AF6] $90BC65 38 SEC $90BC66 ED 11 09 SBC $0911 [$7E:0911] $90BC69 85 14 STA $14 [$7E:0014] $90BC6B BD C2 C1 LDA $C1C2,x[$90:C1D0] $90BC6E 18 CLC $90BC6F 6D FA 0A ADC $0AFA [$7E:0AFA] $90BC72 38 SEC $90BC73 E5 18 SBC $18 [$7E:0018] $90BC75 ED 15 09 SBC $0915 [$7E:0915] $90BC78 85 12 STA $12 [$7E:0012] $90BC7A 80 1C BRA $1C [$BC98] $90BC7C BD DC C1 LDA $C1DC,x[$90:C1E0] $90BC7F 18 CLC $90BC80 6D F6 0A ADC $0AF6 [$7E:0AF6] $90BC83 38 SEC $90BC84 ED 11 09 SBC $0911 [$7E:0911] $90BC87 85 14 STA $14 [$7E:0014] $90BC89 BD F0 C1 LDA $C1F0,x[$90:C1F4] $90BC8C 18 CLC $90BC8D 6D FA 0A ADC $0AFA [$7E:0AFA] $90BC90 38 SEC $90BC91 E5 18 SBC $18 [$7E:0018] $90BC93 ED 15 09 SBC $0915 [$7E:0915] $90BC96 85 12 STA $12 [$7E:0012] $90BC98 29 00 FF AND #$FF00 $90BC9B D0 08 BNE $08 [$BCA5] $90BC9D A5 16 LDA $16 [$7E:0016] $90BC9F 22 37 8A 81 JSL $818A37[$81:8A37] $90BCA3 80 06 BRA $06 [$BCAB] $90BCAB AD 3F 09 LDA $093F [$7E:093F] $90BCAE 10 0C BPL $0C [$BCBC] $90BCBC 28 PLP $90BCBD 60 RTS ;;; ;;; $90BCBE 9C D6 0C STZ $0CD6 [$7E:0CD6] $90BCC1 9C D8 0C STZ $0CD8 [$7E:0CD8] $90BCC4 9C DA 0C STZ $0CDA [$7E:0CDA] $90BCC7 9C DC 0C STZ $0CDC [$7E:0CDC] $90BCCA 9C DE 0C STZ $0CDE [$7E:0CDE] $90BCCD 9C E0 0C STZ $0CE0 [$7E:0CE0] $90BCD0 60 RTS ;;; ;;; ; Has code for firing hyper beams $90BCD1 20 39 AC JSR $AC39 [$90:AC39] $90BCD4 B0 02 BCS $02 [$BCD8] $90BCD6 28 PLP $90BCD7 60 RTS $90BCD8 A2 00 00 LDX #$0000 $90BCDB BD 2C 0C LDA $0C2C,x[$7E:0C2C] $90BCDE F0 09 BEQ $09 [$BCE9] $90BCE0 E8 INX $90BCE1 E8 INX $90BCE2 E0 0A 00 CPX #$000A $90BCE5 30 F4 BMI $F4 [$BCDB] $90BCE9 86 14 STX $14 [$7E:0014] $90BCEB 20 56 BA JSR $BA56 [$90:BA56] $90BCEE B0 72 BCS $72 [$BD62] $90BCF0 A9 0A 00 LDA #$000A $90BCF3 8D AC 18 STA $18AC [$7E:18AC] $90BCF6 A6 14 LDX $14 [$7E:0014] $90BCF8 DA PHX $90BCF9 A9 18 90 LDA #$9018 $90BCFC 9D 18 0C STA $0C18,x[$7E:0C18] $90BCFF 29 0F 00 AND #$000F $90BD02 0A ASL A $90BD03 AA TAX $90BD04 BD A7 C2 LDA $C2A7,x[$90:C2B7] $90BD07 22 21 90 80 JSL $809021[$80:9021] $90BD0B 9C C0 0D STZ $0DC0 [$7E:0DC0] $90BD0E FA PLX $90BD0F 22 00 80 93 JSL $938000[$93:8000] $90BD13 9E DC 0B STZ $0BDC,x[$7E:0BDC] $90BD16 9E F0 0B STZ $0BF0,x[$7E:0BF0] $90BD19 8E DE 0D STX $0DDE [$7E:0DDE] $90BD1C 20 B2 BD JSR $BDB2 [$90:BDB2] $90BD1F AE DE 0D LDX $0DDE [$7E:0DDE] $90BD22 AF BF 83 93 LDA $9383BF[$93:83BF] $90BD26 9D 2C 0C STA $0C2C,x[$7E:0C2C] $90BD29 A9 59 B1 LDA #$B159 $90BD2C 9D 68 0C STA $0C68,x[$7E:0C68] $90BD2F 86 14 STX $14 [$7E:0014] $90BD31 22 97 B1 90 JSL $90B197[$90:B197] $90BD35 A9 15 00 LDA #$0015 $90BD38 8D CC 0C STA $0CCC [$7E:0CCC] $90BD3B A9 14 80 LDA #$8014 $90BD3E 8D 18 0B STA $0B18 [$7E:0B18] $90BD41 A9 1D 00 LDA #$001D $90BD44 8D D6 0C STA $0CD6 [$7E:0CD6] $90BD47 A9 05 00 LDA #$0005 $90BD4A 8D D8 0C STA $0CD8 [$7E:0CD8] $90BD4D 8D DA 0C STA $0CDA [$7E:0CDA] $90BD50 A9 03 00 LDA #$0003 $90BD53 8D DC 0C STA $0CDC [$7E:0CDC] $90BD56 8D DE 0C STA $0CDE [$7E:0CDE] $90BD59 8D E0 0C STA $0CE0 [$7E:0CE0] $90BD5C A9 00 80 LDA #$8000 $90BD5F 8D D0 0C STA $0CD0 [$7E:0CD0] $90BD62 28 PLP $90BD63 60 RTS ;;; ;;; ; Goes to a routine depending on the direction. Seems to check for point-blank collisions (fails at GGG) $90BD64 DA PHX $90BD65 BD 04 0C LDA $0C04,x[$7E:0C04] $90BD68 29 0F 00 AND #$000F $90BD6B 0A ASL A $90BD6C AA TAX $90BD6D FC 72 BD JSR ($BD72,x)[$90:BD8E] $90BD70 FA PLX $90BD71 60 RTS $90BD72 db 86 $90BD74 db 8E $90BD76 db 9C $90BD78 db 8E $90BD7A db 86 $90BD7C db 86 $90BD7E db 8E $90BD80 db A4 $90BD82 db 8E $90BD84 db 86 $90BD86 AE DE 0D LDX $0DDE [$7E:0DDE] $90BD89 22 CA A2 94 JSL $94A2CA[$94:A2CA] $90BD8D 60 RTS $90BD8E AE DE 0D LDX $0DDE [$7E:0DDE] $90BD91 22 3B A2 94 JSL $94A23B[$94:A23B] $90BD95 B0 04 BCS $04 [$BD9B] $90BD97 22 CA A2 94 JSL $94A2CA[$94:A2CA] $90BD9B 60 RTS $90BD9C AE DE 0D LDX $0DDE [$7E:0DDE] $90BD9F 22 3B A2 94 JSL $94A23B[$94:A23B] $90BDA3 60 RTS $90BDA4 AE DE 0D LDX $0DDE [$7E:0DDE] $90BDA7 A9 FF FF LDA #$FFFF $90BDAA 9D DC 0B STA $0BDC,x[$7E:0BDC] $90BDAD 22 3B A2 94 JSL $94A23B[$94:A23B] $90BDB1 60 RTS ;;; ;;; ; Goes to a routine depending on the direction, when Samus has the wave beam equipped. ; Probably checks for point-blank collisions with enemies? Pure guess $90BDB2 DA PHX $90BDB3 BD 04 0C LDA $0C04,x[$7E:0C04] $90BDB6 29 0F 00 AND #$000F $90BDB9 0A ASL A $90BDBA AA TAX $90BDBB FC C0 BD JSR ($BDC0,x)[$90:BDF2] $90BDBE FA PLX $90BDBF 60 RTS $90BDC0 db D4 $90BDC2 db DC $90BDC4 db EA $90BDC6 db DC $90BDC8 db D4 $90BDCA db D4 $90BDCC db DC $90BDCE db F2 $90BDD0 db DC $90BDD2 db D4 $90BDD4 AE DE 0D LDX $0DDE [$7E:0DDE] $90BDD7 22 E4 A3 94 JSL $94A3E4[$94:A3E4] $90BDDB 60 RTS $90BDDC AE DE 0D LDX $0DDE [$7E:0DDE] $90BDDF 22 52 A3 94 JSL $94A352[$94:A352] $90BDE3 B0 04 BCS $04 [$BDE9] $90BDE5 22 E4 A3 94 JSL $94A3E4[$94:A3E4] $90BDE9 60 RTS $90BDEA AE DE 0D LDX $0DDE [$7E:0DDE] $90BDED 22 52 A3 94 JSL $94A352[$94:A352] $90BDF1 60 RTS $90BDF2 AE DE 0D LDX $0DDE [$7E:0DDE] $90BDF5 A9 FF FF LDA #$FFFF $90BDF8 9D DC 0B STA $0BDC,x[$7E:0BDC] $90BDFB 22 52 A3 94 JSL $94A352[$94:A352] $90BDFF 60 RTS ;;; Projectile reflection ;;; $90BE00 08 PHP $90BE01 8B PHB $90BE02 4B PHK $90BE03 AB PLB $90BE04 C2 30 REP #$30 $90BE06 DA PHX $90BE07 A6 14 LDX $14 [$7E:0014] $90BE09 BD 18 0C LDA $0C18,x[$7E:0C18] $90BE0C 89 00 01 BIT #$0100 $90BE0F D0 1E BNE $1E [$BE2F] $90BE11 89 00 02 BIT #$0200 $90BE14 D0 2B BNE $2B [$BE41] $90BE16 22 97 B1 90 JSL $90B197[$90:B197] $90BE1A 22 00 80 93 JSL $938000[$93:8000] $90BE1E BD 18 0C LDA $0C18,x[$7E:0C18] $90BE21 29 0F 00 AND #$000F $90BE24 0A ASL A $90BE25 A8 TAY $90BE26 B9 3E BA LDA $BA3E,y[$90:BA50] $90BE29 9D 68 0C STA $0C68,x[$7E:0C68] $90BE2C 9B TXY $90BE2D 80 2F BRA $2F [$BE5E] $90BE2F ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90BE41 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90BE5E FA PLX $90BE5F AB PLB $90BE60 28 PLP $90BE61 6B RTL ;;; ;;; $90BE62 08 PHP $90BE63 C2 30 REP #$30 $90BE65 A5 8F LDA $8F [$7E:008F] $90BE67 2C B2 09 BIT $09B2 [$7E:09B2] $90BE6A D0 0A BNE $0A [$BE76] $90BE6C AD 00 0E LDA $0E00 [$7E:0E00] $90BE6F 2C B2 09 BIT $09B2 [$7E:09B2] $90BE72 D0 02 BNE $02 [$BE76] $90BE74 28 PLP $90BE75 60 RTS $90BE76 20 5A AC JSR $AC5A [$90:AC5A] $90BE79 B0 07 BCS $07 [$BE82] $90BE7B 28 PLP $90BE7C 60 RTS $90BE82 AD D2 09 LDA $09D2 [$7E:09D2] $90BE85 C9 02 00 CMP #$0002 $90BE88 F0 07 BEQ $07 [$BE91] $90BE8A AD C6 09 LDA $09C6 [$7E:09C6] $90BE8D F0 EE BEQ $EE [$BE7D] $90BE8F 80 05 BRA $05 [$BE96] $90BE91 AD CA 09 LDA $09CA [$7E:09CA] $90BE94 F0 E7 BEQ $E7 [$BE7D] $90BE96 A2 00 00 LDX #$0000 $90BE99 BD 2C 0C LDA $0C2C,x[$7E:0C2C] $90BE9C F0 09 BEQ $09 [$BEA7] $90BE9E E8 INX $90BE9F E8 INX $90BEA0 E0 0A 00 CPX #$000A $90BEA3 30 F4 BMI $F4 [$BE99] $90BEA7 86 14 STX $14 [$7E:0014] $90BEA9 20 56 BA JSR $BA56 [$90:BA56] $90BEAC 90 03 BCC $03 [$BEB1] $90BEB1 A9 14 00 LDA #$0014 $90BEB4 8D AC 18 STA $18AC [$7E:18AC] $90BEB7 AD D2 09 LDA $09D2 [$7E:09D2] $90BEBA C9 02 00 CMP #$0002 $90BEBD F0 05 BEQ $05 [$BEC4] $90BEBF CE C6 09 DEC $09C6 [$7E:09C6] $90BEC2 80 03 BRA $03 [$BEC7] $90BEC4 CE CA 09 DEC $09CA [$7E:09CA] $90BEC7 A6 14 LDX $14 [$7E:0014] $90BEC9 A9 04 00 LDA #$0004 $90BECC 9D 90 0C STA $0C90,x[$7E:0C90] $90BECF AD D2 09 LDA $09D2 [$7E:09D2] $90BED2 48 PHA $90BED3 EB XBA $90BED4 85 12 STA $12 [$7E:0012] $90BED6 BD 18 0C LDA $0C18,x[$7E:0C18] $90BED9 05 12 ORA $12 [$7E:0012] $90BEDB 09 00 80 ORA #$8000 $90BEDE 9D 18 0C STA $0C18,x[$7E:0C18] $90BEE1 68 PLA $90BEE2 29 0F 00 AND #$000F $90BEE5 0A ASL A $90BEE6 AA TAX $90BEE7 AD 51 1F LDA $1F51 [$7E:1F51] $90BEEA D0 07 BNE $07 [$BEF3] $90BEEC BD BF C2 LDA $C2BF,x[$90:C2C1] $90BEEF 22 49 90 80 JSL $809049[$80:9049] $90BEF3 20 DD B1 JSR $B1DD [$90:B1DD] $90BEF6 22 00 80 93 JSL $938000[$93:8000] $90BEFA BD 18 0C LDA $0C18,x[$7E:0C18] $90BEFD 48 PHA $90BEFE 89 00 02 BIT #$0200 $90BF01 D0 08 BNE $08 [$BF0B] $90BF03 A9 68 AF LDA #$AF68 $90BF06 9D 68 0C STA $0C68,x[$7E:0C68] $90BF09 80 06 BRA $06 [$BF11] $90BF0B A9 E5 AF LDA #$AFE5 $90BF0E 9D 68 0C STA $0C68,x[$7E:0C68] $90BF11 68 PLA $90BF12 EB XBA $90BF13 29 0F 00 AND #$000F $90BF16 A8 TAY $90BF17 B9 7A C2 LDA $C27A,y[$90:C27B] $90BF1A 29 FF 00 AND #$00FF $90BF1D 8D CC 0C STA $0CCC [$7E:0CCC] $90BF20 AD 04 0A LDA $0A04 [$7E:0A04] $90BF23 F0 08 BEQ $08 [$BF2D] $90BF25 9C D2 09 STZ $09D2 [$7E:09D2] $90BF28 9C 04 0A STZ $0A04 [$7E:0A04] $90BF2B 80 17 BRA $17 [$BF44] $90BF2D AD D2 09 LDA $09D2 [$7E:09D2] $90BF30 C9 02 00 CMP #$0002 $90BF33 F0 07 BEQ $07 [$BF3C] $90BF35 AD C6 09 LDA $09C6 [$7E:09C6] $90BF38 D0 0A BNE $0A [$BF44] $90BF3A 80 05 BRA $05 [$BF41] $90BF3C AD CA 09 LDA $09CA [$7E:09CA] $90BF3F D0 03 BNE $03 [$BF44] $90BF41 9C D2 09 STZ $09D2 [$7E:09D2] $90BF44 28 PLP $90BF45 60 RTS $90BF46 A2 00 00 LDX #$0000 $90BF49 BD 2C 0C LDA $0C2C,x[$7E:0C2C] $90BF4C F0 09 BEQ $09 [$BF57] $90BF4E E8 INX $90BF4F E8 INX $90BF50 E0 0A 00 CPX #$000A $90BF53 30 F4 BMI $F4 [$BF49] $90BF57 86 14 STX $14 [$7E:0014] $90BF59 9B TXY $90BF5A B9 18 0C LDA $0C18,y[$7E:0C1A] $90BF5D 09 00 82 ORA #$8200 $90BF60 99 18 0C STA $0C18,y[$7E:0C1A] $90BF63 AE DE 0D LDX $0DDE [$7E:0DDE] $90BF66 BD 64 0B LDA $0B64,x[$7E:0B64] $90BF69 99 64 0B STA $0B64,y[$7E:0B66] $90BF6C BD 78 0B LDA $0B78,x[$7E:0B78] $90BF6F 99 78 0B STA $0B78,y[$7E:0B7A] $90BF72 BD 04 0C LDA $0C04,x[$7E:0C04] $90BF75 99 04 0C STA $0C04,y[$7E:0C06] $90BF78 20 56 BA JSR $BA56 [$90:BA56] $90BF7B BB TYX $90BF7C 22 71 80 93 JSL $938071[$93:8071] $90BF80 A9 75 B0 LDA #$B075 $90BF83 9D 68 0C STA $0C68,x[$7E:0C6A] $90BF86 86 12 STX $12 [$7E:0012] $90BF88 AE DE 0D LDX $0DDE [$7E:0DDE] $90BF8B BD 7C 0C LDA $0C7C,x[$7E:0C7C] $90BF8E 29 00 FF AND #$FF00 $90BF91 18 CLC $90BF92 65 12 ADC $12 [$7E:0012] $90BF94 9D 7C 0C STA $0C7C,x[$7E:0C7C] $90BF97 EE CE 0C INC $0CCE [$7E:0CCE] $90BF9A 60 RTS $90BF9B db 3C, 00 $90BF9D 08 PHP $90BF9E C2 30 REP #$30 $90BFA0 A5 8B LDA $8B [$7E:008B] $90BFA2 2D B2 09 AND $09B2 [$7E:09B2] $90BFA5 F0 0B BEQ $0B [$BFB2] $90BFA7 AD D2 09 LDA $09D2 [$7E:09D2] $90BFAA C9 03 00 CMP #$0003 $90BFAD D0 1B BNE $1B [$BFCA] $90BFAF 4C 1C C0 JMP $C01C [$90:C01C] $90BFB2 AD D0 0C LDA $0CD0 [$7E:0CD0] $90BFB5 F0 11 BEQ $11 [$BFC8] $90BFB7 A9 02 00 LDA #$0002 $90BFBA 22 2B 90 80 JSL $80902B[$80:902B] $90BFBE 9C D0 0C STZ $0CD0 [$7E:0CD0] $90BFC1 20 BE BC JSR $BCBE [$90:BCBE] $90BFC4 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90BFC8 28 PLP $90BFC9 60 RTS $90BFCA 20 AB C0 JSR $C0AB [$90:C0AB] $90BFCD 90 4B BCC $4B [$C01A] $90BFCF A2 0A 00 LDX #$000A $90BFD2 BD 18 0C LDA $0C18,x[$7E:0C22] $90BFD5 F0 09 BEQ $09 [$BFE0] $90BFD7 E8 INX $90BFD8 E8 INX $90BFD9 E0 14 00 CPX #$0014 $90BFDC 30 F4 BMI $F4 [$BFD2] $90BFE0 86 14 STX $14 [$7E:0014] $90BFE2 A9 00 05 LDA #$0500 $90BFE5 9D 18 0C STA $0C18,x[$7E:0C22] $90BFE8 48 PHA $90BFE9 A9 00 00 LDA #$0000 $90BFEC 9D 04 0C STA $0C04,x[$7E:0C0E] $90BFEF AD F6 0A LDA $0AF6 [$7E:0AF6] $90BFF2 9D 64 0B STA $0B64,x[$7E:0B6E] $90BFF5 AD FA 0A LDA $0AFA [$7E:0AFA] $90BFF8 9D 78 0B STA $0B78,x[$7E:0B82] $90BFFB AD 9B BF LDA $BF9B [$90:BF9B] $90BFFE 9D 7C 0C STA $0C7C,x[$7E:0C86] $90C001 22 A0 80 93 JSL $9380A0[$93:80A0] $90C005 A9 99 B0 LDA #$B099 $90C008 9D 68 0C STA $0C68,x[$7E:0C72] $90C00B 68 PLA $90C00C EB XBA $90C00D 29 0F 00 AND #$000F $90C010 A8 TAY $90C011 B9 7A C2 LDA $C27A,y[$90:C27F] $90C014 29 FF 00 AND #$00FF $90C017 8D CC 0C STA $0CCC [$7E:0CCC] $90C01A 28 PLP $90C01B 60 RTS $90C01C AD EE 0C LDA $0CEE [$7E:0CEE] $90C01F 10 02 BPL $02 [$C023] $90C021 28 PLP $90C022 60 RTS $90C023 20 E7 C0 JSR $C0E7 [$90:C0E7] $90C026 90 F9 BCC $F9 [$C021] $90C028 AD CE 09 LDA $09CE [$7E:09CE] $90C02B F0 7C BEQ $7C [$C0A9] $90C02D 3A DEC A $90C02E 8D CE 09 STA $09CE [$7E:09CE] $90C031 30 76 BMI $76 [$C0A9] $90C033 A9 FF FF LDA #$FFFF $90C036 8D EE 0C STA $0CEE [$7E:0CEE] $90C039 A2 0A 00 LDX #$000A $90C03C BD 18 0C LDA $0C18,x[$7E:0C22] $90C03F F0 09 BEQ $09 [$C04A] $90C041 E8 INX $90C042 E8 INX $90C043 E0 14 00 CPX #$0014 $90C046 30 F4 BMI $F4 [$C03C] $90C04A 86 14 STX $14 [$7E:0014] $90C04C AD D2 09 LDA $09D2 [$7E:09D2] $90C04F EB XBA $90C050 85 12 STA $12 [$7E:0012] $90C052 BD 18 0C LDA $0C18,x[$7E:0C22] $90C055 05 12 ORA $12 [$7E:0012] $90C057 9D 18 0C STA $0C18,x[$7E:0C22] $90C05A 48 PHA $90C05B A9 00 00 LDA #$0000 $90C05E 9D 04 0C STA $0C04,x[$7E:0C0E] $90C061 AD F6 0A LDA $0AF6 [$7E:0AF6] $90C064 9D 64 0B STA $0B64,x[$7E:0B6E] $90C067 AD FA 0A LDA $0AFA [$7E:0AFA] $90C06A 9D 78 0B STA $0B78,x[$7E:0B82] $90C06D AD 9B BF LDA $BF9B [$90:BF9B] $90C070 9D 7C 0C STA $0C7C,x[$7E:0C86] $90C073 22 A0 80 93 JSL $9380A0[$93:80A0] $90C077 A9 AE B0 LDA #$B0AE $90C07A 9D 68 0C STA $0C68,x[$7E:0C72] $90C07D 68 PLA $90C07E EB XBA $90C07F 29 0F 00 AND #$000F $90C082 A8 TAY $90C083 B9 7A C2 LDA $C27A,y[$90:C27D] $90C086 29 FF 00 AND #$00FF $90C089 8D CC 0C STA $0CCC [$7E:0CCC] $90C08C AD 04 0A LDA $0A04 [$7E:0A04] $90C08F F0 08 BEQ $08 [$C099] $90C099 AD D2 09 LDA $09D2 [$7E:09D2] $90C09C C9 03 00 CMP #$0003 $90C09F D0 08 BNE $08 [$C0A9] $90C0A1 AD CE 09 LDA $09CE [$7E:09CE] $90C0A4 D0 03 BNE $03 [$C0A9] $90C0A9 28 PLP $90C0AA 60 RTS $90C0AB AD A2 09 LDA $09A2 [$7E:09A2] $90C0AE 89 00 10 BIT #$1000 $90C0B1 F0 32 BEQ $32 [$C0E5] $90C0B3 AD D0 0C LDA $0CD0 [$7E:0CD0] $90C0B6 C9 3C 00 CMP #$003C $90C0B9 30 2C BMI $2C [$C0E7] $90C0E5 18 CLC $90C0E6 60 RTS $90C0E7 A5 8F LDA $8F [$7E:008F] $90C0E9 2C B2 09 BIT $09B2 [$7E:09B2] $90C0EC F0 22 BEQ $22 [$C110] $90C0EE AD D2 0C LDA $0CD2 [$7E:0CD2] $90C0F1 F0 0D BEQ $0D [$C100] $90C0F3 C9 05 00 CMP #$0005 $90C0F6 10 18 BPL $18 [$C110] $90C0F8 AD CC 0C LDA $0CCC [$7E:0CCC] $90C0FB 29 FF 00 AND #$00FF $90C0FE D0 10 BNE $10 [$C110] $90C100 AD CC 0C LDA $0CCC [$7E:0CCC] $90C103 1A INC A $90C104 8D CC 0C STA $0CCC [$7E:0CCC] $90C107 AD D2 0C LDA $0CD2 [$7E:0CD2] $90C10A 1A INC A $90C10B 8D D2 0C STA $0CD2 [$7E:0CD2] $90C10E 38 SEC $90C10F 60 RTS $90C110 AD D0 0C LDA $0CD0 [$7E:0CD0] $90C113 F0 11 BEQ $11 [$C126] $90C126 18 CLC $90C127 60 RTS $90C128 08 PHP $90C129 C2 30 REP #$30 $90C12B AE DE 0D LDX $0DDE [$7E:0DDE] $90C12E BD 7C 0C LDA $0C7C,x[$7E:0C86] $90C131 F0 22 BEQ $22 [$C155] $90C133 3A DEC A $90C134 9D 7C 0C STA $0C7C,x[$7E:0C86] $90C137 F0 11 BEQ $11 [$C14A] $90C139 C9 0F 00 CMP #$000F $90C13C D0 17 BNE $17 [$C155] $90C13E BD 40 0C LDA $0C40,x[$7E:0C4A] $90C141 18 CLC $90C142 69 1C 00 ADC #$001C $90C145 9D 40 0C STA $0C40,x[$7E:0C4A] $90C148 80 0B BRA $0B [$C155] $90C14A A9 08 00 LDA #$0008 $90C14D 22 CB 90 80 JSL $8090CB[$80:90CB] $90C151 22 4E 81 93 JSL $93814E[$93:814E] $90C155 28 PLP $90C156 60 RTS $90C157 08 PHP $90C158 C2 30 REP #$30 $90C15A AE DE 0D LDX $0DDE [$7E:0DDE] $90C15D BD 7C 0C LDA $0C7C,x[$7E:0C86] $90C160 F0 3B BEQ $3B [$C19D] $90C162 3A DEC A $90C163 9D 7C 0C STA $0C7C,x[$7E:0C86] $90C166 F0 11 BEQ $11 [$C179] $90C168 C9 0F 00 CMP #$000F $90C16B D0 39 BNE $39 [$C1A6] $90C16D BD 40 0C LDA $0C40,x[$7E:0C4A] $90C170 18 CLC $90C171 69 1C 00 ADC #$001C $90C174 9D 40 0C STA $0C40,x[$7E:0C4A] $90C177 80 2D BRA $2D [$C1A6] $90C179 BD 64 0B LDA $0B64,x[$7E:0B6E] $90C17C 8D E2 0C STA $0CE2 [$7E:0CE2] $90C17F BD 78 0B LDA $0B78,x[$7E:0B82] $90C182 8D E4 0C STA $0CE4 [$7E:0CE4] $90C185 DA PHX $90C186 5A PHY $90C187 08 PHP $90C188 8B PHB $90C189 22 88 82 88 JSL $888288[$88:8288] $90C18D 22 A4 8A 88 JSL $888AA4[$88:8AA4] $90C191 AB PLB $90C192 28 PLP $90C193 7A PLY $90C194 FA PLX $90C195 A9 FF FF LDA #$FFFF $90C198 9D 7C 0C STA $0C7C,x[$7E:0C86] $90C19B 80 09 BRA $09 [$C1A6] $90C19D AD EE 0C LDA $0CEE [$7E:0CEE] $90C1A0 D0 04 BNE $04 [$C1A6] $90C1A2 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90C1A6 28 PLP $90C1A7 60 RTS $90C1A8 db 02, 00, 12, 00, 0F, 00, 11, 00, 03, 00, FC, FF, EF, FF, F1, FF, EE, FF, FE, FF, FC, FF, FC, FF $90C1C2 db E4, FF, ED, FF, 01, 00, 06, 00, 11, 00, 11, 00, 06, 00, 01, 00, EC, FF, E4, FF, EC, FF, FE, FF $90C1DE db 13, 00, 14, 00, 12, 00 $90C1E8 db EE, FF, EC, FF, ED, FF $90C1F2 db EA, FF, FD, FF, 06, 00 $90C1FC db 06, 00, FD, FF, EC, FF $90C204 db 02, 00, 0D, 00, 0B, 00, 0D, 00, 02, 00, FB, FF, F2, FF, F5, FF, ED, FF, FE, FF, F8, FF, F3, FF, 01, 00, 04, 00, 0D, 00, 0D, 00, 04, 00, 01, 00, ED, FF, F8, FF $90C22E db 0F, 00, 0F, 00, 0D, 00 $90C238 db F3, FF, F3, FF, F1, FF $90C242 db F0, FF, FE, FF, 01, 00 $90C24C db 01, 00, FE, FF, F0, FF $90C254 db 0F, 0F $90C258 db 0F, 0F, 0F, 0F, 0F, 0F, 0C, 0F, 00 $90C268 db 1E, 1E, 1E, 1E, 1E, 1E, 1E, 1E, 00 $90C27B db 0A, 14, 28, 00, 10, 00 $90C283 db 19, 19 $90C28F db 0B, 00 $90C297 db 0F, 00, 12, 00, 10, 00, 11, 00 $90C2A1 db 16, 00 $90C2A5 db 15, 00 $90C2AF db 1B, 00, 1E, 00 $90C2B5 db 1D, 00, 1F, 00, 22, 00 $90C2BD db 21, 00 $90C2C1 db 03, 00, 04, 00 $90C2D1 db 00, 04, AB, 02 $90C2E1 db 00, 04, AB, 02, 00, 04, AB, 02, 00, 04, AB, 02, 00, 04, AB, 02, 00, 04, AB, 02, 00, 04, AB, 02 $90C2FD db 00, 04, AB, 02, 00, 01, 00, 00, C0, FF, 36, 00, CA, FF, 40, 00, 00, 00 $90C313 db 00, 00, 40, 00 $90C31B db CA, FF, 36, 00, C0, FF, 00, 00, CA, FF, CA, FF, 00, 00, C0, FF, 00, 00, 00, FF, B6, 00, 4A, FF, 00, 01, 00, 00, B6, 00, B6, 00, 00, 00, 00, 01, 00, 00, 00, 01, 4A, FF, B6, 00, 00, FF, 00, 00, 4A, FF, 4A, FF, 00, 00, 00, FF, 00, 00, 10, 00, 10, 00, 10, 00, 00, 00, 00, 00, F0, FF, F0, FF, F0, FF, 00, 00, F0, FF, F0, FF, 00, 00, 10, 00, 10, 00, 10, 00, 10, 00, 00, 00, F0, FF, F0, FF $90C37D db 00, 0A $90C3A6 db 03, 00 $90C3AA db 02, 00 $90C3B1 db 00, F2 $90C3B9 db 00, FA, 00, FA, 00, FA, 00, FA $90C3C3 db 00, F8 $90C3C7 db 00, F8, E1, C3 $90C3CD db 01, C4 $90C3D1 db 61, C4, 21, C4, 01, C4, 01, C4 $90C3DB db 41, C4 $90C3DF db 01, C4, 00, 38, FF, 7F, FF, 19, 55, 1D, AD, 10, FF, 53, 9E, 03, 5F, 29, DF, 18, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 4A, 10, 00, 38, FF, 7F, C0, 7E, E0, 6D, E0, 54, 6E, 7F, 0A, 73, 65, 66, 22, 5E, A0, 7F, 60, 7B, 20, 77, A0, 72, 60, 6E, 91, 7F, C0, 20, 00, 38, FF, 7F, 1F, 7C, 16, 58, 0C, 30, DF, 7E, DF, 7D, DF, 7C, 1A, 68, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 09, 24, 00, 38, FF, 7F, E0, 3B, 80, 26, 80, 15, FA, 6B, F2, 4B, EA, 2B, E0, 03, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 20, 09, 00, 38, FF, 7F, FF, 03, 16, 02, EE, 00, FF, 6B, FF, 4B, FF, 2B, 7B, 03, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, AD, 00, 87, C4, A7, C4, AE, C4 $90C488 db 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, FE, 0E, 05, 04, 03, 03, 03, 03, FF, 04, 03, 02, 02, 02, 02, FF ;;; Handles Samus' selection on the status bar ;;; $90C4B5 08 PHP $90C4B6 C2 30 REP #$30 $90C4B8 AD D2 09 LDA $09D2 [$7E:09D2] $90C4BB 85 12 STA $12 [$7E:0012] $90C4BD A5 8F LDA $8F [$7E:008F] $90C4BF 2C B8 09 BIT $09B8 [$7E:09B8] $90C4C2 F0 05 BEQ $05 [$C4C9] $90C4C4 9C 04 0A STZ $0A04 [$7E:0A04] $90C4C7 80 20 BRA $20 [$C4E9] $90C4C9 A5 8B LDA $8B [$7E:008B] $90C4CB 2C B8 09 BIT $09B8 [$7E:09B8] $90C4CE D0 04 BNE $04 [$C4D4] $90C4D0 64 16 STZ $16 [$7E:0016] $90C4D2 80 05 BRA $05 [$C4D9] $90C4D4 A9 01 00 LDA #$0001 $90C4D7 85 16 STA $16 [$7E:0016] $90C4D9 A5 8F LDA $8F [$7E:008F] $90C4DB 2C BA 09 BIT $09BA [$7E:09BA] $90C4DE F0 39 BEQ $39 [$C519] $90C4E0 AD D2 09 LDA $09D2 [$7E:09D2] $90C4E3 1A INC A $90C4E4 C9 06 00 CMP #$0006 $90C4E7 30 03 BMI $03 [$C4EC] $90C4E9 A9 00 00 LDA #$0000 $90C4EC 8D D2 09 STA $09D2 [$7E:09D2] $90C4EF 0A ASL A $90C4F0 AA TAX $90C4F1 FC 39 C5 JSR ($C539,x)[$90:C551] $90C4F4 90 14 BCC $14 [$C50A] $90C4F6 AD D2 09 LDA $09D2 [$7E:09D2] $90C4F9 1A INC A $90C4FA 8D D2 09 STA $09D2 [$7E:09D2] $90C4FD C9 06 00 CMP #$0006 $90C500 30 ED BMI $ED [$C4EF] $90C502 A9 00 00 LDA #$0000 $90C505 8D D2 09 STA $09D2 [$7E:09D2] $90C508 80 E5 BRA $E5 [$C4EF] $90C50A A5 16 LDA $16 [$7E:0016] $90C50C F0 08 BEQ $08 [$C516] $90C50E AD D2 09 LDA $09D2 [$7E:09D2] $90C511 8D 04 0A STA $0A04 [$7E:0A04] $90C514 80 03 BRA $03 [$C519] $90C516 9C 04 0A STZ $0A04 [$7E:0A04] $90C519 AD D2 09 LDA $09D2 [$7E:09D2] $90C51C C5 12 CMP $12 [$7E:0012] $90C51E D0 11 BNE $11 [$C531] $90C520 AD AA 0A LDA $0AAA [$7E:0AAA] $90C523 1A INC A $90C524 C9 03 00 CMP #$0003 $90C527 30 03 BMI $03 [$C52C] $90C529 A9 02 00 LDA #$0002 $90C52C 8D AA 0A STA $0AAA [$7E:0AAA] $90C52F 80 06 BRA $06 [$C537] $90C531 A9 01 00 LDA #$0001 $90C534 8D AA 0A STA $0AAA [$7E:0AAA] $90C537 28 PLP $90C538 60 RTS $90C539 db C545, C551, C564, C577, C58A, C5AE ;;; ;;; $90C545 9C D0 0C STZ $0CD0 [$7E:0CD0] $90C548 20 BE BC JSR $BCBE [$90:BCBE] $90C54B 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90C54F 18 CLC $90C550 60 RTS $90C551 AD C6 09 LDA $09C6 [$7E:09C6] $90C554 D0 02 BNE $02 [$C558] $90C558 9C D0 0C STZ $0CD0 [$7E:0CD0] $90C55B 20 BE BC JSR $BCBE [$90:BCBE] $90C55E 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90C562 18 CLC $90C563 60 RTS $90C564 AD CA 09 LDA $09CA [$7E:09CA] $90C567 D0 02 BNE $02 [$C56B] $90C569 38 SEC $90C56A 60 RTS $90C56B 9C D0 0C STZ $0CD0 [$7E:0CD0] $90C56E 20 BE BC JSR $BCBE [$90:BCBE] $90C571 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90C575 18 CLC $90C576 60 RTS $90C577 AD CE 09 LDA $09CE [$7E:09CE] $90C57A D0 02 BNE $02 [$C57E] $90C57C 38 SEC $90C57D 60 RTS $90C57E 9C D0 0C STZ $0CD0 [$7E:0CD0] $90C581 20 BE BC JSR $BCBE [$90:BCBE] $90C584 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90C588 18 CLC $90C589 60 RTS $90C58A AD A2 09 LDA $09A2 [$7E:09A2] $90C58D 89 00 40 BIT #$4000 $90C590 D0 02 BNE $02 [$C594] $90C592 38 SEC $90C593 60 RTS $90C594 AD 32 0D LDA $0D32 [$7E:0D32] $90C597 C9 F0 C4 CMP #$C4F0 $90C59A D0 10 BNE $10 [$C5AC] $90C59C 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90C5A0 9C D0 0C STZ $0CD0 [$7E:0CD0] $90C5A3 20 BE BC JSR $BCBE [$90:BCBE] $90C5A6 A9 F0 C4 LDA #$C4F0 $90C5A9 8D 32 0D STA $0D32 [$7E:0D32] $90C5AC 18 CLC $90C5AD 60 RTS $90C5AE AD A2 09 LDA $09A2 [$7E:09A2] $90C5B1 89 00 80 BIT #$8000 $90C5B4 D0 02 BNE $02 [$C5B8] $90C5B6 38 SEC $90C5B7 60 RTS $90C5B8 9C D0 0C STZ $0CD0 [$7E:0CD0] $90C5BB 20 BE BC JSR $BCBE [$90:BCBE] $90C5BE 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90C5C2 18 CLC $90C5C3 60 RTS $90C5C4 08 PHP $90C5C5 C2 30 REP #$30 $90C5C7 AD A7 0A LDA $0AA7 [$7E:0AA7] $90C5CA 29 FF 00 AND #$00FF $90C5CD D0 05 BNE $05 [$C5D4] $90C5CF 20 EB C5 JSR $C5EB [$90:C5EB] $90C5D2 90 03 BCC $03 [$C5D7] $90C5D4 20 27 C6 JSR $C627 [$90:C627] $90C5D7 AD 1C 0A LDA $0A1C [$7E:0A1C] $90C5DA 0A ASL A $90C5DB AA TAX $90C5DC BD DF C7 LDA $C7DF,x[$90:C7E3] $90C5DF A8 TAY $90C5E0 B9 01 00 LDA $0001,y[$90:C9F2] $90C5E3 29 FF 00 AND #$00FF $90C5E6 8D AC 0A STA $0AAC [$7E:0AAC] $90C5E9 28 PLP $90C5EA 60 RTS $90C5EB AD AA 0A LDA $0AAA [$7E:0AAA] $90C5EE C9 02 00 CMP #$0002 $90C5F1 30 32 BMI $32 [$C625] $90C5F3 AD D2 09 LDA $09D2 [$7E:09D2] $90C5F6 AA TAX $90C5F7 BD D9 C7 LDA $C7D9,x[$90:C7DA] $90C5FA 29 FF 00 AND #$00FF $90C5FD 85 12 STA $12 [$7E:0012] $90C5FF AD A6 0A LDA $0AA6 [$7E:0AA6] $90C602 29 FF 00 AND #$00FF $90C605 C5 12 CMP $12 [$7E:0012] $90C607 F0 1C BEQ $1C [$C625] $90C609 A5 12 LDA $12 [$7E:0012] $90C60B F0 08 BEQ $08 [$C615] $90C60D A9 00 00 LDA #$0000 $90C610 8D A8 0A STA $0AA8 [$7E:0AA8] $90C613 80 06 BRA $06 [$C61B] $90C615 A9 04 00 LDA #$0004 $90C618 8D A8 0A STA $0AA8 [$7E:0AA8] $90C61B A5 12 LDA $12 [$7E:0012] $90C61D 09 00 01 ORA #$0100 $90C620 8D A6 0A STA $0AA6 [$7E:0AA6] $90C623 38 SEC $90C624 60 RTS $90C625 18 CLC $90C626 60 RTS $90C627 08 PHP $90C628 C2 30 REP #$30 $90C62A AD A6 0A LDA $0AA6 [$7E:0AA6] $90C62D 29 FF 00 AND #$00FF $90C630 D0 0D BNE $0D [$C63F] $90C632 AD A8 0A LDA $0AA8 [$7E:0AA8] $90C635 3A DEC A $90C636 F0 15 BEQ $15 [$C64D] $90C638 30 13 BMI $13 [$C64D] $90C63A 8D A8 0A STA $0AA8 [$7E:0AA8] $90C63D 80 22 BRA $22 [$C661] $90C63F AD A8 0A LDA $0AA8 [$7E:0AA8] $90C642 1A INC A $90C643 C9 03 00 CMP #$0003 $90C646 10 0A BPL $0A [$C652] $90C648 8D A8 0A STA $0AA8 [$7E:0AA8] $90C64B 80 14 BRA $14 [$C661] $90C64D 9C A8 0A STZ $0AA8 [$7E:0AA8] $90C650 80 06 BRA $06 [$C658] $90C652 A9 03 00 LDA #$0003 $90C655 8D A8 0A STA $0AA8 [$7E:0AA8] $90C658 AD A6 0A LDA $0AA6 [$7E:0AA6] $90C65B 29 FF 00 AND #$00FF $90C65E 8D A6 0A STA $0AA6 [$7E:0AA6] $90C661 28 PLP $90C662 60 RTS ;;; Draw arm cannon 'open' sprite ;;; $90C663 08 PHP $90C664 C2 30 REP #$30 $90C666 AD A8 0A LDA $0AA8 [$7E:0AA8] $90C669 F0 0D BEQ $0D [$C678] $90C66B AD A8 18 LDA $18A8 [$7E:18A8] $90C66E F0 0A BEQ $0A [$C67A] $90C670 AD B6 05 LDA $05B6 [$7E:05B6] $90C673 29 01 00 AND #$0001 $90C676 F0 02 BEQ $02 [$C67A] $90C678 28 PLP $90C679 60 RTS $90C67A AD 1C 0A LDA $0A1C [$7E:0A1C] $90C67D 0A ASL A $90C67E AA TAX $90C67F BD DF C7 LDA $C7DF,x[$90:C7E3] $90C682 A8 TAY $90C683 B9 00 00 LDA $0000,y[$90:C9F1] $90C686 29 FF 00 AND #$00FF $90C689 89 80 00 BIT #$0080 $90C68C F0 27 BEQ $27 [$C6B5] $90C68E AD 96 0A LDA $0A96 [$7E:0A96] $90C691 D0 11 BNE $11 [$C6A4] $90C693 B9 00 00 LDA $0000,y[$90:CAB5] $90C696 29 7F 00 AND #$007F $90C699 0A ASL A $90C69A AA TAX $90C69B 98 TYA $90C69C 18 CLC $90C69D 69 04 00 ADC #$0004 $90C6A0 85 16 STA $16 [$7E:0016] $90C6A2 80 18 BRA $18 [$C6BC] $90C6A4 B9 02 00 LDA $0002,y[$90:CA07] $90C6A7 29 7F 00 AND #$007F $90C6AA 0A ASL A $90C6AB AA TAX $90C6AC 98 TYA $90C6AD 18 CLC $90C6AE 69 04 00 ADC #$0004 $90C6B1 85 16 STA $16 [$7E:0016] $90C6B3 80 07 BRA $07 [$C6BC] $90C6B5 0A ASL A $90C6B6 AA TAX $90C6B7 98 TYA $90C6B8 1A INC A $90C6B9 1A INC A $90C6BA 85 16 STA $16 [$7E:0016] $90C6BC BD 91 C7 LDA $C791,x[$90:C79F] $90C6BF 85 18 STA $18 [$7E:0018] $90C6C1 AD 96 0A LDA $0A96 [$7E:0A96] $90C6C4 0A ASL A $90C6C5 18 CLC $90C6C6 65 16 ADC $16 [$7E:0016] $90C6C8 A8 TAY $90C6C9 B9 00 00 LDA $0000,y[$90:C9F3] $90C6CC 29 FF 00 AND #$00FF $90C6CF 89 80 00 BIT #$0080 $90C6D2 F0 03 BEQ $03 [$C6D7] $90C6D4 09 00 FF ORA #$FF00 $90C6D7 85 12 STA $12 [$7E:0012] $90C6D9 B9 01 00 LDA $0001,y[$90:C9F4] $90C6DC 29 FF 00 AND #$00FF $90C6DF 89 80 00 BIT #$0080 $90C6E2 F0 03 BEQ $03 [$C6E7] $90C6E4 09 00 FF ORA #$FF00 $90C6E7 85 14 STA $14 [$7E:0014] $90C6E9 AD 1C 0A LDA $0A1C [$7E:0A1C] $90C6EC 0A ASL A $90C6ED 0A ASL A $90C6EE 0A ASL A $90C6EF AA TAX $90C6F0 BF 2D B6 91 LDA $91B62D,x[$91:B63D] $90C6F4 29 FF 00 AND #$00FF $90C6F7 85 16 STA $16 [$7E:0016] $90C6F9 AE 90 05 LDX $0590 [$7E:0590] $90C6FC AD F6 0A LDA $0AF6 [$7E:0AF6] $90C6FF 18 CLC $90C700 65 12 ADC $12 [$7E:0012] $90C702 38 SEC $90C703 ED 11 09 SBC $0911 [$7E:0911] $90C706 30 2B BMI $2B [$C733] $90C708 C9 00 01 CMP #$0100 $90C70B 10 26 BPL $26 [$C733] $90C70D 9D 70 03 STA $0370,x[$7E:0370] $90C710 AD FA 0A LDA $0AFA [$7E:0AFA] $90C713 18 CLC $90C714 65 14 ADC $14 [$7E:0014] $90C716 38 SEC $90C717 E5 16 SBC $16 [$7E:0016] $90C719 ED 15 09 SBC $0915 [$7E:0915] $90C71C 30 15 BMI $15 [$C733] $90C71E C9 00 01 CMP #$0100 $90C721 10 10 BPL $10 [$C733] $90C723 9D 71 03 STA $0371,x[$7E:0371] $90C726 A5 18 LDA $18 [$7E:0018] $90C728 9D 72 03 STA $0372,x[$7E:0372] $90C72B 8A TXA $90C72C 18 CLC $90C72D 69 04 00 ADC #$0004 $90C730 8D 90 05 STA $0590 [$7E:0590] $90C733 AD 1C 0A LDA $0A1C [$7E:0A1C] $90C736 0A ASL A $90C737 AA TAX $90C738 BD DF C7 LDA $C7DF,x[$90:C7E3] $90C73B A8 TAY $90C73C B9 00 00 LDA $0000,y[$90:C9F1] $90C73F 29 FF 00 AND #$00FF $90C742 89 80 00 BIT #$0080 $90C745 F0 15 BEQ $15 [$C75C] $90C747 AD 96 0A LDA $0A96 [$7E:0A96] $90C74A D0 08 BNE $08 [$C754] $90C74C B9 00 00 LDA $0000,y[$90:CAB5] $90C74F 29 7F 00 AND #$007F $90C752 80 08 BRA $08 [$C75C] $90C754 C8 INY $90C755 C8 INY $90C756 B9 00 00 LDA $0000,y[$90:CA07] $90C759 29 7F 00 AND #$007F $90C75C 0A ASL A $90C75D AA TAX $90C75E BD A5 C7 LDA $C7A5,x[$90:C7B3] $90C761 85 16 STA $16 [$7E:0016] $90C763 AD A8 0A LDA $0AA8 [$7E:0AA8] $90C766 0A ASL A $90C767 18 CLC $90C768 65 16 ADC $16 [$7E:0016] $90C76A A8 TAY $90C76B AE 30 03 LDX $0330 [$7E:0330] $90C76E A9 20 00 LDA #$0020 $90C771 95 D0 STA $D0,x [$7E:00DE] $90C773 E8 INX $90C774 E8 INX $90C775 B9 00 00 LDA $0000,y[$90:C7C3] $90C778 95 D0 STA $D0,x [$7E:00E0] $90C77A E8 INX $90C77B E8 INX $90C77C E2 20 SEP #$20 $90C77E A9 9A LDA #$9A $90C780 95 D0 STA $D0,x [$7E:00E2] $90C782 C2 20 REP #$20 $90C784 E8 INX $90C785 A9 F0 61 LDA #$61F0 $90C788 95 D0 STA $D0,x [$7E:00E3] $90C78A E8 INX $90C78B E8 INX $90C78C 8E 30 03 STX $0330 [$7E:0330] $90C78F 28 PLP $90C790 60 RTS $90C791 db 1F, 28, 1F, 28, 1F, 28, 1F, 68, 1F, A8, 1F, E8, 1F, 28, 1F, 68, 1F, 68, 1F, 68, B9, C7, D1, C7, C1, C7, C9, C7, B9, C7, B9, C7, C9, C7, C1, C7, D1, C7, B9, C7 $90C7BB db 00, 9A, 00, 9C, 00, 9E $90C7C3 db 00, A0, 00, A2, 00, A4 $90C7CB db 00, A6, 00, A8, 00, AA $90C7D3 db 00, AC, 00, AE, 00, B0, 00, 01, 01, 00, 01, 00, DB, C9, DD, C9, F1, C9, 05, CA, 0D, CA, 15, CA, 19, CA, 1D, CA, 21, CA, D9, C9, D9, C9, 25, CA, 3B, CA $90C7FD db 51, CA, 67, CA, 7D, CA, 93, CA, A9, CA, AF, CA, B5, CA, BD, CA, C5, CA, CB, CA, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9 $90C829 db D9, C9, D9, C9, 5D, CB, 71, CB, D9, C9, D9, C9, 1D, CB, 27, CB, 31, CB, 37, CB, D9, C9, D9, C9, D9, C9, D9, C9 $90C849 db D9, C9, D9, C9, D9, C9, D9, C9 $90C855 db D9, C9, D9, C9, D9, C9, D9, C9 $90C861 db D9, C9 $90C865 db D9, C9, D9, C9 $90C871 db A5, CB, B3, CB, D1, CA, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, CA, DF, CA, D9, C9, D9, C9, 15, CC, 1B, CC, 15, CA, 19, CA $90C893 db 21, CA $90C8AD db FD, CA, 0D, CB, E5, CA, EB, CA, F1, CA, F7, CA, 3D, CB, 45, CB, 4D, CB, 55, CB, 85, CB, 89, CB, 8D, CB, 91, CB, C1, CB $90C8CD db DD, CB $90C8D1 db D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, 95, CB, 9D, CB, D9, C9, D9, C9, DD, C9, F1, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9 $90C911 db D9, C9, D9, C9, DB, C9, D9, C9, D9, C9 $90C91D db D9, C9 $90C921 db D9, C9, D9, C9, D9, C9, F9, CB, D9, C9, 05, CC, D9, C9 $90C943 db D9, C9, D9, C9 $90C95D db D9, C9, D9, C9 $90C96D db D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, D9, C9, 15, CA, 19, CA, 1D, CA, 21, CA $90C989 db D9, C9, D9, C9 $90C993 db D9, C9 $90C99F db 15, CC, 1B, CC, 15, CA, 19, CA, 1D, CA, 21, CA, DD, C9, F1, C9 $90C9B1 db D9, C9 $90C9B5 db D9, C9, D9, C9, 15, CA, DD, C9 $90C9BF db D9, C9 $90C9C3 db 1B, CC, 15, CA, 19, CA, 1D, CA, 21, CA $90C9D1 db 15, CA, 19, CA, 1D, CA, 21, CA $90C9DA db 00, 00, 02, 02, 01, 0B, FD, 0B, FD, 0B, FD, 0B, FD, 0B $90C9E9 db 0B, FD, 0B, FD, 0B, FD, 0B, FD, 07, 01, ED, FD, ED, FD, ED, FD, ED, FD, ED $90CA05 db 81, 01, 80, 01, 0E, EA, FE, E1, 88, 01, 89, 01, EA, E9, FA, E1, 01, 01, 0D, EA, 08, 01, EB, E9, 03, 01, 0D, 02, 06, 01, EB, 02, 02, 01, 11, FA, 11, FA, 11, F9, 11, F8, 11, F9, 11, FA, 11, F9, 11, F9, 11, F8, 11, F9, 07, 01, E7, FA, E7, FA, E7, F8, E7, F9, E7, F9, E7, FA, E7, F9, E7, F8, E7, F9, E7, F9, 01, 01, 0C, EA, 0C, EA, 0C, E9, 0C, E8, 0C, E9, 0C, EA, 0C, EA, 0C, E9, 0C, E8, 0C, E9, 08, 01, EC, EA, EC, EA, EC, E9, EC, E8, EC, E9, EC, EA, EC, EA, EC, E9, EC, E8, EC, E9, 03, 01, 0B, 01, 0B, 01, 0B, 00, 0B, FF, 0B, 00, 0B, 01, 0B, 01, 0B, 00, 0B, FF, 0B, 00, 06, 01, ED $90CAA9 db 02, 01, 0B, FD, 0B, FD, 07, 01, ED, FD, ED, FD, 81, 01, 80, 01, 0E, E9, FE, E0, 88, 01, 89, 01, EA, E8, FA, E0, 04, 01, 00, 0D, 00, 0D, 05, 01, F7, 0D, F7, 0D, 03, 01, FB, 00, 06 $90CAD9 db 02, 01, 0B, FD, 0B, FD, 07, 01, ED, FD, ED, FD, 01, 01, 0C, EA, 0C, EA, 08, 01, EC, EA, EC, EA, 03, 01, 0B, 01, 0B, 01, 06, 01, ED, 01, ED, 01, 02, 01, 0B, FD, 0B, FD, 0B, FD, 0B $90CB0D db 07, 01, ED, FD, ED, FD, ED, FD, ED $90CB1D db 81, 01, 80, 01, 0E, E9, FE, E0, FE, E0, 88, 01, 89, 01, EA, E8, FA, E4, FA, E4, 04, 01, 00, 09, 00, 09, 05, 01, F7, 09, F7 $90CB3D db 01, 01, 0C, EA, 0C, EA, 0C, EA, 08, 01, EC, EA, EC, EA, EC, EA, 03, 01, 0B, 01, 0B $90CB55 db 06, 01, ED, 01, ED $90CB5B db ED, 01, 02, 01, 0B, FD, 0B, FD, 0B, FD, 0B, FD, 0B $90CB71 db 07, 01, ED, FD, ED, FD, ED, FD, ED, FD, ED $90CB85 db 01, 01, 0E, E9, 08, 01, EA, E8, 03, 01, 0D, 02, 06, 01, EB, 02, 81, 01, 80, 01, 0E, E9, FE, E0, 88, 01, 89 $90CBA5 db 02, 01, F1, FD, F1 $90CBB3 db 07, 01, 07, FD, 07 $90CBC1 db 08, 01, EC, EA, EC $90CBDE db 01, ED $90CBF9 db 03, 01, FB, 00, FB, 00, 06 $90CC05 db 03, 01, FB, 00, FB, 00, FB, 00, 06 $90CC15 db 00, 01, FE, E1, FE, E1, 09, 01, FA, E1, FA, E1, 00 ;;; ;;; $90CC39 08 PHP $90CC3A C2 30 REP #$30 $90CC3C DA PHX $90CC3D 85 18 STA $18 [$7E:0018] $90CC3F 98 TYA $90CC40 85 1A STA $1A [$7E:001A] $90CC42 C9 80 00 CMP #$0080 $90CC45 10 07 BPL $07 [$CC4E] $90CC47 0A ASL A $90CC48 AA TAX $90CC49 20 8A CC JSR $CC8A [$90:CC8A] $90CC4C 80 10 BRA $10 [$CC5E] $90CC4E 38 SEC $90CC4F E9 80 00 SBC #$0080 $90CC52 29 FF 00 AND #$00FF $90CC55 0A ASL A $90CC56 AA TAX $90CC57 20 8A CC JSR $CC8A [$90:CC8A] $90CC5A 49 FF FF EOR #$FFFF $90CC5D 1A INC A $90CC5E 85 14 STA $14 [$7E:0014] $90CC60 A5 1A LDA $1A [$7E:001A] $90CC62 38 SEC $90CC63 E9 40 00 SBC #$0040 $90CC66 29 FF 00 AND #$00FF $90CC69 C9 80 00 CMP #$0080 $90CC6C 10 07 BPL $07 [$CC75] $90CC6E 0A ASL A $90CC6F AA TAX $90CC70 20 8A CC JSR $CC8A [$90:CC8A] $90CC73 80 10 BRA $10 [$CC85] $90CC75 38 SEC $90CC76 E9 80 00 SBC #$0080 $90CC79 29 FF 00 AND #$00FF $90CC7C 0A ASL A $90CC7D AA TAX $90CC7E 20 8A CC JSR $CC8A [$90:CC8A] $90CC81 49 FF FF EOR #$FFFF $90CC84 1A INC A $90CC85 85 16 STA $16 [$7E:0016] $90CC87 FA PLX $90CC88 28 PLP $90CC89 60 RTS $90CC8A E2 20 SEP #$20 $90CC8C BF 43 B4 A0 LDA $A0B443,x[$A0:B503] $90CC90 8D 02 42 STA $4202 [$7E:4202] $90CC93 A5 18 LDA $18 [$7E:0018] $90CC95 8D 03 42 STA $4203 [$7E:4203] $90CC98 EA NOP $90CC99 EA NOP $90CC9A EA NOP $90CC9B C2 20 REP #$20 $90CC9D AD 16 42 LDA $4216 [$7E:4216] $90CCA0 EB XBA $90CCA1 29 FF 00 AND #$00FF $90CCA4 85 12 STA $12 [$7E:0012] $90CCA6 E2 20 SEP #$20 $90CCA8 BF 44 B4 A0 LDA $A0B444,x[$A0:B504] $90CCAC 8D 02 42 STA $4202 [$7E:4202] $90CCAF A5 18 LDA $18 [$7E:0018] $90CCB1 8D 03 42 STA $4203 [$7E:4203] $90CCB4 EA NOP $90CCB5 EA NOP $90CCB6 EA NOP $90CCB7 C2 20 REP #$20 $90CCB9 AD 16 42 LDA $4216 [$7E:4216] $90CCBC 18 CLC $90CCBD 65 12 ADC $12 [$7E:0012] $90CCBF 60 RTS ;;; ;;; ; Has code for triggering SBA $90CCC0 AD D2 09 LDA $09D2 [$7E:09D2] $90CCC3 C9 03 00 CMP #$0003 $90CCC6 F0 02 BEQ $02 [$CCCA] $90CCC8 18 CLC $90CCC9 60 RTS $90CCCA ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; $90CFFA 08 PHP $90CFFB 8B PHB $90CFFC 4B PHK $90CFFD AB PLB $90CFFE C2 30 REP #$30 $90D000 A9 68 D0 LDA #$D068 $90D003 8D 58 0A STA $0A58 [$7E:0A58] $90D006 A9 01 00 LDA #$0001 $90D009 8D 36 0B STA $0B36 [$7E:0B36] $90D00C A9 00 04 LDA #$0400 $90D00F 8D 3E 0B STA $0B3E [$7E:0B3E] $90D012 9C 2C 0B STZ $0B2C [$7E:0B2C] $90D015 9C 2E 0B STZ $0B2E [$7E:0B2E] $90D018 9C 52 0A STZ $0A52 [$7E:0A52] $90D01B A9 08 00 LDA #$0008 $90D01E 8D 42 0B STA $0B42 [$7E:0B42] $90D021 9C 44 0B STZ $0B44 [$7E:0B44] $90D024 9C 46 0B STZ $0B46 [$7E:0B46] $90D027 9C 48 0B STZ $0B48 [$7E:0B48] $90D02A A9 07 00 LDA #$0007 $90D02D 8D EC 0D STA $0DEC [$7E:0DEC] $90D030 9C EE 0D STZ $0DEE [$7E:0DEE] $90D033 9C CC 0C STZ $0CCC [$7E:0CCC] $90D036 A9 1E 00 LDA #$001E $90D039 8D A2 0A STA $0AA2 [$7E:0AA2] $90D03C A9 3C 00 LDA #$003C $90D03F 8D 68 0A STA $0A68 [$7E:0A68] $90D042 A9 06 00 LDA #$0006 $90D045 8D CC 0A STA $0ACC [$7E:0ACC] $90D048 9C CE 0A STZ $0ACE [$7E:0ACE] $90D04B 9C 56 0A STZ $0A56 [$7E:0A56] $90D04E AD D0 0C LDA $0CD0 [$7E:0CD0] $90D051 F0 12 BEQ $12 [$D065] $90D053 C9 10 00 CMP #$0010 $90D056 30 07 BMI $07 [$D05F] $90D05F 9C D0 0C STZ $0CD0 [$7E:0CD0] $90D062 20 BE BC JSR $BCBE [$90:BCBE] $90D065 AB PLB $90D066 28 PLP $90D067 6B RTL $90D068 CE A2 0A DEC $0AA2 [$7E:0AA2] $90D06B F0 02 BEQ $02 [$D06F] $90D06D 10 3B BPL $3B [$D0AA] $90D0AA 60 RTS ;;; Vertical Super Jump routine ;;; ; Used by 0A58 $90D0AB A9 02 00 LDA #$0002 $90D0AE 8D 6E 0A STA $0A6E [$7E:0A6E] $90D0B1 A9 08 00 LDA #$0008 $90D0B4 8D 48 0A STA $0A48 [$7E:0A48] $90D0B7 A2 04 00 LDX #$0004 $90D0BA AC 20 EF LDY $EF20 [$90:EF20] $90D0BD 20 E7 EE JSR $EEE7 [$90:EEE7] $90D0C0 20 FF D1 JSR $D1FF [$90:D1FF] $90D0C3 20 BA D2 JSR $D2BA [$90:D2BA] $90D0C6 AD C2 09 LDA $09C2 [$7E:09C2] $90D0C9 C9 1E 00 CMP #$001E $90D0CC 30 08 BMI $08 [$D0D6] $90D0CE CE C2 09 DEC $09C2 [$7E:09C2] $90D0D1 10 03 BPL $03 [$D0D6] $90D0D3 9C C2 09 STZ $09C2 $90D0D6 60 RTS ;;; Diagonal Super Jump routine ;;; ; Used by 0A58 $90D0D7 A9 02 00 LDA #$0002 $90D0DA 8D 6E 0A STA $0A6E [$7E:0A6E] $90D0DD A9 08 00 LDA #$0008 $90D0E0 8D 48 0A STA $0A48 [$7E:0A48] $90D0E3 A2 04 00 LDX #$0004 $90D0E6 AC 20 EF LDY $EF20 [$90:EF20] $90D0E9 20 E7 EE JSR $EEE7 [$90:EEE7] $90D0EC 20 32 D1 JSR $D132 [$90:D132] $90D0EF 20 FF D1 JSR $D1FF [$90:D1FF] $90D0F2 20 BA D2 JSR $D2BA [$90:D2BA] $90D0F5 AD C2 09 LDA $09C2 [$7E:09C2] $90D0F8 C9 1E 00 CMP #$001E $90D0FB 30 08 BMI $08 [$D105] $90D0FD CE C2 09 DEC $09C2 [$7E:09C2] $90D100 10 03 BPL $03 [$D105] $90D102 9C C2 09 STZ $09C2 $90D105 60 RTS ;;; Horizontal Super Jump routine ;;; ; Used by 0A58 $90D106 A9 02 00 LDA #$0002 $90D109 8D 6E 0A STA $0A6E [$7E:0A6E] $90D10C A9 08 00 LDA #$0008 $90D10F 8D 48 0A STA $0A48 [$7E:0A48] $90D112 A2 08 00 LDX #$0008 $90D115 AC 20 EF LDY $EF20 [$90:EF20] $90D118 20 E7 EE JSR $EEE7 [$90:EEE7] $90D11B 20 32 D1 JSR $D132 [$90:D132] $90D11E 20 BA D2 JSR $D2BA [$90:D2BA] $90D121 AD C2 09 LDA $09C2 [$7E:09C2] $90D124 C9 1E 00 CMP #$001E $90D127 30 08 BMI $08 [$D131] $90D129 CE C2 09 DEC $09C2 [$7E:09C2] $90D12C 10 03 BPL $03 [$D131] $09D12E 9C C2 09 STZ $09C2 $90D131 60 RTS ;;; Super jump horizontal movement ;;; ; Set $0A68 to #$000F, add acceleration to speed (cap at F.00 pixels), ; then standard enemy detection/movement (E4AD/E464, A0:A8F0, 94:971E, 94:87F4). ; Also caps scrolling to F pixels $90D132 A9 0F 00 LDA #$000F $90D135 8D 68 0A STA $0A68 [$7E:0A68] $90D138 AD 44 0B LDA $0B44 [$7E:0B44] $90D13B 18 CLC $90D13C 6D 32 0B ADC $0B32 [$7E:0B32] $90D13F 8D 44 0B STA $0B44 [$7E:0B44] $90D142 AD 42 0B LDA $0B42 [$7E:0B42] $90D145 6D 34 0B ADC $0B34 [$7E:0B34] $90D148 8D 42 0B STA $0B42 [$7E:0B42] $90D14B C9 0F 00 CMP #$000F $90D14E 30 09 BMI $09 [$D159] $90D150 A9 0F 00 LDA #$000F $90D153 8D 42 0B STA $0B42 [$7E:0B42] $90D156 9C 44 0B STZ $0B44 [$7E:0B44] $90D159 64 12 STZ $12 [$7E:0012] $90D15B 64 14 STZ $14 [$7E:0014] $90D15D AD 1E 0A LDA $0A1E [$7E:0A1E] $90D160 29 FF 00 AND #$00FF $90D163 C9 04 00 CMP #$0004 $90D166 F0 25 BEQ $25 [$D18D] $90D168 20 AD E4 JSR $E4AD [$90:E4AD] $90D16B A5 12 LDA $12 [$7E:0012] $90D16D C9 0F 00 CMP #$000F $90D170 30 05 BMI $05 [$D177] $90D172 A9 0F 00 LDA #$000F $90D175 85 12 STA $12 [$7E:0012] $90D177 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $90D17B AA TAX $90D17C F0 05 BEQ $05 [$D183] $90D183 22 1E 97 94 JSL $94971E[$94:971E] $90D187 22 F4 87 94 JSL $9487F4[$94:87F4] $90D18B 80 49 BRA $49 [$D1D6] $90D18D 20 64 E4 JSR $E464 [$90:E464] $90D190 A5 12 LDA $12 [$7E:0012] $90D192 49 FF FF EOR #$FFFF $90D195 85 12 STA $12 [$7E:0012] $90D197 A5 14 LDA $14 [$7E:0014] $90D199 49 FF FF EOR #$FFFF $90D19C 1A INC A $90D19D 85 14 STA $14 [$7E:0014] $90D19F D0 02 BNE $02 [$D1A3] $90D1A1 E6 12 INC $12 [$7E:0012] $90D1A3 A5 12 LDA $12 [$7E:0012] $90D1A5 C9 0F 00 CMP #$000F $90D1A8 30 05 BMI $05 [$D1AF] $90D1AA A9 0F 00 LDA #$000F $90D1AD 85 12 STA $12 [$7E:0012] $90D1AF 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $90D1B3 AA TAX $90D1B4 F0 05 BEQ $05 [$D1BB] $90D1BB A5 12 LDA $12 [$7E:0012] $90D1BD 49 FF FF EOR #$FFFF $90D1C0 85 12 STA $12 [$7E:0012] $90D1C2 A5 14 LDA $14 [$7E:0014] $90D1C4 49 FF FF EOR #$FFFF $90D1C7 1A INC A $90D1C8 85 14 STA $14 [$7E:0014] $90D1CA D0 02 BNE $02 [$D1CE] $90D1CC E6 12 INC $12 [$7E:0012] $90D1CE 22 1E 97 94 JSL $94971E[$94:971E] $90D1D2 22 F4 87 94 JSL $9487F4[$94:87F4] $90D1D6 AD F6 0A LDA $0AF6 [$7E:0AF6] $90D1D9 38 SEC $90D1DA ED 10 0B SBC $0B10 [$7E:0B10] $90D1DD 30 10 BMI $10 [$D1EF] $90D1DF C9 10 00 CMP #$0010 $90D1E2 30 1A BMI $1A [$D1FE] $90D1EF C9 F1 FF CMP #$FFF1 $90D1F2 10 0A BPL $0A [$D1FE] $90D1FE 60 RTS ;;; Super jump vertical movement ;;; ; Set $0A68 to #$000F, add rate of acceleration (0B32) to acceleration (0DEC), ; add acceleration to vertical speed, set movement and cap it at at E.XX pixels, ; add external movement and cap total movement at F.XX pixels. ; Finally gets to normal movement stuff: A0:A8F0 and 94:9763, then cap scrolling to E pixels. $90D1FF A9 0F 00 LDA #$000F $90D202 8D 68 0A STA $0A68 [$7E:0A68] $90D205 AD EE 0D LDA $0DEE [$7E:0DEE] $90D208 18 CLC $90D209 6D 32 0B ADC $0B32 [$7E:0B32] $90D20C 8D EE 0D STA $0DEE [$7E:0DEE] $90D20F AD EC 0D LDA $0DEC [$7E:0DEC] $90D212 6D 34 0B ADC $0B34 [$7E:0B34] $90D215 8D EC 0D STA $0DEC [$7E:0DEC] $90D218 AD 2C 0B LDA $0B2C [$7E:0B2C] $90D21B 18 CLC $90D21C 6D EE 0D ADC $0DEE [$7E:0DEE] $90D21F 8D 2C 0B STA $0B2C [$7E:0B2C] $90D222 85 14 STA $14 [$7E:0014] $90D224 AD 2E 0B LDA $0B2E [$7E:0B2E] $90D227 6D EC 0D ADC $0DEC [$7E:0DEC] $90D22A 8D 2E 0B STA $0B2E [$7E:0B2E] $90D22D 85 12 STA $12 [$7E:0012] $90D22F C9 0E 00 CMP #$000E $90D232 30 05 BMI $05 [$D239] $90D234 A9 0E 00 LDA #$000E $90D237 85 12 STA $12 [$7E:0012] $90D239 A5 12 LDA $12 [$7E:0012] $90D23B 49 FF FF EOR #$FFFF $90D23E 85 12 STA $12 [$7E:0012] $90D240 A5 14 LDA $14 [$7E:0014] $90D242 49 FF FF EOR #$FFFF $90D245 1A INC A $90D246 85 14 STA $14 [$7E:0014] $90D248 D0 02 BNE $02 [$D24C] $90D24A E6 12 INC $12 [$7E:0012] $90D24C AD 5A 0B LDA $0B5A [$7E:0B5A] $90D24F 18 CLC $90D250 65 14 ADC $14 [$7E:0014] $90D252 85 14 STA $14 [$7E:0014] $90D254 AD 5C 0B LDA $0B5C [$7E:0B5C] $90D257 65 12 ADC $12 [$7E:0012] $90D259 85 12 STA $12 [$7E:0012] $90D25B A9 02 00 LDA #$0002 $90D25E 8D 02 0B STA $0B02 [$7E:0B02] $90D261 A5 12 LDA $12 [$7E:0012] $90D263 49 FF FF EOR #$FFFF $90D266 85 12 STA $12 [$7E:0012] $90D268 A5 14 LDA $14 [$7E:0014] $90D26A 49 FF FF EOR #$FFFF $90D26D 1A INC A $90D26E 85 14 STA $14 [$7E:0014] $90D270 D0 02 BNE $02 [$D274] $90D272 E6 12 INC $12 [$7E:0012] $90D274 A5 12 LDA $12 [$7E:0012] $90D276 C9 0F 00 CMP #$000F $90D279 30 05 BMI $05 [$D280] $90D280 22 F0 A8 A0 JSL $A0A8F0[$A0:A8F0] $90D284 AA TAX $90D285 F0 05 BEQ $05 [$D28C] $90D28C A5 12 LDA $12 [$7E:0012] $90D28E 49 FF FF EOR #$FFFF $90D291 85 12 STA $12 [$7E:0012] $90D293 A5 14 LDA $14 [$7E:0014] $90D295 49 FF FF EOR #$FFFF $90D298 1A INC A $90D299 85 14 STA $14 [$7E:0014] $90D29B D0 02 BNE $02 [$D29F] $90D29D E6 12 INC $12 [$7E:0012] $90D29F 22 63 97 94 JSL $949763[$94:9763] $90D2A3 AD FA 0A LDA $0AFA [$7E:0AFA] $90D2A6 38 SEC $90D2A7 ED 14 0B SBC $0B14 [$7E:0B14] $90D2AA C9 F2 FF CMP #$FFF2 $90D2AD 10 0A BPL $0A [$D2B9] $90D2AF AD FA 0A LDA $0AFA [$7E:0AFA] $90D2B2 18 CLC $90D2B3 69 0E 00 ADC #$000E $90D2B6 8D 14 0B STA $0B14 [$7E:0B14] $90D2B9 60 RTS ;;; End Super Jump ;;; $90D2BA AD C2 09 LDA $09C2 [$7E:09C2] $90D2BD C9 1E 00 CMP #$001E $90D2C0 30 07 BMI $07 [$D2C9] $90D2C2 AD D0 0D LDA $0DD0 [$7E:0DD0] $90D2C5 D0 02 BNE $02 [$D2C9] $90D2C7 18 CLC $90D2C8 60 RTS $90D2C9 AD 1E 0A LDA $0A1E [$7E:0A1E] $90D2CC 29 FF 00 AND #$00FF $90D2CF C9 04 00 CMP #$0004 $90D2D2 F0 14 BEQ $14 [$D2E8] $90D2D4 A9 E0 00 LDA #$00E0 $90D2D7 8D C0 0A STA $0AC0 [$7E:0AC0] $90D2DA A9 60 00 LDA #$0060 $90D2DD 8D C2 0A STA $0AC2 [$7E:0AC2] $90D2E0 A9 FC FF LDA #$FFFC $90D2E3 8D B4 0A STA $0AB4 [$7E:0AB4] $90D2E6 80 12 BRA $12 [$D2FA] $90D2E8 A9 20 00 LDA #$0020 $90D2EB 8D C0 0A STA $0AC0 [$7E:0AC0] $90D2EE A9 A0 00 LDA #$00A0 $90D2F1 8D C2 0A STA $0AC2 [$7E:0AC2] $90D2F4 A9 04 00 LDA #$0004 $90D2F7 8D B4 0A STA $0AB4 [$7E:0AB4] $90D2FA 9C 2C 0B STZ $0B2C [$7E:0B2C] $90D2FD 9C 2E 0B STZ $0B2E [$7E:0B2E] $90D300 9C 42 0B STZ $0B42 [$7E:0B42] $90D303 9C 44 0B STZ $0B44 [$7E:0B44] $90D306 9C 3E 0B STZ $0B3E [$7E:0B3E] $90D309 9C 1A 0B STZ $0B1A [$7E:0B1A] $90D30C 9C 36 0B STZ $0B36 [$7E:0B36] $90D30F A9 46 D3 LDA #$D346 $90D312 8D 58 0A STA $0A58 [$7E:0A58] $90D315 A9 F3 EB LDA #$EBF3 $90D318 8D 5C 0A STA $0A5C [$7E:0A5C] $90D31B 9C AE 0A STZ $0AAE [$7E:0AAE] $90D31E AD F6 0A LDA $0AF6 [$7E:0AF6] $90D321 8D B0 0A STA $0AB0 [$7E:0AB0] $90D324 8D B2 0A STA $0AB2 [$7E:0AB2] $90D327 AD FA 0A LDA $0AFA [$7E:0AFA] $90D32A 8D B8 0A STA $0AB8 [$7E:0AB8] $90D32D 8D BA 0A STA $0ABA [$7E:0ABA] $90D330 9C C4 0A STZ $0AC4 [$7E:0AC4] $90D333 9C 48 0A STZ $0A48 [$7E:0A48] $90D336 A9 35 00 LDA #$0035 $90D339 22 49 90 80 JSL $809049[$80:9049] $90D33D A9 10 00 LDA #$0010 $90D340 22 4D 91 80 JSL $80914D[$80:914D] $90D344 38 SEC $90D345 60 RTS ;;; ;;; $90D346 A9 0F 00 LDA #$000F $90D349 8D 68 0A STA $0A68 [$7E:0A68] $90D34C AD AF 0A LDA $0AAF [$7E:0AAF] $90D34F 29 FF 00 AND #$00FF $90D352 0A ASL A $90D353 AA TAX $90D354 FC 7D D3 JSR ($D37D,x)[$90:D383] $90D357 A2 02 00 LDX #$0002 $90D35A BC C0 0A LDY $0AC0,x[$7E:0AC2] $90D35D AD AE 0A LDA $0AAE [$7E:0AAE] $90D360 29 FF 00 AND #$00FF $90D363 20 39 CC JSR $CC39 [$90:CC39] $90D366 AD F6 0A LDA $0AF6 [$7E:0AF6] $90D369 18 CLC $90D36A 65 14 ADC $14 [$7E:0014] $90D36C 9D B0 0A STA $0AB0,x[$7E:0AB2] $90D36F AD FA 0A LDA $0AFA [$7E:0AFA] $90D372 18 CLC $90D373 65 16 ADC $16 [$7E:0016] $90D375 9D B8 0A STA $0AB8,x[$7E:0ABA] $90D378 CA DEX $90D379 CA DEX $90D37A 10 DE BPL $DE [$D35A] $90D37C 60 RTS $90D37D db 83 $90D37F db 96 $90D381 db CC $90D383 AD AE 0A LDA $0AAE [$7E:0AAE] $90D386 18 CLC $90D387 69 04 00 ADC #$0004 $90D38A C9 10 00 CMP #$0010 $90D38D 30 03 BMI $03 [$D392] $90D38F 09 00 01 ORA #$0100 $90D392 8D AE 0A STA $0AAE [$7E:0AAE] $90D395 60 RTS $90D396 AD C0 0A LDA $0AC0 [$7E:0AC0] $90D399 18 CLC $90D39A 6D B4 0A ADC $0AB4 [$7E:0AB4] $90D39D 29 FF 00 AND #$00FF $90D3A0 8D C0 0A STA $0AC0 [$7E:0AC0] $90D3A3 AD C2 0A LDA $0AC2 [$7E:0AC2] $90D3A6 18 CLC $90D3A7 6D B4 0A ADC $0AB4 [$7E:0AB4] $90D3AA 29 FF 00 AND #$00FF $90D3AD 8D C2 0A STA $0AC2 [$7E:0AC2] $90D3B0 AD BC 0A LDA $0ABC [$7E:0ABC] $90D3B3 18 CLC $90D3B4 69 04 00 ADC #$0004 $90D3B7 8D BC 0A STA $0ABC [$7E:0ABC] $90D3BA C9 80 00 CMP #$0080 $90D3BD 30 0C BMI $0C [$D3CB] $90D3BF AD AE 0A LDA $0AAE [$7E:0AAE] $90D3C2 29 FF 00 AND #$00FF $90D3C5 09 00 02 ORA #$0200 $90D3C8 8D AE 0A STA $0AAE [$7E:0AAE] $90D3CB 60 RTS $90D3CC AD AE 0A LDA $0AAE [$7E:0AAE] $90D3CF 38 SEC $90D3D0 E9 04 00 SBC #$0004 $90D3D3 8D AE 0A STA $0AAE [$7E:0AAE] $90D3D6 29 FF 00 AND #$00FF $90D3D9 F0 02 BEQ $02 [$D3DD] $90D3DB 10 15 BPL $15 [$D3F2] $90D3DD A9 F3 D3 LDA #$D3F3 $90D3E0 8D 58 0A STA $0A58 [$7E:0A58] $90D3E3 A9 1E 00 LDA #$001E $90D3E6 8D A2 0A STA $0AA2 [$7E:0AA2] $90D3E9 9C AE 0A STZ $0AAE [$7E:0AAE] $90D3EC 9C C0 0A STZ $0AC0 [$7E:0AC0] $90D3EF 9C C2 0A STZ $0AC2 [$7E:0AC2] $90D3F2 60 RTS $90D3F3 A9 0F 00 LDA #$000F $90D3F6 8D 68 0A STA $0A68 [$7E:0A68] $90D3F9 CE A2 0A DEC $0AA2 [$7E:0AA2] $90D3FC F0 02 BEQ $02 [$D400] $90D3FE 10 0C BPL $0C [$D40C] $90D400 A9 0D D4 LDA #$D40D $90D403 8D 58 0A STA $0A58 [$7E:0A58] $90D406 A9 52 EB LDA #$EB52 $90D409 8D 5C 0A STA $0A5C [$7E:0A5C] $90D40C 60 RTS $90D40D 9C AE 0A STZ $0AAE [$7E:0AAE] $90D410 AD CE 0C LDA $0CCE [$7E:0CCE] $90D413 C9 05 00 CMP #$0005 $90D416 10 7F BPL $7F [$D497] $90D418 C9 04 00 CMP #$0004 $90D41B 10 3D BPL $3D [$D45A] $90D41D EE CE 0C INC $0CCE [$7E:0CCE] $90D420 A9 40 00 LDA #$0040 $90D423 8D C4 0A STA $0AC4 [$7E:0AC4] $90D426 AD F6 0A LDA $0AF6 [$7E:0AF6] $90D429 8D B4 0A STA $0AB4 [$7E:0AB4] $90D42C AD FA 0A LDA $0AFA [$7E:0AFA] $90D42F 8D BC 0A STA $0ABC [$7E:0ABC] $90D432 A9 29 80 LDA #$8029 $90D435 8D 1E 0C STA $0C1E [$7E:0C1E] $90D438 A2 06 00 LDX #$0006 $90D43B 22 63 81 93 JSL $938163[$93:8163] $90D43F A9 D2 D4 LDA #$D4D2 $90D442 8D 6E 0C STA $0C6E [$7E:0C6E] $90D445 AD 1C 0A LDA $0A1C [$7E:0A1C] $90D448 38 SEC $90D449 E9 C9 00 SBC #$00C9 $90D44C 0A ASL A $90D44D AA TAX $90D44E BD C6 D4 LDA $D4C6,x[$90:D4C6] $90D451 29 FF 00 AND #$00FF $90D454 8D 82 0C STA $0C82 [$7E:0C82] $90D457 9C E2 0B STZ $0BE2 [$7E:0BE2] $90D45A EE CE 0C INC $0CCE [$7E:0CCE] $90D45D A9 40 00 LDA #$0040 $90D460 8D C6 0A STA $0AC6 [$7E:0AC6] $90D463 AD F6 0A LDA $0AF6 [$7E:0AF6] $90D466 8D B6 0A STA $0AB6 [$7E:0AB6] $90D469 AD FA 0A LDA $0AFA [$7E:0AFA] $90D46C 8D BE 0A STA $0ABE [$7E:0ABE] $90D46F A9 29 80 LDA #$8029 $90D472 8D 20 0C STA $0C20 [$7E:0C20] $90D475 A2 08 00 LDX #$0008 $90D478 22 63 81 93 JSL $938163[$93:8163] $90D47C A9 D2 D4 LDA #$D4D2 $90D47F 8D 70 0C STA $0C70 [$7E:0C70] $90D482 AD 1C 0A LDA $0A1C [$7E:0A1C] $90D485 38 SEC $90D486 E9 C9 00 SBC #$00C9 $90D489 0A ASL A $90D48A AA TAX $90D48B BD C7 D4 LDA $D4C7,x[$90:D4C7] $90D48E 29 FF 00 AND #$00FF $90D491 8D 84 0C STA $0C84 [$7E:0C84] $90D494 9C E4 0B STZ $0BE4 [$7E:0BE4] $90D497 9C CC 0C STZ $0CCC [$7E:0CCC] $90D49A A9 01 00 LDA #$0001 $90D49D 8D 68 0A STA $0A68 [$7E:0A68] $90D4A0 AD 1E 0A LDA $0A1E [$7E:0A1E] $90D4A3 29 FF 00 AND #$00FF $90D4A6 C9 04 00 CMP #$0004 $90D4A9 F0 08 BEQ $08 [$D4B3] $90D4AB A9 01 00 LDA #$0001 $90D4AE 8D 2C 0A STA $0A2C [$7E:0A2C] $90D4B1 80 06 BRA $06 [$D4B9] $90D4B3 A9 02 00 LDA #$0002 $90D4B6 8D 2C 0A STA $0A2C [$7E:0A2C] $90D4B9 A9 02 00 LDA #$0002 $90D4BC 8D 32 0A STA $0A32 [$7E:0A32] $90D4BF 9C EC 0D STZ $0DEC [$7E:0DEC] $90D4C2 9C EE 0D STZ $0DEE [$7E:0DEE] $90D4C5 60 RTS $90D4C6 db 00, 80, 00, 80, 40, C0, 40, C0, E0, 60, 20, A0 $90D4D2 BD DC 0B LDA $0BDC,x[$7E:0BE4] $90D4D5 18 CLC $90D4D6 69 08 00 ADC #$0008 $90D4D9 9D DC 0B STA $0BDC,x[$7E:0BE4] $90D4DC BC 7C 0C LDY $0C7C,x[$7E:0C84] $90D4DF BD DC 0B LDA $0BDC,x[$7E:0BE4] $90D4E2 29 FF 00 AND #$00FF $90D4E5 20 39 CC JSR $CC39 [$90:CC39] $90D4E8 AD F6 0A LDA $0AF6 [$7E:0AF6] $90D4EB 18 CLC $90D4EC 65 14 ADC $14 [$7E:0014] $90D4EE 9D AE 0A STA $0AAE,x[$7E:0AB6] $90D4F1 9D 64 0B STA $0B64,x[$7E:0B6C] $90D4F4 38 SEC $90D4F5 ED 11 09 SBC $0911 [$7E:0911] $90D4F8 30 1D BMI $1D [$D517] $90D4FA C9 00 01 CMP #$0100 $90D4FD 10 18 BPL $18 [$D517] $90D4FF AD FA 0A LDA $0AFA [$7E:0AFA] $90D502 18 CLC $90D503 65 16 ADC $16 [$7E:0016] $90D505 9D B6 0A STA $0AB6,x[$7E:0ABE] $90D508 9D 78 0B STA $0B78,x[$7E:0B80] $90D50B 38 SEC $90D50C ED 15 09 SBC $0915 [$7E:0915] $90D50F 30 06 BMI $06 [$D517] $90D511 C9 00 01 CMP #$0100 $90D514 10 01 BPL $01 [$D517] $90D516 60 RTS $90D517 9E BE 0A STZ $0ABE,x[$7E:0AC6] $90D51A 9E AE 0A STZ $0AAE,x[$7E:0AB6] $90D51D 9E B6 0A STZ $0AB6,x[$7E:0ABE] $90D520 22 B7 AD 90 JSL $90ADB7[$90:ADB7] $90D524 60 RTS $90D5A2 08 PHP $90D5A3 C2 30 REP #$30 $90D5A5 AD 98 09 LDA $0998 [$7E:0998] $90D5A8 C9 28 00 CMP #$0028 $90D5AB 10 0E BPL $0E [$D5BB] $90D5AD A9 30 04 LDA #$0430 $90D5B0 0D B2 09 ORA $09B2 [$7E:09B2] $90D5B3 85 12 STA $12 [$7E:0012] $90D5B5 A5 8B LDA $8B [$7E:008B] $90D5B7 C5 12 CMP $12 [$7E:0012] $90D5B9 D0 2F BNE $2F [$D5EA] $90D5EA 28 PLP $90D5EB 38 SEC $90D5EC 6B RTL ;;; Handles Samus's firing/selecting weapons ;;; $90DCDD 08 PHP $90DCDE C2 30 REP #$30 $90DCE0 AD 1C 0A LDA $0A1C [$7E:0A1C] $90DCE3 F0 1B BEQ $1B [$DD00] $90DCE5 C9 9B 00 CMP #$009B $90DCE8 F0 16 BEQ $16 [$DD00] $90DCEA 20 1C AC JSR $AC1C [$90:AC1C] $90DCED 20 B5 C4 JSR $C4B5 [$90:C4B5] $90DCF0 AD 1F 0A LDA $0A1F [$7E:0A1F] $90DCF3 29 FF 00 AND #$00FF $90DCF6 0A ASL A $90DCF7 AA TAX $90DCF8 FC 05 DD JSR ($DD05,x)[$90:DD3D] $90DCFB AD 78 0A LDA $0A78 [$7E:0A78] $90DCFE D0 03 BNE $03 [$DD03] $90DD00 20 CE AE JSR $AECE [$90:AECE] $90DD03 28 PLP $90DD04 60 RTS ; Pointers to code to run for firing beams, indexed by Samus' movement type $90DD05 dw DD3D, DD3D, DD3D, DDB6, BF9D, DD3D, DD3D, BF9D, BF9D, BF9D, DDB6, DD6F, DD6F, DDB6, DD74, DD8C, DD3D, BF9D, BF9D, BF9D, DDB6, DD3D, DD6F, DD74, DD74, DDB6, DDD8, DDB6 ;;; ;;; $90DD3D 08 PHP $90DD3E C2 30 REP #$30 $90DD40 AD 32 0D LDA $0D32 [$7E:0D32] $90DD43 C9 F0 C4 CMP #$C4F0 $90DD46 F0 05 BEQ $05 [$DD4D] $90DD48 A2 08 00 LDX #$0008 $90DD4B 80 0F BRA $0F [$DD5C] $90DD4D AD 78 0A LDA $0A78 [$7E:0A78] $90DD50 F0 05 BEQ $05 [$DD57] $90DD52 A2 0A 00 LDX #$000A $90DD55 80 05 BRA $05 [$DD5C] $90DD57 AD D2 09 LDA $09D2 [$7E:09D2] $90DD5A 0A ASL A $90DD5B AA TAX $90DD5C FC 61 DD JSR ($DD61,x)[$90:BE62] $90DD5F 28 PLP $90DD60 60 RTS $90DD61 db 0D $90DD63 db 62 $90DD65 db 62 $90DD67 db 0D $90DD69 db 6F $90DD6B db C8 $90DD6F 22 90 C4 9B JSL $9BC490[$9B:C490] $90DD73 60 RTS $90DD74 AD 5E 0B LDA $0B5E [$7E:0B5E] $90DD77 F0 04 BEQ $04 [$DD7D] $90DD79 20 3D DD JSR $DD3D [$90:DD3D] $90DD7C 60 RTS $90DD7D AD 32 0D LDA $0D32 [$7E:0D32] $90DD80 C9 F0 C4 CMP #$C4F0 $90DD83 F0 06 BEQ $06 [$DD8B] $90DD8B 60 RTS $90DD8C AD 1C 0A LDA $0A1C [$7E:0A1C] $90DD8F C9 F1 00 CMP #$00F1 $90DD92 10 12 BPL $12 [$DDA6] $90DD94 C9 DB 00 CMP #$00DB $90DD97 10 10 BPL $10 [$DDA9] $90DD99 38 SEC $90DD9A E9 35 00 SBC #$0035 $90DD9D AA TAX $90DD9E BD AA DD LDA $DDAA,x[$90:DDAA] $90DDA1 29 FF 00 AND #$00FF $90DDA4 D0 10 BNE $10 [$DDB6] $90DDA6 20 3D DD JSR $DD3D [$90:DD3D] $90DDA9 60 RTS $90DDAA db 00, 00, 01, 01, 01 $90DDB0 db 00, 00, 01, 01, 01 $90DDB6 AD 32 0D LDA $0D32 [$7E:0D32] $90DDB9 C9 F0 C4 CMP #$C4F0 $90DDBC F0 09 BEQ $09 [$DDC7] $90DDBE A9 56 C8 LDA #$C856 $90DDC1 8D 32 0D STA $0D32 [$7E:0D32] $90DDC4 20 3D DD JSR $DD3D [$90:DD3D] $90DDC7 60 RTS $90DDC8 A5 8B LDA $8B [$7E:008B] $90DDCA 2C B6 09 BIT $09B6 [$7E:09B6] $90DDCD D0 04 BNE $04 [$DDD3] $90DDCF 20 0D B8 JSR $B80D [$90:B80D] $90DDD2 60 RTS $90DDD3 22 D6 CA 91 JSL $91CAD6[$91:CAD6] $90DDD7 60 RTS $90DDD8 AD 1C 0A LDA $0A1C [$7E:0A1C] $90DDDB C9 DF 00 CMP #$00DF $90DDDE F0 05 BEQ $05 [$DDE5] $90DDE0 20 3D DD JSR $DD3D [$90:DD3D] $90DDE3 80 03 BRA $03 [$DDE8] $90DDE8 60 RTS ;;; Samus is hit interruption ;;; $90DDE9 08 PHP $90DDEA C2 30 REP #$30 $90DDEC AD AA 18 LDA $18AA [$7E:18AA] $90DDEF F0 2F BEQ $2F [$DE20] $90DDF1 AD E0 0D LDA $0DE0 [$7E:0DE0] $90DDF4 C9 07 00 CMP #$0007 $90DDF7 30 08 BMI $08 [$DE01] $90DE01 AD 78 0A LDA $0A78 [$7E:0A78] $90DE04 D0 18 BNE $18 [$DE1E] $90DE06 AD 52 0A LDA $0A52 [$7E:0A52] $90DE09 D0 13 BNE $13 [$DE1E] $90DE0B AD 1F 0A LDA $0A1F [$7E:0A1F] $90DE0E 29 FF 00 AND #$00FF $90DE11 0A ASL A $90DE12 AA TAX $90DE13 FC 82 DE JSR ($DE82,x)[$90:DEFA] $90DE16 90 06 BCC $06 [$DE1E] $90DE18 A9 01 00 LDA #$0001 $90DE1B 8D 30 0A STA $0A30 [$7E:0A30] $90DE1E 28 PLP $90DE1F 60 RTS $90DE20 AD 52 0A LDA $0A52 [$7E:0A52] $90DE23 F0 53 BEQ $53 [$DE78] $90DE25 AD 1F 0A LDA $0A1F [$7E:0A1F] $90DE28 29 FF 00 AND #$00FF $90DE2B C9 0A 00 CMP #$000A $90DE2E F0 18 BEQ $18 [$DE48] $90DE30 AD 32 0A LDA $0A32 [$7E:0A32] $90DE33 C9 03 00 CMP #$0003 $90DE36 D0 08 BNE $08 [$DE40] $90DE40 AD 1C 0A LDA $0A1C [$7E:0A1C] $90DE43 8D 2C 0A STA $0A2C [$7E:0A2C] $90DE46 80 28 BRA $28 [$DE70] $90DE48 AD D0 0C LDA $0CD0 [$7E:0CD0] $90DE4B C9 10 00 CMP #$0010 $90DE4E 30 07 BMI $07 [$DE57] $90DE50 A9 41 00 LDA #$0041 $90DE53 22 49 90 80 JSL $809049[$80:9049] $90DE57 AD 1E 0A LDA $0A1E [$7E:0A1E] $90DE5A 29 FF 00 AND #$00FF $90DE5D C9 04 00 CMP #$0004 $90DE60 F0 08 BEQ $08 [$DE6A] $90DE62 A9 29 00 LDA #$0029 $90DE65 8D 2C 0A STA $0A2C [$7E:0A2C] $90DE68 80 06 BRA $06 [$DE70] $90DE6A A9 2A 00 LDA #$002A $90DE6D 8D 2C 0A STA $0A2C [$7E:0A2C] $90DE70 A9 01 00 LDA #$0001 $90DE73 8D 32 0A STA $0A32 [$7E:0A32] $90DE76 28 PLP $90DE77 60 RTS $90DE78 AD 56 0A LDA $0A56 [$7E:0A56] $90DE7B F0 03 BEQ $03 [$DE80] $90DE7D 20 99 DF JSR $DF99 [$90:DF99] $90DE80 28 PLP $90DE81 60 RTS $90DE82 db FA $90DE84 db FA $90DE86 db FA $90DE88 db FA $90DE8A db 15 $90DE8C db FA $90DE8E db EA $90DE92 db 15 $90DE9E db E2 $90DEA0 db E2 $90DEA2 db FA $90DEA4 db 15 $90DEA6 db 15 $90DEA8 db 15 $90DEAA db FA $90DEAC db FA $90DEAE db DD $90DEB0 db E2 $90DEB2 db E2 $90DEB8 db BA $90DEBA AD 1C 0A LDA $0A1C [$7E:0A1C] $90DEBD C9 E8 00 CMP #$00E8 $90DEC0 F0 07 BEQ $07 [$DEC9] $90DEC2 C9 E9 00 CMP #$00E9 $90DEC5 F0 02 BEQ $02 [$DEC9] $90DEC7 80 0C BRA $0C [$DED5] $90DEC9 A9 11 00 LDA #$0011 $90DECC 8D 94 0A STA $0A94 [$7E:0A94] $90DECF A9 1A 00 LDA #$001A $90DED2 8D 96 0A STA $0A96 [$7E:0A96] $90DED5 9C 30 0A STZ $0A30 [$7E:0A30] $90DED8 9C 52 0A STZ $0A52 [$7E:0A52] $90DEDB 18 CLC $90DEDC 60 RTS $90DEDD 9C 30 0A STZ $0A30 [$7E:0A30] $90DEE0 18 CLC $90DEE1 60 RTS $90DEE2 9C 30 0A STZ $0A30 [$7E:0A30] $90DEE5 9C 52 0A STZ $0A52 [$7E:0A52] $90DEE8 18 CLC $90DEE9 60 RTS $90DEEA AD 5A 0A LDA $0A5A [$7E:0A5A] $90DEED C9 1B E4 CMP #$E41B $90DEF0 D0 08 BNE $08 [$DEFA] $90DEFA AD 1E 0A LDA $0A1E [$7E:0A1E] $90DEFD 29 FF 00 AND #$00FF $90DF00 C9 04 00 CMP #$0004 $90DF03 F0 08 BEQ $08 [$DF0D] $90DF05 A9 53 00 LDA #$0053 $90DF08 8D 2A 0A STA $0A2A [$7E:0A2A] $90DF0B 80 06 BRA $06 [$DF13] $90DF0D A9 54 00 LDA #$0054 $90DF10 8D 2A 0A STA $0A2A [$7E:0A2A] $90DF13 38 SEC $90DF14 60 RTS $90DF15 AD 1C 0A LDA $0A1C [$7E:0A1C] $90DF18 8D 2A 0A STA $0A2A [$7E:0A2A] $90DF1B 38 SEC $90DF1C 60 RTS $90DF38 AD 52 0A LDA $0A52 [$7E:0A52] $90DF3B 0A ASL A $90DF3C AA TAX $90DF3D FC 44 DF JSR ($DF44,x)[$90:DF53] $90DF40 9C C6 0D STZ $0DC6 [$7E:0DC6] $90DF43 60 RTS $90DF46 db 53 $90DF48 db 53 $90DF4C db 64 $90DF4E db 64 $90DF53 20 DF 8E JSR $8EDF [$90:8EDF] $90DF56 20 E2 90 JSR $90E2 [$90:90E2] $90DF59 20 6E DF JSR $DF6E [$90:DF6E] $90DF5C 60 RTS $90DF64 20 DF 8E JSR $8EDF [$90:8EDF] $90DF67 20 3F 92 JSR $923F [$90:923F] $90DF6A 20 6E DF JSR $DF6E [$90:DF6E] $90DF6D 60 RTS $90DF6E AD D0 0D LDA $0DD0 [$7E:0DD0] $90DF71 F0 25 BEQ $25 [$DF98] $90DF73 9C 4A 0B STZ $0B4A [$7E:0B4A] $90DF76 9C CE 0D STZ $0DCE [$7E:0DCE] $90DF79 9C 22 0B STZ $0B22 [$7E:0B22] $90DF7C 9C 1A 0B STZ $0B1A [$7E:0B1A] $90DF7F 9C 2A 0B STZ $0B2A [$7E:0B2A] $90DF82 9C 2C 0B STZ $0B2C [$7E:0B2C] $90DF85 9C 2E 0B STZ $0B2E [$7E:0B2E] $90DF88 9C 36 0B STZ $0B36 [$7E:0B36] $90DF8B 9C 38 0B STZ $0B38 [$7E:0B38] $90DF8E 9C 46 0B STZ $0B46 [$7E:0B46] $90DF91 9C 48 0B STZ $0B48 [$7E:0B48] $90DF94 22 7E EC 90 JSL $90EC7E[$90:EC7E] $90DF98 60 RTS ;;; Handle bomb jumping ;;; $90DF99 AD 56 0A LDA $0A56 [$7E:0A56] $90DF9C 89 00 FF BIT #$FF00 $90DF9F D0 13 BNE $13 [$DFB4] $90DFA1 AD 1F 0A LDA $0A1F [$7E:0A1F] $90DFA4 29 FF 00 AND #$00FF $90DFA7 0A ASL A $90DFA8 AA TAX $90DFA9 FC B5 DF JSR ($DFB5,x)[$90:E012] $90DFAC 90 06 BCC $06 [$DFB4] $90DFAE A9 03 00 LDA #$0003 $90DFB1 8D 30 0A STA $0A30 [$7E:0A30] $90DFB4 60 RTS $90DFB5 dw DFED, DFF7, E01A, E01A, E012, DFED, DFF7, E012, E012, E012, E012, DFF7, DFF7, DFF7, E01A, E01A, DFF7, E012, E012, E012, DFF7, DFF7, DFF7, E01A, E01A, E01A, E020, E020 ;;; ;;; $90DFED AD 78 0A LDA $0A78 [$7E:0A78] $90DFF0 F0 05 BEQ $05 [$DFF7] $90DFF2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90DFF7 AD 1E 0A LDA $0A1E [$7E:0A1E] $90DFFA 29 FF 00 AND #$00FF $90DFFD C9 04 00 CMP #$0004 $90E000 F0 08 BEQ $08 [$E00A] $90E002 A9 51 00 LDA #$0051 $90E005 8D 2A 0A STA $0A2A [$7E:0A2A] $90E008 80 06 BRA $06 [$E010] $90E00A A9 52 00 LDA #$0052 $90E00D 8D 2A 0A STA $0A2A [$7E:0A2A] $90E010 38 SEC $90E011 60 RTS ;;; ;;; $90E012 AD 1C 0A LDA $0A1C [$7E:0A1C] $90E015 8D 2A 0A STA $0A2A [$7E:0A2A] $90E018 38 SEC $90E019 60 RTS ;;; ;;; $90E01A A9 13 E9 LDA #$E913 $90E01D 8D 60 0A STA $0A60 [$7E:0A60] $90E020 9C 56 0A STZ $0A56 [$7E:0A56] $90E023 18 CLC $90E024 60 RTS ;;; ;;; $90E025 20 2C 9A JSR $9A2C [$90:9A2C] $90E028 A9 32 E0 LDA #$E032 $90E02B 8D 58 0A STA $0A58 [$7E:0A58] $90E02E 9C C6 0D STZ $0DC6 [$7E:0DC6] $90E031 60 RTS ;;; ;;; $90E032 AD 56 0A LDA $0A56 [$7E:0A56] $90E035 D0 04 BNE $04 [$E03B] $90E037 20 7D E0 JSR $E07D [$90:E07D] $90E03A 60 RTS $90E03B 29 FF 00 AND #$00FF $90E03E 0A ASL A $90E03F AA TAX $90E040 FC 44 E0 JSR ($E044,x)[$90:E066] $90E043 60 RTS $90E044 dw DF50, E04C, E066, E04C ;;; Horizontal bomb jump ;;; $90E04C 20 DF 8E JSR $8EDF [$90:8EDF] $90E04F 20 1B 8F JSR $8F1B [$90:8F1B] $90E052 AD 36 0B LDA $0B36 [$7E:0B36] $90E055 C9 02 00 CMP #$0002 $90E058 F0 08 BEQ $08 [$E062] $90E05A 20 E2 90 JSR $90E2 [$90:90E2] $90E05D AD D0 0D LDA $0DD0 [$7E:0DD0] $90E060 F0 03 BEQ $03 [$E065] $90E062 20 7D E0 JSR $E07D [$90:E07D] $90E065 60 RTS ;;; Vertical bomb jump ;;; $90E066 20 1B 8F JSR $8F1B [$90:8F1B] $90E069 AD 36 0B LDA $0B36 [$7E:0B36] $90E06C C9 02 00 CMP #$0002 $90E06F F0 08 BEQ $08 [$E079] $90E071 20 E2 90 JSR $90E2 [$90:90E2] $90E074 AD D0 0D LDA $0DD0 [$7E:0DD0] $90E077 F0 03 BEQ $03 [$E07C] $90E079 20 7D E0 JSR $E07D [$90:E07D] $90E07C 60 RTS ;;; ;;; $90E07D A9 37 A3 LDA #$A337 $90E080 8D 58 0A STA $0A58 [$7E:0A58] $90E083 AD 60 0A LDA $0A60 [$7E:0A60] $90E086 C9 1D E9 CMP #$E91D $90E089 F0 06 BEQ $06 [$E091] $90E08B A9 13 E9 LDA #$E913 $90E08E 8D 60 0A STA $0A60 [$7E:0A60] $90E091 9C 56 0A STZ $0A56 [$7E:0A56] $90E094 60 RTS $90E095 db 3C, 00 ;;; ;;; ; Commonly an RTS (#$E90E). Rarely used, I'm hoping. Used for timer (E0E6), no other known uses $90E097 6C 5A 0A JMP ($0A5A)[$90:E0E6] ;;; ;;; $90E09B AD 1C 0A LDA $0A1C [$7E:0A1C] $90E09E C9 E9 00 CMP #$00E9 $90E0A1 D0 21 BNE $21 [$E0C4] $90E0A3 AD 96 0A LDA $0A96 [$7E:0A96] $90E0A6 C9 08 00 CMP #$0008 $90E0A9 30 19 BMI $19 [$E0C4] $90E0AB A5 8F LDA $8F [$7E:008F] $90E0AD 89 00 08 BIT #$0800 $90E0B0 F0 12 BEQ $12 [$E0C4] $90E0C4 60 RTS $90E0C5 AD 96 0A LDA $0A96 [$7E:0A96] $90E0C8 C9 08 00 CMP #$0008 $90E0CB 30 18 BMI $18 [$E0E5] $90E0CD C9 0C 00 CMP #$000C $90E0D0 10 13 BPL $13 [$E0E5] $90E0D2 A5 8F LDA $8F [$7E:008F] $90E0D4 89 00 08 BIT #$0800 $90E0D7 F0 0C BEQ $0C [$E0E5] $90E0E5 60 RTS $90E0E6 22 E7 9D 80 JSL $809DE7[$80:9DE7] $90E0EA 90 1E BCC $1E [$E10A] $90E10A AD 43 09 LDA $0943 [$7E:0943] $90E10D F0 04 BEQ $04 [$E113] $90E10F 22 6C 9F 80 JSL $809F6C[$80:9F6C] $90E113 60 RTS $90E119 08 PHP $90E11A 8B PHB $90E11B 4B PHK $90E11C AB PLB $90E11D C2 30 REP #$30 $90E11F A9 0E E9 LDA #$E90E $90E122 8D 58 0A STA $0A58 [$7E:0A58] $90E125 A9 2E E1 LDA #$E12E $90E128 8D 5A 0A STA $0A5A [$7E:0A5A] $90E12B AB PLB $90E12C 28 PLP $90E12D 6B RTL $90E12E AD 1E 0A LDA $0A1E [$7E:0A1E] $90E131 29 FF 00 AND #$00FF $90E134 C9 04 00 CMP #$0004 $90E137 F0 08 BEQ $08 [$E141] $90E141 A9 54 00 LDA #$0054 $90E144 8D 1C 0A STA $0A1C [$7E:0A1C] $90E147 22 33 F4 91 JSL $91F433[$91:F433] $90E14B 22 08 FB 91 JSL $91FB08[$91:FB08] $90E14F AD 20 0A LDA $0A20 [$7E:0A20] $90E152 8D 24 0A STA $0A24 [$7E:0A24] $90E155 AD 22 0A LDA $0A22 [$7E:0A22] $90E158 8D 26 0A STA $0A26 [$7E:0A26] $90E15B AD 1C 0A LDA $0A1C [$7E:0A1C] $90E15E 8D 20 0A STA $0A20 [$7E:0A20] $90E161 AD 1E 0A LDA $0A1E [$7E:0A1E] $90E164 8D 22 0A STA $0A22 [$7E:0A22] $90E167 A9 15 00 LDA #$0015 $90E16A 38 SEC $90E16B ED 00 0B SBC $0B00 [$7E:0B00] $90E16E 85 12 STA $12 [$7E:0012] $90E170 AD FA 0A LDA $0AFA [$7E:0AFA] $90E173 38 SEC $90E174 E5 12 SBC $12 [$7E:0012] $90E176 8D FA 0A STA $0AFA [$7E:0AFA] $90E179 AD F6 0A LDA $0AF6 [$7E:0AF6] $90E17C 38 SEC $90E17D ED 11 09 SBC $0911 [$7E:0911] $90E180 C9 80 00 CMP #$0080 $90E183 30 08 BMI $08 [$E18D] $90E18D A9 01 00 LDA #$0001 $90E190 8D 62 0A STA $0A62 [$7E:0A62] $90E193 A9 05 00 LDA #$0005 $90E196 8D 2E 0B STA $0B2E [$7E:0B2E] $90E199 9C 2C 0B STZ $0B2C [$7E:0B2C] $90E19C 9C 56 0A STZ $0A56 [$7E:0A56] $90E19F A9 C8 E1 LDA #$E1C8 $90E1A2 8D 5A 0A STA $0A5A [$7E:0A5A] $90E1A5 A9 FF FF LDA #$FFFF $90E1A8 8D 28 0A STA $0A28 [$7E:0A28] $90E1AB 8D 2A 0A STA $0A2A [$7E:0A2A] $90E1AE 8D 2C 0A STA $0A2C [$7E:0A2C] $90E1B1 9C 2E 0A STZ $0A2E [$7E:0A2E] $90E1B4 9C 30 0A STZ $0A30 [$7E:0A30] $90E1B7 9C 32 0A STZ $0A32 [$7E:0A32] $90E1BA 22 E7 9D 80 JSL $809DE7[$80:9DE7] $90E1BE AD 43 09 LDA $0943 [$7E:0943] $90E1C1 F0 04 BEQ $04 [$E1C7] $90E1C7 60 RTS $90E1C8 AD 28 0A LDA $0A28 [$7E:0A28] $90E1CB C9 4F 00 CMP #$004F $90E1CE F0 05 BEQ $05 [$E1D5] $90E1D0 C9 50 00 CMP #$0050 $90E1D3 D0 09 BNE $09 [$E1DE] $90E1DE AD 62 0A LDA $0A62 [$7E:0A62] $90E1E1 0A ASL A $90E1E2 AA TAX $90E1E3 FC F7 E1 JSR ($E1F7,x)[$90:E1FD] $90E1E6 9C C6 0D STZ $0DC6 [$7E:0DC6] $90E1E9 22 E7 9D 80 JSL $809DE7[$80:9DE7] $90E1ED AD 43 09 LDA $0943 [$7E:0943] $90E1F0 F0 04 BEQ $04 [$E1F6] $90E1F6 60 RTS $90E1F9 db FD $90E1FD 20 5F 8F JSR $8F5F [$90:8F5F] $90E200 AD D0 0D LDA $0DD0 [$7E:0DD0] $90E203 F0 13 BEQ $13 [$E218] $90E205 A9 37 A3 LDA #$A337 $90E208 8D 58 0A STA $0A58 [$7E:0A58] $90E20B A9 E6 E0 LDA #$E0E6 $90E20E 8D 5A 0A STA $0A5A [$7E:0A5A] $90E211 9C 62 0A STZ $0A62 [$7E:0A62] $90E214 20 6E DF JSR $DF6E [$90:DF6E] $90E217 60 RTS ;;; Set Samus into the grabbed by Draygon pose ;;; $90E23B 08 PHP $90E23C 8B PHB $90E23D 4B PHK $90E23E AB PLB $90E23F C2 30 REP #$30 $90E241 89 01 00 BIT #$0001 $90E244 F0 08 BEQ $08 [$E24E] $90E246 A9 EC 00 LDA #$00EC $90E249 8D 1C 0A STA $0A1C [$7E:0A1C] $90E24C 80 06 BRA $06 [$E254] $90E24E ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90E254 22 33 F4 91 JSL $91F433[$91:F433] $90E258 22 08 FB 91 JSL $91FB08[$91:FB08] $90E25C A9 A1 E2 LDA #$E2A1 $90E25F 8D 5A 0A STA $0A5A [$7E:0A5A] $90E262 A9 0E E9 LDA #$E90E $90E265 8D 58 0A STA $0A58 [$7E:0A58] $90E268 9C EC 0D STZ $0DEC [$7E:0DEC] $90E26B 9C EE 0D STZ $0DEE [$7E:0DEE] $90E26E 9C F0 0D STZ $0DF0 [$7E:0DF0] $90E271 AD 20 0A LDA $0A20 [$7E:0A20] $90E274 8D 24 0A STA $0A24 [$7E:0A24] $90E277 AD 22 0A LDA $0A22 [$7E:0A22] $90E27A 8D 26 0A STA $0A26 [$7E:0A26] $90E27D AD 1C 0A LDA $0A1C [$7E:0A1C] $90E280 8D 20 0A STA $0A20 [$7E:0A20] $90E283 AD 1E 0A LDA $0A1E [$7E:0A1E] $90E286 8D 22 0A STA $0A22 [$7E:0A22] $90E289 A9 FF FF LDA #$FFFF $90E28C 8D 28 0A STA $0A28 [$7E:0A28] $90E28F 8D 2A 0A STA $0A2A [$7E:0A2A] $90E292 8D 2C 0A STA $0A2C [$7E:0A2C] $90E295 9C 2E 0A STZ $0A2E [$7E:0A2E] $90E298 9C 30 0A STZ $0A30 [$7E:0A30] $90E29B 9C 32 0A STZ $0A32 [$7E:0A32] $90E29E AB PLB $90E29F 28 PLP $90E2A0 6B RTL ;;; ;;; $90E2A1 AD 32 0D LDA $0D32 [$7E:0D32] $90E2A4 C9 7E C7 CMP #$C77E $90E2A7 D0 0C BNE $0C [$E2B5] $90E2B4 60 RTS $90E2B5 A5 8F LDA $8F [$7E:008F] $90E2B7 29 00 0F AND #$0F00 $90E2BA F0 F8 BEQ $F8 [$E2B4] $90E2BC CD EE 0D CMP $0DEE [$7E:0DEE] $90E2BF F0 F3 BEQ $F3 [$E2B4] $90E2C1 8D EE 0D STA $0DEE [$7E:0DEE] $90E2C4 AD EC 0D LDA $0DEC [$7E:0DEC] $90E2C7 1A INC A $90E2C8 8D EC 0D STA $0DEC [$7E:0DEC] $90E2CB CD 95 E0 CMP $E095 [$90:E095] $90E2CE 30 E4 BMI $E4 [$E2B4] $90E2D0 20 DE E2 JSR $E2DE [$90:E2DE] $90E2D3 60 RTS $90E2D4 08 PHP $90E2D5 8B PHB $90E2D6 4B PHK $90E2D7 AB PLB $90E2D8 20 DE E2 JSR $E2DE [$90:E2DE] $90E2DB AB PLB $90E2DC 28 PLP $90E2DD 6B RTL $90E2DE AD 1E 0A LDA $0A1E [$7E:0A1E] $90E2E1 29 FF 00 AND #$00FF $90E2E4 C9 04 00 CMP #$0004 $90E2E7 F0 08 BEQ $08 [$E2F1] $90E2E9 A9 01 00 LDA #$0001 $90E2EC 8D 1C 0A STA $0A1C [$7E:0A1C] $90E2EF 80 06 BRA $06 [$E2F7] $90E2F1 A9 02 00 LDA #$0002 $90E2F4 8D 1C 0A STA $0A1C [$7E:0A1C] $90E2F7 22 33 F4 91 JSL $91F433[$91:F433] $90E2FB 22 08 FB 91 JSL $91FB08[$91:FB08] $90E2FF A9 37 A3 LDA #$A337 $90E302 8D 58 0A STA $0A58 [$7E:0A58] $90E305 A9 0E E9 LDA #$E90E $90E308 8D 5A 0A STA $0A5A [$7E:0A5A] $90E30B AD 20 0A LDA $0A20 [$7E:0A20] $90E30E 8D 24 0A STA $0A24 [$7E:0A24] $90E311 AD 22 0A LDA $0A22 [$7E:0A22] $90E314 8D 26 0A STA $0A26 [$7E:0A26] $90E317 AD 1C 0A LDA $0A1C [$7E:0A1C] $90E31A 8D 20 0A STA $0A20 [$7E:0A20] $90E31D AD 1E 0A LDA $0A1E [$7E:0A1E] $90E320 8D 22 0A STA $0A22 [$7E:0A22] $90E323 9C 46 0B STZ $0B46 [$7E:0B46] $90E326 9C 48 0B STZ $0B48 [$7E:0B48] $90E329 A9 FF FF LDA #$FFFF $90E32C 8D 28 0A STA $0A28 [$7E:0A28] $90E32F 8D 2A 0A STA $0A2A [$7E:0A2A] $90E332 8D 2C 0A STA $0A2C [$7E:0A2C] $90E335 9C 2E 0A STZ $0A2E [$7E:0A2E] $90E338 9C 30 0A STZ $0A30 [$7E:0A30] $90E33B 9C 32 0A STZ $0A32 [$7E:0A32] $90E33E 9C 2E 0B STZ $0B2E [$7E:0B2E] $90E341 9C 2C 0B STZ $0B2C [$7E:0B2C] $90E344 9C 36 0B STZ $0B36 [$7E:0B36] $90E347 9C 20 0B STZ $0B20 [$7E:0B20] $90E34A 9C 4A 0B STZ $0B4A [$7E:0B4A] $90E34D AD 64 0A LDA $0A64 [$7E:0A64] $90E350 29 FD FF AND #$FFFD $90E353 09 02 00 ORA #$0002 $90E356 8D 64 0A STA $0A64 [$7E:0A64] $90E359 60 RTS ;;; Subtracts Samus's horizontal speed from $12.$14 (moving left) ;;; ; Also calls E4E6 $90E464 08 PHP $90E465 C2 30 REP #$30 $90E467 20 E6 E4 JSR $E4E6 [$90:E4E6] $90E46A 9C 02 0B STZ $0B02 [$7E:0B02] $90E46D A5 12 LDA $12 [$7E:0012] $90E46F 49 FF FF EOR #$FFFF $90E472 85 12 STA $12 [$7E:0012] $90E474 A5 14 LDA $14 [$7E:0014] $90E476 49 FF FF EOR #$FFFF $90E479 1A INC A $90E47A 85 14 STA $14 [$7E:0014] $90E47C D0 02 BNE $02 [$E480] $90E47E E6 12 INC $12 [$7E:0012] $90E480 AD 56 0B LDA $0B56 [$7E:0B56] $90E483 18 CLC $90E484 65 14 ADC $14 [$7E:0014] $90E486 85 14 STA $14 [$7E:0014] $90E488 AD 58 0B LDA $0B58 [$7E:0B58] $90E48B 65 12 ADC $12 [$7E:0012] $90E48D 85 12 STA $12 [$7E:0012] $90E48F 30 0E BMI $0E [$E49F] $90E491 C9 10 00 CMP #$0010 $90E494 10 02 BPL $02 [$E498] $90E496 28 PLP $90E497 60 RTS $90E49F C9 F1 FF CMP #$FFF1 $90E4A2 30 02 BMI $02 [$E4A6] $90E4A4 28 PLP $90E4A5 60 RTS ;;; Adds Samus's horizontal speed to $12.$14 (moving right) ;;; ; Also calls E4E6 $90E4AD 08 PHP $90E4AE C2 30 REP #$30 $90E4B0 20 E6 E4 JSR $E4E6 [$90:E4E6] $90E4B3 A9 01 00 LDA #$0001 $90E4B6 8D 02 0B STA $0B02 [$7E:0B02] $90E4B9 AD 56 0B LDA $0B56 [$7E:0B56] $90E4BC 18 CLC $90E4BD 65 14 ADC $14 [$7E:0014] $90E4BF 85 14 STA $14 [$7E:0014] $90E4C1 AD 58 0B LDA $0B58 [$7E:0B58] $90E4C4 65 12 ADC $12 [$7E:0012] $90E4C6 85 12 STA $12 [$7E:0012] $90E4C8 30 0E BMI $0E [$E4D8] $90E4CA C9 10 00 CMP #$0010 $90E4CD 10 02 BPL $02 [$E4D1] $90E4CF 28 PLP $90E4D0 60 RTS $90E4D8 C9 F1 FF CMP #$FFF1 $90E4DB 30 02 BMI $02 [$E4DF] $90E4DD 28 PLP $90E4DE 60 RTS ;;; Convulated routine to divide Samus's horizontal movement by 2^($0A66) ;;; $90E4E6 AD 66 0A LDA $0A66 [$7E:0A66] $90E4E9 C9 05 00 CMP #$0005 $90E4EC 30 03 BMI $03 [$E4F1] $90E4EE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90E4F1 0A ASL A $90E4F2 AA TAX $90E4F3 7C F6 E4 JMP ($E4F6,x)[$90:E500] $90E4F6 dw E500, E516, E541, E56E, E59D ;;; ;;; $90E500 A5 14 LDA $14 [$7E:0014] $90E502 18 CLC $90E503 6D 44 0B ADC $0B44 [$7E:0B44] $90E506 85 14 STA $14 [$7E:0014] $90E508 8D BE 0D STA $0DBE [$7E:0DBE] $90E50B A5 12 LDA $12 [$7E:0012] $90E50D 6D 42 0B ADC $0B42 [$7E:0B42] $90E510 85 12 STA $12 [$7E:0012] $90E512 8D BC 0D STA $0DBC [$7E:0DBC] $90E515 60 RTS ;;; ;;; $90E516 A5 14 LDA $14 [$7E:0014] $90E518 18 CLC $90E519 6D 44 0B ADC $0B44 [$7E:0B44] $90E51C 85 14 STA $14 [$7E:0014] $90E51E A5 12 LDA $12 [$7E:0012] $90E520 6D 42 0B ADC $0B42 [$7E:0B42] $90E523 EB XBA $90E524 4A LSR A $90E525 EB XBA $90E526 48 PHA $90E527 29 FF 00 AND #$00FF $90E52A 85 12 STA $12 [$7E:0012] $90E52C 8D BC 0D STA $0DBC [$7E:0DBC] $90E52F 68 PLA $90E530 29 00 FF AND #$FF00 $90E533 85 16 STA $16 [$7E:0016] $90E535 A5 14 LDA $14 [$7E:0014] $90E537 4A LSR A $90E538 18 CLC $90E539 65 16 ADC $16 [$7E:0016] $90E53B 85 14 STA $14 [$7E:0014] $90E53D 8D BE 0D STA $0DBE [$7E:0DBE] $90E540 60 RTS ;;; ;;; $90E541 A5 14 LDA $14 [$7E:0014] $90E543 18 CLC $90E544 6D 44 0B ADC $0B44 [$7E:0B44] $90E547 85 14 STA $14 [$7E:0014] $90E549 A5 12 LDA $12 [$7E:0012] $90E54B 6D 42 0B ADC $0B42 [$7E:0B42] $90E54E EB XBA $90E54F 4A LSR A $90E550 4A LSR A $90E551 EB XBA $90E552 48 PHA $90E553 29 FF 00 AND #$00FF $90E556 85 12 STA $12 [$7E:0012] $90E558 8D BC 0D STA $0DBC [$7E:0DBC] $90E55B 68 PLA $90E55C 29 00 FF AND #$FF00 $90E55F 85 16 STA $16 [$7E:0016] $90E561 A5 14 LDA $14 [$7E:0014] $90E563 4A LSR A $90E564 4A LSR A $90E565 18 CLC $90E566 65 16 ADC $16 [$7E:0016] $90E568 85 14 STA $14 [$7E:0014] $90E56A 8D BE 0D STA $0DBE [$7E:0DBE] $90E56D 60 RTS ;;; ;;; ; If Samus collided with something, stop her horizontally and clean up speed (91:DE53). Else just clear 0DC6 and 0DCE. $90E5CE 08 PHP $90E5CF C2 30 REP #$30 $90E5D1 AD D0 0D LDA $0DD0 [$7E:0DD0] $90E5D4 F0 28 BEQ $28 [$E5FE] $90E5D6 AD 02 0B LDA $0B02 [$7E:0B02] $90E5D9 F0 08 BEQ $08 [$E5E3] $90E5DB A9 08 00 LDA #$0008 $90E5DE 8D CE 0D STA $0DCE [$7E:0DCE] $90E5E1 80 06 BRA $06 [$E5E9] $90E5E3 A9 04 00 LDA #$0004 $90E5E6 8D CE 0D STA $0DCE [$7E:0DCE] $90E5E9 22 53 DE 91 JSL $91DE53[$91:DE53] $90E5ED 9C 42 0B STZ $0B42 [$7E:0B42] $90E5F0 9C 44 0B STZ $0B44 [$7E:0B44] $90E5F3 9C 46 0B STZ $0B46 [$7E:0B46] $90E5F6 9C 48 0B STZ $0B48 [$7E:0B48] $90E5F9 9C 4A 0B STZ $0B4A [$7E:0B4A] $90E5FC 80 06 BRA $06 [$E604] $90E5FE 9C C6 0D STZ $0DC6 [$7E:0DC6] $90E601 9C CE 0D STZ $0DCE [$7E:0DCE] $90E604 28 PLP $90E605 60 RTS ;;; ;;; ; Set $0DC6 to 4 if $0DD0 is set, else clear $0DC6. Unknown use $90E606 08 PHP $90E607 C2 30 REP #$30 $90E609 AD D0 0D LDA $0DD0 [$7E:0DD0] $90E60C F0 08 BEQ $08 [$E616] $90E60E A9 04 00 LDA #$0004 $90E611 8D C6 0D STA $0DC6 [$7E:0DC6] $90E614 80 03 BRA $03 [$E619] $90E616 9C C6 0D STZ $0DC6 [$7E:0DC6] $90E619 28 PLP $90E61A 60 RTS ;;; ;;; ; Sets $0DC6 depending on $0DD0 and $0A1F. Unknown use $90E61B 08 PHP $90E61C C2 30 REP #$30 $90E61E AD D0 0D LDA $0DD0 [$7E:0DD0] $90E621 F0 16 BEQ $16 [$E639] $90E623 A9 01 00 LDA #$0001 $90E626 8D C6 0D STA $0DC6 [$7E:0DC6] $90E629 E2 30 SEP #$30 $90E62B AD 1F 0A LDA $0A1F [$7E:0A1F] $90E62E AA TAX $90E62F BD 76 E6 LDA $E676,x[$90:E676] $90E632 8D C7 0D STA $0DC7 [$7E:0DC7] $90E635 C2 30 REP #$30 $90E637 80 1F BRA $1F [$E658] $90E639 AD C6 0D LDA $0DC6 [$7E:0DC6] $90E63C 29 FF 00 AND #$00FF $90E63F C9 05 00 CMP #$0005 $90E642 F0 14 BEQ $14 [$E658] $90E644 A9 02 00 LDA #$0002 $90E647 8D C6 0D STA $0DC6 [$7E:0DC6] $90E64A E2 30 SEP #$30 $90E64C AD 1F 0A LDA $0A1F [$7E:0A1F] $90E64F AA TAX $90E650 BD 5A E6 LDA $E65A,x[$90:E664] $90E653 8D C7 0D STA $0DC7 [$7E:0DC7] $90E656 C2 30 REP #$30 $90E658 28 PLP $90E659 60 RTS $90E65A db 00, 00, 04, 04, 01, 00, 04 $90E662 db 04 $90E664 db 00 $90E668 db 04, 04, 00, 03, 04, 04, 04, 00, 04, 04, 04, 04 $90E675 db 04, 04, 04, 00, 00, 04, 04, 00 $90E67E db 01 $90E680 db 00 $90E684 db 04, 04, 04, 04, 03, 03, 00, 04 $90E68D db 04, 04, 00 $90E691 db 04 ;;; ;;; $90E692 6C 42 0A JMP ($0A42)[$90:E6C9] ;;; ;;; $90E695 08 PHP $90E696 8B PHB $90E697 4B PHK $90E698 AB PLB $90E699 C2 30 REP #$30 $90E69B A9 FF FF LDA #$FFFF $90E69E 8D 28 0A STA $0A28 [$7E:0A28] $90E6A1 8D 2A 0A STA $0A2A [$7E:0A2A] $90E6A4 8D 2C 0A STA $0A2C [$7E:0A2C] $90E6A7 9C 2E 0A STZ $0A2E [$7E:0A2E] $90E6AA 9C 30 0A STZ $0A30 [$7E:0A30] $90E6AD 9C 32 0A STZ $0A32 [$7E:0A32] $90E6B0 20 22 EC JSR $EC22 [$90:EC22] $90E6B3 20 0F E9 JSR $E90F [$90:E90F] $90E6B6 20 B6 EC JSR $ECB6 [$90:ECB6] $90E6B9 20 5B 9C JSR $9C5B [$90:9C5B] $90E6BC 22 60 9B 94 JSL $949B60[$94:9B60] $90E6C0 20 DD DC JSR $DCDD [$90:DCDD] $90E6C3 20 02 EB JSR $EB02 [$90:EB02] $90E6C6 AB PLB $90E6C7 28 PLP $90E6C8 6B RTL ;;; ;;; $90E6C9 08 PHP $90E6CA 8B PHB $90E6CB 4B PHK $90E6CC AB PLB $90E6CD C2 30 REP #$30 $90E6CF A9 FF FF LDA #$FFFF $90E6D2 8D 28 0A STA $0A28 [$7E:0A28] $90E6D5 8D 2A 0A STA $0A2A [$7E:0A2A] $90E6D8 8D 2C 0A STA $0A2C [$7E:0A2C] $90E6DB 9C 2E 0A STZ $0A2E [$7E:0A2E] $90E6DE 9C 30 0A STZ $0A30 [$7E:0A30] $90E6E1 9C 32 0A STZ $0A32 [$7E:0A32] $90E6E4 A5 8B LDA $8B [$7E:008B] $90E6E6 8D 14 0A STA $0A14 [$7E:0A14] $90E6E9 A5 8F LDA $8F [$7E:008F] $90E6EB 8D 16 0A STA $0A16 [$7E:0A16] $90E6EE AD FE 0D LDA $0DFE [$7E:0DFE] $90E6F1 8D 90 0A STA $0A90 [$7E:0A90] $90E6F4 AD 00 0E LDA $0E00 [$7E:0E00] $90E6F7 8D 92 0A STA $0A92 [$7E:0A92] $90E6FA 20 22 EC JSR $EC22 [$90:EC22] $90E6FD 20 B6 EC JSR $ECB6 [$90:ECB6] $90E700 20 0F E9 JSR $E90F [$90:E90F] $90E703 20 5B 9C JSR $9C5B [$90:9C5B] $90E706 22 60 9B 94 JSL $949B60[$94:9B60] $90E70A 20 DD DC JSR $DCDD [$90:DCDD] $90E70D 20 02 EB JSR $EB02 [$90:EB02] $90E710 AB PLB $90E711 28 PLP $90E712 6B RTL ;;; ;;; $90E713 08 PHP $90E714 8B PHB $90E715 4B PHK $90E716 AB PLB $90E717 C2 30 REP #$30 $90E719 20 CE AE JSR $AECE [$90:AECE] $90E71C 20 02 EB JSR $EB02 [$90:EB02] $90E71F AB PLB $90E720 28 PLP $90E721 6B RTL $90E722 6C 44 0A JMP ($0A44)[$90:E833] ;;; ;;; $90E725 08 PHP $90E726 8B PHB $90E727 4B PHK $90E728 AB PLB $90E729 C2 30 REP #$30 $90E72B 20 2F F5 JSR $F52F [$90:F52F] $90E72E 9C 6E 0A STZ $0A6E [$7E:0A6E] ; Samus' contact damage $90E731 20 4B E9 JSR $E94B [$90:E94B] $90E734 22 1B A9 90 JSL $90A91B[$90:A91B] $90E738 20 97 E0 JSR $E097 [$90:E097] $90E73B 20 00 80 JSR $8000 [$90:8000] $90E73E 20 E9 DD JSR $DDE9 [$90:DDE9] $90E741 22 B6 E8 91 JSL $91E8B6[$91:E8B6] $90E745 22 88 EB 91 JSL $91EB88[$91:EB88] $90E749 22 F7 D6 91 JSL $91D6F7[$91:D6F7] $90E74D 20 CE E9 JSR $E9CE [$90:E9CE] $90E750 20 45 EA JSR $EA45 [$90:EA45] $90E753 20 7F EA JSR $EA7F [$90:EA7F] $90E756 AB PLB $90E757 28 PLP $90E758 6B RTL ;;; ;;; ; Some debug stuff. There is no reference to this in the ROM $90E759 AD E6 09 LDA $09E6 [$7E:09E6] ;\ $90E75C D0 08 BNE $08 [$E766] ;} If [$09E6] == 0: $90E75E AD 78 0A LDA $0A78 [$7E:0A78] ;\ $90E761 D0 03 BNE $03 [$E766] ;} If time not frozen: $90E763 20 D5 EC JSR $ECD5 [$90:ECD5] ; Move Samus with control pad $90E766 AF 02 80 80 LDA $808002[$80:8002] ;\ $90E76A F0 08 BEQ $08 [$E774] ;} If demo recorder enabled: $90E76C 22 64 84 91 JSL $918464[$91:8464] ; Record demo input frame $90E770 22 D5 84 91 JSL $9184D5[$91:84D5] ; Pause/terminate/reset demo recorder $90E774 22 55 E3 91 JSL $91E355[$91:E355] ; Give ammo and all items $90E778 2C CF 05 BIT $05CF [$7E:05CF] ;\ $90E77B 10 03 BPL $03 [$E780] ;} If weaponry is swapped: $90E77D 20 26 ED JSR $ED26 [$90:ED26] ; Swapped ammunition routine $90E780 20 86 E7 JSR $E786 [$90:E786] $90E783 AB PLB $90E784 28 PLP $90E785 6B RTL ;;; ;;; $90E786 08 PHP $90E787 C2 30 REP #$30 $90E789 A5 91 LDA $91 [$7E:0091] ;\ $90E78B 89 00 80 BIT #$8000 ;} If controller 2 newly pressed B: $90E78E F0 1E BEQ $1E [$E7AE] ;/ $90E790 AD E6 09 LDA $09E6 [$7E:09E6] ;\ $90E793 F0 0B BEQ $0B [$E7A0] ;} If [$09E6] != 0: $90E795 A9 0E E9 LDA #$E90E ;\ $90E798 8D 5C 0A STA $0A5C [$7E:0A5C] ;} Samus display handler = $E90E $90E79B 9C E6 09 STZ $09E6 [$7E:09E6] ; $09E6 = 0 $90E79E 80 30 BRA $30 [$E7D0] $90E7A0 A9 01 00 LDA #$0001 ;\ Else ([$09E6] == 0): $90E7A3 8D E6 09 STA $09E6 [$7E:09E6] ;} $09E6 = 1 $90E7A6 A9 52 EB LDA #$EB52 ;\ $90E7A9 8D 5C 0A STA $0A5C [$7E:0A5C] ;} Samus display handler = $EB52 $90E7AC 80 22 BRA $22 [$E7D0] $90E7AE AD E6 09 LDA $09E6 [$7E:09E6] ;\ Else (controller 2 not newly pressed B) $90E7B1 D0 1D BNE $1D [$E7D0] ;} If [$09E6] == 0: $90E7B3 A5 91 LDA $91 [$7E:0091] ;\ $90E7B5 89 80 00 BIT #$0080 ;} If controller 2 newly pressed A: $90E7B8 F0 16 BEQ $16 [$E7D0] ;/ $90E7BA 22 0B 80 86 JSL $86800B[$86:800B] ; Disable ER projectiles $90E7BE A9 01 00 LDA #$0001 ;\ $90E7C1 8D 78 0A STA $0A78 [$7E:0A78] ;} Freeze time $90E7C4 A9 CD E8 LDA #$E8CD ;\ $90E7C7 8D 42 0A STA $0A42 [$7E:0A42] ;} Main game handler 1 = $E8CD $90E7CA A9 D2 E7 LDA #$E7D2 ;\ $90E7CD 8D 44 0A STA $0A44 [$7E:0A44] ;} Main game handler 2 = $E7D2 $90E7D0 28 PLP $90E7D1 60 RTS ;;; ;;; $90E7D2 08 PHP $90E7D3 8B PHB $90E7D4 4B PHK $90E7D5 AB PLB $90E7D6 C2 30 REP #$30 $90E7D8 A5 91 LDA $91 [$7E:0091] $90E7DA 89 80 00 BIT #$0080 $90E7DD F0 13 BEQ $13 [$E7F2] $90E7DF A9 95 E6 LDA #$E695 $90E7E2 8D 42 0A STA $0A42 [$7E:0A42] $90E7E5 A9 25 E7 LDA #$E725 $90E7E8 8D 44 0A STA $0A44 [$7E:0A44] $90E7EB 22 00 80 86 JSL $868000[$86:8000] $90E7EF 9C 78 0A STZ $0A78 [$7E:0A78] $90E7F2 AB PLB $90E7F3 28 PLP $90E7F4 6B RTL ;;; ;;; $90E7F5 08 PHP $90E7F6 8B PHB $90E7F7 4B PHK $90E7F8 AB PLB $90E7F9 C2 30 REP #$30 $90E7FB 9C 6E 0A STZ $0A6E [$7E:0A6E] $90E7FE 20 4B E9 JSR $E94B [$90:E94B] $90E801 22 1B A9 90 JSL $90A91B[$90:A91B] $90E805 20 00 80 JSR $8000 [$90:8000] $90E808 20 E9 DD JSR $DDE9 [$90:DDE9] $90E80B 22 B6 E8 91 JSL $91E8B6[$91:E8B6] $90E80F 22 88 EB 91 JSL $91EB88[$91:EB88] $90E813 22 F7 D6 91 JSL $91D6F7[$91:D6F7] $90E817 20 2F F5 JSR $F52F [$90:F52F] $90E81A AD 14 0A LDA $0A14 [$7E:0A14] $90E81D 85 8B STA $8B [$7E:008B] $90E81F AD 16 0A LDA $0A16 [$7E:0A16] $90E822 85 8F STA $8F [$7E:008F] $90E824 AD 90 0A LDA $0A90 [$7E:0A90] $90E827 8D FE 0D STA $0DFE [$7E:0DFE] $90E82A AD 92 0A LDA $0A92 [$7E:0A92] $90E82D 8D 00 0E STA $0E00 [$7E:0E00] $90E830 AB PLB $90E831 28 PLP $90E832 6B RTL ;;; ;;; $90E833 08 PHP $90E834 8B PHB $90E835 4B PHK $90E836 AB PLB $90E837 C2 30 REP #$30 $90E839 9C 6E 0A STZ $0A6E [$7E:0A6E] $90E83C 20 4B E9 JSR $E94B [$90:E94B] $90E83F 20 00 80 JSR $8000 [$90:8000] $90E842 20 E9 DD JSR $DDE9 [$90:DDE9] $90E845 22 B6 E8 91 JSL $91E8B6[$91:E8B6] $90E849 22 88 EB 91 JSL $91EB88[$91:EB88] $90E84D 22 F7 D6 91 JSL $91D6F7[$91:D6F7] $90E851 AD 14 0A LDA $0A14 [$7E:0A14] $90E854 85 8B STA $8B [$7E:008B] $90E856 AD 16 0A LDA $0A16 [$7E:0A16] $90E859 85 8F STA $8F [$7E:008F] $90E85B AD 90 0A LDA $0A90 [$7E:0A90] $90E85E 8D FE 0D STA $0DFE [$7E:0DFE] $90E861 AD 92 0A LDA $0A92 [$7E:0A92] $90E864 8D 00 0E STA $0E00 [$7E:0E00] $90E867 AB PLB $90E868 28 PLP $90E869 6B RTL ;;; ;;; $90E86A 08 PHP $90E86B 8B PHB $90E86C 4B PHK $90E86D AB PLB $90E86E C2 30 REP #$30 $90E870 20 22 EC JSR $EC22 [$90:EC22] $90E873 22 1B A9 90 JSL $90A91B[$90:A91B] $90E877 20 00 80 JSR $8000 [$90:8000] $90E87A 9C 18 0E STZ $0E18 [$7E:0E18] $90E87D AD FA 0A LDA $0AFA [$7E:0AFA] $90E880 8D 14 0B STA $0B14 [$7E:0B14] $90E883 22 24 ED 92 JSL $92ED24[$92:ED24] $90E887 90 1E BCC $1E [$E8A7] $90E889 AD E0 0D LDA $0DE0 [$7E:0DE0] $90E88C C9 07 00 CMP #$0007 $90E88F 30 07 BMI $07 [$E898] $90E898 9C E0 0D STZ $0DE0 [$7E:0DE0] $90E89B A9 95 E6 LDA #$E695 $90E89E 8D 42 0A STA $0A42 [$7E:0A42] $90E8A1 A9 25 E7 LDA #$E725 $90E8A4 8D 44 0A STA $0A44 [$7E:0A44] $90E8A7 AB PLB $90E8A8 28 PLP $90E8A9 6B RTL $90E8AA 08 PHP $90E8AB 8B PHB $90E8AC 4B PHK $90E8AD AB PLB $90E8AE C2 30 REP #$30 $90E8B0 22 25 E7 90 JSL $90E725[$90:E725] $90E8B4 AD 5A 0A LDA $0A5A [$7E:0A5A] $90E8B7 C9 14 E1 CMP #$E114 $90E8BA D0 0E BNE $0E [$E8CA] $90E8CA AB PLB $90E8CB 28 PLP $90E8CC 6B RTL $90E8CD 08 PHP $90E8CE 8B PHB $90E8CF 4B PHK $90E8D0 AB PLB $90E8D1 C2 30 REP #$30 $90E8D3 AB PLB $90E8D4 28 PLP $90E8D5 6B RTL $90E8D6 4C CD E8 JMP $E8CD [$90:E8CD] $90E8D9 4C CD E8 JMP $E8CD [$90:E8CD] $90E8DC 08 PHP $90E8DD 8B PHB $90E8DE 4B PHK $90E8DF AB PLB $90E8E0 C2 30 REP #$30 $90E8E2 9C 6E 0A STZ $0A6E [$7E:0A6E] $90E8E5 22 1B A9 90 JSL $90A91B[$90:A91B] $90E8E9 AB PLB $90E8EA 28 PLP $90E8EB 6B RTL $90E8EC 08 PHP $90E8ED 8B PHB $90E8EE 4B PHK $90E8EF AB PLB $90E8F0 C2 30 REP #$30 $90E8F2 9C 6E 0A STZ $0A6E [$7E:0A6E] $90E8F5 20 4B E9 JSR $E94B [$90:E94B] $90E8F8 22 1B A9 90 JSL $90A91B[$90:A91B] $90E8FC 20 00 80 JSR $8000 [$90:8000] $90E8FF AB PLB $90E900 28 PLP $90E901 6B RTL $90E902 08 PHP $90E903 8B PHB $90E904 4B PHK $90E905 AB PLB $90E906 C2 30 REP #$30 $90E908 20 7F EA JSR $EA7F [$90:EA7F] $90E90B AB PLB $90E90C 28 PLP $90E90D 6B RTL $90E90E 60 RTS ;;; ;;; ; Gets controller input depending on $0A60. $0A60 is commonly #$E913, which just JSLs to 91:8000 $90E90F 6C 60 0A JMP ($0A60)[$90:E91D] ;;; ;;; $90E913 22 00 80 91 JSL $918000[$91:8000] $90E917 60 RTS ;;; ;;; $90E918 22 AF FC 91 JSL $91FCAF[$91:FCAF] $90E91C 60 RTS ;;; ;;; $90E91D 22 C0 83 91 JSL $9183C0[$91:83C0] $90E921 22 00 80 91 JSL $918000[$91:8000] $90E925 60 RTS ;;; ;;; $90E926 A5 8F LDA $8F [$7E:008F] $90E928 48 PHA $90E929 AD F4 0A LDA $0AF4 [$7E:0AF4] $90E92C F0 0F BEQ $0F [$E93D] $90E92E C9 09 00 CMP #$0009 $90E931 10 0A BPL $0A [$E93D] $90E933 A5 8F LDA $8F [$7E:008F] $90E935 0D B4 09 ORA $09B4 [$7E:09B4] $90E938 85 8F STA $8F [$7E:008F] $90E93A 9C F4 0A STZ $0AF4 [$7E:0AF4] $90E93D 22 00 80 91 JSL $918000[$91:8000] $90E941 68 PLA $90E942 85 8F STA $8F [$7E:008F] $90E944 A9 13 E9 LDA #$E913 $90E947 8D 60 0A STA $0A60 [$7E:0A60] $90E94A 60 RTS ;;; Handles Samus' movement ;;; $90E94B 6C 58 0A JMP ($0A58)[$90:A337] ;;; ;;; $90E94F AD 1F 0A LDA $0A1F [$7E:0A1F] $90E952 29 FF 00 AND #$00FF $90E955 C9 0E 00 CMP #$000E $90E958 D0 01 BNE $01 [$E95B] $90E95A 60 RTS $90E95B A9 0F 00 LDA #$000F $90E95E 8D 94 0A STA $0A94 [$7E:0A94] $90E961 AD 1E 0A LDA $0A1E [$7E:0A1E] $90E964 29 FF 00 AND #$00FF $90E967 C9 04 00 CMP #$0004 $90E96A F0 30 BEQ $30 [$E99C] $90E96C AD 82 0A LDA $0A82 [$7E:0A82] $90E96F C9 19 00 CMP #$0019 $90E972 10 05 BPL $05 [$E979] $90E974 A9 00 00 LDA #$0000 $90E977 80 51 BRA $51 [$E9CA] $90E979 C9 32 00 CMP #$0032 $90E97C 10 05 BPL $05 [$E983] $90E97E A9 01 00 LDA #$0001 $90E981 80 47 BRA $47 [$E9CA] $90E983 C9 4B 00 CMP #$004B $90E986 10 05 BPL $05 [$E98D] $90E988 A9 02 00 LDA #$0002 $90E98B 80 3D BRA $3D [$E9CA] $90E98D C9 64 00 CMP #$0064 $90E990 10 05 BPL $05 [$E997] $90E992 A9 03 00 LDA #$0003 $90E995 80 33 BRA $33 [$E9CA] $90E997 A9 04 00 LDA #$0004 $90E99A 80 2E BRA $2E [$E9CA] $90E99C AD 82 0A LDA $0A82 [$7E:0A82] $90E99F C9 99 00 CMP #$0099 $90E9A2 10 05 BPL $05 [$E9A9] $90E9A4 A9 04 00 LDA #$0004 $90E9A7 80 21 BRA $21 [$E9CA] $90E9A9 C9 B2 00 CMP #$00B2 $90E9AC 10 05 BPL $05 [$E9B3] $90E9AE A9 03 00 LDA #$0003 $90E9B1 80 17 BRA $17 [$E9CA] $90E9B3 C9 CB 00 CMP #$00CB $90E9B6 10 05 BPL $05 [$E9BD] $90E9B8 A9 02 00 LDA #$0002 $90E9BB 80 0D BRA $0D [$E9CA] $90E9BD C9 E4 00 CMP #$00E4 $90E9C0 10 05 BPL $05 [$E9C7] $90E9C2 A9 01 00 LDA #$0001 $90E9C5 80 03 BRA $03 [$E9CA] $90E9C7 A9 00 00 LDA #$0000 $90E9CA 8D 96 0A STA $0A96 [$7E:0A96] $90E9CD 60 RTS ;;; Handle periodic damage to Samus ;;; ; (Lava, acid, heat, not Metroids) $90E9CE 08 PHP $90E9CF C2 30 REP #$30 $90E9D1 AD 78 0A LDA $0A78 [$7E:0A78] ;\ $90E9D4 F0 03 BEQ $03 [$E9D9] ;} If pause time: clear periodic damage and return $90E9D6 4C 3D EA JMP $EA3D [$90:EA3D] ;/ $90E9D9 AD A2 09 LDA $09A2 [$7E:09A2] ;\ $90E9DC 89 20 00 BIT #$0020 ;} If gravity suit not equipped: $90E9DF D0 1B BNE $1B [$E9FC] ;/ $90E9E1 89 01 00 BIT #$0001 ;\ $90E9E4 F0 2B BEQ $2B [$EA11] ;} If varia suit equipped: $90E9E6 AD 4F 0A LDA $0A4F [$7E:0A4F] ;\ $90E9E9 4A LSR A ;| $90E9EA 48 PHA ;| $90E9EB EB XBA ;} Periodic subdamage /= 2 $90E9EC 29 00 FF AND #$FF00 ;| $90E9EF 8D 4E 0A STA $0A4E [$7E:0A4E] ;/ $90E9F2 68 PLA ;\ $90E9F3 EB XBA ;| $90E9F4 29 FF 00 AND #$00FF ;} Periodic damage /= 2 $90E9F7 8D 50 0A STA $0A50 [$7E:0A50] ;| $90E9FA 80 15 BRA $15 [$EA11] ;/ $90E9FC AD 4F 0A LDA $0A4F [$7E:0A4F] ;\ Else (gravity suit equipped) $90E9FF 4A LSR A ;| $90EA00 4A LSR A ;| $90EA01 48 PHA ;} Periodic subdamage /= 4 $90EA02 EB XBA ;| $90EA03 29 00 FF AND #$FF00 ;| $90EA06 8D 4E 0A STA $0A4E [$7E:0A4E] ;/ $90EA09 68 PLA ;\ $90EA0A EB XBA ;| $90EA0B 29 FF 00 AND #$00FF ;} Periodic damage /= 4 $90EA0E 8D 50 0A STA $0A50 [$7E:0A50] ;/ $90EA11 AD 50 0A LDA $0A50 [$7E:0A50] ;\ $90EA14 10 04 BPL $04 [$EA1A] ;} If periodic damage is negative, crash... $90EA16 5C 73 85 80 JMP $808573[$80:8573] ;/ $90EA1A AD 4C 0A LDA $0A4C [$7E:0A4C] ;\ $90EA1D 38 SEC ;| $90EA1E ED 4E 0A SBC $0A4E [$7E:0A4E] ;} Samus' subhealth -= periodic subdamage $90EA21 8D 4C 0A STA $0A4C [$7E:0A4C] ;/ $90EA24 AD C2 09 LDA $09C2 [$7E:09C2] ;\ $90EA27 ED 50 0A SBC $0A50 [$7E:0A50] ;} Samus' health -= periodic damage $90EA2A 8D C2 09 STA $09C2 [$7E:09C2] ;/ $90EA2D 10 0E BPL $0E [$EA3D] ; If Samus' health < 0: $90EA2F 9C 4C 0A STZ $0A4C [$7E:0A4C] ; Samus' subhealth = 0 $90EA32 9C C2 09 STZ $09C2 [$7E:09C2] ; Samus' health = 0 $90EA35 9C 4E 0A STZ $0A4E [$7E:0A4E] ; Periodic subdamage = 0 $90EA38 9C 50 0A STZ $0A50 [$7E:0A50] ; Periodic damage = 0 $90EA3B 28 PLP $90EA3C 60 RTS $90EA3D 9C 4E 0A STZ $0A4E [$7E:0A4E] $90EA40 9C 50 0A STZ $0A50 [$7E:0A50] $90EA43 28 PLP $90EA44 60 RTS ;;; ;;; ; Pause the game if: ; No PB, no x-ray/reserve pause, ; not in Ceres, ; not in normal game mode, ; and you just pressed start $90EA45 08 PHP $90EA46 C2 30 REP #$30 $90EA48 AD EE 0C LDA $0CEE [$7E:0CEE] $90EA4B D0 30 BNE $30 [$EA7D] $90EA4D AD 78 0A LDA $0A78 [$7E:0A78] $90EA50 D0 2B BNE $2B [$EA7D] $90EA52 AD 97 07 LDA $0797 [$7E:0797] $90EA55 D0 26 BNE $26 [$EA7D] $90EA57 AD 9F 07 LDA $079F [$7E:079F] $90EA5A C9 06 00 CMP #$0006 $90EA5D F0 1E BEQ $1E [$EA7D] $90EA5F AD 98 09 LDA $0998 [$7E:0998] $90EA62 C9 08 00 CMP #$0008 $90EA65 D0 16 BNE $16 [$EA7D] $90EA67 A5 8F LDA $8F [$7E:008F] $90EA69 89 00 10 BIT #$1000 $90EA6C F0 0F BEQ $0F [$EA7D] $90EA6E A9 01 00 LDA #$0001 $90EA71 8D 23 07 STA $0723 [$7E:0723] $90EA74 8D 25 07 STA $0725 [$7E:0725] $90EA77 A9 0C 00 LDA #$000C $90EA7A 8D 98 09 STA $0998 [$7E:0998] $90EA7D 28 PLP $90EA7E 60 RTS ;;; Low health check ;;; $90EA7F AD C2 09 LDA $09C2 [$7E:09C2] $90EA82 C9 1F 00 CMP #$001F $90EA85 30 11 BMI $11 [$EA98] $90EA87 AD 6A 0A LDA $0A6A [$7E:0A6A] $90EA8A F0 1E BEQ $1E [$EAAA] $90EA8C 9C 6A 0A STZ $0A6A [$7E:0A6A] $90EA8F A9 01 00 LDA #$0001 $90EA92 22 4D 91 80 JSL $80914D[$80:914D] $90EA96 80 12 BRA $12 [$EAAA] $90EA98 AD 6A 0A LDA $0A6A [$7E:0A6A] $90EA9B D0 0D BNE $0D [$EAAA] $90EA9D A9 02 00 LDA #$0002 $90EAA0 22 4D 91 80 JSL $80914D[$80:914D] $90EAA4 A9 01 00 LDA #$0001 $90EAA7 8D 6A 0A STA $0A6A [$7E:0A6A] $90EAAA 60 RTS $90EAAB 08 PHP $90EAAC C2 30 REP #$30 $90EAAE 20 7F EA JSR $EA7F [$90:EA7F] $90EAB1 28 PLP $90EAB2 6B RTL $90EAB3 08 PHP $90EAB4 C2 30 REP #$30 $90EAB6 A5 8B LDA $8B [$7E:008B] $90EAB8 2C B4 09 BIT $09B4 [$7E:09B4] $90EABB F0 0D BEQ $0D [$EACA] $90EABD AD FE 0D LDA $0DFE [$7E:0DFE] $90EAC0 2C B4 09 BIT $09B4 [$7E:09B4] $90EAC3 F0 05 BEQ $05 [$EACA] $90EAC5 EE F4 0A INC $0AF4 [$7E:0AF4] $90EAC8 80 03 BRA $03 [$EACD] $90EACA 9C F4 0A STZ $0AF4 [$7E:0AF4] $90EACD A5 8B LDA $8B [$7E:008B] $90EACF 8D FE 0D STA $0DFE [$7E:0DFE] $90EAD2 A5 8F LDA $8F [$7E:008F] $90EAD4 8D 00 0E STA $0E00 [$7E:0E00] $90EAD7 AD C2 09 LDA $09C2 [$7E:09C2] $90EADA CD 12 0A CMP $0A12 [$7E:0A12] $90EADD 10 1B BPL $1B [$EAFA] $90EADF AD 48 0A LDA $0A48 [$7E:0A48] $90EAE2 D0 06 BNE $06 [$EAEA] $90EAE4 A9 01 00 LDA #$0001 $90EAE7 8D 48 0A STA $0A48 [$7E:0A48] $90EAEA AD E0 0D LDA $0DE0 [$7E:0DE0] $90EAED C9 07 00 CMP #$0007 $90EAF0 30 08 BMI $08 [$EAFA] $90EAFA AD C2 09 LDA $09C2 [$7E:09C2] $90EAFD 8D 12 0A STA $0A12 [$7E:0A12] $90EB00 28 PLP $90EB01 60 RTS $90EB02 08 PHP $90EB03 C2 30 REP #$30 $90EB05 9C AA 0D STZ $0DAA [$7E:0DAA] $90EB08 9C AC 0D STZ $0DAC [$7E:0DAC] $90EB0B 9C AE 0D STZ $0DAE [$7E:0DAE] $90EB0E 9C B0 0D STZ $0DB0 [$7E:0DB0] $90EB11 9C B2 0D STZ $0DB2 [$7E:0DB2] $90EB14 9C B4 0D STZ $0DB4 [$7E:0DB4] $90EB17 9C B6 0D STZ $0DB6 [$7E:0DB6] $90EB1A 9C B8 0D STZ $0DB8 [$7E:0DB8] $90EB1D 9C 9A 0A STZ $0A9A [$7E:0A9A] $90EB20 9C 5E 0B STZ $0B5E [$7E:0B5E] $90EB23 AD FA 0D LDA $0DFA [$7E:0DFA] $90EB26 EB XBA $90EB27 29 00 FF AND #$FF00 $90EB2A 8D FA 0D STA $0DFA [$7E:0DFA] $90EB2D AD 1E 0A LDA $0A1E [$7E:0A1E] $90EB30 8D 10 0A STA $0A10 [$7E:0A10] $90EB33 28 PLP $90EB34 60 RTS $90EB35 08 PHP $90EB36 8B PHB $90EB37 4B PHK $90EB38 AB PLB $90EB39 C2 30 REP #$30 $90EB3B 20 4B EB JSR $EB4B [$90:EB4B] $90EB3E 22 54 82 93 JSL $938254[$93:8254] $90EB42 20 B3 EA JSR $EAB3 [$90:EAB3] $90EB45 20 76 F5 JSR $F576 [$90:F576] $90EB48 AB PLB $90EB49 28 PLP $90EB4A 6B RTL $90EB4B 20 C4 C5 JSR $C5C4 [$90:C5C4] $90EB4E 6C 5C 0A JMP ($0A5C)[$90:EB52] $90EB52 20 FC BA JSR $BAFC [$90:BAFC] $90EB55 AD AC 0A LDA $0AAC [$7E:0AAC] $90EB58 29 0F 00 AND #$000F $90EB5B F0 1F BEQ $1F [$EB7C] $90EB5D C9 02 00 CMP #$0002 $90EB60 D0 0D BNE $0D [$EB6F] $90EB62 20 4C 8A JSR $8A4C [$90:8A4C] $90EB65 20 E2 85 JSR $85E2 [$90:85E2] $90EB68 20 63 C6 JSR $C663 [$90:C663] $90EB6B 20 BD 87 JSR $87BD [$90:87BD] $90EB6E 60 RTS $90EB6F 20 4C 8A JSR $8A4C [$90:8A4C] $90EB72 20 63 C6 JSR $C663 [$90:C663] $90EB75 20 E2 85 JSR $85E2 [$90:85E2] $90EB78 20 BD 87 JSR $87BD [$90:87BD] $90EB7B 60 RTS $90EB7C 20 4C 8A JSR $8A4C [$90:8A4C] $90EB7F 20 E2 85 JSR $85E2 [$90:85E2] $90EB82 20 BD 87 JSR $87BD [$90:87BD] $90EB85 60 RTS $90EB86 AD 32 0D LDA $0D32 [$7E:0D32] $90EB89 C9 56 C8 CMP #$C856 $90EB8C 10 C7 BPL $C7 [$EB55] $90EB8E AD 32 0D LDA $0D32 [$7E:0D32] $90EB91 C9 03 C7 CMP #$C703 $90EB94 F0 05 BEQ $05 [$EB9B] $90EB96 C9 59 C7 CMP #$C759 $90EB99 D0 04 BNE $04 [$EB9F] $90EB9B 22 1B BF 9B JSL $9BBF1B[$9B:BF1B] $90EB9F 22 36 C0 9B JSL $9BC036[$9B:C036] $90EBA3 AD AC 0A LDA $0AAC [$7E:0AAC] $90EBA6 29 0F 00 AND #$000F $90EBA9 F0 33 BEQ $33 [$EBDE] $90EBAB C9 02 00 CMP #$0002 $90EBAE D0 17 BNE $17 [$EBC7] $90EBC7 20 4C 8A JSR $8A4C [$90:8A4C] $90EBCA 20 63 C6 JSR $C663 [$90:C663] $90EBCD 20 E2 85 JSR $85E2 [$90:85E2] $90EBD0 22 A5 BF 9B JSL $9BBFA5[$9B:BFA5] $90EBD4 AD FE 0C LDA $0CFE [$7E:0CFE] $90EBD7 F0 18 BEQ $18 [$EBF1] $90EBD9 22 BA AF 94 JSL $94AFBA[$94:AFBA] $90EBDD 60 RTS $90EBDE 20 4C 8A JSR $8A4C [$90:8A4C] $90EBE1 20 E2 85 JSR $85E2 [$90:85E2] $90EBE4 22 A5 BF 9B JSL $9BBFA5[$9B:BFA5] $90EBE8 AD FE 0C LDA $0CFE [$7E:0CFE] $90EBEB F0 04 BEQ $04 [$EBF1] $90EBED 22 BA AF 94 JSL $94AFBA[$94:AFBA] $90EBF1 60 RTS $90EBF3 20 E2 85 JSR $85E2 [$90:85E2] $90EBF6 A2 02 00 LDX #$0002 $90EBF9 DA PHX $90EBFA 20 BA 88 JSR $88BA [$90:88BA] $90EBFD FA PLX $90EBFE CA DEX $90EBFF CA DEX $90EC00 10 F7 BPL $F7 [$EBF9] $90EC02 60 RTS $90EC14 AD B6 05 LDA $05B6 [$7E:05B6] $90EC17 89 01 00 BIT #$0001 $90EC1A F0 01 BEQ $01 [$EC1D] $90EC1C 60 RTS $90EC1D 22 00 8A 90 JSL $908A00[$90:8A00] $90EC21 60 RTS ;;; ;;; ; Checks Samus' position type and gets her radius, one byte, from 91:B62F,X (X = 8*0A1C) ; Also puts #$0005 into $0AFE $90EC22 08 PHP $90EC23 C2 30 REP #$30 $90EC25 AD 1C 0A LDA $0A1C [$7E:0A1C] $90EC28 0A ASL A $90EC29 0A ASL A $90EC2A 0A ASL A $90EC2B AA TAX $90EC2C BF 2F B6 91 LDA $91B62F,x[$91:B63F] $90EC30 29 FF 00 AND #$00FF $90EC33 8D 00 0B STA $0B00 [$7E:0B00] $90EC36 A9 05 00 LDA #$0005 $90EC39 8D FE 0A STA $0AFE [$7E:0AFE] $90EC3C 28 PLP $90EC3D 60 RTS ;;; Just calculates Samus's lower boundary and puts it into $12 ;;; $90EC3E 08 PHP $90EC3F C2 30 REP #$30 $90EC41 AD 1C 0A LDA $0A1C [$7E:0A1C] $90EC44 0A ASL A $90EC45 0A ASL A $90EC46 0A ASL A $90EC47 AA TAX $90EC48 BF 2F B6 91 LDA $91B62F,x[$91:B63F] $90EC4C 29 FF 00 AND #$00FF $90EC4F 18 CLC $90EC50 6D FA 0A ADC $0AFA [$7E:0AFA] $90EC53 3A DEC A $90EC54 85 12 STA $12 [$7E:0012] $90EC56 28 PLP $90EC57 6B RTL ;;; This calculates Samus's lower and upper boundaries, then puts them in $12 and $14 ;;; $90EC58 08 PHP $90EC59 C2 30 REP #$30 $90EC5B AD 1C 0A LDA $0A1C [$7E:0A1C] $90EC5E 0A ASL A $90EC5F 0A ASL A $90EC60 0A ASL A $90EC61 AA TAX $90EC62 BF 2F B6 91 LDA $91B62F,x[$91:B63F] $90EC66 29 FF 00 AND #$00FF $90EC69 48 PHA $90EC6A 18 CLC $90EC6B 6D FA 0A ADC $0AFA [$7E:0AFA] $90EC6E 3A DEC A $90EC6F 85 12 STA $12 [$7E:0012] $90EC71 68 PLA $90EC72 85 14 STA $14 [$7E:0014] $90EC74 AD FA 0A LDA $0AFA [$7E:0AFA] $90EC77 38 SEC $90EC78 E5 14 SBC $14 [$7E:0014] $90EC7A 85 14 STA $14 [$7E:0014] $90EC7C 28 PLP $90EC7D 6B RTL ;;; ;;; $90EC7E 08 PHP $90EC7F C2 30 REP #$30 $90EC81 AD 1C 0A LDA $0A1C [$7E:0A1C] $90EC84 0A ASL A $90EC85 0A ASL A $90EC86 0A ASL A $90EC87 AA TAX $90EC88 BF 2F B6 91 LDA $91B62F,x[$91:B8CF] $90EC8C 29 FF 00 AND #$00FF $90EC8F 85 12 STA $12 [$7E:0012] $90EC91 AD 20 0A LDA $0A20 [$7E:0A20] $90EC94 0A ASL A $90EC95 0A ASL A $90EC96 0A ASL A $90EC97 AA TAX $90EC98 BF 2F B6 91 LDA $91B62F,x[$91:B8CF] $90EC9C 29 FF 00 AND #$00FF $90EC9F 38 SEC $90ECA0 E5 12 SBC $12 [$7E:0012] $90ECA2 85 12 STA $12 [$7E:0012] $90ECA4 18 CLC $90ECA5 6D FA 0A ADC $0AFA [$7E:0AFA] $90ECA8 8D FA 0A STA $0AFA [$7E:0AFA] $90ECAB A5 12 LDA $12 [$7E:0012] $90ECAD 18 CLC $90ECAE 6D 14 0B ADC $0B14 [$7E:0B14] $90ECB1 8D 14 0B STA $0B14 [$7E:0B14] $90ECB4 28 PLP $90ECB5 6B RTL ;;; ;;; ; Determines Samus' palette index from the suits she has on $90ECB6 AD A2 09 LDA $09A2 [$7E:09A2] $90ECB9 89 20 00 BIT #$0020 $90ECBC D0 10 BNE $10 [$ECCE] $90ECBE 89 01 00 BIT #$0001 $90ECC1 D0 04 BNE $04 [$ECC7] $90ECC3 9C 74 0A STZ $0A74 [$7E:0A74] $90ECC6 60 RTS $90ECC7 A9 02 00 LDA #$0002 $90ECCA 8D 74 0A STA $0A74 [$7E:0A74] $90ECCD 60 RTS $90ECCE A9 04 00 LDA #$0004 $90ECD1 8D 74 0A STA $0A74 [$7E:0A74] $90ECD4 60 RTS ;;; Move Samus with control pad ;;; $90ECD5 08 PHP $90ECD6 C2 30 REP #$30 $90ECD8 A5 8B LDA $8B [$7E:008B] ;\ $90ECDA 89 00 08 BIT #$0800 ;} If pressing up: $90ECDD F0 0A BEQ $0A [$ECE9] ;/ $90ECDF A9 FC FF LDA #$FFFC ;\ $90ECE2 85 12 STA $12 [$7E:0012] ;| $90ECE4 64 14 STZ $14 [$7E:0014] ;} Move Samus up 4 pixels $90ECE6 20 EC 93 JSR $93EC [$90:93EC] ;/ $90ECE9 A5 8B LDA $8B [$7E:008B] ;\ $90ECEB 89 00 04 BIT #$0400 ;} If pressing down: $90ECEE F0 0A BEQ $0A [$ECFA] ;/ $90ECF0 A9 04 00 LDA #$0004 ;\ $90ECF3 85 12 STA $12 [$7E:0012] ;| $90ECF5 64 14 STZ $14 [$7E:0014] ;} Move Samus down 4 pixels $90ECF7 20 40 94 JSR $9440 [$90:9440] ;/ $90ECFA A5 8B LDA $8B [$7E:008B] ;\ $90ECFC 89 00 02 BIT #$0200 ;} If pressing left: $90ECFF F0 0A BEQ $0A [$ED0B] ;/ $90ED01 A9 FC FF LDA #$FFFC ;\ $90ED04 85 12 STA $12 [$7E:0012] ;| $90ED06 64 14 STZ $14 [$7E:0014] ;} Move Samus left 4 pixels $90ED08 20 50 93 JSR $9350 [$90:9350] ;/ $90ED0B A5 8B LDA $8B [$7E:008B] ;\ $90ED0D 89 00 01 BIT #$0100 ;} If pressing right: $90ED10 F0 0A BEQ $0A [$ED1C] ;/ $90ED12 A9 04 00 LDA #$0004 ;\ $90ED15 85 12 STA $12 [$7E:0012] ;| $90ED17 64 14 STZ $14 [$7E:0014] ;} Move Samus right 4 pixels $90ED19 20 B1 93 JSR $93B1 [$90:93B1] ;/ $90ED1C 28 PLP $90ED1D 60 RTS ;;; Swapped ammunition routine ;;; $90ED26 AD 1F 0A LDA $0A1F [$7E:0A1F] ;\ $90ED29 29 FF 00 AND #$00FF ;| $90ED2C AA TAX ;| $90ED2D BD 50 ED LDA $ED50,x[$90:ED50] ;} For certain Samus movement types: $90ED30 29 FF 00 AND #$00FF ;| $90ED33 F0 1A BEQ $1A [$ED4F] ;/ $90ED35 AD F6 0A LDA $0AF6 [$7E:0AF6] ;\ $90ED38 4A LSR A ;| $90ED39 4A LSR A ;| $90ED3A 4A LSR A ;} Current missiles = max missiles = Samus X / 16 $90ED3B 4A LSR A ;| $90ED3C 8D C6 09 STA $09C6 [$7E:09C6] ;| $90ED3F 8D C8 09 STA $09C8 [$7E:09C8] ;/ $90ED42 AD FA 0A LDA $0AFA [$7E:0AFA] ;\ $90ED45 4A LSR A ;| $90ED46 4A LSR A ;| $90ED47 4A LSR A ;} Current super missiles = max super missiles = Samus Y / 16 $90ED48 4A LSR A ;| $90ED49 8D CA 09 STA $09CA [$7E:09CA] ;| $90ED4C 8D CC 09 STA $09CC [$7E:09CC] ;/ $90ED4F 60 RTS $90ED50 db 00, 00, 00, 00, 01, 00, 00, 01, 01, 01, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 00, 00, 00, 00, 00, 00, 00, 00 ;;; ;;; $90ED6C AD E0 09 LDA $09E0 [$7E:09E0] $90ED6F 8D C6 09 STA $09C6 [$7E:09C6] $90ED72 8D C8 09 STA $09C8 [$7E:09C8] $90ED75 AD DE 09 LDA $09DE [$7E:09DE] $90ED78 8D CA 09 STA $09CA [$7E:09CA] $90ED7B 8D CC 09 STA $09CC [$7E:09CC] $90ED7E AD DC 09 LDA $09DC [$7E:09DC] $90ED81 8D CE 09 STA $09CE [$7E:09CE] $90ED84 8D D0 09 STA $09D0 [$7E:09D0] $90ED87 60 RTS ;;; Footstep graphics ;;; ; Water splashing in Maridia and Crateria, dust if speedrunning. ; Only works on certain frames, assumed to be walking/running $90ED88 AD 9F 07 LDA $079F [$7E:079F] $90ED8B 0A ASL A $90ED8C AA TAX $90ED8D FC 91 ED JSR ($ED91,x)[$90:EDA1] $90ED90 60 RTS $90ED91 db A1 $90ED93 db 64 $90ED95 db 64 $90ED97 db 64 $90ED99 db EC $90ED9B db 64 $90ED9D db 64 $90EDA1 AD 51 1F LDA $1F51 [$7E:1F51] $90EDA4 F0 03 BEQ $03 [$EDA9] $90EDA6 4C 64 EE JMP $EE64 [$90:EE64] $90EDA9 AE 9D 07 LDX $079D [$7E:079D] $90EDAC E0 10 00 CPX #$0010 $90EDAF 10 15 BPL $15 [$EDC6] $90EDB1 BD C9 ED LDA $EDC9,x[$90:EDC9] $90EDB4 29 FF 00 AND #$00FF $90EDB7 89 01 00 BIT #$0001 $90EDBA D0 28 BNE $28 [$EDE4] $90EDBC 89 02 00 BIT #$0002 $90EDBF D0 18 BNE $18 [$EDD9] $90EDC1 89 04 00 BIT #$0004 $90EDC4 D0 26 BNE $26 [$EDEC] $90EDC6 4C 64 EE JMP $EE64 [$90:EE64] $90EDC9 db 01, 00, 00, 00, 00, 02, 00, 04, 00, 04, 04, 04, 04, 00, 04, 00 $90EDD9 AD FA 0A LDA $0AFA [$7E:0AFA] $90EDDC C9 B0 03 CMP #$03B0 $90EDDF 10 0B BPL $0B [$EDEC] $90EDE1 4C 64 EE JMP $EE64 [$90:EE64] $90EDE4 AD 6E 19 LDA $196E [$7E:196E] $90EDE7 C9 0A 00 CMP #$000A $90EDEA D0 78 BNE $78 [$EE64] $90EDEC 22 3E EC 90 JSL $90EC3E[$90:EC3E] $90EDF0 AD 5E 19 LDA $195E [$7E:195E] $90EDF3 30 0E BMI $0E [$EE03] $90EDF5 C5 12 CMP $12 [$7E:0012] $90EDF7 10 13 BPL $13 [$EE0C] $90EDF9 AD 7E 19 LDA $197E [$7E:197E] $90EDFC 89 04 00 BIT #$0004 $90EDFF D0 0B BNE $0B [$EE0C] $90EE01 80 60 BRA $60 [$EE63] $90EE03 AD 62 19 LDA $1962 [$7E:1962] $90EE06 30 04 BMI $04 [$EE0C] $90EE0C AD 1E 0A LDA $0A1E [$7E:0A1E] $90EE0F 29 FF 00 AND #$00FF $90EE12 C9 04 00 CMP #$0004 $90EE15 F0 16 BEQ $16 [$EE2D] $90EE17 AD F6 0A LDA $0AF6 [$7E:0AF6] $90EE1A 18 CLC $90EE1B 69 0C 00 ADC #$000C $90EE1E 8D DC 0A STA $0ADC [$7E:0ADC] $90EE21 AD F6 0A LDA $0AF6 [$7E:0AF6] $90EE24 38 SEC $90EE25 E9 08 00 SBC #$0008 $90EE28 8D DE 0A STA $0ADE [$7E:0ADE] $90EE2B 80 14 BRA $14 [$EE41] $90EE2D AD F6 0A LDA $0AF6 [$7E:0AF6] $90EE30 38 SEC $90EE31 E9 0C 00 SBC #$000C $90EE34 8D DC 0A STA $0ADC [$7E:0ADC] $90EE37 AD F6 0A LDA $0AF6 [$7E:0AF6] $90EE3A 18 CLC $90EE3B 69 08 00 ADC #$0008 $90EE3E 8D DE 0A STA $0ADE [$7E:0ADE] $90EE41 AD FA 0A LDA $0AFA [$7E:0AFA] $90EE44 18 CLC $90EE45 69 10 00 ADC #$0010 $90EE48 8D E4 0A STA $0AE4 [$7E:0AE4] $90EE4B 8D E6 0A STA $0AE6 [$7E:0AE6] $90EE4E A9 00 01 LDA #$0100 $90EE51 8D EC 0A STA $0AEC [$7E:0AEC] $90EE54 8D EE 0A STA $0AEE [$7E:0AEE] $90EE57 A9 02 80 LDA #$8002 $90EE5A 8D D4 0A STA $0AD4 [$7E:0AD4] $90EE5D A9 03 00 LDA #$0003 $90EE60 8D D6 0A STA $0AD6 [$7E:0AD6] $90EE63 60 RTS $90EE64 AD 3E 0B LDA $0B3E [$7E:0B3E] $90EE67 29 00 FF AND #$FF00 $90EE6A C9 00 04 CMP #$0400 $90EE6D D0 77 BNE $77 [$EEE6] $90EE6F 22 3E EC 90 JSL $90EC3E[$90:EC3E] $90EE73 AD 5E 19 LDA $195E [$7E:195E] $90EE76 30 0E BMI $0E [$EE86] $90EE78 C5 12 CMP $12 [$7E:0012] $90EE7A 10 13 BPL $13 [$EE8F] $90EE7C AD 7E 19 LDA $197E [$7E:197E] $90EE7F 89 04 00 BIT #$0004 $90EE82 D0 0B BNE $0B [$EE8F] $90EE84 80 60 BRA $60 [$EEE6] $90EE86 AD 62 19 LDA $1962 [$7E:1962] $90EE89 30 04 BMI $04 [$EE8F] $90EE8B C5 12 CMP $12 [$7E:0012] $90EE8D 30 57 BMI $57 [$EEE6] $90EE8F AD 1E 0A LDA $0A1E [$7E:0A1E] $90EE92 29 FF 00 AND #$00FF $90EE95 C9 04 00 CMP #$0004 $90EE98 F0 16 BEQ $16 [$EEB0] $90EE9A AD F6 0A LDA $0AF6 [$7E:0AF6] $90EE9D 18 CLC $90EE9E 69 0C 00 ADC #$000C $90EEA1 8D DC 0A STA $0ADC [$7E:0ADC] $90EEA4 AD F6 0A LDA $0AF6 [$7E:0AF6] $90EEA7 38 SEC $90EEA8 E9 08 00 SBC #$0008 $90EEAB 8D DE 0A STA $0ADE [$7E:0ADE] $90EEAE 80 14 BRA $14 [$EEC4] $90EEB0 AD F6 0A LDA $0AF6 [$7E:0AF6] $90EEB3 38 SEC $90EEB4 E9 0C 00 SBC #$000C $90EEB7 8D DC 0A STA $0ADC [$7E:0ADC] $90EEBA AD F6 0A LDA $0AF6 [$7E:0AF6] $90EEBD 18 CLC $90EEBE 69 08 00 ADC #$0008 $90EEC1 8D DE 0A STA $0ADE [$7E:0ADE] $90EEC4 AD FA 0A LDA $0AFA [$7E:0AFA] $90EEC7 18 CLC $90EEC8 69 10 00 ADC #$0010 $90EECB 8D E4 0A STA $0AE4 [$7E:0AE4] $90EECE 8D E6 0A STA $0AE6 [$7E:0AE6] $90EED1 A9 00 07 LDA #$0700 $90EED4 8D EC 0A STA $0AEC [$7E:0AEC] $90EED7 8D EE 0A STA $0AEE [$7E:0AEE] $90EEDA A9 02 80 LDA #$8002 $90EEDD 8D D4 0A STA $0AD4 [$7E:0AD4] $90EEE0 A9 03 00 LDA #$0003 $90EEE3 8D D6 0A STA $0AD6 [$7E:0AD6] $90EEE6 60 RTS ;;; Echoes for Blue Suit ;;; ; updates echo position to Samus' $90EEE7 AD 3E 0B LDA $0B3E [$7E:0B3E] $90EEEA 29 00 FF AND #$FF00 $90EEED C9 00 04 CMP #$0400 $90EEF0 D0 29 BNE $29 [$EF1B] $90EEF2 AD AE 0A LDA $0AAE [$7E:0AAE] $90EEF5 30 24 BMI $24 [$EF1B] $90EEF7 AD DA 09 LDA $09DA [$7E:09DA] $90EEFA 89 03 00 BIT #$0003 $90EEFD D0 1C BNE $1C [$EF1B] $90EEFF AE AE 0A LDX $0AAE [$7E:0AAE] $90EF02 AD F6 0A LDA $0AF6 [$7E:0AF6] $90EF05 9D B0 0A STA $0AB0,x[$7E:0AB0] $90EF08 AD FA 0A LDA $0AFA [$7E:0AFA] $90EF0B 9D B8 0A STA $0AB8,x[$7E:0AB8] $90EF0E E8 INX $90EF0F E8 INX $90EF10 E0 04 00 CPX #$0004 $90EF13 30 03 BMI $03 [$EF18] $90EF15 A2 00 00 LDX #$0000 $90EF18 8E AE 0A STX $0AAE [$7E:0AAE] $90EF1B 60 RTS ;;; ;;; $90EF20 db 10, 00 ;;; ;;; $90EF22 08 PHP $90EF23 C2 30 REP #$30 $90EF25 22 C4 84 94 JSL $9484C4[$94:84C4] $90EF29 22 CD 84 94 JSL $9484CD[$94:84CD] $90EF2D AD 0A 0E LDA $0E0A [$7E:0E0A] $90EF30 F0 05 BEQ $05 [$EF37] $90EF37 AD 08 0E LDA $0E08 [$7E:0E08] $90EF3A F0 20 BEQ $20 [$EF5C] $90EF3C AD FA 0A LDA $0AFA [$7E:0AFA] $90EF3F 38 SEC $90EF40 ED 08 0E SBC $0E08 [$7E:0E08] $90EF43 8D FA 0A STA $0AFA [$7E:0AFA] $90EF46 AD 00 0B LDA $0B00 [$7E:0B00] $90EF49 C9 10 00 CMP #$0010 $90EF4C 30 0E BMI $0E [$EF5C] $90EF4E 22 CD 84 94 JSL $9484CD[$94:84CD] $90EF52 AD FA 0A LDA $0AFA [$7E:0AFA] $90EF55 38 SEC $90EF56 ED 08 0E SBC $0E08 [$7E:0E08] $90EF59 8D FA 0A STA $0AFA [$7E:0AFA] $90EF5C 28 PLP $90EF5D 6B RTL ;;; Very general use routines ;;; ; Depending on A. Can range from 0 to 1F $90F084 08 PHP $90F085 8B PHB $90F086 4B PHK $90F087 AB PLB $90F088 C2 30 REP #$30 $90F08A DA PHX $90F08B 29 1F 00 AND #$001F $90F08E 0A ASL A $90F08F AA TAX $90F090 FC AE F0 JSR ($F0AE,x)[$90:F1E9] $90F093 90 15 BCC $15 [$F0AA] $90F095 A9 FF FF LDA #$FFFF $90F098 8D 28 0A STA $0A28 [$7E:0A28] $90F09B 8D 2A 0A STA $0A2A [$7E:0A2A] $90F09E 8D 2C 0A STA $0A2C [$7E:0A2C] $90F0A1 9C 2E 0A STZ $0A2E [$7E:0A2E] $90F0A4 9C 30 0A STZ $0A30 [$7E:0A30] $90F0A7 9C 32 0A STZ $0A32 [$7E:0A32] $90F0AA FA PLX $90F0AB AB PLB $90F0AC 28 PLP $90F0AD 6B RTL $90F0AE dw F109, F117, F125, F152, F19B, F38E, F1AA, F1C8, F1E9, F23C, F28D, F295, F29E, F2B8, F2CA, F2D8, F2E0, F2F8, F320, F328, F331, F310, F3C9, F3DD, F3C0, F3FB, F409, F411, F41E, F471, F4A2, F4D0 ;;; Update $0A20 through $0A27 ;;; $90F0EE AD 20 0A LDA $0A20 [$7E:0A20] $90F0F1 8D 24 0A STA $0A24 [$7E:0A24] $90F0F4 AD 22 0A LDA $0A22 [$7E:0A22] $90F0F7 8D 26 0A STA $0A26 [$7E:0A26] $90F0FA AD 1C 0A LDA $0A1C [$7E:0A1C] $90F0FD 8D 20 0A STA $0A20 [$7E:0A20] $90F100 AD 1E 0A LDA $0A1E [$7E:0A1E] $90F103 8D 22 0A STA $0A22 [$7E:0A22] $90F106 60 RTS ;;; ;;; $90F109 A9 13 E7 LDA #$E713 $90F10C 8D 42 0A STA $0A42 [$7E:0A42] $90F10F A9 DC E8 LDA #$E8DC $90F112 8D 44 0A STA $0A44 [$7E:0A44] $90F115 38 SEC $90F116 60 RTS ;;; ;;; $90F117 A9 95 E6 LDA #$E695 $90F11A 8D 42 0A STA $0A42 [$7E:0A42] $90F11D A9 25 E7 LDA #$E725 $90F120 8D 44 0A STA $0A44 [$7E:0A44] $90F123 38 SEC $90F124 60 RTS ;;; ;;; ; Set Samus to standing (facing current direction). JSL to $91F433 and $91FB08, then go to 00 $90F125 AD 1E 0A LDA $0A1E [$7E:0A1E] $90F128 29 FF 00 AND #$00FF $90F12B C9 04 00 CMP #$0004 $90F12E F0 08 BEQ $08 [$F138] $90F130 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90F138 A9 02 00 LDA #$0002 $90F13B 8D 1C 0A STA $0A1C [$7E:0A1C] $90F13E 9C 9A 0A STZ $0A9A [$7E:0A9A] $90F141 22 33 F4 91 JSL $91F433[$91:F433] $90F145 22 08 FB 91 JSL $91FB08[$91:FB08] $90F149 A9 3C 00 LDA #$003C $90F14C 8D A0 0A STA $0AA0 [$7E:0AA0] $90F14F 4C 09 F1 JMP $F109 [$90:F109] ;;; ;;; ; Check GrappleFire pointer. ; If not #$C4FC, just set it to #$C8C5. ; Else if spin jumping or wall jumping, set to standing (facing current direction), ; JSL $91F433 and $91FB08, JSR $F0EE, SEC and RTS $90F152 AD 32 0D LDA $0D32 [$7E:0D32] $90F155 C9 F0 C4 CMP #$C4F0 $90F158 F0 08 BEQ $08 [$F162] $90F160 18 CLC $90F161 60 RTS $90F162 AD 1F 0A LDA $0A1F [$7E:0A1F] $90F165 29 FF 00 AND #$00FF $90F168 C9 03 00 CMP #$0003 $90F16B F0 05 BEQ $05 [$F172] $90F16D C9 14 00 CMP #$0014 $90F170 D0 EE BNE $EE [$F160] $90F172 AD 1E 0A LDA $0A1E [$7E:0A1E] $90F175 29 FF 00 AND #$00FF $90F178 C9 04 00 CMP #$0004 $90F17B F0 08 BEQ $08 [$F185] $90F185 A9 02 00 LDA #$0002 $90F188 8D 1C 0A STA $0A1C [$7E:0A1C] $90F18B 9C 9A 0A STZ $0A9A [$7E:0A9A] $90F18E 22 33 F4 91 JSL $91F433[$91:F433] $90F192 22 08 FB 91 JSL $91FB08[$91:FB08] $90F196 20 EE F0 JSR $F0EE [$90:F0EE] $90F199 38 SEC $90F19A 60 RTS ;;; ;;; ; Clear charge beam pallete, charge beam, JSR $BCBE, JSL $91DEBA $90F19B 9C 62 0B STZ $0B62 [$7E:0B62] $90F19E 9C D0 0C STZ $0CD0 [$7E:0CD0] $90F1A1 20 BE BC JSR $BCBE [$90:BCBE] $90F1A4 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90F1A8 18 CLC $90F1A9 60 RTS ;;; ;;; ; Put #$E713 into $0A42, #$E8DC into $0A44, play a sound if charge is under F, goto 04 $90F1AA A9 13 E7 LDA #$E713 $90F1AD 8D 42 0A STA $0A42 [$7E:0A42] $90F1B0 A9 D6 E8 LDA #$E8D6 $90F1B3 8D 44 0A STA $0A44 [$7E:0A44] $90F1B6 AD D0 0C LDA $0CD0 [$7E:0CD0] $90F1B9 C9 0F 00 CMP #$000F $90F1BC 30 07 BMI $07 [$F1C5] $90F1BE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $90F1C5 4C 9E F1 JMP $F19E [$90:F19E] ;;; ;;; $90F1C8 22 F6 E3 91 JSL $91E3F6[$91:E3F6] $90F1CC A9 EC E8 LDA #$E8EC $90F1CF 8D 44 0A STA $0A44 [$7E:0A44] $90F1D2 A9 37 A3 LDA #$A337 $90F1D5 8D 58 0A STA $0A58 [$7E:0A58] $90F1D8 A9 14 EC LDA #$EC14 $90F1DB 8D 5C 0A STA $0A5C [$7E:0A5C] $90F1DE A9 13 E9 LDA #$E913 $90F1E1 8D 60 0A STA $0A60 [$7E:0A60] $90F1E4 9C 56 0A STZ $0A56 [$7E:0A56] $90F1E7 38 SEC $90F1E8 60 RTS ;;; ;;; $90F1E9 A9 CD E8 LDA #$E8CD $90F1EC 8D 42 0A STA $0A42 [$7E:0A42] $90F1EF A9 DC E8 LDA #$E8DC $90F1F2 8D 44 0A STA $0A44 [$7E:0A44] $90F1F5 A9 00 00 LDA #$0000 $90F1F8 8D 1C 0A STA $0A1C [$7E:0A1C] $90F1FB 9C 9A 0A STZ $0A9A [$7E:0A9A] $90F1FE 22 33 F4 91 JSL $91F433[$91:F433] $90F202 22 08 FB 91 JSL $91FB08[$91:FB08] $90F206 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90F20A A9 52 EB LDA #$EB52 $90F20D 8D 5C 0A STA $0A5C [$7E:0A5C] $90F210 AD 1C 0A LDA $0A1C [$7E:0A1C] $90F213 8D 20 0A STA $0A20 [$7E:0A20] $90F216 8D 24 0A STA $0A24 [$7E:0A24] $90F219 AD 1E 0A LDA $0A1E [$7E:0A1E] $90F21C 8D 22 0A STA $0A22 [$7E:0A22] $90F21F 8D 26 0A STA $0A26 [$7E:0A26] $90F222 9C FA 0A STZ $0AFA [$7E:0AFA] $90F225 A0 87 A3 LDY #$A387 $90F228 22 27 80 86 JSL $868027[$86:8027] $90F22C A0 95 A3 LDY #$A395 $90F22F 22 27 80 86 JSL $868027[$86:8027] $90F233 9C F7 05 STZ $05F7 [$7E:05F7] $90F236 22 18 E1 82 JSL $82E118[$82:E118] $90F23A 38 SEC $90F23B 60 RTS ;;; ;;; ; JSL $8DC4E9, Y = #$E1F4 (no suits), #$E1F8 (varia), or #$E1FC (grav). Samus facing forward. JSL $91DEBA, $91F433. Set Samus's animation to frame 2, delay 3 $90F23C AD A2 09 LDA $09A2 [$7E:09A2] $90F23F 89 20 00 BIT #$0020 $90F242 D0 23 BNE $23 [$F267] $90F244 89 01 00 BIT #$0001 $90F247 D0 0F BNE $0F [$F258] $90F249 A0 F4 E1 LDY #$E1F4 $90F24C 22 E9 C4 8D JSL $8DC4E9[$8D:C4E9] $90F250 A9 00 00 LDA #$0000 $90F253 8D 1C 0A STA $0A1C [$7E:0A1C] $90F256 80 1C BRA $1C [$F274] $90F274 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90F278 22 33 F4 91 JSL $91F433[$91:F433] $90F27C A9 03 00 LDA #$0003 $90F27F 8D 94 0A STA $0A94 [$7E:0A94] $90F282 A9 02 00 LDA #$0002 $90F285 8D 96 0A STA $0A96 [$7E:0A96] $90F288 9C EC 0D STZ $0DEC [$7E:0DEC] $90F28B 38 SEC $90F28C 60 RTS ;;; ;;; $90F28D A9 0E E9 LDA #$E90E $90F290 8D 5C 0A STA $0A5C [$7E:0A5C] $90F293 18 CLC $90F294 60 RTS ;;; ;;; $90F295 A9 52 EB LDA #$EB52 $90F298 8D 5C 0A STA $0A5C [$7E:0A5C] $90F29B 4C 17 F1 JMP $F117 [$90:F117] ;;; ;;; ; Run when unpausing $90F29E 22 33 E6 91 JSL $91E633[$91:E633] $90F2A2 AD 44 0A LDA $0A44 [$7E:0A44] $90F2A5 C9 D6 E8 CMP #$E8D6 $90F2A8 D0 0C BNE $0C [$F2B6] $90F2AA A9 95 E6 LDA #$E695 $90F2AD 8D 42 0A STA $0A42 [$7E:0A42] $90F2B0 A9 25 E7 LDA #$E725 $90F2B3 8D 44 0A STA $0A44 [$7E:0A44] $90F2B6 38 SEC $90F2B7 60 RTS ;;; ;;; ; If GrappleFire pointer is #$C4F0, A = 0. Else A = 1 $90F2B8 AD 32 0D LDA $0D32 [$7E:0D32] $90F2BB C9 F0 C4 CMP #$C4F0 $90F2BE D0 05 BNE $05 [$F2C5] $90F2C0 A9 00 00 LDA #$0000 $90F2C3 18 CLC $90F2C4 60 RTS $90F2C5 A9 01 00 LDA #$0001 $90F2C8 18 CLC $90F2C9 60 RTS ;;; ;;; $90F2CA A9 95 E6 LDA #$E695 $90F2CD 8D 42 0A STA $0A42 [$7E:0A42] $90F2D0 A9 AA E8 LDA #$E8AA $90F2D3 8D 44 0A STA $0A44 [$7E:0A44] $90F2D6 38 SEC $90F2D7 60 RTS ;;; ;;; $90F2D8 A9 E6 E0 LDA #$E0E6 $90F2DB 8D 5A 0A STA $0A5A [$7E:0A5A] $90F2DE 18 CLC $90F2DF 60 RTS ;;; ;;; $90F2E0 AD 44 0A LDA $0A44 [$7E:0A44] $90F2E3 C9 D9 E8 CMP #$E8D9 $90F2E6 D0 02 BNE $02 [$F2EA] $90F2EA A9 95 E6 LDA #$E695 $90F2ED 8D 42 0A STA $0A42 [$7E:0A42] $90F2F0 A9 25 E7 LDA #$E725 $90F2F3 8D 44 0A STA $0A44 [$7E:0A44] $90F2F6 38 SEC $90F2F7 60 RTS ;;; ;;; $90F2F8 22 CD C4 8D JSL $8DC4CD[$8D:C4CD] $90F2FC A9 13 E7 LDA #$E713 $90F2FF 8D 42 0A STA $0A42 [$7E:0A42] $90F302 A9 CD E8 LDA #$E8CD $90F305 8D 44 0A STA $0A44 [$7E:0A44] $90F308 A9 1D EC LDA #$EC1D $90F30B 8D 5C 0A STA $0A5C [$7E:0A5C] $90F30E 38 SEC $90F30F 60 RTS ;;; ;;; $90F310 20 EE F0 JSR $F0EE [$90:F0EE] $90F313 9C D0 0C STZ $0CD0 [$7E:0CD0] $90F316 20 BE BC JSR $BCBE [$90:BCBE] $90F319 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90F31D 4C FC F2 JMP $F2FC [$90:F2FC] ;;; ;;; $90F320 A9 01 00 LDA #$0001 $90F323 8D 4A 0A STA $0A4A [$7E:0A4A] $90F326 18 CLC $90F327 60 RTS ;;; ;;; $90F328 9C 4A 0A STZ $0A4A [$7E:0A4A] $90F32B 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90F32F 18 CLC $90F330 60 RTS ;;; ;;; $90F331 AD C2 09 LDA $09C2 [$7E:09C2] $90F334 C9 1F 00 CMP #$001F $90F337 10 07 BPL $07 [$F340] $90F339 A9 02 00 LDA #$0002 $90F33C 22 4D 91 80 JSL $80914D[$80:914D] $90F340 20 B8 F2 JSR $F2B8 [$90:F2B8] $90F343 A8 TAY $90F344 F0 09 BEQ $09 [$F34F] $90F34F AD 1E 0A LDA $0A1E [$7E:0A1E] $90F352 29 FF 00 AND #$00FF $90F355 C9 03 00 CMP #$0003 $90F358 F0 02 BEQ $02 [$F35C] $90F35A 18 CLC $90F35B 60 RTS ;;; ;;; $90F38E A9 9B E0 LDA #$E09B $90F391 8D 5A 0A STA $0A5A [$7E:0A5A] $90F394 A9 54 00 LDA #$0054 $90F397 8D 1C 0A STA $0A1C [$7E:0A1C] $90F39A 9C 9A 0A STZ $0A9A [$7E:0A9A] $90F39D 22 33 F4 91 JSL $91F433[$91:F433] $90F3A1 22 08 FB 91 JSL $91FB08[$91:FB08] $90F3A5 20 EE F0 JSR $F0EE [$90:F0EE] $90F3A8 9C D0 0C STZ $0CD0 [$7E:0CD0] $90F3AB 20 BE BC JSR $BCBE [$90:BCBE] $90F3AE 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90F3B2 A9 13 E7 LDA #$E713 $90F3B5 8D 42 0A STA $0A42 [$7E:0A42] $90F3B8 A9 D9 E8 LDA #$E8D9 $90F3BB 8D 44 0A STA $0A44 [$7E:0A44] $90F3BE 38 SEC $90F3BF 60 RTS ;;; ;;; $90F3C0 A9 C5 E0 LDA #$E0C5 $90F3C3 8D 5A 0A STA $0A5A [$7E:0A5A] $90F3C6 4C 94 F3 JMP $F394 [$90:F394] ;;; ;;; $90F3C9 A9 00 80 LDA #$8000 $90F3CC 8D 4A 0A STA $0A4A [$7E:0A4A] $90F3CF A9 01 00 LDA #$0001 $90F3D2 8D CE 0A STA $0ACE [$7E:0ACE] $90F3D5 8D D0 0A STA $0AD0 [$7E:0AD0] $90F3D8 9C 62 0B STZ $0B62 [$7E:0B62] $90F3DB 18 CLC $90F3DC 60 RTS ;;; ;;; $90F3DD 9C 4A 0A STZ $0A4A [$7E:0A4A] $90F3E0 9C CE 0A STZ $0ACE [$7E:0ACE] $90F3E3 9C D0 0A STZ $0AD0 [$7E:0AD0] $90F3E6 9C 62 0B STZ $0B62 [$7E:0B62] $90F3E9 22 BA DE 91 JSL $91DEBA[$91:DEBA] $90F3ED A9 01 00 LDA #$0001 $90F3F0 8D 94 0A STA $0A94 [$7E:0A94] $90F3F3 A9 0D 00 LDA #$000D $90F3F6 8D 96 0A STA $0A96 [$7E:0A96] $90F3F9 18 CLC $90F3FA 60 RTS ;;; ;;; $90F3FB A9 01 00 LDA #$0001 $90F3FE 8D 94 0A STA $0A94 [$7E:0A94] $90F401 A9 1C 00 LDA #$001C $90F404 8D 96 0A STA $0A96 [$7E:0A96] $90F407 38 SEC $90F408 60 RTS ;;; ;;; $90F409 A9 02 E9 LDA #$E902 $90F40C 8D 44 0A STA $0A44 [$7E:0A44] $90F40F 18 CLC $90F410 60 RTS ;;; ;;; $90F411 AD 44 0A LDA $0A44 [$7E:0A44] $90F414 C9 D9 E8 CMP #$E8D9 $90F417 F0 03 BEQ $03 [$F41C] $90F419 4C 09 F1 JMP $F109 [$90:F109] ;;; ;;; $90F41E AD 1F 0A LDA $0A1F [$7E:0A1F] $90F421 29 FF 00 AND #$00FF $90F424 C9 14 00 CMP #$0014 $90F427 F0 20 BEQ $20 [$F449] $90F429 C9 03 00 CMP #$0003 $90F42C F0 02 BEQ $02 [$F430] $90F42E 18 CLC $90F42F 60 RTS $90F430 AD 1C 0A LDA $0A1C [$7E:0A1C] $90F433 C9 81 00 CMP #$0081 $90F436 F0 30 BEQ $30 [$F468] $90F438 C9 82 00 CMP #$0082 $90F43B F0 2B BEQ $2B [$F468] $90F43D C9 1B 00 CMP #$001B $90F440 F0 1D BEQ $1D [$F45F] $90F442 C9 1C 00 CMP #$001C $90F445 F0 18 BEQ $18 [$F45F] $90F447 80 0D BRA $0D [$F456] $90F456 A9 31 00 LDA #$0031 $90F459 22 2B 90 80 JSL $80902B[$80:902B] $90F45D 18 CLC $90F45E 60 RTS $90F45F A9 3E 00 LDA #$003E $90F462 22 2B 90 80 JSL $80902B[$80:902B] $90F466 18 CLC $90F467 60 RTS $90F468 A9 33 00 LDA #$0033 $90F46B 22 2B 90 80 JSL $80902B[$80:902B] $90F46F 18 CLC $90F470 60 RTS ;;; ;;; $90F471 AD 1F 0A LDA $0A1F [$7E:0A1F] $90F474 29 FF 00 AND #$00FF $90F477 C9 03 00 CMP #$0003 $90F47A F0 05 BEQ $05 [$F481] $90F47C C9 14 00 CMP #$0014 $90F47F D0 09 BNE $09 [$F48A] $90F481 A9 32 00 LDA #$0032 $90F484 22 21 90 80 JSL $809021[$80:9021] $90F488 18 CLC $90F489 60 RTS $90F48A A5 8B LDA $8B [$7E:008B] $90F48C 2C B2 09 BIT $09B2 [$7E:09B2] $90F48F D0 0F BNE $0F [$F4A0] $90F491 AD D0 0C LDA $0CD0 [$7E:0CD0] $90F494 C9 10 00 CMP #$0010 $90F497 10 07 BPL $07 [$F4A0] $90F499 A9 02 00 LDA #$0002 $90F49C 22 21 90 80 JSL $809021[$80:9021] $90F4A0 18 CLC $90F4A1 60 RTS ;;; ;;; $90F4A2 AD 98 09 LDA $0998 [$7E:0998] $90F4A5 C9 08 00 CMP #$0008 $90F4A8 D0 24 BNE $24 [$F4CE] $90F4AA AD 1F 0A LDA $0A1F [$7E:0A1F] $90F4AD 29 FF 00 AND #$00FF $90F4B0 C9 03 00 CMP #$0003 $90F4B3 F0 05 BEQ $05 [$F4BA] $90F4B5 C9 14 00 CMP #$0014 $90F4B8 D0 05 BNE $05 [$F4BF] $90F4BA 20 1E F4 JSR $F41E [$90:F41E] $90F4BD 18 CLC $90F4BE 60 RTS $90F4BF AD D0 0C LDA $0CD0 [$7E:0CD0] $90F4C2 C9 10 00 CMP #$0010 $90F4C5 30 07 BMI $07 [$F4CE] $90F4C7 A9 41 00 LDA #$0041 $90F4CA 22 2B 90 80 JSL $80902B[$80:902B] $90F4CE 18 CLC $90F4CF 60 RTS ;;; ;;; $90F4D0 AD 32 0D LDA $0D32 [$7E:0D32] $90F4D3 C9 F0 C4 CMP #$C4F0 $90F4D6 D0 02 BNE $02 [$F4DA] $90F4D8 18 CLC $90F4D9 60 RTS ;;; ;;; $90F52F 60 RTS ;;; ;;; ; Checks to play sounds: Continue charge sound, end(?) blue suit sound, end spin jump, and game over if escaping Zebes and 0A5A = E114? $90F576 08 PHP $90F577 C2 30 REP #$30 $90F579 AD C0 0D LDA $0DC0 [$7E:0DC0] $90F57C 30 60 BMI $60 [$F5DE] $90F57E F0 11 BEQ $11 [$F591] $90F580 A5 8B LDA $8B [$7E:008B] $90F582 2C B2 09 BIT $09B2 [$7E:09B2] $90F585 F0 07 BEQ $07 [$F58E] $90F587 A9 41 00 LDA #$0041 $90F58A 22 2B 90 80 JSL $80902B[$80:902B] $90F58E 9C C0 0D STZ $0DC0 [$7E:0DC0] $90F591 AD 40 0B LDA $0B40 [$7E:0B40] $90F594 F0 12 BEQ $12 [$F5A8] $90F596 AD 3E 0B LDA $0B3E [$7E:0B3E] $90F599 89 00 04 BIT #$0400 $90F59C D0 0A BNE $0A [$F5A8] $90F59E 9C 40 0B STZ $0B40 [$7E:0B40] $90F5A1 A9 25 00 LDA #$0025 $90F5A4 22 25 91 80 JSL $809125[$80:9125] $90F5A8 AD 11 0A LDA $0A11 [$7E:0A11] $90F5AB 29 FF 00 AND #$00FF $90F5AE C9 03 00 CMP #$0003 $90F5B1 F0 05 BEQ $05 [$F5B8] $90F5B3 C9 14 00 CMP #$0014 $90F5B6 D0 2C BNE $2C [$F5E4] $90F5B8 AD 1F 0A LDA $0A1F [$7E:0A1F] $90F5BB 29 FF 00 AND #$00FF $90F5BE C9 03 00 CMP #$0003 $90F5C1 F0 21 BEQ $21 [$F5E4] $90F5C3 C9 14 00 CMP #$0014 $90F5C6 F0 1C BEQ $1C [$F5E4] $90F5C8 A9 32 00 LDA #$0032 $90F5CB 22 21 90 80 JSL $809021[$80:9021] $90F5CF AD D0 0C LDA $0CD0 [$7E:0CD0] $90F5D2 C9 10 00 CMP #$0010 $90F5D5 30 0D BMI $0D [$F5E4] $90F5D7 A5 8B LDA $8B [$7E:008B] $90F5D9 2C B2 09 BIT $09B2 [$7E:09B2] $90F5DC F0 06 BEQ $06 [$F5E4] $90F5DE A9 01 00 LDA #$0001 $90F5E1 8D C0 0D STA $0DC0 [$7E:0DC0] $90F5E4 AD D1 05 LDA $05D1 [$7E:05D1] ;;;;;;;;;;;;;;; $90F5E7 F0 30 BEQ $30 [$F619] $90F5E9 AD 1C 0A LDA $0A1C [$7E:0A1C] $90F5EC F0 0F BEQ $0F [$F5FD] $90F5EE C9 9B 00 CMP #$009B $90F5F1 F0 0A BEQ $0A [$F5FD] $90F5F3 AD E0 0D LDA $0DE0 [$7E:0DE0] $90F5F6 C9 07 00 CMP #$0007 $90F5F9 30 1B BMI $1B [$F616] $90F5FB 28 PLP $90F5FC 60 RTS $90F5FD A5 8D LDA $8D [$7E:008D] $90F5FF 29 30 00 AND #$0030 $90F602 C9 30 00 CMP #$0030 $90F605 D0 12 BNE $12 [$F619] $90F607 A5 91 LDA $91 [$7E:0091] $90F609 89 80 00 BIT #$0080 $90F60C F0 0B BEQ $0B [$F619] $90F60E A9 07 00 LDA #$0007 $90F611 8D E0 0D STA $0DE0 [$7E:0DE0] $90F614 80 03 BRA $03 [$F619] $90F616 9C E0 0D STZ $0DE0 [$7E:0DE0] $90F619 A9 0E 00 LDA #$000E $90F61C 22 33 82 80 JSL $808233[$80:8233] $90F620 90 16 BCC $16 [$F638] $90F622 AD 5A 0A LDA $0A5A [$7E:0A5A] $90F625 C9 14 E1 CMP #$E114 $90F628 D0 0E BNE $0E [$F638] $90F62A AD 98 09 LDA $0998 [$7E:0998] $90F62D C9 23 00 CMP #$0023 $90F630 F0 06 BEQ $06 [$F638] $90F632 A9 23 00 LDA #$0023 $90F635 8D 98 09 STA $0998 [$7E:0998] $90F638 28 PLP $90F639 60 RTS $90F5E7 F0 30 BEQ $30 [$F619] $90F619 A9 0E 00 LDA #$000E $90F61C 22 33 82 80 JSL $808233[$80:8233] $90F620 90 16 BCC $16 [$F638] $90F622 AD 5A 0A LDA $0A5A [$7E:0A5A] $90F625 C9 14 E1 CMP #$E114 $90F628 D0 0E BNE $0E [$F638] $90F638 28 PLP $90F639 60 RTS