Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape31b_acorn_eu_1992_january.wav » Quick
Quick
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 tapes » Electron_User » Electron_User_tape31b_acorn_eu_1992_january.wav |
Filename: | Quick |
Read OK: | ✔ |
File size: | 0718 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF802B |
Duplicates
There are 3 duplicate copies of this file in the archive:
- AEW website » mu » mu_5_25_discs_Micro_User_09_11_D-MU09_11.ssd » Quick
- AEW website » mu » mu_Micro_User_09_11_MU9-11_B.uef » Quick
- Personal collection » Acorn tapes » Electron_User » Electron_User_tape31a_acorn_eu_1992_january.wav » Quick
- Personal collection » Acorn tapes » Electron_User » Electron_User_tape31b_acorn_eu_1992_january.wav » Quick
File contents
10REM Quick Type 20REM By Stephen Ramplin 30REM (c) The Micro User 40*KEY10 OLD|MRUN|M 50*FX200 60MODE135 70chr%=&80:addr%=&81:tkn%=&83:temp%=&84:insv=&22A:osbyte=&FFF4:oscli=&FFF7:oldv=!insv AND&FFFF:base%=FNBase:PROCassemble:IFoldv=qtype THEN CALL!-4 80*FX18 90PRINT'"Press SPACE to save code as Qtype":*FX21 100REPEATUNTILGET=32:$&700="SAVE Qtype 900 "+STR$~P%:X%=0:Y%=7:CALLoscli 110CALLinit 120END 130DEFPROCassemble 140FORpass%=0TO2STEP2:P%=&900:[OPTpass% 150.init LDX#qtype MOD256:LDY#qtype DIV256:SEI:STXinsv:STYinsv+1:CLI:RTS 160.qtype PHP:STA chr%:TXA:BNE not_key:PHA:TYA:PHA:LDA chr%:CMP#ASC" ":BEQ check:STX tkn% 170.findtkn CMP#ASC"!":BCC exit:CMP#ASC"`"+1:BCS others:SEC:SBC#ASC"!":BPL gettkn 180.others AND#&DF:CMP#ASC"[":BCC lower:CMP#ASC"_":BCS exit:SEC:SBC#27:BPL gettkn 190.lower SEC:SBC#ASC"!":.gettkn TAX:LDA table,X:STA tkn% 200.exit PLA:TAY:PLA:.not_key TAX:LDA chr%:PLP:JMP oldv 210.check LDA#&79:LDX#&80:JSR osbyte:TXA:BPL exit:LDA tkn%:BEQ exit 220.reset LDX#oldv MOD256:LDY#oldv DIV256:SEI:STXinsv:STYinsv+1:CLI 230.delete LDA#&7F:JSR insert:LDA#base% MOD256:STA addr%:LDA#base% DIV256:STA addr%+1 240.findword LDY#&FF:.loop1 INY:LDA(addr%),Y:BPL loop1:CMP tkn%:BEQ found 250.incaddr% INY:TYA:SEC:ADC addr%:STA addr%:BCC findword:INC addr%+1:BCS findword 260.found LDY#0:.loop2 LDA(addr%),Y:BMI done:STY temp%:JSR insert:LDY temp%:INY:BNEloop2 270.done CMP#&CB:BEQ cr:CMP#&F9:BNE no_cr:.cr LDA#13:JSR insert 280.no_cr JSRinit:LDA#0:STA tkn%:STA chr%:JMP exit 290.insert TAY:LDA#138:LDX#0:JMPosbyte:.table OPT FNTokens 300]:NEXTpass%:ENDPROC 310DEFFNBase:A%=&8000:REPEAT:A%=A%+1:UNTIL!A%=&80444E41:=A% 320DEFFNTokens:RESTORE:READd$:t%=0:FORi%=1TO136STEP2:?P%=EVAL("&"+MID$(d$,i%,2)):t%=t%+(?P%*i%) 330P%=P%+1:NEXT:READC%:IFt%<>C% PRINT"Data Error":END ELSE=pass% 340REM Tokens Data 350DATA ADAEE1D99AD5939290E4B9C885CDF18ABDBEA7C0C1B0C2C4C3F8A3E2A0D496D6C6CCFBDF8BE3E59DE8B2D7C9EBEDCBF0EAF9888CFDEFF7F2F5E0ECFCDCF6E6C7A691F3D8,&ECBF7
� Quick Type � By Stephen Ramplin � (c) The Micro User (*KEY10 OLD|MRUN|M 2 *FX200 <�135 F�chr%=&80:addr%=&81:tkn%=&83:temp%=&84:insv=&22A:osbyte=&FFF4:oscli=&FFF7:oldv=!insv �&FFFF:base%=�Base:�assemble:�oldv=qtype � �!-4 P *FX18 Z/�'"Press SPACE to save code as Qtype":*FX21 d8���=32:$&700="SAVE Qtype 900 "+�~P%:X%=0:Y%=7:�oscli n �init x� ���assemble �"�pass%=0�2�2:P%=&900:[OPTpass% �E.init LDX#qtype �256:LDY#qtype �256:SEI:STXinsv:STYinsv+1:CLI:RTS �X.qtype PHP:STA chr%:TXA:BNE not_key:PHA:TYA:PHA:LDA chr%:CMP#�" ":BEQ check:STX tkn% �L.findtkn CMP#�"!":BCC exit:CMP#�"`"+1:BCS others:SEC:SBC#�"!":BPL gettkn �L.others �#&DF:CMP#�"[":BCC lower:CMP#�"_":BCS exit:SEC:SBC#27:BPL gettkn �8.lower SEC:SBC#�"!":.gettkn TAX:LDA table,X:STA tkn% �8.exit PLA:TAY:PLA:.not_key TAX:LDA chr%:PLP:JMP oldv �D.check LDA#&79:LDX#&80:JSR osbyte:TXA:BPL exit:LDA tkn%:BEQ exit �@.reset LDX#oldv �256:LDY#oldv �256:SEI:STXinsv:STYinsv+1:CLI �R.delete LDA#&7F:JSR insert:LDA#base% �256:STA addr%:LDA#base% �256:STA addr%+1 �J.findword LDY#&FF:.loop1 INY:LDA(addr%),Y:BPL loop1:CMP tkn%:BEQ found �S.incaddr% INY:TYA:SEC:ADC addr%:STA addr%:BCC findword:INC addr%+1:BCS findword Y.found LDY#0:.loop2 LDA(addr%),Y:BMI done:STY temp%:JSR insert:LDY temp%:INY:BNEloop2 @.done CMP#&CB:BEQ cr:CMP#&F9:BNE no_cr:.cr LDA#13:JSR insert 3.no_cr JSRinit:LDA#0:STA tkn%:STA chr%:JMP exit ":.insert TAY:LDA#138:LDX#0:JMPosbyte:.table OPT �Tokens ,]:�pass%:� 60ݤBase:A%=&8000:�:A%=A%+1:�!A%=&80444E41:=A% @GݤTokens:�:�d$:t%=0:�i%=1�136�2:?P%=�("&"+�d$,i%,2)):t%=t%+(?P%*i%) J1P%=P%+1:�:�C%:�t%<>C% �"Data Error":� �=pass% T� Tokens Data ^�� ADAEE1D99AD5939290E4B9C885CDF18ABDBEA7C0C1B0C2C4C3F8A3E2A0D496D6C6CCFBDF8BE3E59DE8B2D7C9EBEDCBF0EAF9888CFDEFF7F2F5E0ECFCDCF6E6C7A691F3D8,&ECBF7 �
00000000 0d 00 0a 10 f4 20 51 75 69 63 6b 20 54 79 70 65 |..... Quick Type| 00000010 0d 00 14 18 f4 20 42 79 20 53 74 65 70 68 65 6e |..... By Stephen| 00000020 20 52 61 6d 70 6c 69 6e 0d 00 1e 18 f4 20 28 63 | Ramplin..... (c| 00000030 29 20 54 68 65 20 4d 69 63 72 6f 20 55 73 65 72 |) The Micro User| 00000040 0d 00 28 15 2a 4b 45 59 31 30 20 4f 4c 44 7c 4d |..(.*KEY10 OLD|M| 00000050 52 55 4e 7c 4d 0d 00 32 0a 2a 46 58 32 30 30 0d |RUN|M..2.*FX200.| 00000060 00 3c 08 eb 31 33 35 0d 00 46 87 63 68 72 25 3d |.<..135..F.chr%=| 00000070 26 38 30 3a 61 64 64 72 25 3d 26 38 31 3a 74 6b |&80:addr%=&81:tk| 00000080 6e 25 3d 26 38 33 3a 74 65 6d 70 25 3d 26 38 34 |n%=&83:temp%=&84| 00000090 3a 69 6e 73 76 3d 26 32 32 41 3a 6f 73 62 79 74 |:insv=&22A:osbyt| 000000a0 65 3d 26 46 46 46 34 3a 6f 73 63 6c 69 3d 26 46 |e=&FFF4:oscli=&F| 000000b0 46 46 37 3a 6f 6c 64 76 3d 21 69 6e 73 76 20 80 |FF7:oldv=!insv .| 000000c0 26 46 46 46 46 3a 62 61 73 65 25 3d a4 42 61 73 |&FFFF:base%=.Bas| 000000d0 65 3a f2 61 73 73 65 6d 62 6c 65 3a e7 6f 6c 64 |e:.assemble:.old| 000000e0 76 3d 71 74 79 70 65 20 8c 20 d6 21 2d 34 0d 00 |v=qtype . .!-4..| 000000f0 50 09 2a 46 58 31 38 0d 00 5a 2f f1 27 22 50 72 |P.*FX18..Z/.'"Pr| 00000100 65 73 73 20 53 50 41 43 45 20 74 6f 20 73 61 76 |ess SPACE to sav| 00000110 65 20 63 6f 64 65 20 61 73 20 51 74 79 70 65 22 |e code as Qtype"| 00000120 3a 2a 46 58 32 31 0d 00 64 38 f5 fd a5 3d 33 32 |:*FX21..d8...=32| 00000130 3a 24 26 37 30 30 3d 22 53 41 56 45 20 51 74 79 |:$&700="SAVE Qty| 00000140 70 65 20 39 30 30 20 22 2b c3 7e 50 25 3a 58 25 |pe 900 "+.~P%:X%| 00000150 3d 30 3a 59 25 3d 37 3a d6 6f 73 63 6c 69 0d 00 |=0:Y%=7:.oscli..| 00000160 6e 09 d6 69 6e 69 74 0d 00 78 05 e0 0d 00 82 0e |n..init..x......| 00000170 dd f2 61 73 73 65 6d 62 6c 65 0d 00 8c 22 e3 70 |..assemble...".p| 00000180 61 73 73 25 3d 30 b8 32 88 32 3a 50 25 3d 26 39 |ass%=0.2.2:P%=&9| 00000190 30 30 3a 5b 4f 50 54 70 61 73 73 25 0d 00 96 45 |00:[OPTpass%...E| 000001a0 2e 69 6e 69 74 20 4c 44 58 23 71 74 79 70 65 20 |.init LDX#qtype | 000001b0 83 32 35 36 3a 4c 44 59 23 71 74 79 70 65 20 81 |.256:LDY#qtype .| 000001c0 32 35 36 3a 53 45 49 3a 53 54 58 69 6e 73 76 3a |256:SEI:STXinsv:| 000001d0 53 54 59 69 6e 73 76 2b 31 3a 43 4c 49 3a 52 54 |STYinsv+1:CLI:RT| 000001e0 53 0d 00 a0 58 2e 71 74 79 70 65 20 50 48 50 3a |S...X.qtype PHP:| 000001f0 53 54 41 20 63 68 72 25 3a 54 58 41 3a 42 4e 45 |STA chr%:TXA:BNE| 00000200 20 6e 6f 74 5f 6b 65 79 3a 50 48 41 3a 54 59 41 | not_key:PHA:TYA| 00000210 3a 50 48 41 3a 4c 44 41 20 63 68 72 25 3a 43 4d |:PHA:LDA chr%:CM| 00000220 50 23 97 22 20 22 3a 42 45 51 20 63 68 65 63 6b |P#." ":BEQ check| 00000230 3a 53 54 58 20 74 6b 6e 25 0d 00 aa 4c 2e 66 69 |:STX tkn%...L.fi| 00000240 6e 64 74 6b 6e 20 43 4d 50 23 97 22 21 22 3a 42 |ndtkn CMP#."!":B| 00000250 43 43 20 65 78 69 74 3a 43 4d 50 23 97 22 60 22 |CC exit:CMP#."`"| 00000260 2b 31 3a 42 43 53 20 6f 74 68 65 72 73 3a 53 45 |+1:BCS others:SE| 00000270 43 3a 53 42 43 23 97 22 21 22 3a 42 50 4c 20 67 |C:SBC#."!":BPL g| 00000280 65 74 74 6b 6e 0d 00 b4 4c 2e 6f 74 68 65 72 73 |ettkn...L.others| 00000290 20 80 23 26 44 46 3a 43 4d 50 23 97 22 5b 22 3a | .#&DF:CMP#."[":| 000002a0 42 43 43 20 6c 6f 77 65 72 3a 43 4d 50 23 97 22 |BCC lower:CMP#."| 000002b0 5f 22 3a 42 43 53 20 65 78 69 74 3a 53 45 43 3a |_":BCS exit:SEC:| 000002c0 53 42 43 23 32 37 3a 42 50 4c 20 67 65 74 74 6b |SBC#27:BPL gettk| 000002d0 6e 0d 00 be 38 2e 6c 6f 77 65 72 20 53 45 43 3a |n...8.lower SEC:| 000002e0 53 42 43 23 97 22 21 22 3a 2e 67 65 74 74 6b 6e |SBC#."!":.gettkn| 000002f0 20 54 41 58 3a 4c 44 41 20 74 61 62 6c 65 2c 58 | TAX:LDA table,X| 00000300 3a 53 54 41 20 74 6b 6e 25 0d 00 c8 38 2e 65 78 |:STA tkn%...8.ex| 00000310 69 74 20 50 4c 41 3a 54 41 59 3a 50 4c 41 3a 2e |it PLA:TAY:PLA:.| 00000320 6e 6f 74 5f 6b 65 79 20 54 41 58 3a 4c 44 41 20 |not_key TAX:LDA | 00000330 63 68 72 25 3a 50 4c 50 3a 4a 4d 50 20 6f 6c 64 |chr%:PLP:JMP old| 00000340 76 0d 00 d2 44 2e 63 68 65 63 6b 20 4c 44 41 23 |v...D.check LDA#| 00000350 26 37 39 3a 4c 44 58 23 26 38 30 3a 4a 53 52 20 |&79:LDX#&80:JSR | 00000360 6f 73 62 79 74 65 3a 54 58 41 3a 42 50 4c 20 65 |osbyte:TXA:BPL e| 00000370 78 69 74 3a 4c 44 41 20 74 6b 6e 25 3a 42 45 51 |xit:LDA tkn%:BEQ| 00000380 20 65 78 69 74 0d 00 dc 40 2e 72 65 73 65 74 20 | exit...@.reset | 00000390 4c 44 58 23 6f 6c 64 76 20 83 32 35 36 3a 4c 44 |LDX#oldv .256:LD| 000003a0 59 23 6f 6c 64 76 20 81 32 35 36 3a 53 45 49 3a |Y#oldv .256:SEI:| 000003b0 53 54 58 69 6e 73 76 3a 53 54 59 69 6e 73 76 2b |STXinsv:STYinsv+| 000003c0 31 3a 43 4c 49 0d 00 e6 52 2e 64 65 6c 65 74 65 |1:CLI...R.delete| 000003d0 20 4c 44 41 23 26 37 46 3a 4a 53 52 20 69 6e 73 | LDA#&7F:JSR ins| 000003e0 65 72 74 3a 4c 44 41 23 62 61 73 65 25 20 83 32 |ert:LDA#base% .2| 000003f0 35 36 3a 53 54 41 20 61 64 64 72 25 3a 4c 44 41 |56:STA addr%:LDA| 00000400 23 62 61 73 65 25 20 81 32 35 36 3a 53 54 41 20 |#base% .256:STA | 00000410 61 64 64 72 25 2b 31 0d 00 f0 4a 2e 66 69 6e 64 |addr%+1...J.find| 00000420 77 6f 72 64 20 4c 44 59 23 26 46 46 3a 2e 6c 6f |word LDY#&FF:.lo| 00000430 6f 70 31 20 49 4e 59 3a 4c 44 41 28 61 64 64 72 |op1 INY:LDA(addr| 00000440 25 29 2c 59 3a 42 50 4c 20 6c 6f 6f 70 31 3a 43 |%),Y:BPL loop1:C| 00000450 4d 50 20 74 6b 6e 25 3a 42 45 51 20 66 6f 75 6e |MP tkn%:BEQ foun| 00000460 64 0d 00 fa 53 2e 69 6e 63 61 64 64 72 25 20 49 |d...S.incaddr% I| 00000470 4e 59 3a 54 59 41 3a 53 45 43 3a 41 44 43 20 61 |NY:TYA:SEC:ADC a| 00000480 64 64 72 25 3a 53 54 41 20 61 64 64 72 25 3a 42 |ddr%:STA addr%:B| 00000490 43 43 20 66 69 6e 64 77 6f 72 64 3a 49 4e 43 20 |CC findword:INC | 000004a0 61 64 64 72 25 2b 31 3a 42 43 53 20 66 69 6e 64 |addr%+1:BCS find| 000004b0 77 6f 72 64 0d 01 04 59 2e 66 6f 75 6e 64 20 4c |word...Y.found L| 000004c0 44 59 23 30 3a 2e 6c 6f 6f 70 32 20 4c 44 41 28 |DY#0:.loop2 LDA(| 000004d0 61 64 64 72 25 29 2c 59 3a 42 4d 49 20 64 6f 6e |addr%),Y:BMI don| 000004e0 65 3a 53 54 59 20 74 65 6d 70 25 3a 4a 53 52 20 |e:STY temp%:JSR | 000004f0 69 6e 73 65 72 74 3a 4c 44 59 20 74 65 6d 70 25 |insert:LDY temp%| 00000500 3a 49 4e 59 3a 42 4e 45 6c 6f 6f 70 32 0d 01 0e |:INY:BNEloop2...| 00000510 40 2e 64 6f 6e 65 20 43 4d 50 23 26 43 42 3a 42 |@.done CMP#&CB:B| 00000520 45 51 20 63 72 3a 43 4d 50 23 26 46 39 3a 42 4e |EQ cr:CMP#&F9:BN| 00000530 45 20 6e 6f 5f 63 72 3a 2e 63 72 20 4c 44 41 23 |E no_cr:.cr LDA#| 00000540 31 33 3a 4a 53 52 20 69 6e 73 65 72 74 0d 01 18 |13:JSR insert...| 00000550 33 2e 6e 6f 5f 63 72 20 4a 53 52 69 6e 69 74 3a |3.no_cr JSRinit:| 00000560 4c 44 41 23 30 3a 53 54 41 20 74 6b 6e 25 3a 53 |LDA#0:STA tkn%:S| 00000570 54 41 20 63 68 72 25 3a 4a 4d 50 20 65 78 69 74 |TA chr%:JMP exit| 00000580 0d 01 22 3a 2e 69 6e 73 65 72 74 20 54 41 59 3a |..":.insert TAY:| 00000590 4c 44 41 23 31 33 38 3a 4c 44 58 23 30 3a 4a 4d |LDA#138:LDX#0:JM| 000005a0 50 6f 73 62 79 74 65 3a 2e 74 61 62 6c 65 20 4f |Posbyte:.table O| 000005b0 50 54 20 a4 54 6f 6b 65 6e 73 0d 01 2c 0e 5d 3a |PT .Tokens..,.]:| 000005c0 ed 70 61 73 73 25 3a e1 0d 01 36 30 dd a4 42 61 |.pass%:...60..Ba| 000005d0 73 65 3a 41 25 3d 26 38 30 30 30 3a f5 3a 41 25 |se:A%=&8000:.:A%| 000005e0 3d 41 25 2b 31 3a fd 21 41 25 3d 26 38 30 34 34 |=A%+1:.!A%=&8044| 000005f0 34 45 34 31 3a 3d 41 25 0d 01 40 47 dd a4 54 6f |4E41:=A%..@G..To| 00000600 6b 65 6e 73 3a f7 3a f3 64 24 3a 74 25 3d 30 3a |kens:.:.d$:t%=0:| 00000610 e3 69 25 3d 31 b8 31 33 36 88 32 3a 3f 50 25 3d |.i%=1.136.2:?P%=| 00000620 a0 28 22 26 22 2b c1 64 24 2c 69 25 2c 32 29 29 |.("&"+.d$,i%,2))| 00000630 3a 74 25 3d 74 25 2b 28 3f 50 25 2a 69 25 29 0d |:t%=t%+(?P%*i%).| 00000640 01 4a 31 50 25 3d 50 25 2b 31 3a ed 3a f3 43 25 |.J1P%=P%+1:.:.C%| 00000650 3a e7 74 25 3c 3e 43 25 20 f1 22 44 61 74 61 20 |:.t%<>C% ."Data | 00000660 45 72 72 6f 72 22 3a e0 20 8b 3d 70 61 73 73 25 |Error":. .=pass%| 00000670 0d 01 54 11 f4 20 54 6f 6b 65 6e 73 20 44 61 74 |..T.. Tokens Dat| 00000680 61 0d 01 5e 95 dc 20 41 44 41 45 45 31 44 39 39 |a..^.. ADAEE1D99| 00000690 41 44 35 39 33 39 32 39 30 45 34 42 39 43 38 38 |AD5939290E4B9C88| 000006a0 35 43 44 46 31 38 41 42 44 42 45 41 37 43 30 43 |5CDF18ABDBEA7C0C| 000006b0 31 42 30 43 32 43 34 43 33 46 38 41 33 45 32 41 |1B0C2C4C3F8A3E2A| 000006c0 30 44 34 39 36 44 36 43 36 43 43 46 42 44 46 38 |0D496D6C6CCFBDF8| 000006d0 42 45 33 45 35 39 44 45 38 42 32 44 37 43 39 45 |BE3E59DE8B2D7C9E| 000006e0 42 45 44 43 42 46 30 45 41 46 39 38 38 38 43 46 |BEDCBF0EAF9888CF| 000006f0 44 45 46 46 37 46 32 46 35 45 30 45 43 46 43 44 |DEFF7F2F5E0ECFCD| 00000700 43 46 36 45 36 43 37 41 36 39 31 46 33 44 38 2c |CF6E6C7A691F3D8,| 00000710 26 45 43 42 46 37 0d ff |&ECBF7..| 00000718