Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_51.ADF » U/TEXT1
U/TEXT1
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_51.ADF |
Filename: | U/TEXT1 |
Read OK: | ✔ |
File size: | 04A5 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF802B |
Duplicates
There are 2 duplicate copies of this file in the archive:
- AEW website » eug » eug_3_5_discs_Eug-51_A-EUG51.adf » U/TEXT1
- AEW website » eug » eug_5_25_discs_Eug-51_D-EUG51.dsd » U.TEXT1
- Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_51.ADF » U/TEXT1
File contents
10REM 20REM"�Double Width Characters 30REM"�By�The Welder/Faith^Darkage 40REM"�Faith Productions�1998 50PROCassemble:MODE1:VDU23,1,0;0;0;0;10,10,10,17,1 60PROCdouble(" Double Width") 70PRINT 80PROCdouble(" Characters") 90COLOUR3:PRINT''''"This is possibly the smallest routine"'"for producing double width characters."'''"NO nasty tricks are involved like I've"'"seen in other people's similar routines,just proper character manipulation." 100PRINT''"The code is a meer 106 bytes and it"'"might be quite interesting to see if"'"anyone out there can optimise or reduce"'"it's size... So, give it a go!"'':COLOUR2 110PROCdouble(" Live Long And") 120PRINT 130PROCdouble(" Prosper") 140PRINT:END 150DEFPROCassemble:LOCALI%,P%:DIMQ%110:FORI%=0TO2STEP2:P%=Q%:[OPTI%:STAbits:LDA#10:LDX#bits MOD256:LDY#bits DIV256:JSR&FFF1:LDX#7:.lp LDY#4:.lp2 RORchar,X:LDAchar2,X:AND#&FC:BCCdo:ORA#3:.do RORA:RORA:STAchar2,X:DEY:BNElp2:LDY#4 160.lp3 RORchar,X:LDAchar3,X:AND#&FC:BCCdo2:ORA#3:.do2 RORA:RORA:STAchar3,X:DEY:BNElp3:.blk DEX:BPLlp:LDX#0:.lp4 LDAvdu1,X:JSR&FFEE:INX:CPX#22:BNElp4:RTS:.bits EQUB0:.char EQUD0:EQUD0:.vdu1 EQUW&E017:.char2 EQUD0:EQUD0:EQUW&E117 170.char3 EQUD0:EQUD0:EQUW&E0E1:]:NEXT:ENDPROC 180DEFPROCdouble(A$):LOCALA%,I%:FORI%=1TOLEN(A$):A%=ASC(MID$(A$,I%,1)):CALLQ%:NEXT:ENDPROC
� �"�Double Width Characters "�"�By�The Welder/Faith^Darkage (�"�Faith Productions�1998 2,�assemble:�1:�23,1,0;0;0;0;10,10,10,17,1 <�double(" Double Width") F� P�double(" Characters") Z�3:�''''"This is possibly the smallest routine"'"for producing double width characters."'''"NO nasty tricks are involved like I've"'"seen in other people's similar routines,just proper character manipulation." d��''"The code is a meer 106 bytes and it"'"might be quite interesting to see if"'"anyone out there can optimise or reduce"'"it's size... So, give it a go!"'':�2 n �double(" Live Long And") x� ��double(" Prosper") ��:� ����assemble:�I%,P%:�Q%110:�I%=0�2�2:P%=Q%:[OPTI%:STAbits:LDA#10:LDX#bits �256:LDY#bits �256:JSR&FFF1:LDX#7:.lp LDY#4:.lp2 RORchar,X:LDAchar2,X:�#&FC:BCCdo:�A#3:.do RORA:RORA:STAchar2,X:DEY:BNElp2:LDY#4 ��.lp3 RORchar,X:LDAchar3,X:�#&FC:BCCdo2:�A#3:.do2 RORA:RORA:STAchar3,X:DEY:BNElp3:.blk DEX:BPLlp:LDX#0:.lp4 LDAvdu1,X:JSR&FFEE:INX:CPX#22:BNElp4:RTS:.bits EQUB0:.char EQUD0:EQUD0:.vdu1 EQUW&E017:.char2 EQUD0:EQUD0:EQUW&E117 �&.char3 EQUD0:EQUD0:EQUW&E0E1:]:�:� �;��double(A$):�A%,I%:�I%=1��(A$):A%=�(�A$,I%,1)):�Q%:�:� �
00000000 0d 00 0a 07 f4 16 07 0d 00 14 1e f4 22 81 44 6f |............".Do| 00000010 75 62 6c 65 20 57 69 64 74 68 20 43 68 61 72 61 |uble Width Chara| 00000020 63 74 65 72 73 0d 00 1e 22 f4 22 82 42 79 84 54 |cters...".".By.T| 00000030 68 65 20 57 65 6c 64 65 72 2f 46 61 69 74 68 5e |he Welder/Faith^| 00000040 44 61 72 6b 61 67 65 0d 00 28 1d f4 22 85 46 61 |Darkage..(..".Fa| 00000050 69 74 68 20 50 72 6f 64 75 63 74 69 6f 6e 73 86 |ith Productions.| 00000060 31 39 39 38 0d 00 32 2c f2 61 73 73 65 6d 62 6c |1998..2,.assembl| 00000070 65 3a eb 31 3a ef 32 33 2c 31 2c 30 3b 30 3b 30 |e:.1:.23,1,0;0;0| 00000080 3b 30 3b 31 30 2c 31 30 2c 31 30 2c 31 37 2c 31 |;0;10,10,10,17,1| 00000090 0d 00 3c 1f f2 64 6f 75 62 6c 65 28 22 20 20 20 |..<..double(" | 000000a0 20 44 6f 75 62 6c 65 20 57 69 64 74 68 22 29 0d | Double Width").| 000000b0 00 46 05 f1 0d 00 50 1e f2 64 6f 75 62 6c 65 28 |.F....P..double(| 000000c0 22 20 20 20 20 20 43 68 61 72 61 63 74 65 72 73 |" Characters| 000000d0 22 29 0d 00 5a d5 fb 33 3a f1 27 27 27 27 22 54 |")..Z..3:.''''"T| 000000e0 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c 79 20 |his is possibly | 000000f0 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 72 6f 75 |the smallest rou| 00000100 74 69 6e 65 22 27 22 66 6f 72 20 70 72 6f 64 75 |tine"'"for produ| 00000110 63 69 6e 67 20 64 6f 75 62 6c 65 20 77 69 64 74 |cing double widt| 00000120 68 20 63 68 61 72 61 63 74 65 72 73 2e 22 27 27 |h characters."''| 00000130 27 22 4e 4f 20 6e 61 73 74 79 20 74 72 69 63 6b |'"NO nasty trick| 00000140 73 20 61 72 65 20 69 6e 76 6f 6c 76 65 64 20 6c |s are involved l| 00000150 69 6b 65 20 49 27 76 65 22 27 22 73 65 65 6e 20 |ike I've"'"seen | 00000160 69 6e 20 6f 74 68 65 72 20 70 65 6f 70 6c 65 27 |in other people'| 00000170 73 20 73 69 6d 69 6c 61 72 20 72 6f 75 74 69 6e |s similar routin| 00000180 65 73 2c 6a 75 73 74 20 70 72 6f 70 65 72 20 63 |es,just proper c| 00000190 68 61 72 61 63 74 65 72 20 6d 61 6e 69 70 75 6c |haracter manipul| 000001a0 61 74 69 6f 6e 2e 22 0d 00 64 a4 f1 27 27 22 54 |ation."..d..''"T| 000001b0 68 65 20 63 6f 64 65 20 69 73 20 61 20 6d 65 65 |he code is a mee| 000001c0 72 20 31 30 36 20 62 79 74 65 73 20 61 6e 64 20 |r 106 bytes and | 000001d0 69 74 22 27 22 6d 69 67 68 74 20 62 65 20 71 75 |it"'"might be qu| 000001e0 69 74 65 20 69 6e 74 65 72 65 73 74 69 6e 67 20 |ite interesting | 000001f0 74 6f 20 73 65 65 20 69 66 22 27 22 61 6e 79 6f |to see if"'"anyo| 00000200 6e 65 20 6f 75 74 20 74 68 65 72 65 20 63 61 6e |ne out there can| 00000210 20 6f 70 74 69 6d 69 73 65 20 6f 72 20 72 65 64 | optimise or red| 00000220 75 63 65 22 27 22 69 74 27 73 20 73 69 7a 65 2e |uce"'"it's size.| 00000230 2e 2e 20 20 53 6f 2c 20 67 69 76 65 20 69 74 20 |.. So, give it | 00000240 61 20 67 6f 21 22 27 27 3a fb 32 0d 00 6e 20 f2 |a go!"'':.2..n .| 00000250 64 6f 75 62 6c 65 28 22 20 20 20 20 4c 69 76 65 |double(" Live| 00000260 20 4c 6f 6e 67 20 41 6e 64 22 29 0d 00 78 05 f1 | Long And")..x..| 00000270 0d 00 82 1d f2 64 6f 75 62 6c 65 28 22 20 20 20 |.....double(" | 00000280 20 20 20 20 50 72 6f 73 70 65 72 22 29 0d 00 8c | Prosper")...| 00000290 07 f1 3a e0 0d 00 96 cc dd f2 61 73 73 65 6d 62 |..:.......assemb| 000002a0 6c 65 3a ea 49 25 2c 50 25 3a de 51 25 31 31 30 |le:.I%,P%:.Q%110| 000002b0 3a e3 49 25 3d 30 b8 32 88 32 3a 50 25 3d 51 25 |:.I%=0.2.2:P%=Q%| 000002c0 3a 5b 4f 50 54 49 25 3a 53 54 41 62 69 74 73 3a |:[OPTI%:STAbits:| 000002d0 4c 44 41 23 31 30 3a 4c 44 58 23 62 69 74 73 20 |LDA#10:LDX#bits | 000002e0 83 32 35 36 3a 4c 44 59 23 62 69 74 73 20 81 32 |.256:LDY#bits .2| 000002f0 35 36 3a 4a 53 52 26 46 46 46 31 3a 4c 44 58 23 |56:JSR&FFF1:LDX#| 00000300 37 3a 2e 6c 70 20 4c 44 59 23 34 3a 2e 6c 70 32 |7:.lp LDY#4:.lp2| 00000310 20 52 4f 52 63 68 61 72 2c 58 3a 4c 44 41 63 68 | RORchar,X:LDAch| 00000320 61 72 32 2c 58 3a 80 23 26 46 43 3a 42 43 43 64 |ar2,X:.#&FC:BCCd| 00000330 6f 3a 84 41 23 33 3a 2e 64 6f 20 52 4f 52 41 3a |o:.A#3:.do RORA:| 00000340 52 4f 52 41 3a 53 54 41 63 68 61 72 32 2c 58 3a |RORA:STAchar2,X:| 00000350 44 45 59 3a 42 4e 45 6c 70 32 3a 4c 44 59 23 34 |DEY:BNElp2:LDY#4| 00000360 0d 00 a0 e2 2e 6c 70 33 20 52 4f 52 63 68 61 72 |.....lp3 RORchar| 00000370 2c 58 3a 4c 44 41 63 68 61 72 33 2c 58 3a 80 23 |,X:LDAchar3,X:.#| 00000380 26 46 43 3a 42 43 43 64 6f 32 3a 84 41 23 33 3a |&FC:BCCdo2:.A#3:| 00000390 2e 64 6f 32 20 52 4f 52 41 3a 52 4f 52 41 3a 53 |.do2 RORA:RORA:S| 000003a0 54 41 63 68 61 72 33 2c 58 3a 44 45 59 3a 42 4e |TAchar3,X:DEY:BN| 000003b0 45 6c 70 33 3a 2e 62 6c 6b 20 44 45 58 3a 42 50 |Elp3:.blk DEX:BP| 000003c0 4c 6c 70 3a 4c 44 58 23 30 3a 2e 6c 70 34 20 4c |Llp:LDX#0:.lp4 L| 000003d0 44 41 76 64 75 31 2c 58 3a 4a 53 52 26 46 46 45 |DAvdu1,X:JSR&FFE| 000003e0 45 3a 49 4e 58 3a 43 50 58 23 32 32 3a 42 4e 45 |E:INX:CPX#22:BNE| 000003f0 6c 70 34 3a 52 54 53 3a 2e 62 69 74 73 20 45 51 |lp4:RTS:.bits EQ| 00000400 55 42 30 3a 2e 63 68 61 72 20 45 51 55 44 30 3a |UB0:.char EQUD0:| 00000410 45 51 55 44 30 3a 2e 76 64 75 31 20 45 51 55 57 |EQUD0:.vdu1 EQUW| 00000420 26 45 30 31 37 3a 2e 63 68 61 72 32 20 45 51 55 |&E017:.char2 EQU| 00000430 44 30 3a 45 51 55 44 30 3a 45 51 55 57 26 45 31 |D0:EQUD0:EQUW&E1| 00000440 31 37 0d 00 aa 26 2e 63 68 61 72 33 20 45 51 55 |17...&.char3 EQU| 00000450 44 30 3a 45 51 55 44 30 3a 45 51 55 57 26 45 30 |D0:EQUD0:EQUW&E0| 00000460 45 31 3a 5d 3a ed 3a e1 0d 00 b4 3b dd f2 64 6f |E1:]:.:....;..do| 00000470 75 62 6c 65 28 41 24 29 3a ea 41 25 2c 49 25 3a |uble(A$):.A%,I%:| 00000480 e3 49 25 3d 31 b8 a9 28 41 24 29 3a 41 25 3d 97 |.I%=1..(A$):A%=.| 00000490 28 c1 41 24 2c 49 25 2c 31 29 29 3a d6 51 25 3a |(.A$,I%,1)):.Q%:| 000004a0 ed 3a e1 0d ff |.:...| 000004a5