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

KEY.S

FILE INFORMATION

FILENAME(S): KEY.S

FILE TYPE(S): SEQ

FILE SIZE: 799b

FIRST SEEN: 2025-11-30 18:05:27

APPEARS ON: 2 disk(s)

FILE HASH

67a7c02190a1dd48d80074655e39d1657f19edbb4e80434aa690a4a93d909319

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
LOADSTAR 59 S 1 KEY.S SEQ Xii 7 4 DOWNLOAD FILE
LOADSTAR 59 S 1 KEY.S SEQ Sailor, Ganheden 7 4 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 2E 4F 52 47 20 34 39 31  35 32 20 20 20 20 20 20  |.ORG 49152      |
00000010: 20 0D 2E 4D 45 4D 0D 3B  2E 4F 42 4A 20 22 4B 45  | ..MEM.;.OBJ "KE|
00000020: 59 20 44 52 49 56 45 52  20 36 34 2E 32 22 0D 0D  |Y DRIVER 64.2"..|
00000030: 53 50 52 49 54 45 20 3D  20 35 33 32 34 38 0D 4A  |SPRITE = 53248.J|
00000040: 4F 59 20 20 20 20 3D 20  35 36 33 32 30 0D 49 52  |OY    = 56320.IR|
00000050: 51 56 45 43 20 3D 20 37  38 38 0D 4E 4F 52 49 52  |QVEC = 788.NORIR|
00000060: 51 20 3D 20 24 45 41 33  31 0D 0D 4E 4F 50 0D 4E  |Q = $EA31..NOP.N|
00000070: 4F 50 0D 4E 4F 50 0D 4A  4D 50 20 49 4E 53 54 41  |OP.NOP.JMP INSTA|
00000080: 4C 4C 0D 4A 4D 50 20 52  45 4D 4F 56 45 0D 0D 49  |LL.JMP REMOVE..I|
00000090: 4E 53 54 41 4C 4C 20 3D  2A 0D 0D 53 45 49 0D 4C  |NSTALL =*..SEI.L|
000000A0: 44 41 20 3C 53 54 41 52  54 0D 53 54 41 20 49 52  |DA <START.STA IR|
000000B0: 51 56 45 43 0D 4C 44 41  20 3E 53 54 41 52 54 0D  |QVEC.LDA >START.|
000000C0: 53 54 41 20 49 52 51 56  45 43 2B 31 0D 43 4C 49  |STA IRQVEC+1.CLI|
000000D0: 0D 52 54 53 0D 0D 53 54  41 52 54 20 3D 2A 0D 0D  |.RTS..START =*..|
000000E0: 4C 44 41 20 23 32 0D 53  54 41 20 43 4F 55 4E 54  |LDA #2.STA COUNT|
000000F0: 45 52 0D 4E 31 20 4C 44  41 20 36 35 33 0D 43 4D  |ER.N1 LDA 653.CM|
00000100: 50 20 23 31 0D 42 45 51  20 2B 2B 2B 0D 4C 44 41  |P #1.BEQ +++.LDA|
00000110: 20 31 39 37 0D 43 4D 50  20 23 37 0D 42 4E 45 20  | 197.CMP #7.BNE |
00000120: 2B 0D 4A 53 52 20 44 4F  57 4E 0D 4A 4D 50 20 43  |+.JSR DOWN.JMP C|
00000130: 4F 55 4E 54 0D 2B 20 43  4D 50 20 23 32 0D 42 4E  |OUNT.+ CMP #2.BN|
00000140: 45 20 2B 0D 4A 53 52 20  52 49 47 48 54 0D 2B 20  |E +.JSR RIGHT.+ |
00000150: 4A 4D 50 20 43 4F 55 4E  54 0D 2B 20 4C 44 41 20  |JMP COUNT.+ LDA |
00000160: 31 39 37 0D 43 4D 50 20  23 37 0D 42 4E 45 20 2B  |197.CMP #7.BNE +|
00000170: 0D 4A 53 52 20 55 50 0D  4A 4D 50 20 43 4F 55 4E  |.JSR UP.JMP COUN|
00000180: 54 0D 2B 20 43 4D 50 20  23 32 0D 42 4E 45 20 2B  |T.+ CMP #2.BNE +|
00000190: 0D 4A 53 52 20 4C 45 46  54 0D 2B 20 4A 4D 50 20  |.JSR LEFT.+ JMP |
000001A0: 43 4F 55 4E 54 0D 0D 43  4F 55 4E 54 20 3D 2A 0D  |COUNT..COUNT =*.|
000001B0: 0D 44 45 43 20 43 4F 55  4E 54 45 52 0D 4C 44 41  |.DEC COUNTER.LDA|
000001C0: 20 43 4F 55 4E 54 45 52  0D 42 45 51 20 2B 0D 4A  | COUNTER.BEQ +.J|
000001D0: 4D 50 20 4E 31 0D 2B 20  4A 4D 50 20 4E 4F 52 49  |MP N1.+ JMP NORI|
000001E0: 52 51 0D 0D 52 45 4D 4F  56 45 20 3D 2A 0D 0D 53  |RQ..REMOVE =*..S|
000001F0: 45 49 0D 4C 44 41 20 3C  4E 4F 52 49 52 51 0D 53  |EI.LDA <NORIRQ.S|
00000200: 54 41 20 49 52 51 56 45  43 0D 4C 44 41 20 3E 4E  |TA IRQVEC.LDA >N|
00000210: 4F 52 49 52 51 0D 53 54  41 20 49 52 51 56 45 43  |ORIRQ.STA IRQVEC|
00000220: 2B 31 0D 43 4C 49 0D 52  54 53 0D 0D 55 50 20 3D  |+1.CLI.RTS..UP =|
00000230: 2A 0D 0D 44 45 43 20 53  50 52 49 54 45 2B 31 0D  |*..DEC SPRITE+1.|
00000240: 52 54 53 0D 0D 44 4F 57  4E 20 3D 2A 0D 0D 49 4E  |RTS..DOWN =*..IN|
00000250: 43 20 53 50 52 49 54 45  2B 31 0D 52 54 53 0D 0D  |C SPRITE+1.RTS..|
00000260: 52 49 47 48 54 20 3D 2A  0D 0D 49 4E 43 20 53 50  |RIGHT =*..INC SP|
00000270: 52 49 54 45 0D 4C 44 41  20 53 50 52 49 54 45 0D  |RITE.LDA SPRITE.|
00000280: 43 4D 50 20 23 30 0D 42  4E 45 20 2B 0D 4C 44 41  |CMP #0.BNE +.LDA|
00000290: 20 53 50 52 49 54 45 2B  31 36 0D 45 4F 52 20 23  | SPRITE+16.EOR #|
000002A0: 31 0D 53 54 41 20 53 50  52 49 54 45 2B 31 36 0D  |1.STA SPRITE+16.|
000002B0: 2B 20 52 54 53 0D 0D 4C  45 46 54 20 3D 2A 0D 0D  |+ RTS..LEFT =*..|
000002C0: 44 45 43 20 53 50 52 49  54 45 0D 4C 44 41 20 53  |DEC SPRITE.LDA S|
000002D0: 50 52 49 54 45 0D 43 4D  50 20 23 32 35 35 0D 42  |PRITE.CMP #255.B|
000002E0: 4E 45 20 2B 0D 4C 44 41  20 53 50 52 49 54 45 2B  |NE +.LDA SPRITE+|
000002F0: 31 36 0D 45 4F 52 20 23  31 0D 53 54 41 20 53 50  |16.EOR #1.STA SP|
00000300: 52 49 54 45 2B 31 36 0D  2B 20 52 54 53 0D 0D 43  |RITE+16.+ RTS..C|
00000310: 4F 55 4E 54 45 52 20 2E  42 59 54 45 20 30 0D     |OUNTER .BYTE 0. |
.ORG 49152       ..MEM.;.OBJ "KEY DRIVER
 64.2"..SPRITE = 53248.JOY    = 56320.IR
