dash
 

;;;;;;;;;;;;;;;;;;;
;;
;  dash power-up

;    by aiyo
;;
;;;;;;;;;;;;;
; defines
;;;;;

!fs = $000000
!rs = #$0005      ; 16bit addressing [ right speed ]
!ls = #$0005      ; 16bit addressing [  left speed ]

;;;;;
header
lorom

org $0087A
jsl new_routine
org !fs

;-----------------|
new_routine:     ;|
;-----------------|

lda $0777         ;\
beq return        ; if item wasn't collected then end

lda $15           ;\
and #$whatever    ; check to see if X is being held if not end
bne return        ;/

lda $76           ;\
bne right_side    ; check mario's direction, if right, go to right side

rep #$20          ;\
lda $94           ; |
sec               ; left speed routine
sbc.w !ls         ; |
sta $94           ; |
sep #$20          ;/

right_side:
lda $94           ;\
clc               ; right speed routine
adc.w !ss         ;
sta $94           ;/