Home » Archimedes archive » Archimedes World » AW-1995-01-Disc1.adf » Disk1Jan95 » !AWJan95/Goodies/DrawBasic/!DrawBasic/Disc/Utils
!AWJan95/Goodies/DrawBasic/!DrawBasic/Disc/Utils
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 » Archimedes World » AW-1995-01-Disc1.adf » Disk1Jan95 |
Filename: | !AWJan95/Goodies/DrawBasic/!DrawBasic/Disc/Utils |
Read OK: | ✔ |
File size: | 39CD bytes |
Load address: | 0000 |
Exec address: | 0000 |
Duplicates
There are 7 duplicate copies of this file in the archive:
- Archimedes archive » Archimedes World » AW-1995-03-Disc1.adf » Disk1Mar95 » !AWMar95/Goodies/DrawBasic/!DrawBasic/Disc/Utils
- Archimedes archive » Archimedes World » AW-1994-12-Disc1.adf » Disk1Dec94 » !AWDec94/Goodies/DrawBasic/!DrawBasic/Utils
- Archimedes archive » Archimedes World » AW-1994-12-Disc1.adf » Disk1Dec94 » !AWDec94/Goodies/DrawBasic/!DrawBasic/Disc/Utils
- Archimedes archive » Archimedes World » AW-1995-01-Disc1.adf » Disk1Jan95 » !AWJan95/Goodies/DrawBasic/!DrawBasic/Utils
- Archimedes archive » Archimedes World » AW-1995-01-Disc1.adf » Disk1Jan95 » !AWJan95/Goodies/DrawBasic/!DrawBasic/Disc/Utils
- Archimedes archive » Archimedes World » AW-1995-04-Disc1.adf » Disk1Apr95 » !AWApr95/Goodies/Draw/!DrawBasic/Disc/Utils
- Archimedes archive » Archimedes World » AW-1995-05-Disc1.adf » AWMay95_1 » InTheMag/DrawBasic/!DrawBasic/Disc/Utils
- Archimedes archive » Archimedes World » AW-1995-02-Disc1.adf » Disk1Feb95 » !AWFeb95/Goodies/DrawBasic/!DrawBasic/Disc/Utils
File contents
1REM > DrawBasic:Utils 2 3REM ======================================================= 4REM 5REM copyright Joe Taylor June 1994 6REM 7REM N.B. For ERROR THROWBACK to work The first line above 8REM MUST have the correct pathname of this file. 9REM If you move the location of the file remember to 10REM alter this pathname. 11REM 12REM ======================================================= 13 14 15REM ************************************************************************** 16REM 17REM 1. SETTING UP A DRAW FILE 18REM 19REM ************************************************************************** 20 21REM ======================= 22REM 1.1 Memory Manipulation 23REM ======================= 24 25DEF FNFreeSlot 26 REM -------------------------------------- 27 REM 28 REM Allocates 'Free' slot for data storage 29 REM 30 REM Called in Library setup file 31 REM 32 REM -------------------------------------- 33 LOCAL Buffer%,Free_Size% 34 SYS "Wimp_SlotSize",-1,-1 TO ,,Free_Size% 35 IF Free_Size%<32 THEN 36 ON ERROR OFF 37 SYS "Wimp_CommandWindow",-1 38 ERROR EXT 0,"DrawBasic needs a non-empty 'Free' slot to save Draw file output" 39 ENDIF 40 IF Free_Size%>1024*1024*4 THEN Free_Size%=1024*1024*4 41 Buffer%=HIMEM 42 END=Buffer%+Free_Size% 43 !Buffer%=Buffer%+8 44 Buffer%!4=Buffer%+Free_Size% 45=Buffer% 46 47DEF PROCDraw_AddWord(x%) 48 REM ------------------------------------- 49 REM 50 REM Adds the word (4 bytes) x% to a 51 REM "formatted" word array. 52 REM 53 REM The "pointer" is updated. 54 REM 55 REM ------------------------------------- 56 IF (!HIMEM)>=(!(HIMEM+4)) THEN ERROR 0,"Out of memory" 57 !(!HIMEM)=x% : REM write word to file at next free address 58 !HIMEM+=4 : REM update pointer to next free byte 59 ENDPROC 60 61DEF PROCDraw_AddFloat(x) 62 REM ------------------------------------- 63 REM 64 REM Adds the floating-point number 65 REM (5 or 8 bytes) x . 66 REM 67 REM The "pointer" is updated. 68 REM 69 REM ------------------------------------- 70 IF (!HIMEM)+4>=(!(HIMEM+4)) THEN ERROR 0,"Out of memory" 71 |(!HIMEM)=x : REM write to file at next free address 72 !HIMEM+=8 : REM update pointer to next free byte 73 ENDPROC 74 75DEF PROCDraw_AddString(pointer%,x$) 76 REM ------------------------------------------- 77 REM 78 REM Adds string x$ to a "formatted" word array 79 REM and adds a CHR$0. 80 REM 81 REM String is now aligned with word boundary 82 REM 83 REM ------------------------------------------ 84 LOCAL _a% 85 _a%=LENx$ 86 IF (!pointer%+_a%)>=(!(HIMEM+4)) THEN ERROR 0,"Out of memory" 87 IF (_a%MOD4)<>0 THEN x$+=STRING$(4-(_a%MOD4),CHR$0) : _a%=LENx$ 88 $(!pointer%)=x$ 89 !pointer%+=_a% 90 ENDPROC 91 92DEF PROCDraw_AddCoords(x,y) 93 REM ------------------------------------------- 94 REM 95 REM Adds coordinates (x,y) 96 REM 97 REM 98 REM ------------------------------------------ 99 PROCDraw_AddWord(FNDraw_X(x)) 100 PROCDraw_AddWord(FNDraw_Y(y)) 101 ENDPROC 102 103DEF PROCMoveMemory(address%,n_words%) 104 REM ----------------------------------- 105 REM 106 REM Moves n_words% upwards starting at 107 REM address% 108 REM 109 REM ----------------------------------- 110 LOCAL _i%,_n% : _n%=4*n_words% : _i%=!HIMEM 111 IF address%+_n%>=(!(HIMEM+4)) THEN ERROR 0,"Not enough memory!" 112 WHILE _i%>address% 113 _i%-=4 114 _i%!_n%=!_i% 115 ENDWHILE 116 !HIMEM+=_n% 117ENDPROC 118 119DEF FNObjectType(path) 120IF path>=!(HIMEM+4) THEN=!(!path) ELSE=!path 121 122REM ======================== 123REM 1.2 Creating A Draw File 124REM ======================== 125 126DEF PROCBeginDrawing 127 REM --------------------- 128 REM 129 REM Sets up "new" drawing 130 REM 131 REM --------------------- 132 PROCDraw_SetUp 133 PROCDraw_SetFileHeader 134 PROCDraw_SetFontTable 135ENDPROC 136 137DEF PROCDraw_SetUp 138 LOCAL _scale% : _scale%=INT(180*256/2.54+.5) 139 PROCDraw_AddWord(0) : REM 8 Address of Draw File 140 PROCDraw_AddWord(0) : REM 12 Origin x (Draw units) 141 PROCDraw_AddWord(0) : REM 16 Origin y "" 142 PROCDraw_AddWord(12*_scale%) : REM 20 Frame_size width "" 143 PROCDraw_AddWord(12*_scale%) : REM 24 Frame_size height "" 144 PROCDraw_AddFloat(0) : REM 28 Frame Coords a (User units) 145 PROCDraw_AddFloat(0) : REM 36 Frame Coords u "" 146 PROCDraw_AddFloat(12) : REM 44 Frame Coords width "" 147 PROCDraw_AddFloat(12) : REM 52 Frame Coords height "" 148 PROCDraw_AddWord(_scale%) : REM 60 Units 149 150 PROCDraw_AddWord(0) : REM 64 Current path 151 PROCDraw_AddWord(0) : REM 68 Current subpath 152 153 PROCDraw_AddWord(0) : REM 72 Symbol type 154 PROCDraw_AddWord(0) : REM 76 Dash pattern 155 PROCDraw_AddWord(12) : REM 80 Symbol size 156 157 PROCDraw_AddWord(14*640) : REM 84 Text Font size (points) 158 PROCDraw_AddWord(0) : REM 88 Text colour 159 PROCDraw_AddWord(1) : REM 92 Current Font 160 161 PROCDraw_AddWord(1<<16) : REM 96 Translate 162 PROCDraw_AddWord(0) : REM 100 163 PROCDraw_AddWord(0) : REM 104 164 PROCDraw_AddWord(1<<16) : REM 108 165 PROCDraw_AddWord(256*90) : REM 112 166 PROCDraw_AddWord(256*90) : REM 116 167 168 PROCDraw_AddWord(_scale%) : REM 120 Cms/Draw units 169 170 PROCDraw_AddWord(1<<16) : REM 124 Axes width 171 PROCDraw_AddWord((3<<16)+3) : REM 128 Axes Cap Point/width 172 PROCDraw_AddWord(0) : REM 132 Axes Extend (0%) 173 174 PROCDraw_AddWord(1) : REM 136 Nx scales 175 PROCDraw_AddWord(0) : REM 140 nx scales 176 PROCDraw_AddWord(1) : REM 144 Ny scales 177 PROCDraw_AddWord(0) : REM 148 ny scales 178 PROCDraw_AddWord(10) : REM 152 Lx scales 179 PROCDraw_AddWord(7) : REM 156 lx scales 180 PROCDraw_AddWord(10) : REM 160 Ly scales 181 PROCDraw_AddWord(7) : REM 164 ly scales 182 PROCDraw_AddWord(1<<16) : REM 168 Wx scales 183 PROCDraw_AddWord(1<<15) : REM 172 wx scales 184 PROCDraw_AddWord(1<<16) : REM 176 Wy scales 185 PROCDraw_AddWord(1<<15) : REM 180 wy scales 186 187 PROCDraw_AddWord(1<<16) : REM 184 REM Current Transform 188 PROCDraw_AddWord(0) : REM 188 189 PROCDraw_AddWord(0) : REM 192 190 PROCDraw_AddWord(1<<16) : REM 196 191 PROCDraw_AddWord(0) : REM 200 192 PROCDraw_AddWord(0) : REM 204 193 194 PROCDraw_AddWord(10000) : REM 208 Max x resolution 195 PROCDraw_AddWord(100) : REM 212 Min x resolution 196 PROCDraw_AddWord(300) : REM 216 V resolution dots/inch 197 198 PROCDraw_AddWord(4) : REM 220 Bar chart scales 199 PROCDraw_AddWord(0) : REM 224 Line Colour 200 PROCDraw_AddWord(-1) : REM 228 Fill Colour (no fill) 201 PROCDraw_AddWord(0) : REM 232 Line Width 202 PROCDraw_AddWord(0) : REM 236 Line style 203 PROCDraw_AddWord(0) : REM 240 Chart factor 204 PROCDraw_AddWord(0) : REM 244 "" 205 |(HIMEM+240)=5/6 206 207 !(HIMEM+8)=!HIMEM : REM Address of Draw file 208ENDPROC 209 210DEF PROCDraw_SetFileHeader 211 REM 212 REM --------40 bytes------------ 213 REM 214 PROCDraw_AddString(HIMEM,"Draw") : REM Title 215 PROCDraw_AddWord(201) : REM major format number 216 PROCDraw_AddWord(0) : REM minor format number 217 PROCDraw_AddString(HIMEM,"DrawBasic ") : REM Program Title 218 PROCDraw_AddWord(0) : REM BoundingBox 219 PROCDraw_AddWord(0) : REM BoundingBox 220 PROCDraw_AddWord(256*180*12*3*800) : REM BoundingBox 221 PROCDraw_AddWord(256*180*12*3*800) : REM BoundingBox 222ENDPROC 223 224DEF PROCDraw_SetFontTable 225 REM ------------------------------------------------- 226 REM 227 REM This procedure should not be called in a program. 228 REM It is used to set the Font table. 229 REM 230 REM ------------------------------------------------- 231 LOCAL _fonts% : _fonts%=!(HIMEM+8)+40 232 PROCDraw_AddWord(0) : REM Font object type 0 233 PROCDraw_AddWord(0) : REM Font object length 234 PROCDraw_AddString(HIMEM,CHR$1+"Trinity.Medium"+CHR$0) 235 !(_fonts%+4)=!HIMEM-_fonts% : REM Font object length 236ENDPROC 237 238REM ======================== 239REM 1.3 Saving A Draw File 240REM ======================== 241 242DEF PROCQuit 243 REM ------------------------------------------------------- 244 REM 245 REM Saves Draw file to DrawBasic:DrawFile 246 REM 247 REM The file is then *Run so it will be loaded into !Draw 248 REM 249 REM ------------------------------------------------------- 250 IF !(HIMEM+68)<>0 THEN ERROR 0,"Paths must end with 'PathEnd'" 251 OSCLI("Save DrawBasic:Draw.File "+STR$~(!(HIMEM+8))+" "+STR$~(!HIMEM)) 252 *SetType DrawBasic:Draw.File DrawFile 253 *Filer_Run DrawBasic:Draw.File 254END 255 256REM --------- 257REM 258REM 1.4 Units 259REM 260REM --------- 261 262DEF FNUnits=!(HIMEM+60) 263 264DEF PROCCentimetres 265!(HIMEM+60)=INT(256*180/2.54+.5) 266PROCFrameSize(0,0,12,12) 267PROCFrameCoords(0,12,0,12) 268PROCPreview 269ENDPROC 270 271DEF PROCInches 272!(HIMEM+60)=256*180 273PROCFrameSize(0,0,6,6) 274PROCFrameCoords(0,6,0,6) 275PROCPreview 276ENDPROC 277 278DEF FNDrawUnits(a)=INT(FNUnits*a+.5) 279 280DEF PROCFrameSize(a,b,width,height) 281 REM ------------------------------------------- 282 REM 283 REM Defines the size of the drawing "frame". 284 REM 285 REM ------------------------------------------ 286 PROCFrameCoords(0,width,0,height) 287 !(HIMEM+20)=FNDrawUnits(width) : REM Bounding box - width 288 !(HIMEM+24)=FNDrawUnits(height) : REM Bounding box - height 289 !(HIMEM+12)=FNDrawUnits(a) : REM Frame_x 290 !(HIMEM+16)=FNDrawUnits(b) : REM Frame_y 291ENDPROC 292 293DEF PROCReduceFrameSize(fraction) 294LOCAL _w%,_h% 295_w%=INT(!(HIMEM+20)*fraction+.5) : _h%=INT(!(HIMEM+24)*fraction+.5) 296!(HIMEM+12)+=INT((!(HIMEM+20)-_w%)/2+.5) 297!(HIMEM+16)+=INT((!(HIMEM+24)-_h%)/2+.5) 298!(HIMEM+20)=_w% : !(HIMEM+24)=_h% 299ENDPROC 300 301DEF PROCGetFrameSize(RETURN a%,RETURN b%,RETURN width%,RETURN height%) 302 REM ------------------------------------------- 303 REM 304 REM Gives the size of the drawing "frame". 305 REM 306 REM ------------------------------------------ 307 width%=!(HIMEM+20) 308 height%=!(HIMEM+24) 309 a%=!(HIMEM+12) 310 b%=!(HIMEM+16) 311ENDPROC 312 313REM ----------------- 314REM 315REM 1.5 Co-ordinates 316REM 317REM ----------------- 318 319DEF FNFrame_x=!(HIMEM+12) 320DEF FNFrame_y=!(HIMEM+16) 321DEF FNFrame_Width=!(HIMEM+20) 322DEF FNFrame_Height=!(HIMEM+24) 323 324DEF FNFRAME_x=|(HIMEM+28) 325DEF FNFRAME_y=|(HIMEM+36) 326DEF FNFRAME_Width=|(HIMEM+44) 327DEF FNFRAME_Height=|(HIMEM+52) 328 329DEF FNX_Scale=FNFrame_Width/FNFRAME_Width 330DEF FNY_Scale=FNFrame_Height/FNFRAME_Height 331 332DEF FNEpsilon=1/FNY_Scale 333 334DEF FNMaxNoofPoints=!(HIMEM+208) 335DEF FNMinNoofPoints=!(HIMEM+212) 336DEF FNDotsPerInch=!(HIMEM+216) 337 338DEF FNDraw_X(x)=INT(FNFrame_x+(x-FNFRAME_x)*FNX_Scale+.5) 339DEF FNDraw_Y(y)=INT(FNFrame_y+(y-FNFRAME_y)*FNY_Scale+.5) 340 341DEF PROCFrameCoords(a,b,u,v) 342 REM ------------------------------------------- 343 REM 344 REM The bounding box in the (x,y) plane which 345 REM contains the drawing is a<x<b , u<y<v . 346 REM 347 REM 348 REM ------------------------------------------ 349 LOCAL _frame% 350 _frame%=HIMEM+28 351 IF a>=b THEN ERROR 0, STR$a+" < x < "+STR$b+" is a bad x range " 352 IF u>=v THEN ERROR 0, STR$u+" < y < "+STR$v+" is a bad y range " 353 |(_frame%)=a : |(_frame%+8)=u 354 |(_frame%+16)=b-a : |(_frame%+24)=v-u 355 ENDPROC 356 357DEF FNOutsideFrame(x,y) 358LOCAL _a,_b,_u,_v 359PROCGetFrameCoords(_a,_b,_u,_v) 360=-((x<_a)<<3)OR-((x>_b)<<2)OR-((y<_u)<<1)OR-(y>_v) 361 362DEF FNInFrame(x,y) 363IF FNOutsideFrame(x,y) THEN =FALSE ELSE=TRUE 364 365DEF PROCGetFrameCoords(RETURN a,RETURN b,RETURN u,RETURN v) 366 REM ------------------------------------------- 367 REM 368 REM The bounding box in the (x,y) plane which 369 REM contains the drawing is a<x<b , u<y<v . 370 REM 371 REM 372 REM ------------------------------------------ 373 LOCAL width,height 374 a=|(HIMEM+28) : u=|(HIMEM+36) 375 width=|(HIMEM+44) : height=|(HIMEM+52) 376 b=a+width : v=u+height 377 ENDPROC 378 379DEF PROCShowFrame 380 REM ------------------------------------------- 381 REM 382 REM The bounding box in the (x,y) plane which 383 REM contains the drawing is a<x<b , u<y<v . 384 REM 385 REM 386 REM ------------------------------------------ 387 LOCAL _path%,_a,_b,_u,_v 388 PROCGetFrameCoords(_a,_b,_u,_v) 389 _path%=FNRectangle(_a,_u,_b-_a,_v-_u) 390 PROCFill@(_path%,1) 391 PROCDrawPath(_path%) 392ENDPROC 393 394DEF PROCOrigin(A,B) 395 REM -------------- 396 REM 397 REM Changes origin 398 REM 399 REM -------------- 400 LOCAL _a,_b,_u,_v 401 PROCGetFrameCoords(_a,_b,_u,_v) 402 PROCFrameCoords(_a-A,_b-A,_u-B,_v-B) 403ENDPROC 404 405 406REM ------------------- 407REM 408REM 1.6 Preview Screen 409REM 410REM ------------------- 411 412DEF FNDrawDx=!(HIMEM+112) 413 414DEF FNDrawDy=!(HIMEM+116) 415 416DEF FNDrawTrans=HIMEM+96 417 418DEF PROCPreview 419 REM --------------------------------- 420 REM 421 REM Draws any paths also to screen with 422 REM a white background 423 REM 424 REM --------------------------------- 425 VDU 26 : CLG 426 LOCAL _h,_max%,_x%,_y%,_I%,_font%,_n$ 427 PROCDrawPreviewBorders(3000,12,8) 428 PROCDrawPreviewHScales(3000) 429 PROCDrawPreviewVScales(3000) 430 PROCDrawPreviewTitle(14,7) 431ENDPROC 432 433DEF PROCDrawPreviewBorders(max%,point%,colour%) 434REM Draw Borders 435point%=point%*16 436SYS "ColourTrans_SetGCOL",FNDesktopColour(2) 437RECTANGLE FILL 0,0,FNDrawDy>>8,max% 438RECTANGLE FILL 0,0,max%,FNDrawDx>>8 439SYS "ColourTrans_SetGCOL",FNDesktopColour(7) 440LINE FNDrawDx>>8,FNDrawDy>>8,max%,FNDrawDy>>8 441LINE FNDrawDx>>8,FNDrawDy>>8,FNDrawDx>>8,max% 442SYS "Font_FindFont",,"Trinity.Medium"+CHR$0,point%,point% 443SYS "ColourTrans_SetFontColours",,FNDesktopColour(2),FNDesktopColour(colour%),14 444ENDPROC 445 446DEF PROCDrawPreviewTitle(point%,colour%) 447LOCAL _n$,_f$,i% 448_f$=FNReadSystemVariable("DrawBasic$Options") 449i%=INSTR(_f$,":") : IF i%<>0 THEN _f$=RIGHT$(_f$,LEN_f$-i%) 450point%=point%*16 451_n$="DrawBasic "+FNLeaf(_f$) 452IF FNUnits=256*180 THEN _n$+=" (Inches)" ELSE _n$+=" (Cms)" 453SYS "Font_FindFont",,"Trinity.Medium"+CHR$0,point%,point% 454SYS "ColourTrans_SetFontColours",,FNDesktopColour(2),FNDesktopColour(colour%),14 455SYS "Font_Paint",,_n$,%10000,16,12 456ENDPROC 457 458DEF FNReadSystemVariable(variable$) 459REM 460REM ---------------------------- 461REM Reads the value of a string 462REM system variable 463REM ---------------------------- 464REM 465LOCAL _len%,_variable% 466DIM _variable% 256 467SYS "OS_ReadVarVal",variable$,_variable%,256,,3 TO ,,_len% 468_variable%?_len%=13 469=$_variable% 470 471DEF FNLeaf(x$) 472LOCAL _i% : _i%=INSTR(x$,".") 473IF _i%=0 THEN=x$ ELSE=FNLeaf(RIGHT$(x$,LENx$-_i%)) 474 475DEF PROCDrawPreviewHScales(max%) 476REM Draw Scales 477LOCAL _h,_x%,_I%,_dx%,_dy% 478_I%=0 : _h%=FNUnits>>8 :_dx%=FNDrawDx>>8 : _dy%=FNDrawDy>>8 479REPEAT : _x%=_dx%+(FNDraw_Y(_I%)>>8) 480 LINE _x%,_dy%,_x%,3*_dy%/4 481 LINE _x%+_h%/2,_dy%,_x%+_h%/2,7*_dy%/8 482 SYS "Font_Paint",,STR$(_I%),%10000,_x%-8,_dy%/2 483 _I%+=1 484 UNTIL _x%>max% 485ENDPROC 486 487DEF PROCDrawPreviewVScales(max%) 488LOCAL _h,_y%,_I%,_dx%,_dy% 489_I%=0 : _h%=FNUnits>>8 :_dx%=FNDrawDx>>8 : _dy%=FNDrawDy>>8 490REPEAT : _y%=_dy%+(FNDraw_X(_I%)>>8) 491 LINE _dx%,_y%,3*_dx%/4,_y% 492 LINE _dx%,_y%+_h%/2,7*_dx%/8,_y%+_h%/2 493 IF _I%>9 THEN 494 SYS "Font_Paint",,STR$(_I%),%10000,36,_y%-10 495 ELSE 496 SYS "Font_Paint",,STR$(_I%),%10000,48,_y%-10 497 ENDIF 498 _I%+=1 499 UNTIL _y%>max% 500ENDPROC 501
� > DrawBasic:Utils =� ======================================================= � $� copyright Joe Taylor June 1994 � ;� N.B. For ERROR THROWBACK to work The first line above 7� MUST have the correct pathname of this file. ;� If you move the location of the file remember to � alter this pathname. � =� ======================================================= P� ************************************************************************** � � 1. SETTING UP A DRAW FILE � P� ************************************************************************** � ======================= � 1.1 Memory Manipulation � ======================= � �FreeSlot - � -------------------------------------- � - � Allocates 'Free' slot for data storage � # � Called in Library setup file � - � -------------------------------------- ! � Buffer%,Free_Size% ", ș "Wimp_SlotSize",-1,-1 � ,,Free_Size% # � Free_Size%<32 � $ � � � % ș "Wimp_CommandWindow",-1 &N � � 0,"DrawBasic needs a non-empty 'Free' slot to save Draw file output" ' � (6 � Free_Size%>1024*1024*4 � Free_Size%=1024*1024*4 ) Buffer%=� * �=Buffer%+Free_Size% + !Buffer%=Buffer%+8 ," Buffer%!4=Buffer%+Free_Size% -=Buffer% . /� �Draw_AddWord(x%) 0, � ------------------------------------- 1 � 2& � Adds the word (4 bytes) x% to a 3 � "formatted" word array. 4 � 5 � The "pointer" is updated. 6 � 7, � ------------------------------------- 8+ � (!�)>=(!(�+4)) � � 0,"Out of memory" 9: !(!�)=x% : � write word to file at next free address :3 !�+=4 : � update pointer to next free byte ; � < =� �Draw_AddFloat(x) >, � ------------------------------------- ? � @% � Adds the floating-point number A � (5 or 8 bytes) x . B � C � The "pointer" is updated. D � E, � ------------------------------------- F- � (!�)+4>=(!(�+4)) � � 0,"Out of memory" G5 |(!�)=x : � write to file at next free address H3 !�+=8 : � update pointer to next free byte I � J K"� �Draw_AddString(pointer%,x$) L2 � ------------------------------------------- M � N1 � Adds string x$ to a "formatted" word array O � and adds a CHR$0. P � Q/ � String is now aligned with word boundary R � S1 � ------------------------------------------ T � _a% U _a%=�x$ V6 � (!pointer%+_a%)>=(!(�+4)) � � 0,"Out of memory" W1 � (_a%�4)<>0 � x$+=�4-(_a%�4),�0) : _a%=�x$ X $(!pointer%)=x$ Y !pointer%+=_a% Z � [ \� �Draw_AddCoords(x,y) ]2 � ------------------------------------------- ^ � _ � Adds coordinates (x,y) ` � a � b1 � ------------------------------------------ c �Draw_AddWord(�Draw_X(x)) d �Draw_AddWord(�Draw_Y(y)) e � f g$� �MoveMemory(address%,n_words%) h* � ----------------------------------- i � j) � Moves n_words% upwards starting at k � address% l � m* � ----------------------------------- n( � _i%,_n% : _n%=4*n_words% : _i%=!� o8 � address%+_n%>=(!(�+4)) � � 0,"Not enough memory!" p ȕ _i%>address% q _i%-=4 r _i%!_n%=!_i% s � t !�+=_n% u� v w� �ObjectType(path) x%� path>=!(�+4) �=!(!path) �=!path y z� ======================== {� 1.2 Creating A Draw File |� ======================== } ~� �BeginDrawing � --------------------- � � � � Sets up "new" drawing � � � � --------------------- � �Draw_SetUp � �Draw_SetFileHeader � �Draw_SetFontTable �� � �� �Draw_SetUp �, � _scale% : _scale%=�(180*256/2.54+.5) �F �Draw_AddWord(0) : � 8 Address of Draw File �O �Draw_AddWord(0) : � 12 Origin x (Draw units) �J �Draw_AddWord(0) : � 16 Origin y "" �J �Draw_AddWord(12*_scale%) : � 20 Frame_size width "" �J �Draw_AddWord(12*_scale%) : � 24 Frame_size height "" �O �Draw_AddFloat(0) : � 28 Frame Coords a (User units) �J �Draw_AddFloat(0) : � 36 Frame Coords u "" �J �Draw_AddFloat(12) : � 44 Frame Coords width "" �J �Draw_AddFloat(12) : � 52 Frame Coords height "" �7 �Draw_AddWord(_scale%) : � 60 Units � �> �Draw_AddWord(0) : � 64 Current path �A �Draw_AddWord(0) : � 68 Current subpath � �= �Draw_AddWord(0) : � 72 Symbol type �> �Draw_AddWord(0) : � 76 Dash pattern �= �Draw_AddWord(12) : � 80 Symbol size � �J �Draw_AddWord(14*640) : � 84 Text Font size (points) �= �Draw_AddWord(0) : � 88 Text colour �> �Draw_AddWord(1) : � 92 Current Font � �; �Draw_AddWord(1<<16) : � 96 Translate �2 �Draw_AddWord(0) : � 100 �2 �Draw_AddWord(0) : � 104 �2 �Draw_AddWord(1<<16) : � 108 �2 �Draw_AddWord(256*90) : � 112 �2 �Draw_AddWord(256*90) : � 116 � �A �Draw_AddWord(_scale%) : � 120 Cms/Draw units � �= �Draw_AddWord(1<<16) : � 124 Axes width �G �Draw_AddWord((3<<16)+3) : � 128 Axes Cap Point/width �C �Draw_AddWord(0) : � 132 Axes Extend (0%) � �= �Draw_AddWord(1) : � 136 Nx scales �= �Draw_AddWord(0) : � 140 nx scales �= �Draw_AddWord(1) : � 144 Ny scales �= �Draw_AddWord(0) : � 148 ny scales �= �Draw_AddWord(10) : � 152 Lx scales �= �Draw_AddWord(7) : � 156 lx scales �= �Draw_AddWord(10) : � 160 Ly scales �= �Draw_AddWord(7) : � 164 ly scales �= �Draw_AddWord(1<<16) : � 168 Wx scales �= �Draw_AddWord(1<<15) : � 172 wx scales �= �Draw_AddWord(1<<16) : � 176 Wy scales �= �Draw_AddWord(1<<15) : � 180 wy scales � �I �Draw_AddWord(1<<16) : � 184 REM Current Transform �2 �Draw_AddWord(0) : � 188 �2 �Draw_AddWord(0) : � 192 �2 �Draw_AddWord(1<<16) : � 196 �2 �Draw_AddWord(0) : � 200 �2 �Draw_AddWord(0) : � 204 � �C �Draw_AddWord(10000) : � 208 Max x resolution �C �Draw_AddWord(100) : � 212 Min x resolution �I �Draw_AddWord(300) : � 216 V resolution dots/inch � �C �Draw_AddWord(4) : � 220 Bar chart scales �> �Draw_AddWord(0) : � 224 Line Colour �H �Draw_AddWord(-1) : � 228 Fill Colour (no fill) �= �Draw_AddWord(0) : � 232 Line Width �= �Draw_AddWord(0) : � 236 Line style �? �Draw_AddWord(0) : � 240 Chart factor �: �Draw_AddWord(0) : � 244 "" � |(�+240)=5/6 � �> !(�+8)=!� : � Address of Draw file �� � �� �Draw_SetFileHeader � � �# � --------40 bytes------------ � � �0 �Draw_AddString(�,"Draw") : � Title �B �Draw_AddWord(201) : � major format number �B �Draw_AddWord(0) : � minor format number �8 �Draw_AddString(�,"DrawBasic ") : � Program Title �: �Draw_AddWord(0) : � BoundingBox �: �Draw_AddWord(0) : � BoundingBox �: �Draw_AddWord(256*180*12*3*800) : � BoundingBox �: �Draw_AddWord(256*180*12*3*800) : � BoundingBox �� � �� �Draw_SetFontTable �8 � ------------------------------------------------- � � �8 � This procedure should not be called in a program. �) � It is used to set the Font table. � � �8 � ------------------------------------------------- �" � _fonts% : _fonts%=!(�+8)+40 �= �Draw_AddWord(0) : � Font object type 0 �= �Draw_AddWord(0) : � Font object length �. �Draw_AddString(�,�1+"Trinity.Medium"+�0) �< !(_fonts%+4)=!�-_fonts% : � Font object length �� � �� ======================== �� 1.3 Saving A Draw File �� ======================== � �� �Quit �> � ------------------------------------------------------- � � �, � Saves Draw file to DrawBasic:DrawFile � � �< � The file is then *Run so it will be loaded into !Draw � � �> � ------------------------------------------------------- �7 � !(�+68)<>0 � � 0,"Paths must end with 'PathEnd'" �9 �("Save DrawBasic:Draw.File "+�~(!(�+8))+" "+�~(!�)) �* *SetType DrawBasic:Draw.File DrawFile �# *Filer_Run DrawBasic:Draw.File �� � � --------- � � 1.4 Units � � --------- � �Units=!(�+60) � �Centimetres !(�+60)=�(256*180/2.54+.5) �FrameSize(0,0,12,12) �FrameCoords(0,12,0,12) �Preview � � �Inches !(�+60)=256*180 �FrameSize(0,0,6,6) �FrameCoords(0,6,0,6) �Preview � "� �DrawUnits(a)=�(�Units*a+.5) "� �FrameSize(a,b,width,height) 2 � ------------------------------------------- � 0 � Defines the size of the drawing "frame". � 1 � ------------------------------------------ # �FrameCoords(0,width,0,height) 9 !(�+20)=�DrawUnits(width) : � Bounding box - width : !(�+24)=�DrawUnits(height) : � Bounding box - height !, !(�+12)=�DrawUnits(a) : � Frame_x ", !(�+16)=�DrawUnits(b) : � Frame_y #� $ % � �ReduceFrameSize(fraction) & � _w%,_h% ';_w%=�(!(�+20)*fraction+.5) : _h%=�(!(�+24)*fraction+.5) ("!(�+12)+=�((!(�+20)-_w%)/2+.5) )"!(�+16)+=�((!(�+24)-_h%)/2+.5) *!(�+20)=_w% : !(�+24)=_h% +� , -1� �GetFrameSize(� a%,� b%,� width%,� height%) .2 � ------------------------------------------- / � 0. � Gives the size of the drawing "frame". 1 � 21 � ------------------------------------------ 3 width%=!(�+20) 4 height%=!(�+24) 5 a%=!(�+12) 6 b%=!(�+16) 7� 8 9� ----------------- :� ;� 1.5 Co-ordinates <� =� ----------------- > ?� �Frame_x=!(�+12) @� �Frame_y=!(�+16) A� �Frame_Width=!(�+20) B� �Frame_Height=!(�+24) C D� �FRAME_x=|(�+28) E� �FRAME_y=|(�+36) F� �FRAME_Width=|(�+44) G� �FRAME_Height=|(�+52) H I(� �X_Scale=�Frame_Width/�FRAME_Width J*� �Y_Scale=�Frame_Height/�FRAME_Height K L� �Epsilon=1/�Y_Scale M N� �MaxNoofPoints=!(�+208) O� �MinNoofPoints=!(�+212) P� �DotsPerInch=!(�+216) Q R5� �Draw_X(x)=�(�Frame_x+(x-�FRAME_x)*�X_Scale+.5) S5� �Draw_Y(y)=�(�Frame_y+(y-�FRAME_y)*�Y_Scale+.5) T U� �FrameCoords(a,b,u,v) V2 � ------------------------------------------- W � X0 � The bounding box in the (x,y) plane which Y. � contains the drawing is a<x<b , u<y<v . Z � [ � \1 � ------------------------------------------ ] � _frame% ^ _frame%=�+28 _7 � a>=b � � 0, �a+" < x < "+�b+" is a bad x range " `7 � u>=v � � 0, �u+" < y < "+�v+" is a bad y range " a' |(_frame%)=a : |(_frame%+8)=u b* |(_frame%+16)=b-a : |(_frame%+24)=v-u c � d e� �OutsideFrame(x,y) f� _a,_b,_u,_v g �GetFrameCoords(_a,_b,_u,_v) h3=-((x<_a)<<3)�-((x>_b)<<2)�-((y<_u)<<1)�-(y>_v) i j� �InFrame(x,y) k!� �OutsideFrame(x,y) � =� �=� l m&� �GetFrameCoords(� a,� b,� u,� v) n2 � ------------------------------------------- o � p0 � The bounding box in the (x,y) plane which q. � contains the drawing is a<x<b , u<y<v . r � s � t1 � ------------------------------------------ u � width,height v# a=|(�+28) : u=|(�+36) w# width=|(�+44) : height=|(�+52) x b=a+width : v=u+height y � z {� �ShowFrame |2 � ------------------------------------------- } � ~0 � The bounding box in the (x,y) plane which . � contains the drawing is a<x<b , u<y<v . � � � � �1 � ------------------------------------------ � � _path%,_a,_b,_u,_v �" �GetFrameCoords(_a,_b,_u,_v) �* _path%=�Rectangle(_a,_u,_b-_a,_v-_u) � �Fill@(_path%,1) � �DrawPath(_path%) �� � �� �Origin(A,B) � � -------------- � � � � Changes origin � � � � -------------- � � _a,_b,_u,_v �! �GetFrameCoords(_a,_b,_u,_v) �& �FrameCoords(_a-A,_b-A,_u-B,_v-B) �� � � �� ------------------- �� �� 1.6 Preview Screen �� �� ------------------- � �� �DrawDx=!(�+112) � �� �DrawDy=!(�+116) � �� �DrawTrans=�+96 � �� �Preview �( � --------------------------------- � � �* � Draws any paths also to screen with � � a white background � � �( � --------------------------------- � � 26 : � �& � _h,_max%,_x%,_y%,_I%,_font%,_n$ �$ �DrawPreviewBorders(3000,12,8) � �DrawPreviewHScales(3000) � �DrawPreviewVScales(3000) � �DrawPreviewTitle(14,7) �� � �.� �DrawPreviewBorders(max%,point%,colour%) �� Draw Borders �point%=point%*16 �.ș "ColourTrans_SetGCOL",�DesktopColour(2) �ȓ Ȑ 0,0,�DrawDy>>8,max% �ȓ Ȑ 0,0,max%,�DrawDx>>8 �.ș "ColourTrans_SetGCOL",�DesktopColour(7) �+� �DrawDx>>8,�DrawDy>>8,max%,�DrawDy>>8 �+� �DrawDx>>8,�DrawDy>>8,�DrawDx>>8,max% �9ș "Font_FindFont",,"Trinity.Medium"+�0,point%,point% �Qș "ColourTrans_SetFontColours",,�DesktopColour(2),�DesktopColour(colour%),14 �� � �'� �DrawPreviewTitle(point%,colour%) �� _n$,_f$,i% �0_f$=�ReadSystemVariable("DrawBasic$Options") �.i%=�_f$,":") : � i%<>0 � _f$=�_f$,�_f$-i%) �point%=point%*16 � _n$="DrawBasic "+�Leaf(_f$) �:� �Units=256*180 � _n$+=" (Inches)" � _n$+=" (Cms)" �9ș "Font_FindFont",,"Trinity.Medium"+�0,point%,point% �Qș "ColourTrans_SetFontColours",,�DesktopColour(2),�DesktopColour(colour%),14 �%ș "Font_Paint",,_n$,%10000,16,12 �� � �$� �ReadSystemVariable(variable$) �� �"� ---------------------------- �"� Reads the value of a string �� system variable �"� ---------------------------- �� �� _len%,_variable% �� _variable% 256 �<ș "OS_ReadVarVal",variable$,_variable%,256,,3 � ,,_len% �_variable%?_len%=13 �=$_variable% � �� �Leaf(x$) �� _i% : _i%=�x$,".") �&� _i%=0 �=x$ �=�Leaf(�x$,�x$-_i%)) � �� �DrawPreviewHScales(max%) �� Draw Scales �� _h,_x%,_I%,_dx%,_dy% �>_I%=0 : _h%=�Units>>8 :_dx%=�DrawDx>>8 : _dy%=�DrawDy>>8 �"� : _x%=_dx%+(�Draw_Y(_I%)>>8) � � _x%,_dy%,_x%,3*_dy%/4 �( � _x%+_h%/2,_dy%,_x%+_h%/2,7*_dy%/8 �0 ș "Font_Paint",,�(_I%),%10000,_x%-8,_dy%/2 � _I%+=1 � � _x%>max% �� � �� �DrawPreviewVScales(max%) �� _h,_y%,_I%,_dx%,_dy% �=_I%=0 : _h%=�Units>>8 :_dx%=�DrawDx>>8 : _dy%=�DrawDy>>8 �"� : _y%=_dy%+(�Draw_X(_I%)>>8) � � _dx%,_y%,3*_dx%/4,_y% �) � _dx%,_y%+_h%/2,7*_dx%/8,_y%+_h%/2 � � _I%>9 � �. ș "Font_Paint",,�(_I%),%10000,36,_y%-10 � � �. ș "Font_Paint",,�(_I%),%10000,48,_y%-10 � � � _I%+=1 � � _y%>max% �� � �
00000000 0d 00 01 17 f4 20 3e 20 44 72 61 77 42 61 73 69 |..... > DrawBasi| 00000010 63 3a 55 74 69 6c 73 0d 00 02 04 0d 00 03 3d f4 |c:Utils.......=.| 00000020 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ===============| 00000030 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| * 00000050 3d 3d 3d 3d 3d 3d 3d 3d 0d 00 04 05 f4 0d 00 05 |========........| 00000060 24 f4 20 63 6f 70 79 72 69 67 68 74 20 4a 6f 65 |$. copyright Joe| 00000070 20 54 61 79 6c 6f 72 20 4a 75 6e 65 20 31 39 39 | Taylor June 199| 00000080 34 0d 00 06 05 f4 0d 00 07 3b f4 20 4e 2e 42 2e |4........;. N.B.| 00000090 20 46 6f 72 20 45 52 52 4f 52 20 54 48 52 4f 57 | For ERROR THROW| 000000a0 42 41 43 4b 20 74 6f 20 77 6f 72 6b 20 54 68 65 |BACK to work The| 000000b0 20 66 69 72 73 74 20 6c 69 6e 65 20 61 62 6f 76 | first line abov| 000000c0 65 0d 00 08 37 f4 20 20 20 20 20 20 4d 55 53 54 |e...7. MUST| 000000d0 20 68 61 76 65 20 74 68 65 20 63 6f 72 72 65 63 | have the correc| 000000e0 74 20 70 61 74 68 6e 61 6d 65 20 6f 66 20 74 68 |t pathname of th| 000000f0 69 73 20 66 69 6c 65 2e 0d 00 09 3b f4 20 20 20 |is file....;. | 00000100 20 20 20 49 66 20 79 6f 75 20 6d 6f 76 65 20 74 | If you move t| 00000110 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 |he location of t| 00000120 68 65 20 66 69 6c 65 20 72 65 6d 65 6d 62 65 72 |he file remember| 00000130 20 74 6f 0d 00 0a 1f f4 20 20 20 20 20 20 61 6c | to..... al| 00000140 74 65 72 20 74 68 69 73 20 70 61 74 68 6e 61 6d |ter this pathnam| 00000150 65 2e 0d 00 0b 05 f4 0d 00 0c 3d f4 20 3d 3d 3d |e.........=. ===| 00000160 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| * 00000190 3d 3d 3d 3d 0d 00 0d 04 0d 00 0e 04 0d 00 0f 50 |====...........P| 000001a0 f4 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |. **************| 000001b0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| * 000001e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 00 10 05 |************....| 000001f0 f4 0d 00 11 1f f4 20 31 2e 20 53 45 54 54 49 4e |...... 1. SETTIN| 00000200 47 20 55 50 20 41 20 44 52 41 57 20 46 49 4c 45 |G UP A DRAW FILE| 00000210 0d 00 12 05 f4 0d 00 13 50 f4 20 2a 2a 2a 2a 2a |........P. *****| 00000220 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| * 00000260 2a 2a 2a 2a 2a 0d 00 14 04 0d 00 15 1d f4 20 3d |*****......... =| 00000270 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| 00000280 3d 3d 3d 3d 3d 3d 0d 00 16 1d f4 20 31 2e 31 20 |======..... 1.1 | 00000290 4d 65 6d 6f 72 79 20 4d 61 6e 69 70 75 6c 61 74 |Memory Manipulat| 000002a0 69 6f 6e 0d 00 17 1d f4 20 3d 3d 3d 3d 3d 3d 3d |ion..... =======| 000002b0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| 000002c0 0d 00 18 04 0d 00 19 0f dd 20 a4 46 72 65 65 53 |......... .FreeS| 000002d0 6c 6f 74 0d 00 1a 2d 20 f4 20 2d 2d 2d 2d 2d 2d |lot...- . ------| 000002e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000300 0d 00 1b 06 20 f4 0d 00 1c 2d 20 f4 20 41 6c 6c |.... ....- . All| 00000310 6f 63 61 74 65 73 20 27 46 72 65 65 27 20 73 6c |ocates 'Free' sl| 00000320 6f 74 20 66 6f 72 20 64 61 74 61 20 73 74 6f 72 |ot for data stor| 00000330 61 67 65 0d 00 1d 06 20 f4 0d 00 1e 23 20 f4 20 |age.... ....# . | 00000340 43 61 6c 6c 65 64 20 69 6e 20 4c 69 62 72 61 72 |Called in Librar| 00000350 79 20 73 65 74 75 70 20 66 69 6c 65 0d 00 1f 06 |y setup file....| 00000360 20 f4 0d 00 20 2d 20 f4 20 2d 2d 2d 2d 2d 2d 2d | ... - . -------| 00000370 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000380 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d |---------------.| 00000390 00 21 19 20 ea 20 42 75 66 66 65 72 25 2c 46 72 |.!. . Buffer%,Fr| 000003a0 65 65 5f 53 69 7a 65 25 0d 00 22 2c 20 c8 99 20 |ee_Size%..", .. | 000003b0 22 57 69 6d 70 5f 53 6c 6f 74 53 69 7a 65 22 2c |"Wimp_SlotSize",| 000003c0 2d 31 2c 2d 31 20 b8 20 2c 2c 46 72 65 65 5f 53 |-1,-1 . ,,Free_S| 000003d0 69 7a 65 25 0d 00 23 16 20 e7 20 46 72 65 65 5f |ize%..#. . Free_| 000003e0 53 69 7a 65 25 3c 33 32 20 8c 0d 00 24 0b 20 20 |Size%<32 ...$. | 000003f0 ee 20 85 20 87 0d 00 25 20 20 20 c8 99 20 22 57 |. . ...% .. "W| 00000400 69 6d 70 5f 43 6f 6d 6d 61 6e 64 57 69 6e 64 6f |imp_CommandWindo| 00000410 77 22 2c 2d 31 0d 00 26 4e 20 20 85 20 a2 20 30 |w",-1..&N . . 0| 00000420 2c 22 44 72 61 77 42 61 73 69 63 20 6e 65 65 64 |,"DrawBasic need| 00000430 73 20 61 20 6e 6f 6e 2d 65 6d 70 74 79 20 27 46 |s a non-empty 'F| 00000440 72 65 65 27 20 73 6c 6f 74 20 74 6f 20 73 61 76 |ree' slot to sav| 00000450 65 20 44 72 61 77 20 66 69 6c 65 20 6f 75 74 70 |e Draw file outp| 00000460 75 74 22 0d 00 27 07 20 20 cd 0d 00 28 36 20 e7 |ut"..'. ...(6 .| 00000470 20 46 72 65 65 5f 53 69 7a 65 25 3e 31 30 32 34 | Free_Size%>1024| 00000480 2a 31 30 32 34 2a 34 20 8c 20 46 72 65 65 5f 53 |*1024*4 . Free_S| 00000490 69 7a 65 25 3d 31 30 32 34 2a 31 30 32 34 2a 34 |ize%=1024*1024*4| 000004a0 0d 00 29 0e 20 42 75 66 66 65 72 25 3d 93 0d 00 |..). Buffer%=...| 000004b0 2a 19 20 e0 3d 42 75 66 66 65 72 25 2b 46 72 65 |*. .=Buffer%+Fre| 000004c0 65 5f 53 69 7a 65 25 0d 00 2b 17 20 21 42 75 66 |e_Size%..+. !Buf| 000004d0 66 65 72 25 3d 42 75 66 66 65 72 25 2b 38 0d 00 |fer%=Buffer%+8..| 000004e0 2c 22 20 20 42 75 66 66 65 72 25 21 34 3d 42 75 |," Buffer%!4=Bu| 000004f0 66 66 65 72 25 2b 46 72 65 65 5f 53 69 7a 65 25 |ffer%+Free_Size%| 00000500 0d 00 2d 0c 3d 42 75 66 66 65 72 25 0d 00 2e 04 |..-.=Buffer%....| 00000510 0d 00 2f 17 dd 20 f2 44 72 61 77 5f 41 64 64 57 |../.. .Draw_AddW| 00000520 6f 72 64 28 78 25 29 0d 00 30 2c 20 f4 20 2d 2d |ord(x%)..0, . --| 00000530 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000550 2d 2d 2d 0d 00 31 06 20 f4 0d 00 32 26 20 f4 20 |---..1. ...2& . | 00000560 41 64 64 73 20 74 68 65 20 77 6f 72 64 20 28 34 |Adds the word (4| 00000570 20 62 79 74 65 73 29 20 78 25 20 74 6f 20 61 0d | bytes) x% to a.| 00000580 00 33 1e 20 f4 20 22 66 6f 72 6d 61 74 74 65 64 |.3. . "formatted| 00000590 22 20 77 6f 72 64 20 61 72 72 61 79 2e 0d 00 34 |" word array...4| 000005a0 06 20 f4 0d 00 35 20 20 f4 20 54 68 65 20 22 70 |. ...5 . The "p| 000005b0 6f 69 6e 74 65 72 22 20 69 73 20 75 70 64 61 74 |ointer" is updat| 000005c0 65 64 2e 0d 00 36 06 20 f4 0d 00 37 2c 20 f4 20 |ed...6. ...7, . | 000005d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000005f0 2d 2d 2d 2d 2d 0d 00 38 2b 20 e7 20 28 21 93 29 |-----..8+ . (!.)| 00000600 3e 3d 28 21 28 93 2b 34 29 29 20 8c 20 85 20 30 |>=(!(.+4)) . . 0| 00000610 2c 22 4f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 22 |,"Out of memory"| 00000620 0d 00 39 3a 20 21 28 21 93 29 3d 78 25 20 20 3a |..9: !(!.)=x% :| 00000630 20 f4 20 77 72 69 74 65 20 77 6f 72 64 20 74 6f | . write word to| 00000640 20 66 69 6c 65 20 61 74 20 6e 65 78 74 20 66 72 | file at next fr| 00000650 65 65 20 61 64 64 72 65 73 73 0d 00 3a 33 20 21 |ee address..:3 !| 00000660 93 2b 3d 34 20 20 20 20 20 3a 20 f4 20 75 70 64 |.+=4 : . upd| 00000670 61 74 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 6e |ate pointer to n| 00000680 65 78 74 20 66 72 65 65 20 62 79 74 65 0d 00 3b |ext free byte..;| 00000690 06 20 e1 0d 00 3c 04 0d 00 3d 17 dd 20 f2 44 72 |. ...<...=.. .Dr| 000006a0 61 77 5f 41 64 64 46 6c 6f 61 74 28 78 29 0d 00 |aw_AddFloat(x)..| 000006b0 3e 2c 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |>, . -----------| 000006c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000006d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 3f 06 20 f4 |----------..?. .| 000006e0 0d 00 40 25 20 f4 20 41 64 64 73 20 74 68 65 20 |..@% . Adds the | 000006f0 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e |floating-point n| 00000700 75 6d 62 65 72 0d 00 41 19 20 f4 20 28 35 20 6f |umber..A. . (5 o| 00000710 72 20 38 20 62 79 74 65 73 29 20 78 20 2e 0d 00 |r 8 bytes) x ...| 00000720 42 06 20 f4 0d 00 43 20 20 f4 20 54 68 65 20 22 |B. ...C . The "| 00000730 70 6f 69 6e 74 65 72 22 20 69 73 20 75 70 64 61 |pointer" is upda| 00000740 74 65 64 2e 0d 00 44 06 20 f4 0d 00 45 2c 20 f4 |ted...D. ...E, .| 00000750 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ---------------| 00000760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000770 2d 2d 2d 2d 2d 2d 0d 00 46 2d 20 e7 20 28 21 93 |------..F- . (!.| 00000780 29 2b 34 3e 3d 28 21 28 93 2b 34 29 29 20 8c 20 |)+4>=(!(.+4)) . | 00000790 85 20 30 2c 22 4f 75 74 20 6f 66 20 6d 65 6d 6f |. 0,"Out of memo| 000007a0 72 79 22 0d 00 47 35 20 7c 28 21 93 29 3d 78 20 |ry"..G5 |(!.)=x | 000007b0 20 20 3a 20 f4 20 77 72 69 74 65 20 74 6f 20 66 | : . write to f| 000007c0 69 6c 65 20 61 74 20 6e 65 78 74 20 66 72 65 65 |ile at next free| 000007d0 20 61 64 64 72 65 73 73 0d 00 48 33 20 21 93 2b | address..H3 !.+| 000007e0 3d 38 20 20 20 20 20 3a 20 f4 20 75 70 64 61 74 |=8 : . updat| 000007f0 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 6e 65 78 |e pointer to nex| 00000800 74 20 66 72 65 65 20 62 79 74 65 0d 00 49 06 20 |t free byte..I. | 00000810 e1 0d 00 4a 04 0d 00 4b 22 dd 20 f2 44 72 61 77 |...J...K". .Draw| 00000820 5f 41 64 64 53 74 72 69 6e 67 28 70 6f 69 6e 74 |_AddString(point| 00000830 65 72 25 2c 78 24 29 0d 00 4c 32 20 f4 20 2d 2d |er%,x$)..L2 . --| 00000840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000860 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 4d 06 20 f4 0d |---------..M. ..| 00000870 00 4e 31 20 f4 20 41 64 64 73 20 73 74 72 69 6e |.N1 . Adds strin| 00000880 67 20 78 24 20 74 6f 20 61 20 22 66 6f 72 6d 61 |g x$ to a "forma| 00000890 74 74 65 64 22 20 77 6f 72 64 20 61 72 72 61 79 |tted" word array| 000008a0 0d 00 4f 18 20 f4 20 61 6e 64 20 61 64 64 73 20 |..O. . and adds | 000008b0 61 20 43 48 52 24 30 2e 0d 00 50 06 20 f4 0d 00 |a CHR$0...P. ...| 000008c0 51 2f 20 f4 20 53 74 72 69 6e 67 20 69 73 20 6e |Q/ . String is n| 000008d0 6f 77 20 61 6c 69 67 6e 65 64 20 77 69 74 68 20 |ow aligned with | 000008e0 77 6f 72 64 20 62 6f 75 6e 64 61 72 79 0d 00 52 |word boundary..R| 000008f0 06 20 f4 0d 00 53 31 20 f4 20 2d 2d 2d 2d 2d 2d |. ...S1 . ------| 00000900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000920 2d 2d 2d 2d 0d 00 54 0a 20 ea 20 5f 61 25 0d 00 |----..T. . _a%..| 00000930 55 0c 20 5f 61 25 3d a9 78 24 0d 00 56 36 20 e7 |U. _a%=.x$..V6 .| 00000940 20 28 21 70 6f 69 6e 74 65 72 25 2b 5f 61 25 29 | (!pointer%+_a%)| 00000950 3e 3d 28 21 28 93 2b 34 29 29 20 8c 20 85 20 30 |>=(!(.+4)) . . 0| 00000960 2c 22 4f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 22 |,"Out of memory"| 00000970 0d 00 57 31 20 e7 20 28 5f 61 25 83 34 29 3c 3e |..W1 . (_a%.4)<>| 00000980 30 20 8c 20 20 78 24 2b 3d c4 34 2d 28 5f 61 25 |0 . x$+=.4-(_a%| 00000990 83 34 29 2c bd 30 29 20 3a 20 5f 61 25 3d a9 78 |.4),.0) : _a%=.x| 000009a0 24 0d 00 58 14 20 24 28 21 70 6f 69 6e 74 65 72 |$..X. $(!pointer| 000009b0 25 29 3d 78 24 0d 00 59 13 20 21 70 6f 69 6e 74 |%)=x$..Y. !point| 000009c0 65 72 25 2b 3d 5f 61 25 0d 00 5a 06 20 e1 0d 00 |er%+=_a%..Z. ...| 000009d0 5b 04 0d 00 5c 1a dd 20 f2 44 72 61 77 5f 41 64 |[...\.. .Draw_Ad| 000009e0 64 43 6f 6f 72 64 73 28 78 2c 79 29 0d 00 5d 32 |dCoords(x,y)..]2| 000009f0 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | . -------------| 00000a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000a10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 |--------------..| 00000a20 5e 06 20 f4 0d 00 5f 1d 20 f4 20 41 64 64 73 20 |^. ..._. . Adds | 00000a30 63 6f 6f 72 64 69 6e 61 74 65 73 20 28 78 2c 79 |coordinates (x,y| 00000a40 29 0d 00 60 06 20 f4 0d 00 61 06 20 f4 0d 00 62 |)..`. ...a. ...b| 00000a50 31 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |1 . ------------| 00000a60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000a70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 |--------------..| 00000a80 63 1e 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 |c. .Draw_AddWord| 00000a90 28 a4 44 72 61 77 5f 58 28 78 29 29 0d 00 64 1e |(.Draw_X(x))..d.| 00000aa0 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 a4 | .Draw_AddWord(.| 00000ab0 44 72 61 77 5f 59 28 79 29 29 0d 00 65 06 20 e1 |Draw_Y(y))..e. .| 00000ac0 0d 00 66 04 0d 00 67 24 dd 20 f2 4d 6f 76 65 4d |..f...g$. .MoveM| 00000ad0 65 6d 6f 72 79 28 61 64 64 72 65 73 73 25 2c 6e |emory(address%,n| 00000ae0 5f 77 6f 72 64 73 25 29 0d 00 68 2a 20 f4 20 2d |_words%)..h* . -| 00000af0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000b10 2d 2d 0d 00 69 06 20 f4 0d 00 6a 29 20 f4 20 4d |--..i. ...j) . M| 00000b20 6f 76 65 73 20 6e 5f 77 6f 72 64 73 25 20 75 70 |oves n_words% up| 00000b30 77 61 72 64 73 20 73 74 61 72 74 69 6e 67 20 61 |wards starting a| 00000b40 74 0d 00 6b 0f 20 f4 20 61 64 64 72 65 73 73 25 |t..k. . address%| 00000b50 0d 00 6c 06 20 f4 0d 00 6d 2a 20 f4 20 2d 2d 2d |..l. ...m* . ---| 00000b60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000b80 0d 00 6e 28 20 ea 20 5f 69 25 2c 5f 6e 25 20 3a |..n( . _i%,_n% :| 00000b90 20 5f 6e 25 3d 34 2a 6e 5f 77 6f 72 64 73 25 20 | _n%=4*n_words% | 00000ba0 3a 20 5f 69 25 3d 21 93 0d 00 6f 38 20 e7 20 61 |: _i%=!...o8 . a| 00000bb0 64 64 72 65 73 73 25 2b 5f 6e 25 3e 3d 28 21 28 |ddress%+_n%>=(!(| 00000bc0 93 2b 34 29 29 20 8c 20 85 20 30 2c 22 4e 6f 74 |.+4)) . . 0,"Not| 00000bd0 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 21 22 | enough memory!"| 00000be0 0d 00 70 14 20 c8 95 20 5f 69 25 3e 61 64 64 72 |..p. .. _i%>addr| 00000bf0 65 73 73 25 0d 00 71 0c 20 20 5f 69 25 2d 3d 34 |ess%..q. _i%-=4| 00000c00 0d 00 72 12 20 20 5f 69 25 21 5f 6e 25 3d 21 5f |..r. _i%!_n%=!_| 00000c10 69 25 0d 00 73 07 20 20 ce 0d 00 74 0d 20 20 21 |i%..s. ...t. !| 00000c20 93 2b 3d 5f 6e 25 0d 00 75 05 e1 0d 00 76 04 0d |.+=_n%..u....v..| 00000c30 00 77 17 dd 20 a4 4f 62 6a 65 63 74 54 79 70 65 |.w.. .ObjectType| 00000c40 28 70 61 74 68 29 0d 00 78 25 e7 20 70 61 74 68 |(path)..x%. path| 00000c50 3e 3d 21 28 93 2b 34 29 20 8c 3d 21 28 21 70 61 |>=!(.+4) .=!(!pa| 00000c60 74 68 29 20 8b 3d 21 70 61 74 68 0d 00 79 04 0d |th) .=!path..y..| 00000c70 00 7a 1e f4 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |.z.. ===========| 00000c80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 00 7b |=============..{| 00000c90 1e f4 20 31 2e 32 20 43 72 65 61 74 69 6e 67 20 |.. 1.2 Creating | 00000ca0 41 20 44 72 61 77 20 46 69 6c 65 0d 00 7c 1e f4 |A Draw File..|..| 00000cb0 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ===============| 00000cc0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 00 7d 04 0d 00 7e |=========..}...~| 00000cd0 13 dd 20 f2 42 65 67 69 6e 44 72 61 77 69 6e 67 |.. .BeginDrawing| 00000ce0 0d 00 7f 1c 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d |.... . ---------| 00000cf0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 80 06 |------------....| 00000d00 20 f4 0d 00 81 1c 20 f4 20 53 65 74 73 20 75 70 | ..... . Sets up| 00000d10 20 22 6e 65 77 22 20 64 72 61 77 69 6e 67 0d 00 | "new" drawing..| 00000d20 82 06 20 f4 0d 00 83 1c 20 f4 20 2d 2d 2d 2d 2d |.. ..... . -----| 00000d30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000d40 0d 00 84 10 20 f2 44 72 61 77 5f 53 65 74 55 70 |.... .Draw_SetUp| 00000d50 0d 00 85 18 20 f2 44 72 61 77 5f 53 65 74 46 69 |.... .Draw_SetFi| 00000d60 6c 65 48 65 61 64 65 72 0d 00 86 17 20 f2 44 72 |leHeader.... .Dr| 00000d70 61 77 5f 53 65 74 46 6f 6e 74 54 61 62 6c 65 0d |aw_SetFontTable.| 00000d80 00 87 05 e1 0d 00 88 04 0d 00 89 11 dd 20 f2 44 |............. .D| 00000d90 72 61 77 5f 53 65 74 55 70 0d 00 8a 2c 20 ea 20 |raw_SetUp..., . | 00000da0 5f 73 63 61 6c 65 25 20 20 3a 20 5f 73 63 61 6c |_scale% : _scal| 00000db0 65 25 3d a8 28 31 38 30 2a 32 35 36 2f 32 2e 35 |e%=.(180*256/2.5| 00000dc0 34 2b 2e 35 29 0d 00 8b 46 20 f2 44 72 61 77 5f |4+.5)...F .Draw_| 00000dd0 41 64 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 |AddWord(0) | 00000de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000df0 3a 20 f4 20 38 20 20 41 64 64 72 65 73 73 20 6f |: . 8 Address o| 00000e00 66 20 44 72 61 77 20 46 69 6c 65 0d 00 8c 4f 20 |f Draw File...O | 00000e10 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 |.Draw_AddWord(0)| 00000e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000e30 20 20 20 20 20 20 3a 20 f4 20 31 32 20 4f 72 69 | : . 12 Ori| 00000e40 67 69 6e 20 78 20 20 20 20 20 20 20 20 20 28 44 |gin x (D| 00000e50 72 61 77 20 75 6e 69 74 73 29 0d 00 8d 4a 20 f2 |raw units)...J .| 00000e60 44 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 20 |Draw_AddWord(0) | 00000e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000e80 20 20 20 20 20 3a 20 f4 20 31 36 20 4f 72 69 67 | : . 16 Orig| 00000e90 69 6e 20 79 20 20 20 20 20 20 20 20 20 20 20 20 |in y | 00000ea0 20 20 22 22 0d 00 8e 4a 20 f2 44 72 61 77 5f 41 | ""...J .Draw_A| 00000eb0 64 64 57 6f 72 64 28 31 32 2a 5f 73 63 61 6c 65 |ddWord(12*_scale| 00000ec0 25 29 20 20 20 20 20 20 20 20 20 20 20 20 20 3a |%) :| 00000ed0 20 f4 20 32 30 20 46 72 61 6d 65 5f 73 69 7a 65 | . 20 Frame_size| 00000ee0 20 77 69 64 74 68 20 20 20 20 20 20 22 22 0d 00 | width ""..| 00000ef0 8f 4a 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 |.J .Draw_AddWord| 00000f00 28 31 32 2a 5f 73 63 61 6c 65 25 29 20 20 20 20 |(12*_scale%) | 00000f10 20 20 20 20 20 20 20 20 20 3a 20 f4 20 32 34 20 | : . 24 | 00000f20 46 72 61 6d 65 5f 73 69 7a 65 20 68 65 69 67 68 |Frame_size heigh| 00000f30 74 20 20 20 20 20 22 22 0d 00 90 4f 20 f2 44 72 |t ""...O .Dr| 00000f40 61 77 5f 41 64 64 46 6c 6f 61 74 28 30 29 20 20 |aw_AddFloat(0) | 00000f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000f60 20 20 20 3a 20 f4 20 32 38 20 46 72 61 6d 65 20 | : . 28 Frame | 00000f70 43 6f 6f 72 64 73 20 61 20 20 20 28 55 73 65 72 |Coords a (User| 00000f80 20 75 6e 69 74 73 29 0d 00 91 4a 20 f2 44 72 61 | units)...J .Dra| 00000f90 77 5f 41 64 64 46 6c 6f 61 74 28 30 29 20 20 20 |w_AddFloat(0) | 00000fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000fb0 20 20 3a 20 f4 20 33 36 20 46 72 61 6d 65 20 43 | : . 36 Frame C| 00000fc0 6f 6f 72 64 73 20 75 20 20 20 20 20 20 20 20 22 |oords u "| 00000fd0 22 0d 00 92 4a 20 f2 44 72 61 77 5f 41 64 64 46 |"...J .Draw_AddF| 00000fe0 6c 6f 61 74 28 31 32 29 20 20 20 20 20 20 20 20 |loat(12) | 00000ff0 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 | : . | 00001000 34 34 20 46 72 61 6d 65 20 43 6f 6f 72 64 73 20 |44 Frame Coords | 00001010 77 69 64 74 68 20 20 20 20 22 22 0d 00 93 4a 20 |width ""...J | 00001020 f2 44 72 61 77 5f 41 64 64 46 6c 6f 61 74 28 31 |.Draw_AddFloat(1| 00001030 32 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |2) | 00001040 20 20 20 20 20 20 3a 20 f4 20 35 32 20 46 72 61 | : . 52 Fra| 00001050 6d 65 20 43 6f 6f 72 64 73 20 68 65 69 67 68 74 |me Coords height| 00001060 20 20 20 22 22 0d 00 94 37 20 f2 44 72 61 77 5f | ""...7 .Draw_| 00001070 41 64 64 57 6f 72 64 28 5f 73 63 61 6c 65 25 29 |AddWord(_scale%)| 00001080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001090 3a 20 f4 20 36 30 20 55 6e 69 74 73 0d 00 95 04 |: . 60 Units....| 000010a0 0d 00 96 3e 20 f2 44 72 61 77 5f 41 64 64 57 6f |...> .Draw_AddWo| 000010b0 72 64 28 30 29 20 20 20 20 20 20 20 20 20 20 20 |rd(0) | 000010c0 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 36 | : . 6| 000010d0 34 20 43 75 72 72 65 6e 74 20 70 61 74 68 0d 00 |4 Current path..| 000010e0 97 41 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 |.A .Draw_AddWord| 000010f0 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 |(0) | 00001100 20 20 20 20 20 20 20 20 20 3a 20 f4 20 36 38 20 | : . 68 | 00001110 43 75 72 72 65 6e 74 20 73 75 62 70 61 74 68 0d |Current subpath.| 00001120 00 98 04 0d 00 99 3d 20 f2 44 72 61 77 5f 41 64 |......= .Draw_Ad| 00001130 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 |dWord(0) | 00001140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 | : | 00001150 f4 20 37 32 20 53 79 6d 62 6f 6c 20 74 79 70 65 |. 72 Symbol type| 00001160 0d 00 9a 3e 20 f2 44 72 61 77 5f 41 64 64 57 6f |...> .Draw_AddWo| 00001170 72 64 28 30 29 20 20 20 20 20 20 20 20 20 20 20 |rd(0) | 00001180 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 37 | : . 7| 00001190 36 20 44 61 73 68 20 70 61 74 74 65 72 6e 0d 00 |6 Dash pattern..| 000011a0 9b 3d 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 |.= .Draw_AddWord| 000011b0 28 31 32 29 20 20 20 20 20 20 20 20 20 20 20 20 |(12) | 000011c0 20 20 20 20 20 20 20 20 20 3a 20 f4 20 38 30 20 | : . 80 | 000011d0 53 79 6d 62 6f 6c 20 73 69 7a 65 0d 00 9c 04 0d |Symbol size.....| 000011e0 00 9d 4a 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 |..J .Draw_AddWor| 000011f0 64 28 31 34 2a 36 34 30 29 20 20 20 20 20 20 20 |d(14*640) | 00001200 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 38 34 | : . 84| 00001210 20 54 65 78 74 20 46 6f 6e 74 20 73 69 7a 65 20 | Text Font size | 00001220 20 28 70 6f 69 6e 74 73 29 0d 00 9e 3d 20 f2 44 | (points)...= .D| 00001230 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 20 20 |raw_AddWord(0) | 00001240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001250 20 20 20 20 3a 20 f4 20 38 38 20 54 65 78 74 20 | : . 88 Text | 00001260 63 6f 6c 6f 75 72 0d 00 9f 3e 20 f2 44 72 61 77 |colour...> .Draw| 00001270 5f 41 64 64 57 6f 72 64 28 31 29 20 20 20 20 20 |_AddWord(1) | 00001280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001290 20 3a 20 f4 20 39 32 20 43 75 72 72 65 6e 74 20 | : . 92 Current | 000012a0 46 6f 6e 74 0d 00 a0 04 0d 00 a1 3b 20 f2 44 72 |Font.......; .Dr| 000012b0 61 77 5f 41 64 64 57 6f 72 64 28 31 3c 3c 31 36 |aw_AddWord(1<<16| 000012c0 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 000012d0 20 20 20 3a 20 f4 20 39 36 20 54 72 61 6e 73 6c | : . 96 Transl| 000012e0 61 74 65 0d 00 a2 32 20 f2 44 72 61 77 5f 41 64 |ate...2 .Draw_Ad| 000012f0 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 |dWord(0) | 00001300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 | : | 00001310 f4 20 31 30 30 0d 00 a3 32 20 f2 44 72 61 77 5f |. 100...2 .Draw_| 00001320 41 64 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 |AddWord(0) | 00001330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001340 3a 20 f4 20 31 30 34 0d 00 a4 32 20 f2 44 72 61 |: . 104...2 .Dra| 00001350 77 5f 41 64 64 57 6f 72 64 28 31 3c 3c 31 36 29 |w_AddWord(1<<16)| 00001360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001370 20 20 3a 20 f4 20 31 30 38 0d 00 a5 32 20 f2 44 | : . 108...2 .D| 00001380 72 61 77 5f 41 64 64 57 6f 72 64 28 32 35 36 2a |raw_AddWord(256*| 00001390 39 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 |90) | 000013a0 20 20 20 20 3a 20 f4 20 31 31 32 0d 00 a6 32 20 | : . 112...2 | 000013b0 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 32 35 |.Draw_AddWord(25| 000013c0 36 2a 39 30 29 20 20 20 20 20 20 20 20 20 20 20 |6*90) | 000013d0 20 20 20 20 20 20 3a 20 f4 20 31 31 36 0d 00 a7 | : . 116...| 000013e0 04 0d 00 a8 41 20 f2 44 72 61 77 5f 41 64 64 57 |....A .Draw_AddW| 000013f0 6f 72 64 28 5f 73 63 61 6c 65 25 29 20 20 20 20 |ord(_scale%) | 00001400 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 | : . | 00001410 31 32 30 20 43 6d 73 2f 44 72 61 77 20 75 6e 69 |120 Cms/Draw uni| 00001420 74 73 0d 00 a9 04 0d 00 aa 3d 20 f2 44 72 61 77 |ts.......= .Draw| 00001430 5f 41 64 64 57 6f 72 64 28 31 3c 3c 31 36 29 20 |_AddWord(1<<16) | 00001440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001450 20 3a 20 f4 20 31 32 34 20 41 78 65 73 20 77 69 | : . 124 Axes wi| 00001460 64 74 68 0d 00 ab 47 20 f2 44 72 61 77 5f 41 64 |dth...G .Draw_Ad| 00001470 64 57 6f 72 64 28 28 33 3c 3c 31 36 29 2b 33 29 |dWord((3<<16)+3)| 00001480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 | : | 00001490 f4 20 31 32 38 20 41 78 65 73 20 43 61 70 20 50 |. 128 Axes Cap P| 000014a0 6f 69 6e 74 2f 77 69 64 74 68 0d 00 ac 43 20 f2 |oint/width...C .| 000014b0 44 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 20 |Draw_AddWord(0) | 000014c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000014d0 20 20 20 20 20 3a 20 f4 20 31 33 32 20 41 78 65 | : . 132 Axe| 000014e0 73 20 45 78 74 65 6e 64 20 28 30 25 29 0d 00 ad |s Extend (0%)...| 000014f0 04 0d 00 ae 3d 20 f2 44 72 61 77 5f 41 64 64 57 |....= .Draw_AddW| 00001500 6f 72 64 28 31 29 20 20 20 20 20 20 20 20 20 20 |ord(1) | 00001510 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 | : . | 00001520 31 33 36 20 20 4e 78 20 73 63 61 6c 65 73 0d 00 |136 Nx scales..| 00001530 af 3d 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 |.= .Draw_AddWord| 00001540 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 |(0) | 00001550 20 20 20 20 20 20 20 20 20 3a 20 f4 20 31 34 30 | : . 140| 00001560 20 20 6e 78 20 73 63 61 6c 65 73 0d 00 b0 3d 20 | nx scales...= | 00001570 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 31 29 |.Draw_AddWord(1)| 00001580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001590 20 20 20 20 20 20 3a 20 f4 20 31 34 34 20 20 4e | : . 144 N| 000015a0 79 20 73 63 61 6c 65 73 0d 00 b1 3d 20 f2 44 72 |y scales...= .Dr| 000015b0 61 77 5f 41 64 64 57 6f 72 64 28 30 29 20 20 20 |aw_AddWord(0) | 000015c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000015d0 20 20 20 3a 20 f4 20 31 34 38 20 20 6e 79 20 73 | : . 148 ny s| 000015e0 63 61 6c 65 73 0d 00 b2 3d 20 f2 44 72 61 77 5f |cales...= .Draw_| 000015f0 41 64 64 57 6f 72 64 28 31 30 29 20 20 20 20 20 |AddWord(10) | 00001600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001610 3a 20 f4 20 31 35 32 20 20 4c 78 20 73 63 61 6c |: . 152 Lx scal| 00001620 65 73 0d 00 b3 3d 20 f2 44 72 61 77 5f 41 64 64 |es...= .Draw_Add| 00001630 57 6f 72 64 28 37 29 20 20 20 20 20 20 20 20 20 |Word(7) | 00001640 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 | : .| 00001650 20 31 35 36 20 20 6c 78 20 73 63 61 6c 65 73 0d | 156 lx scales.| 00001660 00 b4 3d 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 |..= .Draw_AddWor| 00001670 64 28 31 30 29 20 20 20 20 20 20 20 20 20 20 20 |d(10) | 00001680 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 31 36 | : . 16| 00001690 30 20 20 4c 79 20 73 63 61 6c 65 73 0d 00 b5 3d |0 Ly scales...=| 000016a0 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 37 | .Draw_AddWord(7| 000016b0 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 000016c0 20 20 20 20 20 20 20 3a 20 f4 20 31 36 34 20 20 | : . 164 | 000016d0 6c 79 20 73 63 61 6c 65 73 0d 00 b6 3d 20 f2 44 |ly scales...= .D| 000016e0 72 61 77 5f 41 64 64 57 6f 72 64 28 31 3c 3c 31 |raw_AddWord(1<<1| 000016f0 36 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |6) | 00001700 20 20 20 20 3a 20 f4 20 31 36 38 20 20 57 78 20 | : . 168 Wx | 00001710 73 63 61 6c 65 73 0d 00 b7 3d 20 f2 44 72 61 77 |scales...= .Draw| 00001720 5f 41 64 64 57 6f 72 64 28 31 3c 3c 31 35 29 20 |_AddWord(1<<15) | 00001730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001740 20 3a 20 f4 20 31 37 32 20 20 77 78 20 73 63 61 | : . 172 wx sca| 00001750 6c 65 73 0d 00 b8 3d 20 f2 44 72 61 77 5f 41 64 |les...= .Draw_Ad| 00001760 64 57 6f 72 64 28 31 3c 3c 31 36 29 20 20 20 20 |dWord(1<<16) | 00001770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 | : | 00001780 f4 20 31 37 36 20 20 57 79 20 73 63 61 6c 65 73 |. 176 Wy scales| 00001790 0d 00 b9 3d 20 f2 44 72 61 77 5f 41 64 64 57 6f |...= .Draw_AddWo| 000017a0 72 64 28 31 3c 3c 31 35 29 20 20 20 20 20 20 20 |rd(1<<15) | 000017b0 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 31 | : . 1| 000017c0 38 30 20 20 77 79 20 73 63 61 6c 65 73 0d 00 ba |80 wy scales...| 000017d0 04 0d 00 bb 49 20 f2 44 72 61 77 5f 41 64 64 57 |....I .Draw_AddW| 000017e0 6f 72 64 28 31 3c 3c 31 36 29 20 20 20 20 20 20 |ord(1<<16) | 000017f0 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 | : . | 00001800 31 38 34 20 20 52 45 4d 20 43 75 72 72 65 6e 74 |184 REM Current| 00001810 20 54 72 61 6e 73 66 6f 72 6d 0d 00 bc 32 20 f2 | Transform...2 .| 00001820 44 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 20 |Draw_AddWord(0) | 00001830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001840 20 20 20 20 20 3a 20 f4 20 31 38 38 0d 00 bd 32 | : . 188...2| 00001850 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 30 | .Draw_AddWord(0| 00001860 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 00001870 20 20 20 20 20 20 20 3a 20 f4 20 31 39 32 0d 00 | : . 192..| 00001880 be 32 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 |.2 .Draw_AddWord| 00001890 28 31 3c 3c 31 36 29 20 20 20 20 20 20 20 20 20 |(1<<16) | 000018a0 20 20 20 20 20 20 20 20 20 3a 20 f4 20 31 39 36 | : . 196| 000018b0 0d 00 bf 32 20 f2 44 72 61 77 5f 41 64 64 57 6f |...2 .Draw_AddWo| 000018c0 72 64 28 30 29 20 20 20 20 20 20 20 20 20 20 20 |rd(0) | 000018d0 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 32 | : . 2| 000018e0 30 30 0d 00 c0 32 20 f2 44 72 61 77 5f 41 64 64 |00...2 .Draw_Add| 000018f0 57 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 20 |Word(0) | 00001900 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 | : .| 00001910 20 32 30 34 0d 00 c1 04 0d 00 c2 43 20 f2 44 72 | 204.......C .Dr| 00001920 61 77 5f 41 64 64 57 6f 72 64 28 31 30 30 30 30 |aw_AddWord(10000| 00001930 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 00001940 20 20 20 3a 20 f4 20 32 30 38 20 4d 61 78 20 78 | : . 208 Max x| 00001950 20 72 65 73 6f 6c 75 74 69 6f 6e 0d 00 c3 43 20 | resolution...C | 00001960 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 31 30 |.Draw_AddWord(10| 00001970 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |0) | 00001980 20 20 20 20 20 20 3a 20 f4 20 32 31 32 20 4d 69 | : . 212 Mi| 00001990 6e 20 78 20 72 65 73 6f 6c 75 74 69 6f 6e 0d 00 |n x resolution..| 000019a0 c4 49 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 |.I .Draw_AddWord| 000019b0 28 33 30 30 29 20 20 20 20 20 20 20 20 20 20 20 |(300) | 000019c0 20 20 20 20 20 20 20 20 20 3a 20 f4 20 32 31 36 | : . 216| 000019d0 20 56 20 72 65 73 6f 6c 75 74 69 6f 6e 20 64 6f | V resolution do| 000019e0 74 73 2f 69 6e 63 68 0d 00 c5 04 0d 00 c6 43 20 |ts/inch.......C | 000019f0 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 34 29 |.Draw_AddWord(4)| 00001a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001a10 20 20 20 20 20 20 3a 20 f4 20 32 32 30 20 42 61 | : . 220 Ba| 00001a20 72 20 63 68 61 72 74 20 73 63 61 6c 65 73 0d 00 |r chart scales..| 00001a30 c7 3e 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 |.> .Draw_AddWord| 00001a40 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 |(0) | 00001a50 20 20 20 20 20 20 20 20 20 3a 20 f4 20 32 32 34 | : . 224| 00001a60 20 4c 69 6e 65 20 43 6f 6c 6f 75 72 0d 00 c8 48 | Line Colour...H| 00001a70 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 2d | .Draw_AddWord(-| 00001a80 31 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |1) | 00001a90 20 20 20 20 20 20 20 3a 20 f4 20 32 32 38 20 46 | : . 228 F| 00001aa0 69 6c 6c 20 43 6f 6c 6f 75 72 20 28 6e 6f 20 66 |ill Colour (no f| 00001ab0 69 6c 6c 29 0d 00 c9 3d 20 f2 44 72 61 77 5f 41 |ill)...= .Draw_A| 00001ac0 64 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 20 |ddWord(0) | 00001ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a | :| 00001ae0 20 f4 20 32 33 32 20 4c 69 6e 65 20 57 69 64 74 | . 232 Line Widt| 00001af0 68 0d 00 ca 3d 20 f2 44 72 61 77 5f 41 64 64 57 |h...= .Draw_AddW| 00001b00 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 20 20 |ord(0) | 00001b10 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 | : . | 00001b20 32 33 36 20 4c 69 6e 65 20 73 74 79 6c 65 0d 00 |236 Line style..| 00001b30 cb 3f 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 |.? .Draw_AddWord| 00001b40 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 |(0) | 00001b50 20 20 20 20 20 20 20 20 20 3a 20 f4 20 32 34 30 | : . 240| 00001b60 20 43 68 61 72 74 20 66 61 63 74 6f 72 0d 00 cc | Chart factor...| 00001b70 3a 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 |: .Draw_AddWord(| 00001b80 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |0) | 00001b90 20 20 20 20 20 20 20 20 3a 20 f4 20 32 34 34 20 | : . 244 | 00001ba0 20 20 20 20 20 22 22 0d 00 cd 11 20 7c 28 93 2b | "".... |(.+| 00001bb0 32 34 30 29 3d 35 2f 36 0d 00 ce 04 0d 00 cf 3e |240)=5/6.......>| 00001bc0 20 21 28 93 2b 38 29 3d 21 93 20 20 20 20 20 20 | !(.+8)=!. | 00001bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001be0 20 20 3a 20 f4 20 41 64 64 72 65 73 73 20 6f 66 | : . Address of| 00001bf0 20 44 72 61 77 20 66 69 6c 65 0d 00 d0 05 e1 0d | Draw file......| 00001c00 00 d1 04 0d 00 d2 19 dd 20 f2 44 72 61 77 5f 53 |........ .Draw_S| 00001c10 65 74 46 69 6c 65 48 65 61 64 65 72 0d 00 d3 06 |etFileHeader....| 00001c20 20 f4 0d 00 d4 23 20 f4 20 2d 2d 2d 2d 2d 2d 2d | ....# . -------| 00001c30 2d 34 30 20 62 79 74 65 73 2d 2d 2d 2d 2d 2d 2d |-40 bytes-------| 00001c40 2d 2d 2d 2d 2d 0d 00 d5 06 20 f4 0d 00 d6 30 20 |-----.... ....0 | 00001c50 f2 44 72 61 77 5f 41 64 64 53 74 72 69 6e 67 28 |.Draw_AddString(| 00001c60 93 2c 22 44 72 61 77 22 29 20 20 20 20 20 20 20 |.,"Draw") | 00001c70 20 20 3a 20 f4 20 54 69 74 6c 65 0d 00 d7 42 20 | : . Title...B | 00001c80 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 32 30 |.Draw_AddWord(20| 00001c90 31 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |1) | 00001ca0 20 20 20 20 20 20 3a 20 f4 20 6d 61 6a 6f 72 20 | : . major | 00001cb0 66 6f 72 6d 61 74 20 6e 75 6d 62 65 72 0d 00 d8 |format number...| 00001cc0 42 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 |B .Draw_AddWord(| 00001cd0 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |0) | 00001ce0 20 20 20 20 20 20 20 20 3a 20 f4 20 6d 69 6e 6f | : . mino| 00001cf0 72 20 66 6f 72 6d 61 74 20 6e 75 6d 62 65 72 0d |r format number.| 00001d00 00 d9 38 20 f2 44 72 61 77 5f 41 64 64 53 74 72 |..8 .Draw_AddStr| 00001d10 69 6e 67 28 93 2c 22 44 72 61 77 42 61 73 69 63 |ing(.,"DrawBasic| 00001d20 20 20 20 22 29 20 3a 20 f4 20 50 72 6f 67 72 61 | ") : . Progra| 00001d30 6d 20 54 69 74 6c 65 0d 00 da 3a 20 f2 44 72 61 |m Title...: .Dra| 00001d40 77 5f 41 64 64 57 6f 72 64 28 30 29 20 20 20 20 |w_AddWord(0) | 00001d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001d60 20 20 3a 20 f4 20 42 6f 75 6e 64 69 6e 67 42 6f | : . BoundingBo| 00001d70 78 0d 00 db 3a 20 f2 44 72 61 77 5f 41 64 64 57 |x...: .Draw_AddW| 00001d80 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 20 20 |ord(0) | 00001d90 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 | : . | 00001da0 42 6f 75 6e 64 69 6e 67 42 6f 78 0d 00 dc 3a 20 |BoundingBox...: | 00001db0 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 32 35 |.Draw_AddWord(25| 00001dc0 36 2a 31 38 30 2a 31 32 2a 33 2a 38 30 30 29 20 |6*180*12*3*800) | 00001dd0 20 20 20 20 20 20 3a 20 f4 20 42 6f 75 6e 64 69 | : . Boundi| 00001de0 6e 67 42 6f 78 0d 00 dd 3a 20 f2 44 72 61 77 5f |ngBox...: .Draw_| 00001df0 41 64 64 57 6f 72 64 28 32 35 36 2a 31 38 30 2a |AddWord(256*180*| 00001e00 31 32 2a 33 2a 38 30 30 29 20 20 20 20 20 20 20 |12*3*800) | 00001e10 3a 20 f4 20 42 6f 75 6e 64 69 6e 67 42 6f 78 0d |: . BoundingBox.| 00001e20 00 de 05 e1 0d 00 df 04 0d 00 e0 18 dd 20 f2 44 |............. .D| 00001e30 72 61 77 5f 53 65 74 46 6f 6e 74 54 61 62 6c 65 |raw_SetFontTable| 00001e40 0d 00 e1 38 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d |...8 . ---------| 00001e50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001e70 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 e2 06 20 f4 0d 00 |--------.... ...| 00001e80 e3 38 20 f4 20 54 68 69 73 20 70 72 6f 63 65 64 |.8 . This proced| 00001e90 75 72 65 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 |ure should not b| 00001ea0 65 20 63 61 6c 6c 65 64 20 69 6e 20 61 20 70 72 |e called in a pr| 00001eb0 6f 67 72 61 6d 2e 0d 00 e4 29 20 f4 20 49 74 20 |ogram....) . It | 00001ec0 69 73 20 75 73 65 64 20 20 74 6f 20 73 65 74 20 |is used to set | 00001ed0 74 68 65 20 46 6f 6e 74 20 74 61 62 6c 65 2e 0d |the Font table..| 00001ee0 00 e5 06 20 f4 0d 00 e6 38 20 f4 20 2d 2d 2d 2d |... ....8 . ----| 00001ef0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001f10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 e7 |-------------...| 00001f20 22 20 ea 20 5f 66 6f 6e 74 73 25 20 3a 20 5f 66 |" . _fonts% : _f| 00001f30 6f 6e 74 73 25 3d 21 28 93 2b 38 29 2b 34 30 0d |onts%=!(.+8)+40.| 00001f40 00 e8 3d 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 |..= .Draw_AddWor| 00001f50 64 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 |d(0) | 00001f60 20 20 20 20 20 20 3a 20 f4 20 46 6f 6e 74 20 6f | : . Font o| 00001f70 62 6a 65 63 74 20 74 79 70 65 20 30 0d 00 e9 3d |bject type 0...=| 00001f80 20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 30 | .Draw_AddWord(0| 00001f90 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 00001fa0 20 20 20 3a 20 f4 20 46 6f 6e 74 20 6f 62 6a 65 | : . Font obje| 00001fb0 63 74 20 6c 65 6e 67 74 68 0d 00 ea 2e 20 f2 44 |ct length.... .D| 00001fc0 72 61 77 5f 41 64 64 53 74 72 69 6e 67 28 93 2c |raw_AddString(.,| 00001fd0 bd 31 2b 22 54 72 69 6e 69 74 79 2e 4d 65 64 69 |.1+"Trinity.Medi| 00001fe0 75 6d 22 2b bd 30 29 0d 00 eb 3c 20 21 28 5f 66 |um"+.0)...< !(_f| 00001ff0 6f 6e 74 73 25 2b 34 29 3d 21 93 2d 5f 66 6f 6e |onts%+4)=!.-_fon| 00002000 74 73 25 20 20 20 20 20 20 20 20 20 20 3a 20 f4 |ts% : .| 00002010 20 46 6f 6e 74 20 6f 62 6a 65 63 74 20 6c 65 6e | Font object len| 00002020 67 74 68 0d 00 ec 05 e1 0d 00 ed 04 0d 00 ee 1e |gth.............| 00002030 f4 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |. ==============| 00002040 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 00 ef 1c f4 20 |==========..... | 00002050 31 2e 33 20 53 61 76 69 6e 67 20 41 20 44 72 61 |1.3 Saving A Dra| 00002060 77 20 46 69 6c 65 0d 00 f0 1e f4 20 3d 3d 3d 3d |w File..... ====| 00002070 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| 00002080 3d 3d 3d 3d 0d 00 f1 04 0d 00 f2 0b dd 20 f2 51 |====......... .Q| 00002090 75 69 74 0d 00 f3 3e 20 f4 20 2d 2d 2d 2d 2d 2d |uit...> . ------| 000020a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000020d0 2d 0d 00 f4 06 20 f4 0d 00 f5 2c 20 f4 20 53 61 |-.... ...., . Sa| 000020e0 76 65 73 20 44 72 61 77 20 66 69 6c 65 20 74 6f |ves Draw file to| 000020f0 20 44 72 61 77 42 61 73 69 63 3a 44 72 61 77 46 | DrawBasic:DrawF| 00002100 69 6c 65 0d 00 f6 06 20 f4 0d 00 f7 3c 20 f4 20 |ile.... ....< . | 00002110 54 68 65 20 66 69 6c 65 20 69 73 20 74 68 65 6e |The file is then| 00002120 20 2a 52 75 6e 20 73 6f 20 69 74 20 77 69 6c 6c | *Run so it will| 00002130 20 62 65 20 6c 6f 61 64 65 64 20 69 6e 74 6f 20 | be loaded into | 00002140 21 44 72 61 77 0d 00 f8 06 20 f4 0d 00 f9 3e 20 |!Draw.... ....> | 00002150 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |. --------------| 00002160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002180 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 fa 37 20 e7 20 |---------...7 . | 00002190 21 28 93 2b 36 38 29 3c 3e 30 20 8c 20 85 20 30 |!(.+68)<>0 . . 0| 000021a0 2c 22 50 61 74 68 73 20 6d 75 73 74 20 65 6e 64 |,"Paths must end| 000021b0 20 77 69 74 68 20 27 50 61 74 68 45 6e 64 27 22 | with 'PathEnd'"| 000021c0 0d 00 fb 39 20 ff 28 22 53 61 76 65 20 44 72 61 |...9 .("Save Dra| 000021d0 77 42 61 73 69 63 3a 44 72 61 77 2e 46 69 6c 65 |wBasic:Draw.File| 000021e0 20 22 2b c3 7e 28 21 28 93 2b 38 29 29 2b 22 20 | "+.~(!(.+8))+" | 000021f0 22 2b c3 7e 28 21 93 29 29 0d 00 fc 2a 20 2a 53 |"+.~(!.))...* *S| 00002200 65 74 54 79 70 65 20 44 72 61 77 42 61 73 69 63 |etType DrawBasic| 00002210 3a 44 72 61 77 2e 46 69 6c 65 20 44 72 61 77 46 |:Draw.File DrawF| 00002220 69 6c 65 0d 00 fd 23 20 2a 46 69 6c 65 72 5f 52 |ile...# *Filer_R| 00002230 75 6e 20 44 72 61 77 42 61 73 69 63 3a 44 72 61 |un DrawBasic:Dra| 00002240 77 2e 46 69 6c 65 0d 00 fe 05 e0 0d 00 ff 04 0d |w.File..........| 00002250 01 00 0f f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 |.... ---------..| 00002260 01 05 f4 0d 01 02 0f f4 20 31 2e 34 20 55 6e 69 |........ 1.4 Uni| 00002270 74 73 0d 01 03 05 f4 0d 01 04 0f f4 20 2d 2d 2d |ts.......... ---| 00002280 2d 2d 2d 2d 2d 2d 0d 01 05 04 0d 01 06 14 dd 20 |------......... | 00002290 a4 55 6e 69 74 73 3d 21 28 93 2b 36 30 29 0d 01 |.Units=!(.+60)..| 000022a0 07 04 0d 01 08 12 dd 20 f2 43 65 6e 74 69 6d 65 |....... .Centime| 000022b0 74 72 65 73 0d 01 09 1e 21 28 93 2b 36 30 29 3d |tres....!(.+60)=| 000022c0 a8 28 32 35 36 2a 31 38 30 2f 32 2e 35 34 2b 2e |.(256*180/2.54+.| 000022d0 35 29 0d 01 0a 19 f2 46 72 61 6d 65 53 69 7a 65 |5).....FrameSize| 000022e0 28 30 2c 30 2c 31 32 2c 31 32 29 0d 01 0b 1b f2 |(0,0,12,12).....| 000022f0 46 72 61 6d 65 43 6f 6f 72 64 73 28 30 2c 31 32 |FrameCoords(0,12| 00002300 2c 30 2c 31 32 29 0d 01 0c 0c f2 50 72 65 76 69 |,0,12).....Previ| 00002310 65 77 0d 01 0d 05 e1 0d 01 0e 04 0d 01 0f 0d dd |ew..............| 00002320 20 f2 49 6e 63 68 65 73 0d 01 10 13 21 28 93 2b | .Inches....!(.+| 00002330 36 30 29 3d 32 35 36 2a 31 38 30 0d 01 11 17 f2 |60)=256*180.....| 00002340 46 72 61 6d 65 53 69 7a 65 28 30 2c 30 2c 36 2c |FrameSize(0,0,6,| 00002350 36 29 0d 01 12 19 f2 46 72 61 6d 65 43 6f 6f 72 |6).....FrameCoor| 00002360 64 73 28 30 2c 36 2c 30 2c 36 29 0d 01 13 0c f2 |ds(0,6,0,6).....| 00002370 50 72 65 76 69 65 77 0d 01 14 05 e1 0d 01 15 04 |Preview.........| 00002380 0d 01 16 22 dd 20 a4 44 72 61 77 55 6e 69 74 73 |...". .DrawUnits| 00002390 28 61 29 3d a8 28 a4 55 6e 69 74 73 2a 61 2b 2e |(a)=.(.Units*a+.| 000023a0 35 29 0d 01 17 04 0d 01 18 22 dd 20 f2 46 72 61 |5).......". .Fra| 000023b0 6d 65 53 69 7a 65 28 61 2c 62 2c 77 69 64 74 68 |meSize(a,b,width| 000023c0 2c 68 65 69 67 68 74 29 0d 01 19 32 20 f4 20 2d |,height)...2 . -| 000023d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000023f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 1a 06 20 f4 |----------.... .| 00002400 0d 01 1b 30 20 f4 20 44 65 66 69 6e 65 73 20 74 |...0 . Defines t| 00002410 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 20 |he size of the | 00002420 64 72 61 77 69 6e 67 20 22 66 72 61 6d 65 22 2e |drawing "frame".| 00002430 0d 01 1c 06 20 f4 0d 01 1d 31 20 f4 20 2d 2d 2d |.... ....1 . ---| 00002440 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002460 2d 2d 2d 2d 2d 2d 2d 0d 01 1e 23 20 f2 46 72 61 |-------...# .Fra| 00002470 6d 65 43 6f 6f 72 64 73 28 30 2c 77 69 64 74 68 |meCoords(0,width| 00002480 2c 30 2c 68 65 69 67 68 74 29 0d 01 1f 39 20 20 |,0,height)...9 | 00002490 21 28 93 2b 32 30 29 3d a4 44 72 61 77 55 6e 69 |!(.+20)=.DrawUni| 000024a0 74 73 28 77 69 64 74 68 29 20 20 3a 20 f4 20 42 |ts(width) : . B| 000024b0 6f 75 6e 64 69 6e 67 20 62 6f 78 20 2d 20 77 69 |ounding box - wi| 000024c0 64 74 68 0d 01 20 3a 20 20 21 28 93 2b 32 34 29 |dth.. : !(.+24)| 000024d0 3d a4 44 72 61 77 55 6e 69 74 73 28 68 65 69 67 |=.DrawUnits(heig| 000024e0 68 74 29 20 3a 20 f4 20 42 6f 75 6e 64 69 6e 67 |ht) : . Bounding| 000024f0 20 62 6f 78 20 2d 20 68 65 69 67 68 74 0d 01 21 | box - height..!| 00002500 2c 20 20 21 28 93 2b 31 32 29 3d a4 44 72 61 77 |, !(.+12)=.Draw| 00002510 55 6e 69 74 73 28 61 29 20 20 20 20 20 20 3a 20 |Units(a) : | 00002520 f4 20 46 72 61 6d 65 5f 78 0d 01 22 2c 20 20 21 |. Frame_x..", !| 00002530 28 93 2b 31 36 29 3d a4 44 72 61 77 55 6e 69 74 |(.+16)=.DrawUnit| 00002540 73 28 62 29 20 20 20 20 20 20 3a 20 f4 20 46 72 |s(b) : . Fr| 00002550 61 6d 65 5f 79 0d 01 23 05 e1 0d 01 24 04 0d 01 |ame_y..#....$...| 00002560 25 20 dd 20 f2 52 65 64 75 63 65 46 72 61 6d 65 |% . .ReduceFrame| 00002570 53 69 7a 65 28 66 72 61 63 74 69 6f 6e 29 0d 01 |Size(fraction)..| 00002580 26 0d ea 20 5f 77 25 2c 5f 68 25 0d 01 27 3b 5f |&.. _w%,_h%..';_| 00002590 77 25 3d a8 28 21 28 93 2b 32 30 29 2a 66 72 61 |w%=.(!(.+20)*fra| 000025a0 63 74 69 6f 6e 2b 2e 35 29 20 3a 20 5f 68 25 3d |ction+.5) : _h%=| 000025b0 a8 28 21 28 93 2b 32 34 29 2a 66 72 61 63 74 69 |.(!(.+24)*fracti| 000025c0 6f 6e 2b 2e 35 29 0d 01 28 22 21 28 93 2b 31 32 |on+.5)..("!(.+12| 000025d0 29 2b 3d a8 28 28 21 28 93 2b 32 30 29 2d 5f 77 |)+=.((!(.+20)-_w| 000025e0 25 29 2f 32 2b 2e 35 29 0d 01 29 22 21 28 93 2b |%)/2+.5)..)"!(.+| 000025f0 31 36 29 2b 3d a8 28 28 21 28 93 2b 32 34 29 2d |16)+=.((!(.+24)-| 00002600 5f 68 25 29 2f 32 2b 2e 35 29 0d 01 2a 1d 21 28 |_h%)/2+.5)..*.!(| 00002610 93 2b 32 30 29 3d 5f 77 25 20 3a 20 21 28 93 2b |.+20)=_w% : !(.+| 00002620 32 34 29 3d 5f 68 25 0d 01 2b 05 e1 0d 01 2c 04 |24)=_h%..+....,.| 00002630 0d 01 2d 31 dd 20 f2 47 65 74 46 72 61 6d 65 53 |..-1. .GetFrameS| 00002640 69 7a 65 28 f8 20 61 25 2c f8 20 62 25 2c f8 20 |ize(. a%,. b%,. | 00002650 77 69 64 74 68 25 2c f8 20 68 65 69 67 68 74 25 |width%,. height%| 00002660 29 0d 01 2e 32 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d |)...2 . --------| 00002670 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002690 2d 2d 2d 0d 01 2f 06 20 f4 0d 01 30 2e 20 f4 20 |---../. ...0. . | 000026a0 47 69 76 65 73 20 74 68 65 20 73 69 7a 65 20 6f |Gives the size o| 000026b0 66 20 74 68 65 20 20 64 72 61 77 69 6e 67 20 22 |f the drawing "| 000026c0 66 72 61 6d 65 22 2e 0d 01 31 06 20 f4 0d 01 32 |frame"...1. ...2| 000026d0 31 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |1 . ------------| 000026e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000026f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 |--------------..| 00002700 33 14 20 20 77 69 64 74 68 25 3d 21 28 93 2b 32 |3. width%=!(.+2| 00002710 30 29 0d 01 34 15 20 20 68 65 69 67 68 74 25 3d |0)..4. height%=| 00002720 21 28 93 2b 32 34 29 0d 01 35 10 20 20 61 25 3d |!(.+24)..5. a%=| 00002730 21 28 93 2b 31 32 29 0d 01 36 10 20 20 62 25 3d |!(.+12)..6. b%=| 00002740 21 28 93 2b 31 36 29 0d 01 37 05 e1 0d 01 38 04 |!(.+16)..7....8.| 00002750 0d 01 39 17 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..9.. ----------| 00002760 2d 2d 2d 2d 2d 2d 2d 0d 01 3a 05 f4 0d 01 3b 16 |-------..:....;.| 00002770 f4 20 31 2e 35 20 43 6f 2d 6f 72 64 69 6e 61 74 |. 1.5 Co-ordinat| 00002780 65 73 0d 01 3c 05 f4 0d 01 3d 17 f4 20 2d 2d 2d |es..<....=.. ---| 00002790 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 |--------------..| 000027a0 3e 04 0d 01 3f 16 dd 20 a4 46 72 61 6d 65 5f 78 |>...?.. .Frame_x| 000027b0 3d 21 28 93 2b 31 32 29 0d 01 40 16 dd 20 a4 46 |=!(.+12)..@.. .F| 000027c0 72 61 6d 65 5f 79 3d 21 28 93 2b 31 36 29 0d 01 |rame_y=!(.+16)..| 000027d0 41 1a dd 20 a4 46 72 61 6d 65 5f 57 69 64 74 68 |A.. .Frame_Width| 000027e0 3d 21 28 93 2b 32 30 29 0d 01 42 1b dd 20 a4 46 |=!(.+20)..B.. .F| 000027f0 72 61 6d 65 5f 48 65 69 67 68 74 3d 21 28 93 2b |rame_Height=!(.+| 00002800 32 34 29 0d 01 43 04 0d 01 44 16 dd 20 a4 46 52 |24)..C...D.. .FR| 00002810 41 4d 45 5f 78 3d 7c 28 93 2b 32 38 29 0d 01 45 |AME_x=|(.+28)..E| 00002820 16 dd 20 a4 46 52 41 4d 45 5f 79 3d 7c 28 93 2b |.. .FRAME_y=|(.+| 00002830 33 36 29 0d 01 46 1a dd 20 a4 46 52 41 4d 45 5f |36)..F.. .FRAME_| 00002840 57 69 64 74 68 3d 7c 28 93 2b 34 34 29 0d 01 47 |Width=|(.+44)..G| 00002850 1b dd 20 a4 46 52 41 4d 45 5f 48 65 69 67 68 74 |.. .FRAME_Height| 00002860 3d 7c 28 93 2b 35 32 29 0d 01 48 04 0d 01 49 28 |=|(.+52)..H...I(| 00002870 dd 20 a4 58 5f 53 63 61 6c 65 3d a4 46 72 61 6d |. .X_Scale=.Fram| 00002880 65 5f 57 69 64 74 68 2f a4 46 52 41 4d 45 5f 57 |e_Width/.FRAME_W| 00002890 69 64 74 68 0d 01 4a 2a dd 20 a4 59 5f 53 63 61 |idth..J*. .Y_Sca| 000028a0 6c 65 3d a4 46 72 61 6d 65 5f 48 65 69 67 68 74 |le=.Frame_Height| 000028b0 2f a4 46 52 41 4d 45 5f 48 65 69 67 68 74 0d 01 |/.FRAME_Height..| 000028c0 4b 04 0d 01 4c 19 dd 20 a4 45 70 73 69 6c 6f 6e |K...L.. .Epsilon| 000028d0 3d 31 2f a4 59 5f 53 63 61 6c 65 0d 01 4d 04 0d |=1/.Y_Scale..M..| 000028e0 01 4e 1d dd 20 a4 4d 61 78 4e 6f 6f 66 50 6f 69 |.N.. .MaxNoofPoi| 000028f0 6e 74 73 3d 21 28 93 2b 32 30 38 29 0d 01 4f 1d |nts=!(.+208)..O.| 00002900 dd 20 a4 4d 69 6e 4e 6f 6f 66 50 6f 69 6e 74 73 |. .MinNoofPoints| 00002910 3d 21 28 93 2b 32 31 32 29 0d 01 50 1b dd 20 a4 |=!(.+212)..P.. .| 00002920 44 6f 74 73 50 65 72 49 6e 63 68 3d 21 28 93 2b |DotsPerInch=!(.+| 00002930 32 31 36 29 0d 01 51 04 0d 01 52 35 dd 20 a4 44 |216)..Q...R5. .D| 00002940 72 61 77 5f 58 28 78 29 3d a8 28 a4 46 72 61 6d |raw_X(x)=.(.Fram| 00002950 65 5f 78 2b 28 78 2d a4 46 52 41 4d 45 5f 78 29 |e_x+(x-.FRAME_x)| 00002960 2a a4 58 5f 53 63 61 6c 65 2b 2e 35 29 0d 01 53 |*.X_Scale+.5)..S| 00002970 35 dd 20 a4 44 72 61 77 5f 59 28 79 29 3d a8 28 |5. .Draw_Y(y)=.(| 00002980 a4 46 72 61 6d 65 5f 79 2b 28 79 2d a4 46 52 41 |.Frame_y+(y-.FRA| 00002990 4d 45 5f 79 29 2a a4 59 5f 53 63 61 6c 65 2b 2e |ME_y)*.Y_Scale+.| 000029a0 35 29 0d 01 54 04 0d 01 55 1b dd 20 f2 46 72 61 |5)..T...U.. .Fra| 000029b0 6d 65 43 6f 6f 72 64 73 28 61 2c 62 2c 75 2c 76 |meCoords(a,b,u,v| 000029c0 29 0d 01 56 32 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d |)..V2 . --------| 000029d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000029f0 2d 2d 2d 0d 01 57 06 20 f4 0d 01 58 30 20 f4 20 |---..W. ...X0 . | 00002a00 54 68 65 20 62 6f 75 6e 64 69 6e 67 20 62 6f 78 |The bounding box| 00002a10 20 69 6e 20 74 68 65 20 28 78 2c 79 29 20 70 6c | in the (x,y) pl| 00002a20 61 6e 65 20 77 68 69 63 68 0d 01 59 2e 20 f4 20 |ane which..Y. . | 00002a30 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 72 61 |contains the dra| 00002a40 77 69 6e 67 20 69 73 20 61 3c 78 3c 62 20 2c 20 |wing is a<x<b , | 00002a50 75 3c 79 3c 76 20 2e 0d 01 5a 06 20 f4 0d 01 5b |u<y<v ...Z. ...[| 00002a60 06 20 f4 0d 01 5c 31 20 f4 20 2d 2d 2d 2d 2d 2d |. ...\1 . ------| 00002a70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002a90 2d 2d 2d 2d 0d 01 5d 0e 20 ea 20 5f 66 72 61 6d |----..]. . _fram| 00002aa0 65 25 0d 01 5e 11 20 5f 66 72 61 6d 65 25 3d 93 |e%..^. _frame%=.| 00002ab0 2b 32 38 0d 01 5f 37 20 e7 20 61 3e 3d 62 20 8c |+28.._7 . a>=b .| 00002ac0 20 85 20 30 2c 20 c3 61 2b 22 20 3c 20 78 20 3c | . 0, .a+" < x <| 00002ad0 20 22 2b c3 62 2b 22 20 69 73 20 61 20 62 61 64 | "+.b+" is a bad| 00002ae0 20 78 20 72 61 6e 67 65 20 22 0d 01 60 37 20 e7 | x range "..`7 .| 00002af0 20 75 3e 3d 76 20 8c 20 85 20 30 2c 20 c3 75 2b | u>=v . . 0, .u+| 00002b00 22 20 3c 20 79 20 3c 20 22 2b c3 76 2b 22 20 69 |" < y < "+.v+" i| 00002b10 73 20 61 20 62 61 64 20 79 20 72 61 6e 67 65 20 |s a bad y range | 00002b20 22 0d 01 61 27 20 7c 28 5f 66 72 61 6d 65 25 29 |"..a' |(_frame%)| 00002b30 3d 61 20 20 20 20 20 20 3a 20 7c 28 5f 66 72 61 |=a : |(_fra| 00002b40 6d 65 25 2b 38 29 3d 75 0d 01 62 2a 20 7c 28 5f |me%+8)=u..b* |(_| 00002b50 66 72 61 6d 65 25 2b 31 36 29 3d 62 2d 61 20 3a |frame%+16)=b-a :| 00002b60 20 7c 28 5f 66 72 61 6d 65 25 2b 32 34 29 3d 76 | |(_frame%+24)=v| 00002b70 2d 75 0d 01 63 06 20 e1 0d 01 64 04 0d 01 65 18 |-u..c. ...d...e.| 00002b80 dd 20 a4 4f 75 74 73 69 64 65 46 72 61 6d 65 28 |. .OutsideFrame(| 00002b90 78 2c 79 29 0d 01 66 11 ea 20 5f 61 2c 5f 62 2c |x,y)..f.. _a,_b,| 00002ba0 5f 75 2c 5f 76 0d 01 67 20 f2 47 65 74 46 72 61 |_u,_v..g .GetFra| 00002bb0 6d 65 43 6f 6f 72 64 73 28 5f 61 2c 5f 62 2c 5f |meCoords(_a,_b,_| 00002bc0 75 2c 5f 76 29 0d 01 68 33 3d 2d 28 28 78 3c 5f |u,_v)..h3=-((x<_| 00002bd0 61 29 3c 3c 33 29 84 2d 28 28 78 3e 5f 62 29 3c |a)<<3).-((x>_b)<| 00002be0 3c 32 29 84 2d 28 28 79 3c 5f 75 29 3c 3c 31 29 |<2).-((y<_u)<<1)| 00002bf0 84 2d 28 79 3e 5f 76 29 0d 01 69 04 0d 01 6a 13 |.-(y>_v)..i...j.| 00002c00 dd 20 a4 49 6e 46 72 61 6d 65 28 78 2c 79 29 0d |. .InFrame(x,y).| 00002c10 01 6b 21 e7 20 a4 4f 75 74 73 69 64 65 46 72 61 |.k!. .OutsideFra| 00002c20 6d 65 28 78 2c 79 29 20 8c 20 3d a3 20 8b 3d b9 |me(x,y) . =. .=.| 00002c30 0d 01 6c 04 0d 01 6d 26 dd 20 f2 47 65 74 46 72 |..l...m&. .GetFr| 00002c40 61 6d 65 43 6f 6f 72 64 73 28 f8 20 61 2c f8 20 |ameCoords(. a,. | 00002c50 62 2c f8 20 75 2c f8 20 76 29 0d 01 6e 32 20 f4 |b,. u,. v)..n2 .| 00002c60 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ---------------| 00002c70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00002c80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 6f 06 |------------..o.| 00002c90 20 f4 0d 01 70 30 20 f4 20 54 68 65 20 62 6f 75 | ...p0 . The bou| 00002ca0 6e 64 69 6e 67 20 62 6f 78 20 69 6e 20 74 68 65 |nding box in the| 00002cb0 20 28 78 2c 79 29 20 70 6c 61 6e 65 20 77 68 69 | (x,y) plane whi| 00002cc0 63 68 0d 01 71 2e 20 f4 20 63 6f 6e 74 61 69 6e |ch..q. . contain| 00002cd0 73 20 74 68 65 20 64 72 61 77 69 6e 67 20 69 73 |s the drawing is| 00002ce0 20 61 3c 78 3c 62 20 2c 20 75 3c 79 3c 76 20 2e | a<x<b , u<y<v .| 00002cf0 0d 01 72 06 20 f4 0d 01 73 06 20 f4 0d 01 74 31 |..r. ...s. ...t1| 00002d00 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | . -------------| 00002d10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00002d20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 75 |-------------..u| 00002d30 13 20 ea 20 77 69 64 74 68 2c 68 65 69 67 68 74 |. . width,height| 00002d40 0d 01 76 23 20 20 20 20 20 61 3d 7c 28 93 2b 32 |..v# a=|(.+2| 00002d50 38 29 20 3a 20 20 20 20 20 20 75 3d 7c 28 93 2b |8) : u=|(.+| 00002d60 33 36 29 0d 01 77 23 20 77 69 64 74 68 3d 7c 28 |36)..w# width=|(| 00002d70 93 2b 34 34 29 20 3a 20 68 65 69 67 68 74 3d 7c |.+44) : height=|| 00002d80 28 93 2b 35 32 29 0d 01 78 1b 20 62 3d 61 2b 77 |(.+52)..x. b=a+w| 00002d90 69 64 74 68 20 3a 20 76 3d 75 2b 68 65 69 67 68 |idth : v=u+heigh| 00002da0 74 0d 01 79 06 20 e1 0d 01 7a 04 0d 01 7b 10 dd |t..y. ...z...{..| 00002db0 20 f2 53 68 6f 77 46 72 61 6d 65 0d 01 7c 32 20 | .ShowFrame..|2 | 00002dc0 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |. --------------| 00002dd0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00002de0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 7d |-------------..}| 00002df0 06 20 f4 0d 01 7e 30 20 f4 20 54 68 65 20 62 6f |. ...~0 . The bo| 00002e00 75 6e 64 69 6e 67 20 62 6f 78 20 69 6e 20 74 68 |unding box in th| 00002e10 65 20 28 78 2c 79 29 20 70 6c 61 6e 65 20 77 68 |e (x,y) plane wh| 00002e20 69 63 68 0d 01 7f 2e 20 f4 20 63 6f 6e 74 61 69 |ich.... . contai| 00002e30 6e 73 20 74 68 65 20 64 72 61 77 69 6e 67 20 69 |ns the drawing i| 00002e40 73 20 61 3c 78 3c 62 20 2c 20 75 3c 79 3c 76 20 |s a<x<b , u<y<v | 00002e50 2e 0d 01 80 06 20 f4 0d 01 81 06 20 f4 0d 01 82 |..... ..... ....| 00002e60 31 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |1 . ------------| 00002e70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00002e80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 |--------------..| 00002e90 83 19 20 ea 20 5f 70 61 74 68 25 2c 5f 61 2c 5f |.. . _path%,_a,_| 00002ea0 62 2c 5f 75 2c 5f 76 0d 01 84 22 20 20 f2 47 65 |b,_u,_v..." .Ge| 00002eb0 74 46 72 61 6d 65 43 6f 6f 72 64 73 28 5f 61 2c |tFrameCoords(_a,| 00002ec0 5f 62 2c 5f 75 2c 5f 76 29 0d 01 85 2a 20 20 5f |_b,_u,_v)...* _| 00002ed0 70 61 74 68 25 3d a4 52 65 63 74 61 6e 67 6c 65 |path%=.Rectangle| 00002ee0 28 5f 61 2c 5f 75 2c 5f 62 2d 5f 61 2c 5f 76 2d |(_a,_u,_b-_a,_v-| 00002ef0 5f 75 29 0d 01 86 16 20 20 f2 46 69 6c 6c 40 28 |_u).... .Fill@(| 00002f00 5f 70 61 74 68 25 2c 31 29 0d 01 87 17 20 20 f2 |_path%,1).... .| 00002f10 44 72 61 77 50 61 74 68 28 5f 70 61 74 68 25 29 |DrawPath(_path%)| 00002f20 0d 01 88 05 e1 0d 01 89 04 0d 01 8a 12 dd 20 f2 |.............. .| 00002f30 4f 72 69 67 69 6e 28 41 2c 42 29 0d 01 8b 15 20 |Origin(A,B).... | 00002f40 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |. --------------| 00002f50 0d 01 8c 06 20 f4 0d 01 8d 15 20 f4 20 43 68 61 |.... ..... . Cha| 00002f60 6e 67 65 73 20 6f 72 69 67 69 6e 0d 01 8e 06 20 |nges origin.... | 00002f70 f4 0d 01 8f 15 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d |..... . --------| 00002f80 2d 2d 2d 2d 2d 2d 0d 01 90 12 20 ea 20 5f 61 2c |------.... . _a,| 00002f90 5f 62 2c 5f 75 2c 5f 76 0d 01 91 21 20 f2 47 65 |_b,_u,_v...! .Ge| 00002fa0 74 46 72 61 6d 65 43 6f 6f 72 64 73 28 5f 61 2c |tFrameCoords(_a,| 00002fb0 5f 62 2c 5f 75 2c 5f 76 29 0d 01 92 26 20 f2 46 |_b,_u,_v)...& .F| 00002fc0 72 61 6d 65 43 6f 6f 72 64 73 28 5f 61 2d 41 2c |rameCoords(_a-A,| 00002fd0 5f 62 2d 41 2c 5f 75 2d 42 2c 5f 76 2d 42 29 0d |_b-A,_u-B,_v-B).| 00002fe0 01 93 05 e1 0d 01 94 04 0d 01 95 04 0d 01 96 19 |................| 00002ff0 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |. --------------| 00003000 2d 2d 2d 2d 2d 0d 01 97 05 f4 0d 01 98 18 f4 20 |-----.......... | 00003010 31 2e 36 20 50 72 65 76 69 65 77 20 53 63 72 65 |1.6 Preview Scre| 00003020 65 6e 0d 01 99 05 f4 0d 01 9a 19 f4 20 2d 2d 2d |en.......... ---| 00003030 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003040 0d 01 9b 04 0d 01 9c 16 dd 20 a4 44 72 61 77 44 |......... .DrawD| 00003050 78 3d 21 28 93 2b 31 31 32 29 0d 01 9d 04 0d 01 |x=!(.+112)......| 00003060 9e 16 dd 20 a4 44 72 61 77 44 79 3d 21 28 93 2b |... .DrawDy=!(.+| 00003070 31 31 36 29 0d 01 9f 04 0d 01 a0 15 dd 20 a4 44 |116)......... .D| 00003080 72 61 77 54 72 61 6e 73 3d 93 2b 39 36 0d 01 a1 |rawTrans=.+96...| 00003090 04 0d 01 a2 0e dd 20 f2 50 72 65 76 69 65 77 0d |...... .Preview.| 000030a0 01 a3 28 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..( . ----------| 000030b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000030c0 2d 2d 2d 2d 2d 2d 2d 0d 01 a4 06 20 f4 0d 01 a5 |-------.... ....| 000030d0 2a 20 f4 20 44 72 61 77 73 20 61 6e 79 20 70 61 |* . Draws any pa| 000030e0 74 68 73 20 61 6c 73 6f 20 74 6f 20 73 63 72 65 |ths also to scre| 000030f0 65 6e 20 77 69 74 68 0d 01 a6 19 20 f4 20 61 20 |en with.... . a | 00003100 77 68 69 74 65 20 62 61 63 6b 67 72 6f 75 6e 64 |white background| 00003110 0d 01 a7 06 20 f4 0d 01 a8 28 20 f4 20 2d 2d 2d |.... ....( . ---| 00003120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003130 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 |--------------..| 00003140 a9 0d 20 ef 20 32 36 20 3a 20 da 0d 01 aa 26 20 |.. . 26 : ....& | 00003150 ea 20 5f 68 2c 5f 6d 61 78 25 2c 5f 78 25 2c 5f |. _h,_max%,_x%,_| 00003160 79 25 2c 5f 49 25 2c 5f 66 6f 6e 74 25 2c 5f 6e |y%,_I%,_font%,_n| 00003170 24 0d 01 ab 24 20 f2 44 72 61 77 50 72 65 76 69 |$...$ .DrawPrevi| 00003180 65 77 42 6f 72 64 65 72 73 28 33 30 30 30 2c 31 |ewBorders(3000,1| 00003190 32 2c 38 29 20 0d 01 ac 1e 20 f2 44 72 61 77 50 |2,8) .... .DrawP| 000031a0 72 65 76 69 65 77 48 53 63 61 6c 65 73 28 33 30 |reviewHScales(30| 000031b0 30 30 29 0d 01 ad 1e 20 f2 44 72 61 77 50 72 65 |00).... .DrawPre| 000031c0 76 69 65 77 56 53 63 61 6c 65 73 28 33 30 30 30 |viewVScales(3000| 000031d0 29 0d 01 ae 1c 20 f2 44 72 61 77 50 72 65 76 69 |).... .DrawPrevi| 000031e0 65 77 54 69 74 6c 65 28 31 34 2c 37 29 0d 01 af |ewTitle(14,7)...| 000031f0 05 e1 0d 01 b0 04 0d 01 b1 2e dd 20 f2 44 72 61 |........... .Dra| 00003200 77 50 72 65 76 69 65 77 42 6f 72 64 65 72 73 28 |wPreviewBorders(| 00003210 6d 61 78 25 2c 70 6f 69 6e 74 25 2c 63 6f 6c 6f |max%,point%,colo| 00003220 75 72 25 29 0d 01 b2 12 f4 20 44 72 61 77 20 42 |ur%)..... Draw B| 00003230 6f 72 64 65 72 73 0d 01 b3 14 70 6f 69 6e 74 25 |orders....point%| 00003240 3d 70 6f 69 6e 74 25 2a 31 36 0d 01 b4 2e c8 99 |=point%*16......| 00003250 20 22 43 6f 6c 6f 75 72 54 72 61 6e 73 5f 53 65 | "ColourTrans_Se| 00003260 74 47 43 4f 4c 22 2c a4 44 65 73 6b 74 6f 70 43 |tGCOL",.DesktopC| 00003270 6f 6c 6f 75 72 28 32 29 0d 01 b5 1d c8 93 20 c8 |olour(2)...... .| 00003280 90 20 30 2c 30 2c a4 44 72 61 77 44 79 3e 3e 38 |. 0,0,.DrawDy>>8| 00003290 2c 6d 61 78 25 0d 01 b6 1d c8 93 20 c8 90 20 30 |,max%...... .. 0| 000032a0 2c 30 2c 6d 61 78 25 2c a4 44 72 61 77 44 78 3e |,0,max%,.DrawDx>| 000032b0 3e 38 0d 01 b7 2e c8 99 20 22 43 6f 6c 6f 75 72 |>8...... "Colour| 000032c0 54 72 61 6e 73 5f 53 65 74 47 43 4f 4c 22 2c a4 |Trans_SetGCOL",.| 000032d0 44 65 73 6b 74 6f 70 43 6f 6c 6f 75 72 28 37 29 |DesktopColour(7)| 000032e0 0d 01 b8 2b 86 20 a4 44 72 61 77 44 78 3e 3e 38 |...+. .DrawDx>>8| 000032f0 2c a4 44 72 61 77 44 79 3e 3e 38 2c 6d 61 78 25 |,.DrawDy>>8,max%| 00003300 2c a4 44 72 61 77 44 79 3e 3e 38 0d 01 b9 2b 86 |,.DrawDy>>8...+.| 00003310 20 a4 44 72 61 77 44 78 3e 3e 38 2c a4 44 72 61 | .DrawDx>>8,.Dra| 00003320 77 44 79 3e 3e 38 2c a4 44 72 61 77 44 78 3e 3e |wDy>>8,.DrawDx>>| 00003330 38 2c 6d 61 78 25 0d 01 ba 39 c8 99 20 22 46 6f |8,max%...9.. "Fo| 00003340 6e 74 5f 46 69 6e 64 46 6f 6e 74 22 2c 2c 22 54 |nt_FindFont",,"T| 00003350 72 69 6e 69 74 79 2e 4d 65 64 69 75 6d 22 2b bd |rinity.Medium"+.| 00003360 30 2c 70 6f 69 6e 74 25 2c 70 6f 69 6e 74 25 0d |0,point%,point%.| 00003370 01 bb 51 c8 99 20 22 43 6f 6c 6f 75 72 54 72 61 |..Q.. "ColourTra| 00003380 6e 73 5f 53 65 74 46 6f 6e 74 43 6f 6c 6f 75 72 |ns_SetFontColour| 00003390 73 22 2c 2c a4 44 65 73 6b 74 6f 70 43 6f 6c 6f |s",,.DesktopColo| 000033a0 75 72 28 32 29 2c a4 44 65 73 6b 74 6f 70 43 6f |ur(2),.DesktopCo| 000033b0 6c 6f 75 72 28 63 6f 6c 6f 75 72 25 29 2c 31 34 |lour(colour%),14| 000033c0 0d 01 bc 05 e1 0d 01 bd 04 0d 01 be 27 dd 20 f2 |............'. .| 000033d0 44 72 61 77 50 72 65 76 69 65 77 54 69 74 6c 65 |DrawPreviewTitle| 000033e0 28 70 6f 69 6e 74 25 2c 63 6f 6c 6f 75 72 25 29 |(point%,colour%)| 000033f0 0d 01 bf 10 ea 20 5f 6e 24 2c 5f 66 24 2c 69 25 |..... _n$,_f$,i%| 00003400 0d 01 c0 30 5f 66 24 3d a4 52 65 61 64 53 79 73 |...0_f$=.ReadSys| 00003410 74 65 6d 56 61 72 69 61 62 6c 65 28 22 44 72 61 |temVariable("Dra| 00003420 77 42 61 73 69 63 24 4f 70 74 69 6f 6e 73 22 29 |wBasic$Options")| 00003430 0d 01 c1 2e 69 25 3d a7 5f 66 24 2c 22 3a 22 29 |....i%=._f$,":")| 00003440 20 3a 20 e7 20 69 25 3c 3e 30 20 8c 20 5f 66 24 | : . i%<>0 . _f$| 00003450 3d c2 5f 66 24 2c a9 5f 66 24 2d 69 25 29 0d 01 |=._f$,._f$-i%)..| 00003460 c2 14 70 6f 69 6e 74 25 3d 70 6f 69 6e 74 25 2a |..point%=point%*| 00003470 31 36 0d 01 c3 20 5f 6e 24 3d 22 44 72 61 77 42 |16... _n$="DrawB| 00003480 61 73 69 63 20 22 2b a4 4c 65 61 66 28 5f 66 24 |asic "+.Leaf(_f$| 00003490 29 20 0d 01 c4 3a e7 20 a4 55 6e 69 74 73 3d 32 |) ...:. .Units=2| 000034a0 35 36 2a 31 38 30 20 8c 20 20 5f 6e 24 2b 3d 22 |56*180 . _n$+="| 000034b0 20 28 49 6e 63 68 65 73 29 22 20 20 8b 20 20 5f | (Inches)" . _| 000034c0 6e 24 2b 3d 22 20 28 43 6d 73 29 22 0d 01 c5 39 |n$+=" (Cms)"...9| 000034d0 c8 99 20 22 46 6f 6e 74 5f 46 69 6e 64 46 6f 6e |.. "Font_FindFon| 000034e0 74 22 2c 2c 22 54 72 69 6e 69 74 79 2e 4d 65 64 |t",,"Trinity.Med| 000034f0 69 75 6d 22 2b bd 30 2c 70 6f 69 6e 74 25 2c 70 |ium"+.0,point%,p| 00003500 6f 69 6e 74 25 0d 01 c6 51 c8 99 20 22 43 6f 6c |oint%...Q.. "Col| 00003510 6f 75 72 54 72 61 6e 73 5f 53 65 74 46 6f 6e 74 |ourTrans_SetFont| 00003520 43 6f 6c 6f 75 72 73 22 2c 2c a4 44 65 73 6b 74 |Colours",,.Deskt| 00003530 6f 70 43 6f 6c 6f 75 72 28 32 29 2c a4 44 65 73 |opColour(2),.Des| 00003540 6b 74 6f 70 43 6f 6c 6f 75 72 28 63 6f 6c 6f 75 |ktopColour(colou| 00003550 72 25 29 2c 31 34 0d 01 c7 25 c8 99 20 22 46 6f |r%),14...%.. "Fo| 00003560 6e 74 5f 50 61 69 6e 74 22 2c 2c 5f 6e 24 2c 25 |nt_Paint",,_n$,%| 00003570 31 30 30 30 30 2c 31 36 2c 31 32 0d 01 c8 08 e1 |10000,16,12.....| 00003580 20 20 20 0d 01 c9 04 0d 01 ca 24 dd 20 a4 52 65 | .......$. .Re| 00003590 61 64 53 79 73 74 65 6d 56 61 72 69 61 62 6c 65 |adSystemVariable| 000035a0 28 76 61 72 69 61 62 6c 65 24 29 0d 01 cb 05 f4 |(variable$).....| 000035b0 0d 01 cc 22 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |...". ----------| 000035c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000035d0 2d 2d 0d 01 cd 22 f4 20 20 52 65 61 64 73 20 74 |--...". Reads t| 000035e0 68 65 20 76 61 6c 75 65 20 6f 66 20 61 20 73 74 |he value of a st| 000035f0 72 69 6e 67 0d 01 ce 16 f4 20 20 73 79 73 74 65 |ring..... syste| 00003600 6d 20 76 61 72 69 61 62 6c 65 0d 01 cf 22 f4 20 |m variable...". | 00003610 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003620 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 d0 05 |------------....| 00003630 f4 0d 01 d1 16 ea 20 5f 6c 65 6e 25 2c 5f 76 61 |...... _len%,_va| 00003640 72 69 61 62 6c 65 25 0d 01 d2 14 de 20 5f 76 61 |riable%..... _va| 00003650 72 69 61 62 6c 65 25 20 32 35 36 0d 01 d3 3c c8 |riable% 256...<.| 00003660 99 20 22 4f 53 5f 52 65 61 64 56 61 72 56 61 6c |. "OS_ReadVarVal| 00003670 22 2c 76 61 72 69 61 62 6c 65 24 2c 5f 76 61 72 |",variable$,_var| 00003680 69 61 62 6c 65 25 2c 32 35 36 2c 2c 33 20 b8 20 |iable%,256,,3 . | 00003690 2c 2c 5f 6c 65 6e 25 0d 01 d4 17 5f 76 61 72 69 |,,_len%...._vari| 000036a0 61 62 6c 65 25 3f 5f 6c 65 6e 25 3d 31 33 0d 01 |able%?_len%=13..| 000036b0 d5 10 3d 24 5f 76 61 72 69 61 62 6c 65 25 0d 01 |..=$_variable%..| 000036c0 d6 04 0d 01 d7 0f dd 20 a4 4c 65 61 66 28 78 24 |....... .Leaf(x$| 000036d0 29 0d 01 d8 18 ea 20 5f 69 25 20 3a 20 5f 69 25 |)..... _i% : _i%| 000036e0 3d a7 78 24 2c 22 2e 22 29 0d 01 d9 26 e7 20 5f |=.x$,".")...&. _| 000036f0 69 25 3d 30 20 8c 3d 78 24 20 8b 3d a4 4c 65 61 |i%=0 .=x$ .=.Lea| 00003700 66 28 c2 78 24 2c a9 78 24 2d 5f 69 25 29 29 0d |f(.x$,.x$-_i%)).| 00003710 01 da 04 0d 01 db 1f dd 20 f2 44 72 61 77 50 72 |........ .DrawPr| 00003720 65 76 69 65 77 48 53 63 61 6c 65 73 28 6d 61 78 |eviewHScales(max| 00003730 25 29 0d 01 dc 11 f4 20 44 72 61 77 20 53 63 61 |%)..... Draw Sca| 00003740 6c 65 73 0d 01 dd 1a ea 20 5f 68 2c 5f 78 25 2c |les..... _h,_x%,| 00003750 5f 49 25 2c 5f 64 78 25 2c 5f 64 79 25 0d 01 de |_I%,_dx%,_dy%...| 00003760 3e 5f 49 25 3d 30 20 20 3a 20 5f 68 25 3d a4 55 |>_I%=0 : _h%=.U| 00003770 6e 69 74 73 3e 3e 38 20 3a 5f 64 78 25 3d a4 44 |nits>>8 :_dx%=.D| 00003780 72 61 77 44 78 3e 3e 38 20 3a 20 20 5f 64 79 25 |rawDx>>8 : _dy%| 00003790 3d a4 44 72 61 77 44 79 3e 3e 38 0d 01 df 22 f5 |=.DrawDy>>8...".| 000037a0 20 3a 20 5f 78 25 3d 5f 64 78 25 2b 28 a4 44 72 | : _x%=_dx%+(.Dr| 000037b0 61 77 5f 59 28 5f 49 25 29 3e 3e 38 29 0d 01 e0 |aw_Y(_I%)>>8)...| 000037c0 1c 20 86 20 5f 78 25 2c 5f 64 79 25 2c 5f 78 25 |. . _x%,_dy%,_x%| 000037d0 2c 33 2a 5f 64 79 25 2f 34 0d 01 e1 28 20 86 20 |,3*_dy%/4...( . | 000037e0 5f 78 25 2b 5f 68 25 2f 32 2c 5f 64 79 25 2c 5f |_x%+_h%/2,_dy%,_| 000037f0 78 25 2b 5f 68 25 2f 32 2c 37 2a 5f 64 79 25 2f |x%+_h%/2,7*_dy%/| 00003800 38 0d 01 e2 30 20 c8 99 20 22 46 6f 6e 74 5f 50 |8...0 .. "Font_P| 00003810 61 69 6e 74 22 2c 2c c3 28 5f 49 25 29 2c 25 31 |aint",,.(_I%),%1| 00003820 30 30 30 30 2c 5f 78 25 2d 38 2c 5f 64 79 25 2f |0000,_x%-8,_dy%/| 00003830 32 0d 01 e3 0b 20 5f 49 25 2b 3d 31 0d 01 e4 0f |2.... _I%+=1....| 00003840 20 fd 20 5f 78 25 3e 6d 61 78 25 0d 01 e5 05 e1 | . _x%>max%.....| 00003850 0d 01 e6 04 0d 01 e7 1f dd 20 f2 44 72 61 77 50 |......... .DrawP| 00003860 72 65 76 69 65 77 56 53 63 61 6c 65 73 28 6d 61 |reviewVScales(ma| 00003870 78 25 29 0d 01 e8 1a ea 20 5f 68 2c 5f 79 25 2c |x%)..... _h,_y%,| 00003880 5f 49 25 2c 5f 64 78 25 2c 5f 64 79 25 0d 01 e9 |_I%,_dx%,_dy%...| 00003890 3d 5f 49 25 3d 30 20 3a 20 5f 68 25 3d a4 55 6e |=_I%=0 : _h%=.Un| 000038a0 69 74 73 3e 3e 38 20 3a 5f 64 78 25 3d a4 44 72 |its>>8 :_dx%=.Dr| 000038b0 61 77 44 78 3e 3e 38 20 3a 20 20 5f 64 79 25 3d |awDx>>8 : _dy%=| 000038c0 a4 44 72 61 77 44 79 3e 3e 38 0d 01 ea 22 f5 20 |.DrawDy>>8...". | 000038d0 3a 20 5f 79 25 3d 5f 64 79 25 2b 28 a4 44 72 61 |: _y%=_dy%+(.Dra| 000038e0 77 5f 58 28 5f 49 25 29 3e 3e 38 29 0d 01 eb 1d |w_X(_I%)>>8)....| 000038f0 20 86 20 20 5f 64 78 25 2c 5f 79 25 2c 33 2a 5f | . _dx%,_y%,3*_| 00003900 64 78 25 2f 34 2c 5f 79 25 0d 01 ec 29 20 86 20 |dx%/4,_y%...) . | 00003910 20 5f 64 78 25 2c 5f 79 25 2b 5f 68 25 2f 32 2c | _dx%,_y%+_h%/2,| 00003920 37 2a 5f 64 78 25 2f 38 2c 5f 79 25 2b 5f 68 25 |7*_dx%/8,_y%+_h%| 00003930 2f 32 0d 01 ed 0e 20 e7 20 5f 49 25 3e 39 20 8c |/2.... . _I%>9 .| 00003940 0d 01 ee 2e 20 20 c8 99 20 22 46 6f 6e 74 5f 50 |.... .. "Font_P| 00003950 61 69 6e 74 22 2c 2c c3 28 5f 49 25 29 2c 25 31 |aint",,.(_I%),%1| 00003960 30 30 30 30 2c 33 36 2c 5f 79 25 2d 31 30 0d 01 |0000,36,_y%-10..| 00003970 ef 06 20 cc 0d 01 f0 2e 20 20 c8 99 20 22 46 6f |.. ..... .. "Fo| 00003980 6e 74 5f 50 61 69 6e 74 22 2c 2c c3 28 5f 49 25 |nt_Paint",,.(_I%| 00003990 29 2c 25 31 30 30 30 30 2c 34 38 2c 5f 79 25 2d |),%10000,48,_y%-| 000039a0 31 30 0d 01 f1 06 20 cd 0d 01 f2 0b 20 5f 49 25 |10.... ..... _I%| 000039b0 2b 3d 31 0d 01 f3 0f 20 fd 20 5f 79 25 3e 6d 61 |+=1.... . _y%>ma| 000039c0 78 25 0d 01 f4 05 e1 0d 01 f5 04 0d ff |x%...........| 000039cd