00000000: 00 0A 20 6F 72 67 20 24 38 30 30 30 0D 20 6A 73 |.. org $8000. js|
00000010: 72 20 24 65 35 34 34 20 3B 63 6C 72 73 63 0D 20 |r $e544 ;clrsc. |
00000020: 6C 64 61 20 23 24 30 30 0D 20 73 74 61 20 6C 62 |lda #$00. sta lb|
00000030: 69 74 0D 20 6C 64 61 20 23 24 30 34 0D 20 73 74 |it. lda #$04. st|
00000040: 61 20 68 62 69 74 0D 6B 65 79 73 63 61 6E 20 6A |a hbit.keyscan j|
00000050: 73 72 20 24 66 66 65 34 20 20 3B 67 65 74 69 6E |sr $ffe4 ;getin|
00000060: 0D 20 63 6D 70 20 23 39 35 0D 20 62 6E 65 20 6E |. cmp #95. bne n|
00000070: 65 78 74 31 0D 20 72 74 73 0D 6E 65 78 74 31 20 |ext1. rts.next1 |
00000080: 63 6D 70 20 23 31 37 0D 20 62 65 71 20 63 64 6F |cmp #17. beq cdo|
00000090: 77 6E 0D 20 63 6D 70 20 23 32 39 0D 20 62 65 71 |wn. cmp #29. beq|
000000A0: 20 63 72 69 74 65 0D 20 63 6D 70 20 23 31 35 37 | crite. cmp #157|
000000B0: 0D 20 62 65 71 20 63 6C 65 66 74 0D 20 63 6D 70 |. beq cleft. cmp|
000000C0: 20 23 31 34 35 0D 20 62 65 71 20 63 75 70 0D 62 | #145. beq cup.b|
000000D0: 61 63 6B 20 6A 6D 70 20 6B 65 79 73 63 61 6E 0D |ack jmp keyscan.|
000000E0: 63 64 6F 77 6E 20 6C 64 61 20 23 34 30 0D 20 6A |cdown lda #40. j|
000000F0: 73 72 20 61 64 64 0D 20 6A 73 72 20 70 6F 6B 65 |sr add. jsr poke|
00000100: 0D 20 6A 6D 70 20 62 61 63 6B 0D 63 72 69 74 65 |. jmp back.crite|
00000110: 20 6C 64 61 20 23 31 0D 20 6A 73 72 20 61 64 64 | lda #1. jsr add|
00000120: 0D 20 6A 73 72 20 70 6F 6B 65 0D 20 6A 6D 70 20 |. jsr poke. jmp |
00000130: 62 61 63 6B 0D 63 6C 65 66 74 20 6C 64 61 20 23 |back.cleft lda #|
00000140: 31 0D 20 6A 73 72 20 73 75 62 0D 20 6A 73 72 20 |1. jsr sub. jsr |
00000150: 70 6F 6B 65 0D 20 6A 6D 70 20 62 61 63 6B 0D 63 |poke. jmp back.c|
00000160: 75 70 20 6C 64 61 20 23 34 30 0D 20 6A 73 72 20 |up lda #40. jsr |
00000170: 73 75 62 0D 20 6A 73 72 20 70 6F 6B 65 0D 20 6A |sub. jsr poke. j|
00000180: 6D 70 20 62 61 63 6B 0D 61 64 64 20 73 74 61 20 |mp back.add sta |
00000190: 74 65 6D 70 0D 20 6C 64 61 20 6C 62 69 74 0D 20 |temp. lda lbit. |
000001A0: 63 6C 63 0D 20 61 64 63 20 74 65 6D 70 0D 20 73 |clc. adc temp. s|
000001B0: 74 61 20 6C 62 69 74 0D 20 62 76 63 20 6E 65 78 |ta lbit. bvc nex|
000001C0: 74 32 0D 20 69 6E 63 20 68 62 69 74 0D 20 63 6C |t2. inc hbit. cl|
000001D0: 76 0D 6E 65 78 74 32 20 72 74 73 0D 73 75 62 20 |v.next2 rts.sub |
000001E0: 73 74 61 20 74 65 6D 70 0D 20 6C 64 61 20 6C 62 |sta temp. lda lb|
000001F0: 69 74 0D 20 73 65 63 0D 20 73 62 63 20 74 65 6D |it. sec. sbc tem|
00000200: 70 0D 20 73 74 61 20 6C 62 69 74 0D 20 62 76 63 |p. sta lbit. bvc|
00000210: 20 6E 65 78 74 33 0D 20 64 65 63 20 68 62 69 74 | next3. dec hbit|
00000220: 0D 20 63 6C 76 0D 6E 65 78 74 33 20 72 74 73 0D |. clv.next3 rts.|
00000230: 70 6F 6B 65 20 6C 64 61 20 6C 62 69 74 0D 20 73 |poke lda lbit. s|
00000240: 74 61 20 24 66 62 0D 20 6C 64 61 20 68 62 69 74 |ta $fb. lda hbit|
00000250: 0D 20 73 74 61 20 24 66 63 0D 20 6C 64 61 20 23 |. sta $fc. lda #|
00000260: 34 32 0D 20 6C 64 78 20 23 24 30 30 0D 20 73 74 |42. ldx #$00. st|
00000270: 61 20 28 24 66 62 2C 78 29 0D 20 72 74 73 0D 6C |a ($fb,x). rts.l|
00000280: 62 69 74 20 64 66 62 20 23 24 30 30 0D 68 62 69 |bit dfb #$00.hbi|
00000290: 74 20 64 66 62 20 23 24 30 30 0D 74 65 6D 70 20 |t dfb #$00.temp |
000002A0: 64 66 62 20 23 24 30 30 0D |dfb #$00. |
.. ORG $8000. JSR $E544 ;CLRSC. LDA #$00
. STA LBIT. LDA #$04. STA HBIT.KEYSCAN J
SR $FFE4 ;GETIN. CMP #95. BNE NEXT1. RT
S.NEXT1 CMP #17. BEQ CDOWN. CMP #29. BEQ
CRITE. CMP #157. BEQ CLEFT. CMP #145. B
EQ CUP.BACK JMP KEYSCAN.CDOWN LDA #40. J
SR ADD. JSR POKE. JMP BACK.CRITE LDA #1.
JSR ADD. JSR POKE. JMP BACK.CLEFT LDA #
1. JSR SUB. JSR POKE. JMP BACK.CUP LDA #
40. JSR SUB. JSR POKE. JMP BACK.ADD STA
TEMP. LDA LBIT. CLC. ADC TEMP. STA LBIT.
BVC NEXT2. INC HBIT. CLV.NEXT2 RTS.SUB
STA TEMP. LDA LBIT. SEC. SBC TEMP. STA L
BIT. BVC NEXT3. DEC HBIT. CLV.NEXT3 RTS.
POKE LDA LBIT. STA $FB. LDA HBIT. STA $F
C. LDA #42. LDX #$00. STA ($FB,X). RTS.L
BIT DFB #$00.HBIT DFB #$00.TEMP DFB #$00
.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL