91:8000 checks movement type, and goes to 91:(8014,X), X being 2x movement type. List: 804D, 81A9, 81A9, 81A9, 81A9, 8066, 81A9, 8065, 81A9, 8065, 81A9, 8065, 81A9, 81A9, 81A9, 8065, 81A9, 81A9, 81A9, 81A9, 81A9, 81A9, 81A9, 81A9, 81A9, 81A9, 81A9, 81A9 4D80A981A981A981A9816680A9816580A9816580A9816580A981A981A9816580A981A981A981A981A981A981A981A981A981A981A981A981 91:804D If Samus is facing forward (0A1C = 00 or 9B) and on a moving elevator, RTS. Else JSR to 81A9. 91:8065 RTS at end of 804D. org $918066 LDA $09A2 BIT #$0800 BEQ Skip LDA $8F BIT $09B6 BEQ Skip LDA #$0004 EOR $0617 BIT #$0004 BEQ Electromorph STA $0617 Skip: JMP $81A9 Electromorph: ; JSL $90CFFA LDA $09C2 CMP #$0050 BMI Skip LDA #$0008 TSB $0617 LDA $0A1E AND #$00FF CMP #$0004 BNE Right LDA #$00CA BRA Store Right: LDA #$00C9 Store: STA $0A28 STZ $0A56 SEC RTS ;This is outdated code now, do not use ;ADA209890008F015A58F2CB609F00EA904004D1706890400F0068D17064CA981A908000C1706ADC209C9500030EFAD1E0A29FF00C90400D005A9CA008003A9C9008D280A9C560A3860 91:F44F ;Redirect to $0617 clear JSR $80C0 20C080 91:80C0 CMP #$0005 BNE End2 PHA LDA $0A1F AND #$00FF CMP $01,S BEQ End LDA #$0004 TRB $0617 End: PLA End2: CMP #$0003 RTS C90500D01248AD1F0A29FF00C301F006A904001C170668C9030060 ;These two parts shared with SparkBounce 91:FAD6 BMI BRANCH_ALPHA ;#$22 ASL A TAX JSL $B88090 STA $0A58 LDA #$E90E STA $0A60 STZ $0AC0 30220AAA229080B88D580AA90EE98D600A B8:8090 LDA $0617 BIT #$0008 BEQ Normal JSL $90CFFA LDA $09C2 SEC SBC #$0032 STA $09C2 LDA #$D0DE RTL Normal: LDA $FAFC,X RTL AD1706890800F01222FACF90ADC20938E932008DC209A9DED06BBDFCFA6B 91:FAFC CED0CED0ABD0ABD0BBD0BBD0 90:D0AB all A2040020B0FA20FFD120BAD2CEC20960A2040020B0FA2032D120FFD120BAD2CEC20960A2080020B0FA2032D120BAD2CEC20960A2080020B0FA2032D120F1D0CEC209CEC20960A58B2CB609F00FADC209C91F003007ADD00DD0021860AD1E0A890400F005A92A008003A929008D2C0AA902008D320A9CC00A9CC20AA908001C1706EE3C0B4C24D3 90:D0AB ;Vertical: LDX #$0004 JSR $FAB0 ; EchoesSetup JSR $D1FF ; Super Jump vertical movement JSR $D2BA ; Check if super jump should stop, if so, stop it DEC $09C2 RTS A2040020B0FA20FFD120BAD2CEC20960 90:D0BB ;Diagonal: LDX #$0004 JSR $FAB0 ; EchoesSetup JSR $D132 ; Super Jump horizontal movement JSR $D1FF ; Super Jump vertical movement JSR $D2BA ; Check if super jump should stop, if so, stop it DEC $09C2 RTS A2040020B0FA2032D120FFD120BAD2CEC20960 90:D0CE ;Horizontal: LDX #$0008 JSR $FAB0 ; EchoesSetup JSR $D132 ; Super Jump horizontal movement JSR $D2BA ; Check if super jump should stop, if so, stop it DEC $09C2 RTS A2080020B0FA2032D120BAD2CEC20960 90:D0DE ;Electromorph: LDX #$0008 JSR $FAB0 ; EchoesSetup JSR $D132 ; Super Jump horizontal movement JSR $D0F1 ; ElectroMorphStop ; Check if super jump should stop, if so, stop it DEC $09C2 DEC $09C2 RTS A2080020B0FA2032D120F1D0CEC209CEC20960 org $90D0F1 ;ElectroMorphStop: LDA $8B BIT $09B6 BEQ EMS_ALPHA LDA $09C2 CMP #$001F BMI EMS_ALPHA LDA $0DD0 BNE EMS_ALPHA CLC RTS EMS_ALPHA: ; LDA #$A337 ; STA $0A58 ; LDA #$E913 ; STA $0A60 LDA $0A1E BIT #$0004 BEQ Right LDA #$002A BRA Store Right: LDA #$0029 Store: STA $0A2C LDA #$0008 TRB $0617 LSR LSR STA $0A32 DEC STA $0A68 ; STZ $0AC0 ; STZ $0AC2 INC $0B3C JMP $D324 ; Inside D2BA ;Outdated code ;A58B2CB609F00FADC209C91F003007ADD00DD0021860AD1E0A890400F005A92A008003A929008D2C0AA902008D320A9CC00A9CC20AA908001C1706EE3C0B4C24D3 90:FAB0 ;EchoesSetup: LDA #$0002 STA $0A6E ;Samus's contact damage controller LDA #$0008 STA $0A48 ;Samus's pallete LDY $EF20 ;#$0010 JMP $EEE7 ; Handle Blue Suit Echoes A902008D6E0AA908008D480AAC20EF4CE7EE ;90:D2BA ;Superjump ending, MINUS SuperJump --> SpeedRun fix LDA $09C2 CMP #$001E BMI BRANCH_ALPHA LDA $0DD0 BNE BRANCH_ALPHA CLC RTS BRANCH_ALPHA: LDA $0A1E AND #$00FF CMP #$0004 BEQ BRANCH_BETA LDA #$00E0 STA $0AC0 LDA #$0060 STA $0AC2 LDA #$FFFC STA $0AB4 BRA BRANCH_GAMMA BRANCH_BETA: LDA #$0020 STA $0AC0 LDA #$00A0 STA $0AC2 LDA #$0004 STA $0AB4 BRANCH_GAMMA: LDA #$D346 STA $0A58 LDA #$EBF3 STA $0A5C LDA $0AF6 STA $0AB0 STA $0AB2 LDA $0AFA STA $0AB8 STA $0ABA STZ $0B2C STZ $0B2E STZ $0B42 STZ $0B44 ;Electromorph Jump goes to here: D324 STZ $0B3E STZ $0B1A STZ $0B36 STZ $0AAE STZ $0AC4 STZ $0A48 LDA #$0035 JSL $809049 ; $1049 IN ROM LDA #$0010 JSL $80914D ; $114D IN ROM PLA RTS ADC209C91E003007ADD00DD0021860AD1E0A29FF00C90400F014A9E0008DC00AA960008DC20AA9FCFF8DB40A8012A920008DC00AA9A0008DC20AA904008DB40AA946D38D580AA9F3EB8D5C0AADF60A8DB00A8DB20AADFA0A8DB80A8DBA0A9C2C0B9C2E0B9C420B9C440B9C3E0B9C1A0B9C360B9CAE0A9CC40A9C480AA9350022499080A91000224D91806860 ;90:D2BA ;Superjump ending + SuperJump --> SpeedRun bug fix LDA $09C2 CMP #$001E BMI BRANCH_ALPHA LDA $0DD0 BNE BRANCH_ALPHA CLC RTS BRANCH_ALPHA: LDA $0A1E AND #$00FF JSR $F640 BEQ BRANCH_BETA LDA #$00E0 STA $0AC0 LDA #$0060 STA $0AC2 LDA #$FFFC STA $0AB4 BRA BRANCH_GAMMA BRANCH_BETA: LDA #$0020 STA $0AC0 LDA #$00A0 STA $0AC2 LDA #$0004 STA $0AB4 BRANCH_GAMMA: LDA #$D346 STA $0A58 LDA #$EBF3 STA $0A5C LDA $0AF6 STA $0AB0 STA $0AB2 LDA $0AFA STA $0AB8 STA $0ABA STZ $0B2C STZ $0B2E STZ $0B42 STZ $0B44 ;Electromorph Jump goes to here: D324 STZ $0B3E STZ $0B1A STZ $0B36 STZ $0AAE STZ $0AC4 STZ $0A48 LDA #$0035 JSL $809049 ; $1049 IN ROM LDA #$0010 JSL $80914D ; $114D IN ROM PLA RTS ADC209C91E003007ADD00DD0021860AD1E0A29FF002040F6F014A9E0008DC00AA960008DC20AA9FCFF8DB40A8012A920008DC00AA9A0008DC20AA904008DB40AA946D38D580AA9F3EB8D5C0AADF60A8DB00A8DB20AADFA0A8DB80A8DBA0A9C2C0B9C2E0B9C420B9C440B9C3E0B9C1A0B9C360B9CAE0A9CC40A9C480AA9350022499080A91000224D91806860