home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / education / a / easyknit / KnitConv / !KnitConv / !RunImage (.txt) < prev    next >
Encoding:
RISC OS BBC BASIC V Source  |  1997-01-23  |  45.1 KB  |  2,054 lines

  1.  !RunImage for !KnitConv
  2.  A&J Muir 1997
  3. ,version$=     "V1.05c 24th October 1996"
  4.  &000406C2:
  5. $+" at line ";
  6.  &000406C2:
  7.  exit%=
  8. &000400DD
  9.  reason%
  10.  titleopen%=
  11.  &000400E1,mask%,block%,tittime% 
  12.  reason%
  13.  &000400C7,mask%,block% 
  14.  reason%
  15.  reason% 
  16.  &000400C6,,block%
  17.  17,18:
  18.  &00000008,6,block%+44
  19. ,255,"Data transfer failed: Receiver died"
  20.  &000406C0
  21. ilist%=2
  22. proclist%=3
  23. jaclist%=3
  24. sprlist%=6
  25.  block% 4500, imenu% 28+ilist%*24, processmenu% 28+proclist%*24, jacmenu% 28+jaclist%*24, spritemenu% 28+sprlist%*24
  26. menuindsize%=200
  27.  menuind% menuindsize%: $menuind%="":menuindfree%=menuind%+12
  28.  carb% 24
  29.  name% 12, transform% 32, pal16% 128, wimppal% 68
  30.  opt$(3), jac$(3), res$(3), col$(3)
  31. 2E!block%=2: block%!4=3: block%!8=9: block%!12=10: block%!16=&400C0
  32. 31block%!20=&400C1: block%!24=&502: block%!28=0
  33. &000400C0,310,&4B534154,"KnitConv",block%
  34.  &000406C2:
  35. state_file$="Result"
  36. sprite_file$="Sprite"
  37. exit%=
  38. wimp_setistate%=&400CD
  39. ct_setgcol%=&40743
  40. wimp_setcol%=&400E6
  41. opt%=-1
  42. textdispvar%=0
  43. jactype%=0
  44. restype%=0
  45. coltype%=2
  46. coltable%=0
  47. nametable%=0
  48. paltable%=0
  49. sourcespr%=0
  50. draw%=0
  51. colorder%=0
  52. scrarea%=0
  53. transtable%=0
  54. symbstore%=0
  55. symbpoint%=0
  56. symbsize%=0
  57. descinfobuff%=0
  58. descbuff%=0
  59. extradescinfobuff%=0
  60. extradescbuff%=0
  61. edmul%=1
  62. eddiv%=1
  63. yarncol%=-1
  64. mainopen%=
  65. titleopen%=
  66. colpicopen%=
  67. helpon%=
  68. bertyfile%=
  69. infobuff%=0
  70. helpbuff%=0
  71. mask%=&1830
  72.  &00000042 
  73.  tittime%
  74. tittime%+=600
  75. opt$(0)="Remove picture."
  76. opt$(1)="Make sprite"
  77. opt$(2)="Double Jacquard, "
  78. jac$(0)="Standard type."
  79. jac$(1)="Elongated type."
  80. jac$(2)="Jigsaw type."
  81. res$(0)=", low res"
  82. res$(1)=", high res"
  83. res$(2)=", incl picture."
  84. col$(2)=", 16 cols"
  85. col$(3)=", 256 cols"
  86. appsize%=
  87. -&8000
  88. heap%=0
  89.  &00000051 
  90.  page%
  91. k(-1,5)<>
  92. k(-1,4) 
  93. l;toolspr%=
  94. j("<KnitConv$Dir>.Resources.Sprites.Buttons")
  95. m=titlespr%=
  96. j("<KnitConv$Dir>.Resources.Sprites.TitleSpr")
  97. o=toolspr%=
  98. j("<KnitConv$Dir>.Resources.Sprites.Buttons22")
  99. p?titlespr%=
  100. j("<KnitConv$Dir>.Resources.Sprites.TitleSpr22")
  101.  &000400D9,,"<KnitConv$Dir>.Resources.Templates"
  102. indsize%=0: i%=0
  103. $name%="*"
  104.  &000400DB,,0,,,-1,name%,i% 
  105.  ,,size%,,,,i%
  106. indsize%+=size%
  107.  i%=0
  108.  windowind% indsize%
  109. info%=
  110. i("Info",0)
  111. main%=
  112. i("Main",toolspr%)
  113. report%=
  114. i("Report",0)
  115. zoom%=
  116. i("Zoom",0)
  117. #titlewin%=
  118. i("Title",titlespr%)
  119. colpic%=
  120. i("ColPic",0)
  121. #colpane%=
  122. i("ColPane",toolspr%)
  123. $infoversion%=version$
  124. ab(titlewin%)
  125. +in%=
  126. ("<KnitConv$Dir>.Resources.Pal16")
  127.  &0000000C,4,in%,pal16%,128
  128. ob(imenu%,1)
  129. ob(processmenu%,2)
  130. ob(jacmenu%,3)
  131. ob(spritemenu%,4)
  132. 8$option%="Please choose a conversion process  > > >"
  133. mb(main%,4,0,0)
  134. $titleversion%=version$
  135. $zoommul%="1"
  136. $zoomdiv%="1"
  137. mb(main%,1,1<<22,1<<22)
  138. mb(main%,2,3<<24,15<<24)
  139. mb(main%,3,1<<22,1<<22)
  140. mb(main%,7,1<<24,15<<24)
  141. tb(1)
  142. block%!0=-1
  143. block%!4=0:block%!8=0
  144. block%!12=68:block%!16=68
  145. block%!20=&301A
  146. !$(block%+24)="!KnitConv"+
  147. &000400C2,,block%
  148.  &000406C1
  149.  key%,icon%,whan%,processed%
  150. whan%=block%!0
  151. icon%=block%!4
  152. key%=block%!24
  153. processed%=
  154.  whan% 
  155.  zoom%
  156.  icon% 
  157.  key% 
  158.  &18E,&18A,&18F,&19A,13
  159. processed%=
  160. icon%=1
  161. "block%!0=zoom%: block%!4=icon%
  162.  &000400CE,,block%
  163. p(zoom%,icon%,
  164. $(block%!28))
  165.  key%<>&1CC 
  166.  processed%=
  167.  key% 
  168.  &18E,&18A,&18F,&19A
  169. processed%=
  170. icon%=0
  171. "block%!0=zoom%: block%!4=icon%
  172.  &000400CE,,block%
  173. p(zoom%,icon%,
  174. $(block%!28))
  175.  &000400D4,0,-1
  176. processed%=
  177.  key%<>&1CC 
  178.  processed%=
  179.  processed% 
  180.  &000400DC,key%
  181.  button%,window%,icon%,mx%,my%,x%,y%,r%
  182. mx%=block%!0
  183. my%=block%!4
  184. button%=block%!8
  185. window%=block%!12
  186. icon%=block%!16
  187.  titleopen%=
  188.  button%=2 
  189.  window% 
  190.  -2: 
  191. rb(imenu%,block%!0-64,140+1*44)
  192.  main%:
  193.  icon% 
  194. rb(processmenu%,mx%,my%)
  195.  window% 
  196. ab(main%)
  197.  colpane%
  198.  yarncol%<>-1 
  199. mb(colpane%,yarncol%*3+1,0<<21,1<<21)
  200.  icon%
  201. yarncol%=icon%/3
  202. yarncol%=(icon%-2)/3
  203. mb(colpane%,yarncol%*3+1,1<<21,1<<21)
  204.  report%
  205. r(report%)
  206. p(carb%,carb%!4,carb%!20)
  207. z(w%,h%)
  208.  0,0,w%,h%
  209.  colpic%
  210.  icon% 
  211.  yarncol%=-1 
  212. gb("Choose a background colour")
  213. r(colpic%)
  214. mb(main%,1,0<<22,1<<22)
  215. mb(main%,2,7<<24,15<<24)
  216. mb(main%,3,0<<22,1<<22)
  217. tb(3)
  218.  &000400D2,main%,1,-1,-1,-1,
  219. $(savepath%)
  220. r(colpic%)
  221.  main%
  222.  icon% 
  223.  (button% 
  224.  &50)>0 
  225.  button%=&10 
  226.  adjust%=
  227.  adjust%=
  228. $savespr%,8),icon%,main%)
  229.  button%=4 
  230. rb(processmenu%,mx%+32,my%-44)
  231.  helpon%=
  232. &00041500,,"<KnitConv$Dir>.Resources.Messages" 
  233.  ,,len%
  234. infobuff%=
  235. a(16)
  236. helpbuff%=
  237. a(len%)
  238. &00041501,infobuff%,"<KnitConv$Dir>.Resources.Messages",helpbuff%
  239. helpon%=
  240.  &00042681,x%,block%,4500 
  241. task%=!(block%+4+x%*16)
  242.     r%=-1
  243. :r%+=1:
  244.  task%?r%<32
  245. task%?r%=13
  246.     x%+=1
  247.  (block%+4+x%*16>y%) 
  248.  $task%="Help"
  249.  $task%<>"Help" 
  250.  *Filer_Run Resources:$.Apps.!Help
  251.  &00041504,infobuff%
  252. infobuff%=
  253. d(infobuff%)
  254. helpbuff%=
  255. d(helpbuff%)
  256. helpon%=
  257.  zoom%
  258.  icon% 
  259. ea(zoom%,0,999,1,button%,1)
  260. ea(zoom%,0,999,1,button%,-1)
  261. ea(zoom%,1,999,1,button%,1)
  262. ea(zoom%,1,999,1,button%,-1)
  263.  sel%,subsel%,button%,mx%,my%
  264. +"sel%=!block%: subsel%=block%!4
  265. &000400CF,,block%
  266. mx%=!block%: my%=block%!4
  267. button%=block%!8
  268. xa(menuopen%)
  269.  menuopen% 
  270.  imenu%
  271.  sel% 
  272. rb(info%,mx%,my%)
  273.  processmenu%
  274.  opt%<>-1 
  275. yb(processmenu%,opt%)
  276. opt%=sel%
  277. ub(processmenu%,opt%)
  278. $option%=opt$(opt%)
  279. mb(main%,4,0,0)
  280. mb(main%,7,7<<24,15<<24)
  281. tb(2)
  282.  sel% 
  283. pb(1)
  284. h(spritemenu%,0)=0 
  285. h(spritemenu%,1)=0 
  286. ub(spritemenu%,0)
  287. h(spritemenu%,2)=0 
  288. h(spritemenu%,3)=0 
  289. ub(spritemenu%,2)
  290.  subsel% 
  291. yb(spritemenu%,0)
  292. yb(spritemenu%,1)
  293. restype%=subsel%
  294. ub(spritemenu%,restype%)
  295. yb(spritemenu%,2)
  296. yb(spritemenu%,3)
  297. coltype%=subsel%
  298. ub(spritemenu%,coltype%)
  299. xb(spritemenu%,subsel%)
  300. $option%+=res$(restype%)
  301. $option%+=col$(coltype%)
  302. h(spritemenu%,4)=
  303.  $option%+=res$(2)
  304. mb(main%,4,0,0)
  305. pb(2)
  306.  jactype%<>0 
  307. yb(jacmenu%,jactype%) : jactype%=0
  308. h(jacmenu%,0)=0 
  309. ub(jacmenu%,0)
  310.  subsel%<>-1 
  311. yb(jacmenu%,jactype%)
  312. jactype%=subsel%
  313. ub(jacmenu%,jactype%)
  314. $option%+=jac$(jactype%)
  315. mb(main%,4,0,0)
  316. pb(1)
  317.  button%=1 
  318. rb(menuopen%,0,0)
  319.  more%,wx%,wy%,w%,h%,xx%,row%,stitch%,rh%,sw%
  320.  minx%,miny%,maxx%,maxy%,sminx%,smaxx%,sminy%,smaxy%,min%,max%,x%,y%
  321.  xc%,yc%,r%,g%,b%,rgb%,col%,column%
  322.  minrow%,maxrow%,minsqr%,maxsqr%,min%,max%,i%,xl%,xh%,yl%,yh%
  323.  scalex,scaley,scl%,num%,ymove%,xmove%
  324.  &000400C8,,block% 
  325.  more%
  326.  more%
  327.  block%!0 
  328.  colpane%
  329. wx%=block%!4-block%!20
  330. wy%=block%!16-block%!24
  331. minx%=block%!28-wx%
  332. maxx%=block%!36-wx%
  333. miny%=block%!32-wy%+22
  334. maxy%=block%!40-wy%+22
  335. min%=miny%/76
  336. max%=maxy%/76
  337. max%+=1
  338.  max%>0 
  339.  max%=0
  340.  min%<-(maxcol%) 
  341.  min%=-(maxcol%)
  342.  minx%<90 
  343.  i%=min% 
  344.  max%
  345.  ct_setgcol%,paltable%!(-i%*4)
  346.  22+wx%,(i%-1)*76-24+10+wy%,66,60
  347.  &000400CA,,block% 
  348.  more%
  349. tb(var%)
  350.  var% 
  351. $disptext%=""
  352. H$disptext%="Please choose a conversion process from the pop-up menu"
  353. :$disptext%="Drag in the file you wish to convert ...."
  354. P$disptext%="Name the new file then drag its icon to a directory window ...."
  355. 6$disptext%="Processing the file .... Please wait."
  356. textdispvar%=var%
  357. mb(main%,8,0,0)
  358. exit%=
  359.  han%,len%,counter%,icon%
  360.  block%!16 
  361.  block%!40 
  362.  &0F0
  363.  opt% =-1 
  364. gb("Please choose a process before loading a file.")
  365. counter%=block%+44
  366.  ?counter%<>0
  367. counter%+=1:
  368. ?counter%=13
  369. na($(block%+44))
  370. h(jacmenu%,2)=
  371.  manner%=2 
  372. gb("Grid only or Grid and picture type file required")
  373. yarncol%=0
  374. found%=
  375.  $(nametable%+yarncol%*13)="Background" 
  376.  found%=
  377.  $(nametable%+yarncol%*13)="background" 
  378.  found%=
  379.  $(nametable%+yarncol%*13)="BackGround" 
  380.  found%=
  381.  $(nametable%+yarncol%*13)="Bkgnd" 
  382.  found%=
  383.  $(nametable%+yarncol%*13)="BkGnd" 
  384.  found%=
  385.  $(nametable%+yarncol%*13)="bkgnd" 
  386.  found%=
  387.  $(nametable%+yarncol%*13)="background" 
  388.  found%=
  389.  $(nametable%+yarncol%*13)="BackGround" 
  390.  found%=
  391.  $(nametable%+yarncol%*13)="Main" 
  392.  found%=
  393.  $(nametable%+yarncol%*13)="main" 
  394.  found%=
  395. yarncol%+=1
  396.  yarncol%>maxcol% 
  397.  found%=
  398.  found%=
  399. yarncol%-=1
  400. mb(main%,1,0<<22,1<<22)
  401. mb(main%,2,7<<24,15<<24)
  402. mb(main%,3,0<<22,1<<22)
  403. tb(3)
  404.  &000400D2,main%,1,-1,-1,-1,
  405. $(savepath%)
  406. yarncol%=-1 : 
  407. bb(colpic%)
  408. mb(main%,1,0<<22,1<<22)
  409. mb(main%,2,7<<24,15<<24)
  410. mb(main%,3,0<<22,1<<22)
  411. tb(3)
  412.  &000400D2,main%,1,-1,-1,-1,
  413. $(savepath%)
  414. han%=block%!20
  415.  &00000023,"KnitConv$Dir",block%+512,256,0,0 
  416.  ,,len%
  417. block%?(512+len%)=13
  418. #han%,"Run "+$(block%+512)
  419.  9,&400C1
  420.  &502
  421.  helpon%=
  422. block%!40=block%!32
  423. han%=block%!32
  424. icon%=block%!36
  425. da(han%,icon%)
  426. na(file$)
  427.  &000406C0
  428. (file$)
  429. #in%,tension_sq_width$,tension_sq_height$
  430. #in%,tension_sq_stitches$,tension_sq_rows$
  431. #in%,tdset$
  432. #in%,conv_rows$,ans_conv_rows$
  433. #in%,conv_stitches$,ans_conv_stitches$
  434. #in%,manner%
  435. #in%,unitmenu%
  436. #in%,grows$,gstitches$
  437. #in%,gheight$,gwidth$
  438. #in%,textdispvar%
  439. #in%,main37%
  440. #in%,main0%
  441. #in%,mastergrey%
  442. #in%,patstore1$,patstore2$
  443. #in%,patstore3$,patstore4$
  444. #in%,patstore5%
  445. #in%,sclmul$,scldiv$
  446. #in%,coltableon%,coltablesize%
  447.  coltableon%=1 
  448. !coltable%=
  449. a(coltablesize%+8)
  450.  &0000000C,4,in%,coltable%,coltablesize%
  451. coltable%=0
  452. coltablesize%=0
  453. #in%,nametableon%, nametablesize%
  454.  nametableon%=1 
  455. !nametable%=
  456. a(nametablesize%)
  457.  &0000000C,4,in%,nametable%,nametablesize%
  458. nametable%=0
  459. nametablesize%=0
  460. #in%,paltableon%, paltablesize%
  461.  paltableon%=1 
  462. paltable%=
  463. a(paltablesize%)
  464.  &0000000C,4,in%,paltable%,paltablesize%
  465. paltable%=0
  466. paltablesize%=0
  467. #in%,pictype$
  468.  pictype$ 
  469.  "sprite"
  470. #in%,spritelen%,spritename$,spriteon%
  471. sourcespr%=
  472. a(spritelen%)
  473.  &0000000C,4,in%,sourcespr%,spritelen%
  474.  &0000002E,&10D,sourcespr%,block%,&100,1 
  475.  ,,,name_len%
  476. block%?name_len%=13
  477. sprite$=$block%
  478. sarealen%=!sourcespr%
  479.  &0000002E,&118,sourcespr%,sprite$ 
  480.  ,,sourceaddr%
  481.  &0000002E,&228,sourcespr%,sourceaddr% 
  482.  ,,,spx%,spy%,,mode%
  483. k(mode%,4)
  484. k(mode%,5)
  485. spx%=spx%<<xe%
  486. spy%=spy%<<ye%
  487.  "draw"
  488. #in%,drawlen%
  489. draw%=
  490. a(drawlen%)
  491.  &0000000C,4,in%,draw%,drawlen%
  492. drawx%=draw%!32-draw%!24
  493. drawy%=draw%!36-draw%!28
  494. drawxoffset%=draw%!24
  495. drawyoffset%=draw%!28
  496. spx%=drawx%>>8
  497. spy%=drawy%>>8
  498. #in%,gridlinecol%
  499. #in%,gridcol%
  500. #in%,backcol%
  501. #in%,maxcol%
  502. #in%,rulerbcol%
  503. #in%,rulerfcol%
  504. #in%,pagerulers%
  505. #in%,manner%
  506.  &000406C1
  507. jb(file$)
  508.  out%
  509. out%=
  510.  (file$)
  511. #out%,tension_sq_width$,tension_sq_height$
  512. #out%,tension_sq_stitches$,tension_sq_rows$
  513. #out%,tdset$
  514. #out%,conv_rows$,ans_conv_rows$
  515. #out%,conv_stitches$,ans_conv_stitches$
  516. #out%,manner%
  517. #out%,unitmenu%
  518. #out%,grows$,gstitches$
  519. #out%,gheight$,gwidth$
  520. #out%,textdispvar%
  521. #out%,main37%
  522. #out%,main0%
  523. #out%,mastergrey%
  524. #out%,patstore1$,patstore2$
  525. #out%,patstore3$,patstore4$
  526. #out%,patstore5%
  527. #out%,sclmul$,scldiv$
  528.  coltable%<>0 
  529. #out%,1,coltablesize%
  530.  &0000000C,2,out%,coltable%,coltablesize%
  531. #out%,0,0
  532.  nametable%<>0 
  533.  manner%<>2 
  534. #out%,1,nametablesize%
  535.  &0000000C,2,out%,nametable%,nametablesize%
  536. #out%,0,0
  537.  paltable%<>0 
  538. #out%,1,paltablesize%
  539.  &0000000C,2,out%,paltable%, paltablesize%
  540. #out%,0,0
  541. #out%,pictype$
  542.  pictype$ 
  543.  "sprite"
  544. #out%,spritelen%,spritename$,spriteon%
  545.  &0000000C,2,out%,sourcespr%,spritelen%
  546.  "draw"
  547. #out%,drawlen%
  548.  &0000000C,2,out%,draw%,drawlen%
  549. #out%,gridlinecol%
  550. #out%,gridcol%
  551. #out%,backcol%
  552. #out%,maxcol%
  553. #out%,rulerbcol%
  554. #out%,rulerfcol%
  555. #out%,pagerulers%
  556. #out%,manner%
  557. #out%
  558. ("SetType "+file$+" 0F0")
  559.  &000406C1
  560. pb(type%)
  561.  type% 
  562. $savespr%="Sfile_0F0"
  563. mb(main%,3,0,0)
  564. ftype%=&0F0
  565. fsize%=99
  566. $savepath%="Result"
  567. mb(main%,1,0,0)
  568. $savespr%="Sfile_FF9"
  569. mb(main%,3,0,0)
  570. ftype%=&FF9
  571. fsize%=99
  572. $savepath%="Sprite"
  573. mb(main%,1,0,0)
  574. $savepath%,".") 
  575. ib($savepath%)
  576. gb("To save, drag the icon to a directory viewer")
  577. ib(fname$)
  578.  item%
  579. tb(4)
  580.  &000406C3,1
  581.  opt% 
  582. sb(fname$)
  583. sa(fname$)
  584. ja(fname$)
  585.  &000406C1
  586. &00042401
  587.  &000400CF,,block%
  588. block%!20=block%!12
  589. block%!24=block%!16
  590. block%!28=block%!0
  591. block%!32=block%!4
  592. block%!36=fsize%
  593. block%!0=64:block%!12=0
  594.  block%!16=1:block%!40=ftype%
  595. $(block%+44)=
  596. f($savepath%)
  597.  &000400E7,17,block%,block%!20,block%!24
  598. block%!12=block%!8
  599. block%!16=4
  600.  &000400E7,17,block%,block%!4
  601. g(name$)
  602. name$,".")
  603. name$=
  604. name$,
  605. name$,".")+1)
  606. =name$
  607. f(name$)
  608. name$,".")
  609. name$=
  610. name$,
  611. name$,".")+1)
  612. =name$+
  613.  b%,a%,word%,fullname$
  614. fullname$=""
  615.  word%=0 
  616.  508 
  617.  4:block%!(512+word%)=block%!word%:
  618.  word%
  619. b%=block%?(44+a%)
  620.  b%<>0
  621. fullname$+=
  622.     a%+=1
  623. b%=block%?(44+a%)
  624. ib(fullname$)
  625.  word%=0 
  626.  508 
  627.  4:block%!word%=block%!(512+word%):
  628.  word%
  629. block%!12=block%!8
  630. block%!16=3:!block%=256
  631.  &000400E7,18,block%,block%!20,block%!24
  632. F!block%=main%:block%!4=3: 
  633.  &000400CE,,block%: savespr%=block%!32
  634. !titleversion%=
  635. e(titlewin%,6)
  636. infoversion%=
  637. e(info%,4)
  638. rep%=
  639. e(report%,1)
  640. savepath%=
  641. e(main%,1)
  642. option%=
  643. e(main%,4)
  644. disptext% =
  645. e(main%,8)
  646. zoommul%=
  647. e(zoom%,0)
  648. zoomdiv%=
  649. e(zoom%,1)
  650. =!block%=main%: 
  651.  &000400CC,,block%: maintitle%=block%!76
  652. e(whan%,icon%)
  653. "block%!0=whan%: block%!4=icon%
  654.  &000400CE,,block%
  655. =block%!28
  656.  xef%,yef%,size%
  657. xef%=
  658. k(-1,4)
  659. yef%=
  660. k(-1,5)
  661. !xpix%=1<<xef%: xpix2%=2<<xef%
  662. !ypix%=1<<yef%: ypix2%=2<<yef%
  663. mb(whan%,icon%,e%,c%)
  664. %block%!900=whan%:block%!904=icon%
  665. block%!908=e%:block%!912=c%
  666.  wimp_setistate%,,block%+900
  667. k(mode%,var%)
  668.  result%
  669.  &00000035,mode%,var% 
  670.  ,,result%
  671. =result%
  672. p(whan%,icon%,index%)
  673.  &000400D2,whan%,icon%,-1,-1,-1,index%
  674.  &000400D3,,carb%
  675.  answer%
  676. !block%=
  677.     .$(block%+4)=
  678. $+" (Error code "+
  679. )+")"+
  680. &000400DF,block%,3,"KnitConv" 
  681.  ,answer%
  682.  answer%=2 
  683.  &000400DD: 
  684. r(whan%)
  685.  whan% 
  686.  main%
  687. mainopen%=
  688.  colpic%
  689. colpicopen%=
  690. !block%=colpane%
  691.  &000400C6,,block%
  692. !block%=whan%
  693.  &000400C6,,block%
  694. gb(report$)
  695.  w%,h%
  696. $rep%=report$
  697.  &000400D3,,carb%
  698. ab(report%)
  699.  &000400D2,report%,-1,0,0,0,0
  700.  &000400E0,,block%
  701. w%=block%!12-block%!4
  702. h%=block%!16-block%!8
  703.  block%!4+w%/2,block%!8+h%/2
  704.  block%!4,block%!8,w%-xpix%,h%-ypix%
  705. kb(message$)
  706. block%!12=block%!8
  707. block%!16=&503
  708. $(block%+20)=message$
  709. !block%=256
  710.  &000400E7,17,block%,block%!4
  711. w(sprite$,icon%,whan%)
  712.  ox%,oy%
  713. !block%=whan%
  714.  &000400CB,,block%
  715. ox%=block%!4-block%!20
  716. oy%=block%!16-block%!24
  717. block%!4=icon%
  718.  &000400CE,,block%
  719. block%!8=ox%+block%!8
  720. block%!12=oy%+block%!12
  721. block%!16=ox%+block%!16
  722. block%!20=oy%+block%!20
  723. &00042400,%11000101,1,sprite$,block%+8
  724. fontdata%=
  725. a(&100)
  726.  f%=fontdata% 
  727.  fontdata%+252 
  728.  4:!f%=0:
  729.  f%=0 
  730.  fontdata%?f%>0
  731. fontdata%?f%-=1
  732.  &00040082,f%
  733. fontdata%=
  734. d(fontdata%)
  735. lb(block%,minx%,miny%,maxx%,maxy%)
  736. block%! 0=minx%
  737. block%! 4=miny%
  738. block%! 8=maxx%
  739. block%!12=maxy%
  740.  xp%,yp%
  741.  &00000035,-1,4  
  742.  ,,xp%
  743.  &00000035,-1,5  
  744.  ,,yp%
  745.  &00000035,-1,11 
  746.  ,,x%
  747.  &00000035,-1,12 
  748.  ,,y%
  749. x%=(x%+1)<<xp%
  750. y%=(y%+1)<<yp%
  751. aa(block%,
  752. x%=block%!8-block%!0
  753. y%=block%!12-block%!4
  754. ab(hand%)
  755.  x%,y%,wx%,wy%
  756. !block%=hand%
  757.  &000400CB,,block%
  758. z(x%,y%)
  759. aa(block%+4,wx%,wy%)
  760. x%=x%>>1
  761. y%=y%>>1
  762. wx%=wx%>>1
  763. wy%=wy%>>1
  764. lb(block%+4,x%-wx%,y%-wy%,x%+wx%,y%+wy%)
  765. block%!28=-1
  766.  &000400C5,,block%
  767. bb(handle%)
  768. block%!0=handle%
  769.  handle% 
  770.  main%
  771. mainopen%=
  772.  &000400CB,,block%
  773. block%!28=-1
  774.  colpic%
  775. colpicopen%=
  776.  &000400CB,,block%
  777. block%!28=-1
  778.  &000400CB,,block%
  779.  &000400C5,,block%
  780.  !block%=colpic% 
  781. colpicopen%=
  782. block%!100=colpane%
  783.  &000400CB,,block%+100
  784. block%!104=block%!4+42
  785. block%!112=block%!104+362
  786. block%!116=block%!16-90
  787. block%!108=block%!116-360
  788. block%!128=block%!28
  789.  &000400C5,,block%+100
  790. block%!28=colpane%
  791.  &000400C5,,block%
  792.  &000400C5,,block%
  793.  i%,colour%,maxicon%,space%
  794. space%=block%+3000
  795. !space%=colpane%
  796.  &000400CC,,space%
  797. #space%!(4+44)=-(124+maxcol%*76)
  798.  space%!(4+44)>-300 
  799.  space%!(4+44)=-300
  800.  &000400D7,colpane%,space%+44
  801.  i%=0 
  802. %block%!(1004+i%)=space%!(4+88+i%)
  803.  i%=0 
  804. (block%!(1044+i%)=space%!(4+88+32+i%)
  805.  i%=0 
  806. (block%!(1084+i%)=space%!(4+88+64+i%)
  807. maxicon%=(space%!(4+84))
  808. block%!(2000)=colpane%
  809.  maxicon%>-1
  810. block%!(2000+4)=maxicon%
  811.  &000400C4,,block%+2000
  812. maxicon%-=1
  813. Dblock%!1000=colpane%: block%!1040=colpane%: block%!1080=colpane%
  814. colour%=0
  815.  colour%<=maxcol%
  816.  &000400C2,,block%+1000
  817.  &000400C2,,block%+1040
  818. %block%!1104=nametable%+colour%*13
  819.  &000400C2,,block%+1080
  820. $block%!1008-=76: block%!1016-=76
  821. $block%!1048-=76: block%!1056-=76
  822. $block%!1088-=76: block%!1096-=76
  823. colour%+=1
  824.  i%=0 
  825.  maxcol%
  826. mb(colpane%,i%*3+1,0<<21,1<<21)
  827. ea(whan%,icon%,max%,min%,button%,inc%)
  828.  var%,index%
  829. "block%!0=whan%: block%!4=icon%
  830.  &000400CE,,block%
  831. :var%=
  832. ($(block%!28))-(button%=4)*inc%+(button%=1)*inc%
  833.  var%>max% 
  834.  var%=max%: 
  835.  var%<min% 
  836.  var%=min%: 
  837. $(block%!28)=
  838. (var%)
  839. block%!8=0: block%!12=0
  840.  &000400CD,,block%
  841.  carb%!0=whan% 
  842.  carb%!4=icon% 
  843. index%=carb%!20
  844.  index%>
  845. (var%)) 
  846.  index%=
  847. (var%))
  848. p(whan%,icon%,index%)
  849. block%!1000=titlewin%
  850.  &000400C3,,block%+1000
  851. titlewin%=0:mask%=mask% 
  852. titlespr%=
  853. d(titlespr%)
  854. titleopen%=
  855.  titleopen%=
  856. i(ident$,sprites%)
  857.  whan%
  858. $name%=ident$
  859. &000400DB,,block%,windowind%,windowind%+indsize%,fontdata%,name%,0  
  860.  ,,windowind%
  861.  sprites%<>0 
  862.  block%!64=sprites%
  863. &000400C1,,block% 
  864.  whan%
  865. =whan%
  866. da(han%,icon%)
  867.  ptr%,len%,text$,i%,item%,tok$
  868.  han% 
  869.  main%
  870. tok$="main"
  871.  icon% 
  872.  report%: tok$="report": icon%=-1
  873.  info%: tok$="info": icon%=-1
  874.  zoom%: tok$="zoom": icon%=-1
  875.  -2: tok$="ibar": icon%=-1
  876.  titlewin%: tok$="titlewin": icon%=-1
  877.  colpic%,colpane%
  878. tok$="colpic"
  879.  icon%<>1 
  880.  icon%=-1
  881.  &000400F4,0,block%+800
  882. 'sel%=block%!800: subsel%=block%!804
  883. subsubsel%=block%!808
  884. icon%=sel%
  885.  menuopen% 
  886.  imenu%
  887. tok$="imenu"
  888.  processmenu%
  889. tok$="processmenu"
  890.  sel% 
  891.  subsel% 
  892.  0,1,2,3,4,5 : tok$="spritemenu": icon%=subsel%
  893.  subsel% 
  894.  0,1,2 : tok$="jacmenu": icon%=subsel%
  895.  icon%<>-1 
  896.  tok$=tok$+
  897. (icon%)
  898.  &00041502,infobuff%,tok$,0 
  899.  ,,ptr%,len%
  900. text$=""
  901.  i%=0 
  902.  len%-1
  903. text$+=
  904. (ptr%?i%)
  905. kb(text$)
  906. ob(menu%,menunum%)
  907.  num%,width%,ptr%,i%,item$
  908.  Menu#,1
  909.  KnitConv
  910.  &00,info%,Info
  911.  &80,-1,Quit
  912.  Menu#,2
  913.  Processes
  914.  &00,-1,Remove picture
  915.  &00,spritemenu%,Make sprite
  916.  &80,jacmenu%,Double Jacquard
  917.  Menu#,3
  918.  Jacquard
  919.  &00,-1,Standard
  920.  &00,-1,Elongated
  921.  &80,-1,Jigsaw
  922.  Menu#,4
  923.  Sprite
  924.  &00,-1,Low res
  925.  &00,-1,High res
  926.  &00,-1,16 Colours
  927.  &02,-1,256 Colours
  928.  &00,-1,Include picture
  929.  &80,zoom%,Scale
  930.  item$
  931.  item$="Menu#"
  932.  num%
  933.  num%=menunum%
  934.  $menu%
  935. width%=(
  936. ($menu%)-2)*16
  937. ?-menu%!12=&00070207:menu%!20=44:menu%!24=0
  938. ptr%=menu%+28
  939.  !ptr%:
  940.  ptr%!4
  941. ptr%!8=&7000021:
  942.  item$
  943. (item$)+1)*16>width% 
  944.  width%=(
  945. (item$)+1)*16
  946. (item$)<12 
  947. $(ptr%+12)=item$
  948. ptr%!8=&7000121
  949. IGptr%!12=menuindfree%: $menuindfree%=item$: menuindfree%+=
  950. (item$)+1
  951. J(ptr%!16=menuind%: ptr%!20=
  952. (item$)+1
  953.  menuindfree%>menuind%+menuindsize% 
  954.  0,"Increase menuindsize% (in PROCinit)"
  955. ptr%+=24
  956.  (!(ptr%-24) 
  957.  &80)<>0
  958. menu%!16=width%
  959. rb(menu%,mx%,my%)
  960. menuopen%=menu%
  961.  menuopen% 
  962.  processmenu% :
  963. db(mx%,my%)
  964. mx%+=2
  965. my%+=44
  966. &000400D4,,menu%,mx%,my%
  967. xb(menu%,item%)
  968. _9?(menu%+28+item%*24)=(?(menu%+28+item%*24) 
  969. ub(menu%,item%)
  970. c1?(menu%+28+item%*24)=?(menu%+28+item%*24) 
  971. yb(menu%,item%)
  972. g9?(menu%+28+item%*24)=(?(menu%+28+item%*24) 
  973. xa(except%)
  974.  var%
  975.  except% 
  976.  var%=0 
  977.  ilist%
  978. yb(imenu%,var%)
  979.  var%
  980.  var%=0 
  981.  proclist%
  982. yb(processmenu%,var%)
  983.  var%
  984.  var%=0 
  985.  jaclist%
  986. yb(jacmenu%,var%)
  987.  var%
  988.  var%=0 
  989.  sprlist%
  990. yb(spritemenu%,var%)
  991.  var%
  992.  imenu%
  993.  var%=0 
  994.  proclist%
  995. yb(processmenu%,var%)
  996.  var%
  997.  var%=0 
  998.  jaclist%
  999. yb(jacmenu%,var%)
  1000.  var%
  1001.  var%=0 
  1002.  sprlist%
  1003. yb(spritemenu%,var%)
  1004.  var%
  1005.  processmenu%
  1006.  var%=0 
  1007.  ilist%
  1008. yb(imenu%,var%)
  1009.  var%
  1010.  var%=0 
  1011.  jaclist%
  1012. yb(jacmenu%,var%)
  1013.  var%
  1014.  jacmenu%
  1015.  var%=0 
  1016.  ilist%
  1017. yb(imenu%,var%)
  1018.  var%
  1019.  var%=0 
  1020.  proclist%
  1021. yb(processmenu%,var%)
  1022.  var%
  1023.  var%=0 
  1024.  sprlist%
  1025. yb(spritemenu%,var%)
  1026.  var%
  1027.  spritemenu%
  1028.  var%=0 
  1029.  ilist%
  1030. yb(imenu%,var%)
  1031.  var%
  1032.  var%=0 
  1033.  proclist%
  1034. yb(processmenu%,var%)
  1035.  var%
  1036.  var%=0 
  1037.  jaclist%
  1038. yb(jacmenu%,var%)
  1039.  var%
  1040. wb(menu%,item%)
  1041. ??(menu%+38+item%*24)=(?(menu%+38+item%*24) 
  1042.  0<<6) 
  1043.  1<<6
  1044. qb(menu%,item%,shade%)
  1045. D?(menu%+38+item%*24)=(?(menu%+38+item%*24) 
  1046.  1<<6) 
  1047.  shade%<<6
  1048. h(menu%,item%)
  1049. "=(?(menu%+28+item%*24) 
  1050.  1)<>0
  1051.  mx%, 
  1052.  my%)
  1053.  c%,ox%,oy%,vaminx%,vamaxy%,miny%,maxx%
  1054.  scrollxoffset%,scrollyoffset%
  1055. c%=block%+800
  1056. c%!0=main%
  1057.  &000400CB,,c%
  1058. vaminx%=c%!4
  1059. vamaxy%=c%!16
  1060. scrollxoffset%=c%!20
  1061. scrollyoffset%=c%!24
  1062. ox%=vaminx%-scrollxoffset%
  1063. oy%=vamaxy%-scrollyoffset%
  1064. c%!0=main%
  1065. c%!4=5
  1066.  &000400CE,,c%
  1067. miny%=c%!12
  1068. maxx%=c%!16
  1069. mx%=ox%+maxx%
  1070. my%=oy%+miny%
  1071. j(a$)
  1072.  a%,l%,s%
  1073. #a%+4
  1074. a(l%)
  1075. !s%=l%
  1076.  &0000002E,&10A,s%,a$
  1077. a(size%)
  1078. errflag%=0
  1079.  heap%=0 
  1080. nb(size%+16)
  1081.  errflag% 
  1082.  &0002001D,1,heap% 
  1083.  ,,free%
  1084.  free%<size% 
  1085. ca(size%,1)
  1086.  errflag% 
  1087.  &0002001D,2,heap%,,size% 
  1088.  ,,ptr%
  1089.  errflag% 
  1090.  =ptr%
  1091. d(ptr%)
  1092.  &0002001D,3,heap%,ptr%
  1093.  size%,x%,s%
  1094.  &0002001D,1,heap% 
  1095.  ,,size%
  1096. size%=(size% 
  1097.  page%)*page%
  1098.  size% 
  1099.  &0002001D,5,heap%,,-size% 
  1100.  ,,,s%;flag%
  1101.  flag% 
  1102. x%=(s% 
  1103.  page%)*page%
  1104.  s%-x% 
  1105.  &0002001D,5,heap%,,s%-x%
  1106. x%=size%
  1107.  &000400EC,appsize%-x%,-1
  1108. appsize%-=x%:heapsize%-=x%
  1109.  ptr%,size%)
  1110.  flag%
  1111. errflag%=0:
  1112.  &0002001D,4,heap%,ptr%,size% 
  1113.  ,,ptr%;flag%
  1114.  flag% 
  1115. ca(page%,1)
  1116.  (flag% 
  1117.  1)=0 
  1118.  errflag%=
  1119.  errflag% 
  1120.  size%<0 
  1121. ca(mem%,x%)
  1122.  new%
  1123.  &000400EC,appsize%+mem%,-1 
  1124.  new%
  1125.  new%<appsize%+mem% 
  1126. errflag%=
  1127.  &000400EC,appsize%,-1
  1128.  1<<30,"Not enough memory"
  1129.  &0002001D,5,heap%,,new%-appsize%
  1130. heapsize%=new%+&8000-
  1131. appsize%=new%
  1132. nb(initsize%)
  1133. ca(initsize%,0)
  1134.  errflag% 
  1135. heap%=
  1136.  &0002001D,0,heap%,,heapsize%
  1137. v(line%,mess$,var)
  1138. mess$=
  1139. mess$,14)
  1140. var$=
  1141. (var)
  1142. u(line%,mess$+
  1143. (mess$)-
  1144. (var$)," ")+var$)
  1145. u(line%,mess$)
  1146.  &00000024,"db$mess","XX"
  1147.  &00000024,"db$mess"+
  1148. (line%),mess$
  1149. n(berty$)
  1150.  berty%
  1151.  bertyfile%=
  1152. &berty%=
  1153. ("<KnitConv$Dir>.^.Berty")
  1154. #berty%
  1155. ("SetType<KnitConv$Dir>.^.Berty Text")
  1156. bertyfile%=
  1157. "&berty%=
  1158. ("<KnitConv$Dir>.^.Berty")
  1159. #berty%=
  1160. #berty%
  1161. #berty%,""
  1162. #berty%,berty$
  1163. #berty%
  1164. '%*Filer_Run <KnitConv$Dir>.^.Berty
  1165. sb(fname$)
  1166.  manner% 
  1167. grows$=ans_conv_rows$
  1168. .!gstitches$=ans_conv_stitches$
  1169. ans_conv_rows$="0"
  1170. ans_conv_stitches$="0"
  1171. conv_rows$="0.0"
  1172. conv_stitches$="0.0"
  1173. 3=gheight$=
  1174. (tension_sq_height$))/(
  1175. (tension_sq_rows$)))
  1176. 4?gwidth$=
  1177. (tension_sq_width$))/(
  1178. (tension_sq_stitches$)))
  1179. tension_sq_width$="0.0"
  1180. tension_sq_height$="0.0"
  1181. tension_sq_stitches$="0"
  1182. tension_sq_rows$="0"
  1183. textdispvar%=6
  1184. main37%=0
  1185. mastergrey%=4
  1186. pictype$="none"
  1187. manner%=0
  1188. jb(fname$)
  1189. gb("There is no picture to remove from this file")
  1190. sa(fname$)
  1191.  wx%,wy%,ninx%,maxx%,miny%,maxy%,sminx%,smaxx%,sminy%,smaxy%
  1192.  xc%,yc%,extrawidth%,scraddr%,savsize%,savarea%,r0%,r1%,r2%,r3%
  1193.  sw%,rh%,y%,x%,xx%,w%,col%,yl%,yh%,xl%,xh%,min%,max%,row%,stitch%
  1194.  scl%,nummin%,nummax%,num%,xmove%,ymove%,symb%
  1195. K    wx%=0
  1196. wy%=scrheight%
  1197. minx%=0: maxx%=scrwidth%
  1198. miny%=0: maxy%=scrheight%
  1199. sminx%=0
  1200. smaxx%=gridwidth%
  1201. sminy%=0
  1202. smaxy%=gridheight%
  1203. xc%=wx%+rulesize%
  1204. yc%=wy%-editht%+rulesize%
  1205. UBextrawidth%=4-(scrwidth% 
  1206.  4): 
  1207.  extrawidth%=4 
  1208.  extrawidth%=0
  1209. V3scrsize%=(scrwidth%+extrawidth%)*scrheight%+200
  1210. scrarea%=
  1211. a(scrsize%)
  1212. !scrarea%=scrsize%
  1213. scrarea%!8=16
  1214.  &0000002E,256+9,scrarea%
  1215.  scrmode%=12 
  1216.  scrmode%=20 
  1217.  palflag%=1 
  1218.  palflag%=0
  1219.  &0000002E,256+15,scrarea%,"screen",palflag%,scrwidth%,scrheight%,scrmode%
  1220.  &0000002E,&118,scrarea%,"screen" 
  1221.  ,,scraddr%
  1222.  scrmode%=12 
  1223.  scrmode%=20 
  1224.  i%=0 
  1225.  124 
  1226. !(scraddr%+44+i%)=pal16%!i%
  1227.  &0000002E,512+62,scrarea%,scraddr% 
  1228.  ,,,savsize%
  1229. savarea%=
  1230. a(savsize%)
  1231. savarea%!0=0
  1232.  &0000002E,512+60,scrarea%,scraddr%,savarea% 
  1233.  r0%,r1%,r2%,r3%
  1234.  &000406C2:
  1235.  &0000002E,r0%,r1%,r2%,r3%:
  1236.  scrmode%=12 
  1237.  scrmode%=15 
  1238.  23,17,7,%10,8;8;0,0 
  1239.  23,17,7,%10,8;16;0,0
  1240.  ct_setgcol%,
  1241. l(backcol%),,,1<<7
  1242.  spriteon%=
  1243.  pictype$ 
  1244.  "sprite"
  1245. block%!100=xc%<<8
  1246. r(block%!104=(yc%+gridheight%*rht%)<<8
  1247. s'block%!108=(xc%+gridwidth%*stw%)<<8
  1248. t(block%!112=(yc%+gridheight%*rht%)<<8
  1249. u'block%!116=(xc%+gridwidth%*stw%)<<8
  1250. block%!120=yc%<<8
  1251. block%!124=xc%<<8
  1252. block%!128=yc%<<8
  1253. &0000002E,&238,sourcespr%,sourceaddr%,1,0,0,block%+100,transtable%
  1254.  "draw"
  1255. |,scalex=(((gridwidth%*stw%)<<8)/(drawx%))
  1256. }/scaley=(((gridheight%*rht%)<<8)/(drawy%-1))
  1257. transform%!0 =scalex*65536
  1258. transform%!4 =0
  1259. transform%!8 =0
  1260. transform%!12=scaley*65536
  1261. .transform%!16=(xc%<<8)-drawxoffset%*scalex
  1262. .transform%!20=(yc%<<8)-drawyoffset%*scaley
  1263.  &00045540,0,draw%,drawlen%,transform%,0
  1264.  manner% 
  1265. sw%=stw%+xpix2%*(gridon%=
  1266. rh%=rht%+ypix2%*(gridon%=
  1267. y%=yc%-ypix%*(gridon%=
  1268. xx%=xc%-xpix%*(gridon%=
  1269. w%=sminx%
  1270. smaxx%-1:x%=xx%+w%*stw%
  1271. h%=sminy%
  1272. smaxy%-1:col%=coltable%?(h%*gridwidth%+w%):
  1273. showmask%col%=col%
  1274. (col%
  1275. 192)=0
  1276. ct_setgcol%,paltable%!((col%
  1277. 63)*4):
  1278. x%,y%+h%*rht%,sw%,rh%
  1279.  &000406C4,((80*w%) 
  1280.  gridwidth%)
  1281.  ct_setgcol%,
  1282. l(gridcol%)
  1283. ,yl%=yc%+sminy%*rht%: yh%=yc%+smaxy%*rht%
  1284.  x%=sminx% 
  1285.  smaxx%
  1286.  xc%+x%*stw%,yl%
  1287.  xc%+x%*stw%,yh%
  1288.  &000406C4,84
  1289. ,xl%=xc%+sminx%*stw%: xh%=xc%+smaxx%*stw%
  1290.  y%=sminy% 
  1291.  smaxy%
  1292.  xl%,yc%+y%*rht%
  1293.  xh%,yc%+y%*rht%
  1294.  &000406C4,88
  1295.  ct_setgcol%,
  1296. l(forecol%)
  1297. min%=0
  1298. max%=gridheight%
  1299. min%=min% 
  1300. max%=max% 
  1301.  row%=min% 
  1302.  max%
  1303. x%=xc%
  1304. y%=yc%+row%*rht%*10+16
  1305.  x%+(16*(row%>0))+(16*(row%>9))-40,y%
  1306.  ;row%*10
  1307.  x%-20,y%-16
  1308.  x%,y%-16
  1309.  row%
  1310.  &000406C4,92
  1311. max%=gridheight%
  1312. min%=0
  1313. min%=min% 
  1314. max%=max% 
  1315.  row%=min% 
  1316.  max%
  1317. x%=xc%+24+gridwidth%*stw%
  1318. y%=row%*rht%*10+yc%+16
  1319.  x%,y%
  1320.  ;row%*10
  1321.  x%-4,y%-16
  1322.  x%-24,y%-16
  1323.  row%
  1324.  &000406C4,96
  1325. max%=gridwidth%
  1326. min%=0
  1327. min%=min% 
  1328. max%=max% 
  1329.  stitch%=min% 
  1330.  max%
  1331. x%=xc%+stitch%*stw%*10
  1332. y%=yc%-24
  1333.  x%+(16*(stitch%>0))+(8*(stitch%>9)),y%
  1334.  ;stitch%*10
  1335.  x%,y%+4
  1336.  x%,y%+20
  1337.  stitch%
  1338.  &000406C4,99
  1339. max%=gridwidth%
  1340. min%=0
  1341. min%=min% 
  1342. max%=max% 
  1343.  stitch%=min% 
  1344.  max%
  1345. x%=xc%+stitch%*stw%*10
  1346. y%=yc%+gridheight%*rht%
  1347.  x%+(16*(stitch%>0))+(8*(stitch%>9)),y%+44
  1348.  ;stitch%*10
  1349.  x%,y%
  1350.  x%,y%+16
  1351.  stitch%
  1352. scl%=(stw%-30)/2
  1353. nummin%=sminx%-1
  1354. nummax%=smaxx%+1
  1355. nummin%-=nummin%
  1356.  nummin%<0 
  1357.  nummin%=0
  1358.  nummax%>gridwidth% 
  1359.  nummax%=gridwidth%
  1360.  x%=nummin% 
  1361.  nummax% 
  1362.  2=0 
  1363.  x%<=gridwidth%/2 
  1364. num%=gridwidth%/2-x%
  1365.  num% 
  1366.  2=1 
  1367.  num%-=1 : xmove%=stw% 
  1368.  xmove%=0
  1369.  ct_setgcol%,
  1370. l(forecol%)
  1371.  num% 
  1372. 12=0 
  1373.  ct_setgcol%,
  1374. l(11) 
  1375.  ct_setgcol%,
  1376. l(gridcol%)
  1377.  num%=0 
  1378.  xc%+(gridwidth%/2)*stw%-8,yc%-4
  1379.  ;num%
  1380.  xc%+(gridwidth%/2)*stw%-8,yc%+gridheight%*rht%+32
  1381.  ;num%
  1382.  num%<10 
  1383.  xmove%+=8
  1384.  xc%+x%*stw%+xmove%+scl%,yc%-4
  1385.  ;num%
  1386.  xc%+x%*stw%+xmove%+scl%,yc%+gridheight%*rht%+32
  1387.  ;num%
  1388. num%=x%-gridwidth%/2
  1389.  num% 
  1390.  2=1 
  1391.  num%-=1 : xmove%=stw% 
  1392.  xmove%=0
  1393.  num% 
  1394. 12=0 
  1395.  ct_setgcol%,
  1396. l(11) 
  1397.  ct_setgcol%,
  1398. l(gridcol%)
  1399.  num%<10 
  1400.  xmove%-=8
  1401.  xc%+(x%-1)*stw%-xmove%+scl%,yc%-4
  1402.  num%<>0 
  1403.  ;num%
  1404.  xc%+(x%-1)*stw%-xmove%+scl%,yc%+gridheight%*rht%+32
  1405.  num%<>0 
  1406.  ;num%
  1407. nummin%=sminy%-1
  1408. nummax%=smaxy%+1
  1409. nummin%-=nummin% 
  1410. nummax%+=nummax% 
  1411.  nummin%<0 
  1412.  nummin%=0
  1413.  nummax%>gridheight% 
  1414.  nummax%=gridheight%
  1415.  y%=nummin% 
  1416.  nummax% 
  1417.  y%=0 
  1418.  ymove%=12 
  1419.  ymove%=-scl%
  1420.  y%<10 
  1421.  xmove%=16 
  1422.  xmove%=0
  1423.  y%>99 
  1424.  xmove%=-16
  1425. 10=0 
  1426.  ct_setgcol%,
  1427. l(11) 
  1428.  ct_setgcol%,
  1429. l(gridcol%)
  1430.  xc%-36+xmove%,yc%+y%*rht%-2+ymove%
  1431.  xc%+gridwidth%*stw%+4,yc%+y%*rht%-2+ymove%
  1432.  ct_setgcol%,
  1433. l(gridcol%)
  1434. ,yl%=yc%+sminy%*rht%: yh%=yc%+smaxy%*rht%
  1435.  x%=sminx% 
  1436.  smaxx%
  1437.  (gridwidth%/2-x%)
  1438. 12=0 
  1439.  ct_setgcol%,
  1440. l(11) 
  1441.  ct_setgcol%,
  1442. l(gridcol%)
  1443.  xc%+x%*stw%,yl%
  1444.  xc%+x%*stw%,yh%
  1445. ,xl%=xc%+sminx%*stw%: xh%=xc%+smaxx%*stw%
  1446.  y%=sminy% 
  1447.  smaxy%
  1448.  10=0 
  1449.  ct_setgcol%,
  1450. l(11) 
  1451.  ct_setgcol%,
  1452. l(gridcol%)
  1453.  xl%,yc%+y%*rht%
  1454.  xh%,yc%+y%*rht%
  1455. %'transform%!0 =(edmul%/eddiv%)*65536
  1456. transform%!4 =0
  1457. transform%!8 =0
  1458. ('transform%!12=(edmul%/eddiv%)*65536
  1459. y%=yc%-ypix%*(gridon%=
  1460. xx%=xc%-xpix%*(gridon%=
  1461. w%=sminx%
  1462. smaxx%-1:x%=xx%+w%*stw%:transform%!16=x%<<8:
  1463. h%=sminy%
  1464. smaxy%-1:symb%=coltable%?(h%*gridwidth%+w%)
  1465.  (symb%
  1466. 128)=0 
  1467. -!transform%!20=(y%+h%*rht%)<<8
  1468.  &00045540,0,symbpoint%!(symb%*4),symbsize%!(symb%*4),transform%,0
  1469.  &0000002E,r0%,r1%,r2%,r3%
  1470.  &0000002E,256+12,scrarea%,fname$
  1471. l(wimpcol%)
  1472.  wimpcol% 
  1473.  0: rgb%=&FFFFFF00
  1474.  1: rgb%=&DDDDDD00
  1475.  2: rgb%=&BBBBBB00
  1476.  3: rgb%=&99999900
  1477.  4: rgb%=&77777700
  1478.  5: rgb%=&55555500
  1479.  6: rgb%=&33333300
  1480.  7: rgb%=&00000000
  1481.  8: rgb%=&99440000
  1482.  9: rgb%=&00EEEE00
  1483.  10:rgb%=&00CC0000
  1484.  11:rgb%=&0000DD00
  1485.  12:rgb%=&BBEEEE00
  1486.  13:rgb%=&00885500
  1487.  14:rgb%=&00BBFF00
  1488.  15:rgb%=&FFBB0000
  1489. J    =rgb%
  1490. wimppal%!0= &FFFFFF00
  1491. wimppal%!4= &DDDDDD00
  1492. wimppal%!8= &BBBBBB00
  1493. wimppal%!12= &99999900
  1494. wimppal%!16= &77777700
  1495. wimppal%!20= &55555500
  1496. wimppal%!24= &33333300
  1497. wimppal%!28= &00000000
  1498. wimppal%!32= &99440000
  1499. wimppal%!36= &00EEEE00
  1500. wimppal%!40= &00CC0000
  1501. wimppal%!44= &0000DD00
  1502. wimppal%!48= &BBEEEE00
  1503. wimppal%!52= &00885500
  1504. wimppal%!56= &00BBFF00
  1505. wimppal%!60= &FFBB0000
  1506.  coltable%<>0 
  1507.  coltable%=
  1508. d(coltable%)
  1509.  nametable%<>0 
  1510.  nametable%=
  1511. d(nametable%)
  1512.  paltable%<>0 
  1513.  paltable%=
  1514. d(paltable%)
  1515.  sourcespr%<>0 
  1516.  sourcespr%=
  1517. d(sourcespr%)
  1518.  draw%<>0 
  1519.  draw%=
  1520. d(draw%)
  1521.  scrarea%<>0 
  1522.  scrarea%=
  1523. d(scrarea%)
  1524.  transtable%<>0 
  1525.  transtable%=
  1526. d(transtable%)
  1527.  symbstore%<>0 
  1528.  symbstore%=
  1529. d(symbstore%)
  1530.  symbpoint%<>0 
  1531.  symbpoint%=
  1532. d(symbpoint%)
  1533.  symbsize%<>0 
  1534.  symbsize%=
  1535. d(symbsize%)
  1536.  descinfobuff%<>0 
  1537.  descinfobuff%=
  1538. d(descinfobuff%)
  1539.  descbuff%<>0 
  1540.  descbuff%=
  1541. d(descbuff%)
  1542.  extradescinfobuff%<>0 
  1543.  extradescinfobuff%=
  1544. d(extradescinfobuff%)
  1545.  extradescbuff%<>0 
  1546.  extradescbuff%=
  1547. d(extradescbuff%)
  1548.  colorder%<>0 
  1549.  colorder%=
  1550. d(colorder%)
  1551. o(jactype%=0 : restype%=0 : coltype%=2
  1552.  &000400D2,-1,-1
  1553. mb(main%,1,1<<22,1<<22)
  1554. mb(main%,2,3<<24,15<<24)
  1555. mb(main%,3,1<<22,1<<22)
  1556. mb(main%,7,1<<24,15<<24)
  1557. opt%=-1
  1558. y8$option%="Please choose a conversion process  > > >"
  1559. mb(main%,4,0,0)
  1560. tb(1)
  1561. xa(-1)
  1562. (tension_sq_stitches$)<>0 
  1563.  stitch_width=
  1564. (tension_sq_width$)/
  1565. (tension_sq_stitches$) 
  1566.  stitch_width=0
  1567. (tension_sq_rows$)<>0 
  1568.  row_height=
  1569. (tension_sq_height$)/
  1570. (tension_sq_rows$) 
  1571.  row_height=0
  1572.  manner% 
  1573. stitchwidth=
  1574. gwidth$)
  1575. rowht=
  1576. gheight$)
  1577. stitchwidth%=
  1578. (stitchwidth)
  1579. rowht%=
  1580. (rowht)
  1581. gridwidth%=
  1582. gstitches$
  1583. gridheight%=
  1584. grows$
  1585. spriteon%=
  1586. "gridwidth%=
  1587. ans_conv_stitches$
  1588. gridheight%=
  1589. ans_conv_rows$
  1590.  stitchwidth=
  1591. b(stitch_width)
  1592. rowht=
  1593. b(row_height)
  1594. stitchwidth%=
  1595. (stitchwidth)
  1596. rowht%=
  1597. (rowht)
  1598. spriteon%=
  1599. h(spritemenu%,4)
  1600. gridwidth%=
  1601. gstitches$
  1602. gridheight%=
  1603. grows$
  1604. rowht%=30
  1605. stitchwidth%=30
  1606. rowht=30: rht%=30
  1607. stitchwidth=30: stw%=30
  1608. spriteon%=
  1609. edmul%=
  1610. $zoommul%
  1611. eddiv%=
  1612. $zoomdiv%
  1613. /stitchwidth%=
  1614. ((stitchwidth*edmul%)/eddiv%)
  1615. #rowht%=
  1616. ((rowht*edmul%)/eddiv%)
  1617. stw%=stitchwidth%
  1618. rht%=rowht%
  1619. gridon%=
  1620. showmask%=
  1621. rulesize%=80
  1622. tbarht%=00
  1623.  backcol% 
  1624.  4,5,6,7,8,10,11,13
  1625. forecol%=0
  1626. forecol%=7
  1627. rht%=rowht%
  1628. stw%=stitchwidth%
  1629.  manner%=2 
  1630. h(spritemenu%,0)=
  1631. h(spritemenu%,2) 
  1632.  scrmode%=12 
  1633.  scrmode%=15
  1634. h(spritemenu%,2) 
  1635.  scrmode%=20 
  1636.  scrmode%=21
  1637. xef%=
  1638. k(scrmode%,4)
  1639. yef%=
  1640. k(scrmode%,5)
  1641. !xpix%=1<<xef%: xpix2%=2<<xef%
  1642. !ypix%=1<<yef%: ypix2%=2<<yef%
  1643. 9scrwidth%=(gridwidth%*stitchwidth%+2*rulesize%)>>xef%
  1644. 5scrheight%=(gridheight%*rowht%+2*rulesize%)>>yef%
  1645. editht%=scrheight%
  1646.  pictype$="sprite" 
  1647.  scrmode%=12 
  1648.  scrmode%=20 
  1649.  palpoint%=wimppal% 
  1650.  palpoint%=0
  1651.  &00040740,sourcespr%,sourceaddr%,scrmode%,palpoint%,0,1,0,0 
  1652.  ,,,,size%
  1653. transtable%=
  1654. a(size%)
  1655.  &00040740,sourcespr%,sourceaddr%,scrmode%,palpoint%,transtable%,1,0,0
  1656. b(cm)
  1657.  factor
  1658.  unitmenu%=
  1659. factor=180
  1660. factor=70.866
  1661. =cm*factor
  1662.  i%,c%,size%,num%,oldi%,ptr%,pochle%,extrasymb%,extrasize%,extranum%,extrai%,flags%
  1663.  &00000029,28,"<KnitConv$Dir>.Resources.Symbols.*" 
  1664.  ,,size%,num%
  1665.  &00000029,28,"<KnitConv$Dir>.Resources.Symbols.Describe" 
  1666.  ,,i%
  1667. num%-=1
  1668.  &00020029,28,"<KnitConv$Dir>.^.Symbols.*" 
  1669.  ,,extrasize%,extranum%;flags%
  1670.  (flags% 
  1671.  1)=1 
  1672. extrasize%=0:extranum%=0
  1673. extrasymb%=
  1674. extrasymb%=
  1675.  &00020029,28,"<KnitConv$Dir>.^.Symbols.Describe" 
  1676.  ,,extrai%;flags%
  1677.  (flags% 
  1678.  1)=1 
  1679.  extrai%=0 
  1680.  extranum%-=1:
  1681.  extranum%<0 
  1682.  extranum%=0
  1683. symbmax%=num%+extranum%-1
  1684. i%+=extrai%
  1685. &symbstore%=
  1686. a(size%+extrasize%-i%)
  1687. %symbpoint%=
  1688. a((num%+extranum%)*4)
  1689. $symbsize%=
  1690. a((num%+extranum%)*4)
  1691.  nametable%<>0 
  1692.  nametable%=
  1693. d(nametable%)
  1694. &nametable%=
  1695. a((num%+extranum%)*11)
  1696. &0000000C,9,"<KnitConv$Dir>.Resources.Symbols",block%,num%+1,0,3000,"*"
  1697. !i%=0 : oldi%=block%:pochle%=0
  1698.  c%=0 
  1699.  num%
  1700.  block%?i%<>0
  1701.     i%+=1
  1702. block%?i%=13
  1703.  $(oldi%)="Describe" 
  1704. pochle%=1
  1705. *$(nametable%+(c%-pochle%)*11)=$(oldi%)
  1706.     i%+=1
  1707. oldi%=block%+i%
  1708. c%=0: pochle%=0
  1709.  i%=0 
  1710.  num%-1
  1711. Apath$="<KnitConv$Dir>.Resources.Symbols."+$(nametable%+i%*11)
  1712. &00000008,&FF,path$,symbstore%+c%,0 
  1713.  ,,,,size%
  1714. #symbpoint%!(i%*4)=symbstore%+c%
  1715. symbsize%!(i%*4)=size%
  1716. c%+=size%
  1717.  extrasymb%=
  1718. ptr%=c%
  1719. &0000000C,9,"<KnitConv$Dir>.^.Symbols",block%,extranum%+1,0,3000,"*"
  1720. !i%=0 : oldi%=block%:pochle%=0
  1721.  c%=num% 
  1722.  num%+extranum%
  1723.  block%?i%<>0
  1724.     i%+=1
  1725. block%?i%=13
  1726.  $(oldi%)="Describe" 
  1727. pochle%=1
  1728. *$(nametable%+(c%-pochle%)*11)=$(oldi%)
  1729.     i%+=1
  1730. oldi%=block%+i%
  1731. c%=ptr%: pochle%=0
  1732.  i%=num% 
  1733.  num%+extranum%-1
  1734. 9path$="<KnitConv$Dir>.^.Symbols."+$(nametable%+i%*11)
  1735. &00000008,&FF,path$,symbstore%+c%,0 
  1736.  ,,,,size%
  1737. #symbpoint%!(i%*4)=symbstore%+c%
  1738. symbsize%!(i%*4)=size%
  1739. c%+=size%
  1740. ja(fname$)
  1741.  colnum%,toprow%,blank%,line%,stitch%,ntablesize%,ntable%,newrow%,newrows%
  1742.  colorder%,nextcol%,colsfound%,col%,newline%,dups%,bigtable%,i%,oldrow%,row%
  1743.  manner%=2 
  1744. gb("Sorry, the make jacquard process only works with 'Grid only' or 'Grid & picture' EasyKnit files.")
  1745. h(jacmenu%,2)= 
  1746. colnum%=
  1747. toprow%=0
  1748. blank%=
  1749. line%=gridheight%-1
  1750. stitch%=0
  1751.  ?(coltable%+line%*gridwidth%+stitch%)<128 
  1752.  blank%=
  1753. stitch%+=1
  1754.  stitch%=gridwidth% 
  1755.  blank%=
  1756. line%-=1
  1757.  line%=-1 
  1758.  blank%=
  1759. toprow%=line%+2
  1760. 2*ntablesize%=gridwidth%*toprow%*colnum%
  1761. 3#ntablesize%=ntablesize%*double%
  1762. ntable%=
  1763. a(ntablesize%)
  1764. colorder%=
  1765. a(colnum%)
  1766.  col%=0 
  1767.  colnum%-1
  1768. colorder%?col%=255
  1769.  col%
  1770. line%=0
  1771. nextcol%=0
  1772. colsfound%=0
  1773. stitch%=0
  1774. ?.col%=?(coltable%+line%*gridwidth%+stitch%)
  1775.  col% < 128 
  1776. col%=col% 
  1777. found%=
  1778.  colorder%?i%<>255
  1779.  colorder%?i%=col% 
  1780.  found%=
  1781. F    i%+=1
  1782.  found%= 
  1783.  colorder%?i%=col%: colsfound%+=1
  1784. stitch%+=1
  1785.  stitch%= gridwidth% 
  1786.   colsfound%=colnum%
  1787. line%+=1
  1788.  line%=toprow% 
  1789.  colsfound%=colnum%
  1790. tot%=toprow%*gridwidth%
  1791. done%=0
  1792.  line%=0 
  1793.  toprow%-1
  1794.  stitch%= 0 
  1795.  gridwidth%-1
  1796.  newline%=0 
  1797.  colnum%-1
  1798.  coltable%?(line%*gridwidth%+stitch%)=colorder%?newline% 
  1799. TV?(ntable%+line%*gridwidth%*colnum%+newline%*gridwidth%+stitch%)=colorder%?newline%
  1800. VG?(ntable%+line%*gridwidth%*colnum%+newline%*gridwidth%+stitch%)=128
  1801.  newline%
  1802. done%+=1
  1803.  &000406C4,((100*done%) 
  1804.  tot%)
  1805.  stitch%
  1806.  line%
  1807.  double%=2 
  1808. oldrow%=(toprow%*colnum%)
  1809. newrow%=oldrow%*2
  1810. tot%=newrow%*gridwidth%
  1811. done%=0
  1812.  row%=newrow%-1 
  1813. oldrow%-=1
  1814.  stitch%=0 
  1815.  gridwidth%-1
  1816. eJntable%?(row%*gridwidth%+stitch%)=ntable%?(oldrow%*gridwidth%+stitch%)
  1817. fNntable%?((row%-1)*gridwidth%+stitch%)=ntable%?(oldrow%*gridwidth%+stitch%)
  1818. done%+=1
  1819.  &000406C4,((100*done%) 
  1820.  tot%)
  1821.  stitch%
  1822.  row%
  1823. l$newrows%=toprow%*colnum%*double%
  1824.  newrows%<36 
  1825. o.dups%=36 
  1826.  (newrows%)-(36 
  1827.  (newrows%)<>0)
  1828. p+bigtable%=
  1829. a(newrows%*gridwidth%*dups%)
  1830. q"tot%=dups%*newrows%*gridwidth%
  1831. done%=0
  1832.  i%=0 
  1833.  dups%-1
  1834.  stitch%=0 
  1835.  newrows%*gridwidth%
  1836. u>bigtable%?(i%*newrows%*gridwidth%+stitch%)=ntable%?stitch%
  1837. done%+=1
  1838.  &000406C4,((100*done%) 
  1839.  tot%)
  1840.  stitch%
  1841. ntable%=
  1842. d(ntable%)
  1843. ntable%=bigtable%
  1844. toprow%=toprow%*dups%
  1845. })ntablesize%=newrows%*gridwidth%*dups%
  1846. coltable%=
  1847. d(coltable%)
  1848. coltable%=ntable%
  1849. coltablesize%=ntablesize%
  1850. %grows$=
  1851. (toprow%*colnum%*double%)
  1852.  manner%=1 
  1853. 9gheight$=
  1854. (tension_sq_height$)/
  1855. (tension_sq_rows$))
  1856. ;gwidth$=
  1857. (tension_sq_width$)/
  1858. (tension_sq_stitches$))
  1859. !gstitches$=ans_conv_stitches$
  1860. tension_sq_width$="0.0"
  1861. tension_sq_height$="0.0"
  1862. tension_sq_stitches$="0"
  1863. tension_sq_rows$="0"
  1864. ans_conv_rows$="0"
  1865. ans_conv_stitches$="0"
  1866. conv_rows$="0.0"
  1867. conv_stitches$="0.0"
  1868. textdispvar%=6
  1869. main37%=0
  1870. main0%=0
  1871. mastergrey%=4
  1872. pictype$="none"
  1873. spriteon%=
  1874. manner%=0
  1875. sclmul$="1"
  1876. scldiv$="1"
  1877. jb(fname$)
  1878.  num%,i%,col%
  1879. num%=0
  1880.  i%=block% 
  1881.  block%+maxcol%
  1882.     ?i%=0
  1883.  i%=0 
  1884.  gridwidth%*gridheight%-1
  1885. col%=(coltable%?i%) 
  1886. block%?col%=1
  1887.  i%=block% 
  1888.  block%+maxcol%
  1889.  ?i%<>0 
  1890.  num%+=1
  1891.     =num%
  1892. (tension_sq_stitches$)<>0 
  1893.  stitch_width=
  1894. (tension_sq_width$)/
  1895. (tension_sq_stitches$) 
  1896.  stitch_width=0
  1897. (tension_sq_rows$)<>0 
  1898.  row_height=
  1899. (tension_sq_height$)/
  1900. (tension_sq_rows$) 
  1901.  row_height=0
  1902.  manner% 
  1903. stitchwidth=
  1904. gwidth$)
  1905. rowht=
  1906. gheight$)
  1907. stitchwidth%=
  1908. (stitchwidth)
  1909. rowht%=
  1910. (rowht)
  1911. gridwidth%=
  1912. gstitches$
  1913. gridheight%=
  1914. grows$
  1915. "gridwidth%=
  1916. ans_conv_stitches$
  1917. gridheight%=
  1918. ans_conv_rows$
  1919.  stitchwidth=
  1920. b(stitch_width)
  1921. rowht=
  1922. b(row_height)
  1923. stitchwidth%=
  1924. (stitchwidth)
  1925. rowht%=
  1926. (rowht)
  1927. h(jacmenu%,0)=
  1928.  double%=2 
  1929.  double%=1
  1930.  found%, jigtable%, nrows%, row%, stitch%, nstitches%, col%, i%, jigrow%, blank%, line%
  1931.  dups%, bigtable%
  1932.  manner% 
  1933.  0 : nrows%=
  1934. (grows$) : nstitches%=
  1935. (gstitches$)
  1936.  1 : nrows%=
  1937. (ans_conv_rows$) : nstitches%=
  1938. (ans_conv_stitches$)
  1939. blank%=
  1940. line%=nrows%-1
  1941. stitch%=0
  1942.  ?(coltable%+line%*nstitches%+stitch%)<128 
  1943.  blank%=
  1944. stitch%+=1
  1945.  stitch%=nstitches% 
  1946.  blank%=
  1947. line%-=1
  1948.  line%=-1 
  1949.  blank%=
  1950. nrows%=line%+1
  1951.  (nrows% 
  1952.  2)<>1 
  1953. gb("There is an odd number of rows in the pattern you have dragged in. Jigsaw patterns can only be made from a pattern with an even number of rows.")
  1954. 3jigtable%=
  1955. a((maxcol%+1)*(nrows%+1)*nstitches%)
  1956. jigrow%=0
  1957.  row%=0 
  1958.  nrows%-1 
  1959.  col%=0 
  1960.  maxcol%+1 : block%?col%=255 : 
  1961.  col%
  1962.  stitch%=0 
  1963.  2*nstitches%-1
  1964. ,col%=coltable%?(row%*nstitches%+stitch%)
  1965.     i%=-1
  1966.     i%+=1
  1967.  block%?i%=255 
  1968.  block%?i%=col% 
  1969.  i%>maxcol%
  1970.  block%?i%=255 
  1971.  block%?i%=col%
  1972.  stitch%
  1973.  stitch%=0 
  1974.  nstitches%-1
  1975.  coltable%?(row%*nstitches%+stitch%)=yarncol% 
  1976.  jigtable%?(jigrow%*nstitches%+stitch%)=yarncol% 
  1977.  jigtable%?(jigrow%*nstitches%+stitch%)=128
  1978.  stitch%
  1979. jigrow%+=1
  1980.  block%?i%<>255
  1981. col%=block%?i%
  1982.  col%<>yarncol% 
  1983.  stitch%=0 
  1984.  nstitches%-1
  1985.  coltable%?(row%*nstitches%+stitch%)=col% 
  1986.  jigtable%?(jigrow%*nstitches%+stitch%)=col% 
  1987.  jigtable%?(jigrow%*nstitches%+stitch%)=128
  1988.  stitch%
  1989. jigrow%+=1
  1990.  stitch%=0 
  1991.  nstitches%-1
  1992.  coltable%?((row%+1)*nstitches%+stitch%)=col% 
  1993.  jigtable%?(jigrow%*nstitches%+stitch%)=col% 
  1994.  jigtable%?(jigrow%*nstitches%+stitch%)=128
  1995.  stitch%
  1996. jigrow%+=1
  1997.     i%+=1
  1998.  stitch%=0 
  1999.  nstitches%-1
  2000.  coltable%?((row%+1)*nstitches%+stitch%)=yarncol% 
  2001.  jigtable%?(jigrow%*nstitches%+stitch%)=yarncol% 
  2002.  jigtable%?(jigrow%*nstitches%+stitch%)=128
  2003.  stitch%
  2004. jigrow%+=1
  2005.  row%
  2006.  jigrow%<36 
  2007. ,dups%=36 
  2008.  (jigrow%)-(36 
  2009.  (jigrow%)<>0)
  2010. 6bigtable%=
  2011. a(jigrow%*nstitches%*(maxcol%+1)*dups%)
  2012.  i%=0 
  2013.  dups%-1
  2014.  stitch%=0 
  2015.  jigrow%*nstitches%
  2016. ?bigtable%?(i%*jigrow%*nstitches%+stitch%)=jigtable%?stitch%
  2017.  stitch%
  2018. jigtable%=
  2019. d(jigtable%)
  2020. jigtable%=bigtable%
  2021. jigrow%=jigrow%*dups%
  2022. coltable%=
  2023. d(coltable%)
  2024. coltable%=jigtable%
  2025. $coltablesize%=nstitches%*jigrow%
  2026. grows$=
  2027. (jigrow%)
  2028.  manner%=1 
  2029. 9gheight$=
  2030. (tension_sq_height$)/
  2031. (tension_sq_rows$))
  2032. ;gwidth$=
  2033. (tension_sq_width$)/
  2034. (tension_sq_stitches$))
  2035. !gstitches$=ans_conv_stitches$
  2036. tension_sq_width$="0.0"
  2037. tension_sq_height$="0.0"
  2038. tension_sq_stitches$="0"
  2039. tension_sq_rows$="0"
  2040. ans_conv_rows$="0"
  2041. ans_conv_stitches$="0"
  2042. conv_rows$="0.0"
  2043. conv_stitches$="0.0"
  2044. textdispvar%=6
  2045. main37%=0
  2046. main0%=0
  2047. mastergrey%=4
  2048. pictype$="none"
  2049. spriteon%=
  2050. manner%=0
  2051. sclmul$="1"
  2052. scldiv$="1"
  2053. jb(fname$)
  2054.