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

StarInfo/Granger/Carbon/!CarbonDem/!RunImage

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/!RunImage
Read OK:
File size: 0D5D bytes
Load address: 0000
Exec address: 0000
File contents
   10REM !Carbon LEN Adam Granger
   20lib$="decograpiconloadmenumiscwind"
   30FOR n=1 TO LEN(lib$) STEP 4
   40LIBRARY "<Carbon$Dir>."+MID$(lib$,n,4)+"PROCs"
   50NEXTn
   60PROCdeclare_vars
   70PROCclear_vars
   80lib$="anglerroextrfngphalolensmetamult"
   90FOR n2=1 TO LEN(lib$) STEP 4
  100PROCload(MID$(lib$,n2,4))
  110NEXTn2
  120lib$=""
  130PROCinit
  140WHILE NOT quit%
  150PROCpoll
  160ENDWHILE
  170PROCquit
  180DEFPROCinit
  190DIMb% 8000
  200DIMimenu% 200
  210DIMmmenu% 200
  220DIMdecode% 20
  230DIMname% 11
  240quiz%=0
  250open%=0
  260quit%=FALSE
  270app$="Carbon demo"
  280PROCfontarray
  290SYS&400C0,200,&4B534154,app$
  300ON ERROR PROCerror(REPORT$+" at line "+STR$(ERL/10))
  310SYS&400D9,,"<Carbon$Dir>.Templates"
  320info%=FNwindow("info")
  330control%=FNwindow("control")
  340saveas%=FNwindow("saveas")
  350drawwin%=FNwindow("drawwin")
  360mess%=FNwindow("mess")
  370SYS&400DA
  380iconbar%=FNcreate_icon(-1,0,0,68,68,&3002,"!Carbondem",0,0,0)
  390PROCsetupmenu(imenu%)
  400PROCsetupmenu(mmenu%)
  410ENDPROC
  420DEFPROCdeclare_vars
  430font$="trinity.medium":wsize%=1000:hsize%=800:fhand%=0:fsize=12
  440np_len=FNhowbig("lens"):np_mul=FNhowbig("mult"):np_fns=FNhowbig("fngp"):np_hal=FNhowbig("halo")
  450np_met=FNhowbig("meta"):np_err=FNhowbig("erro"):np_ext=FNhowbig("extr"):np_dem=FNhowbig("demo")
  460DIMlength$(np_len)
  470DIMmultiple$(np_mul)
  480DIMfn$(np_fns,1)
  490DIMmore$(10)
  500DIMfndetail$(np_fns,2)
  510DIMfnbond(np_fns,1)
  520DIMhalogen$(np_hal,2)
  530DIMangles(3,4,4)
  540DIMerrort$(np_err,1)
  550DIMx(np_len)
  560DIMy(np_len)
  570DIMattr(np_fns)
  580DIMmetal$(np_met,1)
  590DIMpiece$(12):perc=0.6:dist=100
  600gap=dist/6:gp=dist/8:num$="":lfs=0:np_bgs=25:np_num=15
  610DIMnums(np_bgs,np_num)
  620DIMdetails(np_bgs,1)
  630DIMorder$(np_bgs)
  640DIMorderpos(np_bgs)
  650DIMcarbons$(np_len,4)
  660DIMbonds(np_len)
  670DIMfnposs(np_num)
  680DIMcs$(np_len)
  690demo=0:TIME=0:n=500
  700DIMco% 16*n
  710DIMtc% 16*n
  720DIMjus 4*n
  730DIMtx$(n)
  740ENDPROC
  750DEFPROCclear_vars
  760nlines=0:ntext=0:error$="":fatal=0:fn=0:num$="":multbond=0:cis=0:poly=0
  770benz=0:length=0:phenyl=0:ester=0:met=0:draw=0:errk$=STRING$(np_err,"0")
  780details()=0:nums()=0:carbons$()="":bonds()=1:fnposs()=0:order$()=""
  790orderpos()=0:pass=0:cs$()="C"
  800x()=0:y()=0:mx_x=-8888:mx_y=-8888:mn_x=8888:mn_y=8888
  810winx=0:winy=0:sc=1:xsh=0:ysh=0:prev$="":trans=0:cyclic=0
  820ENDPROC
  830DEFPROCpoll
  840SYS&400C7,,b% TO reason%
  850CASE reason% OF
  860WHEN 0:IF demo AND TIME>50 THENPROCdemo
  870WHEN 1:IFpass=1 THENPROCredraw
  880WHEN 2:SYS&400C5,,b%:IF!b%=drawwin% THENPROCredraw
  890WHEN 3:SYS&400C6,,b%
  900WHEN 6:PROCmouse(b%!8,b%!16,b%!12)
  910WHEN 7:PROCdrop
  920WHEN 8:PROCkeypress(b%!0,b%!4,b%!24)
  930WHEN 9:PROCmenuselect
  940WHEN 17,18:IFb%!16=0 THENquit%=TRUE
  950ENDCASE
  960ENDPROC
  970DEFPROCkeypress(win%,icon%,key%)
  980IFkey%=13 THEN
  990IFwin%=control% THENPROCdecode_control(FNreadicon(control%,0),1)
 1000ELSE
 1010SYS&400DC,key%
 1020ENDIF
 1030ENDPROC
 1040DEFPROCmouse(button%,icon%,win%)
 1050IFwin%=-2 THEN
 1060IFbutton%=2 THENopen%=1:PROCshowmenu(imenu%,!b%-64,b%!4+200)
 1070IFbutton%<>2 THENPROCopenwin(control%):PROCnewcaret(control%,0)
 1080ENDIF
 1090IFwin%=control% AND icon%=1 THENPROCdecode_control(FNreadicon(control%,0),1)
 1100IFwin%=drawwin% AND button%=2 THENopen%=2:PROCshowmenu(mmenu%,b%!0-80,b%!4)
 1110IFwin%=mess% AND icon%=2 THEN
 1120PROCclosewin(mess%)
 1130IFfatal=0 AND error$>"" AND quiz%=0 THENPROCopenwin(drawwin%):pass=1
 1140ENDIF
 1150IFicon%=0 AND win%=saveas% THENPROCmessage("This is a demo version, see !Help file for details of full version")
 1160ENDPROC
 1170DEFPROCmenuselect
 1180IFopen%=1 THENaddr%=imenu%
 1190IFopen%=2 THENaddr%=mmenu%
 1200IFopen% THEN
 1210SYS&400D5,,addr%,b%,decode%
 1220CASE LEFT$($decode%,7) OF
 1230WHEN "Quit":quit%=TRUE
 1240WHEN "Demo on":demo=1
 1250WHEN "Demo of":demo=0
 1260ENDCASE
 1270ENDIF
 1280ENDPROC
 1290DATA Carbon demo,4
 1300DATA 0,info%,Info...
 1310DATA 0,0,Demo on
 1320DATA 0,0,Demo off
 1330DATA &80,-1,Quit
 1340DATA Carbon demo,2
 1350DATA 0,info%,Info...
 1360DATA &80,saveas%,Save as...

