Disassembly: $84/B7EF AD A4 09 LDA $09A4 [$00:09A4] ;Load Collected Items $84/B7F2 29 00 20 AND #$2000 ;Check for SpeedBooster $84/B7F5 D0 13 BNE $13 [$B80A] ;Branch to B80A if no SpeedBooster $84/B7F7 A9 FF FF LDA #$FFFF ;Load 0xFFFF $84/B7FA 8D 7A 19 STA $197A [$00:197A] ;Set FX3 destination height to 0xFFFF $84/B7FD 9C 7C 19 STZ $197C [$00:197C] ;Set FX3 speed to 0x00 $84/B800 9C 80 19 STZ $1980 [$00:1980] ;Set delay to 0x00 $84/B803 9C 40 18 STZ $1840 [$00:1840] ;Set screen shake duration to 0x00 $84/B806 9E 37 1C STZ $1C37,x[$00:1C37] ;delete PLM (is this why it doesn't activate when speedbooster is collected in same room) $84/B809 60 RTS ;Return from Subroutine (looks more like return to sender to me :P) Disassembly: $84/B80A AD 7A 19 LDA $197A [$00:197A] ;Load FX3 destination height $84/B80D 30 17 BMI $17 [$B826] ;Branch to B826 if height is negative $84/B80F A9 80 FF LDA #$FF80 ;Load 0xFF80 $84/B812 8D 7C 19 STA $197C [$00:197C] ;Set FX3 speed to 0xFF80 $84/B815 A9 01 00 LDA #$0001 ;Load 0x01 $84/B818 9F 1C DE 7E STA $7EDE1C,x[$7E:DE1C] ;Set PLM frame delay to 0x01 $84/B81C FE 27 1D INC $1D27,x[$00:1D27] ;Increment PLM instruction $84/B81F FE 27 1D INC $1D27,x[$00:1D27] ; " " " $84/B822 9E 77 1D STZ $1D77,x[$00:1D77] ;Set PLM variable to 0x00 $84/B825 60 RTS ;Return from Subroutine Disassembly: $84/B826 9E 37 1C STZ $1C37,x[$00:1C37] ;delete PLM $84/B829 60 RTS ;Return from Subroutine Disassembly: $84/B82A A9 E0 0A LDA #$0AE0 ;Load 0x0AE0 $84/B82D CD F6 0A CMP $0AF6 [$00:0AF6] ;Compare A with Samus's X position. $84/B830 90 13 BCC $13 [$B845] ;Branch to B845 if Carry flag is cleared (not set) $84/B832 A9 01 00 LDA #$0001 ;Load 0x01 $84/B835 8D 80 19 STA $1980 [$00:1980] ;Set delay to 0x01 $84/B838 9F 1C DE 7E STA $7EDE1C,x[$7E:DE1C] ;Set PLM frame delay to 0x01 $84/B83C FE 27 1D INC $1D27,x[$00:1D27] ;Increment PLM instruction $84/B83F FE 27 1D INC $1D27,x[$00:1D27] ; " " " $84/B842 9E 77 1D STZ $1D77,x[$00:1D77] ;Set PLM variable to 0x00 $84/B845 60 RTS ;Return from Subroutine Disassembly: $84/B846 BD 77 1D LDA $1D77,x[$00:1D77] ;Load PLM variable $84/B849 A8 TAY ;Transfer A to Y $84/B84A B9 76 B8 LDA $B876,y[$00:B876] ;Load the value at B876+y $84/B84D 30 1F BMI $1F [$B86E] ;Branch to B86E if A is negative $84/B84F CD F6 0A CMP $0AF6 [$00:0AF6] ;Compare A with Samus's X position. $84/B852 90 19 BCC $19 [$B86D] ;Branch to B86D if Carry flag is cleared $84/B854 B9 78 B8 LDA $B878,y[$00:B878] ;Load the value at B878+y $84/B857 CD 78 19 CMP $1978 [$00:1978] ;Compare FX3 height with A $84/B85A B0 03 BCS $03 [$B85F] ;Branch to B85F is Carry flag is set $84/B85C 8D 78 19 STA $1978 [$00:1978] ;Set FX3 height to A $84/B85F B9 7A B8 LDA $B87A,y[$00:B87A] ;Load the value at B87A+y $84/B862 8D 7C 19 STA $197C [$00:197C] ;Set FX3 speed to A $84/B865 98 TYA ;Transfer Y to A $84/B866 18 CLC ;Clear Carry flag $84/B867 69 06 00 ADC #$0006 ;Add 0x0006 to A $84/B86A 9D 77 1D STA $1D77,x[$00:1D77] ;Set PLM variable to A $84/B86D 60 RTS ;Return from Subroutine Disassembly: $84/B86E A9 15 00 LDA #$0015 ;Load 0x0015 into A (0x15 is the event bit for escaping speedbooster lava quake) $84/B871 22 FA 81 80 JSL $8081FA[$80:81FA] ;Jump to 8081FA (Stating an event has happened) $84/B875 60 RTS ;Return from Subroutine