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