QVEC = 788.NORIRQ = $EA31..NOP.NOP.NOP.J
MP INSTALL.JMP REMOVE..INSTALL =*..SEI.L
DA <START.STA IRQVEC.LDA >START.STA IRQV
EC+1.CLI.RTS..START =*..LDA #2.STA COUNT
ER.N1 LDA 653.CMP #1.BEQ +++.LDA 197.CMP
 #7.BNE +.JSR DOWN.JMP COUNT.+ CMP #2.BN
E +.JSR RIGHT.+ JMP COUNT.+ LDA 197.CMP 
#7.BNE +.JSR UP.JMP COUNT.+ CMP #2.BNE +
.JSR LEFT.+ JMP COUNT..COUNT =*..DEC COU
NTER.LDA COUNTER.BEQ +.JMP N1.+ JMP NORI
RQ..REMOVE =*..SEI.LDA <NORIRQ.STA IRQVE
C.LDA >NORIRQ.STA IRQVEC+1.CLI.RTS..UP =
*..DEC SPRITE+1.RTS..DOWN =*..INC SPRITE
+1.RTS..RIGHT =*..INC SPRITE.LDA SPRITE.
CMP #0.BNE +.LDA SPRITE+16.EOR #1.STA SP
RITE+16.+ RTS..LEFT =*..DEC SPRITE.LDA S
PRITE.CMP #255.BNE +.LDA SPRITE+16.EOR #
1.STA SPRITE+16.+ RTS..COUNTER .BYTE 0.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL