Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; **NOTE**: You MUST have used some form of spritetool on your ROM in order for this to work.
- lorom
- if read1($00FFD5) == $23
- !SA1 = 1
- sa1rom
- else
- !SA1 = 0
- endif
- if !SA1
- !base1 = $3000
- !base2 = $6000
- !15F6 = $33B8
- !166E = $7600
- !D8 = $3216
- !14D4 = $3258
- !1594 = $3360
- !C2 = $30D8
- !E4 = $322C
- !14E0 = $326E
- !163E = $33FA
- !1534 = $32B0
- !1528 = $329A
- !1570 = $331E
- !187B = $3410
- !7FAB10 = $6040
- else
- !base1 = $0000
- !base2 = $0000
- !15F6 = $15F6
- !166E = $166E
- !D8 = $D8
- !14D4 = $14D4
- !1594 = $1594
- !C2 = $C2
- !E4 = $E4
- !14E0 = $14E0
- !163E = $163E
- !1534 = $1534
- !1528 = $1528
- !1570 = $1570
- !187B = $187B
- !7FAB10 = $7FAB10
- endif
- !Freeram = $13E6 ;MUST BE CLEARED ON LEVEL LOAD
- !Music = $0C
- !Soundeffect = $23
- !Soundbank = $1DF9
- if !Freeram >= $0100
- !FreeramB = !Freeram|!base2
- else
- !FreeramB = !Freeram
- endif
- org $008E2D
- autoclean JML TimerStop
- NOP
- org $01C078
- autoclean JSL InitCode
- org $0086C1 ;end of controllerupdate
- autoclean JSL NoController
- NOP
- org $01C0A7
- autoclean JSL MainCode
- ;LDA !1594,x
- ;CMP #$08
- ;BEQ DontDieInAHole
- RTS
- DontDieInAHole:
- JMP $C0E7
- org $01C11F
- BRA 2 : NOP #2
- org $01C0EF
- BRA $08
- NOP #8
- ;1686: 29
- ;190F: 46
- freecode
- InitCode:
- PHA
- LDA !15F6,x
- AND #$F1
- ORA #$08
- STA !15F6,x
- LDA !166E,x
- AND #$F1
- ORA #$08
- STA !166E,x
- .special
- LDA !14D4,x
- STA !187B,x
- XBA
- LDA !D8,x
- STA !1570,x
- REP #$20
- SEC
- SBC #$0080
- SEP #$20
- STA !D8,x
- XBA
- STA !14D4,x
- STZ !1594,x
- PLA
- SBC #$08
- STA !C2,x
- RTL
- MainCode:
- LDA !1594,x
- JSL $0086DF
- dw NoTouched
- dw Above
- dw CalcScore
- dw WaitSecond ;!163E,x for waitsecond timer
- dw Falling
- dw WaitSecond
- dw Jumping
- dw FallTime
- dw WaitSecond
- dw StupidHop
- dw Peace
- dw TimeScore
- dw Derrr
- NoTouched:
- LDA !187B,x
- XBA
- LDA !1570,x
- REP #$20
- CMP $96
- BCC NotBlargh
- SEP #$20
- LDA !14E0,x
- XBA
- LDA !E4,x
- REP #$20
- CMP $94
- BCC XTEST
- SEP #$20
- RTL
- -
- ;LDA $1338
- INC !1594,x
- INC !1594,x
- STZ $7B
- LDA !14D4,x
- XBA
- LDA !D8,x
- REP #$20
- SEC
- SBC #$0010
- CMP $96
- SEP #$20
- BCC NotBlargh
- DEC !1594,x
- NotBlargh:
- SEP #$20
- RTL
- XTEST:
- ADC #$0004
- CMP $94
- BCC NotBlargh
- SBC #$0004
- STA $94
- SEP #$20
- BRA -
- Above:
- LDA !14D4,x
- XBA
- LDA !D8,x
- REP #$20
- SEC
- SBC #$0010
- CMP $96
- BCS .NotDoneYet
- SEP #$20
- INC !1594,x
- .NotDoneYet
- SEP #$20
- STZ $7B
- RTL
- CalcScore:
- LDA #$80
- STA $1DFB|!base2
- INC !1594,x
- LDA #$40
- STA !163E,x ;ex: 00F0
- LDA !187B,x
- XBA
- LDA !1570,x
- REP #$20 ;0170
- SEC
- SBC $96
- LSR #4 ;divide by 0x10
- SEP #$20
- JSL $02ACE5
- JSL $00FA80 ;clear enemies
- LDA #$01
- STA !FreeramB
- RTL
- WaitSecond:
- LDA !1594,x
- CMP #$08
- BEQ .nopos
- LDA #$20
- STA $13E0|!base2
- .nopos
- LDA #$01
- STA $76
- STZ $7B
- STZ $7D
- STZ $77
- STZ $1DFA|!base2
- STZ $1DFC|!base2
- STZ $1DF9|!base2
- LDA !163E,x
- BNE .notzeroyet
- LDA #$40
- STA !163E,x
- INC !1594,x
- LDA !1594,x
- CMP #$04
- BNE .notzeroyet
- LDA #!Soundeffect
- STA !Soundbank|!base2
- .notzeroyet
- RTL
- Falling:
- LDA #$20
- STA $13E0|!base2
- LDA #$01
- STA $76
- STZ $7B
- STZ $7D
- LDA !1534,x
- XBA
- LDA !1528,x
- REP #$20
- DEC
- DEC
- DEC
- CMP $96
- BEQ .marioground
- INC $96
- .marioground
- SEP #$20
- LDA !187B,x
- STA $01
- LDA !1570,x
- STA $00
- LDA !14D4,x
- XBA
- LDA !D8,x
- REP #$20
- CMP $00
- BCS .lolground
- INC
- SEP #$20
- STA !D8,x
- XBA
- STA !14D4,x
- RTL
- .lolground
- SEP #$20
- INC !1594,x
- LDA #$10
- STA !163E,x
- RTL
- Jumping:
- LDA #!Music
- STA $1DFB|!base2
- LDA #$FF
- STA $0DDA|!base2
- LDA #$A0
- STA $7D
- STZ $7B
- INC !1594,x
- LDA #$01
- STA $1DFA|!base2
- INC
- STA !163E,x
- RTL
- PoseTable:
- db $24,$0B
- FallTime:
- JSR Poser
- LDA #$01
- STA $76
- STZ $7B
- REP #$20
- INC $94
- INC $94
- SEP #$20
- LDA $77
- BIT #$04
- BEQ .zomg
- INC !1594,x
- LDA #$40
- STA !163E,x
- .zomg
- RTL
- Poser:
- LDA $187A|!base2
- BNE Yoshiiiii
- PHB
- PHK
- PLB
- LDA $7D
- BEQ StandIt
- ROL #2
- AND #$01
- TAY
- LDA PoseTable,y
- PLB
- STA $13E0|!base2
- RTS
- StandIt:
- STZ $13E0|!base2
- PLB
- RTS
- Yoshiiiii:
- LDA #$20
- STA $13E0|!base2
- RTS
- StupidHop:
- JSR Poser
- STZ $7B
- LDA #$01
- STA $76
- LDA $77
- BIT #$04
- BEQ .end
- LDA !163E,x
- BNE .jumpers
- INC !1594,x
- LDA #$40
- STA !163E,x
- RTL
- .jumpers
- LDA #$B0
- STA $7D
- LDA #$01
- STA $1DFA|!base2
- .end
- RTL
- Peace:
- LDA #$26 ; \ Mario's image = Peace Sign, or
- LDY $187A|!base2 ; |
- BEQ CODE_00CA3A ; |
- LDA #$14 ; | Mario's image = Peace Sign on Yoshi
- CODE_00CA3A: ; |
- STA $13E0|!base2 ; / YEAAAAH ALL.LOG RIP
- LDA !163E,x
- BNE .end
- INC !1594,x
- INC !FreeramB
- LDA #$11
- STA $1DFC|!base2
- LDA #$A0
- STA !163E,x
- .end
- RTL
- TimeScore:
- LDA $0F31|!base2
- BEQ .tens
- DEC $0F31|!base2
- REP #$20
- LDA $0F34|!base2
- CLC
- ADC #$01F4
- STA $0F34|!base2
- SEP #$20
- BCC .end
- INC $0F36|!base2
- RTL
- .tens
- LDA $0F32|!base2
- BEQ .ones
- DEC $0F32|!base2
- REP #$20
- LDA $0F34|!base2
- CLC
- ADC #$0032
- STA $0F34|!base2
- SEP #$20
- BCC .end
- INC $0F36|!base2
- RTL
- .ones
- LDA $0F33|!base2
- BEQ .endofitall
- DEC $0F33|!base2
- REP #$20
- LDA $0F34|!base2
- CLC
- ADC #$0005
- STA $0F34|!base2
- SEP #$20
- BCC .end
- INC $0F36|!base2
- RTL
- .endofitall
- INC !1594,x
- LDA #$12
- STA $1DFC|!base2
- .end
- RTL
- Derrr:
- LDA !163E,x
- BNE .end
- LDA $0DD5|!base2
- BEQ $02
- BPL $19
- LDA #$80
- BRA $00
- LDA #$01
- STA $13CE|!base2
- STA $0DD5|!base2
- INC $1DE9|!base2
- LDA #$0B
- STA $0100|!base2
- RTL
- LDA $0DD5|!base2
- BEQ $02
- BPL $19
- LDA #$80
- BRA $00
- LDA #$01
- INC
- STA $13CE|!base2
- STA $0DD5|!base2
- INC $1DE9|!base2
- LDA #$0B
- STA $0100|!base2
- .end
- RTL
- TimerStop:
- LDA #$28
- STA $0F30|!base2
- LDA !FreeramB
- BNE .awaaaay
- JML $008E32
- .awaaaay
- JML $008E6F
- NoController:
- LDA $0DA8|!base2,x
- STA $18
- LDA !FreeramB
- BNE .eeef
- RTL
- .eeef
- STZ $15
- STZ $16
- STZ $17
- STZ $18
- DEC
- BEQ .eeed
- STA $15
- .eeed
- RTL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement