Advertisement
Guest User

Pong clone NES

a guest
Feb 5th, 2012
382
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .inesprg $01
  2.     .ineschr $01
  3.     .inesmap $00
  4.     .inesmir $01
  5.  
  6. ; variables
  7.     .rsset $0000
  8. gameState .rs 2 ; current state / old state
  9.  
  10. buttons1 .rs 1
  11. buttons2 .rs 1
  12.  
  13. pLo .rs 1
  14. pHi .rs 1
  15.  
  16. sleeping .rs 1
  17.  
  18. updatingBG .rs 1
  19.  
  20. ballPos .rs 2 ; x / y
  21. ballDirection .rs 4 ; up, down, left, right
  22. ballVel .rs 2 ; x / y
  23.  
  24. player1Score .rs 1
  25. player2Score .rs 1
  26.  
  27.     .rsset $0200
  28. player1 .rs 8 ; 2 paddle sprites for each player
  29. player2 .rs 8
  30. ballSprite .rs 4
  31. ; end variables
  32.  
  33. ; constants
  34. GSTITLE = $01
  35. GSPLAYING = $02
  36. GSGAMEOVER = $03
  37.  
  38. LEFTWALL = $20
  39. RIGHTWALL = $E0
  40. ROOF = $20
  41. FLOOR = $D0
  42. ; end constants
  43.  
  44.     .bank $00
  45.     .org $C000
  46. ; subroutines
  47. VBlankWait:
  48.     BIT $2002
  49.     BPL VBlankWait
  50.     RTS
  51.    
  52. WaitFrame:
  53.     INC sleeping
  54. .loop:
  55.     LDA sleeping
  56.     BNE .loop
  57.     RTS
  58.    
  59. SetBGPointer:
  60.     TXA
  61.     STA pLo
  62.     TYA
  63.     STA pHi
  64.     RTS
  65.    
  66. LoadBG:
  67.     LDA $2002
  68.     LDA #$20
  69.     STA $2006
  70.     LDA #$00
  71.     STA $2006
  72.     LDX #$00
  73.     LDY #$00
  74. LoadBGLoop:
  75.     LDA [pLo], Y
  76.     STA $2007
  77.     INY
  78.     BNE LoadBGLoop
  79.     INC pHi
  80.     INX
  81.     CPX #$04
  82.     BNE LoadBGLoop
  83.     RTS
  84.  
  85. ReadController1:
  86.   LDA #$01
  87.   STA $4016
  88.   LDA #$00
  89.   STA $4016
  90.   LDX #$08
  91. ReadController1Loop:
  92.   LDA $4016
  93.   LSR A            
  94.   ROL buttons1  
  95.   DEX
  96.   BNE ReadController1Loop
  97.   RTS
  98.  
  99. ReadController2:
  100.   LDA #$01
  101.   STA $4016
  102.   LDA #$00
  103.   STA $4016
  104.   LDX #$08
  105. ReadController2Loop:
  106.   LDA $4017
  107.   LSR A            
  108.   ROL buttons2
  109.   DEX
  110.   BNE ReadController2Loop
  111.   RTS
  112.  
  113. HandleInput:
  114.     LDA gameState
  115.     CMP #GSTITLE
  116.     BEQ TitleInput
  117.    
  118.     LDA gameState
  119.     CMP #GSPLAYING
  120.     BEQ PlayingInput
  121.    
  122.     LDA gameState
  123.     CMP #GSGAMEOVER
  124.     BEQ GameOverInput
  125.  
  126. TitleInput:
  127.     LDA buttons1
  128.     AND #%00010000
  129.     BEQ .return
  130.     LDA #GSPLAYING
  131.     STA gameState
  132. .return
  133.     RTS
  134.    
  135. PlayingInput:
  136.     LDA buttons1
  137.     AND #%00001000
  138.     BEQ .nd1
  139.     LDA player1
  140.     SEC
  141.     SBC #$02
  142.     STA player1
  143.     LDA player1+4
  144.     SEC
  145.     SBC #$02
  146.     STA player1+4
  147. .nd1:
  148.        
  149.     LDA buttons1
  150.     AND #%00000100
  151.     BEQ .nd2
  152.     LDA player1
  153.     CLC
  154.     ADC #$02
  155.     STA player1
  156.     LDA player1+4
  157.     CLC
  158.     ADC #$02
  159.     STA player1+4
  160. .nd2:
  161.  
  162.     LDA buttons2
  163.     AND #%00001000
  164.     BEQ .nd3
  165.     LDA player2
  166.     SEC
  167.     SBC #$02
  168.     STA player2
  169.     LDA player2+4
  170.     SEC
  171.     SBC #$02
  172.     STA player2+4
  173. .nd3:
  174.  
  175.     LDA buttons2
  176.     AND #%00000100
  177.     BEQ .nd4
  178.     LDA player2
  179.     CLC
  180.     ADC #$02
  181.     STA player2
  182.     LDA player2+4
  183.     CLC
  184.     ADC #$02
  185.     STA player2+4
  186. .nd4:
  187.  
  188.     RTS
  189.  
  190. GameOverInput:
  191.  
  192.     RTS
  193.  
  194. MoveBall:
  195.     JSR MoveBallUp
  196.     JSR MoveBallDown
  197.     JSR MoveBallLeft
  198.     JSR MoveBallRight
  199.    
  200. MoveBallUp:
  201.     LDA ballDirection
  202.     BNE .return
  203.     LDA ballPos+1
  204.     SEC
  205.     SBC ballVel+1
  206.     STA ballPos+1
  207.    
  208.     CMP #ROOF
  209.     BNE .return
  210.     LDA #$01
  211.     STA ballDirection
  212.     LDA #$00
  213.     STA ballDirection+1
  214. .return:
  215.     RTS
  216.  
  217. MoveBallDown:
  218.     LDA ballDirection+1
  219.     BNE .return
  220.     LDA ballPos+1
  221.     CLC
  222.     ADC ballVel+1
  223.     STA ballPos+1
  224.    
  225.     CMP #FLOOR
  226.     BNE .return
  227.     LDA #$01
  228.     STA ballDirection+1
  229.     LDA #$00
  230.     STA ballDirection
  231. .return:
  232.     RTS
  233.  
  234. MoveBallLeft:
  235.     LDA ballDirection+2
  236.     BNE .return
  237.     LDA ballPos
  238.     SEC
  239.     SBC ballVel
  240.     STA ballPos
  241.    
  242.     CMP #LEFTWALL
  243.     BNE .return
  244.     INC player2Score
  245.     LDA #$78
  246.     STA ballPos
  247.     LDA #$74
  248.     STA ballPos+1
  249. .return:
  250.     RTS
  251.  
  252. MoveBallRight:
  253.     LDA ballDirection+3
  254.     BNE .return
  255.     LDA ballPos
  256.     CLC
  257.     ADC ballVel
  258.     STA ballPos
  259.    
  260.     CMP #RIGHTWALL
  261.     BNE .return
  262.     INC player1Score
  263.     LDA #$78
  264.     STA ballPos
  265.     LDA #$74
  266.     STA ballPos+1
  267. .return:
  268.     RTS
  269.    
  270. UpdateSprites:
  271.     LDA ballPos
  272.     STA ballSprite+3
  273.     LDA ballPos+1
  274.     STA ballSprite
  275.    
  276.     RTS
  277.    
  278. Player1Collisions:
  279.     LDA player1
  280.     CMP ballPos+1
  281.     BNE .return
  282.    
  283.     LDA player1+4
  284.     CMP ballPos
  285.     BNE .return
  286.     LDA #$01
  287.     STA ballDirection+1
  288.     STA ballDirection+2
  289.     LDA #$00
  290.     STA ballDirection
  291.     LDA ballDirection+3
  292. .return:
  293.     RTS
  294. ; end subroutines
  295.  
  296. Reset:
  297.     SEI
  298.     CLD
  299.     LDX #$40
  300.     STX $4017
  301.     LDX #$FF
  302.     TXS
  303.     INX
  304.     STX $2000
  305.     STX $2001
  306.     STX $4010
  307.    
  308.     BIT $2002
  309.     JSR VBlankWait
  310.    
  311. ClrMem:
  312.     LDA #$00
  313.     STA $0000, X
  314.     STA $0100, X
  315.     STA $0300, X
  316.     STA $0400, X
  317.     STA $0500, X
  318.     STA $0600, X
  319.     STA $0700, X
  320.     LDA #$FE
  321.     STA $0200, X
  322.     INX
  323.     BNE ClrMem
  324.    
  325.     JSR VBlankWait
  326.    
  327.     LDA $2002
  328.     LDA #$3F
  329.     STA $2006
  330.     LDA #$00
  331.     STA $2006
  332. LoadPalettes:
  333.     LDA Palettes, X
  334.     STA $2007
  335.     INX
  336.     CPX #$20
  337.     BNE LoadPalettes
  338.    
  339.     LDX #$00
  340. LoadSprites:
  341.     LDA Sprites, X
  342.     STA $0200, X
  343.     INX
  344.     CPX #$14
  345.     BNE LoadSprites
  346.  
  347. ; define some initial values
  348.     LDA #GSTITLE
  349.     STA gameState
  350.    
  351.     LDA ballSprite+3
  352.     STA ballPos
  353.     LDA ballSprite
  354.     STA ballPos+1
  355.    
  356.     LDA #$01
  357.     STA ballDirection+1
  358.     STA ballDirection+3
  359.     STA ballVel
  360.     STA ballVel+1
  361.     LDA #$00
  362.     STA $2003
  363.     STA player1Score
  364.     STA player2Score
  365.     STA ballDirection
  366.     STA ballDirection+2
  367.    
  368.     LDA #%10010000
  369.     STA $2000
  370.    
  371. Forever:
  372.     LDA gameState
  373.     CMP gameState+1
  374.     BEQ GameStatesDone
  375.  
  376. GameStates:
  377.     LDA gameState
  378.     CMP #GSTITLE
  379.     BEQ TitleScreen
  380.  
  381.     LDA gameState
  382.     CMP #GSPLAYING
  383.     BEQ PlayScreen
  384.    
  385.     LDA gameState
  386.     CMP #GSGAMEOVER
  387.     BEQ GameOverScreen
  388. GameStatesDone:
  389.  
  390.     JSR WaitFrame
  391.     JSR ReadController1
  392.     JSR ReadController2
  393.     JSR HandleInput
  394.     JSR UpdateSprites
  395.     JSR Player1Collisions
  396. .noMovement:
  397.     JMP Forever
  398.  
  399. TitleScreen:
  400.     LDA #$00
  401.     STA $2001
  402.    
  403.     LDA gameState
  404.     STA gameState+1
  405.    
  406.     LDA #$01
  407.     STA updatingBG
  408.    
  409.     LDX #LOW(TitleBG)
  410.     LDY #HIGH(TitleBG)
  411.     JSR SetBGPointer
  412.     JSR LoadBG
  413.  
  414.     LDA #$00
  415.     STA updatingBG
  416.    
  417.     JMP GameStatesDone
  418.  
  419. PlayScreen:
  420.     LDA #$00
  421.     STA $2001
  422.    
  423.     LDA gameState
  424.     STA gameState+1
  425.    
  426.     LDA #$01
  427.     STA updatingBG
  428.    
  429.     LDX #LOW(PlayBG)
  430.     LDY #HIGH(PlayBG)
  431.     JSR SetBGPointer
  432.     JSR LoadBG
  433.    
  434.     LDA #$00
  435.     STA updatingBG
  436.    
  437.     JMP GameStatesDone
  438.  
  439. GameOverScreen:
  440.     JMP GameStatesDone
  441.    
  442. Nmi:
  443.     PHA
  444.     TXA
  445.     PHA
  446.     TYA
  447.     PHA
  448.    
  449. GameStatesNmi:
  450.     LDA gameState
  451.     CMP #GSTITLE
  452.     BEQ TitleNmi
  453.  
  454.     LDA gameState
  455.     CMP #GSPLAYING
  456.     BEQ PlayNmi
  457.    
  458.     LDA gameState
  459.     CMP #GSGAMEOVER
  460.     BEQ GameOverNmi
  461. GameStatesNmiDone:
  462.  
  463.     LDA #$00
  464.     STA $2005
  465.     STA $2005
  466.     STA sleeping
  467.    
  468.     PLA
  469.     TAY
  470.     PLA
  471.     TAX
  472.     PLA
  473.    
  474.     RTI
  475.  
  476. TitleNmi:
  477.     LDA updatingBG
  478.     BNE .doNotDraw
  479.     LDA #%00011110
  480.     STA $2001
  481. .doNotDraw
  482.     JMP GameStatesNmiDone
  483.  
  484. PlayNmi:
  485.     LDA updatingBG
  486.     BNE .doNotDraw
  487.     LDA #$02
  488.     STA $4014
  489.     LDA #%00011110
  490.     STA $2001
  491.     JSR MoveBall
  492. .doNotDraw:
  493.     JSR Player1Collisions
  494.     JMP GameStatesNmiDone
  495.  
  496. GameOverNmi:
  497.     LDA updatingBG
  498.     BNE .doNotDraw
  499.     LDA #%00011110
  500.     STA $2001
  501. .doNotDraw:
  502.     JMP GameStatesNmiDone
  503.  
  504.  
  505.     .bank $01
  506.     .org $E000
  507. TitleBG:
  508.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  509.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  510.    
  511.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  512.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  513.    
  514.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  515.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  516.    
  517.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  518.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  519.    
  520.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  521.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  522.  
  523.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  524.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  525.    
  526.     .db $00, $01, $02, $03, $04, $05, $06, $07, $00, $08, $04, $02, $08, $00, $09, $0A
  527.     .db $07, $0B, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  528.    
  529.     .db $00, $00, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $00, $00, $00, $00
  530.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  531.    
  532.     .db $00, $00, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $00, $00, $00, $00
  533.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  534.    
  535.     .db $00, $00, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $00, $00, $00, $00
  536.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  537.    
  538.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  539.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  540.    
  541.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  542.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  543.    
  544.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $0B, $08
  545.     .db $02, $0C, $08, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  546.    
  547.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  548.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  549.    
  550.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  551.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  552.    
  553.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  554.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  555.    
  556.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  557.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  558.    
  559.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  560.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  561.    
  562.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  563.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  564.    
  565.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  566.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  567.    
  568.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  569.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  570.    
  571.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  572.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  573.    
  574.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  575.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  576.    
  577.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  578.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  579.    
  580.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  581.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  582.    
  583.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  584.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  585.    
  586.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  587.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  588.    
  589.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  590.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  591.    
  592.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  593.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  594.    
  595.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  596.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  597.  
  598.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  599.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  600.    
  601.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  602.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  603.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  604.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  605.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  606.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  607.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  608.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  609.    
  610. PlayBG:
  611.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  612.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  613.    
  614.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  615.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  616.    
  617.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  618.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  619.    
  620.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  621.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  622.    
  623.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  624.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  625.  
  626.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  627.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  628.    
  629.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  630.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  631.    
  632.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  633.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  634.    
  635.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  636.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  637.    
  638.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  639.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  640.    
  641.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  642.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  643.    
  644.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  645.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  646.    
  647.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  648.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  649.    
  650.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  651.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  652.    
  653.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  654.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  655.    
  656.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  657.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  658.    
  659.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  660.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  661.    
  662.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  663.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  664.    
  665.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  666.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  667.    
  668.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  669.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  670.    
  671.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  672.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  673.    
  674.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  675.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  676.    
  677.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  678.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  679.    
  680.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  681.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  682.    
  683.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  684.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  685.    
  686.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  687.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  688.    
  689.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  690.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  691.    
  692.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  693.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  694.    
  695.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  696.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  697.    
  698.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  699.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  700.  
  701.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  702.     .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
  703.    
  704.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  705.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  706.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  707.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  708.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  709.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  710.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  711.     .db %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
  712.  
  713. GameOverBG:
  714.  
  715. Palettes:
  716.     .db $0F, $26, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F
  717.     .db $0F, $03, $13, $0F, $0F, $18, $27, $0F, $0F, $0C, $3C, $2C, $0F, $0F, $0F, $0F
  718.    
  719. Sprites:
  720.     .db $52, $01, $00, $28 ; Player1 paddle top
  721.     .db $5A, $11, $00, $28 ; Player1 paddle bottom
  722.    
  723.     .db $52, $01, $01, $D8 ; Player2 paddle top
  724.     .db $5A, $11, $01, $D8 ; Player2 paddle bottom
  725.    
  726.     .db $74, $02, $02, $78 ; Ball
  727.    
  728.     .org $FFFA
  729.     .dw Nmi
  730.     .dw Reset
  731.     .dw $00
  732.    
  733.    
  734.     .bank $02
  735.     .org $0000
  736.     .incbin "pong.chr"
  737.     .incbin "pongbg.chr"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement