Advertisement
Guest User

Untitled

a guest
May 22nd, 2014
15
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.50 KB | None | 0 0
  1. LatchController:
  2. LDA #$01
  3. STA $4016
  4. LDA #$00
  5. STA $4016 ; tell both the controllers to latch buttons
  6.  
  7. ButtonA:
  8. LDA $4016 ; player 1 - A
  9. AND #%00000001 ; look only at bit 0
  10. BNE ButtonB
  11.  
  12. ; Button stuff here
  13.  
  14. ButtonB:
  15. LDA $4016 ; player 1 - B
  16. AND #%00000001 ; look only at bit 0
  17. BNE SelectButton
  18.  
  19. ; Button stuff here
  20.  
  21. SelectButton:
  22. LDA $4016 ; player 1 - Select
  23. AND #%00000001 ; look only at bit 0
  24. BNE StartButton
  25.  
  26. ; Button stuff here
  27.  
  28. StartButton:
  29. LDA $4016 ; player 1 - Start
  30. AND #%00000001 ; look only at bit 0
  31. BNE UpButton
  32.  
  33. ; Button stuff here
  34.  
  35. UpButton:
  36. LDA $4016 ; player 1 - Up
  37. AND #%00000001 ; look only at bit 0
  38. BNE DownButton
  39.  
  40. ; Button stuff here
  41.  
  42. DownButton:
  43. LDA $4016 ; player 1 - Down
  44. AND #%00000001 ; look only at bit 0
  45. BNE LeftButton
  46.  
  47. ; Button stuff here
  48.  
  49. LeftButton:
  50. LDA $4016 ; player 1 - Left
  51. AND #%00000001 ; look only at bit 0
  52. BNE RightButton
  53. LDA $0203 ; load sprite X position
  54. CLC ; make sure the carry flag is clear
  55. ADC #$01 ; A = A + 1
  56. STA $0203 ; save sprite X position
  57. LDA $0207 ; load sprite X position
  58. CLC ; make sure the carry flag is clear
  59. ADC #$01 ; A = A + 1
  60. STA $0207 ; save sprite X position
  61. LDA $020B ; load sprite X position
  62. CLC ; make sure the carry flag is clear
  63. ADC #$01 ; A = A + 1
  64. STA $020B ; save sprite X position
  65. LDA $020F ; load sprite X position
  66. CLC ; make sure the carry flag is clear
  67. ADC #$01 ; A = A + 1
  68. STA $020F ; save sprite X position
  69. LDA $0213
  70. CLC
  71. ADC #$01
  72. STA $0213
  73. LDA $0217
  74. CLC
  75. ADC #$01
  76. STA $0217
  77. LDA $021B
  78. CLC
  79. ADC #$01
  80. STA $021B
  81. LDA $021F
  82. CLC
  83. ADC #$01
  84. STA $021F
  85.  
  86. RightButton:
  87. LDA $4016 ; player 1 - Right
  88. AND #%00000001 ; look only at bit 0
  89. BNE NotRightButton
  90. LDA $0203 ; load sprite X position
  91. SEC ; make sure carry flag is set
  92. SBC #$01 ; A = A - 1
  93. STA $0203 ; save sprite X position
  94. LDA $0207 ; load sprite X position
  95. SEC ; make sure carry flag is set
  96. SBC #$01 ; A = A - 1
  97. STA $0207 ; save sprite X position
  98. LDA $020B ; load sprite X position
  99. SEC ; make sure carry flag is set
  100. SBC #$01 ; A = A - 1
  101. STA $020B ; save sprite X position
  102. LDA $020F ; load sprite X position
  103. SEC ; make sure carry flag is set
  104. SBC #$01 ; A = A - 1
  105. STA $020F ; save sprite X position
  106. LDA $0213
  107. CLC
  108. ADC #$01
  109. STA $0213
  110. LDA $0217
  111. CLC
  112. ADC #$01
  113. STA $0217
  114. LDA $021B
  115. CLC
  116. ADC #$01
  117. STA $021B
  118. LDA $021F
  119. CLC
  120. ADC #$01
  121. STA $021F
  122.  
  123. NotRightButton:
  124. JMP ButtonA
  125.  
  126. RTI ; return from interrupt
  127.  
  128. ;;;;;;;;;;;;;;
  129.  
  130.  
  131. ;;;;;;;;;;;;;;
  132.  
  133.  
  134.  
  135. .bank 1
  136. .org $E000
  137. palette:
  138. .db $22,$0F,$27,$26, $22,$0F,$16,$26, $22,$30,$21,$0F, $22,$27,$17,$0F ;;background palette
  139. .db $22,$0F,$27,$1A, $22,$0F,$27,$26, $22,$1C,$15,$14, $22,$02,$38,$3C ;;sprite palette
  140.  
  141. sprites:
  142. ;vert tile attr horiz
  143. .db $80, $00, $00, $80 ;sprite 0
  144. .db $80, $01, $00, $88 ;sprite 1
  145. .db $88, $10, $00, $80 ;sprite 2
  146. .db $88, $11, $00, $88 ;sprite 3
  147. .db $90, $20, $00, $80 ;sprite 4
  148. .db $90, $21, $00, $88 ;sprite 5
  149. .db $98, $30, $00, $80 ;sprite 6
  150. .db $98, $31, $00, $88 ;sprite 7
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement