00000000: 00 0A 20 6F 72 67 20 24 63 30 30 30 0D 2A 2A 2A |.. org $c000.***|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000020: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 2A A0 |*************.*.|
00000030: A0 A0 62 61 73 65 A0 69 6E 74 65 72 72 75 70 74 |..base.interrupt|
00000040: A0 72 6F 75 74 69 6E 65 2E 62 6A A0 A0 2A 0D 2A |.routine.bj..*.*|
00000050: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000060: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D |***************.|
00000070: 20 73 65 69 0D 20 6C 64 61 20 23 24 30 64 0D 20 | sei. lda #$0d. |
00000080: 73 74 61 20 24 30 33 31 34 0D 20 6C 64 61 20 23 |sta $0314. lda #|
00000090: 24 63 30 0D 20 73 74 61 20 24 30 33 31 35 0D 20 |$c0. sta $0315. |
000000A0: 63 6C 69 0D 20 72 74 73 0D 2A 2A 2A 2A 2A 2A 2A |cli. rts.*******|
000000B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000000C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 20 6C 64 61 20 23 |*********. lda #|
000000D0: 31 32 38 0D 20 73 74 61 20 35 33 32 37 36 0D 20 |128. sta 53276. |
000000E0: 73 74 61 20 35 33 32 36 39 0D 20 6C 64 61 20 23 |sta 53269. lda #|
000000F0: 38 0D 20 73 74 61 20 35 33 32 38 35 0D 20 6C 64 |8. sta 53285. ld|
00000100: 61 20 23 30 0D 20 73 74 61 20 35 33 32 38 36 0D |a #0. sta 53286.|
00000110: 20 6C 64 61 20 23 31 30 0D 20 73 74 61 20 35 33 | lda #10. sta 53|
00000120: 32 39 34 0D 20 6C 64 61 20 23 33 30 0D 20 73 74 |294. lda #30. st|
00000130: 61 20 35 33 32 36 32 0D 20 73 74 61 20 35 33 32 |a 53262. sta 532|
00000140: 36 33 0D 20 6C 64 61 20 23 31 39 32 0D 20 73 74 |63. lda #192. st|
00000150: 61 20 32 30 34 37 0D 20 6C 64 78 20 23 30 0D 6C |a 2047. ldx #0.l|
00000160: 6F 6F 70 31 20 63 70 78 20 23 36 34 0D 20 62 65 |oop1 cpx #64. be|
00000170: 71 20 6E 65 78 74 0D 20 6C 64 61 20 64 61 74 61 |q next. lda data|
00000180: 2C 78 0D 20 73 74 61 20 31 32 32 38 38 2C 78 0D |,x. sta 12288,x.|
00000190: 20 69 6E 78 0D 20 6A 6D 70 20 6C 6F 6F 70 31 0D | inx. jmp loop1.|
000001A0: 6E 65 78 74 20 6C 64 61 20 35 36 33 32 31 0D 20 |next lda 56321. |
000001B0: 61 6E 64 20 23 31 35 0D 20 63 6C 63 0D 20 61 64 |and #15. clc. ad|
000001C0: 63 20 23 32 34 30 0D 20 63 6D 70 20 23 35 0D 20 |c #240. cmp #5. |
000001D0: 62 65 71 20 6E 77 0D 20 63 6D 70 20 23 31 0D 20 |beq nw. cmp #1. |
000001E0: 62 65 71 20 6E 0D 20 63 6D 70 20 23 39 0D 20 62 |beq n. cmp #9. b|
000001F0: 65 71 20 6E 65 0D 20 63 6D 70 20 23 34 0D 20 62 |eq ne. cmp #4. b|
00000200: 65 71 20 77 0D 20 63 6D 70 20 23 38 0D 20 62 65 |eq w. cmp #8. be|
00000210: 71 20 65 0D 20 63 6D 70 20 23 36 0D 20 62 65 71 |q e. cmp #6. beq|
00000220: 20 73 77 0D 20 63 6D 70 20 23 32 0D 20 62 65 71 | sw. cmp #2. beq|
00000230: 20 73 0D 20 63 6D 70 20 23 31 30 0D 20 62 65 71 | s. cmp #10. beq|
00000240: 20 73 65 0D 20 6A 73 72 20 62 75 74 74 6F 6E 0D | se. jsr button.|
00000250: 61 67 61 69 6E 20 6A 6D 70 20 6E 65 78 74 0D 6E |again jmp next.n|
00000260: 77 20 6C 64 61 20 35 33 32 36 32 0D 20 73 65 63 |w lda 53262. sec|
00000270: 0D 20 73 62 63 20 73 70 65 65 64 0D 20 73 74 61 |. sbc speed. sta|
00000280: 20 35 33 32 36 32 0D 20 6C 64 61 20 35 33 32 36 | 53262. lda 5326|
00000290: 33 0D 20 73 65 63 0D 20 73 62 63 20 73 70 65 65 |3. sec. sbc spee|
000002A0: 64 0D 20 6C 64 61 20 35 33 32 36 32 0D 20 63 6D |d. lda 53262. cm|
000002B0: 70 20 23 32 35 35 0D 20 62 6E 65 20 67 6F 62 61 |p #255. bne goba|
000002C0: 63 6B 31 0D 20 6A 73 72 20 63 68 65 63 6B 6C 66 |ck1. jsr checklf|
000002D0: 74 0D 67 6F 62 61 63 6B 31 20 6A 6D 70 20 61 67 |t.goback1 jmp ag|
000002E0: 61 69 6E 0D 6E 20 6C 64 61 20 35 33 32 36 33 0D |ain.n lda 53263.|
000002F0: 20 73 65 63 0D 20 73 62 63 20 73 70 65 65 64 0D | sec. sbc speed.|
00000300: 20 73 74 61 20 35 33 32 36 33 0D 20 6A 6D 70 20 | sta 53263. jmp |
00000310: 61 67 61 69 6E 0D 6E 65 20 64 65 63 20 35 33 32 |again.ne dec 532|
00000320: 36 33 0D 20 69 6E 63 20 35 33 32 36 32 0D 20 6C |63. inc 53262. l|
00000330: 64 61 20 35 33 32 36 32 0D 20 63 6D 70 20 23 30 |da 53262. cmp #0|
00000340: 0D 20 62 6E 65 20 67 6F 62 61 63 6B 32 0D 20 6A |. bne goback2. j|
00000350: 73 72 20 63 68 65 63 6B 72 67 74 0D 67 6F 62 61 |sr checkrgt.goba|
00000360: 63 6B 32 20 6A 6D 70 20 61 67 61 69 6E 0D 77 20 |ck2 jmp again.w |
00000370: 64 65 63 20 35 33 32 36 32 0D 20 6C 64 61 20 35 |dec 53262. lda 5|
00000380: 33 32 36 32 0D 20 63 6D 70 20 23 32 35 35 0D 20 |3262. cmp #255. |
00000390: 62 6E 65 20 67 6F 62 61 63 6B 33 0D 20 6A 73 72 |bne goback3. jsr|
000003A0: 20 63 68 65 63 6B 6C 66 74 0D 67 6F 62 61 63 6B | checklft.goback|
000003B0: 33 20 6A 6D 70 20 61 67 61 69 6E 0D 65 20 69 6E |3 jmp again.e in|
000003C0: 63 20 35 33 32 36 32 0D 20 6C 64 61 20 35 33 32 |c 53262. lda 532|
000003D0: 36 32 0D 20 63 6D 70 20 23 30 0D 20 62 6E 65 20 |62. cmp #0. bne |
000003E0: 67 6F 62 61 63 6B 34 0D 20 6A 73 72 20 63 68 65 |goback4. jsr che|
000003F0: 63 6B 72 67 74 0D 67 6F 62 61 63 6B 34 20 6A 6D |ckrgt.goback4 jm|
00000400: 70 20 61 67 61 69 6E 0D 73 77 20 69 6E 63 20 35 |p again.sw inc 5|
00000410: 33 32 36 33 0D 20 64 65 63 20 35 33 32 36 32 0D |3263. dec 53262.|
00000420: 20 6C 64 61 20 35 33 32 36 32 0D 20 63 6D 70 20 | lda 53262. cmp |
00000430: 23 32 35 35 0D 20 62 6E 65 20 67 6F 62 61 63 6B |#255. bne goback|
00000440: 35 0D 20 6A 73 72 20 63 68 65 63 6B 6C 66 74 0D |5. jsr checklft.|
00000450: 67 6F 62 61 63 6B 35 20 6A 6D 70 20 61 67 61 69 |goback5 jmp agai|
00000460: 6E 0D 73 20 69 6E 63 20 35 33 32 36 33 0D 20 6A |n.s inc 53263. j|
00000470: 6D 70 20 61 67 61 69 6E 0D 73 65 20 69 6E 63 20 |mp again.se inc |
00000480: 35 33 32 36 33 0D 20 69 6E 63 20 35 33 32 36 32 |53263. inc 53262|
00000490: 0D 20 6C 64 61 20 35 33 32 36 32 0D 20 63 6D 70 |. lda 53262. cmp|
000004A0: 20 23 30 0D 20 62 6E 65 20 67 6F 62 61 63 6B 36 | #0. bne goback6|
000004B0: 0D 20 6A 73 72 20 63 68 65 63 6B 72 67 74 0D 67 |. jsr checkrgt.g|
000004C0: 6F 62 61 63 6B 36 20 6A 6D 70 20 61 67 61 69 6E |oback6 jmp again|
000004D0: 0D 62 75 74 74 6F 6E 20 6C 64 61 20 35 36 33 32 |.button lda 5632|
000004E0: 31 0D 20 61 6E 64 20 23 31 36 0D 20 63 6C 63 0D |1. and #16. clc.|
000004F0: 20 61 64 63 20 23 32 33 39 0D 20 63 6D 70 20 23 | adc #239. cmp #|
00000500: 30 0D 20 62 65 71 20 73 6C 6F 77 0D 20 6C 64 61 |0. beq slow. lda|
00000510: 20 23 35 0D 20 73 74 61 20 73 70 65 65 64 0D 20 | #5. sta speed. |
00000520: 6A 6D 70 20 6D 61 69 6E 6C 0D 73 6C 6F 77 20 6C |jmp mainl.slow l|
00000530: 64 61 20 23 31 0D 20 73 74 61 20 73 70 65 65 64 |da #1. sta speed|
00000540: 0D 6D 61 69 6E 6C 20 72 74 73 0D 2A 2A 2A 2A 2A |.mainl rts.*****|
00000550: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000560: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 65 6E 64 20 |***********.end |
00000570: 6A 6D 70 20 24 65 61 33 31 0D |jmp $ea31. |
.. ORG $C000.***************************
*****.* BASE INTERRUPT ROUTINE.BJ *.*
*******************************. SEI. LD
A #$0D. STA $0314. LDA #$C0. STA $0315.
CLI. RTS.*******************************
*. LDA #128. STA 53276. STA 53269. LDA #
8. STA 53285. LDA #0. STA 53286. LDA #10
. STA 53294. LDA #30. STA 53262. STA 532
63. LDA #192. STA 2047. LDX #0.LOOP1 CPX
#64. BEQ NEXT. LDA DATA,X. STA 12288,X.
INX. JMP LOOP1.NEXT LDA 56321. AND #15.
CLC. ADC #240. CMP #5. BEQ NW. CMP #1.
BEQ N. CMP #9. BEQ NE. CMP #4. BEQ W. CM
P #8. BEQ E. CMP #6. BEQ SW. CMP #2. BEQ
S. CMP #10. BEQ SE. JSR BUTTON.AGAIN JM
P NEXT.NW LDA 53262. SEC. SBC SPEED. STA
53262. LDA 53263. SEC. SBC SPEED. LDA 5
3262. CMP #255. BNE GOBACK1. JSR CHECKLF
T.GOBACK1 JMP AGAIN.N LDA 53263. SEC. SB
C SPEED. STA 53263. JMP AGAIN.NE DEC 532
63. INC 53262. LDA 53262. CMP #0. BNE GO
BACK2. JSR CHECKRGT.GOBACK2 JMP AGAIN.W
DEC 53262. LDA 53262. CMP #255. BNE GOBA
CK3. JSR CHECKLFT.GOBACK3 JMP AGAIN.E IN
C 53262. LDA 53262. CMP #0. BNE GOBACK4.
JSR CHECKRGT.GOBACK4 JMP AGAIN.SW INC 5
3263. DEC 53262. LDA 53262. CMP #255. BN
E GOBACK5. JSR CHECKLFT.GOBACK5 JMP AGAI
N.S INC 53263. JMP AGAIN.SE INC 53263. I
NC 53262. LDA 53262. CMP #0. BNE GOBACK6
. JSR CHECKRGT.GOBACK6 JMP AGAIN.BUTTON
LDA 56321. AND #16. CLC. ADC #239. CMP #
0. BEQ SLOW. LDA #5. STA SPEED. JMP MAIN
L.SLOW LDA #1. STA SPEED.MAINL RTS.*****
***************************.END JMP $EA3
1.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL