Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_09.ADF » KEYLIST

KEYLIST

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_09.ADF
Filename: KEYLIST
Read OK:
File size: 03B4 bytes
Load address: FFFF1D00
Exec address: FFFF8023
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM >KEYLIST
   20FOR pass=0 TO 3 STEP 3
   30code%=&900
   40P%=code%
   50[OPT pass
   60.for LDA #0:STA &70
   70.reset LDA &B10:STA &73
   80.start LDY &70:LDA &B00,Y:STA &72:LDA #0:STA &71
   90.if LDY &71:LDA &B00,Y:CMP &72:BEQ inc:BCC inc:CMP &73:BCS inc:STA &73
  100.inc INC &71
  110LDA &71:CMP #16:BNE if
  120LDY #0
  130.no LDA key,Y:JSR &FFEE:INY:CPY #5:BNE no
  140CLC:LDA &70
  150STA &75:CMP #10:BCC print
  160CLC:SBC #9:STA &75:LDA #49:JSR &FFEE
  170.print CLC:LDA &75:ADC #48:JSR &FFEE
  180.if2 LDY &70:LDA &B00,Y:CMP &B10:BNE inc2:LDY #0
  190.emp LDA empty,Y:JSR &FFEE:INY:CPY #13:BNE emp:JMP newline
  200.inc2 INC &72
  210.if3 LDY &72:LDA &B00,Y:CMP #32:BCC if4:CMP #127:BCS if4:JSR &FFEE
  220.if4 CMP #&D:BNE comp:LDA #124:JSR &FFEE:LDA #77:JSR &FFEE
  230.comp LDA &72:CMP &73:BCC inc2
  240.newline JSR &FFE7:INC &70:LDA &70:CMP #16:BEQ end:JMP reset
  250.end RTS
  260.key EQUS" *KEY":BRK
  270.empty EQUB 17:EQUB 129:EQUB 17:EQUB 0:EQUS" VACANT ":EQUB 20:BRK
  280]
  290NEXT

