Home » Personal collection » Acorn ADFS disks » Archimedes » Unlabelled_disk_3.ADF » com/Decoder

com/Decoder

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 » Archimedes » Unlabelled_disk_3.ADF
Filename: com/Decoder
Read OK:
File size: 01A6 bytes
Load address: FFFFFB45
Exec address: 3C8E9CF6
Duplicates

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

File contents
   10ON ERROR REPORT:PRINT" @ ";ERL:END
   20:
   30*adfs
   40*mount
   50*dir com
   60DIM input &8000
   70DIM output &8000
   80OSCLI"LOAD SOURCE "+STR$~input
   90PROCdecode
  100OSCLI"SAVE Result "+STR$~output+" "+STR$~(output+out)
  110END
  120:
  130DEFPROCdecode
  140out=0:FOR dat=0 TO &8000
  150read=?(input+dat)
  160IF read=0 THEN NEXT:ENDPROC
  170IF read=ASC(":") THEN read=10
  180IF read=&0A THEN
  190 ?(output+out)=13
  200 ?(output+out+1)=10
  210 out=out+2
  220ELSE
  230 ?(output+out)=read
  240 out=out+1
  250ENDIF
  260NEXT
  270ENDPROC

� � �:�" @ ";�:�
:
	*adfs
(
*mount
2*dir com
<� input &8000
F� output &8000
P�"LOAD SOURCE "+�~input
Z�decode
d/�"SAVE Result "+�~output+" "+�~(output+out)
n�
x:
���decode
�out=0:� dat=0 � &8000
�read=?(input+dat)
�� read=0 � �:�
�� read=�(":") � read=10
�� read=&0A �
� ?(output+out)=13
� ?(output+out+1)=10
� out=out+2
��
� ?(output+out)=read
� out=out+1
��
�
�
�
00000000  0d 00 0a 14 ee 20 85 20  f6 3a f1 22 20 40 20 22  |..... . .:." @ "|
00000010  3b 9e 3a e0 0d 00 14 05  3a 0d 00 1e 09 2a 61 64  |;.:.....:....*ad|
00000020  66 73 0d 00 28 0a 2a 6d  6f 75 6e 74 0d 00 32 0c  |fs..(.*mount..2.|
00000030  2a 64 69 72 20 63 6f 6d  0d 00 3c 11 de 20 69 6e  |*dir com..<.. in|
00000040  70 75 74 20 26 38 30 30  30 0d 00 46 12 de 20 6f  |put &8000..F.. o|
00000050  75 74 70 75 74 20 26 38  30 30 30 0d 00 50 1b ff  |utput &8000..P..|
00000060  22 4c 4f 41 44 20 53 4f  55 52 43 45 20 22 2b c3  |"LOAD SOURCE "+.|
00000070  7e 69 6e 70 75 74 0d 00  5a 0b f2 64 65 63 6f 64  |~input..Z..decod|
00000080  65 0d 00 64 2f ff 22 53  41 56 45 20 52 65 73 75  |e..d/."SAVE Resu|
00000090  6c 74 20 22 2b c3 7e 6f  75 74 70 75 74 2b 22 20  |lt "+.~output+" |
000000a0  22 2b c3 7e 28 6f 75 74  70 75 74 2b 6f 75 74 29  |"+.~(output+out)|
000000b0  0d 00 6e 05 e0 0d 00 78  05 3a 0d 00 82 0c dd f2  |..n....x.:......|
000000c0  64 65 63 6f 64 65 0d 00  8c 19 6f 75 74 3d 30 3a  |decode....out=0:|
000000d0  e3 20 64 61 74 3d 30 20  b8 20 26 38 30 30 30 0d  |. dat=0 . &8000.|
000000e0  00 96 15 72 65 61 64 3d  3f 28 69 6e 70 75 74 2b  |...read=?(input+|
000000f0  64 61 74 29 0d 00 a0 12  e7 20 72 65 61 64 3d 30  |dat)..... read=0|
00000100  20 8c 20 ed 3a e1 0d 00  aa 1b e7 20 72 65 61 64  | . .:...... read|
00000110  3d 97 28 22 3a 22 29 20  8c 20 72 65 61 64 3d 31  |=.(":") . read=1|
00000120  30 0d 00 b4 10 e7 20 72  65 61 64 3d 26 30 41 20  |0..... read=&0A |
00000130  8c 0d 00 be 15 20 3f 28  6f 75 74 70 75 74 2b 6f  |..... ?(output+o|
00000140  75 74 29 3d 31 33 0d 00  c8 17 20 3f 28 6f 75 74  |ut)=13.... ?(out|
00000150  70 75 74 2b 6f 75 74 2b  31 29 3d 31 30 0d 00 d2  |put+out+1)=10...|
00000160  0e 20 6f 75 74 3d 6f 75  74 2b 32 0d 00 dc 05 cc  |. out=out+2.....|
00000170  0d 00 e6 17 20 3f 28 6f  75 74 70 75 74 2b 6f 75  |.... ?(output+ou|
00000180  74 29 3d 72 65 61 64 0d  00 f0 0e 20 6f 75 74 3d  |t)=read.... out=|
00000190  6f 75 74 2b 31 0d 00 fa  05 cd 0d 01 04 05 ed 0d  |out+1...........|
000001a0  01 0e 05 e1 0d ff                                 |......|
000001a6
com/Decoder.m0
com/Decoder.m1
com/Decoder.m2
com/Decoder.m4
com/Decoder.m5