� !Carbon � Adam Granger
'lib$="decograpiconloadmenumiscwind"
� n=1 � �(lib$) � 4
()ț "<Carbon$Dir>."+�lib$,n,4)+"PROCs"
2�n
<�declare_vars
F�clear_vars
P+lib$="anglerroextrfngphalolensmetamult"
Z� n2=1 � �(lib$) � 4
d�load(�lib$,n2,4))
n�n2
xlib$=""
�	�init
�ȕ � quit%
�	�poll
��
�	�quit
�
��init
��b% 8000
��imenu% 200
��mmenu% 200
��decode% 20
�
�name% 11
�quiz%=0
�open%=0
quit%=�
app$="Carbon demo"
�fontarray
"ș&400C0,200,&4B534154,app$
,&� � �error(�$+" at line "+�(�/10))
6&ș&400D9,,"<Carbon$Dir>.Templates"
@info%=�window("info")
Jcontrol%=�window("control")
Tsaveas%=�window("saveas")
^drawwin%=�window("drawwin")
hmess%=�window("mess")
rș&400DA
|@iconbar%=�create_icon(-1,0,0,68,68,&3002,"!Carbondem",0,0,0)
��setupmenu(imenu%)
��setupmenu(mmenu%)
��
���declare_vars
�Cfont$="trinity.medium":wsize%=1000:hsize%=800:fhand%=0:fsize=12
�_np_len=�howbig("lens"):np_mul=�howbig("mult"):np_fns=�howbig("fngp"):np_hal=�howbig("halo")
�_np_met=�howbig("meta"):np_err=�howbig("erro"):np_ext=�howbig("extr"):np_dem=�howbig("demo")
��length$(np_len)
��multiple$(np_mul)
��fn$(np_fns,1)
��more$(10)
��fndetail$(np_fns,2)
��fnbond(np_fns,1)
�halogen$(np_hal,2)
�angles(3,4,4)
�errort$(np_err,1)
&�x(np_len)
0�y(np_len)
:�attr(np_fns)
D�metal$(np_met,1)
N!�piece$(12):perc=0.6:dist=100
X:gap=dist/6:gp=dist/8:num$="":lfs=0:np_bgs=25:np_num=15
b�nums(np_bgs,np_num)
l�details(np_bgs,1)
v�order$(np_bgs)
��orderpos(np_bgs)
��carbons$(np_len,4)
��bonds(np_len)
��fnposs(np_num)
��cs$(np_len)
�demo=0:�=0:n=500
�
�co% 16*n
�
�tc% 16*n
��jus 4*n
��tx$(n)
��
���clear_vars
�Knlines=0:ntext=0:error$="":fatal=0:fn=0:num$="":multbond=0:cis=0:poly=0
Dbenz=0:length=0:phenyl=0:ester=0:met=0:draw=0:errk$=�np_err,"0")
Gdetails()=0:nums()=0:carbons$()="":bonds()=1:fnposs()=0:order$()=""
!orderpos()=0:pass=0:cs$()="C"
 9x()=0:y()=0:mx_x=-8888:mx_y=-8888:mn_x=8888:mn_y=8888
