Il 0% ha trovato utile questo documento (0 voti)
262 visualizzazioni6 pagine

Ponk - Source

Il documento contiene istruzioni in codice macchina per programmare un gioco a Pong. Vengono impostate le posizioni iniziali dei paddle e della palla e vengono gestiti i movimenti in base ai joystick. Vengono anche controllati i confini dello schermo e segnati i punti quando la palla passa attraverso il paddle.

Caricato da

cstroeh
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
262 visualizzazioni6 pagine

Ponk - Source

Il documento contiene istruzioni in codice macchina per programmare un gioco a Pong. Vengono impostate le posizioni iniziali dei paddle e della palla e vengono gestiti i movimenti in base ai joystick. Vengono anche controllati i confini dello schermo e segnati i punti quando la palla passa attraverso il paddle.

Caricato da

cstroeh
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 6

,0810 NOP NOP NOP No Operation Anzahl Befehle:

,0811 LDA #14 LDA #14 Setting Sprite Graphics LDA Load Accumulator 25
,0813 STA 07F8 STA 07F8 STA Store Accumulator
,0816 STA 07F9 STA 07F9 # LDA:
,0819 LDA #20 LDA #20 Sprite POS Init 70
,0818 STA D000 STA D000 P1.x
,081E LDA #82 LDA #82 # STA:
,0820 STA D001 STA D001 P1.y 62
,0823 LDA #20 LDA #20
,0825 STA D002 STA D002 P2.x
,0828 LDA #82 LDA #82
,082A STA D003 STA D003 P2.y
,0828 LDA #AC LDA #AC
,082F STA D004 STA D004 Ball.x
,0832 LDA #8A LDA #8A
,0834 STA D005 STA D005 Ball.y
,0837 LDA #26 LDA #26
,0839 STA 07F8 STA 07F8
,083C STA 07F9 STA 07F9
,083F LDA #27 LDA #27
,0841 STA 07FA STA 07FA
,0844 LDA #0F LDA #0F Enable Sprites
,0846 STA 8017 STA 8017
,0849 LDA #02 LDA #02
,084B STA 8010 STA 8010
,084E LDA #0F LDA #0F
,0850 STA 8015 STA 8015
,0853 LDA #0F LDA #0F
,0855 STA D01D STA D01D
,0858 LDA #06 LDA #06
,0850 STA D020 STA D020
,085D LDA #05 LDA #05 BG Colour
,085F STA 8021 STA 8021
,0862 LDA #01 LDA #01
,0864 STA D027 STA D027
,0867 LDA #01 LDA #01
,0869 STA D028 STA D028
,086C LDA #01 LDA #01
,0861 STA D029 STA D029
,0871 LDA #A0 LDA #A0
,0873 STA D006 STA D006
,0876 LDA #32 LDA #32
,0878 STA D007 STA D007
,0878 LDA #01 LDA #01
,0878 STA 802A STA 802A
,0880 LDA #38 LDA #38
,0882 STA 07FB STA 07FB
,0885 LDA #00 LDA #00 Reset Variables
,0887 STA 0BF0 STA 0BF0
,088A STA 0BFI STA 0BFI
,0888 STA 0BFE STA 0BFE
,0890 STA 0BFF STA 0BFF
,0893 LDX #00 LDX #00 CLR Screen LDX Load X Register
,0895 LDA #20 LDA #20
,0897 STA 0400,X STA 0400,X \
,089A STA 0500,X STA 0500,X \
,0890 STA 0600,X STA 0600,X Screen Location
,0800 STA 06F0,8 STA 06F0,8 /
,0803 INX INX INX Increment X
,0804 BNE 0897 BNE 0897 BNE Branch on not Equal
,0806 LDA D011 LDA D011
,0809 AND #EF AND #EF Disable Display AND Logisches AND
,08AB STA D011 STA D011
,08AE LDX #C0 LDX #C0
,08B0 LDY #00 LDY #00 LDY Load Y Register
,08B2 JSR 08DA JSR 08DA Bleep Sound JSR Jump to Subroutine
,08B5 INY INY INY Increment Y
,08B6 BNE 08B2 BNE 08B2
,08B8 INC D020 INC D020 Blink Screen INC Increment Zelle
,08BB INX INX
,08BC BNE 08B0 BNE 08B0 Repeat
,08BE LDA #00 LDA #00
,08C0 STA D020 STA D020
,08C3 STA D021 STA D021
,08C6 LDA D011 LDA D011
,08C9 ORA #10 ORA #10 Enable Display ORA OR Accumulator
,08CB STA D011 STA D011
,08CE JMP 0BA0 JMP 0BA0 Jump to Score Init JMP Jump
,0BA0 LDA #00 LDA #00 Score Sprite Clear
,0BA2 LDX #40 LDX #40 CLR 64 Bytes
,0BA4 STA 0E00,X STA 0E00,X
,0BA7 DEX DEX DEX Decrement X
,0BA8 BNE 0BA4 BNE 0BA4
,0BAA LDA #3C LDA #3C
,0BAC STA 0E07 STA 0E07
,0BAF STA 0E0A STA 0E0A
,0882 STA 0E0D STA 0E0D
,0885 STA 0E10 STA 0E10
,0888 JMP 0900 JMP 0900 Jump to Main Loop
,0900 JSR 0A00 JSR 0A00 Main Ponk Loop
,0903 JSR 0A80 JSR 0A80
,0906 JSR 0920 JSR 0920
,0909 JSR 0B20 JSR 0B20
,090C JSR 0B60 JSR 0B60
,090F JSR 0BBB JSR 0BBB
,0912 JSR 0B00 JSR 0B00
,0915 JMP 0900 JMP 0900 Loop
,0A00 LDA DC00 LDA DC00 Get Joystick #2 Player Movement
,0A03 AND #02 AND #02
,0A05 BNE 0A10 BNE 0A10
,0A07 INC D001 INC D001
,0A0A INC D001 INC D001 Move P1 Down
,0A0D INC D001 INC D001
,0A10 LDA DC00 LDA DC00
,0A13 AND #01 AND #01
,0A15 BNE 0A20 BNE 0A20
,0A17 DEC D001 DEC D001 DEC Decrement
,0A1A DEC D001 DEC D001
,0A1D DEC D001 DEC D001
,0A20 JSR 0A5C JSR 0A5C Go to P2 Routine
,0A23 NOP NOP \
,0A24 NOP NOP \
,0A25 NOP NOP Wozu?
,0A26 NOP NOP /
,0A27 NOP NOP /
,0A28 LDX #02 LDX #02
,0A2A LDA D001,X LDA D001,X Get Player Y
,0A2D CMP #32 CMP #32 CMP Compare
,0A2F BCS 0A36 BCS 0A36 BCS Branch on Carry Set
,0A31 LDA #32 LDA #32
,0A33 STA D001,X STA D001,X Clamp
,0A36 LDA D001,X LDA D001,X Get Player Y
,0A39 CMP #CF CMP #CF
,0A3B BCC 0A42 BCC 0A42
,0A3D LDA #CF LDA #CF
,0A3F STA D001,X STA D001,X clamp
,0A42 DEX DEX
,0A43 DEX DEX
,0A44 BEQ 0A2A BEQ 0A2A BEQ Branch on Equal
,0A46 LDA DC00 LDA DC00
,0A49 EOR DC01 EOR DC01 EOR Exclusive OR
,0A4C AND #10 AND #10
,0A4E BNE 0059 BNE 0059
,0A50 JSR 0080 JSR 0080
,0A53 JSR 0080 JSR 0080
,0A56 JSR 0080 JSR 0080
,0A59 RTS RTS RTS Return from subroutine
,0A5A RTS RTS
,0A5B BRK BRK BRK Break, Interrupt
,0A5C LDA DC01 LDA DC01
,0A5F AND #02 AND #02
,0A61 BNE 0A6C BNE 0A6C
,0A63 INC D003 INC D003 \
,0A68 INC D003 INC D003 Move Down
,0A69 INC D003 INC D003 /
,0A6C LDA DC0i LDA DC0i
,0A6F AND #01 AND #01
,0A71 BNE 0A7C BNE 0A7C
,0A73 DEC D003 DEC D003 \
,0A76 DEC D003 DEC D003 Move Up
,0A79 DEC D003 DEC D003 /
,0A7C RTS RTS
,0A80 LDA 0BF0 LDA 0BF0 Ball Movement
,0A83 BEQ BABB BEQ BABB
,0A85 INC D004 INC D004 IF 0 Move Right
,0A88 JMP 0A8E JMP 0A8E
,0A8B DEC D004 DEC D004 IF 1 Move Left
,0A8E LDA 0BFi LDA 0BFi
,0A91 BEQ 0A99 BEQ 0A99
,0A93 INC D005 INC D005 IF 0 Move Down
,0A96 JMP 0A9C JMP 0A9C
,0A99 DEC D005 DEC D005 IF 0 Move Up
,0A9C LDA D004 LDA D004
,0A9F LDX 0BF0 LDX 0BF0
,0AA2 BEQ 0AA6 BEQ 0AA6
,0AA4 EOR #FF EOR #FF
,0AA6 AND #FF AND #FF
,0AA8 BNE 0AB2 BNE 0AB2
,0AAA LDA D010 LDA D010
,0AAD EOR #04 EOR #04
,0AAF STA D010 STA D010
,0AB2 LDY #20 LDY #20 Set Bleep Pitch
,0AB4 LDA D005 LDA D005
,0AB7 CMP #32 CMP #32
,0AB9 BCS 0AC3 BCS 0AC3
,0ABB LDA #01 LDA #01
,0ABD STA 0BF1 STA 0BF1
,0AC0 JSR 08DA JSR 08DA Bleep
,0AC3 LDA D005 LDA D005
,0AC6 CMP #F0 CMP #F0
,0AC8 BCC 0AD2 BCC 0AD2
,0ACA LDA #00 LDA #00
,0ACC STA 0BF1 STA 0BF1
,0ACF JSR 08DA JSR 08DA Bleep
,0AD2 RTS RTS
,0B20 LDA D010 LDA D010 Goal Check
,0B23 AND #04 AND #04
,0B25 BNE 0B39 BNE 0B39
,0027 LDA D004 LDA D004
,0B2A CMP #10 CMP #10
,0B2C BCC 0B38 BCC 0B38
,0B2E CMP #20 CMP #20
,0B30 BCS 0B38 BCS 0B38
,0B32 INC 0BFE INC 0BFE
,0B35 JSR 0BD0 JSR 0BD0
,0B38 RTS RTS
,0B39 LDA D004 LDA D004
,0B3C CMP #F0 CMP #F0
,0B3E BCS 0B4A BCS 0B4A
,0B40 CMP #60 CMP #60
,0B42 BCC 0B4A BCC 0B4A
,0B44 INC 0BFF INC 0BFF Increase Score
,0B47 JSR 0BD0 JSR 0BD0 Reset Ball Subroutine
,0B4A RTS RTS
,0B60 LDA 0BFF LDA 0BFF Load P1 Score Score Render
,0B63 AND #0F AND #0F
,0B65 ASL ASL ASL Arithmetical Shift Left
,0B66 ASL ASL
,0B67 ASL ASL
,0B68 TAX TAX TAX Transfer Accumulator to X
,0B69 LDA #08 LDA #08
,0B6B STA C000 STA C000
,0B6E LDY #00 LDY #00
,0B70 LDA 0930,X LDA 0930,X
,0B73 STA 0E00,Y STA 0E00,Y
,0B76 INX INX
,0B77 INY INY
,0B78 INY INY
,0B79 INY INY
,0B7A DEC C000 DEC C000
,0B7D BNE 0B70 BNE 0B70
,0B7F LDA 0BFE LDA 0BFE
,0B82 AND #0F AND #0F
,0B84 ASL ASL
,0B85 ASL ASL
,0B86 ASL ASL
,0B87 TAX TAX
,0B88 LDA #08 LDA #08
,0B8A STA C000 STA C000
,0B80 LDS #00 LDS #00
,0B8F LDA 0930,X LDA 0930,X
,0B92 STA 0E02,Y STA 0E02,Y
,0B95 INX INX
,0B96 INY INY
,0B97 INY INY
,0B98 INY INY
,0B99 DEC C000 DEC C000
,0B9C BNE 0B8F BNE 0B8F
,0B0E RTS RTS
,0BBB LDA 0BFE LDA 0BFE Match Over Check
,0BBE CMP #0A CMP #0A
,0BC0 BCC 0BC5 BCC 0BC5
,0BC2 JMP 0810 JMP 0810
,0BC5 LDA 0BFF LDA 0BFF
,0BC8 CMP 00A CMP 00A
,0BCA BCC 0BCF BCC 0BCF
,0BCC JMP 0810 JMP 0810
,0BCF RTS RTS
,0B00 LDY #40 LDY #40 Sprite Collision
,0B02 LDA D01E LDA D01E
,0B05 TAX TAX
,0B06 AND #01 AND #01
,0B08 BEQ 0B12 BEQ 0B12
,0B00 LDA #01 LDA #01
,0B0C STA 0BF0 STA 0BF0
,0B0F JSR 08DA JSR 08DA Bleep
,0B12 TXA TXA TXA Transfer X to Accumulator
,0B13 AND #02 AND #02
,0B15 BEQ 0B1F BEQ 0B1F
,0B17 LDA #00 LDA #00
,0B19 STA 0BF0 STA 0BF0
,0BIC JSR 08DA JSR 08DA Bleep
,0B1F RTS RTS
2012 SYS 2064 2012 SYS 2064 Basic Entry Point
,0920 LDX 0BF2 LDX 0BF2 Slowdown
,0923 LDY 0BF3 LDY 0BF3
,0926 NOP NOP
,0927 NOP NOP
,0928 NOP NOP
,0929 DEY DEY DEY Decrement Y Register
,092A BNE 0926 BNE 0926
,092C DEX DEX
,092D BNE 0923 BNE 0923
,092F RTS RTS
,0BD0 LDA #AC LDA #AC Ball Reset
,0BD2 STA D004 STA D004
,0BD5 LDA 448A LDA 448A
,0BD7 STA D005 STA D005
,0BDA LDA 0010 LDA 0010
,0BD0 AND #FB AND #FB
,0BDF STA 0010 STA 0010
,0BE2 LDA 0BF0 LDA 0BF0
,0BE5 EOR #01 EOR #01
,0BE7 STA 0BF0 STA 0BF0
,0BEA LDY #10 LDY #10
,0BEC JSR 08DA JSR 08DA
,0BEF RTS RTS
,08DA STY D401 STY D401 Play Sound
,08DD LDA #20 LDA #20
,08DF STA D400 STA D400
,08E2 LDA #OF LDA #OF
,08E4 STA D405 STA D405
,08E7 LDA #F4 LDA #F4
,08E9 STA D406 STA D406
,08EC LDA #11 LDA #11
,08EE STA D404 STA D404
,08F1 LDA #OF LDA #OF
,08F3 STA 0418 STA 0418
,08F6 LDA #10 LDA #10
,08F8 STA D404 STA D404
,08FB RTS RTS

Potrebbero piacerti anche