Home » Archimedes archive » Acorn User » AU 1998-13 (Christmas).adf » Regulars » StarInfo/Granger/Carbon/!CarbonDem/loadPROCS

StarInfo/Granger/Carbon/!CarbonDem/loadPROCS

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 » Archimedes archive » Acorn User » AU 1998-13 (Christmas).adf » Regulars
Filename: StarInfo/Granger/Carbon/!CarbonDem/loadPROCS
Read OK:
File size: 0512 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM Loading
   20REM LEN A.Granger 98
   30END
   40DEFPROCload(filename$)
   50piece$()=""
   60f=OPENIN("<Carbon$Dir>."+filename$)
   70c2=1
   80REPEAT
   90line$=GET$#f:inputn=0:plus$=""
  100FOR c1=1 TO LEN(line$)
  110inch$=MID$(line$,c1,1)
  120IFinch$="," THEN piece$(inputn)=plus$:inputn+=1:plus$="" ELSE plus$=plus$+inch$
  130NEXTc1
  140piece$(inputn)=plus$
  150IFfilename$="angl" THEN
  160c3=((c2-1) DIV 4)+1:c4=5-((c2-1) MOD 4+1)
  170FOR n=1 TO 4
  180angles(c3,c4,n)=VAL(piece$(n))
  190NEXTn
  200ENDIF
  210IFfilename$="lens" THENlength$(c2)=piece$(0)
  220IFfilename$="mult" THENmultiple$(c2)=piece$(0)
  230IFfilename$="extr" THENmore$(c2)=piece$(0)
  240IFfilename$="fngp" THEN
  250fn$(c2,0)=piece$(0):fn$(c2,1)=piece$(3):fndetail$(c2,0)=MID$(piece$(1),2,9)
  260fndetail$(c2,1)=MID$(piece$(2),2,9)
  270IFpiece$(11)>"0" THENfndetail$(c2,2)=piece$(11)
  280fnbond(c2,0)=VAL(LEFT$(piece$(1),1)):fnbond(c2,1)=VAL(LEFT$(piece$(2),1))
  290attr(c2)=VAL(piece$(4))+(VAL(piece$(5))<<1)+(VAL(piece$(6))<<2)+(VAL(piece$(7))<<3)+(VAL(piece$(8))<<8)+(VAL(piece$(9))<<11)+(VAL(piece$(10))<<12)
  300ENDIF
  310IFfilename$="halo" THEN FOR c3=0 TO 2:halogen$(c2,c3)=piece$(c3):NEXTc3
  320IFfilename$="meta" THEN metal$(c2,0)=piece$(0):metal$(c2,1)=piece$(1)
  330IFfilename$="erro" THEN errort$(c2,0)=piece$(0):errort$(c2,1)=piece$(1)
  340c2+=1
  350UNTIL EOF#f
  360CLOSE#f
  370ENDPROC
  380DEFFNhowbig(filename$)
  390lines=0
  400f=OPENIN("<Carbon$Dir>."+filename$)
  410REPEAT
  420null$=GET$#f:lines+=1
  430UNTIL EOF#f
  440CLOSE#f
  450=lines+1


