Home » Archimedes archive » Micro User » MU 1990-05.adf » !Embroider/!RunImage

!Embroider/!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 » Micro User » MU 1990-05.adf
Filename: !Embroider/!RunImage
Read OK:
File size: 2727 bytes
Load address: FFFFFB43
Exec address: 6D391F89
File contents
   10REM > <Embroider$Dir>.!RunImage
   30SYS "Wimp_Initialise",200,"TASK","Embroider" TO version%
   40DIM wimpblock% &100
   50
   51SYS "Wimp_SetMode",15
   60ONERROR PROCmode_error(ERR,REPORT$)
   70IF MODE<>15:ERROR 123,"Embroider requires MODE 15. (Click MENU over the palette on the icon bar to change mode)."
   80
   90ONERROR:SYS "Wimp_CloseDown":QUIT
  100MODE15:OFF
  110VDU19,0,24,112,112,112
  120DIMcll 7,tnt 7:FORI%=0TO7:READcll?I%,tnt?I%:NEXT
  130X=0:Y=0:W=1279:H=1023
  140FORJ%=7TO0STEP-1:GCOL cll?J% TINT tnt?J%:RECTANGLE FILL X,Y,W,H:X+=4:Y+=4:W-=8:H-=8:NEXT
  150X+=4:Y+=4:W-=8:H-=8
  160FORJ%=0TO7:GCOL cll?J% TINT tnt?J%:RECTANGLE FILL X,Y,W,H:X+=4:Y+=4:W-=8:H-=8:NEXT
  170VDU24,124;580;1279;1023;
  180*SCREENLOAD <Quilling$Dir>.CS2
  190VDU24,1064;624;1279;1023;
  200*SCREENLOAD <Quilling$Dir>.C2b
  210VDU24,324;340;1279;1023;
  220*SCREENLOAD <Quilling$Dir>.emb
  230TIME=0:REPEATUNTILTIME>200
  240*POINTER
  250PROCConfirm
  260MODE15:OFF
  270DIM mag_sprite &3D90:!mag_sprite=&3D90:mag_sprite!8=16
  280large%=mag_sprite+&10
  290
  300VDU19,0,24,0,240,240
  310VDU23,128,&FF,&FF,&FF,&FF,&FF,&FF,&FF,&FF,23,129,24,8,8,8,8,8,24,0,23,130,&FF,96,48,24,48,96,&FF,0,23,131,248,12,6,3,6,12,248,0,23,132,0,31,15,7,15,31,0,0,23,133,0,240,248,252,248,240,0,0
  320VDU23,134,31,48,96,192,96,48,31,0,23,135,&FF,6,12,24,12,6,&FF,0,23,136,0,15,31,63,31,15,0,0,23,137,0,248,240,224,240,248,0,0
  330extras=50
  340DIM c% 7800
  350OSCLI("Load <Embroider$Dir>.code "+STR$~c%)
  360NoGrid%=&0+c%:grid_draw=&10+c%:Copy%=&1B8+c%:shift=&290+c%:ScreenMatrixAddress=&480+c%:PageMatrixAddress=&8F4+c%:SizeXAddress=&CA0+c%
  370PatternNumberAddress=&90C+c%:backcolAddress=&4+c%:paletteAddress=&620+c%:PatternEditAddress=&CB8+c%:PatternSpriteAddress=&504+c%
  380PatternMatrixAddress=&1384+c%:scaleAddress=&470+c%:PSQAddress=&2DC+c%:PatternSpaceAddress=&474+c%:DiyMatrixAddress=&D58+c%
  390ColourTableAddress=&D9C+c%:TempMatrixAddress=&47C+c%:WinX%=&CB4+c%:StoreDiy=&D5C+c%:init=&CC0+c%:Revive=&2EC+c%:cp%=&2D8+c%:PG=&118C+c%
  400SmallGrids=&E0C+c%:GetDiyDimensions=&7C8+c%:put_diy=&DA0+c%:BotClear=&1388+c%:diy_rt=&7A8+c%:diy_lt=&7A4+c%:diy_bot=&7AC+c%:diy_top=&7B0+c%
  410display=&AF0+c%:WW=&AEC+c%:W=&898+c%:flip=&490+c%:ColStore=&4DC+c%:WriteNumber=&102C+c%:put_diy=&DA0+c%:blank_off=&1C4+c%:xx=&628+c%:yy=&62C+c%
  420PutPatternOnSprite=&510+c%:JJshift=&1254+c%:rename=&10E4+c%:CPshift=&1204+c%:SX=&1288+c%:SY=&128C+c%:draw=&18B4+c%:Fshift=&1308+c%:pb%=&2D4+c%
  430Floater=&484+c%:Flip=&488+c%:ps%=&48C+c%:colour=&4D8+c%:Pwidth%=&4FC+c%:Pheight%=&500+c%:PLt%=&634+c%:PRt%=&638+c%:PBt%=&63C+c%:PTp%=&640+c%
  440DX%=&794+c%:DY%=&79C+c%:Lt%=&7B4+c%:Rt%=&7B8+c%:Bt%=&7BC+c%:Tp%=&7C0+c%:scale%=&87C+c%:DiyMatrix%=&89C+c%:S=&8EC+c%:DisplayedStitch%=&8F0+c%
  450size_x%=&CA8+c%:size_y%=&CAC+c%:found%=&CB0+c%:new%=&1184+c%:oldPC%=&12F8+c%:PCdiff%=&12FC+c%:SizeYAddress=&CA4+c%:palette=&14EC+c%
  460PatternEdit%=&152C+c%:Hand=&157C+c%:bigbrush=&15D0+c%:smallbrush=&162A+c%:pal_cols=&164A+c%:sx%=&168A+c%:sy%=&170A+c%:Sx%=&182E+c%
  470ColourTable=&88C+c%:StitchesAddress=&478+c%:CurrentPatternAddress%=&11F0+c%:calc=&1230+c%:calc2=&11F4+c%:SM=&1BC+c%:PtSqAddress%=&2C8+c%
  480fill_in=&1294+c%:remove%=&1380+c%:SizeX%=&178A+c%:SizeY%=&17DC+c%
  490Tfiles=24
  500DIM listA Tfiles*11,listB Tfiles*11,buffer 11,bytes 3,param 9
  510B%=listB
  600DIM ScreenMatrix% &13FF,Psquares% &14000
  610eof%=4+4+&4800+extras*64+(9+extras)*4+64+4
  620DIM data% eof%
  630backcol=data%
  640PalVals=backcol+4
  650PageMatrix%=PalVals+4
  660InUse%=PageMatrix%+(extras*64)
  670PatternMatrix%=InUse%+(9+extras)*4
  680PatternNumber%=PatternMatrix%+64
  690PatternSpace%=PatternNumber%+4
  700FORI%=0TOextras*64-4 STEP4:PageMatrix%!I%=&FFFFFFFF:NEXT
  710DIM TempMatrix% 63,PX% 7,PY% 7,small% 2
  720DIM PatternSprite &43810:!PatternSprite=&43810:PatternSprite!8=16
  730NumOfStitches%=PatternEdit%+7
  740!ScreenMatrixAddress=ScreenMatrix%:!PageMatrixAddress=PageMatrix%:!SizeXAddress=SizeX%:!SizeYAddress=SizeY%:!PatternNumberAddress=PatternNumber%:!backcolAddress=backcol:!paletteAddress=palette:!PatternEditAddress=PatternEdit%
  750!PatternSpriteAddress=PatternSprite:!PatternMatrixAddress=PatternMatrix%:!scaleAddress=scale%:!PSQAddress=Psquares%:!PatternSpaceAddress=PatternSpace%:!DiyMatrixAddress=DiyMatrix%:!ColourTableAddress=ColourTable:!TempMatrixAddress=TempMatrix%
  760TT%=OPENIN "<Embroider$Dir>.Pieces":T%=EXT#TT%+16:CLOSE#TT%
  770T%+=extras*&500
  780DIM Stitches% T%:!Stitches%=T%:Stitches%!8=1
  790SYS &2E,256+9,Stitches%:SYS &2E,256+10,Stitches%,"<Embroider$Dir>.Pieces"
  800SYS &2E,256+15,Stitches%,"DIY",0,32,32,15
  810SYS &2E,256+29,Stitches%,"DIY"
  820!StitchesAddress=Stitches%
  830scale%!8=1:scale%!12=1
  840VDU5
  850PaletteFlag%=1:!NoGrid%=0:Scale%=2:!WinX%=636:Pal_x%=336:Pal_y%=0:WindowsOn%=0:Colour%=0:kolour%=pal_cols?Colour%
  860FlipFlag%=0:!diy_lt=-20:!diy_rt=0:!diy_bot=232:!diy_top=248:!PatternNumber%=0:?backcol=63:backcol?1=192
  870MaxStitch=16
  880PROCinit
  890scale%!0=2:scale%!4=1:!ColourTable=&CBCAC9C8
  900PROCpalette:PROCwindow
  910GCOL48
  920PRINTTAB(6,20)"the palette >"
  930PRINTTAB(58,25)"< ready-made stitches"
  940PRINTTAB(58,12)"< pieces to make"TAB(60,13)"your own stitches"
  950GCOL0
  960PROCText("This is where the",6,3,"patterns are created.",6,5)
  970!NoGrid%=1
  980PROCload("a1")
  990!WinX%=1000:Pal_x%=852:PROCpalette:PROCwindow
 1000GCOL63 TINT192
 1010PRINTTAB(0,4)"A single stitch can be"TAB(0,6)"in different colours..."TAB(25,1)"...flipped horizontally"TAB(39,5)"or vertically..."
 1020PRINTTAB(4,15)"...and made into different stitch patterns."
 1030PRINTTAB(28,22)"Patterns can"
 1040PROCText("be combined to",28,24,"create designs.",28,26)
 1050PROCShowPic:SYS "Hourglass_Off"
 1060PROCpalette:PROCwindow
 1070PRINTTAB(0,4)"Use the magnifier to study the stitches closely."
 1080PRINTTAB(0,6)"Click ADJUST (right button) to change the magnification."
 1090PRINTTAB(0,8)"Click any other button to finish."
 1100PROCmagnify:MOUSE OFF
 1110PROCload("a2")
 1120GCOL15
 1130PRINTTAB(30,10)"Stitches can be combined"TAB(26,21)"to create interesting patterns."
 1140PROCmagnify:MOUSE OFF
 1150GCOL128:CLG
 1160PROCwindow
 1170PROCText("By creating your own stitches from the small pieces > > >",5,14,"some interesting textured effects are possible.",5,16)
 1180PROCload("a3"):PROCConfirm
 1190GCOL128:CLG:GCOL15
 1200PROCText("Here are some completed designs...",20,14,"",40,15)
 1210PROCload("Headland"):PROCConfirm
 1220PROCload("Houses"):PROCConfirm
 1230PROCload("Design"):PROCConfirm
 1240PROCload("Textures"):PROCConfirm
 1250PROCload("Stripes"):PROCConfirm
 1260GCOL128:CLG:GCOL15
 1270PROCText("Back to the desktop...",20,18,"",40,15)
 1280SYS "Wimp_CloseDown":QUIT
 1290DEFPROCload(fn$)
 1300GCOL 128:CLG
 1310filename$="<Embroider$Dir>.embrdrfile."+fn$
 1320SYS "OS_Find",1,filename$ TO channel:SYS "OS_GBPB",4,channel,bytes,4:SYS "OS_GBPB",4,channel,data%,!bytes:SYS "OS_GBPB",4,channel,bytes,4:SYS "OS_GBPB",4,channel,!PSQAddress,!bytes:SYS "OS_Find",0,channel
 1330PROCinit:VDU19,0,24,PalVals?1,PalVals?2,PalVals?3
 1340ENDPROC
 1350
 1360
 1370
 1380DEFPROCText(T1$,TX1%,TY1%,T2$,TX2%,TY2%)
 1390PRINTTAB(TX1%,TY1%)T1$
 1400PRINTTAB(TX2%,TY2%)T2$
 1410TIME=0:REPEATUNTILTIME>20
 1420PROCConfirm
 1430ENDPROC
 2000DATA63,192,63,0
 2010DATA42,128,42,0
 2020DATA21,128,21,0
 2030DATA0,128,0,0
 2040
 2050DEFPROCmode_error(err%,err$)
 2060!wimpblock%=err%:$(wimpblock%+4)=err$:?(wimpblock%+4+LENerr$)=0
 2070SYS "Wimp_ReportError",wimpblock%,0,"Embroider"
 2080SYS "Wimp_CloseDown":QUIT
 2090ENDPROC
 2100
 2110DEFPROCinit
 2120SYS &2E,256+9,PatternSprite
 2130SYS "Hourglass_On"
 2140CALLinit
 2150CASE TRUE OF
 2160WHEN !PatternNumber%>0:CALL Revive:!CurrentPatternAddress%=!cp%
 2170OTHERWISE
 2180!CurrentPatternAddress%=PatternSpace%
 2190?PatternSpace%=0
 2200PatternEdit%?0=8
 2210FORI%=0TO(8+extras):InUse%!(I%*4)=0:NEXT
 2220ENDCASE
 2230?NumOfStitches%=0
 2240FORI%=0TO60 STEP4:PatternMatrix%!I%=&FFFFFFFF:NEXT
 2250InUse%=PageMatrix%+(extras*64)
 2260SYS "Hourglass_Off"
 2270ENDPROC
 2280
 2290DEFPROCwindow
 2300WindowsOn%=1
 2310VDU29,!WinX%;0;
 2320CALL draw
 2330CALLSmallGrids
 2340PROCPatGrid
 2350CALL WriteNumber
 2360ColourTable?8=0
 2370scale%!0=4:scale%!4=2
 2380!ColourTable=&CBCAC9C8
 2390FORW%=0TO22:SYS &2E,256+52,Stitches%,"z"+STR$W%,sx%!(W%*4),sy%!(W%*4),8,scale%,ColourTable:NEXT
 2400scale%!0=2:scale%!4=1
 2410!ColourTable=&1F1E1D1C
 2420FORW%=23TO31:SYS &2E,256+52,Stitches%,STR$(W%-23),sx%!(W%*4),sy%!(W%*4),8,scale%,ColourTable:NEXT
 2430VDU29|
 2440FORW%=0TO31:Sx%!(W%*4)=sx%!(W%*4)+!WinX%:NEXT
 2450CALL put_diy
 2460FORI%=0TO3
 2470GCOLkolour% TINTI%<<6
 2480RECTANGLE FILL !WinX%+8,400+I%*8,128,4
 2490NEXT
 2500GCOL3,15 TINT 192
 2510IF(FlipFlag% AND1)=1:RECTANGLE FILL !WinX%+16,224,42,24
 2520IF(FlipFlag% AND2)=2:RECTANGLE FILL !WinX%+16,192,42,24
 2530SYS &2E,256+34,Stitches%,"glass",!WinX%+228,672,0
 2540ENDPROC
 2550
 2560DEFPROCPatGrid
 2570GCOL 63 TINT 192:RECTANGLE FILL 18,52,125,121
 2580FORI%=0TO7
 2590GCOL 63 TINT 0
 2600LINE16+I%*16,48,16+I%*16,172:LINE16,48+I%*16,143,48+I%*16
 2610NEXT
 2620ENDPROC
 2630
 2640DEFPROCmagnify
 2650MOUSE OFF:$small%="s0":sm%=small%+1:mag%=2
 2660SYS &2E,256+9,mag_sprite:SYS &2E,256+16,mag_sprite,small%,0,x%-100,y%-100,x%+100,y%+100:SYS &2E,256+15,mag_sprite,large%,0,100,50,15
 2670?sm%=?sm%EOR1:out%=1:PROCmgs:PROCMouseOff
 2680REPEAT
 2690SYS &2E,256+60,mag_sprite,small%,0 TO r0%,r1%,r2%,r3%:SYS &2E,256+34,mag_sprite,large%,x%-ox%,y%-oy%,8:SYS &2E,r0%,r1%,r2%,r3%:SYS &2E,256+34,mag_sprite,small%,ox%-100,oy%-100,0:SYS &2E,256+34,mag_sprite,large%,x%-100,y%-100,8
 2700GCOL 63 TINT 192:RECTANGLE x%-100,y%-100,200,200:GCOL 0 TINT 0:RECTANGLE x%-98,y%-96,196,192
 2710out%=0:PROCmgs
 2720UNTIL out%=1
 2730SYS &2E,256+34,mag_sprite,small%,ox%-100,oy%-100,0:MOUSE ON:PROCMouseOff
 2740ENDPROC
 2750
 2760DEFPROCmgs
 2770ox%=x%:oy%=y%
 2780REPEAT:MOUSE x%,y%,b%:x%=x%ANDNOT1:y%=y%ANDNOT3
 2790CASE b% OF
 2800WHEN 1:PROCMouseOff:mag%=mag%EOR6:out%=2
 2810WHEN 2,4:out%=1
 2820ENDCASE
 2830UNTILout%ORx%<>ox%ORy%<>oy%
 2840scale%!0=mag%:scale%!4=mag%:SYS &2E,256+16,mag_sprite,small%,0,x%-100,y%-100,x%+100,y%+100:SYS &2E,256+60,mag_sprite,small%,0 TO r0%,r1%,r2%,r3%:?sm%=?sm%EOR1:SYS &2E,256+34,mag_sprite,small%,ox%-x%,oy%-y%,0
 2850?sm%=?sm%EOR1:SYS &2E,256+60,mag_sprite,large%,0:SYS &2E,256+52,mag_sprite,small%,100-100*mag%,100-100*mag%,0,scale%,-1:SYS &2E,r0%,r1%,r2%,r3%:?sm%=?sm%EOR1
 2860ENDPROC
 2870
 2880DEFPROCShowPic
 2890SYS "Hourglass_On":CALL grid_draw:IF!PatternNumber%=0 ENDPROC
 2900scale%!0=2:scale%!4=1:PS%=PatternSpace%
 2910FORF%=0TO!PatternNumber%-1:x%=PS%?1*16:y%=PS%?2*16:SYS &2E,256+52,PatternSprite,STR$F%,x%,y%,8,scale%,0:PS%+=?PS%:NEXT
 2920ENDPROC
 2930
 2940DEFPROCpalette
 2950GCOL0 TINT0:RECTANGLE FILL Pal_x%,Pal_y%,146,620:GCOL63 TINT192:MOVEPal_x%,Pal_y%+580:DRAWPal_x%+146,Pal_y%+580
 2960FORI%=0TO3:GCOLkolour% TINTI%<<6:RECTANGLE FILL Pal_x%+40,Pal_y%+588+I%*8,66,4:NEXT
 2970PROCrc:RECTANGLE FILL Pal_x%+112,Pal_y%+588,31,28:GCOL63 TINT192:MOVEPal_x%+112,Pal_y%+616:PRINTkolour%
 2980px%=Pal_x%+4:shade%=0
 2990FORcolumn%=0TO3:py%=Pal_y%+4
 3000FORI%=0TO15:GCOL pal_cols?shade%:RECTANGLE FILL px%,py%,31,31:shade%+=1:py%+=36:NEXT
 3010px%+=36
 3020NEXT
 3030ENDPROC
 3040
 3050DEFPROCConfirm:MOUSE ON:OSCLI("FX21 0"):PROCMouseOff:SYS "OS_Confirm"TO key:PROCMouseOff:MOUSE OFF:ab%=0:IFkey=121 ab%=4
 3060ENDPROC
 3070DEFPROCMouseOff:REPEAT:MOUSE m1%,m2%,m3%:UNTILm3%=0:ENDPROC
 3080DEFPROCrc:GCOL21 TINT128:RECTANGLE FILL Pal_x%+4,Pal_y%+588,31,28:ENDPROC