*<winx=0:winy=0:sc=1:xsh=0:ysh=0:prev$="":trans=0:cyclic=0
4�
>
��poll
Hș&400C7,,b% � reason%
RȎ reason% �
\� 0:� demo � �>50 ��demo
f� 1:�pass=1 ��redraw
p+� 2:ș&400C5,,b%:�!b%=drawwin% ��redraw
z� 3:ș&400C6,,b%
� � 6:�mouse(b%!8,b%!16,b%!12)
�
� 7:�drop
�"� 8:�keypress(b%!0,b%!4,b%!24)
�� 9:�menuselect
�� 17,18:�b%!16=0 �quit%=�
��
��
���keypress(win%,icon%,key%)
��key%=13 �
�<�win%=control% ��decode_control(�readicon(control%,0),1)
��
�ș&400DC,key%
��
�
��mouse(button%,icon%,win%)
�win%=-2 �
$9�button%=2 �open%=1:�showmenu(imenu%,!b%-64,b%!4+200)
.9�button%<>2 ��openwin(control%):�newcaret(control%,0)
8�
BF�win%=control% � icon%=1 ��decode_control(�readicon(control%,0),1)
LF�win%=drawwin% � button%=2 �open%=2:�showmenu(mmenu%,b%!0-80,b%!4)
V�win%=mess% � icon%=2 �
`�closewin(mess%)
j=�fatal=0 � error$>"" � quiz%=0 ��openwin(drawwin%):pass=1
t�
~k�icon%=0 � win%=saveas% ��message("This is a demo version, see !Help file for details of full version")
��
���menuselect
��open%=1 �addr%=imenu%
��open%=2 �addr%=mmenu%
��open% �
�ș&400D5,,addr%,b%,decode%
�Ȏ �$decode%,7) �
�� "Quit":quit%=�
�� "Demo on":demo=1
�� "Demo of":demo=0
��
��
�

� Carbon demo,4
� 0,info%,Info...
� 0,0,Demo on
(� 0,0,Demo off
2� &80,-1,Quit
<� Carbon demo,2
F� 0,info%,Info...
P� &80,saveas%,Save as...
�
00000000  0d 00 0a 1c f4 20 21 43  61 72 62 6f 6e 20 a9 20  |..... !Carbon . |
00000010  41 64 61 6d 20 47 72 61  6e 67 65 72 0d 00 14 27  |Adam Granger...'|
00000020  6c 69 62 24 3d 22 64 65  63 6f 67 72 61 70 69 63  |lib$="decograpic|
00000030  6f 6e 6c 6f 61 64 6d 65  6e 75 6d 69 73 63 77 69  |onloadmenumiscwi|
00000040  6e 64 22 0d 00 1e 17 e3  20 6e 3d 31 20 b8 20 a9  |nd"..... n=1 . .|
00000050  28 6c 69 62 24 29 20 88  20 34 0d 00 28 29 c8 9b  |(lib$) . 4..()..|
00000060  20 22 3c 43 61 72 62 6f  6e 24 44 69 72 3e 2e 22  | "<Carbon$Dir>."|
00000070  2b c1 6c 69 62 24 2c 6e  2c 34 29 2b 22 50 52 4f  |+.lib$,n,4)+"PRO|
00000080  43 73 22 0d 00 32 06 ed  6e 0d 00 3c 11 f2 64 65  |Cs"..2..n..<..de|
00000090  63 6c 61 72 65 5f 76 61  72 73 0d 00 46 0f f2 63  |clare_vars..F..c|
000000a0  6c 65 61 72 5f 76 61 72  73 0d 00 50 2b 6c 69 62  |lear_vars..P+lib|
000000b0  24 3d 22 61 6e 67 6c 65  72 72 6f 65 78 74 72 66  |$="anglerroextrf|
000000c0  6e 67 70 68 61 6c 6f 6c  65 6e 73 6d 65 74 61 6d  |ngphalolensmetam|
000000d0  75 6c 74 22 0d 00 5a 18  e3 20 6e 32 3d 31 20 b8  |ult"..Z.. n2=1 .|
000000e0  20 a9 28 6c 69 62 24 29  20 88 20 34 0d 00 64 16  | .(lib$) . 4..d.|
000000f0  f2 6c 6f 61 64 28 c1 6c  69 62 24 2c 6e 32 2c 34  |.load(.lib$,n2,4|
00000100  29 29 0d 00 6e 07 ed 6e  32 0d 00 78 0b 6c 69 62  |))..n..n2..x.lib|
00000110  24 3d 22 22 0d 00 82 09  f2 69 6e 69 74 0d 00 8c  |$="".....init...|
00000120  0e c8 95 20 ac 20 71 75  69 74 25 0d 00 96 09 f2  |... . quit%.....|
00000130  70 6f 6c 6c 0d 00 a0 05  ce 0d 00 aa 09 f2 71 75  |poll..........qu|
00000140  69 74 0d 00 b4 0a dd f2  69 6e 69 74 0d 00 be 0c  |it......init....|
00000150  de 62 25 20 38 30 30 30  0d 00 c8 0f de 69 6d 65  |.b% 8000.....ime|
00000160  6e 75 25 20 32 30 30 0d  00 d2 0f de 6d 6d 65 6e  |nu% 200.....mmen|
00000170  75 25 20 32 30 30 0d 00  dc 0f de 64 65 63 6f 64  |u% 200.....decod|
00000180  65 25 20 32 30 0d 00 e6  0d de 6e 61 6d 65 25 20  |e% 20.....name% |
00000190  31 31 0d 00 f0 0b 71 75  69 7a 25 3d 30 0d 00 fa  |11....quiz%=0...|
000001a0  0b 6f 70 65 6e 25 3d 30  0d 01 04 0b 71 75 69 74  |.open%=0....quit|
000001b0  25 3d a3 0d 01 0e 16 61  70 70 24 3d 22 43 61 72  |%=.....app$="Car|
000001c0  62 6f 6e 20 64 65 6d 6f  22 0d 01 18 0e f2 66 6f  |bon demo".....fo|
000001d0  6e 74 61 72 72 61 79 0d  01 22 1f c8 99 26 34 30  |ntarray.."...&40|
000001e0  30 43 30 2c 32 30 30 2c  26 34 42 35 33 34 31 35  |0C0,200,&4B53415|
000001f0  34 2c 61 70 70 24 0d 01  2c 26 ee 20 85 20 f2 65  |4,app$..,&. . .e|
00000200  72 72 6f 72 28 f6 24 2b  22 20 61 74 20 6c 69 6e  |rror(.$+" at lin|
00000210  65 20 22 2b c3 28 9e 2f  31 30 29 29 0d 01 36 26  |e "+.(./10))..6&|
00000220  c8 99 26 34 30 30 44 39  2c 2c 22 3c 43 61 72 62  |..&400D9,,"<Carb|
00000230  6f 6e 24 44 69 72 3e 2e  54 65 6d 70 6c 61 74 65  |on$Dir>.Template|
00000240  73 22 0d 01 40 19 69 6e  66 6f 25 3d a4 77 69 6e  |s"..@.info%=.win|
00000250  64 6f 77 28 22 69 6e 66  6f 22 29 0d 01 4a 1f 63  |dow("info")..J.c|
00000260  6f 6e 74 72 6f 6c 25 3d  a4 77 69 6e 64 6f 77 28  |ontrol%=.window(|
00000270  22 63 6f 6e 74 72 6f 6c  22 29 0d 01 54 1d 73 61  |"control")..T.sa|
00000280  76 65 61 73 25 3d a4 77  69 6e 64 6f 77 28 22 73  |veas%=.window("s|
00000290  61 76 65 61 73 22 29 0d  01 5e 1f 64 72 61 77 77  |aveas")..^.draww|
000002a0  69 6e 25 3d a4 77 69 6e  64 6f 77 28 22 64 72 61  |in%=.window("dra|
000002b0  77 77 69 6e 22 29 0d 01  68 19 6d 65 73 73 25 3d  |wwin")..h.mess%=|
000002c0  a4 77 69 6e 64 6f 77 28  22 6d 65 73 73 22 29 0d  |.window("mess").|
000002d0  01 72 0c c8 99 26 34 30  30 44 41 0d 01 7c 40 69  |.r...&400DA..|@i|
000002e0  63 6f 6e 62 61 72 25 3d  a4 63 72 65 61 74 65 5f  |conbar%=.create_|
000002f0  69 63 6f 6e 28 2d 31 2c  30 2c 30 2c 36 38 2c 36  |icon(-1,0,0,68,6|
00000300  38 2c 26 33 30 30 32 2c  22 21 43 61 72 62 6f 6e  |8,&3002,"!Carbon|
00000310  64 65 6d 22 2c 30 2c 30  2c 30 29 0d 01 86 16 f2  |dem",0,0,0).....|
00000320  73 65 74 75 70 6d 65 6e  75 28 69 6d 65 6e 75 25  |setupmenu(imenu%|
00000330  29 0d 01 90 16 f2 73 65  74 75 70 6d 65 6e 75 28  |).....setupmenu(|
00000340  6d 6d 65 6e 75 25 29 0d  01 9a 05 e1 0d 01 a4 12  |mmenu%).........|
00000350  dd f2 64 65 63 6c 61 72  65 5f 76 61 72 73 0d 01  |..declare_vars..|
00000360  ae 43 66 6f 6e 74 24 3d  22 74 72 69 6e 69 74 79  |.Cfont$="trinity|
00000370  2e 6d 65 64 69 75 6d 22  3a 77 73 69 7a 65 25 3d  |.medium":wsize%=|
00000380  31 30 30 30 3a 68 73 69  7a 65 25 3d 38 30 30 3a  |1000:hsize%=800:|
00000390  66 68 61 6e 64 25 3d 30  3a 66 73 69 7a 65 3d 31  |fhand%=0:fsize=1|
000003a0  32 0d 01 b8 5f 6e 70 5f  6c 65 6e 3d a4 68 6f 77  |2..._np_len=.how|
000003b0  62 69 67 28 22 6c 65 6e  73 22 29 3a 6e 70 5f 6d  |big("lens"):np_m|
000003c0  75 6c 3d a4 68 6f 77 62  69 67 28 22 6d 75 6c 74  |ul=.howbig("mult|
000003d0  22 29 3a 6e 70 5f 66 6e  73 3d a4 68 6f 77 62 69  |"):np_fns=.howbi|
000003e0  67 28 22 66 6e 67 70 22  29 3a 6e 70 5f 68 61 6c  |g("fngp"):np_hal|
000003f0  3d a4 68 6f 77 62 69 67  28 22 68 61 6c 6f 22 29  |=.howbig("halo")|
00000400  0d 01 c2 5f 6e 70 5f 6d  65 74 3d a4 68 6f 77 62  |..._np_met=.howb|
00000410  69 67 28 22 6d 65 74 61  22 29 3a 6e 70 5f 65 72  |ig("meta"):np_er|
00000420  72 3d a4 68 6f 77 62 69  67 28 22 65 72 72 6f 22  |r=.howbig("erro"|
00000430  29 3a 6e 70 5f 65 78 74  3d a4 68 6f 77 62 69 67  |):np_ext=.howbig|
00000440  28 22 65 78 74 72 22 29  3a 6e 70 5f 64 65 6d 3d  |("extr"):np_dem=|
00000450  a4 68 6f 77 62 69 67 28  22 64 65 6d 6f 22 29 0d  |.howbig("demo").|
00000460  01 cc 14 de 6c 65 6e 67  74 68 24 28 6e 70 5f 6c  |....length$(np_l|
00000470  65 6e 29 0d 01 d6 16 de  6d 75 6c 74 69 70 6c 65  |en).....multiple|
00000480  24 28 6e 70 5f 6d 75 6c  29 0d 01 e0 12 de 66 6e  |$(np_mul).....fn|
00000490  24 28 6e 70 5f 66 6e 73  2c 31 29 0d 01 ea 0e de  |$(np_fns,1).....|
000004a0  6d 6f 72 65 24 28 31 30  29 0d 01 f4 18 de 66 6e  |more$(10).....fn|
000004b0  64 65 74 61 69 6c 24 28  6e 70 5f 66 6e 73 2c 32  |detail$(np_fns,2|
000004c0  29 0d 01 fe 15 de 66 6e  62 6f 6e 64 28 6e 70 5f  |).....fnbond(np_|
000004d0  66 6e 73 2c 31 29 0d 02  08 17 de 68 61 6c 6f 67  |fns,1).....halog|
000004e0  65 6e 24 28 6e 70 5f 68  61 6c 2c 32 29 0d 02 12  |en$(np_hal,2)...|
000004f0  12 de 61 6e 67 6c 65 73  28 33 2c 34 2c 34 29 0d  |..angles(3,4,4).|
00000500  02 1c 16 de 65 72 72 6f  72 74 24 28 6e 70 5f 65  |....errort$(np_e|
00000510  72 72 2c 31 29 0d 02 26  0e de 78 28 6e 70 5f 6c  |rr,1)..&..x(np_l|
00000520  65 6e 29 0d 02 30 0e de  79 28 6e 70 5f 6c 65 6e  |en)..0..y(np_len|
00000530  29 0d 02 3a 11 de 61 74  74 72 28 6e 70 5f 66 6e  |)..:..attr(np_fn|
00000540  73 29 0d 02 44 15 de 6d  65 74 61 6c 24 28 6e 70  |s)..D..metal$(np|
00000550  5f 6d 65 74 2c 31 29 0d  02 4e 21 de 70 69 65 63  |_met,1)..N!.piec|
00000560  65 24 28 31 32 29 3a 70  65 72 63 3d 30 2e 36 3a  |e$(12):perc=0.6:|
00000570  64 69 73 74 3d 31 30 30  0d 02 58 3a 67 61 70 3d  |dist=100..X:gap=|
00000580  64 69 73 74 2f 36 3a 67  70 3d 64 69 73 74 2f 38  |dist/6:gp=dist/8|
00000590  3a 6e 75 6d 24 3d 22 22  3a 6c 66 73 3d 30 3a 6e  |:num$="":lfs=0:n|
000005a0  70 5f 62 67 73 3d 32 35  3a 6e 70 5f 6e 75 6d 3d  |p_bgs=25:np_num=|
000005b0  31 35 0d 02 62 18 de 6e  75 6d 73 28 6e 70 5f 62  |15..b..nums(np_b|
000005c0  67 73 2c 6e 70 5f 6e 75  6d 29 0d 02 6c 16 de 64  |gs,np_num)..l..d|
000005d0  65 74 61 69 6c 73 28 6e  70 5f 62 67 73 2c 31 29  |etails(np_bgs,1)|
000005e0  0d 02 76 13 de 6f 72 64  65 72 24 28 6e 70 5f 62  |..v..order$(np_b|
000005f0  67 73 29 0d 02 80 15 de  6f 72 64 65 72 70 6f 73  |gs).....orderpos|
00000600  28 6e 70 5f 62 67 73 29  0d 02 8a 17 de 63 61 72  |(np_bgs).....car|
00000610  62 6f 6e 73 24 28 6e 70  5f 6c 65 6e 2c 34 29 0d  |bons$(np_len,4).|
00000620  02 94 12 de 62 6f 6e 64  73 28 6e 70 5f 6c 65 6e  |....bonds(np_len|
00000630  29 0d 02 9e 13 de 66 6e  70 6f 73 73 28 6e 70 5f  |).....fnposs(np_|
00000640  6e 75 6d 29 0d 02 a8 10  de 63 73 24 28 6e 70 5f  |num).....cs$(np_|
00000650  6c 65 6e 29 0d 02 b2 14  64 65 6d 6f 3d 30 3a d1  |len)....demo=0:.|
00000660  3d 30 3a 6e 3d 35 30 30  0d 02 bc 0d de 63 6f 25  |=0:n=500.....co%|
00000670  20 31 36 2a 6e 0d 02 c6  0d de 74 63 25 20 31 36  | 16*n.....tc% 16|
00000680  2a 6e 0d 02 d0 0c de 6a  75 73 20 34 2a 6e 0d 02  |*n.....jus 4*n..|
00000690  da 0b de 74 78 24 28 6e  29 0d 02 e4 05 e1 0d 02  |...tx$(n).......|
000006a0  ee 10 dd f2 63 6c 65 61  72 5f 76 61 72 73 0d 02  |....clear_vars..|
000006b0  f8 4b 6e 6c 69 6e 65 73  3d 30 3a 6e 74 65 78 74  |.Knlines=0:ntext|
000006c0  3d 30 3a 65 72 72 6f 72  24 3d 22 22 3a 66 61 74  |=0:error$="":fat|
000006d0  61 6c 3d 30 3a 66 6e 3d  30 3a 6e 75 6d 24 3d 22  |al=0:fn=0:num$="|
000006e0  22 3a 6d 75 6c 74 62 6f  6e 64 3d 30 3a 63 69 73  |":multbond=0:cis|
000006f0  3d 30 3a 70 6f 6c 79 3d  30 0d 03 02 44 62 65 6e  |=0:poly=0...Dben|
00000700  7a 3d 30 3a 6c 65 6e 67  74 68 3d 30 3a 70 68 65  |z=0:length=0:phe|
00000710  6e 79 6c 3d 30 3a 65 73  74 65 72 3d 30 3a 6d 65  |nyl=0:ester=0:me|
00000720  74 3d 30 3a 64 72 61 77  3d 30 3a 65 72 72 6b 24  |t=0:draw=0:errk$|
00000730  3d c4 6e 70 5f 65 72 72  2c 22 30 22 29 0d 03 0c  |=.np_err,"0")...|
00000740  47 64 65 74 61 69 6c 73  28 29 3d 30 3a 6e 75 6d  |Gdetails()=0:num|
00000750  73 28 29 3d 30 3a 63 61  72 62 6f 6e 73 24 28 29  |s()=0:carbons$()|
00000760  3d 22 22 3a 62 6f 6e 64  73 28 29 3d 31 3a 66 6e  |="":bonds()=1:fn|
00000770  70 6f 73 73 28 29 3d 30  3a 6f 72 64 65 72 24 28  |poss()=0:order$(|
00000780  29 3d 22 22 0d 03 16 21  6f 72 64 65 72 70 6f 73  |)=""...!orderpos|
00000790  28 29 3d 30 3a 70 61 73  73 3d 30 3a 63 73 24 28  |()=0:pass=0:cs$(|
000007a0  29 3d 22 43 22 0d 03 20  39 78 28 29 3d 30 3a 79  |)="C".. 9x()=0:y|
000007b0  28 29 3d 30 3a 6d 78 5f  78 3d 2d 38 38 38 38 3a  |()=0:mx_x=-8888:|
000007c0  6d 78 5f 79 3d 2d 38 38  38 38 3a 6d 6e 5f 78 3d  |mx_y=-8888:mn_x=|
000007d0  38 38 38 38 3a 6d 6e 5f  79 3d 38 38 38 38 0d 03  |8888:mn_y=8888..|
000007e0  2a 3c 77 69 6e 78 3d 30  3a 77 69 6e 79 3d 30 3a  |*<winx=0:winy=0:|
000007f0  73 63 3d 31 3a 78 73 68  3d 30 3a 79 73 68 3d 30  |sc=1:xsh=0:ysh=0|
00000800  3a 70 72 65 76 24 3d 22  22 3a 74 72 61 6e 73 3d  |:prev$="":trans=|
00000810  30 3a 63 79 63 6c 69 63  3d 30 0d 03 34 05 e1 0d  |0:cyclic=0..4...|
00000820  03 3e 0a dd f2 70 6f 6c  6c 0d 03 48 1a c8 99 26  |.>...poll..H...&|
00000830  34 30 30 43 37 2c 2c 62  25 20 b8 20 72 65 61 73  |400C7,,b% . reas|
00000840  6f 6e 25 0d 03 52 10 c8  8e 20 72 65 61 73 6f 6e  |on%..R... reason|
00000850  25 20 ca 0d 03 5c 1c c9  20 30 3a e7 20 64 65 6d  |% ...\.. 0:. dem|
00000860  6f 20 80 20 91 3e 35 30  20 8c f2 64 65 6d 6f 0d  |o . .>50 ..demo.|
00000870  03 66 18 c9 20 31 3a e7  70 61 73 73 3d 31 20 8c  |.f.. 1:.pass=1 .|
00000880  f2 72 65 64 72 61 77 0d  03 70 2b c9 20 32 3a c8  |.redraw..p+. 2:.|
00000890  99 26 34 30 30 43 35 2c  2c 62 25 3a e7 21 62 25  |.&400C5,,b%:.!b%|
000008a0  3d 64 72 61 77 77 69 6e  25 20 8c f2 72 65 64 72  |=drawwin% ..redr|
000008b0  61 77 0d 03 7a 14 c9 20  33 3a c8 99 26 34 30 30  |aw..z.. 3:..&400|
000008c0  43 36 2c 2c 62 25 0d 03  84 20 c9 20 36 3a f2 6d  |C6,,b%... . 6:.m|
000008d0  6f 75 73 65 28 62 25 21  38 2c 62 25 21 31 36 2c  |ouse(b%!8,b%!16,|
000008e0  62 25 21 31 32 29 0d 03  8e 0d c9 20 37 3a f2 64  |b%!12)..... 7:.d|
000008f0  72 6f 70 0d 03 98 22 c9  20 38 3a f2 6b 65 79 70  |rop...". 8:.keyp|
00000900  72 65 73 73 28 62 25 21  30 2c 62 25 21 34 2c 62  |ress(b%!0,b%!4,b|
00000910  25 21 32 34 29 0d 03 a2  13 c9 20 39 3a f2 6d 65  |%!24)..... 9:.me|
00000920  6e 75 73 65 6c 65 63 74  0d 03 ac 1d c9 20 31 37  |nuselect..... 17|
00000930  2c 31 38 3a e7 62 25 21  31 36 3d 30 20 8c 71 75  |,18:.b%!16=0 .qu|
00000940  69 74 25 3d b9 0d 03 b6  05 cb 0d 03 c0 05 e1 0d  |it%=............|
00000950  03 ca 1f dd f2 6b 65 79  70 72 65 73 73 28 77 69  |.....keypress(wi|
00000960  6e 25 2c 69 63 6f 6e 25  2c 6b 65 79 25 29 0d 03  |n%,icon%,key%)..|
00000970  d4 0e e7 6b 65 79 25 3d  31 33 20 8c 0d 03 de 3c  |...key%=13 ....<|
00000980  e7 77 69 6e 25 3d 63 6f  6e 74 72 6f 6c 25 20 8c  |.win%=control% .|
00000990  f2 64 65 63 6f 64 65 5f  63 6f 6e 74 72 6f 6c 28  |.decode_control(|
000009a0  a4 72 65 61 64 69 63 6f  6e 28 63 6f 6e 74 72 6f  |.readicon(contro|
000009b0  6c 25 2c 30 29 2c 31 29  0d 03 e8 05 cc 0d 03 f2  |l%,0),1)........|
000009c0  11 c8 99 26 34 30 30 44  43 2c 6b 65 79 25 0d 03  |...&400DC,key%..|
000009d0  fc 05 cd 0d 04 06 05 e1  0d 04 10 1f dd f2 6d 6f  |..............mo|
000009e0  75 73 65 28 62 75 74 74  6f 6e 25 2c 69 63 6f 6e  |use(button%,icon|
000009f0  25 2c 77 69 6e 25 29 0d  04 1a 0e e7 77 69 6e 25  |%,win%).....win%|
00000a00  3d 2d 32 20 8c 0d 04 24  39 e7 62 75 74 74 6f 6e  |=-2 ...$9.button|
00000a10  25 3d 32 20 8c 6f 70 65  6e 25 3d 31 3a f2 73 68  |%=2 .open%=1:.sh|
00000a20  6f 77 6d 65 6e 75 28 69  6d 65 6e 75 25 2c 21 62  |owmenu(imenu%,!b|
00000a30  25 2d 36 34 2c 62 25 21  34 2b 32 30 30 29 0d 04  |%-64,b%!4+200)..|
00000a40  2e 39 e7 62 75 74 74 6f  6e 25 3c 3e 32 20 8c f2  |.9.button%<>2 ..|
00000a50  6f 70 65 6e 77 69 6e 28  63 6f 6e 74 72 6f 6c 25  |openwin(control%|
00000a60  29 3a f2 6e 65 77 63 61  72 65 74 28 63 6f 6e 74  |):.newcaret(cont|
00000a70  72 6f 6c 25 2c 30 29 0d  04 38 05 cd 0d 04 42 46  |rol%,0)..8....BF|
00000a80  e7 77 69 6e 25 3d 63 6f  6e 74 72 6f 6c 25 20 80  |.win%=control% .|
00000a90  20 69 63 6f 6e 25 3d 31  20 8c f2 64 65 63 6f 64  | icon%=1 ..decod|
00000aa0  65 5f 63 6f 6e 74 72 6f  6c 28 a4 72 65 61 64 69  |e_control(.readi|
00000ab0  63 6f 6e 28 63 6f 6e 74  72 6f 6c 25 2c 30 29 2c  |con(control%,0),|
00000ac0  31 29 0d 04 4c 46 e7 77  69 6e 25 3d 64 72 61 77  |1)..LF.win%=draw|
00000ad0  77 69 6e 25 20 80 20 62  75 74 74 6f 6e 25 3d 32  |win% . button%=2|
00000ae0  20 8c 6f 70 65 6e 25 3d  32 3a f2 73 68 6f 77 6d  | .open%=2:.showm|
00000af0  65 6e 75 28 6d 6d 65 6e  75 25 2c 62 25 21 30 2d  |enu(mmenu%,b%!0-|
00000b00  38 30 2c 62 25 21 34 29  0d 04 56 1b e7 77 69 6e  |80,b%!4)..V..win|
00000b10  25 3d 6d 65 73 73 25 20  80 20 69 63 6f 6e 25 3d  |%=mess% . icon%=|
00000b20  32 20 8c 0d 04 60 14 f2  63 6c 6f 73 65 77 69 6e  |2 ...`..closewin|
00000b30  28 6d 65 73 73 25 29 0d  04 6a 3d e7 66 61 74 61  |(mess%)..j=.fata|
00000b40  6c 3d 30 20 80 20 65 72  72 6f 72 24 3e 22 22 20  |l=0 . error$>"" |
00000b50  80 20 71 75 69 7a 25 3d  30 20 8c f2 6f 70 65 6e  |. quiz%=0 ..open|
00000b60  77 69 6e 28 64 72 61 77  77 69 6e 25 29 3a 70 61  |win(drawwin%):pa|
00000b70  73 73 3d 31 0d 04 74 05  cd 0d 04 7e 6b e7 69 63  |ss=1..t....~k.ic|
00000b80  6f 6e 25 3d 30 20 80 20  77 69 6e 25 3d 73 61 76  |on%=0 . win%=sav|
00000b90  65 61 73 25 20 8c f2 6d  65 73 73 61 67 65 28 22  |eas% ..message("|
00000ba0  54 68 69 73 20 69 73 20  61 20 64 65 6d 6f 20 76  |This is a demo v|
00000bb0  65 72 73 69 6f 6e 2c 20  73 65 65 20 21 48 65 6c  |ersion, see !Hel|
00000bc0  70 20 66 69 6c 65 20 66  6f 72 20 64 65 74 61 69  |p file for detai|
00000bd0  6c 73 20 6f 66 20 66 75  6c 6c 20 76 65 72 73 69  |ls of full versi|
00000be0  6f 6e 22 29 0d 04 88 05  e1 0d 04 92 10 dd f2 6d  |on")...........m|
00000bf0  65 6e 75 73 65 6c 65 63  74 0d 04 9c 1a e7 6f 70  |enuselect.....op|
00000c00  65 6e 25 3d 31 20 8c 61  64 64 72 25 3d 69 6d 65  |en%=1 .addr%=ime|
00000c10  6e 75 25 0d 04 a6 1a e7  6f 70 65 6e 25 3d 32 20  |nu%.....open%=2 |
00000c20  8c 61 64 64 72 25 3d 6d  6d 65 6e 75 25 0d 04 b0  |.addr%=mmenu%...|
00000c30  0c e7 6f 70 65 6e 25 20  8c 0d 04 ba 1e c8 99 26  |..open% .......&|
00000c40  34 30 30 44 35 2c 2c 61  64 64 72 25 2c 62 25 2c  |400D5,,addr%,b%,|
00000c50  64 65 63 6f 64 65 25 0d  04 c4 15 c8 8e 20 c0 24  |decode%...... .$|
00000c60  64 65 63 6f 64 65 25 2c  37 29 20 ca 0d 04 ce 14  |decode%,7) .....|
00000c70  c9 20 22 51 75 69 74 22  3a 71 75 69 74 25 3d b9  |. "Quit":quit%=.|
00000c80  0d 04 d8 16 c9 20 22 44  65 6d 6f 20 6f 6e 22 3a  |..... "Demo on":|
00000c90  64 65 6d 6f 3d 31 0d 04  e2 16 c9 20 22 44 65 6d  |demo=1..... "Dem|
00000ca0  6f 20 6f 66 22 3a 64 65  6d 6f 3d 30 0d 04 ec 05  |o of":demo=0....|
00000cb0  cb 0d 04 f6 05 cd 0d 05  00 05 e1 0d 05 0a 13 dc  |................|
00000cc0  20 43 61 72 62 6f 6e 20  64 65 6d 6f 2c 34 0d 05  | Carbon demo,4..|
00000cd0  14 15 dc 20 30 2c 69 6e  66 6f 25 2c 49 6e 66 6f  |... 0,info%,Info|
00000ce0  2e 2e 2e 0d 05 1e 11 dc  20 30 2c 30 2c 44 65 6d  |........ 0,0,Dem|
00000cf0  6f 20 6f 6e 0d 05 28 12  dc 20 30 2c 30 2c 44 65  |o on..(.. 0,0,De|
00000d00  6d 6f 20 6f 66 66 0d 05  32 11 dc 20 26 38 30 2c  |mo off..2.. &80,|
00000d10  2d 31 2c 51 75 69 74 0d  05 3c 13 dc 20 43 61 72  |-1,Quit..<.. Car|
00000d20  62 6f 6e 20 64 65 6d 6f  2c 32 0d 05 46 15 dc 20  |bon demo,2..F.. |
00000d30  30 2c 69 6e 66 6f 25 2c  49 6e 66 6f 2e 2e 2e 0d  |0,info%,Info....|
00000d40  05 50 1c dc 20 26 38 30  2c 73 61 76 65 61 73 25  |.P.. &80,saveas%|
00000d50  2c 53 61 76 65 20 61 73  2e 2e 2e 0d ff           |,Save as.....|
00000d5d