Advertisement
Guest User

Untitled

a guest
Jul 13th, 2012
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.33 KB | None | 0 0
  1. .segment "INES"
  2. .byte "NES", $1A,1,1,9
  3.  
  4. .segment "VECTORS"
  5. .word NMI
  6. .word Start
  7. .word IRQ
  8.  
  9. .segment "GFX"
  10. spr_tiles:
  11. .incbin "sprites.spr"
  12. bg_tiles:
  13. .incbin "bakgrunn.chr"
  14.  
  15. .segment "CODE"
  16.  
  17. Start:
  18.  
  19. ; ---[ VENTER 2 FRAMES TIL PPU KOMMER SEG ]---
  20. LDA $2002
  21. BPL Start
  22. : LDA $2002
  23. BPL :-
  24.  
  25. ; ---[ START LAST PALETT]---
  26. LDA #$3F
  27. STA $2006 ; PPU output skal
  28. LDA #0 ; settes til $3F00
  29. STA $2006
  30.  
  31. LDX #0
  32. LastPalett:
  33. LDA palett, x
  34. STA $2007
  35. INX
  36. CPX #32
  37. BNE LastPalett
  38. ; ---[ SLUTT LAST PALETT]---
  39.  
  40. ; ---[ SETTER OPP PPU ]---
  41. LDA #%10010000
  42. STA $2000 ; kontrollregister 1
  43. LDA #%00011110
  44. STA $2001 ; kontrollregister 2
  45.  
  46. ; ---[ SETTER OPP STACKEN ]---
  47. LDX #$FF
  48. TXS
  49.  
  50.  
  51. LDA #0
  52. STA right_racket_pos
  53.  
  54. ; ---[ SETT POSISJON TIL SPRITES ]---
  55.  
  56. ; ---[ POSISJONER OG VEKTORER TIL BALLEN]---
  57. LDA #0
  58. STA x_pos
  59. LDA #50
  60. STA y_pos
  61. LDA #3
  62. STA x_vector
  63. LDA #1
  64. STA y_vector
  65.  
  66. Sprite:
  67. LDA $2002
  68. BPL Sprite
  69.  
  70.  
  71. ; ---[RIGHT RACKET POSITION ]---
  72. ;A, B, Select, Start, Up, Down, Left, Right
  73. LDA #1
  74. STA $4016
  75. LDA #0
  76. STA $4016
  77. LDA $4016 ; A
  78. LDA $4016 ; B
  79. LDA $4016 ; Select
  80. LDA $4016 ; Start
  81. LDA $4016 ; Up
  82. CMP #$41
  83. BNE NotUp
  84. LDA right_racket_pos
  85. SEC
  86. SBC #2
  87. STA right_racket_pos
  88. JMP NoMove
  89.  
  90. NotUp:
  91. LDA $4016 ; Down
  92. CMP #$41
  93. BNE NoMove
  94. LDA right_racket_pos
  95. CLC
  96. ADC #2
  97. STA right_racket_pos
  98.  
  99. NoMove:
  100.  
  101.  
  102.  
  103. ; ---[ OPPDATERER X ]---
  104. LDA x_pos
  105. CLC
  106. ADC x_vector
  107. TAX
  108. STA x_pos
  109.  
  110. ; ---[ OPPDATERER Y ]---
  111. LDA y_pos
  112. CLC
  113. ADC y_vector
  114. TAY
  115. STA y_pos
  116.  
  117. ; ---[ TRUFFET KANTEN? ]---
  118. ;TestEdgeX
  119. CPX #250 ; if (x >= 250)
  120. BCS TurnX ; then TurnX
  121. CPX #0 ; if (x == 0)
  122. BEQ TurnX ; then TurnX
  123.  
  124. TestEdgeY:
  125. CPY #232 ; if (y >= 232)
  126. BCS TurnY ; then TurnY
  127. CPY #0 ; if (y == 0)
  128. BEQ TurnY ; then TurnY
  129.  
  130. JMP Sprite ; ikke truffet kanten, flytt mer
  131.  
  132.  
  133. TurnX: ; SNUR X-VEKTOREN
  134. LDA #0
  135. SEC
  136. SBC x_vector
  137. STA x_vector
  138. JMP TestEdgeY
  139.  
  140.  
  141. TurnY: ; SNUR Y-VEKTOREN
  142. LDA #0
  143. SEC
  144. SBC y_vector
  145. STA y_vector
  146. JMP Sprite
  147.  
  148.  
  149.  
  150. palett:
  151. ; Bakgrunnsgrafikk
  152. .byte 0, $2E, $2D, $04
  153. .byte 0, $2E, $2D, $04
  154. .byte 0, $2E, $2D, $04
  155. .byte 0, $2E, $2D, $04
  156.  
  157. .byte $11, $2A, $28, $21 ; bakgrunn og sprite 0
  158. .byte 0, 0, 0, 0 ; sprite 1
  159. .byte 0, 0, 0, 0 ; sprite 2
  160. .byte 0, 0, 0, 0 ; sprite 3
  161.  
  162.  
  163.  
  164.  
  165.  
  166. NMI: ; ---[ V-BLANK INTERRUPT ]---
  167. STA a_tmp
  168. ;STX x_tmp
  169. ;STY y_tmp
  170.  
  171. ; ---[ BALL ]---
  172. LDA #0
  173. STA $2003
  174. ; ---[ Y-KOORDINAT ]---
  175. LDA y_pos
  176. STA $2004
  177.  
  178. ; ---[ TILENUMMER FRA CHR-ROM ]---
  179. LDA #3
  180. STA $2004
  181. ; ---[ ATRIBUTT-BYTE ]---
  182. LDA #0; (setter ingen flagg)
  183. STA $2004
  184. ; ---[ X-KOORDINAT ]---
  185. LDA x_pos
  186. STA $2004
  187.  
  188.  
  189. ; ---[ RIGHT RACKET ]---
  190. LDA #4
  191. STA $2003
  192. ; ---[ Y-KOORDINAT ]---
  193. LDA right_racket_pos
  194. STA $2004
  195. ; ---[ TILENUMMER FRA CHR-ROM ]---
  196. LDA #5
  197. STA $2004
  198. ; ---[ ATRIBUTT-BYTE ]---
  199. LDA #0; (setter ingen flagg)
  200. STA $2004
  201. ; ---[ X-KOORDINAT ]---
  202. LDA #250
  203. STA $2004
  204.  
  205.  
  206. LDA a_tmp
  207. ;LDX x_tmp
  208. ;LDY y_tmp
  209. RTI ; ReTurn from Interrupt
  210.  
  211. IRQ:
  212. jmp IRQ
  213.  
  214. .segment "RAM"
  215. ; Midlertidige minneposisjoner for interrupt handling
  216. a_tmp: .byte 0
  217. x_tmp: .byte 0
  218. y_tmp: .byte 0
  219.  
  220. ; Ballen
  221. x_pos: .byte 0
  222. y_pos: .byte 0
  223. x_vector: .byte 0
  224. y_vector: .byte 0
  225.  
  226. ; Racketen
  227. right_racket_pos: .byte 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement