_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

MOUSE.S

FILE INFORMATION

FILENAME(S): MOUSE.S

FILE TYPE(S): PRG

FILE SIZE: 1.4K

FIRST SEEN: 2025-12-01 19:06:54

APPEARS ON: 1 disk(s)

FILE HASH

d5e68d030fff21873755b6ac5719c0c73e0ea0bb69ffab4cf243645a82fc658c

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
ICE DISK 28 MOUSE.S PRG Icebreaker 20 7 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL