EXPLODE.S 799 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. * 2150 251083
  2. *
  3. *
  4. ** EXPLODE.S **
  5. ** ASTEROIDS FOR THE ATARI 3600 **
  6. ** THIS FILE CONTAINS THE EXPLOSION HANDLING ROUTINE. **
  7. EXPLODE:
  8. LDY #32
  9. EXPLLOOP:
  10. LDA STATUS,Y
  11. BPL NEXTEXPL
  12. CMP #$FF
  13. BEQ NEXTEXPL
  14. TYA ;GET NEW ANIMATION INDEX
  15. ASL
  16. ADC FRMCNT
  17. LSR
  18. AND #$3 ;3 ANDED WITH FRMCNT TO DECIDE
  19. BNE NEXTEXPL ;WHEN NEXT ANIMATION
  20. LDA STATUS,Y
  21. AND #$0F
  22. TAX
  23. LDA ACYC,Y
  24. CMP EHBOUND,X
  25. BNE NEXTECYC
  26. CPX #3
  27. BCS DONULL
  28. LDX PLAYER
  29. DEC ROCKTOT,X ;ONE LESS ROCK FOR CURRENT PLAYER
  30. DONULL:
  31. LDA #$FF
  32. STA STATUS,Y
  33. BMI NEXTEXPL
  34. NEXTECYC:
  35. CLC
  36. ADC ESIZE,X
  37. STA ACYC,Y
  38. NEXTEXPL:
  39. DEY
  40. BPL EXPLLOOP
  41. RTS
  42. ESIZE:
  43. .DC.B 1,2,3,2,1,2,0