!� > <Embroider$Dir>.!RunImage
:ș "Wimp_Initialise",200,"TASK","Embroider" � version%
(� wimpblock% &100
2
3ș "Wimp_SetMode",15
<� �mode_error(�,�$)
Fm� �<>15:� 123,"Embroider requires MODE 15. (Click MENU over the palette on the icon bar to change mode)."
P
Z�:ș "Wimp_CloseDown":Ș
d	�15:�
n�19,0,24,112,112,112
x)�cll 7,tnt 7:�I%=0�7:�cll?I%,tnt?I%:�
�X=0:Y=0:W=1279:H=1023
�E�J%=7�0�-1:� cll?J% Ȝ tnt?J%:ȓ Ȑ X,Y,W,H:X+=4:Y+=4:W-=8:H-=8:�
�X+=4:Y+=4:W-=8:H-=8
�B�J%=0�7:� cll?J% Ȝ tnt?J%:ȓ Ȑ X,Y,W,H:X+=4:Y+=4:W-=8:H-=8:�
��24,124;580;1279;1023;
�"*SCREENLOAD <Quilling$Dir>.CS2
��24,1064;624;1279;1023;
�"*SCREENLOAD <Quilling$Dir>.C2b
��24,324;340;1279;1023;
�"*SCREENLOAD <Quilling$Dir>.emb
��=0:���>200
�*POINTER
��Confirm
	�15:�
8� mag_sprite &3D90:!mag_sprite=&3D90:mag_sprite!8=16
large%=mag_sprite+&10
"
,�19,0,24,0,240,240
6��23,128,&FF,&FF,&FF,&FF,&FF,&FF,&FF,&FF,23,129,24,8,8,8,8,8,24,0,23,130,&FF,96,48,24,48,96,&FF,0,23,131,248,12,6,3,6,12,248,0,23,132,0,31,15,7,15,31,0,0,23,133,0,240,248,252,248,240,0,0
@~�23,134,31,48,96,192,96,48,31,0,23,135,&FF,6,12,24,12,6,&FF,0,23,136,0,15,31,63,31,15,0,0,23,137,0,248,240,224,240,248,0,0
J
extras=50
T
� c% 7800
^(�("Load <Embroider$Dir>.code "+�~c%)
h�NoGrid%=&0+c%:grid_draw=&10+c%:Copy%=&1B8+c%:shift=&290+c%:ScreenMatrixAddress=&480+c%:PageMatrixAddress=&8F4+c%:SizeXAddress=&CA0+c%
r�PatternNumberAddress=&90C+c%:backcolAddress=&4+c%:paletteAddress=&620+c%:PatternEditAddress=&CB8+c%:PatternSpriteAddress=&504+c%
|~PatternMatrixAddress=&1384+c%:scaleAddress=&470+c%:PSQAddress=&2DC+c%:PatternSpaceAddress=&474+c%:DiyMatrixAddress=&D58+c%
��ColourTableAddress=&D9C+c%:TempMatrixAddress=&47C+c%:WinX%=&CB4+c%:StoreDiy=&D5C+c%:init=&CC0+c%:Revive=&2EC+c%:cp%=&2D8+c%:PG=&118C+c%
��SmallGrids=&E0C+c%:GetDiyDimensions=&7C8+c%:put_diy=&DA0+c%:BotClear=&1388+c%:diy_rt=&7A8+c%:diy_lt=&7A4+c%:diy_bot=&7AC+c%:diy_top=&7B0+c%
��display=&AF0+c%:WW=&AEC+c%:W=&898+c%:flip=&490+c%:ColStore=&4DC+c%:WriteNumber=&102C+c%:put_diy=&DA0+c%:blank_off=&1C4+c%:xx=&628+c%:yy=&62C+c%
��PutPatternOnSprite=&510+c%:JJshift=&1254+c%:rename=&10E4+c%:CPshift=&1204+c%:SX=&1288+c%:SY=&128C+c%:draw=&18B4+c%:Fshift=&1308+c%:pb%=&2D4+c%
��Floater=&484+c%:Flip=&488+c%:ps%=&48C+c%:colour=&4D8+c%:Pwidth%=&4FC+c%:Pheight%=&500+c%:PLt%=&634+c%:PRt%=&638+c%:PBt%=&63C+c%:PTp%=&640+c%
��DX%=&794+c%:DY%=&79C+c%:Lt%=&7B4+c%:Rt%=&7B8+c%:Bt%=&7BC+c%:Tp%=&7C0+c%:scale%=&87C+c%:DiyMatrix%=&89C+c%:S=&8EC+c%:DisplayedStitch%=&8F0+c%
‡size_x%=&CA8+c%:size_y%=&CAC+c%:found%=&CB0+c%:new%=&1184+c%:oldPC%=&12F8+c%:PCdiff%=&12FC+c%:SizeYAddress=&CA4+c%:palette=&14EC+c%
̆PatternEdit%=&152C+c%:Hand=&157C+c%:bigbrush=&15D0+c%:smallbrush=&162A+c%:pal_cols=&164A+c%:sx%=&168A+c%:sy%=&170A+c%:Sx%=&182E+c%
֌ColourTable=&88C+c%:StitchesAddress=&478+c%:CurrentPatternAddress%=&11F0+c%:calc=&1230+c%:calc2=&11F4+c%:SM=&1BC+c%:PtSqAddress%=&2C8+c%
�Efill_in=&1294+c%:remove%=&1380+c%:SizeX%=&178A+c%:SizeY%=&17DC+c%
�
Tfiles=24
�?� listA Tfiles*11,listB Tfiles*11,buffer 11,bytes 3,param 9
�B%=listB
X*� ScreenMatrix% &13FF,Psquares% &14000
b.eof%=4+4+&4800+extras*64+(9+extras)*4+64+4
l� data% eof%
vbackcol=data%
�PalVals=backcol+4
�PageMatrix%=PalVals+4
�"InUse%=PageMatrix%+(extras*64)
�&PatternMatrix%=InUse%+(9+extras)*4
�$PatternNumber%=PatternMatrix%+64
�"PatternSpace%=PatternNumber%+4
�3�I%=0�extras*64-4 �4:PageMatrix%!I%=&FFFFFFFF:�
�)� TempMatrix% 63,PX% 7,PY% 7,small% 2
�C� PatternSprite &43810:!PatternSprite=&43810:PatternSprite!8=16
�!NumOfStitches%=PatternEdit%+7
��!ScreenMatrixAddress=ScreenMatrix%:!PageMatrixAddress=PageMatrix%:!SizeXAddress=SizeX%:!SizeYAddress=SizeY%:!PatternNumberAddress=PatternNumber%:!backcolAddress=backcol:!paletteAddress=palette:!PatternEditAddress=PatternEdit%
�!PatternSpriteAddress=PatternSprite:!PatternMatrixAddress=PatternMatrix%:!scaleAddress=scale%:!PSQAddress=Psquares%:!PatternSpaceAddress=PatternSpace%:!DiyMatrixAddress=DiyMatrix%:!ColourTableAddress=ColourTable:!TempMatrixAddress=TempMatrix%
�4TT%=� "<Embroider$Dir>.Pieces":T%=�#TT%+16:�#TT%
T%+=extras*&500
.� Stitches% T%:!Stitches%=T%:Stitches%!8=1
Kș &2E,256+9,Stitches%:ș &2E,256+10,Stitches%,"<Embroider$Dir>.Pieces"
 ,ș &2E,256+15,Stitches%,"DIY",0,32,32,15
