Home » Archimedes archive » Acorn User » AU 1998-10.adf » Features » SSTV/!PSinstall/PscanFiles/!Runimage
SSTV/!PSinstall/PscanFiles/!Runimage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1998-10.adf » Features |
Filename: | SSTV/!PSinstall/PscanFiles/!Runimage |
Read OK: | ✔ |
File size: | 32A94 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
1 REM >Pscan063 2 3 REM PD 50 mode added - mode 65, VIS 93/221 - 23.12.97 4 REM Manual memory area separate from sprities - 11.12.97 5 REM Filer changes - new dir & save sprites - 10.12.97 6 REM Pathnames file format changed (simplified) - 01.12.97 7 REM Repeater "beacon" text - 30.11.97 8 REM Serial port address configurable - 28.11.97 9 10 ije_dev%=FALSE : REM Set to TRUE for G4IJE R&D only 11 12 REM Configuration now uses Choices window - 09.11.97 13 REM Most code blocks moved into Resources dir - 16.10.97 14 REM Repeater mode - for FM use only - 14.10.97 15 REM Text outline - 2 widths available - 28.07.97 16 REM Pic mem change within waveform monitor - 13.07.97 17 REM Paint with sprite - 22.06.97 18 REM New borders / plinths for grabbed areas - 15.06.97 19 REM JPEG mods / large directories accommodated - 04.05.97 20 REM PD auto-tune 8, 4 lines or off for FM use - 15.02.97 21 REM User entry of pathname + list selector - 17.02.97 22 REM Menu cancel moved to last entry - 06.02.97 23 REM Auto-mode find - click R icon with adjust - 27.01.97 24 REM PD90 save in Pscan format corrected - 25.01.97 25 REM Tweaks to "create text" positioning - 23.01.97 26 REM Text and mask size adjust - 19.01.97 27 REM New linear tuning indicator - 28.12.96 28 REM PD mode RX lookup table 64 - 192 - 23.12.96 29 REM QwikText captions - 12.12.96 30 REM HQ modes - RX only and not "full spec" - 25.11.96 31 REM StrongARM compatible version - 20.10.96 32 33 REM ******************************************************************** 34 REM * Many thanks to Neil, G4RQN, for help with the icon bar WIMP bits * 35 REM ******************************************************************** 36 37 38 ON ERROR MODE MODE:SYS"Hourglass_Smash":PRINT''REPORT$;" at line ";ERL'':END 39 40 IF ije_dev% THEN 41 *SET Pscan$Dir ADFS::HardDisc4.$.PS_Jan98.AppFiles 42 *FontInstall <Pscan$Dir>.Fonts. 43 ENDIF 44 45 app_name$="Pscan":ver$="3.10 - January 1998" 46 splash2x%=190 47 wimp_sprite$="!pscan":windowhandle%=TRUE 48 font%=-1:just_registered%=FALSE 49 50 REM serial_base%=&03010FE0 51 52 DIM block% &300,menu% 64,sysvar% 256,err% 256,sprite_name% 32 53 DIM temp% &300,Wbuffer% &300,qerr% &300:curbuf%=Wbuffer% 54 DIM choices_window% 32 55 $choices_window%="Obey <Pscan$Dir>.Choices.!Run" 56 DIM register_window% 40 57 $register_window%="Obey <Pscan$Dir>.Choices.Register.!Run" 58 59 $(menu%+56)="xxxx" 60 61 config_entries%=13 62 DIM config$(config_entries%) 63 PROCread_config_file(config_entries%) 64 memories%=VAL(config$(4)) 65 txtsize%=VAL(config$(5))*1024 66 IF config$(9)="Y" THEN thumb%=TRUE ELSE thumb%=FALSE 67 IF EVAL(config$(13))>=&03242000 PROCset_rts_low_on_atomwide 68 69 dummy=FNfile_len("<Pscan$Dir>.Resources.id") 70 F%=OPENIN("<Pscan$Dir>.Resources.id"):INPUT#F%,user$:CLOSE#F% 71 72 IF ije_dev% THEN PROCstart_pscan:END 73 74 pscan_exit%=FALSE 75 PROCinitialise 76 PROCtemplates 77 ON ERROR PROCerror 78 PROCwriteicon(28,info%,7,ver$) 79 PROCwriteicon(28,info%,8,user$) 80 REPEAT 81 PROCpoll 82 UNTIL pscan_exit%=TRUE 83 SYS"Wimp_CloseDown" 84 END 85 86 DEF PROCinitialise 87 SYS"Wimp_Initialise",200,&4b534154,app_name$ 88 block%!0=windowhandle% 89 block%!4=0:block%!8=0 90 block%!12=68:block%!16=68 91 block%!20=&301A 92 $(block%+24)=wimp_sprite$+CHR$0 93 SYS"Wimp_CreateIcon",,block% TO iconhandle% 94 ENDPROC 95 96 DEF PROCtemplates 97 LOCAL ERROR 98 ON ERROR LOCAL ON ERROR SYS "Wimp_CloseTemplate" 99 SYS "Wimp_OpenTemplate",,"<Pscan$Dir>.Templates" 100 SYS "Wimp_LoadTemplate",,block%,temp%,temp%+512,-1,"Info",0 101 SYS "Wimp_CreateWindow",,block% TO info% 102 SYS "Wimp_CloseTemplate" 103 RESTORE 104 ENDPROC 105 106 DEF PROCerror 107 !block%=ERR 108 $(block%+4)=REPORT$+" (Error code "+STR$(ERL)+")"+CHR$0 109 SYS"Wimp_ReportError",block%,1,app_name$ TO reply% 110 IF reply%=2 THEN END 111 ENDPROC 112 113 DEF PROCpoll 114 SYS"Wimp_Poll",,block% TO reason% 115 CASE reason% OF 116 WHEN 2 :SYS &400C5,,block%,,block% 117 WHEN 3 :PROCclose_window(block%!0) 118 WHEN 6 :PROCcheckmouse(!block%,block%!4,block%!8,block%!12,block%!16,block%!20) 119 WHEN 9 :PROCmenuselect(block%) 120 WHEN 17,18:PROCWreceive 121 ENDCASE 122 ENDPROC 123 124 DEF PROCclose_window(whandle%) 125 block%!0=whandle% 126 SYS "Wimp_CloseWindow",,block% 127 ENDPROC 128 129 DEF PROCWreceive 130 CASE block%!16 OF 131 WHEN 0:pscan_exit%=TRUE 132 ENDCASE 133 ENDPROC 134 135 DEF PROCcheckmouse(mousex%,mousey%,b%,handle%,icon%,ob%) 136 IF(b%AND2)THEN 137 CASE handle% OF 138 WHEN -2 139 PROCdomenu(101,">Info,Help,Manual,Register...,-Choices...,Quit","Pscan") 140 ENDCASE 141 ENDIF 142 IF(b%AND4)THEN 143 PROCstart_pscan 144 ENDIF 145 ENDPROC 146 147 DEF PROCdomenu(handle%,menu$,menutitle$) 148 menuhandle%=handle% 149 menuptr%=Wbuffer% 150 i%=0 151 menuptr%!20=40:REM block size 152 $menuptr%=menutitle$ 153 menuptr%?12=7 154 menuptr%?13=2 155 menuptr%?14=7 156 menuptr%?15=0 157 menuptr%!16=196-24 158 menuptr%!24=4:REM Height spacing 159 menuptr%+=28 160 REPEAT item$=FNpar(","):PROCmenuitem(item$):UNTIL item$="" 161 menuptr%!-24=(menuptr%!-24)OR&80 162 SYS "Wimp_CreateMenu",,Wbuffer%,mousex%-64,384 163 ENDPROC 164 165 DEF PROCmenuitem(wtext$) 166 IF wtext$<>"" THEN 167 !menuptr%=0 168 IF LEFT$(wtext$,1)="-" THEN menuptr%?0=2:wtext$=MID$(wtext$,2) 169 IF LEFT$(wtext$,1)=">" THEN 170 menuptr%!4=info% 171 dummy=FNfile_len("<Pscan$Dir>.Resources.id") 172 F%=OPENIN("<Pscan$Dir>.Resources.id"):INPUT#F%,user$:CLOSE#F% 173 PROCwriteicon(28,info%,7,ver$) 174 PROCwriteicon(28,info%,8,user$) 175 ELSE 176 menuptr%!4=TRUE 177 ENDIF 178 menuptr%!8=&07000021 179 IF LEFT$(wtext$,1)=">" THEN $(menuptr%+12)=MID$(wtext$,2) ELSE $(menuptr%+12)=wtext$ 180 menuptr%+=24 181 ENDIF 182 ENDPROC 183 184 DEF FNpar(sep$) 185 i1%=i%+1:i%=INSTR(menu$+sep$,sep$,i1%) 186 =MID$(menu$,i1%,i%-i1%) 187 188 DEF PROCmenuselect(menus%) 189 SYS "Wimp_DecodeMenu",,Wbuffer%,menus%,STRING$(200," ")TO,,,a$ 190 IF a$<>"" THEN 191 CASE menuhandle% OF 192 WHEN 101 193 CASE a$ OF 194 WHEN "Quit" : pscan_exit%=TRUE 195 WHEN "Help" : *Filer_Run <Pscan$Dir>.!Help 196 WHEN "Manual" : *Filer_Run <Pscan$Dir>.Manual 197 WHEN "Choices..." : SYS "Wimp_StartTask",choices_window% 198 WHEN "Register...": IF $(menu%+56)="sstv" THEN just_registered%=TRUE 199 SYS "Wimp_StartTask",register_window% 200 ENDCASE 201 ENDCASE 202 ENDIF 203 ENDPROC 204 205 DEF PROCwriteicon(itw%,whandle%,wic%,wic$) 206 !block%=whandle% 207 s%=FNreadicon(itw%,whandle%,wic%):$s%=wic$ 208 block%!4=wic% 209 block%!8=0:block%!12=0 210 SYS &400CD,,block% 211 ENDPROC 212 213 DEF FNreadicon(itr%,whandle%,which) 214 LOCAL a$ 215 !block%=whandle% 216 SYS "Wimp_GetWindowState",,block% 217 block%!4=which 218 SYS &400CE,,block% 219 =block%!itr% 220 221 REM ********** MAIN NON-MULTITASKING PROGRAM STARTS HERE ********** 222 223 DEF PROCstart_pscan 224 225 PROCread_config_file(config_entries%) 226 PROCset_variables_from_config_file 227 228 IF just_registered% THEN 229 OSCLI("LOAD <Pscan$Dir>.Resources.PscanTX "+STR$~tx_code%) 230 just_registered%=FALSE 231 ENDIF 232 233 SYS "Hourglass_On" 234 desk_mode%=MODE:modelen%=24:ptr%=desk_mode%+20 235 WHILE !ptr%<>-1 236 ptr%+=4:modelen%+=4 237 ENDWHILE 238 DIM modestore% modelen% 239 FOR i%=0 TO modelen%-4 STEP 4 240 modestore%!i%=desk_mode%!i%:NEXT 241 PROCmode("X640 Y512 C32K"):screen_lines%=512 242 VDU12,26,20:OFF:WAIT:disp_flag%=0:panel$="Panel.Medium" 243 screen%=FNscreen_address:GCOL 255,255,0:POINT 0,1023:POINT 2,1023 244 245 IF !screen%<>&03FF03FF THEN 246 PROCmode("X640 Y480 C32K"):screen%=FNscreen_address:OFF:WAIT:screen_lines%=480 247 GCOL 0,0,128:RECTANGLE FILL 0,0,1280,1024 248 PROCraised_block(200,300,850,500) 249 GCOL 255,255,128:RECTANGLE FILL 220,732,804,50 250 PROCwrite2("Message from Pscan version "+ver$,220,740,4) 251 PROCwrite2("Pscan needs to use a 640 x 512 screen mode and this",220,670,4) 252 PROCwrite2("does not seem to be available on your computer.",220,630,4) 253 PROCwrite2("See the !ReadMe file inside the !Pscan.Extras.Monitors",220,590,4) 254 PROCwrite2("directory or contact G4IJE (01279 734482) for help.",220,550,4) 255 PROCwrite2("You can run Pscan in a 640 x 480 screen mode but",220,490,4) 256 PROCwrite2("some features will not work correctly.",220,450,4) 257 PROCraised_block(240,340,340,40):PROCwrite2("Continue in 640 x 480",246,344,4) 258 PROCraised_block(664,340,340,40):PROCwrite2("Quit to Desktop",714,344,4) 259 SYS "Hourglass_Smash":*POINTER 1 260 PROCwait_no_button:MOUSE RECTANGLE 240,336,764,48 261 REPEAT:MOUSE X,Y,B:UNTIL B<>0:IF X>660 THEN SYS "Wimp_SetMode",modestore%:END 262 MOUSE RECTANGLE 0,0,1280,1024 263 ENDIF 264 265 *FX2,0 266 267 IF $(menu%+56)="sstv" THEN 268 disp_flag%=TRUE : REM Program has been run at least once so variables 269 REM are not initialised 270 ELSE 271 272 IF ije_dev% THEN *SET Pscan$Dir ADFS::HardDisc4.$.PS_Jan98.AppFiles 273 274 SYS "OS_SWINumberFromString",,"OS_SpriteOp" TO sprswi% 275 SYS "ADFS_Drives" TO N%,floppies%,hard_drives% 276 277 278 DIM spr% txtsize%:PROCsplash2 279 280 PROCget_drive_number_from_pathname:default_dir$=dir$ 281 auto_save%=0:auto_count%=0 282 Thumbdir$="<Pscan$Dir>.Thumbs" 283 284 PROCload_rx_and_tx_code 285 PROCload_on_line_manual 286 287 MOUSE ON:*POINTER 1 288 289 mode%=1:MEM%=0:GH%=0:GW%=0 290 mem3%=0:mem4%=0:mem5%=0:mem6%=0:mem7%=0:mem8%=0 291 DIM mem1% 655420,mem2% 655420 292 IF memories%>2 THEN DIM mem3% 655420 293 IF memories%>3 THEN DIM mem4% 655420 294 IF memories%>4 THEN DIM mem5% 655420 295 IF memories%>5 THEN DIM mem6% 655420 296 IF memories%>6 THEN DIM mem7% 655420 297 IF memories%>7 THEN DIM mem8% 655420 298 299 memblock%=mem1% 300 IF thumb% THEN 301 DIM thblock% 328000,thpath% 2560 302 thumb_max%=FNcount_thumbnail_banks:thumb_bank%=1 303 thblock%!0=328000:thblock%!8=16 304 SYS sprswi%,256+9,thblock% 305 SYS "OS_File",5,Thumbdir$+".ThumbPix01" TO a% 306 SYS "OS_File",5,Thumbdir$+".ThumPath01" TO b% 307 IF a%=0 OR b%=0 THEN 308 PROCcreate_blank_thumbnail("new") 309 thumb_max%=1:thumb_bank%=1:PROCsplash2 310 ENDIF 311 PROCload_thumbnail_bank(thumb_bank%) 312 ENDIF 313 314 DIM mode$(200):PROCsetup_modes:area_copied%=0:gbpb_len%=3000 315 DIM cat$(80),ftype$(80),gbpb% gbpb_len%,path$(8),jpegscale% 16 316 FOR N%=1 TO 8:path$(N%)="X":NEXT 317 DIM reddata 32,grndata 32,bludata 32 318 DIM menu$(27),fontlist% 40,tran% 32,fontbox% 40 319 DIM load_list$(8),rtc_buffer% 10:PROCcheck_for_bst 320 DIM user_path$(14),choices_list$(20) 321 L%=64+FNfile_len("<Pscan$Dir>.UserFiles.Pathnames") 322 DIM user_path% L% 323 DIM cw_data% 512:DIM cw_table$(50) 324 325 PROCmem_assemble:PROCpicpro_assemble:PROCsprite_shadow_assemble 326 PROCmysprite_assemble:PROCmanual_assemble:PROCredraw_assemble 327 PROCtarga_assemble:PROCget_area_assemble:PROCzoom_assemble 328 PROCrotate_rgb_assemble:PROCmake_small_targa_assemble:PROCquarter_assemble 329 PROCwaveform_assemble:PROCreset_t0_assemble:PROCmerge_assemble 330 331 text1$="":text2$="":text$="":TC%=&03FF:TD%=32:TL%=31:text_out_col%=0 332 brush_size%=16:step%=0:grad%=0:shad$="BR":SC%=0:shadow%=0 333 pbr%=255:pbg%=0:pbb%=255:xp%=0:yp%=0:pbri%=8:pbgi%=0:pbbi%=8 334 text_block_shadow%=0:overlay%=0:font$="{none}" 335 overlay_outline%=0:OOC%=0:hires%=0:transform%=TRUE:solid%=0:jpeg_scale%=0 336 file_open%=0:menu_redraw%=TRUE:col_idec%=0 337 real_shadow1%=0:entire%=0:qbw$="m" 338 border_width%=2:border_grad%=1:bypass%=0:screen_grabbed%=0:jpeg_info%=0 339 quit_after_error%=FALSE:lastfile$="":merge%=0:grab$="e":mask_created%=0 340 shown_dir$="-":dir_entries%=0:text%=0:mmm%=1:VIS%=0 341 cursor_status%=99:auto_find%=FALSE:rquit%=FALSE:toneburst_result%=0 342 start_entry%=0:last_start_entry%=0:big_dir%=0:was_big_dir%=0 343 344 FOR N%=1 TO 20:choices_list$(N%)="":NEXT 345 LOCAL ERROR 346 ON ERROR LOCAL CLOSE#F%:PROCcreate_default_options_file 347 F%=OPENUP("<Pscan$Dir>.UserFiles.Options") 348 INPUT#F%,save_type$:choices_list$(1)="ok" 349 INPUT#F%,qwiktext_colour%:choices_list$(2)="ok" 350 INPUT#F%,qwiktext_block%:choices_list$(3)="ok" 351 INPUT#F%,jpeg_opt%:choices_list$(4)="ok" 352 INPUT#F%,plot_shadow%:choices_list$(5)="ok" 353 INPUT#F%,plot_border%:choices_list$(6)="ok" 354 INPUT#F%,fax_average%:choices_list$(7)="ok" 355 INPUT#F%,red%:choices_list$(8)="ok" 356 INPUT#F%,grn%:choices_list$(9)="ok" 357 INPUT#F%,blu%:choices_list$(10)="ok" 358 INPUT#F%,jpgq%:choices_list$(11)="ok" 359 INPUT#F%,Ioffset%:choices_list$(12)="ok" 360 INPUT#F%,header_text%:choices_list$(13)="ok" 361 INPUT#F%,pd_auto_lines%:choices_list$(14)="ok" 362 INPUT#F%,sstv_time%:choices_list$(15)="ok" 363 INPUT#F%,outline_width%:choices_list$(16)="ok" 364 INPUT#F%,beacon_on%:choices_list$(17)="ok" 365 CLOSE#F% 366 RESTORE ERROR 367 368 CASE jpeg_opt% OF 369 WHEN 0,1:jpeg_scale%=0 370 WHEN 2,3:jpeg_scale%=-1 371 ENDCASE 372 373 IF save_type$="overlay" save_type$="sprite" 374 375 DIM mouse1% 300,mouse2% 300,mouse3% 300 376 dummy=FNfile_len("<Pscan$Dir>.Resources.cross1") 377 OSCLI("LOAD <Pscan$Dir>.Resources.cross1 "+STR$~mouse1%) 378 dummy=FNfile_len("<Pscan$Dir>.Resources.cross2") 379 OSCLI("LOAD <Pscan$Dir>.Resources.cross2 "+STR$~mouse2%) 380 dummy=FNfile_len("<Pscan$Dir>.Resources.finger") 381 OSCLI("LOAD <Pscan$Dir>.Resources.finger "+STR$~mouse3%) 382 383 SPM%=28000:DIM spb% SPM%:!spb%=SPM%:spb%!4=0:spb%!8=16:spb%!12=16 384 SYS sprswi%,256+10,spb%,"<Pscan$Dir>.PSsprites.sstv_icons" 385 386 DIM translate% 16 387 RESTORE +0 388 FOR N%=0 TO 15:READ D%:translate%?N%=D%:NEXT 389 DATA 255,253,171,169,87,85,3,0,144,61,49,12,190,36,47,227 390 391 DIM translate256% 256 392 FOR N%=0 TO 255 393 SYS "ColourTrans_ColourNumberToGCOL",N% TO D% 394 translate256%?N%=D%:NEXT 395 396 $(menu%+56)="sstv" 397 ENDIF 398 399 SYS "OS_Byte",229,0,0 400 LOCAL ERROR 401 ON ERROR LOCAL PROCpscan_error_handler 402 PROCget_drive_number_from_pathname 403 BIGQUIT%=0:himem%=HIMEM 404 PROCmini_pad:SYS "Hourglass_Smash" 405 PROCmouse_control 406 IF NOT ije_dev% THEN SYS "OS_Byte",229,1,0 407 RESTORE ERROR 408 SYS "Wimp_SetMode",modestore% 409 PROCwrite2("Returning to the desktop - please wait a moment",300,500,0) 410 PROCwrite2("Returning to the desktop - please wait a moment",296,504,1) 411 PROCupdate_rtc(TRUE) 412 413 F%=OPENUP("<Pscan$Dir>.UserFiles.Options") 414 PRINT#F%,save_type$ 415 PRINT#F%,qwiktext_colour% 416 PRINT#F%,qwiktext_block% 417 PRINT#F%,jpeg_opt% 418 PRINT#F%,plot_shadow% 419 PRINT#F%,plot_border% 420 PRINT#F%,fax_average% 421 PRINT#F%,red% 422 PRINT#F%,grn% 423 PRINT#F%,blu% 424 PRINT#F%,jpgq% 425 PRINT#F%,Ioffset% 426 PRINT#F%,header_text% 427 PRINT#F%,pd_auto_lines% 428 PRINT#F%,sstv_time% 429 PRINT#F%,outline_width% 430 PRINT#F%,beacon_on% 431 CLOSE#F% 432 ENDPROC 433 434 DEF PROCset_variables_from_config_file 435 call$=config$(1) 436 clock_freq%=VAL(config$(2)) 437 dir$=config$(3) 438 user_drive$=config$(6) 439 IF INSTR(user_drive$,"::")>0 AND LEN(user_drive$)>6 THEN 440 ud_path%=TRUE 441 ELSE 442 ud_path%=FALSE 443 ENDIF 444 auto_dir$=config$(7) 445 IF config$(8)="Y" THEN X4%=TRUE ELSE X4%=FALSE 446 header_text$=config$(10) 447 cw_id$=config$(11) 448 toneburst_bandwidth%=VAL(config$(12)) 449 serial_base%=EVAL(config$(13)) 450 ENDPROC 451 452 DEF PROCread_config_file(L%) 453 F%=OPENIN("<Pscan$Dir>.Choices.Params") 454 FOR N%=1 TO L% 455 config$(N%)=GET$#F% 456 NEXT 457 CLOSE#F% 458 ENDPROC 459 460 DEF PROCpscan_error_handler 461 CALL reset_t0_code% 462 IF cursor_status%<>99 SYS "OS_Byte",237,cursor_status%,0 463 VDU26,20,4,7:OFF:WAIT:*POINTER 1 464 VDU19,1,24,0,0,0 465 X%=280:Y%=304:W%=720:H%=400:auto_save%=0 466 SYS "Hourglass_Smash" 467 IF file_open% THEN CLOSE#F% 468 PROCraised_block(X%+40,Y%,W%-80,H%-30) 469 GCOL 63 TINT 0:RECTANGLE FILL X%+64,Y%+100,W%-128,H%-240 470 GCOL 64,64,64:RECTANGLE X%+64,Y%+100,W%-128,H%-240 471 GCOL 255,255,255:LINE X%+64,Y%+100,X%+W%-64,Y%+100 472 LINE X%+W%-64,Y%+100,X%+W%-64,Y%+H%-140 473 SYS sprswi%,256+52,spb%,"error",X%+66,Y%+280,8,0,translate% 474 SYS sprswi%,256+52,spb%,"error",X%+570,Y%+280,8,0,translate% 475 PROCwrite2("Error message from Pscan",X%+170,Y%+300,4) 476 PROCraised_block(X%+70,Y%+32,240,40) 477 PROCraised_block(X%+410,Y%+32,240,40) 478 PROCwrite2("Quit to Desktop",X%+410,Y%+36,4) 479 PROCwrite2("Continue",X%+120,Y%+36,4) 480 COLOUR128+63 TINT0:COLOUR 0,0,0 481 R$=REPORT$ 482 IF INSTR(R$,"irectory") dir$=default_dir$ 483 IF INSTR(R$,"isc") dir$=default_dir$ 484 IF INSTR(R$,"ile") dir$=default_dir$ 485 IF INSTR(R$,"rive") dir$=default_dir$ 486 IF INSTR(R$,"andle") dir$=default_dir$ 487 IF INSTR(R$,"iling") dir$=default_dir$ 488 IF dir$=default_dir$ shown_dir$="-" 489 message$=REPORT$+CHR$13+CHR$13+"Internal error code "+STR$(ERL) 490 IF ERR=67782 THEN message$=message$+CHR$13+CHR$13+"You must run Pscan from a hard drive to load or save JPEG files" 491 $err%=message$:err%?(LEN message$)=0 492 IF screen_lines%=512 THEN VDU 28,24,37,55,30 ELSE VDU 28,24,33,55,26 493 SYS "OS_PrettyPrint",err%,0:OFF:WAIT 494 MOUSE RECTANGLE X%+60,Y%+26,W%-124,54 495 IF step%<>0 THEN MOUSE STEP step% 496 497 PROCwait_no_button:REPEAT:K=INKEY(1):UNTIL K=-1 498 REPEAT:MOUSE X,Y,B:K=INKEY(1):UNTIL B<>0 OR K<>-1 499 IF X>680 OR K=13 THEN quit_after_error%=TRUE 500 MOUSE RECTANGLE 0,0,1280,1024 501 IF NOT quit_after_error% THEN VDU26:PROCdisplay_memory 502 ENDPROC 503 504 DEF PROCmouse_control 505 MOUSE ON 1:T=0 506 REPEAT 507 IF NOT quit_after_error% THEN 508 PROCwait_no_button:REPEAT UNTIL INKEY(1)=-1 509 510 REPEAT 511 MOUSE X,Y,B:K$=INKEY$(1) 512 IF K$=CHR$254 THEN 513 GCOL 0,32 TINT0:RECTANGLE FILL 20,700,500,300 514 GCOL 255,255,0:RECTANGLE 20,700,500,300 515 COLOUR 128+32 TINT 0:COLOUR 255,255,255 516 PRINT TAB(4,3)" - Pscan parameters -" 517 PRINT TAB(4,6)" Memory in use = ";INT((END-PAGE)/1024);"k " 518 PRINT TAB(4,8)" Last VIS code = ";VIS% 519 PRINT TAB(4,10)" Ioffset% = ";Ioffset% 520 521 K$="" 522 ENDIF 523 PROCcheck_alt_s_save 524 IF jpeg_info% AND (TIME-T)>300 THEN PROCdismini:jpeg_info%=0 525 IF Y<55 THEN mbox%=X DIV 64 ELSE mbox%=99 526 UNTIL B<>0 OR K$<>"":jpeg_info%=0 527 528 IF K$="" THEN 529 IF B=2 COLOUR 128 TINT 128:CLS:PROCmini_pad 530 IF (B=1 OR B=4) AND Y<55 mbox%=X DIV 64 ELSE mbox%=99 531 IF (B=1 OR B=4) AND Y>54 THEN 532 PROCdisplay_memory:PROCwait_no_button 533 REPEAT:MOUSE x,y,b:UNTIL b=4 OR b=1 534 IF x<10 OR x>1270 OR y<10 OR y>950 THEN PROCscroller 535 PROCmini_pad 536 ENDIF 537 ELSE 538 IF ASC(K$)>96 K$=CHR$(ASC(K$)-32) 539 X=400 540 CASE K$ OF 541 WHEN "C":COLOUR 128 TINT 128:CLS:PROCmini_pad:mbox%=99 542 WHEN "F":mbox%=19 543 WHEN "H":mbox%=22 544 WHEN "M":mbox%=6 545 WHEN "N":mbox%=18 546 WHEN "R":mbox%=10 547 WHEN "T":mbox%=11 548 WHEN "V":mbox%=8 549 WHEN "Q":mbox%=21 550 WHEN "1","2","3","4","5","6","7","8":X=(ASC(K$)-49)*48:mbox%=1 551 OTHERWISE 552 mbox%=99 553 ENDCASE 554 ENDIF 555 556 IF X<384 AND mbox%<>99 THEN PROCmemory_select(X DIV 48,-1) 557 CASE mbox% OF 558 WHEN 6,7:PROCmode_menu 559 WHEN 8,9:PROCvis_start 560 WHEN 10:IF B=1 auto_find%=TRUE ELSE auto_find%=FALSE 561 :PROCrx_sstv(FALSE) 562 WHEN 11:PROCtx_frame(FALSE) 563 WHEN 12:PROCtest_patterns 564 WHEN 13:PROCrgb_processing 565 WHEN 14:PROCtools:IF auto_save% THEN PROCauto_save 566 WHEN 15:PROCbackground_menu 567 WHEN 16:PROCgrab_menu 568 WHEN 17:PROCtext_sprite_overlay_menu 569 WHEN 18:PROCshow_thumbnails 570 WHEN 19:PROCfiler_display:IF jpeg_info% THEN PROCjpeg_info 571 WHEN 22:PROCon_line_manual 572 WHEN 21:PROCqwiktext 573 ENDCASE 574 ELSE 575 BIGQUIT%=TRUE:quit_after_error%=FALSE 576 ENDIF 577 UNTIL BIGQUIT% 578 ENDPROC 579 580 DEF PROCcheck_alt_s_save 581 IF INKEY(-3) AND INKEY(-82) THEN 582 OSCLI("SCREENSAVE "+dir$+".PSscreen"+STR$ mmm%) 583 mmm%+=1 584 ENDIF 585 ENDPROC 586 587 DEF PROCjpeg_info 588 PROCraised_block(400,106,472,100):T=TIME 589 PROCwrite2("JPEG image "+STR$ xs%+" by "+STR$ ys%,456,160,4) 590 IF jpeg_scale% THEN sc$="scaled" ELSE sc$="cropped" 591 PROCwrite2("Loaded and "+sc$+" in "+T$+" secs",394,120,4) 592 ENDPROC 593 594 DEF PROCmemory_select(mem%,dis%) 595 IF mem%<memories% THEN 596 CASE mem% OF 597 WHEN 0:memblock%=mem1% 598 WHEN 1:memblock%=mem2% 599 WHEN 2:memblock%=mem3% 600 WHEN 3:memblock%=mem4% 601 WHEN 4:memblock%=mem5% 602 WHEN 5:memblock%=mem6% 603 WHEN 6:memblock%=mem7% 604 WHEN 7:memblock%=mem8% 605 ENDCASE 606 MEM%=mem%:IF dis% THEN PROCdismini 607 ELSE 608 IF mem%=memories% AND INKEY(-3) THEN 609 SYS "Wimp_SlotSize",-1,-1 TO S% 610 SYS "Wimp_SlotSize",S%+660000,-1 611 CASE (memories%+1) OF 612 WHEN 3:mem3%=himem%+64:memblock%=mem3%:himem%+=660000 613 WHEN 4:mem4%=himem%+64:memblock%=mem4%:himem%+=660000 614 WHEN 5:mem5%=himem%+64:memblock%=mem5%:himem%+=660000 615 WHEN 6:mem6%=himem%+64:memblock%=mem6%:himem%+=660000 616 WHEN 7:mem7%=himem%+64:memblock%=mem7%:himem%+=660000 617 WHEN 8:mem8%=himem%+64:memblock%=mem8%:himem%+=660000 618 ENDCASE 619 memories%+=1:MEM%=mem%:temp_mem_increase%=TRUE:PROCdismini 620 ENDIF 621 ENDIF 622 ENDPROC 623 624 DEF PROCget_drive_number_from_pathname 625 N%=0:drv%=99:REPEAT 626 drv%=ASC(MID$(dir$,N%,1))-48:N%+=1 627 UNTIL drv%=0 OR drv%=1 OR drv%=4 OR drv%=5 OR N%=LEN(dir$) 628 IF drv%<0 OR drv%>5 THEN drv%=4:dir$="ADFS::4.$" 629 ENDPROC 630 631 DEF PROCbackground_menu 632 GCOL3,63 TINT192:RECTANGLE FILL 964,4,52,50 633 REPEAT 634 menu$(0)=" Backgrounds" 635 menu$(2)=" Single gradations>" 636 menu$(3)=" Double gradations>" 637 menu$(4)=" White-blue diagonal" 638 menu$(5)=" White-red diagonal" 639 menu$(6)=" Cyan-magenta diagonal" 640 menu$(7)=" Yellow-magenta diagonal" 641 menu$(8)=" Yellow-red diagonal" 642 menu$(9)=" White-green diagonal" 643 menu$(10)=" Yellow-cyan diagonal" 644 menu$(11)=" Red-blue diagonal" 645 menu$(12)=" Multi diagonal type 1" 646 menu$(13)=" Multi diagonal type 2" 647 menu$(14)=" Plain background" 648 menu$(15)=" Circular gradations>" 649 menu$(16)=" Multi gradations>" 650 menu$(17)=" Segment gradations>" 651 menu$(18)=" Miscellaneous>" 652 IF merge% m$=CHR$128 ELSE m$=" " 653 menu$(19)=m$+" Merge with picture" 654 menu$(20)=" Fade top-to-bottom" 655 menu$(21)="*":PROCmenu(494,90,0) 656 IF menu_box%=19 THEN merge%=NOT(merge%):menu_redraw%=TRUE 657 CASE menu_box% OF 658 WHEN 1:menu_box%=0 659 WHEN 2:PROCsingle_grad_options 660 WHEN 3:PROCdouble_grad_options 661 WHEN 4,5,6,7,8,9,10,11,12,13:PROCdiagonal 662 WHEN 14:PROCplain_background 663 WHEN 15:PROCcircular_gradations 664 WHEN 16:PROCmulti_grad_menu 665 WHEN 17:PROCsegment_menu 666 WHEN 18:PROCmisc_backgrounds 667 WHEN 20:PROCscreen_fade 668 ENDCASE 669 UNTIL menu_box%<>19 AND menu_box%<>99 670 IF merge% AND menu_box%<>0 THEN PROCmerge:merge%=0 671 PROCdismini 672 ENDPROC 673 674 DEF PROCdouble_grad_options 675 menu$(0)="Double grad " 676 menu$(1)="Red-black" 677 menu$(2)="Green-black" 678 menu$(3)="Blue-black" 679 menu$(4)="Red-yellow" 680 menu$(5)="Red-magenta" 681 menu$(6)="Green-cyan" 682 menu$(7)="Yellow-blue" 683 menu$(8)="Yellow-black" 684 menu$(9)="White-black" 685 menu$(10)="*":PROCmenu(0,90,-1) 686 CASE menu_box% OF 687 WHEN 1:PROCdouble_grad_back(255,1,1,-1,0,0) 688 WHEN 2:PROCdouble_grad_back(1,255,1,0,-1,0) 689 WHEN 3:PROCdouble_grad_back(1,1,255,0,0,-1) 690 WHEN 4:PROCdouble_grad_back(255,1,1,0,1,0) 691 WHEN 5:PROCdouble_grad_back(255,1,1,0,0,1) 692 WHEN 6:PROCdouble_grad_back(1,255,1,0,0,1) 693 WHEN 7:PROCdouble_grad_back(255,255,1,-1,-1,1) 694 WHEN 8:PROCdouble_grad_back(255,255,1,-1,-1,0) 695 WHEN 9:PROCdouble_grad_back(255,255,255,-1,-1,-1) 696 ENDCASE 697 ENDPROC 698 699 DEF PROCsingle_grad_options 700 menu$(0)="Single grads " 701 menu$(1)="Black-white" 702 menu$(2)="Black-yellow" 703 menu$(3)="Black-cyan" 704 menu$(4)="Black-green" 705 menu$(5)="Black-magenta" 706 menu$(6)="Black-red" 707 menu$(7)="Black-blue" 708 menu$(8)="*":PROCmenu(0,90,-1) 709 CASE menu_box% OF 710 WHEN 1:PROCsingle_grad_back(0,0,0,1,1,1) 711 WHEN 2:PROCsingle_grad_back(0,0,0,1,1,0) 712 WHEN 3:PROCsingle_grad_back(0,0,0,0,1,1) 713 WHEN 4:PROCsingle_grad_back(0,0,0,0,1,0) 714 WHEN 5:PROCsingle_grad_back(0,0,0,1,0,1) 715 WHEN 6:PROCsingle_grad_back(0,0,0,1,0,0) 716 WHEN 7:PROCsingle_grad_back(0,0,0,0,0,1) 717 ENDCASE 718 ENDPROC 719 720 DEF PROCplain_background 721 PROCrgb_sliders(0):GCOL red%,grn%,blu%:RECTANGLE FILL 0,0,1279,1024 722 IF NOT(merge%) THEN PROCupload_memory 723 ENDPROC 724 725 DEF PROCborder_menu 726 IF menu_box%=6 THEN bh%=1022 ELSE bh%=958 727 REPEAT 728 menu$(0)=" Border options " 729 menu$(1)=" White gradated" 730 menu$(2)=" Yellow gradated" 731 menu$(3)=" Cyan gradated" 732 menu$(4)=" Green gradated" 733 menu$(5)=" Magenta gradated" 734 menu$(6)=" Red gradated" 735 menu$(7)=" Blue gradated" 736 menu$(8)=" Colour selector" 737 menu$(9)=" ---------------" 738 IF border_width%=1 THEN m$=CHR$128 ELSE m$=" " 739 menu$(10)=m$+" Narrow border" 740 IF border_width%=2 THEN m$=CHR$128 ELSE m$=" " 741 menu$(11)=m$+" Medium border" 742 IF border_width%=3 THEN m$=CHR$128 ELSE m$=" " 743 menu$(12)=m$+" Wide border" 744 IF border_grad%=1 THEN m$=CHR$128 ELSE m$=" " 745 menu$(13)=m$+" Gradate to white" 746 IF border_grad%=2 THEN m$=CHR$128 ELSE m$=" " 747 menu$(14)=m$+" Gradate to yellow" 748 IF border_grad%=3 THEN m$=CHR$128 ELSE m$=" " 749 menu$(15)=m$+" Gradate to cyan" 750 IF border_grad%=4 THEN m$=CHR$128 ELSE m$=" " 751 menu$(16)=m$+" Gradate to green" 752 IF border_grad%=5 THEN m$=CHR$128 ELSE m$=" " 753 menu$(17)=m$+" Gradate to magenta" 754 IF border_grad%=6 THEN m$=CHR$128 ELSE m$=" " 755 menu$(18)=m$+" Gradate to red" 756 IF border_grad%=7 THEN m$=CHR$128 ELSE m$=" " 757 menu$(19)=m$+" Gradate to blue" 758 IF border_grad%=8 THEN m$=CHR$128 ELSE m$=" " 759 menu$(20)=m$+" Gradate to black" 760 menu$(21)="*":PROCmenu(0,90,-1) 761 CASE menu_box% OF 762 WHEN 10:border_width%=1 763 WHEN 11:border_width%=2 764 WHEN 12:border_width%=3 765 WHEN 13:border_grad%=1 766 WHEN 14:border_grad%=2 767 WHEN 15:border_grad%=3 768 WHEN 16:border_grad%=4 769 WHEN 17:border_grad%=5 770 WHEN 18:border_grad%=6 771 WHEN 19:border_grad%=7 772 WHEN 20:border_grad%=8 773 ENDCASE 774 UNTIL menu_box%<9 OR menu_box%=99 775 CASE menu_box% OF 776 WHEN 1:r%=255:g%=255:b%=255 777 WHEN 2:r%=255:g%=255:b%=0 778 WHEN 3:r%=0:g%=255:b%=255 779 WHEN 4:r%=0:g%=255:b%=0 780 WHEN 5:r%=255:g%=0:b%=255 781 WHEN 6:r%=255:g%=0:b%=0 782 WHEN 7:r%=0:g%=0:b%=255 783 WHEN 8:PROCrgb_sliders(0):r%=red%:g%=grn%:b%=blu% 784 ENDCASE 785 IF menu_box%<>99 THEN PROCborder(r%,g%,b%) 786 ENDPROC 787 788 DEF PROCmode_menu 789 GCOL3,63 TINT192:RECTANGLE FILL 388,4,116,50 790 REPEAT 791 menu$(0)="SSTV mode select " 792 menu$(2)="Martin 1" 793 menu$(3)="Martin 2" 794 menu$(4)="Scottie 1" 795 menu$(5)="Scottie 2" 796 menu$(6)="Scottie DX" 797 menu$(7)="SC2 180 seconds" 798 menu$(8)="WR180 - JVFAX" 799 menu$(9)="PD 50 (320x256)" 800 menu$(10)="PD 90 (320x256)" 801 menu$(11)="PD 120 (640x496)" 802 menu$(12)="PD 160 (512x384)" 803 menu$(13)="PD 180 (640x496)" 804 menu$(14)="PD 240 (640x496)" 805 menu$(15)="P3 (Pasokon 640x496)" 806 menu$(16)="P5 (Pasokon 640x496)" 807 menu$(17)="P7 (Pasokon 640x496) " 808 menu$(18)="HQ-1 (RX only)" 809 menu$(19)="HQ-2 (RX only)" 810 menu$(20)="Select Martin 1 timings>" 811 menu$(21)="Mono FAX modes>" 812 menu$(22)="Colour FAX modes>" 813 menu$(23)="PD auto-tune control>" 814 menu$(24)="*":PROCmenu(282,90,0) 815 CASE menu_box% OF 816 WHEN 2:mode%=1 817 WHEN 3:mode%=2 818 WHEN 4:mode%=5 819 WHEN 5:mode%=6 820 WHEN 6:mode%=9 821 WHEN 7:mode%=11 822 WHEN 8:mode%=12 823 WHEN 9:mode%=65 824 WHEN 10:mode%=63 825 WHEN 11:mode%=64 826 WHEN 12:mode%=62 827 WHEN 13:mode%=60 828 WHEN 14:mode%=61 829 WHEN 15:mode%=20 830 WHEN 16:mode%=21 831 WHEN 17:mode%=22 832 WHEN 18:mode%=70 833 WHEN 19:mode%=71 834 WHEN 20:PROCselect_martin1_timings 835 WHEN 21:PROCfax_mode_menu 836 WHEN 22:PROCcolour_fax_menu 837 WHEN 23:PROCpd_auto_tune_control 838 ENDCASE 839 UNTIL menu_box%<>99 840 PROCdismini 841 ENDPROC 842 843 DEF PROCselect_martin1_timings 844 REPEAT 845 menu$(0)=" Select Martin 1 timings" 846 IF sstv_time%=1 THEN m$=CHR$128+" " ELSE m$=" " 847 menu$(1)=m$+"Robot or Superscan" 848 IF sstv_time%=2 THEN m$=CHR$128+" " ELSE m$=" " 849 menu$(2)=m$+"WinPix Pro or GSH (DL4SAW)" 850 IF sstv_time%=3 THEN m$=CHR$128+" " ELSE m$=" " 851 menu$(3)=m$+"JVFAX" 852 menu$(4)="*":PROCmenu(0,90,-1) 853 CASE menu_box% OF 854 WHEN 1:sstv_time%=1:mode%=1 855 WHEN 2:sstv_time%=2:mode%=1 856 WHEN 3:sstv_time%=3:mode%=1 857 ENDCASE 858 UNTIL menu_box%=99 859 ENDPROC 860 861 DEF PROCpd_auto_tune_control 862 REPEAT 863 menu$(0)=" PD auto-tune control" 864 IF pd_auto_lines%=8 THEN m$=CHR$128+" " ELSE m$=" " 865 menu$(1)=m$+"Average 8 lines" 866 IF pd_auto_lines%=4 THEN m$=CHR$128+" " ELSE m$=" " 867 menu$(2)=m$+"Average 4 lines" 868 IF pd_auto_lines%=0 THEN m$=CHR$128+" " ELSE m$=" " 869 menu$(3)=m$+"Auto-tune off (FM use)" 870 menu$(4)="*":PROCmenu(0,90,-1) 871 CASE menu_box% OF 872 WHEN 1:pd_auto_lines%=8 873 WHEN 2:pd_auto_lines%=4 874 WHEN 3:pd_auto_lines%=0 875 ENDCASE 876 UNTIL menu_box%=99 877 ENDPROC 878 879 DEF PROCfax_mode_menu 880 REPEAT 881 menu$(0)=" Mono FAX " 882 menu$(1)=" 60 LPM" 883 menu$(2)=" 90 LPM" 884 menu$(3)=" 120 LPM" 885 menu$(4)=" 180 LPM" 886 menu$(5)=" 240 LPM" 887 menu$(6)=" 360 LPM" 888 menu$(7)=" 480 LPM" 889 IF fax_average%=1 THEN m$=CHR$128+" " ELSE m$=" " 890 menu$(8)=m$+"Show every line" 891 IF fax_average%=2 THEN m$=CHR$128+" " ELSE m$=" " 892 menu$(9)=m$+"Average 2 lines " 893 IF fax_average%=3 THEN m$=CHR$128+" " ELSE m$=" " 894 menu$(10)=m$+"Average 3 lines" 895 menu$(11)="*":PROCmenu(0,90,-1) 896 CASE menu_box% OF 897 WHEN 8:fax_average%=1:menu_redraw%=TRUE 898 WHEN 9:fax_average%=2:menu_redraw%=TRUE 899 WHEN 10:fax_average%=3:menu_redraw%=TRUE 900 ENDCASE 901 UNTIL menu_box%<8 OR menu_box%=99 902 IF menu_box%<>99 THEN mode%=menu_box%+99 903 ENDPROC 904 905 DEF PROCcolour_fax_menu 906 menu$(0)="Colour FAX " 907 menu$(1)=" 60 LPM" 908 menu$(2)=" 90 LPM" 909 menu$(3)="120 LPM" 910 menu$(4)="180 LPM" 911 menu$(5)="240 LPM" 912 menu$(6)="360 LPM" 913 menu$(7)="480 LPM" 914 menu$(8)="*":PROCmenu(0,90,-1) 915 IF menu_box%<>99 THEN mode%=menu_box%+119 916 ENDPROC 917 918 DEF PROCwait_no_button 919 LOCAL x%,y%,b%:REPEAT:MOUSE x%,y%,b%:UNTIL b%=0 920 ENDPROC 921 922 DEF FNscreen_address 923 LOCAL IB%(),OB%() 924 DIM IB% 20,OB% 20 925 !IB%=148:IB%!4=150:IB%!8=-1 926 SYS "OS_ReadVduVariables",IB%,OB% 927 =!OB% 928 929 DEF PROCmini_pad 930 IF disp_flag% PROCdisplay_memory:disp_flag%=0 931 GCOL 128,180,180:RECTANGLE FILL 0,0,1280,60 932 GCOL240,240,240:LINE0,60,1280,60 933 FOR X%=4 TO 340 STEP48 934 SYS sprswi%,256+52,spb%,"button",X%,4,0,0,translate% 935 NEXT 936 PROCraised_block(522,10,106,38) 937 PROClarge_buttons(384,2,-1) 938 FOR X%=768 TO 1152 STEP64:PROCbuttons(X%,2,0):NEXT 939 VDU 23,17,7,6,8;8;0;:GCOL32 TINT0:VDU5 940 IF NOT(auto_save%) THEN 941 IF mode%<99 PROCwrite2("VIS",530,12,4) ELSE PROCwrite2("Phase",512,12,4) 942 ELSE 943 PROCwrite2("AUTO",516,12,4) 944 ENDIF 945 GCOL 0,0,0 946 IF mode%<120 THEN 947 MOVE 400,36:PRINT mode$(mode%) 948 ELSE 949 MOVE 400,44:PRINT LEFT$(mode$(mode%),6) 950 MOVE 392,24:PRINT MID$(mode$(mode%),7) 951 ENDIF 952 SYS sprswi%,256+52,spb%,"rgb",838,6,0,0,translate% 953 SYS sprswi%,256+52,spb%,"brush",902,6,0,0,translate% 954 SYS sprswi%,256+52,spb%,"text",1094,6,0,0,translate% 955 SYS sprswi%,256+52,spb%,"tp",774,6,0,0,translate% 956 SYS sprswi%,256+52,spb%,"camera",1030,6,0,0,translate% 957 SYS sprswi%,256+52,spb%,"roller",966,6,0,0,translate% 958 SYS sprswi%,256+52,spb%,"rx",646,4,0,0,translate% 959 SYS sprswi%,256+52,spb%,"tx",710,4,0,0,translate% 960 SYS sprswi%,256+52,spb%,"thumb",1158,6,0,0,translate% 961 SYS sprswi%,256+52,spb%,"filer",1216,4,8,0,translate% 962 XM%=(memories%-1)*48+4 963 M%=1:FOR X%=4 TO XM% STEP48 964 PROCwrite2(STR$ M%,X%,12,4):M%+=1:NEXT 965 GCOL 0,64,0:RECTANGLE FILL 612,24,10,10 966 VDU4:OFF:WAIT:menu_redraw%=TRUE 967 GCOL3,255,255,255:RECTANGLE FILL MEM%*48+6,8,38,44 968 COLOUR128:VDU23,17,7,6,8;8;0; 969 ENDPROC 970 971 DEF PROCbuttons(X,Y,F) 972 GCOL63 TINT192 973 LINE X+4,Y+4,X+4,Y+50:LINE X+4,Y+52,X+56,Y+52 974 GCOL0 TINT0 975 LINE X+4,Y+2,X+56,Y+2:LINE X+56,Y+2,X+56,Y+50 976 IF(F) THEN GCOL42 TINT192:RECTANGLE FILL X+8,Y+8,44,56 977 ENDPROC 978 979 DEF PROClarge_buttons(X,Y,F) 980 GCOL63 TINT192 981 LINE X+4,Y+4,X+4,Y+50:LINE X+4,Y+52,X+120,Y+52 982 GCOL0 TINT0 983 LINE X+4,Y+2,X+120,Y+2:LINE X+120,Y+2,X+120,Y+50 984 IF(F) THEN GCOL255,190,0:RECTANGLE FILL X+6,Y+4,112,46 985 ENDPROC 986 987 DEF PROCmem_assemble 988 DIM mem_code% 64 989 FOR P=0 TO 2 STEP2 990 P%=mem_code% 991 [OPT P 992 .mem_transfer 993 MOV R12,#16384 994 .mts_loop 995 LDMIA R0!,{R1,R3-R11}:STMIA R2!,{R1,R3-R11} 996 SUBS R12,R12,#1:BNE mts_loop 997 MOV PC,R14 998 ]:NEXT 999 ENDPROC 1000 1001 DEF PROCdisplay_memory 1002 A%=memblock%+20:C%=screen%:CALL mem_transfer 1003 ENDPROC 1004 1005 DEF PROCupload_memory 1006 C%=memblock%+20:A%=screen%:CALL mem_transfer 1007 path$(MEM%+1)="X" 1008 ENDPROC 1009 1010 DEF PROCscroller 1011 VDU19,1,24,255,0,255:MOUSE X,Y,B 1012 mid%=!screen%:IF FNhigh_res_mode xy%=2 ELSE xy%=4 1013 REPEAT 1014 IF Y>950 THEN RECTANGLE FILL 0,0,1280,1024 TO 0,xy% 1015 IF Y<10 THEN RECTANGLE FILL 0,0,1280,1024 TO 0,-xy% 1016 IF X>1270 THEN RECTANGLE FILL 0,0,1280,1024 TO xy%,0 1017 IF X<10 THEN RECTANGLE FILL 0,0,1280,1024 TO -xy%,0 1018 K%=INKEY(5) 1019 REPEAT:MOUSE X,Y,B:UNTIL B=4 1020 UNTIL (Y>100 AND Y<923) AND (X>100 AND X<1179) 1021 VDU19,1,24,0,0,0:!screen%=mid% 1022 PROCupload_memory 1023 ENDPROC 1024 1025 DEF FNhigh_res_mode 1026 LOCAL result% 1027 CASE mode% OF 1028 WHEN 1,2,5,6,9,11,12,63,70,71:result%=FALSE 1029 OTHERWISE 1030 result%=TRUE 1031 ENDCASE 1032 =result% 1033 1034 DEF PROCsetup_modes 1035 RESTORE +0 1036 FOR N%=1 TO 12:READ mode$(N%):NEXT 1037 DATA " M-1 "," M-2 "," M-3 "," M-4 "," S-1 "," S-2 "," S-3 "," S-4 " 1038 DATA " S-DX","SC-120","SC-180","WR-180" 1039 FOR N%=100 TO 107:READ mode$(N%):NEXT 1040 DATA "FAX 60","FAX 90","FAX120","FAX180","FAX240" 1041 DATA "FAX360","FAX480","QST480" 1042 FOR N%=120 TO 126:READ mode$(N%):NEXT 1043 mode$(60)="PD-180":mode$(61)="PD-240" 1044 mode$(62)="PD-160":mode$(63)="PD-90" 1045 mode$(64)="PD-120":mode$(65)="PD-50" 1046 mode$(70)=" HQ-1":mode$(71)=" HQ-2" 1047 mode$(20)=" P-3":mode$(21)=" P-5":mode$(22)=" P-7" 1048 DATA "HamCol60 /204","HamCol90 /204" 1049 DATA "HamCol120/204","HamCol180/204","HamCol240/204" 1050 DATA "HamCol360/204","HamCol480/204" 1051 ENDPROC 1052 1053 DEF PROCfont_list_select 1054 REPEAT 1055 PROCprint_font_list 1056 MOUSE RECTANGLE 26,0,1204,888 1057 D%=400:W%=380:PROCwait_no_button 1058 REPEAT:MOUSE X,Y,B:MX%=(X-32)DIV D%:MY%=(956-Y)DIV32 1059 box%=(MX%+1)+(MY%-2)*3 1060 IF box%<=N% OR box%=78 THEN 1061 GCOL 3,63 TINT192:RECTANGLE FILL MX%*D%+32,922-MY%*32,W%,32 1062 REPEAT:MOUSE X,Y,B:MX2%=(X-32)DIV D%:MY2%=(956-Y)DIV32 1063 UNTIL MX2%<>MX% OR MY2%<>MY% OR B=4 1064 RECTANGLE FILL MX%*D%+32,922-MY%*32,W%,32 1065 ENDIF 1066 UNTIL B=4 1067 UNTIL box%<78:MOUSE RECTANGLE 0,0,1280,1024:ORIGIN 0,0 1068 ENDPROC 1069 1070 DEF PROCprint_font_list 1071 ORIGIN 0,32 1072 COLOUR128+32 TINT0:CLS:GCOL255,255,255:RECTANGLE 20,52,1236,892 1073 LINE 422,52,422,896:LINE 822,52,822,896:LINE 20,896,1256,896 1074 COLOUR 255,255,255:PRINT TAB(3,4)"Font list: Last used was " 1075 COLOUR 255,255,0:PRINT TAB(28,4)LEFT$(font$,31);" "; 1076 COLOUR 255,255,255:PRINT"at "; 1077 COLOUR 255,255,0:PRINT;xp%;" / ";yp%; 1078 COLOUR 255,255,255:PRINT" points" 1079 GCOL 128,255,255:RECTANGLE FILL 320,12,600,32:GCOL 0,0,0 1080 VDU5:MOVE 342,36:PRINT"Click on an empty position to abort":VDU4:OFF:WAIT 1081 COLOUR 255,255,0:COLOUR128+32 TINT0:X%=3:Y%=7 1082 FOR J%=0TO77:cat$(J%)="":NEXT:N%=0:shown_dir$="-" 1083 REPEAT 1084 SYS "Font_ListFonts",0,fontlist%,F%,-1 TO,,end% 1085 IF NOT end% THEN 1086 cat$(N%)=$fontlist%:PRINT TAB(X%,Y%)LEFT$(cat$(N%),23) 1087 F%+=1:N%+=1:X%+=25:IF X%>54 THEN X%=3:Y%+=2 1088 ENDIF 1089 UNTIL N%=77 OR end%=TRUE 1090 IF NOT end% THEN COLOUR 255,255,255:PRINT TAB(54,57)"[ NEXT FONT PAGE ]" 1091 ENDPROC 1092 1093 DEF PROCtext_sprite_overlay_menu 1094 GCOL3,63 TINT192:RECTANGLE FILL 1092,4,52,50 1095 REPEAT 1096 menu$(0)="Text & sprite overlays" 1097 menu$(2)="QwikText options>" 1098 menu$(3)="QwikText display" 1099 menu$(4)="------------------" 1100 menu$(5)="Select text colour>" 1101 menu$(6)="Select text outline>" 1102 menu$(7)="Select text shadow>" 1103 menu$(8)="Create text overlay" 1104 menu$(9)="Grab screen ellipse" 1105 menu$(10)="Grab screen rectangle" 1106 menu$(11)="Text mask options>" 1107 menu$(12)="Sprite overlay outline>" 1108 menu$(13)="------------------" 1109 IF text% THEN menu$(16)="Display '"+LEFT$(text1$,12)+"'" ELSE menu$(16)="{no text or overlay}" 1110 IF overlay% THEN menu$(16)="Display '"+sprite_name$+"'" 1111 IF overlay% THEN 1112 menu$(14)="Tile '"+sprite_name$+"'" 1113 menu$(15)="Save '"+sprite_name$+"'>" 1114 ELSE 1115 menu$(14)="{no sprite loaded}" 1116 menu$(15)="{no sprite loaded}" 1117 ENDIF 1118 menu$(17)="*":PROCmenu(494,90,0) 1119 CASE menu_box% OF 1120 WHEN 2:PROCqwiktext_menu 1121 WHEN 3:PROCqwiktext 1122 WHEN 5:PROCtext_colour_menu 1123 WHEN 6:PROCtext_outline_menu:menu_box%=6 1124 WHEN 7:PROCtext_shadow_menu 1125 WHEN 8:PROCfont_text(0):menu_box%=8 1126 WHEN 9:PROCgrab_screen_ellipse:menu_box%=1 1127 WHEN 10:PROCgrab_screen_rectangle:menu_box%=1 1128 WHEN 11:PROCtext_mask_menu 1129 WHEN 12:PROCoverlay_outline:menu_box%=8 1130 WHEN 14:IF overlay% THEN PROCtiled_sprite_background 1131 WHEN 16:IF (text% OR overlay%) THEN PROCdisplay_text 1132 WHEN 15:IF overlay% THEN 1133 st2$=save_type$:save_type$="overlay" 1134 PROCfiler_display:save_type$=st2$ 1135 ENDIF 1136 ENDCASE 1137 UNTIL menu_box%=1 OR menu_box%=3 OR (menu_box%>13 AND menu_box%<17) 1138 IF menu_box%<>15 PROCdismini 1139 ENDPROC 1140 1141 DEF PROCqwiktext_menu 1142 REPEAT 1143 menu$(0)="QwikText options" 1144 menu$(1)="White text" 1145 menu$(2)="Yellow text" 1146 menu$(3)="Cyan text" 1147 menu$(4)="Green text" 1148 menu$(5)="Magenta text" 1149 menu$(6)="Red text" 1150 menu$(7)="Blue text" 1151 menu$(8)="Black text" 1152 menu$(9)=" -----------" 1153 menu$(10)="White block" 1154 menu$(11)="Yellow block" 1155 menu$(12)="Cyan block" 1156 menu$(13)="Green block" 1157 menu$(14)="Magenta block" 1158 menu$(15)="Red block" 1159 menu$(16)="Blue block" 1160 menu$(17)="Black block" 1161 menu$(18)="Transparent" 1162 FOR N%=1 TO 8 1163 IF N%=qwiktext_colour% m$=CHR$128 ELSE m$=" " 1164 menu$(N%)=m$+" "+menu$(N%):NEXT 1165 FOR N%=10 TO 18 1166 IF N%=qwiktext_block% m$=CHR$128 ELSE m$=" " 1167 menu$(N%)=m$+" "+menu$(N%):NEXT 1168 menu$(19)="*":PROCmenu(0,90,-1) 1169 CASE menu_box% OF 1170 WHEN 1,2,3,4,5,6,7,8:qwiktext_colour%=menu_box% 1171 WHEN 10,11,12,13,14,15,16,17,18:qwiktext_block%=menu_box% 1172 ENDCASE 1173 UNTIL menu_box%=99 1174 ENDPROC 1175 1176 DEF PROCoverlay_outline 1177 menu$(0)="Overlay outline " 1178 menu$(1)="White outline" 1179 menu$(2)="Yellow outline" 1180 menu$(3)="Cyan outline" 1181 menu$(4)="Green outline" 1182 menu$(5)="Magenta outline" 1183 menu$(6)="Red outline" 1184 menu$(7)="Blue outline" 1185 menu$(8)="Black outline" 1186 menu$(9)="Colour selector" 1187 menu$(10)="Soft multiple shadow" 1188 menu$(11)="Single shadow - close" 1189 menu$(12)="Single shadow - wide" 1190 menu$(13)="No outline or shadow" 1191 menu$(14)="*":PROCmenu(0,90,-1) 1192 overlay_outline%=TRUE 1193 CASE menu_box% OF 1194 WHEN 1:OOC%=&7FFF 1195 WHEN 2:OOC%=&03FF 1196 WHEN 3:OOC%=&7FE0 1197 WHEN 4:OOC%=&03E0 1198 WHEN 5:OOC%=&7C1F 1199 WHEN 6:OOC%=&001F 1200 WHEN 7:OOC%=&7C00 1201 WHEN 8:OOC%=&0000 1202 WHEN 9:PROCrgb_sliders(0):OOC%=RGB% 1203 WHEN 10:OOC%=1 1204 WHEN 11:OOC%=2 1205 WHEN 12:OOC%=3 1206 WHEN 13:overlay_outline%=0 1207 ENDCASE 1208 ENDPROC 1209 1210 DEF PROCtext_shadow_menu 1211 menu$(0)="Text shadow " 1212 menu$(1)="Solid drop shadow" 1213 menu$(2)="Gradated shadow" 1214 menu$(3)="Soft multiple shadow" 1215 menu$(4)="Single shadow - close" 1216 menu$(5)="Single shadow - wide" 1217 menu$(6)="Grey block shadow" 1218 menu$(7)="Yellow block shadow" 1219 menu$(8)="Cyan block shadow" 1220 menu$(9)="Green block shadow" 1221 menu$(10)="Magenta block shadow" 1222 menu$(11)="Red block shadow" 1223 menu$(12)="Blue block shadow" 1224 menu$(13)="Solid letter effect" 1225 menu$(14)="No shadow" 1226 menu$(15)="*":PROCmenu(0,90,-1) 1227 CASE menu_box% OF 1228 WHEN 1,2:PROCrgb_sliders(0):SC%=RGB% 1229 WHEN 3:real_shadow1%=1:shadow%=0:text_block_shadow%=0 1230 WHEN 4:real_shadow1%=2:shadow%=0:text_block_shadow%=0 1231 WHEN 5:real_shadow1%=3:shadow%=0:text_block_shadow%=0 1232 WHEN 6:!shadow_flag=0:!clear_mask=%01000010000100000100001000010000 1233 WHEN 7:!shadow_flag=1:!clear_mask=%01111100000000000111110000000000 1234 WHEN 8:!shadow_flag=1:!clear_mask=%00000000000111110000000000011111 1235 WHEN 9:!shadow_flag=1:!clear_mask=%01111100000111110111110000011111 1236 WHEN 10:!shadow_flag=1:!clear_mask=%00000011111000000000001111100000 1237 WHEN 11:!shadow_flag=1:!clear_mask=%01111111111000000111111111100000 1238 WHEN 12:!shadow_flag=1:!clear_mask=%00000011111111110000001111111111 1239 WHEN 13:SC%=0:text_block_shadow%=0:shadow%=0:real_shadow1%=0 1240 WHEN 14:SC%=0:text_block_shadow%=0:shadow%=0:real_shadow1%=0 1241 ENDCASE 1242 IF menu_box%<3 THEN shadow%=TRUE:text_block_shadow%=0:real_shadow1%=0 1243 IF menu_box%>5 AND menu_box%<13 THEN text_block_shadow%=TRUE:outline_width%=0:shadow%=0:real_shadow1%=0 1244 IF menu_box%=2 THEN grad%=TRUE ELSE grad%=0 1245 IF menu_box%=13 THEN solid%=TRUE ELSE solid%=0 1246 menu_box%=99 1247 ENDPROC 1248 1249 DEF PROCtext_colour_menu 1250 menu$(0)="Text colour " 1251 menu$(1)="Plain WHITE text" 1252 menu$(2)="Plain YELLOW text" 1253 menu$(3)="Plain CYAN text" 1254 menu$(4)="Plain GREEN text" 1255 menu$(5)="Plain MAGENTA text" 1256 menu$(6)="Plain RED text" 1257 menu$(7)="Plain BLUE text" 1258 menu$(8)="Plain BLACK text" 1259 menu$(9)="Grad YELLOW to RED" 1260 menu$(10)="Grad YELLOW to GREEN" 1261 menu$(11)="Grad CYAN to GREEN" 1262 menu$(12)="Grad CYAN to BLUE" 1263 menu$(13)="Grad MAGENTA to RED" 1264 menu$(14)="Grad MAGENTA to BLUE" 1265 menu$(15)="Grad WHITE to MAGENTA" 1266 menu$(16)="Grad WHITE to RED" 1267 menu$(17)="Grad WHITE to BLUE" 1268 menu$(18)="Grad RED to WHITE" 1269 menu$(19)="Grad GREEN to WHITE" 1270 menu$(20)="Grad BLUE to WHITE" 1271 menu$(21)="Colour selector" 1272 menu$(22)="*":PROCmenu(0,90,-1) 1273 CASE menu_box% OF 1274 WHEN 1:TC%=&7FFF:TD%=0:TL%=0 1275 WHEN 2:TC%=&03FF:TD%=0:TL%=0 1276 WHEN 3:TC%=&7FE0:TD%=0:TL%=0 1277 WHEN 4:TC%=&03E0:TD%=0:TL%=0 1278 WHEN 5:TC%=&7C1F:TD%=0:TL%=0 1279 WHEN 6:TC%=&001F:TD%=0:TL%=0 1280 WHEN 7:TC%=&7C00:TD%=0:TL%=0 1281 WHEN 8:TC%=&0000:TD%=0:TL%=0 1282 WHEN 9:TC%=&03FF:TD%=32:TL%=31 1283 WHEN 10:TC%=&03FF:TD%=1:TL%=992 1284 WHEN 11:TC%=&7FE0:TD%=1024:TL%=992 1285 WHEN 12:TC%=&7FE0:TD%=32:TL%=31744 1286 WHEN 13:TC%=&7C1F:TD%=1024:TL%=31 1287 WHEN 14:TC%=&7C1F:TD%=1:TL%=31744 1288 WHEN 15:TC%=&7FFF:TD%=32:TL%=31775 1289 WHEN 16:TC%=&7FFF:TD%=1056:TL%=31 1290 WHEN 17:TC%=&7FFF:TD%=33:TL%=31744 1291 WHEN 18:TC%=31:TD%=1056:TL%=&7FFF:REM First incremented gradation 1292 WHEN 19:TC%=&03E0:TD%=&401:TL%=&7FFF 1293 WHEN 20:TC%=&7C00:TD%=33:TL%=&7FFF 1294 WHEN 21:PROCrgb_sliders(0):TC%=RGB%:TD%=0:TL%=0 1295 ENDCASE 1296 IF menu_box%<18 OR menu_box%=21 OR menu_box%=99 THEN 1297 col_idec%=0 1298 ELSE 1299 col_idec%=1 1300 ENDIF 1301 menu_box%=99 1302 ENDPROC 1303 1304 DEF PROCtext_outline_menu 1305 REPEAT 1306 menu$(0)=" Text outline " 1307 IF text_out_col%=&7FFF AND outline_width%>0 m$=CHR$128+" " ELSE m$=" " 1308 menu$(1)=m$+"White outline" 1309 IF text_out_col%=&03FF AND outline_width%>0 m$=CHR$128+" " ELSE m$=" " 1310 menu$(2)=m$+"Yellow outline" 1311 IF text_out_col%=&7FE0 AND outline_width%>0 m$=CHR$128+" " ELSE m$=" " 1312 menu$(3)=m$+"Cyan outline" 1313 IF text_out_col%=&03E0 AND outline_width%>0 m$=CHR$128+" " ELSE m$=" " 1314 menu$(4)=m$+"Green outline" 1315 IF text_out_col%=&7C1F AND outline_width%>0 m$=CHR$128+" " ELSE m$=" " 1316 menu$(5)=m$+"Magenta outline" 1317 IF text_out_col%=&001F AND outline_width%>0 m$=CHR$128+" " ELSE m$=" " 1318 menu$(6)=m$+"Red outline" 1319 IF text_out_col%=&7C00 AND outline_width%>0 m$=CHR$128+" " ELSE m$=" " 1320 menu$(7)=m$+"Blue outline" 1321 IF text_out_col%=&0000 AND outline_width%>0 m$=CHR$128+" " ELSE m$=" " 1322 menu$(8)=m$+"Black outline" 1323 menu$(9)=" Colour selector" 1324 menu$(10)=" ----------------" 1325 IF outline_width%=1 m$=CHR$128+" " ELSE m$=" " 1326 menu$(11)=m$+"Narrow outline" 1327 IF outline_width%=2 m$=CHR$128+" " ELSE m$=" " 1328 menu$(12)=m$+"Wide outline" 1329 IF outline_width%=3 m$=CHR$128+" " ELSE m$=" " 1330 menu$(13)=m$+"Relief outline" 1331 IF outline_width%=0 m$=CHR$128+" " ELSE m$=" " 1332 menu$(14)=m$+"No outline" 1333 menu$(15)="*":PROCmenu(0,90,-1) 1334 CASE menu_box% OF 1335 WHEN 1:text_out_col%=&7FFF 1336 WHEN 2:text_out_col%=&03FF 1337 WHEN 3:text_out_col%=&7FE0 1338 WHEN 4:text_out_col%=&03E0 1339 WHEN 5:text_out_col%=&7C1F 1340 WHEN 6:text_out_col%=&001F 1341 WHEN 7:text_out_col%=&7C00 1342 WHEN 8:text_out_col%=&0000 1343 WHEN 9:PROCrgb_sliders(0):text_out_col%=RGB% 1344 WHEN 11:outline_width%=1 1345 WHEN 12:outline_width%=2 1346 WHEN 13:outline_width%=3 1347 WHEN 14:outline_width%=0 1348 ENDCASE 1349 UNTIL menu_box%=9 OR menu_box%=99 1350 ENDPROC 1351 1352 DEF PROCfont_text(mask_flag%) 1353 F%=0 1354 REPEAT:PROCfont_list_select:UNTIL box%<78 OR end%=TRUE 1355 font$=cat$(box%-1) 1356 IF font$<>"" THEN 1357 CLS:GCOL255,255,255:LINE 0,400,1280,400:overlay%=0 1358 ON:COLOUR255,255,0:PRINT TAB(1,40)"Font chosen is : "font$ 1359 COLOUR255,255,255:INPUT LINE''" Enter caption line 1 : "text1$ 1360 IF text1$="" THEN text1$=call$:PRINT TAB(24,43)text1$ 1361 INPUT LINE'" Enter caption line 2 : "text2$ 1362 INPUT''" Enter X point size : "xp% 1363 IF xp%<10 OR xp%>200 THEN xp%=64:PRINT TAB(24,48);xp%;" " 1364 INPUT''" Enter Y point size : "yp% 1365 IF yp%<10 OR yp%>400 THEN yp%=xp%:PRINT TAB(24,51);yp%;" " 1366 IF NOT mask_flag% THEN 1367 INPUT''" Horiz or Vert (H/V) : "hv$ 1368 CLS:OFF:WAIT:transform%=TRUE:hv2$=hv$ 1369 IF hv$="V" OR hv$="v" THEN 1370 PROCvertical_write(font$,text1$,16,840,xp%,yp%,1) 1371 hv$="V":transform%=0 1372 ELSE 1373 PROCplot_text 1374 ENDIF 1375 OFF:WAIT 1376 PROCgrab_text:IF transform% THEN PROCtransform_text 1377 PROCdismini 1378 ENDIF 1379 ENDIF:OFF:WAIT 1380 IF font$="" AND NOT mask_flag% THEN PROCdismini ELSE text%=TRUE 1381 ENDPROC 1382 1383 DEF PROCplot_text 1384 IF text2$="" THEN 1385 PROCwrite(font$,text1$,16,556,xp%,yp%,1) 1386 ELSE 1387 IF font%<>-1 SYS "Font_LoseFont",font% 1388 SYS "Font_FindFont",,font$,xp%*16,yp%*16 TO font% 1389 SYS "Font_CharBBox",font%,ASC"A",16 TO,,,r3%,r4% 1390 PROCwrite(font$,text1$,16,650,xp%,yp%,1) 1391 PROCwrite(font$,text2$,16,650-r4%-32,xp%,yp%,1) 1392 Ymax%=r4%+24:hv$="V" 1393 ENDIF 1394 ENDPROC 1395 1396 DEF PROCtransform_text 1397 mul=65536:a=1:b=0:c=0:d=1:e=0:f=0:try%=0:xp_start%=xp%:yp_start%=yp% 1398 ORIGIN 0,0:GCOL 0,0,136:RECTANGLE FILL 0,0,1280,1024 1399 REPEAT 1400 IF try% ORIGIN 0,0:GCOL 0,0,136:RECTANGLE FILL 0,0,1280,1024 1401 PROCplot_text:PROCgrab_text 1402 Y1%=1040-((S%-screen%)/1280)*2 1403 Y2%=1000-((E%-screen%)/1280)*2 1404 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 1405 SYS sprswi%,256+16,spr%,"t",0,0,Y2%,W%+12,Y1% 1406 REPEAT:ORIGIN 0,0:GCOL 0,0,136:RECTANGLE FILL 0,0,1280,1024 1407 GCOL 200,200,200:RECTANGLE FILL 0,0,1280,370 1408 PROCraised_block(784,16,448,342) 1409 GCOL 255,180,100:RECTANGLE FILL 784,320,444,38 1410 SYS sprswi%,256+52,spb%,"sh_l",1020,260,8,0,translate% 1411 SYS sprswi%,256+52,spb%,"sh_r",1130,260,8,0,translate% 1412 SYS sprswi%,256+52,spb%,"sh_u",1020,200,8,0,translate% 1413 SYS sprswi%,256+52,spb%,"sh_d",1130,200,8,0,translate% 1414 SYS sprswi%,256+52,spb%,"up2",1084,156,8,0,translate% 1415 SYS sprswi%,256+52,spb%,"left",1040,120,8,0,translate% 1416 SYS sprswi%,256+52,spb%,"right",1130,120,8,0,translate% 1417 SYS sprswi%,256+52,spb%,"down",1084,82,8,0,translate% 1418 SYS sprswi%,256+52,spb%,"left",810,220,8,0,translate% 1419 SYS sprswi%,256+52,spb%,"right",930,220,8,0,translate% 1420 SYS sprswi%,256+52,spb%,"left",810,100,8,0,translate% 1421 SYS sprswi%,256+52,spb%,"right",930,100,8,0,translate% 1422 PROCshow_point_sizes 1423 PROCwrite2("x/y point",812,272,4) 1424 PROCwrite2("y point",828,152,4) 1425 PROCraised_block(808,32,120,32) 1426 PROCraised_block(948,32,120,32) 1427 PROCraised_block(1088,32,120,32) 1428 PROCwrite2("UNDO",822,32,4) 1429 PROCwrite2("TRY",970,32,4) 1430 PROCwrite2("OK",1116,32,4) 1431 PROCwrite2(" Re-size Transform",800,324,4) 1432 PROCwrite2("Do not allow transformation process to move",50,324,4) 1433 PROCwrite2("caption into this grey area.",50,284,4) 1434 PROCwrite2("Click adjust on the 'compass points'",50,220,4) 1435 PROCwrite2("to re-position caption if necessary.",50,180,4) 1436 PROCwrite2("Click OK or press <return> to finish.",50,120,4) 1437 1438 GCOL 0,0,0:LINE 988,86,988,294 1439 GCOL 255,255,255:LINE 992,86,992,294 1440 MOUSE RECTANGLE 784,16,448,338 1441 ORIGIN 0,500:quit%=0:reset%=0:try%=0 1442 REPEAT 1443 tran%!0=a*mul:tran%!4=b*mul 1444 tran%!8=c*mul:tran%!12=d*mul 1445 tran%!16=e*mul:tran%!20=f*mul 1446 SYS sprswi%,256+56,spr%,"t",%00,,8,tran%:OFF:WAIT 1447 REPEAT:MOUSE X,Y,B:K=INKEY(5):UNTIL B<>0 OR K=13 1448 point_button$="" 1449 1450 IF B=4 OR B=1 THEN 1451 1452 IF ABS(X-830)<28 AND ABS(Y--260)<28 point_button$="xm" 1453 IF ABS(X-942)<28 AND ABS(Y--260)<28 point_button$="xp" 1454 IF ABS(X-830)<28 AND ABS(Y--380)<28 point_button$="ym" 1455 IF ABS(X-942)<28 AND ABS(Y--380)<28 point_button$="yp" 1456 1457 IF ABS(X-868)<60 AND ABS(Y--450)<24 THEN reset%=TRUE 1458 IF ABS(X-1008)<60 AND ABS(Y--450)<24 THEN try%=TRUE 1459 IF ABS(X-1148)<60 AND ABS(Y--450)<24 THEN quit%=TRUE 1460 IF ABS(X-1044)<28 AND ABS(Y--218)<28 THEN c-=0.01 1461 IF ABS(X-1044)<28 AND ABS(Y--278)<28 THEN b+=0.01 1462 IF ABS(X-1156)<28 AND ABS(Y--218)<28 THEN c+=0.01 1463 IF ABS(X-1156)<28 AND ABS(Y--278)<28 THEN b-=0.01 1464 ENDIF 1465 1466 IF point_button$<>"" OR reset% THEN 1467 CASE point_button$ OF 1468 WHEN "xm":IF xp%>10 xp%-=2:yp%-=2 1469 WHEN "xp":IF xp%<200 xp%+=2:yp%+=2 1470 WHEN "ym":IF yp%>10 yp%-=2 1471 WHEN "yp":IF yp%<200 yp%+=2 1472 ENDCASE 1473 IF reset% xp%=xp_start%:yp%=yp_start% 1474 ORIGIN 0,0 1475 GCOL 32 TINT0:RECTANGLE FILL 0,372,1280,660 1476 PROCplot_text:PROCgrab_text 1477 Y1%=1040-((S%-screen%)/1280)*2 1478 Y2%=1000-((E%-screen%)/1280)*2 1479 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 1480 SYS sprswi%,256+16,spr%,"t",0,0,Y2%,W%+12,Y1% 1481 RECTANGLE FILL 0,372,1280,660 1482 PROCshow_point_sizes 1483 ORIGIN 0,500 1484 ENDIF 1485 1486 IF ABS(X-1100)<20 AND ABS(Y--330)<20 THEN 1487 IF B=1 THEN f+=0.02 ELSE d+=0.02 1488 ENDIF 1489 IF ABS(X-1100)<20 AND ABS(Y--394)<20 THEN 1490 IF B=1 THEN f-=0.02 ELSE d-=0.02 1491 ENDIF 1492 IF ABS(X-1056)<20 AND ABS(Y--362)<20 THEN 1493 IF B=1 THEN e-=0.02 ELSE a-=0.02 1494 ENDIF 1495 IF ABS(X-1140)<20 AND ABS(Y--362)<20 THEN 1496 IF B=1 THEN e+=0.02 ELSE a+=0.02 1497 ENDIF 1498 1499 IF K=13 THEN quit%=TRUE 1500 K=INKEY(1):WAIT 1501 IF reset% THEN PROCwait_no_button:mul=65536:a=1:b=0:c=0:d=1:e=0:f=0:try%=0 1502 UNTIL quit% OR reset% OR try% 1503 UNTIL quit% OR try% 1504 IF b<0 THEN shad$="BL" ELSE shad$="BR" 1505 ORIGIN 0,0 1506 PROCgrab_text 1507 IF try% THEN PROCdisplay_text 1508 IF B=4 THEN try%=0:menu_box%=1 1509 UNTIL NOT try% 1510 ORIGIN 0,0:MOUSE RECTANGLE 0,0,1280,1024 1511 ENDPROC 1512 1513 DEF PROCshow_point_sizes 1514 GCOL 255,255,255 1515 RECTANGLE FILL 856,218,68,40:RECTANGLE FILL 856,98,68,40 1516 xp$=STR$ xp%:yp$=STR$ yp% 1517 IF LEN xp$<3 xp$=" "+xp$ 1518 IF LEN yp$<3 yp$=" "+yp$ 1519 PROCwrite2(xp$,854,222,0):PROCwrite2(yp$,854,102,0) 1520 ENDPROC 1521 1522 DEF PROCgreyscale32 1523 g%=0:FOR X%=0 TO 1240 STEP40:GCOL g%,g%,g% 1524 RECTANGLE FILL X%,0,40,1024:g%+=8:NEXT 1525 PROCupmini 1526 ENDPROC 1527 1528 DEF PROCtopscale(s%) 1529 IF s%<>2 THEN PROCdisplay_memory 1530 IF s%=1 THEN Y%=0 ELSE Y%=960 1531 ORIGIN 0,0:g%=0:FOR X%=0 TO 1200 STEP80:GCOL g%,g%,g% 1532 RECTANGLE FILL X%,Y%,80,1024:g%+=16:NEXT 1533 IF s%<>2 THEN PROCupmini 1534 ENDPROC 1535 1536 DEF PROCtopscale2(s%) 1537 IF s%<>2 THEN PROCdisplay_memory 1538 GCOL 48,48,184:RECTANGLE FILL 0,988,200,44 1539 IF s%<>1 THEN 1540 GCOL 255,255,255:RECTANGLE FILL 0,960,200,26 1541 GCOL 255,0,0:RECTANGLE FILL 8,964,60,18 1542 GCOL 0,255,0:RECTANGLE FILL 68,964,62,18 1543 GCOL 0,0,255:RECTANGLE FILL 128,964,62,18 1544 ENDIF 1545 IF s%=1 THEN Y%=988 ELSE Y%=960 1546 ORIGIN 0,0:g%=0:FOR X=200 TO 1212.5 STEP67.5:GCOL g%,g%,g% 1547 RECTANGLE FILL X,Y%,68,64:g%+=16:NEXT 1548 IF s%<>2 THEN PROCupmini 1549 ENDPROC 1550 1551 DEF PROCtools 1552 GCOL3,63 TINT192:RECTANGLE FILL 900,4,52,50 1553 REPEAT 1554 menu$(0)=" Tools and utilities" 1555 menu$(2)=" Repair QRM" 1556 menu$(3)=" Flood fill" 1557 menu$(4)=" Paintbrush" 1558 menu$(5)=" Paint with sprite" 1559 menu$(6)=" Cloning brush" 1560 menu$(7)=" Grad border - full>" 1561 menu$(8)=" Grad border - 480>" 1562 menu$(9)=" Pipe border - full>" 1563 menu$(10)=" Pipe border - 480>" 1564 menu$(11)=" TX test tones>" 1565 IF auto_save% THEN m$=CHR$128+" " ELSE m$=" " 1566 menu$(12)=m$+"Auto save mode" 1567 IF X4% THEN m$=CHR$128+" " ELSE m$=" " 1568 menu$(13)=m$+"TX tone X4 mode" 1569 IF bypass% THEN m$=CHR$128+" " ELSE m$=" " 1570 menu$(14)=m$+"Bypass save check" 1571 menu$(15)=" On-line manual" 1572 menu$(16)=" Repeater mode" 1573 IF beacon_on% THEN m$=CHR$128+" " ELSE m$=" " 1574 menu$(17)=m$+"Repeater beacon" 1575 IF call$="G3SID" OR call$="G0WYR" THEN 1576 IF call$="G3SID" THEN c$="G0WYR" ELSE c$="G3SID" 1577 menu$(18)=" Set callsign to "+c$ 1578 menu$(19)="*" 1579 ELSE 1580 menu$(18)="*" 1581 ENDIF 1582 PROCmenu(494,90,0) 1583 CASE menu_box% OF 1584 WHEN 1:PROCdismini 1585 WHEN 2:PROCrepairQRM 1586 WHEN 3:PROCflood_fill 1587 WHEN 4:PROCpaintbrush 1588 WHEN 5:PROCpaint_with_sprite 1589 WHEN 6:PROCcloning_brush(16) 1590 WHEN 7,8:PROCborder_menu 1591 WHEN 9,10:PROCpipe_border_menu(menu_box%) 1592 WHEN 11:PROCtx_test_tone_menu:menu_box%=11 1593 WHEN 12:auto_save%=NOT(auto_save%):menu_redraw%=TRUE 1594 WHEN 13:X4%=NOT(X4%):PROCtx_params_setup:menu_redraw%=TRUE 1595 WHEN 14:bypass%=NOT(bypass%):menu_redraw%=TRUE 1596 WHEN 15:PROCon_line_manual 1597 WHEN 16:PROCrepeater_control 1598 WHEN 17:beacon_on%=NOT(beacon_on%):menu_redraw%=TRUE 1599 WHEN 18:IF call$="G3SID" THEN call$="G0WYR" ELSE call$="G3SID" 1600 IF call$="G0WYR" THEN 1601 OSCLI("LOAD <Pscan$Dir>.Resources.G0WYR.PscanTX "+STR$~tx_code%) 1602 ELSE 1603 OSCLI("LOAD <Pscan$Dir>.Resources.PscanTX "+STR$~tx_code%) 1604 ENDIF 1605 PROCdismini 1606 ENDCASE 1607 UNTIL (menu_box%<11 OR menu_box%>14) AND menu_box%<>17 AND menu_box%<>99 1608 ENDPROC 1609 1610 DEF PROCtx_test_tone_menu 1611 REPEAT 1612 menu$(0)="TX test tones" 1613 N=1:FOR F=1000 TO 1700 STEP100:menu$(N)=STR$ F+" Hz":N+=1:NEXT 1614 menu$(9)="1750 Hz" 1615 N=10:FOR F=1800 TO 2400 STEP100:menu$(N)=STR$ F+" Hz":N+=1:NEXT 1616 menu$(17)="*":PROCmenu(0,90,-1) 1617 CASE menu_box% OF 1618 WHEN 1,2,3,4,5,6,7,8:PROCtx_test_tone(900+menu_box%*100) 1619 WHEN 9:PROCtx_test_tone(1750) 1620 WHEN 10,11,12,13,14,15,16:PROCtx_test_tone(1800+(menu_box%-10)*100) 1621 ENDCASE 1622 UNTIL menu_box%=99 1623 ENDPROC 1624 1625 DEF PROCgrab_menu 1626 GCOL3,63 TINT192:RECTANGLE FILL 1028,4,52,50 1627 REPEAT 1628 menu$(0)=" Grab screen area" 1629 menu$(2)=" Grab screen area" 1630 menu$(3)=" Grab entire screen" 1631 IF plot_border%=1 t$=CHR$128+" " ELSE t$=" " 1632 menu$(4)=t$+"Plinth options>" 1633 IF plot_border%=2 t$=CHR$128+" " ELSE t$=" " 1634 menu$(5)=t$+"Border options>" 1635 IF plot_shadow% t$=CHR$128+" " ELSE t$=" " 1636 menu$(6)=t$+"Shadow options>" 1637 menu$(7)=" Quad display" 1638 menu$(8)=" Quad border>" 1639 menu$(9)=" Plot entire screen" 1640 menu$(10)=" Plot area - flipped" 1641 menu$(11)=" Plot area - normal" 1642 menu$(12)="*":PROCmenu(494,90,0) 1643 CASE menu_box% OF 1644 WHEN 1:PROCdismini 1645 WHEN 2:PROCgrab_rectangle(0) 1646 WHEN 3:PROCgrab_rectangle(-1):entire%=TRUE 1647 WHEN 4:PROCplot_border_menu:menu_box%=4:menu_redraw%=TRUE 1648 WHEN 5:PROCplot_border97_menu:menu_box%=5:menu_redraw%=TRUE 1649 WHEN 6:PROCplot_shadow_menu:menu_box%=6:menu_redraw%=TRUE 1650 WHEN 7:PROCquad_display 1651 WHEN 8:PROCquad_border_menu 1652 ENDCASE 1653 IF menu_box%=9 THEN 1654 IF entire% THEN PROCplot_grabbed_area(1) ELSE menu_box%=4 1655 ENDIF 1656 IF menu_box%=10 THEN PROCplot_grabbed_area(-1) 1657 IF menu_box%=11 THEN PROCplot_grabbed_area(0) 1658 UNTIL menu_box%<>4 AND menu_box%<>5 AND menu_box%<>6 AND menu_box%<>99 1659 IF menu_box%=3 THEN entire%=TRUE 1660 IF menu_box%=2 THEN entire%=0 1661 ENDPROC 1662 1663 DEF PROCplot_shadow_menu 1664 menu$(0)="Plot shadow options" 1665 menu$(1)="Real shadow effect" 1666 menu$(2)="No shadow" 1667 menu$(3)="*":PROCmenu(0,90,-1) 1668 IF menu_box%=1 THEN plot_shadow%=1 1669 IF menu_box%=2 THEN plot_shadow%=0 1670 ENDPROC 1671 1672 DEF PROCplot_border97_menu 1673 menu$(0)="Border options " 1674 menu$(1)="White" 1675 menu$(2)="Yellow" 1676 menu$(3)="Cyan" 1677 menu$(4)="Green" 1678 menu$(5)="Magenta" 1679 menu$(6)="Red" 1680 menu$(7)="Blue" 1681 menu$(8)="Purple-red" 1682 menu$(9)="Magenta-green" 1683 menu$(10)="Green-gold" 1684 menu$(11)="Multi-colour 1" 1685 menu$(12)="Multi-colour 2" 1686 menu$(13)="Multi-colour 3" 1687 menu$(14)="Multi-colour 4" 1688 menu$(15)="No border" 1689 menu$(16)="*":PROCmenu(0,90,-1) 1690 CASE menu_box% OF 1691 WHEN 1:pbr%=128:pbg%=128:pbb%=128:pbri%=8:pbgi%=8:pbbi%=8 1692 WHEN 2:pbr%=128:pbg%=128:pbb%=0:pbri%=8:pbgi%=8:pbbi%=0 1693 WHEN 3:pbr%=0:pbg%=128:pbb%=128:pbri%=0:pbgi%=8:pbbi%=8 1694 WHEN 4:pbr%=0:pbg%=128:pbb%=0:pbri%=0:pbgi%=8:pbbi%=0 1695 WHEN 5:pbr%=128:pbg%=0:pbb%=128:pbri%=8:pbgi%=0:pbbi%=8 1696 WHEN 6:pbr%=128:pbg%=0:pbb%=0:pbri%=8:pbgi%=0:pbbi%=0 1697 WHEN 7:pbr%=0:pbg%=0:pbb%=128:pbri%=0:pbgi%=0:pbbi%=8 1698 WHEN 8:pbr%=128:pbg%=0:pbb%=64:pbri%=8:pbgi%=0:pbbi%=8 1699 WHEN 9:pbr%=64:pbg%=128:pbb%=64:pbri%=8:pbgi%=8:pbbi%=8 1700 WHEN 10:pbr%=128:pbg%=80:pbb%=32:pbri%=8:pbgi%=8:pbbi%=0 1701 WHEN 11:pbr%=64:pbg%=32:pbb%=64:pbri%=4:pbgi%=4:pbbi%=8 1702 WHEN 12:pbr%=0:pbg%=128:pbb%=64:pbri%=4:pbgi%=8:pbbi%=12 1703 WHEN 13:pbr%=128:pbg%=128:pbb%=64:pbri%=4:pbgi%=8:pbbi%=12 1704 WHEN 14:pbr%=128:pbg%=128:pbb%=64:pbri%=4:pbgi%=8:pbbi%=8 1705 WHEN 15:plot_border%=0 1706 ENDCASE 1707 IF menu_box%>0 AND menu_box%<15 THEN plot_border%=2 1708 ENDPROC 1709 1710 DEF PROCplot_border_menu 1711 menu$(0)="Plinth options " 1712 menu$(1)="White" 1713 menu$(2)="Yellow" 1714 menu$(3)="Cyan" 1715 menu$(4)="Green" 1716 menu$(5)="Magenta" 1717 menu$(6)="Red" 1718 menu$(7)="Blue" 1719 menu$(8)="Black" 1720 menu$(9)="Colour selector" 1721 menu$(10)="No plinth" 1722 menu$(11)="*":PROCmenu(0,90,-1) 1723 CASE menu_box% OF 1724 WHEN 1:pbr%=255:pbg%=255:pbb%=255 1725 WHEN 2:pbr%=255:pbg%=255:pbb%=0 1726 WHEN 3:pbr%=0:pbg%=255:pbb%=255 1727 WHEN 4:pbr%=0:pbg%=255:pbb%=0 1728 WHEN 5:pbr%=255:pbg%=0:pbb%=255 1729 WHEN 6:pbr%=255:pbg%=0:pbb%=0 1730 WHEN 7:pbr%=0:pbg%=0:pbb%=255 1731 WHEN 8:pbr%=0:pbg%=0:pbb%=0 1732 WHEN 9:PROCrgb_sliders(0):pbr%=red%:pbg%=grn%:pbb%=blu% 1733 WHEN 10:plot_border%=0 1734 ENDCASE 1735 IF menu_box%>0 AND menu_box%<10 THEN plot_border%=1 1736 ENDPROC 1737 1738 DEF PROCpaintbrush 1739 PROCdisplay_memory:PROCwait_no_button 1740 REPEAT 1741 REPEAT:MOUSE X,Y,B:UNTIL B<>0 1742 IF Y>8 THEN 1743 IF B=4 THEN GCOL red%,grn%,blu%:CIRCLE FILL X,Y,brush_size% 1744 IF B=2 THEN PROCupload_memory:PROCrgb_sliders(-1):PROCdisplay_memory 1745 IF B=1 THEN 1746 RGB%=POINT(X,Y):red%=(RGB%AND31)*8 1747 grn%=((RGB%>>5)AND31)*8:blu%=((RGB%>>10)AND31)*8 1748 ENDIF 1749 ENDIF 1750 UNTIL Y<9 1751 PROCupmini:PROCwait_no_button 1752 ENDPROC 1753 1754 DEF PROCtest_patterns 1755 GCOL3,63 TINT192:RECTANGLE FILL 772,4,52,50 1756 REPEAT 1757 menu$(0)=" Test patterns" 1758 menu$(2)=" 32 step greyscale" 1759 menu$(3)=" 16 step greyscale" 1760 menu$(4)=" Test Card" 1761 menu$(5)=" Colour Bars" 1762 menu$(6)=" TOP greyscale - type 1" 1763 menu$(7)=" TOP greyscale - type 2 " 1764 menu$(8)=" TOP greyscale - short" 1765 IF header_text% m$=CHR$128+" " ELSE m$=" " 1766 menu$(9)=m$+"Header text on/off" 1767 menu$(10)=" Hamcolor FAX header" 1768 menu$(11)=" Monochrome FAX header" 1769 menu$(12)=" Chequer board" 1770 menu$(13)=" Star field" 1771 menu$(14)=" Opening screen" 1772 menu$(15)=" Repeater beacon page" 1773 menu$(16)="*":PROCmenu(494,90,0) 1774 CASE menu_box% OF 1775 WHEN 1:PROCdismini 1776 WHEN 2:PROCgreyscale32 1777 WHEN 3:PROCtopscale(1) 1778 WHEN 4:PROCtest_card 1779 WHEN 5:PROCcolour_bars 1780 WHEN 6:PROCtopscale(0) 1781 WHEN 7:PROCtopscale2(0) 1782 WHEN 8:PROCtopscale2(1) 1783 WHEN 9:header_text%=NOT(header_text%):menu_redraw%=TRUE 1784 WHEN 10:PROCfax_header(0) 1785 WHEN 11:PROCfax_header(-1) 1786 WHEN 12:PROCchequer 1787 WHEN 13:PROCstar_field:PROCupmini 1788 WHEN 14:PROCsplash2:PROCupmini 1789 WHEN 15:PROCrepeater_beacon_text 1790 ENDCASE 1791 UNTIL menu_box%<>9 1792 ENDPROC 1793 1794 DEF PROCcolour_bars 1795 RESTORE +0 1796 FOR X%=0 TO 1120 STEP160:READ r%,g%,b% 1797 GCOL r%,g%,b%:RECTANGLE FILL X%,0,160,1024:NEXT 1798 DATA 255,255,255,255,255,0,0,255,255,0,255,0,255,0,255 1799 DATA 255,0,0,0,0,255,0,0,0 1800 PROCupmini 1801 ENDPROC 1802 1803 DEF PROCchequer 1804 GCOL 0,0,0:RECTANGLE FILL 0,0,1280,1024 1805 GCOL 255,255,255 1806 FOR X%=0 TO 1280 STEP320 1807 RECTANGLE FILL X%,0,160,1024:NEXT 1808 GCOL 3,255,255,255 1809 FOR Y%=0 TO 1024 STEP320 1810 RECTANGLE FILL 0,Y%,1280,160 1811 NEXT:PROCupload_memory:PROCtopscale2(0) 1812 ENDPROC 1813 1814 DEF PROCupmini 1815 PROCupload_memory:PROCmini_pad 1816 ENDPROC 1817 1818 DEF PROCdismini 1819 PROCdisplay_memory:PROCmini_pad 1820 ENDPROC 1821 1822 DEF PROCmouse_cross1 1823 mouse1%?&01=2:mouse1%!&06=mouse1%+&0A 1824 SYS "OS_Word",&15,mouse1% 1825 ENDPROC 1826 DEF PROCmouse_cross2 1827 mouse2%?&01=2:mouse2%!&06=mouse2%+&0A 1828 SYS "OS_Word",&15,mouse2% 1829 ENDPROC 1830 DEF PROCmouse3 1831 mouse3%?&01=2:mouse3%!&06=mouse3%+&0A 1832 SYS "OS_Word",&15,mouse3% 1833 MOUSE ON 2:MOUSE COLOUR 1,0,255,255:MOUSE COLOUR 3,48,48,184 1834 ENDPROC 1835 1836 DEF PROCrepairQRM 1837 IF NOT(FNhigh_res_mode) THEN 1838 H%=2:PROCmouse_cross2 1839 ELSE 1840 H%=1:PROCmouse_cross1 1841 ENDIF 1842 MOUSE ON 2:MC%=255:MOUSE COLOUR 1,MC%,MC%,MC% 1843 SYS "OS_Byte",161,194 TO,,step%:MOUSE STEP H% 1844 PROCdisplay_memory:REPEAT:PROCwait_no_button 1845 REPEAT:MOUSE X,Y,B:UNTIL B<>0 1846 IF H%=2 THEN 1847 X=(X DIV 4)*4:Y=(Y DIV 4)*4 1848 ELSE 1849 X=(X DIV 2)*2:Y=(Y DIV 2)*2 1850 ENDIF 1851 PROCwait_no_button:GCOL 3,63 TINT192 1852 IF B=2 THEN MC%=MC% EOR 255:MOUSE COLOUR 1,MC%,MC%,MC% 1853 IF B=4 THEN 1854 SX%=X:SY%=Y:LINE SX%,SY%,X,SY% 1855 IF H%=2 THEN LINE SX%,SY%+2,X,SY%+2 1856 REPEAT 1857 REPEAT:MOUSE X1,Y,B 1858 IF H%=2 THEN 1859 X1=(X1 DIV 4)*4:Y=(Y DIV 4)*4 1860 ELSE 1861 X1=(X1 DIV 2)*2:Y=(Y DIV 2)*2 1862 ENDIF 1863 UNTIL X1<>X OR B<>0 1864 LINE SX%,SY%,X,SY%:LINE SX%,SY%,X1,SY% 1865 IF H%=2 THEN LINE SX%,SY%+2,X,SY%+2:LINE SX%,SY%+2,X1,SY%+2 1866 X=X1:UNTIL B<>0 1867 LINE SX%,SY%,X1,SY% 1868 IF H%=2 THEN LINE SX%,SY%+2,X1,SY%+2 1869 IF B=4 AND X1>SX% THEN 1870 IF H%=2 AND Y<=SY% THEN Yoffset%=-2 1871 IF H%=2 AND Y>SY% THEN Yoffset%=5 1872 IF H%=1 AND Y<=SY% THEN Yoffset%=-1 1873 IF H%=1 AND Y>SY% THEN Yoffset%=2 1874 MOVE SX%,SY%+Yoffset%:MOVE BY X1-SX%,Yoffset% 1875 PLOT&BF,SX%,SY% 1876 ENDIF 1877 ENDIF 1878 UNTIL B=1:PROCupmini 1879 MOUSE ON 1:MOUSE COLOUR 1,0,255,255:MOUSE STEP step% 1880 ENDPROC 1881 1882 DEF PROCdisplay_text 1883 PROCdisplay_memory:PROCwait_no_button:!colour_inc_or_dec=col_idec% 1884 IF overlay% THEN 1885 PROCplot_overlay_sprite 1886 ELSE 1887 !colour_store=0:MOUSE RECTANGLE -300,-300,1600,1400 1888 IF hv$="V"ORhv$="v"THEN !vertical_start=(Ymax%+4)/2 ELSE !vertical_start=500 1889 1890 REPEAT 1891 MOUSE X,Y,B 1892 a%=(960-Y)DIV2*1280+X-20:a%=(a%DIV4)*4+screen% 1893 !colour_store=TC%:!colour_limit=TL% 1894 !colour_decrement=TD%:!colour_height=2 1895 !opstart=a%:CALL output_sprite 1896 REPEAT 1897 MOUSE x,y,B 1898 UNTIL x<>X OR y<>Y OR B<>0 1899 PROCdisplay_memory 1900 UNTIL B<>0 1901 !colour_inc_or_dec=0 1902 1903 IF B=4 THEN 1904 1905 IF text_block_shadow% THEN 1906 !shadow_start=a%-7680:!num_lines=text_lines%+12 1907 !num_bytes=text_width%+16:CALL shadow 1908 sy%=a%-7680-screen%:sy%=1024-(sy%DIV1280)*2:sx%=(a%-screen%)MOD1280 1909 GCOL 208,208,208:RECTANGLE FILL sx%,sy%,text_width%+14,2:GCOL 0,0,0 1910 RECTANGLE FILL sx%,(sy%-((text_lines%+12)*2))-2,text_width%+14,2 1911 GCOL 180,180,180 1912 RECTANGLE FILL sx%-2,(sy%-((text_lines%+12)*2))-2,2,(text_lines%+12)*2+4 1913 GCOL 32,32,32 1914 RECTANGLE FILL sx%+text_width%+14,(sy%-((text_lines%+12)*2))-2,2,(text_lines%+12)*2+2 1915 ENDIF 1916 1917 IF real_shadow1%=1 THEN PROCreal_shadow1(10,shad$) 1918 IF real_shadow1%=2 OR real_shadow1%=3 THEN PROCreal_shadow2(real_shadow1%) 1919 IF shadow% THEN PROCshadow_text(5,shad$) 1920 IF solid% THEN PROCsolid_text:outline_width%=0 1921 1922 IF outline_width%=1 OR outline_width%=2 THEN 1923 !colour_decrement=0:!colour_limit=0 1924 w%=2560*outline_width%:w2%=4*outline_width% 1925 FOR J%=a%-w% TO a%+w% STEP1280 1926 FOR N%=J%-w2% TO J%+w2% STEP4 1927 !opstart=N%:!colour_store=text_out_col%:CALL output_sprite 1928 NEXT 1929 NEXT 1930 ENDIF 1931 1932 IF outline_width%=3 THEN 1933 REM new relief effect - outline on top and left edges 1934 !colour_decrement=0:!colour_limit=0 1935 !opstart=a%-2560-4:!colour_store=text_out_col% 1936 CALL output_sprite 1937 !opstart=a%-5120-8:!colour_store=text_out_col% 1938 CALL output_sprite 1939 ENDIF 1940 1941 !opstart=a%:!colour_store=TC%:!colour_limit=TL% 1942 !colour_decrement=TD%:!colour_inc_or_dec=col_idec% 1943 1944 IF hv$="V"ORhv$="v" THEN 1945 !vertical_start=(Ymax%+4)/2 1946 !colour_height=2 1947 ELSE 1948 !vertical_start=500 1949 !colour_height=1+(INT(text_lines%/40)) 1950 ENDIF 1951 1952 CALL output_sprite:PROCupload_memory 1953 1954 ELSE PROCdisplay_memory 1955 1956 ENDIF 1957 ENDIF 1958 MOUSE RECTANGLE 0,0,1280,1024 1959 ENDPROC 1960 1961 DEF PROCshadow_text(size%,shad$) 1962 IF outline_width%>0 THEN size%+=2 1963 !colour_decrement=0:!colour_limit=0:x%=size%*4:sc%=SC% 1964 IF shad$="BL" OR shad$="TL" THEN x%=-x% 1965 FOR J%=a%+(size%*2560) TO a% STEP-2560 1966 N%=J%+x%:!opstart=N%:!colour_store=sc%:CALL output_sprite 1967 IF grad% THEN 1968 r%=sc%AND31:g%=(sc%>>5)AND31:b%=(sc%>>10)AND31 1969 IF r%>1 THEN r%-=2 1970 IF g%>1 THEN g%-=2 1971 IF b%>1 THEN b%-=2 1972 sc%=(b%<<10)+(g%<<5)+r% 1973 ENDIF 1974 IF shad$="BL" OR shad$="TL" THEN x%+=4 ELSE x%-=4 1975 NEXT 1976 ENDPROC 1977 1978 DEF PROCsolid_text 1979 !colour_decrement=0:!colour_limit=0:x%=-24:sc%=TC% 1980 str=sc%AND31:stg=(sc%>>5)AND31:stb=(sc%>>10)AND31 1981 stri=(str-str/3)/8 1982 stgi=(stg-stg/3)/8 1983 stbi=(stb-stb/3)/8 1984 str=str/3:stg=stg/3:stb=stb/3 1985 FOR J%=a%-(6*2560) TO a% STEP 2560 1986 sc%=(stb<<10)+(stg<<5)+str 1987 N%=J%+x%:!opstart=N%:!colour_store=sc%:CALL output_sprite 1988 str=str+stri:stg=stg+stgi:stb=stb+stbi 1989 x%+=4 1990 NEXT 1991 ENDPROC 1992 1993 DEF PROCreal_shadow1(size%,shad$) 1994 FOR N%=0 TO 31 1995 grndata?N%=N%-2:IF grndata?N%>31 THEN grndata?N%=0 1996 NEXT 1997 !colour_decrement=0:!colour_limit=0:x%=size%*4:sc%=SC% 1998 !shadow_table_address=grndata:!colour_store=1 1999 IF shad$="BL" OR shad$="TL" THEN x%=-x% 2000 FOR J%=a%+(size%*2560) TO a%-2560*0 STEP-2560 2001 N%=J%+x%:!opstart=N%:CALL output_sprite 2002 IF shad$="BL" OR shad$="TL" THEN x%+=4 ELSE x%-=4 2003 NEXT 2004 FOR N%=0 TO 31:grndata?N%=N%-4:IF grndata?N%>31 THEN grndata?N%=0 2005 NEXT 2006 N%=a%-2564:!opstart=N%:CALL output_sprite 2007 N%=a%-5128:!opstart=N%:CALL output_sprite 2008 N%=a%-2560:!opstart=N%:CALL output_sprite 2009 N%=a%-5120:!opstart=N%:CALL output_sprite 2010 N%=a%-2556:!opstart=N%:CALL output_sprite 2011 N%=a%-5116:!opstart=N%:CALL output_sprite 2012 ENDPROC 2013 2014 DEF PROCreal_shadow2(s%) 2015 FOR N%=0 TO 31:grndata?N%=N%/2:NEXT 2016 !colour_decrement=0:!colour_limit=0 2017 !shadow_table_address=grndata:!colour_store=1 2018 IF s%=2 !opstart=a%+12*1282 ELSE !opstart=a%+20*1282 2019 CALL output_sprite 2020 ENDPROC 2021 2022 DEF PROCgrab_text 2023 IF hv2$="V" OR hv2$="v" THEN 2024 !ft_bottom=screen%+&9FB00 2025 ELSE 2026 !ft_bottom=screen%+&65E00 2027 ENDIF 2028 !ft_screen=screen% 2029 S%=USR(find_top) 2030 E%=USR(find_bottom) 2031 !ft_right=S%:!frlines=(E%-S%)DIV1280+1 2032 W%=USR(find_right) 2033 text_width%=W%:!getwidth=text_width%:!getstart=S% 2034 !getstore=spr%+16:!getlines=(E%-S%)DIV1280+1 2035 text_lines%=!getlines 2036 !spr%=W%:spr%!4=(E%-S%)DIV1280+1 2037 spr%!8=&4400 2038 IF (!getlines)*(!getwidth)>txtsize% THEN 2039 text1$="":overlay%=0:mask_created%=0:text%=0 2040 ERROR 1997,"Caption is too large for available overlay area" 2041 ENDIF 2042 CALL get_screen 2043 ENDPROC 2044 2045 DEF PROCmysprite_assemble 2046 DIM mysprite% 960 2047 2048 REM Registers used in "find" routines and .get_screen 2049 base2=2:base=3:offset=4:data=5:lines=6:white=7 2050 2051 REM Registers used in .output_sprite 2052 colour=1:base2=2:table=3:data3=4:data1=5:lines=6 2053 mask2=7:mask1=8:data2=9:scrn1=10:scrn2=11:result=12 2054 FOR P=0 TO 2 STEP2 2055 P%=mysprite% 2056 [OPT P 2057 .ft_screen EQUD 0 2058 .ft_white EQUD &7FFF7FFF 2059 .ft_bottom EQUD 0 2060 .ft_right EQUD 0 2061 .frlines EQUD 0 2062 .getwidth EQUD 0 2063 .getstart EQUD 0 2064 .getstore EQUD 0 2065 .getlines EQUD 0 2066 .opstart EQUD 0 2067 2068 .find_top 2069 MOV offset,#0:LDR base,ft_screen:LDR white,ft_white:MOV lines,#640 2070 .top_loop LDR data,[base,offset]:CMP data,white:BEQ ftexit 2071 ADD offset,offset,#4:CMP offset,#1280:BNE top_loop 2072 ADD base,base,#1280:MOV offset,#0:SUBS lines,lines,#1:BNE top_loop 2073 .ftexit MOV R0,base:MOV PC,R14 2074 2075 .find_bottom 2076 MOV offset,#0:LDR base,ft_bottom:LDR white,ft_white:MOV lines,#640 2077 .bot_loop LDR data,[base,offset]:CMP data,white:BEQ fbexit 2078 ADD offset,offset,#4:CMP offset,#1280:BNE bot_loop 2079 SUB base,base,#1280:MOV offset,#0:SUBS lines,lines,#1:BNE bot_loop 2080 .fbexit MOV R0,base:MOV PC,R14 2081 2082 .find_right 2083 MOV offset,#1264:LDR base,ft_right:LDR white,ft_white:LDR lines,frlines 2084 .right_loop LDR data,[base,offset]:CMP data,white:BEQ frexit 2085 ADD base,base,#1280:SUBS lines,lines,#1:BNE right_loop 2086 LDR base,ft_right:LDR lines,frlines:SUBS offset,offset,#4:BNE right_loop 2087 .frexit ADD R0,offset,#8:MOV PC,R14 2088 2089 .get_screen 2090 LDR offset,getwidth:LDR base,getstart 2091 LDR base2,getstore:LDR lines,getlines 2092 .get_loop LDR data,[base,offset]:STR data,[base2,offset] 2093 SUBS offset,offset,#4:BPL get_loop 2094 LDR offset,getwidth:ADD base,base,#1280 2095 ADD base2,base2,offset 2096 SUBS lines,lines,#1:BNE get_loop 2097 MOV PC,R14 2098 2099 ; - - - - - - - 2100 2101 .output_sprite 2102 STR R13,r13_temp:LDR R13,vertical_start 2103 LDR R0,colour_store:STR R0,colour_start 2104 LDR R0,colour_height:STR R0,colour_lines 2105 LDR base,opstart:LDR base2,getstore:SUB R0,base2,#16 2106 LDR offset,[R0,#0]:LDR lines,[R0,#4]:LDR mask1,[R0,#8] 2107 MOV mask2,mask1,ASL#16 2108 2109 .oploop 2110 LDR data2,[base2,offset] 2111 MOV data1,data2,ASL#16:MOV data1,data1,LSR#16 2112 MOV data2,data2,LSR#16:MOV data2,data2,ASL#16 2113 LDR scrn2,[base,offset] 2114 MOV scrn1,scrn2,ASL#16:MOV scrn1,scrn1,LSR#16 2115 MOV scrn2,scrn2,LSR#16:MOV scrn2,scrn2,ASL#16 2116 2117 LDR colour,colour_store:CMP colour,#1:BNE not_shadow 2118 2119 STR R0,r0_temp:ADR R0,reg_store:STMIA R0,{R1-R11} 2120 LDR table,shadow_table_address:MOV result,#0 2121 CMP data1,mask1:MOVEQ result,scrn1:BEQ next_half 2122 AND R2,scrn1,#31:LDRB result,[table,R2] 2123 MOV R2,scrn1,LSR#5:AND R2,R2,#31:LDRB data3,[table,R2] 2124 MOV data3,data3,LSL#5:ADD result,result,data3 2125 MOV R2,scrn1,LSR#10:AND R2,R2,#31:LDRB data3,[table,R2] 2126 MOV data3,data3,LSL#10:ADD result,result,data3 2127 2128 .next_half CMP data2,mask2:ADDEQ result,result,scrn2:BEQ store_result 2129 MOV R2,scrn2,LSR#16:AND R2,R2,#31:LDRB data3,[table,R2] 2130 MOV data3,data3,LSL#16:ADD result,result,data3 2131 MOV R2,scrn2,LSR#21:AND R2,R2,#31:LDRB data3,[table,R2] 2132 MOV data3,data3,LSL#21:ADD result,result,data3 2133 MOV R2,scrn2,LSR#26:AND R2,R2,#31:LDRB data3,[table,R2] 2134 MOV data3,data3,LSL#26:ADD result,result,data3 2135 .store_result ADR R0,reg_store:LDMIA R0,{R1-R11} 2136 LDR R0,r0_temp:STR result,[base,offset]:B shadow_jump 2137 2138 .not_shadow 2139 CMP colour,#2:BNE not_filter_text 2140 STR R0,r0_temp:ADR R0,reg_store:STMIA R0,{R1-R12} 2141 LDR R1,colour_filter_mask 2142 CMP data1,mask1:MOVEQ result,scrn1 2143 BICNE result,scrn1,R1 2144 CMP data2,mask2:ADDEQ result,result,scrn2 2145 MOVNE scrn2,scrn2,LSR#16 2146 BICNE R8,scrn2,R1:ADDNE result,result,R8,LSL#16 2147 STR result,[base,offset] 2148 ADR R0,reg_store:LDMIA R0,{R1-R12}:LDR R0,r0_temp 2149 B shadow_jump 2150 2151 .not_filter_text 2152 CMP data1,mask1:MOVNE result,colour:MOVEQ result,scrn1 2153 CMP data2,mask2:ADDNE result,result,colour,ASL#16 2154 ADDEQ result,result,scrn2:STR result,[base,offset] 2155 2156 .shadow_jump SUBS offset,offset,#4:BPL oploop 2157 LDR offset,[R0,#0]:ADD base,base,#1280 2158 LDR data1,getwidth:ADD base2,base2,data1 2159 CMP colour,#0:BEQ next_line 2160 CMP colour,#2:BEQ next_line 2161 2162 ADR R9,reg_store:STMIA R9,{R0-R7} 2163 LDR R0,colour_lines:SUBS R0,R0,#1:STR R0,colour_lines:BNE wrcol_exit 2164 LDR R0,colour_height:STR R0,colour_lines 2165 LDR R0,colour_inc_or_dec:CMP R0,#1:BEQ col_inc 2166 .col_dec LDR R7,colour_decrement:SUB colour,colour,R7:LDR R7,colour_limit 2167 CMP colour,R7:MOVLT colour,R7:STR colour,colour_store:B wrcol_exit 2168 .col_inc LDR R7,colour_decrement:ADD colour,colour,R7:LDR R7,colour_limit 2169 CMP colour,R7:MOVGT colour,R7:STR colour,colour_store 2170 .wrcol_exit ADR R9,reg_store:LDMIA R9,{R0-R7} 2171 2172 .next_line 2173 SUBS R13,R13,#1:LDREQ colour,colour_start:LDREQ R13,vertical_start 2174 STREQ colour,colour_store 2175 SUBS lines,lines,#1:BNE oploop 2176 LDR R13,r13_temp:MOV PC,R14 2177 2178 .vertical_start EQUD 0 2179 .colour_start EQUD 0 2180 .colour_store EQUD 0 2181 .colour_limit EQUD 0 2182 .colour_decrement EQUD 0 2183 .colour_height EQUD 0 2184 .colour_lines EQUD 0 2185 .colour_filter_mask EQUD %0111111111100000 2186 .colour_inc_or_dec EQUD 0 2187 .r13_temp EQUD 0 2188 .r0_temp EQUD 0 2189 .reg_store EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0 2190 EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0 2191 .shadow_table_address EQUD 0 2192 ] 2193 NEXT 2194 IF P%-mysprite%>960 THEN ERROR 0,"Code too long ..." 2195 ENDPROC 2196 2197 DEF PROCsave_targa(st$) 2198 PROCdisplay_memory 2199 !targa_base=memblock%+20:CALL targa_convert 2200 A%=memblock%+2:RESTORE +0 2201 FOR N%=A% TO A%+17:READ D%:?N%=D%:NEXT 2202 end%=(memblock%+20)+655360 2203 !end%=0:end%!4=0:$(end%+8)="TRUEVISION-TARGA.":end%?25=0 2204 DATA 0,0,2,0,0,0,0,0,0,0,0,0,128,2,0,2,16,&20 2205 SYS "OS_File",10,st$,&69D,0,A%,A%+&A002C:REM *SAVE 2206 PROCupload_memory 2207 ENDPROC 2208 2209 DEF PROCtarga_assemble 2210 DIM targa_code1% 240 2211 base=0:offset=1:data=2:red1=3:red2=4:green1=5:green2=6:blue1=7:blue2=8 2212 result=9:words=10 2213 FOR P=0 TO 2 STEP2 2214 P%=targa_code1% 2215 [OPT P 2216 .targa_base EQUD 0 2217 2218 .targa_convert 2219 LDR base,targa_base:MOV offset,#0:MOV words,#163840 2220 .targa_loop MOV result,#0 2221 LDR data,[base,offset]:AND red1,data,#31:MOV red1,red1,LSL#10 2222 MOV red2,data,LSR#16:AND red2,red2,#31:MOV red2,red2,LSL#26 2223 AND green1,data,#992 2224 MOV green2,data,LSR#16:AND green2,green2,#992:MOV green2,green2,LSL#16 2225 MOV blue1,data,LSR#10:AND blue1,blue1,#31 2226 MOV blue2,data,LSR#26:AND blue2,blue2,#31:MOV blue2,blue2,LSL#16 2227 2228 ADD result,red1,green1:ADD result,result,blue1 2229 ADD result,result,red2:ADD result,result,green2:ADD result,result,blue2 2230 STR result,[base,offset]:ADD offset,offset,#4 2231 SUBS words,words,#1:BNE targa_loop 2232 MOV PC,R14 2233 2234 ] 2235 NEXT 2236 ENDPROC 2237 2238 DEF PROCfiler_display 2239 2240 REPEAT 2241 filer_info%=0:box%=0:refresh%=TRUE:right%=0 2242 GCOL 216,216,216:RECTANGLE FILL 0,-50,1280,1074 2243 ORIGIN 0,50 2244 PROCclick_info 2245 REPEAT 2246 right%=0 2247 IF refresh% THEN 2248 PROCpanelled_background 2249 PROCpath_block 2250 PROCshow_file_list 2251 PROCmake_mini_pic 2252 ENDIF 2253 refresh%=TRUE 2254 2255 MOUSE RECTANGLE 0,-50,1280,926+80 2256 x1%=0:y1%=0:quit%=0:exit%=0 2257 PROCwait_no_button 2258 GCOL3,63 TINT192:RECTANGLE FILL x1%*256+54,y1%*40-2,198,38 2259 2260 REPEAT 2261 2262 REPEAT 2263 MOUSE X,Y,B:x2%=(X-32) DIV 256:y2%=Y DIV 40 2264 PROCcheck_alt_s_save 2265 UNTIL x1%<>x2% OR y1%<>y2% OR B<>0 2266 2267 IF B=1 THEN B=4:right%=TRUE 2268 2269 IF B=2 AND ftype$(box%)<>"dir" THEN 2270 PROCfiler_info:B=2:GCOL 216,216,216:quit%=TRUE:y2%=0 2271 RECTANGLE FILL 0,-40,1280,268:PROCclick_info 2272 GCOL3,63:MOUSE RECTANGLE 0,-50,1280,926 2273 ENDIF 2274 2275 RECTANGLE FILL x1%*256+54,y1%*40-2,198,38 2276 RECTANGLE FILL x2%*256+54,y2%*40-2,198,38 2277 x1%=x2%:y1%=y2% 2278 IF y2%>5 AND y2%<22 box%=(21-y1%)+x1%*16 ELSE box%=79 2279 2280 IF cat$(box%)="" THEN 2281 RECTANGLE FILL x2%*256+54,y2%*40-2,198,38 2282 2283 REPEAT 2284 MOUSE X,Y,B:x1%=(X-32) DIV 256:y1%=Y DIV 40 2285 IF y1%>5 AND y1%<22 THEN box%=(21-y1%)+x1%*16 ELSE box%=79 2286 IF B=1 THEN B=4:right%=TRUE 2287 UNTIL cat$(box%)<>"" OR (B=4 AND Y<228) OR filer_info% OR (B=4 AND Y>900) OR (B=4 AND ABS(X-1142)<140 AND ABS(Y-282)<40) 2288 2289 IF B=4 AND Y>900 AND X<1063 THEN 2290 big_dir%=0:PROCuser_pathname(dir$,260,950,46,TRUE):refresh%=TRUE:B=4 2291 ENDIF 2292 2293 IF B=4 AND Y>900 AND X>1062 AND X<1110 THEN 2294 big_dir%=0:PROClist_Pathnames:refresh%=TRUE:B=4 2295 ENDIF 2296 2297 IF ABS(X-520)<24 AND Y>-30 AND Y<170 THEN PROCjpeg_buttons:refresh%=0 2298 IF cat$(box%)<>"" THEN RECTANGLE FILL x1%*256+54,y1%*40-2,198,38 2299 IF B=4 AND ABS(X-1012)<22 AND ABS(Y-76)<22 THEN PROCdrive0:big_dir%=0 2300 IF B=4 AND ABS(X-1066)<22 AND ABS(Y-76)<22 THEN PROCdrive1:big_dir%=0 2301 IF B=4 AND ABS(X-1120)<22 AND ABS(Y-76)<22 THEN PROCdrive4:big_dir%=0 2302 IF B=4 AND ABS(X-1174)<22 AND ABS(Y-76)<22 THEN PROCdrive5:big_dir%=0 2303 IF B=4 AND ABS(X-1228)<22 AND ABS(Y-76)<22 THEN PROCdrive_user:big_dir%=0 2304 IF B=4 AND ABS(X-404)<22 AND ABS(Y-94)<132 THEN PROCmem_select 2305 2306 IF B=4 AND ABS(X-1226)<43 AND ABS(Y-266)<34 AND big_dir% THEN 2307 shown_dir$="":start_entry%=last_start_entry%+77:c%=-1 2308 ELSE 2309 start_entry%=last_start_entry% 2310 ENDIF 2311 2312 IF B=4 AND ABS(X-1184)<86 AND ABS(Y-266)<34 AND was_big_dir% THEN 2313 start_entry%=0:last_start_entry%=0:shown_dir$="":was_big_dir%=0 2314 ENDIF 2315 2316 IF B=4 AND ABS(X-1142)<43 AND ABS(Y-266)<34 AND big_dir% THEN 2317 start_entry%=0:last_start_entry%=0:shown_dir$="":was_big_dir%=0 2318 ENDIF 2319 2320 ENDIF 2321 2322 UNTIL B=4 OR filer_info% 2323 2324 IF cat$(box%)<>"" AND ftype$(box%)<>"dir" lastfile$=cat$(box%) 2325 2326 IF LEFT$(cat$(box%),9)="SSTVfonts" THEN 2327 OSCLI("Fontinstall "+dir$+"."+cat$(box%)+".") 2328 quit%=TRUE 2329 ENDIF 2330 2331 IF cat$(box%)<>"" AND ftype$(box%)="pscan" THEN 2332 PROCload_pscan(dir$+"."+cat$(box%)) 2333 ENDIF 2334 IF cat$(box%)<>"" AND ftype$(box%)="targa" THEN 2335 PROCload_targa(dir$+"."+cat$(box%)) 2336 ENDIF 2337 IF cat$(box%)<>"" AND ftype$(box%)="sprite" THEN 2338 PROCload_sprite(dir$+"."+cat$(box%)) 2339 ENDIF 2340 IF cat$(box%)<>"" AND ftype$(box%)="jpeg" THEN 2341 PROCload_jpeg(dir$+"."+cat$(box%)) 2342 ENDIF 2343 IF cat$(box%)<>"" AND ftype$(box%)="photo" THEN 2344 ERROR 1997,"PhotoCD images cannot currently be loaded by Pscan." 2345 ENDIF 2346 2347 IF X>920 AND X<1260 AND Y<2 exit%=TRUE 2348 IF ftype$(box%)="dir" AND NOT(quit%) dir$=dir$+"."+cat$(box%) 2349 IF ABS(X-1184)<80 AND ABS(Y-140)<24 quit%=TRUE 2350 IF X>1140 AND X<1266 AND Y>178 AND Y<220 PROCup_one_dir:big_dir%=0 2351 IF X>1054 AND X<1126 AND Y>174 AND Y<224 THEN 2352 GCOL216,216,216:RECTANGLE FILL 440,-48,900,280 2353 PROCrename(FALSE):big_dir%=0:shown_dir$="" 2354 GCOL216,216,216:RECTANGLE FILL 0,-44,1280,272:PROCclick_info 2355 ENDIF 2356 IF X>916 AND X<1046 AND Y>178 AND Y<220 PROCroot_dir:big_dir%=0 2357 2358 IF X>920 AND X<1080 AND Y>120 AND Y<160 THEN 2359 PROCsave_options 2360 IF NOT(quit%) GCOL216,216,216:RECTANGLE FILL 0,-52,1280,288:PROCclick_info 2361 ENDIF 2362 2363 IF right% AND big_dir% start_entry%=last_start_entry%:shown_dir$=dir$ 2364 2365 UNTIL quit% OR exit% 2366 2367 UNTIL NOT filer_info% AND NOT right% 2368 2369 IF quit% AND big_dir% shown_dir$=dir$ 2370 2371 ORIGIN 0,0:MOUSE RECTANGLE 0,0,1280,1024 2372 IF exit% THEN BIGQUIT%=TRUE ELSE PROCdismini 2373 2374 ENDPROC 2375 2376 2377 DEF PROCdrive0 2378 dir$="ADFS::0.$":drv%=0:PROCclick_info 2379 ENDPROC 2380 2381 DEF PROCdrive1 2382 IF floppies%>1 THEN dir$="ADFS::1.$":drv%=1:PROCclick_info 2383 ENDPROC 2384 2385 DEF PROCdrive4 2386 dir$="ADFS::4.$":drv%=4:PROCclick_info 2387 ENDPROC 2388 2389 DEF PROCdrive5 2390 IF hard_drives%>1 THEN dir$="ADFS::5.$":drv%=5:PROCclick_info 2391 ENDPROC 2392 2393 DEF PROCdrive_user 2394 IF ud_path% THEN dir$=user_drive$:drv%=6:PROCclick_info 2395 ENDPROC 2396 2397 DEF PROCmem_select 2398 IF ABS(Y-212)<16 THEN ms%=0 2399 IF ABS(Y-178)<16 THEN ms%=1 2400 IF ABS(Y-144)<16 THEN ms%=2 2401 IF ABS(Y-110)<16 THEN ms%=3 2402 IF ABS(Y-76)<16 THEN ms%=4 2403 IF ABS(Y-42)<16 THEN ms%=5 2404 IF ABS(Y-8)<16 THEN ms%=6 2405 IF ABS(Y--26)<16 THEN ms%=7 2406 IF ms%<memories% THEN 2407 MEM%=ms% 2408 CASE MEM% OF 2409 WHEN 0:memblock%=mem1% 2410 WHEN 1:memblock%=mem2% 2411 WHEN 2:memblock%=mem3% 2412 WHEN 3:memblock%=mem4% 2413 WHEN 4:memblock%=mem5% 2414 WHEN 5:memblock%=mem6% 2415 WHEN 6:memblock%=mem7% 2416 WHEN 7:memblock%=mem8% 2417 ENDCASE 2418 ENDIF 2419 PROCmake_mini_pic:refresh%=0 2420 ENDPROC 2421 2422 DEF PROCare_you_sure 2423 PROCraised_block(754,-16,508,236) 2424 GCOL 200,0,0:RECTANGLE FILL 754,-16,508,236 2425 PROCwrite2("Delete file : "+cat$(box%),830,212,1) 2426 PROCwrite2("Are you sure ?",884,146,1) 2427 PROCraised_block(832,8,140,50) 2428 PROCraised_block(1034,8,140,50) 2429 PROCwrite2("YES",862,68,4) 2430 PROCwrite2("NO",1074,68,4) 2431 MOUSE RECTANGLE 754,-16,508,236 2432 PROCwait_no_button:REPEAT:MOUSE X,Y,B:UNTIL B=4 OR B=1 2433 IF ABS(X-904)<74 AND ABS(Y-34)<30 THEN sure%=TRUE ELSE sure%=0 2434 ENDPROC 2435 2436 DEF PROCrename(flag%) 2437 REM If flag%=TRUE then rename, if FALSE then create new directory 2438 PROCraised_block(754,-16,512,236) 2439 rename_quit%=0 2440 GCOL 200,100,0:RECTANGLE FILL 754,-16,508,236 2441 GCOL 255,255,255:RECTANGLE FILL 872,96,240,40 2442 IF flag%=TRUE THEN 2443 rename$=cat$(box%) 2444 PROCwrite2("Enter new filename :-",834,212,1) 2445 ELSE 2446 rename$="newdir" 2447 PROCwrite2("Enter new directory name:-",810,212,1) 2448 ENDIF 2449 PROCwrite2(rename$+"|",880,150,0) 2450 PROCraised_block(832,8,140,50) 2451 PROCraised_block(1034,8,140,50) 2452 PROCwrite2("CANCEL",844,68,4) 2453 PROCwrite2("OK",1074,68,4) 2454 MOUSE RECTANGLE 754,-16,508,236 2455 PROCwait_no_button:REPEAT UNTIL INKEY$(1)="" 2456 REPEAT 2457 REPEAT 2458 MOUSE X,Y,B:K$=INKEY$(1) 2459 UNTIL B=4 OR B=1 OR K$<>"" 2460 IF B=1 THEN B=4 2461 IF K$=CHR$8 THEN K$=CHR$127 2462 IF ASC(K$)=127 AND LEN(rename$)>0 THEN 2463 L%=LEN(rename$):rename$=LEFT$(rename$,L%-1) 2464 GCOL 255,255,255:RECTANGLE FILL 872,96,240,40 2465 PROCwrite2(rename$+"|",880,150,0) 2466 ENDIF 2467 IF ASC(K$)=21 THEN 2468 rename$="":GCOL 255,255,255:RECTANGLE FILL 872,96,240,40 2469 PROCwrite2(rename$+"|",880,150,0) 2470 ENDIF 2471 IF LEN(rename$)<10 AND ASC(K$)>31 AND ASC(K$)<123 THEN 2472 rename$+=K$:GCOL 255,255,255:RECTANGLE FILL 872,96,240,40 2473 PROCwrite2(rename$+"|",880,150,0) 2474 ENDIF 2475 UNTIL B=4 OR K$=CHR$13 2476 IF (B=4 AND (ABS(X-1104)<74 AND ABS(Y-34)<30)) OR K$=CHR$13 THEN 2477 IF LEN(rename$)>0 THEN 2478 IF flag%=TRUE THEN 2479 OSCLI("RENAME "+dir$+"."+cat$(box%)+" "+dir$+"."+rename$):shown_dir$="-" 2480 ELSE 2481 OSCLI("CDIR "+dir$+"."+rename$):dir$=dir$+"."+rename$ 2482 ENDIF 2483 ENDIF 2484 ENDIF 2485 ENDPROC 2486 2487 DEF PROCfiler_info 2488 GCOL 216,216,216:RECTANGLE FILL 0,-50,1280,282 2489 COLOUR 240,240,240 2490 X%=4:Y%=53:C$="":VDU31,X%,Y%:OSCLI("INFO "+dir$+"."+cat$(box%)) 2491 REPEAT:VDU31,X%,Y% 2492 SYS "OS_Byte",135 TO,SV%:IF SV%>31 THEN C$=C$+CHR$(SV%) 2493 X%+=1:UNTIL X%=70:RECTANGLE FILL 0,-50,1280,282 2494 PROCraised_block(16,-16,720,236) 2495 GCOL 160,200,255:RECTANGLE FILL 16,-16,720,236 2496 GCOL 255,255,255:RECTANGLE FILL 32,160,400,40 2497 PROCwrite2("Info on file : "+cat$(box%),46,212,0) 2498 PROCwrite2(MID$(C$,22),44,146,0) 2499 PROCraised_block(52,8,172,50) 2500 PROCraised_block(290,8,172,50) 2501 PROCraised_block(528,8,172,50) 2502 PROCwrite2("DELETE",78,68,4) 2503 PROCwrite2("CANCEL",558,68,4) 2504 PROCwrite2("RENAME",314,68,4) 2505 MOUSE RECTANGLE 16,-16,720,236 2506 delete%=0:cancel%=0:rename%=0:REPEAT 2507 REPEAT:MOUSE X,Y,B:UNTIL B=4 OR B=1 2508 IF ABS(X-139)<90 AND ABS(Y-34)<30 THEN delete%=TRUE 2509 IF ABS(X-376)<90 AND ABS(Y-34)<30 THEN PROCrename(TRUE):cancel%=TRUE 2510 IF ABS(X-614)<90 AND ABS(Y-34)<30 THEN cancel%=TRUE 2511 UNTIL cancel% OR delete% 2512 IF delete% THEN 2513 PROCare_you_sure 2514 IF sure% THEN OSCLI("DELETE "+dir$+"."+cat$(box%)):shown_dir$="-" 2515 ENDIF:filer_info%=TRUE 2516 MOUSE RECTANGLE 0,0,1280,1024 2517 PROCwait_no_button 2518 ENDPROC 2519 2520 DEF PROCpanelled_background 2521 GCOL 216,216,216:RECTANGLE FILL 0,234,1280,878 2522 FOR Y%=238 TO 878 STEP40:GCOL 200,200,200:LINE 0,Y%,1280,Y% 2523 GCOL 232,232,232:LINE 0,Y%-2,1280,Y%-2:NEXT 2524 FOR X%=256 TO 1024 STEP256:GCOL 232,232,232:LINE X%,238,X%,878 2525 GCOL 200,200,200:LINE X%-2,238,X%-2,878:NEXT 2526 GCOL 216,216,216:RECTANGLE FILL 1026,234,260,60 2527 2528 ENDPROC 2529 2530 DEF PROCwrite2(text$,x%,y%,fc%) 2531 IF LEFT$(panel$,5)="Panel" THEN 2532 IF fc%>99 THEN 2533 panel$="Panel.Fixed":fc%-=100 2534 ELSE 2535 panel$="Panel.Medium" 2536 ENDIF 2537 ENDIF 2538 SYS "Font_FindFont",,panel$,12*16,12*16 TO font2% 2539 CASE fc% OF 2540 WHEN 0 :SYS "Font_SetPalette",,0,0,0,&FFFFFF00,0,&65757254 :REM Black 2541 WHEN 1,4,6:SYS "Font_SetPalette",,0,0,0,0,&FFFFFF00,&65757254 :REM White 2542 WHEN 2 :SYS "Font_SetPalette",,0,0,0,0,&C8400000,&65757254 :REM Blue 2543 WHEN 3 :SYS "Font_SetPalette",,0,0,0,0,&80404000,&65757254 :REM Blue2 2544 WHEN 5 :SYS "Font_SetPalette",,0,0,0,0,&FF808000,&65757254 :REM Blue3 2545 WHEN 7 :SYS "Font_SetPalette",,0,0,0,0,&00008000,&65757254 :REM Red 2546 ENDCASE 2547 px%=0:py%=0 2548 IF fc%=4 OR fc%=6 THEN px%+=2:py%-=2 2549 SYS "Font_Paint",font2%,CHR$127+text$,256+16,x%+px%,y%+py% 2550 IF fc%=4 THEN 2551 SYS "Font_SetPalette",,0,0,0,&FFFFFF00,0,&65757254 2552 SYS "Font_Paint",font2%,CHR$127+text$,256+16,x%+px%-2,y%+py%+2 2553 ENDIF 2554 IF fc%=6 THEN 2555 SYS "Font_SetPalette",,0,0,0,0,&A0A0A000,&65757254 2556 SYS "Font_Paint",font2%,CHR$127+text$,256+16,x%+px%-2,y%+py%+2 2557 ENDIF 2558 SYS "Font_LoseFont",font2% 2559 ENDPROC 2560 2561 DEF PROCpath_block 2562 GCOL 255,255,255:RECTANGLE FILL 12,896,1250,54 2563 GCOL 160,160,160:RECTANGLE FILL 18,892,1250,54 2564 GCOL 200,200,255:RECTANGLE FILL 16,896,1248,50 2565 SYS sprswi%,256+52,spb%,"acorn",16,884,8,0,translate% 2566 PROCwrite2("Pathname :",92,954,4) 2567 PROCwrite2(dir$,264,954,100) 2568 SYS sprswi%,256+52,spb%,"list",260+808,898,0,0,translate% 2569 GCOL 0,0,0:RECTANGLE 260+860,900,140,40 2570 ENDPROC 2571 2572 DEF PROCjpeg_buttons 2573 FOR Y%=120 TO -30 STEP-50 2574 SYS sprswi%,256+52,spb%,"off",500,Y%,8,0,translate%:NEXT 2575 IF Y>110 THEN jpeg_opt%=0 2576 IF Y>60 AND Y<111 THEN jpeg_opt%=1 2577 IF Y>10 AND Y<61 THEN jpeg_opt%=2 2578 IF Y<11 THEN jpeg_opt%=3 2579 Y%=120-50*jpeg_opt% 2580 SYS sprswi%,256+52,spb%,"on",500,Y%,8,0,translate% 2581 CASE jpeg_opt% OF 2582 WHEN 0,1:jpeg_scale%=0 2583 WHEN 2,3:jpeg_scale%=-1 2584 ENDCASE 2585 ENDPROC 2586 2587 DEF PROCclick_info 2588 PROCraised_block(464,-36,410,256) 2589 PROCwrite2("JPEG loading options:-",498,232,4) 2590 Y%=120:FOR y%=0 TO 3 2591 IF y%=jpeg_opt% THEN 2592 SYS sprswi%,256+52,spb%,"on",500,Y%,8,0,translate% 2593 ELSE 2594 SYS sprswi%,256+52,spb%,"off",500,Y%,8,0,translate% 2595 ENDIF 2596 Y%-=50:NEXT 2597 PROCwrite2("Crop to 640 x 480",544,176,4) 2598 PROCwrite2("Crop to 640 x 512",544,126,4) 2599 PROCwrite2("Scale to 640 x 480",544,76,4) 2600 PROCwrite2("Scale to 640 x 512",544,26,4) 2601 2602 PROCraised_block(920,180,120,40) :PROCwrite2("ROOT",934,234,4) 2603 PROCraised_block(1144,180,120,40):PROCwrite2("UP",1150,234,4) 2604 PROCraised_block(920,120,160,40) 2605 PROCraised_block(1104,120,160,40) 2606 PROCraised_block(920,-40,344,40) 2607 PROCraised_block(920,20,344,80) 2608 GCOL 96,96,96:LINE 1204,20,1204,104 2609 GCOL 255,255,255:LINE 1208,20,1208,104 2610 IF drv%=0 THEN 2611 SYS sprswi%,256+52,spb%,"on",992,54,8,0,translate% 2612 ELSE 2613 SYS sprswi%,256+52,spb%,"off",992,54,8,0,translate% 2614 ENDIF 2615 IF drv%=1 THEN 2616 SYS sprswi%,256+52,spb%,"on",1046,54,8,0,translate% 2617 ELSE 2618 IF floppies%>1 THEN 2619 SYS sprswi%,256+52,spb%,"off",1046,54,8,0,translate% 2620 ELSE 2621 SYS sprswi%,256+52,spb%,"off_grey",1046,54,8,0,translate% 2622 ENDIF 2623 ENDIF 2624 IF drv%=4 THEN 2625 SYS sprswi%,256+52,spb%,"on",1100,54,8,0,translate% 2626 ELSE 2627 SYS sprswi%,256+52,spb%,"off",1100,54,8,0,translate% 2628 ENDIF 2629 IF drv%=5 THEN 2630 SYS sprswi%,256+52,spb%,"on",1154,54,8,0,translate% 2631 ELSE 2632 IF hard_drives%>1 THEN 2633 SYS sprswi%,256+52,spb%,"off",1154,54,8,0,translate% 2634 ELSE 2635 SYS sprswi%,256+52,spb%,"off_grey",1154,54,8,0,translate% 2636 ENDIF 2637 ENDIF 2638 IF drv%=6 THEN 2639 SYS sprswi%,256+52,spb%,"on",1214,54,8,0,translate% 2640 ELSE 2641 IF ud_path% THEN 2642 SYS sprswi%,256+52,spb%,"off",1214,54,8,0,translate% 2643 ELSE 2644 SYS sprswi%,256+52,spb%,"off_grey",1214,54,8,0,translate% 2645 ENDIF 2646 ENDIF 2647 PROCwrite2("ADFS",912,110,4) 2648 PROCwrite2("Drive",912,70,4) 2649 PROCwrite2("0",994,70,4) 2650 PROCwrite2("1",1048,70,4) 2651 PROCwrite2("4",1102,70,4) 2652 PROCwrite2("5",1156,70,4) 2653 PROCwrite2("UD",1210,70,4) 2654 PROCwrite2("SAVE",952,174,4) 2655 PROCwrite2("CANCEL",1124,174,4) 2656 PROCwrite2("QUIT to DESKTOP",972,14,4) 2657 SYS sprswi%,256+52,spb%,"up",1220,186,8,0,translate% 2658 SYS sprswi%,256+52,spb%,"newdir",1058,176,8,0,translate256% 2659 ENDPROC 2660 2661 DEF PROCsave_options 2662 old_save_type$=save_type$ 2663 MOUSE RECTANGLE 0,-48,1280,280 2664 GCOL 216,216,216:RECTANGLE FILL 600,-50,680,44 2665 PROCraised_block(444,-44,820,272):save_name$="":save_quit%=0 2666 CASE save_type$ OF 2667 WHEN "sprite" :PROCsave_buttons(1) 2668 WHEN "targa1" :PROCsave_buttons(2) 2669 WHEN "pscan" :PROCsave_buttons(3) 2670 WHEN "jpeg1" :PROCsave_buttons(4) 2671 WHEN "jpeg2" :PROCsave_buttons(5) 2672 WHEN "overlay":IF overlay% PROCsave_buttons(6) 2673 ENDCASE 2674 PROCwrite2("Sprite 640 x 512",510,234,4) 2675 PROCwrite2("Targa 640 x 512",510,190,4) 2676 PROCwrite2("Pscan",510,146,4) 2677 PROCwrite2("320 x 256",620,146,4) 2678 PROCwrite2("JPEG 640 x 512",510,102,4) 2679 PROCwrite2("JPEG 320 x 256",510,58,4) 2680 PROCwrite2("Save sprite overlay",510,14,4) 2681 PROCwrite2("Enter filename :",920,224,0) 2682 GCOL 255,255,255:RECTANGLE FILL 920,120,240,40 2683 PROCwrite2("|",928,174,0) 2684 PROCraised_block(864,40,160,40) 2685 PROCraised_block(1064,40,160,40) 2686 PROCwrite2("SAVE",898,94,4) 2687 PROCwrite2("CANCEL",1084,94,4) 2688 IF LEFT$(save_type$,4)="jpeg" THEN PROCjpeg_panel 2689 REPEAT 2690 PROCwait_no_button:REPEAT:K$=INKEY$(1):UNTIL K$="" 2691 REPEAT:MOUSE X,Y,B:K$=INKEY$(1):UNTIL B=4 OR B=1 OR K$<>"" 2692 IF B=1 THEN B=4 2693 IF K$=CHR$8 THEN K$=CHR$127 2694 IF ASC(K$)=127 AND LEN(save_name$)>0 THEN 2695 L%=LEN(save_name$):save_name$=LEFT$(save_name$,L%-1) 2696 GCOL 255,255,255:RECTANGLE FILL 920,120,240,40 2697 PROCwrite2(save_name$+"|",928,174,0) 2698 ENDIF 2699 IF ASC(K$)=21 THEN 2700 save_name$="":GCOL 255,255,255:RECTANGLE FILL 920,120,240,40 2701 PROCwrite2(save_name$+"|",928,174,0) 2702 ENDIF 2703 IF LEN(save_name$)<10 AND ASC(K$)>32 AND ASC(K$)<127 AND K$<>"." THEN 2704 save_name$+=K$:GCOL 255,255,255:RECTANGLE FILL 920,120,240,40 2705 PROCwrite2(save_name$+"|",928,174,0) 2706 ENDIF 2707 IF B=4 THEN 2708 IF ABS(480-X)<22 AND ABS(200-Y)<22 THEN PROCsave_buttons(1) 2709 IF ABS(480-X)<22 AND ABS(156-Y)<22 THEN PROCsave_buttons(2) 2710 IF ABS(480-X)<22 AND ABS(112-Y)<22 THEN PROCsave_buttons(3) 2711 IF ABS(480-X)<22 AND ABS(68-Y)<22 THEN PROCsave_buttons(4) 2712 IF ABS(480-X)<22 AND ABS(24-Y)<22 THEN PROCsave_buttons(5) 2713 IF ABS(480-X)<22 AND ABS(-20-Y)<22 AND overlay% PROCsave_buttons(6) 2714 IF ABS(1142-X)<80 AND ABS(64-Y)<26 THEN save_quit%=TRUE 2715 IF ABS(X-398)<22 AND ABS(Y-94)<132 THEN PROCmem_select:refresh%=TRUE 2716 IF ABS(X-964)<22 AND ABS(Y)<18 AND LEFT$(save_type$,4)="jpeg" AND jpgq%>30 THEN jpgq%-=5:PROCjpeg_panel 2717 IF ABS(X-1122)<22 AND ABS(Y)<18 AND LEFT$(save_type$,4)="jpeg" AND jpgq%<95 THEN jpgq%+=5:PROCjpeg_panel 2718 ENDIF 2719 IF (B=4 AND (ABS(948-X)<80 AND ABS(64-Y)<26)) OR K$=CHR$13 THEN 2720 GCOL3,63 TINT192:RECTANGLE FILL 860,36,168,48 2721 IF LEN(save_name$)>0 THEN 2722 PROCsave_picture 2723 ELSE 2724 K=INKEY(25):RECTANGLE FILL 860,36,168,48 2725 ENDIF 2726 ENDIF 2727 IF LEFT$(save_type$,4)="jpeg" THEN PROCjpeg_panel ELSE PROCblank_jpeg_panel 2728 UNTIL save_quit% 2729 IF save_type$="overlay" save_type$=old_save_type$ 2730 ENDPROC 2731 2732 DEF PROCblank_jpeg_panel 2733 GCOL 208,208,216:RECTANGLE FILL 892,-20,304,40 2734 ENDPROC 2735 2736 DEF PROCjpeg_panel 2737 GCOL 255,255,255:RECTANGLE FILL 992,-20,104,40 2738 Q$="Q = "+STR$(jpgq%):PROCwrite2(Q$,988,32,0) 2739 SYS sprswi%,256+52,spb%,"left",942,-18,8,0,translate% 2740 SYS sprswi%,256+52,spb%,"right",1108,-18,8,0,translate% 2741 ENDPROC 2742 2743 DEF PROCsave_picture 2744 PROCdisplay_memory 2745 IF FNsave_ok THEN 2746 CASE save_type$ OF 2747 WHEN "sprite":OSCLI("SCREENSAVE "+dir$+"."+save_name$) 2748 WHEN "targa1" :PROCsave_targa(dir$+"."+save_name$) 2749 WHEN "pscan" :PROCsave_pscan(dir$+"."+save_name$) 2750 WHEN "jpeg1" :PROCsave_jpeg(dir$+"."+save_name$) 2751 WHEN "jpeg2" :PROCsave_jpeg(dir$+"."+save_name$) 2752 WHEN "overlay":SYS sprswi%,256+12,spr%,dir$+"."+save_name$ 2753 ENDCASE 2754 shown_dir$="-":path$(MEM%+1)=dir$+"."+save_name$ 2755 ELSE 2756 ERROR 1997,"There is already a directory called "+save_name$+" - try again using a different filename" 2757 ENDIF 2758 save_quit%=TRUE:quit%=TRUE 2759 ENDPROC 2760 2761 DEF FNsave_ok 2762 sok%=TRUE 2763 FOR N%=0 TO num%-1 2764 c1$="":FOR J%=1 TO LEN(cat$(N%)) 2765 c1$+=CHR$(ASC(MID$(cat$(N%),J%,1)) OR 32):NEXT 2766 c2$="":FOR J%=1 TO LEN(save_name$) 2767 c2$+=CHR$(ASC(MID$(save_name$,J%,1)) OR 32):NEXT 2768 IF c1$=c2$ AND ftype$(N%)="dir" THEN sok%=FALSE 2769 NEXT 2770 =sok% 2771 2772 DEF PROCsave_buttons(b%) 2773 SYS sprswi%,256+52,spb%,"off",460,180,8,0,translate% 2774 SYS sprswi%,256+52,spb%,"off",460,136,8,0,translate% 2775 SYS sprswi%,256+52,spb%,"off",460,92,8,0,translate% 2776 SYS sprswi%,256+52,spb%,"off",460,48,8,0,translate% 2777 SYS sprswi%,256+52,spb%,"off",460,4,8,0,translate% 2778 IF overlay% THEN 2779 SYS sprswi%,256+52,spb%,"off",460,-40,8,0,translate% 2780 ELSE 2781 SYS sprswi%,256+52,spb%,"off_grey",460,-40,8,0,translate% 2782 ENDIF 2783 CASE b% OF 2784 WHEN 1 : SYS sprswi%,256+52,spb%,"on",460,180,8,0,translate% 2785 save_type$="sprite" 2786 WHEN 2 : SYS sprswi%,256+52,spb%,"on",460,136,8,0,translate% 2787 save_type$="targa1" 2788 WHEN 3 : SYS sprswi%,256+52,spb%,"on",460,92,8,0,translate% 2789 save_type$="pscan" 2790 WHEN 4 : SYS sprswi%,256+52,spb%,"on",460,48,8,0,translate% 2791 save_type$="jpeg1" 2792 WHEN 5 : SYS sprswi%,256+52,spb%,"on",460,4,8,0,translate% 2793 save_type$="jpeg2" 2794 WHEN 6 : SYS sprswi%,256+52,spb%,"on",460,-40,8,0,translate% 2795 save_type$="overlay" 2796 ENDCASE 2797 ENDPROC 2798 2799 DEF PROCshow_file_list 2800 IF dir$=shown_dir$ THEN 2801 PROCshow_last_file_list 2802 ELSE 2803 IF NOT big_dir% THEN start_entry%=0 2804 last_start_entry%=start_entry% 2805 FOR N%=0TO80:cat$(N%)="":ftype$(N%)="":NEXT 2806 SYS "OS_GBPB",10,dir$,gbpb%,77,start_entry%,gbpb_len%,0 TO,,,num%,o% 2807 IF o%=-1 THEN 2808 IF big_dir% THEN was_big_dir%=TRUE 2809 big_dir%=FALSE 2810 ELSE 2811 big_dir%=TRUE 2812 start_entry%+=num% 2813 shown_dir$="" 2814 ENDIF 2815 A%=gbpb%:ns%=0:C%=0:PX%=54:PY%=844 2816 IF num%>0 THEN 2817 REPEAT 2818 ft$=STR$~!A%:ft$=MID$(ft$,4,3) 2819 A%=A%+20:f$="" 2820 REPEAT:f$+=CHR$(?A%):A%=A%+1:UNTIL ?A%=0 2821 IF ft$="FFD" THEN SYS "OS_File",15,dir$+"."+f$ TO d%:IF d%=2 ft$="dir" 2822 IF ft$<>"" THEN 2823 type$="no_use" 2824 IF ft$="BE8" THEN type$="photo" 2825 IF ft$="FF9" THEN type$="sprite" 2826 IF ft$="69D" THEN type$="targa" 2827 IF ft$="96A" THEN type$="pscan" 2828 IF ft$="C85" OR RIGHT$(f$,4)="/JPG" OR RIGHT$(f$,3)="/JP" OR RIGHT$(f$,2)="/J" THEN type$="jpeg" 2829 IF ft$="dir" THEN type$="dir" 2830 ftype$(ns%)=type$:cat$(ns%)=f$ 2831 c$=cat$(ns%):dos_ext%=INSTR(c$,"/") 2832 IF dos_ext%>0 c$=LEFT$(c$,dos_ext%-1) 2833 IF cat$(ns%)=lastfile$ c$=c$+" "+CHR$128 ELSE c$=c$+" " 2834 PROCwrite2(c$,PX%,PY%+46,0) 2835 CASE type$ OF 2836 WHEN "sprite":icon$="sm_ff9" 2837 WHEN "targa" :icon$="sm_69d" 2838 WHEN "pscan" :icon$="sm_96a" 2839 WHEN "jpeg" :icon$="sm_c85" 2840 WHEN "photo" :icon$="sm_be8" 2841 WHEN "dir" :icon$="dir" 2842 WHEN "no_use":icon$="no_use" 2843 ENDCASE 2844 SYS sprswi%,256+52,spb%,icon$,PX%-40,PY%-4,0,0,translate% 2845 ns%+=1:PY%-=40:IF PY%<244 THEN PX%+=256:PY%=844 2846 ENDIF 2847 C%+=1:A%+=1:WHILE A%/4<>A%DIV4 A%+=1:ENDWHILE 2848 UNTIL C%=num% 2849 ENDIF 2850 PROCwrite2("Total files = "+STR$ num%,1026,370,4) 2851 IF NOT big_dir% THEN shown_dir$=dir$ 2852 dir_entries%=num% 2853 ENDIF 2854 PROCraised_block(1104,240,70,40) 2855 PROCraised_block(1192,240,70,40) 2856 IF big_dir% c%=4 ELSE c%=6 2857 PROCwrite2("<<",1108,294,c%) 2858 PROCwrite2(">>",1200,294,c%) 2859 ENDPROC 2860 2861 DEF PROCshow_last_file_list 2862 IF dir_entries%>0 THEN 2863 C%=0:PX%=54:PY%=844 2864 REPEAT 2865 c$=cat$(C%):dos_ext%=INSTR(c$,"/") 2866 IF dos_ext%>0 c$=LEFT$(c$,dos_ext%-1) 2867 IF cat$(C%)=lastfile$ c$=c$+" "+CHR$128 ELSE c$=c$+" " 2868 PROCwrite2(c$,PX%,PY%+46,0) 2869 type$=ftype$(C%) 2870 CASE type$ OF 2871 WHEN "sprite":icon$="sm_ff9" 2872 WHEN "targa" :icon$="sm_69d" 2873 WHEN "pscan" :icon$="sm_96a" 2874 WHEN "jpeg" :icon$="sm_c85" 2875 WHEN "photo" :icon$="sm_be8" 2876 WHEN "dir" :icon$="dir" 2877 WHEN "no_use":icon$="no_use" 2878 ENDCASE 2879 SYS sprswi%,256+52,spb%,icon$,PX%-40,PY%-4,0,0,translate% 2880 PY%-=40:IF PY%<244 THEN PX%+=256:PY%=844 2881 C%+=1 2882 UNTIL C%=dir_entries% 2883 ENDIF 2884 PROCwrite2("Total files = "+STR$ dir_entries%,1026,370,4) 2885 ENDPROC 2886 2887 DEF PROCup_one_dir 2888 IF RIGHT$(dir$,1)<>"$" THEN 2889 N%=LEN(dir$):REPEAT:N%-=1:UNTIL MID$(dir$,N%,1)="." 2890 dir$=LEFT$(dir$,N%-1) 2891 ENDIF 2892 ENDPROC 2893 2894 DEF PROCroot_dir 2895 WHILE RIGHT$(dir$,1)<>"$" PROCup_one_dir:ENDWHILE 2896 ENDPROC 2897 2898 DEF PROCdisplay_separation(rgb$) 2899 PROCdisplay_memory:!start_address=screen% 2900 CASE rgb$ OF 2901 WHEN "R":CALL display_red_as_mono 2902 WHEN "G":CALL display_green_as_mono 2903 WHEN "B":CALL display_blue_as_mono 2904 ENDCASE 2905 PROCwait_no_button 2906 REPEAT:MOUSE X,Y,B:UNTIL B<>0 2907 PROCdisplay_memory 2908 ENDPROC 2909 2910 DEF PROCrgb_processing 2911 GCOL3,63 TINT192:RECTANGLE FILL 836,4,52,50 2912 REPEAT 2913 menu$(0)="RGB processing and misc." 2914 menu$(2)="Rotate R-G-B sequence" 2915 menu$(3)="Show RED separation" 2916 menu$(4)="Show GREEN separation" 2917 menu$(5)="Show BLUE separation" 2918 menu$(6)="Invert RED" 2919 menu$(7)="Invert GREEN" 2920 menu$(8)="Invert BLUE" 2921 menu$(9)="Picture processing" 2922 menu$(10)="Scale picture 2:1" 2923 menu$(11)="Scale picture 1:2" 2924 menu$(12)="320 x 256 preview" 2925 menu$(13)="Tile perspective effect>" 2926 menu$(14)="Rotate or flip>" 2927 menu$(15)="Fade top-to-bottom" 2928 menu$(16)="Show pixel RGB values" 2929 menu$(17)="Waveform monitor" 2930 menu$(18)="*":PROCmenu(494,90,0) 2931 menu_redraw%=TRUE 2932 CASE menu_box% OF 2933 WHEN 1:PROCdisplay_memory 2934 WHEN 2:PROCdisplay_memory:CALL rgb_correction:PROCupload_memory 2935 WHEN 3:PROCdisplay_separation("R") 2936 WHEN 4:PROCdisplay_separation("G") 2937 WHEN 5:PROCdisplay_separation("B") 2938 WHEN 9:PROCpicpro_panel(420,100) 2939 WHEN 6,7,8:PROCinvert_colour(menu_box%) 2940 WHEN 10:PROCzoom_pic 2941 WHEN 11:PROCquarter 2942 WHEN 12:PROCundo_dither 2943 WHEN 13:PROCperp_menu 2944 WHEN 14:PROCtran_menu 2945 WHEN 15:PROCscreen_fade 2946 WHEN 16:PROCpixel_rgb 2947 WHEN 17:PROCwaveform_monitor 2948 ENDCASE 2949 UNTIL menu_box%=1 2950 PROCmini_pad 2951 ENDPROC 2952 2953 DEF PROCinvert_colour(c%) 2954 FOR N%=0 TO 31 2955 IF c%=6 THEN reddata?N%=31-N% ELSE reddata?N%=N% 2956 IF c%=7 THEN grndata?N%=31-N% ELSE grndata?N%=N% 2957 IF c%=8 THEN bludata?N%=31-N% ELSE bludata?N%=N% 2958 NEXT:PROCdisplay_memory 2959 !start_address=screen%:!picpro_bytes=1280:!picpro_lines=512 2960 !red_address=reddata:!green_address=grndata:!blue_address=bludata 2961 CALL picture_process:PROCupload_memory 2962 ENDPROC 2963 2964 DEF PROCrotate_rgb_assemble 2965 base=3:offset=4:data=5:blue_mask=6:rgb_mask=7 2966 mask1=8:mask2=9 2967 DIM rgb_code 200 2968 FOR P=0 TO 2 STEP2 2969 P%=rgb_code 2970 [OPT P 2971 .rgb_scrn_address EQUD 0 2972 .rgb_blu_mask EQUD %01111100000000000111110000000000 2973 .rgb_rgb_mask EQUD %10000000000111111000000000011111 2974 .corr_mask1 EQUD %11111100000000001111110000000000 2975 .corr_mask2 EQUD %00000011111111110000001111111111 2976 2977 .rotate_rgb_code 2978 LDR base,rgb_scrn_address:MOV offset,#0 2979 LDR blue_mask,rgb_blu_mask:LDR rgb_mask,rgb_rgb_mask 2980 2981 .rgb_loop 2982 LDR data,[base,offset]:AND R0,data,blue_mask:MOV R0,R0,LSR#10 2983 MOV data,data,LSL#5:BIC data,data,rgb_mask 2984 ADD data,data,R0 2985 STR data,[base,offset]:ADD offset,offset,#4 2986 CMP offset,#655360:BNE rgb_loop 2987 MOV PC,R14 2988 2989 .rgb_correction 2990 LDR base,rgb_scrn_address:MOV offset,#0 2991 LDR mask1,corr_mask1:LDR mask2,corr_mask2 2992 .rgb_corr_loop 2993 LDR data,[base,offset]:MOV data,data,LSR#5:BIC data,data,mask1 2994 ADD base,base,#1280:LDR R0,[base,offset]:SUB base,base,#1280 2995 MOV R0,R0,LSL#10:BIC R0,R0,mask2 2996 ADD data,data,R0:STR data,[base,offset]:ADD offset,offset,#4 2997 CMP offset,#655360:BNE rgb_corr_loop 2998 MOV PC,R14 2999 ] 3000 NEXT:!rgb_scrn_address=screen% 3001 ENDPROC 3002 3003 DEF PROCsave_jpeg(dest$) 3004 OSCLI("Create <Pscan$Dir>.JPEG.JPEGscrap.scrapfile F0000") 3005 SYS "Hourglass_On" 3006 source$="<Pscan$Dir>.JPEG.JPEGscrap.scrapfile" 3007 IF save_type$="jpeg1" THEN 3008 PROCsave_targa(source$) 3009 ELSE 3010 PROCsmall_targa(source$) 3011 ENDIF 3012 q$="-Q "+STR$ jpgq%+" " 3013 SYS "Wimp_StartTask","<Pscan$Dir>.JPEG.cjpeg -T "+q$+source$+" "+dest$ 3014 OSCLI("SETTYPE "+dest$+" JPEG") 3015 OSCLI("DELETE "+source$) 3016 SYS "OS_Byte",229,0,0:VDU26 3017 SYS "Hourglass_Off" 3018 ENDPROC 3019 3020 DEF PROCload_jpeg(source$) 3021 SYS "Hourglass_On":ORIGIN 0,0:CLS:T=TIME 3022 jpeg_len%=FNfile_len(source$) 3023 IF jpeg_len%>655360 THEN ERROR 1997,"File too long - limit is 640k" 3024 OSCLI("LOAD "+source$+" "+STR$~(memblock%+20)) 3025 SYS "JPEG_Info",,memblock%+20,655360 TO ,,xs%,ys% 3026 jpegscale%!0=100000:jpegscale%!4=100000 3027 jpegscale%!8=100000:jpegscale%!12=100000:x%=0:y%=0 3028 IF jpeg_scale% THEN 3029 IF jpeg_opt%=2 THEN W%=480 ELSE W%=512 3030 IF xs%<640 THEN jpegscale%!0=640/xs%*100000 3031 IF xs%>640 THEN jpegscale%!8=xs%/640*100000 3032 IF ys%<W% THEN jpegscale%!4=W%/ys%*100000 3033 IF ys%>W% THEN jpegscale%!12=ys%/W%*100000 3034 ELSE 3035 IF jpeg_opt%=0 THEN W%=480 ELSE W%=512 3036 x%=640-xs%:y%=W%-ys% 3037 ENDIF 3038 SYS "JPEG_PlotScaled",memblock%+20,x%,y%,jpegscale%,jpeg_len%,1 3039 T$=LEFT$(STR$((TIME-T)/100),4):IF W%=480 THEN PROCtopscale2(2) 3040 PROCupload_memory:quit%=TRUE:jpeg_info%=TRUE:path$(MEM%+1)=source$ 3041 SYS "Hourglass_Off" 3042 ENDPROC 3043 3044 DEF PROCload_pscan(source$) 3045 a%=memblock%+20 3046 OSCLI("LOAD "+source$+" "+STR$~a%) 3047 !targa_screen=screen%:!targa_memory=memblock%+20 3048 CALL decode_pscan_96a:PROCupload_memory:quit%=TRUE 3049 path$(MEM%+1)=source$ 3050 ENDPROC 3051 3052 DEF PROCload_sprite(source$) 3053 MOUSE mx%,my%,d% 3054 ch%=OPENUP(source$) 3055 FOR N%=28 TO 35:PTR#ch%=N%:gbpb%?N%=BGET#ch%:NEXT 3056 PTR#ch%=55:M%=BGET#ch%:CLOSE#ch% 3057 ORIGIN 0,0:loaded%=0 3058 IF (gbpb%!32)=511 AND (gbpb%!28)=319 THEN 3059 OSCLI("SCREENLOAD "+source$) 3060 OFF:WAIT:PROCupload_memory:loaded%=TRUE 3061 ENDIF 3062 IF (gbpb%!32)=479 AND (gbpb%!28)=319 THEN 3063 IF screen_lines%=512 THEN N%=40904 ELSE N%=1224 3064 OSCLI("LOAD "+source$+" "+STR$~(screen%+N%)) 3065 PROCupload_memory:PROCtopscale2(0):loaded%=TRUE 3066 ENDIF 3067 IF NOT(loaded%) THEN PROCload_overlay_sprite 3068 IF loaded% THEN path$(MEM%+1)=source$ 3069 quit%=TRUE:*POINTER 1 3070 MOUSE TO mx%,my%+50 3071 ENDPROC 3072 3073 DEF PROCload_targa(source$) 3074 a%=memblock%+2 3075 OSCLI("LOAD "+source$+" "+STR$~a%) 3076 !targa_base=memblock%+20:CALL targa_convert:quit%=TRUE 3077 IF a%?13=1 THEN 3078 !targa_screen=screen%:!targa_memory=!targa_base 3079 CALL decode_small_targa:PROCupload_memory 3080 ENDIF 3081 path$(MEM%+1)=source$ 3082 ENDPROC 3083 3084 DEF PROCsave_pscan(st$) 3085 IF NOT bypass% THEN 3086 IF !screen%<>&80008000 THEN ERROR 1996,"This picture was not received in a 320 x 256 SSTV mode so it cannot be saved in Pscan format"+CHR$13+CHR$13 3087 ENDIF 3088 !targa_screen=screen%:!targa_memory=memblock%+20 3089 PROCdisplay_memory:!pscan_temp=1:CALL make_small_targa 3090 A%=memblock%+20 3091 SYS "OS_File",10,st$,&96A,0,A%,A%+&28000:REM *SAVE 3092 PROCupload_memory 3093 ENDPROC 3094 3095 DEF PROCsmall_targa(st$) 3096 !targa_screen=screen%:!targa_memory=memblock%+20 3097 PROCdisplay_memory:!pscan_temp=0:CALL make_small_targa 3098 !targa_base=memblock%+20:CALL targa_convert 3099 A%=memblock%+2 3100 RESTORE +0 3101 FOR N%=A% TO A%+17:READ D%:?N%=D%:NEXT 3102 end%=(memblock%+20)+163840 3103 !end%=0:end%!4=0:$(end%+8)="TRUEVISION-TARGA.":end%?25=0 3104 DATA 0,0,2,0,0,0,0,0,0,0,0,0,64,1,0,1,16,&20 3105 SYS "OS_File",10,st$,&69D,0,A%,A%+&2802C:REM *SAVE 3106 PROCupload_memory 3107 ENDPROC 3108 3109 DEF PROCmake_small_targa_assemble 3110 base1=3:base2=4:offset1=5:offset2=6:data1=7:data2=8 3111 mask=9:mask2=10:lines=11:pscan_flag=12 3112 DIM targa_code2% 640 3113 FOR P=0 TO 2 STEP2 3114 P%=targa_code2% 3115 [OPT P 3116 .targa_mask EQUD %00000000000000001111111111111111 3117 .targa_mask2 EQUD %11111111111111110000000000000000 3118 .pscan_temp EQUD 0 3119 .targa_screen EQUD 0 3120 .targa_memory EQUD 0 3121 .green_mask EQUD %11111111111111111000001111100000 3122 3123 .make_small_targa 3124 LDR base1,targa_screen:LDR base2,targa_memory:LDR pscan_flag,pscan_temp 3125 LDR mask,targa_mask:MOV offset1,#0:MOV offset2,#0:MOV lines,#256 3126 3127 .make_targa_loop 3128 LDR R1,[base1,offset1]:AND data1,R1,mask:ADD offset1,offset1,#4 3129 LDR R2,[base1,offset1]:AND data2,R2,mask 3130 MOV data2,data2,LSL#16:ADD R0,data1,data2 3131 CMP pscan_flag,#0:BEQ just_targa 3132 3133 MOV data1,R1,LSR#5:AND data1,data1,#31 3134 MOV data2,R1,LSR#21:AND data2,data2,#31 3135 CMP data1,data2:ORRNE R0,R0,#%00000000000000001000000000000000 3136 MOV data1,R2,LSR#5:AND data1,data1,#31 3137 MOV data2,R2,LSR#21:AND data2,data2,#31 3138 CMP data1,data2:ORRNE R0,R0,#%10000000000000000000000000000000 3139 3140 .just_targa 3141 STR R0,[base2,offset2]:ADD offset2,offset2,#4:ADD offset1,offset1,#4 3142 CMP offset2,#640:BNE make_targa_loop 3143 ADD base1,base1,#2560:ADD base2,base2,#640 3144 MOV offset1,#0:MOV offset2,#0:SUBS lines,lines,#1:BNE make_targa_loop 3145 MOV PC,R14 3146 3147 ; ------------------------------------------- 3148 3149 .decode_small_targa 3150 LDR base1,targa_screen:LDR base2,targa_memory 3151 LDR mask,targa_mask:LDR mask2,targa_mask2 3152 MOV offset1,#0:MOV offset2,#0:MOV lines,#256 3153 3154 .decode_targa_loop 3155 LDR R0,[base2,offset2]:AND data1,R0,mask:MOV data2,data1,LSL#16 3156 ADD data2,data2,data1:STR data2,[base1,offset1]:ADD base1,base1,#1280 3157 STR data2,[base1,offset1]:SUB base1,base1,#1280:ADD offset1,offset1,#4 3158 3159 LDR R0,[base2,offset2]:AND data1,R0,mask2:MOV data2,data1,LSR#16 3160 ADD data2,data2,data1:STR data2,[base1,offset1]:ADD base1,base1,#1280 3161 STR data2,[base1,offset1]:SUB base1,base1,#1280:ADD offset1,offset1,#4 3162 ADD offset2,offset2,#4:CMP offset2,#640:BNE decode_targa_loop 3163 3164 ADD base2,base2,#640:ADD base1,base1,#2560 3165 MOV offset1,#0:MOV offset2,#0:SUBS lines,lines,#1:BNE decode_targa_loop 3166 MOV PC,R14 3167 3168 ; ------------------------------------------- 3169 3170 .decode_pscan_96a 3171 3172 LDR base1,targa_screen:LDR base2,targa_memory 3173 LDR mask,targa_mask:LDR mask2,targa_mask2 3174 MOV offset1,#0:MOV offset2,#0:MOV lines,#256 3175 3176 .decode_pscan_loop 3177 LDR R0,[base2,offset2]:AND data1,R0,mask 3178 TST data1,#%1000000000000000:BEQ no_dither1 3179 MOV R0,data1,LSR#5:AND R0,R0,#31:SUB R0,R0,#1:MOV R0,R0,LSL#5 3180 LDR R1,green_mask:BIC R1,data1,R1:ADD R0,R0,R1:MOV R0,R0,LSL#16 3181 ADD R0,data1,R0:B store_words1 3182 .no_dither1 3183 MOV data2,data1,LSL#16:ADD R0,data1,data2 3184 .store_words1 3185 STR R0,[base1,offset1]:MOV R0,R0,ROR#16 3186 ADD base1,base1,#1280:STR R0,[base1,offset1] 3187 SUB base1,base1,#1280:ADD offset1,offset1,#4 3188 3189 LDR R0,[base2,offset2]:AND data1,R0,mask2:MOV data1,data1,LSR#16 3190 TST data1,#%1000000000000000:BEQ no_dither2 3191 MOV R0,data1,LSR#5:AND R0,R0,#31:SUB R0,R0,#1:MOV R0,R0,LSL#5 3192 LDR R1,green_mask:BIC R1,data1,R1:ADD R0,R0,R1:MOV R0,R0,LSL#16 3193 ADD R0,data1,R0:B store_words2 3194 .no_dither2 3195 MOV data2,data1,LSL#16:ADD R0,data1,data2 3196 .store_words2 3197 STR R0,[base1,offset1]:MOV R0,R0,ROR#16 3198 ADD base1,base1,#1280:STR R0,[base1,offset1] 3199 SUB base1,base1,#1280:ADD offset1,offset1,#4 3200 ADD offset2,offset2,#4:CMP offset2,#640:BNE decode_pscan_loop 3201 3202 ADD base2,base2,#640:ADD base1,base1,#2560 3203 MOV offset1,#0:MOV offset2,#0:SUBS lines,lines,#1:BNE decode_pscan_loop 3204 MOV PC,R14 3205 ]:NEXT 3206 ENDPROC 3207 3208 DEF PROCtest_card 3209 GCOL0,0,0:RECTANGLE FILL 0,0,1279,1024:FOR X%=40 TO 1200 STEP160 3210 GCOL 255,255,255:RECTANGLE FILL X%,0,78,960:NEXT 3211 FOR Y%=32 TO 900 STEP138 3212 RECTANGLE FILL 0,Y%,1280,64:NEXT 3213 GCOL 128,128,128:RECTANGLE FILL 48,40,1182,876 3214 GCOL 255,255,255:FOR X%=116 TO 1162 STEP80 3215 RECTANGLE FILL X%,40,6,880:NEXT 3216 FOR Y%=94 TO 860 STEP69:RECTANGLE FILL 40,Y%,1198,6:NEXT 3217 RESTORE +0 3218 FOR X%=124 TO 1022 STEP128:READ r%,g%,b% 3219 GCOL r%,g%,b%:RECTANGLE FILL X%,446,134,198:NEXT 3220 GCOL 255,255,255:LINE 124,448,124,644 3221 g%=6:FOR X%=126 TO 1140 STEP32:GCOL g%,g%,g% 3222 RECTANGLE FILL X%,654,36,128:g%+=8:NEXT:LINE 1152,656,1152,790 3223 GCOL 0,0,0:LINE 124,656,124,782 3224 r%=80:g%=0:b%=156 3225 FOR Y%=792 TO 854 STEP2:GCOL r%,g%,b%:LINE 364,Y%,914,Y% 3226 r%+=3:g%+=3:b%+=3:NEXT 3227 FOR Y%=856 TO 916 STEP2:GCOL r%,g%,b%:LINE 364,Y%,914,Y% 3228 r%-=3:g%-=3:b%-=3:NEXT 3229 W%=FNtext_width("Homerton.Bold",call$,54,46):X%=364+(548-W%)/2 3230 PROCwrite("Homerton.Bold",call$,X%+10,808,54,46,0) 3231 PROCwrite("Homerton.Bold",call$,X%,818,54,46,1) 3232 GCOL 0,0,0:RECTANGLE FILL 124,240,1030,128:GCOL 255,255,255 3233 FOR X%=152 TO 500 STEP64:RECTANGLE FILL X%,240,30,128:NEXT 3234 FOR X%=524 TO 844 STEP32:RECTANGLE FILL X%,240,14,128:NEXT 3235 FOR X%=868 TO 1150 STEP16:RECTANGLE FILL X%,240,6,128:NEXT 3236 g%=254:FOR X%=124 TO 1140 STEP32:GCOL g%,g%,g% 3237 RECTANGLE FILL X%,102,38,128:g%-=8:NEXT 3238 GCOL 0,0,0:RECTANGLE FILL 1150,104,2,126 3239 PROCupload_memory:PROCtopscale2(0) 3240 DATA 255,255,255,255,255,0,0,255,255,0,255,0,255,0,255 3241 DATA 255,0,0,0,0,255,0,0,0 3242 ENDPROC 3243 3244 DEF PROCfax_header(bw%) 3245 PROCdisplay_memory:VDU23,17,7,6,16;16;0; 3246 GCOL 255,255,255:RECTANGLE FILL 0,960,1280,64 3247 IF NOT bw% THEN 3248 GCOL 255,0,0:RECTANGLE FILL 64,968,64,48 3249 GCOL 0,255,0:RECTANGLE FILL 128,968,64,48 3250 GCOL 0,0,255:RECTANGLE FILL 192,968,64,48 3251 GCOL 0,0,0:VDU5:MOVE 80,1004:PRINT"R" 3252 MOVE 144,1004:PRINT"G" 3253 MOVE 208,1004:PRINT"B" 3254 PROCwrite("Homerton.Bold",call$+" colour FAX",570,976,16,20,2) 3255 ELSE 3256 PROCwrite("Homerton.Bold",call$+" mono FAX",570,976,16,20,2) 3257 GCOL 0,0,0:FOR X%=64 TO 252 STEP 16 3258 RECTANGLE FILL X%,968,6,48:NEXT 3259 RECTANGLE 64,968,182,48 3260 ENDIF 3261 PROCwrite("Homerton.Bold",MID$(TIME$,5,6)+"'"+MID$(TIME$,14,2),970,976,16,20,2) 3262 SYS sprswi%,256+52,spb%,"acorn2",1196,960,8,0,translate% 3263 VDU4:OFF:WAIT:g%=0 3264 FOR X%=280 TO 528 STEP8 3265 GCOL g%,g%,g%:RECTANGLE FILL X%,968,8,48 3266 g%+=8:NEXT 3267 GCOL 0,0,0:RECTANGLE 278,966,258,52:RECTANGLE 276,964,262,56 3268 VDU23,17,7,6,8;8;0; 3269 PROCupmini 3270 ENDPROC 3271 3272 DEF PROCgrab_rectangle(all%) 3273 PROCdisplay_memory:PROCwait_no_button 3274 IF all% THEN 3275 X=1280:Y=0:X1=0:Y1=1024:plot_border%=0:plot_shadow%=0 3276 ELSE 3277 PROCgrab_rectangle_cursor 3278 ENDIF 3279 GW%=X-X1:GH%=Y1-Y 3280 A%=((1024-Y1)DIV2)*1280+X1 3281 A%=A%-A% MOD4 3282 A%=A%+(memblock%+20) 3283 GL%=(Y1-Y)DIV2:GB%=X-X1 3284 !source_start=A%:!num_lines=GL%+4:!num_bytes=GB%+8 3285 PROCdismini 3286 ENDPROC 3287 3288 DEF PROCgrab_rectangle_cursor 3289 REPEAT:MOUSE X,Y,B:UNTIL B<>0:X1=X:Y1=Y 3290 IF B=4 THEN 3291 PROCwait_no_button 3292 GCOL3,63 TINT0:REPEAT:MOUSE X,Y,B 3293 RECTANGLE X1,Y1,X-X1,Y-Y1 3294 REPEAT:MOUSE x,y,b:UNTIL x<>X OR y<>Y OR b=4 3295 RECTANGLE X1,Y1,X-X1,Y-Y1 3296 UNTIL B=4 OR b=4 3297 RECTANGLE X1,Y1,X-X1,Y-Y1 3298 IF X<X1 THEN SWAP X,X1 3299 IF Y1<Y THEN SWAP Y1,Y 3300 ENDIF 3301 ENDPROC 3302 3303 DEF PROCgrab_quarter_area 3304 X1=320:Y1=766:X=960:Y=288 3305 GW%=X-X1:GH%=Y1-Y:A%=((1024-Y1)DIV2)*1280+X1 3306 A%=A%-A% MOD4:A%=A%+(memblock%+20) 3307 GL%=(Y1-Y)DIV2:GB%=X-X1 3308 !source_start=A%:!num_lines=GL%+4:!num_bytes=GB%+8 3309 plot_border%=0:plot_shadow%=0 3310 ENDPROC 3311 3312 DEF PROCplot_grabbed_area(flipx%) 3313 IF flipx%=1 THEN 3314 !num_lines=512:!num_bytes=1280:!dest_start=screen%:CALL get_area 3315 ELSE 3316 IF GW%=0 OR GH%=0 THEN 3317 PROCdisplay_memory 3318 ELSE 3319 PROCdisplay_memory:PROCwait_no_button:MOUSE X,Y,B 3320 GCOL 3,63:RECTANGLE X,Y,GW%,GH%:REPEAT 3321 REPEAT:MOUSE X1,Y1,B:UNTIL X<>X1 OR Y<>Y1 OR B<>0 3322 RECTANGLE X,Y,GW%,GH%:RECTANGLE X1,Y1,GW%,GH% 3323 X=X1:Y=Y1:UNTIL B<>0 3324 IF B<>4 THEN 3325 PROCdisplay_memory 3326 ELSE 3327 PROCdisplay_memory 3328 WHILE X/4<>X DIV 4:X+=1:ENDWHILE 3329 Y=Y+GH%:A%=((1024-Y)DIV2)*1280+X 3330 IF plot_shadow%=1 PROCgradated_shadow 3331 IF plot_border%=1 PROCplinth(X1-20,Y1-20,GW%+44,GH%+40,32,pbr%,pbg%,pbb%) 3332 IF plot_border%=2 PROCplinth2(X1-30,Y1-30,GW%+64,GH%+60,pbr%,pbg%,pbb%,pbri%,pbgi%,pbbi%) 3333 ENDIF 3334 !num_lines=GL%:!num_bytes=GB%:!dest_start=screen%+A% 3335 IF flipx% THEN CALL get_area_flipx ELSE CALL get_area 3336 ENDIF 3337 ENDIF 3338 ENDIF 3339 PROCupmini 3340 ENDPROC 3341 3342 DEF PROCgradated_shadow 3343 !red_address=reddata:!green_address=grndata:!blue_address=bludata 3344 !picpro_lines=GL%+20:!picpro_bytes=GB%+24 3345 !start_address=screen%+A%+28+1280*12 3346 FOR N%=0 TO 31 3347 reddata?N%=N%-2:IF reddata?N%>31 THEN reddata?N%=0 3348 grndata?N%=N%-2:IF grndata?N%>31 THEN grndata?N%=0 3349 bludata?N%=N%-2:IF bludata?N%>31 THEN bludata?N%=0 3350 NEXT 3351 FOR N%=1 TO 10:CALL picture_process 3352 !start_address=(!start_address)-2564:NEXT 3353 ENDPROC 3354 3355 DEF PROCscreen_fade 3356 PROCdisplay_memory 3357 !red_address=reddata:!green_address=grndata:!blue_address=bludata 3358 FOR N%=1 TO 31:reddata?N%=N%-1:grndata?N%=N%-1:bludata?N%=N%-1:NEXT 3359 reddata?0=0:grndata?0=0:bludata?0=0 3360 L%=512:!picpro_bytes=1280:O%=0 3361 FOR N%=1 TO 16 3362 !picpro_lines=L%:!start_address=screen%+O%:CALL picture_process 3363 L%-=32:O%+=40960:NEXT 3364 PROCupload_memory:ENDPROC 3365 3366 DEF PROCget_area_assemble 3367 DIM get_code 320 3368 base1=4:base2=5:offset=6:lines=7:bytes=8:data=9:clear=10:shadtype=11 3369 offset2=12 3370 FOR P=0 TO 2 STEP2 3371 P%=get_code 3372 [OPT P 3373 .source_start EQUD 0 3374 .dest_start EQUD 0 3375 .num_bytes EQUD 0 3376 .num_lines EQUD 0 3377 .shadow_start EQUD 0 3378 .shadow_flag EQUD 0 3379 .clear_mask EQUD 0 3380 3381 .get_area 3382 LDR base1,source_start:LDR base2,dest_start 3383 LDR bytes,num_bytes:MOV offset,#0:LDR lines,num_lines 3384 .get_area_loop 3385 LDR data,[base1,offset]:STR data,[base2,offset] 3386 ADD offset,offset,#4:CMP offset,bytes:BLT get_area_loop 3387 ADD base1,base1,#1280:ADD base2,base2,#1280:MOV offset,#0 3388 SUBS lines,lines,#1:BNE get_area_loop 3389 MOV PC,R14 3390 3391 .get_area_flipx 3392 LDR base1,source_start:LDR base2,dest_start 3393 LDR bytes,num_bytes:MOV offset,#0:MOV offset2,bytes:LDR lines,num_lines 3394 .get_area_flipx_loop 3395 LDR data,[base1,offset]:MOV data,data,ROR#16:STR data,[base2,offset2] 3396 SUB offset2,offset2,#4:ADD offset,offset,#4 3397 CMP offset,bytes:BLT get_area_flipx_loop 3398 ADD base1,base1,#1280:ADD base2,base2,#1280 3399 MOV offset,#0:MOV offset2,bytes 3400 SUBS lines,lines,#1:BNE get_area_flipx_loop 3401 MOV PC,R14 3402 3403 .shadow 3404 LDR base1,shadow_start:MOV offset,#0:LDR clear,clear_mask 3405 LDR shadtype,shadow_flag 3406 LDR bytes,num_bytes:LDR lines,num_lines 3407 .shadow_loop LDR data,[base1,offset] 3408 CMP shadtype,#0:MOVEQ data,data,LSR#1 3409 BIC data,data,clear:STR data,[base1,offset] 3410 ADD offset,offset,#4:CMP offset,bytes:BLT shadow_loop 3411 ADD base1,base1,#1280:MOV offset,#0 3412 SUBS lines,lines,#1:BNE shadow_loop 3413 MOV PC,R14 3414 ] 3415 NEXT 3416 ENDPROC 3417 3418 DEF PROCdouble_grad_back(R,G,B,RI,GI,BI) 3419 r=R:g=G:b=B 3420 FOR Y%=0 TO 508 STEP2 3421 GCOL r,g,b:RECTANGLE FILL 0,Y%,1279,2 3422 r+=RI:g+=GI:b+=BI:NEXT 3423 IF r=-1 THEN r=1 3424 IF g=-1 THEN g=1 3425 IF b=-1 THEN b=1 3426 IF r=256 THEN r=254 3427 IF g=256 THEN g=254 3428 IF b=256 THEN b=254 3429 FOR Y%=510 TO 1018 STEP2 3430 GCOL r,g,b:RECTANGLE FILL 0,Y%,1279,4 3431 r-=RI:g-=GI:b-=BI:NEXT 3432 IF NOT(merge%) THEN PROCupload_memory 3433 ENDPROC 3434 3435 DEF PROCsingle_grad_back(R,G,B,RI,GI,BI) 3436 FOR Y=1020 TO 0 STEP-4 3437 GCOL R,G,B:RECTANGLE FILL 0,Y,1280,4 3438 R+=RI:G+=GI:B+=BI:NEXT 3439 IF NOT(merge%) THEN PROCupload_memory 3440 ENDPROC 3441 3442 DEF FNtext_width(font$,text$,xp%,yp%) 3443 IF font%<>-1 SYS "Font_LoseFont",font% 3444 SYS "Font_FindFont",,font$,16*xp%,16*yp% TO font% 3445 SYS "Font_Converttopoints",,1280,1024 TO,xp%,yp% 3446 SYS "Font_StringWidth",,text$,xp%,yp%,-1,100 TO,,x2%,y2% 3447 SYS "Font_ConverttoOS",,x2%,y2% TO,x2%,y2% 3448 =x2% 3449 3450 DEF PROCrgb_sliders(flag%) 3451 X%=380:Y%=304:W%=460:H%=240 3452 red1%=0:grn1%=0:blu1%=0 3453 IF flag% THEN Y2%=140 ELSE Y2%=0 3454 PROCraised_block(X%,Y%-Y2%,W%,H%+Y2%) 3455 FOR YY%=Y%+56 TO Y%+148 STEP44 3456 PROCboxes(X%+16,YY%,262,32,0) 3457 NEXT:MOUSE RECTANGLE X%,Y%-Y2%,W%,H%+Y2% 3458 PROCraised_block(X%+346,Y%+56,88,44) 3459 PROCboxes(X%+340,Y%+120,100,56,0) 3460 PROCwrite2("Pscan 32K colour selector",X%+8,Y%+200,4) 3461 PROCwrite2("Drag sliders to define colour",X%+8,Y%+8,4) 3462 PROCwrite2("OK",X%+362,Y%+62,4) 3463 IF flag% THEN 3464 PROCwrite2("Click on required brush size",X%+8,Y%+8-Y2%,4) 3465 R%=4 3466 FOR XX%=X%+16 TO X%+322 STEP 76.5 3467 GCOL 128,0,0:CIRCLE FILL XX%+48,Y%-Y2%+92,R%:R%=R%+4 3468 PROCboxes(XX%+16,Y%-Y2%+60,64,64,-1):NEXT 3469 ENDIF 3470 GCOL 255,0,0:RECTANGLE FILL X%+20,Y%+148,red%,24 3471 GCOL 0,255,0:RECTANGLE FILL X%+20,Y%+104,grn%,24 3472 GCOL 0,0,255:RECTANGLE FILL X%+20,Y%+60,blu%,24 3473 PROCwait_no_button 3474 REPEAT 3475 GCOL red%,grn%,blu%:RECTANGLE FILL X%+344,Y%+124,92,48 3476 IF red%<>red1% THEN 3477 GCOL 208,208,216:RECTANGLE FILL X%+286,Y%+144,40,30 3478 red$=STR$(red%/8):IF LEN red$<2 THEN red$="0"+red$ 3479 PROCwrite2(red$,X%+278,Y%+142,4):red1%=red% 3480 ENDIF 3481 IF grn%<>grn1% THEN 3482 GCOL 208,208,216:RECTANGLE FILL X%+286,Y%+100,40,30 3483 grn$=STR$(grn%/8):IF LEN grn$<2 THEN grn$="0"+grn$ 3484 PROCwrite2(grn$,X%+278,Y%+98,4):grn1%=grn% 3485 ENDIF 3486 IF blu%<>blu1% THEN 3487 GCOL 208,208,216:RECTANGLE FILL X%+286,Y%+56,40,30 3488 blu$=STR$(blu%/8):IF LEN blu$<2 THEN blu$="0"+blu$ 3489 PROCwrite2(blu$,X%+280,Y%+54,4):blu1%=blu% 3490 ENDIF 3491 REPEAT:MOUSE X,Y,B:IF B<>4 THEN MOUSE RECTANGLE X%,Y%-Y2%,W%,H%+Y2% 3492 UNTIL B=4 3493 IF flag% AND ABS(Y-256)<28 THEN 3494 IF ABS(X-444)<28 THEN brush_size%=4 3495 IF ABS(X-520)<28 THEN brush_size%=8 3496 IF ABS(X-596)<28 THEN brush_size%=12 3497 IF ABS(X-674)<28 THEN brush_size%=16 3498 IF ABS(X-748)<28 THEN brush_size%=20 3499 ENDIF 3500 IF X>X%+18 AND X<X%+19+256 AND Y>Y%+60 AND Y<Y%+60+26 THEN PROCblue_slider 3501 IF X>X%+18 AND X<X%+19+256 AND Y>Y%+104 AND Y<Y%+104+26 THEN PROCgreen_slider 3502 IF X>X%+18 AND X<X%+19+256 AND Y>Y%+148 AND Y<Y%+148+26 THEN PROCred_slider 3503 red%=(red% DIV 8)*8:grn%=(grn% DIV 8)*8:blu%=(blu% DIV 8)*8 3504 UNTIL ABS(X-768)<47 AND ABS(Y-386)<33 3505 RGB%=POINT(X%+350,Y%+128):menu_redraw%=TRUE 3506 PROCwait_no_button:MOUSE RECTANGLE 0,0,1280,1024 3507 ENDPROC 3508 3509 DEF PROCblue_slider 3510 blu%=X-19-X% 3511 GCOL 0,0,255:RECTANGLE FILL X%+20,Y%+60,blu%-2,24 3512 GCOL 216,216,216:RECTANGLE FILL X%+blu%+22,Y%+60,252-blu%,24 3513 MOUSE RECTANGLE X%+19,Y,255,0 3514 ENDPROC 3515 3516 DEF PROCgreen_slider 3517 grn%=X-19-X% 3518 GCOL 0,255,0:RECTANGLE FILL X%+20,Y%+104,grn%-2,24 3519 GCOL 216,216,216:RECTANGLE FILL X%+grn%+22,Y%+104,252-grn%,24 3520 MOUSE RECTANGLE X%+19,Y,255,0 3521 ENDPROC 3522 3523 DEF PROCred_slider 3524 red%=X-19-X% 3525 GCOL 255,0,0:RECTANGLE FILL X%+20,Y%+148,red%-2,24 3526 GCOL 216,216,216:RECTANGLE FILL X%+red%+22,Y%+148,252-red%,24 3527 MOUSE RECTANGLE X%+19,Y,255,0 3528 ENDPROC 3529 3530 DEF PROCboxes(x%,y%,w%,h%,raised%) 3531 IF raised% THEN GCOL 96,96,96 ELSE GCOL 255,255,255 3532 RECTANGLE x%,y%,w%,h%:RECTANGLE x%+2,y%+2,w%-4,h%-4 3533 IF raised% THEN GCOL 255,255,255 ELSE GCOL 96,96,96 3534 LINE x%,y%,x%,y%+h%:LINE x%,y%+h%,x%+w%,y%+h% 3535 LINE x%+2,y%+2,x%+2,y%+h%-2:LINE x%+2,y%+h%-2,x%+w%-2,y%+h%-2 3536 ENDPROC 3537 3538 DEF PROCflood_fill 3539 PROCdisplay_memory:quit%=0 3540 PROCwait_no_button:REPEAT 3541 REPEAT:MOUSE X,Y,B:UNTIL B<>0 3542 IF Y>9 THEN 3543 IF B=4 THEN 3544 RGB%=POINT(X,Y):Bred%=(RGB%AND31)*8 3545 Bgrn%=((RGB%>>5)AND31)*8:Bblu%=((RGB%>>10)AND31)*8 3546 IF NOT (Bred%=red% AND Bgrn%=grn% AND Bblu%=blu%) THEN 3547 rgb%=(Bblu%<<24)+(Bgrn%<<16)+(Bred%<<8) 3548 GCOL red%,grn%,blu% 3549 SYS "ColourTrans_SetGCOL",rgb%,0,0,128,0:FILL X,Y 3550 ELSE VDU7 3551 ENDIF 3552 ENDIF 3553 IF B=1 THEN 3554 RGB%=POINT(X,Y):red%=(RGB%AND31)*8 3555 grn%=((RGB%>>5)AND31)*8:blu%=((RGB%>>10)AND31)*8 3556 ENDIF 3557 IF B=2 THEN PROCupload_memory:PROCrgb_sliders(0):PROCdisplay_memory 3558 ENDIF 3559 PROCwait_no_button:UNTIL Y<10 OR quit% 3560 PROCupmini 3561 ENDPROC 3562 3563 DEF PROCvertical_write(F$,text$,x%,y%,xp%,yp%,c%) 3564 IF font%<>-1 SYS "Font_LoseFont",font% 3565 SYS "Font_FindFont",,F$,xp%*16,yp%*16 TO font% 3566 Ymax%=0:Xmax%=0 3567 FOR V%=1 TO LEN(text$) 3568 SYS "Font_CharBBox",font%,ASC(MID$(text$,V%)),16 TO,,,r3%,r4% 3569 IF r3%>Xmax% THEN Xmax%=r3% 3570 IF r4%>Ymax% THEN Ymax%=r4% 3571 NEXT:Ymax%+=16 3572 FOR V%=1 TO LEN(text$) 3573 CH$=MID$(text$,V%,1):SYS "Font_CharBBox",font%,ASC(CH$),16 TO,,,w% 3574 px%=x%+(Xmax%-w%)/2 3575 PROCwrite(F$,CH$,px%,y%,xp%,yp%,c%) 3576 y%=y%-Ymax%-4:NEXT 3577 ENDPROC 3578 3579 DEF PROCcloning_brush(s%) 3580 PROCdisplay_memory:PROCwait_no_button 3581 REPEAT:MOUSE X,Y,B 3582 GCOL 3,63 TINT 192:RECTANGLE X-s%/2,Y-s%/2,s%,s% 3583 REPEAT:MOUSE X1,Y1,B:UNTIL X1<>X OR Y1<>Y OR B<>0 3584 RECTANGLE X-s%/2,Y-s%/2,s%,s%:X=X1:Y=Y1:UNTIL B=4 3585 SX=X1:SY=Y1:RECTANGLE SX-s%/2,SY-s%/2,s%,s% 3586 PROCwait_no_button:REPEAT:MOUSE X,Y,B:UNTIL B<>0 3587 RECTANGLE SX-s%/2,SY-s%/2,s%,s%:Xdiff%=X-SX:Ydiff%=Y-SY 3588 X=(X DIV 2)*2:Y=(Y DIV 2)*2:REPEAT 3589 RECTANGLE X-Xdiff%-s%/2,Y-Ydiff%-s%/2,s%,s% 3590 REPEAT:MOUSE X1,Y1,B:X1=(X1 DIV 2)*2:Y1=(Y1 DIV 2)*2 3591 UNTIL X1<>X OR Y1<>Y OR B<>0 3592 RECTANGLE X-Xdiff%-s%/2,Y-Ydiff%-s%/2,s%,s% 3593 IF B=2 THEN 3594 s%+=8:IF s%>48 THEN s%=8 3595 PROCwait_no_button 3596 ENDIF 3597 IF B=4 THEN 3598 MOVE X-Xdiff%-s%/2,Y-Ydiff%-s%/2 3599 MOVE BY s%,s%:PLOT &BF,X1-s%/2,Y1-s%/2 3600 ENDIF 3601 X=X1:Y=Y1:UNTIL B=1:PROCupmini 3602 ENDPROC 3603 3604 DEF PROCdiagonal 3605 CASE menu_box% OF 3606 WHEN 4:R=255:G=255:B=255:RI=-.8:GI=-.8:BI=0 3607 WHEN 5:R=255:G=255:B=255:RI=0:GI=-.8:BI=-.8 3608 WHEN 6:R=0:G=255:B=255:RI=.8:GI=-.8:BI=0 3609 WHEN 7:R=255:G=255:B=0:RI=0:GI=-.8:BI=.8 3610 WHEN 8:R=255:G=255:B=0:RI=0:GI=-.8:BI=0 3611 WHEN 9:R=255:G=255:B=255:RI=-.8:GI=0:BI=-.8 3612 WHEN 10:R=255:G=255:B=0:RI=-.8:GI=0:BI=+.8 3613 WHEN 11:R=255:G=0:B=0:RI=-.8:GI=0:BI=+.8 3614 WHEN 12:R=255:G=0:B=0:RI=-1.6:GI=-.8:BI=1.6 3615 WHEN 13:R=255:G=255:B=128:RI=1.6:GI=4.8:BI=-3.2 3616 ENDCASE 3617 Y=2048:FOR X%=-1280 TO 1280 STEP8 3618 GCOL R,G,B 3619 MOVE X%,0:MOVE 1280,Y 3620 PLOT 85,1280,0 3621 R+=RI:IF R>255 THEN R=255:RI=-RI 3622 IF R<0 THEN R=0:RI=-RI 3623 G+=GI:IF G>255 THEN G=255:GI=-GI 3624 IF G<0 THEN G=0:GI=-GI 3625 B+=BI:IF B>255 THEN B=255:BI=-BI 3626 IF B<0 THEN B=0:BI=-BI 3627 Y-=6.4:NEXT 3628 IF NOT(merge%) THEN PROCupload_memory 3629 ENDPROC 3630 3631 DEF PROCborder(r%,g%,b%) 3632 PROCdisplay_memory 3633 W%=1278:Y%=0:inc%=16/border_width% 3634 CASE border_grad% OF 3635 WHEN 1:ri%=inc%:gi%=inc%:bi%=inc% 3636 WHEN 2:ri%=inc%:gi%=inc%:bi%=-inc% 3637 WHEN 3:ri%=-inc%:gi%=inc%:bi%=inc% 3638 WHEN 4:ri%=-inc%:gi%=inc%:bi%=-inc% 3639 WHEN 5:ri%=inc%:gi%=-inc%:bi%=inc% 3640 WHEN 6:ri%=inc%:gi%=-inc%:bi%=-inc% 3641 WHEN 7:ri%=-inc%:gi%=-inc%:bi%=inc% 3642 WHEN 8:ri%=-inc%:gi%=-inc%:bi%=-inc% 3643 ENDCASE 3644 FOR X%=0 TO 31*border_width% STEP2 3645 GCOL r%,g%,b%:RECTANGLE X%,Y%,W%,bh% 3646 Y%+=2:W%-=4:bh%-=4 3647 r%+=ri%:IF r%>255 THEN r%=255 3648 IF r%<0 THEN r%=0 3649 g%+=gi%:IF g%>255 THEN g%=255 3650 IF g%<0 THEN g%=0 3651 b%+=bi%:IF b%>255 THEN b%=255 3652 IF b%<0 THEN b%=0 3653 NEXT 3654 PROCupmini 3655 ENDPROC 3656 3657 DEF PROCload_overlay_sprite 3658 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 3659 SYS sprswi%,256+10,spr%,dir$+"."+cat$(box%) 3660 SYS sprswi%,256+13,spr%,sprite_name%,32,1 TO,,,L% 3661 ?(sprite_name%+L%)=13:sprite_name$=$sprite_name% 3662 overlay%=TRUE:overlay_outline%=0:screen_grabbed%=0:mask_created%=0 3663 IF RIGHT$(dir$,7)="PStiles" THEN PROCtiled_sprite_background 3664 ENDPROC 3665 3666 DEF PROCgrab_screen_ellipse 3667 PROCdisplay_memory:PROCwait_no_button 3668 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 3669 MOUSE X%,Y%,B%:R1%=200:R2%=200:GCOL 3,63:ELLIPSE X%,Y%,R1%,R2% 3670 REPEAT:REPEAT:MOUSE X2%,Y2%,B%:UNTIL X2%<>X% OR Y2%<>Y% OR B%<>0 3671 ELLIPSE X%,Y%,R1%,R2%:X%=X2%:Y%=Y2% 3672 IF B%=2 AND R1%>8 AND R2%>8 THEN 3673 IF INKEY(-5) THEN R1%-=1 3674 IF INKEY(-6) THEN R2%-=1 3675 IF NOT(INKEY-5) AND NOT(INKEY-6) THEN R1%-=1:R2%-=1 3676 K%=INKEY(2) 3677 ENDIF 3678 IF B%=1 AND ((R1%+1)*(R2%+1)*2)+((R1%+1)*(R2%+1)/8)<txtsize% THEN 3679 IF INKEY(-5) THEN R1%+=1 3680 IF INKEY(-6) THEN R2%+=1 3681 IF NOT(INKEY-5) AND NOT(INKEY-6) THEN R1%+=1:R2%+=1 3682 K%=INKEY(2) 3683 ENDIF 3684 ELLIPSE X2%,Y2%,R1%,R2% 3685 UNTIL B%=4:R1%=(R1%DIV4)*4:R2%=(R2%DIV4)*4 3686 GCOL 0,0:PROCdisplay_memory 3687 SYS sprswi%,256+16,spr%,"ellipse",0,X2%-R1%,Y2%-R2%,X2%+R1%,Y2%+R2% 3688 SYS sprswi%,256+29,spr%,"ellipse" 3689 SYS sprswi%,256+61,spr%,"ellipse" 3690 GCOL0:RECTANGLE FILL 0,0,R1%*2,R2%*2 3691 GCOL1:ELLIPSE FILL R1%,R2%,R1%,R2% 3692 SYS sprswi%,256+61,spr%,0:OFF:WAIT:screen_grabbed%=TRUE:grab$="e" 3693 grabsize1%=X2%:grabsize2%=Y2%:grabsize3%=R1%:grabsize4%=R2% 3694 overlay%=TRUE:overlay_outline%=TRUE:sprite_name$="ellipse":OOC%=1023 3695 mask_created%=0 3696 ENDPROC 3697 3698 DEF PROCgrab_screen_rectangle 3699 PROCdisplay_memory:PROCwait_no_button 3700 PROCgrab_rectangle_cursor:GCOL 0,0:PROCdisplay_memory 3701 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 3702 SYS sprswi%,256+16,spr%,"rectangle",0,X1,Y1,X,Y 3703 screen_grabbed%=TRUE:grabsize1%=X1:grabsize2%=Y1:grabsize3%=X:grabsize4%=Y 3704 overlay%=TRUE:overlay_outline%=0:sprite_name$="rectangle":OOC%=1023:grab$="r" 3705 mask_created%=0 3706 ENDPROC 3707 3708 DEF FNwhich_translate 3709 CASE (spr%!56)AND255 OF 3710 WHEN 9,12,14,16,17,20,22,27,31,35,39,43,46,48:t%=translate% 3711 WHEN 10,13,15,21,24,28,32,36,40,47,49:t%=translate256% 3712 OTHERWISE t%=0 3713 ENDCASE 3714 =t% 3715 3716 DEF PROCplot_overlay_sprite 3717 t%=FNwhich_translate 3718 MOUSE RECTANGLE -640,-512,1280+640,1024+512 3719 PROCdisplay_memory:PROCwait_no_button 3720 GCOL 255,255,255:RECTANGLE 0,0,1278,1022 3721 MOUSE X,Y,B 3722 SYS sprswi%,256+52,spr%,sprite_name$,X,Y,11,0,t% 3723 REPEAT 3724 REPEAT:MOUSE x,y,b:UNTIL x<>X OR Y<>y OR b=1 OR b=4 3725 SYS sprswi%,256+52,spr%,sprite_name$,X,Y,11,0,t% 3726 SYS sprswi%,256+52,spr%,sprite_name$,x,y,11,0,t% 3727 X=x:Y=y 3728 UNTIL b=1 OR b=4 3729 PROCdisplay_memory 3730 IF b=1 MOUSE RECTANGLE 0,0,1280,1024:ENDPROC 3731 SYS sprswi%,256+52,spr%,sprite_name$,x,y,11,0,t% 3732 IF b=4 AND overlay_outline% AND OOC%>0 AND OOC%<4 THEN 3733 PROCsprite_shadow(x,y,OOC%) 3734 ELSE 3735 IF b=4 AND overlay_outline% THEN 3736 r%=(OOC%AND31)*8:g%=((OOC%>>5)AND31)*8:b%=((OOC%>>10)AND31)*8 3737 IF screen_grabbed% THEN 3738 GCOL r%,g%,b% 3739 IF grab$="e" THEN 3740 ELLIPSE FILL grabsize3%+x,grabsize4%+y,grabsize3%+8,grabsize4%+8 3741 ELSE 3742 w%=grabsize3%-grabsize1%+16:h%=grabsize2%-grabsize4%+16 3743 RECTANGLE FILL x-8,y-8,w%,h% 3744 ENDIF 3745 ELSE 3746 overlay_outline_RGB%=(b%<<24)+(g%<<16)+(r%<<8) 3747 SYS "ColourTrans_SetGCOL",overlay_outline_RGB%,0,0,128,0 3748 FOR Y%=y-8 TO y+8 STEP4:FOR X%=x-8 TO x+8 STEP4 3749 SYS sprswi%,256+49,spr%,sprite_name$,X%,Y%:NEXT:NEXT 3750 ENDIF 3751 ENDIF 3752 ENDIF 3753 IF b=4 THEN SYS sprswi%,256+52,spr%,sprite_name$,x,y,8,0,t% 3754 MOUSE RECTANGLE 0,0,1280,1024 3755 PROCupload_memory 3756 ENDPROC 3757 3758 DEF PROCpaint_with_sprite 3759 IF NOT overlay% ERROR 1997,"No sprite is available ..."+CHR$13+"Load or create one and try again" 3760 t%=FNwhich_translate 3761 MOUSE RECTANGLE -640,-512,1280+640,1024+512 3762 PROCdisplay_memory:PROCwait_no_button 3763 MOUSE X,Y,B 3764 REPEAT 3765 REPEAT 3766 SYS sprswi%,256+52,spr%,sprite_name$,X,Y,11,0,t% 3767 REPEAT:MOUSE X1,Y1,B:UNTIL X<>X1 OR Y<>Y1 3768 SYS sprswi%,256+52,spr%,sprite_name$,X,Y,11,0,t% 3769 X=X1:Y=Y1 3770 UNTIL B<>0 3771 IF B=4 SYS sprswi%,256+52,spr%,sprite_name$,X,Y,8,0,t% 3772 UNTIL B=1 3773 PROCupmini 3774 MOUSE RECTANGLE 0,0,1280,1024 3775 ENDPROC 3776 3777 DEF PROCtiled_sprite_background 3778 PROCdisplay_memory:t%=FNwhich_translate 3779 SYS sprswi%,256+40,spr%,sprite_name$ TO,,,w%,h% 3780 FOR Y%=0 TO 1600 STEP h%*2:FOR X%=0 TO 1800 STEP w%*2 3781 SYS sprswi%,256+52,spr%,sprite_name$,X%,Y%,8,0,t% 3782 NEXT:NEXT:PROCupload_memory 3783 ENDPROC 3784 3785 DEF PROCstar_field:B=180:FOR Y%=0TO1023STEP4:GCOL0,0,B 3786 RECTANGLE FILL0,Y%,1280,4:B-=.8:IF B<0 THEN B=0 3787 NEXT:FOR N%=1TO400:X%=RND(1280):Y%=RND(1024):R%=51+Y%/5:b%=RND(255) 3788 GCOL R%,R%,b%:POINT X%,Y%:POINT X%+2,Y%:NEXT 3789 ENDPROC 3790 3791 DEF PROCsplash2 3792 B=255:BI=-1:FOR Y=1020 TO 0 STEP-4:GCOL 64,0,B:RECTANGLE FILL 0,Y,1280,4 3793 B+=BI:NEXT:B=0:BI=1:FOR Y=1020 TO 0 STEP-4:GCOL 0,0,B 3794 RECTANGLE FILL 100,Y,1078,4:B+=BI:NEXT 3795 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 3796 SYS sprswi%,256+10,spr%,"<Pscan$Dir>.PSsprites.pscan96" 3797 SYS sprswi%,256+52,spr%,"pscan96",350,800,8,0,0 3798 SYS sprswi%,256+10,spr%,"<Pscan$Dir>.PSsprites.acorn" 3799 SYS sprswi%,256+52,spr%,"acorn",510,340,8,0,0 3800 SYS sprswi%,256+10,spr%,"<Pscan$Dir>.PSsprites.vmess1" 3801 SYS sprswi%,256+52,spr%,"vmess1",20,140,8,0,0 3802 SYS sprswi%,256+10,spr%,"<Pscan$Dir>.PSsprites.vmess2" 3803 SYS sprswi%,256+52,spr%,"vmess2",1200,156,8,0,0 3804 text%=0 3805 PROCwrite("Homerton.Bold","Version "+ver$,splash2x%,208,28,28,0) 3806 PROCwrite("Homerton.Bold","Version "+ver$,splash2x%-10,216,28,28,7) 3807 PROCwrite("Homerton.Bold","- Press H for help -",364,106,24,24,5) 3808 ENDPROC 3809 3810 DEF PROCraised_block(rbx%,rby%,rbw%,rbh%) 3811 GCOL 0,0,0:RECTANGLE FILL rbx%-6,rby%-6,rbw%+10,rbh%+12 3812 GCOL 255,255,255:RECTANGLE FILL rbx%-4,rby%-4,rbw%+6,rbh%+8 3813 GCOL 96,96,96:RECTANGLE FILL rbx%,rby%-4,rbw%+2,rbh%+4 3814 GCOL 208,208,216:RECTANGLE FILL rbx%,rby%,rbw%-2,rbh% 3815 GCOL 96,96,96:MOVE rbx%-4,rby%-4 3816 MOVE rbx%-2,rby%-4:PLOT85,rbx%-2,rby%-2 3817 GCOL 96,96,96:MOVE rbx%+rbw%,rby%+rbh%+2 3818 MOVE rbx%+rbw%+2,rby%+rbh%+2:PLOT85,rbx%+rbw%+2,rby%+rbh%+4 3819 ENDPROC 3820 3821 DEF PROCcircular_gradations 3822 menu$(0)="Circular grads " 3823 menu$(1)="Red to yellow" 3824 menu$(2)="Red to white" 3825 menu$(3)="Red to black" 3826 menu$(4)="Red to blue" 3827 menu$(5)="Blue to white" 3828 menu$(6)="Blue to cyan" 3829 menu$(7)="Blue to black" 3830 menu$(8)="Orange to black" 3831 menu$(9)="Green to white" 3832 menu$(10)="Green to black" 3833 menu$(11)="Magenta to white" 3834 menu$(12)="Magenta to yellow" 3835 menu$(13)="*":PROCmenu(0,90,-1) 3836 CASE menu_box% OF 3837 WHEN 1:PROCgrad_circle(255,0,0,0,1,0) 3838 WHEN 2:PROCgrad_circle(255,0,0,0,1,1) 3839 WHEN 3:PROCgrad_circle(255,0,0,-1,0,0) 3840 WHEN 4:PROCgrad_circle(255,0,0,-1,0,1) 3841 WHEN 5:PROCgrad_circle(0,0,255,1,1,0) 3842 WHEN 6:PROCgrad_circle(0,0,255,0,1,0) 3843 WHEN 7:PROCgrad_circle(0,0,255,0,0,-1) 3844 WHEN 8:PROCgrad_circle(255,128,0,-1,-.5,0) 3845 WHEN 9:PROCgrad_circle(0,255,0,1,0,1) 3846 WHEN 10:PROCgrad_circle(0,255,0,0,-1,0) 3847 WHEN 11:PROCgrad_circle(255,0,255,0,1,0) 3848 WHEN 12:PROCgrad_circle(255,0,255,0,1,-1) 3849 ENDCASE 3850 ENDPROC 3851 3852 DEF PROCgrad_circle(R,G,B,RI,GI,BI) 3853 GCOL R,G,B:RECTANGLE FILL 0,900,1280,124 3854 FOR D%=812 TO 50 STEP-3 3855 GCOL R,G,B:CIRCLE FILL 640,480,D% 3856 R+=RI:G+=GI:B+=BI:NEXT 3857 IF NOT(merge%) THEN PROCupload_memory 3858 ENDPROC 3859 3860 DEF PROCquarter 3861 !source_address=memblock%+20+40960 3862 !dest_address=screen%+164160 3863 GCOL128,128,128:RECTANGLE FILL 0,0,1280,1024 3864 !quarter_lines=240:CALL make_quarter 3865 IF FNundo("Zoom 1:2 - options") THEN 3866 PROCdismini 3867 ELSE 3868 GCOL128,128,128:RECTANGLE FILL 480,80,340,160 3869 PROCgrab_quarter_area:PROCupmini 3870 ENDIF 3871 ENDPROC 3872 3873 DEF PROCquarter_assemble 3874 data1=3:data2=4:source=5:dest=6:offset1=7:offset2=8:lines=9:mask=10 3875 DIM quarter_code% 320 3876 FOR P=0 TO 2 STEP2 3877 P%=quarter_code% 3878 [OPT P 3879 .make_quarter 3880 LDR source,source_address:LDR dest,dest_address:LDR lines,quarter_lines 3881 LDR mask,mask_store:MOV offset1,#0:MOV offset2,#0 3882 .quarter_loop 3883 LDR data1,[source,offset1]:AND data1,data1,mask:ADD offset1,offset1,#4 3884 LDR data2,[source,offset1]:AND data2,data2,mask:MOV data2,data2,LSL#16 3885 ADD data2,data2,data1:STR data2,[dest,offset2]:ADD offset2,offset2,#4 3886 ADD offset1,offset1,#4:CMP offset1,#1280:BLT quarter_loop 3887 MOV offset1,#0:MOV offset2,#0 3888 ADD source,source,#2560:ADD dest,dest,#1280 3889 SUBS lines,lines,#1:BNE quarter_loop 3890 .quarter_exit MOV PC,R14 3891 3892 .make_mini 3893 LDR source,source_address:LDR dest,dest_address 3894 LDR mask,mask_store:MOV offset1,#0:MOV offset2,#0 3895 LDR lines,mini_lines 3896 .make_mini_loop 3897 LDR data1,[source,offset1]:AND data1,data1,mask:ADD offset1,offset1,#8 3898 LDR data2,[source,offset1]:AND data2,data2,mask:MOV data2,data2,LSL#16 3899 ADD data2,data2,data1:STR data2,[dest,offset2]:ADD offset2,offset2,#4 3900 ADD offset1,offset1,#8:CMP offset1,#1280:BLT make_mini_loop 3901 MOV offset1,#0:MOV offset2,#0 3902 ADD source,source,#5120:ADD dest,dest,#1280 3903 SUBS lines,lines,#1:BNE make_mini_loop 3904 MOV PC,R14 3905 3906 .make_thumbnail 3907 LDR source,source_address:LDR dest,dest_address 3908 LDR mask,mask_store:MOV offset1,#0:MOV offset2,#0:MOV lines,#64 3909 .make_thumbnail_loop 3910 LDR data1,[source,offset1]:AND data1,data1,mask:ADD offset1,offset1,#16 3911 LDR data2,[source,offset1]:AND data2,data2,mask:MOV data2,data2,LSL#16 3912 ADD data2,data2,data1:STR data2,[dest,offset2]:ADD offset2,offset2,#4 3913 ADD offset1,offset1,#16:CMP offset1,#1280:BLT make_thumbnail_loop 3914 MOV offset1,#0:MOV offset2,#0 3915 ADD source,source,#10240:ADD dest,dest,#1280 3916 SUBS lines,lines,#1:BNE make_thumbnail_loop 3917 MOV PC,R14 3918 3919 .source_address EQUD 0 3920 .dest_address EQUD 0 3921 .quarter_lines EQUD 240 3922 .mini_lines EQUD 128 3923 .mask_store EQUD %1111111111111111 3924 3925 ]:NEXT 3926 ENDPROC 3927 3928 DEF PROCmake_mini_pic 3929 PROCraised_block(38,-34,322,254) 3930 FOR y%=-36 TO 202 STEP34:PROCraised_block(378,y%,40,20):NEXT 3931 m%=1:FOR y%=246 TO 8 STEP-34 3932 IF m%<=memories% THEN PROCwrite2(STR$ m%,378,y%,0) 3933 m%+=1:NEXT:GCOL3,63 TINT192 3934 CASE MEM% OF 3935 WHEN 0:RECTANGLE FILL 374,200,46,26 3936 WHEN 1:RECTANGLE FILL 374,166,46,26 3937 WHEN 2:RECTANGLE FILL 374,132,46,26 3938 WHEN 3:RECTANGLE FILL 374,98,46,26 3939 WHEN 4:RECTANGLE FILL 374,64,46,26 3940 WHEN 5:RECTANGLE FILL 374,30,46,26 3941 WHEN 6:RECTANGLE FILL 374,-4,46,26 3942 WHEN 7:RECTANGLE FILL 374,-38,46,26 3943 ENDCASE 3944 !source_address=memblock%+20 3945 IF screen_lines%=512 THEN 3946 !dest_address=screen%+1280*376+40 3947 ELSE 3948 !dest_address=screen%+1280*344+40 3949 ENDIF 3950 !mini_lines=128:CALL make_mini 3951 ENDPROC 3952 3953 DEF PROCmulti_grad_menu 3954 menu$(0)="Multi grads" 3955 menu$(1)="Type 1" 3956 menu$(2)="Type 2" 3957 menu$(3)="Type 3" 3958 menu$(4)="Type 4" 3959 menu$(5)="Type 5" 3960 menu$(6)="Type 6" 3961 menu$(7)="-------" 3962 menu$(8)="Type 7" 3963 menu$(9)="Type 8" 3964 menu$(10)="Type 9" 3965 menu$(11)="Type 10" 3966 menu$(12)="Type 11" 3967 menu$(13)="Type 12" 3968 menu$(14)="*":PROCmenu(0,90,-1) 3969 CASE menu_box% OF 3970 WHEN 1,2,3,4,5,6:PROCmulti_grad(menu_box%) 3971 WHEN 8,9,10,11,12,13:PROCmulti_grad(menu_box%-1) 3972 ENDCASE 3973 ENDPROC 3974 3975 DEF PROCmulti_grad(type%) 3976 GCOL 0,0,0:RECTANGLE FILL 0,0,1280,1024 3977 CASE type% OF 3978 WHEN 1:PROCleft_right_grad(0,0,0,0,1,0) 3979 PROCbottom_top_grad(255,0,0,-1,0,1) 3980 WHEN 2:PROCleft_right_grad(0,0,0,0,0,1) 3981 PROCbottom_top_grad(0,255,0,1,-1,0) 3982 WHEN 3:PROCleft_right_grad(0,0,0,1,0,0) 3983 PROCbottom_top_grad(0,255,0,0,-1,1) 3984 WHEN 4:PROCleft_right_grad(0,0,0,0,0,1) 3985 PROCbottom_top_grad(255,0,0,-1,0,0) 3986 WHEN 5:PROCleft_right_grad(0,0,0,0,0,1) 3987 PROCbottom_top_grad(255,255,0,-1,-1,0) 3988 WHEN 6:PROCleft_right_grad(0,255,0,0,-1,0) 3989 PROCbottom_top_grad(0,0,0,0,0,1) 3990 WHEN 7:PROCleft_right_grad(0,0,0,0,8,0) 3991 PROCbottom_top_grad(248,0,0,-8,0,8) 3992 WHEN 8:PROCleft_right_grad(0,0,0,0,0,8) 3993 PROCbottom_top_grad(0,248,0,8,-8,0) 3994 WHEN 9:PROCleft_right_grad(0,0,0,8,0,0) 3995 PROCbottom_top_grad(0,248,0,0,-8,8) 3996 WHEN 10:PROCleft_right_grad(0,0,0,0,0,8) 3997 PROCbottom_top_grad(248,0,0,-8,0,0) 3998 WHEN 11:PROCleft_right_grad(0,0,0,0,0,8) 3999 PROCbottom_top_grad(248,248,0,-8,-8,0) 4000 WHEN 12:PROCleft_right_grad(0,248,0,0,-8,0) 4001 PROCbottom_top_grad(0,0,0,0,0,8) 4002 WHEN 13:PROCleft_right_grad(0,248,0,0,-8,0) 4003 PROCbottom_top_grad(0,0,0,0,0,8) 4004 ENDCASE 4005 IF NOT(merge%) THEN PROCupload_memory 4006 ENDPROC 4007 4008 DEF PROCleft_right_grad(r%,g%,b%,ri%,gi%,bi%) 4009 FOR x%=0 TO 1280 STEP6:GCOL 1,r%,g%,b% 4010 RECTANGLE FILL x%,0,4,1024 4011 r%+=ri%:g%+=gi%:b%+=bi% 4012 IF r%>248 THEN r%=248:ri%=-ri% 4013 IF g%>248 THEN g%=248:gi%=-gi% 4014 IF b%>248 THEN b%=248:bi%=-bi% 4015 IF r%<0 THEN r%=0:ri%=-ri% 4016 IF g%<0 THEN g%=0:gi%=-gi% 4017 IF b%<0 THEN b%=0:bi%=-bi% 4018 NEXT 4019 ENDPROC 4020 4021 DEF PROCbottom_top_grad(r%,g%,b%,ri%,gi%,bi%) 4022 FOR y%=0 TO 1020 STEP4:GCOL 1,r%,g%,b% 4023 RECTANGLE FILL 0,y%,1280,2 4024 r%+=ri%:g%+=gi%:b%+=bi% 4025 IF r%>248 THEN r%=248:ri%=-ri% 4026 IF g%>248 THEN g%=248:gi%=-gi% 4027 IF b%>248 THEN b%=248:bi%=-bi% 4028 IF r%<0 THEN r%=0:ri%=-ri% 4029 IF g%<0 THEN g%=0:gi%=-gi% 4030 IF b%<0 THEN b%=0:bi%=-bi% 4031 NEXT 4032 ENDPROC 4033 4034 DEF PROCplinth(x%,y%,w%,h%,t%,r%,g%,b%) 4035 GCOL r%,g%,b%:MOVE x%,y%+h%:MOVE x%+t%,y%+h%-t% 4036 PLOT85,x%+w%,y%+h%:PLOT85,x%+w%-t%,y%+h%-t% 4037 r2%=r%-40:g2%=g%-40:b2%=b%-40 4038 IF r2%<0 THEN r2%=0 4039 IF g2%<0 THEN g2%=0 4040 IF b2%<0 THEN b2%=0 4041 GCOL r2%,g2%,b2% 4042 MOVE x%,y%+h%:MOVE x%+t%,y%+h%-t% 4043 PLOT85,x%,y%:PLOT85,x%+t%,y%+t% 4044 r2%=r%-100:g2%=g%-100:b2%=b%-100 4045 IF r2%<0 THEN r2%=0 4046 IF g2%<0 THEN g2%=0 4047 IF b2%<0 THEN b2%=0 4048 GCOL r2%,g2%,b2% 4049 MOVE x%+w%,y%+h%:MOVE x%+w%-t%,y%+h%-t% 4050 PLOT85,x%+w%,y%:PLOT85,x%+w%-t%,y%+t% 4051 r2%=r%-160:g2%=g%-160:b2%=b%-160 4052 IF r2%<0 THEN r2%=0 4053 IF g2%<0 THEN g2%=0 4054 IF b2%<0 THEN b2%=0 4055 GCOL r2%,g2%,b2% 4056 MOVE x%,y%:MOVE x%+t%,y%+t% 4057 PLOT85,x%+w%,y%:PLOT85,x%+w%-t%,y%+t% 4058 4059 IF w%>300 THEN 4060 r2=r%:g2=g%:b2=b% 4061 ri=(255-r2)/64 4062 gi=(255-g2)/64 4063 bi=(255-b2)/64 4064 xx%=x%+w%/2-t%/2-128 4065 FOR xs%=xx% TO xx%+258 STEP2 4066 GCOL r2,g2,b2:LINE xs%,y%+h%-t%,xs%+t%,y%+h% 4067 r2+=ri:g2+=gi:b2+=bi 4068 IF r2>255 THEN r2=255:ri=-ri 4069 IF g2>255 THEN g2=255:gi=-gi 4070 IF b2>255 THEN b2=255:bi=-bi 4071 NEXT 4072 ENDIF 4073 4074 IF h%>260 THEN 4075 r2=r%-40:g2=g%-40:b2=b%-40 4076 IF r2<0 THEN r2=0 4077 IF g2<0 THEN g2=0 4078 IF b2<0 THEN b2=0 4079 ri=(215-r2)/54 4080 gi=(215-g2)/54 4081 bi=(215-b2)/54 4082 yy%=y%+h%/2-t%/2-114 4083 FOR ys%=yy% TO yy%+212 STEP2 4084 GCOL r2,g2,b2:LINE x%,ys%,x%+t%,ys%+t% 4085 r2+=ri:g2+=gi:b2+=bi 4086 IF r2>215 THEN r2=210:ri=-ri 4087 IF g2>215 THEN g2=210:gi=-gi 4088 IF b2>215 THEN b2=210:bi=-bi 4089 NEXT 4090 ENDIF 4091 ENDPROC 4092 4093 DEF PROCpicpro_panel(x%,y%) 4094 xstart%=x%:ystart%=y% 4095 PROCdisplay_memory:r%=0:g%=0:b%=0 4096 exit%=0:REPEAT:reset%=0:ORIGIN 0,0 4097 PROCraised_block(x%,y%,456,280) 4098 ORIGIN x%,y% 4099 PROCraised_block(32,32,108,40) 4100 PROCraised_block(172,32,108,40) 4101 PROCraised_block(312,32,108,40) 4102 PROCwrite2("RESET",x%+34,y%+36,4) 4103 PROCwrite2("TRY",x%+192,y%+36,4) 4104 PROCwrite2("OK",x%+338,y%+36,4) 4105 GCOL 255,0,0:RECTANGLE FILL 162,216,126,52 4106 GCOL 0,200,0:RECTANGLE FILL 162,156,126,52 4107 GCOL 0,0,255:RECTANGLE FILL 162,96,126,52 4108 GCOL 255,255,255:FOR Y%=100 TO 220 STEP60 4109 SYS sprswi%,256+52,spb%,"left",108,Y%+4,8,0,translate% 4110 SYS sprswi%,256+52,spb%,"right",304,Y%+4,8,0,translate% 4111 RECTANGLE FILL 166,Y%,118,44:NEXT 4112 MOUSE RECTANGLE 0,0,456,280 4113 GCOL 255,255,255:PROCwait_no_button 4114 REPEAT 4115 IF r%>-1 THEN r$="+"+STR$ r%+"%" ELSE r$=STR$ r%+"%" 4116 IF g%>-1 THEN g$="+"+STR$ g%+"%" ELSE g$=STR$ g%+"%" 4117 IF b%>-1 THEN b$="+"+STR$ b%+"%" ELSE b$=STR$ b%+"%" 4118 PROCwrite2(r$,x%+180,y%+226,0) 4119 PROCwrite2(g$,x%+180,y%+166,0) 4120 PROCwrite2(b$,x%+180,y%+106,0) 4121 K=INKEY(20) 4122 REPEAT:MOUSE X,Y,B:UNTIL B=4 4123 IF ABS(X-132)<24 AND ABS(Y-242)<24 THEN PROCred_minus 4124 IF ABS(X-318)<24 AND ABS(Y-242)<24 THEN PROCred_plus 4125 IF ABS(X-132)<24 AND ABS(Y-182)<24 THEN PROCgreen_minus 4126 IF ABS(X-318)<24 AND ABS(Y-182)<24 THEN PROCgreen_plus 4127 IF ABS(X-132)<24 AND ABS(Y-122)<24 THEN PROCblue_minus 4128 IF ABS(X-318)<24 AND ABS(Y-122)<24 THEN PROCblue_plus 4129 IF ABS(X-366)<60 AND ABS(Y-56)<30 THEN 4130 PROCprocess_picture:PROCupload_memory:exit%=TRUE 4131 ENDIF 4132 IF ABS(X-224)<60 AND ABS(Y-56)<30 THEN PROCprocess_picture:reset%=TRUE 4133 IF ABS(X-84)<60 AND ABS(Y-56)<30 THEN 4134 r%=0:g%=0:b%=0:PROCdisplay_memory:reset%=TRUE 4135 ENDIF 4136 UNTIL exit% OR reset% 4137 UNTIL NOT reset% 4138 ORIGIN 0,0:PROCdisplay_memory:MOUSE RECTANGLE 0,0,1280,1024 4139 ENDPROC 4140 4141 DEF PROCred_minus 4142 IF r%>-50 THEN r%-=5:RECTANGLE FILL 168,222,112,40 4143 ENDPROC 4144 DEF PROCred_plus 4145 IF r%<50 THEN r%+=5:RECTANGLE FILL 168,222,112,40 4146 ENDPROC 4147 DEF PROCgreen_minus 4148 IF g%>-50 THEN g%-=5:RECTANGLE FILL 168,162,112,40 4149 ENDPROC 4150 DEF PROCgreen_plus 4151 IF g%<50 THEN g%+=5:RECTANGLE FILL 168,162,112,40 4152 ENDPROC 4153 DEF PROCblue_minus 4154 IF b%>-50 THEN b%-=5:RECTANGLE FILL 168,102,112,40 4155 ENDPROC 4156 DEF PROCblue_plus 4157 IF b%<50 THEN b%+=5:RECTANGLE FILL 168,102,112,40 4158 ENDPROC 4159 4160 DEF PROCprocess_picture 4161 PROCpicpro_tables:PROCdisplay_memory 4162 !start_address=screen%:!picpro_bytes=1280:!picpro_lines=512 4163 !red_address=reddata:!green_address=grndata:!blue_address=bludata 4164 CALL picture_process 4165 ENDPROC 4166 4167 DEF PROCpicpro_assemble 4168 redtable=3:greentable=4:bluetable=5:new=6 4169 base=7:offset=8:bytes=9:lines=10:data=11 4170 new1=3:new2=4:result1=6:result2=9 4171 DIM picpro_code% 800 4172 FOR P=0 TO 2 STEP2 4173 P%=picpro_code% 4174 [OPT P 4175 .picture_process 4176 LDR base,start_address:MOV offset,#0 4177 LDR bytes,picpro_bytes:LDR lines,picpro_lines 4178 LDR redtable,red_address:LDR greentable,green_address 4179 LDR bluetable,blue_address 4180 .picpro_loop 4181 MOV new,#0:LDR R0,[base,offset] 4182 AND R2,R0,#31:LDRB new,[redtable,R2] 4183 MOV R2,R0,LSR#5:AND R2,R2,#31:LDRB data,[greentable,R2] 4184 MOV data,data,LSL#5:ADD new,new,data 4185 MOV R2,R0,LSR#10:AND R2,R2,#31:LDRB data,[bluetable,R2] 4186 MOV data,data,LSL#10:ADD new,new,data 4187 MOV R2,R0,LSR#16:AND R2,R2,#31:LDRB data,[redtable,R2] 4188 MOV data,data,LSL#16:ADD new,new,data 4189 MOV R2,R0,LSR#21:AND R2,R2,#31:LDRB data,[greentable,R2] 4190 MOV data,data,LSL#21:ADD new,new,data 4191 MOV R2,R0,LSR#26:AND R2,R2,#31:LDRB data,[bluetable,R2] 4192 MOV data,data,LSL#26:ADD new,new,data 4193 STR new,[base,offset]:ADD offset,offset,#4 4194 CMP offset,bytes:BLT picpro_loop 4195 ADD base,base,#1280:MOV offset,#0 4196 SUBS lines,lines,#1:BNE picpro_loop 4197 MOV PC,R14 4198 4199 .display_red_as_mono 4200 LDR base,start_address:MOV offset,#0:MOV lines,#512 4201 .red_mono_loop 4202 LDR R0,[base,offset]:AND data,R0,#31 4203 MOV new1,data,LSL#5:MOV new2,data,LSL#10 4204 ADD result1,new2,new1:ADD result1,result1,data 4205 MOV R0,R0,LSR#16:AND data,R0,#31 4206 MOV new1,data,LSL#5:MOV new2,data,LSL#10 4207 ADD result2,new2,new1:ADD result2,result2,data 4208 MOV result2,result2,LSL#16:ADD result1,result1,result2 4209 STR result1,[base,offset]:ADD offset,offset,#4 4210 CMP offset,#1280:BNE red_mono_loop 4211 MOV offset,#0:ADD base,base,#1280 4212 SUBS lines,lines,#1:BNE red_mono_loop 4213 MOV PC,R14 4214 4215 .display_green_as_mono 4216 LDR base,start_address:MOV offset,#0:MOV lines,#512 4217 .green_mono_loop 4218 LDR R0,[base,offset]:MOV data,R0,LSR#5:AND data,data,#31 4219 MOV new1,data,LSL#5:MOV new2,data,LSL#10 4220 ADD result1,new2,new1:ADD result1,result1,data 4221 MOV R0,R0,LSR#21:AND data,R0,#31 4222 MOV new1,data,LSL#5:MOV new2,data,LSL#10 4223 ADD result2,new2,new1:ADD result2,result2,data 4224 MOV result2,result2,LSL#16:ADD result1,result1,result2 4225 STR result1,[base,offset]:ADD offset,offset,#4 4226 CMP offset,#1280:BNE green_mono_loop 4227 MOV offset,#0:ADD base,base,#1280 4228 SUBS lines,lines,#1:BNE green_mono_loop 4229 MOV PC,R14 4230 4231 .display_blue_as_mono 4232 LDR base,start_address:MOV offset,#0:MOV lines,#512 4233 .blue_mono_loop 4234 LDR R0,[base,offset]:MOV data,R0,LSR#10:AND data,data,#31 4235 MOV new1,data,LSL#5:MOV new2,data,LSL#10 4236 ADD result1,new2,new1:ADD result1,result1,data 4237 MOV R0,R0,LSR#26:AND data,R0,#31 4238 MOV new1,data,LSL#5:MOV new2,data,LSL#10 4239 ADD result2,new2,new1:ADD result2,result2,data 4240 MOV result2,result2,LSL#16:ADD result1,result1,result2 4241 STR result1,[base,offset]:ADD offset,offset,#4 4242 CMP offset,#1280:BNE blue_mono_loop 4243 MOV offset,#0:ADD base,base,#1280 4244 SUBS lines,lines,#1:BNE blue_mono_loop 4245 MOV PC,R14 4246 4247 .red_address EQUD 0 4248 .green_address EQUD 0 4249 .blue_address EQUD 0 4250 .start_address EQUD 0 4251 .picpro_bytes EQUD 0 4252 .picpro_lines EQUD 0 4253 ] 4254 NEXT 4255 ENDPROC 4256 4257 DEF PROCpicpro_tables 4258 red=1+(ABS(r%))/100:green=1+(ABS(g%))/100:blue=1+(ABS(b%))/100 4259 FOR N%=0 TO 31 4260 IF r%>-1 THEN R=N%*red:IF R>31 THEN R=31 4261 IF r%<0 THEN R=31-INT(((31-N%)*red)):IF R<0 THEN R=0 4262 IF g%>-1 THEN G=N%*green:IF G>31 THEN G=31 4263 IF g%<0 THEN G=31-INT(((31-N%)*green)):IF G<0 THEN G=0 4264 IF b%>-1 THEN B=N%*blue:IF B>31 THEN B=31 4265 IF b%<0 THEN B=31-INT(((31-N%)*blue)):IF B<0 THEN B=0 4266 reddata?N%=R:grndata?N%=G:bludata?N%=B 4267 NEXT 4268 ENDPROC 4269 4270 DEF PROCzoom_pic 4271 MOUSE RECTANGLE 0,0,640,512 4272 PROCdisplay_memory:PROCwait_no_button:MOUSE X,Y,B 4273 GCOL 3,63:RECTANGLE X,Y,640,512:REPEAT 4274 REPEAT:MOUSE X1,Y1,B:UNTIL X<>X1 OR Y<>Y1 OR B<>0 4275 RECTANGLE X,Y,640,512:RECTANGLE X1,Y1,640,512 4276 X=X1:Y=Y1:UNTIL B<>0 4277 IF B=4 THEN 4278 Y+=512:y%=(1024-Y)/2:x%=X:offset%=y%*1280+x% 4279 WHILE offset%/4<>offset%DIV4 4280 offset%-=1:ENDWHILE 4281 !zoom_source_address=memblock%+20+offset% 4282 !zoom_dest_address=screen% 4283 CALL zoom_code% 4284 IF FNundo("Zoom 2:1 - options") THEN 4285 PROCdisplay_memory 4286 ELSE 4287 CALL zoom_code%:PROCupload_memory 4288 ENDIF 4289 ELSE 4290 RECTANGLE X1,Y1,640,512 4291 ENDIF 4292 MOUSE RECTANGLE 0,0,1280,1024 4293 ENDPROC 4294 4295 DEF FNundo(title$) 4296 PROCwait_no_button:MOUSE RECTANGLE 490,100,300,120 4297 PROCraised_block(490,100,300,120):PROCraised_block(510,120,108,40) 4298 PROCraised_block(660,120,108,40) 4299 PROCwrite2(title$,494,180,0) 4300 PROCwrite2("RESET",512,124,4) 4301 PROCwrite2("OK",684,124,4) 4302 REPEAT:MOUSE X,Y,B:UNTIL B=4 4303 MOUSE RECTANGLE 0,0,1280,1024 4304 IF ABS(X-712)<52 AND ABS(Y-142)<22 THEN un%=0 ELSE un%=TRUE 4305 =un% 4306 4307 DEF PROCundo_dither 4308 PROCdisplay_memory:PROCwait_no_button 4309 !zoom_source_address=memblock%+20 4310 !zoom_dest_address=screen%:CALL preview320x256 4311 IF FNundo(" Preview options") THEN 4312 PROCdisplay_memory 4313 ELSE 4314 CALL preview320x256:PROCupload_memory 4315 ENDIF 4316 ENDPROC 4317 4318 DEF PROCzoom_assemble 4319 DIM zoom_code% 360 4320 red=1:green=2:blue=11 4321 source_base=3:dest_base=4:source_offset=5:dest_offset=6 4322 data1=7:data2=8:lines=9:mask1=10:offset=5 4323 FOR P=0 TO 2 STEP2 4324 P%=zoom_code% 4325 [OPT P 4326 4327 .zoom_pic 4328 LDR source_base,zoom_source_address:LDR dest_base,zoom_dest_address 4329 MOV source_offset,#0:MOV dest_offset,#0:MOV lines,#256 4330 LDR mask1,mask_bits 4331 .zoom_loop 4332 LDR data1,[source_base,source_offset] 4333 AND data1,data1,mask1 4334 MOV data2,data1,LSL#16:ADD data2,data2,data1 4335 STR data2,[dest_base,dest_offset]:ADD dest_base,dest_base,#1280 4336 STR data2,[dest_base,dest_offset]:SUB dest_base,dest_base,#1280 4337 ADD dest_offset,dest_offset,#4 4338 LDR data1,[source_base,source_offset] 4339 MOV data1,data1,LSR#16:AND data1,data1,mask1 4340 MOV data2,data1,LSL#16:ADD data2,data2,data1 4341 STR data2,[dest_base,dest_offset]:ADD dest_base,dest_base,#1280 4342 STR data2,[dest_base,dest_offset]:SUB dest_base,dest_base,#1280 4343 ADD dest_offset,dest_offset,#4 4344 ADD source_offset,source_offset,#4 4345 CMP source_offset,#640:BLT zoom_loop 4346 MOV source_offset,#0:MOV dest_offset,#0 4347 ADD source_base,source_base,#1280 4348 ADD dest_base,dest_base,#2560 4349 SUBS lines,lines,#1:BNE zoom_loop 4350 MOV PC,R14 4351 4352 .preview320x256 4353 LDR source_base,zoom_source_address:LDR dest_base,zoom_dest_address 4354 MOV offset,#0:MOV lines,#256 4355 .preview_loop 4356 LDR data1,[source_base,offset]:AND red,data1,#31 4357 MOV R0,data1,LSR#16:AND R0,R0,#31:ADD R0,R0,red:MOV red,R0,LSR#1 4358 MOV green,data1,LSR#5:AND green,green,#31 4359 MOV R0,data1,LSR#21:AND R0,R0,#31:ADD R0,R0,green:MOV green,R0,LSR#1 4360 MOV blue,data1,LSR#10:AND blue,blue,#31 4361 MOV R0,data1,LSR#26:AND R0,R0,#31:ADD R0,R0,blue:MOV blue,R0,LSR#1 4362 MOV green,green,LSL#5:MOV blue,blue,LSL#10 4363 ADD data1,red,green:ADD data1,data1,blue 4364 MOV data2,data1,LSL#16:ADD data2,data2,data1 4365 STR data2,[dest_base,offset]:ADD dest_base,dest_base,#1280 4366 STR data2,[dest_base,offset]:SUB dest_base,dest_base,#1280 4367 ADD offset,offset,#4:CMP offset,#1280:BNE preview_loop 4368 ADD source_base,source_base,#2560 4369 ADD dest_base,dest_base,#2560:MOV offset,#0 4370 SUBS lines,lines,#1:BNE preview_loop 4371 MOV PC,R14 4372 4373 .zoom_source_address EQUD 0 4374 .zoom_dest_address EQUD 0 4375 .mask_bits EQUD %00000000000000001111111111111111 4376 ] 4377 NEXT 4378 ENDPROC 4379 4380 DEF PROCmenu(mmx%,mmy%,sub%) 4381 MOUSE ON 1:N%=0:W%=0:WHILE menu$(N%)<>"*" 4382 L%=LEN(menu$(N%)):IF L%>W% THEN W%=L% 4383 N%+=1:ENDWHILE 4384 IF NOT sub% THEN 4385 IF LEFT$(menu$(0),2)=" " THEN 4386 menu$(N%)=" [Close menu]":menu$(1)=" [Close menu]" 4387 ELSE 4388 menu$(N%)="[Close menu]":menu$(1)="[Close menu]" 4389 ENDIF 4390 ELSE N%-=1 4391 ENDIF 4392 IF sub% THEN mmx%=main_mmx%+main_width%+12 4393 IF menu_redraw% OR sub% THEN 4394 PROCraised_block(mmx%,mmy%,W%*16,N%*36+64):COLOUR128+63 TINT0:M%=N% 4395 FOR Y%=mmy% TO (mmy%+(N%-1)*36) STEP36:GCOL 0,0,0 4396 IF INSTR(menu$(M%),">")<>0 THEN fc%=2 ELSE fc%=0 4397 IF (M%=N% OR M%=1) AND NOT(sub%) fc%=7 4398 IF INSTR(menu$(M%),"---")<>0 THEN fc%=3 4399 m$=menu$(M%):IF RIGHT$(m$,1)=">" m$=LEFT$(m$,LEN m$-1) 4400 PROCwrite2(m$,mmx%,Y%+16,fc%) 4401 IF RIGHT$(menu$(M%),1)=">" THEN 4402 SYS sprswi%,256+52,spb%,"sub",mmx%+W%*16-24,Y%+22,8,0,translate% 4403 ENDIF:M%-=1:NEXT:menu_redraw%=0 4404 IF sub% THEN GCOL 128,64,0 ELSE GCOL 0,64,128 4405 RECTANGLE FILL mmx%+4,mmy%+N%*36+20,W%*16-10,40 4406 PROCwrite2(menu$(0),mmx%+4,mmy%+N%*36+20,0) 4407 PROCwrite2(menu$(0),mmx%,mmy%+N%*36+24,1) 4408 ELSE 4409 GCOL 3,255,255,255 4410 RECTANGLE FILL main_x%,main_y%,main_w%,36 4411 ENDIF 4412 MOUSE RECTANGLE mmx%-4,mmy%+12,W%*16-64,N%*36+4 4413 MOUSE RECTANGLE mmx%-4,mmy%+12,W%*16+8,N%*36+4 4414 IF sub% THEN MOUSE RECTANGLE mmx%-32,mmy%+12,W%*16+32,N%*36+4 4415 effect%=3:PROCwait_no_button 4416 BX%=mmx%+4:BY%=mmy%+8:BW%=W%*16-32 4417 T%=mmy%+N%*36+10:subx%=mmx%+W%*16-24 4418 REPEAT 4419 GCOL effect%,255,255,255 4420 MOUSE X,Y,B:menu_box%=(T%-Y)DIV36 4421 RECTANGLE FILL BX%,T%-32-menu_box%*36,BW%,36 4422 REPEAT:MOUSE x,y,B:menu_box2%=(T%-y)DIV36 4423 IF x<mmx%-24 AND sub% THEN B=99 4424 m$=menu$(menu_box2%+1):IF x>subx% AND RIGHT$(m$,1)=">" THEN B=8 4425 PROCcheck_alt_s_save 4426 UNTIL menu_box2%<>menu_box% OR B<>0 4427 RECTANGLE FILL BX%,T%-32-menu_box%*36,BW%,36 4428 IF INSTR(menu$((T%-y)DIV36+1),"---")<>0 THEN effect%=5 ELSE effect%=3 4429 UNTIL B<>0 4430 IF B<8 THEN 4431 FOR F%=1 TO 5 4432 RECTANGLE FILL BX%,T%-32-menu_box2%*36,BW%,36:WAIT:WAIT:NEXT 4433 ELSE 4434 RECTANGLE FILL BX%,T%-32-menu_box2%*36,BW%,36 4435 ENDIF 4436 IF NOT(sub%) THEN 4437 main_mmx%=mmx%:main_width%=W%*16 4438 main_x%=BX%:main_y%=T%-32-menu_box2%*36:main_w%=BW% 4439 ENDIF 4440 menu_box%=(T%-y)DIV36+1 4441 IF menu_box%=N% AND NOT(sub%) menu_box%=1 : REM 1 = main menu cancel 4442 IF B=99 THEN menu_box%=99 : REM 99 = sub-menu cancel 4443 IF sub% THEN PROCredraw(mmx%-6,82,W%*16+16,N%*36+80) 4444 MOUSE RECTANGLE 0,0,1280,1024 4445 ENDPROC 4446 4447 DEF PROCredraw(rx%,ry%,rw%,rh%) 4448 tl%=ry%+rh%:A%=((screen_lines%*2-tl%)DIV2)*1280+rx%:A%=A%-(A%MOD4) 4449 !redraw_source=A%+memblock%+20:!redraw_screen=screen%+A% 4450 !redraw_bytes=rw%:!redraw_lines=rh%/2:CALL redraw_code% 4451 ENDPROC 4452 4453 DEF PROCredraw_assemble 4454 DIM redraw_code% 128 4455 FOR P=0 TO 2 STEP 2 4456 P%=redraw_code% 4457 [OPT P 4458 LDR R2,redraw_source:LDR R3,redraw_screen 4459 LDR R4,redraw_bytes:LDR R5,redraw_lines:MOV R1,#0 4460 .redraw_loop 4461 LDR R0,[R2,R1]:STR R0,[R3,R1] 4462 ADD R1,R1,#4:CMP R1,R4:BLT redraw_loop 4463 ADD R2,R2,#1280:ADD R3,R3,#1280:MOV R1,#0 4464 SUBS R5,R5,#1:BNE redraw_loop 4465 MOV PC,R14 4466 .redraw_source EQUD 0 4467 .redraw_screen EQUD 0 4468 .redraw_bytes EQUD 0 4469 .redraw_lines EQUD 0 4470 ] 4471 NEXT 4472 ENDPROC 4473 4474 DEF PROCperp_menu 4475 menu$(0)="Tile colours" 4476 menu$(1)="White" 4477 menu$(2)="Yellow" 4478 menu$(3)="Cyan" 4479 menu$(4)="Green" 4480 menu$(5)="Magenta" 4481 menu$(6)="Red" 4482 menu$(7)="Blue" 4483 menu$(8)="Orange" 4484 menu$(9)="Sky blue" 4485 menu$(10)="Pink" 4486 menu$(11)="Crimson" 4487 menu$(12)="Purple" 4488 menu$(13)="*":PROCmenu(0,90,-1) 4489 pr=255:pg=255:pb=255 4490 CASE menu_box% OF 4491 WHEN 1:pr=255:pg=255:pb=255 4492 WHEN 2:pr=255:pg=255:pb=0 4493 WHEN 3:pr=0:pg=255:pb=255 4494 WHEN 4:pr=0:pg=255:pb=0 4495 WHEN 5:pr=255:pg=0:pb=255 4496 WHEN 6:pr=255:pg=0:pb=0 4497 WHEN 7:pr=0:pg=0:pb=255 4498 WHEN 8:pr=255:pg=128:pb=0 4499 WHEN 9:pr=0:pg=128:pb=255 4500 WHEN 10:pr=255:pg=128:pb=255 4501 WHEN 11:pr=255:pg=0:pb=128 4502 WHEN 12:pr=128:pg=0:pb=255 4503 ENDCASE 4504 CASE pr OF 4505 WHEN 255:pri=.6 4506 WHEN 128:pri=.3 4507 WHEN 0 :pri=0 4508 ENDCASE 4509 CASE pg OF 4510 WHEN 255:pgi=.6 4511 WHEN 128:pgi=.3 4512 WHEN 0 :pgi=0 4513 ENDCASE 4514 CASE pb OF 4515 WHEN 255:pbi=.6 4516 WHEN 128:pbi=.3 4517 WHEN 0 :pbi=0 4518 ENDCASE 4519 IF menu_box%<>99 THEN PROCmake_perp 4520 ENDPROC 4521 4522 DEF PROCmake_perp 4523 pm%=MEM%:MEM%+=1:IF MEM%>=memories% THEN MEM%=0 4524 PROCmemory_select(MEM%,0):PROCdisplay_memory 4525 MEM%=pm%:PROCmemory_select(MEM%,0) 4526 X=50:W=1180 4527 r=pr-56:IF r<0 THEN r=0 4528 g=pg-56:IF g<0 THEN g=0 4529 b=pb-56:IF b<0 THEN b=0 4530 R=r:G=g:B=b 4531 IF R=0 THEN ri=2.3 ELSE ri=.5 4532 IF G=0 THEN gi=2.3 ELSE gi=.5 4533 IF B=0 THEN bi=2.3 ELSE bi=.5 4534 FOR Y%=164 TO 204:GCOL R,G,B:LINE 50,Y%,1230,Y% 4535 R+=ri:G+=gi:B+=bi:NEXT 4536 FOR Y%=204 TO 244:GCOL R,G,B:LINE 50,Y%,1230,Y% 4537 R-=ri:G-=gi:B-=bi:NEXT 4538 FOR Y%=242 TO 764 STEP2 4539 GCOL pr,pg,pb:LINE X,Y%,X+W,Y%:X+=.5:W-=1 4540 pr=pr-pri:IF pr<0 THEN pr=0 4541 pg=pg-pgi:IF pg<0 THEN pg=0 4542 pb=pb-pbi:IF pb<0 THEN pb=0 4543 NEXT 4544 A%=memblock%+20+40960:W%=880:SX=200:Y%=140 4545 FOR N%=A%TOA%+611840STEP2560:X=SX:XI=W%/640:FOR J%=N%TON%+1278STEP2:S%=(1280*Y%+INT X+screen%)DIV2*2:?S%=?J%:?(S%+1)=?(J%+1):X=X+XI:NEXT:SX-=.5:W%+=1:Y%+=1 4546 NEXT:menu_box%=1:PROCupload_memory 4547 ENDPROC 4548 4549 DEF PROCload_rx_and_tx_code 4550 DIM rx_code% FNfile_len("<Pscan$Dir>.Resources.PscanRX") 4551 OSCLI("LOAD <Pscan$Dir>.Resources.PscanRX "+STR$~rx_code%) 4552 rx_param%=rx_code%+(rx_code%!4) 4553 rx_parameters%=rx_param% 4554 4555 DIM hq_rx_code% FNfile_len("<Pscan$Dir>.Resources.HQRX") 4556 OSCLI("LOAD <Pscan$Dir>.Resources.HQRX "+STR$~hq_rx_code%) 4557 hq_rx_param%=hq_rx_code%+(hq_rx_code%!4) 4558 hq_parameters%=hq_rx_param% 4559 4560 DIM rx_table% FNfile_len("<Pscan$Dir>.Resources.RX_table") 4561 OSCLI("LOAD <Pscan$Dir>.Resources.RX_table "+STR$~rx_table%) 4562 4563 DIM pd_rx_table% 4096 : REM This table converts counts to 64-192 4564 FOR C%=0 TO 4095 4565 F=(1/(4096-C%))*1000000 4566 D=(F-1500)/3.125/2+64 4567 IF D<0 D=0 4568 IF D>255 D=255 4569 pd_rx_table%?C%=D:NEXT 4570 4571 DIM pd_auto_table% 3400 : REM Convert measured sync frequency to offset. 4572 FOR C%=3096 TO 3382 : REM 1000 to 1400 Hz only. 4573 F=(1/(4096-C%))*1000000 4574 D=(F-1000)/3.125/2+32 4575 pd_auto_table%?C%=D:NEXT 4576 4577 DIM tuning_indicator_table% 4096 : REM Convert counts to screen offset 4578 FOR C%=0 TO 4095 4579 F=(1/(4096-C%))*1000000 4580 D=(F-1000)/5 4581 tuning_indicator_table%?C%=D:NEXT 4582 4583 DIM green_store% 12800*4 4584 green_store2%=green_store%+2560 4585 blue_store%=green_store%+2560*2 4586 blue_store2%=green_store%+2560*3 4587 red_store%=green_store%+2560*4 4588 PROCcreate_ry_tables 4589 PROCset_rx_parameters 4590 4591 DIM tx_code% FNfile_len("<Pscan$Dir>.Resources.PscanTX") 4592 OSCLI("LOAD <Pscan$Dir>.Resources.PscanTX "+STR$~tx_code%) 4593 tx_param%=tx_code%+(!tx_code%) 4594 PROCtx_params_setup 4595 4596 DIM vis_code% FNfile_len("<Pscan$Dir>.Resources.PscanVIS") 4597 OSCLI("LOAD <Pscan$Dir>.Resources.PscanVIS "+STR$~vis_code%) 4598 vis_param%=vis_code%+(vis_code%!4) 4599 4600 DIM offset_code% FNfile_len("<Pscan$Dir>.Resources.PscanOFF") 4601 OSCLI("LOAD <Pscan$Dir>.Resources.PscanOFF "+STR$~offset_code%) 4602 offset_result%=offset_code%+(offset_code%!4) 4603 4604 DIM auto_code% FNfile_len("<Pscan$Dir>.Resources.AutoMode") 4605 OSCLI("LOAD <Pscan$Dir>.Resources.AutoMode "+STR$~auto_code%) 4606 4607 DIM vis_table% 2360:N=0 4608 FOR C=3392 TO 3100 STEP-1 4609 F=(1/(4096-C))*1000000:F2=F-180:F3=F+180 4610 C2%=4096-(1/F2*1000000):C3%=4096-(1/F3*1000000) 4611 !(vis_table%+N)=C2%:!(vis_table%+N+4)=C3%:N+=8:NEXT 4612 vis_param%!24=vis_table% 4613 4614 ENDPROC 4615 4616 DEF PROCcreate_ry_tables 4617 DIM tab_ry1% 1024,tab_by1% 1024,tab_y1% 1024,tab_r1% 1024,tab_b1% 1024 4618 A%=0:FOR N%=-129 TO 126 4619 tab_ry1%!A%=INT(N%*1.408):tab_by1%!A%=INT(N%*1.786) 4620 A%+=4:NEXT 4621 FOR N%=0 TO 255 4622 tab_y1%?N%=INT((N%/2)*1.695):tab_r1%?N%=INT(N%*0.508) 4623 tab_b1%?N%=INT(N%*0.186):NEXT 4624 ENDPROC 4625 4626 DEF PROCset_rx_parameters 4627 rx_param%!40=green_store%:hq_rx_param%!40=green_store% 4628 rx_param%!44=green_store2%:hq_rx_param%!44=green_store2% 4629 rx_param%!48=blue_store%:hq_rx_param%!48=blue_store% 4630 rx_param%!52=blue_store2%:hq_rx_param%!52=blue_store2% 4631 rx_param%!56=red_store%:hq_rx_param%!56=red_store% 4632 IF screen_lines%=512 THEN 4633 rx_param%!76=screen%+558560:hq_rx_param%!76=screen%+558560 4634 ELSE 4635 rx_param%!76=screen%+517600:hq_rx_param%!76=screen%+517600 4636 ENDIF 4637 rx_param%!80=screen%+632932:hq_rx_param%!80=screen%+632932 4638 rx_param%!32=rx_table%:hq_rx_param%!32=rx_table% 4639 rx_param%!36=screen%:hq_rx_param%!36=screen% 4640 rx_param%!116=pd_rx_table%:hq_rx_param%!116=pd_rx_table% 4641 rx_param%!124=tab_ry1%:hq_rx_param%!124=tab_ry1% 4642 rx_param%!128=tab_by1%:hq_rx_param%!128=tab_by1% 4643 rx_param%!132=tab_y1%:hq_rx_param%!132=tab_y1% 4644 rx_param%!136=tab_r1%:hq_rx_param%!136=tab_r1% 4645 rx_param%!140=tab_b1%:hq_rx_param%!140=tab_b1% 4646 ENDPROC 4647 4648 DEF PROCtx_table_62 4649 G%=0:IF X4% THEN M%=4 ELSE M%=1 4650 FOR F=1500*M% TO 2301*M% STEP 800/31*M% 4651 C=INT(1/F/2*1000000*2-1+.5) 4652 tx_table%!G%=C:G%+=4:NEXT 4653 ENDPROC 4654 4655 DEF PROCtx_table_248 4656 G%=0:IF X4% THEN M%=4 ELSE M%=1 4657 FOR F=1500*M% TO 2301*M% STEP 800/248*M% 4658 C=INT(1/F/2*1000000*2-1+.5) 4659 tx_table%!G%=C:G%+=4:NEXT 4660 ENDPROC 4661 4662 DEF PROCset_fax_tx_tones 4663 IF X4% THEN 4664 tx_param%!104=108:tx_param%!108=0 4665 tx_param%!72=108 :tx_param%!76=0 4666 ELSE 4667 tx_param%!104=178:tx_param%!108=1 4668 tx_param%!72=64 :tx_param%!76=3 4669 ENDIF 4670 ENDPROC 4671 4672 DEF PROCset_sstv_tx_tones 4673 IF X4% THEN 4674 tx_param%!104=166:tx_param%!108=0 4675 tx_param%!72=207:tx_param%!76=0 4676 ELSE 4677 tx_param%!104=154:tx_param%!108=2 4678 tx_param%!72=64 :tx_param%!76=3 4679 ENDIF 4680 ENDPROC 4681 4682 DEF PROCtx_params_setup 4683 DIM tx_table% 1024 4684 IF X4% THEN 4685 tx_param%!64=226 :tx_param%!68=0 4686 tx_param%!72=207 :tx_param%!76=0 4687 tx_param%!80=191 :tx_param%!84=0 4688 tx_param%!88=166 :tx_param%!92=0 4689 tx_param%!96=131 :tx_param%!100=0 4690 tx_param%!104=108:tx_param%!108=0 4691 ELSE 4692 tx_param%!64=140 :tx_param%!68=3 4693 tx_param%!72=64 :tx_param%!76=3 4694 tx_param%!80=0 :tx_param%!84=3 4695 tx_param%!88=154 :tx_param%!92=2 4696 tx_param%!96=13 :tx_param%!100=2 4697 tx_param%!104=178:tx_param%!108=1 4698 ENDIF 4699 DIM pd_tx_buffer% 2592 4700 tx_param%!112=pd_tx_buffer% 4701 DIM red30% 250,grn59% 250,blu11% 250,ry71% 250,by56% 256 4702 FOR N%=0 TO 250 4703 red30%?N%=INT(N%*0.3+.5) 4704 grn59%?N%=INT(N%*0.59+.4) 4705 blu11%?N%=INT(N%*.11+.5) 4706 ry71%?N%=INT(N%*.71+.5) 4707 by56%?N%=INT(N%*.56+.5) 4708 NEXT 4709 tx_param%!120=red30%:tx_param%!124=grn59% 4710 tx_param%!128=blu11%:tx_param%!132=ry71%:tx_param%!136=by56% 4711 ENDPROC 4712 4713 DEF PROCtx_frame(rflag%) 4714 PROCdisplay_memory 4715 GCOL 63 TINT 192 4716 N%=tx_code%+(!tx_code%) 4717 IF mode%>69 AND mode%<80 THEN ERROR 1997,"TX not available in HQ modes" 4718 IF mode%>59 AND mode%<68 THEN PROCcal_pd_97 4719 IF mode%<20 THEN PROCcal_sstv_new 4720 IF mode%>19 AND mode%<23 THEN PROCcal_pasokon_new 4721 IF mode%>99 THEN PROCcal_fax_new 4722 N%!12=long% MOD 256:N%!16=long% DIV 256 4723 N%!20=short% MOD 256:N%!24=short% DIV 256 4724 N%!4=pixel% MOD 256:N%!8=pixel% DIV 256 4725 IF mode%>99 THEN N%!40=512 ELSE N%!40=256 4726 IF mode%>19 AND mode%<23 THEN N%!40=496 : REM Pasokon modes 4727 IF mode%>59 AND mode%<68 THEN PROCtx_table_248 ELSE PROCtx_table_62 4728 N%!36=tx_table% : REM pass tx table address 4729 IF mode%=62 THEN pd_offset%=FNpd160_cursor ELSE pd_offset%=0 4730 IF (mode%>19 AND mode%<23) OR (mode%>59 AND mode%<66 AND mode%<>62) THEN 4731 pd_offset%=20480:GCOL 32,32,32:RECTANGLE FILL 0,992,1280,40 4732 PROCpd_mode_header(0,960):PROCupload_memory 4733 ENDIF 4734 IF mode%=63 OR mode%=65 THEN pd_offset%=1280 4735 N%!0=screen%+pd_offset% : REM pass screen memory start address 4736 N%!28=memblock%+20+pd_offset% 4737 IF mode%>99 THEN N%!52=TXphase% MOD 256:N%!56=TXphase% DIV 256 4738 FOR N%=0 TO 2592 STEP4:pd_tx_buffer%!N%=&7F7F7F7F:NEXT:PROCwait_no_button 4739 4740 IF rflag% PROCdisplay_header_text(call$+" Pscan repeater") 4741 4742 IF header_text% AND mode%<100 AND NOT rflag% THEN 4743 PROCdisplay_header_text(header_text$) 4744 ENDIF 4745 4746 tx_param%!148=serial_base% 4747 4748 IF pd_offset%<>1 THEN E%=mode%:CALL(tx_code%+8):REM 1 = PD160 cursor abort 4749 PROCdisplay_memory:PROCmini_pad 4750 ENDPROC 4751 4752 DEF PROCcal_hq 4753 CASE mode% OF 4754 WHEN 70:L=705410:P=534:pixel%=266:rx_param%!60=254:rx_param%!120=320 4755 rx_param%!36=screen%+5120:rx_param%!144=132:rx_param%!148=0 4756 rx_param%!168=30:rx_param%!172=2 4757 rx_param%!176=68:rx_param%!180=1:rx_param%!184=96 4758 corr=(L/1000000/2)*(clock_freq%-2000000) 4759 long%=(21680+corr)*2-0.5 4760 WHEN 71:L=873610:P=664:pixel%=331:rx_param%!60=254:rx_param%!120=320 4761 rx_param%!36=screen%+5120:rx_param%!144=165:rx_param%!148=0 4762 rx_param%!168=60:rx_param%!172=3 4763 rx_param%!176=165:rx_param%!180=0:rx_param%!184=80 4764 corr=(L/1000000/2)*(clock_freq%-2000000) 4765 long%=(21690+corr)*2-0.5 4766 ENDCASE 4767 short%=pixel%:rx_param%!100=10 4768 ENDPROC 4769 4770 DEF PROCcal_pd_97 4771 CASE mode% OF 4772 WHEN 60:L=754240 :P=286:pixel%=142:rx_param%!60=494:rx_param%!120=640: 4773 IF screen_lines%=512 THEN rx_param%!36=screen%+23040 ELSE rx_param%!36=screen% 4774 WHEN 61:L=1000000:P=382:pixel%=190:rx_param%!60=494:rx_param%!120=640: 4775 IF screen_lines%=512 THEN rx_param%!36=screen%+23040 ELSE rx_param%!36=screen% 4776 WHEN 62:L=804416 :P=382:pixel%=190:rx_param%!60=398:rx_param%!120=512 4777 :rx_param%!36=screen%+56*1280+128 4778 WHEN 63:L=703040 :P=532:pixel%=265:rx_param%!60=254:rx_param%!120=320 4779 IF screen_lines%=512 THEN rx_param%!36=screen%+3840 ELSE rx_param%!36=screen% 4780 WHEN 64:L=508480 :P=190:pixel%=94:rx_param%!60=494:rx_param%!120=640: 4781 IF screen_lines%=512 THEN rx_param%!36=screen%+23040 ELSE rx_param%!36=screen% 4782 WHEN 65:L=388160 :P=286:pixel%=142:rx_param%!60=254:rx_param%!120=320 4783 IF screen_lines%=512 THEN rx_param%!36=screen%+3840 ELSE rx_param%!36=screen% 4784 ENDCASE 4785 CASE mode% OF 4786 WHEN 60,61,64:tp%=2560 4787 WHEN 62 :tp%=2048 4788 WHEN 63,65 :tp%=1280 4789 ENDCASE 4790 TS=L-(tp%*P*2000000/clock_freq%) 4791 T1=TS*clock_freq%/2000000 4792 long%=INT(T1*2-.5):short%=pixel% 4793 rx_param%!100=16:rx_param%!144=pd_auto_table% 4794 rx_param%!192=pd_auto_lines% 4795 PROCset_sstv_tx_tones 4796 ENDPROC 4797 4798 DEF PROCcal_pasokon_new 4799 CASE mode% OF 4800 WHEN 20:long=7453:short=1203:pixel=52:line_time=409375 4801 :pp1%=6976.5-4*208:pp2%=5*208:rx_param%!100=7 4802 WHEN 21:long=11179.5:short=1804.5:pixel=78:line_time=614062.5 4803 :pp1%=10625-4*312.5:pp2%=5*312.5:rx_param%!100=9 4804 WHEN 22:long=14906:short=2406:pixel=104:line_time=818750 4805 :pp1%=14543.5-4*416.5:pp2%=5*416.5:rx_param%!100=11 4806 ENDCASE 4807 line_total=(pixel*2561*3+long+short+short)*(clock_freq%/2000000) 4808 line_error=line_total-line_time:long=long+line_error 4809 rx_param%!60=495 :REM lines 4810 rx_param%!72=2560 :REM 640 pixels 4811 IF screen_lines%=512 THEN rx_param%!36=screen%+21760 ELSE rx_param%!36=screen% 4812 PROCset_sstv_tx_tones 4813 long%=long*2-.5:short%=short*2-.5:pixel%=pixel*2-1 4814 tx_param%!140=pp1% DIV 128:tx_param%!144=pp2% DIV 128 4815 ENDPROC 4816 4817 DEF PROCcal_fax_new 4818 CASE mode% OF 4819 WHEN 100,120:pixel=388.5:l%=1000000:phase%=7999 4820 WHEN 101,121:pixel=258.5:l%=666667 :phase%=5333 4821 WHEN 102,122:pixel=193.5:l%=500000 :phase%=3999 4822 WHEN 103,123:pixel=128.5:l%=333333 :phase%=2665 4823 WHEN 104,124:pixel=95.5 :l%=250000 :phase%=1999 4824 WHEN 105,125:pixel=63.0 :l%=166667 :phase%=1333 4825 WHEN 106,126:pixel=47.0 :l%=125000 :phase%=999 4826 ENDCASE 4827 TXphase%=INT(((l%/20)*clock_freq%/2000000)*2)-.5 4828 tv%=pixel*4*640:cst=l%-(tv%*2000000/clock_freq%):cst-=pixel 4829 long%=INT(cst*2-.5):short%=long%:pixel%=pixel*2-1 4830 IF mode%>119 THEN rx_param%!60=550 ELSE rx_param%!60=1020 4831 rx_param%!72=2560 :REM 640 pixels 4832 rx_param%!36=screen% :REM Start at top of frame 4833 rx_param%!84=phase% MOD 256:rx_param%!88=phase% DIV 256 4834 rx_param%!156=&03000000:rx_param%!160=0:rx_param%!164=0 4835 IF mode%>119 THEN rx_param%!152=0 ELSE rx_param%!152=fax_average% 4836 PROCset_fax_tx_tones 4837 ENDPROC 4838 4839 DEF PROCcal_sstv_new 4840 CASE mode% OF 4841 WHEN 1 4842 CASE sstv_time% OF 4843 WHEN 1:long=5763.5:short=329.5 4844 WHEN 2:long=5623.5:short=399.5 4845 WHEN 3:long=5843.5:short=289.5 4846 ENDCASE 4847 pixel=114.5:line_time=446446 4848 WHEN 2:long=6205:short=771:pixel=57:line_time=226798 4849 WHEN 5:long=10392:short=1392:pixel=108:line_time=428220 4850 WHEN 6:long=10175:short=1175:pixel=69:line_time=277692 4851 WHEN 9:long=10230:short=1230:pixel=270:line_time=1050300 4852 WHEN 11:long=6710:short=533:pixel=183:line_time=711045 4853 WHEN 12:long=5828:short=974:pixel=183:line_time=711045 4854 ENDCASE 4855 line_total=(1281*pixel*3+long+short+short)*(clock_freq%/2000000) 4856 line_error=line_total-line_time:long=long+line_error 4857 rx_param%!60=255 :REM lines 4858 rx_param%!72=1280 :REM 1280 "samples", each 1 is average of 4 4859 IF screen_lines%=512 THEN rx_param%!36=screen%+2560 ELSE rx_param%!36=screen% 4860 rx_param%!100=6 4861 long%=long*2-.5:short%=short*2-.5:pixel%=pixel*2-1 4862 ENDPROC 4863 4864 4865 DEF PROCrx_sstv(rflag%) 4866 4867 IF NOT rflag% THEN 4868 GCOL3,255,255,255:RECTANGLE FILL 10*64+8,6,48,46 4869 ENDIF 4870 4871 L%=0 4872 4873 IF auto_find% THEN 4874 PROCauto_mode_find 4875 auto_find%=FALSE 4876 ENDIF 4877 4878 IF L%=1 OR L%=2 THEN PROCdismini:PROCwait_no_button:ENDPROC 4879 REM Auto-mode aborted (L%=1) or timeout (L%=2) 4880 4881 IF mode%=70 OR mode%=71 rx_param%=hq_parameters% ELSE rx_param%=rx_parameters% 4882 PROCset_rx_parameters:rx_param%!152=0 4883 FOR N%=0 TO 12796 STEP4:green_store%!N%=3440:NEXT 4884 4885 IF mode%=60 OR mode%=61 OR mode%=62 OR mode%=64 THEN 4886 GCOL 32,32,32 4887 IF mode%=62 THEN 4888 RECTANGLE FILL 0,0,1280,1024 4889 ELSE 4890 RECTANGLE FILL 0,988,1280,64 4891 ENDIF 4892 ELSE 4893 GCOL 0,0,0:RECTANGLE FILL 0,1020,1280,4 4894 ENDIF 4895 4896 IF mode%<20 THEN PROCcal_sstv_new 4897 IF mode%>19 AND mode%<23 THEN PROCcal_pasokon_new 4898 IF mode%>99 THEN PROCcal_fax_new 4899 IF mode%>59 AND mode%<67 THEN PROCcal_pd_97 4900 IF mode%>69 AND mode%<80 THEN PROCcal_hq 4901 short2%=short%+pixel%:lines%=rx_param%!60:rx_param%!68=mode% 4902 rx_param%!0=pixel% MOD 256:rx_param%!4=pixel% DIV 256 4903 rx_param%!8=pixel% MOD 256:rx_param%!12=pixel% DIV 256 4904 rx_param%!16=short2% MOD 256:rx_param%!20=short2% DIV 256 4905 rx_param%!24=long% MOD 256:rx_param%!28=long% DIV 256 4906 IF mode%<100 PROCtuning_indicator 4907 IF mode%>99 AND mbox%=10 THEN rx_param%!92=1 ELSE rx_param%!92=0 4908 rx_param%!196=serial_base% 4909 REPEAT 4910 PROCwait_no_button:K=INKEY(1) 4911 PROCinterface_offset:rx_param%!112=Ioffset% DIV 2 4912 rx_param%!188=tuning_indicator_table% 4913 rx_param%!64=0 4914 IF mode%=70 OR mode%=71 CALL hq_rx_code% ELSE CALL rx_code% 4915 IF rx_param%!64=96 THEN 4916 REM 96 = re-sync 4917 IF mode%>99 THEN rx_param%!92=1 4918 IF mode%>59 AND mode%<80 THEN 4919 rx_param%!60=(rx_param%!60)-2 4920 ELSE 4921 rx_param%!60=(rx_param%!60)-1 4922 ENDIF 4923 ENDIF 4924 UNTIL rx_param%!64<>96 4925 4926 IF lines%-(rx_param%!60)>12 THEN 4927 N%=screen_lines%*2-1-(((rx_param%!36)-screen%)DIV640):GCOL32,32,32 4928 IF N%>0 THEN 4929 FOR Y%=0 TO N% STEP2:LINE 0,Y%,1280,Y%:NEXT 4930 ENDIF 4931 IF mode%<20 OR mode%=70 OR mode%=71 OR mode%=63 OR mode%=65 !screen%=&80008000 4932 ELSE 4933 PROCdisplay_memory 4934 ENDIF 4935 4936 IF rx_param%!164>511 AND mode%>99 THEN 4937 S%=screen%:SL%=(rx_param%!164)-511:screen%=screen%+1280*SL% 4938 PROCupload_memory:screen%=S%:sb%=rx_param%+156:sb2%=sb%+4 4939 !sb%=&03000000:!sb2%=0:SYS "OS_Word",22,sb%+3:PROCdisplay_memory 4940 ENDIF 4941 4942 IF rflag% PROCupload_memory ELSE PROCupmini 4943 VDU7:CALL reset_t0_code% 4944 PROCwait_no_button 4945 ENDPROC 4946 4947 DEF PROCtuning_indicator 4948 PROCraised_block(426,100,434,90) 4949 GCOL 0,0,0 4950 FOR N%=480 TO 800 STEP40:RECTANGLE FILL N%,108,2,54:NEXT 4951 GCOL 0,64,32:RECTANGLE FILL 636,108,10,56 4952 GCOL 0,40,96:RECTANGLE FILL 466,116,350,38 4953 PROCwrite2("Lo",416,118,4) 4954 PROCwrite2("Hi",812,118,4) 4955 SYS sprswi%,256+52,spb%,"ti_scale",458,170,8,0,translate% 4956 ENDPROC 4957 4958 DEF PROCinterface_offset 4959 offset_result%!16=serial_base% 4960 CALL offset_code% 4961 t1=(offset_result%!0)/(offset_result%!4) 4962 t2=(offset_result%!8)/(offset_result%!12) 4963 N%=t2-t1+1 4964 IF ABS(N%)<100 THEN Ioffset%=(Ioffset%+N%)/2 4965 IF call$="G4IJE" THEN 4966 COLOUR63:PRINT TAB(23,58);"Last value:";N%;" Running average:";Ioffset% 4967 ENDIF 4968 ENDPROC 4969 4970 DEF PROCvis_start 4971 GCOL3,255,255,255:RECTANGLE FILL 8*64+6,8,112,44 4972 r%=64:g%=255:b%=64 4973 GCOL r%,g%,b%:RECTANGLE FILL 612,24,10,10 4974 IF mode%>99 THEN 4975 PROCrx_sstv(FALSE) 4976 ELSE 4977 GCOL 196,196,196:RECTANGLE FILL 390,6,112,46 4978 vis_quit%=0 4979 vis_param%!80=0 : REM Normal (wide) bandwidth 4980 vis_param%!4=serial_base% 4981 REPEAT 4982 PROCwait_no_button 4983 REPEAT:CALL vis_code% 4984 g%=g%EOR255:GCOL r%,g%,b%:RECTANGLE FILL 612,24,10,10 4985 UNTIL !vis_param%<>256 4986 VIS%=!vis_param% 4987 PROCvis_convert_to_mode(VIS%) 4988 IF good_vis% THEN 4989 GCOL 255,64,0:RECTANGLE FILL 612,24,10,10 4990 VDU5:GCOL0 TINT0:MOVE400,36:PRINT mode$(mode%):VDU4:OFF:WAIT 4991 PROCrx_sstv(FALSE):vis_quit%=TRUE 4992 ENDIF 4993 IF VIS%=320 THEN auto_save%=0:PROCmini_pad:vis_quit%=TRUE 4994 UNTIL vis_quit% 4995 ENDIF 4996 ENDPROC 4997 4998 DEF PROCtx_test_tone(f%) 4999 IF X4% THEN M%=4 ELSE M%=1 5000 c%=INT(1/(f%*M%)/2*1000000*2-1+.5) 5001 vis_param%!56=c% MOD 256:vis_param%!60=c% DIV 256 5002 vis_param%!80=0 : REM normal VIS / test tones 5003 vis_param%!4=serial_base% 5004 PROCwait_no_button:PROCraised_block(842,90,208,640) 5005 GCOL 255,255,0:RECTANGLE FILL 850,550,186,94 5006 PROCwrite2("Sending",874,600,4) 5007 PROCwrite2(STR$ f%+" Hz",874,560,4) 5008 PROCraised_block(870,200,150,40) 5009 PROCwrite2("Cancel",884,204,4) 5010 MOUSE TO 990,216:WAIT 5011 CALL vis_code%+(vis_code%!8) 5012 PROCwait_no_button:menu_redraw%=TRUE 5013 ENDPROC 5014 5015 DEF PROCupdate_rtc(upd%) 5016 ?rtc_buffer%=1 5017 SYS "IIC_Control",&A0,rtc_buffer%,1 5018 SYS "IIC_Control",&A1,rtc_buffer%,6 5019 S$=STR$~rtc_buffer%?1:s%=VAL(S$) 5020 IF s%<30 THEN s%+=1:S$=STR$(s%) 5021 IF LEN S$<2 THEN S$="0"+S$ 5022 M$=STR$~rtc_buffer%?2:IF LEN M$<2 THEN M$="0"+M$ 5023 h%=rtc_buffer%?3:IF bst_flag% THEN h%+=1:IF h%=24 THEN h%=0 5024 H$=STR$~h%:IF LEN H$<2 THEN H$="0"+H$ 5025 IF H$>=MID$(TIME$,17,2) THEN 5026 ?rtc_buffer%=8:$(rtc_buffer%+1)=H$+":"+M$+":"+S$ 5027 IF upd% SYS "OS_Word",15,rtc_buffer% 5028 ENDIF 5029 ENDPROC 5030 5031 DEF PROCcheck_for_bst 5032 ?rtc_buffer%=1 5033 SYS "IIC_Control",&A0,rtc_buffer%,1 5034 SYS "IIC_Control",&A1,rtc_buffer%,6 5035 H$=STR$~rtc_buffer%?3:IF LEN H$<2 THEN H$="0"+H$ 5036 T$=MID$(TIME$,17,2):IF H$<>T$ THEN bst_flag%=TRUE ELSE bst_flag%=0 5037 ENDPROC 5038 5039 DEF PROCauto_save 5040 REPEAT 5041 GCOL 128+21 TINT0:CLS:PROCmini_pad:PROCvis_start 5042 IF VIS%<>320 THEN 5043 ?rtc_buffer%=1 5044 SYS "IIC_Control",&A0,rtc_buffer%,1 5045 SYS "IIC_Control",&A1,rtc_buffer%,6 5046 M$=STR$~rtc_buffer%?2:IF LEN M$<2 THEN M$="0"+M$ 5047 H$=STR$~rtc_buffer%?3:IF LEN H$<2 THEN H$="0"+H$ 5048 F$=MID$(TIME$,8,3)+MID$(TIME$,5,2)+"-"+H$+M$ 5049 save_type$="jpeg1":PROCsave_jpeg(auto_dir$+"."+F$) 5050 auto_count%+=1:MEM%=MEM%+1 5051 IF MEM%=memories% THEN MEM%=0 5052 ENDIF 5053 UNTIL VIS%=320 5054 ENDPROC 5055 5056 DEF PROCwaveform_assemble 5057 DIM waveform_code% 400 5058 FOR P=0 TO 2 STEP2 5059 P%=waveform_code% 5060 base1=3:data=4:offset1=5:offset2=6 5061 increment=7:lines=8:wave_limit=9 5062 base2=10:rgb=11 5063 [OPT P 5064 LDR base1,waveform_source:LDR base2,waveform_plot_base 5065 LDR increment,waveform_increment:MOV R1,#1280:MOV lines,#256 5066 MOV offset1,#0:MOV offset2,#0:LDR wave_limit,waveform_limit 5067 LDR rgb,waveform_rgb 5068 .wave_loop 5069 LDR base2,waveform_plot_base 5070 LDR data,[base1,offset1] 5071 CMP rgb,#2:MOVEQ data,data,LSR#5 5072 CMP rgb,#3:MOVEQ data,data,LSR#10 5073 AND R0,data,#31 5074 MOV data,data,LSR#16:AND data,data,#31 5075 ADD R0,data,R0:MOV R0,R0,LSL#1 5076 MUL data,R0,R1 5077 SUB data,base2,data 5078 LDR R0,[data,offset2] 5079 CMP R0,wave_limit 5080 ADDNE R0,R0,increment:STR R0,[data,offset2] 5081 ADD data,data,#1280:STR R0,[data,offset2] 5082 ADD offset1,offset1,#16:ADD offset2,offset2,#4 5083 CMP offset2,#320:BNE wave_loop 5084 MOV offset1,#0:MOV offset2,#0 5085 ADD base1,base1,#2560:SUBS lines,lines,#1:BNE wave_loop 5086 5087 .wave_exit 5088 MOV PC,R14 5089 5090 .waveform_source EQUD 0 5091 .waveform_plot_base EQUD 0 5092 .waveform_increment EQUD &00200020 5093 .waveform_limit EQUD &03E003E0 5094 .waveform_rgb EQUD 0 5095 5096 ] 5097 NEXT 5098 ENDPROC 5099 5100 DEF PROCwaveform_monitor 5101 exit%=0 5102 REPEAT 5103 PROCdisplay_memory 5104 GCOL 64,64,64:RECTANGLE FILL 0,0,1280,320 5105 GCOL 128,128,128:LINE 0,320,1280,320 5106 GCOL 0,0,0 5107 RECTANGLE FILL 20,14,318,254 5108 RECTANGLE FILL 348,14,318,254 5109 RECTANGLE FILL 676,14,318,254 5110 PROCraised_block(1060,20,160,50) :REM Cancel 5111 PROCraised_block(1060,100,160,50):REM Upload 5112 PROCwrite2("Cancel",1080,28,4) 5113 PROCwrite2("Upload",1080,108,4) 5114 PROCwrite2("RED",144,274,1) 5115 PROCwrite2("GREEN",458,274,1) 5116 PROCwrite2("BLUE",794,274,1) 5117 5118 m%=1 5119 FOR X%=1030 TO 1210 STEP 60 5120 PROCraised_block(X%,250,40,40):PROCwrite2(STR$ m%,X%-2,254,4) 5121 PROCraised_block(X%,190,40,40):PROCwrite2(STR$(m%+4),X%-2,194,4) 5122 m%+=1:NEXT 5123 5124 GCOL 3,63 TINT192 5125 CASE MEM% OF 5126 WHEN 0:RECTANGLE FILL 1026,246,46,48 5127 WHEN 1:RECTANGLE FILL 1086,246,46,48 5128 WHEN 2:RECTANGLE FILL 1146,246,46,48 5129 WHEN 3:RECTANGLE FILL 1206,246,46,48 5130 WHEN 4:RECTANGLE FILL 1026,186,46,48 5131 WHEN 5:RECTANGLE FILL 1086,186,46,48 5132 WHEN 6:RECTANGLE FILL 1146,186,46,48 5133 WHEN 7:RECTANGLE FILL 1206,186,46,48 5134 ENDCASE 5135 5136 !waveform_increment=&00400040:!waveform_limit=&03C003C0 5137 !waveform_rgb=1 : REM RED 5138 !waveform_source=memblock%+20 5139 !waveform_plot_base=screen%+642580 5140 CALL waveform_code% 5141 !waveform_rgb=2 : REM GREEN 5142 !waveform_plot_base=screen%+642600+310 5143 CALL waveform_code% 5144 !waveform_rgb=3 : REM BLUE 5145 !waveform_plot_base=screen%+642600+636 5146 CALL waveform_code% 5147 5148 GCOL 50 TINT 192 5149 FOR Y=39.4 TO 242.6 STEP25.4:MOVE 18,Y:PLOT 17,978,0:NEXT 5150 FOR X=18 TO 980 STEP82:MOVE X,16:PLOT 17,0,252:NEXT 5151 5152 PROCwait_no_button 5153 REPEAT:MOUSE X,Y,B:K$=INKEY$(1):UNTIL B=4 OR K$<>"" 5154 IF K$<>"" THEN 5155 X=0:m%=ASC(K$)-49 5156 IF m%>-1 AND m%<memories% PROCmemory_select(m%,0):PROCdisplay_memory 5157 ENDIF 5158 5159 IF B=4 THEN 5160 5161 m%=99 5162 IF FNcheck_button(1030,250,40,40) m%=0 5163 IF FNcheck_button(1090,250,40,40) m%=1 5164 IF FNcheck_button(1150,250,40,40) m%=2 5165 IF FNcheck_button(1210,250,40,40) m%=3 5166 IF FNcheck_button(1030,190,40,40) m%=4 5167 IF FNcheck_button(1090,190,40,40) m%=5 5168 IF FNcheck_button(1150,190,40,40) m%=6 5169 IF FNcheck_button(1210,190,40,40) m%=7 5170 IF m%<memories% PROCmemory_select(m%,0):PROCdisplay_memory 5171 5172 IF FNcheck_button(1060,100,160,50) THEN 5173 PROCupload_memory:exit%=TRUE 5174 ENDIF 5175 5176 IF FNcheck_button(1060,20,160,50) THEN 5177 PROCdisplay_memory:exit%=TRUE 5178 ENDIF 5179 5180 ENDIF 5181 5182 UNTIL exit% 5183 ENDPROC 5184 5185 DEF PROCsegment_menu 5186 menu$(0)="Segment grads " 5187 menu$(1)="Preset type 1" 5188 menu$(2)="Preset type 2" 5189 menu$(3)="Preset type 3" 5190 menu$(4)="Preset type 4" 5191 menu$(5)="User defined" 5192 menu$(6)="*":PROCmenu(0,90,-1) 5193 CASE menu_box% OF 5194 WHEN 1:R=255:G=0:B=0 5195 WHEN 2:R=128:G=128:B=128 5196 WHEN 3:R=128:G=128:B=255 5197 WHEN 4:R=0:G=255:B=128 5198 WHEN 5:PROCrgb_sliders(0):R=red%:G=grn%:B=blu% 5199 ENDCASE 5200 IF menu_box%<>99 THEN PROCsegment_background 5201 ENDPROC 5202 5203 DEF PROCsegment_background 5204 PROCwait_no_button 5205 GCOL 64,64,64:RECTANGLE FILL 0,0,1280,1024 5206 PROCraised_block(310,184,600,100) 5207 PROCwrite2("Move mouse pointer to desired centre",320,240,4) 5208 PROCwrite2("then click select - click adjust to abort",320,200,4) 5209 REPEAT:MOUSE x,y,b:UNTIL b<>0:IF b=4 THEN 5210 ORIGIN x,y:MOVE x,y:MOVE x,y 5211 RI=2:GI=1:BI=3:hi%=255:lo%=0 5212 step=(2*PI)/512 5213 FOR A=0 TO 2*PI+step STEP step 5214 GCOL R,G,B:X=1640*COS A:Y=1640*SIN A 5215 X2=1640*COS(A+step):Y2=1640*SIN(A+step) 5216 PLOT &B5,X2,Y2:LINE 0,0,X,Y 5217 R+=RI 5218 IF R>hi% THEN R=hi%:RI=-RI 5219 IF R<lo% THEN R=lo%:RI=-RI 5220 G+=GI 5221 IF G>hi% THEN G=hi%:GI=-GI 5222 IF G<lo% THEN G=lo%:GI=-GI 5223 B+=BI 5224 IF B>hi% THEN B=hi%:BI=-BI 5225 IF B<lo% THEN B=lo%:BI=-BI 5226 NEXT:ORIGIN 0,0 5227 IF NOT(merge%) THEN PROCupload_memory 5228 ENDIF 5229 ENDPROC 5230 5231 DEF PROCpixel_rgb 5232 x%=0:y%=0 5233 REPEAT 5234 PROCdisplay_memory:PROCwait_no_button 5235 PROCraised_block(550+x%,8+y%,160,108) 5236 GCOL 220,220,120:RECTANGLE FILL 550+x%,84+y%,158,30 5237 PROCwrite2("RGB values",544+x%,84+y%,4) 5238 PROCwrite2("R G B",556+x%,44+y%,4) 5239 MOUSE X1,Y1,B 5240 REPEAT 5241 REPEAT:MOUSE X,Y,B:UNTIL X<>X1 OR Y<>Y1 OR B<>0 5242 rgb%=POINT(X,Y):X1=X:Y1=Y 5243 r%=rgb%AND31:g%=(rgb%>>5)AND31:b%=(rgb%>>10)AND31 5244 r$=STR$(r%):IF LEN(r$)<2 THEN r$="0"+r$ 5245 g$=STR$(g%):IF LEN(g$)<2 THEN g$="0"+g$ 5246 b$=STR$(b%):IF LEN(b$)<2 THEN b$="0"+b$ 5247 GCOL 208,208,216:RECTANGLE FILL 560+x%,14+y%,140,28 5248 PROCwrite2(r$,550+x%,10+y%,4) 5249 PROCwrite2(g$,600+x%,10+y%,4) 5250 PROCwrite2(b$,650+x%,10+y%,4) 5251 UNTIL B<>0 5252 IF B=4 THEN y%=y% EOR 894 5253 UNTIL B=1:PROCdisplay_memory 5254 ENDPROC 5255 5256 DEF PROCmode(mode$) 5257 LOCAL c$,ex,ey,mode,end 5258 DIM mode 64:end=mode+20:!mode=1 5259 mode!4=VAL FN_m(mode$,"X","") 5260 mode!8=VAL FN_m(mode$,"Y","") 5261 c$=FN_m(mode$,"C","*") 5262 IF c$="*" THEN 5263 c$=FN_m(mode$,"G","") 5264 IF c$="256" THEN !end=3:end!4=255:end+=8 5265 ENDIF 5266 mode!12=FN_bpp(c$) 5267 mode!16=VAL FN_m(mode$,"F","-1") 5268 ex=VAL FN_m(mode$,"EX","-1") 5269 IF ex<>-1 THEN !end=4:end!4=ex:end+=8 5270 ey=VAL FN_m(mode$,"EY","-1") 5271 IF ey<>-1 THEN !end=5:end!4=ey:end+=8 5272 !end=-1 5273 LOCAL ERROR 5274 ON ERROR LOCAL ENDPROC 5275 MODE mode 5276 RESTORE ERROR 5277 ENDPROC 5278 5279 DEF FN_m(s$,p$,d$) 5280 LOCAL i,j:i=INSTR(s$,p$) 5281 IF i<1 AND d$="" THEN ERROR 490,"Missing "+p$ 5282 j=INSTR(s$+" "," ",i+1) 5283 IF i<1 THEN fnm$=d$ ELSE fnm$=MID$(s$,i+1,j-i-1) 5284 =fnm$ 5285 5286 DEF FN_bpp(n$) 5287 CASE n$ OF 5288 WHEN "2":bpp%=0 5289 WHEN "4":bpp%=1 5290 WHEN "16":bpp%=2 5291 WHEN "256":bpp%=3 5292 WHEN "32T","32t","32K","32k":bpp%=4 5293 WHEN "16M","16m":bpp%=5 5294 OTHERWISE:bpp%=0:ERROR 490,"Bad parameter "+n$ 5295 ENDCASE 5296 =bpp% 5297 5298 DEF FNmem_to_block(m%) 5299 CASE m% OF 5300 WHEN 1:mb%=mem1% 5301 WHEN 2:mb%=mem2% 5302 WHEN 3:mb%=mem3% 5303 WHEN 4:mb%=mem4% 5304 WHEN 5:mb%=mem5% 5305 WHEN 6:mb%=mem6% 5306 WHEN 7:mb%=mem7% 5307 WHEN 8:mb%=mem8% 5308 ENDCASE 5309 =mb% 5310 5311 DEF PROCquad_display 5312 tl%=9:tr%=9:bl%=9:br%=9:quad_quit%=0:quad_ok%=0 5313 GCOL 0,32,64:RECTANGLE FILL 0,0,1280,1024 5314 !source_address=FNmem_to_block(MEM%+1)+20 5315 !dest_address=screen%+164160:!quarter_lines=256:CALL make_quarter 5316 5317 M%=1:FOR QB%=4 TO 7 STEP3 5318 IF M%<=memories% THEN 5319 !dest_address=screen%+(QB% DIV 4)*163840+(QB% MOD 4)*320 5320 !source_address=FNmem_to_block(M%)+20:!mini_lines=128:CALL make_mini 5321 M%+=7:NEXT 5322 ENDIF 5323 5324 M%=3:FOR QB%=12 TO 15 5325 IF M%<=memories% THEN 5326 !dest_address=screen%+(QB% DIV 4)*163840+(QB% MOD 4)*320 5327 !source_address=FNmem_to_block(M%)+20:!mini_lines=128:CALL make_mini 5328 M%+=1:NEXT 5329 ENDIF 5330 5331 M%=2:FOR QB%=8 TO 11 STEP3 5332 IF M%<=memories% THEN 5333 !dest_address=screen%+(QB% DIV 4)*163840+(QB% MOD 4)*320 5334 !source_address=FNmem_to_block(M%)+20:!mini_lines=128:CALL make_mini 5335 M%+=5:NEXT 5336 ENDIF 5337 5338 FOR QB%=12 TO 15:PROCquad_border(QB%,255,255,0):NEXT 5339 FOR QB%=4 TO 7 STEP3:PROCquad_border(QB%,255,255,0):NEXT 5340 FOR QB%=8 TO 11 STEP3:PROCquad_border(QB%,255,255,0):NEXT 5341 PROCquad_border2 5342 PROCraised_block(460,800,360,120) 5343 PROCraised_block(490,820,120,40) 5344 PROCraised_block(668,820,120,40) 5345 PROCwrite2("CANCEL",492,824,4) 5346 PROCwrite2("OK",700,824,4) 5347 PROCwrite2("Pscan Quad Display",494,880,4) 5348 REPEAT 5349 REPEAT:MOUSE X,Y,B:UNTIL B<>0 5350 IF ABS(X-550)<62 AND ABS(Y-844)<22 THEN quad_quit%=TRUE 5351 IF ABS(X-728)<62 AND ABS(Y-844)<22 THEN quad_ok%=TRUE 5352 IF NOT(quad_quit%) AND NOT(quad_ok%) THEN 5353 MB1%=(X DIV 321)+((1024-Y)DIV 257)*4:x1=X:y1=Y 5354 IF MB1%=4 OR MB1%=7 OR MB1%=8 OR (MB1%>10 AND MB1%<16) THEN PROCquad_cursor(MB1%,X,Y) 5355 MB2%=(x1 DIV 321)+((1024-y1)DIV 257)*4 5356 IF MB1%=4 OR MB1%=7 OR MB1%=8 OR (MB1%>10 AND MB1%<16) THEN 5357 IF MB2%=5 OR MB2%=6 OR MB2%=9 OR MB2%=10 THEN PROCquad_move 5358 ENDIF 5359 ENDIF 5360 UNTIL quad_quit% OR quad_ok% 5361 IF quad_ok% THEN 5362 PROCdisplay_memory 5363 IF tl%<>9 THEN 5364 !source_address=FNmem_to_block(tl%)+20+40960 5365 !dest_address=screen%+40960:!quarter_lines=240:CALL make_quarter 5366 ENDIF 5367 IF tr%<>9 THEN 5368 !source_address=FNmem_to_block(tr%)+20+40960 5369 !dest_address=screen%+41600:!quarter_lines=240:CALL make_quarter 5370 ENDIF 5371 IF bl%<>9 THEN 5372 !source_address=FNmem_to_block(bl%)+20+40960 5373 !dest_address=screen%+348160:!quarter_lines=240:CALL make_quarter 5374 ENDIF 5375 IF br%<>9 THEN 5376 !source_address=FNmem_to_block(br%)+20+40960 5377 !dest_address=screen%+348800:!quarter_lines=240:CALL make_quarter 5378 ENDIF 5379 PROCupload_memory:PROCtopscale2(0) 5380 ELSE 5381 PROCdismini 5382 ENDIF 5383 ENDPROC 5384 5385 DEF PROCquad_border(qb%,r%,g%,b%) 5386 GCOL r%,g%,b% 5387 y%=768-((qb% DIV 4)*256):x%=(qb% MOD 4)*320 5388 RECTANGLE x%,y%,318,254 5389 RECTANGLE x%+2,y%+2,314,250 5390 RECTANGLE x%+4,y%+4,310,246 5391 ENDPROC 5392 5393 DEF PROCquad_border2 5394 GCOL 255,0,0:RECTANGLE 320,256,318,238:RECTANGLE 640,256,318,238 5395 RECTANGLE 320,496,318,238:RECTANGLE 640,496,318,238 5396 ENDPROC 5397 5398 DEF PROCquad_move 5399 CASE MB1% OF 5400 WHEN 4:M%=1 5401 WHEN 7:M%=8 5402 WHEN 8:M%=2 5403 WHEN 11:M%=7 5404 WHEN 12,13,14,15:M%=MB1%-9 5405 ENDCASE 5406 IF M%<=memories% THEN 5407 IF MB2%=5 OR MB2%=6 o%=16 ELSE o%=8 5408 !dest_address=screen%+(MB2% DIV 4)*163840+(MB2% MOD 4)*320+1280*o% 5409 !source_address=FNmem_to_block(M%)+20+1280*32:!mini_lines=120:CALL make_mini 5410 PROCquad_border2 5411 CASE MB2% OF 5412 WHEN 5:tl%=M% 5413 WHEN 6:tr%=M% 5414 WHEN 9:bl%=M% 5415 WHEN 10:br%=M% 5416 ENDCASE 5417 ENDIF 5418 ENDPROC 5419 5420 DEF PROCquad_cursor(source%,x,y) 5421 qcx%=(source% MOD 4)*320:qcy%=768-((source% DIV 4)*256) 5422 xo%=x-qcx%:yo%=y-qcy%:GCOL 3,63 TINT 192 5423 RECTANGLE qcx%,qcy%,318,238 5424 REPEAT 5425 REPEAT:MOUSE x1,y1,B 5426 UNTIL x1<>x OR y1<>y OR B=0 5427 IF B<>0 THEN 5428 RECTANGLE qcx%,qcy%,318,238 5429 qcx%=x1-xo%:qcy%=y1-yo% 5430 RECTANGLE qcx%,qcy%,318,238 5431 x=x1:y=y1 5432 ELSE 5433 RECTANGLE qcx%,qcy%,318,238 5434 ENDIF 5435 UNTIL B=0 5436 ENDPROC 5437 5438 DEF PROCquad_display_border(r%,g%,b%,qbw$) 5439 PROCdisplay_memory 5440 CASE qbw$ OF 5441 WHEN "n":qw%=10 5442 WHEN "m":qw%=20 5443 WHEN "w":qw%=30 5444 ENDCASE 5445 GCOL r%,g%,b%:PROCdisplay_memory 5446 RECTANGLE FILL 0,0,qw%,960 5447 RECTANGLE FILL 0,960-qw%,1280,qw% 5448 RECTANGLE FILL 1279-qw%,0,qw%,960 5449 RECTANGLE FILL 0,0,1280,qw% 5450 RECTANGLE FILL 640-qw%/2,0,qw%,960 5451 RECTANGLE FILL 0,480-qw%/2,1280,qw% 5452 PROCupmini 5453 ENDPROC 5454 5455 DEF PROCquad_border_menu 5456 REPEAT 5457 menu$(0)=" Quad borders " 5458 IF qbw$="n" THEN menu$(1)=CHR$128+" Narrow" ELSE menu$(1)=" Narrow" 5459 IF qbw$="m" THEN menu$(2)=CHR$128+" Medium" ELSE menu$(2)=" Medium" 5460 IF qbw$="w" THEN menu$(3)=CHR$128+" Wide" ELSE menu$(3)=" Wide" 5461 menu$(4)=" Colour selector" 5462 menu$(5)="*":PROCmenu(0,90,-1) 5463 CASE menu_box% OF 5464 WHEN 1:qbw$="n" 5465 WHEN 2:qbw$="m" 5466 WHEN 3:qbw$="w" 5467 WHEN 4:PROCrgb_sliders(0) 5468 ENDCASE 5469 UNTIL menu_box%=4 OR menu_box%=99 5470 IF menu_box%=4 THEN PROCquad_display_border(red%,grn%,blu%,qbw$):menu_box%=1 5471 ENDPROC 5472 5473 DEF PROCreset_t0_assemble 5474 DIM reset_t0_code% 64 5475 FOR P=0 TO 2 STEP2 5476 P%=reset_t0_code% 5477 [OPT P 5478 SWI "OS_EnterOS" 5479 MOV R2,#&03200000 5480 MOV R0,#31:STRB R0,[R2,#&40] 5481 MOV R0,#78:STRB R0,[R2,#&44] 5482 TEQP PC,#0:MOV R0,R0:MOV PC,R14 5483 ]:NEXT 5484 ENDPROC 5485 5486 DEF FNpd160_cursor 5487 PROCwait_no_button:MOUSE RECTANGLE 0,0,254,222 5488 MOUSE X,Y,B:GCOL 3,63:RECTANGLE X,Y,1024,768 5489 REPEAT 5490 REPEAT:MOUSE X1,Y1,B 5491 UNTIL X1<>X OR Y1<>Y OR B<>0 5492 RECTANGLE X,Y,1024,768 5493 RECTANGLE X1,Y1,1024,768 5494 X=X1:Y=Y1:UNTIL B<>0 5495 RECTANGLE X1,Y1,1024,768 5496 X%=(X DIV 4)*4:Y%=(Y DIV 2)*2 5497 MOUSE RECTANGLE 0,0,1280,1024 5498 IF B=4 THEN 5499 GCOL 32,32,32 5500 RECTANGLE FILL 0,0,1280,Y%-2 5501 RECTANGLE FILL 0,0,X%-2,1024 5502 RECTANGLE FILL 1024+X%,0,256,1024 5503 RECTANGLE FILL 0,Y%+768,1280,280 5504 PROCpd_mode_header(X%,Y%+768) 5505 PROCupload_memory 5506 pdr%=((224-Y%)/2)*1280+X% 5507 ELSE 5508 pdr%=1 5509 ENDIF 5510 =pdr% 5511 5512 DEF PROCpd_mode_header(X%,Y%) 5513 IF mode%=62 THEN W%=624 ELSE W%=880 5514 IF mode%=63 OR mode%=65 THEN H%=64 ELSE H%=32 5515 GCOL 48,48,184 5516 RECTANGLE FILL X%,Y%,200,H% 5517 RECTANGLE FILL X%+W%+198,Y%,204,H% 5518 RECTANGLE FILL X%,Y%,204,H%:GCOL 255,255,255 5519 5520 CASE mode% OF 5521 WHEN 20:pd$=" P-3" 5522 WHEN 21:pd$=" P-5" 5523 WHEN 22:pd$=" P-7" 5524 WHEN 60:pd$="PD180" 5525 WHEN 61:pd$="PD240" 5526 WHEN 62:pd$="PD160" 5527 WHEN 63:pd$="PD 90" 5528 WHEN 64:pd$="PD120" 5529 WHEN 65:pd$="PD 50" 5530 ENDCASE 5531 VDU5 5532 IF mode%=63 OR mode%=65 THEN 5533 VDU23,17,7,6,16;32;0; 5534 h%=54 5535 ELSE 5536 VDU23,17,7,6,16;16;0; 5537 h%=28 5538 ENDIF 5539 MOVE X%+W%+220,Y%+h%:PRINT pd$ 5540 IF LEN(call$)>5 THEN x%=4 ELSE x%=16 5541 MOVE X%+x%,Y%+h%:PRINT call$ 5542 VDU23,17,7,6,8;8;0;:VDU4:OFF:WAIT 5543 G%=6:w=W%/31 5544 FOR x%=X%+200 TO x%+W%-w STEP w 5545 GCOL G%,G%,G%:RECTANGLE FILL x%,Y%,w+8,H% 5546 G%+=8:NEXT 5547 ENDPROC 5548 5549 DEF PROCload_on_line_manual 5550 mantile_size%=FNfile_len("<Pscan$Dir>.PSsprites.Mantile") 5551 manual_size%=FNfile_len("<Pscan$Dir>.Manual") 5552 DIM spr_manual% mantile_size%+manual_size%+32 5553 !spr_manual%=mantile_size%+4 5554 spr_manual%!4=0:spr_manual%!8=16:spr_manual%!12=16 5555 SYS sprswi%,256+10,spr_manual%,"<Pscan$Dir>.PSsprites.Mantile" 5556 OSCLI("LOAD <Pscan$Dir>.Manual "+STR$~(spr_manual%+mantile_size%+16)) 5557 ENDPROC 5558 5559 DEF PROCon_line_manual 5560 T%=spr_manual%+mantile_size%+16 5561 ch%=0:!man_block_temp=T%:!man_len_temp=manual_size%:CALL man_code% 5562 GCOL 80,80,80:RECTANGLE FILL 0,0,1280,1024 5563 GCOL 255,255,255:LINE 8,1008,1266,1008 5564 LINE 8,1010,1266,1010:GCOL 0,0,0:LINE 8,78,1266,78 5565 LINE 8,76,1266,76:GCOL 16,16,16:LINE 1268,76,1268,1010 5566 LINE 1270,76,1270,1010:VDU5,26:VDU23,17,7,6,8;16;0; 5567 CR%=0:N%=0:manquit%=FALSE:newpara%=FALSE:page%=0 5568 PROCmanual_buttons:man_box%=99:PROCmouse3 5569 5570 REPEAT:PROCmanual_background 5571 IF newpara% THEN GCOL 0,64,160:RECTANGLE FILL 16,954,1240,48:GCOL 255,255,0 5572 MOVE 24,992:!(page_store%+page%*4)=N% 5573 5574 REPEAT:K%=?(T%+N%):IF K%=ASC"�" THEN CR%=26 5575 IF K%=10 THEN 5576 VDU 13,10:CR%+=1:MOVE BY 24,-4:GCOL 0,0,0 5577 IF ?(T%+N%+3)=41 THEN CR%=25:newpara%=TRUE 5578 ELSE newpara%=FALSE 5579 ENDIF 5580 IF K%>30 THEN VDU K% 5581 N%+=1:UNTIL CR%>24 5582 5583 page%+=1 5584 IF newpara% AND page%>1 THEN 5585 MOVE BY 0,32:GCOL 64,0,196:PRINT "� End of chapter �" 5586 ENDIF 5587 IF page%>1 THEN PROCmanual_control 5588 CR%=0:MOVE BY 24,-16:UNTIL manquit% 5589 VDU4:OFF:WAIT:PROCdismini 5590 *POINTER 1 5591 ENDPROC 5592 5593 DEF PROCmanual_control 5594 GCOL 80,80,80:RECTANGLE FILL 0,16,800,54 5595 GCOL 128,0,255:RECTANGLE FILL 8,22,750,48 5596 IF page%=2 THEN 5597 PROCwrite2("Click on a line in the index to go to that chapter",24,30,1) 5598 ELSE 5599 PROCwrite2("Click anywhere on this page to return to the index",24,30,1) 5600 ENDIF 5601 PROCwait_no_button:GCOL 3,63 TINT 192 5602 CASE man_box% OF 5603 WHEN 8:RECTANGLE FILL 924,22,110,48 5604 WHEN 9:RECTANGLE FILL 1038,22,110,46 5605 ENDCASE 5606 REPEAT : REM page%=2 when index displayed 5607 REPEAT:MOUSE X,Y,B 5608 IF Y>200 AND Y<860 AND ABS(X-640)>32 AND page%=2 THEN 5609 PROCmouse3 5610 ELSE 5611 *POINTER 1 5612 ENDIF 5613 index%=(((1024-Y+8) DIV 36)-5)*2+1 5614 IF X>640 THEN index%+=1 5615 UNTIL B<>0 5616 IF (index%>0 AND index%<36) AND page%=2 THEN 5617 N%=man_chapter%!(index%*4):man_box%=2:newpara%=TRUE 5618 ELSE 5619 IF Y>18 AND Y<72 THEN man_box%=(X-10) DIV 114 ELSE man_box%=0 5620 ENDIF 5621 CASE man_box% OF 5622 WHEN 0:N%=0:page%=0 5623 WHEN 8:PROCman_page_back 5624 WHEN 9:IF CR%<>26 THEN RECTANGLE FILL 1038,22,110,48 ELSE N%=0:page%=0:man_box%=0 5625 WHEN 10:manquit%=TRUE 5626 ENDCASE 5627 UNTIL man_box%=0 OR man_box%=2 OR man_box%>7 AND man_box%<11 5628 GCOL 0,0,0 5629 ENDPROC 5630 5631 DEF PROCman_page_back 5632 IF page%>0 AND page%<200 THEN 5633 N%=page_store%!((page%-2)*4) 5634 RECTANGLE FILL 924,22,110,48:page%-=2 5635 IF ?(T%+N%+2)=41 THEN newpara%=TRUE ELSE newpara%=FALSE 5636 ENDIF 5637 ENDPROC 5638 5639 DEF PROCmanual_background 5640 FOR X%=8 TO 848 STEP 420:FOR Y%=80 TO 696 STEP 308 5641 SYS sprswi%,256+52,spr_manual%,"mantile",X%,Y%,0,0,translate256%:NEXT:NEXT 5642 ENDPROC 5643 5644 DEF PROCmanual_buttons 5645 FOR X%=814 TO 1156 STEP 114:PROCraised_block(X%,26,102,40):NEXT 5646 PROCwrite2("next >",1036,30,4):PROCwrite2("Cancel",1150,30,4) 5647 PROCwrite2("< back",920,30,4):PROCwrite2("Search",806,30,6) 5648 ENDPROC 5649 5650 DEF PROCmanual_assemble 5651 DIM man_code% 256 5652 FOR P=0 TO 2 STEP2 5653 P%=man_code% 5654 [OPT P 5655 LDR R3,man_block_temp:LDR R4,man_len_temp 5656 LDR R5,man_chap_temp:MOV R2,#0:MOV R6,#0 5657 .man_loop LDRB R0,[R3,R2]:CMP R0,#10:BNE no_lf 5658 ADD R2,R2,#3:LDRB R0,[R3,R2]:CMP R0,#41 5659 SUB R2,R2,#2:STREQ R2,[R5,R6]:ADDEQ R6,R6,#4:SUBEQ R2,R2,#1 5660 .no_lf ADD R2,R2,#1:CMP R2,R4:BLT man_loop 5661 MOV R0,R6:MOV PC,R14 5662 .man_block_temp EQUD 0 5663 .man_len_temp EQUD 0 5664 .man_chap_temp EQUD 0 5665 ] 5666 NEXT 5667 DIM page_store% 200*4,man_chapter% 50*4:!man_chap_temp=man_chapter% 5668 ENDPROC 5669 5670 DEF PROCtran_menu 5671 menu$(0)="Rotate or flip " 5672 menu$(1)="Rotate left 90" 5673 menu$(2)="Rotate right 90" 5674 menu$(3)="Rotate 180" 5675 menu$(4)="Flip left-right" 5676 menu$(5)="Flip top-bottom" 5677 menu$(6)="*":PROCmenu(0,90,-1) 5678 CASE menu_box% OF 5679 WHEN 1:x1%=128:y1%=-128:x2%=128:y2%=1151:x3%=1151:y3%=1151:x4%=1151:y4%=-128 5680 WHEN 2:x1%=1151:y1%=1151:x2%=1151:y2%=-128:x3%=128:y3%=-128:x4%=128:y4%=1151 5681 WHEN 3:x1%=1279:y1%=0:x2%=0:y2%=0:x3%=0:y3%=1023:x4%=1279:y4%=1023 5682 WHEN 4:x1%=1279:y1%=1023:x2%=0:y2%=1023:x3%=0:y3%=0:x4%=1279:y4%=0 5683 WHEN 5:x1%=0:y1%=0:x2%=1279:y2%=0:x3%=1279:y3%=1023:x4%=0:y4%=1023 5684 ENDCASE 5685 IF menu_box%<>99 THEN 5686 PROCdisplay_memory 5687 tran%!0=x1%*256:tran%!4=y1%*256 5688 tran%!8=x2%*256:tran%!12=y2%*256 5689 tran%!16=x3%*256:tran%!20=y3%*256 5690 tran%!24=x4%*256:tran%!28=y4%*256 5691 memblock%!0=655420:memblock%!4=0:memblock%!8=16:memblock%!12=16 5692 SYS sprswi%,256+16,memblock%,"tran",0,0,0,1279,1023 5693 GCOL 32,32,32:RECTANGLE FILL 0,0,1280,1024 5694 SYS sprswi%,256+56,memblock%,"tran",1,,0,tran% 5695 menu_box%=1:PROCupload_memory 5696 ENDIF 5697 ENDPROC 5698 5699 DEF PROCmerge 5700 !merge_mem_temp=memblock%+20:!merge_screen_temp=screen% 5701 CALL merge_code%:PROCupload_memory 5702 ENDPROC 5703 5704 DEF PROCmerge_assemble 5705 DIM merge_code% 320 5706 mem_base=1:scrn_base=2:offset=3:data=4:new_word=12 5707 red1=5:green1=6:blue1=7:red2=8:green2=9:blue2=10:lines=11 5708 FOR P=0 TO 2 STEP 2 5709 P%=merge_code% 5710 [OPT P 5711 LDR mem_base,merge_mem_temp:LDR scrn_base,merge_screen_temp 5712 MOV offset,#0:MOV lines,#512 5713 5714 .merge_loop 5715 LDR data,[mem_base,offset]:AND red1,data,#31 5716 MOV data,data,LSR#5:AND green1,data,#31 5717 MOV data,data,LSR#5:AND blue1,data,#31 5718 LDR R0,[scrn_base,offset]:AND red2,R0,#31:MOV red2,red2,LSR#1 5719 MOV R0,R0,LSR#5:AND green2,R0,#31:MOV green2,green2,LSR#1 5720 MOV R0,R0,LSR#5:AND blue2,R0,#31:MOV blue2,blue2,LSR#1 5721 ADD red1,red1,red2:CMP red1,#31:MOVGT red1,#31:MOV new_word,red1 5722 ADD green1,green1,green2:CMP green1,#31:MOVGT green1,#31 5723 MOV green1,green1,LSL#5:ADD new_word,new_word,green1 5724 ADD blue1,blue1,blue2:CMP blue1,#31:MOVGT blue1,#31 5725 MOV blue1,blue1,LSL#10:ADD new_word,new_word,blue1 5726 5727 MOV data,data,LSR#6:AND red1,data,#31 5728 MOV data,data,LSR#5:AND green1,data,#31 5729 MOV data,data,LSR#5:AND blue1,data,#31 5730 MOV R0,R0,LSR#6:AND red2,R0,#31:MOV red2,red2,LSR#1 5731 MOV R0,R0,LSR#5:AND green2,R0,#31:MOV green2,green2,LSR#1 5732 MOV R0,R0,LSR#5:AND blue2,R0,#31:MOV blue2,blue2,LSR#1 5733 ADD red1,red1,red2:CMP red1,#31:MOVGT red1,#31 5734 MOV red1,red1,LSL#16:ADD new_word,new_word,red1 5735 ADD green1,green1,green2:CMP green1,#31:MOVGT green1,#31 5736 MOV green1,green1,LSL#21:ADD new_word,new_word,green1 5737 ADD blue1,blue1,blue2:CMP blue1,#31:MOVGT blue1,#31 5738 MOV blue1,blue1,LSL#26:ADD new_word,new_word,blue1 5739 STR new_word,[scrn_base,offset] 5740 ADD offset,offset,#4:CMP offset,#1280:BNE merge_loop 5741 MOV offset,#0:ADD mem_base,mem_base,#1280:ADD scrn_base,scrn_base,#1280 5742 SUBS lines,lines,#1:BNE merge_loop 5743 MOV PC,R14 5744 5745 .merge_mem_temp EQUD 0 5746 .merge_screen_temp EQUD 0 5747 ] 5748 NEXT 5749 ENDPROC 5750 5751 DEF FNread_sys_var(sv$) 5752 SYS "OS_ReadVarVal",sv$,sysvar%,255,0,3 TO,,b% 5753 V$="":FOR N%=0 TO b%-1:V$=V$+CHR$(sysvar%?N%):NEXT 5754 =V$ 5755 5756 DEF FNfile_len(f$) 5757 LOCAL r0%,r5% 5758 SYS "OS_File",17,f$ TO r0%,,,,r5% 5759 IF r0%=0 THEN 5760 IF NOT ije_dev% THEN SYS "OS_Byte",229,1,0 5761 SYS "Wimp_SetMode",modestore% 5762 ERROR 0,"File "+f$+" not found. This copy of Pscan may be corrupt - please re-install it from the original disk or ZIP file." 5763 ELSE 5764 =(r5%+4) 5765 ENDIF 5766 5767 DEF PROCmisc_backgrounds 5768 menu$(0)="Miscellaneous " 5769 menu$(1)="Squares" 5770 menu$(2)="Spheres" 5771 menu$(3)="Horizontal" 5772 menu$(4)="Vertical" 5773 menu$(5)="Diagonal" 5774 menu$(6)="Spectrum - H" 5775 menu$(7)="Spectrum - V" 5776 menu$(8)="*":PROCmenu(0,90,-1) 5777 CASE menu_box% OF 5778 WHEN 1:PROCsquares 5779 WHEN 2:PROCspheres 5780 WHEN 3:PROChoriz_pipes 5781 WHEN 4:PROCvert_pipes 5782 WHEN 5:PROCdiagonal2 5783 WHEN 6,7:PROCspectrum(menu_box%) 5784 ENDCASE 5785 ENDPROC 5786 5787 DEF PROChoriz_pipes 5788 RI=2:GI=6:BI=1:R=242:G=242:B=242 5789 FOR Y%=0 TO 1024 STEP2:GCOL R,G,B:LINE 0,Y%,1280,Y% 5790 R+=RI:G+=GI:B+=BI 5791 IF R>242 OR R<12 THEN RI=-RI 5792 IF G>242 OR G<12 THEN GI=-GI 5793 IF B>242 OR B<12 THEN BI=-BI 5794 NEXT 5795 IF NOT(merge%) THEN PROCupload_memory 5796 ENDPROC 5797 5798 DEF PROCvert_pipes 5799 RI=2:GI=6:BI=1:R=242:G=242:B=242 5800 FOR X%=0 TO 1280 STEP2:GCOL R,G,B:LINE X%,0,X%,1024 5801 R+=RI:G+=GI:B+=BI 5802 IF R>242 OR R<12 THEN RI=-RI 5803 IF G>242 OR G<12 THEN GI=-GI 5804 IF B>242 OR B<12 THEN BI=-BI 5805 NEXT 5806 IF NOT(merge%) THEN PROCupload_memory 5807 ENDPROC 5808 5809 DEF PROCsquares 5810 CLS:FOR y%=0 TO 1024 STEP 120:FOR x%=0 TO 1280 STEP 128 5811 X%=x%:Y%=y%:W%=128:H%=128:R%=255:G%=68:B%=0:FOR N%=1 TO 32 5812 GCOL R%,G%,B%:RECTANGLE FILL X%,Y%,W%,H% 5813 G%+=6:X%+=2:Y%+=2:W%-=4:H%-=4:NEXT:NEXT:NEXT 5814 IF NOT(merge%) THEN PROCupload_memory 5815 ENDPROC 5816 5817 DEF PROCspheres 5818 GCOL 255,68,0:RECTANGLE FILL 0,0,1280,1024:o%=32 5819 FOR y%=0 TO 1024 STEP 128:FOR x%=0 TO 1280 STEP 128 5820 X%=x%:Y%=y%:r%=64:R%=255:G%=68:B%=0 5821 FOR N%=1 TO 32:GCOL R%,G%,B%:CIRCLE FILL X%+o%+32,Y%+64,r% 5822 G%+=6:r%-=2:NEXT:NEXT:o%=-o%:NEXT 5823 IF NOT(merge%) THEN PROCupload_memory 5824 ENDPROC 5825 5826 DEF PROCspectrum(t%) 5827 CLS:ri=0:gi=0:bi=-2:r=255:g=0:b=255 5828 IF t%=6 THEN 5829 p1%=254:p2%=508:p3%=762:p4%=1016:pi=2 5830 ELSE 5831 p1%=204:p2%=408:p3%=612:p4%=816:pi=2.4 5832 ENDIF 5833 FOR X%=0 TO 1272 STEP2 5834 GCOL r,g,b 5835 IF t%=6 THEN RECTANGLE FILL X%,0,2,1024 ELSE RECTANGLE FILL 0,X%,1280,2 5836 r+=ri:g+=gi:b+=bi 5837 CASE X% OF 5838 WHEN p1%:ri=0:gi=pi:bi=0:b=0 5839 WHEN p2%:ri=-pi:gi=0:bi=0 5840 WHEN p3%:ri=0:gi=0:bi=pi 5841 WHEN p4%:ri=0:gi=-pi:bi=0 5842 ENDCASE 5843 NEXT 5844 IF t%=6 THEN RECTANGLE FILL X%,0,8,1024 5845 IF NOT(merge%) THEN PROCupload_memory 5846 ENDPROC 5847 5848 DEF PROCdiagonal2 5849 R=0:G=255:B=255:RI=16:GI=16:BI=4 5850 Y=2048:FOR X%=-1280 TO 1280 STEP8 5851 GCOL R,G,B:MOVE X%,0:MOVE 1280,Y 5852 PLOT 85,1280,0:R+=RI:G+=GI:B+=BI 5853 IF R>255 R=255:RI=-RI 5854 IF G>255 G=255:GI=-GI 5855 IF B>255 B=255:BI=-BI 5856 IF R<0 R=0:RI=-RI 5857 IF G<0 G=0:GI=-GI 5858 IF B<0 B=0:BI=-BI 5859 Y-=6.4:NEXT:IF NOT(merge%) THEN PROCupload_memory 5860 ENDPROC 5861 5862 DEF PROCtext_mask_menu 5863 menu$(0)="Text masks" 5864 menu$(1)="Create text mask " 5865 IF mask_created% THEN 5866 menu$(2)="Plot text mask" 5867 ELSE 5868 menu$(2)="{no mask created}" 5869 ENDIF 5870 menu$(3)="*":PROCmenu(0,90,-1) 5871 CASE menu_box% OF 5872 WHEN 1:PROCcreate_text_mask:menu_box%=5 5873 WHEN 2:PROCplot_text_mask:menu_box%=1 5874 ENDCASE 5875 ENDPROC 5876 5877 DEF PROCcreate_text_mask 5878 font$="":first_time%=TRUE:quit%=FALSE 5879 PROCfont_text(-1):menu_redraw%=TRUE:xps%=xp%:yps%=yp% 5880 5881 REPEAT 5882 5883 GCOL32 TINT0:RECTANGLE FILL 0,404,1280,620 5884 5885 IF font$<>"" THEN 5886 5887 IF first_time% THEN 5888 GCOL 0,0,136:RECTANGLE FILL 0,0,1280,1024 5889 GCOL 200,200,200:RECTANGLE FILL 0,0,1280,370 5890 PROCraised_block(784,16,216,342) 5891 GCOL 255,180,100:RECTANGLE FILL 784,320,212,38 5892 SYS sprswi%,256+52,spb%,"left",810,220,8,0,translate% 5893 SYS sprswi%,256+52,spb%,"right",930,220,8,0,translate% 5894 SYS sprswi%,256+52,spb%,"left",810,100,8,0,translate% 5895 SYS sprswi%,256+52,spb%,"right",930,100,8,0,translate% 5896 PROCwrite2("x/y point",812,272,4) 5897 PROCwrite2("y point",828,152,4) 5898 PROCraised_block(798,32,80,32) 5899 PROCraised_block(904,32,80,32) 5900 PROCwrite2("UNDO",792,32,4) 5901 PROCwrite2("OK",914,32,4) 5902 PROCwrite2(" Re-size",800,324,4) 5903 PROCwrite2("Click OK or press <return> to finish.",120,220,4) 5904 MOUSE RECTANGLE 784,16,216,338:first_time%=FALSE 5905 ENDIF 5906 5907 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 5908 PROCmake_text_mask(font$,text1$,text2$,xp%,yp%) 5909 SYS sprswi%,256+52,spr%,"textmask",32,460,8,0,0 5910 PROCshow_point_sizes 5911 5912 REPEAT:K=INKEY(1):UNTIL K=-1 5913 point_button$="" 5914 REPEAT:MOUSE X,Y,B:K=INKEY(5):UNTIL B<>0 OR K=13 5915 5916 IF K=13 quit%=TRUE 5917 5918 IF B=1 OR B=4 THEN 5919 IF ABS(X-838)<44 AND ABS(Y-48)<22 xp%=xps%:yp%=yps% 5920 IF ABS(X-942)<44 AND ABS(Y-48)<22 quit%=TRUE 5921 IF ABS(X-830)<28 AND ABS(Y-240)<28 point_button$="xm" 5922 IF ABS(X-942)<28 AND ABS(Y-240)<28 point_button$="xp" 5923 IF ABS(X-830)<28 AND ABS(Y-120)<28 point_button$="ym" 5924 IF ABS(X-942)<28 AND ABS(Y-120)<28 point_button$="yp" 5925 CASE point_button$ OF 5926 WHEN "xm":IF xp%>10 xp%-=2:yp%-=2 5927 WHEN "xp":IF xp%<200 xp%+=2:yp%+=2 5928 WHEN "ym":IF yp%>10 yp%-=2 5929 WHEN "yp":IF yp%<200 yp%+=2 5930 ENDCASE 5931 ENDIF 5932 5933 mask_created%=TRUE 5934 ENDIF 5935 UNTIL quit% OR font$="" 5936 PROCdismini 5937 ENDPROC 5938 5939 DEF PROCplot_text_mask 5940 IF mask_created% THEN 5941 PROCdisplay_memory:PROCposition_mask 5942 IF B=4 THEN 5943 SYS sprswi%,256+40,spr%,"textmask" TO,,,W%,H%:W%=W%*2:H%=H%*2 5944 SYS sprswi%,256+16,spr%,"textmask",0,X%,Y%,X%+W%,Y%+H% 5945 SYS sprswi%,256+29,spr%,"textmask" 5946 SYS sprswi%,256+61,spr%,"textmask",0 5947 GCOL 0:RECTANGLE FILL 0,0,W%,H% 5948 IF text2$<>"" THEN 5949 PROCwrite(font$,text1$,4,YO1%+H2%+yp%/2,xp%,yp%,4) 5950 PROCwrite(font$,text2$,4,YO%,xp%,yp%,4) 5951 ELSE 5952 PROCwrite(font$,text1$,4,YO%,xp%,yp%,4) 5953 ENDIF 5954 SYS sprswi%,256+61,spr%,0,0:OFF:WAIT 5955 overlay%=TRUE:overlay_outline%=TRUE:sprite_name$="textmask":OOC%=1 5956 mask_created%=FALSE 5957 ENDIF 5958 ENDIF 5959 ENDPROC 5960 5961 DEF PROCwrite(F$,text$,x%,y%,xp%,yp%,c) 5962 IF font%<>-1 SYS "Font_LoseFont",font% 5963 SYS "Font_FindFont",,F$,xp%*16,yp%*16 TO font% 5964 t%=&65757254 5965 CASE c OF 5966 WHEN 0:SYS "Font_SetPalette",,0,0,0,&FFFFFF00,0,t% :REM Black no anti 5967 WHEN 1:SYS "Font_SetPalette",,0,0,0,0,&FFFFFF00,t% :REM White no anti 5968 WHEN 2:SYS "Font_SetPalette",,0,1,14,&FFFFFF00,0,t%:REM Black anti 5969 WHEN 3:SYS "Font_SetPalette",,0,0,0,0,0,t% 5970 WHEN 4:SYS "Font_SetFontColours",font%,1,1,0 5971 WHEN 5:SYS "Font_SetPalette",,0,1,14,&DC000000,&00FFFF00,t%:REM Yellow anti 5972 WHEN 6:SYS "Font_SetPalette",,0,0,0,0,&00FFFF00,t% :REM Yellow no anti 5973 WHEN 7:SYS "Font_SetPalette",,0,1,14,&DC000000,&FFFFFF00,t%:REM White anti 5974 OTHERWISE 5975 SYS "Font_SetPalette",,0,0,0,0,c,t% : REM RGB - no anti 5976 ENDCASE 5977 5978 SYS "Font_Paint",font%,text$,16,x%,y% 5979 SYS "Font_LoseFont",font%:OFF:WAIT 5980 ENDPROC 5981 5982 DEF PROCtext_bound_box(font$,text$,xp%,yp%) 5983 IF font%<>-1 SYS "Font_LoseFont",font% 5984 SYS "Font_FindFont",,font$,16*xp%,16*yp%,0,0 TO font% 5985 H%=0:ymin%=0:ymax%=0 5986 FOR N%=1 TO LEN(text$) 5987 SYS "Font_CharBBox",font%,ASC(MID$(text$,N%,1)),16 TO,r1%,r2%,r3%,r4% 5988 IF r2%<ymin% THEN ymin%=r2% 5989 IF r4%>ymax% THEN ymax%=r4% 5990 SYS "Font_Converttopoints",,1280,1024 TO ,px%,py% 5991 SYS "Font_StringWidth",,text$,px%,py%,-1,256 TO,,W% 5992 SYS "Font_ConverttoOS",,W% TO,W% 5993 NEXT 5994 W%+=12:H%=ymax%-ymin%+4:YO%=(-ymin%)+4 5995 ENDPROC 5996 5997 DEF PROCmake_text_mask(font$,text1$,text2$,xp%,yp%) 5998 PROCtext_bound_box(font$,text1$,xp%,yp%):H1%=H%:W1%=W%:YO1%=YO% 5999 IF text2$<>"" THEN 6000 PROCtext_bound_box(font$,text2$,xp%,yp%):H2%=H%:H%=H%+H1%+yp%/2 6001 IF W1%>W% THEN W%=W1% 6002 ENDIF 6003 SYS sprswi%,256+16,spr%,"textmask",0,0,0,W%,H% 6004 SYS sprswi%,256+29,spr%,"textmask" 6005 SYS sprswi%,256+60,spr%,"textmask",0 6006 GCOL 255,255,255:RECTANGLE FILL 0,0,W%,H% 6007 SYS sprswi%,256+60,spr%,0,0:OFF:WAIT 6008 SYS sprswi%,256+61,spr%,"textmask",0 6009 IF text2$<>"" THEN 6010 PROCwrite(font$,text1$,4,YO1%+H2%+yp%/2,xp%,yp%,3) 6011 PROCwrite(font$,text2$,4,YO%,xp%,yp%,3) 6012 ELSE 6013 PROCwrite(font$,text1$,4,YO%,xp%,yp%,3) 6014 ENDIF 6015 SYS sprswi%,256+61,spr%,0,0:OFF:WAIT 6016 screen_grabbed%=0:overlay%=TRUE:overlay_outline%=0 6017 sprite_name$="textmask":OOC%=0 6018 ENDPROC 6019 6020 DEF PROCposition_mask 6021 MOUSE X%,Y%,B%:p%=11 6022 SYS sprswi%,256+52,spr%,"textmask",X%,Y%,p%,0,0 6023 REPEAT:REPEAT MOUSE X1%,Y1%,B:UNTIL X1%<>X% OR Y1%<>Y% OR B<>0 6024 SYS sprswi%,256+52,spr%,"textmask",X%,Y%,p%,0,0 6025 IF B=2 THEN p%=p% EOR 8:PROCwait_no_button 6026 SYS sprswi%,256+52,spr%,"textmask",X1%,Y1%,p%,0,0 6027 X%=X1%:Y%=Y1% 6028 UNTIL B=1 OR B=4 6029 IF B=4 THEN SYS sprswi%,256+52,spr%,"textmask",X%,Y%,8,0,0 6030 ENDPROC 6031 6032 DEF PROCsprite_shadow(ssx%,ssy%,s%) 6033 SYS sprswi%,256+40,spr%,sprite_name$ TO,,,ssw%,ssh% 6034 SYS sprswi%,256+24,spr%,sprite_name$ TO,,spradd% 6035 IF s%=1 THEN 6036 FOR N%=0 TO 31:d%=N%-2:IF d%<0 d%=0 6037 grndata?N%=d%:NEXT:ssx%=(ssx% DIV 4)*4 6038 !sprshad_mask=spradd%+(spradd%!36):!sprshad_table=grndata 6039 !sprshad_bytes=(ssw%DIV4)*8:!sprshad_lines=ssh% 6040 start%=screen%+(((1024-ssy%)DIV2)-ssh%)*1280+ssx% 6041 start%+=13*1284:FOR S%=1 TO 16 6042 IF start%-screen%<1280*4 ERROR 796,"Shadow is too near top of screen" 6043 !sprshad_screen=start%:CALL sprshad_code% 6044 start%-=1284:NEXT 6045 ELSE 6046 FOR N%=0 TO 31:d%=N%/2:grndata?N%=d%:NEXT:ssx%=(ssx% DIV 4)*4 6047 !sprshad_mask=spradd%+(spradd%!36):!sprshad_table=grndata 6048 !sprshad_bytes=(ssw%DIV4)*8:!sprshad_lines=ssh% 6049 start%=screen%+(((1024-ssy%)DIV2)-ssh%)*1280+ssx% 6050 IF start%-screen%<1280*4 ERROR 796,"Shadow is too near top of screen" 6051 IF s%=2 THEN start%+=12*1282 ELSE start%+=20*1282 6052 !sprshad_screen=start%:CALL sprshad_code% 6053 ENDIF 6054 ENDPROC 6055 6056 DEF PROCsprite_shadow_assemble 6057 DIM sprshad_code% 320 6058 scrn_base=1:mask_base=2:table=3:data1=4:lines=5:maskbits=6 6059 word=7:Soffset=8:mask=9:Moffset=10:pixel1=11:pixel2=12 6060 FOR P=0 TO 2 STEP 2 6061 P%=sprshad_code% 6062 [OPT P 6063 LDR scrn_base,sprshad_screen:LDR mask_base,sprshad_mask 6064 LDR table,sprshad_table:MOV Soffset,#0:MOV Moffset,#0 6065 LDR lines,sprshad_lines:MOV maskbits,#32 6066 LDR mask,[mask_base,Moffset] 6067 6068 .sprshad_loop 6069 LDR data1,[scrn_base,Soffset] 6070 MOV pixel1,data1,LSL#16:MOV pixel1,pixel1,LSR#16 6071 MOV pixel2,data1,LSR#16 6072 6073 TST mask,#1:BEQ second 6074 6075 MOV word,#0 6076 AND data1,pixel1,#31:LDRB word,[table,data1] 6077 MOV pixel1,pixel1,LSR#5:AND data1,pixel1,#31 6078 LDRB R0,[table,data1]:ADD word,word,R0,LSL#5 6079 MOV pixel1,pixel1,LSR#5:AND data1,pixel1,#31 6080 LDRB R0,[table,data1]:ADD word,word,R0,LSL#10:MOV pixel1,word 6081 6082 .second 6083 MOV mask,mask,LSR#1:TST mask,#1:BEQ word_ready 6084 6085 MOV word,#0 6086 AND data1,pixel2,#31:LDRB word,[table,data1] 6087 MOV pixel2,pixel2,LSR#5:AND data1,pixel2,#31 6088 LDRB R0,[table,data1]:ADD word,word,R0,LSL#5 6089 MOV pixel2,pixel2,LSR#5:AND data1,pixel2,#31 6090 LDRB R0,[table,data1]:ADD word,word,R0,LSL#10:MOV pixel2,word 6091 6092 .word_ready 6093 ADD word,pixel1,pixel2,LSL#16:STR word,[scrn_base,Soffset] 6094 MOV mask,mask,LSR#1:SUBS maskbits,maskbits,#2:BNE more_bits 6095 MOV maskbits,#32:ADD Moffset,Moffset,#4 6096 LDR mask,[mask_base,Moffset] 6097 .more_bits 6098 ADD Soffset,Soffset,#4:LDR R0,sprshad_bytes 6099 CMP Soffset,R0:BLT sprshad_loop 6100 MOV maskbits,#32:ADD Moffset,Moffset,#4 6101 LDR mask,[mask_base,Moffset] 6102 MOV Soffset,#0:ADD scrn_base,scrn_base,#1280 6103 SUBS lines,lines,#1:BNE sprshad_loop 6104 MOV PC,R14 6105 6106 .sprshad_screen EQUD 0 6107 .sprshad_mask EQUD 0 6108 .sprshad_table EQUD 0 6109 .sprshad_bytes EQUD 0 6110 .sprshad_lines EQUD 0 6111 ] 6112 NEXT 6113 ENDPROC 6114 6115 DEF PROCthumb_cursor(x,y) 6116 tcx%=(thumb_box% MOD 8)*160+2:tcy%=898-((thumb_box% DIV 8)*128) 6117 xo%=x-tcx%:yo%=y-tcy%:GCOL 3,63 TINT 192 6118 RECTANGLE tcx%,tcy%,154,122 6119 REPEAT 6120 REPEAT:MOUSE x1,y1,B 6121 UNTIL x1<>x OR y1<>y OR B=0 6122 IF B<>0 THEN 6123 RECTANGLE tcx%,tcy%,154,122:tcx%=x1-xo%:tcy%=y1-yo% 6124 RECTANGLE tcx%,tcy%,154,122:x=x1:y=y1 6125 ELSE 6126 RECTANGLE tcx%,tcy%,154,122 6127 ENDIF 6128 UNTIL B=0 6129 ENDPROC 6130 6131 DEF PROCshow_thumbnails 6132 GCOL 48,48,184:RECTANGLE FILL 0,0,1280,1024 6133 FOR M%=1 TO memories% 6134 !source_address=FNmem_to_block(M%)+20 6135 !dest_address=screen%+160*(M%-1)+1280*64 6136 CALL make_thumbnail:NEXT 6137 FOR N%=1 TO 8:load_list$(N%)="":NEXT 6138 GCOL 255,255,255:RECTANGLE FILL 30,980,420,8:RECTANGLE FILL 818,980,420,8 6139 PROCwrite2("Pscan thumbnail display",460,964,0) 6140 PROCwrite2("Pscan thumbnail display",456,968,1) 6141 PROCraised_block(32,40,40,40):PROCraised_block(80,40,184,40) 6142 PROCraised_block(272,40,40,40):PROCwrite2("Bank select",76,44,4) 6143 PROCwrite2("<",32,44,4):PROCwrite2(">",272,44,4) 6144 PROCraised_block(340,40,280,40):PROCwrite2("Create new bank",354,44,4) 6145 PROCraised_block(660,40,280,40):PROCraised_block(970,40,280,40) 6146 PROCwrite2("Undo last updates",660,44,4) 6147 PROCwrite2("Close thumbnails",980,44,4) 6148 SYS sprswi%,256+52,thblock%,"thumbnails",0,128,0,0,0 6149 thmodify%=FALSE:thumb_load_file%=FALSE:ff%=0:ft%=0 6150 REPEAT 6151 GCOL 128,255,255:RECTANGLE 0,766,1276,126:N%=1 6152 FOR X%=0 TO 1280-160 STEP160 6153 IF N%=MEM%+1 THEN tc%=0 ELSE tc%=5 6154 IF tc%=0 THEN GCOL 255,255,255 ELSE GCOL 48,48,184 6155 RECTANGLE FILL X%,898,160,40:RECTANGLE FILL X%,720,160,40 6156 IF N%=MEM%+1 THEN PROCwrite2("Current",X%+14,724,0) 6157 IF N%<=memories% THEN PROCwrite2(STR$(N%),X%+56,900,tc%) 6158 N%+=1:GCOL 128,255,255:RECTANGLE X%,764,158,130:NEXT 6159 GCOL 255,255,0:RECTANGLE FILL 0,640,1280,2 6160 GCOL 128,180,255:RECTANGLE FILL 0,644,380,50 6161 PROCwrite2("Thumbnail bank "+STR$ thumb_bank%+" of "+STR$ thumb_max%,8,654,0) 6162 PROCwait_no_button:fstart$="":GCOL 64,255,128 6163 REPEAT:MOUSE X,Y,B 6164 PROCcheck_alt_s_save 6165 thumb_box%=((1024-Y)DIV128)*8+(X DIV160) 6166 F$=$(thpath%+(thumb_box%-24)*80) 6167 IF F$<>fstart$ THEN 6168 RECTANGLE FILL 380,644,900,50 6169 IF thumb_box%>23 AND thumb_box%<56 PROCwrite2(F$,388,654,0):fstart$=F$ 6170 ENDIF 6171 UNTIL B=4 OR B=1 6172 6173 IF ABS(X-50)<30 AND ABS(Y-64)<30 THEN 6174 IF thumb_bank%>1 THEN 6175 IF B=1 THEN thumb_bank%=1 ELSE thumb_bank%-=1 6176 PROCload_thumbnail_bank(thumb_bank%) 6177 SYS sprswi%,256+52,thblock%,"thumbnails",0,128,0,0,0 6178 ENDIF 6179 ENDIF 6180 6181 IF ABS(X-288)<30 AND ABS(Y-64)<30 THEN 6182 IF thumb_bank%<thumb_max% THEN 6183 IF B=1 THEN thumb_bank%=thumb_max% ELSE thumb_bank%+=1 6184 PROCload_thumbnail_bank(thumb_bank%) 6185 SYS sprswi%,256+52,thblock%,"thumbnails",0,128,0,0,0 6186 ENDIF 6187 ENDIF 6188 6189 IF thumb_box%>23 AND thumb_box%<56 THEN 6190 REM Click on thumbnail 6191 PROCthumb_cursor(X,Y):MOUSE X,Y,B 6192 thumb_box2%=((1024-Y)DIV128)*8+(X DIV160) 6193 IF thumb_box2%=thumb_box% THEN 6194 F$=$(thpath%+(thumb_box%-24)*80) 6195 IF F$<>"{Empty}" THEN 6196 SYS "OS_File",20,F$ TO ff%,,,,,,ft% 6197 thumb_box%=99:thumb_load_file%=TRUE 6198 ENDIF 6199 ELSE 6200 IF thumb_box2%>7 AND thumb_box2%<16 AND thumb_box2%-8<memories% THEN 6201 L$=$(thpath%+(thumb_box%-24)*80) 6202 IF L$<>"{Empty}" THEN 6203 load_list$(thumb_box2%-7)=L$ 6204 sourceX%=(thumb_box% MOD 8)*160+2:sourceY%=1028-(((thumb_box%DIV 8)+1)*128) 6205 destX%=(thumb_box2% MOD 8)*160+2:destY%=1024-(((thumb_box2%DIV 8)+1)*128) 6206 MOVE sourceX%,sourceY%:MOVE BY 154,122:PLOT &BE,destX%,destY% 6207 ENDIF 6208 ENDIF 6209 ENDIF 6210 ENDIF 6211 6212 IF thumb_box%>7 AND thumb_box%<16 AND thumb_box%-8<memories% THEN 6213 REM Click on pic mem - possible drag to thumbnail 6214 PROCthumb_cursor(X,Y):MOUSE X,Y,B 6215 thumb_box2%=((1024-Y)DIV128)*8+(X DIV160):M%=thumb_box2%-8 6216 IF M%<memories% THEN MEM%=M%:memblock%=FNmem_to_block(MEM%+1) 6217 IF thumb_box2%>23 AND thumb_box2%<56 THEN 6218 sourceX%=(thumb_box% MOD 8)*160+2:sourceY%=1024-(((thumb_box%DIV 8)+1)*128) 6219 destX%=(thumb_box2% MOD 8)*160+2:destY%=1028-(((thumb_box2%DIV 8)+1)*128) 6220 MOVE sourceX%,sourceY%:MOVE BY 154,122:PLOT &BE,destX%,destY% 6221 PROCupdate_thumb_path(thumb_box2%-24,path$(thumb_box%-7)):thmodify%=TRUE 6222 ENDIF 6223 ENDIF 6224 6225 IF thumb_box%=58 OR thumb_box%=59 PROCcreate_blank_thumbnail("") 6226 6227 UNTIL thumb_box%>59 6228 6229 IF thumb_box%=60 OR thumb_box%=61 THEN 6230 SYS sprswi%,256+10,thblock%,thumbpix$ 6231 OSCLI("LOAD "+thumbpath$+" "+STR$~thpath%) 6232 thmodify%=FALSE:FOR N%=1 TO 8:load_list$(N%)="":NEXT 6233 ENDIF 6234 6235 IF thmodify% THEN 6236 SYS sprswi%,256+16,thblock%,"thumbnails",0,0,128,1279,639 6237 SYS sprswi%,256+12,thblock%,thumbpix$ 6238 SYS "OS_File",10,thumbpath$,&FFD,0,thpath%,thpath%+2560 6239 ENDIF 6240 6241 IF thumb_load_file% THEN 6242 IF ff%=0 THEN 6243 X=(thumb_box2% MOD 8)*160+2:Y=900-((thumb_box2% DIV 8)*128) 6244 GCOL 48,48,184:RECTANGLE FILL X,Y,154,122 6245 $(thpath%+(thumb_box2%-24)*80)="{Empty}" 6246 SYS sprswi%,256+16,thblock%,"thumbnails",0,0,128,1279,639 6247 SYS sprswi%,256+12,thblock%,thumbpix$ 6248 SYS "OS_File",10,thumbpath$,&FFD,0,thpath%,thpath%+2560 6249 ERROR 1,"This picture seems to have been deleted, renamed or moved."+CHR$13+CHR$13+"The thumbnail entry has now been emptied." 6250 ENDIF 6251 CASE ft% OF 6252 WHEN &FF9:CLS:PROCload_sprite(F$) 6253 WHEN &C85:CLS:PROCload_jpeg(F$) 6254 WHEN &96A:CLS:PROCload_pscan(F$) 6255 WHEN &69D:CLS:PROCload_targa(F$) 6256 OTHERWISE 6257 ERROR 1,F$+" has a filetype of &"+STR$~ft%+". This cannot be loaded by Pscan." 6258 ENDCASE 6259 ENDIF 6260 6261 FOR NN%=1 TO 8 6262 IF load_list$(NN%)<>"" AND load_list$(NN%)<>"{Empty}" THEN 6263 F$=load_list$(NN%):load_list$(NN%)="" 6264 SYS "OS_File",20,F$ TO ff%,,,,,,ft% 6265 MEM%=NN%-1:memblock%=FNmem_to_block(NN%) 6266 CASE ft% OF 6267 WHEN &FF9:CLS:PROCload_sprite(F$) 6268 WHEN &C85:CLS:PROCload_jpeg(F$) 6269 WHEN &96A:CLS:PROCload_pscan(F$) 6270 WHEN &69D:CLS:PROCload_targa(F$) 6271 OTHERWISE 6272 ERROR 1,F$+" has a filetype of &"+STR$~ft%+". This cannot be loaded by Pscan." 6273 ENDCASE 6274 ENDIF 6275 NEXT 6276 6277 PROCdismini 6278 ENDPROC 6279 6280 DEF PROCupdate_thumb_path(N%,P$) 6281 IF P$="X" ERROR 1,"Only pictures loaded from disk can be added to thumbnail bank."+CHR$13+CHR$13+"Modified or received pictures must be saved first." 6282 IF LEN(P$)>78 ERROR 1,"Path name is too long to store in thumbnail file." 6283 $(thpath%+N%*80)=P$ 6284 ENDPROC 6285 6286 DEF PROCcreate_blank_thumbnail(t$) 6287 GCOL 48,48,184 6288 IF t$="new" THEN 6289 RECTANGLE FILL 0,0,1280,1024 6290 ELSE 6291 RECTANGLE FILL 0,128,1280,514 6292 ENDIF 6293 GCOL 255,255,0 6294 RECTANGLE 0,128,1276,514 6295 FOR Y%=130 TO 642-128 STEP128 6296 FOR X%=0 TO 1280-160 STEP160 6297 RECTANGLE X%,Y%,158,126:NEXT:NEXT 6298 IF t$="new" THEN N%=0 ELSE N%=FNcount_thumbnail_banks 6299 IF N%>31 ERROR 1,"Maximum number of thumbnail banks (32) has been reached." 6300 N$=STR$(N%+1):IF (N%+1)<10 THEN N$="0"+N$ 6301 thumbpix$=Thumbdir$+".ThumbPix"+N$ 6302 thumbpath$=Thumbdir$+".ThumPath"+N$ 6303 SYS sprswi%,256+16,thblock%,"thumbnails",0,0,128,1279,639 6304 SYS sprswi%,256+12,thblock%,thumbpix$ 6305 FOR N%=0 TO 2559:thpath%?N%=32:NEXT 6306 FOR N%=0 TO 31:$(thpath%+N%*80)="{Empty}":NEXT 6307 SYS "OS_File",10,thumbpath$,&FFD,0,thpath%,thpath%+&A00 6308 thumb_max%+=1:thumb_bank%=thumb_max% 6309 ENDPROC 6310 6311 DEF FNcount_thumbnail_banks 6312 N%=1:REPEAT:IF N%<10 N$="0"+STR$(N%) ELSE N$=STR$(N%) 6313 F%=OPENIN(Thumbdir$+".ThumPath"+N$):CLOSE#F%:N%+=1:UNTIL F%=0 OR N%>35 6314 =N%-2 6315 6316 DEF PROCload_thumbnail_bank(N%) 6317 N$=STR$(N%):IF N%<10 N$="0"+N$ 6318 thumbpix$=Thumbdir$+".ThumbPix"+N$ 6319 thumbpath$=Thumbdir$+".ThumPath"+N$ 6320 SYS sprswi%,256+10,thblock%,thumbpix$ 6321 OSCLI("LOAD "+thumbpath$+" "+STR$~thpath%) 6322 ENDPROC 6323 6324 DEF PROCqwiktext 6325 PROCdisplay_memory:X=0:ys%=864:Y=ys%:qb%=-1 6326 GCOL 3,63 6327 CASE qwiktext_colour% OF 6328 WHEN 1:col%=&FFFFFF00 6329 WHEN 2:col%=&00FFFF00 6330 WHEN 3:col%=&FFFF0000 6331 WHEN 4:col%=&00FF0000 6332 WHEN 5:col%=&FF00FF00 6333 WHEN 6:col%=&0000FF00 6334 WHEN 7:col%=&FF000000 6335 WHEN 8:col%=&00000000 6336 ENDCASE 6337 CASE qwiktext_block% OF 6338 WHEN 10:r%=255:g%=255:b%=255 6339 WHEN 11:r%=255:g%=255:b%=0 6340 WHEN 12:r%=0:g%=255:b%=255 6341 WHEN 13:r%=0:g%=255:b%=0 6342 WHEN 14:r%=255:g%=0:b%=255 6343 WHEN 15:r%=255:g%=0:b%=0 6344 WHEN 16:r%=0:g%=0:b%=255 6345 WHEN 17:r%=0:g%=0:b%=0 6346 WHEN 18:qb%=0 6347 ENDCASE 6348 X1=1280-(LEN call$+3)*80 6349 IF qb% THEN 6350 GCOL r%,g%,b%:RECTANGLE FILL X1,0,160,118 6351 RECTANGLE FILL X1+80*3,0,1280,118 6352 ENDIF 6353 GCOL 3,63 6354 PROCqwrite("DE",col%,X1,24) 6355 PROCqwrite(call$,col%,X1+80*3,24) 6356 SYS "OS_Byte",237,0,255 TO,cursor_status% 6357 SYS "OS_Byte",237,1,0 6358 REPEAT 6359 C=0 6360 REPEAT 6361 RECTANGLE FILL X,Y-24,80,118:C=NOT(C) 6362 MOUSE x,y,b:K=INKEY(20) 6363 UNTIL (NOT K) OR b 6364 IF C RECTANGLE FILL X,Y-24,80,118 6365 6366 IF K>135 AND K<140 THEN 6367 CASE K OF 6368 WHEN 136:X-=80:IF X<0 X=1200:Y+=120:IF Y>ys% Y=24 6369 WHEN 137:X+=80:IF X>1200 X=0:Y-=120:IF Y<0 Y=ys% 6370 WHEN 138:Y-=120:IF Y<0 Y=ys% 6371 WHEN 139:Y+=120:IF Y>ys% Y=24 6372 ENDCASE 6373 ENDIF 6374 6375 IF K=30 THEN X=0:Y=ys%:REM Home 6376 IF K=135 THEN X=1200:Y=24:REM End/Copy 6377 IF K=27 THEN b=1:REM Quit on Escape 6378 6379 IF K>31 AND K<127 THEN 6380 IF qb% AND K<>32 THEN 6381 GCOL r%,g%,b%:RECTANGLE FILL X,Y-24,80,118 6382 GCOL 3,63 6383 ENDIF 6384 k$=CHR$ K 6385 IF k$="g" OR k$="j" OR k$="p" OR k$="q" OR k$="y" yo%=4 ELSE yo%=0 6386 PROCqwrite(CHR$ K,col%,X,Y+yo%) 6387 X+=80 6388 IF X>1200 THEN 6389 X=0:Y-=120:IF Y<0 Y=ys% 6390 ENDIF 6391 ENDIF 6392 6393 IF K=13 X=0:Y-=120:IF Y<0 Y=ys% 6394 6395 IF K=8 OR K=127 THEN 6396 X-=80:IF X<0 X=1200:Y+=120:IF Y>ys% Y=24 6397 PROCredraw(X,Y-24,84,120) 6398 ENDIF 6399 6400 UNTIL b<>0 6401 IF b=4 PROCupload_memory 6402 SYS "OS_Byte",237,cursor_status%,0 6403 PROCdismini 6404 ENDPROC 6405 6406 DEF PROCqwrite(text$,qtcol%,x%,y%) 6407 SYS "Font_SetPalette",,0,0,0,0,qtcol%,&65757254 6408 IF font%<>-1 SYS "Font_LoseFont",font% 6409 SYS "Font_FindFont",,"Corpus.Bold",52*16,56*16 TO font% 6410 SYS "Font_Paint",,text$,&14,x%,y% 6411 SYS "Font_Paint",,text$,&14,x%+4,y% 6412 SYS "Font_LoseFont",font% 6413 ENDPROC 6414 6415 DEF PROCauto_mode_find 6416 GCOL 196,196,196:RECTANGLE FILL 390,6,112,46 6417 PROCraised_block(426,100,434,90) 6418 PROCwrite2("Searching for SSTV mode ...",440,128,4) 6419 PROCwait_no_button 6420 PRINT TAB(0,2); 6421 auto_code%!12=30000 : REM 30000 x 500 SINS = 15 seconds 6422 auto_code%!16=serial_base% 6423 REPEAT 6424 auto_code%!4=Ioffset% DIV 2 6425 CALL auto_code%:L%=auto_code%!8 6426 REM PRINT L% 6427 PROCmode_from_line_time(L%) 6428 UNTIL M%<>0 OR L%=1 OR L%=2 6429 REM L%=1 on mouse abort, L%=2 on timeout 6430 IF M%<>0 THEN 6431 mode%=M% 6432 VDU5:GCOL0 TINT0:MOVE400,36:PRINT mode$(mode%):VDU4:OFF:WAIT 6433 ENDIF 6434 ENDPROC 6435 6436 DEF PROCmode_from_line_time(L%) 6437 M%=0 6438 IF ABS(L%-893)<4 M%=1 :REM M1 6439 IF ABS(L%-454)<4 M%=2 :REM M2 6440 IF ABS(L%-856)<4 M%=5 :REM S1 6441 IF ABS(L%-555)<4 M%=6 :REM S2 6442 IF ABS(L%-2101)<4 M%=9 :REM S-DX 6443 IF ABS(L%-1422)<4 M%=11 :REM SC2-180 6444 IF ABS(L%-819)<4 M%=20 :REM P3 6445 IF ABS(L%-1228)<4 M%=21 :REM P5 6446 IF ABS(L%-1638)<4 M%=22 :REM P7 6447 IF ABS(L%-1406)<3 M%=63 :REM PD-90 6448 IF ABS(L%-1017)<4 M%=64 :REM PD-120 6449 IF ABS(L%-1609)<4 M%=62 :REM PD-160 6450 IF ABS(L%-1508)<4 M%=60 :REM PD-180 6451 IF ABS(L%-2000)<4 M%=61 :REM PD-240 6452 IF ABS(L%-776)<4 M%=65 :REM PD-50 6453 IF ABS(L%-1411)<3 M%=70 :REM HQ-1 6454 IF ABS(L%-1747)<4 M%=71 :REM HQ-2 6455 ENDPROC 6456 6457 DEF PROCuser_pathname(RETURN start$,ux%,uy%,len%,flag%) 6458 ORIGIN 0,0:start2$=start$ 6459 IF flag% THEN 6460 MOUSE RECTANGLE 0,942,1280,60 6461 GCOL 0,0,0:RECTANGLE ux%+860,uy%,140,40 6462 PROCwrite2("Cancel",ux%+874,uy%+4,4) 6463 SYS sprswi%,256+52,spb%,"list",ux%+808,uy%-2,0,0,translate% 6464 ENDIF 6465 6466 GCOL 255,255,255:RECTANGLE FILL ux%,uy%,780,40 6467 PROCwrite2(start$+"|",ux%+4,uy%+4,100) 6468 REPEAT 6469 PROCwait_no_button:REPEAT:K$=INKEY$(1):UNTIL K$="" 6470 REPEAT:MOUSE X,Y,B:K$=INKEY$(1):UNTIL B=4 OR B=1 OR K$<>"" 6471 IF K$=CHR$8 THEN K$=CHR$127 6472 IF ASC(K$)=127 AND LEN(start$)>0 THEN 6473 L%=LEN(start$):start$=LEFT$(start$,L%-1) 6474 GCOL 255,255,255:RECTANGLE FILL ux%,uy%,780,40 6475 PROCwrite2(start$+"|",ux%+4,uy%+4,100) 6476 ENDIF 6477 IF ASC(K$)=21 THEN 6478 start$="":GCOL 255,255,255:RECTANGLE FILL ux%,uy%,780,40 6479 PROCwrite2(start$+"|",ux%+4,uy%+4,100) 6480 ENDIF 6481 IF LEN(start$)<len% AND ASC(K$)>32 AND ASC(K$)<127 THEN 6482 start$+=K$:GCOL 255,255,255:RECTANGLE FILL ux%,uy%,780,40 6483 PROCwrite2(start$+"|",ux%+4,uy%+4,100) 6484 ENDIF 6485 UNTIL K$=CHR$13 OR K$=CHR$9 OR B=4 OR B=1 6486 6487 ORIGIN 0,50:GCOL 3,63 TINT192 6488 MOUSE RECTANGLE 0,-50,1280,926+80 6489 6490 IF flag% THEN 6491 IF (B=4 AND X<1063) OR K$=CHR$9 OR K$=CHR$13 THEN 6492 IF RIGHT$(start$,1)="." start$=LEFT$(start$,(LEN start$)-1) 6493 IF LEN(start$)>6 dir$=start$:drv%=20:PROCclick_info 6494 ELSE 6495 start$=start2$ 6496 ENDIF 6497 IF X>1062 AND X<1110 PROClist_Pathnames 6498 ENDIF 6499 6500 IF NOT(flag%) AND B=1 start$=start2$ 6501 6502 ENDPROC 6503 6504 DEF PROClist_Pathnames 6505 ref%=TRUE 6506 REPEAT 6507 6508 IF ref% THEN 6509 PROCload_user_paths 6510 SYS sprswi%,256+52,spb%,"list_on",260+808,898,0,0,translate% 6511 GCOL 220,220,255:RECTANGLE FILL 256,236,782,642 6512 GCOL 255,0,0:RECTANGLE 254,234,786,646:N%=1 6513 FOR y%=890 TO 290 STEP-40 6514 IF y%=890 PROCwrite2("[ Cancel ]",260,y%,7) 6515 IF y%=850 PROCwrite2(default_dir$,260,y%,102) 6516 IF y%<850 PROCwrite2(user_path$(N%),260,y%,100):N%+=1 6517 NEXT 6518 MOUSE RECTANGLE 254,234,770,646:PROCwait_no_button 6519 MOUSE X,Y,B:y%=Y DIV 40:GCOL 3,63 TINT192 6520 IF y%=22 y%=21 6521 RECTANGLE FILL 260,y%*40-1,758,38 6522 ref%=FALSE 6523 ENDIF 6524 6525 REPEAT 6526 6527 REPEAT:MOUSE X,Y,B:y2%=Y DIV 40 6528 IF y2%=22 y2%=21 6529 IF y2%=5 y2%=6 6530 UNTIL y2%<>y% OR B<>0 6531 RECTANGLE FILL 260,y%*40-1,758,38 6532 RECTANGLE FILL 260,y2%*40-1,758,38 6533 y%=y2% 6534 6535 IF B=1 AND y%<20 THEN 6536 start$=user_path$(20-y%) 6537 PROCuser_pathname(start$,256,y%*40+46,46,FALSE) 6538 IF LEN start$>5 user_path$(20-y%)=start$ 6539 PROCupdate_pathnames_file 6540 ref%=TRUE:B=1 6541 ENDIF 6542 6543 UNTIL B<>0 6544 6545 UNTIL NOT ref% 6546 6547 IF y%<20 THEN 6548 IF LEN(user_path$(20-y%))>5 dir$=user_path$(20-y%) 6549 drv%=20:PROCclick_info 6550 ENDIF 6551 IF y%=20 dir$=default_dir$ 6552 ENDPROC 6553 6554 DEF PROCload_user_paths 6555 F%=OPENIN("<Pscan$Dir>.UserFiles.Pathnames") 6556 FOR N%=1 TO 14 6557 user_path$(N%)=GET$#F% 6558 NEXT 6559 CLOSE#F% 6560 ENDPROC 6561 6562 DEF PROCupdate_pathnames_file 6563 F%=OPENUP("<Pscan$Dir>.UserFiles.Pathnames") 6564 FOR N%=1 TO 14 6565 BPUT#F%,user_path$(N%) 6566 NEXT 6567 CLOSE#F% 6568 ENDPROC 6569 6570 DEF PROCpipe_border_menu(y%) 6571 menu$(0)="Pipe border options " 6572 menu$(1)="White pipe border" 6573 menu$(2)="Yellow pipe border" 6574 menu$(3)="Cyan pipe border" 6575 menu$(4)="Green pipe border" 6576 menu$(5)="Magenta pipe border" 6577 menu$(6)="Red pipe border" 6578 menu$(7)="Blue pipe border" 6579 menu$(8)="*":PROCmenu(0,90,-1) 6580 IF menu_box%<>99 PROCpipe_border(menu_box%,y%) 6581 ENDPROC 6582 6583 DEF PROCpipe_border(pipe_col%,y%) 6584 PROCdisplay_memory 6585 CASE pipe_col% OF 6586 WHEN 1:r%=64:g%=64:b%=64:ri%=12:gi%=12:bi%=12 6587 WHEN 2:r%=64:g%=64:b%=0:ri%=12:gi%=12:bi%=0 6588 WHEN 3:r%=0:g%=64:b%=64:ri%=0:gi%=12:bi%=12 6589 WHEN 4:r%=0:g%=64:b%=0:ri%=0:gi%=12:bi%=0 6590 WHEN 5:r%=64:g%=0:b%=64:ri%=12:gi%=0:bi%=12 6591 WHEN 6:r%=64:g%=0:b%=0:ri%=12:gi%=0:bi%=0 6592 WHEN 7:r%=0:g%=0:b%=64:ri%=0:gi%=0:bi%=12 6593 ENDCASE 6594 IF y%=9 yy%=1022 ELSE yy%=958 6595 FOR X%=0 TO 64 STEP2 6596 GCOL r%,g%,b% 6597 RECTANGLE X%,X%,1278-X%*2,yy%-X%*2 6598 r%+=ri%:IF r%>240 ri%=-ri% 6599 g%+=gi%:IF g%>240 gi%=-gi% 6600 b%+=bi%:IF b%>240 bi%=-bi% 6601 NEXT:PROCupmini 6602 ENDPROC 6603 6604 DEF PROCplinth2(x,y,w,h,R1,G1,B1,RI,GI,BI) 6605 R=R1:G=G1:B=B1 6606 VDU 24,x;y;x+w;y+h; 6607 FOR x2=x-w TO x+w STEP8 6608 GCOL R,G,B:MOVE x2,y:MOVE x2+w,y+h+h 6609 PLOT 85,x2+w,y:R+=RI:G+=GI:B+=BI 6610 IF R>255 R=255:RI=-RI 6611 IF G>255 G=255:GI=-GI 6612 IF B>255 B=255:BI=-BI 6613 IF R<0 R=0:RI=-RI 6614 IF G<0 G=0:GI=-GI 6615 IF B<0 B=0:BI=-BI 6616 NEXT:VDU26:WAIT:OFF 6617 GCOL R1,G1,B1 6618 LINE x,y,x,y+h:LINE x+2,y+2,x+2,y+h-2:LINE x+4,y+4,x+4,y+h-4 6619 R2=R1/2:IF R2<0 R2=0 6620 G2=G1/2:IF G2<0 G2=0 6621 B2=B1/2:IF B2<0 B2=0 6622 GCOL R2,G2,B2 6623 LINE x+w-2,y+2,x+w-2,y+h-2:LINE x+w,y,x+w,y+h:LINE x+w-4,y+4,x+w-4,y+h-4 6624 GCOL 0,0,0 6625 LINE x+2,y,x+w-2,y:LINE x+4,y+2,x+w-4,y+2:LINE x+6,y+4,x+w-6,y+4 6626 R3=R1*2:IF R3>255 R3=255 6627 G3=G1*2:IF G3>255 G3=255 6628 B3=B1*2:IF B3>255 B3=255 6629 GCOL R3,G3,B3 6630 LINE x+2,y+h,x+w-2,y+h:LINE x+4,y+h-2,x+w-4,y+h-2:LINE x+6,y+h-4,x+w-6,y+h-4 6631 ENDPROC 6632 6633 DEF PROCdisplay_header_text(h$) 6634 IF h$="NONE" ENDPROC 6635 h$=LEFT$(h$,28) 6636 IF mode%<20 OR mode%=63 OR mode%=65 THEN 6637 PROCwrite("Panel.Fixed",CHR$127+h$,190,956,24,24,6) 6638 ELSE 6639 PROCwrite("Panel.Fixed",CHR$127+h$,190,958,12,12,6) 6640 ENDIF 6641 PROCupload_memory 6642 ENDPROC 6643 6644 DEF PROCcreate_default_options_file 6645 REM Used when added parameters cause an EOF error 6646 REM Only new/missing parameters are added - existing ones retained 6647 IF choices_list$(1)<>"ok" save_type$="pscan" 6648 IF choices_list$(2)<>"ok" qwiktext_colour%=2 6649 IF choices_list$(3)<>"ok" qwiktext_block%=16 6650 IF choices_list$(4)<>"ok" jpeg_opt%=1 6651 IF choices_list$(5)<>"ok" plot_shadow%=1 6652 IF choices_list$(6)<>"ok" plot_border%=-1 6653 IF choices_list$(7)<>"ok" fax_average%=2 6654 IF choices_list$(8)<>"ok" red%=40 6655 IF choices_list$(9)<>"ok" grn%=96 6656 IF choices_list$(10)<>"ok" blu%=200 6657 IF choices_list$(11)<>"ok" jpgq%=75 6658 IF choices_list$(12)<>"ok" Ioffset%=40 6659 IF choices_list$(13)<>"ok" header_text%=FALSE 6660 IF choices_list$(14)<>"ok" pd_auto_lines%=8 6661 IF choices_list$(15)<>"ok" sstv_time%=2 6662 IF choices_list$(16)<>"ok" outline_width%=2 6663 IF choices_list$(17)<>"ok" beacon_on%=TRUE 6664 6665 F%=OPENOUT("<Pscan$Dir>.UserFiles.Options") 6666 PRINT#F%,save_type$ 6667 PRINT#F%,qwiktext_colour% 6668 PRINT#F%,qwiktext_block% 6669 PRINT#F%,jpeg_opt% 6670 PRINT#F%,plot_shadow% 6671 PRINT#F%,plot_border% 6672 PRINT#F%,fax_average% 6673 PRINT#F%,red% 6674 PRINT#F%,grn% 6675 PRINT#F%,blu% 6676 PRINT#F%,jpgq% 6677 PRINT#F%,Ioffset% 6678 PRINT#F%,header_text% 6679 PRINT#F%,pd_auto_lines% 6680 PRINT#F%,sstv_time% 6681 PRINT#F%,outline_width% 6682 PRINT#F%,beacon_on% 6683 CLOSE#F% 6684 6685 ENDPROC 6686 6687 DEF FNcheck_button(cbx%,cby%,cbw%,cbh%) 6688 cbx%+=cbw%/2:cby%+=cbh%/2 6689 MOUSE cbmx%,cbmy%,cbb% 6690 IF ABS(cbx%-cbmx%)<(cbw%/2)+4 AND ABS(cby%-cbmy%)<(cbh%/2)+4 THEN 6691 =TRUE 6692 ELSE 6693 =FALSE 6694 ENDIF 6695 6696 DEF PROCvis_convert_to_mode(vis%) 6697 good_vis%=TRUE 6698 CASE vis% OF 6699 WHEN 172:mode%=1 6700 WHEN 40 :mode%=2 6701 WHEN 60 :mode%=5 6702 WHEN 184:mode%=6 6703 WHEN 204:mode%=9 6704 WHEN 183:IF mode%<>12 THEN mode%=11 6705 WHEN 96 :mode%=60 : REM PD-180 6706 WHEN 225:mode%=61 : REM PD-240 6707 WHEN 226:mode%=62 : REM PD-160 6708 WHEN 99 :mode%=63 : REM PD-90 6709 WHEN 95 :mode%=64 : REM PD-120 6710 WHEN 221:mode%=65 : REM PD-50 6711 WHEN 113:mode%=20 : REM P3 6712 WHEN 114:mode%=21 : REM P5 6713 WHEN 243:mode%=22 : REM P7 6714 WHEN 169:mode%=70 : REM HQ1 6715 WHEN 170:mode%=71 : REM HQ2 6716 OTHERWISE 6717 good_vis%=FALSE 6718 ENDCASE 6719 ENDPROC 6720 6721 DEF PROCcw_tx(CW$) 6722 PROCcw_prepare(CW$):vis_param%!92=cw_data% 6723 f%=1000 : REM CW tone is 1000 Hz 6724 IF X4% THEN M%=4 ELSE M%=1 6725 c%=INT(1/(f%*M%)/2*1000000*2-1+.5) 6726 vis_param%!56=c% MOD 256:vis_param%!60=c% DIV 256 6727 vis_param%!80=3 6728 vis_param%!4=serial_base% 6729 PROCwait_no_button 6730 CALL vis_code%+(vis_code%!8) 6731 PROCwait_no_button 6732 ENDPROC 6733 6734 DEF PROCcw_prepare(CW$) 6735 RESTORE +0 6736 FOR N%=0 TO 42:READ cw_table$(N%):NEXT:A%=0 6737 cw_data%?A%=0:A%+=1 6738 FOR N%=1 TO LEN CW$ 6739 C%=ASC(MID$(CW$,N%,1)) 6740 IF C%>=ASC"a" AND C%<=ASC"z" C%-=32 : REM Convert lower case to upper 6741 IF (C%<ASC"/" OR C%>ASC"Z") AND C%<>32 C%=32 6742 IF C%=32 cw2$="5" ELSE cw2$=cw_table$(C%-47) 6743 FOR N2%=1 TO LEN(cw2$) 6744 cw3$=MID$(cw2$,N2%,1) 6745 PROCcw_ones_and_noughts(cw3$) 6746 NEXT 6747 PROCcw_ones_and_noughts("3") 6748 NEXT 6749 cw_data%?A%=0:A%+=1:cw_data%?A%=2 : REM End marker 6750 6751 DATA "21121" : REM "/" 6752 DATA "22222" : REM "0" 6753 DATA "12222" 6754 DATA "11222" 6755 DATA "11122" 6756 DATA "11112" 6757 DATA "11111" 6758 DATA "21111" 6759 DATA "22111" 6760 DATA "22211" 6761 DATA "22221" : REM "9" 6762 DATA "1","1","1","1","1","1","1" 6763 DATA "12" : REM "A" 6764 DATA "2111" 6765 DATA "2121" 6766 DATA "211" 6767 DATA "1" 6768 DATA "1121" 6769 DATA "221" 6770 DATA "1111" 6771 DATA "11" 6772 DATA "1222" 6773 DATA "212" 6774 DATA "1211" 6775 DATA "22" 6776 DATA "21" 6777 DATA "222" 6778 DATA "1221" 6779 DATA "2212" 6780 DATA "121" 6781 DATA "111" 6782 DATA "2" 6783 DATA "112" 6784 DATA "1112" 6785 DATA "122" 6786 DATA "2112" 6787 DATA "2122" 6788 DATA "2211" : REM "Z" 6789 ENDPROC 6790 6791 DEF PROCcw_ones_and_noughts(C$) 6792 REM 1=dit 2=dah 3=letter space 5=word space 6793 FOR n%=1 TO LEN(C$) 6794 c$=MID$(C$,n%,1) 6795 CASE c$ OF 6796 WHEN "1" : cw_data%?A%=1:A%+=1 6797 WHEN "2" : cw_data%?A%=1:A%+=1 6798 cw_data%?A%=1:A%+=1 6799 cw_data%?A%=1:A%+=1 6800 WHEN "3" : cw_data%?A%=0:A%+=1 6801 WHEN "5" : REM nothing needed 6802 ENDCASE 6803 cw_data%?A%=0:A%+=1 6804 ENDPROC 6805 6806 DEF FNbusy(seconds) 6807 PROCwait_no_button 6808 auto_code%!12=2000*seconds 6809 auto_code%!4=Ioffset% DIV 2 6810 CALL auto_code%:L1%=auto_code%!8 6811 auto_code%!12=2000*seconds 6812 CALL auto_code%:L2%=auto_code%!8 6813 IF L1%=1 OR L2%=1 rquit%=TRUE 6814 IF ABS(L2%-L1%)<10 AND L1%>220 AND L2%>220 THEN 6815 =TRUE 6816 ELSE 6817 =FALSE 6818 6819 DEF FNtoneburst 6820 vis_param%!80=2 : REM 2=toneburst, 1=VIS narrow, 0=VIS wide 6821 vis_param%!4=serial_base% 6822 FL=1750-toneburst_bandwidth%/2 6823 FH=1750+toneburst_bandwidth%/2 6824 C=4096-((1/FL)*1000000):vis_param%!84=C 6825 C=4096-((1/FH)*1000000):vis_param%!88=C 6826 CALL vis_code% 6827 =!vis_param% 6828 6829 DEF PROCleds_off 6830 GCOL 0,32,0 6831 FOR Y=854 TO 704 STEP -50 6832 RECTANGLE FILL 884,Y+4,12,12 6833 NEXT 6834 ENDPROC 6835 6836 DEF PROCrepeater_control 6837 repeater_timer%=0 6838 REPEAT 6839 PROCrepeater 6840 IF toneburst_result%=256 repeater_timer%+=1 6841 IF repeater_timer%>17 AND beacon_on% THEN 6842 IF NOT FNbusy(5) THEN 6843 PROCrepeater_beacon_text 6844 temp_mode%=mode%:mode%=1 6845 PROCtx_frame(TRUE) 6846 T=TIME:REPEAT UNTIL TIME-T>100 6847 PROCcw_tx(cw_id$) 6848 mode%=temp_mode% 6849 repeater_timer%=0 6850 ENDIF 6851 ENDIF 6852 UNTIL toneburst_result%=320 6853 ENDPROC 6854 6855 DEF PROCrepeater 6856 rquit%=FALSE:toneburst_result%=0 6857 REPEAT 6858 GCOL 64,64,64:RECTANGLE FILL 0,0,1280,1024 6859 PROCraised_block(200,600,880,380) 6860 GCOL 220,220,64:RECTANGLE FILL 240,914,788,40 6861 PROCwrite2("Pscan SSTV repeater status",420,920,4) 6862 PROCwrite2("1) Searching for 1750 Hz toneburst .....",300,850,0) 6863 PROCwrite2("2) Checking channel for SSTV activity ..",300,800,0) 6864 PROCwrite2("3) Sending CW identification text .........",300,750,0) 6865 PROCwrite2("4) Waiting for a valid VIS code ............",300,700,0) 6866 PROCwrite2("Click left mouse button at any time to exit repeater",260,630,4) 6867 FOR Y=854 TO 704 STEP -50 6868 GCOL 80,80,80 6869 MOVE 880,Y:MOVE 880,Y+20:PLOT 85,900,Y+20 6870 GCOL 255,255,255 6871 MOVE 880,Y:MOVE 900,Y:PLOT 85,900,Y+20 6872 NEXT 6873 COLOUR 128 TINT 0 6874 VDU 28,5,60,74,30:CLS 6875 COLOUR 128,255,0 6876 PROCwait_no_button 6877 6878 REPEAT 6879 6880 REPEAT 6881 6882 PROCleds_off 6883 PRINT''" Searching for toneburst ..." 6884 GCOL 255,255,0:RECTANGLE FILL 884,858,12,12 6885 6886 toneburst_result%=FNtoneburst 6887 CASE toneburst_result% OF 6888 WHEN 640 : 6889 PROCupdate_rtc(FALSE):t$=$(rtc_buffer%+1) 6890 COLOUR 255,255,255:PRINT'" ";t$; 6891 COLOUR 0,255,0 6892 PRINT" Toneburst found - checking for channel activity ..." 6893 GCOL 0,255,0:RECTANGLE FILL 884,858,12,12 6894 GCOL 255,255,0:RECTANGLE FILL 884,808,12,12 6895 WHEN 320 : PROCrend:ENDPROC 6896 WHEN 256 : ENDPROC 6897 ENDCASE 6898 6899 IF FNbusy(3) THEN 6900 PRINT'" ***** Channel busy - access denied *****" 6901 chan_clear%=FALSE 6902 ELSE 6903 chan_clear%=TRUE 6904 ENDIF 6905 6906 UNTIL chan_clear% OR rquit% 6907 6908 IF rquit% PROCrend:ENDPROC 6909 6910 PRINT'" Channel seems clear - sending '";cw_id$;"' on CW ..." 6911 GCOL 0,255,0:RECTANGLE FILL 884,808,12,12 6912 GCOL 255,255,0:RECTANGLE FILL 884,758,12,12 6913 PROCcw_tx(cw_id$) 6914 ENDIF 6915 6916 vis_param%!80=1 : REM Narrow VIS 6917 vis_param%!4=serial_base% 6918 r%=255:g%=255:good_vis%=FALSE 6919 PRINT'" Now waiting up to 15 seconds for a VIS ..." 6920 GCOL 0,255,0:RECTANGLE FILL 884,758,12,12 6921 GCOL 255,255,0:RECTANGLE FILL 884,708,12,12 6922 FOR v%=1 TO 30 6923 CALL vis_code% 6924 IF !vis_param%<>256 v%=30 6925 r%=r%EOR255:g%=g%EOR255:GCOL r%,g%,0:RECTANGLE FILL 884,708,12,12 6926 NEXT 6927 IF !vis_param%=320 PROCrend:ENDPROC 6928 IF !vis_param%<256 THEN 6929 PROCvis_convert_to_mode(!vis_param%) 6930 ELSE 6931 PRINT'" No VIS found - returning to start ..." 6932 ENDIF 6933 6934 UNTIL good_vis% 6935 6936 IF mode%=70 OR mode%=71 mode%=1 6937 VDU26:GCOL 0,0,0:RECTANGLE FILL 0,0,1280,1024 6938 PROCrx_sstv(TRUE):repeater_timer%=0 6939 IF rx_param%!64=48 PROCrend:ENDPROC 6940 T=TIME:REPEAT UNTIL TIME-T>100 6941 GCOL 32,32,32:RECTANGLE FILL 0,960,1280,64 6942 COLOUR 255,255,0:COLOUR 128+21 TINT 0 6943 PRINT TAB(4,1)"Checking channel for SSTV activity before re-transmitting picture ... "; 6944 6945 FOR waiting3%=1 TO 36 : REM Wait up to 3 mins for channel to clear 6946 IF NOT FNbusy(3) THEN 6947 PROCtopscale2(0) 6948 PROCtx_frame(TRUE) 6949 waiting3%=36 6950 ELSE 6951 T=TIME:REPEAT UNTIL TIME-T>400 6952 ENDIF 6953 NEXT 6954 6955 UNTIL 0 6956 6957 ENDPROC 6958 6959 6960 DEF PROCrend 6961 VDU26:WAIT:OFF:WAIT 6962 PROCdismini:PROCwait_no_button 6963 toneburst_result%=320 6964 ENDPROC 6965 6966 DEF PROCrepeater_beacon_text 6967 !spr%=40000:spr%!4=0:spr%!8=16:spr%!12=16 6968 SYS sprswi%,256+10,spr%,"<Pscan$Dir>.PSsprites.T1" 6969 sprite_name$="t1":PROCtiled_sprite_background 6970 PROCtopscale2(2):f$="Homerton.Bold" 6971 GCOL 0,0,255:RECTANGLE FILL 16,876,1240,8 6972 GCOL 0,255,0:RECTANGLE FILL 16,886,1240,8 6973 GCOL 255,0,0:RECTANGLE FILL 16,896,1240,8 6974 PROCbeacon_text(f$,"PSCAN REPEATER INFO",130,848,32,40,6) 6975 PROCbeacon_text(f$,"1 Transmit a 1750 Hz toneburst",44,720,32,32,&80FF8000) 6976 PROCbeacon_text(f$,"2 Wait up to 5 secs for CW ID",44,600,32,32,&00FF8000) 6977 PROCbeacon_text(f$,"3 Send SSTV - with VIS start -",44,480,32,32,&80FF8000) 6978 PROCbeacon_text(f$," within 15 seconds",44,390,32,32,&80FF8000) 6979 PROCbeacon_text(f$,"4 Picture will be replayed",44,270,32,32,&00FF8000) 6980 PROCbeacon_text(f$," in the same SSTV mode",44,180,32,32,&00FF8000) 6981 GCOL 255,255,0:RECTANGLE FILL 16,58,1240,8 6982 GCOL 0,255,255:RECTANGLE FILL 16,68,1240,8 6983 GCOL 255,0,255:RECTANGLE FILL 16,78,1240,8 6984 W%=FNtext_width(f$,"DE "+call$+" SSTV REPEATER",28,38):X%=(1280-W%)/2-8 6985 PROCbeacon_text(f$,"DE "+call$+" SSTV REPEATER",X%,30,28,38,&FFFF8000) 6986 PROCupmini 6987 ENDPROC 6988 6989 DEF PROCbeacon_text(f$,t$,x%,y%,xp%,yp%,c) 6990 FOR X%=x% TO x%+16 STEP 8 6991 FOR Y%=y% TO y%+16 STEP 8 6992 PROCwrite(f$,t$,X%,Y%,xp%,yp%,0) 6993 NEXT 6994 NEXT 6995 PROCwrite(f$,t$,x%+8,y%+8,xp%,yp%,c) 6996 ENDPROC 6997 6998 DEF PROCset_rts_low_on_atomwide 6999 DIM c% 64 7000 FOR P=0 TO 2 STEP2 7001 P%=c% 7002 [OPT P 7003 SWI "OS_EnterOS" 7004 LDR R1,serial_base:MOV R0,#9:STRB R0,[R1,#&10] 7005 TEQP PC,#0:MOVNV R0,R0:MOV PC,R14 7006 .serial_base EQUD 0 7007 ] 7008 NEXT 7009 !serial_base=EVAL(config$(13)):CALL c% 7010 ENDPROC
� >Pscan063 < � PD 50 mode added - mode 65, VIS 93/221 - 23.12.97 < � Manual memory area separate from sprities - 11.12.97 < � Filer changes - new dir & save sprites - 10.12.97 < � Pathnames file format changed (simplified) - 01.12.97 < � Repeater "beacon" text - 30.11.97 < � Serial port address configurable - 28.11.97 2 ije_dev%=� : � Set to TRUE for G4IJE R&D only < � Configuration now uses Choices window - 09.11.97 < � Most code blocks moved into Resources dir - 16.10.97 < � Repeater mode - for FM use only - 14.10.97 < � Text outline - 2 widths available - 28.07.97 < � Pic mem change within waveform monitor - 13.07.97 < � Paint with sprite - 22.06.97 < � New borders / plinths for grabbed areas - 15.06.97 < � JPEG mods / large directories accommodated - 04.05.97 < � PD auto-tune 8, 4 lines or off for FM use - 15.02.97 < � User entry of pathname + list selector - 17.02.97 < � Menu cancel moved to last entry - 06.02.97 < � Auto-mode find - click R icon with adjust - 27.01.97 < � PD90 save in Pscan format corrected - 25.01.97 < � Tweaks to "create text" positioning - 23.01.97 < � Text and mask size adjust - 19.01.97 < � New linear tuning indicator - 28.12.96 < � PD mode RX lookup table 64 - 192 - 23.12.96 < � QwikText captions - 12.12.96 < � HQ modes - RX only and not "full spec" - 25.11.96 < � StrongARM compatible version - 20.10.96 !K � ******************************************************************** "K � * Many thanks to Neil, G4RQN, for help with the icon bar WIMP bits * #K � ******************************************************************** $ % &8 � � � �:ș"Hourglass_Smash":�''�$;" at line ";�'':� ' ( � ije_dev% � )8 *SET Pscan$Dir ADFS::HardDisc4.$.PS_Jan98.AppFiles *% *FontInstall <Pscan$Dir>.Fonts. + � , -1 app_name$="Pscan":ver$="3.10 - January 1998" . splash2x%=190 /* wimp_sprite$="!pscan":windowhandle%=� 0 font%=-1:just_registered%=� 1 2 � serial_base%=&03010FE0 3 4@ � block% &300,menu% 64,sysvar% 256,err% 256,sprite_name% 32 5; � temp% &300,Wbuffer% &300,qerr% &300:curbuf%=Wbuffer% 6 � choices_window% 32 76 $choices_window%="Obey <Pscan$Dir>.Choices.!Run" 8 � register_window% 40 9@ $register_window%="Obey <Pscan$Dir>.Choices.Register.!Run" : ; $(menu%+56)="xxxx" < = config_entries%=13 > � config$(config_entries%) ?' �read_config_file(config_entries%) @ memories%=�(config$(4)) A txtsize%=�(config$(5))*1024 B+ � config$(9)="Y" � thumb%=� � thumb%=� C9 � �(config$(13))>=&03242000 �set_rts_low_on_atomwide D E0 dummy=�file_len("<Pscan$Dir>.Resources.id") F5 F%=�("<Pscan$Dir>.Resources.id"):�#F%,user$:�#F% G H � ije_dev% � �start_pscan:� I J pscan_exit%=� K �initialise L �templates M � � �error N �writeicon(28,info%,7,ver$) O! �writeicon(28,info%,8,user$) P � Q �poll R � pscan_exit%=� S ș"Wimp_CloseDown" T � U V � �initialise W0 ș"Wimp_Initialise",200,&4b534154,app_name$ X block%!0=windowhandle% Y block%!4=0:block%!8=0 Z block%!12=68:block%!16=68 [ block%!20=&301A \! $(block%+24)=wimp_sprite$+�0 ]. ș"Wimp_CreateIcon",,block% � iconhandle% ^ � _ ` � �templates a � � b& � � � � � ș "Wimp_CloseTemplate" c4 ș "Wimp_OpenTemplate",,"<Pscan$Dir>.Templates" d? ș "Wimp_LoadTemplate",,block%,temp%,temp%+512,-1,"Info",0 e+ ș "Wimp_CreateWindow",,block% � info% f ș "Wimp_CloseTemplate" g � h � i j � �error k !block%=� l/ $(block%+4)=�$+" (Error code "+�(�)+")"+�0 m5 ș"Wimp_ReportError",block%,1,app_name$ � reply% n � reply%=2 � � o � p q � �poll r$ ș"Wimp_Poll",,block% � reason% s Ȏ reason% � t' � 2 :ș &400C5,,block%,,block% u% � 3 :�close_window(block%!0) vR � 6 :�checkmouse(!block%,block%!4,block%!8,block%!12,block%!16,block%!20) w! � 9 :�menuselect(block%) x � 17,18:�Wreceive y � z � { | � �close_window(whandle%) } block%!0=whandle% ~" ș "Wimp_CloseWindow",,block% � � � � �Wreceive � Ȏ block%!16 � � � 0:pscan_exit%=� � � � � � �8 � �checkmouse(mousex%,mousey%,b%,handle%,icon%,ob%) � �(b%�2)� � Ȏ handle% � � � -2 �J �domenu(101,">Info,Help,Manual,Register...,-Choices...,Quit","Pscan") � � � � � �(b%�4)� � �start_pscan � � � � � �( � �domenu(handle%,menu$,menutitle$) � menuhandle%=handle% � menuptr%=Wbuffer% � i%=0 � menuptr%!20=40:� block size � $menuptr%=menutitle$ � menuptr%?12=7 � menuptr%?13=2 � menuptr%?14=7 � menuptr%?15=0 � menuptr%!16=196-24 �# menuptr%!24=4:� Height spacing � menuptr%+=28 �2 � item$=�par(","):�menuitem(item$):� item$="" �$ menuptr%!-24=(menuptr%!-24)�&80 �2 ș "Wimp_CreateMenu",,Wbuffer%,mousex%-64,384 � � � � � �menuitem(wtext$) � � wtext$<>"" � � !menuptr%=0 �7 � �wtext$,1)="-" � menuptr%?0=2:wtext$=�wtext$,2) � � �wtext$,1)=">" � � menuptr%!4=info% �2 dummy=�file_len("<Pscan$Dir>.Resources.id") �7 F%=�("<Pscan$Dir>.Resources.id"):�#F%,user$:�#F% �" �writeicon(28,info%,7,ver$) �# �writeicon(28,info%,8,user$) � � � menuptr%!4=� � � � menuptr%!8=&07000021 �I � �wtext$,1)=">" � $(menuptr%+12)=�wtext$,2) � $(menuptr%+12)=wtext$ � menuptr%+=24 � � � � � � � �par(sep$) �& i1%=i%+1:i%=�menu$+sep$,sep$,i1%) � =�menu$,i1%,i%-i1%) � � � �menuselect(menus%) �: ș "Wimp_DecodeMenu",,Wbuffer%,menus%,�200," ")�,,,a$ � � a$<>"" � � Ȏ menuhandle% � � � 101 � Ȏ a$ � �& � "Quit" : pscan_exit%=� �5 � "Help" : *Filer_Run <Pscan$Dir>.!Help �6 � "Manual" : *Filer_Run <Pscan$Dir>.Manual �< � "Choices..." : ș "Wimp_StartTask",choices_window% �B � "Register...": � $(menu%+56)="sstv" � just_registered%=� �@ ș "Wimp_StartTask",register_window% � � � � � � � � � �* � �writeicon(itw%,whandle%,wic%,wic$) � !block%=whandle% �. s%=�readicon(itw%,whandle%,wic%):$s%=wic$ � block%!4=wic% � block%!8=0:block%!12=0 � ș &400CD,,block% � � � �% � �readicon(itr%,whandle%,which) � � a$ � !block%=whandle% �% ș "Wimp_GetWindowState",,block% � block%!4=which � ș &400CE,,block% � =block%!itr% � �F � ********** MAIN NON-MULTITASKING PROGRAM STARTS HERE ********** � � � �start_pscan � �' �read_config_file(config_entries%) �$ �set_variables_from_config_file � � � just_registered% � �9 �("LOAD <Pscan$Dir>.Resources.PscanTX "+�~tx_code%) � just_registered%=� � � � � ș "Hourglass_On" �0 desk_mode%=�:modelen%=24:ptr%=desk_mode%+20 � ȕ !ptr%<>-1 � ptr%+=4:modelen%+=4 � � � � modestore% modelen% � � i%=0 � modelen%-4 � 4 �" modestore%!i%=desk_mode%!i%:� �. �mode("X640 Y512 C32K"):screen_lines%=512 �6 �12,26,20:�:Ȗ:disp_flag%=0:panel$="Panel.Medium" �< screen%=�screen_address:� 255,255,0:Ȓ 0,1023:Ȓ 2,1023 � � � !screen%<>&03FF03FF � �K �mode("X640 Y480 C32K"):screen%=�screen_address:�:Ȗ:screen_lines%=480 �" � 0,0,128:ȓ Ȑ 0,0,1280,1024 �# �raised_block(200,300,850,500) �' � 255,255,128:ȓ Ȑ 220,732,804,50 �: �write2("Message from Pscan version "+ver$,220,740,4) �M �write2("Pscan needs to use a 640 x 512 screen mode and this",220,670,4) �I �write2("does not seem to be available on your computer.",220,630,4) �P �write2("See the !ReadMe file inside the !Pscan.Extras.Monitors",220,590,4) �M �write2("directory or contact G4IJE (01279 734482) for help.",220,550,4) �J �write2("You can run Pscan in a 640 x 480 screen mode but",220,490,4) @ �write2("some features will not work correctly.",220,450,4) M �raised_block(240,340,340,40):�write2("Continue in 640 x 480",246,344,4) G �raised_block(664,340,340,40):�write2("Quit to Desktop",714,344,4) $ ș "Hourglass_Smash":*POINTER 1 ) �wait_no_button:ȗ ȓ 240,336,764,48 ? �:ȗ X,Y,B:� B<>0:� X>660 � ș "Wimp_SetMode",modestore%:� ȗ ȓ 0,0,1280,1024 � *FX2,0 � $(menu%+56)="sstv" � E disp_flag%=� : � Program has been run at least once so variables , � are not initialised � D � ije_dev% � *SET Pscan$Dir ADFS::HardDisc4.$.PS_Jan98.AppFiles 9 ș "OS_SWINumberFromString",,"OS_SpriteOp" � sprswi% 1 ș "ADFS_Drives" � N%,floppies%,hard_drives% � spr% txtsize%:�splash2 6 �get_drive_number_from_pathname:default_dir$=dir$ auto_save%=0:auto_count%=0 # Thumbdir$="<Pscan$Dir>.Thumbs" �load_rx_and_tx_code �load_on_line_manual ȗ �:*POINTER 1 ! mode%=1:MEM%=0:GH%=0:GW%=0 "4 mem3%=0:mem4%=0:mem5%=0:mem6%=0:mem7%=0:mem8%=0 # � mem1% 655420,mem2% 655420 $# � memories%>2 � � mem3% 655420 %# � memories%>3 � � mem4% 655420 &# � memories%>4 � � mem5% 655420 '# � memories%>5 � � mem6% 655420 (# � memories%>6 � � mem7% 655420 )# � memories%>7 � � mem8% 655420 * + memblock%=mem1% , � thumb% � -$ � thblock% 328000,thpath% 2560 .5 thumb_max%=�count_thumbnail_banks:thumb_bank%=1 /% thblock%!0=328000:thblock%!8=16 0 ș sprswi%,256+9,thblock% 11 ș "OS_File",5,Thumbdir$+".ThumbPix01" � a% 21 ș "OS_File",5,Thumbdir$+".ThumPath01" � b% 3 � a%=0 � b%=0 � 4% �create_blank_thumbnail("new") 5* thumb_max%=1:thumb_bank%=1:�splash2 6 � 7' �load_thumbnail_bank(thumb_bank%) 8 � 9 :< � mode$(200):�setup_modes:area_copied%=0:gbpb_len%=3000 ;A � cat$(80),ftype$(80),gbpb% gbpb_len%,path$(8),jpegscale% 16 < � N%=1 � 8:path$(N%)="X":� =' � reddata 32,grndata 32,bludata 32 >2 � menu$(27),fontlist% 40,tran% 32,fontbox% 40 ?2 � load_list$(8),rtc_buffer% 10:�check_for_bst @' � user_path$(14),choices_list$(20) A7 L%=64+�file_len("<Pscan$Dir>.UserFiles.Pathnames") B � user_path% L% C# � cw_data% 512:� cw_table$(50) D E; �mem_assemble:�picpro_assemble:�sprite_shadow_assemble F9 �mysprite_assemble:�manual_assemble:�redraw_assemble G6 �targa_assemble:�get_area_assemble:�zoom_assemble HF �rotate_rgb_assemble:�make_small_targa_assemble:�quarter_assemble I: �waveform_assemble:�reset_t0_assemble:�merge_assemble J KI text1$="":text2$="":text$="":TC%=&03FF:TD%=32:TL%=31:text_out_col%=0 L> brush_size%=16:step%=0:grad%=0:shad$="BR":SC%=0:shadow%=0 MA pbr%=255:pbg%=0:pbb%=255:xp%=0:yp%=0:pbri%=8:pbgi%=0:pbbi%=8 N3 text_block_shadow%=0:overlay%=0:font$="{none}" OK overlay_outline%=0:OOC%=0:hires%=0:transform%=�:solid%=0:jpeg_scale%=0 P, file_open%=0:menu_redraw%=�:col_idec%=0 Q' real_shadow1%=0:entire%=0:qbw$="m" RL border_width%=2:border_grad%=1:bypass%=0:screen_grabbed%=0:jpeg_info%=0 SH quit_after_error%=�:lastfile$="":merge%=0:grab$="e":mask_created%=0 T8 shown_dir$="-":dir_entries%=0:text%=0:mmm%=1:VIS%=0 U@ cursor_status%=99:auto_find%=�:rquit%=�:toneburst_result%=0 VA start_entry%=0:last_start_entry%=0:big_dir%=0:was_big_dir%=0 W X' � N%=1 � 20:choices_list$(N%)="":� Y � � Z, � � � �#F%:�create_default_options_file [* F%=�("<Pscan$Dir>.UserFiles.Options") \* �#F%,save_type$:choices_list$(1)="ok" ]0 �#F%,qwiktext_colour%:choices_list$(2)="ok" ^/ �#F%,qwiktext_block%:choices_list$(3)="ok" _) �#F%,jpeg_opt%:choices_list$(4)="ok" `, �#F%,plot_shadow%:choices_list$(5)="ok" a, �#F%,plot_border%:choices_list$(6)="ok" b, �#F%,fax_average%:choices_list$(7)="ok" c$ �#F%,red%:choices_list$(8)="ok" d$ �#F%,grn%:choices_list$(9)="ok" e% �#F%,blu%:choices_list$(10)="ok" f& �#F%,jpgq%:choices_list$(11)="ok" g) �#F%,Ioffset%:choices_list$(12)="ok" h- �#F%,header_text%:choices_list$(13)="ok" i/ �#F%,pd_auto_lines%:choices_list$(14)="ok" j+ �#F%,sstv_time%:choices_list$(15)="ok" k/ �#F%,outline_width%:choices_list$(16)="ok" l+ �#F%,beacon_on%:choices_list$(17)="ok" m �#F% n � � o p Ȏ jpeg_opt% � q � 0,1:jpeg_scale%=0 r � 2,3:jpeg_scale%=-1 s � t u/ � save_type$="overlay" save_type$="sprite" v w* � mouse1% 300,mouse2% 300,mouse3% 300 x4 dummy=�file_len("<Pscan$Dir>.Resources.cross1") y6 �("LOAD <Pscan$Dir>.Resources.cross1 "+�~mouse1%) z4 dummy=�file_len("<Pscan$Dir>.Resources.cross2") {6 �("LOAD <Pscan$Dir>.Resources.cross2 "+�~mouse2%) |4 dummy=�file_len("<Pscan$Dir>.Resources.finger") }6 �("LOAD <Pscan$Dir>.Resources.finger "+�~mouse3%) ~ D SPM%=28000:� spb% SPM%:!spb%=SPM%:spb%!4=0:spb%!8=16:spb%!12=16 �> ș sprswi%,256+10,spb%,"<Pscan$Dir>.PSsprites.sstv_icons" � � � translate% 16 � � +0 �( � N%=0 � 15:� D%:translate%?N%=D%:� �; � 255,253,171,169,87,85,3,0,144,61,49,12,190,36,47,227 � � � translate256% 256 � � N%=0 � 255 �0 ș "ColourTrans_ColourNumberToGCOL",N% � D% � translate256%?N%=D%:� � � $(menu%+56)="sstv" � � � � ș "OS_Byte",229,0,0 � � � � � � � �pscan_error_handler �$ �get_drive_number_from_pathname � BIGQUIT%=0:himem%=� �# �mini_pad:ș "Hourglass_Smash" � �mouse_control �( � � ije_dev% � ș "OS_Byte",229,1,0 � � � �! ș "Wimp_SetMode",modestore% �I �write2("Returning to the desktop - please wait a moment",300,500,0) �I �write2("Returning to the desktop - please wait a moment",296,504,1) � �update_rtc(�) � �* F%=�("<Pscan$Dir>.UserFiles.Options") � �#F%,save_type$ � �#F%,qwiktext_colour% � �#F%,qwiktext_block% � �#F%,jpeg_opt% � �#F%,plot_shadow% � �#F%,plot_border% � �#F%,fax_average% � �#F%,red% � �#F%,grn% � �#F%,blu% � �#F%,jpgq% � �#F%,Ioffset% � �#F%,header_text% � �#F%,pd_auto_lines% � �#F%,sstv_time% � �#F%,outline_width% � �#F%,beacon_on% � �#F% � � � �& � �set_variables_from_config_file � call$=config$(1) � clock_freq%=�(config$(2)) � dir$=config$(3) � user_drive$=config$(6) �1 � �user_drive$,"::")>0 � �(user_drive$)>6 � � ud_path%=� � � � ud_path%=� � � � auto_dir$=config$(7) �& � config$(8)="Y" � X4%=� � X4%=� � header_text$=config$(10) � cw_id$=config$(11) �) toneburst_bandwidth%=�(config$(12)) �! serial_base%=�(config$(13)) � � � � � �read_config_file(L%) �( F%=�("<Pscan$Dir>.Choices.Params") � � N%=1 � L% � config$(N%)=�#F% � � � �#F% � � � � � �pscan_error_handler � � reset_t0_code% �; � cursor_status%<>99 ș "OS_Byte",237,cursor_status%,0 � �26,20,4,7:�:Ȗ:*POINTER 1 � �19,1,24,0,0,0 �- X%=280:Y%=304:W%=720:H%=400:auto_save%=0 � ș "Hourglass_Smash" � � file_open% � �#F% �( �raised_block(X%+40,Y%,W%-80,H%-30) �/ � 63 Ȝ 0:ȓ Ȑ X%+64,Y%+100,W%-128,H%-240 �- � 64,64,64:ȓ X%+64,Y%+100,W%-128,H%-240 �1 � 255,255,255:� X%+64,Y%+100,X%+W%-64,Y%+100 �) � X%+W%-64,Y%+100,X%+W%-64,Y%+H%-140 �? ș sprswi%,256+52,spb%,"error",X%+66,Y%+280,8,0,translate% �@ ș sprswi%,256+52,spb%,"error",X%+570,Y%+280,8,0,translate% �8 �write2("Error message from Pscan",X%+170,Y%+300,4) �& �raised_block(X%+70,Y%+32,240,40) �' �raised_block(X%+410,Y%+32,240,40) �. �write2("Quit to Desktop",X%+410,Y%+36,4) �' �write2("Continue",X%+120,Y%+36,4) � �128+63 Ȝ0:� 0,0,0 � R$=�$ �( � �R$,"irectory") dir$=default_dir$ �# � �R$,"isc") dir$=default_dir$ �# � �R$,"ile") dir$=default_dir$ �$ � �R$,"rive") dir$=default_dir$ �% � �R$,"andle") dir$=default_dir$ �% � �R$,"iling") dir$=default_dir$ �' � dir$=default_dir$ shown_dir$="-" �4 message$=�$+�13+�13+"Internal error code "+�(�) �l � �=67782 � message$=message$+�13+�13+"You must run Pscan from a hard drive to load or save JPEG files" �' $err%=message$:err%?(� message$)=0 �> � screen_lines%=512 � � 28,24,37,55,30 � � 28,24,33,55,26 �$ ș "OS_PrettyPrint",err%,0:�:Ȗ � ȗ ȓ X%+60,Y%+26,W%-124,54 � � step%<>0 � ȗ � step% � �$ �wait_no_button:�:K=�(1):� K=-1 �% �:ȗ X,Y,B:K=�(1):� B<>0 � K<>-1 �) � X>680 � K=13 � quit_after_error%=� � ȗ ȓ 0,0,1280,1024 �0 � � quit_after_error% � �26:�display_memory � � � � � �mouse_control � ȗ � 1:T=0 � � � � � quit_after_error% � � �wait_no_button:� � �(1)=-1 � � � � ȗ X,Y,B:K$=�(1) � K$=�254 � & � 0,32 Ȝ0:ȓ Ȑ 20,700,500,300 $ � 255,255,0:ȓ 20,700,500,300 " � 128+32 Ȝ 0:� 255,255,255 & � �4,3)" - Pscan parameters -" 5 � �4,6)" Memory in use = ";�((�-�)/1024);"k " ' � �4,8)" Last VIS code = ";VIS% , � �4,10)" Ioffset% = ";Ioffset% K$="" � �check_alt_s_save 6 � jpeg_info% � (�-T)>300 � �dismini:jpeg_info%=0 & � Y<55 � mbox%=X � 64 � mbox%=99 ! � B<>0 � K$<>"":jpeg_info%=0 � K$="" � $ � B=2 � 128 Ȝ 128:�:�mini_pad 2 � (B=1 � B=4) � Y<55 mbox%=X � 64 � mbox%=99 � (B=1 � B=4) � Y>54 � % �display_memory:�wait_no_button �:ȗ x,y,b:� b=4 � b=1 0 � x<10 � x>1270 � y<10 � y>950 � �scroller �mini_pad � � � �(K$)>96 K$=�(�(K$)-32) X=400 Ȏ K$ � - � "C":� 128 Ȝ 128:�:�mini_pad:mbox%=99 � "F":mbox%=19 � "H":mbox%=22 � "M":mbox%=6 ! � "N":mbox%=18 " � "R":mbox%=10 # � "T":mbox%=11 $ � "V":mbox%=8 % � "Q":mbox%=21 &? � "1","2","3","4","5","6","7","8":X=(�(K$)-49)*48:mbox%=1 ' ( mbox%=99 ) � * � + ,4 � X<384 � mbox%<>99 � �memory_select(X � 48,-1) - Ȏ mbox% � . � 6,7:�mode_menu / � 8,9:�vis_start 0+ � 10:� B=1 auto_find%=� � auto_find%=� 1 :�rx_sstv(�) 2 � 11:�tx_frame(�) 3 � 12:�test_patterns 4 � 13:�rgb_processing 5* � 14:�tools:� auto_save% � �auto_save 6 � 15:�background_menu 7 � 16:�grab_menu 8# � 17:�text_sprite_overlay_menu 9 � 18:�show_thumbnails :2 � 19:�filer_display:� jpeg_info% � �jpeg_info ; � 22:�on_line_manual < � 21:�qwiktext = � > � ?# BIGQUIT%=�:quit_after_error%=� @ � A � BIGQUIT% B � C D � �check_alt_s_save E � �(-3) � �(-82) � F- �("SCREENSAVE "+dir$+".PSscreen"+� mmm%) G mmm%+=1 H � I � J K � �jpeg_info L' �raised_block(400,106,472,100):T=� M8 �write2("JPEG image "+� xs%+" by "+� ys%,456,160,4) N1 � jpeg_scale% � sc$="scaled" � sc$="cropped" O; �write2("Loaded and "+sc$+" in "+T$+" secs",394,120,4) P � Q R � �memory_select(mem%,dis%) S � mem%<memories% � T Ȏ mem% � U � 0:memblock%=mem1% V � 1:memblock%=mem2% W � 2:memblock%=mem3% X � 3:memblock%=mem4% Y � 4:memblock%=mem5% Z � 5:memblock%=mem6% [ � 6:memblock%=mem7% \ � 7:memblock%=mem8% ] � ^ MEM%=mem%:� dis% � �dismini _ � ` � mem%=memories% � �(-3) � a# ș "Wimp_SlotSize",-1,-1 � S% b% ș "Wimp_SlotSize",S%+660000,-1 c Ȏ (memories%+1) � d8 � 3:mem3%=himem%+64:memblock%=mem3%:himem%+=660000 e8 � 4:mem4%=himem%+64:memblock%=mem4%:himem%+=660000 f8 � 5:mem5%=himem%+64:memblock%=mem5%:himem%+=660000 g8 � 6:mem6%=himem%+64:memblock%=mem6%:himem%+=660000 h8 � 7:mem7%=himem%+64:memblock%=mem7%:himem%+=660000 i8 � 8:mem8%=himem%+64:memblock%=mem8%:himem%+=660000 j � k: memories%+=1:MEM%=mem%:temp_mem_increase%=�:�dismini l � m � n � o p& � �get_drive_number_from_pathname q N%=0:drv%=99:� r! drv%=�(�dir$,N%,1))-48:N%+=1 s5 � drv%=0 � drv%=1 � drv%=4 � drv%=5 � N%=�(dir$) t0 � drv%<0 � drv%>5 � drv%=4:dir$="ADFS::4.$" u � v w � �background_menu x" �3,63 Ȝ192:ȓ Ȑ 964,4,52,50 y � z menu$(0)=" Backgrounds" {$ menu$(2)=" Single gradations>" |$ menu$(3)=" Double gradations>" }% menu$(4)=" White-blue diagonal" ~$ menu$(5)=" White-red diagonal" ' menu$(6)=" Cyan-magenta diagonal" �) menu$(7)=" Yellow-magenta diagonal" �% menu$(8)=" Yellow-red diagonal" �& menu$(9)=" White-green diagonal" �' menu$(10)=" Yellow-cyan diagonal" �$ menu$(11)=" Red-blue diagonal" �( menu$(12)=" Multi diagonal type 1" �( menu$(13)=" Multi diagonal type 2" �# menu$(14)=" Plain background" �' menu$(15)=" Circular gradations>" �$ menu$(16)=" Multi gradations>" �& menu$(17)=" Segment gradations>" �! menu$(18)=" Miscellaneous>" � � merge% m$=�128 � m$=" " �' menu$(19)=m$+" Merge with picture" �% menu$(20)=" Fade top-to-bottom" �" menu$(21)="*":�menu(494,90,0) �5 � menu_box%=19 � merge%=�(merge%):menu_redraw%=� � Ȏ menu_box% � � � 1:menu_box%=0 � � 2:�single_grad_options � � 3:�double_grad_options �( � 4,5,6,7,8,9,10,11,12,13:�diagonal � � 14:�plain_background � � 15:�circular_gradations � � 16:�multi_grad_menu � � 17:�segment_menu � � 18:�misc_backgrounds � � 20:�screen_fade � � �$ � menu_box%<>19 � menu_box%<>99 �. � merge% � menu_box%<>0 � �merge:merge%=0 � �dismini � � � � � �double_grad_options � menu$(0)="Double grad " � menu$(1)="Red-black" � menu$(2)="Green-black" � menu$(3)="Blue-black" � menu$(4)="Red-yellow" � menu$(5)="Red-magenta" � menu$(6)="Green-cyan" � menu$(7)="Yellow-blue" � menu$(8)="Yellow-black" � menu$(9)="White-black" �! menu$(10)="*":�menu(0,90,-1) � Ȏ menu_box% � �* � 1:�double_grad_back(255,1,1,-1,0,0) �* � 2:�double_grad_back(1,255,1,0,-1,0) �* � 3:�double_grad_back(1,1,255,0,0,-1) �) � 4:�double_grad_back(255,1,1,0,1,0) �) � 5:�double_grad_back(255,1,1,0,0,1) �) � 6:�double_grad_back(1,255,1,0,0,1) �- � 7:�double_grad_back(255,255,1,-1,-1,1) �- � 8:�double_grad_back(255,255,1,-1,-1,0) �0 � 9:�double_grad_back(255,255,255,-1,-1,-1) � � � � � � � �single_grad_options � menu$(0)="Single grads " � menu$(1)="Black-white" � menu$(2)="Black-yellow" � menu$(3)="Black-cyan" � menu$(4)="Black-green" � menu$(5)="Black-magenta" � menu$(6)="Black-red" � menu$(7)="Black-blue" � menu$(8)="*":�menu(0,90,-1) � Ȏ menu_box% � �' � 1:�single_grad_back(0,0,0,1,1,1) �' � 2:�single_grad_back(0,0,0,1,1,0) �' � 3:�single_grad_back(0,0,0,0,1,1) �' � 4:�single_grad_back(0,0,0,0,1,0) �' � 5:�single_grad_back(0,0,0,1,0,1) �' � 6:�single_grad_back(0,0,0,1,0,0) �' � 7:�single_grad_back(0,0,0,0,0,1) � � � � � � � �plain_background �9 �rgb_sliders(0):� red%,grn%,blu%:ȓ Ȑ 0,0,1279,1024 �! � �(merge%) � �upload_memory � � � � � �border_menu �' � menu_box%=6 � bh%=1022 � bh%=958 � � �& menu$(0)=" Border options " � menu$(1)=" White gradated" �! menu$(2)=" Yellow gradated" � menu$(3)=" Cyan gradated" � menu$(4)=" Green gradated" �" menu$(5)=" Magenta gradated" � menu$(6)=" Red gradated" � menu$(7)=" Blue gradated" �! menu$(8)=" Colour selector" �! menu$(9)=" ---------------" �) � border_width%=1 � m$=�128 � m$=" " �" menu$(10)=m$+" Narrow border" �) � border_width%=2 � m$=�128 � m$=" " �" menu$(11)=m$+" Medium border" �) � border_width%=3 � m$=�128 � m$=" " � menu$(12)=m$+" Wide border" �( � border_grad%=1 � m$=�128 � m$=" " �% menu$(13)=m$+" Gradate to white" �( � border_grad%=2 � m$=�128 � m$=" " �& menu$(14)=m$+" Gradate to yellow" �( � border_grad%=3 � m$=�128 � m$=" " �$ menu$(15)=m$+" Gradate to cyan" �( � border_grad%=4 � m$=�128 � m$=" " �% menu$(16)=m$+" Gradate to green" �( � border_grad%=5 � m$=�128 � m$=" " �' menu$(17)=m$+" Gradate to magenta" �( � border_grad%=6 � m$=�128 � m$=" " �# menu$(18)=m$+" Gradate to red" �( � border_grad%=7 � m$=�128 � m$=" " �$ menu$(19)=m$+" Gradate to blue" �( � border_grad%=8 � m$=�128 � m$=" " �% menu$(20)=m$+" Gradate to black" �! menu$(21)="*":�menu(0,90,-1) � Ȏ menu_box% � � � 10:border_width%=1 � � 11:border_width%=2 � � 12:border_width%=3 � � 13:border_grad%=1 � � 14:border_grad%=2 � � 15:border_grad%=3 � 16:border_grad%=4 � 17:border_grad%=5 � 18:border_grad%=6 � 19:border_grad%=7 � 20:border_grad%=8 � ! � menu_box%<9 � menu_box%=99 Ȏ menu_box% � � 1:r%=255:g%=255:b%=255 � 2:r%=255:g%=255:b%=0 � 3:r%=0:g%=255:b%=255 � 4:r%=0:g%=255:b%=0 � 5:r%=255:g%=0:b%=255 � 6:r%=255:g%=0:b%=0 � 7:r%=0:g%=0:b%=255 0 � 8:�rgb_sliders(0):r%=red%:g%=grn%:b%=blu% � ( � menu_box%<>99 � �border(r%,g%,b%) � � �mode_menu # �3,63 Ȝ192:ȓ Ȑ 388,4,116,50 � " menu$(0)="SSTV mode select " menu$(2)="Martin 1" menu$(3)="Martin 2" menu$(4)="Scottie 1" menu$(5)="Scottie 2" menu$(6)="Scottie DX" menu$(7)="SC2 180 seconds" menu$(8)="WR180 - JVFAX" menu$(9)="PD 50 (320x256)" ! menu$(10)="PD 90 (320x256)" !! menu$(11)="PD 120 (640x496)" "! menu$(12)="PD 160 (512x384)" #! menu$(13)="PD 180 (640x496)" $! menu$(14)="PD 240 (640x496)" %% menu$(15)="P3 (Pasokon 640x496)" &% menu$(16)="P5 (Pasokon 640x496)" '' menu$(17)="P7 (Pasokon 640x496) " ( menu$(18)="HQ-1 (RX only)" ) menu$(19)="HQ-2 (RX only)" *) menu$(20)="Select Martin 1 timings>" + menu$(21)="Mono FAX modes>" ," menu$(22)="Colour FAX modes>" -& menu$(23)="PD auto-tune control>" ." menu$(24)="*":�menu(282,90,0) / Ȏ menu_box% � 0 � 2:mode%=1 1 � 3:mode%=2 2 � 4:mode%=5 3 � 5:mode%=6 4 � 6:mode%=9 5 � 7:mode%=11 6 � 8:mode%=12 7 � 9:mode%=65 8 � 10:mode%=63 9 � 11:mode%=64 : � 12:mode%=62 ; � 13:mode%=60 < � 14:mode%=61 = � 15:mode%=20 > � 16:mode%=21 ? � 17:mode%=22 @ � 18:mode%=70 A � 19:mode%=71 B! � 20:�select_martin1_timings C � 21:�fax_mode_menu D � 22:�colour_fax_menu E � 23:�pd_auto_tune_control F � G � menu_box%<>99 H �dismini I � J K � �select_martin1_timings L � M) menu$(0)=" Select Martin 1 timings" N+ � sstv_time%=1 � m$=�128+" " � m$=" " O% menu$(1)=m$+"Robot or Superscan" P+ � sstv_time%=2 � m$=�128+" " � m$=" " Q- menu$(2)=m$+"WinPix Pro or GSH (DL4SAW)" R+ � sstv_time%=3 � m$=�128+" " � m$=" " S menu$(3)=m$+"JVFAX" T menu$(4)="*":�menu(0,90,-1) U Ȏ menu_box% � V � 1:sstv_time%=1:mode%=1 W � 2:sstv_time%=2:mode%=1 X � 3:sstv_time%=3:mode%=1 Y � Z � menu_box%=99 [ � \ ] � �pd_auto_tune_control ^ � _& menu$(0)=" PD auto-tune control" `/ � pd_auto_lines%=8 � m$=�128+" " � m$=" " a" menu$(1)=m$+"Average 8 lines" b/ � pd_auto_lines%=4 � m$=�128+" " � m$=" " c" menu$(2)=m$+"Average 4 lines" d/ � pd_auto_lines%=0 � m$=�128+" " � m$=" " e) menu$(3)=m$+"Auto-tune off (FM use)" f menu$(4)="*":�menu(0,90,-1) g Ȏ menu_box% � h � 1:pd_auto_lines%=8 i � 2:pd_auto_lines%=4 j � 3:pd_auto_lines%=0 k � l � menu_box%=99 m � n o � �fax_mode_menu p � q menu$(0)=" Mono FAX " r menu$(1)=" 60 LPM" s menu$(2)=" 90 LPM" t menu$(3)=" 120 LPM" u menu$(4)=" 180 LPM" v menu$(5)=" 240 LPM" w menu$(6)=" 360 LPM" x menu$(7)=" 480 LPM" y- � fax_average%=1 � m$=�128+" " � m$=" " z" menu$(8)=m$+"Show every line" {- � fax_average%=2 � m$=�128+" " � m$=" " |# menu$(9)=m$+"Average 2 lines " }- � fax_average%=3 � m$=�128+" " � m$=" " ~# menu$(10)=m$+"Average 3 lines" ! menu$(11)="*":�menu(0,90,-1) � Ȏ menu_box% � �& � 8:fax_average%=1:menu_redraw%=� �& � 9:fax_average%=2:menu_redraw%=� �' � 10:fax_average%=3:menu_redraw%=� � � �! � menu_box%<8 � menu_box%=99 �) � menu_box%<>99 � mode%=menu_box%+99 � � � � � �colour_fax_menu � menu$(0)="Colour FAX " � menu$(1)=" 60 LPM" � menu$(2)=" 90 LPM" � menu$(3)="120 LPM" � menu$(4)="180 LPM" � menu$(5)="240 LPM" � menu$(6)="360 LPM" � menu$(7)="480 LPM" � menu$(8)="*":�menu(0,90,-1) �* � menu_box%<>99 � mode%=menu_box%+119 � � � � � �wait_no_button �$ � x%,y%,b%:�:ȗ x%,y%,b%:� b%=0 � � � � � �screen_address � � IB%(),OB%() � � IB% 20,OB% 20 � !IB%=148:IB%!4=150:IB%!8=-1 �% ș "OS_ReadVduVariables",IB%,OB% � =!OB% � � � �mini_pad �. � disp_flag% �display_memory:disp_flag%=0 �$ � 128,180,180:ȓ Ȑ 0,0,1280,60 � �240,240,240:�0,60,1280,60 � � X%=4 � 340 �48 �8 ș sprswi%,256+52,spb%,"button",X%,4,0,0,translate% � � �! �raised_block(522,10,106,38) � �large_buttons(384,2,-1) �+ � X%=768 � 1152 �64:�buttons(X%,2,0):� �" � 23,17,7,6,8;8;0;:�32 Ȝ0:�5 � � �(auto_save%) � �C � mode%<99 �write2("VIS",530,12,4) � �write2("Phase",512,12,4) � � � �write2("AUTO",516,12,4) � � � � 0,0,0 � � mode%<120 � � � 400,36:� mode$(mode%) � � � � 400,44:� �mode$(mode%),6) � � 392,24:� �mode$(mode%),7) � � �6 ș sprswi%,256+52,spb%,"rgb",838,6,0,0,translate% �8 ș sprswi%,256+52,spb%,"brush",902,6,0,0,translate% �8 ș sprswi%,256+52,spb%,"text",1094,6,0,0,translate% �5 ș sprswi%,256+52,spb%,"tp",774,6,0,0,translate% �: ș sprswi%,256+52,spb%,"camera",1030,6,0,0,translate% �9 ș sprswi%,256+52,spb%,"roller",966,6,0,0,translate% �5 ș sprswi%,256+52,spb%,"rx",646,4,0,0,translate% �5 ș sprswi%,256+52,spb%,"tx",710,4,0,0,translate% �9 ș sprswi%,256+52,spb%,"thumb",1158,6,0,0,translate% �9 ș sprswi%,256+52,spb%,"filer",1216,4,8,0,translate% � XM%=(memories%-1)*48+4 � M%=1:� X%=4 � XM% �48 �" �write2(� M%,X%,12,4):M%+=1:� � � 0,64,0:ȓ Ȑ 612,24,10,10 � �4:�:Ȗ:menu_redraw%=� �+ �3,255,255,255:ȓ Ȑ MEM%*48+6,8,38,44 � �128:�23,17,7,6,8;8;0; � � � � � �buttons(X,Y,F) � �63 Ȝ192 �, � X+4,Y+4,X+4,Y+50:� X+4,Y+52,X+56,Y+52 � �0 Ȝ0 �, � X+4,Y+2,X+56,Y+2:� X+56,Y+2,X+56,Y+50 �) �(F) � �42 Ȝ192:ȓ Ȑ X+8,Y+8,44,56 � � � � � �large_buttons(X,Y,F) � �63 Ȝ192 �- � X+4,Y+4,X+4,Y+50:� X+4,Y+52,X+120,Y+52 � �0 Ȝ0 �/ � X+4,Y+2,X+120,Y+2:� X+120,Y+2,X+120,Y+50 �+ �(F) � �255,190,0:ȓ Ȑ X+6,Y+4,112,46 � � � � � �mem_assemble � � mem_code% 64 � � P=0 � 2 �2 � P%=mem_code% � [OPT P � .mem_transfer � MOV R12,#16384 � .mts_loop �0 LDMIA R0!,{R1,R3-R11}:STMIA R2!,{R1,R3-R11} �! SUBS R12,R12,#1:BNE mts_loop � MOV PC,R14 � ]:� � � � � � �display_memory �. A%=memblock%+20:C%=screen%:� mem_transfer � � � � � �upload_memory �. C%=memblock%+20:A%=screen%:� mem_transfer � path$(MEM%+1)="X" � � � � � �scroller � �19,1,24,255,0,255:ȗ X,Y,B �1 mid%=!screen%:� �high_res_mode xy%=2 � xy%=4 � � �* � Y>950 � ȓ Ȑ 0,0,1280,1024 � 0,xy% �* � Y<10 � ȓ Ȑ 0,0,1280,1024 � 0,-xy% �+ � X>1270 � ȓ Ȑ 0,0,1280,1024 � xy%,0 �* � X<10 � ȓ Ȑ 0,0,1280,1024 � -xy%,0 � K%=�(5) � �:ȗ X,Y,B:� B=4 �) � (Y>100 � Y<923) � (X>100 � X<1179) �! �19,1,24,0,0,0:!screen%=mid% � �upload_memory � � � �high_res_mode � result% Ȏ mode% � * � 1,2,5,6,9,11,12,63,70,71:result%=� result%=� � =result% � �setup_modes � +0 � N%=1 � 12:� mode$(N%):� F � " M-1 "," M-2 "," M-3 "," M-4 "," S-1 "," S-2 "," S-3 "," S-4 " ) � " S-DX","SC-120","SC-180","WR-180" ! � N%=100 � 107:� mode$(N%):� 3 � "FAX 60","FAX 90","FAX120","FAX180","FAX240" ! � "FAX360","FAX480","QST480" ! � N%=120 � 126:� mode$(N%):� * mode$(60)="PD-180":mode$(61)="PD-240" ) mode$(62)="PD-160":mode$(63)="PD-90" ) mode$(64)="PD-120":mode$(65)="PD-50" ( mode$(70)=" HQ-1":mode$(71)=" HQ-2" 7 mode$(20)=" P-3":mode$(21)=" P-5":mode$(22)=" P-7" & � "HamCol60 /204","HamCol90 /204" 6 � "HamCol120/204","HamCol180/204","HamCol240/204" & � "HamCol360/204","HamCol480/204" � � �font_list_select � �print_font_list ȗ ȓ 26,0,1204,888 !" D%=400:W%=380:�wait_no_button "- �:ȗ X,Y,B:MX%=(X-32)� D%:MY%=(956-Y)�32 # box%=(MX%+1)+(MY%-2)*3 $ � box%<=N% � box%=78 � %2 � 3,63 Ȝ192:ȓ Ȑ MX%*D%+32,922-MY%*32,W%,32 &/ �:ȗ X,Y,B:MX2%=(X-32)� D%:MY2%=(956-Y)�32 '" � MX2%<>MX% � MY2%<>MY% � B=4 (% ȓ Ȑ MX%*D%+32,922-MY%*32,W%,32 ) � * � B=4 +) � box%<78:ȗ ȓ 0,0,1280,1024:ȑ 0,0 , � - . � �print_font_list / ȑ 0,32 01 �128+32 Ȝ0:�:�255,255,255:ȓ 20,52,1236,892 18 � 422,52,422,896:� 822,52,822,896:� 20,896,1256,896 25 � 255,255,255:� �3,4)"Font list: Last used was " 3( � 255,255,0:� �28,4)�font$,31);" "; 4 � 255,255,255:�"at "; 5! � 255,255,0:�;xp%;" / ";yp%; 6 � 255,255,255:�" points" 7. � 128,255,255:ȓ Ȑ 320,12,600,32:� 0,0,0 8? �5:� 342,36:�"Click on an empty position to abort":�4:�:Ȗ 9& � 255,255,0:�128+32 Ȝ0:X%=3:Y%=7 :0 � J%=0�77:cat$(J%)="":�:N%=0:shown_dir$="-" ; � <2 ș "Font_ListFonts",0,fontlist%,F%,-1 �,,end% = � � end% � >/ cat$(N%)=$fontlist%:� �X%,Y%)�cat$(N%),23) ?, F%+=1:N%+=1:X%+=25:� X%>54 � X%=3:Y%+=2 @ � A � N%=77 � end%=� B< � � end% � � 255,255,255:� �54,57)"[ NEXT FONT PAGE ]" C � D E � �text_sprite_overlay_menu F# �3,63 Ȝ192:ȓ Ȑ 1092,4,52,50 G � H& menu$(0)="Text & sprite overlays" I! menu$(2)="QwikText options>" J menu$(3)="QwikText display" K" menu$(4)="------------------" L# menu$(5)="Select text colour>" M$ menu$(6)="Select text outline>" N# menu$(7)="Select text shadow>" O# menu$(8)="Create text overlay" P# menu$(9)="Grab screen ellipse" Q& menu$(10)="Grab screen rectangle" R# menu$(11)="Text mask options>" S( menu$(12)="Sprite overlay outline>" T# menu$(13)="------------------" UW � text% � menu$(16)="Display '"+�text1$,12)+"'" � menu$(16)="{no text or overlay}" V8 � overlay% � menu$(16)="Display '"+sprite_name$+"'" W � overlay% � X) menu$(14)="Tile '"+sprite_name$+"'" Y* menu$(15)="Save '"+sprite_name$+"'>" Z � [$ menu$(14)="{no sprite loaded}" \$ menu$(15)="{no sprite loaded}" ] � ^" menu$(17)="*":�menu(494,90,0) _ Ȏ menu_box% � ` � 2:�qwiktext_menu a � 3:�qwiktext b � 5:�text_colour_menu c' � 6:�text_outline_menu:menu_box%=6 d � 7:�text_shadow_menu e" � 8:�font_text(0):menu_box%=8 f) � 9:�grab_screen_ellipse:menu_box%=1 g, � 10:�grab_screen_rectangle:menu_box%=1 h � 11:�text_mask_menu i& � 12:�overlay_outline:menu_box%=8 j/ � 14:� overlay% � �tiled_sprite_background k. � 16:� (text% � overlay%) � �display_text l � 15:� overlay% � m2 st2$=save_type$:save_type$="overlay" n, �filer_display:save_type$=st2$ o � p � q@ � menu_box%=1 � menu_box%=3 � (menu_box%>13 � menu_box%<17) r � menu_box%<>15 �dismini s � t u � �qwiktext_menu v � w menu$(0)="QwikText options" x menu$(1)="White text" y menu$(2)="Yellow text" z menu$(3)="Cyan text" { menu$(4)="Green text" | menu$(5)="Magenta text" } menu$(6)="Red text" ~ menu$(7)="Blue text" menu$(8)="Black text" � menu$(9)=" -----------" � menu$(10)="White block" � menu$(11)="Yellow block" � menu$(12)="Cyan block" � menu$(13)="Green block" � menu$(14)="Magenta block" � menu$(15)="Red block" � menu$(16)="Blue block" � menu$(17)="Black block" � menu$(18)="Transparent" � � N%=1 � 8 �+ � N%=qwiktext_colour% m$=�128 � m$=" " �! menu$(N%)=m$+" "+menu$(N%):� � � N%=10 � 18 �* � N%=qwiktext_block% m$=�128 � m$=" " �! menu$(N%)=m$+" "+menu$(N%):� �! menu$(19)="*":�menu(0,90,-1) � Ȏ menu_box% � �1 � 1,2,3,4,5,6,7,8:qwiktext_colour%=menu_box% �; � 10,11,12,13,14,15,16,17,18:qwiktext_block%=menu_box% � � � � menu_box%=99 � � � � � �overlay_outline �' menu$(0)="Overlay outline " � menu$(1)="White outline" � menu$(2)="Yellow outline" � menu$(3)="Cyan outline" � menu$(4)="Green outline" � menu$(5)="Magenta outline" � menu$(6)="Red outline" � menu$(7)="Blue outline" � menu$(8)="Black outline" � menu$(9)="Colour selector" �% menu$(10)="Soft multiple shadow" �& menu$(11)="Single shadow - close" �% menu$(12)="Single shadow - wide" �% menu$(13)="No outline or shadow" �! menu$(14)="*":�menu(0,90,-1) � overlay_outline%=� � Ȏ menu_box% � � � 1:OOC%=&7FFF � � 2:OOC%=&03FF � � 3:OOC%=&7FE0 � � 4:OOC%=&03E0 � � 5:OOC%=&7C1F � � 6:OOC%=&001F � � 7:OOC%=&7C00 � � 8:OOC%=&0000 �" � 9:�rgb_sliders(0):OOC%=RGB% � � 10:OOC%=1 � � 11:OOC%=2 � � 12:OOC%=3 � � 13:overlay_outline%=0 � � � � � � � �text_shadow_menu �& menu$(0)="Text shadow " �! menu$(1)="Solid drop shadow" � menu$(2)="Gradated shadow" �$ menu$(3)="Soft multiple shadow" �% menu$(4)="Single shadow - close" �$ menu$(5)="Single shadow - wide" �! menu$(6)="Grey block shadow" �# menu$(7)="Yellow block shadow" �! menu$(8)="Cyan block shadow" �" menu$(9)="Green block shadow" �% menu$(10)="Magenta block shadow" �! menu$(11)="Red block shadow" �" menu$(12)="Blue block shadow" �$ menu$(13)="Solid letter effect" � menu$(14)="No shadow" �! menu$(15)="*":�menu(0,90,-1) � Ȏ menu_box% � �# � 1,2:�rgb_sliders(0):SC%=RGB% �7 � 3:real_shadow1%=1:shadow%=0:text_block_shadow%=0 �7 � 4:real_shadow1%=2:shadow%=0:text_block_shadow%=0 �7 � 5:real_shadow1%=3:shadow%=0:text_block_shadow%=0 �E � 6:!shadow_flag=0:!clear_mask=%01000010000100000100001000010000 �E � 7:!shadow_flag=1:!clear_mask=%01111100000000000111110000000000 �E � 8:!shadow_flag=1:!clear_mask=%00000000000111110000000000011111 �E � 9:!shadow_flag=1:!clear_mask=%01111100000111110111110000011111 �F � 10:!shadow_flag=1:!clear_mask=%00000011111000000000001111100000 �F � 11:!shadow_flag=1:!clear_mask=%01111111111000000111111111100000 �F � 12:!shadow_flag=1:!clear_mask=%00000011111111110000001111111111 �> � 13:SC%=0:text_block_shadow%=0:shadow%=0:real_shadow1%=0 �> � 14:SC%=0:text_block_shadow%=0:shadow%=0:real_shadow1%=0 � � �C � menu_box%<3 � shadow%=�:text_block_shadow%=0:real_shadow1%=0 �c � menu_box%>5 � menu_box%<13 � text_block_shadow%=�:outline_width%=0:shadow%=0:real_shadow1%=0 �& � menu_box%=2 � grad%=� � grad%=0 �) � menu_box%=13 � solid%=� � solid%=0 � menu_box%=99 � � � � � �text_colour_menu �& menu$(0)="Text colour " � menu$(1)="Plain WHITE text" �! menu$(2)="Plain YELLOW text" � menu$(3)="Plain CYAN text" � menu$(4)="Plain GREEN text" �" menu$(5)="Plain MAGENTA text" � menu$(6)="Plain RED text" � menu$(7)="Plain BLUE text" � menu$(8)="Plain BLACK text" �" menu$(9)="Grad YELLOW to RED" �% menu$(10)="Grad YELLOW to GREEN" �# menu$(11)="Grad CYAN to GREEN" �" menu$(12)="Grad CYAN to BLUE" �$ menu$(13)="Grad MAGENTA to RED" �% menu$(14)="Grad MAGENTA to BLUE" �& menu$(15)="Grad WHITE to MAGENTA" �" menu$(16)="Grad WHITE to RED" �# menu$(17)="Grad WHITE to BLUE" �" menu$(18)="Grad RED to WHITE" �$ menu$(19)="Grad GREEN to WHITE" �# menu$(20)="Grad BLUE to WHITE" � menu$(21)="Colour selector" �! menu$(22)="*":�menu(0,90,-1) � Ȏ menu_box% � � � 1:TC%=&7FFF:TD%=0:TL%=0 � � 2:TC%=&03FF:TD%=0:TL%=0 � � 3:TC%=&7FE0:TD%=0:TL%=0 � � 4:TC%=&03E0:TD%=0:TL%=0 � � 5:TC%=&7C1F:TD%=0:TL%=0 � � 6:TC%=&001F:TD%=0:TL%=0 � 7:TC%=&7C00:TD%=0:TL%=0 � 8:TC%=&0000:TD%=0:TL%=0 � 9:TC%=&03FF:TD%=32:TL%=31 ! � 10:TC%=&03FF:TD%=1:TL%=992 $ � 11:TC%=&7FE0:TD%=1024:TL%=992 $ � 12:TC%=&7FE0:TD%=32:TL%=31744 # � 13:TC%=&7C1F:TD%=1024:TL%=31 # � 14:TC%=&7C1F:TD%=1:TL%=31744 $ � 15:TC%=&7FFF:TD%=32:TL%=31775 # � 16:TC%=&7FFF:TD%=1056:TL%=31 $ � 17:TC%=&7FFF:TD%=33:TL%=31744 A � 18:TC%=31:TD%=1056:TL%=&7FFF:� First incremented gradation & � 19:TC%=&03E0:TD%=&401:TL%=&7FFF $ � 20:TC%=&7C00:TD%=33:TL%=&7FFF . � 21:�rgb_sliders(0):TC%=RGB%:TD%=0:TL%=0 � 3 � menu_box%<18 � menu_box%=21 � menu_box%=99 � col_idec%=0 � col_idec%=1 � menu_box%=99 � � �text_outline_menu � " menu$(0)=" Text outline " C � text_out_col%=&7FFF � outline_width%>0 m$=�128+" " � m$=" " menu$(1)=m$+"White outline" C � text_out_col%=&03FF � outline_width%>0 m$=�128+" " � m$=" " ! menu$(2)=m$+"Yellow outline" C � text_out_col%=&7FE0 � outline_width%>0 m$=�128+" " � m$=" " menu$(3)=m$+"Cyan outline" !C � text_out_col%=&03E0 � outline_width%>0 m$=�128+" " � m$=" " " menu$(4)=m$+"Green outline" #C � text_out_col%=&7C1F � outline_width%>0 m$=�128+" " � m$=" " $" menu$(5)=m$+"Magenta outline" %C � text_out_col%=&001F � outline_width%>0 m$=�128+" " � m$=" " & menu$(6)=m$+"Red outline" 'C � text_out_col%=&7C00 � outline_width%>0 m$=�128+" " � m$=" " ( menu$(7)=m$+"Blue outline" )C � text_out_col%=&0000 � outline_width%>0 m$=�128+" " � m$=" " * menu$(8)=m$+"Black outline" +! menu$(9)=" Colour selector" ,# menu$(10)=" ----------------" -- � outline_width%=1 m$=�128+" " � m$=" " ." menu$(11)=m$+"Narrow outline" /- � outline_width%=2 m$=�128+" " � m$=" " 0 menu$(12)=m$+"Wide outline" 1- � outline_width%=3 m$=�128+" " � m$=" " 2" menu$(13)=m$+"Relief outline" 3- � outline_width%=0 m$=�128+" " � m$=" " 4 menu$(14)=m$+"No outline" 5! menu$(15)="*":�menu(0,90,-1) 6 Ȏ menu_box% � 7 � 1:text_out_col%=&7FFF 8 � 2:text_out_col%=&03FF 9 � 3:text_out_col%=&7FE0 : � 4:text_out_col%=&03E0 ; � 5:text_out_col%=&7C1F < � 6:text_out_col%=&001F = � 7:text_out_col%=&7C00 > � 8:text_out_col%=&0000 ?+ � 9:�rgb_sliders(0):text_out_col%=RGB% @ � 11:outline_width%=1 A � 12:outline_width%=2 B � 13:outline_width%=3 C � 14:outline_width%=0 D � E! � menu_box%=9 � menu_box%=99 F � G H � �font_text(mask_flag%) I F%=0 J+ �:�font_list_select:� box%<78 � end%=� K font$=cat$(box%-1) L � font$<>"" � M/ �:�255,255,255:� 0,400,1280,400:overlay%=0 N8 �:�255,255,0:� �1,40)"Font chosen is : "font$ O7 �255,255,255:� �''" Enter caption line 1 : "text1$ P/ � text1$="" � text1$=call$:� �24,43)text1$ Q) � �'" Enter caption line 2 : "text2$ R% �''" Enter X point size : "xp% S3 � xp%<10 � xp%>200 � xp%=64:� �24,48);xp%;" " T% �''" Enter Y point size : "yp% U4 � yp%<10 � yp%>400 � yp%=xp%:� �24,51);yp%;" " V � � mask_flag% � W% �''" Horiz or Vert (H/V) : "hv$ X! �:�:Ȗ:transform%=�:hv2$=hv$ Y � hv$="V" � hv$="v" � Z3 �vertical_write(font$,text1$,16,840,xp%,yp%,1) [ hv$="V":transform%=0 \ � ] �plot_text ^ � _ �:Ȗ `. �grab_text:� transform% � �transform_text a �dismini b � c �:�:Ȗ d3 � font$="" � � mask_flag% � �dismini � text%=� e � f g � �plot_text h � text2$="" � i* �write(font$,text1$,16,556,xp%,yp%,1) j � k) � font%<>-1 ș "Font_LoseFont",font% l4 ș "Font_FindFont",,font$,xp%*16,yp%*16 � font% m1 ș "Font_CharBBox",font%,�"A",16 �,,,r3%,r4% n* �write(font$,text1$,16,650,xp%,yp%,1) o1 �write(font$,text2$,16,650-r4%-32,xp%,yp%,1) p Ymax%=r4%+24:hv$="V" q � r � s t � �transform_text uI mul=65536:a=1:b=0:c=0:d=1:e=0:f=0:try%=0:xp_start%=xp%:yp_start%=yp% v) ȑ 0,0:� 0,0,136:ȓ Ȑ 0,0,1280,1024 w � x0 � try% ȑ 0,0:� 0,0,136:ȓ Ȑ 0,0,1280,1024 y �plot_text:�grab_text z# Y1%=1040-((S%-screen%)/1280)*2 {# Y2%=1000-((E%-screen%)/1280)*2 |1 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 }1 ș sprswi%,256+16,spr%,"t",0,0,Y2%,W%+12,Y1% ~+ �:ȑ 0,0:� 0,0,136:ȓ Ȑ 0,0,1280,1024 % � 200,200,200:ȓ Ȑ 0,0,1280,370 �" �raised_block(784,16,448,342) �' � 255,180,100:ȓ Ȑ 784,320,444,38 �: ș sprswi%,256+52,spb%,"sh_l",1020,260,8,0,translate% �: ș sprswi%,256+52,spb%,"sh_r",1130,260,8,0,translate% �: ș sprswi%,256+52,spb%,"sh_u",1020,200,8,0,translate% �: ș sprswi%,256+52,spb%,"sh_d",1130,200,8,0,translate% �9 ș sprswi%,256+52,spb%,"up2",1084,156,8,0,translate% �: ș sprswi%,256+52,spb%,"left",1040,120,8,0,translate% �; ș sprswi%,256+52,spb%,"right",1130,120,8,0,translate% �9 ș sprswi%,256+52,spb%,"down",1084,82,8,0,translate% �9 ș sprswi%,256+52,spb%,"left",810,220,8,0,translate% �: ș sprswi%,256+52,spb%,"right",930,220,8,0,translate% �9 ș sprswi%,256+52,spb%,"left",810,100,8,0,translate% �: ș sprswi%,256+52,spb%,"right",930,100,8,0,translate% � �show_point_sizes �# �write2("x/y point",812,272,4) �! �write2("y point",828,152,4) �! �raised_block(808,32,120,32) �! �raised_block(948,32,120,32) �" �raised_block(1088,32,120,32) � �write2("UNDO",822,32,4) � �write2("TRY",970,32,4) � �write2("OK",1116,32,4) �4 �write2(" Re-size Transform",800,324,4) �D �write2("Do not allow transformation process to move",50,324,4) �5 �write2("caption into this grey area.",50,284,4) �= �write2("Click adjust on the 'compass points'",50,220,4) �= �write2("to re-position caption if necessary.",50,180,4) �> �write2("Click OK or press <return> to finish.",50,120,4) � � � 0,0,0:� 988,86,988,294 �# � 255,255,255:� 992,86,992,294 � ȗ ȓ 784,16,448,338 �% ȑ 0,500:quit%=0:reset%=0:try%=0 � � � tran%!0=a*mul:tran%!4=b*mul �! tran%!8=c*mul:tran%!12=d*mul �" tran%!16=e*mul:tran%!20=f*mul �1 ș sprswi%,256+56,spr%,"t",%00,,8,tran%:�:Ȗ �$ �:ȗ X,Y,B:K=�(5):� B<>0 � K=13 � point_button$="" � � � B=4 � B=1 � � �4 � �(X-830)<28 � �(Y--260)<28 point_button$="xm" �4 � �(X-942)<28 � �(Y--260)<28 point_button$="xp" �4 � �(X-830)<28 � �(Y--380)<28 point_button$="ym" �4 � �(X-942)<28 � �(Y--380)<28 point_button$="yp" � �, � �(X-868)<60 � �(Y--450)<24 � reset%=� �+ � �(X-1008)<60 � �(Y--450)<24 � try%=� �, � �(X-1148)<60 � �(Y--450)<24 � quit%=� �, � �(X-1044)<28 � �(Y--218)<28 � c-=0.01 �, � �(X-1044)<28 � �(Y--278)<28 � b+=0.01 �, � �(X-1156)<28 � �(Y--218)<28 � c+=0.01 �, � �(X-1156)<28 � �(Y--278)<28 � b-=0.01 � � � �# � point_button$<>"" � reset% � � Ȏ point_button$ � �" � "xm":� xp%>10 xp%-=2:yp%-=2 �# � "xp":� xp%<200 xp%+=2:yp%+=2 � � "ym":� yp%>10 yp%-=2 � � "yp":� yp%<200 yp%+=2 � � �) � reset% xp%=xp_start%:yp%=yp_start% � ȑ 0,0 �" � 32 Ȝ0:ȓ Ȑ 0,372,1280,660 � �plot_text:�grab_text �# Y1%=1040-((S%-screen%)/1280)*2 �# Y2%=1000-((E%-screen%)/1280)*2 �1 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 �1 ș sprswi%,256+16,spr%,"t",0,0,Y2%,W%+12,Y1% � ȓ Ȑ 0,372,1280,660 � �show_point_sizes � ȑ 0,500 � � � �$ � �(X-1100)<20 � �(Y--330)<20 � � � B=1 � f+=0.02 � d+=0.02 � � �$ � �(X-1100)<20 � �(Y--394)<20 � � � B=1 � f-=0.02 � d-=0.02 � � �$ � �(X-1056)<20 � �(Y--362)<20 � � � B=1 � e-=0.02 � a-=0.02 � � �$ � �(X-1140)<20 � �(Y--362)<20 � � � B=1 � e+=0.02 � a+=0.02 � � � � � K=13 � quit%=� � K=�(1):Ȗ �H � reset% � �wait_no_button:mul=65536:a=1:b=0:c=0:d=1:e=0:f=0:try%=0 � � quit% � reset% � try% � � quit% � try% �$ � b<0 � shad$="BL" � shad$="BR" � ȑ 0,0 � �grab_text � � try% � �display_text � � B=4 � try%=0:menu_box%=1 � � � try% � ȑ 0,0:ȗ ȓ 0,0,1280,1024 � � � � � �show_point_sizes � � 255,255,255 �+ ȓ Ȑ 856,218,68,40:ȓ Ȑ 856,98,68,40 � xp$=� xp%:yp$=� yp% � � � xp$<3 xp$=" "+xp$ � � � yp$<3 yp$=" "+yp$ �2 �write2(xp$,854,222,0):�write2(yp$,854,102,0) � � � � � �greyscale32 �& g%=0:� X%=0 � 1240 �40:� g%,g%,g% � ȓ Ȑ X%,0,40,1024:g%+=8:� � �upmini � � � � � �topscale(s%) � � s%<>2 � �display_memory � � s%=1 � Y%=0 � Y%=960 �- ȑ 0,0:g%=0:� X%=0 � 1200 �80:� g%,g%,g% �! ȓ Ȑ X%,Y%,80,1024:g%+=16:� � � s%<>2 � �upmini � � � � �topscale2(s%) � s%<>2 � �display_memory # � 48,48,184:ȓ Ȑ 0,988,200,44 � s%<>1 � % � 255,255,255:ȓ Ȑ 0,960,200,26 � 255,0,0:ȓ Ȑ 8,964,60,18 ! � 0,255,0:ȓ Ȑ 68,964,62,18 " � 0,0,255:ȓ Ȑ 128,964,62,18 � � s%=1 � Y%=988 � Y%=960 2 ȑ 0,0:g%=0:� X=200 � 1212.5 �67.5:� g%,g%,g% ȓ Ȑ X,Y%,68,64:g%+=16:� � s%<>2 � �upmini � � �tools " �3,63 Ȝ192:ȓ Ȑ 900,4,52,50 � % menu$(0)=" Tools and utilities" menu$(2)=" Repair QRM" menu$(3)=" Flood fill" menu$(4)=" Paintbrush" # menu$(5)=" Paint with sprite" menu$(6)=" Cloning brush" % menu$(7)=" Grad border - full>" $ menu$(8)=" Grad border - 480>" % menu$(9)=" Pipe border - full>" % menu$(10)=" Pipe border - 480>" ! menu$(11)=" TX test tones>" ) � auto_save% � m$=�128+" " � m$=" " " menu$(12)=m$+"Auto save mode" " � X4% � m$=�128+" " � m$=" " # menu$(13)=m$+"TX tone X4 mode" !& � bypass% � m$=�128+" " � m$=" " "% menu$(14)=m$+"Bypass save check" #! menu$(15)=" On-line manual" $ menu$(16)=" Repeater mode" %) � beacon_on% � m$=�128+" " � m$=" " &# menu$(17)=m$+"Repeater beacon" '& � call$="G3SID" � call$="G0WYR" � (/ � call$="G3SID" � c$="G0WYR" � c$="G3SID" )( menu$(18)=" Set callsign to "+c$ * menu$(19)="*" + � , menu$(18)="*" - � . �menu(494,90,0) / Ȏ menu_box% � 0 � 1:�dismini 1 � 2:�repairQRM 2 � 3:�flood_fill 3 � 4:�paintbrush 4 � 5:�paint_with_sprite 5 � 6:�cloning_brush(16) 6 � 7,8:�border_menu 7( � 9,10:�pipe_border_menu(menu_box%) 8) � 11:�tx_test_tone_menu:menu_box%=11 91 � 12:auto_save%=�(auto_save%):menu_redraw%=� :4 � 13:X4%=�(X4%):�tx_params_setup:menu_redraw%=� ;+ � 14:bypass%=�(bypass%):menu_redraw%=� < � 15:�on_line_manual = � 16:�repeater_control >1 � 17:beacon_on%=�(beacon_on%):menu_redraw%=� ?9 � 18:� call$="G3SID" � call$="G0WYR" � call$="G3SID" @ � call$="G0WYR" � AG �("LOAD <Pscan$Dir>.Resources.G0WYR.PscanTX "+�~tx_code%) B � CA �("LOAD <Pscan$Dir>.Resources.PscanTX "+�~tx_code%) D � E �dismini F � GD � (menu_box%<11 � menu_box%>14) � menu_box%<>17 � menu_box%<>99 H � I J � �tx_test_tone_menu K � L menu$(0)="TX test tones" M7 N=1:� F=1000 � 1700 �100:menu$(N)=� F+" Hz":N+=1:� N menu$(9)="1750 Hz" O8 N=10:� F=1800 � 2400 �100:menu$(N)=� F+" Hz":N+=1:� P! menu$(17)="*":�menu(0,90,-1) Q Ȏ menu_box% � R7 � 1,2,3,4,5,6,7,8:�tx_test_tone(900+menu_box%*100) S � 9:�tx_test_tone(1750) TB � 10,11,12,13,14,15,16:�tx_test_tone(1800+(menu_box%-10)*100) U � V � menu_box%=99 W � X Y � �grab_menu Z# �3,63 Ȝ192:ȓ Ȑ 1028,4,52,50 [ � \" menu$(0)=" Grab screen area" ]" menu$(2)=" Grab screen area" ^$ menu$(3)=" Grab entire screen" _+ � plot_border%=1 t$=�128+" " � t$=" " `" menu$(4)=t$+"Plinth options>" a+ � plot_border%=2 t$=�128+" " � t$=" " b" menu$(5)=t$+"Border options>" c) � plot_shadow% t$=�128+" " � t$=" " d" menu$(6)=t$+"Shadow options>" e menu$(7)=" Quad display" f menu$(8)=" Quad border>" g$ menu$(9)=" Plot entire screen" h& menu$(10)=" Plot area - flipped" i% menu$(11)=" Plot area - normal" j" menu$(12)="*":�menu(494,90,0) k Ȏ menu_box% � l � 1:�dismini m � 2:�grab_rectangle(0) n& � 3:�grab_rectangle(-1):entire%=� o5 � 4:�plot_border_menu:menu_box%=4:menu_redraw%=� p7 � 5:�plot_border97_menu:menu_box%=5:menu_redraw%=� q5 � 6:�plot_shadow_menu:menu_box%=6:menu_redraw%=� r � 7:�quad_display s � 8:�quad_border_menu t � u � menu_box%=9 � v4 � entire% � �plot_grabbed_area(1) � menu_box%=4 w � x, � menu_box%=10 � �plot_grabbed_area(-1) y+ � menu_box%=11 � �plot_grabbed_area(0) zA � menu_box%<>4 � menu_box%<>5 � menu_box%<>6 � menu_box%<>99 { � menu_box%=3 � entire%=� | � menu_box%=2 � entire%=0 } � ~ � �plot_shadow_menu �$ menu$(0)="Plot shadow options" �" menu$(1)="Real shadow effect" � menu$(2)="No shadow" � menu$(3)="*":�menu(0,90,-1) �# � menu_box%=1 � plot_shadow%=1 �# � menu_box%=2 � plot_shadow%=0 � � � � � �plot_border97_menu � menu$(0)="Border options " � menu$(1)="White" � menu$(2)="Yellow" � menu$(3)="Cyan" � menu$(4)="Green" � menu$(5)="Magenta" � menu$(6)="Red" � menu$(7)="Blue" � menu$(8)="Purple-red" � menu$(9)="Magenta-green" � menu$(10)="Green-gold" � menu$(11)="Multi-colour 1" � menu$(12)="Multi-colour 2" � menu$(13)="Multi-colour 3" � menu$(14)="Multi-colour 4" � menu$(15)="No border" �! menu$(16)="*":�menu(0,90,-1) � Ȏ menu_box% � �; � 1:pbr%=128:pbg%=128:pbb%=128:pbri%=8:pbgi%=8:pbbi%=8 �9 � 2:pbr%=128:pbg%=128:pbb%=0:pbri%=8:pbgi%=8:pbbi%=0 �9 � 3:pbr%=0:pbg%=128:pbb%=128:pbri%=0:pbgi%=8:pbbi%=8 �7 � 4:pbr%=0:pbg%=128:pbb%=0:pbri%=0:pbgi%=8:pbbi%=0 �9 � 5:pbr%=128:pbg%=0:pbb%=128:pbri%=8:pbgi%=0:pbbi%=8 �7 � 6:pbr%=128:pbg%=0:pbb%=0:pbri%=8:pbgi%=0:pbbi%=0 �7 � 7:pbr%=0:pbg%=0:pbb%=128:pbri%=0:pbgi%=0:pbbi%=8 �8 � 8:pbr%=128:pbg%=0:pbb%=64:pbri%=8:pbgi%=0:pbbi%=8 �9 � 9:pbr%=64:pbg%=128:pbb%=64:pbri%=8:pbgi%=8:pbbi%=8 �: � 10:pbr%=128:pbg%=80:pbb%=32:pbri%=8:pbgi%=8:pbbi%=0 �9 � 11:pbr%=64:pbg%=32:pbb%=64:pbri%=4:pbgi%=4:pbbi%=8 �: � 12:pbr%=0:pbg%=128:pbb%=64:pbri%=4:pbgi%=8:pbbi%=12 �< � 13:pbr%=128:pbg%=128:pbb%=64:pbri%=4:pbgi%=8:pbbi%=12 �; � 14:pbr%=128:pbg%=128:pbb%=64:pbri%=4:pbgi%=8:pbbi%=8 � � 15:plot_border%=0 � � �2 � menu_box%>0 � menu_box%<15 � plot_border%=2 � � � � � �plot_border_menu � menu$(0)="Plinth options " � menu$(1)="White" � menu$(2)="Yellow" � menu$(3)="Cyan" � menu$(4)="Green" � menu$(5)="Magenta" � menu$(6)="Red" � menu$(7)="Blue" � menu$(8)="Black" � menu$(9)="Colour selector" � menu$(10)="No plinth" �! menu$(11)="*":�menu(0,90,-1) � Ȏ menu_box% � �# � 1:pbr%=255:pbg%=255:pbb%=255 �! � 2:pbr%=255:pbg%=255:pbb%=0 �! � 3:pbr%=0:pbg%=255:pbb%=255 � � 4:pbr%=0:pbg%=255:pbb%=0 �! � 5:pbr%=255:pbg%=0:pbb%=255 � � 6:pbr%=255:pbg%=0:pbb%=0 � � 7:pbr%=0:pbg%=0:pbb%=255 � � 8:pbr%=0:pbg%=0:pbb%=0 �6 � 9:�rgb_sliders(0):pbr%=red%:pbg%=grn%:pbb%=blu% � � 10:plot_border%=0 � � �2 � menu_box%>0 � menu_box%<10 � plot_border%=1 � � � � � �paintbrush �$ �display_memory:�wait_no_button � � � �:ȗ X,Y,B:� B<>0 � � Y>8 � �3 � B=4 � � red%,grn%,blu%:ȏ Ȑ X,Y,brush_size% �< � B=2 � �upload_memory:�rgb_sliders(-1):�display_memory � � B=1 � � RGB%=�X,Y):red%=(RGB%�31)*8 �1 grn%=((RGB%>>5)�31)*8:blu%=((RGB%>>10)�31)*8 � � � � � � Y<9 � �upmini:�wait_no_button � � � � � �test_patterns �" �3,63 Ȝ192:ȓ Ȑ 772,4,52,50 � � � menu$(0)=" Test patterns" �# menu$(2)=" 32 step greyscale" �# menu$(3)=" 16 step greyscale" � menu$(4)=" Test Card" � menu$(5)=" Colour Bars" �( menu$(6)=" TOP greyscale - type 1" �) menu$(7)=" TOP greyscale - type 2 " �' menu$(8)=" TOP greyscale - short" �) � header_text% m$=�128+" " � m$=" " �% menu$(9)=m$+"Header text on/off" �& menu$(10)=" Hamcolor FAX header" �( menu$(11)=" Monochrome FAX header" � menu$(12)=" Chequer board" � menu$(13)=" Star field" �! menu$(14)=" Opening screen" �' menu$(15)=" Repeater beacon page" �" menu$(16)="*":�menu(494,90,0) � Ȏ menu_box% � � � 1:�dismini � � 2:�greyscale32 � � 3:�topscale(1) � � 4:�test_card � � 5:�colour_bars � � 6:�topscale(0) � � 7:�topscale2(0) � � 8:�topscale2(1) �4 � 9:header_text%=�(header_text%):menu_redraw%=� � � 10:�fax_header(0) � � 11:�fax_header(-1) � � 12:�chequer � � 13:�star_field:�upmini � � 14:�splash2:�upmini � � 15:�repeater_beacon_text � � � � menu_box%<>9 � � �colour_bars � +0 " � X%=0 � 1120 �160:� r%,g%,b% % � r%,g%,b%:ȓ Ȑ X%,0,160,1024:� 8 � 255,255,255,255,255,0,0,255,255,0,255,0,255,0,255 � 255,0,0,0,0,255,0,0,0 �upmini � � �chequer � 0,0,0:ȓ Ȑ 0,0,1280,1024 � 255,255,255 � X%=0 � 1280 �320 ȓ Ȑ X%,0,160,1024:� � 3,255,255,255 � Y%=0 � 1024 �320 ȓ Ȑ 0,Y%,1280,160 # �:�upload_memory:�topscale2(0) � � �upmini �upload_memory:�mini_pad � � �dismini �display_memory:�mini_pad � � �mouse_cross1 * mouse1%?&01=2:mouse1%!&06=mouse1%+&0A ș "OS_Word",&15,mouse1% ! � " � �mouse_cross2 #* mouse2%?&01=2:mouse2%!&06=mouse2%+&0A $ ș "OS_Word",&15,mouse2% % � & � �mouse3 '* mouse3%?&01=2:mouse3%!&06=mouse3%+&0A ( ș "OS_Word",&15,mouse3% )- ȗ � 2:ȗ � 1,0,255,255:ȗ � 3,48,48,184 * � + , � �repairQRM - � �(�high_res_mode) � . H%=2:�mouse_cross2 / � 0 H%=1:�mouse_cross1 1 � 2& ȗ � 2:MC%=255:ȗ � 1,MC%,MC%,MC% 3* ș "OS_Byte",161,194 �,,step%:ȗ � H% 4& �display_memory:�:�wait_no_button 5 �:ȗ X,Y,B:� B<>0 6 � H%=2 � 7 X=(X � 4)*4:Y=(Y � 4)*4 8 � 9 X=(X � 2)*2:Y=(Y � 2)*2 : � ;! �wait_no_button:� 3,63 Ȝ192 <- � B=2 � MC%=MC% � 255:ȗ � 1,MC%,MC%,MC% = � B=4 � > SX%=X:SY%=Y:� SX%,SY%,X,SY% ?! � H%=2 � � SX%,SY%+2,X,SY%+2 @ � A �:ȗ X1,Y,B B � H%=2 � C X1=(X1 � 4)*4:Y=(Y � 4)*4 D � E X1=(X1 � 2)*2:Y=(Y � 2)*2 F � G � X1<>X � B<>0 H% � SX%,SY%,X,SY%:� SX%,SY%,X1,SY% I6 � H%=2 � � SX%,SY%+2,X,SY%+2:� SX%,SY%+2,X1,SY%+2 J X=X1:� B<>0 K � SX%,SY%,X1,SY% L" � H%=2 � � SX%,SY%+2,X1,SY%+2 M � B=4 � X1>SX% � N" � H%=2 � Y<=SY% � Yoffset%=-2 O � H%=2 � Y>SY% � Yoffset%=5 P" � H%=1 � Y<=SY% � Yoffset%=-1 Q � H%=1 � Y>SY% � Yoffset%=2 R, � SX%,SY%+Yoffset%:� BY X1-SX%,Yoffset% S �&BF,SX%,SY% T � U � V � B=1:�upmini W' ȗ � 1:ȗ � 1,0,255,255:ȗ � step% X � Y Z � �display_text [A �display_memory:�wait_no_button:!colour_inc_or_dec=col_idec% \ � overlay% � ] �plot_overlay_sprite ^ � _. !colour_store=0:ȗ ȓ -300,-300,1600,1400 `I � hv$="V"�hv$="v"� !vertical_start=(Ymax%+4)/2 � !vertical_start=500 a b � c ȗ X,Y,B d0 a%=(960-Y)�2*1280+X-20:a%=(a%�4)*4+screen% e) !colour_store=TC%:!colour_limit=TL% f, !colour_decrement=TD%:!colour_height=2 g! !opstart=a%:� output_sprite h � i ȗ x,y,B j � x<>X � y<>Y � B<>0 k �display_memory l � B<>0 m !colour_inc_or_dec=0 n o � B=4 � p q � text_block_shadow% � r5 !shadow_start=a%-7680:!num_lines=text_lines%+12 s( !num_bytes=text_width%+16:� shadow tE sy%=a%-7680-screen%:sy%=1024-(sy%�1280)*2:sx%=(a%-screen%)�1280 u: � 208,208,208:ȓ Ȑ sx%,sy%,text_width%+14,2:� 0,0,0 v= ȓ Ȑ sx%,(sy%-((text_lines%+12)*2))-2,text_width%+14,2 w � 180,180,180 xE ȓ Ȑ sx%-2,(sy%-((text_lines%+12)*2))-2,2,(text_lines%+12)*2+4 y � 32,32,32 zR ȓ Ȑ sx%+text_width%+14,(sy%-((text_lines%+12)*2))-2,2,(text_lines%+12)*2+2 { � | }0 � real_shadow1%=1 � �real_shadow1(10,shad$) ~G � real_shadow1%=2 � real_shadow1%=3 � �real_shadow2(real_shadow1%) & � shadow% � �shadow_text(5,shad$) �, � solid% � �solid_text:outline_width%=0 � �, � outline_width%=1 � outline_width%=2 � �) !colour_decrement=0:!colour_limit=0 �1 w%=2560*outline_width%:w2%=4*outline_width% � � J%=a%-w% � a%+w% �1280 � � N%=J%-w2% � J%+w2% �4 �? !opstart=N%:!colour_store=text_out_col%:� output_sprite � � � � � � � � � outline_width%=3 � �9 � new relief effect - outline on top and left edges �) !colour_decrement=0:!colour_limit=0 �4 !opstart=a%-2560-4:!colour_store=text_out_col% � � output_sprite �4 !opstart=a%-5120-8:!colour_store=text_out_col% � � output_sprite � � � �4 !opstart=a%:!colour_store=TC%:!colour_limit=TL% �7 !colour_decrement=TD%:!colour_inc_or_dec=col_idec% � � � hv$="V"�hv$="v" � �! !vertical_start=(Ymax%+4)/2 � !colour_height=2 � � � !vertical_start=500 �* !colour_height=1+(�(text_lines%/40)) � � � �# � output_sprite:�upload_memory � � � �display_memory � � � � � � ȗ ȓ 0,0,1280,1024 � � � � � �shadow_text(size%,shad$) �" � outline_width%>0 � size%+=2 �; !colour_decrement=0:!colour_limit=0:x%=size%*4:sc%=SC% �' � shad$="BL" � shad$="TL" � x%=-x% �% � J%=a%+(size%*2560) � a% �-2560 �; N%=J%+x%:!opstart=N%:!colour_store=sc%:� output_sprite � � grad% � �- r%=sc%�31:g%=(sc%>>5)�31:b%=(sc%>>10)�31 � � r%>1 � r%-=2 � � g%>1 � g%-=2 � � b%>1 � b%-=2 � sc%=(b%<<10)+(g%<<5)+r% � � �. � shad$="BL" � shad$="TL" � x%+=4 � x%-=4 � � � � � � � �solid_text �7 !colour_decrement=0:!colour_limit=0:x%=-24:sc%=TC% �0 str=sc%�31:stg=(sc%>>5)�31:stb=(sc%>>10)�31 � stri=(str-str/3)/8 � stgi=(stg-stg/3)/8 � stbi=(stb-stb/3)/8 �" str=str/3:stg=stg/3:stb=stb/3 �! � J%=a%-(6*2560) � a% � 2560 � sc%=(stb<<10)+(stg<<5)+str �; N%=J%+x%:!opstart=N%:!colour_store=sc%:� output_sprite �+ str=str+stri:stg=stg+stgi:stb=stb+stbi � x%+=4 � � � � � �! � �real_shadow1(size%,shad$) � � N%=0 � 31 �3 grndata?N%=N%-2:� grndata?N%>31 � grndata?N%=0 � � �; !colour_decrement=0:!colour_limit=0:x%=size%*4:sc%=SC% �2 !shadow_table_address=grndata:!colour_store=1 �' � shad$="BL" � shad$="TL" � x%=-x% �, � J%=a%+(size%*2560) � a%-2560*0 �-2560 �) N%=J%+x%:!opstart=N%:� output_sprite �. � shad$="BL" � shad$="TL" � x%+=4 � x%-=4 � � �? � N%=0 � 31:grndata?N%=N%-4:� grndata?N%>31 � grndata?N%=0 � � �+ N%=a%-2564:!opstart=N%:� output_sprite �+ N%=a%-5128:!opstart=N%:� output_sprite �+ N%=a%-2560:!opstart=N%:� output_sprite �+ N%=a%-5120:!opstart=N%:� output_sprite �+ N%=a%-2556:!opstart=N%:� output_sprite �+ N%=a%-5116:!opstart=N%:� output_sprite � � � � � �real_shadow2(s%) �" � N%=0 � 31:grndata?N%=N%/2:� �( !colour_decrement=0:!colour_limit=0 �2 !shadow_table_address=grndata:!colour_store=1 �5 � s%=2 !opstart=a%+12*1282 � !opstart=a%+20*1282 � � output_sprite � � � � � �grab_text � � hv2$="V" � hv2$="v" � � !ft_bottom=screen%+&9FB00 � � � !ft_bottom=screen%+&65E00 � � � !ft_screen=screen% � S%=�(find_top) � E%=�(find_bottom) �) !ft_right=S%:!frlines=(E%-S%)�1280+1 � W%=�(find_right) �6 text_width%=W%:!getwidth=text_width%:!getstart=S% �/ !getstore=spr%+16:!getlines=(E%-S%)�1280+1 � text_lines%=!getlines �# !spr%=W%:spr%!4=(E%-S%)�1280+1 � spr%!8=&4400 �) � (!getlines)*(!getwidth)>txtsize% � �2 text1$="":overlay%=0:mask_created%=0:text%=0 �> � 1997,"Caption is too large for available overlay area" � � � � get_screen � � � � � �mysprite_assemble � � mysprite% 960 � 8 � Registers used in "find" routines and .get_screen 3 base2=2:base=3:offset=4:data=5:lines=6:white=7 ' � Registers used in .output_sprite 5 colour=1:base2=2:table=3:data3=4:data1=5:lines=6 8 mask2=7:mask1=8:data2=9:scrn1=10:scrn2=11:result=12 � P=0 � 2 �2 P%=mysprite% [OPT P .ft_screen EQUD 0 .ft_white EQUD &7FFF7FFF .ft_bottom EQUD 0 .ft_right EQUD 0 .frlines EQUD 0 .getwidth EQUD 0 .getstart EQUD 0 .getstore EQUD 0 .getlines EQUD 0 .opstart EQUD 0 .find_top G MOV offset,#0:LDR base,ft_screen:LDR white,ft_white:MOV lines,#640 ? .top_loop LDR data,[base,offset]:CMP data,white:BEQ ftexit 7 ADD offset,offset,#4:CMP offset,#1280:BNE top_loop G ADD base,base,#1280:MOV offset,#0:SUBS lines,lines,#1:BNE top_loop # .ftexit MOV R0,base:MOV PC,R14 .find_bottom G MOV offset,#0:LDR base,ft_bottom:LDR white,ft_white:MOV lines,#640 ? .bot_loop LDR data,[base,offset]:CMP data,white:BEQ fbexit 7 ADD offset,offset,#4:CMP offset,#1280:BNE bot_loop G SUB base,base,#1280:MOV offset,#0:SUBS lines,lines,#1:BNE bot_loop # .fbexit MOV R0,base:MOV PC,R14 ! " .find_right #L MOV offset,#1264:LDR base,ft_right:LDR white,ft_white:LDR lines,frlines $A .right_loop LDR data,[base,offset]:CMP data,white:BEQ frexit %; ADD base,base,#1280:SUBS lines,lines,#1:BNE right_loop &M LDR base,ft_right:LDR lines,frlines:SUBS offset,offset,#4:BNE right_loop '( .frexit ADD R0,offset,#8:MOV PC,R14 ( ) .get_screen ** LDR offset,getwidth:LDR base,getstart +* LDR base2,getstore:LDR lines,getlines ,= .get_loop LDR data,[base,offset]:STR data,[base2,offset] -' SUBS offset,offset,#4:BPL get_loop ., LDR offset,getwidth:ADD base,base,#1280 / ADD base2,base2,offset 0% SUBS lines,lines,#1:BNE get_loop 1 MOV PC,R14 2 3 ; - - - - - - - 4 5 .output_sprite 6, STR R13,r13_temp:LDR R13,vertical_start 7, LDR R0,colour_store:STR R0,colour_start 8- LDR R0,colour_height:STR R0,colour_lines 99 LDR base,opstart:LDR base2,getstore:SUB R0,base2,#16 :; LDR offset,[R0,#0]:LDR lines,[R0,#4]:LDR mask1,[R0,#8] ; MOV mask2,mask1,ASL#16 < = .oploop > LDR data2,[base2,offset] ?2 MOV data1,data2,ASL#16:MOV data1,data1,LSR#16 @2 MOV data2,data2,LSR#16:MOV data2,data2,ASL#16 A LDR scrn2,[base,offset] B2 MOV scrn1,scrn2,ASL#16:MOV scrn1,scrn1,LSR#16 C2 MOV scrn2,scrn2,LSR#16:MOV scrn2,scrn2,ASL#16 D E9 LDR colour,colour_store:CMP colour,#1:BNE not_shadow F G6 STR R0,r0_temp:ADR R0,reg_store:STMIA R0,{R1-R11} H1 LDR table,shadow_table_address:MOV result,#0 I2 CMP data1,mask1:�Q result,scrn1:BEQ next_half J* � R2,scrn1,#31:LDRB result,[table,R2] K9 MOV R2,scrn1,LSR#5:� R2,R2,#31:LDRB data3,[table,R2] L2 MOV data3,data3,LSL#5:ADD result,result,data3 M: MOV R2,scrn1,LSR#10:� R2,R2,#31:LDRB data3,[table,R2] N3 MOV data3,data3,LSL#10:ADD result,result,data3 O PJ .next_half CMP data2,mask2:ADDEQ result,result,scrn2:BEQ store_result Q: MOV R2,scrn2,LSR#16:� R2,R2,#31:LDRB data3,[table,R2] R3 MOV data3,data3,LSL#16:ADD result,result,data3 S: MOV R2,scrn2,LSR#21:� R2,R2,#31:LDRB data3,[table,R2] T3 MOV data3,data3,LSL#21:ADD result,result,data3 U: MOV R2,scrn2,LSR#26:� R2,R2,#31:LDRB data3,[table,R2] V3 MOV data3,data3,LSL#26:ADD result,result,data3 W5 .store_result ADR R0,reg_store:LDMIA R0,{R1-R11} X: LDR R0,r0_temp:STR result,[base,offset]:B shadow_jump Y Z .not_shadow [& CMP colour,#2:BNE not_filter_text \6 STR R0,r0_temp:ADR R0,reg_store:STMIA R0,{R1-R12} ] LDR R1,colour_filter_mask ^$ CMP data1,mask1:�Q result,scrn1 _ BICNE result,scrn1,R1 `. CMP data2,mask2:ADDEQ result,result,scrn2 a MOVNE scrn2,scrn2,LSR#16 b4 BICNE R8,scrn2,R1:ADDNE result,result,R8,LSL#16 c STR result,[base,offset] d6 ADR R0,reg_store:LDMIA R0,{R1-R12}:LDR R0,r0_temp e B shadow_jump f g .not_filter_text h8 CMP data1,mask1:MOVNE result,colour:�Q result,scrn1 i6 CMP data2,mask2:ADDNE result,result,colour,ASL#16 j7 ADDEQ result,result,scrn2:STR result,[base,offset] k l2 .shadow_jump SUBS offset,offset,#4:BPL oploop m+ LDR offset,[R0,#0]:ADD base,base,#1280 n- LDR data1,getwidth:ADD base2,base2,data1 o CMP colour,#0:BEQ next_line p CMP colour,#2:BEQ next_line q r& ADR R9,reg_store:STMIA R9,{R0-R7} sI LDR R0,colour_lines:SUBS R0,R0,#1:STR R0,colour_lines:BNE wrcol_exit t- LDR R0,colour_height:STR R0,colour_lines u3 LDR R0,colour_inc_or_dec:CMP R0,#1:BEQ col_inc vN .col_dec LDR R7,colour_decrement:SUB colour,colour,R7:LDR R7,colour_limit wG CMP colour,R7:MOVLT colour,R7:STR colour,colour_store:B wrcol_exit xN .col_inc LDR R7,colour_decrement:ADD colour,colour,R7:LDR R7,colour_limit y: CMP colour,R7:MOVGT colour,R7:STR colour,colour_store z2 .wrcol_exit ADR R9,reg_store:LDMIA R9,{R0-R7} { | .next_line }G SUBS R13,R13,#1:LDREQ colour,colour_start:LDREQ R13,vertical_start ~ STREQ colour,colour_store # SUBS lines,lines,#1:BNE oploop � LDR R13,r13_temp:MOV PC,R14 � � .vertical_start EQUD 0 � .colour_start EQUD 0 � .colour_store EQUD 0 � .colour_limit EQUD 0 � .colour_decrement EQUD 0 � .colour_height EQUD 0 � .colour_lines EQUD 0 �/ .colour_filter_mask EQUD %0111111111100000 � .colour_inc_or_dec EQUD 0 � .r13_temp EQUD 0 � .r0_temp EQUD 0 �@ .reg_store EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0 �@ EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0 �! .shadow_table_address EQUD 0 � ] � � �1 � P%-mysprite%>960 � � 0,"Code too long ..." � � � � � �save_targa(st$) � �display_memory �- !targa_base=memblock%+20:� targa_convert � A%=memblock%+2:� +0 �" � N%=A% � A%+17:� D%:?N%=D%:� � end%=(memblock%+20)+655360 �= !end%=0:end%!4=0:$(end%+8)="TRUEVISION-TARGA.":end%?25=0 �/ � 0,0,2,0,0,0,0,0,0,0,0,0,128,2,0,2,16,&20 �4 ș "OS_File",10,st$,&69D,0,A%,A%+&A002C:� *SAVE � �upload_memory � � � � � �targa_assemble � � targa_code1% 240 �K base=0:offset=1:data=2:red1=3:red2=4:green1=5:green2=6:blue1=7:blue2=8 � result=9:words=10 � � P=0 � 2 �2 � P%=targa_code1% � [OPT P � .targa_base EQUD 0 � � .targa_convert �8 LDR base,targa_base:MOV offset,#0:MOV words,#163840 � .targa_loop MOV result,#0 �@ LDR data,[base,offset]:� red1,data,#31:MOV red1,red1,LSL#10 �> MOV red2,data,LSR#16:� red2,red2,#31:MOV red2,red2,LSL#26 � � green1,data,#992 �I MOV green2,data,LSR#16:� green2,green2,#992:MOV green2,green2,LSL#16 �, MOV blue1,data,LSR#10:� blue1,blue1,#31 �C MOV blue2,data,LSR#26:� blue2,blue2,#31:MOV blue2,blue2,LSL#16 � �3 ADD result,red1,green1:ADD result,result,blue1 �L ADD result,result,red2:ADD result,result,green2:ADD result,result,blue2 �2 STR result,[base,offset]:ADD offset,offset,#4 �' SUBS words,words,#1:BNE targa_loop � MOV PC,R14 � � ] � � � � � � � �filer_display � � � �. filer_info%=0:box%=0:refresh%=�:right%=0 �) � 216,216,216:ȓ Ȑ 0,-50,1280,1074 � ȑ 0,50 � �click_info � � � right%=0 � � refresh% � � �panelled_background � �path_block � �show_file_list � �make_mini_pic � � � refresh%=� � � ȗ ȓ 0,-50,1280,926+80 �" x1%=0:y1%=0:quit%=0:exit%=0 � �wait_no_button �3 �3,63 Ȝ192:ȓ Ȑ x1%*256+54,y1%*40-2,198,38 � � � � � � �- ȗ X,Y,B:x2%=(X-32) � 256:y2%=Y � 40 � �check_alt_s_save �$ � x1%<>x2% � y1%<>y2% � B<>0 � � � B=1 � B=4:right%=� � �% � B=2 � ftype$(box%)<>"dir" � �4 �filer_info:B=2:� 216,216,216:quit%=�:y2%=0 �) ȓ Ȑ 0,-40,1280,268:�click_info �# �3,63:ȗ ȓ 0,-50,1280,926 � � � �( ȓ Ȑ x1%*256+54,y1%*40-2,198,38 �( ȓ Ȑ x2%*256+54,y2%*40-2,198,38 � x1%=x2%:y1%=y2% �7 � y2%>5 � y2%<22 box%=(21-y1%)+x1%*16 � box%=79 � � � cat$(box%)="" � �) ȓ Ȑ x2%*256+54,y2%*40-2,198,38 � � � �. ȗ X,Y,B:x1%=(X-32) � 256:y1%=Y � 40 �; � y1%>5 � y1%<22 � box%=(21-y1%)+x1%*16 � box%=79 � � B=1 � B=4:right%=� � � cat$(box%)<>"" � (B=4 � Y<228) � filer_info% � (B=4 � Y>900) � (B=4 � �(X-1142)<140 � �(Y-282)<40) � �! � B=4 � Y>900 � X<1063 � �E big_dir%=0:�user_pathname(dir$,260,950,46,�):refresh%=�:B=4 � � � �* � B=4 � Y>900 � X>1062 � X<1110 � �3 big_dir%=0:�list_Pathnames:refresh%=�:B=4 � � � �A � �(X-520)<24 � Y>-30 � Y<170 � �jpeg_buttons:refresh%=0 �< � cat$(box%)<>"" � ȓ Ȑ x1%*256+54,y1%*40-2,198,38 �? � B=4 � �(X-1012)<22 � �(Y-76)<22 � �drive0:big_dir%=0 �? � B=4 � �(X-1066)<22 � �(Y-76)<22 � �drive1:big_dir%=0 �? � B=4 � �(X-1120)<22 � �(Y-76)<22 � �drive4:big_dir%=0 �? � B=4 � �(X-1174)<22 � �(Y-76)<22 � �drive5:big_dir%=0 �C � B=4 � �(X-1228)<22 � �(Y-76)<22 � �drive_user:big_dir%=0 8 � B=4 � �(X-404)<22 � �(Y-94)<132 � �mem_select 8 � B=4 � �(X-1226)<43 � �(Y-266)<34 � big_dir% � ? shown_dir$="":start_entry%=last_start_entry%+77:c%=-1 � ( start_entry%=last_start_entry% � < � B=4 � �(X-1184)<86 � �(Y-266)<34 � was_big_dir% � I start_entry%=0:last_start_entry%=0:shown_dir$="":was_big_dir%=0 � 8 � B=4 � �(X-1142)<43 � �(Y-266)<34 � big_dir% � I start_entry%=0:last_start_entry%=0:shown_dir$="":was_big_dir%=0 � � � B=4 � filer_info% B � cat$(box%)<>"" � ftype$(box%)<>"dir" lastfile$=cat$(box%) % � �cat$(box%),9)="SSTVfonts" � 1 �("Fontinstall "+dir$+"."+cat$(box%)+".") quit%=� � 0 � cat$(box%)<>"" � ftype$(box%)="pscan" � ( �load_pscan(dir$+"."+cat$(box%)) � 0 � cat$(box%)<>"" � ftype$(box%)="targa" � ( �load_targa(dir$+"."+cat$(box%)) � !1 � cat$(box%)<>"" � ftype$(box%)="sprite" � ") �load_sprite(dir$+"."+cat$(box%)) # � $/ � cat$(box%)<>"" � ftype$(box%)="jpeg" � %' �load_jpeg(dir$+"."+cat$(box%)) & � '0 � cat$(box%)<>"" � ftype$(box%)="photo" � (D � 1997,"PhotoCD images cannot currently be loaded by Pscan." ) � * +% � X>920 � X<1260 � Y<2 exit%=� ,? � ftype$(box%)="dir" � �(quit%) dir$=dir$+"."+cat$(box%) -+ � �(X-1184)<80 � �(Y-140)<24 quit%=� .? � X>1140 � X<1266 � Y>178 � Y<220 �up_one_dir:big_dir%=0 /* � X>1054 � X<1126 � Y>174 � Y<224 � 0* �216,216,216:ȓ Ȑ 440,-48,900,280 1+ �rename(�):big_dir%=0:shown_dir$="" 25 �216,216,216:ȓ Ȑ 0,-44,1280,272:�click_info 3 � 4< � X>916 � X<1046 � Y>178 � Y<220 �root_dir:big_dir%=0 5 6) � X>920 � X<1080 � Y>120 � Y<160 � 7 �save_options 8@ � �(quit%) �216,216,216:ȓ Ȑ 0,-52,1280,288:�click_info 9 � : ;I � right% � big_dir% start_entry%=last_start_entry%:shown_dir$=dir$ < = � quit% � exit% > ? � � filer_info% � � right% @ A' � quit% � big_dir% shown_dir$=dir$ B C ȑ 0,0:ȗ ȓ 0,0,1280,1024 D$ � exit% � BIGQUIT%=� � �dismini E F � G H I � �drive0 J( dir$="ADFS::0.$":drv%=0:�click_info K � L M � �drive1 N8 � floppies%>1 � dir$="ADFS::1.$":drv%=1:�click_info O � P Q � �drive4 R( dir$="ADFS::4.$":drv%=4:�click_info S � T U � �drive5 V; � hard_drives%>1 � dir$="ADFS::5.$":drv%=5:�click_info W � X Y � �drive_user Z5 � ud_path% � dir$=user_drive$:drv%=6:�click_info [ � \ ] � �mem_select ^ � �(Y-212)<16 � ms%=0 _ � �(Y-178)<16 � ms%=1 ` � �(Y-144)<16 � ms%=2 a � �(Y-110)<16 � ms%=3 b � �(Y-76)<16 � ms%=4 c � �(Y-42)<16 � ms%=5 d � �(Y-8)<16 � ms%=6 e � �(Y--26)<16 � ms%=7 f � ms%<memories% � g MEM%=ms% h Ȏ MEM% � i � 0:memblock%=mem1% j � 1:memblock%=mem2% k � 2:memblock%=mem3% l � 3:memblock%=mem4% m � 4:memblock%=mem5% n � 5:memblock%=mem6% o � 6:memblock%=mem7% p � 7:memblock%=mem8% q � r � s �make_mini_pic:refresh%=0 t � u v � �are_you_sure w# �raised_block(754,-16,508,236) x$ � 200,0,0:ȓ Ȑ 754,-16,508,236 y3 �write2("Delete file : "+cat$(box%),830,212,1) z( �write2("Are you sure ?",884,146,1) { �raised_block(832,8,140,50) |! �raised_block(1034,8,140,50) } �write2("YES",862,68,4) ~ �write2("NO",1074,68,4) ȗ ȓ 754,-16,508,236 �+ �wait_no_button:�:ȗ X,Y,B:� B=4 � B=1 �3 � �(X-904)<74 � �(Y-34)<30 � sure%=� � sure%=0 � � � � � �rename(flag%) �D � If flag%=TRUE then rename, if FALSE then create new directory �# �raised_block(754,-16,512,236) � rename_quit%=0 �& � 200,100,0:ȓ Ȑ 754,-16,508,236 �& � 255,255,255:ȓ Ȑ 872,96,240,40 � � flag%=� � � rename$=cat$(box%) �0 �write2("Enter new filename :-",834,212,1) � � � rename$="newdir" �5 �write2("Enter new directory name:-",810,212,1) � � �# �write2(rename$+"|",880,150,0) � �raised_block(832,8,140,50) �! �raised_block(1034,8,140,50) � �write2("CANCEL",844,68,4) � �write2("OK",1074,68,4) � ȗ ȓ 754,-16,508,236 � �wait_no_button:� � �(1)="" � � � � � ȗ X,Y,B:K$=�(1) � � B=4 � B=1 � K$<>"" � � B=1 � B=4 � � K$=�8 � K$=�127 �" � �(K$)=127 � �(rename$)>0 � �+ L%=�(rename$):rename$=�rename$,L%-1) �( � 255,255,255:ȓ Ȑ 872,96,240,40 �% �write2(rename$+"|",880,150,0) � � � � �(K$)=21 � �3 rename$="":� 255,255,255:ȓ Ȑ 872,96,240,40 �% �write2(rename$+"|",880,150,0) � � �. � �(rename$)<10 � �(K$)>31 � �(K$)<123 � �4 rename$+=K$:� 255,255,255:ȓ Ȑ 872,96,240,40 �% �write2(rename$+"|",880,150,0) � � � � B=4 � K$=�13 �5 � (B=4 � (�(X-1104)<74 � �(Y-34)<30)) � K$=�13 � � � �(rename$)>0 � � � flag%=� � �L �("RENAME "+dir$+"."+cat$(box%)+" "+dir$+"."+rename$):shown_dir$="-" � � �9 �("CDIR "+dir$+"."+rename$):dir$=dir$+"."+rename$ � � � � � � � � � � � �filer_info �' � 216,216,216:ȓ Ȑ 0,-50,1280,282 � � 240,240,240 �> X%=4:Y%=53:C$="":�31,X%,Y%:�("INFO "+dir$+"."+cat$(box%)) � �:�31,X%,Y% �3 ș "OS_Byte",135 �,SV%:� SV%>31 � C$=C$+�(SV%) �' X%+=1:� X%=70:ȓ Ȑ 0,-50,1280,282 �" �raised_block(16,-16,720,236) �' � 160,200,255:ȓ Ȑ 16,-16,720,236 �& � 255,255,255:ȓ Ȑ 32,160,400,40 �3 �write2("Info on file : "+cat$(box%),46,212,0) � �write2(�C$,22),44,146,0) � �raised_block(52,8,172,50) � �raised_block(290,8,172,50) � �raised_block(528,8,172,50) � �write2("DELETE",78,68,4) � �write2("CANCEL",558,68,4) � �write2("RENAME",314,68,4) � ȗ ȓ 16,-16,720,236 �$ delete%=0:cancel%=0:rename%=0:� � �:ȗ X,Y,B:� B=4 � B=1 �+ � �(X-139)<90 � �(Y-34)<30 � delete%=� �6 � �(X-376)<90 � �(Y-34)<30 � �rename(�):cancel%=� �+ � �(X-614)<90 � �(Y-34)<30 � cancel%=� � � cancel% � delete% � � delete% � � �are_you_sure �> � sure% � �("DELETE "+dir$+"."+cat$(box%)):shown_dir$="-" � �:filer_info%=� � ȗ ȓ 0,0,1280,1024 � �wait_no_button � � � � � �panelled_background �' � 216,216,216:ȓ Ȑ 0,234,1280,878 �4 � Y%=238 � 878 �40:� 200,200,200:� 0,Y%,1280,Y% �' � 232,232,232:� 0,Y%-2,1280,Y%-2:� �7 � X%=256 � 1024 �256:� 232,232,232:� X%,238,X%,878 �( � 200,200,200:� X%-2,238,X%-2,878:� �( � 216,216,216:ȓ Ȑ 1026,234,260,60 � � � � � � �write2(text$,x%,y%,fc%) � � �panel$,5)="Panel" � � � fc%>99 � �# panel$="Panel.Fixed":fc%-=100 � � � panel$="Panel.Medium" � � � � �4 ș "Font_FindFont",,panel$,12*16,12*16 � font2% � Ȏ fc% � �G � 0 :ș "Font_SetPalette",,0,0,0,&FFFFFF00,0,&65757254 :� Black �G � 1,4,6:ș "Font_SetPalette",,0,0,0,0,&FFFFFF00,&65757254 :� White �F � 2 :ș "Font_SetPalette",,0,0,0,0,&C8400000,&65757254 :� Blue �G � 3 :ș "Font_SetPalette",,0,0,0,0,&80404000,&65757254 :� Blue2 �G � 5 :ș "Font_SetPalette",,0,0,0,0,&FF808000,&65757254 :� Blue3 �E � 7 :ș "Font_SetPalette",,0,0,0,0,&00008000,&65757254 :� Red � � � px%=0:py%=0 �$ � fc%=4 � fc%=6 � px%+=2:py%-=2 �; ș "Font_Paint",font2%,�127+text$,256+16,x%+px%,y%+py% � � fc%=4 � �6 ș "Font_SetPalette",,0,0,0,&FFFFFF00,0,&65757254 �? ș "Font_Paint",font2%,�127+text$,256+16,x%+px%-2,y%+py%+2 � � � � fc%=6 � �6 ș "Font_SetPalette",,0,0,0,0,&A0A0A000,&65757254 �? ș "Font_Paint",font2%,�127+text$,256+16,x%+px%-2,y%+py%+2 � � � ș "Font_LoseFont",font2% � � � �path_block ' � 255,255,255:ȓ Ȑ 12,896,1250,54 ' � 160,160,160:ȓ Ȑ 18,892,1250,54 ' � 200,200,255:ȓ Ȑ 16,896,1248,50 9 ș sprswi%,256+52,spb%,"acorn",16,884,8,0,translate% # �write2("Pathname :",92,954,4) �write2(dir$,264,954,100) = ș sprswi%,256+52,spb%,"list",260+808,898,0,0,translate% " � 0,0,0:ȓ 260+860,900,140,40 � � �jpeg_buttons � Y%=120 � -30 �-50 9 ș sprswi%,256+52,spb%,"off",500,Y%,8,0,translate%:� � Y>110 � jpeg_opt%=0 ! � Y>60 � Y<111 � jpeg_opt%=1 � Y>10 � Y<61 � jpeg_opt%=2 � Y<11 � jpeg_opt%=3 Y%=120-50*jpeg_opt% 6 ș sprswi%,256+52,spb%,"on",500,Y%,8,0,translate% Ȏ jpeg_opt% � � 0,1:jpeg_scale%=0 � 2,3:jpeg_scale%=-1 � � � �click_info $ �raised_block(464,-36,410,256) 1 �write2("JPEG loading options:-",498,232,4) Y%=120:� y%=0 � 3 � y%=jpeg_opt% � 8 ș sprswi%,256+52,spb%,"on",500,Y%,8,0,translate% ! � "9 ș sprswi%,256+52,spb%,"off",500,Y%,8,0,translate% # � $ Y%-=50:� %- �write2("Crop to 640 x 480",544,176,4) &- �write2("Crop to 640 x 512",544,126,4) ', �write2("Scale to 640 x 480",544,76,4) (, �write2("Scale to 640 x 512",544,26,4) ) *= �raised_block(920,180,120,40) :�write2("ROOT",934,234,4) +< �raised_block(1144,180,120,40):�write2("UP",1150,234,4) ," �raised_block(920,120,160,40) -# �raised_block(1104,120,160,40) ." �raised_block(920,-40,344,40) /! �raised_block(920,20,344,80) 0" � 96,96,96:� 1204,20,1204,104 1% � 255,255,255:� 1208,20,1208,104 2 � drv%=0 � 36 ș sprswi%,256+52,spb%,"on",992,54,8,0,translate% 4 � 57 ș sprswi%,256+52,spb%,"off",992,54,8,0,translate% 6 � 7 � drv%=1 � 87 ș sprswi%,256+52,spb%,"on",1046,54,8,0,translate% 9 � : � floppies%>1 � ;8 ș sprswi%,256+52,spb%,"off",1046,54,8,0,translate% < � == ș sprswi%,256+52,spb%,"off_grey",1046,54,8,0,translate% > � ? � @ � drv%=4 � A7 ș sprswi%,256+52,spb%,"on",1100,54,8,0,translate% B � C8 ș sprswi%,256+52,spb%,"off",1100,54,8,0,translate% D � E � drv%=5 � F7 ș sprswi%,256+52,spb%,"on",1154,54,8,0,translate% G � H � hard_drives%>1 � I8 ș sprswi%,256+52,spb%,"off",1154,54,8,0,translate% J � K= ș sprswi%,256+52,spb%,"off_grey",1154,54,8,0,translate% L � M � N � drv%=6 � O7 ș sprswi%,256+52,spb%,"on",1214,54,8,0,translate% P � Q � ud_path% � R8 ș sprswi%,256+52,spb%,"off",1214,54,8,0,translate% S � T= ș sprswi%,256+52,spb%,"off_grey",1214,54,8,0,translate% U � V � W �write2("ADFS",912,110,4) X �write2("Drive",912,70,4) Y �write2("0",994,70,4) Z �write2("1",1048,70,4) [ �write2("4",1102,70,4) \ �write2("5",1156,70,4) ] �write2("UD",1210,70,4) ^ �write2("SAVE",952,174,4) _! �write2("CANCEL",1124,174,4) `( �write2("QUIT to DESKTOP",972,14,4) a8 ș sprswi%,256+52,spb%,"up",1220,186,8,0,translate% b? ș sprswi%,256+52,spb%,"newdir",1058,176,8,0,translate256% c � d e � �save_options f old_save_type$=save_type$ g ȗ ȓ 0,-48,1280,280 h' � 216,216,216:ȓ Ȑ 600,-50,680,44 i> �raised_block(444,-44,820,272):save_name$="":save_quit%=0 j Ȏ save_type$ � k! � "sprite" :�save_buttons(1) l! � "targa1" :�save_buttons(2) m! � "pscan" :�save_buttons(3) n! � "jpeg1" :�save_buttons(4) o! � "jpeg2" :�save_buttons(5) p, � "overlay":� overlay% �save_buttons(6) q � r+ �write2("Sprite 640 x 512",510,234,4) s+ �write2("Targa 640 x 512",510,190,4) t �write2("Pscan",510,146,4) u# �write2("320 x 256",620,146,4) v+ �write2("JPEG 640 x 512",510,102,4) w* �write2("JPEG 320 x 256",510,58,4) x, �write2("Save sprite overlay",510,14,4) y* �write2("Enter filename :",920,224,0) z' � 255,255,255:ȓ Ȑ 920,120,240,40 { �write2("|",928,174,0) |! �raised_block(864,40,160,40) }" �raised_block(1064,40,160,40) ~ �write2("SAVE",898,94,4) �write2("CANCEL",1084,94,4) �* � �save_type$,4)="jpeg" � �jpeg_panel � � �& �wait_no_button:�:K$=�(1):� K$="" �, �:ȗ X,Y,B:K$=�(1):� B=4 � B=1 � K$<>"" � � B=1 � B=4 � � K$=�8 � K$=�127 �$ � �(K$)=127 � �(save_name$)>0 � �2 L%=�(save_name$):save_name$=�save_name$,L%-1) �' � 255,255,255:ȓ Ȑ 920,120,240,40 �& �write2(save_name$+"|",928,174,0) � � � � �(K$)=21 � �5 save_name$="":� 255,255,255:ȓ Ȑ 920,120,240,40 �& �write2(save_name$+"|",928,174,0) � � �: � �(save_name$)<10 � �(K$)>32 � �(K$)<127 � K$<>"." � �6 save_name$+=K$:� 255,255,255:ȓ Ȑ 920,120,240,40 �& �write2(save_name$+"|",928,174,0) � � � � B=4 � �3 � �(480-X)<22 � �(200-Y)<22 � �save_buttons(1) �3 � �(480-X)<22 � �(156-Y)<22 � �save_buttons(2) �3 � �(480-X)<22 � �(112-Y)<22 � �save_buttons(3) �3 � �(480-X)<22 � �(68-Y)<22 � �save_buttons(4) �3 � �(480-X)<22 � �(24-Y)<22 � �save_buttons(5) �< � �(480-X)<22 � �(-20-Y)<22 � overlay% �save_buttons(6) �/ � �(1142-X)<80 � �(64-Y)<26 � save_quit%=� �9 � �(X-398)<22 � �(Y-94)<132 � �mem_select:refresh%=� �V � �(X-964)<22 � �(Y)<18 � �save_type$,4)="jpeg" � jpgq%>30 � jpgq%-=5:�jpeg_panel �W � �(X-1122)<22 � �(Y)<18 � �save_type$,4)="jpeg" � jpgq%<95 � jpgq%+=5:�jpeg_panel � � �4 � (B=4 � (�(948-X)<80 � �(64-Y)<26)) � K$=�13 � �% �3,63 Ȝ192:ȓ Ȑ 860,36,168,48 � � �(save_name$)>0 � � �save_picture � � �" K=�(25):ȓ Ȑ 860,36,168,48 � � � � �> � �save_type$,4)="jpeg" � �jpeg_panel � �blank_jpeg_panel � � save_quit% �5 � save_type$="overlay" save_type$=old_save_type$ � � � � � �blank_jpeg_panel �' � 208,208,216:ȓ Ȑ 892,-20,304,40 � � � � � �jpeg_panel �' � 255,255,255:ȓ Ȑ 992,-20,104,40 �, Q$="Q = "+�(jpgq%):�write2(Q$,988,32,0) �9 ș sprswi%,256+52,spb%,"left",942,-18,8,0,translate% �; ș sprswi%,256+52,spb%,"right",1108,-18,8,0,translate% � � � � � �save_picture � �display_memory � � �save_ok � � Ȏ save_type$ � �4 � "sprite":�("SCREENSAVE "+dir$+"."+save_name$) �1 � "targa1" :�save_targa(dir$+"."+save_name$) �1 � "pscan" :�save_pscan(dir$+"."+save_name$) �0 � "jpeg1" :�save_jpeg(dir$+"."+save_name$) �0 � "jpeg2" :�save_jpeg(dir$+"."+save_name$) �; � "overlay":ș sprswi%,256+12,spr%,dir$+"."+save_name$ � � �5 shown_dir$="-":path$(MEM%+1)=dir$+"."+save_name$ � � �g � 1997,"There is already a directory called "+save_name$+" - try again using a different filename" � � � save_quit%=�:quit%=� � � � � � �save_ok � sok%=� � � N%=0 � num%-1 � c1$="":� J%=1 � �(cat$(N%)) �& c1$+=�(�(�cat$(N%),J%,1)) � 32):� �" c2$="":� J%=1 � �(save_name$) �( c2$+=�(�(�save_name$,J%,1)) � 32):� �* � c1$=c2$ � ftype$(N%)="dir" � sok%=� � � � =sok% � � � �save_buttons(b%) �9 ș sprswi%,256+52,spb%,"off",460,180,8,0,translate% �9 ș sprswi%,256+52,spb%,"off",460,136,8,0,translate% �8 ș sprswi%,256+52,spb%,"off",460,92,8,0,translate% �8 ș sprswi%,256+52,spb%,"off",460,48,8,0,translate% �7 ș sprswi%,256+52,spb%,"off",460,4,8,0,translate% � � overlay% � �: ș sprswi%,256+52,spb%,"off",460,-40,8,0,translate% � � �? ș sprswi%,256+52,spb%,"off_grey",460,-40,8,0,translate% � � � Ȏ b% � �? � 1 : ș sprswi%,256+52,spb%,"on",460,180,8,0,translate% �# save_type$="sprite" �? � 2 : ș sprswi%,256+52,spb%,"on",460,136,8,0,translate% �# save_type$="targa1" �> � 3 : ș sprswi%,256+52,spb%,"on",460,92,8,0,translate% �" save_type$="pscan" �> � 4 : ș sprswi%,256+52,spb%,"on",460,48,8,0,translate% �" save_type$="jpeg1" �= � 5 : ș sprswi%,256+52,spb%,"on",460,4,8,0,translate% �" save_type$="jpeg2" �? � 6 : ș sprswi%,256+52,spb%,"on",460,-40,8,0,translate% �$ save_type$="overlay" � � � � � � � �show_file_list � � dir$=shown_dir$ � � �show_last_file_list � � �" � � big_dir% � start_entry%=0 �# last_start_entry%=start_entry% �* � N%=0�80:cat$(N%)="":ftype$(N%)="":� �G ș "OS_GBPB",10,dir$,gbpb%,77,start_entry%,gbpb_len%,0 �,,,num%,o% � � o%=-1 � �! � big_dir% � was_big_dir%=� � big_dir%=� � � � big_dir%=� � start_entry%+=num% � shown_dir$="" � � �' A%=gbpb%:ns%=0:C%=0:PX%=54:PY%=844 � num%>0 � � ft$=�~!A%:ft$=�ft$,4,3) A%=A%+20:f$="" ! �:f$+=�(?A%):A%=A%+1:� ?A%=0 D � ft$="FFD" � ș "OS_File",15,dir$+"."+f$ � d%:� d%=2 ft$="dir" � ft$<>"" � type$="no_use" � ft$="BE8" � type$="photo" ! � ft$="FF9" � type$="sprite" � ft$="69D" � type$="targa" � ft$="96A" � type$="pscan" L � ft$="C85" � �f$,4)="/JPG" � �f$,3)="/JP" � �f$,2)="/J" � type$="jpeg" � ft$="dir" � type$="dir" # ftype$(ns%)=type$:cat$(ns%)=f$ # c$=cat$(ns%):dos_ext%=�c$,"/") $ � dos_ext%>0 c$=�c$,dos_ext%-1) 6 � cat$(ns%)=lastfile$ c$=c$+" "+�128 � c$=c$+" " �write2(c$,PX%,PY%+46,0) Ȏ type$ � � "sprite":icon$="sm_ff9" � "targa" :icon$="sm_69d" � "pscan" :icon$="sm_96a" � "jpeg" :icon$="sm_c85" � "photo" :icon$="sm_be8" � "dir" :icon$="dir" � "no_use":icon$="no_use" � = ș sprswi%,256+52,spb%,icon$,PX%-40,PY%-4,0,0,translate% 0 ns%+=1:PY%-=40:� PY%<244 � PX%+=256:PY%=844 � & C%+=1:A%+=1:ȕ A%/4<>A%�4 A%+=1:� � C%=num% ! � "0 �write2("Total files = "+� num%,1026,370,4) ## � � big_dir% � shown_dir$=dir$ $ dir_entries%=num% % � &" �raised_block(1104,240,70,40) '" �raised_block(1192,240,70,40) ( � big_dir% c%=4 � c%=6 ) �write2("<<",1108,294,c%) * �write2(">>",1200,294,c%) + � , - � �show_last_file_list . � dir_entries%>0 � / C%=0:PX%=54:PY%=844 0 � 1$ c$=cat$(C%):dos_ext%=�c$,"/") 2& � dos_ext%>0 c$=�c$,dos_ext%-1) 37 � cat$(C%)=lastfile$ c$=c$+" "+�128 � c$=c$+" " 4 �write2(c$,PX%,PY%+46,0) 5 type$=ftype$(C%) 6 Ȏ type$ � 7! � "sprite":icon$="sm_ff9" 8! � "targa" :icon$="sm_69d" 9! � "pscan" :icon$="sm_96a" :! � "jpeg" :icon$="sm_c85" ;! � "photo" :icon$="sm_be8" < � "dir" :icon$="dir" =! � "no_use":icon$="no_use" > � ?? ș sprswi%,256+52,spb%,icon$,PX%-40,PY%-4,0,0,translate% @+ PY%-=40:� PY%<244 � PX%+=256:PY%=844 A C%+=1 B � C%=dir_entries% C � D8 �write2("Total files = "+� dir_entries%,1026,370,4) E � F G � �up_one_dir H � �dir$,1)<>"$" � I) N%=�(dir$):�:N%-=1:� �dir$,N%,1)="." J dir$=�dir$,N%-1) K � L � M N � �root_dir O# ȕ �dir$,1)<>"$" �up_one_dir:� P � Q R � �display_separation(rgb$) S+ �display_memory:!start_address=screen% T Ȏ rgb$ � U � "R":� display_red_as_mono V" � "G":� display_green_as_mono W! � "B":� display_blue_as_mono X � Y �wait_no_button Z �:ȗ X,Y,B:� B<>0 [ �display_memory \ � ] ^ � �rgb_processing _" �3,63 Ȝ192:ȓ Ȑ 836,4,52,50 ` � a) menu$(0)="RGB processing and misc." b% menu$(2)="Rotate R-G-B sequence" c# menu$(3)="Show RED separation" d% menu$(4)="Show GREEN separation" e$ menu$(5)="Show BLUE separation" f menu$(6)="Invert RED" g menu$(7)="Invert GREEN" h menu$(8)="Invert BLUE" i" menu$(9)="Picture processing" j" menu$(10)="Scale picture 2:1" k" menu$(11)="Scale picture 1:2" l" menu$(12)="320 x 256 preview" m) menu$(13)="Tile perspective effect>" n menu$(14)="Rotate or flip>" o# menu$(15)="Fade top-to-bottom" p& menu$(16)="Show pixel RGB values" q! menu$(17)="Waveform monitor" r" menu$(18)="*":�menu(494,90,0) s menu_redraw%=� t Ȏ menu_box% � u � 1:�display_memory v8 � 2:�display_memory:� rgb_correction:�upload_memory w! � 3:�display_separation("R") x! � 4:�display_separation("G") y! � 5:�display_separation("B") z � 9:�picpro_panel(420,100) {& � 6,7,8:�invert_colour(menu_box%) | � 10:�zoom_pic } � 11:�quarter ~ � 12:�undo_dither � 13:�perp_menu � � 14:�tran_menu � � 15:�screen_fade � � 16:�pixel_rgb � � 17:�waveform_monitor � � � � menu_box%=1 � �mini_pad � � � � � �invert_colour(c%) � � N%=0 � 31 �. � c%=6 � reddata?N%=31-N% � reddata?N%=N% �. � c%=7 � grndata?N%=31-N% � grndata?N%=N% �. � c%=8 � bludata?N%=31-N% � bludata?N%=N% � �:�display_memory �@ !start_address=screen%:!picpro_bytes=1280:!picpro_lines=512 �F !red_address=reddata:!green_address=grndata:!blue_address=bludata �% � picture_process:�upload_memory � � � � � �rotate_rgb_assemble �2 base=3:offset=4:data=5:blue_mask=6:rgb_mask=7 � mask1=8:mask2=9 � � rgb_code 200 � � P=0 � 2 �2 � P%=rgb_code � [OPT P � .rgb_scrn_address EQUD 0 �9 .rgb_blu_mask EQUD %01111100000000000111110000000000 �9 .rgb_rgb_mask EQUD %10000000000111111000000000011111 �9 .corr_mask1 EQUD %11111100000000001111110000000000 �9 .corr_mask2 EQUD %00000011111111110000001111111111 � � .rotate_rgb_code �, LDR base,rgb_scrn_address:MOV offset,#0 �9 LDR blue_mask,rgb_blu_mask:LDR rgb_mask,rgb_rgb_mask � � .rgb_loop �@ LDR data,[base,offset]:� R0,data,blue_mask:MOV R0,R0,LSR#10 �/ MOV data,data,LSL#5:BIC data,data,rgb_mask � ADD data,data,R0 �0 STR data,[base,offset]:ADD offset,offset,#4 �$ CMP offset,#655360:BNE rgb_loop � MOV PC,R14 � � .rgb_correction �, LDR base,rgb_scrn_address:MOV offset,#0 �. LDR mask1,corr_mask1:LDR mask2,corr_mask2 � .rgb_corr_loop �C LDR data,[base,offset]:MOV data,data,LSR#5:BIC data,data,mask1 �A ADD base,base,#1280:LDR R0,[base,offset]:SUB base,base,#1280 �% MOV R0,R0,LSL#10:BIC R0,R0,mask2 �A ADD data,data,R0:STR data,[base,offset]:ADD offset,offset,#4 �) CMP offset,#655360:BNE rgb_corr_loop � MOV PC,R14 � ] � �:!rgb_scrn_address=screen% � � � � � �save_jpeg(dest$) �; �("Create <Pscan$Dir>.JPEG.JPEGscrap.scrapfile F0000") � ș "Hourglass_On" �3 source$="<Pscan$Dir>.JPEG.JPEGscrap.scrapfile" � � save_type$="jpeg1" � � �save_targa(source$) � � � �small_targa(source$) � � � q$="-Q "+� jpgq%+" " �J ș "Wimp_StartTask","<Pscan$Dir>.JPEG.cjpeg -T "+q$+source$+" "+dest$ � �("SETTYPE "+dest$+" JPEG") � �("DELETE "+source$) � ș "OS_Byte",229,0,0:�26 � ș "Hourglass_Off" � � � � � �load_jpeg(source$) �# ș "Hourglass_On":ȑ 0,0:�:T=� �! jpeg_len%=�file_len(source$) �@ � jpeg_len%>655360 � � 1997,"File too long - limit is 640k" �, �("LOAD "+source$+" "+�~(memblock%+20)) �4 ș "JPEG_Info",,memblock%+20,655360 � ,,xs%,ys% �, jpegscale%!0=100000:jpegscale%!4=100000 �7 jpegscale%!8=100000:jpegscale%!12=100000:x%=0:y%=0 � � jpeg_scale% � �$ � jpeg_opt%=2 � W%=480 � W%=512 �, � xs%<640 � jpegscale%!0=640/xs%*100000 �, � xs%>640 � jpegscale%!8=xs%/640*100000 �* � ys%<W% � jpegscale%!4=W%/ys%*100000 �+ � ys%>W% � jpegscale%!12=ys%/W%*100000 � � �$ � jpeg_opt%=0 � W%=480 � W%=512 � x%=640-xs%:y%=W%-ys% � � �C ș "JPEG_PlotScaled",memblock%+20,x%,y%,jpegscale%,jpeg_len%,1 �1 T$=��((�-T)/100),4):� W%=480 � �topscale2(2) �> �upload_memory:quit%=�:jpeg_info%=�:path$(MEM%+1)=source$ � ș "Hourglass_Off" � � � � � �load_pscan(source$) � a%=memblock%+20 � �("LOAD "+source$+" "+�~a%) �5 !targa_screen=screen%:!targa_memory=memblock%+20 �. � decode_pscan_96a:�upload_memory:quit%=� � path$(MEM%+1)=source$ � � � � � �load_sprite(source$) � ȗ mx%,my%,d% � ch%=�(source$) �+ � N%=28 � 35:�#ch%=N%:gbpb%?N%=�#ch%:� � �#ch%=55:M%=�#ch%:�#ch% � ȑ 0,0:loaded%=0 �( � (gbpb%!32)=511 � (gbpb%!28)=319 � � �("SCREENLOAD "+source$) �" �:Ȗ:�upload_memory:loaded%=� � � �( � (gbpb%!32)=479 � (gbpb%!28)=319 � �- � screen_lines%=512 � N%=40904 � N%=1224 �* �("LOAD "+source$+" "+�~(screen%+N%)) �+ �upload_memory:�topscale2(0):loaded%=� � � �( � �(loaded%) � �load_overlay_sprite �& � loaded% � path$(MEM%+1)=source$ � quit%=�:*POINTER 1 � ȗ � mx%,my%+50 � � � �load_targa(source$) a%=memblock%+2 �("LOAD "+source$+" "+�~a%) 5 !targa_base=memblock%+20:� targa_convert:quit%=� � a%?13=1 � 4 !targa_screen=screen%:!targa_memory=!targa_base ( � decode_small_targa:�upload_memory � path$(MEM%+1)=source$ � � �save_pscan(st$) � � bypass% � � � !screen%<>&80008000 � � 1996,"This picture was not received in a 320 x 256 SSTV mode so it cannot be saved in Pscan format"+�13+�13 � 5 !targa_screen=screen%:!targa_memory=memblock%+20 5 �display_memory:!pscan_temp=1:� make_small_targa A%=memblock%+20 4 ș "OS_File",10,st$,&96A,0,A%,A%+&28000:� *SAVE �upload_memory � � �small_targa(st$) 5 !targa_screen=screen%:!targa_memory=memblock%+20 5 �display_memory:!pscan_temp=0:� make_small_targa - !targa_base=memblock%+20:� targa_convert A%=memblock%+2 � +0 " � N%=A% � A%+17:� D%:?N%=D%:� end%=(memblock%+20)+163840 = !end%=0:end%!4=0:$(end%+8)="TRUEVISION-TARGA.":end%?25=0 . � 0,0,2,0,0,0,0,0,0,0,0,0,64,1,0,1,16,&20 !4 ș "OS_File",10,st$,&69D,0,A%,A%+&2802C:� *SAVE " �upload_memory # � $ %! � �make_small_targa_assemble &8 base1=3:base2=4:offset1=5:offset2=6:data1=7:data2=8 '+ mask=9:mask2=10:lines=11:pscan_flag=12 ( � targa_code2% 640 ) � P=0 � 2 �2 * P%=targa_code2% + [OPT P ,9 .targa_mask EQUD %00000000000000001111111111111111 -9 .targa_mask2 EQUD %11111111111111110000000000000000 . .pscan_temp EQUD 0 / .targa_screen EQUD 0 0 .targa_memory EQUD 0 19 .green_mask EQUD %11111111111111111000001111100000 2 3 .make_small_targa 4L LDR base1,targa_screen:LDR base2,targa_memory:LDR pscan_flag,pscan_temp 5E LDR mask,targa_mask:MOV offset1,#0:MOV offset2,#0:MOV lines,#256 6 7 .make_targa_loop 8B LDR R1,[base1,offset1]:� data1,R1,mask:ADD offset1,offset1,#4 9+ LDR R2,[base1,offset1]:� data2,R2,mask :. MOV data2,data2,LSL#16:ADD R0,data1,data2 ;% CMP pscan_flag,#0:BEQ just_targa < =) MOV data1,R1,LSR#5:� data1,data1,#31 >* MOV data2,R1,LSR#21:� data2,data2,#31 ?B CMP data1,data2:�RNE R0,R0,#%00000000000000001000000000000000 @) MOV data1,R2,LSR#5:� data1,data1,#31 A* MOV data2,R2,LSR#21:� data2,data2,#31 BB CMP data1,data2:�RNE R0,R0,#%10000000000000000000000000000000 C D .just_targa EI STR R0,[base2,offset2]:ADD offset2,offset2,#4:ADD offset1,offset1,#4 F) CMP offset2,#640:BNE make_targa_loop G/ ADD base1,base1,#2560:ADD base2,base2,#640 HJ MOV offset1,#0:MOV offset2,#0:SUBS lines,lines,#1:BNE make_targa_loop I MOV PC,R14 J K2 ; ------------------------------------------- L M .decode_small_targa N2 LDR base1,targa_screen:LDR base2,targa_memory O. LDR mask,targa_mask:LDR mask2,targa_mask2 P1 MOV offset1,#0:MOV offset2,#0:MOV lines,#256 Q R .decode_targa_loop SB LDR R0,[base2,offset2]:� data1,R0,mask:MOV data2,data1,LSL#16 TJ ADD data2,data2,data1:STR data2,[base1,offset1]:ADD base1,base1,#1280 UK STR data2,[base1,offset1]:SUB base1,base1,#1280:ADD offset1,offset1,#4 V WC LDR R0,[base2,offset2]:� data1,R0,mask2:MOV data2,data1,LSR#16 XJ ADD data2,data2,data1:STR data2,[base1,offset1]:ADD base1,base1,#1280 YK STR data2,[base1,offset1]:SUB base1,base1,#1280:ADD offset1,offset1,#4 ZB ADD offset2,offset2,#4:CMP offset2,#640:BNE decode_targa_loop [ \/ ADD base2,base2,#640:ADD base1,base1,#2560 ]L MOV offset1,#0:MOV offset2,#0:SUBS lines,lines,#1:BNE decode_targa_loop ^ MOV PC,R14 _ `2 ; ------------------------------------------- a b .decode_pscan_96a c d2 LDR base1,targa_screen:LDR base2,targa_memory e. LDR mask,targa_mask:LDR mask2,targa_mask2 f1 MOV offset1,#0:MOV offset2,#0:MOV lines,#256 g h .decode_pscan_loop i+ LDR R0,[base2,offset2]:� data1,R0,mask j0 TST data1,#%1000000000000000:BEQ no_dither1 k@ MOV R0,data1,LSR#5:� R0,R0,#31:SUB R0,R0,#1:MOV R0,R0,LSL#5 lD LDR R1,green_mask:BIC R1,data1,R1:ADD R0,R0,R1:MOV R0,R0,LSL#16 m# ADD R0,data1,R0:B store_words1 n .no_dither1 o. MOV data2,data1,LSL#16:ADD R0,data1,data2 p .store_words1 q, STR R0,[base1,offset1]:MOV R0,R0,ROR#16 r1 ADD base1,base1,#1280:STR R0,[base1,offset1] s1 SUB base1,base1,#1280:ADD offset1,offset1,#4 t uC LDR R0,[base2,offset2]:� data1,R0,mask2:MOV data1,data1,LSR#16 v0 TST data1,#%1000000000000000:BEQ no_dither2 w@ MOV R0,data1,LSR#5:� R0,R0,#31:SUB R0,R0,#1:MOV R0,R0,LSL#5 xD LDR R1,green_mask:BIC R1,data1,R1:ADD R0,R0,R1:MOV R0,R0,LSL#16 y# ADD R0,data1,R0:B store_words2 z .no_dither2 {. MOV data2,data1,LSL#16:ADD R0,data1,data2 | .store_words2 }, STR R0,[base1,offset1]:MOV R0,R0,ROR#16 ~1 ADD base1,base1,#1280:STR R0,[base1,offset1] 1 SUB base1,base1,#1280:ADD offset1,offset1,#4 �B ADD offset2,offset2,#4:CMP offset2,#640:BNE decode_pscan_loop � �/ ADD base2,base2,#640:ADD base1,base1,#2560 �L MOV offset1,#0:MOV offset2,#0:SUBS lines,lines,#1:BNE decode_pscan_loop � MOV PC,R14 � ]:� � � � � � �test_card �3 �0,0,0:ȓ Ȑ 0,0,1279,1024:� X%=40 � 1200 �160 �& � 255,255,255:ȓ Ȑ X%,0,78,960:� � � Y%=32 � 900 �138 � ȓ Ȑ 0,Y%,1280,64:� �' � 128,128,128:ȓ Ȑ 48,40,1182,876 �& � 255,255,255:� X%=116 � 1162 �80 � ȓ Ȑ X%,40,6,880:� �+ � Y%=94 � 860 �69:ȓ Ȑ 40,Y%,1198,6:� � � +0 �$ � X%=124 � 1022 �128:� r%,g%,b% �& � r%,g%,b%:ȓ Ȑ X%,446,134,198:� �$ � 255,255,255:� 124,448,124,644 �( g%=6:� X%=126 � 1140 �32:� g%,g%,g% �4 ȓ Ȑ X%,654,36,128:g%+=8:�:� 1152,656,1152,790 � � 0,0,0:� 124,656,124,782 � r%=80:g%=0:b%=156 �1 � Y%=792 � 854 �2:� r%,g%,b%:� 364,Y%,914,Y% � r%+=3:g%+=3:b%+=3:� �1 � Y%=856 � 916 �2:� r%,g%,b%:� 364,Y%,914,Y% � r%-=3:g%-=3:b%-=3:� �B W%=�text_width("Homerton.Bold",call$,54,46):X%=364+(548-W%)/2 �4 �write("Homerton.Bold",call$,X%+10,808,54,46,0) �1 �write("Homerton.Bold",call$,X%,818,54,46,1) �1 � 0,0,0:ȓ Ȑ 124,240,1030,128:� 255,255,255 �- � X%=152 � 500 �64:ȓ Ȑ X%,240,30,128:� �- � X%=524 � 844 �32:ȓ Ȑ X%,240,14,128:� �- � X%=868 � 1150 �16:ȓ Ȑ X%,240,6,128:� �* g%=254:� X%=124 � 1140 �32:� g%,g%,g% � ȓ Ȑ X%,102,38,128:g%-=8:� �! � 0,0,0:ȓ Ȑ 1150,104,2,126 �! �upload_memory:�topscale2(0) �8 � 255,255,255,255,255,0,0,255,255,0,255,0,255,0,255 � � 255,0,0,0,0,255,0,0,0 � � � � � �fax_header(bw%) �( �display_memory:�23,17,7,6,16;16;0; �& � 255,255,255:ȓ Ȑ 0,960,1280,64 � � � bw% � �! � 255,0,0:ȓ Ȑ 64,968,64,48 �" � 0,255,0:ȓ Ȑ 128,968,64,48 �" � 0,0,255:ȓ Ȑ 192,968,64,48 � � 0,0,0:�5:� 80,1004:�"R" � � 144,1004:�"G" � � 208,1004:�"B" �@ �write("Homerton.Bold",call$+" colour FAX",570,976,16,20,2) � � �> �write("Homerton.Bold",call$+" mono FAX",570,976,16,20,2) � � 0,0,0:� X%=64 � 252 � 16 � ȓ Ȑ X%,968,6,48:� � ȓ 64,968,182,48 � � �C �write("Homerton.Bold",��$,5,6)+"'"+��$,14,2),970,976,16,20,2) �< ș sprswi%,256+52,spb%,"acorn2",1196,960,8,0,translate% � �4:�:Ȗ:g%=0 � � X%=280 � 528 �8 �! � g%,g%,g%:ȓ Ȑ X%,968,8,48 � g%+=8:� �0 � 0,0,0:ȓ 278,966,258,52:ȓ 276,964,262,56 � �23,17,7,6,8;8;0; � �upmini � � � � � �grab_rectangle(all%) �$ �display_memory:�wait_no_button � � all% � �: X=1280:Y=0:X1=0:Y1=1024:plot_border%=0:plot_shadow%=0 � � � �grab_rectangle_cursor � � � GW%=X-X1:GH%=Y1-Y � A%=((1024-Y1)�2)*1280+X1 � A%=A%-A% �4 � A%=A%+(memblock%+20) � GL%=(Y1-Y)�2:GB%=X-X1 �7 !source_start=A%:!num_lines=GL%+4:!num_bytes=GB%+8 � �dismini � � � � � �grab_rectangle_cursor � �:ȗ X,Y,B:� B<>0:X1=X:Y1=Y � � B=4 � � �wait_no_button � �3,63 Ȝ0:�:ȗ X,Y,B � ȓ X1,Y1,X-X1,Y-Y1 �# �:ȗ x,y,b:� x<>X � y<>Y � b=4 � ȓ X1,Y1,X-X1,Y-Y1 � � B=4 � b=4 � ȓ X1,Y1,X-X1,Y-Y1 � � X<X1 � Ȕ X,X1 � � Y1<Y � Ȕ Y1,Y � � � � � � � �grab_quarter_area � X1=320:Y1=766:X=960:Y=288 �/ GW%=X-X1:GH%=Y1-Y:A%=((1024-Y1)�2)*1280+X1 �% A%=A%-A% �4:A%=A%+(memblock%+20) � GL%=(Y1-Y)�2:GB%=X-X1 �7 !source_start=A%:!num_lines=GL%+4:!num_bytes=GB%+8 �" plot_border%=0:plot_shadow%=0 � � � �! � �plot_grabbed_area(flipx%) � � flipx%=1 � �C !num_lines=512:!num_bytes=1280:!dest_start=screen%:� get_area � � � � GW%=0 � GH%=0 � � �display_memory � � �/ �display_memory:�wait_no_button:ȗ X,Y,B � � 3,63:ȓ X,Y,GW%,GH%:� �* �:ȗ X1,Y1,B:� X<>X1 � Y<>Y1 � B<>0 �& ȓ X,Y,GW%,GH%:ȓ X1,Y1,GW%,GH% � X=X1:Y=Y1:� B<>0 � � B<>4 � � �display_memory � � � �display_memory ȕ X/4<>X � 4:X+=1:� & Y=Y+GH%:A%=((1024-Y)�2)*1280+X ) � plot_shadow%=1 �gradated_shadow M � plot_border%=1 �plinth(X1-20,Y1-20,GW%+44,GH%+40,32,pbr%,pbg%,pbb%) ] � plot_border%=2 �plinth2(X1-30,Y1-30,GW%+64,GH%+60,pbr%,pbg%,pbb%,pbri%,pbgi%,pbbi%) � < !num_lines=GL%:!num_bytes=GB%:!dest_start=screen%+A% 0 � flipx% � � get_area_flipx � � get_area � � � �upmini � � �gradated_shadow F !red_address=reddata:!green_address=grndata:!blue_address=bludata . !picpro_lines=GL%+20:!picpro_bytes=GB%+24 ) !start_address=screen%+A%+28+1280*12 � N%=0 � 31 3 reddata?N%=N%-2:� reddata?N%>31 � reddata?N%=0 3 grndata?N%=N%-2:� grndata?N%>31 � grndata?N%=0 3 bludata?N%=N%-2:� bludata?N%>31 � bludata?N%=0 � " � N%=1 � 10:� picture_process + !start_address=(!start_address)-2564:� � � �screen_fade �display_memory F !red_address=reddata:!green_address=grndata:!blue_address=bludata B � N%=1 � 31:reddata?N%=N%-1:grndata?N%=N%-1:bludata?N%=N%-1:� ( reddata?0=0:grndata?0=0:bludata?0=0 # L%=512:!picpro_bytes=1280:O%=0 ! � N%=1 � 16 "A !picpro_lines=L%:!start_address=screen%+O%:� picture_process # L%-=32:O%+=40960:� $ �upload_memory:� % & � �get_area_assemble ' � get_code 320 (I base1=4:base2=5:offset=6:lines=7:bytes=8:data=9:clear=10:shadtype=11 ) offset2=12 * � P=0 � 2 �2 + P%=get_code , [OPT P - .source_start EQUD 0 . .dest_start EQUD 0 / .num_bytes EQUD 0 0 .num_lines EQUD 0 1 .shadow_start EQUD 0 2 .shadow_flag EQUD 0 3 .clear_mask EQUD 0 4 5 .get_area 60 LDR base1,source_start:LDR base2,dest_start 7: LDR bytes,num_bytes:MOV offset,#0:LDR lines,num_lines 8 .get_area_loop 94 LDR data,[base1,offset]:STR data,[base2,offset] :< ADD offset,offset,#4:CMP offset,bytes:BLT get_area_loop ;> ADD base1,base1,#1280:ADD base2,base2,#1280:MOV offset,#0 <* SUBS lines,lines,#1:BNE get_area_loop = MOV PC,R14 > ? .get_area_flipx @0 LDR base1,source_start:LDR base2,dest_start AL LDR bytes,num_bytes:MOV offset,#0:MOV offset2,bytes:LDR lines,num_lines B .get_area_flipx_loop CJ LDR data,[base1,offset]:MOV data,data,ROR#16:STR data,[base2,offset2] D0 SUB offset2,offset2,#4:ADD offset,offset,#4 E- CMP offset,bytes:BLT get_area_flipx_loop F0 ADD base1,base1,#1280:ADD base2,base2,#1280 G$ MOV offset,#0:MOV offset2,bytes H0 SUBS lines,lines,#1:BNE get_area_flipx_loop I MOV PC,R14 J K .shadow L> LDR base1,shadow_start:MOV offset,#0:LDR clear,clear_mask M LDR shadtype,shadow_flag N, LDR bytes,num_bytes:LDR lines,num_lines O) .shadow_loop LDR data,[base1,offset] P' CMP shadtype,#0:�Q data,data,LSR#1 Q0 BIC data,data,clear:STR data,[base1,offset] R: ADD offset,offset,#4:CMP offset,bytes:BLT shadow_loop S( ADD base1,base1,#1280:MOV offset,#0 T( SUBS lines,lines,#1:BNE shadow_loop U MOV PC,R14 V ] W � X � Y Z( � �double_grad_back(R,G,B,RI,GI,BI) [ r=R:g=G:b=B \ � Y%=0 � 508 �2 ] � r,g,b:ȓ Ȑ 0,Y%,1279,2 ^ r+=RI:g+=GI:b+=BI:� _ � r=-1 � r=1 ` � g=-1 � g=1 a � b=-1 � b=1 b � r=256 � r=254 c � g=256 � g=254 d � b=256 � b=254 e � Y%=510 � 1018 �2 f � r,g,b:ȓ Ȑ 0,Y%,1279,4 g r-=RI:g-=GI:b-=BI:� h! � �(merge%) � �upload_memory i � j k( � �single_grad_back(R,G,B,RI,GI,BI) l � Y=1020 � 0 �-4 m � R,G,B:ȓ Ȑ 0,Y,1280,4 n R+=RI:G+=GI:B+=BI:� o! � �(merge%) � �upload_memory p � q r' � �text_width(font$,text$,xp%,yp%) s) � font%<>-1 ș "Font_LoseFont",font% t4 ș "Font_FindFont",,font$,16*xp%,16*yp% � font% u3 ș "Font_Converttopoints",,1280,1024 �,xp%,yp% v; ș "Font_StringWidth",,text$,xp%,yp%,-1,100 �,,x2%,y2% w- ș "Font_ConverttoOS",,x2%,y2% �,x2%,y2% x =x2% y z � �rgb_sliders(flag%) { X%=380:Y%=304:W%=460:H%=240 | red1%=0:grn1%=0:blu1%=0 } � flag% � Y2%=140 � Y2%=0 ~' �raised_block(X%,Y%-Y2%,W%,H%+Y2%) � YY%=Y%+56 � Y%+148 �44 � �boxes(X%+16,YY%,262,32,0) � �:ȗ ȓ X%,Y%-Y2%,W%,H%+Y2% �& �raised_block(X%+346,Y%+56,88,44) �# �boxes(X%+340,Y%+120,100,56,0) �7 �write2("Pscan 32K colour selector",X%+8,Y%+200,4) �9 �write2("Drag sliders to define colour",X%+8,Y%+8,4) �! �write2("OK",X%+362,Y%+62,4) � � flag% � �< �write2("Click on required brush size",X%+8,Y%+8-Y2%,4) � R%=4 � � XX%=X%+16 � X%+322 � 76.5 �0 � 128,0,0:ȏ Ȑ XX%+48,Y%-Y2%+92,R%:R%=R%+4 �( �boxes(XX%+16,Y%-Y2%+60,64,64,-1):� � � �) � 255,0,0:ȓ Ȑ X%+20,Y%+148,red%,24 �) � 0,255,0:ȓ Ȑ X%+20,Y%+104,grn%,24 �( � 0,0,255:ȓ Ȑ X%+20,Y%+60,blu%,24 � �wait_no_button � � �/ � red%,grn%,blu%:ȓ Ȑ X%+344,Y%+124,92,48 � � red%<>red1% � �, � 208,208,216:ȓ Ȑ X%+286,Y%+144,40,30 �. red$=�(red%/8):� � red$<2 � red$="0"+red$ �- �write2(red$,X%+278,Y%+142,4):red1%=red% � � � � grn%<>grn1% � �, � 208,208,216:ȓ Ȑ X%+286,Y%+100,40,30 �. grn$=�(grn%/8):� � grn$<2 � grn$="0"+grn$ �, �write2(grn$,X%+278,Y%+98,4):grn1%=grn% � � � � blu%<>blu1% � �+ � 208,208,216:ȓ Ȑ X%+286,Y%+56,40,30 �. blu$=�(blu%/8):� � blu$<2 � blu$="0"+blu$ �, �write2(blu$,X%+280,Y%+54,4):blu1%=blu% � � �2 �:ȗ X,Y,B:� B<>4 � ȗ ȓ X%,Y%-Y2%,W%,H%+Y2% � � B=4 � � flag% � �(Y-256)<28 � �" � �(X-444)<28 � brush_size%=4 �" � �(X-520)<28 � brush_size%=8 �# � �(X-596)<28 � brush_size%=12 �# � �(X-674)<28 � brush_size%=16 �# � �(X-748)<28 � brush_size%=20 � � �B � X>X%+18 � X<X%+19+256 � Y>Y%+60 � Y<Y%+60+26 � �blue_slider �E � X>X%+18 � X<X%+19+256 � Y>Y%+104 � Y<Y%+104+26 � �green_slider �C � X>X%+18 � X<X%+19+256 � Y>Y%+148 � Y<Y%+148+26 � �red_slider �: red%=(red% � 8)*8:grn%=(grn% � 8)*8:blu%=(blu% � 8)*8 � � �(X-768)<47 � �(Y-386)<33 �( RGB%=�X%+350,Y%+128):menu_redraw%=� �( �wait_no_button:ȗ ȓ 0,0,1280,1024 � � � � � �blue_slider � blu%=X-19-X% �* � 0,0,255:ȓ Ȑ X%+20,Y%+60,blu%-2,24 �5 � 216,216,216:ȓ Ȑ X%+blu%+22,Y%+60,252-blu%,24 � ȗ ȓ X%+19,Y,255,0 � � � � � �green_slider � grn%=X-19-X% �+ � 0,255,0:ȓ Ȑ X%+20,Y%+104,grn%-2,24 �6 � 216,216,216:ȓ Ȑ X%+grn%+22,Y%+104,252-grn%,24 � ȗ ȓ X%+19,Y,255,0 � � � � � �red_slider � red%=X-19-X% �+ � 255,0,0:ȓ Ȑ X%+20,Y%+148,red%-2,24 �6 � 216,216,216:ȓ Ȑ X%+red%+22,Y%+148,252-red%,24 � ȗ ȓ X%+19,Y,255,0 � � � �" � �boxes(x%,y%,w%,h%,raised%) �+ � raised% � � 96,96,96 � � 255,255,255 �* ȓ x%,y%,w%,h%:ȓ x%+2,y%+2,w%-4,h%-4 �+ � raised% � � 255,255,255 � � 96,96,96 �, � x%,y%,x%,y%+h%:� x%,y%+h%,x%+w%,y%+h% �< � x%+2,y%+2,x%+2,y%+h%-2:� x%+2,y%+h%-2,x%+w%-2,y%+h%-2 � � � � � �flood_fill � �display_memory:quit%=0 � �wait_no_button:� � �:ȗ X,Y,B:� B<>0 � � Y>9 � � � B=4 � �! RGB%=�X,Y):Bred%=(RGB%�31)*8 �3 Bgrn%=((RGB%>>5)�31)*8:Bblu%=((RGB%>>10)�31)*8 �1 � � (Bred%=red% � Bgrn%=grn% � Bblu%=blu%) � �, rgb%=(Bblu%<<24)+(Bgrn%<<16)+(Bred%<<8) � � red%,grn%,blu% �3 ș "ColourTrans_SetGCOL",rgb%,0,0,128,0:Ȑ X,Y � � �7 � � � � � � B=1 � � RGB%=�X,Y):red%=(RGB%�31)*8 �1 grn%=((RGB%>>5)�31)*8:blu%=((RGB%>>10)�31)*8 � � �; � B=2 � �upload_memory:�rgb_sliders(0):�display_memory � � �# �wait_no_button:� Y<10 � quit% � �upmini � � � �1 � �vertical_write(F$,text$,x%,y%,xp%,yp%,c%) �) � font%<>-1 ș "Font_LoseFont",font% �1 ș "Font_FindFont",,F$,xp%*16,yp%*16 � font% � Ymax%=0:Xmax%=0 � � V%=1 � �(text$) �: ș "Font_CharBBox",font%,�(�text$,V%)),16 �,,,r3%,r4% � � r3%>Xmax% � Xmax%=r3% � � r4%>Ymax% � Ymax%=r4% � �:Ymax%+=16 � � V%=1 � �(text$) �? CH$=�text$,V%,1):ș "Font_CharBBox",font%,�(CH$),16 �,,,w% � px%=x%+(Xmax%-w%)/2 �% �write(F$,CH$,px%,y%,xp%,yp%,c%) � y%=y%-Ymax%-4:� � � � � � �cloning_brush(s%) �$ �display_memory:�wait_no_button � �:ȗ X,Y,B �) � 3,63 Ȝ 192:ȓ X-s%/2,Y-s%/2,s%,s% �( �:ȗ X1,Y1,B:� X1<>X � Y1<>Y � B<>0 + ȓ X-s%/2,Y-s%/2,s%,s%:X=X1:Y=Y1:� B=4 ) SX=X1:SY=Y1:ȓ SX-s%/2,SY-s%/2,s%,s% & �wait_no_button:�:ȗ X,Y,B:� B<>0 5 ȓ SX-s%/2,SY-s%/2,s%,s%:Xdiff%=X-SX:Ydiff%=Y-SY X=(X � 2)*2:Y=(Y � 2)*2:� ) ȓ X-Xdiff%-s%/2,Y-Ydiff%-s%/2,s%,s% - �:ȗ X1,Y1,B:X1=(X1 � 2)*2:Y1=(Y1 � 2)*2 � X1<>X � Y1<>Y � B<>0 ) ȓ X-Xdiff%-s%/2,Y-Ydiff%-s%/2,s%,s% � B=2 � s%+=8:� s%>48 � s%=8 �wait_no_button � � B=4 � " � X-Xdiff%-s%/2,Y-Ydiff%-s%/2 % � BY s%,s%:� &BF,X1-s%/2,Y1-s%/2 � X=X1:Y=Y1:� B=1:�upmini � � �diagonal Ȏ menu_box% � - � 4:R=255:G=255:B=255:RI=-.8:GI=-.8:BI=0 - � 5:R=255:G=255:B=255:RI=0:GI=-.8:BI=-.8 * � 6:R=0:G=255:B=255:RI=.8:GI=-.8:BI=0 * � 7:R=255:G=255:B=0:RI=0:GI=-.8:BI=.8 ) � 8:R=255:G=255:B=0:RI=0:GI=-.8:BI=0 - � 9:R=255:G=255:B=255:RI=-.8:GI=0:BI=-.8 , � 10:R=255:G=255:B=0:RI=-.8:GI=0:BI=+.8 * � 11:R=255:G=0:B=0:RI=-.8:GI=0:BI=+.8 - � 12:R=255:G=0:B=0:RI=-1.6:GI=-.8:BI=1.6 1 � 13:R=255:G=255:B=128:RI=1.6:GI=4.8:BI=-3.2 � ! Y=2048:� X%=-1280 � 1280 �8 " � R,G,B # � X%,0:� 1280,Y $ � 85,1280,0 %! R+=RI:� R>255 � R=255:RI=-RI & � R<0 � R=0:RI=-RI '! G+=GI:� G>255 � G=255:GI=-GI ( � G<0 � G=0:GI=-GI )! B+=BI:� B>255 � B=255:BI=-BI * � B<0 � B=0:BI=-BI + Y-=6.4:� ,! � �(merge%) � �upload_memory - � . / � �border(r%,g%,b%) 0 �display_memory 1' W%=1278:Y%=0:inc%=16/border_width% 2 Ȏ border_grad% � 3# � 1:ri%=inc%:gi%=inc%:bi%=inc% 4$ � 2:ri%=inc%:gi%=inc%:bi%=-inc% 5$ � 3:ri%=-inc%:gi%=inc%:bi%=inc% 6% � 4:ri%=-inc%:gi%=inc%:bi%=-inc% 7$ � 5:ri%=inc%:gi%=-inc%:bi%=inc% 8% � 6:ri%=inc%:gi%=-inc%:bi%=-inc% 9% � 7:ri%=-inc%:gi%=-inc%:bi%=inc% :& � 8:ri%=-inc%:gi%=-inc%:bi%=-inc% ; � <! � X%=0 � 31*border_width% �2 = � r%,g%,b%:ȓ X%,Y%,W%,bh% > Y%+=2:W%-=4:bh%-=4 ? r%+=ri%:� r%>255 � r%=255 @ � r%<0 � r%=0 A g%+=gi%:� g%>255 � g%=255 B � g%<0 � g%=0 C b%+=bi%:� b%>255 � b%=255 D � b%<0 � b%=0 E � F �upmini G � H I � �load_overlay_sprite J1 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 K/ ș sprswi%,256+10,spr%,dir$+"."+cat$(box%) L4 ș sprswi%,256+13,spr%,sprite_name%,32,1 �,,,L% M5 ?(sprite_name%+L%)=13:sprite_name$=$sprite_name% ND overlay%=�:overlay_outline%=0:screen_grabbed%=0:mask_created%=0 O4 � �dir$,7)="PStiles" � �tiled_sprite_background P � Q R � �grab_screen_ellipse S$ �display_memory:�wait_no_button T1 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 U8 ȗ X%,Y%,B%:R1%=200:R2%=200:� 3,63:ȝ X%,Y%,R1%,R2% V2 �:�:ȗ X2%,Y2%,B%:� X2%<>X% � Y2%<>Y% � B%<>0 W# ȝ X%,Y%,R1%,R2%:X%=X2%:Y%=Y2% X � B%=2 � R1%>8 � R2%>8 � Y � �(-5) � R1%-=1 Z � �(-6) � R2%-=1 [& � �(�-5) � �(�-6) � R1%-=1:R2%-=1 \ K%=�(2) ] � ^@ � B%=1 � ((R1%+1)*(R2%+1)*2)+((R1%+1)*(R2%+1)/8)<txtsize% � _ � �(-5) � R1%+=1 ` � �(-6) � R2%+=1 a& � �(�-5) � �(�-6) � R1%+=1:R2%+=1 b K%=�(2) c � d ȝ X2%,Y2%,R1%,R2% e' � B%=4:R1%=(R1%�4)*4:R2%=(R2%�4)*4 f � 0,0:�display_memory gG ș sprswi%,256+16,spr%,"ellipse",0,X2%-R1%,Y2%-R2%,X2%+R1%,Y2%+R2% h% ș sprswi%,256+29,spr%,"ellipse" i% ș sprswi%,256+61,spr%,"ellipse" j �0:ȓ Ȑ 0,0,R1%*2,R2%*2 k �1:ȝ Ȑ R1%,R2%,R1%,R2% l> ș sprswi%,256+61,spr%,0:�:Ȗ:screen_grabbed%=�:grab$="e" m@ grabsize1%=X2%:grabsize2%=Y2%:grabsize3%=R1%:grabsize4%=R2% nC overlay%=�:overlay_outline%=�:sprite_name$="ellipse":OOC%=1023 o mask_created%=0 p � q r � �grab_screen_rectangle s$ �display_memory:�wait_no_button t1 �grab_rectangle_cursor:� 0,0:�display_memory u1 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 v3 ș sprswi%,256+16,spr%,"rectangle",0,X1,Y1,X,Y wL screen_grabbed%=�:grabsize1%=X1:grabsize2%=Y1:grabsize3%=X:grabsize4%=Y xO overlay%=�:overlay_outline%=0:sprite_name$="rectangle":OOC%=1023:grab$="r" y mask_created%=0 z � { | � �which_translate } Ȏ (spr%!56)�255 � ~= � 9,12,14,16,17,20,22,27,31,35,39,43,46,48:t%=translate% 8 � 10,13,15,21,24,28,32,36,40,47,49:t%=translate256% � t%=0 � � � =t% � � � �plot_overlay_sprite � t%=�which_translate �& ȗ ȓ -640,-512,1280+640,1024+512 �$ �display_memory:�wait_no_button �# � 255,255,255:ȓ 0,0,1278,1022 � ȗ X,Y,B �4 ș sprswi%,256+52,spr%,sprite_name$,X,Y,11,0,t% � � �) �:ȗ x,y,b:� x<>X � Y<>y � b=1 � b=4 �4 ș sprswi%,256+52,spr%,sprite_name$,X,Y,11,0,t% �4 ș sprswi%,256+52,spr%,sprite_name$,x,y,11,0,t% � X=x:Y=y � � b=1 � b=4 � �display_memory � � b=1 ȗ ȓ 0,0,1280,1024:� �4 ș sprswi%,256+52,spr%,sprite_name$,x,y,11,0,t% �1 � b=4 � overlay_outline% � OOC%>0 � OOC%<4 � � �sprite_shadow(x,y,OOC%) � � � � b=4 � overlay_outline% � �> r%=(OOC%�31)*8:g%=((OOC%>>5)�31)*8:b%=((OOC%>>10)�31)*8 � � screen_grabbed% � � � r%,g%,b% � � grab$="e" � �B ȝ Ȑ grabsize3%+x,grabsize4%+y,grabsize3%+8,grabsize4%+8 � � �@ w%=grabsize3%-grabsize1%+16:h%=grabsize2%-grabsize4%+16 � ȓ Ȑ x-8,y-8,w%,h% � � � � �6 overlay_outline_RGB%=(b%<<24)+(g%<<16)+(r%<<8) �? ș "ColourTrans_SetGCOL",overlay_outline_RGB%,0,0,128,0 �+ � Y%=y-8 � y+8 �4:� X%=x-8 � x+8 �4 �5 ș sprswi%,256+49,spr%,sprite_name$,X%,Y%:�:� � � � � � � �; � b=4 � ș sprswi%,256+52,spr%,sprite_name$,x,y,8,0,t% � ȗ ȓ 0,0,1280,1024 � �upload_memory � � � � � �paint_with_sprite �\ � � overlay% � 1997,"No sprite is available ..."+�13+"Load or create one and try again" � t%=�which_translate �& ȗ ȓ -640,-512,1280+640,1024+512 �$ �display_memory:�wait_no_button � ȗ X,Y,B � � � � �4 ș sprswi%,256+52,spr%,sprite_name$,X,Y,11,0,t% �! �:ȗ X1,Y1,B:� X<>X1 � Y<>Y1 �4 ș sprswi%,256+52,spr%,sprite_name$,X,Y,11,0,t% � X=X1:Y=Y1 � � B<>0 �9 � B=4 ș sprswi%,256+52,spr%,sprite_name$,X,Y,8,0,t% � � B=1 � �upmini � ȗ ȓ 0,0,1280,1024 � � � � � �tiled_sprite_background �( �display_memory:t%=�which_translate �2 ș sprswi%,256+40,spr%,sprite_name$ �,,,w%,h% �. � Y%=0 � 1600 � h%*2:� X%=0 � 1800 � w%*2 �5 ș sprswi%,256+52,spr%,sprite_name$,X%,Y%,8,0,t% � �:�:�upload_memory � � � �- � �star_field:B=180:� Y%=0�1023�4:�0,0,B �' ȓ Ȑ0,Y%,1280,4:B-=.8:� B<0 � B=0 �< �:� N%=1�400:X%=�(1280):Y%=�(1024):R%=51+Y%/5:b%=�(255) �% � R%,R%,b%:Ȓ X%,Y%:Ȓ X%+2,Y%:� � � � � � �splash2 �; B=255:BI=-1:� Y=1020 � 0 �-4:� 64,0,B:ȓ Ȑ 0,Y,1280,4 �. B+=BI:�:B=0:BI=1:� Y=1020 � 0 �-4:� 0,0,B � ȓ Ȑ 100,Y,1078,4:B+=BI:� �1 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 �; ș sprswi%,256+10,spr%,"<Pscan$Dir>.PSsprites.pscan96" �3 ș sprswi%,256+52,spr%,"pscan96",350,800,8,0,0 �9 ș sprswi%,256+10,spr%,"<Pscan$Dir>.PSsprites.acorn" �1 ș sprswi%,256+52,spr%,"acorn",510,340,8,0,0 �: ș sprswi%,256+10,spr%,"<Pscan$Dir>.PSsprites.vmess1" �1 ș sprswi%,256+52,spr%,"vmess1",20,140,8,0,0 �: ș sprswi%,256+10,spr%,"<Pscan$Dir>.PSsprites.vmess2" �3 ș sprswi%,256+52,spr%,"vmess2",1200,156,8,0,0 � text%=0 �B �write("Homerton.Bold","Version "+ver$,splash2x%,208,28,28,0) �E �write("Homerton.Bold","Version "+ver$,splash2x%-10,216,28,28,7) �C �write("Homerton.Bold","- Press H for help -",364,106,24,24,5) � � � �) � �raised_block(rbx%,rby%,rbw%,rbh%) �0 � 0,0,0:ȓ Ȑ rbx%-6,rby%-6,rbw%+10,rbh%+12 �4 � 255,255,255:ȓ Ȑ rbx%-4,rby%-4,rbw%+6,rbh%+8 �/ � 96,96,96:ȓ Ȑ rbx%,rby%-4,rbw%+2,rbh%+4 �. � 208,208,216:ȓ Ȑ rbx%,rby%,rbw%-2,rbh% � � 96,96,96:� rbx%-4,rby%-4 �& � rbx%-2,rby%-4:�85,rbx%-2,rby%-2 �' � 96,96,96:� rbx%+rbw%,rby%+rbh%+2 �: � rbx%+rbw%+2,rby%+rbh%+2:�85,rbx%+rbw%+2,rby%+rbh%+4 � � � � � �circular_gradations �" menu$(0)="Circular grads " � menu$(1)="Red to yellow" � menu$(2)="Red to white" � menu$(3)="Red to black" � menu$(4)="Red to blue" � menu$(5)="Blue to white" � menu$(6)="Blue to cyan" � menu$(7)="Blue to black" � menu$(8)="Orange to black" � menu$(9)="Green to white" � menu$(10)="Green to black" �! menu$(11)="Magenta to white" �" menu$(12)="Magenta to yellow" �! menu$(13)="*":�menu(0,90,-1) � Ȏ menu_box% � �$ � 1:�grad_circle(255,0,0,0,1,0) �$ � 2:�grad_circle(255,0,0,0,1,1) �% � 3:�grad_circle(255,0,0,-1,0,0) % � 4:�grad_circle(255,0,0,-1,0,1) $ � 5:�grad_circle(0,0,255,1,1,0) $ � 6:�grad_circle(0,0,255,0,1,0) % � 7:�grad_circle(0,0,255,0,0,-1) ) � 8:�grad_circle(255,128,0,-1,-.5,0) $ � 9:�grad_circle(0,255,0,1,0,1) & � 10:�grad_circle(0,255,0,0,-1,0) ' � 11:�grad_circle(255,0,255,0,1,0) ( � 12:�grad_circle(255,0,255,0,1,-1) � � # � �grad_circle(R,G,B,RI,GI,BI) ! � R,G,B:ȓ Ȑ 0,900,1280,124 � D%=812 � 50 �-3 � R,G,B:ȏ Ȑ 640,480,D% R+=RI:G+=GI:B+=BI:� ! � �(merge%) � �upload_memory � � �quarter ' !source_address=memblock%+20+40960 ! !dest_address=screen%+164160 % �128,128,128:ȓ Ȑ 0,0,1280,1024 & !quarter_lines=240:� make_quarter $ � �undo("Zoom 1:2 - options") � �dismini � & �128,128,128:ȓ Ȑ 480,80,340,160 �grab_quarter_area:�upmini � � ! � �quarter_assemble "H data1=3:data2=4:source=5:dest=6:offset1=7:offset2=8:lines=9:mask=10 # � quarter_code% 320 $ � P=0 � 2 �2 % P%=quarter_code% & [OPT P ' .make_quarter (L LDR source,source_address:LDR dest,dest_address:LDR lines,quarter_lines )6 LDR mask,mask_store:MOV offset1,#0:MOV offset2,#0 * .quarter_loop +I LDR data1,[source,offset1]:� data1,data1,mask:ADD offset1,offset1,#4 ,I LDR data2,[source,offset1]:� data2,data2,mask:MOV data2,data2,LSL#16 -J ADD data2,data2,data1:STR data2,[dest,offset2]:ADD offset2,offset2,#4 .> ADD offset1,offset1,#4:CMP offset1,#1280:BLT quarter_loop /" MOV offset1,#0:MOV offset2,#0 00 ADD source,source,#2560:ADD dest,dest,#1280 1) SUBS lines,lines,#1:BNE quarter_loop 2 .quarter_exit MOV PC,R14 3 4 .make_mini 54 LDR source,source_address:LDR dest,dest_address 66 LDR mask,mask_store:MOV offset1,#0:MOV offset2,#0 7 LDR lines,mini_lines 8 .make_mini_loop 9I LDR data1,[source,offset1]:� data1,data1,mask:ADD offset1,offset1,#8 :I LDR data2,[source,offset1]:� data2,data2,mask:MOV data2,data2,LSL#16 ;J ADD data2,data2,data1:STR data2,[dest,offset2]:ADD offset2,offset2,#4 <@ ADD offset1,offset1,#8:CMP offset1,#1280:BLT make_mini_loop =" MOV offset1,#0:MOV offset2,#0 >0 ADD source,source,#5120:ADD dest,dest,#1280 ?+ SUBS lines,lines,#1:BNE make_mini_loop @ MOV PC,R14 A B .make_thumbnail C4 LDR source,source_address:LDR dest,dest_address DD LDR mask,mask_store:MOV offset1,#0:MOV offset2,#0:MOV lines,#64 E .make_thumbnail_loop FJ LDR data1,[source,offset1]:� data1,data1,mask:ADD offset1,offset1,#16 GI LDR data2,[source,offset1]:� data2,data2,mask:MOV data2,data2,LSL#16 HJ ADD data2,data2,data1:STR data2,[dest,offset2]:ADD offset2,offset2,#4 IF ADD offset1,offset1,#16:CMP offset1,#1280:BLT make_thumbnail_loop J" MOV offset1,#0:MOV offset2,#0 K1 ADD source,source,#10240:ADD dest,dest,#1280 L0 SUBS lines,lines,#1:BNE make_thumbnail_loop M MOV PC,R14 N O .source_address EQUD 0 P .dest_address EQUD 0 Q .quarter_lines EQUD 240 R .mini_lines EQUD 128 S+ .mask_store EQUD %1111111111111111 T U ]:� V � W X � �make_mini_pic Y" �raised_block(38,-34,322,254) Z5 � y%=-36 � 202 �34:�raised_block(378,y%,40,20):� [ m%=1:� y%=246 � 8 �-34 \- � m%<=memories% � �write2(� m%,378,y%,0) ] m%+=1:�:�3,63 Ȝ192 ^ Ȏ MEM% � _ � 0:ȓ Ȑ 374,200,46,26 ` � 1:ȓ Ȑ 374,166,46,26 a � 2:ȓ Ȑ 374,132,46,26 b � 3:ȓ Ȑ 374,98,46,26 c � 4:ȓ Ȑ 374,64,46,26 d � 5:ȓ Ȑ 374,30,46,26 e � 6:ȓ Ȑ 374,-4,46,26 f � 7:ȓ Ȑ 374,-38,46,26 g � h! !source_address=memblock%+20 i � screen_lines%=512 � j& !dest_address=screen%+1280*376+40 k � l& !dest_address=screen%+1280*344+40 m � n !mini_lines=128:� make_mini o � p q � �multi_grad_menu r menu$(0)="Multi grads" s menu$(1)="Type 1" t menu$(2)="Type 2" u menu$(3)="Type 3" v menu$(4)="Type 4" w menu$(5)="Type 5" x menu$(6)="Type 6" y menu$(7)="-------" z menu$(8)="Type 7" { menu$(9)="Type 8" | menu$(10)="Type 9" } menu$(11)="Type 10" ~ menu$(12)="Type 11" menu$(13)="Type 12" �! menu$(14)="*":�menu(0,90,-1) � Ȏ menu_box% � �) � 1,2,3,4,5,6:�multi_grad(menu_box%) �/ � 8,9,10,11,12,13:�multi_grad(menu_box%-1) � � � � � � � �multi_grad(type%) � � 0,0,0:ȓ Ȑ 0,0,1280,1024 � Ȏ type% � �& � 1:�left_right_grad(0,0,0,0,1,0) �% �bottom_top_grad(255,0,0,-1,0,1) �& � 2:�left_right_grad(0,0,0,0,0,1) �% �bottom_top_grad(0,255,0,1,-1,0) �& � 3:�left_right_grad(0,0,0,1,0,0) �% �bottom_top_grad(0,255,0,0,-1,1) �& � 4:�left_right_grad(0,0,0,0,0,1) �% �bottom_top_grad(255,0,0,-1,0,0) �& � 5:�left_right_grad(0,0,0,0,0,1) �( �bottom_top_grad(255,255,0,-1,-1,0) �) � 6:�left_right_grad(0,255,0,0,-1,0) �" �bottom_top_grad(0,0,0,0,0,1) �& � 7:�left_right_grad(0,0,0,0,8,0) �% �bottom_top_grad(248,0,0,-8,0,8) �& � 8:�left_right_grad(0,0,0,0,0,8) �% �bottom_top_grad(0,248,0,8,-8,0) �& � 9:�left_right_grad(0,0,0,8,0,0) �% �bottom_top_grad(0,248,0,0,-8,8) �' � 10:�left_right_grad(0,0,0,0,0,8) �% �bottom_top_grad(248,0,0,-8,0,0) �' � 11:�left_right_grad(0,0,0,0,0,8) �( �bottom_top_grad(248,248,0,-8,-8,0) �* � 12:�left_right_grad(0,248,0,0,-8,0) �" �bottom_top_grad(0,0,0,0,0,8) �* � 13:�left_right_grad(0,248,0,0,-8,0) �" �bottom_top_grad(0,0,0,0,0,8) � � �! � �(merge%) � �upload_memory � � � �- � �left_right_grad(r%,g%,b%,ri%,gi%,bi%) �" � x%=0 � 1280 �6:� 1,r%,g%,b% � ȓ Ȑ x%,0,4,1024 � r%+=ri%:g%+=gi%:b%+=bi% � � r%>248 � r%=248:ri%=-ri% � � g%>248 � g%=248:gi%=-gi% � � b%>248 � b%=248:bi%=-bi% � � r%<0 � r%=0:ri%=-ri% � � g%<0 � g%=0:gi%=-gi% � � b%<0 � b%=0:bi%=-bi% � � � � � �- � �bottom_top_grad(r%,g%,b%,ri%,gi%,bi%) �" � y%=0 � 1020 �4:� 1,r%,g%,b% � ȓ Ȑ 0,y%,1280,2 � r%+=ri%:g%+=gi%:b%+=bi% � � r%>248 � r%=248:ri%=-ri% � � g%>248 � g%=248:gi%=-gi% � � b%>248 � b%=248:bi%=-bi% � � r%<0 � r%=0:ri%=-ri% � � g%<0 � g%=0:gi%=-gi% � � b%<0 � b%=0:bi%=-bi% � � � � � �' � �plinth(x%,y%,w%,h%,t%,r%,g%,b%) �+ � r%,g%,b%:� x%,y%+h%:� x%+t%,y%+h%-t% �* �85,x%+w%,y%+h%:�85,x%+w%-t%,y%+h%-t% �" r2%=r%-40:g2%=g%-40:b2%=b%-40 � � r2%<0 � r2%=0 � � g2%<0 � g2%=0 � � b2%<0 � b2%=0 � � r2%,g2%,b2% � � x%,y%+h%:� x%+t%,y%+h%-t% � �85,x%,y%:�85,x%+t%,y%+t% �% r2%=r%-100:g2%=g%-100:b2%=b%-100 � � r2%<0 � r2%=0 � � g2%<0 � g2%=0 � � b2%<0 � b2%=0 � � r2%,g2%,b2% �& � x%+w%,y%+h%:� x%+w%-t%,y%+h%-t% �$ �85,x%+w%,y%:�85,x%+w%-t%,y%+t% �% r2%=r%-160:g2%=g%-160:b2%=b%-160 � � r2%<0 � r2%=0 � � g2%<0 � g2%=0 � � b2%<0 � b2%=0 � � r2%,g2%,b2% � � x%,y%:� x%+t%,y%+t% �$ �85,x%+w%,y%:�85,x%+w%-t%,y%+t% � � � w%>300 � � r2=r%:g2=g%:b2=b% � ri=(255-r2)/64 � gi=(255-g2)/64 � bi=(255-b2)/64 � xx%=x%+w%/2-t%/2-128 � � xs%=xx% � xx%+258 �2 �+ � r2,g2,b2:� xs%,y%+h%-t%,xs%+t%,y%+h% � r2+=ri:g2+=gi:b2+=bi � � r2>255 � r2=255:ri=-ri � � g2>255 � g2=255:gi=-gi � � b2>255 � b2=255:bi=-bi � � � � � � � h%>260 � � r2=r%-40:g2=g%-40:b2=b%-40 � � r2<0 � r2=0 � � g2<0 � g2=0 � � b2<0 � b2=0 � ri=(215-r2)/54 � gi=(215-g2)/54 � bi=(215-b2)/54 � yy%=y%+h%/2-t%/2-114 � � ys%=yy% � yy%+212 �2 �% � r2,g2,b2:� x%,ys%,x%+t%,ys%+t% � r2+=ri:g2+=gi:b2+=bi � � r2>215 � r2=210:ri=-ri � � g2>215 � g2=210:gi=-gi � � b2>215 � b2=210:bi=-bi � � � � � � � � � �picpro_panel(x%,y%) � xstart%=x%:ystart%=y% �# �display_memory:r%=0:g%=0:b%=0 exit%=0:�:reset%=0:ȑ 0,0 ! �raised_block(x%,y%,456,280) ȑ x%,y% �raised_block(32,32,108,40) ! �raised_block(172,32,108,40) ! �raised_block(312,32,108,40) # �write2("RESET",x%+34,y%+36,4) " �write2("TRY",x%+192,y%+36,4) ! �write2("OK",x%+338,y%+36,4) # � 255,0,0:ȓ Ȑ 162,216,126,52 # � 0,200,0:ȓ Ȑ 162,156,126,52 " � 0,0,255:ȓ Ȑ 162,96,126,52 % � 255,255,255:� Y%=100 � 220 �60 : ș sprswi%,256+52,spb%,"left",108,Y%+4,8,0,translate% ; ș sprswi%,256+52,spb%,"right",304,Y%+4,8,0,translate% ȓ Ȑ 166,Y%,118,44:� ȗ ȓ 0,0,456,280 " � 255,255,255:�wait_no_button � , � r%>-1 � r$="+"+� r%+"%" � r$=� r%+"%" , � g%>-1 � g$="+"+� g%+"%" � g$=� g%+"%" , � b%>-1 � b$="+"+� b%+"%" � b$=� b%+"%" �write2(r$,x%+180,y%+226,0) �write2(g$,x%+180,y%+166,0) �write2(b$,x%+180,y%+106,0) K=�(20) �:ȗ X,Y,B:� B=4 - � �(X-132)<24 � �(Y-242)<24 � �red_minus , � �(X-318)<24 � �(Y-242)<24 � �red_plus / � �(X-132)<24 � �(Y-182)<24 � �green_minus . � �(X-318)<24 � �(Y-182)<24 � �green_plus . � �(X-132)<24 � �(Y-122)<24 � �blue_minus - � �(X-318)<24 � �(Y-122)<24 � �blue_plus !! � �(X-366)<60 � �(Y-56)<30 � ", �process_picture:�upload_memory:exit%=� # � $; � �(X-224)<60 � �(Y-56)<30 � �process_picture:reset%=� % � �(X-84)<60 � �(Y-56)<30 � &, r%=0:g%=0:b%=0:�display_memory:reset%=� ' � ( � exit% � reset% ) � � reset% */ ȑ 0,0:�display_memory:ȗ ȓ 0,0,1280,1024 + � , - � �red_minus .* � r%>-50 � r%-=5:ȓ Ȑ 168,222,112,40 / � 0 � �red_plus 1) � r%<50 � r%+=5:ȓ Ȑ 168,222,112,40 2 � 3 � �green_minus 4* � g%>-50 � g%-=5:ȓ Ȑ 168,162,112,40 5 � 6 � �green_plus 7) � g%<50 � g%+=5:ȓ Ȑ 168,162,112,40 8 � 9 � �blue_minus :* � b%>-50 � b%-=5:ȓ Ȑ 168,102,112,40 ; � < � �blue_plus =) � b%<50 � b%+=5:ȓ Ȑ 168,102,112,40 > � ? @ � �process_picture A# �picpro_tables:�display_memory B@ !start_address=screen%:!picpro_bytes=1280:!picpro_lines=512 CF !red_address=reddata:!green_address=grndata:!blue_address=bludata D � picture_process E � F G � �picpro_assemble H. redtable=3:greentable=4:bluetable=5:new=6 I- base=7:offset=8:bytes=9:lines=10:data=11 J& new1=3:new2=4:result1=6:result2=9 K � picpro_code% 800 L � P=0 � 2 �2 M P%=picpro_code% N [OPT P O .picture_process P) LDR base,start_address:MOV offset,#0 Q2 LDR bytes,picpro_bytes:LDR lines,picpro_lines R: LDR redtable,red_address:LDR greentable,green_address S LDR bluetable,blue_address T .picpro_loop U$ MOV new,#0:LDR R0,[base,offset] V' � R2,R0,#31:LDRB new,[redtable,R2] W: MOV R2,R0,LSR#5:� R2,R2,#31:LDRB data,[greentable,R2] X) MOV data,data,LSL#5:ADD new,new,data Y: MOV R2,R0,LSR#10:� R2,R2,#31:LDRB data,[bluetable,R2] Z* MOV data,data,LSL#10:ADD new,new,data [9 MOV R2,R0,LSR#16:� R2,R2,#31:LDRB data,[redtable,R2] \* MOV data,data,LSL#16:ADD new,new,data ]; MOV R2,R0,LSR#21:� R2,R2,#31:LDRB data,[greentable,R2] ^* MOV data,data,LSL#21:ADD new,new,data _: MOV R2,R0,LSR#26:� R2,R2,#31:LDRB data,[bluetable,R2] `* MOV data,data,LSL#26:ADD new,new,data a/ STR new,[base,offset]:ADD offset,offset,#4 b% CMP offset,bytes:BLT picpro_loop c& ADD base,base,#1280:MOV offset,#0 d( SUBS lines,lines,#1:BNE picpro_loop e MOV PC,R14 f g .display_red_as_mono h8 LDR base,start_address:MOV offset,#0:MOV lines,#512 i .red_mono_loop j' LDR R0,[base,offset]:� data,R0,#31 k- MOV new1,data,LSL#5:MOV new2,data,LSL#10 l3 ADD result1,new2,new1:ADD result1,result1,data m# MOV R0,R0,LSR#16:� data,R0,#31 n- MOV new1,data,LSL#5:MOV new2,data,LSL#10 o3 ADD result2,new2,new1:ADD result2,result2,data p; MOV result2,result2,LSL#16:ADD result1,result1,result2 q3 STR result1,[base,offset]:ADD offset,offset,#4 r' CMP offset,#1280:BNE red_mono_loop s& MOV offset,#0:ADD base,base,#1280 t* SUBS lines,lines,#1:BNE red_mono_loop u MOV PC,R14 v w .display_green_as_mono x8 LDR base,start_address:MOV offset,#0:MOV lines,#512 y .green_mono_loop z; LDR R0,[base,offset]:MOV data,R0,LSR#5:� data,data,#31 {- MOV new1,data,LSL#5:MOV new2,data,LSL#10 |3 ADD result1,new2,new1:ADD result1,result1,data }# MOV R0,R0,LSR#21:� data,R0,#31 ~- MOV new1,data,LSL#5:MOV new2,data,LSL#10 3 ADD result2,new2,new1:ADD result2,result2,data �; MOV result2,result2,LSL#16:ADD result1,result1,result2 �3 STR result1,[base,offset]:ADD offset,offset,#4 �) CMP offset,#1280:BNE green_mono_loop �& MOV offset,#0:ADD base,base,#1280 �, SUBS lines,lines,#1:BNE green_mono_loop � MOV PC,R14 � � .display_blue_as_mono �8 LDR base,start_address:MOV offset,#0:MOV lines,#512 � .blue_mono_loop �< LDR R0,[base,offset]:MOV data,R0,LSR#10:� data,data,#31 �- MOV new1,data,LSL#5:MOV new2,data,LSL#10 �3 ADD result1,new2,new1:ADD result1,result1,data �# MOV R0,R0,LSR#26:� data,R0,#31 �- MOV new1,data,LSL#5:MOV new2,data,LSL#10 �3 ADD result2,new2,new1:ADD result2,result2,data �; MOV result2,result2,LSL#16:ADD result1,result1,result2 �3 STR result1,[base,offset]:ADD offset,offset,#4 �( CMP offset,#1280:BNE blue_mono_loop �& MOV offset,#0:ADD base,base,#1280 �+ SUBS lines,lines,#1:BNE blue_mono_loop � MOV PC,R14 � � .red_address EQUD 0 � .green_address EQUD 0 � .blue_address EQUD 0 � .start_address EQUD 0 � .picpro_bytes EQUD 0 � .picpro_lines EQUD 0 � ] � � � � � � � �picpro_tables �= red=1+(�(r%))/100:green=1+(�(g%))/100:blue=1+(�(b%))/100 � � N%=0 � 31 �% � r%>-1 � R=N%*red:� R>31 � R=31 �/ � r%<0 � R=31-�(((31-N%)*red)):� R<0 � R=0 �' � g%>-1 � G=N%*green:� G>31 � G=31 �1 � g%<0 � G=31-�(((31-N%)*green)):� G<0 � G=0 �& � b%>-1 � B=N%*blue:� B>31 � B=31 �0 � b%<0 � B=31-�(((31-N%)*blue)):� B<0 � B=0 �+ reddata?N%=R:grndata?N%=G:bludata?N%=B � � � � � � � �zoom_pic � ȗ ȓ 0,0,640,512 �- �display_memory:�wait_no_button:ȗ X,Y,B � � 3,63:ȓ X,Y,640,512:� �( �:ȗ X1,Y1,B:� X<>X1 � Y<>Y1 � B<>0 �$ ȓ X,Y,640,512:ȓ X1,Y1,640,512 � X=X1:Y=Y1:� B<>0 � � B=4 � �1 Y+=512:y%=(1024-Y)/2:x%=X:offset%=y%*1280+x% � ȕ offset%/4<>offset%�4 � offset%-=1:� �. !zoom_source_address=memblock%+20+offset% � !zoom_dest_address=screen% � � zoom_code% �$ � �undo("Zoom 2:1 - options") � � �display_memory � � � � zoom_code%:�upload_memory � � � � � ȓ X1,Y1,640,512 � � � ȗ ȓ 0,0,1280,1024 � � � � � �undo(title$) �* �wait_no_button:ȗ ȓ 490,100,300,120 �A �raised_block(490,100,300,120):�raised_block(510,120,108,40) �" �raised_block(660,120,108,40) � �write2(title$,494,180,0) � �write2("RESET",512,124,4) � �write2("OK",684,124,4) � �:ȗ X,Y,B:� B=4 � ȗ ȓ 0,0,1280,1024 �0 � �(X-712)<52 � �(Y-142)<22 � un%=0 � un%=� � =un% � � � �undo_dither �$ �display_memory:�wait_no_button �& !zoom_source_address=memblock%+20 �0 !zoom_dest_address=screen%:� preview320x256 �" � �undo(" Preview options") � � �display_memory � � �$ � preview320x256:�upload_memory � � � � � � � �zoom_assemble � � zoom_code% 360 � red=1:green=2:blue=11 �< source_base=3:dest_base=4:source_offset=5:dest_offset=6 �. data1=7:data2=8:lines=9:mask1=10:offset=5 � � P=0 � 2 �2 � P%=zoom_code% � [OPT P � � .zoom_pic �H LDR source_base,zoom_source_address:LDR dest_base,zoom_dest_address �; MOV source_offset,#0:MOV dest_offset,#0:MOV lines,#256 � LDR mask1,mask_bits � .zoom_loop �* LDR data1,[source_base,source_offset] � � data1,data1,mask1 �1 MOV data2,data1,LSL#16:ADD data2,data2,data1 �D STR data2,[dest_base,dest_offset]:ADD dest_base,dest_base,#1280 �D STR data2,[dest_base,dest_offset]:SUB dest_base,dest_base,#1280 �# ADD dest_offset,dest_offset,#4 �* LDR data1,[source_base,source_offset] �/ MOV data1,data1,LSR#16:� data1,data1,mask1 �1 MOV data2,data1,LSL#16:ADD data2,data2,data1 �D STR data2,[dest_base,dest_offset]:ADD dest_base,dest_base,#1280 �D STR data2,[dest_base,dest_offset]:SUB dest_base,dest_base,#1280 �# ADD dest_offset,dest_offset,#4 �' ADD source_offset,source_offset,#4 �) CMP source_offset,#640:BLT zoom_loop �, MOV source_offset,#0:MOV dest_offset,#0 �& ADD source_base,source_base,#1280 �" ADD dest_base,dest_base,#2560 �& SUBS lines,lines,#1:BNE zoom_loop � MOV PC,R14 � .preview320x256 H LDR source_base,zoom_source_address:LDR dest_base,zoom_dest_address ! MOV offset,#0:MOV lines,#256 .preview_loop 3 LDR data1,[source_base,offset]:� red,data1,#31 C MOV R0,data1,LSR#16:� R0,R0,#31:ADD R0,R0,red:MOV red,R0,LSR#1 , MOV green,data1,LSR#5:� green,green,#31 G MOV R0,data1,LSR#21:� R0,R0,#31:ADD R0,R0,green:MOV green,R0,LSR#1 * MOV blue,data1,LSR#10:� blue,blue,#31 E MOV R0,data1,LSR#26:� R0,R0,#31:ADD R0,R0,blue:MOV blue,R0,LSR#1 / MOV green,green,LSL#5:MOV blue,blue,LSL#10 - ADD data1,red,green:ADD data1,data1,blue 1 MOV data2,data1,LSL#16:ADD data2,data2,data1 ? STR data2,[dest_base,offset]:ADD dest_base,dest_base,#1280 ? STR data2,[dest_base,offset]:SUB dest_base,dest_base,#1280 ; ADD offset,offset,#4:CMP offset,#1280:BNE preview_loop & ADD source_base,source_base,#2560 0 ADD dest_base,dest_base,#2560:MOV offset,#0 ) SUBS lines,lines,#1:BNE preview_loop MOV PC,R14 .zoom_source_address EQUD 0 .zoom_dest_address EQUD 0 6 .mask_bits EQUD %00000000000000001111111111111111 ] � � � �menu(mmx%,mmy%,sub%) ' ȗ � 1:N%=0:W%=0:ȕ menu$(N%)<>"*" $ L%=�(menu$(N%)):� L%>W% � W%=L% N%+=1:� � � sub% � ! � �menu$(0),2)=" " � ": menu$(N%)=" [Close menu]":menu$(1)=" [Close menu]" # � $6 menu$(N%)="[Close menu]":menu$(1)="[Close menu]" % � & � N%-=1 ' � (+ � sub% � mmx%=main_mmx%+main_width%+12 ) � menu_redraw% � sub% � *> �raised_block(mmx%,mmy%,W%*16,N%*36+64):�128+63 Ȝ0:M%=N% +- � Y%=mmy% � (mmy%+(N%-1)*36) �36:� 0,0,0 ,) � �menu$(M%),">")<>0 � fc%=2 � fc%=0 -% � (M%=N% � M%=1) � �(sub%) fc%=7 .# � �menu$(M%),"---")<>0 � fc%=3 /- m$=menu$(M%):� �m$,1)=">" m$=�m$,� m$-1) 0 �write2(m$,mmx%,Y%+16,fc%) 1 � �menu$(M%),1)=">" � 2D ș sprswi%,256+52,spb%,"sub",mmx%+W%*16-24,Y%+22,8,0,translate% 3 �:M%-=1:�:menu_redraw%=0 4% � sub% � � 128,64,0 � � 0,64,128 5+ ȓ Ȑ mmx%+4,mmy%+N%*36+20,W%*16-10,40 6- �write2(menu$(0),mmx%+4,mmy%+N%*36+20,0) 7+ �write2(menu$(0),mmx%,mmy%+N%*36+24,1) 8 � 9 � 3,255,255,255 :% ȓ Ȑ main_x%,main_y%,main_w%,36 ; � <* ȗ ȓ mmx%-4,mmy%+12,W%*16-64,N%*36+4 =) ȗ ȓ mmx%-4,mmy%+12,W%*16+8,N%*36+4 >4 � sub% � ȗ ȓ mmx%-32,mmy%+12,W%*16+32,N%*36+4 ? effect%=3:�wait_no_button @' BX%=mmx%+4:BY%=mmy%+8:BW%=W%*16-32 A) T%=mmy%+N%*36+10:subx%=mmx%+W%*16-24 B � C � effect%,255,255,255 D! ȗ X,Y,B:menu_box%=(T%-Y)�36 E( ȓ Ȑ BX%,T%-32-menu_box%*36,BW%,36 F$ �:ȗ x,y,B:menu_box2%=(T%-y)�36 G � x<mmx%-24 � sub% � B=99 H8 m$=menu$(menu_box2%+1):� x>subx% � �m$,1)=">" � B=8 I �check_alt_s_save J# � menu_box2%<>menu_box% � B<>0 K( ȓ Ȑ BX%,T%-32-menu_box%*36,BW%,36 L< � �menu$((T%-y)�36+1),"---")<>0 � effect%=5 � effect%=3 M � B<>0 N � B<8 � O � F%=1 � 5 P1 ȓ Ȑ BX%,T%-32-menu_box2%*36,BW%,36:Ȗ:Ȗ:� Q � R) ȓ Ȑ BX%,T%-32-menu_box2%*36,BW%,36 S � T � �(sub%) � U% main_mmx%=mmx%:main_width%=W%*16 V8 main_x%=BX%:main_y%=T%-32-menu_box2%*36:main_w%=BW% W � X menu_box%=(T%-y)�36+1 YB � menu_box%=N% � �(sub%) menu_box%=1 : � 1 = main menu cancel ZC � B=99 � menu_box%=99 : � 99 = sub-menu cancel [2 � sub% � �redraw(mmx%-6,82,W%*16+16,N%*36+80) \ ȗ ȓ 0,0,1280,1024 ] � ^ _ � �redraw(rx%,ry%,rw%,rh%) `C tl%=ry%+rh%:A%=((screen_lines%*2-tl%)�2)*1280+rx%:A%=A%-(A%�4) a= !redraw_source=A%+memblock%+20:!redraw_screen=screen%+A% b9 !redraw_bytes=rw%:!redraw_lines=rh%/2:� redraw_code% c � d e � �redraw_assemble f � redraw_code% 128 g � P=0 � 2 � 2 h P%=redraw_code% i [OPT P j. LDR R2,redraw_source:LDR R3,redraw_screen k6 LDR R4,redraw_bytes:LDR R5,redraw_lines:MOV R1,#0 l .redraw_loop m" LDR R0,[R2,R1]:STR R0,[R3,R1] n+ ADD R1,R1,#4:CMP R1,R4:BLT redraw_loop o. ADD R2,R2,#1280:ADD R3,R3,#1280:MOV R1,#0 p" SUBS R5,R5,#1:BNE redraw_loop q MOV PC,R14 r .redraw_source EQUD 0 s .redraw_screen EQUD 0 t .redraw_bytes EQUD 0 u .redraw_lines EQUD 0 v ] w � x � y z � �perp_menu { menu$(0)="Tile colours" | menu$(1)="White" } menu$(2)="Yellow" ~ menu$(3)="Cyan" menu$(4)="Green" � menu$(5)="Magenta" � menu$(6)="Red" � menu$(7)="Blue" � menu$(8)="Orange" � menu$(9)="Sky blue" � menu$(10)="Pink" � menu$(11)="Crimson" � menu$(12)="Purple" �! menu$(13)="*":�menu(0,90,-1) � pr=255:pg=255:pb=255 � Ȏ menu_box% � � � 1:pr=255:pg=255:pb=255 � � 2:pr=255:pg=255:pb=0 � � 3:pr=0:pg=255:pb=255 � � 4:pr=0:pg=255:pb=0 � � 5:pr=255:pg=0:pb=255 � � 6:pr=255:pg=0:pb=0 � � 7:pr=0:pg=0:pb=255 � � 8:pr=255:pg=128:pb=0 � � 9:pr=0:pg=128:pb=255 � � 10:pr=255:pg=128:pb=255 � � 11:pr=255:pg=0:pb=128 � � 12:pr=128:pg=0:pb=255 � � � Ȏ pr � � � 255:pri=.6 � � 128:pri=.3 � � 0 :pri=0 � � � Ȏ pg � � � 255:pgi=.6 � � 128:pgi=.3 � � 0 :pgi=0 � � � Ȏ pb � � � 255:pbi=.6 � � 128:pbi=.3 � � 0 :pbi=0 � � �! � menu_box%<>99 � �make_perp � � � � � �make_perp �0 pm%=MEM%:MEM%+=1:� MEM%>=memories% � MEM%=0 �+ �memory_select(MEM%,0):�display_memory �$ MEM%=pm%:�memory_select(MEM%,0) � X=50:W=1180 � r=pr-56:� r<0 � r=0 � g=pg-56:� g<0 � g=0 � b=pb-56:� b<0 � b=0 � R=r:G=g:B=b � � R=0 � ri=2.3 � ri=.5 � � G=0 � gi=2.3 � gi=.5 � � B=0 � bi=2.3 � bi=.5 �+ � Y%=164 � 204:� R,G,B:� 50,Y%,1230,Y% � R+=ri:G+=gi:B+=bi:� �+ � Y%=204 � 244:� R,G,B:� 50,Y%,1230,Y% � R-=ri:G-=gi:B-=bi:� � � Y%=242 � 764 �2 �( � pr,pg,pb:� X,Y%,X+W,Y%:X+=.5:W-=1 � pr=pr-pri:� pr<0 � pr=0 � pg=pg-pgi:� pg<0 � pg=0 � pb=pb-pbi:� pb<0 � pb=0 � � �/ A%=memblock%+20+40960:W%=880:SX=200:Y%=140 �� � N%=A%�A%+611840�2560:X=SX:XI=W%/640:� J%=N%�N%+1278�2:S%=(1280*Y%+� X+screen%)�2*2:?S%=?J%:?(S%+1)=?(J%+1):X=X+XI:�:SX-=.5:W%+=1:Y%+=1 �! �:menu_box%=1:�upload_memory � � � � � �load_rx_and_tx_code �: � rx_code% �file_len("<Pscan$Dir>.Resources.PscanRX") �8 �("LOAD <Pscan$Dir>.Resources.PscanRX "+�~rx_code%) �$ rx_param%=rx_code%+(rx_code%!4) � rx_parameters%=rx_param% � �: � hq_rx_code% �file_len("<Pscan$Dir>.Resources.HQRX") �8 �("LOAD <Pscan$Dir>.Resources.HQRX "+�~hq_rx_code%) �- hq_rx_param%=hq_rx_code%+(hq_rx_code%!4) � hq_parameters%=hq_rx_param% � �< � rx_table% �file_len("<Pscan$Dir>.Resources.RX_table") �: �("LOAD <Pscan$Dir>.Resources.RX_table "+�~rx_table%) � �A � pd_rx_table% 4096 : � This table converts counts to 64-192 � � C%=0 � 4095 � F=(1/(4096-C%))*1000000 � D=(F-1500)/3.125/2+64 � � D<0 D=0 � � D>255 D=255 � pd_rx_table%?C%=D:� � �I � pd_auto_table% 3400 : � Convert measured sync frequency to offset. �3 � C%=3096 � 3382 : � 1000 to 1400 Hz only. � F=(1/(4096-C%))*1000000 � D=(F-1000)/3.125/2+32 � pd_auto_table%?C%=D:� � �G � tuning_indicator_table% 4096 : � Convert counts to screen offset � � C%=0 � 4095 � F=(1/(4096-C%))*1000000 � D=(F-1000)/5 �# tuning_indicator_table%?C%=D:� � � � green_store% 12800*4 �$ green_store2%=green_store%+2560 �$ blue_store%=green_store%+2560*2 �% blue_store2%=green_store%+2560*3 �# red_store%=green_store%+2560*4 � �create_ry_tables � �set_rx_parameters � �: � tx_code% �file_len("<Pscan$Dir>.Resources.PscanTX") �8 �("LOAD <Pscan$Dir>.Resources.PscanTX "+�~tx_code%) �# tx_param%=tx_code%+(!tx_code%) � �tx_params_setup � �< � vis_code% �file_len("<Pscan$Dir>.Resources.PscanVIS") �: �("LOAD <Pscan$Dir>.Resources.PscanVIS "+�~vis_code%) �' vis_param%=vis_code%+(vis_code%!4) � �? � offset_code% �file_len("<Pscan$Dir>.Resources.PscanOFF") �= �("LOAD <Pscan$Dir>.Resources.PscanOFF "+�~offset_code%) �1 offset_result%=offset_code%+(offset_code%!4) � �= � auto_code% �file_len("<Pscan$Dir>.Resources.AutoMode") �; �("LOAD <Pscan$Dir>.Resources.AutoMode "+�~auto_code%) � � � vis_table% 2360:N=0 � C=3392 � 3100 �-1 - F=(1/(4096-C))*1000000:F2=F-180:F3=F+180 4 C2%=4096-(1/F2*1000000):C3%=4096-(1/F3*1000000) 5 !(vis_table%+N)=C2%:!(vis_table%+N+4)=C3%:N+=8:� vis_param%!24=vis_table% � � �create_ry_tables I � tab_ry1% 1024,tab_by1% 1024,tab_y1% 1024,tab_r1% 1024,tab_b1% 1024 A%=0:� N%=-129 � 126 4 tab_ry1%!A%=�(N%*1.408):tab_by1%!A%=�(N%*1.786) A%+=4:� � N%=0 � 255 6 tab_y1%?N%=�((N%/2)*1.695):tab_r1%?N%=�(N%*0.508) tab_b1%?N%=�(N%*0.186):� � � �set_rx_parameters ; rx_param%!40=green_store%:hq_rx_param%!40=green_store% = rx_param%!44=green_store2%:hq_rx_param%!44=green_store2% 9 rx_param%!48=blue_store%:hq_rx_param%!48=blue_store% ; rx_param%!52=blue_store2%:hq_rx_param%!52=blue_store2% 7 rx_param%!56=red_store%:hq_rx_param%!56=red_store% � screen_lines%=512 � ? rx_param%!76=screen%+558560:hq_rx_param%!76=screen%+558560 � ? rx_param%!76=screen%+517600:hq_rx_param%!76=screen%+517600 � ? rx_param%!80=screen%+632932:hq_rx_param%!80=screen%+632932 5 rx_param%!32=rx_table%:hq_rx_param%!32=rx_table% 1 rx_param%!36=screen%:hq_rx_param%!36=screen% = rx_param%!116=pd_rx_table%:hq_rx_param%!116=pd_rx_table% !5 rx_param%!124=tab_ry1%:hq_rx_param%!124=tab_ry1% "5 rx_param%!128=tab_by1%:hq_rx_param%!128=tab_by1% #3 rx_param%!132=tab_y1%:hq_rx_param%!132=tab_y1% $3 rx_param%!136=tab_r1%:hq_rx_param%!136=tab_r1% %3 rx_param%!140=tab_b1%:hq_rx_param%!140=tab_b1% & � ' ( � �tx_table_62 ) G%=0:� X4% � M%=4 � M%=1 *& � F=1500*M% � 2301*M% � 800/31*M% + C=�(1/F/2*1000000*2-1+.5) , tx_table%!G%=C:G%+=4:� - � . / � �tx_table_248 0 G%=0:� X4% � M%=4 � M%=1 1' � F=1500*M% � 2301*M% � 800/248*M% 2 C=�(1/F/2*1000000*2-1+.5) 3 tx_table%!G%=C:G%+=4:� 4 � 5 6 � �set_fax_tx_tones 7 � X4% � 8& tx_param%!104=108:tx_param%!108=0 9% tx_param%!72=108 :tx_param%!76=0 : � ;& tx_param%!104=178:tx_param%!108=1 <% tx_param%!72=64 :tx_param%!76=3 = � > � ? @ � �set_sstv_tx_tones A � X4% � B& tx_param%!104=166:tx_param%!108=0 C$ tx_param%!72=207:tx_param%!76=0 D � E& tx_param%!104=154:tx_param%!108=2 F% tx_param%!72=64 :tx_param%!76=3 G � H � I J � �tx_params_setup K � tx_table% 1024 L � X4% � M% tx_param%!64=226 :tx_param%!68=0 N% tx_param%!72=207 :tx_param%!76=0 O% tx_param%!80=191 :tx_param%!84=0 P% tx_param%!88=166 :tx_param%!92=0 Q& tx_param%!96=131 :tx_param%!100=0 R& tx_param%!104=108:tx_param%!108=0 S � T% tx_param%!64=140 :tx_param%!68=3 U% tx_param%!72=64 :tx_param%!76=3 V% tx_param%!80=0 :tx_param%!84=3 W% tx_param%!88=154 :tx_param%!92=2 X& tx_param%!96=13 :tx_param%!100=2 Y& tx_param%!104=178:tx_param%!108=1 Z � [ � pd_tx_buffer% 2592 \ tx_param%!112=pd_tx_buffer% ]; � red30% 250,grn59% 250,blu11% 250,ry71% 250,by56% 256 ^ � N%=0 � 250 _ red30%?N%=�(N%*0.3+.5) ` grn59%?N%=�(N%*0.59+.4) a blu11%?N%=�(N%*.11+.5) b ry71%?N%=�(N%*.71+.5) c by56%?N%=�(N%*.56+.5) d � e. tx_param%!120=red30%:tx_param%!124=grn59% fA tx_param%!128=blu11%:tx_param%!132=ry71%:tx_param%!136=by56% g � h i � �tx_frame(rflag%) j �display_memory k � 63 Ȝ 192 l N%=tx_code%+(!tx_code%) mB � mode%>69 � mode%<80 � � 1997,"TX not available in HQ modes" n' � mode%>59 � mode%<68 � �cal_pd_97 o � mode%<20 � �cal_sstv_new p- � mode%>19 � mode%<23 � �cal_pasokon_new q � mode%>99 � �cal_fax_new r( N%!12=long% � 256:N%!16=long% � 256 s* N%!20=short% � 256:N%!24=short% � 256 t( N%!4=pixel% � 256:N%!8=pixel% � 256 u' � mode%>99 � N%!40=512 � N%!40=256 v8 � mode%>19 � mode%<23 � N%!40=496 : � Pasokon modes w9 � mode%>59 � mode%<68 � �tx_table_248 � �tx_table_62 x. N%!36=tx_table% : � pass tx table address y9 � mode%=62 � pd_offset%=�pd160_cursor � pd_offset%=0 zB � (mode%>19 � mode%<23) � (mode%>59 � mode%<66 � mode%<>62) � {5 pd_offset%=20480:� 32,32,32:ȓ Ȑ 0,992,1280,40 |+ �pd_mode_header(0,960):�upload_memory } � ~, � mode%=63 � mode%=65 � pd_offset%=1280 C N%!0=screen%+pd_offset% : � pass screen memory start address �" N%!28=memblock%+20+pd_offset% �; � mode%>99 � N%!52=TXphase% � 256:N%!56=TXphase% � 256 �B � N%=0 � 2592 �4:pd_tx_buffer%!N%=&7F7F7F7F:�:�wait_no_button � �; � rflag% �display_header_text(call$+" Pscan repeater") � �, � header_text% � mode%<100 � � rflag% � �( �display_header_text(header_text$) � � � � tx_param%!148=serial_base% � �F � pd_offset%<>1 � E%=mode%:�(tx_code%+8):� 1 = PD160 cursor abort � �display_memory:�mini_pad � � � � � �cal_hq � Ȏ mode% � �F � 70:L=705410:P=534:pixel%=266:rx_param%!60=254:rx_param%!120=320 �H rx_param%!36=screen%+5120:rx_param%!144=132:rx_param%!148=0 �- rx_param%!168=30:rx_param%!172=2 �> rx_param%!176=68:rx_param%!180=1:rx_param%!184=96 �5 corr=(L/1000000/2)*(clock_freq%-2000000) �% long%=(21680+corr)*2-0.5 �F � 71:L=873610:P=664:pixel%=331:rx_param%!60=254:rx_param%!120=320 �H rx_param%!36=screen%+5120:rx_param%!144=165:rx_param%!148=0 �- rx_param%!168=60:rx_param%!172=3 �? rx_param%!176=165:rx_param%!180=0:rx_param%!184=80 �5 corr=(L/1000000/2)*(clock_freq%-2000000) �- long%=(21690+corr)*2-0.5 � � �# short%=pixel%:rx_param%!100=10 � � � � � �cal_pd_97 � Ȏ mode% � �H � 60:L=754240 :P=286:pixel%=142:rx_param%!60=494:rx_param%!120=640: �L � screen_lines%=512 � rx_param%!36=screen%+23040 � rx_param%!36=screen% �H � 61:L=1000000:P=382:pixel%=190:rx_param%!60=494:rx_param%!120=640: �L � screen_lines%=512 � rx_param%!36=screen%+23040 � rx_param%!36=screen% �G � 62:L=804416 :P=382:pixel%=190:rx_param%!60=398:rx_param%!120=512 �- :rx_param%!36=screen%+56*1280+128 �G � 63:L=703040 :P=532:pixel%=265:rx_param%!60=254:rx_param%!120=320 �K � screen_lines%=512 � rx_param%!36=screen%+3840 � rx_param%!36=screen% �G � 64:L=508480 :P=190:pixel%=94:rx_param%!60=494:rx_param%!120=640: �L � screen_lines%=512 � rx_param%!36=screen%+23040 � rx_param%!36=screen% �G � 65:L=388160 :P=286:pixel%=142:rx_param%!60=254:rx_param%!120=320 �K � screen_lines%=512 � rx_param%!36=screen%+3840 � rx_param%!36=screen% � � � Ȏ mode% � � � 60,61,64:tp%=2560 � � 62 :tp%=2048 � � 63,65 :tp%=1280 � � �% TS=L-(tp%*P*2000000/clock_freq%) � T1=TS*clock_freq%/2000000 �# long%=�(T1*2-.5):short%=pixel% �2 rx_param%!100=16:rx_param%!144=pd_auto_table% �! rx_param%!192=pd_auto_lines% � �set_sstv_tx_tones � � � � � �cal_pasokon_new � Ȏ mode% � �8 � 20:long=7453:short=1203:pixel=52:line_time=409375 �: :pp1%=6976.5-4*208:pp2%=5*208:rx_param%!100=7 �? � 21:long=11179.5:short=1804.5:pixel=78:line_time=614062.5 �< :pp1%=10625-4*312.5:pp2%=5*312.5:rx_param%!100=9 �: � 22:long=14906:short=2406:pixel=104:line_time=818750 �? :pp1%=14543.5-4*416.5:pp2%=5*416.5:rx_param%!100=11 � � �E line_total=(pixel*2561*3+long+short+short)*(clock_freq%/2000000) �: line_error=line_total-line_time:long=long+line_error � rx_param%!60=495 :� lines �$ rx_param%!72=2560 :� 640 pixels �L � screen_lines%=512 � rx_param%!36=screen%+21760 � rx_param%!36=screen% � �set_sstv_tx_tones �7 long%=long*2-.5:short%=short*2-.5:pixel%=pixel*2-1 �6 tx_param%!140=pp1% � 128:tx_param%!144=pp2% � 128 � � � � � �cal_fax_new � Ȏ mode% � �1 � 100,120:pixel=388.5:l%=1000000:phase%=7999 �1 � 101,121:pixel=258.5:l%=666667 :phase%=5333 �1 � 102,122:pixel=193.5:l%=500000 :phase%=3999 �1 � 103,123:pixel=128.5:l%=333333 :phase%=2665 �1 � 104,124:pixel=95.5 :l%=250000 :phase%=1999 �1 � 105,125:pixel=63.0 :l%=166667 :phase%=1333 �0 � 106,126:pixel=47.0 :l%=125000 :phase%=999 � � �3 TXphase%=�(((l%/20)*clock_freq%/2000000)*2)-.5 �@ tv%=pixel*4*640:cst=l%-(tv%*2000000/clock_freq%):cst-=pixel �4 long%=�(cst*2-.5):short%=long%:pixel%=pixel*2-1 �7 � mode%>119 � rx_param%!60=550 � rx_param%!60=1020 �' rx_param%!72=2560 :� 640 pixels �2 rx_param%!36=screen% :� Start at top of frame �8 rx_param%!84=phase% � 256:rx_param%!88=phase% � 256 �< rx_param%!156=&03000000:rx_param%!160=0:rx_param%!164=0 �? � mode%>119 � rx_param%!152=0 � rx_param%!152=fax_average% � �set_fax_tx_tones � � � � � �cal_sstv_new � Ȏ mode% � � � 1 � Ȏ sstv_time% � �! � 1:long=5763.5:short=329.5 �! � 2:long=5623.5:short=399.5 �! � 3:long=5843.5:short=289.5 � � �" pixel=114.5:line_time=446446 �6 � 2:long=6205:short=771:pixel=57:line_time=226798 �9 � 5:long=10392:short=1392:pixel=108:line_time=428220 �8 � 6:long=10175:short=1175:pixel=69:line_time=277692 �: � 9:long=10230:short=1230:pixel=270:line_time=1050300 �8 � 11:long=6710:short=533:pixel=183:line_time=711045 �8 � 12:long=5828:short=974:pixel=183:line_time=711045 � � �E line_total=(1281*pixel*3+long+short+short)*(clock_freq%/2000000) �9 line_error=line_total-line_time:long=long+line_error � rx_param%!60=255 :� lines �@ rx_param%!72=1280 :� 1280 "samples", each 1 is average of 4 �K � screen_lines%=512 � rx_param%!36=screen%+2560 � rx_param%!36=screen% � rx_param%!100=6 �7 long%=long*2-.5:short%=short*2-.5:pixel%=pixel*2-1 � � � � �rx_sstv(rflag%) � � rflag% � ) �3,255,255,255:ȓ Ȑ 10*64+8,6,48,46 � L%=0 � auto_find% � �auto_mode_find auto_find%=� � / � L%=1 � L%=2 � �dismini:�wait_no_button:� 1 � Auto-mode aborted (L%=1) or timeout (L%=2) N � mode%=70 � mode%=71 rx_param%=hq_parameters% � rx_param%=rx_parameters% ' �set_rx_parameters:rx_param%!152=0 - � N%=0 � 12796 �4:green_store%!N%=3440:� 2 � mode%=60 � mode%=61 � mode%=62 � mode%=64 � � 32,32,32 � mode%=62 � ȓ Ȑ 0,0,1280,1024 � ȓ Ȑ 0,988,1280,64 � � ! � 0,0,0:ȓ Ȑ 0,1020,1280,4 � � mode%<20 � �cal_sstv_new !- � mode%>19 � mode%<23 � �cal_pasokon_new " � mode%>99 � �cal_fax_new #' � mode%>59 � mode%<67 � �cal_pd_97 $$ � mode%>69 � mode%<80 � �cal_hq %A short2%=short%+pixel%:lines%=rx_param%!60:rx_param%!68=mode% &6 rx_param%!0=pixel% � 256:rx_param%!4=pixel% � 256 '7 rx_param%!8=pixel% � 256:rx_param%!12=pixel% � 256 (: rx_param%!16=short2% � 256:rx_param%!20=short2% � 256 )6 rx_param%!24=long% � 256:rx_param%!28=long% � 256 *" � mode%<100 �tuning_indicator +< � mode%>99 � mbox%=10 � rx_param%!92=1 � rx_param%!92=0 , rx_param%!196=serial_base% - � . �wait_no_button:K=�(1) /1 �interface_offset:rx_param%!112=Ioffset% � 2 0* rx_param%!188=tuning_indicator_table% 1 rx_param%!64=0 25 � mode%=70 � mode%=71 � hq_rx_code% � � rx_code% 3 � rx_param%!64=96 � 4 � 96 = re-sync 5! � mode%>99 � rx_param%!92=1 6 � mode%>59 � mode%<80 � 7# rx_param%!60=(rx_param%!60)-2 8 � 9# rx_param%!60=(rx_param%!60)-1 : � ; � < � rx_param%!64<>96 = >! � lines%-(rx_param%!60)>12 � ?D N%=screen_lines%*2-1-(((rx_param%!36)-screen%)�640):�32,32,32 @ � N%>0 � A( � Y%=0 � N% �2:� 0,Y%,1280,Y%:� B � CP � mode%<20 � mode%=70 � mode%=71 � mode%=63 � mode%=65 !screen%=&80008000 D � E �display_memory F � G H% � rx_param%!164>511 � mode%>99 � I@ S%=screen%:SL%=(rx_param%!164)-511:screen%=screen%+1280*SL% J; �upload_memory:screen%=S%:sb%=rx_param%+156:sb2%=sb%+4 KA !sb%=&03000000:!sb2%=0:ș "OS_Word",22,sb%+3:�display_memory L � M N& � rflag% �upload_memory � �upmini O �7:� reset_t0_code% P �wait_no_button Q � R S � �tuning_indicator T" �raised_block(426,100,434,90) U � 0,0,0 V+ � N%=480 � 800 �40:ȓ Ȑ N%,108,2,54:� W" � 0,64,32:ȓ Ȑ 636,108,10,56 X# � 0,40,96:ȓ Ȑ 466,116,350,38 Y �write2("Lo",416,118,4) Z �write2("Hi",812,118,4) [= ș sprswi%,256+52,spb%,"ti_scale",458,170,8,0,translate% \ � ] ^ � �interface_offset _# offset_result%!16=serial_base% ` � offset_code% a- t1=(offset_result%!0)/(offset_result%!4) b. t2=(offset_result%!8)/(offset_result%!12) c N%=t2-t1+1 d+ � �(N%)<100 � Ioffset%=(Ioffset%+N%)/2 e � call$="G4IJE" � fA �63:� �23,58);"Last value:";N%;" Running average:";Ioffset% g � h � i j � �vis_start k) �3,255,255,255:ȓ Ȑ 8*64+6,8,112,44 l r%=64:g%=255:b%=64 m" � r%,g%,b%:ȓ Ȑ 612,24,10,10 n � mode%>99 � o �rx_sstv(�) p � q% � 196,196,196:ȓ Ȑ 390,6,112,46 r vis_quit%=0 s0 vis_param%!80=0 : � Normal (wide) bandwidth t vis_param%!4=serial_base% u � v �wait_no_button w �:� vis_code% x, g%=g%�255:� r%,g%,b%:ȓ Ȑ 612,24,10,10 y � !vis_param%<>256 z VIS%=!vis_param% { �vis_convert_to_mode(VIS%) | � good_vis% � }" � 255,64,0:ȓ Ȑ 612,24,10,10 ~- �5:�0 Ȝ0:�400,36:� mode$(mode%):�4:�:Ȗ �rx_sstv(�):vis_quit%=� � � �4 � VIS%=320 � auto_save%=0:�mini_pad:vis_quit%=� � � vis_quit% � � � � � � � �tx_test_tone(f%) � � X4% � M%=4 � M%=1 �% c%=�(1/(f%*M%)/2*1000000*2-1+.5) �2 vis_param%!56=c% � 256:vis_param%!60=c% � 256 �0 vis_param%!80=0 : � normal VIS / test tones � vis_param%!4=serial_base% �2 �wait_no_button:�raised_block(842,90,208,640) �% � 255,255,0:ȓ Ȑ 850,550,186,94 �! �write2("Sending",874,600,4) �" �write2(� f%+" Hz",874,560,4) �" �raised_block(870,200,150,40) � �write2("Cancel",884,204,4) � ȗ � 990,216:Ȗ � � vis_code%+(vis_code%!8) �# �wait_no_button:menu_redraw%=� � � � � � �update_rtc(upd%) � ?rtc_buffer%=1 �' ș "IIC_Control",&A0,rtc_buffer%,1 �' ș "IIC_Control",&A1,rtc_buffer%,6 � S$=�~rtc_buffer%?1:s%=�(S$) � � s%<30 � s%+=1:S$=�(s%) � � � S$<2 � S$="0"+S$ �, M$=�~rtc_buffer%?2:� � M$<2 � M$="0"+M$ �8 h%=rtc_buffer%?3:� bst_flag% � h%+=1:� h%=24 � h%=0 �! H$=�~h%:� � H$<2 � H$="0"+H$ � � H$>=��$,17,2) � �5 ?rtc_buffer%=8:$(rtc_buffer%+1)=H$+":"+M$+":"+S$ �' � upd% ș "OS_Word",15,rtc_buffer% � � � � � � � �check_for_bst � ?rtc_buffer%=1 �' ș "IIC_Control",&A0,rtc_buffer%,1 �' ș "IIC_Control",&A1,rtc_buffer%,6 �, H$=�~rtc_buffer%?3:� � H$<2 � H$="0"+H$ �6 T$=��$,17,2):� H$<>T$ � bst_flag%=� � bst_flag%=0 � � � � � �auto_save � � �( � 128+21 Ȝ0:�:�mini_pad:�vis_start � � VIS%<>320 � � ?rtc_buffer%=1 �' ș "IIC_Control",&A0,rtc_buffer%,1 �' ș "IIC_Control",&A1,rtc_buffer%,6 �, M$=�~rtc_buffer%?2:� � M$<2 � M$="0"+M$ �, H$=�~rtc_buffer%?3:� � H$<2 � H$="0"+H$ �# F$=��$,8,3)+��$,5,2)+"-"+H$+M$ �4 save_type$="jpeg1":�save_jpeg(auto_dir$+"."+F$) � auto_count%+=1:MEM%=MEM%+1 � � MEM%=memories% � MEM%=0 � � � � VIS%=320 � � � � � �waveform_assemble � � waveform_code% 400 � � P=0 � 2 �2 � P%=waveform_code% �' base1=3:data=4:offset1=5:offset2=6 �% increment=7:lines=8:wave_limit=9 � base2=10:rgb=11 � [OPT P �; LDR base1,waveform_source:LDR base2,waveform_plot_base �A LDR increment,waveform_increment:MOV R1,#1280:MOV lines,#256 �@ MOV offset1,#0:MOV offset2,#0:LDR wave_limit,waveform_limit � LDR rgb,waveform_rgb � .wave_loop �! LDR base2,waveform_plot_base � LDR data,[base1,offset1] �" CMP rgb,#2:�Q data,data,LSR#5 �# CMP rgb,#3:�Q data,data,LSR#10 � � R0,data,#31 �) MOV data,data,LSR#16:� data,data,#31 �# ADD R0,data,R0:MOV R0,R0,LSL#1 � MUL data,R0,R1 � SUB data,base2,data � LDR R0,[data,offset2] � CMP R0,wave_limit �0 ADDNE R0,R0,increment:STR R0,[data,offset2] �. ADD data,data,#1280:STR R0,[data,offset2] �3 ADD offset1,offset1,#16:ADD offset2,offset2,#4 �# CMP offset2,#320:BNE wave_loop �" MOV offset1,#0:MOV offset2,#0 �< ADD base1,base1,#2560:SUBS lines,lines,#1:BNE wave_loop � � .wave_exit � MOV PC,R14 � � .waveform_source EQUD 0 � .waveform_plot_base EQUD 0 �' .waveform_increment EQUD &00200020 �' .waveform_limit EQUD &03E003E0 � .waveform_rgb EQUD 0 � � ] � � � � � � � �waveform_monitor � exit%=0 � � � �display_memory �" � 64,64,64:ȓ Ȑ 0,0,1280,320 �# � 128,128,128:� 0,320,1280,320 � � 0,0,0 � ȓ Ȑ 20,14,318,254 � ȓ Ȑ 348,14,318,254 � ȓ Ȑ 676,14,318,254 �, �raised_block(1060,20,160,50) :� Cancel �, �raised_block(1060,100,160,50):� Upload � �write2("Cancel",1080,28,4) �! �write2("Upload",1080,108,4) � �write2("RED",144,274,1) � �write2("GREEN",458,274,1) � �write2("BLUE",794,274,1) � � m%=1 � � X%=1030 � 1210 � 60 9 �raised_block(X%,250,40,40):�write2(� m%,X%-2,254,4) < �raised_block(X%,190,40,40):�write2(�(m%+4),X%-2,194,4) m%+=1:� � 3,63 Ȝ192 Ȏ MEM% � � 0:ȓ Ȑ 1026,246,46,48 � 1:ȓ Ȑ 1086,246,46,48 � 2:ȓ Ȑ 1146,246,46,48 � 3:ȓ Ȑ 1206,246,46,48 � 4:ȓ Ȑ 1026,186,46,48 � 5:ȓ Ȑ 1086,186,46,48 � 6:ȓ Ȑ 1146,186,46,48 � 7:ȓ Ȑ 1206,186,46,48 � < !waveform_increment=&00400040:!waveform_limit=&03C003C0 !waveform_rgb=1 : � RED " !waveform_source=memblock%+20 ' !waveform_plot_base=screen%+642580 � waveform_code% !waveform_rgb=2 : � GREEN + !waveform_plot_base=screen%+642600+310 � waveform_code% !waveform_rgb=3 : � BLUE + !waveform_plot_base=screen%+642600+636 � waveform_code% � 50 Ȝ 192 / � Y=39.4 � 242.6 �25.4:� 18,Y:� 17,978,0:� ) � X=18 � 980 �82:� X,16:� 17,0,252:� �wait_no_button !& �:ȗ X,Y,B:K$=�(1):� B=4 � K$<>"" " � K$<>"" � # X=0:m%=�(K$)-49 $A � m%>-1 � m%<memories% �memory_select(m%,0):�display_memory % � & ' � B=4 � ( ) m%=99 ** � �check_button(1030,250,40,40) m%=0 +* � �check_button(1090,250,40,40) m%=1 ,* � �check_button(1150,250,40,40) m%=2 -* � �check_button(1210,250,40,40) m%=3 .* � �check_button(1030,190,40,40) m%=4 /* � �check_button(1090,190,40,40) m%=5 0* � �check_button(1150,190,40,40) m%=6 1* � �check_button(1210,190,40,40) m%=7 29 � m%<memories% �memory_select(m%,0):�display_memory 3 4( � �check_button(1060,100,160,50) � 5 �upload_memory:exit%=� 6 � 7 8' � �check_button(1060,20,160,50) � 9 �display_memory:exit%=� : � ; < � = > � exit% ? � @ A � �segment_menu B menu$(0)="Segment grads " C menu$(1)="Preset type 1" D menu$(2)="Preset type 2" E menu$(3)="Preset type 3" F menu$(4)="Preset type 4" G menu$(5)="User defined" H menu$(6)="*":�menu(0,90,-1) I Ȏ menu_box% � J � 1:R=255:G=0:B=0 K � 2:R=128:G=128:B=128 L � 3:R=128:G=128:B=255 M � 4:R=0:G=255:B=128 N- � 5:�rgb_sliders(0):R=red%:G=grn%:B=blu% O � P* � menu_box%<>99 � �segment_background Q � R S � �segment_background T �wait_no_button U# � 64,64,64:ȓ Ȑ 0,0,1280,1024 V# �raised_block(310,184,600,100) W> �write2("Move mouse pointer to desired centre",320,240,4) XC �write2("then click select - click adjust to abort",320,200,4) Y �:ȗ x,y,b:� b<>0:� b=4 � Z ȑ x,y:� x,y:� x,y [! RI=2:GI=1:BI=3:hi%=255:lo%=0 \ step=(2*�)/512 ] � A=0 � 2*�+step � step ^" � R,G,B:X=1640*� A:Y=1640*� A _( X2=1640*�(A+step):Y2=1640*�(A+step) ` � &B5,X2,Y2:� 0,0,X,Y a R+=RI b � R>hi% � R=hi%:RI=-RI c � R<lo% � R=lo%:RI=-RI d G+=GI e � G>hi% � G=hi%:GI=-GI f � G<lo% � G=lo%:GI=-GI g B+=BI h � B>hi% � B=hi%:BI=-BI i � B<lo% � B=lo%:BI=-BI j �:ȑ 0,0 k! � �(merge%) � �upload_memory l � m � n o � �pixel_rgb p x%=0:y%=0 q � r$ �display_memory:�wait_no_button s' �raised_block(550+x%,8+y%,160,108) t, � 220,220,120:ȓ Ȑ 550+x%,84+y%,158,30 u) �write2("RGB values",544+x%,84+y%,4) v( �write2("R G B",556+x%,44+y%,4) w ȗ X1,Y1,B x � y& �:ȗ X,Y,B:� X<>X1 � Y<>Y1 � B<>0 z rgb%=�X,Y):X1=X:Y1=Y {0 r%=rgb%�31:g%=(rgb%>>5)�31:b%=(rgb%>>10)�31 |# r$=�(r%):� �(r$)<2 � r$="0"+r$ }# g$=�(g%):� �(g$)<2 � g$="0"+g$ ~# b$=�(b%):� �(b$)<2 � b$="0"+b$ , � 208,208,216:ȓ Ȑ 560+x%,14+y%,140,28 � �write2(r$,550+x%,10+y%,4) � �write2(g$,600+x%,10+y%,4) � �write2(b$,650+x%,10+y%,4) � � B<>0 � � B=4 � y%=y% � 894 � � B=1:�display_memory � � � � � �mode(mode$) � � c$,ex,ey,mode,end �" � mode 64:end=mode+20:!mode=1 � mode!4=� �_m(mode$,"X","") � mode!8=� �_m(mode$,"Y","") � c$=�_m(mode$,"C","*") � � c$="*" � � c$=�_m(mode$,"G","") �) � c$="256" � !end=3:end!4=255:end+=8 � � � mode!12=�_bpp(c$) �" mode!16=� �_m(mode$,"F","-1") � ex=� �_m(mode$,"EX","-1") �& � ex<>-1 � !end=4:end!4=ex:end+=8 � ey=� �_m(mode$,"EY","-1") �& � ey<>-1 � !end=5:end!4=ey:end+=8 � !end=-1 � � � � � � � � � � mode � � � � � � � � �_m(s$,p$,d$) � � i,j:i=�s$,p$) �( � i<1 � d$="" � � 490,"Missing "+p$ � j=�s$+" "," ",i+1) �* � i<1 � fnm$=d$ � fnm$=�s$,i+1,j-i-1) � =fnm$ � � � �_bpp(n$) � Ȏ n$ � � � "2":bpp%=0 � � "4":bpp%=1 � � "16":bpp%=2 � � "256":bpp%=3 �% � "32T","32t","32K","32k":bpp%=4 � � "16M","16m":bpp%=5 �' :bpp%=0:� 490,"Bad parameter "+n$ � � � =bpp% � � � �mem_to_block(m%) � Ȏ m% � � � 1:mb%=mem1% � � 2:mb%=mem2% � � 3:mb%=mem3% � � 4:mb%=mem4% � � 5:mb%=mem5% � � 6:mb%=mem6% � � 7:mb%=mem7% � � 8:mb%=mem8% � � � =mb% � � � �quad_display �4 tl%=9:tr%=9:bl%=9:br%=9:quad_quit%=0:quad_ok%=0 �" � 0,32,64:ȓ Ȑ 0,0,1280,1024 �- !source_address=�mem_to_block(MEM%+1)+20 �C !dest_address=screen%+164160:!quarter_lines=256:� make_quarter � � M%=1:� QB%=4 � 7 �3 � � M%<=memories% � �: !dest_address=screen%+(QB% � 4)*163840+(QB% � 4)*320 �F !source_address=�mem_to_block(M%)+20:!mini_lines=128:� make_mini � M%+=7:� � � � � M%=3:� QB%=12 � 15 � � M%<=memories% � �: !dest_address=screen%+(QB% � 4)*163840+(QB% � 4)*320 �F !source_address=�mem_to_block(M%)+20:!mini_lines=128:� make_mini � M%+=1:� � � � � M%=2:� QB%=8 � 11 �3 � � M%<=memories% � �: !dest_address=screen%+(QB% � 4)*163840+(QB% � 4)*320 �F !source_address=�mem_to_block(M%)+20:!mini_lines=128:� make_mini � M%+=5:� � � � �0 � QB%=12 � 15:�quad_border(QB%,255,255,0):� �1 � QB%=4 � 7 �3:�quad_border(QB%,255,255,0):� �2 � QB%=8 � 11 �3:�quad_border(QB%,255,255,0):� � �quad_border2 �# �raised_block(460,800,360,120) �" �raised_block(490,820,120,40) �" �raised_block(668,820,120,40) � �write2("CANCEL",492,824,4) � �write2("OK",700,824,4) �, �write2("Pscan Quad Display",494,880,4) � � � �:ȗ X,Y,B:� B<>0 �/ � �(X-550)<62 � �(Y-844)<22 � quad_quit%=� �- � �(X-728)<62 � �(Y-844)<22 � quad_ok%=� �$ � �(quad_quit%) � �(quad_ok%) � �/ MB1%=(X � 321)+((1024-Y)� 257)*4:x1=X:y1=Y �N � MB1%=4 � MB1%=7 � MB1%=8 � (MB1%>10 � MB1%<16) � �quad_cursor(MB1%,X,Y) �' MB2%=(x1 � 321)+((1024-y1)� 257)*4 �7 � MB1%=4 � MB1%=7 � MB1%=8 � (MB1%>10 � MB1%<16) � �6 � MB2%=5 � MB2%=6 � MB2%=9 � MB2%=10 � �quad_move � � � � � � quad_quit% � quad_ok% � � quad_ok% � � �display_memory � � tl%<>9 � �0 !source_address=�mem_to_block(tl%)+20+40960 �B !dest_address=screen%+40960:!quarter_lines=240:� make_quarter � � � � tr%<>9 � �0 !source_address=�mem_to_block(tr%)+20+40960 �B !dest_address=screen%+41600:!quarter_lines=240:� make_quarter � � � � bl%<>9 � �0 !source_address=�mem_to_block(bl%)+20+40960 �C !dest_address=screen%+348160:!quarter_lines=240:� make_quarter � � � � br%<>9 � 0 !source_address=�mem_to_block(br%)+20+40960 C !dest_address=screen%+348800:!quarter_lines=240:� make_quarter � ! �upload_memory:�topscale2(0) � �dismini � � ! � �quad_border(qb%,r%,g%,b%) � r%,g%,b% , y%=768-((qb% � 4)*256):x%=(qb% � 4)*320 ȓ x%,y%,318,254 ȓ x%+2,y%+2,314,250 ȓ x%+4,y%+4,310,246 � � �quad_border2 4 � 255,0,0:ȓ 320,256,318,238:ȓ 640,256,318,238 * ȓ 320,496,318,238:ȓ 640,496,318,238 � � �quad_move Ȏ MB1% � � 4:M%=1 � 7:M%=8 � 8:M%=2 � 11:M%=7 � 12,13,14,15:M%=MB1%-9 � � M%<=memories% � # � MB2%=5 � MB2%=6 o%=16 � o%=8 C !dest_address=screen%+(MB2% � 4)*163840+(MB2% � 4)*320+1280*o% !M !source_address=�mem_to_block(M%)+20+1280*32:!mini_lines=120:� make_mini " �quad_border2 # Ȏ MB2% � $ � 5:tl%=M% % � 6:tr%=M% & � 9:bl%=M% ' � 10:br%=M% ( � ) � * � + , � �quad_cursor(source%,x,y) -8 qcx%=(source% � 4)*320:qcy%=768-((source% � 4)*256) .( xo%=x-qcx%:yo%=y-qcy%:� 3,63 Ȝ 192 / ȓ qcx%,qcy%,318,238 0 � 1 �:ȗ x1,y1,B 2 � x1<>x � y1<>y � B=0 3 � B<>0 � 4 ȓ qcx%,qcy%,318,238 5 qcx%=x1-xo%:qcy%=y1-yo% 6 ȓ qcx%,qcy%,318,238 7 x=x1:y=y1 8 � 9 ȓ qcx%,qcy%,318,238 : � ; � B=0 < � = >* � �quad_display_border(r%,g%,b%,qbw$) ? �display_memory @ Ȏ qbw$ � A � "n":qw%=10 B � "m":qw%=20 C � "w":qw%=30 D � E � r%,g%,b%:�display_memory F ȓ Ȑ 0,0,qw%,960 G ȓ Ȑ 0,960-qw%,1280,qw% H ȓ Ȑ 1279-qw%,0,qw%,960 I ȓ Ȑ 0,0,1280,qw% J ȓ Ȑ 640-qw%/2,0,qw%,960 K ȓ Ȑ 0,480-qw%/2,1280,qw% L �upmini M � N O � �quad_border_menu P � Q" menu$(0)=" Quad borders " R? � qbw$="n" � menu$(1)=�128+" Narrow" � menu$(1)=" Narrow" S? � qbw$="m" � menu$(2)=�128+" Medium" � menu$(2)=" Medium" T; � qbw$="w" � menu$(3)=�128+" Wide" � menu$(3)=" Wide" U! menu$(4)=" Colour selector" V menu$(5)="*":�menu(0,90,-1) W Ȏ menu_box% � X � 1:qbw$="n" Y � 2:qbw$="m" Z � 3:qbw$="w" [ � 4:�rgb_sliders(0) \ � ]! � menu_box%=4 � menu_box%=99 ^J � menu_box%=4 � �quad_display_border(red%,grn%,blu%,qbw$):menu_box%=1 _ � ` a � �reset_t0_assemble b � reset_t0_code% 64 c � P=0 � 2 �2 d P%=reset_t0_code% e [OPT P f SWI "OS_EnterOS" g MOV R2,#&03200000 h! MOV R0,#31:STRB R0,[R2,#&40] i! MOV R0,#78:STRB R0,[R2,#&44] j$ TEQP PC,#0:MOV R0,R0:MOV PC,R14 k ]:� l � m n � �pd160_cursor o& �wait_no_button:ȗ ȓ 0,0,254,222 p$ ȗ X,Y,B:� 3,63:ȓ X,Y,1024,768 q � r �:ȗ X1,Y1,B s � X1<>X � Y1<>Y � B<>0 t ȓ X,Y,1024,768 u ȓ X1,Y1,1024,768 v X=X1:Y=Y1:� B<>0 w ȓ X1,Y1,1024,768 x X%=(X � 4)*4:Y%=(Y � 2)*2 y ȗ ȓ 0,0,1280,1024 z � B=4 � { � 32,32,32 | ȓ Ȑ 0,0,1280,Y%-2 } ȓ Ȑ 0,0,X%-2,1024 ~ ȓ Ȑ 1024+X%,0,256,1024 ȓ Ȑ 0,Y%+768,1280,280 � �pd_mode_header(X%,Y%+768) � �upload_memory � pdr%=((224-Y%)/2)*1280+X% � � � pdr%=1 � � � =pdr% � � � �pd_mode_header(X%,Y%) �! � mode%=62 � W%=624 � W%=880 �* � mode%=63 � mode%=65 � H%=64 � H%=32 � � 48,48,184 � ȓ Ȑ X%,Y%,200,H% � ȓ Ȑ X%+W%+198,Y%,204,H% �% ȓ Ȑ X%,Y%,204,H%:� 255,255,255 � � Ȏ mode% � � � 20:pd$=" P-3" � � 21:pd$=" P-5" � � 22:pd$=" P-7" � � 60:pd$="PD180" � � 61:pd$="PD240" � � 62:pd$="PD160" � � 63:pd$="PD 90" � � 64:pd$="PD120" � � 65:pd$="PD 50" � � � �5 � � mode%=63 � mode%=65 � � �23,17,7,6,16;32;0; � h%=54 � � � �23,17,7,6,16;16;0; � h%=28 � � � � X%+W%+220,Y%+h%:� pd$ � � �(call$)>5 � x%=4 � x%=16 � � X%+x%,Y%+h%:� call$ � �23,17,7,6,8;8;0;:�4:�:Ȗ � G%=6:w=W%/31 � � x%=X%+200 � x%+W%-w � w �" � G%,G%,G%:ȓ Ȑ x%,Y%,w+8,H% � G%+=8:� � � � � � �load_on_line_manual �> mantile_size%=�file_len("<Pscan$Dir>.PSsprites.Mantile") �2 manual_size%=�file_len("<Pscan$Dir>.Manual") �1 � spr_manual% mantile_size%+manual_size%+32 �" !spr_manual%=mantile_size%+4 �8 spr_manual%!4=0:spr_manual%!8=16:spr_manual%!12=16 �C ș sprswi%,256+10,spr_manual%,"<Pscan$Dir>.PSsprites.Mantile" �D �("LOAD <Pscan$Dir>.Manual "+�~(spr_manual%+mantile_size%+16)) � � � � � �on_line_manual �$ T%=spr_manual%+mantile_size%+16 �D ch%=0:!man_block_temp=T%:!man_len_temp=manual_size%:� man_code% �# � 80,80,80:ȓ Ȑ 0,0,1280,1024 �% � 255,255,255:� 8,1008,1266,1008 �. � 8,1010,1266,1010:� 0,0,0:� 8,78,1266,78 �2 � 8,76,1266,76:� 16,16,16:� 1268,76,1268,1010 �1 � 1270,76,1270,1010:�5,26:�23,17,7,6,8;16;0; �- CR%=0:N%=0:manquit%=�:newpara%=�:page%=0 �( �manual_buttons:man_box%=99:�mouse3 � � �:�manual_background �= � newpara% � � 0,64,160:ȓ Ȑ 16,954,1240,48:� 255,255,0 �' � 24,992:!(page_store%+page%*4)=N% � �% �:K%=?(T%+N%):� K%=�"�" � CR%=26 � � K%=10 � �& � 13,10:CR%+=1:� BY 24,-4:� 0,0,0 �( � ?(T%+N%+3)=41 � CR%=25:newpara%=� � � newpara%=� � � � � K%>30 � � K% � N%+=1:� CR%>24 � � page%+=1 � � newpara% � page%>1 � �0 � BY 0,32:� 64,0,196:� "� End of chapter �" � � � � page%>1 � �manual_control �! CR%=0:� BY 24,-16:� manquit% � �4:�:Ȗ:�dismini � *POINTER 1 � � � � � �manual_control �! � 80,80,80:ȓ Ȑ 0,16,800,54 �" � 128,0,255:ȓ Ȑ 8,22,750,48 � � page%=2 � �K �write2("Click on a line in the index to go to that chapter",24,30,1) � � �K �write2("Click anywhere on this page to return to the index",24,30,1) � � �" �wait_no_button:� 3,63 Ȝ 192 � Ȏ man_box% � � � 8:ȓ Ȑ 924,22,110,48 � � 9:ȓ Ȑ 1038,22,110,46 � � �' � : � page%=2 when index displayed � �:ȗ X,Y,B �. � Y>200 � Y<860 � �(X-640)>32 � page%=2 � � �mouse3 � � � *POINTER 1 � � �% index%=(((1024-Y+8) � 36)-5)*2+1 � � X>640 � index%+=1 � � B<>0 �) � (index%>0 � index%<36) � page%=2 � �5 N%=man_chapter%!(index%*4):man_box%=2:newpara%=� � � �7 � Y>18 � Y<72 � man_box%=(X-10) � 114 � man_box%=0 � � � Ȏ man_box% � � � 0:N%=0:page%=0 � � 8:�man_page_back �C � 9:� CR%<>26 � ȓ Ȑ 1038,22,110,48 � N%=0:page%=0:man_box%=0 � � 10:manquit%=� � � �9 � man_box%=0 � man_box%=2 � man_box%>7 � man_box%<11 � � 0,0,0 � � � � � �man_page_back � page%>0 � page%<200 � ! N%=page_store%!((page%-2)*4) ! ȓ Ȑ 924,22,110,48:page%-=2 . � ?(T%+N%+2)=41 � newpara%=� � newpara%=� � � � �manual_background + � X%=8 � 848 � 420:� Y%=80 � 696 � 308 H ș sprswi%,256+52,spr_manual%,"mantile",X%,Y%,0,0,translate256%:�:� � � �manual_buttons 8 � X%=814 � 1156 � 114:�raised_block(X%,26,102,40):� < �write2("next >",1036,30,4):�write2("Cancel",1150,30,4) : �write2("< back",920,30,4):�write2("Search",806,30,6) � � �manual_assemble � man_code% 256 � P=0 � 2 �2 P%=man_code% [OPT P . LDR R3,man_block_temp:LDR R4,man_len_temp - LDR R5,man_chap_temp:MOV R2,#0:MOV R6,#0 3 .man_loop LDRB R0,[R3,R2]:CMP R0,#10:BNE no_lf , ADD R2,R2,#3:LDRB R0,[R3,R2]:CMP R0,#41 @ SUB R2,R2,#2:STREQ R2,[R5,R6]:ADDEQ R6,R6,#4:SUBEQ R2,R2,#1 / .no_lf ADD R2,R2,#1:CMP R2,R4:BLT man_loop MOV R0,R6:MOV PC,R14 .man_block_temp EQUD 0 .man_len_temp EQUD 0 .man_chap_temp EQUD 0 ! ] " � #F � page_store% 200*4,man_chapter% 50*4:!man_chap_temp=man_chapter% $ � % & � �tran_menu ' menu$(0)="Rotate or flip " ( menu$(1)="Rotate left 90" ) menu$(2)="Rotate right 90" * menu$(3)="Rotate 180" + menu$(4)="Flip left-right" , menu$(5)="Flip top-bottom" - menu$(6)="*":�menu(0,90,-1) . Ȏ menu_box% � /N � 1:x1%=128:y1%=-128:x2%=128:y2%=1151:x3%=1151:y3%=1151:x4%=1151:y4%=-128 0N � 2:x1%=1151:y1%=1151:x2%=1151:y2%=-128:x3%=128:y3%=-128:x4%=128:y4%=1151 1D � 3:x1%=1279:y1%=0:x2%=0:y2%=0:x3%=0:y3%=1023:x4%=1279:y4%=1023 2D � 4:x1%=1279:y1%=1023:x2%=0:y2%=1023:x3%=0:y3%=0:x4%=1279:y4%=0 3D � 5:x1%=0:y1%=0:x2%=1279:y2%=0:x3%=1279:y3%=1023:x4%=0:y4%=1023 4 � 5 � menu_box%<>99 � 6 �display_memory 7$ tran%!0=x1%*256:tran%!4=y1%*256 8% tran%!8=x2%*256:tran%!12=y2%*256 9& tran%!16=x3%*256:tran%!20=y3%*256 :& tran%!24=x4%*256:tran%!28=y4%*256 ;D memblock%!0=655420:memblock%!4=0:memblock%!8=16:memblock%!12=16 <7 ș sprswi%,256+16,memblock%,"tran",0,0,0,1279,1023 =# � 32,32,32:ȓ Ȑ 0,0,1280,1024 >2 ș sprswi%,256+56,memblock%,"tran",1,,0,tran% ? menu_box%=1:�upload_memory @ � A � B C � �merge D< !merge_mem_temp=memblock%+20:!merge_screen_temp=screen% E! � merge_code%:�upload_memory F � G H � �merge_assemble I � merge_code% 320 J7 mem_base=1:scrn_base=2:offset=3:data=4:new_word=12 K> red1=5:green1=6:blue1=7:red2=8:green2=9:blue2=10:lines=11 L � P=0 � 2 � 2 M P%=merge_code% N [OPT P O@ LDR mem_base,merge_mem_temp:LDR scrn_base,merge_screen_temp P! MOV offset,#0:MOV lines,#512 Q R .merge_loop S/ LDR data,[mem_base,offset]:� red1,data,#31 T* MOV data,data,LSR#5:� green1,data,#31 U) MOV data,data,LSR#5:� blue1,data,#31 V@ LDR R0,[scrn_base,offset]:� red2,R0,#31:MOV red2,red2,LSR#1 W< MOV R0,R0,LSR#5:� green2,R0,#31:MOV green2,green2,LSR#1 X9 MOV R0,R0,LSR#5:� blue2,R0,#31:MOV blue2,blue2,LSR#1 YE ADD red1,red1,red2:CMP red1,#31:MOVGT red1,#31:MOV new_word,red1 Z= ADD green1,green1,green2:CMP green1,#31:MOVGT green1,#31 [9 MOV green1,green1,LSL#5:ADD new_word,new_word,green1 \8 ADD blue1,blue1,blue2:CMP blue1,#31:MOVGT blue1,#31 ]7 MOV blue1,blue1,LSL#10:ADD new_word,new_word,blue1 ^ _( MOV data,data,LSR#6:� red1,data,#31 `* MOV data,data,LSR#5:� green1,data,#31 a) MOV data,data,LSR#5:� blue1,data,#31 b6 MOV R0,R0,LSR#6:� red2,R0,#31:MOV red2,red2,LSR#1 c< MOV R0,R0,LSR#5:� green2,R0,#31:MOV green2,green2,LSR#1 d9 MOV R0,R0,LSR#5:� blue2,R0,#31:MOV blue2,blue2,LSR#1 e3 ADD red1,red1,red2:CMP red1,#31:MOVGT red1,#31 f4 MOV red1,red1,LSL#16:ADD new_word,new_word,red1 g= ADD green1,green1,green2:CMP green1,#31:MOVGT green1,#31 h: MOV green1,green1,LSL#21:ADD new_word,new_word,green1 i8 ADD blue1,blue1,blue2:CMP blue1,#31:MOVGT blue1,#31 j7 MOV blue1,blue1,LSL#26:ADD new_word,new_word,blue1 k$ STR new_word,[scrn_base,offset] l9 ADD offset,offset,#4:CMP offset,#1280:BNE merge_loop mL MOV offset,#0:ADD mem_base,mem_base,#1280:ADD scrn_base,scrn_base,#1280 n' SUBS lines,lines,#1:BNE merge_loop o MOV PC,R14 p q .merge_mem_temp EQUD 0 r .merge_screen_temp EQUD 0 s ] t � u � v w � �read_sys_var(sv$) x1 ș "OS_ReadVarVal",sv$,sysvar%,255,0,3 �,,b% y. V$="":� N%=0 � b%-1:V$=V$+�(sysvar%?N%):� z =V$ { | � �file_len(f$) } � r0%,r5% ~$ ș "OS_File",17,f$ � r0%,,,,r5% � r0%=0 � �) � � ije_dev% � ș "OS_Byte",229,1,0 �" ș "Wimp_SetMode",modestore% � � 0,"File "+f$+" not found. This copy of Pscan may be corrupt - please re-install it from the original disk or ZIP file." � � � =(r5%+4) � � � � � �misc_backgrounds � menu$(0)="Miscellaneous " � menu$(1)="Squares" � menu$(2)="Spheres" � menu$(3)="Horizontal" � menu$(4)="Vertical" � menu$(5)="Diagonal" � menu$(6)="Spectrum - H" � menu$(7)="Spectrum - V" � menu$(8)="*":�menu(0,90,-1) � Ȏ menu_box% � � � 1:�squares � � 2:�spheres � � 3:�horiz_pipes � � 4:�vert_pipes � � 5:�diagonal2 � � 6,7:�spectrum(menu_box%) � � � � � � � �horiz_pipes �% RI=2:GI=6:BI=1:R=242:G=242:B=242 �, � Y%=0 � 1024 �2:� R,G,B:� 0,Y%,1280,Y% � R+=RI:G+=GI:B+=BI � � R>242 � R<12 � RI=-RI � � G>242 � G<12 � GI=-GI � � B>242 � B<12 � BI=-BI � � �! � �(merge%) � �upload_memory � � � � � �vert_pipes �% RI=2:GI=6:BI=1:R=242:G=242:B=242 �, � X%=0 � 1280 �2:� R,G,B:� X%,0,X%,1024 � R+=RI:G+=GI:B+=BI � � R>242 � R<12 � RI=-RI � � G>242 � G<12 � GI=-GI � � B>242 � B<12 � BI=-BI � � �! � �(merge%) � �upload_memory � � � � � �squares �. �:� y%=0 � 1024 � 120:� x%=0 � 1280 � 128 �< X%=x%:Y%=y%:W%=128:H%=128:R%=255:G%=68:B%=0:� N%=1 � 32 �! � R%,G%,B%:ȓ Ȑ X%,Y%,W%,H% �( G%+=6:X%+=2:Y%+=2:W%-=4:H%-=4:�:�:� �! � �(merge%) � �upload_memory � � � � � �spheres �) � 255,68,0:ȓ Ȑ 0,0,1280,1024:o%=32 �, � y%=0 � 1024 � 128:� x%=0 � 1280 � 128 �( X%=x%:Y%=y%:r%=64:R%=255:G%=68:B%=0 �3 � N%=1 � 32:� R%,G%,B%:ȏ Ȑ X%+o%+32,Y%+64,r% � G%+=6:r%-=2:�:�:o%=-o%:� �! � �(merge%) � �upload_memory � � � � � �spectrum(t%) �& �:ri=0:gi=0:bi=-2:r=255:g=0:b=255 � � t%=6 � �* p1%=254:p2%=508:p3%=762:p4%=1016:pi=2 � � �+ p1%=204:p2%=408:p3%=612:p4%=816:pi=2.4 � � � � X%=0 � 1272 �2 � � r,g,b �3 � t%=6 � ȓ Ȑ X%,0,2,1024 � ȓ Ȑ 0,X%,1280,2 � r+=ri:g+=gi:b+=bi � Ȏ X% � � � p1%:ri=0:gi=pi:bi=0:b=0 � � p2%:ri=-pi:gi=0:bi=0 � � p3%:ri=0:gi=0:bi=pi � � p4%:ri=0:gi=-pi:bi=0 � � � � � � t%=6 � ȓ Ȑ X%,0,8,1024 �! � �(merge%) � �upload_memory � � � � � �diagonal2 �% R=0:G=255:B=255:RI=16:GI=16:BI=4 � Y=2048:� X%=-1280 � 1280 �8 � � R,G,B:� X%,0:� 1280,Y �" � 85,1280,0:R+=RI:G+=GI:B+=BI � � R>255 R=255:RI=-RI � � G>255 G=255:GI=-GI � � B>255 B=255:BI=-BI � � R<0 R=0:RI=-RI � � G<0 G=0:GI=-GI � � B<0 B=0:BI=-BI �* Y-=6.4:�:� �(merge%) � �upload_memory � � � � � �text_mask_menu � menu$(0)="Text masks" �# menu$(1)="Create text mask " � � mask_created% � � menu$(2)="Plot text mask" � � �! menu$(2)="{no mask created}" � � � menu$(3)="*":�menu(0,90,-1) � Ȏ menu_box% � �& � 1:�create_text_mask:menu_box%=5 �$ � 2:�plot_text_mask:menu_box%=1 � � � � � � � �create_text_mask �# font$="":first_time%=�:quit%=� �4 �font_text(-1):menu_redraw%=�:xps%=xp%:yps%=yp% � � � � �! �32 Ȝ0:ȓ Ȑ 0,404,1280,620 � � � font$<>"" � � � � first_time% � " � 0,0,136:ȓ Ȑ 0,0,1280,1024 % � 200,200,200:ȓ Ȑ 0,0,1280,370 " �raised_block(784,16,216,342) ' � 255,180,100:ȓ Ȑ 784,320,212,38 9 ș sprswi%,256+52,spb%,"left",810,220,8,0,translate% : ș sprswi%,256+52,spb%,"right",930,220,8,0,translate% 9 ș sprswi%,256+52,spb%,"left",810,100,8,0,translate% : ș sprswi%,256+52,spb%,"right",930,100,8,0,translate% # �write2("x/y point",812,272,4) ! �write2("y point",828,152,4) �raised_block(798,32,80,32) �raised_block(904,32,80,32) �write2("UNDO",792,32,4) �write2("OK",914,32,4) # �write2(" Re-size",800,324,4) ? �write2("Click OK or press <return> to finish.",120,220,4) ' ȗ ȓ 784,16,216,338:first_time%=� � 1 !spr%=txtsize%:spr%!4=0:spr%!8=16:spr%!12=16 1 �make_text_mask(font$,text1$,text2$,xp%,yp%) 3 ș sprswi%,256+52,spr%,"textmask",32,460,8,0,0 �show_point_sizes �:K=�(1):� K=-1 point_button$="" $ �:ȗ X,Y,B:K=�(5):� B<>0 � K=13 � K=13 quit%=� � B=1 � B=4 � 1 � �(X-838)<44 � �(Y-48)<22 xp%=xps%:yp%=yps% ' � �(X-942)<44 � �(Y-48)<22 quit%=� !3 � �(X-830)<28 � �(Y-240)<28 point_button$="xm" "3 � �(X-942)<28 � �(Y-240)<28 point_button$="xp" #3 � �(X-830)<28 � �(Y-120)<28 point_button$="ym" $3 � �(X-942)<28 � �(Y-120)<28 point_button$="yp" % Ȏ point_button$ � &" � "xm":� xp%>10 xp%-=2:yp%-=2 '# � "xp":� xp%<200 xp%+=2:yp%+=2 ( � "ym":� yp%>10 yp%-=2 ) � "yp":� yp%<200 yp%+=2 * � + � , - mask_created%=� . � / � quit% � font$="" 0 �dismini 1 � 2 3 � �plot_text_mask 4 � mask_created% � 5$ �display_memory:�position_mask 6 � B=4 � 7B ș sprswi%,256+40,spr%,"textmask" �,,,W%,H%:W%=W%*2:H%=H%*2 8< ș sprswi%,256+16,spr%,"textmask",0,X%,Y%,X%+W%,Y%+H% 9( ș sprswi%,256+29,spr%,"textmask" :* ș sprswi%,256+61,spr%,"textmask",0 ; � 0:ȓ Ȑ 0,0,W%,H% < � text2$<>"" � =6 �write(font$,text1$,4,YO1%+H2%+yp%/2,xp%,yp%,4) >+ �write(font$,text2$,4,YO%,xp%,yp%,4) ? � @+ �write(font$,text1$,4,YO%,xp%,yp%,4) A � B& ș sprswi%,256+61,spr%,0,0:�:Ȗ CC overlay%=�:overlay_outline%=�:sprite_name$="textmask":OOC%=1 D mask_created%=� E � F � G � H I' � �write(F$,text$,x%,y%,xp%,yp%,c) J) � font%<>-1 ș "Font_LoseFont",font% K1 ș "Font_FindFont",,F$,xp%*16,yp%*16 � font% L t%=&65757254 M Ȏ c � NE � 0:ș "Font_SetPalette",,0,0,0,&FFFFFF00,0,t% :� Black no anti OE � 1:ș "Font_SetPalette",,0,0,0,0,&FFFFFF00,t% :� White no anti PB � 2:ș "Font_SetPalette",,0,1,14,&FFFFFF00,0,t%:� Black anti Q, � 3:ș "Font_SetPalette",,0,0,0,0,0,t% R. � 4:ș "Font_SetFontColours",font%,1,1,0 SK � 5:ș "Font_SetPalette",,0,1,14,&DC000000,&00FFFF00,t%:� Yellow anti TF � 6:ș "Font_SetPalette",,0,0,0,0,&00FFFF00,t% :� Yellow no anti UJ � 7:ș "Font_SetPalette",,0,1,14,&DC000000,&FFFFFF00,t%:� White anti V W: ș "Font_SetPalette",,0,0,0,0,c,t% : � RGB - no anti X � Y Z) ș "Font_Paint",font%,text$,16,x%,y% [" ș "Font_LoseFont",font%:�:Ȗ \ � ] ^+ � �text_bound_box(font$,text$,xp%,yp%) _) � font%<>-1 ș "Font_LoseFont",font% `8 ș "Font_FindFont",,font$,16*xp%,16*yp%,0,0 � font% a H%=0:ymin%=0:ymax%=0 b � N%=1 � �(text$) cB ș "Font_CharBBox",font%,�(�text$,N%,1)),16 �,r1%,r2%,r3%,r4% d � r2%<ymin% � ymin%=r2% e � r4%>ymax% � ymax%=r4% f4 ș "Font_Converttopoints",,1280,1024 � ,px%,py% g6 ș "Font_StringWidth",,text$,px%,py%,-1,256 �,,W% h# ș "Font_ConverttoOS",,W% �,W% i � j+ W%+=12:H%=ymax%-ymin%+4:YO%=(-ymin%)+4 k � l m3 � �make_text_mask(font$,text1$,text2$,xp%,yp%) nA �text_bound_box(font$,text1$,xp%,yp%):H1%=H%:W1%=W%:YO1%=YO% o � text2$<>"" � pA �text_bound_box(font$,text2$,xp%,yp%):H2%=H%:H%=H%+H1%+yp%/2 q � W1%>W% � W%=W1% r � s2 ș sprswi%,256+16,spr%,"textmask",0,0,0,W%,H% t& ș sprswi%,256+29,spr%,"textmask" u( ș sprswi%,256+60,spr%,"textmask",0 v" � 255,255,255:ȓ Ȑ 0,0,W%,H% w$ ș sprswi%,256+60,spr%,0,0:�:Ȗ x( ș sprswi%,256+61,spr%,"textmask",0 y � text2$<>"" � z4 �write(font$,text1$,4,YO1%+H2%+yp%/2,xp%,yp%,3) {) �write(font$,text2$,4,YO%,xp%,yp%,3) | � }) �write(font$,text1$,4,YO%,xp%,yp%,3) ~ � $ ș sprswi%,256+61,spr%,0,0:�:Ȗ �4 screen_grabbed%=0:overlay%=�:overlay_outline%=0 �# sprite_name$="textmask":OOC%=0 � � � � � �position_mask � ȗ X%,Y%,B%:p%=11 �3 ș sprswi%,256+52,spr%,"textmask",X%,Y%,p%,0,0 �0 �:� ȗ X1%,Y1%,B:� X1%<>X% � Y1%<>Y% � B<>0 �3 ș sprswi%,256+52,spr%,"textmask",X%,Y%,p%,0,0 �& � B=2 � p%=p% � 8:�wait_no_button �5 ș sprswi%,256+52,spr%,"textmask",X1%,Y1%,p%,0,0 � X%=X1%:Y%=Y1% � � B=1 � B=4 �: � B=4 � ș sprswi%,256+52,spr%,"textmask",X%,Y%,8,0,0 � � � �# � �sprite_shadow(ssx%,ssy%,s%) �6 ș sprswi%,256+40,spr%,sprite_name$ �,,,ssw%,ssh% �3 ș sprswi%,256+24,spr%,sprite_name$ �,,spradd% � � s%=1 � �$ � N%=0 � 31:d%=N%-2:� d%<0 d%=0 �& grndata?N%=d%:�:ssx%=(ssx% � 4)*4 �> !sprshad_mask=spradd%+(spradd%!36):!sprshad_table=grndata �2 !sprshad_bytes=(ssw%�4)*8:!sprshad_lines=ssh% �4 start%=screen%+(((1024-ssy%)�2)-ssh%)*1280+ssx% � start%+=13*1284:� S%=1 � 16 �E � start%-screen%<1280*4 � 796,"Shadow is too near top of screen" �+ !sprshad_screen=start%:� sprshad_code% � start%-=1284:� � � �: � N%=0 � 31:d%=N%/2:grndata?N%=d%:�:ssx%=(ssx% � 4)*4 �> !sprshad_mask=spradd%+(spradd%!36):!sprshad_table=grndata �2 !sprshad_bytes=(ssw%�4)*8:!sprshad_lines=ssh% �4 start%=screen%+(((1024-ssy%)�2)-ssh%)*1280+ssx% �E � start%-screen%<1280*4 � 796,"Shadow is too near top of screen" �/ � s%=2 � start%+=12*1282 � start%+=20*1282 �+ !sprshad_screen=start%:� sprshad_code% � � � � � � � �sprite_shadow_assemble � � sprshad_code% 320 �? scrn_base=1:mask_base=2:table=3:data1=4:lines=5:maskbits=6 �; word=7:Soffset=8:mask=9:Moffset=10:pixel1=11:pixel2=12 � � P=0 � 2 � 2 � P%=sprshad_code% � [OPT P �< LDR scrn_base,sprshad_screen:LDR mask_base,sprshad_mask �: LDR table,sprshad_table:MOV Soffset,#0:MOV Moffset,#0 �- LDR lines,sprshad_lines:MOV maskbits,#32 �! LDR mask,[mask_base,Moffset] � � .sprshad_loop �" LDR data1,[scrn_base,Soffset] �5 MOV pixel1,data1,LSL#16:MOV pixel1,pixel1,LSR#16 � MOV pixel2,data1,LSR#16 � � TST mask,#1:BEQ second � � MOV word,#0 �/ � data1,pixel1,#31:LDRB word,[table,data1] �/ MOV pixel1,pixel1,LSR#5:� data1,pixel1,#31 �1 LDRB R0,[table,data1]:ADD word,word,R0,LSL#5 �/ MOV pixel1,pixel1,LSR#5:� data1,pixel1,#31 �B LDRB R0,[table,data1]:ADD word,word,R0,LSL#10:MOV pixel1,word � � .second �3 MOV mask,mask,LSR#1:TST mask,#1:BEQ word_ready � � MOV word,#0 �/ � data1,pixel2,#31:LDRB word,[table,data1] �/ MOV pixel2,pixel2,LSR#5:� data1,pixel2,#31 �1 LDRB R0,[table,data1]:ADD word,word,R0,LSL#5 �/ MOV pixel2,pixel2,LSR#5:� data1,pixel2,#31 �B LDRB R0,[table,data1]:ADD word,word,R0,LSL#10:MOV pixel2,word � � .word_ready �? ADD word,pixel1,pixel2,LSL#16:STR word,[scrn_base,Soffset] �@ MOV mask,mask,LSR#1:SUBS maskbits,maskbits,#2:BNE more_bits �, MOV maskbits,#32:ADD Moffset,Moffset,#4 �! LDR mask,[mask_base,Moffset] � .more_bits �0 ADD Soffset,Soffset,#4:LDR R0,sprshad_bytes �$ CMP Soffset,R0:BLT sprshad_loop �, MOV maskbits,#32:ADD Moffset,Moffset,#4 �! LDR mask,[mask_base,Moffset] �1 MOV Soffset,#0:ADD scrn_base,scrn_base,#1280 �) SUBS lines,lines,#1:BNE sprshad_loop � MOV PC,R14 � � .sprshad_screen EQUD 0 � .sprshad_mask EQUD 0 � .sprshad_table EQUD 0 � .sprshad_bytes EQUD 0 � .sprshad_lines EQUD 0 � ] � � � � � � � �thumb_cursor(x,y) �@ tcx%=(thumb_box% � 8)*160+2:tcy%=898-((thumb_box% � 8)*128) �( xo%=x-tcx%:yo%=y-tcy%:� 3,63 Ȝ 192 � ȓ tcx%,tcy%,154,122 � � � �:ȗ x1,y1,B � � x1<>x � y1<>y � B=0 � � B<>0 � �1 ȓ tcx%,tcy%,154,122:tcx%=x1-xo%:tcy%=y1-yo% �# ȓ tcx%,tcy%,154,122:x=x1:y=y1 � � � ȓ tcx%,tcy%,154,122 � � � � B=0 � � � � � �show_thumbnails �% � 48,48,184:ȓ Ȑ 0,0,1280,1024 � � M%=1 � memories% �) !source_address=�mem_to_block(M%)+20 �- !dest_address=screen%+160*(M%-1)+1280*64 � � make_thumbnail:� �# � N%=1 � 8:load_list$(N%)="":� �9 � 255,255,255:ȓ Ȑ 30,980,420,8:ȓ Ȑ 818,980,420,8 �1 �write2("Pscan thumbnail display",460,964,0) �1 �write2("Pscan thumbnail display",456,968,1) �; �raised_block(32,40,40,40):�raised_block(80,40,184,40) �? �raised_block(272,40,40,40):�write2("Bank select",76,44,4) �/ �write2("<",32,44,4):�write2(">",272,44,4) E �raised_block(340,40,280,40):�write2("Create new bank",354,44,4) > �raised_block(660,40,280,40):�raised_block(970,40,280,40) * �write2("Undo last updates",660,44,4) ) �write2("Close thumbnails",980,44,4) 8 ș sprswi%,256+52,thblock%,"thumbnails",0,128,0,0,0 / thmodify%=�:thumb_load_file%=�:ff%=0:ft%=0 � ) � 128,255,255:ȓ 0,766,1276,126:N%=1 � X%=0 � 1280-160 �160 � N%=MEM%+1 � tc%=0 � tc%=5 * � tc%=0 � � 255,255,255 � � 48,48,184 , ȓ Ȑ X%,898,160,40:ȓ Ȑ X%,720,160,40 1 � N%=MEM%+1 � �write2("Current",X%+14,724,0) 3 � N%<=memories% � �write2(�(N%),X%+56,900,tc%) , N%+=1:� 128,255,255:ȓ X%,764,158,130:� # � 255,255,0:ȓ Ȑ 0,640,1280,2 % � 128,180,255:ȓ Ȑ 0,644,380,50 I �write2("Thumbnail bank "+� thumb_bank%+" of "+� thumb_max%,8,654,0) , �wait_no_button:fstart$="":� 64,255,128 �:ȗ X,Y,B �check_alt_s_save ) thumb_box%=((1024-Y)�128)*8+(X �160) % F$=$(thpath%+(thumb_box%-24)*80) � F$<>fstart$ � ȓ Ȑ 380,644,900,50 E � thumb_box%>23 � thumb_box%<56 �write2(F$,388,654,0):fstart$=F$ � � B=4 � B=1 � �(X-50)<30 � �(Y-64)<30 � � thumb_bank%>1 � + � B=1 � thumb_bank%=1 � thumb_bank%-=1 & �load_thumbnail_bank(thumb_bank%) !8 ș sprswi%,256+52,thblock%,"thumbnails",0,128,0,0,0 " � # � $ %! � �(X-288)<30 � �(Y-64)<30 � & � thumb_bank%<thumb_max% � '4 � B=1 � thumb_bank%=thumb_max% � thumb_bank%+=1 (& �load_thumbnail_bank(thumb_bank%) )8 ș sprswi%,256+52,thblock%,"thumbnails",0,128,0,0,0 * � + � , -& � thumb_box%>23 � thumb_box%<56 � . � Click on thumbnail / �thumb_cursor(X,Y):ȗ X,Y,B 0* thumb_box2%=((1024-Y)�128)*8+(X �160) 1 � thumb_box2%=thumb_box% � 2' F$=$(thpath%+(thumb_box%-24)*80) 3 � F$<>"{Empty}" � 4( ș "OS_File",20,F$ � ff%,,,,,,ft% 5' thumb_box%=99:thumb_load_file%=� 6 � 7 � 8C � thumb_box2%>7 � thumb_box2%<16 � thumb_box2%-8<memories% � 9' L$=$(thpath%+(thumb_box%-24)*80) : � L$<>"{Empty}" � ;# load_list$(thumb_box2%-7)=L$ <N sourceX%=(thumb_box% � 8)*160+2:sourceY%=1028-(((thumb_box%� 8)+1)*128) =L destX%=(thumb_box2% � 8)*160+2:destY%=1024-(((thumb_box2%� 8)+1)*128) >; � sourceX%,sourceY%:� BY 154,122:� &BE,destX%,destY% ? � @ � A � B � C D> � thumb_box%>7 � thumb_box%<16 � thumb_box%-8<memories% � E4 � Click on pic mem - possible drag to thumbnail F �thumb_cursor(X,Y):ȗ X,Y,B G; thumb_box2%=((1024-Y)�128)*8+(X �160):M%=thumb_box2%-8 H= � M%<memories% � MEM%=M%:memblock%=�mem_to_block(MEM%+1) I( � thumb_box2%>23 � thumb_box2%<56 � JL sourceX%=(thumb_box% � 8)*160+2:sourceY%=1024-(((thumb_box%� 8)+1)*128) KJ destX%=(thumb_box2% � 8)*160+2:destY%=1028-(((thumb_box2%� 8)+1)*128) L9 � sourceX%,sourceY%:� BY 154,122:� &BE,destX%,destY% MG �update_thumb_path(thumb_box2%-24,path$(thumb_box%-7)):thmodify%=� N � O � P Q@ � thumb_box%=58 � thumb_box%=59 �create_blank_thumbnail("") R S � thumb_box%>59 T U& � thumb_box%=60 � thumb_box%=61 � V) ș sprswi%,256+10,thblock%,thumbpix$ W( �("LOAD "+thumbpath$+" "+�~thpath%) X/ thmodify%=�:� N%=1 � 8:load_list$(N%)="":� Y � Z [ � thmodify% � \= ș sprswi%,256+16,thblock%,"thumbnails",0,0,128,1279,639 ]) ș sprswi%,256+12,thblock%,thumbpix$ ^< ș "OS_File",10,thumbpath$,&FFD,0,thpath%,thpath%+2560 _ � ` a � thumb_load_file% � b � ff%=0 � c= X=(thumb_box2% � 8)*160+2:Y=900-((thumb_box2% � 8)*128) d# � 48,48,184:ȓ Ȑ X,Y,154,122 e. $(thpath%+(thumb_box2%-24)*80)="{Empty}" f> ș sprswi%,256+16,thblock%,"thumbnails",0,0,128,1279,639 g* ș sprswi%,256+12,thblock%,thumbpix$ h< ș "OS_File",10,thumbpath$,&FFD,0,thpath%,thpath%+2560 iz � 1,"This picture seems to have been deleted, renamed or moved."+�13+�13+"The thumbnail entry has now been emptied." j � k Ȏ ft% � l � &FF9:�:�load_sprite(F$) m � &C85:�:�load_jpeg(F$) n � &96A:�:�load_pscan(F$) o � &69D:�:�load_targa(F$) p qL � 1,F$+" has a filetype of &"+�~ft%+". This cannot be loaded by Pscan." r � s � t u � NN%=1 � 8 v9 � load_list$(NN%)<>"" � load_list$(NN%)<>"{Empty}" � w* F$=load_list$(NN%):load_list$(NN%)="" x& ș "OS_File",20,F$ � ff%,,,,,,ft% y, MEM%=NN%-1:memblock%=�mem_to_block(NN%) z Ȏ ft% � { � &FF9:�:�load_sprite(F$) | � &C85:�:�load_jpeg(F$) } � &96A:�:�load_pscan(F$) ~ � &69D:�:�load_targa(F$) �L � 1,F$+" has a filetype of &"+�~ft%+". This cannot be loaded by Pscan." � � � � � � � � �dismini � � � � � �update_thumb_path(N%,P$) �� � P$="X" � 1,"Only pictures loaded from disk can be added to thumbnail bank."+�13+�13+"Modified or received pictures must be saved first." �G � �(P$)>78 � 1,"Path name is too long to store in thumbnail file." � $(thpath%+N%*80)=P$ � � � �" � �create_blank_thumbnail(t$) � � 48,48,184 � � t$="new" � � ȓ Ȑ 0,0,1280,1024 � � � ȓ Ȑ 0,128,1280,514 � � � � 255,255,0 � ȓ 0,128,1276,514 � � Y%=130 � 642-128 �128 � � X%=0 � 1280-160 �160 � ȓ X%,Y%,158,126:�:� �2 � t$="new" � N%=0 � N%=�count_thumbnail_banks �K � N%>31 � 1,"Maximum number of thumbnail banks (32) has been reached." �' N$=�(N%+1):� (N%+1)<10 � N$="0"+N$ �' thumbpix$=Thumbdir$+".ThumbPix"+N$ �( thumbpath$=Thumbdir$+".ThumPath"+N$ �= ș sprswi%,256+16,thblock%,"thumbnails",0,0,128,1279,639 �) ș sprswi%,256+12,thblock%,thumbpix$ �" � N%=0 � 2559:thpath%?N%=32:� �- � N%=0 � 31:$(thpath%+N%*80)="{Empty}":� �; ș "OS_File",10,thumbpath$,&FFD,0,thpath%,thpath%+&A00 �) thumb_max%+=1:thumb_bank%=thumb_max% � � � � � �count_thumbnail_banks �+ N%=1:�:� N%<10 N$="0"+�(N%) � N$=�(N%) �= F%=�(Thumbdir$+".ThumPath"+N$):�#F%:N%+=1:� F%=0 � N%>35 � =N%-2 � � � �load_thumbnail_bank(N%) � N$=�(N%):� N%<10 N$="0"+N$ �' thumbpix$=Thumbdir$+".ThumbPix"+N$ �( thumbpath$=Thumbdir$+".ThumPath"+N$ �) ș sprswi%,256+10,thblock%,thumbpix$ �( �("LOAD "+thumbpath$+" "+�~thpath%) � � � � � �qwiktext �- �display_memory:X=0:ys%=864:Y=ys%:qb%=-1 � � 3,63 � Ȏ qwiktext_colour% � � � 1:col%=&FFFFFF00 � � 2:col%=&00FFFF00 � � 3:col%=&FFFF0000 � � 4:col%=&00FF0000 � � 5:col%=&FF00FF00 � � 6:col%=&0000FF00 � � 7:col%=&FF000000 � � 8:col%=&00000000 � � � Ȏ qwiktext_block% � � � 10:r%=255:g%=255:b%=255 � � 11:r%=255:g%=255:b%=0 � � 12:r%=0:g%=255:b%=255 � � 13:r%=0:g%=255:b%=0 � � 14:r%=255:g%=0:b%=255 � � 15:r%=255:g%=0:b%=0 � � 16:r%=0:g%=0:b%=255 � � 17:r%=0:g%=0:b%=0 � � 18:qb%=0 � � � X1=1280-(� call$+3)*80 � � qb% � �# � r%,g%,b%:ȓ Ȑ X1,0,160,118 � ȓ Ȑ X1+80*3,0,1280,118 � � � � 3,63 � �qwrite("DE",col%,X1,24) �# �qwrite(call$,col%,X1+80*3,24) �, ș "OS_Byte",237,0,255 �,cursor_status% � ș "OS_Byte",237,1,0 � � � C=0 � � � ȓ Ȑ X,Y-24,80,118:C=�(C) � ȗ x,y,b:K=�(20) � � (� K) � b � � C ȓ Ȑ X,Y-24,80,118 � � � K>135 � K<140 � � Ȏ K � �1 � 136:X-=80:� X<0 X=1200:Y+=120:� Y>ys% Y=24 �0 � 137:X+=80:� X>1200 X=0:Y-=120:� Y<0 Y=ys% � � 138:Y-=120:� Y<0 Y=ys% � � 139:Y+=120:� Y>ys% Y=24 � � � � � � � K=30 � X=0:Y=ys%:� Home �% � K=135 � X=1200:Y=24:� End/Copy �" � K=27 � b=1:� Quit on Escape � � � K>31 � K<127 � � � qb% � K<>32 � �$ � r%,g%,b%:ȓ Ȑ X,Y-24,80,118 � � 3,63 � � � k$=� K �? � k$="g" � k$="j" � k$="p" � k$="q" � k$="y" yo%=4 � yo%=0 � �qwrite(� K,col%,X,Y+yo%) � X+=80 � � X>1200 � � X=0:Y-=120:� Y<0 Y=ys% � � � � � �" � K=13 X=0:Y-=120:� Y<0 Y=ys% � � � K=8 � K=127 � �+ X-=80:� X<0 X=1200:Y+=120:� Y>ys% Y=24 � �redraw(X,Y-24,84,120) � � � � b<>0 � b=4 �upload_memory & ș "OS_Byte",237,cursor_status%,0 �dismini � " � �qwrite(text$,qtcol%,x%,y%) 3 ș "Font_SetPalette",,0,0,0,0,qtcol%,&65757254 ) � font%<>-1 ș "Font_LoseFont",font% : ș "Font_FindFont",,"Corpus.Bold",52*16,56*16 � font% % ș "Font_Paint",,text$,&14,x%,y% ' ș "Font_Paint",,text$,&14,x%+4,y% ș "Font_LoseFont",font% � � �auto_mode_find % � 196,196,196:ȓ Ȑ 390,6,112,46 " �raised_block(426,100,434,90) 5 �write2("Searching for SSTV mode ...",440,128,4) �wait_no_button � �0,2); 8 auto_code%!12=30000 : � 30000 x 500 �S = 15 seconds auto_code%!16=serial_base% � auto_code%!4=Ioffset% � 2 ! � auto_code%:L%=auto_code%!8 � PRINT L% �mode_from_line_time(L%) � M%<>0 � L%=1 � L%=2 + � L%=1 on mouse abort, L%=2 on timeout � M%<>0 � mode%=M% - �5:�0 Ȝ0:�400,36:� mode$(mode%):�4:�:Ȗ ! � " � # $ � �mode_from_line_time(L%) % M%=0 & � �(L%-893)<4 M%=1 :� M1 ' � �(L%-454)<4 M%=2 :� M2 ( � �(L%-856)<4 M%=5 :� S1 ) � �(L%-555)<4 M%=6 :� S2 *! � �(L%-2101)<4 M%=9 :� S-DX +$ � �(L%-1422)<4 M%=11 :� SC2-180 , � �(L%-819)<4 M%=20 :� P3 - � �(L%-1228)<4 M%=21 :� P5 . � �(L%-1638)<4 M%=22 :� P7 /" � �(L%-1406)<3 M%=63 :� PD-90 0# � �(L%-1017)<4 M%=64 :� PD-120 1# � �(L%-1609)<4 M%=62 :� PD-160 2# � �(L%-1508)<4 M%=60 :� PD-180 3# � �(L%-2000)<4 M%=61 :� PD-240 4" � �(L%-776)<4 M%=65 :� PD-50 5! � �(L%-1411)<3 M%=70 :� HQ-1 6! � �(L%-1747)<4 M%=71 :� HQ-2 7 � 8 92 � �user_pathname(� start$,ux%,uy%,len%,flag%) : ȑ 0,0:start2$=start$ ; � flag% � < ȗ ȓ 0,942,1280,60 =" � 0,0,0:ȓ ux%+860,uy%,140,40 >& �write2("Cancel",ux%+874,uy%+4,4) ?? ș sprswi%,256+52,spb%,"list",ux%+808,uy%-2,0,0,translate% @ � A B' � 255,255,255:ȓ Ȑ ux%,uy%,780,40 C( �write2(start$+"|",ux%+4,uy%+4,100) D � E& �wait_no_button:�:K$=�(1):� K$="" F, �:ȗ X,Y,B:K$=�(1):� B=4 � B=1 � K$<>"" G � K$=�8 � K$=�127 H � �(K$)=127 � �(start$)>0 � I& L%=�(start$):start$=�start$,L%-1) J' � 255,255,255:ȓ Ȑ ux%,uy%,780,40 K( �write2(start$+"|",ux%+4,uy%+4,100) L � M � �(K$)=21 � N1 start$="":� 255,255,255:ȓ Ȑ ux%,uy%,780,40 O( �write2(start$+"|",ux%+4,uy%+4,100) P � Q. � �(start$)<len% � �(K$)>32 � �(K$)<127 � R2 start$+=K$:� 255,255,255:ȓ Ȑ ux%,uy%,780,40 S( �write2(start$+"|",ux%+4,uy%+4,100) T � U! � K$=�13 � K$=�9 � B=4 � B=1 V W ȑ 0,50:� 3,63 Ȝ192 X ȗ ȓ 0,-50,1280,926+80 Y Z � flag% � [( � (B=4 � X<1063) � K$=�9 � K$=�13 � \3 � �start$,1)="." start$=�start$,(� start$)-1) ]3 � �(start$)>6 dir$=start$:drv%=20:�click_info ^ � _ start$=start2$ ` � a& � X>1062 � X<1110 �list_Pathnames b � c d$ � �(flag%) � B=1 start$=start2$ e f � g h � �list_Pathnames i ref%=� j � k l � ref% � m �load_user_paths n@ ș sprswi%,256+52,spb%,"list_on",260+808,898,0,0,translate% o( � 220,220,255:ȓ Ȑ 256,236,782,642 p& � 255,0,0:ȓ 254,234,786,646:N%=1 q � y%=890 � 290 �-40 r, � y%=890 �write2("[ Cancel ]",260,y%,7) s. � y%=850 �write2(default_dir$,260,y%,102) t6 � y%<850 �write2(user_path$(N%),260,y%,100):N%+=1 u � v* ȗ ȓ 254,234,770,646:�wait_no_button w$ ȗ X,Y,B:y%=Y � 40:� 3,63 Ȝ192 x � y%=22 y%=21 y ȓ Ȑ 260,y%*40-1,758,38 z ref%=� { � | } � ~ �:ȗ X,Y,B:y2%=Y � 40 � � y2%=22 y2%=21 � � y2%=5 y2%=6 � � y2%<>y% � B<>0 � ȓ Ȑ 260,y%*40-1,758,38 � ȓ Ȑ 260,y2%*40-1,758,38 � y%=y2% � � � B=1 � y%<20 � � start$=user_path$(20-y%) �- �user_pathname(start$,256,y%*40+46,46,�) �* � � start$>5 user_path$(20-y%)=start$ � �update_pathnames_file � ref%=�:B=1 � � � � � B<>0 � � � � ref% � � � y%<20 � �5 � �(user_path$(20-y%))>5 dir$=user_path$(20-y%) � drv%=20:�click_info � � � � y%=20 dir$=default_dir$ � � � � � �load_user_paths �- F%=�("<Pscan$Dir>.UserFiles.Pathnames") � � N%=1 � 14 � user_path$(N%)=�#F% � � � �#F% � � � � � �update_pathnames_file �- F%=�("<Pscan$Dir>.UserFiles.Pathnames") � � N%=1 � 14 � �#F%,user_path$(N%) � � � �#F% � � � � � �pipe_border_menu(y%) �% menu$(0)="Pipe border options " �! menu$(1)="White pipe border" �" menu$(2)="Yellow pipe border" � menu$(3)="Cyan pipe border" �! menu$(4)="Green pipe border" �# menu$(5)="Magenta pipe border" � menu$(6)="Red pipe border" � menu$(7)="Blue pipe border" � menu$(8)="*":�menu(0,90,-1) �/ � menu_box%<>99 �pipe_border(menu_box%,y%) � � � �! � �pipe_border(pipe_col%,y%) � �display_memory � Ȏ pipe_col% � �/ � 1:r%=64:g%=64:b%=64:ri%=12:gi%=12:bi%=12 �- � 2:r%=64:g%=64:b%=0:ri%=12:gi%=12:bi%=0 �- � 3:r%=0:g%=64:b%=64:ri%=0:gi%=12:bi%=12 �+ � 4:r%=0:g%=64:b%=0:ri%=0:gi%=12:bi%=0 �- � 5:r%=64:g%=0:b%=64:ri%=12:gi%=0:bi%=12 �+ � 6:r%=64:g%=0:b%=0:ri%=12:gi%=0:bi%=0 �+ � 7:r%=0:g%=0:b%=64:ri%=0:gi%=0:bi%=12 � � � � y%=9 yy%=1022 � yy%=958 � � X%=0 � 64 �2 � � r%,g%,b% � ȓ X%,X%,1278-X%*2,yy%-X%*2 � r%+=ri%:� r%>240 ri%=-ri% � g%+=gi%:� g%>240 gi%=-gi% � b%+=bi%:� b%>240 bi%=-bi% � �:�upmini � � � �* � �plinth2(x,y,w,h,R1,G1,B1,RI,GI,BI) � R=R1:G=G1:B=B1 � � 24,x;y;x+w;y+h; � � x2=x-w � x+w �8 � � R,G,B:� x2,y:� x2+w,y+h+h �" � 85,x2+w,y:R+=RI:G+=GI:B+=BI � � R>255 R=255:RI=-RI � � G>255 G=255:GI=-GI � � B>255 B=255:BI=-BI � � R<0 R=0:RI=-RI � � G<0 G=0:GI=-GI � � B<0 B=0:BI=-BI � �:�26:Ȗ:� � � R1,G1,B1 �8 � x,y,x,y+h:� x+2,y+2,x+2,y+h-2:� x+4,y+4,x+4,y+h-4 � R2=R1/2:� R2<0 R2=0 � G2=G1/2:� G2<0 G2=0 � B2=B1/2:� B2<0 B2=0 � � R2,G2,B2 �D � x+w-2,y+2,x+w-2,y+h-2:� x+w,y,x+w,y+h:� x+w-4,y+4,x+w-4,y+h-4 � � 0,0,0 �< � x+2,y,x+w-2,y:� x+4,y+2,x+w-4,y+2:� x+6,y+4,x+w-6,y+4 � R3=R1*2:� R3>255 R3=255 � G3=G1*2:� G3>255 G3=255 � B3=B1*2:� B3>255 B3=255 � � R3,G3,B3 �H � x+2,y+h,x+w-2,y+h:� x+4,y+h-2,x+w-4,y+h-2:� x+6,y+h-4,x+w-6,y+h-4 � � � � � �display_header_text(h$) � � h$="NONE" � � h$=�h$,28) �' � mode%<20 � mode%=63 � mode%=65 � �3 �write("Panel.Fixed",�127+h$,190,956,24,24,6) � � �3 �write("Panel.Fixed",�127+h$,190,958,12,12,6) � � � �upload_memory � � � �# � �create_default_options_file �4 � Used when added parameters cause an EOF error �E � Only new/missing parameters are added - existing ones retained �0 � choices_list$(1)<>"ok" save_type$="pscan" �0 � choices_list$(2)<>"ok" qwiktext_colour%=2 �0 � choices_list$(3)<>"ok" qwiktext_block%=16 �) � choices_list$(4)<>"ok" jpeg_opt%=1 �, � choices_list$(5)<>"ok" plot_shadow%=1 �- � choices_list$(6)<>"ok" plot_border%=-1 �, � choices_list$(7)<>"ok" fax_average%=2 �% � choices_list$(8)<>"ok" red%=40 �% � choices_list$(9)<>"ok" grn%=96 ' � choices_list$(10)<>"ok" blu%=200 ' � choices_list$(11)<>"ok" jpgq%=75 * � choices_list$(12)<>"ok" Ioffset%=40 - � choices_list$(13)<>"ok" header_text%=� / � choices_list$(14)<>"ok" pd_auto_lines%=8 + � choices_list$(15)<>"ok" sstv_time%=2 / � choices_list$(16)<>"ok" outline_width%=2 + � choices_list$(17)<>"ok" beacon_on%=� * F%=�("<Pscan$Dir>.UserFiles.Options") �#F%,save_type$ �#F%,qwiktext_colour% �#F%,qwiktext_block% �#F%,jpeg_opt% �#F%,plot_shadow% �#F%,plot_border% �#F%,fax_average% �#F%,red% �#F%,grn% �#F%,blu% �#F%,jpgq% �#F%,Ioffset% �#F%,header_text% �#F%,pd_auto_lines% �#F%,sstv_time% �#F%,outline_width% �#F%,beacon_on% �#F% � ) � �check_button(cbx%,cby%,cbw%,cbh%) cbx%+=cbw%/2:cby%+=cbh%/2 ! ȗ cbmx%,cbmy%,cbb% "< � �(cbx%-cbmx%)<(cbw%/2)+4 � �(cby%-cbmy%)<(cbh%/2)+4 � # =� $ � % =� & � ' (! � �vis_convert_to_mode(vis%) ) good_vis%=� * Ȏ vis% � + � 172:mode%=1 , � 40 :mode%=2 - � 60 :mode%=5 . � 184:mode%=6 / � 204:mode%=9 0! � 183:� mode%<>12 � mode%=11 1 � 96 :mode%=60 : � PD-180 2 � 225:mode%=61 : � PD-240 3 � 226:mode%=62 : � PD-160 4 � 99 :mode%=63 : � PD-90 5 � 95 :mode%=64 : � PD-120 6 � 221:mode%=65 : � PD-50 7 � 113:mode%=20 : � P3 8 � 114:mode%=21 : � P5 9 � 243:mode%=22 : � P7 : � 169:mode%=70 : � HQ1 ; � 170:mode%=71 : � HQ2 < = good_vis%=� > � ? � @ A � �cw_tx(CW$) B, �cw_prepare(CW$):vis_param%!92=cw_data% C# f%=1000 : � CW tone is 1000 Hz D � X4% � M%=4 � M%=1 E% c%=�(1/(f%*M%)/2*1000000*2-1+.5) F2 vis_param%!56=c% � 256:vis_param%!60=c% � 256 G vis_param%!80=3 H vis_param%!4=serial_base% I �wait_no_button J � vis_code%+(vis_code%!8) K �wait_no_button L � M N � �cw_prepare(CW$) O � +0 P' � N%=0 � 42:� cw_table$(N%):�:A%=0 Q cw_data%?A%=0:A%+=1 R � N%=1 � � CW$ S C%=�(�CW$,N%,1)) TA � C%>=�"a" � C%<=�"z" C%-=32 : � Convert lower case to upper U) � (C%<�"/" � C%>�"Z") � C%<>32 C%=32 V- � C%=32 cw2$="5" � cw2$=cw_table$(C%-47) W � N2%=1 � �(cw2$) X cw3$=�cw2$,N2%,1) Y �cw_ones_and_noughts(cw3$) Z � [ �cw_ones_and_noughts("3") \ � ]5 cw_data%?A%=0:A%+=1:cw_data%?A%=2 : � End marker ^ _ � "21121" : REM "/" ` � "22222" : REM "0" a � "12222" b � "11222" c � "11122" d � "11112" e � "11111" f � "21111" g � "22111" h � "22211" i � "22221" : REM "9" j" � "1","1","1","1","1","1","1" k � "12" : REM "A" l � "2111" m � "2121" n � "211" o � "1" p � "1121" q � "221" r � "1111" s � "11" t � "1222" u � "212" v � "1211" w � "22" x � "21" y � "222" z � "1221" { � "2212" | � "121" } � "111" ~ � "2" � "112" � � "1112" � � "122" � � "2112" � � "2122" � � "2211" : REM "Z" � � � � � �cw_ones_and_noughts(C$) �. � 1=dit 2=dah 3=letter space 5=word space � � n%=1 � �(C$) � c$=�C$,n%,1) � Ȏ c$ � � � "1" : cw_data%?A%=1:A%+=1 � � "2" : cw_data%?A%=1:A%+=1 �# cw_data%?A%=1:A%+=1 �# cw_data%?A%=1:A%+=1 � � "3" : cw_data%?A%=0:A%+=1 � � "5" : � nothing needed � � � cw_data%?A%=0:A%+=1 � � � � � �busy(seconds) � �wait_no_button � auto_code%!12=2000*seconds � auto_code%!4=Ioffset% � 2 �" � auto_code%:L1%=auto_code%!8 � auto_code%!12=2000*seconds �" � auto_code%:L2%=auto_code%!8 � � L1%=1 � L2%=1 rquit%=� �* � �(L2%-L1%)<10 � L1%>220 � L2%>220 � � =� � � � =� � � � �toneburst �> vis_param%!80=2 : � 2=toneburst, 1=VIS narrow, 0=VIS wide � vis_param%!4=serial_base% �# FL=1750-toneburst_bandwidth%/2 �# FH=1750+toneburst_bandwidth%/2 �, C=4096-((1/FL)*1000000):vis_param%!84=C �, C=4096-((1/FH)*1000000):vis_param%!88=C � � vis_code% � =!vis_param% � � � �leds_off � � 0,32,0 � � Y=854 � 704 � -50 � ȓ Ȑ 884,Y+4,12,12 � � � � � � � �repeater_control � repeater_timer%=0 � � � �repeater �1 � toneburst_result%=256 repeater_timer%+=1 �+ � repeater_timer%>17 � beacon_on% � � � � �busy(5) � � �repeater_beacon_text �" temp_mode%=mode%:mode%=1 � �tx_frame(�) � T=�:� � �-T>100 � �cw_tx(cw_id$) � mode%=temp_mode% � repeater_timer%=0 � � � � � � toneburst_result%=320 � � � � � �repeater �! rquit%=�:toneburst_result%=0 � � �% � 64,64,64:ȓ Ȑ 0,0,1280,1024 �% �raised_block(200,600,880,380) �( � 220,220,64:ȓ Ȑ 240,914,788,40 �6 �write2("Pscan SSTV repeater status",420,920,4) �D �write2("1) Searching for 1750 Hz toneburst .....",300,850,0) �D �write2("2) Checking channel for SSTV activity ..",300,800,0) �G �write2("3) Sending CW identification text .........",300,750,0) �H �write2("4) Waiting for a valid VIS code ............",300,700,0) �P �write2("Click left mouse button at any time to exit repeater",260,630,4) � � Y=854 � 704 � -50 � � 80,80,80 �' � 880,Y:� 880,Y+20:� 85,900,Y+20 � � 255,255,255 �$ � 880,Y:� 900,Y:� 85,900,Y+20 � � � � 128 Ȝ 0 � � 28,5,60,74,30:� � � 128,255,0 � �wait_no_button � � � � � � � � �leds_off �. �''" Searching for toneburst ..." �, � 255,255,0:ȓ Ȑ 884,858,12,12 � �) toneburst_result%=�toneburst �# Ȏ toneburst_result% � � � 640 : �1 �update_rtc(�):t$=$(rtc_buffer%+1) �& � 255,255,255:�'" ";t$; � � 0,255,0 �F �" Toneburst found - checking for channel activity ..." �, � 0,255,0:ȓ Ȑ 884,858,12,12 �. � 255,255,0:ȓ Ȑ 884,808,12,12 � � 320 : �rend:� � � 256 : � � � � � � �busy(3) � �; �'" ***** Channel busy - access denied *****" � chan_clear%=� � � � chan_clear%=� � � � �! � chan_clear% � rquit% � � � rquit% �rend:� � �D �'" Channel seems clear - sending '";cw_id$;"' on CW ..." �( � 0,255,0:ȓ Ȑ 884,808,12,12 * � 255,255,0:ȓ Ȑ 884,758,12,12 �cw_tx(cw_id$) � ) vis_param%!80=1 : � Narrow VIS $ vis_param%!4=serial_base% $ r%=255:g%=255:good_vis%=� : �'" Now waiting up to 15 seconds for a VIS ..." ( � 0,255,0:ȓ Ȑ 884,758,12,12 * � 255,255,0:ȓ Ȑ 884,708,12,12 � v%=1 � 30 � vis_code% $ � !vis_param%<>256 v%=30 = r%=r%�255:g%=g%�255:� r%,g%,0:ȓ Ȑ 884,708,12,12 � % � !vis_param%=320 �rend:� � !vis_param%<256 � . �vis_convert_to_mode(!vis_param%) � 7 �'" No VIS found - returning to start ..." � � good_vis% ( � mode%=70 � mode%=71 mode%=1 * �26:� 0,0,0:ȓ Ȑ 0,0,1280,1024 ( �rx_sstv(�):repeater_timer%=0 $ � rx_param%!64=48 �rend:� T=�:� � �-T>100 ) � 32,32,32:ȓ Ȑ 0,960,1280,64 $ � 255,255,0:� 128+21 Ȝ 0 [ � �4,1)"Checking channel for SSTV activity before re-transmitting picture ... "; !G � waiting3%=1 � 36 : � Wait up to 3 mins for channel to clear " � � �busy(3) � # �topscale2(0) $ �tx_frame(�) % waiting3%=36 & � ' T=�:� � �-T>400 ( � ) � * + � 0 , - � . / 0 � �rend 1 �26:Ȗ:�:Ȗ 2 �dismini:�wait_no_button 3 toneburst_result%=320 4 � 5 6 � �repeater_beacon_text 7/ !spr%=40000:spr%!4=0:spr%!8=16:spr%!12=16 87 ș sprswi%,256+10,spr%,"<Pscan$Dir>.PSsprites.T1" 91 sprite_name$="t1":�tiled_sprite_background :& �topscale2(2):f$="Homerton.Bold" ;# � 0,0,255:ȓ Ȑ 16,876,1240,8 <# � 0,255,0:ȓ Ȑ 16,886,1240,8 =# � 255,0,0:ȓ Ȑ 16,896,1240,8 >> �beacon_text(f$,"PSCAN REPEATER INFO",130,848,32,40,6) ?N �beacon_text(f$,"1 Transmit a 1750 Hz toneburst",44,720,32,32,&80FF8000) @M �beacon_text(f$,"2 Wait up to 5 secs for CW ID",44,600,32,32,&00FF8000) AN �beacon_text(f$,"3 Send SSTV - with VIS start -",44,480,32,32,&80FF8000) BE �beacon_text(f$," within 15 seconds",44,390,32,32,&80FF8000) CJ �beacon_text(f$,"4 Picture will be replayed",44,270,32,32,&00FF8000) DI �beacon_text(f$," in the same SSTV mode",44,180,32,32,&00FF8000) E$ � 255,255,0:ȓ Ȑ 16,58,1240,8 F$ � 0,255,255:ȓ Ȑ 16,68,1240,8 G$ � 255,0,255:ȓ Ȑ 16,78,1240,8 HO W%=�text_width(f$,"DE "+call$+" SSTV REPEATER",28,38):X%=(1280-W%)/2-8 IL �beacon_text(f$,"DE "+call$+" SSTV REPEATER",X%,30,28,38,&FFFF8000) J �upmini K � L M* � �beacon_text(f$,t$,x%,y%,xp%,yp%,c) N � X%=x% � x%+16 � 8 O � Y%=y% � y%+16 � 8 P% �write(f$,t$,X%,Y%,xp%,yp%,0) Q � R � S' �write(f$,t$,x%+8,y%+8,xp%,yp%,c) T � U V � �set_rts_low_on_atomwide W � c% 64 X � P=0 � 2 �2 Y P%=c% Z [OPT P [ SWI "OS_EnterOS" \5 LDR R1,serial_base:MOV R0,#9:STRB R0,[R1,#&10] ]( TEQP PC,#0:MOVNV R0,R0:MOV PC,R14 ^ .serial_base EQUD 0 _ ] ` � a& !serial_base=�(config$(13)):� c% b � �
00000000 0d 00 01 10 20 f4 20 3e 50 73 63 61 6e 30 36 33 |.... . >Pscan063| 00000010 0d 00 02 04 0d 00 03 3c 20 f4 20 50 44 20 35 30 |.......< . PD 50| 00000020 20 6d 6f 64 65 20 61 64 64 65 64 20 2d 20 6d 6f | mode added - mo| 00000030 64 65 20 36 35 2c 20 56 49 53 20 39 33 2f 32 32 |de 65, VIS 93/22| 00000040 31 20 20 20 20 20 2d 20 32 33 2e 31 32 2e 39 37 |1 - 23.12.97| 00000050 0d 00 04 3c 20 f4 20 4d 61 6e 75 61 6c 20 6d 65 |...< . Manual me| 00000060 6d 6f 72 79 20 61 72 65 61 20 73 65 70 61 72 61 |mory area separa| 00000070 74 65 20 66 72 6f 6d 20 73 70 72 69 74 69 65 73 |te from sprities| 00000080 20 20 2d 20 31 31 2e 31 32 2e 39 37 0d 00 05 3c | - 11.12.97...<| 00000090 20 f4 20 46 69 6c 65 72 20 63 68 61 6e 67 65 73 | . Filer changes| 000000a0 20 2d 20 6e 65 77 20 64 69 72 20 26 20 73 61 76 | - new dir & sav| 000000b0 65 20 73 70 72 69 74 65 73 20 20 20 20 20 2d 20 |e sprites - | 000000c0 31 30 2e 31 32 2e 39 37 0d 00 06 3c 20 f4 20 50 |10.12.97...< . P| 000000d0 61 74 68 6e 61 6d 65 73 20 66 69 6c 65 20 66 6f |athnames file fo| 000000e0 72 6d 61 74 20 63 68 61 6e 67 65 64 20 28 73 69 |rmat changed (si| 000000f0 6d 70 6c 69 66 69 65 64 29 20 2d 20 30 31 2e 31 |mplified) - 01.1| 00000100 32 2e 39 37 0d 00 07 3c 20 f4 20 52 65 70 65 61 |2.97...< . Repea| 00000110 74 65 72 20 22 62 65 61 63 6f 6e 22 20 74 65 78 |ter "beacon" tex| 00000120 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |t | 00000130 20 20 20 20 20 20 2d 20 33 30 2e 31 31 2e 39 37 | - 30.11.97| 00000140 0d 00 08 3c 20 f4 20 53 65 72 69 61 6c 20 70 6f |...< . Serial po| 00000150 72 74 20 61 64 64 72 65 73 73 20 63 6f 6e 66 69 |rt address confi| 00000160 67 75 72 61 62 6c 65 20 20 20 20 20 20 20 20 20 |gurable | 00000170 20 20 2d 20 32 38 2e 31 31 2e 39 37 0d 00 09 04 | - 28.11.97....| 00000180 0d 00 0a 32 20 69 6a 65 5f 64 65 76 25 3d a3 20 |...2 ije_dev%=. | 00000190 3a 20 f4 20 53 65 74 20 74 6f 20 54 52 55 45 20 |: . Set to TRUE | 000001a0 66 6f 72 20 47 34 49 4a 45 20 52 26 44 20 6f 6e |for G4IJE R&D on| 000001b0 6c 79 0d 00 0b 04 0d 00 0c 3c 20 f4 20 43 6f 6e |ly.......< . Con| 000001c0 66 69 67 75 72 61 74 69 6f 6e 20 6e 6f 77 20 75 |figuration now u| 000001d0 73 65 73 20 43 68 6f 69 63 65 73 20 77 69 6e 64 |ses Choices wind| 000001e0 6f 77 20 20 20 20 20 20 2d 20 30 39 2e 31 31 2e |ow - 09.11.| 000001f0 39 37 0d 00 0d 3c 20 f4 20 4d 6f 73 74 20 63 6f |97...< . Most co| 00000200 64 65 20 62 6c 6f 63 6b 73 20 6d 6f 76 65 64 20 |de blocks moved | 00000210 69 6e 74 6f 20 52 65 73 6f 75 72 63 65 73 20 64 |into Resources d| 00000220 69 72 20 20 2d 20 31 36 2e 31 30 2e 39 37 0d 00 |ir - 16.10.97..| 00000230 0e 3c 20 f4 20 52 65 70 65 61 74 65 72 20 6d 6f |.< . Repeater mo| 00000240 64 65 20 2d 20 66 6f 72 20 46 4d 20 75 73 65 20 |de - for FM use | 00000250 6f 6e 6c 79 20 20 20 20 20 20 20 20 20 20 20 20 |only | 00000260 2d 20 31 34 2e 31 30 2e 39 37 0d 00 0f 3c 20 f4 |- 14.10.97...< .| 00000270 20 54 65 78 74 20 6f 75 74 6c 69 6e 65 20 2d 20 | Text outline - | 00000280 32 20 77 69 64 74 68 73 20 61 76 61 69 6c 61 62 |2 widths availab| 00000290 6c 65 20 20 20 20 20 20 20 20 20 20 2d 20 32 38 |le - 28| 000002a0 2e 30 37 2e 39 37 0d 00 10 3c 20 f4 20 50 69 63 |.07.97...< . Pic| 000002b0 20 6d 65 6d 20 63 68 61 6e 67 65 20 77 69 74 68 | mem change with| 000002c0 69 6e 20 77 61 76 65 66 6f 72 6d 20 6d 6f 6e 69 |in waveform moni| 000002d0 74 6f 72 20 20 20 20 20 2d 20 31 33 2e 30 37 2e |tor - 13.07.| 000002e0 39 37 0d 00 11 3c 20 f4 20 50 61 69 6e 74 20 77 |97...< . Paint w| 000002f0 69 74 68 20 73 70 72 69 74 65 20 20 20 20 20 20 |ith sprite | 00000300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000310 20 20 20 20 2d 20 32 32 2e 30 36 2e 39 37 0d 00 | - 22.06.97..| 00000320 12 3c 20 f4 20 4e 65 77 20 62 6f 72 64 65 72 73 |.< . New borders| 00000330 20 2f 20 70 6c 69 6e 74 68 73 20 66 6f 72 20 67 | / plinths for g| 00000340 72 61 62 62 65 64 20 61 72 65 61 73 20 20 20 20 |rabbed areas | 00000350 2d 20 31 35 2e 30 36 2e 39 37 0d 00 13 3c 20 f4 |- 15.06.97...< .| 00000360 20 4a 50 45 47 20 6d 6f 64 73 20 2f 20 6c 61 72 | JPEG mods / lar| 00000370 67 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 61 |ge directories a| 00000380 63 63 6f 6d 6d 6f 64 61 74 65 64 20 2d 20 30 34 |ccommodated - 04| 00000390 2e 30 35 2e 39 37 0d 00 14 3c 20 f4 20 50 44 20 |.05.97...< . PD | 000003a0 61 75 74 6f 2d 74 75 6e 65 20 38 2c 20 34 20 6c |auto-tune 8, 4 l| 000003b0 69 6e 65 73 20 6f 72 20 6f 66 66 20 66 6f 72 20 |ines or off for | 000003c0 46 4d 20 75 73 65 20 20 2d 20 31 35 2e 30 32 2e |FM use - 15.02.| 000003d0 39 37 0d 00 15 3c 20 f4 20 55 73 65 72 20 65 6e |97...< . User en| 000003e0 74 72 79 20 6f 66 20 70 61 74 68 6e 61 6d 65 20 |try of pathname | 000003f0 2b 20 6c 69 73 74 20 73 65 6c 65 63 74 6f 72 20 |+ list selector | 00000400 20 20 20 20 2d 20 31 37 2e 30 32 2e 39 37 0d 00 | - 17.02.97..| 00000410 16 3c 20 f4 20 4d 65 6e 75 20 63 61 6e 63 65 6c |.< . Menu cancel| 00000420 20 6d 6f 76 65 64 20 74 6f 20 6c 61 73 74 20 65 | moved to last e| 00000430 6e 74 72 79 20 20 20 20 20 20 20 20 20 20 20 20 |ntry | 00000440 2d 20 30 36 2e 30 32 2e 39 37 0d 00 17 3c 20 f4 |- 06.02.97...< .| 00000450 20 41 75 74 6f 2d 6d 6f 64 65 20 66 69 6e 64 20 | Auto-mode find | 00000460 2d 20 63 6c 69 63 6b 20 52 20 69 63 6f 6e 20 77 |- click R icon w| 00000470 69 74 68 20 61 64 6a 75 73 74 20 20 2d 20 32 37 |ith adjust - 27| 00000480 2e 30 31 2e 39 37 0d 00 18 3c 20 f4 20 50 44 39 |.01.97...< . PD9| 00000490 30 20 73 61 76 65 20 69 6e 20 50 73 63 61 6e 20 |0 save in Pscan | 000004a0 66 6f 72 6d 61 74 20 63 6f 72 72 65 63 74 65 64 |format corrected| 000004b0 20 20 20 20 20 20 20 20 2d 20 32 35 2e 30 31 2e | - 25.01.| 000004c0 39 37 0d 00 19 3c 20 f4 20 54 77 65 61 6b 73 20 |97...< . Tweaks | 000004d0 74 6f 20 22 63 72 65 61 74 65 20 74 65 78 74 22 |to "create text"| 000004e0 20 70 6f 73 69 74 69 6f 6e 69 6e 67 20 20 20 20 | positioning | 000004f0 20 20 20 20 2d 20 32 33 2e 30 31 2e 39 37 0d 00 | - 23.01.97..| 00000500 1a 3c 20 f4 20 54 65 78 74 20 61 6e 64 20 6d 61 |.< . Text and ma| 00000510 73 6b 20 73 69 7a 65 20 61 64 6a 75 73 74 20 20 |sk size adjust | 00000520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000530 2d 20 31 39 2e 30 31 2e 39 37 0d 00 1b 3c 20 f4 |- 19.01.97...< .| 00000540 20 4e 65 77 20 6c 69 6e 65 61 72 20 74 75 6e 69 | New linear tuni| 00000550 6e 67 20 69 6e 64 69 63 61 74 6f 72 20 20 20 20 |ng indicator | 00000560 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 32 38 | - 28| 00000570 2e 31 32 2e 39 36 0d 00 1c 3c 20 f4 20 50 44 20 |.12.96...< . PD | 00000580 6d 6f 64 65 20 52 58 20 6c 6f 6f 6b 75 70 20 74 |mode RX lookup t| 00000590 61 62 6c 65 20 36 34 20 2d 20 31 39 32 20 20 20 |able 64 - 192 | 000005a0 20 20 20 20 20 20 20 20 2d 20 32 33 2e 31 32 2e | - 23.12.| 000005b0 39 36 0d 00 1d 3c 20 f4 20 51 77 69 6b 54 65 78 |96...< . QwikTex| 000005c0 74 20 63 61 70 74 69 6f 6e 73 20 20 20 20 20 20 |t captions | 000005d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000005e0 20 20 20 20 2d 20 31 32 2e 31 32 2e 39 36 0d 00 | - 12.12.96..| 000005f0 1e 3c 20 f4 20 48 51 20 6d 6f 64 65 73 20 2d 20 |.< . HQ modes - | 00000600 52 58 20 6f 6e 6c 79 20 61 6e 64 20 6e 6f 74 20 |RX only and not | 00000610 22 66 75 6c 6c 20 73 70 65 63 22 20 20 20 20 20 |"full spec" | 00000620 2d 20 32 35 2e 31 31 2e 39 36 0d 00 1f 3c 20 f4 |- 25.11.96...< .| 00000630 20 53 74 72 6f 6e 67 41 52 4d 20 63 6f 6d 70 61 | StrongARM compa| 00000640 74 69 62 6c 65 20 76 65 72 73 69 6f 6e 20 20 20 |tible version | 00000650 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 32 30 | - 20| 00000660 2e 31 30 2e 39 36 0d 00 20 04 0d 00 21 4b 20 f4 |.10.96.. ...!K .| 00000670 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a | ***************| 00000680 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| * 000006b0 2a 2a 2a 2a 2a 0d 00 22 4b 20 f4 20 2a 20 4d 61 |*****.."K . * Ma| 000006c0 6e 79 20 74 68 61 6e 6b 73 20 74 6f 20 4e 65 69 |ny thanks to Nei| 000006d0 6c 2c 20 47 34 52 51 4e 2c 20 66 6f 72 20 68 65 |l, G4RQN, for he| 000006e0 6c 70 20 77 69 74 68 20 74 68 65 20 69 63 6f 6e |lp with the icon| 000006f0 20 62 61 72 20 57 49 4d 50 20 62 69 74 73 20 2a | bar WIMP bits *| 00000700 0d 00 23 4b 20 f4 20 2a 2a 2a 2a 2a 2a 2a 2a 2a |..#K . *********| 00000710 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| * 00000740 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 00 24 04 0d |***********..$..| 00000750 00 25 04 0d 00 26 38 20 ee 20 85 20 eb 20 eb 3a |.%...&8 . . . .:| 00000760 c8 99 22 48 6f 75 72 67 6c 61 73 73 5f 53 6d 61 |.."Hourglass_Sma| 00000770 73 68 22 3a f1 27 27 f6 24 3b 22 20 61 74 20 6c |sh":.''.$;" at l| 00000780 69 6e 65 20 22 3b 9e 27 27 3a e0 0d 00 27 04 0d |ine ";.'':...'..| 00000790 00 28 11 20 e7 20 69 6a 65 5f 64 65 76 25 20 8c |.(. . ije_dev% .| 000007a0 0d 00 29 38 20 20 2a 53 45 54 20 50 73 63 61 6e |..)8 *SET Pscan| 000007b0 24 44 69 72 20 41 44 46 53 3a 3a 48 61 72 64 44 |$Dir ADFS::HardD| 000007c0 69 73 63 34 2e 24 2e 50 53 5f 4a 61 6e 39 38 2e |isc4.$.PS_Jan98.| 000007d0 41 70 70 46 69 6c 65 73 0d 00 2a 25 20 20 2a 46 |AppFiles..*% *F| 000007e0 6f 6e 74 49 6e 73 74 61 6c 6c 20 3c 50 73 63 61 |ontInstall <Psca| 000007f0 6e 24 44 69 72 3e 2e 46 6f 6e 74 73 2e 0d 00 2b |n$Dir>.Fonts...+| 00000800 06 20 cd 0d 00 2c 04 0d 00 2d 31 20 61 70 70 5f |. ...,...-1 app_| 00000810 6e 61 6d 65 24 3d 22 50 73 63 61 6e 22 3a 76 65 |name$="Pscan":ve| 00000820 72 24 3d 22 33 2e 31 30 20 2d 20 4a 61 6e 75 61 |r$="3.10 - Janua| 00000830 72 79 20 31 39 39 38 22 0d 00 2e 12 20 73 70 6c |ry 1998".... spl| 00000840 61 73 68 32 78 25 3d 31 39 30 0d 00 2f 2a 20 77 |ash2x%=190../* w| 00000850 69 6d 70 5f 73 70 72 69 74 65 24 3d 22 21 70 73 |imp_sprite$="!ps| 00000860 63 61 6e 22 3a 77 69 6e 64 6f 77 68 61 6e 64 6c |can":windowhandl| 00000870 65 25 3d b9 0d 00 30 20 20 66 6f 6e 74 25 3d 2d |e%=...0 font%=-| 00000880 31 3a 6a 75 73 74 5f 72 65 67 69 73 74 65 72 65 |1:just_registere| 00000890 64 25 3d a3 0d 00 31 04 0d 00 32 1d 20 f4 20 73 |d%=...1...2. . s| 000008a0 65 72 69 61 6c 5f 62 61 73 65 25 3d 26 30 33 30 |erial_base%=&030| 000008b0 31 30 46 45 30 0d 00 33 04 0d 00 34 40 20 de 20 |10FE0..3...4@ . | 000008c0 62 6c 6f 63 6b 25 20 26 33 30 30 2c 6d 65 6e 75 |block% &300,menu| 000008d0 25 20 36 34 2c 73 79 73 76 61 72 25 20 32 35 36 |% 64,sysvar% 256| 000008e0 2c 65 72 72 25 20 32 35 36 2c 73 70 72 69 74 65 |,err% 256,sprite| 000008f0 5f 6e 61 6d 65 25 20 33 32 0d 00 35 3b 20 de 20 |_name% 32..5; . | 00000900 74 65 6d 70 25 20 26 33 30 30 2c 57 62 75 66 66 |temp% &300,Wbuff| 00000910 65 72 25 20 26 33 30 30 2c 71 65 72 72 25 20 26 |er% &300,qerr% &| 00000920 33 30 30 3a 63 75 72 62 75 66 25 3d 57 62 75 66 |300:curbuf%=Wbuf| 00000930 66 65 72 25 0d 00 36 19 20 de 20 63 68 6f 69 63 |fer%..6. . choic| 00000940 65 73 5f 77 69 6e 64 6f 77 25 20 33 32 0d 00 37 |es_window% 32..7| 00000950 36 20 20 24 63 68 6f 69 63 65 73 5f 77 69 6e 64 |6 $choices_wind| 00000960 6f 77 25 3d 22 4f 62 65 79 20 3c 50 73 63 61 6e |ow%="Obey <Pscan| 00000970 24 44 69 72 3e 2e 43 68 6f 69 63 65 73 2e 21 52 |$Dir>.Choices.!R| 00000980 75 6e 22 0d 00 38 1a 20 de 20 72 65 67 69 73 74 |un"..8. . regist| 00000990 65 72 5f 77 69 6e 64 6f 77 25 20 34 30 0d 00 39 |er_window% 40..9| 000009a0 40 20 20 24 72 65 67 69 73 74 65 72 5f 77 69 6e |@ $register_win| 000009b0 64 6f 77 25 3d 22 4f 62 65 79 20 3c 50 73 63 61 |dow%="Obey <Psca| 000009c0 6e 24 44 69 72 3e 2e 43 68 6f 69 63 65 73 2e 52 |n$Dir>.Choices.R| 000009d0 65 67 69 73 74 65 72 2e 21 52 75 6e 22 0d 00 3a |egister.!Run"..:| 000009e0 04 0d 00 3b 17 20 24 28 6d 65 6e 75 25 2b 35 36 |...;. $(menu%+56| 000009f0 29 3d 22 78 78 78 78 22 0d 00 3c 04 0d 00 3d 17 |)="xxxx"..<...=.| 00000a00 20 63 6f 6e 66 69 67 5f 65 6e 74 72 69 65 73 25 | config_entries%| 00000a10 3d 31 33 0d 00 3e 1f 20 de 20 63 6f 6e 66 69 67 |=13..>. . config| 00000a20 24 28 63 6f 6e 66 69 67 5f 65 6e 74 72 69 65 73 |$(config_entries| 00000a30 25 29 0d 00 3f 27 20 f2 72 65 61 64 5f 63 6f 6e |%)..?' .read_con| 00000a40 66 69 67 5f 66 69 6c 65 28 63 6f 6e 66 69 67 5f |fig_file(config_| 00000a50 65 6e 74 72 69 65 73 25 29 0d 00 40 1c 20 6d 65 |entries%)..@. me| 00000a60 6d 6f 72 69 65 73 25 3d bb 28 63 6f 6e 66 69 67 |mories%=.(config| 00000a70 24 28 34 29 29 0d 00 41 20 20 74 78 74 73 69 7a |$(4))..A txtsiz| 00000a80 65 25 3d bb 28 63 6f 6e 66 69 67 24 28 35 29 29 |e%=.(config$(5))| 00000a90 2a 31 30 32 34 0d 00 42 2b 20 e7 20 63 6f 6e 66 |*1024..B+ . conf| 00000aa0 69 67 24 28 39 29 3d 22 59 22 20 8c 20 74 68 75 |ig$(9)="Y" . thu| 00000ab0 6d 62 25 3d b9 20 8b 20 74 68 75 6d 62 25 3d a3 |mb%=. . thumb%=.| 00000ac0 0d 00 43 39 20 e7 20 a0 28 63 6f 6e 66 69 67 24 |..C9 . .(config$| 00000ad0 28 31 33 29 29 3e 3d 26 30 33 32 34 32 30 30 30 |(13))>=&03242000| 00000ae0 20 f2 73 65 74 5f 72 74 73 5f 6c 6f 77 5f 6f 6e | .set_rts_low_on| 00000af0 5f 61 74 6f 6d 77 69 64 65 0d 00 44 04 0d 00 45 |_atomwide..D...E| 00000b00 30 20 64 75 6d 6d 79 3d a4 66 69 6c 65 5f 6c 65 |0 dummy=.file_le| 00000b10 6e 28 22 3c 50 73 63 61 6e 24 44 69 72 3e 2e 52 |n("<Pscan$Dir>.R| 00000b20 65 73 6f 75 72 63 65 73 2e 69 64 22 29 0d 00 46 |esources.id")..F| 00000b30 35 20 46 25 3d 8e 28 22 3c 50 73 63 61 6e 24 44 |5 F%=.("<Pscan$D| 00000b40 69 72 3e 2e 52 65 73 6f 75 72 63 65 73 2e 69 64 |ir>.Resources.id| 00000b50 22 29 3a e8 23 46 25 2c 75 73 65 72 24 3a d9 23 |"):.#F%,user$:.#| 00000b60 46 25 0d 00 47 04 0d 00 48 20 20 e7 20 69 6a 65 |F%..G...H . ije| 00000b70 5f 64 65 76 25 20 8c 20 f2 73 74 61 72 74 5f 70 |_dev% . .start_p| 00000b80 73 63 61 6e 3a e0 0d 00 49 04 0d 00 4a 12 20 70 |scan:...I...J. p| 00000b90 73 63 61 6e 5f 65 78 69 74 25 3d a3 0d 00 4b 10 |scan_exit%=...K.| 00000ba0 20 f2 69 6e 69 74 69 61 6c 69 73 65 0d 00 4c 0f | .initialise..L.| 00000bb0 20 f2 74 65 6d 70 6c 61 74 65 73 0d 00 4d 0f 20 | .templates..M. | 00000bc0 ee 20 85 20 f2 65 72 72 6f 72 0d 00 4e 20 20 f2 |. . .error..N .| 00000bd0 77 72 69 74 65 69 63 6f 6e 28 32 38 2c 69 6e 66 |writeicon(28,inf| 00000be0 6f 25 2c 37 2c 76 65 72 24 29 0d 00 4f 21 20 f2 |o%,7,ver$)..O! .| 00000bf0 77 72 69 74 65 69 63 6f 6e 28 32 38 2c 69 6e 66 |writeicon(28,inf| 00000c00 6f 25 2c 38 2c 75 73 65 72 24 29 0d 00 50 06 20 |o%,8,user$)..P. | 00000c10 f5 0d 00 51 0a 20 f2 70 6f 6c 6c 0d 00 52 14 20 |...Q. .poll..R. | 00000c20 fd 20 70 73 63 61 6e 5f 65 78 69 74 25 3d b9 0d |. pscan_exit%=..| 00000c30 00 53 17 20 c8 99 22 57 69 6d 70 5f 43 6c 6f 73 |.S. .."Wimp_Clos| 00000c40 65 44 6f 77 6e 22 0d 00 54 06 20 e0 0d 00 55 04 |eDown"..T. ...U.| 00000c50 0d 00 56 12 20 dd 20 f2 69 6e 69 74 69 61 6c 69 |..V. . .initiali| 00000c60 73 65 0d 00 57 30 20 c8 99 22 57 69 6d 70 5f 49 |se..W0 .."Wimp_I| 00000c70 6e 69 74 69 61 6c 69 73 65 22 2c 32 30 30 2c 26 |nitialise",200,&| 00000c80 34 62 35 33 34 31 35 34 2c 61 70 70 5f 6e 61 6d |4b534154,app_nam| 00000c90 65 24 0d 00 58 1b 20 62 6c 6f 63 6b 25 21 30 3d |e$..X. block%!0=| 00000ca0 77 69 6e 64 6f 77 68 61 6e 64 6c 65 25 0d 00 59 |windowhandle%..Y| 00000cb0 1a 20 62 6c 6f 63 6b 25 21 34 3d 30 3a 62 6c 6f |. block%!4=0:blo| 00000cc0 63 6b 25 21 38 3d 30 0d 00 5a 1e 20 62 6c 6f 63 |ck%!8=0..Z. bloc| 00000cd0 6b 25 21 31 32 3d 36 38 3a 62 6c 6f 63 6b 25 21 |k%!12=68:block%!| 00000ce0 31 36 3d 36 38 0d 00 5b 14 20 62 6c 6f 63 6b 25 |16=68..[. block%| 00000cf0 21 32 30 3d 26 33 30 31 41 0d 00 5c 21 20 24 28 |!20=&301A..\! $(| 00000d00 62 6c 6f 63 6b 25 2b 32 34 29 3d 77 69 6d 70 5f |block%+24)=wimp_| 00000d10 73 70 72 69 74 65 24 2b bd 30 0d 00 5d 2e 20 c8 |sprite$+.0..]. .| 00000d20 99 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f |."Wimp_CreateIco| 00000d30 6e 22 2c 2c 62 6c 6f 63 6b 25 20 b8 20 69 63 6f |n",,block% . ico| 00000d40 6e 68 61 6e 64 6c 65 25 0d 00 5e 06 20 e1 0d 00 |nhandle%..^. ...| 00000d50 5f 04 0d 00 60 11 20 dd 20 f2 74 65 6d 70 6c 61 |_...`. . .templa| 00000d60 74 65 73 0d 00 61 08 20 ea 20 85 0d 00 62 26 20 |tes..a. . ...b& | 00000d70 ee 20 85 20 ea 20 ee 20 85 20 c8 99 20 22 57 69 |. . . . . .. "Wi| 00000d80 6d 70 5f 43 6c 6f 73 65 54 65 6d 70 6c 61 74 65 |mp_CloseTemplate| 00000d90 22 0d 00 63 34 20 c8 99 20 22 57 69 6d 70 5f 4f |"..c4 .. "Wimp_O| 00000da0 70 65 6e 54 65 6d 70 6c 61 74 65 22 2c 2c 22 3c |penTemplate",,"<| 00000db0 50 73 63 61 6e 24 44 69 72 3e 2e 54 65 6d 70 6c |Pscan$Dir>.Templ| 00000dc0 61 74 65 73 22 0d 00 64 3f 20 c8 99 20 22 57 69 |ates"..d? .. "Wi| 00000dd0 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 |mp_LoadTemplate"| 00000de0 2c 2c 62 6c 6f 63 6b 25 2c 74 65 6d 70 25 2c 74 |,,block%,temp%,t| 00000df0 65 6d 70 25 2b 35 31 32 2c 2d 31 2c 22 49 6e 66 |emp%+512,-1,"Inf| 00000e00 6f 22 2c 30 0d 00 65 2b 20 c8 99 20 22 57 69 6d |o",0..e+ .. "Wim| 00000e10 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c |p_CreateWindow",| 00000e20 2c 62 6c 6f 63 6b 25 20 b8 20 69 6e 66 6f 25 0d |,block% . info%.| 00000e30 00 66 1c 20 c8 99 20 22 57 69 6d 70 5f 43 6c 6f |.f. .. "Wimp_Clo| 00000e40 73 65 54 65 6d 70 6c 61 74 65 22 0d 00 67 06 20 |seTemplate"..g. | 00000e50 f7 0d 00 68 06 20 e1 0d 00 69 04 0d 00 6a 0d 20 |...h. ...i...j. | 00000e60 dd 20 f2 65 72 72 6f 72 0d 00 6b 0e 20 21 62 6c |. .error..k. !bl| 00000e70 6f 63 6b 25 3d 9f 0d 00 6c 2f 20 24 28 62 6c 6f |ock%=...l/ $(blo| 00000e80 63 6b 25 2b 34 29 3d f6 24 2b 22 20 28 45 72 72 |ck%+4)=.$+" (Err| 00000e90 6f 72 20 63 6f 64 65 20 22 2b c3 28 9e 29 2b 22 |or code "+.(.)+"| 00000ea0 29 22 2b bd 30 0d 00 6d 35 20 c8 99 22 57 69 6d |)"+.0..m5 .."Wim| 00000eb0 70 5f 52 65 70 6f 72 74 45 72 72 6f 72 22 2c 62 |p_ReportError",b| 00000ec0 6c 6f 63 6b 25 2c 31 2c 61 70 70 5f 6e 61 6d 65 |lock%,1,app_name| 00000ed0 24 20 b8 20 72 65 70 6c 79 25 0d 00 6e 13 20 e7 |$ . reply%..n. .| 00000ee0 20 72 65 70 6c 79 25 3d 32 20 8c 20 e0 0d 00 6f | reply%=2 . ...o| 00000ef0 06 20 e1 0d 00 70 04 0d 00 71 0c 20 dd 20 f2 70 |. ...p...q. . .p| 00000f00 6f 6c 6c 0d 00 72 24 20 c8 99 22 57 69 6d 70 5f |oll..r$ .."Wimp_| 00000f10 50 6f 6c 6c 22 2c 2c 62 6c 6f 63 6b 25 20 b8 20 |Poll",,block% . | 00000f20 72 65 61 73 6f 6e 25 0d 00 73 11 20 c8 8e 20 72 |reason%..s. .. r| 00000f30 65 61 73 6f 6e 25 20 ca 0d 00 74 27 20 20 c9 20 |eason% ...t' . | 00000f40 32 20 20 20 20 3a c8 99 20 26 34 30 30 43 35 2c |2 :.. &400C5,| 00000f50 2c 62 6c 6f 63 6b 25 2c 2c 62 6c 6f 63 6b 25 0d |,block%,,block%.| 00000f60 00 75 25 20 20 c9 20 33 20 20 20 20 3a f2 63 6c |.u% . 3 :.cl| 00000f70 6f 73 65 5f 77 69 6e 64 6f 77 28 62 6c 6f 63 6b |ose_window(block| 00000f80 25 21 30 29 0d 00 76 52 20 20 c9 20 36 20 20 20 |%!0)..vR . 6 | 00000f90 20 3a f2 63 68 65 63 6b 6d 6f 75 73 65 28 21 62 | :.checkmouse(!b| 00000fa0 6c 6f 63 6b 25 2c 62 6c 6f 63 6b 25 21 34 2c 62 |lock%,block%!4,b| 00000fb0 6c 6f 63 6b 25 21 38 2c 62 6c 6f 63 6b 25 21 31 |lock%!8,block%!1| 00000fc0 32 2c 62 6c 6f 63 6b 25 21 31 36 2c 62 6c 6f 63 |2,block%!16,bloc| 00000fd0 6b 25 21 32 30 29 0d 00 77 21 20 20 c9 20 39 20 |k%!20)..w! . 9 | 00000fe0 20 20 20 3a f2 6d 65 6e 75 73 65 6c 65 63 74 28 | :.menuselect(| 00000ff0 62 6c 6f 63 6b 25 29 0d 00 78 17 20 20 c9 20 31 |block%)..x. . 1| 00001000 37 2c 31 38 3a f2 57 72 65 63 65 69 76 65 0d 00 |7,18:.Wreceive..| 00001010 79 06 20 cb 0d 00 7a 06 20 e1 0d 00 7b 04 0d 00 |y. ...z. ...{...| 00001020 7c 1e 20 dd 20 f2 63 6c 6f 73 65 5f 77 69 6e 64 ||. . .close_wind| 00001030 6f 77 28 77 68 61 6e 64 6c 65 25 29 0d 00 7d 16 |ow(whandle%)..}.| 00001040 20 62 6c 6f 63 6b 25 21 30 3d 77 68 61 6e 64 6c | block%!0=whandl| 00001050 65 25 0d 00 7e 22 20 c8 99 20 22 57 69 6d 70 5f |e%..~" .. "Wimp_| 00001060 43 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 62 6c |CloseWindow",,bl| 00001070 6f 63 6b 25 0d 00 7f 06 20 e1 0d 00 80 04 0d 00 |ock%.... .......| 00001080 81 10 20 dd 20 f2 57 72 65 63 65 69 76 65 0d 00 |.. . .Wreceive..| 00001090 82 13 20 c8 8e 20 62 6c 6f 63 6b 25 21 31 36 20 |.. .. block%!16 | 000010a0 ca 0d 00 83 16 20 c9 20 30 3a 70 73 63 61 6e 5f |..... . 0:pscan_| 000010b0 65 78 69 74 25 3d b9 0d 00 84 06 20 cb 0d 00 85 |exit%=..... ....| 000010c0 06 20 e1 0d 00 86 04 0d 00 87 38 20 dd 20 f2 63 |. ........8 . .c| 000010d0 68 65 63 6b 6d 6f 75 73 65 28 6d 6f 75 73 65 78 |heckmouse(mousex| 000010e0 25 2c 6d 6f 75 73 65 79 25 2c 62 25 2c 68 61 6e |%,mousey%,b%,han| 000010f0 64 6c 65 25 2c 69 63 6f 6e 25 2c 6f 62 25 29 0d |dle%,icon%,ob%).| 00001100 00 88 0d 20 e7 28 62 25 80 32 29 8c 0d 00 89 11 |... .(b%.2).....| 00001110 20 c8 8e 20 68 61 6e 64 6c 65 25 20 ca 0d 00 8a | .. handle% ....| 00001120 09 20 c9 20 2d 32 0d 00 8b 4a 20 f2 64 6f 6d 65 |. . -2...J .dome| 00001130 6e 75 28 31 30 31 2c 22 3e 49 6e 66 6f 2c 48 65 |nu(101,">Info,He| 00001140 6c 70 2c 4d 61 6e 75 61 6c 2c 52 65 67 69 73 74 |lp,Manual,Regist| 00001150 65 72 2e 2e 2e 2c 2d 43 68 6f 69 63 65 73 2e 2e |er...,-Choices..| 00001160 2e 2c 51 75 69 74 22 2c 22 50 73 63 61 6e 22 29 |.,Quit","Pscan")| 00001170 0d 00 8c 06 20 cb 0d 00 8d 06 20 cd 0d 00 8e 0d |.... ..... .....| 00001180 20 e7 28 62 25 80 34 29 8c 0d 00 8f 11 20 f2 73 | .(b%.4)..... .s| 00001190 74 61 72 74 5f 70 73 63 61 6e 0d 00 90 06 20 cd |tart_pscan.... .| 000011a0 0d 00 91 06 20 e1 0d 00 92 04 0d 00 93 28 20 dd |.... ........( .| 000011b0 20 f2 64 6f 6d 65 6e 75 28 68 61 6e 64 6c 65 25 | .domenu(handle%| 000011c0 2c 6d 65 6e 75 24 2c 6d 65 6e 75 74 69 74 6c 65 |,menu$,menutitle| 000011d0 24 29 0d 00 94 18 20 6d 65 6e 75 68 61 6e 64 6c |$).... menuhandl| 000011e0 65 25 3d 68 61 6e 64 6c 65 25 0d 00 95 16 20 6d |e%=handle%.... m| 000011f0 65 6e 75 70 74 72 25 3d 57 62 75 66 66 65 72 25 |enuptr%=Wbuffer%| 00001200 0d 00 96 09 20 69 25 3d 30 0d 00 97 20 20 6d 65 |.... i%=0... me| 00001210 6e 75 70 74 72 25 21 32 30 3d 34 30 3a f4 20 62 |nuptr%!20=40:. b| 00001220 6c 6f 63 6b 20 73 69 7a 65 0d 00 98 19 20 24 6d |lock size.... $m| 00001230 65 6e 75 70 74 72 25 3d 6d 65 6e 75 74 69 74 6c |enuptr%=menutitl| 00001240 65 24 0d 00 99 12 20 6d 65 6e 75 70 74 72 25 3f |e$.... menuptr%?| 00001250 31 32 3d 37 0d 00 9a 12 20 6d 65 6e 75 70 74 72 |12=7.... menuptr| 00001260 25 3f 31 33 3d 32 0d 00 9b 12 20 6d 65 6e 75 70 |%?13=2.... menup| 00001270 74 72 25 3f 31 34 3d 37 0d 00 9c 12 20 6d 65 6e |tr%?14=7.... men| 00001280 75 70 74 72 25 3f 31 35 3d 30 0d 00 9d 17 20 6d |uptr%?15=0.... m| 00001290 65 6e 75 70 74 72 25 21 31 36 3d 31 39 36 2d 32 |enuptr%!16=196-2| 000012a0 34 0d 00 9e 23 20 6d 65 6e 75 70 74 72 25 21 32 |4...# menuptr%!2| 000012b0 34 3d 34 3a f4 20 48 65 69 67 68 74 20 73 70 61 |4=4:. Height spa| 000012c0 63 69 6e 67 0d 00 9f 11 20 6d 65 6e 75 70 74 72 |cing.... menuptr| 000012d0 25 2b 3d 32 38 0d 00 a0 32 20 f5 20 69 74 65 6d |%+=28...2 . item| 000012e0 24 3d a4 70 61 72 28 22 2c 22 29 3a f2 6d 65 6e |$=.par(","):.men| 000012f0 75 69 74 65 6d 28 69 74 65 6d 24 29 3a fd 20 69 |uitem(item$):. i| 00001300 74 65 6d 24 3d 22 22 0d 00 a1 24 20 6d 65 6e 75 |tem$=""...$ menu| 00001310 70 74 72 25 21 2d 32 34 3d 28 6d 65 6e 75 70 74 |ptr%!-24=(menupt| 00001320 72 25 21 2d 32 34 29 84 26 38 30 0d 00 a2 32 20 |r%!-24).&80...2 | 00001330 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 4d |.. "Wimp_CreateM| 00001340 65 6e 75 22 2c 2c 57 62 75 66 66 65 72 25 2c 6d |enu",,Wbuffer%,m| 00001350 6f 75 73 65 78 25 2d 36 34 2c 33 38 34 0d 00 a3 |ousex%-64,384...| 00001360 06 20 e1 0d 00 a4 04 0d 00 a5 18 20 dd 20 f2 6d |. ......... . .m| 00001370 65 6e 75 69 74 65 6d 28 77 74 65 78 74 24 29 0d |enuitem(wtext$).| 00001380 00 a6 13 20 e7 20 77 74 65 78 74 24 3c 3e 22 22 |... . wtext$<>""| 00001390 20 8c 0d 00 a7 10 20 21 6d 65 6e 75 70 74 72 25 | ..... !menuptr%| 000013a0 3d 30 0d 00 a8 37 20 20 e7 20 c0 77 74 65 78 74 |=0...7 . .wtext| 000013b0 24 2c 31 29 3d 22 2d 22 20 8c 20 6d 65 6e 75 70 |$,1)="-" . menup| 000013c0 74 72 25 3f 30 3d 32 3a 77 74 65 78 74 24 3d c1 |tr%?0=2:wtext$=.| 000013d0 77 74 65 78 74 24 2c 32 29 0d 00 a9 18 20 20 e7 |wtext$,2).... .| 000013e0 20 c0 77 74 65 78 74 24 2c 31 29 3d 22 3e 22 20 | .wtext$,1)=">" | 000013f0 8c 0d 00 aa 17 20 20 20 6d 65 6e 75 70 74 72 25 |..... menuptr%| 00001400 21 34 3d 69 6e 66 6f 25 0d 00 ab 32 20 20 20 64 |!4=info%...2 d| 00001410 75 6d 6d 79 3d a4 66 69 6c 65 5f 6c 65 6e 28 22 |ummy=.file_len("| 00001420 3c 50 73 63 61 6e 24 44 69 72 3e 2e 52 65 73 6f |<Pscan$Dir>.Reso| 00001430 75 72 63 65 73 2e 69 64 22 29 0d 00 ac 37 20 20 |urces.id")...7 | 00001440 20 46 25 3d 8e 28 22 3c 50 73 63 61 6e 24 44 69 | F%=.("<Pscan$Di| 00001450 72 3e 2e 52 65 73 6f 75 72 63 65 73 2e 69 64 22 |r>.Resources.id"| 00001460 29 3a e8 23 46 25 2c 75 73 65 72 24 3a d9 23 46 |):.#F%,user$:.#F| 00001470 25 0d 00 ad 22 20 20 20 f2 77 72 69 74 65 69 63 |%..." .writeic| 00001480 6f 6e 28 32 38 2c 69 6e 66 6f 25 2c 37 2c 76 65 |on(28,info%,7,ve| 00001490 72 24 29 0d 00 ae 23 20 20 20 f2 77 72 69 74 65 |r$)...# .write| 000014a0 69 63 6f 6e 28 32 38 2c 69 6e 66 6f 25 2c 38 2c |icon(28,info%,8,| 000014b0 75 73 65 72 24 29 0d 00 af 07 20 20 cc 0d 00 b0 |user$).... ....| 000014c0 13 20 20 20 6d 65 6e 75 70 74 72 25 21 34 3d b9 |. menuptr%!4=.| 000014d0 0d 00 b1 07 20 20 cd 0d 00 b2 19 20 6d 65 6e 75 |.... ..... menu| 000014e0 70 74 72 25 21 38 3d 26 30 37 30 30 30 30 32 31 |ptr%!8=&07000021| 000014f0 0d 00 b3 49 20 e7 20 c0 77 74 65 78 74 24 2c 31 |...I . .wtext$,1| 00001500 29 3d 22 3e 22 20 8c 20 24 28 6d 65 6e 75 70 74 |)=">" . $(menupt| 00001510 72 25 2b 31 32 29 3d c1 77 74 65 78 74 24 2c 32 |r%+12)=.wtext$,2| 00001520 29 20 8b 20 24 28 6d 65 6e 75 70 74 72 25 2b 31 |) . $(menuptr%+1| 00001530 32 29 3d 77 74 65 78 74 24 0d 00 b4 11 20 6d 65 |2)=wtext$.... me| 00001540 6e 75 70 74 72 25 2b 3d 32 34 0d 00 b5 06 20 cd |nuptr%+=24.... .| 00001550 0d 00 b6 06 20 e1 0d 00 b7 04 0d 00 b8 11 20 dd |.... ......... .| 00001560 20 a4 70 61 72 28 73 65 70 24 29 0d 00 b9 26 20 | .par(sep$)...& | 00001570 69 31 25 3d 69 25 2b 31 3a 69 25 3d a7 6d 65 6e |i1%=i%+1:i%=.men| 00001580 75 24 2b 73 65 70 24 2c 73 65 70 24 2c 69 31 25 |u$+sep$,sep$,i1%| 00001590 29 0d 00 ba 18 20 3d c1 6d 65 6e 75 24 2c 69 31 |).... =.menu$,i1| 000015a0 25 2c 69 25 2d 69 31 25 29 0d 00 bb 04 0d 00 bc |%,i%-i1%).......| 000015b0 1a 20 dd 20 f2 6d 65 6e 75 73 65 6c 65 63 74 28 |. . .menuselect(| 000015c0 6d 65 6e 75 73 25 29 0d 00 bd 3a 20 c8 99 20 22 |menus%)...: .. "| 000015d0 57 69 6d 70 5f 44 65 63 6f 64 65 4d 65 6e 75 22 |Wimp_DecodeMenu"| 000015e0 2c 2c 57 62 75 66 66 65 72 25 2c 6d 65 6e 75 73 |,,Wbuffer%,menus| 000015f0 25 2c c4 32 30 30 2c 22 20 22 29 b8 2c 2c 2c 61 |%,.200," ").,,,a| 00001600 24 0d 00 be 0f 20 e7 20 61 24 3c 3e 22 22 20 8c |$.... . a$<>"" .| 00001610 0d 00 bf 16 20 20 c8 8e 20 6d 65 6e 75 68 61 6e |.... .. menuhan| 00001620 64 6c 65 25 20 ca 0d 00 c0 0c 20 20 20 c9 20 31 |dle% ..... . 1| 00001630 30 31 0d 00 c1 0e 20 20 20 c8 8e 20 61 24 20 ca |01.... .. a$ .| 00001640 0d 00 c2 26 20 20 20 20 c9 20 22 51 75 69 74 22 |...& . "Quit"| 00001650 20 20 20 20 20 20 20 3a 20 70 73 63 61 6e 5f 65 | : pscan_e| 00001660 78 69 74 25 3d b9 0d 00 c3 35 20 20 20 20 c9 20 |xit%=....5 . | 00001670 22 48 65 6c 70 22 20 20 20 20 20 20 20 3a 20 2a |"Help" : *| 00001680 46 69 6c 65 72 5f 52 75 6e 20 3c 50 73 63 61 6e |Filer_Run <Pscan| 00001690 24 44 69 72 3e 2e 21 48 65 6c 70 0d 00 c4 36 20 |$Dir>.!Help...6 | 000016a0 20 20 20 c9 20 22 4d 61 6e 75 61 6c 22 20 20 20 | . "Manual" | 000016b0 20 20 3a 20 2a 46 69 6c 65 72 5f 52 75 6e 20 3c | : *Filer_Run <| 000016c0 50 73 63 61 6e 24 44 69 72 3e 2e 4d 61 6e 75 61 |Pscan$Dir>.Manua| 000016d0 6c 0d 00 c5 3c 20 20 20 20 c9 20 22 43 68 6f 69 |l...< . "Choi| 000016e0 63 65 73 2e 2e 2e 22 20 3a 20 c8 99 20 22 57 69 |ces..." : .. "Wi| 000016f0 6d 70 5f 53 74 61 72 74 54 61 73 6b 22 2c 63 68 |mp_StartTask",ch| 00001700 6f 69 63 65 73 5f 77 69 6e 64 6f 77 25 0d 00 c6 |oices_window%...| 00001710 42 20 20 20 20 c9 20 22 52 65 67 69 73 74 65 72 |B . "Register| 00001720 2e 2e 2e 22 3a 20 e7 20 24 28 6d 65 6e 75 25 2b |...": . $(menu%+| 00001730 35 36 29 3d 22 73 73 74 76 22 20 8c 20 6a 75 73 |56)="sstv" . jus| 00001740 74 5f 72 65 67 69 73 74 65 72 65 64 25 3d b9 0d |t_registered%=..| 00001750 00 c7 40 20 20 20 20 20 20 20 20 20 20 20 20 20 |..@ | 00001760 20 20 20 20 20 20 20 20 20 20 20 c8 99 20 22 57 | .. "W| 00001770 69 6d 70 5f 53 74 61 72 74 54 61 73 6b 22 2c 72 |imp_StartTask",r| 00001780 65 67 69 73 74 65 72 5f 77 69 6e 64 6f 77 25 0d |egister_window%.| 00001790 00 c8 08 20 20 20 cb 0d 00 c9 07 20 20 cb 0d 00 |... ..... ...| 000017a0 ca 06 20 cd 0d 00 cb 06 20 e1 0d 00 cc 04 0d 00 |.. ..... .......| 000017b0 cd 2a 20 dd 20 f2 77 72 69 74 65 69 63 6f 6e 28 |.* . .writeicon(| 000017c0 69 74 77 25 2c 77 68 61 6e 64 6c 65 25 2c 77 69 |itw%,whandle%,wi| 000017d0 63 25 2c 77 69 63 24 29 0d 00 ce 15 20 21 62 6c |c%,wic$).... !bl| 000017e0 6f 63 6b 25 3d 77 68 61 6e 64 6c 65 25 0d 00 cf |ock%=whandle%...| 000017f0 2e 20 73 25 3d a4 72 65 61 64 69 63 6f 6e 28 69 |. s%=.readicon(i| 00001800 74 77 25 2c 77 68 61 6e 64 6c 65 25 2c 77 69 63 |tw%,whandle%,wic| 00001810 25 29 3a 24 73 25 3d 77 69 63 24 0d 00 d0 12 20 |%):$s%=wic$.... | 00001820 62 6c 6f 63 6b 25 21 34 3d 77 69 63 25 0d 00 d1 |block%!4=wic%...| 00001830 1b 20 62 6c 6f 63 6b 25 21 38 3d 30 3a 62 6c 6f |. block%!8=0:blo| 00001840 63 6b 25 21 31 32 3d 30 0d 00 d2 16 20 c8 99 20 |ck%!12=0.... .. | 00001850 26 34 30 30 43 44 2c 2c 62 6c 6f 63 6b 25 0d 00 |&400CD,,block%..| 00001860 d3 06 20 e1 0d 00 d4 04 0d 00 d5 25 20 dd 20 a4 |.. ........% . .| 00001870 72 65 61 64 69 63 6f 6e 28 69 74 72 25 2c 77 68 |readicon(itr%,wh| 00001880 61 6e 64 6c 65 25 2c 77 68 69 63 68 29 0d 00 d6 |andle%,which)...| 00001890 09 20 ea 20 61 24 0d 00 d7 15 20 21 62 6c 6f 63 |. . a$.... !bloc| 000018a0 6b 25 3d 77 68 61 6e 64 6c 65 25 0d 00 d8 25 20 |k%=whandle%...% | 000018b0 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 |.. "Wimp_GetWind| 000018c0 6f 77 53 74 61 74 65 22 2c 2c 62 6c 6f 63 6b 25 |owState",,block%| 000018d0 0d 00 d9 13 20 62 6c 6f 63 6b 25 21 34 3d 77 68 |.... block%!4=wh| 000018e0 69 63 68 0d 00 da 16 20 c8 99 20 26 34 30 30 43 |ich.... .. &400C| 000018f0 45 2c 2c 62 6c 6f 63 6b 25 0d 00 db 11 20 3d 62 |E,,block%.... =b| 00001900 6c 6f 63 6b 25 21 69 74 72 25 0d 00 dc 04 0d 00 |lock%!itr%......| 00001910 dd 46 20 f4 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 |.F . ********** | 00001920 4d 41 49 4e 20 4e 4f 4e 2d 4d 55 4c 54 49 54 41 |MAIN NON-MULTITA| 00001930 53 4b 49 4e 47 20 50 52 4f 47 52 41 4d 20 53 54 |SKING PROGRAM ST| 00001940 41 52 54 53 20 48 45 52 45 20 2a 2a 2a 2a 2a 2a |ARTS HERE ******| 00001950 2a 2a 2a 2a 0d 00 de 04 0d 00 df 13 20 dd 20 f2 |****........ . .| 00001960 73 74 61 72 74 5f 70 73 63 61 6e 0d 00 e0 04 0d |start_pscan.....| 00001970 00 e1 27 20 f2 72 65 61 64 5f 63 6f 6e 66 69 67 |..' .read_config| 00001980 5f 66 69 6c 65 28 63 6f 6e 66 69 67 5f 65 6e 74 |_file(config_ent| 00001990 72 69 65 73 25 29 0d 00 e2 24 20 f2 73 65 74 5f |ries%)...$ .set_| 000019a0 76 61 72 69 61 62 6c 65 73 5f 66 72 6f 6d 5f 63 |variables_from_c| 000019b0 6f 6e 66 69 67 5f 66 69 6c 65 0d 00 e3 04 0d 00 |onfig_file......| 000019c0 e4 19 20 e7 20 6a 75 73 74 5f 72 65 67 69 73 74 |.. . just_regist| 000019d0 65 72 65 64 25 20 8c 0d 00 e5 39 20 20 ff 28 22 |ered% ....9 .("| 000019e0 4c 4f 41 44 20 3c 50 73 63 61 6e 24 44 69 72 3e |LOAD <Pscan$Dir>| 000019f0 2e 52 65 73 6f 75 72 63 65 73 2e 50 73 63 61 6e |.Resources.Pscan| 00001a00 54 58 20 22 2b c3 7e 74 78 5f 63 6f 64 65 25 29 |TX "+.~tx_code%)| 00001a10 0d 00 e6 19 20 20 6a 75 73 74 5f 72 65 67 69 73 |.... just_regis| 00001a20 74 65 72 65 64 25 3d a3 20 0d 00 e7 06 20 cd 0d |tered%=. .... ..| 00001a30 00 e8 04 0d 00 e9 16 20 c8 99 20 22 48 6f 75 72 |....... .. "Hour| 00001a40 67 6c 61 73 73 5f 4f 6e 22 0d 00 ea 30 20 64 65 |glass_On"...0 de| 00001a50 73 6b 5f 6d 6f 64 65 25 3d eb 3a 6d 6f 64 65 6c |sk_mode%=.:model| 00001a60 65 6e 25 3d 32 34 3a 70 74 72 25 3d 64 65 73 6b |en%=24:ptr%=desk| 00001a70 5f 6d 6f 64 65 25 2b 32 30 0d 00 eb 11 20 c8 95 |_mode%+20.... ..| 00001a80 20 21 70 74 72 25 3c 3e 2d 31 0d 00 ec 18 20 70 | !ptr%<>-1.... p| 00001a90 74 72 25 2b 3d 34 3a 6d 6f 64 65 6c 65 6e 25 2b |tr%+=4:modelen%+| 00001aa0 3d 34 0d 00 ed 06 20 ce 0d 00 ee 1a 20 de 20 6d |=4.... ..... . m| 00001ab0 6f 64 65 73 74 6f 72 65 25 20 6d 6f 64 65 6c 65 |odestore% modele| 00001ac0 6e 25 0d 00 ef 1c 20 e3 20 69 25 3d 30 20 b8 20 |n%.... . i%=0 . | 00001ad0 6d 6f 64 65 6c 65 6e 25 2d 34 20 88 20 34 0d 00 |modelen%-4 . 4..| 00001ae0 f0 22 20 6d 6f 64 65 73 74 6f 72 65 25 21 69 25 |." modestore%!i%| 00001af0 3d 64 65 73 6b 5f 6d 6f 64 65 25 21 69 25 3a ed |=desk_mode%!i%:.| 00001b00 0d 00 f1 2e 20 f2 6d 6f 64 65 28 22 58 36 34 30 |.... .mode("X640| 00001b10 20 59 35 31 32 20 43 33 32 4b 22 29 3a 73 63 72 | Y512 C32K"):scr| 00001b20 65 65 6e 5f 6c 69 6e 65 73 25 3d 35 31 32 0d 00 |een_lines%=512..| 00001b30 f2 36 20 ef 31 32 2c 32 36 2c 32 30 3a 87 3a c8 |.6 .12,26,20:.:.| 00001b40 96 3a 64 69 73 70 5f 66 6c 61 67 25 3d 30 3a 70 |.:disp_flag%=0:p| 00001b50 61 6e 65 6c 24 3d 22 50 61 6e 65 6c 2e 4d 65 64 |anel$="Panel.Med| 00001b60 69 75 6d 22 0d 00 f3 3c 20 73 63 72 65 65 6e 25 |ium"...< screen%| 00001b70 3d a4 73 63 72 65 65 6e 5f 61 64 64 72 65 73 73 |=.screen_address| 00001b80 3a e6 20 32 35 35 2c 32 35 35 2c 30 3a c8 92 20 |:. 255,255,0:.. | 00001b90 30 2c 31 30 32 33 3a c8 92 20 32 2c 31 30 32 33 |0,1023:.. 2,1023| 00001ba0 0d 00 f4 04 0d 00 f5 1c 20 e7 20 21 73 63 72 65 |........ . !scre| 00001bb0 65 6e 25 3c 3e 26 30 33 46 46 30 33 46 46 20 8c |en%<>&03FF03FF .| 00001bc0 0d 00 f6 4b 20 f2 6d 6f 64 65 28 22 58 36 34 30 |...K .mode("X640| 00001bd0 20 59 34 38 30 20 43 33 32 4b 22 29 3a 73 63 72 | Y480 C32K"):scr| 00001be0 65 65 6e 25 3d a4 73 63 72 65 65 6e 5f 61 64 64 |een%=.screen_add| 00001bf0 72 65 73 73 3a 87 3a c8 96 3a 73 63 72 65 65 6e |ress:.:..:screen| 00001c00 5f 6c 69 6e 65 73 25 3d 34 38 30 0d 00 f7 22 20 |_lines%=480..." | 00001c10 e6 20 30 2c 30 2c 31 32 38 3a c8 93 20 c8 90 20 |. 0,0,128:.. .. | 00001c20 30 2c 30 2c 31 32 38 30 2c 31 30 32 34 0d 00 f8 |0,0,1280,1024...| 00001c30 23 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 6b 28 |# .raised_block(| 00001c40 32 30 30 2c 33 30 30 2c 38 35 30 2c 35 30 30 29 |200,300,850,500)| 00001c50 0d 00 f9 27 20 e6 20 32 35 35 2c 32 35 35 2c 31 |...' . 255,255,1| 00001c60 32 38 3a c8 93 20 c8 90 20 32 32 30 2c 37 33 32 |28:.. .. 220,732| 00001c70 2c 38 30 34 2c 35 30 0d 00 fa 3a 20 f2 77 72 69 |,804,50...: .wri| 00001c80 74 65 32 28 22 4d 65 73 73 61 67 65 20 66 72 6f |te2("Message fro| 00001c90 6d 20 50 73 63 61 6e 20 76 65 72 73 69 6f 6e 20 |m Pscan version | 00001ca0 22 2b 76 65 72 24 2c 32 32 30 2c 37 34 30 2c 34 |"+ver$,220,740,4| 00001cb0 29 0d 00 fb 4d 20 f2 77 72 69 74 65 32 28 22 50 |)...M .write2("P| 00001cc0 73 63 61 6e 20 6e 65 65 64 73 20 74 6f 20 75 73 |scan needs to us| 00001cd0 65 20 61 20 36 34 30 20 78 20 35 31 32 20 73 63 |e a 640 x 512 sc| 00001ce0 72 65 65 6e 20 6d 6f 64 65 20 61 6e 64 20 74 68 |reen mode and th| 00001cf0 69 73 22 2c 32 32 30 2c 36 37 30 2c 34 29 0d 00 |is",220,670,4)..| 00001d00 fc 49 20 f2 77 72 69 74 65 32 28 22 64 6f 65 73 |.I .write2("does| 00001d10 20 6e 6f 74 20 73 65 65 6d 20 74 6f 20 62 65 20 | not seem to be | 00001d20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 79 6f 75 |available on you| 00001d30 72 20 63 6f 6d 70 75 74 65 72 2e 22 2c 32 32 30 |r computer.",220| 00001d40 2c 36 33 30 2c 34 29 0d 00 fd 50 20 f2 77 72 69 |,630,4)...P .wri| 00001d50 74 65 32 28 22 53 65 65 20 74 68 65 20 21 52 65 |te2("See the !Re| 00001d60 61 64 4d 65 20 66 69 6c 65 20 69 6e 73 69 64 65 |adMe file inside| 00001d70 20 74 68 65 20 21 50 73 63 61 6e 2e 45 78 74 72 | the !Pscan.Extr| 00001d80 61 73 2e 4d 6f 6e 69 74 6f 72 73 22 2c 32 32 30 |as.Monitors",220| 00001d90 2c 35 39 30 2c 34 29 0d 00 fe 4d 20 f2 77 72 69 |,590,4)...M .wri| 00001da0 74 65 32 28 22 64 69 72 65 63 74 6f 72 79 20 6f |te2("directory o| 00001db0 72 20 63 6f 6e 74 61 63 74 20 47 34 49 4a 45 20 |r contact G4IJE | 00001dc0 28 30 31 32 37 39 20 37 33 34 34 38 32 29 20 66 |(01279 734482) f| 00001dd0 6f 72 20 68 65 6c 70 2e 22 2c 32 32 30 2c 35 35 |or help.",220,55| 00001de0 30 2c 34 29 0d 00 ff 4a 20 f2 77 72 69 74 65 32 |0,4)...J .write2| 00001df0 28 22 59 6f 75 20 63 61 6e 20 72 75 6e 20 50 73 |("You can run Ps| 00001e00 63 61 6e 20 69 6e 20 61 20 36 34 30 20 78 20 34 |can in a 640 x 4| 00001e10 38 30 20 73 63 72 65 65 6e 20 6d 6f 64 65 20 62 |80 screen mode b| 00001e20 75 74 22 2c 32 32 30 2c 34 39 30 2c 34 29 0d 01 |ut",220,490,4)..| 00001e30 00 40 20 f2 77 72 69 74 65 32 28 22 73 6f 6d 65 |.@ .write2("some| 00001e40 20 66 65 61 74 75 72 65 73 20 77 69 6c 6c 20 6e | features will n| 00001e50 6f 74 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c |ot work correctl| 00001e60 79 2e 22 2c 32 32 30 2c 34 35 30 2c 34 29 0d 01 |y.",220,450,4)..| 00001e70 01 4d 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 6b |.M .raised_block| 00001e80 28 32 34 30 2c 33 34 30 2c 33 34 30 2c 34 30 29 |(240,340,340,40)| 00001e90 3a f2 77 72 69 74 65 32 28 22 43 6f 6e 74 69 6e |:.write2("Contin| 00001ea0 75 65 20 69 6e 20 36 34 30 20 78 20 34 38 30 22 |ue in 640 x 480"| 00001eb0 2c 32 34 36 2c 33 34 34 2c 34 29 0d 01 02 47 20 |,246,344,4)...G | 00001ec0 f2 72 61 69 73 65 64 5f 62 6c 6f 63 6b 28 36 36 |.raised_block(66| 00001ed0 34 2c 33 34 30 2c 33 34 30 2c 34 30 29 3a f2 77 |4,340,340,40):.w| 00001ee0 72 69 74 65 32 28 22 51 75 69 74 20 74 6f 20 44 |rite2("Quit to D| 00001ef0 65 73 6b 74 6f 70 22 2c 37 31 34 2c 33 34 34 2c |esktop",714,344,| 00001f00 34 29 0d 01 03 24 20 c8 99 20 22 48 6f 75 72 67 |4)...$ .. "Hourg| 00001f10 6c 61 73 73 5f 53 6d 61 73 68 22 3a 2a 50 4f 49 |lass_Smash":*POI| 00001f20 4e 54 45 52 20 31 0d 01 04 29 20 f2 77 61 69 74 |NTER 1...) .wait| 00001f30 5f 6e 6f 5f 62 75 74 74 6f 6e 3a c8 97 20 c8 93 |_no_button:.. ..| 00001f40 20 32 34 30 2c 33 33 36 2c 37 36 34 2c 34 38 0d | 240,336,764,48.| 00001f50 01 05 3f 20 f5 3a c8 97 20 58 2c 59 2c 42 3a fd |..? .:.. X,Y,B:.| 00001f60 20 42 3c 3e 30 3a e7 20 58 3e 36 36 30 20 8c 20 | B<>0:. X>660 . | 00001f70 c8 99 20 22 57 69 6d 70 5f 53 65 74 4d 6f 64 65 |.. "Wimp_SetMode| 00001f80 22 2c 6d 6f 64 65 73 74 6f 72 65 25 3a e0 0d 01 |",modestore%:...| 00001f90 06 18 20 c8 97 20 c8 93 20 30 2c 30 2c 31 32 38 |.. .. .. 0,0,128| 00001fa0 30 2c 31 30 32 34 0d 01 07 06 20 cd 0d 01 08 04 |0,1024.... .....| 00001fb0 0d 01 09 0b 20 2a 46 58 32 2c 30 0d 01 0a 04 0d |.... *FX2,0.....| 00001fc0 01 0b 1b 20 e7 20 24 28 6d 65 6e 75 25 2b 35 36 |... . $(menu%+56| 00001fd0 29 3d 22 73 73 74 76 22 20 8c 0d 01 0c 45 20 64 |)="sstv" ....E d| 00001fe0 69 73 70 5f 66 6c 61 67 25 3d b9 20 3a 20 f4 20 |isp_flag%=. : . | 00001ff0 50 72 6f 67 72 61 6d 20 68 61 73 20 62 65 65 6e |Program has been| 00002000 20 72 75 6e 20 61 74 20 6c 65 61 73 74 20 6f 6e | run at least on| 00002010 63 65 20 73 6f 20 76 61 72 69 61 62 6c 65 73 0d |ce so variables.| 00002020 01 0d 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 |.., | 00002030 20 20 20 20 20 20 f4 20 61 72 65 20 6e 6f 74 20 | . are not | 00002040 69 6e 69 74 69 61 6c 69 73 65 64 0d 01 0e 06 20 |initialised.... | 00002050 cc 0d 01 0f 04 0d 01 10 44 20 e7 20 69 6a 65 5f |........D . ije_| 00002060 64 65 76 25 20 8c 20 2a 53 45 54 20 50 73 63 61 |dev% . *SET Psca| 00002070 6e 24 44 69 72 20 41 44 46 53 3a 3a 48 61 72 64 |n$Dir ADFS::Hard| 00002080 44 69 73 63 34 2e 24 2e 50 53 5f 4a 61 6e 39 38 |Disc4.$.PS_Jan98| 00002090 2e 41 70 70 46 69 6c 65 73 0d 01 11 04 0d 01 12 |.AppFiles.......| 000020a0 39 20 c8 99 20 22 4f 53 5f 53 57 49 4e 75 6d 62 |9 .. "OS_SWINumb| 000020b0 65 72 46 72 6f 6d 53 74 72 69 6e 67 22 2c 2c 22 |erFromString",,"| 000020c0 4f 53 5f 53 70 72 69 74 65 4f 70 22 20 b8 20 73 |OS_SpriteOp" . s| 000020d0 70 72 73 77 69 25 0d 01 13 31 20 c8 99 20 22 41 |prswi%...1 .. "A| 000020e0 44 46 53 5f 44 72 69 76 65 73 22 20 b8 20 4e 25 |DFS_Drives" . N%| 000020f0 2c 66 6c 6f 70 70 69 65 73 25 2c 68 61 72 64 5f |,floppies%,hard_| 00002100 64 72 69 76 65 73 25 0d 01 14 04 0d 01 15 04 0d |drives%.........| 00002110 01 16 1d 20 de 20 73 70 72 25 20 74 78 74 73 69 |... . spr% txtsi| 00002120 7a 65 25 3a f2 73 70 6c 61 73 68 32 0d 01 17 05 |ze%:.splash2....| 00002130 20 0d 01 18 36 20 f2 67 65 74 5f 64 72 69 76 65 | ...6 .get_drive| 00002140 5f 6e 75 6d 62 65 72 5f 66 72 6f 6d 5f 70 61 74 |_number_from_pat| 00002150 68 6e 61 6d 65 3a 64 65 66 61 75 6c 74 5f 64 69 |hname:default_di| 00002160 72 24 3d 64 69 72 24 0d 01 19 1f 20 61 75 74 6f |r$=dir$.... auto| 00002170 5f 73 61 76 65 25 3d 30 3a 61 75 74 6f 5f 63 6f |_save%=0:auto_co| 00002180 75 6e 74 25 3d 30 0d 01 1a 23 20 54 68 75 6d 62 |unt%=0...# Thumb| 00002190 64 69 72 24 3d 22 3c 50 73 63 61 6e 24 44 69 72 |dir$="<Pscan$Dir| 000021a0 3e 2e 54 68 75 6d 62 73 22 0d 01 1b 04 0d 01 1c |>.Thumbs".......| 000021b0 19 20 f2 6c 6f 61 64 5f 72 78 5f 61 6e 64 5f 74 |. .load_rx_and_t| 000021c0 78 5f 63 6f 64 65 0d 01 1d 19 20 f2 6c 6f 61 64 |x_code.... .load| 000021d0 5f 6f 6e 5f 6c 69 6e 65 5f 6d 61 6e 75 61 6c 0d |_on_line_manual.| 000021e0 01 1e 05 20 0d 01 1f 14 20 c8 97 20 ee 3a 2a 50 |... .... .. .:*P| 000021f0 4f 49 4e 54 45 52 20 31 0d 01 20 04 0d 01 21 1f |OINTER 1.. ...!.| 00002200 20 6d 6f 64 65 25 3d 31 3a 4d 45 4d 25 3d 30 3a | mode%=1:MEM%=0:| 00002210 47 48 25 3d 30 3a 47 57 25 3d 30 0d 01 22 34 20 |GH%=0:GW%=0.."4 | 00002220 6d 65 6d 33 25 3d 30 3a 6d 65 6d 34 25 3d 30 3a |mem3%=0:mem4%=0:| 00002230 6d 65 6d 35 25 3d 30 3a 6d 65 6d 36 25 3d 30 3a |mem5%=0:mem6%=0:| 00002240 6d 65 6d 37 25 3d 30 3a 6d 65 6d 38 25 3d 30 0d |mem7%=0:mem8%=0.| 00002250 01 23 20 20 de 20 6d 65 6d 31 25 20 36 35 35 34 |.# . mem1% 6554| 00002260 32 30 2c 6d 65 6d 32 25 20 36 35 35 34 32 30 0d |20,mem2% 655420.| 00002270 01 24 23 20 e7 20 6d 65 6d 6f 72 69 65 73 25 3e |.$# . memories%>| 00002280 32 20 8c 20 de 20 6d 65 6d 33 25 20 36 35 35 34 |2 . . mem3% 6554| 00002290 32 30 0d 01 25 23 20 e7 20 6d 65 6d 6f 72 69 65 |20..%# . memorie| 000022a0 73 25 3e 33 20 8c 20 de 20 6d 65 6d 34 25 20 36 |s%>3 . . mem4% 6| 000022b0 35 35 34 32 30 0d 01 26 23 20 e7 20 6d 65 6d 6f |55420..&# . memo| 000022c0 72 69 65 73 25 3e 34 20 8c 20 de 20 6d 65 6d 35 |ries%>4 . . mem5| 000022d0 25 20 36 35 35 34 32 30 0d 01 27 23 20 e7 20 6d |% 655420..'# . m| 000022e0 65 6d 6f 72 69 65 73 25 3e 35 20 8c 20 de 20 6d |emories%>5 . . m| 000022f0 65 6d 36 25 20 36 35 35 34 32 30 0d 01 28 23 20 |em6% 655420..(# | 00002300 e7 20 6d 65 6d 6f 72 69 65 73 25 3e 36 20 8c 20 |. memories%>6 . | 00002310 de 20 6d 65 6d 37 25 20 36 35 35 34 32 30 0d 01 |. mem7% 655420..| 00002320 29 23 20 e7 20 6d 65 6d 6f 72 69 65 73 25 3e 37 |)# . memories%>7| 00002330 20 8c 20 de 20 6d 65 6d 38 25 20 36 35 35 34 32 | . . mem8% 65542| 00002340 30 0d 01 2a 04 0d 01 2b 14 20 6d 65 6d 62 6c 6f |0..*...+. memblo| 00002350 63 6b 25 3d 6d 65 6d 31 25 0d 01 2c 0f 20 e7 20 |ck%=mem1%..,. . | 00002360 74 68 75 6d 62 25 20 8c 0d 01 2d 24 20 20 de 20 |thumb% ...-$ . | 00002370 74 68 62 6c 6f 63 6b 25 20 33 32 38 30 30 30 2c |thblock% 328000,| 00002380 74 68 70 61 74 68 25 20 32 35 36 30 0d 01 2e 35 |thpath% 2560...5| 00002390 20 20 74 68 75 6d 62 5f 6d 61 78 25 3d a4 63 6f | thumb_max%=.co| 000023a0 75 6e 74 5f 74 68 75 6d 62 6e 61 69 6c 5f 62 61 |unt_thumbnail_ba| 000023b0 6e 6b 73 3a 74 68 75 6d 62 5f 62 61 6e 6b 25 3d |nks:thumb_bank%=| 000023c0 31 0d 01 2f 25 20 20 74 68 62 6c 6f 63 6b 25 21 |1../% thblock%!| 000023d0 30 3d 33 32 38 30 30 30 3a 74 68 62 6c 6f 63 6b |0=328000:thblock| 000023e0 25 21 38 3d 31 36 0d 01 30 1f 20 20 c8 99 20 73 |%!8=16..0. .. s| 000023f0 70 72 73 77 69 25 2c 32 35 36 2b 39 2c 74 68 62 |prswi%,256+9,thb| 00002400 6c 6f 63 6b 25 0d 01 31 31 20 20 c8 99 20 22 4f |lock%..11 .. "O| 00002410 53 5f 46 69 6c 65 22 2c 35 2c 54 68 75 6d 62 64 |S_File",5,Thumbd| 00002420 69 72 24 2b 22 2e 54 68 75 6d 62 50 69 78 30 31 |ir$+".ThumbPix01| 00002430 22 20 b8 20 61 25 0d 01 32 31 20 20 c8 99 20 22 |" . a%..21 .. "| 00002440 4f 53 5f 46 69 6c 65 22 2c 35 2c 54 68 75 6d 62 |OS_File",5,Thumb| 00002450 64 69 72 24 2b 22 2e 54 68 75 6d 50 61 74 68 30 |dir$+".ThumPath0| 00002460 31 22 20 b8 20 62 25 0d 01 33 16 20 20 20 e7 20 |1" . b%..3. . | 00002470 61 25 3d 30 20 84 20 62 25 3d 30 20 8c 0d 01 34 |a%=0 . b%=0 ...4| 00002480 25 20 20 20 f2 63 72 65 61 74 65 5f 62 6c 61 6e |% .create_blan| 00002490 6b 5f 74 68 75 6d 62 6e 61 69 6c 28 22 6e 65 77 |k_thumbnail("new| 000024a0 22 29 0d 01 35 2a 20 20 20 74 68 75 6d 62 5f 6d |")..5* thumb_m| 000024b0 61 78 25 3d 31 3a 74 68 75 6d 62 5f 62 61 6e 6b |ax%=1:thumb_bank| 000024c0 25 3d 31 3a f2 73 70 6c 61 73 68 32 0d 01 36 08 |%=1:.splash2..6.| 000024d0 20 20 20 cd 0d 01 37 27 20 20 f2 6c 6f 61 64 5f | ...7' .load_| 000024e0 74 68 75 6d 62 6e 61 69 6c 5f 62 61 6e 6b 28 74 |thumbnail_bank(t| 000024f0 68 75 6d 62 5f 62 61 6e 6b 25 29 0d 01 38 06 20 |humb_bank%)..8. | 00002500 cd 0d 01 39 04 0d 01 3a 3c 20 de 20 6d 6f 64 65 |...9...:< . mode| 00002510 24 28 32 30 30 29 3a f2 73 65 74 75 70 5f 6d 6f |$(200):.setup_mo| 00002520 64 65 73 3a 61 72 65 61 5f 63 6f 70 69 65 64 25 |des:area_copied%| 00002530 3d 30 3a 67 62 70 62 5f 6c 65 6e 25 3d 33 30 30 |=0:gbpb_len%=300| 00002540 30 0d 01 3b 41 20 de 20 63 61 74 24 28 38 30 29 |0..;A . cat$(80)| 00002550 2c 66 74 79 70 65 24 28 38 30 29 2c 67 62 70 62 |,ftype$(80),gbpb| 00002560 25 20 67 62 70 62 5f 6c 65 6e 25 2c 70 61 74 68 |% gbpb_len%,path| 00002570 24 28 38 29 2c 6a 70 65 67 73 63 61 6c 65 25 20 |$(8),jpegscale% | 00002580 31 36 0d 01 3c 1f 20 e3 20 4e 25 3d 31 20 b8 20 |16..<. . N%=1 . | 00002590 38 3a 70 61 74 68 24 28 4e 25 29 3d 22 58 22 3a |8:path$(N%)="X":| 000025a0 ed 0d 01 3d 27 20 de 20 72 65 64 64 61 74 61 20 |...=' . reddata | 000025b0 33 32 2c 67 72 6e 64 61 74 61 20 33 32 2c 62 6c |32,grndata 32,bl| 000025c0 75 64 61 74 61 20 33 32 0d 01 3e 32 20 de 20 6d |udata 32..>2 . m| 000025d0 65 6e 75 24 28 32 37 29 2c 66 6f 6e 74 6c 69 73 |enu$(27),fontlis| 000025e0 74 25 20 34 30 2c 74 72 61 6e 25 20 33 32 2c 66 |t% 40,tran% 32,f| 000025f0 6f 6e 74 62 6f 78 25 20 34 30 0d 01 3f 32 20 de |ontbox% 40..?2 .| 00002600 20 6c 6f 61 64 5f 6c 69 73 74 24 28 38 29 2c 72 | load_list$(8),r| 00002610 74 63 5f 62 75 66 66 65 72 25 20 31 30 3a f2 63 |tc_buffer% 10:.c| 00002620 68 65 63 6b 5f 66 6f 72 5f 62 73 74 0d 01 40 27 |heck_for_bst..@'| 00002630 20 de 20 75 73 65 72 5f 70 61 74 68 24 28 31 34 | . user_path$(14| 00002640 29 2c 63 68 6f 69 63 65 73 5f 6c 69 73 74 24 28 |),choices_list$(| 00002650 32 30 29 0d 01 41 37 20 4c 25 3d 36 34 2b a4 66 |20)..A7 L%=64+.f| 00002660 69 6c 65 5f 6c 65 6e 28 22 3c 50 73 63 61 6e 24 |ile_len("<Pscan$| 00002670 44 69 72 3e 2e 55 73 65 72 46 69 6c 65 73 2e 50 |Dir>.UserFiles.P| 00002680 61 74 68 6e 61 6d 65 73 22 29 0d 01 42 14 20 de |athnames")..B. .| 00002690 20 75 73 65 72 5f 70 61 74 68 25 20 4c 25 0d 01 | user_path% L%..| 000026a0 43 23 20 de 20 63 77 5f 64 61 74 61 25 20 35 31 |C# . cw_data% 51| 000026b0 32 3a de 20 63 77 5f 74 61 62 6c 65 24 28 35 30 |2:. cw_table$(50| 000026c0 29 0d 01 44 04 0d 01 45 3b 20 f2 6d 65 6d 5f 61 |)..D...E; .mem_a| 000026d0 73 73 65 6d 62 6c 65 3a f2 70 69 63 70 72 6f 5f |ssemble:.picpro_| 000026e0 61 73 73 65 6d 62 6c 65 3a f2 73 70 72 69 74 65 |assemble:.sprite| 000026f0 5f 73 68 61 64 6f 77 5f 61 73 73 65 6d 62 6c 65 |_shadow_assemble| 00002700 0d 01 46 39 20 f2 6d 79 73 70 72 69 74 65 5f 61 |..F9 .mysprite_a| 00002710 73 73 65 6d 62 6c 65 3a f2 6d 61 6e 75 61 6c 5f |ssemble:.manual_| 00002720 61 73 73 65 6d 62 6c 65 3a f2 72 65 64 72 61 77 |assemble:.redraw| 00002730 5f 61 73 73 65 6d 62 6c 65 0d 01 47 36 20 f2 74 |_assemble..G6 .t| 00002740 61 72 67 61 5f 61 73 73 65 6d 62 6c 65 3a f2 67 |arga_assemble:.g| 00002750 65 74 5f 61 72 65 61 5f 61 73 73 65 6d 62 6c 65 |et_area_assemble| 00002760 3a f2 7a 6f 6f 6d 5f 61 73 73 65 6d 62 6c 65 0d |:.zoom_assemble.| 00002770 01 48 46 20 f2 72 6f 74 61 74 65 5f 72 67 62 5f |.HF .rotate_rgb_| 00002780 61 73 73 65 6d 62 6c 65 3a f2 6d 61 6b 65 5f 73 |assemble:.make_s| 00002790 6d 61 6c 6c 5f 74 61 72 67 61 5f 61 73 73 65 6d |mall_targa_assem| 000027a0 62 6c 65 3a f2 71 75 61 72 74 65 72 5f 61 73 73 |ble:.quarter_ass| 000027b0 65 6d 62 6c 65 0d 01 49 3a 20 f2 77 61 76 65 66 |emble..I: .wavef| 000027c0 6f 72 6d 5f 61 73 73 65 6d 62 6c 65 3a f2 72 65 |orm_assemble:.re| 000027d0 73 65 74 5f 74 30 5f 61 73 73 65 6d 62 6c 65 3a |set_t0_assemble:| 000027e0 f2 6d 65 72 67 65 5f 61 73 73 65 6d 62 6c 65 0d |.merge_assemble.| 000027f0 01 4a 04 0d 01 4b 49 20 74 65 78 74 31 24 3d 22 |.J...KI text1$="| 00002800 22 3a 74 65 78 74 32 24 3d 22 22 3a 74 65 78 74 |":text2$="":text| 00002810 24 3d 22 22 3a 54 43 25 3d 26 30 33 46 46 3a 54 |$="":TC%=&03FF:T| 00002820 44 25 3d 33 32 3a 54 4c 25 3d 33 31 3a 74 65 78 |D%=32:TL%=31:tex| 00002830 74 5f 6f 75 74 5f 63 6f 6c 25 3d 30 0d 01 4c 3e |t_out_col%=0..L>| 00002840 20 62 72 75 73 68 5f 73 69 7a 65 25 3d 31 36 3a | brush_size%=16:| 00002850 73 74 65 70 25 3d 30 3a 67 72 61 64 25 3d 30 3a |step%=0:grad%=0:| 00002860 73 68 61 64 24 3d 22 42 52 22 3a 53 43 25 3d 30 |shad$="BR":SC%=0| 00002870 3a 73 68 61 64 6f 77 25 3d 30 0d 01 4d 41 20 70 |:shadow%=0..MA p| 00002880 62 72 25 3d 32 35 35 3a 70 62 67 25 3d 30 3a 70 |br%=255:pbg%=0:p| 00002890 62 62 25 3d 32 35 35 3a 78 70 25 3d 30 3a 79 70 |bb%=255:xp%=0:yp| 000028a0 25 3d 30 3a 70 62 72 69 25 3d 38 3a 70 62 67 69 |%=0:pbri%=8:pbgi| 000028b0 25 3d 30 3a 70 62 62 69 25 3d 38 0d 01 4e 33 20 |%=0:pbbi%=8..N3 | 000028c0 74 65 78 74 5f 62 6c 6f 63 6b 5f 73 68 61 64 6f |text_block_shado| 000028d0 77 25 3d 30 3a 6f 76 65 72 6c 61 79 25 3d 30 3a |w%=0:overlay%=0:| 000028e0 66 6f 6e 74 24 3d 22 7b 6e 6f 6e 65 7d 22 0d 01 |font$="{none}"..| 000028f0 4f 4b 20 6f 76 65 72 6c 61 79 5f 6f 75 74 6c 69 |OK overlay_outli| 00002900 6e 65 25 3d 30 3a 4f 4f 43 25 3d 30 3a 68 69 72 |ne%=0:OOC%=0:hir| 00002910 65 73 25 3d 30 3a 74 72 61 6e 73 66 6f 72 6d 25 |es%=0:transform%| 00002920 3d b9 3a 73 6f 6c 69 64 25 3d 30 3a 6a 70 65 67 |=.:solid%=0:jpeg| 00002930 5f 73 63 61 6c 65 25 3d 30 0d 01 50 2c 20 66 69 |_scale%=0..P, fi| 00002940 6c 65 5f 6f 70 65 6e 25 3d 30 3a 6d 65 6e 75 5f |le_open%=0:menu_| 00002950 72 65 64 72 61 77 25 3d b9 3a 63 6f 6c 5f 69 64 |redraw%=.:col_id| 00002960 65 63 25 3d 30 0d 01 51 27 20 72 65 61 6c 5f 73 |ec%=0..Q' real_s| 00002970 68 61 64 6f 77 31 25 3d 30 3a 65 6e 74 69 72 65 |hadow1%=0:entire| 00002980 25 3d 30 3a 71 62 77 24 3d 22 6d 22 0d 01 52 4c |%=0:qbw$="m"..RL| 00002990 20 62 6f 72 64 65 72 5f 77 69 64 74 68 25 3d 32 | border_width%=2| 000029a0 3a 62 6f 72 64 65 72 5f 67 72 61 64 25 3d 31 3a |:border_grad%=1:| 000029b0 62 79 70 61 73 73 25 3d 30 3a 73 63 72 65 65 6e |bypass%=0:screen| 000029c0 5f 67 72 61 62 62 65 64 25 3d 30 3a 6a 70 65 67 |_grabbed%=0:jpeg| 000029d0 5f 69 6e 66 6f 25 3d 30 0d 01 53 48 20 71 75 69 |_info%=0..SH qui| 000029e0 74 5f 61 66 74 65 72 5f 65 72 72 6f 72 25 3d a3 |t_after_error%=.| 000029f0 3a 6c 61 73 74 66 69 6c 65 24 3d 22 22 3a 6d 65 |:lastfile$="":me| 00002a00 72 67 65 25 3d 30 3a 67 72 61 62 24 3d 22 65 22 |rge%=0:grab$="e"| 00002a10 3a 6d 61 73 6b 5f 63 72 65 61 74 65 64 25 3d 30 |:mask_created%=0| 00002a20 0d 01 54 38 20 73 68 6f 77 6e 5f 64 69 72 24 3d |..T8 shown_dir$=| 00002a30 22 2d 22 3a 64 69 72 5f 65 6e 74 72 69 65 73 25 |"-":dir_entries%| 00002a40 3d 30 3a 74 65 78 74 25 3d 30 3a 6d 6d 6d 25 3d |=0:text%=0:mmm%=| 00002a50 31 3a 56 49 53 25 3d 30 0d 01 55 40 20 63 75 72 |1:VIS%=0..U@ cur| 00002a60 73 6f 72 5f 73 74 61 74 75 73 25 3d 39 39 3a 61 |sor_status%=99:a| 00002a70 75 74 6f 5f 66 69 6e 64 25 3d a3 3a 72 71 75 69 |uto_find%=.:rqui| 00002a80 74 25 3d a3 3a 74 6f 6e 65 62 75 72 73 74 5f 72 |t%=.:toneburst_r| 00002a90 65 73 75 6c 74 25 3d 30 0d 01 56 41 20 73 74 61 |esult%=0..VA sta| 00002aa0 72 74 5f 65 6e 74 72 79 25 3d 30 3a 6c 61 73 74 |rt_entry%=0:last| 00002ab0 5f 73 74 61 72 74 5f 65 6e 74 72 79 25 3d 30 3a |_start_entry%=0:| 00002ac0 62 69 67 5f 64 69 72 25 3d 30 3a 77 61 73 5f 62 |big_dir%=0:was_b| 00002ad0 69 67 5f 64 69 72 25 3d 30 0d 01 57 04 0d 01 58 |ig_dir%=0..W...X| 00002ae0 27 20 e3 20 4e 25 3d 31 20 b8 20 32 30 3a 63 68 |' . N%=1 . 20:ch| 00002af0 6f 69 63 65 73 5f 6c 69 73 74 24 28 4e 25 29 3d |oices_list$(N%)=| 00002b00 22 22 3a ed 0d 01 59 08 20 ea 20 85 0d 01 5a 2c |"":...Y. . ...Z,| 00002b10 20 ee 20 85 20 ea 20 d9 23 46 25 3a f2 63 72 65 | . . . .#F%:.cre| 00002b20 61 74 65 5f 64 65 66 61 75 6c 74 5f 6f 70 74 69 |ate_default_opti| 00002b30 6f 6e 73 5f 66 69 6c 65 0d 01 5b 2a 20 46 25 3d |ons_file..[* F%=| 00002b40 ad 28 22 3c 50 73 63 61 6e 24 44 69 72 3e 2e 55 |.("<Pscan$Dir>.U| 00002b50 73 65 72 46 69 6c 65 73 2e 4f 70 74 69 6f 6e 73 |serFiles.Options| 00002b60 22 29 0d 01 5c 2a 20 e8 23 46 25 2c 73 61 76 65 |")..\* .#F%,save| 00002b70 5f 74 79 70 65 24 3a 63 68 6f 69 63 65 73 5f 6c |_type$:choices_l| 00002b80 69 73 74 24 28 31 29 3d 22 6f 6b 22 0d 01 5d 30 |ist$(1)="ok"..]0| 00002b90 20 e8 23 46 25 2c 71 77 69 6b 74 65 78 74 5f 63 | .#F%,qwiktext_c| 00002ba0 6f 6c 6f 75 72 25 3a 63 68 6f 69 63 65 73 5f 6c |olour%:choices_l| 00002bb0 69 73 74 24 28 32 29 3d 22 6f 6b 22 0d 01 5e 2f |ist$(2)="ok"..^/| 00002bc0 20 e8 23 46 25 2c 71 77 69 6b 74 65 78 74 5f 62 | .#F%,qwiktext_b| 00002bd0 6c 6f 63 6b 25 3a 63 68 6f 69 63 65 73 5f 6c 69 |lock%:choices_li| 00002be0 73 74 24 28 33 29 3d 22 6f 6b 22 0d 01 5f 29 20 |st$(3)="ok".._) | 00002bf0 e8 23 46 25 2c 6a 70 65 67 5f 6f 70 74 25 3a 63 |.#F%,jpeg_opt%:c| 00002c00 68 6f 69 63 65 73 5f 6c 69 73 74 24 28 34 29 3d |hoices_list$(4)=| 00002c10 22 6f 6b 22 0d 01 60 2c 20 e8 23 46 25 2c 70 6c |"ok"..`, .#F%,pl| 00002c20 6f 74 5f 73 68 61 64 6f 77 25 3a 63 68 6f 69 63 |ot_shadow%:choic| 00002c30 65 73 5f 6c 69 73 74 24 28 35 29 3d 22 6f 6b 22 |es_list$(5)="ok"| 00002c40 0d 01 61 2c 20 e8 23 46 25 2c 70 6c 6f 74 5f 62 |..a, .#F%,plot_b| 00002c50 6f 72 64 65 72 25 3a 63 68 6f 69 63 65 73 5f 6c |order%:choices_l| 00002c60 69 73 74 24 28 36 29 3d 22 6f 6b 22 0d 01 62 2c |ist$(6)="ok"..b,| 00002c70 20 e8 23 46 25 2c 66 61 78 5f 61 76 65 72 61 67 | .#F%,fax_averag| 00002c80 65 25 3a 63 68 6f 69 63 65 73 5f 6c 69 73 74 24 |e%:choices_list$| 00002c90 28 37 29 3d 22 6f 6b 22 0d 01 63 24 20 e8 23 46 |(7)="ok"..c$ .#F| 00002ca0 25 2c 72 65 64 25 3a 63 68 6f 69 63 65 73 5f 6c |%,red%:choices_l| 00002cb0 69 73 74 24 28 38 29 3d 22 6f 6b 22 0d 01 64 24 |ist$(8)="ok"..d$| 00002cc0 20 e8 23 46 25 2c 67 72 6e 25 3a 63 68 6f 69 63 | .#F%,grn%:choic| 00002cd0 65 73 5f 6c 69 73 74 24 28 39 29 3d 22 6f 6b 22 |es_list$(9)="ok"| 00002ce0 0d 01 65 25 20 e8 23 46 25 2c 62 6c 75 25 3a 63 |..e% .#F%,blu%:c| 00002cf0 68 6f 69 63 65 73 5f 6c 69 73 74 24 28 31 30 29 |hoices_list$(10)| 00002d00 3d 22 6f 6b 22 0d 01 66 26 20 e8 23 46 25 2c 6a |="ok"..f& .#F%,j| 00002d10 70 67 71 25 3a 63 68 6f 69 63 65 73 5f 6c 69 73 |pgq%:choices_lis| 00002d20 74 24 28 31 31 29 3d 22 6f 6b 22 0d 01 67 29 20 |t$(11)="ok"..g) | 00002d30 e8 23 46 25 2c 49 6f 66 66 73 65 74 25 3a 63 68 |.#F%,Ioffset%:ch| 00002d40 6f 69 63 65 73 5f 6c 69 73 74 24 28 31 32 29 3d |oices_list$(12)=| 00002d50 22 6f 6b 22 0d 01 68 2d 20 e8 23 46 25 2c 68 65 |"ok"..h- .#F%,he| 00002d60 61 64 65 72 5f 74 65 78 74 25 3a 63 68 6f 69 63 |ader_text%:choic| 00002d70 65 73 5f 6c 69 73 74 24 28 31 33 29 3d 22 6f 6b |es_list$(13)="ok| 00002d80 22 0d 01 69 2f 20 e8 23 46 25 2c 70 64 5f 61 75 |"..i/ .#F%,pd_au| 00002d90 74 6f 5f 6c 69 6e 65 73 25 3a 63 68 6f 69 63 65 |to_lines%:choice| 00002da0 73 5f 6c 69 73 74 24 28 31 34 29 3d 22 6f 6b 22 |s_list$(14)="ok"| 00002db0 0d 01 6a 2b 20 e8 23 46 25 2c 73 73 74 76 5f 74 |..j+ .#F%,sstv_t| 00002dc0 69 6d 65 25 3a 63 68 6f 69 63 65 73 5f 6c 69 73 |ime%:choices_lis| 00002dd0 74 24 28 31 35 29 3d 22 6f 6b 22 0d 01 6b 2f 20 |t$(15)="ok"..k/ | 00002de0 e8 23 46 25 2c 6f 75 74 6c 69 6e 65 5f 77 69 64 |.#F%,outline_wid| 00002df0 74 68 25 3a 63 68 6f 69 63 65 73 5f 6c 69 73 74 |th%:choices_list| 00002e00 24 28 31 36 29 3d 22 6f 6b 22 0d 01 6c 2b 20 e8 |$(16)="ok"..l+ .| 00002e10 23 46 25 2c 62 65 61 63 6f 6e 5f 6f 6e 25 3a 63 |#F%,beacon_on%:c| 00002e20 68 6f 69 63 65 73 5f 6c 69 73 74 24 28 31 37 29 |hoices_list$(17)| 00002e30 3d 22 6f 6b 22 0d 01 6d 09 20 d9 23 46 25 0d 01 |="ok"..m. .#F%..| 00002e40 6e 08 20 f7 20 85 0d 01 6f 04 0d 01 70 13 20 c8 |n. . ...o...p. .| 00002e50 8e 20 6a 70 65 67 5f 6f 70 74 25 20 ca 0d 01 71 |. jpeg_opt% ...q| 00002e60 18 20 c9 20 30 2c 31 3a 6a 70 65 67 5f 73 63 61 |. . 0,1:jpeg_sca| 00002e70 6c 65 25 3d 30 0d 01 72 19 20 c9 20 32 2c 33 3a |le%=0..r. . 2,3:| 00002e80 6a 70 65 67 5f 73 63 61 6c 65 25 3d 2d 31 0d 01 |jpeg_scale%=-1..| 00002e90 73 06 20 cb 0d 01 74 04 0d 01 75 2f 20 e7 20 73 |s. ...t...u/ . s| 00002ea0 61 76 65 5f 74 79 70 65 24 3d 22 6f 76 65 72 6c |ave_type$="overl| 00002eb0 61 79 22 20 73 61 76 65 5f 74 79 70 65 24 3d 22 |ay" save_type$="| 00002ec0 73 70 72 69 74 65 22 0d 01 76 04 0d 01 77 2a 20 |sprite"..v...w* | 00002ed0 de 20 6d 6f 75 73 65 31 25 20 33 30 30 2c 6d 6f |. mouse1% 300,mo| 00002ee0 75 73 65 32 25 20 33 30 30 2c 6d 6f 75 73 65 33 |use2% 300,mouse3| 00002ef0 25 20 33 30 30 0d 01 78 34 20 64 75 6d 6d 79 3d |% 300..x4 dummy=| 00002f00 a4 66 69 6c 65 5f 6c 65 6e 28 22 3c 50 73 63 61 |.file_len("<Psca| 00002f10 6e 24 44 69 72 3e 2e 52 65 73 6f 75 72 63 65 73 |n$Dir>.Resources| 00002f20 2e 63 72 6f 73 73 31 22 29 0d 01 79 36 20 ff 28 |.cross1")..y6 .(| 00002f30 22 4c 4f 41 44 20 3c 50 73 63 61 6e 24 44 69 72 |"LOAD <Pscan$Dir| 00002f40 3e 2e 52 65 73 6f 75 72 63 65 73 2e 63 72 6f 73 |>.Resources.cros| 00002f50 73 31 20 22 2b c3 7e 6d 6f 75 73 65 31 25 29 0d |s1 "+.~mouse1%).| 00002f60 01 7a 34 20 64 75 6d 6d 79 3d a4 66 69 6c 65 5f |.z4 dummy=.file_| 00002f70 6c 65 6e 28 22 3c 50 73 63 61 6e 24 44 69 72 3e |len("<Pscan$Dir>| 00002f80 2e 52 65 73 6f 75 72 63 65 73 2e 63 72 6f 73 73 |.Resources.cross| 00002f90 32 22 29 0d 01 7b 36 20 ff 28 22 4c 4f 41 44 20 |2")..{6 .("LOAD | 00002fa0 3c 50 73 63 61 6e 24 44 69 72 3e 2e 52 65 73 6f |<Pscan$Dir>.Reso| 00002fb0 75 72 63 65 73 2e 63 72 6f 73 73 32 20 22 2b c3 |urces.cross2 "+.| 00002fc0 7e 6d 6f 75 73 65 32 25 29 0d 01 7c 34 20 64 75 |~mouse2%)..|4 du| 00002fd0 6d 6d 79 3d a4 66 69 6c 65 5f 6c 65 6e 28 22 3c |mmy=.file_len("<| 00002fe0 50 73 63 61 6e 24 44 69 72 3e 2e 52 65 73 6f 75 |Pscan$Dir>.Resou| 00002ff0 72 63 65 73 2e 66 69 6e 67 65 72 22 29 0d 01 7d |rces.finger")..}| 00003000 36 20 ff 28 22 4c 4f 41 44 20 3c 50 73 63 61 6e |6 .("LOAD <Pscan| 00003010 24 44 69 72 3e 2e 52 65 73 6f 75 72 63 65 73 2e |$Dir>.Resources.| 00003020 66 69 6e 67 65 72 20 22 2b c3 7e 6d 6f 75 73 65 |finger "+.~mouse| 00003030 33 25 29 0d 01 7e 04 0d 01 7f 44 20 53 50 4d 25 |3%)..~....D SPM%| 00003040 3d 32 38 30 30 30 3a de 20 73 70 62 25 20 53 50 |=28000:. spb% SP| 00003050 4d 25 3a 21 73 70 62 25 3d 53 50 4d 25 3a 73 70 |M%:!spb%=SPM%:sp| 00003060 62 25 21 34 3d 30 3a 73 70 62 25 21 38 3d 31 36 |b%!4=0:spb%!8=16| 00003070 3a 73 70 62 25 21 31 32 3d 31 36 0d 01 80 3e 20 |:spb%!12=16...> | 00003080 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 31 |.. sprswi%,256+1| 00003090 30 2c 73 70 62 25 2c 22 3c 50 73 63 61 6e 24 44 |0,spb%,"<Pscan$D| 000030a0 69 72 3e 2e 50 53 73 70 72 69 74 65 73 2e 73 73 |ir>.PSsprites.ss| 000030b0 74 76 5f 69 63 6f 6e 73 22 0d 01 81 04 0d 01 82 |tv_icons".......| 000030c0 14 20 de 20 74 72 61 6e 73 6c 61 74 65 25 20 31 |. . translate% 1| 000030d0 36 0d 01 83 09 20 f7 20 2b 30 0d 01 84 28 20 e3 |6.... . +0...( .| 000030e0 20 4e 25 3d 30 20 b8 20 31 35 3a f3 20 44 25 3a | N%=0 . 15:. D%:| 000030f0 74 72 61 6e 73 6c 61 74 65 25 3f 4e 25 3d 44 25 |translate%?N%=D%| 00003100 3a ed 0d 01 85 3b 20 dc 20 32 35 35 2c 32 35 33 |:....; . 255,253| 00003110 2c 31 37 31 2c 31 36 39 2c 38 37 2c 38 35 2c 33 |,171,169,87,85,3| 00003120 2c 30 2c 31 34 34 2c 36 31 2c 34 39 2c 31 32 2c |,0,144,61,49,12,| 00003130 31 39 30 2c 33 36 2c 34 37 2c 32 32 37 0d 01 86 |190,36,47,227...| 00003140 04 0d 01 87 18 20 de 20 74 72 61 6e 73 6c 61 74 |..... . translat| 00003150 65 32 35 36 25 20 32 35 36 0d 01 88 11 20 e3 20 |e256% 256.... . | 00003160 4e 25 3d 30 20 b8 20 32 35 35 0d 01 89 30 20 c8 |N%=0 . 255...0 .| 00003170 99 20 22 43 6f 6c 6f 75 72 54 72 61 6e 73 5f 43 |. "ColourTrans_C| 00003180 6f 6c 6f 75 72 4e 75 6d 62 65 72 54 6f 47 43 4f |olourNumberToGCO| 00003190 4c 22 2c 4e 25 20 b8 20 44 25 0d 01 8a 1a 20 74 |L",N% . D%.... t| 000031a0 72 61 6e 73 6c 61 74 65 32 35 36 25 3f 4e 25 3d |ranslate256%?N%=| 000031b0 44 25 3a ed 0d 01 8b 04 0d 01 8c 17 20 24 28 6d |D%:......... $(m| 000031c0 65 6e 75 25 2b 35 36 29 3d 22 73 73 74 76 22 0d |enu%+56)="sstv".| 000031d0 01 8d 06 20 cd 0d 01 8e 04 0d 01 8f 19 20 c8 99 |... ......... ..| 000031e0 20 22 4f 53 5f 42 79 74 65 22 2c 32 32 39 2c 30 | "OS_Byte",229,0| 000031f0 2c 30 0d 01 90 08 20 ea 20 85 0d 01 91 1f 20 ee |,0.... . ..... .| 00003200 20 85 20 ea 20 f2 70 73 63 61 6e 5f 65 72 72 6f | . . .pscan_erro| 00003210 72 5f 68 61 6e 64 6c 65 72 0d 01 92 24 20 f2 67 |r_handler...$ .g| 00003220 65 74 5f 64 72 69 76 65 5f 6e 75 6d 62 65 72 5f |et_drive_number_| 00003230 66 72 6f 6d 5f 70 61 74 68 6e 61 6d 65 0d 01 93 |from_pathname...| 00003240 18 20 42 49 47 51 55 49 54 25 3d 30 3a 68 69 6d |. BIGQUIT%=0:him| 00003250 65 6d 25 3d 93 0d 01 94 23 20 f2 6d 69 6e 69 5f |em%=....# .mini_| 00003260 70 61 64 3a c8 99 20 22 48 6f 75 72 67 6c 61 73 |pad:.. "Hourglas| 00003270 73 5f 53 6d 61 73 68 22 0d 01 95 13 20 f2 6d 6f |s_Smash".... .mo| 00003280 75 73 65 5f 63 6f 6e 74 72 6f 6c 0d 01 96 28 20 |use_control...( | 00003290 e7 20 ac 20 69 6a 65 5f 64 65 76 25 20 8c 20 c8 |. . ije_dev% . .| 000032a0 99 20 22 4f 53 5f 42 79 74 65 22 2c 32 32 39 2c |. "OS_Byte",229,| 000032b0 31 2c 30 0d 01 97 08 20 f7 20 85 0d 01 98 21 20 |1,0.... . ....! | 000032c0 c8 99 20 22 57 69 6d 70 5f 53 65 74 4d 6f 64 65 |.. "Wimp_SetMode| 000032d0 22 2c 6d 6f 64 65 73 74 6f 72 65 25 0d 01 99 49 |",modestore%...I| 000032e0 20 f2 77 72 69 74 65 32 28 22 52 65 74 75 72 6e | .write2("Return| 000032f0 69 6e 67 20 74 6f 20 74 68 65 20 64 65 73 6b 74 |ing to the deskt| 00003300 6f 70 20 2d 20 70 6c 65 61 73 65 20 77 61 69 74 |op - please wait| 00003310 20 61 20 6d 6f 6d 65 6e 74 22 2c 33 30 30 2c 35 | a moment",300,5| 00003320 30 30 2c 30 29 0d 01 9a 49 20 f2 77 72 69 74 65 |00,0)...I .write| 00003330 32 28 22 52 65 74 75 72 6e 69 6e 67 20 74 6f 20 |2("Returning to | 00003340 74 68 65 20 64 65 73 6b 74 6f 70 20 2d 20 70 6c |the desktop - pl| 00003350 65 61 73 65 20 77 61 69 74 20 61 20 6d 6f 6d 65 |ease wait a mome| 00003360 6e 74 22 2c 32 39 36 2c 35 30 34 2c 31 29 0d 01 |nt",296,504,1)..| 00003370 9b 13 20 f2 75 70 64 61 74 65 5f 72 74 63 28 b9 |.. .update_rtc(.| 00003380 29 0d 01 9c 04 0d 01 9d 2a 20 46 25 3d ad 28 22 |).......* F%=.("| 00003390 3c 50 73 63 61 6e 24 44 69 72 3e 2e 55 73 65 72 |<Pscan$Dir>.User| 000033a0 46 69 6c 65 73 2e 4f 70 74 69 6f 6e 73 22 29 0d |Files.Options").| 000033b0 01 9e 14 20 f1 23 46 25 2c 73 61 76 65 5f 74 79 |... .#F%,save_ty| 000033c0 70 65 24 0d 01 9f 1a 20 f1 23 46 25 2c 71 77 69 |pe$.... .#F%,qwi| 000033d0 6b 74 65 78 74 5f 63 6f 6c 6f 75 72 25 0d 01 a0 |ktext_colour%...| 000033e0 19 20 f1 23 46 25 2c 71 77 69 6b 74 65 78 74 5f |. .#F%,qwiktext_| 000033f0 62 6c 6f 63 6b 25 0d 01 a1 13 20 f1 23 46 25 2c |block%.... .#F%,| 00003400 6a 70 65 67 5f 6f 70 74 25 0d 01 a2 16 20 f1 23 |jpeg_opt%.... .#| 00003410 46 25 2c 70 6c 6f 74 5f 73 68 61 64 6f 77 25 0d |F%,plot_shadow%.| 00003420 01 a3 16 20 f1 23 46 25 2c 70 6c 6f 74 5f 62 6f |... .#F%,plot_bo| 00003430 72 64 65 72 25 0d 01 a4 16 20 f1 23 46 25 2c 66 |rder%.... .#F%,f| 00003440 61 78 5f 61 76 65 72 61 67 65 25 0d 01 a5 0e 20 |ax_average%.... | 00003450 f1 23 46 25 2c 72 65 64 25 0d 01 a6 0e 20 f1 23 |.#F%,red%.... .#| 00003460 46 25 2c 67 72 6e 25 0d 01 a7 0e 20 f1 23 46 25 |F%,grn%.... .#F%| 00003470 2c 62 6c 75 25 0d 01 a8 0f 20 f1 23 46 25 2c 6a |,blu%.... .#F%,j| 00003480 70 67 71 25 0d 01 a9 12 20 f1 23 46 25 2c 49 6f |pgq%.... .#F%,Io| 00003490 66 66 73 65 74 25 0d 01 aa 16 20 f1 23 46 25 2c |ffset%.... .#F%,| 000034a0 68 65 61 64 65 72 5f 74 65 78 74 25 0d 01 ab 18 |header_text%....| 000034b0 20 f1 23 46 25 2c 70 64 5f 61 75 74 6f 5f 6c 69 | .#F%,pd_auto_li| 000034c0 6e 65 73 25 0d 01 ac 14 20 f1 23 46 25 2c 73 73 |nes%.... .#F%,ss| 000034d0 74 76 5f 74 69 6d 65 25 0d 01 ad 18 20 f1 23 46 |tv_time%.... .#F| 000034e0 25 2c 6f 75 74 6c 69 6e 65 5f 77 69 64 74 68 25 |%,outline_width%| 000034f0 0d 01 ae 14 20 f1 23 46 25 2c 62 65 61 63 6f 6e |.... .#F%,beacon| 00003500 5f 6f 6e 25 0d 01 af 09 20 d9 23 46 25 0d 01 b0 |_on%.... .#F%...| 00003510 06 20 e1 0d 01 b1 04 0d 01 b2 26 20 dd 20 f2 73 |. ........& . .s| 00003520 65 74 5f 76 61 72 69 61 62 6c 65 73 5f 66 72 6f |et_variables_fro| 00003530 6d 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 0d 01 b3 |m_config_file...| 00003540 16 20 20 63 61 6c 6c 24 3d 63 6f 6e 66 69 67 24 |. call$=config$| 00003550 28 31 29 0d 01 b4 1f 20 20 63 6c 6f 63 6b 5f 66 |(1).... clock_f| 00003560 72 65 71 25 3d bb 28 63 6f 6e 66 69 67 24 28 32 |req%=.(config$(2| 00003570 29 29 0d 01 b5 15 20 20 64 69 72 24 3d 63 6f 6e |)).... dir$=con| 00003580 66 69 67 24 28 33 29 0d 01 b6 1c 20 20 75 73 65 |fig$(3).... use| 00003590 72 5f 64 72 69 76 65 24 3d 63 6f 6e 66 69 67 24 |r_drive$=config$| 000035a0 28 36 29 0d 01 b7 31 20 20 e7 20 a7 75 73 65 72 |(6)...1 . .user| 000035b0 5f 64 72 69 76 65 24 2c 22 3a 3a 22 29 3e 30 20 |_drive$,"::")>0 | 000035c0 80 20 a9 28 75 73 65 72 5f 64 72 69 76 65 24 29 |. .(user_drive$)| 000035d0 3e 36 20 8c 0d 01 b8 11 20 20 20 75 64 5f 70 61 |>6 ..... ud_pa| 000035e0 74 68 25 3d b9 0d 01 b9 07 20 20 cc 0d 01 ba 11 |th%=..... .....| 000035f0 20 20 20 75 64 5f 70 61 74 68 25 3d a3 0d 01 bb | ud_path%=....| 00003600 07 20 20 cd 0d 01 bc 1a 20 20 61 75 74 6f 5f 64 |. ..... auto_d| 00003610 69 72 24 3d 63 6f 6e 66 69 67 24 28 37 29 0d 01 |ir$=config$(7)..| 00003620 bd 26 20 20 e7 20 63 6f 6e 66 69 67 24 28 38 29 |.& . config$(8)| 00003630 3d 22 59 22 20 8c 20 58 34 25 3d b9 20 8b 20 58 |="Y" . X4%=. . X| 00003640 34 25 3d a3 0d 01 be 1e 20 20 68 65 61 64 65 72 |4%=..... header| 00003650 5f 74 65 78 74 24 3d 63 6f 6e 66 69 67 24 28 31 |_text$=config$(1| 00003660 30 29 0d 01 bf 18 20 20 63 77 5f 69 64 24 3d 63 |0).... cw_id$=c| 00003670 6f 6e 66 69 67 24 28 31 31 29 0d 01 c0 29 20 20 |onfig$(11)...) | 00003680 74 6f 6e 65 62 75 72 73 74 5f 62 61 6e 64 77 69 |toneburst_bandwi| 00003690 64 74 68 25 3d bb 28 63 6f 6e 66 69 67 24 28 31 |dth%=.(config$(1| 000036a0 32 29 29 0d 01 c1 21 20 20 73 65 72 69 61 6c 5f |2))...! serial_| 000036b0 62 61 73 65 25 3d a0 28 63 6f 6e 66 69 67 24 28 |base%=.(config$(| 000036c0 31 33 29 29 0d 01 c2 06 20 e1 0d 01 c3 04 0d 01 |13)).... .......| 000036d0 c4 1c 20 dd 20 f2 72 65 61 64 5f 63 6f 6e 66 69 |.. . .read_confi| 000036e0 67 5f 66 69 6c 65 28 4c 25 29 0d 01 c5 28 20 20 |g_file(L%)...( | 000036f0 46 25 3d 8e 28 22 3c 50 73 63 61 6e 24 44 69 72 |F%=.("<Pscan$Dir| 00003700 3e 2e 43 68 6f 69 63 65 73 2e 50 61 72 61 6d 73 |>.Choices.Params| 00003710 22 29 0d 01 c6 12 20 20 20 e3 20 4e 25 3d 31 20 |").... . N%=1 | 00003720 b8 20 4c 25 0d 01 c7 18 20 20 20 20 63 6f 6e 66 |. L%.... conf| 00003730 69 67 24 28 4e 25 29 3d be 23 46 25 0d 01 c8 08 |ig$(N%)=.#F%....| 00003740 20 20 20 ed 0d 01 c9 0a 20 20 d9 23 46 25 0d 01 | ..... .#F%..| 00003750 ca 06 20 e1 0d 01 cb 04 0d 01 cc 1b 20 dd 20 f2 |.. ......... . .| 00003760 70 73 63 61 6e 5f 65 72 72 6f 72 5f 68 61 6e 64 |pscan_error_hand| 00003770 6c 65 72 0d 01 cd 15 20 d6 20 72 65 73 65 74 5f |ler.... . reset_| 00003780 74 30 5f 63 6f 64 65 25 0d 01 ce 3b 20 e7 20 63 |t0_code%...; . c| 00003790 75 72 73 6f 72 5f 73 74 61 74 75 73 25 3c 3e 39 |ursor_status%<>9| 000037a0 39 20 c8 99 20 22 4f 53 5f 42 79 74 65 22 2c 32 |9 .. "OS_Byte",2| 000037b0 33 37 2c 63 75 72 73 6f 72 5f 73 74 61 74 75 73 |37,cursor_status| 000037c0 25 2c 30 0d 01 cf 1f 20 ef 32 36 2c 32 30 2c 34 |%,0.... .26,20,4| 000037d0 2c 37 3a 87 3a c8 96 3a 2a 50 4f 49 4e 54 45 52 |,7:.:..:*POINTER| 000037e0 20 31 0d 01 d0 13 20 ef 31 39 2c 31 2c 32 34 2c | 1.... .19,1,24,| 000037f0 30 2c 30 2c 30 0d 01 d1 2d 20 58 25 3d 32 38 30 |0,0,0...- X%=280| 00003800 3a 59 25 3d 33 30 34 3a 57 25 3d 37 32 30 3a 48 |:Y%=304:W%=720:H| 00003810 25 3d 34 30 30 3a 61 75 74 6f 5f 73 61 76 65 25 |%=400:auto_save%| 00003820 3d 30 0d 01 d2 19 20 c8 99 20 22 48 6f 75 72 67 |=0.... .. "Hourg| 00003830 6c 61 73 73 5f 53 6d 61 73 68 22 0d 01 d3 18 20 |lass_Smash".... | 00003840 e7 20 66 69 6c 65 5f 6f 70 65 6e 25 20 8c 20 d9 |. file_open% . .| 00003850 23 46 25 0d 01 d4 28 20 f2 72 61 69 73 65 64 5f |#F%...( .raised_| 00003860 62 6c 6f 63 6b 28 58 25 2b 34 30 2c 59 25 2c 57 |block(X%+40,Y%,W| 00003870 25 2d 38 30 2c 48 25 2d 33 30 29 0d 01 d5 2f 20 |%-80,H%-30).../ | 00003880 e6 20 36 33 20 c8 9c 20 30 3a c8 93 20 c8 90 20 |. 63 .. 0:.. .. | 00003890 58 25 2b 36 34 2c 59 25 2b 31 30 30 2c 57 25 2d |X%+64,Y%+100,W%-| 000038a0 31 32 38 2c 48 25 2d 32 34 30 0d 01 d6 2d 20 e6 |128,H%-240...- .| 000038b0 20 36 34 2c 36 34 2c 36 34 3a c8 93 20 58 25 2b | 64,64,64:.. X%+| 000038c0 36 34 2c 59 25 2b 31 30 30 2c 57 25 2d 31 32 38 |64,Y%+100,W%-128| 000038d0 2c 48 25 2d 32 34 30 0d 01 d7 31 20 e6 20 32 35 |,H%-240...1 . 25| 000038e0 35 2c 32 35 35 2c 32 35 35 3a 86 20 58 25 2b 36 |5,255,255:. X%+6| 000038f0 34 2c 59 25 2b 31 30 30 2c 58 25 2b 57 25 2d 36 |4,Y%+100,X%+W%-6| 00003900 34 2c 59 25 2b 31 30 30 0d 01 d8 29 20 86 20 58 |4,Y%+100...) . X| 00003910 25 2b 57 25 2d 36 34 2c 59 25 2b 31 30 30 2c 58 |%+W%-64,Y%+100,X| 00003920 25 2b 57 25 2d 36 34 2c 59 25 2b 48 25 2d 31 34 |%+W%-64,Y%+H%-14| 00003930 30 0d 01 d9 3f 20 c8 99 20 73 70 72 73 77 69 25 |0...? .. sprswi%| 00003940 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 65 72 |,256+52,spb%,"er| 00003950 72 6f 72 22 2c 58 25 2b 36 36 2c 59 25 2b 32 38 |ror",X%+66,Y%+28| 00003960 30 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 |0,8,0,translate%| 00003970 0d 01 da 40 20 c8 99 20 73 70 72 73 77 69 25 2c |...@ .. sprswi%,| 00003980 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 65 72 72 |256+52,spb%,"err| 00003990 6f 72 22 2c 58 25 2b 35 37 30 2c 59 25 2b 32 38 |or",X%+570,Y%+28| 000039a0 30 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 |0,8,0,translate%| 000039b0 0d 01 db 38 20 f2 77 72 69 74 65 32 28 22 45 72 |...8 .write2("Er| 000039c0 72 6f 72 20 6d 65 73 73 61 67 65 20 66 72 6f 6d |ror message from| 000039d0 20 50 73 63 61 6e 22 2c 58 25 2b 31 37 30 2c 59 | Pscan",X%+170,Y| 000039e0 25 2b 33 30 30 2c 34 29 0d 01 dc 26 20 f2 72 61 |%+300,4)...& .ra| 000039f0 69 73 65 64 5f 62 6c 6f 63 6b 28 58 25 2b 37 30 |ised_block(X%+70| 00003a00 2c 59 25 2b 33 32 2c 32 34 30 2c 34 30 29 0d 01 |,Y%+32,240,40)..| 00003a10 dd 27 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 6b |.' .raised_block| 00003a20 28 58 25 2b 34 31 30 2c 59 25 2b 33 32 2c 32 34 |(X%+410,Y%+32,24| 00003a30 30 2c 34 30 29 0d 01 de 2e 20 f2 77 72 69 74 65 |0,40).... .write| 00003a40 32 28 22 51 75 69 74 20 74 6f 20 44 65 73 6b 74 |2("Quit to Deskt| 00003a50 6f 70 22 2c 58 25 2b 34 31 30 2c 59 25 2b 33 36 |op",X%+410,Y%+36| 00003a60 2c 34 29 0d 01 df 27 20 f2 77 72 69 74 65 32 28 |,4)...' .write2(| 00003a70 22 43 6f 6e 74 69 6e 75 65 22 2c 58 25 2b 31 32 |"Continue",X%+12| 00003a80 30 2c 59 25 2b 33 36 2c 34 29 0d 01 e0 18 20 fb |0,Y%+36,4).... .| 00003a90 31 32 38 2b 36 33 20 c8 9c 30 3a fb 20 30 2c 30 |128+63 ..0:. 0,0| 00003aa0 2c 30 0d 01 e1 0a 20 52 24 3d f6 24 0d 01 e2 28 |,0.... R$=.$...(| 00003ab0 20 e7 20 a7 52 24 2c 22 69 72 65 63 74 6f 72 79 | . .R$,"irectory| 00003ac0 22 29 20 64 69 72 24 3d 64 65 66 61 75 6c 74 5f |") dir$=default_| 00003ad0 64 69 72 24 0d 01 e3 23 20 e7 20 a7 52 24 2c 22 |dir$...# . .R$,"| 00003ae0 69 73 63 22 29 20 64 69 72 24 3d 64 65 66 61 75 |isc") dir$=defau| 00003af0 6c 74 5f 64 69 72 24 0d 01 e4 23 20 e7 20 a7 52 |lt_dir$...# . .R| 00003b00 24 2c 22 69 6c 65 22 29 20 64 69 72 24 3d 64 65 |$,"ile") dir$=de| 00003b10 66 61 75 6c 74 5f 64 69 72 24 0d 01 e5 24 20 e7 |fault_dir$...$ .| 00003b20 20 a7 52 24 2c 22 72 69 76 65 22 29 20 64 69 72 | .R$,"rive") dir| 00003b30 24 3d 64 65 66 61 75 6c 74 5f 64 69 72 24 0d 01 |$=default_dir$..| 00003b40 e6 25 20 e7 20 a7 52 24 2c 22 61 6e 64 6c 65 22 |.% . .R$,"andle"| 00003b50 29 20 64 69 72 24 3d 64 65 66 61 75 6c 74 5f 64 |) dir$=default_d| 00003b60 69 72 24 0d 01 e7 25 20 e7 20 a7 52 24 2c 22 69 |ir$...% . .R$,"i| 00003b70 6c 69 6e 67 22 29 20 64 69 72 24 3d 64 65 66 61 |ling") dir$=defa| 00003b80 75 6c 74 5f 64 69 72 24 0d 01 e8 27 20 e7 20 64 |ult_dir$...' . d| 00003b90 69 72 24 3d 64 65 66 61 75 6c 74 5f 64 69 72 24 |ir$=default_dir$| 00003ba0 20 73 68 6f 77 6e 5f 64 69 72 24 3d 22 2d 22 0d | shown_dir$="-".| 00003bb0 01 e9 34 20 6d 65 73 73 61 67 65 24 3d f6 24 2b |..4 message$=.$+| 00003bc0 bd 31 33 2b bd 31 33 2b 22 49 6e 74 65 72 6e 61 |.13+.13+"Interna| 00003bd0 6c 20 65 72 72 6f 72 20 63 6f 64 65 20 22 2b c3 |l error code "+.| 00003be0 28 9e 29 0d 01 ea 6c 20 e7 20 9f 3d 36 37 37 38 |(.)...l . .=6778| 00003bf0 32 20 8c 20 6d 65 73 73 61 67 65 24 3d 6d 65 73 |2 . message$=mes| 00003c00 73 61 67 65 24 2b bd 31 33 2b bd 31 33 2b 22 59 |sage$+.13+.13+"Y| 00003c10 6f 75 20 6d 75 73 74 20 72 75 6e 20 50 73 63 61 |ou must run Psca| 00003c20 6e 20 66 72 6f 6d 20 61 20 68 61 72 64 20 64 72 |n from a hard dr| 00003c30 69 76 65 20 74 6f 20 6c 6f 61 64 20 6f 72 20 73 |ive to load or s| 00003c40 61 76 65 20 4a 50 45 47 20 66 69 6c 65 73 22 0d |ave JPEG files".| 00003c50 01 eb 27 20 24 65 72 72 25 3d 6d 65 73 73 61 67 |..' $err%=messag| 00003c60 65 24 3a 65 72 72 25 3f 28 a9 20 6d 65 73 73 61 |e$:err%?(. messa| 00003c70 67 65 24 29 3d 30 0d 01 ec 3e 20 e7 20 73 63 72 |ge$)=0...> . scr| 00003c80 65 65 6e 5f 6c 69 6e 65 73 25 3d 35 31 32 20 8c |een_lines%=512 .| 00003c90 20 ef 20 32 38 2c 32 34 2c 33 37 2c 35 35 2c 33 | . 28,24,37,55,3| 00003ca0 30 20 8b 20 ef 20 32 38 2c 32 34 2c 33 33 2c 35 |0 . . 28,24,33,5| 00003cb0 35 2c 32 36 0d 01 ed 24 20 c8 99 20 22 4f 53 5f |5,26...$ .. "OS_| 00003cc0 50 72 65 74 74 79 50 72 69 6e 74 22 2c 65 72 72 |PrettyPrint",err| 00003cd0 25 2c 30 3a 87 3a c8 96 0d 01 ee 20 20 c8 97 20 |%,0:.:..... .. | 00003ce0 c8 93 20 58 25 2b 36 30 2c 59 25 2b 32 36 2c 57 |.. X%+60,Y%+26,W| 00003cf0 25 2d 31 32 34 2c 35 34 0d 01 ef 1c 20 e7 20 73 |%-124,54.... . s| 00003d00 74 65 70 25 3c 3e 30 20 8c 20 c8 97 20 88 20 73 |tep%<>0 . .. . s| 00003d10 74 65 70 25 0d 01 f0 04 0d 01 f1 24 20 f2 77 61 |tep%.......$ .wa| 00003d20 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 3a f5 3a 4b |it_no_button:.:K| 00003d30 3d a6 28 31 29 3a fd 20 4b 3d 2d 31 0d 01 f2 25 |=.(1):. K=-1...%| 00003d40 20 f5 3a c8 97 20 58 2c 59 2c 42 3a 4b 3d a6 28 | .:.. X,Y,B:K=.(| 00003d50 31 29 3a fd 20 42 3c 3e 30 20 84 20 4b 3c 3e 2d |1):. B<>0 . K<>-| 00003d60 31 0d 01 f3 29 20 e7 20 58 3e 36 38 30 20 84 20 |1...) . X>680 . | 00003d70 4b 3d 31 33 20 8c 20 71 75 69 74 5f 61 66 74 65 |K=13 . quit_afte| 00003d80 72 5f 65 72 72 6f 72 25 3d b9 0d 01 f4 18 20 c8 |r_error%=..... .| 00003d90 97 20 c8 93 20 30 2c 30 2c 31 32 38 30 2c 31 30 |. .. 0,0,1280,10| 00003da0 32 34 0d 01 f5 30 20 e7 20 ac 20 71 75 69 74 5f |24...0 . . quit_| 00003db0 61 66 74 65 72 5f 65 72 72 6f 72 25 20 8c 20 ef |after_error% . .| 00003dc0 32 36 3a f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f |26:.display_memo| 00003dd0 72 79 0d 01 f6 06 20 e1 0d 01 f7 04 0d 01 f8 15 |ry.... .........| 00003de0 20 dd 20 f2 6d 6f 75 73 65 5f 63 6f 6e 74 72 6f | . .mouse_contro| 00003df0 6c 0d 01 f9 0f 20 c8 97 20 ee 20 31 3a 54 3d 30 |l.... .. . 1:T=0| 00003e00 0d 01 fa 06 20 f5 0d 01 fb 1c 20 e7 20 ac 20 71 |.... ..... . . q| 00003e10 75 69 74 5f 61 66 74 65 72 5f 65 72 72 6f 72 25 |uit_after_error%| 00003e20 20 8c 0d 01 fc 20 20 f2 77 61 69 74 5f 6e 6f 5f | .... .wait_no_| 00003e30 62 75 74 74 6f 6e 3a f5 20 fd 20 a6 28 31 29 3d |button:. . .(1)=| 00003e40 2d 31 0d 01 fd 04 0d 01 fe 06 20 f5 0d 01 ff 15 |-1........ .....| 00003e50 20 c8 97 20 58 2c 59 2c 42 3a 4b 24 3d bf 28 31 | .. X,Y,B:K$=.(1| 00003e60 29 0d 02 00 12 20 20 20 e7 20 4b 24 3d bd 32 35 |).... . K$=.25| 00003e70 34 20 8c 0d 02 01 26 20 20 20 e6 20 30 2c 33 32 |4 ....& . 0,32| 00003e80 20 c8 9c 30 3a c8 93 20 c8 90 20 32 30 2c 37 30 | ..0:.. .. 20,70| 00003e90 30 2c 35 30 30 2c 33 30 30 0d 02 02 24 20 20 20 |0,500,300...$ | 00003ea0 e6 20 32 35 35 2c 32 35 35 2c 30 3a c8 93 20 32 |. 255,255,0:.. 2| 00003eb0 30 2c 37 30 30 2c 35 30 30 2c 33 30 30 0d 02 03 |0,700,500,300...| 00003ec0 22 20 20 20 fb 20 31 32 38 2b 33 32 20 c8 9c 20 |" . 128+32 .. | 00003ed0 30 3a fb 20 32 35 35 2c 32 35 35 2c 32 35 35 0d |0:. 255,255,255.| 00003ee0 02 04 26 20 20 20 f1 20 8a 34 2c 33 29 22 20 20 |..& . .4,3)" | 00003ef0 2d 20 50 73 63 61 6e 20 70 61 72 61 6d 65 74 65 |- Pscan paramete| 00003f00 72 73 20 2d 22 0d 02 05 35 20 20 20 f1 20 8a 34 |rs -"...5 . .4| 00003f10 2c 36 29 22 20 20 4d 65 6d 6f 72 79 20 69 6e 20 |,6)" Memory in | 00003f20 75 73 65 20 3d 20 22 3b a8 28 28 e0 2d 90 29 2f |use = ";.((.-.)/| 00003f30 31 30 32 34 29 3b 22 6b 20 22 0d 02 06 27 20 20 |1024);"k "...' | 00003f40 20 f1 20 8a 34 2c 38 29 22 20 20 4c 61 73 74 20 | . .4,8)" Last | 00003f50 56 49 53 20 63 6f 64 65 20 3d 20 22 3b 56 49 53 |VIS code = ";VIS| 00003f60 25 0d 02 07 2c 20 20 20 f1 20 8a 34 2c 31 30 29 |%..., . .4,10)| 00003f70 22 20 20 49 6f 66 66 73 65 74 25 20 20 20 20 20 |" Ioffset% | 00003f80 20 3d 20 22 3b 49 6f 66 66 73 65 74 25 0d 02 08 | = ";Ioffset%...| 00003f90 06 20 20 0d 02 09 0c 20 20 20 4b 24 3d 22 22 0d |. .... K$="".| 00003fa0 02 0a 08 20 20 20 cd 0d 02 0b 17 20 20 f2 63 68 |... ..... .ch| 00003fb0 65 63 6b 5f 61 6c 74 5f 73 5f 73 61 76 65 0d 02 |eck_alt_s_save..| 00003fc0 0c 36 20 20 e7 20 6a 70 65 67 5f 69 6e 66 6f 25 |.6 . jpeg_info%| 00003fd0 20 80 20 28 91 2d 54 29 3e 33 30 30 20 8c 20 f2 | . (.-T)>300 . .| 00003fe0 64 69 73 6d 69 6e 69 3a 6a 70 65 67 5f 69 6e 66 |dismini:jpeg_inf| 00003ff0 6f 25 3d 30 0d 02 0d 26 20 20 e7 20 59 3c 35 35 |o%=0...& . Y<55| 00004000 20 8c 20 6d 62 6f 78 25 3d 58 20 81 20 36 34 20 | . mbox%=X . 64 | 00004010 8b 20 6d 62 6f 78 25 3d 39 39 0d 02 0e 21 20 fd |. mbox%=99...! .| 00004020 20 42 3c 3e 30 20 84 20 4b 24 3c 3e 22 22 3a 6a | B<>0 . K$<>"":j| 00004030 70 65 67 5f 69 6e 66 6f 25 3d 30 0d 02 0f 04 0d |peg_info%=0.....| 00004040 02 10 0e 20 e7 20 4b 24 3d 22 22 20 8c 0d 02 11 |... . K$="" ....| 00004050 24 20 20 e7 20 42 3d 32 20 fb 20 31 32 38 20 c8 |$ . B=2 . 128 .| 00004060 9c 20 31 32 38 3a db 3a f2 6d 69 6e 69 5f 70 61 |. 128:.:.mini_pa| 00004070 64 0d 02 12 32 20 20 e7 20 28 42 3d 31 20 84 20 |d...2 . (B=1 . | 00004080 42 3d 34 29 20 80 20 59 3c 35 35 20 6d 62 6f 78 |B=4) . Y<55 mbox| 00004090 25 3d 58 20 81 20 36 34 20 8b 20 6d 62 6f 78 25 |%=X . 64 . mbox%| 000040a0 3d 39 39 0d 02 13 1c 20 20 e7 20 28 42 3d 31 20 |=99.... . (B=1 | 000040b0 84 20 42 3d 34 29 20 80 20 59 3e 35 34 20 8c 0d |. B=4) . Y>54 ..| 000040c0 02 14 25 20 20 f2 64 69 73 70 6c 61 79 5f 6d 65 |..% .display_me| 000040d0 6d 6f 72 79 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 |mory:.wait_no_bu| 000040e0 74 74 6f 6e 0d 02 15 1c 20 20 f5 3a c8 97 20 78 |tton.... .:.. x| 000040f0 2c 79 2c 62 3a fd 20 62 3d 34 20 84 20 62 3d 31 |,y,b:. b=4 . b=1| 00004100 0d 02 16 30 20 20 e7 20 78 3c 31 30 20 84 20 78 |...0 . x<10 . x| 00004110 3e 31 32 37 30 20 84 20 79 3c 31 30 20 84 20 79 |>1270 . y<10 . y| 00004120 3e 39 35 30 20 8c 20 f2 73 63 72 6f 6c 6c 65 72 |>950 . .scroller| 00004130 0d 02 17 0f 20 20 f2 6d 69 6e 69 5f 70 61 64 0d |.... .mini_pad.| 00004140 02 18 07 20 20 cd 0d 02 19 07 20 20 cc 0d 02 1a |... ..... ....| 00004150 1f 20 20 e7 20 97 28 4b 24 29 3e 39 36 20 4b 24 |. . .(K$)>96 K$| 00004160 3d bd 28 97 28 4b 24 29 2d 33 32 29 0d 02 1b 0b |=.(.(K$)-32)....| 00004170 20 20 58 3d 34 30 30 0d 02 1c 0d 20 20 c8 8e 20 | X=400.... .. | 00004180 4b 24 20 ca 0d 02 1d 2d 20 20 c9 20 22 43 22 3a |K$ ....- . "C":| 00004190 fb 20 31 32 38 20 c8 9c 20 31 32 38 3a db 3a f2 |. 128 .. 128:.:.| 000041a0 6d 69 6e 69 5f 70 61 64 3a 6d 62 6f 78 25 3d 39 |mini_pad:mbox%=9| 000041b0 39 0d 02 1e 14 20 20 c9 20 22 46 22 3a 6d 62 6f |9.... . "F":mbo| 000041c0 78 25 3d 31 39 0d 02 1f 14 20 20 c9 20 22 48 22 |x%=19.... . "H"| 000041d0 3a 6d 62 6f 78 25 3d 32 32 0d 02 20 13 20 20 c9 |:mbox%=22.. . .| 000041e0 20 22 4d 22 3a 6d 62 6f 78 25 3d 36 0d 02 21 14 | "M":mbox%=6..!.| 000041f0 20 20 c9 20 22 4e 22 3a 6d 62 6f 78 25 3d 31 38 | . "N":mbox%=18| 00004200 0d 02 22 14 20 20 c9 20 22 52 22 3a 6d 62 6f 78 |..". . "R":mbox| 00004210 25 3d 31 30 0d 02 23 14 20 20 c9 20 22 54 22 3a |%=10..#. . "T":| 00004220 6d 62 6f 78 25 3d 31 31 0d 02 24 13 20 20 c9 20 |mbox%=11..$. . | 00004230 22 56 22 3a 6d 62 6f 78 25 3d 38 0d 02 25 14 20 |"V":mbox%=8..%. | 00004240 20 c9 20 22 51 22 3a 6d 62 6f 78 25 3d 32 31 0d | . "Q":mbox%=21.| 00004250 02 26 3f 20 20 c9 20 22 31 22 2c 22 32 22 2c 22 |.&? . "1","2","| 00004260 33 22 2c 22 34 22 2c 22 35 22 2c 22 36 22 2c 22 |3","4","5","6","| 00004270 37 22 2c 22 38 22 3a 58 3d 28 97 28 4b 24 29 2d |7","8":X=(.(K$)-| 00004280 34 39 29 2a 34 38 3a 6d 62 6f 78 25 3d 31 0d 02 |49)*48:mbox%=1..| 00004290 27 06 20 7f 0d 02 28 0d 20 6d 62 6f 78 25 3d 39 |'. ...(. mbox%=9| 000042a0 39 0d 02 29 06 20 cb 0d 02 2a 06 20 cd 0d 02 2b |9..). ...*. ...+| 000042b0 04 0d 02 2c 34 20 e7 20 58 3c 33 38 34 20 80 20 |...,4 . X<384 . | 000042c0 6d 62 6f 78 25 3c 3e 39 39 20 8c 20 f2 6d 65 6d |mbox%<>99 . .mem| 000042d0 6f 72 79 5f 73 65 6c 65 63 74 28 58 20 81 20 34 |ory_select(X . 4| 000042e0 38 2c 2d 31 29 0d 02 2d 0f 20 c8 8e 20 6d 62 6f |8,-1)..-. .. mbo| 000042f0 78 25 20 ca 0d 02 2e 15 20 c9 20 36 2c 37 3a f2 |x% ..... . 6,7:.| 00004300 6d 6f 64 65 5f 6d 65 6e 75 0d 02 2f 15 20 c9 20 |mode_menu../. . | 00004310 38 2c 39 3a f2 76 69 73 5f 73 74 61 72 74 0d 02 |8,9:.vis_start..| 00004320 30 2b 20 c9 20 31 30 3a e7 20 42 3d 31 20 61 75 |0+ . 10:. B=1 au| 00004330 74 6f 5f 66 69 6e 64 25 3d b9 20 8b 20 61 75 74 |to_find%=. . aut| 00004340 6f 5f 66 69 6e 64 25 3d a3 0d 02 31 18 20 20 20 |o_find%=...1. | 00004350 20 20 20 20 20 3a f2 72 78 5f 73 73 74 76 28 a3 | :.rx_sstv(.| 00004360 29 0d 02 32 16 20 c9 20 31 31 3a f2 74 78 5f 66 |)..2. . 11:.tx_f| 00004370 72 61 6d 65 28 a3 29 0d 02 33 18 20 c9 20 31 32 |rame(.)..3. . 12| 00004380 3a f2 74 65 73 74 5f 70 61 74 74 65 72 6e 73 0d |:.test_patterns.| 00004390 02 34 19 20 c9 20 31 33 3a f2 72 67 62 5f 70 72 |.4. . 13:.rgb_pr| 000043a0 6f 63 65 73 73 69 6e 67 0d 02 35 2a 20 c9 20 31 |ocessing..5* . 1| 000043b0 34 3a f2 74 6f 6f 6c 73 3a e7 20 61 75 74 6f 5f |4:.tools:. auto_| 000043c0 73 61 76 65 25 20 8c 20 f2 61 75 74 6f 5f 73 61 |save% . .auto_sa| 000043d0 76 65 0d 02 36 1a 20 c9 20 31 35 3a f2 62 61 63 |ve..6. . 15:.bac| 000043e0 6b 67 72 6f 75 6e 64 5f 6d 65 6e 75 0d 02 37 14 |kground_menu..7.| 000043f0 20 c9 20 31 36 3a f2 67 72 61 62 5f 6d 65 6e 75 | . 16:.grab_menu| 00004400 0d 02 38 23 20 c9 20 31 37 3a f2 74 65 78 74 5f |..8# . 17:.text_| 00004410 73 70 72 69 74 65 5f 6f 76 65 72 6c 61 79 5f 6d |sprite_overlay_m| 00004420 65 6e 75 0d 02 39 1a 20 c9 20 31 38 3a f2 73 68 |enu..9. . 18:.sh| 00004430 6f 77 5f 74 68 75 6d 62 6e 61 69 6c 73 0d 02 3a |ow_thumbnails..:| 00004440 32 20 c9 20 31 39 3a f2 66 69 6c 65 72 5f 64 69 |2 . 19:.filer_di| 00004450 73 70 6c 61 79 3a e7 20 6a 70 65 67 5f 69 6e 66 |splay:. jpeg_inf| 00004460 6f 25 20 8c 20 f2 6a 70 65 67 5f 69 6e 66 6f 0d |o% . .jpeg_info.| 00004470 02 3b 19 20 c9 20 32 32 3a f2 6f 6e 5f 6c 69 6e |.;. . 22:.on_lin| 00004480 65 5f 6d 61 6e 75 61 6c 0d 02 3c 13 20 c9 20 32 |e_manual..<. . 2| 00004490 31 3a f2 71 77 69 6b 74 65 78 74 0d 02 3d 06 20 |1:.qwiktext..=. | 000044a0 cb 0d 02 3e 06 20 cc 0d 02 3f 23 20 42 49 47 51 |...>. ...?# BIGQ| 000044b0 55 49 54 25 3d b9 3a 71 75 69 74 5f 61 66 74 65 |UIT%=.:quit_afte| 000044c0 72 5f 65 72 72 6f 72 25 3d a3 0d 02 40 06 20 cd |r_error%=...@. .| 000044d0 0d 02 41 0f 20 fd 20 42 49 47 51 55 49 54 25 0d |..A. . BIGQUIT%.| 000044e0 02 42 06 20 e1 0d 02 43 04 0d 02 44 18 20 dd 20 |.B. ...C...D. . | 000044f0 f2 63 68 65 63 6b 5f 61 6c 74 5f 73 5f 73 61 76 |.check_alt_s_sav| 00004500 65 0d 02 45 17 20 e7 20 a6 28 2d 33 29 20 80 20 |e..E. . .(-3) . | 00004510 a6 28 2d 38 32 29 20 8c 0d 02 46 2d 20 ff 28 22 |.(-82) ...F- .("| 00004520 53 43 52 45 45 4e 53 41 56 45 20 22 2b 64 69 72 |SCREENSAVE "+dir| 00004530 24 2b 22 2e 50 53 73 63 72 65 65 6e 22 2b c3 20 |$+".PSscreen"+. | 00004540 6d 6d 6d 25 29 0d 02 47 0c 20 6d 6d 6d 25 2b 3d |mmm%)..G. mmm%+=| 00004550 31 0d 02 48 06 20 cd 0d 02 49 06 20 e1 0d 02 4a |1..H. ...I. ...J| 00004560 04 0d 02 4b 11 20 dd 20 f2 6a 70 65 67 5f 69 6e |...K. . .jpeg_in| 00004570 66 6f 0d 02 4c 27 20 f2 72 61 69 73 65 64 5f 62 |fo..L' .raised_b| 00004580 6c 6f 63 6b 28 34 30 30 2c 31 30 36 2c 34 37 32 |lock(400,106,472| 00004590 2c 31 30 30 29 3a 54 3d 91 0d 02 4d 38 20 f2 77 |,100):T=...M8 .w| 000045a0 72 69 74 65 32 28 22 4a 50 45 47 20 69 6d 61 67 |rite2("JPEG imag| 000045b0 65 20 22 2b c3 20 78 73 25 2b 22 20 62 79 20 22 |e "+. xs%+" by "| 000045c0 2b c3 20 79 73 25 2c 34 35 36 2c 31 36 30 2c 34 |+. ys%,456,160,4| 000045d0 29 0d 02 4e 31 20 e7 20 6a 70 65 67 5f 73 63 61 |)..N1 . jpeg_sca| 000045e0 6c 65 25 20 8c 20 73 63 24 3d 22 73 63 61 6c 65 |le% . sc$="scale| 000045f0 64 22 20 8b 20 73 63 24 3d 22 63 72 6f 70 70 65 |d" . sc$="croppe| 00004600 64 22 0d 02 4f 3b 20 f2 77 72 69 74 65 32 28 22 |d"..O; .write2("| 00004610 4c 6f 61 64 65 64 20 61 6e 64 20 22 2b 73 63 24 |Loaded and "+sc$| 00004620 2b 22 20 69 6e 20 22 2b 54 24 2b 22 20 73 65 63 |+" in "+T$+" sec| 00004630 73 22 2c 33 39 34 2c 31 32 30 2c 34 29 0d 02 50 |s",394,120,4)..P| 00004640 06 20 e1 0d 02 51 04 0d 02 52 20 20 dd 20 f2 6d |. ...Q...R . .m| 00004650 65 6d 6f 72 79 5f 73 65 6c 65 63 74 28 6d 65 6d |emory_select(mem| 00004660 25 2c 64 69 73 25 29 0d 02 53 17 20 e7 20 6d 65 |%,dis%)..S. . me| 00004670 6d 25 3c 6d 65 6d 6f 72 69 65 73 25 20 8c 0d 02 |m%<memories% ...| 00004680 54 0e 20 c8 8e 20 6d 65 6d 25 20 ca 0d 02 55 18 |T. .. mem% ...U.| 00004690 20 c9 20 30 3a 6d 65 6d 62 6c 6f 63 6b 25 3d 6d | . 0:memblock%=m| 000046a0 65 6d 31 25 0d 02 56 18 20 c9 20 31 3a 6d 65 6d |em1%..V. . 1:mem| 000046b0 62 6c 6f 63 6b 25 3d 6d 65 6d 32 25 0d 02 57 18 |block%=mem2%..W.| 000046c0 20 c9 20 32 3a 6d 65 6d 62 6c 6f 63 6b 25 3d 6d | . 2:memblock%=m| 000046d0 65 6d 33 25 0d 02 58 18 20 c9 20 33 3a 6d 65 6d |em3%..X. . 3:mem| 000046e0 62 6c 6f 63 6b 25 3d 6d 65 6d 34 25 0d 02 59 18 |block%=mem4%..Y.| 000046f0 20 c9 20 34 3a 6d 65 6d 62 6c 6f 63 6b 25 3d 6d | . 4:memblock%=m| 00004700 65 6d 35 25 0d 02 5a 18 20 c9 20 35 3a 6d 65 6d |em5%..Z. . 5:mem| 00004710 62 6c 6f 63 6b 25 3d 6d 65 6d 36 25 0d 02 5b 18 |block%=mem6%..[.| 00004720 20 c9 20 36 3a 6d 65 6d 62 6c 6f 63 6b 25 3d 6d | . 6:memblock%=m| 00004730 65 6d 37 25 0d 02 5c 18 20 c9 20 37 3a 6d 65 6d |em7%..\. . 7:mem| 00004740 62 6c 6f 63 6b 25 3d 6d 65 6d 38 25 0d 02 5d 06 |block%=mem8%..].| 00004750 20 cb 0d 02 5e 20 20 4d 45 4d 25 3d 6d 65 6d 25 | ...^ MEM%=mem%| 00004760 3a e7 20 64 69 73 25 20 8c 20 f2 64 69 73 6d 69 |:. dis% . .dismi| 00004770 6e 69 0d 02 5f 06 20 cc 0d 02 60 1f 20 e7 20 6d |ni.._. ...`. . m| 00004780 65 6d 25 3d 6d 65 6d 6f 72 69 65 73 25 20 80 20 |em%=memories% . | 00004790 a6 28 2d 33 29 20 8c 0d 02 61 23 20 20 c8 99 20 |.(-3) ...a# .. | 000047a0 22 57 69 6d 70 5f 53 6c 6f 74 53 69 7a 65 22 2c |"Wimp_SlotSize",| 000047b0 2d 31 2c 2d 31 20 b8 20 53 25 0d 02 62 25 20 20 |-1,-1 . S%..b% | 000047c0 c8 99 20 22 57 69 6d 70 5f 53 6c 6f 74 53 69 7a |.. "Wimp_SlotSiz| 000047d0 65 22 2c 53 25 2b 36 36 30 30 30 30 2c 2d 31 0d |e",S%+660000,-1.| 000047e0 02 63 18 20 20 c8 8e 20 28 6d 65 6d 6f 72 69 65 |.c. .. (memorie| 000047f0 73 25 2b 31 29 20 ca 0d 02 64 38 20 20 c9 20 33 |s%+1) ...d8 . 3| 00004800 3a 6d 65 6d 33 25 3d 68 69 6d 65 6d 25 2b 36 34 |:mem3%=himem%+64| 00004810 3a 6d 65 6d 62 6c 6f 63 6b 25 3d 6d 65 6d 33 25 |:memblock%=mem3%| 00004820 3a 68 69 6d 65 6d 25 2b 3d 36 36 30 30 30 30 0d |:himem%+=660000.| 00004830 02 65 38 20 20 c9 20 34 3a 6d 65 6d 34 25 3d 68 |.e8 . 4:mem4%=h| 00004840 69 6d 65 6d 25 2b 36 34 3a 6d 65 6d 62 6c 6f 63 |imem%+64:membloc| 00004850 6b 25 3d 6d 65 6d 34 25 3a 68 69 6d 65 6d 25 2b |k%=mem4%:himem%+| 00004860 3d 36 36 30 30 30 30 0d 02 66 38 20 20 c9 20 35 |=660000..f8 . 5| 00004870 3a 6d 65 6d 35 25 3d 68 69 6d 65 6d 25 2b 36 34 |:mem5%=himem%+64| 00004880 3a 6d 65 6d 62 6c 6f 63 6b 25 3d 6d 65 6d 35 25 |:memblock%=mem5%| 00004890 3a 68 69 6d 65 6d 25 2b 3d 36 36 30 30 30 30 0d |:himem%+=660000.| 000048a0 02 67 38 20 20 c9 20 36 3a 6d 65 6d 36 25 3d 68 |.g8 . 6:mem6%=h| 000048b0 69 6d 65 6d 25 2b 36 34 3a 6d 65 6d 62 6c 6f 63 |imem%+64:membloc| 000048c0 6b 25 3d 6d 65 6d 36 25 3a 68 69 6d 65 6d 25 2b |k%=mem6%:himem%+| 000048d0 3d 36 36 30 30 30 30 0d 02 68 38 20 20 c9 20 37 |=660000..h8 . 7| 000048e0 3a 6d 65 6d 37 25 3d 68 69 6d 65 6d 25 2b 36 34 |:mem7%=himem%+64| 000048f0 3a 6d 65 6d 62 6c 6f 63 6b 25 3d 6d 65 6d 37 25 |:memblock%=mem7%| 00004900 3a 68 69 6d 65 6d 25 2b 3d 36 36 30 30 30 30 0d |:himem%+=660000.| 00004910 02 69 38 20 20 c9 20 38 3a 6d 65 6d 38 25 3d 68 |.i8 . 8:mem8%=h| 00004920 69 6d 65 6d 25 2b 36 34 3a 6d 65 6d 62 6c 6f 63 |imem%+64:membloc| 00004930 6b 25 3d 6d 65 6d 38 25 3a 68 69 6d 65 6d 25 2b |k%=mem8%:himem%+| 00004940 3d 36 36 30 30 30 30 0d 02 6a 07 20 20 cb 0d 02 |=660000..j. ...| 00004950 6b 3a 20 20 6d 65 6d 6f 72 69 65 73 25 2b 3d 31 |k: memories%+=1| 00004960 3a 4d 45 4d 25 3d 6d 65 6d 25 3a 74 65 6d 70 5f |:MEM%=mem%:temp_| 00004970 6d 65 6d 5f 69 6e 63 72 65 61 73 65 25 3d b9 3a |mem_increase%=.:| 00004980 f2 64 69 73 6d 69 6e 69 0d 02 6c 07 20 20 cd 0d |.dismini..l. ..| 00004990 02 6d 06 20 cd 0d 02 6e 06 20 e1 0d 02 6f 04 0d |.m. ...n. ...o..| 000049a0 02 70 26 20 dd 20 f2 67 65 74 5f 64 72 69 76 65 |.p& . .get_drive| 000049b0 5f 6e 75 6d 62 65 72 5f 66 72 6f 6d 5f 70 61 74 |_number_from_pat| 000049c0 68 6e 61 6d 65 0d 02 71 13 20 4e 25 3d 30 3a 64 |hname..q. N%=0:d| 000049d0 72 76 25 3d 39 39 3a f5 0d 02 72 21 20 64 72 76 |rv%=99:...r! drv| 000049e0 25 3d 97 28 c1 64 69 72 24 2c 4e 25 2c 31 29 29 |%=.(.dir$,N%,1))| 000049f0 2d 34 38 3a 4e 25 2b 3d 31 0d 02 73 35 20 fd 20 |-48:N%+=1..s5 . | 00004a00 64 72 76 25 3d 30 20 84 20 64 72 76 25 3d 31 20 |drv%=0 . drv%=1 | 00004a10 84 20 64 72 76 25 3d 34 20 84 20 64 72 76 25 3d |. drv%=4 . drv%=| 00004a20 35 20 84 20 4e 25 3d a9 28 64 69 72 24 29 0d 02 |5 . N%=.(dir$)..| 00004a30 74 30 20 e7 20 64 72 76 25 3c 30 20 84 20 64 72 |t0 . drv%<0 . dr| 00004a40 76 25 3e 35 20 8c 20 64 72 76 25 3d 34 3a 64 69 |v%>5 . drv%=4:di| 00004a50 72 24 3d 22 41 44 46 53 3a 3a 34 2e 24 22 0d 02 |r$="ADFS::4.$"..| 00004a60 75 06 20 e1 0d 02 76 04 0d 02 77 17 20 dd 20 f2 |u. ...v...w. . .| 00004a70 62 61 63 6b 67 72 6f 75 6e 64 5f 6d 65 6e 75 0d |background_menu.| 00004a80 02 78 22 20 e6 33 2c 36 33 20 c8 9c 31 39 32 3a |.x" .3,63 ..192:| 00004a90 c8 93 20 c8 90 20 39 36 34 2c 34 2c 35 32 2c 35 |.. .. 964,4,52,5| 00004aa0 30 0d 02 79 06 20 f5 0d 02 7a 1d 20 6d 65 6e 75 |0..y. ...z. menu| 00004ab0 24 28 30 29 3d 22 20 20 42 61 63 6b 67 72 6f 75 |$(0)=" Backgrou| 00004ac0 6e 64 73 22 0d 02 7b 24 20 6d 65 6e 75 24 28 32 |nds"..{$ menu$(2| 00004ad0 29 3d 22 20 20 53 69 6e 67 6c 65 20 67 72 61 64 |)=" Single grad| 00004ae0 61 74 69 6f 6e 73 3e 22 0d 02 7c 24 20 6d 65 6e |ations>"..|$ men| 00004af0 75 24 28 33 29 3d 22 20 20 44 6f 75 62 6c 65 20 |u$(3)=" Double | 00004b00 67 72 61 64 61 74 69 6f 6e 73 3e 22 0d 02 7d 25 |gradations>"..}%| 00004b10 20 6d 65 6e 75 24 28 34 29 3d 22 20 20 57 68 69 | menu$(4)=" Whi| 00004b20 74 65 2d 62 6c 75 65 20 64 69 61 67 6f 6e 61 6c |te-blue diagonal| 00004b30 22 0d 02 7e 24 20 6d 65 6e 75 24 28 35 29 3d 22 |"..~$ menu$(5)="| 00004b40 20 20 57 68 69 74 65 2d 72 65 64 20 64 69 61 67 | White-red diag| 00004b50 6f 6e 61 6c 22 0d 02 7f 27 20 6d 65 6e 75 24 28 |onal"...' menu$(| 00004b60 36 29 3d 22 20 20 43 79 61 6e 2d 6d 61 67 65 6e |6)=" Cyan-magen| 00004b70 74 61 20 64 69 61 67 6f 6e 61 6c 22 0d 02 80 29 |ta diagonal"...)| 00004b80 20 6d 65 6e 75 24 28 37 29 3d 22 20 20 59 65 6c | menu$(7)=" Yel| 00004b90 6c 6f 77 2d 6d 61 67 65 6e 74 61 20 64 69 61 67 |low-magenta diag| 00004ba0 6f 6e 61 6c 22 0d 02 81 25 20 6d 65 6e 75 24 28 |onal"...% menu$(| 00004bb0 38 29 3d 22 20 20 59 65 6c 6c 6f 77 2d 72 65 64 |8)=" Yellow-red| 00004bc0 20 64 69 61 67 6f 6e 61 6c 22 0d 02 82 26 20 6d | diagonal"...& m| 00004bd0 65 6e 75 24 28 39 29 3d 22 20 20 57 68 69 74 65 |enu$(9)=" White| 00004be0 2d 67 72 65 65 6e 20 64 69 61 67 6f 6e 61 6c 22 |-green diagonal"| 00004bf0 0d 02 83 27 20 6d 65 6e 75 24 28 31 30 29 3d 22 |...' menu$(10)="| 00004c00 20 20 59 65 6c 6c 6f 77 2d 63 79 61 6e 20 64 69 | Yellow-cyan di| 00004c10 61 67 6f 6e 61 6c 22 0d 02 84 24 20 6d 65 6e 75 |agonal"...$ menu| 00004c20 24 28 31 31 29 3d 22 20 20 52 65 64 2d 62 6c 75 |$(11)=" Red-blu| 00004c30 65 20 64 69 61 67 6f 6e 61 6c 22 0d 02 85 28 20 |e diagonal"...( | 00004c40 6d 65 6e 75 24 28 31 32 29 3d 22 20 20 4d 75 6c |menu$(12)=" Mul| 00004c50 74 69 20 64 69 61 67 6f 6e 61 6c 20 74 79 70 65 |ti diagonal type| 00004c60 20 31 22 0d 02 86 28 20 6d 65 6e 75 24 28 31 33 | 1"...( menu$(13| 00004c70 29 3d 22 20 20 4d 75 6c 74 69 20 64 69 61 67 6f |)=" Multi diago| 00004c80 6e 61 6c 20 74 79 70 65 20 32 22 0d 02 87 23 20 |nal type 2"...# | 00004c90 6d 65 6e 75 24 28 31 34 29 3d 22 20 20 50 6c 61 |menu$(14)=" Pla| 00004ca0 69 6e 20 62 61 63 6b 67 72 6f 75 6e 64 22 0d 02 |in background"..| 00004cb0 88 27 20 6d 65 6e 75 24 28 31 35 29 3d 22 20 20 |.' menu$(15)=" | 00004cc0 43 69 72 63 75 6c 61 72 20 67 72 61 64 61 74 69 |Circular gradati| 00004cd0 6f 6e 73 3e 22 0d 02 89 24 20 6d 65 6e 75 24 28 |ons>"...$ menu$(| 00004ce0 31 36 29 3d 22 20 20 4d 75 6c 74 69 20 67 72 61 |16)=" Multi gra| 00004cf0 64 61 74 69 6f 6e 73 3e 22 0d 02 8a 26 20 6d 65 |dations>"...& me| 00004d00 6e 75 24 28 31 37 29 3d 22 20 20 53 65 67 6d 65 |nu$(17)=" Segme| 00004d10 6e 74 20 67 72 61 64 61 74 69 6f 6e 73 3e 22 0d |nt gradations>".| 00004d20 02 8b 21 20 6d 65 6e 75 24 28 31 38 29 3d 22 20 |..! menu$(18)=" | 00004d30 20 4d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 3e 22 | Miscellaneous>"| 00004d40 0d 02 8c 1e 20 e7 20 6d 65 72 67 65 25 20 6d 24 |.... . merge% m$| 00004d50 3d bd 31 32 38 20 8b 20 6d 24 3d 22 20 22 0d 02 |=.128 . m$=" "..| 00004d60 8d 27 20 6d 65 6e 75 24 28 31 39 29 3d 6d 24 2b |.' menu$(19)=m$+| 00004d70 22 20 4d 65 72 67 65 20 77 69 74 68 20 70 69 63 |" Merge with pic| 00004d80 74 75 72 65 22 0d 02 8e 25 20 6d 65 6e 75 24 28 |ture"...% menu$(| 00004d90 32 30 29 3d 22 20 20 46 61 64 65 20 74 6f 70 2d |20)=" Fade top-| 00004da0 74 6f 2d 62 6f 74 74 6f 6d 22 0d 02 8f 22 20 6d |to-bottom"..." m| 00004db0 65 6e 75 24 28 32 31 29 3d 22 2a 22 3a f2 6d 65 |enu$(21)="*":.me| 00004dc0 6e 75 28 34 39 34 2c 39 30 2c 30 29 0d 02 90 35 |nu(494,90,0)...5| 00004dd0 20 e7 20 6d 65 6e 75 5f 62 6f 78 25 3d 31 39 20 | . menu_box%=19 | 00004de0 8c 20 6d 65 72 67 65 25 3d ac 28 6d 65 72 67 65 |. merge%=.(merge| 00004df0 25 29 3a 6d 65 6e 75 5f 72 65 64 72 61 77 25 3d |%):menu_redraw%=| 00004e00 b9 0d 02 91 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f |..... .. menu_bo| 00004e10 78 25 20 ca 0d 02 92 14 20 c9 20 31 3a 6d 65 6e |x% ..... . 1:men| 00004e20 75 5f 62 6f 78 25 3d 30 0d 02 93 1d 20 c9 20 32 |u_box%=0.... . 2| 00004e30 3a f2 73 69 6e 67 6c 65 5f 67 72 61 64 5f 6f 70 |:.single_grad_op| 00004e40 74 69 6f 6e 73 0d 02 94 1d 20 c9 20 33 3a f2 64 |tions.... . 3:.d| 00004e50 6f 75 62 6c 65 5f 67 72 61 64 5f 6f 70 74 69 6f |ouble_grad_optio| 00004e60 6e 73 0d 02 95 28 20 c9 20 34 2c 35 2c 36 2c 37 |ns...( . 4,5,6,7| 00004e70 2c 38 2c 39 2c 31 30 2c 31 31 2c 31 32 2c 31 33 |,8,9,10,11,12,13| 00004e80 3a f2 64 69 61 67 6f 6e 61 6c 0d 02 96 1b 20 c9 |:.diagonal.... .| 00004e90 20 31 34 3a f2 70 6c 61 69 6e 5f 62 61 63 6b 67 | 14:.plain_backg| 00004ea0 72 6f 75 6e 64 0d 02 97 1e 20 c9 20 31 35 3a f2 |round.... . 15:.| 00004eb0 63 69 72 63 75 6c 61 72 5f 67 72 61 64 61 74 69 |circular_gradati| 00004ec0 6f 6e 73 0d 02 98 1a 20 c9 20 31 36 3a f2 6d 75 |ons.... . 16:.mu| 00004ed0 6c 74 69 5f 67 72 61 64 5f 6d 65 6e 75 0d 02 99 |lti_grad_menu...| 00004ee0 17 20 c9 20 31 37 3a f2 73 65 67 6d 65 6e 74 5f |. . 17:.segment_| 00004ef0 6d 65 6e 75 0d 02 9a 1b 20 c9 20 31 38 3a f2 6d |menu.... . 18:.m| 00004f00 69 73 63 5f 62 61 63 6b 67 72 6f 75 6e 64 73 0d |isc_backgrounds.| 00004f10 02 9b 16 20 c9 20 32 30 3a f2 73 63 72 65 65 6e |... . 20:.screen| 00004f20 5f 66 61 64 65 0d 02 9c 06 20 cb 0d 02 9d 24 20 |_fade.... ....$ | 00004f30 fd 20 6d 65 6e 75 5f 62 6f 78 25 3c 3e 31 39 20 |. menu_box%<>19 | 00004f40 80 20 6d 65 6e 75 5f 62 6f 78 25 3c 3e 39 39 0d |. menu_box%<>99.| 00004f50 02 9e 2e 20 e7 20 6d 65 72 67 65 25 20 80 20 6d |... . merge% . m| 00004f60 65 6e 75 5f 62 6f 78 25 3c 3e 30 20 8c 20 f2 6d |enu_box%<>0 . .m| 00004f70 65 72 67 65 3a 6d 65 72 67 65 25 3d 30 0d 02 9f |erge:merge%=0...| 00004f80 0d 20 f2 64 69 73 6d 69 6e 69 0d 02 a0 06 20 e1 |. .dismini.... .| 00004f90 0d 02 a1 04 0d 02 a2 1b 20 dd 20 f2 64 6f 75 62 |........ . .doub| 00004fa0 6c 65 5f 67 72 61 64 5f 6f 70 74 69 6f 6e 73 0d |le_grad_options.| 00004fb0 02 a3 1e 20 6d 65 6e 75 24 28 30 29 3d 22 44 6f |... menu$(0)="Do| 00004fc0 75 62 6c 65 20 67 72 61 64 20 20 20 22 0d 02 a4 |uble grad "...| 00004fd0 19 20 6d 65 6e 75 24 28 31 29 3d 22 52 65 64 2d |. menu$(1)="Red-| 00004fe0 62 6c 61 63 6b 22 0d 02 a5 1b 20 6d 65 6e 75 24 |black".... menu$| 00004ff0 28 32 29 3d 22 47 72 65 65 6e 2d 62 6c 61 63 6b |(2)="Green-black| 00005000 22 0d 02 a6 1a 20 6d 65 6e 75 24 28 33 29 3d 22 |".... menu$(3)="| 00005010 42 6c 75 65 2d 62 6c 61 63 6b 22 0d 02 a7 1a 20 |Blue-black".... | 00005020 6d 65 6e 75 24 28 34 29 3d 22 52 65 64 2d 79 65 |menu$(4)="Red-ye| 00005030 6c 6c 6f 77 22 0d 02 a8 1b 20 6d 65 6e 75 24 28 |llow".... menu$(| 00005040 35 29 3d 22 52 65 64 2d 6d 61 67 65 6e 74 61 22 |5)="Red-magenta"| 00005050 0d 02 a9 1a 20 6d 65 6e 75 24 28 36 29 3d 22 47 |.... menu$(6)="G| 00005060 72 65 65 6e 2d 63 79 61 6e 22 0d 02 aa 1b 20 6d |reen-cyan".... m| 00005070 65 6e 75 24 28 37 29 3d 22 59 65 6c 6c 6f 77 2d |enu$(7)="Yellow-| 00005080 62 6c 75 65 22 0d 02 ab 1c 20 6d 65 6e 75 24 28 |blue".... menu$(| 00005090 38 29 3d 22 59 65 6c 6c 6f 77 2d 62 6c 61 63 6b |8)="Yellow-black| 000050a0 22 0d 02 ac 1b 20 6d 65 6e 75 24 28 39 29 3d 22 |".... menu$(9)="| 000050b0 57 68 69 74 65 2d 62 6c 61 63 6b 22 0d 02 ad 21 |White-black"...!| 000050c0 20 6d 65 6e 75 24 28 31 30 29 3d 22 2a 22 3a f2 | menu$(10)="*":.| 000050d0 6d 65 6e 75 28 30 2c 39 30 2c 2d 31 29 0d 02 ae |menu(0,90,-1)...| 000050e0 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 20 ca |. .. menu_box% .| 000050f0 0d 02 af 2a 20 c9 20 31 3a f2 64 6f 75 62 6c 65 |...* . 1:.double| 00005100 5f 67 72 61 64 5f 62 61 63 6b 28 32 35 35 2c 31 |_grad_back(255,1| 00005110 2c 31 2c 2d 31 2c 30 2c 30 29 0d 02 b0 2a 20 c9 |,1,-1,0,0)...* .| 00005120 20 32 3a f2 64 6f 75 62 6c 65 5f 67 72 61 64 5f | 2:.double_grad_| 00005130 62 61 63 6b 28 31 2c 32 35 35 2c 31 2c 30 2c 2d |back(1,255,1,0,-| 00005140 31 2c 30 29 0d 02 b1 2a 20 c9 20 33 3a f2 64 6f |1,0)...* . 3:.do| 00005150 75 62 6c 65 5f 67 72 61 64 5f 62 61 63 6b 28 31 |uble_grad_back(1| 00005160 2c 31 2c 32 35 35 2c 30 2c 30 2c 2d 31 29 0d 02 |,1,255,0,0,-1)..| 00005170 b2 29 20 c9 20 34 3a f2 64 6f 75 62 6c 65 5f 67 |.) . 4:.double_g| 00005180 72 61 64 5f 62 61 63 6b 28 32 35 35 2c 31 2c 31 |rad_back(255,1,1| 00005190 2c 30 2c 31 2c 30 29 0d 02 b3 29 20 c9 20 35 3a |,0,1,0)...) . 5:| 000051a0 f2 64 6f 75 62 6c 65 5f 67 72 61 64 5f 62 61 63 |.double_grad_bac| 000051b0 6b 28 32 35 35 2c 31 2c 31 2c 30 2c 30 2c 31 29 |k(255,1,1,0,0,1)| 000051c0 0d 02 b4 29 20 c9 20 36 3a f2 64 6f 75 62 6c 65 |...) . 6:.double| 000051d0 5f 67 72 61 64 5f 62 61 63 6b 28 31 2c 32 35 35 |_grad_back(1,255| 000051e0 2c 31 2c 30 2c 30 2c 31 29 0d 02 b5 2d 20 c9 20 |,1,0,0,1)...- . | 000051f0 37 3a f2 64 6f 75 62 6c 65 5f 67 72 61 64 5f 62 |7:.double_grad_b| 00005200 61 63 6b 28 32 35 35 2c 32 35 35 2c 31 2c 2d 31 |ack(255,255,1,-1| 00005210 2c 2d 31 2c 31 29 0d 02 b6 2d 20 c9 20 38 3a f2 |,-1,1)...- . 8:.| 00005220 64 6f 75 62 6c 65 5f 67 72 61 64 5f 62 61 63 6b |double_grad_back| 00005230 28 32 35 35 2c 32 35 35 2c 31 2c 2d 31 2c 2d 31 |(255,255,1,-1,-1| 00005240 2c 30 29 0d 02 b7 30 20 c9 20 39 3a f2 64 6f 75 |,0)...0 . 9:.dou| 00005250 62 6c 65 5f 67 72 61 64 5f 62 61 63 6b 28 32 35 |ble_grad_back(25| 00005260 35 2c 32 35 35 2c 32 35 35 2c 2d 31 2c 2d 31 2c |5,255,255,-1,-1,| 00005270 2d 31 29 0d 02 b8 06 20 cb 0d 02 b9 06 20 e1 0d |-1).... ..... ..| 00005280 02 ba 04 0d 02 bb 1b 20 dd 20 f2 73 69 6e 67 6c |....... . .singl| 00005290 65 5f 67 72 61 64 5f 6f 70 74 69 6f 6e 73 0d 02 |e_grad_options..| 000052a0 bc 1f 20 6d 65 6e 75 24 28 30 29 3d 22 53 69 6e |.. menu$(0)="Sin| 000052b0 67 6c 65 20 67 72 61 64 73 20 20 20 22 0d 02 bd |gle grads "...| 000052c0 1b 20 6d 65 6e 75 24 28 31 29 3d 22 42 6c 61 63 |. menu$(1)="Blac| 000052d0 6b 2d 77 68 69 74 65 22 0d 02 be 1c 20 6d 65 6e |k-white".... men| 000052e0 75 24 28 32 29 3d 22 42 6c 61 63 6b 2d 79 65 6c |u$(2)="Black-yel| 000052f0 6c 6f 77 22 0d 02 bf 1a 20 6d 65 6e 75 24 28 33 |low".... menu$(3| 00005300 29 3d 22 42 6c 61 63 6b 2d 63 79 61 6e 22 0d 02 |)="Black-cyan"..| 00005310 c0 1b 20 6d 65 6e 75 24 28 34 29 3d 22 42 6c 61 |.. menu$(4)="Bla| 00005320 63 6b 2d 67 72 65 65 6e 22 0d 02 c1 1d 20 6d 65 |ck-green".... me| 00005330 6e 75 24 28 35 29 3d 22 42 6c 61 63 6b 2d 6d 61 |nu$(5)="Black-ma| 00005340 67 65 6e 74 61 22 0d 02 c2 19 20 6d 65 6e 75 24 |genta".... menu$| 00005350 28 36 29 3d 22 42 6c 61 63 6b 2d 72 65 64 22 0d |(6)="Black-red".| 00005360 02 c3 1a 20 6d 65 6e 75 24 28 37 29 3d 22 42 6c |... menu$(7)="Bl| 00005370 61 63 6b 2d 62 6c 75 65 22 0d 02 c4 20 20 6d 65 |ack-blue"... me| 00005380 6e 75 24 28 38 29 3d 22 2a 22 3a f2 6d 65 6e 75 |nu$(8)="*":.menu| 00005390 28 30 2c 39 30 2c 2d 31 29 0d 02 c5 13 20 c8 8e |(0,90,-1).... ..| 000053a0 20 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d 02 c6 27 | menu_box% ....'| 000053b0 20 c9 20 31 3a f2 73 69 6e 67 6c 65 5f 67 72 61 | . 1:.single_gra| 000053c0 64 5f 62 61 63 6b 28 30 2c 30 2c 30 2c 31 2c 31 |d_back(0,0,0,1,1| 000053d0 2c 31 29 0d 02 c7 27 20 c9 20 32 3a f2 73 69 6e |,1)...' . 2:.sin| 000053e0 67 6c 65 5f 67 72 61 64 5f 62 61 63 6b 28 30 2c |gle_grad_back(0,| 000053f0 30 2c 30 2c 31 2c 31 2c 30 29 0d 02 c8 27 20 c9 |0,0,1,1,0)...' .| 00005400 20 33 3a f2 73 69 6e 67 6c 65 5f 67 72 61 64 5f | 3:.single_grad_| 00005410 62 61 63 6b 28 30 2c 30 2c 30 2c 30 2c 31 2c 31 |back(0,0,0,0,1,1| 00005420 29 0d 02 c9 27 20 c9 20 34 3a f2 73 69 6e 67 6c |)...' . 4:.singl| 00005430 65 5f 67 72 61 64 5f 62 61 63 6b 28 30 2c 30 2c |e_grad_back(0,0,| 00005440 30 2c 30 2c 31 2c 30 29 0d 02 ca 27 20 c9 20 35 |0,0,1,0)...' . 5| 00005450 3a f2 73 69 6e 67 6c 65 5f 67 72 61 64 5f 62 61 |:.single_grad_ba| 00005460 63 6b 28 30 2c 30 2c 30 2c 31 2c 30 2c 31 29 0d |ck(0,0,0,1,0,1).| 00005470 02 cb 27 20 c9 20 36 3a f2 73 69 6e 67 6c 65 5f |..' . 6:.single_| 00005480 67 72 61 64 5f 62 61 63 6b 28 30 2c 30 2c 30 2c |grad_back(0,0,0,| 00005490 31 2c 30 2c 30 29 0d 02 cc 27 20 c9 20 37 3a f2 |1,0,0)...' . 7:.| 000054a0 73 69 6e 67 6c 65 5f 67 72 61 64 5f 62 61 63 6b |single_grad_back| 000054b0 28 30 2c 30 2c 30 2c 30 2c 30 2c 31 29 0d 02 cd |(0,0,0,0,0,1)...| 000054c0 06 20 cb 0d 02 ce 06 20 e1 0d 02 cf 04 0d 02 d0 |. ..... ........| 000054d0 18 20 dd 20 f2 70 6c 61 69 6e 5f 62 61 63 6b 67 |. . .plain_backg| 000054e0 72 6f 75 6e 64 0d 02 d1 39 20 f2 72 67 62 5f 73 |round...9 .rgb_s| 000054f0 6c 69 64 65 72 73 28 30 29 3a e6 20 72 65 64 25 |liders(0):. red%| 00005500 2c 67 72 6e 25 2c 62 6c 75 25 3a c8 93 20 c8 90 |,grn%,blu%:.. ..| 00005510 20 30 2c 30 2c 31 32 37 39 2c 31 30 32 34 0d 02 | 0,0,1279,1024..| 00005520 d2 21 20 e7 20 ac 28 6d 65 72 67 65 25 29 20 8c |.! . .(merge%) .| 00005530 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d | .upload_memory.| 00005540 02 d3 06 20 e1 0d 02 d4 04 0d 02 d5 13 20 dd 20 |... ......... . | 00005550 f2 62 6f 72 64 65 72 5f 6d 65 6e 75 0d 02 d6 27 |.border_menu...'| 00005560 20 e7 20 6d 65 6e 75 5f 62 6f 78 25 3d 36 20 8c | . menu_box%=6 .| 00005570 20 62 68 25 3d 31 30 32 32 20 8b 20 62 68 25 3d | bh%=1022 . bh%=| 00005580 39 35 38 0d 02 d7 06 20 f5 0d 02 d8 26 20 6d 65 |958.... ....& me| 00005590 6e 75 24 28 30 29 3d 22 20 20 42 6f 72 64 65 72 |nu$(0)=" Border| 000055a0 20 6f 70 74 69 6f 6e 73 20 20 20 20 20 20 22 0d | options ".| 000055b0 02 d9 20 20 6d 65 6e 75 24 28 31 29 3d 22 20 20 |.. menu$(1)=" | 000055c0 57 68 69 74 65 20 67 72 61 64 61 74 65 64 22 0d |White gradated".| 000055d0 02 da 21 20 6d 65 6e 75 24 28 32 29 3d 22 20 20 |..! menu$(2)=" | 000055e0 59 65 6c 6c 6f 77 20 67 72 61 64 61 74 65 64 22 |Yellow gradated"| 000055f0 0d 02 db 1f 20 6d 65 6e 75 24 28 33 29 3d 22 20 |.... menu$(3)=" | 00005600 20 43 79 61 6e 20 67 72 61 64 61 74 65 64 22 0d | Cyan gradated".| 00005610 02 dc 20 20 6d 65 6e 75 24 28 34 29 3d 22 20 20 |.. menu$(4)=" | 00005620 47 72 65 65 6e 20 67 72 61 64 61 74 65 64 22 0d |Green gradated".| 00005630 02 dd 22 20 6d 65 6e 75 24 28 35 29 3d 22 20 20 |.." menu$(5)=" | 00005640 4d 61 67 65 6e 74 61 20 67 72 61 64 61 74 65 64 |Magenta gradated| 00005650 22 0d 02 de 1e 20 6d 65 6e 75 24 28 36 29 3d 22 |".... menu$(6)="| 00005660 20 20 52 65 64 20 67 72 61 64 61 74 65 64 22 0d | Red gradated".| 00005670 02 df 1f 20 6d 65 6e 75 24 28 37 29 3d 22 20 20 |... menu$(7)=" | 00005680 42 6c 75 65 20 67 72 61 64 61 74 65 64 22 0d 02 |Blue gradated"..| 00005690 e0 21 20 6d 65 6e 75 24 28 38 29 3d 22 20 20 43 |.! menu$(8)=" C| 000056a0 6f 6c 6f 75 72 20 73 65 6c 65 63 74 6f 72 22 0d |olour selector".| 000056b0 02 e1 21 20 6d 65 6e 75 24 28 39 29 3d 22 20 20 |..! menu$(9)=" | 000056c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 22 |---------------"| 000056d0 0d 02 e2 29 20 e7 20 62 6f 72 64 65 72 5f 77 69 |...) . border_wi| 000056e0 64 74 68 25 3d 31 20 8c 20 6d 24 3d bd 31 32 38 |dth%=1 . m$=.128| 000056f0 20 8b 20 6d 24 3d 22 20 22 0d 02 e3 22 20 6d 65 | . m$=" "..." me| 00005700 6e 75 24 28 31 30 29 3d 6d 24 2b 22 20 4e 61 72 |nu$(10)=m$+" Nar| 00005710 72 6f 77 20 62 6f 72 64 65 72 22 0d 02 e4 29 20 |row border"...) | 00005720 e7 20 62 6f 72 64 65 72 5f 77 69 64 74 68 25 3d |. border_width%=| 00005730 32 20 8c 20 6d 24 3d bd 31 32 38 20 8b 20 6d 24 |2 . m$=.128 . m$| 00005740 3d 22 20 22 0d 02 e5 22 20 6d 65 6e 75 24 28 31 |=" "..." menu$(1| 00005750 31 29 3d 6d 24 2b 22 20 4d 65 64 69 75 6d 20 62 |1)=m$+" Medium b| 00005760 6f 72 64 65 72 22 0d 02 e6 29 20 e7 20 62 6f 72 |order"...) . bor| 00005770 64 65 72 5f 77 69 64 74 68 25 3d 33 20 8c 20 6d |der_width%=3 . m| 00005780 24 3d bd 31 32 38 20 8b 20 6d 24 3d 22 20 22 0d |$=.128 . m$=" ".| 00005790 02 e7 20 20 6d 65 6e 75 24 28 31 32 29 3d 6d 24 |.. menu$(12)=m$| 000057a0 2b 22 20 57 69 64 65 20 62 6f 72 64 65 72 22 0d |+" Wide border".| 000057b0 02 e8 28 20 e7 20 62 6f 72 64 65 72 5f 67 72 61 |..( . border_gra| 000057c0 64 25 3d 31 20 8c 20 6d 24 3d bd 31 32 38 20 8b |d%=1 . m$=.128 .| 000057d0 20 6d 24 3d 22 20 22 0d 02 e9 25 20 6d 65 6e 75 | m$=" "...% menu| 000057e0 24 28 31 33 29 3d 6d 24 2b 22 20 47 72 61 64 61 |$(13)=m$+" Grada| 000057f0 74 65 20 74 6f 20 77 68 69 74 65 22 0d 02 ea 28 |te to white"...(| 00005800 20 e7 20 62 6f 72 64 65 72 5f 67 72 61 64 25 3d | . border_grad%=| 00005810 32 20 8c 20 6d 24 3d bd 31 32 38 20 8b 20 6d 24 |2 . m$=.128 . m$| 00005820 3d 22 20 22 0d 02 eb 26 20 6d 65 6e 75 24 28 31 |=" "...& menu$(1| 00005830 34 29 3d 6d 24 2b 22 20 47 72 61 64 61 74 65 20 |4)=m$+" Gradate | 00005840 74 6f 20 79 65 6c 6c 6f 77 22 0d 02 ec 28 20 e7 |to yellow"...( .| 00005850 20 62 6f 72 64 65 72 5f 67 72 61 64 25 3d 33 20 | border_grad%=3 | 00005860 8c 20 6d 24 3d bd 31 32 38 20 8b 20 6d 24 3d 22 |. m$=.128 . m$="| 00005870 20 22 0d 02 ed 24 20 6d 65 6e 75 24 28 31 35 29 | "...$ menu$(15)| 00005880 3d 6d 24 2b 22 20 47 72 61 64 61 74 65 20 74 6f |=m$+" Gradate to| 00005890 20 63 79 61 6e 22 0d 02 ee 28 20 e7 20 62 6f 72 | cyan"...( . bor| 000058a0 64 65 72 5f 67 72 61 64 25 3d 34 20 8c 20 6d 24 |der_grad%=4 . m$| 000058b0 3d bd 31 32 38 20 8b 20 6d 24 3d 22 20 22 0d 02 |=.128 . m$=" "..| 000058c0 ef 25 20 6d 65 6e 75 24 28 31 36 29 3d 6d 24 2b |.% menu$(16)=m$+| 000058d0 22 20 47 72 61 64 61 74 65 20 74 6f 20 67 72 65 |" Gradate to gre| 000058e0 65 6e 22 0d 02 f0 28 20 e7 20 62 6f 72 64 65 72 |en"...( . border| 000058f0 5f 67 72 61 64 25 3d 35 20 8c 20 6d 24 3d bd 31 |_grad%=5 . m$=.1| 00005900 32 38 20 8b 20 6d 24 3d 22 20 22 0d 02 f1 27 20 |28 . m$=" "...' | 00005910 6d 65 6e 75 24 28 31 37 29 3d 6d 24 2b 22 20 47 |menu$(17)=m$+" G| 00005920 72 61 64 61 74 65 20 74 6f 20 6d 61 67 65 6e 74 |radate to magent| 00005930 61 22 0d 02 f2 28 20 e7 20 62 6f 72 64 65 72 5f |a"...( . border_| 00005940 67 72 61 64 25 3d 36 20 8c 20 6d 24 3d bd 31 32 |grad%=6 . m$=.12| 00005950 38 20 8b 20 6d 24 3d 22 20 22 0d 02 f3 23 20 6d |8 . m$=" "...# m| 00005960 65 6e 75 24 28 31 38 29 3d 6d 24 2b 22 20 47 72 |enu$(18)=m$+" Gr| 00005970 61 64 61 74 65 20 74 6f 20 72 65 64 22 0d 02 f4 |adate to red"...| 00005980 28 20 e7 20 62 6f 72 64 65 72 5f 67 72 61 64 25 |( . border_grad%| 00005990 3d 37 20 8c 20 6d 24 3d bd 31 32 38 20 8b 20 6d |=7 . m$=.128 . m| 000059a0 24 3d 22 20 22 0d 02 f5 24 20 6d 65 6e 75 24 28 |$=" "...$ menu$(| 000059b0 31 39 29 3d 6d 24 2b 22 20 47 72 61 64 61 74 65 |19)=m$+" Gradate| 000059c0 20 74 6f 20 62 6c 75 65 22 0d 02 f6 28 20 e7 20 | to blue"...( . | 000059d0 62 6f 72 64 65 72 5f 67 72 61 64 25 3d 38 20 8c |border_grad%=8 .| 000059e0 20 6d 24 3d bd 31 32 38 20 8b 20 6d 24 3d 22 20 | m$=.128 . m$=" | 000059f0 22 0d 02 f7 25 20 6d 65 6e 75 24 28 32 30 29 3d |"...% menu$(20)=| 00005a00 6d 24 2b 22 20 47 72 61 64 61 74 65 20 74 6f 20 |m$+" Gradate to | 00005a10 62 6c 61 63 6b 22 0d 02 f8 21 20 6d 65 6e 75 24 |black"...! menu$| 00005a20 28 32 31 29 3d 22 2a 22 3a f2 6d 65 6e 75 28 30 |(21)="*":.menu(0| 00005a30 2c 39 30 2c 2d 31 29 0d 02 f9 13 20 c8 8e 20 6d |,90,-1).... .. m| 00005a40 65 6e 75 5f 62 6f 78 25 20 ca 0d 02 fa 19 20 c9 |enu_box% ..... .| 00005a50 20 31 30 3a 62 6f 72 64 65 72 5f 77 69 64 74 68 | 10:border_width| 00005a60 25 3d 31 0d 02 fb 19 20 c9 20 31 31 3a 62 6f 72 |%=1.... . 11:bor| 00005a70 64 65 72 5f 77 69 64 74 68 25 3d 32 0d 02 fc 19 |der_width%=2....| 00005a80 20 c9 20 31 32 3a 62 6f 72 64 65 72 5f 77 69 64 | . 12:border_wid| 00005a90 74 68 25 3d 33 0d 02 fd 18 20 c9 20 31 33 3a 62 |th%=3.... . 13:b| 00005aa0 6f 72 64 65 72 5f 67 72 61 64 25 3d 31 0d 02 fe |order_grad%=1...| 00005ab0 18 20 c9 20 31 34 3a 62 6f 72 64 65 72 5f 67 72 |. . 14:border_gr| 00005ac0 61 64 25 3d 32 0d 02 ff 18 20 c9 20 31 35 3a 62 |ad%=2.... . 15:b| 00005ad0 6f 72 64 65 72 5f 67 72 61 64 25 3d 33 0d 03 00 |order_grad%=3...| 00005ae0 18 20 c9 20 31 36 3a 62 6f 72 64 65 72 5f 67 72 |. . 16:border_gr| 00005af0 61 64 25 3d 34 0d 03 01 18 20 c9 20 31 37 3a 62 |ad%=4.... . 17:b| 00005b00 6f 72 64 65 72 5f 67 72 61 64 25 3d 35 0d 03 02 |order_grad%=5...| 00005b10 18 20 c9 20 31 38 3a 62 6f 72 64 65 72 5f 67 72 |. . 18:border_gr| 00005b20 61 64 25 3d 36 0d 03 03 18 20 c9 20 31 39 3a 62 |ad%=6.... . 19:b| 00005b30 6f 72 64 65 72 5f 67 72 61 64 25 3d 37 0d 03 04 |order_grad%=7...| 00005b40 18 20 c9 20 32 30 3a 62 6f 72 64 65 72 5f 67 72 |. . 20:border_gr| 00005b50 61 64 25 3d 38 0d 03 05 06 20 cb 0d 03 06 21 20 |ad%=8.... ....! | 00005b60 fd 20 6d 65 6e 75 5f 62 6f 78 25 3c 39 20 84 20 |. menu_box%<9 . | 00005b70 6d 65 6e 75 5f 62 6f 78 25 3d 39 39 0d 03 07 13 |menu_box%=99....| 00005b80 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d | .. menu_box% ..| 00005b90 03 08 1d 20 c9 20 31 3a 72 25 3d 32 35 35 3a 67 |... . 1:r%=255:g| 00005ba0 25 3d 32 35 35 3a 62 25 3d 32 35 35 0d 03 09 1b |%=255:b%=255....| 00005bb0 20 c9 20 32 3a 72 25 3d 32 35 35 3a 67 25 3d 32 | . 2:r%=255:g%=2| 00005bc0 35 35 3a 62 25 3d 30 0d 03 0a 1b 20 c9 20 33 3a |55:b%=0.... . 3:| 00005bd0 72 25 3d 30 3a 67 25 3d 32 35 35 3a 62 25 3d 32 |r%=0:g%=255:b%=2| 00005be0 35 35 0d 03 0b 19 20 c9 20 34 3a 72 25 3d 30 3a |55.... . 4:r%=0:| 00005bf0 67 25 3d 32 35 35 3a 62 25 3d 30 0d 03 0c 1b 20 |g%=255:b%=0.... | 00005c00 c9 20 35 3a 72 25 3d 32 35 35 3a 67 25 3d 30 3a |. 5:r%=255:g%=0:| 00005c10 62 25 3d 32 35 35 0d 03 0d 19 20 c9 20 36 3a 72 |b%=255.... . 6:r| 00005c20 25 3d 32 35 35 3a 67 25 3d 30 3a 62 25 3d 30 0d |%=255:g%=0:b%=0.| 00005c30 03 0e 19 20 c9 20 37 3a 72 25 3d 30 3a 67 25 3d |... . 7:r%=0:g%=| 00005c40 30 3a 62 25 3d 32 35 35 0d 03 0f 30 20 c9 20 38 |0:b%=255...0 . 8| 00005c50 3a f2 72 67 62 5f 73 6c 69 64 65 72 73 28 30 29 |:.rgb_sliders(0)| 00005c60 3a 72 25 3d 72 65 64 25 3a 67 25 3d 67 72 6e 25 |:r%=red%:g%=grn%| 00005c70 3a 62 25 3d 62 6c 75 25 0d 03 10 06 20 cb 0d 03 |:b%=blu%.... ...| 00005c80 11 28 20 e7 20 6d 65 6e 75 5f 62 6f 78 25 3c 3e |.( . menu_box%<>| 00005c90 39 39 20 8c 20 f2 62 6f 72 64 65 72 28 72 25 2c |99 . .border(r%,| 00005ca0 67 25 2c 62 25 29 0d 03 12 06 20 e1 0d 03 13 04 |g%,b%).... .....| 00005cb0 0d 03 14 11 20 dd 20 f2 6d 6f 64 65 5f 6d 65 6e |.... . .mode_men| 00005cc0 75 0d 03 15 23 20 e6 33 2c 36 33 20 c8 9c 31 39 |u...# .3,63 ..19| 00005cd0 32 3a c8 93 20 c8 90 20 33 38 38 2c 34 2c 31 31 |2:.. .. 388,4,11| 00005ce0 36 2c 35 30 0d 03 16 06 20 f5 0d 03 17 22 20 6d |6,50.... ...." m| 00005cf0 65 6e 75 24 28 30 29 3d 22 53 53 54 56 20 6d 6f |enu$(0)="SSTV mo| 00005d00 64 65 20 73 65 6c 65 63 74 20 20 22 0d 03 18 18 |de select "....| 00005d10 20 6d 65 6e 75 24 28 32 29 3d 22 4d 61 72 74 69 | menu$(2)="Marti| 00005d20 6e 20 31 22 0d 03 19 18 20 6d 65 6e 75 24 28 33 |n 1".... menu$(3| 00005d30 29 3d 22 4d 61 72 74 69 6e 20 32 22 0d 03 1a 19 |)="Martin 2"....| 00005d40 20 6d 65 6e 75 24 28 34 29 3d 22 53 63 6f 74 74 | menu$(4)="Scott| 00005d50 69 65 20 31 22 0d 03 1b 19 20 6d 65 6e 75 24 28 |ie 1".... menu$(| 00005d60 35 29 3d 22 53 63 6f 74 74 69 65 20 32 22 0d 03 |5)="Scottie 2"..| 00005d70 1c 1a 20 6d 65 6e 75 24 28 36 29 3d 22 53 63 6f |.. menu$(6)="Sco| 00005d80 74 74 69 65 20 44 58 22 0d 03 1d 1f 20 6d 65 6e |ttie DX".... men| 00005d90 75 24 28 37 29 3d 22 53 43 32 20 31 38 30 20 73 |u$(7)="SC2 180 s| 00005da0 65 63 6f 6e 64 73 22 0d 03 1e 1d 20 6d 65 6e 75 |econds".... menu| 00005db0 24 28 38 29 3d 22 57 52 31 38 30 20 2d 20 4a 56 |$(8)="WR180 - JV| 00005dc0 46 41 58 22 0d 03 1f 20 20 6d 65 6e 75 24 28 39 |FAX"... menu$(9| 00005dd0 29 3d 22 50 44 20 35 30 20 20 28 33 32 30 78 32 |)="PD 50 (320x2| 00005de0 35 36 29 22 0d 03 20 21 20 6d 65 6e 75 24 28 31 |56)".. ! menu$(1| 00005df0 30 29 3d 22 50 44 20 39 30 20 20 28 33 32 30 78 |0)="PD 90 (320x| 00005e00 32 35 36 29 22 0d 03 21 21 20 6d 65 6e 75 24 28 |256)"..!! menu$(| 00005e10 31 31 29 3d 22 50 44 20 31 32 30 20 28 36 34 30 |11)="PD 120 (640| 00005e20 78 34 39 36 29 22 0d 03 22 21 20 6d 65 6e 75 24 |x496)".."! menu$| 00005e30 28 31 32 29 3d 22 50 44 20 31 36 30 20 28 35 31 |(12)="PD 160 (51| 00005e40 32 78 33 38 34 29 22 0d 03 23 21 20 6d 65 6e 75 |2x384)"..#! menu| 00005e50 24 28 31 33 29 3d 22 50 44 20 31 38 30 20 28 36 |$(13)="PD 180 (6| 00005e60 34 30 78 34 39 36 29 22 0d 03 24 21 20 6d 65 6e |40x496)"..$! men| 00005e70 75 24 28 31 34 29 3d 22 50 44 20 32 34 30 20 28 |u$(14)="PD 240 (| 00005e80 36 34 30 78 34 39 36 29 22 0d 03 25 25 20 6d 65 |640x496)"..%% me| 00005e90 6e 75 24 28 31 35 29 3d 22 50 33 20 28 50 61 73 |nu$(15)="P3 (Pas| 00005ea0 6f 6b 6f 6e 20 36 34 30 78 34 39 36 29 22 0d 03 |okon 640x496)"..| 00005eb0 26 25 20 6d 65 6e 75 24 28 31 36 29 3d 22 50 35 |&% menu$(16)="P5| 00005ec0 20 28 50 61 73 6f 6b 6f 6e 20 36 34 30 78 34 39 | (Pasokon 640x49| 00005ed0 36 29 22 0d 03 27 27 20 6d 65 6e 75 24 28 31 37 |6)"..'' menu$(17| 00005ee0 29 3d 22 50 37 20 28 50 61 73 6f 6b 6f 6e 20 36 |)="P7 (Pasokon 6| 00005ef0 34 30 78 34 39 36 29 20 20 22 0d 03 28 1f 20 6d |40x496) "..(. m| 00005f00 65 6e 75 24 28 31 38 29 3d 22 48 51 2d 31 20 28 |enu$(18)="HQ-1 (| 00005f10 52 58 20 6f 6e 6c 79 29 22 0d 03 29 1f 20 6d 65 |RX only)"..). me| 00005f20 6e 75 24 28 31 39 29 3d 22 48 51 2d 32 20 28 52 |nu$(19)="HQ-2 (R| 00005f30 58 20 6f 6e 6c 79 29 22 0d 03 2a 29 20 6d 65 6e |X only)"..*) men| 00005f40 75 24 28 32 30 29 3d 22 53 65 6c 65 63 74 20 4d |u$(20)="Select M| 00005f50 61 72 74 69 6e 20 31 20 74 69 6d 69 6e 67 73 3e |artin 1 timings>| 00005f60 22 0d 03 2b 20 20 6d 65 6e 75 24 28 32 31 29 3d |"..+ menu$(21)=| 00005f70 22 4d 6f 6e 6f 20 46 41 58 20 6d 6f 64 65 73 3e |"Mono FAX modes>| 00005f80 22 0d 03 2c 22 20 6d 65 6e 75 24 28 32 32 29 3d |"..," menu$(22)=| 00005f90 22 43 6f 6c 6f 75 72 20 46 41 58 20 6d 6f 64 65 |"Colour FAX mode| 00005fa0 73 3e 22 0d 03 2d 26 20 6d 65 6e 75 24 28 32 33 |s>"..-& menu$(23| 00005fb0 29 3d 22 50 44 20 61 75 74 6f 2d 74 75 6e 65 20 |)="PD auto-tune | 00005fc0 63 6f 6e 74 72 6f 6c 3e 22 0d 03 2e 22 20 6d 65 |control>"..." me| 00005fd0 6e 75 24 28 32 34 29 3d 22 2a 22 3a f2 6d 65 6e |nu$(24)="*":.men| 00005fe0 75 28 32 38 32 2c 39 30 2c 30 29 0d 03 2f 13 20 |u(282,90,0)../. | 00005ff0 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d 03 |.. menu_box% ...| 00006000 30 10 20 c9 20 32 3a 6d 6f 64 65 25 3d 31 0d 03 |0. . 2:mode%=1..| 00006010 31 10 20 c9 20 33 3a 6d 6f 64 65 25 3d 32 0d 03 |1. . 3:mode%=2..| 00006020 32 10 20 c9 20 34 3a 6d 6f 64 65 25 3d 35 0d 03 |2. . 4:mode%=5..| 00006030 33 10 20 c9 20 35 3a 6d 6f 64 65 25 3d 36 0d 03 |3. . 5:mode%=6..| 00006040 34 10 20 c9 20 36 3a 6d 6f 64 65 25 3d 39 0d 03 |4. . 6:mode%=9..| 00006050 35 11 20 c9 20 37 3a 6d 6f 64 65 25 3d 31 31 0d |5. . 7:mode%=11.| 00006060 03 36 11 20 c9 20 38 3a 6d 6f 64 65 25 3d 31 32 |.6. . 8:mode%=12| 00006070 0d 03 37 11 20 c9 20 39 3a 6d 6f 64 65 25 3d 36 |..7. . 9:mode%=6| 00006080 35 0d 03 38 12 20 c9 20 31 30 3a 6d 6f 64 65 25 |5..8. . 10:mode%| 00006090 3d 36 33 0d 03 39 12 20 c9 20 31 31 3a 6d 6f 64 |=63..9. . 11:mod| 000060a0 65 25 3d 36 34 0d 03 3a 12 20 c9 20 31 32 3a 6d |e%=64..:. . 12:m| 000060b0 6f 64 65 25 3d 36 32 0d 03 3b 12 20 c9 20 31 33 |ode%=62..;. . 13| 000060c0 3a 6d 6f 64 65 25 3d 36 30 0d 03 3c 12 20 c9 20 |:mode%=60..<. . | 000060d0 31 34 3a 6d 6f 64 65 25 3d 36 31 0d 03 3d 12 20 |14:mode%=61..=. | 000060e0 c9 20 31 35 3a 6d 6f 64 65 25 3d 32 30 0d 03 3e |. 15:mode%=20..>| 000060f0 12 20 c9 20 31 36 3a 6d 6f 64 65 25 3d 32 31 0d |. . 16:mode%=21.| 00006100 03 3f 12 20 c9 20 31 37 3a 6d 6f 64 65 25 3d 32 |.?. . 17:mode%=2| 00006110 32 0d 03 40 12 20 c9 20 31 38 3a 6d 6f 64 65 25 |2..@. . 18:mode%| 00006120 3d 37 30 0d 03 41 12 20 c9 20 31 39 3a 6d 6f 64 |=70..A. . 19:mod| 00006130 65 25 3d 37 31 0d 03 42 21 20 c9 20 32 30 3a f2 |e%=71..B! . 20:.| 00006140 73 65 6c 65 63 74 5f 6d 61 72 74 69 6e 31 5f 74 |select_martin1_t| 00006150 69 6d 69 6e 67 73 0d 03 43 18 20 c9 20 32 31 3a |imings..C. . 21:| 00006160 f2 66 61 78 5f 6d 6f 64 65 5f 6d 65 6e 75 0d 03 |.fax_mode_menu..| 00006170 44 1a 20 c9 20 32 32 3a f2 63 6f 6c 6f 75 72 5f |D. . 22:.colour_| 00006180 66 61 78 5f 6d 65 6e 75 0d 03 45 1f 20 c9 20 32 |fax_menu..E. . 2| 00006190 33 3a f2 70 64 5f 61 75 74 6f 5f 74 75 6e 65 5f |3:.pd_auto_tune_| 000061a0 63 6f 6e 74 72 6f 6c 0d 03 46 06 20 cb 0d 03 47 |control..F. ...G| 000061b0 14 20 fd 20 6d 65 6e 75 5f 62 6f 78 25 3c 3e 39 |. . menu_box%<>9| 000061c0 39 0d 03 48 0d 20 f2 64 69 73 6d 69 6e 69 0d 03 |9..H. .dismini..| 000061d0 49 06 20 e1 0d 03 4a 04 0d 03 4b 1e 20 dd 20 f2 |I. ...J...K. . .| 000061e0 73 65 6c 65 63 74 5f 6d 61 72 74 69 6e 31 5f 74 |select_martin1_t| 000061f0 69 6d 69 6e 67 73 0d 03 4c 06 20 f5 0d 03 4d 29 |imings..L. ...M)| 00006200 20 6d 65 6e 75 24 28 30 29 3d 22 20 20 53 65 6c | menu$(0)=" Sel| 00006210 65 63 74 20 4d 61 72 74 69 6e 20 31 20 74 69 6d |ect Martin 1 tim| 00006220 69 6e 67 73 22 0d 03 4e 2b 20 e7 20 73 73 74 76 |ings"..N+ . sstv| 00006230 5f 74 69 6d 65 25 3d 31 20 8c 20 6d 24 3d bd 31 |_time%=1 . m$=.1| 00006240 32 38 2b 22 20 22 20 8b 20 6d 24 3d 22 20 20 22 |28+" " . m$=" "| 00006250 0d 03 4f 25 20 6d 65 6e 75 24 28 31 29 3d 6d 24 |..O% menu$(1)=m$| 00006260 2b 22 52 6f 62 6f 74 20 6f 72 20 53 75 70 65 72 |+"Robot or Super| 00006270 73 63 61 6e 22 0d 03 50 2b 20 e7 20 73 73 74 76 |scan"..P+ . sstv| 00006280 5f 74 69 6d 65 25 3d 32 20 8c 20 6d 24 3d bd 31 |_time%=2 . m$=.1| 00006290 32 38 2b 22 20 22 20 8b 20 6d 24 3d 22 20 20 22 |28+" " . m$=" "| 000062a0 0d 03 51 2d 20 6d 65 6e 75 24 28 32 29 3d 6d 24 |..Q- menu$(2)=m$| 000062b0 2b 22 57 69 6e 50 69 78 20 50 72 6f 20 6f 72 20 |+"WinPix Pro or | 000062c0 47 53 48 20 28 44 4c 34 53 41 57 29 22 0d 03 52 |GSH (DL4SAW)"..R| 000062d0 2b 20 e7 20 73 73 74 76 5f 74 69 6d 65 25 3d 33 |+ . sstv_time%=3| 000062e0 20 8c 20 6d 24 3d bd 31 32 38 2b 22 20 22 20 8b | . m$=.128+" " .| 000062f0 20 6d 24 3d 22 20 20 22 0d 03 53 18 20 6d 65 6e | m$=" "..S. men| 00006300 75 24 28 33 29 3d 6d 24 2b 22 4a 56 46 41 58 22 |u$(3)=m$+"JVFAX"| 00006310 0d 03 54 20 20 6d 65 6e 75 24 28 34 29 3d 22 2a |..T menu$(4)="*| 00006320 22 3a f2 6d 65 6e 75 28 30 2c 39 30 2c 2d 31 29 |":.menu(0,90,-1)| 00006330 0d 03 55 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 |..U. .. menu_box| 00006340 25 20 ca 0d 03 56 1d 20 c9 20 31 3a 73 73 74 76 |% ...V. . 1:sstv| 00006350 5f 74 69 6d 65 25 3d 31 3a 6d 6f 64 65 25 3d 31 |_time%=1:mode%=1| 00006360 0d 03 57 1d 20 c9 20 32 3a 73 73 74 76 5f 74 69 |..W. . 2:sstv_ti| 00006370 6d 65 25 3d 32 3a 6d 6f 64 65 25 3d 31 0d 03 58 |me%=2:mode%=1..X| 00006380 1d 20 c9 20 33 3a 73 73 74 76 5f 74 69 6d 65 25 |. . 3:sstv_time%| 00006390 3d 33 3a 6d 6f 64 65 25 3d 31 0d 03 59 06 20 cb |=3:mode%=1..Y. .| 000063a0 0d 03 5a 13 20 fd 20 6d 65 6e 75 5f 62 6f 78 25 |..Z. . menu_box%| 000063b0 3d 39 39 0d 03 5b 06 20 e1 0d 03 5c 04 0d 03 5d |=99..[. ...\...]| 000063c0 1c 20 dd 20 f2 70 64 5f 61 75 74 6f 5f 74 75 6e |. . .pd_auto_tun| 000063d0 65 5f 63 6f 6e 74 72 6f 6c 0d 03 5e 06 20 f5 0d |e_control..^. ..| 000063e0 03 5f 26 20 6d 65 6e 75 24 28 30 29 3d 22 20 20 |._& menu$(0)=" | 000063f0 50 44 20 61 75 74 6f 2d 74 75 6e 65 20 63 6f 6e |PD auto-tune con| 00006400 74 72 6f 6c 22 0d 03 60 2f 20 e7 20 70 64 5f 61 |trol"..`/ . pd_a| 00006410 75 74 6f 5f 6c 69 6e 65 73 25 3d 38 20 8c 20 6d |uto_lines%=8 . m| 00006420 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 3d |$=.128+" " . m$=| 00006430 22 20 20 22 0d 03 61 22 20 6d 65 6e 75 24 28 31 |" "..a" menu$(1| 00006440 29 3d 6d 24 2b 22 41 76 65 72 61 67 65 20 38 20 |)=m$+"Average 8 | 00006450 6c 69 6e 65 73 22 0d 03 62 2f 20 e7 20 70 64 5f |lines"..b/ . pd_| 00006460 61 75 74 6f 5f 6c 69 6e 65 73 25 3d 34 20 8c 20 |auto_lines%=4 . | 00006470 6d 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 |m$=.128+" " . m$| 00006480 3d 22 20 20 22 0d 03 63 22 20 6d 65 6e 75 24 28 |=" "..c" menu$(| 00006490 32 29 3d 6d 24 2b 22 41 76 65 72 61 67 65 20 34 |2)=m$+"Average 4| 000064a0 20 6c 69 6e 65 73 22 0d 03 64 2f 20 e7 20 70 64 | lines"..d/ . pd| 000064b0 5f 61 75 74 6f 5f 6c 69 6e 65 73 25 3d 30 20 8c |_auto_lines%=0 .| 000064c0 20 6d 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d | m$=.128+" " . m| 000064d0 24 3d 22 20 20 22 0d 03 65 29 20 6d 65 6e 75 24 |$=" "..e) menu$| 000064e0 28 33 29 3d 6d 24 2b 22 41 75 74 6f 2d 74 75 6e |(3)=m$+"Auto-tun| 000064f0 65 20 6f 66 66 20 28 46 4d 20 75 73 65 29 22 0d |e off (FM use)".| 00006500 03 66 20 20 6d 65 6e 75 24 28 34 29 3d 22 2a 22 |.f menu$(4)="*"| 00006510 3a f2 6d 65 6e 75 28 30 2c 39 30 2c 2d 31 29 0d |:.menu(0,90,-1).| 00006520 03 67 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 |.g. .. menu_box%| 00006530 20 ca 0d 03 68 19 20 c9 20 31 3a 70 64 5f 61 75 | ...h. . 1:pd_au| 00006540 74 6f 5f 6c 69 6e 65 73 25 3d 38 0d 03 69 19 20 |to_lines%=8..i. | 00006550 c9 20 32 3a 70 64 5f 61 75 74 6f 5f 6c 69 6e 65 |. 2:pd_auto_line| 00006560 73 25 3d 34 0d 03 6a 19 20 c9 20 33 3a 70 64 5f |s%=4..j. . 3:pd_| 00006570 61 75 74 6f 5f 6c 69 6e 65 73 25 3d 30 0d 03 6b |auto_lines%=0..k| 00006580 06 20 cb 0d 03 6c 13 20 fd 20 6d 65 6e 75 5f 62 |. ...l. . menu_b| 00006590 6f 78 25 3d 39 39 0d 03 6d 06 20 e1 0d 03 6e 04 |ox%=99..m. ...n.| 000065a0 0d 03 6f 15 20 dd 20 f2 66 61 78 5f 6d 6f 64 65 |..o. . .fax_mode| 000065b0 5f 6d 65 6e 75 0d 03 70 06 20 f5 0d 03 71 1c 20 |_menu..p. ...q. | 000065c0 6d 65 6e 75 24 28 30 29 3d 22 20 20 4d 6f 6e 6f |menu$(0)=" Mono| 000065d0 20 46 41 58 20 20 22 0d 03 72 19 20 6d 65 6e 75 | FAX "..r. menu| 000065e0 24 28 31 29 3d 22 20 20 20 36 30 20 4c 50 4d 22 |$(1)=" 60 LPM"| 000065f0 0d 03 73 19 20 6d 65 6e 75 24 28 32 29 3d 22 20 |..s. menu$(2)=" | 00006600 20 20 39 30 20 4c 50 4d 22 0d 03 74 19 20 6d 65 | 90 LPM"..t. me| 00006610 6e 75 24 28 33 29 3d 22 20 20 31 32 30 20 4c 50 |nu$(3)=" 120 LP| 00006620 4d 22 0d 03 75 19 20 6d 65 6e 75 24 28 34 29 3d |M"..u. menu$(4)=| 00006630 22 20 20 31 38 30 20 4c 50 4d 22 0d 03 76 19 20 |" 180 LPM"..v. | 00006640 6d 65 6e 75 24 28 35 29 3d 22 20 20 32 34 30 20 |menu$(5)=" 240 | 00006650 4c 50 4d 22 0d 03 77 19 20 6d 65 6e 75 24 28 36 |LPM"..w. menu$(6| 00006660 29 3d 22 20 20 33 36 30 20 4c 50 4d 22 0d 03 78 |)=" 360 LPM"..x| 00006670 19 20 6d 65 6e 75 24 28 37 29 3d 22 20 20 34 38 |. menu$(7)=" 48| 00006680 30 20 4c 50 4d 22 0d 03 79 2d 20 e7 20 66 61 78 |0 LPM"..y- . fax| 00006690 5f 61 76 65 72 61 67 65 25 3d 31 20 8c 20 6d 24 |_average%=1 . m$| 000066a0 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 3d 22 |=.128+" " . m$="| 000066b0 20 20 22 0d 03 7a 22 20 6d 65 6e 75 24 28 38 29 | "..z" menu$(8)| 000066c0 3d 6d 24 2b 22 53 68 6f 77 20 65 76 65 72 79 20 |=m$+"Show every | 000066d0 6c 69 6e 65 22 0d 03 7b 2d 20 e7 20 66 61 78 5f |line"..{- . fax_| 000066e0 61 76 65 72 61 67 65 25 3d 32 20 8c 20 6d 24 3d |average%=2 . m$=| 000066f0 bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 3d 22 20 |.128+" " . m$=" | 00006700 20 22 0d 03 7c 23 20 6d 65 6e 75 24 28 39 29 3d | "..|# menu$(9)=| 00006710 6d 24 2b 22 41 76 65 72 61 67 65 20 32 20 6c 69 |m$+"Average 2 li| 00006720 6e 65 73 20 22 0d 03 7d 2d 20 e7 20 66 61 78 5f |nes "..}- . fax_| 00006730 61 76 65 72 61 67 65 25 3d 33 20 8c 20 6d 24 3d |average%=3 . m$=| 00006740 bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 3d 22 20 |.128+" " . m$=" | 00006750 20 22 0d 03 7e 23 20 6d 65 6e 75 24 28 31 30 29 | "..~# menu$(10)| 00006760 3d 6d 24 2b 22 41 76 65 72 61 67 65 20 33 20 6c |=m$+"Average 3 l| 00006770 69 6e 65 73 22 0d 03 7f 21 20 6d 65 6e 75 24 28 |ines"...! menu$(| 00006780 31 31 29 3d 22 2a 22 3a f2 6d 65 6e 75 28 30 2c |11)="*":.menu(0,| 00006790 39 30 2c 2d 31 29 0d 03 80 13 20 c8 8e 20 6d 65 |90,-1).... .. me| 000067a0 6e 75 5f 62 6f 78 25 20 ca 0d 03 81 26 20 c9 20 |nu_box% ....& . | 000067b0 38 3a 66 61 78 5f 61 76 65 72 61 67 65 25 3d 31 |8:fax_average%=1| 000067c0 3a 6d 65 6e 75 5f 72 65 64 72 61 77 25 3d b9 0d |:menu_redraw%=..| 000067d0 03 82 26 20 c9 20 39 3a 66 61 78 5f 61 76 65 72 |..& . 9:fax_aver| 000067e0 61 67 65 25 3d 32 3a 6d 65 6e 75 5f 72 65 64 72 |age%=2:menu_redr| 000067f0 61 77 25 3d b9 0d 03 83 27 20 c9 20 31 30 3a 66 |aw%=....' . 10:f| 00006800 61 78 5f 61 76 65 72 61 67 65 25 3d 33 3a 6d 65 |ax_average%=3:me| 00006810 6e 75 5f 72 65 64 72 61 77 25 3d b9 0d 03 84 06 |nu_redraw%=.....| 00006820 20 cb 0d 03 85 21 20 fd 20 6d 65 6e 75 5f 62 6f | ....! . menu_bo| 00006830 78 25 3c 38 20 84 20 6d 65 6e 75 5f 62 6f 78 25 |x%<8 . menu_box%| 00006840 3d 39 39 0d 03 86 29 20 e7 20 6d 65 6e 75 5f 62 |=99...) . menu_b| 00006850 6f 78 25 3c 3e 39 39 20 8c 20 6d 6f 64 65 25 3d |ox%<>99 . mode%=| 00006860 6d 65 6e 75 5f 62 6f 78 25 2b 39 39 0d 03 87 06 |menu_box%+99....| 00006870 20 e1 0d 03 88 04 0d 03 89 17 20 dd 20 f2 63 6f | ......... . .co| 00006880 6c 6f 75 72 5f 66 61 78 5f 6d 65 6e 75 0d 03 8a |lour_fax_menu...| 00006890 1b 20 6d 65 6e 75 24 28 30 29 3d 22 43 6f 6c 6f |. menu$(0)="Colo| 000068a0 75 72 20 46 41 58 20 22 0d 03 8b 17 20 6d 65 6e |ur FAX ".... men| 000068b0 75 24 28 31 29 3d 22 20 36 30 20 4c 50 4d 22 0d |u$(1)=" 60 LPM".| 000068c0 03 8c 17 20 6d 65 6e 75 24 28 32 29 3d 22 20 39 |... menu$(2)=" 9| 000068d0 30 20 4c 50 4d 22 0d 03 8d 17 20 6d 65 6e 75 24 |0 LPM".... menu$| 000068e0 28 33 29 3d 22 31 32 30 20 4c 50 4d 22 0d 03 8e |(3)="120 LPM"...| 000068f0 17 20 6d 65 6e 75 24 28 34 29 3d 22 31 38 30 20 |. menu$(4)="180 | 00006900 4c 50 4d 22 0d 03 8f 17 20 6d 65 6e 75 24 28 35 |LPM".... menu$(5| 00006910 29 3d 22 32 34 30 20 4c 50 4d 22 0d 03 90 17 20 |)="240 LPM".... | 00006920 6d 65 6e 75 24 28 36 29 3d 22 33 36 30 20 4c 50 |menu$(6)="360 LP| 00006930 4d 22 0d 03 91 17 20 6d 65 6e 75 24 28 37 29 3d |M".... menu$(7)=| 00006940 22 34 38 30 20 4c 50 4d 22 0d 03 92 20 20 6d 65 |"480 LPM"... me| 00006950 6e 75 24 28 38 29 3d 22 2a 22 3a f2 6d 65 6e 75 |nu$(8)="*":.menu| 00006960 28 30 2c 39 30 2c 2d 31 29 0d 03 93 2a 20 e7 20 |(0,90,-1)...* . | 00006970 6d 65 6e 75 5f 62 6f 78 25 3c 3e 39 39 20 8c 20 |menu_box%<>99 . | 00006980 6d 6f 64 65 25 3d 6d 65 6e 75 5f 62 6f 78 25 2b |mode%=menu_box%+| 00006990 31 31 39 0d 03 94 06 20 e1 0d 03 95 04 0d 03 96 |119.... ........| 000069a0 16 20 dd 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 |. . .wait_no_but| 000069b0 74 6f 6e 0d 03 97 24 20 ea 20 78 25 2c 79 25 2c |ton...$ . x%,y%,| 000069c0 62 25 3a f5 3a c8 97 20 78 25 2c 79 25 2c 62 25 |b%:.:.. x%,y%,b%| 000069d0 3a fd 20 62 25 3d 30 0d 03 98 06 20 e1 0d 03 99 |:. b%=0.... ....| 000069e0 04 0d 03 9a 16 20 dd 20 a4 73 63 72 65 65 6e 5f |..... . .screen_| 000069f0 61 64 64 72 65 73 73 0d 03 9b 12 20 ea 20 49 42 |address.... . IB| 00006a00 25 28 29 2c 4f 42 25 28 29 0d 03 9c 14 20 de 20 |%(),OB%().... . | 00006a10 49 42 25 20 32 30 2c 4f 42 25 20 32 30 0d 03 9d |IB% 20,OB% 20...| 00006a20 20 20 21 49 42 25 3d 31 34 38 3a 49 42 25 21 34 | !IB%=148:IB%!4| 00006a30 3d 31 35 30 3a 49 42 25 21 38 3d 2d 31 0d 03 9e |=150:IB%!8=-1...| 00006a40 25 20 c8 99 20 22 4f 53 5f 52 65 61 64 56 64 75 |% .. "OS_ReadVdu| 00006a50 56 61 72 69 61 62 6c 65 73 22 2c 49 42 25 2c 4f |Variables",IB%,O| 00006a60 42 25 0d 03 9f 0a 20 3d 21 4f 42 25 0d 03 a0 04 |B%.... =!OB%....| 00006a70 0d 03 a1 10 20 dd 20 f2 6d 69 6e 69 5f 70 61 64 |.... . .mini_pad| 00006a80 0d 03 a2 2e 20 e7 20 64 69 73 70 5f 66 6c 61 67 |.... . disp_flag| 00006a90 25 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 |% .display_memor| 00006aa0 79 3a 64 69 73 70 5f 66 6c 61 67 25 3d 30 0d 03 |y:disp_flag%=0..| 00006ab0 a3 24 20 e6 20 31 32 38 2c 31 38 30 2c 31 38 30 |.$ . 128,180,180| 00006ac0 3a c8 93 20 c8 90 20 30 2c 30 2c 31 32 38 30 2c |:.. .. 0,0,1280,| 00006ad0 36 30 0d 03 a4 1f 20 e6 32 34 30 2c 32 34 30 2c |60.... .240,240,| 00006ae0 32 34 30 3a 86 30 2c 36 30 2c 31 32 38 30 2c 36 |240:.0,60,1280,6| 00006af0 30 0d 03 a5 15 20 e3 20 58 25 3d 34 20 b8 20 33 |0.... . X%=4 . 3| 00006b00 34 30 20 88 34 38 0d 03 a6 38 20 c8 99 20 73 70 |40 .48...8 .. sp| 00006b10 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 |rswi%,256+52,spb| 00006b20 25 2c 22 62 75 74 74 6f 6e 22 2c 58 25 2c 34 2c |%,"button",X%,4,| 00006b30 30 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 03 |0,0,translate%..| 00006b40 a7 06 20 ed 0d 03 a8 21 20 f2 72 61 69 73 65 64 |.. ....! .raised| 00006b50 5f 62 6c 6f 63 6b 28 35 32 32 2c 31 30 2c 31 30 |_block(522,10,10| 00006b60 36 2c 33 38 29 0d 03 a9 1d 20 f2 6c 61 72 67 65 |6,38).... .large| 00006b70 5f 62 75 74 74 6f 6e 73 28 33 38 34 2c 32 2c 2d |_buttons(384,2,-| 00006b80 31 29 0d 03 aa 2b 20 e3 20 58 25 3d 37 36 38 20 |1)...+ . X%=768 | 00006b90 b8 20 31 31 35 32 20 88 36 34 3a f2 62 75 74 74 |. 1152 .64:.butt| 00006ba0 6f 6e 73 28 58 25 2c 32 2c 30 29 3a ed 0d 03 ab |ons(X%,2,0):....| 00006bb0 22 20 ef 20 32 33 2c 31 37 2c 37 2c 36 2c 38 3b |" . 23,17,7,6,8;| 00006bc0 38 3b 30 3b 3a e6 33 32 20 c8 9c 30 3a ef 35 0d |8;0;:.32 ..0:.5.| 00006bd0 03 ac 16 20 e7 20 ac 28 61 75 74 6f 5f 73 61 76 |... . .(auto_sav| 00006be0 65 25 29 20 8c 0d 03 ad 43 20 e7 20 6d 6f 64 65 |e%) ....C . mode| 00006bf0 25 3c 39 39 20 f2 77 72 69 74 65 32 28 22 56 49 |%<99 .write2("VI| 00006c00 53 22 2c 35 33 30 2c 31 32 2c 34 29 20 8b 20 f2 |S",530,12,4) . .| 00006c10 77 72 69 74 65 32 28 22 50 68 61 73 65 22 2c 35 |write2("Phase",5| 00006c20 31 32 2c 31 32 2c 34 29 0d 03 ae 06 20 cc 0d 03 |12,12,4).... ...| 00006c30 af 1d 20 f2 77 72 69 74 65 32 28 22 41 55 54 4f |.. .write2("AUTO| 00006c40 22 2c 35 31 36 2c 31 32 2c 34 29 0d 03 b0 06 20 |",516,12,4).... | 00006c50 cd 0d 03 b1 0c 20 e6 20 30 2c 30 2c 30 0d 03 b2 |..... . 0,0,0...| 00006c60 12 20 e7 20 6d 6f 64 65 25 3c 31 32 30 20 8c 0d |. . mode%<120 ..| 00006c70 03 b3 1c 20 ec 20 34 30 30 2c 33 36 3a f1 20 6d |... . 400,36:. m| 00006c80 6f 64 65 24 28 6d 6f 64 65 25 29 0d 03 b4 06 20 |ode$(mode%).... | 00006c90 cc 0d 03 b5 20 20 ec 20 34 30 30 2c 34 34 3a f1 |.... . 400,44:.| 00006ca0 20 c0 6d 6f 64 65 24 28 6d 6f 64 65 25 29 2c 36 | .mode$(mode%),6| 00006cb0 29 0d 03 b6 20 20 ec 20 33 39 32 2c 32 34 3a f1 |)... . 392,24:.| 00006cc0 20 c1 6d 6f 64 65 24 28 6d 6f 64 65 25 29 2c 37 | .mode$(mode%),7| 00006cd0 29 0d 03 b7 06 20 cd 0d 03 b8 36 20 c8 99 20 73 |).... ....6 .. s| 00006ce0 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 |prswi%,256+52,sp| 00006cf0 62 25 2c 22 72 67 62 22 2c 38 33 38 2c 36 2c 30 |b%,"rgb",838,6,0| 00006d00 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 03 b9 |,0,translate%...| 00006d10 38 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 |8 .. sprswi%,256| 00006d20 2b 35 32 2c 73 70 62 25 2c 22 62 72 75 73 68 22 |+52,spb%,"brush"| 00006d30 2c 39 30 32 2c 36 2c 30 2c 30 2c 74 72 61 6e 73 |,902,6,0,0,trans| 00006d40 6c 61 74 65 25 0d 03 ba 38 20 c8 99 20 73 70 72 |late%...8 .. spr| 00006d50 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 |swi%,256+52,spb%| 00006d60 2c 22 74 65 78 74 22 2c 31 30 39 34 2c 36 2c 30 |,"text",1094,6,0| 00006d70 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 03 bb |,0,translate%...| 00006d80 35 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 |5 .. sprswi%,256| 00006d90 2b 35 32 2c 73 70 62 25 2c 22 74 70 22 2c 37 37 |+52,spb%,"tp",77| 00006da0 34 2c 36 2c 30 2c 30 2c 74 72 61 6e 73 6c 61 74 |4,6,0,0,translat| 00006db0 65 25 0d 03 bc 3a 20 c8 99 20 73 70 72 73 77 69 |e%...: .. sprswi| 00006dc0 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 63 |%,256+52,spb%,"c| 00006dd0 61 6d 65 72 61 22 2c 31 30 33 30 2c 36 2c 30 2c |amera",1030,6,0,| 00006de0 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 03 bd 39 |0,translate%...9| 00006df0 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b | .. sprswi%,256+| 00006e00 35 32 2c 73 70 62 25 2c 22 72 6f 6c 6c 65 72 22 |52,spb%,"roller"| 00006e10 2c 39 36 36 2c 36 2c 30 2c 30 2c 74 72 61 6e 73 |,966,6,0,0,trans| 00006e20 6c 61 74 65 25 0d 03 be 35 20 c8 99 20 73 70 72 |late%...5 .. spr| 00006e30 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 |swi%,256+52,spb%| 00006e40 2c 22 72 78 22 2c 36 34 36 2c 34 2c 30 2c 30 2c |,"rx",646,4,0,0,| 00006e50 74 72 61 6e 73 6c 61 74 65 25 0d 03 bf 35 20 c8 |translate%...5 .| 00006e60 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 |. sprswi%,256+52| 00006e70 2c 73 70 62 25 2c 22 74 78 22 2c 37 31 30 2c 34 |,spb%,"tx",710,4| 00006e80 2c 30 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d |,0,0,translate%.| 00006e90 03 c0 39 20 c8 99 20 73 70 72 73 77 69 25 2c 32 |..9 .. sprswi%,2| 00006ea0 35 36 2b 35 32 2c 73 70 62 25 2c 22 74 68 75 6d |56+52,spb%,"thum| 00006eb0 62 22 2c 31 31 35 38 2c 36 2c 30 2c 30 2c 74 72 |b",1158,6,0,0,tr| 00006ec0 61 6e 73 6c 61 74 65 25 0d 03 c1 39 20 c8 99 20 |anslate%...9 .. | 00006ed0 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 |sprswi%,256+52,s| 00006ee0 70 62 25 2c 22 66 69 6c 65 72 22 2c 31 32 31 36 |pb%,"filer",1216| 00006ef0 2c 34 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 |,4,8,0,translate| 00006f00 25 0d 03 c2 1b 20 58 4d 25 3d 28 6d 65 6d 6f 72 |%.... XM%=(memor| 00006f10 69 65 73 25 2d 31 29 2a 34 38 2b 34 0d 03 c3 1a |ies%-1)*48+4....| 00006f20 20 4d 25 3d 31 3a e3 20 58 25 3d 34 20 b8 20 58 | M%=1:. X%=4 . X| 00006f30 4d 25 20 88 34 38 0d 03 c4 22 20 f2 77 72 69 74 |M% .48..." .writ| 00006f40 65 32 28 c3 20 4d 25 2c 58 25 2c 31 32 2c 34 29 |e2(. M%,X%,12,4)| 00006f50 3a 4d 25 2b 3d 31 3a ed 0d 03 c5 20 20 e6 20 30 |:M%+=1:.... . 0| 00006f60 2c 36 34 2c 30 3a c8 93 20 c8 90 20 36 31 32 2c |,64,0:.. .. 612,| 00006f70 32 34 2c 31 30 2c 31 30 0d 03 c6 1b 20 ef 34 3a |24,10,10.... .4:| 00006f80 87 3a c8 96 3a 6d 65 6e 75 5f 72 65 64 72 61 77 |.:..:menu_redraw| 00006f90 25 3d b9 0d 03 c7 2b 20 e6 33 2c 32 35 35 2c 32 |%=....+ .3,255,2| 00006fa0 35 35 2c 32 35 35 3a c8 93 20 c8 90 20 4d 45 4d |55,255:.. .. MEM| 00006fb0 25 2a 34 38 2b 36 2c 38 2c 33 38 2c 34 34 0d 03 |%*48+6,8,38,44..| 00006fc0 c8 1b 20 fb 31 32 38 3a ef 32 33 2c 31 37 2c 37 |.. .128:.23,17,7| 00006fd0 2c 36 2c 38 3b 38 3b 30 3b 0d 03 c9 06 20 e1 0d |,6,8;8;0;.... ..| 00006fe0 03 ca 04 0d 03 cb 16 20 dd 20 f2 62 75 74 74 6f |....... . .butto| 00006ff0 6e 73 28 58 2c 59 2c 46 29 0d 03 cc 0e 20 e6 36 |ns(X,Y,F).... .6| 00007000 33 20 c8 9c 31 39 32 0d 03 cd 2c 20 86 20 58 2b |3 ..192..., . X+| 00007010 34 2c 59 2b 34 2c 58 2b 34 2c 59 2b 35 30 3a 86 |4,Y+4,X+4,Y+50:.| 00007020 20 58 2b 34 2c 59 2b 35 32 2c 58 2b 35 36 2c 59 | X+4,Y+52,X+56,Y| 00007030 2b 35 32 0d 03 ce 0b 20 e6 30 20 c8 9c 30 0d 03 |+52.... .0 ..0..| 00007040 cf 2c 20 86 20 58 2b 34 2c 59 2b 32 2c 58 2b 35 |., . X+4,Y+2,X+5| 00007050 36 2c 59 2b 32 3a 86 20 58 2b 35 36 2c 59 2b 32 |6,Y+2:. X+56,Y+2| 00007060 2c 58 2b 35 36 2c 59 2b 35 30 0d 03 d0 29 20 e7 |,X+56,Y+50...) .| 00007070 28 46 29 20 8c 20 e6 34 32 20 c8 9c 31 39 32 3a |(F) . .42 ..192:| 00007080 c8 93 20 c8 90 20 58 2b 38 2c 59 2b 38 2c 34 34 |.. .. X+8,Y+8,44| 00007090 2c 35 36 0d 03 d1 06 20 e1 0d 03 d2 04 0d 03 d3 |,56.... ........| 000070a0 1c 20 dd 20 f2 6c 61 72 67 65 5f 62 75 74 74 6f |. . .large_butto| 000070b0 6e 73 28 58 2c 59 2c 46 29 0d 03 d4 0e 20 e6 36 |ns(X,Y,F).... .6| 000070c0 33 20 c8 9c 31 39 32 0d 03 d5 2d 20 86 20 58 2b |3 ..192...- . X+| 000070d0 34 2c 59 2b 34 2c 58 2b 34 2c 59 2b 35 30 3a 86 |4,Y+4,X+4,Y+50:.| 000070e0 20 58 2b 34 2c 59 2b 35 32 2c 58 2b 31 32 30 2c | X+4,Y+52,X+120,| 000070f0 59 2b 35 32 0d 03 d6 0b 20 e6 30 20 c8 9c 30 0d |Y+52.... .0 ..0.| 00007100 03 d7 2f 20 86 20 58 2b 34 2c 59 2b 32 2c 58 2b |../ . X+4,Y+2,X+| 00007110 31 32 30 2c 59 2b 32 3a 86 20 58 2b 31 32 30 2c |120,Y+2:. X+120,| 00007120 59 2b 32 2c 58 2b 31 32 30 2c 59 2b 35 30 0d 03 |Y+2,X+120,Y+50..| 00007130 d8 2b 20 e7 28 46 29 20 8c 20 e6 32 35 35 2c 31 |.+ .(F) . .255,1| 00007140 39 30 2c 30 3a c8 93 20 c8 90 20 58 2b 36 2c 59 |90,0:.. .. X+6,Y| 00007150 2b 34 2c 31 31 32 2c 34 36 0d 03 d9 06 20 e1 0d |+4,112,46.... ..| 00007160 03 da 04 0d 03 db 14 20 dd 20 f2 6d 65 6d 5f 61 |....... . .mem_a| 00007170 73 73 65 6d 62 6c 65 0d 03 dc 13 20 de 20 6d 65 |ssemble.... . me| 00007180 6d 5f 63 6f 64 65 25 20 36 34 0d 03 dd 11 20 e3 |m_code% 64.... .| 00007190 20 50 3d 30 20 b8 20 32 20 88 32 0d 03 de 11 20 | P=0 . 2 .2.... | 000071a0 50 25 3d 6d 65 6d 5f 63 6f 64 65 25 0d 03 df 0b |P%=mem_code%....| 000071b0 20 5b 4f 50 54 20 50 0d 03 e0 12 20 2e 6d 65 6d | [OPT P.... .mem| 000071c0 5f 74 72 61 6e 73 66 65 72 0d 03 e1 13 20 4d 4f |_transfer.... MO| 000071d0 56 20 52 31 32 2c 23 31 36 33 38 34 0d 03 e2 0e |V R12,#16384....| 000071e0 20 2e 6d 74 73 5f 6c 6f 6f 70 0d 03 e3 30 20 4c | .mts_loop...0 L| 000071f0 44 4d 49 41 20 52 30 21 2c 7b 52 31 2c 52 33 2d |DMIA R0!,{R1,R3-| 00007200 52 31 31 7d 3a 53 54 4d 49 41 20 52 32 21 2c 7b |R11}:STMIA R2!,{| 00007210 52 31 2c 52 33 2d 52 31 31 7d 0d 03 e4 21 20 53 |R1,R3-R11}...! S| 00007220 55 42 53 20 52 31 32 2c 52 31 32 2c 23 31 3a 42 |UBS R12,R12,#1:B| 00007230 4e 45 20 6d 74 73 5f 6c 6f 6f 70 0d 03 e5 0f 20 |NE mts_loop.... | 00007240 4d 4f 56 20 50 43 2c 52 31 34 0d 03 e6 08 20 5d |MOV PC,R14.... ]| 00007250 3a ed 0d 03 e7 06 20 e1 0d 03 e8 04 0d 03 e9 16 |:..... .........| 00007260 20 dd 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f | . .display_memo| 00007270 72 79 0d 03 ea 2e 20 41 25 3d 6d 65 6d 62 6c 6f |ry.... A%=memblo| 00007280 63 6b 25 2b 32 30 3a 43 25 3d 73 63 72 65 65 6e |ck%+20:C%=screen| 00007290 25 3a d6 20 6d 65 6d 5f 74 72 61 6e 73 66 65 72 |%:. mem_transfer| 000072a0 0d 03 eb 06 20 e1 0d 03 ec 04 0d 03 ed 15 20 dd |.... ......... .| 000072b0 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d | .upload_memory.| 000072c0 03 ee 2e 20 43 25 3d 6d 65 6d 62 6c 6f 63 6b 25 |... C%=memblock%| 000072d0 2b 32 30 3a 41 25 3d 73 63 72 65 65 6e 25 3a d6 |+20:A%=screen%:.| 000072e0 20 6d 65 6d 5f 74 72 61 6e 73 66 65 72 0d 03 ef | mem_transfer...| 000072f0 16 20 70 61 74 68 24 28 4d 45 4d 25 2b 31 29 3d |. path$(MEM%+1)=| 00007300 22 58 22 0d 03 f0 06 20 e1 0d 03 f1 04 0d 03 f2 |"X".... ........| 00007310 10 20 dd 20 f2 73 63 72 6f 6c 6c 65 72 0d 03 f3 |. . .scroller...| 00007320 20 20 ef 31 39 2c 31 2c 32 34 2c 32 35 35 2c 30 | .19,1,24,255,0| 00007330 2c 32 35 35 3a c8 97 20 58 2c 59 2c 42 0d 03 f4 |,255:.. X,Y,B...| 00007340 31 20 6d 69 64 25 3d 21 73 63 72 65 65 6e 25 3a |1 mid%=!screen%:| 00007350 e7 20 a4 68 69 67 68 5f 72 65 73 5f 6d 6f 64 65 |. .high_res_mode| 00007360 20 78 79 25 3d 32 20 8b 20 78 79 25 3d 34 0d 03 | xy%=2 . xy%=4..| 00007370 f5 06 20 f5 0d 03 f6 2a 20 e7 20 59 3e 39 35 30 |.. ....* . Y>950| 00007380 20 8c 20 c8 93 20 c8 90 20 30 2c 30 2c 31 32 38 | . .. .. 0,0,128| 00007390 30 2c 31 30 32 34 20 b8 20 30 2c 78 79 25 0d 03 |0,1024 . 0,xy%..| 000073a0 f7 2a 20 e7 20 59 3c 31 30 20 8c 20 c8 93 20 c8 |.* . Y<10 . .. .| 000073b0 90 20 30 2c 30 2c 31 32 38 30 2c 31 30 32 34 20 |. 0,0,1280,1024 | 000073c0 b8 20 30 2c 2d 78 79 25 0d 03 f8 2b 20 e7 20 58 |. 0,-xy%...+ . X| 000073d0 3e 31 32 37 30 20 8c 20 c8 93 20 c8 90 20 30 2c |>1270 . .. .. 0,| 000073e0 30 2c 31 32 38 30 2c 31 30 32 34 20 b8 20 78 79 |0,1280,1024 . xy| 000073f0 25 2c 30 0d 03 f9 2a 20 e7 20 58 3c 31 30 20 8c |%,0...* . X<10 .| 00007400 20 c8 93 20 c8 90 20 30 2c 30 2c 31 32 38 30 2c | .. .. 0,0,1280,| 00007410 31 30 32 34 20 b8 20 2d 78 79 25 2c 30 0d 03 fa |1024 . -xy%,0...| 00007420 0c 20 4b 25 3d a6 28 35 29 0d 03 fb 15 20 f5 3a |. K%=.(5).... .:| 00007430 c8 97 20 58 2c 59 2c 42 3a fd 20 42 3d 34 0d 03 |.. X,Y,B:. B=4..| 00007440 fc 29 20 fd 20 28 59 3e 31 30 30 20 80 20 59 3c |.) . (Y>100 . Y<| 00007450 39 32 33 29 20 80 20 28 58 3e 31 30 30 20 80 20 |923) . (X>100 . | 00007460 58 3c 31 31 37 39 29 0d 03 fd 21 20 ef 31 39 2c |X<1179)...! .19,| 00007470 31 2c 32 34 2c 30 2c 30 2c 30 3a 21 73 63 72 65 |1,24,0,0,0:!scre| 00007480 65 6e 25 3d 6d 69 64 25 0d 03 fe 13 20 f2 75 70 |en%=mid%.... .up| 00007490 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d 03 ff 06 20 |load_memory.... | 000074a0 e1 0d 04 00 04 0d 04 01 15 20 dd 20 a4 68 69 67 |......... . .hig| 000074b0 68 5f 72 65 73 5f 6d 6f 64 65 0d 04 02 0e 20 ea |h_res_mode.... .| 000074c0 20 72 65 73 75 6c 74 25 0d 04 03 0f 20 c8 8e 20 | result%.... .. | 000074d0 6d 6f 64 65 25 20 ca 0d 04 04 2a 20 20 c9 20 31 |mode% ....* . 1| 000074e0 2c 32 2c 35 2c 36 2c 39 2c 31 31 2c 31 32 2c 36 |,2,5,6,9,11,12,6| 000074f0 33 2c 37 30 2c 37 31 3a 72 65 73 75 6c 74 25 3d |3,70,71:result%=| 00007500 a3 0d 04 05 06 20 7f 0d 04 06 0f 20 20 72 65 73 |..... ..... res| 00007510 75 6c 74 25 3d b9 0d 04 07 06 20 cb 0d 04 08 0d |ult%=..... .....| 00007520 20 3d 72 65 73 75 6c 74 25 0d 04 09 04 0d 04 0a | =result%.......| 00007530 13 20 dd 20 f2 73 65 74 75 70 5f 6d 6f 64 65 73 |. . .setup_modes| 00007540 0d 04 0b 09 20 f7 20 2b 30 0d 04 0c 1e 20 e3 20 |.... . +0.... . | 00007550 4e 25 3d 31 20 b8 20 31 32 3a f3 20 6d 6f 64 65 |N%=1 . 12:. mode| 00007560 24 28 4e 25 29 3a ed 0d 04 0d 46 20 dc 20 22 20 |$(N%):....F . " | 00007570 4d 2d 31 20 22 2c 22 20 4d 2d 32 20 22 2c 22 20 |M-1 "," M-2 "," | 00007580 4d 2d 33 20 22 2c 22 20 4d 2d 34 20 22 2c 22 20 |M-3 "," M-4 "," | 00007590 53 2d 31 20 22 2c 22 20 53 2d 32 20 22 2c 22 20 |S-1 "," S-2 "," | 000075a0 53 2d 33 20 22 2c 22 20 53 2d 34 20 22 0d 04 0e |S-3 "," S-4 "...| 000075b0 29 20 dc 20 22 20 53 2d 44 58 22 2c 22 53 43 2d |) . " S-DX","SC-| 000075c0 31 32 30 22 2c 22 53 43 2d 31 38 30 22 2c 22 57 |120","SC-180","W| 000075d0 52 2d 31 38 30 22 0d 04 0f 21 20 e3 20 4e 25 3d |R-180"...! . N%=| 000075e0 31 30 30 20 b8 20 31 30 37 3a f3 20 6d 6f 64 65 |100 . 107:. mode| 000075f0 24 28 4e 25 29 3a ed 0d 04 10 33 20 dc 20 22 46 |$(N%):....3 . "F| 00007600 41 58 20 36 30 22 2c 22 46 41 58 20 39 30 22 2c |AX 60","FAX 90",| 00007610 22 46 41 58 31 32 30 22 2c 22 46 41 58 31 38 30 |"FAX120","FAX180| 00007620 22 2c 22 46 41 58 32 34 30 22 0d 04 11 21 20 dc |","FAX240"...! .| 00007630 20 22 46 41 58 33 36 30 22 2c 22 46 41 58 34 38 | "FAX360","FAX48| 00007640 30 22 2c 22 51 53 54 34 38 30 22 0d 04 12 21 20 |0","QST480"...! | 00007650 e3 20 4e 25 3d 31 32 30 20 b8 20 31 32 36 3a f3 |. N%=120 . 126:.| 00007660 20 6d 6f 64 65 24 28 4e 25 29 3a ed 0d 04 13 2a | mode$(N%):....*| 00007670 20 6d 6f 64 65 24 28 36 30 29 3d 22 50 44 2d 31 | mode$(60)="PD-1| 00007680 38 30 22 3a 6d 6f 64 65 24 28 36 31 29 3d 22 50 |80":mode$(61)="P| 00007690 44 2d 32 34 30 22 0d 04 14 29 20 6d 6f 64 65 24 |D-240"...) mode$| 000076a0 28 36 32 29 3d 22 50 44 2d 31 36 30 22 3a 6d 6f |(62)="PD-160":mo| 000076b0 64 65 24 28 36 33 29 3d 22 50 44 2d 39 30 22 0d |de$(63)="PD-90".| 000076c0 04 15 29 20 6d 6f 64 65 24 28 36 34 29 3d 22 50 |..) mode$(64)="P| 000076d0 44 2d 31 32 30 22 3a 6d 6f 64 65 24 28 36 35 29 |D-120":mode$(65)| 000076e0 3d 22 50 44 2d 35 30 22 0d 04 16 28 20 6d 6f 64 |="PD-50"...( mod| 000076f0 65 24 28 37 30 29 3d 22 20 48 51 2d 31 22 3a 6d |e$(70)=" HQ-1":m| 00007700 6f 64 65 24 28 37 31 29 3d 22 20 48 51 2d 32 22 |ode$(71)=" HQ-2"| 00007710 0d 04 17 37 20 6d 6f 64 65 24 28 32 30 29 3d 22 |...7 mode$(20)="| 00007720 20 50 2d 33 22 3a 6d 6f 64 65 24 28 32 31 29 3d | P-3":mode$(21)=| 00007730 22 20 50 2d 35 22 3a 6d 6f 64 65 24 28 32 32 29 |" P-5":mode$(22)| 00007740 3d 22 20 50 2d 37 22 0d 04 18 26 20 dc 20 22 48 |=" P-7"...& . "H| 00007750 61 6d 43 6f 6c 36 30 20 2f 32 30 34 22 2c 22 48 |amCol60 /204","H| 00007760 61 6d 43 6f 6c 39 30 20 2f 32 30 34 22 0d 04 19 |amCol90 /204"...| 00007770 36 20 dc 20 22 48 61 6d 43 6f 6c 31 32 30 2f 32 |6 . "HamCol120/2| 00007780 30 34 22 2c 22 48 61 6d 43 6f 6c 31 38 30 2f 32 |04","HamCol180/2| 00007790 30 34 22 2c 22 48 61 6d 43 6f 6c 32 34 30 2f 32 |04","HamCol240/2| 000077a0 30 34 22 0d 04 1a 26 20 dc 20 22 48 61 6d 43 6f |04"...& . "HamCo| 000077b0 6c 33 36 30 2f 32 30 34 22 2c 22 48 61 6d 43 6f |l360/204","HamCo| 000077c0 6c 34 38 30 2f 32 30 34 22 0d 04 1b 06 20 e1 0d |l480/204".... ..| 000077d0 04 1c 04 0d 04 1d 18 20 dd 20 f2 66 6f 6e 74 5f |....... . .font_| 000077e0 6c 69 73 74 5f 73 65 6c 65 63 74 0d 04 1e 06 20 |list_select.... | 000077f0 f5 0d 04 1f 15 20 f2 70 72 69 6e 74 5f 66 6f 6e |..... .print_fon| 00007800 74 5f 6c 69 73 74 0d 04 20 18 20 c8 97 20 c8 93 |t_list.. . .. ..| 00007810 20 32 36 2c 30 2c 31 32 30 34 2c 38 38 38 0d 04 | 26,0,1204,888..| 00007820 21 22 20 44 25 3d 34 30 30 3a 57 25 3d 33 38 30 |!" D%=400:W%=380| 00007830 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e |:.wait_no_button| 00007840 0d 04 22 2d 20 f5 3a c8 97 20 58 2c 59 2c 42 3a |.."- .:.. X,Y,B:| 00007850 4d 58 25 3d 28 58 2d 33 32 29 81 20 44 25 3a 4d |MX%=(X-32). D%:M| 00007860 59 25 3d 28 39 35 36 2d 59 29 81 33 32 0d 04 23 |Y%=(956-Y).32..#| 00007870 1b 20 62 6f 78 25 3d 28 4d 58 25 2b 31 29 2b 28 |. box%=(MX%+1)+(| 00007880 4d 59 25 2d 32 29 2a 33 0d 04 24 1b 20 e7 20 62 |MY%-2)*3..$. . b| 00007890 6f 78 25 3c 3d 4e 25 20 84 20 62 6f 78 25 3d 37 |ox%<=N% . box%=7| 000078a0 38 20 8c 0d 04 25 32 20 e6 20 33 2c 36 33 20 c8 |8 ...%2 . 3,63 .| 000078b0 9c 31 39 32 3a c8 93 20 c8 90 20 4d 58 25 2a 44 |.192:.. .. MX%*D| 000078c0 25 2b 33 32 2c 39 32 32 2d 4d 59 25 2a 33 32 2c |%+32,922-MY%*32,| 000078d0 57 25 2c 33 32 0d 04 26 2f 20 f5 3a c8 97 20 58 |W%,32..&/ .:.. X| 000078e0 2c 59 2c 42 3a 4d 58 32 25 3d 28 58 2d 33 32 29 |,Y,B:MX2%=(X-32)| 000078f0 81 20 44 25 3a 4d 59 32 25 3d 28 39 35 36 2d 59 |. D%:MY2%=(956-Y| 00007900 29 81 33 32 0d 04 27 22 20 fd 20 4d 58 32 25 3c |).32..'" . MX2%<| 00007910 3e 4d 58 25 20 84 20 4d 59 32 25 3c 3e 4d 59 25 |>MX% . MY2%<>MY%| 00007920 20 84 20 42 3d 34 0d 04 28 25 20 c8 93 20 c8 90 | . B=4..(% .. ..| 00007930 20 4d 58 25 2a 44 25 2b 33 32 2c 39 32 32 2d 4d | MX%*D%+32,922-M| 00007940 59 25 2a 33 32 2c 57 25 2c 33 32 0d 04 29 06 20 |Y%*32,W%,32..). | 00007950 cd 0d 04 2a 0a 20 fd 20 42 3d 34 0d 04 2b 29 20 |...*. . B=4..+) | 00007960 fd 20 62 6f 78 25 3c 37 38 3a c8 97 20 c8 93 20 |. box%<78:.. .. | 00007970 30 2c 30 2c 31 32 38 30 2c 31 30 32 34 3a c8 91 |0,0,1280,1024:..| 00007980 20 30 2c 30 0d 04 2c 06 20 e1 0d 04 2d 04 0d 04 | 0,0..,. ...-...| 00007990 2e 17 20 dd 20 f2 70 72 69 6e 74 5f 66 6f 6e 74 |.. . .print_font| 000079a0 5f 6c 69 73 74 0d 04 2f 0c 20 c8 91 20 30 2c 33 |_list../. .. 0,3| 000079b0 32 0d 04 30 31 20 fb 31 32 38 2b 33 32 20 c8 9c |2..01 .128+32 ..| 000079c0 30 3a db 3a e6 32 35 35 2c 32 35 35 2c 32 35 35 |0:.:.255,255,255| 000079d0 3a c8 93 20 32 30 2c 35 32 2c 31 32 33 36 2c 38 |:.. 20,52,1236,8| 000079e0 39 32 0d 04 31 38 20 86 20 34 32 32 2c 35 32 2c |92..18 . 422,52,| 000079f0 34 32 32 2c 38 39 36 3a 86 20 38 32 32 2c 35 32 |422,896:. 822,52| 00007a00 2c 38 32 32 2c 38 39 36 3a 86 20 32 30 2c 38 39 |,822,896:. 20,89| 00007a10 36 2c 31 32 35 36 2c 38 39 36 0d 04 32 35 20 fb |6,1256,896..25 .| 00007a20 20 32 35 35 2c 32 35 35 2c 32 35 35 3a f1 20 8a | 255,255,255:. .| 00007a30 33 2c 34 29 22 46 6f 6e 74 20 6c 69 73 74 3a 20 |3,4)"Font list: | 00007a40 4c 61 73 74 20 75 73 65 64 20 77 61 73 20 22 0d |Last used was ".| 00007a50 04 33 28 20 fb 20 32 35 35 2c 32 35 35 2c 30 3a |.3( . 255,255,0:| 00007a60 f1 20 8a 32 38 2c 34 29 c0 66 6f 6e 74 24 2c 33 |. .28,4).font$,3| 00007a70 31 29 3b 22 20 22 3b 0d 04 34 1a 20 fb 20 32 35 |1);" ";..4. . 25| 00007a80 35 2c 32 35 35 2c 32 35 35 3a f1 22 61 74 20 22 |5,255,255:."at "| 00007a90 3b 0d 04 35 21 20 fb 20 32 35 35 2c 32 35 35 2c |;..5! . 255,255,| 00007aa0 30 3a f1 3b 78 70 25 3b 22 20 2f 20 22 3b 79 70 |0:.;xp%;" / ";yp| 00007ab0 25 3b 0d 04 36 1d 20 fb 20 32 35 35 2c 32 35 35 |%;..6. . 255,255| 00007ac0 2c 32 35 35 3a f1 22 20 70 6f 69 6e 74 73 22 0d |,255:." points".| 00007ad0 04 37 2e 20 e6 20 31 32 38 2c 32 35 35 2c 32 35 |.7. . 128,255,25| 00007ae0 35 3a c8 93 20 c8 90 20 33 32 30 2c 31 32 2c 36 |5:.. .. 320,12,6| 00007af0 30 30 2c 33 32 3a e6 20 30 2c 30 2c 30 0d 04 38 |00,32:. 0,0,0..8| 00007b00 3f 20 ef 35 3a ec 20 33 34 32 2c 33 36 3a f1 22 |? .5:. 342,36:."| 00007b10 43 6c 69 63 6b 20 6f 6e 20 61 6e 20 65 6d 70 74 |Click on an empt| 00007b20 79 20 70 6f 73 69 74 69 6f 6e 20 74 6f 20 61 62 |y position to ab| 00007b30 6f 72 74 22 3a ef 34 3a 87 3a c8 96 0d 04 39 26 |ort":.4:.:....9&| 00007b40 20 fb 20 32 35 35 2c 32 35 35 2c 30 3a fb 31 32 | . 255,255,0:.12| 00007b50 38 2b 33 32 20 c8 9c 30 3a 58 25 3d 33 3a 59 25 |8+32 ..0:X%=3:Y%| 00007b60 3d 37 0d 04 3a 30 20 e3 20 4a 25 3d 30 b8 37 37 |=7..:0 . J%=0.77| 00007b70 3a 63 61 74 24 28 4a 25 29 3d 22 22 3a ed 3a 4e |:cat$(J%)="":.:N| 00007b80 25 3d 30 3a 73 68 6f 77 6e 5f 64 69 72 24 3d 22 |%=0:shown_dir$="| 00007b90 2d 22 0d 04 3b 06 20 f5 0d 04 3c 32 20 c8 99 20 |-"..;. ...<2 .. | 00007ba0 22 46 6f 6e 74 5f 4c 69 73 74 46 6f 6e 74 73 22 |"Font_ListFonts"| 00007bb0 2c 30 2c 66 6f 6e 74 6c 69 73 74 25 2c 46 25 2c |,0,fontlist%,F%,| 00007bc0 2d 31 20 b8 2c 2c 65 6e 64 25 0d 04 3d 0f 20 e7 |-1 .,,end%..=. .| 00007bd0 20 ac 20 65 6e 64 25 20 8c 0d 04 3e 2f 20 63 61 | . end% ...>/ ca| 00007be0 74 24 28 4e 25 29 3d 24 66 6f 6e 74 6c 69 73 74 |t$(N%)=$fontlist| 00007bf0 25 3a f1 20 8a 58 25 2c 59 25 29 c0 63 61 74 24 |%:. .X%,Y%).cat$| 00007c00 28 4e 25 29 2c 32 33 29 0d 04 3f 2c 20 46 25 2b |(N%),23)..?, F%+| 00007c10 3d 31 3a 4e 25 2b 3d 31 3a 58 25 2b 3d 32 35 3a |=1:N%+=1:X%+=25:| 00007c20 e7 20 58 25 3e 35 34 20 8c 20 58 25 3d 33 3a 59 |. X%>54 . X%=3:Y| 00007c30 25 2b 3d 32 0d 04 40 06 20 cd 0d 04 41 15 20 fd |%+=2..@. ...A. .| 00007c40 20 4e 25 3d 37 37 20 84 20 65 6e 64 25 3d b9 0d | N%=77 . end%=..| 00007c50 04 42 3c 20 e7 20 ac 20 65 6e 64 25 20 8c 20 fb |.B< . . end% . .| 00007c60 20 32 35 35 2c 32 35 35 2c 32 35 35 3a f1 20 8a | 255,255,255:. .| 00007c70 35 34 2c 35 37 29 22 5b 20 4e 45 58 54 20 46 4f |54,57)"[ NEXT FO| 00007c80 4e 54 20 50 41 47 45 20 20 5d 22 0d 04 43 06 20 |NT PAGE ]"..C. | 00007c90 e1 0d 04 44 04 0d 04 45 20 20 dd 20 f2 74 65 78 |...D...E . .tex| 00007ca0 74 5f 73 70 72 69 74 65 5f 6f 76 65 72 6c 61 79 |t_sprite_overlay| 00007cb0 5f 6d 65 6e 75 0d 04 46 23 20 e6 33 2c 36 33 20 |_menu..F# .3,63 | 00007cc0 c8 9c 31 39 32 3a c8 93 20 c8 90 20 31 30 39 32 |..192:.. .. 1092| 00007cd0 2c 34 2c 35 32 2c 35 30 0d 04 47 06 20 f5 0d 04 |,4,52,50..G. ...| 00007ce0 48 26 20 6d 65 6e 75 24 28 30 29 3d 22 54 65 78 |H& menu$(0)="Tex| 00007cf0 74 20 26 20 73 70 72 69 74 65 20 6f 76 65 72 6c |t & sprite overl| 00007d00 61 79 73 22 0d 04 49 21 20 6d 65 6e 75 24 28 32 |ays"..I! menu$(2| 00007d10 29 3d 22 51 77 69 6b 54 65 78 74 20 6f 70 74 69 |)="QwikText opti| 00007d20 6f 6e 73 3e 22 0d 04 4a 20 20 6d 65 6e 75 24 28 |ons>"..J menu$(| 00007d30 33 29 3d 22 51 77 69 6b 54 65 78 74 20 64 69 73 |3)="QwikText dis| 00007d40 70 6c 61 79 22 0d 04 4b 22 20 6d 65 6e 75 24 28 |play"..K" menu$(| 00007d50 34 29 3d 22 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |4)="------------| 00007d60 2d 2d 2d 2d 2d 2d 22 0d 04 4c 23 20 6d 65 6e 75 |------"..L# menu| 00007d70 24 28 35 29 3d 22 53 65 6c 65 63 74 20 74 65 78 |$(5)="Select tex| 00007d80 74 20 63 6f 6c 6f 75 72 3e 22 0d 04 4d 24 20 6d |t colour>"..M$ m| 00007d90 65 6e 75 24 28 36 29 3d 22 53 65 6c 65 63 74 20 |enu$(6)="Select | 00007da0 74 65 78 74 20 6f 75 74 6c 69 6e 65 3e 22 0d 04 |text outline>"..| 00007db0 4e 23 20 6d 65 6e 75 24 28 37 29 3d 22 53 65 6c |N# menu$(7)="Sel| 00007dc0 65 63 74 20 74 65 78 74 20 73 68 61 64 6f 77 3e |ect text shadow>| 00007dd0 22 0d 04 4f 23 20 6d 65 6e 75 24 28 38 29 3d 22 |"..O# menu$(8)="| 00007de0 43 72 65 61 74 65 20 74 65 78 74 20 6f 76 65 72 |Create text over| 00007df0 6c 61 79 22 0d 04 50 23 20 6d 65 6e 75 24 28 39 |lay"..P# menu$(9| 00007e00 29 3d 22 47 72 61 62 20 73 63 72 65 65 6e 20 65 |)="Grab screen e| 00007e10 6c 6c 69 70 73 65 22 0d 04 51 26 20 6d 65 6e 75 |llipse"..Q& menu| 00007e20 24 28 31 30 29 3d 22 47 72 61 62 20 73 63 72 65 |$(10)="Grab scre| 00007e30 65 6e 20 72 65 63 74 61 6e 67 6c 65 22 0d 04 52 |en rectangle"..R| 00007e40 23 20 6d 65 6e 75 24 28 31 31 29 3d 22 54 65 78 |# menu$(11)="Tex| 00007e50 74 20 6d 61 73 6b 20 6f 70 74 69 6f 6e 73 3e 22 |t mask options>"| 00007e60 0d 04 53 28 20 6d 65 6e 75 24 28 31 32 29 3d 22 |..S( menu$(12)="| 00007e70 53 70 72 69 74 65 20 6f 76 65 72 6c 61 79 20 6f |Sprite overlay o| 00007e80 75 74 6c 69 6e 65 3e 22 0d 04 54 23 20 6d 65 6e |utline>"..T# men| 00007e90 75 24 28 31 33 29 3d 22 2d 2d 2d 2d 2d 2d 2d 2d |u$(13)="--------| 00007ea0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 22 0d 04 55 57 20 |----------"..UW | 00007eb0 e7 20 74 65 78 74 25 20 8c 20 6d 65 6e 75 24 28 |. text% . menu$(| 00007ec0 31 36 29 3d 22 44 69 73 70 6c 61 79 20 27 22 2b |16)="Display '"+| 00007ed0 c0 74 65 78 74 31 24 2c 31 32 29 2b 22 27 22 20 |.text1$,12)+"'" | 00007ee0 8b 20 6d 65 6e 75 24 28 31 36 29 3d 22 7b 6e 6f |. menu$(16)="{no| 00007ef0 20 74 65 78 74 20 6f 72 20 6f 76 65 72 6c 61 79 | text or overlay| 00007f00 7d 22 0d 04 56 38 20 e7 20 6f 76 65 72 6c 61 79 |}"..V8 . overlay| 00007f10 25 20 8c 20 6d 65 6e 75 24 28 31 36 29 3d 22 44 |% . menu$(16)="D| 00007f20 69 73 70 6c 61 79 20 27 22 2b 73 70 72 69 74 65 |isplay '"+sprite| 00007f30 5f 6e 61 6d 65 24 2b 22 27 22 0d 04 57 11 20 e7 |_name$+"'"..W. .| 00007f40 20 6f 76 65 72 6c 61 79 25 20 8c 0d 04 58 29 20 | overlay% ...X) | 00007f50 20 6d 65 6e 75 24 28 31 34 29 3d 22 54 69 6c 65 | menu$(14)="Tile| 00007f60 20 27 22 2b 73 70 72 69 74 65 5f 6e 61 6d 65 24 | '"+sprite_name$| 00007f70 2b 22 27 22 0d 04 59 2a 20 20 6d 65 6e 75 24 28 |+"'"..Y* menu$(| 00007f80 31 35 29 3d 22 53 61 76 65 20 27 22 2b 73 70 72 |15)="Save '"+spr| 00007f90 69 74 65 5f 6e 61 6d 65 24 2b 22 27 3e 22 0d 04 |ite_name$+"'>"..| 00007fa0 5a 06 20 cc 0d 04 5b 24 20 20 6d 65 6e 75 24 28 |Z. ...[$ menu$(| 00007fb0 31 34 29 3d 22 7b 6e 6f 20 73 70 72 69 74 65 20 |14)="{no sprite | 00007fc0 6c 6f 61 64 65 64 7d 22 0d 04 5c 24 20 20 6d 65 |loaded}"..\$ me| 00007fd0 6e 75 24 28 31 35 29 3d 22 7b 6e 6f 20 73 70 72 |nu$(15)="{no spr| 00007fe0 69 74 65 20 6c 6f 61 64 65 64 7d 22 0d 04 5d 06 |ite loaded}"..].| 00007ff0 20 cd 0d 04 5e 22 20 6d 65 6e 75 24 28 31 37 29 | ...^" menu$(17)| 00008000 3d 22 2a 22 3a f2 6d 65 6e 75 28 34 39 34 2c 39 |="*":.menu(494,9| 00008010 30 2c 30 29 0d 04 5f 13 20 c8 8e 20 6d 65 6e 75 |0,0).._. .. menu| 00008020 5f 62 6f 78 25 20 ca 0d 04 60 17 20 c9 20 32 3a |_box% ...`. . 2:| 00008030 f2 71 77 69 6b 74 65 78 74 5f 6d 65 6e 75 0d 04 |.qwiktext_menu..| 00008040 61 12 20 c9 20 33 3a f2 71 77 69 6b 74 65 78 74 |a. . 3:.qwiktext| 00008050 0d 04 62 1a 20 c9 20 35 3a f2 74 65 78 74 5f 63 |..b. . 5:.text_c| 00008060 6f 6c 6f 75 72 5f 6d 65 6e 75 0d 04 63 27 20 c9 |olour_menu..c' .| 00008070 20 36 3a f2 74 65 78 74 5f 6f 75 74 6c 69 6e 65 | 6:.text_outline| 00008080 5f 6d 65 6e 75 3a 6d 65 6e 75 5f 62 6f 78 25 3d |_menu:menu_box%=| 00008090 36 0d 04 64 1a 20 c9 20 37 3a f2 74 65 78 74 5f |6..d. . 7:.text_| 000080a0 73 68 61 64 6f 77 5f 6d 65 6e 75 0d 04 65 22 20 |shadow_menu..e" | 000080b0 c9 20 38 3a f2 66 6f 6e 74 5f 74 65 78 74 28 30 |. 8:.font_text(0| 000080c0 29 3a 6d 65 6e 75 5f 62 6f 78 25 3d 38 0d 04 66 |):menu_box%=8..f| 000080d0 29 20 c9 20 39 3a f2 67 72 61 62 5f 73 63 72 65 |) . 9:.grab_scre| 000080e0 65 6e 5f 65 6c 6c 69 70 73 65 3a 6d 65 6e 75 5f |en_ellipse:menu_| 000080f0 62 6f 78 25 3d 31 0d 04 67 2c 20 c9 20 31 30 3a |box%=1..g, . 10:| 00008100 f2 67 72 61 62 5f 73 63 72 65 65 6e 5f 72 65 63 |.grab_screen_rec| 00008110 74 61 6e 67 6c 65 3a 6d 65 6e 75 5f 62 6f 78 25 |tangle:menu_box%| 00008120 3d 31 0d 04 68 19 20 c9 20 31 31 3a f2 74 65 78 |=1..h. . 11:.tex| 00008130 74 5f 6d 61 73 6b 5f 6d 65 6e 75 0d 04 69 26 20 |t_mask_menu..i& | 00008140 c9 20 31 32 3a f2 6f 76 65 72 6c 61 79 5f 6f 75 |. 12:.overlay_ou| 00008150 74 6c 69 6e 65 3a 6d 65 6e 75 5f 62 6f 78 25 3d |tline:menu_box%=| 00008160 38 0d 04 6a 2f 20 c9 20 31 34 3a e7 20 6f 76 65 |8..j/ . 14:. ove| 00008170 72 6c 61 79 25 20 8c 20 f2 74 69 6c 65 64 5f 73 |rlay% . .tiled_s| 00008180 70 72 69 74 65 5f 62 61 63 6b 67 72 6f 75 6e 64 |prite_background| 00008190 0d 04 6b 2e 20 c9 20 31 36 3a e7 20 28 74 65 78 |..k. . 16:. (tex| 000081a0 74 25 20 84 20 6f 76 65 72 6c 61 79 25 29 20 8c |t% . overlay%) .| 000081b0 20 f2 64 69 73 70 6c 61 79 5f 74 65 78 74 0d 04 | .display_text..| 000081c0 6c 16 20 c9 20 31 35 3a e7 20 6f 76 65 72 6c 61 |l. . 15:. overla| 000081d0 79 25 20 8c 0d 04 6d 32 20 20 20 20 20 20 20 20 |y% ...m2 | 000081e0 20 20 73 74 32 24 3d 73 61 76 65 5f 74 79 70 65 | st2$=save_type| 000081f0 24 3a 73 61 76 65 5f 74 79 70 65 24 3d 22 6f 76 |$:save_type$="ov| 00008200 65 72 6c 61 79 22 0d 04 6e 2c 20 20 20 20 20 20 |erlay"..n, | 00008210 20 20 20 20 f2 66 69 6c 65 72 5f 64 69 73 70 6c | .filer_displ| 00008220 61 79 3a 73 61 76 65 5f 74 79 70 65 24 3d 73 74 |ay:save_type$=st| 00008230 32 24 0d 04 6f 0e 20 20 20 20 20 20 20 20 20 cd |2$..o. .| 00008240 0d 04 70 06 20 cb 0d 04 71 40 20 fd 20 6d 65 6e |..p. ...q@ . men| 00008250 75 5f 62 6f 78 25 3d 31 20 84 20 6d 65 6e 75 5f |u_box%=1 . menu_| 00008260 62 6f 78 25 3d 33 20 84 20 28 6d 65 6e 75 5f 62 |box%=3 . (menu_b| 00008270 6f 78 25 3e 31 33 20 80 20 6d 65 6e 75 5f 62 6f |ox%>13 . menu_bo| 00008280 78 25 3c 31 37 29 0d 04 72 1d 20 e7 20 6d 65 6e |x%<17)..r. . men| 00008290 75 5f 62 6f 78 25 3c 3e 31 35 20 f2 64 69 73 6d |u_box%<>15 .dism| 000082a0 69 6e 69 0d 04 73 06 20 e1 0d 04 74 04 0d 04 75 |ini..s. ...t...u| 000082b0 15 20 dd 20 f2 71 77 69 6b 74 65 78 74 5f 6d 65 |. . .qwiktext_me| 000082c0 6e 75 0d 04 76 06 20 f5 0d 04 77 20 20 6d 65 6e |nu..v. ...w men| 000082d0 75 24 28 30 29 3d 22 51 77 69 6b 54 65 78 74 20 |u$(0)="QwikText | 000082e0 6f 70 74 69 6f 6e 73 22 0d 04 78 1a 20 6d 65 6e |options"..x. men| 000082f0 75 24 28 31 29 3d 22 57 68 69 74 65 20 74 65 78 |u$(1)="White tex| 00008300 74 22 0d 04 79 1b 20 6d 65 6e 75 24 28 32 29 3d |t"..y. menu$(2)=| 00008310 22 59 65 6c 6c 6f 77 20 74 65 78 74 22 0d 04 7a |"Yellow text"..z| 00008320 19 20 6d 65 6e 75 24 28 33 29 3d 22 43 79 61 6e |. menu$(3)="Cyan| 00008330 20 74 65 78 74 22 0d 04 7b 1a 20 6d 65 6e 75 24 | text"..{. menu$| 00008340 28 34 29 3d 22 47 72 65 65 6e 20 74 65 78 74 22 |(4)="Green text"| 00008350 0d 04 7c 1c 20 6d 65 6e 75 24 28 35 29 3d 22 4d |..|. menu$(5)="M| 00008360 61 67 65 6e 74 61 20 74 65 78 74 22 0d 04 7d 18 |agenta text"..}.| 00008370 20 6d 65 6e 75 24 28 36 29 3d 22 52 65 64 20 74 | menu$(6)="Red t| 00008380 65 78 74 22 0d 04 7e 19 20 6d 65 6e 75 24 28 37 |ext"..~. menu$(7| 00008390 29 3d 22 42 6c 75 65 20 74 65 78 74 22 0d 04 7f |)="Blue text"...| 000083a0 1a 20 6d 65 6e 75 24 28 38 29 3d 22 42 6c 61 63 |. menu$(8)="Blac| 000083b0 6b 20 74 65 78 74 22 0d 04 80 1d 20 6d 65 6e 75 |k text".... menu| 000083c0 24 28 39 29 3d 22 20 20 2d 2d 2d 2d 2d 2d 2d 2d |$(9)=" --------| 000083d0 2d 2d 2d 22 0d 04 81 1c 20 6d 65 6e 75 24 28 31 |---".... menu$(1| 000083e0 30 29 3d 22 57 68 69 74 65 20 62 6c 6f 63 6b 22 |0)="White block"| 000083f0 0d 04 82 1d 20 6d 65 6e 75 24 28 31 31 29 3d 22 |.... menu$(11)="| 00008400 59 65 6c 6c 6f 77 20 62 6c 6f 63 6b 22 0d 04 83 |Yellow block"...| 00008410 1b 20 6d 65 6e 75 24 28 31 32 29 3d 22 43 79 61 |. menu$(12)="Cya| 00008420 6e 20 62 6c 6f 63 6b 22 0d 04 84 1c 20 6d 65 6e |n block".... men| 00008430 75 24 28 31 33 29 3d 22 47 72 65 65 6e 20 62 6c |u$(13)="Green bl| 00008440 6f 63 6b 22 0d 04 85 1e 20 6d 65 6e 75 24 28 31 |ock".... menu$(1| 00008450 34 29 3d 22 4d 61 67 65 6e 74 61 20 62 6c 6f 63 |4)="Magenta bloc| 00008460 6b 22 0d 04 86 1a 20 6d 65 6e 75 24 28 31 35 29 |k".... menu$(15)| 00008470 3d 22 52 65 64 20 62 6c 6f 63 6b 22 0d 04 87 1b |="Red block"....| 00008480 20 6d 65 6e 75 24 28 31 36 29 3d 22 42 6c 75 65 | menu$(16)="Blue| 00008490 20 62 6c 6f 63 6b 22 0d 04 88 1c 20 6d 65 6e 75 | block".... menu| 000084a0 24 28 31 37 29 3d 22 42 6c 61 63 6b 20 62 6c 6f |$(17)="Black blo| 000084b0 63 6b 22 0d 04 89 1c 20 6d 65 6e 75 24 28 31 38 |ck".... menu$(18| 000084c0 29 3d 22 54 72 61 6e 73 70 61 72 65 6e 74 22 0d |)="Transparent".| 000084d0 04 8a 0f 20 e3 20 4e 25 3d 31 20 b8 20 38 0d 04 |... . N%=1 . 8..| 000084e0 8b 2b 20 e7 20 4e 25 3d 71 77 69 6b 74 65 78 74 |.+ . N%=qwiktext| 000084f0 5f 63 6f 6c 6f 75 72 25 20 6d 24 3d bd 31 32 38 |_colour% m$=.128| 00008500 20 8b 20 6d 24 3d 22 20 22 0d 04 8c 21 20 6d 65 | . m$=" "...! me| 00008510 6e 75 24 28 4e 25 29 3d 6d 24 2b 22 20 22 2b 6d |nu$(N%)=m$+" "+m| 00008520 65 6e 75 24 28 4e 25 29 3a ed 0d 04 8d 11 20 e3 |enu$(N%):..... .| 00008530 20 4e 25 3d 31 30 20 b8 20 31 38 0d 04 8e 2a 20 | N%=10 . 18...* | 00008540 e7 20 4e 25 3d 71 77 69 6b 74 65 78 74 5f 62 6c |. N%=qwiktext_bl| 00008550 6f 63 6b 25 20 6d 24 3d bd 31 32 38 20 8b 20 6d |ock% m$=.128 . m| 00008560 24 3d 22 20 22 0d 04 8f 21 20 6d 65 6e 75 24 28 |$=" "...! menu$(| 00008570 4e 25 29 3d 6d 24 2b 22 20 22 2b 6d 65 6e 75 24 |N%)=m$+" "+menu$| 00008580 28 4e 25 29 3a ed 0d 04 90 21 20 6d 65 6e 75 24 |(N%):....! menu$| 00008590 28 31 39 29 3d 22 2a 22 3a f2 6d 65 6e 75 28 30 |(19)="*":.menu(0| 000085a0 2c 39 30 2c 2d 31 29 0d 04 91 13 20 c8 8e 20 6d |,90,-1).... .. m| 000085b0 65 6e 75 5f 62 6f 78 25 20 ca 0d 04 92 31 20 c9 |enu_box% ....1 .| 000085c0 20 31 2c 32 2c 33 2c 34 2c 35 2c 36 2c 37 2c 38 | 1,2,3,4,5,6,7,8| 000085d0 3a 71 77 69 6b 74 65 78 74 5f 63 6f 6c 6f 75 72 |:qwiktext_colour| 000085e0 25 3d 6d 65 6e 75 5f 62 6f 78 25 0d 04 93 3b 20 |%=menu_box%...; | 000085f0 c9 20 31 30 2c 31 31 2c 31 32 2c 31 33 2c 31 34 |. 10,11,12,13,14| 00008600 2c 31 35 2c 31 36 2c 31 37 2c 31 38 3a 71 77 69 |,15,16,17,18:qwi| 00008610 6b 74 65 78 74 5f 62 6c 6f 63 6b 25 3d 6d 65 6e |ktext_block%=men| 00008620 75 5f 62 6f 78 25 0d 04 94 06 20 cb 0d 04 95 13 |u_box%.... .....| 00008630 20 fd 20 6d 65 6e 75 5f 62 6f 78 25 3d 39 39 0d | . menu_box%=99.| 00008640 04 96 06 20 e1 0d 04 97 04 0d 04 98 17 20 dd 20 |... ......... . | 00008650 f2 6f 76 65 72 6c 61 79 5f 6f 75 74 6c 69 6e 65 |.overlay_outline| 00008660 0d 04 99 27 20 6d 65 6e 75 24 28 30 29 3d 22 4f |...' menu$(0)="O| 00008670 76 65 72 6c 61 79 20 6f 75 74 6c 69 6e 65 20 20 |verlay outline | 00008680 20 20 20 20 20 22 20 0d 04 9a 1d 20 6d 65 6e 75 | " .... menu| 00008690 24 28 31 29 3d 22 57 68 69 74 65 20 6f 75 74 6c |$(1)="White outl| 000086a0 69 6e 65 22 0d 04 9b 1e 20 6d 65 6e 75 24 28 32 |ine".... menu$(2| 000086b0 29 3d 22 59 65 6c 6c 6f 77 20 6f 75 74 6c 69 6e |)="Yellow outlin| 000086c0 65 22 0d 04 9c 1c 20 6d 65 6e 75 24 28 33 29 3d |e".... menu$(3)=| 000086d0 22 43 79 61 6e 20 6f 75 74 6c 69 6e 65 22 0d 04 |"Cyan outline"..| 000086e0 9d 1d 20 6d 65 6e 75 24 28 34 29 3d 22 47 72 65 |.. menu$(4)="Gre| 000086f0 65 6e 20 6f 75 74 6c 69 6e 65 22 0d 04 9e 1f 20 |en outline".... | 00008700 6d 65 6e 75 24 28 35 29 3d 22 4d 61 67 65 6e 74 |menu$(5)="Magent| 00008710 61 20 6f 75 74 6c 69 6e 65 22 0d 04 9f 1b 20 6d |a outline".... m| 00008720 65 6e 75 24 28 36 29 3d 22 52 65 64 20 6f 75 74 |enu$(6)="Red out| 00008730 6c 69 6e 65 22 0d 04 a0 1c 20 6d 65 6e 75 24 28 |line".... menu$(| 00008740 37 29 3d 22 42 6c 75 65 20 6f 75 74 6c 69 6e 65 |7)="Blue outline| 00008750 22 0d 04 a1 1d 20 6d 65 6e 75 24 28 38 29 3d 22 |".... menu$(8)="| 00008760 42 6c 61 63 6b 20 6f 75 74 6c 69 6e 65 22 0d 04 |Black outline"..| 00008770 a2 1f 20 6d 65 6e 75 24 28 39 29 3d 22 43 6f 6c |.. menu$(9)="Col| 00008780 6f 75 72 20 73 65 6c 65 63 74 6f 72 22 0d 04 a3 |our selector"...| 00008790 25 20 6d 65 6e 75 24 28 31 30 29 3d 22 53 6f 66 |% menu$(10)="Sof| 000087a0 74 20 6d 75 6c 74 69 70 6c 65 20 73 68 61 64 6f |t multiple shado| 000087b0 77 22 0d 04 a4 26 20 6d 65 6e 75 24 28 31 31 29 |w"...& menu$(11)| 000087c0 3d 22 53 69 6e 67 6c 65 20 73 68 61 64 6f 77 20 |="Single shadow | 000087d0 2d 20 63 6c 6f 73 65 22 0d 04 a5 25 20 6d 65 6e |- close"...% men| 000087e0 75 24 28 31 32 29 3d 22 53 69 6e 67 6c 65 20 73 |u$(12)="Single s| 000087f0 68 61 64 6f 77 20 2d 20 77 69 64 65 22 0d 04 a6 |hadow - wide"...| 00008800 25 20 6d 65 6e 75 24 28 31 33 29 3d 22 4e 6f 20 |% menu$(13)="No | 00008810 6f 75 74 6c 69 6e 65 20 6f 72 20 73 68 61 64 6f |outline or shado| 00008820 77 22 0d 04 a7 21 20 6d 65 6e 75 24 28 31 34 29 |w"...! menu$(14)| 00008830 3d 22 2a 22 3a f2 6d 65 6e 75 28 30 2c 39 30 2c |="*":.menu(0,90,| 00008840 2d 31 29 0d 04 a8 17 20 6f 76 65 72 6c 61 79 5f |-1).... overlay_| 00008850 6f 75 74 6c 69 6e 65 25 3d b9 0d 04 a9 13 20 c8 |outline%=..... .| 00008860 8e 20 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d 04 aa |. menu_box% ....| 00008870 13 20 c9 20 31 3a 4f 4f 43 25 3d 26 37 46 46 46 |. . 1:OOC%=&7FFF| 00008880 0d 04 ab 13 20 c9 20 32 3a 4f 4f 43 25 3d 26 30 |.... . 2:OOC%=&0| 00008890 33 46 46 0d 04 ac 13 20 c9 20 33 3a 4f 4f 43 25 |3FF.... . 3:OOC%| 000088a0 3d 26 37 46 45 30 0d 04 ad 13 20 c9 20 34 3a 4f |=&7FE0.... . 4:O| 000088b0 4f 43 25 3d 26 30 33 45 30 0d 04 ae 13 20 c9 20 |OC%=&03E0.... . | 000088c0 35 3a 4f 4f 43 25 3d 26 37 43 31 46 0d 04 af 13 |5:OOC%=&7C1F....| 000088d0 20 c9 20 36 3a 4f 4f 43 25 3d 26 30 30 31 46 0d | . 6:OOC%=&001F.| 000088e0 04 b0 13 20 c9 20 37 3a 4f 4f 43 25 3d 26 37 43 |... . 7:OOC%=&7C| 000088f0 30 30 0d 04 b1 13 20 c9 20 38 3a 4f 4f 43 25 3d |00.... . 8:OOC%=| 00008900 26 30 30 30 30 0d 04 b2 22 20 c9 20 39 3a f2 72 |&0000..." . 9:.r| 00008910 67 62 5f 73 6c 69 64 65 72 73 28 30 29 3a 4f 4f |gb_sliders(0):OO| 00008920 43 25 3d 52 47 42 25 0d 04 b3 10 20 c9 20 31 30 |C%=RGB%.... . 10| 00008930 3a 4f 4f 43 25 3d 31 0d 04 b4 10 20 c9 20 31 31 |:OOC%=1.... . 11| 00008940 3a 4f 4f 43 25 3d 32 0d 04 b5 10 20 c9 20 31 32 |:OOC%=2.... . 12| 00008950 3a 4f 4f 43 25 3d 33 0d 04 b6 1c 20 c9 20 31 33 |:OOC%=3.... . 13| 00008960 3a 6f 76 65 72 6c 61 79 5f 6f 75 74 6c 69 6e 65 |:overlay_outline| 00008970 25 3d 30 0d 04 b7 06 20 cb 0d 04 b8 06 20 e1 0d |%=0.... ..... ..| 00008980 04 b9 04 0d 04 ba 18 20 dd 20 f2 74 65 78 74 5f |....... . .text_| 00008990 73 68 61 64 6f 77 5f 6d 65 6e 75 0d 04 bb 26 20 |shadow_menu...& | 000089a0 6d 65 6e 75 24 28 30 29 3d 22 54 65 78 74 20 73 |menu$(0)="Text s| 000089b0 68 61 64 6f 77 20 20 20 20 20 20 20 20 20 20 20 |hadow | 000089c0 22 0d 04 bc 21 20 6d 65 6e 75 24 28 31 29 3d 22 |"...! menu$(1)="| 000089d0 53 6f 6c 69 64 20 64 72 6f 70 20 73 68 61 64 6f |Solid drop shado| 000089e0 77 22 0d 04 bd 1f 20 6d 65 6e 75 24 28 32 29 3d |w".... menu$(2)=| 000089f0 22 47 72 61 64 61 74 65 64 20 73 68 61 64 6f 77 |"Gradated shadow| 00008a00 22 0d 04 be 24 20 6d 65 6e 75 24 28 33 29 3d 22 |"...$ menu$(3)="| 00008a10 53 6f 66 74 20 6d 75 6c 74 69 70 6c 65 20 73 68 |Soft multiple sh| 00008a20 61 64 6f 77 22 0d 04 bf 25 20 6d 65 6e 75 24 28 |adow"...% menu$(| 00008a30 34 29 3d 22 53 69 6e 67 6c 65 20 73 68 61 64 6f |4)="Single shado| 00008a40 77 20 2d 20 63 6c 6f 73 65 22 0d 04 c0 24 20 6d |w - close"...$ m| 00008a50 65 6e 75 24 28 35 29 3d 22 53 69 6e 67 6c 65 20 |enu$(5)="Single | 00008a60 73 68 61 64 6f 77 20 2d 20 77 69 64 65 22 0d 04 |shadow - wide"..| 00008a70 c1 21 20 6d 65 6e 75 24 28 36 29 3d 22 47 72 65 |.! menu$(6)="Gre| 00008a80 79 20 62 6c 6f 63 6b 20 73 68 61 64 6f 77 22 0d |y block shadow".| 00008a90 04 c2 23 20 6d 65 6e 75 24 28 37 29 3d 22 59 65 |..# menu$(7)="Ye| 00008aa0 6c 6c 6f 77 20 62 6c 6f 63 6b 20 73 68 61 64 6f |llow block shado| 00008ab0 77 22 0d 04 c3 21 20 6d 65 6e 75 24 28 38 29 3d |w"...! menu$(8)=| 00008ac0 22 43 79 61 6e 20 62 6c 6f 63 6b 20 73 68 61 64 |"Cyan block shad| 00008ad0 6f 77 22 0d 04 c4 22 20 6d 65 6e 75 24 28 39 29 |ow"..." menu$(9)| 00008ae0 3d 22 47 72 65 65 6e 20 62 6c 6f 63 6b 20 73 68 |="Green block sh| 00008af0 61 64 6f 77 22 0d 04 c5 25 20 6d 65 6e 75 24 28 |adow"...% menu$(| 00008b00 31 30 29 3d 22 4d 61 67 65 6e 74 61 20 62 6c 6f |10)="Magenta blo| 00008b10 63 6b 20 73 68 61 64 6f 77 22 0d 04 c6 21 20 6d |ck shadow"...! m| 00008b20 65 6e 75 24 28 31 31 29 3d 22 52 65 64 20 62 6c |enu$(11)="Red bl| 00008b30 6f 63 6b 20 73 68 61 64 6f 77 22 0d 04 c7 22 20 |ock shadow"..." | 00008b40 6d 65 6e 75 24 28 31 32 29 3d 22 42 6c 75 65 20 |menu$(12)="Blue | 00008b50 62 6c 6f 63 6b 20 73 68 61 64 6f 77 22 0d 04 c8 |block shadow"...| 00008b60 24 20 6d 65 6e 75 24 28 31 33 29 3d 22 53 6f 6c |$ menu$(13)="Sol| 00008b70 69 64 20 6c 65 74 74 65 72 20 65 66 66 65 63 74 |id letter effect| 00008b80 22 0d 04 c9 1a 20 6d 65 6e 75 24 28 31 34 29 3d |".... menu$(14)=| 00008b90 22 4e 6f 20 73 68 61 64 6f 77 22 0d 04 ca 21 20 |"No shadow"...! | 00008ba0 6d 65 6e 75 24 28 31 35 29 3d 22 2a 22 3a f2 6d |menu$(15)="*":.m| 00008bb0 65 6e 75 28 30 2c 39 30 2c 2d 31 29 0d 04 cb 13 |enu(0,90,-1)....| 00008bc0 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d | .. menu_box% ..| 00008bd0 04 cc 23 20 c9 20 31 2c 32 3a f2 72 67 62 5f 73 |..# . 1,2:.rgb_s| 00008be0 6c 69 64 65 72 73 28 30 29 3a 53 43 25 3d 52 47 |liders(0):SC%=RG| 00008bf0 42 25 0d 04 cd 37 20 c9 20 33 3a 72 65 61 6c 5f |B%...7 . 3:real_| 00008c00 73 68 61 64 6f 77 31 25 3d 31 3a 73 68 61 64 6f |shadow1%=1:shado| 00008c10 77 25 3d 30 3a 74 65 78 74 5f 62 6c 6f 63 6b 5f |w%=0:text_block_| 00008c20 73 68 61 64 6f 77 25 3d 30 0d 04 ce 37 20 c9 20 |shadow%=0...7 . | 00008c30 34 3a 72 65 61 6c 5f 73 68 61 64 6f 77 31 25 3d |4:real_shadow1%=| 00008c40 32 3a 73 68 61 64 6f 77 25 3d 30 3a 74 65 78 74 |2:shadow%=0:text| 00008c50 5f 62 6c 6f 63 6b 5f 73 68 61 64 6f 77 25 3d 30 |_block_shadow%=0| 00008c60 0d 04 cf 37 20 c9 20 35 3a 72 65 61 6c 5f 73 68 |...7 . 5:real_sh| 00008c70 61 64 6f 77 31 25 3d 33 3a 73 68 61 64 6f 77 25 |adow1%=3:shadow%| 00008c80 3d 30 3a 74 65 78 74 5f 62 6c 6f 63 6b 5f 73 68 |=0:text_block_sh| 00008c90 61 64 6f 77 25 3d 30 0d 04 d0 45 20 c9 20 36 3a |adow%=0...E . 6:| 00008ca0 21 73 68 61 64 6f 77 5f 66 6c 61 67 3d 30 3a 21 |!shadow_flag=0:!| 00008cb0 63 6c 65 61 72 5f 6d 61 73 6b 3d 25 30 31 30 30 |clear_mask=%0100| 00008cc0 30 30 31 30 30 30 30 31 30 30 30 30 30 31 30 30 |0010000100000100| 00008cd0 30 30 31 30 30 30 30 31 30 30 30 30 0d 04 d1 45 |001000010000...E| 00008ce0 20 c9 20 37 3a 21 73 68 61 64 6f 77 5f 66 6c 61 | . 7:!shadow_fla| 00008cf0 67 3d 31 3a 21 63 6c 65 61 72 5f 6d 61 73 6b 3d |g=1:!clear_mask=| 00008d00 25 30 31 31 31 31 31 30 30 30 30 30 30 30 30 30 |%011111000000000| 00008d10 30 30 31 31 31 31 31 30 30 30 30 30 30 30 30 30 |0011111000000000| 00008d20 30 0d 04 d2 45 20 c9 20 38 3a 21 73 68 61 64 6f |0...E . 8:!shado| 00008d30 77 5f 66 6c 61 67 3d 31 3a 21 63 6c 65 61 72 5f |w_flag=1:!clear_| 00008d40 6d 61 73 6b 3d 25 30 30 30 30 30 30 30 30 30 30 |mask=%0000000000| 00008d50 30 31 31 31 31 31 30 30 30 30 30 30 30 30 30 30 |0111110000000000| 00008d60 30 31 31 31 31 31 0d 04 d3 45 20 c9 20 39 3a 21 |011111...E . 9:!| 00008d70 73 68 61 64 6f 77 5f 66 6c 61 67 3d 31 3a 21 63 |shadow_flag=1:!c| 00008d80 6c 65 61 72 5f 6d 61 73 6b 3d 25 30 31 31 31 31 |lear_mask=%01111| 00008d90 31 30 30 30 30 30 31 31 31 31 31 30 31 31 31 31 |1000001111101111| 00008da0 31 30 30 30 30 30 31 31 31 31 31 0d 04 d4 46 20 |10000011111...F | 00008db0 c9 20 31 30 3a 21 73 68 61 64 6f 77 5f 66 6c 61 |. 10:!shadow_fla| 00008dc0 67 3d 31 3a 21 63 6c 65 61 72 5f 6d 61 73 6b 3d |g=1:!clear_mask=| 00008dd0 25 30 30 30 30 30 30 31 31 31 31 31 30 30 30 30 |%000000111110000| 00008de0 30 30 30 30 30 30 30 31 31 31 31 31 30 30 30 30 |0000000111110000| 00008df0 30 0d 04 d5 46 20 c9 20 31 31 3a 21 73 68 61 64 |0...F . 11:!shad| 00008e00 6f 77 5f 66 6c 61 67 3d 31 3a 21 63 6c 65 61 72 |ow_flag=1:!clear| 00008e10 5f 6d 61 73 6b 3d 25 30 31 31 31 31 31 31 31 31 |_mask=%011111111| 00008e20 31 31 30 30 30 30 30 30 31 31 31 31 31 31 31 31 |1100000011111111| 00008e30 31 31 30 30 30 30 30 0d 04 d6 46 20 c9 20 31 32 |1100000...F . 12| 00008e40 3a 21 73 68 61 64 6f 77 5f 66 6c 61 67 3d 31 3a |:!shadow_flag=1:| 00008e50 21 63 6c 65 61 72 5f 6d 61 73 6b 3d 25 30 30 30 |!clear_mask=%000| 00008e60 30 30 30 31 31 31 31 31 31 31 31 31 31 30 30 30 |0001111111111000| 00008e70 30 30 30 31 31 31 31 31 31 31 31 31 31 0d 04 d7 |0001111111111...| 00008e80 3e 20 c9 20 31 33 3a 53 43 25 3d 30 3a 74 65 78 |> . 13:SC%=0:tex| 00008e90 74 5f 62 6c 6f 63 6b 5f 73 68 61 64 6f 77 25 3d |t_block_shadow%=| 00008ea0 30 3a 73 68 61 64 6f 77 25 3d 30 3a 72 65 61 6c |0:shadow%=0:real| 00008eb0 5f 73 68 61 64 6f 77 31 25 3d 30 0d 04 d8 3e 20 |_shadow1%=0...> | 00008ec0 c9 20 31 34 3a 53 43 25 3d 30 3a 74 65 78 74 5f |. 14:SC%=0:text_| 00008ed0 62 6c 6f 63 6b 5f 73 68 61 64 6f 77 25 3d 30 3a |block_shadow%=0:| 00008ee0 73 68 61 64 6f 77 25 3d 30 3a 72 65 61 6c 5f 73 |shadow%=0:real_s| 00008ef0 68 61 64 6f 77 31 25 3d 30 0d 04 d9 06 20 cb 0d |hadow1%=0.... ..| 00008f00 04 da 43 20 e7 20 6d 65 6e 75 5f 62 6f 78 25 3c |..C . menu_box%<| 00008f10 33 20 8c 20 73 68 61 64 6f 77 25 3d b9 3a 74 65 |3 . shadow%=.:te| 00008f20 78 74 5f 62 6c 6f 63 6b 5f 73 68 61 64 6f 77 25 |xt_block_shadow%| 00008f30 3d 30 3a 72 65 61 6c 5f 73 68 61 64 6f 77 31 25 |=0:real_shadow1%| 00008f40 3d 30 0d 04 db 63 20 e7 20 6d 65 6e 75 5f 62 6f |=0...c . menu_bo| 00008f50 78 25 3e 35 20 80 20 6d 65 6e 75 5f 62 6f 78 25 |x%>5 . menu_box%| 00008f60 3c 31 33 20 8c 20 74 65 78 74 5f 62 6c 6f 63 6b |<13 . text_block| 00008f70 5f 73 68 61 64 6f 77 25 3d b9 3a 6f 75 74 6c 69 |_shadow%=.:outli| 00008f80 6e 65 5f 77 69 64 74 68 25 3d 30 3a 73 68 61 64 |ne_width%=0:shad| 00008f90 6f 77 25 3d 30 3a 72 65 61 6c 5f 73 68 61 64 6f |ow%=0:real_shado| 00008fa0 77 31 25 3d 30 0d 04 dc 26 20 e7 20 6d 65 6e 75 |w1%=0...& . menu| 00008fb0 5f 62 6f 78 25 3d 32 20 8c 20 67 72 61 64 25 3d |_box%=2 . grad%=| 00008fc0 b9 20 8b 20 67 72 61 64 25 3d 30 0d 04 dd 29 20 |. . grad%=0...) | 00008fd0 e7 20 6d 65 6e 75 5f 62 6f 78 25 3d 31 33 20 8c |. menu_box%=13 .| 00008fe0 20 73 6f 6c 69 64 25 3d b9 20 8b 20 73 6f 6c 69 | solid%=. . soli| 00008ff0 64 25 3d 30 0d 04 de 11 20 6d 65 6e 75 5f 62 6f |d%=0.... menu_bo| 00009000 78 25 3d 39 39 0d 04 df 06 20 e1 0d 04 e0 04 0d |x%=99.... ......| 00009010 04 e1 18 20 dd 20 f2 74 65 78 74 5f 63 6f 6c 6f |... . .text_colo| 00009020 75 72 5f 6d 65 6e 75 0d 04 e2 26 20 6d 65 6e 75 |ur_menu...& menu| 00009030 24 28 30 29 3d 22 54 65 78 74 20 63 6f 6c 6f 75 |$(0)="Text colou| 00009040 72 20 20 20 20 20 20 20 20 20 20 20 22 0d 04 e3 |r "...| 00009050 20 20 6d 65 6e 75 24 28 31 29 3d 22 50 6c 61 69 | menu$(1)="Plai| 00009060 6e 20 57 48 49 54 45 20 74 65 78 74 22 0d 04 e4 |n WHITE text"...| 00009070 21 20 6d 65 6e 75 24 28 32 29 3d 22 50 6c 61 69 |! menu$(2)="Plai| 00009080 6e 20 59 45 4c 4c 4f 57 20 74 65 78 74 22 0d 04 |n YELLOW text"..| 00009090 e5 1f 20 6d 65 6e 75 24 28 33 29 3d 22 50 6c 61 |.. menu$(3)="Pla| 000090a0 69 6e 20 43 59 41 4e 20 74 65 78 74 22 0d 04 e6 |in CYAN text"...| 000090b0 20 20 6d 65 6e 75 24 28 34 29 3d 22 50 6c 61 69 | menu$(4)="Plai| 000090c0 6e 20 47 52 45 45 4e 20 74 65 78 74 22 0d 04 e7 |n GREEN text"...| 000090d0 22 20 6d 65 6e 75 24 28 35 29 3d 22 50 6c 61 69 |" menu$(5)="Plai| 000090e0 6e 20 4d 41 47 45 4e 54 41 20 74 65 78 74 22 0d |n MAGENTA text".| 000090f0 04 e8 1e 20 6d 65 6e 75 24 28 36 29 3d 22 50 6c |... menu$(6)="Pl| 00009100 61 69 6e 20 52 45 44 20 74 65 78 74 22 0d 04 e9 |ain RED text"...| 00009110 1f 20 6d 65 6e 75 24 28 37 29 3d 22 50 6c 61 69 |. menu$(7)="Plai| 00009120 6e 20 42 4c 55 45 20 74 65 78 74 22 0d 04 ea 20 |n BLUE text"... | 00009130 20 6d 65 6e 75 24 28 38 29 3d 22 50 6c 61 69 6e | menu$(8)="Plain| 00009140 20 42 4c 41 43 4b 20 74 65 78 74 22 0d 04 eb 22 | BLACK text"..."| 00009150 20 6d 65 6e 75 24 28 39 29 3d 22 47 72 61 64 20 | menu$(9)="Grad | 00009160 59 45 4c 4c 4f 57 20 74 6f 20 52 45 44 22 0d 04 |YELLOW to RED"..| 00009170 ec 25 20 6d 65 6e 75 24 28 31 30 29 3d 22 47 72 |.% menu$(10)="Gr| 00009180 61 64 20 59 45 4c 4c 4f 57 20 74 6f 20 47 52 45 |ad YELLOW to GRE| 00009190 45 4e 22 0d 04 ed 23 20 6d 65 6e 75 24 28 31 31 |EN"...# menu$(11| 000091a0 29 3d 22 47 72 61 64 20 43 59 41 4e 20 74 6f 20 |)="Grad CYAN to | 000091b0 47 52 45 45 4e 22 0d 04 ee 22 20 6d 65 6e 75 24 |GREEN"..." menu$| 000091c0 28 31 32 29 3d 22 47 72 61 64 20 43 59 41 4e 20 |(12)="Grad CYAN | 000091d0 74 6f 20 42 4c 55 45 22 0d 04 ef 24 20 6d 65 6e |to BLUE"...$ men| 000091e0 75 24 28 31 33 29 3d 22 47 72 61 64 20 4d 41 47 |u$(13)="Grad MAG| 000091f0 45 4e 54 41 20 74 6f 20 52 45 44 22 0d 04 f0 25 |ENTA to RED"...%| 00009200 20 6d 65 6e 75 24 28 31 34 29 3d 22 47 72 61 64 | menu$(14)="Grad| 00009210 20 4d 41 47 45 4e 54 41 20 74 6f 20 42 4c 55 45 | MAGENTA to BLUE| 00009220 22 0d 04 f1 26 20 6d 65 6e 75 24 28 31 35 29 3d |"...& menu$(15)=| 00009230 22 47 72 61 64 20 57 48 49 54 45 20 74 6f 20 4d |"Grad WHITE to M| 00009240 41 47 45 4e 54 41 22 0d 04 f2 22 20 6d 65 6e 75 |AGENTA"..." menu| 00009250 24 28 31 36 29 3d 22 47 72 61 64 20 57 48 49 54 |$(16)="Grad WHIT| 00009260 45 20 74 6f 20 52 45 44 22 0d 04 f3 23 20 6d 65 |E to RED"...# me| 00009270 6e 75 24 28 31 37 29 3d 22 47 72 61 64 20 57 48 |nu$(17)="Grad WH| 00009280 49 54 45 20 74 6f 20 42 4c 55 45 22 0d 04 f4 22 |ITE to BLUE"..."| 00009290 20 6d 65 6e 75 24 28 31 38 29 3d 22 47 72 61 64 | menu$(18)="Grad| 000092a0 20 52 45 44 20 74 6f 20 57 48 49 54 45 22 0d 04 | RED to WHITE"..| 000092b0 f5 24 20 6d 65 6e 75 24 28 31 39 29 3d 22 47 72 |.$ menu$(19)="Gr| 000092c0 61 64 20 47 52 45 45 4e 20 74 6f 20 57 48 49 54 |ad GREEN to WHIT| 000092d0 45 22 0d 04 f6 23 20 6d 65 6e 75 24 28 32 30 29 |E"...# menu$(20)| 000092e0 3d 22 47 72 61 64 20 42 4c 55 45 20 74 6f 20 57 |="Grad BLUE to W| 000092f0 48 49 54 45 22 0d 04 f7 20 20 6d 65 6e 75 24 28 |HITE"... menu$(| 00009300 32 31 29 3d 22 43 6f 6c 6f 75 72 20 73 65 6c 65 |21)="Colour sele| 00009310 63 74 6f 72 22 0d 04 f8 21 20 6d 65 6e 75 24 28 |ctor"...! menu$(| 00009320 32 32 29 3d 22 2a 22 3a f2 6d 65 6e 75 28 30 2c |22)="*":.menu(0,| 00009330 39 30 2c 2d 31 29 0d 04 f9 13 20 c8 8e 20 6d 65 |90,-1).... .. me| 00009340 6e 75 5f 62 6f 78 25 20 ca 0d 04 fa 1e 20 c9 20 |nu_box% ..... . | 00009350 31 3a 54 43 25 3d 26 37 46 46 46 3a 54 44 25 3d |1:TC%=&7FFF:TD%=| 00009360 30 3a 54 4c 25 3d 30 0d 04 fb 1e 20 c9 20 32 3a |0:TL%=0.... . 2:| 00009370 54 43 25 3d 26 30 33 46 46 3a 54 44 25 3d 30 3a |TC%=&03FF:TD%=0:| 00009380 54 4c 25 3d 30 0d 04 fc 1e 20 c9 20 33 3a 54 43 |TL%=0.... . 3:TC| 00009390 25 3d 26 37 46 45 30 3a 54 44 25 3d 30 3a 54 4c |%=&7FE0:TD%=0:TL| 000093a0 25 3d 30 0d 04 fd 1e 20 c9 20 34 3a 54 43 25 3d |%=0.... . 4:TC%=| 000093b0 26 30 33 45 30 3a 54 44 25 3d 30 3a 54 4c 25 3d |&03E0:TD%=0:TL%=| 000093c0 30 0d 04 fe 1e 20 c9 20 35 3a 54 43 25 3d 26 37 |0.... . 5:TC%=&7| 000093d0 43 31 46 3a 54 44 25 3d 30 3a 54 4c 25 3d 30 0d |C1F:TD%=0:TL%=0.| 000093e0 04 ff 1e 20 c9 20 36 3a 54 43 25 3d 26 30 30 31 |... . 6:TC%=&001| 000093f0 46 3a 54 44 25 3d 30 3a 54 4c 25 3d 30 0d 05 00 |F:TD%=0:TL%=0...| 00009400 1e 20 c9 20 37 3a 54 43 25 3d 26 37 43 30 30 3a |. . 7:TC%=&7C00:| 00009410 54 44 25 3d 30 3a 54 4c 25 3d 30 0d 05 01 1e 20 |TD%=0:TL%=0.... | 00009420 c9 20 38 3a 54 43 25 3d 26 30 30 30 30 3a 54 44 |. 8:TC%=&0000:TD| 00009430 25 3d 30 3a 54 4c 25 3d 30 0d 05 02 20 20 c9 20 |%=0:TL%=0... . | 00009440 39 3a 54 43 25 3d 26 30 33 46 46 3a 54 44 25 3d |9:TC%=&03FF:TD%=| 00009450 33 32 3a 54 4c 25 3d 33 31 0d 05 03 21 20 c9 20 |32:TL%=31...! . | 00009460 31 30 3a 54 43 25 3d 26 30 33 46 46 3a 54 44 25 |10:TC%=&03FF:TD%| 00009470 3d 31 3a 54 4c 25 3d 39 39 32 0d 05 04 24 20 c9 |=1:TL%=992...$ .| 00009480 20 31 31 3a 54 43 25 3d 26 37 46 45 30 3a 54 44 | 11:TC%=&7FE0:TD| 00009490 25 3d 31 30 32 34 3a 54 4c 25 3d 39 39 32 0d 05 |%=1024:TL%=992..| 000094a0 05 24 20 c9 20 31 32 3a 54 43 25 3d 26 37 46 45 |.$ . 12:TC%=&7FE| 000094b0 30 3a 54 44 25 3d 33 32 3a 54 4c 25 3d 33 31 37 |0:TD%=32:TL%=317| 000094c0 34 34 0d 05 06 23 20 c9 20 31 33 3a 54 43 25 3d |44...# . 13:TC%=| 000094d0 26 37 43 31 46 3a 54 44 25 3d 31 30 32 34 3a 54 |&7C1F:TD%=1024:T| 000094e0 4c 25 3d 33 31 0d 05 07 23 20 c9 20 31 34 3a 54 |L%=31...# . 14:T| 000094f0 43 25 3d 26 37 43 31 46 3a 54 44 25 3d 31 3a 54 |C%=&7C1F:TD%=1:T| 00009500 4c 25 3d 33 31 37 34 34 0d 05 08 24 20 c9 20 31 |L%=31744...$ . 1| 00009510 35 3a 54 43 25 3d 26 37 46 46 46 3a 54 44 25 3d |5:TC%=&7FFF:TD%=| 00009520 33 32 3a 54 4c 25 3d 33 31 37 37 35 0d 05 09 23 |32:TL%=31775...#| 00009530 20 c9 20 31 36 3a 54 43 25 3d 26 37 46 46 46 3a | . 16:TC%=&7FFF:| 00009540 54 44 25 3d 31 30 35 36 3a 54 4c 25 3d 33 31 0d |TD%=1056:TL%=31.| 00009550 05 0a 24 20 c9 20 31 37 3a 54 43 25 3d 26 37 46 |..$ . 17:TC%=&7F| 00009560 46 46 3a 54 44 25 3d 33 33 3a 54 4c 25 3d 33 31 |FF:TD%=33:TL%=31| 00009570 37 34 34 0d 05 0b 41 20 c9 20 31 38 3a 54 43 25 |744...A . 18:TC%| 00009580 3d 33 31 3a 54 44 25 3d 31 30 35 36 3a 54 4c 25 |=31:TD%=1056:TL%| 00009590 3d 26 37 46 46 46 3a f4 20 46 69 72 73 74 20 69 |=&7FFF:. First i| 000095a0 6e 63 72 65 6d 65 6e 74 65 64 20 67 72 61 64 61 |ncremented grada| 000095b0 74 69 6f 6e 0d 05 0c 26 20 c9 20 31 39 3a 54 43 |tion...& . 19:TC| 000095c0 25 3d 26 30 33 45 30 3a 54 44 25 3d 26 34 30 31 |%=&03E0:TD%=&401| 000095d0 3a 54 4c 25 3d 26 37 46 46 46 0d 05 0d 24 20 c9 |:TL%=&7FFF...$ .| 000095e0 20 32 30 3a 54 43 25 3d 26 37 43 30 30 3a 54 44 | 20:TC%=&7C00:TD| 000095f0 25 3d 33 33 3a 54 4c 25 3d 26 37 46 46 46 0d 05 |%=33:TL%=&7FFF..| 00009600 0e 2e 20 c9 20 32 31 3a f2 72 67 62 5f 73 6c 69 |.. . 21:.rgb_sli| 00009610 64 65 72 73 28 30 29 3a 54 43 25 3d 52 47 42 25 |ders(0):TC%=RGB%| 00009620 3a 54 44 25 3d 30 3a 54 4c 25 3d 30 0d 05 0f 06 |:TD%=0:TL%=0....| 00009630 20 cb 0d 05 10 33 20 e7 20 6d 65 6e 75 5f 62 6f | ....3 . menu_bo| 00009640 78 25 3c 31 38 20 84 20 6d 65 6e 75 5f 62 6f 78 |x%<18 . menu_box| 00009650 25 3d 32 31 20 84 20 6d 65 6e 75 5f 62 6f 78 25 |%=21 . menu_box%| 00009660 3d 39 39 20 8c 0d 05 11 11 20 20 63 6f 6c 5f 69 |=99 ..... col_i| 00009670 64 65 63 25 3d 30 0d 05 12 06 20 cc 0d 05 13 11 |dec%=0.... .....| 00009680 20 20 63 6f 6c 5f 69 64 65 63 25 3d 31 0d 05 14 | col_idec%=1...| 00009690 06 20 cd 0d 05 15 11 20 6d 65 6e 75 5f 62 6f 78 |. ..... menu_box| 000096a0 25 3d 39 39 0d 05 16 06 20 e1 0d 05 17 04 0d 05 |%=99.... .......| 000096b0 18 19 20 dd 20 f2 74 65 78 74 5f 6f 75 74 6c 69 |.. . .text_outli| 000096c0 6e 65 5f 6d 65 6e 75 0d 05 19 06 20 f5 0d 05 1a |ne_menu.... ....| 000096d0 22 20 6d 65 6e 75 24 28 30 29 3d 22 20 20 54 65 |" menu$(0)=" Te| 000096e0 78 74 20 6f 75 74 6c 69 6e 65 20 20 20 20 22 0d |xt outline ".| 000096f0 05 1b 43 20 e7 20 74 65 78 74 5f 6f 75 74 5f 63 |..C . text_out_c| 00009700 6f 6c 25 3d 26 37 46 46 46 20 80 20 6f 75 74 6c |ol%=&7FFF . outl| 00009710 69 6e 65 5f 77 69 64 74 68 25 3e 30 20 6d 24 3d |ine_width%>0 m$=| 00009720 bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 3d 22 20 |.128+" " . m$=" | 00009730 20 22 0d 05 1c 20 20 6d 65 6e 75 24 28 31 29 3d | "... menu$(1)=| 00009740 6d 24 2b 22 57 68 69 74 65 20 6f 75 74 6c 69 6e |m$+"White outlin| 00009750 65 22 0d 05 1d 43 20 e7 20 74 65 78 74 5f 6f 75 |e"...C . text_ou| 00009760 74 5f 63 6f 6c 25 3d 26 30 33 46 46 20 80 20 6f |t_col%=&03FF . o| 00009770 75 74 6c 69 6e 65 5f 77 69 64 74 68 25 3e 30 20 |utline_width%>0 | 00009780 6d 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 |m$=.128+" " . m$| 00009790 3d 22 20 20 22 0d 05 1e 21 20 6d 65 6e 75 24 28 |=" "...! menu$(| 000097a0 32 29 3d 6d 24 2b 22 59 65 6c 6c 6f 77 20 6f 75 |2)=m$+"Yellow ou| 000097b0 74 6c 69 6e 65 22 0d 05 1f 43 20 e7 20 74 65 78 |tline"...C . tex| 000097c0 74 5f 6f 75 74 5f 63 6f 6c 25 3d 26 37 46 45 30 |t_out_col%=&7FE0| 000097d0 20 80 20 6f 75 74 6c 69 6e 65 5f 77 69 64 74 68 | . outline_width| 000097e0 25 3e 30 20 6d 24 3d bd 31 32 38 2b 22 20 22 20 |%>0 m$=.128+" " | 000097f0 8b 20 6d 24 3d 22 20 20 22 0d 05 20 1f 20 6d 65 |. m$=" ".. . me| 00009800 6e 75 24 28 33 29 3d 6d 24 2b 22 43 79 61 6e 20 |nu$(3)=m$+"Cyan | 00009810 6f 75 74 6c 69 6e 65 22 0d 05 21 43 20 e7 20 74 |outline"..!C . t| 00009820 65 78 74 5f 6f 75 74 5f 63 6f 6c 25 3d 26 30 33 |ext_out_col%=&03| 00009830 45 30 20 80 20 6f 75 74 6c 69 6e 65 5f 77 69 64 |E0 . outline_wid| 00009840 74 68 25 3e 30 20 6d 24 3d bd 31 32 38 2b 22 20 |th%>0 m$=.128+" | 00009850 22 20 8b 20 6d 24 3d 22 20 20 22 0d 05 22 20 20 |" . m$=" ".." | 00009860 6d 65 6e 75 24 28 34 29 3d 6d 24 2b 22 47 72 65 |menu$(4)=m$+"Gre| 00009870 65 6e 20 6f 75 74 6c 69 6e 65 22 0d 05 23 43 20 |en outline"..#C | 00009880 e7 20 74 65 78 74 5f 6f 75 74 5f 63 6f 6c 25 3d |. text_out_col%=| 00009890 26 37 43 31 46 20 80 20 6f 75 74 6c 69 6e 65 5f |&7C1F . outline_| 000098a0 77 69 64 74 68 25 3e 30 20 6d 24 3d bd 31 32 38 |width%>0 m$=.128| 000098b0 2b 22 20 22 20 8b 20 6d 24 3d 22 20 20 22 0d 05 |+" " . m$=" "..| 000098c0 24 22 20 6d 65 6e 75 24 28 35 29 3d 6d 24 2b 22 |$" menu$(5)=m$+"| 000098d0 4d 61 67 65 6e 74 61 20 6f 75 74 6c 69 6e 65 22 |Magenta outline"| 000098e0 0d 05 25 43 20 e7 20 74 65 78 74 5f 6f 75 74 5f |..%C . text_out_| 000098f0 63 6f 6c 25 3d 26 30 30 31 46 20 80 20 6f 75 74 |col%=&001F . out| 00009900 6c 69 6e 65 5f 77 69 64 74 68 25 3e 30 20 6d 24 |line_width%>0 m$| 00009910 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 3d 22 |=.128+" " . m$="| 00009920 20 20 22 0d 05 26 1e 20 6d 65 6e 75 24 28 36 29 | "..&. menu$(6)| 00009930 3d 6d 24 2b 22 52 65 64 20 6f 75 74 6c 69 6e 65 |=m$+"Red outline| 00009940 22 0d 05 27 43 20 e7 20 74 65 78 74 5f 6f 75 74 |"..'C . text_out| 00009950 5f 63 6f 6c 25 3d 26 37 43 30 30 20 80 20 6f 75 |_col%=&7C00 . ou| 00009960 74 6c 69 6e 65 5f 77 69 64 74 68 25 3e 30 20 6d |tline_width%>0 m| 00009970 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 3d |$=.128+" " . m$=| 00009980 22 20 20 22 0d 05 28 1f 20 6d 65 6e 75 24 28 37 |" "..(. menu$(7| 00009990 29 3d 6d 24 2b 22 42 6c 75 65 20 6f 75 74 6c 69 |)=m$+"Blue outli| 000099a0 6e 65 22 0d 05 29 43 20 e7 20 74 65 78 74 5f 6f |ne"..)C . text_o| 000099b0 75 74 5f 63 6f 6c 25 3d 26 30 30 30 30 20 80 20 |ut_col%=&0000 . | 000099c0 6f 75 74 6c 69 6e 65 5f 77 69 64 74 68 25 3e 30 |outline_width%>0| 000099d0 20 6d 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d | m$=.128+" " . m| 000099e0 24 3d 22 20 20 22 0d 05 2a 20 20 6d 65 6e 75 24 |$=" "..* menu$| 000099f0 28 38 29 3d 6d 24 2b 22 42 6c 61 63 6b 20 6f 75 |(8)=m$+"Black ou| 00009a00 74 6c 69 6e 65 22 0d 05 2b 21 20 6d 65 6e 75 24 |tline"..+! menu$| 00009a10 28 39 29 3d 22 20 20 43 6f 6c 6f 75 72 20 73 65 |(9)=" Colour se| 00009a20 6c 65 63 74 6f 72 22 0d 05 2c 23 20 6d 65 6e 75 |lector"..,# menu| 00009a30 24 28 31 30 29 3d 22 20 20 2d 2d 2d 2d 2d 2d 2d |$(10)=" -------| 00009a40 2d 2d 2d 2d 2d 2d 2d 2d 2d 22 0d 05 2d 2d 20 e7 |---------"..-- .| 00009a50 20 6f 75 74 6c 69 6e 65 5f 77 69 64 74 68 25 3d | outline_width%=| 00009a60 31 20 6d 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 |1 m$=.128+" " . | 00009a70 6d 24 3d 22 20 20 22 0d 05 2e 22 20 6d 65 6e 75 |m$=" "..." menu| 00009a80 24 28 31 31 29 3d 6d 24 2b 22 4e 61 72 72 6f 77 |$(11)=m$+"Narrow| 00009a90 20 6f 75 74 6c 69 6e 65 22 0d 05 2f 2d 20 e7 20 | outline"../- . | 00009aa0 6f 75 74 6c 69 6e 65 5f 77 69 64 74 68 25 3d 32 |outline_width%=2| 00009ab0 20 6d 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d | m$=.128+" " . m| 00009ac0 24 3d 22 20 20 22 0d 05 30 20 20 6d 65 6e 75 24 |$=" "..0 menu$| 00009ad0 28 31 32 29 3d 6d 24 2b 22 57 69 64 65 20 6f 75 |(12)=m$+"Wide ou| 00009ae0 74 6c 69 6e 65 22 0d 05 31 2d 20 e7 20 6f 75 74 |tline"..1- . out| 00009af0 6c 69 6e 65 5f 77 69 64 74 68 25 3d 33 20 6d 24 |line_width%=3 m$| 00009b00 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 3d 22 |=.128+" " . m$="| 00009b10 20 20 22 0d 05 32 22 20 6d 65 6e 75 24 28 31 33 | "..2" menu$(13| 00009b20 29 3d 6d 24 2b 22 52 65 6c 69 65 66 20 6f 75 74 |)=m$+"Relief out| 00009b30 6c 69 6e 65 22 0d 05 33 2d 20 e7 20 6f 75 74 6c |line"..3- . outl| 00009b40 69 6e 65 5f 77 69 64 74 68 25 3d 30 20 6d 24 3d |ine_width%=0 m$=| 00009b50 bd 31 32 38 2b 22 20 22 20 8b 20 6d 24 3d 22 20 |.128+" " . m$=" | 00009b60 20 22 0d 05 34 1e 20 6d 65 6e 75 24 28 31 34 29 | "..4. menu$(14)| 00009b70 3d 6d 24 2b 22 4e 6f 20 6f 75 74 6c 69 6e 65 22 |=m$+"No outline"| 00009b80 0d 05 35 21 20 6d 65 6e 75 24 28 31 35 29 3d 22 |..5! menu$(15)="| 00009b90 2a 22 3a f2 6d 65 6e 75 28 30 2c 39 30 2c 2d 31 |*":.menu(0,90,-1| 00009ba0 29 0d 05 36 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f |)..6. .. menu_bo| 00009bb0 78 25 20 ca 0d 05 37 1c 20 c9 20 31 3a 74 65 78 |x% ...7. . 1:tex| 00009bc0 74 5f 6f 75 74 5f 63 6f 6c 25 3d 26 37 46 46 46 |t_out_col%=&7FFF| 00009bd0 0d 05 38 1c 20 c9 20 32 3a 74 65 78 74 5f 6f 75 |..8. . 2:text_ou| 00009be0 74 5f 63 6f 6c 25 3d 26 30 33 46 46 0d 05 39 1c |t_col%=&03FF..9.| 00009bf0 20 c9 20 33 3a 74 65 78 74 5f 6f 75 74 5f 63 6f | . 3:text_out_co| 00009c00 6c 25 3d 26 37 46 45 30 0d 05 3a 1c 20 c9 20 34 |l%=&7FE0..:. . 4| 00009c10 3a 74 65 78 74 5f 6f 75 74 5f 63 6f 6c 25 3d 26 |:text_out_col%=&| 00009c20 30 33 45 30 0d 05 3b 1c 20 c9 20 35 3a 74 65 78 |03E0..;. . 5:tex| 00009c30 74 5f 6f 75 74 5f 63 6f 6c 25 3d 26 37 43 31 46 |t_out_col%=&7C1F| 00009c40 0d 05 3c 1c 20 c9 20 36 3a 74 65 78 74 5f 6f 75 |..<. . 6:text_ou| 00009c50 74 5f 63 6f 6c 25 3d 26 30 30 31 46 0d 05 3d 1c |t_col%=&001F..=.| 00009c60 20 c9 20 37 3a 74 65 78 74 5f 6f 75 74 5f 63 6f | . 7:text_out_co| 00009c70 6c 25 3d 26 37 43 30 30 0d 05 3e 1c 20 c9 20 38 |l%=&7C00..>. . 8| 00009c80 3a 74 65 78 74 5f 6f 75 74 5f 63 6f 6c 25 3d 26 |:text_out_col%=&| 00009c90 30 30 30 30 0d 05 3f 2b 20 c9 20 39 3a f2 72 67 |0000..?+ . 9:.rg| 00009ca0 62 5f 73 6c 69 64 65 72 73 28 30 29 3a 74 65 78 |b_sliders(0):tex| 00009cb0 74 5f 6f 75 74 5f 63 6f 6c 25 3d 52 47 42 25 0d |t_out_col%=RGB%.| 00009cc0 05 40 1a 20 c9 20 31 31 3a 6f 75 74 6c 69 6e 65 |.@. . 11:outline| 00009cd0 5f 77 69 64 74 68 25 3d 31 0d 05 41 1a 20 c9 20 |_width%=1..A. . | 00009ce0 31 32 3a 6f 75 74 6c 69 6e 65 5f 77 69 64 74 68 |12:outline_width| 00009cf0 25 3d 32 0d 05 42 1a 20 c9 20 31 33 3a 6f 75 74 |%=2..B. . 13:out| 00009d00 6c 69 6e 65 5f 77 69 64 74 68 25 3d 33 0d 05 43 |line_width%=3..C| 00009d10 1a 20 c9 20 31 34 3a 6f 75 74 6c 69 6e 65 5f 77 |. . 14:outline_w| 00009d20 69 64 74 68 25 3d 30 0d 05 44 06 20 cb 0d 05 45 |idth%=0..D. ...E| 00009d30 21 20 fd 20 6d 65 6e 75 5f 62 6f 78 25 3d 39 20 |! . menu_box%=9 | 00009d40 84 20 6d 65 6e 75 5f 62 6f 78 25 3d 39 39 0d 05 |. menu_box%=99..| 00009d50 46 06 20 e1 0d 05 47 04 0d 05 48 1d 20 dd 20 f2 |F. ...G...H. . .| 00009d60 66 6f 6e 74 5f 74 65 78 74 28 6d 61 73 6b 5f 66 |font_text(mask_f| 00009d70 6c 61 67 25 29 0d 05 49 09 20 46 25 3d 30 0d 05 |lag%)..I. F%=0..| 00009d80 4a 2b 20 f5 3a f2 66 6f 6e 74 5f 6c 69 73 74 5f |J+ .:.font_list_| 00009d90 73 65 6c 65 63 74 3a fd 20 62 6f 78 25 3c 37 38 |select:. box%<78| 00009da0 20 84 20 65 6e 64 25 3d b9 0d 05 4b 17 20 66 6f | . end%=...K. fo| 00009db0 6e 74 24 3d 63 61 74 24 28 62 6f 78 25 2d 31 29 |nt$=cat$(box%-1)| 00009dc0 0d 05 4c 12 20 e7 20 66 6f 6e 74 24 3c 3e 22 22 |..L. . font$<>""| 00009dd0 20 8c 0d 05 4d 2f 20 db 3a e6 32 35 35 2c 32 35 | ...M/ .:.255,25| 00009de0 35 2c 32 35 35 3a 86 20 30 2c 34 30 30 2c 31 32 |5,255:. 0,400,12| 00009df0 38 30 2c 34 30 30 3a 6f 76 65 72 6c 61 79 25 3d |80,400:overlay%=| 00009e00 30 0d 05 4e 38 20 ee 3a fb 32 35 35 2c 32 35 35 |0..N8 .:.255,255| 00009e10 2c 30 3a f1 20 8a 31 2c 34 30 29 22 46 6f 6e 74 |,0:. .1,40)"Font| 00009e20 20 63 68 6f 73 65 6e 20 69 73 20 20 20 20 20 20 | chosen is | 00009e30 20 3a 20 22 66 6f 6e 74 24 0d 05 4f 37 20 fb 32 | : "font$..O7 .2| 00009e40 35 35 2c 32 35 35 2c 32 35 35 3a e8 20 86 27 27 |55,255,255:. .''| 00009e50 22 20 45 6e 74 65 72 20 63 61 70 74 69 6f 6e 20 |" Enter caption | 00009e60 6c 69 6e 65 20 31 20 3a 20 22 74 65 78 74 31 24 |line 1 : "text1$| 00009e70 0d 05 50 2f 20 e7 20 74 65 78 74 31 24 3d 22 22 |..P/ . text1$=""| 00009e80 20 8c 20 74 65 78 74 31 24 3d 63 61 6c 6c 24 3a | . text1$=call$:| 00009e90 f1 20 8a 32 34 2c 34 33 29 74 65 78 74 31 24 0d |. .24,43)text1$.| 00009ea0 05 51 29 20 e8 20 86 27 22 20 45 6e 74 65 72 20 |.Q) . .'" Enter | 00009eb0 63 61 70 74 69 6f 6e 20 6c 69 6e 65 20 32 20 3a |caption line 2 :| 00009ec0 20 22 74 65 78 74 32 24 0d 05 52 25 20 e8 27 27 | "text2$..R% .''| 00009ed0 22 20 45 6e 74 65 72 20 58 20 70 6f 69 6e 74 20 |" Enter X point | 00009ee0 73 69 7a 65 20 20 20 3a 20 22 78 70 25 0d 05 53 |size : "xp%..S| 00009ef0 33 20 e7 20 78 70 25 3c 31 30 20 84 20 78 70 25 |3 . xp%<10 . xp%| 00009f00 3e 32 30 30 20 8c 20 78 70 25 3d 36 34 3a f1 20 |>200 . xp%=64:. | 00009f10 8a 32 34 2c 34 38 29 3b 78 70 25 3b 22 20 20 22 |.24,48);xp%;" "| 00009f20 0d 05 54 25 20 e8 27 27 22 20 45 6e 74 65 72 20 |..T% .''" Enter | 00009f30 59 20 70 6f 69 6e 74 20 73 69 7a 65 20 20 20 3a |Y point size :| 00009f40 20 22 79 70 25 0d 05 55 34 20 e7 20 79 70 25 3c | "yp%..U4 . yp%<| 00009f50 31 30 20 84 20 79 70 25 3e 34 30 30 20 8c 20 79 |10 . yp%>400 . y| 00009f60 70 25 3d 78 70 25 3a f1 20 8a 32 34 2c 35 31 29 |p%=xp%:. .24,51)| 00009f70 3b 79 70 25 3b 22 20 20 22 0d 05 56 15 20 e7 20 |;yp%;" "..V. . | 00009f80 ac 20 6d 61 73 6b 5f 66 6c 61 67 25 20 8c 0d 05 |. mask_flag% ...| 00009f90 57 25 20 e8 27 27 22 20 48 6f 72 69 7a 20 6f 72 |W% .''" Horiz or| 00009fa0 20 56 65 72 74 20 28 48 2f 56 29 20 20 3a 20 22 | Vert (H/V) : "| 00009fb0 68 76 24 0d 05 58 21 20 db 3a 87 3a c8 96 3a 74 |hv$..X! .:.:..:t| 00009fc0 72 61 6e 73 66 6f 72 6d 25 3d b9 3a 68 76 32 24 |ransform%=.:hv2$| 00009fd0 3d 68 76 24 0d 05 59 1a 20 e7 20 68 76 24 3d 22 |=hv$..Y. . hv$="| 00009fe0 56 22 20 84 20 68 76 24 3d 22 76 22 20 8c 0d 05 |V" . hv$="v" ...| 00009ff0 5a 33 20 f2 76 65 72 74 69 63 61 6c 5f 77 72 69 |Z3 .vertical_wri| 0000a000 74 65 28 66 6f 6e 74 24 2c 74 65 78 74 31 24 2c |te(font$,text1$,| 0000a010 31 36 2c 38 34 30 2c 78 70 25 2c 79 70 25 2c 31 |16,840,xp%,yp%,1| 0000a020 29 0d 05 5b 19 20 68 76 24 3d 22 56 22 3a 74 72 |)..[. hv$="V":tr| 0000a030 61 6e 73 66 6f 72 6d 25 3d 30 0d 05 5c 06 20 cc |ansform%=0..\. .| 0000a040 0d 05 5d 0f 20 f2 70 6c 6f 74 5f 74 65 78 74 0d |..]. .plot_text.| 0000a050 05 5e 06 20 cd 0d 05 5f 09 20 87 3a c8 96 0d 05 |.^. ..._. .:....| 0000a060 60 2e 20 f2 67 72 61 62 5f 74 65 78 74 3a e7 20 |`. .grab_text:. | 0000a070 74 72 61 6e 73 66 6f 72 6d 25 20 8c 20 f2 74 72 |transform% . .tr| 0000a080 61 6e 73 66 6f 72 6d 5f 74 65 78 74 0d 05 61 0d |ansform_text..a.| 0000a090 20 f2 64 69 73 6d 69 6e 69 0d 05 62 06 20 cd 0d | .dismini..b. ..| 0000a0a0 05 63 0b 20 cd 3a 87 3a c8 96 0d 05 64 33 20 e7 |.c. .:.:....d3 .| 0000a0b0 20 66 6f 6e 74 24 3d 22 22 20 80 20 ac 20 6d 61 | font$="" . . ma| 0000a0c0 73 6b 5f 66 6c 61 67 25 20 8c 20 f2 64 69 73 6d |sk_flag% . .dism| 0000a0d0 69 6e 69 20 8b 20 74 65 78 74 25 3d b9 0d 05 65 |ini . text%=...e| 0000a0e0 06 20 e1 0d 05 66 04 0d 05 67 11 20 dd 20 f2 70 |. ...f...g. . .p| 0000a0f0 6c 6f 74 5f 74 65 78 74 0d 05 68 12 20 e7 20 74 |lot_text..h. . t| 0000a100 65 78 74 32 24 3d 22 22 20 8c 0d 05 69 2a 20 f2 |ext2$="" ...i* .| 0000a110 77 72 69 74 65 28 66 6f 6e 74 24 2c 74 65 78 74 |write(font$,text| 0000a120 31 24 2c 31 36 2c 35 35 36 2c 78 70 25 2c 79 70 |1$,16,556,xp%,yp| 0000a130 25 2c 31 29 0d 05 6a 06 20 cc 0d 05 6b 29 20 e7 |%,1)..j. ...k) .| 0000a140 20 66 6f 6e 74 25 3c 3e 2d 31 20 c8 99 20 22 46 | font%<>-1 .. "F| 0000a150 6f 6e 74 5f 4c 6f 73 65 46 6f 6e 74 22 2c 66 6f |ont_LoseFont",fo| 0000a160 6e 74 25 0d 05 6c 34 20 c8 99 20 22 46 6f 6e 74 |nt%..l4 .. "Font| 0000a170 5f 46 69 6e 64 46 6f 6e 74 22 2c 2c 66 6f 6e 74 |_FindFont",,font| 0000a180 24 2c 78 70 25 2a 31 36 2c 79 70 25 2a 31 36 20 |$,xp%*16,yp%*16 | 0000a190 b8 20 66 6f 6e 74 25 0d 05 6d 31 20 c8 99 20 22 |. font%..m1 .. "| 0000a1a0 46 6f 6e 74 5f 43 68 61 72 42 42 6f 78 22 2c 66 |Font_CharBBox",f| 0000a1b0 6f 6e 74 25 2c 97 22 41 22 2c 31 36 20 b8 2c 2c |ont%,."A",16 .,,| 0000a1c0 2c 72 33 25 2c 72 34 25 0d 05 6e 2a 20 f2 77 72 |,r3%,r4%..n* .wr| 0000a1d0 69 74 65 28 66 6f 6e 74 24 2c 74 65 78 74 31 24 |ite(font$,text1$| 0000a1e0 2c 31 36 2c 36 35 30 2c 78 70 25 2c 79 70 25 2c |,16,650,xp%,yp%,| 0000a1f0 31 29 0d 05 6f 31 20 f2 77 72 69 74 65 28 66 6f |1)..o1 .write(fo| 0000a200 6e 74 24 2c 74 65 78 74 32 24 2c 31 36 2c 36 35 |nt$,text2$,16,65| 0000a210 30 2d 72 34 25 2d 33 32 2c 78 70 25 2c 79 70 25 |0-r4%-32,xp%,yp%| 0000a220 2c 31 29 0d 05 70 19 20 59 6d 61 78 25 3d 72 34 |,1)..p. Ymax%=r4| 0000a230 25 2b 32 34 3a 68 76 24 3d 22 56 22 0d 05 71 06 |%+24:hv$="V"..q.| 0000a240 20 cd 0d 05 72 06 20 e1 0d 05 73 04 0d 05 74 16 | ...r. ...s...t.| 0000a250 20 dd 20 f2 74 72 61 6e 73 66 6f 72 6d 5f 74 65 | . .transform_te| 0000a260 78 74 0d 05 75 49 20 6d 75 6c 3d 36 35 35 33 36 |xt..uI mul=65536| 0000a270 3a 61 3d 31 3a 62 3d 30 3a 63 3d 30 3a 64 3d 31 |:a=1:b=0:c=0:d=1| 0000a280 3a 65 3d 30 3a 66 3d 30 3a 74 72 79 25 3d 30 3a |:e=0:f=0:try%=0:| 0000a290 78 70 5f 73 74 61 72 74 25 3d 78 70 25 3a 79 70 |xp_start%=xp%:yp| 0000a2a0 5f 73 74 61 72 74 25 3d 79 70 25 0d 05 76 29 20 |_start%=yp%..v) | 0000a2b0 c8 91 20 30 2c 30 3a e6 20 30 2c 30 2c 31 33 36 |.. 0,0:. 0,0,136| 0000a2c0 3a c8 93 20 c8 90 20 30 2c 30 2c 31 32 38 30 2c |:.. .. 0,0,1280,| 0000a2d0 31 30 32 34 0d 05 77 06 20 f5 0d 05 78 30 20 e7 |1024..w. ...x0 .| 0000a2e0 20 74 72 79 25 20 c8 91 20 30 2c 30 3a e6 20 30 | try% .. 0,0:. 0| 0000a2f0 2c 30 2c 31 33 36 3a c8 93 20 c8 90 20 30 2c 30 |,0,136:.. .. 0,0| 0000a300 2c 31 32 38 30 2c 31 30 32 34 0d 05 79 1a 20 f2 |,1280,1024..y. .| 0000a310 70 6c 6f 74 5f 74 65 78 74 3a f2 67 72 61 62 5f |plot_text:.grab_| 0000a320 74 65 78 74 0d 05 7a 23 20 59 31 25 3d 31 30 34 |text..z# Y1%=104| 0000a330 30 2d 28 28 53 25 2d 73 63 72 65 65 6e 25 29 2f |0-((S%-screen%)/| 0000a340 31 32 38 30 29 2a 32 0d 05 7b 23 20 59 32 25 3d |1280)*2..{# Y2%=| 0000a350 31 30 30 30 2d 28 28 45 25 2d 73 63 72 65 65 6e |1000-((E%-screen| 0000a360 25 29 2f 31 32 38 30 29 2a 32 0d 05 7c 31 20 21 |%)/1280)*2..|1 !| 0000a370 73 70 72 25 3d 74 78 74 73 69 7a 65 25 3a 73 70 |spr%=txtsize%:sp| 0000a380 72 25 21 34 3d 30 3a 73 70 72 25 21 38 3d 31 36 |r%!4=0:spr%!8=16| 0000a390 3a 73 70 72 25 21 31 32 3d 31 36 0d 05 7d 31 20 |:spr%!12=16..}1 | 0000a3a0 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 31 |.. sprswi%,256+1| 0000a3b0 36 2c 73 70 72 25 2c 22 74 22 2c 30 2c 30 2c 59 |6,spr%,"t",0,0,Y| 0000a3c0 32 25 2c 57 25 2b 31 32 2c 59 31 25 0d 05 7e 2b |2%,W%+12,Y1%..~+| 0000a3d0 20 f5 3a c8 91 20 30 2c 30 3a e6 20 30 2c 30 2c | .:.. 0,0:. 0,0,| 0000a3e0 31 33 36 3a c8 93 20 c8 90 20 30 2c 30 2c 31 32 |136:.. .. 0,0,12| 0000a3f0 38 30 2c 31 30 32 34 0d 05 7f 25 20 e6 20 32 30 |80,1024...% . 20| 0000a400 30 2c 32 30 30 2c 32 30 30 3a c8 93 20 c8 90 20 |0,200,200:.. .. | 0000a410 30 2c 30 2c 31 32 38 30 2c 33 37 30 0d 05 80 22 |0,0,1280,370..."| 0000a420 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 6b 28 37 | .raised_block(7| 0000a430 38 34 2c 31 36 2c 34 34 38 2c 33 34 32 29 0d 05 |84,16,448,342)..| 0000a440 81 27 20 e6 20 32 35 35 2c 31 38 30 2c 31 30 30 |.' . 255,180,100| 0000a450 3a c8 93 20 c8 90 20 37 38 34 2c 33 32 30 2c 34 |:.. .. 784,320,4| 0000a460 34 34 2c 33 38 0d 05 82 3a 20 c8 99 20 73 70 72 |44,38...: .. spr| 0000a470 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 |swi%,256+52,spb%| 0000a480 2c 22 73 68 5f 6c 22 2c 31 30 32 30 2c 32 36 30 |,"sh_l",1020,260| 0000a490 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d |,8,0,translate%.| 0000a4a0 05 83 3a 20 c8 99 20 73 70 72 73 77 69 25 2c 32 |..: .. sprswi%,2| 0000a4b0 35 36 2b 35 32 2c 73 70 62 25 2c 22 73 68 5f 72 |56+52,spb%,"sh_r| 0000a4c0 22 2c 31 31 33 30 2c 32 36 30 2c 38 2c 30 2c 74 |",1130,260,8,0,t| 0000a4d0 72 61 6e 73 6c 61 74 65 25 0d 05 84 3a 20 c8 99 |ranslate%...: ..| 0000a4e0 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c | sprswi%,256+52,| 0000a4f0 73 70 62 25 2c 22 73 68 5f 75 22 2c 31 30 32 30 |spb%,"sh_u",1020| 0000a500 2c 32 30 30 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 |,200,8,0,transla| 0000a510 74 65 25 0d 05 85 3a 20 c8 99 20 73 70 72 73 77 |te%...: .. sprsw| 0000a520 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 |i%,256+52,spb%,"| 0000a530 73 68 5f 64 22 2c 31 31 33 30 2c 32 30 30 2c 38 |sh_d",1130,200,8| 0000a540 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 05 86 |,0,translate%...| 0000a550 39 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 |9 .. sprswi%,256| 0000a560 2b 35 32 2c 73 70 62 25 2c 22 75 70 32 22 2c 31 |+52,spb%,"up2",1| 0000a570 30 38 34 2c 31 35 36 2c 38 2c 30 2c 74 72 61 6e |084,156,8,0,tran| 0000a580 73 6c 61 74 65 25 0d 05 87 3a 20 c8 99 20 73 70 |slate%...: .. sp| 0000a590 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 |rswi%,256+52,spb| 0000a5a0 25 2c 22 6c 65 66 74 22 2c 31 30 34 30 2c 31 32 |%,"left",1040,12| 0000a5b0 30 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 |0,8,0,translate%| 0000a5c0 0d 05 88 3b 20 c8 99 20 73 70 72 73 77 69 25 2c |...; .. sprswi%,| 0000a5d0 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 72 69 67 |256+52,spb%,"rig| 0000a5e0 68 74 22 2c 31 31 33 30 2c 31 32 30 2c 38 2c 30 |ht",1130,120,8,0| 0000a5f0 2c 74 72 61 6e 73 6c 61 74 65 25 0d 05 89 39 20 |,translate%...9 | 0000a600 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 |.. sprswi%,256+5| 0000a610 32 2c 73 70 62 25 2c 22 64 6f 77 6e 22 2c 31 30 |2,spb%,"down",10| 0000a620 38 34 2c 38 32 2c 38 2c 30 2c 74 72 61 6e 73 6c |84,82,8,0,transl| 0000a630 61 74 65 25 0d 05 8a 39 20 c8 99 20 73 70 72 73 |ate%...9 .. sprs| 0000a640 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c |wi%,256+52,spb%,| 0000a650 22 6c 65 66 74 22 2c 38 31 30 2c 32 32 30 2c 38 |"left",810,220,8| 0000a660 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 05 8b |,0,translate%...| 0000a670 3a 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 |: .. sprswi%,256| 0000a680 2b 35 32 2c 73 70 62 25 2c 22 72 69 67 68 74 22 |+52,spb%,"right"| 0000a690 2c 39 33 30 2c 32 32 30 2c 38 2c 30 2c 74 72 61 |,930,220,8,0,tra| 0000a6a0 6e 73 6c 61 74 65 25 0d 05 8c 39 20 c8 99 20 73 |nslate%...9 .. s| 0000a6b0 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 |prswi%,256+52,sp| 0000a6c0 62 25 2c 22 6c 65 66 74 22 2c 38 31 30 2c 31 30 |b%,"left",810,10| 0000a6d0 30 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 |0,8,0,translate%| 0000a6e0 0d 05 8d 3a 20 c8 99 20 73 70 72 73 77 69 25 2c |...: .. sprswi%,| 0000a6f0 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 72 69 67 |256+52,spb%,"rig| 0000a700 68 74 22 2c 39 33 30 2c 31 30 30 2c 38 2c 30 2c |ht",930,100,8,0,| 0000a710 74 72 61 6e 73 6c 61 74 65 25 0d 05 8e 16 20 f2 |translate%.... .| 0000a720 73 68 6f 77 5f 70 6f 69 6e 74 5f 73 69 7a 65 73 |show_point_sizes| 0000a730 0d 05 8f 23 20 f2 77 72 69 74 65 32 28 22 78 2f |...# .write2("x/| 0000a740 79 20 70 6f 69 6e 74 22 2c 38 31 32 2c 32 37 32 |y point",812,272| 0000a750 2c 34 29 0d 05 90 21 20 f2 77 72 69 74 65 32 28 |,4)...! .write2(| 0000a760 22 79 20 70 6f 69 6e 74 22 2c 38 32 38 2c 31 35 |"y point",828,15| 0000a770 32 2c 34 29 0d 05 91 21 20 f2 72 61 69 73 65 64 |2,4)...! .raised| 0000a780 5f 62 6c 6f 63 6b 28 38 30 38 2c 33 32 2c 31 32 |_block(808,32,12| 0000a790 30 2c 33 32 29 0d 05 92 21 20 f2 72 61 69 73 65 |0,32)...! .raise| 0000a7a0 64 5f 62 6c 6f 63 6b 28 39 34 38 2c 33 32 2c 31 |d_block(948,32,1| 0000a7b0 32 30 2c 33 32 29 0d 05 93 22 20 f2 72 61 69 73 |20,32)..." .rais| 0000a7c0 65 64 5f 62 6c 6f 63 6b 28 31 30 38 38 2c 33 32 |ed_block(1088,32| 0000a7d0 2c 31 32 30 2c 33 32 29 0d 05 94 1d 20 f2 77 72 |,120,32).... .wr| 0000a7e0 69 74 65 32 28 22 55 4e 44 4f 22 2c 38 32 32 2c |ite2("UNDO",822,| 0000a7f0 33 32 2c 34 29 0d 05 95 1c 20 f2 77 72 69 74 65 |32,4).... .write| 0000a800 32 28 22 54 52 59 22 2c 39 37 30 2c 33 32 2c 34 |2("TRY",970,32,4| 0000a810 29 0d 05 96 1c 20 f2 77 72 69 74 65 32 28 22 4f |).... .write2("O| 0000a820 4b 22 2c 31 31 31 36 2c 33 32 2c 34 29 0d 05 97 |K",1116,32,4)...| 0000a830 34 20 f2 77 72 69 74 65 32 28 22 20 20 52 65 2d |4 .write2(" Re-| 0000a840 73 69 7a 65 20 20 20 20 20 20 20 20 54 72 61 6e |size Tran| 0000a850 73 66 6f 72 6d 22 2c 38 30 30 2c 33 32 34 2c 34 |sform",800,324,4| 0000a860 29 0d 05 98 44 20 f2 77 72 69 74 65 32 28 22 44 |)...D .write2("D| 0000a870 6f 20 6e 6f 74 20 61 6c 6c 6f 77 20 74 72 61 6e |o not allow tran| 0000a880 73 66 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 63 65 |sformation proce| 0000a890 73 73 20 74 6f 20 6d 6f 76 65 22 2c 35 30 2c 33 |ss to move",50,3| 0000a8a0 32 34 2c 34 29 0d 05 99 35 20 f2 77 72 69 74 65 |24,4)...5 .write| 0000a8b0 32 28 22 63 61 70 74 69 6f 6e 20 69 6e 74 6f 20 |2("caption into | 0000a8c0 74 68 69 73 20 67 72 65 79 20 61 72 65 61 2e 22 |this grey area."| 0000a8d0 2c 35 30 2c 32 38 34 2c 34 29 0d 05 9a 3d 20 f2 |,50,284,4)...= .| 0000a8e0 77 72 69 74 65 32 28 22 43 6c 69 63 6b 20 61 64 |write2("Click ad| 0000a8f0 6a 75 73 74 20 6f 6e 20 74 68 65 20 27 63 6f 6d |just on the 'com| 0000a900 70 61 73 73 20 70 6f 69 6e 74 73 27 22 2c 35 30 |pass points'",50| 0000a910 2c 32 32 30 2c 34 29 0d 05 9b 3d 20 f2 77 72 69 |,220,4)...= .wri| 0000a920 74 65 32 28 22 74 6f 20 72 65 2d 70 6f 73 69 74 |te2("to re-posit| 0000a930 69 6f 6e 20 63 61 70 74 69 6f 6e 20 69 66 20 6e |ion caption if n| 0000a940 65 63 65 73 73 61 72 79 2e 22 2c 35 30 2c 31 38 |ecessary.",50,18| 0000a950 30 2c 34 29 0d 05 9c 3e 20 f2 77 72 69 74 65 32 |0,4)...> .write2| 0000a960 28 22 43 6c 69 63 6b 20 4f 4b 20 6f 72 20 70 72 |("Click OK or pr| 0000a970 65 73 73 20 3c 72 65 74 75 72 6e 3e 20 74 6f 20 |ess <return> to | 0000a980 66 69 6e 69 73 68 2e 22 2c 35 30 2c 31 32 30 2c |finish.",50,120,| 0000a990 34 29 0d 05 9d 04 0d 05 9e 1d 20 e6 20 30 2c 30 |4)........ . 0,0| 0000a9a0 2c 30 3a 86 20 39 38 38 2c 38 36 2c 39 38 38 2c |,0:. 988,86,988,| 0000a9b0 32 39 34 0d 05 9f 23 20 e6 20 32 35 35 2c 32 35 |294...# . 255,25| 0000a9c0 35 2c 32 35 35 3a 86 20 39 39 32 2c 38 36 2c 39 |5,255:. 992,86,9| 0000a9d0 39 32 2c 32 39 34 0d 05 a0 19 20 c8 97 20 c8 93 |92,294.... .. ..| 0000a9e0 20 37 38 34 2c 31 36 2c 34 34 38 2c 33 33 38 0d | 784,16,448,338.| 0000a9f0 05 a1 25 20 c8 91 20 30 2c 35 30 30 3a 71 75 69 |..% .. 0,500:qui| 0000aa00 74 25 3d 30 3a 72 65 73 65 74 25 3d 30 3a 74 72 |t%=0:reset%=0:tr| 0000aa10 79 25 3d 30 0d 05 a2 06 20 f5 0d 05 a3 20 20 74 |y%=0.... .... t| 0000aa20 72 61 6e 25 21 30 3d 61 2a 6d 75 6c 3a 74 72 61 |ran%!0=a*mul:tra| 0000aa30 6e 25 21 34 3d 62 2a 6d 75 6c 0d 05 a4 21 20 74 |n%!4=b*mul...! t| 0000aa40 72 61 6e 25 21 38 3d 63 2a 6d 75 6c 3a 74 72 61 |ran%!8=c*mul:tra| 0000aa50 6e 25 21 31 32 3d 64 2a 6d 75 6c 0d 05 a5 22 20 |n%!12=d*mul..." | 0000aa60 74 72 61 6e 25 21 31 36 3d 65 2a 6d 75 6c 3a 74 |tran%!16=e*mul:t| 0000aa70 72 61 6e 25 21 32 30 3d 66 2a 6d 75 6c 0d 05 a6 |ran%!20=f*mul...| 0000aa80 31 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 |1 .. sprswi%,256| 0000aa90 2b 35 36 2c 73 70 72 25 2c 22 74 22 2c 25 30 30 |+56,spr%,"t",%00| 0000aaa0 2c 2c 38 2c 74 72 61 6e 25 3a 87 3a c8 96 0d 05 |,,8,tran%:.:....| 0000aab0 a7 24 20 f5 3a c8 97 20 58 2c 59 2c 42 3a 4b 3d |.$ .:.. X,Y,B:K=| 0000aac0 a6 28 35 29 3a fd 20 42 3c 3e 30 20 84 20 4b 3d |.(5):. B<>0 . K=| 0000aad0 31 33 0d 05 a8 15 20 70 6f 69 6e 74 5f 62 75 74 |13.... point_but| 0000aae0 74 6f 6e 24 3d 22 22 0d 05 a9 04 0d 05 aa 12 20 |ton$=""........ | 0000aaf0 e7 20 42 3d 34 20 84 20 42 3d 31 20 8c 0d 05 ab |. B=4 . B=1 ....| 0000ab00 04 0d 05 ac 34 20 e7 20 94 28 58 2d 38 33 30 29 |....4 . .(X-830)| 0000ab10 3c 32 38 20 80 20 94 28 59 2d 2d 32 36 30 29 3c |<28 . .(Y--260)<| 0000ab20 32 38 20 70 6f 69 6e 74 5f 62 75 74 74 6f 6e 24 |28 point_button$| 0000ab30 3d 22 78 6d 22 0d 05 ad 34 20 e7 20 94 28 58 2d |="xm"...4 . .(X-| 0000ab40 39 34 32 29 3c 32 38 20 80 20 94 28 59 2d 2d 32 |942)<28 . .(Y--2| 0000ab50 36 30 29 3c 32 38 20 70 6f 69 6e 74 5f 62 75 74 |60)<28 point_but| 0000ab60 74 6f 6e 24 3d 22 78 70 22 0d 05 ae 34 20 e7 20 |ton$="xp"...4 . | 0000ab70 94 28 58 2d 38 33 30 29 3c 32 38 20 80 20 94 28 |.(X-830)<28 . .(| 0000ab80 59 2d 2d 33 38 30 29 3c 32 38 20 70 6f 69 6e 74 |Y--380)<28 point| 0000ab90 5f 62 75 74 74 6f 6e 24 3d 22 79 6d 22 0d 05 af |_button$="ym"...| 0000aba0 34 20 e7 20 94 28 58 2d 39 34 32 29 3c 32 38 20 |4 . .(X-942)<28 | 0000abb0 80 20 94 28 59 2d 2d 33 38 30 29 3c 32 38 20 70 |. .(Y--380)<28 p| 0000abc0 6f 69 6e 74 5f 62 75 74 74 6f 6e 24 3d 22 79 70 |oint_button$="yp| 0000abd0 22 0d 05 b0 04 0d 05 b1 2c 20 e7 20 94 28 58 2d |"......., . .(X-| 0000abe0 38 36 38 29 3c 36 30 20 80 20 94 28 59 2d 2d 34 |868)<60 . .(Y--4| 0000abf0 35 30 29 3c 32 34 20 8c 20 72 65 73 65 74 25 3d |50)<24 . reset%=| 0000ac00 b9 0d 05 b2 2b 20 e7 20 94 28 58 2d 31 30 30 38 |....+ . .(X-1008| 0000ac10 29 3c 36 30 20 80 20 94 28 59 2d 2d 34 35 30 29 |)<60 . .(Y--450)| 0000ac20 3c 32 34 20 8c 20 74 72 79 25 3d b9 0d 05 b3 2c |<24 . try%=....,| 0000ac30 20 e7 20 94 28 58 2d 31 31 34 38 29 3c 36 30 20 | . .(X-1148)<60 | 0000ac40 80 20 94 28 59 2d 2d 34 35 30 29 3c 32 34 20 8c |. .(Y--450)<24 .| 0000ac50 20 71 75 69 74 25 3d b9 0d 05 b4 2c 20 e7 20 94 | quit%=...., . .| 0000ac60 28 58 2d 31 30 34 34 29 3c 32 38 20 80 20 94 28 |(X-1044)<28 . .(| 0000ac70 59 2d 2d 32 31 38 29 3c 32 38 20 8c 20 63 2d 3d |Y--218)<28 . c-=| 0000ac80 30 2e 30 31 0d 05 b5 2c 20 e7 20 94 28 58 2d 31 |0.01..., . .(X-1| 0000ac90 30 34 34 29 3c 32 38 20 80 20 94 28 59 2d 2d 32 |044)<28 . .(Y--2| 0000aca0 37 38 29 3c 32 38 20 8c 20 62 2b 3d 30 2e 30 31 |78)<28 . b+=0.01| 0000acb0 0d 05 b6 2c 20 e7 20 94 28 58 2d 31 31 35 36 29 |..., . .(X-1156)| 0000acc0 3c 32 38 20 80 20 94 28 59 2d 2d 32 31 38 29 3c |<28 . .(Y--218)<| 0000acd0 32 38 20 8c 20 63 2b 3d 30 2e 30 31 0d 05 b7 2c |28 . c+=0.01...,| 0000ace0 20 e7 20 94 28 58 2d 31 31 35 36 29 3c 32 38 20 | . .(X-1156)<28 | 0000acf0 80 20 94 28 59 2d 2d 32 37 38 29 3c 32 38 20 8c |. .(Y--278)<28 .| 0000ad00 20 62 2d 3d 30 2e 30 31 0d 05 b8 06 20 cd 0d 05 | b-=0.01.... ...| 0000ad10 b9 04 0d 05 ba 23 20 e7 20 70 6f 69 6e 74 5f 62 |.....# . point_b| 0000ad20 75 74 74 6f 6e 24 3c 3e 22 22 20 84 20 72 65 73 |utton$<>"" . res| 0000ad30 65 74 25 20 8c 0d 05 bb 17 20 c8 8e 20 70 6f 69 |et% ..... .. poi| 0000ad40 6e 74 5f 62 75 74 74 6f 6e 24 20 ca 0d 05 bc 22 |nt_button$ ...."| 0000ad50 20 c9 20 22 78 6d 22 3a e7 20 78 70 25 3e 31 30 | . "xm":. xp%>10| 0000ad60 20 78 70 25 2d 3d 32 3a 79 70 25 2d 3d 32 0d 05 | xp%-=2:yp%-=2..| 0000ad70 bd 23 20 c9 20 22 78 70 22 3a e7 20 78 70 25 3c |.# . "xp":. xp%<| 0000ad80 32 30 30 20 78 70 25 2b 3d 32 3a 79 70 25 2b 3d |200 xp%+=2:yp%+=| 0000ad90 32 0d 05 be 1b 20 c9 20 22 79 6d 22 3a e7 20 79 |2.... . "ym":. y| 0000ada0 70 25 3e 31 30 20 79 70 25 2d 3d 32 0d 05 bf 1c |p%>10 yp%-=2....| 0000adb0 20 c9 20 22 79 70 22 3a e7 20 79 70 25 3c 32 30 | . "yp":. yp%<20| 0000adc0 30 20 79 70 25 2b 3d 32 0d 05 c0 06 20 cb 0d 05 |0 yp%+=2.... ...| 0000add0 c1 29 20 e7 20 72 65 73 65 74 25 20 78 70 25 3d |.) . reset% xp%=| 0000ade0 78 70 5f 73 74 61 72 74 25 3a 79 70 25 3d 79 70 |xp_start%:yp%=yp| 0000adf0 5f 73 74 61 72 74 25 0d 05 c2 0b 20 c8 91 20 30 |_start%.... .. 0| 0000ae00 2c 30 0d 05 c3 22 20 e6 20 33 32 20 c8 9c 30 3a |,0..." . 32 ..0:| 0000ae10 c8 93 20 c8 90 20 30 2c 33 37 32 2c 31 32 38 30 |.. .. 0,372,1280| 0000ae20 2c 36 36 30 0d 05 c4 1a 20 f2 70 6c 6f 74 5f 74 |,660.... .plot_t| 0000ae30 65 78 74 3a f2 67 72 61 62 5f 74 65 78 74 0d 05 |ext:.grab_text..| 0000ae40 c5 23 20 59 31 25 3d 31 30 34 30 2d 28 28 53 25 |.# Y1%=1040-((S%| 0000ae50 2d 73 63 72 65 65 6e 25 29 2f 31 32 38 30 29 2a |-screen%)/1280)*| 0000ae60 32 0d 05 c6 23 20 59 32 25 3d 31 30 30 30 2d 28 |2...# Y2%=1000-(| 0000ae70 28 45 25 2d 73 63 72 65 65 6e 25 29 2f 31 32 38 |(E%-screen%)/128| 0000ae80 30 29 2a 32 0d 05 c7 31 20 21 73 70 72 25 3d 74 |0)*2...1 !spr%=t| 0000ae90 78 74 73 69 7a 65 25 3a 73 70 72 25 21 34 3d 30 |xtsize%:spr%!4=0| 0000aea0 3a 73 70 72 25 21 38 3d 31 36 3a 73 70 72 25 21 |:spr%!8=16:spr%!| 0000aeb0 31 32 3d 31 36 0d 05 c8 31 20 c8 99 20 73 70 72 |12=16...1 .. spr| 0000aec0 73 77 69 25 2c 32 35 36 2b 31 36 2c 73 70 72 25 |swi%,256+16,spr%| 0000aed0 2c 22 74 22 2c 30 2c 30 2c 59 32 25 2c 57 25 2b |,"t",0,0,Y2%,W%+| 0000aee0 31 32 2c 59 31 25 0d 05 c9 19 20 c8 93 20 c8 90 |12,Y1%.... .. ..| 0000aef0 20 30 2c 33 37 32 2c 31 32 38 30 2c 36 36 30 0d | 0,372,1280,660.| 0000af00 05 ca 16 20 f2 73 68 6f 77 5f 70 6f 69 6e 74 5f |... .show_point_| 0000af10 73 69 7a 65 73 0d 05 cb 0d 20 c8 91 20 30 2c 35 |sizes.... .. 0,5| 0000af20 30 30 0d 05 cc 06 20 cd 0d 05 cd 04 0d 05 ce 24 |00.... ........$| 0000af30 20 e7 20 94 28 58 2d 31 31 30 30 29 3c 32 30 20 | . .(X-1100)<20 | 0000af40 80 20 94 28 59 2d 2d 33 33 30 29 3c 32 30 20 8c |. .(Y--330)<20 .| 0000af50 0d 05 cf 1e 20 e7 20 42 3d 31 20 8c 20 66 2b 3d |.... . B=1 . f+=| 0000af60 30 2e 30 32 20 8b 20 64 2b 3d 30 2e 30 32 0d 05 |0.02 . d+=0.02..| 0000af70 d0 06 20 cd 0d 05 d1 24 20 e7 20 94 28 58 2d 31 |.. ....$ . .(X-1| 0000af80 31 30 30 29 3c 32 30 20 80 20 94 28 59 2d 2d 33 |100)<20 . .(Y--3| 0000af90 39 34 29 3c 32 30 20 8c 0d 05 d2 1e 20 e7 20 42 |94)<20 ..... . B| 0000afa0 3d 31 20 8c 20 66 2d 3d 30 2e 30 32 20 8b 20 64 |=1 . f-=0.02 . d| 0000afb0 2d 3d 30 2e 30 32 0d 05 d3 06 20 cd 0d 05 d4 24 |-=0.02.... ....$| 0000afc0 20 e7 20 94 28 58 2d 31 30 35 36 29 3c 32 30 20 | . .(X-1056)<20 | 0000afd0 80 20 94 28 59 2d 2d 33 36 32 29 3c 32 30 20 8c |. .(Y--362)<20 .| 0000afe0 0d 05 d5 1e 20 e7 20 42 3d 31 20 8c 20 65 2d 3d |.... . B=1 . e-=| 0000aff0 30 2e 30 32 20 8b 20 61 2d 3d 30 2e 30 32 0d 05 |0.02 . a-=0.02..| 0000b000 d6 06 20 cd 0d 05 d7 24 20 e7 20 94 28 58 2d 31 |.. ....$ . .(X-1| 0000b010 31 34 30 29 3c 32 30 20 80 20 94 28 59 2d 2d 33 |140)<20 . .(Y--3| 0000b020 36 32 29 3c 32 30 20 8c 0d 05 d8 1e 20 e7 20 42 |62)<20 ..... . B| 0000b030 3d 31 20 8c 20 65 2b 3d 30 2e 30 32 20 8b 20 61 |=1 . e+=0.02 . a| 0000b040 2b 3d 30 2e 30 32 0d 05 d9 06 20 cd 0d 05 da 04 |+=0.02.... .....| 0000b050 0d 05 db 15 20 e7 20 4b 3d 31 33 20 8c 20 71 75 |.... . K=13 . qu| 0000b060 69 74 25 3d b9 0d 05 dc 0e 20 4b 3d a6 28 31 29 |it%=..... K=.(1)| 0000b070 3a c8 96 0d 05 dd 48 20 e7 20 72 65 73 65 74 25 |:.....H . reset%| 0000b080 20 8c 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 | . .wait_no_butt| 0000b090 6f 6e 3a 6d 75 6c 3d 36 35 35 33 36 3a 61 3d 31 |on:mul=65536:a=1| 0000b0a0 3a 62 3d 30 3a 63 3d 30 3a 64 3d 31 3a 65 3d 30 |:b=0:c=0:d=1:e=0| 0000b0b0 3a 66 3d 30 3a 74 72 79 25 3d 30 0d 05 de 1c 20 |:f=0:try%=0.... | 0000b0c0 fd 20 71 75 69 74 25 20 84 20 72 65 73 65 74 25 |. quit% . reset%| 0000b0d0 20 84 20 74 72 79 25 0d 05 df 13 20 fd 20 71 75 | . try%.... . qu| 0000b0e0 69 74 25 20 84 20 74 72 79 25 0d 05 e0 24 20 e7 |it% . try%...$ .| 0000b0f0 20 62 3c 30 20 8c 20 73 68 61 64 24 3d 22 42 4c | b<0 . shad$="BL| 0000b100 22 20 8b 20 73 68 61 64 24 3d 22 42 52 22 0d 05 |" . shad$="BR"..| 0000b110 e1 0b 20 c8 91 20 30 2c 30 0d 05 e2 0f 20 f2 67 |.. .. 0,0.... .g| 0000b120 72 61 62 5f 74 65 78 74 0d 05 e3 1b 20 e7 20 74 |rab_text.... . t| 0000b130 72 79 25 20 8c 20 f2 64 69 73 70 6c 61 79 5f 74 |ry% . .display_t| 0000b140 65 78 74 0d 05 e4 1f 20 e7 20 42 3d 34 20 8c 20 |ext.... . B=4 . | 0000b150 74 72 79 25 3d 30 3a 6d 65 6e 75 5f 62 6f 78 25 |try%=0:menu_box%| 0000b160 3d 31 0d 05 e5 0d 20 fd 20 ac 20 74 72 79 25 0d |=1.... . . try%.| 0000b170 05 e6 1f 20 c8 91 20 30 2c 30 3a c8 97 20 c8 93 |... .. 0,0:.. ..| 0000b180 20 30 2c 30 2c 31 32 38 30 2c 31 30 32 34 0d 05 | 0,0,1280,1024..| 0000b190 e7 06 20 e1 0d 05 e8 04 0d 05 e9 18 20 dd 20 f2 |.. ......... . .| 0000b1a0 73 68 6f 77 5f 70 6f 69 6e 74 5f 73 69 7a 65 73 |show_point_sizes| 0000b1b0 0d 05 ea 12 20 e6 20 32 35 35 2c 32 35 35 2c 32 |.... . 255,255,2| 0000b1c0 35 35 0d 05 eb 2b 20 c8 93 20 c8 90 20 38 35 36 |55...+ .. .. 856| 0000b1d0 2c 32 31 38 2c 36 38 2c 34 30 3a c8 93 20 c8 90 |,218,68,40:.. ..| 0000b1e0 20 38 35 36 2c 39 38 2c 36 38 2c 34 30 0d 05 ec | 856,98,68,40...| 0000b1f0 18 20 78 70 24 3d c3 20 78 70 25 3a 79 70 24 3d |. xp$=. xp%:yp$=| 0000b200 c3 20 79 70 25 0d 05 ed 1a 20 e7 20 a9 20 78 70 |. yp%.... . . xp| 0000b210 24 3c 33 20 78 70 24 3d 22 20 22 2b 78 70 24 0d |$<3 xp$=" "+xp$.| 0000b220 05 ee 1a 20 e7 20 a9 20 79 70 24 3c 33 20 79 70 |... . . yp$<3 yp| 0000b230 24 3d 22 20 22 2b 79 70 24 0d 05 ef 32 20 f2 77 |$=" "+yp$...2 .w| 0000b240 72 69 74 65 32 28 78 70 24 2c 38 35 34 2c 32 32 |rite2(xp$,854,22| 0000b250 32 2c 30 29 3a f2 77 72 69 74 65 32 28 79 70 24 |2,0):.write2(yp$| 0000b260 2c 38 35 34 2c 31 30 32 2c 30 29 0d 05 f0 06 20 |,854,102,0).... | 0000b270 e1 0d 05 f1 04 0d 05 f2 13 20 dd 20 f2 67 72 65 |......... . .gre| 0000b280 79 73 63 61 6c 65 33 32 0d 05 f3 26 20 67 25 3d |yscale32...& g%=| 0000b290 30 3a e3 20 58 25 3d 30 20 b8 20 31 32 34 30 20 |0:. X%=0 . 1240 | 0000b2a0 88 34 30 3a e6 20 67 25 2c 67 25 2c 67 25 0d 05 |.40:. g%,g%,g%..| 0000b2b0 f4 1f 20 c8 93 20 c8 90 20 58 25 2c 30 2c 34 30 |.. .. .. X%,0,40| 0000b2c0 2c 31 30 32 34 3a 67 25 2b 3d 38 3a ed 0d 05 f5 |,1024:g%+=8:....| 0000b2d0 0c 20 f2 75 70 6d 69 6e 69 0d 05 f6 06 20 e1 0d |. .upmini.... ..| 0000b2e0 05 f7 04 0d 05 f8 14 20 dd 20 f2 74 6f 70 73 63 |....... . .topsc| 0000b2f0 61 6c 65 28 73 25 29 0d 05 f9 1e 20 e7 20 73 25 |ale(s%).... . s%| 0000b300 3c 3e 32 20 8c 20 f2 64 69 73 70 6c 61 79 5f 6d |<>2 . .display_m| 0000b310 65 6d 6f 72 79 0d 05 fa 1b 20 e7 20 73 25 3d 31 |emory.... . s%=1| 0000b320 20 8c 20 59 25 3d 30 20 8b 20 59 25 3d 39 36 30 | . Y%=0 . Y%=960| 0000b330 0d 05 fb 2d 20 c8 91 20 30 2c 30 3a 67 25 3d 30 |...- .. 0,0:g%=0| 0000b340 3a e3 20 58 25 3d 30 20 b8 20 31 32 30 30 20 88 |:. X%=0 . 1200 .| 0000b350 38 30 3a e6 20 67 25 2c 67 25 2c 67 25 0d 05 fc |80:. g%,g%,g%...| 0000b360 21 20 c8 93 20 c8 90 20 58 25 2c 59 25 2c 38 30 |! .. .. X%,Y%,80| 0000b370 2c 31 30 32 34 3a 67 25 2b 3d 31 36 3a ed 0d 05 |,1024:g%+=16:...| 0000b380 fd 16 20 e7 20 73 25 3c 3e 32 20 8c 20 f2 75 70 |.. . s%<>2 . .up| 0000b390 6d 69 6e 69 0d 05 fe 06 20 e1 0d 05 ff 04 0d 06 |mini.... .......| 0000b3a0 00 15 20 dd 20 f2 74 6f 70 73 63 61 6c 65 32 28 |.. . .topscale2(| 0000b3b0 73 25 29 0d 06 01 1e 20 e7 20 73 25 3c 3e 32 20 |s%).... . s%<>2 | 0000b3c0 8c 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 |. .display_memor| 0000b3d0 79 0d 06 02 23 20 e6 20 34 38 2c 34 38 2c 31 38 |y...# . 48,48,18| 0000b3e0 34 3a c8 93 20 c8 90 20 30 2c 39 38 38 2c 32 30 |4:.. .. 0,988,20| 0000b3f0 30 2c 34 34 0d 06 03 0e 20 e7 20 73 25 3c 3e 31 |0,44.... . s%<>1| 0000b400 20 8c 0d 06 04 25 20 e6 20 32 35 35 2c 32 35 35 | ....% . 255,255| 0000b410 2c 32 35 35 3a c8 93 20 c8 90 20 30 2c 39 36 30 |,255:.. .. 0,960| 0000b420 2c 32 30 30 2c 32 36 0d 06 05 20 20 e6 20 32 35 |,200,26... . 25| 0000b430 35 2c 30 2c 30 3a c8 93 20 c8 90 20 38 2c 39 36 |5,0,0:.. .. 8,96| 0000b440 34 2c 36 30 2c 31 38 0d 06 06 21 20 e6 20 30 2c |4,60,18...! . 0,| 0000b450 32 35 35 2c 30 3a c8 93 20 c8 90 20 36 38 2c 39 |255,0:.. .. 68,9| 0000b460 36 34 2c 36 32 2c 31 38 0d 06 07 22 20 e6 20 30 |64,62,18..." . 0| 0000b470 2c 30 2c 32 35 35 3a c8 93 20 c8 90 20 31 32 38 |,0,255:.. .. 128| 0000b480 2c 39 36 34 2c 36 32 2c 31 38 0d 06 08 06 20 cd |,964,62,18.... .| 0000b490 0d 06 09 1d 20 e7 20 73 25 3d 31 20 8c 20 59 25 |.... . s%=1 . Y%| 0000b4a0 3d 39 38 38 20 8b 20 59 25 3d 39 36 30 0d 06 0a |=988 . Y%=960...| 0000b4b0 32 20 c8 91 20 30 2c 30 3a 67 25 3d 30 3a e3 20 |2 .. 0,0:g%=0:. | 0000b4c0 58 3d 32 30 30 20 b8 20 31 32 31 32 2e 35 20 88 |X=200 . 1212.5 .| 0000b4d0 36 37 2e 35 3a e6 20 67 25 2c 67 25 2c 67 25 0d |67.5:. g%,g%,g%.| 0000b4e0 06 0b 1e 20 c8 93 20 c8 90 20 58 2c 59 25 2c 36 |... .. .. X,Y%,6| 0000b4f0 38 2c 36 34 3a 67 25 2b 3d 31 36 3a ed 0d 06 0c |8,64:g%+=16:....| 0000b500 16 20 e7 20 73 25 3c 3e 32 20 8c 20 f2 75 70 6d |. . s%<>2 . .upm| 0000b510 69 6e 69 0d 06 0d 06 20 e1 0d 06 0e 04 0d 06 0f |ini.... ........| 0000b520 0d 20 dd 20 f2 74 6f 6f 6c 73 0d 06 10 22 20 e6 |. . .tools..." .| 0000b530 33 2c 36 33 20 c8 9c 31 39 32 3a c8 93 20 c8 90 |3,63 ..192:.. ..| 0000b540 20 39 30 30 2c 34 2c 35 32 2c 35 30 0d 06 11 06 | 900,4,52,50....| 0000b550 20 f5 0d 06 12 25 20 6d 65 6e 75 24 28 30 29 3d | ....% menu$(0)=| 0000b560 22 20 20 54 6f 6f 6c 73 20 61 6e 64 20 75 74 69 |" Tools and uti| 0000b570 6c 69 74 69 65 73 22 0d 06 13 1c 20 6d 65 6e 75 |lities".... menu| 0000b580 24 28 32 29 3d 22 20 20 52 65 70 61 69 72 20 51 |$(2)=" Repair Q| 0000b590 52 4d 22 0d 06 14 1c 20 6d 65 6e 75 24 28 33 29 |RM".... menu$(3)| 0000b5a0 3d 22 20 20 46 6c 6f 6f 64 20 66 69 6c 6c 22 0d |=" Flood fill".| 0000b5b0 06 15 1c 20 6d 65 6e 75 24 28 34 29 3d 22 20 20 |... menu$(4)=" | 0000b5c0 50 61 69 6e 74 62 72 75 73 68 22 0d 06 16 23 20 |Paintbrush"...# | 0000b5d0 6d 65 6e 75 24 28 35 29 3d 22 20 20 50 61 69 6e |menu$(5)=" Pain| 0000b5e0 74 20 77 69 74 68 20 73 70 72 69 74 65 22 0d 06 |t with sprite"..| 0000b5f0 17 1f 20 6d 65 6e 75 24 28 36 29 3d 22 20 20 43 |.. menu$(6)=" C| 0000b600 6c 6f 6e 69 6e 67 20 62 72 75 73 68 22 0d 06 18 |loning brush"...| 0000b610 25 20 6d 65 6e 75 24 28 37 29 3d 22 20 20 47 72 |% menu$(7)=" Gr| 0000b620 61 64 20 62 6f 72 64 65 72 20 2d 20 66 75 6c 6c |ad border - full| 0000b630 3e 22 0d 06 19 24 20 6d 65 6e 75 24 28 38 29 3d |>"...$ menu$(8)=| 0000b640 22 20 20 47 72 61 64 20 62 6f 72 64 65 72 20 2d |" Grad border -| 0000b650 20 34 38 30 3e 22 0d 06 1a 25 20 6d 65 6e 75 24 | 480>"...% menu$| 0000b660 28 39 29 3d 22 20 20 50 69 70 65 20 62 6f 72 64 |(9)=" Pipe bord| 0000b670 65 72 20 2d 20 66 75 6c 6c 3e 22 0d 06 1b 25 20 |er - full>"...% | 0000b680 6d 65 6e 75 24 28 31 30 29 3d 22 20 20 50 69 70 |menu$(10)=" Pip| 0000b690 65 20 62 6f 72 64 65 72 20 2d 20 34 38 30 3e 22 |e border - 480>"| 0000b6a0 0d 06 1c 21 20 6d 65 6e 75 24 28 31 31 29 3d 22 |...! menu$(11)="| 0000b6b0 20 20 54 58 20 74 65 73 74 20 74 6f 6e 65 73 3e | TX test tones>| 0000b6c0 22 0d 06 1d 29 20 e7 20 61 75 74 6f 5f 73 61 76 |"...) . auto_sav| 0000b6d0 65 25 20 8c 20 6d 24 3d bd 31 32 38 2b 22 20 22 |e% . m$=.128+" "| 0000b6e0 20 8b 20 6d 24 3d 22 20 20 22 0d 06 1e 22 20 6d | . m$=" "..." m| 0000b6f0 65 6e 75 24 28 31 32 29 3d 6d 24 2b 22 41 75 74 |enu$(12)=m$+"Aut| 0000b700 6f 20 73 61 76 65 20 6d 6f 64 65 22 0d 06 1f 22 |o save mode"..."| 0000b710 20 e7 20 58 34 25 20 8c 20 6d 24 3d bd 31 32 38 | . X4% . m$=.128| 0000b720 2b 22 20 22 20 8b 20 6d 24 3d 22 20 20 22 0d 06 |+" " . m$=" "..| 0000b730 20 23 20 6d 65 6e 75 24 28 31 33 29 3d 6d 24 2b | # menu$(13)=m$+| 0000b740 22 54 58 20 74 6f 6e 65 20 58 34 20 6d 6f 64 65 |"TX tone X4 mode| 0000b750 22 0d 06 21 26 20 e7 20 62 79 70 61 73 73 25 20 |"..!& . bypass% | 0000b760 8c 20 6d 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 |. m$=.128+" " . | 0000b770 6d 24 3d 22 20 20 22 0d 06 22 25 20 6d 65 6e 75 |m$=" ".."% menu| 0000b780 24 28 31 34 29 3d 6d 24 2b 22 42 79 70 61 73 73 |$(14)=m$+"Bypass| 0000b790 20 73 61 76 65 20 63 68 65 63 6b 22 0d 06 23 21 | save check"..#!| 0000b7a0 20 6d 65 6e 75 24 28 31 35 29 3d 22 20 20 4f 6e | menu$(15)=" On| 0000b7b0 2d 6c 69 6e 65 20 6d 61 6e 75 61 6c 22 0d 06 24 |-line manual"..$| 0000b7c0 20 20 6d 65 6e 75 24 28 31 36 29 3d 22 20 20 52 | menu$(16)=" R| 0000b7d0 65 70 65 61 74 65 72 20 6d 6f 64 65 22 0d 06 25 |epeater mode"..%| 0000b7e0 29 20 e7 20 62 65 61 63 6f 6e 5f 6f 6e 25 20 8c |) . beacon_on% .| 0000b7f0 20 6d 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d | m$=.128+" " . m| 0000b800 24 3d 22 20 20 22 0d 06 26 23 20 6d 65 6e 75 24 |$=" "..&# menu$| 0000b810 28 31 37 29 3d 6d 24 2b 22 52 65 70 65 61 74 65 |(17)=m$+"Repeate| 0000b820 72 20 62 65 61 63 6f 6e 22 0d 06 27 26 20 e7 20 |r beacon"..'& . | 0000b830 63 61 6c 6c 24 3d 22 47 33 53 49 44 22 20 84 20 |call$="G3SID" . | 0000b840 63 61 6c 6c 24 3d 22 47 30 57 59 52 22 20 8c 0d |call$="G0WYR" ..| 0000b850 06 28 2f 20 20 e7 20 63 61 6c 6c 24 3d 22 47 33 |.(/ . call$="G3| 0000b860 53 49 44 22 20 8c 20 63 24 3d 22 47 30 57 59 52 |SID" . c$="G0WYR| 0000b870 22 20 8b 20 63 24 3d 22 47 33 53 49 44 22 0d 06 |" . c$="G3SID"..| 0000b880 29 28 20 20 20 6d 65 6e 75 24 28 31 38 29 3d 22 |)( menu$(18)="| 0000b890 20 20 53 65 74 20 63 61 6c 6c 73 69 67 6e 20 74 | Set callsign t| 0000b8a0 6f 20 22 2b 63 24 0d 06 2a 14 20 20 20 6d 65 6e |o "+c$..*. men| 0000b8b0 75 24 28 31 39 29 3d 22 2a 22 0d 06 2b 07 20 20 |u$(19)="*"..+. | 0000b8c0 cc 0d 06 2c 14 20 20 20 6d 65 6e 75 24 28 31 38 |...,. menu$(18| 0000b8d0 29 3d 22 2a 22 0d 06 2d 07 20 20 cd 0d 06 2e 14 |)="*"..-. .....| 0000b8e0 20 f2 6d 65 6e 75 28 34 39 34 2c 39 30 2c 30 29 | .menu(494,90,0)| 0000b8f0 0d 06 2f 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 |../. .. menu_box| 0000b900 25 20 ca 0d 06 30 11 20 c9 20 31 3a f2 64 69 73 |% ...0. . 1:.dis| 0000b910 6d 69 6e 69 0d 06 31 13 20 c9 20 32 3a f2 72 65 |mini..1. . 2:.re| 0000b920 70 61 69 72 51 52 4d 0d 06 32 14 20 c9 20 33 3a |pairQRM..2. . 3:| 0000b930 f2 66 6c 6f 6f 64 5f 66 69 6c 6c 0d 06 33 14 20 |.flood_fill..3. | 0000b940 c9 20 34 3a f2 70 61 69 6e 74 62 72 75 73 68 0d |. 4:.paintbrush.| 0000b950 06 34 1b 20 c9 20 35 3a f2 70 61 69 6e 74 5f 77 |.4. . 5:.paint_w| 0000b960 69 74 68 5f 73 70 72 69 74 65 0d 06 35 1b 20 c9 |ith_sprite..5. .| 0000b970 20 36 3a f2 63 6c 6f 6e 69 6e 67 5f 62 72 75 73 | 6:.cloning_brus| 0000b980 68 28 31 36 29 0d 06 36 17 20 c9 20 37 2c 38 3a |h(16)..6. . 7,8:| 0000b990 f2 62 6f 72 64 65 72 5f 6d 65 6e 75 0d 06 37 28 |.border_menu..7(| 0000b9a0 20 c9 20 39 2c 31 30 3a f2 70 69 70 65 5f 62 6f | . 9,10:.pipe_bo| 0000b9b0 72 64 65 72 5f 6d 65 6e 75 28 6d 65 6e 75 5f 62 |rder_menu(menu_b| 0000b9c0 6f 78 25 29 0d 06 38 29 20 c9 20 31 31 3a f2 74 |ox%)..8) . 11:.t| 0000b9d0 78 5f 74 65 73 74 5f 74 6f 6e 65 5f 6d 65 6e 75 |x_test_tone_menu| 0000b9e0 3a 6d 65 6e 75 5f 62 6f 78 25 3d 31 31 0d 06 39 |:menu_box%=11..9| 0000b9f0 31 20 c9 20 31 32 3a 61 75 74 6f 5f 73 61 76 65 |1 . 12:auto_save| 0000ba00 25 3d ac 28 61 75 74 6f 5f 73 61 76 65 25 29 3a |%=.(auto_save%):| 0000ba10 6d 65 6e 75 5f 72 65 64 72 61 77 25 3d b9 0d 06 |menu_redraw%=...| 0000ba20 3a 34 20 c9 20 31 33 3a 58 34 25 3d ac 28 58 34 |:4 . 13:X4%=.(X4| 0000ba30 25 29 3a f2 74 78 5f 70 61 72 61 6d 73 5f 73 65 |%):.tx_params_se| 0000ba40 74 75 70 3a 6d 65 6e 75 5f 72 65 64 72 61 77 25 |tup:menu_redraw%| 0000ba50 3d b9 0d 06 3b 2b 20 c9 20 31 34 3a 62 79 70 61 |=...;+ . 14:bypa| 0000ba60 73 73 25 3d ac 28 62 79 70 61 73 73 25 29 3a 6d |ss%=.(bypass%):m| 0000ba70 65 6e 75 5f 72 65 64 72 61 77 25 3d b9 0d 06 3c |enu_redraw%=...<| 0000ba80 19 20 c9 20 31 35 3a f2 6f 6e 5f 6c 69 6e 65 5f |. . 15:.on_line_| 0000ba90 6d 61 6e 75 61 6c 0d 06 3d 1b 20 c9 20 31 36 3a |manual..=. . 16:| 0000baa0 f2 72 65 70 65 61 74 65 72 5f 63 6f 6e 74 72 6f |.repeater_contro| 0000bab0 6c 0d 06 3e 31 20 c9 20 31 37 3a 62 65 61 63 6f |l..>1 . 17:beaco| 0000bac0 6e 5f 6f 6e 25 3d ac 28 62 65 61 63 6f 6e 5f 6f |n_on%=.(beacon_o| 0000bad0 6e 25 29 3a 6d 65 6e 75 5f 72 65 64 72 61 77 25 |n%):menu_redraw%| 0000bae0 3d b9 0d 06 3f 39 20 c9 20 31 38 3a e7 20 63 61 |=...?9 . 18:. ca| 0000baf0 6c 6c 24 3d 22 47 33 53 49 44 22 20 8c 20 63 61 |ll$="G3SID" . ca| 0000bb00 6c 6c 24 3d 22 47 30 57 59 52 22 20 8b 20 63 61 |ll$="G0WYR" . ca| 0000bb10 6c 6c 24 3d 22 47 33 53 49 44 22 0d 06 40 1e 20 |ll$="G3SID"..@. | 0000bb20 20 20 20 20 20 20 20 20 e7 20 63 61 6c 6c 24 3d | . call$=| 0000bb30 22 47 30 57 59 52 22 20 8c 0d 06 41 47 20 20 20 |"G0WYR" ...AG | 0000bb40 20 20 20 20 20 20 20 ff 28 22 4c 4f 41 44 20 3c | .("LOAD <| 0000bb50 50 73 63 61 6e 24 44 69 72 3e 2e 52 65 73 6f 75 |Pscan$Dir>.Resou| 0000bb60 72 63 65 73 2e 47 30 57 59 52 2e 50 73 63 61 6e |rces.G0WYR.Pscan| 0000bb70 54 58 20 22 2b c3 7e 74 78 5f 63 6f 64 65 25 29 |TX "+.~tx_code%)| 0000bb80 0d 06 42 0e 20 20 20 20 20 20 20 20 20 cc 0d 06 |..B. ...| 0000bb90 43 41 20 20 20 20 20 20 20 20 20 20 ff 28 22 4c |CA .("L| 0000bba0 4f 41 44 20 3c 50 73 63 61 6e 24 44 69 72 3e 2e |OAD <Pscan$Dir>.| 0000bbb0 52 65 73 6f 75 72 63 65 73 2e 50 73 63 61 6e 54 |Resources.PscanT| 0000bbc0 58 20 22 2b c3 7e 74 78 5f 63 6f 64 65 25 29 0d |X "+.~tx_code%).| 0000bbd0 06 44 0e 20 20 20 20 20 20 20 20 20 cd 0d 06 45 |.D. ...E| 0000bbe0 15 20 20 20 20 20 20 20 20 20 f2 64 69 73 6d 69 |. .dismi| 0000bbf0 6e 69 0d 06 46 06 20 cb 0d 06 47 44 20 fd 20 28 |ni..F. ...GD . (| 0000bc00 6d 65 6e 75 5f 62 6f 78 25 3c 31 31 20 84 20 6d |menu_box%<11 . m| 0000bc10 65 6e 75 5f 62 6f 78 25 3e 31 34 29 20 80 20 6d |enu_box%>14) . m| 0000bc20 65 6e 75 5f 62 6f 78 25 3c 3e 31 37 20 80 20 6d |enu_box%<>17 . m| 0000bc30 65 6e 75 5f 62 6f 78 25 3c 3e 39 39 0d 06 48 06 |enu_box%<>99..H.| 0000bc40 20 e1 0d 06 49 04 0d 06 4a 19 20 dd 20 f2 74 78 | ...I...J. . .tx| 0000bc50 5f 74 65 73 74 5f 74 6f 6e 65 5f 6d 65 6e 75 0d |_test_tone_menu.| 0000bc60 06 4b 06 20 f5 0d 06 4c 1d 20 6d 65 6e 75 24 28 |.K. ...L. menu$(| 0000bc70 30 29 3d 22 54 58 20 74 65 73 74 20 74 6f 6e 65 |0)="TX test tone| 0000bc80 73 22 0d 06 4d 37 20 4e 3d 31 3a e3 20 46 3d 31 |s"..M7 N=1:. F=1| 0000bc90 30 30 30 20 b8 20 31 37 30 30 20 88 31 30 30 3a |000 . 1700 .100:| 0000bca0 6d 65 6e 75 24 28 4e 29 3d c3 20 46 2b 22 20 48 |menu$(N)=. F+" H| 0000bcb0 7a 22 3a 4e 2b 3d 31 3a ed 0d 06 4e 17 20 6d 65 |z":N+=1:...N. me| 0000bcc0 6e 75 24 28 39 29 3d 22 31 37 35 30 20 48 7a 22 |nu$(9)="1750 Hz"| 0000bcd0 0d 06 4f 38 20 4e 3d 31 30 3a e3 20 46 3d 31 38 |..O8 N=10:. F=18| 0000bce0 30 30 20 b8 20 32 34 30 30 20 88 31 30 30 3a 6d |00 . 2400 .100:m| 0000bcf0 65 6e 75 24 28 4e 29 3d c3 20 46 2b 22 20 48 7a |enu$(N)=. F+" Hz| 0000bd00 22 3a 4e 2b 3d 31 3a ed 0d 06 50 21 20 6d 65 6e |":N+=1:...P! men| 0000bd10 75 24 28 31 37 29 3d 22 2a 22 3a f2 6d 65 6e 75 |u$(17)="*":.menu| 0000bd20 28 30 2c 39 30 2c 2d 31 29 0d 06 51 13 20 c8 8e |(0,90,-1)..Q. ..| 0000bd30 20 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d 06 52 37 | menu_box% ...R7| 0000bd40 20 c9 20 31 2c 32 2c 33 2c 34 2c 35 2c 36 2c 37 | . 1,2,3,4,5,6,7| 0000bd50 2c 38 3a f2 74 78 5f 74 65 73 74 5f 74 6f 6e 65 |,8:.tx_test_tone| 0000bd60 28 39 30 30 2b 6d 65 6e 75 5f 62 6f 78 25 2a 31 |(900+menu_box%*1| 0000bd70 30 30 29 0d 06 53 1c 20 c9 20 39 3a f2 74 78 5f |00)..S. . 9:.tx_| 0000bd80 74 65 73 74 5f 74 6f 6e 65 28 31 37 35 30 29 0d |test_tone(1750).| 0000bd90 06 54 42 20 c9 20 31 30 2c 31 31 2c 31 32 2c 31 |.TB . 10,11,12,1| 0000bda0 33 2c 31 34 2c 31 35 2c 31 36 3a f2 74 78 5f 74 |3,14,15,16:.tx_t| 0000bdb0 65 73 74 5f 74 6f 6e 65 28 31 38 30 30 2b 28 6d |est_tone(1800+(m| 0000bdc0 65 6e 75 5f 62 6f 78 25 2d 31 30 29 2a 31 30 30 |enu_box%-10)*100| 0000bdd0 29 0d 06 55 06 20 cb 0d 06 56 13 20 fd 20 6d 65 |)..U. ...V. . me| 0000bde0 6e 75 5f 62 6f 78 25 3d 39 39 0d 06 57 06 20 e1 |nu_box%=99..W. .| 0000bdf0 0d 06 58 04 0d 06 59 11 20 dd 20 f2 67 72 61 62 |..X...Y. . .grab| 0000be00 5f 6d 65 6e 75 0d 06 5a 23 20 e6 33 2c 36 33 20 |_menu..Z# .3,63 | 0000be10 c8 9c 31 39 32 3a c8 93 20 c8 90 20 31 30 32 38 |..192:.. .. 1028| 0000be20 2c 34 2c 35 32 2c 35 30 0d 06 5b 06 20 f5 0d 06 |,4,52,50..[. ...| 0000be30 5c 22 20 6d 65 6e 75 24 28 30 29 3d 22 20 20 47 |\" menu$(0)=" G| 0000be40 72 61 62 20 73 63 72 65 65 6e 20 61 72 65 61 22 |rab screen area"| 0000be50 0d 06 5d 22 20 6d 65 6e 75 24 28 32 29 3d 22 20 |..]" menu$(2)=" | 0000be60 20 47 72 61 62 20 73 63 72 65 65 6e 20 61 72 65 | Grab screen are| 0000be70 61 22 0d 06 5e 24 20 6d 65 6e 75 24 28 33 29 3d |a"..^$ menu$(3)=| 0000be80 22 20 20 47 72 61 62 20 65 6e 74 69 72 65 20 73 |" Grab entire s| 0000be90 63 72 65 65 6e 22 0d 06 5f 2b 20 e7 20 70 6c 6f |creen".._+ . plo| 0000bea0 74 5f 62 6f 72 64 65 72 25 3d 31 20 74 24 3d bd |t_border%=1 t$=.| 0000beb0 31 32 38 2b 22 20 22 20 8b 20 74 24 3d 22 20 20 |128+" " . t$=" | 0000bec0 22 0d 06 60 22 20 6d 65 6e 75 24 28 34 29 3d 74 |"..`" menu$(4)=t| 0000bed0 24 2b 22 50 6c 69 6e 74 68 20 6f 70 74 69 6f 6e |$+"Plinth option| 0000bee0 73 3e 22 0d 06 61 2b 20 e7 20 70 6c 6f 74 5f 62 |s>"..a+ . plot_b| 0000bef0 6f 72 64 65 72 25 3d 32 20 74 24 3d bd 31 32 38 |order%=2 t$=.128| 0000bf00 2b 22 20 22 20 8b 20 74 24 3d 22 20 20 22 0d 06 |+" " . t$=" "..| 0000bf10 62 22 20 6d 65 6e 75 24 28 35 29 3d 74 24 2b 22 |b" menu$(5)=t$+"| 0000bf20 42 6f 72 64 65 72 20 6f 70 74 69 6f 6e 73 3e 22 |Border options>"| 0000bf30 0d 06 63 29 20 e7 20 70 6c 6f 74 5f 73 68 61 64 |..c) . plot_shad| 0000bf40 6f 77 25 20 74 24 3d bd 31 32 38 2b 22 20 22 20 |ow% t$=.128+" " | 0000bf50 8b 20 74 24 3d 22 20 20 22 0d 06 64 22 20 6d 65 |. t$=" "..d" me| 0000bf60 6e 75 24 28 36 29 3d 74 24 2b 22 53 68 61 64 6f |nu$(6)=t$+"Shado| 0000bf70 77 20 6f 70 74 69 6f 6e 73 3e 22 0d 06 65 1e 20 |w options>"..e. | 0000bf80 6d 65 6e 75 24 28 37 29 3d 22 20 20 51 75 61 64 |menu$(7)=" Quad| 0000bf90 20 64 69 73 70 6c 61 79 22 0d 06 66 1e 20 6d 65 | display"..f. me| 0000bfa0 6e 75 24 28 38 29 3d 22 20 20 51 75 61 64 20 62 |nu$(8)=" Quad b| 0000bfb0 6f 72 64 65 72 3e 22 0d 06 67 24 20 6d 65 6e 75 |order>"..g$ menu| 0000bfc0 24 28 39 29 3d 22 20 20 50 6c 6f 74 20 65 6e 74 |$(9)=" Plot ent| 0000bfd0 69 72 65 20 73 63 72 65 65 6e 22 0d 06 68 26 20 |ire screen"..h& | 0000bfe0 6d 65 6e 75 24 28 31 30 29 3d 22 20 20 50 6c 6f |menu$(10)=" Plo| 0000bff0 74 20 61 72 65 61 20 2d 20 66 6c 69 70 70 65 64 |t area - flipped| 0000c000 22 0d 06 69 25 20 6d 65 6e 75 24 28 31 31 29 3d |"..i% menu$(11)=| 0000c010 22 20 20 50 6c 6f 74 20 61 72 65 61 20 2d 20 6e |" Plot area - n| 0000c020 6f 72 6d 61 6c 22 0d 06 6a 22 20 6d 65 6e 75 24 |ormal"..j" menu$| 0000c030 28 31 32 29 3d 22 2a 22 3a f2 6d 65 6e 75 28 34 |(12)="*":.menu(4| 0000c040 39 34 2c 39 30 2c 30 29 0d 06 6b 13 20 c8 8e 20 |94,90,0)..k. .. | 0000c050 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d 06 6c 11 20 |menu_box% ...l. | 0000c060 c9 20 31 3a f2 64 69 73 6d 69 6e 69 0d 06 6d 1b |. 1:.dismini..m.| 0000c070 20 c9 20 32 3a f2 67 72 61 62 5f 72 65 63 74 61 | . 2:.grab_recta| 0000c080 6e 67 6c 65 28 30 29 0d 06 6e 26 20 c9 20 33 3a |ngle(0)..n& . 3:| 0000c090 f2 67 72 61 62 5f 72 65 63 74 61 6e 67 6c 65 28 |.grab_rectangle(| 0000c0a0 2d 31 29 3a 65 6e 74 69 72 65 25 3d b9 0d 06 6f |-1):entire%=...o| 0000c0b0 35 20 c9 20 34 3a f2 70 6c 6f 74 5f 62 6f 72 64 |5 . 4:.plot_bord| 0000c0c0 65 72 5f 6d 65 6e 75 3a 6d 65 6e 75 5f 62 6f 78 |er_menu:menu_box| 0000c0d0 25 3d 34 3a 6d 65 6e 75 5f 72 65 64 72 61 77 25 |%=4:menu_redraw%| 0000c0e0 3d b9 0d 06 70 37 20 c9 20 35 3a f2 70 6c 6f 74 |=...p7 . 5:.plot| 0000c0f0 5f 62 6f 72 64 65 72 39 37 5f 6d 65 6e 75 3a 6d |_border97_menu:m| 0000c100 65 6e 75 5f 62 6f 78 25 3d 35 3a 6d 65 6e 75 5f |enu_box%=5:menu_| 0000c110 72 65 64 72 61 77 25 3d b9 0d 06 71 35 20 c9 20 |redraw%=...q5 . | 0000c120 36 3a f2 70 6c 6f 74 5f 73 68 61 64 6f 77 5f 6d |6:.plot_shadow_m| 0000c130 65 6e 75 3a 6d 65 6e 75 5f 62 6f 78 25 3d 36 3a |enu:menu_box%=6:| 0000c140 6d 65 6e 75 5f 72 65 64 72 61 77 25 3d b9 0d 06 |menu_redraw%=...| 0000c150 72 16 20 c9 20 37 3a f2 71 75 61 64 5f 64 69 73 |r. . 7:.quad_dis| 0000c160 70 6c 61 79 0d 06 73 1a 20 c9 20 38 3a f2 71 75 |play..s. . 8:.qu| 0000c170 61 64 5f 62 6f 72 64 65 72 5f 6d 65 6e 75 0d 06 |ad_border_menu..| 0000c180 74 06 20 cb 0d 06 75 14 20 e7 20 6d 65 6e 75 5f |t. ...u. . menu_| 0000c190 62 6f 78 25 3d 39 20 8c 0d 06 76 34 20 e7 20 65 |box%=9 ...v4 . e| 0000c1a0 6e 74 69 72 65 25 20 8c 20 f2 70 6c 6f 74 5f 67 |ntire% . .plot_g| 0000c1b0 72 61 62 62 65 64 5f 61 72 65 61 28 31 29 20 8b |rabbed_area(1) .| 0000c1c0 20 6d 65 6e 75 5f 62 6f 78 25 3d 34 0d 06 77 06 | menu_box%=4..w.| 0000c1d0 20 cd 0d 06 78 2c 20 e7 20 6d 65 6e 75 5f 62 6f | ...x, . menu_bo| 0000c1e0 78 25 3d 31 30 20 8c 20 f2 70 6c 6f 74 5f 67 72 |x%=10 . .plot_gr| 0000c1f0 61 62 62 65 64 5f 61 72 65 61 28 2d 31 29 0d 06 |abbed_area(-1)..| 0000c200 79 2b 20 e7 20 6d 65 6e 75 5f 62 6f 78 25 3d 31 |y+ . menu_box%=1| 0000c210 31 20 8c 20 f2 70 6c 6f 74 5f 67 72 61 62 62 65 |1 . .plot_grabbe| 0000c220 64 5f 61 72 65 61 28 30 29 0d 06 7a 41 20 fd 20 |d_area(0)..zA . | 0000c230 6d 65 6e 75 5f 62 6f 78 25 3c 3e 34 20 80 20 6d |menu_box%<>4 . m| 0000c240 65 6e 75 5f 62 6f 78 25 3c 3e 35 20 80 20 6d 65 |enu_box%<>5 . me| 0000c250 6e 75 5f 62 6f 78 25 3c 3e 36 20 80 20 6d 65 6e |nu_box%<>6 . men| 0000c260 75 5f 62 6f 78 25 3c 3e 39 39 0d 06 7b 1e 20 e7 |u_box%<>99..{. .| 0000c270 20 6d 65 6e 75 5f 62 6f 78 25 3d 33 20 8c 20 65 | menu_box%=3 . e| 0000c280 6e 74 69 72 65 25 3d b9 0d 06 7c 1e 20 e7 20 6d |ntire%=...|. . m| 0000c290 65 6e 75 5f 62 6f 78 25 3d 32 20 8c 20 65 6e 74 |enu_box%=2 . ent| 0000c2a0 69 72 65 25 3d 30 0d 06 7d 06 20 e1 0d 06 7e 04 |ire%=0..}. ...~.| 0000c2b0 0d 06 7f 18 20 dd 20 f2 70 6c 6f 74 5f 73 68 61 |.... . .plot_sha| 0000c2c0 64 6f 77 5f 6d 65 6e 75 0d 06 80 24 20 6d 65 6e |dow_menu...$ men| 0000c2d0 75 24 28 30 29 3d 22 50 6c 6f 74 20 73 68 61 64 |u$(0)="Plot shad| 0000c2e0 6f 77 20 6f 70 74 69 6f 6e 73 22 20 0d 06 81 22 |ow options" ..."| 0000c2f0 20 6d 65 6e 75 24 28 31 29 3d 22 52 65 61 6c 20 | menu$(1)="Real | 0000c300 73 68 61 64 6f 77 20 65 66 66 65 63 74 22 0d 06 |shadow effect"..| 0000c310 82 19 20 6d 65 6e 75 24 28 32 29 3d 22 4e 6f 20 |.. menu$(2)="No | 0000c320 73 68 61 64 6f 77 22 0d 06 83 20 20 6d 65 6e 75 |shadow"... menu| 0000c330 24 28 33 29 3d 22 2a 22 3a f2 6d 65 6e 75 28 30 |$(3)="*":.menu(0| 0000c340 2c 39 30 2c 2d 31 29 0d 06 84 23 20 e7 20 6d 65 |,90,-1)...# . me| 0000c350 6e 75 5f 62 6f 78 25 3d 31 20 8c 20 70 6c 6f 74 |nu_box%=1 . plot| 0000c360 5f 73 68 61 64 6f 77 25 3d 31 0d 06 85 23 20 e7 |_shadow%=1...# .| 0000c370 20 6d 65 6e 75 5f 62 6f 78 25 3d 32 20 8c 20 70 | menu_box%=2 . p| 0000c380 6c 6f 74 5f 73 68 61 64 6f 77 25 3d 30 0d 06 86 |lot_shadow%=0...| 0000c390 06 20 e1 0d 06 87 04 0d 06 88 1a 20 dd 20 f2 70 |. ......... . .p| 0000c3a0 6c 6f 74 5f 62 6f 72 64 65 72 39 37 5f 6d 65 6e |lot_border97_men| 0000c3b0 75 0d 06 89 20 20 6d 65 6e 75 24 28 30 29 3d 22 |u... menu$(0)="| 0000c3c0 42 6f 72 64 65 72 20 6f 70 74 69 6f 6e 73 20 20 |Border options | 0000c3d0 22 0d 06 8a 15 20 6d 65 6e 75 24 28 31 29 3d 22 |".... menu$(1)="| 0000c3e0 57 68 69 74 65 22 0d 06 8b 16 20 6d 65 6e 75 24 |White".... menu$| 0000c3f0 28 32 29 3d 22 59 65 6c 6c 6f 77 22 0d 06 8c 14 |(2)="Yellow"....| 0000c400 20 6d 65 6e 75 24 28 33 29 3d 22 43 79 61 6e 22 | menu$(3)="Cyan"| 0000c410 0d 06 8d 15 20 6d 65 6e 75 24 28 34 29 3d 22 47 |.... menu$(4)="G| 0000c420 72 65 65 6e 22 0d 06 8e 17 20 6d 65 6e 75 24 28 |reen".... menu$(| 0000c430 35 29 3d 22 4d 61 67 65 6e 74 61 22 0d 06 8f 13 |5)="Magenta"....| 0000c440 20 6d 65 6e 75 24 28 36 29 3d 22 52 65 64 22 0d | menu$(6)="Red".| 0000c450 06 90 14 20 6d 65 6e 75 24 28 37 29 3d 22 42 6c |... menu$(7)="Bl| 0000c460 75 65 22 0d 06 91 1a 20 6d 65 6e 75 24 28 38 29 |ue".... menu$(8)| 0000c470 3d 22 50 75 72 70 6c 65 2d 72 65 64 22 0d 06 92 |="Purple-red"...| 0000c480 1d 20 6d 65 6e 75 24 28 39 29 3d 22 4d 61 67 65 |. menu$(9)="Mage| 0000c490 6e 74 61 2d 67 72 65 65 6e 22 0d 06 93 1b 20 6d |nta-green".... m| 0000c4a0 65 6e 75 24 28 31 30 29 3d 22 47 72 65 65 6e 2d |enu$(10)="Green-| 0000c4b0 67 6f 6c 64 22 0d 06 94 1f 20 6d 65 6e 75 24 28 |gold".... menu$(| 0000c4c0 31 31 29 3d 22 4d 75 6c 74 69 2d 63 6f 6c 6f 75 |11)="Multi-colou| 0000c4d0 72 20 31 22 0d 06 95 1f 20 6d 65 6e 75 24 28 31 |r 1".... menu$(1| 0000c4e0 32 29 3d 22 4d 75 6c 74 69 2d 63 6f 6c 6f 75 72 |2)="Multi-colour| 0000c4f0 20 32 22 0d 06 96 1f 20 6d 65 6e 75 24 28 31 33 | 2".... menu$(13| 0000c500 29 3d 22 4d 75 6c 74 69 2d 63 6f 6c 6f 75 72 20 |)="Multi-colour | 0000c510 33 22 0d 06 97 1f 20 6d 65 6e 75 24 28 31 34 29 |3".... menu$(14)| 0000c520 3d 22 4d 75 6c 74 69 2d 63 6f 6c 6f 75 72 20 34 |="Multi-colour 4| 0000c530 22 0d 06 98 1a 20 6d 65 6e 75 24 28 31 35 29 3d |".... menu$(15)=| 0000c540 22 4e 6f 20 62 6f 72 64 65 72 22 0d 06 99 21 20 |"No border"...! | 0000c550 6d 65 6e 75 24 28 31 36 29 3d 22 2a 22 3a f2 6d |menu$(16)="*":.m| 0000c560 65 6e 75 28 30 2c 39 30 2c 2d 31 29 0d 06 9a 13 |enu(0,90,-1)....| 0000c570 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d | .. menu_box% ..| 0000c580 06 9b 3b 20 c9 20 31 3a 70 62 72 25 3d 31 32 38 |..; . 1:pbr%=128| 0000c590 3a 70 62 67 25 3d 31 32 38 3a 70 62 62 25 3d 31 |:pbg%=128:pbb%=1| 0000c5a0 32 38 3a 70 62 72 69 25 3d 38 3a 70 62 67 69 25 |28:pbri%=8:pbgi%| 0000c5b0 3d 38 3a 70 62 62 69 25 3d 38 0d 06 9c 39 20 c9 |=8:pbbi%=8...9 .| 0000c5c0 20 32 3a 70 62 72 25 3d 31 32 38 3a 70 62 67 25 | 2:pbr%=128:pbg%| 0000c5d0 3d 31 32 38 3a 70 62 62 25 3d 30 3a 70 62 72 69 |=128:pbb%=0:pbri| 0000c5e0 25 3d 38 3a 70 62 67 69 25 3d 38 3a 70 62 62 69 |%=8:pbgi%=8:pbbi| 0000c5f0 25 3d 30 0d 06 9d 39 20 c9 20 33 3a 70 62 72 25 |%=0...9 . 3:pbr%| 0000c600 3d 30 3a 70 62 67 25 3d 31 32 38 3a 70 62 62 25 |=0:pbg%=128:pbb%| 0000c610 3d 31 32 38 3a 70 62 72 69 25 3d 30 3a 70 62 67 |=128:pbri%=0:pbg| 0000c620 69 25 3d 38 3a 70 62 62 69 25 3d 38 0d 06 9e 37 |i%=8:pbbi%=8...7| 0000c630 20 c9 20 34 3a 70 62 72 25 3d 30 3a 70 62 67 25 | . 4:pbr%=0:pbg%| 0000c640 3d 31 32 38 3a 70 62 62 25 3d 30 3a 70 62 72 69 |=128:pbb%=0:pbri| 0000c650 25 3d 30 3a 70 62 67 69 25 3d 38 3a 70 62 62 69 |%=0:pbgi%=8:pbbi| 0000c660 25 3d 30 0d 06 9f 39 20 c9 20 35 3a 70 62 72 25 |%=0...9 . 5:pbr%| 0000c670 3d 31 32 38 3a 70 62 67 25 3d 30 3a 70 62 62 25 |=128:pbg%=0:pbb%| 0000c680 3d 31 32 38 3a 70 62 72 69 25 3d 38 3a 70 62 67 |=128:pbri%=8:pbg| 0000c690 69 25 3d 30 3a 70 62 62 69 25 3d 38 0d 06 a0 37 |i%=0:pbbi%=8...7| 0000c6a0 20 c9 20 36 3a 70 62 72 25 3d 31 32 38 3a 70 62 | . 6:pbr%=128:pb| 0000c6b0 67 25 3d 30 3a 70 62 62 25 3d 30 3a 70 62 72 69 |g%=0:pbb%=0:pbri| 0000c6c0 25 3d 38 3a 70 62 67 69 25 3d 30 3a 70 62 62 69 |%=8:pbgi%=0:pbbi| 0000c6d0 25 3d 30 0d 06 a1 37 20 c9 20 37 3a 70 62 72 25 |%=0...7 . 7:pbr%| 0000c6e0 3d 30 3a 70 62 67 25 3d 30 3a 70 62 62 25 3d 31 |=0:pbg%=0:pbb%=1| 0000c6f0 32 38 3a 70 62 72 69 25 3d 30 3a 70 62 67 69 25 |28:pbri%=0:pbgi%| 0000c700 3d 30 3a 70 62 62 69 25 3d 38 0d 06 a2 38 20 c9 |=0:pbbi%=8...8 .| 0000c710 20 38 3a 70 62 72 25 3d 31 32 38 3a 70 62 67 25 | 8:pbr%=128:pbg%| 0000c720 3d 30 3a 70 62 62 25 3d 36 34 3a 70 62 72 69 25 |=0:pbb%=64:pbri%| 0000c730 3d 38 3a 70 62 67 69 25 3d 30 3a 70 62 62 69 25 |=8:pbgi%=0:pbbi%| 0000c740 3d 38 0d 06 a3 39 20 c9 20 39 3a 70 62 72 25 3d |=8...9 . 9:pbr%=| 0000c750 36 34 3a 70 62 67 25 3d 31 32 38 3a 70 62 62 25 |64:pbg%=128:pbb%| 0000c760 3d 36 34 3a 70 62 72 69 25 3d 38 3a 70 62 67 69 |=64:pbri%=8:pbgi| 0000c770 25 3d 38 3a 70 62 62 69 25 3d 38 0d 06 a4 3a 20 |%=8:pbbi%=8...: | 0000c780 c9 20 31 30 3a 70 62 72 25 3d 31 32 38 3a 70 62 |. 10:pbr%=128:pb| 0000c790 67 25 3d 38 30 3a 70 62 62 25 3d 33 32 3a 70 62 |g%=80:pbb%=32:pb| 0000c7a0 72 69 25 3d 38 3a 70 62 67 69 25 3d 38 3a 70 62 |ri%=8:pbgi%=8:pb| 0000c7b0 62 69 25 3d 30 0d 06 a5 39 20 c9 20 31 31 3a 70 |bi%=0...9 . 11:p| 0000c7c0 62 72 25 3d 36 34 3a 70 62 67 25 3d 33 32 3a 70 |br%=64:pbg%=32:p| 0000c7d0 62 62 25 3d 36 34 3a 70 62 72 69 25 3d 34 3a 70 |bb%=64:pbri%=4:p| 0000c7e0 62 67 69 25 3d 34 3a 70 62 62 69 25 3d 38 0d 06 |bgi%=4:pbbi%=8..| 0000c7f0 a6 3a 20 c9 20 31 32 3a 70 62 72 25 3d 30 3a 70 |.: . 12:pbr%=0:p| 0000c800 62 67 25 3d 31 32 38 3a 70 62 62 25 3d 36 34 3a |bg%=128:pbb%=64:| 0000c810 70 62 72 69 25 3d 34 3a 70 62 67 69 25 3d 38 3a |pbri%=4:pbgi%=8:| 0000c820 70 62 62 69 25 3d 31 32 0d 06 a7 3c 20 c9 20 31 |pbbi%=12...< . 1| 0000c830 33 3a 70 62 72 25 3d 31 32 38 3a 70 62 67 25 3d |3:pbr%=128:pbg%=| 0000c840 31 32 38 3a 70 62 62 25 3d 36 34 3a 70 62 72 69 |128:pbb%=64:pbri| 0000c850 25 3d 34 3a 70 62 67 69 25 3d 38 3a 70 62 62 69 |%=4:pbgi%=8:pbbi| 0000c860 25 3d 31 32 0d 06 a8 3b 20 c9 20 31 34 3a 70 62 |%=12...; . 14:pb| 0000c870 72 25 3d 31 32 38 3a 70 62 67 25 3d 31 32 38 3a |r%=128:pbg%=128:| 0000c880 70 62 62 25 3d 36 34 3a 70 62 72 69 25 3d 34 3a |pbb%=64:pbri%=4:| 0000c890 70 62 67 69 25 3d 38 3a 70 62 62 69 25 3d 38 0d |pbgi%=8:pbbi%=8.| 0000c8a0 06 a9 18 20 c9 20 31 35 3a 70 6c 6f 74 5f 62 6f |... . 15:plot_bo| 0000c8b0 72 64 65 72 25 3d 30 0d 06 aa 06 20 cb 0d 06 ab |rder%=0.... ....| 0000c8c0 32 20 e7 20 6d 65 6e 75 5f 62 6f 78 25 3e 30 20 |2 . menu_box%>0 | 0000c8d0 80 20 6d 65 6e 75 5f 62 6f 78 25 3c 31 35 20 8c |. menu_box%<15 .| 0000c8e0 20 70 6c 6f 74 5f 62 6f 72 64 65 72 25 3d 32 0d | plot_border%=2.| 0000c8f0 06 ac 06 20 e1 0d 06 ad 04 0d 06 ae 18 20 dd 20 |... ......... . | 0000c900 f2 70 6c 6f 74 5f 62 6f 72 64 65 72 5f 6d 65 6e |.plot_border_men| 0000c910 75 0d 06 af 20 20 6d 65 6e 75 24 28 30 29 3d 22 |u... menu$(0)="| 0000c920 50 6c 69 6e 74 68 20 6f 70 74 69 6f 6e 73 20 20 |Plinth options | 0000c930 22 0d 06 b0 15 20 6d 65 6e 75 24 28 31 29 3d 22 |".... menu$(1)="| 0000c940 57 68 69 74 65 22 0d 06 b1 16 20 6d 65 6e 75 24 |White".... menu$| 0000c950 28 32 29 3d 22 59 65 6c 6c 6f 77 22 0d 06 b2 14 |(2)="Yellow"....| 0000c960 20 6d 65 6e 75 24 28 33 29 3d 22 43 79 61 6e 22 | menu$(3)="Cyan"| 0000c970 0d 06 b3 15 20 6d 65 6e 75 24 28 34 29 3d 22 47 |.... menu$(4)="G| 0000c980 72 65 65 6e 22 0d 06 b4 17 20 6d 65 6e 75 24 28 |reen".... menu$(| 0000c990 35 29 3d 22 4d 61 67 65 6e 74 61 22 0d 06 b5 13 |5)="Magenta"....| 0000c9a0 20 6d 65 6e 75 24 28 36 29 3d 22 52 65 64 22 0d | menu$(6)="Red".| 0000c9b0 06 b6 14 20 6d 65 6e 75 24 28 37 29 3d 22 42 6c |... menu$(7)="Bl| 0000c9c0 75 65 22 0d 06 b7 15 20 6d 65 6e 75 24 28 38 29 |ue".... menu$(8)| 0000c9d0 3d 22 42 6c 61 63 6b 22 0d 06 b8 1f 20 6d 65 6e |="Black".... men| 0000c9e0 75 24 28 39 29 3d 22 43 6f 6c 6f 75 72 20 73 65 |u$(9)="Colour se| 0000c9f0 6c 65 63 74 6f 72 22 0d 06 b9 1a 20 6d 65 6e 75 |lector".... menu| 0000ca00 24 28 31 30 29 3d 22 4e 6f 20 70 6c 69 6e 74 68 |$(10)="No plinth| 0000ca10 22 0d 06 ba 21 20 6d 65 6e 75 24 28 31 31 29 3d |"...! menu$(11)=| 0000ca20 22 2a 22 3a f2 6d 65 6e 75 28 30 2c 39 30 2c 2d |"*":.menu(0,90,-| 0000ca30 31 29 0d 06 bb 13 20 c8 8e 20 6d 65 6e 75 5f 62 |1).... .. menu_b| 0000ca40 6f 78 25 20 ca 0d 06 bc 23 20 c9 20 31 3a 70 62 |ox% ....# . 1:pb| 0000ca50 72 25 3d 32 35 35 3a 70 62 67 25 3d 32 35 35 3a |r%=255:pbg%=255:| 0000ca60 70 62 62 25 3d 32 35 35 0d 06 bd 21 20 c9 20 32 |pbb%=255...! . 2| 0000ca70 3a 70 62 72 25 3d 32 35 35 3a 70 62 67 25 3d 32 |:pbr%=255:pbg%=2| 0000ca80 35 35 3a 70 62 62 25 3d 30 0d 06 be 21 20 c9 20 |55:pbb%=0...! . | 0000ca90 33 3a 70 62 72 25 3d 30 3a 70 62 67 25 3d 32 35 |3:pbr%=0:pbg%=25| 0000caa0 35 3a 70 62 62 25 3d 32 35 35 0d 06 bf 1f 20 c9 |5:pbb%=255.... .| 0000cab0 20 34 3a 70 62 72 25 3d 30 3a 70 62 67 25 3d 32 | 4:pbr%=0:pbg%=2| 0000cac0 35 35 3a 70 62 62 25 3d 30 0d 06 c0 21 20 c9 20 |55:pbb%=0...! . | 0000cad0 35 3a 70 62 72 25 3d 32 35 35 3a 70 62 67 25 3d |5:pbr%=255:pbg%=| 0000cae0 30 3a 70 62 62 25 3d 32 35 35 0d 06 c1 1f 20 c9 |0:pbb%=255.... .| 0000caf0 20 36 3a 70 62 72 25 3d 32 35 35 3a 70 62 67 25 | 6:pbr%=255:pbg%| 0000cb00 3d 30 3a 70 62 62 25 3d 30 0d 06 c2 1f 20 c9 20 |=0:pbb%=0.... . | 0000cb10 37 3a 70 62 72 25 3d 30 3a 70 62 67 25 3d 30 3a |7:pbr%=0:pbg%=0:| 0000cb20 70 62 62 25 3d 32 35 35 0d 06 c3 1d 20 c9 20 38 |pbb%=255.... . 8| 0000cb30 3a 70 62 72 25 3d 30 3a 70 62 67 25 3d 30 3a 70 |:pbr%=0:pbg%=0:p| 0000cb40 62 62 25 3d 30 0d 06 c4 36 20 c9 20 39 3a f2 72 |bb%=0...6 . 9:.r| 0000cb50 67 62 5f 73 6c 69 64 65 72 73 28 30 29 3a 70 62 |gb_sliders(0):pb| 0000cb60 72 25 3d 72 65 64 25 3a 70 62 67 25 3d 67 72 6e |r%=red%:pbg%=grn| 0000cb70 25 3a 70 62 62 25 3d 62 6c 75 25 0d 06 c5 18 20 |%:pbb%=blu%.... | 0000cb80 c9 20 31 30 3a 70 6c 6f 74 5f 62 6f 72 64 65 72 |. 10:plot_border| 0000cb90 25 3d 30 0d 06 c6 06 20 cb 0d 06 c7 32 20 e7 20 |%=0.... ....2 . | 0000cba0 6d 65 6e 75 5f 62 6f 78 25 3e 30 20 80 20 6d 65 |menu_box%>0 . me| 0000cbb0 6e 75 5f 62 6f 78 25 3c 31 30 20 8c 20 70 6c 6f |nu_box%<10 . plo| 0000cbc0 74 5f 62 6f 72 64 65 72 25 3d 31 0d 06 c8 06 20 |t_border%=1.... | 0000cbd0 e1 0d 06 c9 04 0d 06 ca 12 20 dd 20 f2 70 61 69 |......... . .pai| 0000cbe0 6e 74 62 72 75 73 68 0d 06 cb 24 20 f2 64 69 73 |ntbrush...$ .dis| 0000cbf0 70 6c 61 79 5f 6d 65 6d 6f 72 79 3a f2 77 61 69 |play_memory:.wai| 0000cc00 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 06 cc 06 20 |t_no_button.... | 0000cc10 f5 0d 06 cd 16 20 f5 3a c8 97 20 58 2c 59 2c 42 |..... .:.. X,Y,B| 0000cc20 3a fd 20 42 3c 3e 30 0d 06 ce 0c 20 e7 20 59 3e |:. B<>0.... . Y>| 0000cc30 38 20 8c 0d 06 cf 33 20 e7 20 42 3d 34 20 8c 20 |8 ....3 . B=4 . | 0000cc40 e6 20 72 65 64 25 2c 67 72 6e 25 2c 62 6c 75 25 |. red%,grn%,blu%| 0000cc50 3a c8 8f 20 c8 90 20 58 2c 59 2c 62 72 75 73 68 |:.. .. X,Y,brush| 0000cc60 5f 73 69 7a 65 25 0d 06 d0 3c 20 e7 20 42 3d 32 |_size%...< . B=2| 0000cc70 20 8c 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 | . .upload_memor| 0000cc80 79 3a f2 72 67 62 5f 73 6c 69 64 65 72 73 28 2d |y:.rgb_sliders(-| 0000cc90 31 29 3a f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f |1):.display_memo| 0000cca0 72 79 0d 06 d1 0c 20 e7 20 42 3d 31 20 8c 0d 06 |ry.... . B=1 ...| 0000ccb0 d2 20 20 52 47 42 25 3d b0 58 2c 59 29 3a 72 65 |. RGB%=.X,Y):re| 0000ccc0 64 25 3d 28 52 47 42 25 80 33 31 29 2a 38 0d 06 |d%=(RGB%.31)*8..| 0000ccd0 d3 31 20 67 72 6e 25 3d 28 28 52 47 42 25 3e 3e |.1 grn%=((RGB%>>| 0000cce0 35 29 80 33 31 29 2a 38 3a 62 6c 75 25 3d 28 28 |5).31)*8:blu%=((| 0000ccf0 52 47 42 25 3e 3e 31 30 29 80 33 31 29 2a 38 0d |RGB%>>10).31)*8.| 0000cd00 06 d4 06 20 cd 0d 06 d5 06 20 cd 0d 06 d6 0a 20 |... ..... ..... | 0000cd10 fd 20 59 3c 39 0d 06 d7 1c 20 f2 75 70 6d 69 6e |. Y<9.... .upmin| 0000cd20 69 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f |i:.wait_no_butto| 0000cd30 6e 0d 06 d8 06 20 e1 0d 06 d9 04 0d 06 da 15 20 |n.... ......... | 0000cd40 dd 20 f2 74 65 73 74 5f 70 61 74 74 65 72 6e 73 |. .test_patterns| 0000cd50 0d 06 db 22 20 e6 33 2c 36 33 20 c8 9c 31 39 32 |..." .3,63 ..192| 0000cd60 3a c8 93 20 c8 90 20 37 37 32 2c 34 2c 35 32 2c |:.. .. 772,4,52,| 0000cd70 35 30 0d 06 dc 06 20 f5 0d 06 dd 1f 20 6d 65 6e |50.... ..... men| 0000cd80 75 24 28 30 29 3d 22 20 20 54 65 73 74 20 70 61 |u$(0)=" Test pa| 0000cd90 74 74 65 72 6e 73 22 0d 06 de 23 20 6d 65 6e 75 |tterns"...# menu| 0000cda0 24 28 32 29 3d 22 20 20 33 32 20 73 74 65 70 20 |$(2)=" 32 step | 0000cdb0 67 72 65 79 73 63 61 6c 65 22 0d 06 df 23 20 6d |greyscale"...# m| 0000cdc0 65 6e 75 24 28 33 29 3d 22 20 20 31 36 20 73 74 |enu$(3)=" 16 st| 0000cdd0 65 70 20 67 72 65 79 73 63 61 6c 65 22 0d 06 e0 |ep greyscale"...| 0000cde0 1b 20 6d 65 6e 75 24 28 34 29 3d 22 20 20 54 65 |. menu$(4)=" Te| 0000cdf0 73 74 20 43 61 72 64 22 0d 06 e1 1d 20 6d 65 6e |st Card".... men| 0000ce00 75 24 28 35 29 3d 22 20 20 43 6f 6c 6f 75 72 20 |u$(5)=" Colour | 0000ce10 42 61 72 73 22 0d 06 e2 28 20 6d 65 6e 75 24 28 |Bars"...( menu$(| 0000ce20 36 29 3d 22 20 20 54 4f 50 20 67 72 65 79 73 63 |6)=" TOP greysc| 0000ce30 61 6c 65 20 2d 20 74 79 70 65 20 31 22 0d 06 e3 |ale - type 1"...| 0000ce40 29 20 6d 65 6e 75 24 28 37 29 3d 22 20 20 54 4f |) menu$(7)=" TO| 0000ce50 50 20 67 72 65 79 73 63 61 6c 65 20 2d 20 74 79 |P greyscale - ty| 0000ce60 70 65 20 32 20 22 0d 06 e4 27 20 6d 65 6e 75 24 |pe 2 "...' menu$| 0000ce70 28 38 29 3d 22 20 20 54 4f 50 20 67 72 65 79 73 |(8)=" TOP greys| 0000ce80 63 61 6c 65 20 2d 20 73 68 6f 72 74 22 0d 06 e5 |cale - short"...| 0000ce90 29 20 e7 20 68 65 61 64 65 72 5f 74 65 78 74 25 |) . header_text%| 0000cea0 20 6d 24 3d bd 31 32 38 2b 22 20 22 20 8b 20 6d | m$=.128+" " . m| 0000ceb0 24 3d 22 20 20 22 0d 06 e6 25 20 6d 65 6e 75 24 |$=" "...% menu$| 0000cec0 28 39 29 3d 6d 24 2b 22 48 65 61 64 65 72 20 74 |(9)=m$+"Header t| 0000ced0 65 78 74 20 6f 6e 2f 6f 66 66 22 0d 06 e7 26 20 |ext on/off"...& | 0000cee0 6d 65 6e 75 24 28 31 30 29 3d 22 20 20 48 61 6d |menu$(10)=" Ham| 0000cef0 63 6f 6c 6f 72 20 46 41 58 20 68 65 61 64 65 72 |color FAX header| 0000cf00 22 0d 06 e8 28 20 6d 65 6e 75 24 28 31 31 29 3d |"...( menu$(11)=| 0000cf10 22 20 20 4d 6f 6e 6f 63 68 72 6f 6d 65 20 46 41 |" Monochrome FA| 0000cf20 58 20 68 65 61 64 65 72 22 0d 06 e9 20 20 6d 65 |X header"... me| 0000cf30 6e 75 24 28 31 32 29 3d 22 20 20 43 68 65 71 75 |nu$(12)=" Chequ| 0000cf40 65 72 20 62 6f 61 72 64 22 0d 06 ea 1d 20 6d 65 |er board".... me| 0000cf50 6e 75 24 28 31 33 29 3d 22 20 20 53 74 61 72 20 |nu$(13)=" Star | 0000cf60 66 69 65 6c 64 22 0d 06 eb 21 20 6d 65 6e 75 24 |field"...! menu$| 0000cf70 28 31 34 29 3d 22 20 20 4f 70 65 6e 69 6e 67 20 |(14)=" Opening | 0000cf80 73 63 72 65 65 6e 22 0d 06 ec 27 20 6d 65 6e 75 |screen"...' menu| 0000cf90 24 28 31 35 29 3d 22 20 20 52 65 70 65 61 74 65 |$(15)=" Repeate| 0000cfa0 72 20 62 65 61 63 6f 6e 20 70 61 67 65 22 0d 06 |r beacon page"..| 0000cfb0 ed 22 20 6d 65 6e 75 24 28 31 36 29 3d 22 2a 22 |." menu$(16)="*"| 0000cfc0 3a f2 6d 65 6e 75 28 34 39 34 2c 39 30 2c 30 29 |:.menu(494,90,0)| 0000cfd0 0d 06 ee 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 |.... .. menu_box| 0000cfe0 25 20 ca 0d 06 ef 11 20 c9 20 31 3a f2 64 69 73 |% ..... . 1:.dis| 0000cff0 6d 69 6e 69 0d 06 f0 15 20 c9 20 32 3a f2 67 72 |mini.... . 2:.gr| 0000d000 65 79 73 63 61 6c 65 33 32 0d 06 f1 15 20 c9 20 |eyscale32.... . | 0000d010 33 3a f2 74 6f 70 73 63 61 6c 65 28 31 29 0d 06 |3:.topscale(1)..| 0000d020 f2 13 20 c9 20 34 3a f2 74 65 73 74 5f 63 61 72 |.. . 4:.test_car| 0000d030 64 0d 06 f3 15 20 c9 20 35 3a f2 63 6f 6c 6f 75 |d.... . 5:.colou| 0000d040 72 5f 62 61 72 73 0d 06 f4 15 20 c9 20 36 3a f2 |r_bars.... . 6:.| 0000d050 74 6f 70 73 63 61 6c 65 28 30 29 0d 06 f5 16 20 |topscale(0).... | 0000d060 c9 20 37 3a f2 74 6f 70 73 63 61 6c 65 32 28 30 |. 7:.topscale2(0| 0000d070 29 0d 06 f6 16 20 c9 20 38 3a f2 74 6f 70 73 63 |).... . 8:.topsc| 0000d080 61 6c 65 32 28 31 29 0d 06 f7 34 20 c9 20 39 3a |ale2(1)...4 . 9:| 0000d090 68 65 61 64 65 72 5f 74 65 78 74 25 3d ac 28 68 |header_text%=.(h| 0000d0a0 65 61 64 65 72 5f 74 65 78 74 25 29 3a 6d 65 6e |eader_text%):men| 0000d0b0 75 5f 72 65 64 72 61 77 25 3d b9 0d 06 f8 18 20 |u_redraw%=..... | 0000d0c0 c9 20 31 30 3a f2 66 61 78 5f 68 65 61 64 65 72 |. 10:.fax_header| 0000d0d0 28 30 29 0d 06 f9 19 20 c9 20 31 31 3a f2 66 61 |(0).... . 11:.fa| 0000d0e0 78 5f 68 65 61 64 65 72 28 2d 31 29 0d 06 fa 12 |x_header(-1)....| 0000d0f0 20 c9 20 31 32 3a f2 63 68 65 71 75 65 72 0d 06 | . 12:.chequer..| 0000d100 fb 1d 20 c9 20 31 33 3a f2 73 74 61 72 5f 66 69 |.. . 13:.star_fi| 0000d110 65 6c 64 3a f2 75 70 6d 69 6e 69 0d 06 fc 1a 20 |eld:.upmini.... | 0000d120 c9 20 31 34 3a f2 73 70 6c 61 73 68 32 3a f2 75 |. 14:.splash2:.u| 0000d130 70 6d 69 6e 69 0d 06 fd 1f 20 c9 20 31 35 3a f2 |pmini.... . 15:.| 0000d140 72 65 70 65 61 74 65 72 5f 62 65 61 63 6f 6e 5f |repeater_beacon_| 0000d150 74 65 78 74 0d 06 fe 06 20 cb 0d 06 ff 13 20 fd |text.... ..... .| 0000d160 20 6d 65 6e 75 5f 62 6f 78 25 3c 3e 39 0d 07 00 | menu_box%<>9...| 0000d170 06 20 e1 0d 07 01 04 0d 07 02 13 20 dd 20 f2 63 |. ......... . .c| 0000d180 6f 6c 6f 75 72 5f 62 61 72 73 0d 07 03 09 20 f7 |olour_bars.... .| 0000d190 20 2b 30 0d 07 04 22 20 e3 20 58 25 3d 30 20 b8 | +0..." . X%=0 .| 0000d1a0 20 31 31 32 30 20 88 31 36 30 3a f3 20 72 25 2c | 1120 .160:. r%,| 0000d1b0 67 25 2c 62 25 0d 07 05 25 20 e6 20 72 25 2c 67 |g%,b%...% . r%,g| 0000d1c0 25 2c 62 25 3a c8 93 20 c8 90 20 58 25 2c 30 2c |%,b%:.. .. X%,0,| 0000d1d0 31 36 30 2c 31 30 32 34 3a ed 0d 07 06 38 20 dc |160,1024:....8 .| 0000d1e0 20 32 35 35 2c 32 35 35 2c 32 35 35 2c 32 35 35 | 255,255,255,255| 0000d1f0 2c 32 35 35 2c 30 2c 30 2c 32 35 35 2c 32 35 35 |,255,0,0,255,255| 0000d200 2c 30 2c 32 35 35 2c 30 2c 32 35 35 2c 30 2c 32 |,0,255,0,255,0,2| 0000d210 35 35 0d 07 07 1c 20 dc 20 32 35 35 2c 30 2c 30 |55.... . 255,0,0| 0000d220 2c 30 2c 30 2c 32 35 35 2c 30 2c 30 2c 30 0d 07 |,0,0,255,0,0,0..| 0000d230 08 0c 20 f2 75 70 6d 69 6e 69 0d 07 09 06 20 e1 |.. .upmini.... .| 0000d240 0d 07 0a 04 0d 07 0b 0f 20 dd 20 f2 63 68 65 71 |........ . .cheq| 0000d250 75 65 72 0d 07 0c 20 20 e6 20 30 2c 30 2c 30 3a |uer... . 0,0,0:| 0000d260 c8 93 20 c8 90 20 30 2c 30 2c 31 32 38 30 2c 31 |.. .. 0,0,1280,1| 0000d270 30 32 34 0d 07 0d 12 20 e6 20 32 35 35 2c 32 35 |024.... . 255,25| 0000d280 35 2c 32 35 35 0d 07 0e 17 20 e3 20 58 25 3d 30 |5,255.... . X%=0| 0000d290 20 b8 20 31 32 38 30 20 88 33 32 30 0d 07 0f 1a | . 1280 .320....| 0000d2a0 20 c8 93 20 c8 90 20 58 25 2c 30 2c 31 36 30 2c | .. .. X%,0,160,| 0000d2b0 31 30 32 34 3a ed 0d 07 10 14 20 e6 20 33 2c 32 |1024:..... . 3,2| 0000d2c0 35 35 2c 32 35 35 2c 32 35 35 0d 07 11 17 20 e3 |55,255,255.... .| 0000d2d0 20 59 25 3d 30 20 b8 20 31 30 32 34 20 88 33 32 | Y%=0 . 1024 .32| 0000d2e0 30 0d 07 12 18 20 c8 93 20 c8 90 20 30 2c 59 25 |0.... .. .. 0,Y%| 0000d2f0 2c 31 32 38 30 2c 31 36 30 0d 07 13 23 20 ed 3a |,1280,160...# .:| 0000d300 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 3a f2 |.upload_memory:.| 0000d310 74 6f 70 73 63 61 6c 65 32 28 30 29 0d 07 14 06 |topscale2(0)....| 0000d320 20 e1 0d 07 15 04 0d 07 16 0e 20 dd 20 f2 75 70 | ......... . .up| 0000d330 6d 69 6e 69 0d 07 17 1d 20 f2 75 70 6c 6f 61 64 |mini.... .upload| 0000d340 5f 6d 65 6d 6f 72 79 3a f2 6d 69 6e 69 5f 70 61 |_memory:.mini_pa| 0000d350 64 0d 07 18 06 20 e1 0d 07 19 04 0d 07 1a 0f 20 |d.... ......... | 0000d360 dd 20 f2 64 69 73 6d 69 6e 69 0d 07 1b 1e 20 f2 |. .dismini.... .| 0000d370 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 3a f2 |display_memory:.| 0000d380 6d 69 6e 69 5f 70 61 64 0d 07 1c 06 20 e1 0d 07 |mini_pad.... ...| 0000d390 1d 04 0d 07 1e 14 20 dd 20 f2 6d 6f 75 73 65 5f |...... . .mouse_| 0000d3a0 63 72 6f 73 73 31 0d 07 1f 2a 20 6d 6f 75 73 65 |cross1...* mouse| 0000d3b0 31 25 3f 26 30 31 3d 32 3a 6d 6f 75 73 65 31 25 |1%?&01=2:mouse1%| 0000d3c0 21 26 30 36 3d 6d 6f 75 73 65 31 25 2b 26 30 41 |!&06=mouse1%+&0A| 0000d3d0 0d 07 20 1d 20 c8 99 20 22 4f 53 5f 57 6f 72 64 |.. . .. "OS_Word| 0000d3e0 22 2c 26 31 35 2c 6d 6f 75 73 65 31 25 0d 07 21 |",&15,mouse1%..!| 0000d3f0 06 20 e1 0d 07 22 14 20 dd 20 f2 6d 6f 75 73 65 |. ...". . .mouse| 0000d400 5f 63 72 6f 73 73 32 0d 07 23 2a 20 6d 6f 75 73 |_cross2..#* mous| 0000d410 65 32 25 3f 26 30 31 3d 32 3a 6d 6f 75 73 65 32 |e2%?&01=2:mouse2| 0000d420 25 21 26 30 36 3d 6d 6f 75 73 65 32 25 2b 26 30 |%!&06=mouse2%+&0| 0000d430 41 0d 07 24 1d 20 c8 99 20 22 4f 53 5f 57 6f 72 |A..$. .. "OS_Wor| 0000d440 64 22 2c 26 31 35 2c 6d 6f 75 73 65 32 25 0d 07 |d",&15,mouse2%..| 0000d450 25 06 20 e1 0d 07 26 0e 20 dd 20 f2 6d 6f 75 73 |%. ...&. . .mous| 0000d460 65 33 0d 07 27 2a 20 6d 6f 75 73 65 33 25 3f 26 |e3..'* mouse3%?&| 0000d470 30 31 3d 32 3a 6d 6f 75 73 65 33 25 21 26 30 36 |01=2:mouse3%!&06| 0000d480 3d 6d 6f 75 73 65 33 25 2b 26 30 41 0d 07 28 1d |=mouse3%+&0A..(.| 0000d490 20 c8 99 20 22 4f 53 5f 57 6f 72 64 22 2c 26 31 | .. "OS_Word",&1| 0000d4a0 35 2c 6d 6f 75 73 65 33 25 0d 07 29 2d 20 c8 97 |5,mouse3%..)- ..| 0000d4b0 20 ee 20 32 3a c8 97 20 fb 20 31 2c 30 2c 32 35 | . 2:.. . 1,0,25| 0000d4c0 35 2c 32 35 35 3a c8 97 20 fb 20 33 2c 34 38 2c |5,255:.. . 3,48,| 0000d4d0 34 38 2c 31 38 34 0d 07 2a 06 20 e1 0d 07 2b 04 |48,184..*. ...+.| 0000d4e0 0d 07 2c 11 20 dd 20 f2 72 65 70 61 69 72 51 52 |..,. . .repairQR| 0000d4f0 4d 0d 07 2d 1a 20 e7 20 ac 28 a4 68 69 67 68 5f |M..-. . .(.high_| 0000d500 72 65 73 5f 6d 6f 64 65 29 20 8c 0d 07 2e 17 20 |res_mode) ..... | 0000d510 48 25 3d 32 3a f2 6d 6f 75 73 65 5f 63 72 6f 73 |H%=2:.mouse_cros| 0000d520 73 32 0d 07 2f 06 20 cc 0d 07 30 17 20 48 25 3d |s2../. ...0. H%=| 0000d530 31 3a f2 6d 6f 75 73 65 5f 63 72 6f 73 73 31 0d |1:.mouse_cross1.| 0000d540 07 31 06 20 cd 0d 07 32 26 20 c8 97 20 ee 20 32 |.1. ...2& .. . 2| 0000d550 3a 4d 43 25 3d 32 35 35 3a c8 97 20 fb 20 31 2c |:MC%=255:.. . 1,| 0000d560 4d 43 25 2c 4d 43 25 2c 4d 43 25 0d 07 33 2a 20 |MC%,MC%,MC%..3* | 0000d570 c8 99 20 22 4f 53 5f 42 79 74 65 22 2c 31 36 31 |.. "OS_Byte",161| 0000d580 2c 31 39 34 20 b8 2c 2c 73 74 65 70 25 3a c8 97 |,194 .,,step%:..| 0000d590 20 88 20 48 25 0d 07 34 26 20 f2 64 69 73 70 6c | . H%..4& .displ| 0000d5a0 61 79 5f 6d 65 6d 6f 72 79 3a f5 3a f2 77 61 69 |ay_memory:.:.wai| 0000d5b0 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 07 35 16 20 |t_no_button..5. | 0000d5c0 f5 3a c8 97 20 58 2c 59 2c 42 3a fd 20 42 3c 3e |.:.. X,Y,B:. B<>| 0000d5d0 30 0d 07 36 0d 20 e7 20 48 25 3d 32 20 8c 0d 07 |0..6. . H%=2 ...| 0000d5e0 37 1c 20 58 3d 28 58 20 81 20 34 29 2a 34 3a 59 |7. X=(X . 4)*4:Y| 0000d5f0 3d 28 59 20 81 20 34 29 2a 34 0d 07 38 06 20 cc |=(Y . 4)*4..8. .| 0000d600 0d 07 39 1c 20 58 3d 28 58 20 81 20 32 29 2a 32 |..9. X=(X . 2)*2| 0000d610 3a 59 3d 28 59 20 81 20 32 29 2a 32 0d 07 3a 06 |:Y=(Y . 2)*2..:.| 0000d620 20 cd 0d 07 3b 21 20 f2 77 61 69 74 5f 6e 6f 5f | ...;! .wait_no_| 0000d630 62 75 74 74 6f 6e 3a e6 20 33 2c 36 33 20 c8 9c |button:. 3,63 ..| 0000d640 31 39 32 0d 07 3c 2d 20 e7 20 42 3d 32 20 8c 20 |192..<- . B=2 . | 0000d650 4d 43 25 3d 4d 43 25 20 82 20 32 35 35 3a c8 97 |MC%=MC% . 255:..| 0000d660 20 fb 20 31 2c 4d 43 25 2c 4d 43 25 2c 4d 43 25 | . 1,MC%,MC%,MC%| 0000d670 0d 07 3d 0c 20 e7 20 42 3d 34 20 8c 0d 07 3e 20 |..=. . B=4 ...> | 0000d680 20 53 58 25 3d 58 3a 53 59 25 3d 59 3a 86 20 53 | SX%=X:SY%=Y:. S| 0000d690 58 25 2c 53 59 25 2c 58 2c 53 59 25 0d 07 3f 21 |X%,SY%,X,SY%..?!| 0000d6a0 20 e7 20 48 25 3d 32 20 8c 20 86 20 53 58 25 2c | . H%=2 . . SX%,| 0000d6b0 53 59 25 2b 32 2c 58 2c 53 59 25 2b 32 0d 07 40 |SY%+2,X,SY%+2..@| 0000d6c0 06 20 f5 0d 07 41 10 20 f5 3a c8 97 20 58 31 2c |. ...A. .:.. X1,| 0000d6d0 59 2c 42 0d 07 42 0d 20 e7 20 48 25 3d 32 20 8c |Y,B..B. . H%=2 .| 0000d6e0 0d 07 43 1e 20 58 31 3d 28 58 31 20 81 20 34 29 |..C. X1=(X1 . 4)| 0000d6f0 2a 34 3a 59 3d 28 59 20 81 20 34 29 2a 34 0d 07 |*4:Y=(Y . 4)*4..| 0000d700 44 06 20 cc 0d 07 45 1e 20 58 31 3d 28 58 31 20 |D. ...E. X1=(X1 | 0000d710 81 20 32 29 2a 32 3a 59 3d 28 59 20 81 20 32 29 |. 2)*2:Y=(Y . 2)| 0000d720 2a 32 0d 07 46 06 20 cd 0d 07 47 13 20 fd 20 58 |*2..F. ...G. . X| 0000d730 31 3c 3e 58 20 84 20 42 3c 3e 30 0d 07 48 25 20 |1<>X . B<>0..H% | 0000d740 86 20 53 58 25 2c 53 59 25 2c 58 2c 53 59 25 3a |. SX%,SY%,X,SY%:| 0000d750 86 20 53 58 25 2c 53 59 25 2c 58 31 2c 53 59 25 |. SX%,SY%,X1,SY%| 0000d760 0d 07 49 36 20 e7 20 48 25 3d 32 20 8c 20 86 20 |..I6 . H%=2 . . | 0000d770 53 58 25 2c 53 59 25 2b 32 2c 58 2c 53 59 25 2b |SX%,SY%+2,X,SY%+| 0000d780 32 3a 86 20 53 58 25 2c 53 59 25 2b 32 2c 58 31 |2:. SX%,SY%+2,X1| 0000d790 2c 53 59 25 2b 32 0d 07 4a 10 20 58 3d 58 31 3a |,SY%+2..J. X=X1:| 0000d7a0 fd 20 42 3c 3e 30 0d 07 4b 15 20 86 20 53 58 25 |. B<>0..K. . SX%| 0000d7b0 2c 53 59 25 2c 58 31 2c 53 59 25 0d 07 4c 22 20 |,SY%,X1,SY%..L" | 0000d7c0 e7 20 48 25 3d 32 20 8c 20 86 20 53 58 25 2c 53 |. H%=2 . . SX%,S| 0000d7d0 59 25 2b 32 2c 58 31 2c 53 59 25 2b 32 0d 07 4d |Y%+2,X1,SY%+2..M| 0000d7e0 15 20 e7 20 42 3d 34 20 80 20 58 31 3e 53 58 25 |. . B=4 . X1>SX%| 0000d7f0 20 8c 0d 07 4e 22 20 e7 20 48 25 3d 32 20 80 20 | ...N" . H%=2 . | 0000d800 59 3c 3d 53 59 25 20 8c 20 59 6f 66 66 73 65 74 |Y<=SY% . Yoffset| 0000d810 25 3d 2d 32 0d 07 4f 20 20 e7 20 48 25 3d 32 20 |%=-2..O . H%=2 | 0000d820 80 20 59 3e 53 59 25 20 8c 20 59 6f 66 66 73 65 |. Y>SY% . Yoffse| 0000d830 74 25 3d 35 0d 07 50 22 20 e7 20 48 25 3d 31 20 |t%=5..P" . H%=1 | 0000d840 80 20 59 3c 3d 53 59 25 20 8c 20 59 6f 66 66 73 |. Y<=SY% . Yoffs| 0000d850 65 74 25 3d 2d 31 0d 07 51 20 20 e7 20 48 25 3d |et%=-1..Q . H%=| 0000d860 31 20 80 20 59 3e 53 59 25 20 8c 20 59 6f 66 66 |1 . Y>SY% . Yoff| 0000d870 73 65 74 25 3d 32 0d 07 52 2c 20 ec 20 53 58 25 |set%=2..R, . SX%| 0000d880 2c 53 59 25 2b 59 6f 66 66 73 65 74 25 3a ec 20 |,SY%+Yoffset%:. | 0000d890 42 59 20 58 31 2d 53 58 25 2c 59 6f 66 66 73 65 |BY X1-SX%,Yoffse| 0000d8a0 74 25 0d 07 53 11 20 f0 26 42 46 2c 53 58 25 2c |t%..S. .&BF,SX%,| 0000d8b0 53 59 25 0d 07 54 06 20 cd 0d 07 55 06 20 cd 0d |SY%..T. ...U. ..| 0000d8c0 07 56 12 20 fd 20 42 3d 31 3a f2 75 70 6d 69 6e |.V. . B=1:.upmin| 0000d8d0 69 0d 07 57 27 20 c8 97 20 ee 20 31 3a c8 97 20 |i..W' .. . 1:.. | 0000d8e0 fb 20 31 2c 30 2c 32 35 35 2c 32 35 35 3a c8 97 |. 1,0,255,255:..| 0000d8f0 20 88 20 73 74 65 70 25 0d 07 58 06 20 e1 0d 07 | . step%..X. ...| 0000d900 59 04 0d 07 5a 14 20 dd 20 f2 64 69 73 70 6c 61 |Y...Z. . .displa| 0000d910 79 5f 74 65 78 74 0d 07 5b 41 20 f2 64 69 73 70 |y_text..[A .disp| 0000d920 6c 61 79 5f 6d 65 6d 6f 72 79 3a f2 77 61 69 74 |lay_memory:.wait| 0000d930 5f 6e 6f 5f 62 75 74 74 6f 6e 3a 21 63 6f 6c 6f |_no_button:!colo| 0000d940 75 72 5f 69 6e 63 5f 6f 72 5f 64 65 63 3d 63 6f |ur_inc_or_dec=co| 0000d950 6c 5f 69 64 65 63 25 0d 07 5c 11 20 e7 20 6f 76 |l_idec%..\. . ov| 0000d960 65 72 6c 61 79 25 20 8c 0d 07 5d 19 20 f2 70 6c |erlay% ...]. .pl| 0000d970 6f 74 5f 6f 76 65 72 6c 61 79 5f 73 70 72 69 74 |ot_overlay_sprit| 0000d980 65 0d 07 5e 06 20 cc 0d 07 5f 2e 20 21 63 6f 6c |e..^. ..._. !col| 0000d990 6f 75 72 5f 73 74 6f 72 65 3d 30 3a c8 97 20 c8 |our_store=0:.. .| 0000d9a0 93 20 2d 33 30 30 2c 2d 33 30 30 2c 31 36 30 30 |. -300,-300,1600| 0000d9b0 2c 31 34 30 30 0d 07 60 49 20 e7 20 68 76 24 3d |,1400..`I . hv$=| 0000d9c0 22 56 22 84 68 76 24 3d 22 76 22 8c 20 21 76 65 |"V".hv$="v". !ve| 0000d9d0 72 74 69 63 61 6c 5f 73 74 61 72 74 3d 28 59 6d |rtical_start=(Ym| 0000d9e0 61 78 25 2b 34 29 2f 32 20 8b 20 21 76 65 72 74 |ax%+4)/2 . !vert| 0000d9f0 69 63 61 6c 5f 73 74 61 72 74 3d 35 30 30 0d 07 |ical_start=500..| 0000da00 61 04 0d 07 62 06 20 f5 0d 07 63 0e 20 20 c8 97 |a...b. ...c. ..| 0000da10 20 58 2c 59 2c 42 0d 07 64 30 20 20 61 25 3d 28 | X,Y,B..d0 a%=(| 0000da20 39 36 30 2d 59 29 81 32 2a 31 32 38 30 2b 58 2d |960-Y).2*1280+X-| 0000da30 32 30 3a 61 25 3d 28 61 25 81 34 29 2a 34 2b 73 |20:a%=(a%.4)*4+s| 0000da40 63 72 65 65 6e 25 0d 07 65 29 20 20 21 63 6f 6c |creen%..e) !col| 0000da50 6f 75 72 5f 73 74 6f 72 65 3d 54 43 25 3a 21 63 |our_store=TC%:!c| 0000da60 6f 6c 6f 75 72 5f 6c 69 6d 69 74 3d 54 4c 25 0d |olour_limit=TL%.| 0000da70 07 66 2c 20 20 21 63 6f 6c 6f 75 72 5f 64 65 63 |.f, !colour_dec| 0000da80 72 65 6d 65 6e 74 3d 54 44 25 3a 21 63 6f 6c 6f |rement=TD%:!colo| 0000da90 75 72 5f 68 65 69 67 68 74 3d 32 0d 07 67 21 20 |ur_height=2..g! | 0000daa0 20 21 6f 70 73 74 61 72 74 3d 61 25 3a d6 20 6f | !opstart=a%:. o| 0000dab0 75 74 70 75 74 5f 73 70 72 69 74 65 0d 07 68 07 |utput_sprite..h.| 0000dac0 20 20 f5 0d 07 69 0f 20 20 20 c8 97 20 78 2c 79 | ...i. .. x,y| 0000dad0 2c 42 0d 07 6a 1a 20 20 fd 20 78 3c 3e 58 20 84 |,B..j. . x<>X .| 0000dae0 20 79 3c 3e 59 20 84 20 42 3c 3e 30 0d 07 6b 15 | y<>Y . B<>0..k.| 0000daf0 20 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 | .display_memor| 0000db00 79 0d 07 6c 0b 20 fd 20 42 3c 3e 30 0d 07 6d 19 |y..l. . B<>0..m.| 0000db10 20 21 63 6f 6c 6f 75 72 5f 69 6e 63 5f 6f 72 5f | !colour_inc_or_| 0000db20 64 65 63 3d 30 0d 07 6e 04 0d 07 6f 0c 20 e7 20 |dec=0..n...o. . | 0000db30 42 3d 34 20 8c 0d 07 70 04 0d 07 71 1b 20 e7 20 |B=4 ...p...q. . | 0000db40 74 65 78 74 5f 62 6c 6f 63 6b 5f 73 68 61 64 6f |text_block_shado| 0000db50 77 25 20 8c 0d 07 72 35 20 20 21 73 68 61 64 6f |w% ...r5 !shado| 0000db60 77 5f 73 74 61 72 74 3d 61 25 2d 37 36 38 30 3a |w_start=a%-7680:| 0000db70 21 6e 75 6d 5f 6c 69 6e 65 73 3d 74 65 78 74 5f |!num_lines=text_| 0000db80 6c 69 6e 65 73 25 2b 31 32 0d 07 73 28 20 20 21 |lines%+12..s( !| 0000db90 6e 75 6d 5f 62 79 74 65 73 3d 74 65 78 74 5f 77 |num_bytes=text_w| 0000dba0 69 64 74 68 25 2b 31 36 3a d6 20 73 68 61 64 6f |idth%+16:. shado| 0000dbb0 77 0d 07 74 45 20 20 73 79 25 3d 61 25 2d 37 36 |w..tE sy%=a%-76| 0000dbc0 38 30 2d 73 63 72 65 65 6e 25 3a 73 79 25 3d 31 |80-screen%:sy%=1| 0000dbd0 30 32 34 2d 28 73 79 25 81 31 32 38 30 29 2a 32 |024-(sy%.1280)*2| 0000dbe0 3a 73 78 25 3d 28 61 25 2d 73 63 72 65 65 6e 25 |:sx%=(a%-screen%| 0000dbf0 29 83 31 32 38 30 0d 07 75 3a 20 20 e6 20 32 30 |).1280..u: . 20| 0000dc00 38 2c 32 30 38 2c 32 30 38 3a c8 93 20 c8 90 20 |8,208,208:.. .. | 0000dc10 73 78 25 2c 73 79 25 2c 74 65 78 74 5f 77 69 64 |sx%,sy%,text_wid| 0000dc20 74 68 25 2b 31 34 2c 32 3a e6 20 30 2c 30 2c 30 |th%+14,2:. 0,0,0| 0000dc30 0d 07 76 3d 20 20 c8 93 20 c8 90 20 73 78 25 2c |..v= .. .. sx%,| 0000dc40 28 73 79 25 2d 28 28 74 65 78 74 5f 6c 69 6e 65 |(sy%-((text_line| 0000dc50 73 25 2b 31 32 29 2a 32 29 29 2d 32 2c 74 65 78 |s%+12)*2))-2,tex| 0000dc60 74 5f 77 69 64 74 68 25 2b 31 34 2c 32 0d 07 77 |t_width%+14,2..w| 0000dc70 13 20 20 e6 20 31 38 30 2c 31 38 30 2c 31 38 30 |. . 180,180,180| 0000dc80 0d 07 78 45 20 20 c8 93 20 c8 90 20 73 78 25 2d |..xE .. .. sx%-| 0000dc90 32 2c 28 73 79 25 2d 28 28 74 65 78 74 5f 6c 69 |2,(sy%-((text_li| 0000dca0 6e 65 73 25 2b 31 32 29 2a 32 29 29 2d 32 2c 32 |nes%+12)*2))-2,2| 0000dcb0 2c 28 74 65 78 74 5f 6c 69 6e 65 73 25 2b 31 32 |,(text_lines%+12| 0000dcc0 29 2a 32 2b 34 0d 07 79 10 20 20 e6 20 33 32 2c |)*2+4..y. . 32,| 0000dcd0 33 32 2c 33 32 0d 07 7a 52 20 20 c8 93 20 c8 90 |32,32..zR .. ..| 0000dce0 20 73 78 25 2b 74 65 78 74 5f 77 69 64 74 68 25 | sx%+text_width%| 0000dcf0 2b 31 34 2c 28 73 79 25 2d 28 28 74 65 78 74 5f |+14,(sy%-((text_| 0000dd00 6c 69 6e 65 73 25 2b 31 32 29 2a 32 29 29 2d 32 |lines%+12)*2))-2| 0000dd10 2c 32 2c 28 74 65 78 74 5f 6c 69 6e 65 73 25 2b |,2,(text_lines%+| 0000dd20 31 32 29 2a 32 2b 32 0d 07 7b 07 20 20 cd 0d 07 |12)*2+2..{. ...| 0000dd30 7c 04 0d 07 7d 30 20 e7 20 72 65 61 6c 5f 73 68 ||...}0 . real_sh| 0000dd40 61 64 6f 77 31 25 3d 31 20 8c 20 f2 72 65 61 6c |adow1%=1 . .real| 0000dd50 5f 73 68 61 64 6f 77 31 28 31 30 2c 73 68 61 64 |_shadow1(10,shad| 0000dd60 24 29 0d 07 7e 47 20 e7 20 72 65 61 6c 5f 73 68 |$)..~G . real_sh| 0000dd70 61 64 6f 77 31 25 3d 32 20 84 20 72 65 61 6c 5f |adow1%=2 . real_| 0000dd80 73 68 61 64 6f 77 31 25 3d 33 20 8c 20 f2 72 65 |shadow1%=3 . .re| 0000dd90 61 6c 5f 73 68 61 64 6f 77 32 28 72 65 61 6c 5f |al_shadow2(real_| 0000dda0 73 68 61 64 6f 77 31 25 29 0d 07 7f 26 20 e7 20 |shadow1%)...& . | 0000ddb0 73 68 61 64 6f 77 25 20 8c 20 f2 73 68 61 64 6f |shadow% . .shado| 0000ddc0 77 5f 74 65 78 74 28 35 2c 73 68 61 64 24 29 0d |w_text(5,shad$).| 0000ddd0 07 80 2c 20 e7 20 73 6f 6c 69 64 25 20 8c 20 f2 |.., . solid% . .| 0000dde0 73 6f 6c 69 64 5f 74 65 78 74 3a 6f 75 74 6c 69 |solid_text:outli| 0000ddf0 6e 65 5f 77 69 64 74 68 25 3d 30 0d 07 81 04 0d |ne_width%=0.....| 0000de00 07 82 2c 20 e7 20 6f 75 74 6c 69 6e 65 5f 77 69 |.., . outline_wi| 0000de10 64 74 68 25 3d 31 20 84 20 6f 75 74 6c 69 6e 65 |dth%=1 . outline| 0000de20 5f 77 69 64 74 68 25 3d 32 20 8c 0d 07 83 29 20 |_width%=2 ....) | 0000de30 20 21 63 6f 6c 6f 75 72 5f 64 65 63 72 65 6d 65 | !colour_decreme| 0000de40 6e 74 3d 30 3a 21 63 6f 6c 6f 75 72 5f 6c 69 6d |nt=0:!colour_lim| 0000de50 69 74 3d 30 0d 07 84 31 20 20 77 25 3d 32 35 36 |it=0...1 w%=256| 0000de60 30 2a 6f 75 74 6c 69 6e 65 5f 77 69 64 74 68 25 |0*outline_width%| 0000de70 3a 77 32 25 3d 34 2a 6f 75 74 6c 69 6e 65 5f 77 |:w2%=4*outline_w| 0000de80 69 64 74 68 25 0d 07 85 1e 20 20 e3 20 4a 25 3d |idth%.... . J%=| 0000de90 61 25 2d 77 25 20 b8 20 61 25 2b 77 25 20 88 31 |a%-w% . a%+w% .1| 0000dea0 32 38 30 0d 07 86 1e 20 20 20 e3 20 4e 25 3d 4a |280.... . N%=J| 0000deb0 25 2d 77 32 25 20 b8 20 4a 25 2b 77 32 25 20 88 |%-w2% . J%+w2% .| 0000dec0 34 0d 07 87 3f 20 20 20 20 21 6f 70 73 74 61 72 |4...? !opstar| 0000ded0 74 3d 4e 25 3a 21 63 6f 6c 6f 75 72 5f 73 74 6f |t=N%:!colour_sto| 0000dee0 72 65 3d 74 65 78 74 5f 6f 75 74 5f 63 6f 6c 25 |re=text_out_col%| 0000def0 3a d6 20 6f 75 74 70 75 74 5f 73 70 72 69 74 65 |:. output_sprite| 0000df00 0d 07 88 08 20 20 20 ed 0d 07 89 07 20 20 ed 0d |.... ..... ..| 0000df10 07 8a 06 20 cd 0d 07 8b 04 0d 07 8c 19 20 e7 20 |... ......... . | 0000df20 6f 75 74 6c 69 6e 65 5f 77 69 64 74 68 25 3d 33 |outline_width%=3| 0000df30 20 8c 0d 07 8d 39 20 20 f4 20 6e 65 77 20 72 65 | ....9 . new re| 0000df40 6c 69 65 66 20 65 66 66 65 63 74 20 2d 20 6f 75 |lief effect - ou| 0000df50 74 6c 69 6e 65 20 6f 6e 20 74 6f 70 20 61 6e 64 |tline on top and| 0000df60 20 6c 65 66 74 20 65 64 67 65 73 0d 07 8e 29 20 | left edges...) | 0000df70 20 21 63 6f 6c 6f 75 72 5f 64 65 63 72 65 6d 65 | !colour_decreme| 0000df80 6e 74 3d 30 3a 21 63 6f 6c 6f 75 72 5f 6c 69 6d |nt=0:!colour_lim| 0000df90 69 74 3d 30 0d 07 8f 34 20 20 21 6f 70 73 74 61 |it=0...4 !opsta| 0000dfa0 72 74 3d 61 25 2d 32 35 36 30 2d 34 3a 21 63 6f |rt=a%-2560-4:!co| 0000dfb0 6c 6f 75 72 5f 73 74 6f 72 65 3d 74 65 78 74 5f |lour_store=text_| 0000dfc0 6f 75 74 5f 63 6f 6c 25 0d 07 90 15 20 20 d6 20 |out_col%.... . | 0000dfd0 6f 75 74 70 75 74 5f 73 70 72 69 74 65 0d 07 91 |output_sprite...| 0000dfe0 34 20 20 21 6f 70 73 74 61 72 74 3d 61 25 2d 35 |4 !opstart=a%-5| 0000dff0 31 32 30 2d 38 3a 21 63 6f 6c 6f 75 72 5f 73 74 |120-8:!colour_st| 0000e000 6f 72 65 3d 74 65 78 74 5f 6f 75 74 5f 63 6f 6c |ore=text_out_col| 0000e010 25 0d 07 92 15 20 20 d6 20 6f 75 74 70 75 74 5f |%.... . output_| 0000e020 73 70 72 69 74 65 0d 07 93 06 20 cd 0d 07 94 04 |sprite.... .....| 0000e030 0d 07 95 34 20 21 6f 70 73 74 61 72 74 3d 61 25 |...4 !opstart=a%| 0000e040 3a 21 63 6f 6c 6f 75 72 5f 73 74 6f 72 65 3d 54 |:!colour_store=T| 0000e050 43 25 3a 21 63 6f 6c 6f 75 72 5f 6c 69 6d 69 74 |C%:!colour_limit| 0000e060 3d 54 4c 25 0d 07 96 37 20 21 63 6f 6c 6f 75 72 |=TL%...7 !colour| 0000e070 5f 64 65 63 72 65 6d 65 6e 74 3d 54 44 25 3a 21 |_decrement=TD%:!| 0000e080 63 6f 6c 6f 75 72 5f 69 6e 63 5f 6f 72 5f 64 65 |colour_inc_or_de| 0000e090 63 3d 63 6f 6c 5f 69 64 65 63 25 0d 07 97 04 0d |c=col_idec%.....| 0000e0a0 07 98 18 20 e7 20 68 76 24 3d 22 56 22 84 68 76 |... . hv$="V".hv| 0000e0b0 24 3d 22 76 22 20 8c 0d 07 99 21 20 20 21 76 65 |$="v" ....! !ve| 0000e0c0 72 74 69 63 61 6c 5f 73 74 61 72 74 3d 28 59 6d |rtical_start=(Ym| 0000e0d0 61 78 25 2b 34 29 2f 32 0d 07 9a 16 20 20 21 63 |ax%+4)/2.... !c| 0000e0e0 6f 6c 6f 75 72 5f 68 65 69 67 68 74 3d 32 0d 07 |olour_height=2..| 0000e0f0 9b 06 20 cc 0d 07 9c 19 20 20 21 76 65 72 74 69 |.. ..... !verti| 0000e100 63 61 6c 5f 73 74 61 72 74 3d 35 30 30 0d 07 9d |cal_start=500...| 0000e110 2a 20 20 21 63 6f 6c 6f 75 72 5f 68 65 69 67 68 |* !colour_heigh| 0000e120 74 3d 31 2b 28 a8 28 74 65 78 74 5f 6c 69 6e 65 |t=1+(.(text_line| 0000e130 73 25 2f 34 30 29 29 0d 07 9e 06 20 cd 0d 07 9f |s%/40)).... ....| 0000e140 04 0d 07 a0 23 20 d6 20 6f 75 74 70 75 74 5f 73 |....# . output_s| 0000e150 70 72 69 74 65 3a f2 75 70 6c 6f 61 64 5f 6d 65 |prite:.upload_me| 0000e160 6d 6f 72 79 0d 07 a1 04 0d 07 a2 16 20 cc 20 f2 |mory........ . .| 0000e170 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d 07 |display_memory..| 0000e180 a3 04 0d 07 a4 06 20 cd 0d 07 a5 06 20 cd 0d 07 |...... ..... ...| 0000e190 a6 18 20 c8 97 20 c8 93 20 30 2c 30 2c 31 32 38 |.. .. .. 0,0,128| 0000e1a0 30 2c 31 30 32 34 0d 07 a7 06 20 e1 0d 07 a8 04 |0,1024.... .....| 0000e1b0 0d 07 a9 20 20 dd 20 f2 73 68 61 64 6f 77 5f 74 |... . .shadow_t| 0000e1c0 65 78 74 28 73 69 7a 65 25 2c 73 68 61 64 24 29 |ext(size%,shad$)| 0000e1d0 0d 07 aa 22 20 e7 20 6f 75 74 6c 69 6e 65 5f 77 |..." . outline_w| 0000e1e0 69 64 74 68 25 3e 30 20 8c 20 73 69 7a 65 25 2b |idth%>0 . size%+| 0000e1f0 3d 32 0d 07 ab 3b 20 21 63 6f 6c 6f 75 72 5f 64 |=2...; !colour_d| 0000e200 65 63 72 65 6d 65 6e 74 3d 30 3a 21 63 6f 6c 6f |ecrement=0:!colo| 0000e210 75 72 5f 6c 69 6d 69 74 3d 30 3a 78 25 3d 73 69 |ur_limit=0:x%=si| 0000e220 7a 65 25 2a 34 3a 73 63 25 3d 53 43 25 0d 07 ac |ze%*4:sc%=SC%...| 0000e230 27 20 e7 20 73 68 61 64 24 3d 22 42 4c 22 20 84 |' . shad$="BL" .| 0000e240 20 73 68 61 64 24 3d 22 54 4c 22 20 8c 20 78 25 | shad$="TL" . x%| 0000e250 3d 2d 78 25 0d 07 ad 25 20 e3 20 4a 25 3d 61 25 |=-x%...% . J%=a%| 0000e260 2b 28 73 69 7a 65 25 2a 32 35 36 30 29 20 b8 20 |+(size%*2560) . | 0000e270 61 25 20 88 2d 32 35 36 30 0d 07 ae 3b 20 4e 25 |a% .-2560...; N%| 0000e280 3d 4a 25 2b 78 25 3a 21 6f 70 73 74 61 72 74 3d |=J%+x%:!opstart=| 0000e290 4e 25 3a 21 63 6f 6c 6f 75 72 5f 73 74 6f 72 65 |N%:!colour_store| 0000e2a0 3d 73 63 25 3a d6 20 6f 75 74 70 75 74 5f 73 70 |=sc%:. output_sp| 0000e2b0 72 69 74 65 0d 07 af 0e 20 e7 20 67 72 61 64 25 |rite.... . grad%| 0000e2c0 20 8c 0d 07 b0 2d 20 72 25 3d 73 63 25 80 33 31 | ....- r%=sc%.31| 0000e2d0 3a 67 25 3d 28 73 63 25 3e 3e 35 29 80 33 31 3a |:g%=(sc%>>5).31:| 0000e2e0 62 25 3d 28 73 63 25 3e 3e 31 30 29 80 33 31 0d |b%=(sc%>>10).31.| 0000e2f0 07 b1 13 20 e7 20 72 25 3e 31 20 8c 20 72 25 2d |... . r%>1 . r%-| 0000e300 3d 32 0d 07 b2 13 20 e7 20 67 25 3e 31 20 8c 20 |=2.... . g%>1 . | 0000e310 67 25 2d 3d 32 0d 07 b3 13 20 e7 20 62 25 3e 31 |g%-=2.... . b%>1| 0000e320 20 8c 20 62 25 2d 3d 32 0d 07 b4 1c 20 73 63 25 | . b%-=2.... sc%| 0000e330 3d 28 62 25 3c 3c 31 30 29 2b 28 67 25 3c 3c 35 |=(b%<<10)+(g%<<5| 0000e340 29 2b 72 25 0d 07 b5 06 20 cd 0d 07 b6 2e 20 e7 |)+r%.... ..... .| 0000e350 20 73 68 61 64 24 3d 22 42 4c 22 20 84 20 73 68 | shad$="BL" . sh| 0000e360 61 64 24 3d 22 54 4c 22 20 8c 20 78 25 2b 3d 34 |ad$="TL" . x%+=4| 0000e370 20 8b 20 78 25 2d 3d 34 0d 07 b7 06 20 ed 0d 07 | . x%-=4.... ...| 0000e380 b8 06 20 e1 0d 07 b9 04 0d 07 ba 12 20 dd 20 f2 |.. ......... . .| 0000e390 73 6f 6c 69 64 5f 74 65 78 74 0d 07 bb 37 20 21 |solid_text...7 !| 0000e3a0 63 6f 6c 6f 75 72 5f 64 65 63 72 65 6d 65 6e 74 |colour_decrement| 0000e3b0 3d 30 3a 21 63 6f 6c 6f 75 72 5f 6c 69 6d 69 74 |=0:!colour_limit| 0000e3c0 3d 30 3a 78 25 3d 2d 32 34 3a 73 63 25 3d 54 43 |=0:x%=-24:sc%=TC| 0000e3d0 25 0d 07 bc 30 20 73 74 72 3d 73 63 25 80 33 31 |%...0 str=sc%.31| 0000e3e0 3a 73 74 67 3d 28 73 63 25 3e 3e 35 29 80 33 31 |:stg=(sc%>>5).31| 0000e3f0 3a 73 74 62 3d 28 73 63 25 3e 3e 31 30 29 80 33 |:stb=(sc%>>10).3| 0000e400 31 0d 07 bd 17 20 73 74 72 69 3d 28 73 74 72 2d |1.... stri=(str-| 0000e410 73 74 72 2f 33 29 2f 38 0d 07 be 17 20 73 74 67 |str/3)/8.... stg| 0000e420 69 3d 28 73 74 67 2d 73 74 67 2f 33 29 2f 38 0d |i=(stg-stg/3)/8.| 0000e430 07 bf 17 20 73 74 62 69 3d 28 73 74 62 2d 73 74 |... stbi=(stb-st| 0000e440 62 2f 33 29 2f 38 0d 07 c0 22 20 73 74 72 3d 73 |b/3)/8..." str=s| 0000e450 74 72 2f 33 3a 73 74 67 3d 73 74 67 2f 33 3a 73 |tr/3:stg=stg/3:s| 0000e460 74 62 3d 73 74 62 2f 33 0d 07 c1 21 20 e3 20 4a |tb=stb/3...! . J| 0000e470 25 3d 61 25 2d 28 36 2a 32 35 36 30 29 20 b8 20 |%=a%-(6*2560) . | 0000e480 61 25 20 88 20 32 35 36 30 0d 07 c2 1f 20 73 63 |a% . 2560.... sc| 0000e490 25 3d 28 73 74 62 3c 3c 31 30 29 2b 28 73 74 67 |%=(stb<<10)+(stg| 0000e4a0 3c 3c 35 29 2b 73 74 72 0d 07 c3 3b 20 4e 25 3d |<<5)+str...; N%=| 0000e4b0 4a 25 2b 78 25 3a 21 6f 70 73 74 61 72 74 3d 4e |J%+x%:!opstart=N| 0000e4c0 25 3a 21 63 6f 6c 6f 75 72 5f 73 74 6f 72 65 3d |%:!colour_store=| 0000e4d0 73 63 25 3a d6 20 6f 75 74 70 75 74 5f 73 70 72 |sc%:. output_spr| 0000e4e0 69 74 65 0d 07 c4 2b 20 73 74 72 3d 73 74 72 2b |ite...+ str=str+| 0000e4f0 73 74 72 69 3a 73 74 67 3d 73 74 67 2b 73 74 67 |stri:stg=stg+stg| 0000e500 69 3a 73 74 62 3d 73 74 62 2b 73 74 62 69 0d 07 |i:stb=stb+stbi..| 0000e510 c5 0a 20 78 25 2b 3d 34 0d 07 c6 06 20 ed 0d 07 |.. x%+=4.... ...| 0000e520 c7 06 20 e1 0d 07 c8 04 0d 07 c9 21 20 dd 20 f2 |.. ........! . .| 0000e530 72 65 61 6c 5f 73 68 61 64 6f 77 31 28 73 69 7a |real_shadow1(siz| 0000e540 65 25 2c 73 68 61 64 24 29 0d 07 ca 10 20 e3 20 |e%,shad$).... . | 0000e550 4e 25 3d 30 20 b8 20 33 31 0d 07 cb 33 20 67 72 |N%=0 . 31...3 gr| 0000e560 6e 64 61 74 61 3f 4e 25 3d 4e 25 2d 32 3a e7 20 |ndata?N%=N%-2:. | 0000e570 67 72 6e 64 61 74 61 3f 4e 25 3e 33 31 20 8c 20 |grndata?N%>31 . | 0000e580 67 72 6e 64 61 74 61 3f 4e 25 3d 30 0d 07 cc 06 |grndata?N%=0....| 0000e590 20 ed 0d 07 cd 3b 20 21 63 6f 6c 6f 75 72 5f 64 | ....; !colour_d| 0000e5a0 65 63 72 65 6d 65 6e 74 3d 30 3a 21 63 6f 6c 6f |ecrement=0:!colo| 0000e5b0 75 72 5f 6c 69 6d 69 74 3d 30 3a 78 25 3d 73 69 |ur_limit=0:x%=si| 0000e5c0 7a 65 25 2a 34 3a 73 63 25 3d 53 43 25 0d 07 ce |ze%*4:sc%=SC%...| 0000e5d0 32 20 21 73 68 61 64 6f 77 5f 74 61 62 6c 65 5f |2 !shadow_table_| 0000e5e0 61 64 64 72 65 73 73 3d 67 72 6e 64 61 74 61 3a |address=grndata:| 0000e5f0 21 63 6f 6c 6f 75 72 5f 73 74 6f 72 65 3d 31 0d |!colour_store=1.| 0000e600 07 cf 27 20 e7 20 73 68 61 64 24 3d 22 42 4c 22 |..' . shad$="BL"| 0000e610 20 84 20 73 68 61 64 24 3d 22 54 4c 22 20 8c 20 | . shad$="TL" . | 0000e620 78 25 3d 2d 78 25 0d 07 d0 2c 20 e3 20 4a 25 3d |x%=-x%..., . J%=| 0000e630 61 25 2b 28 73 69 7a 65 25 2a 32 35 36 30 29 20 |a%+(size%*2560) | 0000e640 b8 20 61 25 2d 32 35 36 30 2a 30 20 88 2d 32 35 |. a%-2560*0 .-25| 0000e650 36 30 0d 07 d1 29 20 4e 25 3d 4a 25 2b 78 25 3a |60...) N%=J%+x%:| 0000e660 21 6f 70 73 74 61 72 74 3d 4e 25 3a d6 20 6f 75 |!opstart=N%:. ou| 0000e670 74 70 75 74 5f 73 70 72 69 74 65 0d 07 d2 2e 20 |tput_sprite.... | 0000e680 e7 20 73 68 61 64 24 3d 22 42 4c 22 20 84 20 73 |. shad$="BL" . s| 0000e690 68 61 64 24 3d 22 54 4c 22 20 8c 20 78 25 2b 3d |had$="TL" . x%+=| 0000e6a0 34 20 8b 20 78 25 2d 3d 34 0d 07 d3 06 20 ed 0d |4 . x%-=4.... ..| 0000e6b0 07 d4 3f 20 e3 20 4e 25 3d 30 20 b8 20 33 31 3a |..? . N%=0 . 31:| 0000e6c0 67 72 6e 64 61 74 61 3f 4e 25 3d 4e 25 2d 34 3a |grndata?N%=N%-4:| 0000e6d0 e7 20 67 72 6e 64 61 74 61 3f 4e 25 3e 33 31 20 |. grndata?N%>31 | 0000e6e0 8c 20 67 72 6e 64 61 74 61 3f 4e 25 3d 30 0d 07 |. grndata?N%=0..| 0000e6f0 d5 06 20 ed 0d 07 d6 2b 20 4e 25 3d 61 25 2d 32 |.. ....+ N%=a%-2| 0000e700 35 36 34 3a 21 6f 70 73 74 61 72 74 3d 4e 25 3a |564:!opstart=N%:| 0000e710 d6 20 6f 75 74 70 75 74 5f 73 70 72 69 74 65 0d |. output_sprite.| 0000e720 07 d7 2b 20 4e 25 3d 61 25 2d 35 31 32 38 3a 21 |..+ N%=a%-5128:!| 0000e730 6f 70 73 74 61 72 74 3d 4e 25 3a d6 20 6f 75 74 |opstart=N%:. out| 0000e740 70 75 74 5f 73 70 72 69 74 65 0d 07 d8 2b 20 4e |put_sprite...+ N| 0000e750 25 3d 61 25 2d 32 35 36 30 3a 21 6f 70 73 74 61 |%=a%-2560:!opsta| 0000e760 72 74 3d 4e 25 3a d6 20 6f 75 74 70 75 74 5f 73 |rt=N%:. output_s| 0000e770 70 72 69 74 65 0d 07 d9 2b 20 4e 25 3d 61 25 2d |prite...+ N%=a%-| 0000e780 35 31 32 30 3a 21 6f 70 73 74 61 72 74 3d 4e 25 |5120:!opstart=N%| 0000e790 3a d6 20 6f 75 74 70 75 74 5f 73 70 72 69 74 65 |:. output_sprite| 0000e7a0 0d 07 da 2b 20 4e 25 3d 61 25 2d 32 35 35 36 3a |...+ N%=a%-2556:| 0000e7b0 21 6f 70 73 74 61 72 74 3d 4e 25 3a d6 20 6f 75 |!opstart=N%:. ou| 0000e7c0 74 70 75 74 5f 73 70 72 69 74 65 0d 07 db 2b 20 |tput_sprite...+ | 0000e7d0 4e 25 3d 61 25 2d 35 31 31 36 3a 21 6f 70 73 74 |N%=a%-5116:!opst| 0000e7e0 61 72 74 3d 4e 25 3a d6 20 6f 75 74 70 75 74 5f |art=N%:. output_| 0000e7f0 73 70 72 69 74 65 0d 07 dc 06 20 e1 0d 07 dd 04 |sprite.... .....| 0000e800 0d 07 de 18 20 dd 20 f2 72 65 61 6c 5f 73 68 61 |.... . .real_sha| 0000e810 64 6f 77 32 28 73 25 29 0d 07 df 22 20 e3 20 4e |dow2(s%)..." . N| 0000e820 25 3d 30 20 b8 20 33 31 3a 67 72 6e 64 61 74 61 |%=0 . 31:grndata| 0000e830 3f 4e 25 3d 4e 25 2f 32 3a ed 0d 07 e0 28 20 21 |?N%=N%/2:....( !| 0000e840 63 6f 6c 6f 75 72 5f 64 65 63 72 65 6d 65 6e 74 |colour_decrement| 0000e850 3d 30 3a 21 63 6f 6c 6f 75 72 5f 6c 69 6d 69 74 |=0:!colour_limit| 0000e860 3d 30 0d 07 e1 32 20 21 73 68 61 64 6f 77 5f 74 |=0...2 !shadow_t| 0000e870 61 62 6c 65 5f 61 64 64 72 65 73 73 3d 67 72 6e |able_address=grn| 0000e880 64 61 74 61 3a 21 63 6f 6c 6f 75 72 5f 73 74 6f |data:!colour_sto| 0000e890 72 65 3d 31 0d 07 e2 35 20 e7 20 73 25 3d 32 20 |re=1...5 . s%=2 | 0000e8a0 21 6f 70 73 74 61 72 74 3d 61 25 2b 31 32 2a 31 |!opstart=a%+12*1| 0000e8b0 32 38 32 20 8b 20 21 6f 70 73 74 61 72 74 3d 61 |282 . !opstart=a| 0000e8c0 25 2b 32 30 2a 31 32 38 32 0d 07 e3 14 20 d6 20 |%+20*1282.... . | 0000e8d0 6f 75 74 70 75 74 5f 73 70 72 69 74 65 0d 07 e4 |output_sprite...| 0000e8e0 06 20 e1 0d 07 e5 04 0d 07 e6 11 20 dd 20 f2 67 |. ......... . .g| 0000e8f0 72 61 62 5f 74 65 78 74 0d 07 e7 1c 20 e7 20 68 |rab_text.... . h| 0000e900 76 32 24 3d 22 56 22 20 84 20 68 76 32 24 3d 22 |v2$="V" . hv2$="| 0000e910 76 22 20 8c 0d 07 e8 1e 20 21 66 74 5f 62 6f 74 |v" ..... !ft_bot| 0000e920 74 6f 6d 3d 73 63 72 65 65 6e 25 2b 26 39 46 42 |tom=screen%+&9FB| 0000e930 30 30 0d 07 e9 06 20 cc 0d 07 ea 1e 20 21 66 74 |00.... ..... !ft| 0000e940 5f 62 6f 74 74 6f 6d 3d 73 63 72 65 65 6e 25 2b |_bottom=screen%+| 0000e950 26 36 35 45 30 30 0d 07 eb 06 20 cd 0d 07 ec 17 |&65E00.... .....| 0000e960 20 21 66 74 5f 73 63 72 65 65 6e 3d 73 63 72 65 | !ft_screen=scre| 0000e970 65 6e 25 0d 07 ed 13 20 53 25 3d ba 28 66 69 6e |en%.... S%=.(fin| 0000e980 64 5f 74 6f 70 29 0d 07 ee 16 20 45 25 3d ba 28 |d_top).... E%=.(| 0000e990 66 69 6e 64 5f 62 6f 74 74 6f 6d 29 0d 07 ef 29 |find_bottom)...)| 0000e9a0 20 21 66 74 5f 72 69 67 68 74 3d 53 25 3a 21 66 | !ft_right=S%:!f| 0000e9b0 72 6c 69 6e 65 73 3d 28 45 25 2d 53 25 29 81 31 |rlines=(E%-S%).1| 0000e9c0 32 38 30 2b 31 0d 07 f0 15 20 57 25 3d ba 28 66 |280+1.... W%=.(f| 0000e9d0 69 6e 64 5f 72 69 67 68 74 29 0d 07 f1 36 20 74 |ind_right)...6 t| 0000e9e0 65 78 74 5f 77 69 64 74 68 25 3d 57 25 3a 21 67 |ext_width%=W%:!g| 0000e9f0 65 74 77 69 64 74 68 3d 74 65 78 74 5f 77 69 64 |etwidth=text_wid| 0000ea00 74 68 25 3a 21 67 65 74 73 74 61 72 74 3d 53 25 |th%:!getstart=S%| 0000ea10 0d 07 f2 2f 20 21 67 65 74 73 74 6f 72 65 3d 73 |.../ !getstore=s| 0000ea20 70 72 25 2b 31 36 3a 21 67 65 74 6c 69 6e 65 73 |pr%+16:!getlines| 0000ea30 3d 28 45 25 2d 53 25 29 81 31 32 38 30 2b 31 0d |=(E%-S%).1280+1.| 0000ea40 07 f3 1a 20 74 65 78 74 5f 6c 69 6e 65 73 25 3d |... text_lines%=| 0000ea50 21 67 65 74 6c 69 6e 65 73 0d 07 f4 23 20 21 73 |!getlines...# !s| 0000ea60 70 72 25 3d 57 25 3a 73 70 72 25 21 34 3d 28 45 |pr%=W%:spr%!4=(E| 0000ea70 25 2d 53 25 29 81 31 32 38 30 2b 31 0d 07 f5 11 |%-S%).1280+1....| 0000ea80 20 73 70 72 25 21 38 3d 26 34 34 30 30 0d 07 f6 | spr%!8=&4400...| 0000ea90 29 20 e7 20 28 21 67 65 74 6c 69 6e 65 73 29 2a |) . (!getlines)*| 0000eaa0 28 21 67 65 74 77 69 64 74 68 29 3e 74 78 74 73 |(!getwidth)>txts| 0000eab0 69 7a 65 25 20 8c 0d 07 f7 32 20 20 74 65 78 74 |ize% ....2 text| 0000eac0 31 24 3d 22 22 3a 6f 76 65 72 6c 61 79 25 3d 30 |1$="":overlay%=0| 0000ead0 3a 6d 61 73 6b 5f 63 72 65 61 74 65 64 25 3d 30 |:mask_created%=0| 0000eae0 3a 74 65 78 74 25 3d 30 0d 07 f8 3e 20 20 85 20 |:text%=0...> . | 0000eaf0 31 39 39 37 2c 22 43 61 70 74 69 6f 6e 20 69 73 |1997,"Caption is| 0000eb00 20 74 6f 6f 20 6c 61 72 67 65 20 66 6f 72 20 61 | too large for a| 0000eb10 76 61 69 6c 61 62 6c 65 20 6f 76 65 72 6c 61 79 |vailable overlay| 0000eb20 20 61 72 65 61 22 0d 07 f9 06 20 cd 0d 07 fa 11 | area".... .....| 0000eb30 20 d6 20 67 65 74 5f 73 63 72 65 65 6e 0d 07 fb | . get_screen...| 0000eb40 06 20 e1 0d 07 fc 04 0d 07 fd 19 20 dd 20 f2 6d |. ......... . .m| 0000eb50 79 73 70 72 69 74 65 5f 61 73 73 65 6d 62 6c 65 |ysprite_assemble| 0000eb60 0d 07 fe 14 20 de 20 6d 79 73 70 72 69 74 65 25 |.... . mysprite%| 0000eb70 20 39 36 30 0d 07 ff 04 0d 08 00 38 20 f4 20 52 | 960.......8 . R| 0000eb80 65 67 69 73 74 65 72 73 20 75 73 65 64 20 69 6e |egisters used in| 0000eb90 20 22 66 69 6e 64 22 20 72 6f 75 74 69 6e 65 73 | "find" routines| 0000eba0 20 61 6e 64 20 2e 67 65 74 5f 73 63 72 65 65 6e | and .get_screen| 0000ebb0 0d 08 01 33 20 62 61 73 65 32 3d 32 3a 62 61 73 |...3 base2=2:bas| 0000ebc0 65 3d 33 3a 6f 66 66 73 65 74 3d 34 3a 64 61 74 |e=3:offset=4:dat| 0000ebd0 61 3d 35 3a 6c 69 6e 65 73 3d 36 3a 77 68 69 74 |a=5:lines=6:whit| 0000ebe0 65 3d 37 0d 08 02 04 0d 08 03 27 20 f4 20 52 65 |e=7.......' . Re| 0000ebf0 67 69 73 74 65 72 73 20 75 73 65 64 20 69 6e 20 |gisters used in | 0000ec00 2e 6f 75 74 70 75 74 5f 73 70 72 69 74 65 0d 08 |.output_sprite..| 0000ec10 04 35 20 63 6f 6c 6f 75 72 3d 31 3a 62 61 73 65 |.5 colour=1:base| 0000ec20 32 3d 32 3a 74 61 62 6c 65 3d 33 3a 64 61 74 61 |2=2:table=3:data| 0000ec30 33 3d 34 3a 64 61 74 61 31 3d 35 3a 6c 69 6e 65 |3=4:data1=5:line| 0000ec40 73 3d 36 0d 08 05 38 20 6d 61 73 6b 32 3d 37 3a |s=6...8 mask2=7:| 0000ec50 6d 61 73 6b 31 3d 38 3a 64 61 74 61 32 3d 39 3a |mask1=8:data2=9:| 0000ec60 73 63 72 6e 31 3d 31 30 3a 73 63 72 6e 32 3d 31 |scrn1=10:scrn2=1| 0000ec70 31 3a 72 65 73 75 6c 74 3d 31 32 0d 08 06 11 20 |1:result=12.... | 0000ec80 e3 20 50 3d 30 20 b8 20 32 20 88 32 0d 08 07 11 |. P=0 . 2 .2....| 0000ec90 20 50 25 3d 6d 79 73 70 72 69 74 65 25 0d 08 08 | P%=mysprite%...| 0000eca0 0b 20 5b 4f 50 54 20 50 0d 08 09 16 20 2e 66 74 |. [OPT P.... .ft| 0000ecb0 5f 73 63 72 65 65 6e 20 45 51 55 44 20 30 0d 08 |_screen EQUD 0..| 0000ecc0 0a 1e 20 2e 66 74 5f 77 68 69 74 65 20 20 45 51 |.. .ft_white EQ| 0000ecd0 55 44 20 26 37 46 46 46 37 46 46 46 0d 08 0b 16 |UD &7FFF7FFF....| 0000ece0 20 2e 66 74 5f 62 6f 74 74 6f 6d 20 45 51 55 44 | .ft_bottom EQUD| 0000ecf0 20 30 0d 08 0c 16 20 2e 66 74 5f 72 69 67 68 74 | 0.... .ft_right| 0000ed00 20 20 45 51 55 44 20 30 0d 08 0d 16 20 2e 66 72 | EQUD 0.... .fr| 0000ed10 6c 69 6e 65 73 20 20 20 45 51 55 44 20 30 0d 08 |lines EQUD 0..| 0000ed20 0e 16 20 2e 67 65 74 77 69 64 74 68 20 20 45 51 |.. .getwidth EQ| 0000ed30 55 44 20 30 0d 08 0f 16 20 2e 67 65 74 73 74 61 |UD 0.... .getsta| 0000ed40 72 74 20 20 45 51 55 44 20 30 0d 08 10 16 20 2e |rt EQUD 0.... .| 0000ed50 67 65 74 73 74 6f 72 65 20 20 45 51 55 44 20 30 |getstore EQUD 0| 0000ed60 0d 08 11 16 20 2e 67 65 74 6c 69 6e 65 73 20 20 |.... .getlines | 0000ed70 45 51 55 44 20 30 0d 08 12 16 20 2e 6f 70 73 74 |EQUD 0.... .opst| 0000ed80 61 72 74 20 20 20 45 51 55 44 20 30 0d 08 13 04 |art EQUD 0....| 0000ed90 0d 08 14 0e 20 2e 66 69 6e 64 5f 74 6f 70 0d 08 |.... .find_top..| 0000eda0 15 47 20 4d 4f 56 20 6f 66 66 73 65 74 2c 23 30 |.G MOV offset,#0| 0000edb0 3a 4c 44 52 20 62 61 73 65 2c 66 74 5f 73 63 72 |:LDR base,ft_scr| 0000edc0 65 65 6e 3a 4c 44 52 20 77 68 69 74 65 2c 66 74 |een:LDR white,ft| 0000edd0 5f 77 68 69 74 65 3a 4d 4f 56 20 6c 69 6e 65 73 |_white:MOV lines| 0000ede0 2c 23 36 34 30 0d 08 16 3f 20 2e 74 6f 70 5f 6c |,#640...? .top_l| 0000edf0 6f 6f 70 20 4c 44 52 20 64 61 74 61 2c 5b 62 61 |oop LDR data,[ba| 0000ee00 73 65 2c 6f 66 66 73 65 74 5d 3a 43 4d 50 20 64 |se,offset]:CMP d| 0000ee10 61 74 61 2c 77 68 69 74 65 3a 42 45 51 20 66 74 |ata,white:BEQ ft| 0000ee20 65 78 69 74 0d 08 17 37 20 41 44 44 20 6f 66 66 |exit...7 ADD off| 0000ee30 73 65 74 2c 6f 66 66 73 65 74 2c 23 34 3a 43 4d |set,offset,#4:CM| 0000ee40 50 20 6f 66 66 73 65 74 2c 23 31 32 38 30 3a 42 |P offset,#1280:B| 0000ee50 4e 45 20 74 6f 70 5f 6c 6f 6f 70 0d 08 18 47 20 |NE top_loop...G | 0000ee60 41 44 44 20 62 61 73 65 2c 62 61 73 65 2c 23 31 |ADD base,base,#1| 0000ee70 32 38 30 3a 4d 4f 56 20 6f 66 66 73 65 74 2c 23 |280:MOV offset,#| 0000ee80 30 3a 53 55 42 53 20 6c 69 6e 65 73 2c 6c 69 6e |0:SUBS lines,lin| 0000ee90 65 73 2c 23 31 3a 42 4e 45 20 74 6f 70 5f 6c 6f |es,#1:BNE top_lo| 0000eea0 6f 70 0d 08 19 23 20 2e 66 74 65 78 69 74 20 4d |op...# .ftexit M| 0000eeb0 4f 56 20 52 30 2c 62 61 73 65 3a 4d 4f 56 20 50 |OV R0,base:MOV P| 0000eec0 43 2c 52 31 34 0d 08 1a 04 0d 08 1b 11 20 2e 66 |C,R14........ .f| 0000eed0 69 6e 64 5f 62 6f 74 74 6f 6d 0d 08 1c 47 20 4d |ind_bottom...G M| 0000eee0 4f 56 20 6f 66 66 73 65 74 2c 23 30 3a 4c 44 52 |OV offset,#0:LDR| 0000eef0 20 62 61 73 65 2c 66 74 5f 62 6f 74 74 6f 6d 3a | base,ft_bottom:| 0000ef00 4c 44 52 20 77 68 69 74 65 2c 66 74 5f 77 68 69 |LDR white,ft_whi| 0000ef10 74 65 3a 4d 4f 56 20 6c 69 6e 65 73 2c 23 36 34 |te:MOV lines,#64| 0000ef20 30 0d 08 1d 3f 20 2e 62 6f 74 5f 6c 6f 6f 70 20 |0...? .bot_loop | 0000ef30 4c 44 52 20 64 61 74 61 2c 5b 62 61 73 65 2c 6f |LDR data,[base,o| 0000ef40 66 66 73 65 74 5d 3a 43 4d 50 20 64 61 74 61 2c |ffset]:CMP data,| 0000ef50 77 68 69 74 65 3a 42 45 51 20 66 62 65 78 69 74 |white:BEQ fbexit| 0000ef60 0d 08 1e 37 20 41 44 44 20 6f 66 66 73 65 74 2c |...7 ADD offset,| 0000ef70 6f 66 66 73 65 74 2c 23 34 3a 43 4d 50 20 6f 66 |offset,#4:CMP of| 0000ef80 66 73 65 74 2c 23 31 32 38 30 3a 42 4e 45 20 62 |fset,#1280:BNE b| 0000ef90 6f 74 5f 6c 6f 6f 70 0d 08 1f 47 20 53 55 42 20 |ot_loop...G SUB | 0000efa0 62 61 73 65 2c 62 61 73 65 2c 23 31 32 38 30 3a |base,base,#1280:| 0000efb0 4d 4f 56 20 6f 66 66 73 65 74 2c 23 30 3a 53 55 |MOV offset,#0:SU| 0000efc0 42 53 20 6c 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 |BS lines,lines,#| 0000efd0 31 3a 42 4e 45 20 62 6f 74 5f 6c 6f 6f 70 0d 08 |1:BNE bot_loop..| 0000efe0 20 23 20 2e 66 62 65 78 69 74 20 4d 4f 56 20 52 | # .fbexit MOV R| 0000eff0 30 2c 62 61 73 65 3a 4d 4f 56 20 50 43 2c 52 31 |0,base:MOV PC,R1| 0000f000 34 0d 08 21 04 0d 08 22 10 20 2e 66 69 6e 64 5f |4..!...". .find_| 0000f010 72 69 67 68 74 0d 08 23 4c 20 4d 4f 56 20 6f 66 |right..#L MOV of| 0000f020 66 73 65 74 2c 23 31 32 36 34 3a 4c 44 52 20 62 |fset,#1264:LDR b| 0000f030 61 73 65 2c 66 74 5f 72 69 67 68 74 3a 4c 44 52 |ase,ft_right:LDR| 0000f040 20 77 68 69 74 65 2c 66 74 5f 77 68 69 74 65 3a | white,ft_white:| 0000f050 4c 44 52 20 6c 69 6e 65 73 2c 66 72 6c 69 6e 65 |LDR lines,frline| 0000f060 73 0d 08 24 41 20 2e 72 69 67 68 74 5f 6c 6f 6f |s..$A .right_loo| 0000f070 70 20 4c 44 52 20 64 61 74 61 2c 5b 62 61 73 65 |p LDR data,[base| 0000f080 2c 6f 66 66 73 65 74 5d 3a 43 4d 50 20 64 61 74 |,offset]:CMP dat| 0000f090 61 2c 77 68 69 74 65 3a 42 45 51 20 66 72 65 78 |a,white:BEQ frex| 0000f0a0 69 74 0d 08 25 3b 20 41 44 44 20 62 61 73 65 2c |it..%; ADD base,| 0000f0b0 62 61 73 65 2c 23 31 32 38 30 3a 53 55 42 53 20 |base,#1280:SUBS | 0000f0c0 6c 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 |lines,lines,#1:B| 0000f0d0 4e 45 20 72 69 67 68 74 5f 6c 6f 6f 70 0d 08 26 |NE right_loop..&| 0000f0e0 4d 20 4c 44 52 20 62 61 73 65 2c 66 74 5f 72 69 |M LDR base,ft_ri| 0000f0f0 67 68 74 3a 4c 44 52 20 6c 69 6e 65 73 2c 66 72 |ght:LDR lines,fr| 0000f100 6c 69 6e 65 73 3a 53 55 42 53 20 6f 66 66 73 65 |lines:SUBS offse| 0000f110 74 2c 6f 66 66 73 65 74 2c 23 34 3a 42 4e 45 20 |t,offset,#4:BNE | 0000f120 72 69 67 68 74 5f 6c 6f 6f 70 0d 08 27 28 20 2e |right_loop..'( .| 0000f130 66 72 65 78 69 74 20 41 44 44 20 52 30 2c 6f 66 |frexit ADD R0,of| 0000f140 66 73 65 74 2c 23 38 3a 4d 4f 56 20 50 43 2c 52 |fset,#8:MOV PC,R| 0000f150 31 34 0d 08 28 04 0d 08 29 10 20 2e 67 65 74 5f |14..(...). .get_| 0000f160 73 63 72 65 65 6e 0d 08 2a 2a 20 4c 44 52 20 6f |screen..** LDR o| 0000f170 66 66 73 65 74 2c 67 65 74 77 69 64 74 68 3a 4c |ffset,getwidth:L| 0000f180 44 52 20 62 61 73 65 2c 67 65 74 73 74 61 72 74 |DR base,getstart| 0000f190 0d 08 2b 2a 20 4c 44 52 20 62 61 73 65 32 2c 67 |..+* LDR base2,g| 0000f1a0 65 74 73 74 6f 72 65 3a 4c 44 52 20 6c 69 6e 65 |etstore:LDR line| 0000f1b0 73 2c 67 65 74 6c 69 6e 65 73 0d 08 2c 3d 20 2e |s,getlines..,= .| 0000f1c0 67 65 74 5f 6c 6f 6f 70 20 4c 44 52 20 64 61 74 |get_loop LDR dat| 0000f1d0 61 2c 5b 62 61 73 65 2c 6f 66 66 73 65 74 5d 3a |a,[base,offset]:| 0000f1e0 53 54 52 20 64 61 74 61 2c 5b 62 61 73 65 32 2c |STR data,[base2,| 0000f1f0 6f 66 66 73 65 74 5d 0d 08 2d 27 20 53 55 42 53 |offset]..-' SUBS| 0000f200 20 6f 66 66 73 65 74 2c 6f 66 66 73 65 74 2c 23 | offset,offset,#| 0000f210 34 3a 42 50 4c 20 67 65 74 5f 6c 6f 6f 70 0d 08 |4:BPL get_loop..| 0000f220 2e 2c 20 4c 44 52 20 6f 66 66 73 65 74 2c 67 65 |., LDR offset,ge| 0000f230 74 77 69 64 74 68 3a 41 44 44 20 62 61 73 65 2c |twidth:ADD base,| 0000f240 62 61 73 65 2c 23 31 32 38 30 0d 08 2f 1b 20 41 |base,#1280../. A| 0000f250 44 44 20 62 61 73 65 32 2c 62 61 73 65 32 2c 6f |DD base2,base2,o| 0000f260 66 66 73 65 74 0d 08 30 25 20 53 55 42 53 20 6c |ffset..0% SUBS l| 0000f270 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 4e |ines,lines,#1:BN| 0000f280 45 20 67 65 74 5f 6c 6f 6f 70 0d 08 31 0f 20 4d |E get_loop..1. M| 0000f290 4f 56 20 50 43 2c 52 31 34 0d 08 32 04 0d 08 33 |OV PC,R14..2...3| 0000f2a0 14 20 3b 20 2d 20 2d 20 2d 20 2d 20 2d 20 2d 20 |. ; - - - - - - | 0000f2b0 2d 0d 08 34 04 0d 08 35 13 20 2e 6f 75 74 70 75 |-..4...5. .outpu| 0000f2c0 74 5f 73 70 72 69 74 65 0d 08 36 2c 20 53 54 52 |t_sprite..6, STR| 0000f2d0 20 52 31 33 2c 72 31 33 5f 74 65 6d 70 3a 4c 44 | R13,r13_temp:LD| 0000f2e0 52 20 52 31 33 2c 76 65 72 74 69 63 61 6c 5f 73 |R R13,vertical_s| 0000f2f0 74 61 72 74 0d 08 37 2c 20 4c 44 52 20 52 30 2c |tart..7, LDR R0,| 0000f300 63 6f 6c 6f 75 72 5f 73 74 6f 72 65 3a 53 54 52 |colour_store:STR| 0000f310 20 52 30 2c 63 6f 6c 6f 75 72 5f 73 74 61 72 74 | R0,colour_start| 0000f320 0d 08 38 2d 20 4c 44 52 20 52 30 2c 63 6f 6c 6f |..8- LDR R0,colo| 0000f330 75 72 5f 68 65 69 67 68 74 3a 53 54 52 20 52 30 |ur_height:STR R0| 0000f340 2c 63 6f 6c 6f 75 72 5f 6c 69 6e 65 73 0d 08 39 |,colour_lines..9| 0000f350 39 20 4c 44 52 20 62 61 73 65 2c 6f 70 73 74 61 |9 LDR base,opsta| 0000f360 72 74 3a 4c 44 52 20 62 61 73 65 32 2c 67 65 74 |rt:LDR base2,get| 0000f370 73 74 6f 72 65 3a 53 55 42 20 52 30 2c 62 61 73 |store:SUB R0,bas| 0000f380 65 32 2c 23 31 36 0d 08 3a 3b 20 4c 44 52 20 6f |e2,#16..:; LDR o| 0000f390 66 66 73 65 74 2c 5b 52 30 2c 23 30 5d 3a 4c 44 |ffset,[R0,#0]:LD| 0000f3a0 52 20 6c 69 6e 65 73 2c 5b 52 30 2c 23 34 5d 3a |R lines,[R0,#4]:| 0000f3b0 4c 44 52 20 6d 61 73 6b 31 2c 5b 52 30 2c 23 38 |LDR mask1,[R0,#8| 0000f3c0 5d 0d 08 3b 1b 20 4d 4f 56 20 6d 61 73 6b 32 2c |]..;. MOV mask2,| 0000f3d0 6d 61 73 6b 31 2c 41 53 4c 23 31 36 0d 08 3c 04 |mask1,ASL#16..<.| 0000f3e0 0d 08 3d 0c 20 2e 6f 70 6c 6f 6f 70 0d 08 3e 1d |..=. .oploop..>.| 0000f3f0 20 4c 44 52 20 64 61 74 61 32 2c 5b 62 61 73 65 | LDR data2,[base| 0000f400 32 2c 6f 66 66 73 65 74 5d 0d 08 3f 32 20 4d 4f |2,offset]..?2 MO| 0000f410 56 20 64 61 74 61 31 2c 64 61 74 61 32 2c 41 53 |V data1,data2,AS| 0000f420 4c 23 31 36 3a 4d 4f 56 20 64 61 74 61 31 2c 64 |L#16:MOV data1,d| 0000f430 61 74 61 31 2c 4c 53 52 23 31 36 0d 08 40 32 20 |ata1,LSR#16..@2 | 0000f440 4d 4f 56 20 64 61 74 61 32 2c 64 61 74 61 32 2c |MOV data2,data2,| 0000f450 4c 53 52 23 31 36 3a 4d 4f 56 20 64 61 74 61 32 |LSR#16:MOV data2| 0000f460 2c 64 61 74 61 32 2c 41 53 4c 23 31 36 0d 08 41 |,data2,ASL#16..A| 0000f470 1c 20 4c 44 52 20 73 63 72 6e 32 2c 5b 62 61 73 |. LDR scrn2,[bas| 0000f480 65 2c 6f 66 66 73 65 74 5d 0d 08 42 32 20 4d 4f |e,offset]..B2 MO| 0000f490 56 20 73 63 72 6e 31 2c 73 63 72 6e 32 2c 41 53 |V scrn1,scrn2,AS| 0000f4a0 4c 23 31 36 3a 4d 4f 56 20 73 63 72 6e 31 2c 73 |L#16:MOV scrn1,s| 0000f4b0 63 72 6e 31 2c 4c 53 52 23 31 36 0d 08 43 32 20 |crn1,LSR#16..C2 | 0000f4c0 4d 4f 56 20 73 63 72 6e 32 2c 73 63 72 6e 32 2c |MOV scrn2,scrn2,| 0000f4d0 4c 53 52 23 31 36 3a 4d 4f 56 20 73 63 72 6e 32 |LSR#16:MOV scrn2| 0000f4e0 2c 73 63 72 6e 32 2c 41 53 4c 23 31 36 0d 08 44 |,scrn2,ASL#16..D| 0000f4f0 04 0d 08 45 39 20 4c 44 52 20 63 6f 6c 6f 75 72 |...E9 LDR colour| 0000f500 2c 63 6f 6c 6f 75 72 5f 73 74 6f 72 65 3a 43 4d |,colour_store:CM| 0000f510 50 20 63 6f 6c 6f 75 72 2c 23 31 3a 42 4e 45 20 |P colour,#1:BNE | 0000f520 6e 6f 74 5f 73 68 61 64 6f 77 0d 08 46 04 0d 08 |not_shadow..F...| 0000f530 47 36 20 53 54 52 20 52 30 2c 72 30 5f 74 65 6d |G6 STR R0,r0_tem| 0000f540 70 3a 41 44 52 20 52 30 2c 72 65 67 5f 73 74 6f |p:ADR R0,reg_sto| 0000f550 72 65 3a 53 54 4d 49 41 20 52 30 2c 7b 52 31 2d |re:STMIA R0,{R1-| 0000f560 52 31 31 7d 0d 08 48 31 20 4c 44 52 20 74 61 62 |R11}..H1 LDR tab| 0000f570 6c 65 2c 73 68 61 64 6f 77 5f 74 61 62 6c 65 5f |le,shadow_table_| 0000f580 61 64 64 72 65 73 73 3a 4d 4f 56 20 72 65 73 75 |address:MOV resu| 0000f590 6c 74 2c 23 30 0d 08 49 32 20 43 4d 50 20 64 61 |lt,#0..I2 CMP da| 0000f5a0 74 61 31 2c 6d 61 73 6b 31 3a ec 51 20 72 65 73 |ta1,mask1:.Q res| 0000f5b0 75 6c 74 2c 73 63 72 6e 31 3a 42 45 51 20 6e 65 |ult,scrn1:BEQ ne| 0000f5c0 78 74 5f 68 61 6c 66 0d 08 4a 2a 20 80 20 52 32 |xt_half..J* . R2| 0000f5d0 2c 73 63 72 6e 31 2c 23 33 31 3a 4c 44 52 42 20 |,scrn1,#31:LDRB | 0000f5e0 72 65 73 75 6c 74 2c 5b 74 61 62 6c 65 2c 52 32 |result,[table,R2| 0000f5f0 5d 0d 08 4b 39 20 4d 4f 56 20 52 32 2c 73 63 72 |]..K9 MOV R2,scr| 0000f600 6e 31 2c 4c 53 52 23 35 3a 80 20 52 32 2c 52 32 |n1,LSR#5:. R2,R2| 0000f610 2c 23 33 31 3a 4c 44 52 42 20 64 61 74 61 33 2c |,#31:LDRB data3,| 0000f620 5b 74 61 62 6c 65 2c 52 32 5d 0d 08 4c 32 20 4d |[table,R2]..L2 M| 0000f630 4f 56 20 64 61 74 61 33 2c 64 61 74 61 33 2c 4c |OV data3,data3,L| 0000f640 53 4c 23 35 3a 41 44 44 20 72 65 73 75 6c 74 2c |SL#5:ADD result,| 0000f650 72 65 73 75 6c 74 2c 64 61 74 61 33 0d 08 4d 3a |result,data3..M:| 0000f660 20 4d 4f 56 20 52 32 2c 73 63 72 6e 31 2c 4c 53 | MOV R2,scrn1,LS| 0000f670 52 23 31 30 3a 80 20 52 32 2c 52 32 2c 23 33 31 |R#10:. R2,R2,#31| 0000f680 3a 4c 44 52 42 20 64 61 74 61 33 2c 5b 74 61 62 |:LDRB data3,[tab| 0000f690 6c 65 2c 52 32 5d 0d 08 4e 33 20 4d 4f 56 20 64 |le,R2]..N3 MOV d| 0000f6a0 61 74 61 33 2c 64 61 74 61 33 2c 4c 53 4c 23 31 |ata3,data3,LSL#1| 0000f6b0 30 3a 41 44 44 20 72 65 73 75 6c 74 2c 72 65 73 |0:ADD result,res| 0000f6c0 75 6c 74 2c 64 61 74 61 33 0d 08 4f 04 0d 08 50 |ult,data3..O...P| 0000f6d0 4a 20 2e 6e 65 78 74 5f 68 61 6c 66 20 43 4d 50 |J .next_half CMP| 0000f6e0 20 64 61 74 61 32 2c 6d 61 73 6b 32 3a 41 44 44 | data2,mask2:ADD| 0000f6f0 45 51 20 72 65 73 75 6c 74 2c 72 65 73 75 6c 74 |EQ result,result| 0000f700 2c 73 63 72 6e 32 3a 42 45 51 20 73 74 6f 72 65 |,scrn2:BEQ store| 0000f710 5f 72 65 73 75 6c 74 0d 08 51 3a 20 4d 4f 56 20 |_result..Q: MOV | 0000f720 52 32 2c 73 63 72 6e 32 2c 4c 53 52 23 31 36 3a |R2,scrn2,LSR#16:| 0000f730 80 20 52 32 2c 52 32 2c 23 33 31 3a 4c 44 52 42 |. R2,R2,#31:LDRB| 0000f740 20 64 61 74 61 33 2c 5b 74 61 62 6c 65 2c 52 32 | data3,[table,R2| 0000f750 5d 0d 08 52 33 20 4d 4f 56 20 64 61 74 61 33 2c |]..R3 MOV data3,| 0000f760 64 61 74 61 33 2c 4c 53 4c 23 31 36 3a 41 44 44 |data3,LSL#16:ADD| 0000f770 20 72 65 73 75 6c 74 2c 72 65 73 75 6c 74 2c 64 | result,result,d| 0000f780 61 74 61 33 0d 08 53 3a 20 4d 4f 56 20 52 32 2c |ata3..S: MOV R2,| 0000f790 73 63 72 6e 32 2c 4c 53 52 23 32 31 3a 80 20 52 |scrn2,LSR#21:. R| 0000f7a0 32 2c 52 32 2c 23 33 31 3a 4c 44 52 42 20 64 61 |2,R2,#31:LDRB da| 0000f7b0 74 61 33 2c 5b 74 61 62 6c 65 2c 52 32 5d 0d 08 |ta3,[table,R2]..| 0000f7c0 54 33 20 4d 4f 56 20 64 61 74 61 33 2c 64 61 74 |T3 MOV data3,dat| 0000f7d0 61 33 2c 4c 53 4c 23 32 31 3a 41 44 44 20 72 65 |a3,LSL#21:ADD re| 0000f7e0 73 75 6c 74 2c 72 65 73 75 6c 74 2c 64 61 74 61 |sult,result,data| 0000f7f0 33 0d 08 55 3a 20 4d 4f 56 20 52 32 2c 73 63 72 |3..U: MOV R2,scr| 0000f800 6e 32 2c 4c 53 52 23 32 36 3a 80 20 52 32 2c 52 |n2,LSR#26:. R2,R| 0000f810 32 2c 23 33 31 3a 4c 44 52 42 20 64 61 74 61 33 |2,#31:LDRB data3| 0000f820 2c 5b 74 61 62 6c 65 2c 52 32 5d 0d 08 56 33 20 |,[table,R2]..V3 | 0000f830 4d 4f 56 20 64 61 74 61 33 2c 64 61 74 61 33 2c |MOV data3,data3,| 0000f840 4c 53 4c 23 32 36 3a 41 44 44 20 72 65 73 75 6c |LSL#26:ADD resul| 0000f850 74 2c 72 65 73 75 6c 74 2c 64 61 74 61 33 0d 08 |t,result,data3..| 0000f860 57 35 20 2e 73 74 6f 72 65 5f 72 65 73 75 6c 74 |W5 .store_result| 0000f870 20 41 44 52 20 52 30 2c 72 65 67 5f 73 74 6f 72 | ADR R0,reg_stor| 0000f880 65 3a 4c 44 4d 49 41 20 52 30 2c 7b 52 31 2d 52 |e:LDMIA R0,{R1-R| 0000f890 31 31 7d 0d 08 58 3a 20 4c 44 52 20 52 30 2c 72 |11}..X: LDR R0,r| 0000f8a0 30 5f 74 65 6d 70 3a 53 54 52 20 72 65 73 75 6c |0_temp:STR resul| 0000f8b0 74 2c 5b 62 61 73 65 2c 6f 66 66 73 65 74 5d 3a |t,[base,offset]:| 0000f8c0 42 20 73 68 61 64 6f 77 5f 6a 75 6d 70 0d 08 59 |B shadow_jump..Y| 0000f8d0 04 0d 08 5a 10 20 2e 6e 6f 74 5f 73 68 61 64 6f |...Z. .not_shado| 0000f8e0 77 0d 08 5b 26 20 43 4d 50 20 63 6f 6c 6f 75 72 |w..[& CMP colour| 0000f8f0 2c 23 32 3a 42 4e 45 20 6e 6f 74 5f 66 69 6c 74 |,#2:BNE not_filt| 0000f900 65 72 5f 74 65 78 74 0d 08 5c 36 20 53 54 52 20 |er_text..\6 STR | 0000f910 52 30 2c 72 30 5f 74 65 6d 70 3a 41 44 52 20 52 |R0,r0_temp:ADR R| 0000f920 30 2c 72 65 67 5f 73 74 6f 72 65 3a 53 54 4d 49 |0,reg_store:STMI| 0000f930 41 20 52 30 2c 7b 52 31 2d 52 31 32 7d 0d 08 5d |A R0,{R1-R12}..]| 0000f940 1e 20 4c 44 52 20 52 31 2c 63 6f 6c 6f 75 72 5f |. LDR R1,colour_| 0000f950 66 69 6c 74 65 72 5f 6d 61 73 6b 0d 08 5e 24 20 |filter_mask..^$ | 0000f960 43 4d 50 20 64 61 74 61 31 2c 6d 61 73 6b 31 3a |CMP data1,mask1:| 0000f970 ec 51 20 72 65 73 75 6c 74 2c 73 63 72 6e 31 0d |.Q result,scrn1.| 0000f980 08 5f 1a 20 42 49 43 4e 45 20 72 65 73 75 6c 74 |._. BICNE result| 0000f990 2c 73 63 72 6e 31 2c 52 31 0d 08 60 2e 20 43 4d |,scrn1,R1..`. CM| 0000f9a0 50 20 64 61 74 61 32 2c 6d 61 73 6b 32 3a 41 44 |P data2,mask2:AD| 0000f9b0 44 45 51 20 72 65 73 75 6c 74 2c 72 65 73 75 6c |DEQ result,resul| 0000f9c0 74 2c 73 63 72 6e 32 0d 08 61 1d 20 4d 4f 56 4e |t,scrn2..a. MOVN| 0000f9d0 45 20 73 63 72 6e 32 2c 73 63 72 6e 32 2c 4c 53 |E scrn2,scrn2,LS| 0000f9e0 52 23 31 36 0d 08 62 34 20 42 49 43 4e 45 20 52 |R#16..b4 BICNE R| 0000f9f0 38 2c 73 63 72 6e 32 2c 52 31 3a 41 44 44 4e 45 |8,scrn2,R1:ADDNE| 0000fa00 20 72 65 73 75 6c 74 2c 72 65 73 75 6c 74 2c 52 | result,result,R| 0000fa10 38 2c 4c 53 4c 23 31 36 0d 08 63 1d 20 53 54 52 |8,LSL#16..c. STR| 0000fa20 20 72 65 73 75 6c 74 2c 5b 62 61 73 65 2c 6f 66 | result,[base,of| 0000fa30 66 73 65 74 5d 0d 08 64 36 20 41 44 52 20 52 30 |fset]..d6 ADR R0| 0000fa40 2c 72 65 67 5f 73 74 6f 72 65 3a 4c 44 4d 49 41 |,reg_store:LDMIA| 0000fa50 20 52 30 2c 7b 52 31 2d 52 31 32 7d 3a 4c 44 52 | R0,{R1-R12}:LDR| 0000fa60 20 52 30 2c 72 30 5f 74 65 6d 70 0d 08 65 12 20 | R0,r0_temp..e. | 0000fa70 42 20 73 68 61 64 6f 77 5f 6a 75 6d 70 0d 08 66 |B shadow_jump..f| 0000fa80 04 0d 08 67 15 20 2e 6e 6f 74 5f 66 69 6c 74 65 |...g. .not_filte| 0000fa90 72 5f 74 65 78 74 0d 08 68 38 20 43 4d 50 20 64 |r_text..h8 CMP d| 0000faa0 61 74 61 31 2c 6d 61 73 6b 31 3a 4d 4f 56 4e 45 |ata1,mask1:MOVNE| 0000fab0 20 72 65 73 75 6c 74 2c 63 6f 6c 6f 75 72 3a ec | result,colour:.| 0000fac0 51 20 72 65 73 75 6c 74 2c 73 63 72 6e 31 0d 08 |Q result,scrn1..| 0000fad0 69 36 20 43 4d 50 20 64 61 74 61 32 2c 6d 61 73 |i6 CMP data2,mas| 0000fae0 6b 32 3a 41 44 44 4e 45 20 72 65 73 75 6c 74 2c |k2:ADDNE result,| 0000faf0 72 65 73 75 6c 74 2c 63 6f 6c 6f 75 72 2c 41 53 |result,colour,AS| 0000fb00 4c 23 31 36 0d 08 6a 37 20 41 44 44 45 51 20 72 |L#16..j7 ADDEQ r| 0000fb10 65 73 75 6c 74 2c 72 65 73 75 6c 74 2c 73 63 72 |esult,result,scr| 0000fb20 6e 32 3a 53 54 52 20 72 65 73 75 6c 74 2c 5b 62 |n2:STR result,[b| 0000fb30 61 73 65 2c 6f 66 66 73 65 74 5d 0d 08 6b 04 0d |ase,offset]..k..| 0000fb40 08 6c 32 20 2e 73 68 61 64 6f 77 5f 6a 75 6d 70 |.l2 .shadow_jump| 0000fb50 20 53 55 42 53 20 6f 66 66 73 65 74 2c 6f 66 66 | SUBS offset,off| 0000fb60 73 65 74 2c 23 34 3a 42 50 4c 20 6f 70 6c 6f 6f |set,#4:BPL oploo| 0000fb70 70 0d 08 6d 2b 20 4c 44 52 20 6f 66 66 73 65 74 |p..m+ LDR offset| 0000fb80 2c 5b 52 30 2c 23 30 5d 3a 41 44 44 20 62 61 73 |,[R0,#0]:ADD bas| 0000fb90 65 2c 62 61 73 65 2c 23 31 32 38 30 0d 08 6e 2d |e,base,#1280..n-| 0000fba0 20 4c 44 52 20 64 61 74 61 31 2c 67 65 74 77 69 | LDR data1,getwi| 0000fbb0 64 74 68 3a 41 44 44 20 62 61 73 65 32 2c 62 61 |dth:ADD base2,ba| 0000fbc0 73 65 32 2c 64 61 74 61 31 0d 08 6f 20 20 43 4d |se2,data1..o CM| 0000fbd0 50 20 63 6f 6c 6f 75 72 2c 23 30 3a 42 45 51 20 |P colour,#0:BEQ | 0000fbe0 6e 65 78 74 5f 6c 69 6e 65 0d 08 70 20 20 43 4d |next_line..p CM| 0000fbf0 50 20 63 6f 6c 6f 75 72 2c 23 32 3a 42 45 51 20 |P colour,#2:BEQ | 0000fc00 6e 65 78 74 5f 6c 69 6e 65 0d 08 71 04 0d 08 72 |next_line..q...r| 0000fc10 26 20 41 44 52 20 52 39 2c 72 65 67 5f 73 74 6f |& ADR R9,reg_sto| 0000fc20 72 65 3a 53 54 4d 49 41 20 52 39 2c 7b 52 30 2d |re:STMIA R9,{R0-| 0000fc30 52 37 7d 0d 08 73 49 20 4c 44 52 20 52 30 2c 63 |R7}..sI LDR R0,c| 0000fc40 6f 6c 6f 75 72 5f 6c 69 6e 65 73 3a 53 55 42 53 |olour_lines:SUBS| 0000fc50 20 52 30 2c 52 30 2c 23 31 3a 53 54 52 20 52 30 | R0,R0,#1:STR R0| 0000fc60 2c 63 6f 6c 6f 75 72 5f 6c 69 6e 65 73 3a 42 4e |,colour_lines:BN| 0000fc70 45 20 77 72 63 6f 6c 5f 65 78 69 74 0d 08 74 2d |E wrcol_exit..t-| 0000fc80 20 4c 44 52 20 52 30 2c 63 6f 6c 6f 75 72 5f 68 | LDR R0,colour_h| 0000fc90 65 69 67 68 74 3a 53 54 52 20 52 30 2c 63 6f 6c |eight:STR R0,col| 0000fca0 6f 75 72 5f 6c 69 6e 65 73 0d 08 75 33 20 4c 44 |our_lines..u3 LD| 0000fcb0 52 20 52 30 2c 63 6f 6c 6f 75 72 5f 69 6e 63 5f |R R0,colour_inc_| 0000fcc0 6f 72 5f 64 65 63 3a 43 4d 50 20 52 30 2c 23 31 |or_dec:CMP R0,#1| 0000fcd0 3a 42 45 51 20 63 6f 6c 5f 69 6e 63 0d 08 76 4e |:BEQ col_inc..vN| 0000fce0 20 2e 63 6f 6c 5f 64 65 63 20 4c 44 52 20 52 37 | .col_dec LDR R7| 0000fcf0 2c 63 6f 6c 6f 75 72 5f 64 65 63 72 65 6d 65 6e |,colour_decremen| 0000fd00 74 3a 53 55 42 20 63 6f 6c 6f 75 72 2c 63 6f 6c |t:SUB colour,col| 0000fd10 6f 75 72 2c 52 37 3a 4c 44 52 20 52 37 2c 63 6f |our,R7:LDR R7,co| 0000fd20 6c 6f 75 72 5f 6c 69 6d 69 74 0d 08 77 47 20 43 |lour_limit..wG C| 0000fd30 4d 50 20 63 6f 6c 6f 75 72 2c 52 37 3a 4d 4f 56 |MP colour,R7:MOV| 0000fd40 4c 54 20 63 6f 6c 6f 75 72 2c 52 37 3a 53 54 52 |LT colour,R7:STR| 0000fd50 20 63 6f 6c 6f 75 72 2c 63 6f 6c 6f 75 72 5f 73 | colour,colour_s| 0000fd60 74 6f 72 65 3a 42 20 77 72 63 6f 6c 5f 65 78 69 |tore:B wrcol_exi| 0000fd70 74 0d 08 78 4e 20 2e 63 6f 6c 5f 69 6e 63 20 4c |t..xN .col_inc L| 0000fd80 44 52 20 52 37 2c 63 6f 6c 6f 75 72 5f 64 65 63 |DR R7,colour_dec| 0000fd90 72 65 6d 65 6e 74 3a 41 44 44 20 63 6f 6c 6f 75 |rement:ADD colou| 0000fda0 72 2c 63 6f 6c 6f 75 72 2c 52 37 3a 4c 44 52 20 |r,colour,R7:LDR | 0000fdb0 52 37 2c 63 6f 6c 6f 75 72 5f 6c 69 6d 69 74 0d |R7,colour_limit.| 0000fdc0 08 79 3a 20 43 4d 50 20 63 6f 6c 6f 75 72 2c 52 |.y: CMP colour,R| 0000fdd0 37 3a 4d 4f 56 47 54 20 63 6f 6c 6f 75 72 2c 52 |7:MOVGT colour,R| 0000fde0 37 3a 53 54 52 20 63 6f 6c 6f 75 72 2c 63 6f 6c |7:STR colour,col| 0000fdf0 6f 75 72 5f 73 74 6f 72 65 0d 08 7a 32 20 2e 77 |our_store..z2 .w| 0000fe00 72 63 6f 6c 5f 65 78 69 74 20 41 44 52 20 52 39 |rcol_exit ADR R9| 0000fe10 2c 72 65 67 5f 73 74 6f 72 65 3a 4c 44 4d 49 41 |,reg_store:LDMIA| 0000fe20 20 52 39 2c 7b 52 30 2d 52 37 7d 0d 08 7b 04 0d | R9,{R0-R7}..{..| 0000fe30 08 7c 0f 20 2e 6e 65 78 74 5f 6c 69 6e 65 0d 08 |.|. .next_line..| 0000fe40 7d 47 20 53 55 42 53 20 52 31 33 2c 52 31 33 2c |}G SUBS R13,R13,| 0000fe50 23 31 3a 4c 44 52 45 51 20 63 6f 6c 6f 75 72 2c |#1:LDREQ colour,| 0000fe60 63 6f 6c 6f 75 72 5f 73 74 61 72 74 3a 4c 44 52 |colour_start:LDR| 0000fe70 45 51 20 52 31 33 2c 76 65 72 74 69 63 61 6c 5f |EQ R13,vertical_| 0000fe80 73 74 61 72 74 0d 08 7e 1e 20 53 54 52 45 51 20 |start..~. STREQ | 0000fe90 63 6f 6c 6f 75 72 2c 63 6f 6c 6f 75 72 5f 73 74 |colour,colour_st| 0000fea0 6f 72 65 0d 08 7f 23 20 53 55 42 53 20 6c 69 6e |ore...# SUBS lin| 0000feb0 65 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 4e 45 20 |es,lines,#1:BNE | 0000fec0 6f 70 6c 6f 6f 70 0d 08 80 20 20 4c 44 52 20 52 |oploop... LDR R| 0000fed0 31 33 2c 72 31 33 5f 74 65 6d 70 3a 4d 4f 56 20 |13,r13_temp:MOV | 0000fee0 50 43 2c 52 31 34 0d 08 81 04 0d 08 82 1b 20 2e |PC,R14........ .| 0000fef0 76 65 72 74 69 63 61 6c 5f 73 74 61 72 74 20 45 |vertical_start E| 0000ff00 51 55 44 20 30 0d 08 83 19 20 2e 63 6f 6c 6f 75 |QUD 0.... .colou| 0000ff10 72 5f 73 74 61 72 74 20 45 51 55 44 20 30 0d 08 |r_start EQUD 0..| 0000ff20 84 19 20 2e 63 6f 6c 6f 75 72 5f 73 74 6f 72 65 |.. .colour_store| 0000ff30 20 45 51 55 44 20 30 0d 08 85 19 20 2e 63 6f 6c | EQUD 0.... .col| 0000ff40 6f 75 72 5f 6c 69 6d 69 74 20 45 51 55 44 20 30 |our_limit EQUD 0| 0000ff50 0d 08 86 1d 20 2e 63 6f 6c 6f 75 72 5f 64 65 63 |.... .colour_dec| 0000ff60 72 65 6d 65 6e 74 20 45 51 55 44 20 30 0d 08 87 |rement EQUD 0...| 0000ff70 1a 20 2e 63 6f 6c 6f 75 72 5f 68 65 69 67 68 74 |. .colour_height| 0000ff80 20 45 51 55 44 20 30 0d 08 88 19 20 2e 63 6f 6c | EQUD 0.... .col| 0000ff90 6f 75 72 5f 6c 69 6e 65 73 20 45 51 55 44 20 30 |our_lines EQUD 0| 0000ffa0 0d 08 89 2f 20 2e 63 6f 6c 6f 75 72 5f 66 69 6c |.../ .colour_fil| 0000ffb0 74 65 72 5f 6d 61 73 6b 20 45 51 55 44 20 25 30 |ter_mask EQUD %0| 0000ffc0 31 31 31 31 31 31 31 31 31 31 30 30 30 30 30 0d |111111111100000.| 0000ffd0 08 8a 1e 20 2e 63 6f 6c 6f 75 72 5f 69 6e 63 5f |... .colour_inc_| 0000ffe0 6f 72 5f 64 65 63 20 45 51 55 44 20 30 0d 08 8b |or_dec EQUD 0...| 0000fff0 15 20 2e 72 31 33 5f 74 65 6d 70 20 45 51 55 44 |. .r13_temp EQUD| 00010000 20 30 0d 08 8c 15 20 2e 72 30 5f 74 65 6d 70 20 | 0.... .r0_temp | 00010010 20 45 51 55 44 20 30 0d 08 8d 40 20 2e 72 65 67 | EQUD 0...@ .reg| 00010020 5f 73 74 6f 72 65 20 45 51 55 44 20 30 3a 45 51 |_store EQUD 0:EQ| 00010030 55 44 20 30 3a 45 51 55 44 20 30 3a 45 51 55 44 |UD 0:EQUD 0:EQUD| 00010040 20 30 3a 45 51 55 44 20 30 3a 45 51 55 44 20 30 | 0:EQUD 0:EQUD 0| 00010050 3a 45 51 55 44 20 30 0d 08 8e 40 20 20 20 20 20 |:EQUD 0...@ | 00010060 20 20 20 20 20 20 20 45 51 55 44 20 30 3a 45 51 | EQUD 0:EQ| 00010070 55 44 20 30 3a 45 51 55 44 20 30 3a 45 51 55 44 |UD 0:EQUD 0:EQUD| 00010080 20 30 3a 45 51 55 44 20 30 3a 45 51 55 44 20 30 | 0:EQUD 0:EQUD 0| 00010090 3a 45 51 55 44 20 30 0d 08 8f 21 20 2e 73 68 61 |:EQUD 0...! .sha| 000100a0 64 6f 77 5f 74 61 62 6c 65 5f 61 64 64 72 65 73 |dow_table_addres| 000100b0 73 20 45 51 55 44 20 30 0d 08 90 06 20 5d 0d 08 |s EQUD 0.... ]..| 000100c0 91 06 20 ed 0d 08 92 31 20 e7 20 50 25 2d 6d 79 |.. ....1 . P%-my| 000100d0 73 70 72 69 74 65 25 3e 39 36 30 20 8c 20 85 20 |sprite%>960 . . | 000100e0 30 2c 22 43 6f 64 65 20 74 6f 6f 20 6c 6f 6e 67 |0,"Code too long| 000100f0 20 2e 2e 2e 22 0d 08 93 06 20 e1 0d 08 94 04 0d | ...".... ......| 00010100 08 95 17 20 dd 20 f2 73 61 76 65 5f 74 61 72 67 |... . .save_targ| 00010110 61 28 73 74 24 29 0d 08 96 14 20 f2 64 69 73 70 |a(st$).... .disp| 00010120 6c 61 79 5f 6d 65 6d 6f 72 79 0d 08 97 2d 20 21 |lay_memory...- !| 00010130 74 61 72 67 61 5f 62 61 73 65 3d 6d 65 6d 62 6c |targa_base=membl| 00010140 6f 63 6b 25 2b 32 30 3a d6 20 74 61 72 67 61 5f |ock%+20:. targa_| 00010150 63 6f 6e 76 65 72 74 0d 08 98 18 20 41 25 3d 6d |convert.... A%=m| 00010160 65 6d 62 6c 6f 63 6b 25 2b 32 3a f7 20 2b 30 0d |emblock%+2:. +0.| 00010170 08 99 22 20 e3 20 4e 25 3d 41 25 20 b8 20 41 25 |.." . N%=A% . A%| 00010180 2b 31 37 3a f3 20 44 25 3a 3f 4e 25 3d 44 25 3a |+17:. D%:?N%=D%:| 00010190 ed 0d 08 9a 1f 20 65 6e 64 25 3d 28 6d 65 6d 62 |..... end%=(memb| 000101a0 6c 6f 63 6b 25 2b 32 30 29 2b 36 35 35 33 36 30 |lock%+20)+655360| 000101b0 0d 08 9b 3d 20 21 65 6e 64 25 3d 30 3a 65 6e 64 |...= !end%=0:end| 000101c0 25 21 34 3d 30 3a 24 28 65 6e 64 25 2b 38 29 3d |%!4=0:$(end%+8)=| 000101d0 22 54 52 55 45 56 49 53 49 4f 4e 2d 54 41 52 47 |"TRUEVISION-TARG| 000101e0 41 2e 22 3a 65 6e 64 25 3f 32 35 3d 30 0d 08 9c |A.":end%?25=0...| 000101f0 2f 20 dc 20 30 2c 30 2c 32 2c 30 2c 30 2c 30 2c |/ . 0,0,2,0,0,0,| 00010200 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 31 32 38 2c |0,0,0,0,0,0,128,| 00010210 32 2c 30 2c 32 2c 31 36 2c 26 32 30 0d 08 9d 34 |2,0,2,16,&20...4| 00010220 20 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 31 30 | .. "OS_File",10| 00010230 2c 73 74 24 2c 26 36 39 44 2c 30 2c 41 25 2c 41 |,st$,&69D,0,A%,A| 00010240 25 2b 26 41 30 30 32 43 3a f4 20 2a 53 41 56 45 |%+&A002C:. *SAVE| 00010250 0d 08 9e 13 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d |.... .upload_mem| 00010260 6f 72 79 0d 08 9f 06 20 e1 0d 08 a0 04 0d 08 a1 |ory.... ........| 00010270 16 20 dd 20 f2 74 61 72 67 61 5f 61 73 73 65 6d |. . .targa_assem| 00010280 62 6c 65 0d 08 a2 17 20 de 20 74 61 72 67 61 5f |ble.... . targa_| 00010290 63 6f 64 65 31 25 20 32 34 30 0d 08 a3 4b 20 62 |code1% 240...K b| 000102a0 61 73 65 3d 30 3a 6f 66 66 73 65 74 3d 31 3a 64 |ase=0:offset=1:d| 000102b0 61 74 61 3d 32 3a 72 65 64 31 3d 33 3a 72 65 64 |ata=2:red1=3:red| 000102c0 32 3d 34 3a 67 72 65 65 6e 31 3d 35 3a 67 72 65 |2=4:green1=5:gre| 000102d0 65 6e 32 3d 36 3a 62 6c 75 65 31 3d 37 3a 62 6c |en2=6:blue1=7:bl| 000102e0 75 65 32 3d 38 0d 08 a4 16 20 72 65 73 75 6c 74 |ue2=8.... result| 000102f0 3d 39 3a 77 6f 72 64 73 3d 31 30 0d 08 a5 11 20 |=9:words=10.... | 00010300 e3 20 50 3d 30 20 b8 20 32 20 88 32 0d 08 a6 14 |. P=0 . 2 .2....| 00010310 20 50 25 3d 74 61 72 67 61 5f 63 6f 64 65 31 25 | P%=targa_code1%| 00010320 0d 08 a7 0b 20 5b 4f 50 54 20 50 0d 08 a8 17 20 |.... [OPT P.... | 00010330 2e 74 61 72 67 61 5f 62 61 73 65 20 45 51 55 44 |.targa_base EQUD| 00010340 20 30 0d 08 a9 04 0d 08 aa 13 20 2e 74 61 72 67 | 0........ .targ| 00010350 61 5f 63 6f 6e 76 65 72 74 0d 08 ab 38 20 4c 44 |a_convert...8 LD| 00010360 52 20 62 61 73 65 2c 74 61 72 67 61 5f 62 61 73 |R base,targa_bas| 00010370 65 3a 4d 4f 56 20 6f 66 66 73 65 74 2c 23 30 3a |e:MOV offset,#0:| 00010380 4d 4f 56 20 77 6f 72 64 73 2c 23 31 36 33 38 34 |MOV words,#16384| 00010390 30 0d 08 ac 1e 20 2e 74 61 72 67 61 5f 6c 6f 6f |0.... .targa_loo| 000103a0 70 20 4d 4f 56 20 72 65 73 75 6c 74 2c 23 30 0d |p MOV result,#0.| 000103b0 08 ad 40 20 4c 44 52 20 64 61 74 61 2c 5b 62 61 |..@ LDR data,[ba| 000103c0 73 65 2c 6f 66 66 73 65 74 5d 3a 80 20 72 65 64 |se,offset]:. red| 000103d0 31 2c 64 61 74 61 2c 23 33 31 3a 4d 4f 56 20 72 |1,data,#31:MOV r| 000103e0 65 64 31 2c 72 65 64 31 2c 4c 53 4c 23 31 30 0d |ed1,red1,LSL#10.| 000103f0 08 ae 3e 20 4d 4f 56 20 72 65 64 32 2c 64 61 74 |..> MOV red2,dat| 00010400 61 2c 4c 53 52 23 31 36 3a 80 20 72 65 64 32 2c |a,LSR#16:. red2,| 00010410 72 65 64 32 2c 23 33 31 3a 4d 4f 56 20 72 65 64 |red2,#31:MOV red| 00010420 32 2c 72 65 64 32 2c 4c 53 4c 23 32 36 0d 08 af |2,red2,LSL#26...| 00010430 17 20 80 20 67 72 65 65 6e 31 2c 64 61 74 61 2c |. . green1,data,| 00010440 23 39 39 32 0d 08 b0 49 20 4d 4f 56 20 67 72 65 |#992...I MOV gre| 00010450 65 6e 32 2c 64 61 74 61 2c 4c 53 52 23 31 36 3a |en2,data,LSR#16:| 00010460 80 20 67 72 65 65 6e 32 2c 67 72 65 65 6e 32 2c |. green2,green2,| 00010470 23 39 39 32 3a 4d 4f 56 20 67 72 65 65 6e 32 2c |#992:MOV green2,| 00010480 67 72 65 65 6e 32 2c 4c 53 4c 23 31 36 0d 08 b1 |green2,LSL#16...| 00010490 2c 20 4d 4f 56 20 62 6c 75 65 31 2c 64 61 74 61 |, MOV blue1,data| 000104a0 2c 4c 53 52 23 31 30 3a 80 20 62 6c 75 65 31 2c |,LSR#10:. blue1,| 000104b0 62 6c 75 65 31 2c 23 33 31 0d 08 b2 43 20 4d 4f |blue1,#31...C MO| 000104c0 56 20 62 6c 75 65 32 2c 64 61 74 61 2c 4c 53 52 |V blue2,data,LSR| 000104d0 23 32 36 3a 80 20 62 6c 75 65 32 2c 62 6c 75 65 |#26:. blue2,blue| 000104e0 32 2c 23 33 31 3a 4d 4f 56 20 62 6c 75 65 32 2c |2,#31:MOV blue2,| 000104f0 62 6c 75 65 32 2c 4c 53 4c 23 31 36 0d 08 b3 04 |blue2,LSL#16....| 00010500 0d 08 b4 33 20 41 44 44 20 72 65 73 75 6c 74 2c |...3 ADD result,| 00010510 72 65 64 31 2c 67 72 65 65 6e 31 3a 41 44 44 20 |red1,green1:ADD | 00010520 72 65 73 75 6c 74 2c 72 65 73 75 6c 74 2c 62 6c |result,result,bl| 00010530 75 65 31 0d 08 b5 4c 20 41 44 44 20 72 65 73 75 |ue1...L ADD resu| 00010540 6c 74 2c 72 65 73 75 6c 74 2c 72 65 64 32 3a 41 |lt,result,red2:A| 00010550 44 44 20 72 65 73 75 6c 74 2c 72 65 73 75 6c 74 |DD result,result| 00010560 2c 67 72 65 65 6e 32 3a 41 44 44 20 72 65 73 75 |,green2:ADD resu| 00010570 6c 74 2c 72 65 73 75 6c 74 2c 62 6c 75 65 32 0d |lt,result,blue2.| 00010580 08 b6 32 20 53 54 52 20 72 65 73 75 6c 74 2c 5b |..2 STR result,[| 00010590 62 61 73 65 2c 6f 66 66 73 65 74 5d 3a 41 44 44 |base,offset]:ADD| 000105a0 20 6f 66 66 73 65 74 2c 6f 66 66 73 65 74 2c 23 | offset,offset,#| 000105b0 34 0d 08 b7 27 20 53 55 42 53 20 77 6f 72 64 73 |4...' SUBS words| 000105c0 2c 77 6f 72 64 73 2c 23 31 3a 42 4e 45 20 74 61 |,words,#1:BNE ta| 000105d0 72 67 61 5f 6c 6f 6f 70 0d 08 b8 0f 20 4d 4f 56 |rga_loop.... MOV| 000105e0 20 50 43 2c 52 31 34 0d 08 b9 04 0d 08 ba 06 20 | PC,R14........ | 000105f0 5d 0d 08 bb 06 20 ed 0d 08 bc 06 20 e1 0d 08 bd |].... ..... ....| 00010600 04 0d 08 be 15 20 dd 20 f2 66 69 6c 65 72 5f 64 |..... . .filer_d| 00010610 69 73 70 6c 61 79 0d 08 bf 04 0d 08 c0 06 20 f5 |isplay........ .| 00010620 0d 08 c1 2e 20 20 66 69 6c 65 72 5f 69 6e 66 6f |.... filer_info| 00010630 25 3d 30 3a 62 6f 78 25 3d 30 3a 72 65 66 72 65 |%=0:box%=0:refre| 00010640 73 68 25 3d b9 3a 72 69 67 68 74 25 3d 30 0d 08 |sh%=.:right%=0..| 00010650 c2 29 20 20 e6 20 32 31 36 2c 32 31 36 2c 32 31 |.) . 216,216,21| 00010660 36 3a c8 93 20 c8 90 20 30 2c 2d 35 30 2c 31 32 |6:.. .. 0,-50,12| 00010670 38 30 2c 31 30 37 34 0d 08 c3 0d 20 20 c8 91 20 |80,1074.... .. | 00010680 30 2c 35 30 0d 08 c4 11 20 20 f2 63 6c 69 63 6b |0,50.... .click| 00010690 5f 69 6e 66 6f 0d 08 c5 07 20 20 f5 0d 08 c6 0f |_info.... .....| 000106a0 20 20 20 72 69 67 68 74 25 3d 30 0d 08 c7 13 20 | right%=0.... | 000106b0 20 20 e7 20 72 65 66 72 65 73 68 25 20 8c 0d 08 | . refresh% ...| 000106c0 c8 1c 20 20 20 20 f2 70 61 6e 65 6c 6c 65 64 5f |.. .panelled_| 000106d0 62 61 63 6b 67 72 6f 75 6e 64 0d 08 c9 13 20 20 |background.... | 000106e0 20 20 f2 70 61 74 68 5f 62 6c 6f 63 6b 0d 08 ca | .path_block...| 000106f0 17 20 20 20 20 f2 73 68 6f 77 5f 66 69 6c 65 5f |. .show_file_| 00010700 6c 69 73 74 0d 08 cb 16 20 20 20 20 f2 6d 61 6b |list.... .mak| 00010710 65 5f 6d 69 6e 69 5f 70 69 63 0d 08 cc 08 20 20 |e_mini_pic.... | 00010720 20 cd 0d 08 cd 11 20 20 20 72 65 66 72 65 73 68 | ..... refresh| 00010730 25 3d b9 0d 08 ce 04 0d 08 cf 1e 20 20 20 c8 97 |%=......... ..| 00010740 20 c8 93 20 30 2c 2d 35 30 2c 31 32 38 30 2c 39 | .. 0,-50,1280,9| 00010750 32 36 2b 38 30 0d 08 d0 22 20 20 20 78 31 25 3d |26+80..." x1%=| 00010760 30 3a 79 31 25 3d 30 3a 71 75 69 74 25 3d 30 3a |0:y1%=0:quit%=0:| 00010770 65 78 69 74 25 3d 30 0d 08 d1 16 20 20 20 f2 77 |exit%=0.... .w| 00010780 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 08 d2 |ait_no_button...| 00010790 33 20 20 20 e6 33 2c 36 33 20 c8 9c 31 39 32 3a |3 .3,63 ..192:| 000107a0 c8 93 20 c8 90 20 78 31 25 2a 32 35 36 2b 35 34 |.. .. x1%*256+54| 000107b0 2c 79 31 25 2a 34 30 2d 32 2c 31 39 38 2c 33 38 |,y1%*40-2,198,38| 000107c0 0d 08 d3 04 0d 08 d4 08 20 20 20 f5 0d 08 d5 04 |........ .....| 000107d0 0d 08 d6 09 20 20 20 20 f5 0d 08 d7 2d 20 20 20 |.... ....- | 000107e0 20 20 c8 97 20 58 2c 59 2c 42 3a 78 32 25 3d 28 | .. X,Y,B:x2%=(| 000107f0 58 2d 33 32 29 20 81 20 32 35 36 3a 79 32 25 3d |X-32) . 256:y2%=| 00010800 59 20 81 20 34 30 0d 08 d8 1a 20 20 20 20 20 f2 |Y . 40.... .| 00010810 63 68 65 63 6b 5f 61 6c 74 5f 73 5f 73 61 76 65 |check_alt_s_save| 00010820 0d 08 d9 24 20 20 20 20 fd 20 78 31 25 3c 3e 78 |...$ . x1%<>x| 00010830 32 25 20 84 20 79 31 25 3c 3e 79 32 25 20 84 20 |2% . y1%<>y2% . | 00010840 42 3c 3e 30 0d 08 da 04 0d 08 db 1c 20 20 20 20 |B<>0........ | 00010850 e7 20 42 3d 31 20 8c 20 42 3d 34 3a 72 69 67 68 |. B=1 . B=4:righ| 00010860 74 25 3d b9 0d 08 dc 04 0d 08 dd 25 20 20 20 20 |t%=........% | 00010870 e7 20 42 3d 32 20 80 20 66 74 79 70 65 24 28 62 |. B=2 . ftype$(b| 00010880 6f 78 25 29 3c 3e 22 64 69 72 22 20 8c 0d 08 de |ox%)<>"dir" ....| 00010890 34 20 20 20 20 20 f2 66 69 6c 65 72 5f 69 6e 66 |4 .filer_inf| 000108a0 6f 3a 42 3d 32 3a e6 20 32 31 36 2c 32 31 36 2c |o:B=2:. 216,216,| 000108b0 32 31 36 3a 71 75 69 74 25 3d b9 3a 79 32 25 3d |216:quit%=.:y2%=| 000108c0 30 0d 08 df 29 20 20 20 20 20 c8 93 20 c8 90 20 |0...) .. .. | 000108d0 30 2c 2d 34 30 2c 31 32 38 30 2c 32 36 38 3a f2 |0,-40,1280,268:.| 000108e0 63 6c 69 63 6b 5f 69 6e 66 6f 0d 08 e0 23 20 20 |click_info...# | 000108f0 20 20 20 e6 33 2c 36 33 3a c8 97 20 c8 93 20 30 | .3,63:.. .. 0| 00010900 2c 2d 35 30 2c 31 32 38 30 2c 39 32 36 0d 08 e1 |,-50,1280,926...| 00010910 09 20 20 20 20 cd 0d 08 e2 04 0d 08 e3 28 20 20 |. ........( | 00010920 20 20 c8 93 20 c8 90 20 78 31 25 2a 32 35 36 2b | .. .. x1%*256+| 00010930 35 34 2c 79 31 25 2a 34 30 2d 32 2c 31 39 38 2c |54,y1%*40-2,198,| 00010940 33 38 0d 08 e4 28 20 20 20 20 c8 93 20 c8 90 20 |38...( .. .. | 00010950 78 32 25 2a 32 35 36 2b 35 34 2c 79 32 25 2a 34 |x2%*256+54,y2%*4| 00010960 30 2d 32 2c 31 39 38 2c 33 38 0d 08 e5 17 20 20 |0-2,198,38.... | 00010970 20 20 78 31 25 3d 78 32 25 3a 79 31 25 3d 79 32 | x1%=x2%:y1%=y2| 00010980 25 0d 08 e6 37 20 20 20 20 e7 20 79 32 25 3e 35 |%...7 . y2%>5| 00010990 20 80 20 79 32 25 3c 32 32 20 62 6f 78 25 3d 28 | . y2%<22 box%=(| 000109a0 32 31 2d 79 31 25 29 2b 78 31 25 2a 31 36 20 8b |21-y1%)+x1%*16 .| 000109b0 20 62 6f 78 25 3d 37 39 0d 08 e7 04 0d 08 e8 19 | box%=79........| 000109c0 20 20 20 20 e7 20 63 61 74 24 28 62 6f 78 25 29 | . cat$(box%)| 000109d0 3d 22 22 20 8c 0d 08 e9 29 20 20 20 20 20 c8 93 |="" ....) ..| 000109e0 20 c8 90 20 78 32 25 2a 32 35 36 2b 35 34 2c 79 | .. x2%*256+54,y| 000109f0 32 25 2a 34 30 2d 32 2c 31 39 38 2c 33 38 0d 08 |2%*40-2,198,38..| 00010a00 ea 04 0d 08 eb 0a 20 20 20 20 20 f5 0d 08 ec 2e |...... .....| 00010a10 20 20 20 20 20 20 c8 97 20 58 2c 59 2c 42 3a 78 | .. X,Y,B:x| 00010a20 31 25 3d 28 58 2d 33 32 29 20 81 20 32 35 36 3a |1%=(X-32) . 256:| 00010a30 79 31 25 3d 59 20 81 20 34 30 0d 08 ed 3b 20 20 |y1%=Y . 40...; | 00010a40 20 20 20 20 e7 20 79 31 25 3e 35 20 80 20 79 31 | . y1%>5 . y1| 00010a50 25 3c 32 32 20 8c 20 62 6f 78 25 3d 28 32 31 2d |%<22 . box%=(21-| 00010a60 79 31 25 29 2b 78 31 25 2a 31 36 20 8b 20 62 6f |y1%)+x1%*16 . bo| 00010a70 78 25 3d 37 39 0d 08 ee 1e 20 20 20 20 20 20 e7 |x%=79.... .| 00010a80 20 42 3d 31 20 8c 20 42 3d 34 3a 72 69 67 68 74 | B=1 . B=4:right| 00010a90 25 3d b9 0d 08 ef 8c 20 20 20 20 20 fd 20 63 61 |%=..... . ca| 00010aa0 74 24 28 62 6f 78 25 29 3c 3e 22 22 20 84 20 28 |t$(box%)<>"" . (| 00010ab0 42 3d 34 20 80 20 59 3c 32 32 38 29 20 84 20 66 |B=4 . Y<228) . f| 00010ac0 69 6c 65 72 5f 69 6e 66 6f 25 20 20 20 20 20 20 |iler_info% | 00010ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00010ae0 20 20 20 20 20 20 20 20 20 20 84 20 28 42 3d 34 | . (B=4| 00010af0 20 80 20 59 3e 39 30 30 29 20 84 20 28 42 3d 34 | . Y>900) . (B=4| 00010b00 20 80 20 94 28 58 2d 31 31 34 32 29 3c 31 34 30 | . .(X-1142)<140| 00010b10 20 80 20 94 28 59 2d 32 38 32 29 3c 34 30 29 0d | . .(Y-282)<40).| 00010b20 08 f0 04 0d 08 f1 21 20 20 20 20 20 e7 20 42 3d |......! . B=| 00010b30 34 20 80 20 59 3e 39 30 30 20 80 20 58 3c 31 30 |4 . Y>900 . X<10| 00010b40 36 33 20 8c 0d 08 f2 45 20 20 20 20 20 20 62 69 |63 ....E bi| 00010b50 67 5f 64 69 72 25 3d 30 3a f2 75 73 65 72 5f 70 |g_dir%=0:.user_p| 00010b60 61 74 68 6e 61 6d 65 28 64 69 72 24 2c 32 36 30 |athname(dir$,260| 00010b70 2c 39 35 30 2c 34 36 2c b9 29 3a 72 65 66 72 65 |,950,46,.):refre| 00010b80 73 68 25 3d b9 3a 42 3d 34 0d 08 f3 0a 20 20 20 |sh%=.:B=4.... | 00010b90 20 20 cd 0d 08 f4 04 0d 08 f5 2a 20 20 20 20 20 | ........* | 00010ba0 e7 20 42 3d 34 20 80 20 59 3e 39 30 30 20 80 20 |. B=4 . Y>900 . | 00010bb0 58 3e 31 30 36 32 20 80 20 58 3c 31 31 31 30 20 |X>1062 . X<1110 | 00010bc0 8c 0d 08 f6 33 20 20 20 20 20 20 62 69 67 5f 64 |....3 big_d| 00010bd0 69 72 25 3d 30 3a f2 6c 69 73 74 5f 50 61 74 68 |ir%=0:.list_Path| 00010be0 6e 61 6d 65 73 3a 72 65 66 72 65 73 68 25 3d b9 |names:refresh%=.| 00010bf0 3a 42 3d 34 0d 08 f7 0a 20 20 20 20 20 cd 0d 08 |:B=4.... ...| 00010c00 f8 04 0d 08 f9 41 20 20 20 20 20 e7 20 94 28 58 |.....A . .(X| 00010c10 2d 35 32 30 29 3c 32 34 20 80 20 59 3e 2d 33 30 |-520)<24 . Y>-30| 00010c20 20 80 20 59 3c 31 37 30 20 8c 20 f2 6a 70 65 67 | . Y<170 . .jpeg| 00010c30 5f 62 75 74 74 6f 6e 73 3a 72 65 66 72 65 73 68 |_buttons:refresh| 00010c40 25 3d 30 0d 08 fa 3c 20 20 20 20 20 e7 20 63 61 |%=0...< . ca| 00010c50 74 24 28 62 6f 78 25 29 3c 3e 22 22 20 8c 20 c8 |t$(box%)<>"" . .| 00010c60 93 20 c8 90 20 78 31 25 2a 32 35 36 2b 35 34 2c |. .. x1%*256+54,| 00010c70 79 31 25 2a 34 30 2d 32 2c 31 39 38 2c 33 38 0d |y1%*40-2,198,38.| 00010c80 08 fb 3f 20 20 20 20 20 e7 20 42 3d 34 20 80 20 |..? . B=4 . | 00010c90 94 28 58 2d 31 30 31 32 29 3c 32 32 20 80 20 94 |.(X-1012)<22 . .| 00010ca0 28 59 2d 37 36 29 3c 32 32 20 8c 20 f2 64 72 69 |(Y-76)<22 . .dri| 00010cb0 76 65 30 3a 62 69 67 5f 64 69 72 25 3d 30 0d 08 |ve0:big_dir%=0..| 00010cc0 fc 3f 20 20 20 20 20 e7 20 42 3d 34 20 80 20 94 |.? . B=4 . .| 00010cd0 28 58 2d 31 30 36 36 29 3c 32 32 20 80 20 94 28 |(X-1066)<22 . .(| 00010ce0 59 2d 37 36 29 3c 32 32 20 8c 20 f2 64 72 69 76 |Y-76)<22 . .driv| 00010cf0 65 31 3a 62 69 67 5f 64 69 72 25 3d 30 0d 08 fd |e1:big_dir%=0...| 00010d00 3f 20 20 20 20 20 e7 20 42 3d 34 20 80 20 94 28 |? . B=4 . .(| 00010d10 58 2d 31 31 32 30 29 3c 32 32 20 80 20 94 28 59 |X-1120)<22 . .(Y| 00010d20 2d 37 36 29 3c 32 32 20 8c 20 f2 64 72 69 76 65 |-76)<22 . .drive| 00010d30 34 3a 62 69 67 5f 64 69 72 25 3d 30 0d 08 fe 3f |4:big_dir%=0...?| 00010d40 20 20 20 20 20 e7 20 42 3d 34 20 80 20 94 28 58 | . B=4 . .(X| 00010d50 2d 31 31 37 34 29 3c 32 32 20 80 20 94 28 59 2d |-1174)<22 . .(Y-| 00010d60 37 36 29 3c 32 32 20 8c 20 f2 64 72 69 76 65 35 |76)<22 . .drive5| 00010d70 3a 62 69 67 5f 64 69 72 25 3d 30 0d 08 ff 43 20 |:big_dir%=0...C | 00010d80 20 20 20 20 e7 20 42 3d 34 20 80 20 94 28 58 2d | . B=4 . .(X-| 00010d90 31 32 32 38 29 3c 32 32 20 80 20 94 28 59 2d 37 |1228)<22 . .(Y-7| 00010da0 36 29 3c 32 32 20 8c 20 f2 64 72 69 76 65 5f 75 |6)<22 . .drive_u| 00010db0 73 65 72 3a 62 69 67 5f 64 69 72 25 3d 30 0d 09 |ser:big_dir%=0..| 00010dc0 00 38 20 20 20 20 20 e7 20 42 3d 34 20 80 20 94 |.8 . B=4 . .| 00010dd0 28 58 2d 34 30 34 29 3c 32 32 20 80 20 94 28 59 |(X-404)<22 . .(Y| 00010de0 2d 39 34 29 3c 31 33 32 20 8c 20 f2 6d 65 6d 5f |-94)<132 . .mem_| 00010df0 73 65 6c 65 63 74 0d 09 01 04 0d 09 02 38 20 20 |select.......8 | 00010e00 20 20 20 e7 20 42 3d 34 20 80 20 94 28 58 2d 31 | . B=4 . .(X-1| 00010e10 32 32 36 29 3c 34 33 20 80 20 94 28 59 2d 32 36 |226)<43 . .(Y-26| 00010e20 36 29 3c 33 34 20 80 20 62 69 67 5f 64 69 72 25 |6)<34 . big_dir%| 00010e30 20 8c 0d 09 03 3f 20 20 20 20 20 20 73 68 6f 77 | ....? show| 00010e40 6e 5f 64 69 72 24 3d 22 22 3a 73 74 61 72 74 5f |n_dir$="":start_| 00010e50 65 6e 74 72 79 25 3d 6c 61 73 74 5f 73 74 61 72 |entry%=last_star| 00010e60 74 5f 65 6e 74 72 79 25 2b 37 37 3a 63 25 3d 2d |t_entry%+77:c%=-| 00010e70 31 0d 09 04 0a 20 20 20 20 20 cc 0d 09 05 28 20 |1.... ....( | 00010e80 20 20 20 20 20 73 74 61 72 74 5f 65 6e 74 72 79 | start_entry| 00010e90 25 3d 6c 61 73 74 5f 73 74 61 72 74 5f 65 6e 74 |%=last_start_ent| 00010ea0 72 79 25 0d 09 06 0a 20 20 20 20 20 cd 0d 09 07 |ry%.... ....| 00010eb0 04 0d 09 08 3c 20 20 20 20 20 e7 20 42 3d 34 20 |....< . B=4 | 00010ec0 80 20 94 28 58 2d 31 31 38 34 29 3c 38 36 20 80 |. .(X-1184)<86 .| 00010ed0 20 94 28 59 2d 32 36 36 29 3c 33 34 20 80 20 77 | .(Y-266)<34 . w| 00010ee0 61 73 5f 62 69 67 5f 64 69 72 25 20 8c 0d 09 09 |as_big_dir% ....| 00010ef0 49 20 20 20 20 20 20 73 74 61 72 74 5f 65 6e 74 |I start_ent| 00010f00 72 79 25 3d 30 3a 6c 61 73 74 5f 73 74 61 72 74 |ry%=0:last_start| 00010f10 5f 65 6e 74 72 79 25 3d 30 3a 73 68 6f 77 6e 5f |_entry%=0:shown_| 00010f20 64 69 72 24 3d 22 22 3a 77 61 73 5f 62 69 67 5f |dir$="":was_big_| 00010f30 64 69 72 25 3d 30 0d 09 0a 0a 20 20 20 20 20 cd |dir%=0.... .| 00010f40 0d 09 0b 04 0d 09 0c 38 20 20 20 20 20 e7 20 42 |.......8 . B| 00010f50 3d 34 20 80 20 94 28 58 2d 31 31 34 32 29 3c 34 |=4 . .(X-1142)<4| 00010f60 33 20 80 20 94 28 59 2d 32 36 36 29 3c 33 34 20 |3 . .(Y-266)<34 | 00010f70 80 20 62 69 67 5f 64 69 72 25 20 8c 0d 09 0d 49 |. big_dir% ....I| 00010f80 20 20 20 20 20 20 73 74 61 72 74 5f 65 6e 74 72 | start_entr| 00010f90 79 25 3d 30 3a 6c 61 73 74 5f 73 74 61 72 74 5f |y%=0:last_start_| 00010fa0 65 6e 74 72 79 25 3d 30 3a 73 68 6f 77 6e 5f 64 |entry%=0:shown_d| 00010fb0 69 72 24 3d 22 22 3a 77 61 73 5f 62 69 67 5f 64 |ir$="":was_big_d| 00010fc0 69 72 25 3d 30 0d 09 0e 0a 20 20 20 20 20 cd 0d |ir%=0.... ..| 00010fd0 09 0f 04 0d 09 10 09 20 20 20 20 cd 0d 09 11 04 |....... .....| 00010fe0 0d 09 12 1a 20 20 20 fd 20 42 3d 34 20 84 20 66 |.... . B=4 . f| 00010ff0 69 6c 65 72 5f 69 6e 66 6f 25 0d 09 13 04 0d 09 |iler_info%......| 00011000 14 42 20 20 20 e7 20 63 61 74 24 28 62 6f 78 25 |.B . cat$(box%| 00011010 29 3c 3e 22 22 20 80 20 66 74 79 70 65 24 28 62 |)<>"" . ftype$(b| 00011020 6f 78 25 29 3c 3e 22 64 69 72 22 20 6c 61 73 74 |ox%)<>"dir" last| 00011030 66 69 6c 65 24 3d 63 61 74 24 28 62 6f 78 25 29 |file$=cat$(box%)| 00011040 0d 09 15 04 0d 09 16 25 20 20 20 e7 20 c0 63 61 |.......% . .ca| 00011050 74 24 28 62 6f 78 25 29 2c 39 29 3d 22 53 53 54 |t$(box%),9)="SST| 00011060 56 66 6f 6e 74 73 22 20 8c 0d 09 17 31 20 20 20 |Vfonts" ....1 | 00011070 20 ff 28 22 46 6f 6e 74 69 6e 73 74 61 6c 6c 20 | .("Fontinstall | 00011080 22 2b 64 69 72 24 2b 22 2e 22 2b 63 61 74 24 28 |"+dir$+"."+cat$(| 00011090 62 6f 78 25 29 2b 22 2e 22 29 0d 09 18 0f 20 20 |box%)+".").... | 000110a0 20 20 71 75 69 74 25 3d b9 0d 09 19 08 20 20 20 | quit%=..... | 000110b0 cd 0d 09 1a 04 0d 09 1b 30 20 20 20 e7 20 63 61 |........0 . ca| 000110c0 74 24 28 62 6f 78 25 29 3c 3e 22 22 20 80 20 66 |t$(box%)<>"" . f| 000110d0 74 79 70 65 24 28 62 6f 78 25 29 3d 22 70 73 63 |type$(box%)="psc| 000110e0 61 6e 22 20 8c 0d 09 1c 28 20 20 20 20 f2 6c 6f |an" ....( .lo| 000110f0 61 64 5f 70 73 63 61 6e 28 64 69 72 24 2b 22 2e |ad_pscan(dir$+".| 00011100 22 2b 63 61 74 24 28 62 6f 78 25 29 29 0d 09 1d |"+cat$(box%))...| 00011110 08 20 20 20 cd 0d 09 1e 30 20 20 20 e7 20 63 61 |. ....0 . ca| 00011120 74 24 28 62 6f 78 25 29 3c 3e 22 22 20 80 20 66 |t$(box%)<>"" . f| 00011130 74 79 70 65 24 28 62 6f 78 25 29 3d 22 74 61 72 |type$(box%)="tar| 00011140 67 61 22 20 8c 0d 09 1f 28 20 20 20 20 f2 6c 6f |ga" ....( .lo| 00011150 61 64 5f 74 61 72 67 61 28 64 69 72 24 2b 22 2e |ad_targa(dir$+".| 00011160 22 2b 63 61 74 24 28 62 6f 78 25 29 29 0d 09 20 |"+cat$(box%)).. | 00011170 08 20 20 20 cd 0d 09 21 31 20 20 20 e7 20 63 61 |. ...!1 . ca| 00011180 74 24 28 62 6f 78 25 29 3c 3e 22 22 20 80 20 66 |t$(box%)<>"" . f| 00011190 74 79 70 65 24 28 62 6f 78 25 29 3d 22 73 70 72 |type$(box%)="spr| 000111a0 69 74 65 22 20 8c 0d 09 22 29 20 20 20 20 f2 6c |ite" ...") .l| 000111b0 6f 61 64 5f 73 70 72 69 74 65 28 64 69 72 24 2b |oad_sprite(dir$+| 000111c0 22 2e 22 2b 63 61 74 24 28 62 6f 78 25 29 29 0d |"."+cat$(box%)).| 000111d0 09 23 08 20 20 20 cd 0d 09 24 2f 20 20 20 e7 20 |.#. ...$/ . | 000111e0 63 61 74 24 28 62 6f 78 25 29 3c 3e 22 22 20 80 |cat$(box%)<>"" .| 000111f0 20 66 74 79 70 65 24 28 62 6f 78 25 29 3d 22 6a | ftype$(box%)="j| 00011200 70 65 67 22 20 8c 0d 09 25 27 20 20 20 20 f2 6c |peg" ...%' .l| 00011210 6f 61 64 5f 6a 70 65 67 28 64 69 72 24 2b 22 2e |oad_jpeg(dir$+".| 00011220 22 2b 63 61 74 24 28 62 6f 78 25 29 29 0d 09 26 |"+cat$(box%))..&| 00011230 08 20 20 20 cd 0d 09 27 30 20 20 20 e7 20 63 61 |. ...'0 . ca| 00011240 74 24 28 62 6f 78 25 29 3c 3e 22 22 20 80 20 66 |t$(box%)<>"" . f| 00011250 74 79 70 65 24 28 62 6f 78 25 29 3d 22 70 68 6f |type$(box%)="pho| 00011260 74 6f 22 20 8c 0d 09 28 44 20 20 20 20 85 20 31 |to" ...(D . 1| 00011270 39 39 37 2c 22 50 68 6f 74 6f 43 44 20 69 6d 61 |997,"PhotoCD ima| 00011280 67 65 73 20 63 61 6e 6e 6f 74 20 63 75 72 72 65 |ges cannot curre| 00011290 6e 74 6c 79 20 62 65 20 6c 6f 61 64 65 64 20 62 |ntly be loaded b| 000112a0 79 20 50 73 63 61 6e 2e 22 0d 09 29 08 20 20 20 |y Pscan."..). | 000112b0 cd 0d 09 2a 04 0d 09 2b 25 20 20 20 e7 20 58 3e |...*...+% . X>| 000112c0 39 32 30 20 80 20 58 3c 31 32 36 30 20 80 20 59 |920 . X<1260 . Y| 000112d0 3c 32 20 65 78 69 74 25 3d b9 0d 09 2c 3f 20 20 |<2 exit%=...,? | 000112e0 20 e7 20 66 74 79 70 65 24 28 62 6f 78 25 29 3d | . ftype$(box%)=| 000112f0 22 64 69 72 22 20 80 20 ac 28 71 75 69 74 25 29 |"dir" . .(quit%)| 00011300 20 64 69 72 24 3d 64 69 72 24 2b 22 2e 22 2b 63 | dir$=dir$+"."+c| 00011310 61 74 24 28 62 6f 78 25 29 0d 09 2d 2b 20 20 20 |at$(box%)..-+ | 00011320 e7 20 94 28 58 2d 31 31 38 34 29 3c 38 30 20 80 |. .(X-1184)<80 .| 00011330 20 94 28 59 2d 31 34 30 29 3c 32 34 20 71 75 69 | .(Y-140)<24 qui| 00011340 74 25 3d b9 0d 09 2e 3f 20 20 20 e7 20 58 3e 31 |t%=....? . X>1| 00011350 31 34 30 20 80 20 58 3c 31 32 36 36 20 80 20 59 |140 . X<1266 . Y| 00011360 3e 31 37 38 20 80 20 59 3c 32 32 30 20 f2 75 70 |>178 . Y<220 .up| 00011370 5f 6f 6e 65 5f 64 69 72 3a 62 69 67 5f 64 69 72 |_one_dir:big_dir| 00011380 25 3d 30 0d 09 2f 2a 20 20 20 e7 20 58 3e 31 30 |%=0../* . X>10| 00011390 35 34 20 80 20 58 3c 31 31 32 36 20 80 20 59 3e |54 . X<1126 . Y>| 000113a0 31 37 34 20 80 20 59 3c 32 32 34 20 8c 0d 09 30 |174 . Y<224 ...0| 000113b0 2a 20 20 20 20 e6 32 31 36 2c 32 31 36 2c 32 31 |* .216,216,21| 000113c0 36 3a c8 93 20 c8 90 20 34 34 30 2c 2d 34 38 2c |6:.. .. 440,-48,| 000113d0 39 30 30 2c 32 38 30 0d 09 31 2b 20 20 20 20 f2 |900,280..1+ .| 000113e0 72 65 6e 61 6d 65 28 a3 29 3a 62 69 67 5f 64 69 |rename(.):big_di| 000113f0 72 25 3d 30 3a 73 68 6f 77 6e 5f 64 69 72 24 3d |r%=0:shown_dir$=| 00011400 22 22 0d 09 32 35 20 20 20 20 e6 32 31 36 2c 32 |""..25 .216,2| 00011410 31 36 2c 32 31 36 3a c8 93 20 c8 90 20 30 2c 2d |16,216:.. .. 0,-| 00011420 34 34 2c 31 32 38 30 2c 32 37 32 3a f2 63 6c 69 |44,1280,272:.cli| 00011430 63 6b 5f 69 6e 66 6f 0d 09 33 08 20 20 20 cd 0d |ck_info..3. ..| 00011440 09 34 3c 20 20 20 e7 20 58 3e 39 31 36 20 80 20 |.4< . X>916 . | 00011450 58 3c 31 30 34 36 20 80 20 59 3e 31 37 38 20 80 |X<1046 . Y>178 .| 00011460 20 59 3c 32 32 30 20 f2 72 6f 6f 74 5f 64 69 72 | Y<220 .root_dir| 00011470 3a 62 69 67 5f 64 69 72 25 3d 30 0d 09 35 04 0d |:big_dir%=0..5..| 00011480 09 36 29 20 20 20 e7 20 58 3e 39 32 30 20 80 20 |.6) . X>920 . | 00011490 58 3c 31 30 38 30 20 80 20 59 3e 31 32 30 20 80 |X<1080 . Y>120 .| 000114a0 20 59 3c 31 36 30 20 8c 0d 09 37 15 20 20 20 20 | Y<160 ...7. | 000114b0 f2 73 61 76 65 5f 6f 70 74 69 6f 6e 73 0d 09 38 |.save_options..8| 000114c0 40 20 20 20 20 e7 20 ac 28 71 75 69 74 25 29 20 |@ . .(quit%) | 000114d0 e6 32 31 36 2c 32 31 36 2c 32 31 36 3a c8 93 20 |.216,216,216:.. | 000114e0 c8 90 20 30 2c 2d 35 32 2c 31 32 38 30 2c 32 38 |.. 0,-52,1280,28| 000114f0 38 3a f2 63 6c 69 63 6b 5f 69 6e 66 6f 0d 09 39 |8:.click_info..9| 00011500 08 20 20 20 cd 0d 09 3a 04 0d 09 3b 49 20 20 20 |. ...:...;I | 00011510 e7 20 72 69 67 68 74 25 20 80 20 62 69 67 5f 64 |. right% . big_d| 00011520 69 72 25 20 73 74 61 72 74 5f 65 6e 74 72 79 25 |ir% start_entry%| 00011530 3d 6c 61 73 74 5f 73 74 61 72 74 5f 65 6e 74 72 |=last_start_entr| 00011540 79 25 3a 73 68 6f 77 6e 5f 64 69 72 24 3d 64 69 |y%:shown_dir$=di| 00011550 72 24 0d 09 3c 04 0d 09 3d 15 20 20 fd 20 71 75 |r$..<...=. . qu| 00011560 69 74 25 20 84 20 65 78 69 74 25 0d 09 3e 04 0d |it% . exit%..>..| 00011570 09 3f 1f 20 fd 20 ac 20 66 69 6c 65 72 5f 69 6e |.?. . . filer_in| 00011580 66 6f 25 20 80 20 ac 20 72 69 67 68 74 25 0d 09 |fo% . . right%..| 00011590 40 04 0d 09 41 27 20 e7 20 71 75 69 74 25 20 80 |@...A' . quit% .| 000115a0 20 62 69 67 5f 64 69 72 25 20 73 68 6f 77 6e 5f | big_dir% shown_| 000115b0 64 69 72 24 3d 64 69 72 24 0d 09 42 04 0d 09 43 |dir$=dir$..B...C| 000115c0 1f 20 c8 91 20 30 2c 30 3a c8 97 20 c8 93 20 30 |. .. 0,0:.. .. 0| 000115d0 2c 30 2c 31 32 38 30 2c 31 30 32 34 0d 09 44 24 |,0,1280,1024..D$| 000115e0 20 e7 20 65 78 69 74 25 20 8c 20 42 49 47 51 55 | . exit% . BIGQU| 000115f0 49 54 25 3d b9 20 8b 20 f2 64 69 73 6d 69 6e 69 |IT%=. . .dismini| 00011600 0d 09 45 04 0d 09 46 06 20 e1 0d 09 47 04 0d 09 |..E...F. ...G...| 00011610 48 04 0d 09 49 0e 20 dd 20 f2 64 72 69 76 65 30 |H...I. . .drive0| 00011620 0d 09 4a 28 20 64 69 72 24 3d 22 41 44 46 53 3a |..J( dir$="ADFS:| 00011630 3a 30 2e 24 22 3a 64 72 76 25 3d 30 3a f2 63 6c |:0.$":drv%=0:.cl| 00011640 69 63 6b 5f 69 6e 66 6f 0d 09 4b 06 20 e1 0d 09 |ick_info..K. ...| 00011650 4c 04 0d 09 4d 0e 20 dd 20 f2 64 72 69 76 65 31 |L...M. . .drive1| 00011660 0d 09 4e 38 20 e7 20 66 6c 6f 70 70 69 65 73 25 |..N8 . floppies%| 00011670 3e 31 20 8c 20 64 69 72 24 3d 22 41 44 46 53 3a |>1 . dir$="ADFS:| 00011680 3a 31 2e 24 22 3a 64 72 76 25 3d 31 3a f2 63 6c |:1.$":drv%=1:.cl| 00011690 69 63 6b 5f 69 6e 66 6f 0d 09 4f 06 20 e1 0d 09 |ick_info..O. ...| 000116a0 50 04 0d 09 51 0e 20 dd 20 f2 64 72 69 76 65 34 |P...Q. . .drive4| 000116b0 0d 09 52 28 20 64 69 72 24 3d 22 41 44 46 53 3a |..R( dir$="ADFS:| 000116c0 3a 34 2e 24 22 3a 64 72 76 25 3d 34 3a f2 63 6c |:4.$":drv%=4:.cl| 000116d0 69 63 6b 5f 69 6e 66 6f 0d 09 53 06 20 e1 0d 09 |ick_info..S. ...| 000116e0 54 04 0d 09 55 0e 20 dd 20 f2 64 72 69 76 65 35 |T...U. . .drive5| 000116f0 0d 09 56 3b 20 e7 20 68 61 72 64 5f 64 72 69 76 |..V; . hard_driv| 00011700 65 73 25 3e 31 20 8c 20 64 69 72 24 3d 22 41 44 |es%>1 . dir$="AD| 00011710 46 53 3a 3a 35 2e 24 22 3a 64 72 76 25 3d 35 3a |FS::5.$":drv%=5:| 00011720 f2 63 6c 69 63 6b 5f 69 6e 66 6f 0d 09 57 06 20 |.click_info..W. | 00011730 e1 0d 09 58 04 0d 09 59 12 20 dd 20 f2 64 72 69 |...X...Y. . .dri| 00011740 76 65 5f 75 73 65 72 0d 09 5a 35 20 e7 20 75 64 |ve_user..Z5 . ud| 00011750 5f 70 61 74 68 25 20 8c 20 64 69 72 24 3d 75 73 |_path% . dir$=us| 00011760 65 72 5f 64 72 69 76 65 24 3a 64 72 76 25 3d 36 |er_drive$:drv%=6| 00011770 3a f2 63 6c 69 63 6b 5f 69 6e 66 6f 0d 09 5b 06 |:.click_info..[.| 00011780 20 e1 0d 09 5c 04 0d 09 5d 12 20 dd 20 f2 6d 65 | ...\...]. . .me| 00011790 6d 5f 73 65 6c 65 63 74 0d 09 5e 1a 20 e7 20 94 |m_select..^. . .| 000117a0 28 59 2d 32 31 32 29 3c 31 36 20 8c 20 6d 73 25 |(Y-212)<16 . ms%| 000117b0 3d 30 0d 09 5f 1a 20 e7 20 94 28 59 2d 31 37 38 |=0.._. . .(Y-178| 000117c0 29 3c 31 36 20 8c 20 6d 73 25 3d 31 0d 09 60 1a |)<16 . ms%=1..`.| 000117d0 20 e7 20 94 28 59 2d 31 34 34 29 3c 31 36 20 8c | . .(Y-144)<16 .| 000117e0 20 6d 73 25 3d 32 0d 09 61 1a 20 e7 20 94 28 59 | ms%=2..a. . .(Y| 000117f0 2d 31 31 30 29 3c 31 36 20 8c 20 6d 73 25 3d 33 |-110)<16 . ms%=3| 00011800 0d 09 62 19 20 e7 20 94 28 59 2d 37 36 29 3c 31 |..b. . .(Y-76)<1| 00011810 36 20 8c 20 6d 73 25 3d 34 0d 09 63 19 20 e7 20 |6 . ms%=4..c. . | 00011820 94 28 59 2d 34 32 29 3c 31 36 20 8c 20 6d 73 25 |.(Y-42)<16 . ms%| 00011830 3d 35 0d 09 64 18 20 e7 20 94 28 59 2d 38 29 3c |=5..d. . .(Y-8)<| 00011840 31 36 20 8c 20 6d 73 25 3d 36 0d 09 65 1a 20 e7 |16 . ms%=6..e. .| 00011850 20 94 28 59 2d 2d 32 36 29 3c 31 36 20 8c 20 6d | .(Y--26)<16 . m| 00011860 73 25 3d 37 0d 09 66 16 20 e7 20 6d 73 25 3c 6d |s%=7..f. . ms%<m| 00011870 65 6d 6f 72 69 65 73 25 20 8c 0d 09 67 0d 20 4d |emories% ...g. M| 00011880 45 4d 25 3d 6d 73 25 0d 09 68 0e 20 c8 8e 20 4d |EM%=ms%..h. .. M| 00011890 45 4d 25 20 ca 0d 09 69 18 20 c9 20 30 3a 6d 65 |EM% ...i. . 0:me| 000118a0 6d 62 6c 6f 63 6b 25 3d 6d 65 6d 31 25 0d 09 6a |mblock%=mem1%..j| 000118b0 18 20 c9 20 31 3a 6d 65 6d 62 6c 6f 63 6b 25 3d |. . 1:memblock%=| 000118c0 6d 65 6d 32 25 0d 09 6b 18 20 c9 20 32 3a 6d 65 |mem2%..k. . 2:me| 000118d0 6d 62 6c 6f 63 6b 25 3d 6d 65 6d 33 25 0d 09 6c |mblock%=mem3%..l| 000118e0 18 20 c9 20 33 3a 6d 65 6d 62 6c 6f 63 6b 25 3d |. . 3:memblock%=| 000118f0 6d 65 6d 34 25 0d 09 6d 18 20 c9 20 34 3a 6d 65 |mem4%..m. . 4:me| 00011900 6d 62 6c 6f 63 6b 25 3d 6d 65 6d 35 25 0d 09 6e |mblock%=mem5%..n| 00011910 18 20 c9 20 35 3a 6d 65 6d 62 6c 6f 63 6b 25 3d |. . 5:memblock%=| 00011920 6d 65 6d 36 25 0d 09 6f 18 20 c9 20 36 3a 6d 65 |mem6%..o. . 6:me| 00011930 6d 62 6c 6f 63 6b 25 3d 6d 65 6d 37 25 0d 09 70 |mblock%=mem7%..p| 00011940 18 20 c9 20 37 3a 6d 65 6d 62 6c 6f 63 6b 25 3d |. . 7:memblock%=| 00011950 6d 65 6d 38 25 0d 09 71 06 20 cb 0d 09 72 06 20 |mem8%..q. ...r. | 00011960 cd 0d 09 73 1e 20 f2 6d 61 6b 65 5f 6d 69 6e 69 |...s. .make_mini| 00011970 5f 70 69 63 3a 72 65 66 72 65 73 68 25 3d 30 0d |_pic:refresh%=0.| 00011980 09 74 06 20 e1 0d 09 75 04 0d 09 76 14 20 dd 20 |.t. ...u...v. . | 00011990 f2 61 72 65 5f 79 6f 75 5f 73 75 72 65 0d 09 77 |.are_you_sure..w| 000119a0 23 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 6b 28 |# .raised_block(| 000119b0 37 35 34 2c 2d 31 36 2c 35 30 38 2c 32 33 36 29 |754,-16,508,236)| 000119c0 0d 09 78 24 20 e6 20 32 30 30 2c 30 2c 30 3a c8 |..x$ . 200,0,0:.| 000119d0 93 20 c8 90 20 37 35 34 2c 2d 31 36 2c 35 30 38 |. .. 754,-16,508| 000119e0 2c 32 33 36 0d 09 79 33 20 f2 77 72 69 74 65 32 |,236..y3 .write2| 000119f0 28 22 44 65 6c 65 74 65 20 66 69 6c 65 20 3a 20 |("Delete file : | 00011a00 22 2b 63 61 74 24 28 62 6f 78 25 29 2c 38 33 30 |"+cat$(box%),830| 00011a10 2c 32 31 32 2c 31 29 0d 09 7a 28 20 f2 77 72 69 |,212,1)..z( .wri| 00011a20 74 65 32 28 22 41 72 65 20 79 6f 75 20 73 75 72 |te2("Are you sur| 00011a30 65 20 3f 22 2c 38 38 34 2c 31 34 36 2c 31 29 0d |e ?",884,146,1).| 00011a40 09 7b 20 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 |.{ .raised_bloc| 00011a50 6b 28 38 33 32 2c 38 2c 31 34 30 2c 35 30 29 0d |k(832,8,140,50).| 00011a60 09 7c 21 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 |.|! .raised_bloc| 00011a70 6b 28 31 30 33 34 2c 38 2c 31 34 30 2c 35 30 29 |k(1034,8,140,50)| 00011a80 0d 09 7d 1c 20 f2 77 72 69 74 65 32 28 22 59 45 |..}. .write2("YE| 00011a90 53 22 2c 38 36 32 2c 36 38 2c 34 29 0d 09 7e 1c |S",862,68,4)..~.| 00011aa0 20 f2 77 72 69 74 65 32 28 22 4e 4f 22 2c 31 30 | .write2("NO",10| 00011ab0 37 34 2c 36 38 2c 34 29 0d 09 7f 1a 20 c8 97 20 |74,68,4).... .. | 00011ac0 c8 93 20 37 35 34 2c 2d 31 36 2c 35 30 38 2c 32 |.. 754,-16,508,2| 00011ad0 33 36 0d 09 80 2b 20 f2 77 61 69 74 5f 6e 6f 5f |36...+ .wait_no_| 00011ae0 62 75 74 74 6f 6e 3a f5 3a c8 97 20 58 2c 59 2c |button:.:.. X,Y,| 00011af0 42 3a fd 20 42 3d 34 20 84 20 42 3d 31 0d 09 81 |B:. B=4 . B=1...| 00011b00 33 20 e7 20 94 28 58 2d 39 30 34 29 3c 37 34 20 |3 . .(X-904)<74 | 00011b10 80 20 94 28 59 2d 33 34 29 3c 33 30 20 8c 20 73 |. .(Y-34)<30 . s| 00011b20 75 72 65 25 3d b9 20 8b 20 73 75 72 65 25 3d 30 |ure%=. . sure%=0| 00011b30 0d 09 82 06 20 e1 0d 09 83 04 0d 09 84 15 20 dd |.... ......... .| 00011b40 20 f2 72 65 6e 61 6d 65 28 66 6c 61 67 25 29 0d | .rename(flag%).| 00011b50 09 85 44 20 f4 20 49 66 20 66 6c 61 67 25 3d 54 |..D . If flag%=T| 00011b60 52 55 45 20 74 68 65 6e 20 72 65 6e 61 6d 65 2c |RUE then rename,| 00011b70 20 69 66 20 46 41 4c 53 45 20 74 68 65 6e 20 63 | if FALSE then c| 00011b80 72 65 61 74 65 20 6e 65 77 20 64 69 72 65 63 74 |reate new direct| 00011b90 6f 72 79 0d 09 86 23 20 f2 72 61 69 73 65 64 5f |ory...# .raised_| 00011ba0 62 6c 6f 63 6b 28 37 35 34 2c 2d 31 36 2c 35 31 |block(754,-16,51| 00011bb0 32 2c 32 33 36 29 0d 09 87 13 20 72 65 6e 61 6d |2,236).... renam| 00011bc0 65 5f 71 75 69 74 25 3d 30 0d 09 88 26 20 e6 20 |e_quit%=0...& . | 00011bd0 32 30 30 2c 31 30 30 2c 30 3a c8 93 20 c8 90 20 |200,100,0:.. .. | 00011be0 37 35 34 2c 2d 31 36 2c 35 30 38 2c 32 33 36 0d |754,-16,508,236.| 00011bf0 09 89 26 20 e6 20 32 35 35 2c 32 35 35 2c 32 35 |..& . 255,255,25| 00011c00 35 3a c8 93 20 c8 90 20 38 37 32 2c 39 36 2c 32 |5:.. .. 872,96,2| 00011c10 34 30 2c 34 30 0d 09 8a 11 20 20 e7 20 66 6c 61 |40,40.... . fla| 00011c20 67 25 3d b9 20 8c 0d 09 8b 18 20 20 72 65 6e 61 |g%=. ..... rena| 00011c30 6d 65 24 3d 63 61 74 24 28 62 6f 78 25 29 0d 09 |me$=cat$(box%)..| 00011c40 8c 30 20 20 f2 77 72 69 74 65 32 28 22 45 6e 74 |.0 .write2("Ent| 00011c50 65 72 20 6e 65 77 20 66 69 6c 65 6e 61 6d 65 20 |er new filename | 00011c60 3a 2d 22 2c 38 33 34 2c 32 31 32 2c 31 29 0d 09 |:-",834,212,1)..| 00011c70 8d 06 20 cc 0d 09 8e 16 20 20 72 65 6e 61 6d 65 |.. ..... rename| 00011c80 24 3d 22 6e 65 77 64 69 72 22 0d 09 8f 35 20 20 |$="newdir"...5 | 00011c90 f2 77 72 69 74 65 32 28 22 45 6e 74 65 72 20 6e |.write2("Enter n| 00011ca0 65 77 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d |ew directory nam| 00011cb0 65 3a 2d 22 2c 38 31 30 2c 32 31 32 2c 31 29 0d |e:-",810,212,1).| 00011cc0 09 90 06 20 cd 0d 09 91 23 20 f2 77 72 69 74 65 |... ....# .write| 00011cd0 32 28 72 65 6e 61 6d 65 24 2b 22 7c 22 2c 38 38 |2(rename$+"|",88| 00011ce0 30 2c 31 35 30 2c 30 29 0d 09 92 20 20 f2 72 61 |0,150,0)... .ra| 00011cf0 69 73 65 64 5f 62 6c 6f 63 6b 28 38 33 32 2c 38 |ised_block(832,8| 00011d00 2c 31 34 30 2c 35 30 29 0d 09 93 21 20 f2 72 61 |,140,50)...! .ra| 00011d10 69 73 65 64 5f 62 6c 6f 63 6b 28 31 30 33 34 2c |ised_block(1034,| 00011d20 38 2c 31 34 30 2c 35 30 29 0d 09 94 1f 20 f2 77 |8,140,50).... .w| 00011d30 72 69 74 65 32 28 22 43 41 4e 43 45 4c 22 2c 38 |rite2("CANCEL",8| 00011d40 34 34 2c 36 38 2c 34 29 0d 09 95 1c 20 f2 77 72 |44,68,4).... .wr| 00011d50 69 74 65 32 28 22 4f 4b 22 2c 31 30 37 34 2c 36 |ite2("OK",1074,6| 00011d60 38 2c 34 29 0d 09 96 1a 20 c8 97 20 c8 93 20 37 |8,4).... .. .. 7| 00011d70 35 34 2c 2d 31 36 2c 35 30 38 2c 32 33 36 0d 09 |54,-16,508,236..| 00011d80 97 20 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 |. .wait_no_butt| 00011d90 6f 6e 3a f5 20 fd 20 bf 28 31 29 3d 22 22 0d 09 |on:. . .(1)=""..| 00011da0 98 06 20 f5 0d 09 99 07 20 20 f5 0d 09 9a 17 20 |.. ..... ..... | 00011db0 20 20 c8 97 20 58 2c 59 2c 42 3a 4b 24 3d bf 28 | .. X,Y,B:K$=.(| 00011dc0 31 29 0d 09 9b 1a 20 20 fd 20 42 3d 34 20 84 20 |1).... . B=4 . | 00011dd0 42 3d 31 20 84 20 4b 24 3c 3e 22 22 0d 09 9c 11 |B=1 . K$<>""....| 00011de0 20 20 e7 20 42 3d 31 20 8c 20 42 3d 34 0d 09 9d | . B=1 . B=4...| 00011df0 17 20 20 e7 20 4b 24 3d bd 38 20 8c 20 4b 24 3d |. . K$=.8 . K$=| 00011e00 bd 31 32 37 0d 09 9e 22 20 20 e7 20 97 28 4b 24 |.127..." . .(K$| 00011e10 29 3d 31 32 37 20 80 20 a9 28 72 65 6e 61 6d 65 |)=127 . .(rename| 00011e20 24 29 3e 30 20 8c 0d 09 9f 2b 20 20 20 4c 25 3d |$)>0 ....+ L%=| 00011e30 a9 28 72 65 6e 61 6d 65 24 29 3a 72 65 6e 61 6d |.(rename$):renam| 00011e40 65 24 3d c0 72 65 6e 61 6d 65 24 2c 4c 25 2d 31 |e$=.rename$,L%-1| 00011e50 29 0d 09 a0 28 20 20 20 e6 20 32 35 35 2c 32 35 |)...( . 255,25| 00011e60 35 2c 32 35 35 3a c8 93 20 c8 90 20 38 37 32 2c |5,255:.. .. 872,| 00011e70 39 36 2c 32 34 30 2c 34 30 0d 09 a1 25 20 20 20 |96,240,40...% | 00011e80 f2 77 72 69 74 65 32 28 72 65 6e 61 6d 65 24 2b |.write2(rename$+| 00011e90 22 7c 22 2c 38 38 30 2c 31 35 30 2c 30 29 0d 09 |"|",880,150,0)..| 00011ea0 a2 07 20 20 cd 0d 09 a3 12 20 20 e7 20 97 28 4b |.. ..... . .(K| 00011eb0 24 29 3d 32 31 20 8c 0d 09 a4 33 20 20 20 72 65 |$)=21 ....3 re| 00011ec0 6e 61 6d 65 24 3d 22 22 3a e6 20 32 35 35 2c 32 |name$="":. 255,2| 00011ed0 35 35 2c 32 35 35 3a c8 93 20 c8 90 20 38 37 32 |55,255:.. .. 872| 00011ee0 2c 39 36 2c 32 34 30 2c 34 30 0d 09 a5 25 20 20 |,96,240,40...% | 00011ef0 20 f2 77 72 69 74 65 32 28 72 65 6e 61 6d 65 24 | .write2(rename$| 00011f00 2b 22 7c 22 2c 38 38 30 2c 31 35 30 2c 30 29 0d |+"|",880,150,0).| 00011f10 09 a6 07 20 20 cd 0d 09 a7 2e 20 20 e7 20 a9 28 |... ..... . .(| 00011f20 72 65 6e 61 6d 65 24 29 3c 31 30 20 80 20 97 28 |rename$)<10 . .(| 00011f30 4b 24 29 3e 33 31 20 80 20 97 28 4b 24 29 3c 31 |K$)>31 . .(K$)<1| 00011f40 32 33 20 8c 0d 09 a8 34 20 20 20 72 65 6e 61 6d |23 ....4 renam| 00011f50 65 24 2b 3d 4b 24 3a e6 20 32 35 35 2c 32 35 35 |e$+=K$:. 255,255| 00011f60 2c 32 35 35 3a c8 93 20 c8 90 20 38 37 32 2c 39 |,255:.. .. 872,9| 00011f70 36 2c 32 34 30 2c 34 30 0d 09 a9 25 20 20 20 f2 |6,240,40...% .| 00011f80 77 72 69 74 65 32 28 72 65 6e 61 6d 65 24 2b 22 |write2(rename$+"| 00011f90 7c 22 2c 38 38 30 2c 31 35 30 2c 30 29 0d 09 aa ||",880,150,0)...| 00011fa0 07 20 20 cd 0d 09 ab 13 20 fd 20 42 3d 34 20 84 |. ..... . B=4 .| 00011fb0 20 4b 24 3d bd 31 33 0d 09 ac 35 20 e7 20 28 42 | K$=.13...5 . (B| 00011fc0 3d 34 20 80 20 28 94 28 58 2d 31 31 30 34 29 3c |=4 . (.(X-1104)<| 00011fd0 37 34 20 80 20 94 28 59 2d 33 34 29 3c 33 30 29 |74 . .(Y-34)<30)| 00011fe0 29 20 84 20 4b 24 3d bd 31 33 20 8c 0d 09 ad 16 |) . K$=.13 .....| 00011ff0 20 20 e7 20 a9 28 72 65 6e 61 6d 65 24 29 3e 30 | . .(rename$)>0| 00012000 20 8c 0d 09 ae 12 20 20 20 e7 20 66 6c 61 67 25 | ..... . flag%| 00012010 3d b9 20 8c 0d 09 af 4c 20 20 20 20 ff 28 22 52 |=. ....L .("R| 00012020 45 4e 41 4d 45 20 22 2b 64 69 72 24 2b 22 2e 22 |ENAME "+dir$+"."| 00012030 2b 63 61 74 24 28 62 6f 78 25 29 2b 22 20 22 2b |+cat$(box%)+" "+| 00012040 64 69 72 24 2b 22 2e 22 2b 72 65 6e 61 6d 65 24 |dir$+"."+rename$| 00012050 29 3a 73 68 6f 77 6e 5f 64 69 72 24 3d 22 2d 22 |):shown_dir$="-"| 00012060 0d 09 b0 08 20 20 20 cc 0d 09 b1 39 20 20 20 20 |.... ....9 | 00012070 ff 28 22 43 44 49 52 20 22 2b 64 69 72 24 2b 22 |.("CDIR "+dir$+"| 00012080 2e 22 2b 72 65 6e 61 6d 65 24 29 3a 64 69 72 24 |."+rename$):dir$| 00012090 3d 64 69 72 24 2b 22 2e 22 2b 72 65 6e 61 6d 65 |=dir$+"."+rename| 000120a0 24 0d 09 b2 08 20 20 20 cd 0d 09 b3 07 20 20 cd |$.... ..... .| 000120b0 0d 09 b4 06 20 cd 0d 09 b5 06 20 e1 0d 09 b6 04 |.... ..... .....| 000120c0 0d 09 b7 12 20 dd 20 f2 66 69 6c 65 72 5f 69 6e |.... . .filer_in| 000120d0 66 6f 0d 09 b8 27 20 e6 20 32 31 36 2c 32 31 36 |fo...' . 216,216| 000120e0 2c 32 31 36 3a c8 93 20 c8 90 20 30 2c 2d 35 30 |,216:.. .. 0,-50| 000120f0 2c 31 32 38 30 2c 32 38 32 0d 09 b9 12 20 fb 20 |,1280,282.... . | 00012100 32 34 30 2c 32 34 30 2c 32 34 30 0d 09 ba 3e 20 |240,240,240...> | 00012110 58 25 3d 34 3a 59 25 3d 35 33 3a 43 24 3d 22 22 |X%=4:Y%=53:C$=""| 00012120 3a ef 33 31 2c 58 25 2c 59 25 3a ff 28 22 49 4e |:.31,X%,Y%:.("IN| 00012130 46 4f 20 22 2b 64 69 72 24 2b 22 2e 22 2b 63 61 |FO "+dir$+"."+ca| 00012140 74 24 28 62 6f 78 25 29 29 0d 09 bb 10 20 f5 3a |t$(box%)).... .:| 00012150 ef 33 31 2c 58 25 2c 59 25 0d 09 bc 33 20 c8 99 |.31,X%,Y%...3 ..| 00012160 20 22 4f 53 5f 42 79 74 65 22 2c 31 33 35 20 b8 | "OS_Byte",135 .| 00012170 2c 53 56 25 3a e7 20 53 56 25 3e 33 31 20 8c 20 |,SV%:. SV%>31 . | 00012180 43 24 3d 43 24 2b bd 28 53 56 25 29 0d 09 bd 27 |C$=C$+.(SV%)...'| 00012190 20 58 25 2b 3d 31 3a fd 20 58 25 3d 37 30 3a c8 | X%+=1:. X%=70:.| 000121a0 93 20 c8 90 20 30 2c 2d 35 30 2c 31 32 38 30 2c |. .. 0,-50,1280,| 000121b0 32 38 32 0d 09 be 22 20 f2 72 61 69 73 65 64 5f |282..." .raised_| 000121c0 62 6c 6f 63 6b 28 31 36 2c 2d 31 36 2c 37 32 30 |block(16,-16,720| 000121d0 2c 32 33 36 29 0d 09 bf 27 20 e6 20 31 36 30 2c |,236)...' . 160,| 000121e0 32 30 30 2c 32 35 35 3a c8 93 20 c8 90 20 31 36 |200,255:.. .. 16| 000121f0 2c 2d 31 36 2c 37 32 30 2c 32 33 36 0d 09 c0 26 |,-16,720,236...&| 00012200 20 e6 20 32 35 35 2c 32 35 35 2c 32 35 35 3a c8 | . 255,255,255:.| 00012210 93 20 c8 90 20 33 32 2c 31 36 30 2c 34 30 30 2c |. .. 32,160,400,| 00012220 34 30 0d 09 c1 33 20 f2 77 72 69 74 65 32 28 22 |40...3 .write2("| 00012230 49 6e 66 6f 20 6f 6e 20 66 69 6c 65 20 3a 20 22 |Info on file : "| 00012240 2b 63 61 74 24 28 62 6f 78 25 29 2c 34 36 2c 32 |+cat$(box%),46,2| 00012250 31 32 2c 30 29 0d 09 c2 1e 20 f2 77 72 69 74 65 |12,0).... .write| 00012260 32 28 c1 43 24 2c 32 32 29 2c 34 34 2c 31 34 36 |2(.C$,22),44,146| 00012270 2c 30 29 0d 09 c3 1f 20 f2 72 61 69 73 65 64 5f |,0).... .raised_| 00012280 62 6c 6f 63 6b 28 35 32 2c 38 2c 31 37 32 2c 35 |block(52,8,172,5| 00012290 30 29 0d 09 c4 20 20 f2 72 61 69 73 65 64 5f 62 |0)... .raised_b| 000122a0 6c 6f 63 6b 28 32 39 30 2c 38 2c 31 37 32 2c 35 |lock(290,8,172,5| 000122b0 30 29 0d 09 c5 20 20 f2 72 61 69 73 65 64 5f 62 |0)... .raised_b| 000122c0 6c 6f 63 6b 28 35 32 38 2c 38 2c 31 37 32 2c 35 |lock(528,8,172,5| 000122d0 30 29 0d 09 c6 1e 20 f2 77 72 69 74 65 32 28 22 |0).... .write2("| 000122e0 44 45 4c 45 54 45 22 2c 37 38 2c 36 38 2c 34 29 |DELETE",78,68,4)| 000122f0 0d 09 c7 1f 20 f2 77 72 69 74 65 32 28 22 43 41 |.... .write2("CA| 00012300 4e 43 45 4c 22 2c 35 35 38 2c 36 38 2c 34 29 0d |NCEL",558,68,4).| 00012310 09 c8 1f 20 f2 77 72 69 74 65 32 28 22 52 45 4e |... .write2("REN| 00012320 41 4d 45 22 2c 33 31 34 2c 36 38 2c 34 29 0d 09 |AME",314,68,4)..| 00012330 c9 19 20 c8 97 20 c8 93 20 31 36 2c 2d 31 36 2c |.. .. .. 16,-16,| 00012340 37 32 30 2c 32 33 36 0d 09 ca 24 20 64 65 6c 65 |720,236...$ dele| 00012350 74 65 25 3d 30 3a 63 61 6e 63 65 6c 25 3d 30 3a |te%=0:cancel%=0:| 00012360 72 65 6e 61 6d 65 25 3d 30 3a f5 0d 09 cb 1b 20 |rename%=0:..... | 00012370 f5 3a c8 97 20 58 2c 59 2c 42 3a fd 20 42 3d 34 |.:.. X,Y,B:. B=4| 00012380 20 84 20 42 3d 31 0d 09 cc 2b 20 e7 20 94 28 58 | . B=1...+ . .(X| 00012390 2d 31 33 39 29 3c 39 30 20 80 20 94 28 59 2d 33 |-139)<90 . .(Y-3| 000123a0 34 29 3c 33 30 20 8c 20 64 65 6c 65 74 65 25 3d |4)<30 . delete%=| 000123b0 b9 0d 09 cd 36 20 e7 20 94 28 58 2d 33 37 36 29 |....6 . .(X-376)| 000123c0 3c 39 30 20 80 20 94 28 59 2d 33 34 29 3c 33 30 |<90 . .(Y-34)<30| 000123d0 20 8c 20 f2 72 65 6e 61 6d 65 28 b9 29 3a 63 61 | . .rename(.):ca| 000123e0 6e 63 65 6c 25 3d b9 0d 09 ce 2b 20 e7 20 94 28 |ncel%=....+ . .(| 000123f0 58 2d 36 31 34 29 3c 39 30 20 80 20 94 28 59 2d |X-614)<90 . .(Y-| 00012400 33 34 29 3c 33 30 20 8c 20 63 61 6e 63 65 6c 25 |34)<30 . cancel%| 00012410 3d b9 0d 09 cf 18 20 fd 20 63 61 6e 63 65 6c 25 |=..... . cancel%| 00012420 20 84 20 64 65 6c 65 74 65 25 0d 09 d0 10 20 e7 | . delete%.... .| 00012430 20 64 65 6c 65 74 65 25 20 8c 0d 09 d1 12 20 f2 | delete% ..... .| 00012440 61 72 65 5f 79 6f 75 5f 73 75 72 65 0d 09 d2 3e |are_you_sure...>| 00012450 20 e7 20 73 75 72 65 25 20 8c 20 ff 28 22 44 45 | . sure% . .("DE| 00012460 4c 45 54 45 20 22 2b 64 69 72 24 2b 22 2e 22 2b |LETE "+dir$+"."+| 00012470 63 61 74 24 28 62 6f 78 25 29 29 3a 73 68 6f 77 |cat$(box%)):show| 00012480 6e 5f 64 69 72 24 3d 22 2d 22 0d 09 d3 14 20 cd |n_dir$="-".... .| 00012490 3a 66 69 6c 65 72 5f 69 6e 66 6f 25 3d b9 0d 09 |:filer_info%=...| 000124a0 d4 18 20 c8 97 20 c8 93 20 30 2c 30 2c 31 32 38 |.. .. .. 0,0,128| 000124b0 30 2c 31 30 32 34 0d 09 d5 14 20 f2 77 61 69 74 |0,1024.... .wait| 000124c0 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 09 d6 06 20 e1 |_no_button.... .| 000124d0 0d 09 d7 04 0d 09 d8 1b 20 dd 20 f2 70 61 6e 65 |........ . .pane| 000124e0 6c 6c 65 64 5f 62 61 63 6b 67 72 6f 75 6e 64 0d |lled_background.| 000124f0 09 d9 27 20 e6 20 32 31 36 2c 32 31 36 2c 32 31 |..' . 216,216,21| 00012500 36 3a c8 93 20 c8 90 20 30 2c 32 33 34 2c 31 32 |6:.. .. 0,234,12| 00012510 38 30 2c 38 37 38 0d 09 da 34 20 e3 20 59 25 3d |80,878...4 . Y%=| 00012520 32 33 38 20 b8 20 38 37 38 20 88 34 30 3a e6 20 |238 . 878 .40:. | 00012530 32 30 30 2c 32 30 30 2c 32 30 30 3a 86 20 30 2c |200,200,200:. 0,| 00012540 59 25 2c 31 32 38 30 2c 59 25 0d 09 db 27 20 e6 |Y%,1280,Y%...' .| 00012550 20 32 33 32 2c 32 33 32 2c 32 33 32 3a 86 20 30 | 232,232,232:. 0| 00012560 2c 59 25 2d 32 2c 31 32 38 30 2c 59 25 2d 32 3a |,Y%-2,1280,Y%-2:| 00012570 ed 0d 09 dc 37 20 e3 20 58 25 3d 32 35 36 20 b8 |....7 . X%=256 .| 00012580 20 31 30 32 34 20 88 32 35 36 3a e6 20 32 33 32 | 1024 .256:. 232| 00012590 2c 32 33 32 2c 32 33 32 3a 86 20 58 25 2c 32 33 |,232,232:. X%,23| 000125a0 38 2c 58 25 2c 38 37 38 0d 09 dd 28 20 e6 20 32 |8,X%,878...( . 2| 000125b0 30 30 2c 32 30 30 2c 32 30 30 3a 86 20 58 25 2d |00,200,200:. X%-| 000125c0 32 2c 32 33 38 2c 58 25 2d 32 2c 38 37 38 3a ed |2,238,X%-2,878:.| 000125d0 0d 09 de 28 20 e6 20 32 31 36 2c 32 31 36 2c 32 |...( . 216,216,2| 000125e0 31 36 3a c8 93 20 c8 90 20 31 30 32 36 2c 32 33 |16:.. .. 1026,23| 000125f0 34 2c 32 36 30 2c 36 30 0d 09 df 04 0d 09 e0 06 |4,260,60........| 00012600 20 e1 0d 09 e1 05 20 0d 09 e2 1f 20 dd 20 f2 77 | ..... .... . .w| 00012610 72 69 74 65 32 28 74 65 78 74 24 2c 78 25 2c 79 |rite2(text$,x%,y| 00012620 25 2c 66 63 25 29 0d 09 e3 1b 20 e7 20 c0 70 61 |%,fc%).... . .pa| 00012630 6e 65 6c 24 2c 35 29 3d 22 50 61 6e 65 6c 22 20 |nel$,5)="Panel" | 00012640 8c 0d 09 e4 10 20 20 e7 20 66 63 25 3e 39 39 20 |..... . fc%>99 | 00012650 8c 0d 09 e5 23 20 20 70 61 6e 65 6c 24 3d 22 50 |....# panel$="P| 00012660 61 6e 65 6c 2e 46 69 78 65 64 22 3a 66 63 25 2d |anel.Fixed":fc%-| 00012670 3d 31 30 30 0d 09 e6 07 20 20 cc 0d 09 e7 1b 20 |=100.... ..... | 00012680 20 70 61 6e 65 6c 24 3d 22 50 61 6e 65 6c 2e 4d | panel$="Panel.M| 00012690 65 64 69 75 6d 22 0d 09 e8 07 20 20 cd 0d 09 e9 |edium".... ....| 000126a0 06 20 cd 0d 09 ea 34 20 c8 99 20 22 46 6f 6e 74 |. ....4 .. "Font| 000126b0 5f 46 69 6e 64 46 6f 6e 74 22 2c 2c 70 61 6e 65 |_FindFont",,pane| 000126c0 6c 24 2c 31 32 2a 31 36 2c 31 32 2a 31 36 20 b8 |l$,12*16,12*16 .| 000126d0 20 66 6f 6e 74 32 25 0d 09 eb 0d 20 c8 8e 20 66 | font2%.... .. f| 000126e0 63 25 20 ca 0d 09 ec 47 20 c9 20 30 20 20 20 20 |c% ....G . 0 | 000126f0 3a c8 99 20 22 46 6f 6e 74 5f 53 65 74 50 61 6c |:.. "Font_SetPal| 00012700 65 74 74 65 22 2c 2c 30 2c 30 2c 30 2c 26 46 46 |ette",,0,0,0,&FF| 00012710 46 46 46 46 30 30 2c 30 2c 26 36 35 37 35 37 32 |FFFF00,0,&657572| 00012720 35 34 20 3a f4 20 42 6c 61 63 6b 0d 09 ed 47 20 |54 :. Black...G | 00012730 c9 20 31 2c 34 2c 36 3a c8 99 20 22 46 6f 6e 74 |. 1,4,6:.. "Font| 00012740 5f 53 65 74 50 61 6c 65 74 74 65 22 2c 2c 30 2c |_SetPalette",,0,| 00012750 30 2c 30 2c 30 2c 26 46 46 46 46 46 46 30 30 2c |0,0,0,&FFFFFF00,| 00012760 26 36 35 37 35 37 32 35 34 20 3a f4 20 57 68 69 |&65757254 :. Whi| 00012770 74 65 0d 09 ee 46 20 c9 20 32 20 20 20 20 3a c8 |te...F . 2 :.| 00012780 99 20 22 46 6f 6e 74 5f 53 65 74 50 61 6c 65 74 |. "Font_SetPalet| 00012790 74 65 22 2c 2c 30 2c 30 2c 30 2c 30 2c 26 43 38 |te",,0,0,0,0,&C8| 000127a0 34 30 30 30 30 30 2c 26 36 35 37 35 37 32 35 34 |400000,&65757254| 000127b0 20 3a f4 20 42 6c 75 65 0d 09 ef 47 20 c9 20 33 | :. Blue...G . 3| 000127c0 20 20 20 20 3a c8 99 20 22 46 6f 6e 74 5f 53 65 | :.. "Font_Se| 000127d0 74 50 61 6c 65 74 74 65 22 2c 2c 30 2c 30 2c 30 |tPalette",,0,0,0| 000127e0 2c 30 2c 26 38 30 34 30 34 30 30 30 2c 26 36 35 |,0,&80404000,&65| 000127f0 37 35 37 32 35 34 20 3a f4 20 42 6c 75 65 32 0d |757254 :. Blue2.| 00012800 09 f0 47 20 c9 20 35 20 20 20 20 3a c8 99 20 22 |..G . 5 :.. "| 00012810 46 6f 6e 74 5f 53 65 74 50 61 6c 65 74 74 65 22 |Font_SetPalette"| 00012820 2c 2c 30 2c 30 2c 30 2c 30 2c 26 46 46 38 30 38 |,,0,0,0,0,&FF808| 00012830 30 30 30 2c 26 36 35 37 35 37 32 35 34 20 3a f4 |000,&65757254 :.| 00012840 20 42 6c 75 65 33 0d 09 f1 45 20 c9 20 37 20 20 | Blue3...E . 7 | 00012850 20 20 3a c8 99 20 22 46 6f 6e 74 5f 53 65 74 50 | :.. "Font_SetP| 00012860 61 6c 65 74 74 65 22 2c 2c 30 2c 30 2c 30 2c 30 |alette",,0,0,0,0| 00012870 2c 26 30 30 30 30 38 30 30 30 2c 26 36 35 37 35 |,&00008000,&6575| 00012880 37 32 35 34 20 3a f4 20 52 65 64 0d 09 f2 06 20 |7254 :. Red.... | 00012890 cb 0d 09 f3 10 20 70 78 25 3d 30 3a 70 79 25 3d |..... px%=0:py%=| 000128a0 30 0d 09 f4 24 20 e7 20 66 63 25 3d 34 20 84 20 |0...$ . fc%=4 . | 000128b0 66 63 25 3d 36 20 8c 20 70 78 25 2b 3d 32 3a 70 |fc%=6 . px%+=2:p| 000128c0 79 25 2d 3d 32 0d 09 f5 3b 20 c8 99 20 22 46 6f |y%-=2...; .. "Fo| 000128d0 6e 74 5f 50 61 69 6e 74 22 2c 66 6f 6e 74 32 25 |nt_Paint",font2%| 000128e0 2c bd 31 32 37 2b 74 65 78 74 24 2c 32 35 36 2b |,.127+text$,256+| 000128f0 31 36 2c 78 25 2b 70 78 25 2c 79 25 2b 70 79 25 |16,x%+px%,y%+py%| 00012900 0d 09 f6 0e 20 e7 20 66 63 25 3d 34 20 8c 0d 09 |.... . fc%=4 ...| 00012910 f7 36 20 c8 99 20 22 46 6f 6e 74 5f 53 65 74 50 |.6 .. "Font_SetP| 00012920 61 6c 65 74 74 65 22 2c 2c 30 2c 30 2c 30 2c 26 |alette",,0,0,0,&| 00012930 46 46 46 46 46 46 30 30 2c 30 2c 26 36 35 37 35 |FFFFFF00,0,&6575| 00012940 37 32 35 34 0d 09 f8 3f 20 c8 99 20 22 46 6f 6e |7254...? .. "Fon| 00012950 74 5f 50 61 69 6e 74 22 2c 66 6f 6e 74 32 25 2c |t_Paint",font2%,| 00012960 bd 31 32 37 2b 74 65 78 74 24 2c 32 35 36 2b 31 |.127+text$,256+1| 00012970 36 2c 78 25 2b 70 78 25 2d 32 2c 79 25 2b 70 79 |6,x%+px%-2,y%+py| 00012980 25 2b 32 0d 09 f9 06 20 cd 0d 09 fa 0e 20 e7 20 |%+2.... ..... . | 00012990 66 63 25 3d 36 20 8c 0d 09 fb 36 20 c8 99 20 22 |fc%=6 ....6 .. "| 000129a0 46 6f 6e 74 5f 53 65 74 50 61 6c 65 74 74 65 22 |Font_SetPalette"| 000129b0 2c 2c 30 2c 30 2c 30 2c 30 2c 26 41 30 41 30 41 |,,0,0,0,0,&A0A0A| 000129c0 30 30 30 2c 26 36 35 37 35 37 32 35 34 0d 09 fc |000,&65757254...| 000129d0 3f 20 c8 99 20 22 46 6f 6e 74 5f 50 61 69 6e 74 |? .. "Font_Paint| 000129e0 22 2c 66 6f 6e 74 32 25 2c bd 31 32 37 2b 74 65 |",font2%,.127+te| 000129f0 78 74 24 2c 32 35 36 2b 31 36 2c 78 25 2b 70 78 |xt$,256+16,x%+px| 00012a00 25 2d 32 2c 79 25 2b 70 79 25 2b 32 0d 09 fd 06 |%-2,y%+py%+2....| 00012a10 20 cd 0d 09 fe 1e 20 c8 99 20 22 46 6f 6e 74 5f | ..... .. "Font_| 00012a20 4c 6f 73 65 46 6f 6e 74 22 2c 66 6f 6e 74 32 25 |LoseFont",font2%| 00012a30 0d 09 ff 06 20 e1 0d 0a 00 04 0d 0a 01 12 20 dd |.... ......... .| 00012a40 20 f2 70 61 74 68 5f 62 6c 6f 63 6b 0d 0a 02 27 | .path_block...'| 00012a50 20 e6 20 32 35 35 2c 32 35 35 2c 32 35 35 3a c8 | . 255,255,255:.| 00012a60 93 20 c8 90 20 31 32 2c 38 39 36 2c 31 32 35 30 |. .. 12,896,1250| 00012a70 2c 35 34 0d 0a 03 27 20 e6 20 31 36 30 2c 31 36 |,54...' . 160,16| 00012a80 30 2c 31 36 30 3a c8 93 20 c8 90 20 31 38 2c 38 |0,160:.. .. 18,8| 00012a90 39 32 2c 31 32 35 30 2c 35 34 0d 0a 04 27 20 e6 |92,1250,54...' .| 00012aa0 20 32 30 30 2c 32 30 30 2c 32 35 35 3a c8 93 20 | 200,200,255:.. | 00012ab0 c8 90 20 31 36 2c 38 39 36 2c 31 32 34 38 2c 35 |.. 16,896,1248,5| 00012ac0 30 0d 0a 05 39 20 c8 99 20 73 70 72 73 77 69 25 |0...9 .. sprswi%| 00012ad0 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 61 63 |,256+52,spb%,"ac| 00012ae0 6f 72 6e 22 2c 31 36 2c 38 38 34 2c 38 2c 30 2c |orn",16,884,8,0,| 00012af0 74 72 61 6e 73 6c 61 74 65 25 0d 0a 06 23 20 f2 |translate%...# .| 00012b00 77 72 69 74 65 32 28 22 50 61 74 68 6e 61 6d 65 |write2("Pathname| 00012b10 20 3a 22 2c 39 32 2c 39 35 34 2c 34 29 0d 0a 07 | :",92,954,4)...| 00012b20 1e 20 f2 77 72 69 74 65 32 28 64 69 72 24 2c 32 |. .write2(dir$,2| 00012b30 36 34 2c 39 35 34 2c 31 30 30 29 0d 0a 08 3d 20 |64,954,100)...= | 00012b40 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 |.. sprswi%,256+5| 00012b50 32 2c 73 70 62 25 2c 22 6c 69 73 74 22 2c 32 36 |2,spb%,"list",26| 00012b60 30 2b 38 30 38 2c 38 39 38 2c 30 2c 30 2c 74 72 |0+808,898,0,0,tr| 00012b70 61 6e 73 6c 61 74 65 25 0d 0a 09 22 20 e6 20 30 |anslate%..." . 0| 00012b80 2c 30 2c 30 3a c8 93 20 32 36 30 2b 38 36 30 2c |,0,0:.. 260+860,| 00012b90 39 30 30 2c 31 34 30 2c 34 30 0d 0a 0a 06 20 e1 |900,140,40.... .| 00012ba0 0d 0a 0b 04 0d 0a 0c 14 20 dd 20 f2 6a 70 65 67 |........ . .jpeg| 00012bb0 5f 62 75 74 74 6f 6e 73 0d 0a 0d 18 20 e3 20 59 |_buttons.... . Y| 00012bc0 25 3d 31 32 30 20 b8 20 2d 33 30 20 88 2d 35 30 |%=120 . -30 .-50| 00012bd0 0d 0a 0e 39 20 c8 99 20 73 70 72 73 77 69 25 2c |...9 .. sprswi%,| 00012be0 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 6f 66 66 |256+52,spb%,"off| 00012bf0 22 2c 35 30 30 2c 59 25 2c 38 2c 30 2c 74 72 61 |",500,Y%,8,0,tra| 00012c00 6e 73 6c 61 74 65 25 3a ed 0d 0a 0f 1a 20 e7 20 |nslate%:..... . | 00012c10 59 3e 31 31 30 20 8c 20 6a 70 65 67 5f 6f 70 74 |Y>110 . jpeg_opt| 00012c20 25 3d 30 0d 0a 10 21 20 e7 20 59 3e 36 30 20 80 |%=0...! . Y>60 .| 00012c30 20 59 3c 31 31 31 20 8c 20 6a 70 65 67 5f 6f 70 | Y<111 . jpeg_op| 00012c40 74 25 3d 31 0d 0a 11 20 20 e7 20 59 3e 31 30 20 |t%=1... . Y>10 | 00012c50 80 20 59 3c 36 31 20 8c 20 6a 70 65 67 5f 6f 70 |. Y<61 . jpeg_op| 00012c60 74 25 3d 32 0d 0a 12 19 20 e7 20 59 3c 31 31 20 |t%=2.... . Y<11 | 00012c70 8c 20 6a 70 65 67 5f 6f 70 74 25 3d 33 0d 0a 13 |. jpeg_opt%=3...| 00012c80 18 20 59 25 3d 31 32 30 2d 35 30 2a 6a 70 65 67 |. Y%=120-50*jpeg| 00012c90 5f 6f 70 74 25 0d 0a 14 36 20 c8 99 20 73 70 72 |_opt%...6 .. spr| 00012ca0 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 |swi%,256+52,spb%| 00012cb0 2c 22 6f 6e 22 2c 35 30 30 2c 59 25 2c 38 2c 30 |,"on",500,Y%,8,0| 00012cc0 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a 15 13 20 |,translate%.... | 00012cd0 c8 8e 20 6a 70 65 67 5f 6f 70 74 25 20 ca 0d 0a |.. jpeg_opt% ...| 00012ce0 16 18 20 c9 20 30 2c 31 3a 6a 70 65 67 5f 73 63 |.. . 0,1:jpeg_sc| 00012cf0 61 6c 65 25 3d 30 0d 0a 17 19 20 c9 20 32 2c 33 |ale%=0.... . 2,3| 00012d00 3a 6a 70 65 67 5f 73 63 61 6c 65 25 3d 2d 31 0d |:jpeg_scale%=-1.| 00012d10 0a 18 06 20 cb 0d 0a 19 06 20 e1 0d 0a 1a 04 0d |... ..... ......| 00012d20 0a 1b 12 20 dd 20 f2 63 6c 69 63 6b 5f 69 6e 66 |... . .click_inf| 00012d30 6f 0d 0a 1c 24 20 20 f2 72 61 69 73 65 64 5f 62 |o...$ .raised_b| 00012d40 6c 6f 63 6b 28 34 36 34 2c 2d 33 36 2c 34 31 30 |lock(464,-36,410| 00012d50 2c 32 35 36 29 0d 0a 1d 31 20 20 f2 77 72 69 74 |,256)...1 .writ| 00012d60 65 32 28 22 4a 50 45 47 20 6c 6f 61 64 69 6e 67 |e2("JPEG loading| 00012d70 20 6f 70 74 69 6f 6e 73 3a 2d 22 2c 34 39 38 2c | options:-",498,| 00012d80 32 33 32 2c 34 29 0d 0a 1e 17 20 20 59 25 3d 31 |232,4).... Y%=1| 00012d90 32 30 3a e3 20 79 25 3d 30 20 b8 20 33 0d 0a 1f |20:. y%=0 . 3...| 00012da0 16 20 20 e7 20 79 25 3d 6a 70 65 67 5f 6f 70 74 |. . y%=jpeg_opt| 00012db0 25 20 8c 0d 0a 20 38 20 20 20 c8 99 20 73 70 72 |% ... 8 .. spr| 00012dc0 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 |swi%,256+52,spb%| 00012dd0 2c 22 6f 6e 22 2c 35 30 30 2c 59 25 2c 38 2c 30 |,"on",500,Y%,8,0| 00012de0 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a 21 07 20 |,translate%..!. | 00012df0 20 cc 0d 0a 22 39 20 20 20 c8 99 20 73 70 72 73 | ..."9 .. sprs| 00012e00 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c |wi%,256+52,spb%,| 00012e10 22 6f 66 66 22 2c 35 30 30 2c 59 25 2c 38 2c 30 |"off",500,Y%,8,0| 00012e20 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a 23 07 20 |,translate%..#. | 00012e30 20 cd 0d 0a 24 0e 20 20 59 25 2d 3d 35 30 3a ed | ...$. Y%-=50:.| 00012e40 0d 0a 25 2d 20 20 f2 77 72 69 74 65 32 28 22 43 |..%- .write2("C| 00012e50 72 6f 70 20 74 6f 20 20 36 34 30 20 78 20 34 38 |rop to 640 x 48| 00012e60 30 22 2c 35 34 34 2c 31 37 36 2c 34 29 0d 0a 26 |0",544,176,4)..&| 00012e70 2d 20 20 f2 77 72 69 74 65 32 28 22 43 72 6f 70 |- .write2("Crop| 00012e80 20 74 6f 20 20 36 34 30 20 78 20 35 31 32 22 2c | to 640 x 512",| 00012e90 35 34 34 2c 31 32 36 2c 34 29 0d 0a 27 2c 20 20 |544,126,4)..', | 00012ea0 f2 77 72 69 74 65 32 28 22 53 63 61 6c 65 20 74 |.write2("Scale t| 00012eb0 6f 20 36 34 30 20 78 20 34 38 30 22 2c 35 34 34 |o 640 x 480",544| 00012ec0 2c 37 36 2c 34 29 0d 0a 28 2c 20 20 f2 77 72 69 |,76,4)..(, .wri| 00012ed0 74 65 32 28 22 53 63 61 6c 65 20 74 6f 20 36 34 |te2("Scale to 64| 00012ee0 30 20 78 20 35 31 32 22 2c 35 34 34 2c 32 36 2c |0 x 512",544,26,| 00012ef0 34 29 0d 0a 29 04 0d 0a 2a 3d 20 f2 72 61 69 73 |4)..)...*= .rais| 00012f00 65 64 5f 62 6c 6f 63 6b 28 39 32 30 2c 31 38 30 |ed_block(920,180| 00012f10 2c 31 32 30 2c 34 30 29 20 3a f2 77 72 69 74 65 |,120,40) :.write| 00012f20 32 28 22 52 4f 4f 54 22 2c 39 33 34 2c 32 33 34 |2("ROOT",934,234| 00012f30 2c 34 29 0d 0a 2b 3c 20 f2 72 61 69 73 65 64 5f |,4)..+< .raised_| 00012f40 62 6c 6f 63 6b 28 31 31 34 34 2c 31 38 30 2c 31 |block(1144,180,1| 00012f50 32 30 2c 34 30 29 3a f2 77 72 69 74 65 32 28 22 |20,40):.write2("| 00012f60 55 50 22 2c 31 31 35 30 2c 32 33 34 2c 34 29 0d |UP",1150,234,4).| 00012f70 0a 2c 22 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 |.," .raised_bloc| 00012f80 6b 28 39 32 30 2c 31 32 30 2c 31 36 30 2c 34 30 |k(920,120,160,40| 00012f90 29 0d 0a 2d 23 20 f2 72 61 69 73 65 64 5f 62 6c |)..-# .raised_bl| 00012fa0 6f 63 6b 28 31 31 30 34 2c 31 32 30 2c 31 36 30 |ock(1104,120,160| 00012fb0 2c 34 30 29 0d 0a 2e 22 20 f2 72 61 69 73 65 64 |,40)..." .raised| 00012fc0 5f 62 6c 6f 63 6b 28 39 32 30 2c 2d 34 30 2c 33 |_block(920,-40,3| 00012fd0 34 34 2c 34 30 29 0d 0a 2f 21 20 f2 72 61 69 73 |44,40)../! .rais| 00012fe0 65 64 5f 62 6c 6f 63 6b 28 39 32 30 2c 32 30 2c |ed_block(920,20,| 00012ff0 33 34 34 2c 38 30 29 0d 0a 30 22 20 e6 20 39 36 |344,80)..0" . 96| 00013000 2c 39 36 2c 39 36 3a 86 20 31 32 30 34 2c 32 30 |,96,96:. 1204,20| 00013010 2c 31 32 30 34 2c 31 30 34 0d 0a 31 25 20 e6 20 |,1204,104..1% . | 00013020 32 35 35 2c 32 35 35 2c 32 35 35 3a 86 20 31 32 |255,255,255:. 12| 00013030 30 38 2c 32 30 2c 31 32 30 38 2c 31 30 34 0d 0a |08,20,1208,104..| 00013040 32 0f 20 e7 20 64 72 76 25 3d 30 20 8c 0d 0a 33 |2. . drv%=0 ...3| 00013050 36 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 |6 .. sprswi%,256| 00013060 2b 35 32 2c 73 70 62 25 2c 22 6f 6e 22 2c 39 39 |+52,spb%,"on",99| 00013070 32 2c 35 34 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 |2,54,8,0,transla| 00013080 74 65 25 0d 0a 34 06 20 cc 0d 0a 35 37 20 c8 99 |te%..4. ...57 ..| 00013090 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c | sprswi%,256+52,| 000130a0 73 70 62 25 2c 22 6f 66 66 22 2c 39 39 32 2c 35 |spb%,"off",992,5| 000130b0 34 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 |4,8,0,translate%| 000130c0 0d 0a 36 06 20 cd 0d 0a 37 0f 20 e7 20 64 72 76 |..6. ...7. . drv| 000130d0 25 3d 31 20 8c 0d 0a 38 37 20 c8 99 20 73 70 72 |%=1 ...87 .. spr| 000130e0 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 |swi%,256+52,spb%| 000130f0 2c 22 6f 6e 22 2c 31 30 34 36 2c 35 34 2c 38 2c |,"on",1046,54,8,| 00013100 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a 39 06 |0,translate%..9.| 00013110 20 cc 0d 0a 3a 14 20 e7 20 66 6c 6f 70 70 69 65 | ...:. . floppie| 00013120 73 25 3e 31 20 8c 0d 0a 3b 38 20 c8 99 20 73 70 |s%>1 ...;8 .. sp| 00013130 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 |rswi%,256+52,spb| 00013140 25 2c 22 6f 66 66 22 2c 31 30 34 36 2c 35 34 2c |%,"off",1046,54,| 00013150 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a |8,0,translate%..| 00013160 3c 06 20 cc 0d 0a 3d 3d 20 c8 99 20 73 70 72 73 |<. ...== .. sprs| 00013170 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c |wi%,256+52,spb%,| 00013180 22 6f 66 66 5f 67 72 65 79 22 2c 31 30 34 36 2c |"off_grey",1046,| 00013190 35 34 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 |54,8,0,translate| 000131a0 25 0d 0a 3e 06 20 cd 0d 0a 3f 06 20 cd 0d 0a 40 |%..>. ...?. ...@| 000131b0 0f 20 e7 20 64 72 76 25 3d 34 20 8c 0d 0a 41 37 |. . drv%=4 ...A7| 000131c0 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b | .. sprswi%,256+| 000131d0 35 32 2c 73 70 62 25 2c 22 6f 6e 22 2c 31 31 30 |52,spb%,"on",110| 000131e0 30 2c 35 34 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 |0,54,8,0,transla| 000131f0 74 65 25 0d 0a 42 06 20 cc 0d 0a 43 38 20 c8 99 |te%..B. ...C8 ..| 00013200 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c | sprswi%,256+52,| 00013210 73 70 62 25 2c 22 6f 66 66 22 2c 31 31 30 30 2c |spb%,"off",1100,| 00013220 35 34 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 |54,8,0,translate| 00013230 25 0d 0a 44 06 20 cd 0d 0a 45 0f 20 e7 20 64 72 |%..D. ...E. . dr| 00013240 76 25 3d 35 20 8c 0d 0a 46 37 20 c8 99 20 73 70 |v%=5 ...F7 .. sp| 00013250 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 |rswi%,256+52,spb| 00013260 25 2c 22 6f 6e 22 2c 31 31 35 34 2c 35 34 2c 38 |%,"on",1154,54,8| 00013270 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a 47 |,0,translate%..G| 00013280 06 20 cc 0d 0a 48 17 20 e7 20 68 61 72 64 5f 64 |. ...H. . hard_d| 00013290 72 69 76 65 73 25 3e 31 20 8c 0d 0a 49 38 20 c8 |rives%>1 ...I8 .| 000132a0 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 |. sprswi%,256+52| 000132b0 2c 73 70 62 25 2c 22 6f 66 66 22 2c 31 31 35 34 |,spb%,"off",1154| 000132c0 2c 35 34 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 |,54,8,0,translat| 000132d0 65 25 0d 0a 4a 06 20 cc 0d 0a 4b 3d 20 c8 99 20 |e%..J. ...K= .. | 000132e0 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 |sprswi%,256+52,s| 000132f0 70 62 25 2c 22 6f 66 66 5f 67 72 65 79 22 2c 31 |pb%,"off_grey",1| 00013300 31 35 34 2c 35 34 2c 38 2c 30 2c 74 72 61 6e 73 |154,54,8,0,trans| 00013310 6c 61 74 65 25 0d 0a 4c 06 20 cd 0d 0a 4d 06 20 |late%..L. ...M. | 00013320 cd 0d 0a 4e 0f 20 e7 20 64 72 76 25 3d 36 20 8c |...N. . drv%=6 .| 00013330 0d 0a 4f 37 20 c8 99 20 73 70 72 73 77 69 25 2c |..O7 .. sprswi%,| 00013340 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 6f 6e 22 |256+52,spb%,"on"| 00013350 2c 31 32 31 34 2c 35 34 2c 38 2c 30 2c 74 72 61 |,1214,54,8,0,tra| 00013360 6e 73 6c 61 74 65 25 0d 0a 50 06 20 cc 0d 0a 51 |nslate%..P. ...Q| 00013370 11 20 e7 20 75 64 5f 70 61 74 68 25 20 8c 0d 0a |. . ud_path% ...| 00013380 52 38 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 |R8 .. sprswi%,25| 00013390 36 2b 35 32 2c 73 70 62 25 2c 22 6f 66 66 22 2c |6+52,spb%,"off",| 000133a0 31 32 31 34 2c 35 34 2c 38 2c 30 2c 74 72 61 6e |1214,54,8,0,tran| 000133b0 73 6c 61 74 65 25 0d 0a 53 06 20 cc 0d 0a 54 3d |slate%..S. ...T=| 000133c0 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b | .. sprswi%,256+| 000133d0 35 32 2c 73 70 62 25 2c 22 6f 66 66 5f 67 72 65 |52,spb%,"off_gre| 000133e0 79 22 2c 31 32 31 34 2c 35 34 2c 38 2c 30 2c 74 |y",1214,54,8,0,t| 000133f0 72 61 6e 73 6c 61 74 65 25 0d 0a 55 06 20 cd 0d |ranslate%..U. ..| 00013400 0a 56 06 20 cd 0d 0a 57 1e 20 f2 77 72 69 74 65 |.V. ...W. .write| 00013410 32 28 22 41 44 46 53 22 2c 39 31 32 2c 31 31 30 |2("ADFS",912,110| 00013420 2c 34 29 0d 0a 58 1e 20 f2 77 72 69 74 65 32 28 |,4)..X. .write2(| 00013430 22 44 72 69 76 65 22 2c 39 31 32 2c 37 30 2c 34 |"Drive",912,70,4| 00013440 29 0d 0a 59 1a 20 f2 77 72 69 74 65 32 28 22 30 |)..Y. .write2("0| 00013450 22 2c 39 39 34 2c 37 30 2c 34 29 0d 0a 5a 1b 20 |",994,70,4)..Z. | 00013460 f2 77 72 69 74 65 32 28 22 31 22 2c 31 30 34 38 |.write2("1",1048| 00013470 2c 37 30 2c 34 29 0d 0a 5b 1b 20 f2 77 72 69 74 |,70,4)..[. .writ| 00013480 65 32 28 22 34 22 2c 31 31 30 32 2c 37 30 2c 34 |e2("4",1102,70,4| 00013490 29 0d 0a 5c 1b 20 f2 77 72 69 74 65 32 28 22 35 |)..\. .write2("5| 000134a0 22 2c 31 31 35 36 2c 37 30 2c 34 29 0d 0a 5d 1c |",1156,70,4)..].| 000134b0 20 f2 77 72 69 74 65 32 28 22 55 44 22 2c 31 32 | .write2("UD",12| 000134c0 31 30 2c 37 30 2c 34 29 0d 0a 5e 1e 20 f2 77 72 |10,70,4)..^. .wr| 000134d0 69 74 65 32 28 22 53 41 56 45 22 2c 39 35 32 2c |ite2("SAVE",952,| 000134e0 31 37 34 2c 34 29 0d 0a 5f 21 20 f2 77 72 69 74 |174,4).._! .writ| 000134f0 65 32 28 22 43 41 4e 43 45 4c 22 2c 31 31 32 34 |e2("CANCEL",1124| 00013500 2c 31 37 34 2c 34 29 0d 0a 60 28 20 f2 77 72 69 |,174,4)..`( .wri| 00013510 74 65 32 28 22 51 55 49 54 20 74 6f 20 44 45 53 |te2("QUIT to DES| 00013520 4b 54 4f 50 22 2c 39 37 32 2c 31 34 2c 34 29 0d |KTOP",972,14,4).| 00013530 0a 61 38 20 c8 99 20 73 70 72 73 77 69 25 2c 32 |.a8 .. sprswi%,2| 00013540 35 36 2b 35 32 2c 73 70 62 25 2c 22 75 70 22 2c |56+52,spb%,"up",| 00013550 31 32 32 30 2c 31 38 36 2c 38 2c 30 2c 74 72 61 |1220,186,8,0,tra| 00013560 6e 73 6c 61 74 65 25 0d 0a 62 3f 20 c8 99 20 73 |nslate%..b? .. s| 00013570 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 |prswi%,256+52,sp| 00013580 62 25 2c 22 6e 65 77 64 69 72 22 2c 31 30 35 38 |b%,"newdir",1058| 00013590 2c 31 37 36 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 |,176,8,0,transla| 000135a0 74 65 32 35 36 25 0d 0a 63 06 20 e1 0d 0a 64 04 |te256%..c. ...d.| 000135b0 0d 0a 65 14 20 dd 20 f2 73 61 76 65 5f 6f 70 74 |..e. . .save_opt| 000135c0 69 6f 6e 73 0d 0a 66 1e 20 6f 6c 64 5f 73 61 76 |ions..f. old_sav| 000135d0 65 5f 74 79 70 65 24 3d 73 61 76 65 5f 74 79 70 |e_type$=save_typ| 000135e0 65 24 0d 0a 67 19 20 c8 97 20 c8 93 20 30 2c 2d |e$..g. .. .. 0,-| 000135f0 34 38 2c 31 32 38 30 2c 32 38 30 0d 0a 68 27 20 |48,1280,280..h' | 00013600 e6 20 32 31 36 2c 32 31 36 2c 32 31 36 3a c8 93 |. 216,216,216:..| 00013610 20 c8 90 20 36 30 30 2c 2d 35 30 2c 36 38 30 2c | .. 600,-50,680,| 00013620 34 34 0d 0a 69 3e 20 f2 72 61 69 73 65 64 5f 62 |44..i> .raised_b| 00013630 6c 6f 63 6b 28 34 34 34 2c 2d 34 34 2c 38 32 30 |lock(444,-44,820| 00013640 2c 32 37 32 29 3a 73 61 76 65 5f 6e 61 6d 65 24 |,272):save_name$| 00013650 3d 22 22 3a 73 61 76 65 5f 71 75 69 74 25 3d 30 |="":save_quit%=0| 00013660 0d 0a 6a 14 20 c8 8e 20 73 61 76 65 5f 74 79 70 |..j. .. save_typ| 00013670 65 24 20 ca 0d 0a 6b 21 20 c9 20 22 73 70 72 69 |e$ ...k! . "spri| 00013680 74 65 22 20 3a f2 73 61 76 65 5f 62 75 74 74 6f |te" :.save_butto| 00013690 6e 73 28 31 29 0d 0a 6c 21 20 c9 20 22 74 61 72 |ns(1)..l! . "tar| 000136a0 67 61 31 22 20 3a f2 73 61 76 65 5f 62 75 74 74 |ga1" :.save_butt| 000136b0 6f 6e 73 28 32 29 0d 0a 6d 21 20 c9 20 22 70 73 |ons(2)..m! . "ps| 000136c0 63 61 6e 22 20 20 3a f2 73 61 76 65 5f 62 75 74 |can" :.save_but| 000136d0 74 6f 6e 73 28 33 29 0d 0a 6e 21 20 c9 20 22 6a |tons(3)..n! . "j| 000136e0 70 65 67 31 22 20 20 3a f2 73 61 76 65 5f 62 75 |peg1" :.save_bu| 000136f0 74 74 6f 6e 73 28 34 29 0d 0a 6f 21 20 c9 20 22 |ttons(4)..o! . "| 00013700 6a 70 65 67 32 22 20 20 3a f2 73 61 76 65 5f 62 |jpeg2" :.save_b| 00013710 75 74 74 6f 6e 73 28 35 29 0d 0a 70 2c 20 c9 20 |uttons(5)..p, . | 00013720 22 6f 76 65 72 6c 61 79 22 3a e7 20 6f 76 65 72 |"overlay":. over| 00013730 6c 61 79 25 20 f2 73 61 76 65 5f 62 75 74 74 6f |lay% .save_butto| 00013740 6e 73 28 36 29 0d 0a 71 06 20 cb 0d 0a 72 2b 20 |ns(6)..q. ...r+ | 00013750 f2 77 72 69 74 65 32 28 22 53 70 72 69 74 65 20 |.write2("Sprite | 00013760 20 36 34 30 20 78 20 35 31 32 22 2c 35 31 30 2c | 640 x 512",510,| 00013770 32 33 34 2c 34 29 0d 0a 73 2b 20 f2 77 72 69 74 |234,4)..s+ .writ| 00013780 65 32 28 22 54 61 72 67 61 20 20 20 36 34 30 20 |e2("Targa 640 | 00013790 78 20 35 31 32 22 2c 35 31 30 2c 31 39 30 2c 34 |x 512",510,190,4| 000137a0 29 0d 0a 74 1f 20 f2 77 72 69 74 65 32 28 22 50 |)..t. .write2("P| 000137b0 73 63 61 6e 22 2c 35 31 30 2c 31 34 36 2c 34 29 |scan",510,146,4)| 000137c0 0d 0a 75 23 20 f2 77 72 69 74 65 32 28 22 33 32 |..u# .write2("32| 000137d0 30 20 78 20 32 35 36 22 2c 36 32 30 2c 31 34 36 |0 x 256",620,146| 000137e0 2c 34 29 0d 0a 76 2b 20 f2 77 72 69 74 65 32 28 |,4)..v+ .write2(| 000137f0 22 4a 50 45 47 20 20 20 20 36 34 30 20 78 20 35 |"JPEG 640 x 5| 00013800 31 32 22 2c 35 31 30 2c 31 30 32 2c 34 29 0d 0a |12",510,102,4)..| 00013810 77 2a 20 f2 77 72 69 74 65 32 28 22 4a 50 45 47 |w* .write2("JPEG| 00013820 20 20 20 20 33 32 30 20 78 20 32 35 36 22 2c 35 | 320 x 256",5| 00013830 31 30 2c 35 38 2c 34 29 0d 0a 78 2c 20 f2 77 72 |10,58,4)..x, .wr| 00013840 69 74 65 32 28 22 53 61 76 65 20 73 70 72 69 74 |ite2("Save sprit| 00013850 65 20 6f 76 65 72 6c 61 79 22 2c 35 31 30 2c 31 |e overlay",510,1| 00013860 34 2c 34 29 0d 0a 79 2a 20 f2 77 72 69 74 65 32 |4,4)..y* .write2| 00013870 28 22 45 6e 74 65 72 20 66 69 6c 65 6e 61 6d 65 |("Enter filename| 00013880 20 3a 22 2c 39 32 30 2c 32 32 34 2c 30 29 0d 0a | :",920,224,0)..| 00013890 7a 27 20 e6 20 32 35 35 2c 32 35 35 2c 32 35 35 |z' . 255,255,255| 000138a0 3a c8 93 20 c8 90 20 39 32 30 2c 31 32 30 2c 32 |:.. .. 920,120,2| 000138b0 34 30 2c 34 30 0d 0a 7b 1b 20 f2 77 72 69 74 65 |40,40..{. .write| 000138c0 32 28 22 7c 22 2c 39 32 38 2c 31 37 34 2c 30 29 |2("|",928,174,0)| 000138d0 0d 0a 7c 21 20 f2 72 61 69 73 65 64 5f 62 6c 6f |..|! .raised_blo| 000138e0 63 6b 28 38 36 34 2c 34 30 2c 31 36 30 2c 34 30 |ck(864,40,160,40| 000138f0 29 0d 0a 7d 22 20 f2 72 61 69 73 65 64 5f 62 6c |)..}" .raised_bl| 00013900 6f 63 6b 28 31 30 36 34 2c 34 30 2c 31 36 30 2c |ock(1064,40,160,| 00013910 34 30 29 0d 0a 7e 1d 20 f2 77 72 69 74 65 32 28 |40)..~. .write2(| 00013920 22 53 41 56 45 22 2c 38 39 38 2c 39 34 2c 34 29 |"SAVE",898,94,4)| 00013930 0d 0a 7f 20 20 f2 77 72 69 74 65 32 28 22 43 41 |... .write2("CA| 00013940 4e 43 45 4c 22 2c 31 30 38 34 2c 39 34 2c 34 29 |NCEL",1084,94,4)| 00013950 0d 0a 80 2a 20 e7 20 c0 73 61 76 65 5f 74 79 70 |...* . .save_typ| 00013960 65 24 2c 34 29 3d 22 6a 70 65 67 22 20 8c 20 f2 |e$,4)="jpeg" . .| 00013970 6a 70 65 67 5f 70 61 6e 65 6c 0d 0a 81 06 20 f5 |jpeg_panel.... .| 00013980 0d 0a 82 26 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 |...& .wait_no_bu| 00013990 74 74 6f 6e 3a f5 3a 4b 24 3d bf 28 31 29 3a fd |tton:.:K$=.(1):.| 000139a0 20 4b 24 3d 22 22 0d 0a 83 2c 20 f5 3a c8 97 20 | K$=""..., .:.. | 000139b0 58 2c 59 2c 42 3a 4b 24 3d bf 28 31 29 3a fd 20 |X,Y,B:K$=.(1):. | 000139c0 42 3d 34 20 84 20 42 3d 31 20 84 20 4b 24 3c 3e |B=4 . B=1 . K$<>| 000139d0 22 22 0d 0a 84 10 20 e7 20 42 3d 31 20 8c 20 42 |"".... . B=1 . B| 000139e0 3d 34 0d 0a 85 16 20 e7 20 4b 24 3d bd 38 20 8c |=4.... . K$=.8 .| 000139f0 20 4b 24 3d bd 31 32 37 0d 0a 86 24 20 e7 20 97 | K$=.127...$ . .| 00013a00 28 4b 24 29 3d 31 32 37 20 80 20 a9 28 73 61 76 |(K$)=127 . .(sav| 00013a10 65 5f 6e 61 6d 65 24 29 3e 30 20 8c 0d 0a 87 32 |e_name$)>0 ....2| 00013a20 20 4c 25 3d a9 28 73 61 76 65 5f 6e 61 6d 65 24 | L%=.(save_name$| 00013a30 29 3a 73 61 76 65 5f 6e 61 6d 65 24 3d c0 73 61 |):save_name$=.sa| 00013a40 76 65 5f 6e 61 6d 65 24 2c 4c 25 2d 31 29 0d 0a |ve_name$,L%-1)..| 00013a50 88 27 20 e6 20 32 35 35 2c 32 35 35 2c 32 35 35 |.' . 255,255,255| 00013a60 3a c8 93 20 c8 90 20 39 32 30 2c 31 32 30 2c 32 |:.. .. 920,120,2| 00013a70 34 30 2c 34 30 0d 0a 89 26 20 f2 77 72 69 74 65 |40,40...& .write| 00013a80 32 28 73 61 76 65 5f 6e 61 6d 65 24 2b 22 7c 22 |2(save_name$+"|"| 00013a90 2c 39 32 38 2c 31 37 34 2c 30 29 0d 0a 8a 06 20 |,928,174,0).... | 00013aa0 cd 0d 0a 8b 11 20 e7 20 97 28 4b 24 29 3d 32 31 |..... . .(K$)=21| 00013ab0 20 8c 0d 0a 8c 35 20 73 61 76 65 5f 6e 61 6d 65 | ....5 save_name| 00013ac0 24 3d 22 22 3a e6 20 32 35 35 2c 32 35 35 2c 32 |$="":. 255,255,2| 00013ad0 35 35 3a c8 93 20 c8 90 20 39 32 30 2c 31 32 30 |55:.. .. 920,120| 00013ae0 2c 32 34 30 2c 34 30 0d 0a 8d 26 20 f2 77 72 69 |,240,40...& .wri| 00013af0 74 65 32 28 73 61 76 65 5f 6e 61 6d 65 24 2b 22 |te2(save_name$+"| 00013b00 7c 22 2c 39 32 38 2c 31 37 34 2c 30 29 0d 0a 8e ||",928,174,0)...| 00013b10 06 20 cd 0d 0a 8f 3a 20 e7 20 a9 28 73 61 76 65 |. ....: . .(save| 00013b20 5f 6e 61 6d 65 24 29 3c 31 30 20 80 20 97 28 4b |_name$)<10 . .(K| 00013b30 24 29 3e 33 32 20 80 20 97 28 4b 24 29 3c 31 32 |$)>32 . .(K$)<12| 00013b40 37 20 80 20 4b 24 3c 3e 22 2e 22 20 8c 0d 0a 90 |7 . K$<>"." ....| 00013b50 36 20 73 61 76 65 5f 6e 61 6d 65 24 2b 3d 4b 24 |6 save_name$+=K$| 00013b60 3a e6 20 32 35 35 2c 32 35 35 2c 32 35 35 3a c8 |:. 255,255,255:.| 00013b70 93 20 c8 90 20 39 32 30 2c 31 32 30 2c 32 34 30 |. .. 920,120,240| 00013b80 2c 34 30 0d 0a 91 26 20 f2 77 72 69 74 65 32 28 |,40...& .write2(| 00013b90 73 61 76 65 5f 6e 61 6d 65 24 2b 22 7c 22 2c 39 |save_name$+"|",9| 00013ba0 32 38 2c 31 37 34 2c 30 29 0d 0a 92 06 20 cd 0d |28,174,0).... ..| 00013bb0 0a 93 0c 20 e7 20 42 3d 34 20 8c 0d 0a 94 33 20 |... . B=4 ....3 | 00013bc0 e7 20 94 28 34 38 30 2d 58 29 3c 32 32 20 80 20 |. .(480-X)<22 . | 00013bd0 94 28 32 30 30 2d 59 29 3c 32 32 20 8c 20 f2 73 |.(200-Y)<22 . .s| 00013be0 61 76 65 5f 62 75 74 74 6f 6e 73 28 31 29 0d 0a |ave_buttons(1)..| 00013bf0 95 33 20 e7 20 94 28 34 38 30 2d 58 29 3c 32 32 |.3 . .(480-X)<22| 00013c00 20 80 20 94 28 31 35 36 2d 59 29 3c 32 32 20 8c | . .(156-Y)<22 .| 00013c10 20 f2 73 61 76 65 5f 62 75 74 74 6f 6e 73 28 32 | .save_buttons(2| 00013c20 29 0d 0a 96 33 20 e7 20 94 28 34 38 30 2d 58 29 |)...3 . .(480-X)| 00013c30 3c 32 32 20 80 20 94 28 31 31 32 2d 59 29 3c 32 |<22 . .(112-Y)<2| 00013c40 32 20 8c 20 f2 73 61 76 65 5f 62 75 74 74 6f 6e |2 . .save_button| 00013c50 73 28 33 29 0d 0a 97 33 20 e7 20 94 28 34 38 30 |s(3)...3 . .(480| 00013c60 2d 58 29 3c 32 32 20 80 20 94 28 36 38 2d 59 29 |-X)<22 . .(68-Y)| 00013c70 3c 32 32 20 20 8c 20 f2 73 61 76 65 5f 62 75 74 |<22 . .save_but| 00013c80 74 6f 6e 73 28 34 29 0d 0a 98 33 20 e7 20 94 28 |tons(4)...3 . .(| 00013c90 34 38 30 2d 58 29 3c 32 32 20 80 20 94 28 32 34 |480-X)<22 . .(24| 00013ca0 2d 59 29 3c 32 32 20 20 8c 20 f2 73 61 76 65 5f |-Y)<22 . .save_| 00013cb0 62 75 74 74 6f 6e 73 28 35 29 0d 0a 99 3c 20 e7 |buttons(5)...< .| 00013cc0 20 94 28 34 38 30 2d 58 29 3c 32 32 20 80 20 94 | .(480-X)<22 . .| 00013cd0 28 2d 32 30 2d 59 29 3c 32 32 20 80 20 6f 76 65 |(-20-Y)<22 . ove| 00013ce0 72 6c 61 79 25 20 f2 73 61 76 65 5f 62 75 74 74 |rlay% .save_butt| 00013cf0 6f 6e 73 28 36 29 0d 0a 9a 2f 20 e7 20 94 28 31 |ons(6).../ . .(1| 00013d00 31 34 32 2d 58 29 3c 38 30 20 80 20 94 28 36 34 |142-X)<80 . .(64| 00013d10 2d 59 29 3c 32 36 20 8c 20 73 61 76 65 5f 71 75 |-Y)<26 . save_qu| 00013d20 69 74 25 3d b9 0d 0a 9b 39 20 e7 20 94 28 58 2d |it%=....9 . .(X-| 00013d30 33 39 38 29 3c 32 32 20 80 20 94 28 59 2d 39 34 |398)<22 . .(Y-94| 00013d40 29 3c 31 33 32 20 8c 20 f2 6d 65 6d 5f 73 65 6c |)<132 . .mem_sel| 00013d50 65 63 74 3a 72 65 66 72 65 73 68 25 3d b9 0d 0a |ect:refresh%=...| 00013d60 9c 56 20 e7 20 94 28 58 2d 39 36 34 29 3c 32 32 |.V . .(X-964)<22| 00013d70 20 80 20 94 28 59 29 3c 31 38 20 80 20 c0 73 61 | . .(Y)<18 . .sa| 00013d80 76 65 5f 74 79 70 65 24 2c 34 29 3d 22 6a 70 65 |ve_type$,4)="jpe| 00013d90 67 22 20 80 20 6a 70 67 71 25 3e 33 30 20 8c 20 |g" . jpgq%>30 . | 00013da0 6a 70 67 71 25 2d 3d 35 3a f2 6a 70 65 67 5f 70 |jpgq%-=5:.jpeg_p| 00013db0 61 6e 65 6c 0d 0a 9d 57 20 e7 20 94 28 58 2d 31 |anel...W . .(X-1| 00013dc0 31 32 32 29 3c 32 32 20 80 20 94 28 59 29 3c 31 |122)<22 . .(Y)<1| 00013dd0 38 20 80 20 c0 73 61 76 65 5f 74 79 70 65 24 2c |8 . .save_type$,| 00013de0 34 29 3d 22 6a 70 65 67 22 20 80 20 6a 70 67 71 |4)="jpeg" . jpgq| 00013df0 25 3c 39 35 20 8c 20 6a 70 67 71 25 2b 3d 35 3a |%<95 . jpgq%+=5:| 00013e00 f2 6a 70 65 67 5f 70 61 6e 65 6c 0d 0a 9e 06 20 |.jpeg_panel.... | 00013e10 cd 0d 0a 9f 34 20 e7 20 28 42 3d 34 20 80 20 28 |....4 . (B=4 . (| 00013e20 94 28 39 34 38 2d 58 29 3c 38 30 20 80 20 94 28 |.(948-X)<80 . .(| 00013e30 36 34 2d 59 29 3c 32 36 29 29 20 84 20 4b 24 3d |64-Y)<26)) . K$=| 00013e40 bd 31 33 20 8c 0d 0a a0 25 20 20 e6 33 2c 36 33 |.13 ....% .3,63| 00013e50 20 c8 9c 31 39 32 3a c8 93 20 c8 90 20 38 36 30 | ..192:.. .. 860| 00013e60 2c 33 36 2c 31 36 38 2c 34 38 0d 0a a1 19 20 20 |,36,168,48.... | 00013e70 e7 20 a9 28 73 61 76 65 5f 6e 61 6d 65 24 29 3e |. .(save_name$)>| 00013e80 30 20 8c 0d 0a a2 14 20 20 20 f2 73 61 76 65 5f |0 ..... .save_| 00013e90 70 69 63 74 75 72 65 0d 0a a3 07 20 20 cc 0d 0a |picture.... ...| 00013ea0 a4 22 20 20 20 4b 3d a6 28 32 35 29 3a c8 93 20 |." K=.(25):.. | 00013eb0 c8 90 20 38 36 30 2c 33 36 2c 31 36 38 2c 34 38 |.. 860,36,168,48| 00013ec0 0d 0a a5 07 20 20 cd 0d 0a a6 06 20 cd 0d 0a a7 |.... ..... ....| 00013ed0 3e 20 e7 20 c0 73 61 76 65 5f 74 79 70 65 24 2c |> . .save_type$,| 00013ee0 34 29 3d 22 6a 70 65 67 22 20 8c 20 f2 6a 70 65 |4)="jpeg" . .jpe| 00013ef0 67 5f 70 61 6e 65 6c 20 8b 20 f2 62 6c 61 6e 6b |g_panel . .blank| 00013f00 5f 6a 70 65 67 5f 70 61 6e 65 6c 0d 0a a8 11 20 |_jpeg_panel.... | 00013f10 fd 20 73 61 76 65 5f 71 75 69 74 25 0d 0a a9 35 |. save_quit%...5| 00013f20 20 e7 20 73 61 76 65 5f 74 79 70 65 24 3d 22 6f | . save_type$="o| 00013f30 76 65 72 6c 61 79 22 20 73 61 76 65 5f 74 79 70 |verlay" save_typ| 00013f40 65 24 3d 6f 6c 64 5f 73 61 76 65 5f 74 79 70 65 |e$=old_save_type| 00013f50 24 0d 0a aa 06 20 e1 0d 0a ab 04 0d 0a ac 18 20 |$.... ......... | 00013f60 dd 20 f2 62 6c 61 6e 6b 5f 6a 70 65 67 5f 70 61 |. .blank_jpeg_pa| 00013f70 6e 65 6c 0d 0a ad 27 20 e6 20 32 30 38 2c 32 30 |nel...' . 208,20| 00013f80 38 2c 32 31 36 3a c8 93 20 c8 90 20 38 39 32 2c |8,216:.. .. 892,| 00013f90 2d 32 30 2c 33 30 34 2c 34 30 0d 0a ae 06 20 e1 |-20,304,40.... .| 00013fa0 0d 0a af 04 0d 0a b0 12 20 dd 20 f2 6a 70 65 67 |........ . .jpeg| 00013fb0 5f 70 61 6e 65 6c 0d 0a b1 27 20 e6 20 32 35 35 |_panel...' . 255| 00013fc0 2c 32 35 35 2c 32 35 35 3a c8 93 20 c8 90 20 39 |,255,255:.. .. 9| 00013fd0 39 32 2c 2d 32 30 2c 31 30 34 2c 34 30 0d 0a b2 |92,-20,104,40...| 00013fe0 2c 20 51 24 3d 22 51 20 3d 20 22 2b c3 28 6a 70 |, Q$="Q = "+.(jp| 00013ff0 67 71 25 29 3a f2 77 72 69 74 65 32 28 51 24 2c |gq%):.write2(Q$,| 00014000 39 38 38 2c 33 32 2c 30 29 0d 0a b3 39 20 c8 99 |988,32,0)...9 ..| 00014010 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c | sprswi%,256+52,| 00014020 73 70 62 25 2c 22 6c 65 66 74 22 2c 39 34 32 2c |spb%,"left",942,| 00014030 2d 31 38 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 |-18,8,0,translat| 00014040 65 25 0d 0a b4 3b 20 c8 99 20 73 70 72 73 77 69 |e%...; .. sprswi| 00014050 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 72 |%,256+52,spb%,"r| 00014060 69 67 68 74 22 2c 31 31 30 38 2c 2d 31 38 2c 38 |ight",1108,-18,8| 00014070 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a b5 |,0,translate%...| 00014080 06 20 e1 0d 0a b6 04 0d 0a b7 14 20 dd 20 f2 73 |. ......... . .s| 00014090 61 76 65 5f 70 69 63 74 75 72 65 0d 0a b8 14 20 |ave_picture.... | 000140a0 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d |.display_memory.| 000140b0 0a b9 11 20 e7 20 a4 73 61 76 65 5f 6f 6b 20 8c |... . .save_ok .| 000140c0 0d 0a ba 14 20 c8 8e 20 73 61 76 65 5f 74 79 70 |.... .. save_typ| 000140d0 65 24 20 ca 0d 0a bb 34 20 c9 20 22 73 70 72 69 |e$ ....4 . "spri| 000140e0 74 65 22 3a ff 28 22 53 43 52 45 45 4e 53 41 56 |te":.("SCREENSAV| 000140f0 45 20 22 2b 64 69 72 24 2b 22 2e 22 2b 73 61 76 |E "+dir$+"."+sav| 00014100 65 5f 6e 61 6d 65 24 29 0d 0a bc 31 20 c9 20 22 |e_name$)...1 . "| 00014110 74 61 72 67 61 31 22 20 3a f2 73 61 76 65 5f 74 |targa1" :.save_t| 00014120 61 72 67 61 28 64 69 72 24 2b 22 2e 22 2b 73 61 |arga(dir$+"."+sa| 00014130 76 65 5f 6e 61 6d 65 24 29 0d 0a bd 31 20 c9 20 |ve_name$)...1 . | 00014140 22 70 73 63 61 6e 22 20 20 3a f2 73 61 76 65 5f |"pscan" :.save_| 00014150 70 73 63 61 6e 28 64 69 72 24 2b 22 2e 22 2b 73 |pscan(dir$+"."+s| 00014160 61 76 65 5f 6e 61 6d 65 24 29 0d 0a be 30 20 c9 |ave_name$)...0 .| 00014170 20 22 6a 70 65 67 31 22 20 20 3a f2 73 61 76 65 | "jpeg1" :.save| 00014180 5f 6a 70 65 67 28 64 69 72 24 2b 22 2e 22 2b 73 |_jpeg(dir$+"."+s| 00014190 61 76 65 5f 6e 61 6d 65 24 29 0d 0a bf 30 20 c9 |ave_name$)...0 .| 000141a0 20 22 6a 70 65 67 32 22 20 20 3a f2 73 61 76 65 | "jpeg2" :.save| 000141b0 5f 6a 70 65 67 28 64 69 72 24 2b 22 2e 22 2b 73 |_jpeg(dir$+"."+s| 000141c0 61 76 65 5f 6e 61 6d 65 24 29 0d 0a c0 3b 20 c9 |ave_name$)...; .| 000141d0 20 22 6f 76 65 72 6c 61 79 22 3a c8 99 20 73 70 | "overlay":.. sp| 000141e0 72 73 77 69 25 2c 32 35 36 2b 31 32 2c 73 70 72 |rswi%,256+12,spr| 000141f0 25 2c 64 69 72 24 2b 22 2e 22 2b 73 61 76 65 5f |%,dir$+"."+save_| 00014200 6e 61 6d 65 24 0d 0a c1 06 20 cb 0d 0a c2 35 20 |name$.... ....5 | 00014210 73 68 6f 77 6e 5f 64 69 72 24 3d 22 2d 22 3a 70 |shown_dir$="-":p| 00014220 61 74 68 24 28 4d 45 4d 25 2b 31 29 3d 64 69 72 |ath$(MEM%+1)=dir| 00014230 24 2b 22 2e 22 2b 73 61 76 65 5f 6e 61 6d 65 24 |$+"."+save_name$| 00014240 0d 0a c3 06 20 cc 0d 0a c4 67 20 85 20 31 39 39 |.... ....g . 199| 00014250 37 2c 22 54 68 65 72 65 20 69 73 20 61 6c 72 65 |7,"There is alre| 00014260 61 64 79 20 61 20 64 69 72 65 63 74 6f 72 79 20 |ady a directory | 00014270 63 61 6c 6c 65 64 20 22 2b 73 61 76 65 5f 6e 61 |called "+save_na| 00014280 6d 65 24 2b 22 20 2d 20 74 72 79 20 61 67 61 69 |me$+" - try agai| 00014290 6e 20 75 73 69 6e 67 20 61 20 64 69 66 66 65 72 |n using a differ| 000142a0 65 6e 74 20 66 69 6c 65 6e 61 6d 65 22 0d 0a c5 |ent filename"...| 000142b0 06 20 cd 0d 0a c6 19 20 73 61 76 65 5f 71 75 69 |. ..... save_qui| 000142c0 74 25 3d b9 3a 71 75 69 74 25 3d b9 0d 0a c7 06 |t%=.:quit%=.....| 000142d0 20 e1 0d 0a c8 04 0d 0a c9 0f 20 dd 20 a4 73 61 | ......... . .sa| 000142e0 76 65 5f 6f 6b 0d 0a ca 0b 20 73 6f 6b 25 3d b9 |ve_ok.... sok%=.| 000142f0 0d 0a cb 14 20 e3 20 4e 25 3d 30 20 b8 20 6e 75 |.... . N%=0 . nu| 00014300 6d 25 2d 31 0d 0a cc 20 20 63 31 24 3d 22 22 3a |m%-1... c1$="":| 00014310 e3 20 4a 25 3d 31 20 b8 20 a9 28 63 61 74 24 28 |. J%=1 . .(cat$(| 00014320 4e 25 29 29 0d 0a cd 26 20 63 31 24 2b 3d bd 28 |N%))...& c1$+=.(| 00014330 97 28 c1 63 61 74 24 28 4e 25 29 2c 4a 25 2c 31 |.(.cat$(N%),J%,1| 00014340 29 29 20 84 20 33 32 29 3a ed 0d 0a ce 22 20 63 |)) . 32):...." c| 00014350 32 24 3d 22 22 3a e3 20 4a 25 3d 31 20 b8 20 a9 |2$="":. J%=1 . .| 00014360 28 73 61 76 65 5f 6e 61 6d 65 24 29 0d 0a cf 28 |(save_name$)...(| 00014370 20 63 32 24 2b 3d bd 28 97 28 c1 73 61 76 65 5f | c2$+=.(.(.save_| 00014380 6e 61 6d 65 24 2c 4a 25 2c 31 29 29 20 84 20 33 |name$,J%,1)) . 3| 00014390 32 29 3a ed 0d 0a d0 2a 20 e7 20 63 31 24 3d 63 |2):....* . c1$=c| 000143a0 32 24 20 80 20 66 74 79 70 65 24 28 4e 25 29 3d |2$ . ftype$(N%)=| 000143b0 22 64 69 72 22 20 8c 20 73 6f 6b 25 3d a3 0d 0a |"dir" . sok%=...| 000143c0 d1 06 20 ed 0d 0a d2 0a 20 3d 73 6f 6b 25 0d 0a |.. ..... =sok%..| 000143d0 d3 04 0d 0a d4 18 20 dd 20 f2 73 61 76 65 5f 62 |...... . .save_b| 000143e0 75 74 74 6f 6e 73 28 62 25 29 0d 0a d5 39 20 20 |uttons(b%)...9 | 000143f0 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 |.. sprswi%,256+5| 00014400 32 2c 73 70 62 25 2c 22 6f 66 66 22 2c 34 36 30 |2,spb%,"off",460| 00014410 2c 31 38 30 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 |,180,8,0,transla| 00014420 74 65 25 0d 0a d6 39 20 20 c8 99 20 73 70 72 73 |te%...9 .. sprs| 00014430 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c |wi%,256+52,spb%,| 00014440 22 6f 66 66 22 2c 34 36 30 2c 31 33 36 2c 38 2c |"off",460,136,8,| 00014450 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a d7 38 |0,translate%...8| 00014460 20 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 | .. sprswi%,256| 00014470 2b 35 32 2c 73 70 62 25 2c 22 6f 66 66 22 2c 34 |+52,spb%,"off",4| 00014480 36 30 2c 39 32 2c 38 2c 30 2c 74 72 61 6e 73 6c |60,92,8,0,transl| 00014490 61 74 65 25 0d 0a d8 38 20 20 c8 99 20 73 70 72 |ate%...8 .. spr| 000144a0 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 |swi%,256+52,spb%| 000144b0 2c 22 6f 66 66 22 2c 34 36 30 2c 34 38 2c 38 2c |,"off",460,48,8,| 000144c0 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a d9 37 |0,translate%...7| 000144d0 20 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 | .. sprswi%,256| 000144e0 2b 35 32 2c 73 70 62 25 2c 22 6f 66 66 22 2c 34 |+52,spb%,"off",4| 000144f0 36 30 2c 34 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 |60,4,8,0,transla| 00014500 74 65 25 0d 0a da 12 20 20 e7 20 6f 76 65 72 6c |te%.... . overl| 00014510 61 79 25 20 8c 0d 0a db 3a 20 20 20 c8 99 20 73 |ay% ....: .. s| 00014520 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 |prswi%,256+52,sp| 00014530 62 25 2c 22 6f 66 66 22 2c 34 36 30 2c 2d 34 30 |b%,"off",460,-40| 00014540 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d |,8,0,translate%.| 00014550 0a dc 07 20 20 cc 0d 0a dd 3f 20 20 20 c8 99 20 |... ....? .. | 00014560 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 |sprswi%,256+52,s| 00014570 70 62 25 2c 22 6f 66 66 5f 67 72 65 79 22 2c 34 |pb%,"off_grey",4| 00014580 36 30 2c 2d 34 30 2c 38 2c 30 2c 74 72 61 6e 73 |60,-40,8,0,trans| 00014590 6c 61 74 65 25 0d 0a de 07 20 20 cd 0d 0a df 0d |late%.... .....| 000145a0 20 20 c8 8e 20 62 25 20 ca 0d 0a e0 3f 20 20 20 | .. b% ....? | 000145b0 c9 20 31 20 3a 20 c8 99 20 73 70 72 73 77 69 25 |. 1 : .. sprswi%| 000145c0 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 6f 6e |,256+52,spb%,"on| 000145d0 22 2c 34 36 30 2c 31 38 30 2c 38 2c 30 2c 74 72 |",460,180,8,0,tr| 000145e0 61 6e 73 6c 61 74 65 25 0d 0a e1 23 20 20 20 20 |anslate%...# | 000145f0 20 20 20 20 20 20 20 20 73 61 76 65 5f 74 79 70 | save_typ| 00014600 65 24 3d 22 73 70 72 69 74 65 22 0d 0a e2 3f 20 |e$="sprite"...? | 00014610 20 20 c9 20 32 20 3a 20 c8 99 20 73 70 72 73 77 | . 2 : .. sprsw| 00014620 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 |i%,256+52,spb%,"| 00014630 6f 6e 22 2c 34 36 30 2c 31 33 36 2c 38 2c 30 2c |on",460,136,8,0,| 00014640 74 72 61 6e 73 6c 61 74 65 25 0d 0a e3 23 20 20 |translate%...# | 00014650 20 20 20 20 20 20 20 20 20 20 73 61 76 65 5f 74 | save_t| 00014660 79 70 65 24 3d 22 74 61 72 67 61 31 22 0d 0a e4 |ype$="targa1"...| 00014670 3e 20 20 20 c9 20 33 20 3a 20 c8 99 20 73 70 72 |> . 3 : .. spr| 00014680 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 |swi%,256+52,spb%| 00014690 2c 22 6f 6e 22 2c 34 36 30 2c 39 32 2c 38 2c 30 |,"on",460,92,8,0| 000146a0 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a e5 22 20 |,translate%..." | 000146b0 20 20 20 20 20 20 20 20 20 20 20 73 61 76 65 5f | save_| 000146c0 74 79 70 65 24 3d 22 70 73 63 61 6e 22 0d 0a e6 |type$="pscan"...| 000146d0 3e 20 20 20 c9 20 34 20 3a 20 c8 99 20 73 70 72 |> . 4 : .. spr| 000146e0 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 |swi%,256+52,spb%| 000146f0 2c 22 6f 6e 22 2c 34 36 30 2c 34 38 2c 38 2c 30 |,"on",460,48,8,0| 00014700 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a e7 22 20 |,translate%..." | 00014710 20 20 20 20 20 20 20 20 20 20 20 73 61 76 65 5f | save_| 00014720 74 79 70 65 24 3d 22 6a 70 65 67 31 22 0d 0a e8 |type$="jpeg1"...| 00014730 3d 20 20 20 c9 20 35 20 3a 20 c8 99 20 73 70 72 |= . 5 : .. spr| 00014740 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 |swi%,256+52,spb%| 00014750 2c 22 6f 6e 22 2c 34 36 30 2c 34 2c 38 2c 30 2c |,"on",460,4,8,0,| 00014760 74 72 61 6e 73 6c 61 74 65 25 0d 0a e9 22 20 20 |translate%..." | 00014770 20 20 20 20 20 20 20 20 20 20 73 61 76 65 5f 74 | save_t| 00014780 79 70 65 24 3d 22 6a 70 65 67 32 22 0d 0a ea 3f |ype$="jpeg2"...?| 00014790 20 20 20 c9 20 36 20 3a 20 c8 99 20 73 70 72 73 | . 6 : .. sprs| 000147a0 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c |wi%,256+52,spb%,| 000147b0 22 6f 6e 22 2c 34 36 30 2c 2d 34 30 2c 38 2c 30 |"on",460,-40,8,0| 000147c0 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0a eb 24 20 |,translate%...$ | 000147d0 20 20 20 20 20 20 20 20 20 20 20 73 61 76 65 5f | save_| 000147e0 74 79 70 65 24 3d 22 6f 76 65 72 6c 61 79 22 0d |type$="overlay".| 000147f0 0a ec 07 20 20 cb 0d 0a ed 06 20 e1 0d 0a ee 06 |... ..... .....| 00014800 20 20 0d 0a ef 16 20 dd 20 f2 73 68 6f 77 5f 66 | .... . .show_f| 00014810 69 6c 65 5f 6c 69 73 74 0d 0a f0 18 20 e7 20 64 |ile_list.... . d| 00014820 69 72 24 3d 73 68 6f 77 6e 5f 64 69 72 24 20 8c |ir$=shown_dir$ .| 00014830 0d 0a f1 1a 20 20 f2 73 68 6f 77 5f 6c 61 73 74 |.... .show_last| 00014840 5f 66 69 6c 65 5f 6c 69 73 74 0d 0a f2 06 20 cc |_file_list.... .| 00014850 0d 0a f3 22 20 e7 20 ac 20 62 69 67 5f 64 69 72 |..." . . big_dir| 00014860 25 20 8c 20 73 74 61 72 74 5f 65 6e 74 72 79 25 |% . start_entry%| 00014870 3d 30 0d 0a f4 23 20 6c 61 73 74 5f 73 74 61 72 |=0...# last_star| 00014880 74 5f 65 6e 74 72 79 25 3d 73 74 61 72 74 5f 65 |t_entry%=start_e| 00014890 6e 74 72 79 25 0d 0a f5 2a 20 e3 20 4e 25 3d 30 |ntry%...* . N%=0| 000148a0 b8 38 30 3a 63 61 74 24 28 4e 25 29 3d 22 22 3a |.80:cat$(N%)="":| 000148b0 66 74 79 70 65 24 28 4e 25 29 3d 22 22 3a ed 0d |ftype$(N%)="":..| 000148c0 0a f6 47 20 c8 99 20 22 4f 53 5f 47 42 50 42 22 |..G .. "OS_GBPB"| 000148d0 2c 31 30 2c 64 69 72 24 2c 67 62 70 62 25 2c 37 |,10,dir$,gbpb%,7| 000148e0 37 2c 73 74 61 72 74 5f 65 6e 74 72 79 25 2c 67 |7,start_entry%,g| 000148f0 62 70 62 5f 6c 65 6e 25 2c 30 20 b8 2c 2c 2c 6e |bpb_len%,0 .,,,n| 00014900 75 6d 25 2c 6f 25 0d 0a f7 0e 20 e7 20 6f 25 3d |um%,o%.... . o%=| 00014910 2d 31 20 8c 0d 0a f8 21 20 20 e7 20 62 69 67 5f |-1 ....! . big_| 00014920 64 69 72 25 20 8c 20 77 61 73 5f 62 69 67 5f 64 |dir% . was_big_d| 00014930 69 72 25 3d b9 0d 0a f9 10 20 20 62 69 67 5f 64 |ir%=..... big_d| 00014940 69 72 25 3d a3 0d 0a fa 07 20 20 cc 0d 0a fb 10 |ir%=..... .....| 00014950 20 20 62 69 67 5f 64 69 72 25 3d b9 0d 0a fc 18 | big_dir%=.....| 00014960 20 20 73 74 61 72 74 5f 65 6e 74 72 79 25 2b 3d | start_entry%+=| 00014970 6e 75 6d 25 0d 0a fd 13 20 20 73 68 6f 77 6e 5f |num%.... shown_| 00014980 64 69 72 24 3d 22 22 0d 0a fe 07 20 20 cd 0d 0a |dir$="".... ...| 00014990 ff 27 20 41 25 3d 67 62 70 62 25 3a 6e 73 25 3d |.' A%=gbpb%:ns%=| 000149a0 30 3a 43 25 3d 30 3a 50 58 25 3d 35 34 3a 50 59 |0:C%=0:PX%=54:PY| 000149b0 25 3d 38 34 34 0d 0b 00 0f 20 e7 20 6e 75 6d 25 |%=844.... . num%| 000149c0 3e 30 20 8c 0d 0b 01 06 20 f5 0d 0b 02 1c 20 66 |>0 ..... ..... f| 000149d0 74 24 3d c3 7e 21 41 25 3a 66 74 24 3d c1 66 74 |t$=.~!A%:ft$=.ft| 000149e0 24 2c 34 2c 33 29 0d 0b 03 13 20 41 25 3d 41 25 |$,4,3).... A%=A%| 000149f0 2b 32 30 3a 66 24 3d 22 22 0d 0b 04 21 20 f5 3a |+20:f$=""...! .:| 00014a00 66 24 2b 3d bd 28 3f 41 25 29 3a 41 25 3d 41 25 |f$+=.(?A%):A%=A%| 00014a10 2b 31 3a fd 20 3f 41 25 3d 30 0d 0b 05 44 20 e7 |+1:. ?A%=0...D .| 00014a20 20 66 74 24 3d 22 46 46 44 22 20 8c 20 c8 99 20 | ft$="FFD" . .. | 00014a30 22 4f 53 5f 46 69 6c 65 22 2c 31 35 2c 64 69 72 |"OS_File",15,dir| 00014a40 24 2b 22 2e 22 2b 66 24 20 b8 20 64 25 3a e7 20 |$+"."+f$ . d%:. | 00014a50 64 25 3d 32 20 66 74 24 3d 22 64 69 72 22 0d 0b |d%=2 ft$="dir"..| 00014a60 06 10 20 e7 20 66 74 24 3c 3e 22 22 20 8c 0d 0b |.. . ft$<>"" ...| 00014a70 07 13 20 74 79 70 65 24 3d 22 6e 6f 5f 75 73 65 |.. type$="no_use| 00014a80 22 0d 0b 08 20 20 e7 20 66 74 24 3d 22 42 45 38 |"... . ft$="BE8| 00014a90 22 20 8c 20 74 79 70 65 24 3d 22 70 68 6f 74 6f |" . type$="photo| 00014aa0 22 0d 0b 09 21 20 e7 20 66 74 24 3d 22 46 46 39 |"...! . ft$="FF9| 00014ab0 22 20 8c 20 74 79 70 65 24 3d 22 73 70 72 69 74 |" . type$="sprit| 00014ac0 65 22 0d 0b 0a 20 20 e7 20 66 74 24 3d 22 36 39 |e"... . ft$="69| 00014ad0 44 22 20 8c 20 74 79 70 65 24 3d 22 74 61 72 67 |D" . type$="targ| 00014ae0 61 22 0d 0b 0b 20 20 e7 20 66 74 24 3d 22 39 36 |a"... . ft$="96| 00014af0 41 22 20 8c 20 74 79 70 65 24 3d 22 70 73 63 61 |A" . type$="psca| 00014b00 6e 22 0d 0b 0c 4c 20 e7 20 66 74 24 3d 22 43 38 |n"...L . ft$="C8| 00014b10 35 22 20 84 20 c2 66 24 2c 34 29 3d 22 2f 4a 50 |5" . .f$,4)="/JP| 00014b20 47 22 20 84 20 c2 66 24 2c 33 29 3d 22 2f 4a 50 |G" . .f$,3)="/JP| 00014b30 22 20 84 20 c2 66 24 2c 32 29 3d 22 2f 4a 22 20 |" . .f$,2)="/J" | 00014b40 8c 20 74 79 70 65 24 3d 22 6a 70 65 67 22 0d 0b |. type$="jpeg"..| 00014b50 0d 1e 20 e7 20 66 74 24 3d 22 64 69 72 22 20 8c |.. . ft$="dir" .| 00014b60 20 74 79 70 65 24 3d 22 64 69 72 22 0d 0b 0e 23 | type$="dir"...#| 00014b70 20 66 74 79 70 65 24 28 6e 73 25 29 3d 74 79 70 | ftype$(ns%)=typ| 00014b80 65 24 3a 63 61 74 24 28 6e 73 25 29 3d 66 24 0d |e$:cat$(ns%)=f$.| 00014b90 0b 0f 23 20 63 24 3d 63 61 74 24 28 6e 73 25 29 |..# c$=cat$(ns%)| 00014ba0 3a 64 6f 73 5f 65 78 74 25 3d a7 63 24 2c 22 2f |:dos_ext%=.c$,"/| 00014bb0 22 29 0d 0b 10 24 20 e7 20 64 6f 73 5f 65 78 74 |")...$ . dos_ext| 00014bc0 25 3e 30 20 63 24 3d c0 63 24 2c 64 6f 73 5f 65 |%>0 c$=.c$,dos_e| 00014bd0 78 74 25 2d 31 29 0d 0b 11 36 20 e7 20 63 61 74 |xt%-1)...6 . cat| 00014be0 24 28 6e 73 25 29 3d 6c 61 73 74 66 69 6c 65 24 |$(ns%)=lastfile$| 00014bf0 20 63 24 3d 63 24 2b 22 20 22 2b bd 31 32 38 20 | c$=c$+" "+.128 | 00014c00 8b 20 63 24 3d 63 24 2b 22 20 20 22 0d 0b 12 1d |. c$=c$+" "....| 00014c10 20 f2 77 72 69 74 65 32 28 63 24 2c 50 58 25 2c | .write2(c$,PX%,| 00014c20 50 59 25 2b 34 36 2c 30 29 0d 0b 13 0f 20 c8 8e |PY%+46,0).... ..| 00014c30 20 74 79 70 65 24 20 ca 0d 0b 14 1e 20 c9 20 22 | type$ ..... . "| 00014c40 73 70 72 69 74 65 22 3a 69 63 6f 6e 24 3d 22 73 |sprite":icon$="s| 00014c50 6d 5f 66 66 39 22 0d 0b 15 1e 20 c9 20 22 74 61 |m_ff9".... . "ta| 00014c60 72 67 61 22 20 3a 69 63 6f 6e 24 3d 22 73 6d 5f |rga" :icon$="sm_| 00014c70 36 39 64 22 0d 0b 16 1e 20 c9 20 22 70 73 63 61 |69d".... . "psca| 00014c80 6e 22 20 3a 69 63 6f 6e 24 3d 22 73 6d 5f 39 36 |n" :icon$="sm_96| 00014c90 61 22 0d 0b 17 1e 20 c9 20 22 6a 70 65 67 22 20 |a".... . "jpeg" | 00014ca0 20 3a 69 63 6f 6e 24 3d 22 73 6d 5f 63 38 35 22 | :icon$="sm_c85"| 00014cb0 0d 0b 18 1e 20 c9 20 22 70 68 6f 74 6f 22 20 3a |.... . "photo" :| 00014cc0 69 63 6f 6e 24 3d 22 73 6d 5f 62 65 38 22 0d 0b |icon$="sm_be8"..| 00014cd0 19 1b 20 c9 20 22 64 69 72 22 20 20 20 3a 69 63 |.. . "dir" :ic| 00014ce0 6f 6e 24 3d 22 64 69 72 22 0d 0b 1a 1e 20 c9 20 |on$="dir".... . | 00014cf0 22 6e 6f 5f 75 73 65 22 3a 69 63 6f 6e 24 3d 22 |"no_use":icon$="| 00014d00 6e 6f 5f 75 73 65 22 0d 0b 1b 06 20 cb 0d 0b 1c |no_use".... ....| 00014d10 3d 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 |= .. sprswi%,256| 00014d20 2b 35 32 2c 73 70 62 25 2c 69 63 6f 6e 24 2c 50 |+52,spb%,icon$,P| 00014d30 58 25 2d 34 30 2c 50 59 25 2d 34 2c 30 2c 30 2c |X%-40,PY%-4,0,0,| 00014d40 74 72 61 6e 73 6c 61 74 65 25 0d 0b 1d 30 20 6e |translate%...0 n| 00014d50 73 25 2b 3d 31 3a 50 59 25 2d 3d 34 30 3a e7 20 |s%+=1:PY%-=40:. | 00014d60 50 59 25 3c 32 34 34 20 8c 20 50 58 25 2b 3d 32 |PY%<244 . PX%+=2| 00014d70 35 36 3a 50 59 25 3d 38 34 34 0d 0b 1e 06 20 cd |56:PY%=844.... .| 00014d80 0d 0b 1f 26 20 43 25 2b 3d 31 3a 41 25 2b 3d 31 |...& C%+=1:A%+=1| 00014d90 3a c8 95 20 41 25 2f 34 3c 3e 41 25 81 34 20 41 |:.. A%/4<>A%.4 A| 00014da0 25 2b 3d 31 3a ce 0d 0b 20 0e 20 fd 20 43 25 3d |%+=1:... . . C%=| 00014db0 6e 75 6d 25 0d 0b 21 06 20 cd 0d 0b 22 30 20 f2 |num%..!. ..."0 .| 00014dc0 77 72 69 74 65 32 28 22 54 6f 74 61 6c 20 66 69 |write2("Total fi| 00014dd0 6c 65 73 20 3d 20 22 2b c3 20 6e 75 6d 25 2c 31 |les = "+. num%,1| 00014de0 30 32 36 2c 33 37 30 2c 34 29 0d 0b 23 23 20 e7 |026,370,4)..## .| 00014df0 20 ac 20 62 69 67 5f 64 69 72 25 20 8c 20 73 68 | . big_dir% . sh| 00014e00 6f 77 6e 5f 64 69 72 24 3d 64 69 72 24 0d 0b 24 |own_dir$=dir$..$| 00014e10 16 20 64 69 72 5f 65 6e 74 72 69 65 73 25 3d 6e |. dir_entries%=n| 00014e20 75 6d 25 0d 0b 25 06 20 cd 0d 0b 26 22 20 f2 72 |um%..%. ...&" .r| 00014e30 61 69 73 65 64 5f 62 6c 6f 63 6b 28 31 31 30 34 |aised_block(1104| 00014e40 2c 32 34 30 2c 37 30 2c 34 30 29 0d 0b 27 22 20 |,240,70,40)..'" | 00014e50 f2 72 61 69 73 65 64 5f 62 6c 6f 63 6b 28 31 31 |.raised_block(11| 00014e60 39 32 2c 32 34 30 2c 37 30 2c 34 30 29 0d 0b 28 |92,240,70,40)..(| 00014e70 1b 20 e7 20 62 69 67 5f 64 69 72 25 20 63 25 3d |. . big_dir% c%=| 00014e80 34 20 8b 20 63 25 3d 36 0d 0b 29 1e 20 f2 77 72 |4 . c%=6..). .wr| 00014e90 69 74 65 32 28 22 3c 3c 22 2c 31 31 30 38 2c 32 |ite2("<<",1108,2| 00014ea0 39 34 2c 63 25 29 0d 0b 2a 1e 20 f2 77 72 69 74 |94,c%)..*. .writ| 00014eb0 65 32 28 22 3e 3e 22 2c 31 32 30 30 2c 32 39 34 |e2(">>",1200,294| 00014ec0 2c 63 25 29 0d 0b 2b 06 20 e1 0d 0b 2c 04 0d 0b |,c%)..+. ...,...| 00014ed0 2d 1b 20 dd 20 f2 73 68 6f 77 5f 6c 61 73 74 5f |-. . .show_last_| 00014ee0 66 69 6c 65 5f 6c 69 73 74 0d 0b 2e 17 20 e7 20 |file_list.... . | 00014ef0 64 69 72 5f 65 6e 74 72 69 65 73 25 3e 30 20 8c |dir_entries%>0 .| 00014f00 0d 0b 2f 19 20 20 43 25 3d 30 3a 50 58 25 3d 35 |../. C%=0:PX%=5| 00014f10 34 3a 50 59 25 3d 38 34 34 0d 0b 30 07 20 20 f5 |4:PY%=844..0. .| 00014f20 0d 0b 31 24 20 20 20 63 24 3d 63 61 74 24 28 43 |..1$ c$=cat$(C| 00014f30 25 29 3a 64 6f 73 5f 65 78 74 25 3d a7 63 24 2c |%):dos_ext%=.c$,| 00014f40 22 2f 22 29 0d 0b 32 26 20 20 20 e7 20 64 6f 73 |"/")..2& . dos| 00014f50 5f 65 78 74 25 3e 30 20 63 24 3d c0 63 24 2c 64 |_ext%>0 c$=.c$,d| 00014f60 6f 73 5f 65 78 74 25 2d 31 29 0d 0b 33 37 20 20 |os_ext%-1)..37 | 00014f70 20 e7 20 63 61 74 24 28 43 25 29 3d 6c 61 73 74 | . cat$(C%)=last| 00014f80 66 69 6c 65 24 20 63 24 3d 63 24 2b 22 20 22 2b |file$ c$=c$+" "+| 00014f90 bd 31 32 38 20 8b 20 63 24 3d 63 24 2b 22 20 20 |.128 . c$=c$+" | 00014fa0 22 0d 0b 34 1f 20 20 20 f2 77 72 69 74 65 32 28 |"..4. .write2(| 00014fb0 63 24 2c 50 58 25 2c 50 59 25 2b 34 36 2c 30 29 |c$,PX%,PY%+46,0)| 00014fc0 0d 0b 35 17 20 20 20 74 79 70 65 24 3d 66 74 79 |..5. type$=fty| 00014fd0 70 65 24 28 43 25 29 0d 0b 36 11 20 20 20 c8 8e |pe$(C%)..6. ..| 00014fe0 20 74 79 70 65 24 20 ca 0d 0b 37 21 20 20 20 20 | type$ ...7! | 00014ff0 c9 20 22 73 70 72 69 74 65 22 3a 69 63 6f 6e 24 |. "sprite":icon$| 00015000 3d 22 73 6d 5f 66 66 39 22 0d 0b 38 21 20 20 20 |="sm_ff9"..8! | 00015010 20 c9 20 22 74 61 72 67 61 22 20 3a 69 63 6f 6e | . "targa" :icon| 00015020 24 3d 22 73 6d 5f 36 39 64 22 0d 0b 39 21 20 20 |$="sm_69d"..9! | 00015030 20 20 c9 20 22 70 73 63 61 6e 22 20 3a 69 63 6f | . "pscan" :ico| 00015040 6e 24 3d 22 73 6d 5f 39 36 61 22 0d 0b 3a 21 20 |n$="sm_96a"..:! | 00015050 20 20 20 c9 20 22 6a 70 65 67 22 20 20 3a 69 63 | . "jpeg" :ic| 00015060 6f 6e 24 3d 22 73 6d 5f 63 38 35 22 0d 0b 3b 21 |on$="sm_c85"..;!| 00015070 20 20 20 20 c9 20 22 70 68 6f 74 6f 22 20 3a 69 | . "photo" :i| 00015080 63 6f 6e 24 3d 22 73 6d 5f 62 65 38 22 0d 0b 3c |con$="sm_be8"..<| 00015090 1e 20 20 20 20 c9 20 22 64 69 72 22 20 20 20 3a |. . "dir" :| 000150a0 69 63 6f 6e 24 3d 22 64 69 72 22 0d 0b 3d 21 20 |icon$="dir"..=! | 000150b0 20 20 20 c9 20 22 6e 6f 5f 75 73 65 22 3a 69 63 | . "no_use":ic| 000150c0 6f 6e 24 3d 22 6e 6f 5f 75 73 65 22 0d 0b 3e 08 |on$="no_use"..>.| 000150d0 20 20 20 cb 0d 0b 3f 3f 20 20 20 c8 99 20 73 70 | ...?? .. sp| 000150e0 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 |rswi%,256+52,spb| 000150f0 25 2c 69 63 6f 6e 24 2c 50 58 25 2d 34 30 2c 50 |%,icon$,PX%-40,P| 00015100 59 25 2d 34 2c 30 2c 30 2c 74 72 61 6e 73 6c 61 |Y%-4,0,0,transla| 00015110 74 65 25 0d 0b 40 2b 20 20 20 50 59 25 2d 3d 34 |te%..@+ PY%-=4| 00015120 30 3a e7 20 50 59 25 3c 32 34 34 20 8c 20 50 58 |0:. PY%<244 . PX| 00015130 25 2b 3d 32 35 36 3a 50 59 25 3d 38 34 34 0d 0b |%+=256:PY%=844..| 00015140 41 0c 20 20 20 43 25 2b 3d 31 0d 0b 42 17 20 20 |A. C%+=1..B. | 00015150 fd 20 43 25 3d 64 69 72 5f 65 6e 74 72 69 65 73 |. C%=dir_entries| 00015160 25 0d 0b 43 06 20 cd 0d 0b 44 38 20 f2 77 72 69 |%..C. ...D8 .wri| 00015170 74 65 32 28 22 54 6f 74 61 6c 20 66 69 6c 65 73 |te2("Total files| 00015180 20 3d 20 22 2b c3 20 64 69 72 5f 65 6e 74 72 69 | = "+. dir_entri| 00015190 65 73 25 2c 31 30 32 36 2c 33 37 30 2c 34 29 0d |es%,1026,370,4).| 000151a0 0b 45 06 20 e1 0d 0b 46 04 0d 0b 47 12 20 dd 20 |.E. ...F...G. . | 000151b0 f2 75 70 5f 6f 6e 65 5f 64 69 72 0d 0b 48 16 20 |.up_one_dir..H. | 000151c0 e7 20 c2 64 69 72 24 2c 31 29 3c 3e 22 24 22 20 |. .dir$,1)<>"$" | 000151d0 8c 0d 0b 49 29 20 4e 25 3d a9 28 64 69 72 24 29 |...I) N%=.(dir$)| 000151e0 3a f5 3a 4e 25 2d 3d 31 3a fd 20 c1 64 69 72 24 |:.:N%-=1:. .dir$| 000151f0 2c 4e 25 2c 31 29 3d 22 2e 22 0d 0b 4a 15 20 64 |,N%,1)="."..J. d| 00015200 69 72 24 3d c0 64 69 72 24 2c 4e 25 2d 31 29 0d |ir$=.dir$,N%-1).| 00015210 0b 4b 06 20 cd 0d 0b 4c 06 20 e1 0d 0b 4d 04 0d |.K. ...L. ...M..| 00015220 0b 4e 10 20 dd 20 f2 72 6f 6f 74 5f 64 69 72 0d |.N. . .root_dir.| 00015230 0b 4f 23 20 c8 95 20 c2 64 69 72 24 2c 31 29 3c |.O# .. .dir$,1)<| 00015240 3e 22 24 22 20 f2 75 70 5f 6f 6e 65 5f 64 69 72 |>"$" .up_one_dir| 00015250 3a ce 0d 0b 50 06 20 e1 0d 0b 51 04 0d 0b 52 20 |:...P. ...Q...R | 00015260 20 dd 20 f2 64 69 73 70 6c 61 79 5f 73 65 70 61 | . .display_sepa| 00015270 72 61 74 69 6f 6e 28 72 67 62 24 29 0d 0b 53 2b |ration(rgb$)..S+| 00015280 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 | .display_memory| 00015290 3a 21 73 74 61 72 74 5f 61 64 64 72 65 73 73 3d |:!start_address=| 000152a0 73 63 72 65 65 6e 25 0d 0b 54 0e 20 c8 8e 20 72 |screen%..T. .. r| 000152b0 67 62 24 20 ca 0d 0b 55 20 20 c9 20 22 52 22 3a |gb$ ...U . "R":| 000152c0 d6 20 64 69 73 70 6c 61 79 5f 72 65 64 5f 61 73 |. display_red_as| 000152d0 5f 6d 6f 6e 6f 0d 0b 56 22 20 c9 20 22 47 22 3a |_mono..V" . "G":| 000152e0 d6 20 64 69 73 70 6c 61 79 5f 67 72 65 65 6e 5f |. display_green_| 000152f0 61 73 5f 6d 6f 6e 6f 0d 0b 57 21 20 c9 20 22 42 |as_mono..W! . "B| 00015300 22 3a d6 20 64 69 73 70 6c 61 79 5f 62 6c 75 65 |":. display_blue| 00015310 5f 61 73 5f 6d 6f 6e 6f 0d 0b 58 06 20 cb 0d 0b |_as_mono..X. ...| 00015320 59 14 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 |Y. .wait_no_butt| 00015330 6f 6e 0d 0b 5a 16 20 f5 3a c8 97 20 58 2c 59 2c |on..Z. .:.. X,Y,| 00015340 42 3a fd 20 42 3c 3e 30 0d 0b 5b 14 20 f2 64 69 |B:. B<>0..[. .di| 00015350 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d 0b 5c 06 |splay_memory..\.| 00015360 20 e1 0d 0b 5d 04 0d 0b 5e 16 20 dd 20 f2 72 67 | ...]...^. . .rg| 00015370 62 5f 70 72 6f 63 65 73 73 69 6e 67 0d 0b 5f 22 |b_processing.._"| 00015380 20 e6 33 2c 36 33 20 c8 9c 31 39 32 3a c8 93 20 | .3,63 ..192:.. | 00015390 c8 90 20 38 33 36 2c 34 2c 35 32 2c 35 30 0d 0b |.. 836,4,52,50..| 000153a0 60 06 20 f5 0d 0b 61 29 20 6d 65 6e 75 24 28 30 |`. ...a) menu$(0| 000153b0 29 3d 22 52 47 42 20 70 72 6f 63 65 73 73 69 6e |)="RGB processin| 000153c0 67 20 61 6e 64 20 6d 69 73 63 2e 22 20 0d 0b 62 |g and misc." ..b| 000153d0 25 20 6d 65 6e 75 24 28 32 29 3d 22 52 6f 74 61 |% menu$(2)="Rota| 000153e0 74 65 20 52 2d 47 2d 42 20 73 65 71 75 65 6e 63 |te R-G-B sequenc| 000153f0 65 22 0d 0b 63 23 20 6d 65 6e 75 24 28 33 29 3d |e"..c# menu$(3)=| 00015400 22 53 68 6f 77 20 52 45 44 20 73 65 70 61 72 61 |"Show RED separa| 00015410 74 69 6f 6e 22 0d 0b 64 25 20 6d 65 6e 75 24 28 |tion"..d% menu$(| 00015420 34 29 3d 22 53 68 6f 77 20 47 52 45 45 4e 20 73 |4)="Show GREEN s| 00015430 65 70 61 72 61 74 69 6f 6e 22 0d 0b 65 24 20 6d |eparation"..e$ m| 00015440 65 6e 75 24 28 35 29 3d 22 53 68 6f 77 20 42 4c |enu$(5)="Show BL| 00015450 55 45 20 73 65 70 61 72 61 74 69 6f 6e 22 0d 0b |UE separation"..| 00015460 66 1a 20 6d 65 6e 75 24 28 36 29 3d 22 49 6e 76 |f. menu$(6)="Inv| 00015470 65 72 74 20 52 45 44 22 0d 0b 67 1c 20 6d 65 6e |ert RED"..g. men| 00015480 75 24 28 37 29 3d 22 49 6e 76 65 72 74 20 47 52 |u$(7)="Invert GR| 00015490 45 45 4e 22 0d 0b 68 1b 20 6d 65 6e 75 24 28 38 |EEN"..h. menu$(8| 000154a0 29 3d 22 49 6e 76 65 72 74 20 42 4c 55 45 22 0d |)="Invert BLUE".| 000154b0 0b 69 22 20 6d 65 6e 75 24 28 39 29 3d 22 50 69 |.i" menu$(9)="Pi| 000154c0 63 74 75 72 65 20 70 72 6f 63 65 73 73 69 6e 67 |cture processing| 000154d0 22 0d 0b 6a 22 20 6d 65 6e 75 24 28 31 30 29 3d |"..j" menu$(10)=| 000154e0 22 53 63 61 6c 65 20 70 69 63 74 75 72 65 20 32 |"Scale picture 2| 000154f0 3a 31 22 0d 0b 6b 22 20 6d 65 6e 75 24 28 31 31 |:1"..k" menu$(11| 00015500 29 3d 22 53 63 61 6c 65 20 70 69 63 74 75 72 65 |)="Scale picture| 00015510 20 31 3a 32 22 0d 0b 6c 22 20 6d 65 6e 75 24 28 | 1:2"..l" menu$(| 00015520 31 32 29 3d 22 33 32 30 20 78 20 32 35 36 20 70 |12)="320 x 256 p| 00015530 72 65 76 69 65 77 22 0d 0b 6d 29 20 6d 65 6e 75 |review"..m) menu| 00015540 24 28 31 33 29 3d 22 54 69 6c 65 20 70 65 72 73 |$(13)="Tile pers| 00015550 70 65 63 74 69 76 65 20 65 66 66 65 63 74 3e 22 |pective effect>"| 00015560 0d 0b 6e 20 20 6d 65 6e 75 24 28 31 34 29 3d 22 |..n menu$(14)="| 00015570 52 6f 74 61 74 65 20 6f 72 20 66 6c 69 70 3e 22 |Rotate or flip>"| 00015580 0d 0b 6f 23 20 6d 65 6e 75 24 28 31 35 29 3d 22 |..o# menu$(15)="| 00015590 46 61 64 65 20 74 6f 70 2d 74 6f 2d 62 6f 74 74 |Fade top-to-bott| 000155a0 6f 6d 22 0d 0b 70 26 20 6d 65 6e 75 24 28 31 36 |om"..p& menu$(16| 000155b0 29 3d 22 53 68 6f 77 20 70 69 78 65 6c 20 52 47 |)="Show pixel RG| 000155c0 42 20 76 61 6c 75 65 73 22 0d 0b 71 21 20 6d 65 |B values"..q! me| 000155d0 6e 75 24 28 31 37 29 3d 22 57 61 76 65 66 6f 72 |nu$(17)="Wavefor| 000155e0 6d 20 6d 6f 6e 69 74 6f 72 22 0d 0b 72 22 20 6d |m monitor"..r" m| 000155f0 65 6e 75 24 28 31 38 29 3d 22 2a 22 3a f2 6d 65 |enu$(18)="*":.me| 00015600 6e 75 28 34 39 34 2c 39 30 2c 30 29 0d 0b 73 13 |nu(494,90,0)..s.| 00015610 20 6d 65 6e 75 5f 72 65 64 72 61 77 25 3d b9 0d | menu_redraw%=..| 00015620 0b 74 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 |.t. .. menu_box%| 00015630 20 ca 0d 0b 75 18 20 c9 20 31 3a f2 64 69 73 70 | ...u. . 1:.disp| 00015640 6c 61 79 5f 6d 65 6d 6f 72 79 0d 0b 76 38 20 c9 |lay_memory..v8 .| 00015650 20 32 3a f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f | 2:.display_memo| 00015660 72 79 3a d6 20 72 67 62 5f 63 6f 72 72 65 63 74 |ry:. rgb_correct| 00015670 69 6f 6e 3a f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f |ion:.upload_memo| 00015680 72 79 0d 0b 77 21 20 c9 20 33 3a f2 64 69 73 70 |ry..w! . 3:.disp| 00015690 6c 61 79 5f 73 65 70 61 72 61 74 69 6f 6e 28 22 |lay_separation("| 000156a0 52 22 29 0d 0b 78 21 20 c9 20 34 3a f2 64 69 73 |R")..x! . 4:.dis| 000156b0 70 6c 61 79 5f 73 65 70 61 72 61 74 69 6f 6e 28 |play_separation(| 000156c0 22 47 22 29 0d 0b 79 21 20 c9 20 35 3a f2 64 69 |"G")..y! . 5:.di| 000156d0 73 70 6c 61 79 5f 73 65 70 61 72 61 74 69 6f 6e |splay_separation| 000156e0 28 22 42 22 29 0d 0b 7a 1f 20 c9 20 39 3a f2 70 |("B")..z. . 9:.p| 000156f0 69 63 70 72 6f 5f 70 61 6e 65 6c 28 34 32 30 2c |icpro_panel(420,| 00015700 31 30 30 29 0d 0b 7b 26 20 c9 20 36 2c 37 2c 38 |100)..{& . 6,7,8| 00015710 3a f2 69 6e 76 65 72 74 5f 63 6f 6c 6f 75 72 28 |:.invert_colour(| 00015720 6d 65 6e 75 5f 62 6f 78 25 29 0d 0b 7c 13 20 c9 |menu_box%)..|. .| 00015730 20 31 30 3a f2 7a 6f 6f 6d 5f 70 69 63 0d 0b 7d | 10:.zoom_pic..}| 00015740 12 20 c9 20 31 31 3a f2 71 75 61 72 74 65 72 0d |. . 11:.quarter.| 00015750 0b 7e 16 20 c9 20 31 32 3a f2 75 6e 64 6f 5f 64 |.~. . 12:.undo_d| 00015760 69 74 68 65 72 0d 0b 7f 14 20 c9 20 31 33 3a f2 |ither.... . 13:.| 00015770 70 65 72 70 5f 6d 65 6e 75 0d 0b 80 14 20 c9 20 |perp_menu.... . | 00015780 31 34 3a f2 74 72 61 6e 5f 6d 65 6e 75 0d 0b 81 |14:.tran_menu...| 00015790 16 20 c9 20 31 35 3a f2 73 63 72 65 65 6e 5f 66 |. . 15:.screen_f| 000157a0 61 64 65 0d 0b 82 14 20 c9 20 31 36 3a f2 70 69 |ade.... . 16:.pi| 000157b0 78 65 6c 5f 72 67 62 0d 0b 83 1b 20 c9 20 31 37 |xel_rgb.... . 17| 000157c0 3a f2 77 61 76 65 66 6f 72 6d 5f 6d 6f 6e 69 74 |:.waveform_monit| 000157d0 6f 72 0d 0b 84 06 20 cb 0d 0b 85 12 20 fd 20 6d |or.... ..... . m| 000157e0 65 6e 75 5f 62 6f 78 25 3d 31 0d 0b 86 0e 20 f2 |enu_box%=1.... .| 000157f0 6d 69 6e 69 5f 70 61 64 0d 0b 87 06 20 e1 0d 0b |mini_pad.... ...| 00015800 88 04 0d 0b 89 19 20 dd 20 f2 69 6e 76 65 72 74 |...... . .invert| 00015810 5f 63 6f 6c 6f 75 72 28 63 25 29 0d 0b 8a 10 20 |_colour(c%).... | 00015820 e3 20 4e 25 3d 30 20 b8 20 33 31 0d 0b 8b 2e 20 |. N%=0 . 31.... | 00015830 e7 20 63 25 3d 36 20 8c 20 72 65 64 64 61 74 61 |. c%=6 . reddata| 00015840 3f 4e 25 3d 33 31 2d 4e 25 20 8b 20 72 65 64 64 |?N%=31-N% . redd| 00015850 61 74 61 3f 4e 25 3d 4e 25 0d 0b 8c 2e 20 e7 20 |ata?N%=N%.... . | 00015860 63 25 3d 37 20 8c 20 67 72 6e 64 61 74 61 3f 4e |c%=7 . grndata?N| 00015870 25 3d 33 31 2d 4e 25 20 8b 20 67 72 6e 64 61 74 |%=31-N% . grndat| 00015880 61 3f 4e 25 3d 4e 25 0d 0b 8d 2e 20 e7 20 63 25 |a?N%=N%.... . c%| 00015890 3d 38 20 8c 20 62 6c 75 64 61 74 61 3f 4e 25 3d |=8 . bludata?N%=| 000158a0 33 31 2d 4e 25 20 8b 20 62 6c 75 64 61 74 61 3f |31-N% . bludata?| 000158b0 4e 25 3d 4e 25 0d 0b 8e 16 20 ed 3a f2 64 69 73 |N%=N%.... .:.dis| 000158c0 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d 0b 8f 40 20 |play_memory...@ | 000158d0 21 73 74 61 72 74 5f 61 64 64 72 65 73 73 3d 73 |!start_address=s| 000158e0 63 72 65 65 6e 25 3a 21 70 69 63 70 72 6f 5f 62 |creen%:!picpro_b| 000158f0 79 74 65 73 3d 31 32 38 30 3a 21 70 69 63 70 72 |ytes=1280:!picpr| 00015900 6f 5f 6c 69 6e 65 73 3d 35 31 32 0d 0b 90 46 20 |o_lines=512...F | 00015910 21 72 65 64 5f 61 64 64 72 65 73 73 3d 72 65 64 |!red_address=red| 00015920 64 61 74 61 3a 21 67 72 65 65 6e 5f 61 64 64 72 |data:!green_addr| 00015930 65 73 73 3d 67 72 6e 64 61 74 61 3a 21 62 6c 75 |ess=grndata:!blu| 00015940 65 5f 61 64 64 72 65 73 73 3d 62 6c 75 64 61 74 |e_address=bludat| 00015950 61 0d 0b 91 25 20 d6 20 70 69 63 74 75 72 65 5f |a...% . picture_| 00015960 70 72 6f 63 65 73 73 3a f2 75 70 6c 6f 61 64 5f |process:.upload_| 00015970 6d 65 6d 6f 72 79 0d 0b 92 06 20 e1 0d 0b 93 04 |memory.... .....| 00015980 0d 0b 94 1b 20 dd 20 f2 72 6f 74 61 74 65 5f 72 |.... . .rotate_r| 00015990 67 62 5f 61 73 73 65 6d 62 6c 65 0d 0b 95 32 20 |gb_assemble...2 | 000159a0 62 61 73 65 3d 33 3a 6f 66 66 73 65 74 3d 34 3a |base=3:offset=4:| 000159b0 64 61 74 61 3d 35 3a 62 6c 75 65 5f 6d 61 73 6b |data=5:blue_mask| 000159c0 3d 36 3a 72 67 62 5f 6d 61 73 6b 3d 37 0d 0b 96 |=6:rgb_mask=7...| 000159d0 14 20 6d 61 73 6b 31 3d 38 3a 6d 61 73 6b 32 3d |. mask1=8:mask2=| 000159e0 39 0d 0b 97 13 20 de 20 72 67 62 5f 63 6f 64 65 |9.... . rgb_code| 000159f0 20 32 30 30 0d 0b 98 11 20 e3 20 50 3d 30 20 b8 | 200.... . P=0 .| 00015a00 20 32 20 88 32 0d 0b 99 10 20 50 25 3d 72 67 62 | 2 .2.... P%=rgb| 00015a10 5f 63 6f 64 65 0d 0b 9a 0b 20 5b 4f 50 54 20 50 |_code.... [OPT P| 00015a20 0d 0b 9b 1d 20 2e 72 67 62 5f 73 63 72 6e 5f 61 |.... .rgb_scrn_a| 00015a30 64 64 72 65 73 73 20 45 51 55 44 20 30 0d 0b 9c |ddress EQUD 0...| 00015a40 39 20 2e 72 67 62 5f 62 6c 75 5f 6d 61 73 6b 20 |9 .rgb_blu_mask | 00015a50 45 51 55 44 20 25 30 31 31 31 31 31 30 30 30 30 |EQUD %0111110000| 00015a60 30 30 30 30 30 30 30 31 31 31 31 31 30 30 30 30 |0000000111110000| 00015a70 30 30 30 30 30 30 0d 0b 9d 39 20 2e 72 67 62 5f |000000...9 .rgb_| 00015a80 72 67 62 5f 6d 61 73 6b 20 45 51 55 44 20 25 31 |rgb_mask EQUD %1| 00015a90 30 30 30 30 30 30 30 30 30 30 31 31 31 31 31 31 |0000000000111111| 00015aa0 30 30 30 30 30 30 30 30 30 30 31 31 31 31 31 0d |000000000011111.| 00015ab0 0b 9e 39 20 2e 63 6f 72 72 5f 6d 61 73 6b 31 20 |..9 .corr_mask1 | 00015ac0 20 20 45 51 55 44 20 25 31 31 31 31 31 31 30 30 | EQUD %11111100| 00015ad0 30 30 30 30 30 30 30 30 31 31 31 31 31 31 30 30 |0000000011111100| 00015ae0 30 30 30 30 30 30 30 30 0d 0b 9f 39 20 2e 63 6f |00000000...9 .co| 00015af0 72 72 5f 6d 61 73 6b 32 20 20 20 45 51 55 44 20 |rr_mask2 EQUD | 00015b00 25 30 30 30 30 30 30 31 31 31 31 31 31 31 31 31 |%000000111111111| 00015b10 31 30 30 30 30 30 30 31 31 31 31 31 31 31 31 31 |1000000111111111| 00015b20 31 0d 0b a0 04 0d 0b a1 15 20 2e 72 6f 74 61 74 |1........ .rotat| 00015b30 65 5f 72 67 62 5f 63 6f 64 65 0d 0b a2 2c 20 4c |e_rgb_code..., L| 00015b40 44 52 20 62 61 73 65 2c 72 67 62 5f 73 63 72 6e |DR base,rgb_scrn| 00015b50 5f 61 64 64 72 65 73 73 3a 4d 4f 56 20 6f 66 66 |_address:MOV off| 00015b60 73 65 74 2c 23 30 0d 0b a3 39 20 4c 44 52 20 62 |set,#0...9 LDR b| 00015b70 6c 75 65 5f 6d 61 73 6b 2c 72 67 62 5f 62 6c 75 |lue_mask,rgb_blu| 00015b80 5f 6d 61 73 6b 3a 4c 44 52 20 72 67 62 5f 6d 61 |_mask:LDR rgb_ma| 00015b90 73 6b 2c 72 67 62 5f 72 67 62 5f 6d 61 73 6b 0d |sk,rgb_rgb_mask.| 00015ba0 0b a4 04 0d 0b a5 0e 20 2e 72 67 62 5f 6c 6f 6f |....... .rgb_loo| 00015bb0 70 0d 0b a6 40 20 4c 44 52 20 64 61 74 61 2c 5b |p...@ LDR data,[| 00015bc0 62 61 73 65 2c 6f 66 66 73 65 74 5d 3a 80 20 52 |base,offset]:. R| 00015bd0 30 2c 64 61 74 61 2c 62 6c 75 65 5f 6d 61 73 6b |0,data,blue_mask| 00015be0 3a 4d 4f 56 20 52 30 2c 52 30 2c 4c 53 52 23 31 |:MOV R0,R0,LSR#1| 00015bf0 30 0d 0b a7 2f 20 4d 4f 56 20 64 61 74 61 2c 64 |0.../ MOV data,d| 00015c00 61 74 61 2c 4c 53 4c 23 35 3a 42 49 43 20 64 61 |ata,LSL#5:BIC da| 00015c10 74 61 2c 64 61 74 61 2c 72 67 62 5f 6d 61 73 6b |ta,data,rgb_mask| 00015c20 0d 0b a8 15 20 41 44 44 20 64 61 74 61 2c 64 61 |.... ADD data,da| 00015c30 74 61 2c 52 30 0d 0b a9 30 20 53 54 52 20 64 61 |ta,R0...0 STR da| 00015c40 74 61 2c 5b 62 61 73 65 2c 6f 66 66 73 65 74 5d |ta,[base,offset]| 00015c50 3a 41 44 44 20 6f 66 66 73 65 74 2c 6f 66 66 73 |:ADD offset,offs| 00015c60 65 74 2c 23 34 0d 0b aa 24 20 43 4d 50 20 6f 66 |et,#4...$ CMP of| 00015c70 66 73 65 74 2c 23 36 35 35 33 36 30 3a 42 4e 45 |fset,#655360:BNE| 00015c80 20 72 67 62 5f 6c 6f 6f 70 0d 0b ab 0f 20 4d 4f | rgb_loop.... MO| 00015c90 56 20 50 43 2c 52 31 34 0d 0b ac 04 0d 0b ad 14 |V PC,R14........| 00015ca0 20 2e 72 67 62 5f 63 6f 72 72 65 63 74 69 6f 6e | .rgb_correction| 00015cb0 0d 0b ae 2c 20 4c 44 52 20 62 61 73 65 2c 72 67 |..., LDR base,rg| 00015cc0 62 5f 73 63 72 6e 5f 61 64 64 72 65 73 73 3a 4d |b_scrn_address:M| 00015cd0 4f 56 20 6f 66 66 73 65 74 2c 23 30 0d 0b af 2e |OV offset,#0....| 00015ce0 20 4c 44 52 20 6d 61 73 6b 31 2c 63 6f 72 72 5f | LDR mask1,corr_| 00015cf0 6d 61 73 6b 31 3a 4c 44 52 20 6d 61 73 6b 32 2c |mask1:LDR mask2,| 00015d00 63 6f 72 72 5f 6d 61 73 6b 32 0d 0b b0 13 20 2e |corr_mask2.... .| 00015d10 72 67 62 5f 63 6f 72 72 5f 6c 6f 6f 70 0d 0b b1 |rgb_corr_loop...| 00015d20 43 20 4c 44 52 20 64 61 74 61 2c 5b 62 61 73 65 |C LDR data,[base| 00015d30 2c 6f 66 66 73 65 74 5d 3a 4d 4f 56 20 64 61 74 |,offset]:MOV dat| 00015d40 61 2c 64 61 74 61 2c 4c 53 52 23 35 3a 42 49 43 |a,data,LSR#5:BIC| 00015d50 20 64 61 74 61 2c 64 61 74 61 2c 6d 61 73 6b 31 | data,data,mask1| 00015d60 0d 0b b2 41 20 41 44 44 20 62 61 73 65 2c 62 61 |...A ADD base,ba| 00015d70 73 65 2c 23 31 32 38 30 3a 4c 44 52 20 52 30 2c |se,#1280:LDR R0,| 00015d80 5b 62 61 73 65 2c 6f 66 66 73 65 74 5d 3a 53 55 |[base,offset]:SU| 00015d90 42 20 62 61 73 65 2c 62 61 73 65 2c 23 31 32 38 |B base,base,#128| 00015da0 30 0d 0b b3 25 20 4d 4f 56 20 52 30 2c 52 30 2c |0...% MOV R0,R0,| 00015db0 4c 53 4c 23 31 30 3a 42 49 43 20 52 30 2c 52 30 |LSL#10:BIC R0,R0| 00015dc0 2c 6d 61 73 6b 32 0d 0b b4 41 20 41 44 44 20 64 |,mask2...A ADD d| 00015dd0 61 74 61 2c 64 61 74 61 2c 52 30 3a 53 54 52 20 |ata,data,R0:STR | 00015de0 64 61 74 61 2c 5b 62 61 73 65 2c 6f 66 66 73 65 |data,[base,offse| 00015df0 74 5d 3a 41 44 44 20 6f 66 66 73 65 74 2c 6f 66 |t]:ADD offset,of| 00015e00 66 73 65 74 2c 23 34 0d 0b b5 29 20 43 4d 50 20 |fset,#4...) CMP | 00015e10 6f 66 66 73 65 74 2c 23 36 35 35 33 36 30 3a 42 |offset,#655360:B| 00015e20 4e 45 20 72 67 62 5f 63 6f 72 72 5f 6c 6f 6f 70 |NE rgb_corr_loop| 00015e30 0d 0b b6 0f 20 4d 4f 56 20 50 43 2c 52 31 34 0d |.... MOV PC,R14.| 00015e40 0b b7 06 20 5d 0d 0b b8 20 20 ed 3a 21 72 67 62 |... ]... .:!rgb| 00015e50 5f 73 63 72 6e 5f 61 64 64 72 65 73 73 3d 73 63 |_scrn_address=sc| 00015e60 72 65 65 6e 25 0d 0b b9 06 20 e1 0d 0b ba 04 0d |reen%.... ......| 00015e70 0b bb 18 20 dd 20 f2 73 61 76 65 5f 6a 70 65 67 |... . .save_jpeg| 00015e80 28 64 65 73 74 24 29 0d 0b bc 3b 20 ff 28 22 43 |(dest$)...; .("C| 00015e90 72 65 61 74 65 20 3c 50 73 63 61 6e 24 44 69 72 |reate <Pscan$Dir| 00015ea0 3e 2e 4a 50 45 47 2e 4a 50 45 47 73 63 72 61 70 |>.JPEG.JPEGscrap| 00015eb0 2e 73 63 72 61 70 66 69 6c 65 20 46 30 30 30 30 |.scrapfile F0000| 00015ec0 22 29 0d 0b bd 16 20 c8 99 20 22 48 6f 75 72 67 |").... .. "Hourg| 00015ed0 6c 61 73 73 5f 4f 6e 22 0d 0b be 33 20 73 6f 75 |lass_On"...3 sou| 00015ee0 72 63 65 24 3d 22 3c 50 73 63 61 6e 24 44 69 72 |rce$="<Pscan$Dir| 00015ef0 3e 2e 4a 50 45 47 2e 4a 50 45 47 73 63 72 61 70 |>.JPEG.JPEGscrap| 00015f00 2e 73 63 72 61 70 66 69 6c 65 22 0d 0b bf 1b 20 |.scrapfile".... | 00015f10 e7 20 73 61 76 65 5f 74 79 70 65 24 3d 22 6a 70 |. save_type$="jp| 00015f20 65 67 31 22 20 8c 0d 0b c0 19 20 f2 73 61 76 65 |eg1" ..... .save| 00015f30 5f 74 61 72 67 61 28 73 6f 75 72 63 65 24 29 0d |_targa(source$).| 00015f40 0b c1 06 20 cc 0d 0b c2 1a 20 f2 73 6d 61 6c 6c |... ..... .small| 00015f50 5f 74 61 72 67 61 28 73 6f 75 72 63 65 24 29 0d |_targa(source$).| 00015f60 0b c3 06 20 cd 0d 0b c4 19 20 71 24 3d 22 2d 51 |... ..... q$="-Q| 00015f70 20 22 2b c3 20 6a 70 67 71 25 2b 22 20 22 0d 0b | "+. jpgq%+" "..| 00015f80 c5 4a 20 c8 99 20 22 57 69 6d 70 5f 53 74 61 72 |.J .. "Wimp_Star| 00015f90 74 54 61 73 6b 22 2c 22 3c 50 73 63 61 6e 24 44 |tTask","<Pscan$D| 00015fa0 69 72 3e 2e 4a 50 45 47 2e 63 6a 70 65 67 20 2d |ir>.JPEG.cjpeg -| 00015fb0 54 20 22 2b 71 24 2b 73 6f 75 72 63 65 24 2b 22 |T "+q$+source$+"| 00015fc0 20 22 2b 64 65 73 74 24 0d 0b c6 20 20 ff 28 22 | "+dest$... .("| 00015fd0 53 45 54 54 59 50 45 20 22 2b 64 65 73 74 24 2b |SETTYPE "+dest$+| 00015fe0 22 20 4a 50 45 47 22 29 0d 0b c7 19 20 ff 28 22 |" JPEG").... .("| 00015ff0 44 45 4c 45 54 45 20 22 2b 73 6f 75 72 63 65 24 |DELETE "+source$| 00016000 29 0d 0b c8 1d 20 c8 99 20 22 4f 53 5f 42 79 74 |).... .. "OS_Byt| 00016010 65 22 2c 32 32 39 2c 30 2c 30 3a ef 32 36 0d 0b |e",229,0,0:.26..| 00016020 c9 17 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 |.. .. "Hourglass| 00016030 5f 4f 66 66 22 0d 0b ca 06 20 e1 0d 0b cb 04 0d |_Off".... ......| 00016040 0b cc 1a 20 dd 20 f2 6c 6f 61 64 5f 6a 70 65 67 |... . .load_jpeg| 00016050 28 73 6f 75 72 63 65 24 29 0d 0b cd 23 20 c8 99 |(source$)...# ..| 00016060 20 22 48 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 3a | "Hourglass_On":| 00016070 c8 91 20 30 2c 30 3a db 3a 54 3d 91 0d 0b ce 21 |.. 0,0:.:T=....!| 00016080 20 6a 70 65 67 5f 6c 65 6e 25 3d a4 66 69 6c 65 | jpeg_len%=.file| 00016090 5f 6c 65 6e 28 73 6f 75 72 63 65 24 29 0d 0b cf |_len(source$)...| 000160a0 40 20 e7 20 6a 70 65 67 5f 6c 65 6e 25 3e 36 35 |@ . jpeg_len%>65| 000160b0 35 33 36 30 20 8c 20 85 20 31 39 39 37 2c 22 46 |5360 . . 1997,"F| 000160c0 69 6c 65 20 74 6f 6f 20 6c 6f 6e 67 20 2d 20 6c |ile too long - l| 000160d0 69 6d 69 74 20 69 73 20 36 34 30 6b 22 0d 0b d0 |imit is 640k"...| 000160e0 2c 20 ff 28 22 4c 4f 41 44 20 22 2b 73 6f 75 72 |, .("LOAD "+sour| 000160f0 63 65 24 2b 22 20 22 2b c3 7e 28 6d 65 6d 62 6c |ce$+" "+.~(membl| 00016100 6f 63 6b 25 2b 32 30 29 29 0d 0b d1 34 20 c8 99 |ock%+20))...4 ..| 00016110 20 22 4a 50 45 47 5f 49 6e 66 6f 22 2c 2c 6d 65 | "JPEG_Info",,me| 00016120 6d 62 6c 6f 63 6b 25 2b 32 30 2c 36 35 35 33 36 |mblock%+20,65536| 00016130 30 20 b8 20 2c 2c 78 73 25 2c 79 73 25 0d 0b d2 |0 . ,,xs%,ys%...| 00016140 2c 20 6a 70 65 67 73 63 61 6c 65 25 21 30 3d 31 |, jpegscale%!0=1| 00016150 30 30 30 30 30 3a 6a 70 65 67 73 63 61 6c 65 25 |00000:jpegscale%| 00016160 21 34 3d 31 30 30 30 30 30 0d 0b d3 37 20 6a 70 |!4=100000...7 jp| 00016170 65 67 73 63 61 6c 65 25 21 38 3d 31 30 30 30 30 |egscale%!8=10000| 00016180 30 3a 6a 70 65 67 73 63 61 6c 65 25 21 31 32 3d |0:jpegscale%!12=| 00016190 31 30 30 30 30 30 3a 78 25 3d 30 3a 79 25 3d 30 |100000:x%=0:y%=0| 000161a0 0d 0b d4 14 20 e7 20 6a 70 65 67 5f 73 63 61 6c |.... . jpeg_scal| 000161b0 65 25 20 8c 0d 0b d5 24 20 e7 20 6a 70 65 67 5f |e% ....$ . jpeg_| 000161c0 6f 70 74 25 3d 32 20 8c 20 57 25 3d 34 38 30 20 |opt%=2 . W%=480 | 000161d0 8b 20 57 25 3d 35 31 32 0d 0b d6 2c 20 e7 20 78 |. W%=512..., . x| 000161e0 73 25 3c 36 34 30 20 8c 20 6a 70 65 67 73 63 61 |s%<640 . jpegsca| 000161f0 6c 65 25 21 30 3d 36 34 30 2f 78 73 25 2a 31 30 |le%!0=640/xs%*10| 00016200 30 30 30 30 0d 0b d7 2c 20 e7 20 78 73 25 3e 36 |0000..., . xs%>6| 00016210 34 30 20 8c 20 6a 70 65 67 73 63 61 6c 65 25 21 |40 . jpegscale%!| 00016220 38 3d 78 73 25 2f 36 34 30 2a 31 30 30 30 30 30 |8=xs%/640*100000| 00016230 0d 0b d8 2a 20 e7 20 79 73 25 3c 57 25 20 8c 20 |...* . ys%<W% . | 00016240 6a 70 65 67 73 63 61 6c 65 25 21 34 3d 57 25 2f |jpegscale%!4=W%/| 00016250 79 73 25 2a 31 30 30 30 30 30 0d 0b d9 2b 20 e7 |ys%*100000...+ .| 00016260 20 79 73 25 3e 57 25 20 8c 20 6a 70 65 67 73 63 | ys%>W% . jpegsc| 00016270 61 6c 65 25 21 31 32 3d 79 73 25 2f 57 25 2a 31 |ale%!12=ys%/W%*1| 00016280 30 30 30 30 30 0d 0b da 06 20 cc 0d 0b db 24 20 |00000.... ....$ | 00016290 e7 20 6a 70 65 67 5f 6f 70 74 25 3d 30 20 8c 20 |. jpeg_opt%=0 . | 000162a0 57 25 3d 34 38 30 20 8b 20 57 25 3d 35 31 32 0d |W%=480 . W%=512.| 000162b0 0b dc 19 20 78 25 3d 36 34 30 2d 78 73 25 3a 79 |... x%=640-xs%:y| 000162c0 25 3d 57 25 2d 79 73 25 0d 0b dd 06 20 cd 0d 0b |%=W%-ys%.... ...| 000162d0 de 43 20 c8 99 20 22 4a 50 45 47 5f 50 6c 6f 74 |.C .. "JPEG_Plot| 000162e0 53 63 61 6c 65 64 22 2c 6d 65 6d 62 6c 6f 63 6b |Scaled",memblock| 000162f0 25 2b 32 30 2c 78 25 2c 79 25 2c 6a 70 65 67 73 |%+20,x%,y%,jpegs| 00016300 63 61 6c 65 25 2c 6a 70 65 67 5f 6c 65 6e 25 2c |cale%,jpeg_len%,| 00016310 31 0d 0b df 31 20 54 24 3d c0 c3 28 28 91 2d 54 |1...1 T$=..((.-T| 00016320 29 2f 31 30 30 29 2c 34 29 3a e7 20 57 25 3d 34 |)/100),4):. W%=4| 00016330 38 30 20 8c 20 f2 74 6f 70 73 63 61 6c 65 32 28 |80 . .topscale2(| 00016340 32 29 0d 0b e0 3e 20 f2 75 70 6c 6f 61 64 5f 6d |2)...> .upload_m| 00016350 65 6d 6f 72 79 3a 71 75 69 74 25 3d b9 3a 6a 70 |emory:quit%=.:jp| 00016360 65 67 5f 69 6e 66 6f 25 3d b9 3a 70 61 74 68 24 |eg_info%=.:path$| 00016370 28 4d 45 4d 25 2b 31 29 3d 73 6f 75 72 63 65 24 |(MEM%+1)=source$| 00016380 0d 0b e1 17 20 c8 99 20 22 48 6f 75 72 67 6c 61 |.... .. "Hourgla| 00016390 73 73 5f 4f 66 66 22 0d 0b e2 06 20 e1 0d 0b e3 |ss_Off".... ....| 000163a0 04 0d 0b e4 1b 20 dd 20 f2 6c 6f 61 64 5f 70 73 |..... . .load_ps| 000163b0 63 61 6e 28 73 6f 75 72 63 65 24 29 0d 0b e5 14 |can(source$)....| 000163c0 20 61 25 3d 6d 65 6d 62 6c 6f 63 6b 25 2b 32 30 | a%=memblock%+20| 000163d0 0d 0b e6 20 20 ff 28 22 4c 4f 41 44 20 22 2b 73 |... .("LOAD "+s| 000163e0 6f 75 72 63 65 24 2b 22 20 22 2b c3 7e 61 25 29 |ource$+" "+.~a%)| 000163f0 0d 0b e7 35 20 21 74 61 72 67 61 5f 73 63 72 65 |...5 !targa_scre| 00016400 65 6e 3d 73 63 72 65 65 6e 25 3a 21 74 61 72 67 |en=screen%:!targ| 00016410 61 5f 6d 65 6d 6f 72 79 3d 6d 65 6d 62 6c 6f 63 |a_memory=membloc| 00016420 6b 25 2b 32 30 0d 0b e8 2e 20 d6 20 64 65 63 6f |k%+20.... . deco| 00016430 64 65 5f 70 73 63 61 6e 5f 39 36 61 3a f2 75 70 |de_pscan_96a:.up| 00016440 6c 6f 61 64 5f 6d 65 6d 6f 72 79 3a 71 75 69 74 |load_memory:quit| 00016450 25 3d b9 0d 0b e9 1a 20 70 61 74 68 24 28 4d 45 |%=..... path$(ME| 00016460 4d 25 2b 31 29 3d 73 6f 75 72 63 65 24 0d 0b ea |M%+1)=source$...| 00016470 06 20 e1 0d 0b eb 04 0d 0b ec 1c 20 dd 20 f2 6c |. ......... . .l| 00016480 6f 61 64 5f 73 70 72 69 74 65 28 73 6f 75 72 63 |oad_sprite(sourc| 00016490 65 24 29 0d 0b ed 12 20 c8 97 20 6d 78 25 2c 6d |e$).... .. mx%,m| 000164a0 79 25 2c 64 25 0d 0b ee 13 20 63 68 25 3d ad 28 |y%,d%.... ch%=.(| 000164b0 73 6f 75 72 63 65 24 29 0d 0b ef 2b 20 e3 20 4e |source$)...+ . N| 000164c0 25 3d 32 38 20 b8 20 33 35 3a cf 23 63 68 25 3d |%=28 . 35:.#ch%=| 000164d0 4e 25 3a 67 62 70 62 25 3f 4e 25 3d 9a 23 63 68 |N%:gbpb%?N%=.#ch| 000164e0 25 3a ed 0d 0b f0 1c 20 cf 23 63 68 25 3d 35 35 |%:..... .#ch%=55| 000164f0 3a 4d 25 3d 9a 23 63 68 25 3a d9 23 63 68 25 0d |:M%=.#ch%:.#ch%.| 00016500 0b f1 15 20 c8 91 20 30 2c 30 3a 6c 6f 61 64 65 |... .. 0,0:loade| 00016510 64 25 3d 30 0d 0b f2 28 20 e7 20 28 67 62 70 62 |d%=0...( . (gbpb| 00016520 25 21 33 32 29 3d 35 31 31 20 80 20 28 67 62 70 |%!32)=511 . (gbp| 00016530 62 25 21 32 38 29 3d 33 31 39 20 8c 0d 0b f3 1d |b%!28)=319 .....| 00016540 20 ff 28 22 53 43 52 45 45 4e 4c 4f 41 44 20 22 | .("SCREENLOAD "| 00016550 2b 73 6f 75 72 63 65 24 29 0d 0b f4 22 20 87 3a |+source$)..." .:| 00016560 c8 96 3a f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 |..:.upload_memor| 00016570 79 3a 6c 6f 61 64 65 64 25 3d b9 0d 0b f5 06 20 |y:loaded%=..... | 00016580 cd 0d 0b f6 28 20 e7 20 28 67 62 70 62 25 21 33 |....( . (gbpb%!3| 00016590 32 29 3d 34 37 39 20 80 20 28 67 62 70 62 25 21 |2)=479 . (gbpb%!| 000165a0 32 38 29 3d 33 31 39 20 8c 0d 0b f7 2d 20 e7 20 |28)=319 ....- . | 000165b0 73 63 72 65 65 6e 5f 6c 69 6e 65 73 25 3d 35 31 |screen_lines%=51| 000165c0 32 20 8c 20 4e 25 3d 34 30 39 30 34 20 8b 20 4e |2 . N%=40904 . N| 000165d0 25 3d 31 32 32 34 0d 0b f8 2a 20 ff 28 22 4c 4f |%=1224...* .("LO| 000165e0 41 44 20 22 2b 73 6f 75 72 63 65 24 2b 22 20 22 |AD "+source$+" "| 000165f0 2b c3 7e 28 73 63 72 65 65 6e 25 2b 4e 25 29 29 |+.~(screen%+N%))| 00016600 0d 0b f9 2b 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d |...+ .upload_mem| 00016610 6f 72 79 3a f2 74 6f 70 73 63 61 6c 65 32 28 30 |ory:.topscale2(0| 00016620 29 3a 6c 6f 61 64 65 64 25 3d b9 0d 0b fa 06 20 |):loaded%=..... | 00016630 cd 0d 0b fb 28 20 e7 20 ac 28 6c 6f 61 64 65 64 |....( . .(loaded| 00016640 25 29 20 8c 20 f2 6c 6f 61 64 5f 6f 76 65 72 6c |%) . .load_overl| 00016650 61 79 5f 73 70 72 69 74 65 0d 0b fc 26 20 e7 20 |ay_sprite...& . | 00016660 6c 6f 61 64 65 64 25 20 8c 20 70 61 74 68 24 28 |loaded% . path$(| 00016670 4d 45 4d 25 2b 31 29 3d 73 6f 75 72 63 65 24 0d |MEM%+1)=source$.| 00016680 0b fd 17 20 71 75 69 74 25 3d b9 3a 2a 50 4f 49 |... quit%=.:*POI| 00016690 4e 54 45 52 20 31 0d 0b fe 14 20 c8 97 20 b8 20 |NTER 1.... .. . | 000166a0 6d 78 25 2c 6d 79 25 2b 35 30 0d 0b ff 06 20 e1 |mx%,my%+50.... .| 000166b0 0d 0c 00 04 0d 0c 01 1b 20 dd 20 f2 6c 6f 61 64 |........ . .load| 000166c0 5f 74 61 72 67 61 28 73 6f 75 72 63 65 24 29 0d |_targa(source$).| 000166d0 0c 02 13 20 61 25 3d 6d 65 6d 62 6c 6f 63 6b 25 |... a%=memblock%| 000166e0 2b 32 0d 0c 03 20 20 ff 28 22 4c 4f 41 44 20 22 |+2... .("LOAD "| 000166f0 2b 73 6f 75 72 63 65 24 2b 22 20 22 2b c3 7e 61 |+source$+" "+.~a| 00016700 25 29 0d 0c 04 35 20 21 74 61 72 67 61 5f 62 61 |%)...5 !targa_ba| 00016710 73 65 3d 6d 65 6d 62 6c 6f 63 6b 25 2b 32 30 3a |se=memblock%+20:| 00016720 d6 20 74 61 72 67 61 5f 63 6f 6e 76 65 72 74 3a |. targa_convert:| 00016730 71 75 69 74 25 3d b9 0d 0c 05 10 20 e7 20 61 25 |quit%=..... . a%| 00016740 3f 31 33 3d 31 20 8c 0d 0c 06 34 20 21 74 61 72 |?13=1 ....4 !tar| 00016750 67 61 5f 73 63 72 65 65 6e 3d 73 63 72 65 65 6e |ga_screen=screen| 00016760 25 3a 21 74 61 72 67 61 5f 6d 65 6d 6f 72 79 3d |%:!targa_memory=| 00016770 21 74 61 72 67 61 5f 62 61 73 65 0d 0c 07 28 20 |!targa_base...( | 00016780 d6 20 64 65 63 6f 64 65 5f 73 6d 61 6c 6c 5f 74 |. decode_small_t| 00016790 61 72 67 61 3a f2 75 70 6c 6f 61 64 5f 6d 65 6d |arga:.upload_mem| 000167a0 6f 72 79 0d 0c 08 06 20 cd 0d 0c 09 1a 20 70 61 |ory.... ..... pa| 000167b0 74 68 24 28 4d 45 4d 25 2b 31 29 3d 73 6f 75 72 |th$(MEM%+1)=sour| 000167c0 63 65 24 0d 0c 0a 06 20 e1 0d 0c 0b 04 0d 0c 0c |ce$.... ........| 000167d0 17 20 dd 20 f2 73 61 76 65 5f 70 73 63 61 6e 28 |. . .save_pscan(| 000167e0 73 74 24 29 0d 0c 0d 12 20 e7 20 ac 20 62 79 70 |st$).... . . byp| 000167f0 61 73 73 25 20 8c 0d 0c 0e 8a 20 e7 20 21 73 63 |ass% ..... . !sc| 00016800 72 65 65 6e 25 3c 3e 26 38 30 30 30 38 30 30 30 |reen%<>&80008000| 00016810 20 8c 20 85 20 31 39 39 36 2c 22 54 68 69 73 20 | . . 1996,"This | 00016820 70 69 63 74 75 72 65 20 77 61 73 20 6e 6f 74 20 |picture was not | 00016830 72 65 63 65 69 76 65 64 20 69 6e 20 61 20 33 32 |received in a 32| 00016840 30 20 78 20 32 35 36 20 53 53 54 56 20 6d 6f 64 |0 x 256 SSTV mod| 00016850 65 20 73 6f 20 69 74 20 63 61 6e 6e 6f 74 20 62 |e so it cannot b| 00016860 65 20 73 61 76 65 64 20 69 6e 20 50 73 63 61 6e |e saved in Pscan| 00016870 20 66 6f 72 6d 61 74 22 2b bd 31 33 2b bd 31 33 | format"+.13+.13| 00016880 0d 0c 0f 06 20 cd 0d 0c 10 35 20 21 74 61 72 67 |.... ....5 !targ| 00016890 61 5f 73 63 72 65 65 6e 3d 73 63 72 65 65 6e 25 |a_screen=screen%| 000168a0 3a 21 74 61 72 67 61 5f 6d 65 6d 6f 72 79 3d 6d |:!targa_memory=m| 000168b0 65 6d 62 6c 6f 63 6b 25 2b 32 30 0d 0c 11 35 20 |emblock%+20...5 | 000168c0 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 3a |.display_memory:| 000168d0 21 70 73 63 61 6e 5f 74 65 6d 70 3d 31 3a d6 20 |!pscan_temp=1:. | 000168e0 6d 61 6b 65 5f 73 6d 61 6c 6c 5f 74 61 72 67 61 |make_small_targa| 000168f0 0d 0c 12 14 20 41 25 3d 6d 65 6d 62 6c 6f 63 6b |.... A%=memblock| 00016900 25 2b 32 30 0d 0c 13 34 20 c8 99 20 22 4f 53 5f |%+20...4 .. "OS_| 00016910 46 69 6c 65 22 2c 31 30 2c 73 74 24 2c 26 39 36 |File",10,st$,&96| 00016920 41 2c 30 2c 41 25 2c 41 25 2b 26 32 38 30 30 30 |A,0,A%,A%+&28000| 00016930 3a f4 20 2a 53 41 56 45 0d 0c 14 13 20 f2 75 70 |:. *SAVE.... .up| 00016940 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d 0c 15 06 20 |load_memory.... | 00016950 e1 0d 0c 16 04 0d 0c 17 18 20 dd 20 f2 73 6d 61 |......... . .sma| 00016960 6c 6c 5f 74 61 72 67 61 28 73 74 24 29 0d 0c 18 |ll_targa(st$)...| 00016970 35 20 21 74 61 72 67 61 5f 73 63 72 65 65 6e 3d |5 !targa_screen=| 00016980 73 63 72 65 65 6e 25 3a 21 74 61 72 67 61 5f 6d |screen%:!targa_m| 00016990 65 6d 6f 72 79 3d 6d 65 6d 62 6c 6f 63 6b 25 2b |emory=memblock%+| 000169a0 32 30 0d 0c 19 35 20 f2 64 69 73 70 6c 61 79 5f |20...5 .display_| 000169b0 6d 65 6d 6f 72 79 3a 21 70 73 63 61 6e 5f 74 65 |memory:!pscan_te| 000169c0 6d 70 3d 30 3a d6 20 6d 61 6b 65 5f 73 6d 61 6c |mp=0:. make_smal| 000169d0 6c 5f 74 61 72 67 61 0d 0c 1a 2d 20 21 74 61 72 |l_targa...- !tar| 000169e0 67 61 5f 62 61 73 65 3d 6d 65 6d 62 6c 6f 63 6b |ga_base=memblock| 000169f0 25 2b 32 30 3a d6 20 74 61 72 67 61 5f 63 6f 6e |%+20:. targa_con| 00016a00 76 65 72 74 0d 0c 1b 13 20 41 25 3d 6d 65 6d 62 |vert.... A%=memb| 00016a10 6c 6f 63 6b 25 2b 32 0d 0c 1c 09 20 f7 20 2b 30 |lock%+2.... . +0| 00016a20 0d 0c 1d 22 20 e3 20 4e 25 3d 41 25 20 b8 20 41 |..." . N%=A% . A| 00016a30 25 2b 31 37 3a f3 20 44 25 3a 3f 4e 25 3d 44 25 |%+17:. D%:?N%=D%| 00016a40 3a ed 0d 0c 1e 1f 20 65 6e 64 25 3d 28 6d 65 6d |:..... end%=(mem| 00016a50 62 6c 6f 63 6b 25 2b 32 30 29 2b 31 36 33 38 34 |block%+20)+16384| 00016a60 30 0d 0c 1f 3d 20 21 65 6e 64 25 3d 30 3a 65 6e |0...= !end%=0:en| 00016a70 64 25 21 34 3d 30 3a 24 28 65 6e 64 25 2b 38 29 |d%!4=0:$(end%+8)| 00016a80 3d 22 54 52 55 45 56 49 53 49 4f 4e 2d 54 41 52 |="TRUEVISION-TAR| 00016a90 47 41 2e 22 3a 65 6e 64 25 3f 32 35 3d 30 0d 0c |GA.":end%?25=0..| 00016aa0 20 2e 20 dc 20 30 2c 30 2c 32 2c 30 2c 30 2c 30 | . . 0,0,2,0,0,0| 00016ab0 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 36 34 2c |,0,0,0,0,0,0,64,| 00016ac0 31 2c 30 2c 31 2c 31 36 2c 26 32 30 0d 0c 21 34 |1,0,1,16,&20..!4| 00016ad0 20 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 31 30 | .. "OS_File",10| 00016ae0 2c 73 74 24 2c 26 36 39 44 2c 30 2c 41 25 2c 41 |,st$,&69D,0,A%,A| 00016af0 25 2b 26 32 38 30 32 43 3a f4 20 2a 53 41 56 45 |%+&2802C:. *SAVE| 00016b00 0d 0c 22 13 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d |..". .upload_mem| 00016b10 6f 72 79 0d 0c 23 06 20 e1 0d 0c 24 05 20 0d 0c |ory..#. ...$. ..| 00016b20 25 21 20 dd 20 f2 6d 61 6b 65 5f 73 6d 61 6c 6c |%! . .make_small| 00016b30 5f 74 61 72 67 61 5f 61 73 73 65 6d 62 6c 65 0d |_targa_assemble.| 00016b40 0c 26 38 20 62 61 73 65 31 3d 33 3a 62 61 73 65 |.&8 base1=3:base| 00016b50 32 3d 34 3a 6f 66 66 73 65 74 31 3d 35 3a 6f 66 |2=4:offset1=5:of| 00016b60 66 73 65 74 32 3d 36 3a 64 61 74 61 31 3d 37 3a |fset2=6:data1=7:| 00016b70 64 61 74 61 32 3d 38 0d 0c 27 2b 20 6d 61 73 6b |data2=8..'+ mask| 00016b80 3d 39 3a 6d 61 73 6b 32 3d 31 30 3a 6c 69 6e 65 |=9:mask2=10:line| 00016b90 73 3d 31 31 3a 70 73 63 61 6e 5f 66 6c 61 67 3d |s=11:pscan_flag=| 00016ba0 31 32 0d 0c 28 17 20 de 20 74 61 72 67 61 5f 63 |12..(. . targa_c| 00016bb0 6f 64 65 32 25 20 36 34 30 0d 0c 29 11 20 e3 20 |ode2% 640..). . | 00016bc0 50 3d 30 20 b8 20 32 20 88 32 0d 0c 2a 14 20 50 |P=0 . 2 .2..*. P| 00016bd0 25 3d 74 61 72 67 61 5f 63 6f 64 65 32 25 0d 0c |%=targa_code2%..| 00016be0 2b 0b 20 5b 4f 50 54 20 50 0d 0c 2c 39 20 2e 74 |+. [OPT P..,9 .t| 00016bf0 61 72 67 61 5f 6d 61 73 6b 20 20 20 45 51 55 44 |arga_mask EQUD| 00016c00 20 25 30 30 30 30 30 30 30 30 30 30 30 30 30 30 | %00000000000000| 00016c10 30 30 31 31 31 31 31 31 31 31 31 31 31 31 31 31 |0011111111111111| 00016c20 31 31 0d 0c 2d 39 20 2e 74 61 72 67 61 5f 6d 61 |11..-9 .targa_ma| 00016c30 73 6b 32 20 20 45 51 55 44 20 25 31 31 31 31 31 |sk2 EQUD %11111| 00016c40 31 31 31 31 31 31 31 31 31 31 31 30 30 30 30 30 |1111111111100000| 00016c50 30 30 30 30 30 30 30 30 30 30 30 0d 0c 2e 19 20 |00000000000.... | 00016c60 2e 70 73 63 61 6e 5f 74 65 6d 70 20 20 20 45 51 |.pscan_temp EQ| 00016c70 55 44 20 30 0d 0c 2f 19 20 2e 74 61 72 67 61 5f |UD 0../. .targa_| 00016c80 73 63 72 65 65 6e 20 45 51 55 44 20 30 0d 0c 30 |screen EQUD 0..0| 00016c90 19 20 2e 74 61 72 67 61 5f 6d 65 6d 6f 72 79 20 |. .targa_memory | 00016ca0 45 51 55 44 20 30 0d 0c 31 39 20 2e 67 72 65 65 |EQUD 0..19 .gree| 00016cb0 6e 5f 6d 61 73 6b 20 20 20 45 51 55 44 20 25 31 |n_mask EQUD %1| 00016cc0 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 |1111111111111111| 00016cd0 30 30 30 30 30 31 31 31 31 31 30 30 30 30 30 0d |000001111100000.| 00016ce0 0c 32 04 0d 0c 33 16 20 2e 6d 61 6b 65 5f 73 6d |.2...3. .make_sm| 00016cf0 61 6c 6c 5f 74 61 72 67 61 0d 0c 34 4c 20 4c 44 |all_targa..4L LD| 00016d00 52 20 62 61 73 65 31 2c 74 61 72 67 61 5f 73 63 |R base1,targa_sc| 00016d10 72 65 65 6e 3a 4c 44 52 20 62 61 73 65 32 2c 74 |reen:LDR base2,t| 00016d20 61 72 67 61 5f 6d 65 6d 6f 72 79 3a 4c 44 52 20 |arga_memory:LDR | 00016d30 70 73 63 61 6e 5f 66 6c 61 67 2c 70 73 63 61 6e |pscan_flag,pscan| 00016d40 5f 74 65 6d 70 0d 0c 35 45 20 4c 44 52 20 6d 61 |_temp..5E LDR ma| 00016d50 73 6b 2c 74 61 72 67 61 5f 6d 61 73 6b 3a 4d 4f |sk,targa_mask:MO| 00016d60 56 20 6f 66 66 73 65 74 31 2c 23 30 3a 4d 4f 56 |V offset1,#0:MOV| 00016d70 20 6f 66 66 73 65 74 32 2c 23 30 3a 4d 4f 56 20 | offset2,#0:MOV | 00016d80 6c 69 6e 65 73 2c 23 32 35 36 0d 0c 36 04 0d 0c |lines,#256..6...| 00016d90 37 15 20 2e 6d 61 6b 65 5f 74 61 72 67 61 5f 6c |7. .make_targa_l| 00016da0 6f 6f 70 0d 0c 38 42 20 4c 44 52 20 52 31 2c 5b |oop..8B LDR R1,[| 00016db0 62 61 73 65 31 2c 6f 66 66 73 65 74 31 5d 3a 80 |base1,offset1]:.| 00016dc0 20 64 61 74 61 31 2c 52 31 2c 6d 61 73 6b 3a 41 | data1,R1,mask:A| 00016dd0 44 44 20 6f 66 66 73 65 74 31 2c 6f 66 66 73 65 |DD offset1,offse| 00016de0 74 31 2c 23 34 0d 0c 39 2b 20 4c 44 52 20 52 32 |t1,#4..9+ LDR R2| 00016df0 2c 5b 62 61 73 65 31 2c 6f 66 66 73 65 74 31 5d |,[base1,offset1]| 00016e00 3a 80 20 64 61 74 61 32 2c 52 32 2c 6d 61 73 6b |:. data2,R2,mask| 00016e10 0d 0c 3a 2e 20 4d 4f 56 20 64 61 74 61 32 2c 64 |..:. MOV data2,d| 00016e20 61 74 61 32 2c 4c 53 4c 23 31 36 3a 41 44 44 20 |ata2,LSL#16:ADD | 00016e30 52 30 2c 64 61 74 61 31 2c 64 61 74 61 32 0d 0c |R0,data1,data2..| 00016e40 3b 25 20 43 4d 50 20 70 73 63 61 6e 5f 66 6c 61 |;% CMP pscan_fla| 00016e50 67 2c 23 30 3a 42 45 51 20 6a 75 73 74 5f 74 61 |g,#0:BEQ just_ta| 00016e60 72 67 61 0d 0c 3c 04 0d 0c 3d 29 20 4d 4f 56 20 |rga..<...=) MOV | 00016e70 64 61 74 61 31 2c 52 31 2c 4c 53 52 23 35 3a 80 |data1,R1,LSR#5:.| 00016e80 20 64 61 74 61 31 2c 64 61 74 61 31 2c 23 33 31 | data1,data1,#31| 00016e90 0d 0c 3e 2a 20 4d 4f 56 20 64 61 74 61 32 2c 52 |..>* MOV data2,R| 00016ea0 31 2c 4c 53 52 23 32 31 3a 80 20 64 61 74 61 32 |1,LSR#21:. data2| 00016eb0 2c 64 61 74 61 32 2c 23 33 31 0d 0c 3f 42 20 43 |,data2,#31..?B C| 00016ec0 4d 50 20 64 61 74 61 31 2c 64 61 74 61 32 3a 84 |MP data1,data2:.| 00016ed0 52 4e 45 20 52 30 2c 52 30 2c 23 25 30 30 30 30 |RNE R0,R0,#%0000| 00016ee0 30 30 30 30 30 30 30 30 30 30 30 30 31 30 30 30 |0000000000001000| 00016ef0 30 30 30 30 30 30 30 30 30 30 30 30 0d 0c 40 29 |000000000000..@)| 00016f00 20 4d 4f 56 20 64 61 74 61 31 2c 52 32 2c 4c 53 | MOV data1,R2,LS| 00016f10 52 23 35 3a 80 20 64 61 74 61 31 2c 64 61 74 61 |R#5:. data1,data| 00016f20 31 2c 23 33 31 0d 0c 41 2a 20 4d 4f 56 20 64 61 |1,#31..A* MOV da| 00016f30 74 61 32 2c 52 32 2c 4c 53 52 23 32 31 3a 80 20 |ta2,R2,LSR#21:. | 00016f40 64 61 74 61 32 2c 64 61 74 61 32 2c 23 33 31 0d |data2,data2,#31.| 00016f50 0c 42 42 20 43 4d 50 20 64 61 74 61 31 2c 64 61 |.BB CMP data1,da| 00016f60 74 61 32 3a 84 52 4e 45 20 52 30 2c 52 30 2c 23 |ta2:.RNE R0,R0,#| 00016f70 25 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 |%100000000000000| 00016f80 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 |0000000000000000| 00016f90 30 0d 0c 43 04 0d 0c 44 10 20 2e 6a 75 73 74 5f |0..C...D. .just_| 00016fa0 74 61 72 67 61 0d 0c 45 49 20 53 54 52 20 52 30 |targa..EI STR R0| 00016fb0 2c 5b 62 61 73 65 32 2c 6f 66 66 73 65 74 32 5d |,[base2,offset2]| 00016fc0 3a 41 44 44 20 6f 66 66 73 65 74 32 2c 6f 66 66 |:ADD offset2,off| 00016fd0 73 65 74 32 2c 23 34 3a 41 44 44 20 6f 66 66 73 |set2,#4:ADD offs| 00016fe0 65 74 31 2c 6f 66 66 73 65 74 31 2c 23 34 0d 0c |et1,offset1,#4..| 00016ff0 46 29 20 43 4d 50 20 6f 66 66 73 65 74 32 2c 23 |F) CMP offset2,#| 00017000 36 34 30 3a 42 4e 45 20 6d 61 6b 65 5f 74 61 72 |640:BNE make_tar| 00017010 67 61 5f 6c 6f 6f 70 0d 0c 47 2f 20 41 44 44 20 |ga_loop..G/ ADD | 00017020 62 61 73 65 31 2c 62 61 73 65 31 2c 23 32 35 36 |base1,base1,#256| 00017030 30 3a 41 44 44 20 62 61 73 65 32 2c 62 61 73 65 |0:ADD base2,base| 00017040 32 2c 23 36 34 30 0d 0c 48 4a 20 4d 4f 56 20 6f |2,#640..HJ MOV o| 00017050 66 66 73 65 74 31 2c 23 30 3a 4d 4f 56 20 6f 66 |ffset1,#0:MOV of| 00017060 66 73 65 74 32 2c 23 30 3a 53 55 42 53 20 6c 69 |fset2,#0:SUBS li| 00017070 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 4e 45 |nes,lines,#1:BNE| 00017080 20 6d 61 6b 65 5f 74 61 72 67 61 5f 6c 6f 6f 70 | make_targa_loop| 00017090 0d 0c 49 0f 20 4d 4f 56 20 50 43 2c 52 31 34 0d |..I. MOV PC,R14.| 000170a0 0c 4a 04 0d 0c 4b 32 20 3b 20 2d 2d 2d 2d 2d 2d |.J...K2 ; ------| 000170b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000170d0 2d 2d 2d 2d 2d 0d 0c 4c 04 0d 0c 4d 18 20 2e 64 |-----..L...M. .d| 000170e0 65 63 6f 64 65 5f 73 6d 61 6c 6c 5f 74 61 72 67 |ecode_small_targ| 000170f0 61 0d 0c 4e 32 20 4c 44 52 20 62 61 73 65 31 2c |a..N2 LDR base1,| 00017100 74 61 72 67 61 5f 73 63 72 65 65 6e 3a 4c 44 52 |targa_screen:LDR| 00017110 20 62 61 73 65 32 2c 74 61 72 67 61 5f 6d 65 6d | base2,targa_mem| 00017120 6f 72 79 0d 0c 4f 2e 20 4c 44 52 20 6d 61 73 6b |ory..O. LDR mask| 00017130 2c 74 61 72 67 61 5f 6d 61 73 6b 3a 4c 44 52 20 |,targa_mask:LDR | 00017140 6d 61 73 6b 32 2c 74 61 72 67 61 5f 6d 61 73 6b |mask2,targa_mask| 00017150 32 0d 0c 50 31 20 4d 4f 56 20 6f 66 66 73 65 74 |2..P1 MOV offset| 00017160 31 2c 23 30 3a 4d 4f 56 20 6f 66 66 73 65 74 32 |1,#0:MOV offset2| 00017170 2c 23 30 3a 4d 4f 56 20 6c 69 6e 65 73 2c 23 32 |,#0:MOV lines,#2| 00017180 35 36 0d 0c 51 04 0d 0c 52 17 20 2e 64 65 63 6f |56..Q...R. .deco| 00017190 64 65 5f 74 61 72 67 61 5f 6c 6f 6f 70 0d 0c 53 |de_targa_loop..S| 000171a0 42 20 4c 44 52 20 52 30 2c 5b 62 61 73 65 32 2c |B LDR R0,[base2,| 000171b0 6f 66 66 73 65 74 32 5d 3a 80 20 64 61 74 61 31 |offset2]:. data1| 000171c0 2c 52 30 2c 6d 61 73 6b 3a 4d 4f 56 20 64 61 74 |,R0,mask:MOV dat| 000171d0 61 32 2c 64 61 74 61 31 2c 4c 53 4c 23 31 36 0d |a2,data1,LSL#16.| 000171e0 0c 54 4a 20 41 44 44 20 64 61 74 61 32 2c 64 61 |.TJ ADD data2,da| 000171f0 74 61 32 2c 64 61 74 61 31 3a 53 54 52 20 64 61 |ta2,data1:STR da| 00017200 74 61 32 2c 5b 62 61 73 65 31 2c 6f 66 66 73 65 |ta2,[base1,offse| 00017210 74 31 5d 3a 41 44 44 20 62 61 73 65 31 2c 62 61 |t1]:ADD base1,ba| 00017220 73 65 31 2c 23 31 32 38 30 0d 0c 55 4b 20 53 54 |se1,#1280..UK ST| 00017230 52 20 64 61 74 61 32 2c 5b 62 61 73 65 31 2c 6f |R data2,[base1,o| 00017240 66 66 73 65 74 31 5d 3a 53 55 42 20 62 61 73 65 |ffset1]:SUB base| 00017250 31 2c 62 61 73 65 31 2c 23 31 32 38 30 3a 41 44 |1,base1,#1280:AD| 00017260 44 20 6f 66 66 73 65 74 31 2c 6f 66 66 73 65 74 |D offset1,offset| 00017270 31 2c 23 34 0d 0c 56 04 0d 0c 57 43 20 4c 44 52 |1,#4..V...WC LDR| 00017280 20 52 30 2c 5b 62 61 73 65 32 2c 6f 66 66 73 65 | R0,[base2,offse| 00017290 74 32 5d 3a 80 20 64 61 74 61 31 2c 52 30 2c 6d |t2]:. data1,R0,m| 000172a0 61 73 6b 32 3a 4d 4f 56 20 64 61 74 61 32 2c 64 |ask2:MOV data2,d| 000172b0 61 74 61 31 2c 4c 53 52 23 31 36 0d 0c 58 4a 20 |ata1,LSR#16..XJ | 000172c0 41 44 44 20 64 61 74 61 32 2c 64 61 74 61 32 2c |ADD data2,data2,| 000172d0 64 61 74 61 31 3a 53 54 52 20 64 61 74 61 32 2c |data1:STR data2,| 000172e0 5b 62 61 73 65 31 2c 6f 66 66 73 65 74 31 5d 3a |[base1,offset1]:| 000172f0 41 44 44 20 62 61 73 65 31 2c 62 61 73 65 31 2c |ADD base1,base1,| 00017300 23 31 32 38 30 0d 0c 59 4b 20 53 54 52 20 64 61 |#1280..YK STR da| 00017310 74 61 32 2c 5b 62 61 73 65 31 2c 6f 66 66 73 65 |ta2,[base1,offse| 00017320 74 31 5d 3a 53 55 42 20 62 61 73 65 31 2c 62 61 |t1]:SUB base1,ba| 00017330 73 65 31 2c 23 31 32 38 30 3a 41 44 44 20 6f 66 |se1,#1280:ADD of| 00017340 66 73 65 74 31 2c 6f 66 66 73 65 74 31 2c 23 34 |fset1,offset1,#4| 00017350 0d 0c 5a 42 20 41 44 44 20 6f 66 66 73 65 74 32 |..ZB ADD offset2| 00017360 2c 6f 66 66 73 65 74 32 2c 23 34 3a 43 4d 50 20 |,offset2,#4:CMP | 00017370 6f 66 66 73 65 74 32 2c 23 36 34 30 3a 42 4e 45 |offset2,#640:BNE| 00017380 20 64 65 63 6f 64 65 5f 74 61 72 67 61 5f 6c 6f | decode_targa_lo| 00017390 6f 70 0d 0c 5b 04 0d 0c 5c 2f 20 41 44 44 20 62 |op..[...\/ ADD b| 000173a0 61 73 65 32 2c 62 61 73 65 32 2c 23 36 34 30 3a |ase2,base2,#640:| 000173b0 41 44 44 20 62 61 73 65 31 2c 62 61 73 65 31 2c |ADD base1,base1,| 000173c0 23 32 35 36 30 0d 0c 5d 4c 20 4d 4f 56 20 6f 66 |#2560..]L MOV of| 000173d0 66 73 65 74 31 2c 23 30 3a 4d 4f 56 20 6f 66 66 |fset1,#0:MOV off| 000173e0 73 65 74 32 2c 23 30 3a 53 55 42 53 20 6c 69 6e |set2,#0:SUBS lin| 000173f0 65 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 4e 45 20 |es,lines,#1:BNE | 00017400 64 65 63 6f 64 65 5f 74 61 72 67 61 5f 6c 6f 6f |decode_targa_loo| 00017410 70 0d 0c 5e 0f 20 4d 4f 56 20 50 43 2c 52 31 34 |p..^. MOV PC,R14| 00017420 0d 0c 5f 04 0d 0c 60 32 20 3b 20 2d 2d 2d 2d 2d |.._...`2 ; -----| 00017430 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00017450 2d 2d 2d 2d 2d 2d 0d 0c 61 04 0d 0c 62 16 20 2e |------..a...b. .| 00017460 64 65 63 6f 64 65 5f 70 73 63 61 6e 5f 39 36 61 |decode_pscan_96a| 00017470 0d 0c 63 04 0d 0c 64 32 20 4c 44 52 20 62 61 73 |..c...d2 LDR bas| 00017480 65 31 2c 74 61 72 67 61 5f 73 63 72 65 65 6e 3a |e1,targa_screen:| 00017490 4c 44 52 20 62 61 73 65 32 2c 74 61 72 67 61 5f |LDR base2,targa_| 000174a0 6d 65 6d 6f 72 79 0d 0c 65 2e 20 4c 44 52 20 6d |memory..e. LDR m| 000174b0 61 73 6b 2c 74 61 72 67 61 5f 6d 61 73 6b 3a 4c |ask,targa_mask:L| 000174c0 44 52 20 6d 61 73 6b 32 2c 74 61 72 67 61 5f 6d |DR mask2,targa_m| 000174d0 61 73 6b 32 0d 0c 66 31 20 4d 4f 56 20 6f 66 66 |ask2..f1 MOV off| 000174e0 73 65 74 31 2c 23 30 3a 4d 4f 56 20 6f 66 66 73 |set1,#0:MOV offs| 000174f0 65 74 32 2c 23 30 3a 4d 4f 56 20 6c 69 6e 65 73 |et2,#0:MOV lines| 00017500 2c 23 32 35 36 0d 0c 67 04 0d 0c 68 17 20 2e 64 |,#256..g...h. .d| 00017510 65 63 6f 64 65 5f 70 73 63 61 6e 5f 6c 6f 6f 70 |ecode_pscan_loop| 00017520 0d 0c 69 2b 20 4c 44 52 20 52 30 2c 5b 62 61 73 |..i+ LDR R0,[bas| 00017530 65 32 2c 6f 66 66 73 65 74 32 5d 3a 80 20 64 61 |e2,offset2]:. da| 00017540 74 61 31 2c 52 30 2c 6d 61 73 6b 0d 0c 6a 30 20 |ta1,R0,mask..j0 | 00017550 54 53 54 20 64 61 74 61 31 2c 23 25 31 30 30 30 |TST data1,#%1000| 00017560 30 30 30 30 30 30 30 30 30 30 30 30 3a 42 45 51 |000000000000:BEQ| 00017570 20 6e 6f 5f 64 69 74 68 65 72 31 0d 0c 6b 40 20 | no_dither1..k@ | 00017580 4d 4f 56 20 52 30 2c 64 61 74 61 31 2c 4c 53 52 |MOV R0,data1,LSR| 00017590 23 35 3a 80 20 52 30 2c 52 30 2c 23 33 31 3a 53 |#5:. R0,R0,#31:S| 000175a0 55 42 20 52 30 2c 52 30 2c 23 31 3a 4d 4f 56 20 |UB R0,R0,#1:MOV | 000175b0 52 30 2c 52 30 2c 4c 53 4c 23 35 0d 0c 6c 44 20 |R0,R0,LSL#5..lD | 000175c0 4c 44 52 20 52 31 2c 67 72 65 65 6e 5f 6d 61 73 |LDR R1,green_mas| 000175d0 6b 3a 42 49 43 20 52 31 2c 64 61 74 61 31 2c 52 |k:BIC R1,data1,R| 000175e0 31 3a 41 44 44 20 52 30 2c 52 30 2c 52 31 3a 4d |1:ADD R0,R0,R1:M| 000175f0 4f 56 20 52 30 2c 52 30 2c 4c 53 4c 23 31 36 0d |OV R0,R0,LSL#16.| 00017600 0c 6d 23 20 41 44 44 20 52 30 2c 64 61 74 61 31 |.m# ADD R0,data1| 00017610 2c 52 30 3a 42 20 73 74 6f 72 65 5f 77 6f 72 64 |,R0:B store_word| 00017620 73 31 0d 0c 6e 10 20 2e 6e 6f 5f 64 69 74 68 65 |s1..n. .no_dithe| 00017630 72 31 0d 0c 6f 2e 20 4d 4f 56 20 64 61 74 61 32 |r1..o. MOV data2| 00017640 2c 64 61 74 61 31 2c 4c 53 4c 23 31 36 3a 41 44 |,data1,LSL#16:AD| 00017650 44 20 52 30 2c 64 61 74 61 31 2c 64 61 74 61 32 |D R0,data1,data2| 00017660 0d 0c 70 12 20 2e 73 74 6f 72 65 5f 77 6f 72 64 |..p. .store_word| 00017670 73 31 0d 0c 71 2c 20 53 54 52 20 52 30 2c 5b 62 |s1..q, STR R0,[b| 00017680 61 73 65 31 2c 6f 66 66 73 65 74 31 5d 3a 4d 4f |ase1,offset1]:MO| 00017690 56 20 52 30 2c 52 30 2c 52 4f 52 23 31 36 0d 0c |V R0,R0,ROR#16..| 000176a0 72 31 20 41 44 44 20 62 61 73 65 31 2c 62 61 73 |r1 ADD base1,bas| 000176b0 65 31 2c 23 31 32 38 30 3a 53 54 52 20 52 30 2c |e1,#1280:STR R0,| 000176c0 5b 62 61 73 65 31 2c 6f 66 66 73 65 74 31 5d 0d |[base1,offset1].| 000176d0 0c 73 31 20 53 55 42 20 62 61 73 65 31 2c 62 61 |.s1 SUB base1,ba| 000176e0 73 65 31 2c 23 31 32 38 30 3a 41 44 44 20 6f 66 |se1,#1280:ADD of| 000176f0 66 73 65 74 31 2c 6f 66 66 73 65 74 31 2c 23 34 |fset1,offset1,#4| 00017700 0d 0c 74 04 0d 0c 75 43 20 4c 44 52 20 52 30 2c |..t...uC LDR R0,| 00017710 5b 62 61 73 65 32 2c 6f 66 66 73 65 74 32 5d 3a |[base2,offset2]:| 00017720 80 20 64 61 74 61 31 2c 52 30 2c 6d 61 73 6b 32 |. data1,R0,mask2| 00017730 3a 4d 4f 56 20 64 61 74 61 31 2c 64 61 74 61 31 |:MOV data1,data1| 00017740 2c 4c 53 52 23 31 36 0d 0c 76 30 20 54 53 54 20 |,LSR#16..v0 TST | 00017750 64 61 74 61 31 2c 23 25 31 30 30 30 30 30 30 30 |data1,#%10000000| 00017760 30 30 30 30 30 30 30 30 3a 42 45 51 20 6e 6f 5f |00000000:BEQ no_| 00017770 64 69 74 68 65 72 32 0d 0c 77 40 20 4d 4f 56 20 |dither2..w@ MOV | 00017780 52 30 2c 64 61 74 61 31 2c 4c 53 52 23 35 3a 80 |R0,data1,LSR#5:.| 00017790 20 52 30 2c 52 30 2c 23 33 31 3a 53 55 42 20 52 | R0,R0,#31:SUB R| 000177a0 30 2c 52 30 2c 23 31 3a 4d 4f 56 20 52 30 2c 52 |0,R0,#1:MOV R0,R| 000177b0 30 2c 4c 53 4c 23 35 0d 0c 78 44 20 4c 44 52 20 |0,LSL#5..xD LDR | 000177c0 52 31 2c 67 72 65 65 6e 5f 6d 61 73 6b 3a 42 49 |R1,green_mask:BI| 000177d0 43 20 52 31 2c 64 61 74 61 31 2c 52 31 3a 41 44 |C R1,data1,R1:AD| 000177e0 44 20 52 30 2c 52 30 2c 52 31 3a 4d 4f 56 20 52 |D R0,R0,R1:MOV R| 000177f0 30 2c 52 30 2c 4c 53 4c 23 31 36 0d 0c 79 23 20 |0,R0,LSL#16..y# | 00017800 41 44 44 20 52 30 2c 64 61 74 61 31 2c 52 30 3a |ADD R0,data1,R0:| 00017810 42 20 73 74 6f 72 65 5f 77 6f 72 64 73 32 0d 0c |B store_words2..| 00017820 7a 10 20 2e 6e 6f 5f 64 69 74 68 65 72 32 0d 0c |z. .no_dither2..| 00017830 7b 2e 20 4d 4f 56 20 64 61 74 61 32 2c 64 61 74 |{. MOV data2,dat| 00017840 61 31 2c 4c 53 4c 23 31 36 3a 41 44 44 20 52 30 |a1,LSL#16:ADD R0| 00017850 2c 64 61 74 61 31 2c 64 61 74 61 32 0d 0c 7c 12 |,data1,data2..|.| 00017860 20 2e 73 74 6f 72 65 5f 77 6f 72 64 73 32 0d 0c | .store_words2..| 00017870 7d 2c 20 53 54 52 20 52 30 2c 5b 62 61 73 65 31 |}, STR R0,[base1| 00017880 2c 6f 66 66 73 65 74 31 5d 3a 4d 4f 56 20 52 30 |,offset1]:MOV R0| 00017890 2c 52 30 2c 52 4f 52 23 31 36 0d 0c 7e 31 20 41 |,R0,ROR#16..~1 A| 000178a0 44 44 20 62 61 73 65 31 2c 62 61 73 65 31 2c 23 |DD base1,base1,#| 000178b0 31 32 38 30 3a 53 54 52 20 52 30 2c 5b 62 61 73 |1280:STR R0,[bas| 000178c0 65 31 2c 6f 66 66 73 65 74 31 5d 0d 0c 7f 31 20 |e1,offset1]...1 | 000178d0 53 55 42 20 62 61 73 65 31 2c 62 61 73 65 31 2c |SUB base1,base1,| 000178e0 23 31 32 38 30 3a 41 44 44 20 6f 66 66 73 65 74 |#1280:ADD offset| 000178f0 31 2c 6f 66 66 73 65 74 31 2c 23 34 0d 0c 80 42 |1,offset1,#4...B| 00017900 20 41 44 44 20 6f 66 66 73 65 74 32 2c 6f 66 66 | ADD offset2,off| 00017910 73 65 74 32 2c 23 34 3a 43 4d 50 20 6f 66 66 73 |set2,#4:CMP offs| 00017920 65 74 32 2c 23 36 34 30 3a 42 4e 45 20 64 65 63 |et2,#640:BNE dec| 00017930 6f 64 65 5f 70 73 63 61 6e 5f 6c 6f 6f 70 0d 0c |ode_pscan_loop..| 00017940 81 04 0d 0c 82 2f 20 41 44 44 20 62 61 73 65 32 |...../ ADD base2| 00017950 2c 62 61 73 65 32 2c 23 36 34 30 3a 41 44 44 20 |,base2,#640:ADD | 00017960 62 61 73 65 31 2c 62 61 73 65 31 2c 23 32 35 36 |base1,base1,#256| 00017970 30 0d 0c 83 4c 20 4d 4f 56 20 6f 66 66 73 65 74 |0...L MOV offset| 00017980 31 2c 23 30 3a 4d 4f 56 20 6f 66 66 73 65 74 32 |1,#0:MOV offset2| 00017990 2c 23 30 3a 53 55 42 53 20 6c 69 6e 65 73 2c 6c |,#0:SUBS lines,l| 000179a0 69 6e 65 73 2c 23 31 3a 42 4e 45 20 64 65 63 6f |ines,#1:BNE deco| 000179b0 64 65 5f 70 73 63 61 6e 5f 6c 6f 6f 70 0d 0c 84 |de_pscan_loop...| 000179c0 0f 20 4d 4f 56 20 50 43 2c 52 31 34 0d 0c 85 08 |. MOV PC,R14....| 000179d0 20 5d 3a ed 0d 0c 86 06 20 e1 0d 0c 87 04 0d 0c | ]:..... .......| 000179e0 88 11 20 dd 20 f2 74 65 73 74 5f 63 61 72 64 0d |.. . .test_card.| 000179f0 0c 89 33 20 e6 30 2c 30 2c 30 3a c8 93 20 c8 90 |..3 .0,0,0:.. ..| 00017a00 20 30 2c 30 2c 31 32 37 39 2c 31 30 32 34 3a e3 | 0,0,1279,1024:.| 00017a10 20 58 25 3d 34 30 20 b8 20 31 32 30 30 20 88 31 | X%=40 . 1200 .1| 00017a20 36 30 0d 0c 8a 26 20 e6 20 32 35 35 2c 32 35 35 |60...& . 255,255| 00017a30 2c 32 35 35 3a c8 93 20 c8 90 20 58 25 2c 30 2c |,255:.. .. X%,0,| 00017a40 37 38 2c 39 36 30 3a ed 0d 0c 8b 17 20 e3 20 59 |78,960:..... . Y| 00017a50 25 3d 33 32 20 b8 20 39 30 30 20 88 31 33 38 0d |%=32 . 900 .138.| 00017a60 0c 8c 19 20 c8 93 20 c8 90 20 30 2c 59 25 2c 31 |... .. .. 0,Y%,1| 00017a70 32 38 30 2c 36 34 3a ed 0d 0c 8d 27 20 e6 20 31 |280,64:....' . 1| 00017a80 32 38 2c 31 32 38 2c 31 32 38 3a c8 93 20 c8 90 |28,128,128:.. ..| 00017a90 20 34 38 2c 34 30 2c 31 31 38 32 2c 38 37 36 0d | 48,40,1182,876.| 00017aa0 0c 8e 26 20 e6 20 32 35 35 2c 32 35 35 2c 32 35 |..& . 255,255,25| 00017ab0 35 3a e3 20 58 25 3d 31 31 36 20 b8 20 31 31 36 |5:. X%=116 . 116| 00017ac0 32 20 88 38 30 0d 0c 8f 18 20 c8 93 20 c8 90 20 |2 .80.... .. .. | 00017ad0 58 25 2c 34 30 2c 36 2c 38 38 30 3a ed 0d 0c 90 |X%,40,6,880:....| 00017ae0 2b 20 e3 20 59 25 3d 39 34 20 b8 20 38 36 30 20 |+ . Y%=94 . 860 | 00017af0 88 36 39 3a c8 93 20 c8 90 20 34 30 2c 59 25 2c |.69:.. .. 40,Y%,| 00017b00 31 31 39 38 2c 36 3a ed 0d 0c 91 09 20 f7 20 2b |1198,6:..... . +| 00017b10 30 0d 0c 92 24 20 e3 20 58 25 3d 31 32 34 20 b8 |0...$ . X%=124 .| 00017b20 20 31 30 32 32 20 88 31 32 38 3a f3 20 72 25 2c | 1022 .128:. r%,| 00017b30 67 25 2c 62 25 0d 0c 93 26 20 e6 20 72 25 2c 67 |g%,b%...& . r%,g| 00017b40 25 2c 62 25 3a c8 93 20 c8 90 20 58 25 2c 34 34 |%,b%:.. .. X%,44| 00017b50 36 2c 31 33 34 2c 31 39 38 3a ed 0d 0c 94 24 20 |6,134,198:....$ | 00017b60 e6 20 32 35 35 2c 32 35 35 2c 32 35 35 3a 86 20 |. 255,255,255:. | 00017b70 31 32 34 2c 34 34 38 2c 31 32 34 2c 36 34 34 0d |124,448,124,644.| 00017b80 0c 95 28 20 67 25 3d 36 3a e3 20 58 25 3d 31 32 |..( g%=6:. X%=12| 00017b90 36 20 b8 20 31 31 34 30 20 88 33 32 3a e6 20 67 |6 . 1140 .32:. g| 00017ba0 25 2c 67 25 2c 67 25 0d 0c 96 34 20 c8 93 20 c8 |%,g%,g%...4 .. .| 00017bb0 90 20 58 25 2c 36 35 34 2c 33 36 2c 31 32 38 3a |. X%,654,36,128:| 00017bc0 67 25 2b 3d 38 3a ed 3a 86 20 31 31 35 32 2c 36 |g%+=8:.:. 1152,6| 00017bd0 35 36 2c 31 31 35 32 2c 37 39 30 0d 0c 97 1e 20 |56,1152,790.... | 00017be0 e6 20 30 2c 30 2c 30 3a 86 20 31 32 34 2c 36 35 |. 0,0,0:. 124,65| 00017bf0 36 2c 31 32 34 2c 37 38 32 0d 0c 98 16 20 72 25 |6,124,782.... r%| 00017c00 3d 38 30 3a 67 25 3d 30 3a 62 25 3d 31 35 36 0d |=80:g%=0:b%=156.| 00017c10 0c 99 31 20 e3 20 59 25 3d 37 39 32 20 b8 20 38 |..1 . Y%=792 . 8| 00017c20 35 34 20 88 32 3a e6 20 72 25 2c 67 25 2c 62 25 |54 .2:. r%,g%,b%| 00017c30 3a 86 20 33 36 34 2c 59 25 2c 39 31 34 2c 59 25 |:. 364,Y%,914,Y%| 00017c40 0d 0c 9a 18 20 72 25 2b 3d 33 3a 67 25 2b 3d 33 |.... r%+=3:g%+=3| 00017c50 3a 62 25 2b 3d 33 3a ed 0d 0c 9b 31 20 e3 20 59 |:b%+=3:....1 . Y| 00017c60 25 3d 38 35 36 20 b8 20 39 31 36 20 88 32 3a e6 |%=856 . 916 .2:.| 00017c70 20 72 25 2c 67 25 2c 62 25 3a 86 20 33 36 34 2c | r%,g%,b%:. 364,| 00017c80 59 25 2c 39 31 34 2c 59 25 0d 0c 9c 18 20 72 25 |Y%,914,Y%.... r%| 00017c90 2d 3d 33 3a 67 25 2d 3d 33 3a 62 25 2d 3d 33 3a |-=3:g%-=3:b%-=3:| 00017ca0 ed 0d 0c 9d 42 20 57 25 3d a4 74 65 78 74 5f 77 |....B W%=.text_w| 00017cb0 69 64 74 68 28 22 48 6f 6d 65 72 74 6f 6e 2e 42 |idth("Homerton.B| 00017cc0 6f 6c 64 22 2c 63 61 6c 6c 24 2c 35 34 2c 34 36 |old",call$,54,46| 00017cd0 29 3a 58 25 3d 33 36 34 2b 28 35 34 38 2d 57 25 |):X%=364+(548-W%| 00017ce0 29 2f 32 0d 0c 9e 34 20 f2 77 72 69 74 65 28 22 |)/2...4 .write("| 00017cf0 48 6f 6d 65 72 74 6f 6e 2e 42 6f 6c 64 22 2c 63 |Homerton.Bold",c| 00017d00 61 6c 6c 24 2c 58 25 2b 31 30 2c 38 30 38 2c 35 |all$,X%+10,808,5| 00017d10 34 2c 34 36 2c 30 29 0d 0c 9f 31 20 f2 77 72 69 |4,46,0)...1 .wri| 00017d20 74 65 28 22 48 6f 6d 65 72 74 6f 6e 2e 42 6f 6c |te("Homerton.Bol| 00017d30 64 22 2c 63 61 6c 6c 24 2c 58 25 2c 38 31 38 2c |d",call$,X%,818,| 00017d40 35 34 2c 34 36 2c 31 29 0d 0c a0 31 20 e6 20 30 |54,46,1)...1 . 0| 00017d50 2c 30 2c 30 3a c8 93 20 c8 90 20 31 32 34 2c 32 |,0,0:.. .. 124,2| 00017d60 34 30 2c 31 30 33 30 2c 31 32 38 3a e6 20 32 35 |40,1030,128:. 25| 00017d70 35 2c 32 35 35 2c 32 35 35 0d 0c a1 2d 20 e3 20 |5,255,255...- . | 00017d80 58 25 3d 31 35 32 20 b8 20 35 30 30 20 88 36 34 |X%=152 . 500 .64| 00017d90 3a c8 93 20 c8 90 20 58 25 2c 32 34 30 2c 33 30 |:.. .. X%,240,30| 00017da0 2c 31 32 38 3a ed 0d 0c a2 2d 20 e3 20 58 25 3d |,128:....- . X%=| 00017db0 35 32 34 20 b8 20 38 34 34 20 88 33 32 3a c8 93 |524 . 844 .32:..| 00017dc0 20 c8 90 20 58 25 2c 32 34 30 2c 31 34 2c 31 32 | .. X%,240,14,12| 00017dd0 38 3a ed 0d 0c a3 2d 20 e3 20 58 25 3d 38 36 38 |8:....- . X%=868| 00017de0 20 b8 20 31 31 35 30 20 88 31 36 3a c8 93 20 c8 | . 1150 .16:.. .| 00017df0 90 20 58 25 2c 32 34 30 2c 36 2c 31 32 38 3a ed |. X%,240,6,128:.| 00017e00 0d 0c a4 2a 20 67 25 3d 32 35 34 3a e3 20 58 25 |...* g%=254:. X%| 00017e10 3d 31 32 34 20 b8 20 31 31 34 30 20 88 33 32 3a |=124 . 1140 .32:| 00017e20 e6 20 67 25 2c 67 25 2c 67 25 0d 0c a5 20 20 c8 |. g%,g%,g%... .| 00017e30 93 20 c8 90 20 58 25 2c 31 30 32 2c 33 38 2c 31 |. .. X%,102,38,1| 00017e40 32 38 3a 67 25 2d 3d 38 3a ed 0d 0c a6 21 20 e6 |28:g%-=8:....! .| 00017e50 20 30 2c 30 2c 30 3a c8 93 20 c8 90 20 31 31 35 | 0,0,0:.. .. 115| 00017e60 30 2c 31 30 34 2c 32 2c 31 32 36 0d 0c a7 21 20 |0,104,2,126...! | 00017e70 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 3a f2 |.upload_memory:.| 00017e80 74 6f 70 73 63 61 6c 65 32 28 30 29 0d 0c a8 38 |topscale2(0)...8| 00017e90 20 dc 20 32 35 35 2c 32 35 35 2c 32 35 35 2c 32 | . 255,255,255,2| 00017ea0 35 35 2c 32 35 35 2c 30 2c 30 2c 32 35 35 2c 32 |55,255,0,0,255,2| 00017eb0 35 35 2c 30 2c 32 35 35 2c 30 2c 32 35 35 2c 30 |55,0,255,0,255,0| 00017ec0 2c 32 35 35 0d 0c a9 1c 20 dc 20 32 35 35 2c 30 |,255.... . 255,0| 00017ed0 2c 30 2c 30 2c 30 2c 32 35 35 2c 30 2c 30 2c 30 |,0,0,0,255,0,0,0| 00017ee0 0d 0c aa 06 20 e1 0d 0c ab 04 0d 0c ac 17 20 dd |.... ......... .| 00017ef0 20 f2 66 61 78 5f 68 65 61 64 65 72 28 62 77 25 | .fax_header(bw%| 00017f00 29 0d 0c ad 28 20 f2 64 69 73 70 6c 61 79 5f 6d |)...( .display_m| 00017f10 65 6d 6f 72 79 3a ef 32 33 2c 31 37 2c 37 2c 36 |emory:.23,17,7,6| 00017f20 2c 31 36 3b 31 36 3b 30 3b 0d 0c ae 26 20 e6 20 |,16;16;0;...& . | 00017f30 32 35 35 2c 32 35 35 2c 32 35 35 3a c8 93 20 c8 |255,255,255:.. .| 00017f40 90 20 30 2c 39 36 30 2c 31 32 38 30 2c 36 34 0d |. 0,960,1280,64.| 00017f50 0c af 0e 20 e7 20 ac 20 62 77 25 20 8c 0d 0c b0 |... . . bw% ....| 00017f60 21 20 e6 20 32 35 35 2c 30 2c 30 3a c8 93 20 c8 |! . 255,0,0:.. .| 00017f70 90 20 36 34 2c 39 36 38 2c 36 34 2c 34 38 0d 0c |. 64,968,64,48..| 00017f80 b1 22 20 e6 20 30 2c 32 35 35 2c 30 3a c8 93 20 |." . 0,255,0:.. | 00017f90 c8 90 20 31 32 38 2c 39 36 38 2c 36 34 2c 34 38 |.. 128,968,64,48| 00017fa0 0d 0c b2 22 20 e6 20 30 2c 30 2c 32 35 35 3a c8 |..." . 0,0,255:.| 00017fb0 93 20 c8 90 20 31 39 32 2c 39 36 38 2c 36 34 2c |. .. 192,968,64,| 00017fc0 34 38 0d 0c b3 1e 20 e6 20 30 2c 30 2c 30 3a ef |48.... . 0,0,0:.| 00017fd0 35 3a ec 20 38 30 2c 31 30 30 34 3a f1 22 52 22 |5:. 80,1004:."R"| 00017fe0 0d 0c b4 14 20 ec 20 31 34 34 2c 31 30 30 34 3a |.... . 144,1004:| 00017ff0 f1 22 47 22 0d 0c b5 14 20 ec 20 32 30 38 2c 31 |."G".... . 208,1| 00018000 30 30 34 3a f1 22 42 22 0d 0c b6 40 20 f2 77 72 |004:."B"...@ .wr| 00018010 69 74 65 28 22 48 6f 6d 65 72 74 6f 6e 2e 42 6f |ite("Homerton.Bo| 00018020 6c 64 22 2c 63 61 6c 6c 24 2b 22 20 63 6f 6c 6f |ld",call$+" colo| 00018030 75 72 20 46 41 58 22 2c 35 37 30 2c 39 37 36 2c |ur FAX",570,976,| 00018040 31 36 2c 32 30 2c 32 29 0d 0c b7 06 20 cc 0d 0c |16,20,2).... ...| 00018050 b8 3e 20 f2 77 72 69 74 65 28 22 48 6f 6d 65 72 |.> .write("Homer| 00018060 74 6f 6e 2e 42 6f 6c 64 22 2c 63 61 6c 6c 24 2b |ton.Bold",call$+| 00018070 22 20 6d 6f 6e 6f 20 46 41 58 22 2c 35 37 30 2c |" mono FAX",570,| 00018080 39 37 36 2c 31 36 2c 32 30 2c 32 29 0d 0c b9 1f |976,16,20,2)....| 00018090 20 e6 20 30 2c 30 2c 30 3a e3 20 58 25 3d 36 34 | . 0,0,0:. X%=64| 000180a0 20 b8 20 32 35 32 20 88 20 31 36 0d 0c ba 18 20 | . 252 . 16.... | 000180b0 c8 93 20 c8 90 20 58 25 2c 39 36 38 2c 36 2c 34 |.. .. X%,968,6,4| 000180c0 38 3a ed 0d 0c bb 15 20 c8 93 20 36 34 2c 39 36 |8:..... .. 64,96| 000180d0 38 2c 31 38 32 2c 34 38 0d 0c bc 06 20 cd 0d 0c |8,182,48.... ...| 000180e0 bd 43 20 f2 77 72 69 74 65 28 22 48 6f 6d 65 72 |.C .write("Homer| 000180f0 74 6f 6e 2e 42 6f 6c 64 22 2c c1 91 24 2c 35 2c |ton.Bold",..$,5,| 00018100 36 29 2b 22 27 22 2b c1 91 24 2c 31 34 2c 32 29 |6)+"'"+..$,14,2)| 00018110 2c 39 37 30 2c 39 37 36 2c 31 36 2c 32 30 2c 32 |,970,976,16,20,2| 00018120 29 0d 0c be 3c 20 c8 99 20 73 70 72 73 77 69 25 |)...< .. sprswi%| 00018130 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 61 63 |,256+52,spb%,"ac| 00018140 6f 72 6e 32 22 2c 31 31 39 36 2c 39 36 30 2c 38 |orn2",1196,960,8| 00018150 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 0c bf |,0,translate%...| 00018160 11 20 ef 34 3a 87 3a c8 96 3a 67 25 3d 30 0d 0c |. .4:.:..:g%=0..| 00018170 c0 16 20 e3 20 58 25 3d 32 38 30 20 b8 20 35 32 |.. . X%=280 . 52| 00018180 38 20 88 38 0d 0c c1 21 20 e6 20 67 25 2c 67 25 |8 .8...! . g%,g%| 00018190 2c 67 25 3a c8 93 20 c8 90 20 58 25 2c 39 36 38 |,g%:.. .. X%,968| 000181a0 2c 38 2c 34 38 0d 0c c2 0c 20 67 25 2b 3d 38 3a |,8,48.... g%+=8:| 000181b0 ed 0d 0c c3 30 20 e6 20 30 2c 30 2c 30 3a c8 93 |....0 . 0,0,0:..| 000181c0 20 32 37 38 2c 39 36 36 2c 32 35 38 2c 35 32 3a | 278,966,258,52:| 000181d0 c8 93 20 32 37 36 2c 39 36 34 2c 32 36 32 2c 35 |.. 276,964,262,5| 000181e0 36 0d 0c c4 16 20 ef 32 33 2c 31 37 2c 37 2c 36 |6.... .23,17,7,6| 000181f0 2c 38 3b 38 3b 30 3b 0d 0c c5 0c 20 f2 75 70 6d |,8;8;0;.... .upm| 00018200 69 6e 69 0d 0c c6 06 20 e1 0d 0c c7 04 0d 0c c8 |ini.... ........| 00018210 1c 20 dd 20 f2 67 72 61 62 5f 72 65 63 74 61 6e |. . .grab_rectan| 00018220 67 6c 65 28 61 6c 6c 25 29 0d 0c c9 24 20 f2 64 |gle(all%)...$ .d| 00018230 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 3a f2 77 |isplay_memory:.w| 00018240 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 0c ca |ait_no_button...| 00018250 0d 20 e7 20 61 6c 6c 25 20 8c 0d 0c cb 3a 20 58 |. . all% ....: X| 00018260 3d 31 32 38 30 3a 59 3d 30 3a 58 31 3d 30 3a 59 |=1280:Y=0:X1=0:Y| 00018270 31 3d 31 30 32 34 3a 70 6c 6f 74 5f 62 6f 72 64 |1=1024:plot_bord| 00018280 65 72 25 3d 30 3a 70 6c 6f 74 5f 73 68 61 64 6f |er%=0:plot_shado| 00018290 77 25 3d 30 0d 0c cc 06 20 cc 0d 0c cd 1b 20 f2 |w%=0.... ..... .| 000182a0 67 72 61 62 5f 72 65 63 74 61 6e 67 6c 65 5f 63 |grab_rectangle_c| 000182b0 75 72 73 6f 72 0d 0c ce 06 20 cd 0d 0c cf 16 20 |ursor.... ..... | 000182c0 47 57 25 3d 58 2d 58 31 3a 47 48 25 3d 59 31 2d |GW%=X-X1:GH%=Y1-| 000182d0 59 0d 0c d0 1d 20 41 25 3d 28 28 31 30 32 34 2d |Y.... A%=((1024-| 000182e0 59 31 29 81 32 29 2a 31 32 38 30 2b 58 31 0d 0c |Y1).2)*1280+X1..| 000182f0 d1 10 20 41 25 3d 41 25 2d 41 25 20 83 34 0d 0c |.. A%=A%-A% .4..| 00018300 d2 19 20 41 25 3d 41 25 2b 28 6d 65 6d 62 6c 6f |.. A%=A%+(memblo| 00018310 63 6b 25 2b 32 30 29 0d 0c d3 1a 20 47 4c 25 3d |ck%+20).... GL%=| 00018320 28 59 31 2d 59 29 81 32 3a 47 42 25 3d 58 2d 58 |(Y1-Y).2:GB%=X-X| 00018330 31 0d 0c d4 37 20 21 73 6f 75 72 63 65 5f 73 74 |1...7 !source_st| 00018340 61 72 74 3d 41 25 3a 21 6e 75 6d 5f 6c 69 6e 65 |art=A%:!num_line| 00018350 73 3d 47 4c 25 2b 34 3a 21 6e 75 6d 5f 62 79 74 |s=GL%+4:!num_byt| 00018360 65 73 3d 47 42 25 2b 38 0d 0c d5 0d 20 f2 64 69 |es=GB%+8.... .di| 00018370 73 6d 69 6e 69 0d 0c d6 06 20 e1 0d 0c d7 04 0d |smini.... ......| 00018380 0c d8 1d 20 dd 20 f2 67 72 61 62 5f 72 65 63 74 |... . .grab_rect| 00018390 61 6e 67 6c 65 5f 63 75 72 73 6f 72 0d 0c d9 20 |angle_cursor... | 000183a0 20 f5 3a c8 97 20 58 2c 59 2c 42 3a fd 20 42 3c | .:.. X,Y,B:. B<| 000183b0 3e 30 3a 58 31 3d 58 3a 59 31 3d 59 0d 0c da 0c |>0:X1=X:Y1=Y....| 000183c0 20 e7 20 42 3d 34 20 8c 0d 0c db 14 20 f2 77 61 | . B=4 ..... .wa| 000183d0 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 0c dc 19 |it_no_button....| 000183e0 20 e6 33 2c 36 33 20 c8 9c 30 3a f5 3a c8 97 20 | .3,63 ..0:.:.. | 000183f0 58 2c 59 2c 42 0d 0c dd 17 20 c8 93 20 58 31 2c |X,Y,B.... .. X1,| 00018400 59 31 2c 58 2d 58 31 2c 59 2d 59 31 0d 0c de 23 |Y1,X-X1,Y-Y1...#| 00018410 20 f5 3a c8 97 20 78 2c 79 2c 62 3a fd 20 78 3c | .:.. x,y,b:. x<| 00018420 3e 58 20 84 20 79 3c 3e 59 20 84 20 62 3d 34 0d |>X . y<>Y . b=4.| 00018430 0c df 17 20 c8 93 20 58 31 2c 59 31 2c 58 2d 58 |... .. X1,Y1,X-X| 00018440 31 2c 59 2d 59 31 0d 0c e0 10 20 fd 20 42 3d 34 |1,Y-Y1.... . B=4| 00018450 20 84 20 62 3d 34 0d 0c e1 17 20 c8 93 20 58 31 | . b=4.... .. X1| 00018460 2c 59 31 2c 58 2d 58 31 2c 59 2d 59 31 0d 0c e2 |,Y1,X-X1,Y-Y1...| 00018470 15 20 e7 20 58 3c 58 31 20 8c 20 c8 94 20 58 2c |. . X<X1 . .. X,| 00018480 58 31 0d 0c e3 15 20 e7 20 59 31 3c 59 20 8c 20 |X1.... . Y1<Y . | 00018490 c8 94 20 59 31 2c 59 0d 0c e4 06 20 cd 0d 0c e5 |.. Y1,Y.... ....| 000184a0 06 20 e1 0d 0c e6 04 0d 0c e7 19 20 dd 20 f2 67 |. ......... . .g| 000184b0 72 61 62 5f 71 75 61 72 74 65 72 5f 61 72 65 61 |rab_quarter_area| 000184c0 0d 0c e8 1e 20 58 31 3d 33 32 30 3a 59 31 3d 37 |.... X1=320:Y1=7| 000184d0 36 36 3a 58 3d 39 36 30 3a 59 3d 32 38 38 0d 0c |66:X=960:Y=288..| 000184e0 e9 2f 20 47 57 25 3d 58 2d 58 31 3a 47 48 25 3d |./ GW%=X-X1:GH%=| 000184f0 59 31 2d 59 3a 41 25 3d 28 28 31 30 32 34 2d 59 |Y1-Y:A%=((1024-Y| 00018500 31 29 81 32 29 2a 31 32 38 30 2b 58 31 0d 0c ea |1).2)*1280+X1...| 00018510 25 20 41 25 3d 41 25 2d 41 25 20 83 34 3a 41 25 |% A%=A%-A% .4:A%| 00018520 3d 41 25 2b 28 6d 65 6d 62 6c 6f 63 6b 25 2b 32 |=A%+(memblock%+2| 00018530 30 29 0d 0c eb 1a 20 47 4c 25 3d 28 59 31 2d 59 |0).... GL%=(Y1-Y| 00018540 29 81 32 3a 47 42 25 3d 58 2d 58 31 0d 0c ec 37 |).2:GB%=X-X1...7| 00018550 20 21 73 6f 75 72 63 65 5f 73 74 61 72 74 3d 41 | !source_start=A| 00018560 25 3a 21 6e 75 6d 5f 6c 69 6e 65 73 3d 47 4c 25 |%:!num_lines=GL%| 00018570 2b 34 3a 21 6e 75 6d 5f 62 79 74 65 73 3d 47 42 |+4:!num_bytes=GB| 00018580 25 2b 38 0d 0c ed 22 20 70 6c 6f 74 5f 62 6f 72 |%+8..." plot_bor| 00018590 64 65 72 25 3d 30 3a 70 6c 6f 74 5f 73 68 61 64 |der%=0:plot_shad| 000185a0 6f 77 25 3d 30 0d 0c ee 06 20 e1 0d 0c ef 04 0d |ow%=0.... ......| 000185b0 0c f0 21 20 dd 20 f2 70 6c 6f 74 5f 67 72 61 62 |..! . .plot_grab| 000185c0 62 65 64 5f 61 72 65 61 28 66 6c 69 70 78 25 29 |bed_area(flipx%)| 000185d0 0d 0c f1 11 20 e7 20 66 6c 69 70 78 25 3d 31 20 |.... . flipx%=1 | 000185e0 8c 0d 0c f2 43 20 20 21 6e 75 6d 5f 6c 69 6e 65 |....C !num_line| 000185f0 73 3d 35 31 32 3a 21 6e 75 6d 5f 62 79 74 65 73 |s=512:!num_bytes| 00018600 3d 31 32 38 30 3a 21 64 65 73 74 5f 73 74 61 72 |=1280:!dest_star| 00018610 74 3d 73 63 72 65 65 6e 25 3a d6 20 67 65 74 5f |t=screen%:. get_| 00018620 61 72 65 61 0d 0c f3 07 20 20 cc 0d 0c f4 17 20 |area.... ..... | 00018630 20 e7 20 47 57 25 3d 30 20 84 20 47 48 25 3d 30 | . GW%=0 . GH%=0| 00018640 20 8c 0d 0c f5 16 20 20 20 f2 64 69 73 70 6c 61 | ..... .displa| 00018650 79 5f 6d 65 6d 6f 72 79 0d 0c f6 08 20 20 20 cc |y_memory.... .| 00018660 0d 0c f7 2f 20 20 20 f2 64 69 73 70 6c 61 79 5f |.../ .display_| 00018670 6d 65 6d 6f 72 79 3a f2 77 61 69 74 5f 6e 6f 5f |memory:.wait_no_| 00018680 62 75 74 74 6f 6e 3a c8 97 20 58 2c 59 2c 42 0d |button:.. X,Y,B.| 00018690 0c f8 1e 20 20 20 e6 20 33 2c 36 33 3a c8 93 20 |... . 3,63:.. | 000186a0 58 2c 59 2c 47 57 25 2c 47 48 25 3a f5 0d 0c f9 |X,Y,GW%,GH%:....| 000186b0 2a 20 20 20 f5 3a c8 97 20 58 31 2c 59 31 2c 42 |* .:.. X1,Y1,B| 000186c0 3a fd 20 58 3c 3e 58 31 20 84 20 59 3c 3e 59 31 |:. X<>X1 . Y<>Y1| 000186d0 20 84 20 42 3c 3e 30 0d 0c fa 26 20 20 20 c8 93 | . B<>0...& ..| 000186e0 20 58 2c 59 2c 47 57 25 2c 47 48 25 3a c8 93 20 | X,Y,GW%,GH%:.. | 000186f0 58 31 2c 59 31 2c 47 57 25 2c 47 48 25 0d 0c fb |X1,Y1,GW%,GH%...| 00018700 17 20 20 20 58 3d 58 31 3a 59 3d 59 31 3a fd 20 |. X=X1:Y=Y1:. | 00018710 42 3c 3e 30 0d 0c fc 0f 20 20 20 e7 20 42 3c 3e |B<>0.... . B<>| 00018720 34 20 8c 0d 0c fd 17 20 20 20 20 f2 64 69 73 70 |4 ..... .disp| 00018730 6c 61 79 5f 6d 65 6d 6f 72 79 0d 0c fe 09 20 20 |lay_memory.... | 00018740 20 20 cc 0d 0c ff 17 20 20 20 20 f2 64 69 73 70 | ..... .disp| 00018750 6c 61 79 5f 6d 65 6d 6f 72 79 0d 0d 00 1c 20 20 |lay_memory.... | 00018760 20 20 c8 95 20 58 2f 34 3c 3e 58 20 81 20 34 3a | .. X/4<>X . 4:| 00018770 58 2b 3d 31 3a ce 0d 0d 01 26 20 20 20 20 59 3d |X+=1:....& Y=| 00018780 59 2b 47 48 25 3a 41 25 3d 28 28 31 30 32 34 2d |Y+GH%:A%=((1024-| 00018790 59 29 81 32 29 2a 31 32 38 30 2b 58 0d 0d 02 29 |Y).2)*1280+X...)| 000187a0 20 20 20 20 e7 20 70 6c 6f 74 5f 73 68 61 64 6f | . plot_shado| 000187b0 77 25 3d 31 20 f2 67 72 61 64 61 74 65 64 5f 73 |w%=1 .gradated_s| 000187c0 68 61 64 6f 77 0d 0d 03 4d 20 20 20 20 e7 20 70 |hadow...M . p| 000187d0 6c 6f 74 5f 62 6f 72 64 65 72 25 3d 31 20 f2 70 |lot_border%=1 .p| 000187e0 6c 69 6e 74 68 28 58 31 2d 32 30 2c 59 31 2d 32 |linth(X1-20,Y1-2| 000187f0 30 2c 47 57 25 2b 34 34 2c 47 48 25 2b 34 30 2c |0,GW%+44,GH%+40,| 00018800 33 32 2c 70 62 72 25 2c 70 62 67 25 2c 70 62 62 |32,pbr%,pbg%,pbb| 00018810 25 29 0d 0d 04 5d 20 20 20 20 e7 20 70 6c 6f 74 |%)...] . plot| 00018820 5f 62 6f 72 64 65 72 25 3d 32 20 f2 70 6c 69 6e |_border%=2 .plin| 00018830 74 68 32 28 58 31 2d 33 30 2c 59 31 2d 33 30 2c |th2(X1-30,Y1-30,| 00018840 47 57 25 2b 36 34 2c 47 48 25 2b 36 30 2c 70 62 |GW%+64,GH%+60,pb| 00018850 72 25 2c 70 62 67 25 2c 70 62 62 25 2c 70 62 72 |r%,pbg%,pbb%,pbr| 00018860 69 25 2c 70 62 67 69 25 2c 70 62 62 69 25 29 0d |i%,pbgi%,pbbi%).| 00018870 0d 05 09 20 20 20 20 cd 0d 0d 06 3c 20 20 20 20 |... ....< | 00018880 21 6e 75 6d 5f 6c 69 6e 65 73 3d 47 4c 25 3a 21 |!num_lines=GL%:!| 00018890 6e 75 6d 5f 62 79 74 65 73 3d 47 42 25 3a 21 64 |num_bytes=GB%:!d| 000188a0 65 73 74 5f 73 74 61 72 74 3d 73 63 72 65 65 6e |est_start=screen| 000188b0 25 2b 41 25 0d 0d 07 30 20 20 20 20 e7 20 66 6c |%+A%...0 . fl| 000188c0 69 70 78 25 20 8c 20 d6 20 67 65 74 5f 61 72 65 |ipx% . . get_are| 000188d0 61 5f 66 6c 69 70 78 20 8b 20 d6 20 67 65 74 5f |a_flipx . . get_| 000188e0 61 72 65 61 0d 0d 08 08 20 20 20 cd 0d 0d 09 07 |area.... .....| 000188f0 20 20 cd 0d 0d 0a 06 20 cd 0d 0d 0b 0c 20 f2 75 | ..... ..... .u| 00018900 70 6d 69 6e 69 0d 0d 0c 06 20 e1 0d 0d 0d 04 0d |pmini.... ......| 00018910 0d 0e 17 20 dd 20 f2 67 72 61 64 61 74 65 64 5f |... . .gradated_| 00018920 73 68 61 64 6f 77 0d 0d 0f 46 20 21 72 65 64 5f |shadow...F !red_| 00018930 61 64 64 72 65 73 73 3d 72 65 64 64 61 74 61 3a |address=reddata:| 00018940 21 67 72 65 65 6e 5f 61 64 64 72 65 73 73 3d 67 |!green_address=g| 00018950 72 6e 64 61 74 61 3a 21 62 6c 75 65 5f 61 64 64 |rndata:!blue_add| 00018960 72 65 73 73 3d 62 6c 75 64 61 74 61 0d 0d 10 2e |ress=bludata....| 00018970 20 21 70 69 63 70 72 6f 5f 6c 69 6e 65 73 3d 47 | !picpro_lines=G| 00018980 4c 25 2b 32 30 3a 21 70 69 63 70 72 6f 5f 62 79 |L%+20:!picpro_by| 00018990 74 65 73 3d 47 42 25 2b 32 34 0d 0d 11 29 20 21 |tes=GB%+24...) !| 000189a0 73 74 61 72 74 5f 61 64 64 72 65 73 73 3d 73 63 |start_address=sc| 000189b0 72 65 65 6e 25 2b 41 25 2b 32 38 2b 31 32 38 30 |reen%+A%+28+1280| 000189c0 2a 31 32 0d 0d 12 10 20 e3 20 4e 25 3d 30 20 b8 |*12.... . N%=0 .| 000189d0 20 33 31 0d 0d 13 33 20 72 65 64 64 61 74 61 3f | 31...3 reddata?| 000189e0 4e 25 3d 4e 25 2d 32 3a e7 20 72 65 64 64 61 74 |N%=N%-2:. reddat| 000189f0 61 3f 4e 25 3e 33 31 20 8c 20 72 65 64 64 61 74 |a?N%>31 . reddat| 00018a00 61 3f 4e 25 3d 30 0d 0d 14 33 20 67 72 6e 64 61 |a?N%=0...3 grnda| 00018a10 74 61 3f 4e 25 3d 4e 25 2d 32 3a e7 20 67 72 6e |ta?N%=N%-2:. grn| 00018a20 64 61 74 61 3f 4e 25 3e 33 31 20 8c 20 67 72 6e |data?N%>31 . grn| 00018a30 64 61 74 61 3f 4e 25 3d 30 0d 0d 15 33 20 62 6c |data?N%=0...3 bl| 00018a40 75 64 61 74 61 3f 4e 25 3d 4e 25 2d 32 3a e7 20 |udata?N%=N%-2:. | 00018a50 62 6c 75 64 61 74 61 3f 4e 25 3e 33 31 20 8c 20 |bludata?N%>31 . | 00018a60 62 6c 75 64 61 74 61 3f 4e 25 3d 30 0d 0d 16 06 |bludata?N%=0....| 00018a70 20 ed 0d 0d 17 22 20 e3 20 4e 25 3d 31 20 b8 20 | ...." . N%=1 . | 00018a80 31 30 3a d6 20 70 69 63 74 75 72 65 5f 70 72 6f |10:. picture_pro| 00018a90 63 65 73 73 0d 0d 18 2b 20 21 73 74 61 72 74 5f |cess...+ !start_| 00018aa0 61 64 64 72 65 73 73 3d 28 21 73 74 61 72 74 5f |address=(!start_| 00018ab0 61 64 64 72 65 73 73 29 2d 32 35 36 34 3a ed 0d |address)-2564:..| 00018ac0 0d 19 06 20 e1 0d 0d 1a 04 0d 0d 1b 13 20 dd 20 |... ......... . | 00018ad0 f2 73 63 72 65 65 6e 5f 66 61 64 65 0d 0d 1c 14 |.screen_fade....| 00018ae0 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 | .display_memory| 00018af0 0d 0d 1d 46 20 21 72 65 64 5f 61 64 64 72 65 73 |...F !red_addres| 00018b00 73 3d 72 65 64 64 61 74 61 3a 21 67 72 65 65 6e |s=reddata:!green| 00018b10 5f 61 64 64 72 65 73 73 3d 67 72 6e 64 61 74 61 |_address=grndata| 00018b20 3a 21 62 6c 75 65 5f 61 64 64 72 65 73 73 3d 62 |:!blue_address=b| 00018b30 6c 75 64 61 74 61 0d 0d 1e 42 20 e3 20 4e 25 3d |ludata...B . N%=| 00018b40 31 20 b8 20 33 31 3a 72 65 64 64 61 74 61 3f 4e |1 . 31:reddata?N| 00018b50 25 3d 4e 25 2d 31 3a 67 72 6e 64 61 74 61 3f 4e |%=N%-1:grndata?N| 00018b60 25 3d 4e 25 2d 31 3a 62 6c 75 64 61 74 61 3f 4e |%=N%-1:bludata?N| 00018b70 25 3d 4e 25 2d 31 3a ed 0d 0d 1f 28 20 72 65 64 |%=N%-1:....( red| 00018b80 64 61 74 61 3f 30 3d 30 3a 67 72 6e 64 61 74 61 |data?0=0:grndata| 00018b90 3f 30 3d 30 3a 62 6c 75 64 61 74 61 3f 30 3d 30 |?0=0:bludata?0=0| 00018ba0 0d 0d 20 23 20 4c 25 3d 35 31 32 3a 21 70 69 63 |.. # L%=512:!pic| 00018bb0 70 72 6f 5f 62 79 74 65 73 3d 31 32 38 30 3a 4f |pro_bytes=1280:O| 00018bc0 25 3d 30 0d 0d 21 10 20 e3 20 4e 25 3d 31 20 b8 |%=0..!. . N%=1 .| 00018bd0 20 31 36 0d 0d 22 41 20 21 70 69 63 70 72 6f 5f | 16.."A !picpro_| 00018be0 6c 69 6e 65 73 3d 4c 25 3a 21 73 74 61 72 74 5f |lines=L%:!start_| 00018bf0 61 64 64 72 65 73 73 3d 73 63 72 65 65 6e 25 2b |address=screen%+| 00018c00 4f 25 3a d6 20 70 69 63 74 75 72 65 5f 70 72 6f |O%:. picture_pro| 00018c10 63 65 73 73 0d 0d 23 17 20 4c 25 2d 3d 33 32 3a |cess..#. L%-=32:| 00018c20 4f 25 2b 3d 34 30 39 36 30 3a ed 0d 0d 24 15 20 |O%+=40960:...$. | 00018c30 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 3a e1 |.upload_memory:.| 00018c40 0d 0d 25 04 0d 0d 26 19 20 dd 20 f2 67 65 74 5f |..%...&. . .get_| 00018c50 61 72 65 61 5f 61 73 73 65 6d 62 6c 65 0d 0d 27 |area_assemble..'| 00018c60 13 20 de 20 67 65 74 5f 63 6f 64 65 20 33 32 30 |. . get_code 320| 00018c70 0d 0d 28 49 20 62 61 73 65 31 3d 34 3a 62 61 73 |..(I base1=4:bas| 00018c80 65 32 3d 35 3a 6f 66 66 73 65 74 3d 36 3a 6c 69 |e2=5:offset=6:li| 00018c90 6e 65 73 3d 37 3a 62 79 74 65 73 3d 38 3a 64 61 |nes=7:bytes=8:da| 00018ca0 74 61 3d 39 3a 63 6c 65 61 72 3d 31 30 3a 73 68 |ta=9:clear=10:sh| 00018cb0 61 64 74 79 70 65 3d 31 31 0d 0d 29 0f 20 6f 66 |adtype=11..). of| 00018cc0 66 73 65 74 32 3d 31 32 0d 0d 2a 11 20 e3 20 50 |fset2=12..*. . P| 00018cd0 3d 30 20 b8 20 32 20 88 32 0d 0d 2b 10 20 50 25 |=0 . 2 .2..+. P%| 00018ce0 3d 67 65 74 5f 63 6f 64 65 0d 0d 2c 0b 20 5b 4f |=get_code..,. [O| 00018cf0 50 54 20 50 0d 0d 2d 19 20 2e 73 6f 75 72 63 65 |PT P..-. .source| 00018d00 5f 73 74 61 72 74 20 45 51 55 44 20 30 0d 0d 2e |_start EQUD 0...| 00018d10 17 20 2e 64 65 73 74 5f 73 74 61 72 74 20 45 51 |. .dest_start EQ| 00018d20 55 44 20 30 0d 0d 2f 16 20 2e 6e 75 6d 5f 62 79 |UD 0../. .num_by| 00018d30 74 65 73 20 45 51 55 44 20 30 0d 0d 30 16 20 2e |tes EQUD 0..0. .| 00018d40 6e 75 6d 5f 6c 69 6e 65 73 20 45 51 55 44 20 30 |num_lines EQUD 0| 00018d50 0d 0d 31 19 20 2e 73 68 61 64 6f 77 5f 73 74 61 |..1. .shadow_sta| 00018d60 72 74 20 45 51 55 44 20 30 0d 0d 32 18 20 2e 73 |rt EQUD 0..2. .s| 00018d70 68 61 64 6f 77 5f 66 6c 61 67 20 45 51 55 44 20 |hadow_flag EQUD | 00018d80 30 0d 0d 33 17 20 2e 63 6c 65 61 72 5f 6d 61 73 |0..3. .clear_mas| 00018d90 6b 20 45 51 55 44 20 30 0d 0d 34 04 0d 0d 35 0e |k EQUD 0..4...5.| 00018da0 20 2e 67 65 74 5f 61 72 65 61 0d 0d 36 30 20 4c | .get_area..60 L| 00018db0 44 52 20 62 61 73 65 31 2c 73 6f 75 72 63 65 5f |DR base1,source_| 00018dc0 73 74 61 72 74 3a 4c 44 52 20 62 61 73 65 32 2c |start:LDR base2,| 00018dd0 64 65 73 74 5f 73 74 61 72 74 0d 0d 37 3a 20 4c |dest_start..7: L| 00018de0 44 52 20 62 79 74 65 73 2c 6e 75 6d 5f 62 79 74 |DR bytes,num_byt| 00018df0 65 73 3a 4d 4f 56 20 6f 66 66 73 65 74 2c 23 30 |es:MOV offset,#0| 00018e00 3a 4c 44 52 20 6c 69 6e 65 73 2c 6e 75 6d 5f 6c |:LDR lines,num_l| 00018e10 69 6e 65 73 0d 0d 38 13 20 2e 67 65 74 5f 61 72 |ines..8. .get_ar| 00018e20 65 61 5f 6c 6f 6f 70 0d 0d 39 34 20 4c 44 52 20 |ea_loop..94 LDR | 00018e30 64 61 74 61 2c 5b 62 61 73 65 31 2c 6f 66 66 73 |data,[base1,offs| 00018e40 65 74 5d 3a 53 54 52 20 64 61 74 61 2c 5b 62 61 |et]:STR data,[ba| 00018e50 73 65 32 2c 6f 66 66 73 65 74 5d 0d 0d 3a 3c 20 |se2,offset]..:< | 00018e60 41 44 44 20 6f 66 66 73 65 74 2c 6f 66 66 73 65 |ADD offset,offse| 00018e70 74 2c 23 34 3a 43 4d 50 20 6f 66 66 73 65 74 2c |t,#4:CMP offset,| 00018e80 62 79 74 65 73 3a 42 4c 54 20 67 65 74 5f 61 72 |bytes:BLT get_ar| 00018e90 65 61 5f 6c 6f 6f 70 0d 0d 3b 3e 20 41 44 44 20 |ea_loop..;> ADD | 00018ea0 62 61 73 65 31 2c 62 61 73 65 31 2c 23 31 32 38 |base1,base1,#128| 00018eb0 30 3a 41 44 44 20 62 61 73 65 32 2c 62 61 73 65 |0:ADD base2,base| 00018ec0 32 2c 23 31 32 38 30 3a 4d 4f 56 20 6f 66 66 73 |2,#1280:MOV offs| 00018ed0 65 74 2c 23 30 0d 0d 3c 2a 20 53 55 42 53 20 6c |et,#0..<* SUBS l| 00018ee0 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 4e |ines,lines,#1:BN| 00018ef0 45 20 67 65 74 5f 61 72 65 61 5f 6c 6f 6f 70 0d |E get_area_loop.| 00018f00 0d 3d 0f 20 4d 4f 56 20 50 43 2c 52 31 34 0d 0d |.=. MOV PC,R14..| 00018f10 3e 04 0d 0d 3f 14 20 2e 67 65 74 5f 61 72 65 61 |>...?. .get_area| 00018f20 5f 66 6c 69 70 78 0d 0d 40 30 20 4c 44 52 20 62 |_flipx..@0 LDR b| 00018f30 61 73 65 31 2c 73 6f 75 72 63 65 5f 73 74 61 72 |ase1,source_star| 00018f40 74 3a 4c 44 52 20 62 61 73 65 32 2c 64 65 73 74 |t:LDR base2,dest| 00018f50 5f 73 74 61 72 74 0d 0d 41 4c 20 4c 44 52 20 62 |_start..AL LDR b| 00018f60 79 74 65 73 2c 6e 75 6d 5f 62 79 74 65 73 3a 4d |ytes,num_bytes:M| 00018f70 4f 56 20 6f 66 66 73 65 74 2c 23 30 3a 4d 4f 56 |OV offset,#0:MOV| 00018f80 20 6f 66 66 73 65 74 32 2c 62 79 74 65 73 3a 4c | offset2,bytes:L| 00018f90 44 52 20 6c 69 6e 65 73 2c 6e 75 6d 5f 6c 69 6e |DR lines,num_lin| 00018fa0 65 73 0d 0d 42 19 20 2e 67 65 74 5f 61 72 65 61 |es..B. .get_area| 00018fb0 5f 66 6c 69 70 78 5f 6c 6f 6f 70 0d 0d 43 4a 20 |_flipx_loop..CJ | 00018fc0 4c 44 52 20 64 61 74 61 2c 5b 62 61 73 65 31 2c |LDR data,[base1,| 00018fd0 6f 66 66 73 65 74 5d 3a 4d 4f 56 20 64 61 74 61 |offset]:MOV data| 00018fe0 2c 64 61 74 61 2c 52 4f 52 23 31 36 3a 53 54 52 |,data,ROR#16:STR| 00018ff0 20 64 61 74 61 2c 5b 62 61 73 65 32 2c 6f 66 66 | data,[base2,off| 00019000 73 65 74 32 5d 0d 0d 44 30 20 53 55 42 20 6f 66 |set2]..D0 SUB of| 00019010 66 73 65 74 32 2c 6f 66 66 73 65 74 32 2c 23 34 |fset2,offset2,#4| 00019020 3a 41 44 44 20 6f 66 66 73 65 74 2c 6f 66 66 73 |:ADD offset,offs| 00019030 65 74 2c 23 34 0d 0d 45 2d 20 43 4d 50 20 6f 66 |et,#4..E- CMP of| 00019040 66 73 65 74 2c 62 79 74 65 73 3a 42 4c 54 20 67 |fset,bytes:BLT g| 00019050 65 74 5f 61 72 65 61 5f 66 6c 69 70 78 5f 6c 6f |et_area_flipx_lo| 00019060 6f 70 0d 0d 46 30 20 41 44 44 20 62 61 73 65 31 |op..F0 ADD base1| 00019070 2c 62 61 73 65 31 2c 23 31 32 38 30 3a 41 44 44 |,base1,#1280:ADD| 00019080 20 62 61 73 65 32 2c 62 61 73 65 32 2c 23 31 32 | base2,base2,#12| 00019090 38 30 0d 0d 47 24 20 4d 4f 56 20 6f 66 66 73 65 |80..G$ MOV offse| 000190a0 74 2c 23 30 3a 4d 4f 56 20 6f 66 66 73 65 74 32 |t,#0:MOV offset2| 000190b0 2c 62 79 74 65 73 0d 0d 48 30 20 53 55 42 53 20 |,bytes..H0 SUBS | 000190c0 6c 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 |lines,lines,#1:B| 000190d0 4e 45 20 67 65 74 5f 61 72 65 61 5f 66 6c 69 70 |NE get_area_flip| 000190e0 78 5f 6c 6f 6f 70 0d 0d 49 0f 20 4d 4f 56 20 50 |x_loop..I. MOV P| 000190f0 43 2c 52 31 34 0d 0d 4a 04 0d 0d 4b 0c 20 2e 73 |C,R14..J...K. .s| 00019100 68 61 64 6f 77 0d 0d 4c 3e 20 4c 44 52 20 62 61 |hadow..L> LDR ba| 00019110 73 65 31 2c 73 68 61 64 6f 77 5f 73 74 61 72 74 |se1,shadow_start| 00019120 3a 4d 4f 56 20 6f 66 66 73 65 74 2c 23 30 3a 4c |:MOV offset,#0:L| 00019130 44 52 20 63 6c 65 61 72 2c 63 6c 65 61 72 5f 6d |DR clear,clear_m| 00019140 61 73 6b 0d 0d 4d 1d 20 4c 44 52 20 73 68 61 64 |ask..M. LDR shad| 00019150 74 79 70 65 2c 73 68 61 64 6f 77 5f 66 6c 61 67 |type,shadow_flag| 00019160 0d 0d 4e 2c 20 4c 44 52 20 62 79 74 65 73 2c 6e |..N, LDR bytes,n| 00019170 75 6d 5f 62 79 74 65 73 3a 4c 44 52 20 6c 69 6e |um_bytes:LDR lin| 00019180 65 73 2c 6e 75 6d 5f 6c 69 6e 65 73 0d 0d 4f 29 |es,num_lines..O)| 00019190 20 2e 73 68 61 64 6f 77 5f 6c 6f 6f 70 20 4c 44 | .shadow_loop LD| 000191a0 52 20 64 61 74 61 2c 5b 62 61 73 65 31 2c 6f 66 |R data,[base1,of| 000191b0 66 73 65 74 5d 0d 0d 50 27 20 43 4d 50 20 73 68 |fset]..P' CMP sh| 000191c0 61 64 74 79 70 65 2c 23 30 3a ec 51 20 64 61 74 |adtype,#0:.Q dat| 000191d0 61 2c 64 61 74 61 2c 4c 53 52 23 31 0d 0d 51 30 |a,data,LSR#1..Q0| 000191e0 20 42 49 43 20 64 61 74 61 2c 64 61 74 61 2c 63 | BIC data,data,c| 000191f0 6c 65 61 72 3a 53 54 52 20 64 61 74 61 2c 5b 62 |lear:STR data,[b| 00019200 61 73 65 31 2c 6f 66 66 73 65 74 5d 0d 0d 52 3a |ase1,offset]..R:| 00019210 20 41 44 44 20 6f 66 66 73 65 74 2c 6f 66 66 73 | ADD offset,offs| 00019220 65 74 2c 23 34 3a 43 4d 50 20 6f 66 66 73 65 74 |et,#4:CMP offset| 00019230 2c 62 79 74 65 73 3a 42 4c 54 20 73 68 61 64 6f |,bytes:BLT shado| 00019240 77 5f 6c 6f 6f 70 0d 0d 53 28 20 41 44 44 20 62 |w_loop..S( ADD b| 00019250 61 73 65 31 2c 62 61 73 65 31 2c 23 31 32 38 30 |ase1,base1,#1280| 00019260 3a 4d 4f 56 20 6f 66 66 73 65 74 2c 23 30 0d 0d |:MOV offset,#0..| 00019270 54 28 20 53 55 42 53 20 6c 69 6e 65 73 2c 6c 69 |T( SUBS lines,li| 00019280 6e 65 73 2c 23 31 3a 42 4e 45 20 73 68 61 64 6f |nes,#1:BNE shado| 00019290 77 5f 6c 6f 6f 70 0d 0d 55 0f 20 4d 4f 56 20 50 |w_loop..U. MOV P| 000192a0 43 2c 52 31 34 0d 0d 56 06 20 5d 0d 0d 57 06 20 |C,R14..V. ]..W. | 000192b0 ed 0d 0d 58 06 20 e1 0d 0d 59 04 0d 0d 5a 28 20 |...X. ...Y...Z( | 000192c0 dd 20 f2 64 6f 75 62 6c 65 5f 67 72 61 64 5f 62 |. .double_grad_b| 000192d0 61 63 6b 28 52 2c 47 2c 42 2c 52 49 2c 47 49 2c |ack(R,G,B,RI,GI,| 000192e0 42 49 29 0d 0d 5b 10 20 72 3d 52 3a 67 3d 47 3a |BI)..[. r=R:g=G:| 000192f0 62 3d 42 0d 0d 5c 14 20 e3 20 59 25 3d 30 20 b8 |b=B..\. . Y%=0 .| 00019300 20 35 30 38 20 88 32 0d 0d 5d 1e 20 e6 20 72 2c | 508 .2..]. . r,| 00019310 67 2c 62 3a c8 93 20 c8 90 20 30 2c 59 25 2c 31 |g,b:.. .. 0,Y%,1| 00019320 32 37 39 2c 32 0d 0d 5e 18 20 72 2b 3d 52 49 3a |279,2..^. r+=RI:| 00019330 67 2b 3d 47 49 3a 62 2b 3d 42 49 3a ed 0d 0d 5f |g+=GI:b+=BI:..._| 00019340 11 20 e7 20 72 3d 2d 31 20 8c 20 72 3d 31 0d 0d |. . r=-1 . r=1..| 00019350 60 11 20 e7 20 67 3d 2d 31 20 8c 20 67 3d 31 0d |`. . g=-1 . g=1.| 00019360 0d 61 11 20 e7 20 62 3d 2d 31 20 8c 20 62 3d 31 |.a. . b=-1 . b=1| 00019370 0d 0d 62 14 20 e7 20 72 3d 32 35 36 20 8c 20 72 |..b. . r=256 . r| 00019380 3d 32 35 34 0d 0d 63 14 20 e7 20 67 3d 32 35 36 |=254..c. . g=256| 00019390 20 8c 20 67 3d 32 35 34 0d 0d 64 14 20 e7 20 62 | . g=254..d. . b| 000193a0 3d 32 35 36 20 8c 20 62 3d 32 35 34 0d 0d 65 17 |=256 . b=254..e.| 000193b0 20 e3 20 59 25 3d 35 31 30 20 b8 20 31 30 31 38 | . Y%=510 . 1018| 000193c0 20 88 32 0d 0d 66 1e 20 e6 20 72 2c 67 2c 62 3a | .2..f. . r,g,b:| 000193d0 c8 93 20 c8 90 20 30 2c 59 25 2c 31 32 37 39 2c |.. .. 0,Y%,1279,| 000193e0 34 0d 0d 67 18 20 72 2d 3d 52 49 3a 67 2d 3d 47 |4..g. r-=RI:g-=G| 000193f0 49 3a 62 2d 3d 42 49 3a ed 0d 0d 68 21 20 e7 20 |I:b-=BI:...h! . | 00019400 ac 28 6d 65 72 67 65 25 29 20 8c 20 f2 75 70 6c |.(merge%) . .upl| 00019410 6f 61 64 5f 6d 65 6d 6f 72 79 0d 0d 69 06 20 e1 |oad_memory..i. .| 00019420 0d 0d 6a 04 0d 0d 6b 28 20 dd 20 f2 73 69 6e 67 |..j...k( . .sing| 00019430 6c 65 5f 67 72 61 64 5f 62 61 63 6b 28 52 2c 47 |le_grad_back(R,G| 00019440 2c 42 2c 52 49 2c 47 49 2c 42 49 29 0d 0d 6c 15 |,B,RI,GI,BI)..l.| 00019450 20 e3 20 59 3d 31 30 32 30 20 b8 20 30 20 88 2d | . Y=1020 . 0 .-| 00019460 34 0d 0d 6d 1d 20 e6 20 52 2c 47 2c 42 3a c8 93 |4..m. . R,G,B:..| 00019470 20 c8 90 20 30 2c 59 2c 31 32 38 30 2c 34 0d 0d | .. 0,Y,1280,4..| 00019480 6e 18 20 52 2b 3d 52 49 3a 47 2b 3d 47 49 3a 42 |n. R+=RI:G+=GI:B| 00019490 2b 3d 42 49 3a ed 0d 0d 6f 21 20 e7 20 ac 28 6d |+=BI:...o! . .(m| 000194a0 65 72 67 65 25 29 20 8c 20 f2 75 70 6c 6f 61 64 |erge%) . .upload| 000194b0 5f 6d 65 6d 6f 72 79 0d 0d 70 06 20 e1 0d 0d 71 |_memory..p. ...q| 000194c0 04 0d 0d 72 27 20 dd 20 a4 74 65 78 74 5f 77 69 |...r' . .text_wi| 000194d0 64 74 68 28 66 6f 6e 74 24 2c 74 65 78 74 24 2c |dth(font$,text$,| 000194e0 78 70 25 2c 79 70 25 29 0d 0d 73 29 20 e7 20 66 |xp%,yp%)..s) . f| 000194f0 6f 6e 74 25 3c 3e 2d 31 20 c8 99 20 22 46 6f 6e |ont%<>-1 .. "Fon| 00019500 74 5f 4c 6f 73 65 46 6f 6e 74 22 2c 66 6f 6e 74 |t_LoseFont",font| 00019510 25 0d 0d 74 34 20 c8 99 20 22 46 6f 6e 74 5f 46 |%..t4 .. "Font_F| 00019520 69 6e 64 46 6f 6e 74 22 2c 2c 66 6f 6e 74 24 2c |indFont",,font$,| 00019530 31 36 2a 78 70 25 2c 31 36 2a 79 70 25 20 b8 20 |16*xp%,16*yp% . | 00019540 66 6f 6e 74 25 0d 0d 75 33 20 c8 99 20 22 46 6f |font%..u3 .. "Fo| 00019550 6e 74 5f 43 6f 6e 76 65 72 74 74 6f 70 6f 69 6e |nt_Converttopoin| 00019560 74 73 22 2c 2c 31 32 38 30 2c 31 30 32 34 20 b8 |ts",,1280,1024 .| 00019570 2c 78 70 25 2c 79 70 25 0d 0d 76 3b 20 c8 99 20 |,xp%,yp%..v; .. | 00019580 22 46 6f 6e 74 5f 53 74 72 69 6e 67 57 69 64 74 |"Font_StringWidt| 00019590 68 22 2c 2c 74 65 78 74 24 2c 78 70 25 2c 79 70 |h",,text$,xp%,yp| 000195a0 25 2c 2d 31 2c 31 30 30 20 b8 2c 2c 78 32 25 2c |%,-1,100 .,,x2%,| 000195b0 79 32 25 0d 0d 77 2d 20 c8 99 20 22 46 6f 6e 74 |y2%..w- .. "Font| 000195c0 5f 43 6f 6e 76 65 72 74 74 6f 4f 53 22 2c 2c 78 |_ConverttoOS",,x| 000195d0 32 25 2c 79 32 25 20 b8 2c 78 32 25 2c 79 32 25 |2%,y2% .,x2%,y2%| 000195e0 0d 0d 78 09 20 3d 78 32 25 0d 0d 79 04 0d 0d 7a |..x. =x2%..y...z| 000195f0 1a 20 dd 20 f2 72 67 62 5f 73 6c 69 64 65 72 73 |. . .rgb_sliders| 00019600 28 66 6c 61 67 25 29 0d 0d 7b 20 20 58 25 3d 33 |(flag%)..{ X%=3| 00019610 38 30 3a 59 25 3d 33 30 34 3a 57 25 3d 34 36 30 |80:Y%=304:W%=460| 00019620 3a 48 25 3d 32 34 30 0d 0d 7c 1c 20 72 65 64 31 |:H%=240..|. red1| 00019630 25 3d 30 3a 67 72 6e 31 25 3d 30 3a 62 6c 75 31 |%=0:grn1%=0:blu1| 00019640 25 3d 30 0d 0d 7d 1e 20 e7 20 66 6c 61 67 25 20 |%=0..}. . flag% | 00019650 8c 20 59 32 25 3d 31 34 30 20 8b 20 59 32 25 3d |. Y2%=140 . Y2%=| 00019660 30 0d 0d 7e 27 20 f2 72 61 69 73 65 64 5f 62 6c |0..~' .raised_bl| 00019670 6f 63 6b 28 58 25 2c 59 25 2d 59 32 25 2c 57 25 |ock(X%,Y%-Y2%,W%| 00019680 2c 48 25 2b 59 32 25 29 0d 0d 7f 1d 20 e3 20 59 |,H%+Y2%).... . Y| 00019690 59 25 3d 59 25 2b 35 36 20 b8 20 59 25 2b 31 34 |Y%=Y%+56 . Y%+14| 000196a0 38 20 88 34 34 0d 0d 80 1f 20 f2 62 6f 78 65 73 |8 .44.... .boxes| 000196b0 28 58 25 2b 31 36 2c 59 59 25 2c 32 36 32 2c 33 |(X%+16,YY%,262,3| 000196c0 32 2c 30 29 0d 0d 81 20 20 ed 3a c8 97 20 c8 93 |2,0)... .:.. ..| 000196d0 20 58 25 2c 59 25 2d 59 32 25 2c 57 25 2c 48 25 | X%,Y%-Y2%,W%,H%| 000196e0 2b 59 32 25 0d 0d 82 26 20 f2 72 61 69 73 65 64 |+Y2%...& .raised| 000196f0 5f 62 6c 6f 63 6b 28 58 25 2b 33 34 36 2c 59 25 |_block(X%+346,Y%| 00019700 2b 35 36 2c 38 38 2c 34 34 29 0d 0d 83 23 20 f2 |+56,88,44)...# .| 00019710 62 6f 78 65 73 28 58 25 2b 33 34 30 2c 59 25 2b |boxes(X%+340,Y%+| 00019720 31 32 30 2c 31 30 30 2c 35 36 2c 30 29 0d 0d 84 |120,100,56,0)...| 00019730 37 20 f2 77 72 69 74 65 32 28 22 50 73 63 61 6e |7 .write2("Pscan| 00019740 20 33 32 4b 20 63 6f 6c 6f 75 72 20 73 65 6c 65 | 32K colour sele| 00019750 63 74 6f 72 22 2c 58 25 2b 38 2c 59 25 2b 32 30 |ctor",X%+8,Y%+20| 00019760 30 2c 34 29 0d 0d 85 39 20 f2 77 72 69 74 65 32 |0,4)...9 .write2| 00019770 28 22 44 72 61 67 20 73 6c 69 64 65 72 73 20 74 |("Drag sliders t| 00019780 6f 20 64 65 66 69 6e 65 20 63 6f 6c 6f 75 72 22 |o define colour"| 00019790 2c 58 25 2b 38 2c 59 25 2b 38 2c 34 29 0d 0d 86 |,X%+8,Y%+8,4)...| 000197a0 21 20 f2 77 72 69 74 65 32 28 22 4f 4b 22 2c 58 |! .write2("OK",X| 000197b0 25 2b 33 36 32 2c 59 25 2b 36 32 2c 34 29 0d 0d |%+362,Y%+62,4)..| 000197c0 87 0e 20 e7 20 66 6c 61 67 25 20 8c 0d 0d 88 3c |.. . flag% ....<| 000197d0 20 f2 77 72 69 74 65 32 28 22 43 6c 69 63 6b 20 | .write2("Click | 000197e0 6f 6e 20 72 65 71 75 69 72 65 64 20 62 72 75 73 |on required brus| 000197f0 68 20 73 69 7a 65 22 2c 58 25 2b 38 2c 59 25 2b |h size",X%+8,Y%+| 00019800 38 2d 59 32 25 2c 34 29 0d 0d 89 09 20 52 25 3d |8-Y2%,4).... R%=| 00019810 34 0d 0d 8a 20 20 e3 20 58 58 25 3d 58 25 2b 31 |4... . XX%=X%+1| 00019820 36 20 b8 20 58 25 2b 33 32 32 20 88 20 37 36 2e |6 . X%+322 . 76.| 00019830 35 0d 0d 8b 30 20 e6 20 31 32 38 2c 30 2c 30 3a |5...0 . 128,0,0:| 00019840 c8 8f 20 c8 90 20 58 58 25 2b 34 38 2c 59 25 2d |.. .. XX%+48,Y%-| 00019850 59 32 25 2b 39 32 2c 52 25 3a 52 25 3d 52 25 2b |Y2%+92,R%:R%=R%+| 00019860 34 0d 0d 8c 28 20 f2 62 6f 78 65 73 28 58 58 25 |4...( .boxes(XX%| 00019870 2b 31 36 2c 59 25 2d 59 32 25 2b 36 30 2c 36 34 |+16,Y%-Y2%+60,64| 00019880 2c 36 34 2c 2d 31 29 3a ed 0d 0d 8d 06 20 cd 0d |,64,-1):..... ..| 00019890 0d 8e 29 20 e6 20 32 35 35 2c 30 2c 30 3a c8 93 |..) . 255,0,0:..| 000198a0 20 c8 90 20 58 25 2b 32 30 2c 59 25 2b 31 34 38 | .. X%+20,Y%+148| 000198b0 2c 72 65 64 25 2c 32 34 0d 0d 8f 29 20 e6 20 30 |,red%,24...) . 0| 000198c0 2c 32 35 35 2c 30 3a c8 93 20 c8 90 20 58 25 2b |,255,0:.. .. X%+| 000198d0 32 30 2c 59 25 2b 31 30 34 2c 67 72 6e 25 2c 32 |20,Y%+104,grn%,2| 000198e0 34 0d 0d 90 28 20 e6 20 30 2c 30 2c 32 35 35 3a |4...( . 0,0,255:| 000198f0 c8 93 20 c8 90 20 58 25 2b 32 30 2c 59 25 2b 36 |.. .. X%+20,Y%+6| 00019900 30 2c 62 6c 75 25 2c 32 34 0d 0d 91 14 20 f2 77 |0,blu%,24.... .w| 00019910 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 0d 92 |ait_no_button...| 00019920 06 20 f5 0d 0d 93 2f 20 e6 20 72 65 64 25 2c 67 |. ..../ . red%,g| 00019930 72 6e 25 2c 62 6c 75 25 3a c8 93 20 c8 90 20 58 |rn%,blu%:.. .. X| 00019940 25 2b 33 34 34 2c 59 25 2b 31 32 34 2c 39 32 2c |%+344,Y%+124,92,| 00019950 34 38 0d 0d 94 14 20 e7 20 72 65 64 25 3c 3e 72 |48.... . red%<>r| 00019960 65 64 31 25 20 8c 0d 0d 95 2c 20 e6 20 32 30 38 |ed1% ...., . 208| 00019970 2c 32 30 38 2c 32 31 36 3a c8 93 20 c8 90 20 58 |,208,216:.. .. X| 00019980 25 2b 32 38 36 2c 59 25 2b 31 34 34 2c 34 30 2c |%+286,Y%+144,40,| 00019990 33 30 0d 0d 96 2e 20 72 65 64 24 3d c3 28 72 65 |30.... red$=.(re| 000199a0 64 25 2f 38 29 3a e7 20 a9 20 72 65 64 24 3c 32 |d%/8):. . red$<2| 000199b0 20 8c 20 72 65 64 24 3d 22 30 22 2b 72 65 64 24 | . red$="0"+red$| 000199c0 0d 0d 97 2d 20 f2 77 72 69 74 65 32 28 72 65 64 |...- .write2(red| 000199d0 24 2c 58 25 2b 32 37 38 2c 59 25 2b 31 34 32 2c |$,X%+278,Y%+142,| 000199e0 34 29 3a 72 65 64 31 25 3d 72 65 64 25 0d 0d 98 |4):red1%=red%...| 000199f0 06 20 cd 0d 0d 99 14 20 e7 20 67 72 6e 25 3c 3e |. ..... . grn%<>| 00019a00 67 72 6e 31 25 20 8c 0d 0d 9a 2c 20 e6 20 32 30 |grn1% ...., . 20| 00019a10 38 2c 32 30 38 2c 32 31 36 3a c8 93 20 c8 90 20 |8,208,216:.. .. | 00019a20 58 25 2b 32 38 36 2c 59 25 2b 31 30 30 2c 34 30 |X%+286,Y%+100,40| 00019a30 2c 33 30 0d 0d 9b 2e 20 67 72 6e 24 3d c3 28 67 |,30.... grn$=.(g| 00019a40 72 6e 25 2f 38 29 3a e7 20 a9 20 67 72 6e 24 3c |rn%/8):. . grn$<| 00019a50 32 20 8c 20 67 72 6e 24 3d 22 30 22 2b 67 72 6e |2 . grn$="0"+grn| 00019a60 24 0d 0d 9c 2c 20 f2 77 72 69 74 65 32 28 67 72 |$..., .write2(gr| 00019a70 6e 24 2c 58 25 2b 32 37 38 2c 59 25 2b 39 38 2c |n$,X%+278,Y%+98,| 00019a80 34 29 3a 67 72 6e 31 25 3d 67 72 6e 25 0d 0d 9d |4):grn1%=grn%...| 00019a90 06 20 cd 0d 0d 9e 14 20 e7 20 62 6c 75 25 3c 3e |. ..... . blu%<>| 00019aa0 62 6c 75 31 25 20 8c 0d 0d 9f 2b 20 e6 20 32 30 |blu1% ....+ . 20| 00019ab0 38 2c 32 30 38 2c 32 31 36 3a c8 93 20 c8 90 20 |8,208,216:.. .. | 00019ac0 58 25 2b 32 38 36 2c 59 25 2b 35 36 2c 34 30 2c |X%+286,Y%+56,40,| 00019ad0 33 30 0d 0d a0 2e 20 62 6c 75 24 3d c3 28 62 6c |30.... blu$=.(bl| 00019ae0 75 25 2f 38 29 3a e7 20 a9 20 62 6c 75 24 3c 32 |u%/8):. . blu$<2| 00019af0 20 8c 20 62 6c 75 24 3d 22 30 22 2b 62 6c 75 24 | . blu$="0"+blu$| 00019b00 0d 0d a1 2c 20 f2 77 72 69 74 65 32 28 62 6c 75 |..., .write2(blu| 00019b10 24 2c 58 25 2b 32 38 30 2c 59 25 2b 35 34 2c 34 |$,X%+280,Y%+54,4| 00019b20 29 3a 62 6c 75 31 25 3d 62 6c 75 25 0d 0d a2 06 |):blu1%=blu%....| 00019b30 20 cd 0d 0d a3 32 20 f5 3a c8 97 20 58 2c 59 2c | ....2 .:.. X,Y,| 00019b40 42 3a e7 20 42 3c 3e 34 20 8c 20 c8 97 20 c8 93 |B:. B<>4 . .. ..| 00019b50 20 58 25 2c 59 25 2d 59 32 25 2c 57 25 2c 48 25 | X%,Y%-Y2%,W%,H%| 00019b60 2b 59 32 25 0d 0d a4 0a 20 fd 20 42 3d 34 0d 0d |+Y2%.... . B=4..| 00019b70 a5 1c 20 e7 20 66 6c 61 67 25 20 80 20 94 28 59 |.. . flag% . .(Y| 00019b80 2d 32 35 36 29 3c 32 38 20 8c 0d 0d a6 22 20 e7 |-256)<28 ...." .| 00019b90 20 94 28 58 2d 34 34 34 29 3c 32 38 20 8c 20 62 | .(X-444)<28 . b| 00019ba0 72 75 73 68 5f 73 69 7a 65 25 3d 34 0d 0d a7 22 |rush_size%=4..."| 00019bb0 20 e7 20 94 28 58 2d 35 32 30 29 3c 32 38 20 8c | . .(X-520)<28 .| 00019bc0 20 62 72 75 73 68 5f 73 69 7a 65 25 3d 38 0d 0d | brush_size%=8..| 00019bd0 a8 23 20 e7 20 94 28 58 2d 35 39 36 29 3c 32 38 |.# . .(X-596)<28| 00019be0 20 8c 20 62 72 75 73 68 5f 73 69 7a 65 25 3d 31 | . brush_size%=1| 00019bf0 32 0d 0d a9 23 20 e7 20 94 28 58 2d 36 37 34 29 |2...# . .(X-674)| 00019c00 3c 32 38 20 8c 20 62 72 75 73 68 5f 73 69 7a 65 |<28 . brush_size| 00019c10 25 3d 31 36 0d 0d aa 23 20 e7 20 94 28 58 2d 37 |%=16...# . .(X-7| 00019c20 34 38 29 3c 32 38 20 8c 20 62 72 75 73 68 5f 73 |48)<28 . brush_s| 00019c30 69 7a 65 25 3d 32 30 0d 0d ab 06 20 cd 0d 0d ac |ize%=20.... ....| 00019c40 42 20 e7 20 58 3e 58 25 2b 31 38 20 80 20 58 3c |B . X>X%+18 . X<| 00019c50 58 25 2b 31 39 2b 32 35 36 20 80 20 59 3e 59 25 |X%+19+256 . Y>Y%| 00019c60 2b 36 30 20 80 20 59 3c 59 25 2b 36 30 2b 32 36 |+60 . Y<Y%+60+26| 00019c70 20 8c 20 f2 62 6c 75 65 5f 73 6c 69 64 65 72 0d | . .blue_slider.| 00019c80 0d ad 45 20 e7 20 58 3e 58 25 2b 31 38 20 80 20 |..E . X>X%+18 . | 00019c90 58 3c 58 25 2b 31 39 2b 32 35 36 20 80 20 59 3e |X<X%+19+256 . Y>| 00019ca0 59 25 2b 31 30 34 20 80 20 59 3c 59 25 2b 31 30 |Y%+104 . Y<Y%+10| 00019cb0 34 2b 32 36 20 8c 20 f2 67 72 65 65 6e 5f 73 6c |4+26 . .green_sl| 00019cc0 69 64 65 72 0d 0d ae 43 20 e7 20 58 3e 58 25 2b |ider...C . X>X%+| 00019cd0 31 38 20 80 20 58 3c 58 25 2b 31 39 2b 32 35 36 |18 . X<X%+19+256| 00019ce0 20 80 20 59 3e 59 25 2b 31 34 38 20 80 20 59 3c | . Y>Y%+148 . Y<| 00019cf0 59 25 2b 31 34 38 2b 32 36 20 8c 20 f2 72 65 64 |Y%+148+26 . .red| 00019d00 5f 73 6c 69 64 65 72 0d 0d af 3a 20 72 65 64 25 |_slider...: red%| 00019d10 3d 28 72 65 64 25 20 81 20 38 29 2a 38 3a 67 72 |=(red% . 8)*8:gr| 00019d20 6e 25 3d 28 67 72 6e 25 20 81 20 38 29 2a 38 3a |n%=(grn% . 8)*8:| 00019d30 62 6c 75 25 3d 28 62 6c 75 25 20 81 20 38 29 2a |blu%=(blu% . 8)*| 00019d40 38 0d 0d b0 20 20 fd 20 94 28 58 2d 37 36 38 29 |8... . .(X-768)| 00019d50 3c 34 37 20 80 20 94 28 59 2d 33 38 36 29 3c 33 |<47 . .(Y-386)<3| 00019d60 33 0d 0d b1 28 20 52 47 42 25 3d b0 58 25 2b 33 |3...( RGB%=.X%+3| 00019d70 35 30 2c 59 25 2b 31 32 38 29 3a 6d 65 6e 75 5f |50,Y%+128):menu_| 00019d80 72 65 64 72 61 77 25 3d b9 0d 0d b2 28 20 f2 77 |redraw%=....( .w| 00019d90 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 3a c8 97 |ait_no_button:..| 00019da0 20 c8 93 20 30 2c 30 2c 31 32 38 30 2c 31 30 32 | .. 0,0,1280,102| 00019db0 34 0d 0d b3 06 20 e1 0d 0d b4 04 0d 0d b5 13 20 |4.... ......... | 00019dc0 dd 20 f2 62 6c 75 65 5f 73 6c 69 64 65 72 0d 0d |. .blue_slider..| 00019dd0 b6 11 20 62 6c 75 25 3d 58 2d 31 39 2d 58 25 0d |.. blu%=X-19-X%.| 00019de0 0d b7 2a 20 e6 20 30 2c 30 2c 32 35 35 3a c8 93 |..* . 0,0,255:..| 00019df0 20 c8 90 20 58 25 2b 32 30 2c 59 25 2b 36 30 2c | .. X%+20,Y%+60,| 00019e00 62 6c 75 25 2d 32 2c 32 34 0d 0d b8 35 20 e6 20 |blu%-2,24...5 . | 00019e10 32 31 36 2c 32 31 36 2c 32 31 36 3a c8 93 20 c8 |216,216,216:.. .| 00019e20 90 20 58 25 2b 62 6c 75 25 2b 32 32 2c 59 25 2b |. X%+blu%+22,Y%+| 00019e30 36 30 2c 32 35 32 2d 62 6c 75 25 2c 32 34 0d 0d |60,252-blu%,24..| 00019e40 b9 18 20 c8 97 20 c8 93 20 58 25 2b 31 39 2c 59 |.. .. .. X%+19,Y| 00019e50 2c 32 35 35 2c 30 0d 0d ba 06 20 e1 0d 0d bb 04 |,255,0.... .....| 00019e60 0d 0d bc 14 20 dd 20 f2 67 72 65 65 6e 5f 73 6c |.... . .green_sl| 00019e70 69 64 65 72 0d 0d bd 11 20 67 72 6e 25 3d 58 2d |ider.... grn%=X-| 00019e80 31 39 2d 58 25 0d 0d be 2b 20 e6 20 30 2c 32 35 |19-X%...+ . 0,25| 00019e90 35 2c 30 3a c8 93 20 c8 90 20 58 25 2b 32 30 2c |5,0:.. .. X%+20,| 00019ea0 59 25 2b 31 30 34 2c 67 72 6e 25 2d 32 2c 32 34 |Y%+104,grn%-2,24| 00019eb0 0d 0d bf 36 20 e6 20 32 31 36 2c 32 31 36 2c 32 |...6 . 216,216,2| 00019ec0 31 36 3a c8 93 20 c8 90 20 58 25 2b 67 72 6e 25 |16:.. .. X%+grn%| 00019ed0 2b 32 32 2c 59 25 2b 31 30 34 2c 32 35 32 2d 67 |+22,Y%+104,252-g| 00019ee0 72 6e 25 2c 32 34 0d 0d c0 18 20 c8 97 20 c8 93 |rn%,24.... .. ..| 00019ef0 20 58 25 2b 31 39 2c 59 2c 32 35 35 2c 30 0d 0d | X%+19,Y,255,0..| 00019f00 c1 06 20 e1 0d 0d c2 04 0d 0d c3 12 20 dd 20 f2 |.. ......... . .| 00019f10 72 65 64 5f 73 6c 69 64 65 72 0d 0d c4 11 20 72 |red_slider.... r| 00019f20 65 64 25 3d 58 2d 31 39 2d 58 25 0d 0d c5 2b 20 |ed%=X-19-X%...+ | 00019f30 e6 20 32 35 35 2c 30 2c 30 3a c8 93 20 c8 90 20 |. 255,0,0:.. .. | 00019f40 58 25 2b 32 30 2c 59 25 2b 31 34 38 2c 72 65 64 |X%+20,Y%+148,red| 00019f50 25 2d 32 2c 32 34 0d 0d c6 36 20 e6 20 32 31 36 |%-2,24...6 . 216| 00019f60 2c 32 31 36 2c 32 31 36 3a c8 93 20 c8 90 20 58 |,216,216:.. .. X| 00019f70 25 2b 72 65 64 25 2b 32 32 2c 59 25 2b 31 34 38 |%+red%+22,Y%+148| 00019f80 2c 32 35 32 2d 72 65 64 25 2c 32 34 0d 0d c7 18 |,252-red%,24....| 00019f90 20 c8 97 20 c8 93 20 58 25 2b 31 39 2c 59 2c 32 | .. .. X%+19,Y,2| 00019fa0 35 35 2c 30 0d 0d c8 06 20 e1 0d 0d c9 04 0d 0d |55,0.... .......| 00019fb0 ca 22 20 dd 20 f2 62 6f 78 65 73 28 78 25 2c 79 |." . .boxes(x%,y| 00019fc0 25 2c 77 25 2c 68 25 2c 72 61 69 73 65 64 25 29 |%,w%,h%,raised%)| 00019fd0 0d 0d cb 2b 20 e7 20 72 61 69 73 65 64 25 20 8c |...+ . raised% .| 00019fe0 20 e6 20 39 36 2c 39 36 2c 39 36 20 8b 20 e6 20 | . 96,96,96 . . | 00019ff0 32 35 35 2c 32 35 35 2c 32 35 35 0d 0d cc 2a 20 |255,255,255...* | 0001a000 c8 93 20 78 25 2c 79 25 2c 77 25 2c 68 25 3a c8 |.. x%,y%,w%,h%:.| 0001a010 93 20 78 25 2b 32 2c 79 25 2b 32 2c 77 25 2d 34 |. x%+2,y%+2,w%-4| 0001a020 2c 68 25 2d 34 0d 0d cd 2b 20 e7 20 72 61 69 73 |,h%-4...+ . rais| 0001a030 65 64 25 20 8c 20 e6 20 32 35 35 2c 32 35 35 2c |ed% . . 255,255,| 0001a040 32 35 35 20 8b 20 e6 20 39 36 2c 39 36 2c 39 36 |255 . . 96,96,96| 0001a050 0d 0d ce 2c 20 86 20 78 25 2c 79 25 2c 78 25 2c |..., . x%,y%,x%,| 0001a060 79 25 2b 68 25 3a 86 20 78 25 2c 79 25 2b 68 25 |y%+h%:. x%,y%+h%| 0001a070 2c 78 25 2b 77 25 2c 79 25 2b 68 25 0d 0d cf 3c |,x%+w%,y%+h%...<| 0001a080 20 86 20 78 25 2b 32 2c 79 25 2b 32 2c 78 25 2b | . x%+2,y%+2,x%+| 0001a090 32 2c 79 25 2b 68 25 2d 32 3a 86 20 78 25 2b 32 |2,y%+h%-2:. x%+2| 0001a0a0 2c 79 25 2b 68 25 2d 32 2c 78 25 2b 77 25 2d 32 |,y%+h%-2,x%+w%-2| 0001a0b0 2c 79 25 2b 68 25 2d 32 0d 0d d0 06 20 e1 0d 0d |,y%+h%-2.... ...| 0001a0c0 d1 04 0d 0d d2 12 20 dd 20 f2 66 6c 6f 6f 64 5f |...... . .flood_| 0001a0d0 66 69 6c 6c 0d 0d d3 1c 20 f2 64 69 73 70 6c 61 |fill.... .displa| 0001a0e0 79 5f 6d 65 6d 6f 72 79 3a 71 75 69 74 25 3d 30 |y_memory:quit%=0| 0001a0f0 0d 0d d4 16 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 |.... .wait_no_bu| 0001a100 74 74 6f 6e 3a f5 0d 0d d5 16 20 f5 3a c8 97 20 |tton:..... .:.. | 0001a110 58 2c 59 2c 42 3a fd 20 42 3c 3e 30 0d 0d d6 0c |X,Y,B:. B<>0....| 0001a120 20 e7 20 59 3e 39 20 8c 0d 0d d7 0c 20 e7 20 42 | . Y>9 ..... . B| 0001a130 3d 34 20 8c 0d 0d d8 21 20 52 47 42 25 3d b0 58 |=4 ....! RGB%=.X| 0001a140 2c 59 29 3a 42 72 65 64 25 3d 28 52 47 42 25 80 |,Y):Bred%=(RGB%.| 0001a150 33 31 29 2a 38 0d 0d d9 33 20 42 67 72 6e 25 3d |31)*8...3 Bgrn%=| 0001a160 28 28 52 47 42 25 3e 3e 35 29 80 33 31 29 2a 38 |((RGB%>>5).31)*8| 0001a170 3a 42 62 6c 75 25 3d 28 28 52 47 42 25 3e 3e 31 |:Bblu%=((RGB%>>1| 0001a180 30 29 80 33 31 29 2a 38 0d 0d da 31 20 e7 20 ac |0).31)*8...1 . .| 0001a190 20 28 42 72 65 64 25 3d 72 65 64 25 20 80 20 42 | (Bred%=red% . B| 0001a1a0 67 72 6e 25 3d 67 72 6e 25 20 80 20 42 62 6c 75 |grn%=grn% . Bblu| 0001a1b0 25 3d 62 6c 75 25 29 20 8c 0d 0d db 2c 20 72 67 |%=blu%) ...., rg| 0001a1c0 62 25 3d 28 42 62 6c 75 25 3c 3c 32 34 29 2b 28 |b%=(Bblu%<<24)+(| 0001a1d0 42 67 72 6e 25 3c 3c 31 36 29 2b 28 42 72 65 64 |Bgrn%<<16)+(Bred| 0001a1e0 25 3c 3c 38 29 0d 0d dc 15 20 e6 20 72 65 64 25 |%<<8).... . red%| 0001a1f0 2c 67 72 6e 25 2c 62 6c 75 25 0d 0d dd 33 20 c8 |,grn%,blu%...3 .| 0001a200 99 20 22 43 6f 6c 6f 75 72 54 72 61 6e 73 5f 53 |. "ColourTrans_S| 0001a210 65 74 47 43 4f 4c 22 2c 72 67 62 25 2c 30 2c 30 |etGCOL",rgb%,0,0| 0001a220 2c 31 32 38 2c 30 3a c8 90 20 58 2c 59 0d 0d de |,128,0:.. X,Y...| 0001a230 09 20 cc 20 ef 37 0d 0d df 06 20 cd 0d 0d e0 06 |. . .7.... .....| 0001a240 20 cd 0d 0d e1 0c 20 e7 20 42 3d 31 20 8c 0d 0d | ..... . B=1 ...| 0001a250 e2 20 20 52 47 42 25 3d b0 58 2c 59 29 3a 72 65 |. RGB%=.X,Y):re| 0001a260 64 25 3d 28 52 47 42 25 80 33 31 29 2a 38 0d 0d |d%=(RGB%.31)*8..| 0001a270 e3 31 20 67 72 6e 25 3d 28 28 52 47 42 25 3e 3e |.1 grn%=((RGB%>>| 0001a280 35 29 80 33 31 29 2a 38 3a 62 6c 75 25 3d 28 28 |5).31)*8:blu%=((| 0001a290 52 47 42 25 3e 3e 31 30 29 80 33 31 29 2a 38 0d |RGB%>>10).31)*8.| 0001a2a0 0d e4 06 20 cd 0d 0d e5 3b 20 e7 20 42 3d 32 20 |... ....; . B=2 | 0001a2b0 8c 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 |. .upload_memory| 0001a2c0 3a f2 72 67 62 5f 73 6c 69 64 65 72 73 28 30 29 |:.rgb_sliders(0)| 0001a2d0 3a f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 |:.display_memory| 0001a2e0 0d 0d e6 06 20 cd 0d 0d e7 23 20 f2 77 61 69 74 |.... ....# .wait| 0001a2f0 5f 6e 6f 5f 62 75 74 74 6f 6e 3a fd 20 59 3c 31 |_no_button:. Y<1| 0001a300 30 20 84 20 71 75 69 74 25 0d 0d e8 0c 20 f2 75 |0 . quit%.... .u| 0001a310 70 6d 69 6e 69 0d 0d e9 06 20 e1 0d 0d ea 04 0d |pmini.... ......| 0001a320 0d eb 31 20 dd 20 f2 76 65 72 74 69 63 61 6c 5f |..1 . .vertical_| 0001a330 77 72 69 74 65 28 46 24 2c 74 65 78 74 24 2c 78 |write(F$,text$,x| 0001a340 25 2c 79 25 2c 78 70 25 2c 79 70 25 2c 63 25 29 |%,y%,xp%,yp%,c%)| 0001a350 0d 0d ec 29 20 e7 20 66 6f 6e 74 25 3c 3e 2d 31 |...) . font%<>-1| 0001a360 20 c8 99 20 22 46 6f 6e 74 5f 4c 6f 73 65 46 6f | .. "Font_LoseFo| 0001a370 6e 74 22 2c 66 6f 6e 74 25 0d 0d ed 31 20 c8 99 |nt",font%...1 ..| 0001a380 20 22 46 6f 6e 74 5f 46 69 6e 64 46 6f 6e 74 22 | "Font_FindFont"| 0001a390 2c 2c 46 24 2c 78 70 25 2a 31 36 2c 79 70 25 2a |,,F$,xp%*16,yp%*| 0001a3a0 31 36 20 b8 20 66 6f 6e 74 25 0d 0d ee 14 20 59 |16 . font%.... Y| 0001a3b0 6d 61 78 25 3d 30 3a 58 6d 61 78 25 3d 30 0d 0d |max%=0:Xmax%=0..| 0001a3c0 ef 16 20 e3 20 56 25 3d 31 20 b8 20 a9 28 74 65 |.. . V%=1 . .(te| 0001a3d0 78 74 24 29 0d 0d f0 3a 20 c8 99 20 22 46 6f 6e |xt$)...: .. "Fon| 0001a3e0 74 5f 43 68 61 72 42 42 6f 78 22 2c 66 6f 6e 74 |t_CharBBox",font| 0001a3f0 25 2c 97 28 c1 74 65 78 74 24 2c 56 25 29 29 2c |%,.(.text$,V%)),| 0001a400 31 36 20 b8 2c 2c 2c 72 33 25 2c 72 34 25 0d 0d |16 .,,,r3%,r4%..| 0001a410 f1 1c 20 e7 20 72 33 25 3e 58 6d 61 78 25 20 8c |.. . r3%>Xmax% .| 0001a420 20 58 6d 61 78 25 3d 72 33 25 0d 0d f2 1c 20 e7 | Xmax%=r3%.... .| 0001a430 20 72 34 25 3e 59 6d 61 78 25 20 8c 20 59 6d 61 | r4%>Ymax% . Yma| 0001a440 78 25 3d 72 34 25 0d 0d f3 10 20 ed 3a 59 6d 61 |x%=r4%.... .:Yma| 0001a450 78 25 2b 3d 31 36 0d 0d f4 16 20 e3 20 56 25 3d |x%+=16.... . V%=| 0001a460 31 20 b8 20 a9 28 74 65 78 74 24 29 0d 0d f5 3f |1 . .(text$)...?| 0001a470 20 43 48 24 3d c1 74 65 78 74 24 2c 56 25 2c 31 | CH$=.text$,V%,1| 0001a480 29 3a c8 99 20 22 46 6f 6e 74 5f 43 68 61 72 42 |):.. "Font_CharB| 0001a490 42 6f 78 22 2c 66 6f 6e 74 25 2c 97 28 43 48 24 |Box",font%,.(CH$| 0001a4a0 29 2c 31 36 20 b8 2c 2c 2c 77 25 0d 0d f6 18 20 |),16 .,,,w%.... | 0001a4b0 70 78 25 3d 78 25 2b 28 58 6d 61 78 25 2d 77 25 |px%=x%+(Xmax%-w%| 0001a4c0 29 2f 32 0d 0d f7 25 20 f2 77 72 69 74 65 28 46 |)/2...% .write(F| 0001a4d0 24 2c 43 48 24 2c 70 78 25 2c 79 25 2c 78 70 25 |$,CH$,px%,y%,xp%| 0001a4e0 2c 79 70 25 2c 63 25 29 0d 0d f8 14 20 79 25 3d |,yp%,c%).... y%=| 0001a4f0 79 25 2d 59 6d 61 78 25 2d 34 3a ed 0d 0d f9 06 |y%-Ymax%-4:.....| 0001a500 20 e1 0d 0d fa 04 0d 0d fb 19 20 dd 20 f2 63 6c | ......... . .cl| 0001a510 6f 6e 69 6e 67 5f 62 72 75 73 68 28 73 25 29 0d |oning_brush(s%).| 0001a520 0d fc 24 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d |..$ .display_mem| 0001a530 6f 72 79 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 74 |ory:.wait_no_but| 0001a540 74 6f 6e 0d 0d fd 0f 20 f5 3a c8 97 20 58 2c 59 |ton.... .:.. X,Y| 0001a550 2c 42 0d 0d fe 29 20 e6 20 33 2c 36 33 20 c8 9c |,B...) . 3,63 ..| 0001a560 20 31 39 32 3a c8 93 20 58 2d 73 25 2f 32 2c 59 | 192:.. X-s%/2,Y| 0001a570 2d 73 25 2f 32 2c 73 25 2c 73 25 0d 0d ff 28 20 |-s%/2,s%,s%...( | 0001a580 f5 3a c8 97 20 58 31 2c 59 31 2c 42 3a fd 20 58 |.:.. X1,Y1,B:. X| 0001a590 31 3c 3e 58 20 84 20 59 31 3c 3e 59 20 84 20 42 |1<>X . Y1<>Y . B| 0001a5a0 3c 3e 30 0d 0e 00 2b 20 c8 93 20 58 2d 73 25 2f |<>0...+ .. X-s%/| 0001a5b0 32 2c 59 2d 73 25 2f 32 2c 73 25 2c 73 25 3a 58 |2,Y-s%/2,s%,s%:X| 0001a5c0 3d 58 31 3a 59 3d 59 31 3a fd 20 42 3d 34 0d 0e |=X1:Y=Y1:. B=4..| 0001a5d0 01 29 20 53 58 3d 58 31 3a 53 59 3d 59 31 3a c8 |.) SX=X1:SY=Y1:.| 0001a5e0 93 20 53 58 2d 73 25 2f 32 2c 53 59 2d 73 25 2f |. SX-s%/2,SY-s%/| 0001a5f0 32 2c 73 25 2c 73 25 0d 0e 02 26 20 f2 77 61 69 |2,s%,s%...& .wai| 0001a600 74 5f 6e 6f 5f 62 75 74 74 6f 6e 3a f5 3a c8 97 |t_no_button:.:..| 0001a610 20 58 2c 59 2c 42 3a fd 20 42 3c 3e 30 0d 0e 03 | X,Y,B:. B<>0...| 0001a620 35 20 c8 93 20 53 58 2d 73 25 2f 32 2c 53 59 2d |5 .. SX-s%/2,SY-| 0001a630 73 25 2f 32 2c 73 25 2c 73 25 3a 58 64 69 66 66 |s%/2,s%,s%:Xdiff| 0001a640 25 3d 58 2d 53 58 3a 59 64 69 66 66 25 3d 59 2d |%=X-SX:Ydiff%=Y-| 0001a650 53 59 0d 0e 04 1e 20 58 3d 28 58 20 81 20 32 29 |SY.... X=(X . 2)| 0001a660 2a 32 3a 59 3d 28 59 20 81 20 32 29 2a 32 3a f5 |*2:Y=(Y . 2)*2:.| 0001a670 0d 0e 05 29 20 c8 93 20 58 2d 58 64 69 66 66 25 |...) .. X-Xdiff%| 0001a680 2d 73 25 2f 32 2c 59 2d 59 64 69 66 66 25 2d 73 |-s%/2,Y-Ydiff%-s| 0001a690 25 2f 32 2c 73 25 2c 73 25 0d 0e 06 2d 20 f5 3a |%/2,s%,s%...- .:| 0001a6a0 c8 97 20 58 31 2c 59 31 2c 42 3a 58 31 3d 28 58 |.. X1,Y1,B:X1=(X| 0001a6b0 31 20 81 20 32 29 2a 32 3a 59 31 3d 28 59 31 20 |1 . 2)*2:Y1=(Y1 | 0001a6c0 81 20 32 29 2a 32 0d 0e 07 1b 20 fd 20 58 31 3c |. 2)*2.... . X1<| 0001a6d0 3e 58 20 84 20 59 31 3c 3e 59 20 84 20 42 3c 3e |>X . Y1<>Y . B<>| 0001a6e0 30 0d 0e 08 29 20 c8 93 20 58 2d 58 64 69 66 66 |0...) .. X-Xdiff| 0001a6f0 25 2d 73 25 2f 32 2c 59 2d 59 64 69 66 66 25 2d |%-s%/2,Y-Ydiff%-| 0001a700 73 25 2f 32 2c 73 25 2c 73 25 0d 0e 09 0c 20 e7 |s%/2,s%,s%.... .| 0001a710 20 42 3d 32 20 8c 0d 0e 0a 19 20 73 25 2b 3d 38 | B=2 ..... s%+=8| 0001a720 3a e7 20 73 25 3e 34 38 20 8c 20 73 25 3d 38 0d |:. s%>48 . s%=8.| 0001a730 0e 0b 14 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 |... .wait_no_but| 0001a740 74 6f 6e 0d 0e 0c 06 20 cd 0d 0e 0d 0c 20 e7 20 |ton.... ..... . | 0001a750 42 3d 34 20 8c 0d 0e 0e 22 20 ec 20 58 2d 58 64 |B=4 ...." . X-Xd| 0001a760 69 66 66 25 2d 73 25 2f 32 2c 59 2d 59 64 69 66 |iff%-s%/2,Y-Ydif| 0001a770 66 25 2d 73 25 2f 32 0d 0e 0f 25 20 ec 20 42 59 |f%-s%/2...% . BY| 0001a780 20 73 25 2c 73 25 3a f0 20 26 42 46 2c 58 31 2d | s%,s%:. &BF,X1-| 0001a790 73 25 2f 32 2c 59 31 2d 73 25 2f 32 0d 0e 10 06 |s%/2,Y1-s%/2....| 0001a7a0 20 cd 0d 0e 11 1c 20 58 3d 58 31 3a 59 3d 59 31 | ..... X=X1:Y=Y1| 0001a7b0 3a fd 20 42 3d 31 3a f2 75 70 6d 69 6e 69 0d 0e |:. B=1:.upmini..| 0001a7c0 12 06 20 e1 0d 0e 13 04 0d 0e 14 10 20 dd 20 f2 |.. ......... . .| 0001a7d0 64 69 61 67 6f 6e 61 6c 0d 0e 15 13 20 c8 8e 20 |diagonal.... .. | 0001a7e0 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d 0e 16 2d 20 |menu_box% ....- | 0001a7f0 c9 20 34 3a 52 3d 32 35 35 3a 47 3d 32 35 35 3a |. 4:R=255:G=255:| 0001a800 42 3d 32 35 35 3a 52 49 3d 2d 2e 38 3a 47 49 3d |B=255:RI=-.8:GI=| 0001a810 2d 2e 38 3a 42 49 3d 30 0d 0e 17 2d 20 c9 20 35 |-.8:BI=0...- . 5| 0001a820 3a 52 3d 32 35 35 3a 47 3d 32 35 35 3a 42 3d 32 |:R=255:G=255:B=2| 0001a830 35 35 3a 52 49 3d 30 3a 47 49 3d 2d 2e 38 3a 42 |55:RI=0:GI=-.8:B| 0001a840 49 3d 2d 2e 38 0d 0e 18 2a 20 c9 20 36 3a 52 3d |I=-.8...* . 6:R=| 0001a850 30 3a 47 3d 32 35 35 3a 42 3d 32 35 35 3a 52 49 |0:G=255:B=255:RI| 0001a860 3d 2e 38 3a 47 49 3d 2d 2e 38 3a 42 49 3d 30 0d |=.8:GI=-.8:BI=0.| 0001a870 0e 19 2a 20 c9 20 37 3a 52 3d 32 35 35 3a 47 3d |..* . 7:R=255:G=| 0001a880 32 35 35 3a 42 3d 30 3a 52 49 3d 30 3a 47 49 3d |255:B=0:RI=0:GI=| 0001a890 2d 2e 38 3a 42 49 3d 2e 38 0d 0e 1a 29 20 c9 20 |-.8:BI=.8...) . | 0001a8a0 38 3a 52 3d 32 35 35 3a 47 3d 32 35 35 3a 42 3d |8:R=255:G=255:B=| 0001a8b0 30 3a 52 49 3d 30 3a 47 49 3d 2d 2e 38 3a 42 49 |0:RI=0:GI=-.8:BI| 0001a8c0 3d 30 0d 0e 1b 2d 20 c9 20 39 3a 52 3d 32 35 35 |=0...- . 9:R=255| 0001a8d0 3a 47 3d 32 35 35 3a 42 3d 32 35 35 3a 52 49 3d |:G=255:B=255:RI=| 0001a8e0 2d 2e 38 3a 47 49 3d 30 3a 42 49 3d 2d 2e 38 0d |-.8:GI=0:BI=-.8.| 0001a8f0 0e 1c 2c 20 c9 20 31 30 3a 52 3d 32 35 35 3a 47 |.., . 10:R=255:G| 0001a900 3d 32 35 35 3a 42 3d 30 3a 52 49 3d 2d 2e 38 3a |=255:B=0:RI=-.8:| 0001a910 47 49 3d 30 3a 42 49 3d 2b 2e 38 0d 0e 1d 2a 20 |GI=0:BI=+.8...* | 0001a920 c9 20 31 31 3a 52 3d 32 35 35 3a 47 3d 30 3a 42 |. 11:R=255:G=0:B| 0001a930 3d 30 3a 52 49 3d 2d 2e 38 3a 47 49 3d 30 3a 42 |=0:RI=-.8:GI=0:B| 0001a940 49 3d 2b 2e 38 0d 0e 1e 2d 20 c9 20 31 32 3a 52 |I=+.8...- . 12:R| 0001a950 3d 32 35 35 3a 47 3d 30 3a 42 3d 30 3a 52 49 3d |=255:G=0:B=0:RI=| 0001a960 2d 31 2e 36 3a 47 49 3d 2d 2e 38 3a 42 49 3d 31 |-1.6:GI=-.8:BI=1| 0001a970 2e 36 0d 0e 1f 31 20 c9 20 31 33 3a 52 3d 32 35 |.6...1 . 13:R=25| 0001a980 35 3a 47 3d 32 35 35 3a 42 3d 31 32 38 3a 52 49 |5:G=255:B=128:RI| 0001a990 3d 31 2e 36 3a 47 49 3d 34 2e 38 3a 42 49 3d 2d |=1.6:GI=4.8:BI=-| 0001a9a0 33 2e 32 0d 0e 20 06 20 cb 0d 0e 21 20 20 59 3d |3.2.. . ...! Y=| 0001a9b0 32 30 34 38 3a e3 20 58 25 3d 2d 31 32 38 30 20 |2048:. X%=-1280 | 0001a9c0 b8 20 31 32 38 30 20 88 38 0d 0e 22 0c 20 e6 20 |. 1280 .8..". . | 0001a9d0 52 2c 47 2c 42 0d 0e 23 14 20 ec 20 58 25 2c 30 |R,G,B..#. . X%,0| 0001a9e0 3a ec 20 31 32 38 30 2c 59 0d 0e 24 10 20 f0 20 |:. 1280,Y..$. . | 0001a9f0 38 35 2c 31 32 38 30 2c 30 0d 0e 25 21 20 52 2b |85,1280,0..%! R+| 0001aa00 3d 52 49 3a e7 20 52 3e 32 35 35 20 8c 20 52 3d |=RI:. R>255 . R=| 0001aa10 32 35 35 3a 52 49 3d 2d 52 49 0d 0e 26 17 20 e7 |255:RI=-RI..&. .| 0001aa20 20 52 3c 30 20 8c 20 52 3d 30 3a 52 49 3d 2d 52 | R<0 . R=0:RI=-R| 0001aa30 49 0d 0e 27 21 20 47 2b 3d 47 49 3a e7 20 47 3e |I..'! G+=GI:. G>| 0001aa40 32 35 35 20 8c 20 47 3d 32 35 35 3a 47 49 3d 2d |255 . G=255:GI=-| 0001aa50 47 49 0d 0e 28 17 20 e7 20 47 3c 30 20 8c 20 47 |GI..(. . G<0 . G| 0001aa60 3d 30 3a 47 49 3d 2d 47 49 0d 0e 29 21 20 42 2b |=0:GI=-GI..)! B+| 0001aa70 3d 42 49 3a e7 20 42 3e 32 35 35 20 8c 20 42 3d |=BI:. B>255 . B=| 0001aa80 32 35 35 3a 42 49 3d 2d 42 49 0d 0e 2a 17 20 e7 |255:BI=-BI..*. .| 0001aa90 20 42 3c 30 20 8c 20 42 3d 30 3a 42 49 3d 2d 42 | B<0 . B=0:BI=-B| 0001aaa0 49 0d 0e 2b 0d 20 59 2d 3d 36 2e 34 3a ed 0d 0e |I..+. Y-=6.4:...| 0001aab0 2c 21 20 e7 20 ac 28 6d 65 72 67 65 25 29 20 8c |,! . .(merge%) .| 0001aac0 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d | .upload_memory.| 0001aad0 0e 2d 06 20 e1 0d 0e 2e 04 0d 0e 2f 18 20 dd 20 |.-. ......./. . | 0001aae0 f2 62 6f 72 64 65 72 28 72 25 2c 67 25 2c 62 25 |.border(r%,g%,b%| 0001aaf0 29 0d 0e 30 14 20 f2 64 69 73 70 6c 61 79 5f 6d |)..0. .display_m| 0001ab00 65 6d 6f 72 79 0d 0e 31 27 20 57 25 3d 31 32 37 |emory..1' W%=127| 0001ab10 38 3a 59 25 3d 30 3a 69 6e 63 25 3d 31 36 2f 62 |8:Y%=0:inc%=16/b| 0001ab20 6f 72 64 65 72 5f 77 69 64 74 68 25 0d 0e 32 16 |order_width%..2.| 0001ab30 20 c8 8e 20 62 6f 72 64 65 72 5f 67 72 61 64 25 | .. border_grad%| 0001ab40 20 ca 0d 0e 33 23 20 c9 20 31 3a 72 69 25 3d 69 | ...3# . 1:ri%=i| 0001ab50 6e 63 25 3a 67 69 25 3d 69 6e 63 25 3a 62 69 25 |nc%:gi%=inc%:bi%| 0001ab60 3d 69 6e 63 25 0d 0e 34 24 20 c9 20 32 3a 72 69 |=inc%..4$ . 2:ri| 0001ab70 25 3d 69 6e 63 25 3a 67 69 25 3d 69 6e 63 25 3a |%=inc%:gi%=inc%:| 0001ab80 62 69 25 3d 2d 69 6e 63 25 0d 0e 35 24 20 c9 20 |bi%=-inc%..5$ . | 0001ab90 33 3a 72 69 25 3d 2d 69 6e 63 25 3a 67 69 25 3d |3:ri%=-inc%:gi%=| 0001aba0 69 6e 63 25 3a 62 69 25 3d 69 6e 63 25 0d 0e 36 |inc%:bi%=inc%..6| 0001abb0 25 20 c9 20 34 3a 72 69 25 3d 2d 69 6e 63 25 3a |% . 4:ri%=-inc%:| 0001abc0 67 69 25 3d 69 6e 63 25 3a 62 69 25 3d 2d 69 6e |gi%=inc%:bi%=-in| 0001abd0 63 25 0d 0e 37 24 20 c9 20 35 3a 72 69 25 3d 69 |c%..7$ . 5:ri%=i| 0001abe0 6e 63 25 3a 67 69 25 3d 2d 69 6e 63 25 3a 62 69 |nc%:gi%=-inc%:bi| 0001abf0 25 3d 69 6e 63 25 0d 0e 38 25 20 c9 20 36 3a 72 |%=inc%..8% . 6:r| 0001ac00 69 25 3d 69 6e 63 25 3a 67 69 25 3d 2d 69 6e 63 |i%=inc%:gi%=-inc| 0001ac10 25 3a 62 69 25 3d 2d 69 6e 63 25 0d 0e 39 25 20 |%:bi%=-inc%..9% | 0001ac20 c9 20 37 3a 72 69 25 3d 2d 69 6e 63 25 3a 67 69 |. 7:ri%=-inc%:gi| 0001ac30 25 3d 2d 69 6e 63 25 3a 62 69 25 3d 69 6e 63 25 |%=-inc%:bi%=inc%| 0001ac40 0d 0e 3a 26 20 c9 20 38 3a 72 69 25 3d 2d 69 6e |..:& . 8:ri%=-in| 0001ac50 63 25 3a 67 69 25 3d 2d 69 6e 63 25 3a 62 69 25 |c%:gi%=-inc%:bi%| 0001ac60 3d 2d 69 6e 63 25 0d 0e 3b 06 20 cb 0d 0e 3c 21 |=-inc%..;. ...<!| 0001ac70 20 e3 20 58 25 3d 30 20 b8 20 33 31 2a 62 6f 72 | . X%=0 . 31*bor| 0001ac80 64 65 72 5f 77 69 64 74 68 25 20 88 32 0d 0e 3d |der_width% .2..=| 0001ac90 1f 20 e6 20 72 25 2c 67 25 2c 62 25 3a c8 93 20 |. . r%,g%,b%:.. | 0001aca0 58 25 2c 59 25 2c 57 25 2c 62 68 25 0d 0e 3e 17 |X%,Y%,W%,bh%..>.| 0001acb0 20 59 25 2b 3d 32 3a 57 25 2d 3d 34 3a 62 68 25 | Y%+=2:W%-=4:bh%| 0001acc0 2d 3d 34 0d 0e 3f 1e 20 72 25 2b 3d 72 69 25 3a |-=4..?. r%+=ri%:| 0001acd0 e7 20 72 25 3e 32 35 35 20 8c 20 72 25 3d 32 35 |. r%>255 . r%=25| 0001ace0 35 0d 0e 40 12 20 e7 20 72 25 3c 30 20 8c 20 72 |5..@. . r%<0 . r| 0001acf0 25 3d 30 0d 0e 41 1e 20 67 25 2b 3d 67 69 25 3a |%=0..A. g%+=gi%:| 0001ad00 e7 20 67 25 3e 32 35 35 20 8c 20 67 25 3d 32 35 |. g%>255 . g%=25| 0001ad10 35 0d 0e 42 12 20 e7 20 67 25 3c 30 20 8c 20 67 |5..B. . g%<0 . g| 0001ad20 25 3d 30 0d 0e 43 1e 20 62 25 2b 3d 62 69 25 3a |%=0..C. b%+=bi%:| 0001ad30 e7 20 62 25 3e 32 35 35 20 8c 20 62 25 3d 32 35 |. b%>255 . b%=25| 0001ad40 35 0d 0e 44 12 20 e7 20 62 25 3c 30 20 8c 20 62 |5..D. . b%<0 . b| 0001ad50 25 3d 30 0d 0e 45 06 20 ed 0d 0e 46 0c 20 f2 75 |%=0..E. ...F. .u| 0001ad60 70 6d 69 6e 69 0d 0e 47 06 20 e1 0d 0e 48 04 0d |pmini..G. ...H..| 0001ad70 0e 49 1b 20 dd 20 f2 6c 6f 61 64 5f 6f 76 65 72 |.I. . .load_over| 0001ad80 6c 61 79 5f 73 70 72 69 74 65 0d 0e 4a 31 20 21 |lay_sprite..J1 !| 0001ad90 73 70 72 25 3d 74 78 74 73 69 7a 65 25 3a 73 70 |spr%=txtsize%:sp| 0001ada0 72 25 21 34 3d 30 3a 73 70 72 25 21 38 3d 31 36 |r%!4=0:spr%!8=16| 0001adb0 3a 73 70 72 25 21 31 32 3d 31 36 0d 0e 4b 2f 20 |:spr%!12=16..K/ | 0001adc0 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 31 |.. sprswi%,256+1| 0001add0 30 2c 73 70 72 25 2c 64 69 72 24 2b 22 2e 22 2b |0,spr%,dir$+"."+| 0001ade0 63 61 74 24 28 62 6f 78 25 29 0d 0e 4c 34 20 c8 |cat$(box%)..L4 .| 0001adf0 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 31 33 |. sprswi%,256+13| 0001ae00 2c 73 70 72 25 2c 73 70 72 69 74 65 5f 6e 61 6d |,spr%,sprite_nam| 0001ae10 65 25 2c 33 32 2c 31 20 b8 2c 2c 2c 4c 25 0d 0e |e%,32,1 .,,,L%..| 0001ae20 4d 35 20 3f 28 73 70 72 69 74 65 5f 6e 61 6d 65 |M5 ?(sprite_name| 0001ae30 25 2b 4c 25 29 3d 31 33 3a 73 70 72 69 74 65 5f |%+L%)=13:sprite_| 0001ae40 6e 61 6d 65 24 3d 24 73 70 72 69 74 65 5f 6e 61 |name$=$sprite_na| 0001ae50 6d 65 25 0d 0e 4e 44 20 6f 76 65 72 6c 61 79 25 |me%..ND overlay%| 0001ae60 3d b9 3a 6f 76 65 72 6c 61 79 5f 6f 75 74 6c 69 |=.:overlay_outli| 0001ae70 6e 65 25 3d 30 3a 73 63 72 65 65 6e 5f 67 72 61 |ne%=0:screen_gra| 0001ae80 62 62 65 64 25 3d 30 3a 6d 61 73 6b 5f 63 72 65 |bbed%=0:mask_cre| 0001ae90 61 74 65 64 25 3d 30 0d 0e 4f 34 20 e7 20 c2 64 |ated%=0..O4 . .d| 0001aea0 69 72 24 2c 37 29 3d 22 50 53 74 69 6c 65 73 22 |ir$,7)="PStiles"| 0001aeb0 20 8c 20 f2 74 69 6c 65 64 5f 73 70 72 69 74 65 | . .tiled_sprite| 0001aec0 5f 62 61 63 6b 67 72 6f 75 6e 64 0d 0e 50 06 20 |_background..P. | 0001aed0 e1 0d 0e 51 04 0d 0e 52 1b 20 dd 20 f2 67 72 61 |...Q...R. . .gra| 0001aee0 62 5f 73 63 72 65 65 6e 5f 65 6c 6c 69 70 73 65 |b_screen_ellipse| 0001aef0 0d 0e 53 24 20 f2 64 69 73 70 6c 61 79 5f 6d 65 |..S$ .display_me| 0001af00 6d 6f 72 79 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 |mory:.wait_no_bu| 0001af10 74 74 6f 6e 0d 0e 54 31 20 21 73 70 72 25 3d 74 |tton..T1 !spr%=t| 0001af20 78 74 73 69 7a 65 25 3a 73 70 72 25 21 34 3d 30 |xtsize%:spr%!4=0| 0001af30 3a 73 70 72 25 21 38 3d 31 36 3a 73 70 72 25 21 |:spr%!8=16:spr%!| 0001af40 31 32 3d 31 36 0d 0e 55 38 20 c8 97 20 58 25 2c |12=16..U8 .. X%,| 0001af50 59 25 2c 42 25 3a 52 31 25 3d 32 30 30 3a 52 32 |Y%,B%:R1%=200:R2| 0001af60 25 3d 32 30 30 3a e6 20 33 2c 36 33 3a c8 9d 20 |%=200:. 3,63:.. | 0001af70 58 25 2c 59 25 2c 52 31 25 2c 52 32 25 0d 0e 56 |X%,Y%,R1%,R2%..V| 0001af80 32 20 f5 3a f5 3a c8 97 20 58 32 25 2c 59 32 25 |2 .:.:.. X2%,Y2%| 0001af90 2c 42 25 3a fd 20 58 32 25 3c 3e 58 25 20 84 20 |,B%:. X2%<>X% . | 0001afa0 59 32 25 3c 3e 59 25 20 84 20 42 25 3c 3e 30 0d |Y2%<>Y% . B%<>0.| 0001afb0 0e 57 23 20 c8 9d 20 58 25 2c 59 25 2c 52 31 25 |.W# .. X%,Y%,R1%| 0001afc0 2c 52 32 25 3a 58 25 3d 58 32 25 3a 59 25 3d 59 |,R2%:X%=X2%:Y%=Y| 0001afd0 32 25 0d 0e 58 1d 20 e7 20 42 25 3d 32 20 80 20 |2%..X. . B%=2 . | 0001afe0 52 31 25 3e 38 20 80 20 52 32 25 3e 38 20 8c 0d |R1%>8 . R2%>8 ..| 0001aff0 0e 59 15 20 e7 20 a6 28 2d 35 29 20 8c 20 52 31 |.Y. . .(-5) . R1| 0001b000 25 2d 3d 31 0d 0e 5a 15 20 e7 20 a6 28 2d 36 29 |%-=1..Z. . .(-6)| 0001b010 20 8c 20 52 32 25 2d 3d 31 0d 0e 5b 26 20 e7 20 | . R2%-=1..[& . | 0001b020 ac 28 a6 2d 35 29 20 80 20 ac 28 a6 2d 36 29 20 |.(.-5) . .(.-6) | 0001b030 8c 20 52 31 25 2d 3d 31 3a 52 32 25 2d 3d 31 0d |. R1%-=1:R2%-=1.| 0001b040 0e 5c 0c 20 4b 25 3d a6 28 32 29 0d 0e 5d 06 20 |.\. K%=.(2)..]. | 0001b050 cd 0d 0e 5e 40 20 e7 20 42 25 3d 31 20 80 20 28 |...^@ . B%=1 . (| 0001b060 28 52 31 25 2b 31 29 2a 28 52 32 25 2b 31 29 2a |(R1%+1)*(R2%+1)*| 0001b070 32 29 2b 28 28 52 31 25 2b 31 29 2a 28 52 32 25 |2)+((R1%+1)*(R2%| 0001b080 2b 31 29 2f 38 29 3c 74 78 74 73 69 7a 65 25 20 |+1)/8)<txtsize% | 0001b090 8c 0d 0e 5f 15 20 e7 20 a6 28 2d 35 29 20 8c 20 |..._. . .(-5) . | 0001b0a0 52 31 25 2b 3d 31 0d 0e 60 15 20 e7 20 a6 28 2d |R1%+=1..`. . .(-| 0001b0b0 36 29 20 8c 20 52 32 25 2b 3d 31 0d 0e 61 26 20 |6) . R2%+=1..a& | 0001b0c0 e7 20 ac 28 a6 2d 35 29 20 80 20 ac 28 a6 2d 36 |. .(.-5) . .(.-6| 0001b0d0 29 20 8c 20 52 31 25 2b 3d 31 3a 52 32 25 2b 3d |) . R1%+=1:R2%+=| 0001b0e0 31 0d 0e 62 0c 20 4b 25 3d a6 28 32 29 0d 0e 63 |1..b. K%=.(2)..c| 0001b0f0 06 20 cd 0d 0e 64 17 20 c8 9d 20 58 32 25 2c 59 |. ...d. .. X2%,Y| 0001b100 32 25 2c 52 31 25 2c 52 32 25 0d 0e 65 27 20 fd |2%,R1%,R2%..e' .| 0001b110 20 42 25 3d 34 3a 52 31 25 3d 28 52 31 25 81 34 | B%=4:R1%=(R1%.4| 0001b120 29 2a 34 3a 52 32 25 3d 28 52 32 25 81 34 29 2a |)*4:R2%=(R2%.4)*| 0001b130 34 0d 0e 66 1a 20 e6 20 30 2c 30 3a f2 64 69 73 |4..f. . 0,0:.dis| 0001b140 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d 0e 67 47 20 |play_memory..gG | 0001b150 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 31 |.. sprswi%,256+1| 0001b160 36 2c 73 70 72 25 2c 22 65 6c 6c 69 70 73 65 22 |6,spr%,"ellipse"| 0001b170 2c 30 2c 58 32 25 2d 52 31 25 2c 59 32 25 2d 52 |,0,X2%-R1%,Y2%-R| 0001b180 32 25 2c 58 32 25 2b 52 31 25 2c 59 32 25 2b 52 |2%,X2%+R1%,Y2%+R| 0001b190 32 25 0d 0e 68 25 20 c8 99 20 73 70 72 73 77 69 |2%..h% .. sprswi| 0001b1a0 25 2c 32 35 36 2b 32 39 2c 73 70 72 25 2c 22 65 |%,256+29,spr%,"e| 0001b1b0 6c 6c 69 70 73 65 22 0d 0e 69 25 20 c8 99 20 73 |llipse"..i% .. s| 0001b1c0 70 72 73 77 69 25 2c 32 35 36 2b 36 31 2c 73 70 |prswi%,256+61,sp| 0001b1d0 72 25 2c 22 65 6c 6c 69 70 73 65 22 0d 0e 6a 1d |r%,"ellipse"..j.| 0001b1e0 20 e6 30 3a c8 93 20 c8 90 20 30 2c 30 2c 52 31 | .0:.. .. 0,0,R1| 0001b1f0 25 2a 32 2c 52 32 25 2a 32 0d 0e 6b 1d 20 e6 31 |%*2,R2%*2..k. .1| 0001b200 3a c8 9d 20 c8 90 20 52 31 25 2c 52 32 25 2c 52 |:.. .. R1%,R2%,R| 0001b210 31 25 2c 52 32 25 0d 0e 6c 3e 20 c8 99 20 73 70 |1%,R2%..l> .. sp| 0001b220 72 73 77 69 25 2c 32 35 36 2b 36 31 2c 73 70 72 |rswi%,256+61,spr| 0001b230 25 2c 30 3a 87 3a c8 96 3a 73 63 72 65 65 6e 5f |%,0:.:..:screen_| 0001b240 67 72 61 62 62 65 64 25 3d b9 3a 67 72 61 62 24 |grabbed%=.:grab$| 0001b250 3d 22 65 22 0d 0e 6d 40 20 67 72 61 62 73 69 7a |="e"..m@ grabsiz| 0001b260 65 31 25 3d 58 32 25 3a 67 72 61 62 73 69 7a 65 |e1%=X2%:grabsize| 0001b270 32 25 3d 59 32 25 3a 67 72 61 62 73 69 7a 65 33 |2%=Y2%:grabsize3| 0001b280 25 3d 52 31 25 3a 67 72 61 62 73 69 7a 65 34 25 |%=R1%:grabsize4%| 0001b290 3d 52 32 25 0d 0e 6e 43 20 6f 76 65 72 6c 61 79 |=R2%..nC overlay| 0001b2a0 25 3d b9 3a 6f 76 65 72 6c 61 79 5f 6f 75 74 6c |%=.:overlay_outl| 0001b2b0 69 6e 65 25 3d b9 3a 73 70 72 69 74 65 5f 6e 61 |ine%=.:sprite_na| 0001b2c0 6d 65 24 3d 22 65 6c 6c 69 70 73 65 22 3a 4f 4f |me$="ellipse":OO| 0001b2d0 43 25 3d 31 30 32 33 0d 0e 6f 14 20 6d 61 73 6b |C%=1023..o. mask| 0001b2e0 5f 63 72 65 61 74 65 64 25 3d 30 0d 0e 70 06 20 |_created%=0..p. | 0001b2f0 e1 0d 0e 71 04 0d 0e 72 1d 20 dd 20 f2 67 72 61 |...q...r. . .gra| 0001b300 62 5f 73 63 72 65 65 6e 5f 72 65 63 74 61 6e 67 |b_screen_rectang| 0001b310 6c 65 0d 0e 73 24 20 f2 64 69 73 70 6c 61 79 5f |le..s$ .display_| 0001b320 6d 65 6d 6f 72 79 3a f2 77 61 69 74 5f 6e 6f 5f |memory:.wait_no_| 0001b330 62 75 74 74 6f 6e 0d 0e 74 31 20 f2 67 72 61 62 |button..t1 .grab| 0001b340 5f 72 65 63 74 61 6e 67 6c 65 5f 63 75 72 73 6f |_rectangle_curso| 0001b350 72 3a e6 20 30 2c 30 3a f2 64 69 73 70 6c 61 79 |r:. 0,0:.display| 0001b360 5f 6d 65 6d 6f 72 79 0d 0e 75 31 20 21 73 70 72 |_memory..u1 !spr| 0001b370 25 3d 74 78 74 73 69 7a 65 25 3a 73 70 72 25 21 |%=txtsize%:spr%!| 0001b380 34 3d 30 3a 73 70 72 25 21 38 3d 31 36 3a 73 70 |4=0:spr%!8=16:sp| 0001b390 72 25 21 31 32 3d 31 36 0d 0e 76 33 20 c8 99 20 |r%!12=16..v3 .. | 0001b3a0 73 70 72 73 77 69 25 2c 32 35 36 2b 31 36 2c 73 |sprswi%,256+16,s| 0001b3b0 70 72 25 2c 22 72 65 63 74 61 6e 67 6c 65 22 2c |pr%,"rectangle",| 0001b3c0 30 2c 58 31 2c 59 31 2c 58 2c 59 0d 0e 77 4c 20 |0,X1,Y1,X,Y..wL | 0001b3d0 73 63 72 65 65 6e 5f 67 72 61 62 62 65 64 25 3d |screen_grabbed%=| 0001b3e0 b9 3a 67 72 61 62 73 69 7a 65 31 25 3d 58 31 3a |.:grabsize1%=X1:| 0001b3f0 67 72 61 62 73 69 7a 65 32 25 3d 59 31 3a 67 72 |grabsize2%=Y1:gr| 0001b400 61 62 73 69 7a 65 33 25 3d 58 3a 67 72 61 62 73 |absize3%=X:grabs| 0001b410 69 7a 65 34 25 3d 59 0d 0e 78 4f 20 6f 76 65 72 |ize4%=Y..xO over| 0001b420 6c 61 79 25 3d b9 3a 6f 76 65 72 6c 61 79 5f 6f |lay%=.:overlay_o| 0001b430 75 74 6c 69 6e 65 25 3d 30 3a 73 70 72 69 74 65 |utline%=0:sprite| 0001b440 5f 6e 61 6d 65 24 3d 22 72 65 63 74 61 6e 67 6c |_name$="rectangl| 0001b450 65 22 3a 4f 4f 43 25 3d 31 30 32 33 3a 67 72 61 |e":OOC%=1023:gra| 0001b460 62 24 3d 22 72 22 0d 0e 79 14 20 6d 61 73 6b 5f |b$="r"..y. mask_| 0001b470 63 72 65 61 74 65 64 25 3d 30 0d 0e 7a 06 20 e1 |created%=0..z. .| 0001b480 0d 0e 7b 04 0d 0e 7c 17 20 dd 20 a4 77 68 69 63 |..{...|. . .whic| 0001b490 68 5f 74 72 61 6e 73 6c 61 74 65 0d 0e 7d 17 20 |h_translate..}. | 0001b4a0 c8 8e 20 28 73 70 72 25 21 35 36 29 80 32 35 35 |.. (spr%!56).255| 0001b4b0 20 ca 0d 0e 7e 3d 20 c9 20 39 2c 31 32 2c 31 34 | ...~= . 9,12,14| 0001b4c0 2c 31 36 2c 31 37 2c 32 30 2c 32 32 2c 32 37 2c |,16,17,20,22,27,| 0001b4d0 33 31 2c 33 35 2c 33 39 2c 34 33 2c 34 36 2c 34 |31,35,39,43,46,4| 0001b4e0 38 3a 74 25 3d 74 72 61 6e 73 6c 61 74 65 25 0d |8:t%=translate%.| 0001b4f0 0e 7f 38 20 c9 20 31 30 2c 31 33 2c 31 35 2c 32 |..8 . 10,13,15,2| 0001b500 31 2c 32 34 2c 32 38 2c 33 32 2c 33 36 2c 34 30 |1,24,28,32,36,40| 0001b510 2c 34 37 2c 34 39 3a 74 25 3d 74 72 61 6e 73 6c |,47,49:t%=transl| 0001b520 61 74 65 32 35 36 25 0d 0e 80 0b 20 7f 20 74 25 |ate256%.... . t%| 0001b530 3d 30 0d 0e 81 06 20 cb 0d 0e 82 08 20 3d 74 25 |=0.... ..... =t%| 0001b540 0d 0e 83 04 0d 0e 84 1b 20 dd 20 f2 70 6c 6f 74 |........ . .plot| 0001b550 5f 6f 76 65 72 6c 61 79 5f 73 70 72 69 74 65 0d |_overlay_sprite.| 0001b560 0e 85 18 20 74 25 3d a4 77 68 69 63 68 5f 74 72 |... t%=.which_tr| 0001b570 61 6e 73 6c 61 74 65 0d 0e 86 26 20 c8 97 20 c8 |anslate...& .. .| 0001b580 93 20 2d 36 34 30 2c 2d 35 31 32 2c 31 32 38 30 |. -640,-512,1280| 0001b590 2b 36 34 30 2c 31 30 32 34 2b 35 31 32 0d 0e 87 |+640,1024+512...| 0001b5a0 24 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 |$ .display_memor| 0001b5b0 79 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f |y:.wait_no_butto| 0001b5c0 6e 0d 0e 88 23 20 e6 20 32 35 35 2c 32 35 35 2c |n...# . 255,255,| 0001b5d0 32 35 35 3a c8 93 20 30 2c 30 2c 31 32 37 38 2c |255:.. 0,0,1278,| 0001b5e0 31 30 32 32 0d 0e 89 0d 20 c8 97 20 58 2c 59 2c |1022.... .. X,Y,| 0001b5f0 42 0d 0e 8a 34 20 c8 99 20 73 70 72 73 77 69 25 |B...4 .. sprswi%| 0001b600 2c 32 35 36 2b 35 32 2c 73 70 72 25 2c 73 70 72 |,256+52,spr%,spr| 0001b610 69 74 65 5f 6e 61 6d 65 24 2c 58 2c 59 2c 31 31 |ite_name$,X,Y,11| 0001b620 2c 30 2c 74 25 0d 0e 8b 06 20 f5 0d 0e 8c 29 20 |,0,t%.... ....) | 0001b630 f5 3a c8 97 20 78 2c 79 2c 62 3a fd 20 78 3c 3e |.:.. x,y,b:. x<>| 0001b640 58 20 84 20 59 3c 3e 79 20 84 20 62 3d 31 20 84 |X . Y<>y . b=1 .| 0001b650 20 62 3d 34 0d 0e 8d 34 20 c8 99 20 73 70 72 73 | b=4...4 .. sprs| 0001b660 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 72 25 2c |wi%,256+52,spr%,| 0001b670 73 70 72 69 74 65 5f 6e 61 6d 65 24 2c 58 2c 59 |sprite_name$,X,Y| 0001b680 2c 31 31 2c 30 2c 74 25 0d 0e 8e 34 20 c8 99 20 |,11,0,t%...4 .. | 0001b690 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 |sprswi%,256+52,s| 0001b6a0 70 72 25 2c 73 70 72 69 74 65 5f 6e 61 6d 65 24 |pr%,sprite_name$| 0001b6b0 2c 78 2c 79 2c 31 31 2c 30 2c 74 25 0d 0e 8f 0c |,x,y,11,0,t%....| 0001b6c0 20 58 3d 78 3a 59 3d 79 0d 0e 90 10 20 fd 20 62 | X=x:Y=y.... . b| 0001b6d0 3d 31 20 84 20 62 3d 34 0d 0e 91 14 20 f2 64 69 |=1 . b=4.... .di| 0001b6e0 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d 0e 92 20 |splay_memory... | 0001b6f0 20 e7 20 62 3d 31 20 c8 97 20 c8 93 20 30 2c 30 | . b=1 .. .. 0,0| 0001b700 2c 31 32 38 30 2c 31 30 32 34 3a e1 0d 0e 93 34 |,1280,1024:....4| 0001b710 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b | .. sprswi%,256+| 0001b720 35 32 2c 73 70 72 25 2c 73 70 72 69 74 65 5f 6e |52,spr%,sprite_n| 0001b730 61 6d 65 24 2c 78 2c 79 2c 31 31 2c 30 2c 74 25 |ame$,x,y,11,0,t%| 0001b740 0d 0e 94 31 20 e7 20 62 3d 34 20 80 20 6f 76 65 |...1 . b=4 . ove| 0001b750 72 6c 61 79 5f 6f 75 74 6c 69 6e 65 25 20 80 20 |rlay_outline% . | 0001b760 4f 4f 43 25 3e 30 20 80 20 4f 4f 43 25 3c 34 20 |OOC%>0 . OOC%<4 | 0001b770 8c 0d 0e 95 1e 20 20 f2 73 70 72 69 74 65 5f 73 |..... .sprite_s| 0001b780 68 61 64 6f 77 28 78 2c 79 2c 4f 4f 43 25 29 0d |hadow(x,y,OOC%).| 0001b790 0e 96 07 20 20 cc 0d 0e 97 20 20 20 e7 20 62 3d |... .... . b=| 0001b7a0 34 20 80 20 6f 76 65 72 6c 61 79 5f 6f 75 74 6c |4 . overlay_outl| 0001b7b0 69 6e 65 25 20 8c 0d 0e 98 3e 20 20 20 72 25 3d |ine% ....> r%=| 0001b7c0 28 4f 4f 43 25 80 33 31 29 2a 38 3a 67 25 3d 28 |(OOC%.31)*8:g%=(| 0001b7d0 28 4f 4f 43 25 3e 3e 35 29 80 33 31 29 2a 38 3a |(OOC%>>5).31)*8:| 0001b7e0 62 25 3d 28 28 4f 4f 43 25 3e 3e 31 30 29 80 33 |b%=((OOC%>>10).3| 0001b7f0 31 29 2a 38 0d 0e 99 1a 20 20 20 e7 20 73 63 72 |1)*8.... . scr| 0001b800 65 65 6e 5f 67 72 61 62 62 65 64 25 20 8c 0d 0e |een_grabbed% ...| 0001b810 9a 12 20 20 20 20 e6 20 72 25 2c 67 25 2c 62 25 |.. . r%,g%,b%| 0001b820 0d 0e 9b 15 20 20 20 20 e7 20 67 72 61 62 24 3d |.... . grab$=| 0001b830 22 65 22 20 8c 0d 0e 9c 42 20 20 20 20 20 c8 9d |"e" ....B ..| 0001b840 20 c8 90 20 67 72 61 62 73 69 7a 65 33 25 2b 78 | .. grabsize3%+x| 0001b850 2c 67 72 61 62 73 69 7a 65 34 25 2b 79 2c 67 72 |,grabsize4%+y,gr| 0001b860 61 62 73 69 7a 65 33 25 2b 38 2c 67 72 61 62 73 |absize3%+8,grabs| 0001b870 69 7a 65 34 25 2b 38 0d 0e 9d 09 20 20 20 20 cc |ize4%+8.... .| 0001b880 0d 0e 9e 40 20 20 20 20 20 77 25 3d 67 72 61 62 |...@ w%=grab| 0001b890 73 69 7a 65 33 25 2d 67 72 61 62 73 69 7a 65 31 |size3%-grabsize1| 0001b8a0 25 2b 31 36 3a 68 25 3d 67 72 61 62 73 69 7a 65 |%+16:h%=grabsize| 0001b8b0 32 25 2d 67 72 61 62 73 69 7a 65 34 25 2b 31 36 |2%-grabsize4%+16| 0001b8c0 0d 0e 9f 1c 20 20 20 20 20 c8 93 20 c8 90 20 78 |.... .. .. x| 0001b8d0 2d 38 2c 79 2d 38 2c 77 25 2c 68 25 0d 0e a0 09 |-8,y-8,w%,h%....| 0001b8e0 20 20 20 20 cd 0d 0e a1 08 20 20 20 cc 0d 0e a2 | ..... ....| 0001b8f0 36 20 20 20 20 6f 76 65 72 6c 61 79 5f 6f 75 74 |6 overlay_out| 0001b900 6c 69 6e 65 5f 52 47 42 25 3d 28 62 25 3c 3c 32 |line_RGB%=(b%<<2| 0001b910 34 29 2b 28 67 25 3c 3c 31 36 29 2b 28 72 25 3c |4)+(g%<<16)+(r%<| 0001b920 3c 38 29 0d 0e a3 3f 20 20 20 20 c8 99 20 22 43 |<8)...? .. "C| 0001b930 6f 6c 6f 75 72 54 72 61 6e 73 5f 53 65 74 47 43 |olourTrans_SetGC| 0001b940 4f 4c 22 2c 6f 76 65 72 6c 61 79 5f 6f 75 74 6c |OL",overlay_outl| 0001b950 69 6e 65 5f 52 47 42 25 2c 30 2c 30 2c 31 32 38 |ine_RGB%,0,0,128| 0001b960 2c 30 0d 0e a4 2b 20 20 20 20 e3 20 59 25 3d 79 |,0...+ . Y%=y| 0001b970 2d 38 20 b8 20 79 2b 38 20 88 34 3a e3 20 58 25 |-8 . y+8 .4:. X%| 0001b980 3d 78 2d 38 20 b8 20 78 2b 38 20 88 34 0d 0e a5 |=x-8 . x+8 .4...| 0001b990 35 20 20 20 20 c8 99 20 73 70 72 73 77 69 25 2c |5 .. sprswi%,| 0001b9a0 32 35 36 2b 34 39 2c 73 70 72 25 2c 73 70 72 69 |256+49,spr%,spri| 0001b9b0 74 65 5f 6e 61 6d 65 24 2c 58 25 2c 59 25 3a ed |te_name$,X%,Y%:.| 0001b9c0 3a ed 0d 0e a6 08 20 20 20 cd 0d 0e a7 07 20 20 |:..... ..... | 0001b9d0 cd 0d 0e a8 06 20 cd 0d 0e a9 3b 20 e7 20 62 3d |..... ....; . b=| 0001b9e0 34 20 8c 20 c8 99 20 73 70 72 73 77 69 25 2c 32 |4 . .. sprswi%,2| 0001b9f0 35 36 2b 35 32 2c 73 70 72 25 2c 73 70 72 69 74 |56+52,spr%,sprit| 0001ba00 65 5f 6e 61 6d 65 24 2c 78 2c 79 2c 38 2c 30 2c |e_name$,x,y,8,0,| 0001ba10 74 25 0d 0e aa 18 20 c8 97 20 c8 93 20 30 2c 30 |t%.... .. .. 0,0| 0001ba20 2c 31 32 38 30 2c 31 30 32 34 0d 0e ab 13 20 f2 |,1280,1024.... .| 0001ba30 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d 0e ac |upload_memory...| 0001ba40 06 20 e1 0d 0e ad 04 0d 0e ae 19 20 dd 20 f2 70 |. ......... . .p| 0001ba50 61 69 6e 74 5f 77 69 74 68 5f 73 70 72 69 74 65 |aint_with_sprite| 0001ba60 0d 0e af 5c 20 e7 20 ac 20 6f 76 65 72 6c 61 79 |...\ . . overlay| 0001ba70 25 20 85 20 31 39 39 37 2c 22 4e 6f 20 73 70 72 |% . 1997,"No spr| 0001ba80 69 74 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 |ite is available| 0001ba90 20 2e 2e 2e 22 2b bd 31 33 2b 22 4c 6f 61 64 20 | ..."+.13+"Load | 0001baa0 6f 72 20 63 72 65 61 74 65 20 6f 6e 65 20 61 6e |or create one an| 0001bab0 64 20 74 72 79 20 61 67 61 69 6e 22 0d 0e b0 18 |d try again"....| 0001bac0 20 74 25 3d a4 77 68 69 63 68 5f 74 72 61 6e 73 | t%=.which_trans| 0001bad0 6c 61 74 65 0d 0e b1 26 20 c8 97 20 c8 93 20 2d |late...& .. .. -| 0001bae0 36 34 30 2c 2d 35 31 32 2c 31 32 38 30 2b 36 34 |640,-512,1280+64| 0001baf0 30 2c 31 30 32 34 2b 35 31 32 0d 0e b2 24 20 f2 |0,1024+512...$ .| 0001bb00 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 3a f2 |display_memory:.| 0001bb10 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 0e |wait_no_button..| 0001bb20 b3 0d 20 c8 97 20 58 2c 59 2c 42 0d 0e b4 06 20 |.. .. X,Y,B.... | 0001bb30 f5 0d 0e b5 06 20 f5 0d 0e b6 34 20 c8 99 20 73 |..... ....4 .. s| 0001bb40 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 |prswi%,256+52,sp| 0001bb50 72 25 2c 73 70 72 69 74 65 5f 6e 61 6d 65 24 2c |r%,sprite_name$,| 0001bb60 58 2c 59 2c 31 31 2c 30 2c 74 25 0d 0e b7 21 20 |X,Y,11,0,t%...! | 0001bb70 f5 3a c8 97 20 58 31 2c 59 31 2c 42 3a fd 20 58 |.:.. X1,Y1,B:. X| 0001bb80 3c 3e 58 31 20 84 20 59 3c 3e 59 31 0d 0e b8 34 |<>X1 . Y<>Y1...4| 0001bb90 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b | .. sprswi%,256+| 0001bba0 35 32 2c 73 70 72 25 2c 73 70 72 69 74 65 5f 6e |52,spr%,sprite_n| 0001bbb0 61 6d 65 24 2c 58 2c 59 2c 31 31 2c 30 2c 74 25 |ame$,X,Y,11,0,t%| 0001bbc0 0d 0e b9 0e 20 58 3d 58 31 3a 59 3d 59 31 0d 0e |.... X=X1:Y=Y1..| 0001bbd0 ba 0b 20 fd 20 42 3c 3e 30 0d 0e bb 39 20 e7 20 |.. . B<>0...9 . | 0001bbe0 42 3d 34 20 c8 99 20 73 70 72 73 77 69 25 2c 32 |B=4 .. sprswi%,2| 0001bbf0 35 36 2b 35 32 2c 73 70 72 25 2c 73 70 72 69 74 |56+52,spr%,sprit| 0001bc00 65 5f 6e 61 6d 65 24 2c 58 2c 59 2c 38 2c 30 2c |e_name$,X,Y,8,0,| 0001bc10 74 25 0d 0e bc 0a 20 fd 20 42 3d 31 0d 0e bd 0c |t%.... . B=1....| 0001bc20 20 f2 75 70 6d 69 6e 69 0d 0e be 18 20 c8 97 20 | .upmini.... .. | 0001bc30 c8 93 20 30 2c 30 2c 31 32 38 30 2c 31 30 32 34 |.. 0,0,1280,1024| 0001bc40 0d 0e bf 06 20 e1 0d 0e c0 04 0d 0e c1 1f 20 dd |.... ......... .| 0001bc50 20 f2 74 69 6c 65 64 5f 73 70 72 69 74 65 5f 62 | .tiled_sprite_b| 0001bc60 61 63 6b 67 72 6f 75 6e 64 0d 0e c2 28 20 f2 64 |ackground...( .d| 0001bc70 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 3a 74 25 |isplay_memory:t%| 0001bc80 3d a4 77 68 69 63 68 5f 74 72 61 6e 73 6c 61 74 |=.which_translat| 0001bc90 65 0d 0e c3 32 20 c8 99 20 73 70 72 73 77 69 25 |e...2 .. sprswi%| 0001bca0 2c 32 35 36 2b 34 30 2c 73 70 72 25 2c 73 70 72 |,256+40,spr%,spr| 0001bcb0 69 74 65 5f 6e 61 6d 65 24 20 b8 2c 2c 2c 77 25 |ite_name$ .,,,w%| 0001bcc0 2c 68 25 0d 0e c4 2e 20 e3 20 59 25 3d 30 20 b8 |,h%.... . Y%=0 .| 0001bcd0 20 31 36 30 30 20 88 20 68 25 2a 32 3a e3 20 58 | 1600 . h%*2:. X| 0001bce0 25 3d 30 20 b8 20 31 38 30 30 20 88 20 77 25 2a |%=0 . 1800 . w%*| 0001bcf0 32 0d 0e c5 35 20 c8 99 20 73 70 72 73 77 69 25 |2...5 .. sprswi%| 0001bd00 2c 32 35 36 2b 35 32 2c 73 70 72 25 2c 73 70 72 |,256+52,spr%,spr| 0001bd10 69 74 65 5f 6e 61 6d 65 24 2c 58 25 2c 59 25 2c |ite_name$,X%,Y%,| 0001bd20 38 2c 30 2c 74 25 0d 0e c6 17 20 ed 3a ed 3a f2 |8,0,t%.... .:.:.| 0001bd30 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d 0e c7 |upload_memory...| 0001bd40 06 20 e1 0d 0e c8 04 0d 0e c9 2d 20 dd 20 f2 73 |. ........- . .s| 0001bd50 74 61 72 5f 66 69 65 6c 64 3a 42 3d 31 38 30 3a |tar_field:B=180:| 0001bd60 e3 20 59 25 3d 30 b8 31 30 32 33 88 34 3a e6 30 |. Y%=0.1023.4:.0| 0001bd70 2c 30 2c 42 0d 0e ca 27 20 c8 93 20 c8 90 30 2c |,0,B...' .. ..0,| 0001bd80 59 25 2c 31 32 38 30 2c 34 3a 42 2d 3d 2e 38 3a |Y%,1280,4:B-=.8:| 0001bd90 e7 20 42 3c 30 20 8c 20 42 3d 30 0d 0e cb 3c 20 |. B<0 . B=0...< | 0001bda0 ed 3a e3 20 4e 25 3d 31 b8 34 30 30 3a 58 25 3d |.:. N%=1.400:X%=| 0001bdb0 b3 28 31 32 38 30 29 3a 59 25 3d b3 28 31 30 32 |.(1280):Y%=.(102| 0001bdc0 34 29 3a 52 25 3d 35 31 2b 59 25 2f 35 3a 62 25 |4):R%=51+Y%/5:b%| 0001bdd0 3d b3 28 32 35 35 29 0d 0e cc 25 20 e6 20 52 25 |=.(255)...% . R%| 0001bde0 2c 52 25 2c 62 25 3a c8 92 20 58 25 2c 59 25 3a |,R%,b%:.. X%,Y%:| 0001bdf0 c8 92 20 58 25 2b 32 2c 59 25 3a ed 0d 0e cd 06 |.. X%+2,Y%:.....| 0001be00 20 e1 0d 0e ce 04 0d 0e cf 0f 20 dd 20 f2 73 70 | ......... . .sp| 0001be10 6c 61 73 68 32 0d 0e d0 3b 20 42 3d 32 35 35 3a |lash2...; B=255:| 0001be20 42 49 3d 2d 31 3a e3 20 59 3d 31 30 32 30 20 b8 |BI=-1:. Y=1020 .| 0001be30 20 30 20 88 2d 34 3a e6 20 36 34 2c 30 2c 42 3a | 0 .-4:. 64,0,B:| 0001be40 c8 93 20 c8 90 20 30 2c 59 2c 31 32 38 30 2c 34 |.. .. 0,Y,1280,4| 0001be50 0d 0e d1 2e 20 42 2b 3d 42 49 3a ed 3a 42 3d 30 |.... B+=BI:.:B=0| 0001be60 3a 42 49 3d 31 3a e3 20 59 3d 31 30 32 30 20 b8 |:BI=1:. Y=1020 .| 0001be70 20 30 20 88 2d 34 3a e6 20 30 2c 30 2c 42 0d 0e | 0 .-4:. 0,0,B..| 0001be80 d2 1f 20 c8 93 20 c8 90 20 31 30 30 2c 59 2c 31 |.. .. .. 100,Y,1| 0001be90 30 37 38 2c 34 3a 42 2b 3d 42 49 3a ed 0d 0e d3 |078,4:B+=BI:....| 0001bea0 31 20 21 73 70 72 25 3d 74 78 74 73 69 7a 65 25 |1 !spr%=txtsize%| 0001beb0 3a 73 70 72 25 21 34 3d 30 3a 73 70 72 25 21 38 |:spr%!4=0:spr%!8| 0001bec0 3d 31 36 3a 73 70 72 25 21 31 32 3d 31 36 0d 0e |=16:spr%!12=16..| 0001bed0 d4 3b 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 |.; .. sprswi%,25| 0001bee0 36 2b 31 30 2c 73 70 72 25 2c 22 3c 50 73 63 61 |6+10,spr%,"<Psca| 0001bef0 6e 24 44 69 72 3e 2e 50 53 73 70 72 69 74 65 73 |n$Dir>.PSsprites| 0001bf00 2e 70 73 63 61 6e 39 36 22 0d 0e d5 33 20 c8 99 |.pscan96"...3 ..| 0001bf10 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c | sprswi%,256+52,| 0001bf20 73 70 72 25 2c 22 70 73 63 61 6e 39 36 22 2c 33 |spr%,"pscan96",3| 0001bf30 35 30 2c 38 30 30 2c 38 2c 30 2c 30 0d 0e d6 39 |50,800,8,0,0...9| 0001bf40 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b | .. sprswi%,256+| 0001bf50 31 30 2c 73 70 72 25 2c 22 3c 50 73 63 61 6e 24 |10,spr%,"<Pscan$| 0001bf60 44 69 72 3e 2e 50 53 73 70 72 69 74 65 73 2e 61 |Dir>.PSsprites.a| 0001bf70 63 6f 72 6e 22 0d 0e d7 31 20 c8 99 20 73 70 72 |corn"...1 .. spr| 0001bf80 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 72 25 |swi%,256+52,spr%| 0001bf90 2c 22 61 63 6f 72 6e 22 2c 35 31 30 2c 33 34 30 |,"acorn",510,340| 0001bfa0 2c 38 2c 30 2c 30 0d 0e d8 3a 20 c8 99 20 73 70 |,8,0,0...: .. sp| 0001bfb0 72 73 77 69 25 2c 32 35 36 2b 31 30 2c 73 70 72 |rswi%,256+10,spr| 0001bfc0 25 2c 22 3c 50 73 63 61 6e 24 44 69 72 3e 2e 50 |%,"<Pscan$Dir>.P| 0001bfd0 53 73 70 72 69 74 65 73 2e 76 6d 65 73 73 31 22 |Ssprites.vmess1"| 0001bfe0 0d 0e d9 31 20 c8 99 20 73 70 72 73 77 69 25 2c |...1 .. sprswi%,| 0001bff0 32 35 36 2b 35 32 2c 73 70 72 25 2c 22 76 6d 65 |256+52,spr%,"vme| 0001c000 73 73 31 22 2c 32 30 2c 31 34 30 2c 38 2c 30 2c |ss1",20,140,8,0,| 0001c010 30 0d 0e da 3a 20 c8 99 20 73 70 72 73 77 69 25 |0...: .. sprswi%| 0001c020 2c 32 35 36 2b 31 30 2c 73 70 72 25 2c 22 3c 50 |,256+10,spr%,"<P| 0001c030 73 63 61 6e 24 44 69 72 3e 2e 50 53 73 70 72 69 |scan$Dir>.PSspri| 0001c040 74 65 73 2e 76 6d 65 73 73 32 22 0d 0e db 33 20 |tes.vmess2"...3 | 0001c050 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 |.. sprswi%,256+5| 0001c060 32 2c 73 70 72 25 2c 22 76 6d 65 73 73 32 22 2c |2,spr%,"vmess2",| 0001c070 31 32 30 30 2c 31 35 36 2c 38 2c 30 2c 30 0d 0e |1200,156,8,0,0..| 0001c080 dc 0c 20 74 65 78 74 25 3d 30 0d 0e dd 42 20 f2 |.. text%=0...B .| 0001c090 77 72 69 74 65 28 22 48 6f 6d 65 72 74 6f 6e 2e |write("Homerton.| 0001c0a0 42 6f 6c 64 22 2c 22 56 65 72 73 69 6f 6e 20 22 |Bold","Version "| 0001c0b0 2b 76 65 72 24 2c 73 70 6c 61 73 68 32 78 25 2c |+ver$,splash2x%,| 0001c0c0 32 30 38 2c 32 38 2c 32 38 2c 30 29 0d 0e de 45 |208,28,28,0)...E| 0001c0d0 20 f2 77 72 69 74 65 28 22 48 6f 6d 65 72 74 6f | .write("Homerto| 0001c0e0 6e 2e 42 6f 6c 64 22 2c 22 56 65 72 73 69 6f 6e |n.Bold","Version| 0001c0f0 20 22 2b 76 65 72 24 2c 73 70 6c 61 73 68 32 78 | "+ver$,splash2x| 0001c100 25 2d 31 30 2c 32 31 36 2c 32 38 2c 32 38 2c 37 |%-10,216,28,28,7| 0001c110 29 0d 0e df 43 20 f2 77 72 69 74 65 28 22 48 6f |)...C .write("Ho| 0001c120 6d 65 72 74 6f 6e 2e 42 6f 6c 64 22 2c 22 2d 20 |merton.Bold","- | 0001c130 50 72 65 73 73 20 48 20 66 6f 72 20 68 65 6c 70 |Press H for help| 0001c140 20 2d 22 2c 33 36 34 2c 31 30 36 2c 32 34 2c 32 | -",364,106,24,2| 0001c150 34 2c 35 29 0d 0e e0 06 20 e1 0d 0e e1 04 0d 0e |4,5).... .......| 0001c160 e2 29 20 dd 20 f2 72 61 69 73 65 64 5f 62 6c 6f |.) . .raised_blo| 0001c170 63 6b 28 72 62 78 25 2c 72 62 79 25 2c 72 62 77 |ck(rbx%,rby%,rbw| 0001c180 25 2c 72 62 68 25 29 0d 0e e3 30 20 e6 20 30 2c |%,rbh%)...0 . 0,| 0001c190 30 2c 30 3a c8 93 20 c8 90 20 72 62 78 25 2d 36 |0,0:.. .. rbx%-6| 0001c1a0 2c 72 62 79 25 2d 36 2c 72 62 77 25 2b 31 30 2c |,rby%-6,rbw%+10,| 0001c1b0 72 62 68 25 2b 31 32 0d 0e e4 34 20 e6 20 32 35 |rbh%+12...4 . 25| 0001c1c0 35 2c 32 35 35 2c 32 35 35 3a c8 93 20 c8 90 20 |5,255,255:.. .. | 0001c1d0 72 62 78 25 2d 34 2c 72 62 79 25 2d 34 2c 72 62 |rbx%-4,rby%-4,rb| 0001c1e0 77 25 2b 36 2c 72 62 68 25 2b 38 0d 0e e5 2f 20 |w%+6,rbh%+8.../ | 0001c1f0 e6 20 39 36 2c 39 36 2c 39 36 3a c8 93 20 c8 90 |. 96,96,96:.. ..| 0001c200 20 72 62 78 25 2c 72 62 79 25 2d 34 2c 72 62 77 | rbx%,rby%-4,rbw| 0001c210 25 2b 32 2c 72 62 68 25 2b 34 0d 0e e6 2e 20 e6 |%+2,rbh%+4.... .| 0001c220 20 32 30 38 2c 32 30 38 2c 32 31 36 3a c8 93 20 | 208,208,216:.. | 0001c230 c8 90 20 72 62 78 25 2c 72 62 79 25 2c 72 62 77 |.. rbx%,rby%,rbw| 0001c240 25 2d 32 2c 72 62 68 25 0d 0e e7 1f 20 e6 20 39 |%-2,rbh%.... . 9| 0001c250 36 2c 39 36 2c 39 36 3a ec 20 72 62 78 25 2d 34 |6,96,96:. rbx%-4| 0001c260 2c 72 62 79 25 2d 34 0d 0e e8 26 20 ec 20 72 62 |,rby%-4...& . rb| 0001c270 78 25 2d 32 2c 72 62 79 25 2d 34 3a f0 38 35 2c |x%-2,rby%-4:.85,| 0001c280 72 62 78 25 2d 32 2c 72 62 79 25 2d 32 0d 0e e9 |rbx%-2,rby%-2...| 0001c290 27 20 e6 20 39 36 2c 39 36 2c 39 36 3a ec 20 72 |' . 96,96,96:. r| 0001c2a0 62 78 25 2b 72 62 77 25 2c 72 62 79 25 2b 72 62 |bx%+rbw%,rby%+rb| 0001c2b0 68 25 2b 32 0d 0e ea 3a 20 ec 20 72 62 78 25 2b |h%+2...: . rbx%+| 0001c2c0 72 62 77 25 2b 32 2c 72 62 79 25 2b 72 62 68 25 |rbw%+2,rby%+rbh%| 0001c2d0 2b 32 3a f0 38 35 2c 72 62 78 25 2b 72 62 77 25 |+2:.85,rbx%+rbw%| 0001c2e0 2b 32 2c 72 62 79 25 2b 72 62 68 25 2b 34 0d 0e |+2,rby%+rbh%+4..| 0001c2f0 eb 06 20 e1 0d 0e ec 04 0d 0e ed 1b 20 dd 20 f2 |.. ......... . .| 0001c300 63 69 72 63 75 6c 61 72 5f 67 72 61 64 61 74 69 |circular_gradati| 0001c310 6f 6e 73 0d 0e ee 22 20 6d 65 6e 75 24 28 30 29 |ons..." menu$(0)| 0001c320 3d 22 43 69 72 63 75 6c 61 72 20 67 72 61 64 73 |="Circular grads| 0001c330 20 20 20 20 22 0d 0e ef 1d 20 6d 65 6e 75 24 28 | ".... menu$(| 0001c340 31 29 3d 22 52 65 64 20 74 6f 20 79 65 6c 6c 6f |1)="Red to yello| 0001c350 77 22 0d 0e f0 1c 20 6d 65 6e 75 24 28 32 29 3d |w".... menu$(2)=| 0001c360 22 52 65 64 20 74 6f 20 77 68 69 74 65 22 0d 0e |"Red to white"..| 0001c370 f1 1c 20 6d 65 6e 75 24 28 33 29 3d 22 52 65 64 |.. menu$(3)="Red| 0001c380 20 74 6f 20 62 6c 61 63 6b 22 0d 0e f2 1b 20 6d | to black".... m| 0001c390 65 6e 75 24 28 34 29 3d 22 52 65 64 20 74 6f 20 |enu$(4)="Red to | 0001c3a0 62 6c 75 65 22 0d 0e f3 1d 20 6d 65 6e 75 24 28 |blue".... menu$(| 0001c3b0 35 29 3d 22 42 6c 75 65 20 74 6f 20 77 68 69 74 |5)="Blue to whit| 0001c3c0 65 22 0d 0e f4 1c 20 6d 65 6e 75 24 28 36 29 3d |e".... menu$(6)=| 0001c3d0 22 42 6c 75 65 20 74 6f 20 63 79 61 6e 22 0d 0e |"Blue to cyan"..| 0001c3e0 f5 1d 20 6d 65 6e 75 24 28 37 29 3d 22 42 6c 75 |.. menu$(7)="Blu| 0001c3f0 65 20 74 6f 20 62 6c 61 63 6b 22 0d 0e f6 1f 20 |e to black".... | 0001c400 6d 65 6e 75 24 28 38 29 3d 22 4f 72 61 6e 67 65 |menu$(8)="Orange| 0001c410 20 74 6f 20 62 6c 61 63 6b 22 0d 0e f7 1e 20 6d | to black".... m| 0001c420 65 6e 75 24 28 39 29 3d 22 47 72 65 65 6e 20 74 |enu$(9)="Green t| 0001c430 6f 20 77 68 69 74 65 22 0d 0e f8 1f 20 6d 65 6e |o white".... men| 0001c440 75 24 28 31 30 29 3d 22 47 72 65 65 6e 20 74 6f |u$(10)="Green to| 0001c450 20 62 6c 61 63 6b 22 0d 0e f9 21 20 6d 65 6e 75 | black"...! menu| 0001c460 24 28 31 31 29 3d 22 4d 61 67 65 6e 74 61 20 74 |$(11)="Magenta t| 0001c470 6f 20 77 68 69 74 65 22 0d 0e fa 22 20 6d 65 6e |o white"..." men| 0001c480 75 24 28 31 32 29 3d 22 4d 61 67 65 6e 74 61 20 |u$(12)="Magenta | 0001c490 74 6f 20 79 65 6c 6c 6f 77 22 0d 0e fb 21 20 6d |to yellow"...! m| 0001c4a0 65 6e 75 24 28 31 33 29 3d 22 2a 22 3a f2 6d 65 |enu$(13)="*":.me| 0001c4b0 6e 75 28 30 2c 39 30 2c 2d 31 29 0d 0e fc 13 20 |nu(0,90,-1).... | 0001c4c0 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d 0e |.. menu_box% ...| 0001c4d0 fd 24 20 c9 20 31 3a f2 67 72 61 64 5f 63 69 72 |.$ . 1:.grad_cir| 0001c4e0 63 6c 65 28 32 35 35 2c 30 2c 30 2c 30 2c 31 2c |cle(255,0,0,0,1,| 0001c4f0 30 29 0d 0e fe 24 20 c9 20 32 3a f2 67 72 61 64 |0)...$ . 2:.grad| 0001c500 5f 63 69 72 63 6c 65 28 32 35 35 2c 30 2c 30 2c |_circle(255,0,0,| 0001c510 30 2c 31 2c 31 29 0d 0e ff 25 20 c9 20 33 3a f2 |0,1,1)...% . 3:.| 0001c520 67 72 61 64 5f 63 69 72 63 6c 65 28 32 35 35 2c |grad_circle(255,| 0001c530 30 2c 30 2c 2d 31 2c 30 2c 30 29 0d 0f 00 25 20 |0,0,-1,0,0)...% | 0001c540 c9 20 34 3a f2 67 72 61 64 5f 63 69 72 63 6c 65 |. 4:.grad_circle| 0001c550 28 32 35 35 2c 30 2c 30 2c 2d 31 2c 30 2c 31 29 |(255,0,0,-1,0,1)| 0001c560 0d 0f 01 24 20 c9 20 35 3a f2 67 72 61 64 5f 63 |...$ . 5:.grad_c| 0001c570 69 72 63 6c 65 28 30 2c 30 2c 32 35 35 2c 31 2c |ircle(0,0,255,1,| 0001c580 31 2c 30 29 0d 0f 02 24 20 c9 20 36 3a f2 67 72 |1,0)...$ . 6:.gr| 0001c590 61 64 5f 63 69 72 63 6c 65 28 30 2c 30 2c 32 35 |ad_circle(0,0,25| 0001c5a0 35 2c 30 2c 31 2c 30 29 0d 0f 03 25 20 c9 20 37 |5,0,1,0)...% . 7| 0001c5b0 3a f2 67 72 61 64 5f 63 69 72 63 6c 65 28 30 2c |:.grad_circle(0,| 0001c5c0 30 2c 32 35 35 2c 30 2c 30 2c 2d 31 29 0d 0f 04 |0,255,0,0,-1)...| 0001c5d0 29 20 c9 20 38 3a f2 67 72 61 64 5f 63 69 72 63 |) . 8:.grad_circ| 0001c5e0 6c 65 28 32 35 35 2c 31 32 38 2c 30 2c 2d 31 2c |le(255,128,0,-1,| 0001c5f0 2d 2e 35 2c 30 29 0d 0f 05 24 20 c9 20 39 3a f2 |-.5,0)...$ . 9:.| 0001c600 67 72 61 64 5f 63 69 72 63 6c 65 28 30 2c 32 35 |grad_circle(0,25| 0001c610 35 2c 30 2c 31 2c 30 2c 31 29 0d 0f 06 26 20 c9 |5,0,1,0,1)...& .| 0001c620 20 31 30 3a f2 67 72 61 64 5f 63 69 72 63 6c 65 | 10:.grad_circle| 0001c630 28 30 2c 32 35 35 2c 30 2c 30 2c 2d 31 2c 30 29 |(0,255,0,0,-1,0)| 0001c640 0d 0f 07 27 20 c9 20 31 31 3a f2 67 72 61 64 5f |...' . 11:.grad_| 0001c650 63 69 72 63 6c 65 28 32 35 35 2c 30 2c 32 35 35 |circle(255,0,255| 0001c660 2c 30 2c 31 2c 30 29 0d 0f 08 28 20 c9 20 31 32 |,0,1,0)...( . 12| 0001c670 3a f2 67 72 61 64 5f 63 69 72 63 6c 65 28 32 35 |:.grad_circle(25| 0001c680 35 2c 30 2c 32 35 35 2c 30 2c 31 2c 2d 31 29 0d |5,0,255,0,1,-1).| 0001c690 0f 09 06 20 cb 0d 0f 0a 06 20 e1 0d 0f 0b 04 0d |... ..... ......| 0001c6a0 0f 0c 23 20 dd 20 f2 67 72 61 64 5f 63 69 72 63 |..# . .grad_circ| 0001c6b0 6c 65 28 52 2c 47 2c 42 2c 52 49 2c 47 49 2c 42 |le(R,G,B,RI,GI,B| 0001c6c0 49 29 0d 0f 0d 21 20 e6 20 52 2c 47 2c 42 3a c8 |I)...! . R,G,B:.| 0001c6d0 93 20 c8 90 20 30 2c 39 30 30 2c 31 32 38 30 2c |. .. 0,900,1280,| 0001c6e0 31 32 34 0d 0f 0e 16 20 e3 20 44 25 3d 38 31 32 |124.... . D%=812| 0001c6f0 20 b8 20 35 30 20 88 2d 33 0d 0f 0f 1d 20 e6 20 | . 50 .-3.... . | 0001c700 52 2c 47 2c 42 3a c8 8f 20 c8 90 20 36 34 30 2c |R,G,B:.. .. 640,| 0001c710 34 38 30 2c 44 25 0d 0f 10 18 20 52 2b 3d 52 49 |480,D%.... R+=RI| 0001c720 3a 47 2b 3d 47 49 3a 42 2b 3d 42 49 3a ed 0d 0f |:G+=GI:B+=BI:...| 0001c730 11 21 20 e7 20 ac 28 6d 65 72 67 65 25 29 20 8c |.! . .(merge%) .| 0001c740 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d | .upload_memory.| 0001c750 0f 12 06 20 e1 0d 0f 13 04 0d 0f 14 0f 20 dd 20 |... ......... . | 0001c760 f2 71 75 61 72 74 65 72 0d 0f 15 27 20 21 73 6f |.quarter...' !so| 0001c770 75 72 63 65 5f 61 64 64 72 65 73 73 3d 6d 65 6d |urce_address=mem| 0001c780 62 6c 6f 63 6b 25 2b 32 30 2b 34 30 39 36 30 0d |block%+20+40960.| 0001c790 0f 16 21 20 21 64 65 73 74 5f 61 64 64 72 65 73 |..! !dest_addres| 0001c7a0 73 3d 73 63 72 65 65 6e 25 2b 31 36 34 31 36 30 |s=screen%+164160| 0001c7b0 0d 0f 17 25 20 e6 31 32 38 2c 31 32 38 2c 31 32 |...% .128,128,12| 0001c7c0 38 3a c8 93 20 c8 90 20 30 2c 30 2c 31 32 38 30 |8:.. .. 0,0,1280| 0001c7d0 2c 31 30 32 34 0d 0f 18 26 20 21 71 75 61 72 74 |,1024...& !quart| 0001c7e0 65 72 5f 6c 69 6e 65 73 3d 32 34 30 3a d6 20 6d |er_lines=240:. m| 0001c7f0 61 6b 65 5f 71 75 61 72 74 65 72 0d 0f 19 24 20 |ake_quarter...$ | 0001c800 e7 20 a4 75 6e 64 6f 28 22 5a 6f 6f 6d 20 31 3a |. .undo("Zoom 1:| 0001c810 32 20 2d 20 6f 70 74 69 6f 6e 73 22 29 20 8c 0d |2 - options") ..| 0001c820 0f 1a 0d 20 f2 64 69 73 6d 69 6e 69 0d 0f 1b 06 |... .dismini....| 0001c830 20 cc 0d 0f 1c 26 20 e6 31 32 38 2c 31 32 38 2c | ....& .128,128,| 0001c840 31 32 38 3a c8 93 20 c8 90 20 34 38 30 2c 38 30 |128:.. .. 480,80| 0001c850 2c 33 34 30 2c 31 36 30 0d 0f 1d 1f 20 f2 67 72 |,340,160.... .gr| 0001c860 61 62 5f 71 75 61 72 74 65 72 5f 61 72 65 61 3a |ab_quarter_area:| 0001c870 f2 75 70 6d 69 6e 69 0d 0f 1e 06 20 cd 0d 0f 1f |.upmini.... ....| 0001c880 06 20 e1 0d 0f 20 04 0d 0f 21 18 20 dd 20 f2 71 |. ... ...!. . .q| 0001c890 75 61 72 74 65 72 5f 61 73 73 65 6d 62 6c 65 0d |uarter_assemble.| 0001c8a0 0f 22 48 20 64 61 74 61 31 3d 33 3a 64 61 74 61 |."H data1=3:data| 0001c8b0 32 3d 34 3a 73 6f 75 72 63 65 3d 35 3a 64 65 73 |2=4:source=5:des| 0001c8c0 74 3d 36 3a 6f 66 66 73 65 74 31 3d 37 3a 6f 66 |t=6:offset1=7:of| 0001c8d0 66 73 65 74 32 3d 38 3a 6c 69 6e 65 73 3d 39 3a |fset2=8:lines=9:| 0001c8e0 6d 61 73 6b 3d 31 30 0d 0f 23 18 20 de 20 71 75 |mask=10..#. . qu| 0001c8f0 61 72 74 65 72 5f 63 6f 64 65 25 20 33 32 30 0d |arter_code% 320.| 0001c900 0f 24 11 20 e3 20 50 3d 30 20 b8 20 32 20 88 32 |.$. . P=0 . 2 .2| 0001c910 0d 0f 25 15 20 50 25 3d 71 75 61 72 74 65 72 5f |..%. P%=quarter_| 0001c920 63 6f 64 65 25 0d 0f 26 0b 20 5b 4f 50 54 20 50 |code%..&. [OPT P| 0001c930 0d 0f 27 12 20 2e 6d 61 6b 65 5f 71 75 61 72 74 |..'. .make_quart| 0001c940 65 72 0d 0f 28 4c 20 4c 44 52 20 73 6f 75 72 63 |er..(L LDR sourc| 0001c950 65 2c 73 6f 75 72 63 65 5f 61 64 64 72 65 73 73 |e,source_address| 0001c960 3a 4c 44 52 20 64 65 73 74 2c 64 65 73 74 5f 61 |:LDR dest,dest_a| 0001c970 64 64 72 65 73 73 3a 4c 44 52 20 6c 69 6e 65 73 |ddress:LDR lines| 0001c980 2c 71 75 61 72 74 65 72 5f 6c 69 6e 65 73 0d 0f |,quarter_lines..| 0001c990 29 36 20 4c 44 52 20 6d 61 73 6b 2c 6d 61 73 6b |)6 LDR mask,mask| 0001c9a0 5f 73 74 6f 72 65 3a 4d 4f 56 20 6f 66 66 73 65 |_store:MOV offse| 0001c9b0 74 31 2c 23 30 3a 4d 4f 56 20 6f 66 66 73 65 74 |t1,#0:MOV offset| 0001c9c0 32 2c 23 30 0d 0f 2a 12 20 2e 71 75 61 72 74 65 |2,#0..*. .quarte| 0001c9d0 72 5f 6c 6f 6f 70 0d 0f 2b 49 20 4c 44 52 20 64 |r_loop..+I LDR d| 0001c9e0 61 74 61 31 2c 5b 73 6f 75 72 63 65 2c 6f 66 66 |ata1,[source,off| 0001c9f0 73 65 74 31 5d 3a 80 20 64 61 74 61 31 2c 64 61 |set1]:. data1,da| 0001ca00 74 61 31 2c 6d 61 73 6b 3a 41 44 44 20 6f 66 66 |ta1,mask:ADD off| 0001ca10 73 65 74 31 2c 6f 66 66 73 65 74 31 2c 23 34 0d |set1,offset1,#4.| 0001ca20 0f 2c 49 20 4c 44 52 20 64 61 74 61 32 2c 5b 73 |.,I LDR data2,[s| 0001ca30 6f 75 72 63 65 2c 6f 66 66 73 65 74 31 5d 3a 80 |ource,offset1]:.| 0001ca40 20 64 61 74 61 32 2c 64 61 74 61 32 2c 6d 61 73 | data2,data2,mas| 0001ca50 6b 3a 4d 4f 56 20 64 61 74 61 32 2c 64 61 74 61 |k:MOV data2,data| 0001ca60 32 2c 4c 53 4c 23 31 36 0d 0f 2d 4a 20 41 44 44 |2,LSL#16..-J ADD| 0001ca70 20 64 61 74 61 32 2c 64 61 74 61 32 2c 64 61 74 | data2,data2,dat| 0001ca80 61 31 3a 53 54 52 20 64 61 74 61 32 2c 5b 64 65 |a1:STR data2,[de| 0001ca90 73 74 2c 6f 66 66 73 65 74 32 5d 3a 41 44 44 20 |st,offset2]:ADD | 0001caa0 6f 66 66 73 65 74 32 2c 6f 66 66 73 65 74 32 2c |offset2,offset2,| 0001cab0 23 34 0d 0f 2e 3e 20 41 44 44 20 6f 66 66 73 65 |#4...> ADD offse| 0001cac0 74 31 2c 6f 66 66 73 65 74 31 2c 23 34 3a 43 4d |t1,offset1,#4:CM| 0001cad0 50 20 6f 66 66 73 65 74 31 2c 23 31 32 38 30 3a |P offset1,#1280:| 0001cae0 42 4c 54 20 71 75 61 72 74 65 72 5f 6c 6f 6f 70 |BLT quarter_loop| 0001caf0 0d 0f 2f 22 20 4d 4f 56 20 6f 66 66 73 65 74 31 |../" MOV offset1| 0001cb00 2c 23 30 3a 4d 4f 56 20 6f 66 66 73 65 74 32 2c |,#0:MOV offset2,| 0001cb10 23 30 0d 0f 30 30 20 41 44 44 20 73 6f 75 72 63 |#0..00 ADD sourc| 0001cb20 65 2c 73 6f 75 72 63 65 2c 23 32 35 36 30 3a 41 |e,source,#2560:A| 0001cb30 44 44 20 64 65 73 74 2c 64 65 73 74 2c 23 31 32 |DD dest,dest,#12| 0001cb40 38 30 0d 0f 31 29 20 53 55 42 53 20 6c 69 6e 65 |80..1) SUBS line| 0001cb50 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 4e 45 20 71 |s,lines,#1:BNE q| 0001cb60 75 61 72 74 65 72 5f 6c 6f 6f 70 0d 0f 32 1d 20 |uarter_loop..2. | 0001cb70 2e 71 75 61 72 74 65 72 5f 65 78 69 74 20 4d 4f |.quarter_exit MO| 0001cb80 56 20 50 43 2c 52 31 34 0d 0f 33 04 0d 0f 34 0f |V PC,R14..3...4.| 0001cb90 20 2e 6d 61 6b 65 5f 6d 69 6e 69 0d 0f 35 34 20 | .make_mini..54 | 0001cba0 4c 44 52 20 73 6f 75 72 63 65 2c 73 6f 75 72 63 |LDR source,sourc| 0001cbb0 65 5f 61 64 64 72 65 73 73 3a 4c 44 52 20 64 65 |e_address:LDR de| 0001cbc0 73 74 2c 64 65 73 74 5f 61 64 64 72 65 73 73 0d |st,dest_address.| 0001cbd0 0f 36 36 20 4c 44 52 20 6d 61 73 6b 2c 6d 61 73 |.66 LDR mask,mas| 0001cbe0 6b 5f 73 74 6f 72 65 3a 4d 4f 56 20 6f 66 66 73 |k_store:MOV offs| 0001cbf0 65 74 31 2c 23 30 3a 4d 4f 56 20 6f 66 66 73 65 |et1,#0:MOV offse| 0001cc00 74 32 2c 23 30 0d 0f 37 19 20 4c 44 52 20 6c 69 |t2,#0..7. LDR li| 0001cc10 6e 65 73 2c 6d 69 6e 69 5f 6c 69 6e 65 73 0d 0f |nes,mini_lines..| 0001cc20 38 14 20 2e 6d 61 6b 65 5f 6d 69 6e 69 5f 6c 6f |8. .make_mini_lo| 0001cc30 6f 70 0d 0f 39 49 20 4c 44 52 20 64 61 74 61 31 |op..9I LDR data1| 0001cc40 2c 5b 73 6f 75 72 63 65 2c 6f 66 66 73 65 74 31 |,[source,offset1| 0001cc50 5d 3a 80 20 64 61 74 61 31 2c 64 61 74 61 31 2c |]:. data1,data1,| 0001cc60 6d 61 73 6b 3a 41 44 44 20 6f 66 66 73 65 74 31 |mask:ADD offset1| 0001cc70 2c 6f 66 66 73 65 74 31 2c 23 38 0d 0f 3a 49 20 |,offset1,#8..:I | 0001cc80 4c 44 52 20 64 61 74 61 32 2c 5b 73 6f 75 72 63 |LDR data2,[sourc| 0001cc90 65 2c 6f 66 66 73 65 74 31 5d 3a 80 20 64 61 74 |e,offset1]:. dat| 0001cca0 61 32 2c 64 61 74 61 32 2c 6d 61 73 6b 3a 4d 4f |a2,data2,mask:MO| 0001ccb0 56 20 64 61 74 61 32 2c 64 61 74 61 32 2c 4c 53 |V data2,data2,LS| 0001ccc0 4c 23 31 36 0d 0f 3b 4a 20 41 44 44 20 64 61 74 |L#16..;J ADD dat| 0001ccd0 61 32 2c 64 61 74 61 32 2c 64 61 74 61 31 3a 53 |a2,data2,data1:S| 0001cce0 54 52 20 64 61 74 61 32 2c 5b 64 65 73 74 2c 6f |TR data2,[dest,o| 0001ccf0 66 66 73 65 74 32 5d 3a 41 44 44 20 6f 66 66 73 |ffset2]:ADD offs| 0001cd00 65 74 32 2c 6f 66 66 73 65 74 32 2c 23 34 0d 0f |et2,offset2,#4..| 0001cd10 3c 40 20 41 44 44 20 6f 66 66 73 65 74 31 2c 6f |<@ ADD offset1,o| 0001cd20 66 66 73 65 74 31 2c 23 38 3a 43 4d 50 20 6f 66 |ffset1,#8:CMP of| 0001cd30 66 73 65 74 31 2c 23 31 32 38 30 3a 42 4c 54 20 |fset1,#1280:BLT | 0001cd40 6d 61 6b 65 5f 6d 69 6e 69 5f 6c 6f 6f 70 0d 0f |make_mini_loop..| 0001cd50 3d 22 20 4d 4f 56 20 6f 66 66 73 65 74 31 2c 23 |=" MOV offset1,#| 0001cd60 30 3a 4d 4f 56 20 6f 66 66 73 65 74 32 2c 23 30 |0:MOV offset2,#0| 0001cd70 0d 0f 3e 30 20 41 44 44 20 73 6f 75 72 63 65 2c |..>0 ADD source,| 0001cd80 73 6f 75 72 63 65 2c 23 35 31 32 30 3a 41 44 44 |source,#5120:ADD| 0001cd90 20 64 65 73 74 2c 64 65 73 74 2c 23 31 32 38 30 | dest,dest,#1280| 0001cda0 0d 0f 3f 2b 20 53 55 42 53 20 6c 69 6e 65 73 2c |..?+ SUBS lines,| 0001cdb0 6c 69 6e 65 73 2c 23 31 3a 42 4e 45 20 6d 61 6b |lines,#1:BNE mak| 0001cdc0 65 5f 6d 69 6e 69 5f 6c 6f 6f 70 0d 0f 40 0f 20 |e_mini_loop..@. | 0001cdd0 4d 4f 56 20 50 43 2c 52 31 34 0d 0f 41 04 0d 0f |MOV PC,R14..A...| 0001cde0 42 14 20 2e 6d 61 6b 65 5f 74 68 75 6d 62 6e 61 |B. .make_thumbna| 0001cdf0 69 6c 0d 0f 43 34 20 4c 44 52 20 73 6f 75 72 63 |il..C4 LDR sourc| 0001ce00 65 2c 73 6f 75 72 63 65 5f 61 64 64 72 65 73 73 |e,source_address| 0001ce10 3a 4c 44 52 20 64 65 73 74 2c 64 65 73 74 5f 61 |:LDR dest,dest_a| 0001ce20 64 64 72 65 73 73 0d 0f 44 44 20 4c 44 52 20 6d |ddress..DD LDR m| 0001ce30 61 73 6b 2c 6d 61 73 6b 5f 73 74 6f 72 65 3a 4d |ask,mask_store:M| 0001ce40 4f 56 20 6f 66 66 73 65 74 31 2c 23 30 3a 4d 4f |OV offset1,#0:MO| 0001ce50 56 20 6f 66 66 73 65 74 32 2c 23 30 3a 4d 4f 56 |V offset2,#0:MOV| 0001ce60 20 6c 69 6e 65 73 2c 23 36 34 0d 0f 45 19 20 2e | lines,#64..E. .| 0001ce70 6d 61 6b 65 5f 74 68 75 6d 62 6e 61 69 6c 5f 6c |make_thumbnail_l| 0001ce80 6f 6f 70 0d 0f 46 4a 20 4c 44 52 20 64 61 74 61 |oop..FJ LDR data| 0001ce90 31 2c 5b 73 6f 75 72 63 65 2c 6f 66 66 73 65 74 |1,[source,offset| 0001cea0 31 5d 3a 80 20 64 61 74 61 31 2c 64 61 74 61 31 |1]:. data1,data1| 0001ceb0 2c 6d 61 73 6b 3a 41 44 44 20 6f 66 66 73 65 74 |,mask:ADD offset| 0001cec0 31 2c 6f 66 66 73 65 74 31 2c 23 31 36 0d 0f 47 |1,offset1,#16..G| 0001ced0 49 20 4c 44 52 20 64 61 74 61 32 2c 5b 73 6f 75 |I LDR data2,[sou| 0001cee0 72 63 65 2c 6f 66 66 73 65 74 31 5d 3a 80 20 64 |rce,offset1]:. d| 0001cef0 61 74 61 32 2c 64 61 74 61 32 2c 6d 61 73 6b 3a |ata2,data2,mask:| 0001cf00 4d 4f 56 20 64 61 74 61 32 2c 64 61 74 61 32 2c |MOV data2,data2,| 0001cf10 4c 53 4c 23 31 36 0d 0f 48 4a 20 41 44 44 20 64 |LSL#16..HJ ADD d| 0001cf20 61 74 61 32 2c 64 61 74 61 32 2c 64 61 74 61 31 |ata2,data2,data1| 0001cf30 3a 53 54 52 20 64 61 74 61 32 2c 5b 64 65 73 74 |:STR data2,[dest| 0001cf40 2c 6f 66 66 73 65 74 32 5d 3a 41 44 44 20 6f 66 |,offset2]:ADD of| 0001cf50 66 73 65 74 32 2c 6f 66 66 73 65 74 32 2c 23 34 |fset2,offset2,#4| 0001cf60 0d 0f 49 46 20 41 44 44 20 6f 66 66 73 65 74 31 |..IF ADD offset1| 0001cf70 2c 6f 66 66 73 65 74 31 2c 23 31 36 3a 43 4d 50 |,offset1,#16:CMP| 0001cf80 20 6f 66 66 73 65 74 31 2c 23 31 32 38 30 3a 42 | offset1,#1280:B| 0001cf90 4c 54 20 6d 61 6b 65 5f 74 68 75 6d 62 6e 61 69 |LT make_thumbnai| 0001cfa0 6c 5f 6c 6f 6f 70 0d 0f 4a 22 20 4d 4f 56 20 6f |l_loop..J" MOV o| 0001cfb0 66 66 73 65 74 31 2c 23 30 3a 4d 4f 56 20 6f 66 |ffset1,#0:MOV of| 0001cfc0 66 73 65 74 32 2c 23 30 0d 0f 4b 31 20 41 44 44 |fset2,#0..K1 ADD| 0001cfd0 20 73 6f 75 72 63 65 2c 73 6f 75 72 63 65 2c 23 | source,source,#| 0001cfe0 31 30 32 34 30 3a 41 44 44 20 64 65 73 74 2c 64 |10240:ADD dest,d| 0001cff0 65 73 74 2c 23 31 32 38 30 0d 0f 4c 30 20 53 55 |est,#1280..L0 SU| 0001d000 42 53 20 6c 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 |BS lines,lines,#| 0001d010 31 3a 42 4e 45 20 6d 61 6b 65 5f 74 68 75 6d 62 |1:BNE make_thumb| 0001d020 6e 61 69 6c 5f 6c 6f 6f 70 0d 0f 4d 0f 20 4d 4f |nail_loop..M. MO| 0001d030 56 20 50 43 2c 52 31 34 0d 0f 4e 04 0d 0f 4f 1b |V PC,R14..N...O.| 0001d040 20 2e 73 6f 75 72 63 65 5f 61 64 64 72 65 73 73 | .source_address| 0001d050 20 45 51 55 44 20 30 0d 0f 50 1b 20 2e 64 65 73 | EQUD 0..P. .des| 0001d060 74 5f 61 64 64 72 65 73 73 20 20 20 45 51 55 44 |t_address EQUD| 0001d070 20 30 0d 0f 51 1d 20 2e 71 75 61 72 74 65 72 5f | 0..Q. .quarter_| 0001d080 6c 69 6e 65 73 20 20 45 51 55 44 20 32 34 30 0d |lines EQUD 240.| 0001d090 0f 52 1d 20 2e 6d 69 6e 69 5f 6c 69 6e 65 73 20 |.R. .mini_lines | 0001d0a0 20 20 20 20 45 51 55 44 20 31 32 38 0d 0f 53 2b | EQUD 128..S+| 0001d0b0 20 2e 6d 61 73 6b 5f 73 74 6f 72 65 20 20 20 20 | .mask_store | 0001d0c0 20 45 51 55 44 20 25 31 31 31 31 31 31 31 31 31 | EQUD %111111111| 0001d0d0 31 31 31 31 31 31 31 0d 0f 54 04 0d 0f 55 08 20 |1111111..T...U. | 0001d0e0 5d 3a ed 0d 0f 56 06 20 e1 0d 0f 57 04 0d 0f 58 |]:...V. ...W...X| 0001d0f0 15 20 dd 20 f2 6d 61 6b 65 5f 6d 69 6e 69 5f 70 |. . .make_mini_p| 0001d100 69 63 0d 0f 59 22 20 f2 72 61 69 73 65 64 5f 62 |ic..Y" .raised_b| 0001d110 6c 6f 63 6b 28 33 38 2c 2d 33 34 2c 33 32 32 2c |lock(38,-34,322,| 0001d120 32 35 34 29 0d 0f 5a 35 20 e3 20 79 25 3d 2d 33 |254)..Z5 . y%=-3| 0001d130 36 20 b8 20 32 30 32 20 88 33 34 3a f2 72 61 69 |6 . 202 .34:.rai| 0001d140 73 65 64 5f 62 6c 6f 63 6b 28 33 37 38 2c 79 25 |sed_block(378,y%| 0001d150 2c 34 30 2c 32 30 29 3a ed 0d 0f 5b 1b 20 6d 25 |,40,20):...[. m%| 0001d160 3d 31 3a e3 20 79 25 3d 32 34 36 20 b8 20 38 20 |=1:. y%=246 . 8 | 0001d170 88 2d 33 34 0d 0f 5c 2d 20 e7 20 6d 25 3c 3d 6d |.-34..\- . m%<=m| 0001d180 65 6d 6f 72 69 65 73 25 20 8c 20 f2 77 72 69 74 |emories% . .writ| 0001d190 65 32 28 c3 20 6d 25 2c 33 37 38 2c 79 25 2c 30 |e2(. m%,378,y%,0| 0001d1a0 29 0d 0f 5d 18 20 6d 25 2b 3d 31 3a ed 3a e6 33 |)..]. m%+=1:.:.3| 0001d1b0 2c 36 33 20 c8 9c 31 39 32 0d 0f 5e 0e 20 c8 8e |,63 ..192..^. ..| 0001d1c0 20 4d 45 4d 25 20 ca 0d 0f 5f 1c 20 c9 20 30 3a | MEM% ..._. . 0:| 0001d1d0 c8 93 20 c8 90 20 33 37 34 2c 32 30 30 2c 34 36 |.. .. 374,200,46| 0001d1e0 2c 32 36 0d 0f 60 1c 20 c9 20 31 3a c8 93 20 c8 |,26..`. . 1:.. .| 0001d1f0 90 20 33 37 34 2c 31 36 36 2c 34 36 2c 32 36 0d |. 374,166,46,26.| 0001d200 0f 61 1c 20 c9 20 32 3a c8 93 20 c8 90 20 33 37 |.a. . 2:.. .. 37| 0001d210 34 2c 31 33 32 2c 34 36 2c 32 36 0d 0f 62 1b 20 |4,132,46,26..b. | 0001d220 c9 20 33 3a c8 93 20 c8 90 20 33 37 34 2c 39 38 |. 3:.. .. 374,98| 0001d230 2c 34 36 2c 32 36 0d 0f 63 1b 20 c9 20 34 3a c8 |,46,26..c. . 4:.| 0001d240 93 20 c8 90 20 33 37 34 2c 36 34 2c 34 36 2c 32 |. .. 374,64,46,2| 0001d250 36 0d 0f 64 1b 20 c9 20 35 3a c8 93 20 c8 90 20 |6..d. . 5:.. .. | 0001d260 33 37 34 2c 33 30 2c 34 36 2c 32 36 0d 0f 65 1b |374,30,46,26..e.| 0001d270 20 c9 20 36 3a c8 93 20 c8 90 20 33 37 34 2c 2d | . 6:.. .. 374,-| 0001d280 34 2c 34 36 2c 32 36 0d 0f 66 1c 20 c9 20 37 3a |4,46,26..f. . 7:| 0001d290 c8 93 20 c8 90 20 33 37 34 2c 2d 33 38 2c 34 36 |.. .. 374,-38,46| 0001d2a0 2c 32 36 0d 0f 67 06 20 cb 0d 0f 68 21 20 21 73 |,26..g. ...h! !s| 0001d2b0 6f 75 72 63 65 5f 61 64 64 72 65 73 73 3d 6d 65 |ource_address=me| 0001d2c0 6d 62 6c 6f 63 6b 25 2b 32 30 0d 0f 69 1a 20 e7 |mblock%+20..i. .| 0001d2d0 20 73 63 72 65 65 6e 5f 6c 69 6e 65 73 25 3d 35 | screen_lines%=5| 0001d2e0 31 32 20 8c 0d 0f 6a 26 20 21 64 65 73 74 5f 61 |12 ...j& !dest_a| 0001d2f0 64 64 72 65 73 73 3d 73 63 72 65 65 6e 25 2b 31 |ddress=screen%+1| 0001d300 32 38 30 2a 33 37 36 2b 34 30 0d 0f 6b 06 20 cc |280*376+40..k. .| 0001d310 0d 0f 6c 26 20 21 64 65 73 74 5f 61 64 64 72 65 |..l& !dest_addre| 0001d320 73 73 3d 73 63 72 65 65 6e 25 2b 31 32 38 30 2a |ss=screen%+1280*| 0001d330 33 34 34 2b 34 30 0d 0f 6d 06 20 cd 0d 0f 6e 20 |344+40..m. ...n | 0001d340 20 21 6d 69 6e 69 5f 6c 69 6e 65 73 3d 31 32 38 | !mini_lines=128| 0001d350 3a d6 20 6d 61 6b 65 5f 6d 69 6e 69 0d 0f 6f 06 |:. make_mini..o.| 0001d360 20 e1 0d 0f 70 04 0d 0f 71 17 20 dd 20 f2 6d 75 | ...p...q. . .mu| 0001d370 6c 74 69 5f 67 72 61 64 5f 6d 65 6e 75 0d 0f 72 |lti_grad_menu..r| 0001d380 1c 20 6d 65 6e 75 24 28 30 29 3d 22 4d 75 6c 74 |. menu$(0)="Mult| 0001d390 69 20 67 72 61 64 73 22 20 0d 0f 73 16 20 6d 65 |i grads" ..s. me| 0001d3a0 6e 75 24 28 31 29 3d 22 54 79 70 65 20 31 22 0d |nu$(1)="Type 1".| 0001d3b0 0f 74 16 20 6d 65 6e 75 24 28 32 29 3d 22 54 79 |.t. menu$(2)="Ty| 0001d3c0 70 65 20 32 22 0d 0f 75 16 20 6d 65 6e 75 24 28 |pe 2"..u. menu$(| 0001d3d0 33 29 3d 22 54 79 70 65 20 33 22 0d 0f 76 16 20 |3)="Type 3"..v. | 0001d3e0 6d 65 6e 75 24 28 34 29 3d 22 54 79 70 65 20 34 |menu$(4)="Type 4| 0001d3f0 22 0d 0f 77 16 20 6d 65 6e 75 24 28 35 29 3d 22 |"..w. menu$(5)="| 0001d400 54 79 70 65 20 35 22 0d 0f 78 16 20 6d 65 6e 75 |Type 5"..x. menu| 0001d410 24 28 36 29 3d 22 54 79 70 65 20 36 22 0d 0f 79 |$(6)="Type 6"..y| 0001d420 17 20 6d 65 6e 75 24 28 37 29 3d 22 2d 2d 2d 2d |. menu$(7)="----| 0001d430 2d 2d 2d 22 0d 0f 7a 16 20 6d 65 6e 75 24 28 38 |---"..z. menu$(8| 0001d440 29 3d 22 54 79 70 65 20 37 22 0d 0f 7b 16 20 6d |)="Type 7"..{. m| 0001d450 65 6e 75 24 28 39 29 3d 22 54 79 70 65 20 38 22 |enu$(9)="Type 8"| 0001d460 0d 0f 7c 17 20 6d 65 6e 75 24 28 31 30 29 3d 22 |..|. menu$(10)="| 0001d470 54 79 70 65 20 39 22 0d 0f 7d 18 20 6d 65 6e 75 |Type 9"..}. menu| 0001d480 24 28 31 31 29 3d 22 54 79 70 65 20 31 30 22 0d |$(11)="Type 10".| 0001d490 0f 7e 18 20 6d 65 6e 75 24 28 31 32 29 3d 22 54 |.~. menu$(12)="T| 0001d4a0 79 70 65 20 31 31 22 0d 0f 7f 18 20 6d 65 6e 75 |ype 11".... menu| 0001d4b0 24 28 31 33 29 3d 22 54 79 70 65 20 31 32 22 0d |$(13)="Type 12".| 0001d4c0 0f 80 21 20 6d 65 6e 75 24 28 31 34 29 3d 22 2a |..! menu$(14)="*| 0001d4d0 22 3a f2 6d 65 6e 75 28 30 2c 39 30 2c 2d 31 29 |":.menu(0,90,-1)| 0001d4e0 0d 0f 81 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 |.... .. menu_box| 0001d4f0 25 20 ca 0d 0f 82 29 20 c9 20 31 2c 32 2c 33 2c |% ....) . 1,2,3,| 0001d500 34 2c 35 2c 36 3a f2 6d 75 6c 74 69 5f 67 72 61 |4,5,6:.multi_gra| 0001d510 64 28 6d 65 6e 75 5f 62 6f 78 25 29 0d 0f 83 2f |d(menu_box%).../| 0001d520 20 c9 20 38 2c 39 2c 31 30 2c 31 31 2c 31 32 2c | . 8,9,10,11,12,| 0001d530 31 33 3a f2 6d 75 6c 74 69 5f 67 72 61 64 28 6d |13:.multi_grad(m| 0001d540 65 6e 75 5f 62 6f 78 25 2d 31 29 0d 0f 84 06 20 |enu_box%-1).... | 0001d550 cb 0d 0f 85 06 20 e1 0d 0f 86 04 0d 0f 87 19 20 |..... ......... | 0001d560 dd 20 f2 6d 75 6c 74 69 5f 67 72 61 64 28 74 79 |. .multi_grad(ty| 0001d570 70 65 25 29 0d 0f 88 20 20 e6 20 30 2c 30 2c 30 |pe%)... . 0,0,0| 0001d580 3a c8 93 20 c8 90 20 30 2c 30 2c 31 32 38 30 2c |:.. .. 0,0,1280,| 0001d590 31 30 32 34 0d 0f 89 0f 20 c8 8e 20 74 79 70 65 |1024.... .. type| 0001d5a0 25 20 ca 0d 0f 8a 26 20 c9 20 31 3a f2 6c 65 66 |% ....& . 1:.lef| 0001d5b0 74 5f 72 69 67 68 74 5f 67 72 61 64 28 30 2c 30 |t_right_grad(0,0| 0001d5c0 2c 30 2c 30 2c 31 2c 30 29 0d 0f 8b 25 20 f2 62 |,0,0,1,0)...% .b| 0001d5d0 6f 74 74 6f 6d 5f 74 6f 70 5f 67 72 61 64 28 32 |ottom_top_grad(2| 0001d5e0 35 35 2c 30 2c 30 2c 2d 31 2c 30 2c 31 29 0d 0f |55,0,0,-1,0,1)..| 0001d5f0 8c 26 20 c9 20 32 3a f2 6c 65 66 74 5f 72 69 67 |.& . 2:.left_rig| 0001d600 68 74 5f 67 72 61 64 28 30 2c 30 2c 30 2c 30 2c |ht_grad(0,0,0,0,| 0001d610 30 2c 31 29 0d 0f 8d 25 20 f2 62 6f 74 74 6f 6d |0,1)...% .bottom| 0001d620 5f 74 6f 70 5f 67 72 61 64 28 30 2c 32 35 35 2c |_top_grad(0,255,| 0001d630 30 2c 31 2c 2d 31 2c 30 29 0d 0f 8e 26 20 c9 20 |0,1,-1,0)...& . | 0001d640 33 3a f2 6c 65 66 74 5f 72 69 67 68 74 5f 67 72 |3:.left_right_gr| 0001d650 61 64 28 30 2c 30 2c 30 2c 31 2c 30 2c 30 29 0d |ad(0,0,0,1,0,0).| 0001d660 0f 8f 25 20 f2 62 6f 74 74 6f 6d 5f 74 6f 70 5f |..% .bottom_top_| 0001d670 67 72 61 64 28 30 2c 32 35 35 2c 30 2c 30 2c 2d |grad(0,255,0,0,-| 0001d680 31 2c 31 29 0d 0f 90 26 20 c9 20 34 3a f2 6c 65 |1,1)...& . 4:.le| 0001d690 66 74 5f 72 69 67 68 74 5f 67 72 61 64 28 30 2c |ft_right_grad(0,| 0001d6a0 30 2c 30 2c 30 2c 30 2c 31 29 0d 0f 91 25 20 f2 |0,0,0,0,1)...% .| 0001d6b0 62 6f 74 74 6f 6d 5f 74 6f 70 5f 67 72 61 64 28 |bottom_top_grad(| 0001d6c0 32 35 35 2c 30 2c 30 2c 2d 31 2c 30 2c 30 29 0d |255,0,0,-1,0,0).| 0001d6d0 0f 92 26 20 c9 20 35 3a f2 6c 65 66 74 5f 72 69 |..& . 5:.left_ri| 0001d6e0 67 68 74 5f 67 72 61 64 28 30 2c 30 2c 30 2c 30 |ght_grad(0,0,0,0| 0001d6f0 2c 30 2c 31 29 0d 0f 93 28 20 f2 62 6f 74 74 6f |,0,1)...( .botto| 0001d700 6d 5f 74 6f 70 5f 67 72 61 64 28 32 35 35 2c 32 |m_top_grad(255,2| 0001d710 35 35 2c 30 2c 2d 31 2c 2d 31 2c 30 29 0d 0f 94 |55,0,-1,-1,0)...| 0001d720 29 20 c9 20 36 3a f2 6c 65 66 74 5f 72 69 67 68 |) . 6:.left_righ| 0001d730 74 5f 67 72 61 64 28 30 2c 32 35 35 2c 30 2c 30 |t_grad(0,255,0,0| 0001d740 2c 2d 31 2c 30 29 0d 0f 95 22 20 f2 62 6f 74 74 |,-1,0)..." .bott| 0001d750 6f 6d 5f 74 6f 70 5f 67 72 61 64 28 30 2c 30 2c |om_top_grad(0,0,| 0001d760 30 2c 30 2c 30 2c 31 29 0d 0f 96 26 20 c9 20 37 |0,0,0,1)...& . 7| 0001d770 3a f2 6c 65 66 74 5f 72 69 67 68 74 5f 67 72 61 |:.left_right_gra| 0001d780 64 28 30 2c 30 2c 30 2c 30 2c 38 2c 30 29 0d 0f |d(0,0,0,0,8,0)..| 0001d790 97 25 20 f2 62 6f 74 74 6f 6d 5f 74 6f 70 5f 67 |.% .bottom_top_g| 0001d7a0 72 61 64 28 32 34 38 2c 30 2c 30 2c 2d 38 2c 30 |rad(248,0,0,-8,0| 0001d7b0 2c 38 29 0d 0f 98 26 20 c9 20 38 3a f2 6c 65 66 |,8)...& . 8:.lef| 0001d7c0 74 5f 72 69 67 68 74 5f 67 72 61 64 28 30 2c 30 |t_right_grad(0,0| 0001d7d0 2c 30 2c 30 2c 30 2c 38 29 0d 0f 99 25 20 f2 62 |,0,0,0,8)...% .b| 0001d7e0 6f 74 74 6f 6d 5f 74 6f 70 5f 67 72 61 64 28 30 |ottom_top_grad(0| 0001d7f0 2c 32 34 38 2c 30 2c 38 2c 2d 38 2c 30 29 0d 0f |,248,0,8,-8,0)..| 0001d800 9a 26 20 c9 20 39 3a f2 6c 65 66 74 5f 72 69 67 |.& . 9:.left_rig| 0001d810 68 74 5f 67 72 61 64 28 30 2c 30 2c 30 2c 38 2c |ht_grad(0,0,0,8,| 0001d820 30 2c 30 29 0d 0f 9b 25 20 f2 62 6f 74 74 6f 6d |0,0)...% .bottom| 0001d830 5f 74 6f 70 5f 67 72 61 64 28 30 2c 32 34 38 2c |_top_grad(0,248,| 0001d840 30 2c 30 2c 2d 38 2c 38 29 0d 0f 9c 27 20 c9 20 |0,0,-8,8)...' . | 0001d850 31 30 3a f2 6c 65 66 74 5f 72 69 67 68 74 5f 67 |10:.left_right_g| 0001d860 72 61 64 28 30 2c 30 2c 30 2c 30 2c 30 2c 38 29 |rad(0,0,0,0,0,8)| 0001d870 0d 0f 9d 25 20 f2 62 6f 74 74 6f 6d 5f 74 6f 70 |...% .bottom_top| 0001d880 5f 67 72 61 64 28 32 34 38 2c 30 2c 30 2c 2d 38 |_grad(248,0,0,-8| 0001d890 2c 30 2c 30 29 0d 0f 9e 27 20 c9 20 31 31 3a f2 |,0,0)...' . 11:.| 0001d8a0 6c 65 66 74 5f 72 69 67 68 74 5f 67 72 61 64 28 |left_right_grad(| 0001d8b0 30 2c 30 2c 30 2c 30 2c 30 2c 38 29 0d 0f 9f 28 |0,0,0,0,0,8)...(| 0001d8c0 20 f2 62 6f 74 74 6f 6d 5f 74 6f 70 5f 67 72 61 | .bottom_top_gra| 0001d8d0 64 28 32 34 38 2c 32 34 38 2c 30 2c 2d 38 2c 2d |d(248,248,0,-8,-| 0001d8e0 38 2c 30 29 0d 0f a0 2a 20 c9 20 31 32 3a f2 6c |8,0)...* . 12:.l| 0001d8f0 65 66 74 5f 72 69 67 68 74 5f 67 72 61 64 28 30 |eft_right_grad(0| 0001d900 2c 32 34 38 2c 30 2c 30 2c 2d 38 2c 30 29 0d 0f |,248,0,0,-8,0)..| 0001d910 a1 22 20 f2 62 6f 74 74 6f 6d 5f 74 6f 70 5f 67 |." .bottom_top_g| 0001d920 72 61 64 28 30 2c 30 2c 30 2c 30 2c 30 2c 38 29 |rad(0,0,0,0,0,8)| 0001d930 0d 0f a2 2a 20 c9 20 31 33 3a f2 6c 65 66 74 5f |...* . 13:.left_| 0001d940 72 69 67 68 74 5f 67 72 61 64 28 30 2c 32 34 38 |right_grad(0,248| 0001d950 2c 30 2c 30 2c 2d 38 2c 30 29 0d 0f a3 22 20 f2 |,0,0,-8,0)..." .| 0001d960 62 6f 74 74 6f 6d 5f 74 6f 70 5f 67 72 61 64 28 |bottom_top_grad(| 0001d970 30 2c 30 2c 30 2c 30 2c 30 2c 38 29 0d 0f a4 06 |0,0,0,0,0,8)....| 0001d980 20 cb 0d 0f a5 21 20 e7 20 ac 28 6d 65 72 67 65 | ....! . .(merge| 0001d990 25 29 20 8c 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d |%) . .upload_mem| 0001d9a0 6f 72 79 0d 0f a6 06 20 e1 0d 0f a7 04 0d 0f a8 |ory.... ........| 0001d9b0 2d 20 dd 20 f2 6c 65 66 74 5f 72 69 67 68 74 5f |- . .left_right_| 0001d9c0 67 72 61 64 28 72 25 2c 67 25 2c 62 25 2c 72 69 |grad(r%,g%,b%,ri| 0001d9d0 25 2c 67 69 25 2c 62 69 25 29 0d 0f a9 22 20 e3 |%,gi%,bi%)..." .| 0001d9e0 20 78 25 3d 30 20 b8 20 31 32 38 30 20 88 36 3a | x%=0 . 1280 .6:| 0001d9f0 e6 20 31 2c 72 25 2c 67 25 2c 62 25 0d 0f aa 16 |. 1,r%,g%,b%....| 0001da00 20 c8 93 20 c8 90 20 78 25 2c 30 2c 34 2c 31 30 | .. .. x%,0,4,10| 0001da10 32 34 0d 0f ab 1c 20 72 25 2b 3d 72 69 25 3a 67 |24.... r%+=ri%:g| 0001da20 25 2b 3d 67 69 25 3a 62 25 2b 3d 62 69 25 0d 0f |%+=gi%:b%+=bi%..| 0001da30 ac 1f 20 e7 20 72 25 3e 32 34 38 20 8c 20 72 25 |.. . r%>248 . r%| 0001da40 3d 32 34 38 3a 72 69 25 3d 2d 72 69 25 0d 0f ad |=248:ri%=-ri%...| 0001da50 1f 20 e7 20 67 25 3e 32 34 38 20 8c 20 67 25 3d |. . g%>248 . g%=| 0001da60 32 34 38 3a 67 69 25 3d 2d 67 69 25 0d 0f ae 1f |248:gi%=-gi%....| 0001da70 20 e7 20 62 25 3e 32 34 38 20 8c 20 62 25 3d 32 | . b%>248 . b%=2| 0001da80 34 38 3a 62 69 25 3d 2d 62 69 25 0d 0f af 1b 20 |48:bi%=-bi%.... | 0001da90 e7 20 72 25 3c 30 20 8c 20 72 25 3d 30 3a 72 69 |. r%<0 . r%=0:ri| 0001daa0 25 3d 2d 72 69 25 0d 0f b0 1b 20 e7 20 67 25 3c |%=-ri%.... . g%<| 0001dab0 30 20 8c 20 67 25 3d 30 3a 67 69 25 3d 2d 67 69 |0 . g%=0:gi%=-gi| 0001dac0 25 0d 0f b1 1b 20 e7 20 62 25 3c 30 20 8c 20 62 |%.... . b%<0 . b| 0001dad0 25 3d 30 3a 62 69 25 3d 2d 62 69 25 0d 0f b2 06 |%=0:bi%=-bi%....| 0001dae0 20 ed 0d 0f b3 06 20 e1 0d 0f b4 04 0d 0f b5 2d | ..... ........-| 0001daf0 20 dd 20 f2 62 6f 74 74 6f 6d 5f 74 6f 70 5f 67 | . .bottom_top_g| 0001db00 72 61 64 28 72 25 2c 67 25 2c 62 25 2c 72 69 25 |rad(r%,g%,b%,ri%| 0001db10 2c 67 69 25 2c 62 69 25 29 0d 0f b6 22 20 e3 20 |,gi%,bi%)..." . | 0001db20 79 25 3d 30 20 b8 20 31 30 32 30 20 88 34 3a e6 |y%=0 . 1020 .4:.| 0001db30 20 31 2c 72 25 2c 67 25 2c 62 25 0d 0f b7 16 20 | 1,r%,g%,b%.... | 0001db40 c8 93 20 c8 90 20 30 2c 79 25 2c 31 32 38 30 2c |.. .. 0,y%,1280,| 0001db50 32 0d 0f b8 1c 20 72 25 2b 3d 72 69 25 3a 67 25 |2.... r%+=ri%:g%| 0001db60 2b 3d 67 69 25 3a 62 25 2b 3d 62 69 25 0d 0f b9 |+=gi%:b%+=bi%...| 0001db70 1f 20 e7 20 72 25 3e 32 34 38 20 8c 20 72 25 3d |. . r%>248 . r%=| 0001db80 32 34 38 3a 72 69 25 3d 2d 72 69 25 0d 0f ba 1f |248:ri%=-ri%....| 0001db90 20 e7 20 67 25 3e 32 34 38 20 8c 20 67 25 3d 32 | . g%>248 . g%=2| 0001dba0 34 38 3a 67 69 25 3d 2d 67 69 25 0d 0f bb 1f 20 |48:gi%=-gi%.... | 0001dbb0 e7 20 62 25 3e 32 34 38 20 8c 20 62 25 3d 32 34 |. b%>248 . b%=24| 0001dbc0 38 3a 62 69 25 3d 2d 62 69 25 0d 0f bc 1b 20 e7 |8:bi%=-bi%.... .| 0001dbd0 20 72 25 3c 30 20 8c 20 72 25 3d 30 3a 72 69 25 | r%<0 . r%=0:ri%| 0001dbe0 3d 2d 72 69 25 0d 0f bd 1b 20 e7 20 67 25 3c 30 |=-ri%.... . g%<0| 0001dbf0 20 8c 20 67 25 3d 30 3a 67 69 25 3d 2d 67 69 25 | . g%=0:gi%=-gi%| 0001dc00 0d 0f be 1b 20 e7 20 62 25 3c 30 20 8c 20 62 25 |.... . b%<0 . b%| 0001dc10 3d 30 3a 62 69 25 3d 2d 62 69 25 0d 0f bf 06 20 |=0:bi%=-bi%.... | 0001dc20 ed 0d 0f c0 06 20 e1 0d 0f c1 04 0d 0f c2 27 20 |..... ........' | 0001dc30 dd 20 f2 70 6c 69 6e 74 68 28 78 25 2c 79 25 2c |. .plinth(x%,y%,| 0001dc40 77 25 2c 68 25 2c 74 25 2c 72 25 2c 67 25 2c 62 |w%,h%,t%,r%,g%,b| 0001dc50 25 29 0d 0f c3 2b 20 e6 20 72 25 2c 67 25 2c 62 |%)...+ . r%,g%,b| 0001dc60 25 3a ec 20 78 25 2c 79 25 2b 68 25 3a ec 20 78 |%:. x%,y%+h%:. x| 0001dc70 25 2b 74 25 2c 79 25 2b 68 25 2d 74 25 0d 0f c4 |%+t%,y%+h%-t%...| 0001dc80 2a 20 f0 38 35 2c 78 25 2b 77 25 2c 79 25 2b 68 |* .85,x%+w%,y%+h| 0001dc90 25 3a f0 38 35 2c 78 25 2b 77 25 2d 74 25 2c 79 |%:.85,x%+w%-t%,y| 0001dca0 25 2b 68 25 2d 74 25 0d 0f c5 22 20 72 32 25 3d |%+h%-t%..." r2%=| 0001dcb0 72 25 2d 34 30 3a 67 32 25 3d 67 25 2d 34 30 3a |r%-40:g2%=g%-40:| 0001dcc0 62 32 25 3d 62 25 2d 34 30 0d 0f c6 14 20 e7 20 |b2%=b%-40.... . | 0001dcd0 72 32 25 3c 30 20 8c 20 72 32 25 3d 30 0d 0f c7 |r2%<0 . r2%=0...| 0001dce0 14 20 e7 20 67 32 25 3c 30 20 8c 20 67 32 25 3d |. . g2%<0 . g2%=| 0001dcf0 30 0d 0f c8 14 20 e7 20 62 32 25 3c 30 20 8c 20 |0.... . b2%<0 . | 0001dd00 62 32 25 3d 30 0d 0f c9 12 20 e6 20 72 32 25 2c |b2%=0.... . r2%,| 0001dd10 67 32 25 2c 62 32 25 0d 0f ca 20 20 ec 20 78 25 |g2%,b2%... . x%| 0001dd20 2c 79 25 2b 68 25 3a ec 20 78 25 2b 74 25 2c 79 |,y%+h%:. x%+t%,y| 0001dd30 25 2b 68 25 2d 74 25 0d 0f cb 1e 20 f0 38 35 2c |%+h%-t%.... .85,| 0001dd40 78 25 2c 79 25 3a f0 38 35 2c 78 25 2b 74 25 2c |x%,y%:.85,x%+t%,| 0001dd50 79 25 2b 74 25 0d 0f cc 25 20 72 32 25 3d 72 25 |y%+t%...% r2%=r%| 0001dd60 2d 31 30 30 3a 67 32 25 3d 67 25 2d 31 30 30 3a |-100:g2%=g%-100:| 0001dd70 62 32 25 3d 62 25 2d 31 30 30 0d 0f cd 14 20 e7 |b2%=b%-100.... .| 0001dd80 20 72 32 25 3c 30 20 8c 20 72 32 25 3d 30 0d 0f | r2%<0 . r2%=0..| 0001dd90 ce 14 20 e7 20 67 32 25 3c 30 20 8c 20 67 32 25 |.. . g2%<0 . g2%| 0001dda0 3d 30 0d 0f cf 14 20 e7 20 62 32 25 3c 30 20 8c |=0.... . b2%<0 .| 0001ddb0 20 62 32 25 3d 30 0d 0f d0 12 20 e6 20 72 32 25 | b2%=0.... . r2%| 0001ddc0 2c 67 32 25 2c 62 32 25 0d 0f d1 26 20 ec 20 78 |,g2%,b2%...& . x| 0001ddd0 25 2b 77 25 2c 79 25 2b 68 25 3a ec 20 78 25 2b |%+w%,y%+h%:. x%+| 0001dde0 77 25 2d 74 25 2c 79 25 2b 68 25 2d 74 25 0d 0f |w%-t%,y%+h%-t%..| 0001ddf0 d2 24 20 f0 38 35 2c 78 25 2b 77 25 2c 79 25 3a |.$ .85,x%+w%,y%:| 0001de00 f0 38 35 2c 78 25 2b 77 25 2d 74 25 2c 79 25 2b |.85,x%+w%-t%,y%+| 0001de10 74 25 0d 0f d3 25 20 72 32 25 3d 72 25 2d 31 36 |t%...% r2%=r%-16| 0001de20 30 3a 67 32 25 3d 67 25 2d 31 36 30 3a 62 32 25 |0:g2%=g%-160:b2%| 0001de30 3d 62 25 2d 31 36 30 0d 0f d4 14 20 e7 20 72 32 |=b%-160.... . r2| 0001de40 25 3c 30 20 8c 20 72 32 25 3d 30 0d 0f d5 14 20 |%<0 . r2%=0.... | 0001de50 e7 20 67 32 25 3c 30 20 8c 20 67 32 25 3d 30 0d |. g2%<0 . g2%=0.| 0001de60 0f d6 14 20 e7 20 62 32 25 3c 30 20 8c 20 62 32 |... . b2%<0 . b2| 0001de70 25 3d 30 0d 0f d7 12 20 e6 20 72 32 25 2c 67 32 |%=0.... . r2%,g2| 0001de80 25 2c 62 32 25 0d 0f d8 1a 20 ec 20 78 25 2c 79 |%,b2%.... . x%,y| 0001de90 25 3a ec 20 78 25 2b 74 25 2c 79 25 2b 74 25 0d |%:. x%+t%,y%+t%.| 0001dea0 0f d9 24 20 f0 38 35 2c 78 25 2b 77 25 2c 79 25 |..$ .85,x%+w%,y%| 0001deb0 3a f0 38 35 2c 78 25 2b 77 25 2d 74 25 2c 79 25 |:.85,x%+w%-t%,y%| 0001dec0 2b 74 25 0d 0f da 04 0d 0f db 0f 20 e7 20 77 25 |+t%........ . w%| 0001ded0 3e 33 30 30 20 8c 0d 0f dc 16 20 72 32 3d 72 25 |>300 ..... r2=r%| 0001dee0 3a 67 32 3d 67 25 3a 62 32 3d 62 25 0d 0f dd 13 |:g2=g%:b2=b%....| 0001def0 20 72 69 3d 28 32 35 35 2d 72 32 29 2f 36 34 0d | ri=(255-r2)/64.| 0001df00 0f de 13 20 67 69 3d 28 32 35 35 2d 67 32 29 2f |... gi=(255-g2)/| 0001df10 36 34 0d 0f df 13 20 62 69 3d 28 32 35 35 2d 62 |64.... bi=(255-b| 0001df20 32 29 2f 36 34 0d 0f e0 19 20 78 78 25 3d 78 25 |2)/64.... xx%=x%| 0001df30 2b 77 25 2f 32 2d 74 25 2f 32 2d 31 32 38 0d 0f |+w%/2-t%/2-128..| 0001df40 e1 1b 20 e3 20 78 73 25 3d 78 78 25 20 b8 20 78 |.. . xs%=xx% . x| 0001df50 78 25 2b 32 35 38 20 88 32 0d 0f e2 2b 20 e6 20 |x%+258 .2...+ . | 0001df60 72 32 2c 67 32 2c 62 32 3a 86 20 78 73 25 2c 79 |r2,g2,b2:. xs%,y| 0001df70 25 2b 68 25 2d 74 25 2c 78 73 25 2b 74 25 2c 79 |%+h%-t%,xs%+t%,y| 0001df80 25 2b 68 25 0d 0f e3 19 20 72 32 2b 3d 72 69 3a |%+h%.... r2+=ri:| 0001df90 67 32 2b 3d 67 69 3a 62 32 2b 3d 62 69 0d 0f e4 |g2+=gi:b2+=bi...| 0001dfa0 1d 20 e7 20 72 32 3e 32 35 35 20 8c 20 72 32 3d |. . r2>255 . r2=| 0001dfb0 32 35 35 3a 72 69 3d 2d 72 69 0d 0f e5 1d 20 e7 |255:ri=-ri.... .| 0001dfc0 20 67 32 3e 32 35 35 20 8c 20 67 32 3d 32 35 35 | g2>255 . g2=255| 0001dfd0 3a 67 69 3d 2d 67 69 0d 0f e6 1d 20 e7 20 62 32 |:gi=-gi.... . b2| 0001dfe0 3e 32 35 35 20 8c 20 62 32 3d 32 35 35 3a 62 69 |>255 . b2=255:bi| 0001dff0 3d 2d 62 69 0d 0f e7 06 20 ed 0d 0f e8 06 20 cd |=-bi.... ..... .| 0001e000 0d 0f e9 04 0d 0f ea 0f 20 e7 20 68 25 3e 32 36 |........ . h%>26| 0001e010 30 20 8c 0d 0f eb 1f 20 72 32 3d 72 25 2d 34 30 |0 ..... r2=r%-40| 0001e020 3a 67 32 3d 67 25 2d 34 30 3a 62 32 3d 62 25 2d |:g2=g%-40:b2=b%-| 0001e030 34 30 0d 0f ec 12 20 e7 20 72 32 3c 30 20 8c 20 |40.... . r2<0 . | 0001e040 72 32 3d 30 0d 0f ed 12 20 e7 20 67 32 3c 30 20 |r2=0.... . g2<0 | 0001e050 8c 20 67 32 3d 30 0d 0f ee 12 20 e7 20 62 32 3c |. g2=0.... . b2<| 0001e060 30 20 8c 20 62 32 3d 30 0d 0f ef 13 20 72 69 3d |0 . b2=0.... ri=| 0001e070 28 32 31 35 2d 72 32 29 2f 35 34 0d 0f f0 13 20 |(215-r2)/54.... | 0001e080 67 69 3d 28 32 31 35 2d 67 32 29 2f 35 34 0d 0f |gi=(215-g2)/54..| 0001e090 f1 13 20 62 69 3d 28 32 31 35 2d 62 32 29 2f 35 |.. bi=(215-b2)/5| 0001e0a0 34 0d 0f f2 19 20 79 79 25 3d 79 25 2b 68 25 2f |4.... yy%=y%+h%/| 0001e0b0 32 2d 74 25 2f 32 2d 31 31 34 0d 0f f3 1b 20 e3 |2-t%/2-114.... .| 0001e0c0 20 79 73 25 3d 79 79 25 20 b8 20 79 79 25 2b 32 | ys%=yy% . yy%+2| 0001e0d0 31 32 20 88 32 0d 0f f4 25 20 e6 20 72 32 2c 67 |12 .2...% . r2,g| 0001e0e0 32 2c 62 32 3a 86 20 78 25 2c 79 73 25 2c 78 25 |2,b2:. x%,ys%,x%| 0001e0f0 2b 74 25 2c 79 73 25 2b 74 25 0d 0f f5 19 20 72 |+t%,ys%+t%.... r| 0001e100 32 2b 3d 72 69 3a 67 32 2b 3d 67 69 3a 62 32 2b |2+=ri:g2+=gi:b2+| 0001e110 3d 62 69 0d 0f f6 1d 20 e7 20 72 32 3e 32 31 35 |=bi.... . r2>215| 0001e120 20 8c 20 72 32 3d 32 31 30 3a 72 69 3d 2d 72 69 | . r2=210:ri=-ri| 0001e130 0d 0f f7 1d 20 e7 20 67 32 3e 32 31 35 20 8c 20 |.... . g2>215 . | 0001e140 67 32 3d 32 31 30 3a 67 69 3d 2d 67 69 0d 0f f8 |g2=210:gi=-gi...| 0001e150 1d 20 e7 20 62 32 3e 32 31 35 20 8c 20 62 32 3d |. . b2>215 . b2=| 0001e160 32 31 30 3a 62 69 3d 2d 62 69 0d 0f f9 06 20 ed |210:bi=-bi.... .| 0001e170 0d 0f fa 06 20 cd 0d 0f fb 06 20 e1 0d 0f fc 04 |.... ..... .....| 0001e180 0d 0f fd 1b 20 dd 20 f2 70 69 63 70 72 6f 5f 70 |.... . .picpro_p| 0001e190 61 6e 65 6c 28 78 25 2c 79 25 29 0d 0f fe 1a 20 |anel(x%,y%).... | 0001e1a0 78 73 74 61 72 74 25 3d 78 25 3a 79 73 74 61 72 |xstart%=x%:ystar| 0001e1b0 74 25 3d 79 25 0d 0f ff 23 20 f2 64 69 73 70 6c |t%=y%...# .displ| 0001e1c0 61 79 5f 6d 65 6d 6f 72 79 3a 72 25 3d 30 3a 67 |ay_memory:r%=0:g| 0001e1d0 25 3d 30 3a 62 25 3d 30 0d 10 00 1e 20 65 78 69 |%=0:b%=0.... exi| 0001e1e0 74 25 3d 30 3a f5 3a 72 65 73 65 74 25 3d 30 3a |t%=0:.:reset%=0:| 0001e1f0 c8 91 20 30 2c 30 0d 10 01 21 20 f2 72 61 69 73 |.. 0,0...! .rais| 0001e200 65 64 5f 62 6c 6f 63 6b 28 78 25 2c 79 25 2c 34 |ed_block(x%,y%,4| 0001e210 35 36 2c 32 38 30 29 0d 10 02 0d 20 c8 91 20 78 |56,280).... .. x| 0001e220 25 2c 79 25 0d 10 03 20 20 f2 72 61 69 73 65 64 |%,y%... .raised| 0001e230 5f 62 6c 6f 63 6b 28 33 32 2c 33 32 2c 31 30 38 |_block(32,32,108| 0001e240 2c 34 30 29 0d 10 04 21 20 f2 72 61 69 73 65 64 |,40)...! .raised| 0001e250 5f 62 6c 6f 63 6b 28 31 37 32 2c 33 32 2c 31 30 |_block(172,32,10| 0001e260 38 2c 34 30 29 0d 10 05 21 20 f2 72 61 69 73 65 |8,40)...! .raise| 0001e270 64 5f 62 6c 6f 63 6b 28 33 31 32 2c 33 32 2c 31 |d_block(312,32,1| 0001e280 30 38 2c 34 30 29 0d 10 06 23 20 f2 77 72 69 74 |08,40)...# .writ| 0001e290 65 32 28 22 52 45 53 45 54 22 2c 78 25 2b 33 34 |e2("RESET",x%+34| 0001e2a0 2c 79 25 2b 33 36 2c 34 29 0d 10 07 22 20 f2 77 |,y%+36,4)..." .w| 0001e2b0 72 69 74 65 32 28 22 54 52 59 22 2c 78 25 2b 31 |rite2("TRY",x%+1| 0001e2c0 39 32 2c 79 25 2b 33 36 2c 34 29 0d 10 08 21 20 |92,y%+36,4)...! | 0001e2d0 f2 77 72 69 74 65 32 28 22 4f 4b 22 2c 78 25 2b |.write2("OK",x%+| 0001e2e0 33 33 38 2c 79 25 2b 33 36 2c 34 29 0d 10 09 23 |338,y%+36,4)...#| 0001e2f0 20 e6 20 32 35 35 2c 30 2c 30 3a c8 93 20 c8 90 | . 255,0,0:.. ..| 0001e300 20 31 36 32 2c 32 31 36 2c 31 32 36 2c 35 32 0d | 162,216,126,52.| 0001e310 10 0a 23 20 e6 20 30 2c 32 30 30 2c 30 3a c8 93 |..# . 0,200,0:..| 0001e320 20 c8 90 20 31 36 32 2c 31 35 36 2c 31 32 36 2c | .. 162,156,126,| 0001e330 35 32 0d 10 0b 22 20 e6 20 30 2c 30 2c 32 35 35 |52..." . 0,0,255| 0001e340 3a c8 93 20 c8 90 20 31 36 32 2c 39 36 2c 31 32 |:.. .. 162,96,12| 0001e350 36 2c 35 32 0d 10 0c 25 20 e6 20 32 35 35 2c 32 |6,52...% . 255,2| 0001e360 35 35 2c 32 35 35 3a e3 20 59 25 3d 31 30 30 20 |55,255:. Y%=100 | 0001e370 b8 20 32 32 30 20 88 36 30 0d 10 0d 3a 20 c8 99 |. 220 .60...: ..| 0001e380 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c | sprswi%,256+52,| 0001e390 73 70 62 25 2c 22 6c 65 66 74 22 2c 31 30 38 2c |spb%,"left",108,| 0001e3a0 59 25 2b 34 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 |Y%+4,8,0,transla| 0001e3b0 74 65 25 0d 10 0e 3b 20 c8 99 20 73 70 72 73 77 |te%...; .. sprsw| 0001e3c0 69 25 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 |i%,256+52,spb%,"| 0001e3d0 72 69 67 68 74 22 2c 33 30 34 2c 59 25 2b 34 2c |right",304,Y%+4,| 0001e3e0 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 10 |8,0,translate%..| 0001e3f0 0f 1a 20 c8 93 20 c8 90 20 31 36 36 2c 59 25 2c |.. .. .. 166,Y%,| 0001e400 31 31 38 2c 34 34 3a ed 0d 10 10 16 20 c8 97 20 |118,44:..... .. | 0001e410 c8 93 20 30 2c 30 2c 34 35 36 2c 32 38 30 0d 10 |.. 0,0,456,280..| 0001e420 11 22 20 e6 20 32 35 35 2c 32 35 35 2c 32 35 35 |." . 255,255,255| 0001e430 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e |:.wait_no_button| 0001e440 0d 10 12 06 20 f5 0d 10 13 2c 20 e7 20 72 25 3e |.... ...., . r%>| 0001e450 2d 31 20 8c 20 72 24 3d 22 2b 22 2b c3 20 72 25 |-1 . r$="+"+. r%| 0001e460 2b 22 25 22 20 8b 20 72 24 3d c3 20 72 25 2b 22 |+"%" . r$=. r%+"| 0001e470 25 22 0d 10 14 2c 20 e7 20 67 25 3e 2d 31 20 8c |%"..., . g%>-1 .| 0001e480 20 67 24 3d 22 2b 22 2b c3 20 67 25 2b 22 25 22 | g$="+"+. g%+"%"| 0001e490 20 8b 20 67 24 3d c3 20 67 25 2b 22 25 22 0d 10 | . g$=. g%+"%"..| 0001e4a0 15 2c 20 e7 20 62 25 3e 2d 31 20 8c 20 62 24 3d |., . b%>-1 . b$=| 0001e4b0 22 2b 22 2b c3 20 62 25 2b 22 25 22 20 8b 20 62 |"+"+. b%+"%" . b| 0001e4c0 24 3d c3 20 62 25 2b 22 25 22 0d 10 16 20 20 f2 |$=. b%+"%"... .| 0001e4d0 77 72 69 74 65 32 28 72 24 2c 78 25 2b 31 38 30 |write2(r$,x%+180| 0001e4e0 2c 79 25 2b 32 32 36 2c 30 29 0d 10 17 20 20 f2 |,y%+226,0)... .| 0001e4f0 77 72 69 74 65 32 28 67 24 2c 78 25 2b 31 38 30 |write2(g$,x%+180| 0001e500 2c 79 25 2b 31 36 36 2c 30 29 0d 10 18 20 20 f2 |,y%+166,0)... .| 0001e510 77 72 69 74 65 32 28 62 24 2c 78 25 2b 31 38 30 |write2(b$,x%+180| 0001e520 2c 79 25 2b 31 30 36 2c 30 29 0d 10 19 0c 20 4b |,y%+106,0).... K| 0001e530 3d a6 28 32 30 29 0d 10 1a 15 20 f5 3a c8 97 20 |=.(20).... .:.. | 0001e540 58 2c 59 2c 42 3a fd 20 42 3d 34 0d 10 1b 2d 20 |X,Y,B:. B=4...- | 0001e550 e7 20 94 28 58 2d 31 33 32 29 3c 32 34 20 80 20 |. .(X-132)<24 . | 0001e560 94 28 59 2d 32 34 32 29 3c 32 34 20 8c 20 f2 72 |.(Y-242)<24 . .r| 0001e570 65 64 5f 6d 69 6e 75 73 0d 10 1c 2c 20 e7 20 94 |ed_minus..., . .| 0001e580 28 58 2d 33 31 38 29 3c 32 34 20 80 20 94 28 59 |(X-318)<24 . .(Y| 0001e590 2d 32 34 32 29 3c 32 34 20 8c 20 f2 72 65 64 5f |-242)<24 . .red_| 0001e5a0 70 6c 75 73 0d 10 1d 2f 20 e7 20 94 28 58 2d 31 |plus.../ . .(X-1| 0001e5b0 33 32 29 3c 32 34 20 80 20 94 28 59 2d 31 38 32 |32)<24 . .(Y-182| 0001e5c0 29 3c 32 34 20 8c 20 f2 67 72 65 65 6e 5f 6d 69 |)<24 . .green_mi| 0001e5d0 6e 75 73 0d 10 1e 2e 20 e7 20 94 28 58 2d 33 31 |nus.... . .(X-31| 0001e5e0 38 29 3c 32 34 20 80 20 94 28 59 2d 31 38 32 29 |8)<24 . .(Y-182)| 0001e5f0 3c 32 34 20 8c 20 f2 67 72 65 65 6e 5f 70 6c 75 |<24 . .green_plu| 0001e600 73 0d 10 1f 2e 20 e7 20 94 28 58 2d 31 33 32 29 |s.... . .(X-132)| 0001e610 3c 32 34 20 80 20 94 28 59 2d 31 32 32 29 3c 32 |<24 . .(Y-122)<2| 0001e620 34 20 8c 20 f2 62 6c 75 65 5f 6d 69 6e 75 73 0d |4 . .blue_minus.| 0001e630 10 20 2d 20 e7 20 94 28 58 2d 33 31 38 29 3c 32 |. - . .(X-318)<2| 0001e640 34 20 80 20 94 28 59 2d 31 32 32 29 3c 32 34 20 |4 . .(Y-122)<24 | 0001e650 8c 20 f2 62 6c 75 65 5f 70 6c 75 73 0d 10 21 21 |. .blue_plus..!!| 0001e660 20 e7 20 94 28 58 2d 33 36 36 29 3c 36 30 20 80 | . .(X-366)<60 .| 0001e670 20 94 28 59 2d 35 36 29 3c 33 30 20 8c 0d 10 22 | .(Y-56)<30 ..."| 0001e680 2c 20 f2 70 72 6f 63 65 73 73 5f 70 69 63 74 75 |, .process_pictu| 0001e690 72 65 3a f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 |re:.upload_memor| 0001e6a0 79 3a 65 78 69 74 25 3d b9 0d 10 23 06 20 cd 0d |y:exit%=...#. ..| 0001e6b0 10 24 3b 20 e7 20 94 28 58 2d 32 32 34 29 3c 36 |.$; . .(X-224)<6| 0001e6c0 30 20 80 20 94 28 59 2d 35 36 29 3c 33 30 20 8c |0 . .(Y-56)<30 .| 0001e6d0 20 f2 70 72 6f 63 65 73 73 5f 70 69 63 74 75 72 | .process_pictur| 0001e6e0 65 3a 72 65 73 65 74 25 3d b9 0d 10 25 20 20 e7 |e:reset%=...% .| 0001e6f0 20 94 28 58 2d 38 34 29 3c 36 30 20 80 20 94 28 | .(X-84)<60 . .(| 0001e700 59 2d 35 36 29 3c 33 30 20 8c 0d 10 26 2c 20 72 |Y-56)<30 ...&, r| 0001e710 25 3d 30 3a 67 25 3d 30 3a 62 25 3d 30 3a f2 64 |%=0:g%=0:b%=0:.d| 0001e720 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 3a 72 65 |isplay_memory:re| 0001e730 73 65 74 25 3d b9 0d 10 27 06 20 cd 0d 10 28 15 |set%=...'. ...(.| 0001e740 20 fd 20 65 78 69 74 25 20 84 20 72 65 73 65 74 | . exit% . reset| 0001e750 25 0d 10 29 0f 20 fd 20 ac 20 72 65 73 65 74 25 |%..). . . reset%| 0001e760 0d 10 2a 2f 20 c8 91 20 30 2c 30 3a f2 64 69 73 |..*/ .. 0,0:.dis| 0001e770 70 6c 61 79 5f 6d 65 6d 6f 72 79 3a c8 97 20 c8 |play_memory:.. .| 0001e780 93 20 30 2c 30 2c 31 32 38 30 2c 31 30 32 34 0d |. 0,0,1280,1024.| 0001e790 10 2b 06 20 e1 0d 10 2c 04 0d 10 2d 11 20 dd 20 |.+. ...,...-. . | 0001e7a0 f2 72 65 64 5f 6d 69 6e 75 73 0d 10 2e 2a 20 e7 |.red_minus...* .| 0001e7b0 20 72 25 3e 2d 35 30 20 8c 20 72 25 2d 3d 35 3a | r%>-50 . r%-=5:| 0001e7c0 c8 93 20 c8 90 20 31 36 38 2c 32 32 32 2c 31 31 |.. .. 168,222,11| 0001e7d0 32 2c 34 30 0d 10 2f 06 20 e1 0d 10 30 10 20 dd |2,40../. ...0. .| 0001e7e0 20 f2 72 65 64 5f 70 6c 75 73 0d 10 31 29 20 e7 | .red_plus..1) .| 0001e7f0 20 72 25 3c 35 30 20 8c 20 72 25 2b 3d 35 3a c8 | r%<50 . r%+=5:.| 0001e800 93 20 c8 90 20 31 36 38 2c 32 32 32 2c 31 31 32 |. .. 168,222,112| 0001e810 2c 34 30 0d 10 32 06 20 e1 0d 10 33 13 20 dd 20 |,40..2. ...3. . | 0001e820 f2 67 72 65 65 6e 5f 6d 69 6e 75 73 0d 10 34 2a |.green_minus..4*| 0001e830 20 e7 20 67 25 3e 2d 35 30 20 8c 20 67 25 2d 3d | . g%>-50 . g%-=| 0001e840 35 3a c8 93 20 c8 90 20 31 36 38 2c 31 36 32 2c |5:.. .. 168,162,| 0001e850 31 31 32 2c 34 30 0d 10 35 06 20 e1 0d 10 36 12 |112,40..5. ...6.| 0001e860 20 dd 20 f2 67 72 65 65 6e 5f 70 6c 75 73 0d 10 | . .green_plus..| 0001e870 37 29 20 e7 20 67 25 3c 35 30 20 8c 20 67 25 2b |7) . g%<50 . g%+| 0001e880 3d 35 3a c8 93 20 c8 90 20 31 36 38 2c 31 36 32 |=5:.. .. 168,162| 0001e890 2c 31 31 32 2c 34 30 0d 10 38 06 20 e1 0d 10 39 |,112,40..8. ...9| 0001e8a0 12 20 dd 20 f2 62 6c 75 65 5f 6d 69 6e 75 73 0d |. . .blue_minus.| 0001e8b0 10 3a 2a 20 e7 20 62 25 3e 2d 35 30 20 8c 20 62 |.:* . b%>-50 . b| 0001e8c0 25 2d 3d 35 3a c8 93 20 c8 90 20 31 36 38 2c 31 |%-=5:.. .. 168,1| 0001e8d0 30 32 2c 31 31 32 2c 34 30 0d 10 3b 06 20 e1 0d |02,112,40..;. ..| 0001e8e0 10 3c 11 20 dd 20 f2 62 6c 75 65 5f 70 6c 75 73 |.<. . .blue_plus| 0001e8f0 0d 10 3d 29 20 e7 20 62 25 3c 35 30 20 8c 20 62 |..=) . b%<50 . b| 0001e900 25 2b 3d 35 3a c8 93 20 c8 90 20 31 36 38 2c 31 |%+=5:.. .. 168,1| 0001e910 30 32 2c 31 31 32 2c 34 30 0d 10 3e 06 20 e1 0d |02,112,40..>. ..| 0001e920 10 3f 04 0d 10 40 17 20 dd 20 f2 70 72 6f 63 65 |.?...@. . .proce| 0001e930 73 73 5f 70 69 63 74 75 72 65 0d 10 41 23 20 f2 |ss_picture..A# .| 0001e940 70 69 63 70 72 6f 5f 74 61 62 6c 65 73 3a f2 64 |picpro_tables:.d| 0001e950 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d 10 42 |isplay_memory..B| 0001e960 40 20 21 73 74 61 72 74 5f 61 64 64 72 65 73 73 |@ !start_address| 0001e970 3d 73 63 72 65 65 6e 25 3a 21 70 69 63 70 72 6f |=screen%:!picpro| 0001e980 5f 62 79 74 65 73 3d 31 32 38 30 3a 21 70 69 63 |_bytes=1280:!pic| 0001e990 70 72 6f 5f 6c 69 6e 65 73 3d 35 31 32 0d 10 43 |pro_lines=512..C| 0001e9a0 46 20 21 72 65 64 5f 61 64 64 72 65 73 73 3d 72 |F !red_address=r| 0001e9b0 65 64 64 61 74 61 3a 21 67 72 65 65 6e 5f 61 64 |eddata:!green_ad| 0001e9c0 64 72 65 73 73 3d 67 72 6e 64 61 74 61 3a 21 62 |dress=grndata:!b| 0001e9d0 6c 75 65 5f 61 64 64 72 65 73 73 3d 62 6c 75 64 |lue_address=blud| 0001e9e0 61 74 61 0d 10 44 16 20 d6 20 70 69 63 74 75 72 |ata..D. . pictur| 0001e9f0 65 5f 70 72 6f 63 65 73 73 0d 10 45 06 20 e1 0d |e_process..E. ..| 0001ea00 10 46 04 0d 10 47 17 20 dd 20 f2 70 69 63 70 72 |.F...G. . .picpr| 0001ea10 6f 5f 61 73 73 65 6d 62 6c 65 0d 10 48 2e 20 72 |o_assemble..H. r| 0001ea20 65 64 74 61 62 6c 65 3d 33 3a 67 72 65 65 6e 74 |edtable=3:greent| 0001ea30 61 62 6c 65 3d 34 3a 62 6c 75 65 74 61 62 6c 65 |able=4:bluetable| 0001ea40 3d 35 3a 6e 65 77 3d 36 0d 10 49 2d 20 62 61 73 |=5:new=6..I- bas| 0001ea50 65 3d 37 3a 6f 66 66 73 65 74 3d 38 3a 62 79 74 |e=7:offset=8:byt| 0001ea60 65 73 3d 39 3a 6c 69 6e 65 73 3d 31 30 3a 64 61 |es=9:lines=10:da| 0001ea70 74 61 3d 31 31 0d 10 4a 26 20 6e 65 77 31 3d 33 |ta=11..J& new1=3| 0001ea80 3a 6e 65 77 32 3d 34 3a 72 65 73 75 6c 74 31 3d |:new2=4:result1=| 0001ea90 36 3a 72 65 73 75 6c 74 32 3d 39 0d 10 4b 17 20 |6:result2=9..K. | 0001eaa0 de 20 70 69 63 70 72 6f 5f 63 6f 64 65 25 20 38 |. picpro_code% 8| 0001eab0 30 30 0d 10 4c 11 20 e3 20 50 3d 30 20 b8 20 32 |00..L. . P=0 . 2| 0001eac0 20 88 32 0d 10 4d 14 20 50 25 3d 70 69 63 70 72 | .2..M. P%=picpr| 0001ead0 6f 5f 63 6f 64 65 25 0d 10 4e 0b 20 5b 4f 50 54 |o_code%..N. [OPT| 0001eae0 20 50 0d 10 4f 15 20 2e 70 69 63 74 75 72 65 5f | P..O. .picture_| 0001eaf0 70 72 6f 63 65 73 73 0d 10 50 29 20 4c 44 52 20 |process..P) LDR | 0001eb00 62 61 73 65 2c 73 74 61 72 74 5f 61 64 64 72 65 |base,start_addre| 0001eb10 73 73 3a 4d 4f 56 20 6f 66 66 73 65 74 2c 23 30 |ss:MOV offset,#0| 0001eb20 0d 10 51 32 20 4c 44 52 20 62 79 74 65 73 2c 70 |..Q2 LDR bytes,p| 0001eb30 69 63 70 72 6f 5f 62 79 74 65 73 3a 4c 44 52 20 |icpro_bytes:LDR | 0001eb40 6c 69 6e 65 73 2c 70 69 63 70 72 6f 5f 6c 69 6e |lines,picpro_lin| 0001eb50 65 73 0d 10 52 3a 20 4c 44 52 20 72 65 64 74 61 |es..R: LDR redta| 0001eb60 62 6c 65 2c 72 65 64 5f 61 64 64 72 65 73 73 3a |ble,red_address:| 0001eb70 4c 44 52 20 67 72 65 65 6e 74 61 62 6c 65 2c 67 |LDR greentable,g| 0001eb80 72 65 65 6e 5f 61 64 64 72 65 73 73 0d 10 53 1f |reen_address..S.| 0001eb90 20 4c 44 52 20 62 6c 75 65 74 61 62 6c 65 2c 62 | LDR bluetable,b| 0001eba0 6c 75 65 5f 61 64 64 72 65 73 73 0d 10 54 11 20 |lue_address..T. | 0001ebb0 2e 70 69 63 70 72 6f 5f 6c 6f 6f 70 0d 10 55 24 |.picpro_loop..U$| 0001ebc0 20 4d 4f 56 20 6e 65 77 2c 23 30 3a 4c 44 52 20 | MOV new,#0:LDR | 0001ebd0 52 30 2c 5b 62 61 73 65 2c 6f 66 66 73 65 74 5d |R0,[base,offset]| 0001ebe0 0d 10 56 27 20 80 20 52 32 2c 52 30 2c 23 33 31 |..V' . R2,R0,#31| 0001ebf0 3a 4c 44 52 42 20 6e 65 77 2c 5b 72 65 64 74 61 |:LDRB new,[redta| 0001ec00 62 6c 65 2c 52 32 5d 0d 10 57 3a 20 4d 4f 56 20 |ble,R2]..W: MOV | 0001ec10 52 32 2c 52 30 2c 4c 53 52 23 35 3a 80 20 52 32 |R2,R0,LSR#5:. R2| 0001ec20 2c 52 32 2c 23 33 31 3a 4c 44 52 42 20 64 61 74 |,R2,#31:LDRB dat| 0001ec30 61 2c 5b 67 72 65 65 6e 74 61 62 6c 65 2c 52 32 |a,[greentable,R2| 0001ec40 5d 0d 10 58 29 20 4d 4f 56 20 64 61 74 61 2c 64 |]..X) MOV data,d| 0001ec50 61 74 61 2c 4c 53 4c 23 35 3a 41 44 44 20 6e 65 |ata,LSL#5:ADD ne| 0001ec60 77 2c 6e 65 77 2c 64 61 74 61 0d 10 59 3a 20 4d |w,new,data..Y: M| 0001ec70 4f 56 20 52 32 2c 52 30 2c 4c 53 52 23 31 30 3a |OV R2,R0,LSR#10:| 0001ec80 80 20 52 32 2c 52 32 2c 23 33 31 3a 4c 44 52 42 |. R2,R2,#31:LDRB| 0001ec90 20 64 61 74 61 2c 5b 62 6c 75 65 74 61 62 6c 65 | data,[bluetable| 0001eca0 2c 52 32 5d 0d 10 5a 2a 20 4d 4f 56 20 64 61 74 |,R2]..Z* MOV dat| 0001ecb0 61 2c 64 61 74 61 2c 4c 53 4c 23 31 30 3a 41 44 |a,data,LSL#10:AD| 0001ecc0 44 20 6e 65 77 2c 6e 65 77 2c 64 61 74 61 0d 10 |D new,new,data..| 0001ecd0 5b 39 20 4d 4f 56 20 52 32 2c 52 30 2c 4c 53 52 |[9 MOV R2,R0,LSR| 0001ece0 23 31 36 3a 80 20 52 32 2c 52 32 2c 23 33 31 3a |#16:. R2,R2,#31:| 0001ecf0 4c 44 52 42 20 64 61 74 61 2c 5b 72 65 64 74 61 |LDRB data,[redta| 0001ed00 62 6c 65 2c 52 32 5d 0d 10 5c 2a 20 4d 4f 56 20 |ble,R2]..\* MOV | 0001ed10 64 61 74 61 2c 64 61 74 61 2c 4c 53 4c 23 31 36 |data,data,LSL#16| 0001ed20 3a 41 44 44 20 6e 65 77 2c 6e 65 77 2c 64 61 74 |:ADD new,new,dat| 0001ed30 61 0d 10 5d 3b 20 4d 4f 56 20 52 32 2c 52 30 2c |a..]; MOV R2,R0,| 0001ed40 4c 53 52 23 32 31 3a 80 20 52 32 2c 52 32 2c 23 |LSR#21:. R2,R2,#| 0001ed50 33 31 3a 4c 44 52 42 20 64 61 74 61 2c 5b 67 72 |31:LDRB data,[gr| 0001ed60 65 65 6e 74 61 62 6c 65 2c 52 32 5d 0d 10 5e 2a |eentable,R2]..^*| 0001ed70 20 4d 4f 56 20 64 61 74 61 2c 64 61 74 61 2c 4c | MOV data,data,L| 0001ed80 53 4c 23 32 31 3a 41 44 44 20 6e 65 77 2c 6e 65 |SL#21:ADD new,ne| 0001ed90 77 2c 64 61 74 61 0d 10 5f 3a 20 4d 4f 56 20 52 |w,data.._: MOV R| 0001eda0 32 2c 52 30 2c 4c 53 52 23 32 36 3a 80 20 52 32 |2,R0,LSR#26:. R2| 0001edb0 2c 52 32 2c 23 33 31 3a 4c 44 52 42 20 64 61 74 |,R2,#31:LDRB dat| 0001edc0 61 2c 5b 62 6c 75 65 74 61 62 6c 65 2c 52 32 5d |a,[bluetable,R2]| 0001edd0 0d 10 60 2a 20 4d 4f 56 20 64 61 74 61 2c 64 61 |..`* MOV data,da| 0001ede0 74 61 2c 4c 53 4c 23 32 36 3a 41 44 44 20 6e 65 |ta,LSL#26:ADD ne| 0001edf0 77 2c 6e 65 77 2c 64 61 74 61 0d 10 61 2f 20 53 |w,new,data..a/ S| 0001ee00 54 52 20 6e 65 77 2c 5b 62 61 73 65 2c 6f 66 66 |TR new,[base,off| 0001ee10 73 65 74 5d 3a 41 44 44 20 6f 66 66 73 65 74 2c |set]:ADD offset,| 0001ee20 6f 66 66 73 65 74 2c 23 34 0d 10 62 25 20 43 4d |offset,#4..b% CM| 0001ee30 50 20 6f 66 66 73 65 74 2c 62 79 74 65 73 3a 42 |P offset,bytes:B| 0001ee40 4c 54 20 70 69 63 70 72 6f 5f 6c 6f 6f 70 0d 10 |LT picpro_loop..| 0001ee50 63 26 20 41 44 44 20 62 61 73 65 2c 62 61 73 65 |c& ADD base,base| 0001ee60 2c 23 31 32 38 30 3a 4d 4f 56 20 6f 66 66 73 65 |,#1280:MOV offse| 0001ee70 74 2c 23 30 0d 10 64 28 20 53 55 42 53 20 6c 69 |t,#0..d( SUBS li| 0001ee80 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 4e 45 |nes,lines,#1:BNE| 0001ee90 20 70 69 63 70 72 6f 5f 6c 6f 6f 70 0d 10 65 0f | picpro_loop..e.| 0001eea0 20 4d 4f 56 20 50 43 2c 52 31 34 0d 10 66 04 0d | MOV PC,R14..f..| 0001eeb0 10 67 19 20 2e 64 69 73 70 6c 61 79 5f 72 65 64 |.g. .display_red| 0001eec0 5f 61 73 5f 6d 6f 6e 6f 0d 10 68 38 20 4c 44 52 |_as_mono..h8 LDR| 0001eed0 20 62 61 73 65 2c 73 74 61 72 74 5f 61 64 64 72 | base,start_addr| 0001eee0 65 73 73 3a 4d 4f 56 20 6f 66 66 73 65 74 2c 23 |ess:MOV offset,#| 0001eef0 30 3a 4d 4f 56 20 6c 69 6e 65 73 2c 23 35 31 32 |0:MOV lines,#512| 0001ef00 0d 10 69 13 20 2e 72 65 64 5f 6d 6f 6e 6f 5f 6c |..i. .red_mono_l| 0001ef10 6f 6f 70 0d 10 6a 27 20 4c 44 52 20 52 30 2c 5b |oop..j' LDR R0,[| 0001ef20 62 61 73 65 2c 6f 66 66 73 65 74 5d 3a 80 20 64 |base,offset]:. d| 0001ef30 61 74 61 2c 52 30 2c 23 33 31 0d 10 6b 2d 20 4d |ata,R0,#31..k- M| 0001ef40 4f 56 20 6e 65 77 31 2c 64 61 74 61 2c 4c 53 4c |OV new1,data,LSL| 0001ef50 23 35 3a 4d 4f 56 20 6e 65 77 32 2c 64 61 74 61 |#5:MOV new2,data| 0001ef60 2c 4c 53 4c 23 31 30 0d 10 6c 33 20 41 44 44 20 |,LSL#10..l3 ADD | 0001ef70 72 65 73 75 6c 74 31 2c 6e 65 77 32 2c 6e 65 77 |result1,new2,new| 0001ef80 31 3a 41 44 44 20 72 65 73 75 6c 74 31 2c 72 65 |1:ADD result1,re| 0001ef90 73 75 6c 74 31 2c 64 61 74 61 0d 10 6d 23 20 4d |sult1,data..m# M| 0001efa0 4f 56 20 52 30 2c 52 30 2c 4c 53 52 23 31 36 3a |OV R0,R0,LSR#16:| 0001efb0 80 20 64 61 74 61 2c 52 30 2c 23 33 31 0d 10 6e |. data,R0,#31..n| 0001efc0 2d 20 4d 4f 56 20 6e 65 77 31 2c 64 61 74 61 2c |- MOV new1,data,| 0001efd0 4c 53 4c 23 35 3a 4d 4f 56 20 6e 65 77 32 2c 64 |LSL#5:MOV new2,d| 0001efe0 61 74 61 2c 4c 53 4c 23 31 30 0d 10 6f 33 20 41 |ata,LSL#10..o3 A| 0001eff0 44 44 20 72 65 73 75 6c 74 32 2c 6e 65 77 32 2c |DD result2,new2,| 0001f000 6e 65 77 31 3a 41 44 44 20 72 65 73 75 6c 74 32 |new1:ADD result2| 0001f010 2c 72 65 73 75 6c 74 32 2c 64 61 74 61 0d 10 70 |,result2,data..p| 0001f020 3b 20 4d 4f 56 20 72 65 73 75 6c 74 32 2c 72 65 |; MOV result2,re| 0001f030 73 75 6c 74 32 2c 4c 53 4c 23 31 36 3a 41 44 44 |sult2,LSL#16:ADD| 0001f040 20 72 65 73 75 6c 74 31 2c 72 65 73 75 6c 74 31 | result1,result1| 0001f050 2c 72 65 73 75 6c 74 32 0d 10 71 33 20 53 54 52 |,result2..q3 STR| 0001f060 20 72 65 73 75 6c 74 31 2c 5b 62 61 73 65 2c 6f | result1,[base,o| 0001f070 66 66 73 65 74 5d 3a 41 44 44 20 6f 66 66 73 65 |ffset]:ADD offse| 0001f080 74 2c 6f 66 66 73 65 74 2c 23 34 0d 10 72 27 20 |t,offset,#4..r' | 0001f090 43 4d 50 20 6f 66 66 73 65 74 2c 23 31 32 38 30 |CMP offset,#1280| 0001f0a0 3a 42 4e 45 20 72 65 64 5f 6d 6f 6e 6f 5f 6c 6f |:BNE red_mono_lo| 0001f0b0 6f 70 0d 10 73 26 20 4d 4f 56 20 6f 66 66 73 65 |op..s& MOV offse| 0001f0c0 74 2c 23 30 3a 41 44 44 20 62 61 73 65 2c 62 61 |t,#0:ADD base,ba| 0001f0d0 73 65 2c 23 31 32 38 30 0d 10 74 2a 20 53 55 42 |se,#1280..t* SUB| 0001f0e0 53 20 6c 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 |S lines,lines,#1| 0001f0f0 3a 42 4e 45 20 72 65 64 5f 6d 6f 6e 6f 5f 6c 6f |:BNE red_mono_lo| 0001f100 6f 70 0d 10 75 0f 20 4d 4f 56 20 50 43 2c 52 31 |op..u. MOV PC,R1| 0001f110 34 0d 10 76 04 0d 10 77 1b 20 2e 64 69 73 70 6c |4..v...w. .displ| 0001f120 61 79 5f 67 72 65 65 6e 5f 61 73 5f 6d 6f 6e 6f |ay_green_as_mono| 0001f130 0d 10 78 38 20 4c 44 52 20 62 61 73 65 2c 73 74 |..x8 LDR base,st| 0001f140 61 72 74 5f 61 64 64 72 65 73 73 3a 4d 4f 56 20 |art_address:MOV | 0001f150 6f 66 66 73 65 74 2c 23 30 3a 4d 4f 56 20 6c 69 |offset,#0:MOV li| 0001f160 6e 65 73 2c 23 35 31 32 0d 10 79 15 20 2e 67 72 |nes,#512..y. .gr| 0001f170 65 65 6e 5f 6d 6f 6e 6f 5f 6c 6f 6f 70 0d 10 7a |een_mono_loop..z| 0001f180 3b 20 4c 44 52 20 52 30 2c 5b 62 61 73 65 2c 6f |; LDR R0,[base,o| 0001f190 66 66 73 65 74 5d 3a 4d 4f 56 20 64 61 74 61 2c |ffset]:MOV data,| 0001f1a0 52 30 2c 4c 53 52 23 35 3a 80 20 64 61 74 61 2c |R0,LSR#5:. data,| 0001f1b0 64 61 74 61 2c 23 33 31 0d 10 7b 2d 20 4d 4f 56 |data,#31..{- MOV| 0001f1c0 20 6e 65 77 31 2c 64 61 74 61 2c 4c 53 4c 23 35 | new1,data,LSL#5| 0001f1d0 3a 4d 4f 56 20 6e 65 77 32 2c 64 61 74 61 2c 4c |:MOV new2,data,L| 0001f1e0 53 4c 23 31 30 0d 10 7c 33 20 41 44 44 20 72 65 |SL#10..|3 ADD re| 0001f1f0 73 75 6c 74 31 2c 6e 65 77 32 2c 6e 65 77 31 3a |sult1,new2,new1:| 0001f200 41 44 44 20 72 65 73 75 6c 74 31 2c 72 65 73 75 |ADD result1,resu| 0001f210 6c 74 31 2c 64 61 74 61 0d 10 7d 23 20 4d 4f 56 |lt1,data..}# MOV| 0001f220 20 52 30 2c 52 30 2c 4c 53 52 23 32 31 3a 80 20 | R0,R0,LSR#21:. | 0001f230 64 61 74 61 2c 52 30 2c 23 33 31 0d 10 7e 2d 20 |data,R0,#31..~- | 0001f240 4d 4f 56 20 6e 65 77 31 2c 64 61 74 61 2c 4c 53 |MOV new1,data,LS| 0001f250 4c 23 35 3a 4d 4f 56 20 6e 65 77 32 2c 64 61 74 |L#5:MOV new2,dat| 0001f260 61 2c 4c 53 4c 23 31 30 0d 10 7f 33 20 41 44 44 |a,LSL#10...3 ADD| 0001f270 20 72 65 73 75 6c 74 32 2c 6e 65 77 32 2c 6e 65 | result2,new2,ne| 0001f280 77 31 3a 41 44 44 20 72 65 73 75 6c 74 32 2c 72 |w1:ADD result2,r| 0001f290 65 73 75 6c 74 32 2c 64 61 74 61 0d 10 80 3b 20 |esult2,data...; | 0001f2a0 4d 4f 56 20 72 65 73 75 6c 74 32 2c 72 65 73 75 |MOV result2,resu| 0001f2b0 6c 74 32 2c 4c 53 4c 23 31 36 3a 41 44 44 20 72 |lt2,LSL#16:ADD r| 0001f2c0 65 73 75 6c 74 31 2c 72 65 73 75 6c 74 31 2c 72 |esult1,result1,r| 0001f2d0 65 73 75 6c 74 32 0d 10 81 33 20 53 54 52 20 72 |esult2...3 STR r| 0001f2e0 65 73 75 6c 74 31 2c 5b 62 61 73 65 2c 6f 66 66 |esult1,[base,off| 0001f2f0 73 65 74 5d 3a 41 44 44 20 6f 66 66 73 65 74 2c |set]:ADD offset,| 0001f300 6f 66 66 73 65 74 2c 23 34 0d 10 82 29 20 43 4d |offset,#4...) CM| 0001f310 50 20 6f 66 66 73 65 74 2c 23 31 32 38 30 3a 42 |P offset,#1280:B| 0001f320 4e 45 20 67 72 65 65 6e 5f 6d 6f 6e 6f 5f 6c 6f |NE green_mono_lo| 0001f330 6f 70 0d 10 83 26 20 4d 4f 56 20 6f 66 66 73 65 |op...& MOV offse| 0001f340 74 2c 23 30 3a 41 44 44 20 62 61 73 65 2c 62 61 |t,#0:ADD base,ba| 0001f350 73 65 2c 23 31 32 38 30 0d 10 84 2c 20 53 55 42 |se,#1280..., SUB| 0001f360 53 20 6c 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 |S lines,lines,#1| 0001f370 3a 42 4e 45 20 67 72 65 65 6e 5f 6d 6f 6e 6f 5f |:BNE green_mono_| 0001f380 6c 6f 6f 70 0d 10 85 0f 20 4d 4f 56 20 50 43 2c |loop.... MOV PC,| 0001f390 52 31 34 0d 10 86 04 0d 10 87 1a 20 2e 64 69 73 |R14........ .dis| 0001f3a0 70 6c 61 79 5f 62 6c 75 65 5f 61 73 5f 6d 6f 6e |play_blue_as_mon| 0001f3b0 6f 0d 10 88 38 20 4c 44 52 20 62 61 73 65 2c 73 |o...8 LDR base,s| 0001f3c0 74 61 72 74 5f 61 64 64 72 65 73 73 3a 4d 4f 56 |tart_address:MOV| 0001f3d0 20 6f 66 66 73 65 74 2c 23 30 3a 4d 4f 56 20 6c | offset,#0:MOV l| 0001f3e0 69 6e 65 73 2c 23 35 31 32 0d 10 89 14 20 2e 62 |ines,#512.... .b| 0001f3f0 6c 75 65 5f 6d 6f 6e 6f 5f 6c 6f 6f 70 0d 10 8a |lue_mono_loop...| 0001f400 3c 20 4c 44 52 20 52 30 2c 5b 62 61 73 65 2c 6f |< LDR R0,[base,o| 0001f410 66 66 73 65 74 5d 3a 4d 4f 56 20 64 61 74 61 2c |ffset]:MOV data,| 0001f420 52 30 2c 4c 53 52 23 31 30 3a 80 20 64 61 74 61 |R0,LSR#10:. data| 0001f430 2c 64 61 74 61 2c 23 33 31 0d 10 8b 2d 20 4d 4f |,data,#31...- MO| 0001f440 56 20 6e 65 77 31 2c 64 61 74 61 2c 4c 53 4c 23 |V new1,data,LSL#| 0001f450 35 3a 4d 4f 56 20 6e 65 77 32 2c 64 61 74 61 2c |5:MOV new2,data,| 0001f460 4c 53 4c 23 31 30 0d 10 8c 33 20 41 44 44 20 72 |LSL#10...3 ADD r| 0001f470 65 73 75 6c 74 31 2c 6e 65 77 32 2c 6e 65 77 31 |esult1,new2,new1| 0001f480 3a 41 44 44 20 72 65 73 75 6c 74 31 2c 72 65 73 |:ADD result1,res| 0001f490 75 6c 74 31 2c 64 61 74 61 0d 10 8d 23 20 4d 4f |ult1,data...# MO| 0001f4a0 56 20 52 30 2c 52 30 2c 4c 53 52 23 32 36 3a 80 |V R0,R0,LSR#26:.| 0001f4b0 20 64 61 74 61 2c 52 30 2c 23 33 31 0d 10 8e 2d | data,R0,#31...-| 0001f4c0 20 4d 4f 56 20 6e 65 77 31 2c 64 61 74 61 2c 4c | MOV new1,data,L| 0001f4d0 53 4c 23 35 3a 4d 4f 56 20 6e 65 77 32 2c 64 61 |SL#5:MOV new2,da| 0001f4e0 74 61 2c 4c 53 4c 23 31 30 0d 10 8f 33 20 41 44 |ta,LSL#10...3 AD| 0001f4f0 44 20 72 65 73 75 6c 74 32 2c 6e 65 77 32 2c 6e |D result2,new2,n| 0001f500 65 77 31 3a 41 44 44 20 72 65 73 75 6c 74 32 2c |ew1:ADD result2,| 0001f510 72 65 73 75 6c 74 32 2c 64 61 74 61 0d 10 90 3b |result2,data...;| 0001f520 20 4d 4f 56 20 72 65 73 75 6c 74 32 2c 72 65 73 | MOV result2,res| 0001f530 75 6c 74 32 2c 4c 53 4c 23 31 36 3a 41 44 44 20 |ult2,LSL#16:ADD | 0001f540 72 65 73 75 6c 74 31 2c 72 65 73 75 6c 74 31 2c |result1,result1,| 0001f550 72 65 73 75 6c 74 32 0d 10 91 33 20 53 54 52 20 |result2...3 STR | 0001f560 72 65 73 75 6c 74 31 2c 5b 62 61 73 65 2c 6f 66 |result1,[base,of| 0001f570 66 73 65 74 5d 3a 41 44 44 20 6f 66 66 73 65 74 |fset]:ADD offset| 0001f580 2c 6f 66 66 73 65 74 2c 23 34 0d 10 92 28 20 43 |,offset,#4...( C| 0001f590 4d 50 20 6f 66 66 73 65 74 2c 23 31 32 38 30 3a |MP offset,#1280:| 0001f5a0 42 4e 45 20 62 6c 75 65 5f 6d 6f 6e 6f 5f 6c 6f |BNE blue_mono_lo| 0001f5b0 6f 70 0d 10 93 26 20 4d 4f 56 20 6f 66 66 73 65 |op...& MOV offse| 0001f5c0 74 2c 23 30 3a 41 44 44 20 62 61 73 65 2c 62 61 |t,#0:ADD base,ba| 0001f5d0 73 65 2c 23 31 32 38 30 0d 10 94 2b 20 53 55 42 |se,#1280...+ SUB| 0001f5e0 53 20 6c 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 |S lines,lines,#1| 0001f5f0 3a 42 4e 45 20 62 6c 75 65 5f 6d 6f 6e 6f 5f 6c |:BNE blue_mono_l| 0001f600 6f 6f 70 0d 10 95 0f 20 4d 4f 56 20 50 43 2c 52 |oop.... MOV PC,R| 0001f610 31 34 0d 10 96 04 0d 10 97 1a 20 2e 72 65 64 5f |14........ .red_| 0001f620 61 64 64 72 65 73 73 20 20 20 45 51 55 44 20 30 |address EQUD 0| 0001f630 0d 10 98 1a 20 2e 67 72 65 65 6e 5f 61 64 64 72 |.... .green_addr| 0001f640 65 73 73 20 45 51 55 44 20 30 0d 10 99 1a 20 2e |ess EQUD 0.... .| 0001f650 62 6c 75 65 5f 61 64 64 72 65 73 73 20 20 45 51 |blue_address EQ| 0001f660 55 44 20 30 0d 10 9a 1a 20 2e 73 74 61 72 74 5f |UD 0.... .start_| 0001f670 61 64 64 72 65 73 73 20 45 51 55 44 20 30 0d 10 |address EQUD 0..| 0001f680 9b 1a 20 2e 70 69 63 70 72 6f 5f 62 79 74 65 73 |.. .picpro_bytes| 0001f690 20 20 45 51 55 44 20 30 0d 10 9c 1a 20 2e 70 69 | EQUD 0.... .pi| 0001f6a0 63 70 72 6f 5f 6c 69 6e 65 73 20 20 45 51 55 44 |cpro_lines EQUD| 0001f6b0 20 30 0d 10 9d 06 20 5d 0d 10 9e 06 20 ed 0d 10 | 0.... ].... ...| 0001f6c0 9f 06 20 e1 0d 10 a0 04 0d 10 a1 15 20 dd 20 f2 |.. ......... . .| 0001f6d0 70 69 63 70 72 6f 5f 74 61 62 6c 65 73 0d 10 a2 |picpro_tables...| 0001f6e0 3d 20 72 65 64 3d 31 2b 28 94 28 72 25 29 29 2f |= red=1+(.(r%))/| 0001f6f0 31 30 30 3a 67 72 65 65 6e 3d 31 2b 28 94 28 67 |100:green=1+(.(g| 0001f700 25 29 29 2f 31 30 30 3a 62 6c 75 65 3d 31 2b 28 |%))/100:blue=1+(| 0001f710 94 28 62 25 29 29 2f 31 30 30 0d 10 a3 10 20 e3 |.(b%))/100.... .| 0001f720 20 4e 25 3d 30 20 b8 20 33 31 0d 10 a4 25 20 e7 | N%=0 . 31...% .| 0001f730 20 72 25 3e 2d 31 20 8c 20 52 3d 4e 25 2a 72 65 | r%>-1 . R=N%*re| 0001f740 64 3a e7 20 52 3e 33 31 20 8c 20 52 3d 33 31 0d |d:. R>31 . R=31.| 0001f750 10 a5 2f 20 e7 20 72 25 3c 30 20 8c 20 52 3d 33 |../ . r%<0 . R=3| 0001f760 31 2d a8 28 28 28 33 31 2d 4e 25 29 2a 72 65 64 |1-.(((31-N%)*red| 0001f770 29 29 3a e7 20 52 3c 30 20 8c 20 52 3d 30 0d 10 |)):. R<0 . R=0..| 0001f780 a6 27 20 e7 20 67 25 3e 2d 31 20 8c 20 47 3d 4e |.' . g%>-1 . G=N| 0001f790 25 2a 67 72 65 65 6e 3a e7 20 47 3e 33 31 20 8c |%*green:. G>31 .| 0001f7a0 20 47 3d 33 31 0d 10 a7 31 20 e7 20 67 25 3c 30 | G=31...1 . g%<0| 0001f7b0 20 8c 20 47 3d 33 31 2d a8 28 28 28 33 31 2d 4e | . G=31-.(((31-N| 0001f7c0 25 29 2a 67 72 65 65 6e 29 29 3a e7 20 47 3c 30 |%)*green)):. G<0| 0001f7d0 20 8c 20 47 3d 30 0d 10 a8 26 20 e7 20 62 25 3e | . G=0...& . b%>| 0001f7e0 2d 31 20 8c 20 42 3d 4e 25 2a 62 6c 75 65 3a e7 |-1 . B=N%*blue:.| 0001f7f0 20 42 3e 33 31 20 8c 20 42 3d 33 31 0d 10 a9 30 | B>31 . B=31...0| 0001f800 20 e7 20 62 25 3c 30 20 8c 20 42 3d 33 31 2d a8 | . b%<0 . B=31-.| 0001f810 28 28 28 33 31 2d 4e 25 29 2a 62 6c 75 65 29 29 |(((31-N%)*blue))| 0001f820 3a e7 20 42 3c 30 20 8c 20 42 3d 30 0d 10 aa 2b |:. B<0 . B=0...+| 0001f830 20 72 65 64 64 61 74 61 3f 4e 25 3d 52 3a 67 72 | reddata?N%=R:gr| 0001f840 6e 64 61 74 61 3f 4e 25 3d 47 3a 62 6c 75 64 61 |ndata?N%=G:bluda| 0001f850 74 61 3f 4e 25 3d 42 0d 10 ab 06 20 ed 0d 10 ac |ta?N%=B.... ....| 0001f860 06 20 e1 0d 10 ad 04 0d 10 ae 10 20 dd 20 f2 7a |. ......... . .z| 0001f870 6f 6f 6d 5f 70 69 63 0d 10 af 16 20 c8 97 20 c8 |oom_pic.... .. .| 0001f880 93 20 30 2c 30 2c 36 34 30 2c 35 31 32 0d 10 b0 |. 0,0,640,512...| 0001f890 2d 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 |- .display_memor| 0001f8a0 79 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f |y:.wait_no_butto| 0001f8b0 6e 3a c8 97 20 58 2c 59 2c 42 0d 10 b1 1c 20 e6 |n:.. X,Y,B.... .| 0001f8c0 20 33 2c 36 33 3a c8 93 20 58 2c 59 2c 36 34 30 | 3,63:.. X,Y,640| 0001f8d0 2c 35 31 32 3a f5 0d 10 b2 28 20 f5 3a c8 97 20 |,512:....( .:.. | 0001f8e0 58 31 2c 59 31 2c 42 3a fd 20 58 3c 3e 58 31 20 |X1,Y1,B:. X<>X1 | 0001f8f0 84 20 59 3c 3e 59 31 20 84 20 42 3c 3e 30 0d 10 |. Y<>Y1 . B<>0..| 0001f900 b3 24 20 c8 93 20 58 2c 59 2c 36 34 30 2c 35 31 |.$ .. X,Y,640,51| 0001f910 32 3a c8 93 20 58 31 2c 59 31 2c 36 34 30 2c 35 |2:.. X1,Y1,640,5| 0001f920 31 32 0d 10 b4 15 20 58 3d 58 31 3a 59 3d 59 31 |12.... X=X1:Y=Y1| 0001f930 3a fd 20 42 3c 3e 30 0d 10 b5 0c 20 e7 20 42 3d |:. B<>0.... . B=| 0001f940 34 20 8c 0d 10 b6 31 20 59 2b 3d 35 31 32 3a 79 |4 ....1 Y+=512:y| 0001f950 25 3d 28 31 30 32 34 2d 59 29 2f 32 3a 78 25 3d |%=(1024-Y)/2:x%=| 0001f960 58 3a 6f 66 66 73 65 74 25 3d 79 25 2a 31 32 38 |X:offset%=y%*128| 0001f970 30 2b 78 25 0d 10 b7 1c 20 c8 95 20 6f 66 66 73 |0+x%.... .. offs| 0001f980 65 74 25 2f 34 3c 3e 6f 66 66 73 65 74 25 81 34 |et%/4<>offset%.4| 0001f990 0d 10 b8 11 20 6f 66 66 73 65 74 25 2d 3d 31 3a |.... offset%-=1:| 0001f9a0 ce 0d 10 b9 2e 20 21 7a 6f 6f 6d 5f 73 6f 75 72 |..... !zoom_sour| 0001f9b0 63 65 5f 61 64 64 72 65 73 73 3d 6d 65 6d 62 6c |ce_address=membl| 0001f9c0 6f 63 6b 25 2b 32 30 2b 6f 66 66 73 65 74 25 0d |ock%+20+offset%.| 0001f9d0 10 ba 1f 20 21 7a 6f 6f 6d 5f 64 65 73 74 5f 61 |... !zoom_dest_a| 0001f9e0 64 64 72 65 73 73 3d 73 63 72 65 65 6e 25 0d 10 |ddress=screen%..| 0001f9f0 bb 11 20 d6 20 7a 6f 6f 6d 5f 63 6f 64 65 25 0d |.. . zoom_code%.| 0001fa00 10 bc 24 20 e7 20 a4 75 6e 64 6f 28 22 5a 6f 6f |..$ . .undo("Zoo| 0001fa10 6d 20 32 3a 31 20 2d 20 6f 70 74 69 6f 6e 73 22 |m 2:1 - options"| 0001fa20 29 20 8c 0d 10 bd 14 20 f2 64 69 73 70 6c 61 79 |) ..... .display| 0001fa30 5f 6d 65 6d 6f 72 79 0d 10 be 06 20 cc 0d 10 bf |_memory.... ....| 0001fa40 20 20 d6 20 7a 6f 6f 6d 5f 63 6f 64 65 25 3a f2 | . zoom_code%:.| 0001fa50 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d 10 c0 |upload_memory...| 0001fa60 06 20 cd 0d 10 c1 06 20 cc 0d 10 c2 15 20 c8 93 |. ..... ..... ..| 0001fa70 20 58 31 2c 59 31 2c 36 34 30 2c 35 31 32 0d 10 | X1,Y1,640,512..| 0001fa80 c3 06 20 cd 0d 10 c4 18 20 c8 97 20 c8 93 20 30 |.. ..... .. .. 0| 0001fa90 2c 30 2c 31 32 38 30 2c 31 30 32 34 0d 10 c5 06 |,0,1280,1024....| 0001faa0 20 e1 0d 10 c6 04 0d 10 c7 14 20 dd 20 a4 75 6e | ......... . .un| 0001fab0 64 6f 28 74 69 74 6c 65 24 29 0d 10 c8 2a 20 f2 |do(title$)...* .| 0001fac0 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 3a c8 |wait_no_button:.| 0001fad0 97 20 c8 93 20 34 39 30 2c 31 30 30 2c 33 30 30 |. .. 490,100,300| 0001fae0 2c 31 32 30 0d 10 c9 41 20 f2 72 61 69 73 65 64 |,120...A .raised| 0001faf0 5f 62 6c 6f 63 6b 28 34 39 30 2c 31 30 30 2c 33 |_block(490,100,3| 0001fb00 30 30 2c 31 32 30 29 3a f2 72 61 69 73 65 64 5f |00,120):.raised_| 0001fb10 62 6c 6f 63 6b 28 35 31 30 2c 31 32 30 2c 31 30 |block(510,120,10| 0001fb20 38 2c 34 30 29 0d 10 ca 22 20 f2 72 61 69 73 65 |8,40)..." .raise| 0001fb30 64 5f 62 6c 6f 63 6b 28 36 36 30 2c 31 32 30 2c |d_block(660,120,| 0001fb40 31 30 38 2c 34 30 29 0d 10 cb 1e 20 f2 77 72 69 |108,40).... .wri| 0001fb50 74 65 32 28 74 69 74 6c 65 24 2c 34 39 34 2c 31 |te2(title$,494,1| 0001fb60 38 30 2c 30 29 0d 10 cc 1f 20 f2 77 72 69 74 65 |80,0).... .write| 0001fb70 32 28 22 52 45 53 45 54 22 2c 35 31 32 2c 31 32 |2("RESET",512,12| 0001fb80 34 2c 34 29 0d 10 cd 1c 20 f2 77 72 69 74 65 32 |4,4).... .write2| 0001fb90 28 22 4f 4b 22 2c 36 38 34 2c 31 32 34 2c 34 29 |("OK",684,124,4)| 0001fba0 0d 10 ce 15 20 f5 3a c8 97 20 58 2c 59 2c 42 3a |.... .:.. X,Y,B:| 0001fbb0 fd 20 42 3d 34 0d 10 cf 18 20 c8 97 20 c8 93 20 |. B=4.... .. .. | 0001fbc0 30 2c 30 2c 31 32 38 30 2c 31 30 32 34 0d 10 d0 |0,0,1280,1024...| 0001fbd0 30 20 e7 20 94 28 58 2d 37 31 32 29 3c 35 32 20 |0 . .(X-712)<52 | 0001fbe0 80 20 94 28 59 2d 31 34 32 29 3c 32 32 20 8c 20 |. .(Y-142)<22 . | 0001fbf0 75 6e 25 3d 30 20 8b 20 75 6e 25 3d b9 0d 10 d1 |un%=0 . un%=....| 0001fc00 09 20 3d 75 6e 25 0d 10 d2 04 0d 10 d3 13 20 dd |. =un%........ .| 0001fc10 20 f2 75 6e 64 6f 5f 64 69 74 68 65 72 0d 10 d4 | .undo_dither...| 0001fc20 24 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 |$ .display_memor| 0001fc30 79 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f |y:.wait_no_butto| 0001fc40 6e 0d 10 d5 26 20 21 7a 6f 6f 6d 5f 73 6f 75 72 |n...& !zoom_sour| 0001fc50 63 65 5f 61 64 64 72 65 73 73 3d 6d 65 6d 62 6c |ce_address=membl| 0001fc60 6f 63 6b 25 2b 32 30 0d 10 d6 30 20 21 7a 6f 6f |ock%+20...0 !zoo| 0001fc70 6d 5f 64 65 73 74 5f 61 64 64 72 65 73 73 3d 73 |m_dest_address=s| 0001fc80 63 72 65 65 6e 25 3a d6 20 70 72 65 76 69 65 77 |creen%:. preview| 0001fc90 33 32 30 78 32 35 36 0d 10 d7 22 20 e7 20 a4 75 |320x256..." . .u| 0001fca0 6e 64 6f 28 22 20 50 72 65 76 69 65 77 20 6f 70 |ndo(" Preview op| 0001fcb0 74 69 6f 6e 73 22 29 20 8c 0d 10 d8 14 20 f2 64 |tions") ..... .d| 0001fcc0 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d 10 d9 |isplay_memory...| 0001fcd0 06 20 cc 0d 10 da 24 20 d6 20 70 72 65 76 69 65 |. ....$ . previe| 0001fce0 77 33 32 30 78 32 35 36 3a f2 75 70 6c 6f 61 64 |w320x256:.upload| 0001fcf0 5f 6d 65 6d 6f 72 79 0d 10 db 06 20 cd 0d 10 dc |_memory.... ....| 0001fd00 06 20 e1 0d 10 dd 04 0d 10 de 15 20 dd 20 f2 7a |. ......... . .z| 0001fd10 6f 6f 6d 5f 61 73 73 65 6d 62 6c 65 0d 10 df 15 |oom_assemble....| 0001fd20 20 de 20 7a 6f 6f 6d 5f 63 6f 64 65 25 20 33 36 | . zoom_code% 36| 0001fd30 30 0d 10 e0 1a 20 72 65 64 3d 31 3a 67 72 65 65 |0.... red=1:gree| 0001fd40 6e 3d 32 3a 62 6c 75 65 3d 31 31 0d 10 e1 3c 20 |n=2:blue=11...< | 0001fd50 73 6f 75 72 63 65 5f 62 61 73 65 3d 33 3a 64 65 |source_base=3:de| 0001fd60 73 74 5f 62 61 73 65 3d 34 3a 73 6f 75 72 63 65 |st_base=4:source| 0001fd70 5f 6f 66 66 73 65 74 3d 35 3a 64 65 73 74 5f 6f |_offset=5:dest_o| 0001fd80 66 66 73 65 74 3d 36 0d 10 e2 2e 20 64 61 74 61 |ffset=6.... data| 0001fd90 31 3d 37 3a 64 61 74 61 32 3d 38 3a 6c 69 6e 65 |1=7:data2=8:line| 0001fda0 73 3d 39 3a 6d 61 73 6b 31 3d 31 30 3a 6f 66 66 |s=9:mask1=10:off| 0001fdb0 73 65 74 3d 35 0d 10 e3 11 20 e3 20 50 3d 30 20 |set=5.... . P=0 | 0001fdc0 b8 20 32 20 88 32 0d 10 e4 12 20 50 25 3d 7a 6f |. 2 .2.... P%=zo| 0001fdd0 6f 6d 5f 63 6f 64 65 25 0d 10 e5 0b 20 5b 4f 50 |om_code%.... [OP| 0001fde0 54 20 50 0d 10 e6 04 0d 10 e7 0e 20 2e 7a 6f 6f |T P........ .zoo| 0001fdf0 6d 5f 70 69 63 0d 10 e8 48 20 4c 44 52 20 73 6f |m_pic...H LDR so| 0001fe00 75 72 63 65 5f 62 61 73 65 2c 7a 6f 6f 6d 5f 73 |urce_base,zoom_s| 0001fe10 6f 75 72 63 65 5f 61 64 64 72 65 73 73 3a 4c 44 |ource_address:LD| 0001fe20 52 20 64 65 73 74 5f 62 61 73 65 2c 7a 6f 6f 6d |R dest_base,zoom| 0001fe30 5f 64 65 73 74 5f 61 64 64 72 65 73 73 0d 10 e9 |_dest_address...| 0001fe40 3b 20 4d 4f 56 20 73 6f 75 72 63 65 5f 6f 66 66 |; MOV source_off| 0001fe50 73 65 74 2c 23 30 3a 4d 4f 56 20 64 65 73 74 5f |set,#0:MOV dest_| 0001fe60 6f 66 66 73 65 74 2c 23 30 3a 4d 4f 56 20 6c 69 |offset,#0:MOV li| 0001fe70 6e 65 73 2c 23 32 35 36 0d 10 ea 18 20 4c 44 52 |nes,#256.... LDR| 0001fe80 20 6d 61 73 6b 31 2c 6d 61 73 6b 5f 62 69 74 73 | mask1,mask_bits| 0001fe90 0d 10 eb 0f 20 2e 7a 6f 6f 6d 5f 6c 6f 6f 70 0d |.... .zoom_loop.| 0001fea0 10 ec 2a 20 4c 44 52 20 64 61 74 61 31 2c 5b 73 |..* LDR data1,[s| 0001feb0 6f 75 72 63 65 5f 62 61 73 65 2c 73 6f 75 72 63 |ource_base,sourc| 0001fec0 65 5f 6f 66 66 73 65 74 5d 0d 10 ed 18 20 80 20 |e_offset].... . | 0001fed0 64 61 74 61 31 2c 64 61 74 61 31 2c 6d 61 73 6b |data1,data1,mask| 0001fee0 31 0d 10 ee 31 20 4d 4f 56 20 64 61 74 61 32 2c |1...1 MOV data2,| 0001fef0 64 61 74 61 31 2c 4c 53 4c 23 31 36 3a 41 44 44 |data1,LSL#16:ADD| 0001ff00 20 64 61 74 61 32 2c 64 61 74 61 32 2c 64 61 74 | data2,data2,dat| 0001ff10 61 31 0d 10 ef 44 20 53 54 52 20 64 61 74 61 32 |a1...D STR data2| 0001ff20 2c 5b 64 65 73 74 5f 62 61 73 65 2c 64 65 73 74 |,[dest_base,dest| 0001ff30 5f 6f 66 66 73 65 74 5d 3a 41 44 44 20 64 65 73 |_offset]:ADD des| 0001ff40 74 5f 62 61 73 65 2c 64 65 73 74 5f 62 61 73 65 |t_base,dest_base| 0001ff50 2c 23 31 32 38 30 0d 10 f0 44 20 53 54 52 20 64 |,#1280...D STR d| 0001ff60 61 74 61 32 2c 5b 64 65 73 74 5f 62 61 73 65 2c |ata2,[dest_base,| 0001ff70 64 65 73 74 5f 6f 66 66 73 65 74 5d 3a 53 55 42 |dest_offset]:SUB| 0001ff80 20 64 65 73 74 5f 62 61 73 65 2c 64 65 73 74 5f | dest_base,dest_| 0001ff90 62 61 73 65 2c 23 31 32 38 30 0d 10 f1 23 20 41 |base,#1280...# A| 0001ffa0 44 44 20 64 65 73 74 5f 6f 66 66 73 65 74 2c 64 |DD dest_offset,d| 0001ffb0 65 73 74 5f 6f 66 66 73 65 74 2c 23 34 0d 10 f2 |est_offset,#4...| 0001ffc0 2a 20 4c 44 52 20 64 61 74 61 31 2c 5b 73 6f 75 |* LDR data1,[sou| 0001ffd0 72 63 65 5f 62 61 73 65 2c 73 6f 75 72 63 65 5f |rce_base,source_| 0001ffe0 6f 66 66 73 65 74 5d 0d 10 f3 2f 20 4d 4f 56 20 |offset].../ MOV | 0001fff0 64 61 74 61 31 2c 64 61 74 61 31 2c 4c 53 52 23 |data1,data1,LSR#| 00020000 31 36 3a 80 20 64 61 74 61 31 2c 64 61 74 61 31 |16:. data1,data1| 00020010 2c 6d 61 73 6b 31 0d 10 f4 31 20 4d 4f 56 20 64 |,mask1...1 MOV d| 00020020 61 74 61 32 2c 64 61 74 61 31 2c 4c 53 4c 23 31 |ata2,data1,LSL#1| 00020030 36 3a 41 44 44 20 64 61 74 61 32 2c 64 61 74 61 |6:ADD data2,data| 00020040 32 2c 64 61 74 61 31 0d 10 f5 44 20 53 54 52 20 |2,data1...D STR | 00020050 64 61 74 61 32 2c 5b 64 65 73 74 5f 62 61 73 65 |data2,[dest_base| 00020060 2c 64 65 73 74 5f 6f 66 66 73 65 74 5d 3a 41 44 |,dest_offset]:AD| 00020070 44 20 64 65 73 74 5f 62 61 73 65 2c 64 65 73 74 |D dest_base,dest| 00020080 5f 62 61 73 65 2c 23 31 32 38 30 0d 10 f6 44 20 |_base,#1280...D | 00020090 53 54 52 20 64 61 74 61 32 2c 5b 64 65 73 74 5f |STR data2,[dest_| 000200a0 62 61 73 65 2c 64 65 73 74 5f 6f 66 66 73 65 74 |base,dest_offset| 000200b0 5d 3a 53 55 42 20 64 65 73 74 5f 62 61 73 65 2c |]:SUB dest_base,| 000200c0 64 65 73 74 5f 62 61 73 65 2c 23 31 32 38 30 0d |dest_base,#1280.| 000200d0 10 f7 23 20 41 44 44 20 64 65 73 74 5f 6f 66 66 |..# ADD dest_off| 000200e0 73 65 74 2c 64 65 73 74 5f 6f 66 66 73 65 74 2c |set,dest_offset,| 000200f0 23 34 0d 10 f8 27 20 41 44 44 20 73 6f 75 72 63 |#4...' ADD sourc| 00020100 65 5f 6f 66 66 73 65 74 2c 73 6f 75 72 63 65 5f |e_offset,source_| 00020110 6f 66 66 73 65 74 2c 23 34 0d 10 f9 29 20 43 4d |offset,#4...) CM| 00020120 50 20 73 6f 75 72 63 65 5f 6f 66 66 73 65 74 2c |P source_offset,| 00020130 23 36 34 30 3a 42 4c 54 20 7a 6f 6f 6d 5f 6c 6f |#640:BLT zoom_lo| 00020140 6f 70 0d 10 fa 2c 20 4d 4f 56 20 73 6f 75 72 63 |op..., MOV sourc| 00020150 65 5f 6f 66 66 73 65 74 2c 23 30 3a 4d 4f 56 20 |e_offset,#0:MOV | 00020160 64 65 73 74 5f 6f 66 66 73 65 74 2c 23 30 0d 10 |dest_offset,#0..| 00020170 fb 26 20 41 44 44 20 73 6f 75 72 63 65 5f 62 61 |.& ADD source_ba| 00020180 73 65 2c 73 6f 75 72 63 65 5f 62 61 73 65 2c 23 |se,source_base,#| 00020190 31 32 38 30 0d 10 fc 22 20 41 44 44 20 64 65 73 |1280..." ADD des| 000201a0 74 5f 62 61 73 65 2c 64 65 73 74 5f 62 61 73 65 |t_base,dest_base| 000201b0 2c 23 32 35 36 30 0d 10 fd 26 20 53 55 42 53 20 |,#2560...& SUBS | 000201c0 6c 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 |lines,lines,#1:B| 000201d0 4e 45 20 7a 6f 6f 6d 5f 6c 6f 6f 70 0d 10 fe 0f |NE zoom_loop....| 000201e0 20 4d 4f 56 20 50 43 2c 52 31 34 0d 10 ff 04 0d | MOV PC,R14.....| 000201f0 11 00 14 20 2e 70 72 65 76 69 65 77 33 32 30 78 |... .preview320x| 00020200 32 35 36 0d 11 01 48 20 4c 44 52 20 73 6f 75 72 |256...H LDR sour| 00020210 63 65 5f 62 61 73 65 2c 7a 6f 6f 6d 5f 73 6f 75 |ce_base,zoom_sou| 00020220 72 63 65 5f 61 64 64 72 65 73 73 3a 4c 44 52 20 |rce_address:LDR | 00020230 64 65 73 74 5f 62 61 73 65 2c 7a 6f 6f 6d 5f 64 |dest_base,zoom_d| 00020240 65 73 74 5f 61 64 64 72 65 73 73 0d 11 02 21 20 |est_address...! | 00020250 4d 4f 56 20 6f 66 66 73 65 74 2c 23 30 3a 4d 4f |MOV offset,#0:MO| 00020260 56 20 6c 69 6e 65 73 2c 23 32 35 36 0d 11 03 12 |V lines,#256....| 00020270 20 2e 70 72 65 76 69 65 77 5f 6c 6f 6f 70 0d 11 | .preview_loop..| 00020280 04 33 20 4c 44 52 20 64 61 74 61 31 2c 5b 73 6f |.3 LDR data1,[so| 00020290 75 72 63 65 5f 62 61 73 65 2c 6f 66 66 73 65 74 |urce_base,offset| 000202a0 5d 3a 80 20 72 65 64 2c 64 61 74 61 31 2c 23 33 |]:. red,data1,#3| 000202b0 31 0d 11 05 43 20 4d 4f 56 20 52 30 2c 64 61 74 |1...C MOV R0,dat| 000202c0 61 31 2c 4c 53 52 23 31 36 3a 80 20 52 30 2c 52 |a1,LSR#16:. R0,R| 000202d0 30 2c 23 33 31 3a 41 44 44 20 52 30 2c 52 30 2c |0,#31:ADD R0,R0,| 000202e0 72 65 64 3a 4d 4f 56 20 72 65 64 2c 52 30 2c 4c |red:MOV red,R0,L| 000202f0 53 52 23 31 0d 11 06 2c 20 4d 4f 56 20 67 72 65 |SR#1..., MOV gre| 00020300 65 6e 2c 64 61 74 61 31 2c 4c 53 52 23 35 3a 80 |en,data1,LSR#5:.| 00020310 20 67 72 65 65 6e 2c 67 72 65 65 6e 2c 23 33 31 | green,green,#31| 00020320 0d 11 07 47 20 4d 4f 56 20 52 30 2c 64 61 74 61 |...G MOV R0,data| 00020330 31 2c 4c 53 52 23 32 31 3a 80 20 52 30 2c 52 30 |1,LSR#21:. R0,R0| 00020340 2c 23 33 31 3a 41 44 44 20 52 30 2c 52 30 2c 67 |,#31:ADD R0,R0,g| 00020350 72 65 65 6e 3a 4d 4f 56 20 67 72 65 65 6e 2c 52 |reen:MOV green,R| 00020360 30 2c 4c 53 52 23 31 0d 11 08 2a 20 4d 4f 56 20 |0,LSR#1...* MOV | 00020370 62 6c 75 65 2c 64 61 74 61 31 2c 4c 53 52 23 31 |blue,data1,LSR#1| 00020380 30 3a 80 20 62 6c 75 65 2c 62 6c 75 65 2c 23 33 |0:. blue,blue,#3| 00020390 31 0d 11 09 45 20 4d 4f 56 20 52 30 2c 64 61 74 |1...E MOV R0,dat| 000203a0 61 31 2c 4c 53 52 23 32 36 3a 80 20 52 30 2c 52 |a1,LSR#26:. R0,R| 000203b0 30 2c 23 33 31 3a 41 44 44 20 52 30 2c 52 30 2c |0,#31:ADD R0,R0,| 000203c0 62 6c 75 65 3a 4d 4f 56 20 62 6c 75 65 2c 52 30 |blue:MOV blue,R0| 000203d0 2c 4c 53 52 23 31 0d 11 0a 2f 20 4d 4f 56 20 67 |,LSR#1.../ MOV g| 000203e0 72 65 65 6e 2c 67 72 65 65 6e 2c 4c 53 4c 23 35 |reen,green,LSL#5| 000203f0 3a 4d 4f 56 20 62 6c 75 65 2c 62 6c 75 65 2c 4c |:MOV blue,blue,L| 00020400 53 4c 23 31 30 0d 11 0b 2d 20 41 44 44 20 64 61 |SL#10...- ADD da| 00020410 74 61 31 2c 72 65 64 2c 67 72 65 65 6e 3a 41 44 |ta1,red,green:AD| 00020420 44 20 64 61 74 61 31 2c 64 61 74 61 31 2c 62 6c |D data1,data1,bl| 00020430 75 65 0d 11 0c 31 20 4d 4f 56 20 64 61 74 61 32 |ue...1 MOV data2| 00020440 2c 64 61 74 61 31 2c 4c 53 4c 23 31 36 3a 41 44 |,data1,LSL#16:AD| 00020450 44 20 64 61 74 61 32 2c 64 61 74 61 32 2c 64 61 |D data2,data2,da| 00020460 74 61 31 0d 11 0d 3f 20 53 54 52 20 64 61 74 61 |ta1...? STR data| 00020470 32 2c 5b 64 65 73 74 5f 62 61 73 65 2c 6f 66 66 |2,[dest_base,off| 00020480 73 65 74 5d 3a 41 44 44 20 64 65 73 74 5f 62 61 |set]:ADD dest_ba| 00020490 73 65 2c 64 65 73 74 5f 62 61 73 65 2c 23 31 32 |se,dest_base,#12| 000204a0 38 30 0d 11 0e 3f 20 53 54 52 20 64 61 74 61 32 |80...? STR data2| 000204b0 2c 5b 64 65 73 74 5f 62 61 73 65 2c 6f 66 66 73 |,[dest_base,offs| 000204c0 65 74 5d 3a 53 55 42 20 64 65 73 74 5f 62 61 73 |et]:SUB dest_bas| 000204d0 65 2c 64 65 73 74 5f 62 61 73 65 2c 23 31 32 38 |e,dest_base,#128| 000204e0 30 0d 11 0f 3b 20 41 44 44 20 6f 66 66 73 65 74 |0...; ADD offset| 000204f0 2c 6f 66 66 73 65 74 2c 23 34 3a 43 4d 50 20 6f |,offset,#4:CMP o| 00020500 66 66 73 65 74 2c 23 31 32 38 30 3a 42 4e 45 20 |ffset,#1280:BNE | 00020510 70 72 65 76 69 65 77 5f 6c 6f 6f 70 0d 11 10 26 |preview_loop...&| 00020520 20 41 44 44 20 73 6f 75 72 63 65 5f 62 61 73 65 | ADD source_base| 00020530 2c 73 6f 75 72 63 65 5f 62 61 73 65 2c 23 32 35 |,source_base,#25| 00020540 36 30 0d 11 11 30 20 41 44 44 20 64 65 73 74 5f |60...0 ADD dest_| 00020550 62 61 73 65 2c 64 65 73 74 5f 62 61 73 65 2c 23 |base,dest_base,#| 00020560 32 35 36 30 3a 4d 4f 56 20 6f 66 66 73 65 74 2c |2560:MOV offset,| 00020570 23 30 0d 11 12 29 20 53 55 42 53 20 6c 69 6e 65 |#0...) SUBS line| 00020580 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 4e 45 20 70 |s,lines,#1:BNE p| 00020590 72 65 76 69 65 77 5f 6c 6f 6f 70 0d 11 13 0f 20 |review_loop.... | 000205a0 4d 4f 56 20 50 43 2c 52 31 34 0d 11 14 04 0d 11 |MOV PC,R14......| 000205b0 15 20 20 2e 7a 6f 6f 6d 5f 73 6f 75 72 63 65 5f |. .zoom_source_| 000205c0 61 64 64 72 65 73 73 20 45 51 55 44 20 30 0d 11 |address EQUD 0..| 000205d0 16 20 20 2e 7a 6f 6f 6d 5f 64 65 73 74 5f 61 64 |. .zoom_dest_ad| 000205e0 64 72 65 73 73 20 20 20 45 51 55 44 20 30 0d 11 |dress EQUD 0..| 000205f0 17 36 20 2e 6d 61 73 6b 5f 62 69 74 73 20 45 51 |.6 .mask_bits EQ| 00020600 55 44 20 25 30 30 30 30 30 30 30 30 30 30 30 30 |UD %000000000000| 00020610 30 30 30 30 31 31 31 31 31 31 31 31 31 31 31 31 |0000111111111111| 00020620 31 31 31 31 0d 11 18 06 20 5d 0d 11 19 06 20 ed |1111.... ].... .| 00020630 0d 11 1a 06 20 e1 0d 11 1b 04 0d 11 1c 1c 20 dd |.... ......... .| 00020640 20 f2 6d 65 6e 75 28 6d 6d 78 25 2c 6d 6d 79 25 | .menu(mmx%,mmy%| 00020650 2c 73 75 62 25 29 0d 11 1d 27 20 c8 97 20 ee 20 |,sub%)...' .. . | 00020660 31 3a 4e 25 3d 30 3a 57 25 3d 30 3a c8 95 20 6d |1:N%=0:W%=0:.. m| 00020670 65 6e 75 24 28 4e 25 29 3c 3e 22 2a 22 0d 11 1e |enu$(N%)<>"*"...| 00020680 24 20 4c 25 3d a9 28 6d 65 6e 75 24 28 4e 25 29 |$ L%=.(menu$(N%)| 00020690 29 3a e7 20 4c 25 3e 57 25 20 8c 20 57 25 3d 4c |):. L%>W% . W%=L| 000206a0 25 0d 11 1f 0c 20 4e 25 2b 3d 31 3a ce 0d 11 20 |%.... N%+=1:... | 000206b0 0f 20 e7 20 ac 20 73 75 62 25 20 8c 0d 11 21 1b |. . . sub% ...!.| 000206c0 20 20 e7 20 c0 6d 65 6e 75 24 28 30 29 2c 32 29 | . .menu$(0),2)| 000206d0 3d 22 20 20 22 20 8c 0d 11 22 3a 20 20 6d 65 6e |=" " ...": men| 000206e0 75 24 28 4e 25 29 3d 22 20 20 5b 43 6c 6f 73 65 |u$(N%)=" [Close| 000206f0 20 6d 65 6e 75 5d 22 3a 6d 65 6e 75 24 28 31 29 | menu]":menu$(1)| 00020700 3d 22 20 20 5b 43 6c 6f 73 65 20 6d 65 6e 75 5d |=" [Close menu]| 00020710 22 0d 11 23 07 20 20 cc 0d 11 24 36 20 20 6d 65 |"..#. ...$6 me| 00020720 6e 75 24 28 4e 25 29 3d 22 5b 43 6c 6f 73 65 20 |nu$(N%)="[Close | 00020730 6d 65 6e 75 5d 22 3a 6d 65 6e 75 24 28 31 29 3d |menu]":menu$(1)=| 00020740 22 5b 43 6c 6f 73 65 20 6d 65 6e 75 5d 22 0d 11 |"[Close menu]"..| 00020750 25 07 20 20 cd 0d 11 26 0c 20 cc 20 4e 25 2d 3d |%. ...&. . N%-=| 00020760 31 0d 11 27 06 20 cd 0d 11 28 2b 20 e7 20 73 75 |1..'. ...(+ . su| 00020770 62 25 20 8c 20 6d 6d 78 25 3d 6d 61 69 6e 5f 6d |b% . mmx%=main_m| 00020780 6d 78 25 2b 6d 61 69 6e 5f 77 69 64 74 68 25 2b |mx%+main_width%+| 00020790 31 32 0d 11 29 1c 20 e7 20 6d 65 6e 75 5f 72 65 |12..). . menu_re| 000207a0 64 72 61 77 25 20 84 20 73 75 62 25 20 8c 0d 11 |draw% . sub% ...| 000207b0 2a 3e 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 6b |*> .raised_block| 000207c0 28 6d 6d 78 25 2c 6d 6d 79 25 2c 57 25 2a 31 36 |(mmx%,mmy%,W%*16| 000207d0 2c 4e 25 2a 33 36 2b 36 34 29 3a fb 31 32 38 2b |,N%*36+64):.128+| 000207e0 36 33 20 c8 9c 30 3a 4d 25 3d 4e 25 0d 11 2b 2d |63 ..0:M%=N%..+-| 000207f0 20 e3 20 59 25 3d 6d 6d 79 25 20 b8 20 28 6d 6d | . Y%=mmy% . (mm| 00020800 79 25 2b 28 4e 25 2d 31 29 2a 33 36 29 20 88 33 |y%+(N%-1)*36) .3| 00020810 36 3a e6 20 30 2c 30 2c 30 0d 11 2c 29 20 e7 20 |6:. 0,0,0..,) . | 00020820 a7 6d 65 6e 75 24 28 4d 25 29 2c 22 3e 22 29 3c |.menu$(M%),">")<| 00020830 3e 30 20 8c 20 66 63 25 3d 32 20 8b 20 66 63 25 |>0 . fc%=2 . fc%| 00020840 3d 30 0d 11 2d 25 20 e7 20 28 4d 25 3d 4e 25 20 |=0..-% . (M%=N% | 00020850 84 20 4d 25 3d 31 29 20 80 20 ac 28 73 75 62 25 |. M%=1) . .(sub%| 00020860 29 20 66 63 25 3d 37 0d 11 2e 23 20 e7 20 a7 6d |) fc%=7...# . .m| 00020870 65 6e 75 24 28 4d 25 29 2c 22 2d 2d 2d 22 29 3c |enu$(M%),"---")<| 00020880 3e 30 20 8c 20 66 63 25 3d 33 0d 11 2f 2d 20 6d |>0 . fc%=3../- m| 00020890 24 3d 6d 65 6e 75 24 28 4d 25 29 3a e7 20 c2 6d |$=menu$(M%):. .m| 000208a0 24 2c 31 29 3d 22 3e 22 20 6d 24 3d c0 6d 24 2c |$,1)=">" m$=.m$,| 000208b0 a9 20 6d 24 2d 31 29 0d 11 30 1f 20 f2 77 72 69 |. m$-1)..0. .wri| 000208c0 74 65 32 28 6d 24 2c 6d 6d 78 25 2c 59 25 2b 31 |te2(m$,mmx%,Y%+1| 000208d0 36 2c 66 63 25 29 0d 11 31 1a 20 e7 20 c2 6d 65 |6,fc%)..1. . .me| 000208e0 6e 75 24 28 4d 25 29 2c 31 29 3d 22 3e 22 20 8c |nu$(M%),1)=">" .| 000208f0 0d 11 32 44 20 c8 99 20 73 70 72 73 77 69 25 2c |..2D .. sprswi%,| 00020900 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 73 75 62 |256+52,spb%,"sub| 00020910 22 2c 6d 6d 78 25 2b 57 25 2a 31 36 2d 32 34 2c |",mmx%+W%*16-24,| 00020920 59 25 2b 32 32 2c 38 2c 30 2c 74 72 61 6e 73 6c |Y%+22,8,0,transl| 00020930 61 74 65 25 0d 11 33 1d 20 cd 3a 4d 25 2d 3d 31 |ate%..3. .:M%-=1| 00020940 3a ed 3a 6d 65 6e 75 5f 72 65 64 72 61 77 25 3d |:.:menu_redraw%=| 00020950 30 0d 11 34 25 20 e7 20 73 75 62 25 20 8c 20 e6 |0..4% . sub% . .| 00020960 20 31 32 38 2c 36 34 2c 30 20 8b 20 e6 20 30 2c | 128,64,0 . . 0,| 00020970 36 34 2c 31 32 38 0d 11 35 2b 20 c8 93 20 c8 90 |64,128..5+ .. ..| 00020980 20 6d 6d 78 25 2b 34 2c 6d 6d 79 25 2b 4e 25 2a | mmx%+4,mmy%+N%*| 00020990 33 36 2b 32 30 2c 57 25 2a 31 36 2d 31 30 2c 34 |36+20,W%*16-10,4| 000209a0 30 0d 11 36 2d 20 f2 77 72 69 74 65 32 28 6d 65 |0..6- .write2(me| 000209b0 6e 75 24 28 30 29 2c 6d 6d 78 25 2b 34 2c 6d 6d |nu$(0),mmx%+4,mm| 000209c0 79 25 2b 4e 25 2a 33 36 2b 32 30 2c 30 29 0d 11 |y%+N%*36+20,0)..| 000209d0 37 2b 20 f2 77 72 69 74 65 32 28 6d 65 6e 75 24 |7+ .write2(menu$| 000209e0 28 30 29 2c 6d 6d 78 25 2c 6d 6d 79 25 2b 4e 25 |(0),mmx%,mmy%+N%| 000209f0 2a 33 36 2b 32 34 2c 31 29 0d 11 38 06 20 cc 0d |*36+24,1)..8. ..| 00020a00 11 39 14 20 e6 20 33 2c 32 35 35 2c 32 35 35 2c |.9. . 3,255,255,| 00020a10 32 35 35 0d 11 3a 25 20 c8 93 20 c8 90 20 6d 61 |255..:% .. .. ma| 00020a20 69 6e 5f 78 25 2c 6d 61 69 6e 5f 79 25 2c 6d 61 |in_x%,main_y%,ma| 00020a30 69 6e 5f 77 25 2c 33 36 0d 11 3b 06 20 cd 0d 11 |in_w%,36..;. ...| 00020a40 3c 2a 20 c8 97 20 c8 93 20 6d 6d 78 25 2d 34 2c |<* .. .. mmx%-4,| 00020a50 6d 6d 79 25 2b 31 32 2c 57 25 2a 31 36 2d 36 34 |mmy%+12,W%*16-64| 00020a60 2c 4e 25 2a 33 36 2b 34 0d 11 3d 29 20 c8 97 20 |,N%*36+4..=) .. | 00020a70 c8 93 20 6d 6d 78 25 2d 34 2c 6d 6d 79 25 2b 31 |.. mmx%-4,mmy%+1| 00020a80 32 2c 57 25 2a 31 36 2b 38 2c 4e 25 2a 33 36 2b |2,W%*16+8,N%*36+| 00020a90 34 0d 11 3e 34 20 e7 20 73 75 62 25 20 8c 20 c8 |4..>4 . sub% . .| 00020aa0 97 20 c8 93 20 6d 6d 78 25 2d 33 32 2c 6d 6d 79 |. .. mmx%-32,mmy| 00020ab0 25 2b 31 32 2c 57 25 2a 31 36 2b 33 32 2c 4e 25 |%+12,W%*16+32,N%| 00020ac0 2a 33 36 2b 34 0d 11 3f 1e 20 65 66 66 65 63 74 |*36+4..?. effect| 00020ad0 25 3d 33 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 74 |%=3:.wait_no_but| 00020ae0 74 6f 6e 0d 11 40 27 20 42 58 25 3d 6d 6d 78 25 |ton..@' BX%=mmx%| 00020af0 2b 34 3a 42 59 25 3d 6d 6d 79 25 2b 38 3a 42 57 |+4:BY%=mmy%+8:BW| 00020b00 25 3d 57 25 2a 31 36 2d 33 32 0d 11 41 29 20 54 |%=W%*16-32..A) T| 00020b10 25 3d 6d 6d 79 25 2b 4e 25 2a 33 36 2b 31 30 3a |%=mmy%+N%*36+10:| 00020b20 73 75 62 78 25 3d 6d 6d 78 25 2b 57 25 2a 31 36 |subx%=mmx%+W%*16| 00020b30 2d 32 34 0d 11 42 06 20 f5 0d 11 43 1a 20 e6 20 |-24..B. ...C. . | 00020b40 65 66 66 65 63 74 25 2c 32 35 35 2c 32 35 35 2c |effect%,255,255,| 00020b50 32 35 35 0d 11 44 21 20 c8 97 20 58 2c 59 2c 42 |255..D! .. X,Y,B| 00020b60 3a 6d 65 6e 75 5f 62 6f 78 25 3d 28 54 25 2d 59 |:menu_box%=(T%-Y| 00020b70 29 81 33 36 0d 11 45 28 20 c8 93 20 c8 90 20 42 |).36..E( .. .. B| 00020b80 58 25 2c 54 25 2d 33 32 2d 6d 65 6e 75 5f 62 6f |X%,T%-32-menu_bo| 00020b90 78 25 2a 33 36 2c 42 57 25 2c 33 36 0d 11 46 24 |x%*36,BW%,36..F$| 00020ba0 20 f5 3a c8 97 20 78 2c 79 2c 42 3a 6d 65 6e 75 | .:.. x,y,B:menu| 00020bb0 5f 62 6f 78 32 25 3d 28 54 25 2d 79 29 81 33 36 |_box2%=(T%-y).36| 00020bc0 0d 11 47 1e 20 e7 20 78 3c 6d 6d 78 25 2d 32 34 |..G. . x<mmx%-24| 00020bd0 20 80 20 73 75 62 25 20 8c 20 42 3d 39 39 0d 11 | . sub% . B=99..| 00020be0 48 38 20 6d 24 3d 6d 65 6e 75 24 28 6d 65 6e 75 |H8 m$=menu$(menu| 00020bf0 5f 62 6f 78 32 25 2b 31 29 3a e7 20 78 3e 73 75 |_box2%+1):. x>su| 00020c00 62 78 25 20 80 20 c2 6d 24 2c 31 29 3d 22 3e 22 |bx% . .m$,1)=">"| 00020c10 20 8c 20 42 3d 38 0d 11 49 16 20 f2 63 68 65 63 | . B=8..I. .chec| 00020c20 6b 5f 61 6c 74 5f 73 5f 73 61 76 65 0d 11 4a 23 |k_alt_s_save..J#| 00020c30 20 fd 20 6d 65 6e 75 5f 62 6f 78 32 25 3c 3e 6d | . menu_box2%<>m| 00020c40 65 6e 75 5f 62 6f 78 25 20 84 20 42 3c 3e 30 0d |enu_box% . B<>0.| 00020c50 11 4b 28 20 c8 93 20 c8 90 20 42 58 25 2c 54 25 |.K( .. .. BX%,T%| 00020c60 2d 33 32 2d 6d 65 6e 75 5f 62 6f 78 25 2a 33 36 |-32-menu_box%*36| 00020c70 2c 42 57 25 2c 33 36 0d 11 4c 3c 20 e7 20 a7 6d |,BW%,36..L< . .m| 00020c80 65 6e 75 24 28 28 54 25 2d 79 29 81 33 36 2b 31 |enu$((T%-y).36+1| 00020c90 29 2c 22 2d 2d 2d 22 29 3c 3e 30 20 8c 20 65 66 |),"---")<>0 . ef| 00020ca0 66 65 63 74 25 3d 35 20 8b 20 65 66 66 65 63 74 |fect%=5 . effect| 00020cb0 25 3d 33 0d 11 4d 0b 20 fd 20 42 3c 3e 30 0d 11 |%=3..M. . B<>0..| 00020cc0 4e 0c 20 e7 20 42 3c 38 20 8c 0d 11 4f 0f 20 e3 |N. . B<8 ...O. .| 00020cd0 20 46 25 3d 31 20 b8 20 35 0d 11 50 31 20 c8 93 | F%=1 . 5..P1 ..| 00020ce0 20 c8 90 20 42 58 25 2c 54 25 2d 33 32 2d 6d 65 | .. BX%,T%-32-me| 00020cf0 6e 75 5f 62 6f 78 32 25 2a 33 36 2c 42 57 25 2c |nu_box2%*36,BW%,| 00020d00 33 36 3a c8 96 3a c8 96 3a ed 0d 11 51 06 20 cc |36:..:..:...Q. .| 00020d10 0d 11 52 29 20 c8 93 20 c8 90 20 42 58 25 2c 54 |..R) .. .. BX%,T| 00020d20 25 2d 33 32 2d 6d 65 6e 75 5f 62 6f 78 32 25 2a |%-32-menu_box2%*| 00020d30 33 36 2c 42 57 25 2c 33 36 0d 11 53 06 20 cd 0d |36,BW%,36..S. ..| 00020d40 11 54 10 20 e7 20 ac 28 73 75 62 25 29 20 8c 0d |.T. . .(sub%) ..| 00020d50 11 55 25 20 6d 61 69 6e 5f 6d 6d 78 25 3d 6d 6d |.U% main_mmx%=mm| 00020d60 78 25 3a 6d 61 69 6e 5f 77 69 64 74 68 25 3d 57 |x%:main_width%=W| 00020d70 25 2a 31 36 0d 11 56 38 20 6d 61 69 6e 5f 78 25 |%*16..V8 main_x%| 00020d80 3d 42 58 25 3a 6d 61 69 6e 5f 79 25 3d 54 25 2d |=BX%:main_y%=T%-| 00020d90 33 32 2d 6d 65 6e 75 5f 62 6f 78 32 25 2a 33 36 |32-menu_box2%*36| 00020da0 3a 6d 61 69 6e 5f 77 25 3d 42 57 25 0d 11 57 06 |:main_w%=BW%..W.| 00020db0 20 cd 0d 11 58 1a 20 6d 65 6e 75 5f 62 6f 78 25 | ...X. menu_box%| 00020dc0 3d 28 54 25 2d 79 29 81 33 36 2b 31 0d 11 59 42 |=(T%-y).36+1..YB| 00020dd0 20 e7 20 6d 65 6e 75 5f 62 6f 78 25 3d 4e 25 20 | . menu_box%=N% | 00020de0 80 20 ac 28 73 75 62 25 29 20 6d 65 6e 75 5f 62 |. .(sub%) menu_b| 00020df0 6f 78 25 3d 31 20 3a 20 f4 20 31 20 3d 20 6d 61 |ox%=1 : . 1 = ma| 00020e00 69 6e 20 6d 65 6e 75 20 63 61 6e 63 65 6c 0d 11 |in menu cancel..| 00020e10 5a 43 20 e7 20 42 3d 39 39 20 8c 20 6d 65 6e 75 |ZC . B=99 . menu| 00020e20 5f 62 6f 78 25 3d 39 39 20 20 20 20 20 20 20 20 |_box%=99 | 00020e30 20 20 20 20 20 20 20 20 20 3a 20 f4 20 39 39 20 | : . 99 | 00020e40 3d 20 73 75 62 2d 6d 65 6e 75 20 63 61 6e 63 65 |= sub-menu cance| 00020e50 6c 0d 11 5b 32 20 e7 20 73 75 62 25 20 8c 20 f2 |l..[2 . sub% . .| 00020e60 72 65 64 72 61 77 28 6d 6d 78 25 2d 36 2c 38 32 |redraw(mmx%-6,82| 00020e70 2c 57 25 2a 31 36 2b 31 36 2c 4e 25 2a 33 36 2b |,W%*16+16,N%*36+| 00020e80 38 30 29 0d 11 5c 18 20 c8 97 20 c8 93 20 30 2c |80)..\. .. .. 0,| 00020e90 30 2c 31 32 38 30 2c 31 30 32 34 0d 11 5d 06 20 |0,1280,1024..]. | 00020ea0 e1 0d 11 5e 04 0d 11 5f 1f 20 dd 20 f2 72 65 64 |...^..._. . .red| 00020eb0 72 61 77 28 72 78 25 2c 72 79 25 2c 72 77 25 2c |raw(rx%,ry%,rw%,| 00020ec0 72 68 25 29 0d 11 60 43 20 74 6c 25 3d 72 79 25 |rh%)..`C tl%=ry%| 00020ed0 2b 72 68 25 3a 41 25 3d 28 28 73 63 72 65 65 6e |+rh%:A%=((screen| 00020ee0 5f 6c 69 6e 65 73 25 2a 32 2d 74 6c 25 29 81 32 |_lines%*2-tl%).2| 00020ef0 29 2a 31 32 38 30 2b 72 78 25 3a 41 25 3d 41 25 |)*1280+rx%:A%=A%| 00020f00 2d 28 41 25 83 34 29 0d 11 61 3d 20 21 72 65 64 |-(A%.4)..a= !red| 00020f10 72 61 77 5f 73 6f 75 72 63 65 3d 41 25 2b 6d 65 |raw_source=A%+me| 00020f20 6d 62 6c 6f 63 6b 25 2b 32 30 3a 21 72 65 64 72 |mblock%+20:!redr| 00020f30 61 77 5f 73 63 72 65 65 6e 3d 73 63 72 65 65 6e |aw_screen=screen| 00020f40 25 2b 41 25 0d 11 62 39 20 21 72 65 64 72 61 77 |%+A%..b9 !redraw| 00020f50 5f 62 79 74 65 73 3d 72 77 25 3a 21 72 65 64 72 |_bytes=rw%:!redr| 00020f60 61 77 5f 6c 69 6e 65 73 3d 72 68 25 2f 32 3a d6 |aw_lines=rh%/2:.| 00020f70 20 72 65 64 72 61 77 5f 63 6f 64 65 25 0d 11 63 | redraw_code%..c| 00020f80 06 20 e1 0d 11 64 04 0d 11 65 17 20 dd 20 f2 72 |. ...d...e. . .r| 00020f90 65 64 72 61 77 5f 61 73 73 65 6d 62 6c 65 0d 11 |edraw_assemble..| 00020fa0 66 17 20 de 20 72 65 64 72 61 77 5f 63 6f 64 65 |f. . redraw_code| 00020fb0 25 20 31 32 38 0d 11 67 12 20 e3 20 50 3d 30 20 |% 128..g. . P=0 | 00020fc0 b8 20 32 20 88 20 32 0d 11 68 14 20 50 25 3d 72 |. 2 . 2..h. P%=r| 00020fd0 65 64 72 61 77 5f 63 6f 64 65 25 0d 11 69 0b 20 |edraw_code%..i. | 00020fe0 5b 4f 50 54 20 50 0d 11 6a 2e 20 4c 44 52 20 52 |[OPT P..j. LDR R| 00020ff0 32 2c 72 65 64 72 61 77 5f 73 6f 75 72 63 65 3a |2,redraw_source:| 00021000 4c 44 52 20 52 33 2c 72 65 64 72 61 77 5f 73 63 |LDR R3,redraw_sc| 00021010 72 65 65 6e 0d 11 6b 36 20 4c 44 52 20 52 34 2c |reen..k6 LDR R4,| 00021020 72 65 64 72 61 77 5f 62 79 74 65 73 3a 4c 44 52 |redraw_bytes:LDR| 00021030 20 52 35 2c 72 65 64 72 61 77 5f 6c 69 6e 65 73 | R5,redraw_lines| 00021040 3a 4d 4f 56 20 52 31 2c 23 30 0d 11 6c 11 20 2e |:MOV R1,#0..l. .| 00021050 72 65 64 72 61 77 5f 6c 6f 6f 70 0d 11 6d 22 20 |redraw_loop..m" | 00021060 4c 44 52 20 52 30 2c 5b 52 32 2c 52 31 5d 3a 53 |LDR R0,[R2,R1]:S| 00021070 54 52 20 52 30 2c 5b 52 33 2c 52 31 5d 0d 11 6e |TR R0,[R3,R1]..n| 00021080 2b 20 41 44 44 20 52 31 2c 52 31 2c 23 34 3a 43 |+ ADD R1,R1,#4:C| 00021090 4d 50 20 52 31 2c 52 34 3a 42 4c 54 20 72 65 64 |MP R1,R4:BLT red| 000210a0 72 61 77 5f 6c 6f 6f 70 0d 11 6f 2e 20 41 44 44 |raw_loop..o. ADD| 000210b0 20 52 32 2c 52 32 2c 23 31 32 38 30 3a 41 44 44 | R2,R2,#1280:ADD| 000210c0 20 52 33 2c 52 33 2c 23 31 32 38 30 3a 4d 4f 56 | R3,R3,#1280:MOV| 000210d0 20 52 31 2c 23 30 0d 11 70 22 20 53 55 42 53 20 | R1,#0..p" SUBS | 000210e0 52 35 2c 52 35 2c 23 31 3a 42 4e 45 20 72 65 64 |R5,R5,#1:BNE red| 000210f0 72 61 77 5f 6c 6f 6f 70 0d 11 71 0f 20 4d 4f 56 |raw_loop..q. MOV| 00021100 20 50 43 2c 52 31 34 0d 11 72 1a 20 2e 72 65 64 | PC,R14..r. .red| 00021110 72 61 77 5f 73 6f 75 72 63 65 20 45 51 55 44 20 |raw_source EQUD | 00021120 30 0d 11 73 1a 20 2e 72 65 64 72 61 77 5f 73 63 |0..s. .redraw_sc| 00021130 72 65 65 6e 20 45 51 55 44 20 30 0d 11 74 1a 20 |reen EQUD 0..t. | 00021140 2e 72 65 64 72 61 77 5f 62 79 74 65 73 20 20 45 |.redraw_bytes E| 00021150 51 55 44 20 30 0d 11 75 1a 20 2e 72 65 64 72 61 |QUD 0..u. .redra| 00021160 77 5f 6c 69 6e 65 73 20 20 45 51 55 44 20 30 0d |w_lines EQUD 0.| 00021170 11 76 06 20 5d 0d 11 77 06 20 ed 0d 11 78 06 20 |.v. ]..w. ...x. | 00021180 e1 0d 11 79 04 0d 11 7a 11 20 dd 20 f2 70 65 72 |...y...z. . .per| 00021190 70 5f 6d 65 6e 75 0d 11 7b 1d 20 6d 65 6e 75 24 |p_menu..{. menu$| 000211a0 28 30 29 3d 22 54 69 6c 65 20 63 6f 6c 6f 75 72 |(0)="Tile colour| 000211b0 73 22 20 0d 11 7c 15 20 6d 65 6e 75 24 28 31 29 |s" ..|. menu$(1)| 000211c0 3d 22 57 68 69 74 65 22 0d 11 7d 16 20 6d 65 6e |="White"..}. men| 000211d0 75 24 28 32 29 3d 22 59 65 6c 6c 6f 77 22 0d 11 |u$(2)="Yellow"..| 000211e0 7e 14 20 6d 65 6e 75 24 28 33 29 3d 22 43 79 61 |~. menu$(3)="Cya| 000211f0 6e 22 0d 11 7f 15 20 6d 65 6e 75 24 28 34 29 3d |n".... menu$(4)=| 00021200 22 47 72 65 65 6e 22 0d 11 80 17 20 6d 65 6e 75 |"Green".... menu| 00021210 24 28 35 29 3d 22 4d 61 67 65 6e 74 61 22 0d 11 |$(5)="Magenta"..| 00021220 81 13 20 6d 65 6e 75 24 28 36 29 3d 22 52 65 64 |.. menu$(6)="Red| 00021230 22 0d 11 82 14 20 6d 65 6e 75 24 28 37 29 3d 22 |".... menu$(7)="| 00021240 42 6c 75 65 22 0d 11 83 16 20 6d 65 6e 75 24 28 |Blue".... menu$(| 00021250 38 29 3d 22 4f 72 61 6e 67 65 22 0d 11 84 18 20 |8)="Orange".... | 00021260 6d 65 6e 75 24 28 39 29 3d 22 53 6b 79 20 62 6c |menu$(9)="Sky bl| 00021270 75 65 22 0d 11 85 15 20 6d 65 6e 75 24 28 31 30 |ue".... menu$(10| 00021280 29 3d 22 50 69 6e 6b 22 0d 11 86 18 20 6d 65 6e |)="Pink".... men| 00021290 75 24 28 31 31 29 3d 22 43 72 69 6d 73 6f 6e 22 |u$(11)="Crimson"| 000212a0 0d 11 87 17 20 6d 65 6e 75 24 28 31 32 29 3d 22 |.... menu$(12)="| 000212b0 50 75 72 70 6c 65 22 0d 11 88 21 20 6d 65 6e 75 |Purple"...! menu| 000212c0 24 28 31 33 29 3d 22 2a 22 3a f2 6d 65 6e 75 28 |$(13)="*":.menu(| 000212d0 30 2c 39 30 2c 2d 31 29 0d 11 89 19 20 70 72 3d |0,90,-1).... pr=| 000212e0 32 35 35 3a 70 67 3d 32 35 35 3a 70 62 3d 32 35 |255:pg=255:pb=25| 000212f0 35 0d 11 8a 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f |5.... .. menu_bo| 00021300 78 25 20 ca 0d 11 8b 1d 20 c9 20 31 3a 70 72 3d |x% ..... . 1:pr=| 00021310 32 35 35 3a 70 67 3d 32 35 35 3a 70 62 3d 32 35 |255:pg=255:pb=25| 00021320 35 0d 11 8c 1b 20 c9 20 32 3a 70 72 3d 32 35 35 |5.... . 2:pr=255| 00021330 3a 70 67 3d 32 35 35 3a 70 62 3d 30 0d 11 8d 1b |:pg=255:pb=0....| 00021340 20 c9 20 33 3a 70 72 3d 30 3a 70 67 3d 32 35 35 | . 3:pr=0:pg=255| 00021350 3a 70 62 3d 32 35 35 0d 11 8e 19 20 c9 20 34 3a |:pb=255.... . 4:| 00021360 70 72 3d 30 3a 70 67 3d 32 35 35 3a 70 62 3d 30 |pr=0:pg=255:pb=0| 00021370 0d 11 8f 1b 20 c9 20 35 3a 70 72 3d 32 35 35 3a |.... . 5:pr=255:| 00021380 70 67 3d 30 3a 70 62 3d 32 35 35 0d 11 90 19 20 |pg=0:pb=255.... | 00021390 c9 20 36 3a 70 72 3d 32 35 35 3a 70 67 3d 30 3a |. 6:pr=255:pg=0:| 000213a0 70 62 3d 30 0d 11 91 19 20 c9 20 37 3a 70 72 3d |pb=0.... . 7:pr=| 000213b0 30 3a 70 67 3d 30 3a 70 62 3d 32 35 35 0d 11 92 |0:pg=0:pb=255...| 000213c0 1b 20 c9 20 38 3a 70 72 3d 32 35 35 3a 70 67 3d |. . 8:pr=255:pg=| 000213d0 31 32 38 3a 70 62 3d 30 0d 11 93 1b 20 c9 20 39 |128:pb=0.... . 9| 000213e0 3a 70 72 3d 30 3a 70 67 3d 31 32 38 3a 70 62 3d |:pr=0:pg=128:pb=| 000213f0 32 35 35 0d 11 94 1e 20 c9 20 31 30 3a 70 72 3d |255.... . 10:pr=| 00021400 32 35 35 3a 70 67 3d 31 32 38 3a 70 62 3d 32 35 |255:pg=128:pb=25| 00021410 35 0d 11 95 1c 20 c9 20 31 31 3a 70 72 3d 32 35 |5.... . 11:pr=25| 00021420 35 3a 70 67 3d 30 3a 70 62 3d 31 32 38 0d 11 96 |5:pg=0:pb=128...| 00021430 1c 20 c9 20 31 32 3a 70 72 3d 31 32 38 3a 70 67 |. . 12:pr=128:pg| 00021440 3d 30 3a 70 62 3d 32 35 35 0d 11 97 06 20 cb 0d |=0:pb=255.... ..| 00021450 11 98 0c 20 c8 8e 20 70 72 20 ca 0d 11 99 11 20 |... .. pr ..... | 00021460 c9 20 32 35 35 3a 70 72 69 3d 2e 36 0d 11 9a 11 |. 255:pri=.6....| 00021470 20 c9 20 31 32 38 3a 70 72 69 3d 2e 33 0d 11 9b | . 128:pri=.3...| 00021480 10 20 c9 20 30 20 20 3a 70 72 69 3d 30 0d 11 9c |. . 0 :pri=0...| 00021490 06 20 cb 0d 11 9d 0c 20 c8 8e 20 70 67 20 ca 0d |. ..... .. pg ..| 000214a0 11 9e 11 20 c9 20 32 35 35 3a 70 67 69 3d 2e 36 |... . 255:pgi=.6| 000214b0 0d 11 9f 11 20 c9 20 31 32 38 3a 70 67 69 3d 2e |.... . 128:pgi=.| 000214c0 33 0d 11 a0 10 20 c9 20 30 20 20 3a 70 67 69 3d |3.... . 0 :pgi=| 000214d0 30 0d 11 a1 06 20 cb 0d 11 a2 0c 20 c8 8e 20 70 |0.... ..... .. p| 000214e0 62 20 ca 0d 11 a3 11 20 c9 20 32 35 35 3a 70 62 |b ..... . 255:pb| 000214f0 69 3d 2e 36 0d 11 a4 11 20 c9 20 31 32 38 3a 70 |i=.6.... . 128:p| 00021500 62 69 3d 2e 33 0d 11 a5 10 20 c9 20 30 20 20 3a |bi=.3.... . 0 :| 00021510 70 62 69 3d 30 0d 11 a6 06 20 cb 0d 11 a7 21 20 |pbi=0.... ....! | 00021520 e7 20 6d 65 6e 75 5f 62 6f 78 25 3c 3e 39 39 20 |. menu_box%<>99 | 00021530 8c 20 f2 6d 61 6b 65 5f 70 65 72 70 0d 11 a8 06 |. .make_perp....| 00021540 20 e1 0d 11 a9 04 0d 11 aa 11 20 dd 20 f2 6d 61 | ......... . .ma| 00021550 6b 65 5f 70 65 72 70 0d 11 ab 30 20 70 6d 25 3d |ke_perp...0 pm%=| 00021560 4d 45 4d 25 3a 4d 45 4d 25 2b 3d 31 3a e7 20 4d |MEM%:MEM%+=1:. M| 00021570 45 4d 25 3e 3d 6d 65 6d 6f 72 69 65 73 25 20 8c |EM%>=memories% .| 00021580 20 4d 45 4d 25 3d 30 0d 11 ac 2b 20 f2 6d 65 6d | MEM%=0...+ .mem| 00021590 6f 72 79 5f 73 65 6c 65 63 74 28 4d 45 4d 25 2c |ory_select(MEM%,| 000215a0 30 29 3a f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f |0):.display_memo| 000215b0 72 79 0d 11 ad 24 20 4d 45 4d 25 3d 70 6d 25 3a |ry...$ MEM%=pm%:| 000215c0 f2 6d 65 6d 6f 72 79 5f 73 65 6c 65 63 74 28 4d |.memory_select(M| 000215d0 45 4d 25 2c 30 29 0d 11 ae 10 20 58 3d 35 30 3a |EM%,0).... X=50:| 000215e0 57 3d 31 31 38 30 0d 11 af 18 20 72 3d 70 72 2d |W=1180.... r=pr-| 000215f0 35 36 3a e7 20 72 3c 30 20 8c 20 72 3d 30 0d 11 |56:. r<0 . r=0..| 00021600 b0 18 20 67 3d 70 67 2d 35 36 3a e7 20 67 3c 30 |.. g=pg-56:. g<0| 00021610 20 8c 20 67 3d 30 0d 11 b1 18 20 62 3d 70 62 2d | . g=0.... b=pb-| 00021620 35 36 3a e7 20 62 3c 30 20 8c 20 62 3d 30 0d 11 |56:. b<0 . b=0..| 00021630 b2 10 20 52 3d 72 3a 47 3d 67 3a 42 3d 62 0d 11 |.. R=r:G=g:B=b..| 00021640 b3 1b 20 e7 20 52 3d 30 20 8c 20 72 69 3d 32 2e |.. . R=0 . ri=2.| 00021650 33 20 8b 20 72 69 3d 2e 35 0d 11 b4 1b 20 e7 20 |3 . ri=.5.... . | 00021660 47 3d 30 20 8c 20 67 69 3d 32 2e 33 20 8b 20 67 |G=0 . gi=2.3 . g| 00021670 69 3d 2e 35 0d 11 b5 1b 20 e7 20 42 3d 30 20 8c |i=.5.... . B=0 .| 00021680 20 62 69 3d 32 2e 33 20 8b 20 62 69 3d 2e 35 0d | bi=2.3 . bi=.5.| 00021690 11 b6 2b 20 e3 20 59 25 3d 31 36 34 20 b8 20 32 |..+ . Y%=164 . 2| 000216a0 30 34 3a e6 20 52 2c 47 2c 42 3a 86 20 35 30 2c |04:. R,G,B:. 50,| 000216b0 59 25 2c 31 32 33 30 2c 59 25 0d 11 b7 18 20 52 |Y%,1230,Y%.... R| 000216c0 2b 3d 72 69 3a 47 2b 3d 67 69 3a 42 2b 3d 62 69 |+=ri:G+=gi:B+=bi| 000216d0 3a ed 0d 11 b8 2b 20 e3 20 59 25 3d 32 30 34 20 |:....+ . Y%=204 | 000216e0 b8 20 32 34 34 3a e6 20 52 2c 47 2c 42 3a 86 20 |. 244:. R,G,B:. | 000216f0 35 30 2c 59 25 2c 31 32 33 30 2c 59 25 0d 11 b9 |50,Y%,1230,Y%...| 00021700 18 20 52 2d 3d 72 69 3a 47 2d 3d 67 69 3a 42 2d |. R-=ri:G-=gi:B-| 00021710 3d 62 69 3a ed 0d 11 ba 16 20 e3 20 59 25 3d 32 |=bi:..... . Y%=2| 00021720 34 32 20 b8 20 37 36 34 20 88 32 0d 11 bb 28 20 |42 . 764 .2...( | 00021730 e6 20 70 72 2c 70 67 2c 70 62 3a 86 20 58 2c 59 |. pr,pg,pb:. X,Y| 00021740 25 2c 58 2b 57 2c 59 25 3a 58 2b 3d 2e 35 3a 57 |%,X+W,Y%:X+=.5:W| 00021750 2d 3d 31 0d 11 bc 1c 20 70 72 3d 70 72 2d 70 72 |-=1.... pr=pr-pr| 00021760 69 3a e7 20 70 72 3c 30 20 8c 20 70 72 3d 30 0d |i:. pr<0 . pr=0.| 00021770 11 bd 1c 20 70 67 3d 70 67 2d 70 67 69 3a e7 20 |... pg=pg-pgi:. | 00021780 70 67 3c 30 20 8c 20 70 67 3d 30 0d 11 be 1c 20 |pg<0 . pg=0.... | 00021790 70 62 3d 70 62 2d 70 62 69 3a e7 20 70 62 3c 30 |pb=pb-pbi:. pb<0| 000217a0 20 8c 20 70 62 3d 30 0d 11 bf 06 20 ed 0d 11 c0 | . pb=0.... ....| 000217b0 2f 20 41 25 3d 6d 65 6d 62 6c 6f 63 6b 25 2b 32 |/ A%=memblock%+2| 000217c0 30 2b 34 30 39 36 30 3a 57 25 3d 38 38 30 3a 53 |0+40960:W%=880:S| 000217d0 58 3d 32 30 30 3a 59 25 3d 31 34 30 0d 11 c1 8d |X=200:Y%=140....| 000217e0 20 e3 20 4e 25 3d 41 25 b8 41 25 2b 36 31 31 38 | . N%=A%.A%+6118| 000217f0 34 30 88 32 35 36 30 3a 58 3d 53 58 3a 58 49 3d |40.2560:X=SX:XI=| 00021800 57 25 2f 36 34 30 3a e3 20 4a 25 3d 4e 25 b8 4e |W%/640:. J%=N%.N| 00021810 25 2b 31 32 37 38 88 32 3a 53 25 3d 28 31 32 38 |%+1278.2:S%=(128| 00021820 30 2a 59 25 2b a8 20 58 2b 73 63 72 65 65 6e 25 |0*Y%+. X+screen%| 00021830 29 81 32 2a 32 3a 3f 53 25 3d 3f 4a 25 3a 3f 28 |).2*2:?S%=?J%:?(| 00021840 53 25 2b 31 29 3d 3f 28 4a 25 2b 31 29 3a 58 3d |S%+1)=?(J%+1):X=| 00021850 58 2b 58 49 3a ed 3a 53 58 2d 3d 2e 35 3a 57 25 |X+XI:.:SX-=.5:W%| 00021860 2b 3d 31 3a 59 25 2b 3d 31 0d 11 c2 21 20 ed 3a |+=1:Y%+=1...! .:| 00021870 6d 65 6e 75 5f 62 6f 78 25 3d 31 3a f2 75 70 6c |menu_box%=1:.upl| 00021880 6f 61 64 5f 6d 65 6d 6f 72 79 0d 11 c3 06 20 e1 |oad_memory.... .| 00021890 0d 11 c4 04 0d 11 c5 1b 20 dd 20 f2 6c 6f 61 64 |........ . .load| 000218a0 5f 72 78 5f 61 6e 64 5f 74 78 5f 63 6f 64 65 0d |_rx_and_tx_code.| 000218b0 11 c6 3a 20 de 20 72 78 5f 63 6f 64 65 25 20 a4 |..: . rx_code% .| 000218c0 66 69 6c 65 5f 6c 65 6e 28 22 3c 50 73 63 61 6e |file_len("<Pscan| 000218d0 24 44 69 72 3e 2e 52 65 73 6f 75 72 63 65 73 2e |$Dir>.Resources.| 000218e0 50 73 63 61 6e 52 58 22 29 0d 11 c7 38 20 ff 28 |PscanRX")...8 .(| 000218f0 22 4c 4f 41 44 20 3c 50 73 63 61 6e 24 44 69 72 |"LOAD <Pscan$Dir| 00021900 3e 2e 52 65 73 6f 75 72 63 65 73 2e 50 73 63 61 |>.Resources.Psca| 00021910 6e 52 58 20 22 2b c3 7e 72 78 5f 63 6f 64 65 25 |nRX "+.~rx_code%| 00021920 29 0d 11 c8 24 20 72 78 5f 70 61 72 61 6d 25 3d |)...$ rx_param%=| 00021930 72 78 5f 63 6f 64 65 25 2b 28 72 78 5f 63 6f 64 |rx_code%+(rx_cod| 00021940 65 25 21 34 29 0d 11 c9 1d 20 72 78 5f 70 61 72 |e%!4).... rx_par| 00021950 61 6d 65 74 65 72 73 25 3d 72 78 5f 70 61 72 61 |ameters%=rx_para| 00021960 6d 25 0d 11 ca 04 0d 11 cb 3a 20 de 20 68 71 5f |m%.......: . hq_| 00021970 72 78 5f 63 6f 64 65 25 20 a4 66 69 6c 65 5f 6c |rx_code% .file_l| 00021980 65 6e 28 22 3c 50 73 63 61 6e 24 44 69 72 3e 2e |en("<Pscan$Dir>.| 00021990 52 65 73 6f 75 72 63 65 73 2e 48 51 52 58 22 29 |Resources.HQRX")| 000219a0 0d 11 cc 38 20 ff 28 22 4c 4f 41 44 20 3c 50 73 |...8 .("LOAD <Ps| 000219b0 63 61 6e 24 44 69 72 3e 2e 52 65 73 6f 75 72 63 |can$Dir>.Resourc| 000219c0 65 73 2e 48 51 52 58 20 22 2b c3 7e 68 71 5f 72 |es.HQRX "+.~hq_r| 000219d0 78 5f 63 6f 64 65 25 29 0d 11 cd 2d 20 68 71 5f |x_code%)...- hq_| 000219e0 72 78 5f 70 61 72 61 6d 25 3d 68 71 5f 72 78 5f |rx_param%=hq_rx_| 000219f0 63 6f 64 65 25 2b 28 68 71 5f 72 78 5f 63 6f 64 |code%+(hq_rx_cod| 00021a00 65 25 21 34 29 0d 11 ce 20 20 68 71 5f 70 61 72 |e%!4)... hq_par| 00021a10 61 6d 65 74 65 72 73 25 3d 68 71 5f 72 78 5f 70 |ameters%=hq_rx_p| 00021a20 61 72 61 6d 25 0d 11 cf 04 0d 11 d0 3c 20 de 20 |aram%.......< . | 00021a30 72 78 5f 74 61 62 6c 65 25 20 a4 66 69 6c 65 5f |rx_table% .file_| 00021a40 6c 65 6e 28 22 3c 50 73 63 61 6e 24 44 69 72 3e |len("<Pscan$Dir>| 00021a50 2e 52 65 73 6f 75 72 63 65 73 2e 52 58 5f 74 61 |.Resources.RX_ta| 00021a60 62 6c 65 22 29 0d 11 d1 3a 20 ff 28 22 4c 4f 41 |ble")...: .("LOA| 00021a70 44 20 3c 50 73 63 61 6e 24 44 69 72 3e 2e 52 65 |D <Pscan$Dir>.Re| 00021a80 73 6f 75 72 63 65 73 2e 52 58 5f 74 61 62 6c 65 |sources.RX_table| 00021a90 20 22 2b c3 7e 72 78 5f 74 61 62 6c 65 25 29 0d | "+.~rx_table%).| 00021aa0 11 d2 04 0d 11 d3 41 20 de 20 70 64 5f 72 78 5f |......A . pd_rx_| 00021ab0 74 61 62 6c 65 25 20 34 30 39 36 20 3a 20 f4 20 |table% 4096 : . | 00021ac0 54 68 69 73 20 74 61 62 6c 65 20 63 6f 6e 76 65 |This table conve| 00021ad0 72 74 73 20 63 6f 75 6e 74 73 20 74 6f 20 36 34 |rts counts to 64| 00021ae0 2d 31 39 32 0d 11 d4 12 20 e3 20 43 25 3d 30 20 |-192.... . C%=0 | 00021af0 b8 20 34 30 39 35 0d 11 d5 1c 20 46 3d 28 31 2f |. 4095.... F=(1/| 00021b00 28 34 30 39 36 2d 43 25 29 29 2a 31 30 30 30 30 |(4096-C%))*10000| 00021b10 30 30 0d 11 d6 1a 20 44 3d 28 46 2d 31 35 30 30 |00.... D=(F-1500| 00021b20 29 2f 33 2e 31 32 35 2f 32 2b 36 34 0d 11 d7 0e |)/3.125/2+64....| 00021b30 20 e7 20 44 3c 30 20 44 3d 30 0d 11 d8 12 20 e7 | . D<0 D=0.... .| 00021b40 20 44 3e 32 35 35 20 44 3d 32 35 35 0d 11 d9 18 | D>255 D=255....| 00021b50 20 70 64 5f 72 78 5f 74 61 62 6c 65 25 3f 43 25 | pd_rx_table%?C%| 00021b60 3d 44 3a ed 0d 11 da 04 0d 11 db 49 20 de 20 70 |=D:........I . p| 00021b70 64 5f 61 75 74 6f 5f 74 61 62 6c 65 25 20 33 34 |d_auto_table% 34| 00021b80 30 30 20 3a 20 f4 20 43 6f 6e 76 65 72 74 20 6d |00 : . Convert m| 00021b90 65 61 73 75 72 65 64 20 73 79 6e 63 20 66 72 65 |easured sync fre| 00021ba0 71 75 65 6e 63 79 20 74 6f 20 6f 66 66 73 65 74 |quency to offset| 00021bb0 2e 0d 11 dc 33 20 e3 20 43 25 3d 33 30 39 36 20 |....3 . C%=3096 | 00021bc0 b8 20 33 33 38 32 20 20 20 20 20 3a 20 f4 20 31 |. 3382 : . 1| 00021bd0 30 30 30 20 74 6f 20 31 34 30 30 20 48 7a 20 6f |000 to 1400 Hz o| 00021be0 6e 6c 79 2e 0d 11 dd 1c 20 46 3d 28 31 2f 28 34 |nly..... F=(1/(4| 00021bf0 30 39 36 2d 43 25 29 29 2a 31 30 30 30 30 30 30 |096-C%))*1000000| 00021c00 0d 11 de 1a 20 44 3d 28 46 2d 31 30 30 30 29 2f |.... D=(F-1000)/| 00021c10 33 2e 31 32 35 2f 32 2b 33 32 0d 11 df 1a 20 70 |3.125/2+32.... p| 00021c20 64 5f 61 75 74 6f 5f 74 61 62 6c 65 25 3f 43 25 |d_auto_table%?C%| 00021c30 3d 44 3a ed 0d 11 e0 04 0d 11 e1 47 20 de 20 74 |=D:........G . t| 00021c40 75 6e 69 6e 67 5f 69 6e 64 69 63 61 74 6f 72 5f |uning_indicator_| 00021c50 74 61 62 6c 65 25 20 34 30 39 36 20 3a 20 f4 20 |table% 4096 : . | 00021c60 43 6f 6e 76 65 72 74 20 63 6f 75 6e 74 73 20 74 |Convert counts t| 00021c70 6f 20 73 63 72 65 65 6e 20 6f 66 66 73 65 74 0d |o screen offset.| 00021c80 11 e2 12 20 e3 20 43 25 3d 30 20 b8 20 34 30 39 |... . C%=0 . 409| 00021c90 35 0d 11 e3 1c 20 46 3d 28 31 2f 28 34 30 39 36 |5.... F=(1/(4096| 00021ca0 2d 43 25 29 29 2a 31 30 30 30 30 30 30 0d 11 e4 |-C%))*1000000...| 00021cb0 11 20 44 3d 28 46 2d 31 30 30 30 29 2f 35 0d 11 |. D=(F-1000)/5..| 00021cc0 e5 23 20 74 75 6e 69 6e 67 5f 69 6e 64 69 63 61 |.# tuning_indica| 00021cd0 74 6f 72 5f 74 61 62 6c 65 25 3f 43 25 3d 44 3a |tor_table%?C%=D:| 00021ce0 ed 0d 11 e6 04 0d 11 e7 1b 20 de 20 67 72 65 65 |......... . gree| 00021cf0 6e 5f 73 74 6f 72 65 25 20 31 32 38 30 30 2a 34 |n_store% 12800*4| 00021d00 0d 11 e8 24 20 67 72 65 65 6e 5f 73 74 6f 72 65 |...$ green_store| 00021d10 32 25 3d 67 72 65 65 6e 5f 73 74 6f 72 65 25 2b |2%=green_store%+| 00021d20 32 35 36 30 0d 11 e9 24 20 62 6c 75 65 5f 73 74 |2560...$ blue_st| 00021d30 6f 72 65 25 3d 67 72 65 65 6e 5f 73 74 6f 72 65 |ore%=green_store| 00021d40 25 2b 32 35 36 30 2a 32 0d 11 ea 25 20 62 6c 75 |%+2560*2...% blu| 00021d50 65 5f 73 74 6f 72 65 32 25 3d 67 72 65 65 6e 5f |e_store2%=green_| 00021d60 73 74 6f 72 65 25 2b 32 35 36 30 2a 33 0d 11 eb |store%+2560*3...| 00021d70 23 20 72 65 64 5f 73 74 6f 72 65 25 3d 67 72 65 |# red_store%=gre| 00021d80 65 6e 5f 73 74 6f 72 65 25 2b 32 35 36 30 2a 34 |en_store%+2560*4| 00021d90 0d 11 ec 16 20 f2 63 72 65 61 74 65 5f 72 79 5f |.... .create_ry_| 00021da0 74 61 62 6c 65 73 0d 11 ed 17 20 f2 73 65 74 5f |tables.... .set_| 00021db0 72 78 5f 70 61 72 61 6d 65 74 65 72 73 0d 11 ee |rx_parameters...| 00021dc0 04 0d 11 ef 3a 20 de 20 74 78 5f 63 6f 64 65 25 |....: . tx_code%| 00021dd0 20 a4 66 69 6c 65 5f 6c 65 6e 28 22 3c 50 73 63 | .file_len("<Psc| 00021de0 61 6e 24 44 69 72 3e 2e 52 65 73 6f 75 72 63 65 |an$Dir>.Resource| 00021df0 73 2e 50 73 63 61 6e 54 58 22 29 0d 11 f0 38 20 |s.PscanTX")...8 | 00021e00 ff 28 22 4c 4f 41 44 20 3c 50 73 63 61 6e 24 44 |.("LOAD <Pscan$D| 00021e10 69 72 3e 2e 52 65 73 6f 75 72 63 65 73 2e 50 73 |ir>.Resources.Ps| 00021e20 63 61 6e 54 58 20 22 2b c3 7e 74 78 5f 63 6f 64 |canTX "+.~tx_cod| 00021e30 65 25 29 0d 11 f1 23 20 74 78 5f 70 61 72 61 6d |e%)...# tx_param| 00021e40 25 3d 74 78 5f 63 6f 64 65 25 2b 28 21 74 78 5f |%=tx_code%+(!tx_| 00021e50 63 6f 64 65 25 29 0d 11 f2 15 20 f2 74 78 5f 70 |code%).... .tx_p| 00021e60 61 72 61 6d 73 5f 73 65 74 75 70 0d 11 f3 04 0d |arams_setup.....| 00021e70 11 f4 3c 20 de 20 76 69 73 5f 63 6f 64 65 25 20 |..< . vis_code% | 00021e80 a4 66 69 6c 65 5f 6c 65 6e 28 22 3c 50 73 63 61 |.file_len("<Psca| 00021e90 6e 24 44 69 72 3e 2e 52 65 73 6f 75 72 63 65 73 |n$Dir>.Resources| 00021ea0 2e 50 73 63 61 6e 56 49 53 22 29 0d 11 f5 3a 20 |.PscanVIS")...: | 00021eb0 ff 28 22 4c 4f 41 44 20 3c 50 73 63 61 6e 24 44 |.("LOAD <Pscan$D| 00021ec0 69 72 3e 2e 52 65 73 6f 75 72 63 65 73 2e 50 73 |ir>.Resources.Ps| 00021ed0 63 61 6e 56 49 53 20 22 2b c3 7e 76 69 73 5f 63 |canVIS "+.~vis_c| 00021ee0 6f 64 65 25 29 0d 11 f6 27 20 76 69 73 5f 70 61 |ode%)...' vis_pa| 00021ef0 72 61 6d 25 3d 76 69 73 5f 63 6f 64 65 25 2b 28 |ram%=vis_code%+(| 00021f00 76 69 73 5f 63 6f 64 65 25 21 34 29 0d 11 f7 04 |vis_code%!4)....| 00021f10 0d 11 f8 3f 20 de 20 6f 66 66 73 65 74 5f 63 6f |...? . offset_co| 00021f20 64 65 25 20 a4 66 69 6c 65 5f 6c 65 6e 28 22 3c |de% .file_len("<| 00021f30 50 73 63 61 6e 24 44 69 72 3e 2e 52 65 73 6f 75 |Pscan$Dir>.Resou| 00021f40 72 63 65 73 2e 50 73 63 61 6e 4f 46 46 22 29 0d |rces.PscanOFF").| 00021f50 11 f9 3d 20 ff 28 22 4c 4f 41 44 20 3c 50 73 63 |..= .("LOAD <Psc| 00021f60 61 6e 24 44 69 72 3e 2e 52 65 73 6f 75 72 63 65 |an$Dir>.Resource| 00021f70 73 2e 50 73 63 61 6e 4f 46 46 20 22 2b c3 7e 6f |s.PscanOFF "+.~o| 00021f80 66 66 73 65 74 5f 63 6f 64 65 25 29 0d 11 fa 31 |ffset_code%)...1| 00021f90 20 6f 66 66 73 65 74 5f 72 65 73 75 6c 74 25 3d | offset_result%=| 00021fa0 6f 66 66 73 65 74 5f 63 6f 64 65 25 2b 28 6f 66 |offset_code%+(of| 00021fb0 66 73 65 74 5f 63 6f 64 65 25 21 34 29 0d 11 fb |fset_code%!4)...| 00021fc0 04 0d 11 fc 3d 20 de 20 61 75 74 6f 5f 63 6f 64 |....= . auto_cod| 00021fd0 65 25 20 a4 66 69 6c 65 5f 6c 65 6e 28 22 3c 50 |e% .file_len("<P| 00021fe0 73 63 61 6e 24 44 69 72 3e 2e 52 65 73 6f 75 72 |scan$Dir>.Resour| 00021ff0 63 65 73 2e 41 75 74 6f 4d 6f 64 65 22 29 0d 11 |ces.AutoMode")..| 00022000 fd 3b 20 ff 28 22 4c 4f 41 44 20 3c 50 73 63 61 |.; .("LOAD <Psca| 00022010 6e 24 44 69 72 3e 2e 52 65 73 6f 75 72 63 65 73 |n$Dir>.Resources| 00022020 2e 41 75 74 6f 4d 6f 64 65 20 22 2b c3 7e 61 75 |.AutoMode "+.~au| 00022030 74 6f 5f 63 6f 64 65 25 29 0d 11 fe 04 0d 11 ff |to_code%).......| 00022040 1a 20 de 20 76 69 73 5f 74 61 62 6c 65 25 20 32 |. . vis_table% 2| 00022050 33 36 30 3a 4e 3d 30 0d 12 00 18 20 e3 20 43 3d |360:N=0.... . C=| 00022060 33 33 39 32 20 b8 20 33 31 30 30 20 88 2d 31 0d |3392 . 3100 .-1.| 00022070 12 01 2d 20 46 3d 28 31 2f 28 34 30 39 36 2d 43 |..- F=(1/(4096-C| 00022080 29 29 2a 31 30 30 30 30 30 30 3a 46 32 3d 46 2d |))*1000000:F2=F-| 00022090 31 38 30 3a 46 33 3d 46 2b 31 38 30 0d 12 02 34 |180:F3=F+180...4| 000220a0 20 43 32 25 3d 34 30 39 36 2d 28 31 2f 46 32 2a | C2%=4096-(1/F2*| 000220b0 31 30 30 30 30 30 30 29 3a 43 33 25 3d 34 30 39 |1000000):C3%=409| 000220c0 36 2d 28 31 2f 46 33 2a 31 30 30 30 30 30 30 29 |6-(1/F3*1000000)| 000220d0 0d 12 03 35 20 21 28 76 69 73 5f 74 61 62 6c 65 |...5 !(vis_table| 000220e0 25 2b 4e 29 3d 43 32 25 3a 21 28 76 69 73 5f 74 |%+N)=C2%:!(vis_t| 000220f0 61 62 6c 65 25 2b 4e 2b 34 29 3d 43 33 25 3a 4e |able%+N+4)=C3%:N| 00022100 2b 3d 38 3a ed 0d 12 04 1d 20 76 69 73 5f 70 61 |+=8:..... vis_pa| 00022110 72 61 6d 25 21 32 34 3d 76 69 73 5f 74 61 62 6c |ram%!24=vis_tabl| 00022120 65 25 0d 12 05 04 0d 12 06 06 20 e1 0d 12 07 04 |e%........ .....| 00022130 0d 12 08 18 20 dd 20 f2 63 72 65 61 74 65 5f 72 |.... . .create_r| 00022140 79 5f 74 61 62 6c 65 73 0d 12 09 49 20 de 20 74 |y_tables...I . t| 00022150 61 62 5f 72 79 31 25 20 31 30 32 34 2c 74 61 62 |ab_ry1% 1024,tab| 00022160 5f 62 79 31 25 20 31 30 32 34 2c 74 61 62 5f 79 |_by1% 1024,tab_y| 00022170 31 25 20 31 30 32 34 2c 74 61 62 5f 72 31 25 20 |1% 1024,tab_r1% | 00022180 31 30 32 34 2c 74 61 62 5f 62 31 25 20 31 30 32 |1024,tab_b1% 102| 00022190 34 0d 12 0a 19 20 41 25 3d 30 3a e3 20 4e 25 3d |4.... A%=0:. N%=| 000221a0 2d 31 32 39 20 b8 20 31 32 36 0d 12 0b 34 20 74 |-129 . 126...4 t| 000221b0 61 62 5f 72 79 31 25 21 41 25 3d a8 28 4e 25 2a |ab_ry1%!A%=.(N%*| 000221c0 31 2e 34 30 38 29 3a 74 61 62 5f 62 79 31 25 21 |1.408):tab_by1%!| 000221d0 41 25 3d a8 28 4e 25 2a 31 2e 37 38 36 29 0d 12 |A%=.(N%*1.786)..| 000221e0 0c 0c 20 41 25 2b 3d 34 3a ed 0d 12 0d 11 20 e3 |.. A%+=4:..... .| 000221f0 20 4e 25 3d 30 20 b8 20 32 35 35 0d 12 0e 36 20 | N%=0 . 255...6 | 00022200 74 61 62 5f 79 31 25 3f 4e 25 3d a8 28 28 4e 25 |tab_y1%?N%=.((N%| 00022210 2f 32 29 2a 31 2e 36 39 35 29 3a 74 61 62 5f 72 |/2)*1.695):tab_r| 00022220 31 25 3f 4e 25 3d a8 28 4e 25 2a 30 2e 35 30 38 |1%?N%=.(N%*0.508| 00022230 29 0d 12 0f 1d 20 74 61 62 5f 62 31 25 3f 4e 25 |).... tab_b1%?N%| 00022240 3d a8 28 4e 25 2a 30 2e 31 38 36 29 3a ed 0d 12 |=.(N%*0.186):...| 00022250 10 06 20 e1 0d 12 11 04 0d 12 12 19 20 dd 20 f2 |.. ......... . .| 00022260 73 65 74 5f 72 78 5f 70 61 72 61 6d 65 74 65 72 |set_rx_parameter| 00022270 73 0d 12 13 3b 20 72 78 5f 70 61 72 61 6d 25 21 |s...; rx_param%!| 00022280 34 30 3d 67 72 65 65 6e 5f 73 74 6f 72 65 25 3a |40=green_store%:| 00022290 68 71 5f 72 78 5f 70 61 72 61 6d 25 21 34 30 3d |hq_rx_param%!40=| 000222a0 67 72 65 65 6e 5f 73 74 6f 72 65 25 0d 12 14 3d |green_store%...=| 000222b0 20 72 78 5f 70 61 72 61 6d 25 21 34 34 3d 67 72 | rx_param%!44=gr| 000222c0 65 65 6e 5f 73 74 6f 72 65 32 25 3a 68 71 5f 72 |een_store2%:hq_r| 000222d0 78 5f 70 61 72 61 6d 25 21 34 34 3d 67 72 65 65 |x_param%!44=gree| 000222e0 6e 5f 73 74 6f 72 65 32 25 0d 12 15 39 20 72 78 |n_store2%...9 rx| 000222f0 5f 70 61 72 61 6d 25 21 34 38 3d 62 6c 75 65 5f |_param%!48=blue_| 00022300 73 74 6f 72 65 25 3a 68 71 5f 72 78 5f 70 61 72 |store%:hq_rx_par| 00022310 61 6d 25 21 34 38 3d 62 6c 75 65 5f 73 74 6f 72 |am%!48=blue_stor| 00022320 65 25 0d 12 16 3b 20 72 78 5f 70 61 72 61 6d 25 |e%...; rx_param%| 00022330 21 35 32 3d 62 6c 75 65 5f 73 74 6f 72 65 32 25 |!52=blue_store2%| 00022340 3a 68 71 5f 72 78 5f 70 61 72 61 6d 25 21 35 32 |:hq_rx_param%!52| 00022350 3d 62 6c 75 65 5f 73 74 6f 72 65 32 25 0d 12 17 |=blue_store2%...| 00022360 37 20 72 78 5f 70 61 72 61 6d 25 21 35 36 3d 72 |7 rx_param%!56=r| 00022370 65 64 5f 73 74 6f 72 65 25 3a 68 71 5f 72 78 5f |ed_store%:hq_rx_| 00022380 70 61 72 61 6d 25 21 35 36 3d 72 65 64 5f 73 74 |param%!56=red_st| 00022390 6f 72 65 25 0d 12 18 1a 20 e7 20 73 63 72 65 65 |ore%.... . scree| 000223a0 6e 5f 6c 69 6e 65 73 25 3d 35 31 32 20 8c 0d 12 |n_lines%=512 ...| 000223b0 19 3f 20 72 78 5f 70 61 72 61 6d 25 21 37 36 3d |.? rx_param%!76=| 000223c0 73 63 72 65 65 6e 25 2b 35 35 38 35 36 30 3a 68 |screen%+558560:h| 000223d0 71 5f 72 78 5f 70 61 72 61 6d 25 21 37 36 3d 73 |q_rx_param%!76=s| 000223e0 63 72 65 65 6e 25 2b 35 35 38 35 36 30 0d 12 1a |creen%+558560...| 000223f0 06 20 cc 0d 12 1b 3f 20 72 78 5f 70 61 72 61 6d |. ....? rx_param| 00022400 25 21 37 36 3d 73 63 72 65 65 6e 25 2b 35 31 37 |%!76=screen%+517| 00022410 36 30 30 3a 68 71 5f 72 78 5f 70 61 72 61 6d 25 |600:hq_rx_param%| 00022420 21 37 36 3d 73 63 72 65 65 6e 25 2b 35 31 37 36 |!76=screen%+5176| 00022430 30 30 0d 12 1c 06 20 cd 0d 12 1d 3f 20 72 78 5f |00.... ....? rx_| 00022440 70 61 72 61 6d 25 21 38 30 3d 73 63 72 65 65 6e |param%!80=screen| 00022450 25 2b 36 33 32 39 33 32 3a 68 71 5f 72 78 5f 70 |%+632932:hq_rx_p| 00022460 61 72 61 6d 25 21 38 30 3d 73 63 72 65 65 6e 25 |aram%!80=screen%| 00022470 2b 36 33 32 39 33 32 0d 12 1e 35 20 72 78 5f 70 |+632932...5 rx_p| 00022480 61 72 61 6d 25 21 33 32 3d 72 78 5f 74 61 62 6c |aram%!32=rx_tabl| 00022490 65 25 3a 68 71 5f 72 78 5f 70 61 72 61 6d 25 21 |e%:hq_rx_param%!| 000224a0 33 32 3d 72 78 5f 74 61 62 6c 65 25 0d 12 1f 31 |32=rx_table%...1| 000224b0 20 72 78 5f 70 61 72 61 6d 25 21 33 36 3d 73 63 | rx_param%!36=sc| 000224c0 72 65 65 6e 25 3a 68 71 5f 72 78 5f 70 61 72 61 |reen%:hq_rx_para| 000224d0 6d 25 21 33 36 3d 73 63 72 65 65 6e 25 0d 12 20 |m%!36=screen%.. | 000224e0 3d 20 72 78 5f 70 61 72 61 6d 25 21 31 31 36 3d |= rx_param%!116=| 000224f0 70 64 5f 72 78 5f 74 61 62 6c 65 25 3a 68 71 5f |pd_rx_table%:hq_| 00022500 72 78 5f 70 61 72 61 6d 25 21 31 31 36 3d 70 64 |rx_param%!116=pd| 00022510 5f 72 78 5f 74 61 62 6c 65 25 0d 12 21 35 20 72 |_rx_table%..!5 r| 00022520 78 5f 70 61 72 61 6d 25 21 31 32 34 3d 74 61 62 |x_param%!124=tab| 00022530 5f 72 79 31 25 3a 68 71 5f 72 78 5f 70 61 72 61 |_ry1%:hq_rx_para| 00022540 6d 25 21 31 32 34 3d 74 61 62 5f 72 79 31 25 0d |m%!124=tab_ry1%.| 00022550 12 22 35 20 72 78 5f 70 61 72 61 6d 25 21 31 32 |."5 rx_param%!12| 00022560 38 3d 74 61 62 5f 62 79 31 25 3a 68 71 5f 72 78 |8=tab_by1%:hq_rx| 00022570 5f 70 61 72 61 6d 25 21 31 32 38 3d 74 61 62 5f |_param%!128=tab_| 00022580 62 79 31 25 0d 12 23 33 20 72 78 5f 70 61 72 61 |by1%..#3 rx_para| 00022590 6d 25 21 31 33 32 3d 74 61 62 5f 79 31 25 3a 68 |m%!132=tab_y1%:h| 000225a0 71 5f 72 78 5f 70 61 72 61 6d 25 21 31 33 32 3d |q_rx_param%!132=| 000225b0 74 61 62 5f 79 31 25 0d 12 24 33 20 72 78 5f 70 |tab_y1%..$3 rx_p| 000225c0 61 72 61 6d 25 21 31 33 36 3d 74 61 62 5f 72 31 |aram%!136=tab_r1| 000225d0 25 3a 68 71 5f 72 78 5f 70 61 72 61 6d 25 21 31 |%:hq_rx_param%!1| 000225e0 33 36 3d 74 61 62 5f 72 31 25 0d 12 25 33 20 72 |36=tab_r1%..%3 r| 000225f0 78 5f 70 61 72 61 6d 25 21 31 34 30 3d 74 61 62 |x_param%!140=tab| 00022600 5f 62 31 25 3a 68 71 5f 72 78 5f 70 61 72 61 6d |_b1%:hq_rx_param| 00022610 25 21 31 34 30 3d 74 61 62 5f 62 31 25 0d 12 26 |%!140=tab_b1%..&| 00022620 06 20 e1 0d 12 27 04 0d 12 28 13 20 dd 20 f2 74 |. ...'...(. . .t| 00022630 78 5f 74 61 62 6c 65 5f 36 32 0d 12 29 1d 20 47 |x_table_62..). G| 00022640 25 3d 30 3a e7 20 58 34 25 20 8c 20 4d 25 3d 34 |%=0:. X4% . M%=4| 00022650 20 8b 20 4d 25 3d 31 0d 12 2a 26 20 e3 20 46 3d | . M%=1..*& . F=| 00022660 31 35 30 30 2a 4d 25 20 b8 20 32 33 30 31 2a 4d |1500*M% . 2301*M| 00022670 25 20 88 20 38 30 30 2f 33 31 2a 4d 25 0d 12 2b |% . 800/31*M%..+| 00022680 1e 20 43 3d a8 28 31 2f 46 2f 32 2a 31 30 30 30 |. C=.(1/F/2*1000| 00022690 30 30 30 2a 32 2d 31 2b 2e 35 29 0d 12 2c 1b 20 |000*2-1+.5)..,. | 000226a0 74 78 5f 74 61 62 6c 65 25 21 47 25 3d 43 3a 47 |tx_table%!G%=C:G| 000226b0 25 2b 3d 34 3a ed 0d 12 2d 06 20 e1 0d 12 2e 04 |%+=4:...-. .....| 000226c0 0d 12 2f 14 20 dd 20 f2 74 78 5f 74 61 62 6c 65 |../. . .tx_table| 000226d0 5f 32 34 38 0d 12 30 1d 20 47 25 3d 30 3a e7 20 |_248..0. G%=0:. | 000226e0 58 34 25 20 8c 20 4d 25 3d 34 20 8b 20 4d 25 3d |X4% . M%=4 . M%=| 000226f0 31 0d 12 31 27 20 e3 20 46 3d 31 35 30 30 2a 4d |1..1' . F=1500*M| 00022700 25 20 b8 20 32 33 30 31 2a 4d 25 20 88 20 38 30 |% . 2301*M% . 80| 00022710 30 2f 32 34 38 2a 4d 25 0d 12 32 1e 20 43 3d a8 |0/248*M%..2. C=.| 00022720 28 31 2f 46 2f 32 2a 31 30 30 30 30 30 30 2a 32 |(1/F/2*1000000*2| 00022730 2d 31 2b 2e 35 29 0d 12 33 1b 20 74 78 5f 74 61 |-1+.5)..3. tx_ta| 00022740 62 6c 65 25 21 47 25 3d 43 3a 47 25 2b 3d 34 3a |ble%!G%=C:G%+=4:| 00022750 ed 0d 12 34 06 20 e1 0d 12 35 04 0d 12 36 18 20 |...4. ...5...6. | 00022760 dd 20 f2 73 65 74 5f 66 61 78 5f 74 78 5f 74 6f |. .set_fax_tx_to| 00022770 6e 65 73 0d 12 37 0c 20 e7 20 58 34 25 20 8c 0d |nes..7. . X4% ..| 00022780 12 38 26 20 74 78 5f 70 61 72 61 6d 25 21 31 30 |.8& tx_param%!10| 00022790 34 3d 31 30 38 3a 74 78 5f 70 61 72 61 6d 25 21 |4=108:tx_param%!| 000227a0 31 30 38 3d 30 0d 12 39 25 20 74 78 5f 70 61 72 |108=0..9% tx_par| 000227b0 61 6d 25 21 37 32 3d 31 30 38 20 3a 74 78 5f 70 |am%!72=108 :tx_p| 000227c0 61 72 61 6d 25 21 37 36 3d 30 0d 12 3a 06 20 cc |aram%!76=0..:. .| 000227d0 0d 12 3b 26 20 74 78 5f 70 61 72 61 6d 25 21 31 |..;& tx_param%!1| 000227e0 30 34 3d 31 37 38 3a 74 78 5f 70 61 72 61 6d 25 |04=178:tx_param%| 000227f0 21 31 30 38 3d 31 0d 12 3c 25 20 74 78 5f 70 61 |!108=1..<% tx_pa| 00022800 72 61 6d 25 21 37 32 3d 36 34 20 20 3a 74 78 5f |ram%!72=64 :tx_| 00022810 70 61 72 61 6d 25 21 37 36 3d 33 0d 12 3d 06 20 |param%!76=3..=. | 00022820 cd 0d 12 3e 06 20 e1 0d 12 3f 04 0d 12 40 19 20 |...>. ...?...@. | 00022830 dd 20 f2 73 65 74 5f 73 73 74 76 5f 74 78 5f 74 |. .set_sstv_tx_t| 00022840 6f 6e 65 73 0d 12 41 0c 20 e7 20 58 34 25 20 8c |ones..A. . X4% .| 00022850 0d 12 42 26 20 74 78 5f 70 61 72 61 6d 25 21 31 |..B& tx_param%!1| 00022860 30 34 3d 31 36 36 3a 74 78 5f 70 61 72 61 6d 25 |04=166:tx_param%| 00022870 21 31 30 38 3d 30 0d 12 43 24 20 74 78 5f 70 61 |!108=0..C$ tx_pa| 00022880 72 61 6d 25 21 37 32 3d 32 30 37 3a 74 78 5f 70 |ram%!72=207:tx_p| 00022890 61 72 61 6d 25 21 37 36 3d 30 0d 12 44 06 20 cc |aram%!76=0..D. .| 000228a0 0d 12 45 26 20 74 78 5f 70 61 72 61 6d 25 21 31 |..E& tx_param%!1| 000228b0 30 34 3d 31 35 34 3a 74 78 5f 70 61 72 61 6d 25 |04=154:tx_param%| 000228c0 21 31 30 38 3d 32 0d 12 46 25 20 74 78 5f 70 61 |!108=2..F% tx_pa| 000228d0 72 61 6d 25 21 37 32 3d 36 34 20 20 3a 74 78 5f |ram%!72=64 :tx_| 000228e0 70 61 72 61 6d 25 21 37 36 3d 33 0d 12 47 06 20 |param%!76=3..G. | 000228f0 cd 0d 12 48 06 20 e1 0d 12 49 04 0d 12 4a 17 20 |...H. ...I...J. | 00022900 dd 20 f2 74 78 5f 70 61 72 61 6d 73 5f 73 65 74 |. .tx_params_set| 00022910 75 70 0d 12 4b 15 20 de 20 74 78 5f 74 61 62 6c |up..K. . tx_tabl| 00022920 65 25 20 31 30 32 34 0d 12 4c 0c 20 e7 20 58 34 |e% 1024..L. . X4| 00022930 25 20 8c 0d 12 4d 25 20 74 78 5f 70 61 72 61 6d |% ...M% tx_param| 00022940 25 21 36 34 3d 32 32 36 20 3a 74 78 5f 70 61 72 |%!64=226 :tx_par| 00022950 61 6d 25 21 36 38 3d 30 0d 12 4e 25 20 74 78 5f |am%!68=0..N% tx_| 00022960 70 61 72 61 6d 25 21 37 32 3d 32 30 37 20 3a 74 |param%!72=207 :t| 00022970 78 5f 70 61 72 61 6d 25 21 37 36 3d 30 0d 12 4f |x_param%!76=0..O| 00022980 25 20 74 78 5f 70 61 72 61 6d 25 21 38 30 3d 31 |% tx_param%!80=1| 00022990 39 31 20 3a 74 78 5f 70 61 72 61 6d 25 21 38 34 |91 :tx_param%!84| 000229a0 3d 30 0d 12 50 25 20 74 78 5f 70 61 72 61 6d 25 |=0..P% tx_param%| 000229b0 21 38 38 3d 31 36 36 20 3a 74 78 5f 70 61 72 61 |!88=166 :tx_para| 000229c0 6d 25 21 39 32 3d 30 0d 12 51 26 20 74 78 5f 70 |m%!92=0..Q& tx_p| 000229d0 61 72 61 6d 25 21 39 36 3d 31 33 31 20 3a 74 78 |aram%!96=131 :tx| 000229e0 5f 70 61 72 61 6d 25 21 31 30 30 3d 30 0d 12 52 |_param%!100=0..R| 000229f0 26 20 74 78 5f 70 61 72 61 6d 25 21 31 30 34 3d |& tx_param%!104=| 00022a00 31 30 38 3a 74 78 5f 70 61 72 61 6d 25 21 31 30 |108:tx_param%!10| 00022a10 38 3d 30 0d 12 53 06 20 cc 0d 12 54 25 20 74 78 |8=0..S. ...T% tx| 00022a20 5f 70 61 72 61 6d 25 21 36 34 3d 31 34 30 20 3a |_param%!64=140 :| 00022a30 74 78 5f 70 61 72 61 6d 25 21 36 38 3d 33 0d 12 |tx_param%!68=3..| 00022a40 55 25 20 74 78 5f 70 61 72 61 6d 25 21 37 32 3d |U% tx_param%!72=| 00022a50 36 34 20 20 3a 74 78 5f 70 61 72 61 6d 25 21 37 |64 :tx_param%!7| 00022a60 36 3d 33 0d 12 56 25 20 74 78 5f 70 61 72 61 6d |6=3..V% tx_param| 00022a70 25 21 38 30 3d 30 20 20 20 3a 74 78 5f 70 61 72 |%!80=0 :tx_par| 00022a80 61 6d 25 21 38 34 3d 33 0d 12 57 25 20 74 78 5f |am%!84=3..W% tx_| 00022a90 70 61 72 61 6d 25 21 38 38 3d 31 35 34 20 3a 74 |param%!88=154 :t| 00022aa0 78 5f 70 61 72 61 6d 25 21 39 32 3d 32 0d 12 58 |x_param%!92=2..X| 00022ab0 26 20 74 78 5f 70 61 72 61 6d 25 21 39 36 3d 31 |& tx_param%!96=1| 00022ac0 33 20 20 3a 74 78 5f 70 61 72 61 6d 25 21 31 30 |3 :tx_param%!10| 00022ad0 30 3d 32 0d 12 59 26 20 74 78 5f 70 61 72 61 6d |0=2..Y& tx_param| 00022ae0 25 21 31 30 34 3d 31 37 38 3a 74 78 5f 70 61 72 |%!104=178:tx_par| 00022af0 61 6d 25 21 31 30 38 3d 31 0d 12 5a 06 20 cd 0d |am%!108=1..Z. ..| 00022b00 12 5b 19 20 de 20 70 64 5f 74 78 5f 62 75 66 66 |.[. . pd_tx_buff| 00022b10 65 72 25 20 32 35 39 32 0d 12 5c 20 20 74 78 5f |er% 2592..\ tx_| 00022b20 70 61 72 61 6d 25 21 31 31 32 3d 70 64 5f 74 78 |param%!112=pd_tx| 00022b30 5f 62 75 66 66 65 72 25 0d 12 5d 3b 20 de 20 72 |_buffer%..]; . r| 00022b40 65 64 33 30 25 20 32 35 30 2c 67 72 6e 35 39 25 |ed30% 250,grn59%| 00022b50 20 32 35 30 2c 62 6c 75 31 31 25 20 32 35 30 2c | 250,blu11% 250,| 00022b60 72 79 37 31 25 20 32 35 30 2c 62 79 35 36 25 20 |ry71% 250,by56% | 00022b70 32 35 36 0d 12 5e 11 20 e3 20 4e 25 3d 30 20 b8 |256..^. . N%=0 .| 00022b80 20 32 35 30 0d 12 5f 1b 20 72 65 64 33 30 25 3f | 250.._. red30%?| 00022b90 4e 25 3d a8 28 4e 25 2a 30 2e 33 2b 2e 35 29 0d |N%=.(N%*0.3+.5).| 00022ba0 12 60 1c 20 67 72 6e 35 39 25 3f 4e 25 3d a8 28 |.`. grn59%?N%=.(| 00022bb0 4e 25 2a 30 2e 35 39 2b 2e 34 29 0d 12 61 1b 20 |N%*0.59+.4)..a. | 00022bc0 62 6c 75 31 31 25 3f 4e 25 3d a8 28 4e 25 2a 2e |blu11%?N%=.(N%*.| 00022bd0 31 31 2b 2e 35 29 0d 12 62 1a 20 72 79 37 31 25 |11+.5)..b. ry71%| 00022be0 3f 4e 25 3d a8 28 4e 25 2a 2e 37 31 2b 2e 35 29 |?N%=.(N%*.71+.5)| 00022bf0 0d 12 63 1a 20 62 79 35 36 25 3f 4e 25 3d a8 28 |..c. by56%?N%=.(| 00022c00 4e 25 2a 2e 35 36 2b 2e 35 29 0d 12 64 06 20 ed |N%*.56+.5)..d. .| 00022c10 0d 12 65 2e 20 74 78 5f 70 61 72 61 6d 25 21 31 |..e. tx_param%!1| 00022c20 32 30 3d 72 65 64 33 30 25 3a 74 78 5f 70 61 72 |20=red30%:tx_par| 00022c30 61 6d 25 21 31 32 34 3d 67 72 6e 35 39 25 0d 12 |am%!124=grn59%..| 00022c40 66 41 20 74 78 5f 70 61 72 61 6d 25 21 31 32 38 |fA tx_param%!128| 00022c50 3d 62 6c 75 31 31 25 3a 74 78 5f 70 61 72 61 6d |=blu11%:tx_param| 00022c60 25 21 31 33 32 3d 72 79 37 31 25 3a 74 78 5f 70 |%!132=ry71%:tx_p| 00022c70 61 72 61 6d 25 21 31 33 36 3d 62 79 35 36 25 0d |aram%!136=by56%.| 00022c80 12 67 06 20 e1 0d 12 68 04 0d 12 69 18 20 dd 20 |.g. ...h...i. . | 00022c90 f2 74 78 5f 66 72 61 6d 65 28 72 66 6c 61 67 25 |.tx_frame(rflag%| 00022ca0 29 0d 12 6a 14 20 f2 64 69 73 70 6c 61 79 5f 6d |)..j. .display_m| 00022cb0 65 6d 6f 72 79 0d 12 6b 10 20 e6 20 36 33 20 c8 |emory..k. . 63 .| 00022cc0 9c 20 31 39 32 0d 12 6c 1c 20 4e 25 3d 74 78 5f |. 192..l. N%=tx_| 00022cd0 63 6f 64 65 25 2b 28 21 74 78 5f 63 6f 64 65 25 |code%+(!tx_code%| 00022ce0 29 0d 12 6d 42 20 e7 20 6d 6f 64 65 25 3e 36 39 |)..mB . mode%>69| 00022cf0 20 80 20 6d 6f 64 65 25 3c 38 30 20 8c 20 85 20 | . mode%<80 . . | 00022d00 31 39 39 37 2c 22 54 58 20 6e 6f 74 20 61 76 61 |1997,"TX not ava| 00022d10 69 6c 61 62 6c 65 20 69 6e 20 48 51 20 6d 6f 64 |ilable in HQ mod| 00022d20 65 73 22 0d 12 6e 27 20 e7 20 6d 6f 64 65 25 3e |es"..n' . mode%>| 00022d30 35 39 20 80 20 6d 6f 64 65 25 3c 36 38 20 8c 20 |59 . mode%<68 . | 00022d40 f2 63 61 6c 5f 70 64 5f 39 37 0d 12 6f 1f 20 e7 |.cal_pd_97..o. .| 00022d50 20 6d 6f 64 65 25 3c 32 30 20 8c 20 f2 63 61 6c | mode%<20 . .cal| 00022d60 5f 73 73 74 76 5f 6e 65 77 0d 12 70 2d 20 e7 20 |_sstv_new..p- . | 00022d70 6d 6f 64 65 25 3e 31 39 20 80 20 6d 6f 64 65 25 |mode%>19 . mode%| 00022d80 3c 32 33 20 8c 20 f2 63 61 6c 5f 70 61 73 6f 6b |<23 . .cal_pasok| 00022d90 6f 6e 5f 6e 65 77 0d 12 71 1e 20 e7 20 6d 6f 64 |on_new..q. . mod| 00022da0 65 25 3e 39 39 20 8c 20 f2 63 61 6c 5f 66 61 78 |e%>99 . .cal_fax| 00022db0 5f 6e 65 77 0d 12 72 28 20 4e 25 21 31 32 3d 6c |_new..r( N%!12=l| 00022dc0 6f 6e 67 25 20 83 20 32 35 36 3a 4e 25 21 31 36 |ong% . 256:N%!16| 00022dd0 3d 6c 6f 6e 67 25 20 81 20 32 35 36 0d 12 73 2a |=long% . 256..s*| 00022de0 20 4e 25 21 32 30 3d 73 68 6f 72 74 25 20 83 20 | N%!20=short% . | 00022df0 32 35 36 3a 4e 25 21 32 34 3d 73 68 6f 72 74 25 |256:N%!24=short%| 00022e00 20 81 20 32 35 36 0d 12 74 28 20 4e 25 21 34 3d | . 256..t( N%!4=| 00022e10 70 69 78 65 6c 25 20 83 20 32 35 36 3a 4e 25 21 |pixel% . 256:N%!| 00022e20 38 3d 70 69 78 65 6c 25 20 81 20 32 35 36 0d 12 |8=pixel% . 256..| 00022e30 75 27 20 e7 20 6d 6f 64 65 25 3e 39 39 20 8c 20 |u' . mode%>99 . | 00022e40 4e 25 21 34 30 3d 35 31 32 20 8b 20 4e 25 21 34 |N%!40=512 . N%!4| 00022e50 30 3d 32 35 36 0d 12 76 38 20 e7 20 6d 6f 64 65 |0=256..v8 . mode| 00022e60 25 3e 31 39 20 80 20 6d 6f 64 65 25 3c 32 33 20 |%>19 . mode%<23 | 00022e70 8c 20 4e 25 21 34 30 3d 34 39 36 20 3a 20 f4 20 |. N%!40=496 : . | 00022e80 50 61 73 6f 6b 6f 6e 20 6d 6f 64 65 73 0d 12 77 |Pasokon modes..w| 00022e90 39 20 e7 20 6d 6f 64 65 25 3e 35 39 20 80 20 6d |9 . mode%>59 . m| 00022ea0 6f 64 65 25 3c 36 38 20 8c 20 f2 74 78 5f 74 61 |ode%<68 . .tx_ta| 00022eb0 62 6c 65 5f 32 34 38 20 8b 20 f2 74 78 5f 74 61 |ble_248 . .tx_ta| 00022ec0 62 6c 65 5f 36 32 0d 12 78 2e 20 4e 25 21 33 36 |ble_62..x. N%!36| 00022ed0 3d 74 78 5f 74 61 62 6c 65 25 20 3a 20 f4 20 70 |=tx_table% : . p| 00022ee0 61 73 73 20 74 78 20 74 61 62 6c 65 20 61 64 64 |ass tx table add| 00022ef0 72 65 73 73 0d 12 79 39 20 e7 20 6d 6f 64 65 25 |ress..y9 . mode%| 00022f00 3d 36 32 20 8c 20 70 64 5f 6f 66 66 73 65 74 25 |=62 . pd_offset%| 00022f10 3d a4 70 64 31 36 30 5f 63 75 72 73 6f 72 20 8b |=.pd160_cursor .| 00022f20 20 70 64 5f 6f 66 66 73 65 74 25 3d 30 0d 12 7a | pd_offset%=0..z| 00022f30 42 20 e7 20 28 6d 6f 64 65 25 3e 31 39 20 80 20 |B . (mode%>19 . | 00022f40 6d 6f 64 65 25 3c 32 33 29 20 84 20 28 6d 6f 64 |mode%<23) . (mod| 00022f50 65 25 3e 35 39 20 80 20 6d 6f 64 65 25 3c 36 36 |e%>59 . mode%<66| 00022f60 20 80 20 6d 6f 64 65 25 3c 3e 36 32 29 20 8c 0d | . mode%<>62) ..| 00022f70 12 7b 35 20 20 70 64 5f 6f 66 66 73 65 74 25 3d |.{5 pd_offset%=| 00022f80 32 30 34 38 30 3a e6 20 33 32 2c 33 32 2c 33 32 |20480:. 32,32,32| 00022f90 3a c8 93 20 c8 90 20 30 2c 39 39 32 2c 31 32 38 |:.. .. 0,992,128| 00022fa0 30 2c 34 30 0d 12 7c 2b 20 20 f2 70 64 5f 6d 6f |0,40..|+ .pd_mo| 00022fb0 64 65 5f 68 65 61 64 65 72 28 30 2c 39 36 30 29 |de_header(0,960)| 00022fc0 3a f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d |:.upload_memory.| 00022fd0 12 7d 07 20 20 cd 0d 12 7e 2c 20 e7 20 6d 6f 64 |.}. ...~, . mod| 00022fe0 65 25 3d 36 33 20 84 20 6d 6f 64 65 25 3d 36 35 |e%=63 . mode%=65| 00022ff0 20 8c 20 70 64 5f 6f 66 66 73 65 74 25 3d 31 32 | . pd_offset%=12| 00023000 38 30 0d 12 7f 43 20 4e 25 21 30 3d 73 63 72 65 |80...C N%!0=scre| 00023010 65 6e 25 2b 70 64 5f 6f 66 66 73 65 74 25 20 20 |en%+pd_offset% | 00023020 20 3a 20 f4 20 70 61 73 73 20 73 63 72 65 65 6e | : . pass screen| 00023030 20 6d 65 6d 6f 72 79 20 73 74 61 72 74 20 61 64 | memory start ad| 00023040 64 72 65 73 73 0d 12 80 22 20 4e 25 21 32 38 3d |dress..." N%!28=| 00023050 6d 65 6d 62 6c 6f 63 6b 25 2b 32 30 2b 70 64 5f |memblock%+20+pd_| 00023060 6f 66 66 73 65 74 25 0d 12 81 3b 20 e7 20 6d 6f |offset%...; . mo| 00023070 64 65 25 3e 39 39 20 8c 20 4e 25 21 35 32 3d 54 |de%>99 . N%!52=T| 00023080 58 70 68 61 73 65 25 20 83 20 32 35 36 3a 4e 25 |Xphase% . 256:N%| 00023090 21 35 36 3d 54 58 70 68 61 73 65 25 20 81 20 32 |!56=TXphase% . 2| 000230a0 35 36 0d 12 82 42 20 e3 20 4e 25 3d 30 20 b8 20 |56...B . N%=0 . | 000230b0 32 35 39 32 20 88 34 3a 70 64 5f 74 78 5f 62 75 |2592 .4:pd_tx_bu| 000230c0 66 66 65 72 25 21 4e 25 3d 26 37 46 37 46 37 46 |ffer%!N%=&7F7F7F| 000230d0 37 46 3a ed 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 |7F:.:.wait_no_bu| 000230e0 74 74 6f 6e 0d 12 83 04 0d 12 84 3b 20 e7 20 72 |tton.......; . r| 000230f0 66 6c 61 67 25 20 f2 64 69 73 70 6c 61 79 5f 68 |flag% .display_h| 00023100 65 61 64 65 72 5f 74 65 78 74 28 63 61 6c 6c 24 |eader_text(call$| 00023110 2b 22 20 50 73 63 61 6e 20 72 65 70 65 61 74 65 |+" Pscan repeate| 00023120 72 22 29 0d 12 85 04 0d 12 86 2c 20 e7 20 68 65 |r")......., . he| 00023130 61 64 65 72 5f 74 65 78 74 25 20 80 20 6d 6f 64 |ader_text% . mod| 00023140 65 25 3c 31 30 30 20 80 20 ac 20 72 66 6c 61 67 |e%<100 . . rflag| 00023150 25 20 8c 0d 12 87 28 20 20 f2 64 69 73 70 6c 61 |% ....( .displa| 00023160 79 5f 68 65 61 64 65 72 5f 74 65 78 74 28 68 65 |y_header_text(he| 00023170 61 64 65 72 5f 74 65 78 74 24 29 0d 12 88 06 20 |ader_text$).... | 00023180 cd 0d 12 89 04 0d 12 8a 1f 20 74 78 5f 70 61 72 |......... tx_par| 00023190 61 6d 25 21 31 34 38 3d 73 65 72 69 61 6c 5f 62 |am%!148=serial_b| 000231a0 61 73 65 25 0d 12 8b 04 0d 12 8c 46 20 e7 20 70 |ase%.......F . p| 000231b0 64 5f 6f 66 66 73 65 74 25 3c 3e 31 20 8c 20 45 |d_offset%<>1 . E| 000231c0 25 3d 6d 6f 64 65 25 3a d6 28 74 78 5f 63 6f 64 |%=mode%:.(tx_cod| 000231d0 65 25 2b 38 29 3a f4 20 31 20 3d 20 50 44 31 36 |e%+8):. 1 = PD16| 000231e0 30 20 63 75 72 73 6f 72 20 61 62 6f 72 74 0d 12 |0 cursor abort..| 000231f0 8d 1e 20 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f |.. .display_memo| 00023200 72 79 3a f2 6d 69 6e 69 5f 70 61 64 0d 12 8e 06 |ry:.mini_pad....| 00023210 20 e1 0d 12 8f 04 0d 12 90 0e 20 dd 20 f2 63 61 | ......... . .ca| 00023220 6c 5f 68 71 0d 12 91 0f 20 c8 8e 20 6d 6f 64 65 |l_hq.... .. mode| 00023230 25 20 ca 0d 12 92 46 20 c9 20 37 30 3a 4c 3d 37 |% ....F . 70:L=7| 00023240 30 35 34 31 30 3a 50 3d 35 33 34 3a 70 69 78 65 |05410:P=534:pixe| 00023250 6c 25 3d 32 36 36 3a 72 78 5f 70 61 72 61 6d 25 |l%=266:rx_param%| 00023260 21 36 30 3d 32 35 34 3a 72 78 5f 70 61 72 61 6d |!60=254:rx_param| 00023270 25 21 31 32 30 3d 33 32 30 0d 12 93 48 20 20 20 |%!120=320...H | 00023280 20 20 20 20 20 20 72 78 5f 70 61 72 61 6d 25 21 | rx_param%!| 00023290 33 36 3d 73 63 72 65 65 6e 25 2b 35 31 32 30 3a |36=screen%+5120:| 000232a0 72 78 5f 70 61 72 61 6d 25 21 31 34 34 3d 31 33 |rx_param%!144=13| 000232b0 32 3a 72 78 5f 70 61 72 61 6d 25 21 31 34 38 3d |2:rx_param%!148=| 000232c0 30 0d 12 94 2d 20 20 20 20 20 20 20 20 20 72 78 |0...- rx| 000232d0 5f 70 61 72 61 6d 25 21 31 36 38 3d 33 30 3a 72 |_param%!168=30:r| 000232e0 78 5f 70 61 72 61 6d 25 21 31 37 32 3d 32 0d 12 |x_param%!172=2..| 000232f0 95 3e 20 20 20 20 20 20 20 20 20 72 78 5f 70 61 |.> rx_pa| 00023300 72 61 6d 25 21 31 37 36 3d 36 38 3a 72 78 5f 70 |ram%!176=68:rx_p| 00023310 61 72 61 6d 25 21 31 38 30 3d 31 3a 72 78 5f 70 |aram%!180=1:rx_p| 00023320 61 72 61 6d 25 21 31 38 34 3d 39 36 0d 12 96 35 |aram%!184=96...5| 00023330 20 20 20 20 20 20 20 20 20 63 6f 72 72 3d 28 4c | corr=(L| 00023340 2f 31 30 30 30 30 30 30 2f 32 29 2a 28 63 6c 6f |/1000000/2)*(clo| 00023350 63 6b 5f 66 72 65 71 25 2d 32 30 30 30 30 30 30 |ck_freq%-2000000| 00023360 29 0d 12 97 25 20 20 20 20 20 20 20 20 20 6c 6f |)...% lo| 00023370 6e 67 25 3d 28 32 31 36 38 30 2b 63 6f 72 72 29 |ng%=(21680+corr)| 00023380 2a 32 2d 30 2e 35 0d 12 98 46 20 c9 20 37 31 3a |*2-0.5...F . 71:| 00023390 4c 3d 38 37 33 36 31 30 3a 50 3d 36 36 34 3a 70 |L=873610:P=664:p| 000233a0 69 78 65 6c 25 3d 33 33 31 3a 72 78 5f 70 61 72 |ixel%=331:rx_par| 000233b0 61 6d 25 21 36 30 3d 32 35 34 3a 72 78 5f 70 61 |am%!60=254:rx_pa| 000233c0 72 61 6d 25 21 31 32 30 3d 33 32 30 0d 12 99 48 |ram%!120=320...H| 000233d0 20 20 20 20 20 20 20 20 20 72 78 5f 70 61 72 61 | rx_para| 000233e0 6d 25 21 33 36 3d 73 63 72 65 65 6e 25 2b 35 31 |m%!36=screen%+51| 000233f0 32 30 3a 72 78 5f 70 61 72 61 6d 25 21 31 34 34 |20:rx_param%!144| 00023400 3d 31 36 35 3a 72 78 5f 70 61 72 61 6d 25 21 31 |=165:rx_param%!1| 00023410 34 38 3d 30 0d 12 9a 2d 20 20 20 20 20 20 20 20 |48=0...- | 00023420 20 72 78 5f 70 61 72 61 6d 25 21 31 36 38 3d 36 | rx_param%!168=6| 00023430 30 3a 72 78 5f 70 61 72 61 6d 25 21 31 37 32 3d |0:rx_param%!172=| 00023440 33 0d 12 9b 3f 20 20 20 20 20 20 20 20 20 72 78 |3...? rx| 00023450 5f 70 61 72 61 6d 25 21 31 37 36 3d 31 36 35 3a |_param%!176=165:| 00023460 72 78 5f 70 61 72 61 6d 25 21 31 38 30 3d 30 3a |rx_param%!180=0:| 00023470 72 78 5f 70 61 72 61 6d 25 21 31 38 34 3d 38 30 |rx_param%!184=80| 00023480 0d 12 9c 35 20 20 20 20 20 20 20 20 20 63 6f 72 |...5 cor| 00023490 72 3d 28 4c 2f 31 30 30 30 30 30 30 2f 32 29 2a |r=(L/1000000/2)*| 000234a0 28 63 6c 6f 63 6b 5f 66 72 65 71 25 2d 32 30 30 |(clock_freq%-200| 000234b0 30 30 30 30 29 0d 12 9d 2d 20 20 20 20 20 20 20 |0000)...- | 000234c0 20 20 6c 6f 6e 67 25 3d 28 32 31 36 39 30 2b 63 | long%=(21690+c| 000234d0 6f 72 72 29 2a 32 2d 30 2e 35 20 20 20 20 20 20 |orr)*2-0.5 | 000234e0 20 20 0d 12 9e 06 20 cb 0d 12 9f 23 20 73 68 6f | .... ....# sho| 000234f0 72 74 25 3d 70 69 78 65 6c 25 3a 72 78 5f 70 61 |rt%=pixel%:rx_pa| 00023500 72 61 6d 25 21 31 30 30 3d 31 30 0d 12 a0 06 20 |ram%!100=10.... | 00023510 e1 0d 12 a1 04 0d 12 a2 11 20 dd 20 f2 63 61 6c |......... . .cal| 00023520 5f 70 64 5f 39 37 0d 12 a3 0f 20 c8 8e 20 6d 6f |_pd_97.... .. mo| 00023530 64 65 25 20 ca 0d 12 a4 48 20 c9 20 36 30 3a 4c |de% ....H . 60:L| 00023540 3d 37 35 34 32 34 30 20 3a 50 3d 32 38 36 3a 70 |=754240 :P=286:p| 00023550 69 78 65 6c 25 3d 31 34 32 3a 72 78 5f 70 61 72 |ixel%=142:rx_par| 00023560 61 6d 25 21 36 30 3d 34 39 34 3a 72 78 5f 70 61 |am%!60=494:rx_pa| 00023570 72 61 6d 25 21 31 32 30 3d 36 34 30 3a 0d 12 a5 |ram%!120=640:...| 00023580 4c 20 e7 20 73 63 72 65 65 6e 5f 6c 69 6e 65 73 |L . screen_lines| 00023590 25 3d 35 31 32 20 8c 20 72 78 5f 70 61 72 61 6d |%=512 . rx_param| 000235a0 25 21 33 36 3d 73 63 72 65 65 6e 25 2b 32 33 30 |%!36=screen%+230| 000235b0 34 30 20 8b 20 72 78 5f 70 61 72 61 6d 25 21 33 |40 . rx_param%!3| 000235c0 36 3d 73 63 72 65 65 6e 25 0d 12 a6 48 20 c9 20 |6=screen%...H . | 000235d0 36 31 3a 4c 3d 31 30 30 30 30 30 30 3a 50 3d 33 |61:L=1000000:P=3| 000235e0 38 32 3a 70 69 78 65 6c 25 3d 31 39 30 3a 72 78 |82:pixel%=190:rx| 000235f0 5f 70 61 72 61 6d 25 21 36 30 3d 34 39 34 3a 72 |_param%!60=494:r| 00023600 78 5f 70 61 72 61 6d 25 21 31 32 30 3d 36 34 30 |x_param%!120=640| 00023610 3a 0d 12 a7 4c 20 e7 20 73 63 72 65 65 6e 5f 6c |:...L . screen_l| 00023620 69 6e 65 73 25 3d 35 31 32 20 8c 20 72 78 5f 70 |ines%=512 . rx_p| 00023630 61 72 61 6d 25 21 33 36 3d 73 63 72 65 65 6e 25 |aram%!36=screen%| 00023640 2b 32 33 30 34 30 20 8b 20 72 78 5f 70 61 72 61 |+23040 . rx_para| 00023650 6d 25 21 33 36 3d 73 63 72 65 65 6e 25 0d 12 a8 |m%!36=screen%...| 00023660 47 20 c9 20 36 32 3a 4c 3d 38 30 34 34 31 36 20 |G . 62:L=804416 | 00023670 3a 50 3d 33 38 32 3a 70 69 78 65 6c 25 3d 31 39 |:P=382:pixel%=19| 00023680 30 3a 72 78 5f 70 61 72 61 6d 25 21 36 30 3d 33 |0:rx_param%!60=3| 00023690 39 38 3a 72 78 5f 70 61 72 61 6d 25 21 31 32 30 |98:rx_param%!120| 000236a0 3d 35 31 32 0d 12 a9 2d 20 20 20 20 20 20 20 20 |=512...- | 000236b0 3a 72 78 5f 70 61 72 61 6d 25 21 33 36 3d 73 63 |:rx_param%!36=sc| 000236c0 72 65 65 6e 25 2b 35 36 2a 31 32 38 30 2b 31 32 |reen%+56*1280+12| 000236d0 38 0d 12 aa 47 20 c9 20 36 33 3a 4c 3d 37 30 33 |8...G . 63:L=703| 000236e0 30 34 30 20 3a 50 3d 35 33 32 3a 70 69 78 65 6c |040 :P=532:pixel| 000236f0 25 3d 32 36 35 3a 72 78 5f 70 61 72 61 6d 25 21 |%=265:rx_param%!| 00023700 36 30 3d 32 35 34 3a 72 78 5f 70 61 72 61 6d 25 |60=254:rx_param%| 00023710 21 31 32 30 3d 33 32 30 0d 12 ab 4b 20 e7 20 73 |!120=320...K . s| 00023720 63 72 65 65 6e 5f 6c 69 6e 65 73 25 3d 35 31 32 |creen_lines%=512| 00023730 20 8c 20 72 78 5f 70 61 72 61 6d 25 21 33 36 3d | . rx_param%!36=| 00023740 73 63 72 65 65 6e 25 2b 33 38 34 30 20 8b 20 72 |screen%+3840 . r| 00023750 78 5f 70 61 72 61 6d 25 21 33 36 3d 73 63 72 65 |x_param%!36=scre| 00023760 65 6e 25 0d 12 ac 47 20 c9 20 36 34 3a 4c 3d 35 |en%...G . 64:L=5| 00023770 30 38 34 38 30 20 3a 50 3d 31 39 30 3a 70 69 78 |08480 :P=190:pix| 00023780 65 6c 25 3d 39 34 3a 72 78 5f 70 61 72 61 6d 25 |el%=94:rx_param%| 00023790 21 36 30 3d 34 39 34 3a 72 78 5f 70 61 72 61 6d |!60=494:rx_param| 000237a0 25 21 31 32 30 3d 36 34 30 3a 0d 12 ad 4c 20 e7 |%!120=640:...L .| 000237b0 20 73 63 72 65 65 6e 5f 6c 69 6e 65 73 25 3d 35 | screen_lines%=5| 000237c0 31 32 20 8c 20 72 78 5f 70 61 72 61 6d 25 21 33 |12 . rx_param%!3| 000237d0 36 3d 73 63 72 65 65 6e 25 2b 32 33 30 34 30 20 |6=screen%+23040 | 000237e0 8b 20 72 78 5f 70 61 72 61 6d 25 21 33 36 3d 73 |. rx_param%!36=s| 000237f0 63 72 65 65 6e 25 0d 12 ae 47 20 c9 20 36 35 3a |creen%...G . 65:| 00023800 4c 3d 33 38 38 31 36 30 20 3a 50 3d 32 38 36 3a |L=388160 :P=286:| 00023810 70 69 78 65 6c 25 3d 31 34 32 3a 72 78 5f 70 61 |pixel%=142:rx_pa| 00023820 72 61 6d 25 21 36 30 3d 32 35 34 3a 72 78 5f 70 |ram%!60=254:rx_p| 00023830 61 72 61 6d 25 21 31 32 30 3d 33 32 30 0d 12 af |aram%!120=320...| 00023840 4b 20 e7 20 73 63 72 65 65 6e 5f 6c 69 6e 65 73 |K . screen_lines| 00023850 25 3d 35 31 32 20 8c 20 72 78 5f 70 61 72 61 6d |%=512 . rx_param| 00023860 25 21 33 36 3d 73 63 72 65 65 6e 25 2b 33 38 34 |%!36=screen%+384| 00023870 30 20 8b 20 72 78 5f 70 61 72 61 6d 25 21 33 36 |0 . rx_param%!36| 00023880 3d 73 63 72 65 65 6e 25 0d 12 b0 06 20 cb 0d 12 |=screen%.... ...| 00023890 b1 0f 20 c8 8e 20 6d 6f 64 65 25 20 ca 0d 12 b2 |.. .. mode% ....| 000238a0 18 20 c9 20 36 30 2c 36 31 2c 36 34 3a 74 70 25 |. . 60,61,64:tp%| 000238b0 3d 32 35 36 30 0d 12 b3 18 20 c9 20 36 32 20 20 |=2560.... . 62 | 000238c0 20 20 20 20 3a 74 70 25 3d 32 30 34 38 0d 12 b4 | :tp%=2048...| 000238d0 18 20 c9 20 36 33 2c 36 35 20 20 20 3a 74 70 25 |. . 63,65 :tp%| 000238e0 3d 31 32 38 30 0d 12 b5 06 20 cb 0d 12 b6 25 20 |=1280.... ....% | 000238f0 54 53 3d 4c 2d 28 74 70 25 2a 50 2a 32 30 30 30 |TS=L-(tp%*P*2000| 00023900 30 30 30 2f 63 6c 6f 63 6b 5f 66 72 65 71 25 29 |000/clock_freq%)| 00023910 0d 12 b7 1e 20 54 31 3d 54 53 2a 63 6c 6f 63 6b |.... T1=TS*clock| 00023920 5f 66 72 65 71 25 2f 32 30 30 30 30 30 30 0d 12 |_freq%/2000000..| 00023930 b8 23 20 6c 6f 6e 67 25 3d a8 28 54 31 2a 32 2d |.# long%=.(T1*2-| 00023940 2e 35 29 3a 73 68 6f 72 74 25 3d 70 69 78 65 6c |.5):short%=pixel| 00023950 25 0d 12 b9 32 20 72 78 5f 70 61 72 61 6d 25 21 |%...2 rx_param%!| 00023960 31 30 30 3d 31 36 3a 72 78 5f 70 61 72 61 6d 25 |100=16:rx_param%| 00023970 21 31 34 34 3d 70 64 5f 61 75 74 6f 5f 74 61 62 |!144=pd_auto_tab| 00023980 6c 65 25 0d 12 ba 21 20 72 78 5f 70 61 72 61 6d |le%...! rx_param| 00023990 25 21 31 39 32 3d 70 64 5f 61 75 74 6f 5f 6c 69 |%!192=pd_auto_li| 000239a0 6e 65 73 25 0d 12 bb 17 20 f2 73 65 74 5f 73 73 |nes%.... .set_ss| 000239b0 74 76 5f 74 78 5f 74 6f 6e 65 73 0d 12 bc 06 20 |tv_tx_tones.... | 000239c0 e1 0d 12 bd 04 0d 12 be 17 20 dd 20 f2 63 61 6c |......... . .cal| 000239d0 5f 70 61 73 6f 6b 6f 6e 5f 6e 65 77 0d 12 bf 0f |_pasokon_new....| 000239e0 20 c8 8e 20 6d 6f 64 65 25 20 ca 0d 12 c0 38 20 | .. mode% ....8 | 000239f0 c9 20 32 30 3a 6c 6f 6e 67 3d 37 34 35 33 3a 73 |. 20:long=7453:s| 00023a00 68 6f 72 74 3d 31 32 30 33 3a 70 69 78 65 6c 3d |hort=1203:pixel=| 00023a10 35 32 3a 6c 69 6e 65 5f 74 69 6d 65 3d 34 30 39 |52:line_time=409| 00023a20 33 37 35 0d 12 c1 3a 20 20 20 20 20 20 20 20 3a |375...: :| 00023a30 70 70 31 25 3d 36 39 37 36 2e 35 2d 34 2a 32 30 |pp1%=6976.5-4*20| 00023a40 38 3a 70 70 32 25 3d 35 2a 32 30 38 3a 72 78 5f |8:pp2%=5*208:rx_| 00023a50 70 61 72 61 6d 25 21 31 30 30 3d 37 20 0d 12 c2 |param%!100=7 ...| 00023a60 3f 20 c9 20 32 31 3a 6c 6f 6e 67 3d 31 31 31 37 |? . 21:long=1117| 00023a70 39 2e 35 3a 73 68 6f 72 74 3d 31 38 30 34 2e 35 |9.5:short=1804.5| 00023a80 3a 70 69 78 65 6c 3d 37 38 3a 6c 69 6e 65 5f 74 |:pixel=78:line_t| 00023a90 69 6d 65 3d 36 31 34 30 36 32 2e 35 0d 12 c3 3c |ime=614062.5...<| 00023aa0 20 20 20 20 20 20 20 20 3a 70 70 31 25 3d 31 30 | :pp1%=10| 00023ab0 36 32 35 2d 34 2a 33 31 32 2e 35 3a 70 70 32 25 |625-4*312.5:pp2%| 00023ac0 3d 35 2a 33 31 32 2e 35 3a 72 78 5f 70 61 72 61 |=5*312.5:rx_para| 00023ad0 6d 25 21 31 30 30 3d 39 0d 12 c4 3a 20 c9 20 32 |m%!100=9...: . 2| 00023ae0 32 3a 6c 6f 6e 67 3d 31 34 39 30 36 3a 73 68 6f |2:long=14906:sho| 00023af0 72 74 3d 32 34 30 36 3a 70 69 78 65 6c 3d 31 30 |rt=2406:pixel=10| 00023b00 34 3a 6c 69 6e 65 5f 74 69 6d 65 3d 38 31 38 37 |4:line_time=8187| 00023b10 35 30 0d 12 c5 3f 20 20 20 20 20 20 20 20 3a 70 |50...? :p| 00023b20 70 31 25 3d 31 34 35 34 33 2e 35 2d 34 2a 34 31 |p1%=14543.5-4*41| 00023b30 36 2e 35 3a 70 70 32 25 3d 35 2a 34 31 36 2e 35 |6.5:pp2%=5*416.5| 00023b40 3a 72 78 5f 70 61 72 61 6d 25 21 31 30 30 3d 31 |:rx_param%!100=1| 00023b50 31 0d 12 c6 06 20 cb 0d 12 c7 45 20 6c 69 6e 65 |1.... ....E line| 00023b60 5f 74 6f 74 61 6c 3d 28 70 69 78 65 6c 2a 32 35 |_total=(pixel*25| 00023b70 36 31 2a 33 2b 6c 6f 6e 67 2b 73 68 6f 72 74 2b |61*3+long+short+| 00023b80 73 68 6f 72 74 29 2a 28 63 6c 6f 63 6b 5f 66 72 |short)*(clock_fr| 00023b90 65 71 25 2f 32 30 30 30 30 30 30 29 0d 12 c8 3a |eq%/2000000)...:| 00023ba0 20 6c 69 6e 65 5f 65 72 72 6f 72 3d 6c 69 6e 65 | line_error=line| 00023bb0 5f 74 6f 74 61 6c 2d 6c 69 6e 65 5f 74 69 6d 65 |_total-line_time| 00023bc0 3a 6c 6f 6e 67 3d 6c 6f 6e 67 2b 6c 69 6e 65 5f |:long=long+line_| 00023bd0 65 72 72 6f 72 20 0d 12 c9 1f 20 72 78 5f 70 61 |error .... rx_pa| 00023be0 72 61 6d 25 21 36 30 3d 34 39 35 20 20 3a f4 20 |ram%!60=495 :. | 00023bf0 6c 69 6e 65 73 0d 12 ca 24 20 72 78 5f 70 61 72 |lines...$ rx_par| 00023c00 61 6d 25 21 37 32 3d 32 35 36 30 20 3a f4 20 36 |am%!72=2560 :. 6| 00023c10 34 30 20 70 69 78 65 6c 73 0d 12 cb 4c 20 e7 20 |40 pixels...L . | 00023c20 73 63 72 65 65 6e 5f 6c 69 6e 65 73 25 3d 35 31 |screen_lines%=51| 00023c30 32 20 8c 20 72 78 5f 70 61 72 61 6d 25 21 33 36 |2 . rx_param%!36| 00023c40 3d 73 63 72 65 65 6e 25 2b 32 31 37 36 30 20 8b |=screen%+21760 .| 00023c50 20 72 78 5f 70 61 72 61 6d 25 21 33 36 3d 73 63 | rx_param%!36=sc| 00023c60 72 65 65 6e 25 0d 12 cc 17 20 f2 73 65 74 5f 73 |reen%.... .set_s| 00023c70 73 74 76 5f 74 78 5f 74 6f 6e 65 73 0d 12 cd 37 |stv_tx_tones...7| 00023c80 20 6c 6f 6e 67 25 3d 6c 6f 6e 67 2a 32 2d 2e 35 | long%=long*2-.5| 00023c90 3a 73 68 6f 72 74 25 3d 73 68 6f 72 74 2a 32 2d |:short%=short*2-| 00023ca0 2e 35 3a 70 69 78 65 6c 25 3d 70 69 78 65 6c 2a |.5:pixel%=pixel*| 00023cb0 32 2d 31 0d 12 ce 36 20 74 78 5f 70 61 72 61 6d |2-1...6 tx_param| 00023cc0 25 21 31 34 30 3d 70 70 31 25 20 81 20 31 32 38 |%!140=pp1% . 128| 00023cd0 3a 74 78 5f 70 61 72 61 6d 25 21 31 34 34 3d 70 |:tx_param%!144=p| 00023ce0 70 32 25 20 81 20 31 32 38 0d 12 cf 06 20 e1 0d |p2% . 128.... ..| 00023cf0 12 d0 04 0d 12 d1 13 20 dd 20 f2 63 61 6c 5f 66 |....... . .cal_f| 00023d00 61 78 5f 6e 65 77 0d 12 d2 0f 20 c8 8e 20 6d 6f |ax_new.... .. mo| 00023d10 64 65 25 20 ca 0d 12 d3 31 20 c9 20 31 30 30 2c |de% ....1 . 100,| 00023d20 31 32 30 3a 70 69 78 65 6c 3d 33 38 38 2e 35 3a |120:pixel=388.5:| 00023d30 6c 25 3d 31 30 30 30 30 30 30 3a 70 68 61 73 65 |l%=1000000:phase| 00023d40 25 3d 37 39 39 39 0d 12 d4 31 20 c9 20 31 30 31 |%=7999...1 . 101| 00023d50 2c 31 32 31 3a 70 69 78 65 6c 3d 32 35 38 2e 35 |,121:pixel=258.5| 00023d60 3a 6c 25 3d 36 36 36 36 36 37 20 3a 70 68 61 73 |:l%=666667 :phas| 00023d70 65 25 3d 35 33 33 33 0d 12 d5 31 20 c9 20 31 30 |e%=5333...1 . 10| 00023d80 32 2c 31 32 32 3a 70 69 78 65 6c 3d 31 39 33 2e |2,122:pixel=193.| 00023d90 35 3a 6c 25 3d 35 30 30 30 30 30 20 3a 70 68 61 |5:l%=500000 :pha| 00023da0 73 65 25 3d 33 39 39 39 0d 12 d6 31 20 c9 20 31 |se%=3999...1 . 1| 00023db0 30 33 2c 31 32 33 3a 70 69 78 65 6c 3d 31 32 38 |03,123:pixel=128| 00023dc0 2e 35 3a 6c 25 3d 33 33 33 33 33 33 20 3a 70 68 |.5:l%=333333 :ph| 00023dd0 61 73 65 25 3d 32 36 36 35 0d 12 d7 31 20 c9 20 |ase%=2665...1 . | 00023de0 31 30 34 2c 31 32 34 3a 70 69 78 65 6c 3d 39 35 |104,124:pixel=95| 00023df0 2e 35 20 3a 6c 25 3d 32 35 30 30 30 30 20 3a 70 |.5 :l%=250000 :p| 00023e00 68 61 73 65 25 3d 31 39 39 39 0d 12 d8 31 20 c9 |hase%=1999...1 .| 00023e10 20 31 30 35 2c 31 32 35 3a 70 69 78 65 6c 3d 36 | 105,125:pixel=6| 00023e20 33 2e 30 20 3a 6c 25 3d 31 36 36 36 36 37 20 3a |3.0 :l%=166667 :| 00023e30 70 68 61 73 65 25 3d 31 33 33 33 0d 12 d9 30 20 |phase%=1333...0 | 00023e40 c9 20 31 30 36 2c 31 32 36 3a 70 69 78 65 6c 3d |. 106,126:pixel=| 00023e50 34 37 2e 30 20 3a 6c 25 3d 31 32 35 30 30 30 20 |47.0 :l%=125000 | 00023e60 3a 70 68 61 73 65 25 3d 39 39 39 0d 12 da 06 20 |:phase%=999.... | 00023e70 cb 0d 12 db 33 20 54 58 70 68 61 73 65 25 3d a8 |....3 TXphase%=.| 00023e80 28 28 28 6c 25 2f 32 30 29 2a 63 6c 6f 63 6b 5f |(((l%/20)*clock_| 00023e90 66 72 65 71 25 2f 32 30 30 30 30 30 30 29 2a 32 |freq%/2000000)*2| 00023ea0 29 2d 2e 35 0d 12 dc 40 20 74 76 25 3d 70 69 78 |)-.5...@ tv%=pix| 00023eb0 65 6c 2a 34 2a 36 34 30 3a 63 73 74 3d 6c 25 2d |el*4*640:cst=l%-| 00023ec0 28 74 76 25 2a 32 30 30 30 30 30 30 2f 63 6c 6f |(tv%*2000000/clo| 00023ed0 63 6b 5f 66 72 65 71 25 29 3a 63 73 74 2d 3d 70 |ck_freq%):cst-=p| 00023ee0 69 78 65 6c 0d 12 dd 34 20 6c 6f 6e 67 25 3d a8 |ixel...4 long%=.| 00023ef0 28 63 73 74 2a 32 2d 2e 35 29 3a 73 68 6f 72 74 |(cst*2-.5):short| 00023f00 25 3d 6c 6f 6e 67 25 3a 70 69 78 65 6c 25 3d 70 |%=long%:pixel%=p| 00023f10 69 78 65 6c 2a 32 2d 31 0d 12 de 37 20 e7 20 6d |ixel*2-1...7 . m| 00023f20 6f 64 65 25 3e 31 31 39 20 8c 20 72 78 5f 70 61 |ode%>119 . rx_pa| 00023f30 72 61 6d 25 21 36 30 3d 35 35 30 20 8b 20 72 78 |ram%!60=550 . rx| 00023f40 5f 70 61 72 61 6d 25 21 36 30 3d 31 30 32 30 0d |_param%!60=1020.| 00023f50 12 df 27 20 72 78 5f 70 61 72 61 6d 25 21 37 32 |..' rx_param%!72| 00023f60 3d 32 35 36 30 20 20 20 20 3a f4 20 36 34 30 20 |=2560 :. 640 | 00023f70 70 69 78 65 6c 73 0d 12 e0 32 20 72 78 5f 70 61 |pixels...2 rx_pa| 00023f80 72 61 6d 25 21 33 36 3d 73 63 72 65 65 6e 25 20 |ram%!36=screen% | 00023f90 3a f4 20 53 74 61 72 74 20 61 74 20 74 6f 70 20 |:. Start at top | 00023fa0 6f 66 20 66 72 61 6d 65 0d 12 e1 38 20 72 78 5f |of frame...8 rx_| 00023fb0 70 61 72 61 6d 25 21 38 34 3d 70 68 61 73 65 25 |param%!84=phase%| 00023fc0 20 83 20 32 35 36 3a 72 78 5f 70 61 72 61 6d 25 | . 256:rx_param%| 00023fd0 21 38 38 3d 70 68 61 73 65 25 20 81 20 32 35 36 |!88=phase% . 256| 00023fe0 0d 12 e2 3c 20 72 78 5f 70 61 72 61 6d 25 21 31 |...< rx_param%!1| 00023ff0 35 36 3d 26 30 33 30 30 30 30 30 30 3a 72 78 5f |56=&03000000:rx_| 00024000 70 61 72 61 6d 25 21 31 36 30 3d 30 3a 72 78 5f |param%!160=0:rx_| 00024010 70 61 72 61 6d 25 21 31 36 34 3d 30 0d 12 e3 3f |param%!164=0...?| 00024020 20 e7 20 6d 6f 64 65 25 3e 31 31 39 20 8c 20 72 | . mode%>119 . r| 00024030 78 5f 70 61 72 61 6d 25 21 31 35 32 3d 30 20 8b |x_param%!152=0 .| 00024040 20 72 78 5f 70 61 72 61 6d 25 21 31 35 32 3d 66 | rx_param%!152=f| 00024050 61 78 5f 61 76 65 72 61 67 65 25 0d 12 e4 16 20 |ax_average%.... | 00024060 f2 73 65 74 5f 66 61 78 5f 74 78 5f 74 6f 6e 65 |.set_fax_tx_tone| 00024070 73 0d 12 e5 06 20 e1 0d 12 e6 04 0d 12 e7 14 20 |s.... ......... | 00024080 dd 20 f2 63 61 6c 5f 73 73 74 76 5f 6e 65 77 0d |. .cal_sstv_new.| 00024090 12 e8 0f 20 c8 8e 20 6d 6f 64 65 25 20 ca 0d 12 |... .. mode% ...| 000240a0 e9 08 20 c9 20 31 0d 12 ea 15 20 20 c8 8e 20 73 |.. . 1.... .. s| 000240b0 73 74 76 5f 74 69 6d 65 25 20 ca 0d 12 eb 21 20 |stv_time% ....! | 000240c0 20 c9 20 31 3a 6c 6f 6e 67 3d 35 37 36 33 2e 35 | . 1:long=5763.5| 000240d0 3a 73 68 6f 72 74 3d 33 32 39 2e 35 0d 12 ec 21 |:short=329.5...!| 000240e0 20 20 c9 20 32 3a 6c 6f 6e 67 3d 35 36 32 33 2e | . 2:long=5623.| 000240f0 35 3a 73 68 6f 72 74 3d 33 39 39 2e 35 0d 12 ed |5:short=399.5...| 00024100 21 20 20 c9 20 33 3a 6c 6f 6e 67 3d 35 38 34 33 |! . 3:long=5843| 00024110 2e 35 3a 73 68 6f 72 74 3d 32 38 39 2e 35 0d 12 |.5:short=289.5..| 00024120 ee 07 20 20 cb 0d 12 ef 22 20 20 70 69 78 65 6c |.. ...." pixel| 00024130 3d 31 31 34 2e 35 3a 6c 69 6e 65 5f 74 69 6d 65 |=114.5:line_time| 00024140 3d 34 34 36 34 34 36 0d 12 f0 36 20 c9 20 32 3a |=446446...6 . 2:| 00024150 6c 6f 6e 67 3d 36 32 30 35 3a 73 68 6f 72 74 3d |long=6205:short=| 00024160 37 37 31 3a 70 69 78 65 6c 3d 35 37 3a 6c 69 6e |771:pixel=57:lin| 00024170 65 5f 74 69 6d 65 3d 32 32 36 37 39 38 0d 12 f1 |e_time=226798...| 00024180 39 20 c9 20 35 3a 6c 6f 6e 67 3d 31 30 33 39 32 |9 . 5:long=10392| 00024190 3a 73 68 6f 72 74 3d 31 33 39 32 3a 70 69 78 65 |:short=1392:pixe| 000241a0 6c 3d 31 30 38 3a 6c 69 6e 65 5f 74 69 6d 65 3d |l=108:line_time=| 000241b0 34 32 38 32 32 30 0d 12 f2 38 20 c9 20 36 3a 6c |428220...8 . 6:l| 000241c0 6f 6e 67 3d 31 30 31 37 35 3a 73 68 6f 72 74 3d |ong=10175:short=| 000241d0 31 31 37 35 3a 70 69 78 65 6c 3d 36 39 3a 6c 69 |1175:pixel=69:li| 000241e0 6e 65 5f 74 69 6d 65 3d 32 37 37 36 39 32 0d 12 |ne_time=277692..| 000241f0 f3 3a 20 c9 20 39 3a 6c 6f 6e 67 3d 31 30 32 33 |.: . 9:long=1023| 00024200 30 3a 73 68 6f 72 74 3d 31 32 33 30 3a 70 69 78 |0:short=1230:pix| 00024210 65 6c 3d 32 37 30 3a 6c 69 6e 65 5f 74 69 6d 65 |el=270:line_time| 00024220 3d 31 30 35 30 33 30 30 0d 12 f4 38 20 c9 20 31 |=1050300...8 . 1| 00024230 31 3a 6c 6f 6e 67 3d 36 37 31 30 3a 73 68 6f 72 |1:long=6710:shor| 00024240 74 3d 35 33 33 3a 70 69 78 65 6c 3d 31 38 33 3a |t=533:pixel=183:| 00024250 6c 69 6e 65 5f 74 69 6d 65 3d 37 31 31 30 34 35 |line_time=711045| 00024260 0d 12 f5 38 20 c9 20 31 32 3a 6c 6f 6e 67 3d 35 |...8 . 12:long=5| 00024270 38 32 38 3a 73 68 6f 72 74 3d 39 37 34 3a 70 69 |828:short=974:pi| 00024280 78 65 6c 3d 31 38 33 3a 6c 69 6e 65 5f 74 69 6d |xel=183:line_tim| 00024290 65 3d 37 31 31 30 34 35 0d 12 f6 06 20 cb 0d 12 |e=711045.... ...| 000242a0 f7 45 20 6c 69 6e 65 5f 74 6f 74 61 6c 3d 28 31 |.E line_total=(1| 000242b0 32 38 31 2a 70 69 78 65 6c 2a 33 2b 6c 6f 6e 67 |281*pixel*3+long| 000242c0 2b 73 68 6f 72 74 2b 73 68 6f 72 74 29 2a 28 63 |+short+short)*(c| 000242d0 6c 6f 63 6b 5f 66 72 65 71 25 2f 32 30 30 30 30 |lock_freq%/20000| 000242e0 30 30 29 0d 12 f8 39 20 6c 69 6e 65 5f 65 72 72 |00)...9 line_err| 000242f0 6f 72 3d 6c 69 6e 65 5f 74 6f 74 61 6c 2d 6c 69 |or=line_total-li| 00024300 6e 65 5f 74 69 6d 65 3a 6c 6f 6e 67 3d 6c 6f 6e |ne_time:long=lon| 00024310 67 2b 6c 69 6e 65 5f 65 72 72 6f 72 0d 12 f9 1f |g+line_error....| 00024320 20 72 78 5f 70 61 72 61 6d 25 21 36 30 3d 32 35 | rx_param%!60=25| 00024330 35 20 20 3a f4 20 6c 69 6e 65 73 0d 12 fa 40 20 |5 :. lines...@ | 00024340 72 78 5f 70 61 72 61 6d 25 21 37 32 3d 31 32 38 |rx_param%!72=128| 00024350 30 20 3a f4 20 31 32 38 30 20 22 73 61 6d 70 6c |0 :. 1280 "sampl| 00024360 65 73 22 2c 20 65 61 63 68 20 31 20 69 73 20 61 |es", each 1 is a| 00024370 76 65 72 61 67 65 20 6f 66 20 34 0d 12 fb 4b 20 |verage of 4...K | 00024380 e7 20 73 63 72 65 65 6e 5f 6c 69 6e 65 73 25 3d |. screen_lines%=| 00024390 35 31 32 20 8c 20 72 78 5f 70 61 72 61 6d 25 21 |512 . rx_param%!| 000243a0 33 36 3d 73 63 72 65 65 6e 25 2b 32 35 36 30 20 |36=screen%+2560 | 000243b0 8b 20 72 78 5f 70 61 72 61 6d 25 21 33 36 3d 73 |. rx_param%!36=s| 000243c0 63 72 65 65 6e 25 0d 12 fc 14 20 72 78 5f 70 61 |creen%.... rx_pa| 000243d0 72 61 6d 25 21 31 30 30 3d 36 0d 12 fd 37 20 6c |ram%!100=6...7 l| 000243e0 6f 6e 67 25 3d 6c 6f 6e 67 2a 32 2d 2e 35 3a 73 |ong%=long*2-.5:s| 000243f0 68 6f 72 74 25 3d 73 68 6f 72 74 2a 32 2d 2e 35 |hort%=short*2-.5| 00024400 3a 70 69 78 65 6c 25 3d 70 69 78 65 6c 2a 32 2d |:pixel%=pixel*2-| 00024410 31 0d 12 fe 06 20 e1 0d 12 ff 04 0d 13 00 04 0d |1.... ..........| 00024420 13 01 17 20 dd 20 f2 72 78 5f 73 73 74 76 28 72 |... . .rx_sstv(r| 00024430 66 6c 61 67 25 29 0d 13 02 04 0d 13 03 11 20 e7 |flag%)........ .| 00024440 20 ac 20 72 66 6c 61 67 25 20 8c 0d 13 04 29 20 | . rflag% ....) | 00024450 e6 33 2c 32 35 35 2c 32 35 35 2c 32 35 35 3a c8 |.3,255,255,255:.| 00024460 93 20 c8 90 20 31 30 2a 36 34 2b 38 2c 36 2c 34 |. .. 10*64+8,6,4| 00024470 38 2c 34 36 0d 13 05 06 20 cd 0d 13 06 04 0d 13 |8,46.... .......| 00024480 07 09 20 4c 25 3d 30 0d 13 08 04 0d 13 09 13 20 |.. L%=0........ | 00024490 e7 20 61 75 74 6f 5f 66 69 6e 64 25 20 8c 0d 13 |. auto_find% ...| 000244a0 0a 15 20 20 f2 61 75 74 6f 5f 6d 6f 64 65 5f 66 |.. .auto_mode_f| 000244b0 69 6e 64 0d 13 0b 12 20 20 61 75 74 6f 5f 66 69 |ind.... auto_fi| 000244c0 6e 64 25 3d a3 0d 13 0c 06 20 cd 0d 13 0d 04 0d |nd%=..... ......| 000244d0 13 0e 2f 20 e7 20 4c 25 3d 31 20 84 20 4c 25 3d |../ . L%=1 . L%=| 000244e0 32 20 8c 20 f2 64 69 73 6d 69 6e 69 3a f2 77 61 |2 . .dismini:.wa| 000244f0 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 3a e1 0d 13 |it_no_button:...| 00024500 0f 31 20 f4 20 41 75 74 6f 2d 6d 6f 64 65 20 61 |.1 . Auto-mode a| 00024510 62 6f 72 74 65 64 20 28 4c 25 3d 31 29 20 6f 72 |borted (L%=1) or| 00024520 20 74 69 6d 65 6f 75 74 20 28 4c 25 3d 32 29 0d | timeout (L%=2).| 00024530 13 10 04 0d 13 11 4e 20 e7 20 6d 6f 64 65 25 3d |......N . mode%=| 00024540 37 30 20 84 20 6d 6f 64 65 25 3d 37 31 20 72 78 |70 . mode%=71 rx| 00024550 5f 70 61 72 61 6d 25 3d 68 71 5f 70 61 72 61 6d |_param%=hq_param| 00024560 65 74 65 72 73 25 20 8b 20 72 78 5f 70 61 72 61 |eters% . rx_para| 00024570 6d 25 3d 72 78 5f 70 61 72 61 6d 65 74 65 72 73 |m%=rx_parameters| 00024580 25 0d 13 12 27 20 f2 73 65 74 5f 72 78 5f 70 61 |%...' .set_rx_pa| 00024590 72 61 6d 65 74 65 72 73 3a 72 78 5f 70 61 72 61 |rameters:rx_para| 000245a0 6d 25 21 31 35 32 3d 30 0d 13 13 2d 20 e3 20 4e |m%!152=0...- . N| 000245b0 25 3d 30 20 b8 20 31 32 37 39 36 20 88 34 3a 67 |%=0 . 12796 .4:g| 000245c0 72 65 65 6e 5f 73 74 6f 72 65 25 21 4e 25 3d 33 |reen_store%!N%=3| 000245d0 34 34 30 3a ed 0d 13 14 04 0d 13 15 32 20 e7 20 |440:........2 . | 000245e0 6d 6f 64 65 25 3d 36 30 20 84 20 6d 6f 64 65 25 |mode%=60 . mode%| 000245f0 3d 36 31 20 84 20 6d 6f 64 65 25 3d 36 32 20 84 |=61 . mode%=62 .| 00024600 20 6d 6f 64 65 25 3d 36 34 20 8c 0d 13 16 10 20 | mode%=64 ..... | 00024610 20 e6 20 33 32 2c 33 32 2c 33 32 0d 13 17 13 20 | . 32,32,32.... | 00024620 20 20 e7 20 6d 6f 64 65 25 3d 36 32 20 8c 0d 13 | . mode%=62 ...| 00024630 18 1b 20 20 20 20 c8 93 20 c8 90 20 30 2c 30 2c |.. .. .. 0,0,| 00024640 31 32 38 30 2c 31 30 32 34 0d 13 19 08 20 20 20 |1280,1024.... | 00024650 cc 0d 13 1a 1b 20 20 20 20 c8 93 20 c8 90 20 30 |..... .. .. 0| 00024660 2c 39 38 38 2c 31 32 38 30 2c 36 34 0d 13 1b 08 |,988,1280,64....| 00024670 20 20 20 cd 0d 13 1c 06 20 cc 0d 13 1d 21 20 20 | ..... ....! | 00024680 e6 20 30 2c 30 2c 30 3a c8 93 20 c8 90 20 30 2c |. 0,0,0:.. .. 0,| 00024690 31 30 32 30 2c 31 32 38 30 2c 34 0d 13 1e 06 20 |1020,1280,4.... | 000246a0 cd 0d 13 1f 04 0d 13 20 1f 20 e7 20 6d 6f 64 65 |....... . . mode| 000246b0 25 3c 32 30 20 8c 20 f2 63 61 6c 5f 73 73 74 76 |%<20 . .cal_sstv| 000246c0 5f 6e 65 77 0d 13 21 2d 20 e7 20 6d 6f 64 65 25 |_new..!- . mode%| 000246d0 3e 31 39 20 80 20 6d 6f 64 65 25 3c 32 33 20 8c |>19 . mode%<23 .| 000246e0 20 f2 63 61 6c 5f 70 61 73 6f 6b 6f 6e 5f 6e 65 | .cal_pasokon_ne| 000246f0 77 0d 13 22 1e 20 e7 20 6d 6f 64 65 25 3e 39 39 |w..". . mode%>99| 00024700 20 8c 20 f2 63 61 6c 5f 66 61 78 5f 6e 65 77 0d | . .cal_fax_new.| 00024710 13 23 27 20 e7 20 6d 6f 64 65 25 3e 35 39 20 80 |.#' . mode%>59 .| 00024720 20 6d 6f 64 65 25 3c 36 37 20 8c 20 f2 63 61 6c | mode%<67 . .cal| 00024730 5f 70 64 5f 39 37 0d 13 24 24 20 e7 20 6d 6f 64 |_pd_97..$$ . mod| 00024740 65 25 3e 36 39 20 80 20 6d 6f 64 65 25 3c 38 30 |e%>69 . mode%<80| 00024750 20 8c 20 f2 63 61 6c 5f 68 71 0d 13 25 41 20 73 | . .cal_hq..%A s| 00024760 68 6f 72 74 32 25 3d 73 68 6f 72 74 25 2b 70 69 |hort2%=short%+pi| 00024770 78 65 6c 25 3a 6c 69 6e 65 73 25 3d 72 78 5f 70 |xel%:lines%=rx_p| 00024780 61 72 61 6d 25 21 36 30 3a 72 78 5f 70 61 72 61 |aram%!60:rx_para| 00024790 6d 25 21 36 38 3d 6d 6f 64 65 25 0d 13 26 36 20 |m%!68=mode%..&6 | 000247a0 72 78 5f 70 61 72 61 6d 25 21 30 3d 70 69 78 65 |rx_param%!0=pixe| 000247b0 6c 25 20 83 20 32 35 36 3a 72 78 5f 70 61 72 61 |l% . 256:rx_para| 000247c0 6d 25 21 34 3d 70 69 78 65 6c 25 20 81 20 32 35 |m%!4=pixel% . 25| 000247d0 36 0d 13 27 37 20 72 78 5f 70 61 72 61 6d 25 21 |6..'7 rx_param%!| 000247e0 38 3d 70 69 78 65 6c 25 20 83 20 32 35 36 3a 72 |8=pixel% . 256:r| 000247f0 78 5f 70 61 72 61 6d 25 21 31 32 3d 70 69 78 65 |x_param%!12=pixe| 00024800 6c 25 20 81 20 32 35 36 0d 13 28 3a 20 72 78 5f |l% . 256..(: rx_| 00024810 70 61 72 61 6d 25 21 31 36 3d 73 68 6f 72 74 32 |param%!16=short2| 00024820 25 20 83 20 32 35 36 3a 72 78 5f 70 61 72 61 6d |% . 256:rx_param| 00024830 25 21 32 30 3d 73 68 6f 72 74 32 25 20 81 20 32 |%!20=short2% . 2| 00024840 35 36 0d 13 29 36 20 72 78 5f 70 61 72 61 6d 25 |56..)6 rx_param%| 00024850 21 32 34 3d 6c 6f 6e 67 25 20 83 20 32 35 36 3a |!24=long% . 256:| 00024860 72 78 5f 70 61 72 61 6d 25 21 32 38 3d 6c 6f 6e |rx_param%!28=lon| 00024870 67 25 20 81 20 32 35 36 0d 13 2a 22 20 e7 20 6d |g% . 256..*" . m| 00024880 6f 64 65 25 3c 31 30 30 20 f2 74 75 6e 69 6e 67 |ode%<100 .tuning| 00024890 5f 69 6e 64 69 63 61 74 6f 72 0d 13 2b 3c 20 e7 |_indicator..+< .| 000248a0 20 6d 6f 64 65 25 3e 39 39 20 80 20 6d 62 6f 78 | mode%>99 . mbox| 000248b0 25 3d 31 30 20 8c 20 72 78 5f 70 61 72 61 6d 25 |%=10 . rx_param%| 000248c0 21 39 32 3d 31 20 8b 20 72 78 5f 70 61 72 61 6d |!92=1 . rx_param| 000248d0 25 21 39 32 3d 30 0d 13 2c 1f 20 72 78 5f 70 61 |%!92=0..,. rx_pa| 000248e0 72 61 6d 25 21 31 39 36 3d 73 65 72 69 61 6c 5f |ram%!196=serial_| 000248f0 62 61 73 65 25 0d 13 2d 06 20 f5 0d 13 2e 1b 20 |base%..-. ..... | 00024900 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 3a |.wait_no_button:| 00024910 4b 3d a6 28 31 29 0d 13 2f 31 20 f2 69 6e 74 65 |K=.(1)../1 .inte| 00024920 72 66 61 63 65 5f 6f 66 66 73 65 74 3a 72 78 5f |rface_offset:rx_| 00024930 70 61 72 61 6d 25 21 31 31 32 3d 49 6f 66 66 73 |param%!112=Ioffs| 00024940 65 74 25 20 81 20 32 0d 13 30 2a 20 72 78 5f 70 |et% . 2..0* rx_p| 00024950 61 72 61 6d 25 21 31 38 38 3d 74 75 6e 69 6e 67 |aram%!188=tuning| 00024960 5f 69 6e 64 69 63 61 74 6f 72 5f 74 61 62 6c 65 |_indicator_table| 00024970 25 0d 13 31 13 20 72 78 5f 70 61 72 61 6d 25 21 |%..1. rx_param%!| 00024980 36 34 3d 30 0d 13 32 35 20 e7 20 6d 6f 64 65 25 |64=0..25 . mode%| 00024990 3d 37 30 20 84 20 6d 6f 64 65 25 3d 37 31 20 d6 |=70 . mode%=71 .| 000249a0 20 68 71 5f 72 78 5f 63 6f 64 65 25 20 8b 20 d6 | hq_rx_code% . .| 000249b0 20 72 78 5f 63 6f 64 65 25 0d 13 33 18 20 e7 20 | rx_code%..3. . | 000249c0 72 78 5f 70 61 72 61 6d 25 21 36 34 3d 39 36 20 |rx_param%!64=96 | 000249d0 8c 0d 13 34 14 20 20 f4 20 39 36 20 3d 20 72 65 |...4. . 96 = re| 000249e0 2d 73 79 6e 63 0d 13 35 21 20 20 e7 20 6d 6f 64 |-sync..5! . mod| 000249f0 65 25 3e 39 39 20 8c 20 72 78 5f 70 61 72 61 6d |e%>99 . rx_param| 00024a00 25 21 39 32 3d 31 0d 13 36 1d 20 20 e7 20 6d 6f |%!92=1..6. . mo| 00024a10 64 65 25 3e 35 39 20 80 20 6d 6f 64 65 25 3c 38 |de%>59 . mode%<8| 00024a20 30 20 8c 0d 13 37 23 20 20 72 78 5f 70 61 72 61 |0 ...7# rx_para| 00024a30 6d 25 21 36 30 3d 28 72 78 5f 70 61 72 61 6d 25 |m%!60=(rx_param%| 00024a40 21 36 30 29 2d 32 0d 13 38 07 20 20 cc 0d 13 39 |!60)-2..8. ...9| 00024a50 23 20 20 72 78 5f 70 61 72 61 6d 25 21 36 30 3d |# rx_param%!60=| 00024a60 28 72 78 5f 70 61 72 61 6d 25 21 36 30 29 2d 31 |(rx_param%!60)-1| 00024a70 0d 13 3a 06 20 cd 0d 13 3b 06 20 cd 0d 13 3c 17 |..:. ...;. ...<.| 00024a80 20 fd 20 72 78 5f 70 61 72 61 6d 25 21 36 34 3c | . rx_param%!64<| 00024a90 3e 39 36 0d 13 3d 04 0d 13 3e 21 20 e7 20 6c 69 |>96..=...>! . li| 00024aa0 6e 65 73 25 2d 28 72 78 5f 70 61 72 61 6d 25 21 |nes%-(rx_param%!| 00024ab0 36 30 29 3e 31 32 20 8c 0d 13 3f 44 20 20 20 4e |60)>12 ...?D N| 00024ac0 25 3d 73 63 72 65 65 6e 5f 6c 69 6e 65 73 25 2a |%=screen_lines%*| 00024ad0 32 2d 31 2d 28 28 28 72 78 5f 70 61 72 61 6d 25 |2-1-(((rx_param%| 00024ae0 21 33 36 29 2d 73 63 72 65 65 6e 25 29 81 36 34 |!36)-screen%).64| 00024af0 30 29 3a e6 33 32 2c 33 32 2c 33 32 0d 13 40 10 |0):.32,32,32..@.| 00024b00 20 20 20 20 e7 20 4e 25 3e 30 20 8c 0d 13 41 28 | . N%>0 ...A(| 00024b10 20 20 20 20 20 e3 20 59 25 3d 30 20 b8 20 4e 25 | . Y%=0 . N%| 00024b20 20 88 32 3a 86 20 30 2c 59 25 2c 31 32 38 30 2c | .2:. 0,Y%,1280,| 00024b30 59 25 3a ed 0d 13 42 09 20 20 20 20 cd 0d 13 43 |Y%:...B. ...C| 00024b40 50 20 20 20 e7 20 6d 6f 64 65 25 3c 32 30 20 84 |P . mode%<20 .| 00024b50 20 6d 6f 64 65 25 3d 37 30 20 84 20 6d 6f 64 65 | mode%=70 . mode| 00024b60 25 3d 37 31 20 84 20 6d 6f 64 65 25 3d 36 33 20 |%=71 . mode%=63 | 00024b70 84 20 6d 6f 64 65 25 3d 36 35 20 21 73 63 72 65 |. mode%=65 !scre| 00024b80 65 6e 25 3d 26 38 30 30 30 38 30 30 30 0d 13 44 |en%=&80008000..D| 00024b90 06 20 cc 0d 13 45 16 20 20 20 f2 64 69 73 70 6c |. ...E. .displ| 00024ba0 61 79 5f 6d 65 6d 6f 72 79 0d 13 46 06 20 cd 0d |ay_memory..F. ..| 00024bb0 13 47 04 0d 13 48 25 20 e7 20 72 78 5f 70 61 72 |.G...H% . rx_par| 00024bc0 61 6d 25 21 31 36 34 3e 35 31 31 20 80 20 6d 6f |am%!164>511 . mo| 00024bd0 64 65 25 3e 39 39 20 8c 0d 13 49 40 20 53 25 3d |de%>99 ...I@ S%=| 00024be0 73 63 72 65 65 6e 25 3a 53 4c 25 3d 28 72 78 5f |screen%:SL%=(rx_| 00024bf0 70 61 72 61 6d 25 21 31 36 34 29 2d 35 31 31 3a |param%!164)-511:| 00024c00 73 63 72 65 65 6e 25 3d 73 63 72 65 65 6e 25 2b |screen%=screen%+| 00024c10 31 32 38 30 2a 53 4c 25 0d 13 4a 3b 20 f2 75 70 |1280*SL%..J; .up| 00024c20 6c 6f 61 64 5f 6d 65 6d 6f 72 79 3a 73 63 72 65 |load_memory:scre| 00024c30 65 6e 25 3d 53 25 3a 73 62 25 3d 72 78 5f 70 61 |en%=S%:sb%=rx_pa| 00024c40 72 61 6d 25 2b 31 35 36 3a 73 62 32 25 3d 73 62 |ram%+156:sb2%=sb| 00024c50 25 2b 34 0d 13 4b 41 20 21 73 62 25 3d 26 30 33 |%+4..KA !sb%=&03| 00024c60 30 30 30 30 30 30 3a 21 73 62 32 25 3d 30 3a c8 |000000:!sb2%=0:.| 00024c70 99 20 22 4f 53 5f 57 6f 72 64 22 2c 32 32 2c 73 |. "OS_Word",22,s| 00024c80 62 25 2b 33 3a f2 64 69 73 70 6c 61 79 5f 6d 65 |b%+3:.display_me| 00024c90 6d 6f 72 79 0d 13 4c 06 20 cd 0d 13 4d 04 0d 13 |mory..L. ...M...| 00024ca0 4e 26 20 e7 20 72 66 6c 61 67 25 20 f2 75 70 6c |N& . rflag% .upl| 00024cb0 6f 61 64 5f 6d 65 6d 6f 72 79 20 8b 20 f2 75 70 |oad_memory . .up| 00024cc0 6d 69 6e 69 0d 13 4f 18 20 ef 37 3a d6 20 72 65 |mini..O. .7:. re| 00024cd0 73 65 74 5f 74 30 5f 63 6f 64 65 25 0d 13 50 14 |set_t0_code%..P.| 00024ce0 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e | .wait_no_button| 00024cf0 0d 13 51 06 20 e1 0d 13 52 04 0d 13 53 18 20 dd |..Q. ...R...S. .| 00024d00 20 f2 74 75 6e 69 6e 67 5f 69 6e 64 69 63 61 74 | .tuning_indicat| 00024d10 6f 72 0d 13 54 22 20 f2 72 61 69 73 65 64 5f 62 |or..T" .raised_b| 00024d20 6c 6f 63 6b 28 34 32 36 2c 31 30 30 2c 34 33 34 |lock(426,100,434| 00024d30 2c 39 30 29 0d 13 55 0c 20 e6 20 30 2c 30 2c 30 |,90)..U. . 0,0,0| 00024d40 0d 13 56 2b 20 e3 20 4e 25 3d 34 38 30 20 b8 20 |..V+ . N%=480 . | 00024d50 38 30 30 20 88 34 30 3a c8 93 20 c8 90 20 4e 25 |800 .40:.. .. N%| 00024d60 2c 31 30 38 2c 32 2c 35 34 3a ed 0d 13 57 22 20 |,108,2,54:...W" | 00024d70 e6 20 30 2c 36 34 2c 33 32 3a c8 93 20 c8 90 20 |. 0,64,32:.. .. | 00024d80 36 33 36 2c 31 30 38 2c 31 30 2c 35 36 0d 13 58 |636,108,10,56..X| 00024d90 23 20 e6 20 30 2c 34 30 2c 39 36 3a c8 93 20 c8 |# . 0,40,96:.. .| 00024da0 90 20 34 36 36 2c 31 31 36 2c 33 35 30 2c 33 38 |. 466,116,350,38| 00024db0 0d 13 59 1c 20 f2 77 72 69 74 65 32 28 22 4c 6f |..Y. .write2("Lo| 00024dc0 22 2c 34 31 36 2c 31 31 38 2c 34 29 0d 13 5a 1c |",416,118,4)..Z.| 00024dd0 20 f2 77 72 69 74 65 32 28 22 48 69 22 2c 38 31 | .write2("Hi",81| 00024de0 32 2c 31 31 38 2c 34 29 0d 13 5b 3d 20 c8 99 20 |2,118,4)..[= .. | 00024df0 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 |sprswi%,256+52,s| 00024e00 70 62 25 2c 22 74 69 5f 73 63 61 6c 65 22 2c 34 |pb%,"ti_scale",4| 00024e10 35 38 2c 31 37 30 2c 38 2c 30 2c 74 72 61 6e 73 |58,170,8,0,trans| 00024e20 6c 61 74 65 25 0d 13 5c 06 20 e1 0d 13 5d 04 0d |late%..\. ...]..| 00024e30 13 5e 18 20 dd 20 f2 69 6e 74 65 72 66 61 63 65 |.^. . .interface| 00024e40 5f 6f 66 66 73 65 74 0d 13 5f 23 20 6f 66 66 73 |_offset.._# offs| 00024e50 65 74 5f 72 65 73 75 6c 74 25 21 31 36 3d 73 65 |et_result%!16=se| 00024e60 72 69 61 6c 5f 62 61 73 65 25 0d 13 60 13 20 d6 |rial_base%..`. .| 00024e70 20 6f 66 66 73 65 74 5f 63 6f 64 65 25 0d 13 61 | offset_code%..a| 00024e80 2d 20 74 31 3d 28 6f 66 66 73 65 74 5f 72 65 73 |- t1=(offset_res| 00024e90 75 6c 74 25 21 30 29 2f 28 6f 66 66 73 65 74 5f |ult%!0)/(offset_| 00024ea0 72 65 73 75 6c 74 25 21 34 29 0d 13 62 2e 20 74 |result%!4)..b. t| 00024eb0 32 3d 28 6f 66 66 73 65 74 5f 72 65 73 75 6c 74 |2=(offset_result| 00024ec0 25 21 38 29 2f 28 6f 66 66 73 65 74 5f 72 65 73 |%!8)/(offset_res| 00024ed0 75 6c 74 25 21 31 32 29 0d 13 63 0f 20 4e 25 3d |ult%!12)..c. N%=| 00024ee0 74 32 2d 74 31 2b 31 0d 13 64 2b 20 e7 20 94 28 |t2-t1+1..d+ . .(| 00024ef0 4e 25 29 3c 31 30 30 20 8c 20 49 6f 66 66 73 65 |N%)<100 . Ioffse| 00024f00 74 25 3d 28 49 6f 66 66 73 65 74 25 2b 4e 25 29 |t%=(Ioffset%+N%)| 00024f10 2f 32 0d 13 65 16 20 e7 20 63 61 6c 6c 24 3d 22 |/2..e. . call$="| 00024f20 47 34 49 4a 45 22 20 8c 0d 13 66 41 20 fb 36 33 |G4IJE" ...fA .63| 00024f30 3a f1 20 8a 32 33 2c 35 38 29 3b 22 4c 61 73 74 |:. .23,58);"Last| 00024f40 20 76 61 6c 75 65 3a 22 3b 4e 25 3b 22 20 20 52 | value:";N%;" R| 00024f50 75 6e 6e 69 6e 67 20 61 76 65 72 61 67 65 3a 22 |unning average:"| 00024f60 3b 49 6f 66 66 73 65 74 25 0d 13 67 06 20 cd 0d |;Ioffset%..g. ..| 00024f70 13 68 06 20 e1 0d 13 69 04 0d 13 6a 11 20 dd 20 |.h. ...i...j. . | 00024f80 f2 76 69 73 5f 73 74 61 72 74 0d 13 6b 29 20 e6 |.vis_start..k) .| 00024f90 33 2c 32 35 35 2c 32 35 35 2c 32 35 35 3a c8 93 |3,255,255,255:..| 00024fa0 20 c8 90 20 38 2a 36 34 2b 36 2c 38 2c 31 31 32 | .. 8*64+6,8,112| 00024fb0 2c 34 34 0d 13 6c 17 20 72 25 3d 36 34 3a 67 25 |,44..l. r%=64:g%| 00024fc0 3d 32 35 35 3a 62 25 3d 36 34 0d 13 6d 22 20 e6 |=255:b%=64..m" .| 00024fd0 20 72 25 2c 67 25 2c 62 25 3a c8 93 20 c8 90 20 | r%,g%,b%:.. .. | 00024fe0 36 31 32 2c 32 34 2c 31 30 2c 31 30 0d 13 6e 11 |612,24,10,10..n.| 00024ff0 20 e7 20 6d 6f 64 65 25 3e 39 39 20 8c 0d 13 6f | . mode%>99 ...o| 00025000 10 20 f2 72 78 5f 73 73 74 76 28 a3 29 0d 13 70 |. .rx_sstv(.)..p| 00025010 06 20 cc 0d 13 71 25 20 e6 20 31 39 36 2c 31 39 |. ...q% . 196,19| 00025020 36 2c 31 39 36 3a c8 93 20 c8 90 20 33 39 30 2c |6,196:.. .. 390,| 00025030 36 2c 31 31 32 2c 34 36 0d 13 72 10 20 76 69 73 |6,112,46..r. vis| 00025040 5f 71 75 69 74 25 3d 30 0d 13 73 30 20 76 69 73 |_quit%=0..s0 vis| 00025050 5f 70 61 72 61 6d 25 21 38 30 3d 30 20 3a 20 f4 |_param%!80=0 : .| 00025060 20 4e 6f 72 6d 61 6c 20 28 77 69 64 65 29 20 62 | Normal (wide) b| 00025070 61 6e 64 77 69 64 74 68 0d 13 74 1e 20 76 69 73 |andwidth..t. vis| 00025080 5f 70 61 72 61 6d 25 21 34 3d 73 65 72 69 61 6c |_param%!4=serial| 00025090 5f 62 61 73 65 25 0d 13 75 06 20 f5 0d 13 76 14 |_base%..u. ...v.| 000250a0 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e | .wait_no_button| 000250b0 0d 13 77 12 20 f5 3a d6 20 76 69 73 5f 63 6f 64 |..w. .:. vis_cod| 000250c0 65 25 0d 13 78 2c 20 67 25 3d 67 25 82 32 35 35 |e%..x, g%=g%.255| 000250d0 3a e6 20 72 25 2c 67 25 2c 62 25 3a c8 93 20 c8 |:. r%,g%,b%:.. .| 000250e0 90 20 36 31 32 2c 32 34 2c 31 30 2c 31 30 0d 13 |. 612,24,10,10..| 000250f0 79 17 20 fd 20 21 76 69 73 5f 70 61 72 61 6d 25 |y. . !vis_param%| 00025100 3c 3e 32 35 36 0d 13 7a 15 20 56 49 53 25 3d 21 |<>256..z. VIS%=!| 00025110 76 69 73 5f 70 61 72 61 6d 25 0d 13 7b 1f 20 f2 |vis_param%..{. .| 00025120 76 69 73 5f 63 6f 6e 76 65 72 74 5f 74 6f 5f 6d |vis_convert_to_m| 00025130 6f 64 65 28 56 49 53 25 29 0d 13 7c 12 20 e7 20 |ode(VIS%)..|. . | 00025140 67 6f 6f 64 5f 76 69 73 25 20 8c 0d 13 7d 22 20 |good_vis% ...}" | 00025150 e6 20 32 35 35 2c 36 34 2c 30 3a c8 93 20 c8 90 |. 255,64,0:.. ..| 00025160 20 36 31 32 2c 32 34 2c 31 30 2c 31 30 0d 13 7e | 612,24,10,10..~| 00025170 2d 20 ef 35 3a e6 30 20 c8 9c 30 3a ec 34 30 30 |- .5:.0 ..0:.400| 00025180 2c 33 36 3a f1 20 6d 6f 64 65 24 28 6d 6f 64 65 |,36:. mode$(mode| 00025190 25 29 3a ef 34 3a 87 3a c8 96 0d 13 7f 1c 20 f2 |%):.4:.:...... .| 000251a0 72 78 5f 73 73 74 76 28 a3 29 3a 76 69 73 5f 71 |rx_sstv(.):vis_q| 000251b0 75 69 74 25 3d b9 0d 13 80 06 20 cd 0d 13 81 34 |uit%=..... ....4| 000251c0 20 e7 20 56 49 53 25 3d 33 32 30 20 8c 20 61 75 | . VIS%=320 . au| 000251d0 74 6f 5f 73 61 76 65 25 3d 30 3a f2 6d 69 6e 69 |to_save%=0:.mini| 000251e0 5f 70 61 64 3a 76 69 73 5f 71 75 69 74 25 3d b9 |_pad:vis_quit%=.| 000251f0 0d 13 82 10 20 fd 20 76 69 73 5f 71 75 69 74 25 |.... . vis_quit%| 00025200 0d 13 83 06 20 cd 0d 13 84 06 20 e1 0d 13 85 04 |.... ..... .....| 00025210 0d 13 86 18 20 dd 20 f2 74 78 5f 74 65 73 74 5f |.... . .tx_test_| 00025220 74 6f 6e 65 28 66 25 29 0d 13 87 18 20 e7 20 58 |tone(f%).... . X| 00025230 34 25 20 8c 20 4d 25 3d 34 20 8b 20 4d 25 3d 31 |4% . M%=4 . M%=1| 00025240 0d 13 88 25 20 63 25 3d a8 28 31 2f 28 66 25 2a |...% c%=.(1/(f%*| 00025250 4d 25 29 2f 32 2a 31 30 30 30 30 30 30 2a 32 2d |M%)/2*1000000*2-| 00025260 31 2b 2e 35 29 0d 13 89 32 20 76 69 73 5f 70 61 |1+.5)...2 vis_pa| 00025270 72 61 6d 25 21 35 36 3d 63 25 20 83 20 32 35 36 |ram%!56=c% . 256| 00025280 3a 76 69 73 5f 70 61 72 61 6d 25 21 36 30 3d 63 |:vis_param%!60=c| 00025290 25 20 81 20 32 35 36 0d 13 8a 30 20 76 69 73 5f |% . 256...0 vis_| 000252a0 70 61 72 61 6d 25 21 38 30 3d 30 20 3a 20 f4 20 |param%!80=0 : . | 000252b0 6e 6f 72 6d 61 6c 20 56 49 53 20 2f 20 74 65 73 |normal VIS / tes| 000252c0 74 20 74 6f 6e 65 73 0d 13 8b 1e 20 76 69 73 5f |t tones.... vis_| 000252d0 70 61 72 61 6d 25 21 34 3d 73 65 72 69 61 6c 5f |param%!4=serial_| 000252e0 62 61 73 65 25 0d 13 8c 32 20 f2 77 61 69 74 5f |base%...2 .wait_| 000252f0 6e 6f 5f 62 75 74 74 6f 6e 3a f2 72 61 69 73 65 |no_button:.raise| 00025300 64 5f 62 6c 6f 63 6b 28 38 34 32 2c 39 30 2c 32 |d_block(842,90,2| 00025310 30 38 2c 36 34 30 29 0d 13 8d 25 20 e6 20 32 35 |08,640)...% . 25| 00025320 35 2c 32 35 35 2c 30 3a c8 93 20 c8 90 20 38 35 |5,255,0:.. .. 85| 00025330 30 2c 35 35 30 2c 31 38 36 2c 39 34 0d 13 8e 21 |0,550,186,94...!| 00025340 20 f2 77 72 69 74 65 32 28 22 53 65 6e 64 69 6e | .write2("Sendin| 00025350 67 22 2c 38 37 34 2c 36 30 30 2c 34 29 0d 13 8f |g",874,600,4)...| 00025360 22 20 f2 77 72 69 74 65 32 28 c3 20 66 25 2b 22 |" .write2(. f%+"| 00025370 20 48 7a 22 2c 38 37 34 2c 35 36 30 2c 34 29 0d | Hz",874,560,4).| 00025380 13 90 22 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 |.." .raised_bloc| 00025390 6b 28 38 37 30 2c 32 30 30 2c 31 35 30 2c 34 30 |k(870,200,150,40| 000253a0 29 0d 13 91 20 20 f2 77 72 69 74 65 32 28 22 43 |)... .write2("C| 000253b0 61 6e 63 65 6c 22 2c 38 38 34 2c 32 30 34 2c 34 |ancel",884,204,4| 000253c0 29 0d 13 92 14 20 c8 97 20 b8 20 39 39 30 2c 32 |).... .. . 990,2| 000253d0 31 36 3a c8 96 0d 13 93 1e 20 d6 20 76 69 73 5f |16:...... . vis_| 000253e0 63 6f 64 65 25 2b 28 76 69 73 5f 63 6f 64 65 25 |code%+(vis_code%| 000253f0 21 38 29 0d 13 94 23 20 f2 77 61 69 74 5f 6e 6f |!8)...# .wait_no| 00025400 5f 62 75 74 74 6f 6e 3a 6d 65 6e 75 5f 72 65 64 |_button:menu_red| 00025410 72 61 77 25 3d b9 0d 13 95 06 20 e1 0d 13 96 04 |raw%=..... .....| 00025420 0d 13 97 18 20 dd 20 f2 75 70 64 61 74 65 5f 72 |.... . .update_r| 00025430 74 63 28 75 70 64 25 29 0d 13 98 13 20 3f 72 74 |tc(upd%).... ?rt| 00025440 63 5f 62 75 66 66 65 72 25 3d 31 0d 13 99 27 20 |c_buffer%=1...' | 00025450 c8 99 20 22 49 49 43 5f 43 6f 6e 74 72 6f 6c 22 |.. "IIC_Control"| 00025460 2c 26 41 30 2c 72 74 63 5f 62 75 66 66 65 72 25 |,&A0,rtc_buffer%| 00025470 2c 31 0d 13 9a 27 20 c8 99 20 22 49 49 43 5f 43 |,1...' .. "IIC_C| 00025480 6f 6e 74 72 6f 6c 22 2c 26 41 31 2c 72 74 63 5f |ontrol",&A1,rtc_| 00025490 62 75 66 66 65 72 25 2c 36 0d 13 9b 20 20 53 24 |buffer%,6... S$| 000254a0 3d c3 7e 72 74 63 5f 62 75 66 66 65 72 25 3f 31 |=.~rtc_buffer%?1| 000254b0 3a 73 25 3d bb 28 53 24 29 0d 13 9c 1d 20 e7 20 |:s%=.(S$).... . | 000254c0 73 25 3c 33 30 20 8c 20 73 25 2b 3d 31 3a 53 24 |s%<30 . s%+=1:S$| 000254d0 3d c3 28 73 25 29 0d 13 9d 19 20 e7 20 a9 20 53 |=.(s%).... . . S| 000254e0 24 3c 32 20 8c 20 53 24 3d 22 30 22 2b 53 24 0d |$<2 . S$="0"+S$.| 000254f0 13 9e 2c 20 4d 24 3d c3 7e 72 74 63 5f 62 75 66 |.., M$=.~rtc_buf| 00025500 66 65 72 25 3f 32 3a e7 20 a9 20 4d 24 3c 32 20 |fer%?2:. . M$<2 | 00025510 8c 20 4d 24 3d 22 30 22 2b 4d 24 0d 13 9f 38 20 |. M$="0"+M$...8 | 00025520 68 25 3d 72 74 63 5f 62 75 66 66 65 72 25 3f 33 |h%=rtc_buffer%?3| 00025530 3a e7 20 62 73 74 5f 66 6c 61 67 25 20 8c 20 68 |:. bst_flag% . h| 00025540 25 2b 3d 31 3a e7 20 68 25 3d 32 34 20 8c 20 68 |%+=1:. h%=24 . h| 00025550 25 3d 30 0d 13 a0 21 20 48 24 3d c3 7e 68 25 3a |%=0...! H$=.~h%:| 00025560 e7 20 a9 20 48 24 3c 32 20 8c 20 48 24 3d 22 30 |. . H$<2 . H$="0| 00025570 22 2b 48 24 0d 13 a1 16 20 e7 20 48 24 3e 3d c1 |"+H$.... . H$>=.| 00025580 91 24 2c 31 37 2c 32 29 20 8c 0d 13 a2 35 20 3f |.$,17,2) ....5 ?| 00025590 72 74 63 5f 62 75 66 66 65 72 25 3d 38 3a 24 28 |rtc_buffer%=8:$(| 000255a0 72 74 63 5f 62 75 66 66 65 72 25 2b 31 29 3d 48 |rtc_buffer%+1)=H| 000255b0 24 2b 22 3a 22 2b 4d 24 2b 22 3a 22 2b 53 24 0d |$+":"+M$+":"+S$.| 000255c0 13 a3 27 20 e7 20 75 70 64 25 20 c8 99 20 22 4f |..' . upd% .. "O| 000255d0 53 5f 57 6f 72 64 22 2c 31 35 2c 72 74 63 5f 62 |S_Word",15,rtc_b| 000255e0 75 66 66 65 72 25 0d 13 a4 06 20 cd 0d 13 a5 06 |uffer%.... .....| 000255f0 20 e1 0d 13 a6 04 0d 13 a7 15 20 dd 20 f2 63 68 | ......... . .ch| 00025600 65 63 6b 5f 66 6f 72 5f 62 73 74 0d 13 a8 13 20 |eck_for_bst.... | 00025610 3f 72 74 63 5f 62 75 66 66 65 72 25 3d 31 0d 13 |?rtc_buffer%=1..| 00025620 a9 27 20 c8 99 20 22 49 49 43 5f 43 6f 6e 74 72 |.' .. "IIC_Contr| 00025630 6f 6c 22 2c 26 41 30 2c 72 74 63 5f 62 75 66 66 |ol",&A0,rtc_buff| 00025640 65 72 25 2c 31 0d 13 aa 27 20 c8 99 20 22 49 49 |er%,1...' .. "II| 00025650 43 5f 43 6f 6e 74 72 6f 6c 22 2c 26 41 31 2c 72 |C_Control",&A1,r| 00025660 74 63 5f 62 75 66 66 65 72 25 2c 36 0d 13 ab 2c |tc_buffer%,6...,| 00025670 20 48 24 3d c3 7e 72 74 63 5f 62 75 66 66 65 72 | H$=.~rtc_buffer| 00025680 25 3f 33 3a e7 20 a9 20 48 24 3c 32 20 8c 20 48 |%?3:. . H$<2 . H| 00025690 24 3d 22 30 22 2b 48 24 0d 13 ac 36 20 54 24 3d |$="0"+H$...6 T$=| 000256a0 c1 91 24 2c 31 37 2c 32 29 3a e7 20 48 24 3c 3e |..$,17,2):. H$<>| 000256b0 54 24 20 8c 20 62 73 74 5f 66 6c 61 67 25 3d b9 |T$ . bst_flag%=.| 000256c0 20 8b 20 62 73 74 5f 66 6c 61 67 25 3d 30 0d 13 | . bst_flag%=0..| 000256d0 ad 06 20 e1 0d 13 ae 04 0d 13 af 11 20 dd 20 f2 |.. ......... . .| 000256e0 61 75 74 6f 5f 73 61 76 65 0d 13 b0 06 20 f5 0d |auto_save.... ..| 000256f0 13 b1 28 20 e6 20 31 32 38 2b 32 31 20 c8 9c 30 |..( . 128+21 ..0| 00025700 3a db 3a f2 6d 69 6e 69 5f 70 61 64 3a f2 76 69 |:.:.mini_pad:.vi| 00025710 73 5f 73 74 61 72 74 0d 13 b2 12 20 e7 20 56 49 |s_start.... . VI| 00025720 53 25 3c 3e 33 32 30 20 8c 0d 13 b3 13 20 3f 72 |S%<>320 ..... ?r| 00025730 74 63 5f 62 75 66 66 65 72 25 3d 31 0d 13 b4 27 |tc_buffer%=1...'| 00025740 20 c8 99 20 22 49 49 43 5f 43 6f 6e 74 72 6f 6c | .. "IIC_Control| 00025750 22 2c 26 41 30 2c 72 74 63 5f 62 75 66 66 65 72 |",&A0,rtc_buffer| 00025760 25 2c 31 0d 13 b5 27 20 c8 99 20 22 49 49 43 5f |%,1...' .. "IIC_| 00025770 43 6f 6e 74 72 6f 6c 22 2c 26 41 31 2c 72 74 63 |Control",&A1,rtc| 00025780 5f 62 75 66 66 65 72 25 2c 36 0d 13 b6 2c 20 4d |_buffer%,6..., M| 00025790 24 3d c3 7e 72 74 63 5f 62 75 66 66 65 72 25 3f |$=.~rtc_buffer%?| 000257a0 32 3a e7 20 a9 20 4d 24 3c 32 20 8c 20 4d 24 3d |2:. . M$<2 . M$=| 000257b0 22 30 22 2b 4d 24 0d 13 b7 2c 20 48 24 3d c3 7e |"0"+M$..., H$=.~| 000257c0 72 74 63 5f 62 75 66 66 65 72 25 3f 33 3a e7 20 |rtc_buffer%?3:. | 000257d0 a9 20 48 24 3c 32 20 8c 20 48 24 3d 22 30 22 2b |. H$<2 . H$="0"+| 000257e0 48 24 0d 13 b8 23 20 46 24 3d c1 91 24 2c 38 2c |H$...# F$=..$,8,| 000257f0 33 29 2b c1 91 24 2c 35 2c 32 29 2b 22 2d 22 2b |3)+..$,5,2)+"-"+| 00025800 48 24 2b 4d 24 0d 13 b9 34 20 73 61 76 65 5f 74 |H$+M$...4 save_t| 00025810 79 70 65 24 3d 22 6a 70 65 67 31 22 3a f2 73 61 |ype$="jpeg1":.sa| 00025820 76 65 5f 6a 70 65 67 28 61 75 74 6f 5f 64 69 72 |ve_jpeg(auto_dir| 00025830 24 2b 22 2e 22 2b 46 24 29 0d 13 ba 1f 20 61 75 |$+"."+F$).... au| 00025840 74 6f 5f 63 6f 75 6e 74 25 2b 3d 31 3a 4d 45 4d |to_count%+=1:MEM| 00025850 25 3d 4d 45 4d 25 2b 31 0d 13 bb 1e 20 e7 20 4d |%=MEM%+1.... . M| 00025860 45 4d 25 3d 6d 65 6d 6f 72 69 65 73 25 20 8c 20 |EM%=memories% . | 00025870 4d 45 4d 25 3d 30 0d 13 bc 06 20 cd 0d 13 bd 0f |MEM%=0.... .....| 00025880 20 fd 20 56 49 53 25 3d 33 32 30 0d 13 be 06 20 | . VIS%=320.... | 00025890 e1 0d 13 bf 04 0d 13 c0 19 20 dd 20 f2 77 61 76 |......... . .wav| 000258a0 65 66 6f 72 6d 5f 61 73 73 65 6d 62 6c 65 0d 13 |eform_assemble..| 000258b0 c1 19 20 de 20 77 61 76 65 66 6f 72 6d 5f 63 6f |.. . waveform_co| 000258c0 64 65 25 20 34 30 30 0d 13 c2 11 20 e3 20 50 3d |de% 400.... . P=| 000258d0 30 20 b8 20 32 20 88 32 0d 13 c3 16 20 50 25 3d |0 . 2 .2.... P%=| 000258e0 77 61 76 65 66 6f 72 6d 5f 63 6f 64 65 25 0d 13 |waveform_code%..| 000258f0 c4 27 20 62 61 73 65 31 3d 33 3a 64 61 74 61 3d |.' base1=3:data=| 00025900 34 3a 6f 66 66 73 65 74 31 3d 35 3a 6f 66 66 73 |4:offset1=5:offs| 00025910 65 74 32 3d 36 0d 13 c5 25 20 69 6e 63 72 65 6d |et2=6...% increm| 00025920 65 6e 74 3d 37 3a 6c 69 6e 65 73 3d 38 3a 77 61 |ent=7:lines=8:wa| 00025930 76 65 5f 6c 69 6d 69 74 3d 39 0d 13 c6 14 20 62 |ve_limit=9.... b| 00025940 61 73 65 32 3d 31 30 3a 72 67 62 3d 31 31 0d 13 |ase2=10:rgb=11..| 00025950 c7 0b 20 5b 4f 50 54 20 50 0d 13 c8 3b 20 4c 44 |.. [OPT P...; LD| 00025960 52 20 62 61 73 65 31 2c 77 61 76 65 66 6f 72 6d |R base1,waveform| 00025970 5f 73 6f 75 72 63 65 3a 4c 44 52 20 62 61 73 65 |_source:LDR base| 00025980 32 2c 77 61 76 65 66 6f 72 6d 5f 70 6c 6f 74 5f |2,waveform_plot_| 00025990 62 61 73 65 0d 13 c9 41 20 4c 44 52 20 69 6e 63 |base...A LDR inc| 000259a0 72 65 6d 65 6e 74 2c 77 61 76 65 66 6f 72 6d 5f |rement,waveform_| 000259b0 69 6e 63 72 65 6d 65 6e 74 3a 4d 4f 56 20 52 31 |increment:MOV R1| 000259c0 2c 23 31 32 38 30 3a 4d 4f 56 20 6c 69 6e 65 73 |,#1280:MOV lines| 000259d0 2c 23 32 35 36 0d 13 ca 40 20 4d 4f 56 20 6f 66 |,#256...@ MOV of| 000259e0 66 73 65 74 31 2c 23 30 3a 4d 4f 56 20 6f 66 66 |fset1,#0:MOV off| 000259f0 73 65 74 32 2c 23 30 3a 4c 44 52 20 77 61 76 65 |set2,#0:LDR wave| 00025a00 5f 6c 69 6d 69 74 2c 77 61 76 65 66 6f 72 6d 5f |_limit,waveform_| 00025a10 6c 69 6d 69 74 0d 13 cb 19 20 4c 44 52 20 72 67 |limit.... LDR rg| 00025a20 62 2c 77 61 76 65 66 6f 72 6d 5f 72 67 62 0d 13 |b,waveform_rgb..| 00025a30 cc 0f 20 2e 77 61 76 65 5f 6c 6f 6f 70 0d 13 cd |.. .wave_loop...| 00025a40 21 20 4c 44 52 20 62 61 73 65 32 2c 77 61 76 65 |! LDR base2,wave| 00025a50 66 6f 72 6d 5f 70 6c 6f 74 5f 62 61 73 65 0d 13 |form_plot_base..| 00025a60 ce 1d 20 4c 44 52 20 64 61 74 61 2c 5b 62 61 73 |.. LDR data,[bas| 00025a70 65 31 2c 6f 66 66 73 65 74 31 5d 0d 13 cf 22 20 |e1,offset1]..." | 00025a80 43 4d 50 20 72 67 62 2c 23 32 3a ec 51 20 64 61 |CMP rgb,#2:.Q da| 00025a90 74 61 2c 64 61 74 61 2c 4c 53 52 23 35 0d 13 d0 |ta,data,LSR#5...| 00025aa0 23 20 43 4d 50 20 72 67 62 2c 23 33 3a ec 51 20 |# CMP rgb,#3:.Q | 00025ab0 64 61 74 61 2c 64 61 74 61 2c 4c 53 52 23 31 30 |data,data,LSR#10| 00025ac0 0d 13 d1 12 20 80 20 52 30 2c 64 61 74 61 2c 23 |.... . R0,data,#| 00025ad0 33 31 0d 13 d2 29 20 4d 4f 56 20 64 61 74 61 2c |31...) MOV data,| 00025ae0 64 61 74 61 2c 4c 53 52 23 31 36 3a 80 20 64 61 |data,LSR#16:. da| 00025af0 74 61 2c 64 61 74 61 2c 23 33 31 0d 13 d3 23 20 |ta,data,#31...# | 00025b00 41 44 44 20 52 30 2c 64 61 74 61 2c 52 30 3a 4d |ADD R0,data,R0:M| 00025b10 4f 56 20 52 30 2c 52 30 2c 4c 53 4c 23 31 0d 13 |OV R0,R0,LSL#1..| 00025b20 d4 13 20 4d 55 4c 20 64 61 74 61 2c 52 30 2c 52 |.. MUL data,R0,R| 00025b30 31 0d 13 d5 18 20 53 55 42 20 64 61 74 61 2c 62 |1.... SUB data,b| 00025b40 61 73 65 32 2c 64 61 74 61 0d 13 d6 1a 20 4c 44 |ase2,data.... LD| 00025b50 52 20 52 30 2c 5b 64 61 74 61 2c 6f 66 66 73 65 |R R0,[data,offse| 00025b60 74 32 5d 0d 13 d7 16 20 43 4d 50 20 52 30 2c 77 |t2].... CMP R0,w| 00025b70 61 76 65 5f 6c 69 6d 69 74 0d 13 d8 30 20 41 44 |ave_limit...0 AD| 00025b80 44 4e 45 20 52 30 2c 52 30 2c 69 6e 63 72 65 6d |DNE R0,R0,increm| 00025b90 65 6e 74 3a 53 54 52 20 52 30 2c 5b 64 61 74 61 |ent:STR R0,[data| 00025ba0 2c 6f 66 66 73 65 74 32 5d 0d 13 d9 2e 20 41 44 |,offset2].... AD| 00025bb0 44 20 64 61 74 61 2c 64 61 74 61 2c 23 31 32 38 |D data,data,#128| 00025bc0 30 3a 53 54 52 20 52 30 2c 5b 64 61 74 61 2c 6f |0:STR R0,[data,o| 00025bd0 66 66 73 65 74 32 5d 0d 13 da 33 20 41 44 44 20 |ffset2]...3 ADD | 00025be0 6f 66 66 73 65 74 31 2c 6f 66 66 73 65 74 31 2c |offset1,offset1,| 00025bf0 23 31 36 3a 41 44 44 20 6f 66 66 73 65 74 32 2c |#16:ADD offset2,| 00025c00 6f 66 66 73 65 74 32 2c 23 34 0d 13 db 23 20 43 |offset2,#4...# C| 00025c10 4d 50 20 6f 66 66 73 65 74 32 2c 23 33 32 30 3a |MP offset2,#320:| 00025c20 42 4e 45 20 77 61 76 65 5f 6c 6f 6f 70 0d 13 dc |BNE wave_loop...| 00025c30 22 20 4d 4f 56 20 6f 66 66 73 65 74 31 2c 23 30 |" MOV offset1,#0| 00025c40 3a 4d 4f 56 20 6f 66 66 73 65 74 32 2c 23 30 0d |:MOV offset2,#0.| 00025c50 13 dd 3c 20 41 44 44 20 62 61 73 65 31 2c 62 61 |..< ADD base1,ba| 00025c60 73 65 31 2c 23 32 35 36 30 3a 53 55 42 53 20 6c |se1,#2560:SUBS l| 00025c70 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 3a 42 4e |ines,lines,#1:BN| 00025c80 45 20 77 61 76 65 5f 6c 6f 6f 70 0d 13 de 04 0d |E wave_loop.....| 00025c90 13 df 0f 20 2e 77 61 76 65 5f 65 78 69 74 0d 13 |... .wave_exit..| 00025ca0 e0 0f 20 4d 4f 56 20 50 43 2c 52 31 34 0d 13 e1 |.. MOV PC,R14...| 00025cb0 04 0d 13 e2 1f 20 2e 77 61 76 65 66 6f 72 6d 5f |..... .waveform_| 00025cc0 73 6f 75 72 63 65 20 20 20 20 45 51 55 44 20 30 |source EQUD 0| 00025cd0 0d 13 e3 1f 20 2e 77 61 76 65 66 6f 72 6d 5f 70 |.... .waveform_p| 00025ce0 6c 6f 74 5f 62 61 73 65 20 45 51 55 44 20 30 0d |lot_base EQUD 0.| 00025cf0 13 e4 27 20 2e 77 61 76 65 66 6f 72 6d 5f 69 6e |..' .waveform_in| 00025d00 63 72 65 6d 65 6e 74 20 45 51 55 44 20 26 30 30 |crement EQUD &00| 00025d10 32 30 30 30 32 30 0d 13 e5 27 20 2e 77 61 76 65 |200020...' .wave| 00025d20 66 6f 72 6d 5f 6c 69 6d 69 74 20 20 20 20 20 45 |form_limit E| 00025d30 51 55 44 20 26 30 33 45 30 30 33 45 30 0d 13 e6 |QUD &03E003E0...| 00025d40 1f 20 2e 77 61 76 65 66 6f 72 6d 5f 72 67 62 20 |. .waveform_rgb | 00025d50 20 20 20 20 20 20 45 51 55 44 20 30 0d 13 e7 04 | EQUD 0....| 00025d60 0d 13 e8 06 20 5d 0d 13 e9 06 20 ed 0d 13 ea 06 |.... ].... .....| 00025d70 20 e1 0d 13 eb 04 0d 13 ec 18 20 dd 20 f2 77 61 | ......... . .wa| 00025d80 76 65 66 6f 72 6d 5f 6d 6f 6e 69 74 6f 72 0d 13 |veform_monitor..| 00025d90 ed 0c 20 65 78 69 74 25 3d 30 0d 13 ee 06 20 f5 |.. exit%=0.... .| 00025da0 0d 13 ef 14 20 f2 64 69 73 70 6c 61 79 5f 6d 65 |.... .display_me| 00025db0 6d 6f 72 79 0d 13 f0 22 20 e6 20 36 34 2c 36 34 |mory..." . 64,64| 00025dc0 2c 36 34 3a c8 93 20 c8 90 20 30 2c 30 2c 31 32 |,64:.. .. 0,0,12| 00025dd0 38 30 2c 33 32 30 0d 13 f1 23 20 e6 20 31 32 38 |80,320...# . 128| 00025de0 2c 31 32 38 2c 31 32 38 3a 86 20 30 2c 33 32 30 |,128,128:. 0,320| 00025df0 2c 31 32 38 30 2c 33 32 30 0d 13 f2 0c 20 e6 20 |,1280,320.... . | 00025e00 30 2c 30 2c 30 0d 13 f3 18 20 c8 93 20 c8 90 20 |0,0,0.... .. .. | 00025e10 32 30 2c 31 34 2c 33 31 38 2c 32 35 34 0d 13 f4 |20,14,318,254...| 00025e20 19 20 c8 93 20 c8 90 20 33 34 38 2c 31 34 2c 33 |. .. .. 348,14,3| 00025e30 31 38 2c 32 35 34 0d 13 f5 19 20 c8 93 20 c8 90 |18,254.... .. ..| 00025e40 20 36 37 36 2c 31 34 2c 33 31 38 2c 32 35 34 0d | 676,14,318,254.| 00025e50 13 f6 2c 20 f2 72 61 69 73 65 64 5f 62 6c 6f 63 |.., .raised_bloc| 00025e60 6b 28 31 30 36 30 2c 32 30 2c 31 36 30 2c 35 30 |k(1060,20,160,50| 00025e70 29 20 3a f4 20 43 61 6e 63 65 6c 0d 13 f7 2c 20 |) :. Cancel..., | 00025e80 f2 72 61 69 73 65 64 5f 62 6c 6f 63 6b 28 31 30 |.raised_block(10| 00025e90 36 30 2c 31 30 30 2c 31 36 30 2c 35 30 29 3a f4 |60,100,160,50):.| 00025ea0 20 55 70 6c 6f 61 64 0d 13 f8 20 20 f2 77 72 69 | Upload... .wri| 00025eb0 74 65 32 28 22 43 61 6e 63 65 6c 22 2c 31 30 38 |te2("Cancel",108| 00025ec0 30 2c 32 38 2c 34 29 0d 13 f9 21 20 f2 77 72 69 |0,28,4)...! .wri| 00025ed0 74 65 32 28 22 55 70 6c 6f 61 64 22 2c 31 30 38 |te2("Upload",108| 00025ee0 30 2c 31 30 38 2c 34 29 0d 13 fa 1d 20 f2 77 72 |0,108,4).... .wr| 00025ef0 69 74 65 32 28 22 52 45 44 22 2c 31 34 34 2c 32 |ite2("RED",144,2| 00025f00 37 34 2c 31 29 0d 13 fb 1f 20 f2 77 72 69 74 65 |74,1).... .write| 00025f10 32 28 22 47 52 45 45 4e 22 2c 34 35 38 2c 32 37 |2("GREEN",458,27| 00025f20 34 2c 31 29 0d 13 fc 1e 20 f2 77 72 69 74 65 32 |4,1).... .write2| 00025f30 28 22 42 4c 55 45 22 2c 37 39 34 2c 32 37 34 2c |("BLUE",794,274,| 00025f40 31 29 0d 13 fd 04 0d 13 fe 09 20 6d 25 3d 31 0d |1)........ m%=1.| 00025f50 13 ff 1a 20 e3 20 58 25 3d 31 30 33 30 20 b8 20 |... . X%=1030 . | 00025f60 31 32 31 30 20 88 20 36 30 0d 14 00 39 20 f2 72 |1210 . 60...9 .r| 00025f70 61 69 73 65 64 5f 62 6c 6f 63 6b 28 58 25 2c 32 |aised_block(X%,2| 00025f80 35 30 2c 34 30 2c 34 30 29 3a f2 77 72 69 74 65 |50,40,40):.write| 00025f90 32 28 c3 20 6d 25 2c 58 25 2d 32 2c 32 35 34 2c |2(. m%,X%-2,254,| 00025fa0 34 29 0d 14 01 3c 20 f2 72 61 69 73 65 64 5f 62 |4)...< .raised_b| 00025fb0 6c 6f 63 6b 28 58 25 2c 31 39 30 2c 34 30 2c 34 |lock(X%,190,40,4| 00025fc0 30 29 3a f2 77 72 69 74 65 32 28 c3 28 6d 25 2b |0):.write2(.(m%+| 00025fd0 34 29 2c 58 25 2d 32 2c 31 39 34 2c 34 29 0d 14 |4),X%-2,194,4)..| 00025fe0 02 0c 20 6d 25 2b 3d 31 3a ed 0d 14 03 04 0d 14 |.. m%+=1:.......| 00025ff0 04 11 20 e6 20 33 2c 36 33 20 c8 9c 31 39 32 0d |.. . 3,63 ..192.| 00026000 14 05 0e 20 c8 8e 20 4d 45 4d 25 20 ca 0d 14 06 |... .. MEM% ....| 00026010 1d 20 c9 20 30 3a c8 93 20 c8 90 20 31 30 32 36 |. . 0:.. .. 1026| 00026020 2c 32 34 36 2c 34 36 2c 34 38 0d 14 07 1d 20 c9 |,246,46,48.... .| 00026030 20 31 3a c8 93 20 c8 90 20 31 30 38 36 2c 32 34 | 1:.. .. 1086,24| 00026040 36 2c 34 36 2c 34 38 0d 14 08 1d 20 c9 20 32 3a |6,46,48.... . 2:| 00026050 c8 93 20 c8 90 20 31 31 34 36 2c 32 34 36 2c 34 |.. .. 1146,246,4| 00026060 36 2c 34 38 0d 14 09 1d 20 c9 20 33 3a c8 93 20 |6,48.... . 3:.. | 00026070 c8 90 20 31 32 30 36 2c 32 34 36 2c 34 36 2c 34 |.. 1206,246,46,4| 00026080 38 0d 14 0a 1d 20 c9 20 34 3a c8 93 20 c8 90 20 |8.... . 4:.. .. | 00026090 31 30 32 36 2c 31 38 36 2c 34 36 2c 34 38 0d 14 |1026,186,46,48..| 000260a0 0b 1d 20 c9 20 35 3a c8 93 20 c8 90 20 31 30 38 |.. . 5:.. .. 108| 000260b0 36 2c 31 38 36 2c 34 36 2c 34 38 0d 14 0c 1d 20 |6,186,46,48.... | 000260c0 c9 20 36 3a c8 93 20 c8 90 20 31 31 34 36 2c 31 |. 6:.. .. 1146,1| 000260d0 38 36 2c 34 36 2c 34 38 0d 14 0d 1d 20 c9 20 37 |86,46,48.... . 7| 000260e0 3a c8 93 20 c8 90 20 31 32 30 36 2c 31 38 36 2c |:.. .. 1206,186,| 000260f0 34 36 2c 34 38 0d 14 0e 06 20 cb 0d 14 0f 04 0d |46,48.... ......| 00026100 14 10 3c 20 21 77 61 76 65 66 6f 72 6d 5f 69 6e |..< !waveform_in| 00026110 63 72 65 6d 65 6e 74 3d 26 30 30 34 30 30 30 34 |crement=&0040004| 00026120 30 3a 21 77 61 76 65 66 6f 72 6d 5f 6c 69 6d 69 |0:!waveform_limi| 00026130 74 3d 26 30 33 43 30 30 33 43 30 0d 14 11 1c 20 |t=&03C003C0.... | 00026140 21 77 61 76 65 66 6f 72 6d 5f 72 67 62 3d 31 20 |!waveform_rgb=1 | 00026150 3a 20 f4 20 52 45 44 0d 14 12 22 20 21 77 61 76 |: . RED..." !wav| 00026160 65 66 6f 72 6d 5f 73 6f 75 72 63 65 3d 6d 65 6d |eform_source=mem| 00026170 62 6c 6f 63 6b 25 2b 32 30 0d 14 13 27 20 21 77 |block%+20...' !w| 00026180 61 76 65 66 6f 72 6d 5f 70 6c 6f 74 5f 62 61 73 |aveform_plot_bas| 00026190 65 3d 73 63 72 65 65 6e 25 2b 36 34 32 35 38 30 |e=screen%+642580| 000261a0 0d 14 14 15 20 d6 20 77 61 76 65 66 6f 72 6d 5f |.... . waveform_| 000261b0 63 6f 64 65 25 0d 14 15 1e 20 21 77 61 76 65 66 |code%.... !wavef| 000261c0 6f 72 6d 5f 72 67 62 3d 32 20 3a 20 f4 20 47 52 |orm_rgb=2 : . GR| 000261d0 45 45 4e 0d 14 16 2b 20 21 77 61 76 65 66 6f 72 |EEN...+ !wavefor| 000261e0 6d 5f 70 6c 6f 74 5f 62 61 73 65 3d 73 63 72 65 |m_plot_base=scre| 000261f0 65 6e 25 2b 36 34 32 36 30 30 2b 33 31 30 0d 14 |en%+642600+310..| 00026200 17 15 20 d6 20 77 61 76 65 66 6f 72 6d 5f 63 6f |.. . waveform_co| 00026210 64 65 25 0d 14 18 1d 20 21 77 61 76 65 66 6f 72 |de%.... !wavefor| 00026220 6d 5f 72 67 62 3d 33 20 3a 20 f4 20 42 4c 55 45 |m_rgb=3 : . BLUE| 00026230 0d 14 19 2b 20 21 77 61 76 65 66 6f 72 6d 5f 70 |...+ !waveform_p| 00026240 6c 6f 74 5f 62 61 73 65 3d 73 63 72 65 65 6e 25 |lot_base=screen%| 00026250 2b 36 34 32 36 30 30 2b 36 33 36 0d 14 1a 15 20 |+642600+636.... | 00026260 d6 20 77 61 76 65 66 6f 72 6d 5f 63 6f 64 65 25 |. waveform_code%| 00026270 0d 14 1b 04 0d 14 1c 10 20 e6 20 35 30 20 c8 9c |........ . 50 ..| 00026280 20 31 39 32 0d 14 1d 2f 20 e3 20 59 3d 33 39 2e | 192.../ . Y=39.| 00026290 34 20 b8 20 32 34 32 2e 36 20 88 32 35 2e 34 3a |4 . 242.6 .25.4:| 000262a0 ec 20 31 38 2c 59 3a f0 20 31 37 2c 39 37 38 2c |. 18,Y:. 17,978,| 000262b0 30 3a ed 0d 14 1e 29 20 e3 20 58 3d 31 38 20 b8 |0:....) . X=18 .| 000262c0 20 39 38 30 20 88 38 32 3a ec 20 58 2c 31 36 3a | 980 .82:. X,16:| 000262d0 f0 20 31 37 2c 30 2c 32 35 32 3a ed 0d 14 1f 04 |. 17,0,252:.....| 000262e0 0d 14 20 14 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 |.. . .wait_no_bu| 000262f0 74 74 6f 6e 0d 14 21 26 20 f5 3a c8 97 20 58 2c |tton..!& .:.. X,| 00026300 59 2c 42 3a 4b 24 3d bf 28 31 29 3a fd 20 42 3d |Y,B:K$=.(1):. B=| 00026310 34 20 84 20 4b 24 3c 3e 22 22 0d 14 22 0f 20 e7 |4 . K$<>""..". .| 00026320 20 4b 24 3c 3e 22 22 20 8c 0d 14 23 15 20 20 58 | K$<>"" ...#. X| 00026330 3d 30 3a 6d 25 3d 97 28 4b 24 29 2d 34 39 0d 14 |=0:m%=.(K$)-49..| 00026340 24 41 20 20 e7 20 6d 25 3e 2d 31 20 80 20 6d 25 |$A . m%>-1 . m%| 00026350 3c 6d 65 6d 6f 72 69 65 73 25 20 f2 6d 65 6d 6f |<memories% .memo| 00026360 72 79 5f 73 65 6c 65 63 74 28 6d 25 2c 30 29 3a |ry_select(m%,0):| 00026370 f2 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d |.display_memory.| 00026380 14 25 07 20 20 cd 0d 14 26 04 0d 14 27 0c 20 e7 |.%. ...&...'. .| 00026390 20 42 3d 34 20 8c 0d 14 28 04 0d 14 29 0b 20 20 | B=4 ...(...). | 000263a0 6d 25 3d 39 39 0d 14 2a 2a 20 20 e7 20 a4 63 68 |m%=99..** . .ch| 000263b0 65 63 6b 5f 62 75 74 74 6f 6e 28 31 30 33 30 2c |eck_button(1030,| 000263c0 32 35 30 2c 34 30 2c 34 30 29 20 6d 25 3d 30 0d |250,40,40) m%=0.| 000263d0 14 2b 2a 20 20 e7 20 a4 63 68 65 63 6b 5f 62 75 |.+* . .check_bu| 000263e0 74 74 6f 6e 28 31 30 39 30 2c 32 35 30 2c 34 30 |tton(1090,250,40| 000263f0 2c 34 30 29 20 6d 25 3d 31 0d 14 2c 2a 20 20 e7 |,40) m%=1..,* .| 00026400 20 a4 63 68 65 63 6b 5f 62 75 74 74 6f 6e 28 31 | .check_button(1| 00026410 31 35 30 2c 32 35 30 2c 34 30 2c 34 30 29 20 6d |150,250,40,40) m| 00026420 25 3d 32 0d 14 2d 2a 20 20 e7 20 a4 63 68 65 63 |%=2..-* . .chec| 00026430 6b 5f 62 75 74 74 6f 6e 28 31 32 31 30 2c 32 35 |k_button(1210,25| 00026440 30 2c 34 30 2c 34 30 29 20 6d 25 3d 33 0d 14 2e |0,40,40) m%=3...| 00026450 2a 20 20 e7 20 a4 63 68 65 63 6b 5f 62 75 74 74 |* . .check_butt| 00026460 6f 6e 28 31 30 33 30 2c 31 39 30 2c 34 30 2c 34 |on(1030,190,40,4| 00026470 30 29 20 6d 25 3d 34 0d 14 2f 2a 20 20 e7 20 a4 |0) m%=4../* . .| 00026480 63 68 65 63 6b 5f 62 75 74 74 6f 6e 28 31 30 39 |check_button(109| 00026490 30 2c 31 39 30 2c 34 30 2c 34 30 29 20 6d 25 3d |0,190,40,40) m%=| 000264a0 35 0d 14 30 2a 20 20 e7 20 a4 63 68 65 63 6b 5f |5..0* . .check_| 000264b0 62 75 74 74 6f 6e 28 31 31 35 30 2c 31 39 30 2c |button(1150,190,| 000264c0 34 30 2c 34 30 29 20 6d 25 3d 36 0d 14 31 2a 20 |40,40) m%=6..1* | 000264d0 20 e7 20 a4 63 68 65 63 6b 5f 62 75 74 74 6f 6e | . .check_button| 000264e0 28 31 32 31 30 2c 31 39 30 2c 34 30 2c 34 30 29 |(1210,190,40,40)| 000264f0 20 6d 25 3d 37 0d 14 32 39 20 20 e7 20 6d 25 3c | m%=7..29 . m%<| 00026500 6d 65 6d 6f 72 69 65 73 25 20 f2 6d 65 6d 6f 72 |memories% .memor| 00026510 79 5f 73 65 6c 65 63 74 28 6d 25 2c 30 29 3a f2 |y_select(m%,0):.| 00026520 64 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d 14 |display_memory..| 00026530 33 04 0d 14 34 28 20 20 e7 20 a4 63 68 65 63 6b |3...4( . .check| 00026540 5f 62 75 74 74 6f 6e 28 31 30 36 30 2c 31 30 30 |_button(1060,100| 00026550 2c 31 36 30 2c 35 30 29 20 8c 0d 14 35 1c 20 20 |,160,50) ...5. | 00026560 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 3a 65 |.upload_memory:e| 00026570 78 69 74 25 3d b9 0d 14 36 07 20 20 cd 0d 14 37 |xit%=...6. ...7| 00026580 04 0d 14 38 27 20 20 e7 20 a4 63 68 65 63 6b 5f |...8' . .check_| 00026590 62 75 74 74 6f 6e 28 31 30 36 30 2c 32 30 2c 31 |button(1060,20,1| 000265a0 36 30 2c 35 30 29 20 8c 0d 14 39 1d 20 20 f2 64 |60,50) ...9. .d| 000265b0 69 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 3a 65 78 |isplay_memory:ex| 000265c0 69 74 25 3d b9 0d 14 3a 07 20 20 cd 0d 14 3b 04 |it%=...:. ...;.| 000265d0 0d 14 3c 06 20 cd 0d 14 3d 04 0d 14 3e 0c 20 fd |..<. ...=...>. .| 000265e0 20 65 78 69 74 25 0d 14 3f 06 20 e1 0d 14 40 04 | exit%..?. ...@.| 000265f0 0d 14 41 14 20 dd 20 f2 73 65 67 6d 65 6e 74 5f |..A. . .segment_| 00026600 6d 65 6e 75 0d 14 42 1f 20 6d 65 6e 75 24 28 30 |menu..B. menu$(0| 00026610 29 3d 22 53 65 67 6d 65 6e 74 20 67 72 61 64 73 |)="Segment grads| 00026620 20 20 22 0d 14 43 1d 20 6d 65 6e 75 24 28 31 29 | "..C. menu$(1)| 00026630 3d 22 50 72 65 73 65 74 20 74 79 70 65 20 31 22 |="Preset type 1"| 00026640 0d 14 44 1d 20 6d 65 6e 75 24 28 32 29 3d 22 50 |..D. menu$(2)="P| 00026650 72 65 73 65 74 20 74 79 70 65 20 32 22 0d 14 45 |reset type 2"..E| 00026660 1d 20 6d 65 6e 75 24 28 33 29 3d 22 50 72 65 73 |. menu$(3)="Pres| 00026670 65 74 20 74 79 70 65 20 33 22 0d 14 46 1d 20 6d |et type 3"..F. m| 00026680 65 6e 75 24 28 34 29 3d 22 50 72 65 73 65 74 20 |enu$(4)="Preset | 00026690 74 79 70 65 20 34 22 0d 14 47 1c 20 6d 65 6e 75 |type 4"..G. menu| 000266a0 24 28 35 29 3d 22 55 73 65 72 20 64 65 66 69 6e |$(5)="User defin| 000266b0 65 64 22 0d 14 48 20 20 6d 65 6e 75 24 28 36 29 |ed"..H menu$(6)| 000266c0 3d 22 2a 22 3a f2 6d 65 6e 75 28 30 2c 39 30 2c |="*":.menu(0,90,| 000266d0 2d 31 29 0d 14 49 13 20 c8 8e 20 6d 65 6e 75 5f |-1)..I. .. menu_| 000266e0 62 6f 78 25 20 ca 0d 14 4a 16 20 c9 20 31 3a 52 |box% ...J. . 1:R| 000266f0 3d 32 35 35 3a 47 3d 30 3a 42 3d 30 0d 14 4b 1a |=255:G=0:B=0..K.| 00026700 20 c9 20 32 3a 52 3d 31 32 38 3a 47 3d 31 32 38 | . 2:R=128:G=128| 00026710 3a 42 3d 31 32 38 0d 14 4c 1a 20 c9 20 33 3a 52 |:B=128..L. . 3:R| 00026720 3d 31 32 38 3a 47 3d 31 32 38 3a 42 3d 32 35 35 |=128:G=128:B=255| 00026730 0d 14 4d 18 20 c9 20 34 3a 52 3d 30 3a 47 3d 32 |..M. . 4:R=0:G=2| 00026740 35 35 3a 42 3d 31 32 38 0d 14 4e 2d 20 c9 20 35 |55:B=128..N- . 5| 00026750 3a f2 72 67 62 5f 73 6c 69 64 65 72 73 28 30 29 |:.rgb_sliders(0)| 00026760 3a 52 3d 72 65 64 25 3a 47 3d 67 72 6e 25 3a 42 |:R=red%:G=grn%:B| 00026770 3d 62 6c 75 25 0d 14 4f 06 20 cb 0d 14 50 2a 20 |=blu%..O. ...P* | 00026780 e7 20 6d 65 6e 75 5f 62 6f 78 25 3c 3e 39 39 20 |. menu_box%<>99 | 00026790 8c 20 f2 73 65 67 6d 65 6e 74 5f 62 61 63 6b 67 |. .segment_backg| 000267a0 72 6f 75 6e 64 0d 14 51 06 20 e1 0d 14 52 04 0d |round..Q. ...R..| 000267b0 14 53 1a 20 dd 20 f2 73 65 67 6d 65 6e 74 5f 62 |.S. . .segment_b| 000267c0 61 63 6b 67 72 6f 75 6e 64 0d 14 54 14 20 f2 77 |ackground..T. .w| 000267d0 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 14 55 |ait_no_button..U| 000267e0 23 20 e6 20 36 34 2c 36 34 2c 36 34 3a c8 93 20 |# . 64,64,64:.. | 000267f0 c8 90 20 30 2c 30 2c 31 32 38 30 2c 31 30 32 34 |.. 0,0,1280,1024| 00026800 0d 14 56 23 20 f2 72 61 69 73 65 64 5f 62 6c 6f |..V# .raised_blo| 00026810 63 6b 28 33 31 30 2c 31 38 34 2c 36 30 30 2c 31 |ck(310,184,600,1| 00026820 30 30 29 0d 14 57 3e 20 f2 77 72 69 74 65 32 28 |00)..W> .write2(| 00026830 22 4d 6f 76 65 20 6d 6f 75 73 65 20 70 6f 69 6e |"Move mouse poin| 00026840 74 65 72 20 74 6f 20 64 65 73 69 72 65 64 20 63 |ter to desired c| 00026850 65 6e 74 72 65 22 2c 33 32 30 2c 32 34 30 2c 34 |entre",320,240,4| 00026860 29 0d 14 58 43 20 f2 77 72 69 74 65 32 28 22 74 |)..XC .write2("t| 00026870 68 65 6e 20 63 6c 69 63 6b 20 73 65 6c 65 63 74 |hen click select| 00026880 20 2d 20 63 6c 69 63 6b 20 61 64 6a 75 73 74 20 | - click adjust | 00026890 74 6f 20 61 62 6f 72 74 22 2c 33 32 30 2c 32 30 |to abort",320,20| 000268a0 30 2c 34 29 0d 14 59 1e 20 f5 3a c8 97 20 78 2c |0,4)..Y. .:.. x,| 000268b0 79 2c 62 3a fd 20 62 3c 3e 30 3a e7 20 62 3d 34 |y,b:. b<>0:. b=4| 000268c0 20 8c 0d 14 5a 17 20 c8 91 20 78 2c 79 3a ec 20 | ...Z. .. x,y:. | 000268d0 78 2c 79 3a ec 20 78 2c 79 0d 14 5b 21 20 52 49 |x,y:. x,y..[! RI| 000268e0 3d 32 3a 47 49 3d 31 3a 42 49 3d 33 3a 68 69 25 |=2:GI=1:BI=3:hi%| 000268f0 3d 32 35 35 3a 6c 6f 25 3d 30 0d 14 5c 13 20 73 |=255:lo%=0..\. s| 00026900 74 65 70 3d 28 32 2a af 29 2f 35 31 32 0d 14 5d |tep=(2*.)/512..]| 00026910 1c 20 e3 20 41 3d 30 20 b8 20 32 2a af 2b 73 74 |. . A=0 . 2*.+st| 00026920 65 70 20 88 20 73 74 65 70 0d 14 5e 22 20 e6 20 |ep . step..^" . | 00026930 52 2c 47 2c 42 3a 58 3d 31 36 34 30 2a 9b 20 41 |R,G,B:X=1640*. A| 00026940 3a 59 3d 31 36 34 30 2a b5 20 41 0d 14 5f 28 20 |:Y=1640*. A.._( | 00026950 58 32 3d 31 36 34 30 2a 9b 28 41 2b 73 74 65 70 |X2=1640*.(A+step| 00026960 29 3a 59 32 3d 31 36 34 30 2a b5 28 41 2b 73 74 |):Y2=1640*.(A+st| 00026970 65 70 29 0d 14 60 1a 20 f0 20 26 42 35 2c 58 32 |ep)..`. . &B5,X2| 00026980 2c 59 32 3a 86 20 30 2c 30 2c 58 2c 59 0d 14 61 |,Y2:. 0,0,X,Y..a| 00026990 0a 20 52 2b 3d 52 49 0d 14 62 1b 20 e7 20 52 3e |. R+=RI..b. . R>| 000269a0 68 69 25 20 8c 20 52 3d 68 69 25 3a 52 49 3d 2d |hi% . R=hi%:RI=-| 000269b0 52 49 0d 14 63 1b 20 e7 20 52 3c 6c 6f 25 20 8c |RI..c. . R<lo% .| 000269c0 20 52 3d 6c 6f 25 3a 52 49 3d 2d 52 49 0d 14 64 | R=lo%:RI=-RI..d| 000269d0 0a 20 47 2b 3d 47 49 0d 14 65 1b 20 e7 20 47 3e |. G+=GI..e. . G>| 000269e0 68 69 25 20 8c 20 47 3d 68 69 25 3a 47 49 3d 2d |hi% . G=hi%:GI=-| 000269f0 47 49 0d 14 66 1b 20 e7 20 47 3c 6c 6f 25 20 8c |GI..f. . G<lo% .| 00026a00 20 47 3d 6c 6f 25 3a 47 49 3d 2d 47 49 0d 14 67 | G=lo%:GI=-GI..g| 00026a10 0a 20 42 2b 3d 42 49 0d 14 68 1b 20 e7 20 42 3e |. B+=BI..h. . B>| 00026a20 68 69 25 20 8c 20 42 3d 68 69 25 3a 42 49 3d 2d |hi% . B=hi%:BI=-| 00026a30 42 49 0d 14 69 1b 20 e7 20 42 3c 6c 6f 25 20 8c |BI..i. . B<lo% .| 00026a40 20 42 3d 6c 6f 25 3a 42 49 3d 2d 42 49 0d 14 6a | B=lo%:BI=-BI..j| 00026a50 0d 20 ed 3a c8 91 20 30 2c 30 0d 14 6b 21 20 e7 |. .:.. 0,0..k! .| 00026a60 20 ac 28 6d 65 72 67 65 25 29 20 8c 20 f2 75 70 | .(merge%) . .up| 00026a70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d 14 6c 06 20 |load_memory..l. | 00026a80 cd 0d 14 6d 06 20 e1 0d 14 6e 04 0d 14 6f 11 20 |...m. ...n...o. | 00026a90 dd 20 f2 70 69 78 65 6c 5f 72 67 62 0d 14 70 0e |. .pixel_rgb..p.| 00026aa0 20 78 25 3d 30 3a 79 25 3d 30 0d 14 71 06 20 f5 | x%=0:y%=0..q. .| 00026ab0 0d 14 72 24 20 f2 64 69 73 70 6c 61 79 5f 6d 65 |..r$ .display_me| 00026ac0 6d 6f 72 79 3a f2 77 61 69 74 5f 6e 6f 5f 62 75 |mory:.wait_no_bu| 00026ad0 74 74 6f 6e 0d 14 73 27 20 f2 72 61 69 73 65 64 |tton..s' .raised| 00026ae0 5f 62 6c 6f 63 6b 28 35 35 30 2b 78 25 2c 38 2b |_block(550+x%,8+| 00026af0 79 25 2c 31 36 30 2c 31 30 38 29 0d 14 74 2c 20 |y%,160,108)..t, | 00026b00 e6 20 32 32 30 2c 32 32 30 2c 31 32 30 3a c8 93 |. 220,220,120:..| 00026b10 20 c8 90 20 35 35 30 2b 78 25 2c 38 34 2b 79 25 | .. 550+x%,84+y%| 00026b20 2c 31 35 38 2c 33 30 0d 14 75 29 20 f2 77 72 69 |,158,30..u) .wri| 00026b30 74 65 32 28 22 52 47 42 20 76 61 6c 75 65 73 22 |te2("RGB values"| 00026b40 2c 35 34 34 2b 78 25 2c 38 34 2b 79 25 2c 34 29 |,544+x%,84+y%,4)| 00026b50 0d 14 76 28 20 f2 77 72 69 74 65 32 28 22 52 20 |..v( .write2("R | 00026b60 20 20 47 20 20 20 42 22 2c 35 35 36 2b 78 25 2c | G B",556+x%,| 00026b70 34 34 2b 79 25 2c 34 29 0d 14 77 0f 20 c8 97 20 |44+y%,4)..w. .. | 00026b80 58 31 2c 59 31 2c 42 0d 14 78 06 20 f5 0d 14 79 |X1,Y1,B..x. ...y| 00026b90 26 20 f5 3a c8 97 20 58 2c 59 2c 42 3a fd 20 58 |& .:.. X,Y,B:. X| 00026ba0 3c 3e 58 31 20 84 20 59 3c 3e 59 31 20 84 20 42 |<>X1 . Y<>Y1 . B| 00026bb0 3c 3e 30 0d 14 7a 19 20 72 67 62 25 3d b0 58 2c |<>0..z. rgb%=.X,| 00026bc0 59 29 3a 58 31 3d 58 3a 59 31 3d 59 0d 14 7b 30 |Y):X1=X:Y1=Y..{0| 00026bd0 20 72 25 3d 72 67 62 25 80 33 31 3a 67 25 3d 28 | r%=rgb%.31:g%=(| 00026be0 72 67 62 25 3e 3e 35 29 80 33 31 3a 62 25 3d 28 |rgb%>>5).31:b%=(| 00026bf0 72 67 62 25 3e 3e 31 30 29 80 33 31 0d 14 7c 23 |rgb%>>10).31..|#| 00026c00 20 72 24 3d c3 28 72 25 29 3a e7 20 a9 28 72 24 | r$=.(r%):. .(r$| 00026c10 29 3c 32 20 8c 20 72 24 3d 22 30 22 2b 72 24 0d |)<2 . r$="0"+r$.| 00026c20 14 7d 23 20 67 24 3d c3 28 67 25 29 3a e7 20 a9 |.}# g$=.(g%):. .| 00026c30 28 67 24 29 3c 32 20 8c 20 67 24 3d 22 30 22 2b |(g$)<2 . g$="0"+| 00026c40 67 24 0d 14 7e 23 20 62 24 3d c3 28 62 25 29 3a |g$..~# b$=.(b%):| 00026c50 e7 20 a9 28 62 24 29 3c 32 20 8c 20 62 24 3d 22 |. .(b$)<2 . b$="| 00026c60 30 22 2b 62 24 0d 14 7f 2c 20 e6 20 32 30 38 2c |0"+b$..., . 208,| 00026c70 32 30 38 2c 32 31 36 3a c8 93 20 c8 90 20 35 36 |208,216:.. .. 56| 00026c80 30 2b 78 25 2c 31 34 2b 79 25 2c 31 34 30 2c 32 |0+x%,14+y%,140,2| 00026c90 38 0d 14 80 1f 20 f2 77 72 69 74 65 32 28 72 24 |8.... .write2(r$| 00026ca0 2c 35 35 30 2b 78 25 2c 31 30 2b 79 25 2c 34 29 |,550+x%,10+y%,4)| 00026cb0 0d 14 81 1f 20 f2 77 72 69 74 65 32 28 67 24 2c |.... .write2(g$,| 00026cc0 36 30 30 2b 78 25 2c 31 30 2b 79 25 2c 34 29 0d |600+x%,10+y%,4).| 00026cd0 14 82 1f 20 f2 77 72 69 74 65 32 28 62 24 2c 36 |... .write2(b$,6| 00026ce0 35 30 2b 78 25 2c 31 30 2b 79 25 2c 34 29 0d 14 |50+x%,10+y%,4)..| 00026cf0 83 0b 20 fd 20 42 3c 3e 30 0d 14 84 18 20 e7 20 |.. . B<>0.... . | 00026d00 42 3d 34 20 8c 20 79 25 3d 79 25 20 82 20 38 39 |B=4 . y%=y% . 89| 00026d10 34 0d 14 85 1a 20 fd 20 42 3d 31 3a f2 64 69 73 |4.... . B=1:.dis| 00026d20 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d 14 86 06 20 |play_memory.... | 00026d30 e1 0d 14 87 04 0d 14 88 13 20 dd 20 f2 6d 6f 64 |......... . .mod| 00026d40 65 28 6d 6f 64 65 24 29 0d 14 89 18 20 ea 20 63 |e(mode$).... . c| 00026d50 24 2c 65 78 2c 65 79 2c 6d 6f 64 65 2c 65 6e 64 |$,ex,ey,mode,end| 00026d60 0d 14 8a 22 20 de 20 6d 6f 64 65 20 36 34 3a 65 |..." . mode 64:e| 00026d70 6e 64 3d 6d 6f 64 65 2b 32 30 3a 21 6d 6f 64 65 |nd=mode+20:!mode| 00026d80 3d 31 0d 14 8b 1f 20 6d 6f 64 65 21 34 3d bb 20 |=1.... mode!4=. | 00026d90 a4 5f 6d 28 6d 6f 64 65 24 2c 22 58 22 2c 22 22 |._m(mode$,"X",""| 00026da0 29 0d 14 8c 1f 20 6d 6f 64 65 21 38 3d bb 20 a4 |).... mode!8=. .| 00026db0 5f 6d 28 6d 6f 64 65 24 2c 22 59 22 2c 22 22 29 |_m(mode$,"Y","")| 00026dc0 0d 14 8d 1a 20 63 24 3d a4 5f 6d 28 6d 6f 64 65 |.... c$=._m(mode| 00026dd0 24 2c 22 43 22 2c 22 2a 22 29 0d 14 8e 0f 20 e7 |$,"C","*").... .| 00026de0 20 63 24 3d 22 2a 22 20 8c 0d 14 8f 19 20 63 24 | c$="*" ..... c$| 00026df0 3d a4 5f 6d 28 6d 6f 64 65 24 2c 22 47 22 2c 22 |=._m(mode$,"G","| 00026e00 22 29 0d 14 90 29 20 e7 20 63 24 3d 22 32 35 36 |")...) . c$="256| 00026e10 22 20 8c 20 21 65 6e 64 3d 33 3a 65 6e 64 21 34 |" . !end=3:end!4| 00026e20 3d 32 35 35 3a 65 6e 64 2b 3d 38 0d 14 91 06 20 |=255:end+=8.... | 00026e30 cd 0d 14 92 16 20 6d 6f 64 65 21 31 32 3d a4 5f |..... mode!12=._| 00026e40 62 70 70 28 63 24 29 0d 14 93 22 20 6d 6f 64 65 |bpp(c$)..." mode| 00026e50 21 31 36 3d bb 20 a4 5f 6d 28 6d 6f 64 65 24 2c |!16=. ._m(mode$,| 00026e60 22 46 22 2c 22 2d 31 22 29 0d 14 94 1e 20 65 78 |"F","-1").... ex| 00026e70 3d bb 20 a4 5f 6d 28 6d 6f 64 65 24 2c 22 45 58 |=. ._m(mode$,"EX| 00026e80 22 2c 22 2d 31 22 29 0d 14 95 26 20 e7 20 65 78 |","-1")...& . ex| 00026e90 3c 3e 2d 31 20 8c 20 21 65 6e 64 3d 34 3a 65 6e |<>-1 . !end=4:en| 00026ea0 64 21 34 3d 65 78 3a 65 6e 64 2b 3d 38 0d 14 96 |d!4=ex:end+=8...| 00026eb0 1e 20 65 79 3d bb 20 a4 5f 6d 28 6d 6f 64 65 24 |. ey=. ._m(mode$| 00026ec0 2c 22 45 59 22 2c 22 2d 31 22 29 0d 14 97 26 20 |,"EY","-1")...& | 00026ed0 e7 20 65 79 3c 3e 2d 31 20 8c 20 21 65 6e 64 3d |. ey<>-1 . !end=| 00026ee0 35 3a 65 6e 64 21 34 3d 65 79 3a 65 6e 64 2b 3d |5:end!4=ey:end+=| 00026ef0 38 0d 14 98 0c 20 21 65 6e 64 3d 2d 31 0d 14 99 |8.... !end=-1...| 00026f00 08 20 ea 20 85 0d 14 9a 0c 20 ee 20 85 20 ea 20 |. . ..... . . . | 00026f10 e1 0d 14 9b 0b 20 eb 20 6d 6f 64 65 0d 14 9c 08 |..... . mode....| 00026f20 20 f7 20 85 0d 14 9d 06 20 e1 0d 14 9e 04 0d 14 | . ..... .......| 00026f30 9f 14 20 dd 20 a4 5f 6d 28 73 24 2c 70 24 2c 64 |.. . ._m(s$,p$,d| 00026f40 24 29 0d 14 a0 14 20 ea 20 69 2c 6a 3a 69 3d a7 |$).... . i,j:i=.| 00026f50 73 24 2c 70 24 29 0d 14 a1 28 20 e7 20 69 3c 31 |s$,p$)...( . i<1| 00026f60 20 80 20 64 24 3d 22 22 20 8c 20 85 20 34 39 30 | . d$="" . . 490| 00026f70 2c 22 4d 69 73 73 69 6e 67 20 22 2b 70 24 0d 14 |,"Missing "+p$..| 00026f80 a2 17 20 6a 3d a7 73 24 2b 22 20 22 2c 22 20 22 |.. j=.s$+" "," "| 00026f90 2c 69 2b 31 29 0d 14 a3 2a 20 e7 20 69 3c 31 20 |,i+1)...* . i<1 | 00026fa0 8c 20 66 6e 6d 24 3d 64 24 20 8b 20 66 6e 6d 24 |. fnm$=d$ . fnm$| 00026fb0 3d c1 73 24 2c 69 2b 31 2c 6a 2d 69 2d 31 29 0d |=.s$,i+1,j-i-1).| 00026fc0 14 a4 0a 20 3d 66 6e 6d 24 0d 14 a5 04 0d 14 a6 |... =fnm$.......| 00026fd0 10 20 dd 20 a4 5f 62 70 70 28 6e 24 29 0d 14 a7 |. . ._bpp(n$)...| 00026fe0 0c 20 c8 8e 20 6e 24 20 ca 0d 14 a8 11 20 c9 20 |. .. n$ ..... . | 00026ff0 22 32 22 3a 62 70 70 25 3d 30 0d 14 a9 11 20 c9 |"2":bpp%=0.... .| 00027000 20 22 34 22 3a 62 70 70 25 3d 31 0d 14 aa 12 20 | "4":bpp%=1.... | 00027010 c9 20 22 31 36 22 3a 62 70 70 25 3d 32 0d 14 ab |. "16":bpp%=2...| 00027020 13 20 c9 20 22 32 35 36 22 3a 62 70 70 25 3d 33 |. . "256":bpp%=3| 00027030 0d 14 ac 25 20 c9 20 22 33 32 54 22 2c 22 33 32 |...% . "32T","32| 00027040 74 22 2c 22 33 32 4b 22 2c 22 33 32 6b 22 3a 62 |t","32K","32k":b| 00027050 70 70 25 3d 34 0d 14 ad 19 20 c9 20 22 31 36 4d |pp%=4.... . "16M| 00027060 22 2c 22 31 36 6d 22 3a 62 70 70 25 3d 35 0d 14 |","16m":bpp%=5..| 00027070 ae 27 20 7f 3a 62 70 70 25 3d 30 3a 85 20 34 39 |.' .:bpp%=0:. 49| 00027080 30 2c 22 42 61 64 20 70 61 72 61 6d 65 74 65 72 |0,"Bad parameter| 00027090 20 22 2b 6e 24 0d 14 af 06 20 cb 0d 14 b0 0a 20 | "+n$.... ..... | 000270a0 3d 62 70 70 25 0d 14 b1 04 0d 14 b2 18 20 dd 20 |=bpp%........ . | 000270b0 a4 6d 65 6d 5f 74 6f 5f 62 6c 6f 63 6b 28 6d 25 |.mem_to_block(m%| 000270c0 29 0d 14 b3 0c 20 c8 8e 20 6d 25 20 ca 0d 14 b4 |).... .. m% ....| 000270d0 12 20 c9 20 31 3a 6d 62 25 3d 6d 65 6d 31 25 0d |. . 1:mb%=mem1%.| 000270e0 14 b5 12 20 c9 20 32 3a 6d 62 25 3d 6d 65 6d 32 |... . 2:mb%=mem2| 000270f0 25 0d 14 b6 12 20 c9 20 33 3a 6d 62 25 3d 6d 65 |%.... . 3:mb%=me| 00027100 6d 33 25 0d 14 b7 12 20 c9 20 34 3a 6d 62 25 3d |m3%.... . 4:mb%=| 00027110 6d 65 6d 34 25 0d 14 b8 12 20 c9 20 35 3a 6d 62 |mem4%.... . 5:mb| 00027120 25 3d 6d 65 6d 35 25 0d 14 b9 12 20 c9 20 36 3a |%=mem5%.... . 6:| 00027130 6d 62 25 3d 6d 65 6d 36 25 0d 14 ba 12 20 c9 20 |mb%=mem6%.... . | 00027140 37 3a 6d 62 25 3d 6d 65 6d 37 25 0d 14 bb 12 20 |7:mb%=mem7%.... | 00027150 c9 20 38 3a 6d 62 25 3d 6d 65 6d 38 25 0d 14 bc |. 8:mb%=mem8%...| 00027160 06 20 cb 0d 14 bd 09 20 3d 6d 62 25 0d 14 be 04 |. ..... =mb%....| 00027170 0d 14 bf 14 20 dd 20 f2 71 75 61 64 5f 64 69 73 |.... . .quad_dis| 00027180 70 6c 61 79 0d 14 c0 34 20 74 6c 25 3d 39 3a 74 |play...4 tl%=9:t| 00027190 72 25 3d 39 3a 62 6c 25 3d 39 3a 62 72 25 3d 39 |r%=9:bl%=9:br%=9| 000271a0 3a 71 75 61 64 5f 71 75 69 74 25 3d 30 3a 71 75 |:quad_quit%=0:qu| 000271b0 61 64 5f 6f 6b 25 3d 30 0d 14 c1 22 20 e6 20 30 |ad_ok%=0..." . 0| 000271c0 2c 33 32 2c 36 34 3a c8 93 20 c8 90 20 30 2c 30 |,32,64:.. .. 0,0| 000271d0 2c 31 32 38 30 2c 31 30 32 34 0d 14 c2 2d 20 21 |,1280,1024...- !| 000271e0 73 6f 75 72 63 65 5f 61 64 64 72 65 73 73 3d a4 |source_address=.| 000271f0 6d 65 6d 5f 74 6f 5f 62 6c 6f 63 6b 28 4d 45 4d |mem_to_block(MEM| 00027200 25 2b 31 29 2b 32 30 0d 14 c3 43 20 21 64 65 73 |%+1)+20...C !des| 00027210 74 5f 61 64 64 72 65 73 73 3d 73 63 72 65 65 6e |t_address=screen| 00027220 25 2b 31 36 34 31 36 30 3a 21 71 75 61 72 74 65 |%+164160:!quarte| 00027230 72 5f 6c 69 6e 65 73 3d 32 35 36 3a d6 20 6d 61 |r_lines=256:. ma| 00027240 6b 65 5f 71 75 61 72 74 65 72 0d 14 c4 04 0d 14 |ke_quarter......| 00027250 c5 18 20 4d 25 3d 31 3a e3 20 51 42 25 3d 34 20 |.. M%=1:. QB%=4 | 00027260 b8 20 37 20 88 33 0d 14 c6 16 20 e7 20 4d 25 3c |. 7 .3.... . M%<| 00027270 3d 6d 65 6d 6f 72 69 65 73 25 20 8c 0d 14 c7 3a |=memories% ....:| 00027280 20 20 21 64 65 73 74 5f 61 64 64 72 65 73 73 3d | !dest_address=| 00027290 73 63 72 65 65 6e 25 2b 28 51 42 25 20 81 20 34 |screen%+(QB% . 4| 000272a0 29 2a 31 36 33 38 34 30 2b 28 51 42 25 20 83 20 |)*163840+(QB% . | 000272b0 34 29 2a 33 32 30 0d 14 c8 46 20 20 21 73 6f 75 |4)*320...F !sou| 000272c0 72 63 65 5f 61 64 64 72 65 73 73 3d a4 6d 65 6d |rce_address=.mem| 000272d0 5f 74 6f 5f 62 6c 6f 63 6b 28 4d 25 29 2b 32 30 |_to_block(M%)+20| 000272e0 3a 21 6d 69 6e 69 5f 6c 69 6e 65 73 3d 31 32 38 |:!mini_lines=128| 000272f0 3a d6 20 6d 61 6b 65 5f 6d 69 6e 69 0d 14 c9 0d |:. make_mini....| 00027300 20 20 4d 25 2b 3d 37 3a ed 0d 14 ca 06 20 cd 0d | M%+=7:..... ..| 00027310 14 cb 04 0d 14 cc 17 20 4d 25 3d 33 3a e3 20 51 |....... M%=3:. Q| 00027320 42 25 3d 31 32 20 b8 20 31 35 0d 14 cd 16 20 e7 |B%=12 . 15.... .| 00027330 20 4d 25 3c 3d 6d 65 6d 6f 72 69 65 73 25 20 8c | M%<=memories% .| 00027340 0d 14 ce 3a 20 20 21 64 65 73 74 5f 61 64 64 72 |...: !dest_addr| 00027350 65 73 73 3d 73 63 72 65 65 6e 25 2b 28 51 42 25 |ess=screen%+(QB%| 00027360 20 81 20 34 29 2a 31 36 33 38 34 30 2b 28 51 42 | . 4)*163840+(QB| 00027370 25 20 83 20 34 29 2a 33 32 30 0d 14 cf 46 20 20 |% . 4)*320...F | 00027380 21 73 6f 75 72 63 65 5f 61 64 64 72 65 73 73 3d |!source_address=| 00027390 a4 6d 65 6d 5f 74 6f 5f 62 6c 6f 63 6b 28 4d 25 |.mem_to_block(M%| 000273a0 29 2b 32 30 3a 21 6d 69 6e 69 5f 6c 69 6e 65 73 |)+20:!mini_lines| 000273b0 3d 31 32 38 3a d6 20 6d 61 6b 65 5f 6d 69 6e 69 |=128:. make_mini| 000273c0 0d 14 d0 0d 20 20 4d 25 2b 3d 31 3a ed 0d 14 d1 |.... M%+=1:....| 000273d0 06 20 cd 0d 14 d2 04 0d 14 d3 19 20 4d 25 3d 32 |. ......... M%=2| 000273e0 3a e3 20 51 42 25 3d 38 20 b8 20 31 31 20 88 33 |:. QB%=8 . 11 .3| 000273f0 0d 14 d4 16 20 e7 20 4d 25 3c 3d 6d 65 6d 6f 72 |.... . M%<=memor| 00027400 69 65 73 25 20 8c 0d 14 d5 3a 20 20 21 64 65 73 |ies% ....: !des| 00027410 74 5f 61 64 64 72 65 73 73 3d 73 63 72 65 65 6e |t_address=screen| 00027420 25 2b 28 51 42 25 20 81 20 34 29 2a 31 36 33 38 |%+(QB% . 4)*1638| 00027430 34 30 2b 28 51 42 25 20 83 20 34 29 2a 33 32 30 |40+(QB% . 4)*320| 00027440 0d 14 d6 46 20 20 21 73 6f 75 72 63 65 5f 61 64 |...F !source_ad| 00027450 64 72 65 73 73 3d a4 6d 65 6d 5f 74 6f 5f 62 6c |dress=.mem_to_bl| 00027460 6f 63 6b 28 4d 25 29 2b 32 30 3a 21 6d 69 6e 69 |ock(M%)+20:!mini| 00027470 5f 6c 69 6e 65 73 3d 31 32 38 3a d6 20 6d 61 6b |_lines=128:. mak| 00027480 65 5f 6d 69 6e 69 0d 14 d7 0d 20 20 4d 25 2b 3d |e_mini.... M%+=| 00027490 35 3a ed 0d 14 d8 06 20 cd 0d 14 d9 05 20 0d 14 |5:..... ..... ..| 000274a0 da 30 20 e3 20 51 42 25 3d 31 32 20 b8 20 31 35 |.0 . QB%=12 . 15| 000274b0 3a f2 71 75 61 64 5f 62 6f 72 64 65 72 28 51 42 |:.quad_border(QB| 000274c0 25 2c 32 35 35 2c 32 35 35 2c 30 29 3a ed 0d 14 |%,255,255,0):...| 000274d0 db 31 20 e3 20 51 42 25 3d 34 20 b8 20 37 20 88 |.1 . QB%=4 . 7 .| 000274e0 33 3a f2 71 75 61 64 5f 62 6f 72 64 65 72 28 51 |3:.quad_border(Q| 000274f0 42 25 2c 32 35 35 2c 32 35 35 2c 30 29 3a ed 0d |B%,255,255,0):..| 00027500 14 dc 32 20 e3 20 51 42 25 3d 38 20 b8 20 31 31 |..2 . QB%=8 . 11| 00027510 20 88 33 3a f2 71 75 61 64 5f 62 6f 72 64 65 72 | .3:.quad_border| 00027520 28 51 42 25 2c 32 35 35 2c 32 35 35 2c 30 29 3a |(QB%,255,255,0):| 00027530 ed 0d 14 dd 12 20 f2 71 75 61 64 5f 62 6f 72 64 |..... .quad_bord| 00027540 65 72 32 0d 14 de 23 20 f2 72 61 69 73 65 64 5f |er2...# .raised_| 00027550 62 6c 6f 63 6b 28 34 36 30 2c 38 30 30 2c 33 36 |block(460,800,36| 00027560 30 2c 31 32 30 29 0d 14 df 22 20 f2 72 61 69 73 |0,120)..." .rais| 00027570 65 64 5f 62 6c 6f 63 6b 28 34 39 30 2c 38 32 30 |ed_block(490,820| 00027580 2c 31 32 30 2c 34 30 29 0d 14 e0 22 20 f2 72 61 |,120,40)..." .ra| 00027590 69 73 65 64 5f 62 6c 6f 63 6b 28 36 36 38 2c 38 |ised_block(668,8| 000275a0 32 30 2c 31 32 30 2c 34 30 29 0d 14 e1 20 20 f2 |20,120,40)... .| 000275b0 77 72 69 74 65 32 28 22 43 41 4e 43 45 4c 22 2c |write2("CANCEL",| 000275c0 34 39 32 2c 38 32 34 2c 34 29 0d 14 e2 1c 20 f2 |492,824,4).... .| 000275d0 77 72 69 74 65 32 28 22 4f 4b 22 2c 37 30 30 2c |write2("OK",700,| 000275e0 38 32 34 2c 34 29 0d 14 e3 2c 20 f2 77 72 69 74 |824,4)..., .writ| 000275f0 65 32 28 22 50 73 63 61 6e 20 51 75 61 64 20 44 |e2("Pscan Quad D| 00027600 69 73 70 6c 61 79 22 2c 34 39 34 2c 38 38 30 2c |isplay",494,880,| 00027610 34 29 0d 14 e4 06 20 f5 0d 14 e5 16 20 f5 3a c8 |4).... ..... .:.| 00027620 97 20 58 2c 59 2c 42 3a fd 20 42 3c 3e 30 0d 14 |. X,Y,B:. B<>0..| 00027630 e6 2f 20 e7 20 94 28 58 2d 35 35 30 29 3c 36 32 |./ . .(X-550)<62| 00027640 20 80 20 94 28 59 2d 38 34 34 29 3c 32 32 20 8c | . .(Y-844)<22 .| 00027650 20 71 75 61 64 5f 71 75 69 74 25 3d b9 0d 14 e7 | quad_quit%=....| 00027660 2d 20 e7 20 94 28 58 2d 37 32 38 29 3c 36 32 20 |- . .(X-728)<62 | 00027670 80 20 94 28 59 2d 38 34 34 29 3c 32 32 20 8c 20 |. .(Y-844)<22 . | 00027680 71 75 61 64 5f 6f 6b 25 3d b9 0d 14 e8 24 20 e7 |quad_ok%=....$ .| 00027690 20 ac 28 71 75 61 64 5f 71 75 69 74 25 29 20 80 | .(quad_quit%) .| 000276a0 20 ac 28 71 75 61 64 5f 6f 6b 25 29 20 8c 0d 14 | .(quad_ok%) ...| 000276b0 e9 2f 20 4d 42 31 25 3d 28 58 20 81 20 33 32 31 |./ MB1%=(X . 321| 000276c0 29 2b 28 28 31 30 32 34 2d 59 29 81 20 32 35 37 |)+((1024-Y). 257| 000276d0 29 2a 34 3a 78 31 3d 58 3a 79 31 3d 59 0d 14 ea |)*4:x1=X:y1=Y...| 000276e0 4e 20 e7 20 4d 42 31 25 3d 34 20 84 20 4d 42 31 |N . MB1%=4 . MB1| 000276f0 25 3d 37 20 84 20 4d 42 31 25 3d 38 20 84 20 28 |%=7 . MB1%=8 . (| 00027700 4d 42 31 25 3e 31 30 20 80 20 4d 42 31 25 3c 31 |MB1%>10 . MB1%<1| 00027710 36 29 20 8c 20 f2 71 75 61 64 5f 63 75 72 73 6f |6) . .quad_curso| 00027720 72 28 4d 42 31 25 2c 58 2c 59 29 0d 14 eb 27 20 |r(MB1%,X,Y)...' | 00027730 4d 42 32 25 3d 28 78 31 20 81 20 33 32 31 29 2b |MB2%=(x1 . 321)+| 00027740 28 28 31 30 32 34 2d 79 31 29 81 20 32 35 37 29 |((1024-y1). 257)| 00027750 2a 34 0d 14 ec 37 20 e7 20 4d 42 31 25 3d 34 20 |*4...7 . MB1%=4 | 00027760 84 20 4d 42 31 25 3d 37 20 84 20 4d 42 31 25 3d |. MB1%=7 . MB1%=| 00027770 38 20 84 20 28 4d 42 31 25 3e 31 30 20 80 20 4d |8 . (MB1%>10 . M| 00027780 42 31 25 3c 31 36 29 20 8c 0d 14 ed 36 20 e7 20 |B1%<16) ....6 . | 00027790 4d 42 32 25 3d 35 20 84 20 4d 42 32 25 3d 36 20 |MB2%=5 . MB2%=6 | 000277a0 84 20 4d 42 32 25 3d 39 20 84 20 4d 42 32 25 3d |. MB2%=9 . MB2%=| 000277b0 31 30 20 8c 20 f2 71 75 61 64 5f 6d 6f 76 65 0d |10 . .quad_move.| 000277c0 14 ee 06 20 cd 0d 14 ef 06 20 cd 0d 14 f0 1c 20 |... ..... ..... | 000277d0 fd 20 71 75 61 64 5f 71 75 69 74 25 20 84 20 71 |. quad_quit% . q| 000277e0 75 61 64 5f 6f 6b 25 0d 14 f1 11 20 e7 20 71 75 |uad_ok%.... . qu| 000277f0 61 64 5f 6f 6b 25 20 8c 0d 14 f2 14 20 f2 64 69 |ad_ok% ..... .di| 00027800 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 0d 14 f3 0f |splay_memory....| 00027810 20 e7 20 74 6c 25 3c 3e 39 20 8c 0d 14 f4 30 20 | . tl%<>9 ....0 | 00027820 21 73 6f 75 72 63 65 5f 61 64 64 72 65 73 73 3d |!source_address=| 00027830 a4 6d 65 6d 5f 74 6f 5f 62 6c 6f 63 6b 28 74 6c |.mem_to_block(tl| 00027840 25 29 2b 32 30 2b 34 30 39 36 30 0d 14 f5 42 20 |%)+20+40960...B | 00027850 21 64 65 73 74 5f 61 64 64 72 65 73 73 3d 73 63 |!dest_address=sc| 00027860 72 65 65 6e 25 2b 34 30 39 36 30 3a 21 71 75 61 |reen%+40960:!qua| 00027870 72 74 65 72 5f 6c 69 6e 65 73 3d 32 34 30 3a d6 |rter_lines=240:.| 00027880 20 6d 61 6b 65 5f 71 75 61 72 74 65 72 0d 14 f6 | make_quarter...| 00027890 06 20 cd 0d 14 f7 0f 20 e7 20 74 72 25 3c 3e 39 |. ..... . tr%<>9| 000278a0 20 8c 0d 14 f8 30 20 21 73 6f 75 72 63 65 5f 61 | ....0 !source_a| 000278b0 64 64 72 65 73 73 3d a4 6d 65 6d 5f 74 6f 5f 62 |ddress=.mem_to_b| 000278c0 6c 6f 63 6b 28 74 72 25 29 2b 32 30 2b 34 30 39 |lock(tr%)+20+409| 000278d0 36 30 0d 14 f9 42 20 21 64 65 73 74 5f 61 64 64 |60...B !dest_add| 000278e0 72 65 73 73 3d 73 63 72 65 65 6e 25 2b 34 31 36 |ress=screen%+416| 000278f0 30 30 3a 21 71 75 61 72 74 65 72 5f 6c 69 6e 65 |00:!quarter_line| 00027900 73 3d 32 34 30 3a d6 20 6d 61 6b 65 5f 71 75 61 |s=240:. make_qua| 00027910 72 74 65 72 0d 14 fa 06 20 cd 0d 14 fb 0f 20 e7 |rter.... ..... .| 00027920 20 62 6c 25 3c 3e 39 20 8c 0d 14 fc 30 20 21 73 | bl%<>9 ....0 !s| 00027930 6f 75 72 63 65 5f 61 64 64 72 65 73 73 3d a4 6d |ource_address=.m| 00027940 65 6d 5f 74 6f 5f 62 6c 6f 63 6b 28 62 6c 25 29 |em_to_block(bl%)| 00027950 2b 32 30 2b 34 30 39 36 30 0d 14 fd 43 20 21 64 |+20+40960...C !d| 00027960 65 73 74 5f 61 64 64 72 65 73 73 3d 73 63 72 65 |est_address=scre| 00027970 65 6e 25 2b 33 34 38 31 36 30 3a 21 71 75 61 72 |en%+348160:!quar| 00027980 74 65 72 5f 6c 69 6e 65 73 3d 32 34 30 3a d6 20 |ter_lines=240:. | 00027990 6d 61 6b 65 5f 71 75 61 72 74 65 72 0d 14 fe 06 |make_quarter....| 000279a0 20 cd 0d 14 ff 0f 20 e7 20 62 72 25 3c 3e 39 20 | ..... . br%<>9 | 000279b0 8c 0d 15 00 30 20 21 73 6f 75 72 63 65 5f 61 64 |....0 !source_ad| 000279c0 64 72 65 73 73 3d a4 6d 65 6d 5f 74 6f 5f 62 6c |dress=.mem_to_bl| 000279d0 6f 63 6b 28 62 72 25 29 2b 32 30 2b 34 30 39 36 |ock(br%)+20+4096| 000279e0 30 0d 15 01 43 20 21 64 65 73 74 5f 61 64 64 72 |0...C !dest_addr| 000279f0 65 73 73 3d 73 63 72 65 65 6e 25 2b 33 34 38 38 |ess=screen%+3488| 00027a00 30 30 3a 21 71 75 61 72 74 65 72 5f 6c 69 6e 65 |00:!quarter_line| 00027a10 73 3d 32 34 30 3a d6 20 6d 61 6b 65 5f 71 75 61 |s=240:. make_qua| 00027a20 72 74 65 72 0d 15 02 06 20 cd 0d 15 03 21 20 f2 |rter.... ....! .| 00027a30 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 3a f2 74 |upload_memory:.t| 00027a40 6f 70 73 63 61 6c 65 32 28 30 29 0d 15 04 06 20 |opscale2(0).... | 00027a50 cc 0d 15 05 0d 20 f2 64 69 73 6d 69 6e 69 0d 15 |..... .dismini..| 00027a60 06 06 20 cd 0d 15 07 06 20 e1 0d 15 08 04 0d 15 |.. ..... .......| 00027a70 09 21 20 dd 20 f2 71 75 61 64 5f 62 6f 72 64 65 |.! . .quad_borde| 00027a80 72 28 71 62 25 2c 72 25 2c 67 25 2c 62 25 29 0d |r(qb%,r%,g%,b%).| 00027a90 15 0a 0f 20 e6 20 72 25 2c 67 25 2c 62 25 0d 15 |... . r%,g%,b%..| 00027aa0 0b 2c 20 79 25 3d 37 36 38 2d 28 28 71 62 25 20 |., y%=768-((qb% | 00027ab0 81 20 34 29 2a 32 35 36 29 3a 78 25 3d 28 71 62 |. 4)*256):x%=(qb| 00027ac0 25 20 83 20 34 29 2a 33 32 30 0d 15 0c 15 20 c8 |% . 4)*320.... .| 00027ad0 93 20 78 25 2c 79 25 2c 33 31 38 2c 32 35 34 0d |. x%,y%,318,254.| 00027ae0 15 0d 19 20 c8 93 20 78 25 2b 32 2c 79 25 2b 32 |... .. x%+2,y%+2| 00027af0 2c 33 31 34 2c 32 35 30 0d 15 0e 19 20 c8 93 20 |,314,250.... .. | 00027b00 78 25 2b 34 2c 79 25 2b 34 2c 33 31 30 2c 32 34 |x%+4,y%+4,310,24| 00027b10 36 0d 15 0f 06 20 e1 0d 15 10 04 0d 15 11 14 20 |6.... ......... | 00027b20 dd 20 f2 71 75 61 64 5f 62 6f 72 64 65 72 32 0d |. .quad_border2.| 00027b30 15 12 34 20 e6 20 32 35 35 2c 30 2c 30 3a c8 93 |..4 . 255,0,0:..| 00027b40 20 33 32 30 2c 32 35 36 2c 33 31 38 2c 32 33 38 | 320,256,318,238| 00027b50 3a c8 93 20 36 34 30 2c 32 35 36 2c 33 31 38 2c |:.. 640,256,318,| 00027b60 32 33 38 0d 15 13 2a 20 c8 93 20 33 32 30 2c 34 |238...* .. 320,4| 00027b70 39 36 2c 33 31 38 2c 32 33 38 3a c8 93 20 36 34 |96,318,238:.. 64| 00027b80 30 2c 34 39 36 2c 33 31 38 2c 32 33 38 0d 15 14 |0,496,318,238...| 00027b90 06 20 e1 0d 15 15 04 0d 15 16 11 20 dd 20 f2 71 |. ......... . .q| 00027ba0 75 61 64 5f 6d 6f 76 65 0d 15 17 0e 20 c8 8e 20 |uad_move.... .. | 00027bb0 4d 42 31 25 20 ca 0d 15 18 0d 20 c9 20 34 3a 4d |MB1% ..... . 4:M| 00027bc0 25 3d 31 0d 15 19 0d 20 c9 20 37 3a 4d 25 3d 38 |%=1.... . 7:M%=8| 00027bd0 0d 15 1a 0d 20 c9 20 38 3a 4d 25 3d 32 0d 15 1b |.... . 8:M%=2...| 00027be0 0e 20 c9 20 31 31 3a 4d 25 3d 37 0d 15 1c 1c 20 |. . 11:M%=7.... | 00027bf0 c9 20 31 32 2c 31 33 2c 31 34 2c 31 35 3a 4d 25 |. 12,13,14,15:M%| 00027c00 3d 4d 42 31 25 2d 39 0d 15 1d 06 20 cb 0d 15 1e |=MB1%-9.... ....| 00027c10 16 20 e7 20 4d 25 3c 3d 6d 65 6d 6f 72 69 65 73 |. . M%<=memories| 00027c20 25 20 8c 0d 15 1f 23 20 e7 20 4d 42 32 25 3d 35 |% ....# . MB2%=5| 00027c30 20 84 20 4d 42 32 25 3d 36 20 6f 25 3d 31 36 20 | . MB2%=6 o%=16 | 00027c40 8b 20 6f 25 3d 38 0d 15 20 43 20 21 64 65 73 74 |. o%=8.. C !dest| 00027c50 5f 61 64 64 72 65 73 73 3d 73 63 72 65 65 6e 25 |_address=screen%| 00027c60 2b 28 4d 42 32 25 20 81 20 34 29 2a 31 36 33 38 |+(MB2% . 4)*1638| 00027c70 34 30 2b 28 4d 42 32 25 20 83 20 34 29 2a 33 32 |40+(MB2% . 4)*32| 00027c80 30 2b 31 32 38 30 2a 6f 25 0d 15 21 4d 20 21 73 |0+1280*o%..!M !s| 00027c90 6f 75 72 63 65 5f 61 64 64 72 65 73 73 3d a4 6d |ource_address=.m| 00027ca0 65 6d 5f 74 6f 5f 62 6c 6f 63 6b 28 4d 25 29 2b |em_to_block(M%)+| 00027cb0 32 30 2b 31 32 38 30 2a 33 32 3a 21 6d 69 6e 69 |20+1280*32:!mini| 00027cc0 5f 6c 69 6e 65 73 3d 31 32 30 3a d6 20 6d 61 6b |_lines=120:. mak| 00027cd0 65 5f 6d 69 6e 69 0d 15 22 12 20 f2 71 75 61 64 |e_mini..". .quad| 00027ce0 5f 62 6f 72 64 65 72 32 0d 15 23 0e 20 c8 8e 20 |_border2..#. .. | 00027cf0 4d 42 32 25 20 ca 0d 15 24 0f 20 c9 20 35 3a 74 |MB2% ...$. . 5:t| 00027d00 6c 25 3d 4d 25 0d 15 25 0f 20 c9 20 36 3a 74 72 |l%=M%..%. . 6:tr| 00027d10 25 3d 4d 25 0d 15 26 0f 20 c9 20 39 3a 62 6c 25 |%=M%..&. . 9:bl%| 00027d20 3d 4d 25 0d 15 27 10 20 c9 20 31 30 3a 62 72 25 |=M%..'. . 10:br%| 00027d30 3d 4d 25 0d 15 28 06 20 cb 0d 15 29 06 20 cd 0d |=M%..(. ...). ..| 00027d40 15 2a 06 20 e1 0d 15 2b 04 0d 15 2c 20 20 dd 20 |.*. ...+..., . | 00027d50 f2 71 75 61 64 5f 63 75 72 73 6f 72 28 73 6f 75 |.quad_cursor(sou| 00027d60 72 63 65 25 2c 78 2c 79 29 0d 15 2d 38 20 71 63 |rce%,x,y)..-8 qc| 00027d70 78 25 3d 28 73 6f 75 72 63 65 25 20 83 20 34 29 |x%=(source% . 4)| 00027d80 2a 33 32 30 3a 71 63 79 25 3d 37 36 38 2d 28 28 |*320:qcy%=768-((| 00027d90 73 6f 75 72 63 65 25 20 81 20 34 29 2a 32 35 36 |source% . 4)*256| 00027da0 29 0d 15 2e 28 20 78 6f 25 3d 78 2d 71 63 78 25 |)...( xo%=x-qcx%| 00027db0 3a 79 6f 25 3d 79 2d 71 63 79 25 3a e6 20 33 2c |:yo%=y-qcy%:. 3,| 00027dc0 36 33 20 c8 9c 20 31 39 32 0d 15 2f 19 20 c8 93 |63 .. 192../. ..| 00027dd0 20 71 63 78 25 2c 71 63 79 25 2c 33 31 38 2c 32 | qcx%,qcy%,318,2| 00027de0 33 38 0d 15 30 06 20 f5 0d 15 31 11 20 f5 3a c8 |38..0. ...1. .:.| 00027df0 97 20 78 31 2c 79 31 2c 42 0d 15 32 1a 20 fd 20 |. x1,y1,B..2. . | 00027e00 78 31 3c 3e 78 20 84 20 79 31 3c 3e 79 20 84 20 |x1<>x . y1<>y . | 00027e10 42 3d 30 0d 15 33 0d 20 e7 20 42 3c 3e 30 20 8c |B=0..3. . B<>0 .| 00027e20 0d 15 34 19 20 c8 93 20 71 63 78 25 2c 71 63 79 |..4. .. qcx%,qcy| 00027e30 25 2c 33 31 38 2c 32 33 38 0d 15 35 1c 20 71 63 |%,318,238..5. qc| 00027e40 78 25 3d 78 31 2d 78 6f 25 3a 71 63 79 25 3d 79 |x%=x1-xo%:qcy%=y| 00027e50 31 2d 79 6f 25 0d 15 36 19 20 c8 93 20 71 63 78 |1-yo%..6. .. qcx| 00027e60 25 2c 71 63 79 25 2c 33 31 38 2c 32 33 38 0d 15 |%,qcy%,318,238..| 00027e70 37 0e 20 78 3d 78 31 3a 79 3d 79 31 0d 15 38 06 |7. x=x1:y=y1..8.| 00027e80 20 cc 0d 15 39 19 20 c8 93 20 71 63 78 25 2c 71 | ...9. .. qcx%,q| 00027e90 63 79 25 2c 33 31 38 2c 32 33 38 0d 15 3a 06 20 |cy%,318,238..:. | 00027ea0 cd 0d 15 3b 0a 20 fd 20 42 3d 30 0d 15 3c 06 20 |...;. . B=0..<. | 00027eb0 e1 0d 15 3d 05 20 0d 15 3e 2a 20 dd 20 f2 71 75 |...=. ..>* . .qu| 00027ec0 61 64 5f 64 69 73 70 6c 61 79 5f 62 6f 72 64 65 |ad_display_borde| 00027ed0 72 28 72 25 2c 67 25 2c 62 25 2c 71 62 77 24 29 |r(r%,g%,b%,qbw$)| 00027ee0 0d 15 3f 14 20 f2 64 69 73 70 6c 61 79 5f 6d 65 |..?. .display_me| 00027ef0 6d 6f 72 79 0d 15 40 0e 20 c8 8e 20 71 62 77 24 |mory..@. .. qbw$| 00027f00 20 ca 0d 15 41 11 20 c9 20 22 6e 22 3a 71 77 25 | ...A. . "n":qw%| 00027f10 3d 31 30 0d 15 42 11 20 c9 20 22 6d 22 3a 71 77 |=10..B. . "m":qw| 00027f20 25 3d 32 30 0d 15 43 11 20 c9 20 22 77 22 3a 71 |%=20..C. . "w":q| 00027f30 77 25 3d 33 30 0d 15 44 06 20 cb 0d 15 45 1f 20 |w%=30..D. ...E. | 00027f40 e6 20 72 25 2c 67 25 2c 62 25 3a f2 64 69 73 70 |. r%,g%,b%:.disp| 00027f50 6c 61 79 5f 6d 65 6d 6f 72 79 0d 15 46 16 20 c8 |lay_memory..F. .| 00027f60 93 20 c8 90 20 30 2c 30 2c 71 77 25 2c 39 36 30 |. .. 0,0,qw%,960| 00027f70 0d 15 47 1d 20 c8 93 20 c8 90 20 30 2c 39 36 30 |..G. .. .. 0,960| 00027f80 2d 71 77 25 2c 31 32 38 30 2c 71 77 25 0d 15 48 |-qw%,1280,qw%..H| 00027f90 1d 20 c8 93 20 c8 90 20 31 32 37 39 2d 71 77 25 |. .. .. 1279-qw%| 00027fa0 2c 30 2c 71 77 25 2c 39 36 30 0d 15 49 17 20 c8 |,0,qw%,960..I. .| 00027fb0 93 20 c8 90 20 30 2c 30 2c 31 32 38 30 2c 71 77 |. .. 0,0,1280,qw| 00027fc0 25 0d 15 4a 1e 20 c8 93 20 c8 90 20 36 34 30 2d |%..J. .. .. 640-| 00027fd0 71 77 25 2f 32 2c 30 2c 71 77 25 2c 39 36 30 0d |qw%/2,0,qw%,960.| 00027fe0 15 4b 1f 20 c8 93 20 c8 90 20 30 2c 34 38 30 2d |.K. .. .. 0,480-| 00027ff0 71 77 25 2f 32 2c 31 32 38 30 2c 71 77 25 0d 15 |qw%/2,1280,qw%..| 00028000 4c 0c 20 f2 75 70 6d 69 6e 69 0d 15 4d 06 20 e1 |L. .upmini..M. .| 00028010 0d 15 4e 05 20 0d 15 4f 18 20 dd 20 f2 71 75 61 |..N. ..O. . .qua| 00028020 64 5f 62 6f 72 64 65 72 5f 6d 65 6e 75 0d 15 50 |d_border_menu..P| 00028030 06 20 f5 0d 15 51 22 20 6d 65 6e 75 24 28 30 29 |. ...Q" menu$(0)| 00028040 3d 22 20 20 51 75 61 64 20 62 6f 72 64 65 72 73 |=" Quad borders| 00028050 20 20 20 20 22 0d 15 52 3f 20 e7 20 71 62 77 24 | "..R? . qbw$| 00028060 3d 22 6e 22 20 8c 20 6d 65 6e 75 24 28 31 29 3d |="n" . menu$(1)=| 00028070 bd 31 32 38 2b 22 20 4e 61 72 72 6f 77 22 20 8b |.128+" Narrow" .| 00028080 20 6d 65 6e 75 24 28 31 29 3d 22 20 20 4e 61 72 | menu$(1)=" Nar| 00028090 72 6f 77 22 0d 15 53 3f 20 e7 20 71 62 77 24 3d |row"..S? . qbw$=| 000280a0 22 6d 22 20 8c 20 6d 65 6e 75 24 28 32 29 3d bd |"m" . menu$(2)=.| 000280b0 31 32 38 2b 22 20 4d 65 64 69 75 6d 22 20 8b 20 |128+" Medium" . | 000280c0 6d 65 6e 75 24 28 32 29 3d 22 20 20 4d 65 64 69 |menu$(2)=" Medi| 000280d0 75 6d 22 0d 15 54 3b 20 e7 20 71 62 77 24 3d 22 |um"..T; . qbw$="| 000280e0 77 22 20 8c 20 6d 65 6e 75 24 28 33 29 3d bd 31 |w" . menu$(3)=.1| 000280f0 32 38 2b 22 20 57 69 64 65 22 20 8b 20 6d 65 6e |28+" Wide" . men| 00028100 75 24 28 33 29 3d 22 20 20 57 69 64 65 22 0d 15 |u$(3)=" Wide"..| 00028110 55 21 20 6d 65 6e 75 24 28 34 29 3d 22 20 20 43 |U! menu$(4)=" C| 00028120 6f 6c 6f 75 72 20 73 65 6c 65 63 74 6f 72 22 0d |olour selector".| 00028130 15 56 20 20 6d 65 6e 75 24 28 35 29 3d 22 2a 22 |.V menu$(5)="*"| 00028140 3a f2 6d 65 6e 75 28 30 2c 39 30 2c 2d 31 29 0d |:.menu(0,90,-1).| 00028150 15 57 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 |.W. .. menu_box%| 00028160 20 ca 0d 15 58 11 20 c9 20 31 3a 71 62 77 24 3d | ...X. . 1:qbw$=| 00028170 22 6e 22 0d 15 59 11 20 c9 20 32 3a 71 62 77 24 |"n"..Y. . 2:qbw$| 00028180 3d 22 6d 22 0d 15 5a 11 20 c9 20 33 3a 71 62 77 |="m"..Z. . 3:qbw| 00028190 24 3d 22 77 22 0d 15 5b 18 20 c9 20 34 3a f2 72 |$="w"..[. . 4:.r| 000281a0 67 62 5f 73 6c 69 64 65 72 73 28 30 29 0d 15 5c |gb_sliders(0)..\| 000281b0 06 20 cb 0d 15 5d 21 20 fd 20 6d 65 6e 75 5f 62 |. ...]! . menu_b| 000281c0 6f 78 25 3d 34 20 84 20 6d 65 6e 75 5f 62 6f 78 |ox%=4 . menu_box| 000281d0 25 3d 39 39 0d 15 5e 4a 20 e7 20 6d 65 6e 75 5f |%=99..^J . menu_| 000281e0 62 6f 78 25 3d 34 20 8c 20 f2 71 75 61 64 5f 64 |box%=4 . .quad_d| 000281f0 69 73 70 6c 61 79 5f 62 6f 72 64 65 72 28 72 65 |isplay_border(re| 00028200 64 25 2c 67 72 6e 25 2c 62 6c 75 25 2c 71 62 77 |d%,grn%,blu%,qbw| 00028210 24 29 3a 6d 65 6e 75 5f 62 6f 78 25 3d 31 0d 15 |$):menu_box%=1..| 00028220 5f 06 20 e1 0d 15 60 05 20 0d 15 61 19 20 dd 20 |_. ...`. ..a. . | 00028230 f2 72 65 73 65 74 5f 74 30 5f 61 73 73 65 6d 62 |.reset_t0_assemb| 00028240 6c 65 0d 15 62 18 20 de 20 72 65 73 65 74 5f 74 |le..b. . reset_t| 00028250 30 5f 63 6f 64 65 25 20 36 34 0d 15 63 11 20 e3 |0_code% 64..c. .| 00028260 20 50 3d 30 20 b8 20 32 20 88 32 0d 15 64 16 20 | P=0 . 2 .2..d. | 00028270 50 25 3d 72 65 73 65 74 5f 74 30 5f 63 6f 64 65 |P%=reset_t0_code| 00028280 25 0d 15 65 0b 20 5b 4f 50 54 20 50 0d 15 66 15 |%..e. [OPT P..f.| 00028290 20 53 57 49 20 22 4f 53 5f 45 6e 74 65 72 4f 53 | SWI "OS_EnterOS| 000282a0 22 0d 15 67 16 20 4d 4f 56 20 52 32 2c 23 26 30 |"..g. MOV R2,#&0| 000282b0 33 32 30 30 30 30 30 0d 15 68 21 20 4d 4f 56 20 |3200000..h! MOV | 000282c0 52 30 2c 23 33 31 3a 53 54 52 42 20 52 30 2c 5b |R0,#31:STRB R0,[| 000282d0 52 32 2c 23 26 34 30 5d 0d 15 69 21 20 4d 4f 56 |R2,#&40]..i! MOV| 000282e0 20 52 30 2c 23 37 38 3a 53 54 52 42 20 52 30 2c | R0,#78:STRB R0,| 000282f0 5b 52 32 2c 23 26 34 34 5d 0d 15 6a 24 20 54 45 |[R2,#&44]..j$ TE| 00028300 51 50 20 50 43 2c 23 30 3a 4d 4f 56 20 52 30 2c |QP PC,#0:MOV R0,| 00028310 52 30 3a 4d 4f 56 20 50 43 2c 52 31 34 0d 15 6b |R0:MOV PC,R14..k| 00028320 08 20 5d 3a ed 0d 15 6c 06 20 e1 0d 15 6d 05 20 |. ]:...l. ...m. | 00028330 0d 15 6e 14 20 dd 20 a4 70 64 31 36 30 5f 63 75 |..n. . .pd160_cu| 00028340 72 73 6f 72 0d 15 6f 26 20 f2 77 61 69 74 5f 6e |rsor..o& .wait_n| 00028350 6f 5f 62 75 74 74 6f 6e 3a c8 97 20 c8 93 20 30 |o_button:.. .. 0| 00028360 2c 30 2c 32 35 34 2c 32 32 32 0d 15 70 24 20 c8 |,0,254,222..p$ .| 00028370 97 20 58 2c 59 2c 42 3a e6 20 33 2c 36 33 3a c8 |. X,Y,B:. 3,63:.| 00028380 93 20 58 2c 59 2c 31 30 32 34 2c 37 36 38 0d 15 |. X,Y,1024,768..| 00028390 71 06 20 f5 0d 15 72 11 20 f5 3a c8 97 20 58 31 |q. ...r. .:.. X1| 000283a0 2c 59 31 2c 42 0d 15 73 1b 20 fd 20 58 31 3c 3e |,Y1,B..s. . X1<>| 000283b0 58 20 84 20 59 31 3c 3e 59 20 84 20 42 3c 3e 30 |X . Y1<>Y . B<>0| 000283c0 0d 15 74 14 20 c8 93 20 58 2c 59 2c 31 30 32 34 |..t. .. X,Y,1024| 000283d0 2c 37 36 38 0d 15 75 16 20 c8 93 20 58 31 2c 59 |,768..u. .. X1,Y| 000283e0 31 2c 31 30 32 34 2c 37 36 38 0d 15 76 15 20 58 |1,1024,768..v. X| 000283f0 3d 58 31 3a 59 3d 59 31 3a fd 20 42 3c 3e 30 0d |=X1:Y=Y1:. B<>0.| 00028400 15 77 16 20 c8 93 20 58 31 2c 59 31 2c 31 30 32 |.w. .. X1,Y1,102| 00028410 34 2c 37 36 38 0d 15 78 1e 20 58 25 3d 28 58 20 |4,768..x. X%=(X | 00028420 81 20 34 29 2a 34 3a 59 25 3d 28 59 20 81 20 32 |. 4)*4:Y%=(Y . 2| 00028430 29 2a 32 0d 15 79 18 20 c8 97 20 c8 93 20 30 2c |)*2..y. .. .. 0,| 00028440 30 2c 31 32 38 30 2c 31 30 32 34 0d 15 7a 0c 20 |0,1280,1024..z. | 00028450 e7 20 42 3d 34 20 8c 0d 15 7b 0f 20 e6 20 33 32 |. B=4 ...{. . 32| 00028460 2c 33 32 2c 33 32 0d 15 7c 18 20 c8 93 20 c8 90 |,32,32..|. .. ..| 00028470 20 30 2c 30 2c 31 32 38 30 2c 59 25 2d 32 0d 15 | 0,0,1280,Y%-2..| 00028480 7d 18 20 c8 93 20 c8 90 20 30 2c 30 2c 58 25 2d |}. .. .. 0,0,X%-| 00028490 32 2c 31 30 32 34 0d 15 7e 1d 20 c8 93 20 c8 90 |2,1024..~. .. ..| 000284a0 20 31 30 32 34 2b 58 25 2c 30 2c 32 35 36 2c 31 | 1024+X%,0,256,1| 000284b0 30 32 34 0d 15 7f 1c 20 c8 93 20 c8 90 20 30 2c |024.... .. .. 0,| 000284c0 59 25 2b 37 36 38 2c 31 32 38 30 2c 32 38 30 0d |Y%+768,1280,280.| 000284d0 15 80 1f 20 f2 70 64 5f 6d 6f 64 65 5f 68 65 61 |... .pd_mode_hea| 000284e0 64 65 72 28 58 25 2c 59 25 2b 37 36 38 29 0d 15 |der(X%,Y%+768)..| 000284f0 81 13 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 |.. .upload_memor| 00028500 79 0d 15 82 1e 20 70 64 72 25 3d 28 28 32 32 34 |y.... pdr%=((224| 00028510 2d 59 25 29 2f 32 29 2a 31 32 38 30 2b 58 25 0d |-Y%)/2)*1280+X%.| 00028520 15 83 06 20 cc 0d 15 84 0b 20 70 64 72 25 3d 31 |... ..... pdr%=1| 00028530 0d 15 85 06 20 cd 0d 15 86 0a 20 3d 70 64 72 25 |.... ..... =pdr%| 00028540 0d 15 87 04 0d 15 88 1d 20 dd 20 f2 70 64 5f 6d |........ . .pd_m| 00028550 6f 64 65 5f 68 65 61 64 65 72 28 58 25 2c 59 25 |ode_header(X%,Y%| 00028560 29 0d 15 89 21 20 e7 20 6d 6f 64 65 25 3d 36 32 |)...! . mode%=62| 00028570 20 8c 20 57 25 3d 36 32 34 20 8b 20 57 25 3d 38 | . W%=624 . W%=8| 00028580 38 30 0d 15 8a 2a 20 e7 20 6d 6f 64 65 25 3d 36 |80...* . mode%=6| 00028590 33 20 84 20 6d 6f 64 65 25 3d 36 35 20 8c 20 48 |3 . mode%=65 . H| 000285a0 25 3d 36 34 20 8b 20 48 25 3d 33 32 0d 15 8b 10 |%=64 . H%=32....| 000285b0 20 e6 20 34 38 2c 34 38 2c 31 38 34 0d 15 8c 17 | . 48,48,184....| 000285c0 20 c8 93 20 c8 90 20 58 25 2c 59 25 2c 32 30 30 | .. .. X%,Y%,200| 000285d0 2c 48 25 0d 15 8d 1e 20 c8 93 20 c8 90 20 58 25 |,H%.... .. .. X%| 000285e0 2b 57 25 2b 31 39 38 2c 59 25 2c 32 30 34 2c 48 |+W%+198,Y%,204,H| 000285f0 25 0d 15 8e 25 20 c8 93 20 c8 90 20 58 25 2c 59 |%...% .. .. X%,Y| 00028600 25 2c 32 30 34 2c 48 25 3a e6 20 32 35 35 2c 32 |%,204,H%:. 255,2| 00028610 35 35 2c 32 35 35 0d 15 8f 04 0d 15 90 0f 20 c8 |55,255........ .| 00028620 8e 20 6d 6f 64 65 25 20 ca 0d 15 91 14 20 c9 20 |. mode% ..... . | 00028630 32 30 3a 70 64 24 3d 22 20 50 2d 33 22 0d 15 92 |20:pd$=" P-3"...| 00028640 14 20 c9 20 32 31 3a 70 64 24 3d 22 20 50 2d 35 |. . 21:pd$=" P-5| 00028650 22 0d 15 93 14 20 c9 20 32 32 3a 70 64 24 3d 22 |".... . 22:pd$="| 00028660 20 50 2d 37 22 0d 15 94 15 20 c9 20 36 30 3a 70 | P-7".... . 60:p| 00028670 64 24 3d 22 50 44 31 38 30 22 0d 15 95 15 20 c9 |d$="PD180".... .| 00028680 20 36 31 3a 70 64 24 3d 22 50 44 32 34 30 22 0d | 61:pd$="PD240".| 00028690 15 96 15 20 c9 20 36 32 3a 70 64 24 3d 22 50 44 |... . 62:pd$="PD| 000286a0 31 36 30 22 0d 15 97 15 20 c9 20 36 33 3a 70 64 |160".... . 63:pd| 000286b0 24 3d 22 50 44 20 39 30 22 0d 15 98 15 20 c9 20 |$="PD 90".... . | 000286c0 36 34 3a 70 64 24 3d 22 50 44 31 32 30 22 0d 15 |64:pd$="PD120"..| 000286d0 99 15 20 c9 20 36 35 3a 70 64 24 3d 22 50 44 20 |.. . 65:pd$="PD | 000286e0 35 30 22 0d 15 9a 06 20 cb 0d 15 9b 07 20 ef 35 |50".... ..... .5| 000286f0 0d 15 9c 1c 20 e7 20 6d 6f 64 65 25 3d 36 33 20 |.... . mode%=63 | 00028700 84 20 6d 6f 64 65 25 3d 36 35 20 8c 0d 15 9d 18 |. mode%=65 .....| 00028710 20 ef 32 33 2c 31 37 2c 37 2c 36 2c 31 36 3b 33 | .23,17,7,6,16;3| 00028720 32 3b 30 3b 0d 15 9e 0a 20 68 25 3d 35 34 0d 15 |2;0;.... h%=54..| 00028730 9f 06 20 cc 0d 15 a0 18 20 ef 32 33 2c 31 37 2c |.. ..... .23,17,| 00028740 37 2c 36 2c 31 36 3b 31 36 3b 30 3b 0d 15 a1 0a |7,6,16;16;0;....| 00028750 20 68 25 3d 32 38 0d 15 a2 06 20 cd 0d 15 a3 1c | h%=28.... .....| 00028760 20 ec 20 58 25 2b 57 25 2b 32 32 30 2c 59 25 2b | . X%+W%+220,Y%+| 00028770 68 25 3a f1 20 70 64 24 0d 15 a4 20 20 e7 20 a9 |h%:. pd$... . .| 00028780 28 63 61 6c 6c 24 29 3e 35 20 8c 20 78 25 3d 34 |(call$)>5 . x%=4| 00028790 20 8b 20 78 25 3d 31 36 0d 15 a5 1a 20 ec 20 58 | . x%=16.... . X| 000287a0 25 2b 78 25 2c 59 25 2b 68 25 3a f1 20 63 61 6c |%+x%,Y%+h%:. cal| 000287b0 6c 24 0d 15 a6 1e 20 ef 32 33 2c 31 37 2c 37 2c |l$.... .23,17,7,| 000287c0 36 2c 38 3b 38 3b 30 3b 3a ef 34 3a 87 3a c8 96 |6,8;8;0;:.4:.:..| 000287d0 0d 15 a7 11 20 47 25 3d 36 3a 77 3d 57 25 2f 33 |.... G%=6:w=W%/3| 000287e0 31 0d 15 a8 1e 20 e3 20 78 25 3d 58 25 2b 32 30 |1.... . x%=X%+20| 000287f0 30 20 b8 20 78 25 2b 57 25 2d 77 20 88 20 77 0d |0 . x%+W%-w . w.| 00028800 15 a9 22 20 e6 20 47 25 2c 47 25 2c 47 25 3a c8 |.." . G%,G%,G%:.| 00028810 93 20 c8 90 20 78 25 2c 59 25 2c 77 2b 38 2c 48 |. .. x%,Y%,w+8,H| 00028820 25 0d 15 aa 0c 20 47 25 2b 3d 38 3a ed 0d 15 ab |%.... G%+=8:....| 00028830 06 20 e1 0d 15 ac 04 0d 15 ad 1b 20 dd 20 f2 6c |. ......... . .l| 00028840 6f 61 64 5f 6f 6e 5f 6c 69 6e 65 5f 6d 61 6e 75 |oad_on_line_manu| 00028850 61 6c 0d 15 ae 3e 20 20 6d 61 6e 74 69 6c 65 5f |al...> mantile_| 00028860 73 69 7a 65 25 3d a4 66 69 6c 65 5f 6c 65 6e 28 |size%=.file_len(| 00028870 22 3c 50 73 63 61 6e 24 44 69 72 3e 2e 50 53 73 |"<Pscan$Dir>.PSs| 00028880 70 72 69 74 65 73 2e 4d 61 6e 74 69 6c 65 22 29 |prites.Mantile")| 00028890 0d 15 af 32 20 20 6d 61 6e 75 61 6c 5f 73 69 7a |...2 manual_siz| 000288a0 65 25 3d a4 66 69 6c 65 5f 6c 65 6e 28 22 3c 50 |e%=.file_len("<P| 000288b0 73 63 61 6e 24 44 69 72 3e 2e 4d 61 6e 75 61 6c |scan$Dir>.Manual| 000288c0 22 29 0d 15 b0 31 20 20 de 20 73 70 72 5f 6d 61 |")...1 . spr_ma| 000288d0 6e 75 61 6c 25 20 6d 61 6e 74 69 6c 65 5f 73 69 |nual% mantile_si| 000288e0 7a 65 25 2b 6d 61 6e 75 61 6c 5f 73 69 7a 65 25 |ze%+manual_size%| 000288f0 2b 33 32 0d 15 b1 22 20 20 21 73 70 72 5f 6d 61 |+32..." !spr_ma| 00028900 6e 75 61 6c 25 3d 6d 61 6e 74 69 6c 65 5f 73 69 |nual%=mantile_si| 00028910 7a 65 25 2b 34 0d 15 b2 38 20 20 73 70 72 5f 6d |ze%+4...8 spr_m| 00028920 61 6e 75 61 6c 25 21 34 3d 30 3a 73 70 72 5f 6d |anual%!4=0:spr_m| 00028930 61 6e 75 61 6c 25 21 38 3d 31 36 3a 73 70 72 5f |anual%!8=16:spr_| 00028940 6d 61 6e 75 61 6c 25 21 31 32 3d 31 36 0d 15 b3 |manual%!12=16...| 00028950 43 20 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 |C .. sprswi%,25| 00028960 36 2b 31 30 2c 73 70 72 5f 6d 61 6e 75 61 6c 25 |6+10,spr_manual%| 00028970 2c 22 3c 50 73 63 61 6e 24 44 69 72 3e 2e 50 53 |,"<Pscan$Dir>.PS| 00028980 73 70 72 69 74 65 73 2e 4d 61 6e 74 69 6c 65 22 |sprites.Mantile"| 00028990 0d 15 b4 44 20 20 ff 28 22 4c 4f 41 44 20 3c 50 |...D .("LOAD <P| 000289a0 73 63 61 6e 24 44 69 72 3e 2e 4d 61 6e 75 61 6c |scan$Dir>.Manual| 000289b0 20 22 2b c3 7e 28 73 70 72 5f 6d 61 6e 75 61 6c | "+.~(spr_manual| 000289c0 25 2b 6d 61 6e 74 69 6c 65 5f 73 69 7a 65 25 2b |%+mantile_size%+| 000289d0 31 36 29 29 0d 15 b5 06 20 e1 0d 15 b6 04 0d 15 |16)).... .......| 000289e0 b7 16 20 dd 20 f2 6f 6e 5f 6c 69 6e 65 5f 6d 61 |.. . .on_line_ma| 000289f0 6e 75 61 6c 0d 15 b8 24 20 54 25 3d 73 70 72 5f |nual...$ T%=spr_| 00028a00 6d 61 6e 75 61 6c 25 2b 6d 61 6e 74 69 6c 65 5f |manual%+mantile_| 00028a10 73 69 7a 65 25 2b 31 36 0d 15 b9 44 20 63 68 25 |size%+16...D ch%| 00028a20 3d 30 3a 21 6d 61 6e 5f 62 6c 6f 63 6b 5f 74 65 |=0:!man_block_te| 00028a30 6d 70 3d 54 25 3a 21 6d 61 6e 5f 6c 65 6e 5f 74 |mp=T%:!man_len_t| 00028a40 65 6d 70 3d 6d 61 6e 75 61 6c 5f 73 69 7a 65 25 |emp=manual_size%| 00028a50 3a d6 20 6d 61 6e 5f 63 6f 64 65 25 0d 15 ba 23 |:. man_code%...#| 00028a60 20 e6 20 38 30 2c 38 30 2c 38 30 3a c8 93 20 c8 | . 80,80,80:.. .| 00028a70 90 20 30 2c 30 2c 31 32 38 30 2c 31 30 32 34 0d |. 0,0,1280,1024.| 00028a80 15 bb 25 20 e6 20 32 35 35 2c 32 35 35 2c 32 35 |..% . 255,255,25| 00028a90 35 3a 86 20 38 2c 31 30 30 38 2c 31 32 36 36 2c |5:. 8,1008,1266,| 00028aa0 31 30 30 38 0d 15 bc 2e 20 86 20 38 2c 31 30 31 |1008.... . 8,101| 00028ab0 30 2c 31 32 36 36 2c 31 30 31 30 3a e6 20 30 2c |0,1266,1010:. 0,| 00028ac0 30 2c 30 3a 86 20 38 2c 37 38 2c 31 32 36 36 2c |0,0:. 8,78,1266,| 00028ad0 37 38 0d 15 bd 32 20 86 20 38 2c 37 36 2c 31 32 |78...2 . 8,76,12| 00028ae0 36 36 2c 37 36 3a e6 20 31 36 2c 31 36 2c 31 36 |66,76:. 16,16,16| 00028af0 3a 86 20 31 32 36 38 2c 37 36 2c 31 32 36 38 2c |:. 1268,76,1268,| 00028b00 31 30 31 30 0d 15 be 31 20 86 20 31 32 37 30 2c |1010...1 . 1270,| 00028b10 37 36 2c 31 32 37 30 2c 31 30 31 30 3a ef 35 2c |76,1270,1010:.5,| 00028b20 32 36 3a ef 32 33 2c 31 37 2c 37 2c 36 2c 38 3b |26:.23,17,7,6,8;| 00028b30 31 36 3b 30 3b 0d 15 bf 2d 20 43 52 25 3d 30 3a |16;0;...- CR%=0:| 00028b40 4e 25 3d 30 3a 6d 61 6e 71 75 69 74 25 3d a3 3a |N%=0:manquit%=.:| 00028b50 6e 65 77 70 61 72 61 25 3d a3 3a 70 61 67 65 25 |newpara%=.:page%| 00028b60 3d 30 0d 15 c0 28 20 f2 6d 61 6e 75 61 6c 5f 62 |=0...( .manual_b| 00028b70 75 74 74 6f 6e 73 3a 6d 61 6e 5f 62 6f 78 25 3d |uttons:man_box%=| 00028b80 39 39 3a f2 6d 6f 75 73 65 33 0d 15 c1 04 0d 15 |99:.mouse3......| 00028b90 c2 19 20 f5 3a f2 6d 61 6e 75 61 6c 5f 62 61 63 |.. .:.manual_bac| 00028ba0 6b 67 72 6f 75 6e 64 0d 15 c3 3d 20 e7 20 6e 65 |kground...= . ne| 00028bb0 77 70 61 72 61 25 20 8c 20 e6 20 30 2c 36 34 2c |wpara% . . 0,64,| 00028bc0 31 36 30 3a c8 93 20 c8 90 20 31 36 2c 39 35 34 |160:.. .. 16,954| 00028bd0 2c 31 32 34 30 2c 34 38 3a e6 20 32 35 35 2c 32 |,1240,48:. 255,2| 00028be0 35 35 2c 30 0d 15 c4 27 20 ec 20 32 34 2c 39 39 |55,0...' . 24,99| 00028bf0 32 3a 21 28 70 61 67 65 5f 73 74 6f 72 65 25 2b |2:!(page_store%+| 00028c00 70 61 67 65 25 2a 34 29 3d 4e 25 0d 15 c5 04 0d |page%*4)=N%.....| 00028c10 15 c6 25 20 f5 3a 4b 25 3d 3f 28 54 25 2b 4e 25 |..% .:K%=?(T%+N%| 00028c20 29 3a e7 20 4b 25 3d 97 22 bb 22 20 8c 20 43 52 |):. K%=."." . CR| 00028c30 25 3d 32 36 0d 15 c7 0e 20 e7 20 4b 25 3d 31 30 |%=26.... . K%=10| 00028c40 20 8c 0d 15 c8 26 20 ef 20 31 33 2c 31 30 3a 43 | ....& . 13,10:C| 00028c50 52 25 2b 3d 31 3a ec 20 42 59 20 32 34 2c 2d 34 |R%+=1:. BY 24,-4| 00028c60 3a e6 20 30 2c 30 2c 30 0d 15 c9 28 20 e7 20 3f |:. 0,0,0...( . ?| 00028c70 28 54 25 2b 4e 25 2b 33 29 3d 34 31 20 8c 20 43 |(T%+N%+3)=41 . C| 00028c80 52 25 3d 32 35 3a 6e 65 77 70 61 72 61 25 3d b9 |R%=25:newpara%=.| 00028c90 0d 15 ca 11 20 cc 20 6e 65 77 70 61 72 61 25 3d |.... . newpara%=| 00028ca0 a3 0d 15 cb 06 20 cd 0d 15 cc 13 20 e7 20 4b 25 |..... ..... . K%| 00028cb0 3e 33 30 20 8c 20 ef 20 4b 25 0d 15 cd 13 20 4e |>30 . . K%.... N| 00028cc0 25 2b 3d 31 3a fd 20 43 52 25 3e 32 34 0d 15 ce |%+=1:. CR%>24...| 00028cd0 04 0d 15 cf 0d 20 70 61 67 65 25 2b 3d 31 0d 15 |..... page%+=1..| 00028ce0 d0 1b 20 e7 20 6e 65 77 70 61 72 61 25 20 80 20 |.. . newpara% . | 00028cf0 70 61 67 65 25 3e 31 20 8c 0d 15 d1 30 20 ec 20 |page%>1 ....0 . | 00028d00 42 59 20 30 2c 33 32 3a e6 20 36 34 2c 30 2c 31 |BY 0,32:. 64,0,1| 00028d10 39 36 3a f1 20 22 ab 20 45 6e 64 20 6f 66 20 63 |96:. ". End of c| 00028d20 68 61 70 74 65 72 20 bb 22 0d 15 d2 06 20 cd 0d |hapter .".... ..| 00028d30 15 d3 20 20 e7 20 70 61 67 65 25 3e 31 20 8c 20 |.. . page%>1 . | 00028d40 f2 6d 61 6e 75 61 6c 5f 63 6f 6e 74 72 6f 6c 0d |.manual_control.| 00028d50 15 d4 21 20 43 52 25 3d 30 3a ec 20 42 59 20 32 |..! CR%=0:. BY 2| 00028d60 34 2c 2d 31 36 3a fd 20 6d 61 6e 71 75 69 74 25 |4,-16:. manquit%| 00028d70 0d 15 d5 15 20 ef 34 3a 87 3a c8 96 3a f2 64 69 |.... .4:.:..:.di| 00028d80 73 6d 69 6e 69 0d 15 d6 0f 20 2a 50 4f 49 4e 54 |smini.... *POINT| 00028d90 45 52 20 31 0d 15 d7 06 20 e1 0d 15 d8 04 0d 15 |ER 1.... .......| 00028da0 d9 16 20 dd 20 f2 6d 61 6e 75 61 6c 5f 63 6f 6e |.. . .manual_con| 00028db0 74 72 6f 6c 0d 15 da 21 20 e6 20 38 30 2c 38 30 |trol...! . 80,80| 00028dc0 2c 38 30 3a c8 93 20 c8 90 20 30 2c 31 36 2c 38 |,80:.. .. 0,16,8| 00028dd0 30 30 2c 35 34 0d 15 db 22 20 e6 20 31 32 38 2c |00,54..." . 128,| 00028de0 30 2c 32 35 35 3a c8 93 20 c8 90 20 38 2c 32 32 |0,255:.. .. 8,22| 00028df0 2c 37 35 30 2c 34 38 0d 15 dc 10 20 e7 20 70 61 |,750,48.... . pa| 00028e00 67 65 25 3d 32 20 8c 0d 15 dd 4b 20 20 f2 77 72 |ge%=2 ....K .wr| 00028e10 69 74 65 32 28 22 43 6c 69 63 6b 20 6f 6e 20 61 |ite2("Click on a| 00028e20 20 6c 69 6e 65 20 69 6e 20 74 68 65 20 69 6e 64 | line in the ind| 00028e30 65 78 20 74 6f 20 67 6f 20 74 6f 20 74 68 61 74 |ex to go to that| 00028e40 20 63 68 61 70 74 65 72 22 2c 32 34 2c 33 30 2c | chapter",24,30,| 00028e50 31 29 0d 15 de 06 20 cc 0d 15 df 4b 20 20 f2 77 |1).... ....K .w| 00028e60 72 69 74 65 32 28 22 43 6c 69 63 6b 20 61 6e 79 |rite2("Click any| 00028e70 77 68 65 72 65 20 6f 6e 20 74 68 69 73 20 70 61 |where on this pa| 00028e80 67 65 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 |ge to return to | 00028e90 74 68 65 20 69 6e 64 65 78 22 2c 32 34 2c 33 30 |the index",24,30| 00028ea0 2c 31 29 0d 15 e0 06 20 cd 0d 15 e1 22 20 f2 77 |,1).... ...." .w| 00028eb0 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 3a e6 20 |ait_no_button:. | 00028ec0 33 2c 36 33 20 c8 9c 20 31 39 32 0d 15 e2 12 20 |3,63 .. 192.... | 00028ed0 c8 8e 20 6d 61 6e 5f 62 6f 78 25 20 ca 0d 15 e3 |.. man_box% ....| 00028ee0 1c 20 c9 20 38 3a c8 93 20 c8 90 20 39 32 34 2c |. . 8:.. .. 924,| 00028ef0 32 32 2c 31 31 30 2c 34 38 0d 15 e4 1d 20 c9 20 |22,110,48.... . | 00028f00 39 3a c8 93 20 c8 90 20 31 30 33 38 2c 32 32 2c |9:.. .. 1038,22,| 00028f10 31 31 30 2c 34 36 0d 15 e5 06 20 cb 0d 15 e6 27 |110,46.... ....'| 00028f20 20 f5 20 3a 20 f4 20 70 61 67 65 25 3d 32 20 77 | . : . page%=2 w| 00028f30 68 65 6e 20 69 6e 64 65 78 20 64 69 73 70 6c 61 |hen index displa| 00028f40 79 65 64 0d 15 e7 0f 20 f5 3a c8 97 20 58 2c 59 |yed.... .:.. X,Y| 00028f50 2c 42 0d 15 e8 2e 20 e7 20 59 3e 32 30 30 20 80 |,B.... . Y>200 .| 00028f60 20 59 3c 38 36 30 20 80 20 94 28 58 2d 36 34 30 | Y<860 . .(X-640| 00028f70 29 3e 33 32 20 80 20 70 61 67 65 25 3d 32 20 8c |)>32 . page%=2 .| 00028f80 0d 15 e9 0d 20 20 f2 6d 6f 75 73 65 33 0d 15 ea |.... .mouse3...| 00028f90 06 20 cc 0d 15 eb 10 20 20 2a 50 4f 49 4e 54 45 |. ..... *POINTE| 00028fa0 52 20 31 0d 15 ec 06 20 cd 0d 15 ed 25 20 69 6e |R 1.... ....% in| 00028fb0 64 65 78 25 3d 28 28 28 31 30 32 34 2d 59 2b 38 |dex%=(((1024-Y+8| 00028fc0 29 20 81 20 33 36 29 2d 35 29 2a 32 2b 31 0d 15 |) . 36)-5)*2+1..| 00028fd0 ee 18 20 e7 20 58 3e 36 34 30 20 8c 20 69 6e 64 |.. . X>640 . ind| 00028fe0 65 78 25 2b 3d 31 0d 15 ef 0b 20 fd 20 42 3c 3e |ex%+=1.... . B<>| 00028ff0 30 0d 15 f0 29 20 e7 20 28 69 6e 64 65 78 25 3e |0...) . (index%>| 00029000 30 20 80 20 69 6e 64 65 78 25 3c 33 36 29 20 80 |0 . index%<36) .| 00029010 20 70 61 67 65 25 3d 32 20 8c 0d 15 f1 35 20 4e | page%=2 ....5 N| 00029020 25 3d 6d 61 6e 5f 63 68 61 70 74 65 72 25 21 28 |%=man_chapter%!(| 00029030 69 6e 64 65 78 25 2a 34 29 3a 6d 61 6e 5f 62 6f |index%*4):man_bo| 00029040 78 25 3d 32 3a 6e 65 77 70 61 72 61 25 3d b9 0d |x%=2:newpara%=..| 00029050 15 f2 06 20 cc 0d 15 f3 37 20 e7 20 59 3e 31 38 |... ....7 . Y>18| 00029060 20 80 20 59 3c 37 32 20 8c 20 6d 61 6e 5f 62 6f | . Y<72 . man_bo| 00029070 78 25 3d 28 58 2d 31 30 29 20 81 20 31 31 34 20 |x%=(X-10) . 114 | 00029080 8b 20 6d 61 6e 5f 62 6f 78 25 3d 30 0d 15 f4 06 |. man_box%=0....| 00029090 20 cd 0d 15 f5 12 20 c8 8e 20 6d 61 6e 5f 62 6f | ..... .. man_bo| 000290a0 78 25 20 ca 0d 15 f6 15 20 c9 20 30 3a 4e 25 3d |x% ..... . 0:N%=| 000290b0 30 3a 70 61 67 65 25 3d 30 0d 15 f7 17 20 c9 20 |0:page%=0.... . | 000290c0 38 3a f2 6d 61 6e 5f 70 61 67 65 5f 62 61 63 6b |8:.man_page_back| 000290d0 0d 15 f8 43 20 c9 20 39 3a e7 20 43 52 25 3c 3e |...C . 9:. CR%<>| 000290e0 32 36 20 8c 20 c8 93 20 c8 90 20 31 30 33 38 2c |26 . .. .. 1038,| 000290f0 32 32 2c 31 31 30 2c 34 38 20 8b 20 4e 25 3d 30 |22,110,48 . N%=0| 00029100 3a 70 61 67 65 25 3d 30 3a 6d 61 6e 5f 62 6f 78 |:page%=0:man_box| 00029110 25 3d 30 0d 15 f9 14 20 c9 20 31 30 3a 6d 61 6e |%=0.... . 10:man| 00029120 71 75 69 74 25 3d b9 0d 15 fa 06 20 cb 0d 15 fb |quit%=..... ....| 00029130 39 20 fd 20 6d 61 6e 5f 62 6f 78 25 3d 30 20 84 |9 . man_box%=0 .| 00029140 20 6d 61 6e 5f 62 6f 78 25 3d 32 20 84 20 6d 61 | man_box%=2 . ma| 00029150 6e 5f 62 6f 78 25 3e 37 20 80 20 6d 61 6e 5f 62 |n_box%>7 . man_b| 00029160 6f 78 25 3c 31 31 0d 15 fc 0c 20 e6 20 30 2c 30 |ox%<11.... . 0,0| 00029170 2c 30 0d 15 fd 06 20 e1 0d 15 fe 04 0d 15 ff 15 |,0.... .........| 00029180 20 dd 20 f2 6d 61 6e 5f 70 61 67 65 5f 62 61 63 | . .man_page_bac| 00029190 6b 0d 16 00 1c 20 e7 20 70 61 67 65 25 3e 30 20 |k.... . page%>0 | 000291a0 80 20 70 61 67 65 25 3c 32 30 30 20 8c 0d 16 01 |. page%<200 ....| 000291b0 21 20 4e 25 3d 70 61 67 65 5f 73 74 6f 72 65 25 |! N%=page_store%| 000291c0 21 28 28 70 61 67 65 25 2d 32 29 2a 34 29 0d 16 |!((page%-2)*4)..| 000291d0 02 21 20 c8 93 20 c8 90 20 39 32 34 2c 32 32 2c |.! .. .. 924,22,| 000291e0 31 31 30 2c 34 38 3a 70 61 67 65 25 2d 3d 32 0d |110,48:page%-=2.| 000291f0 16 03 2e 20 e7 20 3f 28 54 25 2b 4e 25 2b 32 29 |... . ?(T%+N%+2)| 00029200 3d 34 31 20 8c 20 6e 65 77 70 61 72 61 25 3d b9 |=41 . newpara%=.| 00029210 20 8b 20 6e 65 77 70 61 72 61 25 3d a3 0d 16 04 | . newpara%=....| 00029220 06 20 cd 0d 16 05 06 20 e1 0d 16 06 04 0d 16 07 |. ..... ........| 00029230 19 20 dd 20 f2 6d 61 6e 75 61 6c 5f 62 61 63 6b |. . .manual_back| 00029240 67 72 6f 75 6e 64 0d 16 08 2b 20 e3 20 58 25 3d |ground...+ . X%=| 00029250 38 20 b8 20 38 34 38 20 88 20 34 32 30 3a e3 20 |8 . 848 . 420:. | 00029260 59 25 3d 38 30 20 b8 20 36 39 36 20 88 20 33 30 |Y%=80 . 696 . 30| 00029270 38 0d 16 09 48 20 c8 99 20 73 70 72 73 77 69 25 |8...H .. sprswi%| 00029280 2c 32 35 36 2b 35 32 2c 73 70 72 5f 6d 61 6e 75 |,256+52,spr_manu| 00029290 61 6c 25 2c 22 6d 61 6e 74 69 6c 65 22 2c 58 25 |al%,"mantile",X%| 000292a0 2c 59 25 2c 30 2c 30 2c 74 72 61 6e 73 6c 61 74 |,Y%,0,0,translat| 000292b0 65 32 35 36 25 3a ed 3a ed 0d 16 0a 06 20 e1 0d |e256%:.:..... ..| 000292c0 16 0b 04 0d 16 0c 16 20 dd 20 f2 6d 61 6e 75 61 |....... . .manua| 000292d0 6c 5f 62 75 74 74 6f 6e 73 0d 16 0d 38 20 e3 20 |l_buttons...8 . | 000292e0 58 25 3d 38 31 34 20 b8 20 31 31 35 36 20 88 20 |X%=814 . 1156 . | 000292f0 31 31 34 3a f2 72 61 69 73 65 64 5f 62 6c 6f 63 |114:.raised_bloc| 00029300 6b 28 58 25 2c 32 36 2c 31 30 32 2c 34 30 29 3a |k(X%,26,102,40):| 00029310 ed 0d 16 0e 3c 20 f2 77 72 69 74 65 32 28 22 6e |....< .write2("n| 00029320 65 78 74 20 3e 22 2c 31 30 33 36 2c 33 30 2c 34 |ext >",1036,30,4| 00029330 29 3a f2 77 72 69 74 65 32 28 22 43 61 6e 63 65 |):.write2("Cance| 00029340 6c 22 2c 31 31 35 30 2c 33 30 2c 34 29 0d 16 0f |l",1150,30,4)...| 00029350 3a 20 f2 77 72 69 74 65 32 28 22 3c 20 62 61 63 |: .write2("< bac| 00029360 6b 22 2c 39 32 30 2c 33 30 2c 34 29 3a f2 77 72 |k",920,30,4):.wr| 00029370 69 74 65 32 28 22 53 65 61 72 63 68 22 2c 38 30 |ite2("Search",80| 00029380 36 2c 33 30 2c 36 29 0d 16 10 06 20 e1 0d 16 11 |6,30,6).... ....| 00029390 04 0d 16 12 17 20 dd 20 f2 6d 61 6e 75 61 6c 5f |..... . .manual_| 000293a0 61 73 73 65 6d 62 6c 65 0d 16 13 14 20 de 20 6d |assemble.... . m| 000293b0 61 6e 5f 63 6f 64 65 25 20 32 35 36 0d 16 14 11 |an_code% 256....| 000293c0 20 e3 20 50 3d 30 20 b8 20 32 20 88 32 0d 16 15 | . P=0 . 2 .2...| 000293d0 11 20 50 25 3d 6d 61 6e 5f 63 6f 64 65 25 0d 16 |. P%=man_code%..| 000293e0 16 0b 20 5b 4f 50 54 20 50 0d 16 17 2e 20 4c 44 |.. [OPT P.... LD| 000293f0 52 20 52 33 2c 6d 61 6e 5f 62 6c 6f 63 6b 5f 74 |R R3,man_block_t| 00029400 65 6d 70 3a 4c 44 52 20 52 34 2c 6d 61 6e 5f 6c |emp:LDR R4,man_l| 00029410 65 6e 5f 74 65 6d 70 0d 16 18 2d 20 4c 44 52 20 |en_temp...- LDR | 00029420 52 35 2c 6d 61 6e 5f 63 68 61 70 5f 74 65 6d 70 |R5,man_chap_temp| 00029430 3a 4d 4f 56 20 52 32 2c 23 30 3a 4d 4f 56 20 52 |:MOV R2,#0:MOV R| 00029440 36 2c 23 30 0d 16 19 33 20 2e 6d 61 6e 5f 6c 6f |6,#0...3 .man_lo| 00029450 6f 70 20 4c 44 52 42 20 52 30 2c 5b 52 33 2c 52 |op LDRB R0,[R3,R| 00029460 32 5d 3a 43 4d 50 20 52 30 2c 23 31 30 3a 42 4e |2]:CMP R0,#10:BN| 00029470 45 20 6e 6f 5f 6c 66 0d 16 1a 2c 20 41 44 44 20 |E no_lf..., ADD | 00029480 52 32 2c 52 32 2c 23 33 3a 4c 44 52 42 20 52 30 |R2,R2,#3:LDRB R0| 00029490 2c 5b 52 33 2c 52 32 5d 3a 43 4d 50 20 52 30 2c |,[R3,R2]:CMP R0,| 000294a0 23 34 31 0d 16 1b 40 20 53 55 42 20 52 32 2c 52 |#41...@ SUB R2,R| 000294b0 32 2c 23 32 3a 53 54 52 45 51 20 52 32 2c 5b 52 |2,#2:STREQ R2,[R| 000294c0 35 2c 52 36 5d 3a 41 44 44 45 51 20 52 36 2c 52 |5,R6]:ADDEQ R6,R| 000294d0 36 2c 23 34 3a 53 55 42 45 51 20 52 32 2c 52 32 |6,#4:SUBEQ R2,R2| 000294e0 2c 23 31 0d 16 1c 2f 20 2e 6e 6f 5f 6c 66 20 41 |,#1.../ .no_lf A| 000294f0 44 44 20 52 32 2c 52 32 2c 23 31 3a 43 4d 50 20 |DD R2,R2,#1:CMP | 00029500 52 32 2c 52 34 3a 42 4c 54 20 6d 61 6e 5f 6c 6f |R2,R4:BLT man_lo| 00029510 6f 70 0d 16 1d 19 20 4d 4f 56 20 52 30 2c 52 36 |op.... MOV R0,R6| 00029520 3a 4d 4f 56 20 50 43 2c 52 31 34 0d 16 1e 1b 20 |:MOV PC,R14.... | 00029530 2e 6d 61 6e 5f 62 6c 6f 63 6b 5f 74 65 6d 70 20 |.man_block_temp | 00029540 45 51 55 44 20 30 0d 16 1f 1b 20 2e 6d 61 6e 5f |EQUD 0.... .man_| 00029550 6c 65 6e 5f 74 65 6d 70 20 20 20 45 51 55 44 20 |len_temp EQUD | 00029560 30 0d 16 20 1b 20 2e 6d 61 6e 5f 63 68 61 70 5f |0.. . .man_chap_| 00029570 74 65 6d 70 20 20 45 51 55 44 20 30 0d 16 21 06 |temp EQUD 0..!.| 00029580 20 5d 0d 16 22 06 20 ed 0d 16 23 46 20 de 20 70 | ]..". ...#F . p| 00029590 61 67 65 5f 73 74 6f 72 65 25 20 32 30 30 2a 34 |age_store% 200*4| 000295a0 2c 6d 61 6e 5f 63 68 61 70 74 65 72 25 20 35 30 |,man_chapter% 50| 000295b0 2a 34 3a 21 6d 61 6e 5f 63 68 61 70 5f 74 65 6d |*4:!man_chap_tem| 000295c0 70 3d 6d 61 6e 5f 63 68 61 70 74 65 72 25 0d 16 |p=man_chapter%..| 000295d0 24 06 20 e1 0d 16 25 04 0d 16 26 11 20 dd 20 f2 |$. ...%...&. . .| 000295e0 74 72 61 6e 5f 6d 65 6e 75 0d 16 27 20 20 6d 65 |tran_menu..' me| 000295f0 6e 75 24 28 30 29 3d 22 52 6f 74 61 74 65 20 6f |nu$(0)="Rotate o| 00029600 72 20 66 6c 69 70 20 20 22 0d 16 28 1e 20 6d 65 |r flip "..(. me| 00029610 6e 75 24 28 31 29 3d 22 52 6f 74 61 74 65 20 6c |nu$(1)="Rotate l| 00029620 65 66 74 20 39 30 22 0d 16 29 1f 20 6d 65 6e 75 |eft 90"..). menu| 00029630 24 28 32 29 3d 22 52 6f 74 61 74 65 20 72 69 67 |$(2)="Rotate rig| 00029640 68 74 20 39 30 22 0d 16 2a 1a 20 6d 65 6e 75 24 |ht 90"..*. menu$| 00029650 28 33 29 3d 22 52 6f 74 61 74 65 20 31 38 30 22 |(3)="Rotate 180"| 00029660 0d 16 2b 1f 20 6d 65 6e 75 24 28 34 29 3d 22 46 |..+. menu$(4)="F| 00029670 6c 69 70 20 6c 65 66 74 2d 72 69 67 68 74 22 0d |lip left-right".| 00029680 16 2c 1f 20 6d 65 6e 75 24 28 35 29 3d 22 46 6c |.,. menu$(5)="Fl| 00029690 69 70 20 74 6f 70 2d 62 6f 74 74 6f 6d 22 0d 16 |ip top-bottom"..| 000296a0 2d 20 20 6d 65 6e 75 24 28 36 29 3d 22 2a 22 3a |- menu$(6)="*":| 000296b0 f2 6d 65 6e 75 28 30 2c 39 30 2c 2d 31 29 0d 16 |.menu(0,90,-1)..| 000296c0 2e 13 20 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 20 |.. .. menu_box% | 000296d0 ca 0d 16 2f 4e 20 c9 20 31 3a 78 31 25 3d 31 32 |.../N . 1:x1%=12| 000296e0 38 3a 79 31 25 3d 2d 31 32 38 3a 78 32 25 3d 31 |8:y1%=-128:x2%=1| 000296f0 32 38 3a 79 32 25 3d 31 31 35 31 3a 78 33 25 3d |28:y2%=1151:x3%=| 00029700 31 31 35 31 3a 79 33 25 3d 31 31 35 31 3a 78 34 |1151:y3%=1151:x4| 00029710 25 3d 31 31 35 31 3a 79 34 25 3d 2d 31 32 38 0d |%=1151:y4%=-128.| 00029720 16 30 4e 20 c9 20 32 3a 78 31 25 3d 31 31 35 31 |.0N . 2:x1%=1151| 00029730 3a 79 31 25 3d 31 31 35 31 3a 78 32 25 3d 31 31 |:y1%=1151:x2%=11| 00029740 35 31 3a 79 32 25 3d 2d 31 32 38 3a 78 33 25 3d |51:y2%=-128:x3%=| 00029750 31 32 38 3a 79 33 25 3d 2d 31 32 38 3a 78 34 25 |128:y3%=-128:x4%| 00029760 3d 31 32 38 3a 79 34 25 3d 31 31 35 31 0d 16 31 |=128:y4%=1151..1| 00029770 44 20 c9 20 33 3a 78 31 25 3d 31 32 37 39 3a 79 |D . 3:x1%=1279:y| 00029780 31 25 3d 30 3a 78 32 25 3d 30 3a 79 32 25 3d 30 |1%=0:x2%=0:y2%=0| 00029790 3a 78 33 25 3d 30 3a 79 33 25 3d 31 30 32 33 3a |:x3%=0:y3%=1023:| 000297a0 78 34 25 3d 31 32 37 39 3a 79 34 25 3d 31 30 32 |x4%=1279:y4%=102| 000297b0 33 0d 16 32 44 20 c9 20 34 3a 78 31 25 3d 31 32 |3..2D . 4:x1%=12| 000297c0 37 39 3a 79 31 25 3d 31 30 32 33 3a 78 32 25 3d |79:y1%=1023:x2%=| 000297d0 30 3a 79 32 25 3d 31 30 32 33 3a 78 33 25 3d 30 |0:y2%=1023:x3%=0| 000297e0 3a 79 33 25 3d 30 3a 78 34 25 3d 31 32 37 39 3a |:y3%=0:x4%=1279:| 000297f0 79 34 25 3d 30 0d 16 33 44 20 c9 20 35 3a 78 31 |y4%=0..3D . 5:x1| 00029800 25 3d 30 3a 79 31 25 3d 30 3a 78 32 25 3d 31 32 |%=0:y1%=0:x2%=12| 00029810 37 39 3a 79 32 25 3d 30 3a 78 33 25 3d 31 32 37 |79:y2%=0:x3%=127| 00029820 39 3a 79 33 25 3d 31 30 32 33 3a 78 34 25 3d 30 |9:y3%=1023:x4%=0| 00029830 3a 79 34 25 3d 31 30 32 33 0d 16 34 06 20 cb 0d |:y4%=1023..4. ..| 00029840 16 35 16 20 e7 20 6d 65 6e 75 5f 62 6f 78 25 3c |.5. . menu_box%<| 00029850 3e 39 39 20 8c 0d 16 36 14 20 f2 64 69 73 70 6c |>99 ...6. .displ| 00029860 61 79 5f 6d 65 6d 6f 72 79 0d 16 37 24 20 74 72 |ay_memory..7$ tr| 00029870 61 6e 25 21 30 3d 78 31 25 2a 32 35 36 3a 74 72 |an%!0=x1%*256:tr| 00029880 61 6e 25 21 34 3d 79 31 25 2a 32 35 36 0d 16 38 |an%!4=y1%*256..8| 00029890 25 20 74 72 61 6e 25 21 38 3d 78 32 25 2a 32 35 |% tran%!8=x2%*25| 000298a0 36 3a 74 72 61 6e 25 21 31 32 3d 79 32 25 2a 32 |6:tran%!12=y2%*2| 000298b0 35 36 0d 16 39 26 20 74 72 61 6e 25 21 31 36 3d |56..9& tran%!16=| 000298c0 78 33 25 2a 32 35 36 3a 74 72 61 6e 25 21 32 30 |x3%*256:tran%!20| 000298d0 3d 79 33 25 2a 32 35 36 0d 16 3a 26 20 74 72 61 |=y3%*256..:& tra| 000298e0 6e 25 21 32 34 3d 78 34 25 2a 32 35 36 3a 74 72 |n%!24=x4%*256:tr| 000298f0 61 6e 25 21 32 38 3d 79 34 25 2a 32 35 36 0d 16 |an%!28=y4%*256..| 00029900 3b 44 20 6d 65 6d 62 6c 6f 63 6b 25 21 30 3d 36 |;D memblock%!0=6| 00029910 35 35 34 32 30 3a 6d 65 6d 62 6c 6f 63 6b 25 21 |55420:memblock%!| 00029920 34 3d 30 3a 6d 65 6d 62 6c 6f 63 6b 25 21 38 3d |4=0:memblock%!8=| 00029930 31 36 3a 6d 65 6d 62 6c 6f 63 6b 25 21 31 32 3d |16:memblock%!12=| 00029940 31 36 0d 16 3c 37 20 c8 99 20 73 70 72 73 77 69 |16..<7 .. sprswi| 00029950 25 2c 32 35 36 2b 31 36 2c 6d 65 6d 62 6c 6f 63 |%,256+16,membloc| 00029960 6b 25 2c 22 74 72 61 6e 22 2c 30 2c 30 2c 30 2c |k%,"tran",0,0,0,| 00029970 31 32 37 39 2c 31 30 32 33 0d 16 3d 23 20 e6 20 |1279,1023..=# . | 00029980 33 32 2c 33 32 2c 33 32 3a c8 93 20 c8 90 20 30 |32,32,32:.. .. 0| 00029990 2c 30 2c 31 32 38 30 2c 31 30 32 34 0d 16 3e 32 |,0,1280,1024..>2| 000299a0 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b | .. sprswi%,256+| 000299b0 35 36 2c 6d 65 6d 62 6c 6f 63 6b 25 2c 22 74 72 |56,memblock%,"tr| 000299c0 61 6e 22 2c 31 2c 2c 30 2c 74 72 61 6e 25 0d 16 |an",1,,0,tran%..| 000299d0 3f 1f 20 6d 65 6e 75 5f 62 6f 78 25 3d 31 3a f2 |?. menu_box%=1:.| 000299e0 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d 16 40 |upload_memory..@| 000299f0 06 20 cd 0d 16 41 06 20 e1 0d 16 42 04 0d 16 43 |. ...A. ...B...C| 00029a00 0d 20 dd 20 f2 6d 65 72 67 65 0d 16 44 3c 20 21 |. . .merge..D< !| 00029a10 6d 65 72 67 65 5f 6d 65 6d 5f 74 65 6d 70 3d 6d |merge_mem_temp=m| 00029a20 65 6d 62 6c 6f 63 6b 25 2b 32 30 3a 21 6d 65 72 |emblock%+20:!mer| 00029a30 67 65 5f 73 63 72 65 65 6e 5f 74 65 6d 70 3d 73 |ge_screen_temp=s| 00029a40 63 72 65 65 6e 25 0d 16 45 21 20 d6 20 6d 65 72 |creen%..E! . mer| 00029a50 67 65 5f 63 6f 64 65 25 3a f2 75 70 6c 6f 61 64 |ge_code%:.upload| 00029a60 5f 6d 65 6d 6f 72 79 0d 16 46 06 20 e1 0d 16 47 |_memory..F. ...G| 00029a70 04 0d 16 48 16 20 dd 20 f2 6d 65 72 67 65 5f 61 |...H. . .merge_a| 00029a80 73 73 65 6d 62 6c 65 0d 16 49 16 20 de 20 6d 65 |ssemble..I. . me| 00029a90 72 67 65 5f 63 6f 64 65 25 20 33 32 30 0d 16 4a |rge_code% 320..J| 00029aa0 37 20 6d 65 6d 5f 62 61 73 65 3d 31 3a 73 63 72 |7 mem_base=1:scr| 00029ab0 6e 5f 62 61 73 65 3d 32 3a 6f 66 66 73 65 74 3d |n_base=2:offset=| 00029ac0 33 3a 64 61 74 61 3d 34 3a 6e 65 77 5f 77 6f 72 |3:data=4:new_wor| 00029ad0 64 3d 31 32 0d 16 4b 3e 20 72 65 64 31 3d 35 3a |d=12..K> red1=5:| 00029ae0 67 72 65 65 6e 31 3d 36 3a 62 6c 75 65 31 3d 37 |green1=6:blue1=7| 00029af0 3a 72 65 64 32 3d 38 3a 67 72 65 65 6e 32 3d 39 |:red2=8:green2=9| 00029b00 3a 62 6c 75 65 32 3d 31 30 3a 6c 69 6e 65 73 3d |:blue2=10:lines=| 00029b10 31 31 0d 16 4c 12 20 e3 20 50 3d 30 20 b8 20 32 |11..L. . P=0 . 2| 00029b20 20 88 20 32 0d 16 4d 13 20 50 25 3d 6d 65 72 67 | . 2..M. P%=merg| 00029b30 65 5f 63 6f 64 65 25 0d 16 4e 0b 20 5b 4f 50 54 |e_code%..N. [OPT| 00029b40 20 50 0d 16 4f 40 20 4c 44 52 20 6d 65 6d 5f 62 | P..O@ LDR mem_b| 00029b50 61 73 65 2c 6d 65 72 67 65 5f 6d 65 6d 5f 74 65 |ase,merge_mem_te| 00029b60 6d 70 3a 4c 44 52 20 73 63 72 6e 5f 62 61 73 65 |mp:LDR scrn_base| 00029b70 2c 6d 65 72 67 65 5f 73 63 72 65 65 6e 5f 74 65 |,merge_screen_te| 00029b80 6d 70 0d 16 50 21 20 4d 4f 56 20 6f 66 66 73 65 |mp..P! MOV offse| 00029b90 74 2c 23 30 3a 4d 4f 56 20 6c 69 6e 65 73 2c 23 |t,#0:MOV lines,#| 00029ba0 35 31 32 0d 16 51 04 0d 16 52 10 20 2e 6d 65 72 |512..Q...R. .mer| 00029bb0 67 65 5f 6c 6f 6f 70 0d 16 53 2f 20 4c 44 52 20 |ge_loop..S/ LDR | 00029bc0 64 61 74 61 2c 5b 6d 65 6d 5f 62 61 73 65 2c 6f |data,[mem_base,o| 00029bd0 66 66 73 65 74 5d 3a 80 20 72 65 64 31 2c 64 61 |ffset]:. red1,da| 00029be0 74 61 2c 23 33 31 0d 16 54 2a 20 4d 4f 56 20 64 |ta,#31..T* MOV d| 00029bf0 61 74 61 2c 64 61 74 61 2c 4c 53 52 23 35 3a 80 |ata,data,LSR#5:.| 00029c00 20 67 72 65 65 6e 31 2c 64 61 74 61 2c 23 33 31 | green1,data,#31| 00029c10 0d 16 55 29 20 4d 4f 56 20 64 61 74 61 2c 64 61 |..U) MOV data,da| 00029c20 74 61 2c 4c 53 52 23 35 3a 80 20 62 6c 75 65 31 |ta,LSR#5:. blue1| 00029c30 2c 64 61 74 61 2c 23 33 31 0d 16 56 40 20 4c 44 |,data,#31..V@ LD| 00029c40 52 20 52 30 2c 5b 73 63 72 6e 5f 62 61 73 65 2c |R R0,[scrn_base,| 00029c50 6f 66 66 73 65 74 5d 3a 80 20 72 65 64 32 2c 52 |offset]:. red2,R| 00029c60 30 2c 23 33 31 3a 4d 4f 56 20 72 65 64 32 2c 72 |0,#31:MOV red2,r| 00029c70 65 64 32 2c 4c 53 52 23 31 0d 16 57 3c 20 4d 4f |ed2,LSR#1..W< MO| 00029c80 56 20 52 30 2c 52 30 2c 4c 53 52 23 35 3a 80 20 |V R0,R0,LSR#5:. | 00029c90 67 72 65 65 6e 32 2c 52 30 2c 23 33 31 3a 4d 4f |green2,R0,#31:MO| 00029ca0 56 20 67 72 65 65 6e 32 2c 67 72 65 65 6e 32 2c |V green2,green2,| 00029cb0 4c 53 52 23 31 0d 16 58 39 20 4d 4f 56 20 52 30 |LSR#1..X9 MOV R0| 00029cc0 2c 52 30 2c 4c 53 52 23 35 3a 80 20 62 6c 75 65 |,R0,LSR#5:. blue| 00029cd0 32 2c 52 30 2c 23 33 31 3a 4d 4f 56 20 62 6c 75 |2,R0,#31:MOV blu| 00029ce0 65 32 2c 62 6c 75 65 32 2c 4c 53 52 23 31 0d 16 |e2,blue2,LSR#1..| 00029cf0 59 45 20 41 44 44 20 72 65 64 31 2c 72 65 64 31 |YE ADD red1,red1| 00029d00 2c 72 65 64 32 3a 43 4d 50 20 72 65 64 31 2c 23 |,red2:CMP red1,#| 00029d10 33 31 3a 4d 4f 56 47 54 20 72 65 64 31 2c 23 33 |31:MOVGT red1,#3| 00029d20 31 3a 4d 4f 56 20 6e 65 77 5f 77 6f 72 64 2c 72 |1:MOV new_word,r| 00029d30 65 64 31 0d 16 5a 3d 20 41 44 44 20 67 72 65 65 |ed1..Z= ADD gree| 00029d40 6e 31 2c 67 72 65 65 6e 31 2c 67 72 65 65 6e 32 |n1,green1,green2| 00029d50 3a 43 4d 50 20 67 72 65 65 6e 31 2c 23 33 31 3a |:CMP green1,#31:| 00029d60 4d 4f 56 47 54 20 67 72 65 65 6e 31 2c 23 33 31 |MOVGT green1,#31| 00029d70 0d 16 5b 39 20 4d 4f 56 20 67 72 65 65 6e 31 2c |..[9 MOV green1,| 00029d80 67 72 65 65 6e 31 2c 4c 53 4c 23 35 3a 41 44 44 |green1,LSL#5:ADD| 00029d90 20 6e 65 77 5f 77 6f 72 64 2c 6e 65 77 5f 77 6f | new_word,new_wo| 00029da0 72 64 2c 67 72 65 65 6e 31 0d 16 5c 38 20 41 44 |rd,green1..\8 AD| 00029db0 44 20 62 6c 75 65 31 2c 62 6c 75 65 31 2c 62 6c |D blue1,blue1,bl| 00029dc0 75 65 32 3a 43 4d 50 20 62 6c 75 65 31 2c 23 33 |ue2:CMP blue1,#3| 00029dd0 31 3a 4d 4f 56 47 54 20 62 6c 75 65 31 2c 23 33 |1:MOVGT blue1,#3| 00029de0 31 0d 16 5d 37 20 4d 4f 56 20 62 6c 75 65 31 2c |1..]7 MOV blue1,| 00029df0 62 6c 75 65 31 2c 4c 53 4c 23 31 30 3a 41 44 44 |blue1,LSL#10:ADD| 00029e00 20 6e 65 77 5f 77 6f 72 64 2c 6e 65 77 5f 77 6f | new_word,new_wo| 00029e10 72 64 2c 62 6c 75 65 31 0d 16 5e 04 0d 16 5f 28 |rd,blue1..^..._(| 00029e20 20 4d 4f 56 20 64 61 74 61 2c 64 61 74 61 2c 4c | MOV data,data,L| 00029e30 53 52 23 36 3a 80 20 72 65 64 31 2c 64 61 74 61 |SR#6:. red1,data| 00029e40 2c 23 33 31 0d 16 60 2a 20 4d 4f 56 20 64 61 74 |,#31..`* MOV dat| 00029e50 61 2c 64 61 74 61 2c 4c 53 52 23 35 3a 80 20 67 |a,data,LSR#5:. g| 00029e60 72 65 65 6e 31 2c 64 61 74 61 2c 23 33 31 0d 16 |reen1,data,#31..| 00029e70 61 29 20 4d 4f 56 20 64 61 74 61 2c 64 61 74 61 |a) MOV data,data| 00029e80 2c 4c 53 52 23 35 3a 80 20 62 6c 75 65 31 2c 64 |,LSR#5:. blue1,d| 00029e90 61 74 61 2c 23 33 31 0d 16 62 36 20 4d 4f 56 20 |ata,#31..b6 MOV | 00029ea0 52 30 2c 52 30 2c 4c 53 52 23 36 3a 80 20 72 65 |R0,R0,LSR#6:. re| 00029eb0 64 32 2c 52 30 2c 23 33 31 3a 4d 4f 56 20 72 65 |d2,R0,#31:MOV re| 00029ec0 64 32 2c 72 65 64 32 2c 4c 53 52 23 31 0d 16 63 |d2,red2,LSR#1..c| 00029ed0 3c 20 4d 4f 56 20 52 30 2c 52 30 2c 4c 53 52 23 |< MOV R0,R0,LSR#| 00029ee0 35 3a 80 20 67 72 65 65 6e 32 2c 52 30 2c 23 33 |5:. green2,R0,#3| 00029ef0 31 3a 4d 4f 56 20 67 72 65 65 6e 32 2c 67 72 65 |1:MOV green2,gre| 00029f00 65 6e 32 2c 4c 53 52 23 31 0d 16 64 39 20 4d 4f |en2,LSR#1..d9 MO| 00029f10 56 20 52 30 2c 52 30 2c 4c 53 52 23 35 3a 80 20 |V R0,R0,LSR#5:. | 00029f20 62 6c 75 65 32 2c 52 30 2c 23 33 31 3a 4d 4f 56 |blue2,R0,#31:MOV| 00029f30 20 62 6c 75 65 32 2c 62 6c 75 65 32 2c 4c 53 52 | blue2,blue2,LSR| 00029f40 23 31 0d 16 65 33 20 41 44 44 20 72 65 64 31 2c |#1..e3 ADD red1,| 00029f50 72 65 64 31 2c 72 65 64 32 3a 43 4d 50 20 72 65 |red1,red2:CMP re| 00029f60 64 31 2c 23 33 31 3a 4d 4f 56 47 54 20 72 65 64 |d1,#31:MOVGT red| 00029f70 31 2c 23 33 31 0d 16 66 34 20 4d 4f 56 20 72 65 |1,#31..f4 MOV re| 00029f80 64 31 2c 72 65 64 31 2c 4c 53 4c 23 31 36 3a 41 |d1,red1,LSL#16:A| 00029f90 44 44 20 6e 65 77 5f 77 6f 72 64 2c 6e 65 77 5f |DD new_word,new_| 00029fa0 77 6f 72 64 2c 72 65 64 31 0d 16 67 3d 20 41 44 |word,red1..g= AD| 00029fb0 44 20 67 72 65 65 6e 31 2c 67 72 65 65 6e 31 2c |D green1,green1,| 00029fc0 67 72 65 65 6e 32 3a 43 4d 50 20 67 72 65 65 6e |green2:CMP green| 00029fd0 31 2c 23 33 31 3a 4d 4f 56 47 54 20 67 72 65 65 |1,#31:MOVGT gree| 00029fe0 6e 31 2c 23 33 31 0d 16 68 3a 20 4d 4f 56 20 67 |n1,#31..h: MOV g| 00029ff0 72 65 65 6e 31 2c 67 72 65 65 6e 31 2c 4c 53 4c |reen1,green1,LSL| 0002a000 23 32 31 3a 41 44 44 20 6e 65 77 5f 77 6f 72 64 |#21:ADD new_word| 0002a010 2c 6e 65 77 5f 77 6f 72 64 2c 67 72 65 65 6e 31 |,new_word,green1| 0002a020 0d 16 69 38 20 41 44 44 20 62 6c 75 65 31 2c 62 |..i8 ADD blue1,b| 0002a030 6c 75 65 31 2c 62 6c 75 65 32 3a 43 4d 50 20 62 |lue1,blue2:CMP b| 0002a040 6c 75 65 31 2c 23 33 31 3a 4d 4f 56 47 54 20 62 |lue1,#31:MOVGT b| 0002a050 6c 75 65 31 2c 23 33 31 0d 16 6a 37 20 4d 4f 56 |lue1,#31..j7 MOV| 0002a060 20 62 6c 75 65 31 2c 62 6c 75 65 31 2c 4c 53 4c | blue1,blue1,LSL| 0002a070 23 32 36 3a 41 44 44 20 6e 65 77 5f 77 6f 72 64 |#26:ADD new_word| 0002a080 2c 6e 65 77 5f 77 6f 72 64 2c 62 6c 75 65 31 0d |,new_word,blue1.| 0002a090 16 6b 24 20 53 54 52 20 6e 65 77 5f 77 6f 72 64 |.k$ STR new_word| 0002a0a0 2c 5b 73 63 72 6e 5f 62 61 73 65 2c 6f 66 66 73 |,[scrn_base,offs| 0002a0b0 65 74 5d 0d 16 6c 39 20 41 44 44 20 6f 66 66 73 |et]..l9 ADD offs| 0002a0c0 65 74 2c 6f 66 66 73 65 74 2c 23 34 3a 43 4d 50 |et,offset,#4:CMP| 0002a0d0 20 6f 66 66 73 65 74 2c 23 31 32 38 30 3a 42 4e | offset,#1280:BN| 0002a0e0 45 20 6d 65 72 67 65 5f 6c 6f 6f 70 0d 16 6d 4c |E merge_loop..mL| 0002a0f0 20 4d 4f 56 20 6f 66 66 73 65 74 2c 23 30 3a 41 | MOV offset,#0:A| 0002a100 44 44 20 6d 65 6d 5f 62 61 73 65 2c 6d 65 6d 5f |DD mem_base,mem_| 0002a110 62 61 73 65 2c 23 31 32 38 30 3a 41 44 44 20 73 |base,#1280:ADD s| 0002a120 63 72 6e 5f 62 61 73 65 2c 73 63 72 6e 5f 62 61 |crn_base,scrn_ba| 0002a130 73 65 2c 23 31 32 38 30 0d 16 6e 27 20 53 55 42 |se,#1280..n' SUB| 0002a140 53 20 6c 69 6e 65 73 2c 6c 69 6e 65 73 2c 23 31 |S lines,lines,#1| 0002a150 3a 42 4e 45 20 6d 65 72 67 65 5f 6c 6f 6f 70 0d |:BNE merge_loop.| 0002a160 16 6f 0f 20 4d 4f 56 20 50 43 2c 52 31 34 0d 16 |.o. MOV PC,R14..| 0002a170 70 04 0d 16 71 1e 20 2e 6d 65 72 67 65 5f 6d 65 |p...q. .merge_me| 0002a180 6d 5f 74 65 6d 70 20 20 20 20 45 51 55 44 20 30 |m_temp EQUD 0| 0002a190 0d 16 72 1e 20 2e 6d 65 72 67 65 5f 73 63 72 65 |..r. .merge_scre| 0002a1a0 65 6e 5f 74 65 6d 70 20 45 51 55 44 20 30 0d 16 |en_temp EQUD 0..| 0002a1b0 73 06 20 5d 0d 16 74 06 20 ed 0d 16 75 06 20 e1 |s. ]..t. ...u. .| 0002a1c0 0d 16 76 04 0d 16 77 19 20 dd 20 a4 72 65 61 64 |..v...w. . .read| 0002a1d0 5f 73 79 73 5f 76 61 72 28 73 76 24 29 0d 16 78 |_sys_var(sv$)..x| 0002a1e0 31 20 c8 99 20 22 4f 53 5f 52 65 61 64 56 61 72 |1 .. "OS_ReadVar| 0002a1f0 56 61 6c 22 2c 73 76 24 2c 73 79 73 76 61 72 25 |Val",sv$,sysvar%| 0002a200 2c 32 35 35 2c 30 2c 33 20 b8 2c 2c 62 25 0d 16 |,255,0,3 .,,b%..| 0002a210 79 2e 20 56 24 3d 22 22 3a e3 20 4e 25 3d 30 20 |y. V$="":. N%=0 | 0002a220 b8 20 62 25 2d 31 3a 56 24 3d 56 24 2b bd 28 73 |. b%-1:V$=V$+.(s| 0002a230 79 73 76 61 72 25 3f 4e 25 29 3a ed 0d 16 7a 08 |ysvar%?N%):...z.| 0002a240 20 3d 56 24 0d 16 7b 05 20 0d 16 7c 14 20 dd 20 | =V$..{. ..|. . | 0002a250 a4 66 69 6c 65 5f 6c 65 6e 28 66 24 29 0d 16 7d |.file_len(f$)..}| 0002a260 0e 20 ea 20 72 30 25 2c 72 35 25 0d 16 7e 24 20 |. . r0%,r5%..~$ | 0002a270 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 31 37 2c |.. "OS_File",17,| 0002a280 66 24 20 b8 20 72 30 25 2c 2c 2c 2c 72 35 25 0d |f$ . r0%,,,,r5%.| 0002a290 16 7f 0e 20 e7 20 72 30 25 3d 30 20 8c 0d 16 80 |... . r0%=0 ....| 0002a2a0 29 20 20 e7 20 ac 20 69 6a 65 5f 64 65 76 25 20 |) . . ije_dev% | 0002a2b0 8c 20 c8 99 20 22 4f 53 5f 42 79 74 65 22 2c 32 |. .. "OS_Byte",2| 0002a2c0 32 39 2c 31 2c 30 0d 16 81 22 20 20 c8 99 20 22 |29,1,0..." .. "| 0002a2d0 57 69 6d 70 5f 53 65 74 4d 6f 64 65 22 2c 6d 6f |Wimp_SetMode",mo| 0002a2e0 64 65 73 74 6f 72 65 25 0d 16 82 7f 20 20 85 20 |destore%.... . | 0002a2f0 30 2c 22 46 69 6c 65 20 22 2b 66 24 2b 22 20 6e |0,"File "+f$+" n| 0002a300 6f 74 20 66 6f 75 6e 64 2e 20 54 68 69 73 20 63 |ot found. This c| 0002a310 6f 70 79 20 6f 66 20 50 73 63 61 6e 20 6d 61 79 |opy of Pscan may| 0002a320 20 62 65 20 63 6f 72 72 75 70 74 20 2d 20 70 6c | be corrupt - pl| 0002a330 65 61 73 65 20 72 65 2d 69 6e 73 74 61 6c 6c 20 |ease re-install | 0002a340 69 74 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 |it from the orig| 0002a350 69 6e 61 6c 20 64 69 73 6b 20 6f 72 20 5a 49 50 |inal disk or ZIP| 0002a360 20 66 69 6c 65 2e 22 0d 16 83 06 20 cc 0d 16 84 | file.".... ....| 0002a370 0e 20 20 3d 28 72 35 25 2b 34 29 0d 16 85 06 20 |. =(r5%+4).... | 0002a380 cd 0d 16 86 04 0d 16 87 18 20 dd 20 f2 6d 69 73 |......... . .mis| 0002a390 63 5f 62 61 63 6b 67 72 6f 75 6e 64 73 0d 16 88 |c_backgrounds...| 0002a3a0 1e 20 6d 65 6e 75 24 28 30 29 3d 22 4d 69 73 63 |. menu$(0)="Misc| 0002a3b0 65 6c 6c 61 6e 65 6f 75 73 20 22 0d 16 89 17 20 |ellaneous ".... | 0002a3c0 6d 65 6e 75 24 28 31 29 3d 22 53 71 75 61 72 65 |menu$(1)="Square| 0002a3d0 73 22 0d 16 8a 17 20 6d 65 6e 75 24 28 32 29 3d |s".... menu$(2)=| 0002a3e0 22 53 70 68 65 72 65 73 22 0d 16 8b 1a 20 6d 65 |"Spheres".... me| 0002a3f0 6e 75 24 28 33 29 3d 22 48 6f 72 69 7a 6f 6e 74 |nu$(3)="Horizont| 0002a400 61 6c 22 0d 16 8c 18 20 6d 65 6e 75 24 28 34 29 |al".... menu$(4)| 0002a410 3d 22 56 65 72 74 69 63 61 6c 22 0d 16 8d 18 20 |="Vertical".... | 0002a420 6d 65 6e 75 24 28 35 29 3d 22 44 69 61 67 6f 6e |menu$(5)="Diagon| 0002a430 61 6c 22 0d 16 8e 1c 20 6d 65 6e 75 24 28 36 29 |al".... menu$(6)| 0002a440 3d 22 53 70 65 63 74 72 75 6d 20 2d 20 48 22 0d |="Spectrum - H".| 0002a450 16 8f 1c 20 6d 65 6e 75 24 28 37 29 3d 22 53 70 |... menu$(7)="Sp| 0002a460 65 63 74 72 75 6d 20 2d 20 56 22 0d 16 90 20 20 |ectrum - V"... | 0002a470 6d 65 6e 75 24 28 38 29 3d 22 2a 22 3a f2 6d 65 |menu$(8)="*":.me| 0002a480 6e 75 28 30 2c 39 30 2c 2d 31 29 0d 16 91 13 20 |nu(0,90,-1).... | 0002a490 c8 8e 20 6d 65 6e 75 5f 62 6f 78 25 20 ca 0d 16 |.. menu_box% ...| 0002a4a0 92 11 20 c9 20 31 3a f2 73 71 75 61 72 65 73 0d |.. . 1:.squares.| 0002a4b0 16 93 11 20 c9 20 32 3a f2 73 70 68 65 72 65 73 |... . 2:.spheres| 0002a4c0 0d 16 94 15 20 c9 20 33 3a f2 68 6f 72 69 7a 5f |.... . 3:.horiz_| 0002a4d0 70 69 70 65 73 0d 16 95 14 20 c9 20 34 3a f2 76 |pipes.... . 4:.v| 0002a4e0 65 72 74 5f 70 69 70 65 73 0d 16 96 13 20 c9 20 |ert_pipes.... . | 0002a4f0 35 3a f2 64 69 61 67 6f 6e 61 6c 32 0d 16 97 1f |5:.diagonal2....| 0002a500 20 c9 20 36 2c 37 3a f2 73 70 65 63 74 72 75 6d | . 6,7:.spectrum| 0002a510 28 6d 65 6e 75 5f 62 6f 78 25 29 0d 16 98 06 20 |(menu_box%).... | 0002a520 cb 0d 16 99 06 20 e1 0d 16 9a 04 0d 16 9b 13 20 |..... ......... | 0002a530 dd 20 f2 68 6f 72 69 7a 5f 70 69 70 65 73 0d 16 |. .horiz_pipes..| 0002a540 9c 25 20 52 49 3d 32 3a 47 49 3d 36 3a 42 49 3d |.% RI=2:GI=6:BI=| 0002a550 31 3a 52 3d 32 34 32 3a 47 3d 32 34 32 3a 42 3d |1:R=242:G=242:B=| 0002a560 32 34 32 0d 16 9d 2c 20 e3 20 59 25 3d 30 20 b8 |242..., . Y%=0 .| 0002a570 20 31 30 32 34 20 88 32 3a e6 20 52 2c 47 2c 42 | 1024 .2:. R,G,B| 0002a580 3a 86 20 30 2c 59 25 2c 31 32 38 30 2c 59 25 0d |:. 0,Y%,1280,Y%.| 0002a590 16 9e 16 20 52 2b 3d 52 49 3a 47 2b 3d 47 49 3a |... R+=RI:G+=GI:| 0002a5a0 42 2b 3d 42 49 0d 16 9f 1c 20 e7 20 52 3e 32 34 |B+=BI.... . R>24| 0002a5b0 32 20 84 20 52 3c 31 32 20 8c 20 52 49 3d 2d 52 |2 . R<12 . RI=-R| 0002a5c0 49 0d 16 a0 1c 20 e7 20 47 3e 32 34 32 20 84 20 |I.... . G>242 . | 0002a5d0 47 3c 31 32 20 8c 20 47 49 3d 2d 47 49 0d 16 a1 |G<12 . GI=-GI...| 0002a5e0 1c 20 e7 20 42 3e 32 34 32 20 84 20 42 3c 31 32 |. . B>242 . B<12| 0002a5f0 20 8c 20 42 49 3d 2d 42 49 0d 16 a2 06 20 ed 0d | . BI=-BI.... ..| 0002a600 16 a3 21 20 e7 20 ac 28 6d 65 72 67 65 25 29 20 |..! . .(merge%) | 0002a610 8c 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 |. .upload_memory| 0002a620 0d 16 a4 06 20 e1 0d 16 a5 04 0d 16 a6 12 20 dd |.... ......... .| 0002a630 20 f2 76 65 72 74 5f 70 69 70 65 73 0d 16 a7 25 | .vert_pipes...%| 0002a640 20 52 49 3d 32 3a 47 49 3d 36 3a 42 49 3d 31 3a | RI=2:GI=6:BI=1:| 0002a650 52 3d 32 34 32 3a 47 3d 32 34 32 3a 42 3d 32 34 |R=242:G=242:B=24| 0002a660 32 0d 16 a8 2c 20 e3 20 58 25 3d 30 20 b8 20 31 |2..., . X%=0 . 1| 0002a670 32 38 30 20 88 32 3a e6 20 52 2c 47 2c 42 3a 86 |280 .2:. R,G,B:.| 0002a680 20 58 25 2c 30 2c 58 25 2c 31 30 32 34 0d 16 a9 | X%,0,X%,1024...| 0002a690 16 20 52 2b 3d 52 49 3a 47 2b 3d 47 49 3a 42 2b |. R+=RI:G+=GI:B+| 0002a6a0 3d 42 49 0d 16 aa 1c 20 e7 20 52 3e 32 34 32 20 |=BI.... . R>242 | 0002a6b0 84 20 52 3c 31 32 20 8c 20 52 49 3d 2d 52 49 0d |. R<12 . RI=-RI.| 0002a6c0 16 ab 1c 20 e7 20 47 3e 32 34 32 20 84 20 47 3c |... . G>242 . G<| 0002a6d0 31 32 20 8c 20 47 49 3d 2d 47 49 0d 16 ac 1c 20 |12 . GI=-GI.... | 0002a6e0 e7 20 42 3e 32 34 32 20 84 20 42 3c 31 32 20 8c |. B>242 . B<12 .| 0002a6f0 20 42 49 3d 2d 42 49 0d 16 ad 06 20 ed 0d 16 ae | BI=-BI.... ....| 0002a700 21 20 e7 20 ac 28 6d 65 72 67 65 25 29 20 8c 20 |! . .(merge%) . | 0002a710 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d 16 |.upload_memory..| 0002a720 af 06 20 e1 0d 16 b0 04 0d 16 b1 0f 20 dd 20 f2 |.. ......... . .| 0002a730 73 71 75 61 72 65 73 0d 16 b2 2e 20 db 3a e3 20 |squares.... .:. | 0002a740 79 25 3d 30 20 b8 20 31 30 32 34 20 88 20 31 32 |y%=0 . 1024 . 12| 0002a750 30 3a e3 20 78 25 3d 30 20 b8 20 31 32 38 30 20 |0:. x%=0 . 1280 | 0002a760 88 20 31 32 38 0d 16 b3 3c 20 58 25 3d 78 25 3a |. 128...< X%=x%:| 0002a770 59 25 3d 79 25 3a 57 25 3d 31 32 38 3a 48 25 3d |Y%=y%:W%=128:H%=| 0002a780 31 32 38 3a 52 25 3d 32 35 35 3a 47 25 3d 36 38 |128:R%=255:G%=68| 0002a790 3a 42 25 3d 30 3a e3 20 4e 25 3d 31 20 b8 20 33 |:B%=0:. N%=1 . 3| 0002a7a0 32 0d 16 b4 21 20 e6 20 52 25 2c 47 25 2c 42 25 |2...! . R%,G%,B%| 0002a7b0 3a c8 93 20 c8 90 20 58 25 2c 59 25 2c 57 25 2c |:.. .. X%,Y%,W%,| 0002a7c0 48 25 0d 16 b5 28 20 47 25 2b 3d 36 3a 58 25 2b |H%...( G%+=6:X%+| 0002a7d0 3d 32 3a 59 25 2b 3d 32 3a 57 25 2d 3d 34 3a 48 |=2:Y%+=2:W%-=4:H| 0002a7e0 25 2d 3d 34 3a ed 3a ed 3a ed 0d 16 b6 21 20 e7 |%-=4:.:.:....! .| 0002a7f0 20 ac 28 6d 65 72 67 65 25 29 20 8c 20 f2 75 70 | .(merge%) . .up| 0002a800 6c 6f 61 64 5f 6d 65 6d 6f 72 79 0d 16 b7 06 20 |load_memory.... | 0002a810 e1 0d 16 b8 04 0d 16 b9 0f 20 dd 20 f2 73 70 68 |......... . .sph| 0002a820 65 72 65 73 0d 16 ba 29 20 e6 20 32 35 35 2c 36 |eres...) . 255,6| 0002a830 38 2c 30 3a c8 93 20 c8 90 20 30 2c 30 2c 31 32 |8,0:.. .. 0,0,12| 0002a840 38 30 2c 31 30 32 34 3a 6f 25 3d 33 32 0d 16 bb |80,1024:o%=32...| 0002a850 2c 20 e3 20 79 25 3d 30 20 b8 20 31 30 32 34 20 |, . y%=0 . 1024 | 0002a860 88 20 31 32 38 3a e3 20 78 25 3d 30 20 b8 20 31 |. 128:. x%=0 . 1| 0002a870 32 38 30 20 88 20 31 32 38 0d 16 bc 28 20 58 25 |280 . 128...( X%| 0002a880 3d 78 25 3a 59 25 3d 79 25 3a 72 25 3d 36 34 3a |=x%:Y%=y%:r%=64:| 0002a890 52 25 3d 32 35 35 3a 47 25 3d 36 38 3a 42 25 3d |R%=255:G%=68:B%=| 0002a8a0 30 0d 16 bd 33 20 e3 20 4e 25 3d 31 20 b8 20 33 |0...3 . N%=1 . 3| 0002a8b0 32 3a e6 20 52 25 2c 47 25 2c 42 25 3a c8 8f 20 |2:. R%,G%,B%:.. | 0002a8c0 c8 90 20 58 25 2b 6f 25 2b 33 32 2c 59 25 2b 36 |.. X%+o%+32,Y%+6| 0002a8d0 34 2c 72 25 0d 16 be 1d 20 47 25 2b 3d 36 3a 72 |4,r%.... G%+=6:r| 0002a8e0 25 2d 3d 32 3a ed 3a ed 3a 6f 25 3d 2d 6f 25 3a |%-=2:.:.:o%=-o%:| 0002a8f0 ed 0d 16 bf 21 20 e7 20 ac 28 6d 65 72 67 65 25 |....! . .(merge%| 0002a900 29 20 8c 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f |) . .upload_memo| 0002a910 72 79 0d 16 c0 06 20 e1 0d 16 c1 04 0d 16 c2 14 |ry.... .........| 0002a920 20 dd 20 f2 73 70 65 63 74 72 75 6d 28 74 25 29 | . .spectrum(t%)| 0002a930 0d 16 c3 26 20 db 3a 72 69 3d 30 3a 67 69 3d 30 |...& .:ri=0:gi=0| 0002a940 3a 62 69 3d 2d 32 3a 72 3d 32 35 35 3a 67 3d 30 |:bi=-2:r=255:g=0| 0002a950 3a 62 3d 32 35 35 0d 16 c4 0d 20 e7 20 74 25 3d |:b=255.... . t%=| 0002a960 36 20 8c 0d 16 c5 2a 20 70 31 25 3d 32 35 34 3a |6 ....* p1%=254:| 0002a970 70 32 25 3d 35 30 38 3a 70 33 25 3d 37 36 32 3a |p2%=508:p3%=762:| 0002a980 70 34 25 3d 31 30 31 36 3a 70 69 3d 32 0d 16 c6 |p4%=1016:pi=2...| 0002a990 06 20 cc 0d 16 c7 2b 20 70 31 25 3d 32 30 34 3a |. ....+ p1%=204:| 0002a9a0 70 32 25 3d 34 30 38 3a 70 33 25 3d 36 31 32 3a |p2%=408:p3%=612:| 0002a9b0 70 34 25 3d 38 31 36 3a 70 69 3d 32 2e 34 0d 16 |p4%=816:pi=2.4..| 0002a9c0 c8 06 20 cd 0d 16 c9 15 20 e3 20 58 25 3d 30 20 |.. ..... . X%=0 | 0002a9d0 b8 20 31 32 37 32 20 88 32 0d 16 ca 0c 20 e6 20 |. 1272 .2.... . | 0002a9e0 72 2c 67 2c 62 0d 16 cb 33 20 e7 20 74 25 3d 36 |r,g,b...3 . t%=6| 0002a9f0 20 8c 20 c8 93 20 c8 90 20 58 25 2c 30 2c 32 2c | . .. .. X%,0,2,| 0002aa00 31 30 32 34 20 8b 20 c8 93 20 c8 90 20 30 2c 58 |1024 . .. .. 0,X| 0002aa10 25 2c 31 32 38 30 2c 32 0d 16 cc 16 20 72 2b 3d |%,1280,2.... r+=| 0002aa20 72 69 3a 67 2b 3d 67 69 3a 62 2b 3d 62 69 0d 16 |ri:g+=gi:b+=bi..| 0002aa30 cd 0c 20 c8 8e 20 58 25 20 ca 0d 16 ce 1e 20 c9 |.. .. X% ..... .| 0002aa40 20 70 31 25 3a 72 69 3d 30 3a 67 69 3d 70 69 3a | p1%:ri=0:gi=pi:| 0002aa50 62 69 3d 30 3a 62 3d 30 0d 16 cf 1b 20 c9 20 70 |bi=0:b=0.... . p| 0002aa60 32 25 3a 72 69 3d 2d 70 69 3a 67 69 3d 30 3a 62 |2%:ri=-pi:gi=0:b| 0002aa70 69 3d 30 0d 16 d0 1a 20 c9 20 70 33 25 3a 72 69 |i=0.... . p3%:ri| 0002aa80 3d 30 3a 67 69 3d 30 3a 62 69 3d 70 69 0d 16 d1 |=0:gi=0:bi=pi...| 0002aa90 1b 20 c9 20 70 34 25 3a 72 69 3d 30 3a 67 69 3d |. . p4%:ri=0:gi=| 0002aaa0 2d 70 69 3a 62 69 3d 30 0d 16 d2 06 20 cb 0d 16 |-pi:bi=0.... ...| 0002aab0 d3 06 20 ed 0d 16 d4 1f 20 e7 20 74 25 3d 36 20 |.. ..... . t%=6 | 0002aac0 8c 20 c8 93 20 c8 90 20 58 25 2c 30 2c 38 2c 31 |. .. .. X%,0,8,1| 0002aad0 30 32 34 0d 16 d5 21 20 e7 20 ac 28 6d 65 72 67 |024...! . .(merg| 0002aae0 65 25 29 20 8c 20 f2 75 70 6c 6f 61 64 5f 6d 65 |e%) . .upload_me| 0002aaf0 6d 6f 72 79 0d 16 d6 06 20 e1 0d 16 d7 04 0d 16 |mory.... .......| 0002ab00 d8 11 20 dd 20 f2 64 69 61 67 6f 6e 61 6c 32 0d |.. . .diagonal2.| 0002ab10 16 d9 25 20 52 3d 30 3a 47 3d 32 35 35 3a 42 3d |..% R=0:G=255:B=| 0002ab20 32 35 35 3a 52 49 3d 31 36 3a 47 49 3d 31 36 3a |255:RI=16:GI=16:| 0002ab30 42 49 3d 34 0d 16 da 20 20 59 3d 32 30 34 38 3a |BI=4... Y=2048:| 0002ab40 e3 20 58 25 3d 2d 31 32 38 30 20 b8 20 31 32 38 |. X%=-1280 . 128| 0002ab50 30 20 88 38 0d 16 db 1c 20 e6 20 52 2c 47 2c 42 |0 .8.... . R,G,B| 0002ab60 3a ec 20 58 25 2c 30 3a ec 20 31 32 38 30 2c 59 |:. X%,0:. 1280,Y| 0002ab70 0d 16 dc 22 20 f0 20 38 35 2c 31 32 38 30 2c 30 |..." . 85,1280,0| 0002ab80 3a 52 2b 3d 52 49 3a 47 2b 3d 47 49 3a 42 2b 3d |:R+=RI:G+=GI:B+=| 0002ab90 42 49 0d 16 dd 19 20 e7 20 52 3e 32 35 35 20 52 |BI.... . R>255 R| 0002aba0 3d 32 35 35 3a 52 49 3d 2d 52 49 0d 16 de 19 20 |=255:RI=-RI.... | 0002abb0 e7 20 47 3e 32 35 35 20 47 3d 32 35 35 3a 47 49 |. G>255 G=255:GI| 0002abc0 3d 2d 47 49 0d 16 df 19 20 e7 20 42 3e 32 35 35 |=-GI.... . B>255| 0002abd0 20 42 3d 32 35 35 3a 42 49 3d 2d 42 49 0d 16 e0 | B=255:BI=-BI...| 0002abe0 15 20 e7 20 52 3c 30 20 52 3d 30 3a 52 49 3d 2d |. . R<0 R=0:RI=-| 0002abf0 52 49 0d 16 e1 15 20 e7 20 47 3c 30 20 47 3d 30 |RI.... . G<0 G=0| 0002ac00 3a 47 49 3d 2d 47 49 0d 16 e2 15 20 e7 20 42 3c |:GI=-GI.... . B<| 0002ac10 30 20 42 3d 30 3a 42 49 3d 2d 42 49 0d 16 e3 2a |0 B=0:BI=-BI...*| 0002ac20 20 59 2d 3d 36 2e 34 3a ed 3a e7 20 ac 28 6d 65 | Y-=6.4:.:. .(me| 0002ac30 72 67 65 25 29 20 8c 20 f2 75 70 6c 6f 61 64 5f |rge%) . .upload_| 0002ac40 6d 65 6d 6f 72 79 0d 16 e4 06 20 e1 0d 16 e5 04 |memory.... .....| 0002ac50 0d 16 e6 16 20 dd 20 f2 74 65 78 74 5f 6d 61 73 |.... . .text_mas| 0002ac60 6b 5f 6d 65 6e 75 0d 16 e7 1b 20 6d 65 6e 75 24 |k_menu.... menu$| 0002ac70 28 30 29 3d 22 54 65 78 74 20 6d 61 73 6b 73 22 |(0)="Text masks"| 0002ac80 20 0d 16 e8 23 20 6d 65 6e 75 24 28 31 29 3d 22 | ...# menu$(1)="| 0002ac90 43 72 65 61 74 65 20 74 65 78 74 20 6d 61 73 6b |Create text mask| 0002aca0 20 20 20 22 0d 16 e9 16 20 e7 20 6d 61 73 6b 5f | ".... . mask_| 0002acb0 63 72 65 61 74 65 64 25 20 8c 0d 16 ea 1e 20 6d |created% ..... m| 0002acc0 65 6e 75 24 28 32 29 3d 22 50 6c 6f 74 20 74 65 |enu$(2)="Plot te| 0002acd0 78 74 20 6d 61 73 6b 22 0d 16 eb 06 20 cc 0d 16 |xt mask".... ...| 0002ace0 ec 21 20 6d 65 6e 75 24 28 32 29 3d 22 7b 6e 6f |.! menu$(2)="{no| 0002acf0 20 6d 61 73 6b 20 63 72 65 61 74 65 64 7d 22 0d | mask created}".| 0002ad00 16 ed 06 20 cd 0d 16 ee 20 20 6d 65 6e 75 24 28 |... .... menu$(| 0002ad10 33 29 3d 22 2a 22 3a f2 6d 65 6e 75 28 30 2c 39 |3)="*":.menu(0,9| 0002ad20 30 2c 2d 31 29 0d 16 ef 13 20 c8 8e 20 6d 65 6e |0,-1).... .. men| 0002ad30 75 5f 62 6f 78 25 20 ca 0d 16 f0 26 20 c9 20 31 |u_box% ....& . 1| 0002ad40 3a f2 63 72 65 61 74 65 5f 74 65 78 74 5f 6d 61 |:.create_text_ma| 0002ad50 73 6b 3a 6d 65 6e 75 5f 62 6f 78 25 3d 35 0d 16 |sk:menu_box%=5..| 0002ad60 f1 24 20 c9 20 32 3a f2 70 6c 6f 74 5f 74 65 78 |.$ . 2:.plot_tex| 0002ad70 74 5f 6d 61 73 6b 3a 6d 65 6e 75 5f 62 6f 78 25 |t_mask:menu_box%| 0002ad80 3d 31 0d 16 f2 06 20 cb 0d 16 f3 06 20 e1 0d 16 |=1.... ..... ...| 0002ad90 f4 04 0d 16 f5 18 20 dd 20 f2 63 72 65 61 74 65 |...... . .create| 0002ada0 5f 74 65 78 74 5f 6d 61 73 6b 0d 16 f6 23 20 66 |_text_mask...# f| 0002adb0 6f 6e 74 24 3d 22 22 3a 66 69 72 73 74 5f 74 69 |ont$="":first_ti| 0002adc0 6d 65 25 3d b9 3a 71 75 69 74 25 3d a3 0d 16 f7 |me%=.:quit%=....| 0002add0 34 20 f2 66 6f 6e 74 5f 74 65 78 74 28 2d 31 29 |4 .font_text(-1)| 0002ade0 3a 6d 65 6e 75 5f 72 65 64 72 61 77 25 3d b9 3a |:menu_redraw%=.:| 0002adf0 78 70 73 25 3d 78 70 25 3a 79 70 73 25 3d 79 70 |xps%=xp%:yps%=yp| 0002ae00 25 0d 16 f8 04 0d 16 f9 06 20 f5 0d 16 fa 04 0d |%........ ......| 0002ae10 16 fb 21 20 e6 33 32 20 c8 9c 30 3a c8 93 20 c8 |..! .32 ..0:.. .| 0002ae20 90 20 30 2c 34 30 34 2c 31 32 38 30 2c 36 32 30 |. 0,404,1280,620| 0002ae30 0d 16 fc 04 0d 16 fd 12 20 e7 20 66 6f 6e 74 24 |........ . font$| 0002ae40 3c 3e 22 22 20 8c 0d 16 fe 04 0d 16 ff 14 20 e7 |<>"" ......... .| 0002ae50 20 66 69 72 73 74 5f 74 69 6d 65 25 20 8c 0d 17 | first_time% ...| 0002ae60 00 22 20 e6 20 30 2c 30 2c 31 33 36 3a c8 93 20 |." . 0,0,136:.. | 0002ae70 c8 90 20 30 2c 30 2c 31 32 38 30 2c 31 30 32 34 |.. 0,0,1280,1024| 0002ae80 0d 17 01 25 20 e6 20 32 30 30 2c 32 30 30 2c 32 |...% . 200,200,2| 0002ae90 30 30 3a c8 93 20 c8 90 20 30 2c 30 2c 31 32 38 |00:.. .. 0,0,128| 0002aea0 30 2c 33 37 30 0d 17 02 22 20 f2 72 61 69 73 65 |0,370..." .raise| 0002aeb0 64 5f 62 6c 6f 63 6b 28 37 38 34 2c 31 36 2c 32 |d_block(784,16,2| 0002aec0 31 36 2c 33 34 32 29 0d 17 03 27 20 e6 20 32 35 |16,342)...' . 25| 0002aed0 35 2c 31 38 30 2c 31 30 30 3a c8 93 20 c8 90 20 |5,180,100:.. .. | 0002aee0 37 38 34 2c 33 32 30 2c 32 31 32 2c 33 38 0d 17 |784,320,212,38..| 0002aef0 04 39 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 |.9 .. sprswi%,25| 0002af00 36 2b 35 32 2c 73 70 62 25 2c 22 6c 65 66 74 22 |6+52,spb%,"left"| 0002af10 2c 38 31 30 2c 32 32 30 2c 38 2c 30 2c 74 72 61 |,810,220,8,0,tra| 0002af20 6e 73 6c 61 74 65 25 0d 17 05 3a 20 c8 99 20 73 |nslate%...: .. s| 0002af30 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 |prswi%,256+52,sp| 0002af40 62 25 2c 22 72 69 67 68 74 22 2c 39 33 30 2c 32 |b%,"right",930,2| 0002af50 32 30 2c 38 2c 30 2c 74 72 61 6e 73 6c 61 74 65 |20,8,0,translate| 0002af60 25 0d 17 06 39 20 c8 99 20 73 70 72 73 77 69 25 |%...9 .. sprswi%| 0002af70 2c 32 35 36 2b 35 32 2c 73 70 62 25 2c 22 6c 65 |,256+52,spb%,"le| 0002af80 66 74 22 2c 38 31 30 2c 31 30 30 2c 38 2c 30 2c |ft",810,100,8,0,| 0002af90 74 72 61 6e 73 6c 61 74 65 25 0d 17 07 3a 20 c8 |translate%...: .| 0002afa0 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 |. sprswi%,256+52| 0002afb0 2c 73 70 62 25 2c 22 72 69 67 68 74 22 2c 39 33 |,spb%,"right",93| 0002afc0 30 2c 31 30 30 2c 38 2c 30 2c 74 72 61 6e 73 6c |0,100,8,0,transl| 0002afd0 61 74 65 25 0d 17 08 23 20 f2 77 72 69 74 65 32 |ate%...# .write2| 0002afe0 28 22 78 2f 79 20 70 6f 69 6e 74 22 2c 38 31 32 |("x/y point",812| 0002aff0 2c 32 37 32 2c 34 29 0d 17 09 21 20 f2 77 72 69 |,272,4)...! .wri| 0002b000 74 65 32 28 22 79 20 70 6f 69 6e 74 22 2c 38 32 |te2("y point",82| 0002b010 38 2c 31 35 32 2c 34 29 0d 17 0a 20 20 f2 72 61 |8,152,4)... .ra| 0002b020 69 73 65 64 5f 62 6c 6f 63 6b 28 37 39 38 2c 33 |ised_block(798,3| 0002b030 32 2c 38 30 2c 33 32 29 0d 17 0b 20 20 f2 72 61 |2,80,32)... .ra| 0002b040 69 73 65 64 5f 62 6c 6f 63 6b 28 39 30 34 2c 33 |ised_block(904,3| 0002b050 32 2c 38 30 2c 33 32 29 0d 17 0c 1d 20 f2 77 72 |2,80,32).... .wr| 0002b060 69 74 65 32 28 22 55 4e 44 4f 22 2c 37 39 32 2c |ite2("UNDO",792,| 0002b070 33 32 2c 34 29 0d 17 0d 1b 20 f2 77 72 69 74 65 |32,4).... .write| 0002b080 32 28 22 4f 4b 22 2c 39 31 34 2c 33 32 2c 34 29 |2("OK",914,32,4)| 0002b090 0d 17 0e 23 20 f2 77 72 69 74 65 32 28 22 20 20 |...# .write2(" | 0002b0a0 52 65 2d 73 69 7a 65 22 2c 38 30 30 2c 33 32 34 |Re-size",800,324| 0002b0b0 2c 34 29 0d 17 0f 3f 20 f2 77 72 69 74 65 32 28 |,4)...? .write2(| 0002b0c0 22 43 6c 69 63 6b 20 4f 4b 20 6f 72 20 70 72 65 |"Click OK or pre| 0002b0d0 73 73 20 3c 72 65 74 75 72 6e 3e 20 74 6f 20 66 |ss <return> to f| 0002b0e0 69 6e 69 73 68 2e 22 2c 31 32 30 2c 32 32 30 2c |inish.",120,220,| 0002b0f0 34 29 0d 17 10 27 20 c8 97 20 c8 93 20 37 38 34 |4)...' .. .. 784| 0002b100 2c 31 36 2c 32 31 36 2c 33 33 38 3a 66 69 72 73 |,16,216,338:firs| 0002b110 74 5f 74 69 6d 65 25 3d a3 0d 17 11 06 20 cd 0d |t_time%=..... ..| 0002b120 17 12 04 0d 17 13 31 20 21 73 70 72 25 3d 74 78 |......1 !spr%=tx| 0002b130 74 73 69 7a 65 25 3a 73 70 72 25 21 34 3d 30 3a |tsize%:spr%!4=0:| 0002b140 73 70 72 25 21 38 3d 31 36 3a 73 70 72 25 21 31 |spr%!8=16:spr%!1| 0002b150 32 3d 31 36 0d 17 14 31 20 f2 6d 61 6b 65 5f 74 |2=16...1 .make_t| 0002b160 65 78 74 5f 6d 61 73 6b 28 66 6f 6e 74 24 2c 74 |ext_mask(font$,t| 0002b170 65 78 74 31 24 2c 74 65 78 74 32 24 2c 78 70 25 |ext1$,text2$,xp%| 0002b180 2c 79 70 25 29 0d 17 15 33 20 c8 99 20 73 70 72 |,yp%)...3 .. spr| 0002b190 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 72 25 |swi%,256+52,spr%| 0002b1a0 2c 22 74 65 78 74 6d 61 73 6b 22 2c 33 32 2c 34 |,"textmask",32,4| 0002b1b0 36 30 2c 38 2c 30 2c 30 0d 17 16 16 20 f2 73 68 |60,8,0,0.... .sh| 0002b1c0 6f 77 5f 70 6f 69 6e 74 5f 73 69 7a 65 73 0d 17 |ow_point_sizes..| 0002b1d0 17 04 0d 17 18 14 20 f5 3a 4b 3d a6 28 31 29 3a |...... .:K=.(1):| 0002b1e0 fd 20 4b 3d 2d 31 0d 17 19 15 20 70 6f 69 6e 74 |. K=-1.... point| 0002b1f0 5f 62 75 74 74 6f 6e 24 3d 22 22 0d 17 1a 24 20 |_button$=""...$ | 0002b200 f5 3a c8 97 20 58 2c 59 2c 42 3a 4b 3d a6 28 35 |.:.. X,Y,B:K=.(5| 0002b210 29 3a fd 20 42 3c 3e 30 20 84 20 4b 3d 31 33 0d |):. B<>0 . K=13.| 0002b220 17 1b 04 0d 17 1c 13 20 e7 20 4b 3d 31 33 20 71 |....... . K=13 q| 0002b230 75 69 74 25 3d b9 0d 17 1d 04 0d 17 1e 12 20 e7 |uit%=......... .| 0002b240 20 42 3d 31 20 84 20 42 3d 34 20 8c 0d 17 1f 31 | B=1 . B=4 ....1| 0002b250 20 e7 20 94 28 58 2d 38 33 38 29 3c 34 34 20 80 | . .(X-838)<44 .| 0002b260 20 94 28 59 2d 34 38 29 3c 32 32 20 78 70 25 3d | .(Y-48)<22 xp%=| 0002b270 78 70 73 25 3a 79 70 25 3d 79 70 73 25 0d 17 20 |xps%:yp%=yps%.. | 0002b280 27 20 e7 20 94 28 58 2d 39 34 32 29 3c 34 34 20 |' . .(X-942)<44 | 0002b290 80 20 94 28 59 2d 34 38 29 3c 32 32 20 71 75 69 |. .(Y-48)<22 qui| 0002b2a0 74 25 3d b9 0d 17 21 33 20 e7 20 94 28 58 2d 38 |t%=...!3 . .(X-8| 0002b2b0 33 30 29 3c 32 38 20 80 20 94 28 59 2d 32 34 30 |30)<28 . .(Y-240| 0002b2c0 29 3c 32 38 20 70 6f 69 6e 74 5f 62 75 74 74 6f |)<28 point_butto| 0002b2d0 6e 24 3d 22 78 6d 22 0d 17 22 33 20 e7 20 94 28 |n$="xm".."3 . .(| 0002b2e0 58 2d 39 34 32 29 3c 32 38 20 80 20 94 28 59 2d |X-942)<28 . .(Y-| 0002b2f0 32 34 30 29 3c 32 38 20 70 6f 69 6e 74 5f 62 75 |240)<28 point_bu| 0002b300 74 74 6f 6e 24 3d 22 78 70 22 0d 17 23 33 20 e7 |tton$="xp"..#3 .| 0002b310 20 94 28 58 2d 38 33 30 29 3c 32 38 20 80 20 94 | .(X-830)<28 . .| 0002b320 28 59 2d 31 32 30 29 3c 32 38 20 70 6f 69 6e 74 |(Y-120)<28 point| 0002b330 5f 62 75 74 74 6f 6e 24 3d 22 79 6d 22 0d 17 24 |_button$="ym"..$| 0002b340 33 20 e7 20 94 28 58 2d 39 34 32 29 3c 32 38 20 |3 . .(X-942)<28 | 0002b350 80 20 94 28 59 2d 31 32 30 29 3c 32 38 20 70 6f |. .(Y-120)<28 po| 0002b360 69 6e 74 5f 62 75 74 74 6f 6e 24 3d 22 79 70 22 |int_button$="yp"| 0002b370 0d 17 25 17 20 c8 8e 20 70 6f 69 6e 74 5f 62 75 |..%. .. point_bu| 0002b380 74 74 6f 6e 24 20 ca 0d 17 26 22 20 c9 20 22 78 |tton$ ...&" . "x| 0002b390 6d 22 3a e7 20 78 70 25 3e 31 30 20 78 70 25 2d |m":. xp%>10 xp%-| 0002b3a0 3d 32 3a 79 70 25 2d 3d 32 0d 17 27 23 20 c9 20 |=2:yp%-=2..'# . | 0002b3b0 22 78 70 22 3a e7 20 78 70 25 3c 32 30 30 20 78 |"xp":. xp%<200 x| 0002b3c0 70 25 2b 3d 32 3a 79 70 25 2b 3d 32 0d 17 28 1b |p%+=2:yp%+=2..(.| 0002b3d0 20 c9 20 22 79 6d 22 3a e7 20 79 70 25 3e 31 30 | . "ym":. yp%>10| 0002b3e0 20 79 70 25 2d 3d 32 0d 17 29 1c 20 c9 20 22 79 | yp%-=2..). . "y| 0002b3f0 70 22 3a e7 20 79 70 25 3c 32 30 30 20 79 70 25 |p":. yp%<200 yp%| 0002b400 2b 3d 32 0d 17 2a 06 20 cb 0d 17 2b 06 20 cd 0d |+=2..*. ...+. ..| 0002b410 17 2c 04 0d 17 2d 14 20 6d 61 73 6b 5f 63 72 65 |.,...-. mask_cre| 0002b420 61 74 65 64 25 3d b9 0d 17 2e 06 20 cd 0d 17 2f |ated%=..... .../| 0002b430 17 20 fd 20 71 75 69 74 25 20 84 20 66 6f 6e 74 |. . quit% . font| 0002b440 24 3d 22 22 0d 17 30 0d 20 f2 64 69 73 6d 69 6e |$=""..0. .dismin| 0002b450 69 0d 17 31 06 20 e1 0d 17 32 04 0d 17 33 16 20 |i..1. ...2...3. | 0002b460 dd 20 f2 70 6c 6f 74 5f 74 65 78 74 5f 6d 61 73 |. .plot_text_mas| 0002b470 6b 0d 17 34 16 20 e7 20 6d 61 73 6b 5f 63 72 65 |k..4. . mask_cre| 0002b480 61 74 65 64 25 20 8c 0d 17 35 24 20 20 f2 64 69 |ated% ...5$ .di| 0002b490 73 70 6c 61 79 5f 6d 65 6d 6f 72 79 3a f2 70 6f |splay_memory:.po| 0002b4a0 73 69 74 69 6f 6e 5f 6d 61 73 6b 0d 17 36 0e 20 |sition_mask..6. | 0002b4b0 20 20 e7 20 42 3d 34 20 8c 0d 17 37 42 20 20 20 | . B=4 ...7B | 0002b4c0 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 34 |.. sprswi%,256+4| 0002b4d0 30 2c 73 70 72 25 2c 22 74 65 78 74 6d 61 73 6b |0,spr%,"textmask| 0002b4e0 22 20 b8 2c 2c 2c 57 25 2c 48 25 3a 57 25 3d 57 |" .,,,W%,H%:W%=W| 0002b4f0 25 2a 32 3a 48 25 3d 48 25 2a 32 0d 17 38 3c 20 |%*2:H%=H%*2..8< | 0002b500 20 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 | .. sprswi%,256| 0002b510 2b 31 36 2c 73 70 72 25 2c 22 74 65 78 74 6d 61 |+16,spr%,"textma| 0002b520 73 6b 22 2c 30 2c 58 25 2c 59 25 2c 58 25 2b 57 |sk",0,X%,Y%,X%+W| 0002b530 25 2c 59 25 2b 48 25 0d 17 39 28 20 20 20 c8 99 |%,Y%+H%..9( ..| 0002b540 20 73 70 72 73 77 69 25 2c 32 35 36 2b 32 39 2c | sprswi%,256+29,| 0002b550 73 70 72 25 2c 22 74 65 78 74 6d 61 73 6b 22 0d |spr%,"textmask".| 0002b560 17 3a 2a 20 20 20 c8 99 20 73 70 72 73 77 69 25 |.:* .. sprswi%| 0002b570 2c 32 35 36 2b 36 31 2c 73 70 72 25 2c 22 74 65 |,256+61,spr%,"te| 0002b580 78 74 6d 61 73 6b 22 2c 30 0d 17 3b 1a 20 20 20 |xtmask",0..;. | 0002b590 e6 20 30 3a c8 93 20 c8 90 20 30 2c 30 2c 57 25 |. 0:.. .. 0,0,W%| 0002b5a0 2c 48 25 0d 17 3c 15 20 20 20 e7 20 74 65 78 74 |,H%..<. . text| 0002b5b0 32 24 3c 3e 22 22 20 8c 0d 17 3d 36 20 20 20 f2 |2$<>"" ...=6 .| 0002b5c0 77 72 69 74 65 28 66 6f 6e 74 24 2c 74 65 78 74 |write(font$,text| 0002b5d0 31 24 2c 34 2c 59 4f 31 25 2b 48 32 25 2b 79 70 |1$,4,YO1%+H2%+yp| 0002b5e0 25 2f 32 2c 78 70 25 2c 79 70 25 2c 34 29 0d 17 |%/2,xp%,yp%,4)..| 0002b5f0 3e 2b 20 20 20 f2 77 72 69 74 65 28 66 6f 6e 74 |>+ .write(font| 0002b600 24 2c 74 65 78 74 32 24 2c 34 2c 59 4f 25 2c 78 |$,text2$,4,YO%,x| 0002b610 70 25 2c 79 70 25 2c 34 29 0d 17 3f 08 20 20 20 |p%,yp%,4)..?. | 0002b620 cc 0d 17 40 2b 20 20 20 f2 77 72 69 74 65 28 66 |...@+ .write(f| 0002b630 6f 6e 74 24 2c 74 65 78 74 31 24 2c 34 2c 59 4f |ont$,text1$,4,YO| 0002b640 25 2c 78 70 25 2c 79 70 25 2c 34 29 0d 17 41 08 |%,xp%,yp%,4)..A.| 0002b650 20 20 20 cd 0d 17 42 26 20 20 20 c8 99 20 73 70 | ...B& .. sp| 0002b660 72 73 77 69 25 2c 32 35 36 2b 36 31 2c 73 70 72 |rswi%,256+61,spr| 0002b670 25 2c 30 2c 30 3a 87 3a c8 96 0d 17 43 43 20 20 |%,0,0:.:....CC | 0002b680 20 6f 76 65 72 6c 61 79 25 3d b9 3a 6f 76 65 72 | overlay%=.:over| 0002b690 6c 61 79 5f 6f 75 74 6c 69 6e 65 25 3d b9 3a 73 |lay_outline%=.:s| 0002b6a0 70 72 69 74 65 5f 6e 61 6d 65 24 3d 22 74 65 78 |prite_name$="tex| 0002b6b0 74 6d 61 73 6b 22 3a 4f 4f 43 25 3d 31 0d 17 44 |tmask":OOC%=1..D| 0002b6c0 16 20 20 20 6d 61 73 6b 5f 63 72 65 61 74 65 64 |. mask_created| 0002b6d0 25 3d a3 0d 17 45 08 20 20 20 cd 0d 17 46 06 20 |%=...E. ...F. | 0002b6e0 cd 0d 17 47 06 20 e1 0d 17 48 04 0d 17 49 27 20 |...G. ...H...I' | 0002b6f0 dd 20 f2 77 72 69 74 65 28 46 24 2c 74 65 78 74 |. .write(F$,text| 0002b700 24 2c 78 25 2c 79 25 2c 78 70 25 2c 79 70 25 2c |$,x%,y%,xp%,yp%,| 0002b710 63 29 0d 17 4a 29 20 e7 20 66 6f 6e 74 25 3c 3e |c)..J) . font%<>| 0002b720 2d 31 20 c8 99 20 22 46 6f 6e 74 5f 4c 6f 73 65 |-1 .. "Font_Lose| 0002b730 46 6f 6e 74 22 2c 66 6f 6e 74 25 0d 17 4b 31 20 |Font",font%..K1 | 0002b740 c8 99 20 22 46 6f 6e 74 5f 46 69 6e 64 46 6f 6e |.. "Font_FindFon| 0002b750 74 22 2c 2c 46 24 2c 78 70 25 2a 31 36 2c 79 70 |t",,F$,xp%*16,yp| 0002b760 25 2a 31 36 20 b8 20 66 6f 6e 74 25 0d 17 4c 11 |%*16 . font%..L.| 0002b770 20 74 25 3d 26 36 35 37 35 37 32 35 34 0d 17 4d | t%=&65757254..M| 0002b780 0b 20 c8 8e 20 63 20 ca 0d 17 4e 45 20 20 c9 20 |. .. c ...NE . | 0002b790 30 3a c8 99 20 22 46 6f 6e 74 5f 53 65 74 50 61 |0:.. "Font_SetPa| 0002b7a0 6c 65 74 74 65 22 2c 2c 30 2c 30 2c 30 2c 26 46 |lette",,0,0,0,&F| 0002b7b0 46 46 46 46 46 30 30 2c 30 2c 74 25 20 3a f4 20 |FFFFF00,0,t% :. | 0002b7c0 42 6c 61 63 6b 20 6e 6f 20 61 6e 74 69 0d 17 4f |Black no anti..O| 0002b7d0 45 20 20 c9 20 31 3a c8 99 20 22 46 6f 6e 74 5f |E . 1:.. "Font_| 0002b7e0 53 65 74 50 61 6c 65 74 74 65 22 2c 2c 30 2c 30 |SetPalette",,0,0| 0002b7f0 2c 30 2c 30 2c 26 46 46 46 46 46 46 30 30 2c 74 |,0,0,&FFFFFF00,t| 0002b800 25 20 3a f4 20 57 68 69 74 65 20 6e 6f 20 61 6e |% :. White no an| 0002b810 74 69 0d 17 50 42 20 20 c9 20 32 3a c8 99 20 22 |ti..PB . 2:.. "| 0002b820 46 6f 6e 74 5f 53 65 74 50 61 6c 65 74 74 65 22 |Font_SetPalette"| 0002b830 2c 2c 30 2c 31 2c 31 34 2c 26 46 46 46 46 46 46 |,,0,1,14,&FFFFFF| 0002b840 30 30 2c 30 2c 74 25 3a f4 20 42 6c 61 63 6b 20 |00,0,t%:. Black | 0002b850 61 6e 74 69 0d 17 51 2c 20 20 c9 20 33 3a c8 99 |anti..Q, . 3:..| 0002b860 20 22 46 6f 6e 74 5f 53 65 74 50 61 6c 65 74 74 | "Font_SetPalett| 0002b870 65 22 2c 2c 30 2c 30 2c 30 2c 30 2c 30 2c 74 25 |e",,0,0,0,0,0,t%| 0002b880 0d 17 52 2e 20 20 c9 20 34 3a c8 99 20 22 46 6f |..R. . 4:.. "Fo| 0002b890 6e 74 5f 53 65 74 46 6f 6e 74 43 6f 6c 6f 75 72 |nt_SetFontColour| 0002b8a0 73 22 2c 66 6f 6e 74 25 2c 31 2c 31 2c 30 0d 17 |s",font%,1,1,0..| 0002b8b0 53 4b 20 20 c9 20 35 3a c8 99 20 22 46 6f 6e 74 |SK . 5:.. "Font| 0002b8c0 5f 53 65 74 50 61 6c 65 74 74 65 22 2c 2c 30 2c |_SetPalette",,0,| 0002b8d0 31 2c 31 34 2c 26 44 43 30 30 30 30 30 30 2c 26 |1,14,&DC000000,&| 0002b8e0 30 30 46 46 46 46 30 30 2c 74 25 3a f4 20 59 65 |00FFFF00,t%:. Ye| 0002b8f0 6c 6c 6f 77 20 61 6e 74 69 0d 17 54 46 20 20 c9 |llow anti..TF .| 0002b900 20 36 3a c8 99 20 22 46 6f 6e 74 5f 53 65 74 50 | 6:.. "Font_SetP| 0002b910 61 6c 65 74 74 65 22 2c 2c 30 2c 30 2c 30 2c 30 |alette",,0,0,0,0| 0002b920 2c 26 30 30 46 46 46 46 30 30 2c 74 25 20 3a f4 |,&00FFFF00,t% :.| 0002b930 20 59 65 6c 6c 6f 77 20 6e 6f 20 61 6e 74 69 0d | Yellow no anti.| 0002b940 17 55 4a 20 20 c9 20 37 3a c8 99 20 22 46 6f 6e |.UJ . 7:.. "Fon| 0002b950 74 5f 53 65 74 50 61 6c 65 74 74 65 22 2c 2c 30 |t_SetPalette",,0| 0002b960 2c 31 2c 31 34 2c 26 44 43 30 30 30 30 30 30 2c |,1,14,&DC000000,| 0002b970 26 46 46 46 46 46 46 30 30 2c 74 25 3a f4 20 57 |&FFFFFF00,t%:. W| 0002b980 68 69 74 65 20 61 6e 74 69 0d 17 56 06 20 7f 0d |hite anti..V. ..| 0002b990 17 57 3a 20 20 c8 99 20 22 46 6f 6e 74 5f 53 65 |.W: .. "Font_Se| 0002b9a0 74 50 61 6c 65 74 74 65 22 2c 2c 30 2c 30 2c 30 |tPalette",,0,0,0| 0002b9b0 2c 30 2c 63 2c 74 25 20 3a 20 f4 20 52 47 42 20 |,0,c,t% : . RGB | 0002b9c0 2d 20 6e 6f 20 61 6e 74 69 0d 17 58 06 20 cb 0d |- no anti..X. ..| 0002b9d0 17 59 04 0d 17 5a 29 20 c8 99 20 22 46 6f 6e 74 |.Y...Z) .. "Font| 0002b9e0 5f 50 61 69 6e 74 22 2c 66 6f 6e 74 25 2c 74 65 |_Paint",font%,te| 0002b9f0 78 74 24 2c 31 36 2c 78 25 2c 79 25 0d 17 5b 22 |xt$,16,x%,y%..["| 0002ba00 20 c8 99 20 22 46 6f 6e 74 5f 4c 6f 73 65 46 6f | .. "Font_LoseFo| 0002ba10 6e 74 22 2c 66 6f 6e 74 25 3a 87 3a c8 96 0d 17 |nt",font%:.:....| 0002ba20 5c 06 20 e1 0d 17 5d 04 0d 17 5e 2b 20 dd 20 f2 |\. ...]...^+ . .| 0002ba30 74 65 78 74 5f 62 6f 75 6e 64 5f 62 6f 78 28 66 |text_bound_box(f| 0002ba40 6f 6e 74 24 2c 74 65 78 74 24 2c 78 70 25 2c 79 |ont$,text$,xp%,y| 0002ba50 70 25 29 0d 17 5f 29 20 e7 20 66 6f 6e 74 25 3c |p%).._) . font%<| 0002ba60 3e 2d 31 20 c8 99 20 22 46 6f 6e 74 5f 4c 6f 73 |>-1 .. "Font_Los| 0002ba70 65 46 6f 6e 74 22 2c 66 6f 6e 74 25 0d 17 60 38 |eFont",font%..`8| 0002ba80 20 c8 99 20 22 46 6f 6e 74 5f 46 69 6e 64 46 6f | .. "Font_FindFo| 0002ba90 6e 74 22 2c 2c 66 6f 6e 74 24 2c 31 36 2a 78 70 |nt",,font$,16*xp| 0002baa0 25 2c 31 36 2a 79 70 25 2c 30 2c 30 20 b8 20 66 |%,16*yp%,0,0 . f| 0002bab0 6f 6e 74 25 0d 17 61 19 20 48 25 3d 30 3a 79 6d |ont%..a. H%=0:ym| 0002bac0 69 6e 25 3d 30 3a 79 6d 61 78 25 3d 30 0d 17 62 |in%=0:ymax%=0..b| 0002bad0 16 20 e3 20 4e 25 3d 31 20 b8 20 a9 28 74 65 78 |. . N%=1 . .(tex| 0002bae0 74 24 29 0d 17 63 42 20 c8 99 20 22 46 6f 6e 74 |t$)..cB .. "Font| 0002baf0 5f 43 68 61 72 42 42 6f 78 22 2c 66 6f 6e 74 25 |_CharBBox",font%| 0002bb00 2c 97 28 c1 74 65 78 74 24 2c 4e 25 2c 31 29 29 |,.(.text$,N%,1))| 0002bb10 2c 31 36 20 b8 2c 72 31 25 2c 72 32 25 2c 72 33 |,16 .,r1%,r2%,r3| 0002bb20 25 2c 72 34 25 0d 17 64 1c 20 e7 20 72 32 25 3c |%,r4%..d. . r2%<| 0002bb30 79 6d 69 6e 25 20 8c 20 79 6d 69 6e 25 3d 72 32 |ymin% . ymin%=r2| 0002bb40 25 0d 17 65 1c 20 e7 20 72 34 25 3e 79 6d 61 78 |%..e. . r4%>ymax| 0002bb50 25 20 8c 20 79 6d 61 78 25 3d 72 34 25 0d 17 66 |% . ymax%=r4%..f| 0002bb60 34 20 c8 99 20 22 46 6f 6e 74 5f 43 6f 6e 76 65 |4 .. "Font_Conve| 0002bb70 72 74 74 6f 70 6f 69 6e 74 73 22 2c 2c 31 32 38 |rttopoints",,128| 0002bb80 30 2c 31 30 32 34 20 b8 20 2c 70 78 25 2c 70 79 |0,1024 . ,px%,py| 0002bb90 25 0d 17 67 36 20 c8 99 20 22 46 6f 6e 74 5f 53 |%..g6 .. "Font_S| 0002bba0 74 72 69 6e 67 57 69 64 74 68 22 2c 2c 74 65 78 |tringWidth",,tex| 0002bbb0 74 24 2c 70 78 25 2c 70 79 25 2c 2d 31 2c 32 35 |t$,px%,py%,-1,25| 0002bbc0 36 20 b8 2c 2c 57 25 0d 17 68 23 20 c8 99 20 22 |6 .,,W%..h# .. "| 0002bbd0 46 6f 6e 74 5f 43 6f 6e 76 65 72 74 74 6f 4f 53 |Font_ConverttoOS| 0002bbe0 22 2c 2c 57 25 20 b8 2c 57 25 0d 17 69 06 20 ed |",,W% .,W%..i. .| 0002bbf0 0d 17 6a 2b 20 57 25 2b 3d 31 32 3a 48 25 3d 79 |..j+ W%+=12:H%=y| 0002bc00 6d 61 78 25 2d 79 6d 69 6e 25 2b 34 3a 59 4f 25 |max%-ymin%+4:YO%| 0002bc10 3d 28 2d 79 6d 69 6e 25 29 2b 34 0d 17 6b 06 20 |=(-ymin%)+4..k. | 0002bc20 e1 0d 17 6c 04 0d 17 6d 33 20 dd 20 f2 6d 61 6b |...l...m3 . .mak| 0002bc30 65 5f 74 65 78 74 5f 6d 61 73 6b 28 66 6f 6e 74 |e_text_mask(font| 0002bc40 24 2c 74 65 78 74 31 24 2c 74 65 78 74 32 24 2c |$,text1$,text2$,| 0002bc50 78 70 25 2c 79 70 25 29 0d 17 6e 41 20 f2 74 65 |xp%,yp%)..nA .te| 0002bc60 78 74 5f 62 6f 75 6e 64 5f 62 6f 78 28 66 6f 6e |xt_bound_box(fon| 0002bc70 74 24 2c 74 65 78 74 31 24 2c 78 70 25 2c 79 70 |t$,text1$,xp%,yp| 0002bc80 25 29 3a 48 31 25 3d 48 25 3a 57 31 25 3d 57 25 |%):H1%=H%:W1%=W%| 0002bc90 3a 59 4f 31 25 3d 59 4f 25 0d 17 6f 13 20 e7 20 |:YO1%=YO%..o. . | 0002bca0 74 65 78 74 32 24 3c 3e 22 22 20 8c 0d 17 70 41 |text2$<>"" ...pA| 0002bcb0 20 f2 74 65 78 74 5f 62 6f 75 6e 64 5f 62 6f 78 | .text_bound_box| 0002bcc0 28 66 6f 6e 74 24 2c 74 65 78 74 32 24 2c 78 70 |(font$,text2$,xp| 0002bcd0 25 2c 79 70 25 29 3a 48 32 25 3d 48 25 3a 48 25 |%,yp%):H2%=H%:H%| 0002bce0 3d 48 25 2b 48 31 25 2b 79 70 25 2f 32 0d 17 71 |=H%+H1%+yp%/2..q| 0002bcf0 16 20 e7 20 57 31 25 3e 57 25 20 8c 20 57 25 3d |. . W1%>W% . W%=| 0002bd00 57 31 25 0d 17 72 06 20 cd 0d 17 73 32 20 c8 99 |W1%..r. ...s2 ..| 0002bd10 20 73 70 72 73 77 69 25 2c 32 35 36 2b 31 36 2c | sprswi%,256+16,| 0002bd20 73 70 72 25 2c 22 74 65 78 74 6d 61 73 6b 22 2c |spr%,"textmask",| 0002bd30 30 2c 30 2c 30 2c 57 25 2c 48 25 0d 17 74 26 20 |0,0,0,W%,H%..t& | 0002bd40 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 32 |.. sprswi%,256+2| 0002bd50 39 2c 73 70 72 25 2c 22 74 65 78 74 6d 61 73 6b |9,spr%,"textmask| 0002bd60 22 0d 17 75 28 20 c8 99 20 73 70 72 73 77 69 25 |"..u( .. sprswi%| 0002bd70 2c 32 35 36 2b 36 30 2c 73 70 72 25 2c 22 74 65 |,256+60,spr%,"te| 0002bd80 78 74 6d 61 73 6b 22 2c 30 0d 17 76 22 20 e6 20 |xtmask",0..v" . | 0002bd90 32 35 35 2c 32 35 35 2c 32 35 35 3a c8 93 20 c8 |255,255,255:.. .| 0002bda0 90 20 30 2c 30 2c 57 25 2c 48 25 0d 17 77 24 20 |. 0,0,W%,H%..w$ | 0002bdb0 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b 36 |.. sprswi%,256+6| 0002bdc0 30 2c 73 70 72 25 2c 30 2c 30 3a 87 3a c8 96 0d |0,spr%,0,0:.:...| 0002bdd0 17 78 28 20 c8 99 20 73 70 72 73 77 69 25 2c 32 |.x( .. sprswi%,2| 0002bde0 35 36 2b 36 31 2c 73 70 72 25 2c 22 74 65 78 74 |56+61,spr%,"text| 0002bdf0 6d 61 73 6b 22 2c 30 0d 17 79 13 20 e7 20 74 65 |mask",0..y. . te| 0002be00 78 74 32 24 3c 3e 22 22 20 8c 0d 17 7a 34 20 f2 |xt2$<>"" ...z4 .| 0002be10 77 72 69 74 65 28 66 6f 6e 74 24 2c 74 65 78 74 |write(font$,text| 0002be20 31 24 2c 34 2c 59 4f 31 25 2b 48 32 25 2b 79 70 |1$,4,YO1%+H2%+yp| 0002be30 25 2f 32 2c 78 70 25 2c 79 70 25 2c 33 29 0d 17 |%/2,xp%,yp%,3)..| 0002be40 7b 29 20 f2 77 72 69 74 65 28 66 6f 6e 74 24 2c |{) .write(font$,| 0002be50 74 65 78 74 32 24 2c 34 2c 59 4f 25 2c 78 70 25 |text2$,4,YO%,xp%| 0002be60 2c 79 70 25 2c 33 29 0d 17 7c 06 20 cc 0d 17 7d |,yp%,3)..|. ...}| 0002be70 29 20 f2 77 72 69 74 65 28 66 6f 6e 74 24 2c 74 |) .write(font$,t| 0002be80 65 78 74 31 24 2c 34 2c 59 4f 25 2c 78 70 25 2c |ext1$,4,YO%,xp%,| 0002be90 79 70 25 2c 33 29 0d 17 7e 06 20 cd 0d 17 7f 24 |yp%,3)..~. ....$| 0002bea0 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b | .. sprswi%,256+| 0002beb0 36 31 2c 73 70 72 25 2c 30 2c 30 3a 87 3a c8 96 |61,spr%,0,0:.:..| 0002bec0 0d 17 80 34 20 73 63 72 65 65 6e 5f 67 72 61 62 |...4 screen_grab| 0002bed0 62 65 64 25 3d 30 3a 6f 76 65 72 6c 61 79 25 3d |bed%=0:overlay%=| 0002bee0 b9 3a 6f 76 65 72 6c 61 79 5f 6f 75 74 6c 69 6e |.:overlay_outlin| 0002bef0 65 25 3d 30 0d 17 81 23 20 73 70 72 69 74 65 5f |e%=0...# sprite_| 0002bf00 6e 61 6d 65 24 3d 22 74 65 78 74 6d 61 73 6b 22 |name$="textmask"| 0002bf10 3a 4f 4f 43 25 3d 30 0d 17 82 06 20 e1 0d 17 83 |:OOC%=0.... ....| 0002bf20 04 0d 17 84 15 20 dd 20 f2 70 6f 73 69 74 69 6f |..... . .positio| 0002bf30 6e 5f 6d 61 73 6b 0d 17 85 16 20 c8 97 20 58 25 |n_mask.... .. X%| 0002bf40 2c 59 25 2c 42 25 3a 70 25 3d 31 31 0d 17 86 33 |,Y%,B%:p%=11...3| 0002bf50 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b | .. sprswi%,256+| 0002bf60 35 32 2c 73 70 72 25 2c 22 74 65 78 74 6d 61 73 |52,spr%,"textmas| 0002bf70 6b 22 2c 58 25 2c 59 25 2c 70 25 2c 30 2c 30 0d |k",X%,Y%,p%,0,0.| 0002bf80 17 87 30 20 f5 3a f5 20 c8 97 20 58 31 25 2c 59 |..0 .:. .. X1%,Y| 0002bf90 31 25 2c 42 3a fd 20 58 31 25 3c 3e 58 25 20 84 |1%,B:. X1%<>X% .| 0002bfa0 20 59 31 25 3c 3e 59 25 20 84 20 42 3c 3e 30 0d | Y1%<>Y% . B<>0.| 0002bfb0 17 88 33 20 c8 99 20 73 70 72 73 77 69 25 2c 32 |..3 .. sprswi%,2| 0002bfc0 35 36 2b 35 32 2c 73 70 72 25 2c 22 74 65 78 74 |56+52,spr%,"text| 0002bfd0 6d 61 73 6b 22 2c 58 25 2c 59 25 2c 70 25 2c 30 |mask",X%,Y%,p%,0| 0002bfe0 2c 30 0d 17 89 26 20 e7 20 42 3d 32 20 8c 20 70 |,0...& . B=2 . p| 0002bff0 25 3d 70 25 20 82 20 38 3a f2 77 61 69 74 5f 6e |%=p% . 8:.wait_n| 0002c000 6f 5f 62 75 74 74 6f 6e 0d 17 8a 35 20 c8 99 20 |o_button...5 .. | 0002c010 73 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 |sprswi%,256+52,s| 0002c020 70 72 25 2c 22 74 65 78 74 6d 61 73 6b 22 2c 58 |pr%,"textmask",X| 0002c030 31 25 2c 59 31 25 2c 70 25 2c 30 2c 30 0d 17 8b |1%,Y1%,p%,0,0...| 0002c040 12 20 58 25 3d 58 31 25 3a 59 25 3d 59 31 25 0d |. X%=X1%:Y%=Y1%.| 0002c050 17 8c 10 20 fd 20 42 3d 31 20 84 20 42 3d 34 0d |... . B=1 . B=4.| 0002c060 17 8d 3a 20 e7 20 42 3d 34 20 8c 20 c8 99 20 73 |..: . B=4 . .. s| 0002c070 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 |prswi%,256+52,sp| 0002c080 72 25 2c 22 74 65 78 74 6d 61 73 6b 22 2c 58 25 |r%,"textmask",X%| 0002c090 2c 59 25 2c 38 2c 30 2c 30 0d 17 8e 06 20 e1 0d |,Y%,8,0,0.... ..| 0002c0a0 17 8f 04 0d 17 90 23 20 dd 20 f2 73 70 72 69 74 |......# . .sprit| 0002c0b0 65 5f 73 68 61 64 6f 77 28 73 73 78 25 2c 73 73 |e_shadow(ssx%,ss| 0002c0c0 79 25 2c 73 25 29 0d 17 91 36 20 c8 99 20 73 70 |y%,s%)...6 .. sp| 0002c0d0 72 73 77 69 25 2c 32 35 36 2b 34 30 2c 73 70 72 |rswi%,256+40,spr| 0002c0e0 25 2c 73 70 72 69 74 65 5f 6e 61 6d 65 24 20 b8 |%,sprite_name$ .| 0002c0f0 2c 2c 2c 73 73 77 25 2c 73 73 68 25 0d 17 92 33 |,,,ssw%,ssh%...3| 0002c100 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 2b | .. sprswi%,256+| 0002c110 32 34 2c 73 70 72 25 2c 73 70 72 69 74 65 5f 6e |24,spr%,sprite_n| 0002c120 61 6d 65 24 20 b8 2c 2c 73 70 72 61 64 64 25 0d |ame$ .,,spradd%.| 0002c130 17 93 0d 20 e7 20 73 25 3d 31 20 8c 0d 17 94 24 |... . s%=1 ....$| 0002c140 20 e3 20 4e 25 3d 30 20 b8 20 33 31 3a 64 25 3d | . N%=0 . 31:d%=| 0002c150 4e 25 2d 32 3a e7 20 64 25 3c 30 20 64 25 3d 30 |N%-2:. d%<0 d%=0| 0002c160 0d 17 95 26 20 67 72 6e 64 61 74 61 3f 4e 25 3d |...& grndata?N%=| 0002c170 64 25 3a ed 3a 73 73 78 25 3d 28 73 73 78 25 20 |d%:.:ssx%=(ssx% | 0002c180 81 20 34 29 2a 34 0d 17 96 3e 20 21 73 70 72 73 |. 4)*4...> !sprs| 0002c190 68 61 64 5f 6d 61 73 6b 3d 73 70 72 61 64 64 25 |had_mask=spradd%| 0002c1a0 2b 28 73 70 72 61 64 64 25 21 33 36 29 3a 21 73 |+(spradd%!36):!s| 0002c1b0 70 72 73 68 61 64 5f 74 61 62 6c 65 3d 67 72 6e |prshad_table=grn| 0002c1c0 64 61 74 61 0d 17 97 32 20 21 73 70 72 73 68 61 |data...2 !sprsha| 0002c1d0 64 5f 62 79 74 65 73 3d 28 73 73 77 25 81 34 29 |d_bytes=(ssw%.4)| 0002c1e0 2a 38 3a 21 73 70 72 73 68 61 64 5f 6c 69 6e 65 |*8:!sprshad_line| 0002c1f0 73 3d 73 73 68 25 0d 17 98 34 20 73 74 61 72 74 |s=ssh%...4 start| 0002c200 25 3d 73 63 72 65 65 6e 25 2b 28 28 28 31 30 32 |%=screen%+(((102| 0002c210 34 2d 73 73 79 25 29 81 32 29 2d 73 73 68 25 29 |4-ssy%).2)-ssh%)| 0002c220 2a 31 32 38 30 2b 73 73 78 25 0d 17 99 20 20 73 |*1280+ssx%... s| 0002c230 74 61 72 74 25 2b 3d 31 33 2a 31 32 38 34 3a e3 |tart%+=13*1284:.| 0002c240 20 53 25 3d 31 20 b8 20 31 36 0d 17 9a 45 20 e7 | S%=1 . 16...E .| 0002c250 20 73 74 61 72 74 25 2d 73 63 72 65 65 6e 25 3c | start%-screen%<| 0002c260 31 32 38 30 2a 34 20 85 20 37 39 36 2c 22 53 68 |1280*4 . 796,"Sh| 0002c270 61 64 6f 77 20 69 73 20 74 6f 6f 20 6e 65 61 72 |adow is too near| 0002c280 20 74 6f 70 20 6f 66 20 73 63 72 65 65 6e 22 0d | top of screen".| 0002c290 17 9b 2b 20 21 73 70 72 73 68 61 64 5f 73 63 72 |..+ !sprshad_scr| 0002c2a0 65 65 6e 3d 73 74 61 72 74 25 3a d6 20 73 70 72 |een=start%:. spr| 0002c2b0 73 68 61 64 5f 63 6f 64 65 25 0d 17 9c 13 20 73 |shad_code%.... s| 0002c2c0 74 61 72 74 25 2d 3d 31 32 38 34 3a ed 0d 17 9d |tart%-=1284:....| 0002c2d0 06 20 cc 0d 17 9e 3a 20 e3 20 4e 25 3d 30 20 b8 |. ....: . N%=0 .| 0002c2e0 20 33 31 3a 64 25 3d 4e 25 2f 32 3a 67 72 6e 64 | 31:d%=N%/2:grnd| 0002c2f0 61 74 61 3f 4e 25 3d 64 25 3a ed 3a 73 73 78 25 |ata?N%=d%:.:ssx%| 0002c300 3d 28 73 73 78 25 20 81 20 34 29 2a 34 0d 17 9f |=(ssx% . 4)*4...| 0002c310 3e 20 21 73 70 72 73 68 61 64 5f 6d 61 73 6b 3d |> !sprshad_mask=| 0002c320 73 70 72 61 64 64 25 2b 28 73 70 72 61 64 64 25 |spradd%+(spradd%| 0002c330 21 33 36 29 3a 21 73 70 72 73 68 61 64 5f 74 61 |!36):!sprshad_ta| 0002c340 62 6c 65 3d 67 72 6e 64 61 74 61 0d 17 a0 32 20 |ble=grndata...2 | 0002c350 21 73 70 72 73 68 61 64 5f 62 79 74 65 73 3d 28 |!sprshad_bytes=(| 0002c360 73 73 77 25 81 34 29 2a 38 3a 21 73 70 72 73 68 |ssw%.4)*8:!sprsh| 0002c370 61 64 5f 6c 69 6e 65 73 3d 73 73 68 25 0d 17 a1 |ad_lines=ssh%...| 0002c380 34 20 73 74 61 72 74 25 3d 73 63 72 65 65 6e 25 |4 start%=screen%| 0002c390 2b 28 28 28 31 30 32 34 2d 73 73 79 25 29 81 32 |+(((1024-ssy%).2| 0002c3a0 29 2d 73 73 68 25 29 2a 31 32 38 30 2b 73 73 78 |)-ssh%)*1280+ssx| 0002c3b0 25 0d 17 a2 45 20 e7 20 73 74 61 72 74 25 2d 73 |%...E . start%-s| 0002c3c0 63 72 65 65 6e 25 3c 31 32 38 30 2a 34 20 85 20 |creen%<1280*4 . | 0002c3d0 37 39 36 2c 22 53 68 61 64 6f 77 20 69 73 20 74 |796,"Shadow is t| 0002c3e0 6f 6f 20 6e 65 61 72 20 74 6f 70 20 6f 66 20 73 |oo near top of s| 0002c3f0 63 72 65 65 6e 22 0d 17 a3 2f 20 e7 20 73 25 3d |creen".../ . s%=| 0002c400 32 20 8c 20 73 74 61 72 74 25 2b 3d 31 32 2a 31 |2 . start%+=12*1| 0002c410 32 38 32 20 8b 20 73 74 61 72 74 25 2b 3d 32 30 |282 . start%+=20| 0002c420 2a 31 32 38 32 0d 17 a4 2b 20 21 73 70 72 73 68 |*1282...+ !sprsh| 0002c430 61 64 5f 73 63 72 65 65 6e 3d 73 74 61 72 74 25 |ad_screen=start%| 0002c440 3a d6 20 73 70 72 73 68 61 64 5f 63 6f 64 65 25 |:. sprshad_code%| 0002c450 0d 17 a5 06 20 cd 0d 17 a6 06 20 e1 0d 17 a7 04 |.... ..... .....| 0002c460 0d 17 a8 1e 20 dd 20 f2 73 70 72 69 74 65 5f 73 |.... . .sprite_s| 0002c470 68 61 64 6f 77 5f 61 73 73 65 6d 62 6c 65 0d 17 |hadow_assemble..| 0002c480 a9 18 20 de 20 73 70 72 73 68 61 64 5f 63 6f 64 |.. . sprshad_cod| 0002c490 65 25 20 33 32 30 0d 17 aa 3f 20 73 63 72 6e 5f |e% 320...? scrn_| 0002c4a0 62 61 73 65 3d 31 3a 6d 61 73 6b 5f 62 61 73 65 |base=1:mask_base| 0002c4b0 3d 32 3a 74 61 62 6c 65 3d 33 3a 64 61 74 61 31 |=2:table=3:data1| 0002c4c0 3d 34 3a 6c 69 6e 65 73 3d 35 3a 6d 61 73 6b 62 |=4:lines=5:maskb| 0002c4d0 69 74 73 3d 36 0d 17 ab 3b 20 77 6f 72 64 3d 37 |its=6...; word=7| 0002c4e0 3a 53 6f 66 66 73 65 74 3d 38 3a 6d 61 73 6b 3d |:Soffset=8:mask=| 0002c4f0 39 3a 4d 6f 66 66 73 65 74 3d 31 30 3a 70 69 78 |9:Moffset=10:pix| 0002c500 65 6c 31 3d 31 31 3a 70 69 78 65 6c 32 3d 31 32 |el1=11:pixel2=12| 0002c510 0d 17 ac 12 20 e3 20 50 3d 30 20 b8 20 32 20 88 |.... . P=0 . 2 .| 0002c520 20 32 0d 17 ad 15 20 50 25 3d 73 70 72 73 68 61 | 2.... P%=sprsha| 0002c530 64 5f 63 6f 64 65 25 0d 17 ae 0b 20 5b 4f 50 54 |d_code%.... [OPT| 0002c540 20 50 0d 17 af 3c 20 4c 44 52 20 73 63 72 6e 5f | P...< LDR scrn_| 0002c550 62 61 73 65 2c 73 70 72 73 68 61 64 5f 73 63 72 |base,sprshad_scr| 0002c560 65 65 6e 3a 4c 44 52 20 6d 61 73 6b 5f 62 61 73 |een:LDR mask_bas| 0002c570 65 2c 73 70 72 73 68 61 64 5f 6d 61 73 6b 0d 17 |e,sprshad_mask..| 0002c580 b0 3a 20 4c 44 52 20 74 61 62 6c 65 2c 73 70 72 |.: LDR table,spr| 0002c590 73 68 61 64 5f 74 61 62 6c 65 3a 4d 4f 56 20 53 |shad_table:MOV S| 0002c5a0 6f 66 66 73 65 74 2c 23 30 3a 4d 4f 56 20 4d 6f |offset,#0:MOV Mo| 0002c5b0 66 66 73 65 74 2c 23 30 0d 17 b1 2d 20 4c 44 52 |ffset,#0...- LDR| 0002c5c0 20 6c 69 6e 65 73 2c 73 70 72 73 68 61 64 5f 6c | lines,sprshad_l| 0002c5d0 69 6e 65 73 3a 4d 4f 56 20 6d 61 73 6b 62 69 74 |ines:MOV maskbit| 0002c5e0 73 2c 23 33 32 0d 17 b2 21 20 4c 44 52 20 6d 61 |s,#32...! LDR ma| 0002c5f0 73 6b 2c 5b 6d 61 73 6b 5f 62 61 73 65 2c 4d 6f |sk,[mask_base,Mo| 0002c600 66 66 73 65 74 5d 0d 17 b3 04 0d 17 b4 12 20 2e |ffset]........ .| 0002c610 73 70 72 73 68 61 64 5f 6c 6f 6f 70 0d 17 b5 22 |sprshad_loop..."| 0002c620 20 4c 44 52 20 64 61 74 61 31 2c 5b 73 63 72 6e | LDR data1,[scrn| 0002c630 5f 62 61 73 65 2c 53 6f 66 66 73 65 74 5d 0d 17 |_base,Soffset]..| 0002c640 b6 35 20 4d 4f 56 20 70 69 78 65 6c 31 2c 64 61 |.5 MOV pixel1,da| 0002c650 74 61 31 2c 4c 53 4c 23 31 36 3a 4d 4f 56 20 70 |ta1,LSL#16:MOV p| 0002c660 69 78 65 6c 31 2c 70 69 78 65 6c 31 2c 4c 53 52 |ixel1,pixel1,LSR| 0002c670 23 31 36 0d 17 b7 1d 20 4d 4f 56 20 70 69 78 65 |#16.... MOV pixe| 0002c680 6c 32 2c 64 61 74 61 31 2c 4c 53 52 23 31 36 20 |l2,data1,LSR#16 | 0002c690 0d 17 b8 04 0d 17 b9 1b 20 54 53 54 20 6d 61 73 |........ TST mas| 0002c6a0 6b 2c 23 31 3a 42 45 51 20 73 65 63 6f 6e 64 0d |k,#1:BEQ second.| 0002c6b0 17 ba 04 0d 17 bb 10 20 4d 4f 56 20 77 6f 72 64 |....... MOV word| 0002c6c0 2c 23 30 0d 17 bc 2f 20 80 20 64 61 74 61 31 2c |,#0.../ . data1,| 0002c6d0 70 69 78 65 6c 31 2c 23 33 31 3a 4c 44 52 42 20 |pixel1,#31:LDRB | 0002c6e0 77 6f 72 64 2c 5b 74 61 62 6c 65 2c 64 61 74 61 |word,[table,data| 0002c6f0 31 5d 0d 17 bd 2f 20 4d 4f 56 20 70 69 78 65 6c |1].../ MOV pixel| 0002c700 31 2c 70 69 78 65 6c 31 2c 4c 53 52 23 35 3a 80 |1,pixel1,LSR#5:.| 0002c710 20 64 61 74 61 31 2c 70 69 78 65 6c 31 2c 23 33 | data1,pixel1,#3| 0002c720 31 0d 17 be 31 20 4c 44 52 42 20 52 30 2c 5b 74 |1...1 LDRB R0,[t| 0002c730 61 62 6c 65 2c 64 61 74 61 31 5d 3a 41 44 44 20 |able,data1]:ADD | 0002c740 77 6f 72 64 2c 77 6f 72 64 2c 52 30 2c 4c 53 4c |word,word,R0,LSL| 0002c750 23 35 0d 17 bf 2f 20 4d 4f 56 20 70 69 78 65 6c |#5.../ MOV pixel| 0002c760 31 2c 70 69 78 65 6c 31 2c 4c 53 52 23 35 3a 80 |1,pixel1,LSR#5:.| 0002c770 20 64 61 74 61 31 2c 70 69 78 65 6c 31 2c 23 33 | data1,pixel1,#3| 0002c780 31 0d 17 c0 42 20 4c 44 52 42 20 52 30 2c 5b 74 |1...B LDRB R0,[t| 0002c790 61 62 6c 65 2c 64 61 74 61 31 5d 3a 41 44 44 20 |able,data1]:ADD | 0002c7a0 77 6f 72 64 2c 77 6f 72 64 2c 52 30 2c 4c 53 4c |word,word,R0,LSL| 0002c7b0 23 31 30 3a 4d 4f 56 20 70 69 78 65 6c 31 2c 77 |#10:MOV pixel1,w| 0002c7c0 6f 72 64 0d 17 c1 04 0d 17 c2 0c 20 2e 73 65 63 |ord........ .sec| 0002c7d0 6f 6e 64 0d 17 c3 33 20 4d 4f 56 20 6d 61 73 6b |ond...3 MOV mask| 0002c7e0 2c 6d 61 73 6b 2c 4c 53 52 23 31 3a 54 53 54 20 |,mask,LSR#1:TST | 0002c7f0 6d 61 73 6b 2c 23 31 3a 42 45 51 20 77 6f 72 64 |mask,#1:BEQ word| 0002c800 5f 72 65 61 64 79 0d 17 c4 04 0d 17 c5 10 20 4d |_ready........ M| 0002c810 4f 56 20 77 6f 72 64 2c 23 30 0d 17 c6 2f 20 80 |OV word,#0.../ .| 0002c820 20 64 61 74 61 31 2c 70 69 78 65 6c 32 2c 23 33 | data1,pixel2,#3| 0002c830 31 3a 4c 44 52 42 20 77 6f 72 64 2c 5b 74 61 62 |1:LDRB word,[tab| 0002c840 6c 65 2c 64 61 74 61 31 5d 0d 17 c7 2f 20 4d 4f |le,data1].../ MO| 0002c850 56 20 70 69 78 65 6c 32 2c 70 69 78 65 6c 32 2c |V pixel2,pixel2,| 0002c860 4c 53 52 23 35 3a 80 20 64 61 74 61 31 2c 70 69 |LSR#5:. data1,pi| 0002c870 78 65 6c 32 2c 23 33 31 0d 17 c8 31 20 4c 44 52 |xel2,#31...1 LDR| 0002c880 42 20 52 30 2c 5b 74 61 62 6c 65 2c 64 61 74 61 |B R0,[table,data| 0002c890 31 5d 3a 41 44 44 20 77 6f 72 64 2c 77 6f 72 64 |1]:ADD word,word| 0002c8a0 2c 52 30 2c 4c 53 4c 23 35 0d 17 c9 2f 20 4d 4f |,R0,LSL#5.../ MO| 0002c8b0 56 20 70 69 78 65 6c 32 2c 70 69 78 65 6c 32 2c |V pixel2,pixel2,| 0002c8c0 4c 53 52 23 35 3a 80 20 64 61 74 61 31 2c 70 69 |LSR#5:. data1,pi| 0002c8d0 78 65 6c 32 2c 23 33 31 0d 17 ca 42 20 4c 44 52 |xel2,#31...B LDR| 0002c8e0 42 20 52 30 2c 5b 74 61 62 6c 65 2c 64 61 74 61 |B R0,[table,data| 0002c8f0 31 5d 3a 41 44 44 20 77 6f 72 64 2c 77 6f 72 64 |1]:ADD word,word| 0002c900 2c 52 30 2c 4c 53 4c 23 31 30 3a 4d 4f 56 20 70 |,R0,LSL#10:MOV p| 0002c910 69 78 65 6c 32 2c 77 6f 72 64 0d 17 cb 04 0d 17 |ixel2,word......| 0002c920 cc 10 20 2e 77 6f 72 64 5f 72 65 61 64 79 0d 17 |.. .word_ready..| 0002c930 cd 3f 20 41 44 44 20 77 6f 72 64 2c 70 69 78 65 |.? ADD word,pixe| 0002c940 6c 31 2c 70 69 78 65 6c 32 2c 4c 53 4c 23 31 36 |l1,pixel2,LSL#16| 0002c950 3a 53 54 52 20 77 6f 72 64 2c 5b 73 63 72 6e 5f |:STR word,[scrn_| 0002c960 62 61 73 65 2c 53 6f 66 66 73 65 74 5d 0d 17 ce |base,Soffset]...| 0002c970 40 20 4d 4f 56 20 6d 61 73 6b 2c 6d 61 73 6b 2c |@ MOV mask,mask,| 0002c980 4c 53 52 23 31 3a 53 55 42 53 20 6d 61 73 6b 62 |LSR#1:SUBS maskb| 0002c990 69 74 73 2c 6d 61 73 6b 62 69 74 73 2c 23 32 3a |its,maskbits,#2:| 0002c9a0 42 4e 45 20 6d 6f 72 65 5f 62 69 74 73 0d 17 cf |BNE more_bits...| 0002c9b0 2c 20 4d 4f 56 20 6d 61 73 6b 62 69 74 73 2c 23 |, MOV maskbits,#| 0002c9c0 33 32 3a 41 44 44 20 4d 6f 66 66 73 65 74 2c 4d |32:ADD Moffset,M| 0002c9d0 6f 66 66 73 65 74 2c 23 34 0d 17 d0 21 20 4c 44 |offset,#4...! LD| 0002c9e0 52 20 6d 61 73 6b 2c 5b 6d 61 73 6b 5f 62 61 73 |R mask,[mask_bas| 0002c9f0 65 2c 4d 6f 66 66 73 65 74 5d 0d 17 d1 0f 20 2e |e,Moffset].... .| 0002ca00 6d 6f 72 65 5f 62 69 74 73 0d 17 d2 30 20 41 44 |more_bits...0 AD| 0002ca10 44 20 53 6f 66 66 73 65 74 2c 53 6f 66 66 73 65 |D Soffset,Soffse| 0002ca20 74 2c 23 34 3a 4c 44 52 20 52 30 2c 73 70 72 73 |t,#4:LDR R0,sprs| 0002ca30 68 61 64 5f 62 79 74 65 73 0d 17 d3 24 20 43 4d |had_bytes...$ CM| 0002ca40 50 20 53 6f 66 66 73 65 74 2c 52 30 3a 42 4c 54 |P Soffset,R0:BLT| 0002ca50 20 73 70 72 73 68 61 64 5f 6c 6f 6f 70 0d 17 d4 | sprshad_loop...| 0002ca60 2c 20 4d 4f 56 20 6d 61 73 6b 62 69 74 73 2c 23 |, MOV maskbits,#| 0002ca70 33 32 3a 41 44 44 20 4d 6f 66 66 73 65 74 2c 4d |32:ADD Moffset,M| 0002ca80 6f 66 66 73 65 74 2c 23 34 0d 17 d5 21 20 4c 44 |offset,#4...! LD| 0002ca90 52 20 6d 61 73 6b 2c 5b 6d 61 73 6b 5f 62 61 73 |R mask,[mask_bas| 0002caa0 65 2c 4d 6f 66 66 73 65 74 5d 0d 17 d6 31 20 4d |e,Moffset]...1 M| 0002cab0 4f 56 20 53 6f 66 66 73 65 74 2c 23 30 3a 41 44 |OV Soffset,#0:AD| 0002cac0 44 20 73 63 72 6e 5f 62 61 73 65 2c 73 63 72 6e |D scrn_base,scrn| 0002cad0 5f 62 61 73 65 2c 23 31 32 38 30 0d 17 d7 29 20 |_base,#1280...) | 0002cae0 53 55 42 53 20 6c 69 6e 65 73 2c 6c 69 6e 65 73 |SUBS lines,lines| 0002caf0 2c 23 31 3a 42 4e 45 20 73 70 72 73 68 61 64 5f |,#1:BNE sprshad_| 0002cb00 6c 6f 6f 70 0d 17 d8 0f 20 4d 4f 56 20 50 43 2c |loop.... MOV PC,| 0002cb10 52 31 34 0d 17 d9 04 0d 17 da 1b 20 2e 73 70 72 |R14........ .spr| 0002cb20 73 68 61 64 5f 73 63 72 65 65 6e 20 45 51 55 44 |shad_screen EQUD| 0002cb30 20 30 0d 17 db 1b 20 2e 73 70 72 73 68 61 64 5f | 0.... .sprshad_| 0002cb40 6d 61 73 6b 20 20 20 45 51 55 44 20 30 0d 17 dc |mask EQUD 0...| 0002cb50 1b 20 2e 73 70 72 73 68 61 64 5f 74 61 62 6c 65 |. .sprshad_table| 0002cb60 20 20 45 51 55 44 20 30 0d 17 dd 1b 20 2e 73 70 | EQUD 0.... .sp| 0002cb70 72 73 68 61 64 5f 62 79 74 65 73 20 20 45 51 55 |rshad_bytes EQU| 0002cb80 44 20 30 0d 17 de 1b 20 2e 73 70 72 73 68 61 64 |D 0.... .sprshad| 0002cb90 5f 6c 69 6e 65 73 20 20 45 51 55 44 20 30 0d 17 |_lines EQUD 0..| 0002cba0 df 06 20 5d 0d 17 e0 06 20 ed 0d 17 e1 06 20 e1 |.. ].... ..... .| 0002cbb0 0d 17 e2 04 0d 17 e3 19 20 dd 20 f2 74 68 75 6d |........ . .thum| 0002cbc0 62 5f 63 75 72 73 6f 72 28 78 2c 79 29 0d 17 e4 |b_cursor(x,y)...| 0002cbd0 40 20 74 63 78 25 3d 28 74 68 75 6d 62 5f 62 6f |@ tcx%=(thumb_bo| 0002cbe0 78 25 20 83 20 38 29 2a 31 36 30 2b 32 3a 74 63 |x% . 8)*160+2:tc| 0002cbf0 79 25 3d 38 39 38 2d 28 28 74 68 75 6d 62 5f 62 |y%=898-((thumb_b| 0002cc00 6f 78 25 20 81 20 38 29 2a 31 32 38 29 0d 17 e5 |ox% . 8)*128)...| 0002cc10 28 20 78 6f 25 3d 78 2d 74 63 78 25 3a 79 6f 25 |( xo%=x-tcx%:yo%| 0002cc20 3d 79 2d 74 63 79 25 3a e6 20 33 2c 36 33 20 c8 |=y-tcy%:. 3,63 .| 0002cc30 9c 20 31 39 32 0d 17 e6 19 20 c8 93 20 74 63 78 |. 192.... .. tcx| 0002cc40 25 2c 74 63 79 25 2c 31 35 34 2c 31 32 32 0d 17 |%,tcy%,154,122..| 0002cc50 e7 06 20 f5 0d 17 e8 11 20 f5 3a c8 97 20 78 31 |.. ..... .:.. x1| 0002cc60 2c 79 31 2c 42 0d 17 e9 1a 20 fd 20 78 31 3c 3e |,y1,B.... . x1<>| 0002cc70 78 20 84 20 79 31 3c 3e 79 20 84 20 42 3d 30 0d |x . y1<>y . B=0.| 0002cc80 17 ea 0d 20 e7 20 42 3c 3e 30 20 8c 0d 17 eb 31 |... . B<>0 ....1| 0002cc90 20 c8 93 20 74 63 78 25 2c 74 63 79 25 2c 31 35 | .. tcx%,tcy%,15| 0002cca0 34 2c 31 32 32 3a 74 63 78 25 3d 78 31 2d 78 6f |4,122:tcx%=x1-xo| 0002ccb0 25 3a 74 63 79 25 3d 79 31 2d 79 6f 25 0d 17 ec |%:tcy%=y1-yo%...| 0002ccc0 23 20 c8 93 20 74 63 78 25 2c 74 63 79 25 2c 31 |# .. tcx%,tcy%,1| 0002ccd0 35 34 2c 31 32 32 3a 78 3d 78 31 3a 79 3d 79 31 |54,122:x=x1:y=y1| 0002cce0 0d 17 ed 06 20 cc 0d 17 ee 19 20 c8 93 20 74 63 |.... ..... .. tc| 0002ccf0 78 25 2c 74 63 79 25 2c 31 35 34 2c 31 32 32 0d |x%,tcy%,154,122.| 0002cd00 17 ef 06 20 cd 0d 17 f0 0a 20 fd 20 42 3d 30 0d |... ..... . B=0.| 0002cd10 17 f1 06 20 e1 0d 17 f2 04 0d 17 f3 17 20 dd 20 |... ......... . | 0002cd20 f2 73 68 6f 77 5f 74 68 75 6d 62 6e 61 69 6c 73 |.show_thumbnails| 0002cd30 0d 17 f4 25 20 e6 20 34 38 2c 34 38 2c 31 38 34 |...% . 48,48,184| 0002cd40 3a c8 93 20 c8 90 20 30 2c 30 2c 31 32 38 30 2c |:.. .. 0,0,1280,| 0002cd50 31 30 32 34 20 0d 17 f5 17 20 e3 20 4d 25 3d 31 |1024 .... . M%=1| 0002cd60 20 b8 20 6d 65 6d 6f 72 69 65 73 25 0d 17 f6 29 | . memories%...)| 0002cd70 20 21 73 6f 75 72 63 65 5f 61 64 64 72 65 73 73 | !source_address| 0002cd80 3d a4 6d 65 6d 5f 74 6f 5f 62 6c 6f 63 6b 28 4d |=.mem_to_block(M| 0002cd90 25 29 2b 32 30 0d 17 f7 2d 20 21 64 65 73 74 5f |%)+20...- !dest_| 0002cda0 61 64 64 72 65 73 73 3d 73 63 72 65 65 6e 25 2b |address=screen%+| 0002cdb0 31 36 30 2a 28 4d 25 2d 31 29 2b 31 32 38 30 2a |160*(M%-1)+1280*| 0002cdc0 36 34 0d 17 f8 17 20 d6 20 6d 61 6b 65 5f 74 68 |64.... . make_th| 0002cdd0 75 6d 62 6e 61 69 6c 3a ed 0d 17 f9 23 20 e3 20 |umbnail:....# . | 0002cde0 4e 25 3d 31 20 b8 20 38 3a 6c 6f 61 64 5f 6c 69 |N%=1 . 8:load_li| 0002cdf0 73 74 24 28 4e 25 29 3d 22 22 3a ed 0d 17 fa 39 |st$(N%)="":....9| 0002ce00 20 e6 20 32 35 35 2c 32 35 35 2c 32 35 35 3a c8 | . 255,255,255:.| 0002ce10 93 20 c8 90 20 33 30 2c 39 38 30 2c 34 32 30 2c |. .. 30,980,420,| 0002ce20 38 3a c8 93 20 c8 90 20 38 31 38 2c 39 38 30 2c |8:.. .. 818,980,| 0002ce30 34 32 30 2c 38 0d 17 fb 31 20 f2 77 72 69 74 65 |420,8...1 .write| 0002ce40 32 28 22 50 73 63 61 6e 20 74 68 75 6d 62 6e 61 |2("Pscan thumbna| 0002ce50 69 6c 20 64 69 73 70 6c 61 79 22 2c 34 36 30 2c |il display",460,| 0002ce60 39 36 34 2c 30 29 0d 17 fc 31 20 f2 77 72 69 74 |964,0)...1 .writ| 0002ce70 65 32 28 22 50 73 63 61 6e 20 74 68 75 6d 62 6e |e2("Pscan thumbn| 0002ce80 61 69 6c 20 64 69 73 70 6c 61 79 22 2c 34 35 36 |ail display",456| 0002ce90 2c 39 36 38 2c 31 29 0d 17 fd 3b 20 f2 72 61 69 |,968,1)...; .rai| 0002cea0 73 65 64 5f 62 6c 6f 63 6b 28 33 32 2c 34 30 2c |sed_block(32,40,| 0002ceb0 34 30 2c 34 30 29 3a f2 72 61 69 73 65 64 5f 62 |40,40):.raised_b| 0002cec0 6c 6f 63 6b 28 38 30 2c 34 30 2c 31 38 34 2c 34 |lock(80,40,184,4| 0002ced0 30 29 0d 17 fe 3f 20 f2 72 61 69 73 65 64 5f 62 |0)...? .raised_b| 0002cee0 6c 6f 63 6b 28 32 37 32 2c 34 30 2c 34 30 2c 34 |lock(272,40,40,4| 0002cef0 30 29 3a f2 77 72 69 74 65 32 28 22 42 61 6e 6b |0):.write2("Bank| 0002cf00 20 73 65 6c 65 63 74 22 2c 37 36 2c 34 34 2c 34 | select",76,44,4| 0002cf10 29 0d 17 ff 2f 20 f2 77 72 69 74 65 32 28 22 3c |).../ .write2("<| 0002cf20 22 2c 33 32 2c 34 34 2c 34 29 3a f2 77 72 69 74 |",32,44,4):.writ| 0002cf30 65 32 28 22 3e 22 2c 32 37 32 2c 34 34 2c 34 29 |e2(">",272,44,4)| 0002cf40 0d 18 00 45 20 f2 72 61 69 73 65 64 5f 62 6c 6f |...E .raised_blo| 0002cf50 63 6b 28 33 34 30 2c 34 30 2c 32 38 30 2c 34 30 |ck(340,40,280,40| 0002cf60 29 3a f2 77 72 69 74 65 32 28 22 43 72 65 61 74 |):.write2("Creat| 0002cf70 65 20 6e 65 77 20 62 61 6e 6b 22 2c 33 35 34 2c |e new bank",354,| 0002cf80 34 34 2c 34 29 0d 18 01 3e 20 f2 72 61 69 73 65 |44,4)...> .raise| 0002cf90 64 5f 62 6c 6f 63 6b 28 36 36 30 2c 34 30 2c 32 |d_block(660,40,2| 0002cfa0 38 30 2c 34 30 29 3a f2 72 61 69 73 65 64 5f 62 |80,40):.raised_b| 0002cfb0 6c 6f 63 6b 28 39 37 30 2c 34 30 2c 32 38 30 2c |lock(970,40,280,| 0002cfc0 34 30 29 0d 18 02 2a 20 f2 77 72 69 74 65 32 28 |40)...* .write2(| 0002cfd0 22 55 6e 64 6f 20 6c 61 73 74 20 75 70 64 61 74 |"Undo last updat| 0002cfe0 65 73 22 2c 36 36 30 2c 34 34 2c 34 29 0d 18 03 |es",660,44,4)...| 0002cff0 29 20 f2 77 72 69 74 65 32 28 22 43 6c 6f 73 65 |) .write2("Close| 0002d000 20 74 68 75 6d 62 6e 61 69 6c 73 22 2c 39 38 30 | thumbnails",980| 0002d010 2c 34 34 2c 34 29 0d 18 04 38 20 c8 99 20 73 70 |,44,4)...8 .. sp| 0002d020 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 74 68 62 |rswi%,256+52,thb| 0002d030 6c 6f 63 6b 25 2c 22 74 68 75 6d 62 6e 61 69 6c |lock%,"thumbnail| 0002d040 73 22 2c 30 2c 31 32 38 2c 30 2c 30 2c 30 0d 18 |s",0,128,0,0,0..| 0002d050 05 2f 20 74 68 6d 6f 64 69 66 79 25 3d a3 3a 74 |./ thmodify%=.:t| 0002d060 68 75 6d 62 5f 6c 6f 61 64 5f 66 69 6c 65 25 3d |humb_load_file%=| 0002d070 a3 3a 66 66 25 3d 30 3a 66 74 25 3d 30 0d 18 06 |.:ff%=0:ft%=0...| 0002d080 06 20 f5 0d 18 07 29 20 e6 20 31 32 38 2c 32 35 |. ....) . 128,25| 0002d090 35 2c 32 35 35 3a c8 93 20 30 2c 37 36 36 2c 31 |5,255:.. 0,766,1| 0002d0a0 32 37 36 2c 31 32 36 3a 4e 25 3d 31 0d 18 08 1b |276,126:N%=1....| 0002d0b0 20 e3 20 58 25 3d 30 20 b8 20 31 32 38 30 2d 31 | . X%=0 . 1280-1| 0002d0c0 36 30 20 88 31 36 30 0d 18 09 20 20 e7 20 4e 25 |60 .160... . N%| 0002d0d0 3d 4d 45 4d 25 2b 31 20 8c 20 74 63 25 3d 30 20 |=MEM%+1 . tc%=0 | 0002d0e0 8b 20 74 63 25 3d 35 0d 18 0a 2a 20 e7 20 74 63 |. tc%=5...* . tc| 0002d0f0 25 3d 30 20 8c 20 e6 20 32 35 35 2c 32 35 35 2c |%=0 . . 255,255,| 0002d100 32 35 35 20 8b 20 e6 20 34 38 2c 34 38 2c 31 38 |255 . . 48,48,18| 0002d110 34 0d 18 0b 2c 20 c8 93 20 c8 90 20 58 25 2c 38 |4..., .. .. X%,8| 0002d120 39 38 2c 31 36 30 2c 34 30 3a c8 93 20 c8 90 20 |98,160,40:.. .. | 0002d130 58 25 2c 37 32 30 2c 31 36 30 2c 34 30 0d 18 0c |X%,720,160,40...| 0002d140 31 20 e7 20 4e 25 3d 4d 45 4d 25 2b 31 20 8c 20 |1 . N%=MEM%+1 . | 0002d150 f2 77 72 69 74 65 32 28 22 43 75 72 72 65 6e 74 |.write2("Current| 0002d160 22 2c 58 25 2b 31 34 2c 37 32 34 2c 30 29 0d 18 |",X%+14,724,0)..| 0002d170 0d 33 20 e7 20 4e 25 3c 3d 6d 65 6d 6f 72 69 65 |.3 . N%<=memorie| 0002d180 73 25 20 8c 20 f2 77 72 69 74 65 32 28 c3 28 4e |s% . .write2(.(N| 0002d190 25 29 2c 58 25 2b 35 36 2c 39 30 30 2c 74 63 25 |%),X%+56,900,tc%| 0002d1a0 29 0d 18 0e 2c 20 4e 25 2b 3d 31 3a e6 20 31 32 |)..., N%+=1:. 12| 0002d1b0 38 2c 32 35 35 2c 32 35 35 3a c8 93 20 58 25 2c |8,255,255:.. X%,| 0002d1c0 37 36 34 2c 31 35 38 2c 31 33 30 3a ed 0d 18 0f |764,158,130:....| 0002d1d0 23 20 e6 20 32 35 35 2c 32 35 35 2c 30 3a c8 93 |# . 255,255,0:..| 0002d1e0 20 c8 90 20 30 2c 36 34 30 2c 31 32 38 30 2c 32 | .. 0,640,1280,2| 0002d1f0 0d 18 10 25 20 e6 20 31 32 38 2c 31 38 30 2c 32 |...% . 128,180,2| 0002d200 35 35 3a c8 93 20 c8 90 20 30 2c 36 34 34 2c 33 |55:.. .. 0,644,3| 0002d210 38 30 2c 35 30 0d 18 11 49 20 f2 77 72 69 74 65 |80,50...I .write| 0002d220 32 28 22 54 68 75 6d 62 6e 61 69 6c 20 62 61 6e |2("Thumbnail ban| 0002d230 6b 20 22 2b c3 20 74 68 75 6d 62 5f 62 61 6e 6b |k "+. thumb_bank| 0002d240 25 2b 22 20 6f 66 20 22 2b c3 20 74 68 75 6d 62 |%+" of "+. thumb| 0002d250 5f 6d 61 78 25 2c 38 2c 36 35 34 2c 30 29 0d 18 |_max%,8,654,0)..| 0002d260 12 2c 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 |., .wait_no_butt| 0002d270 6f 6e 3a 66 73 74 61 72 74 24 3d 22 22 3a e6 20 |on:fstart$="":. | 0002d280 36 34 2c 32 35 35 2c 31 32 38 0d 18 13 0f 20 f5 |64,255,128.... .| 0002d290 3a c8 97 20 58 2c 59 2c 42 0d 18 14 16 20 f2 63 |:.. X,Y,B.... .c| 0002d2a0 68 65 63 6b 5f 61 6c 74 5f 73 5f 73 61 76 65 0d |heck_alt_s_save.| 0002d2b0 18 15 29 20 74 68 75 6d 62 5f 62 6f 78 25 3d 28 |..) thumb_box%=(| 0002d2c0 28 31 30 32 34 2d 59 29 81 31 32 38 29 2a 38 2b |(1024-Y).128)*8+| 0002d2d0 28 58 20 81 31 36 30 29 0d 18 16 25 20 46 24 3d |(X .160)...% F$=| 0002d2e0 24 28 74 68 70 61 74 68 25 2b 28 74 68 75 6d 62 |$(thpath%+(thumb| 0002d2f0 5f 62 6f 78 25 2d 32 34 29 2a 38 30 29 0d 18 17 |_box%-24)*80)...| 0002d300 14 20 e7 20 46 24 3c 3e 66 73 74 61 72 74 24 20 |. . F$<>fstart$ | 0002d310 8c 0d 18 18 19 20 c8 93 20 c8 90 20 33 38 30 2c |..... .. .. 380,| 0002d320 36 34 34 2c 39 30 30 2c 35 30 0d 18 19 45 20 e7 |644,900,50...E .| 0002d330 20 74 68 75 6d 62 5f 62 6f 78 25 3e 32 33 20 80 | thumb_box%>23 .| 0002d340 20 74 68 75 6d 62 5f 62 6f 78 25 3c 35 36 20 f2 | thumb_box%<56 .| 0002d350 77 72 69 74 65 32 28 46 24 2c 33 38 38 2c 36 35 |write2(F$,388,65| 0002d360 34 2c 30 29 3a 66 73 74 61 72 74 24 3d 46 24 0d |4,0):fstart$=F$.| 0002d370 18 1a 06 20 cd 0d 18 1b 10 20 fd 20 42 3d 34 20 |... ..... . B=4 | 0002d380 84 20 42 3d 31 0d 18 1c 04 0d 18 1d 20 20 e7 20 |. B=1....... . | 0002d390 94 28 58 2d 35 30 29 3c 33 30 20 80 20 94 28 59 |.(X-50)<30 . .(Y| 0002d3a0 2d 36 34 29 3c 33 30 20 8c 0d 18 1e 16 20 e7 20 |-64)<30 ..... . | 0002d3b0 74 68 75 6d 62 5f 62 61 6e 6b 25 3e 31 20 8c 0d |thumb_bank%>1 ..| 0002d3c0 18 1f 2b 20 e7 20 42 3d 31 20 8c 20 74 68 75 6d |..+ . B=1 . thum| 0002d3d0 62 5f 62 61 6e 6b 25 3d 31 20 8b 20 74 68 75 6d |b_bank%=1 . thum| 0002d3e0 62 5f 62 61 6e 6b 25 2d 3d 31 0d 18 20 26 20 f2 |b_bank%-=1.. & .| 0002d3f0 6c 6f 61 64 5f 74 68 75 6d 62 6e 61 69 6c 5f 62 |load_thumbnail_b| 0002d400 61 6e 6b 28 74 68 75 6d 62 5f 62 61 6e 6b 25 29 |ank(thumb_bank%)| 0002d410 0d 18 21 38 20 c8 99 20 73 70 72 73 77 69 25 2c |..!8 .. sprswi%,| 0002d420 32 35 36 2b 35 32 2c 74 68 62 6c 6f 63 6b 25 2c |256+52,thblock%,| 0002d430 22 74 68 75 6d 62 6e 61 69 6c 73 22 2c 30 2c 31 |"thumbnails",0,1| 0002d440 32 38 2c 30 2c 30 2c 30 0d 18 22 06 20 cd 0d 18 |28,0,0,0..". ...| 0002d450 23 06 20 cd 0d 18 24 04 0d 18 25 21 20 e7 20 94 |#. ...$...%! . .| 0002d460 28 58 2d 32 38 38 29 3c 33 30 20 80 20 94 28 59 |(X-288)<30 . .(Y| 0002d470 2d 36 34 29 3c 33 30 20 8c 0d 18 26 1f 20 e7 20 |-64)<30 ...&. . | 0002d480 74 68 75 6d 62 5f 62 61 6e 6b 25 3c 74 68 75 6d |thumb_bank%<thum| 0002d490 62 5f 6d 61 78 25 20 8c 0d 18 27 34 20 e7 20 42 |b_max% ...'4 . B| 0002d4a0 3d 31 20 8c 20 74 68 75 6d 62 5f 62 61 6e 6b 25 |=1 . thumb_bank%| 0002d4b0 3d 74 68 75 6d 62 5f 6d 61 78 25 20 8b 20 74 68 |=thumb_max% . th| 0002d4c0 75 6d 62 5f 62 61 6e 6b 25 2b 3d 31 0d 18 28 26 |umb_bank%+=1..(&| 0002d4d0 20 f2 6c 6f 61 64 5f 74 68 75 6d 62 6e 61 69 6c | .load_thumbnail| 0002d4e0 5f 62 61 6e 6b 28 74 68 75 6d 62 5f 62 61 6e 6b |_bank(thumb_bank| 0002d4f0 25 29 0d 18 29 38 20 c8 99 20 73 70 72 73 77 69 |%)..)8 .. sprswi| 0002d500 25 2c 32 35 36 2b 35 32 2c 74 68 62 6c 6f 63 6b |%,256+52,thblock| 0002d510 25 2c 22 74 68 75 6d 62 6e 61 69 6c 73 22 2c 30 |%,"thumbnails",0| 0002d520 2c 31 32 38 2c 30 2c 30 2c 30 0d 18 2a 06 20 cd |,128,0,0,0..*. .| 0002d530 0d 18 2b 06 20 cd 0d 18 2c 04 0d 18 2d 26 20 e7 |..+. ...,...-& .| 0002d540 20 74 68 75 6d 62 5f 62 6f 78 25 3e 32 33 20 80 | thumb_box%>23 .| 0002d550 20 74 68 75 6d 62 5f 62 6f 78 25 3c 35 36 20 8c | thumb_box%<56 .| 0002d560 0d 18 2e 19 20 f4 20 43 6c 69 63 6b 20 6f 6e 20 |.... . Click on | 0002d570 74 68 75 6d 62 6e 61 69 6c 0d 18 2f 20 20 f2 74 |thumbnail../ .t| 0002d580 68 75 6d 62 5f 63 75 72 73 6f 72 28 58 2c 59 29 |humb_cursor(X,Y)| 0002d590 3a c8 97 20 58 2c 59 2c 42 0d 18 30 2a 20 74 68 |:.. X,Y,B..0* th| 0002d5a0 75 6d 62 5f 62 6f 78 32 25 3d 28 28 31 30 32 34 |umb_box2%=((1024| 0002d5b0 2d 59 29 81 31 32 38 29 2a 38 2b 28 58 20 81 31 |-Y).128)*8+(X .1| 0002d5c0 36 30 29 0d 18 31 20 20 20 e7 20 74 68 75 6d 62 |60)..1 . thumb| 0002d5d0 5f 62 6f 78 32 25 3d 74 68 75 6d 62 5f 62 6f 78 |_box2%=thumb_box| 0002d5e0 25 20 8c 0d 18 32 27 20 20 20 46 24 3d 24 28 74 |% ...2' F$=$(t| 0002d5f0 68 70 61 74 68 25 2b 28 74 68 75 6d 62 5f 62 6f |hpath%+(thumb_bo| 0002d600 78 25 2d 32 34 29 2a 38 30 29 0d 18 33 18 20 20 |x%-24)*80)..3. | 0002d610 20 e7 20 46 24 3c 3e 22 7b 45 6d 70 74 79 7d 22 | . F$<>"{Empty}"| 0002d620 20 8c 0d 18 34 28 20 20 20 c8 99 20 22 4f 53 5f | ...4( .. "OS_| 0002d630 46 69 6c 65 22 2c 32 30 2c 46 24 20 b8 20 66 66 |File",20,F$ . ff| 0002d640 25 2c 2c 2c 2c 2c 2c 66 74 25 0d 18 35 27 20 20 |%,,,,,,ft%..5' | 0002d650 20 74 68 75 6d 62 5f 62 6f 78 25 3d 39 39 3a 74 | thumb_box%=99:t| 0002d660 68 75 6d 62 5f 6c 6f 61 64 5f 66 69 6c 65 25 3d |humb_load_file%=| 0002d670 b9 0d 18 36 08 20 20 20 cd 0d 18 37 07 20 20 cc |...6. ...7. .| 0002d680 0d 18 38 43 20 20 20 e7 20 74 68 75 6d 62 5f 62 |..8C . thumb_b| 0002d690 6f 78 32 25 3e 37 20 80 20 74 68 75 6d 62 5f 62 |ox2%>7 . thumb_b| 0002d6a0 6f 78 32 25 3c 31 36 20 80 20 74 68 75 6d 62 5f |ox2%<16 . thumb_| 0002d6b0 62 6f 78 32 25 2d 38 3c 6d 65 6d 6f 72 69 65 73 |box2%-8<memories| 0002d6c0 25 20 8c 0d 18 39 27 20 20 20 4c 24 3d 24 28 74 |% ...9' L$=$(t| 0002d6d0 68 70 61 74 68 25 2b 28 74 68 75 6d 62 5f 62 6f |hpath%+(thumb_bo| 0002d6e0 78 25 2d 32 34 29 2a 38 30 29 0d 18 3a 18 20 20 |x%-24)*80)..:. | 0002d6f0 20 e7 20 4c 24 3c 3e 22 7b 45 6d 70 74 79 7d 22 | . L$<>"{Empty}"| 0002d700 20 8c 0d 18 3b 23 20 20 20 6c 6f 61 64 5f 6c 69 | ...;# load_li| 0002d710 73 74 24 28 74 68 75 6d 62 5f 62 6f 78 32 25 2d |st$(thumb_box2%-| 0002d720 37 29 3d 4c 24 0d 18 3c 4e 20 20 20 73 6f 75 72 |7)=L$..<N sour| 0002d730 63 65 58 25 3d 28 74 68 75 6d 62 5f 62 6f 78 25 |ceX%=(thumb_box%| 0002d740 20 83 20 38 29 2a 31 36 30 2b 32 3a 73 6f 75 72 | . 8)*160+2:sour| 0002d750 63 65 59 25 3d 31 30 32 38 2d 28 28 28 74 68 75 |ceY%=1028-(((thu| 0002d760 6d 62 5f 62 6f 78 25 81 20 38 29 2b 31 29 2a 31 |mb_box%. 8)+1)*1| 0002d770 32 38 29 0d 18 3d 4c 20 20 20 64 65 73 74 58 25 |28)..=L destX%| 0002d780 3d 28 74 68 75 6d 62 5f 62 6f 78 32 25 20 83 20 |=(thumb_box2% . | 0002d790 38 29 2a 31 36 30 2b 32 3a 64 65 73 74 59 25 3d |8)*160+2:destY%=| 0002d7a0 31 30 32 34 2d 28 28 28 74 68 75 6d 62 5f 62 6f |1024-(((thumb_bo| 0002d7b0 78 32 25 81 20 38 29 2b 31 29 2a 31 32 38 29 0d |x2%. 8)+1)*128).| 0002d7c0 18 3e 3b 20 20 20 ec 20 73 6f 75 72 63 65 58 25 |.>; . sourceX%| 0002d7d0 2c 73 6f 75 72 63 65 59 25 3a ec 20 42 59 20 31 |,sourceY%:. BY 1| 0002d7e0 35 34 2c 31 32 32 3a f0 20 26 42 45 2c 64 65 73 |54,122:. &BE,des| 0002d7f0 74 58 25 2c 64 65 73 74 59 25 0d 18 3f 08 20 20 |tX%,destY%..?. | 0002d800 20 cd 0d 18 40 08 20 20 20 cd 0d 18 41 07 20 20 | ...@. ...A. | 0002d810 cd 0d 18 42 06 20 cd 0d 18 43 04 0d 18 44 3e 20 |...B. ...C...D> | 0002d820 e7 20 74 68 75 6d 62 5f 62 6f 78 25 3e 37 20 80 |. thumb_box%>7 .| 0002d830 20 74 68 75 6d 62 5f 62 6f 78 25 3c 31 36 20 80 | thumb_box%<16 .| 0002d840 20 74 68 75 6d 62 5f 62 6f 78 25 2d 38 3c 6d 65 | thumb_box%-8<me| 0002d850 6d 6f 72 69 65 73 25 20 8c 0d 18 45 34 20 f4 20 |mories% ...E4 . | 0002d860 43 6c 69 63 6b 20 6f 6e 20 70 69 63 20 6d 65 6d |Click on pic mem| 0002d870 20 2d 20 70 6f 73 73 69 62 6c 65 20 64 72 61 67 | - possible drag| 0002d880 20 74 6f 20 74 68 75 6d 62 6e 61 69 6c 0d 18 46 | to thumbnail..F| 0002d890 20 20 f2 74 68 75 6d 62 5f 63 75 72 73 6f 72 28 | .thumb_cursor(| 0002d8a0 58 2c 59 29 3a c8 97 20 58 2c 59 2c 42 0d 18 47 |X,Y):.. X,Y,B..G| 0002d8b0 3b 20 74 68 75 6d 62 5f 62 6f 78 32 25 3d 28 28 |; thumb_box2%=((| 0002d8c0 31 30 32 34 2d 59 29 81 31 32 38 29 2a 38 2b 28 |1024-Y).128)*8+(| 0002d8d0 58 20 81 31 36 30 29 3a 4d 25 3d 74 68 75 6d 62 |X .160):M%=thumb| 0002d8e0 5f 62 6f 78 32 25 2d 38 0d 18 48 3d 20 e7 20 4d |_box2%-8..H= . M| 0002d8f0 25 3c 6d 65 6d 6f 72 69 65 73 25 20 8c 20 4d 45 |%<memories% . ME| 0002d900 4d 25 3d 4d 25 3a 6d 65 6d 62 6c 6f 63 6b 25 3d |M%=M%:memblock%=| 0002d910 a4 6d 65 6d 5f 74 6f 5f 62 6c 6f 63 6b 28 4d 45 |.mem_to_block(ME| 0002d920 4d 25 2b 31 29 0d 18 49 28 20 e7 20 74 68 75 6d |M%+1)..I( . thum| 0002d930 62 5f 62 6f 78 32 25 3e 32 33 20 80 20 74 68 75 |b_box2%>23 . thu| 0002d940 6d 62 5f 62 6f 78 32 25 3c 35 36 20 8c 0d 18 4a |mb_box2%<56 ...J| 0002d950 4c 20 73 6f 75 72 63 65 58 25 3d 28 74 68 75 6d |L sourceX%=(thum| 0002d960 62 5f 62 6f 78 25 20 83 20 38 29 2a 31 36 30 2b |b_box% . 8)*160+| 0002d970 32 3a 73 6f 75 72 63 65 59 25 3d 31 30 32 34 2d |2:sourceY%=1024-| 0002d980 28 28 28 74 68 75 6d 62 5f 62 6f 78 25 81 20 38 |(((thumb_box%. 8| 0002d990 29 2b 31 29 2a 31 32 38 29 0d 18 4b 4a 20 64 65 |)+1)*128)..KJ de| 0002d9a0 73 74 58 25 3d 28 74 68 75 6d 62 5f 62 6f 78 32 |stX%=(thumb_box2| 0002d9b0 25 20 83 20 38 29 2a 31 36 30 2b 32 3a 64 65 73 |% . 8)*160+2:des| 0002d9c0 74 59 25 3d 31 30 32 38 2d 28 28 28 74 68 75 6d |tY%=1028-(((thum| 0002d9d0 62 5f 62 6f 78 32 25 81 20 38 29 2b 31 29 2a 31 |b_box2%. 8)+1)*1| 0002d9e0 32 38 29 0d 18 4c 39 20 ec 20 73 6f 75 72 63 65 |28)..L9 . source| 0002d9f0 58 25 2c 73 6f 75 72 63 65 59 25 3a ec 20 42 59 |X%,sourceY%:. BY| 0002da00 20 31 35 34 2c 31 32 32 3a f0 20 26 42 45 2c 64 | 154,122:. &BE,d| 0002da10 65 73 74 58 25 2c 64 65 73 74 59 25 0d 18 4d 47 |estX%,destY%..MG| 0002da20 20 f2 75 70 64 61 74 65 5f 74 68 75 6d 62 5f 70 | .update_thumb_p| 0002da30 61 74 68 28 74 68 75 6d 62 5f 62 6f 78 32 25 2d |ath(thumb_box2%-| 0002da40 32 34 2c 70 61 74 68 24 28 74 68 75 6d 62 5f 62 |24,path$(thumb_b| 0002da50 6f 78 25 2d 37 29 29 3a 74 68 6d 6f 64 69 66 79 |ox%-7)):thmodify| 0002da60 25 3d b9 0d 18 4e 06 20 cd 0d 18 4f 06 20 cd 0d |%=...N. ...O. ..| 0002da70 18 50 04 0d 18 51 40 20 e7 20 74 68 75 6d 62 5f |.P...Q@ . thumb_| 0002da80 62 6f 78 25 3d 35 38 20 84 20 74 68 75 6d 62 5f |box%=58 . thumb_| 0002da90 62 6f 78 25 3d 35 39 20 f2 63 72 65 61 74 65 5f |box%=59 .create_| 0002daa0 62 6c 61 6e 6b 5f 74 68 75 6d 62 6e 61 69 6c 28 |blank_thumbnail(| 0002dab0 22 22 29 0d 18 52 04 0d 18 53 14 20 fd 20 74 68 |"")..R...S. . th| 0002dac0 75 6d 62 5f 62 6f 78 25 3e 35 39 0d 18 54 04 0d |umb_box%>59..T..| 0002dad0 18 55 26 20 e7 20 74 68 75 6d 62 5f 62 6f 78 25 |.U& . thumb_box%| 0002dae0 3d 36 30 20 84 20 74 68 75 6d 62 5f 62 6f 78 25 |=60 . thumb_box%| 0002daf0 3d 36 31 20 8c 0d 18 56 29 20 c8 99 20 73 70 72 |=61 ...V) .. spr| 0002db00 73 77 69 25 2c 32 35 36 2b 31 30 2c 74 68 62 6c |swi%,256+10,thbl| 0002db10 6f 63 6b 25 2c 74 68 75 6d 62 70 69 78 24 0d 18 |ock%,thumbpix$..| 0002db20 57 28 20 ff 28 22 4c 4f 41 44 20 22 2b 74 68 75 |W( .("LOAD "+thu| 0002db30 6d 62 70 61 74 68 24 2b 22 20 22 2b c3 7e 74 68 |mbpath$+" "+.~th| 0002db40 70 61 74 68 25 29 0d 18 58 2f 20 74 68 6d 6f 64 |path%)..X/ thmod| 0002db50 69 66 79 25 3d a3 3a e3 20 4e 25 3d 31 20 b8 20 |ify%=.:. N%=1 . | 0002db60 38 3a 6c 6f 61 64 5f 6c 69 73 74 24 28 4e 25 29 |8:load_list$(N%)| 0002db70 3d 22 22 3a ed 0d 18 59 06 20 cd 0d 18 5a 04 0d |="":...Y. ...Z..| 0002db80 18 5b 12 20 e7 20 74 68 6d 6f 64 69 66 79 25 20 |.[. . thmodify% | 0002db90 8c 0d 18 5c 3d 20 c8 99 20 73 70 72 73 77 69 25 |...\= .. sprswi%| 0002dba0 2c 32 35 36 2b 31 36 2c 74 68 62 6c 6f 63 6b 25 |,256+16,thblock%| 0002dbb0 2c 22 74 68 75 6d 62 6e 61 69 6c 73 22 2c 30 2c |,"thumbnails",0,| 0002dbc0 30 2c 31 32 38 2c 31 32 37 39 2c 36 33 39 0d 18 |0,128,1279,639..| 0002dbd0 5d 29 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 |]) .. sprswi%,25| 0002dbe0 36 2b 31 32 2c 74 68 62 6c 6f 63 6b 25 2c 74 68 |6+12,thblock%,th| 0002dbf0 75 6d 62 70 69 78 24 0d 18 5e 3c 20 c8 99 20 22 |umbpix$..^< .. "| 0002dc00 4f 53 5f 46 69 6c 65 22 2c 31 30 2c 74 68 75 6d |OS_File",10,thum| 0002dc10 62 70 61 74 68 24 2c 26 46 46 44 2c 30 2c 74 68 |bpath$,&FFD,0,th| 0002dc20 70 61 74 68 25 2c 74 68 70 61 74 68 25 2b 32 35 |path%,thpath%+25| 0002dc30 36 30 20 0d 18 5f 06 20 cd 0d 18 60 04 0d 18 61 |60 .._. ...`...a| 0002dc40 19 20 e7 20 74 68 75 6d 62 5f 6c 6f 61 64 5f 66 |. . thumb_load_f| 0002dc50 69 6c 65 25 20 8c 0d 18 62 0f 20 20 e7 20 66 66 |ile% ...b. . ff| 0002dc60 25 3d 30 20 8c 0d 18 63 3d 20 20 58 3d 28 74 68 |%=0 ...c= X=(th| 0002dc70 75 6d 62 5f 62 6f 78 32 25 20 83 20 38 29 2a 31 |umb_box2% . 8)*1| 0002dc80 36 30 2b 32 3a 59 3d 39 30 30 2d 28 28 74 68 75 |60+2:Y=900-((thu| 0002dc90 6d 62 5f 62 6f 78 32 25 20 81 20 38 29 2a 31 32 |mb_box2% . 8)*12| 0002dca0 38 29 0d 18 64 23 20 20 e6 20 34 38 2c 34 38 2c |8)..d# . 48,48,| 0002dcb0 31 38 34 3a c8 93 20 c8 90 20 58 2c 59 2c 31 35 |184:.. .. X,Y,15| 0002dcc0 34 2c 31 32 32 0d 18 65 2e 20 20 24 28 74 68 70 |4,122..e. $(thp| 0002dcd0 61 74 68 25 2b 28 74 68 75 6d 62 5f 62 6f 78 32 |ath%+(thumb_box2| 0002dce0 25 2d 32 34 29 2a 38 30 29 3d 22 7b 45 6d 70 74 |%-24)*80)="{Empt| 0002dcf0 79 7d 22 0d 18 66 3e 20 20 c8 99 20 73 70 72 73 |y}"..f> .. sprs| 0002dd00 77 69 25 2c 32 35 36 2b 31 36 2c 74 68 62 6c 6f |wi%,256+16,thblo| 0002dd10 63 6b 25 2c 22 74 68 75 6d 62 6e 61 69 6c 73 22 |ck%,"thumbnails"| 0002dd20 2c 30 2c 30 2c 31 32 38 2c 31 32 37 39 2c 36 33 |,0,0,128,1279,63| 0002dd30 39 0d 18 67 2a 20 20 c8 99 20 73 70 72 73 77 69 |9..g* .. sprswi| 0002dd40 25 2c 32 35 36 2b 31 32 2c 74 68 62 6c 6f 63 6b |%,256+12,thblock| 0002dd50 25 2c 74 68 75 6d 62 70 69 78 24 0d 18 68 3c 20 |%,thumbpix$..h< | 0002dd60 20 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 31 30 | .. "OS_File",10| 0002dd70 2c 74 68 75 6d 62 70 61 74 68 24 2c 26 46 46 44 |,thumbpath$,&FFD| 0002dd80 2c 30 2c 74 68 70 61 74 68 25 2c 74 68 70 61 74 |,0,thpath%,thpat| 0002dd90 68 25 2b 32 35 36 30 0d 18 69 7a 20 20 85 20 31 |h%+2560..iz . 1| 0002dda0 2c 22 54 68 69 73 20 70 69 63 74 75 72 65 20 73 |,"This picture s| 0002ddb0 65 65 6d 73 20 74 6f 20 68 61 76 65 20 62 65 65 |eems to have bee| 0002ddc0 6e 20 64 65 6c 65 74 65 64 2c 20 72 65 6e 61 6d |n deleted, renam| 0002ddd0 65 64 20 6f 72 20 6d 6f 76 65 64 2e 22 2b bd 31 |ed or moved."+.1| 0002dde0 33 2b bd 31 33 2b 22 54 68 65 20 74 68 75 6d 62 |3+.13+"The thumb| 0002ddf0 6e 61 69 6c 20 65 6e 74 72 79 20 68 61 73 20 6e |nail entry has n| 0002de00 6f 77 20 62 65 65 6e 20 65 6d 70 74 69 65 64 2e |ow been emptied.| 0002de10 22 0d 18 6a 07 20 20 cd 0d 18 6b 0d 20 c8 8e 20 |"..j. ...k. .. | 0002de20 66 74 25 20 ca 0d 18 6c 1e 20 c9 20 26 46 46 39 |ft% ...l. . &FF9| 0002de30 3a db 3a f2 6c 6f 61 64 5f 73 70 72 69 74 65 28 |:.:.load_sprite(| 0002de40 46 24 29 0d 18 6d 1c 20 c9 20 26 43 38 35 3a db |F$)..m. . &C85:.| 0002de50 3a f2 6c 6f 61 64 5f 6a 70 65 67 28 46 24 29 0d |:.load_jpeg(F$).| 0002de60 18 6e 1d 20 c9 20 26 39 36 41 3a db 3a f2 6c 6f |.n. . &96A:.:.lo| 0002de70 61 64 5f 70 73 63 61 6e 28 46 24 29 0d 18 6f 1d |ad_pscan(F$)..o.| 0002de80 20 c9 20 26 36 39 44 3a db 3a f2 6c 6f 61 64 5f | . &69D:.:.load_| 0002de90 74 61 72 67 61 28 46 24 29 0d 18 70 06 20 7f 0d |targa(F$)..p. ..| 0002dea0 18 71 4c 20 85 20 31 2c 46 24 2b 22 20 68 61 73 |.qL . 1,F$+" has| 0002deb0 20 61 20 66 69 6c 65 74 79 70 65 20 6f 66 20 26 | a filetype of &| 0002dec0 22 2b c3 7e 66 74 25 2b 22 2e 20 54 68 69 73 20 |"+.~ft%+". This | 0002ded0 63 61 6e 6e 6f 74 20 62 65 20 6c 6f 61 64 65 64 |cannot be loaded| 0002dee0 20 62 79 20 50 73 63 61 6e 2e 22 0d 18 72 06 20 | by Pscan."..r. | 0002def0 cb 0d 18 73 06 20 cd 0d 18 74 04 0d 18 75 10 20 |...s. ...t...u. | 0002df00 e3 20 4e 4e 25 3d 31 20 b8 20 38 0d 18 76 39 20 |. NN%=1 . 8..v9 | 0002df10 e7 20 6c 6f 61 64 5f 6c 69 73 74 24 28 4e 4e 25 |. load_list$(NN%| 0002df20 29 3c 3e 22 22 20 80 20 6c 6f 61 64 5f 6c 69 73 |)<>"" . load_lis| 0002df30 74 24 28 4e 4e 25 29 3c 3e 22 7b 45 6d 70 74 79 |t$(NN%)<>"{Empty| 0002df40 7d 22 20 8c 0d 18 77 2a 20 46 24 3d 6c 6f 61 64 |}" ...w* F$=load| 0002df50 5f 6c 69 73 74 24 28 4e 4e 25 29 3a 6c 6f 61 64 |_list$(NN%):load| 0002df60 5f 6c 69 73 74 24 28 4e 4e 25 29 3d 22 22 0d 18 |_list$(NN%)=""..| 0002df70 78 26 20 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c |x& .. "OS_File",| 0002df80 32 30 2c 46 24 20 b8 20 66 66 25 2c 2c 2c 2c 2c |20,F$ . ff%,,,,,| 0002df90 2c 66 74 25 0d 18 79 2c 20 4d 45 4d 25 3d 4e 4e |,ft%..y, MEM%=NN| 0002dfa0 25 2d 31 3a 6d 65 6d 62 6c 6f 63 6b 25 3d a4 6d |%-1:memblock%=.m| 0002dfb0 65 6d 5f 74 6f 5f 62 6c 6f 63 6b 28 4e 4e 25 29 |em_to_block(NN%)| 0002dfc0 0d 18 7a 0d 20 c8 8e 20 66 74 25 20 ca 0d 18 7b |..z. .. ft% ...{| 0002dfd0 1e 20 c9 20 26 46 46 39 3a db 3a f2 6c 6f 61 64 |. . &FF9:.:.load| 0002dfe0 5f 73 70 72 69 74 65 28 46 24 29 0d 18 7c 1c 20 |_sprite(F$)..|. | 0002dff0 c9 20 26 43 38 35 3a db 3a f2 6c 6f 61 64 5f 6a |. &C85:.:.load_j| 0002e000 70 65 67 28 46 24 29 0d 18 7d 1d 20 c9 20 26 39 |peg(F$)..}. . &9| 0002e010 36 41 3a db 3a f2 6c 6f 61 64 5f 70 73 63 61 6e |6A:.:.load_pscan| 0002e020 28 46 24 29 0d 18 7e 1d 20 c9 20 26 36 39 44 3a |(F$)..~. . &69D:| 0002e030 db 3a f2 6c 6f 61 64 5f 74 61 72 67 61 28 46 24 |.:.load_targa(F$| 0002e040 29 0d 18 7f 06 20 7f 0d 18 80 4c 20 85 20 31 2c |).... ....L . 1,| 0002e050 46 24 2b 22 20 68 61 73 20 61 20 66 69 6c 65 74 |F$+" has a filet| 0002e060 79 70 65 20 6f 66 20 26 22 2b c3 7e 66 74 25 2b |ype of &"+.~ft%+| 0002e070 22 2e 20 54 68 69 73 20 63 61 6e 6e 6f 74 20 62 |". This cannot b| 0002e080 65 20 6c 6f 61 64 65 64 20 62 79 20 50 73 63 61 |e loaded by Psca| 0002e090 6e 2e 22 0d 18 81 06 20 cb 0d 18 82 06 20 cd 0d |n.".... ..... ..| 0002e0a0 18 83 06 20 ed 0d 18 84 04 0d 18 85 0d 20 f2 64 |... ......... .d| 0002e0b0 69 73 6d 69 6e 69 0d 18 86 06 20 e1 0d 18 87 04 |ismini.... .....| 0002e0c0 0d 18 88 20 20 dd 20 f2 75 70 64 61 74 65 5f 74 |... . .update_t| 0002e0d0 68 75 6d 62 5f 70 61 74 68 28 4e 25 2c 50 24 29 |humb_path(N%,P$)| 0002e0e0 0d 18 89 8f 20 e7 20 50 24 3d 22 58 22 20 85 20 |.... . P$="X" . | 0002e0f0 31 2c 22 4f 6e 6c 79 20 70 69 63 74 75 72 65 73 |1,"Only pictures| 0002e100 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 64 69 73 | loaded from dis| 0002e110 6b 20 63 61 6e 20 62 65 20 61 64 64 65 64 20 74 |k can be added t| 0002e120 6f 20 74 68 75 6d 62 6e 61 69 6c 20 62 61 6e 6b |o thumbnail bank| 0002e130 2e 22 2b bd 31 33 2b bd 31 33 2b 22 4d 6f 64 69 |."+.13+.13+"Modi| 0002e140 66 69 65 64 20 6f 72 20 72 65 63 65 69 76 65 64 |fied or received| 0002e150 20 70 69 63 74 75 72 65 73 20 6d 75 73 74 20 62 | pictures must b| 0002e160 65 20 73 61 76 65 64 20 66 69 72 73 74 2e 22 0d |e saved first.".| 0002e170 18 8a 47 20 e7 20 a9 28 50 24 29 3e 37 38 20 85 |..G . .(P$)>78 .| 0002e180 20 31 2c 22 50 61 74 68 20 6e 61 6d 65 20 69 73 | 1,"Path name is| 0002e190 20 74 6f 6f 20 6c 6f 6e 67 20 74 6f 20 73 74 6f | too long to sto| 0002e1a0 72 65 20 69 6e 20 74 68 75 6d 62 6e 61 69 6c 20 |re in thumbnail | 0002e1b0 66 69 6c 65 2e 22 0d 18 8b 18 20 24 28 74 68 70 |file.".... $(thp| 0002e1c0 61 74 68 25 2b 4e 25 2a 38 30 29 3d 50 24 0d 18 |ath%+N%*80)=P$..| 0002e1d0 8c 06 20 e1 0d 18 8d 04 0d 18 8e 22 20 dd 20 f2 |.. ........" . .| 0002e1e0 63 72 65 61 74 65 5f 62 6c 61 6e 6b 5f 74 68 75 |create_blank_thu| 0002e1f0 6d 62 6e 61 69 6c 28 74 24 29 0d 18 8f 10 20 e6 |mbnail(t$).... .| 0002e200 20 34 38 2c 34 38 2c 31 38 34 0d 18 90 11 20 e7 | 48,48,184.... .| 0002e210 20 74 24 3d 22 6e 65 77 22 20 8c 0d 18 91 18 20 | t$="new" ..... | 0002e220 c8 93 20 c8 90 20 30 2c 30 2c 31 32 38 30 2c 31 |.. .. 0,0,1280,1| 0002e230 30 32 34 0d 18 92 06 20 cc 0d 18 93 19 20 c8 93 |024.... ..... ..| 0002e240 20 c8 90 20 30 2c 31 32 38 2c 31 32 38 30 2c 35 | .. 0,128,1280,5| 0002e250 31 34 0d 18 94 06 20 cd 0d 18 95 10 20 e6 20 32 |14.... ..... . 2| 0002e260 35 35 2c 32 35 35 2c 30 0d 18 96 16 20 c8 93 20 |55,255,0.... .. | 0002e270 30 2c 31 32 38 2c 31 32 37 36 2c 35 31 34 0d 18 |0,128,1276,514..| 0002e280 97 1c 20 e3 20 59 25 3d 31 33 30 20 b8 20 36 34 |.. . Y%=130 . 64| 0002e290 32 2d 31 32 38 20 88 31 32 38 0d 18 98 1b 20 e3 |2-128 .128.... .| 0002e2a0 20 58 25 3d 30 20 b8 20 31 32 38 30 2d 31 36 30 | X%=0 . 1280-160| 0002e2b0 20 88 31 36 30 0d 18 99 19 20 c8 93 20 58 25 2c | .160.... .. X%,| 0002e2c0 59 25 2c 31 35 38 2c 31 32 36 3a ed 3a ed 0d 18 |Y%,158,126:.:...| 0002e2d0 9a 32 20 e7 20 74 24 3d 22 6e 65 77 22 20 8c 20 |.2 . t$="new" . | 0002e2e0 4e 25 3d 30 20 8b 20 4e 25 3d a4 63 6f 75 6e 74 |N%=0 . N%=.count| 0002e2f0 5f 74 68 75 6d 62 6e 61 69 6c 5f 62 61 6e 6b 73 |_thumbnail_banks| 0002e300 0d 18 9b 4b 20 e7 20 4e 25 3e 33 31 20 85 20 31 |...K . N%>31 . 1| 0002e310 2c 22 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 |,"Maximum number| 0002e320 20 6f 66 20 74 68 75 6d 62 6e 61 69 6c 20 62 61 | of thumbnail ba| 0002e330 6e 6b 73 20 28 33 32 29 20 68 61 73 20 62 65 65 |nks (32) has bee| 0002e340 6e 20 72 65 61 63 68 65 64 2e 22 0d 18 9c 27 20 |n reached."...' | 0002e350 4e 24 3d c3 28 4e 25 2b 31 29 3a e7 20 28 4e 25 |N$=.(N%+1):. (N%| 0002e360 2b 31 29 3c 31 30 20 8c 20 4e 24 3d 22 30 22 2b |+1)<10 . N$="0"+| 0002e370 4e 24 0d 18 9d 27 20 74 68 75 6d 62 70 69 78 24 |N$...' thumbpix$| 0002e380 3d 54 68 75 6d 62 64 69 72 24 2b 22 2e 54 68 75 |=Thumbdir$+".Thu| 0002e390 6d 62 50 69 78 22 2b 4e 24 0d 18 9e 28 20 74 68 |mbPix"+N$...( th| 0002e3a0 75 6d 62 70 61 74 68 24 3d 54 68 75 6d 62 64 69 |umbpath$=Thumbdi| 0002e3b0 72 24 2b 22 2e 54 68 75 6d 50 61 74 68 22 2b 4e |r$+".ThumPath"+N| 0002e3c0 24 0d 18 9f 3d 20 c8 99 20 73 70 72 73 77 69 25 |$...= .. sprswi%| 0002e3d0 2c 32 35 36 2b 31 36 2c 74 68 62 6c 6f 63 6b 25 |,256+16,thblock%| 0002e3e0 2c 22 74 68 75 6d 62 6e 61 69 6c 73 22 2c 30 2c |,"thumbnails",0,| 0002e3f0 30 2c 31 32 38 2c 31 32 37 39 2c 36 33 39 0d 18 |0,128,1279,639..| 0002e400 a0 29 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 |.) .. sprswi%,25| 0002e410 36 2b 31 32 2c 74 68 62 6c 6f 63 6b 25 2c 74 68 |6+12,thblock%,th| 0002e420 75 6d 62 70 69 78 24 0d 18 a1 22 20 e3 20 4e 25 |umbpix$..." . N%| 0002e430 3d 30 20 b8 20 32 35 35 39 3a 74 68 70 61 74 68 |=0 . 2559:thpath| 0002e440 25 3f 4e 25 3d 33 32 3a ed 0d 18 a2 2d 20 e3 20 |%?N%=32:....- . | 0002e450 4e 25 3d 30 20 b8 20 33 31 3a 24 28 74 68 70 61 |N%=0 . 31:$(thpa| 0002e460 74 68 25 2b 4e 25 2a 38 30 29 3d 22 7b 45 6d 70 |th%+N%*80)="{Emp| 0002e470 74 79 7d 22 3a ed 0d 18 a3 3b 20 c8 99 20 22 4f |ty}":....; .. "O| 0002e480 53 5f 46 69 6c 65 22 2c 31 30 2c 74 68 75 6d 62 |S_File",10,thumb| 0002e490 70 61 74 68 24 2c 26 46 46 44 2c 30 2c 74 68 70 |path$,&FFD,0,thp| 0002e4a0 61 74 68 25 2c 74 68 70 61 74 68 25 2b 26 41 30 |ath%,thpath%+&A0| 0002e4b0 30 0d 18 a4 29 20 74 68 75 6d 62 5f 6d 61 78 25 |0...) thumb_max%| 0002e4c0 2b 3d 31 3a 74 68 75 6d 62 5f 62 61 6e 6b 25 3d |+=1:thumb_bank%=| 0002e4d0 74 68 75 6d 62 5f 6d 61 78 25 0d 18 a5 06 20 e1 |thumb_max%.... .| 0002e4e0 0d 18 a6 04 0d 18 a7 1d 20 dd 20 a4 63 6f 75 6e |........ . .coun| 0002e4f0 74 5f 74 68 75 6d 62 6e 61 69 6c 5f 62 61 6e 6b |t_thumbnail_bank| 0002e500 73 0d 18 a8 2b 20 4e 25 3d 31 3a f5 3a e7 20 4e |s...+ N%=1:.:. N| 0002e510 25 3c 31 30 20 4e 24 3d 22 30 22 2b c3 28 4e 25 |%<10 N$="0"+.(N%| 0002e520 29 20 8b 20 4e 24 3d c3 28 4e 25 29 0d 18 a9 3d |) . N$=.(N%)...=| 0002e530 20 46 25 3d 8e 28 54 68 75 6d 62 64 69 72 24 2b | F%=.(Thumbdir$+| 0002e540 22 2e 54 68 75 6d 50 61 74 68 22 2b 4e 24 29 3a |".ThumPath"+N$):| 0002e550 d9 23 46 25 3a 4e 25 2b 3d 31 3a fd 20 46 25 3d |.#F%:N%+=1:. F%=| 0002e560 30 20 84 20 4e 25 3e 33 35 0d 18 aa 0a 20 3d 4e |0 . N%>35.... =N| 0002e570 25 2d 32 0d 18 ab 04 0d 18 ac 1f 20 dd 20 f2 6c |%-2........ . .l| 0002e580 6f 61 64 5f 74 68 75 6d 62 6e 61 69 6c 5f 62 61 |oad_thumbnail_ba| 0002e590 6e 6b 28 4e 25 29 0d 18 ad 1f 20 4e 24 3d c3 28 |nk(N%).... N$=.(| 0002e5a0 4e 25 29 3a e7 20 4e 25 3c 31 30 20 4e 24 3d 22 |N%):. N%<10 N$="| 0002e5b0 30 22 2b 4e 24 0d 18 ae 27 20 74 68 75 6d 62 70 |0"+N$...' thumbp| 0002e5c0 69 78 24 3d 54 68 75 6d 62 64 69 72 24 2b 22 2e |ix$=Thumbdir$+".| 0002e5d0 54 68 75 6d 62 50 69 78 22 2b 4e 24 0d 18 af 28 |ThumbPix"+N$...(| 0002e5e0 20 74 68 75 6d 62 70 61 74 68 24 3d 54 68 75 6d | thumbpath$=Thum| 0002e5f0 62 64 69 72 24 2b 22 2e 54 68 75 6d 50 61 74 68 |bdir$+".ThumPath| 0002e600 22 2b 4e 24 0d 18 b0 29 20 c8 99 20 73 70 72 73 |"+N$...) .. sprs| 0002e610 77 69 25 2c 32 35 36 2b 31 30 2c 74 68 62 6c 6f |wi%,256+10,thblo| 0002e620 63 6b 25 2c 74 68 75 6d 62 70 69 78 24 0d 18 b1 |ck%,thumbpix$...| 0002e630 28 20 ff 28 22 4c 4f 41 44 20 22 2b 74 68 75 6d |( .("LOAD "+thum| 0002e640 62 70 61 74 68 24 2b 22 20 22 2b c3 7e 74 68 70 |bpath$+" "+.~thp| 0002e650 61 74 68 25 29 0d 18 b2 06 20 e1 0d 18 b3 06 20 |ath%).... ..... | 0002e660 20 0d 18 b4 10 20 dd 20 f2 71 77 69 6b 74 65 78 | .... . .qwiktex| 0002e670 74 0d 18 b5 2d 20 f2 64 69 73 70 6c 61 79 5f 6d |t...- .display_m| 0002e680 65 6d 6f 72 79 3a 58 3d 30 3a 79 73 25 3d 38 36 |emory:X=0:ys%=86| 0002e690 34 3a 59 3d 79 73 25 3a 71 62 25 3d 2d 31 0d 18 |4:Y=ys%:qb%=-1..| 0002e6a0 b6 0b 20 e6 20 33 2c 36 33 0d 18 b7 1a 20 c8 8e |.. . 3,63.... ..| 0002e6b0 20 71 77 69 6b 74 65 78 74 5f 63 6f 6c 6f 75 72 | qwiktext_colour| 0002e6c0 25 20 ca 0d 18 b8 17 20 c9 20 31 3a 63 6f 6c 25 |% ..... . 1:col%| 0002e6d0 3d 26 46 46 46 46 46 46 30 30 0d 18 b9 17 20 c9 |=&FFFFFF00.... .| 0002e6e0 20 32 3a 63 6f 6c 25 3d 26 30 30 46 46 46 46 30 | 2:col%=&00FFFF0| 0002e6f0 30 0d 18 ba 17 20 c9 20 33 3a 63 6f 6c 25 3d 26 |0.... . 3:col%=&| 0002e700 46 46 46 46 30 30 30 30 0d 18 bb 17 20 c9 20 34 |FFFF0000.... . 4| 0002e710 3a 63 6f 6c 25 3d 26 30 30 46 46 30 30 30 30 0d |:col%=&00FF0000.| 0002e720 18 bc 17 20 c9 20 35 3a 63 6f 6c 25 3d 26 46 46 |... . 5:col%=&FF| 0002e730 30 30 46 46 30 30 0d 18 bd 17 20 c9 20 36 3a 63 |00FF00.... . 6:c| 0002e740 6f 6c 25 3d 26 30 30 30 30 46 46 30 30 0d 18 be |ol%=&0000FF00...| 0002e750 17 20 c9 20 37 3a 63 6f 6c 25 3d 26 46 46 30 30 |. . 7:col%=&FF00| 0002e760 30 30 30 30 0d 18 bf 17 20 c9 20 38 3a 63 6f 6c |0000.... . 8:col| 0002e770 25 3d 26 30 30 30 30 30 30 30 30 0d 18 c0 06 20 |%=&00000000.... | 0002e780 cb 0d 18 c1 19 20 c8 8e 20 71 77 69 6b 74 65 78 |..... .. qwiktex| 0002e790 74 5f 62 6c 6f 63 6b 25 20 ca 0d 18 c2 1e 20 c9 |t_block% ..... .| 0002e7a0 20 31 30 3a 72 25 3d 32 35 35 3a 67 25 3d 32 35 | 10:r%=255:g%=25| 0002e7b0 35 3a 62 25 3d 32 35 35 0d 18 c3 1c 20 c9 20 31 |5:b%=255.... . 1| 0002e7c0 31 3a 72 25 3d 32 35 35 3a 67 25 3d 32 35 35 3a |1:r%=255:g%=255:| 0002e7d0 62 25 3d 30 0d 18 c4 1c 20 c9 20 31 32 3a 72 25 |b%=0.... . 12:r%| 0002e7e0 3d 30 3a 67 25 3d 32 35 35 3a 62 25 3d 32 35 35 |=0:g%=255:b%=255| 0002e7f0 0d 18 c5 1a 20 c9 20 31 33 3a 72 25 3d 30 3a 67 |.... . 13:r%=0:g| 0002e800 25 3d 32 35 35 3a 62 25 3d 30 0d 18 c6 1c 20 c9 |%=255:b%=0.... .| 0002e810 20 31 34 3a 72 25 3d 32 35 35 3a 67 25 3d 30 3a | 14:r%=255:g%=0:| 0002e820 62 25 3d 32 35 35 0d 18 c7 1a 20 c9 20 31 35 3a |b%=255.... . 15:| 0002e830 72 25 3d 32 35 35 3a 67 25 3d 30 3a 62 25 3d 30 |r%=255:g%=0:b%=0| 0002e840 0d 18 c8 1a 20 c9 20 31 36 3a 72 25 3d 30 3a 67 |.... . 16:r%=0:g| 0002e850 25 3d 30 3a 62 25 3d 32 35 35 0d 18 c9 18 20 c9 |%=0:b%=255.... .| 0002e860 20 31 37 3a 72 25 3d 30 3a 67 25 3d 30 3a 62 25 | 17:r%=0:g%=0:b%| 0002e870 3d 30 0d 18 ca 0f 20 c9 20 31 38 3a 71 62 25 3d |=0.... . 18:qb%=| 0002e880 30 0d 18 cb 06 20 cb 0d 18 cc 1b 20 58 31 3d 31 |0.... ..... X1=1| 0002e890 32 38 30 2d 28 a9 20 63 61 6c 6c 24 2b 33 29 2a |280-(. call$+3)*| 0002e8a0 38 30 0d 18 cd 0c 20 e7 20 71 62 25 20 8c 0d 18 |80.... . qb% ...| 0002e8b0 ce 23 20 20 e6 20 72 25 2c 67 25 2c 62 25 3a c8 |.# . r%,g%,b%:.| 0002e8c0 93 20 c8 90 20 58 31 2c 30 2c 31 36 30 2c 31 31 |. .. X1,0,160,11| 0002e8d0 38 0d 18 cf 1e 20 20 c8 93 20 c8 90 20 58 31 2b |8.... .. .. X1+| 0002e8e0 38 30 2a 33 2c 30 2c 31 32 38 30 2c 31 31 38 0d |80*3,0,1280,118.| 0002e8f0 18 d0 07 20 20 cd 0d 18 d1 0b 20 e6 20 33 2c 36 |... ..... . 3,6| 0002e900 33 0d 18 d2 1d 20 f2 71 77 72 69 74 65 28 22 44 |3.... .qwrite("D| 0002e910 45 22 2c 63 6f 6c 25 2c 58 31 2c 32 34 29 0d 18 |E",col%,X1,24)..| 0002e920 d3 23 20 f2 71 77 72 69 74 65 28 63 61 6c 6c 24 |.# .qwrite(call$| 0002e930 2c 63 6f 6c 25 2c 58 31 2b 38 30 2a 33 2c 32 34 |,col%,X1+80*3,24| 0002e940 29 0d 18 d4 2c 20 c8 99 20 22 4f 53 5f 42 79 74 |)..., .. "OS_Byt| 0002e950 65 22 2c 32 33 37 2c 30 2c 32 35 35 20 b8 2c 63 |e",237,0,255 .,c| 0002e960 75 72 73 6f 72 5f 73 74 61 74 75 73 25 0d 18 d5 |ursor_status%...| 0002e970 19 20 c8 99 20 22 4f 53 5f 42 79 74 65 22 2c 32 |. .. "OS_Byte",2| 0002e980 33 37 2c 31 2c 30 0d 18 d6 06 20 f5 0d 18 d7 08 |37,1,0.... .....| 0002e990 20 43 3d 30 0d 18 d8 06 20 f5 0d 18 d9 1f 20 c8 | C=0.... ..... .| 0002e9a0 93 20 c8 90 20 58 2c 59 2d 32 34 2c 38 30 2c 31 |. .. X,Y-24,80,1| 0002e9b0 31 38 3a 43 3d ac 28 43 29 0d 18 da 15 20 c8 97 |18:C=.(C).... ..| 0002e9c0 20 78 2c 79 2c 62 3a 4b 3d a6 28 32 30 29 0d 18 | x,y,b:K=.(20)..| 0002e9d0 db 10 20 fd 20 28 ac 20 4b 29 20 84 20 62 0d 18 |.. . (. K) . b..| 0002e9e0 dc 1c 20 e7 20 43 20 c8 93 20 c8 90 20 58 2c 59 |.. . C .. .. X,Y| 0002e9f0 2d 32 34 2c 38 30 2c 31 31 38 0d 18 dd 04 0d 18 |-24,80,118......| 0002ea00 de 16 20 e7 20 4b 3e 31 33 35 20 80 20 4b 3c 31 |.. . K>135 . K<1| 0002ea10 34 30 20 8c 0d 18 df 0b 20 c8 8e 20 4b 20 ca 0d |40 ..... .. K ..| 0002ea20 18 e0 31 20 c9 20 31 33 36 3a 58 2d 3d 38 30 3a |..1 . 136:X-=80:| 0002ea30 e7 20 58 3c 30 20 58 3d 31 32 30 30 3a 59 2b 3d |. X<0 X=1200:Y+=| 0002ea40 31 32 30 3a e7 20 59 3e 79 73 25 20 59 3d 32 34 |120:. Y>ys% Y=24| 0002ea50 0d 18 e1 30 20 c9 20 31 33 37 3a 58 2b 3d 38 30 |...0 . 137:X+=80| 0002ea60 3a e7 20 58 3e 31 32 30 30 20 58 3d 30 3a 59 2d |:. X>1200 X=0:Y-| 0002ea70 3d 31 32 30 3a e7 20 59 3c 30 20 59 3d 79 73 25 |=120:. Y<0 Y=ys%| 0002ea80 0d 18 e2 1d 20 c9 20 31 33 38 3a 59 2d 3d 31 32 |.... . 138:Y-=12| 0002ea90 30 3a e7 20 59 3c 30 20 59 3d 79 73 25 0d 18 e3 |0:. Y<0 Y=ys%...| 0002eaa0 1e 20 c9 20 31 33 39 3a 59 2b 3d 31 32 30 3a e7 |. . 139:Y+=120:.| 0002eab0 20 59 3e 79 73 25 20 59 3d 32 34 0d 18 e4 06 20 | Y>ys% Y=24.... | 0002eac0 cb 0d 18 e5 06 20 cd 0d 18 e6 04 0d 18 e7 1e 20 |..... ......... | 0002ead0 e7 20 4b 3d 33 30 20 8c 20 58 3d 30 3a 59 3d 79 |. K=30 . X=0:Y=y| 0002eae0 73 25 3a f4 20 48 6f 6d 65 0d 18 e8 25 20 e7 20 |s%:. Home...% . | 0002eaf0 4b 3d 31 33 35 20 8c 20 58 3d 31 32 30 30 3a 59 |K=135 . X=1200:Y| 0002eb00 3d 32 34 3a f4 20 45 6e 64 2f 43 6f 70 79 0d 18 |=24:. End/Copy..| 0002eb10 e9 22 20 e7 20 4b 3d 32 37 20 8c 20 62 3d 31 3a |." . K=27 . b=1:| 0002eb20 f4 20 51 75 69 74 20 6f 6e 20 45 73 63 61 70 65 |. Quit on Escape| 0002eb30 0d 18 ea 04 0d 18 eb 15 20 e7 20 4b 3e 33 31 20 |........ . K>31 | 0002eb40 80 20 4b 3c 31 32 37 20 8c 0d 18 ec 15 20 20 e7 |. K<127 ..... .| 0002eb50 20 71 62 25 20 80 20 4b 3c 3e 33 32 20 8c 0d 18 | qb% . K<>32 ...| 0002eb60 ed 24 20 20 e6 20 72 25 2c 67 25 2c 62 25 3a c8 |.$ . r%,g%,b%:.| 0002eb70 93 20 c8 90 20 58 2c 59 2d 32 34 2c 38 30 2c 31 |. .. X,Y-24,80,1| 0002eb80 31 38 0d 18 ee 0c 20 20 e6 20 33 2c 36 33 0d 18 |18.... . 3,63..| 0002eb90 ef 07 20 20 cd 0d 18 f0 0b 20 6b 24 3d bd 20 4b |.. ..... k$=. K| 0002eba0 0d 18 f1 3f 20 e7 20 6b 24 3d 22 67 22 20 84 20 |...? . k$="g" . | 0002ebb0 6b 24 3d 22 6a 22 20 84 20 6b 24 3d 22 70 22 20 |k$="j" . k$="p" | 0002ebc0 84 20 6b 24 3d 22 71 22 20 84 20 6b 24 3d 22 79 |. k$="q" . k$="y| 0002ebd0 22 20 79 6f 25 3d 34 20 8b 20 79 6f 25 3d 30 0d |" yo%=4 . yo%=0.| 0002ebe0 18 f2 1e 20 f2 71 77 72 69 74 65 28 bd 20 4b 2c |... .qwrite(. K,| 0002ebf0 63 6f 6c 25 2c 58 2c 59 2b 79 6f 25 29 0d 18 f3 |col%,X,Y+yo%)...| 0002ec00 0a 20 58 2b 3d 38 30 0d 18 f4 10 20 20 e7 20 58 |. X+=80.... . X| 0002ec10 3e 31 32 30 30 20 8c 0d 18 f5 1c 20 20 58 3d 30 |>1200 ..... X=0| 0002ec20 3a 59 2d 3d 31 32 30 3a e7 20 59 3c 30 20 59 3d |:Y-=120:. Y<0 Y=| 0002ec30 79 73 25 0d 18 f6 07 20 20 cd 0d 18 f7 06 20 cd |ys%.... ..... .| 0002ec40 0d 18 f8 04 0d 18 f9 22 20 e7 20 4b 3d 31 33 20 |......." . K=13 | 0002ec50 58 3d 30 3a 59 2d 3d 31 32 30 3a e7 20 59 3c 30 |X=0:Y-=120:. Y<0| 0002ec60 20 59 3d 79 73 25 0d 18 fa 04 0d 18 fb 14 20 e7 | Y=ys%........ .| 0002ec70 20 4b 3d 38 20 84 20 4b 3d 31 32 37 20 8c 0d 18 | K=8 . K=127 ...| 0002ec80 fc 2b 20 58 2d 3d 38 30 3a e7 20 58 3c 30 20 58 |.+ X-=80:. X<0 X| 0002ec90 3d 31 32 30 30 3a 59 2b 3d 31 32 30 3a e7 20 59 |=1200:Y+=120:. Y| 0002eca0 3e 79 73 25 20 59 3d 32 34 0d 18 fd 1b 20 f2 72 |>ys% Y=24.... .r| 0002ecb0 65 64 72 61 77 28 58 2c 59 2d 32 34 2c 38 34 2c |edraw(X,Y-24,84,| 0002ecc0 31 32 30 29 0d 18 fe 06 20 cd 0d 18 ff 04 0d 19 |120).... .......| 0002ecd0 00 0b 20 fd 20 62 3c 3e 30 0d 19 01 19 20 e7 20 |.. . b<>0.... . | 0002ece0 62 3d 34 20 f2 75 70 6c 6f 61 64 5f 6d 65 6d 6f |b=4 .upload_memo| 0002ecf0 72 79 0d 19 02 26 20 c8 99 20 22 4f 53 5f 42 79 |ry...& .. "OS_By| 0002ed00 74 65 22 2c 32 33 37 2c 63 75 72 73 6f 72 5f 73 |te",237,cursor_s| 0002ed10 74 61 74 75 73 25 2c 30 0d 19 03 0d 20 f2 64 69 |tatus%,0.... .di| 0002ed20 73 6d 69 6e 69 0d 19 04 06 20 e1 0d 19 05 04 0d |smini.... ......| 0002ed30 19 06 22 20 dd 20 f2 71 77 72 69 74 65 28 74 65 |.." . .qwrite(te| 0002ed40 78 74 24 2c 71 74 63 6f 6c 25 2c 78 25 2c 79 25 |xt$,qtcol%,x%,y%| 0002ed50 29 0d 19 07 33 20 c8 99 20 22 46 6f 6e 74 5f 53 |)...3 .. "Font_S| 0002ed60 65 74 50 61 6c 65 74 74 65 22 2c 2c 30 2c 30 2c |etPalette",,0,0,| 0002ed70 30 2c 30 2c 71 74 63 6f 6c 25 2c 26 36 35 37 35 |0,0,qtcol%,&6575| 0002ed80 37 32 35 34 0d 19 08 29 20 e7 20 66 6f 6e 74 25 |7254...) . font%| 0002ed90 3c 3e 2d 31 20 c8 99 20 22 46 6f 6e 74 5f 4c 6f |<>-1 .. "Font_Lo| 0002eda0 73 65 46 6f 6e 74 22 2c 66 6f 6e 74 25 0d 19 09 |seFont",font%...| 0002edb0 3a 20 c8 99 20 22 46 6f 6e 74 5f 46 69 6e 64 46 |: .. "Font_FindF| 0002edc0 6f 6e 74 22 2c 2c 22 43 6f 72 70 75 73 2e 42 6f |ont",,"Corpus.Bo| 0002edd0 6c 64 22 2c 35 32 2a 31 36 2c 35 36 2a 31 36 20 |ld",52*16,56*16 | 0002ede0 b8 20 66 6f 6e 74 25 0d 19 0a 25 20 c8 99 20 22 |. font%...% .. "| 0002edf0 46 6f 6e 74 5f 50 61 69 6e 74 22 2c 2c 74 65 78 |Font_Paint",,tex| 0002ee00 74 24 2c 26 31 34 2c 78 25 2c 79 25 0d 19 0b 27 |t$,&14,x%,y%...'| 0002ee10 20 c8 99 20 22 46 6f 6e 74 5f 50 61 69 6e 74 22 | .. "Font_Paint"| 0002ee20 2c 2c 74 65 78 74 24 2c 26 31 34 2c 78 25 2b 34 |,,text$,&14,x%+4| 0002ee30 2c 79 25 0d 19 0c 1d 20 c8 99 20 22 46 6f 6e 74 |,y%.... .. "Font| 0002ee40 5f 4c 6f 73 65 46 6f 6e 74 22 2c 66 6f 6e 74 25 |_LoseFont",font%| 0002ee50 0d 19 0d 06 20 e1 0d 19 0e 04 0d 19 0f 16 20 dd |.... ......... .| 0002ee60 20 f2 61 75 74 6f 5f 6d 6f 64 65 5f 66 69 6e 64 | .auto_mode_find| 0002ee70 0d 19 10 25 20 e6 20 31 39 36 2c 31 39 36 2c 31 |...% . 196,196,1| 0002ee80 39 36 3a c8 93 20 c8 90 20 33 39 30 2c 36 2c 31 |96:.. .. 390,6,1| 0002ee90 31 32 2c 34 36 0d 19 11 22 20 f2 72 61 69 73 65 |12,46..." .raise| 0002eea0 64 5f 62 6c 6f 63 6b 28 34 32 36 2c 31 30 30 2c |d_block(426,100,| 0002eeb0 34 33 34 2c 39 30 29 0d 19 12 35 20 f2 77 72 69 |434,90)...5 .wri| 0002eec0 74 65 32 28 22 53 65 61 72 63 68 69 6e 67 20 66 |te2("Searching f| 0002eed0 6f 72 20 53 53 54 56 20 6d 6f 64 65 20 2e 2e 2e |or SSTV mode ...| 0002eee0 22 2c 34 34 30 2c 31 32 38 2c 34 29 0d 19 13 14 |",440,128,4)....| 0002eef0 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e | .wait_no_button| 0002ef00 0d 19 14 0d 20 f1 20 8a 30 2c 32 29 3b 0d 19 15 |.... . .0,2);...| 0002ef10 38 20 61 75 74 6f 5f 63 6f 64 65 25 21 31 32 3d |8 auto_code%!12=| 0002ef20 33 30 30 30 30 20 3a 20 f4 20 33 30 30 30 30 20 |30000 : . 30000 | 0002ef30 78 20 35 30 30 20 b5 53 20 3d 20 31 35 20 73 65 |x 500 .S = 15 se| 0002ef40 63 6f 6e 64 73 0d 19 16 1f 20 61 75 74 6f 5f 63 |conds.... auto_c| 0002ef50 6f 64 65 25 21 31 36 3d 73 65 72 69 61 6c 5f 62 |ode%!16=serial_b| 0002ef60 61 73 65 25 0d 19 17 06 20 f5 0d 19 18 1e 20 61 |ase%.... ..... a| 0002ef70 75 74 6f 5f 63 6f 64 65 25 21 34 3d 49 6f 66 66 |uto_code%!4=Ioff| 0002ef80 73 65 74 25 20 81 20 32 0d 19 19 21 20 d6 20 61 |set% . 2...! . a| 0002ef90 75 74 6f 5f 63 6f 64 65 25 3a 4c 25 3d 61 75 74 |uto_code%:L%=aut| 0002efa0 6f 5f 63 6f 64 65 25 21 38 0d 19 1a 0f 20 f4 20 |o_code%!8.... . | 0002efb0 50 52 49 4e 54 20 4c 25 0d 19 1b 1d 20 f2 6d 6f |PRINT L%.... .mo| 0002efc0 64 65 5f 66 72 6f 6d 5f 6c 69 6e 65 5f 74 69 6d |de_from_line_tim| 0002efd0 65 28 4c 25 29 0d 19 1c 1a 20 fd 20 4d 25 3c 3e |e(L%).... . M%<>| 0002efe0 30 20 84 20 4c 25 3d 31 20 84 20 4c 25 3d 32 0d |0 . L%=1 . L%=2.| 0002eff0 19 1d 2b 20 f4 20 4c 25 3d 31 20 6f 6e 20 6d 6f |..+ . L%=1 on mo| 0002f000 75 73 65 20 61 62 6f 72 74 2c 20 4c 25 3d 32 20 |use abort, L%=2 | 0002f010 6f 6e 20 74 69 6d 65 6f 75 74 0d 19 1e 0e 20 e7 |on timeout.... .| 0002f020 20 4d 25 3c 3e 30 20 8c 0d 19 1f 0d 20 6d 6f 64 | M%<>0 ..... mod| 0002f030 65 25 3d 4d 25 0d 19 20 2d 20 ef 35 3a e6 30 20 |e%=M%.. - .5:.0 | 0002f040 c8 9c 30 3a ec 34 30 30 2c 33 36 3a f1 20 6d 6f |..0:.400,36:. mo| 0002f050 64 65 24 28 6d 6f 64 65 25 29 3a ef 34 3a 87 3a |de$(mode%):.4:.:| 0002f060 c8 96 0d 19 21 06 20 cd 0d 19 22 06 20 e1 0d 19 |....!. ...". ...| 0002f070 23 04 0d 19 24 1f 20 dd 20 f2 6d 6f 64 65 5f 66 |#...$. . .mode_f| 0002f080 72 6f 6d 5f 6c 69 6e 65 5f 74 69 6d 65 28 4c 25 |rom_line_time(L%| 0002f090 29 0d 19 25 09 20 4d 25 3d 30 0d 19 26 1f 20 e7 |)..%. M%=0..&. .| 0002f0a0 20 94 28 4c 25 2d 38 39 33 29 3c 34 20 20 4d 25 | .(L%-893)<4 M%| 0002f0b0 3d 31 20 20 3a f4 20 4d 31 0d 19 27 1f 20 e7 20 |=1 :. M1..'. . | 0002f0c0 94 28 4c 25 2d 34 35 34 29 3c 34 20 20 4d 25 3d |.(L%-454)<4 M%=| 0002f0d0 32 20 20 3a f4 20 4d 32 0d 19 28 1f 20 e7 20 94 |2 :. M2..(. . .| 0002f0e0 28 4c 25 2d 38 35 36 29 3c 34 20 20 4d 25 3d 35 |(L%-856)<4 M%=5| 0002f0f0 20 20 3a f4 20 53 31 0d 19 29 1f 20 e7 20 94 28 | :. S1..). . .(| 0002f100 4c 25 2d 35 35 35 29 3c 34 20 20 4d 25 3d 36 20 |L%-555)<4 M%=6 | 0002f110 20 3a f4 20 53 32 0d 19 2a 21 20 e7 20 94 28 4c | :. S2..*! . .(L| 0002f120 25 2d 32 31 30 31 29 3c 34 20 4d 25 3d 39 20 20 |%-2101)<4 M%=9 | 0002f130 3a f4 20 53 2d 44 58 0d 19 2b 24 20 e7 20 94 28 |:. S-DX..+$ . .(| 0002f140 4c 25 2d 31 34 32 32 29 3c 34 20 4d 25 3d 31 31 |L%-1422)<4 M%=11| 0002f150 20 3a f4 20 53 43 32 2d 31 38 30 0d 19 2c 1f 20 | :. SC2-180..,. | 0002f160 e7 20 94 28 4c 25 2d 38 31 39 29 3c 34 20 20 4d |. .(L%-819)<4 M| 0002f170 25 3d 32 30 20 3a f4 20 50 33 0d 19 2d 1f 20 e7 |%=20 :. P3..-. .| 0002f180 20 94 28 4c 25 2d 31 32 32 38 29 3c 34 20 4d 25 | .(L%-1228)<4 M%| 0002f190 3d 32 31 20 3a f4 20 50 35 0d 19 2e 1f 20 e7 20 |=21 :. P5.... . | 0002f1a0 94 28 4c 25 2d 31 36 33 38 29 3c 34 20 4d 25 3d |.(L%-1638)<4 M%=| 0002f1b0 32 32 20 3a f4 20 50 37 0d 19 2f 22 20 e7 20 94 |22 :. P7../" . .| 0002f1c0 28 4c 25 2d 31 34 30 36 29 3c 33 20 4d 25 3d 36 |(L%-1406)<3 M%=6| 0002f1d0 33 20 3a f4 20 50 44 2d 39 30 0d 19 30 23 20 e7 |3 :. PD-90..0# .| 0002f1e0 20 94 28 4c 25 2d 31 30 31 37 29 3c 34 20 4d 25 | .(L%-1017)<4 M%| 0002f1f0 3d 36 34 20 3a f4 20 50 44 2d 31 32 30 0d 19 31 |=64 :. PD-120..1| 0002f200 23 20 e7 20 94 28 4c 25 2d 31 36 30 39 29 3c 34 |# . .(L%-1609)<4| 0002f210 20 4d 25 3d 36 32 20 3a f4 20 50 44 2d 31 36 30 | M%=62 :. PD-160| 0002f220 0d 19 32 23 20 e7 20 94 28 4c 25 2d 31 35 30 38 |..2# . .(L%-1508| 0002f230 29 3c 34 20 4d 25 3d 36 30 20 3a f4 20 50 44 2d |)<4 M%=60 :. PD-| 0002f240 31 38 30 0d 19 33 23 20 e7 20 94 28 4c 25 2d 32 |180..3# . .(L%-2| 0002f250 30 30 30 29 3c 34 20 4d 25 3d 36 31 20 3a f4 20 |000)<4 M%=61 :. | 0002f260 50 44 2d 32 34 30 0d 19 34 22 20 e7 20 94 28 4c |PD-240..4" . .(L| 0002f270 25 2d 37 37 36 29 3c 34 20 20 4d 25 3d 36 35 20 |%-776)<4 M%=65 | 0002f280 3a f4 20 50 44 2d 35 30 0d 19 35 21 20 e7 20 94 |:. PD-50..5! . .| 0002f290 28 4c 25 2d 31 34 31 31 29 3c 33 20 4d 25 3d 37 |(L%-1411)<3 M%=7| 0002f2a0 30 20 3a f4 20 48 51 2d 31 0d 19 36 21 20 e7 20 |0 :. HQ-1..6! . | 0002f2b0 94 28 4c 25 2d 31 37 34 37 29 3c 34 20 4d 25 3d |.(L%-1747)<4 M%=| 0002f2c0 37 31 20 3a f4 20 48 51 2d 32 0d 19 37 06 20 e1 |71 :. HQ-2..7. .| 0002f2d0 0d 19 38 04 0d 19 39 32 20 dd 20 f2 75 73 65 72 |..8...92 . .user| 0002f2e0 5f 70 61 74 68 6e 61 6d 65 28 f8 20 73 74 61 72 |_pathname(. star| 0002f2f0 74 24 2c 75 78 25 2c 75 79 25 2c 6c 65 6e 25 2c |t$,ux%,uy%,len%,| 0002f300 66 6c 61 67 25 29 0d 19 3a 1a 20 c8 91 20 30 2c |flag%)..:. .. 0,| 0002f310 30 3a 73 74 61 72 74 32 24 3d 73 74 61 72 74 24 |0:start2$=start$| 0002f320 0d 19 3b 0e 20 e7 20 66 6c 61 67 25 20 8c 0d 19 |..;. . flag% ...| 0002f330 3c 18 20 c8 97 20 c8 93 20 30 2c 39 34 32 2c 31 |<. .. .. 0,942,1| 0002f340 32 38 30 2c 36 30 0d 19 3d 22 20 e6 20 30 2c 30 |280,60..=" . 0,0| 0002f350 2c 30 3a c8 93 20 75 78 25 2b 38 36 30 2c 75 79 |,0:.. ux%+860,uy| 0002f360 25 2c 31 34 30 2c 34 30 0d 19 3e 26 20 f2 77 72 |%,140,40..>& .wr| 0002f370 69 74 65 32 28 22 43 61 6e 63 65 6c 22 2c 75 78 |ite2("Cancel",ux| 0002f380 25 2b 38 37 34 2c 75 79 25 2b 34 2c 34 29 0d 19 |%+874,uy%+4,4)..| 0002f390 3f 3f 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 |?? .. sprswi%,25| 0002f3a0 36 2b 35 32 2c 73 70 62 25 2c 22 6c 69 73 74 22 |6+52,spb%,"list"| 0002f3b0 2c 75 78 25 2b 38 30 38 2c 75 79 25 2d 32 2c 30 |,ux%+808,uy%-2,0| 0002f3c0 2c 30 2c 74 72 61 6e 73 6c 61 74 65 25 0d 19 40 |,0,translate%..@| 0002f3d0 06 20 cd 0d 19 41 04 0d 19 42 27 20 e6 20 32 35 |. ...A...B' . 25| 0002f3e0 35 2c 32 35 35 2c 32 35 35 3a c8 93 20 c8 90 20 |5,255,255:.. .. | 0002f3f0 75 78 25 2c 75 79 25 2c 37 38 30 2c 34 30 0d 19 |ux%,uy%,780,40..| 0002f400 43 28 20 f2 77 72 69 74 65 32 28 73 74 61 72 74 |C( .write2(start| 0002f410 24 2b 22 7c 22 2c 75 78 25 2b 34 2c 75 79 25 2b |$+"|",ux%+4,uy%+| 0002f420 34 2c 31 30 30 29 0d 19 44 06 20 f5 0d 19 45 26 |4,100)..D. ...E&| 0002f430 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e | .wait_no_button| 0002f440 3a f5 3a 4b 24 3d bf 28 31 29 3a fd 20 4b 24 3d |:.:K$=.(1):. K$=| 0002f450 22 22 0d 19 46 2c 20 f5 3a c8 97 20 58 2c 59 2c |""..F, .:.. X,Y,| 0002f460 42 3a 4b 24 3d bf 28 31 29 3a fd 20 42 3d 34 20 |B:K$=.(1):. B=4 | 0002f470 84 20 42 3d 31 20 84 20 4b 24 3c 3e 22 22 0d 19 |. B=1 . K$<>""..| 0002f480 47 16 20 e7 20 4b 24 3d bd 38 20 8c 20 4b 24 3d |G. . K$=.8 . K$=| 0002f490 bd 31 32 37 0d 19 48 20 20 e7 20 97 28 4b 24 29 |.127..H . .(K$)| 0002f4a0 3d 31 32 37 20 80 20 a9 28 73 74 61 72 74 24 29 |=127 . .(start$)| 0002f4b0 3e 30 20 8c 0d 19 49 26 20 4c 25 3d a9 28 73 74 |>0 ...I& L%=.(st| 0002f4c0 61 72 74 24 29 3a 73 74 61 72 74 24 3d c0 73 74 |art$):start$=.st| 0002f4d0 61 72 74 24 2c 4c 25 2d 31 29 0d 19 4a 27 20 e6 |art$,L%-1)..J' .| 0002f4e0 20 32 35 35 2c 32 35 35 2c 32 35 35 3a c8 93 20 | 255,255,255:.. | 0002f4f0 c8 90 20 75 78 25 2c 75 79 25 2c 37 38 30 2c 34 |.. ux%,uy%,780,4| 0002f500 30 0d 19 4b 28 20 f2 77 72 69 74 65 32 28 73 74 |0..K( .write2(st| 0002f510 61 72 74 24 2b 22 7c 22 2c 75 78 25 2b 34 2c 75 |art$+"|",ux%+4,u| 0002f520 79 25 2b 34 2c 31 30 30 29 0d 19 4c 06 20 cd 0d |y%+4,100)..L. ..| 0002f530 19 4d 11 20 e7 20 97 28 4b 24 29 3d 32 31 20 8c |.M. . .(K$)=21 .| 0002f540 0d 19 4e 31 20 73 74 61 72 74 24 3d 22 22 3a e6 |..N1 start$="":.| 0002f550 20 32 35 35 2c 32 35 35 2c 32 35 35 3a c8 93 20 | 255,255,255:.. | 0002f560 c8 90 20 75 78 25 2c 75 79 25 2c 37 38 30 2c 34 |.. ux%,uy%,780,4| 0002f570 30 0d 19 4f 28 20 f2 77 72 69 74 65 32 28 73 74 |0..O( .write2(st| 0002f580 61 72 74 24 2b 22 7c 22 2c 75 78 25 2b 34 2c 75 |art$+"|",ux%+4,u| 0002f590 79 25 2b 34 2c 31 30 30 29 0d 19 50 06 20 cd 0d |y%+4,100)..P. ..| 0002f5a0 19 51 2e 20 e7 20 a9 28 73 74 61 72 74 24 29 3c |.Q. . .(start$)<| 0002f5b0 6c 65 6e 25 20 80 20 97 28 4b 24 29 3e 33 32 20 |len% . .(K$)>32 | 0002f5c0 80 20 97 28 4b 24 29 3c 31 32 37 20 8c 0d 19 52 |. .(K$)<127 ...R| 0002f5d0 32 20 73 74 61 72 74 24 2b 3d 4b 24 3a e6 20 32 |2 start$+=K$:. 2| 0002f5e0 35 35 2c 32 35 35 2c 32 35 35 3a c8 93 20 c8 90 |55,255,255:.. ..| 0002f5f0 20 75 78 25 2c 75 79 25 2c 37 38 30 2c 34 30 0d | ux%,uy%,780,40.| 0002f600 19 53 28 20 f2 77 72 69 74 65 32 28 73 74 61 72 |.S( .write2(star| 0002f610 74 24 2b 22 7c 22 2c 75 78 25 2b 34 2c 75 79 25 |t$+"|",ux%+4,uy%| 0002f620 2b 34 2c 31 30 30 29 0d 19 54 06 20 cd 0d 19 55 |+4,100)..T. ...U| 0002f630 21 20 fd 20 4b 24 3d bd 31 33 20 84 20 4b 24 3d |! . K$=.13 . K$=| 0002f640 bd 39 20 84 20 42 3d 34 20 84 20 42 3d 31 0d 19 |.9 . B=4 . B=1..| 0002f650 56 04 0d 19 57 19 20 c8 91 20 30 2c 35 30 3a e6 |V...W. .. 0,50:.| 0002f660 20 33 2c 36 33 20 c8 9c 31 39 32 0d 19 58 1c 20 | 3,63 ..192..X. | 0002f670 c8 97 20 c8 93 20 30 2c 2d 35 30 2c 31 32 38 30 |.. .. 0,-50,1280| 0002f680 2c 39 32 36 2b 38 30 0d 19 59 04 0d 19 5a 0e 20 |,926+80..Y...Z. | 0002f690 e7 20 66 6c 61 67 25 20 8c 0d 19 5b 28 20 e7 20 |. flag% ...[( . | 0002f6a0 28 42 3d 34 20 80 20 58 3c 31 30 36 33 29 20 84 |(B=4 . X<1063) .| 0002f6b0 20 4b 24 3d bd 39 20 84 20 4b 24 3d bd 31 33 20 | K$=.9 . K$=.13 | 0002f6c0 8c 0d 19 5c 33 20 20 e7 20 c2 73 74 61 72 74 24 |...\3 . .start$| 0002f6d0 2c 31 29 3d 22 2e 22 20 73 74 61 72 74 24 3d c0 |,1)="." start$=.| 0002f6e0 73 74 61 72 74 24 2c 28 a9 20 73 74 61 72 74 24 |start$,(. start$| 0002f6f0 29 2d 31 29 0d 19 5d 33 20 20 e7 20 a9 28 73 74 |)-1)..]3 . .(st| 0002f700 61 72 74 24 29 3e 36 20 64 69 72 24 3d 73 74 61 |art$)>6 dir$=sta| 0002f710 72 74 24 3a 64 72 76 25 3d 32 30 3a f2 63 6c 69 |rt$:drv%=20:.cli| 0002f720 63 6b 5f 69 6e 66 6f 0d 19 5e 07 20 20 cc 0d 19 |ck_info..^. ...| 0002f730 5f 14 20 20 73 74 61 72 74 24 3d 73 74 61 72 74 |_. start$=start| 0002f740 32 24 0d 19 60 06 20 cd 0d 19 61 26 20 e7 20 58 |2$..`. ...a& . X| 0002f750 3e 31 30 36 32 20 80 20 58 3c 31 31 31 30 20 f2 |>1062 . X<1110 .| 0002f760 6c 69 73 74 5f 50 61 74 68 6e 61 6d 65 73 0d 19 |list_Pathnames..| 0002f770 62 06 20 cd 0d 19 63 04 0d 19 64 24 20 e7 20 ac |b. ...c...d$ . .| 0002f780 28 66 6c 61 67 25 29 20 80 20 42 3d 31 20 73 74 |(flag%) . B=1 st| 0002f790 61 72 74 24 3d 73 74 61 72 74 32 24 0d 19 65 04 |art$=start2$..e.| 0002f7a0 0d 19 66 06 20 e1 0d 19 67 04 0d 19 68 16 20 dd |..f. ...g...h. .| 0002f7b0 20 f2 6c 69 73 74 5f 50 61 74 68 6e 61 6d 65 73 | .list_Pathnames| 0002f7c0 0d 19 69 0b 20 72 65 66 25 3d b9 0d 19 6a 06 20 |..i. ref%=...j. | 0002f7d0 f5 0d 19 6b 04 0d 19 6c 0d 20 e7 20 72 65 66 25 |...k...l. . ref%| 0002f7e0 20 8c 0d 19 6d 15 20 f2 6c 6f 61 64 5f 75 73 65 | ...m. .load_use| 0002f7f0 72 5f 70 61 74 68 73 0d 19 6e 40 20 c8 99 20 73 |r_paths..n@ .. s| 0002f800 70 72 73 77 69 25 2c 32 35 36 2b 35 32 2c 73 70 |prswi%,256+52,sp| 0002f810 62 25 2c 22 6c 69 73 74 5f 6f 6e 22 2c 32 36 30 |b%,"list_on",260| 0002f820 2b 38 30 38 2c 38 39 38 2c 30 2c 30 2c 74 72 61 |+808,898,0,0,tra| 0002f830 6e 73 6c 61 74 65 25 0d 19 6f 28 20 e6 20 32 32 |nslate%..o( . 22| 0002f840 30 2c 32 32 30 2c 32 35 35 3a c8 93 20 c8 90 20 |0,220,255:.. .. | 0002f850 32 35 36 2c 32 33 36 2c 37 38 32 2c 36 34 32 0d |256,236,782,642.| 0002f860 19 70 26 20 e6 20 32 35 35 2c 30 2c 30 3a c8 93 |.p& . 255,0,0:..| 0002f870 20 32 35 34 2c 32 33 34 2c 37 38 36 2c 36 34 36 | 254,234,786,646| 0002f880 3a 4e 25 3d 31 0d 19 71 18 20 e3 20 79 25 3d 38 |:N%=1..q. . y%=8| 0002f890 39 30 20 b8 20 32 39 30 20 88 2d 34 30 0d 19 72 |90 . 290 .-40..r| 0002f8a0 2c 20 e7 20 79 25 3d 38 39 30 20 f2 77 72 69 74 |, . y%=890 .writ| 0002f8b0 65 32 28 22 5b 20 43 61 6e 63 65 6c 20 5d 22 2c |e2("[ Cancel ]",| 0002f8c0 32 36 30 2c 79 25 2c 37 29 0d 19 73 2e 20 e7 20 |260,y%,7)..s. . | 0002f8d0 79 25 3d 38 35 30 20 f2 77 72 69 74 65 32 28 64 |y%=850 .write2(d| 0002f8e0 65 66 61 75 6c 74 5f 64 69 72 24 2c 32 36 30 2c |efault_dir$,260,| 0002f8f0 79 25 2c 31 30 32 29 0d 19 74 36 20 e7 20 79 25 |y%,102)..t6 . y%| 0002f900 3c 38 35 30 20 f2 77 72 69 74 65 32 28 75 73 65 |<850 .write2(use| 0002f910 72 5f 70 61 74 68 24 28 4e 25 29 2c 32 36 30 2c |r_path$(N%),260,| 0002f920 79 25 2c 31 30 30 29 3a 4e 25 2b 3d 31 0d 19 75 |y%,100):N%+=1..u| 0002f930 06 20 ed 0d 19 76 2a 20 c8 97 20 c8 93 20 32 35 |. ...v* .. .. 25| 0002f940 34 2c 32 33 34 2c 37 37 30 2c 36 34 36 3a f2 77 |4,234,770,646:.w| 0002f950 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 19 77 |ait_no_button..w| 0002f960 24 20 c8 97 20 58 2c 59 2c 42 3a 79 25 3d 59 20 |$ .. X,Y,B:y%=Y | 0002f970 81 20 34 30 3a e6 20 33 2c 36 33 20 c8 9c 31 39 |. 40:. 3,63 ..19| 0002f980 32 0d 19 78 12 20 e7 20 79 25 3d 32 32 20 79 25 |2..x. . y%=22 y%| 0002f990 3d 32 31 0d 19 79 1d 20 c8 93 20 c8 90 20 32 36 |=21..y. .. .. 26| 0002f9a0 30 2c 79 25 2a 34 30 2d 31 2c 37 35 38 2c 33 38 |0,y%*40-1,758,38| 0002f9b0 0d 19 7a 0b 20 72 65 66 25 3d a3 0d 19 7b 06 20 |..z. ref%=...{. | 0002f9c0 cd 0d 19 7c 04 0d 19 7d 06 20 f5 0d 19 7e 04 0d |...|...}. ...~..| 0002f9d0 19 7f 1a 20 f5 3a c8 97 20 58 2c 59 2c 42 3a 79 |... .:.. X,Y,B:y| 0002f9e0 32 25 3d 59 20 81 20 34 30 0d 19 80 15 20 20 e7 |2%=Y . 40.... .| 0002f9f0 20 79 32 25 3d 32 32 20 79 32 25 3d 32 31 0d 19 | y2%=22 y2%=21..| 0002fa00 81 13 20 20 e7 20 79 32 25 3d 35 20 79 32 25 3d |.. . y2%=5 y2%=| 0002fa10 36 0d 19 82 15 20 fd 20 79 32 25 3c 3e 79 25 20 |6.... . y2%<>y% | 0002fa20 84 20 42 3c 3e 30 0d 19 83 1d 20 c8 93 20 c8 90 |. B<>0.... .. ..| 0002fa30 20 32 36 30 2c 79 25 2a 34 30 2d 31 2c 37 35 38 | 260,y%*40-1,758| 0002fa40 2c 33 38 0d 19 84 1e 20 c8 93 20 c8 90 20 32 36 |,38.... .. .. 26| 0002fa50 30 2c 79 32 25 2a 34 30 2d 31 2c 37 35 38 2c 33 |0,y2%*40-1,758,3| 0002fa60 38 0d 19 85 0b 20 79 25 3d 79 32 25 0d 19 86 04 |8.... y%=y2%....| 0002fa70 0d 19 87 14 20 e7 20 42 3d 31 20 80 20 79 25 3c |.... . B=1 . y%<| 0002fa80 32 30 20 8c 0d 19 88 1d 20 73 74 61 72 74 24 3d |20 ..... start$=| 0002fa90 75 73 65 72 5f 70 61 74 68 24 28 32 30 2d 79 25 |user_path$(20-y%| 0002faa0 29 0d 19 89 2d 20 f2 75 73 65 72 5f 70 61 74 68 |)...- .user_path| 0002fab0 6e 61 6d 65 28 73 74 61 72 74 24 2c 32 35 36 2c |name(start$,256,| 0002fac0 79 25 2a 34 30 2b 34 36 2c 34 36 2c a3 29 0d 19 |y%*40+46,46,.)..| 0002fad0 8a 2a 20 e7 20 a9 20 73 74 61 72 74 24 3e 35 20 |.* . . start$>5 | 0002fae0 75 73 65 72 5f 70 61 74 68 24 28 32 30 2d 79 25 |user_path$(20-y%| 0002faf0 29 3d 73 74 61 72 74 24 0d 19 8b 1b 20 f2 75 70 |)=start$.... .up| 0002fb00 64 61 74 65 5f 70 61 74 68 6e 61 6d 65 73 5f 66 |date_pathnames_f| 0002fb10 69 6c 65 0d 19 8c 0f 20 72 65 66 25 3d b9 3a 42 |ile.... ref%=.:B| 0002fb20 3d 31 0d 19 8d 06 20 cd 0d 19 8e 04 0d 19 8f 0b |=1.... .........| 0002fb30 20 fd 20 42 3c 3e 30 0d 19 90 04 0d 19 91 0d 20 | . B<>0........ | 0002fb40 fd 20 ac 20 72 65 66 25 0d 19 92 04 0d 19 93 0e |. . ref%........| 0002fb50 20 e7 20 79 25 3c 32 30 20 8c 0d 19 94 35 20 20 | . y%<20 ....5 | 0002fb60 e7 20 a9 28 75 73 65 72 5f 70 61 74 68 24 28 32 |. .(user_path$(2| 0002fb70 30 2d 79 25 29 29 3e 35 20 64 69 72 24 3d 75 73 |0-y%))>5 dir$=us| 0002fb80 65 72 5f 70 61 74 68 24 28 32 30 2d 79 25 29 0d |er_path$(20-y%).| 0002fb90 19 95 19 20 20 64 72 76 25 3d 32 30 3a f2 63 6c |... drv%=20:.cl| 0002fba0 69 63 6b 5f 69 6e 66 6f 0d 19 96 07 20 20 cd 0d |ick_info.... ..| 0002fbb0 19 97 1e 20 e7 20 79 25 3d 32 30 20 64 69 72 24 |... . y%=20 dir$| 0002fbc0 3d 64 65 66 61 75 6c 74 5f 64 69 72 24 0d 19 98 |=default_dir$...| 0002fbd0 06 20 e1 0d 19 99 04 0d 19 9a 17 20 dd 20 f2 6c |. ......... . .l| 0002fbe0 6f 61 64 5f 75 73 65 72 5f 70 61 74 68 73 0d 19 |oad_user_paths..| 0002fbf0 9b 2d 20 20 46 25 3d 8e 28 22 3c 50 73 63 61 6e |.- F%=.("<Pscan| 0002fc00 24 44 69 72 3e 2e 55 73 65 72 46 69 6c 65 73 2e |$Dir>.UserFiles.| 0002fc10 50 61 74 68 6e 61 6d 65 73 22 29 0d 19 9c 11 20 |Pathnames").... | 0002fc20 20 e3 20 4e 25 3d 31 20 b8 20 31 34 0d 19 9d 1a | . N%=1 . 14....| 0002fc30 20 20 20 75 73 65 72 5f 70 61 74 68 24 28 4e 25 | user_path$(N%| 0002fc40 29 3d be 23 46 25 0d 19 9e 07 20 20 ed 0d 19 9f |)=.#F%.... ....| 0002fc50 0a 20 20 d9 23 46 25 0d 19 a0 06 20 e1 0d 19 a1 |. .#F%.... ....| 0002fc60 04 0d 19 a2 1d 20 dd 20 f2 75 70 64 61 74 65 5f |..... . .update_| 0002fc70 70 61 74 68 6e 61 6d 65 73 5f 66 69 6c 65 0d 19 |pathnames_file..| 0002fc80 a3 2d 20 20 46 25 3d ad 28 22 3c 50 73 63 61 6e |.- F%=.("<Pscan| 0002fc90 24 44 69 72 3e 2e 55 73 65 72 46 69 6c 65 73 2e |$Dir>.UserFiles.| 0002fca0 50 61 74 68 6e 61 6d 65 73 22 29 0d 19 a4 11 20 |Pathnames").... | 0002fcb0 20 e3 20 4e 25 3d 31 20 b8 20 31 34 0d 19 a5 1a | . N%=1 . 14....| 0002fcc0 20 20 20 d5 23 46 25 2c 75 73 65 72 5f 70 61 74 | .#F%,user_pat| 0002fcd0 68 24 28 4e 25 29 0d 19 a6 07 20 20 ed 0d 19 a7 |h$(N%).... ....| 0002fce0 0a 20 20 d9 23 46 25 0d 19 a8 06 20 e1 0d 19 a9 |. .#F%.... ....| 0002fcf0 04 0d 19 aa 1c 20 dd 20 f2 70 69 70 65 5f 62 6f |..... . .pipe_bo| 0002fd00 72 64 65 72 5f 6d 65 6e 75 28 79 25 29 0d 19 ab |rder_menu(y%)...| 0002fd10 25 20 6d 65 6e 75 24 28 30 29 3d 22 50 69 70 65 |% menu$(0)="Pipe| 0002fd20 20 62 6f 72 64 65 72 20 6f 70 74 69 6f 6e 73 20 | border options | 0002fd30 20 22 0d 19 ac 21 20 6d 65 6e 75 24 28 31 29 3d | "...! menu$(1)=| 0002fd40 22 57 68 69 74 65 20 70 69 70 65 20 62 6f 72 64 |"White pipe bord| 0002fd50 65 72 22 0d 19 ad 22 20 6d 65 6e 75 24 28 32 29 |er"..." menu$(2)| 0002fd60 3d 22 59 65 6c 6c 6f 77 20 70 69 70 65 20 62 6f |="Yellow pipe bo| 0002fd70 72 64 65 72 22 0d 19 ae 20 20 6d 65 6e 75 24 28 |rder"... menu$(| 0002fd80 33 29 3d 22 43 79 61 6e 20 70 69 70 65 20 62 6f |3)="Cyan pipe bo| 0002fd90 72 64 65 72 22 0d 19 af 21 20 6d 65 6e 75 24 28 |rder"...! menu$(| 0002fda0 34 29 3d 22 47 72 65 65 6e 20 70 69 70 65 20 62 |4)="Green pipe b| 0002fdb0 6f 72 64 65 72 22 0d 19 b0 23 20 6d 65 6e 75 24 |order"...# menu$| 0002fdc0 28 35 29 3d 22 4d 61 67 65 6e 74 61 20 70 69 70 |(5)="Magenta pip| 0002fdd0 65 20 62 6f 72 64 65 72 22 0d 19 b1 1f 20 6d 65 |e border".... me| 0002fde0 6e 75 24 28 36 29 3d 22 52 65 64 20 70 69 70 65 |nu$(6)="Red pipe| 0002fdf0 20 62 6f 72 64 65 72 22 0d 19 b2 20 20 6d 65 6e | border"... men| 0002fe00 75 24 28 37 29 3d 22 42 6c 75 65 20 70 69 70 65 |u$(7)="Blue pipe| 0002fe10 20 62 6f 72 64 65 72 22 0d 19 b3 20 20 6d 65 6e | border"... men| 0002fe20 75 24 28 38 29 3d 22 2a 22 3a f2 6d 65 6e 75 28 |u$(8)="*":.menu(| 0002fe30 30 2c 39 30 2c 2d 31 29 0d 19 b4 2f 20 e7 20 6d |0,90,-1).../ . m| 0002fe40 65 6e 75 5f 62 6f 78 25 3c 3e 39 39 20 f2 70 69 |enu_box%<>99 .pi| 0002fe50 70 65 5f 62 6f 72 64 65 72 28 6d 65 6e 75 5f 62 |pe_border(menu_b| 0002fe60 6f 78 25 2c 79 25 29 0d 19 b5 06 20 e1 0d 19 b6 |ox%,y%).... ....| 0002fe70 04 0d 19 b7 21 20 dd 20 f2 70 69 70 65 5f 62 6f |....! . .pipe_bo| 0002fe80 72 64 65 72 28 70 69 70 65 5f 63 6f 6c 25 2c 79 |rder(pipe_col%,y| 0002fe90 25 29 0d 19 b8 14 20 f2 64 69 73 70 6c 61 79 5f |%).... .display_| 0002fea0 6d 65 6d 6f 72 79 0d 19 b9 13 20 c8 8e 20 70 69 |memory.... .. pi| 0002feb0 70 65 5f 63 6f 6c 25 20 ca 0d 19 ba 2f 20 c9 20 |pe_col% ..../ . | 0002fec0 31 3a 72 25 3d 36 34 3a 67 25 3d 36 34 3a 62 25 |1:r%=64:g%=64:b%| 0002fed0 3d 36 34 3a 72 69 25 3d 31 32 3a 67 69 25 3d 31 |=64:ri%=12:gi%=1| 0002fee0 32 3a 62 69 25 3d 31 32 0d 19 bb 2d 20 c9 20 32 |2:bi%=12...- . 2| 0002fef0 3a 72 25 3d 36 34 3a 67 25 3d 36 34 3a 62 25 3d |:r%=64:g%=64:b%=| 0002ff00 30 3a 72 69 25 3d 31 32 3a 67 69 25 3d 31 32 3a |0:ri%=12:gi%=12:| 0002ff10 62 69 25 3d 30 0d 19 bc 2d 20 c9 20 33 3a 72 25 |bi%=0...- . 3:r%| 0002ff20 3d 30 3a 67 25 3d 36 34 3a 62 25 3d 36 34 3a 72 |=0:g%=64:b%=64:r| 0002ff30 69 25 3d 30 3a 67 69 25 3d 31 32 3a 62 69 25 3d |i%=0:gi%=12:bi%=| 0002ff40 31 32 0d 19 bd 2b 20 c9 20 34 3a 72 25 3d 30 3a |12...+ . 4:r%=0:| 0002ff50 67 25 3d 36 34 3a 62 25 3d 30 3a 72 69 25 3d 30 |g%=64:b%=0:ri%=0| 0002ff60 3a 67 69 25 3d 31 32 3a 62 69 25 3d 30 0d 19 be |:gi%=12:bi%=0...| 0002ff70 2d 20 c9 20 35 3a 72 25 3d 36 34 3a 67 25 3d 30 |- . 5:r%=64:g%=0| 0002ff80 3a 62 25 3d 36 34 3a 72 69 25 3d 31 32 3a 67 69 |:b%=64:ri%=12:gi| 0002ff90 25 3d 30 3a 62 69 25 3d 31 32 0d 19 bf 2b 20 c9 |%=0:bi%=12...+ .| 0002ffa0 20 36 3a 72 25 3d 36 34 3a 67 25 3d 30 3a 62 25 | 6:r%=64:g%=0:b%| 0002ffb0 3d 30 3a 72 69 25 3d 31 32 3a 67 69 25 3d 30 3a |=0:ri%=12:gi%=0:| 0002ffc0 62 69 25 3d 30 0d 19 c0 2b 20 c9 20 37 3a 72 25 |bi%=0...+ . 7:r%| 0002ffd0 3d 30 3a 67 25 3d 30 3a 62 25 3d 36 34 3a 72 69 |=0:g%=0:b%=64:ri| 0002ffe0 25 3d 30 3a 67 69 25 3d 30 3a 62 69 25 3d 31 32 |%=0:gi%=0:bi%=12| 0002fff0 0d 19 c1 06 20 cb 0d 19 c2 1e 20 e7 20 79 25 3d |.... ..... . y%=| 00030000 39 20 79 79 25 3d 31 30 32 32 20 8b 20 79 79 25 |9 yy%=1022 . yy%| 00030010 3d 39 35 38 0d 19 c3 13 20 e3 20 58 25 3d 30 20 |=958.... . X%=0 | 00030020 b8 20 36 34 20 88 32 0d 19 c4 0f 20 e6 20 72 25 |. 64 .2.... . r%| 00030030 2c 67 25 2c 62 25 0d 19 c5 20 20 c8 93 20 58 25 |,g%,b%... .. X%| 00030040 2c 58 25 2c 31 32 37 38 2d 58 25 2a 32 2c 79 79 |,X%,1278-X%*2,yy| 00030050 25 2d 58 25 2a 32 0d 19 c6 1e 20 72 25 2b 3d 72 |%-X%*2.... r%+=r| 00030060 69 25 3a e7 20 72 25 3e 32 34 30 20 72 69 25 3d |i%:. r%>240 ri%=| 00030070 2d 72 69 25 0d 19 c7 1e 20 67 25 2b 3d 67 69 25 |-ri%.... g%+=gi%| 00030080 3a e7 20 67 25 3e 32 34 30 20 67 69 25 3d 2d 67 |:. g%>240 gi%=-g| 00030090 69 25 0d 19 c8 1e 20 62 25 2b 3d 62 69 25 3a e7 |i%.... b%+=bi%:.| 000300a0 20 62 25 3e 32 34 30 20 62 69 25 3d 2d 62 69 25 | b%>240 bi%=-bi%| 000300b0 0d 19 c9 0e 20 ed 3a f2 75 70 6d 69 6e 69 0d 19 |.... .:.upmini..| 000300c0 ca 06 20 e1 0d 19 cb 04 0d 19 cc 2a 20 dd 20 f2 |.. ........* . .| 000300d0 70 6c 69 6e 74 68 32 28 78 2c 79 2c 77 2c 68 2c |plinth2(x,y,w,h,| 000300e0 52 31 2c 47 31 2c 42 31 2c 52 49 2c 47 49 2c 42 |R1,G1,B1,RI,GI,B| 000300f0 49 29 0d 19 cd 13 20 52 3d 52 31 3a 47 3d 47 31 |I).... R=R1:G=G1| 00030100 3a 42 3d 42 31 0d 19 ce 16 20 ef 20 32 34 2c 78 |:B=B1.... . 24,x| 00030110 3b 79 3b 78 2b 77 3b 79 2b 68 3b 0d 19 cf 16 20 |;y;x+w;y+h;.... | 00030120 e3 20 78 32 3d 78 2d 77 20 b8 20 78 2b 77 20 88 |. x2=x-w . x+w .| 00030130 38 0d 19 d0 20 20 e6 20 52 2c 47 2c 42 3a ec 20 |8... . R,G,B:. | 00030140 78 32 2c 79 3a ec 20 78 32 2b 77 2c 79 2b 68 2b |x2,y:. x2+w,y+h+| 00030150 68 0d 19 d1 22 20 f0 20 38 35 2c 78 32 2b 77 2c |h..." . 85,x2+w,| 00030160 79 3a 52 2b 3d 52 49 3a 47 2b 3d 47 49 3a 42 2b |y:R+=RI:G+=GI:B+| 00030170 3d 42 49 0d 19 d2 19 20 e7 20 52 3e 32 35 35 20 |=BI.... . R>255 | 00030180 52 3d 32 35 35 3a 52 49 3d 2d 52 49 0d 19 d3 19 |R=255:RI=-RI....| 00030190 20 e7 20 47 3e 32 35 35 20 47 3d 32 35 35 3a 47 | . G>255 G=255:G| 000301a0 49 3d 2d 47 49 0d 19 d4 19 20 e7 20 42 3e 32 35 |I=-GI.... . B>25| 000301b0 35 20 42 3d 32 35 35 3a 42 49 3d 2d 42 49 0d 19 |5 B=255:BI=-BI..| 000301c0 d5 15 20 e7 20 52 3c 30 20 52 3d 30 3a 52 49 3d |.. . R<0 R=0:RI=| 000301d0 2d 52 49 0d 19 d6 15 20 e7 20 47 3c 30 20 47 3d |-RI.... . G<0 G=| 000301e0 30 3a 47 49 3d 2d 47 49 0d 19 d7 15 20 e7 20 42 |0:GI=-GI.... . B| 000301f0 3c 30 20 42 3d 30 3a 42 49 3d 2d 42 49 0d 19 d8 |<0 B=0:BI=-BI...| 00030200 0f 20 ed 3a ef 32 36 3a c8 96 3a 87 0d 19 d9 0f |. .:.26:..:.....| 00030210 20 e6 20 52 31 2c 47 31 2c 42 31 0d 19 da 38 20 | . R1,G1,B1...8 | 00030220 86 20 78 2c 79 2c 78 2c 79 2b 68 3a 86 20 78 2b |. x,y,x,y+h:. x+| 00030230 32 2c 79 2b 32 2c 78 2b 32 2c 79 2b 68 2d 32 3a |2,y+2,x+2,y+h-2:| 00030240 86 20 78 2b 34 2c 79 2b 34 2c 78 2b 34 2c 79 2b |. x+4,y+4,x+4,y+| 00030250 68 2d 34 0d 19 db 18 20 52 32 3d 52 31 2f 32 3a |h-4.... R2=R1/2:| 00030260 e7 20 52 32 3c 30 20 52 32 3d 30 0d 19 dc 18 20 |. R2<0 R2=0.... | 00030270 47 32 3d 47 31 2f 32 3a e7 20 47 32 3c 30 20 47 |G2=G1/2:. G2<0 G| 00030280 32 3d 30 0d 19 dd 18 20 42 32 3d 42 31 2f 32 3a |2=0.... B2=B1/2:| 00030290 e7 20 42 32 3c 30 20 42 32 3d 30 0d 19 de 0f 20 |. B2<0 B2=0.... | 000302a0 e6 20 52 32 2c 47 32 2c 42 32 0d 19 df 44 20 86 |. R2,G2,B2...D .| 000302b0 20 78 2b 77 2d 32 2c 79 2b 32 2c 78 2b 77 2d 32 | x+w-2,y+2,x+w-2| 000302c0 2c 79 2b 68 2d 32 3a 86 20 78 2b 77 2c 79 2c 78 |,y+h-2:. x+w,y,x| 000302d0 2b 77 2c 79 2b 68 3a 86 20 78 2b 77 2d 34 2c 79 |+w,y+h:. x+w-4,y| 000302e0 2b 34 2c 78 2b 77 2d 34 2c 79 2b 68 2d 34 0d 19 |+4,x+w-4,y+h-4..| 000302f0 e0 0c 20 e6 20 30 2c 30 2c 30 0d 19 e1 3c 20 86 |.. . 0,0,0...< .| 00030300 20 78 2b 32 2c 79 2c 78 2b 77 2d 32 2c 79 3a 86 | x+2,y,x+w-2,y:.| 00030310 20 78 2b 34 2c 79 2b 32 2c 78 2b 77 2d 34 2c 79 | x+4,y+2,x+w-4,y| 00030320 2b 32 3a 86 20 78 2b 36 2c 79 2b 34 2c 78 2b 77 |+2:. x+6,y+4,x+w| 00030330 2d 36 2c 79 2b 34 0d 19 e2 1c 20 52 33 3d 52 31 |-6,y+4.... R3=R1| 00030340 2a 32 3a e7 20 52 33 3e 32 35 35 20 52 33 3d 32 |*2:. R3>255 R3=2| 00030350 35 35 0d 19 e3 1c 20 47 33 3d 47 31 2a 32 3a e7 |55.... G3=G1*2:.| 00030360 20 47 33 3e 32 35 35 20 47 33 3d 32 35 35 0d 19 | G3>255 G3=255..| 00030370 e4 1c 20 42 33 3d 42 31 2a 32 3a e7 20 42 33 3e |.. B3=B1*2:. B3>| 00030380 32 35 35 20 42 33 3d 32 35 35 0d 19 e5 0f 20 e6 |255 B3=255.... .| 00030390 20 52 33 2c 47 33 2c 42 33 0d 19 e6 48 20 86 20 | R3,G3,B3...H . | 000303a0 78 2b 32 2c 79 2b 68 2c 78 2b 77 2d 32 2c 79 2b |x+2,y+h,x+w-2,y+| 000303b0 68 3a 86 20 78 2b 34 2c 79 2b 68 2d 32 2c 78 2b |h:. x+4,y+h-2,x+| 000303c0 77 2d 34 2c 79 2b 68 2d 32 3a 86 20 78 2b 36 2c |w-4,y+h-2:. x+6,| 000303d0 79 2b 68 2d 34 2c 78 2b 77 2d 36 2c 79 2b 68 2d |y+h-4,x+w-6,y+h-| 000303e0 34 0d 19 e7 06 20 e1 0d 19 e8 04 0d 19 e9 1f 20 |4.... ......... | 000303f0 dd 20 f2 64 69 73 70 6c 61 79 5f 68 65 61 64 65 |. .display_heade| 00030400 72 5f 74 65 78 74 28 68 24 29 0d 19 ea 12 20 e7 |r_text(h$).... .| 00030410 20 68 24 3d 22 4e 4f 4e 45 22 20 e1 0d 19 eb 0f | h$="NONE" .....| 00030420 20 68 24 3d c0 68 24 2c 32 38 29 0d 19 ec 27 20 | h$=.h$,28)...' | 00030430 e7 20 6d 6f 64 65 25 3c 32 30 20 84 20 6d 6f 64 |. mode%<20 . mod| 00030440 65 25 3d 36 33 20 84 20 6d 6f 64 65 25 3d 36 35 |e%=63 . mode%=65| 00030450 20 8c 0d 19 ed 33 20 20 f2 77 72 69 74 65 28 22 | ....3 .write("| 00030460 50 61 6e 65 6c 2e 46 69 78 65 64 22 2c bd 31 32 |Panel.Fixed",.12| 00030470 37 2b 68 24 2c 31 39 30 2c 39 35 36 2c 32 34 2c |7+h$,190,956,24,| 00030480 32 34 2c 36 29 0d 19 ee 06 20 cc 0d 19 ef 33 20 |24,6).... ....3 | 00030490 20 f2 77 72 69 74 65 28 22 50 61 6e 65 6c 2e 46 | .write("Panel.F| 000304a0 69 78 65 64 22 2c bd 31 32 37 2b 68 24 2c 31 39 |ixed",.127+h$,19| 000304b0 30 2c 39 35 38 2c 31 32 2c 31 32 2c 36 29 0d 19 |0,958,12,12,6)..| 000304c0 f0 06 20 cd 0d 19 f1 13 20 f2 75 70 6c 6f 61 64 |.. ..... .upload| 000304d0 5f 6d 65 6d 6f 72 79 0d 19 f2 06 20 e1 0d 19 f3 |_memory.... ....| 000304e0 04 0d 19 f4 23 20 dd 20 f2 63 72 65 61 74 65 5f |....# . .create_| 000304f0 64 65 66 61 75 6c 74 5f 6f 70 74 69 6f 6e 73 5f |default_options_| 00030500 66 69 6c 65 0d 19 f5 34 20 f4 20 55 73 65 64 20 |file...4 . Used | 00030510 77 68 65 6e 20 61 64 64 65 64 20 70 61 72 61 6d |when added param| 00030520 65 74 65 72 73 20 63 61 75 73 65 20 61 6e 20 45 |eters cause an E| 00030530 4f 46 20 65 72 72 6f 72 0d 19 f6 45 20 f4 20 4f |OF error...E . O| 00030540 6e 6c 79 20 6e 65 77 2f 6d 69 73 73 69 6e 67 20 |nly new/missing | 00030550 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 61 |parameters are a| 00030560 64 64 65 64 20 2d 20 65 78 69 73 74 69 6e 67 20 |dded - existing | 00030570 6f 6e 65 73 20 72 65 74 61 69 6e 65 64 0d 19 f7 |ones retained...| 00030580 30 20 e7 20 63 68 6f 69 63 65 73 5f 6c 69 73 74 |0 . choices_list| 00030590 24 28 31 29 3c 3e 22 6f 6b 22 20 73 61 76 65 5f |$(1)<>"ok" save_| 000305a0 74 79 70 65 24 3d 22 70 73 63 61 6e 22 0d 19 f8 |type$="pscan"...| 000305b0 30 20 e7 20 63 68 6f 69 63 65 73 5f 6c 69 73 74 |0 . choices_list| 000305c0 24 28 32 29 3c 3e 22 6f 6b 22 20 71 77 69 6b 74 |$(2)<>"ok" qwikt| 000305d0 65 78 74 5f 63 6f 6c 6f 75 72 25 3d 32 0d 19 f9 |ext_colour%=2...| 000305e0 30 20 e7 20 63 68 6f 69 63 65 73 5f 6c 69 73 74 |0 . choices_list| 000305f0 24 28 33 29 3c 3e 22 6f 6b 22 20 71 77 69 6b 74 |$(3)<>"ok" qwikt| 00030600 65 78 74 5f 62 6c 6f 63 6b 25 3d 31 36 0d 19 fa |ext_block%=16...| 00030610 29 20 e7 20 63 68 6f 69 63 65 73 5f 6c 69 73 74 |) . choices_list| 00030620 24 28 34 29 3c 3e 22 6f 6b 22 20 6a 70 65 67 5f |$(4)<>"ok" jpeg_| 00030630 6f 70 74 25 3d 31 0d 19 fb 2c 20 e7 20 63 68 6f |opt%=1..., . cho| 00030640 69 63 65 73 5f 6c 69 73 74 24 28 35 29 3c 3e 22 |ices_list$(5)<>"| 00030650 6f 6b 22 20 70 6c 6f 74 5f 73 68 61 64 6f 77 25 |ok" plot_shadow%| 00030660 3d 31 0d 19 fc 2d 20 e7 20 63 68 6f 69 63 65 73 |=1...- . choices| 00030670 5f 6c 69 73 74 24 28 36 29 3c 3e 22 6f 6b 22 20 |_list$(6)<>"ok" | 00030680 70 6c 6f 74 5f 62 6f 72 64 65 72 25 3d 2d 31 0d |plot_border%=-1.| 00030690 19 fd 2c 20 e7 20 63 68 6f 69 63 65 73 5f 6c 69 |.., . choices_li| 000306a0 73 74 24 28 37 29 3c 3e 22 6f 6b 22 20 66 61 78 |st$(7)<>"ok" fax| 000306b0 5f 61 76 65 72 61 67 65 25 3d 32 0d 19 fe 25 20 |_average%=2...% | 000306c0 e7 20 63 68 6f 69 63 65 73 5f 6c 69 73 74 24 28 |. choices_list$(| 000306d0 38 29 3c 3e 22 6f 6b 22 20 72 65 64 25 3d 34 30 |8)<>"ok" red%=40| 000306e0 0d 19 ff 25 20 e7 20 63 68 6f 69 63 65 73 5f 6c |...% . choices_l| 000306f0 69 73 74 24 28 39 29 3c 3e 22 6f 6b 22 20 67 72 |ist$(9)<>"ok" gr| 00030700 6e 25 3d 39 36 0d 1a 00 27 20 e7 20 63 68 6f 69 |n%=96...' . choi| 00030710 63 65 73 5f 6c 69 73 74 24 28 31 30 29 3c 3e 22 |ces_list$(10)<>"| 00030720 6f 6b 22 20 62 6c 75 25 3d 32 30 30 0d 1a 01 27 |ok" blu%=200...'| 00030730 20 e7 20 63 68 6f 69 63 65 73 5f 6c 69 73 74 24 | . choices_list$| 00030740 28 31 31 29 3c 3e 22 6f 6b 22 20 6a 70 67 71 25 |(11)<>"ok" jpgq%| 00030750 3d 37 35 0d 1a 02 2a 20 e7 20 63 68 6f 69 63 65 |=75...* . choice| 00030760 73 5f 6c 69 73 74 24 28 31 32 29 3c 3e 22 6f 6b |s_list$(12)<>"ok| 00030770 22 20 49 6f 66 66 73 65 74 25 3d 34 30 0d 1a 03 |" Ioffset%=40...| 00030780 2d 20 e7 20 63 68 6f 69 63 65 73 5f 6c 69 73 74 |- . choices_list| 00030790 24 28 31 33 29 3c 3e 22 6f 6b 22 20 68 65 61 64 |$(13)<>"ok" head| 000307a0 65 72 5f 74 65 78 74 25 3d a3 0d 1a 04 2f 20 e7 |er_text%=..../ .| 000307b0 20 63 68 6f 69 63 65 73 5f 6c 69 73 74 24 28 31 | choices_list$(1| 000307c0 34 29 3c 3e 22 6f 6b 22 20 70 64 5f 61 75 74 6f |4)<>"ok" pd_auto| 000307d0 5f 6c 69 6e 65 73 25 3d 38 0d 1a 05 2b 20 e7 20 |_lines%=8...+ . | 000307e0 63 68 6f 69 63 65 73 5f 6c 69 73 74 24 28 31 35 |choices_list$(15| 000307f0 29 3c 3e 22 6f 6b 22 20 73 73 74 76 5f 74 69 6d |)<>"ok" sstv_tim| 00030800 65 25 3d 32 0d 1a 06 2f 20 e7 20 63 68 6f 69 63 |e%=2.../ . choic| 00030810 65 73 5f 6c 69 73 74 24 28 31 36 29 3c 3e 22 6f |es_list$(16)<>"o| 00030820 6b 22 20 6f 75 74 6c 69 6e 65 5f 77 69 64 74 68 |k" outline_width| 00030830 25 3d 32 0d 1a 07 2b 20 e7 20 63 68 6f 69 63 65 |%=2...+ . choice| 00030840 73 5f 6c 69 73 74 24 28 31 37 29 3c 3e 22 6f 6b |s_list$(17)<>"ok| 00030850 22 20 62 65 61 63 6f 6e 5f 6f 6e 25 3d b9 0d 1a |" beacon_on%=...| 00030860 08 04 0d 1a 09 2a 20 46 25 3d ae 28 22 3c 50 73 |.....* F%=.("<Ps| 00030870 63 61 6e 24 44 69 72 3e 2e 55 73 65 72 46 69 6c |can$Dir>.UserFil| 00030880 65 73 2e 4f 70 74 69 6f 6e 73 22 29 0d 1a 0a 14 |es.Options")....| 00030890 20 f1 23 46 25 2c 73 61 76 65 5f 74 79 70 65 24 | .#F%,save_type$| 000308a0 0d 1a 0b 1a 20 f1 23 46 25 2c 71 77 69 6b 74 65 |.... .#F%,qwikte| 000308b0 78 74 5f 63 6f 6c 6f 75 72 25 0d 1a 0c 19 20 f1 |xt_colour%.... .| 000308c0 23 46 25 2c 71 77 69 6b 74 65 78 74 5f 62 6c 6f |#F%,qwiktext_blo| 000308d0 63 6b 25 0d 1a 0d 13 20 f1 23 46 25 2c 6a 70 65 |ck%.... .#F%,jpe| 000308e0 67 5f 6f 70 74 25 0d 1a 0e 16 20 f1 23 46 25 2c |g_opt%.... .#F%,| 000308f0 70 6c 6f 74 5f 73 68 61 64 6f 77 25 0d 1a 0f 16 |plot_shadow%....| 00030900 20 f1 23 46 25 2c 70 6c 6f 74 5f 62 6f 72 64 65 | .#F%,plot_borde| 00030910 72 25 0d 1a 10 16 20 f1 23 46 25 2c 66 61 78 5f |r%.... .#F%,fax_| 00030920 61 76 65 72 61 67 65 25 0d 1a 11 0e 20 f1 23 46 |average%.... .#F| 00030930 25 2c 72 65 64 25 0d 1a 12 0e 20 f1 23 46 25 2c |%,red%.... .#F%,| 00030940 67 72 6e 25 0d 1a 13 0e 20 f1 23 46 25 2c 62 6c |grn%.... .#F%,bl| 00030950 75 25 0d 1a 14 0f 20 f1 23 46 25 2c 6a 70 67 71 |u%.... .#F%,jpgq| 00030960 25 0d 1a 15 12 20 f1 23 46 25 2c 49 6f 66 66 73 |%.... .#F%,Ioffs| 00030970 65 74 25 0d 1a 16 16 20 f1 23 46 25 2c 68 65 61 |et%.... .#F%,hea| 00030980 64 65 72 5f 74 65 78 74 25 0d 1a 17 18 20 f1 23 |der_text%.... .#| 00030990 46 25 2c 70 64 5f 61 75 74 6f 5f 6c 69 6e 65 73 |F%,pd_auto_lines| 000309a0 25 0d 1a 18 14 20 f1 23 46 25 2c 73 73 74 76 5f |%.... .#F%,sstv_| 000309b0 74 69 6d 65 25 0d 1a 19 18 20 f1 23 46 25 2c 6f |time%.... .#F%,o| 000309c0 75 74 6c 69 6e 65 5f 77 69 64 74 68 25 0d 1a 1a |utline_width%...| 000309d0 14 20 f1 23 46 25 2c 62 65 61 63 6f 6e 5f 6f 6e |. .#F%,beacon_on| 000309e0 25 0d 1a 1b 09 20 d9 23 46 25 0d 1a 1c 04 0d 1a |%.... .#F%......| 000309f0 1d 06 20 e1 0d 1a 1e 04 0d 1a 1f 29 20 dd 20 a4 |.. ........) . .| 00030a00 63 68 65 63 6b 5f 62 75 74 74 6f 6e 28 63 62 78 |check_button(cbx| 00030a10 25 2c 63 62 79 25 2c 63 62 77 25 2c 63 62 68 25 |%,cby%,cbw%,cbh%| 00030a20 29 0d 1a 20 1e 20 63 62 78 25 2b 3d 63 62 77 25 |).. . cbx%+=cbw%| 00030a30 2f 32 3a 63 62 79 25 2b 3d 63 62 68 25 2f 32 0d |/2:cby%+=cbh%/2.| 00030a40 1a 21 18 20 c8 97 20 63 62 6d 78 25 2c 63 62 6d |.!. .. cbmx%,cbm| 00030a50 79 25 2c 63 62 62 25 0d 1a 22 3c 20 e7 20 94 28 |y%,cbb%.."< . .(| 00030a60 63 62 78 25 2d 63 62 6d 78 25 29 3c 28 63 62 77 |cbx%-cbmx%)<(cbw| 00030a70 25 2f 32 29 2b 34 20 80 20 94 28 63 62 79 25 2d |%/2)+4 . .(cby%-| 00030a80 63 62 6d 79 25 29 3c 28 63 62 68 25 2f 32 29 2b |cbmy%)<(cbh%/2)+| 00030a90 34 20 8c 0d 1a 23 08 20 20 3d b9 0d 1a 24 06 20 |4 ...#. =...$. | 00030aa0 cc 0d 1a 25 08 20 20 3d a3 0d 1a 26 06 20 cd 0d |...%. =...&. ..| 00030ab0 1a 27 04 0d 1a 28 21 20 dd 20 f2 76 69 73 5f 63 |.'...(! . .vis_c| 00030ac0 6f 6e 76 65 72 74 5f 74 6f 5f 6d 6f 64 65 28 76 |onvert_to_mode(v| 00030ad0 69 73 25 29 0d 1a 29 10 20 67 6f 6f 64 5f 76 69 |is%)..). good_vi| 00030ae0 73 25 3d b9 0d 1a 2a 0e 20 c8 8e 20 76 69 73 25 |s%=...*. .. vis%| 00030af0 20 ca 0d 1a 2b 12 20 c9 20 31 37 32 3a 6d 6f 64 | ...+. . 172:mod| 00030b00 65 25 3d 31 0d 1a 2c 12 20 c9 20 34 30 20 3a 6d |e%=1..,. . 40 :m| 00030b10 6f 64 65 25 3d 32 0d 1a 2d 12 20 c9 20 36 30 20 |ode%=2..-. . 60 | 00030b20 3a 6d 6f 64 65 25 3d 35 0d 1a 2e 12 20 c9 20 31 |:mode%=5.... . 1| 00030b30 38 34 3a 6d 6f 64 65 25 3d 36 0d 1a 2f 12 20 c9 |84:mode%=6../. .| 00030b40 20 32 30 34 3a 6d 6f 64 65 25 3d 39 0d 1a 30 21 | 204:mode%=9..0!| 00030b50 20 c9 20 31 38 33 3a e7 20 6d 6f 64 65 25 3c 3e | . 183:. mode%<>| 00030b60 31 32 20 8c 20 6d 6f 64 65 25 3d 31 31 0d 1a 31 |12 . mode%=11..1| 00030b70 1e 20 c9 20 39 36 20 3a 6d 6f 64 65 25 3d 36 30 |. . 96 :mode%=60| 00030b80 20 3a 20 f4 20 50 44 2d 31 38 30 0d 1a 32 1e 20 | : . PD-180..2. | 00030b90 c9 20 32 32 35 3a 6d 6f 64 65 25 3d 36 31 20 3a |. 225:mode%=61 :| 00030ba0 20 f4 20 50 44 2d 32 34 30 0d 1a 33 1e 20 c9 20 | . PD-240..3. . | 00030bb0 32 32 36 3a 6d 6f 64 65 25 3d 36 32 20 3a 20 f4 |226:mode%=62 : .| 00030bc0 20 50 44 2d 31 36 30 0d 1a 34 1d 20 c9 20 39 39 | PD-160..4. . 99| 00030bd0 20 3a 6d 6f 64 65 25 3d 36 33 20 3a 20 f4 20 50 | :mode%=63 : . P| 00030be0 44 2d 39 30 0d 1a 35 1e 20 c9 20 39 35 20 3a 6d |D-90..5. . 95 :m| 00030bf0 6f 64 65 25 3d 36 34 20 3a 20 f4 20 50 44 2d 31 |ode%=64 : . PD-1| 00030c00 32 30 0d 1a 36 1d 20 c9 20 32 32 31 3a 6d 6f 64 |20..6. . 221:mod| 00030c10 65 25 3d 36 35 20 3a 20 f4 20 50 44 2d 35 30 0d |e%=65 : . PD-50.| 00030c20 1a 37 1a 20 c9 20 31 31 33 3a 6d 6f 64 65 25 3d |.7. . 113:mode%=| 00030c30 32 30 20 3a 20 f4 20 50 33 0d 1a 38 1a 20 c9 20 |20 : . P3..8. . | 00030c40 31 31 34 3a 6d 6f 64 65 25 3d 32 31 20 3a 20 f4 |114:mode%=21 : .| 00030c50 20 50 35 0d 1a 39 1a 20 c9 20 32 34 33 3a 6d 6f | P5..9. . 243:mo| 00030c60 64 65 25 3d 32 32 20 3a 20 f4 20 50 37 0d 1a 3a |de%=22 : . P7..:| 00030c70 1b 20 c9 20 31 36 39 3a 6d 6f 64 65 25 3d 37 30 |. . 169:mode%=70| 00030c80 20 3a 20 f4 20 48 51 31 0d 1a 3b 1b 20 c9 20 31 | : . HQ1..;. . 1| 00030c90 37 30 3a 6d 6f 64 65 25 3d 37 31 20 3a 20 f4 20 |70:mode%=71 : . | 00030ca0 48 51 32 0d 1a 3c 06 20 7f 0d 1a 3d 10 20 67 6f |HQ2..<. ...=. go| 00030cb0 6f 64 5f 76 69 73 25 3d a3 0d 1a 3e 06 20 cb 0d |od_vis%=...>. ..| 00030cc0 1a 3f 06 20 e1 0d 1a 40 04 0d 1a 41 12 20 dd 20 |.?. ...@...A. . | 00030cd0 f2 63 77 5f 74 78 28 43 57 24 29 0d 1a 42 2c 20 |.cw_tx(CW$)..B, | 00030ce0 f2 63 77 5f 70 72 65 70 61 72 65 28 43 57 24 29 |.cw_prepare(CW$)| 00030cf0 3a 76 69 73 5f 70 61 72 61 6d 25 21 39 32 3d 63 |:vis_param%!92=c| 00030d00 77 5f 64 61 74 61 25 0d 1a 43 23 20 66 25 3d 31 |w_data%..C# f%=1| 00030d10 30 30 30 20 3a 20 f4 20 43 57 20 74 6f 6e 65 20 |000 : . CW tone | 00030d20 69 73 20 31 30 30 30 20 48 7a 0d 1a 44 18 20 e7 |is 1000 Hz..D. .| 00030d30 20 58 34 25 20 8c 20 4d 25 3d 34 20 8b 20 4d 25 | X4% . M%=4 . M%| 00030d40 3d 31 0d 1a 45 25 20 63 25 3d a8 28 31 2f 28 66 |=1..E% c%=.(1/(f| 00030d50 25 2a 4d 25 29 2f 32 2a 31 30 30 30 30 30 30 2a |%*M%)/2*1000000*| 00030d60 32 2d 31 2b 2e 35 29 0d 1a 46 32 20 76 69 73 5f |2-1+.5)..F2 vis_| 00030d70 70 61 72 61 6d 25 21 35 36 3d 63 25 20 83 20 32 |param%!56=c% . 2| 00030d80 35 36 3a 76 69 73 5f 70 61 72 61 6d 25 21 36 30 |56:vis_param%!60| 00030d90 3d 63 25 20 81 20 32 35 36 0d 1a 47 14 20 76 69 |=c% . 256..G. vi| 00030da0 73 5f 70 61 72 61 6d 25 21 38 30 3d 33 0d 1a 48 |s_param%!80=3..H| 00030db0 1e 20 76 69 73 5f 70 61 72 61 6d 25 21 34 3d 73 |. vis_param%!4=s| 00030dc0 65 72 69 61 6c 5f 62 61 73 65 25 0d 1a 49 14 20 |erial_base%..I. | 00030dd0 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d |.wait_no_button.| 00030de0 1a 4a 1e 20 d6 20 76 69 73 5f 63 6f 64 65 25 2b |.J. . vis_code%+| 00030df0 28 76 69 73 5f 63 6f 64 65 25 21 38 29 0d 1a 4b |(vis_code%!8)..K| 00030e00 14 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f |. .wait_no_butto| 00030e10 6e 0d 1a 4c 06 20 e1 0d 1a 4d 04 0d 1a 4e 17 20 |n..L. ...M...N. | 00030e20 dd 20 f2 63 77 5f 70 72 65 70 61 72 65 28 43 57 |. .cw_prepare(CW| 00030e30 24 29 0d 1a 4f 09 20 f7 20 2b 30 0d 1a 50 27 20 |$)..O. . +0..P' | 00030e40 e3 20 4e 25 3d 30 20 b8 20 34 32 3a f3 20 63 77 |. N%=0 . 42:. cw| 00030e50 5f 74 61 62 6c 65 24 28 4e 25 29 3a ed 3a 41 25 |_table$(N%):.:A%| 00030e60 3d 30 0d 1a 51 18 20 63 77 5f 64 61 74 61 25 3f |=0..Q. cw_data%?| 00030e70 41 25 3d 30 3a 41 25 2b 3d 31 0d 1a 52 13 20 e3 |A%=0:A%+=1..R. .| 00030e80 20 4e 25 3d 31 20 b8 20 a9 20 43 57 24 0d 1a 53 | N%=1 . . CW$..S| 00030e90 15 20 43 25 3d 97 28 c1 43 57 24 2c 4e 25 2c 31 |. C%=.(.CW$,N%,1| 00030ea0 29 29 0d 1a 54 41 20 e7 20 43 25 3e 3d 97 22 61 |))..TA . C%>=."a| 00030eb0 22 20 80 20 43 25 3c 3d 97 22 7a 22 20 43 25 2d |" . C%<=."z" C%-| 00030ec0 3d 33 32 20 3a 20 f4 20 43 6f 6e 76 65 72 74 20 |=32 : . Convert | 00030ed0 6c 6f 77 65 72 20 63 61 73 65 20 74 6f 20 75 70 |lower case to up| 00030ee0 70 65 72 0d 1a 55 29 20 e7 20 28 43 25 3c 97 22 |per..U) . (C%<."| 00030ef0 2f 22 20 84 20 43 25 3e 97 22 5a 22 29 20 80 20 |/" . C%>."Z") . | 00030f00 43 25 3c 3e 33 32 20 43 25 3d 33 32 0d 1a 56 2d |C%<>32 C%=32..V-| 00030f10 20 e7 20 43 25 3d 33 32 20 63 77 32 24 3d 22 35 | . C%=32 cw2$="5| 00030f20 22 20 8b 20 63 77 32 24 3d 63 77 5f 74 61 62 6c |" . cw2$=cw_tabl| 00030f30 65 24 28 43 25 2d 34 37 29 0d 1a 57 16 20 e3 20 |e$(C%-47)..W. . | 00030f40 4e 32 25 3d 31 20 b8 20 a9 28 63 77 32 24 29 0d |N2%=1 . .(cw2$).| 00030f50 1a 58 16 20 63 77 33 24 3d c1 63 77 32 24 2c 4e |.X. cw3$=.cw2$,N| 00030f60 32 25 2c 31 29 0d 1a 59 1f 20 f2 63 77 5f 6f 6e |2%,1)..Y. .cw_on| 00030f70 65 73 5f 61 6e 64 5f 6e 6f 75 67 68 74 73 28 63 |es_and_noughts(c| 00030f80 77 33 24 29 0d 1a 5a 06 20 ed 0d 1a 5b 1e 20 f2 |w3$)..Z. ...[. .| 00030f90 63 77 5f 6f 6e 65 73 5f 61 6e 64 5f 6e 6f 75 67 |cw_ones_and_noug| 00030fa0 68 74 73 28 22 33 22 29 0d 1a 5c 06 20 ed 0d 1a |hts("3")..\. ...| 00030fb0 5d 35 20 63 77 5f 64 61 74 61 25 3f 41 25 3d 30 |]5 cw_data%?A%=0| 00030fc0 3a 41 25 2b 3d 31 3a 63 77 5f 64 61 74 61 25 3f |:A%+=1:cw_data%?| 00030fd0 41 25 3d 32 20 3a 20 f4 20 45 6e 64 20 6d 61 72 |A%=2 : . End mar| 00030fe0 6b 65 72 0d 1a 5e 04 0d 1a 5f 18 20 dc 20 22 32 |ker..^..._. . "2| 00030ff0 31 31 32 31 22 20 3a 20 52 45 4d 20 22 2f 22 0d |1121" : REM "/".| 00031000 1a 60 18 20 dc 20 22 32 32 32 32 32 22 20 3a 20 |.`. . "22222" : | 00031010 52 45 4d 20 22 30 22 0d 1a 61 0e 20 dc 20 22 31 |REM "0"..a. . "1| 00031020 32 32 32 32 22 0d 1a 62 0e 20 dc 20 22 31 31 32 |2222"..b. . "112| 00031030 32 32 22 0d 1a 63 0e 20 dc 20 22 31 31 31 32 32 |22"..c. . "11122| 00031040 22 0d 1a 64 0e 20 dc 20 22 31 31 31 31 32 22 0d |"..d. . "11112".| 00031050 1a 65 0e 20 dc 20 22 31 31 31 31 31 22 0d 1a 66 |.e. . "11111"..f| 00031060 0e 20 dc 20 22 32 31 31 31 31 22 0d 1a 67 0e 20 |. . "21111"..g. | 00031070 dc 20 22 32 32 31 31 31 22 0d 1a 68 0e 20 dc 20 |. "22111"..h. . | 00031080 22 32 32 32 31 31 22 0d 1a 69 18 20 dc 20 22 32 |"22211"..i. . "2| 00031090 32 32 32 31 22 20 3a 20 52 45 4d 20 22 39 22 0d |2221" : REM "9".| 000310a0 1a 6a 22 20 dc 20 22 31 22 2c 22 31 22 2c 22 31 |.j" . "1","1","1| 000310b0 22 2c 22 31 22 2c 22 31 22 2c 22 31 22 2c 22 31 |","1","1","1","1| 000310c0 22 0d 1a 6b 18 20 dc 20 22 31 32 22 20 20 20 20 |"..k. . "12" | 000310d0 3a 20 52 45 4d 20 22 41 22 0d 1a 6c 0d 20 dc 20 |: REM "A"..l. . | 000310e0 22 32 31 31 31 22 0d 1a 6d 0d 20 dc 20 22 32 31 |"2111"..m. . "21| 000310f0 32 31 22 0d 1a 6e 0c 20 dc 20 22 32 31 31 22 0d |21"..n. . "211".| 00031100 1a 6f 0a 20 dc 20 22 31 22 0d 1a 70 0d 20 dc 20 |.o. . "1"..p. . | 00031110 22 31 31 32 31 22 0d 1a 71 0c 20 dc 20 22 32 32 |"1121"..q. . "22| 00031120 31 22 0d 1a 72 0d 20 dc 20 22 31 31 31 31 22 0d |1"..r. . "1111".| 00031130 1a 73 0b 20 dc 20 22 31 31 22 0d 1a 74 0d 20 dc |.s. . "11"..t. .| 00031140 20 22 31 32 32 32 22 0d 1a 75 0c 20 dc 20 22 32 | "1222"..u. . "2| 00031150 31 32 22 0d 1a 76 0d 20 dc 20 22 31 32 31 31 22 |12"..v. . "1211"| 00031160 0d 1a 77 0b 20 dc 20 22 32 32 22 0d 1a 78 0b 20 |..w. . "22"..x. | 00031170 dc 20 22 32 31 22 0d 1a 79 0c 20 dc 20 22 32 32 |. "21"..y. . "22| 00031180 32 22 0d 1a 7a 0d 20 dc 20 22 31 32 32 31 22 0d |2"..z. . "1221".| 00031190 1a 7b 0d 20 dc 20 22 32 32 31 32 22 0d 1a 7c 0c |.{. . "2212"..|.| 000311a0 20 dc 20 22 31 32 31 22 0d 1a 7d 0c 20 dc 20 22 | . "121"..}. . "| 000311b0 31 31 31 22 0d 1a 7e 0a 20 dc 20 22 32 22 0d 1a |111"..~. . "2"..| 000311c0 7f 0c 20 dc 20 22 31 31 32 22 0d 1a 80 0d 20 dc |.. . "112".... .| 000311d0 20 22 31 31 31 32 22 0d 1a 81 0c 20 dc 20 22 31 | "1112".... . "1| 000311e0 32 32 22 0d 1a 82 0d 20 dc 20 22 32 31 31 32 22 |22".... . "2112"| 000311f0 0d 1a 83 0d 20 dc 20 22 32 31 32 32 22 0d 1a 84 |.... . "2122"...| 00031200 18 20 dc 20 22 32 32 31 31 22 20 20 3a 20 52 45 |. . "2211" : RE| 00031210 4d 20 22 5a 22 0d 1a 85 06 20 e1 0d 1a 86 04 0d |M "Z".... ......| 00031220 1a 87 1f 20 dd 20 f2 63 77 5f 6f 6e 65 73 5f 61 |... . .cw_ones_a| 00031230 6e 64 5f 6e 6f 75 67 68 74 73 28 43 24 29 0d 1a |nd_noughts(C$)..| 00031240 88 2e 20 f4 20 31 3d 64 69 74 20 32 3d 64 61 68 |.. . 1=dit 2=dah| 00031250 20 33 3d 6c 65 74 74 65 72 20 73 70 61 63 65 20 | 3=letter space | 00031260 35 3d 77 6f 72 64 20 73 70 61 63 65 0d 1a 89 13 |5=word space....| 00031270 20 e3 20 6e 25 3d 31 20 b8 20 a9 28 43 24 29 0d | . n%=1 . .(C$).| 00031280 1a 8a 11 20 63 24 3d c1 43 24 2c 6e 25 2c 31 29 |... c$=.C$,n%,1)| 00031290 0d 1a 8b 0c 20 c8 8e 20 63 24 20 ca 0d 1a 8c 20 |.... .. c$ .... | 000312a0 20 c9 20 22 31 22 20 3a 20 63 77 5f 64 61 74 61 | . "1" : cw_data| 000312b0 25 3f 41 25 3d 31 3a 41 25 2b 3d 31 0d 1a 8d 20 |%?A%=1:A%+=1... | 000312c0 20 c9 20 22 32 22 20 3a 20 63 77 5f 64 61 74 61 | . "2" : cw_data| 000312d0 25 3f 41 25 3d 31 3a 41 25 2b 3d 31 0d 1a 8e 23 |%?A%=1:A%+=1...#| 000312e0 20 20 20 20 20 20 20 20 20 20 20 20 63 77 5f 64 | cw_d| 000312f0 61 74 61 25 3f 41 25 3d 31 3a 41 25 2b 3d 31 0d |ata%?A%=1:A%+=1.| 00031300 1a 8f 23 20 20 20 20 20 20 20 20 20 20 20 20 63 |..# c| 00031310 77 5f 64 61 74 61 25 3f 41 25 3d 31 3a 41 25 2b |w_data%?A%=1:A%+| 00031320 3d 31 0d 1a 90 20 20 c9 20 22 33 22 20 3a 20 63 |=1... . "3" : c| 00031330 77 5f 64 61 74 61 25 3f 41 25 3d 30 3a 41 25 2b |w_data%?A%=0:A%+| 00031340 3d 31 0d 1a 91 1d 20 c9 20 22 35 22 20 3a 20 f4 |=1.... . "5" : .| 00031350 20 6e 6f 74 68 69 6e 67 20 6e 65 65 64 65 64 0d | nothing needed.| 00031360 1a 92 06 20 cb 0d 1a 93 18 20 63 77 5f 64 61 74 |... ..... cw_dat| 00031370 61 25 3f 41 25 3d 30 3a 41 25 2b 3d 31 0d 1a 94 |a%?A%=0:A%+=1...| 00031380 06 20 e1 0d 1a 95 04 0d 1a 96 15 20 dd 20 a4 62 |. ......... . .b| 00031390 75 73 79 28 73 65 63 6f 6e 64 73 29 0d 1a 97 14 |usy(seconds)....| 000313a0 20 f2 77 61 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e | .wait_no_button| 000313b0 0d 1a 98 1f 20 61 75 74 6f 5f 63 6f 64 65 25 21 |.... auto_code%!| 000313c0 31 32 3d 32 30 30 30 2a 73 65 63 6f 6e 64 73 0d |12=2000*seconds.| 000313d0 1a 99 1e 20 61 75 74 6f 5f 63 6f 64 65 25 21 34 |... auto_code%!4| 000313e0 3d 49 6f 66 66 73 65 74 25 20 81 20 32 0d 1a 9a |=Ioffset% . 2...| 000313f0 22 20 d6 20 61 75 74 6f 5f 63 6f 64 65 25 3a 4c |" . auto_code%:L| 00031400 31 25 3d 61 75 74 6f 5f 63 6f 64 65 25 21 38 0d |1%=auto_code%!8.| 00031410 1a 9b 1f 20 61 75 74 6f 5f 63 6f 64 65 25 21 31 |... auto_code%!1| 00031420 32 3d 32 30 30 30 2a 73 65 63 6f 6e 64 73 0d 1a |2=2000*seconds..| 00031430 9c 22 20 d6 20 61 75 74 6f 5f 63 6f 64 65 25 3a |." . auto_code%:| 00031440 4c 32 25 3d 61 75 74 6f 5f 63 6f 64 65 25 21 38 |L2%=auto_code%!8| 00031450 0d 1a 9d 1d 20 e7 20 4c 31 25 3d 31 20 84 20 4c |.... . L1%=1 . L| 00031460 32 25 3d 31 20 72 71 75 69 74 25 3d b9 0d 1a 9e |2%=1 rquit%=....| 00031470 2a 20 e7 20 94 28 4c 32 25 2d 4c 31 25 29 3c 31 |* . .(L2%-L1%)<1| 00031480 30 20 80 20 4c 31 25 3e 32 32 30 20 80 20 4c 32 |0 . L1%>220 . L2| 00031490 25 3e 32 32 30 20 8c 0d 1a 9f 07 20 3d b9 0d 1a |%>220 ..... =...| 000314a0 a0 06 20 cc 0d 1a a1 07 20 3d a3 0d 1a a2 04 0d |.. ..... =......| 000314b0 1a a3 11 20 dd 20 a4 74 6f 6e 65 62 75 72 73 74 |... . .toneburst| 000314c0 0d 1a a4 3e 20 76 69 73 5f 70 61 72 61 6d 25 21 |...> vis_param%!| 000314d0 38 30 3d 32 20 3a 20 f4 20 32 3d 74 6f 6e 65 62 |80=2 : . 2=toneb| 000314e0 75 72 73 74 2c 20 31 3d 56 49 53 20 6e 61 72 72 |urst, 1=VIS narr| 000314f0 6f 77 2c 20 30 3d 56 49 53 20 77 69 64 65 0d 1a |ow, 0=VIS wide..| 00031500 a5 1e 20 76 69 73 5f 70 61 72 61 6d 25 21 34 3d |.. vis_param%!4=| 00031510 73 65 72 69 61 6c 5f 62 61 73 65 25 0d 1a a6 23 |serial_base%...#| 00031520 20 46 4c 3d 31 37 35 30 2d 74 6f 6e 65 62 75 72 | FL=1750-tonebur| 00031530 73 74 5f 62 61 6e 64 77 69 64 74 68 25 2f 32 0d |st_bandwidth%/2.| 00031540 1a a7 23 20 46 48 3d 31 37 35 30 2b 74 6f 6e 65 |..# FH=1750+tone| 00031550 62 75 72 73 74 5f 62 61 6e 64 77 69 64 74 68 25 |burst_bandwidth%| 00031560 2f 32 0d 1a a8 2c 20 43 3d 34 30 39 36 2d 28 28 |/2..., C=4096-((| 00031570 31 2f 46 4c 29 2a 31 30 30 30 30 30 30 29 3a 76 |1/FL)*1000000):v| 00031580 69 73 5f 70 61 72 61 6d 25 21 38 34 3d 43 0d 1a |is_param%!84=C..| 00031590 a9 2c 20 43 3d 34 30 39 36 2d 28 28 31 2f 46 48 |., C=4096-((1/FH| 000315a0 29 2a 31 30 30 30 30 30 30 29 3a 76 69 73 5f 70 |)*1000000):vis_p| 000315b0 61 72 61 6d 25 21 38 38 3d 43 0d 1a aa 10 20 d6 |aram%!88=C.... .| 000315c0 20 76 69 73 5f 63 6f 64 65 25 0d 1a ab 11 20 3d | vis_code%.... =| 000315d0 21 76 69 73 5f 70 61 72 61 6d 25 0d 1a ac 04 0d |!vis_param%.....| 000315e0 1a ad 10 20 dd 20 f2 6c 65 64 73 5f 6f 66 66 0d |... . .leds_off.| 000315f0 1a ae 0d 20 e6 20 30 2c 33 32 2c 30 0d 1a af 18 |... . 0,32,0....| 00031600 20 e3 20 59 3d 38 35 34 20 b8 20 37 30 34 20 88 | . Y=854 . 704 .| 00031610 20 2d 35 30 0d 1a b0 18 20 c8 93 20 c8 90 20 38 | -50.... .. .. 8| 00031620 38 34 2c 59 2b 34 2c 31 32 2c 31 32 0d 1a b1 06 |84,Y+4,12,12....| 00031630 20 ed 0d 1a b2 06 20 e1 0d 1a b3 04 0d 1a b4 18 | ..... .........| 00031640 20 dd 20 f2 72 65 70 65 61 74 65 72 5f 63 6f 6e | . .repeater_con| 00031650 74 72 6f 6c 0d 1a b5 17 20 20 72 65 70 65 61 74 |trol.... repeat| 00031660 65 72 5f 74 69 6d 65 72 25 3d 30 0d 1a b6 07 20 |er_timer%=0.... | 00031670 20 f5 0d 1a b7 10 20 20 20 f2 72 65 70 65 61 74 | ..... .repeat| 00031680 65 72 0d 1a b8 31 20 20 20 e7 20 74 6f 6e 65 62 |er...1 . toneb| 00031690 75 72 73 74 5f 72 65 73 75 6c 74 25 3d 32 35 36 |urst_result%=256| 000316a0 20 72 65 70 65 61 74 65 72 5f 74 69 6d 65 72 25 | repeater_timer%| 000316b0 2b 3d 31 0d 1a b9 2b 20 20 20 20 e7 20 72 65 70 |+=1...+ . rep| 000316c0 65 61 74 65 72 5f 74 69 6d 65 72 25 3e 31 37 20 |eater_timer%>17 | 000316d0 80 20 62 65 61 63 6f 6e 5f 6f 6e 25 20 8c 0d 1a |. beacon_on% ...| 000316e0 ba 17 20 20 20 20 20 e7 20 ac 20 a4 62 75 73 79 |.. . . .busy| 000316f0 28 35 29 20 8c 0d 1a bb 1f 20 20 20 20 20 20 f2 |(5) ..... .| 00031700 72 65 70 65 61 74 65 72 5f 62 65 61 63 6f 6e 5f |repeater_beacon_| 00031710 74 65 78 74 0d 1a bc 22 20 20 20 20 20 20 74 65 |text..." te| 00031720 6d 70 5f 6d 6f 64 65 25 3d 6d 6f 64 65 25 3a 6d |mp_mode%=mode%:m| 00031730 6f 64 65 25 3d 31 0d 1a bd 16 20 20 20 20 20 20 |ode%=1.... | 00031740 f2 74 78 5f 66 72 61 6d 65 28 b9 29 0d 1a be 19 |.tx_frame(.)....| 00031750 20 20 20 20 20 20 54 3d 91 3a f5 20 fd 20 91 2d | T=.:. . .-| 00031760 54 3e 31 30 30 0d 1a bf 18 20 20 20 20 20 20 f2 |T>100.... .| 00031770 63 77 5f 74 78 28 63 77 5f 69 64 24 29 0d 1a c0 |cw_tx(cw_id$)...| 00031780 1a 20 20 20 20 20 20 6d 6f 64 65 25 3d 74 65 6d |. mode%=tem| 00031790 70 5f 6d 6f 64 65 25 0d 1a c1 1b 20 20 20 20 20 |p_mode%.... | 000317a0 20 72 65 70 65 61 74 65 72 5f 74 69 6d 65 72 25 | repeater_timer%| 000317b0 3d 30 0d 1a c2 0a 20 20 20 20 20 cd 0d 1a c3 09 |=0.... .....| 000317c0 20 20 20 20 cd 0d 1a c4 1d 20 20 fd 20 74 6f 6e | ..... . ton| 000317d0 65 62 75 72 73 74 5f 72 65 73 75 6c 74 25 3d 33 |eburst_result%=3| 000317e0 32 30 0d 1a c5 06 20 e1 0d 1a c6 04 0d 1a c7 10 |20.... .........| 000317f0 20 dd 20 f2 72 65 70 65 61 74 65 72 0d 1a c8 21 | . .repeater...!| 00031800 20 72 71 75 69 74 25 3d a3 3a 74 6f 6e 65 62 75 | rquit%=.:tonebu| 00031810 72 73 74 5f 72 65 73 75 6c 74 25 3d 30 0d 1a c9 |rst_result%=0...| 00031820 07 20 20 f5 0d 1a ca 25 20 20 20 e6 20 36 34 2c |. ....% . 64,| 00031830 36 34 2c 36 34 3a c8 93 20 c8 90 20 30 2c 30 2c |64,64:.. .. 0,0,| 00031840 31 32 38 30 2c 31 30 32 34 0d 1a cb 25 20 20 20 |1280,1024...% | 00031850 f2 72 61 69 73 65 64 5f 62 6c 6f 63 6b 28 32 30 |.raised_block(20| 00031860 30 2c 36 30 30 2c 38 38 30 2c 33 38 30 29 0d 1a |0,600,880,380)..| 00031870 cc 28 20 20 20 e6 20 32 32 30 2c 32 32 30 2c 36 |.( . 220,220,6| 00031880 34 3a c8 93 20 c8 90 20 32 34 30 2c 39 31 34 2c |4:.. .. 240,914,| 00031890 37 38 38 2c 34 30 0d 1a cd 36 20 20 20 f2 77 72 |788,40...6 .wr| 000318a0 69 74 65 32 28 22 50 73 63 61 6e 20 53 53 54 56 |ite2("Pscan SSTV| 000318b0 20 72 65 70 65 61 74 65 72 20 73 74 61 74 75 73 | repeater status| 000318c0 22 2c 34 32 30 2c 39 32 30 2c 34 29 0d 1a ce 44 |",420,920,4)...D| 000318d0 20 20 20 f2 77 72 69 74 65 32 28 22 31 29 20 53 | .write2("1) S| 000318e0 65 61 72 63 68 69 6e 67 20 66 6f 72 20 31 37 35 |earching for 175| 000318f0 30 20 48 7a 20 74 6f 6e 65 62 75 72 73 74 20 2e |0 Hz toneburst .| 00031900 2e 2e 2e 2e 22 2c 33 30 30 2c 38 35 30 2c 30 29 |....",300,850,0)| 00031910 0d 1a cf 44 20 20 20 f2 77 72 69 74 65 32 28 22 |...D .write2("| 00031920 32 29 20 43 68 65 63 6b 69 6e 67 20 63 68 61 6e |2) Checking chan| 00031930 6e 65 6c 20 66 6f 72 20 53 53 54 56 20 61 63 74 |nel for SSTV act| 00031940 69 76 69 74 79 20 2e 2e 22 2c 33 30 30 2c 38 30 |ivity ..",300,80| 00031950 30 2c 30 29 0d 1a d0 47 20 20 20 f2 77 72 69 74 |0,0)...G .writ| 00031960 65 32 28 22 33 29 20 53 65 6e 64 69 6e 67 20 43 |e2("3) Sending C| 00031970 57 20 69 64 65 6e 74 69 66 69 63 61 74 69 6f 6e |W identification| 00031980 20 74 65 78 74 20 2e 2e 2e 2e 2e 2e 2e 2e 2e 22 | text ........."| 00031990 2c 33 30 30 2c 37 35 30 2c 30 29 0d 1a d1 48 20 |,300,750,0)...H | 000319a0 20 20 f2 77 72 69 74 65 32 28 22 34 29 20 57 61 | .write2("4) Wa| 000319b0 69 74 69 6e 67 20 66 6f 72 20 61 20 76 61 6c 69 |iting for a vali| 000319c0 64 20 56 49 53 20 63 6f 64 65 20 2e 2e 2e 2e 2e |d VIS code .....| 000319d0 2e 2e 2e 2e 2e 2e 2e 22 2c 33 30 30 2c 37 30 30 |.......",300,700| 000319e0 2c 30 29 0d 1a d2 50 20 20 20 f2 77 72 69 74 65 |,0)...P .write| 000319f0 32 28 22 43 6c 69 63 6b 20 6c 65 66 74 20 6d 6f |2("Click left mo| 00031a00 75 73 65 20 62 75 74 74 6f 6e 20 61 74 20 61 6e |use button at an| 00031a10 79 20 74 69 6d 65 20 74 6f 20 65 78 69 74 20 72 |y time to exit r| 00031a20 65 70 65 61 74 65 72 22 2c 32 36 30 2c 36 33 30 |epeater",260,630| 00031a30 2c 34 29 0d 1a d3 1a 20 20 20 e3 20 59 3d 38 35 |,4).... . Y=85| 00031a40 34 20 b8 20 37 30 34 20 88 20 2d 35 30 0d 1a d4 |4 . 704 . -50...| 00031a50 11 20 20 20 e6 20 38 30 2c 38 30 2c 38 30 0d 1a |. . 80,80,80..| 00031a60 d5 27 20 20 20 ec 20 38 38 30 2c 59 3a ec 20 38 |.' . 880,Y:. 8| 00031a70 38 30 2c 59 2b 32 30 3a f0 20 38 35 2c 39 30 30 |80,Y+20:. 85,900| 00031a80 2c 59 2b 32 30 0d 1a d6 14 20 20 20 e6 20 32 35 |,Y+20.... . 25| 00031a90 35 2c 32 35 35 2c 32 35 35 0d 1a d7 24 20 20 20 |5,255,255...$ | 00031aa0 ec 20 38 38 30 2c 59 3a ec 20 39 30 30 2c 59 3a |. 880,Y:. 900,Y:| 00031ab0 f0 20 38 35 2c 39 30 30 2c 59 2b 32 30 0d 1a d8 |. 85,900,Y+20...| 00031ac0 08 20 20 20 ed 0d 1a d9 11 20 20 20 fb 20 31 32 |. ..... . 12| 00031ad0 38 20 c8 9c 20 30 0d 1a da 18 20 20 20 ef 20 32 |8 .. 0.... . 2| 00031ae0 38 2c 35 2c 36 30 2c 37 34 2c 33 30 3a db 0d 1a |8,5,60,74,30:...| 00031af0 db 12 20 20 20 fb 20 31 32 38 2c 32 35 35 2c 30 |.. . 128,255,0| 00031b00 0d 1a dc 16 20 20 20 f2 77 61 69 74 5f 6e 6f 5f |.... .wait_no_| 00031b10 62 75 74 74 6f 6e 0d 1a dd 04 0d 1a de 0a 20 20 |button........ | 00031b20 20 20 20 f5 0d 1a df 04 0d 1a e0 0c 20 20 20 20 | ......... | 00031b30 20 20 20 f5 0d 1a e1 04 0d 1a e2 16 20 20 20 20 | ......... | 00031b40 20 20 20 20 20 f2 6c 65 64 73 5f 6f 66 66 0d 1a | .leds_off..| 00031b50 e3 2e 20 20 20 20 20 20 20 20 20 f1 27 27 22 20 |.. .''" | 00031b60 53 65 61 72 63 68 69 6e 67 20 66 6f 72 20 74 6f |Searching for to| 00031b70 6e 65 62 75 72 73 74 20 2e 2e 2e 22 0d 1a e4 2c |neburst ..."...,| 00031b80 20 20 20 20 20 20 20 20 20 e6 20 32 35 35 2c 32 | . 255,2| 00031b90 35 35 2c 30 3a c8 93 20 c8 90 20 38 38 34 2c 38 |55,0:.. .. 884,8| 00031ba0 35 38 2c 31 32 2c 31 32 0d 1a e5 04 0d 1a e6 29 |58,12,12.......)| 00031bb0 20 20 20 20 20 20 20 20 20 74 6f 6e 65 62 75 72 | tonebur| 00031bc0 73 74 5f 72 65 73 75 6c 74 25 3d a4 74 6f 6e 65 |st_result%=.tone| 00031bd0 62 75 72 73 74 0d 1a e7 23 20 20 20 20 20 20 20 |burst...# | 00031be0 20 20 c8 8e 20 74 6f 6e 65 62 75 72 73 74 5f 72 | .. toneburst_r| 00031bf0 65 73 75 6c 74 25 20 ca 0d 1a e8 15 20 20 20 20 |esult% ..... | 00031c00 20 20 20 20 20 20 c9 20 36 34 30 20 3a 0d 1a e9 | . 640 :...| 00031c10 31 20 20 20 20 20 20 20 20 20 20 20 f2 75 70 64 |1 .upd| 00031c20 61 74 65 5f 72 74 63 28 a3 29 3a 74 24 3d 24 28 |ate_rtc(.):t$=$(| 00031c30 72 74 63 5f 62 75 66 66 65 72 25 2b 31 29 0d 1a |rtc_buffer%+1)..| 00031c40 ea 26 20 20 20 20 20 20 20 20 20 20 20 fb 20 32 |.& . 2| 00031c50 35 35 2c 32 35 35 2c 32 35 35 3a f1 27 22 20 22 |55,255,255:.'" "| 00031c60 3b 74 24 3b 0d 1a eb 18 20 20 20 20 20 20 20 20 |;t$;.... | 00031c70 20 20 20 fb 20 30 2c 32 35 35 2c 30 0d 1a ec 46 | . 0,255,0...F| 00031c80 20 20 20 20 20 20 20 20 20 20 20 f1 22 20 54 6f | ." To| 00031c90 6e 65 62 75 72 73 74 20 66 6f 75 6e 64 20 2d 20 |neburst found - | 00031ca0 63 68 65 63 6b 69 6e 67 20 66 6f 72 20 63 68 61 |checking for cha| 00031cb0 6e 6e 65 6c 20 61 63 74 69 76 69 74 79 20 2e 2e |nnel activity ..| 00031cc0 2e 22 0d 1a ed 2c 20 20 20 20 20 20 20 20 20 20 |."..., | 00031cd0 20 e6 20 30 2c 32 35 35 2c 30 3a c8 93 20 c8 90 | . 0,255,0:.. ..| 00031ce0 20 38 38 34 2c 38 35 38 2c 31 32 2c 31 32 0d 1a | 884,858,12,12..| 00031cf0 ee 2e 20 20 20 20 20 20 20 20 20 20 20 e6 20 32 |.. . 2| 00031d00 35 35 2c 32 35 35 2c 30 3a c8 93 20 c8 90 20 38 |55,255,0:.. .. 8| 00031d10 38 34 2c 38 30 38 2c 31 32 2c 31 32 0d 1a ef 1d |84,808,12,12....| 00031d20 20 20 20 20 20 20 20 20 20 20 c9 20 33 32 30 20 | . 320 | 00031d30 3a 20 f2 72 65 6e 64 3a e1 0d 1a f0 17 20 20 20 |: .rend:..... | 00031d40 20 20 20 20 20 20 20 c9 20 32 35 36 20 3a 20 e1 | . 256 : .| 00031d50 0d 1a f1 0e 20 20 20 20 20 20 20 20 20 cb 0d 1a |.... ...| 00031d60 f2 04 0d 1a f3 19 20 20 20 20 20 20 20 20 20 e7 |...... .| 00031d70 20 a4 62 75 73 79 28 33 29 20 8c 0d 1a f4 3b 20 | .busy(3) ....; | 00031d80 20 20 20 20 20 20 20 20 20 f1 27 22 20 2a 2a 2a | .'" ***| 00031d90 2a 2a 20 43 68 61 6e 6e 65 6c 20 62 75 73 79 20 |** Channel busy | 00031da0 2d 20 61 63 63 65 73 73 20 64 65 6e 69 65 64 20 |- access denied | 00031db0 2a 2a 2a 2a 2a 22 0d 1a f5 1b 20 20 20 20 20 20 |*****".... | 00031dc0 20 20 20 20 63 68 61 6e 5f 63 6c 65 61 72 25 3d | chan_clear%=| 00031dd0 a3 0d 1a f6 0e 20 20 20 20 20 20 20 20 20 cc 0d |..... ..| 00031de0 1a f7 1b 20 20 20 20 20 20 20 20 20 20 63 68 61 |... cha| 00031df0 6e 5f 63 6c 65 61 72 25 3d b9 0d 1a f8 0e 20 20 |n_clear%=..... | 00031e00 20 20 20 20 20 20 20 cd 0d 1a f9 04 0d 1a fa 21 | ........!| 00031e10 20 20 20 20 20 20 20 fd 20 63 68 61 6e 5f 63 6c | . chan_cl| 00031e20 65 61 72 25 20 84 20 72 71 75 69 74 25 0d 1a fb |ear% . rquit%...| 00031e30 04 0d 1a fc 1b 20 20 20 20 20 20 20 e7 20 72 71 |..... . rq| 00031e40 75 69 74 25 20 f2 72 65 6e 64 3a e1 0d 1a fd 04 |uit% .rend:.....| 00031e50 0d 1a fe 44 20 20 20 20 20 20 20 f1 27 22 20 43 |...D .'" C| 00031e60 68 61 6e 6e 65 6c 20 73 65 65 6d 73 20 63 6c 65 |hannel seems cle| 00031e70 61 72 20 2d 20 73 65 6e 64 69 6e 67 20 27 22 3b |ar - sending '";| 00031e80 63 77 5f 69 64 24 3b 22 27 20 6f 6e 20 43 57 20 |cw_id$;"' on CW | 00031e90 2e 2e 2e 22 0d 1a ff 28 20 20 20 20 20 20 20 e6 |..."...( .| 00031ea0 20 30 2c 32 35 35 2c 30 3a c8 93 20 c8 90 20 38 | 0,255,0:.. .. 8| 00031eb0 38 34 2c 38 30 38 2c 31 32 2c 31 32 0d 1b 00 2a |84,808,12,12...*| 00031ec0 20 20 20 20 20 20 20 e6 20 32 35 35 2c 32 35 35 | . 255,255| 00031ed0 2c 30 3a c8 93 20 c8 90 20 38 38 34 2c 37 35 38 |,0:.. .. 884,758| 00031ee0 2c 31 32 2c 31 32 0d 1b 01 19 20 20 20 20 20 20 |,12,12.... | 00031ef0 20 f2 63 77 5f 74 78 28 63 77 5f 69 64 24 29 0d | .cw_tx(cw_id$).| 00031f00 1b 02 0c 20 20 20 20 20 20 20 cd 0d 1b 03 04 0d |... ......| 00031f10 1b 04 29 20 20 20 20 20 20 20 76 69 73 5f 70 61 |..) vis_pa| 00031f20 72 61 6d 25 21 38 30 3d 31 20 3a 20 f4 20 4e 61 |ram%!80=1 : . Na| 00031f30 72 72 6f 77 20 56 49 53 0d 1b 05 24 20 20 20 20 |rrow VIS...$ | 00031f40 20 20 20 76 69 73 5f 70 61 72 61 6d 25 21 34 3d | vis_param%!4=| 00031f50 73 65 72 69 61 6c 5f 62 61 73 65 25 0d 1b 06 24 |serial_base%...$| 00031f60 20 20 20 20 20 20 20 72 25 3d 32 35 35 3a 67 25 | r%=255:g%| 00031f70 3d 32 35 35 3a 67 6f 6f 64 5f 76 69 73 25 3d a3 |=255:good_vis%=.| 00031f80 0d 1b 07 3a 20 20 20 20 20 20 20 f1 27 22 20 4e |...: .'" N| 00031f90 6f 77 20 77 61 69 74 69 6e 67 20 75 70 20 74 6f |ow waiting up to| 00031fa0 20 31 35 20 73 65 63 6f 6e 64 73 20 66 6f 72 20 | 15 seconds for | 00031fb0 61 20 56 49 53 20 2e 2e 2e 22 0d 1b 08 28 20 20 |a VIS ..."...( | 00031fc0 20 20 20 20 20 e6 20 30 2c 32 35 35 2c 30 3a c8 | . 0,255,0:.| 00031fd0 93 20 c8 90 20 38 38 34 2c 37 35 38 2c 31 32 2c |. .. 884,758,12,| 00031fe0 31 32 0d 1b 09 2a 20 20 20 20 20 20 20 e6 20 32 |12...* . 2| 00031ff0 35 35 2c 32 35 35 2c 30 3a c8 93 20 c8 90 20 38 |55,255,0:.. .. 8| 00032000 38 34 2c 37 30 38 2c 31 32 2c 31 32 0d 1b 0a 17 |84,708,12,12....| 00032010 20 20 20 20 20 20 20 20 e3 20 76 25 3d 31 20 b8 | . v%=1 .| 00032020 20 33 30 0d 1b 0b 17 20 20 20 20 20 20 20 20 d6 | 30.... .| 00032030 20 76 69 73 5f 63 6f 64 65 25 0d 1b 0c 24 20 20 | vis_code%...$ | 00032040 20 20 20 20 20 20 e7 20 21 76 69 73 5f 70 61 72 | . !vis_par| 00032050 61 6d 25 3c 3e 32 35 36 20 76 25 3d 33 30 0d 1b |am%<>256 v%=30..| 00032060 0d 3d 20 20 20 20 20 20 20 20 72 25 3d 72 25 82 |.= r%=r%.| 00032070 32 35 35 3a 67 25 3d 67 25 82 32 35 35 3a e6 20 |255:g%=g%.255:. | 00032080 72 25 2c 67 25 2c 30 3a c8 93 20 c8 90 20 38 38 |r%,g%,0:.. .. 88| 00032090 34 2c 37 30 38 2c 31 32 2c 31 32 0d 1b 0e 0d 20 |4,708,12,12.... | 000320a0 20 20 20 20 20 20 20 ed 0d 1b 0f 25 20 20 20 20 | ....% | 000320b0 20 20 20 20 e7 20 21 76 69 73 5f 70 61 72 61 6d | . !vis_param| 000320c0 25 3d 33 32 30 20 f2 72 65 6e 64 3a e1 0d 1b 10 |%=320 .rend:....| 000320d0 1f 20 20 20 20 20 20 20 20 e7 20 21 76 69 73 5f |. . !vis_| 000320e0 70 61 72 61 6d 25 3c 32 35 36 20 8c 0d 1b 11 2e |param%<256 .....| 000320f0 20 20 20 20 20 20 20 20 20 f2 76 69 73 5f 63 6f | .vis_co| 00032100 6e 76 65 72 74 5f 74 6f 5f 6d 6f 64 65 28 21 76 |nvert_to_mode(!v| 00032110 69 73 5f 70 61 72 61 6d 25 29 0d 1b 12 0d 20 20 |is_param%).... | 00032120 20 20 20 20 20 20 cc 0d 1b 13 37 20 20 20 20 20 | ....7 | 00032130 20 20 20 20 f1 27 22 20 4e 6f 20 56 49 53 20 66 | .'" No VIS f| 00032140 6f 75 6e 64 20 2d 20 72 65 74 75 72 6e 69 6e 67 |ound - returning| 00032150 20 74 6f 20 73 74 61 72 74 20 2e 2e 2e 22 0d 1b | to start ..."..| 00032160 14 0d 20 20 20 20 20 20 20 20 cd 0d 1b 15 04 0d |.. ......| 00032170 1b 16 14 20 20 20 20 20 fd 20 67 6f 6f 64 5f 76 |... . good_v| 00032180 69 73 25 0d 1b 17 04 0d 1b 18 28 20 20 20 20 20 |is%.......( | 00032190 20 20 e7 20 6d 6f 64 65 25 3d 37 30 20 84 20 6d | . mode%=70 . m| 000321a0 6f 64 65 25 3d 37 31 20 6d 6f 64 65 25 3d 31 0d |ode%=71 mode%=1.| 000321b0 1b 19 2a 20 20 20 20 20 20 20 ef 32 36 3a e6 20 |..* .26:. | 000321c0 30 2c 30 2c 30 3a c8 93 20 c8 90 20 30 2c 30 2c |0,0,0:.. .. 0,0,| 000321d0 31 32 38 30 2c 31 30 32 34 0d 1b 1a 28 20 20 20 |1280,1024...( | 000321e0 20 20 20 20 f2 72 78 5f 73 73 74 76 28 b9 29 3a | .rx_sstv(.):| 000321f0 72 65 70 65 61 74 65 72 5f 74 69 6d 65 72 25 3d |repeater_timer%=| 00032200 30 0d 1b 1b 24 20 20 20 20 20 20 20 e7 20 72 78 |0...$ . rx| 00032210 5f 70 61 72 61 6d 25 21 36 34 3d 34 38 20 f2 72 |_param%!64=48 .r| 00032220 65 6e 64 3a e1 0d 1b 1c 1a 20 20 20 20 20 20 20 |end:..... | 00032230 54 3d 91 3a f5 20 fd 20 91 2d 54 3e 31 30 30 0d |T=.:. . .-T>100.| 00032240 1b 1d 29 20 20 20 20 20 20 20 e6 20 33 32 2c 33 |..) . 32,3| 00032250 32 2c 33 32 3a c8 93 20 c8 90 20 30 2c 39 36 30 |2,32:.. .. 0,960| 00032260 2c 31 32 38 30 2c 36 34 0d 1b 1e 24 20 20 20 20 |,1280,64...$ | 00032270 20 20 20 fb 20 32 35 35 2c 32 35 35 2c 30 3a fb | . 255,255,0:.| 00032280 20 31 32 38 2b 32 31 20 c8 9c 20 30 0d 1b 1f 5b | 128+21 .. 0...[| 00032290 20 20 20 20 20 20 20 f1 20 8a 34 2c 31 29 22 43 | . .4,1)"C| 000322a0 68 65 63 6b 69 6e 67 20 63 68 61 6e 6e 65 6c 20 |hecking channel | 000322b0 66 6f 72 20 53 53 54 56 20 61 63 74 69 76 69 74 |for SSTV activit| 000322c0 79 20 62 65 66 6f 72 65 20 72 65 2d 74 72 61 6e |y before re-tran| 000322d0 73 6d 69 74 74 69 6e 67 20 70 69 63 74 75 72 65 |smitting picture| 000322e0 20 2e 2e 2e 20 22 3b 0d 1b 20 04 0d 1b 21 47 20 | ... ";.. ...!G | 000322f0 20 20 20 20 20 e3 20 77 61 69 74 69 6e 67 33 25 | . waiting3%| 00032300 3d 31 20 b8 20 33 36 20 3a 20 f4 20 57 61 69 74 |=1 . 36 : . Wait| 00032310 20 75 70 20 74 6f 20 33 20 6d 69 6e 73 20 66 6f | up to 3 mins fo| 00032320 72 20 63 68 61 6e 6e 65 6c 20 74 6f 20 63 6c 65 |r channel to cle| 00032330 61 72 0d 1b 22 19 20 20 20 20 20 20 20 e7 20 ac |ar..". . .| 00032340 20 a4 62 75 73 79 28 33 29 20 8c 0d 1b 23 19 20 | .busy(3) ...#. | 00032350 20 20 20 20 20 20 20 f2 74 6f 70 73 63 61 6c 65 | .topscale| 00032360 32 28 30 29 0d 1b 24 18 20 20 20 20 20 20 20 20 |2(0)..$. | 00032370 f2 74 78 5f 66 72 61 6d 65 28 b9 29 0d 1b 25 18 |.tx_frame(.)..%.| 00032380 20 20 20 20 20 20 20 20 77 61 69 74 69 6e 67 33 | waiting3| 00032390 25 3d 33 36 0d 1b 26 0c 20 20 20 20 20 20 20 cc |%=36..&. .| 000323a0 0d 1b 27 1a 20 20 20 20 20 20 20 54 3d 91 3a f5 |..'. T=.:.| 000323b0 20 fd 20 91 2d 54 3e 34 30 30 0d 1b 28 0c 20 20 | . .-T>400..(. | 000323c0 20 20 20 20 20 cd 0d 1b 29 0b 20 20 20 20 20 20 | ...). | 000323d0 ed 0d 1b 2a 04 0d 1b 2b 09 20 20 fd 20 30 0d 1b |...*...+. . 0..| 000323e0 2c 04 0d 1b 2d 06 20 e1 0d 1b 2e 05 20 0d 1b 2f |,...-. ..... ../| 000323f0 04 0d 1b 30 0c 20 dd 20 f2 72 65 6e 64 0d 1b 31 |...0. . .rend..1| 00032400 11 20 20 ef 32 36 3a c8 96 3a 87 3a c8 96 0d 1b |. .26:..:.:....| 00032410 32 1e 20 20 f2 64 69 73 6d 69 6e 69 3a f2 77 61 |2. .dismini:.wa| 00032420 69 74 5f 6e 6f 5f 62 75 74 74 6f 6e 0d 1b 33 1b |it_no_button..3.| 00032430 20 20 74 6f 6e 65 62 75 72 73 74 5f 72 65 73 75 | toneburst_resu| 00032440 6c 74 25 3d 33 32 30 0d 1b 34 06 20 e1 0d 1b 35 |lt%=320..4. ...5| 00032450 04 0d 1b 36 1c 20 dd 20 f2 72 65 70 65 61 74 65 |...6. . .repeate| 00032460 72 5f 62 65 61 63 6f 6e 5f 74 65 78 74 0d 1b 37 |r_beacon_text..7| 00032470 2f 20 20 21 73 70 72 25 3d 34 30 30 30 30 3a 73 |/ !spr%=40000:s| 00032480 70 72 25 21 34 3d 30 3a 73 70 72 25 21 38 3d 31 |pr%!4=0:spr%!8=1| 00032490 36 3a 73 70 72 25 21 31 32 3d 31 36 0d 1b 38 37 |6:spr%!12=16..87| 000324a0 20 20 c8 99 20 73 70 72 73 77 69 25 2c 32 35 36 | .. sprswi%,256| 000324b0 2b 31 30 2c 73 70 72 25 2c 22 3c 50 73 63 61 6e |+10,spr%,"<Pscan| 000324c0 24 44 69 72 3e 2e 50 53 73 70 72 69 74 65 73 2e |$Dir>.PSsprites.| 000324d0 54 31 22 0d 1b 39 31 20 20 73 70 72 69 74 65 5f |T1"..91 sprite_| 000324e0 6e 61 6d 65 24 3d 22 74 31 22 3a f2 74 69 6c 65 |name$="t1":.tile| 000324f0 64 5f 73 70 72 69 74 65 5f 62 61 63 6b 67 72 6f |d_sprite_backgro| 00032500 75 6e 64 20 0d 1b 3a 26 20 20 f2 74 6f 70 73 63 |und ..:& .topsc| 00032510 61 6c 65 32 28 32 29 3a 66 24 3d 22 48 6f 6d 65 |ale2(2):f$="Home| 00032520 72 74 6f 6e 2e 42 6f 6c 64 22 0d 1b 3b 23 20 20 |rton.Bold"..;# | 00032530 e6 20 30 2c 30 2c 32 35 35 3a c8 93 20 c8 90 20 |. 0,0,255:.. .. | 00032540 31 36 2c 38 37 36 2c 31 32 34 30 2c 38 0d 1b 3c |16,876,1240,8..<| 00032550 23 20 20 e6 20 30 2c 32 35 35 2c 30 3a c8 93 20 |# . 0,255,0:.. | 00032560 c8 90 20 31 36 2c 38 38 36 2c 31 32 34 30 2c 38 |.. 16,886,1240,8| 00032570 0d 1b 3d 23 20 20 e6 20 32 35 35 2c 30 2c 30 3a |..=# . 255,0,0:| 00032580 c8 93 20 c8 90 20 31 36 2c 38 39 36 2c 31 32 34 |.. .. 16,896,124| 00032590 30 2c 38 0d 1b 3e 3e 20 20 f2 62 65 61 63 6f 6e |0,8..>> .beacon| 000325a0 5f 74 65 78 74 28 66 24 2c 22 50 53 43 41 4e 20 |_text(f$,"PSCAN | 000325b0 20 52 45 50 45 41 54 45 52 20 20 49 4e 46 4f 22 | REPEATER INFO"| 000325c0 2c 31 33 30 2c 38 34 38 2c 33 32 2c 34 30 2c 36 |,130,848,32,40,6| 000325d0 29 0d 1b 3f 4e 20 20 f2 62 65 61 63 6f 6e 5f 74 |)..?N .beacon_t| 000325e0 65 78 74 28 66 24 2c 22 31 20 54 72 61 6e 73 6d |ext(f$,"1 Transm| 000325f0 69 74 20 61 20 31 37 35 30 20 48 7a 20 74 6f 6e |it a 1750 Hz ton| 00032600 65 62 75 72 73 74 22 2c 34 34 2c 37 32 30 2c 33 |eburst",44,720,3| 00032610 32 2c 33 32 2c 26 38 30 46 46 38 30 30 30 29 0d |2,32,&80FF8000).| 00032620 1b 40 4d 20 20 f2 62 65 61 63 6f 6e 5f 74 65 78 |.@M .beacon_tex| 00032630 74 28 66 24 2c 22 32 20 57 61 69 74 20 75 70 20 |t(f$,"2 Wait up | 00032640 74 6f 20 35 20 73 65 63 73 20 66 6f 72 20 43 57 |to 5 secs for CW| 00032650 20 49 44 22 2c 34 34 2c 36 30 30 2c 33 32 2c 33 | ID",44,600,32,3| 00032660 32 2c 26 30 30 46 46 38 30 30 30 29 0d 1b 41 4e |2,&00FF8000)..AN| 00032670 20 20 f2 62 65 61 63 6f 6e 5f 74 65 78 74 28 66 | .beacon_text(f| 00032680 24 2c 22 33 20 53 65 6e 64 20 53 53 54 56 20 2d |$,"3 Send SSTV -| 00032690 20 77 69 74 68 20 56 49 53 20 73 74 61 72 74 20 | with VIS start | 000326a0 2d 22 2c 34 34 2c 34 38 30 2c 33 32 2c 33 32 2c |-",44,480,32,32,| 000326b0 26 38 30 46 46 38 30 30 30 29 0d 1b 42 45 20 20 |&80FF8000)..BE | 000326c0 f2 62 65 61 63 6f 6e 5f 74 65 78 74 28 66 24 2c |.beacon_text(f$,| 000326d0 22 20 20 20 20 77 69 74 68 69 6e 20 31 35 20 73 |" within 15 s| 000326e0 65 63 6f 6e 64 73 22 2c 34 34 2c 33 39 30 2c 33 |econds",44,390,3| 000326f0 32 2c 33 32 2c 26 38 30 46 46 38 30 30 30 29 0d |2,32,&80FF8000).| 00032700 1b 43 4a 20 20 f2 62 65 61 63 6f 6e 5f 74 65 78 |.CJ .beacon_tex| 00032710 74 28 66 24 2c 22 34 20 50 69 63 74 75 72 65 20 |t(f$,"4 Picture | 00032720 77 69 6c 6c 20 62 65 20 72 65 70 6c 61 79 65 64 |will be replayed| 00032730 22 2c 34 34 2c 32 37 30 2c 33 32 2c 33 32 2c 26 |",44,270,32,32,&| 00032740 30 30 46 46 38 30 30 30 29 0d 1b 44 49 20 20 f2 |00FF8000)..DI .| 00032750 62 65 61 63 6f 6e 5f 74 65 78 74 28 66 24 2c 22 |beacon_text(f$,"| 00032760 20 20 20 20 69 6e 20 74 68 65 20 73 61 6d 65 20 | in the same | 00032770 53 53 54 56 20 6d 6f 64 65 22 2c 34 34 2c 31 38 |SSTV mode",44,18| 00032780 30 2c 33 32 2c 33 32 2c 26 30 30 46 46 38 30 30 |0,32,32,&00FF800| 00032790 30 29 0d 1b 45 24 20 20 e6 20 32 35 35 2c 32 35 |0)..E$ . 255,25| 000327a0 35 2c 30 3a c8 93 20 c8 90 20 31 36 2c 35 38 2c |5,0:.. .. 16,58,| 000327b0 31 32 34 30 2c 38 0d 1b 46 24 20 20 e6 20 30 2c |1240,8..F$ . 0,| 000327c0 32 35 35 2c 32 35 35 3a c8 93 20 c8 90 20 31 36 |255,255:.. .. 16| 000327d0 2c 36 38 2c 31 32 34 30 2c 38 0d 1b 47 24 20 20 |,68,1240,8..G$ | 000327e0 e6 20 32 35 35 2c 30 2c 32 35 35 3a c8 93 20 c8 |. 255,0,255:.. .| 000327f0 90 20 31 36 2c 37 38 2c 31 32 34 30 2c 38 0d 1b |. 16,78,1240,8..| 00032800 48 4f 20 20 57 25 3d a4 74 65 78 74 5f 77 69 64 |HO W%=.text_wid| 00032810 74 68 28 66 24 2c 22 44 45 20 20 22 2b 63 61 6c |th(f$,"DE "+cal| 00032820 6c 24 2b 22 20 20 53 53 54 56 20 20 52 45 50 45 |l$+" SSTV REPE| 00032830 41 54 45 52 22 2c 32 38 2c 33 38 29 3a 58 25 3d |ATER",28,38):X%=| 00032840 28 31 32 38 30 2d 57 25 29 2f 32 2d 38 0d 1b 49 |(1280-W%)/2-8..I| 00032850 4c 20 20 f2 62 65 61 63 6f 6e 5f 74 65 78 74 28 |L .beacon_text(| 00032860 66 24 2c 22 44 45 20 20 22 2b 63 61 6c 6c 24 2b |f$,"DE "+call$+| 00032870 22 20 20 53 53 54 56 20 20 52 45 50 45 41 54 45 |" SSTV REPEATE| 00032880 52 22 2c 58 25 2c 33 30 2c 32 38 2c 33 38 2c 26 |R",X%,30,28,38,&| 00032890 46 46 46 46 38 30 30 30 29 0d 1b 4a 0d 20 20 f2 |FFFF8000)..J. .| 000328a0 75 70 6d 69 6e 69 0d 1b 4b 06 20 e1 0d 1b 4c 04 |upmini..K. ...L.| 000328b0 0d 1b 4d 2a 20 dd 20 f2 62 65 61 63 6f 6e 5f 74 |..M* . .beacon_t| 000328c0 65 78 74 28 66 24 2c 74 24 2c 78 25 2c 79 25 2c |ext(f$,t$,x%,y%,| 000328d0 78 70 25 2c 79 70 25 2c 63 29 0d 1b 4e 19 20 20 |xp%,yp%,c)..N. | 000328e0 e3 20 58 25 3d 78 25 20 b8 20 78 25 2b 31 36 20 |. X%=x% . x%+16 | 000328f0 88 20 38 0d 1b 4f 1a 20 20 20 e3 20 59 25 3d 79 |. 8..O. . Y%=y| 00032900 25 20 b8 20 79 25 2b 31 36 20 88 20 38 0d 1b 50 |% . y%+16 . 8..P| 00032910 25 20 20 20 20 f2 77 72 69 74 65 28 66 24 2c 74 |% .write(f$,t| 00032920 24 2c 58 25 2c 59 25 2c 78 70 25 2c 79 70 25 2c |$,X%,Y%,xp%,yp%,| 00032930 30 29 0d 1b 51 08 20 20 20 ed 0d 1b 52 07 20 20 |0)..Q. ...R. | 00032940 ed 0d 1b 53 27 20 20 f2 77 72 69 74 65 28 66 24 |...S' .write(f$| 00032950 2c 74 24 2c 78 25 2b 38 2c 79 25 2b 38 2c 78 70 |,t$,x%+8,y%+8,xp| 00032960 25 2c 79 70 25 2c 63 29 0d 1b 54 06 20 e1 0d 1b |%,yp%,c)..T. ...| 00032970 55 04 0d 1b 56 1f 20 dd 20 f2 73 65 74 5f 72 74 |U...V. . .set_rt| 00032980 73 5f 6c 6f 77 5f 6f 6e 5f 61 74 6f 6d 77 69 64 |s_low_on_atomwid| 00032990 65 0d 1b 57 0d 20 20 de 20 63 25 20 36 34 0d 1b |e..W. . c% 64..| 000329a0 58 12 20 20 e3 20 50 3d 30 20 b8 20 32 20 88 32 |X. . P=0 . 2 .2| 000329b0 0d 1b 59 0c 20 20 20 50 25 3d 63 25 0d 1b 5a 0d |..Y. P%=c%..Z.| 000329c0 20 20 20 5b 4f 50 54 20 50 0d 1b 5b 17 20 20 20 | [OPT P..[. | 000329d0 53 57 49 20 22 4f 53 5f 45 6e 74 65 72 4f 53 22 |SWI "OS_EnterOS"| 000329e0 0d 1b 5c 35 20 20 20 4c 44 52 20 52 31 2c 73 65 |..\5 LDR R1,se| 000329f0 72 69 61 6c 5f 62 61 73 65 3a 4d 4f 56 20 52 30 |rial_base:MOV R0| 00032a00 2c 23 39 3a 53 54 52 42 20 52 30 2c 5b 52 31 2c |,#9:STRB R0,[R1,| 00032a10 23 26 31 30 5d 0d 1b 5d 28 20 20 20 54 45 51 50 |#&10]..]( TEQP| 00032a20 20 50 43 2c 23 30 3a 4d 4f 56 4e 56 20 52 30 2c | PC,#0:MOVNV R0,| 00032a30 52 30 3a 4d 4f 56 20 50 43 2c 52 31 34 0d 1b 5e |R0:MOV PC,R14..^| 00032a40 1a 20 20 20 2e 73 65 72 69 61 6c 5f 62 61 73 65 |. .serial_base| 00032a50 20 45 51 55 44 20 30 0d 1b 5f 08 20 20 20 5d 0d | EQUD 0.._. ].| 00032a60 1b 60 07 20 20 ed 0d 1b 61 26 20 20 21 73 65 72 |.`. ...a& !ser| 00032a70 69 61 6c 5f 62 61 73 65 3d a0 28 63 6f 6e 66 69 |ial_base=.(confi| 00032a80 67 24 28 31 33 29 29 3a d6 20 63 25 0d 1b 62 06 |g$(13)):. c%..b.| 00032a90 20 e1 0d ff | ...| 00032a94