� >KEYLIST
� pass=0 � 3 � 3
code%=&900
(P%=code%
2
[OPT pass
<.for LDA #0:STA &70
F.reset LDA &B10:STA &73
P4.start LDY &70:LDA &B00,Y:STA &72:LDA #0:STA &71
ZJ.if LDY &71:LDA &B00,Y:CMP &72:BEQ inc:BCC inc:CMP &73:BCS inc:STA &73
d.inc INC &71
nLDA &71:CMP #16:BNE if
x
LDY #0
�-.no LDA key,Y:JSR &FFEE:INY:CPY #5:BNE no
�CLC:LDA &70
�STA &75:CMP #10:BCC print
�(CLC:SBC #9:STA &75:LDA #49:JSR &FFEE
�(.print CLC:LDA &75:ADC #48:JSR &FFEE
�4.if2 LDY &70:LDA &B00,Y:CMP &B10:BNE inc2:LDY #0
�>.emp LDA empty,Y:JSR &FFEE:INY:CPY #13:BNE emp:JMP newline
�.inc2 INC &72
�F.if3 LDY &72:LDA &B00,Y:CMP #32:BCC if4:CMP #127:BCS if4:JSR &FFEE
�>.if4 CMP #&D:BNE comp:LDA #124:JSR &FFEE:LDA #77:JSR &FFEE
�".comp LDA &72:CMP &73:BCC inc2
�@.newline JSR &FFE7:INC &70:LDA &70:CMP #16:BEQ end:JMP reset
�.end RTS
.key EQUS" *KEY":BRK
E.empty EQUB 17:EQUB 129:EQUB 17:EQUB 0:EQUS" VACANT ":EQUB 20:BRK
]
"�
�
00000000  0d 00 0a 0e f4 20 3e 4b  45 59 4c 49 53 54 0d 00  |..... >KEYLIST..|
00000010  14 14 e3 20 70 61 73 73  3d 30 20 b8 20 33 20 88  |... pass=0 . 3 .|
00000020  20 33 0d 00 1e 0e 63 6f  64 65 25 3d 26 39 30 30  | 3....code%=&900|
00000030  0d 00 28 0c 50 25 3d 63  6f 64 65 25 0d 00 32 0d  |..(.P%=code%..2.|
00000040  5b 4f 50 54 20 70 61 73  73 0d 00 3c 17 2e 66 6f  |[OPT pass..<..fo|
00000050  72 20 4c 44 41 20 23 30  3a 53 54 41 20 26 37 30  |r LDA #0:STA &70|
00000060  0d 00 46 1b 2e 72 65 73  65 74 20 4c 44 41 20 26  |..F..reset LDA &|
00000070  42 31 30 3a 53 54 41 20  26 37 33 0d 00 50 34 2e  |B10:STA &73..P4.|
00000080  73 74 61 72 74 20 4c 44  59 20 26 37 30 3a 4c 44  |start LDY &70:LD|
00000090  41 20 26 42 30 30 2c 59  3a 53 54 41 20 26 37 32  |A &B00,Y:STA &72|
000000a0  3a 4c 44 41 20 23 30 3a  53 54 41 20 26 37 31 0d  |:LDA #0:STA &71.|
000000b0  00 5a 4a 2e 69 66 20 4c  44 59 20 26 37 31 3a 4c  |.ZJ.if LDY &71:L|
000000c0  44 41 20 26 42 30 30 2c  59 3a 43 4d 50 20 26 37  |DA &B00,Y:CMP &7|
000000d0  32 3a 42 45 51 20 69 6e  63 3a 42 43 43 20 69 6e  |2:BEQ inc:BCC in|
000000e0  63 3a 43 4d 50 20 26 37  33 3a 42 43 53 20 69 6e  |c:CMP &73:BCS in|
000000f0  63 3a 53 54 41 20 26 37  33 0d 00 64 10 2e 69 6e  |c:STA &73..d..in|
00000100  63 20 49 4e 43 20 26 37  31 0d 00 6e 1a 4c 44 41  |c INC &71..n.LDA|
00000110  20 26 37 31 3a 43 4d 50  20 23 31 36 3a 42 4e 45  | &71:CMP #16:BNE|
00000120  20 69 66 0d 00 78 0a 4c  44 59 20 23 30 0d 00 82  | if..x.LDY #0...|
00000130  2d 2e 6e 6f 20 4c 44 41  20 6b 65 79 2c 59 3a 4a  |-.no LDA key,Y:J|
00000140  53 52 20 26 46 46 45 45  3a 49 4e 59 3a 43 50 59  |SR &FFEE:INY:CPY|
00000150  20 23 35 3a 42 4e 45 20  6e 6f 0d 00 8c 0f 43 4c  | #5:BNE no....CL|
00000160  43 3a 4c 44 41 20 26 37  30 0d 00 96 1d 53 54 41  |C:LDA &70....STA|
00000170  20 26 37 35 3a 43 4d 50  20 23 31 30 3a 42 43 43  | &75:CMP #10:BCC|
00000180  20 70 72 69 6e 74 0d 00  a0 28 43 4c 43 3a 53 42  | print...(CLC:SB|
00000190  43 20 23 39 3a 53 54 41  20 26 37 35 3a 4c 44 41  |C #9:STA &75:LDA|
000001a0  20 23 34 39 3a 4a 53 52  20 26 46 46 45 45 0d 00  | #49:JSR &FFEE..|
000001b0  aa 28 2e 70 72 69 6e 74  20 43 4c 43 3a 4c 44 41  |.(.print CLC:LDA|
000001c0  20 26 37 35 3a 41 44 43  20 23 34 38 3a 4a 53 52  | &75:ADC #48:JSR|
000001d0  20 26 46 46 45 45 0d 00  b4 34 2e 69 66 32 20 4c  | &FFEE...4.if2 L|
000001e0  44 59 20 26 37 30 3a 4c  44 41 20 26 42 30 30 2c  |DY &70:LDA &B00,|
000001f0  59 3a 43 4d 50 20 26 42  31 30 3a 42 4e 45 20 69  |Y:CMP &B10:BNE i|
00000200  6e 63 32 3a 4c 44 59 20  23 30 0d 00 be 3e 2e 65  |nc2:LDY #0...>.e|
00000210  6d 70 20 4c 44 41 20 65  6d 70 74 79 2c 59 3a 4a  |mp LDA empty,Y:J|
00000220  53 52 20 26 46 46 45 45  3a 49 4e 59 3a 43 50 59  |SR &FFEE:INY:CPY|
00000230  20 23 31 33 3a 42 4e 45  20 65 6d 70 3a 4a 4d 50  | #13:BNE emp:JMP|
00000240  20 6e 65 77 6c 69 6e 65  0d 00 c8 11 2e 69 6e 63  | newline.....inc|
00000250  32 20 49 4e 43 20 26 37  32 0d 00 d2 46 2e 69 66  |2 INC &72...F.if|
00000260  33 20 4c 44 59 20 26 37  32 3a 4c 44 41 20 26 42  |3 LDY &72:LDA &B|
00000270  30 30 2c 59 3a 43 4d 50  20 23 33 32 3a 42 43 43  |00,Y:CMP #32:BCC|
00000280  20 69 66 34 3a 43 4d 50  20 23 31 32 37 3a 42 43  | if4:CMP #127:BC|
00000290  53 20 69 66 34 3a 4a 53  52 20 26 46 46 45 45 0d  |S if4:JSR &FFEE.|
000002a0  00 dc 3e 2e 69 66 34 20  43 4d 50 20 23 26 44 3a  |..>.if4 CMP #&D:|
000002b0  42 4e 45 20 63 6f 6d 70  3a 4c 44 41 20 23 31 32  |BNE comp:LDA #12|
000002c0  34 3a 4a 53 52 20 26 46  46 45 45 3a 4c 44 41 20  |4:JSR &FFEE:LDA |
000002d0  23 37 37 3a 4a 53 52 20  26 46 46 45 45 0d 00 e6  |#77:JSR &FFEE...|
000002e0  22 2e 63 6f 6d 70 20 4c  44 41 20 26 37 32 3a 43  |".comp LDA &72:C|
000002f0  4d 50 20 26 37 33 3a 42  43 43 20 69 6e 63 32 0d  |MP &73:BCC inc2.|
00000300  00 f0 40 2e 6e 65 77 6c  69 6e 65 20 4a 53 52 20  |..@.newline JSR |
00000310  26 46 46 45 37 3a 49 4e  43 20 26 37 30 3a 4c 44  |&FFE7:INC &70:LD|
00000320  41 20 26 37 30 3a 43 4d  50 20 23 31 36 3a 42 45  |A &70:CMP #16:BE|
00000330  51 20 65 6e 64 3a 4a 4d  50 20 72 65 73 65 74 0d  |Q end:JMP reset.|
00000340  00 fa 0c 2e 65 6e 64 20  52 54 53 0d 01 04 18 2e  |....end RTS.....|
00000350  6b 65 79 20 45 51 55 53  22 20 2a 4b 45 59 22 3a  |key EQUS" *KEY":|
00000360  42 52 4b 0d 01 0e 45 2e  65 6d 70 74 79 20 45 51  |BRK...E.empty EQ|
00000370  55 42 20 31 37 3a 45 51  55 42 20 31 32 39 3a 45  |UB 17:EQUB 129:E|
00000380  51 55 42 20 31 37 3a 45  51 55 42 20 30 3a 45 51  |QUB 17:EQUB 0:EQ|
00000390  55 53 22 20 56 41 43 41  4e 54 20 22 3a 45 51 55  |US" VACANT ":EQU|
000003a0  42 20 32 30 3a 42 52 4b  0d 01 18 05 5d 0d 01 22  |B 20:BRK....].."|
000003b0  05 ed 0d ff                                       |....|
000003b4
KEYLIST.m0
KEYLIST.m1
KEYLIST.m2
KEYLIST.m4
KEYLIST.m5