*!ș &2E,256+29,Stitches%,"DIY"
4!StitchesAddress=Stitches%
>scale%!8=1:scale%!12=1
H�5
RuPaletteFlag%=1:!NoGrid%=0:Scale%=2:!WinX%=636:Pal_x%=336:Pal_y%=0:WindowsOn%=0:Colour%=0:kolour%=pal_cols?Colour%
\kFlipFlag%=0:!diy_lt=-20:!diy_rt=0:!diy_bot=232:!diy_top=248:!PatternNumber%=0:?backcol=63:backcol?1=192
fMaxStitch=16
p	�init
z0scale%!0=2:scale%!4=1:!ColourTable=&CBCAC9C8
��palette:�window
��48
��6,20)"the palette >"
�#�58,25)"< ready-made stitches"
�8�58,12)"< pieces to make"�60,13)"your own stitches"
��0
�>�Text("This is where the",6,3,"patterns are created.",6,5)
�!NoGrid%=1
��load("a1")
�+!WinX%=1000:Pal_x%=852:�palette:�window
�
�63 Ȝ192
�w�0,4)"A single stitch can be"�0,6)"in different colours..."�25,1)"...flipped horizontally"�39,5)"or vertically..."
�8�4,15)"...and made into different stitch patterns."
�28,22)"Patterns can"
9�Text("be combined to",28,24,"create designs.",28,26)
�ShowPic:ș "Hourglass_Off"
$�palette:�window
.<�0,4)"Use the magnifier to study the stitches closely."
8D�0,6)"Click ADJUST (right button) to change the magnification."
B-�0,8)"Click any other button to finish."
L�magnify:ȗ �
V�load("a2")
`�15
jN�30,10)"Stitches can be combined"�26,21)"to create interesting patterns."
t�magnify:ȗ �
~
�128:�
��window
���Text("By creating your own stitches from the small pieces > > >",5,14,"some interesting textured effects are possible.",5,16)
��load("a3"):�Confirm
��128:�:�15
�>�Text("Here are some completed designs...",20,14,"",40,15)
��load("Headland"):�Confirm
��load("Houses"):�Confirm
��load("Design"):�Confirm
��load("Textures"):�Confirm
��load("Stripes"):�Confirm
��128:�:�15
�2�Text("Back to the desktop...",20,18,"",40,15)
ș "Wimp_CloseDown":Ș

��load(fn$)
� 128:�
/filename$="<Embroider$Dir>.embrdrfile."+fn$
(�ș "OS_Find",1,filename$ � channel:ș "OS_GBPB",4,channel,bytes,4:ș "OS_GBPB",4,channel,data%,!bytes:ș "OS_GBPB",4,channel,bytes,4:ș "OS_GBPB",4,channel,!PSQAddress,!bytes:ș "OS_Find",0,channel
20�init:�19,0,24,PalVals?1,PalVals?2,PalVals?3
<�
F
P
Z
d'��Text(T1$,TX1%,TY1%,T2$,TX2%,TY2%)
n�TX1%,TY1%)T1$
x�TX2%,TY2%)T2$
��=0:���>20
��Confirm
��
��63,192,63,0
��42,128,42,0
��21,128,21,0
��0,128,0,0
�
��mode_error(err%,err$)
A!wimpblock%=err%:$(wimpblock%+4)=err$:?(wimpblock%+4+�err$)=0
2ș "Wimp_ReportError",wimpblock%,0,"Embroider"
 ș "Wimp_CloseDown":Ș
*�
4
>
��init
Hș &2E,256+9,PatternSprite
Rș "Hourglass_On"
\	�init
f
Ȏ � �
p=� !PatternNumber%>0:� Revive:!CurrentPatternAddress%=!cp%
z
�)!CurrentPatternAddress%=PatternSpace%
�?PatternSpace%=0
�PatternEdit%?0=8
�&�I%=0�(8+extras):InUse%!(I%*4)=0:�
��
�?NumOfStitches%=0
�-�I%=0�60 �4:PatternMatrix%!I%=&FFFFFFFF:�
�"InUse%=PageMatrix%+(extras*64)
�ș "Hourglass_Off"
��
�
���window
�WindowsOn%=1
	�29,!WinX%;0;
	
� draw
	�SmallGrids
	$�PatGrid
	.� WriteNumber
	8ColourTable?8=0
	Bscale%!0=4:scale%!4=2
	L!ColourTable=&CBCAC9C8
	VY�W%=0�22:ș &2E,256+52,Stitches%,"z"+�W%,sx%!(W%*4),sy%!(W%*4),8,scale%,ColourTable:�
	`scale%!0=2:scale%!4=1
	j!ColourTable=&1F1E1D1C
	t[�W%=23�31:ș &2E,256+52,Stitches%,�(W%-23),sx%!(W%*4),sy%!(W%*4),8,scale%,ColourTable:�
	~�29|
	�+�W%=0�31:Sx%!(W%*4)=sx%!(W%*4)+!WinX%:�
	�
� put_diy
	��I%=0�3
	��kolour% ȜI%<<6
	�!ȓ Ȑ !WinX%+8,400+I%*8,128,4
	��
	��3,15 Ȝ 192
	�/�(FlipFlag% �1)=1:ȓ Ȑ !WinX%+16,224,42,24
	�/�(FlipFlag% �2)=2:ȓ Ȑ !WinX%+16,192,42,24
	�4ș &2E,256+34,Stitches%,"glass",!WinX%+228,672,0
	��
	�

��PatGrid

#� 63 Ȝ 192:ȓ Ȑ 18,52,125,121
�I%=0�7

� 63 Ȝ 0
(7�16+I%*16,48,16+I%*16,172:�16,48+I%*16,143,48+I%*16
2�
<�
F
P
��magnify
Z)ȗ �:$small%="s0":sm%=small%+1:mag%=2
d�ș &2E,256+9,mag_sprite:ș &2E,256+16,mag_sprite,small%,0,x%-100,y%-100,x%+100,y%+100:ș &2E,256+15,mag_sprite,large%,0,100,50,15
n%?sm%=?sm%�1:out%=1:�mgs:�MouseOff
x�
��ș &2E,256+60,mag_sprite,small%,0 � r0%,r1%,r2%,r3%:ș &2E,256+34,mag_sprite,large%,x%-ox%,y%-oy%,8:ș &2E,r0%,r1%,r2%,r3%:ș &2E,256+34,mag_sprite,small%,ox%-100,oy%-100,0:ș &2E,256+34,mag_sprite,large%,x%-100,y%-100,8
�H� 63 Ȝ 192:ȓ x%-100,y%-100,200,200:� 0 Ȝ 0:ȓ x%-98,y%-96,196,192
�out%=0:�mgs
�� out%=1
�Dș &2E,256+34,mag_sprite,small%,ox%-100,oy%-100,0:ȗ �:�MouseOff
��
�
�	��mgs
�ox%=x%:oy%=y%
�#�:ȗ x%,y%,b%:x%=x%��1:y%=y%��3
�Ȏ b% �
�$� 1:�MouseOff:mag%=mag%�6:out%=2
�� 2,4:out%=1
�
�out%�x%<>ox%�y%<>oy%
�scale%!0=mag%:scale%!4=mag%:ș &2E,256+16,mag_sprite,small%,0,x%-100,y%-100,x%+100,y%+100:ș &2E,256+60,mag_sprite,small%,0 � r0%,r1%,r2%,r3%:?sm%=?sm%�1:ș &2E,256+34,mag_sprite,small%,ox%-x%,oy%-y%,0
"�?sm%=?sm%�1:ș &2E,256+60,mag_sprite,large%,0:ș &2E,256+52,mag_sprite,small%,100-100*mag%,100-100*mag%,0,scale%,-1:ș &2E,r0%,r1%,r2%,r3%:?sm%=?sm%�1
,�
6
@
��ShowPic
J6ș "Hourglass_On":� grid_draw:�!PatternNumber%=0 �
T+scale%!0=2:scale%!4=1:PS%=PatternSpace%
^p�F%=0�!PatternNumber%-1:x%=PS%?1*16:y%=PS%?2*16:ș &2E,256+52,PatternSprite,�F%,x%,y%,8,scale%,0:PS%+=?PS%:�
h�
r
|
��palette
�Z�0 Ȝ0:ȓ Ȑ Pal_x%,Pal_y%,146,620:�63 Ȝ192:�Pal_x%,Pal_y%+580:�Pal_x%+146,Pal_y%+580
�C�I%=0�3:�kolour% ȜI%<<6:ȓ Ȑ Pal_x%+40,Pal_y%+588+I%*8,66,4:�
�S�rc:ȓ Ȑ Pal_x%+112,Pal_y%+588,31,28:�63 Ȝ192:�Pal_x%+112,Pal_y%+616:�kolour%
�px%=Pal_x%+4:shade%=0
��column%=0�3:py%=Pal_y%+4
�F�I%=0�15:� pal_cols?shade%:ȓ Ȑ px%,py%,31,31:shade%+=1:py%+=36:�
�px%+=36
��
��
�
�a��Confirm:ȗ �:�("FX21 0"):�MouseOff:ș "OS_Confirm"� key:�MouseOff:ȗ �:ab%=0:�key=121 ab%=4
��
�(��MouseOff:�:ȗ m1%,m2%,m3%:�m3%=0:�
4��rc:�21 Ȝ128:ȓ Ȑ Pal_x%+4,Pal_y%+588,31,28:�
�
00000000  0d 00 0a 21 f4 20 3e 20  3c 45 6d 62 72 6f 69 64  |...!. > <Embroid|
00000010  65 72 24 44 69 72 3e 2e  21 52 75 6e 49 6d 61 67  |er$Dir>.!RunImag|
00000020  65 0d 00 1e 3a c8 99 20  22 57 69 6d 70 5f 49 6e  |e...:.. "Wimp_In|
00000030  69 74 69 61 6c 69 73 65  22 2c 32 30 30 2c 22 54  |itialise",200,"T|
00000040  41 53 4b 22 2c 22 45 6d  62 72 6f 69 64 65 72 22  |ASK","Embroider"|
00000050  20 b8 20 76 65 72 73 69  6f 6e 25 0d 00 28 15 de  | . version%..(..|
00000060  20 77 69 6d 70 62 6c 6f  63 6b 25 20 26 31 30 30  | wimpblock% &100|
00000070  0d 00 32 04 0d 00 33 18  c8 99 20 22 57 69 6d 70  |..2...3... "Wimp|
00000080  5f 53 65 74 4d 6f 64 65  22 2c 31 35 0d 00 3c 18  |_SetMode",15..<.|
00000090  ee 85 20 f2 6d 6f 64 65  5f 65 72 72 6f 72 28 9f  |.. .mode_error(.|
000000a0  2c f6 24 29 0d 00 46 6d  e7 20 eb 3c 3e 31 35 3a  |,.$)..Fm. .<>15:|
000000b0  85 20 31 32 33 2c 22 45  6d 62 72 6f 69 64 65 72  |. 123,"Embroider|
000000c0  20 72 65 71 75 69 72 65  73 20 4d 4f 44 45 20 31  | requires MODE 1|
000000d0  35 2e 20 28 43 6c 69 63  6b 20 4d 45 4e 55 20 6f  |5. (Click MENU o|
000000e0  76 65 72 20 74 68 65 20  70 61 6c 65 74 74 65 20  |ver the palette |
000000f0  6f 6e 20 74 68 65 20 69  63 6f 6e 20 62 61 72 20  |on the icon bar |
00000100  74 6f 20 63 68 61 6e 67  65 20 6d 6f 64 65 29 2e  |to change mode).|
00000110  22 0d 00 50 04 0d 00 5a  1d ee 85 3a c8 99 20 22  |"..P...Z...:.. "|
00000120  57 69 6d 70 5f 43 6c 6f  73 65 44 6f 77 6e 22 3a  |Wimp_CloseDown":|
00000130  c8 98 0d 00 64 09 eb 31  35 3a 87 0d 00 6e 18 ef  |....d..15:...n..|
00000140  31 39 2c 30 2c 32 34 2c  31 31 32 2c 31 31 32 2c  |19,0,24,112,112,|
00000150  31 31 32 0d 00 78 29 de  63 6c 6c 20 37 2c 74 6e  |112..x).cll 7,tn|
00000160  74 20 37 3a e3 49 25 3d  30 b8 37 3a f3 63 6c 6c  |t 7:.I%=0.7:.cll|
00000170  3f 49 25 2c 74 6e 74 3f  49 25 3a ed 0d 00 82 19  |?I%,tnt?I%:.....|
00000180  58 3d 30 3a 59 3d 30 3a  57 3d 31 32 37 39 3a 48  |X=0:Y=0:W=1279:H|
00000190  3d 31 30 32 33 0d 00 8c  45 e3 4a 25 3d 37 b8 30  |=1023...E.J%=7.0|
000001a0  88 2d 31 3a e6 20 63 6c  6c 3f 4a 25 20 c8 9c 20  |.-1:. cll?J% .. |
000001b0  74 6e 74 3f 4a 25 3a c8  93 20 c8 90 20 58 2c 59  |tnt?J%:.. .. X,Y|
000001c0  2c 57 2c 48 3a 58 2b 3d  34 3a 59 2b 3d 34 3a 57  |,W,H:X+=4:Y+=4:W|
000001d0  2d 3d 38 3a 48 2d 3d 38  3a ed 0d 00 96 17 58 2b  |-=8:H-=8:.....X+|
000001e0  3d 34 3a 59 2b 3d 34 3a  57 2d 3d 38 3a 48 2d 3d  |=4:Y+=4:W-=8:H-=|
000001f0  38 0d 00 a0 42 e3 4a 25  3d 30 b8 37 3a e6 20 63  |8...B.J%=0.7:. c|
00000200  6c 6c 3f 4a 25 20 c8 9c  20 74 6e 74 3f 4a 25 3a  |ll?J% .. tnt?J%:|
00000210  c8 93 20 c8 90 20 58 2c  59 2c 57 2c 48 3a 58 2b  |.. .. X,Y,W,H:X+|
00000220  3d 34 3a 59 2b 3d 34 3a  57 2d 3d 38 3a 48 2d 3d  |=4:Y+=4:W-=8:H-=|
00000230  38 3a ed 0d 00 aa 1a ef  32 34 2c 31 32 34 3b 35  |8:......24,124;5|
00000240  38 30 3b 31 32 37 39 3b  31 30 32 33 3b 0d 00 b4  |80;1279;1023;...|
00000250  22 2a 53 43 52 45 45 4e  4c 4f 41 44 20 3c 51 75  |"*SCREENLOAD <Qu|
00000260  69 6c 6c 69 6e 67 24 44  69 72 3e 2e 43 53 32 0d  |illing$Dir>.CS2.|
00000270  00 be 1b ef 32 34 2c 31  30 36 34 3b 36 32 34 3b  |....24,1064;624;|
00000280  31 32 37 39 3b 31 30 32  33 3b 0d 00 c8 22 2a 53  |1279;1023;..."*S|
00000290  43 52 45 45 4e 4c 4f 41  44 20 3c 51 75 69 6c 6c  |CREENLOAD <Quill|
000002a0  69 6e 67 24 44 69 72 3e  2e 43 32 62 0d 00 d2 1a  |ing$Dir>.C2b....|
000002b0  ef 32 34 2c 33 32 34 3b  33 34 30 3b 31 32 37 39  |.24,324;340;1279|
000002c0  3b 31 30 32 33 3b 0d 00  dc 22 2a 53 43 52 45 45  |;1023;..."*SCREE|
000002d0  4e 4c 4f 41 44 20 3c 51  75 69 6c 6c 69 6e 67 24  |NLOAD <Quilling$|
000002e0  44 69 72 3e 2e 65 6d 62  0d 00 e6 0f d1 3d 30 3a  |Dir>.emb.....=0:|
000002f0  f5 fd 91 3e 32 30 30 0d  00 f0 0c 2a 50 4f 49 4e  |...>200....*POIN|
00000300  54 45 52 0d 00 fa 0c f2  43 6f 6e 66 69 72 6d 0d  |TER.....Confirm.|
00000310  01 04 09 eb 31 35 3a 87  0d 01 0e 38 de 20 6d 61  |....15:....8. ma|
00000320  67 5f 73 70 72 69 74 65  20 26 33 44 39 30 3a 21  |g_sprite &3D90:!|
00000330  6d 61 67 5f 73 70 72 69  74 65 3d 26 33 44 39 30  |mag_sprite=&3D90|
00000340  3a 6d 61 67 5f 73 70 72  69 74 65 21 38 3d 31 36  |:mag_sprite!8=16|
00000350  0d 01 18 19 6c 61 72 67  65 25 3d 6d 61 67 5f 73  |....large%=mag_s|
00000360  70 72 69 74 65 2b 26 31  30 0d 01 22 04 0d 01 2c  |prite+&10.."...,|
00000370  16 ef 31 39 2c 30 2c 32  34 2c 30 2c 32 34 30 2c  |..19,0,24,0,240,|
00000380  32 34 30 0d 01 36 bd ef  32 33 2c 31 32 38 2c 26  |240..6..23,128,&|
00000390  46 46 2c 26 46 46 2c 26  46 46 2c 26 46 46 2c 26  |FF,&FF,&FF,&FF,&|
000003a0  46 46 2c 26 46 46 2c 26  46 46 2c 26 46 46 2c 32  |FF,&FF,&FF,&FF,2|
000003b0  33 2c 31 32 39 2c 32 34  2c 38 2c 38 2c 38 2c 38  |3,129,24,8,8,8,8|
000003c0  2c 38 2c 32 34 2c 30 2c  32 33 2c 31 33 30 2c 26  |,8,24,0,23,130,&|
000003d0  46 46 2c 39 36 2c 34 38  2c 32 34 2c 34 38 2c 39  |FF,96,48,24,48,9|
000003e0  36 2c 26 46 46 2c 30 2c  32 33 2c 31 33 31 2c 32  |6,&FF,0,23,131,2|
000003f0  34 38 2c 31 32 2c 36 2c  33 2c 36 2c 31 32 2c 32  |48,12,6,3,6,12,2|
00000400  34 38 2c 30 2c 32 33 2c  31 33 32 2c 30 2c 33 31  |48,0,23,132,0,31|
00000410  2c 31 35 2c 37 2c 31 35  2c 33 31 2c 30 2c 30 2c  |,15,7,15,31,0,0,|
00000420  32 33 2c 31 33 33 2c 30  2c 32 34 30 2c 32 34 38  |23,133,0,240,248|
00000430  2c 32 35 32 2c 32 34 38  2c 32 34 30 2c 30 2c 30  |,252,248,240,0,0|
00000440  0d 01 40 7e ef 32 33 2c  31 33 34 2c 33 31 2c 34  |..@~.23,134,31,4|
00000450  38 2c 39 36 2c 31 39 32  2c 39 36 2c 34 38 2c 33  |8,96,192,96,48,3|
00000460  31 2c 30 2c 32 33 2c 31  33 35 2c 26 46 46 2c 36  |1,0,23,135,&FF,6|
00000470  2c 31 32 2c 32 34 2c 31  32 2c 36 2c 26 46 46 2c  |,12,24,12,6,&FF,|
00000480  30 2c 32 33 2c 31 33 36  2c 30 2c 31 35 2c 33 31  |0,23,136,0,15,31|
00000490  2c 36 33 2c 33 31 2c 31  35 2c 30 2c 30 2c 32 33  |,63,31,15,0,0,23|
000004a0  2c 31 33 37 2c 30 2c 32  34 38 2c 32 34 30 2c 32  |,137,0,248,240,2|
000004b0  32 34 2c 32 34 30 2c 32  34 38 2c 30 2c 30 0d 01  |24,240,248,0,0..|
000004c0  4a 0d 65 78 74 72 61 73  3d 35 30 0d 01 54 0d de  |J.extras=50..T..|
000004d0  20 63 25 20 37 38 30 30  0d 01 5e 28 ff 28 22 4c  | c% 7800..^(.("L|
000004e0  6f 61 64 20 3c 45 6d 62  72 6f 69 64 65 72 24 44  |oad <Embroider$D|
000004f0  69 72 3e 2e 63 6f 64 65  20 22 2b c3 7e 63 25 29  |ir>.code "+.~c%)|
00000500  0d 01 68 89 4e 6f 47 72  69 64 25 3d 26 30 2b 63  |..h.NoGrid%=&0+c|
00000510  25 3a 67 72 69 64 5f 64  72 61 77 3d 26 31 30 2b  |%:grid_draw=&10+|
00000520  63 25 3a 43 6f 70 79 25  3d 26 31 42 38 2b 63 25  |c%:Copy%=&1B8+c%|
00000530  3a 73 68 69 66 74 3d 26  32 39 30 2b 63 25 3a 53  |:shift=&290+c%:S|
00000540  63 72 65 65 6e 4d 61 74  72 69 78 41 64 64 72 65  |creenMatrixAddre|
00000550  73 73 3d 26 34 38 30 2b  63 25 3a 50 61 67 65 4d  |ss=&480+c%:PageM|
00000560  61 74 72 69 78 41 64 64  72 65 73 73 3d 26 38 46  |atrixAddress=&8F|
00000570  34 2b 63 25 3a 53 69 7a  65 58 41 64 64 72 65 73  |4+c%:SizeXAddres|
00000580  73 3d 26 43 41 30 2b 63  25 0d 01 72 84 50 61 74  |s=&CA0+c%..r.Pat|
00000590  74 65 72 6e 4e 75 6d 62  65 72 41 64 64 72 65 73  |ternNumberAddres|
000005a0  73 3d 26 39 30 43 2b 63  25 3a 62 61 63 6b 63 6f  |s=&90C+c%:backco|
000005b0  6c 41 64 64 72 65 73 73  3d 26 34 2b 63 25 3a 70  |lAddress=&4+c%:p|
000005c0  61 6c 65 74 74 65 41 64  64 72 65 73 73 3d 26 36  |aletteAddress=&6|
000005d0  32 30 2b 63 25 3a 50 61  74 74 65 72 6e 45 64 69  |20+c%:PatternEdi|
000005e0  74 41 64 64 72 65 73 73  3d 26 43 42 38 2b 63 25  |tAddress=&CB8+c%|
000005f0  3a 50 61 74 74 65 72 6e  53 70 72 69 74 65 41 64  |:PatternSpriteAd|
00000600  64 72 65 73 73 3d 26 35  30 34 2b 63 25 0d 01 7c  |dress=&504+c%..||
00000610  7e 50 61 74 74 65 72 6e  4d 61 74 72 69 78 41 64  |~PatternMatrixAd|
00000620  64 72 65 73 73 3d 26 31  33 38 34 2b 63 25 3a 73  |dress=&1384+c%:s|
00000630  63 61 6c 65 41 64 64 72  65 73 73 3d 26 34 37 30  |caleAddress=&470|
00000640  2b 63 25 3a 50 53 51 41  64 64 72 65 73 73 3d 26  |+c%:PSQAddress=&|
00000650  32 44 43 2b 63 25 3a 50  61 74 74 65 72 6e 53 70  |2DC+c%:PatternSp|
00000660  61 63 65 41 64 64 72 65  73 73 3d 26 34 37 34 2b  |aceAddress=&474+|
00000670  63 25 3a 44 69 79 4d 61  74 72 69 78 41 64 64 72  |c%:DiyMatrixAddr|
00000680  65 73 73 3d 26 44 35 38  2b 63 25 0d 01 86 8b 43  |ess=&D58+c%....C|
00000690  6f 6c 6f 75 72 54 61 62  6c 65 41 64 64 72 65 73  |olourTableAddres|
000006a0  73 3d 26 44 39 43 2b 63  25 3a 54 65 6d 70 4d 61  |s=&D9C+c%:TempMa|
000006b0  74 72 69 78 41 64 64 72  65 73 73 3d 26 34 37 43  |trixAddress=&47C|
000006c0  2b 63 25 3a 57 69 6e 58  25 3d 26 43 42 34 2b 63  |+c%:WinX%=&CB4+c|
000006d0  25 3a 53 74 6f 72 65 44  69 79 3d 26 44 35 43 2b  |%:StoreDiy=&D5C+|
000006e0  63 25 3a 69 6e 69 74 3d  26 43 43 30 2b 63 25 3a  |c%:init=&CC0+c%:|
000006f0  52 65 76 69 76 65 3d 26  32 45 43 2b 63 25 3a 63  |Revive=&2EC+c%:c|
00000700  70 25 3d 26 32 44 38 2b  63 25 3a 50 47 3d 26 31  |p%=&2D8+c%:PG=&1|
00000710  31 38 43 2b 63 25 0d 01  90 8f 53 6d 61 6c 6c 47  |18C+c%....SmallG|
00000720  72 69 64 73 3d 26 45 30  43 2b 63 25 3a 47 65 74  |rids=&E0C+c%:Get|
00000730  44 69 79 44 69 6d 65 6e  73 69 6f 6e 73 3d 26 37  |DiyDimensions=&7|
00000740  43 38 2b 63 25 3a 70 75  74 5f 64 69 79 3d 26 44  |C8+c%:put_diy=&D|
00000750  41 30 2b 63 25 3a 42 6f  74 43 6c 65 61 72 3d 26  |A0+c%:BotClear=&|
00000760  31 33 38 38 2b 63 25 3a  64 69 79 5f 72 74 3d 26  |1388+c%:diy_rt=&|
00000770  37 41 38 2b 63 25 3a 64  69 79 5f 6c 74 3d 26 37  |7A8+c%:diy_lt=&7|
00000780  41 34 2b 63 25 3a 64 69  79 5f 62 6f 74 3d 26 37  |A4+c%:diy_bot=&7|
00000790  41 43 2b 63 25 3a 64 69  79 5f 74 6f 70 3d 26 37  |AC+c%:diy_top=&7|
000007a0  42 30 2b 63 25 0d 01 9a  93 64 69 73 70 6c 61 79  |B0+c%....display|
000007b0  3d 26 41 46 30 2b 63 25  3a 57 57 3d 26 41 45 43  |=&AF0+c%:WW=&AEC|
000007c0  2b 63 25 3a 57 3d 26 38  39 38 2b 63 25 3a 66 6c  |+c%:W=&898+c%:fl|
000007d0  69 70 3d 26 34 39 30 2b  63 25 3a 43 6f 6c 53 74  |ip=&490+c%:ColSt|
000007e0  6f 72 65 3d 26 34 44 43  2b 63 25 3a 57 72 69 74  |ore=&4DC+c%:Writ|
000007f0  65 4e 75 6d 62 65 72 3d  26 31 30 32 43 2b 63 25  |eNumber=&102C+c%|
00000800  3a 70 75 74 5f 64 69 79  3d 26 44 41 30 2b 63 25  |:put_diy=&DA0+c%|
00000810  3a 62 6c 61 6e 6b 5f 6f  66 66 3d 26 31 43 34 2b  |:blank_off=&1C4+|
00000820  63 25 3a 78 78 3d 26 36  32 38 2b 63 25 3a 79 79  |c%:xx=&628+c%:yy|
00000830  3d 26 36 32 43 2b 63 25  0d 01 a4 92 50 75 74 50  |=&62C+c%....PutP|
00000840  61 74 74 65 72 6e 4f 6e  53 70 72 69 74 65 3d 26  |atternOnSprite=&|
00000850  35 31 30 2b 63 25 3a 4a  4a 73 68 69 66 74 3d 26  |510+c%:JJshift=&|
00000860  31 32 35 34 2b 63 25 3a  72 65 6e 61 6d 65 3d 26  |1254+c%:rename=&|
00000870  31 30 45 34 2b 63 25 3a  43 50 73 68 69 66 74 3d  |10E4+c%:CPshift=|
00000880  26 31 32 30 34 2b 63 25  3a 53 58 3d 26 31 32 38  |&1204+c%:SX=&128|
00000890  38 2b 63 25 3a 53 59 3d  26 31 32 38 43 2b 63 25  |8+c%:SY=&128C+c%|
000008a0  3a 64 72 61 77 3d 26 31  38 42 34 2b 63 25 3a 46  |:draw=&18B4+c%:F|
000008b0  73 68 69 66 74 3d 26 31  33 30 38 2b 63 25 3a 70  |shift=&1308+c%:p|
000008c0  62 25 3d 26 32 44 34 2b  63 25 0d 01 ae 90 46 6c  |b%=&2D4+c%....Fl|
000008d0  6f 61 74 65 72 3d 26 34  38 34 2b 63 25 3a 46 6c  |oater=&484+c%:Fl|
000008e0  69 70 3d 26 34 38 38 2b  63 25 3a 70 73 25 3d 26  |ip=&488+c%:ps%=&|
000008f0  34 38 43 2b 63 25 3a 63  6f 6c 6f 75 72 3d 26 34  |48C+c%:colour=&4|
00000900  44 38 2b 63 25 3a 50 77  69 64 74 68 25 3d 26 34  |D8+c%:Pwidth%=&4|
00000910  46 43 2b 63 25 3a 50 68  65 69 67 68 74 25 3d 26  |FC+c%:Pheight%=&|
00000920  35 30 30 2b 63 25 3a 50  4c 74 25 3d 26 36 33 34  |500+c%:PLt%=&634|
00000930  2b 63 25 3a 50 52 74 25  3d 26 36 33 38 2b 63 25  |+c%:PRt%=&638+c%|
00000940  3a 50 42 74 25 3d 26 36  33 43 2b 63 25 3a 50 54  |:PBt%=&63C+c%:PT|
00000950  70 25 3d 26 36 34 30 2b  63 25 0d 01 b8 90 44 58  |p%=&640+c%....DX|
00000960  25 3d 26 37 39 34 2b 63  25 3a 44 59 25 3d 26 37  |%=&794+c%:DY%=&7|
00000970  39 43 2b 63 25 3a 4c 74  25 3d 26 37 42 34 2b 63  |9C+c%:Lt%=&7B4+c|
00000980  25 3a 52 74 25 3d 26 37  42 38 2b 63 25 3a 42 74  |%:Rt%=&7B8+c%:Bt|
00000990  25 3d 26 37 42 43 2b 63  25 3a 54 70 25 3d 26 37  |%=&7BC+c%:Tp%=&7|
000009a0  43 30 2b 63 25 3a 73 63  61 6c 65 25 3d 26 38 37  |C0+c%:scale%=&87|
000009b0  43 2b 63 25 3a 44 69 79  4d 61 74 72 69 78 25 3d  |C+c%:DiyMatrix%=|
000009c0  26 38 39 43 2b 63 25 3a  53 3d 26 38 45 43 2b 63  |&89C+c%:S=&8EC+c|
000009d0  25 3a 44 69 73 70 6c 61  79 65 64 53 74 69 74 63  |%:DisplayedStitc|
000009e0  68 25 3d 26 38 46 30 2b  63 25 0d 01 c2 87 73 69  |h%=&8F0+c%....si|
000009f0  7a 65 5f 78 25 3d 26 43  41 38 2b 63 25 3a 73 69  |ze_x%=&CA8+c%:si|
00000a00  7a 65 5f 79 25 3d 26 43  41 43 2b 63 25 3a 66 6f  |ze_y%=&CAC+c%:fo|
00000a10  75 6e 64 25 3d 26 43 42  30 2b 63 25 3a 6e 65 77  |und%=&CB0+c%:new|
00000a20  25 3d 26 31 31 38 34 2b  63 25 3a 6f 6c 64 50 43  |%=&1184+c%:oldPC|
00000a30  25 3d 26 31 32 46 38 2b  63 25 3a 50 43 64 69 66  |%=&12F8+c%:PCdif|
00000a40  66 25 3d 26 31 32 46 43  2b 63 25 3a 53 69 7a 65  |f%=&12FC+c%:Size|
00000a50  59 41 64 64 72 65 73 73  3d 26 43 41 34 2b 63 25  |YAddress=&CA4+c%|
00000a60  3a 70 61 6c 65 74 74 65  3d 26 31 34 45 43 2b 63  |:palette=&14EC+c|
00000a70  25 0d 01 cc 86 50 61 74  74 65 72 6e 45 64 69 74  |%....PatternEdit|
00000a80  25 3d 26 31 35 32 43 2b  63 25 3a 48 61 6e 64 3d  |%=&152C+c%:Hand=|
00000a90  26 31 35 37 43 2b 63 25  3a 62 69 67 62 72 75 73  |&157C+c%:bigbrus|
00000aa0  68 3d 26 31 35 44 30 2b  63 25 3a 73 6d 61 6c 6c  |h=&15D0+c%:small|
00000ab0  62 72 75 73 68 3d 26 31  36 32 41 2b 63 25 3a 70  |brush=&162A+c%:p|
00000ac0  61 6c 5f 63 6f 6c 73 3d  26 31 36 34 41 2b 63 25  |al_cols=&164A+c%|
00000ad0  3a 73 78 25 3d 26 31 36  38 41 2b 63 25 3a 73 79  |:sx%=&168A+c%:sy|
00000ae0  25 3d 26 31 37 30 41 2b  63 25 3a 53 78 25 3d 26  |%=&170A+c%:Sx%=&|
00000af0  31 38 32 45 2b 63 25 0d  01 d6 8c 43 6f 6c 6f 75  |182E+c%....Colou|
00000b00  72 54 61 62 6c 65 3d 26  38 38 43 2b 63 25 3a 53  |rTable=&88C+c%:S|
00000b10  74 69 74 63 68 65 73 41  64 64 72 65 73 73 3d 26  |titchesAddress=&|
00000b20  34 37 38 2b 63 25 3a 43  75 72 72 65 6e 74 50 61  |478+c%:CurrentPa|
00000b30  74 74 65 72 6e 41 64 64  72 65 73 73 25 3d 26 31  |tternAddress%=&1|
00000b40  31 46 30 2b 63 25 3a 63  61 6c 63 3d 26 31 32 33  |1F0+c%:calc=&123|
00000b50  30 2b 63 25 3a 63 61 6c  63 32 3d 26 31 31 46 34  |0+c%:calc2=&11F4|
00000b60  2b 63 25 3a 53 4d 3d 26  31 42 43 2b 63 25 3a 50  |+c%:SM=&1BC+c%:P|
00000b70  74 53 71 41 64 64 72 65  73 73 25 3d 26 32 43 38  |tSqAddress%=&2C8|
00000b80  2b 63 25 0d 01 e0 45 66  69 6c 6c 5f 69 6e 3d 26  |+c%...Efill_in=&|
00000b90  31 32 39 34 2b 63 25 3a  72 65 6d 6f 76 65 25 3d  |1294+c%:remove%=|
00000ba0  26 31 33 38 30 2b 63 25  3a 53 69 7a 65 58 25 3d  |&1380+c%:SizeX%=|
00000bb0  26 31 37 38 41 2b 63 25  3a 53 69 7a 65 59 25 3d  |&178A+c%:SizeY%=|
00000bc0  26 31 37 44 43 2b 63 25  0d 01 ea 0d 54 66 69 6c  |&17DC+c%....Tfil|
00000bd0  65 73 3d 32 34 0d 01 f4  3f de 20 6c 69 73 74 41  |es=24...?. listA|
00000be0  20 54 66 69 6c 65 73 2a  31 31 2c 6c 69 73 74 42  | Tfiles*11,listB|
00000bf0  20 54 66 69 6c 65 73 2a  31 31 2c 62 75 66 66 65  | Tfiles*11,buffe|
00000c00  72 20 31 31 2c 62 79 74  65 73 20 33 2c 70 61 72  |r 11,bytes 3,par|
00000c10  61 6d 20 39 0d 01 fe 0c  42 25 3d 6c 69 73 74 42  |am 9....B%=listB|
00000c20  0d 02 58 2a de 20 53 63  72 65 65 6e 4d 61 74 72  |..X*. ScreenMatr|
00000c30  69 78 25 20 26 31 33 46  46 2c 50 73 71 75 61 72  |ix% &13FF,Psquar|
00000c40  65 73 25 20 26 31 34 30  30 30 0d 02 62 2e 65 6f  |es% &14000..b.eo|
00000c50  66 25 3d 34 2b 34 2b 26  34 38 30 30 2b 65 78 74  |f%=4+4+&4800+ext|
00000c60  72 61 73 2a 36 34 2b 28  39 2b 65 78 74 72 61 73  |ras*64+(9+extras|
00000c70  29 2a 34 2b 36 34 2b 34  0d 02 6c 10 de 20 64 61  |)*4+64+4..l.. da|
00000c80  74 61 25 20 65 6f 66 25  0d 02 76 11 62 61 63 6b  |ta% eof%..v.back|
00000c90  63 6f 6c 3d 64 61 74 61  25 0d 02 80 15 50 61 6c  |col=data%....Pal|
00000ca0  56 61 6c 73 3d 62 61 63  6b 63 6f 6c 2b 34 0d 02  |Vals=backcol+4..|
00000cb0  8a 19 50 61 67 65 4d 61  74 72 69 78 25 3d 50 61  |..PageMatrix%=Pa|
00000cc0  6c 56 61 6c 73 2b 34 0d  02 94 22 49 6e 55 73 65  |lVals+4..."InUse|
00000cd0  25 3d 50 61 67 65 4d 61  74 72 69 78 25 2b 28 65  |%=PageMatrix%+(e|
00000ce0  78 74 72 61 73 2a 36 34  29 0d 02 9e 26 50 61 74  |xtras*64)...&Pat|
00000cf0  74 65 72 6e 4d 61 74 72  69 78 25 3d 49 6e 55 73  |ternMatrix%=InUs|
00000d00  65 25 2b 28 39 2b 65 78  74 72 61 73 29 2a 34 0d  |e%+(9+extras)*4.|
00000d10  02 a8 24 50 61 74 74 65  72 6e 4e 75 6d 62 65 72  |..$PatternNumber|
00000d20  25 3d 50 61 74 74 65 72  6e 4d 61 74 72 69 78 25  |%=PatternMatrix%|
00000d30  2b 36 34 0d 02 b2 22 50  61 74 74 65 72 6e 53 70  |+64..."PatternSp|
00000d40  61 63 65 25 3d 50 61 74  74 65 72 6e 4e 75 6d 62  |ace%=PatternNumb|
00000d50  65 72 25 2b 34 0d 02 bc  33 e3 49 25 3d 30 b8 65  |er%+4...3.I%=0.e|
00000d60  78 74 72 61 73 2a 36 34  2d 34 20 88 34 3a 50 61  |xtras*64-4 .4:Pa|
00000d70  67 65 4d 61 74 72 69 78  25 21 49 25 3d 26 46 46  |geMatrix%!I%=&FF|
00000d80  46 46 46 46 46 46 3a ed  0d 02 c6 29 de 20 54 65  |FFFFFF:....). Te|
00000d90  6d 70 4d 61 74 72 69 78  25 20 36 33 2c 50 58 25  |mpMatrix% 63,PX%|
00000da0  20 37 2c 50 59 25 20 37  2c 73 6d 61 6c 6c 25 20  | 7,PY% 7,small% |
00000db0  32 0d 02 d0 43 de 20 50  61 74 74 65 72 6e 53 70  |2...C. PatternSp|
00000dc0  72 69 74 65 20 26 34 33  38 31 30 3a 21 50 61 74  |rite &43810:!Pat|
00000dd0  74 65 72 6e 53 70 72 69  74 65 3d 26 34 33 38 31  |ternSprite=&4381|
00000de0  30 3a 50 61 74 74 65 72  6e 53 70 72 69 74 65 21  |0:PatternSprite!|
00000df0  38 3d 31 36 0d 02 da 21  4e 75 6d 4f 66 53 74 69  |8=16...!NumOfSti|
00000e00  74 63 68 65 73 25 3d 50  61 74 74 65 72 6e 45 64  |tches%=PatternEd|
00000e10  69 74 25 2b 37 0d 02 e4  e5 21 53 63 72 65 65 6e  |it%+7....!Screen|
00000e20  4d 61 74 72 69 78 41 64  64 72 65 73 73 3d 53 63  |MatrixAddress=Sc|
00000e30  72 65 65 6e 4d 61 74 72  69 78 25 3a 21 50 61 67  |reenMatrix%:!Pag|
00000e40  65 4d 61 74 72 69 78 41  64 64 72 65 73 73 3d 50  |eMatrixAddress=P|
00000e50  61 67 65 4d 61 74 72 69  78 25 3a 21 53 69 7a 65  |ageMatrix%:!Size|
00000e60  58 41 64 64 72 65 73 73  3d 53 69 7a 65 58 25 3a  |XAddress=SizeX%:|
00000e70  21 53 69 7a 65 59 41 64  64 72 65 73 73 3d 53 69  |!SizeYAddress=Si|
00000e80  7a 65 59 25 3a 21 50 61  74 74 65 72 6e 4e 75 6d  |zeY%:!PatternNum|
00000e90  62 65 72 41 64 64 72 65  73 73 3d 50 61 74 74 65  |berAddress=Patte|
00000ea0  72 6e 4e 75 6d 62 65 72  25 3a 21 62 61 63 6b 63  |rnNumber%:!backc|
00000eb0  6f 6c 41 64 64 72 65 73  73 3d 62 61 63 6b 63 6f  |olAddress=backco|
00000ec0  6c 3a 21 70 61 6c 65 74  74 65 41 64 64 72 65 73  |l:!paletteAddres|
00000ed0  73 3d 70 61 6c 65 74 74  65 3a 21 50 61 74 74 65  |s=palette:!Patte|
00000ee0  72 6e 45 64 69 74 41 64  64 72 65 73 73 3d 50 61  |rnEditAddress=Pa|
00000ef0  74 74 65 72 6e 45 64 69  74 25 0d 02 ee f6 21 50  |tternEdit%....!P|
00000f00  61 74 74 65 72 6e 53 70  72 69 74 65 41 64 64 72  |atternSpriteAddr|
00000f10  65 73 73 3d 50 61 74 74  65 72 6e 53 70 72 69 74  |ess=PatternSprit|
00000f20  65 3a 21 50 61 74 74 65  72 6e 4d 61 74 72 69 78  |e:!PatternMatrix|
00000f30  41 64 64 72 65 73 73 3d  50 61 74 74 65 72 6e 4d  |Address=PatternM|
00000f40  61 74 72 69 78 25 3a 21  73 63 61 6c 65 41 64 64  |atrix%:!scaleAdd|
00000f50  72 65 73 73 3d 73 63 61  6c 65 25 3a 21 50 53 51  |ress=scale%:!PSQ|
00000f60  41 64 64 72 65 73 73 3d  50 73 71 75 61 72 65 73  |Address=Psquares|
00000f70  25 3a 21 50 61 74 74 65  72 6e 53 70 61 63 65 41  |%:!PatternSpaceA|
00000f80  64 64 72 65 73 73 3d 50  61 74 74 65 72 6e 53 70  |ddress=PatternSp|
00000f90  61 63 65 25 3a 21 44 69  79 4d 61 74 72 69 78 41  |ace%:!DiyMatrixA|
00000fa0  64 64 72 65 73 73 3d 44  69 79 4d 61 74 72 69 78  |ddress=DiyMatrix|
00000fb0  25 3a 21 43 6f 6c 6f 75  72 54 61 62 6c 65 41 64  |%:!ColourTableAd|
00000fc0  64 72 65 73 73 3d 43 6f  6c 6f 75 72 54 61 62 6c  |dress=ColourTabl|
00000fd0  65 3a 21 54 65 6d 70 4d  61 74 72 69 78 41 64 64  |e:!TempMatrixAdd|
00000fe0  72 65 73 73 3d 54 65 6d  70 4d 61 74 72 69 78 25  |ress=TempMatrix%|
00000ff0  0d 02 f8 34 54 54 25 3d  8e 20 22 3c 45 6d 62 72  |...4TT%=. "<Embr|
00001000  6f 69 64 65 72 24 44 69  72 3e 2e 50 69 65 63 65  |oider$Dir>.Piece|
00001010  73 22 3a 54 25 3d a2 23  54 54 25 2b 31 36 3a d9  |s":T%=.#TT%+16:.|
00001020  23 54 54 25 0d 03 02 13  54 25 2b 3d 65 78 74 72  |#TT%....T%+=extr|
00001030  61 73 2a 26 35 30 30 0d  03 0c 2e de 20 53 74 69  |as*&500..... Sti|
00001040  74 63 68 65 73 25 20 54  25 3a 21 53 74 69 74 63  |tches% T%:!Stitc|
00001050  68 65 73 25 3d 54 25 3a  53 74 69 74 63 68 65 73  |hes%=T%:Stitches|
00001060  25 21 38 3d 31 0d 03 16  4b c8 99 20 26 32 45 2c  |%!8=1...K.. &2E,|
00001070  32 35 36 2b 39 2c 53 74  69 74 63 68 65 73 25 3a  |256+9,Stitches%:|
00001080  c8 99 20 26 32 45 2c 32  35 36 2b 31 30 2c 53 74  |.. &2E,256+10,St|
00001090  69 74 63 68 65 73 25 2c  22 3c 45 6d 62 72 6f 69  |itches%,"<Embroi|
000010a0  64 65 72 24 44 69 72 3e  2e 50 69 65 63 65 73 22  |der$Dir>.Pieces"|
000010b0  0d 03 20 2c c8 99 20 26  32 45 2c 32 35 36 2b 31  |.. ,.. &2E,256+1|
000010c0  35 2c 53 74 69 74 63 68  65 73 25 2c 22 44 49 59  |5,Stitches%,"DIY|
000010d0  22 2c 30 2c 33 32 2c 33  32 2c 31 35 0d 03 2a 21  |",0,32,32,15..*!|
000010e0  c8 99 20 26 32 45 2c 32  35 36 2b 32 39 2c 53 74  |.. &2E,256+29,St|
000010f0  69 74 63 68 65 73 25 2c  22 44 49 59 22 0d 03 34  |itches%,"DIY"..4|
00001100  1e 21 53 74 69 74 63 68  65 73 41 64 64 72 65 73  |.!StitchesAddres|
00001110  73 3d 53 74 69 74 63 68  65 73 25 0d 03 3e 1a 73  |s=Stitches%..>.s|
00001120  63 61 6c 65 25 21 38 3d  31 3a 73 63 61 6c 65 25  |cale%!8=1:scale%|
00001130  21 31 32 3d 31 0d 03 48  06 ef 35 0d 03 52 75 50  |!12=1..H..5..RuP|
00001140  61 6c 65 74 74 65 46 6c  61 67 25 3d 31 3a 21 4e  |aletteFlag%=1:!N|
00001150  6f 47 72 69 64 25 3d 30  3a 53 63 61 6c 65 25 3d  |oGrid%=0:Scale%=|
00001160  32 3a 21 57 69 6e 58 25  3d 36 33 36 3a 50 61 6c  |2:!WinX%=636:Pal|
00001170  5f 78 25 3d 33 33 36 3a  50 61 6c 5f 79 25 3d 30  |_x%=336:Pal_y%=0|
00001180  3a 57 69 6e 64 6f 77 73  4f 6e 25 3d 30 3a 43 6f  |:WindowsOn%=0:Co|
00001190  6c 6f 75 72 25 3d 30 3a  6b 6f 6c 6f 75 72 25 3d  |lour%=0:kolour%=|
000011a0  70 61 6c 5f 63 6f 6c 73  3f 43 6f 6c 6f 75 72 25  |pal_cols?Colour%|
000011b0  0d 03 5c 6b 46 6c 69 70  46 6c 61 67 25 3d 30 3a  |..\kFlipFlag%=0:|
000011c0  21 64 69 79 5f 6c 74 3d  2d 32 30 3a 21 64 69 79  |!diy_lt=-20:!diy|
000011d0  5f 72 74 3d 30 3a 21 64  69 79 5f 62 6f 74 3d 32  |_rt=0:!diy_bot=2|
000011e0  33 32 3a 21 64 69 79 5f  74 6f 70 3d 32 34 38 3a  |32:!diy_top=248:|
000011f0  21 50 61 74 74 65 72 6e  4e 75 6d 62 65 72 25 3d  |!PatternNumber%=|
00001200  30 3a 3f 62 61 63 6b 63  6f 6c 3d 36 33 3a 62 61  |0:?backcol=63:ba|
00001210  63 6b 63 6f 6c 3f 31 3d  31 39 32 0d 03 66 10 4d  |ckcol?1=192..f.M|
00001220  61 78 53 74 69 74 63 68  3d 31 36 0d 03 70 09 f2  |axStitch=16..p..|
00001230  69 6e 69 74 0d 03 7a 30  73 63 61 6c 65 25 21 30  |init..z0scale%!0|
00001240  3d 32 3a 73 63 61 6c 65  25 21 34 3d 31 3a 21 43  |=2:scale%!4=1:!C|
00001250  6f 6c 6f 75 72 54 61 62  6c 65 3d 26 43 42 43 41  |olourTable=&CBCA|
00001260  43 39 43 38 0d 03 84 14  f2 70 61 6c 65 74 74 65  |C9C8.....palette|
00001270  3a f2 77 69 6e 64 6f 77  0d 03 8e 07 e6 34 38 0d  |:.window.....48.|
00001280  03 98 1a f1 8a 36 2c 32  30 29 22 74 68 65 20 70  |.....6,20)"the p|
00001290  61 6c 65 74 74 65 20 3e  22 0d 03 a2 23 f1 8a 35  |alette >"...#..5|
000012a0  38 2c 32 35 29 22 3c 20  72 65 61 64 79 2d 6d 61  |8,25)"< ready-ma|
000012b0  64 65 20 73 74 69 74 63  68 65 73 22 0d 03 ac 38  |de stitches"...8|
000012c0  f1 8a 35 38 2c 31 32 29  22 3c 20 70 69 65 63 65  |..58,12)"< piece|
000012d0  73 20 74 6f 20 6d 61 6b  65 22 8a 36 30 2c 31 33  |s to make".60,13|
000012e0  29 22 79 6f 75 72 20 6f  77 6e 20 73 74 69 74 63  |)"your own stitc|
000012f0  68 65 73 22 0d 03 b6 06  e6 30 0d 03 c0 3e f2 54  |hes".....0...>.T|
00001300  65 78 74 28 22 54 68 69  73 20 69 73 20 77 68 65  |ext("This is whe|
00001310  72 65 20 74 68 65 22 2c  36 2c 33 2c 22 70 61 74  |re the",6,3,"pat|
00001320  74 65 72 6e 73 20 61 72  65 20 63 72 65 61 74 65  |terns are create|
00001330  64 2e 22 2c 36 2c 35 29  0d 03 ca 0e 21 4e 6f 47  |d.",6,5)....!NoG|
00001340  72 69 64 25 3d 31 0d 03  d4 0f f2 6c 6f 61 64 28  |rid%=1.....load(|
00001350  22 61 31 22 29 0d 03 de  2b 21 57 69 6e 58 25 3d  |"a1")...+!WinX%=|
00001360  31 30 30 30 3a 50 61 6c  5f 78 25 3d 38 35 32 3a  |1000:Pal_x%=852:|
00001370  f2 70 61 6c 65 74 74 65  3a f2 77 69 6e 64 6f 77  |.palette:.window|
00001380  0d 03 e8 0d e6 36 33 20  c8 9c 31 39 32 0d 03 f2  |.....63 ..192...|
00001390  77 f1 8a 30 2c 34 29 22  41 20 73 69 6e 67 6c 65  |w..0,4)"A single|
000013a0  20 73 74 69 74 63 68 20  63 61 6e 20 62 65 22 8a  | stitch can be".|
000013b0  30 2c 36 29 22 69 6e 20  64 69 66 66 65 72 65 6e  |0,6)"in differen|
000013c0  74 20 63 6f 6c 6f 75 72  73 2e 2e 2e 22 8a 32 35  |t colours...".25|
000013d0  2c 31 29 22 2e 2e 2e 66  6c 69 70 70 65 64 20 68  |,1)"...flipped h|
000013e0  6f 72 69 7a 6f 6e 74 61  6c 6c 79 22 8a 33 39 2c  |orizontally".39,|
000013f0  35 29 22 6f 72 20 76 65  72 74 69 63 61 6c 6c 79  |5)"or vertically|
00001400  2e 2e 2e 22 0d 03 fc 38  f1 8a 34 2c 31 35 29 22  |..."...8..4,15)"|
00001410  2e 2e 2e 61 6e 64 20 6d  61 64 65 20 69 6e 74 6f  |...and made into|
00001420  20 64 69 66 66 65 72 65  6e 74 20 73 74 69 74 63  | different stitc|
00001430  68 20 70 61 74 74 65 72  6e 73 2e 22 0d 04 06 1a  |h patterns."....|
00001440  f1 8a 32 38 2c 32 32 29  22 50 61 74 74 65 72 6e  |..28,22)"Pattern|
00001450  73 20 63 61 6e 22 0d 04  10 39 f2 54 65 78 74 28  |s can"...9.Text(|
00001460  22 62 65 20 63 6f 6d 62  69 6e 65 64 20 74 6f 22  |"be combined to"|
00001470  2c 32 38 2c 32 34 2c 22  63 72 65 61 74 65 20 64  |,28,24,"create d|
00001480  65 73 69 67 6e 73 2e 22  2c 32 38 2c 32 36 29 0d  |esigns.",28,26).|
00001490  04 1a 1f f2 53 68 6f 77  50 69 63 3a c8 99 20 22  |....ShowPic:.. "|
000014a0  48 6f 75 72 67 6c 61 73  73 5f 4f 66 66 22 0d 04  |Hourglass_Off"..|
000014b0  24 14 f2 70 61 6c 65 74  74 65 3a f2 77 69 6e 64  |$..palette:.wind|
000014c0  6f 77 0d 04 2e 3c f1 8a  30 2c 34 29 22 55 73 65  |ow...<..0,4)"Use|
000014d0  20 74 68 65 20 6d 61 67  6e 69 66 69 65 72 20 74  | the magnifier t|
000014e0  6f 20 73 74 75 64 79 20  74 68 65 20 73 74 69 74  |o study the stit|
000014f0  63 68 65 73 20 63 6c 6f  73 65 6c 79 2e 22 0d 04  |ches closely."..|
00001500  38 44 f1 8a 30 2c 36 29  22 43 6c 69 63 6b 20 41  |8D..0,6)"Click A|
00001510  44 4a 55 53 54 20 28 72  69 67 68 74 20 62 75 74  |DJUST (right but|
00001520  74 6f 6e 29 20 74 6f 20  63 68 61 6e 67 65 20 74  |ton) to change t|
00001530  68 65 20 6d 61 67 6e 69  66 69 63 61 74 69 6f 6e  |he magnification|
00001540  2e 22 0d 04 42 2d f1 8a  30 2c 38 29 22 43 6c 69  |."..B-..0,8)"Cli|
00001550  63 6b 20 61 6e 79 20 6f  74 68 65 72 20 62 75 74  |ck any other but|
00001560  74 6f 6e 20 74 6f 20 66  69 6e 69 73 68 2e 22 0d  |ton to finish.".|
00001570  04 4c 11 f2 6d 61 67 6e  69 66 79 3a c8 97 20 87  |.L..magnify:.. .|
00001580  0d 04 56 0f f2 6c 6f 61  64 28 22 61 32 22 29 0d  |..V..load("a2").|
00001590  04 60 07 e6 31 35 0d 04  6a 4e f1 8a 33 30 2c 31  |.`..15..jN..30,1|
000015a0  30 29 22 53 74 69 74 63  68 65 73 20 63 61 6e 20  |0)"Stitches can |
000015b0  62 65 20 63 6f 6d 62 69  6e 65 64 22 8a 32 36 2c  |be combined".26,|
000015c0  32 31 29 22 74 6f 20 63  72 65 61 74 65 20 69 6e  |21)"to create in|
000015d0  74 65 72 65 73 74 69 6e  67 20 70 61 74 74 65 72  |teresting patter|
000015e0  6e 73 2e 22 0d 04 74 11  f2 6d 61 67 6e 69 66 79  |ns."..t..magnify|
000015f0  3a c8 97 20 87 0d 04 7e  0a e6 31 32 38 3a da 0d  |:.. ...~..128:..|
00001600  04 88 0b f2 77 69 6e 64  6f 77 0d 04 92 82 f2 54  |....window.....T|
00001610  65 78 74 28 22 42 79 20  63 72 65 61 74 69 6e 67  |ext("By creating|
00001620  20 79 6f 75 72 20 6f 77  6e 20 73 74 69 74 63 68  | your own stitch|
00001630  65 73 20 66 72 6f 6d 20  74 68 65 20 73 6d 61 6c  |es from the smal|
00001640  6c 20 70 69 65 63 65 73  20 3e 20 3e 20 3e 22 2c  |l pieces > > >",|
00001650  35 2c 31 34 2c 22 73 6f  6d 65 20 69 6e 74 65 72  |5,14,"some inter|
00001660  65 73 74 69 6e 67 20 74  65 78 74 75 72 65 64 20  |esting textured |
00001670  65 66 66 65 63 74 73 20  61 72 65 20 70 6f 73 73  |effects are poss|
00001680  69 62 6c 65 2e 22 2c 35  2c 31 36 29 0d 04 9c 18  |ible.",5,16)....|
00001690  f2 6c 6f 61 64 28 22 61  33 22 29 3a f2 43 6f 6e  |.load("a3"):.Con|
000016a0  66 69 72 6d 0d 04 a6 0e  e6 31 32 38 3a da 3a e6  |firm.....128:.:.|
000016b0  31 35 0d 04 b0 3e f2 54  65 78 74 28 22 48 65 72  |15...>.Text("Her|
000016c0  65 20 61 72 65 20 73 6f  6d 65 20 63 6f 6d 70 6c  |e are some compl|
000016d0  65 74 65 64 20 64 65 73  69 67 6e 73 2e 2e 2e 22  |eted designs..."|
000016e0  2c 32 30 2c 31 34 2c 22  22 2c 34 30 2c 31 35 29  |,20,14,"",40,15)|
000016f0  0d 04 ba 1e f2 6c 6f 61  64 28 22 48 65 61 64 6c  |.....load("Headl|
00001700  61 6e 64 22 29 3a f2 43  6f 6e 66 69 72 6d 0d 04  |and"):.Confirm..|
00001710  c4 1c f2 6c 6f 61 64 28  22 48 6f 75 73 65 73 22  |...load("Houses"|
00001720  29 3a f2 43 6f 6e 66 69  72 6d 0d 04 ce 1c f2 6c  |):.Confirm.....l|
00001730  6f 61 64 28 22 44 65 73  69 67 6e 22 29 3a f2 43  |oad("Design"):.C|
00001740  6f 6e 66 69 72 6d 0d 04  d8 1e f2 6c 6f 61 64 28  |onfirm.....load(|
00001750  22 54 65 78 74 75 72 65  73 22 29 3a f2 43 6f 6e  |"Textures"):.Con|
00001760  66 69 72 6d 0d 04 e2 1d  f2 6c 6f 61 64 28 22 53  |firm.....load("S|
00001770  74 72 69 70 65 73 22 29  3a f2 43 6f 6e 66 69 72  |tripes"):.Confir|
00001780  6d 0d 04 ec 0e e6 31 32  38 3a da 3a e6 31 35 0d  |m.....128:.:.15.|
00001790  04 f6 32 f2 54 65 78 74  28 22 42 61 63 6b 20 74  |..2.Text("Back t|
000017a0  6f 20 74 68 65 20 64 65  73 6b 74 6f 70 2e 2e 2e  |o the desktop...|
000017b0  22 2c 32 30 2c 31 38 2c  22 22 2c 34 30 2c 31 35  |",20,18,"",40,15|
000017c0  29 0d 05 00 1a c8 99 20  22 57 69 6d 70 5f 43 6c  |)...... "Wimp_Cl|
000017d0  6f 73 65 44 6f 77 6e 22  3a c8 98 0d 05 0a 0f dd  |oseDown":.......|
000017e0  f2 6c 6f 61 64 28 66 6e  24 29 0d 05 14 0b e6 20  |.load(fn$)..... |
000017f0  31 32 38 3a da 0d 05 1e  2f 66 69 6c 65 6e 61 6d  |128:..../filenam|
00001800  65 24 3d 22 3c 45 6d 62  72 6f 69 64 65 72 24 44  |e$="<Embroider$D|
00001810  69 72 3e 2e 65 6d 62 72  64 72 66 69 6c 65 2e 22  |ir>.embrdrfile."|
00001820  2b 66 6e 24 0d 05 28 c9  c8 99 20 22 4f 53 5f 46  |+fn$..(... "OS_F|
00001830  69 6e 64 22 2c 31 2c 66  69 6c 65 6e 61 6d 65 24  |ind",1,filename$|
00001840  20 b8 20 63 68 61 6e 6e  65 6c 3a c8 99 20 22 4f  | . channel:.. "O|
00001850  53 5f 47 42 50 42 22 2c  34 2c 63 68 61 6e 6e 65  |S_GBPB",4,channe|
00001860  6c 2c 62 79 74 65 73 2c  34 3a c8 99 20 22 4f 53  |l,bytes,4:.. "OS|
00001870  5f 47 42 50 42 22 2c 34  2c 63 68 61 6e 6e 65 6c  |_GBPB",4,channel|
00001880  2c 64 61 74 61 25 2c 21  62 79 74 65 73 3a c8 99  |,data%,!bytes:..|
00001890  20 22 4f 53 5f 47 42 50  42 22 2c 34 2c 63 68 61  | "OS_GBPB",4,cha|
000018a0  6e 6e 65 6c 2c 62 79 74  65 73 2c 34 3a c8 99 20  |nnel,bytes,4:.. |
000018b0  22 4f 53 5f 47 42 50 42  22 2c 34 2c 63 68 61 6e  |"OS_GBPB",4,chan|
000018c0  6e 65 6c 2c 21 50 53 51  41 64 64 72 65 73 73 2c  |nel,!PSQAddress,|
000018d0  21 62 79 74 65 73 3a c8  99 20 22 4f 53 5f 46 69  |!bytes:.. "OS_Fi|
000018e0  6e 64 22 2c 30 2c 63 68  61 6e 6e 65 6c 0d 05 32  |nd",0,channel..2|
000018f0  30 f2 69 6e 69 74 3a ef  31 39 2c 30 2c 32 34 2c  |0.init:.19,0,24,|
00001900  50 61 6c 56 61 6c 73 3f  31 2c 50 61 6c 56 61 6c  |PalVals?1,PalVal|
00001910  73 3f 32 2c 50 61 6c 56  61 6c 73 3f 33 0d 05 3c  |s?2,PalVals?3..<|
00001920  05 e1 0d 05 46 04 0d 05  50 04 0d 05 5a 04 0d 05  |....F...P...Z...|
00001930  64 27 dd f2 54 65 78 74  28 54 31 24 2c 54 58 31  |d'..Text(T1$,TX1|
00001940  25 2c 54 59 31 25 2c 54  32 24 2c 54 58 32 25 2c  |%,TY1%,T2$,TX2%,|
00001950  54 59 32 25 29 0d 05 6e  13 f1 8a 54 58 31 25 2c  |TY2%)..n...TX1%,|
00001960  54 59 31 25 29 54 31 24  0d 05 78 13 f1 8a 54 58  |TY1%)T1$..x...TX|
00001970  32 25 2c 54 59 32 25 29  54 32 24 0d 05 82 0e d1  |2%,TY2%)T2$.....|
00001980  3d 30 3a f5 fd 91 3e 32  30 0d 05 8c 0c f2 43 6f  |=0:...>20.....Co|
00001990  6e 66 69 72 6d 0d 05 96  05 e1 0d 07 d0 10 dc 36  |nfirm..........6|
000019a0  33 2c 31 39 32 2c 36 33  2c 30 0d 07 da 10 dc 34  |3,192,63,0.....4|
000019b0  32 2c 31 32 38 2c 34 32  2c 30 0d 07 e4 10 dc 32  |2,128,42,0.....2|
000019c0  31 2c 31 32 38 2c 32 31  2c 30 0d 07 ee 0e dc 30  |1,128,21,0.....0|
000019d0  2c 31 32 38 2c 30 2c 30  0d 07 f8 04 0d 08 02 1b  |,128,0,0........|
000019e0  dd f2 6d 6f 64 65 5f 65  72 72 6f 72 28 65 72 72  |..mode_error(err|
000019f0  25 2c 65 72 72 24 29 0d  08 0c 41 21 77 69 6d 70  |%,err$)...A!wimp|
00001a00  62 6c 6f 63 6b 25 3d 65  72 72 25 3a 24 28 77 69  |block%=err%:$(wi|
00001a10  6d 70 62 6c 6f 63 6b 25  2b 34 29 3d 65 72 72 24  |mpblock%+4)=err$|
00001a20  3a 3f 28 77 69 6d 70 62  6c 6f 63 6b 25 2b 34 2b  |:?(wimpblock%+4+|
00001a30  a9 65 72 72 24 29 3d 30  0d 08 16 32 c8 99 20 22  |.err$)=0...2.. "|
00001a40  57 69 6d 70 5f 52 65 70  6f 72 74 45 72 72 6f 72  |Wimp_ReportError|
00001a50  22 2c 77 69 6d 70 62 6c  6f 63 6b 25 2c 30 2c 22  |",wimpblock%,0,"|
00001a60  45 6d 62 72 6f 69 64 65  72 22 0d 08 20 1a c8 99  |Embroider".. ...|
00001a70  20 22 57 69 6d 70 5f 43  6c 6f 73 65 44 6f 77 6e  | "Wimp_CloseDown|
00001a80  22 3a c8 98 0d 08 2a 05  e1 0d 08 34 04 0d 08 3e  |":....*....4...>|
00001a90  0a dd f2 69 6e 69 74 0d  08 48 1e c8 99 20 26 32  |...init..H... &2|
00001aa0  45 2c 32 35 36 2b 39 2c  50 61 74 74 65 72 6e 53  |E,256+9,PatternS|
00001ab0  70 72 69 74 65 0d 08 52  15 c8 99 20 22 48 6f 75  |prite..R... "Hou|
00001ac0  72 67 6c 61 73 73 5f 4f  6e 22 0d 08 5c 09 d6 69  |rglass_On"..\..i|
00001ad0  6e 69 74 0d 08 66 0a c8  8e 20 b9 20 ca 0d 08 70  |nit..f... . ...p|
00001ae0  3d c9 20 21 50 61 74 74  65 72 6e 4e 75 6d 62 65  |=. !PatternNumbe|
00001af0  72 25 3e 30 3a d6 20 52  65 76 69 76 65 3a 21 43  |r%>0:. Revive:!C|
00001b00  75 72 72 65 6e 74 50 61  74 74 65 72 6e 41 64 64  |urrentPatternAdd|
00001b10  72 65 73 73 25 3d 21 63  70 25 0d 08 7a 05 7f 0d  |ress%=!cp%..z...|
00001b20  08 84 29 21 43 75 72 72  65 6e 74 50 61 74 74 65  |..)!CurrentPatte|
00001b30  72 6e 41 64 64 72 65 73  73 25 3d 50 61 74 74 65  |rnAddress%=Patte|
00001b40  72 6e 53 70 61 63 65 25  0d 08 8e 14 3f 50 61 74  |rnSpace%....?Pat|
00001b50  74 65 72 6e 53 70 61 63  65 25 3d 30 0d 08 98 14  |ternSpace%=0....|
00001b60  50 61 74 74 65 72 6e 45  64 69 74 25 3f 30 3d 38  |PatternEdit%?0=8|
00001b70  0d 08 a2 26 e3 49 25 3d  30 b8 28 38 2b 65 78 74  |...&.I%=0.(8+ext|
00001b80  72 61 73 29 3a 49 6e 55  73 65 25 21 28 49 25 2a  |ras):InUse%!(I%*|
00001b90  34 29 3d 30 3a ed 0d 08  ac 05 cb 0d 08 b6 15 3f  |4)=0:..........?|
00001ba0  4e 75 6d 4f 66 53 74 69  74 63 68 65 73 25 3d 30  |NumOfStitches%=0|
00001bb0  0d 08 c0 2d e3 49 25 3d  30 b8 36 30 20 88 34 3a  |...-.I%=0.60 .4:|
00001bc0  50 61 74 74 65 72 6e 4d  61 74 72 69 78 25 21 49  |PatternMatrix%!I|
00001bd0  25 3d 26 46 46 46 46 46  46 46 46 3a ed 0d 08 ca  |%=&FFFFFFFF:....|
00001be0  22 49 6e 55 73 65 25 3d  50 61 67 65 4d 61 74 72  |"InUse%=PageMatr|
00001bf0  69 78 25 2b 28 65 78 74  72 61 73 2a 36 34 29 0d  |ix%+(extras*64).|
00001c00  08 d4 16 c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |..... "Hourglass|
00001c10  5f 4f 66 66 22 0d 08 de  05 e1 0d 08 e8 04 0d 08  |_Off"...........|
00001c20  f2 0c dd f2 77 69 6e 64  6f 77 0d 08 fc 10 57 69  |....window....Wi|
00001c30  6e 64 6f 77 73 4f 6e 25  3d 31 0d 09 06 11 ef 32  |ndowsOn%=1.....2|
00001c40  39 2c 21 57 69 6e 58 25  3b 30 3b 0d 09 10 0a d6  |9,!WinX%;0;.....|
00001c50  20 64 72 61 77 0d 09 1a  0f d6 53 6d 61 6c 6c 47  | draw.....SmallG|
00001c60  72 69 64 73 0d 09 24 0c  f2 50 61 74 47 72 69 64  |rids..$..PatGrid|
00001c70  0d 09 2e 11 d6 20 57 72  69 74 65 4e 75 6d 62 65  |..... WriteNumbe|
00001c80  72 0d 09 38 13 43 6f 6c  6f 75 72 54 61 62 6c 65  |r..8.ColourTable|
00001c90  3f 38 3d 30 0d 09 42 19  73 63 61 6c 65 25 21 30  |?8=0..B.scale%!0|
00001ca0  3d 34 3a 73 63 61 6c 65  25 21 34 3d 32 0d 09 4c  |=4:scale%!4=2..L|
00001cb0  1a 21 43 6f 6c 6f 75 72  54 61 62 6c 65 3d 26 43  |.!ColourTable=&C|
00001cc0  42 43 41 43 39 43 38 0d  09 56 59 e3 57 25 3d 30  |BCAC9C8..VY.W%=0|
00001cd0  b8 32 32 3a c8 99 20 26  32 45 2c 32 35 36 2b 35  |.22:.. &2E,256+5|
00001ce0  32 2c 53 74 69 74 63 68  65 73 25 2c 22 7a 22 2b  |2,Stitches%,"z"+|
00001cf0  c3 57 25 2c 73 78 25 21  28 57 25 2a 34 29 2c 73  |.W%,sx%!(W%*4),s|
00001d00  79 25 21 28 57 25 2a 34  29 2c 38 2c 73 63 61 6c  |y%!(W%*4),8,scal|
00001d10  65 25 2c 43 6f 6c 6f 75  72 54 61 62 6c 65 3a ed  |e%,ColourTable:.|
00001d20  0d 09 60 19 73 63 61 6c  65 25 21 30 3d 32 3a 73  |..`.scale%!0=2:s|
00001d30  63 61 6c 65 25 21 34 3d  31 0d 09 6a 1a 21 43 6f  |cale%!4=1..j.!Co|
00001d40  6c 6f 75 72 54 61 62 6c  65 3d 26 31 46 31 45 31  |lourTable=&1F1E1|
00001d50  44 31 43 0d 09 74 5b e3  57 25 3d 32 33 b8 33 31  |D1C..t[.W%=23.31|
00001d60  3a c8 99 20 26 32 45 2c  32 35 36 2b 35 32 2c 53  |:.. &2E,256+52,S|
00001d70  74 69 74 63 68 65 73 25  2c c3 28 57 25 2d 32 33  |titches%,.(W%-23|
00001d80  29 2c 73 78 25 21 28 57  25 2a 34 29 2c 73 79 25  |),sx%!(W%*4),sy%|
00001d90  21 28 57 25 2a 34 29 2c  38 2c 73 63 61 6c 65 25  |!(W%*4),8,scale%|
00001da0  2c 43 6f 6c 6f 75 72 54  61 62 6c 65 3a ed 0d 09  |,ColourTable:...|
00001db0  7e 08 ef 32 39 7c 0d 09  88 2b e3 57 25 3d 30 b8  |~..29|...+.W%=0.|
00001dc0  33 31 3a 53 78 25 21 28  57 25 2a 34 29 3d 73 78  |31:Sx%!(W%*4)=sx|
00001dd0  25 21 28 57 25 2a 34 29  2b 21 57 69 6e 58 25 3a  |%!(W%*4)+!WinX%:|
00001de0  ed 0d 09 92 0d d6 20 70  75 74 5f 64 69 79 0d 09  |...... put_diy..|
00001df0  9c 0b e3 49 25 3d 30 b8  33 0d 09 a6 14 e6 6b 6f  |...I%=0.3.....ko|
00001e00  6c 6f 75 72 25 20 c8 9c  49 25 3c 3c 36 0d 09 b0  |lour% ..I%<<6...|
00001e10  21 c8 93 20 c8 90 20 21  57 69 6e 58 25 2b 38 2c  |!.. .. !WinX%+8,|
00001e20  34 30 30 2b 49 25 2a 38  2c 31 32 38 2c 34 0d 09  |400+I%*8,128,4..|
00001e30  ba 05 ed 0d 09 c4 10 e6  33 2c 31 35 20 c8 9c 20  |........3,15 .. |
00001e40  31 39 32 0d 09 ce 2f e7  28 46 6c 69 70 46 6c 61  |192.../.(FlipFla|
00001e50  67 25 20 80 31 29 3d 31  3a c8 93 20 c8 90 20 21  |g% .1)=1:.. .. !|
00001e60  57 69 6e 58 25 2b 31 36  2c 32 32 34 2c 34 32 2c  |WinX%+16,224,42,|
00001e70  32 34 0d 09 d8 2f e7 28  46 6c 69 70 46 6c 61 67  |24.../.(FlipFlag|
00001e80  25 20 80 32 29 3d 32 3a  c8 93 20 c8 90 20 21 57  |% .2)=2:.. .. !W|
00001e90  69 6e 58 25 2b 31 36 2c  31 39 32 2c 34 32 2c 32  |inX%+16,192,42,2|
00001ea0  34 0d 09 e2 34 c8 99 20  26 32 45 2c 32 35 36 2b  |4...4.. &2E,256+|
00001eb0  33 34 2c 53 74 69 74 63  68 65 73 25 2c 22 67 6c  |34,Stitches%,"gl|
00001ec0  61 73 73 22 2c 21 57 69  6e 58 25 2b 32 32 38 2c  |ass",!WinX%+228,|
00001ed0  36 37 32 2c 30 0d 09 ec  05 e1 0d 09 f6 04 0d 0a  |672,0...........|
00001ee0  00 0d dd f2 50 61 74 47  72 69 64 0d 0a 0a 23 e6  |....PatGrid...#.|
00001ef0  20 36 33 20 c8 9c 20 31  39 32 3a c8 93 20 c8 90  | 63 .. 192:.. ..|
00001f00  20 31 38 2c 35 32 2c 31  32 35 2c 31 32 31 0d 0a  | 18,52,125,121..|
00001f10  14 0b e3 49 25 3d 30 b8  37 0d 0a 1e 0d e6 20 36  |...I%=0.7..... 6|
00001f20  33 20 c8 9c 20 30 0d 0a  28 37 86 31 36 2b 49 25  |3 .. 0..(7.16+I%|
00001f30  2a 31 36 2c 34 38 2c 31  36 2b 49 25 2a 31 36 2c  |*16,48,16+I%*16,|
00001f40  31 37 32 3a 86 31 36 2c  34 38 2b 49 25 2a 31 36  |172:.16,48+I%*16|
00001f50  2c 31 34 33 2c 34 38 2b  49 25 2a 31 36 0d 0a 32  |,143,48+I%*16..2|
00001f60  05 ed 0d 0a 3c 05 e1 0d  0a 46 04 0d 0a 50 0d dd  |....<....F...P..|
00001f70  f2 6d 61 67 6e 69 66 79  0d 0a 5a 29 c8 97 20 87  |.magnify..Z).. .|
00001f80  3a 24 73 6d 61 6c 6c 25  3d 22 73 30 22 3a 73 6d  |:$small%="s0":sm|
00001f90  25 3d 73 6d 61 6c 6c 25  2b 31 3a 6d 61 67 25 3d  |%=small%+1:mag%=|
00001fa0  32 0d 0a 64 85 c8 99 20  26 32 45 2c 32 35 36 2b  |2..d... &2E,256+|
00001fb0  39 2c 6d 61 67 5f 73 70  72 69 74 65 3a c8 99 20  |9,mag_sprite:.. |
00001fc0  26 32 45 2c 32 35 36 2b  31 36 2c 6d 61 67 5f 73  |&2E,256+16,mag_s|
00001fd0  70 72 69 74 65 2c 73 6d  61 6c 6c 25 2c 30 2c 78  |prite,small%,0,x|
00001fe0  25 2d 31 30 30 2c 79 25  2d 31 30 30 2c 78 25 2b  |%-100,y%-100,x%+|
00001ff0  31 30 30 2c 79 25 2b 31  30 30 3a c8 99 20 26 32  |100,y%+100:.. &2|
00002000  45 2c 32 35 36 2b 31 35  2c 6d 61 67 5f 73 70 72  |E,256+15,mag_spr|
00002010  69 74 65 2c 6c 61 72 67  65 25 2c 30 2c 31 30 30  |ite,large%,0,100|
00002020  2c 35 30 2c 31 35 0d 0a  6e 25 3f 73 6d 25 3d 3f  |,50,15..n%?sm%=?|
00002030  73 6d 25 82 31 3a 6f 75  74 25 3d 31 3a f2 6d 67  |sm%.1:out%=1:.mg|
00002040  73 3a f2 4d 6f 75 73 65  4f 66 66 0d 0a 78 05 f5  |s:.MouseOff..x..|
00002050  0d 0a 82 e0 c8 99 20 26  32 45 2c 32 35 36 2b 36  |...... &2E,256+6|
00002060  30 2c 6d 61 67 5f 73 70  72 69 74 65 2c 73 6d 61  |0,mag_sprite,sma|
00002070  6c 6c 25 2c 30 20 b8 20  72 30 25 2c 72 31 25 2c  |ll%,0 . r0%,r1%,|
00002080  72 32 25 2c 72 33 25 3a  c8 99 20 26 32 45 2c 32  |r2%,r3%:.. &2E,2|
00002090  35 36 2b 33 34 2c 6d 61  67 5f 73 70 72 69 74 65  |56+34,mag_sprite|
000020a0  2c 6c 61 72 67 65 25 2c  78 25 2d 6f 78 25 2c 79  |,large%,x%-ox%,y|
000020b0  25 2d 6f 79 25 2c 38 3a  c8 99 20 26 32 45 2c 72  |%-oy%,8:.. &2E,r|
000020c0  30 25 2c 72 31 25 2c 72  32 25 2c 72 33 25 3a c8  |0%,r1%,r2%,r3%:.|
000020d0  99 20 26 32 45 2c 32 35  36 2b 33 34 2c 6d 61 67  |. &2E,256+34,mag|
000020e0  5f 73 70 72 69 74 65 2c  73 6d 61 6c 6c 25 2c 6f  |_sprite,small%,o|
000020f0  78 25 2d 31 30 30 2c 6f  79 25 2d 31 30 30 2c 30  |x%-100,oy%-100,0|
00002100  3a c8 99 20 26 32 45 2c  32 35 36 2b 33 34 2c 6d  |:.. &2E,256+34,m|
00002110  61 67 5f 73 70 72 69 74  65 2c 6c 61 72 67 65 25  |ag_sprite,large%|
00002120  2c 78 25 2d 31 30 30 2c  79 25 2d 31 30 30 2c 38  |,x%-100,y%-100,8|
00002130  0d 0a 8c 48 e6 20 36 33  20 c8 9c 20 31 39 32 3a  |...H. 63 .. 192:|
00002140  c8 93 20 78 25 2d 31 30  30 2c 79 25 2d 31 30 30  |.. x%-100,y%-100|
00002150  2c 32 30 30 2c 32 30 30  3a e6 20 30 20 c8 9c 20  |,200,200:. 0 .. |
00002160  30 3a c8 93 20 78 25 2d  39 38 2c 79 25 2d 39 36  |0:.. x%-98,y%-96|
00002170  2c 31 39 36 2c 31 39 32  0d 0a 96 0f 6f 75 74 25  |,196,192....out%|
00002180  3d 30 3a f2 6d 67 73 0d  0a a0 0c fd 20 6f 75 74  |=0:.mgs..... out|
00002190  25 3d 31 0d 0a aa 44 c8  99 20 26 32 45 2c 32 35  |%=1...D.. &2E,25|
000021a0  36 2b 33 34 2c 6d 61 67  5f 73 70 72 69 74 65 2c  |6+34,mag_sprite,|
000021b0  73 6d 61 6c 6c 25 2c 6f  78 25 2d 31 30 30 2c 6f  |small%,ox%-100,o|
000021c0  79 25 2d 31 30 30 2c 30  3a c8 97 20 ee 3a f2 4d  |y%-100,0:.. .:.M|
000021d0  6f 75 73 65 4f 66 66 0d  0a b4 05 e1 0d 0a be 04  |ouseOff.........|
000021e0  0d 0a c8 09 dd f2 6d 67  73 0d 0a d2 11 6f 78 25  |......mgs....ox%|
000021f0  3d 78 25 3a 6f 79 25 3d  79 25 0d 0a dc 23 f5 3a  |=x%:oy%=y%...#.:|
00002200  c8 97 20 78 25 2c 79 25  2c 62 25 3a 78 25 3d 78  |.. x%,y%,b%:x%=x|
00002210  25 80 ac 31 3a 79 25 3d  79 25 80 ac 33 0d 0a e6  |%..1:y%=y%..3...|
00002220  0b c8 8e 20 62 25 20 ca  0d 0a f0 24 c9 20 31 3a  |... b% ....$. 1:|
00002230  f2 4d 6f 75 73 65 4f 66  66 3a 6d 61 67 25 3d 6d  |.MouseOff:mag%=m|
00002240  61 67 25 82 36 3a 6f 75  74 25 3d 32 0d 0a fa 10  |ag%.6:out%=2....|
00002250  c9 20 32 2c 34 3a 6f 75  74 25 3d 31 0d 0b 04 05  |. 2,4:out%=1....|
00002260  cb 0d 0b 0e 19 fd 6f 75  74 25 84 78 25 3c 3e 6f  |......out%.x%<>o|
00002270  78 25 84 79 25 3c 3e 6f  79 25 0d 0b 18 cd 73 63  |x%.y%<>oy%....sc|
00002280  61 6c 65 25 21 30 3d 6d  61 67 25 3a 73 63 61 6c  |ale%!0=mag%:scal|
00002290  65 25 21 34 3d 6d 61 67  25 3a c8 99 20 26 32 45  |e%!4=mag%:.. &2E|
000022a0  2c 32 35 36 2b 31 36 2c  6d 61 67 5f 73 70 72 69  |,256+16,mag_spri|
000022b0  74 65 2c 73 6d 61 6c 6c  25 2c 30 2c 78 25 2d 31  |te,small%,0,x%-1|
000022c0  30 30 2c 79 25 2d 31 30  30 2c 78 25 2b 31 30 30  |00,y%-100,x%+100|
000022d0  2c 79 25 2b 31 30 30 3a  c8 99 20 26 32 45 2c 32  |,y%+100:.. &2E,2|
000022e0  35 36 2b 36 30 2c 6d 61  67 5f 73 70 72 69 74 65  |56+60,mag_sprite|
000022f0  2c 73 6d 61 6c 6c 25 2c  30 20 b8 20 72 30 25 2c  |,small%,0 . r0%,|
00002300  72 31 25 2c 72 32 25 2c  72 33 25 3a 3f 73 6d 25  |r1%,r2%,r3%:?sm%|
00002310  3d 3f 73 6d 25 82 31 3a  c8 99 20 26 32 45 2c 32  |=?sm%.1:.. &2E,2|
00002320  35 36 2b 33 34 2c 6d 61  67 5f 73 70 72 69 74 65  |56+34,mag_sprite|
00002330  2c 73 6d 61 6c 6c 25 2c  6f 78 25 2d 78 25 2c 6f  |,small%,ox%-x%,o|
00002340  79 25 2d 79 25 2c 30 0d  0b 22 9a 3f 73 6d 25 3d  |y%-y%,0..".?sm%=|
00002350  3f 73 6d 25 82 31 3a c8  99 20 26 32 45 2c 32 35  |?sm%.1:.. &2E,25|
00002360  36 2b 36 30 2c 6d 61 67  5f 73 70 72 69 74 65 2c  |6+60,mag_sprite,|
00002370  6c 61 72 67 65 25 2c 30  3a c8 99 20 26 32 45 2c  |large%,0:.. &2E,|
00002380  32 35 36 2b 35 32 2c 6d  61 67 5f 73 70 72 69 74  |256+52,mag_sprit|
00002390  65 2c 73 6d 61 6c 6c 25  2c 31 30 30 2d 31 30 30  |e,small%,100-100|
000023a0  2a 6d 61 67 25 2c 31 30  30 2d 31 30 30 2a 6d 61  |*mag%,100-100*ma|
000023b0  67 25 2c 30 2c 73 63 61  6c 65 25 2c 2d 31 3a c8  |g%,0,scale%,-1:.|
000023c0  99 20 26 32 45 2c 72 30  25 2c 72 31 25 2c 72 32  |. &2E,r0%,r1%,r2|
000023d0  25 2c 72 33 25 3a 3f 73  6d 25 3d 3f 73 6d 25 82  |%,r3%:?sm%=?sm%.|
000023e0  31 0d 0b 2c 05 e1 0d 0b  36 04 0d 0b 40 0d dd f2  |1..,....6...@...|
000023f0  53 68 6f 77 50 69 63 0d  0b 4a 36 c8 99 20 22 48  |ShowPic..J6.. "H|
00002400  6f 75 72 67 6c 61 73 73  5f 4f 6e 22 3a d6 20 67  |ourglass_On":. g|
00002410  72 69 64 5f 64 72 61 77  3a e7 21 50 61 74 74 65  |rid_draw:.!Patte|
00002420  72 6e 4e 75 6d 62 65 72  25 3d 30 20 e1 0d 0b 54  |rnNumber%=0 ...T|
00002430  2b 73 63 61 6c 65 25 21  30 3d 32 3a 73 63 61 6c  |+scale%!0=2:scal|
00002440  65 25 21 34 3d 31 3a 50  53 25 3d 50 61 74 74 65  |e%!4=1:PS%=Patte|
00002450  72 6e 53 70 61 63 65 25  0d 0b 5e 70 e3 46 25 3d  |rnSpace%..^p.F%=|
00002460  30 b8 21 50 61 74 74 65  72 6e 4e 75 6d 62 65 72  |0.!PatternNumber|
00002470  25 2d 31 3a 78 25 3d 50  53 25 3f 31 2a 31 36 3a  |%-1:x%=PS%?1*16:|
00002480  79 25 3d 50 53 25 3f 32  2a 31 36 3a c8 99 20 26  |y%=PS%?2*16:.. &|
00002490  32 45 2c 32 35 36 2b 35  32 2c 50 61 74 74 65 72  |2E,256+52,Patter|
000024a0  6e 53 70 72 69 74 65 2c  c3 46 25 2c 78 25 2c 79  |nSprite,.F%,x%,y|
000024b0  25 2c 38 2c 73 63 61 6c  65 25 2c 30 3a 50 53 25  |%,8,scale%,0:PS%|
000024c0  2b 3d 3f 50 53 25 3a ed  0d 0b 68 05 e1 0d 0b 72  |+=?PS%:...h....r|
000024d0  04 0d 0b 7c 0d dd f2 70  61 6c 65 74 74 65 0d 0b  |...|...palette..|
000024e0  86 5a e6 30 20 c8 9c 30  3a c8 93 20 c8 90 20 50  |.Z.0 ..0:.. .. P|
000024f0  61 6c 5f 78 25 2c 50 61  6c 5f 79 25 2c 31 34 36  |al_x%,Pal_y%,146|
00002500  2c 36 32 30 3a e6 36 33  20 c8 9c 31 39 32 3a ec  |,620:.63 ..192:.|
00002510  50 61 6c 5f 78 25 2c 50  61 6c 5f 79 25 2b 35 38  |Pal_x%,Pal_y%+58|
00002520  30 3a df 50 61 6c 5f 78  25 2b 31 34 36 2c 50 61  |0:.Pal_x%+146,Pa|
00002530  6c 5f 79 25 2b 35 38 30  0d 0b 90 43 e3 49 25 3d  |l_y%+580...C.I%=|
00002540  30 b8 33 3a e6 6b 6f 6c  6f 75 72 25 20 c8 9c 49  |0.3:.kolour% ..I|
00002550  25 3c 3c 36 3a c8 93 20  c8 90 20 50 61 6c 5f 78  |%<<6:.. .. Pal_x|
00002560  25 2b 34 30 2c 50 61 6c  5f 79 25 2b 35 38 38 2b  |%+40,Pal_y%+588+|
00002570  49 25 2a 38 2c 36 36 2c  34 3a ed 0d 0b 9a 53 f2  |I%*8,66,4:....S.|
00002580  72 63 3a c8 93 20 c8 90  20 50 61 6c 5f 78 25 2b  |rc:.. .. Pal_x%+|
00002590  31 31 32 2c 50 61 6c 5f  79 25 2b 35 38 38 2c 33  |112,Pal_y%+588,3|
000025a0  31 2c 32 38 3a e6 36 33  20 c8 9c 31 39 32 3a ec  |1,28:.63 ..192:.|
000025b0  50 61 6c 5f 78 25 2b 31  31 32 2c 50 61 6c 5f 79  |Pal_x%+112,Pal_y|
000025c0  25 2b 36 31 36 3a f1 6b  6f 6c 6f 75 72 25 0d 0b  |%+616:.kolour%..|
000025d0  a4 19 70 78 25 3d 50 61  6c 5f 78 25 2b 34 3a 73  |..px%=Pal_x%+4:s|
000025e0  68 61 64 65 25 3d 30 0d  0b ae 1d e3 63 6f 6c 75  |hade%=0.....colu|
000025f0  6d 6e 25 3d 30 b8 33 3a  70 79 25 3d 50 61 6c 5f  |mn%=0.3:py%=Pal_|
00002600  79 25 2b 34 0d 0b b8 46  e3 49 25 3d 30 b8 31 35  |y%+4...F.I%=0.15|
00002610  3a e6 20 70 61 6c 5f 63  6f 6c 73 3f 73 68 61 64  |:. pal_cols?shad|
00002620  65 25 3a c8 93 20 c8 90  20 70 78 25 2c 70 79 25  |e%:.. .. px%,py%|
00002630  2c 33 31 2c 33 31 3a 73  68 61 64 65 25 2b 3d 31  |,31,31:shade%+=1|
00002640  3a 70 79 25 2b 3d 33 36  3a ed 0d 0b c2 0b 70 78  |:py%+=36:.....px|
00002650  25 2b 3d 33 36 0d 0b cc  05 ed 0d 0b d6 05 e1 0d  |%+=36...........|
00002660  0b e0 04 0d 0b ea 61 dd  f2 43 6f 6e 66 69 72 6d  |......a..Confirm|
00002670  3a c8 97 20 ee 3a ff 28  22 46 58 32 31 20 30 22  |:.. .:.("FX21 0"|
00002680  29 3a f2 4d 6f 75 73 65  4f 66 66 3a c8 99 20 22  |):.MouseOff:.. "|
00002690  4f 53 5f 43 6f 6e 66 69  72 6d 22 b8 20 6b 65 79  |OS_Confirm". key|
000026a0  3a f2 4d 6f 75 73 65 4f  66 66 3a c8 97 20 87 3a  |:.MouseOff:.. .:|
000026b0  61 62 25 3d 30 3a e7 6b  65 79 3d 31 32 31 20 61  |ab%=0:.key=121 a|
000026c0  62 25 3d 34 0d 0b f4 05  e1 0d 0b fe 28 dd f2 4d  |b%=4........(..M|
000026d0  6f 75 73 65 4f 66 66 3a  f5 3a c8 97 20 6d 31 25  |ouseOff:.:.. m1%|
000026e0  2c 6d 32 25 2c 6d 33 25  3a fd 6d 33 25 3d 30 3a  |,m2%,m3%:.m3%=0:|
000026f0  e1 0d 0c 08 34 dd f2 72  63 3a e6 32 31 20 c8 9c  |....4..rc:.21 ..|
00002700  31 32 38 3a c8 93 20 c8  90 20 50 61 6c 5f 78 25  |128:.. .. Pal_x%|
00002710  2b 34 2c 50 61 6c 5f 79  25 2b 35 38 38 2c 33 31  |+4,Pal_y%+588,31|
00002720  2c 32 38 3a e1 0d ff                              |,28:...|
00002727