Advertisement
Zeldara109

AUT midpoint reset (not full patch)

Jan 21st, 2018
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. ;; Midpoint reset code - resets midpoints if Select+L is pressed
  2. ; again, this routine needs to run on the overworld
  3.  
  4. LDA $15 ; load controller data 1
  5. AND $17 ; bitwise AND with controller data 2
  6. AND #$20 ; filter out bit #$20 (Select in $15, L in $17)
  7. BEQ + ; if either bit is unset, don't reset
  8.  
  9. LDx $13BF ; translevel number
  10. LDA $1EA2,x ; load overworld flags for current level
  11. AND #$40 ; midpoint flag
  12. BEQ + ; if midpoint flag is not set, skip
  13.  
  14. LDA $1EA2,x
  15. AND #$BF ; clear midpoint flag
  16. STA $1EA2,x
  17.  
  18. LDA #$00 ; load 00 since there's no 24-bit STZ
  19. STA.l !RAM_MIDWAY,x ; clear multi-midpoint number
  20.  
  21. LDA #$08 ;\ play spin-jump kill sound effect
  22. STA $1DF9 ;/
  23.  
  24. +
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement