NOP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NOP ;; Parabeetle ASM - mikeyk730@gmail.com ;; NOP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NOP JSR $8000 ;gfx routine - inserted at 0x2A8200 LDY #$FF LDA #$01 JSL $01B7B3 JSR $8118 ;offscreen routine - inserted at 0x2A8318 NOP LDA $9D ;return if sprites locked BEQ NOFREEZE RTL NOFREEZE PHY TXY LDX $157C,y ;load sprite direction LDA $5590FE,x ;get x speed TYX PLY STA $B6,x LDA $154C,x ;check if ontop of BNE GETSPEED STZ $1540,x LDA #$00 ;speed equals zero when not on top BRA SETSPEED GETSPEED LDA $1540,x INC A INC A STA $1540,x CMP #$10 BCS UP LDA #$08 BRA SETSPEED UP LDA #$10 STA $1540,x LDA #$F7 ;sets speed if on top SETSPEED STA $AA,x JSL $01802A ;applies speed changes JSL $018032 LDA $1588,x AND #$03 JSL $01A7DC BCC RETURN LDY #$00 LDA $96 SEC SBC $D8,x STA $0F LDA $97 SBC $14D4,x BPL NOINCY INY NOINCY LDA $0E ;check if ontop CMP #$E6 BPL HURT LDA $7D BMI HURT LDA #$01 STA $1471 NOP LDA #$06 STA $154C,x STZ $7D LDA #$E4 ;boost value if not on yoshi LDY $187A BEQ NOYOSHI LDA #$D4 ;boost value if on yoshi NOYOSHI CLC ADC $D8,x ;modify mario's position relative to sprite STA $96 LDA $14D4,x ADC #$FF STA $97 LDY #$00 LDA $1491 BPL NODEC DEY NODEC CLC ADC $94 STA $94 TYA ADC $95 STA $95 RTL HURT LDA $187A ;check if should hurt mario ORA $154C,x ORA $15D0,x BNE RETURN JSL $00F5B7 ;hurt mario RETURN RTL