� Loading
� � A.Granger 98
�
(��load(filename$)
2piece$()=""
<"f=�("<Carbon$Dir>."+filename$)
Fc2=1
P�
Zline$=�#f:inputn=0:plus$=""
d� c1=1 � �(line$)
ninch$=�line$,c1,1)
xL�inch$="," � piece$(inputn)=plus$:inputn+=1:plus$="" � plus$=plus$+inch$
��c1
�piece$(inputn)=plus$
��filename$="angl" �
�)c3=((c2-1) � 4)+1:c4=5-((c2-1) � 4+1)
�
� n=1 � 4
� angles(c3,c4,n)=�(piece$(n))
��n
��
�,�filename$="lens" �length$(c2)=piece$(0)
�.�filename$="mult" �multiple$(c2)=piece$(0)
�*�filename$="extr" �more$(c2)=piece$(0)
��filename$="fngp" �
�Kfn$(c2,0)=piece$(0):fn$(c2,1)=piece$(3):fndetail$(c2,0)=�piece$(1),2,9)
#fndetail$(c2,1)=�piece$(2),2,9)
/�piece$(11)>"0" �fndetail$(c2,2)=piece$(11)
?fnbond(c2,0)=�(�piece$(1),1)):fnbond(c2,1)=�(�piece$(2),1))
"�attr(c2)=�(piece$(4))+(�(piece$(5))<<1)+(�(piece$(6))<<2)+(�(piece$(7))<<3)+(�(piece$(8))<<8)+(�(piece$(9))<<11)+(�(piece$(10))<<12)
,�
6A�filename$="halo" � � c3=0 � 2:halogen$(c2,c3)=piece$(c3):�c3
@E�filename$="meta" � metal$(c2,0)=piece$(0):metal$(c2,1)=piece$(1)
JG�filename$="erro" � errort$(c2,0)=piece$(0):errort$(c2,1)=piece$(1)
T	c2+=1
^	� �#f
h�#f
r�
|ݤhowbig(filename$)
�lines=0
�"f=�("<Carbon$Dir>."+filename$)
��
�null$=�#f:lines+=1
�	� �#f
��#f
�=lines+1
�
00000000  0d 00 0a 0d f4 20 4c 6f  61 64 69 6e 67 0d 00 14  |..... Loading...|
00000010  14 f4 20 a9 20 41 2e 47  72 61 6e 67 65 72 20 39  |.. . A.Granger 9|
00000020  38 0d 00 1e 05 e0 0d 00  28 15 dd f2 6c 6f 61 64  |8.......(...load|
00000030  28 66 69 6c 65 6e 61 6d  65 24 29 0d 00 32 0f 70  |(filename$)..2.p|
00000040  69 65 63 65 24 28 29 3d  22 22 0d 00 3c 22 66 3d  |iece$()=""..<"f=|
00000050  8e 28 22 3c 43 61 72 62  6f 6e 24 44 69 72 3e 2e  |.("<Carbon$Dir>.|
00000060  22 2b 66 69 6c 65 6e 61  6d 65 24 29 0d 00 46 08  |"+filename$)..F.|
00000070  63 32 3d 31 0d 00 50 05  f5 0d 00 5a 1f 6c 69 6e  |c2=1..P....Z.lin|
00000080  65 24 3d be 23 66 3a 69  6e 70 75 74 6e 3d 30 3a  |e$=.#f:inputn=0:|
00000090  70 6c 75 73 24 3d 22 22  0d 00 64 15 e3 20 63 31  |plus$=""..d.. c1|
000000a0  3d 31 20 b8 20 a9 28 6c  69 6e 65 24 29 0d 00 6e  |=1 . .(line$)..n|
000000b0  16 69 6e 63 68 24 3d c1  6c 69 6e 65 24 2c 63 31  |.inch$=.line$,c1|
000000c0  2c 31 29 0d 00 78 4c e7  69 6e 63 68 24 3d 22 2c  |,1)..xL.inch$=",|
000000d0  22 20 8c 20 70 69 65 63  65 24 28 69 6e 70 75 74  |" . piece$(input|
000000e0  6e 29 3d 70 6c 75 73 24  3a 69 6e 70 75 74 6e 2b  |n)=plus$:inputn+|
000000f0  3d 31 3a 70 6c 75 73 24  3d 22 22 20 8b 20 70 6c  |=1:plus$="" . pl|
00000100  75 73 24 3d 70 6c 75 73  24 2b 69 6e 63 68 24 0d  |us$=plus$+inch$.|
00000110  00 82 07 ed 63 31 0d 00  8c 18 70 69 65 63 65 24  |....c1....piece$|
00000120  28 69 6e 70 75 74 6e 29  3d 70 6c 75 73 24 0d 00  |(inputn)=plus$..|
00000130  96 17 e7 66 69 6c 65 6e  61 6d 65 24 3d 22 61 6e  |...filename$="an|
00000140  67 6c 22 20 8c 0d 00 a0  29 63 33 3d 28 28 63 32  |gl" ....)c3=((c2|
00000150  2d 31 29 20 81 20 34 29  2b 31 3a 63 34 3d 35 2d  |-1) . 4)+1:c4=5-|
00000160  28 28 63 32 2d 31 29 20  83 20 34 2b 31 29 0d 00  |((c2-1) . 4+1)..|
00000170  aa 0d e3 20 6e 3d 31 20  b8 20 34 0d 00 b4 20 61  |... n=1 . 4... a|
00000180  6e 67 6c 65 73 28 63 33  2c 63 34 2c 6e 29 3d bb  |ngles(c3,c4,n)=.|
00000190  28 70 69 65 63 65 24 28  6e 29 29 0d 00 be 06 ed  |(piece$(n)).....|
000001a0  6e 0d 00 c8 05 cd 0d 00  d2 2c e7 66 69 6c 65 6e  |n........,.filen|
000001b0  61 6d 65 24 3d 22 6c 65  6e 73 22 20 8c 6c 65 6e  |ame$="lens" .len|
000001c0  67 74 68 24 28 63 32 29  3d 70 69 65 63 65 24 28  |gth$(c2)=piece$(|
000001d0  30 29 0d 00 dc 2e e7 66  69 6c 65 6e 61 6d 65 24  |0).....filename$|
000001e0  3d 22 6d 75 6c 74 22 20  8c 6d 75 6c 74 69 70 6c  |="mult" .multipl|
000001f0  65 24 28 63 32 29 3d 70  69 65 63 65 24 28 30 29  |e$(c2)=piece$(0)|
00000200  0d 00 e6 2a e7 66 69 6c  65 6e 61 6d 65 24 3d 22  |...*.filename$="|
00000210  65 78 74 72 22 20 8c 6d  6f 72 65 24 28 63 32 29  |extr" .more$(c2)|
00000220  3d 70 69 65 63 65 24 28  30 29 0d 00 f0 17 e7 66  |=piece$(0).....f|
00000230  69 6c 65 6e 61 6d 65 24  3d 22 66 6e 67 70 22 20  |ilename$="fngp" |
00000240  8c 0d 00 fa 4b 66 6e 24  28 63 32 2c 30 29 3d 70  |....Kfn$(c2,0)=p|
00000250  69 65 63 65 24 28 30 29  3a 66 6e 24 28 63 32 2c  |iece$(0):fn$(c2,|
00000260  31 29 3d 70 69 65 63 65  24 28 33 29 3a 66 6e 64  |1)=piece$(3):fnd|
00000270  65 74 61 69 6c 24 28 63  32 2c 30 29 3d c1 70 69  |etail$(c2,0)=.pi|
00000280  65 63 65 24 28 31 29 2c  32 2c 39 29 0d 01 04 23  |ece$(1),2,9)...#|
00000290  66 6e 64 65 74 61 69 6c  24 28 63 32 2c 31 29 3d  |fndetail$(c2,1)=|
000002a0  c1 70 69 65 63 65 24 28  32 29 2c 32 2c 39 29 0d  |.piece$(2),2,9).|
000002b0  01 0e 2f e7 70 69 65 63  65 24 28 31 31 29 3e 22  |../.piece$(11)>"|
000002c0  30 22 20 8c 66 6e 64 65  74 61 69 6c 24 28 63 32  |0" .fndetail$(c2|
000002d0  2c 32 29 3d 70 69 65 63  65 24 28 31 31 29 0d 01  |,2)=piece$(11)..|
000002e0  18 3f 66 6e 62 6f 6e 64  28 63 32 2c 30 29 3d bb  |.?fnbond(c2,0)=.|
000002f0  28 c0 70 69 65 63 65 24  28 31 29 2c 31 29 29 3a  |(.piece$(1),1)):|
00000300  66 6e 62 6f 6e 64 28 63  32 2c 31 29 3d bb 28 c0  |fnbond(c2,1)=.(.|
00000310  70 69 65 63 65 24 28 32  29 2c 31 29 29 0d 01 22  |piece$(2),1)).."|
00000320  88 61 74 74 72 28 63 32  29 3d bb 28 70 69 65 63  |.attr(c2)=.(piec|
00000330  65 24 28 34 29 29 2b 28  bb 28 70 69 65 63 65 24  |e$(4))+(.(piece$|
00000340  28 35 29 29 3c 3c 31 29  2b 28 bb 28 70 69 65 63  |(5))<<1)+(.(piec|
00000350  65 24 28 36 29 29 3c 3c  32 29 2b 28 bb 28 70 69  |e$(6))<<2)+(.(pi|
00000360  65 63 65 24 28 37 29 29  3c 3c 33 29 2b 28 bb 28  |ece$(7))<<3)+(.(|
00000370  70 69 65 63 65 24 28 38  29 29 3c 3c 38 29 2b 28  |piece$(8))<<8)+(|
00000380  bb 28 70 69 65 63 65 24  28 39 29 29 3c 3c 31 31  |.(piece$(9))<<11|
00000390  29 2b 28 bb 28 70 69 65  63 65 24 28 31 30 29 29  |)+(.(piece$(10))|
000003a0  3c 3c 31 32 29 0d 01 2c  05 cd 0d 01 36 41 e7 66  |<<12)..,....6A.f|
000003b0  69 6c 65 6e 61 6d 65 24  3d 22 68 61 6c 6f 22 20  |ilename$="halo" |
000003c0  8c 20 e3 20 63 33 3d 30  20 b8 20 32 3a 68 61 6c  |. . c3=0 . 2:hal|
000003d0  6f 67 65 6e 24 28 63 32  2c 63 33 29 3d 70 69 65  |ogen$(c2,c3)=pie|
000003e0  63 65 24 28 63 33 29 3a  ed 63 33 0d 01 40 45 e7  |ce$(c3):.c3..@E.|
000003f0  66 69 6c 65 6e 61 6d 65  24 3d 22 6d 65 74 61 22  |filename$="meta"|
00000400  20 8c 20 6d 65 74 61 6c  24 28 63 32 2c 30 29 3d  | . metal$(c2,0)=|
00000410  70 69 65 63 65 24 28 30  29 3a 6d 65 74 61 6c 24  |piece$(0):metal$|
00000420  28 63 32 2c 31 29 3d 70  69 65 63 65 24 28 31 29  |(c2,1)=piece$(1)|
00000430  0d 01 4a 47 e7 66 69 6c  65 6e 61 6d 65 24 3d 22  |..JG.filename$="|
00000440  65 72 72 6f 22 20 8c 20  65 72 72 6f 72 74 24 28  |erro" . errort$(|
00000450  63 32 2c 30 29 3d 70 69  65 63 65 24 28 30 29 3a  |c2,0)=piece$(0):|
00000460  65 72 72 6f 72 74 24 28  63 32 2c 31 29 3d 70 69  |errort$(c2,1)=pi|
00000470  65 63 65 24 28 31 29 0d  01 54 09 63 32 2b 3d 31  |ece$(1)..T.c2+=1|
00000480  0d 01 5e 09 fd 20 c5 23  66 0d 01 68 07 d9 23 66  |..^.. .#f..h..#f|
00000490  0d 01 72 05 e1 0d 01 7c  17 dd a4 68 6f 77 62 69  |..r....|...howbi|
000004a0  67 28 66 69 6c 65 6e 61  6d 65 24 29 0d 01 86 0b  |g(filename$)....|
000004b0  6c 69 6e 65 73 3d 30 0d  01 90 22 66 3d 8e 28 22  |lines=0..."f=.("|
000004c0  3c 43 61 72 62 6f 6e 24  44 69 72 3e 2e 22 2b 66  |<Carbon$Dir>."+f|
000004d0  69 6c 65 6e 61 6d 65 24  29 0d 01 9a 05 f5 0d 01  |ilename$).......|
000004e0  a4 16 6e 75 6c 6c 24 3d  be 23 66 3a 6c 69 6e 65  |..null$=.#f:line|
000004f0  73 2b 3d 31 0d 01 ae 09  fd 20 c5 23 66 0d 01 b8  |s+=1..... .#f...|
00000500  07 d9 23 66 0d 01 c2 0c  3d 6c 69 6e 65 73 2b 31  |..#f....=lines+1|
00000510  0d ff                                             |..|
00000512