Home » Personal collection » Acorn tapes » Own_Work » drawer_tl_tape06a_c15_acorn_blockable.wav » CODE1

CODE1

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 » Own_Work » drawer_tl_tape06a_c15_acorn_blockable.wav
Filename: CODE1
Read OK:
File size: 0220 bytes
Load address: FFFF0E00
Exec address: FFFF8023
File contents
    1 Z=0
    5 DIM B%(200)
   10 INPUT A$
   20 IF A$="END" THEN PROCcode
   30 IF A$="DEC" THEN PROCdecode
   32 IF A$="SPACE"THEN B%(Z)=32:Z=Z+1:GOTO 10
   35 IF LEN(A$)<>1 THEN VDU 7:GOTO 10
   40 B%(Z)=ASC(A$):Z=Z+1
   50 GOTO 10
   60 DEFPROCcode
   80 FOR X=0 TO Z
   90 B%(X)=B%(X)*10+55*20-5/32*2
  100 NEXT
  105 PRINT;Z*100+574;
  110 FOR X=0 TO Z
  120 PRINT;B%(X);
  130 NEXT
  140 PRINT:END
  150 ENDPROC
  160 DEFPROCdecode
  165 A=GET:B=GET:C=GET:D=GET:A=A*1000:B=B*100:C=C*10:Z=A+B+C+D
  166 Z=Z/100-574
  170 FOR X=0 TO Z
  175 A=GET:B=GET:C=GET:D=GET:A=A*1000:B=B*100:C=C*10:B%(X)=A+B+C+D
  180 B%(X)=B%(X)?10-55/20+5*32/2
  190 NEXT
  200 FOR X=0 TO Z
  210 PRINT;CHR$(B%(X));
  220 NEXT
  230 ENDPROC
 Z=0
 � B%(200)

	 � A$
 � A$="END" � �code
 � A$="DEC" � �decode
 ( � A$="SPACE"� B%(Z)=32:Z=Z+1:� �TJ@
# � �(A$)<>1 � � 7:� �TJ@
( B%(Z)=�(A$):Z=Z+1
2 � �TJ@
< ��code
P � X=0 � Z
Z  B%(X)=B%(X)*10+55*20-5/32*2
d �
i �;Z*100+574;
n � X=0 � Z
x
 �;B%(X);
� �
� �:�
� �
�
 ��decode
�6 A=�:B=�:C=�:D=�:A=A*1000:B=B*100:C=C*10:Z=A+B+C+D
� Z=Z/100-574
� � X=0 � Z
�: A=�:B=�:C=�:D=�:A=A*1000:B=B*100:C=C*10:B%(X)=A+B+C+D
�  B%(X)=B%(X)?10-55/20+5*32/2
� �
� � X=0 � Z
� �;�(B%(X));
� �
� �
�
00000000  0d 00 01 08 20 5a 3d 30  0d 00 05 0e 20 de 20 42  |.... Z=0.... . B|
00000010  25 28 32 30 30 29 0d 00  0a 09 20 e8 20 41 24 0d  |%(200).... . A$.|
00000020  00 14 17 20 e7 20 41 24  3d 22 45 4e 44 22 20 8c  |... . A$="END" .|
00000030  20 f2 63 6f 64 65 0d 00  1e 19 20 e7 20 41 24 3d  | .code.... . A$=|
00000040  22 44 45 43 22 20 8c 20  f2 64 65 63 6f 64 65 0d  |"DEC" . .decode.|
00000050  00 20 28 20 e7 20 41 24  3d 22 53 50 41 43 45 22  |. ( . A$="SPACE"|
00000060  8c 20 42 25 28 5a 29 3d  33 32 3a 5a 3d 5a 2b 31  |. B%(Z)=32:Z=Z+1|
00000070  3a e5 20 8d 54 4a 40 0d  00 23 1c 20 e7 20 a9 28  |:. .TJ@..#. . .(|
00000080  41 24 29 3c 3e 31 20 8c  20 ef 20 37 3a e5 20 8d  |A$)<>1 . . 7:. .|
00000090  54 4a 40 0d 00 28 16 20  42 25 28 5a 29 3d 97 28  |TJ@..(. B%(Z)=.(|
000000a0  41 24 29 3a 5a 3d 5a 2b  31 0d 00 32 0b 20 e5 20  |A$):Z=Z+1..2. . |
000000b0  8d 54 4a 40 0d 00 3c 0b  20 dd f2 63 6f 64 65 0d  |.TJ@..<. ..code.|
000000c0  00 50 0e 20 e3 20 58 3d  30 20 b8 20 5a 0d 00 5a  |.P. . X=0 . Z..Z|
000000d0  20 20 42 25 28 58 29 3d  42 25 28 58 29 2a 31 30  |  B%(X)=B%(X)*10|
000000e0  2b 35 35 2a 32 30 2d 35  2f 33 32 2a 32 0d 00 64  |+55*20-5/32*2..d|
000000f0  06 20 ed 0d 00 69 11 20  f1 3b 5a 2a 31 30 30 2b  |. ...i. .;Z*100+|
00000100  35 37 34 3b 0d 00 6e 0e  20 e3 20 58 3d 30 20 b8  |574;..n. . X=0 .|
00000110  20 5a 0d 00 78 0d 20 f1  3b 42 25 28 58 29 3b 0d  | Z..x. .;B%(X);.|
00000120  00 82 06 20 ed 0d 00 8c  08 20 f1 3a e0 0d 00 96  |... ..... .:....|
00000130  06 20 e1 0d 00 a0 0d 20  dd f2 64 65 63 6f 64 65  |. ..... ..decode|
00000140  0d 00 a5 36 20 41 3d a5  3a 42 3d a5 3a 43 3d a5  |...6 A=.:B=.:C=.|
00000150  3a 44 3d a5 3a 41 3d 41  2a 31 30 30 30 3a 42 3d  |:D=.:A=A*1000:B=|
00000160  42 2a 31 30 30 3a 43 3d  43 2a 31 30 3a 5a 3d 41  |B*100:C=C*10:Z=A|
00000170  2b 42 2b 43 2b 44 0d 00  a6 10 20 5a 3d 5a 2f 31  |+B+C+D.... Z=Z/1|
00000180  30 30 2d 35 37 34 0d 00  aa 0e 20 e3 20 58 3d 30  |00-574.... . X=0|
00000190  20 b8 20 5a 0d 00 af 3a  20 41 3d a5 3a 42 3d a5  | . Z...: A=.:B=.|
000001a0  3a 43 3d a5 3a 44 3d a5  3a 41 3d 41 2a 31 30 30  |:C=.:D=.:A=A*100|
000001b0  30 3a 42 3d 42 2a 31 30  30 3a 43 3d 43 2a 31 30  |0:B=B*100:C=C*10|
000001c0  3a 42 25 28 58 29 3d 41  2b 42 2b 43 2b 44 0d 00  |:B%(X)=A+B+C+D..|
000001d0  b4 20 20 42 25 28 58 29  3d 42 25 28 58 29 3f 31  |.  B%(X)=B%(X)?1|
000001e0  30 2d 35 35 2f 32 30 2b  35 2a 33 32 2f 32 0d 00  |0-55/20+5*32/2..|
000001f0  be 06 20 ed 0d 00 c8 0e  20 e3 20 58 3d 30 20 b8  |.. ..... . X=0 .|
00000200  20 5a 0d 00 d2 10 20 f1  3b bd 28 42 25 28 58 29  | Z.... .;.(B%(X)|
00000210  29 3b 0d 00 dc 06 20 ed  0d 00 e6 06 20 e1 0d ff  |);.... ..... ...|
00000220
CODE1.m0
CODE1.m1
CODE1.m2
CODE1.m4
CODE1.m5