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:
- AEW website » eug » eug_5_25_discs_Eug-09_D-EUG09.dsd » U.KEYLIST
- Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_09.ADF » KEYLIST
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