Home » Archimedes archive » Archimedes World » AW-1996-06-Disc 2.adf » !Tables_Tables » !Tables/!Runimage
!Tables/!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 » Archimedes World » AW-1996-06-Disc 2.adf » !Tables_Tables |
Filename: | !Tables/!Runimage |
Read OK: | ✔ |
File size: | 6733 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
0REMOSCLIADFS::HardDisc4.$.CURR_NEW.DEMOPROG.!Tables.!Runimage 1oldhimem%=HIMEM:HIMEM=&12A00+(1024*5) 2PROCsortmemory 3PROCinitwimp 4PROCinitvars 5IF FNreadsysvar("TableA$EntryPt")="fromstartup" THEN 6 IF NOT FNalreadyrunning THEN 7 OSCLI"Set TableA$isrunning 1" 8 ELSE 9 PROCerror("Table Aliens is already running",0):SYS "Wimp_CloseDown",,&4B534154:END 10 ENDIF 11 PROCinitfromstartup 12ELSE 13 SYS "Wimp_SetMode",VALFNreadsysvar("TableA$Mode") 14 REM PROCsetsound 15 SYS "Sound_Volume",127 16ENDIF 17SYS"Hourglass_On" 18PROCload_icons 19PROCcreatewindows 20PROCinitwindows 21SYS"Hourglass_Off" 22PROCcreatebaricon 23PROCintiger_icns 24ON ERROR PROCerror(REPORT$+" (Internal error code "+STR$ERL+")"+CHR$0,ERR) 25REPEAT PROCpollloop:UNTIL quit% 26REM kill sound cache and module 27SYS &46182,F% 28SYS &46188,F% 29*RMkill PackSound%talien 30*RMkill PackSound 31REM PROCsetsound 32SYS "Wimp_CloseDown",,&4B534154 33OSCLI"Set TableA$isrunning 0" 34*QUIT 35END 36 37DEFFNalreadyrunning 38LOCAL A% 39LOCAL ERROR 40ONERRORLOCAL:RESTORE ERROR:=0 41SYS "OS_ReadVarVal","TableA$isrunning",blk%,256,0,0 TO ,,a% 42a$="":FORA%=0TOa%-1:a$+=CHR$(blk%?A%):NEXT 43RESTORE ERROR 44IFa$="1":=-1 45=0 46 47DEFPROCinitfromstartup 48quit%=FALSE 49LOCAL j% 50!userwimpsprs%=wimpsprsize% 51userwimpsprs%!8=16 52SYS "OS_SpriteOp",&109,userwimpsprs% 53SYS "OS_SpriteOp",&10A,userwimpsprs%,"<TableA$Dir>.Sprites" 54winctr%=1 55SYS "Wimp_OpenTemplate",,"<TableA$Dir>.Templates" 56PROCload_template("Setup") 57PROCload_template("proginfo") 58ic$=STR$~(icondefs%) 59OSCLI"LOAD icondefs "+ic$ 60U%=%10000:W%=%11111111111:R%=2:Z%=2:O%=3:M%=1:X%=4370:P%=1 61SYS &46189,"talien" TO F% 62PROCsavesound 63a$=FNconverttolower(FNreadsysvar("TableA$Dir")) 64IFINSTR(a$,"startup.$.!tables")<>0:Y%=0:ELSE:Y%=1 65ENDPROC 66 67DEFPROCload_icons 68i_sswrite%=FNlookicon("SAVEGWRITE") 69i_ssicon%=58 70i_ssok%=FNlookicon("SAVEGOK") 71i_sdwrite%=FNlookicon("SAVEAWRITE") 72i_sddir%=23 73i_sdok%=FNlookicon("SAVEAOK") 74i_unavail%=129 75i_sddrop%=87 76i_fa%(0)=FNlookicon("A0") 77i_fa%(1)=FNlookicon("A1") 78i_fa%(2)=FNlookicon("A2") 79i_fa%(3)=FNlookicon("A3") 80i_fa%(4)=FNlookicon("A4") 81i_fa%(5)=FNlookicon("A5") 82i_fa%(6)=FNlookicon("A6") 83i_fa%(7)=FNlookicon("A7") 84i_fa%(8)=FNlookicon("A8") 85i_fa%(9)=FNlookicon("A9") 86i_fa%(10)=FNlookicon("A10") 87i_fa%(11)=FNlookicon("A11") 88i_fa%(12)=FNlookicon("A12") 89i_fa%(13)=FNlookicon("TE1") 90i_fa%(14)=FNlookicon("TE2") 91i_fa%(15)=FNlookicon("TE3") 92i_fb%(0)=FNlookicon("B0") 93i_fb%(1)=FNlookicon("B1") 94i_fb%(2)=FNlookicon("B2") 95i_fb%(3)=FNlookicon("B3") 96i_fb%(4)=FNlookicon("B4") 97i_fb%(5)=FNlookicon("B5") 98i_fb%(6)=FNlookicon("B6") 99i_fb%(7)=FNlookicon("B7") 100i_fb%(8)=FNlookicon("B8") 101i_fb%(9)=FNlookicon("B9") 102i_fb%(10)=FNlookicon("B10") 103i_fb%(11)=FNlookicon("B11") 104i_fb%(12)=FNlookicon("B12") 105i_fb%(13)=FNlookicon("C1") 106FORf%=1 TO 5 107 i_ag%(f%)=FNlookicon("GL"+STR$(f%)) 108NEXT 109FORf%=1 TO 55 110 i_ag%(f%+10)=FNlookicon("AD"+STR$(f%)) 111NEXT 112i_vga%=FNlookicon("VGA") 113i_cga%=FNlookicon("CGA") 114i_sound%(0)=FNlookicon("OFF") 115i_sound%(1)=FNlookicon("QUIET") 116i_sound%(2)=FNlookicon("NORMAL") 117REM PROCicns_intiger 118ENDPROC 119 120DEFFNlookicon(iconname$) 121REM #define I_SETUP_SAVEGWRITE 4 ie ***set is 5 characters*** 122start_look%=icondefs% 123REPEAT 124 a$="":b$="" 125 start_look%=start_look%+16 126 REPEAT 127 a$=a$+CHR$(?start_look%) 128 start_look%=start_look%+1 129 UNTIL ?start_look%=32 130 start_look%=start_look%+1 131 REPEAT 132 b$=b$+CHR$(?start_look%) 133 start_look%=start_look%+1 134 UNTIL ?start_look%=10 135 start_look%=start_look%+1 136UNTIL a$=iconname$ OR start_look%>icondefs%+2358 137=VAL(b$) 138 139DEFPROCsortmemory 140indbase%=HIMEM:iptr%=indbase% 141totindsize%=7000:totwinsize%=8140 142REM totindsize%=4096:totwinsize%=6400 143winbase%=indbase%+totindsize%:wptr%=winbase% 144indstarts%=winbase%+totwinsize%:winstarts%=indstarts%+40:userwimpsprs%=winstarts%+40:wimpsprsize%=5*1024 145mc%=&16F00+(10*1024):pdbs%=&40000 146ENDPROC 147 148DEFPROCinitwimp 149SYS "Wimp_Initialise",200,&4B534154,"TableA" TO ,taskhandl% 150ONERROR PROCerror(REPORT$+" (Internal error code "+STR$ERL+")"+CHR$0,ERR):SYS "Wimp_CloseDown",,&4B534154:END 151ENDPROC 152 153DEFPROCinitvars 154DIM blk% 256,errblk% 200,menu% 1024,blk2% 256,pdbbuff% 256,palcode% 900,baricn% 12,inb% 20,outb% 20 155DIM icondefs% 2370,i_fa%(15),i_fb%(13),i_sound%(3),i_ag%(66) 156DIM firstn%(12),secondn%(12) 157A%=indbase%:B%=indbase%+1024:REM pauls 158quit%=FALSE 159!inb%=4:inb%!4=5:inb%!8=11:inb%!12=12:inb%!16=-1 160sndmax%=15 161start%=1 162PROCgetscreensize 163ENDPROC 164 165DEFPROCgetscreensize 166SYS"OS_ReadVduVariables",inb%,outb% 167xmaxec%=(((outb%!8)+1)<<(outb%!0))-1:ymaxec%=(((outb%!12)+1)<<(outb%!4))-1 168ENDPROC 169 170DEFFNconverttolower(a$) 171LOCAL l%,b$,ch%:b$="" 172FORl%=1TOLENa$ 173ch%=ASC(MID$(a$,l%,1)) 174IF(ch%>&40)AND(ch%<&5B):ch%+=&20 175b$+=CHR$ch% 176NEXT 177=b$ 178 179DEFFNreadstring(p%) 180LOCALa$:a$="":WHILE LENa$<255 AND ?p%>31 a$+=CHR$?p%:p%+=1:ENDWHILE 181=a$ 182 183DEFFNreadsysvar(a$) 184LOCAL A% 185SYS "OS_ReadVarVal",a$,blk%,256,0,0 TO ,,a%:a$="":FORA%=0TOa%-1:a$+=CHR$(blk%?A%):NEXT 186=a$ 187 188DEFFNreadvduvar(a%) 189!blk%=a%:blk%!4=-1:SYS "OS_ReadVduVariables",blk%,blk% 190=!blk% 191 192DEFPROCgeticonstate(w%,i%) 193!blk%=w%:blk%!4=i%:SYS "Wimp_GetIconState",,blk% 194ENDPROC 195 196DEFFNisselected(w%,i%) 197PROCgeticonstate(w%,i%) 198=((blk%!24)AND(1<<21))=(1<<21) 199 200DEFFNfiletype(a$) 201SYS "XOS_File",5,a$ TO a% 202=a% 203 204DEFFNleaf(f$) I%=LENf$:WHILEI%>1ANDMID$(f$,I%,1)<>"."I%-=1:ENDWHILE 205IFMID$(f$,I%,1)="."I%+=1 206=MID$(f$,I%) 207 208DEFPROCsetsavedir(dir$) 209PROCputicnstring(setw%,i_sdwrite%,dir$) 210SYS "Wimp_SetCaretPosition",-1 211LOCAL ERROR 212ONERRORLOCAL:RESTORE ERROR:ENDPROC 213OSCLI"CDIR "+dir$ 214RESTORE ERROR 215ENDPROC 216 217DEFPROCsetsavedirfromOK 218SYS "Wimp_SetCaretPosition",-1 219LOCAL ERROR 220ONERRORLOCAL:RESTORE ERROR:PROCerror("Invalid path and/or directory name. Creation of new save directory aborted.",0):ENDPROC 221OSCLI"CDIR "+FNgeticnstring(setw%,i_sdwrite%) 222RESTORE ERROR 223ENDPROC 224 225DEFFNiscgaonly 226SYS"OS_CheckModeValid",27 TO reg0%;fla% 227sc1%=(((fla%AND%10)=%10)AND(reg0%=-1)) 228IFsc1%=TRUE THEN 229 =TRUE 230ELSE 231 =FALSE 232ENDIF 233 234DEFFNisvga 235IFFNisselected(setw%,i_vga%)THEN:=-1 236=0 237 238DEFFNisopen(w%) 239!blk%=w%:SYS "Wimp_GetWindowState",,blk% 240=((blk%!32)AND(1<<16))=(1<<16) 241 242DEFPROCsavesound 243LOCAL A% 244SYS "Sound_ReadControlBlock",1,2 TO ,,voice%:voice%=voice%AND&FF:OSCLI"Set TableA$voice1 "+STR$voice% 245SYS "Sound_Configure",0,0,0 TO A%,B%,C%:OSCLI"Set TableA$totchans "+STR$A%:OSCLI"Set TableA$sampsize "+STR$B%:OSCLI"Set TableA$sampper "+STR$C% 246SYS "Sound_Volume",0 TO A%:OSCLI"Set TableA$vol "+STR$A% 247ENDPROC 248 249DEFPROCsetsound 250OSCLI"channelvoice 1 "+FNreadsysvar("TableA$voice1") 251A%=VALFNreadsysvar("TableA$totchans"):B%=VALFNreadsysvar("TableA$sampsize"):C%=VALFNreadsysvar("TableA$sampper"):SYS "Sound_Configure",A%,B%,C% 252SYS "Sound_Volume",VALFNreadsysvar("TableA$vol") 253ENDPROC 254 255DEFPROCsetmode(mode%) 256IFmode%=0 THEN 257PROCselecticn(setw%,i_cga%,TRUE):PROCselecticn(setw%,i_vga%,FALSE) 258ELSE 259PROCselecticn(setw%,i_cga%,FALSE):PROCselecticn(setw%,i_vga%,TRUE) 260ENDIF 261ENDPROC 262 263DEFPROCload_template(winname$) 264winstarts%!((winctr%-1)*4)=wptr%:indstarts%!((winctr%-1)*4)=iptr% 265SYS "Wimp_LoadTemplate",,wptr%,iptr%,indbase%+totindsize%,-1,winname$,0 TO ,,iptr% 266noicns%=wptr%!84 267FORj%=0TO(noicns%-1)*32STEP32 268 icnblk%=wptr%+88+j%:icnf%=(icnblk%!16) 269 IF NOTFNindirected(icnf%)ANDNOTFNsprite(icnf%)ANDFNtext(icnf%) THEN:icnf%=icnf%AND&FFFF0FFF 270 IF FNindirected(icnf%)ANDFNsprite(icnf%)ANDNOTFNtext(icnf%) THEN:icnblk%!24=userwimpsprs% 271 IF NOTFNindirected(icnf%)ANDFNsprite(icnf%) THEN 272 sprn$=FNreadstring(icnblk%+20) 273 SYS "XWimp_SpriteOp",40,,sprn$ TO ,,,w%,h% 274 IF(w%ORh%)=0:icnf%=icnf%OR256:$iptr%=sprn$:?(iptr%+(LENsprn$))=0:icnblk%!20=iptr%:icnblk%!24=userwimpsprs%:icnblk%!28=LENsprn$:iptr%+=LEN(sprn$)+1 275 ENDIF 276 icnblk%!16=icnf% 277NEXT 278wptr%+=88+((wptr%!84)*32):winctr%+=1 279ENDPROC 280 281DEFFNindirected(f%) 282=((f%AND256)=256) 283 284DEFFNsprite(f%) 285=((f%AND2)=2) 286 287DEFFNtext(f%) 288=((f%AND1)=1) 289 290DEFPROCcreatewindows 291SYS "Wimp_CreateWindow",,winstarts%!0 TO setw% 292SYS "Wimp_CreateWindow",,winstarts%!4 TO infow% 293REM SYS "Wimp_CreateWindow",,winstarts%!8 TO messw% 294SYS "Wimp_CloseTemplate" 295ENDPROC 296 297DEFPROCinitwindows 298LOCAL j% 299PROCputicnstring(setw%,i_sswrite%,FNreadsysvar("TableA$SaveGamePath")) 300volume%=VALFNreadsysvar("TableA$Volume"):PROCsetvolume(volume%) 301ca%=TIME:FORcb%=0TO20000:NEXT:sp%=TIME-ca% 302IFsp%>8 OSCLI"set TableA$Vga 0" 303f%=VALFNreadsysvar("TableA$Vga"):PROCsetmode(f%) 304IF FNiscgaonly THEN 305 PROCselecticn(setw%,i_cga%,TRUE):PROCselecticn(setw%,i_vga%,FALSE) 306 PROCshadeicn(setw%,i_cga%,TRUE):PROCshadeicn(setw%,i_vga%,TRUE) 307ENDIF 308REM DEMO 309PROCshadeicn(setw%,i_ag%(12),TRUE) 310PROCshadeicn(setw%,i_ag%(14),TRUE) 311PROCshadeicn(setw%,i_ag%(17),TRUE) 312PROCshadeicn(setw%,i_ag%(15),TRUE) 313REM IFY%=0:PROChidesaveareabit:ELSE:PROChideicn(setupw%,36,TRUE):PROCcreatesavedir 314IFY%=0:PROChidesaveareabit:ELSE:PROCcreatesavedir:PROChideicn(setw%,i_unavail%,TRUE) 315prelink_flag%=VALFNreadsysvar("TableA$PreLink") 316ENDPROC 317 318DEFPROCcreatesavedir 319REM xxxxx need to change minus 7 below when know what applic is called (7=!TableA) 320a$=FNreadsysvar("TableA$Dir") 321IF (Y%=1)AND(FNfiletype(a$+".sa")=1) THEN 322 SYS "XOS_File",6,a$+".sa" 323 PROCsetsavedir(LEFT$(a$,LEN(a$)-7)+"TableASave") 324ELSE 325 IF FNreadsysvar("TableA$EntryPt")="fromstartup" THEN 326 PROCputicnstring(setw%,i_sdwrite%,LEFT$(a$,LEN(a$)-7)+"TableASave") 327 ELSE 328 PROCputicnstring(setw%,i_sdwrite%,FNreadsysvar("TableA$Save")) 329 ENDIF 330ENDIF 331ENDPROC 332 333DEFPROCicns_intiger 334REM U% = a0,a1,a2,a3 335REM W% = b0,b1,b2 b3 ......mixed(b13) 336u%=0:v%=0:fact1%=0:fact2%=0:O%=0:Z%=0:R%=0:M%=0: 337FORf%=0 TO 12 338IF FNisselected(setw%,i_fa%(f%)) u%=u%+(1<<f%):fact1%=fact1%+1 339IF FNisselected(setw%,i_fb%(f%)) v%=v%+(1<<f%):fact2%=fact2%+1 340NEXT 341IF FNisselected(setw%,i_fb%(13)) v%=v%+(1<<13) 342IF FNisselected(setw%,i_fa%(13)) Z%=1 343IF FNisselected(setw%,i_fa%(14)) Z%=2 344IF FNisselected(setw%,i_fa%(15)) Z%=3 345U%=u%:W%=v% 346REM games level 347FORf%=1 TO 5 348 IF FNisselected(setw%,i_ag%(f%)):O%=f% 349NEXT 350REM introduction 351IF FNisselected(setw%,i_ag%(11)) P%=1 ELSE P%=0 352REM adventure type 353FORf%=12 TO 15 354 IF FNisselected(setw%,i_ag%(f%)) R%=f%-11 355NEXT 356REM adventure/activity button 357 IF FNisselected(setw%,i_ag%(16)) M%=1:PROChide_activ 358 IF FNisselected(setw%,i_ag%(17)) M%=2:PROChide_advent 359REM activity list 360X%=0 361FORf%=18 TO 28 362 IF FNisselected(setw%,i_ag%(f%)) X%=X%+(f%-17) 363NEXT 364 IF FNisselected(setw%,i_ag%(62)) X%=X%+(12) 365FORf%=29 TO 39 366 IF FNisselected(setw%,i_ag%(f%)) X%=X%+((f%-28)*16) 367NEXT 368 IF FNisselected(setw%,i_ag%(63)) X%=X%+((12)*16) 369FORf%=40 TO 50 370 IF FNisselected(setw%,i_ag%(f%)) X%=X%+((f%-39)*256) 371NEXT 372 IF FNisselected(setw%,i_ag%(64)) X%=X%+((12)*256) 373FORf%=51 TO 61 374 IF FNisselected(setw%,i_ag%(f%)) X%=X%+((f%-50)*4096) 375NEXT 376 IF FNisselected(setw%,i_ag%(65)) X%=X%+((12)*4096) 377ENDPROC 378 379DEFPROCintiger_icns 380REM U% = a0,a1,a2,a3 381REM W% = b0,b1,b2 b3 ......mixed(b13) 382FORf%=0 TO 12 383 IF(U% AND (1<<f%))=(1<<f%) PROCselecticn(setw%,i_fa%(f%),TRUE) ELSE PROCselecticn(setw%,i_fa%(f%),FALSE) 384NEXT 385FORf%=0 TO 13 386 IF(W% AND (1<<f%))=(1<<f%) PROCselecticn(setw%,i_fb%(f%),TRUE) ELSE PROCselecticn(setw%,i_fb%(f%),FALSE) 387NEXT 388IFZ%=1 PROCselecticn(setw%,i_fa%(13),TRUE):PROCselecticn(setw%,i_fa%(14),FALSE):PROCselecticn(setw%,i_fa%(15),FALSE) 389IFZ%=2 PROCselecticn(setw%,i_fa%(13),FALSE):PROCselecticn(setw%,i_fa%(14),TRUE):PROCselecticn(setw%,i_fa%(15),FALSE) 390IFZ%=3 PROCselecticn(setw%,i_fa%(13),FALSE):PROCselecticn(setw%,i_fa%(14),FALSE):PROCselecticn(setw%,i_fa%(15),TRUE) 391REM games level 392FORf%=1 TO 5 393 IF O%=f% PROCselecticn(setw%,i_ag%(f%),TRUE) ELSE PROCselecticn(setw%,i_ag%(f%),FALSE) 394NEXT 395REM introduction 396 IF P%=1 PROCselecticn(setw%,i_ag%(11),TRUE) ELSE PROCselecticn(setw%,i_ag%(11),FALSE) 397REM adventure type 398FORf%=12 TO 15 399 IF R%=f%-11 PROCselecticn(setw%,i_ag%(f%),TRUE) ELSE PROCselecticn(setw%,i_ag%(f%),FALSE) 400NEXT 401REM adventure/activity button 402 IF M%=1 PROCselecticn(setw%,i_ag%(16),TRUE):PROCselecticn(setw%,i_ag%(17),FALSE):PROChide_activ 403 IF M%=2 PROCselecticn(setw%,i_ag%(16),FALSE):PROCselecticn(setw%,i_ag%(17),TRUE):PROChide_advent 404REM activity list 405FORf%=18 TO 28 406 IF ((X% MOD 16)+17)=f% PROCselecticn(setw%,i_ag%(f%),TRUE) ELSE PROCselecticn(setw%,i_ag%(f%),FALSE) 407NEXT 408 IF ((X% MOD 16))=12 PROCselecticn(setw%,i_ag%(62),TRUE) ELSE PROCselecticn(setw%,i_ag%(62),FALSE) 409FORf%=29 TO 39 410 IF (((X% DIV 16) MOD 16)+28)=f% PROCselecticn(setw%,i_ag%(f%),TRUE) ELSE PROCselecticn(setw%,i_ag%(f%),FALSE) 411NEXT 412 IF ((X% DIV 16) MOD 16)=12 PROCselecticn(setw%,i_ag%(63),TRUE) ELSE PROCselecticn(setw%,i_ag%(63),FALSE) 413FORf%=40 TO 50 414 IF (((X% DIV 256) MOD 16)+39)=f% PROCselecticn(setw%,i_ag%(f%),TRUE) ELSE PROCselecticn(setw%,i_ag%(f%),FALSE) 415NEXT 416 IF ((X% DIV 256) MOD 16)=12 PROCselecticn(setw%,i_ag%(64),TRUE) ELSE PROCselecticn(setw%,i_ag%(64),FALSE) 417FORf%=51 TO 61 418 IF (((X% DIV 4096) MOD 16)+50)=f% PROCselecticn(setw%,i_ag%(f%),TRUE) ELSE PROCselecticn(setw%,i_ag%(f%),FALSE) 419NEXT 420 IF ((X% DIV 4096) MOD 16)=12 PROCselecticn(setw%,i_ag%(65),TRUE) ELSE PROCselecticn(setw%,i_ag%(65),FALSE) 421ENDPROC 422 423DEFPROChide_advent:ENDPROC 424 FORh%=11 TO 15 425 PROCshadeicn(setw%,i_ag%(h%),TRUE) 426 NEXT 427 FORh%=18 TO 65 428 PROCshadeicn(setw%,i_ag%(h%),FALSE) 429 NEXT 430ENDPROC 431 432DEFPROChide_activ 433 FORh%=11 TO 15 434REM PROCshadeicn(setw%,i_ag%(h%),FALSE) 435 NEXT 436 FORh%=18 TO 65 437 PROCshadeicn(setw%,i_ag%(h%),TRUE) 438 NEXT 439ENDPROC 440 441DEFPROCsetvolume(vol%) 442FORiv%=0TO2 443IFiv%=vol%:PROCselecticn(setw%,i_sound%(iv%),TRUE):ELSE:PROCselecticn(setw%,i_sound%(iv%),FALSE) 444NEXT 445ENDPROC 446 447DEFPROCcheckarm3 448H%!&DC=0 449t1%=TIME 450FORk%=0TO20000:NEXT 451t2%=TIME 452IF(t2%-t1%)<15:H%!&DC=1 453ENDPROC 454 455DEFPROCputicnstring(w%,i%,a$) 456!blk%=w%:blk%!4=i%:SYS "Wimp_GetIconState",,blk% 457$(blk%!28)=a$:?((blk%!28)+LENa$)=0 458blk%!8=0:blk%!12=0:SYS "Wimp_SetIconState",,blk% 459ENDPROC 460 461DEFFNgeticnstring(w%,i%) 462!blk%=w%:blk%!4=i%:SYS "Wimp_GetIconState",,blk% 463=FNreadstring(blk%!28) 464 465DEFPROCselecticn(w%,i%,f%) 466!blk%=w%:blk%!4=i%:blk%!12=(1<<21):IFf%=0 blk%!8=0:ELSE blk%!8=blk%!12 467SYS "Wimp_SetIconState",,blk% 468ENDPROC 469 470DEFPROCshadeicn(w%,i%,f%) 471!blk%=w%:blk%!4=i%:blk%!12=1<<22 472IFf% blk%!8=1<<22:ELSE:blk%!8=0 473SYS "Wimp_SetIconState",,blk% 474ENDPROC 475 476DEFPROCfadeicn(w%,i%,f%) 477LOCAL j% 478FOR j%=24TO27 479 !blk%=w%:blk%!4=i%:blk%!12=1<<j% 480 IFf% THEN 481 IFj%<=25:blk%!8=1<<j%:ELSE:blk%!8=0 482 ELSE 483 IFj%<=26:blk%!8=1<<j%:ELSE:blk%!8=0 484 ENDIF 485 SYS "Wimp_SetIconState",,blk% 486NEXT 487ENDPROC 488 489DEFPROChideicn(w%,i%,f%) 490!blk%=w%:blk%!4=i%:blk%!12=1<<23 491IFf% blk%!8=1<<23:ELSE:blk%!8=0 492SYS "Wimp_SetIconState",,blk% 493ENDPROC 494 495DEFPROChidesaveareabit 496PROChideicn(setw%,i_sdwrite%,TRUE) 497PROChideicn(setw%,i_sddir%,TRUE) 498PROChideicn(setw%,i_sdok%,TRUE) 499PROChideicn(setw%,i_sddrop%,TRUE) 500ENDPROC 501 502DEFPROCcreatebaricon 503$baricn%="iconbar" 504!blk%=-1:blk%!4=0:blk%!8=0:blk%!12=62:blk%!16=72 505blk%!20=&1000313A:blk%!24=baricn%:blk%!28=userwimpsprs%:blk%!32=LEN$baricn% 506SYS "Wimp_CreateIcon",,blk% 507ENDPROC 508 509DEFPROCpollloop 510SYS "Wimp_Poll",%110001,blk% TO event% 511CASE event% OF 512 WHEN 1: PROCredraw 513 WHEN 2: PROCopenwind(blk%) 514 WHEN 3: PROCclosewind(blk%) 515 WHEN 6: PROCclick(blk%!8,blk%!12,blk%!16) 516 WHEN 7: PROCsendsavedatamess 517 WHEN 8: PROCkeyevent 518 WHEN 9: PROCmenuclick 519 WHEN 17,18: PROCreceive 520ENDCASE 521ENDPROC 522 523DEFPROCredraw 524SYS "Wimp_RedrawWindow",,blk% TO more% 525WHILE more% 526 SYS "Wimp_GetRectangle",,blk% TO more%: 527ENDWHILE 528ENDPROC 529 530DEFPROCopenwind(b%) 531SYS "Wimp_OpenWindow",,b% 532ENDPROC 533 534DEFPROCclosewind(b%) 535SYS "Wimp_CloseWindow",,b% 536ENDPROC 537 538DEFPROCclick(but%,win%,icn%) 539CASE win% OF 540 WHEN -2: 541 CASE but% OF 542 WHEN 2:PROCmainmenu("TableA","Info,Setup...,7Quit,",!blk%,220) 543 WHEN 4:PROCstartgame 544 ENDCASE 545 WHEN setw%:PROCsetupwclick(but%,icn%) 546ENDCASE 547ENDPROC 548 549DEFPROCmainmenu(title$,menuitems$,x%,y%) 550PROCdefinemenu(title$,menuitems$) 551PROClinksubmenu(1,infow%) 552SYS "Wimp_CreateMenu",,menu%,x%-(menu%!16/2),y% 553currmenu%=-1 554ENDPROC 555 556DEFPROCdefinemenu(title$,menuitems$) 557$menu%=title$ 558menu%?12=7:menu%?13=2:menu%?14=7:menu%?15=0:menu%!20=40:menu%!24=0 559item%=menu%+28:width%=LEN(title$) 560REPEAT 561 comma%=INSTR(menuitems$,",") 562 item$=LEFT$(menuitems$,comma%-1):!item%=0 563 REPEAT:morecodes%=FALSE 564 IFLEFT$(item$,1)="0" !item%=(!item%)OR%0001:morecodes%=TRUE 565 IFLEFT$(item$,1)="1" !item%=(!item%)OR%0010:morecodes%=TRUE 566 IFLEFT$(item$,1)="2" !item%=(!item%)OR%0100:morecodes%=TRUE 567 IFLEFT$(item$,1)="3" !item%=(!item%)OR%1000:morecodes%=TRUE 568 IFLEFT$(item$,1)="7" !item%=(!item%)OR%10000000:morecodes%=TRUE 569 IFLEFT$(item$,1)="8" item%!8=&07400021:item$=RIGHT$(item$,LEN(item$)-1):ELSE:item%!8=&07000021 570 IF morecodes% item$=RIGHT$(item$,LEN(item$)-1) 571 UNTIL NOT morecodes% 572 $(item%+12)=item$ 573 IF(LEN(item$)+1)>width%:width%=LEN(item$)+1 574 item%!4=-1 575 menuitems$=MID$(menuitems$,comma%+1) 576 item%=item%+24 577UNTIL menuitems$="" 578menu%!16=width%*16 579ENDPROC 580 581DEFPROClinksubmenu(itemno%,w%) 582item%=menu%+28+((itemno%-1)*24) 583item%!4=w% 584ENDPROC 585 586DEFPROCsetupwclick(b%,i%) 587LOCAL j% 588IFb%=2:ENDPROC 589CASE i% OF 590 WHEN i_ssicon%: IFb%=64 PROCstartdrag(setw%,i%,FNleaf(FNgeticnstring(setw%,i_sswrite%))):dragging%=1 591 WHEN i_ssok%: PROCsavesetup(FNgeticnstring(setw%,i_sswrite%)) 592 WHEN i_sddrop%:PROCerror("Drop a directory icon here to change the 'saved screen' directory (alternatively drag out the directory icon given)",0) 593 WHEN i_sddir%:IFb%=64:PROCstartdrag(setw%,i%,""):dragging%=2 594REM WHEN i_sddir%:IFb%=64 AND Y%=0:PROCerror("You can only set a save driectory from a hard disk.",1) 595 WHEN i_sdok%:PROCsetsavedirfromOK 596 WHEN i_vga%:PROCsetmode(1):OSCLI"Set TableA$vga 1" 597 WHEN i_cga%:PROCsetmode(0):OSCLI"Set TableA$vga 0" 598 WHEN i_sound%(0):PROCsetvolume(0):OSCLI"Set TableA$volume 0" 599 WHEN i_sound%(1):PROCsetvolume(1):OSCLI"Set TableA$volume 1" 600 WHEN i_sound%(2):PROCsetvolume(2):OSCLI"Set TableA$volume 2" 601 WHEN i_ag%(16):PROCreset_ad_ac 602 WHEN i_ag%(17):PROCreset_ad_ac 603ENDCASE 604ENDPROC 605 606DEFPROCreset_ad_ac 607 IF FNisselected(setw%,i_ag%(17)) THEN 608 M%=2:PROChide_advent 609 ELSE 610 M%=1:PROChide_activ 611 ENDIF 612 IF FNisselected(setw%,i_ag%(16)) THEN 613 M%=1:PROChide_activ 614 ELSE 615 M%=2:PROChide_advent 616 ENDIF 617ENDPROC 618 619DEFPROCwintoscrn(b%) 620!blk2%=!b%:SYS "Wimp_GetWindowState",,blk2% 621b%!8+=(blk2%!4)-(blk2%!20) 622b%!12+=(blk2%!16)-(blk2%!24) 623b%!16+=(blk2%!4)-(blk2%!20) 624b%!20+=(blk2%!16)-(blk2%!24) 625ENDPROC 626 627DEFPROCstartdrag(w%,i%,n$) 628proposedfname$=n$ 629!blk%=w%:blk%!4=i%:SYS "Wimp_GetIconState",,blk% 630PROCwintoscrn(blk%):blk%!8-=4:blk%!12-=4:blk%!16+=4:blk%!20+=4 631blk%!4=5:blk%!24=0:blk%!28=0:blk%!32=3000:blk%!36=3000:SYS "Wimp_DragBox",,blk% 632ENDPROC 633 634DEFPROCerror(msg$,errno%) 635REMCLOSE#0 636!errblk%=99:$(errblk%+4)=msg$ 637SYS "Wimp_ReportError",errblk%,0,"TableA" 638ENDPROC 639 640DEFPROCsendsavedatamess 641SYS "Wimp_GetPointerInfo",,blk%:x%=!blk%:y%=blk%!4:w%=blk%!12:i%=blk%!16 642!blk%=56:blk%!12=0:blk%!16=1:blk%!20=w%:blk%!24=i%:blk%!28=x%:blk%!32=y%:blk%!36=1200:blk%!40=&FFF:$(blk%+44)=proposedfname$+CHR$0 643SYS "Wimp_SendMessage",17,blk%,w%:myref%=blk%!8 644ENDPROC 645 646DEFPROCkeyevent 647CASE (blk!24) OF 648 WHEN 252:quit%=TRUE:SYS "Wimp_ProcessKey",blk%!24:ENDPROC 649ENDCASE 650IF!blk%<>setw%:SYS "Wimp_ProcessKey",blk%!24:ENDPROC 651IF((blk%!24)=13)AND(((blk%!4)=i_sswrite%)OR((blk%!4)=i_sdwrite%)) THEN 652 CASE blk%!4 OF 653 WHEN i_sswrite%:PROCsavesetup(FNgeticnstring(setw%,i_sswrite%)) 654 WHEN i_sdwrite%:PROCsetsavedirfromOK 655 ENDCASE 656ELSE 657 IF((blk%!4)>=57)AND((blk%!4)<=72) THEN 658 CASE (blk%!24) OF 659 WHEN &18F: IF(blk%!4)>=58:SYS "Wimp_SetCaretPosition",setupw%,(blk%!4)-1,0,0,-1,LEN(FNgeticnstring(setupw%,(blk%!4)-1)):ELSE:SYS "Wimp_ProcessKey",blk%!24 660 WHEN &18E,13: IF(blk%!4)<=71:SYS "Wimp_SetCaretPosition",setupw%,(blk%!4)+1,0,0,-1,LEN(FNgeticnstring(setupw%,(blk%!4)+1)):ELSE:SYS "Wimp_ProcessKey",blk%!24 661 OTHERWISE:SYS "Wimp_ProcessKey",blk%!24 662 ENDCASE 663 ELSE 664 SYS "Wimp_ProcessKey",blk%!24 665 ENDIF 666ENDIF 667ENDPROC 668 669DEFPROCmenuclick 670SYS "Wimp_GetPointerInfo",,blk2% 671currmenubut%=blk2%!8 672CASE currmenu% OF 673 WHEN -1: 674 CASE !blk% OF 675REM WHEN 0: PROCcheckadjust 676 WHEN 1: PROCopensetupw:PROCcheckadjust 677 WHEN 2: quit%=TRUE 678 ENDCASE 679ENDCASE 680ENDPROC 681 682DEFPROCcheckadjust 683IFcurrmenubut%=1:SYS "Wimp_CreateMenu",,menu%,100,100 684ENDPROC 685 686DEFPROCopensetupw 687IFNOTFNisopen(setw%)THEN 688 !blk%=setw%:SYS "Wimp_GetWindowState",,blk% 689 IFxmaxec%>1272:blk%!4=INT((xmaxec%-1272)/2):ELSE:blk%!4=0 690 IFymaxec%>916:blk%!8=INT((ymaxec%-916)/2):ELSE:blk%!8=0 691 blk%!12=(blk%!4)+1272:blk%!16=(blk%!8)+916:blk%!20=0:blk%!24=0 692 blk%!28=-1:PROCopenwind(blk%) 693ENDIF 694ENDPROC 695 696DEFPROCreceive 697CASE blk%!16 OF 698 WHEN 0: quit%=TRUE 699 WHEN 2: IFdragging%=1:PROCsavesetup(FNreadstring(blk%+44)) 700 IFdragging%=2 THEN 701 IFFNleaf(FNgeticnstring(setw%,i_sdwrite%))="":PROCerror("You must give this directory a name",1):ENDPROC 702 PROCsetsavedir(FNreadstring(blk%+44)+FNleaf(FNgeticnstring(setw%,i_sdwrite%))) 703 ENDIF 704 WHEN 3: FORj%=0TO!blk%STEP4:blk2%!j%=blk%!j%:NEXT:a$=FNreadstring(blk%+44) 705 IFblk%!24=i_sddrop% THEN 706 IFFNfiletype(a$)<>2PROCerror("Only directories allowed here",1):ENDPROC 707 PROCsetsavedir(a$) 708 ELSE 709 IFFNload_file(FNreadstring(blk%+44),blk%!40) THEN 710 blk2%!12=1:blk2%!16=4:SYS "Wimp_SendMessage",19,blk2%,blk2%!20 711 ENDIF 712 ENDIF 713ENDCASE 714ENDPROC 715 716DEFPROCsavesetup(f$) 717LOCAL j% 718PROCicns_intiger 719IF INSTR(f$,".")=0 PROCerror("To save, drag the icon to a directory viewer",0):ENDPROC 720X=OPENOUT f$ 721LOCAL ERROR 722ONERRORLOCAL:RESTORE ERROR:PROCerror(REPORT$+" (Internal error code "+STR$ERL+")"+CHR$0,ERR):CLOSE#X:ENDPROC 723BPUT#X,9:BPUT#X,9:BPUT#X,0:BPUT#X,0 724BPUT#X,"TableA";:BPUT#X,0 725PRINT#X,A%,B%,C%,D%,E%,G%,H%,I%,J%,K%,L%,M%,N%,O%,P%,Q%,R%,S%,T%,U%,V%,W%,X%,Z% 726REM PRINT#X,start% 727PRINT#X,FNfindvolume 728REM PRINT#X,FNfindtaskdiff 729PRINT#X,FNfindmode 730RESTORE ERROR 731CLOSE#X 732OSCLI"SETTYPE "+f$+" ae8" 733PROCputicnstring(setw%,i_sswrite%,f$):OSCLI"Set TableA$SaveGamePath "+f$ 734SYS "Wimp_SetCaretPosition",-1 735ENDPROC 736 737DEFFNload_file(f$,t%) 738IFt%<>&AE8 PROCerror("Not a saved-game file",0):=FALSE 739SYS "Wimp_SetCaretPosition",-1 740X=OPENIN f$ 741LOCAL ERROR 742ONERRORLOCAL:RESTORE ERROR:PROCerror(REPORT$+" (Internal error code "+STR$ERL+")"+CHR$0,ERR):CLOSE#X:=FALSE 743id%=BGET#X+((BGET#X)<<8)+((BGET#X)<<16)+((BGET#X)<<24) 744FORj%=0TO11:blk%?j%=BGET#X:NEXT:blk%?12=0:creator$=FNreadstring(blk%) 745IFid%<>&909 PROCerror("I do not understand this file as it belongs to '"+creator$+"'."+STR$(id%),0):CLOSE#X:=FALSE 746REM xxxxx value 13 needs changing dep. on applic name (13=4+TableA+1) 747PTR#X=11 748INPUT#X,A%,B%,C%,D%,E%,G%,H%,I%,J%,K%,L%,M%,N%,O%,P%,Q%,R%,S%,T%,U%,V%,W%,X%,Z% 749REM INPUT#X,start%:PROCsetstart(0) 750INPUT#X,volume%:PROCsetvolume(volume%) 751REM INPUT#X,f%:PROCsettaskdiff(f%) 752INPUT#X,f%:IF NOT FNiscgaonly:PROCsetmode(f%) 753RESTORE ERROR 754CLOSE#X 755REM PROCputicnstring(setw%,i_sswrite%,f$):OSCLI"Set TableA$SaveGamePath "+f$ 756prelink_flag%=0:*Set TableA$PreLink 0 757PROCintiger_icns 758=TRUE 759 760DEFFNfindmode 761IF FNiscgaonly THEN:=0 762IFFNisselected(setw%,i_cga%):=0 763=1 764 765DEFFNfindtaskdiff 766IFFNisselected(setw%,13):=0 767IFFNisselected(setw%,14):=1 768=2 769 770DEFFNfindvolume 771IFFNisselected(setw%,i_sound%(0)):=0 772IFFNisselected(setw%,i_sound%(1)):=1 773=2 774 775DEFFNfindcontcomm 776IFFNisselected(setw%,39):=0 777=1 778 779DEFFNcheckfont(a$,A%,B%) 780LOCAL ERROR 781ON ERROR LOCAL:=0 782SYS "Font_FindFont",,a$,A%,B%,0,0 TO h% 783SYS "Font_LoseFont",h%:RESTORE ERROR 784=TRUE 785 786DEFPROCstartgame 787PROCicns_intiger 788IFM%=0:PROCerror("You must select activities or adventures.",0):ENDPROC 789IFZ%=0:PROCerror("You must select the activity length.",0):ENDPROC 790IFO%=0:PROCerror("You must select the games level.",0):ENDPROC 791IFR%=0 AND M%=1:PROCerror("You must select an adventure.",0):ENDPROC 792IF((X% AND 15)=0 OR (X% AND 240)=0 OR (X% AND 3840)=0 OR (X% AND 61440)=0) AND M%=2:PROCerror("You must select an activity or NO ACTIVITY in each column.",0):ENDPROC 793REM intro | 794P%=P% 795REM adventure type 1 - 20 - 40 - 60 etc 796Q%=(R%-1)*20 797IF R%=1 Q%=1 798IF R%>6 Q%=R%+(201-7) 799REM set activity list to 1st 800X%=X%+65536 801REM select which tables test 802L%=RND(2):J%=RND(2) 803REM set up main tables test numbers in N% 804N%=0 805FORf%=0 TO 12 806 IF(U% AND (1<<f%))=(1<<f%) firstn%(f%)=1 ELSE firstn%(f%)=0 807NEXT 808FORf%=0 TO 12 809 IF(W% AND (1<<f%))=(1<<f%) secondn%(f%)=1 ELSE secondn%(f%)=0 810NEXT 811secn%=0:firn%=0 812FORf%=1TO12 813 IFsecondn%(f%)=1:secn%+=1 814NEXT 815FORf%=1TO12 816 IFfirstn%(f%)=1:firn%+=1 817NEXT 818IFfirn%>secn% main%=secn%:FORf%=0 TO 12:firstn%(f%)=secondn%(f%):NEXT ELSE main%=firn% 819IFmain%>3 THEN 820 N%=4<<24 821ELSE 822 N%=main%<<24 823 loc%=0 824 FORf%=1 TO 12 825 IFfirstn%(f%)=1:N%=(N% OR (f%<<loc%)):loc%=loc%+8 826 NEXT 827ENDIF 828G%=0 829T%=0:I%=0 830REM ***************************************| 831IF (fact1%=1 AND firstn%(0)=1) OR (fact2%=1 AND secondn%(0)=1):PROCerror("You must have at least one number (Not Zero) selected from both factor columns.",0):ENDPROC 832IF fact1%=0 OR fact2%=0 :PROCerror("You must have at least one number selected from both factor columns.",0):ENDPROC 833IF fact1%+fact2%<4 :PROCerror("You must have at least four numbers selected from either factor columns.",0):ENDPROC 834IF X%=69905 AND M%=2:PROCerror("You must have at least one activity selected.",0):ENDPROC 835SYS "Font_ReadFontMax" TO fm%,fm1%,fm2%,fm3%,fm4%,fm5% 836IFfm2%<57600 SYS "Font_SetFontMax",fm%,fm1%,57600,57600,fm4%,fm5% 837SYS "OS_Byte",135 TO ,,a%:OSCLI"Set TableA$Mode "+STR$a% 838OSCLI"Set TableA$Save "+FNgeticnstring(setw%,i_sdwrite%) 839H%=mc% 840K%=H% 841V%=1 842a$=FNreadsysvar("TableA$EntryPt") 843h%=0 844IFY%=0 THEN 845 *ADFS 846 *MOUNT 0 847 SYS "XOS_Find",&40,"$.!Tables.Pt1.link" TO h% 848 REM PROCerror(STR$(h%),0) 849 IFh%>255 OR h%=0:PROCerror("Please place disk One in drive 0.",1):ENDPROC 850 CLOSE#h% 851ENDIF 852IFFNcheckfont("Tabloid.medium",320,360)=FALSE PROCerror("Font:'Tabloid.Medium' not found",0):ENDPROC 853IF FNiscgaonly THEN 854 V%=0:SYS "Wimp_SetMode",15:IF(FNreadvduvar(150)/1024)<160 PROCerror("Not enough memory to change screen mode",1):ENDPROC 855ELSE 856 IF FNisvga THEN 857 OSCLI"Set TableA$Vga 1" 858 V%=1:SYS "Wimp_SetMode",28:IF(FNreadvduvar(150)/1024)<300 PROCerror("Not enough memory to change screen mode",1):ENDPROC 859 ELSE 860 OSCLI"Set TableA$Vga 0" 861 V%=0:SYS "Wimp_SetMode",15:IF(FNreadvduvar(150)/1024)<160 PROCerror("Not enough memory to change screen mode",1):ENDPROC 862 ENDIF 863ENDIF 864SYS "Wimp_CloseDown",,&4B534154 865PROCsavesound 866volume%=FNfindvolume 867CASE volume% OF 868 WHEN 0:SYS "Sound_Volume",1 869 WHEN 1,2,3:SYS "Sound_Volume",127-(16*(3-volume%)) 870ENDCASE 871HIMEM=oldhimem% 872IF FNiscgaonly THEN 873MODE12 874ELSE 875IFFNisvga:MODE27:ELSE:MODE12 876ENDIF 877DIM scale% 16,swap%(20,2),input_disk_name% 32 878vga%=V% 879intro$="no" 880IFINSTR(a$,"fromstartup"):PROCget_fonts:PROCget_sounds:intro$="yes" 881OSCLI"Set TableA$EntryPt fromprog" 882memtop%=&7AF00 883A%=memtop%:PAGE=A% 884A%=1:CHAIN"<TableA$Dir>.Pt1.prelink" 885END 886 887DEFPROCget_sounds 888REM open a Packsound file 889SYS &46181,F%,"<TableA$Dir>.SPackFile",230 890REM Ensure sounds 891SYS &46184,F%,"aliensnear" 892SYS &46184,F%,"cart2" 893SYS &46184,F%,"clang2" 894SYS &46184,F%,"computer1" 895SYS &46184,F%,"explode3" 896SYS &46184,F%,"explode4" 897SYS &46184,F%,"fire!" 898SYS &46184,F%,"fire_bubb2" 899SYS &46184,F%,"growl2" 900SYS &46184,F%,"inside_ufo" 901SYS &46184,F%,"invading2" 902SYS &46184,F%,"laser_door" 903SYS &46184,F%,"ok2" 904SYS &46184,F%,"robots" 905SYS &46184,F%,"saturn5" 906SYS &46184,F%,"scifi3" 907SYS &46184,F%,"wind" 908SYS &46184,F%,"wrong2" 909SYS &46184,F%,"arrr" 910SYS &46184,F%,"plop" 911SYS &46184,F%,"clang_lock" 912SYS &46184,F%,"fire3" 913SYS &46184,F%,"crack2" 914SYS &46184,F%,"aaarh2" 915ENDPROC 916 917DEFPROCget_fonts 918*FX112,2 919PROCpri(0,500,1,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,'!?-:()+=") 920*FX112,1 921ENDPROC 922 923DEFPROCpri(x%,y%,si%,a$) 924SYS"Font_FindFont",,"TABLOID.MEDIUM",320,360,0,0 TO han% 925SYS"Font_SetFontColours",0,0,1,2 926VDU0,0,0,0,0,0,0,0 927SYS"Font_Paint",,a$,16,x%,y% 928SYS"Font_LoseFont",han% 929ENDPROC 930 931DEFPROCpalette 932VDU19,1,24,136,136,136 933LOCALp%,r%,g%,b% 934RESTORE+7 935FORp%=0TO15 936READr%,g%,b%:COLOURp%,r%,g%,b% 937NEXT 938VDU19,1,24,0,0,0;0; 939ENDPROC 940 941DATA 255,255,255,187,187,187,119,119,119,0,0,0 942DATA 255,255,0,0,50,255,187,187,187,0,153,0 943DATA 224,224,224,164,164,164,0,0,0,255,0,0 944DATA 136,102,0,0,204,0,0,153,0,0,119,0
;�ADFS::HardDisc4.$.CURR_NEW.DEMOPROG.!Tables.!Runimage !oldhimem%=�:�=&12A00+(1024*5) �sortmemory �initwimp �initvars 3� �readsysvar("TableA$EntryPt")="fromstartup" � � � �alreadyrunning � ! �"Set TableA$isrunning 1" � T �error("Table Aliens is already running",0):ș "Wimp_CloseDown",,&4B534154:� � �initfromstartup � 3 ș "Wimp_SetMode",��readsysvar("TableA$Mode") � PROCsetsound ș "Sound_Volume",127 � ș"Hourglass_On" �load_icons �createwindows �initwindows ș"Hourglass_Off" �createbaricon �intiger_icns 7� � �error(�$+" (Internal error code "+Þ+")"+�0,�) � �pollloop:� quit% !� kill sound cache and module ș &46182,F% ș &46188,F% *RMkill PackSound%talien *RMkill PackSound � PROCsetsound "ș "Wimp_CloseDown",,&4B534154 !�"Set TableA$isrunning 0" " *QUIT #� $ %ݤalreadyrunning &� A% '� � (��:� �:=0 )=ș "OS_ReadVarVal","TableA$isrunning",blk%,256,0,0 � ,,a% *%a$="":�A%=0�a%-1:a$+=�(blk%?A%):� +� � ,�a$="1":=-1 -=0 . /��initfromstartup 0quit%=� 1� j% 2!userwimpsprs%=wimpsprsize% 3userwimpsprs%!8=16 4'ș "OS_SpriteOp",&109,userwimpsprs% 5>ș "OS_SpriteOp",&10A,userwimpsprs%,"<TableA$Dir>.Sprites" 6 winctr%=1 74ș "Wimp_OpenTemplate",,"<TableA$Dir>.Templates" 8�load_template("Setup") 9�load_template("proginfo") :ic$=�~(icondefs%) ;�"LOAD icondefs "+ic$ <>U%=%10000:W%=%11111111111:R%=2:Z%=2:O%=3:M%=1:X%=4370:P%=1 =ș &46189,"talien" � F% >�savesound ?1a$=�converttolower(�readsysvar("TableA$Dir")) @,�a$,"startup.$.!tables")<>0:Y%=0:�:Y%=1 A� B C��load_icons D&i_sswrite%=�lookicon("SAVEGWRITE") Ei_ssicon%=58 F i_ssok%=�lookicon("SAVEGOK") G&i_sdwrite%=�lookicon("SAVEAWRITE") Hi_sddir%=23 I i_sdok%=�lookicon("SAVEAOK") Ji_unavail%=129 Ki_sddrop%=87 Li_fa%(0)=�lookicon("A0") Mi_fa%(1)=�lookicon("A1") Ni_fa%(2)=�lookicon("A2") Oi_fa%(3)=�lookicon("A3") Pi_fa%(4)=�lookicon("A4") Qi_fa%(5)=�lookicon("A5") Ri_fa%(6)=�lookicon("A6") Si_fa%(7)=�lookicon("A7") Ti_fa%(8)=�lookicon("A8") Ui_fa%(9)=�lookicon("A9") Vi_fa%(10)=�lookicon("A10") Wi_fa%(11)=�lookicon("A11") Xi_fa%(12)=�lookicon("A12") Yi_fa%(13)=�lookicon("TE1") Zi_fa%(14)=�lookicon("TE2") [i_fa%(15)=�lookicon("TE3") \i_fb%(0)=�lookicon("B0") ]i_fb%(1)=�lookicon("B1") ^i_fb%(2)=�lookicon("B2") _i_fb%(3)=�lookicon("B3") `i_fb%(4)=�lookicon("B4") ai_fb%(5)=�lookicon("B5") bi_fb%(6)=�lookicon("B6") ci_fb%(7)=�lookicon("B7") di_fb%(8)=�lookicon("B8") ei_fb%(9)=�lookicon("B9") fi_fb%(10)=�lookicon("B10") gi_fb%(11)=�lookicon("B11") hi_fb%(12)=�lookicon("B12") ii_fb%(13)=�lookicon("C1") j �f%=1 � 5 k$ i_ag%(f%)=�lookicon("GL"+�(f%)) l� m�f%=1 � 55 n' i_ag%(f%+10)=�lookicon("AD"+�(f%)) o� pi_vga%=�lookicon("VGA") qi_cga%=�lookicon("CGA") r i_sound%(0)=�lookicon("OFF") s"i_sound%(1)=�lookicon("QUIET") t#i_sound%(2)=�lookicon("NORMAL") u� PROCicns_intiger v� w xݤlookicon(iconname$) y@� #define I_SETUP_SAVEGWRITE 4 ie ***set is 5 characters*** zstart_look%=icondefs% {� | a$="":b$="" }! start_look%=start_look%+16 ~ � a$=a$+�(?start_look%) �" start_look%=start_look%+1 � � ?start_look%=32 � start_look%=start_look%+1 � � � b$=b$+�(?start_look%) �" start_look%=start_look%+1 � � ?start_look%=10 � start_look%=start_look%+1 �/� a$=iconname$ � start_look%>icondefs%+2358 � =�(b$) � ���sortmemory �indbase%=�:iptr%=indbase% �%totindsize%=7000:totwinsize%=8140 �'� totindsize%=4096:totwinsize%=6400 �0winbase%=indbase%+totindsize%:wptr%=winbase% �lindstarts%=winbase%+totwinsize%:winstarts%=indstarts%+40:userwimpsprs%=winstarts%+40:wimpsprsize%=5*1024 �%mc%=&16F00+(10*1024):pdbs%=&40000 �� � ���initwimp �=ș "Wimp_Initialise",200,&4B534154,"TableA" � ,taskhandl% �W� �error(�$+" (Internal error code "+Þ+")"+�0,�):ș "Wimp_CloseDown",,&4B534154:� �� � ���initvars �e� blk% 256,errblk% 200,menu% 1024,blk2% 256,pdbbuff% 256,palcode% 900,baricn% 12,inb% 20,outb% 20 �>� icondefs% 2370,i_fa%(15),i_fb%(13),i_sound%(3),i_ag%(66) �� firstn%(12),secondn%(12) �(A%=indbase%:B%=indbase%+1024:� pauls �quit%=� �4!inb%=4:inb%!4=5:inb%!8=11:inb%!12=12:inb%!16=-1 �sndmax%=15 �start%=1 ��getscreensize �� � ���getscreensize �&ș"OS_ReadVduVariables",inb%,outb% �Nxmaxec%=(((outb%!8)+1)<<(outb%!0))-1:ymaxec%=(((outb%!12)+1)<<(outb%!4))-1 �� � �ݤconverttolower(a$) �� l%,b$,ch%:b$="" � �l%=1��a$ �ch%=�(�a$,l%,1)) �!�(ch%>&40)�(ch%<&5B):ch%+=&20 �b$+=�ch% �� �=b$ � �ݤreadstring(p%) �2�a$:a$="":ȕ �a$<255 � ?p%>31 a$+=�?p%:p%+=1:� �=a$ � �ݤreadsysvar(a$) �� A% �Oș "OS_ReadVarVal",a$,blk%,256,0,0 � ,,a%:a$="":�A%=0�a%-1:a$+=�(blk%?A%):� �=a$ � �ݤreadvduvar(a%) �9!blk%=a%:blk%!4=-1:ș "OS_ReadVduVariables",blk%,blk% � =!blk% � ���geticonstate(w%,i%) �3!blk%=w%:blk%!4=i%:ș "Wimp_GetIconState",,blk% �� � �ݤisselected(w%,i%) ��geticonstate(w%,i%) � =((blk%!24)�(1<<21))=(1<<21) � �ݤfiletype(a$) �ș "XOS_File",5,a$ � a% �=a% � �2ݤleaf(f$) I%=�f$:ȕI%>1��f$,I%,1)<>"."I%-=1:� ��f$,I%,1)="."I%+=1 �=�f$,I%) � ���setsavedir(dir$) �(�puticnstring(setw%,i_sdwrite%,dir$) �!ș "Wimp_SetCaretPosition",-1 �� � � ��:� �:� ��"CDIR "+dir$ �� � �� � ���setsavedirfromOK �!ș "Wimp_SetCaretPosition",-1 �� � �e��:� �:�error("Invalid path and/or directory name. Creation of new save directory aborted.",0):� �,�"CDIR "+�geticnstring(setw%,i_sdwrite%) �� � �� � �ݤiscgaonly �)ș"OS_CheckModeValid",27 � reg0%;fla% �&sc1%=(((fla%�%10)=%10)�(reg0%=-1)) � �sc1%=� � � =� �� � =� �� � �ݤisvga �#�isselected(setw%,i_vga%)�:=-1 �=0 � �ݤisopen(w%) �+!blk%=w%:ș "Wimp_GetWindowState",,blk% � =((blk%!32)�(1<<16))=(1<<16) � ���savesound �� A% �^ș "Sound_ReadControlBlock",1,2 � ,,voice%:voice%=voice%�&FF:�"Set TableA$voice1 "+�voice% �|ș "Sound_Configure",0,0,0 � A%,B%,C%:�"Set TableA$totchans "+�A%:�"Set TableA$sampsize "+�B%:�"Set TableA$sampper "+�C% �3ș "Sound_Volume",0 � A%:�"Set TableA$vol "+�A% �� � ���setsound �3�"channelvoice 1 "+�readsysvar("TableA$voice1") ��A%=��readsysvar("TableA$totchans"):B%=��readsysvar("TableA$sampsize"):C%=��readsysvar("TableA$sampper"):ș "Sound_Configure",A%,B%,C% �0ș "Sound_Volume",��readsysvar("TableA$vol") �� � ���setmode(mode%) �mode%=0 � 9�selecticn(setw%,i_cga%,�):�selecticn(setw%,i_vga%,�) � 9�selecticn(setw%,i_cga%,�):�selecticn(setw%,i_vga%,�) � � ��load_template(winname$) Ewinstarts%!((winctr%-1)*4)=wptr%:indstarts%!((winctr%-1)*4)=iptr% Tș "Wimp_LoadTemplate",,wptr%,iptr%,indbase%+totindsize%,-1,winname$,0 � ,,iptr% noicns%=wptr%!84 �j%=0�(noicns%-1)*32�32 + icnblk%=wptr%+88+j%:icnf%=(icnblk%!16) O � ��indirected(icnf%)���sprite(icnf%)��text(icnf%) �:icnf%=icnf%�&FFFF0FFF Q � �indirected(icnf%)��sprite(icnf%)���text(icnf%) �:icnblk%!24=userwimpsprs% + � ��indirected(icnf%)��sprite(icnf%) � # sprn$=�readstring(icnblk%+20) . ș "XWimp_SpriteOp",40,,sprn$ � ,,,w%,h% � �(w%�h%)=0:icnf%=icnf%�256:$iptr%=sprn$:?(iptr%+(�sprn$))=0:icnblk%!20=iptr%:icnblk%!24=userwimpsprs%:icnblk%!28=�sprn$:iptr%+=�(sprn$)+1 � icnblk%!16=icnf% � (wptr%+=88+((wptr%!84)*32):winctr%+=1 � ݤindirected(f%) =((f%�256)=256) ݤsprite(f%) =((f%�2)=2) ݤtext(f%) =((f%�1)=1) ! "��createwindows #0ș "Wimp_CreateWindow",,winstarts%!0 � setw% $1ș "Wimp_CreateWindow",,winstarts%!4 � infow% %5� SYS "Wimp_CreateWindow",,winstarts%!8 TO messw% &ș "Wimp_CloseTemplate" '� ( )��initwindows *� j% +F�puticnstring(setw%,i_sswrite%,�readsysvar("TableA$SaveGamePath")) ,=volume%=��readsysvar("TableA$Volume"):�setvolume(volume%) -"ca%=�:�cb%=0�20000:�:sp%=�-ca% .�sp%>8 �"set TableA$Vga 0" /.f%=��readsysvar("TableA$Vga"):�setmode(f%) 0� �iscgaonly � 1; �selecticn(setw%,i_cga%,�):�selecticn(setw%,i_vga%,�) 29 �shadeicn(setw%,i_cga%,�):�shadeicn(setw%,i_vga%,�) 3� 4 � DEMO 5 �shadeicn(setw%,i_ag%(12),�) 6 �shadeicn(setw%,i_ag%(14),�) 7 �shadeicn(setw%,i_ag%(17),�) 8 �shadeicn(setw%,i_ag%(15),�) 9T� IFY%=0:PROChidesaveareabit:ELSE:PROChideicn(setupw%,36,TRUE):PROCcreatesavedir :H�Y%=0:�hidesaveareabit:�:�createsavedir:�hideicn(setw%,i_unavail%,�) ;0prelink_flag%=��readsysvar("TableA$PreLink") <� = >��createsavedir ?T� xxxxx need to change minus 7 below when know what applic is called (7=!TableA) @ a$=�readsysvar("TableA$Dir") A&� (Y%=1)�(�filetype(a$+".sa")=1) � B ș "XOS_File",6,a$+".sa" C+ �setsavedir(�a$,�(a$)-7)+"TableASave") D� E4 � �readsysvar("TableA$EntryPt")="fromstartup" � F? �puticnstring(setw%,i_sdwrite%,�a$,�(a$)-7)+"TableASave") G � H@ �puticnstring(setw%,i_sdwrite%,�readsysvar("TableA$Save")) I � J� K� L M��icns_intiger N� U% = a0,a1,a2,a3 O'� W% = b0,b1,b2 b3 ......mixed(b13) P4u%=0:v%=0:fact1%=0:fact2%=0:O%=0:Z%=0:R%=0:M%=0: Q�f%=0 � 12 R@� �isselected(setw%,i_fa%(f%)) u%=u%+(1<<f%):fact1%=fact1%+1 S@� �isselected(setw%,i_fb%(f%)) v%=v%+(1<<f%):fact2%=fact2%+1 T� U0� �isselected(setw%,i_fb%(13)) v%=v%+(1<<13) V'� �isselected(setw%,i_fa%(13)) Z%=1 W'� �isselected(setw%,i_fa%(14)) Z%=2 X'� �isselected(setw%,i_fa%(15)) Z%=3 YU%=u%:W%=v% Z� games level [ �f%=1 � 5 \* � �isselected(setw%,i_ag%(f%)):O%=f% ]� ^� introduction _.� �isselected(setw%,i_ag%(11)) P%=1 � P%=0 `� adventure type a�f%=12 � 15 b- � �isselected(setw%,i_ag%(f%)) R%=f%-11 c� d� adventure/activity button e5 � �isselected(setw%,i_ag%(16)) M%=1:�hide_activ f6 � �isselected(setw%,i_ag%(17)) M%=2:�hide_advent g� activity list hX%=0 i�f%=18 � 28 j2 � �isselected(setw%,i_ag%(f%)) X%=X%+(f%-17) k� l/ � �isselected(setw%,i_ag%(62)) X%=X%+(12) m�f%=29 � 39 n7 � �isselected(setw%,i_ag%(f%)) X%=X%+((f%-28)*16) o� p4 � �isselected(setw%,i_ag%(63)) X%=X%+((12)*16) q�f%=40 � 50 r8 � �isselected(setw%,i_ag%(f%)) X%=X%+((f%-39)*256) s� t5 � �isselected(setw%,i_ag%(64)) X%=X%+((12)*256) u�f%=51 � 61 v9 � �isselected(setw%,i_ag%(f%)) X%=X%+((f%-50)*4096) w� x6 � �isselected(setw%,i_ag%(65)) X%=X%+((12)*4096) y� z {��intiger_icns |� U% = a0,a1,a2,a3 }'� W% = b0,b1,b2 b3 ......mixed(b13) ~�f%=0 � 12 [ �(U% � (1<<f%))=(1<<f%) �selecticn(setw%,i_fa%(f%),�) � �selecticn(setw%,i_fa%(f%),�) �� ��f%=0 � 13 �[ �(W% � (1<<f%))=(1<<f%) �selecticn(setw%,i_fb%(f%),�) � �selecticn(setw%,i_fb%(f%),�) �� �c�Z%=1 �selecticn(setw%,i_fa%(13),�):�selecticn(setw%,i_fa%(14),�):�selecticn(setw%,i_fa%(15),�) �c�Z%=2 �selecticn(setw%,i_fa%(13),�):�selecticn(setw%,i_fa%(14),�):�selecticn(setw%,i_fa%(15),�) �c�Z%=3 �selecticn(setw%,i_fa%(13),�):�selecticn(setw%,i_fa%(14),�):�selecticn(setw%,i_fa%(15),�) �� games level � �f%=1 � 5 �K � O%=f% �selecticn(setw%,i_ag%(f%),�) � �selecticn(setw%,i_ag%(f%),�) �� �� introduction �J � P%=1 �selecticn(setw%,i_ag%(11),�) � �selecticn(setw%,i_ag%(11),�) �� adventure type ��f%=12 � 15 �N � R%=f%-11 �selecticn(setw%,i_ag%(f%),�) � �selecticn(setw%,i_ag%(f%),�) �� �� adventure/activity button �T � M%=1 �selecticn(setw%,i_ag%(16),�):�selecticn(setw%,i_ag%(17),�):�hide_activ �U � M%=2 �selecticn(setw%,i_ag%(16),�):�selecticn(setw%,i_ag%(17),�):�hide_advent �� activity list ��f%=18 � 28 �W � ((X% � 16)+17)=f% �selecticn(setw%,i_ag%(f%),�) � �selecticn(setw%,i_ag%(f%),�) �� �T � ((X% � 16))=12 �selecticn(setw%,i_ag%(62),�) � �selecticn(setw%,i_ag%(62),�) ��f%=29 � 39 �^ � (((X% � 16) � 16)+28)=f% �selecticn(setw%,i_ag%(f%),�) � �selecticn(setw%,i_ag%(f%),�) �� �Y � ((X% � 16) � 16)=12 �selecticn(setw%,i_ag%(63),�) � �selecticn(setw%,i_ag%(63),�) ��f%=40 � 50 �_ � (((X% � 256) � 16)+39)=f% �selecticn(setw%,i_ag%(f%),�) � �selecticn(setw%,i_ag%(f%),�) �� �Z � ((X% � 256) � 16)=12 �selecticn(setw%,i_ag%(64),�) � �selecticn(setw%,i_ag%(64),�) ��f%=51 � 61 �` � (((X% � 4096) � 16)+50)=f% �selecticn(setw%,i_ag%(f%),�) � �selecticn(setw%,i_ag%(f%),�) �� �[ � ((X% � 4096) � 16)=12 �selecticn(setw%,i_ag%(65),�) � �selecticn(setw%,i_ag%(65),�) �� � ���hide_advent:� � �h%=11 � 15 �$ �shadeicn(setw%,i_ag%(h%),�) � � � �h%=18 � 65 �$ �shadeicn(setw%,i_ag%(h%),�) � � �� � ���hide_activ � �h%=11 � 15 �,� PROCshadeicn(setw%,i_ag%(h%),FALSE) � � � �h%=18 � 65 �$ �shadeicn(setw%,i_ag%(h%),�) � � �� � ���setvolume(vol%) ��iv%=0�2 �S�iv%=vol%:�selecticn(setw%,i_sound%(iv%),�):�:�selecticn(setw%,i_sound%(iv%),�) �� �� � ���checkarm3 �H%!&DC=0 � t1%=� ��k%=0�20000:� � t2%=� ��(t2%-t1%)<15:H%!&DC=1 �� � ���puticnstring(w%,i%,a$) �3!blk%=w%:blk%!4=i%:ș "Wimp_GetIconState",,blk% �$$(blk%!28)=a$:?((blk%!28)+�a$)=0 �3blk%!8=0:blk%!12=0:ș "Wimp_SetIconState",,blk% �� � �ݤgeticnstring(w%,i%) �3!blk%=w%:blk%!4=i%:ș "Wimp_GetIconState",,blk% �=�readstring(blk%!28) � ���selecticn(w%,i%,f%) �F!blk%=w%:blk%!4=i%:blk%!12=(1<<21):�f%=0 blk%!8=0:� blk%!8=blk%!12 � ș "Wimp_SetIconState",,blk% �� � ���shadeicn(w%,i%,f%) �$!blk%=w%:blk%!4=i%:blk%!12=1<<22 ��f% blk%!8=1<<22:�:blk%!8=0 � ș "Wimp_SetIconState",,blk% �� � ���fadeicn(w%,i%,f%) �� j% �� j%=24�27 �% !blk%=w%:blk%!4=i%:blk%!12=1<<j% � �f% � �% �j%<=25:blk%!8=1<<j%:�:blk%!8=0 � � �% �j%<=26:blk%!8=1<<j%:�:blk%!8=0 � � �! ș "Wimp_SetIconState",,blk% �� �� � ���hideicn(w%,i%,f%) �$!blk%=w%:blk%!4=i%:blk%!12=1<<23 ��f% blk%!8=1<<23:�:blk%!8=0 � ș "Wimp_SetIconState",,blk% �� � ���hidesaveareabit � �hideicn(setw%,i_sdwrite%,�) ��hideicn(setw%,i_sddir%,�) ��hideicn(setw%,i_sdok%,�) ��hideicn(setw%,i_sddrop%,�) �� � ���createbaricon �$baricn%="iconbar" �4!blk%=-1:blk%!4=0:blk%!8=0:blk%!12=62:blk%!16=72 �Mblk%!20=&1000313A:blk%!24=baricn%:blk%!28=userwimpsprs%:blk%!32=�$baricn% �ș "Wimp_CreateIcon",,blk% �� � ���pollloop �(ș "Wimp_Poll",%110001,blk% � event% �Ȏ event% � � 1: �redraw � 2: �openwind(blk%) � 3: �closewind(blk%) ) � 6: �click(blk%!8,blk%!12,blk%!16) � 7: �sendsavedatamess � 8: �keyevent � 9: �menuclick � 17,18: �receive � � ��redraw (ș "Wimp_RedrawWindow",,blk% � more% ȕ more% + ș "Wimp_GetRectangle",,blk% � more%: � � ��openwind(b%) ș "Wimp_OpenWindow",,b% � ��closewind(b%) ș "Wimp_CloseWindow",,b% � ��click(but%,win%,icn%) Ȏ win% � � -2: Ȏ but% � ? � 2:�mainmenu("TableA","Info,Setup...,7Quit,",!blk%,220) � 4:�startgame � !$ � setw%:�setupwclick(but%,icn%) "� #� $ %'��mainmenu(title$,menuitems$,x%,y%) &"�definemenu(title$,menuitems$) '�linksubmenu(1,infow%) (2ș "Wimp_CreateMenu",,menu%,x%-(menu%!16/2),y% )currmenu%=-1 *� + ,#��definemenu(title$,menuitems$) -$menu%=title$ .Fmenu%?12=7:menu%?13=2:menu%?14=7:menu%?15=0:menu%!20=40:menu%!24=0 /#item%=menu%+28:width%=�(title$) 0� 1 comma%=�menuitems$,",") 2) item$=�menuitems$,comma%-1):!item%=0 3 �:morecodes%=� 47 �item$,1)="0" !item%=(!item%)�%0001:morecodes%=� 57 �item$,1)="1" !item%=(!item%)�%0010:morecodes%=� 67 �item$,1)="2" !item%=(!item%)�%0100:morecodes%=� 77 �item$,1)="3" !item%=(!item%)�%1000:morecodes%=� 8; �item$,1)="7" !item%=(!item%)�%10000000:morecodes%=� 9S �item$,1)="8" item%!8=&07400021:item$=�item$,�(item$)-1):�:item%!8=&07000021 :+ � morecodes% item$=�item$,�(item$)-1) ; � � morecodes% < $(item%+12)=item$ =+ �(�(item$)+1)>width%:width%=�(item$)+1 > item%!4=-1 ?% menuitems$=�menuitems$,comma%+1) @ item%=item%+24 A� menuitems$="" Bmenu%!16=width%*16 C� D E��linksubmenu(itemno%,w%) F#item%=menu%+28+((itemno%-1)*24) Gitem%!4=w% H� I J��setupwclick(b%,i%) K� j% L�b%=2:� MȎ i% � Na � i_ssicon%: �b%=64 �startdrag(setw%,i%,�leaf(�geticnstring(setw%,i_sswrite%))):dragging%=1 O< � i_ssok%: �savesetup(�geticnstring(setw%,i_sswrite%)) P� � i_sddrop%:�error("Drop a directory icon here to change the 'saved screen' directory (alternatively drag out the directory icon given)",0) Q; � i_sddir%:�b%=64:�startdrag(setw%,i%,""):dragging%=2 Rh� WHEN i_sddir%:IFb%=64 AND Y%=0:PROCerror("You can only set a save driectory from a hard disk.",1) S! � i_sdok%:�setsavedirfromOK T. � i_vga%:�setmode(1):�"Set TableA$vga 1" U. � i_cga%:�setmode(0):�"Set TableA$vga 0" V8 � i_sound%(0):�setvolume(0):�"Set TableA$volume 0" W8 � i_sound%(1):�setvolume(1):�"Set TableA$volume 1" X8 � i_sound%(2):�setvolume(2):�"Set TableA$volume 2" Y � i_ag%(16):�reset_ad_ac Z � i_ag%(17):�reset_ad_ac [� \� ] ^��reset_ad_ac _& � �isselected(setw%,i_ag%(17)) � ` M%=2:�hide_advent a � b M%=1:�hide_activ c � d& � �isselected(setw%,i_ag%(16)) � e M%=1:�hide_activ f � g M%=2:�hide_advent h � i� j k��wintoscrn(b%) l.!blk2%=!b%:ș "Wimp_GetWindowState",,blk2% mb%!8+=(blk2%!4)-(blk2%!20) n b%!12+=(blk2%!16)-(blk2%!24) ob%!16+=(blk2%!4)-(blk2%!20) p b%!20+=(blk2%!16)-(blk2%!24) q� r s��startdrag(w%,i%,n$) tproposedfname$=n$ u3!blk%=w%:blk%!4=i%:ș "Wimp_GetIconState",,blk% v?�wintoscrn(blk%):blk%!8-=4:blk%!12-=4:blk%!16+=4:blk%!20+=4 wRblk%!4=5:blk%!24=0:blk%!28=0:blk%!32=3000:blk%!36=3000:ș "Wimp_DragBox",,blk% x� y z��error(msg$,errno%) {�CLOSE#0 |!!errblk%=99:$(errblk%+4)=msg$ },ș "Wimp_ReportError",errblk%,0,"TableA" ~� ���sendsavedatamess �Kș "Wimp_GetPointerInfo",,blk%:x%=!blk%:y%=blk%!4:w%=blk%!12:i%=blk%!16 ��!blk%=56:blk%!12=0:blk%!16=1:blk%!20=w%:blk%!24=i%:blk%!28=x%:blk%!32=y%:blk%!36=1200:blk%!40=&FFF:$(blk%+44)=proposedfname$+�0 �2ș "Wimp_SendMessage",17,blk%,w%:myref%=blk%!8 �� � ���keyevent �Ȏ (blk!24) � �1 � 252:quit%=�:ș "Wimp_ProcessKey",blk%!24:� �� �0�!blk%<>setw%:ș "Wimp_ProcessKey",blk%!24:� �C�((blk%!24)=13)�(((blk%!4)=i_sswrite%)�((blk%!4)=i_sdwrite%)) � � Ȏ blk%!4 � �> � i_sswrite%:�savesetup(�geticnstring(setw%,i_sswrite%)) �$ � i_sdwrite%:�setsavedirfromOK � � �� �% �((blk%!4)>=57)�((blk%!4)<=72) � � Ȏ (blk%!24) � �� � &18F: �(blk%!4)>=58:ș "Wimp_SetCaretPosition",setupw%,(blk%!4)-1,0,0,-1,�(�geticnstring(setupw%,(blk%!4)-1)):�:ș "Wimp_ProcessKey",blk%!24 �� � &18E,13: �(blk%!4)<=71:ș "Wimp_SetCaretPosition",setupw%,(blk%!4)+1,0,0,-1,�(�geticnstring(setupw%,(blk%!4)+1)):�:ș "Wimp_ProcessKey",blk%!24 �% :ș "Wimp_ProcessKey",blk%!24 � � � � �" ș "Wimp_ProcessKey",blk%!24 � � �� �� � ���menuclick �#ș "Wimp_GetPointerInfo",,blk2% �currmenubut%=blk2%!8 �Ȏ currmenu% � � � -1: � Ȏ !blk% � � � WHEN 0: PROCcheckadjust �$ � 1: �opensetupw:�checkadjust � � 2: quit%=� � � �� �� � ���checkadjust �7�currmenubut%=1:ș "Wimp_CreateMenu",,menu%,100,100 �� � ���opensetupw �笤isopen(setw%)� �/ !blk%=setw%:ș "Wimp_GetWindowState",,blk% �8 �xmaxec%>1272:blk%!4=�((xmaxec%-1272)/2):�:blk%!4=0 �6 �ymaxec%>916:blk%!8=�((ymaxec%-916)/2):�:blk%!8=0 �C blk%!12=(blk%!4)+1272:blk%!16=(blk%!8)+916:blk%!20=0:blk%!24=0 � blk%!28=-1:�openwind(blk%) �� �� � � ��receive �Ȏ blk%!16 � � � 0: quit%=� �7 � 2: �dragging%=1:�savesetup(�readstring(blk%+44)) � �dragging%=2 � �c �leaf(�geticnstring(setw%,i_sdwrite%))="":�error("You must give this directory a name",1):� �O �setsavedir(�readstring(blk%+44)+�leaf(�geticnstring(setw%,i_sdwrite%))) � � �B � 3: �j%=0�!blk%�4:blk2%!j%=blk%!j%:�:a$=�readstring(blk%+44) � �blk%!24=i_sddrop% � �C �filetype(a$)<>2�error("Only directories allowed here",1):� � �setsavedir(a$) � � �2 �load_file(�readstring(blk%+44),blk%!40) � �E blk2%!12=1:blk2%!16=4:ș "Wimp_SendMessage",19,blk2%,blk2%!20 � � � � �� �� � ���savesetup(f$) �� j% ��icns_intiger �K� �f$,".")=0 �error("To save, drag the icon to a directory viewer",0):� � X=� f$ �� � �A��:� �:�error(�$+" (Internal error code "+Þ+")"+�0,�):�#X:� ��#X,9:�#X,9:�#X,0:�#X,0 ��#X,"TableA";:�#X,0 �O�#X,A%,B%,C%,D%,E%,G%,H%,I%,J%,K%,L%,M%,N%,O%,P%,Q%,R%,S%,T%,U%,V%,W%,X%,Z% �� PRINT#X,start% ��#X,�findvolume �� PRINT#X,FNfindtaskdiff ��#X,�findmode �� � ��#X ��"SETTYPE "+f$+" ae8" �E�puticnstring(setw%,i_sswrite%,f$):�"Set TableA$SaveGamePath "+f$ �!ș "Wimp_SetCaretPosition",-1 �� � �ݤload_file(f$,t%) �2�t%<>&AE8 �error("Not a saved-game file",0):=� �!ș "Wimp_SetCaretPosition",-1 � X=� f$ �� � �B��:� �:�error(�$+" (Internal error code "+Þ+")"+�0,�):�#X:=� �.id%=�#X+((�#X)<<8)+((�#X)<<16)+((�#X)<<24) �?�j%=0�11:blk%?j%=�#X:�:blk%?12=0:creator$=�readstring(blk%) �g�id%<>&909 �error("I do not understand this file as it belongs to '"+creator$+"'."+�(id%),0):�#X:=� �G� xxxxx value 13 needs changing dep. on applic name (13=4+TableA+1) � �#X=11 �O�#X,A%,B%,C%,D%,E%,G%,H%,I%,J%,K%,L%,M%,N%,O%,P%,Q%,R%,S%,T%,U%,V%,W%,X%,Z% �$� INPUT#X,start%:PROCsetstart(0) �#�#X,volume%:�setvolume(volume%) �$� INPUT#X,f%:PROCsettaskdiff(f%) �&�#X,f%:� � �iscgaonly:�setmode(f%) �� � ��#X �N� PROCputicnstring(setw%,i_sswrite%,f$):OSCLI"Set TableA$SaveGamePath "+f$ �)prelink_flag%=0:*Set TableA$PreLink 0 ��intiger_icns �=� � �ݤfindmode �� �iscgaonly �:=0 �!�isselected(setw%,i_cga%):=0 �=1 � �ݤfindtaskdiff ��isselected(setw%,13):=0 ��isselected(setw%,14):=1 =2 ݤfindvolume &�isselected(setw%,i_sound%(0)):=0 &�isselected(setw%,i_sound%(1)):=1 =2 ݤfindcontcomm �isselected(setw%,39):=0 =1 ݤcheckfont(a$,A%,B%) � � � � �:=0 )ș "Font_FindFont",,a$,A%,B%,0,0 � h% ș "Font_LoseFont",h%:� � =� ��startgame �icns_intiger A�M%=0:�error("You must select activities or adventures.",0):� <�Z%=0:�error("You must select the activity length.",0):� 8�O%=0:�error("You must select the games level.",0):� <�R%=0 � M%=1:�error("You must select an adventure.",0):� ��((X% � 15)=0 � (X% � 240)=0 � (X% � 3840)=0 � (X% � 61440)=0) � M%=2:�error("You must select an activity or NO ACTIVITY in each column.",0):� .� intro | P%=P% *� adventure type 1 - 20 - 40 - 60 etc Q%=(R%-1)*20 � R%=1 Q%=1 � R%>6 Q%=R%+(201-7) � set activity list to 1st X%=X%+65536 !� select which tables test "L%=�(2):J%=�(2) #+� set up main tables test numbers in N% $N%=0 %�f%=0 � 12 &; �(U% � (1<<f%))=(1<<f%) firstn%(f%)=1 � firstn%(f%)=0 '� (�f%=0 � 12 )= �(W% � (1<<f%))=(1<<f%) secondn%(f%)=1 � secondn%(f%)=0 *� +secn%=0:firn%=0 ,�f%=1�12 - �secondn%(f%)=1:secn%+=1 .� /�f%=1�12 0 �firstn%(f%)=1:firn%+=1 1� 2P�firn%>secn% main%=secn%:�f%=0 � 12:firstn%(f%)=secondn%(f%):� � main%=firn% 3�main%>3 � 4 N%=4<<24 5� 6 N%=main%<<24 7 loc%=0 8 �f%=1 � 12 99 �firstn%(f%)=1:N%=(N% � (f%<<loc%)):loc%=loc%+8 : � ;� <G%=0 = T%=0:I%=0 >.� ***************************************| ?�� (fact1%=1 � firstn%(0)=1) � (fact2%=1 � secondn%(0)=1):�error("You must have at least one number (Not Zero) selected from both factor columns.",0):� @m� fact1%=0 � fact2%=0 :�error("You must have at least one number selected from both factor columns.",0):� Am� fact1%+fact2%<4 :�error("You must have at least four numbers selected from either factor columns.",0):� BQ� X%=69905 � M%=2:�error("You must have at least one activity selected.",0):� C8ș "Font_ReadFontMax" � fm%,fm1%,fm2%,fm3%,fm4%,fm5% DC�fm2%<57600 ș "Font_SetFontMax",fm%,fm1%,57600,57600,fm4%,fm5% E3ș "OS_Byte",135 � ,,a%:�"Set TableA$Mode "+�a% F7�"Set TableA$Save "+�geticnstring(setw%,i_sdwrite%) G H%=mc% H K%=H% IV%=1 J$a$=�readsysvar("TableA$EntryPt") Kh%=0 L�Y%=0 � M *ADFS N *MOUNT 0 O1 ș "XOS_Find",&40,"$.!Tables.Pt1.link" � h% P � PROCerror(STR$(h%),0) QD �h%>255 � h%=0:�error("Please place disk One in drive 0.",1):� R �#h% S� TY�checkfont("Tabloid.medium",320,360)=� �error("Font:'Tabloid.Medium' not found",0):� U� �iscgaonly � Vr V%=0:ș "Wimp_SetMode",15:�(�readvduvar(150)/1024)<160 �error("Not enough memory to change screen mode",1):� W� X � �isvga � Y �"Set TableA$Vga 1" Zr V%=1:ș "Wimp_SetMode",28:�(�readvduvar(150)/1024)<300 �error("Not enough memory to change screen mode",1):� [ � \ �"Set TableA$Vga 0" ]r V%=0:ș "Wimp_SetMode",15:�(�readvduvar(150)/1024)<160 �error("Not enough memory to change screen mode",1):� ^ � _� `"ș "Wimp_CloseDown",,&4B534154 a�savesound bvolume%=�findvolume cȎ volume% � d � 0:ș "Sound_Volume",1 e3 � 1,2,3:ș "Sound_Volume",127-(16*(3-volume%)) f� g�=oldhimem% h� �iscgaonly � i�12 j� k�isvga:�27:�:�12 l� m/� scale% 16,swap%(20,2),input_disk_name% 32 nvga%=V% ointro$="no" p;�a$,"fromstartup"):�get_fonts:�get_sounds:intro$="yes" q"�"Set TableA$EntryPt fromprog" rmemtop%=&7AF00 sA%=memtop%:�=A% t$A%=1:�"<TableA$Dir>.Pt1.prelink" u� v w��get_sounds x� open a Packsound file y-ș &46181,F%,"<TableA$Dir>.SPackFile",230 z� Ensure sounds {ș &46184,F%,"aliensnear" |ș &46184,F%,"cart2" }ș &46184,F%,"clang2" ~ș &46184,F%,"computer1" ș &46184,F%,"explode3" �ș &46184,F%,"explode4" �ș &46184,F%,"fire!" �ș &46184,F%,"fire_bubb2" �ș &46184,F%,"growl2" �ș &46184,F%,"inside_ufo" �ș &46184,F%,"invading2" �ș &46184,F%,"laser_door" �ș &46184,F%,"ok2" �ș &46184,F%,"robots" �ș &46184,F%,"saturn5" �ș &46184,F%,"scifi3" �ș &46184,F%,"wind" �ș &46184,F%,"wrong2" �ș &46184,F%,"arrr" �ș &46184,F%,"plop" �ș &46184,F%,"clang_lock" �ș &46184,F%,"fire3" �ș &46184,F%,"crack2" �ș &46184,F%,"aaarh2" �� � ���get_fonts �*FX112,2 �S�pri(0,500,1,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,'!?-:()+=") �*FX112,1 �� � ���pri(x%,y%,si%,a$) �:ș"Font_FindFont",,"TABLOID.MEDIUM",320,360,0,0 � han% �#ș"Font_SetFontColours",0,0,1,2 ��0,0,0,0,0,0,0,0 �ș"Font_Paint",,a$,16,x%,y% �ș"Font_LoseFont",han% �� � � ��palette ��19,1,24,136,136,136 ��p%,r%,g%,b% ��+7 ��p%=0�15 ��r%,g%,b%:�p%,r%,g%,b% �� ��19,1,24,0,0,0;0; �� � �/� 255,255,255,187,187,187,119,119,119,0,0,0 �,� 255,255,0,0,50,255,187,187,187,0,153,0 �+� 224,224,224,164,164,164,0,0,0,255,0,0 �'� 136,102,0,0,204,0,0,153,0,0,119,0 �
00000000 0d 00 00 3b f4 ff 41 44 46 53 3a 3a 48 61 72 64 |...;..ADFS::Hard| 00000010 44 69 73 63 34 2e 24 2e 43 55 52 52 5f 4e 45 57 |Disc4.$.CURR_NEW| 00000020 2e 44 45 4d 4f 50 52 4f 47 2e 21 54 61 62 6c 65 |.DEMOPROG.!Table| 00000030 73 2e 21 52 75 6e 69 6d 61 67 65 0d 00 01 21 6f |s.!Runimage...!o| 00000040 6c 64 68 69 6d 65 6d 25 3d 93 3a d3 3d 26 31 32 |ldhimem%=.:.=&12| 00000050 41 30 30 2b 28 31 30 32 34 2a 35 29 0d 00 02 0f |A00+(1024*5)....| 00000060 f2 73 6f 72 74 6d 65 6d 6f 72 79 0d 00 03 0d f2 |.sortmemory.....| 00000070 69 6e 69 74 77 69 6d 70 0d 00 04 0d f2 69 6e 69 |initwimp.....ini| 00000080 74 76 61 72 73 0d 00 05 33 e7 20 a4 72 65 61 64 |tvars...3. .read| 00000090 73 79 73 76 61 72 28 22 54 61 62 6c 65 41 24 45 |sysvar("TableA$E| 000000a0 6e 74 72 79 50 74 22 29 3d 22 66 72 6f 6d 73 74 |ntryPt")="fromst| 000000b0 61 72 74 75 70 22 20 8c 0d 00 06 1b 20 20 e7 20 |artup" ..... . | 000000c0 ac 20 a4 61 6c 72 65 61 64 79 72 75 6e 6e 69 6e |. .alreadyrunnin| 000000d0 67 20 8c 0d 00 07 21 20 20 20 20 ff 22 53 65 74 |g ....! ."Set| 000000e0 20 54 61 62 6c 65 41 24 69 73 72 75 6e 6e 69 6e | TableA$isrunnin| 000000f0 67 20 31 22 0d 00 08 07 20 20 cc 0d 00 09 54 20 |g 1".... ....T | 00000100 20 20 20 f2 65 72 72 6f 72 28 22 54 61 62 6c 65 | .error("Table| 00000110 20 41 6c 69 65 6e 73 20 69 73 20 61 6c 72 65 61 | Aliens is alrea| 00000120 64 79 20 72 75 6e 6e 69 6e 67 22 2c 30 29 3a c8 |dy running",0):.| 00000130 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 |. "Wimp_CloseDow| 00000140 6e 22 2c 2c 26 34 42 35 33 34 31 35 34 3a e0 0d |n",,&4B534154:..| 00000150 00 0a 07 20 20 cd 0d 00 0b 16 20 20 f2 69 6e 69 |... ..... .ini| 00000160 74 66 72 6f 6d 73 74 61 72 74 75 70 0d 00 0c 05 |tfromstartup....| 00000170 cc 0d 00 0d 33 20 20 c8 99 20 22 57 69 6d 70 5f |....3 .. "Wimp_| 00000180 53 65 74 4d 6f 64 65 22 2c bb a4 72 65 61 64 73 |SetMode",..reads| 00000190 79 73 76 61 72 28 22 54 61 62 6c 65 41 24 4d 6f |ysvar("TableA$Mo| 000001a0 64 65 22 29 0d 00 0e 14 20 20 f4 20 50 52 4f 43 |de").... . PROC| 000001b0 73 65 74 73 6f 75 6e 64 0d 00 0f 1b 20 20 c8 99 |setsound.... ..| 000001c0 20 22 53 6f 75 6e 64 5f 56 6f 6c 75 6d 65 22 2c | "Sound_Volume",| 000001d0 31 32 37 0d 00 10 05 cd 0d 00 11 14 c8 99 22 48 |127..........."H| 000001e0 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 00 12 0f |ourglass_On"....| 000001f0 f2 6c 6f 61 64 5f 69 63 6f 6e 73 0d 00 13 12 f2 |.load_icons.....| 00000200 63 72 65 61 74 65 77 69 6e 64 6f 77 73 0d 00 14 |createwindows...| 00000210 10 f2 69 6e 69 74 77 69 6e 64 6f 77 73 0d 00 15 |..initwindows...| 00000220 15 c8 99 22 48 6f 75 72 67 6c 61 73 73 5f 4f 66 |..."Hourglass_Of| 00000230 66 22 0d 00 16 12 f2 63 72 65 61 74 65 62 61 72 |f".....createbar| 00000240 69 63 6f 6e 0d 00 17 11 f2 69 6e 74 69 67 65 72 |icon.....intiger| 00000250 5f 69 63 6e 73 0d 00 18 37 ee 20 85 20 f2 65 72 |_icns...7. . .er| 00000260 72 6f 72 28 f6 24 2b 22 20 28 49 6e 74 65 72 6e |ror(.$+" (Intern| 00000270 61 6c 20 65 72 72 6f 72 20 63 6f 64 65 20 22 2b |al error code "+| 00000280 c3 9e 2b 22 29 22 2b bd 30 2c 9f 29 0d 00 19 17 |..+")"+.0,.)....| 00000290 f5 20 f2 70 6f 6c 6c 6c 6f 6f 70 3a fd 20 71 75 |. .pollloop:. qu| 000002a0 69 74 25 0d 00 1a 21 f4 20 6b 69 6c 6c 20 73 6f |it%...!. kill so| 000002b0 75 6e 64 20 63 61 63 68 65 20 61 6e 64 20 6d 6f |und cache and mo| 000002c0 64 75 6c 65 0d 00 1b 10 c8 99 20 26 34 36 31 38 |dule...... &4618| 000002d0 32 2c 46 25 0d 00 1c 10 c8 99 20 26 34 36 31 38 |2,F%...... &4618| 000002e0 38 2c 46 25 0d 00 1d 1c 2a 52 4d 6b 69 6c 6c 20 |8,F%....*RMkill | 000002f0 50 61 63 6b 53 6f 75 6e 64 25 74 61 6c 69 65 6e |PackSound%talien| 00000300 0d 00 1e 15 2a 52 4d 6b 69 6c 6c 20 50 61 63 6b |....*RMkill Pack| 00000310 53 6f 75 6e 64 0d 00 1f 12 f4 20 50 52 4f 43 73 |Sound..... PROCs| 00000320 65 74 73 6f 75 6e 64 0d 00 20 22 c8 99 20 22 57 |etsound.. ".. "W| 00000330 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e 22 2c 2c |imp_CloseDown",,| 00000340 26 34 42 35 33 34 31 35 34 0d 00 21 1d ff 22 53 |&4B534154..!.."S| 00000350 65 74 20 54 61 62 6c 65 41 24 69 73 72 75 6e 6e |et TableA$isrunn| 00000360 69 6e 67 20 30 22 0d 00 22 09 2a 51 55 49 54 0d |ing 0"..".*QUIT.| 00000370 00 23 05 e0 0d 00 24 04 0d 00 25 14 dd a4 61 6c |.#....$...%...al| 00000380 72 65 61 64 79 72 75 6e 6e 69 6e 67 0d 00 26 08 |readyrunning..&.| 00000390 ea 20 41 25 0d 00 27 07 ea 20 85 0d 00 28 0e ee |. A%..'.. ...(..| 000003a0 85 ea 3a f7 20 85 3a 3d 30 0d 00 29 3d c8 99 20 |..:. .:=0..)=.. | 000003b0 22 4f 53 5f 52 65 61 64 56 61 72 56 61 6c 22 2c |"OS_ReadVarVal",| 000003c0 22 54 61 62 6c 65 41 24 69 73 72 75 6e 6e 69 6e |"TableA$isrunnin| 000003d0 67 22 2c 62 6c 6b 25 2c 32 35 36 2c 30 2c 30 20 |g",blk%,256,0,0 | 000003e0 b8 20 2c 2c 61 25 0d 00 2a 25 61 24 3d 22 22 3a |. ,,a%..*%a$="":| 000003f0 e3 41 25 3d 30 b8 61 25 2d 31 3a 61 24 2b 3d bd |.A%=0.a%-1:a$+=.| 00000400 28 62 6c 6b 25 3f 41 25 29 3a ed 0d 00 2b 07 f7 |(blk%?A%):...+..| 00000410 20 85 0d 00 2c 0f e7 61 24 3d 22 31 22 3a 3d 2d | ...,..a$="1":=-| 00000420 31 0d 00 2d 06 3d 30 0d 00 2e 04 0d 00 2f 15 dd |1..-.=0....../..| 00000430 f2 69 6e 69 74 66 72 6f 6d 73 74 61 72 74 75 70 |.initfromstartup| 00000440 0d 00 30 0b 71 75 69 74 25 3d a3 0d 00 31 08 ea |..0.quit%=...1..| 00000450 20 6a 25 0d 00 32 1f 21 75 73 65 72 77 69 6d 70 | j%..2.!userwimp| 00000460 73 70 72 73 25 3d 77 69 6d 70 73 70 72 73 69 7a |sprs%=wimpsprsiz| 00000470 65 25 0d 00 33 16 75 73 65 72 77 69 6d 70 73 70 |e%..3.userwimpsp| 00000480 72 73 25 21 38 3d 31 36 0d 00 34 27 c8 99 20 22 |rs%!8=16..4'.. "| 00000490 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 26 31 30 |OS_SpriteOp",&10| 000004a0 39 2c 75 73 65 72 77 69 6d 70 73 70 72 73 25 0d |9,userwimpsprs%.| 000004b0 00 35 3e c8 99 20 22 4f 53 5f 53 70 72 69 74 65 |.5>.. "OS_Sprite| 000004c0 4f 70 22 2c 26 31 30 41 2c 75 73 65 72 77 69 6d |Op",&10A,userwim| 000004d0 70 73 70 72 73 25 2c 22 3c 54 61 62 6c 65 41 24 |psprs%,"<TableA$| 000004e0 44 69 72 3e 2e 53 70 72 69 74 65 73 22 0d 00 36 |Dir>.Sprites"..6| 000004f0 0d 77 69 6e 63 74 72 25 3d 31 0d 00 37 34 c8 99 |.winctr%=1..74..| 00000500 20 22 57 69 6d 70 5f 4f 70 65 6e 54 65 6d 70 6c | "Wimp_OpenTempl| 00000510 61 74 65 22 2c 2c 22 3c 54 61 62 6c 65 41 24 44 |ate",,"<TableA$D| 00000520 69 72 3e 2e 54 65 6d 70 6c 61 74 65 73 22 0d 00 |ir>.Templates"..| 00000530 38 1b f2 6c 6f 61 64 5f 74 65 6d 70 6c 61 74 65 |8..load_template| 00000540 28 22 53 65 74 75 70 22 29 0d 00 39 1e f2 6c 6f |("Setup")..9..lo| 00000550 61 64 5f 74 65 6d 70 6c 61 74 65 28 22 70 72 6f |ad_template("pro| 00000560 67 69 6e 66 6f 22 29 0d 00 3a 15 69 63 24 3d c3 |ginfo")..:.ic$=.| 00000570 7e 28 69 63 6f 6e 64 65 66 73 25 29 0d 00 3b 19 |~(icondefs%)..;.| 00000580 ff 22 4c 4f 41 44 20 69 63 6f 6e 64 65 66 73 20 |."LOAD icondefs | 00000590 22 2b 69 63 24 0d 00 3c 3e 55 25 3d 25 31 30 30 |"+ic$..<>U%=%100| 000005a0 30 30 3a 57 25 3d 25 31 31 31 31 31 31 31 31 31 |00:W%=%111111111| 000005b0 31 31 3a 52 25 3d 32 3a 5a 25 3d 32 3a 4f 25 3d |11:R%=2:Z%=2:O%=| 000005c0 33 3a 4d 25 3d 31 3a 58 25 3d 34 33 37 30 3a 50 |3:M%=1:X%=4370:P| 000005d0 25 3d 31 0d 00 3d 1b c8 99 20 26 34 36 31 38 39 |%=1..=... &46189| 000005e0 2c 22 74 61 6c 69 65 6e 22 20 b8 20 46 25 0d 00 |,"talien" . F%..| 000005f0 3e 0e f2 73 61 76 65 73 6f 75 6e 64 0d 00 3f 31 |>..savesound..?1| 00000600 61 24 3d a4 63 6f 6e 76 65 72 74 74 6f 6c 6f 77 |a$=.converttolow| 00000610 65 72 28 a4 72 65 61 64 73 79 73 76 61 72 28 22 |er(.readsysvar("| 00000620 54 61 62 6c 65 41 24 44 69 72 22 29 29 0d 00 40 |TableA$Dir"))..@| 00000630 2c e7 a7 61 24 2c 22 73 74 61 72 74 75 70 2e 24 |,..a$,"startup.$| 00000640 2e 21 74 61 62 6c 65 73 22 29 3c 3e 30 3a 59 25 |.!tables")<>0:Y%| 00000650 3d 30 3a 8b 3a 59 25 3d 31 0d 00 41 05 e1 0d 00 |=0:.:Y%=1..A....| 00000660 42 04 0d 00 43 10 dd f2 6c 6f 61 64 5f 69 63 6f |B...C...load_ico| 00000670 6e 73 0d 00 44 26 69 5f 73 73 77 72 69 74 65 25 |ns..D&i_sswrite%| 00000680 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 53 41 56 45 |=.lookicon("SAVE| 00000690 47 57 52 49 54 45 22 29 0d 00 45 10 69 5f 73 73 |GWRITE")..E.i_ss| 000006a0 69 63 6f 6e 25 3d 35 38 0d 00 46 20 69 5f 73 73 |icon%=58..F i_ss| 000006b0 6f 6b 25 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 53 |ok%=.lookicon("S| 000006c0 41 56 45 47 4f 4b 22 29 0d 00 47 26 69 5f 73 64 |AVEGOK")..G&i_sd| 000006d0 77 72 69 74 65 25 3d a4 6c 6f 6f 6b 69 63 6f 6e |write%=.lookicon| 000006e0 28 22 53 41 56 45 41 57 52 49 54 45 22 29 0d 00 |("SAVEAWRITE")..| 000006f0 48 0f 69 5f 73 64 64 69 72 25 3d 32 33 0d 00 49 |H.i_sddir%=23..I| 00000700 20 69 5f 73 64 6f 6b 25 3d a4 6c 6f 6f 6b 69 63 | i_sdok%=.lookic| 00000710 6f 6e 28 22 53 41 56 45 41 4f 4b 22 29 0d 00 4a |on("SAVEAOK")..J| 00000720 12 69 5f 75 6e 61 76 61 69 6c 25 3d 31 32 39 0d |.i_unavail%=129.| 00000730 00 4b 10 69 5f 73 64 64 72 6f 70 25 3d 38 37 0d |.K.i_sddrop%=87.| 00000740 00 4c 1c 69 5f 66 61 25 28 30 29 3d a4 6c 6f 6f |.L.i_fa%(0)=.loo| 00000750 6b 69 63 6f 6e 28 22 41 30 22 29 0d 00 4d 1c 69 |kicon("A0")..M.i| 00000760 5f 66 61 25 28 31 29 3d a4 6c 6f 6f 6b 69 63 6f |_fa%(1)=.lookico| 00000770 6e 28 22 41 31 22 29 0d 00 4e 1c 69 5f 66 61 25 |n("A1")..N.i_fa%| 00000780 28 32 29 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 41 |(2)=.lookicon("A| 00000790 32 22 29 0d 00 4f 1c 69 5f 66 61 25 28 33 29 3d |2")..O.i_fa%(3)=| 000007a0 a4 6c 6f 6f 6b 69 63 6f 6e 28 22 41 33 22 29 0d |.lookicon("A3").| 000007b0 00 50 1c 69 5f 66 61 25 28 34 29 3d a4 6c 6f 6f |.P.i_fa%(4)=.loo| 000007c0 6b 69 63 6f 6e 28 22 41 34 22 29 0d 00 51 1c 69 |kicon("A4")..Q.i| 000007d0 5f 66 61 25 28 35 29 3d a4 6c 6f 6f 6b 69 63 6f |_fa%(5)=.lookico| 000007e0 6e 28 22 41 35 22 29 0d 00 52 1c 69 5f 66 61 25 |n("A5")..R.i_fa%| 000007f0 28 36 29 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 41 |(6)=.lookicon("A| 00000800 36 22 29 0d 00 53 1c 69 5f 66 61 25 28 37 29 3d |6")..S.i_fa%(7)=| 00000810 a4 6c 6f 6f 6b 69 63 6f 6e 28 22 41 37 22 29 0d |.lookicon("A7").| 00000820 00 54 1c 69 5f 66 61 25 28 38 29 3d a4 6c 6f 6f |.T.i_fa%(8)=.loo| 00000830 6b 69 63 6f 6e 28 22 41 38 22 29 0d 00 55 1c 69 |kicon("A8")..U.i| 00000840 5f 66 61 25 28 39 29 3d a4 6c 6f 6f 6b 69 63 6f |_fa%(9)=.lookico| 00000850 6e 28 22 41 39 22 29 0d 00 56 1e 69 5f 66 61 25 |n("A9")..V.i_fa%| 00000860 28 31 30 29 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 |(10)=.lookicon("| 00000870 41 31 30 22 29 0d 00 57 1e 69 5f 66 61 25 28 31 |A10")..W.i_fa%(1| 00000880 31 29 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 41 31 |1)=.lookicon("A1| 00000890 31 22 29 0d 00 58 1e 69 5f 66 61 25 28 31 32 29 |1")..X.i_fa%(12)| 000008a0 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 41 31 32 22 |=.lookicon("A12"| 000008b0 29 0d 00 59 1e 69 5f 66 61 25 28 31 33 29 3d a4 |)..Y.i_fa%(13)=.| 000008c0 6c 6f 6f 6b 69 63 6f 6e 28 22 54 45 31 22 29 0d |lookicon("TE1").| 000008d0 00 5a 1e 69 5f 66 61 25 28 31 34 29 3d a4 6c 6f |.Z.i_fa%(14)=.lo| 000008e0 6f 6b 69 63 6f 6e 28 22 54 45 32 22 29 0d 00 5b |okicon("TE2")..[| 000008f0 1e 69 5f 66 61 25 28 31 35 29 3d a4 6c 6f 6f 6b |.i_fa%(15)=.look| 00000900 69 63 6f 6e 28 22 54 45 33 22 29 0d 00 5c 1c 69 |icon("TE3")..\.i| 00000910 5f 66 62 25 28 30 29 3d a4 6c 6f 6f 6b 69 63 6f |_fb%(0)=.lookico| 00000920 6e 28 22 42 30 22 29 0d 00 5d 1c 69 5f 66 62 25 |n("B0")..].i_fb%| 00000930 28 31 29 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 42 |(1)=.lookicon("B| 00000940 31 22 29 0d 00 5e 1c 69 5f 66 62 25 28 32 29 3d |1")..^.i_fb%(2)=| 00000950 a4 6c 6f 6f 6b 69 63 6f 6e 28 22 42 32 22 29 0d |.lookicon("B2").| 00000960 00 5f 1c 69 5f 66 62 25 28 33 29 3d a4 6c 6f 6f |._.i_fb%(3)=.loo| 00000970 6b 69 63 6f 6e 28 22 42 33 22 29 0d 00 60 1c 69 |kicon("B3")..`.i| 00000980 5f 66 62 25 28 34 29 3d a4 6c 6f 6f 6b 69 63 6f |_fb%(4)=.lookico| 00000990 6e 28 22 42 34 22 29 0d 00 61 1c 69 5f 66 62 25 |n("B4")..a.i_fb%| 000009a0 28 35 29 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 42 |(5)=.lookicon("B| 000009b0 35 22 29 0d 00 62 1c 69 5f 66 62 25 28 36 29 3d |5")..b.i_fb%(6)=| 000009c0 a4 6c 6f 6f 6b 69 63 6f 6e 28 22 42 36 22 29 0d |.lookicon("B6").| 000009d0 00 63 1c 69 5f 66 62 25 28 37 29 3d a4 6c 6f 6f |.c.i_fb%(7)=.loo| 000009e0 6b 69 63 6f 6e 28 22 42 37 22 29 0d 00 64 1c 69 |kicon("B7")..d.i| 000009f0 5f 66 62 25 28 38 29 3d a4 6c 6f 6f 6b 69 63 6f |_fb%(8)=.lookico| 00000a00 6e 28 22 42 38 22 29 0d 00 65 1c 69 5f 66 62 25 |n("B8")..e.i_fb%| 00000a10 28 39 29 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 42 |(9)=.lookicon("B| 00000a20 39 22 29 0d 00 66 1e 69 5f 66 62 25 28 31 30 29 |9")..f.i_fb%(10)| 00000a30 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 42 31 30 22 |=.lookicon("B10"| 00000a40 29 0d 00 67 1e 69 5f 66 62 25 28 31 31 29 3d a4 |)..g.i_fb%(11)=.| 00000a50 6c 6f 6f 6b 69 63 6f 6e 28 22 42 31 31 22 29 0d |lookicon("B11").| 00000a60 00 68 1e 69 5f 66 62 25 28 31 32 29 3d a4 6c 6f |.h.i_fb%(12)=.lo| 00000a70 6f 6b 69 63 6f 6e 28 22 42 31 32 22 29 0d 00 69 |okicon("B12")..i| 00000a80 1d 69 5f 66 62 25 28 31 33 29 3d a4 6c 6f 6f 6b |.i_fb%(13)=.look| 00000a90 69 63 6f 6e 28 22 43 31 22 29 0d 00 6a 0d e3 66 |icon("C1")..j..f| 00000aa0 25 3d 31 20 b8 20 35 0d 00 6b 24 20 69 5f 61 67 |%=1 . 5..k$ i_ag| 00000ab0 25 28 66 25 29 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 |%(f%)=.lookicon(| 00000ac0 22 47 4c 22 2b c3 28 66 25 29 29 0d 00 6c 05 ed |"GL"+.(f%))..l..| 00000ad0 0d 00 6d 0e e3 66 25 3d 31 20 b8 20 35 35 0d 00 |..m..f%=1 . 55..| 00000ae0 6e 27 20 69 5f 61 67 25 28 66 25 2b 31 30 29 3d |n' i_ag%(f%+10)=| 00000af0 a4 6c 6f 6f 6b 69 63 6f 6e 28 22 41 44 22 2b c3 |.lookicon("AD"+.| 00000b00 28 66 25 29 29 0d 00 6f 05 ed 0d 00 70 1b 69 5f |(f%))..o....p.i_| 00000b10 76 67 61 25 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 |vga%=.lookicon("| 00000b20 56 47 41 22 29 0d 00 71 1b 69 5f 63 67 61 25 3d |VGA")..q.i_cga%=| 00000b30 a4 6c 6f 6f 6b 69 63 6f 6e 28 22 43 47 41 22 29 |.lookicon("CGA")| 00000b40 0d 00 72 20 69 5f 73 6f 75 6e 64 25 28 30 29 3d |..r i_sound%(0)=| 00000b50 a4 6c 6f 6f 6b 69 63 6f 6e 28 22 4f 46 46 22 29 |.lookicon("OFF")| 00000b60 0d 00 73 22 69 5f 73 6f 75 6e 64 25 28 31 29 3d |..s"i_sound%(1)=| 00000b70 a4 6c 6f 6f 6b 69 63 6f 6e 28 22 51 55 49 45 54 |.lookicon("QUIET| 00000b80 22 29 0d 00 74 23 69 5f 73 6f 75 6e 64 25 28 32 |")..t#i_sound%(2| 00000b90 29 3d a4 6c 6f 6f 6b 69 63 6f 6e 28 22 4e 4f 52 |)=.lookicon("NOR| 00000ba0 4d 41 4c 22 29 0d 00 75 16 f4 20 50 52 4f 43 69 |MAL")..u.. PROCi| 00000bb0 63 6e 73 5f 69 6e 74 69 67 65 72 0d 00 76 05 e1 |cns_intiger..v..| 00000bc0 0d 00 77 04 0d 00 78 19 dd a4 6c 6f 6f 6b 69 63 |..w...x...lookic| 00000bd0 6f 6e 28 69 63 6f 6e 6e 61 6d 65 24 29 0d 00 79 |on(iconname$)..y| 00000be0 40 f4 20 23 64 65 66 69 6e 65 20 49 5f 53 45 54 |@. #define I_SET| 00000bf0 55 50 5f 53 41 56 45 47 57 52 49 54 45 20 34 20 |UP_SAVEGWRITE 4 | 00000c00 20 69 65 20 2a 2a 2a 73 65 74 20 69 73 20 35 20 | ie ***set is 5 | 00000c10 63 68 61 72 61 63 74 65 72 73 2a 2a 2a 0d 00 7a |characters***..z| 00000c20 19 73 74 61 72 74 5f 6c 6f 6f 6b 25 3d 69 63 6f |.start_look%=ico| 00000c30 6e 64 65 66 73 25 0d 00 7b 05 f5 0d 00 7c 12 20 |ndefs%..{....|. | 00000c40 20 20 61 24 3d 22 22 3a 62 24 3d 22 22 0d 00 7d | a$="":b$=""..}| 00000c50 21 20 20 20 73 74 61 72 74 5f 6c 6f 6f 6b 25 3d |! start_look%=| 00000c60 73 74 61 72 74 5f 6c 6f 6f 6b 25 2b 31 36 0d 00 |start_look%+16..| 00000c70 7e 08 20 20 20 f5 0d 00 7f 1e 20 20 20 20 20 61 |~. ..... a| 00000c80 24 3d 61 24 2b bd 28 3f 73 74 61 72 74 5f 6c 6f |$=a$+.(?start_lo| 00000c90 6f 6b 25 29 0d 00 80 22 20 20 20 20 20 73 74 61 |ok%)..." sta| 00000ca0 72 74 5f 6c 6f 6f 6b 25 3d 73 74 61 72 74 5f 6c |rt_look%=start_l| 00000cb0 6f 6f 6b 25 2b 31 0d 00 81 18 20 20 20 fd 20 3f |ook%+1.... . ?| 00000cc0 73 74 61 72 74 5f 6c 6f 6f 6b 25 3d 33 32 0d 00 |start_look%=32..| 00000cd0 82 20 20 20 20 73 74 61 72 74 5f 6c 6f 6f 6b 25 |. start_look%| 00000ce0 3d 73 74 61 72 74 5f 6c 6f 6f 6b 25 2b 31 0d 00 |=start_look%+1..| 00000cf0 83 08 20 20 20 f5 0d 00 84 1e 20 20 20 20 20 62 |.. ..... b| 00000d00 24 3d 62 24 2b bd 28 3f 73 74 61 72 74 5f 6c 6f |$=b$+.(?start_lo| 00000d10 6f 6b 25 29 0d 00 85 22 20 20 20 20 20 73 74 61 |ok%)..." sta| 00000d20 72 74 5f 6c 6f 6f 6b 25 3d 73 74 61 72 74 5f 6c |rt_look%=start_l| 00000d30 6f 6f 6b 25 2b 31 0d 00 86 18 20 20 20 fd 20 3f |ook%+1.... . ?| 00000d40 73 74 61 72 74 5f 6c 6f 6f 6b 25 3d 31 30 0d 00 |start_look%=10..| 00000d50 87 20 20 20 20 73 74 61 72 74 5f 6c 6f 6f 6b 25 |. start_look%| 00000d60 3d 73 74 61 72 74 5f 6c 6f 6f 6b 25 2b 31 0d 00 |=start_look%+1..| 00000d70 88 2f fd 20 61 24 3d 69 63 6f 6e 6e 61 6d 65 24 |./. a$=iconname$| 00000d80 20 84 20 73 74 61 72 74 5f 6c 6f 6f 6b 25 3e 69 | . start_look%>i| 00000d90 63 6f 6e 64 65 66 73 25 2b 32 33 35 38 0d 00 89 |condefs%+2358...| 00000da0 0a 3d bb 28 62 24 29 0d 00 8a 04 0d 00 8b 10 dd |.=.(b$).........| 00000db0 f2 73 6f 72 74 6d 65 6d 6f 72 79 0d 00 8c 1d 69 |.sortmemory....i| 00000dc0 6e 64 62 61 73 65 25 3d 93 3a 69 70 74 72 25 3d |ndbase%=.:iptr%=| 00000dd0 69 6e 64 62 61 73 65 25 0d 00 8d 25 74 6f 74 69 |indbase%...%toti| 00000de0 6e 64 73 69 7a 65 25 3d 37 30 30 30 3a 74 6f 74 |ndsize%=7000:tot| 00000df0 77 69 6e 73 69 7a 65 25 3d 38 31 34 30 0d 00 8e |winsize%=8140...| 00000e00 27 f4 20 74 6f 74 69 6e 64 73 69 7a 65 25 3d 34 |'. totindsize%=4| 00000e10 30 39 36 3a 74 6f 74 77 69 6e 73 69 7a 65 25 3d |096:totwinsize%=| 00000e20 36 34 30 30 0d 00 8f 30 77 69 6e 62 61 73 65 25 |6400...0winbase%| 00000e30 3d 69 6e 64 62 61 73 65 25 2b 74 6f 74 69 6e 64 |=indbase%+totind| 00000e40 73 69 7a 65 25 3a 77 70 74 72 25 3d 77 69 6e 62 |size%:wptr%=winb| 00000e50 61 73 65 25 0d 00 90 6c 69 6e 64 73 74 61 72 74 |ase%...lindstart| 00000e60 73 25 3d 77 69 6e 62 61 73 65 25 2b 74 6f 74 77 |s%=winbase%+totw| 00000e70 69 6e 73 69 7a 65 25 3a 77 69 6e 73 74 61 72 74 |insize%:winstart| 00000e80 73 25 3d 69 6e 64 73 74 61 72 74 73 25 2b 34 30 |s%=indstarts%+40| 00000e90 3a 75 73 65 72 77 69 6d 70 73 70 72 73 25 3d 77 |:userwimpsprs%=w| 00000ea0 69 6e 73 74 61 72 74 73 25 2b 34 30 3a 77 69 6d |instarts%+40:wim| 00000eb0 70 73 70 72 73 69 7a 65 25 3d 35 2a 31 30 32 34 |psprsize%=5*1024| 00000ec0 0d 00 91 25 6d 63 25 3d 26 31 36 46 30 30 2b 28 |...%mc%=&16F00+(| 00000ed0 31 30 2a 31 30 32 34 29 3a 70 64 62 73 25 3d 26 |10*1024):pdbs%=&| 00000ee0 34 30 30 30 30 0d 00 92 05 e1 0d 00 93 04 0d 00 |40000...........| 00000ef0 94 0e dd f2 69 6e 69 74 77 69 6d 70 0d 00 95 3d |....initwimp...=| 00000f00 c8 99 20 22 57 69 6d 70 5f 49 6e 69 74 69 61 6c |.. "Wimp_Initial| 00000f10 69 73 65 22 2c 32 30 30 2c 26 34 42 35 33 34 31 |ise",200,&4B5341| 00000f20 35 34 2c 22 54 61 62 6c 65 41 22 20 b8 20 2c 74 |54,"TableA" . ,t| 00000f30 61 73 6b 68 61 6e 64 6c 25 0d 00 96 57 ee 85 20 |askhandl%...W.. | 00000f40 f2 65 72 72 6f 72 28 f6 24 2b 22 20 28 49 6e 74 |.error(.$+" (Int| 00000f50 65 72 6e 61 6c 20 65 72 72 6f 72 20 63 6f 64 65 |ernal error code| 00000f60 20 22 2b c3 9e 2b 22 29 22 2b bd 30 2c 9f 29 3a | "+..+")"+.0,.):| 00000f70 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 44 6f |.. "Wimp_CloseDo| 00000f80 77 6e 22 2c 2c 26 34 42 35 33 34 31 35 34 3a e0 |wn",,&4B534154:.| 00000f90 0d 00 97 05 e1 0d 00 98 04 0d 00 99 0e dd f2 69 |...............i| 00000fa0 6e 69 74 76 61 72 73 0d 00 9a 65 de 20 62 6c 6b |nitvars...e. blk| 00000fb0 25 20 32 35 36 2c 65 72 72 62 6c 6b 25 20 32 30 |% 256,errblk% 20| 00000fc0 30 2c 6d 65 6e 75 25 20 31 30 32 34 2c 62 6c 6b |0,menu% 1024,blk| 00000fd0 32 25 20 32 35 36 2c 70 64 62 62 75 66 66 25 20 |2% 256,pdbbuff% | 00000fe0 32 35 36 2c 70 61 6c 63 6f 64 65 25 20 39 30 30 |256,palcode% 900| 00000ff0 2c 62 61 72 69 63 6e 25 20 31 32 2c 69 6e 62 25 |,baricn% 12,inb%| 00001000 20 32 30 2c 6f 75 74 62 25 20 32 30 0d 00 9b 3e | 20,outb% 20...>| 00001010 de 20 69 63 6f 6e 64 65 66 73 25 20 32 33 37 30 |. icondefs% 2370| 00001020 2c 69 5f 66 61 25 28 31 35 29 2c 69 5f 66 62 25 |,i_fa%(15),i_fb%| 00001030 28 31 33 29 2c 69 5f 73 6f 75 6e 64 25 28 33 29 |(13),i_sound%(3)| 00001040 2c 69 5f 61 67 25 28 36 36 29 0d 00 9c 1e de 20 |,i_ag%(66)..... | 00001050 66 69 72 73 74 6e 25 28 31 32 29 2c 73 65 63 6f |firstn%(12),seco| 00001060 6e 64 6e 25 28 31 32 29 0d 00 9d 28 41 25 3d 69 |ndn%(12)...(A%=i| 00001070 6e 64 62 61 73 65 25 3a 42 25 3d 69 6e 64 62 61 |ndbase%:B%=indba| 00001080 73 65 25 2b 31 30 32 34 3a f4 20 70 61 75 6c 73 |se%+1024:. pauls| 00001090 0d 00 9e 0b 71 75 69 74 25 3d a3 0d 00 9f 34 21 |....quit%=....4!| 000010a0 69 6e 62 25 3d 34 3a 69 6e 62 25 21 34 3d 35 3a |inb%=4:inb%!4=5:| 000010b0 69 6e 62 25 21 38 3d 31 31 3a 69 6e 62 25 21 31 |inb%!8=11:inb%!1| 000010c0 32 3d 31 32 3a 69 6e 62 25 21 31 36 3d 2d 31 0d |2=12:inb%!16=-1.| 000010d0 00 a0 0e 73 6e 64 6d 61 78 25 3d 31 35 0d 00 a1 |...sndmax%=15...| 000010e0 0c 73 74 61 72 74 25 3d 31 0d 00 a2 12 f2 67 65 |.start%=1.....ge| 000010f0 74 73 63 72 65 65 6e 73 69 7a 65 0d 00 a3 05 e1 |tscreensize.....| 00001100 0d 00 a4 04 0d 00 a5 13 dd f2 67 65 74 73 63 72 |..........getscr| 00001110 65 65 6e 73 69 7a 65 0d 00 a6 26 c8 99 22 4f 53 |eensize...&.."OS| 00001120 5f 52 65 61 64 56 64 75 56 61 72 69 61 62 6c 65 |_ReadVduVariable| 00001130 73 22 2c 69 6e 62 25 2c 6f 75 74 62 25 0d 00 a7 |s",inb%,outb%...| 00001140 4e 78 6d 61 78 65 63 25 3d 28 28 28 6f 75 74 62 |Nxmaxec%=(((outb| 00001150 25 21 38 29 2b 31 29 3c 3c 28 6f 75 74 62 25 21 |%!8)+1)<<(outb%!| 00001160 30 29 29 2d 31 3a 79 6d 61 78 65 63 25 3d 28 28 |0))-1:ymaxec%=((| 00001170 28 6f 75 74 62 25 21 31 32 29 2b 31 29 3c 3c 28 |(outb%!12)+1)<<(| 00001180 6f 75 74 62 25 21 34 29 29 2d 31 0d 00 a8 05 e1 |outb%!4))-1.....| 00001190 0d 00 a9 04 0d 00 aa 18 dd a4 63 6f 6e 76 65 72 |..........conver| 000011a0 74 74 6f 6c 6f 77 65 72 28 61 24 29 0d 00 ab 15 |ttolower(a$)....| 000011b0 ea 20 6c 25 2c 62 24 2c 63 68 25 3a 62 24 3d 22 |. l%,b$,ch%:b$="| 000011c0 22 0d 00 ac 0d e3 6c 25 3d 31 b8 a9 61 24 0d 00 |".....l%=1..a$..| 000011d0 ad 14 63 68 25 3d 97 28 c1 61 24 2c 6c 25 2c 31 |..ch%=.(.a$,l%,1| 000011e0 29 29 0d 00 ae 21 e7 28 63 68 25 3e 26 34 30 29 |))...!.(ch%>&40)| 000011f0 80 28 63 68 25 3c 26 35 42 29 3a 63 68 25 2b 3d |.(ch%<&5B):ch%+=| 00001200 26 32 30 0d 00 af 0c 62 24 2b 3d bd 63 68 25 0d |&20....b$+=.ch%.| 00001210 00 b0 05 ed 0d 00 b1 07 3d 62 24 0d 00 b2 04 0d |........=b$.....| 00001220 00 b3 14 dd a4 72 65 61 64 73 74 72 69 6e 67 28 |.....readstring(| 00001230 70 25 29 0d 00 b4 32 ea 61 24 3a 61 24 3d 22 22 |p%)...2.a$:a$=""| 00001240 3a c8 95 20 a9 61 24 3c 32 35 35 20 80 20 3f 70 |:.. .a$<255 . ?p| 00001250 25 3e 33 31 20 61 24 2b 3d bd 3f 70 25 3a 70 25 |%>31 a$+=.?p%:p%| 00001260 2b 3d 31 3a ce 0d 00 b5 07 3d 61 24 0d 00 b6 04 |+=1:.....=a$....| 00001270 0d 00 b7 14 dd a4 72 65 61 64 73 79 73 76 61 72 |......readsysvar| 00001280 28 61 24 29 0d 00 b8 08 ea 20 41 25 0d 00 b9 4f |(a$)..... A%...O| 00001290 c8 99 20 22 4f 53 5f 52 65 61 64 56 61 72 56 61 |.. "OS_ReadVarVa| 000012a0 6c 22 2c 61 24 2c 62 6c 6b 25 2c 32 35 36 2c 30 |l",a$,blk%,256,0| 000012b0 2c 30 20 b8 20 2c 2c 61 25 3a 61 24 3d 22 22 3a |,0 . ,,a%:a$="":| 000012c0 e3 41 25 3d 30 b8 61 25 2d 31 3a 61 24 2b 3d bd |.A%=0.a%-1:a$+=.| 000012d0 28 62 6c 6b 25 3f 41 25 29 3a ed 0d 00 ba 07 3d |(blk%?A%):.....=| 000012e0 61 24 0d 00 bb 04 0d 00 bc 14 dd a4 72 65 61 64 |a$..........read| 000012f0 76 64 75 76 61 72 28 61 25 29 0d 00 bd 39 21 62 |vduvar(a%)...9!b| 00001300 6c 6b 25 3d 61 25 3a 62 6c 6b 25 21 34 3d 2d 31 |lk%=a%:blk%!4=-1| 00001310 3a c8 99 20 22 4f 53 5f 52 65 61 64 56 64 75 56 |:.. "OS_ReadVduV| 00001320 61 72 69 61 62 6c 65 73 22 2c 62 6c 6b 25 2c 62 |ariables",blk%,b| 00001330 6c 6b 25 0d 00 be 0a 3d 21 62 6c 6b 25 0d 00 bf |lk%....=!blk%...| 00001340 04 0d 00 c0 19 dd f2 67 65 74 69 63 6f 6e 73 74 |.......geticonst| 00001350 61 74 65 28 77 25 2c 69 25 29 0d 00 c1 33 21 62 |ate(w%,i%)...3!b| 00001360 6c 6b 25 3d 77 25 3a 62 6c 6b 25 21 34 3d 69 25 |lk%=w%:blk%!4=i%| 00001370 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 49 63 6f |:.. "Wimp_GetIco| 00001380 6e 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 00 c2 |nState",,blk%...| 00001390 05 e1 0d 00 c3 04 0d 00 c4 17 dd a4 69 73 73 65 |............isse| 000013a0 6c 65 63 74 65 64 28 77 25 2c 69 25 29 0d 00 c5 |lected(w%,i%)...| 000013b0 18 f2 67 65 74 69 63 6f 6e 73 74 61 74 65 28 77 |..geticonstate(w| 000013c0 25 2c 69 25 29 0d 00 c6 20 3d 28 28 62 6c 6b 25 |%,i%)... =((blk%| 000013d0 21 32 34 29 80 28 31 3c 3c 32 31 29 29 3d 28 31 |!24).(1<<21))=(1| 000013e0 3c 3c 32 31 29 0d 00 c7 04 0d 00 c8 12 dd a4 66 |<<21)..........f| 000013f0 69 6c 65 74 79 70 65 28 61 24 29 0d 00 c9 1b c8 |iletype(a$).....| 00001400 99 20 22 58 4f 53 5f 46 69 6c 65 22 2c 35 2c 61 |. "XOS_File",5,a| 00001410 24 20 b8 20 61 25 0d 00 ca 07 3d 61 25 0d 00 cb |$ . a%....=a%...| 00001420 04 0d 00 cc 32 dd a4 6c 65 61 66 28 66 24 29 20 |....2..leaf(f$) | 00001430 49 25 3d a9 66 24 3a c8 95 49 25 3e 31 80 c1 66 |I%=.f$:..I%>1..f| 00001440 24 2c 49 25 2c 31 29 3c 3e 22 2e 22 49 25 2d 3d |$,I%,1)<>"."I%-=| 00001450 31 3a ce 0d 00 cd 17 e7 c1 66 24 2c 49 25 2c 31 |1:.......f$,I%,1| 00001460 29 3d 22 2e 22 49 25 2b 3d 31 0d 00 ce 0c 3d c1 |)="."I%+=1....=.| 00001470 66 24 2c 49 25 29 0d 00 cf 04 0d 00 d0 16 dd f2 |f$,I%)..........| 00001480 73 65 74 73 61 76 65 64 69 72 28 64 69 72 24 29 |setsavedir(dir$)| 00001490 0d 00 d1 28 f2 70 75 74 69 63 6e 73 74 72 69 6e |...(.puticnstrin| 000014a0 67 28 73 65 74 77 25 2c 69 5f 73 64 77 72 69 74 |g(setw%,i_sdwrit| 000014b0 65 25 2c 64 69 72 24 29 0d 00 d2 21 c8 99 20 22 |e%,dir$)...!.. "| 000014c0 57 69 6d 70 5f 53 65 74 43 61 72 65 74 50 6f 73 |Wimp_SetCaretPos| 000014d0 69 74 69 6f 6e 22 2c 2d 31 0d 00 d3 07 ea 20 85 |ition",-1..... .| 000014e0 0d 00 d4 0d ee 85 ea 3a f7 20 85 3a e1 0d 00 d5 |.......:. .:....| 000014f0 11 ff 22 43 44 49 52 20 22 2b 64 69 72 24 0d 00 |.."CDIR "+dir$..| 00001500 d6 07 f7 20 85 0d 00 d7 05 e1 0d 00 d8 04 0d 00 |... ............| 00001510 d9 16 dd f2 73 65 74 73 61 76 65 64 69 72 66 72 |....setsavedirfr| 00001520 6f 6d 4f 4b 0d 00 da 21 c8 99 20 22 57 69 6d 70 |omOK...!.. "Wimp| 00001530 5f 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f |_SetCaretPositio| 00001540 6e 22 2c 2d 31 0d 00 db 07 ea 20 85 0d 00 dc 65 |n",-1..... ....e| 00001550 ee 85 ea 3a f7 20 85 3a f2 65 72 72 6f 72 28 22 |...:. .:.error("| 00001560 49 6e 76 61 6c 69 64 20 70 61 74 68 20 61 6e 64 |Invalid path and| 00001570 2f 6f 72 20 64 69 72 65 63 74 6f 72 79 20 6e 61 |/or directory na| 00001580 6d 65 2e 20 43 72 65 61 74 69 6f 6e 20 6f 66 20 |me. Creation of | 00001590 6e 65 77 20 73 61 76 65 20 64 69 72 65 63 74 6f |new save directo| 000015a0 72 79 20 61 62 6f 72 74 65 64 2e 22 2c 30 29 3a |ry aborted.",0):| 000015b0 e1 0d 00 dd 2c ff 22 43 44 49 52 20 22 2b a4 67 |....,."CDIR "+.g| 000015c0 65 74 69 63 6e 73 74 72 69 6e 67 28 73 65 74 77 |eticnstring(setw| 000015d0 25 2c 69 5f 73 64 77 72 69 74 65 25 29 0d 00 de |%,i_sdwrite%)...| 000015e0 07 f7 20 85 0d 00 df 05 e1 0d 00 e0 04 0d 00 e1 |.. .............| 000015f0 0f dd a4 69 73 63 67 61 6f 6e 6c 79 0d 00 e2 29 |...iscgaonly...)| 00001600 c8 99 22 4f 53 5f 43 68 65 63 6b 4d 6f 64 65 56 |.."OS_CheckModeV| 00001610 61 6c 69 64 22 2c 32 37 20 b8 20 72 65 67 30 25 |alid",27 . reg0%| 00001620 3b 66 6c 61 25 0d 00 e3 26 73 63 31 25 3d 28 28 |;fla%...&sc1%=((| 00001630 28 66 6c 61 25 80 25 31 30 29 3d 25 31 30 29 80 |(fla%.%10)=%10).| 00001640 28 72 65 67 30 25 3d 2d 31 29 29 0d 00 e4 0d e7 |(reg0%=-1)).....| 00001650 73 63 31 25 3d b9 20 8c 0d 00 e5 07 20 3d b9 0d |sc1%=. ..... =..| 00001660 00 e6 05 cc 0d 00 e7 07 20 3d a3 0d 00 e8 05 cd |........ =......| 00001670 0d 00 e9 04 0d 00 ea 0b dd a4 69 73 76 67 61 0d |..........isvga.| 00001680 00 eb 23 e7 a4 69 73 73 65 6c 65 63 74 65 64 28 |..#..isselected(| 00001690 73 65 74 77 25 2c 69 5f 76 67 61 25 29 8c 3a 3d |setw%,i_vga%).:=| 000016a0 2d 31 0d 00 ec 06 3d 30 0d 00 ed 04 0d 00 ee 10 |-1....=0........| 000016b0 dd a4 69 73 6f 70 65 6e 28 77 25 29 0d 00 ef 2b |..isopen(w%)...+| 000016c0 21 62 6c 6b 25 3d 77 25 3a c8 99 20 22 57 69 6d |!blk%=w%:.. "Wim| 000016d0 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 |p_GetWindowState| 000016e0 22 2c 2c 62 6c 6b 25 0d 00 f0 20 3d 28 28 62 6c |",,blk%... =((bl| 000016f0 6b 25 21 33 32 29 80 28 31 3c 3c 31 36 29 29 3d |k%!32).(1<<16))=| 00001700 28 31 3c 3c 31 36 29 0d 00 f1 04 0d 00 f2 0f dd |(1<<16).........| 00001710 f2 73 61 76 65 73 6f 75 6e 64 0d 00 f3 08 ea 20 |.savesound..... | 00001720 41 25 0d 00 f4 5e c8 99 20 22 53 6f 75 6e 64 5f |A%...^.. "Sound_| 00001730 52 65 61 64 43 6f 6e 74 72 6f 6c 42 6c 6f 63 6b |ReadControlBlock| 00001740 22 2c 31 2c 32 20 b8 20 2c 2c 76 6f 69 63 65 25 |",1,2 . ,,voice%| 00001750 3a 76 6f 69 63 65 25 3d 76 6f 69 63 65 25 80 26 |:voice%=voice%.&| 00001760 46 46 3a ff 22 53 65 74 20 54 61 62 6c 65 41 24 |FF:."Set TableA$| 00001770 76 6f 69 63 65 31 20 22 2b c3 76 6f 69 63 65 25 |voice1 "+.voice%| 00001780 0d 00 f5 7c c8 99 20 22 53 6f 75 6e 64 5f 43 6f |...|.. "Sound_Co| 00001790 6e 66 69 67 75 72 65 22 2c 30 2c 30 2c 30 20 b8 |nfigure",0,0,0 .| 000017a0 20 41 25 2c 42 25 2c 43 25 3a ff 22 53 65 74 20 | A%,B%,C%:."Set | 000017b0 54 61 62 6c 65 41 24 74 6f 74 63 68 61 6e 73 20 |TableA$totchans | 000017c0 22 2b c3 41 25 3a ff 22 53 65 74 20 54 61 62 6c |"+.A%:."Set Tabl| 000017d0 65 41 24 73 61 6d 70 73 69 7a 65 20 22 2b c3 42 |eA$sampsize "+.B| 000017e0 25 3a ff 22 53 65 74 20 54 61 62 6c 65 41 24 73 |%:."Set TableA$s| 000017f0 61 6d 70 70 65 72 20 22 2b c3 43 25 0d 00 f6 33 |ampper "+.C%...3| 00001800 c8 99 20 22 53 6f 75 6e 64 5f 56 6f 6c 75 6d 65 |.. "Sound_Volume| 00001810 22 2c 30 20 b8 20 41 25 3a ff 22 53 65 74 20 54 |",0 . A%:."Set T| 00001820 61 62 6c 65 41 24 76 6f 6c 20 22 2b c3 41 25 0d |ableA$vol "+.A%.| 00001830 00 f7 05 e1 0d 00 f8 04 0d 00 f9 0e dd f2 73 65 |..............se| 00001840 74 73 6f 75 6e 64 0d 00 fa 33 ff 22 63 68 61 6e |tsound...3."chan| 00001850 6e 65 6c 76 6f 69 63 65 20 31 20 22 2b a4 72 65 |nelvoice 1 "+.re| 00001860 61 64 73 79 73 76 61 72 28 22 54 61 62 6c 65 41 |adsysvar("TableA| 00001870 24 76 6f 69 63 65 31 22 29 0d 00 fb 89 41 25 3d |$voice1")....A%=| 00001880 bb a4 72 65 61 64 73 79 73 76 61 72 28 22 54 61 |..readsysvar("Ta| 00001890 62 6c 65 41 24 74 6f 74 63 68 61 6e 73 22 29 3a |bleA$totchans"):| 000018a0 42 25 3d bb a4 72 65 61 64 73 79 73 76 61 72 28 |B%=..readsysvar(| 000018b0 22 54 61 62 6c 65 41 24 73 61 6d 70 73 69 7a 65 |"TableA$sampsize| 000018c0 22 29 3a 43 25 3d bb a4 72 65 61 64 73 79 73 76 |"):C%=..readsysv| 000018d0 61 72 28 22 54 61 62 6c 65 41 24 73 61 6d 70 70 |ar("TableA$sampp| 000018e0 65 72 22 29 3a c8 99 20 22 53 6f 75 6e 64 5f 43 |er"):.. "Sound_C| 000018f0 6f 6e 66 69 67 75 72 65 22 2c 41 25 2c 42 25 2c |onfigure",A%,B%,| 00001900 43 25 0d 00 fc 30 c8 99 20 22 53 6f 75 6e 64 5f |C%...0.. "Sound_| 00001910 56 6f 6c 75 6d 65 22 2c bb a4 72 65 61 64 73 79 |Volume",..readsy| 00001920 73 76 61 72 28 22 54 61 62 6c 65 41 24 76 6f 6c |svar("TableA$vol| 00001930 22 29 0d 00 fd 05 e1 0d 00 fe 04 0d 00 ff 14 dd |")..............| 00001940 f2 73 65 74 6d 6f 64 65 28 6d 6f 64 65 25 29 0d |.setmode(mode%).| 00001950 01 00 0e e7 6d 6f 64 65 25 3d 30 20 8c 0d 01 01 |....mode%=0 ....| 00001960 39 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 |9.selecticn(setw| 00001970 25 2c 69 5f 63 67 61 25 2c b9 29 3a f2 73 65 6c |%,i_cga%,.):.sel| 00001980 65 63 74 69 63 6e 28 73 65 74 77 25 2c 69 5f 76 |ecticn(setw%,i_v| 00001990 67 61 25 2c a3 29 0d 01 02 05 cc 0d 01 03 39 f2 |ga%,.)........9.| 000019a0 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 2c |selecticn(setw%,| 000019b0 69 5f 63 67 61 25 2c a3 29 3a f2 73 65 6c 65 63 |i_cga%,.):.selec| 000019c0 74 69 63 6e 28 73 65 74 77 25 2c 69 5f 76 67 61 |ticn(setw%,i_vga| 000019d0 25 2c b9 29 0d 01 04 05 cd 0d 01 05 05 e1 0d 01 |%,.)............| 000019e0 06 04 0d 01 07 1d dd f2 6c 6f 61 64 5f 74 65 6d |........load_tem| 000019f0 70 6c 61 74 65 28 77 69 6e 6e 61 6d 65 24 29 0d |plate(winname$).| 00001a00 01 08 45 77 69 6e 73 74 61 72 74 73 25 21 28 28 |..Ewinstarts%!((| 00001a10 77 69 6e 63 74 72 25 2d 31 29 2a 34 29 3d 77 70 |winctr%-1)*4)=wp| 00001a20 74 72 25 3a 69 6e 64 73 74 61 72 74 73 25 21 28 |tr%:indstarts%!(| 00001a30 28 77 69 6e 63 74 72 25 2d 31 29 2a 34 29 3d 69 |(winctr%-1)*4)=i| 00001a40 70 74 72 25 0d 01 09 54 c8 99 20 22 57 69 6d 70 |ptr%...T.. "Wimp| 00001a50 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c |_LoadTemplate",,| 00001a60 77 70 74 72 25 2c 69 70 74 72 25 2c 69 6e 64 62 |wptr%,iptr%,indb| 00001a70 61 73 65 25 2b 74 6f 74 69 6e 64 73 69 7a 65 25 |ase%+totindsize%| 00001a80 2c 2d 31 2c 77 69 6e 6e 61 6d 65 24 2c 30 20 b8 |,-1,winname$,0 .| 00001a90 20 2c 2c 69 70 74 72 25 0d 01 0a 14 6e 6f 69 63 | ,,iptr%....noic| 00001aa0 6e 73 25 3d 77 70 74 72 25 21 38 34 0d 01 0b 1b |ns%=wptr%!84....| 00001ab0 e3 6a 25 3d 30 b8 28 6e 6f 69 63 6e 73 25 2d 31 |.j%=0.(noicns%-1| 00001ac0 29 2a 33 32 88 33 32 0d 01 0c 2b 20 69 63 6e 62 |)*32.32...+ icnb| 00001ad0 6c 6b 25 3d 77 70 74 72 25 2b 38 38 2b 6a 25 3a |lk%=wptr%+88+j%:| 00001ae0 69 63 6e 66 25 3d 28 69 63 6e 62 6c 6b 25 21 31 |icnf%=(icnblk%!1| 00001af0 36 29 0d 01 0d 4f 20 e7 20 ac a4 69 6e 64 69 72 |6)...O . ..indir| 00001b00 65 63 74 65 64 28 69 63 6e 66 25 29 80 ac a4 73 |ected(icnf%)...s| 00001b10 70 72 69 74 65 28 69 63 6e 66 25 29 80 a4 74 65 |prite(icnf%)..te| 00001b20 78 74 28 69 63 6e 66 25 29 20 8c 3a 69 63 6e 66 |xt(icnf%) .:icnf| 00001b30 25 3d 69 63 6e 66 25 80 26 46 46 46 46 30 46 46 |%=icnf%.&FFFF0FF| 00001b40 46 0d 01 0e 51 20 e7 20 a4 69 6e 64 69 72 65 63 |F...Q . .indirec| 00001b50 74 65 64 28 69 63 6e 66 25 29 80 a4 73 70 72 69 |ted(icnf%)..spri| 00001b60 74 65 28 69 63 6e 66 25 29 80 ac a4 74 65 78 74 |te(icnf%)...text| 00001b70 28 69 63 6e 66 25 29 20 8c 3a 69 63 6e 62 6c 6b |(icnf%) .:icnblk| 00001b80 25 21 32 34 3d 75 73 65 72 77 69 6d 70 73 70 72 |%!24=userwimpspr| 00001b90 73 25 0d 01 0f 2b 20 e7 20 ac a4 69 6e 64 69 72 |s%...+ . ..indir| 00001ba0 65 63 74 65 64 28 69 63 6e 66 25 29 80 a4 73 70 |ected(icnf%)..sp| 00001bb0 72 69 74 65 28 69 63 6e 66 25 29 20 8c 0d 01 10 |rite(icnf%) ....| 00001bc0 23 20 20 73 70 72 6e 24 3d a4 72 65 61 64 73 74 |# sprn$=.readst| 00001bd0 72 69 6e 67 28 69 63 6e 62 6c 6b 25 2b 32 30 29 |ring(icnblk%+20)| 00001be0 0d 01 11 2e 20 20 c8 99 20 22 58 57 69 6d 70 5f |.... .. "XWimp_| 00001bf0 53 70 72 69 74 65 4f 70 22 2c 34 30 2c 2c 73 70 |SpriteOp",40,,sp| 00001c00 72 6e 24 20 b8 20 2c 2c 2c 77 25 2c 68 25 0d 01 |rn$ . ,,,w%,h%..| 00001c10 12 8f 20 20 e7 28 77 25 84 68 25 29 3d 30 3a 69 |.. .(w%.h%)=0:i| 00001c20 63 6e 66 25 3d 69 63 6e 66 25 84 32 35 36 3a 24 |cnf%=icnf%.256:$| 00001c30 69 70 74 72 25 3d 73 70 72 6e 24 3a 3f 28 69 70 |iptr%=sprn$:?(ip| 00001c40 74 72 25 2b 28 a9 73 70 72 6e 24 29 29 3d 30 3a |tr%+(.sprn$))=0:| 00001c50 69 63 6e 62 6c 6b 25 21 32 30 3d 69 70 74 72 25 |icnblk%!20=iptr%| 00001c60 3a 69 63 6e 62 6c 6b 25 21 32 34 3d 75 73 65 72 |:icnblk%!24=user| 00001c70 77 69 6d 70 73 70 72 73 25 3a 69 63 6e 62 6c 6b |wimpsprs%:icnblk| 00001c80 25 21 32 38 3d a9 73 70 72 6e 24 3a 69 70 74 72 |%!28=.sprn$:iptr| 00001c90 25 2b 3d a9 28 73 70 72 6e 24 29 2b 31 0d 01 13 |%+=.(sprn$)+1...| 00001ca0 06 20 cd 0d 01 14 15 20 69 63 6e 62 6c 6b 25 21 |. ..... icnblk%!| 00001cb0 31 36 3d 69 63 6e 66 25 0d 01 15 05 ed 0d 01 16 |16=icnf%........| 00001cc0 28 77 70 74 72 25 2b 3d 38 38 2b 28 28 77 70 74 |(wptr%+=88+((wpt| 00001cd0 72 25 21 38 34 29 2a 33 32 29 3a 77 69 6e 63 74 |r%!84)*32):winct| 00001ce0 72 25 2b 3d 31 0d 01 17 05 e1 0d 01 18 04 0d 01 |r%+=1...........| 00001cf0 19 14 dd a4 69 6e 64 69 72 65 63 74 65 64 28 66 |....indirected(f| 00001d00 25 29 0d 01 1a 13 3d 28 28 66 25 80 32 35 36 29 |%)....=((f%.256)| 00001d10 3d 32 35 36 29 0d 01 1b 04 0d 01 1c 10 dd a4 73 |=256)..........s| 00001d20 70 72 69 74 65 28 66 25 29 0d 01 1d 0f 3d 28 28 |prite(f%)....=((| 00001d30 66 25 80 32 29 3d 32 29 0d 01 1e 04 0d 01 1f 0e |f%.2)=2)........| 00001d40 dd a4 74 65 78 74 28 66 25 29 0d 01 20 0f 3d 28 |..text(f%).. .=(| 00001d50 28 66 25 80 31 29 3d 31 29 0d 01 21 04 0d 01 22 |(f%.1)=1)..!..."| 00001d60 13 dd f2 63 72 65 61 74 65 77 69 6e 64 6f 77 73 |...createwindows| 00001d70 0d 01 23 30 c8 99 20 22 57 69 6d 70 5f 43 72 65 |..#0.. "Wimp_Cre| 00001d80 61 74 65 57 69 6e 64 6f 77 22 2c 2c 77 69 6e 73 |ateWindow",,wins| 00001d90 74 61 72 74 73 25 21 30 20 b8 20 73 65 74 77 25 |tarts%!0 . setw%| 00001da0 0d 01 24 31 c8 99 20 22 57 69 6d 70 5f 43 72 65 |..$1.. "Wimp_Cre| 00001db0 61 74 65 57 69 6e 64 6f 77 22 2c 2c 77 69 6e 73 |ateWindow",,wins| 00001dc0 74 61 72 74 73 25 21 34 20 b8 20 69 6e 66 6f 77 |tarts%!4 . infow| 00001dd0 25 0d 01 25 35 f4 20 53 59 53 20 22 57 69 6d 70 |%..%5. SYS "Wimp| 00001de0 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c |_CreateWindow",,| 00001df0 77 69 6e 73 74 61 72 74 73 25 21 38 20 54 4f 20 |winstarts%!8 TO | 00001e00 6d 65 73 73 77 25 0d 01 26 1b c8 99 20 22 57 69 |messw%..&... "Wi| 00001e10 6d 70 5f 43 6c 6f 73 65 54 65 6d 70 6c 61 74 65 |mp_CloseTemplate| 00001e20 22 0d 01 27 05 e1 0d 01 28 04 0d 01 29 11 dd f2 |"..'....(...)...| 00001e30 69 6e 69 74 77 69 6e 64 6f 77 73 0d 01 2a 08 ea |initwindows..*..| 00001e40 20 6a 25 0d 01 2b 46 f2 70 75 74 69 63 6e 73 74 | j%..+F.puticnst| 00001e50 72 69 6e 67 28 73 65 74 77 25 2c 69 5f 73 73 77 |ring(setw%,i_ssw| 00001e60 72 69 74 65 25 2c a4 72 65 61 64 73 79 73 76 61 |rite%,.readsysva| 00001e70 72 28 22 54 61 62 6c 65 41 24 53 61 76 65 47 61 |r("TableA$SaveGa| 00001e80 6d 65 50 61 74 68 22 29 29 0d 01 2c 3d 76 6f 6c |mePath"))..,=vol| 00001e90 75 6d 65 25 3d bb a4 72 65 61 64 73 79 73 76 61 |ume%=..readsysva| 00001ea0 72 28 22 54 61 62 6c 65 41 24 56 6f 6c 75 6d 65 |r("TableA$Volume| 00001eb0 22 29 3a f2 73 65 74 76 6f 6c 75 6d 65 28 76 6f |"):.setvolume(vo| 00001ec0 6c 75 6d 65 25 29 0d 01 2d 22 63 61 25 3d 91 3a |lume%)..-"ca%=.:| 00001ed0 e3 63 62 25 3d 30 b8 32 30 30 30 30 3a ed 3a 73 |.cb%=0.20000:.:s| 00001ee0 70 25 3d 91 2d 63 61 25 0d 01 2e 1e e7 73 70 25 |p%=.-ca%.....sp%| 00001ef0 3e 38 20 ff 22 73 65 74 20 54 61 62 6c 65 41 24 |>8 ."set TableA$| 00001f00 56 67 61 20 30 22 0d 01 2f 2e 66 25 3d bb a4 72 |Vga 0"../.f%=..r| 00001f10 65 61 64 73 79 73 76 61 72 28 22 54 61 62 6c 65 |eadsysvar("Table| 00001f20 41 24 56 67 61 22 29 3a f2 73 65 74 6d 6f 64 65 |A$Vga"):.setmode| 00001f30 28 66 25 29 0d 01 30 12 e7 20 a4 69 73 63 67 61 |(f%)..0.. .iscga| 00001f40 6f 6e 6c 79 20 8c 0d 01 31 3b 20 20 f2 73 65 6c |only ...1; .sel| 00001f50 65 63 74 69 63 6e 28 73 65 74 77 25 2c 69 5f 63 |ecticn(setw%,i_c| 00001f60 67 61 25 2c b9 29 3a f2 73 65 6c 65 63 74 69 63 |ga%,.):.selectic| 00001f70 6e 28 73 65 74 77 25 2c 69 5f 76 67 61 25 2c a3 |n(setw%,i_vga%,.| 00001f80 29 0d 01 32 39 20 20 f2 73 68 61 64 65 69 63 6e |)..29 .shadeicn| 00001f90 28 73 65 74 77 25 2c 69 5f 63 67 61 25 2c b9 29 |(setw%,i_cga%,.)| 00001fa0 3a f2 73 68 61 64 65 69 63 6e 28 73 65 74 77 25 |:.shadeicn(setw%| 00001fb0 2c 69 5f 76 67 61 25 2c b9 29 0d 01 33 05 cd 0d |,i_vga%,.)..3...| 00001fc0 01 34 0a f4 20 44 45 4d 4f 0d 01 35 20 f2 73 68 |.4.. DEMO..5 .sh| 00001fd0 61 64 65 69 63 6e 28 73 65 74 77 25 2c 69 5f 61 |adeicn(setw%,i_a| 00001fe0 67 25 28 31 32 29 2c b9 29 0d 01 36 20 f2 73 68 |g%(12),.)..6 .sh| 00001ff0 61 64 65 69 63 6e 28 73 65 74 77 25 2c 69 5f 61 |adeicn(setw%,i_a| 00002000 67 25 28 31 34 29 2c b9 29 0d 01 37 20 f2 73 68 |g%(14),.)..7 .sh| 00002010 61 64 65 69 63 6e 28 73 65 74 77 25 2c 69 5f 61 |adeicn(setw%,i_a| 00002020 67 25 28 31 37 29 2c b9 29 0d 01 38 20 f2 73 68 |g%(17),.)..8 .sh| 00002030 61 64 65 69 63 6e 28 73 65 74 77 25 2c 69 5f 61 |adeicn(setw%,i_a| 00002040 67 25 28 31 35 29 2c b9 29 0d 01 39 54 f4 20 49 |g%(15),.)..9T. I| 00002050 46 59 25 3d 30 3a 50 52 4f 43 68 69 64 65 73 61 |FY%=0:PROChidesa| 00002060 76 65 61 72 65 61 62 69 74 3a 45 4c 53 45 3a 50 |veareabit:ELSE:P| 00002070 52 4f 43 68 69 64 65 69 63 6e 28 73 65 74 75 70 |ROChideicn(setup| 00002080 77 25 2c 33 36 2c 54 52 55 45 29 3a 50 52 4f 43 |w%,36,TRUE):PROC| 00002090 63 72 65 61 74 65 73 61 76 65 64 69 72 0d 01 3a |createsavedir..:| 000020a0 48 e7 59 25 3d 30 3a f2 68 69 64 65 73 61 76 65 |H.Y%=0:.hidesave| 000020b0 61 72 65 61 62 69 74 3a 8b 3a f2 63 72 65 61 74 |areabit:.:.creat| 000020c0 65 73 61 76 65 64 69 72 3a f2 68 69 64 65 69 63 |esavedir:.hideic| 000020d0 6e 28 73 65 74 77 25 2c 69 5f 75 6e 61 76 61 69 |n(setw%,i_unavai| 000020e0 6c 25 2c b9 29 0d 01 3b 30 70 72 65 6c 69 6e 6b |l%,.)..;0prelink| 000020f0 5f 66 6c 61 67 25 3d bb a4 72 65 61 64 73 79 73 |_flag%=..readsys| 00002100 76 61 72 28 22 54 61 62 6c 65 41 24 50 72 65 4c |var("TableA$PreL| 00002110 69 6e 6b 22 29 0d 01 3c 05 e1 0d 01 3d 04 0d 01 |ink")..<....=...| 00002120 3e 13 dd f2 63 72 65 61 74 65 73 61 76 65 64 69 |>...createsavedi| 00002130 72 0d 01 3f 54 f4 20 78 78 78 78 78 20 6e 65 65 |r..?T. xxxxx nee| 00002140 64 20 74 6f 20 63 68 61 6e 67 65 20 6d 69 6e 75 |d to change minu| 00002150 73 20 37 20 62 65 6c 6f 77 20 77 68 65 6e 20 6b |s 7 below when k| 00002160 6e 6f 77 20 77 68 61 74 20 61 70 70 6c 69 63 20 |now what applic | 00002170 69 73 20 63 61 6c 6c 65 64 20 28 37 3d 21 54 61 |is called (7=!Ta| 00002180 62 6c 65 41 29 0d 01 40 20 61 24 3d a4 72 65 61 |bleA)..@ a$=.rea| 00002190 64 73 79 73 76 61 72 28 22 54 61 62 6c 65 41 24 |dsysvar("TableA$| 000021a0 44 69 72 22 29 0d 01 41 26 e7 20 28 59 25 3d 31 |Dir")..A&. (Y%=1| 000021b0 29 80 28 a4 66 69 6c 65 74 79 70 65 28 61 24 2b |).(.filetype(a$+| 000021c0 22 2e 73 61 22 29 3d 31 29 20 8c 0d 01 42 1d 20 |".sa")=1) ...B. | 000021d0 c8 99 20 22 58 4f 53 5f 46 69 6c 65 22 2c 36 2c |.. "XOS_File",6,| 000021e0 61 24 2b 22 2e 73 61 22 0d 01 43 2b 20 f2 73 65 |a$+".sa"..C+ .se| 000021f0 74 73 61 76 65 64 69 72 28 c0 61 24 2c a9 28 61 |tsavedir(.a$,.(a| 00002200 24 29 2d 37 29 2b 22 54 61 62 6c 65 41 53 61 76 |$)-7)+"TableASav| 00002210 65 22 29 0d 01 44 05 cc 0d 01 45 34 20 e7 20 a4 |e")..D....E4 . .| 00002220 72 65 61 64 73 79 73 76 61 72 28 22 54 61 62 6c |readsysvar("Tabl| 00002230 65 41 24 45 6e 74 72 79 50 74 22 29 3d 22 66 72 |eA$EntryPt")="fr| 00002240 6f 6d 73 74 61 72 74 75 70 22 20 8c 0d 01 46 3f |omstartup" ...F?| 00002250 20 20 f2 70 75 74 69 63 6e 73 74 72 69 6e 67 28 | .puticnstring(| 00002260 73 65 74 77 25 2c 69 5f 73 64 77 72 69 74 65 25 |setw%,i_sdwrite%| 00002270 2c c0 61 24 2c a9 28 61 24 29 2d 37 29 2b 22 54 |,.a$,.(a$)-7)+"T| 00002280 61 62 6c 65 41 53 61 76 65 22 29 0d 01 47 06 20 |ableASave")..G. | 00002290 cc 0d 01 48 40 20 20 f2 70 75 74 69 63 6e 73 74 |...H@ .puticnst| 000022a0 72 69 6e 67 28 73 65 74 77 25 2c 69 5f 73 64 77 |ring(setw%,i_sdw| 000022b0 72 69 74 65 25 2c a4 72 65 61 64 73 79 73 76 61 |rite%,.readsysva| 000022c0 72 28 22 54 61 62 6c 65 41 24 53 61 76 65 22 29 |r("TableA$Save")| 000022d0 29 0d 01 49 06 20 cd 0d 01 4a 05 cd 0d 01 4b 05 |)..I. ...J....K.| 000022e0 e1 0d 01 4c 04 0d 01 4d 12 dd f2 69 63 6e 73 5f |...L...M...icns_| 000022f0 69 6e 74 69 67 65 72 0d 01 4e 16 f4 20 55 25 20 |intiger..N.. U% | 00002300 3d 20 61 30 2c 61 31 2c 61 32 2c 61 33 0d 01 4f |= a0,a1,a2,a3..O| 00002310 27 f4 20 57 25 20 3d 20 62 30 2c 62 31 2c 62 32 |'. W% = b0,b1,b2| 00002320 20 62 33 20 2e 2e 2e 2e 2e 2e 6d 69 78 65 64 28 | b3 ......mixed(| 00002330 62 31 33 29 0d 01 50 34 75 25 3d 30 3a 76 25 3d |b13)..P4u%=0:v%=| 00002340 30 3a 66 61 63 74 31 25 3d 30 3a 66 61 63 74 32 |0:fact1%=0:fact2| 00002350 25 3d 30 3a 4f 25 3d 30 3a 5a 25 3d 30 3a 52 25 |%=0:O%=0:Z%=0:R%| 00002360 3d 30 3a 4d 25 3d 30 3a 0d 01 51 0e e3 66 25 3d |=0:M%=0:..Q..f%=| 00002370 30 20 b8 20 31 32 0d 01 52 40 e7 20 a4 69 73 73 |0 . 12..R@. .iss| 00002380 65 6c 65 63 74 65 64 28 73 65 74 77 25 2c 69 5f |elected(setw%,i_| 00002390 66 61 25 28 66 25 29 29 20 75 25 3d 75 25 2b 28 |fa%(f%)) u%=u%+(| 000023a0 31 3c 3c 66 25 29 3a 66 61 63 74 31 25 3d 66 61 |1<<f%):fact1%=fa| 000023b0 63 74 31 25 2b 31 0d 01 53 40 e7 20 a4 69 73 73 |ct1%+1..S@. .iss| 000023c0 65 6c 65 63 74 65 64 28 73 65 74 77 25 2c 69 5f |elected(setw%,i_| 000023d0 66 62 25 28 66 25 29 29 20 76 25 3d 76 25 2b 28 |fb%(f%)) v%=v%+(| 000023e0 31 3c 3c 66 25 29 3a 66 61 63 74 32 25 3d 66 61 |1<<f%):fact2%=fa| 000023f0 63 74 32 25 2b 31 0d 01 54 05 ed 0d 01 55 30 e7 |ct2%+1..T....U0.| 00002400 20 a4 69 73 73 65 6c 65 63 74 65 64 28 73 65 74 | .isselected(set| 00002410 77 25 2c 69 5f 66 62 25 28 31 33 29 29 20 76 25 |w%,i_fb%(13)) v%| 00002420 3d 76 25 2b 28 31 3c 3c 31 33 29 0d 01 56 27 e7 |=v%+(1<<13)..V'.| 00002430 20 a4 69 73 73 65 6c 65 63 74 65 64 28 73 65 74 | .isselected(set| 00002440 77 25 2c 69 5f 66 61 25 28 31 33 29 29 20 5a 25 |w%,i_fa%(13)) Z%| 00002450 3d 31 0d 01 57 27 e7 20 a4 69 73 73 65 6c 65 63 |=1..W'. .isselec| 00002460 74 65 64 28 73 65 74 77 25 2c 69 5f 66 61 25 28 |ted(setw%,i_fa%(| 00002470 31 34 29 29 20 5a 25 3d 32 0d 01 58 27 e7 20 a4 |14)) Z%=2..X'. .| 00002480 69 73 73 65 6c 65 63 74 65 64 28 73 65 74 77 25 |isselected(setw%| 00002490 2c 69 5f 66 61 25 28 31 35 29 29 20 5a 25 3d 33 |,i_fa%(15)) Z%=3| 000024a0 0d 01 59 0f 55 25 3d 75 25 3a 57 25 3d 76 25 0d |..Y.U%=u%:W%=v%.| 000024b0 01 5a 11 f4 20 67 61 6d 65 73 20 6c 65 76 65 6c |.Z.. games level| 000024c0 0d 01 5b 0d e3 66 25 3d 31 20 b8 20 35 0d 01 5c |..[..f%=1 . 5..\| 000024d0 2a 20 20 e7 20 a4 69 73 73 65 6c 65 63 74 65 64 |* . .isselected| 000024e0 28 73 65 74 77 25 2c 69 5f 61 67 25 28 66 25 29 |(setw%,i_ag%(f%)| 000024f0 29 3a 4f 25 3d 66 25 0d 01 5d 05 ed 0d 01 5e 12 |):O%=f%..]....^.| 00002500 f4 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 0d 01 |. introduction..| 00002510 5f 2e e7 20 a4 69 73 73 65 6c 65 63 74 65 64 28 |_.. .isselected(| 00002520 73 65 74 77 25 2c 69 5f 61 67 25 28 31 31 29 29 |setw%,i_ag%(11))| 00002530 20 50 25 3d 31 20 8b 20 50 25 3d 30 0d 01 60 14 | P%=1 . P%=0..`.| 00002540 f4 20 61 64 76 65 6e 74 75 72 65 20 74 79 70 65 |. adventure type| 00002550 0d 01 61 0f e3 66 25 3d 31 32 20 b8 20 31 35 0d |..a..f%=12 . 15.| 00002560 01 62 2d 20 20 e7 20 a4 69 73 73 65 6c 65 63 74 |.b- . .isselect| 00002570 65 64 28 73 65 74 77 25 2c 69 5f 61 67 25 28 66 |ed(setw%,i_ag%(f| 00002580 25 29 29 20 52 25 3d 66 25 2d 31 31 0d 01 63 05 |%)) R%=f%-11..c.| 00002590 ed 0d 01 64 1f f4 20 61 64 76 65 6e 74 75 72 65 |...d.. adventure| 000025a0 2f 61 63 74 69 76 69 74 79 20 62 75 74 74 6f 6e |/activity button| 000025b0 0d 01 65 35 20 20 e7 20 a4 69 73 73 65 6c 65 63 |..e5 . .isselec| 000025c0 74 65 64 28 73 65 74 77 25 2c 69 5f 61 67 25 28 |ted(setw%,i_ag%(| 000025d0 31 36 29 29 20 4d 25 3d 31 3a f2 68 69 64 65 5f |16)) M%=1:.hide_| 000025e0 61 63 74 69 76 0d 01 66 36 20 20 e7 20 a4 69 73 |activ..f6 . .is| 000025f0 73 65 6c 65 63 74 65 64 28 73 65 74 77 25 2c 69 |selected(setw%,i| 00002600 5f 61 67 25 28 31 37 29 29 20 4d 25 3d 32 3a f2 |_ag%(17)) M%=2:.| 00002610 68 69 64 65 5f 61 64 76 65 6e 74 0d 01 67 13 f4 |hide_advent..g..| 00002620 20 61 63 74 69 76 69 74 79 20 6c 69 73 74 0d 01 | activity list..| 00002630 68 08 58 25 3d 30 0d 01 69 0f e3 66 25 3d 31 38 |h.X%=0..i..f%=18| 00002640 20 b8 20 32 38 0d 01 6a 32 20 20 e7 20 a4 69 73 | . 28..j2 . .is| 00002650 73 65 6c 65 63 74 65 64 28 73 65 74 77 25 2c 69 |selected(setw%,i| 00002660 5f 61 67 25 28 66 25 29 29 20 58 25 3d 58 25 2b |_ag%(f%)) X%=X%+| 00002670 28 66 25 2d 31 37 29 0d 01 6b 05 ed 0d 01 6c 2f |(f%-17)..k....l/| 00002680 20 20 e7 20 a4 69 73 73 65 6c 65 63 74 65 64 28 | . .isselected(| 00002690 73 65 74 77 25 2c 69 5f 61 67 25 28 36 32 29 29 |setw%,i_ag%(62))| 000026a0 20 58 25 3d 58 25 2b 28 31 32 29 0d 01 6d 0f e3 | X%=X%+(12)..m..| 000026b0 66 25 3d 32 39 20 b8 20 33 39 0d 01 6e 37 20 20 |f%=29 . 39..n7 | 000026c0 e7 20 a4 69 73 73 65 6c 65 63 74 65 64 28 73 65 |. .isselected(se| 000026d0 74 77 25 2c 69 5f 61 67 25 28 66 25 29 29 20 58 |tw%,i_ag%(f%)) X| 000026e0 25 3d 58 25 2b 28 28 66 25 2d 32 38 29 2a 31 36 |%=X%+((f%-28)*16| 000026f0 29 0d 01 6f 05 ed 0d 01 70 34 20 20 e7 20 a4 69 |)..o....p4 . .i| 00002700 73 73 65 6c 65 63 74 65 64 28 73 65 74 77 25 2c |sselected(setw%,| 00002710 69 5f 61 67 25 28 36 33 29 29 20 58 25 3d 58 25 |i_ag%(63)) X%=X%| 00002720 2b 28 28 31 32 29 2a 31 36 29 0d 01 71 0f e3 66 |+((12)*16)..q..f| 00002730 25 3d 34 30 20 b8 20 35 30 0d 01 72 38 20 20 e7 |%=40 . 50..r8 .| 00002740 20 a4 69 73 73 65 6c 65 63 74 65 64 28 73 65 74 | .isselected(set| 00002750 77 25 2c 69 5f 61 67 25 28 66 25 29 29 20 58 25 |w%,i_ag%(f%)) X%| 00002760 3d 58 25 2b 28 28 66 25 2d 33 39 29 2a 32 35 36 |=X%+((f%-39)*256| 00002770 29 0d 01 73 05 ed 0d 01 74 35 20 20 e7 20 a4 69 |)..s....t5 . .i| 00002780 73 73 65 6c 65 63 74 65 64 28 73 65 74 77 25 2c |sselected(setw%,| 00002790 69 5f 61 67 25 28 36 34 29 29 20 58 25 3d 58 25 |i_ag%(64)) X%=X%| 000027a0 2b 28 28 31 32 29 2a 32 35 36 29 0d 01 75 0f e3 |+((12)*256)..u..| 000027b0 66 25 3d 35 31 20 b8 20 36 31 0d 01 76 39 20 20 |f%=51 . 61..v9 | 000027c0 e7 20 a4 69 73 73 65 6c 65 63 74 65 64 28 73 65 |. .isselected(se| 000027d0 74 77 25 2c 69 5f 61 67 25 28 66 25 29 29 20 58 |tw%,i_ag%(f%)) X| 000027e0 25 3d 58 25 2b 28 28 66 25 2d 35 30 29 2a 34 30 |%=X%+((f%-50)*40| 000027f0 39 36 29 0d 01 77 05 ed 0d 01 78 36 20 20 e7 20 |96)..w....x6 . | 00002800 a4 69 73 73 65 6c 65 63 74 65 64 28 73 65 74 77 |.isselected(setw| 00002810 25 2c 69 5f 61 67 25 28 36 35 29 29 20 58 25 3d |%,i_ag%(65)) X%=| 00002820 58 25 2b 28 28 31 32 29 2a 34 30 39 36 29 0d 01 |X%+((12)*4096)..| 00002830 79 05 e1 0d 01 7a 04 0d 01 7b 12 dd f2 69 6e 74 |y....z...{...int| 00002840 69 67 65 72 5f 69 63 6e 73 0d 01 7c 16 f4 20 55 |iger_icns..|.. U| 00002850 25 20 3d 20 61 30 2c 61 31 2c 61 32 2c 61 33 0d |% = a0,a1,a2,a3.| 00002860 01 7d 27 f4 20 57 25 20 3d 20 62 30 2c 62 31 2c |.}'. W% = b0,b1,| 00002870 62 32 20 62 33 20 2e 2e 2e 2e 2e 2e 6d 69 78 65 |b2 b3 ......mixe| 00002880 64 28 62 31 33 29 0d 01 7e 0e e3 66 25 3d 30 20 |d(b13)..~..f%=0 | 00002890 b8 20 31 32 0d 01 7f 5b 20 20 e7 28 55 25 20 80 |. 12...[ .(U% .| 000028a0 20 28 31 3c 3c 66 25 29 29 3d 28 31 3c 3c 66 25 | (1<<f%))=(1<<f%| 000028b0 29 20 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 |) .selecticn(set| 000028c0 77 25 2c 69 5f 66 61 25 28 66 25 29 2c b9 29 20 |w%,i_fa%(f%),.) | 000028d0 8b 20 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 |. .selecticn(set| 000028e0 77 25 2c 69 5f 66 61 25 28 66 25 29 2c a3 29 0d |w%,i_fa%(f%),.).| 000028f0 01 80 05 ed 0d 01 81 0e e3 66 25 3d 30 20 b8 20 |.........f%=0 . | 00002900 31 33 0d 01 82 5b 20 20 e7 28 57 25 20 80 20 28 |13...[ .(W% . (| 00002910 31 3c 3c 66 25 29 29 3d 28 31 3c 3c 66 25 29 20 |1<<f%))=(1<<f%) | 00002920 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 |.selecticn(setw%| 00002930 2c 69 5f 66 62 25 28 66 25 29 2c b9 29 20 8b 20 |,i_fb%(f%),.) . | 00002940 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 |.selecticn(setw%| 00002950 2c 69 5f 66 62 25 28 66 25 29 2c a3 29 0d 01 83 |,i_fb%(f%),.)...| 00002960 05 ed 0d 01 84 63 e7 5a 25 3d 31 20 f2 73 65 6c |.....c.Z%=1 .sel| 00002970 65 63 74 69 63 6e 28 73 65 74 77 25 2c 69 5f 66 |ecticn(setw%,i_f| 00002980 61 25 28 31 33 29 2c b9 29 3a f2 73 65 6c 65 63 |a%(13),.):.selec| 00002990 74 69 63 6e 28 73 65 74 77 25 2c 69 5f 66 61 25 |ticn(setw%,i_fa%| 000029a0 28 31 34 29 2c a3 29 3a f2 73 65 6c 65 63 74 69 |(14),.):.selecti| 000029b0 63 6e 28 73 65 74 77 25 2c 69 5f 66 61 25 28 31 |cn(setw%,i_fa%(1| 000029c0 35 29 2c a3 29 0d 01 85 63 e7 5a 25 3d 32 20 f2 |5),.)...c.Z%=2 .| 000029d0 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 2c |selecticn(setw%,| 000029e0 69 5f 66 61 25 28 31 33 29 2c a3 29 3a f2 73 65 |i_fa%(13),.):.se| 000029f0 6c 65 63 74 69 63 6e 28 73 65 74 77 25 2c 69 5f |lecticn(setw%,i_| 00002a00 66 61 25 28 31 34 29 2c b9 29 3a f2 73 65 6c 65 |fa%(14),.):.sele| 00002a10 63 74 69 63 6e 28 73 65 74 77 25 2c 69 5f 66 61 |cticn(setw%,i_fa| 00002a20 25 28 31 35 29 2c a3 29 0d 01 86 63 e7 5a 25 3d |%(15),.)...c.Z%=| 00002a30 33 20 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 |3 .selecticn(set| 00002a40 77 25 2c 69 5f 66 61 25 28 31 33 29 2c a3 29 3a |w%,i_fa%(13),.):| 00002a50 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 |.selecticn(setw%| 00002a60 2c 69 5f 66 61 25 28 31 34 29 2c a3 29 3a f2 73 |,i_fa%(14),.):.s| 00002a70 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 2c 69 |electicn(setw%,i| 00002a80 5f 66 61 25 28 31 35 29 2c b9 29 0d 01 87 11 f4 |_fa%(15),.).....| 00002a90 20 67 61 6d 65 73 20 6c 65 76 65 6c 0d 01 88 0d | games level....| 00002aa0 e3 66 25 3d 31 20 b8 20 35 0d 01 89 4b 20 20 e7 |.f%=1 . 5...K .| 00002ab0 20 4f 25 3d 66 25 20 f2 73 65 6c 65 63 74 69 63 | O%=f% .selectic| 00002ac0 6e 28 73 65 74 77 25 2c 69 5f 61 67 25 28 66 25 |n(setw%,i_ag%(f%| 00002ad0 29 2c b9 29 20 8b 20 f2 73 65 6c 65 63 74 69 63 |),.) . .selectic| 00002ae0 6e 28 73 65 74 77 25 2c 69 5f 61 67 25 28 66 25 |n(setw%,i_ag%(f%| 00002af0 29 2c a3 29 0d 01 8a 05 ed 0d 01 8b 12 f4 20 69 |),.).......... i| 00002b00 6e 74 72 6f 64 75 63 74 69 6f 6e 0d 01 8c 4a 20 |ntroduction...J | 00002b10 20 e7 20 50 25 3d 31 20 f2 73 65 6c 65 63 74 69 | . P%=1 .selecti| 00002b20 63 6e 28 73 65 74 77 25 2c 69 5f 61 67 25 28 31 |cn(setw%,i_ag%(1| 00002b30 31 29 2c b9 29 20 8b 20 f2 73 65 6c 65 63 74 69 |1),.) . .selecti| 00002b40 63 6e 28 73 65 74 77 25 2c 69 5f 61 67 25 28 31 |cn(setw%,i_ag%(1| 00002b50 31 29 2c a3 29 0d 01 8d 14 f4 20 61 64 76 65 6e |1),.)..... adven| 00002b60 74 75 72 65 20 74 79 70 65 0d 01 8e 0f e3 66 25 |ture type.....f%| 00002b70 3d 31 32 20 b8 20 31 35 0d 01 8f 4e 20 20 e7 20 |=12 . 15...N . | 00002b80 52 25 3d 66 25 2d 31 31 20 f2 73 65 6c 65 63 74 |R%=f%-11 .select| 00002b90 69 63 6e 28 73 65 74 77 25 2c 69 5f 61 67 25 28 |icn(setw%,i_ag%(| 00002ba0 66 25 29 2c b9 29 20 8b 20 f2 73 65 6c 65 63 74 |f%),.) . .select| 00002bb0 69 63 6e 28 73 65 74 77 25 2c 69 5f 61 67 25 28 |icn(setw%,i_ag%(| 00002bc0 66 25 29 2c a3 29 0d 01 90 05 ed 0d 01 91 1f f4 |f%),.)..........| 00002bd0 20 61 64 76 65 6e 74 75 72 65 2f 61 63 74 69 76 | adventure/activ| 00002be0 69 74 79 20 62 75 74 74 6f 6e 0d 01 92 54 20 20 |ity button...T | 00002bf0 e7 20 4d 25 3d 31 20 f2 73 65 6c 65 63 74 69 63 |. M%=1 .selectic| 00002c00 6e 28 73 65 74 77 25 2c 69 5f 61 67 25 28 31 36 |n(setw%,i_ag%(16| 00002c10 29 2c b9 29 3a f2 73 65 6c 65 63 74 69 63 6e 28 |),.):.selecticn(| 00002c20 73 65 74 77 25 2c 69 5f 61 67 25 28 31 37 29 2c |setw%,i_ag%(17),| 00002c30 a3 29 3a f2 68 69 64 65 5f 61 63 74 69 76 0d 01 |.):.hide_activ..| 00002c40 93 55 20 20 e7 20 4d 25 3d 32 20 f2 73 65 6c 65 |.U . M%=2 .sele| 00002c50 63 74 69 63 6e 28 73 65 74 77 25 2c 69 5f 61 67 |cticn(setw%,i_ag| 00002c60 25 28 31 36 29 2c a3 29 3a f2 73 65 6c 65 63 74 |%(16),.):.select| 00002c70 69 63 6e 28 73 65 74 77 25 2c 69 5f 61 67 25 28 |icn(setw%,i_ag%(| 00002c80 31 37 29 2c b9 29 3a f2 68 69 64 65 5f 61 64 76 |17),.):.hide_adv| 00002c90 65 6e 74 0d 01 94 13 f4 20 61 63 74 69 76 69 74 |ent..... activit| 00002ca0 79 20 6c 69 73 74 0d 01 95 0f e3 66 25 3d 31 38 |y list.....f%=18| 00002cb0 20 b8 20 32 38 0d 01 96 57 20 20 e7 20 28 28 58 | . 28...W . ((X| 00002cc0 25 20 83 20 31 36 29 2b 31 37 29 3d 66 25 20 f2 |% . 16)+17)=f% .| 00002cd0 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 2c |selecticn(setw%,| 00002ce0 69 5f 61 67 25 28 66 25 29 2c b9 29 20 8b 20 f2 |i_ag%(f%),.) . .| 00002cf0 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 2c |selecticn(setw%,| 00002d00 69 5f 61 67 25 28 66 25 29 2c a3 29 0d 01 97 05 |i_ag%(f%),.)....| 00002d10 ed 0d 01 98 54 20 20 e7 20 28 28 58 25 20 83 20 |....T . ((X% . | 00002d20 31 36 29 29 3d 31 32 20 f2 73 65 6c 65 63 74 69 |16))=12 .selecti| 00002d30 63 6e 28 73 65 74 77 25 2c 69 5f 61 67 25 28 36 |cn(setw%,i_ag%(6| 00002d40 32 29 2c b9 29 20 8b 20 f2 73 65 6c 65 63 74 69 |2),.) . .selecti| 00002d50 63 6e 28 73 65 74 77 25 2c 69 5f 61 67 25 28 36 |cn(setw%,i_ag%(6| 00002d60 32 29 2c a3 29 0d 01 99 0f e3 66 25 3d 32 39 20 |2),.).....f%=29 | 00002d70 b8 20 33 39 0d 01 9a 5e 20 20 e7 20 28 28 28 58 |. 39...^ . (((X| 00002d80 25 20 81 20 31 36 29 20 83 20 31 36 29 2b 32 38 |% . 16) . 16)+28| 00002d90 29 3d 66 25 20 f2 73 65 6c 65 63 74 69 63 6e 28 |)=f% .selecticn(| 00002da0 73 65 74 77 25 2c 69 5f 61 67 25 28 66 25 29 2c |setw%,i_ag%(f%),| 00002db0 b9 29 20 8b 20 f2 73 65 6c 65 63 74 69 63 6e 28 |.) . .selecticn(| 00002dc0 73 65 74 77 25 2c 69 5f 61 67 25 28 66 25 29 2c |setw%,i_ag%(f%),| 00002dd0 a3 29 0d 01 9b 05 ed 0d 01 9c 59 20 20 e7 20 28 |.)........Y . (| 00002de0 28 58 25 20 81 20 31 36 29 20 83 20 31 36 29 3d |(X% . 16) . 16)=| 00002df0 31 32 20 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 |12 .selecticn(se| 00002e00 74 77 25 2c 69 5f 61 67 25 28 36 33 29 2c b9 29 |tw%,i_ag%(63),.)| 00002e10 20 8b 20 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 | . .selecticn(se| 00002e20 74 77 25 2c 69 5f 61 67 25 28 36 33 29 2c a3 29 |tw%,i_ag%(63),.)| 00002e30 0d 01 9d 0f e3 66 25 3d 34 30 20 b8 20 35 30 0d |.....f%=40 . 50.| 00002e40 01 9e 5f 20 20 e7 20 28 28 28 58 25 20 81 20 32 |.._ . (((X% . 2| 00002e50 35 36 29 20 83 20 31 36 29 2b 33 39 29 3d 66 25 |56) . 16)+39)=f%| 00002e60 20 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 | .selecticn(setw| 00002e70 25 2c 69 5f 61 67 25 28 66 25 29 2c b9 29 20 8b |%,i_ag%(f%),.) .| 00002e80 20 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 | .selecticn(setw| 00002e90 25 2c 69 5f 61 67 25 28 66 25 29 2c a3 29 0d 01 |%,i_ag%(f%),.)..| 00002ea0 9f 05 ed 0d 01 a0 5a 20 20 e7 20 28 28 58 25 20 |......Z . ((X% | 00002eb0 81 20 32 35 36 29 20 83 20 31 36 29 3d 31 32 20 |. 256) . 16)=12 | 00002ec0 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 |.selecticn(setw%| 00002ed0 2c 69 5f 61 67 25 28 36 34 29 2c b9 29 20 8b 20 |,i_ag%(64),.) . | 00002ee0 f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 |.selecticn(setw%| 00002ef0 2c 69 5f 61 67 25 28 36 34 29 2c a3 29 0d 01 a1 |,i_ag%(64),.)...| 00002f00 0f e3 66 25 3d 35 31 20 b8 20 36 31 0d 01 a2 60 |..f%=51 . 61...`| 00002f10 20 20 e7 20 28 28 28 58 25 20 81 20 34 30 39 36 | . (((X% . 4096| 00002f20 29 20 83 20 31 36 29 2b 35 30 29 3d 66 25 20 f2 |) . 16)+50)=f% .| 00002f30 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 2c |selecticn(setw%,| 00002f40 69 5f 61 67 25 28 66 25 29 2c b9 29 20 8b 20 f2 |i_ag%(f%),.) . .| 00002f50 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 2c |selecticn(setw%,| 00002f60 69 5f 61 67 25 28 66 25 29 2c a3 29 0d 01 a3 05 |i_ag%(f%),.)....| 00002f70 ed 0d 01 a4 5b 20 20 e7 20 28 28 58 25 20 81 20 |....[ . ((X% . | 00002f80 34 30 39 36 29 20 83 20 31 36 29 3d 31 32 20 f2 |4096) . 16)=12 .| 00002f90 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 2c |selecticn(setw%,| 00002fa0 69 5f 61 67 25 28 36 35 29 2c b9 29 20 8b 20 f2 |i_ag%(65),.) . .| 00002fb0 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 25 2c |selecticn(setw%,| 00002fc0 69 5f 61 67 25 28 36 35 29 2c a3 29 0d 01 a5 05 |i_ag%(65),.)....| 00002fd0 e1 0d 01 a6 04 0d 01 a7 13 dd f2 68 69 64 65 5f |...........hide_| 00002fe0 61 64 76 65 6e 74 3a e1 0d 01 a8 11 20 20 e3 68 |advent:..... .h| 00002ff0 25 3d 31 31 20 b8 20 31 35 0d 01 a9 24 20 20 20 |%=11 . 15...$ | 00003000 20 f2 73 68 61 64 65 69 63 6e 28 73 65 74 77 25 | .shadeicn(setw%| 00003010 2c 69 5f 61 67 25 28 68 25 29 2c b9 29 0d 01 aa |,i_ag%(h%),.)...| 00003020 07 20 20 ed 0d 01 ab 11 20 20 e3 68 25 3d 31 38 |. ..... .h%=18| 00003030 20 b8 20 36 35 0d 01 ac 24 20 20 20 20 f2 73 68 | . 65...$ .sh| 00003040 61 64 65 69 63 6e 28 73 65 74 77 25 2c 69 5f 61 |adeicn(setw%,i_a| 00003050 67 25 28 68 25 29 2c a3 29 0d 01 ad 07 20 20 ed |g%(h%),.).... .| 00003060 0d 01 ae 05 e1 0d 01 af 04 0d 01 b0 10 dd f2 68 |...............h| 00003070 69 64 65 5f 61 63 74 69 76 0d 01 b1 11 20 20 e3 |ide_activ.... .| 00003080 68 25 3d 31 31 20 b8 20 31 35 0d 01 b2 2c f4 20 |h%=11 . 15...,. | 00003090 20 20 20 50 52 4f 43 73 68 61 64 65 69 63 6e 28 | PROCshadeicn(| 000030a0 73 65 74 77 25 2c 69 5f 61 67 25 28 68 25 29 2c |setw%,i_ag%(h%),| 000030b0 46 41 4c 53 45 29 0d 01 b3 07 20 20 ed 0d 01 b4 |FALSE).... ....| 000030c0 11 20 20 e3 68 25 3d 31 38 20 b8 20 36 35 0d 01 |. .h%=18 . 65..| 000030d0 b5 24 20 20 20 20 f2 73 68 61 64 65 69 63 6e 28 |.$ .shadeicn(| 000030e0 73 65 74 77 25 2c 69 5f 61 67 25 28 68 25 29 2c |setw%,i_ag%(h%),| 000030f0 b9 29 0d 01 b6 07 20 20 ed 0d 01 b7 05 e1 0d 01 |.).... ........| 00003100 b8 04 0d 01 b9 15 dd f2 73 65 74 76 6f 6c 75 6d |........setvolum| 00003110 65 28 76 6f 6c 25 29 0d 01 ba 0c e3 69 76 25 3d |e(vol%).....iv%=| 00003120 30 b8 32 0d 01 bb 53 e7 69 76 25 3d 76 6f 6c 25 |0.2...S.iv%=vol%| 00003130 3a f2 73 65 6c 65 63 74 69 63 6e 28 73 65 74 77 |:.selecticn(setw| 00003140 25 2c 69 5f 73 6f 75 6e 64 25 28 69 76 25 29 2c |%,i_sound%(iv%),| 00003150 b9 29 3a 8b 3a f2 73 65 6c 65 63 74 69 63 6e 28 |.):.:.selecticn(| 00003160 73 65 74 77 25 2c 69 5f 73 6f 75 6e 64 25 28 69 |setw%,i_sound%(i| 00003170 76 25 29 2c a3 29 0d 01 bc 05 ed 0d 01 bd 05 e1 |v%),.)..........| 00003180 0d 01 be 04 0d 01 bf 0f dd f2 63 68 65 63 6b 61 |..........checka| 00003190 72 6d 33 0d 01 c0 0c 48 25 21 26 44 43 3d 30 0d |rm3....H%!&DC=0.| 000031a0 01 c1 09 74 31 25 3d 91 0d 01 c2 11 e3 6b 25 3d |...t1%=......k%=| 000031b0 30 b8 32 30 30 30 30 3a ed 0d 01 c3 09 74 32 25 |0.20000:.....t2%| 000031c0 3d 91 0d 01 c4 1a e7 28 74 32 25 2d 74 31 25 29 |=......(t2%-t1%)| 000031d0 3c 31 35 3a 48 25 21 26 44 43 3d 31 0d 01 c5 05 |<15:H%!&DC=1....| 000031e0 e1 0d 01 c6 04 0d 01 c7 1c dd f2 70 75 74 69 63 |...........putic| 000031f0 6e 73 74 72 69 6e 67 28 77 25 2c 69 25 2c 61 24 |nstring(w%,i%,a$| 00003200 29 0d 01 c8 33 21 62 6c 6b 25 3d 77 25 3a 62 6c |)...3!blk%=w%:bl| 00003210 6b 25 21 34 3d 69 25 3a c8 99 20 22 57 69 6d 70 |k%!4=i%:.. "Wimp| 00003220 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c |_GetIconState",,| 00003230 62 6c 6b 25 0d 01 c9 24 24 28 62 6c 6b 25 21 32 |blk%...$$(blk%!2| 00003240 38 29 3d 61 24 3a 3f 28 28 62 6c 6b 25 21 32 38 |8)=a$:?((blk%!28| 00003250 29 2b a9 61 24 29 3d 30 0d 01 ca 33 62 6c 6b 25 |)+.a$)=0...3blk%| 00003260 21 38 3d 30 3a 62 6c 6b 25 21 31 32 3d 30 3a c8 |!8=0:blk%!12=0:.| 00003270 99 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 |. "Wimp_SetIconS| 00003280 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 01 cb 05 e1 |tate",,blk%.....| 00003290 0d 01 cc 04 0d 01 cd 19 dd a4 67 65 74 69 63 6e |..........geticn| 000032a0 73 74 72 69 6e 67 28 77 25 2c 69 25 29 0d 01 ce |string(w%,i%)...| 000032b0 33 21 62 6c 6b 25 3d 77 25 3a 62 6c 6b 25 21 34 |3!blk%=w%:blk%!4| 000032c0 3d 69 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 |=i%:.. "Wimp_Get| 000032d0 49 63 6f 6e 53 74 61 74 65 22 2c 2c 62 6c 6b 25 |IconState",,blk%| 000032e0 0d 01 cf 19 3d a4 72 65 61 64 73 74 72 69 6e 67 |....=.readstring| 000032f0 28 62 6c 6b 25 21 32 38 29 0d 01 d0 04 0d 01 d1 |(blk%!28).......| 00003300 19 dd f2 73 65 6c 65 63 74 69 63 6e 28 77 25 2c |...selecticn(w%,| 00003310 69 25 2c 66 25 29 0d 01 d2 46 21 62 6c 6b 25 3d |i%,f%)...F!blk%=| 00003320 77 25 3a 62 6c 6b 25 21 34 3d 69 25 3a 62 6c 6b |w%:blk%!4=i%:blk| 00003330 25 21 31 32 3d 28 31 3c 3c 32 31 29 3a e7 66 25 |%!12=(1<<21):.f%| 00003340 3d 30 20 62 6c 6b 25 21 38 3d 30 3a 8b 20 62 6c |=0 blk%!8=0:. bl| 00003350 6b 25 21 38 3d 62 6c 6b 25 21 31 32 0d 01 d3 20 |k%!8=blk%!12... | 00003360 c8 99 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e |.. "Wimp_SetIcon| 00003370 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 01 d4 05 |State",,blk%....| 00003380 e1 0d 01 d5 04 0d 01 d6 18 dd f2 73 68 61 64 65 |...........shade| 00003390 69 63 6e 28 77 25 2c 69 25 2c 66 25 29 0d 01 d7 |icn(w%,i%,f%)...| 000033a0 24 21 62 6c 6b 25 3d 77 25 3a 62 6c 6b 25 21 34 |$!blk%=w%:blk%!4| 000033b0 3d 69 25 3a 62 6c 6b 25 21 31 32 3d 31 3c 3c 32 |=i%:blk%!12=1<<2| 000033c0 32 0d 01 d8 1f e7 66 25 20 62 6c 6b 25 21 38 3d |2.....f% blk%!8=| 000033d0 31 3c 3c 32 32 3a 8b 3a 62 6c 6b 25 21 38 3d 30 |1<<22:.:blk%!8=0| 000033e0 0d 01 d9 20 c8 99 20 22 57 69 6d 70 5f 53 65 74 |... .. "Wimp_Set| 000033f0 49 63 6f 6e 53 74 61 74 65 22 2c 2c 62 6c 6b 25 |IconState",,blk%| 00003400 0d 01 da 05 e1 0d 01 db 04 0d 01 dc 17 dd f2 66 |...............f| 00003410 61 64 65 69 63 6e 28 77 25 2c 69 25 2c 66 25 29 |adeicn(w%,i%,f%)| 00003420 0d 01 dd 08 ea 20 6a 25 0d 01 de 0e e3 20 6a 25 |..... j%..... j%| 00003430 3d 32 34 b8 32 37 0d 01 df 25 20 21 62 6c 6b 25 |=24.27...% !blk%| 00003440 3d 77 25 3a 62 6c 6b 25 21 34 3d 69 25 3a 62 6c |=w%:blk%!4=i%:bl| 00003450 6b 25 21 31 32 3d 31 3c 3c 6a 25 0d 01 e0 0a 20 |k%!12=1<<j%.... | 00003460 e7 66 25 20 8c 0d 01 e1 25 20 20 e7 6a 25 3c 3d |.f% ....% .j%<=| 00003470 32 35 3a 62 6c 6b 25 21 38 3d 31 3c 3c 6a 25 3a |25:blk%!8=1<<j%:| 00003480 8b 3a 62 6c 6b 25 21 38 3d 30 0d 01 e2 06 20 cc |.:blk%!8=0.... .| 00003490 0d 01 e3 25 20 20 e7 6a 25 3c 3d 32 36 3a 62 6c |...% .j%<=26:bl| 000034a0 6b 25 21 38 3d 31 3c 3c 6a 25 3a 8b 3a 62 6c 6b |k%!8=1<<j%:.:blk| 000034b0 25 21 38 3d 30 0d 01 e4 06 20 cd 0d 01 e5 21 20 |%!8=0.... ....! | 000034c0 c8 99 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e |.. "Wimp_SetIcon| 000034d0 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 01 e6 05 |State",,blk%....| 000034e0 ed 0d 01 e7 05 e1 0d 01 e8 04 0d 01 e9 17 dd f2 |................| 000034f0 68 69 64 65 69 63 6e 28 77 25 2c 69 25 2c 66 25 |hideicn(w%,i%,f%| 00003500 29 0d 01 ea 24 21 62 6c 6b 25 3d 77 25 3a 62 6c |)...$!blk%=w%:bl| 00003510 6b 25 21 34 3d 69 25 3a 62 6c 6b 25 21 31 32 3d |k%!4=i%:blk%!12=| 00003520 31 3c 3c 32 33 0d 01 eb 1f e7 66 25 20 62 6c 6b |1<<23.....f% blk| 00003530 25 21 38 3d 31 3c 3c 32 33 3a 8b 3a 62 6c 6b 25 |%!8=1<<23:.:blk%| 00003540 21 38 3d 30 0d 01 ec 20 c8 99 20 22 57 69 6d 70 |!8=0... .. "Wimp| 00003550 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c |_SetIconState",,| 00003560 62 6c 6b 25 0d 01 ed 05 e1 0d 01 ee 04 0d 01 ef |blk%............| 00003570 15 dd f2 68 69 64 65 73 61 76 65 61 72 65 61 62 |...hidesaveareab| 00003580 69 74 0d 01 f0 20 f2 68 69 64 65 69 63 6e 28 73 |it... .hideicn(s| 00003590 65 74 77 25 2c 69 5f 73 64 77 72 69 74 65 25 2c |etw%,i_sdwrite%,| 000035a0 b9 29 0d 01 f1 1e f2 68 69 64 65 69 63 6e 28 73 |.).....hideicn(s| 000035b0 65 74 77 25 2c 69 5f 73 64 64 69 72 25 2c b9 29 |etw%,i_sddir%,.)| 000035c0 0d 01 f2 1d f2 68 69 64 65 69 63 6e 28 73 65 74 |.....hideicn(set| 000035d0 77 25 2c 69 5f 73 64 6f 6b 25 2c b9 29 0d 01 f3 |w%,i_sdok%,.)...| 000035e0 1f f2 68 69 64 65 69 63 6e 28 73 65 74 77 25 2c |..hideicn(setw%,| 000035f0 69 5f 73 64 64 72 6f 70 25 2c b9 29 0d 01 f4 05 |i_sddrop%,.)....| 00003600 e1 0d 01 f5 04 0d 01 f6 13 dd f2 63 72 65 61 74 |...........creat| 00003610 65 62 61 72 69 63 6f 6e 0d 01 f7 16 24 62 61 72 |ebaricon....$bar| 00003620 69 63 6e 25 3d 22 69 63 6f 6e 62 61 72 22 0d 01 |icn%="iconbar"..| 00003630 f8 34 21 62 6c 6b 25 3d 2d 31 3a 62 6c 6b 25 21 |.4!blk%=-1:blk%!| 00003640 34 3d 30 3a 62 6c 6b 25 21 38 3d 30 3a 62 6c 6b |4=0:blk%!8=0:blk| 00003650 25 21 31 32 3d 36 32 3a 62 6c 6b 25 21 31 36 3d |%!12=62:blk%!16=| 00003660 37 32 0d 01 f9 4d 62 6c 6b 25 21 32 30 3d 26 31 |72...Mblk%!20=&1| 00003670 30 30 30 33 31 33 41 3a 62 6c 6b 25 21 32 34 3d |000313A:blk%!24=| 00003680 62 61 72 69 63 6e 25 3a 62 6c 6b 25 21 32 38 3d |baricn%:blk%!28=| 00003690 75 73 65 72 77 69 6d 70 73 70 72 73 25 3a 62 6c |userwimpsprs%:bl| 000036a0 6b 25 21 33 32 3d a9 24 62 61 72 69 63 6e 25 0d |k%!32=.$baricn%.| 000036b0 01 fa 1e c8 99 20 22 57 69 6d 70 5f 43 72 65 61 |..... "Wimp_Crea| 000036c0 74 65 49 63 6f 6e 22 2c 2c 62 6c 6b 25 0d 01 fb |teIcon",,blk%...| 000036d0 05 e1 0d 01 fc 04 0d 01 fd 0e dd f2 70 6f 6c 6c |............poll| 000036e0 6c 6f 6f 70 0d 01 fe 28 c8 99 20 22 57 69 6d 70 |loop...(.. "Wimp| 000036f0 5f 50 6f 6c 6c 22 2c 25 31 31 30 30 30 31 2c 62 |_Poll",%110001,b| 00003700 6c 6b 25 20 b8 20 65 76 65 6e 74 25 0d 01 ff 0f |lk% . event%....| 00003710 c8 8e 20 65 76 65 6e 74 25 20 ca 0d 02 00 12 20 |.. event% ..... | 00003720 20 c9 20 31 3a 20 f2 72 65 64 72 61 77 0d 02 01 | . 1: .redraw...| 00003730 1a 20 20 c9 20 32 3a 20 f2 6f 70 65 6e 77 69 6e |. . 2: .openwin| 00003740 64 28 62 6c 6b 25 29 0d 02 02 1b 20 20 c9 20 33 |d(blk%).... . 3| 00003750 3a 20 f2 63 6c 6f 73 65 77 69 6e 64 28 62 6c 6b |: .closewind(blk| 00003760 25 29 0d 02 03 29 20 20 c9 20 36 3a 20 f2 63 6c |%)...) . 6: .cl| 00003770 69 63 6b 28 62 6c 6b 25 21 38 2c 62 6c 6b 25 21 |ick(blk%!8,blk%!| 00003780 31 32 2c 62 6c 6b 25 21 31 36 29 0d 02 04 1c 20 |12,blk%!16).... | 00003790 20 c9 20 37 3a 20 f2 73 65 6e 64 73 61 76 65 64 | . 7: .sendsaved| 000037a0 61 74 61 6d 65 73 73 0d 02 05 14 20 20 c9 20 38 |atamess.... . 8| 000037b0 3a 20 f2 6b 65 79 65 76 65 6e 74 0d 02 06 15 20 |: .keyevent.... | 000037c0 20 c9 20 39 3a 20 f2 6d 65 6e 75 63 6c 69 63 6b | . 9: .menuclick| 000037d0 0d 02 07 17 20 20 c9 20 31 37 2c 31 38 3a 20 f2 |.... . 17,18: .| 000037e0 72 65 63 65 69 76 65 0d 02 08 05 cb 0d 02 09 05 |receive.........| 000037f0 e1 0d 02 0a 04 0d 02 0b 0c dd f2 72 65 64 72 61 |...........redra| 00003800 77 0d 02 0c 28 c8 99 20 22 57 69 6d 70 5f 52 65 |w...(.. "Wimp_Re| 00003810 64 72 61 77 57 69 6e 64 6f 77 22 2c 2c 62 6c 6b |drawWindow",,blk| 00003820 25 20 b8 20 6d 6f 72 65 25 0d 02 0d 0c c8 95 20 |% . more%...... | 00003830 6d 6f 72 65 25 0d 02 0e 2b 20 20 c8 99 20 22 57 |more%...+ .. "W| 00003840 69 6d 70 5f 47 65 74 52 65 63 74 61 6e 67 6c 65 |imp_GetRectangle| 00003850 22 2c 2c 62 6c 6b 25 20 b8 20 6d 6f 72 65 25 3a |",,blk% . more%:| 00003860 0d 02 0f 05 ce 0d 02 10 05 e1 0d 02 11 04 0d 02 |................| 00003870 12 12 dd f2 6f 70 65 6e 77 69 6e 64 28 62 25 29 |....openwind(b%)| 00003880 0d 02 13 1c c8 99 20 22 57 69 6d 70 5f 4f 70 65 |...... "Wimp_Ope| 00003890 6e 57 69 6e 64 6f 77 22 2c 2c 62 25 0d 02 14 05 |nWindow",,b%....| 000038a0 e1 0d 02 15 04 0d 02 16 13 dd f2 63 6c 6f 73 65 |...........close| 000038b0 77 69 6e 64 28 62 25 29 0d 02 17 1d c8 99 20 22 |wind(b%)...... "| 000038c0 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 |Wimp_CloseWindow| 000038d0 22 2c 2c 62 25 0d 02 18 05 e1 0d 02 19 04 0d 02 |",,b%...........| 000038e0 1a 1b dd f2 63 6c 69 63 6b 28 62 75 74 25 2c 77 |....click(but%,w| 000038f0 69 6e 25 2c 69 63 6e 25 29 0d 02 1b 0d c8 8e 20 |in%,icn%)...... | 00003900 77 69 6e 25 20 ca 0d 02 1c 0a 20 c9 20 2d 32 3a |win% ..... . -2:| 00003910 0d 02 1d 0f 20 20 c8 8e 20 62 75 74 25 20 ca 0d |.... .. but% ..| 00003920 02 1e 3f 20 20 20 c9 20 32 3a f2 6d 61 69 6e 6d |..? . 2:.mainm| 00003930 65 6e 75 28 22 54 61 62 6c 65 41 22 2c 22 49 6e |enu("TableA","In| 00003940 66 6f 2c 53 65 74 75 70 2e 2e 2e 2c 37 51 75 69 |fo,Setup...,7Qui| 00003950 74 2c 22 2c 21 62 6c 6b 25 2c 32 32 30 29 0d 02 |t,",!blk%,220)..| 00003960 1f 15 20 20 20 c9 20 34 3a f2 73 74 61 72 74 67 |.. . 4:.startg| 00003970 61 6d 65 0d 02 20 07 20 20 cb 0d 02 21 24 20 c9 |ame.. . ...!$ .| 00003980 20 73 65 74 77 25 3a f2 73 65 74 75 70 77 63 6c | setw%:.setupwcl| 00003990 69 63 6b 28 62 75 74 25 2c 69 63 6e 25 29 0d 02 |ick(but%,icn%)..| 000039a0 22 05 cb 0d 02 23 05 e1 0d 02 24 04 0d 02 25 27 |"....#....$...%'| 000039b0 dd f2 6d 61 69 6e 6d 65 6e 75 28 74 69 74 6c 65 |..mainmenu(title| 000039c0 24 2c 6d 65 6e 75 69 74 65 6d 73 24 2c 78 25 2c |$,menuitems$,x%,| 000039d0 79 25 29 0d 02 26 22 f2 64 65 66 69 6e 65 6d 65 |y%)..&".defineme| 000039e0 6e 75 28 74 69 74 6c 65 24 2c 6d 65 6e 75 69 74 |nu(title$,menuit| 000039f0 65 6d 73 24 29 0d 02 27 1a f2 6c 69 6e 6b 73 75 |ems$)..'..linksu| 00003a00 62 6d 65 6e 75 28 31 2c 69 6e 66 6f 77 25 29 0d |bmenu(1,infow%).| 00003a10 02 28 32 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 |.(2.. "Wimp_Crea| 00003a20 74 65 4d 65 6e 75 22 2c 2c 6d 65 6e 75 25 2c 78 |teMenu",,menu%,x| 00003a30 25 2d 28 6d 65 6e 75 25 21 31 36 2f 32 29 2c 79 |%-(menu%!16/2),y| 00003a40 25 0d 02 29 10 63 75 72 72 6d 65 6e 75 25 3d 2d |%..).currmenu%=-| 00003a50 31 0d 02 2a 05 e1 0d 02 2b 04 0d 02 2c 23 dd f2 |1..*....+...,#..| 00003a60 64 65 66 69 6e 65 6d 65 6e 75 28 74 69 74 6c 65 |definemenu(title| 00003a70 24 2c 6d 65 6e 75 69 74 65 6d 73 24 29 0d 02 2d |$,menuitems$)..-| 00003a80 11 24 6d 65 6e 75 25 3d 74 69 74 6c 65 24 0d 02 |.$menu%=title$..| 00003a90 2e 46 6d 65 6e 75 25 3f 31 32 3d 37 3a 6d 65 6e |.Fmenu%?12=7:men| 00003aa0 75 25 3f 31 33 3d 32 3a 6d 65 6e 75 25 3f 31 34 |u%?13=2:menu%?14| 00003ab0 3d 37 3a 6d 65 6e 75 25 3f 31 35 3d 30 3a 6d 65 |=7:menu%?15=0:me| 00003ac0 6e 75 25 21 32 30 3d 34 30 3a 6d 65 6e 75 25 21 |nu%!20=40:menu%!| 00003ad0 32 34 3d 30 0d 02 2f 23 69 74 65 6d 25 3d 6d 65 |24=0../#item%=me| 00003ae0 6e 75 25 2b 32 38 3a 77 69 64 74 68 25 3d a9 28 |nu%+28:width%=.(| 00003af0 74 69 74 6c 65 24 29 0d 02 30 05 f5 0d 02 31 1c |title$)..0....1.| 00003b00 20 63 6f 6d 6d 61 25 3d a7 6d 65 6e 75 69 74 65 | comma%=.menuite| 00003b10 6d 73 24 2c 22 2c 22 29 0d 02 32 29 20 69 74 65 |ms$,",")..2) ite| 00003b20 6d 24 3d c0 6d 65 6e 75 69 74 65 6d 73 24 2c 63 |m$=.menuitems$,c| 00003b30 6f 6d 6d 61 25 2d 31 29 3a 21 69 74 65 6d 25 3d |omma%-1):!item%=| 00003b40 30 0d 02 33 13 20 f5 3a 6d 6f 72 65 63 6f 64 65 |0..3. .:morecode| 00003b50 73 25 3d a3 0d 02 34 37 20 20 e7 c0 69 74 65 6d |s%=...47 ..item| 00003b60 24 2c 31 29 3d 22 30 22 20 21 69 74 65 6d 25 3d |$,1)="0" !item%=| 00003b70 28 21 69 74 65 6d 25 29 84 25 30 30 30 31 3a 6d |(!item%).%0001:m| 00003b80 6f 72 65 63 6f 64 65 73 25 3d b9 0d 02 35 37 20 |orecodes%=...57 | 00003b90 20 e7 c0 69 74 65 6d 24 2c 31 29 3d 22 31 22 20 | ..item$,1)="1" | 00003ba0 21 69 74 65 6d 25 3d 28 21 69 74 65 6d 25 29 84 |!item%=(!item%).| 00003bb0 25 30 30 31 30 3a 6d 6f 72 65 63 6f 64 65 73 25 |%0010:morecodes%| 00003bc0 3d b9 0d 02 36 37 20 20 e7 c0 69 74 65 6d 24 2c |=...67 ..item$,| 00003bd0 31 29 3d 22 32 22 20 21 69 74 65 6d 25 3d 28 21 |1)="2" !item%=(!| 00003be0 69 74 65 6d 25 29 84 25 30 31 30 30 3a 6d 6f 72 |item%).%0100:mor| 00003bf0 65 63 6f 64 65 73 25 3d b9 0d 02 37 37 20 20 e7 |ecodes%=...77 .| 00003c00 c0 69 74 65 6d 24 2c 31 29 3d 22 33 22 20 21 69 |.item$,1)="3" !i| 00003c10 74 65 6d 25 3d 28 21 69 74 65 6d 25 29 84 25 31 |tem%=(!item%).%1| 00003c20 30 30 30 3a 6d 6f 72 65 63 6f 64 65 73 25 3d b9 |000:morecodes%=.| 00003c30 0d 02 38 3b 20 20 e7 c0 69 74 65 6d 24 2c 31 29 |..8; ..item$,1)| 00003c40 3d 22 37 22 20 21 69 74 65 6d 25 3d 28 21 69 74 |="7" !item%=(!it| 00003c50 65 6d 25 29 84 25 31 30 30 30 30 30 30 30 3a 6d |em%).%10000000:m| 00003c60 6f 72 65 63 6f 64 65 73 25 3d b9 0d 02 39 53 20 |orecodes%=...9S | 00003c70 20 e7 c0 69 74 65 6d 24 2c 31 29 3d 22 38 22 20 | ..item$,1)="8" | 00003c80 69 74 65 6d 25 21 38 3d 26 30 37 34 30 30 30 32 |item%!8=&0740002| 00003c90 31 3a 69 74 65 6d 24 3d c2 69 74 65 6d 24 2c a9 |1:item$=.item$,.| 00003ca0 28 69 74 65 6d 24 29 2d 31 29 3a 8b 3a 69 74 65 |(item$)-1):.:ite| 00003cb0 6d 25 21 38 3d 26 30 37 30 30 30 30 32 31 0d 02 |m%!8=&07000021..| 00003cc0 3a 2b 20 20 e7 20 6d 6f 72 65 63 6f 64 65 73 25 |:+ . morecodes%| 00003cd0 20 69 74 65 6d 24 3d c2 69 74 65 6d 24 2c a9 28 | item$=.item$,.(| 00003ce0 69 74 65 6d 24 29 2d 31 29 0d 02 3b 13 20 fd 20 |item$)-1)..;. . | 00003cf0 ac 20 6d 6f 72 65 63 6f 64 65 73 25 0d 02 3c 16 |. morecodes%..<.| 00003d00 20 24 28 69 74 65 6d 25 2b 31 32 29 3d 69 74 65 | $(item%+12)=ite| 00003d10 6d 24 0d 02 3d 2b 20 e7 28 a9 28 69 74 65 6d 24 |m$..=+ .(.(item$| 00003d20 29 2b 31 29 3e 77 69 64 74 68 25 3a 77 69 64 74 |)+1)>width%:widt| 00003d30 68 25 3d a9 28 69 74 65 6d 24 29 2b 31 0d 02 3e |h%=.(item$)+1..>| 00003d40 0f 20 69 74 65 6d 25 21 34 3d 2d 31 0d 02 3f 25 |. item%!4=-1..?%| 00003d50 20 6d 65 6e 75 69 74 65 6d 73 24 3d c1 6d 65 6e | menuitems$=.men| 00003d60 75 69 74 65 6d 73 24 2c 63 6f 6d 6d 61 25 2b 31 |uitems$,comma%+1| 00003d70 29 0d 02 40 13 20 69 74 65 6d 25 3d 69 74 65 6d |)..@. item%=item| 00003d80 25 2b 32 34 0d 02 41 13 fd 20 6d 65 6e 75 69 74 |%+24..A.. menuit| 00003d90 65 6d 73 24 3d 22 22 0d 02 42 16 6d 65 6e 75 25 |ems$=""..B.menu%| 00003da0 21 31 36 3d 77 69 64 74 68 25 2a 31 36 0d 02 43 |!16=width%*16..C| 00003db0 05 e1 0d 02 44 04 0d 02 45 1d dd f2 6c 69 6e 6b |....D...E...link| 00003dc0 73 75 62 6d 65 6e 75 28 69 74 65 6d 6e 6f 25 2c |submenu(itemno%,| 00003dd0 77 25 29 0d 02 46 23 69 74 65 6d 25 3d 6d 65 6e |w%)..F#item%=men| 00003de0 75 25 2b 32 38 2b 28 28 69 74 65 6d 6e 6f 25 2d |u%+28+((itemno%-| 00003df0 31 29 2a 32 34 29 0d 02 47 0e 69 74 65 6d 25 21 |1)*24)..G.item%!| 00003e00 34 3d 77 25 0d 02 48 05 e1 0d 02 49 04 0d 02 4a |4=w%..H....I...J| 00003e10 18 dd f2 73 65 74 75 70 77 63 6c 69 63 6b 28 62 |...setupwclick(b| 00003e20 25 2c 69 25 29 0d 02 4b 08 ea 20 6a 25 0d 02 4c |%,i%)..K.. j%..L| 00003e30 0b e7 62 25 3d 32 3a e1 0d 02 4d 0b c8 8e 20 69 |..b%=2:...M... i| 00003e40 25 20 ca 0d 02 4e 61 20 20 c9 20 69 5f 73 73 69 |% ...Na . i_ssi| 00003e50 63 6f 6e 25 3a 20 e7 62 25 3d 36 34 20 f2 73 74 |con%: .b%=64 .st| 00003e60 61 72 74 64 72 61 67 28 73 65 74 77 25 2c 69 25 |artdrag(setw%,i%| 00003e70 2c a4 6c 65 61 66 28 a4 67 65 74 69 63 6e 73 74 |,.leaf(.geticnst| 00003e80 72 69 6e 67 28 73 65 74 77 25 2c 69 5f 73 73 77 |ring(setw%,i_ssw| 00003e90 72 69 74 65 25 29 29 29 3a 64 72 61 67 67 69 6e |rite%))):draggin| 00003ea0 67 25 3d 31 0d 02 4f 3c 20 20 c9 20 69 5f 73 73 |g%=1..O< . i_ss| 00003eb0 6f 6b 25 3a 20 f2 73 61 76 65 73 65 74 75 70 28 |ok%: .savesetup(| 00003ec0 a4 67 65 74 69 63 6e 73 74 72 69 6e 67 28 73 65 |.geticnstring(se| 00003ed0 74 77 25 2c 69 5f 73 73 77 72 69 74 65 25 29 29 |tw%,i_sswrite%))| 00003ee0 0d 02 50 91 20 20 c9 20 69 5f 73 64 64 72 6f 70 |..P. . i_sddrop| 00003ef0 25 3a f2 65 72 72 6f 72 28 22 44 72 6f 70 20 61 |%:.error("Drop a| 00003f00 20 64 69 72 65 63 74 6f 72 79 20 69 63 6f 6e 20 | directory icon | 00003f10 68 65 72 65 20 74 6f 20 63 68 61 6e 67 65 20 74 |here to change t| 00003f20 68 65 20 27 73 61 76 65 64 20 73 63 72 65 65 6e |he 'saved screen| 00003f30 27 20 64 69 72 65 63 74 6f 72 79 20 28 61 6c 74 |' directory (alt| 00003f40 65 72 6e 61 74 69 76 65 6c 79 20 64 72 61 67 20 |ernatively drag | 00003f50 6f 75 74 20 74 68 65 20 64 69 72 65 63 74 6f 72 |out the director| 00003f60 79 20 69 63 6f 6e 20 67 69 76 65 6e 29 22 2c 30 |y icon given)",0| 00003f70 29 0d 02 51 3b 20 20 c9 20 69 5f 73 64 64 69 72 |)..Q; . i_sddir| 00003f80 25 3a e7 62 25 3d 36 34 3a f2 73 74 61 72 74 64 |%:.b%=64:.startd| 00003f90 72 61 67 28 73 65 74 77 25 2c 69 25 2c 22 22 29 |rag(setw%,i%,"")| 00003fa0 3a 64 72 61 67 67 69 6e 67 25 3d 32 0d 02 52 68 |:dragging%=2..Rh| 00003fb0 f4 20 20 57 48 45 4e 20 69 5f 73 64 64 69 72 25 |. WHEN i_sddir%| 00003fc0 3a 49 46 62 25 3d 36 34 20 41 4e 44 20 59 25 3d |:IFb%=64 AND Y%=| 00003fd0 30 3a 50 52 4f 43 65 72 72 6f 72 28 22 59 6f 75 |0:PROCerror("You| 00003fe0 20 63 61 6e 20 6f 6e 6c 79 20 73 65 74 20 61 20 | can only set a | 00003ff0 73 61 76 65 20 64 72 69 65 63 74 6f 72 79 20 66 |save driectory f| 00004000 72 6f 6d 20 61 20 68 61 72 64 20 64 69 73 6b 2e |rom a hard disk.| 00004010 22 2c 31 29 0d 02 53 21 20 20 c9 20 69 5f 73 64 |",1)..S! . i_sd| 00004020 6f 6b 25 3a f2 73 65 74 73 61 76 65 64 69 72 66 |ok%:.setsavedirf| 00004030 72 6f 6d 4f 4b 0d 02 54 2e 20 20 c9 20 69 5f 76 |romOK..T. . i_v| 00004040 67 61 25 3a f2 73 65 74 6d 6f 64 65 28 31 29 3a |ga%:.setmode(1):| 00004050 ff 22 53 65 74 20 54 61 62 6c 65 41 24 76 67 61 |."Set TableA$vga| 00004060 20 31 22 0d 02 55 2e 20 20 c9 20 69 5f 63 67 61 | 1"..U. . i_cga| 00004070 25 3a f2 73 65 74 6d 6f 64 65 28 30 29 3a ff 22 |%:.setmode(0):."| 00004080 53 65 74 20 54 61 62 6c 65 41 24 76 67 61 20 30 |Set TableA$vga 0| 00004090 22 0d 02 56 38 20 20 c9 20 69 5f 73 6f 75 6e 64 |"..V8 . i_sound| 000040a0 25 28 30 29 3a f2 73 65 74 76 6f 6c 75 6d 65 28 |%(0):.setvolume(| 000040b0 30 29 3a ff 22 53 65 74 20 54 61 62 6c 65 41 24 |0):."Set TableA$| 000040c0 76 6f 6c 75 6d 65 20 30 22 0d 02 57 38 20 20 c9 |volume 0"..W8 .| 000040d0 20 69 5f 73 6f 75 6e 64 25 28 31 29 3a f2 73 65 | i_sound%(1):.se| 000040e0 74 76 6f 6c 75 6d 65 28 31 29 3a ff 22 53 65 74 |tvolume(1):."Set| 000040f0 20 54 61 62 6c 65 41 24 76 6f 6c 75 6d 65 20 31 | TableA$volume 1| 00004100 22 0d 02 58 38 20 20 c9 20 69 5f 73 6f 75 6e 64 |"..X8 . i_sound| 00004110 25 28 32 29 3a f2 73 65 74 76 6f 6c 75 6d 65 28 |%(2):.setvolume(| 00004120 32 29 3a ff 22 53 65 74 20 54 61 62 6c 65 41 24 |2):."Set TableA$| 00004130 76 6f 6c 75 6d 65 20 32 22 0d 02 59 1e 20 20 c9 |volume 2"..Y. .| 00004140 20 69 5f 61 67 25 28 31 36 29 3a f2 72 65 73 65 | i_ag%(16):.rese| 00004150 74 5f 61 64 5f 61 63 0d 02 5a 1e 20 20 c9 20 69 |t_ad_ac..Z. . i| 00004160 5f 61 67 25 28 31 37 29 3a f2 72 65 73 65 74 5f |_ag%(17):.reset_| 00004170 61 64 5f 61 63 0d 02 5b 05 cb 0d 02 5c 05 e1 0d |ad_ac..[....\...| 00004180 02 5d 04 0d 02 5e 11 dd f2 72 65 73 65 74 5f 61 |.]...^...reset_a| 00004190 64 5f 61 63 0d 02 5f 26 20 20 e7 20 a4 69 73 73 |d_ac.._& . .iss| 000041a0 65 6c 65 63 74 65 64 28 73 65 74 77 25 2c 69 5f |elected(setw%,i_| 000041b0 61 67 25 28 31 37 29 29 20 8c 0d 02 60 19 20 20 |ag%(17)) ...`. | 000041c0 20 20 4d 25 3d 32 3a f2 68 69 64 65 5f 61 64 76 | M%=2:.hide_adv| 000041d0 65 6e 74 0d 02 61 07 20 20 cc 0d 02 62 18 20 20 |ent..a. ...b. | 000041e0 20 20 4d 25 3d 31 3a f2 68 69 64 65 5f 61 63 74 | M%=1:.hide_act| 000041f0 69 76 0d 02 63 07 20 20 cd 0d 02 64 26 20 20 e7 |iv..c. ...d& .| 00004200 20 a4 69 73 73 65 6c 65 63 74 65 64 28 73 65 74 | .isselected(set| 00004210 77 25 2c 69 5f 61 67 25 28 31 36 29 29 20 8c 0d |w%,i_ag%(16)) ..| 00004220 02 65 18 20 20 20 20 4d 25 3d 31 3a f2 68 69 64 |.e. M%=1:.hid| 00004230 65 5f 61 63 74 69 76 0d 02 66 07 20 20 cc 0d 02 |e_activ..f. ...| 00004240 67 19 20 20 20 20 4d 25 3d 32 3a f2 68 69 64 65 |g. M%=2:.hide| 00004250 5f 61 64 76 65 6e 74 0d 02 68 07 20 20 cd 0d 02 |_advent..h. ...| 00004260 69 05 e1 0d 02 6a 04 0d 02 6b 13 dd f2 77 69 6e |i....j...k...win| 00004270 74 6f 73 63 72 6e 28 62 25 29 0d 02 6c 2e 21 62 |toscrn(b%)..l.!b| 00004280 6c 6b 32 25 3d 21 62 25 3a c8 99 20 22 57 69 6d |lk2%=!b%:.. "Wim| 00004290 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 |p_GetWindowState| 000042a0 22 2c 2c 62 6c 6b 32 25 0d 02 6d 1e 62 25 21 38 |",,blk2%..m.b%!8| 000042b0 2b 3d 28 62 6c 6b 32 25 21 34 29 2d 28 62 6c 6b |+=(blk2%!4)-(blk| 000042c0 32 25 21 32 30 29 0d 02 6e 20 62 25 21 31 32 2b |2%!20)..n b%!12+| 000042d0 3d 28 62 6c 6b 32 25 21 31 36 29 2d 28 62 6c 6b |=(blk2%!16)-(blk| 000042e0 32 25 21 32 34 29 0d 02 6f 1f 62 25 21 31 36 2b |2%!24)..o.b%!16+| 000042f0 3d 28 62 6c 6b 32 25 21 34 29 2d 28 62 6c 6b 32 |=(blk2%!4)-(blk2| 00004300 25 21 32 30 29 0d 02 70 20 62 25 21 32 30 2b 3d |%!20)..p b%!20+=| 00004310 28 62 6c 6b 32 25 21 31 36 29 2d 28 62 6c 6b 32 |(blk2%!16)-(blk2| 00004320 25 21 32 34 29 0d 02 71 05 e1 0d 02 72 04 0d 02 |%!24)..q....r...| 00004330 73 19 dd f2 73 74 61 72 74 64 72 61 67 28 77 25 |s...startdrag(w%| 00004340 2c 69 25 2c 6e 24 29 0d 02 74 15 70 72 6f 70 6f |,i%,n$)..t.propo| 00004350 73 65 64 66 6e 61 6d 65 24 3d 6e 24 0d 02 75 33 |sedfname$=n$..u3| 00004360 21 62 6c 6b 25 3d 77 25 3a 62 6c 6b 25 21 34 3d |!blk%=w%:blk%!4=| 00004370 69 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 49 |i%:.. "Wimp_GetI| 00004380 63 6f 6e 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d |conState",,blk%.| 00004390 02 76 3f f2 77 69 6e 74 6f 73 63 72 6e 28 62 6c |.v?.wintoscrn(bl| 000043a0 6b 25 29 3a 62 6c 6b 25 21 38 2d 3d 34 3a 62 6c |k%):blk%!8-=4:bl| 000043b0 6b 25 21 31 32 2d 3d 34 3a 62 6c 6b 25 21 31 36 |k%!12-=4:blk%!16| 000043c0 2b 3d 34 3a 62 6c 6b 25 21 32 30 2b 3d 34 0d 02 |+=4:blk%!20+=4..| 000043d0 77 52 62 6c 6b 25 21 34 3d 35 3a 62 6c 6b 25 21 |wRblk%!4=5:blk%!| 000043e0 32 34 3d 30 3a 62 6c 6b 25 21 32 38 3d 30 3a 62 |24=0:blk%!28=0:b| 000043f0 6c 6b 25 21 33 32 3d 33 30 30 30 3a 62 6c 6b 25 |lk%!32=3000:blk%| 00004400 21 33 36 3d 33 30 30 30 3a c8 99 20 22 57 69 6d |!36=3000:.. "Wim| 00004410 70 5f 44 72 61 67 42 6f 78 22 2c 2c 62 6c 6b 25 |p_DragBox",,blk%| 00004420 0d 02 78 05 e1 0d 02 79 04 0d 02 7a 18 dd f2 65 |..x....y...z...e| 00004430 72 72 6f 72 28 6d 73 67 24 2c 65 72 72 6e 6f 25 |rror(msg$,errno%| 00004440 29 0d 02 7b 0c f4 43 4c 4f 53 45 23 30 0d 02 7c |)..{..CLOSE#0..|| 00004450 21 21 65 72 72 62 6c 6b 25 3d 39 39 3a 24 28 65 |!!errblk%=99:$(e| 00004460 72 72 62 6c 6b 25 2b 34 29 3d 6d 73 67 24 0d 02 |rrblk%+4)=msg$..| 00004470 7d 2c c8 99 20 22 57 69 6d 70 5f 52 65 70 6f 72 |},.. "Wimp_Repor| 00004480 74 45 72 72 6f 72 22 2c 65 72 72 62 6c 6b 25 2c |tError",errblk%,| 00004490 30 2c 22 54 61 62 6c 65 41 22 0d 02 7e 05 e1 0d |0,"TableA"..~...| 000044a0 02 7f 04 0d 02 80 16 dd f2 73 65 6e 64 73 61 76 |.........sendsav| 000044b0 65 64 61 74 61 6d 65 73 73 0d 02 81 4b c8 99 20 |edatamess...K.. | 000044c0 22 57 69 6d 70 5f 47 65 74 50 6f 69 6e 74 65 72 |"Wimp_GetPointer| 000044d0 49 6e 66 6f 22 2c 2c 62 6c 6b 25 3a 78 25 3d 21 |Info",,blk%:x%=!| 000044e0 62 6c 6b 25 3a 79 25 3d 62 6c 6b 25 21 34 3a 77 |blk%:y%=blk%!4:w| 000044f0 25 3d 62 6c 6b 25 21 31 32 3a 69 25 3d 62 6c 6b |%=blk%!12:i%=blk| 00004500 25 21 31 36 0d 02 82 83 21 62 6c 6b 25 3d 35 36 |%!16....!blk%=56| 00004510 3a 62 6c 6b 25 21 31 32 3d 30 3a 62 6c 6b 25 21 |:blk%!12=0:blk%!| 00004520 31 36 3d 31 3a 62 6c 6b 25 21 32 30 3d 77 25 3a |16=1:blk%!20=w%:| 00004530 62 6c 6b 25 21 32 34 3d 69 25 3a 62 6c 6b 25 21 |blk%!24=i%:blk%!| 00004540 32 38 3d 78 25 3a 62 6c 6b 25 21 33 32 3d 79 25 |28=x%:blk%!32=y%| 00004550 3a 62 6c 6b 25 21 33 36 3d 31 32 30 30 3a 62 6c |:blk%!36=1200:bl| 00004560 6b 25 21 34 30 3d 26 46 46 46 3a 24 28 62 6c 6b |k%!40=&FFF:$(blk| 00004570 25 2b 34 34 29 3d 70 72 6f 70 6f 73 65 64 66 6e |%+44)=proposedfn| 00004580 61 6d 65 24 2b bd 30 0d 02 83 32 c8 99 20 22 57 |ame$+.0...2.. "W| 00004590 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 |imp_SendMessage"| 000045a0 2c 31 37 2c 62 6c 6b 25 2c 77 25 3a 6d 79 72 65 |,17,blk%,w%:myre| 000045b0 66 25 3d 62 6c 6b 25 21 38 0d 02 84 05 e1 0d 02 |f%=blk%!8.......| 000045c0 85 04 0d 02 86 0e dd f2 6b 65 79 65 76 65 6e 74 |........keyevent| 000045d0 0d 02 87 11 c8 8e 20 28 62 6c 6b 21 32 34 29 20 |...... (blk!24) | 000045e0 ca 0d 02 88 31 20 c9 20 32 35 32 3a 71 75 69 74 |....1 . 252:quit| 000045f0 25 3d b9 3a c8 99 20 22 57 69 6d 70 5f 50 72 6f |%=.:.. "Wimp_Pro| 00004600 63 65 73 73 4b 65 79 22 2c 62 6c 6b 25 21 32 34 |cessKey",blk%!24| 00004610 3a e1 0d 02 89 05 cb 0d 02 8a 30 e7 21 62 6c 6b |:.........0.!blk| 00004620 25 3c 3e 73 65 74 77 25 3a c8 99 20 22 57 69 6d |%<>setw%:.. "Wim| 00004630 70 5f 50 72 6f 63 65 73 73 4b 65 79 22 2c 62 6c |p_ProcessKey",bl| 00004640 6b 25 21 32 34 3a e1 0d 02 8b 43 e7 28 28 62 6c |k%!24:....C.((bl| 00004650 6b 25 21 32 34 29 3d 31 33 29 80 28 28 28 62 6c |k%!24)=13).(((bl| 00004660 6b 25 21 34 29 3d 69 5f 73 73 77 72 69 74 65 25 |k%!4)=i_sswrite%| 00004670 29 84 28 28 62 6c 6b 25 21 34 29 3d 69 5f 73 64 |).((blk%!4)=i_sd| 00004680 77 72 69 74 65 25 29 29 20 8c 0d 02 8c 10 20 c8 |write%)) ..... .| 00004690 8e 20 62 6c 6b 25 21 34 20 ca 0d 02 8d 3e 20 20 |. blk%!4 ....> | 000046a0 c9 20 69 5f 73 73 77 72 69 74 65 25 3a f2 73 61 |. i_sswrite%:.sa| 000046b0 76 65 73 65 74 75 70 28 a4 67 65 74 69 63 6e 73 |vesetup(.geticns| 000046c0 74 72 69 6e 67 28 73 65 74 77 25 2c 69 5f 73 73 |tring(setw%,i_ss| 000046d0 77 72 69 74 65 25 29 29 0d 02 8e 24 20 20 c9 20 |write%))...$ . | 000046e0 69 5f 73 64 77 72 69 74 65 25 3a f2 73 65 74 73 |i_sdwrite%:.sets| 000046f0 61 76 65 64 69 72 66 72 6f 6d 4f 4b 0d 02 8f 06 |avedirfromOK....| 00004700 20 cb 0d 02 90 05 cc 0d 02 91 25 20 e7 28 28 62 | .........% .((b| 00004710 6c 6b 25 21 34 29 3e 3d 35 37 29 80 28 28 62 6c |lk%!4)>=57).((bl| 00004720 6b 25 21 34 29 3c 3d 37 32 29 20 8c 0d 02 92 14 |k%!4)<=72) .....| 00004730 20 20 c8 8e 20 28 62 6c 6b 25 21 32 34 29 20 ca | .. (blk%!24) .| 00004740 0d 02 93 95 20 20 20 c9 20 26 31 38 46 3a 20 e7 |.... . &18F: .| 00004750 28 62 6c 6b 25 21 34 29 3e 3d 35 38 3a c8 99 20 |(blk%!4)>=58:.. | 00004760 22 57 69 6d 70 5f 53 65 74 43 61 72 65 74 50 6f |"Wimp_SetCaretPo| 00004770 73 69 74 69 6f 6e 22 2c 73 65 74 75 70 77 25 2c |sition",setupw%,| 00004780 28 62 6c 6b 25 21 34 29 2d 31 2c 30 2c 30 2c 2d |(blk%!4)-1,0,0,-| 00004790 31 2c a9 28 a4 67 65 74 69 63 6e 73 74 72 69 6e |1,.(.geticnstrin| 000047a0 67 28 73 65 74 75 70 77 25 2c 28 62 6c 6b 25 21 |g(setupw%,(blk%!| 000047b0 34 29 2d 31 29 29 3a 8b 3a c8 99 20 22 57 69 6d |4)-1)):.:.. "Wim| 000047c0 70 5f 50 72 6f 63 65 73 73 4b 65 79 22 2c 62 6c |p_ProcessKey",bl| 000047d0 6b 25 21 32 34 0d 02 94 98 20 20 20 c9 20 26 31 |k%!24.... . &1| 000047e0 38 45 2c 31 33 3a 20 e7 28 62 6c 6b 25 21 34 29 |8E,13: .(blk%!4)| 000047f0 3c 3d 37 31 3a c8 99 20 22 57 69 6d 70 5f 53 65 |<=71:.. "Wimp_Se| 00004800 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 2c |tCaretPosition",| 00004810 73 65 74 75 70 77 25 2c 28 62 6c 6b 25 21 34 29 |setupw%,(blk%!4)| 00004820 2b 31 2c 30 2c 30 2c 2d 31 2c a9 28 a4 67 65 74 |+1,0,0,-1,.(.get| 00004830 69 63 6e 73 74 72 69 6e 67 28 73 65 74 75 70 77 |icnstring(setupw| 00004840 25 2c 28 62 6c 6b 25 21 34 29 2b 31 29 29 3a 8b |%,(blk%!4)+1)):.| 00004850 3a c8 99 20 22 57 69 6d 70 5f 50 72 6f 63 65 73 |:.. "Wimp_Proces| 00004860 73 4b 65 79 22 2c 62 6c 6b 25 21 32 34 0d 02 95 |sKey",blk%!24...| 00004870 25 20 20 20 7f 3a c8 99 20 22 57 69 6d 70 5f 50 |% .:.. "Wimp_P| 00004880 72 6f 63 65 73 73 4b 65 79 22 2c 62 6c 6b 25 21 |rocessKey",blk%!| 00004890 32 34 0d 02 96 07 20 20 cb 0d 02 97 06 20 cc 0d |24.... ..... ..| 000048a0 02 98 22 20 20 c8 99 20 22 57 69 6d 70 5f 50 72 |.." .. "Wimp_Pr| 000048b0 6f 63 65 73 73 4b 65 79 22 2c 62 6c 6b 25 21 32 |ocessKey",blk%!2| 000048c0 34 0d 02 99 06 20 cd 0d 02 9a 05 cd 0d 02 9b 05 |4.... ..........| 000048d0 e1 0d 02 9c 04 0d 02 9d 0f dd f2 6d 65 6e 75 63 |...........menuc| 000048e0 6c 69 63 6b 0d 02 9e 23 c8 99 20 22 57 69 6d 70 |lick...#.. "Wimp| 000048f0 5f 47 65 74 50 6f 69 6e 74 65 72 49 6e 66 6f 22 |_GetPointerInfo"| 00004900 2c 2c 62 6c 6b 32 25 0d 02 9f 18 63 75 72 72 6d |,,blk2%....currm| 00004910 65 6e 75 62 75 74 25 3d 62 6c 6b 32 25 21 38 0d |enubut%=blk2%!8.| 00004920 02 a0 12 c8 8e 20 63 75 72 72 6d 65 6e 75 25 20 |..... currmenu% | 00004930 ca 0d 02 a1 0a 20 c9 20 2d 31 3a 0d 02 a2 10 20 |..... . -1:.... | 00004940 20 c8 8e 20 21 62 6c 6b 25 20 ca 0d 02 a3 20 f4 | .. !blk% .... .| 00004950 20 20 20 20 57 48 45 4e 20 30 3a 20 50 52 4f 43 | WHEN 0: PROC| 00004960 63 68 65 63 6b 61 64 6a 75 73 74 0d 02 a4 24 20 |checkadjust...$ | 00004970 20 20 c9 20 31 3a 20 f2 6f 70 65 6e 73 65 74 75 | . 1: .opensetu| 00004980 70 77 3a f2 63 68 65 63 6b 61 64 6a 75 73 74 0d |pw:.checkadjust.| 00004990 02 a5 13 20 20 20 c9 20 32 3a 20 71 75 69 74 25 |... . 2: quit%| 000049a0 3d b9 0d 02 a6 07 20 20 cb 0d 02 a7 05 cb 0d 02 |=..... ........| 000049b0 a8 05 e1 0d 02 a9 04 0d 02 aa 11 dd f2 63 68 65 |.............che| 000049c0 63 6b 61 64 6a 75 73 74 0d 02 ab 37 e7 63 75 72 |ckadjust...7.cur| 000049d0 72 6d 65 6e 75 62 75 74 25 3d 31 3a c8 99 20 22 |rmenubut%=1:.. "| 000049e0 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 |Wimp_CreateMenu"| 000049f0 2c 2c 6d 65 6e 75 25 2c 31 30 30 2c 31 30 30 0d |,,menu%,100,100.| 00004a00 02 ac 05 e1 0d 02 ad 04 0d 02 ae 10 dd f2 6f 70 |..............op| 00004a10 65 6e 73 65 74 75 70 77 0d 02 af 15 e7 ac a4 69 |ensetupw.......i| 00004a20 73 6f 70 65 6e 28 73 65 74 77 25 29 8c 0d 02 b0 |sopen(setw%)....| 00004a30 2f 20 21 62 6c 6b 25 3d 73 65 74 77 25 3a c8 99 |/ !blk%=setw%:..| 00004a40 20 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 | "Wimp_GetWindow| 00004a50 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 02 b1 38 |State",,blk%...8| 00004a60 20 e7 78 6d 61 78 65 63 25 3e 31 32 37 32 3a 62 | .xmaxec%>1272:b| 00004a70 6c 6b 25 21 34 3d a8 28 28 78 6d 61 78 65 63 25 |lk%!4=.((xmaxec%| 00004a80 2d 31 32 37 32 29 2f 32 29 3a 8b 3a 62 6c 6b 25 |-1272)/2):.:blk%| 00004a90 21 34 3d 30 0d 02 b2 36 20 e7 79 6d 61 78 65 63 |!4=0...6 .ymaxec| 00004aa0 25 3e 39 31 36 3a 62 6c 6b 25 21 38 3d a8 28 28 |%>916:blk%!8=.((| 00004ab0 79 6d 61 78 65 63 25 2d 39 31 36 29 2f 32 29 3a |ymaxec%-916)/2):| 00004ac0 8b 3a 62 6c 6b 25 21 38 3d 30 0d 02 b3 43 20 62 |.:blk%!8=0...C b| 00004ad0 6c 6b 25 21 31 32 3d 28 62 6c 6b 25 21 34 29 2b |lk%!12=(blk%!4)+| 00004ae0 31 32 37 32 3a 62 6c 6b 25 21 31 36 3d 28 62 6c |1272:blk%!16=(bl| 00004af0 6b 25 21 38 29 2b 39 31 36 3a 62 6c 6b 25 21 32 |k%!8)+916:blk%!2| 00004b00 30 3d 30 3a 62 6c 6b 25 21 32 34 3d 30 0d 02 b4 |0=0:blk%!24=0...| 00004b10 1f 20 62 6c 6b 25 21 32 38 3d 2d 31 3a f2 6f 70 |. blk%!28=-1:.op| 00004b20 65 6e 77 69 6e 64 28 62 6c 6b 25 29 0d 02 b5 05 |enwind(blk%)....| 00004b30 cd 0d 02 b6 05 e1 0d 02 b7 04 0d 02 b8 0d dd f2 |................| 00004b40 72 65 63 65 69 76 65 0d 02 b9 10 c8 8e 20 62 6c |receive...... bl| 00004b50 6b 25 21 31 36 20 ca 0d 02 ba 11 20 c9 20 30 3a |k%!16 ..... . 0:| 00004b60 20 71 75 69 74 25 3d b9 0d 02 bb 37 20 c9 20 32 | quit%=....7 . 2| 00004b70 3a 20 e7 64 72 61 67 67 69 6e 67 25 3d 31 3a f2 |: .dragging%=1:.| 00004b80 73 61 76 65 73 65 74 75 70 28 a4 72 65 61 64 73 |savesetup(.reads| 00004b90 74 72 69 6e 67 28 62 6c 6b 25 2b 34 34 29 29 0d |tring(blk%+44)).| 00004ba0 02 bc 14 20 20 e7 64 72 61 67 67 69 6e 67 25 3d |... .dragging%=| 00004bb0 32 20 8c 0d 02 bd 63 20 20 20 e7 a4 6c 65 61 66 |2 ....c ..leaf| 00004bc0 28 a4 67 65 74 69 63 6e 73 74 72 69 6e 67 28 73 |(.geticnstring(s| 00004bd0 65 74 77 25 2c 69 5f 73 64 77 72 69 74 65 25 29 |etw%,i_sdwrite%)| 00004be0 29 3d 22 22 3a f2 65 72 72 6f 72 28 22 59 6f 75 |)="":.error("You| 00004bf0 20 6d 75 73 74 20 67 69 76 65 20 74 68 69 73 20 | must give this | 00004c00 64 69 72 65 63 74 6f 72 79 20 61 20 6e 61 6d 65 |directory a name| 00004c10 22 2c 31 29 3a e1 0d 02 be 4f 20 20 20 f2 73 65 |",1):....O .se| 00004c20 74 73 61 76 65 64 69 72 28 a4 72 65 61 64 73 74 |tsavedir(.readst| 00004c30 72 69 6e 67 28 62 6c 6b 25 2b 34 34 29 2b a4 6c |ring(blk%+44)+.l| 00004c40 65 61 66 28 a4 67 65 74 69 63 6e 73 74 72 69 6e |eaf(.geticnstrin| 00004c50 67 28 73 65 74 77 25 2c 69 5f 73 64 77 72 69 74 |g(setw%,i_sdwrit| 00004c60 65 25 29 29 29 0d 02 bf 07 20 20 cd 0d 02 c0 42 |e%))).... ....B| 00004c70 20 c9 20 33 3a 20 e3 6a 25 3d 30 b8 21 62 6c 6b | . 3: .j%=0.!blk| 00004c80 25 88 34 3a 62 6c 6b 32 25 21 6a 25 3d 62 6c 6b |%.4:blk2%!j%=blk| 00004c90 25 21 6a 25 3a ed 3a 61 24 3d a4 72 65 61 64 73 |%!j%:.:a$=.reads| 00004ca0 74 72 69 6e 67 28 62 6c 6b 25 2b 34 34 29 0d 02 |tring(blk%+44)..| 00004cb0 c1 1a 20 20 e7 62 6c 6b 25 21 32 34 3d 69 5f 73 |.. .blk%!24=i_s| 00004cc0 64 64 72 6f 70 25 20 8c 0d 02 c2 43 20 20 20 e7 |ddrop% ....C .| 00004cd0 a4 66 69 6c 65 74 79 70 65 28 61 24 29 3c 3e 32 |.filetype(a$)<>2| 00004ce0 f2 65 72 72 6f 72 28 22 4f 6e 6c 79 20 64 69 72 |.error("Only dir| 00004cf0 65 63 74 6f 72 69 65 73 20 61 6c 6c 6f 77 65 64 |ectories allowed| 00004d00 20 68 65 72 65 22 2c 31 29 3a e1 0d 02 c3 16 20 | here",1):..... | 00004d10 20 20 f2 73 65 74 73 61 76 65 64 69 72 28 61 24 | .setsavedir(a$| 00004d20 29 0d 02 c4 07 20 20 cc 0d 02 c5 32 20 20 20 e7 |).... ....2 .| 00004d30 a4 6c 6f 61 64 5f 66 69 6c 65 28 a4 72 65 61 64 |.load_file(.read| 00004d40 73 74 72 69 6e 67 28 62 6c 6b 25 2b 34 34 29 2c |string(blk%+44),| 00004d50 62 6c 6b 25 21 34 30 29 20 8c 0d 02 c6 45 20 20 |blk%!40) ....E | 00004d60 20 20 62 6c 6b 32 25 21 31 32 3d 31 3a 62 6c 6b | blk2%!12=1:blk| 00004d70 32 25 21 31 36 3d 34 3a c8 99 20 22 57 69 6d 70 |2%!16=4:.. "Wimp| 00004d80 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 39 |_SendMessage",19| 00004d90 2c 62 6c 6b 32 25 2c 62 6c 6b 32 25 21 32 30 0d |,blk2%,blk2%!20.| 00004da0 02 c7 08 20 20 20 cd 0d 02 c8 07 20 20 cd 0d 02 |... ..... ...| 00004db0 c9 05 cb 0d 02 ca 05 e1 0d 02 cb 04 0d 02 cc 13 |................| 00004dc0 dd f2 73 61 76 65 73 65 74 75 70 28 66 24 29 0d |..savesetup(f$).| 00004dd0 02 cd 08 ea 20 6a 25 0d 02 ce 11 f2 69 63 6e 73 |.... j%.....icns| 00004de0 5f 69 6e 74 69 67 65 72 0d 02 cf 4b e7 20 a7 66 |_intiger...K. .f| 00004df0 24 2c 22 2e 22 29 3d 30 20 f2 65 72 72 6f 72 28 |$,".")=0 .error(| 00004e00 22 54 6f 20 73 61 76 65 2c 20 64 72 61 67 20 74 |"To save, drag t| 00004e10 68 65 20 69 63 6f 6e 20 74 6f 20 61 20 64 69 72 |he icon to a dir| 00004e20 65 63 74 6f 72 79 20 76 69 65 77 65 72 22 2c 30 |ectory viewer",0| 00004e30 29 3a e1 0d 02 d0 0a 58 3d ae 20 66 24 0d 02 d1 |):.....X=. f$...| 00004e40 07 ea 20 85 0d 02 d2 41 ee 85 ea 3a f7 20 85 3a |.. ....A...:. .:| 00004e50 f2 65 72 72 6f 72 28 f6 24 2b 22 20 28 49 6e 74 |.error(.$+" (Int| 00004e60 65 72 6e 61 6c 20 65 72 72 6f 72 20 63 6f 64 65 |ernal error code| 00004e70 20 22 2b c3 9e 2b 22 29 22 2b bd 30 2c 9f 29 3a | "+..+")"+.0,.):| 00004e80 d9 23 58 3a e1 0d 02 d3 1b d5 23 58 2c 39 3a d5 |.#X:......#X,9:.| 00004e90 23 58 2c 39 3a d5 23 58 2c 30 3a d5 23 58 2c 30 |#X,9:.#X,0:.#X,0| 00004ea0 0d 02 d4 17 d5 23 58 2c 22 54 61 62 6c 65 41 22 |.....#X,"TableA"| 00004eb0 3b 3a d5 23 58 2c 30 0d 02 d5 4f f1 23 58 2c 41 |;:.#X,0...O.#X,A| 00004ec0 25 2c 42 25 2c 43 25 2c 44 25 2c 45 25 2c 47 25 |%,B%,C%,D%,E%,G%| 00004ed0 2c 48 25 2c 49 25 2c 4a 25 2c 4b 25 2c 4c 25 2c |,H%,I%,J%,K%,L%,| 00004ee0 4d 25 2c 4e 25 2c 4f 25 2c 50 25 2c 51 25 2c 52 |M%,N%,O%,P%,Q%,R| 00004ef0 25 2c 53 25 2c 54 25 2c 55 25 2c 56 25 2c 57 25 |%,S%,T%,U%,V%,W%| 00004f00 2c 58 25 2c 5a 25 0d 02 d6 14 f4 20 50 52 49 4e |,X%,Z%..... PRIN| 00004f10 54 23 58 2c 73 74 61 72 74 25 0d 02 d7 13 f1 23 |T#X,start%.....#| 00004f20 58 2c a4 66 69 6e 64 76 6f 6c 75 6d 65 0d 02 d8 |X,.findvolume...| 00004f30 1c f4 20 50 52 49 4e 54 23 58 2c 46 4e 66 69 6e |.. PRINT#X,FNfin| 00004f40 64 74 61 73 6b 64 69 66 66 0d 02 d9 11 f1 23 58 |dtaskdiff.....#X| 00004f50 2c a4 66 69 6e 64 6d 6f 64 65 0d 02 da 07 f7 20 |,.findmode..... | 00004f60 85 0d 02 db 07 d9 23 58 0d 02 dc 19 ff 22 53 45 |......#X....."SE| 00004f70 54 54 59 50 45 20 22 2b 66 24 2b 22 20 61 65 38 |TTYPE "+f$+" ae8| 00004f80 22 0d 02 dd 45 f2 70 75 74 69 63 6e 73 74 72 69 |"...E.puticnstri| 00004f90 6e 67 28 73 65 74 77 25 2c 69 5f 73 73 77 72 69 |ng(setw%,i_sswri| 00004fa0 74 65 25 2c 66 24 29 3a ff 22 53 65 74 20 54 61 |te%,f$):."Set Ta| 00004fb0 62 6c 65 41 24 53 61 76 65 47 61 6d 65 50 61 74 |bleA$SaveGamePat| 00004fc0 68 20 22 2b 66 24 0d 02 de 21 c8 99 20 22 57 69 |h "+f$...!.. "Wi| 00004fd0 6d 70 5f 53 65 74 43 61 72 65 74 50 6f 73 69 74 |mp_SetCaretPosit| 00004fe0 69 6f 6e 22 2c 2d 31 0d 02 df 05 e1 0d 02 e0 04 |ion",-1.........| 00004ff0 0d 02 e1 16 dd a4 6c 6f 61 64 5f 66 69 6c 65 28 |......load_file(| 00005000 66 24 2c 74 25 29 0d 02 e2 32 e7 74 25 3c 3e 26 |f$,t%)...2.t%<>&| 00005010 41 45 38 20 f2 65 72 72 6f 72 28 22 4e 6f 74 20 |AE8 .error("Not | 00005020 61 20 73 61 76 65 64 2d 67 61 6d 65 20 66 69 6c |a saved-game fil| 00005030 65 22 2c 30 29 3a 3d a3 0d 02 e3 21 c8 99 20 22 |e",0):=....!.. "| 00005040 57 69 6d 70 5f 53 65 74 43 61 72 65 74 50 6f 73 |Wimp_SetCaretPos| 00005050 69 74 69 6f 6e 22 2c 2d 31 0d 02 e4 0a 58 3d 8e |ition",-1....X=.| 00005060 20 66 24 0d 02 e5 07 ea 20 85 0d 02 e6 42 ee 85 | f$..... ....B..| 00005070 ea 3a f7 20 85 3a f2 65 72 72 6f 72 28 f6 24 2b |.:. .:.error(.$+| 00005080 22 20 28 49 6e 74 65 72 6e 61 6c 20 65 72 72 6f |" (Internal erro| 00005090 72 20 63 6f 64 65 20 22 2b c3 9e 2b 22 29 22 2b |r code "+..+")"+| 000050a0 bd 30 2c 9f 29 3a d9 23 58 3a 3d a3 0d 02 e7 2e |.0,.):.#X:=.....| 000050b0 69 64 25 3d 9a 23 58 2b 28 28 9a 23 58 29 3c 3c |id%=.#X+((.#X)<<| 000050c0 38 29 2b 28 28 9a 23 58 29 3c 3c 31 36 29 2b 28 |8)+((.#X)<<16)+(| 000050d0 28 9a 23 58 29 3c 3c 32 34 29 0d 02 e8 3f e3 6a |(.#X)<<24)...?.j| 000050e0 25 3d 30 b8 31 31 3a 62 6c 6b 25 3f 6a 25 3d 9a |%=0.11:blk%?j%=.| 000050f0 23 58 3a ed 3a 62 6c 6b 25 3f 31 32 3d 30 3a 63 |#X:.:blk%?12=0:c| 00005100 72 65 61 74 6f 72 24 3d a4 72 65 61 64 73 74 72 |reator$=.readstr| 00005110 69 6e 67 28 62 6c 6b 25 29 0d 02 e9 67 e7 69 64 |ing(blk%)...g.id| 00005120 25 3c 3e 26 39 30 39 20 f2 65 72 72 6f 72 28 22 |%<>&909 .error("| 00005130 49 20 64 6f 20 6e 6f 74 20 75 6e 64 65 72 73 74 |I do not underst| 00005140 61 6e 64 20 74 68 69 73 20 66 69 6c 65 20 61 73 |and this file as| 00005150 20 69 74 20 62 65 6c 6f 6e 67 73 20 74 6f 20 27 | it belongs to '| 00005160 22 2b 63 72 65 61 74 6f 72 24 2b 22 27 2e 22 2b |"+creator$+"'."+| 00005170 c3 28 69 64 25 29 2c 30 29 3a d9 23 58 3a 3d a3 |.(id%),0):.#X:=.| 00005180 0d 02 ea 47 f4 20 78 78 78 78 78 20 76 61 6c 75 |...G. xxxxx valu| 00005190 65 20 31 33 20 6e 65 65 64 73 20 63 68 61 6e 67 |e 13 needs chang| 000051a0 69 6e 67 20 64 65 70 2e 20 6f 6e 20 61 70 70 6c |ing dep. on appl| 000051b0 69 63 20 6e 61 6d 65 20 28 31 33 3d 34 2b 54 61 |ic name (13=4+Ta| 000051c0 62 6c 65 41 2b 31 29 0d 02 eb 0a cf 23 58 3d 31 |bleA+1).....#X=1| 000051d0 31 0d 02 ec 4f e8 23 58 2c 41 25 2c 42 25 2c 43 |1...O.#X,A%,B%,C| 000051e0 25 2c 44 25 2c 45 25 2c 47 25 2c 48 25 2c 49 25 |%,D%,E%,G%,H%,I%| 000051f0 2c 4a 25 2c 4b 25 2c 4c 25 2c 4d 25 2c 4e 25 2c |,J%,K%,L%,M%,N%,| 00005200 4f 25 2c 50 25 2c 51 25 2c 52 25 2c 53 25 2c 54 |O%,P%,Q%,R%,S%,T| 00005210 25 2c 55 25 2c 56 25 2c 57 25 2c 58 25 2c 5a 25 |%,U%,V%,W%,X%,Z%| 00005220 0d 02 ed 24 f4 20 49 4e 50 55 54 23 58 2c 73 74 |...$. INPUT#X,st| 00005230 61 72 74 25 3a 50 52 4f 43 73 65 74 73 74 61 72 |art%:PROCsetstar| 00005240 74 28 30 29 0d 02 ee 23 e8 23 58 2c 76 6f 6c 75 |t(0)...#.#X,volu| 00005250 6d 65 25 3a f2 73 65 74 76 6f 6c 75 6d 65 28 76 |me%:.setvolume(v| 00005260 6f 6c 75 6d 65 25 29 0d 02 ef 24 f4 20 49 4e 50 |olume%)...$. INP| 00005270 55 54 23 58 2c 66 25 3a 50 52 4f 43 73 65 74 74 |UT#X,f%:PROCsett| 00005280 61 73 6b 64 69 66 66 28 66 25 29 0d 02 f0 26 e8 |askdiff(f%)...&.| 00005290 23 58 2c 66 25 3a e7 20 ac 20 a4 69 73 63 67 61 |#X,f%:. . .iscga| 000052a0 6f 6e 6c 79 3a f2 73 65 74 6d 6f 64 65 28 66 25 |only:.setmode(f%| 000052b0 29 0d 02 f1 07 f7 20 85 0d 02 f2 07 d9 23 58 0d |)..... ......#X.| 000052c0 02 f3 4e f4 20 50 52 4f 43 70 75 74 69 63 6e 73 |..N. PROCputicns| 000052d0 74 72 69 6e 67 28 73 65 74 77 25 2c 69 5f 73 73 |tring(setw%,i_ss| 000052e0 77 72 69 74 65 25 2c 66 24 29 3a 4f 53 43 4c 49 |write%,f$):OSCLI| 000052f0 22 53 65 74 20 54 61 62 6c 65 41 24 53 61 76 65 |"Set TableA$Save| 00005300 47 61 6d 65 50 61 74 68 20 22 2b 66 24 0d 02 f4 |GamePath "+f$...| 00005310 29 70 72 65 6c 69 6e 6b 5f 66 6c 61 67 25 3d 30 |)prelink_flag%=0| 00005320 3a 2a 53 65 74 20 54 61 62 6c 65 41 24 50 72 65 |:*Set TableA$Pre| 00005330 4c 69 6e 6b 20 30 0d 02 f5 11 f2 69 6e 74 69 67 |Link 0.....intig| 00005340 65 72 5f 69 63 6e 73 0d 02 f6 06 3d b9 0d 02 f7 |er_icns....=....| 00005350 04 0d 02 f8 0e dd a4 66 69 6e 64 6d 6f 64 65 0d |.......findmode.| 00005360 02 f9 15 e7 20 a4 69 73 63 67 61 6f 6e 6c 79 20 |.... .iscgaonly | 00005370 8c 3a 3d 30 0d 02 fa 21 e7 a4 69 73 73 65 6c 65 |.:=0...!..issele| 00005380 63 74 65 64 28 73 65 74 77 25 2c 69 5f 63 67 61 |cted(setw%,i_cga| 00005390 25 29 3a 3d 30 0d 02 fb 06 3d 31 0d 02 fc 04 0d |%):=0....=1.....| 000053a0 02 fd 12 dd a4 66 69 6e 64 74 61 73 6b 64 69 66 |.....findtaskdif| 000053b0 66 0d 02 fe 1d e7 a4 69 73 73 65 6c 65 63 74 65 |f......isselecte| 000053c0 64 28 73 65 74 77 25 2c 31 33 29 3a 3d 30 0d 02 |d(setw%,13):=0..| 000053d0 ff 1d e7 a4 69 73 73 65 6c 65 63 74 65 64 28 73 |....isselected(s| 000053e0 65 74 77 25 2c 31 34 29 3a 3d 31 0d 03 00 06 3d |etw%,14):=1....=| 000053f0 32 0d 03 01 04 0d 03 02 10 dd a4 66 69 6e 64 76 |2..........findv| 00005400 6f 6c 75 6d 65 0d 03 03 26 e7 a4 69 73 73 65 6c |olume...&..issel| 00005410 65 63 74 65 64 28 73 65 74 77 25 2c 69 5f 73 6f |ected(setw%,i_so| 00005420 75 6e 64 25 28 30 29 29 3a 3d 30 0d 03 04 26 e7 |und%(0)):=0...&.| 00005430 a4 69 73 73 65 6c 65 63 74 65 64 28 73 65 74 77 |.isselected(setw| 00005440 25 2c 69 5f 73 6f 75 6e 64 25 28 31 29 29 3a 3d |%,i_sound%(1)):=| 00005450 31 0d 03 05 06 3d 32 0d 03 06 04 0d 03 07 12 dd |1....=2.........| 00005460 a4 66 69 6e 64 63 6f 6e 74 63 6f 6d 6d 0d 03 08 |.findcontcomm...| 00005470 1d e7 a4 69 73 73 65 6c 65 63 74 65 64 28 73 65 |...isselected(se| 00005480 74 77 25 2c 33 39 29 3a 3d 30 0d 03 09 06 3d 31 |tw%,39):=0....=1| 00005490 0d 03 0a 04 0d 03 0b 19 dd a4 63 68 65 63 6b 66 |..........checkf| 000054a0 6f 6e 74 28 61 24 2c 41 25 2c 42 25 29 0d 03 0c |ont(a$,A%,B%)...| 000054b0 07 ea 20 85 0d 03 0d 0c ee 20 85 20 ea 3a 3d 30 |.. ...... . .:=0| 000054c0 0d 03 0e 29 c8 99 20 22 46 6f 6e 74 5f 46 69 6e |...).. "Font_Fin| 000054d0 64 46 6f 6e 74 22 2c 2c 61 24 2c 41 25 2c 42 25 |dFont",,a$,A%,B%| 000054e0 2c 30 2c 30 20 b8 20 68 25 0d 03 0f 1d c8 99 20 |,0,0 . h%...... | 000054f0 22 46 6f 6e 74 5f 4c 6f 73 65 46 6f 6e 74 22 2c |"Font_LoseFont",| 00005500 68 25 3a f7 20 85 0d 03 10 06 3d b9 0d 03 11 04 |h%:. .....=.....| 00005510 0d 03 12 0f dd f2 73 74 61 72 74 67 61 6d 65 0d |......startgame.| 00005520 03 13 11 f2 69 63 6e 73 5f 69 6e 74 69 67 65 72 |....icns_intiger| 00005530 0d 03 14 41 e7 4d 25 3d 30 3a f2 65 72 72 6f 72 |...A.M%=0:.error| 00005540 28 22 59 6f 75 20 6d 75 73 74 20 73 65 6c 65 63 |("You must selec| 00005550 74 20 61 63 74 69 76 69 74 69 65 73 20 6f 72 20 |t activities or | 00005560 61 64 76 65 6e 74 75 72 65 73 2e 22 2c 30 29 3a |adventures.",0):| 00005570 e1 0d 03 15 3c e7 5a 25 3d 30 3a f2 65 72 72 6f |....<.Z%=0:.erro| 00005580 72 28 22 59 6f 75 20 6d 75 73 74 20 73 65 6c 65 |r("You must sele| 00005590 63 74 20 74 68 65 20 61 63 74 69 76 69 74 79 20 |ct the activity | 000055a0 6c 65 6e 67 74 68 2e 22 2c 30 29 3a e1 0d 03 16 |length.",0):....| 000055b0 38 e7 4f 25 3d 30 3a f2 65 72 72 6f 72 28 22 59 |8.O%=0:.error("Y| 000055c0 6f 75 20 6d 75 73 74 20 73 65 6c 65 63 74 20 74 |ou must select t| 000055d0 68 65 20 67 61 6d 65 73 20 6c 65 76 65 6c 2e 22 |he games level."| 000055e0 2c 30 29 3a e1 0d 03 17 3c e7 52 25 3d 30 20 80 |,0):....<.R%=0 .| 000055f0 20 4d 25 3d 31 3a f2 65 72 72 6f 72 28 22 59 6f | M%=1:.error("Yo| 00005600 75 20 6d 75 73 74 20 73 65 6c 65 63 74 20 61 6e |u must select an| 00005610 20 61 64 76 65 6e 74 75 72 65 2e 22 2c 30 29 3a | adventure.",0):| 00005620 e1 0d 03 18 92 e7 28 28 58 25 20 80 20 31 35 29 |......((X% . 15)| 00005630 3d 30 20 84 20 28 58 25 20 80 20 32 34 30 29 3d |=0 . (X% . 240)=| 00005640 30 20 84 20 28 58 25 20 80 20 33 38 34 30 29 3d |0 . (X% . 3840)=| 00005650 30 20 84 20 28 58 25 20 80 20 36 31 34 34 30 29 |0 . (X% . 61440)| 00005660 3d 30 29 20 80 20 4d 25 3d 32 3a f2 65 72 72 6f |=0) . M%=2:.erro| 00005670 72 28 22 59 6f 75 20 6d 75 73 74 20 73 65 6c 65 |r("You must sele| 00005680 63 74 20 61 6e 20 61 63 74 69 76 69 74 79 20 6f |ct an activity o| 00005690 72 20 4e 4f 20 41 43 54 49 56 49 54 59 20 69 6e |r NO ACTIVITY in| 000056a0 20 65 61 63 68 20 63 6f 6c 75 6d 6e 2e 22 2c 30 | each column.",0| 000056b0 29 3a e1 0d 03 19 2e f4 20 69 6e 74 72 6f 20 20 |):...... intro | 000056c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000056e0 7c 0d 03 1a 09 50 25 3d 50 25 0d 03 1b 2a f4 20 ||....P%=P%...*. | 000056f0 61 64 76 65 6e 74 75 72 65 20 74 79 70 65 20 20 |adventure type | 00005700 31 20 2d 20 32 30 20 2d 20 34 30 20 2d 20 36 30 |1 - 20 - 40 - 60| 00005710 20 65 74 63 0d 03 1c 10 51 25 3d 28 52 25 2d 31 | etc....Q%=(R%-1| 00005720 29 2a 32 30 0d 03 1d 0f e7 20 52 25 3d 31 20 51 |)*20..... R%=1 Q| 00005730 25 3d 31 0d 03 1e 18 e7 20 52 25 3e 36 20 51 25 |%=1..... R%>6 Q%| 00005740 3d 52 25 2b 28 32 30 31 2d 37 29 0d 03 1f 1e f4 |=R%+(201-7).....| 00005750 20 73 65 74 20 61 63 74 69 76 69 74 79 20 6c 69 | set activity li| 00005760 73 74 20 74 6f 20 31 73 74 0d 03 20 0f 58 25 3d |st to 1st.. .X%=| 00005770 58 25 2b 36 35 35 33 36 0d 03 21 1e f4 20 73 65 |X%+65536..!.. se| 00005780 6c 65 63 74 20 77 68 69 63 68 20 74 61 62 6c 65 |lect which table| 00005790 73 20 74 65 73 74 0d 03 22 13 4c 25 3d b3 28 32 |s test..".L%=.(2| 000057a0 29 3a 4a 25 3d b3 28 32 29 0d 03 23 2b f4 20 73 |):J%=.(2)..#+. s| 000057b0 65 74 20 75 70 20 6d 61 69 6e 20 74 61 62 6c 65 |et up main table| 000057c0 73 20 74 65 73 74 20 6e 75 6d 62 65 72 73 20 69 |s test numbers i| 000057d0 6e 20 4e 25 0d 03 24 08 4e 25 3d 30 0d 03 25 0e |n N%..$.N%=0..%.| 000057e0 e3 66 25 3d 30 20 b8 20 31 32 0d 03 26 3b 20 20 |.f%=0 . 12..&; | 000057f0 e7 28 55 25 20 80 20 28 31 3c 3c 66 25 29 29 3d |.(U% . (1<<f%))=| 00005800 28 31 3c 3c 66 25 29 20 66 69 72 73 74 6e 25 28 |(1<<f%) firstn%(| 00005810 66 25 29 3d 31 20 8b 20 66 69 72 73 74 6e 25 28 |f%)=1 . firstn%(| 00005820 66 25 29 3d 30 0d 03 27 05 ed 0d 03 28 0e e3 66 |f%)=0..'....(..f| 00005830 25 3d 30 20 b8 20 31 32 0d 03 29 3d 20 20 e7 28 |%=0 . 12..)= .(| 00005840 57 25 20 80 20 28 31 3c 3c 66 25 29 29 3d 28 31 |W% . (1<<f%))=(1| 00005850 3c 3c 66 25 29 20 73 65 63 6f 6e 64 6e 25 28 66 |<<f%) secondn%(f| 00005860 25 29 3d 31 20 8b 20 73 65 63 6f 6e 64 6e 25 28 |%)=1 . secondn%(| 00005870 66 25 29 3d 30 0d 03 2a 05 ed 0d 03 2b 13 73 65 |f%)=0..*....+.se| 00005880 63 6e 25 3d 30 3a 66 69 72 6e 25 3d 30 0d 03 2c |cn%=0:firn%=0..,| 00005890 0c e3 66 25 3d 31 b8 31 32 0d 03 2d 1e 20 20 e7 |..f%=1.12..-. .| 000058a0 73 65 63 6f 6e 64 6e 25 28 66 25 29 3d 31 3a 73 |secondn%(f%)=1:s| 000058b0 65 63 6e 25 2b 3d 31 0d 03 2e 05 ed 0d 03 2f 0c |ecn%+=1......./.| 000058c0 e3 66 25 3d 31 b8 31 32 0d 03 30 1d 20 20 e7 66 |.f%=1.12..0. .f| 000058d0 69 72 73 74 6e 25 28 66 25 29 3d 31 3a 66 69 72 |irstn%(f%)=1:fir| 000058e0 6e 25 2b 3d 31 0d 03 31 05 ed 0d 03 32 50 e7 66 |n%+=1..1....2P.f| 000058f0 69 72 6e 25 3e 73 65 63 6e 25 20 6d 61 69 6e 25 |irn%>secn% main%| 00005900 3d 73 65 63 6e 25 3a e3 66 25 3d 30 20 b8 20 31 |=secn%:.f%=0 . 1| 00005910 32 3a 66 69 72 73 74 6e 25 28 66 25 29 3d 73 65 |2:firstn%(f%)=se| 00005920 63 6f 6e 64 6e 25 28 66 25 29 3a ed 20 8b 20 6d |condn%(f%):. . m| 00005930 61 69 6e 25 3d 66 69 72 6e 25 0d 03 33 0e e7 6d |ain%=firn%..3..m| 00005940 61 69 6e 25 3e 33 20 8c 0d 03 34 10 20 20 20 20 |ain%>3 ...4. | 00005950 4e 25 3d 34 3c 3c 32 34 0d 03 35 05 cc 0d 03 36 |N%=4<<24..5....6| 00005960 14 20 20 20 20 4e 25 3d 6d 61 69 6e 25 3c 3c 32 |. N%=main%<<2| 00005970 34 0d 03 37 0e 20 20 20 20 6c 6f 63 25 3d 30 0d |4..7. loc%=0.| 00005980 03 38 12 20 20 20 20 e3 66 25 3d 31 20 b8 20 31 |.8. .f%=1 . 1| 00005990 32 0d 03 39 39 20 20 20 20 20 20 e7 66 69 72 73 |2..99 .firs| 000059a0 74 6e 25 28 66 25 29 3d 31 3a 4e 25 3d 28 4e 25 |tn%(f%)=1:N%=(N%| 000059b0 20 84 20 28 66 25 3c 3c 6c 6f 63 25 29 29 3a 6c | . (f%<<loc%)):l| 000059c0 6f 63 25 3d 6c 6f 63 25 2b 38 0d 03 3a 09 20 20 |oc%=loc%+8..:. | 000059d0 20 20 ed 0d 03 3b 05 cd 0d 03 3c 08 47 25 3d 30 | ...;....<.G%=0| 000059e0 0d 03 3d 0d 54 25 3d 30 3a 49 25 3d 30 0d 03 3e |..=.T%=0:I%=0..>| 000059f0 2e f4 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |.. *************| 00005a00 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| 00005a10 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 7c 0d 03 3f 9a e7 |**********|..?..| 00005a20 20 28 66 61 63 74 31 25 3d 31 20 80 20 66 69 72 | (fact1%=1 . fir| 00005a30 73 74 6e 25 28 30 29 3d 31 29 20 84 20 28 66 61 |stn%(0)=1) . (fa| 00005a40 63 74 32 25 3d 31 20 80 20 73 65 63 6f 6e 64 6e |ct2%=1 . secondn| 00005a50 25 28 30 29 3d 31 29 3a f2 65 72 72 6f 72 28 22 |%(0)=1):.error("| 00005a60 59 6f 75 20 6d 75 73 74 20 68 61 76 65 20 61 74 |You must have at| 00005a70 20 6c 65 61 73 74 20 6f 6e 65 20 6e 75 6d 62 65 | least one numbe| 00005a80 72 20 28 4e 6f 74 20 5a 65 72 6f 29 20 73 65 6c |r (Not Zero) sel| 00005a90 65 63 74 65 64 20 66 72 6f 6d 20 62 6f 74 68 20 |ected from both | 00005aa0 66 61 63 74 6f 72 20 63 6f 6c 75 6d 6e 73 2e 22 |factor columns."| 00005ab0 2c 30 29 3a e1 0d 03 40 6d e7 20 66 61 63 74 31 |,0):...@m. fact1| 00005ac0 25 3d 30 20 84 20 66 61 63 74 32 25 3d 30 20 3a |%=0 . fact2%=0 :| 00005ad0 f2 65 72 72 6f 72 28 22 59 6f 75 20 6d 75 73 74 |.error("You must| 00005ae0 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 20 6f | have at least o| 00005af0 6e 65 20 6e 75 6d 62 65 72 20 73 65 6c 65 63 74 |ne number select| 00005b00 65 64 20 66 72 6f 6d 20 62 6f 74 68 20 66 61 63 |ed from both fac| 00005b10 74 6f 72 20 63 6f 6c 75 6d 6e 73 2e 22 2c 30 29 |tor columns.",0)| 00005b20 3a e1 0d 03 41 6d e7 20 66 61 63 74 31 25 2b 66 |:...Am. fact1%+f| 00005b30 61 63 74 32 25 3c 34 20 3a f2 65 72 72 6f 72 28 |act2%<4 :.error(| 00005b40 22 59 6f 75 20 6d 75 73 74 20 68 61 76 65 20 61 |"You must have a| 00005b50 74 20 6c 65 61 73 74 20 66 6f 75 72 20 6e 75 6d |t least four num| 00005b60 62 65 72 73 20 73 65 6c 65 63 74 65 64 20 66 72 |bers selected fr| 00005b70 6f 6d 20 65 69 74 68 65 72 20 66 61 63 74 6f 72 |om either factor| 00005b80 20 63 6f 6c 75 6d 6e 73 2e 22 2c 30 29 3a e1 0d | columns.",0):..| 00005b90 03 42 51 e7 20 58 25 3d 36 39 39 30 35 20 80 20 |.BQ. X%=69905 . | 00005ba0 4d 25 3d 32 3a f2 65 72 72 6f 72 28 22 59 6f 75 |M%=2:.error("You| 00005bb0 20 6d 75 73 74 20 68 61 76 65 20 61 74 20 6c 65 | must have at le| 00005bc0 61 73 74 20 6f 6e 65 20 61 63 74 69 76 69 74 79 |ast one activity| 00005bd0 20 73 65 6c 65 63 74 65 64 2e 22 2c 30 29 3a e1 | selected.",0):.| 00005be0 0d 03 43 38 c8 99 20 22 46 6f 6e 74 5f 52 65 61 |..C8.. "Font_Rea| 00005bf0 64 46 6f 6e 74 4d 61 78 22 20 b8 20 66 6d 25 2c |dFontMax" . fm%,| 00005c00 66 6d 31 25 2c 66 6d 32 25 2c 66 6d 33 25 2c 66 |fm1%,fm2%,fm3%,f| 00005c10 6d 34 25 2c 66 6d 35 25 0d 03 44 43 e7 66 6d 32 |m4%,fm5%..DC.fm2| 00005c20 25 3c 35 37 36 30 30 20 c8 99 20 22 46 6f 6e 74 |%<57600 .. "Font| 00005c30 5f 53 65 74 46 6f 6e 74 4d 61 78 22 2c 66 6d 25 |_SetFontMax",fm%| 00005c40 2c 66 6d 31 25 2c 35 37 36 30 30 2c 35 37 36 30 |,fm1%,57600,5760| 00005c50 30 2c 66 6d 34 25 2c 66 6d 35 25 0d 03 45 33 c8 |0,fm4%,fm5%..E3.| 00005c60 99 20 22 4f 53 5f 42 79 74 65 22 2c 31 33 35 20 |. "OS_Byte",135 | 00005c70 b8 20 2c 2c 61 25 3a ff 22 53 65 74 20 54 61 62 |. ,,a%:."Set Tab| 00005c80 6c 65 41 24 4d 6f 64 65 20 22 2b c3 61 25 0d 03 |leA$Mode "+.a%..| 00005c90 46 37 ff 22 53 65 74 20 54 61 62 6c 65 41 24 53 |F7."Set TableA$S| 00005ca0 61 76 65 20 22 2b a4 67 65 74 69 63 6e 73 74 72 |ave "+.geticnstr| 00005cb0 69 6e 67 28 73 65 74 77 25 2c 69 5f 73 64 77 72 |ing(setw%,i_sdwr| 00005cc0 69 74 65 25 29 0d 03 47 0a 48 25 3d 6d 63 25 0d |ite%)..G.H%=mc%.| 00005cd0 03 48 09 4b 25 3d 48 25 0d 03 49 08 56 25 3d 31 |.H.K%=H%..I.V%=1| 00005ce0 0d 03 4a 24 61 24 3d a4 72 65 61 64 73 79 73 76 |..J$a$=.readsysv| 00005cf0 61 72 28 22 54 61 62 6c 65 41 24 45 6e 74 72 79 |ar("TableA$Entry| 00005d00 50 74 22 29 0d 03 4b 08 68 25 3d 30 0d 03 4c 0b |Pt")..K.h%=0..L.| 00005d10 e7 59 25 3d 30 20 8c 0d 03 4d 0b 20 20 2a 41 44 |.Y%=0 ...M. *AD| 00005d20 46 53 0d 03 4e 0e 20 20 2a 4d 4f 55 4e 54 20 30 |FS..N. *MOUNT 0| 00005d30 0d 03 4f 31 20 20 c8 99 20 22 58 4f 53 5f 46 69 |..O1 .. "XOS_Fi| 00005d40 6e 64 22 2c 26 34 30 2c 22 24 2e 21 54 61 62 6c |nd",&40,"$.!Tabl| 00005d50 65 73 2e 50 74 31 2e 6c 69 6e 6b 22 20 b8 20 68 |es.Pt1.link" . h| 00005d60 25 0d 03 50 1d 20 20 f4 20 50 52 4f 43 65 72 72 |%..P. . PROCerr| 00005d70 6f 72 28 53 54 52 24 28 68 25 29 2c 30 29 0d 03 |or(STR$(h%),0)..| 00005d80 51 44 20 20 e7 68 25 3e 32 35 35 20 84 20 68 25 |QD .h%>255 . h%| 00005d90 3d 30 3a f2 65 72 72 6f 72 28 22 50 6c 65 61 73 |=0:.error("Pleas| 00005da0 65 20 70 6c 61 63 65 20 64 69 73 6b 20 4f 6e 65 |e place disk One| 00005db0 20 69 6e 20 64 72 69 76 65 20 30 2e 22 2c 31 29 | in drive 0.",1)| 00005dc0 3a e1 0d 03 52 0a 20 20 d9 23 68 25 0d 03 53 05 |:...R. .#h%..S.| 00005dd0 cd 0d 03 54 59 e7 a4 63 68 65 63 6b 66 6f 6e 74 |...TY..checkfont| 00005de0 28 22 54 61 62 6c 6f 69 64 2e 6d 65 64 69 75 6d |("Tabloid.medium| 00005df0 22 2c 33 32 30 2c 33 36 30 29 3d a3 20 f2 65 72 |",320,360)=. .er| 00005e00 72 6f 72 28 22 46 6f 6e 74 3a 27 54 61 62 6c 6f |ror("Font:'Tablo| 00005e10 69 64 2e 4d 65 64 69 75 6d 27 20 6e 6f 74 20 66 |id.Medium' not f| 00005e20 6f 75 6e 64 22 2c 30 29 3a e1 0d 03 55 12 e7 20 |ound",0):...U.. | 00005e30 a4 69 73 63 67 61 6f 6e 6c 79 20 8c 0d 03 56 72 |.iscgaonly ...Vr| 00005e40 20 20 56 25 3d 30 3a c8 99 20 22 57 69 6d 70 5f | V%=0:.. "Wimp_| 00005e50 53 65 74 4d 6f 64 65 22 2c 31 35 3a e7 28 a4 72 |SetMode",15:.(.r| 00005e60 65 61 64 76 64 75 76 61 72 28 31 35 30 29 2f 31 |eadvduvar(150)/1| 00005e70 30 32 34 29 3c 31 36 30 20 f2 65 72 72 6f 72 28 |024)<160 .error(| 00005e80 22 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f |"Not enough memo| 00005e90 72 79 20 74 6f 20 63 68 61 6e 67 65 20 73 63 72 |ry to change scr| 00005ea0 65 65 6e 20 6d 6f 64 65 22 2c 31 29 3a e1 0d 03 |een mode",1):...| 00005eb0 57 05 cc 0d 03 58 0f 20 e7 20 a4 69 73 76 67 61 |W....X. . .isvga| 00005ec0 20 8c 0d 03 59 19 20 20 ff 22 53 65 74 20 54 61 | ...Y. ."Set Ta| 00005ed0 62 6c 65 41 24 56 67 61 20 31 22 0d 03 5a 72 20 |bleA$Vga 1"..Zr | 00005ee0 20 56 25 3d 31 3a c8 99 20 22 57 69 6d 70 5f 53 | V%=1:.. "Wimp_S| 00005ef0 65 74 4d 6f 64 65 22 2c 32 38 3a e7 28 a4 72 65 |etMode",28:.(.re| 00005f00 61 64 76 64 75 76 61 72 28 31 35 30 29 2f 31 30 |advduvar(150)/10| 00005f10 32 34 29 3c 33 30 30 20 f2 65 72 72 6f 72 28 22 |24)<300 .error("| 00005f20 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 |Not enough memor| 00005f30 79 20 74 6f 20 63 68 61 6e 67 65 20 73 63 72 65 |y to change scre| 00005f40 65 6e 20 6d 6f 64 65 22 2c 31 29 3a e1 0d 03 5b |en mode",1):...[| 00005f50 06 20 cc 0d 03 5c 19 20 20 ff 22 53 65 74 20 54 |. ...\. ."Set T| 00005f60 61 62 6c 65 41 24 56 67 61 20 30 22 0d 03 5d 72 |ableA$Vga 0"..]r| 00005f70 20 20 56 25 3d 30 3a c8 99 20 22 57 69 6d 70 5f | V%=0:.. "Wimp_| 00005f80 53 65 74 4d 6f 64 65 22 2c 31 35 3a e7 28 a4 72 |SetMode",15:.(.r| 00005f90 65 61 64 76 64 75 76 61 72 28 31 35 30 29 2f 31 |eadvduvar(150)/1| 00005fa0 30 32 34 29 3c 31 36 30 20 f2 65 72 72 6f 72 28 |024)<160 .error(| 00005fb0 22 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f |"Not enough memo| 00005fc0 72 79 20 74 6f 20 63 68 61 6e 67 65 20 73 63 72 |ry to change scr| 00005fd0 65 65 6e 20 6d 6f 64 65 22 2c 31 29 3a e1 0d 03 |een mode",1):...| 00005fe0 5e 06 20 cd 0d 03 5f 05 cd 0d 03 60 22 c8 99 20 |^. ..._....`".. | 00005ff0 22 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e 22 |"Wimp_CloseDown"| 00006000 2c 2c 26 34 42 35 33 34 31 35 34 0d 03 61 0e f2 |,,&4B534154..a..| 00006010 73 61 76 65 73 6f 75 6e 64 0d 03 62 17 76 6f 6c |savesound..b.vol| 00006020 75 6d 65 25 3d a4 66 69 6e 64 76 6f 6c 75 6d 65 |ume%=.findvolume| 00006030 0d 03 63 10 c8 8e 20 76 6f 6c 75 6d 65 25 20 ca |..c... volume% .| 00006040 0d 03 64 1c 20 c9 20 30 3a c8 99 20 22 53 6f 75 |..d. . 0:.. "Sou| 00006050 6e 64 5f 56 6f 6c 75 6d 65 22 2c 31 0d 03 65 33 |nd_Volume",1..e3| 00006060 20 c9 20 31 2c 32 2c 33 3a c8 99 20 22 53 6f 75 | . 1,2,3:.. "Sou| 00006070 6e 64 5f 56 6f 6c 75 6d 65 22 2c 31 32 37 2d 28 |nd_Volume",127-(| 00006080 31 36 2a 28 33 2d 76 6f 6c 75 6d 65 25 29 29 0d |16*(3-volume%)).| 00006090 03 66 05 cb 0d 03 67 0f d3 3d 6f 6c 64 68 69 6d |.f....g..=oldhim| 000060a0 65 6d 25 0d 03 68 12 e7 20 a4 69 73 63 67 61 6f |em%..h.. .iscgao| 000060b0 6e 6c 79 20 8c 0d 03 69 07 eb 31 32 0d 03 6a 05 |nly ...i..12..j.| 000060c0 cc 0d 03 6b 15 e7 a4 69 73 76 67 61 3a eb 32 37 |...k...isvga:.27| 000060d0 3a 8b 3a eb 31 32 0d 03 6c 05 cd 0d 03 6d 2f de |:.:.12..l....m/.| 000060e0 20 73 63 61 6c 65 25 20 31 36 2c 73 77 61 70 25 | scale% 16,swap%| 000060f0 28 32 30 2c 32 29 2c 69 6e 70 75 74 5f 64 69 73 |(20,2),input_dis| 00006100 6b 5f 6e 61 6d 65 25 20 33 32 0d 03 6e 0b 76 67 |k_name% 32..n.vg| 00006110 61 25 3d 56 25 0d 03 6f 0f 69 6e 74 72 6f 24 3d |a%=V%..o.intro$=| 00006120 22 6e 6f 22 0d 03 70 3b e7 a7 61 24 2c 22 66 72 |"no"..p;..a$,"fr| 00006130 6f 6d 73 74 61 72 74 75 70 22 29 3a f2 67 65 74 |omstartup"):.get| 00006140 5f 66 6f 6e 74 73 3a f2 67 65 74 5f 73 6f 75 6e |_fonts:.get_soun| 00006150 64 73 3a 69 6e 74 72 6f 24 3d 22 79 65 73 22 0d |ds:intro$="yes".| 00006160 03 71 22 ff 22 53 65 74 20 54 61 62 6c 65 41 24 |.q"."Set TableA$| 00006170 45 6e 74 72 79 50 74 20 66 72 6f 6d 70 72 6f 67 |EntryPt fromprog| 00006180 22 0d 03 72 12 6d 65 6d 74 6f 70 25 3d 26 37 41 |"..r.memtop%=&7A| 00006190 46 30 30 0d 03 73 13 41 25 3d 6d 65 6d 74 6f 70 |F00..s.A%=memtop| 000061a0 25 3a d0 3d 41 25 0d 03 74 24 41 25 3d 31 3a d7 |%:.=A%..t$A%=1:.| 000061b0 22 3c 54 61 62 6c 65 41 24 44 69 72 3e 2e 50 74 |"<TableA$Dir>.Pt| 000061c0 31 2e 70 72 65 6c 69 6e 6b 22 0d 03 75 05 e0 0d |1.prelink"..u...| 000061d0 03 76 04 0d 03 77 10 dd f2 67 65 74 5f 73 6f 75 |.v...w...get_sou| 000061e0 6e 64 73 0d 03 78 1b f4 20 6f 70 65 6e 20 61 20 |nds..x.. open a | 000061f0 50 61 63 6b 73 6f 75 6e 64 20 66 69 6c 65 0d 03 |Packsound file..| 00006200 79 2d c8 99 20 26 34 36 31 38 31 2c 46 25 2c 22 |y-.. &46181,F%,"| 00006210 3c 54 61 62 6c 65 41 24 44 69 72 3e 2e 53 50 61 |<TableA$Dir>.SPa| 00006220 63 6b 46 69 6c 65 22 2c 32 33 30 0d 03 7a 13 f4 |ckFile",230..z..| 00006230 20 45 6e 73 75 72 65 20 73 6f 75 6e 64 73 0d 03 | Ensure sounds..| 00006240 7b 1d c8 99 20 26 34 36 31 38 34 2c 46 25 2c 22 |{... &46184,F%,"| 00006250 61 6c 69 65 6e 73 6e 65 61 72 22 0d 03 7c 18 c8 |aliensnear"..|..| 00006260 99 20 26 34 36 31 38 34 2c 46 25 2c 22 63 61 72 |. &46184,F%,"car| 00006270 74 32 22 0d 03 7d 19 c8 99 20 26 34 36 31 38 34 |t2"..}... &46184| 00006280 2c 46 25 2c 22 63 6c 61 6e 67 32 22 0d 03 7e 1c |,F%,"clang2"..~.| 00006290 c8 99 20 26 34 36 31 38 34 2c 46 25 2c 22 63 6f |.. &46184,F%,"co| 000062a0 6d 70 75 74 65 72 31 22 0d 03 7f 1b c8 99 20 26 |mputer1"...... &| 000062b0 34 36 31 38 34 2c 46 25 2c 22 65 78 70 6c 6f 64 |46184,F%,"explod| 000062c0 65 33 22 0d 03 80 1b c8 99 20 26 34 36 31 38 34 |e3"...... &46184| 000062d0 2c 46 25 2c 22 65 78 70 6c 6f 64 65 34 22 0d 03 |,F%,"explode4"..| 000062e0 81 18 c8 99 20 26 34 36 31 38 34 2c 46 25 2c 22 |.... &46184,F%,"| 000062f0 66 69 72 65 21 22 0d 03 82 1d c8 99 20 26 34 36 |fire!"...... &46| 00006300 31 38 34 2c 46 25 2c 22 66 69 72 65 5f 62 75 62 |184,F%,"fire_bub| 00006310 62 32 22 0d 03 83 19 c8 99 20 26 34 36 31 38 34 |b2"...... &46184| 00006320 2c 46 25 2c 22 67 72 6f 77 6c 32 22 0d 03 84 1d |,F%,"growl2"....| 00006330 c8 99 20 26 34 36 31 38 34 2c 46 25 2c 22 69 6e |.. &46184,F%,"in| 00006340 73 69 64 65 5f 75 66 6f 22 0d 03 85 1c c8 99 20 |side_ufo"...... | 00006350 26 34 36 31 38 34 2c 46 25 2c 22 69 6e 76 61 64 |&46184,F%,"invad| 00006360 69 6e 67 32 22 0d 03 86 1d c8 99 20 26 34 36 31 |ing2"...... &461| 00006370 38 34 2c 46 25 2c 22 6c 61 73 65 72 5f 64 6f 6f |84,F%,"laser_doo| 00006380 72 22 0d 03 87 16 c8 99 20 26 34 36 31 38 34 2c |r"...... &46184,| 00006390 46 25 2c 22 6f 6b 32 22 0d 03 88 19 c8 99 20 26 |F%,"ok2"...... &| 000063a0 34 36 31 38 34 2c 46 25 2c 22 72 6f 62 6f 74 73 |46184,F%,"robots| 000063b0 22 0d 03 89 1a c8 99 20 26 34 36 31 38 34 2c 46 |"...... &46184,F| 000063c0 25 2c 22 73 61 74 75 72 6e 35 22 0d 03 8a 19 c8 |%,"saturn5".....| 000063d0 99 20 26 34 36 31 38 34 2c 46 25 2c 22 73 63 69 |. &46184,F%,"sci| 000063e0 66 69 33 22 0d 03 8b 17 c8 99 20 26 34 36 31 38 |fi3"...... &4618| 000063f0 34 2c 46 25 2c 22 77 69 6e 64 22 0d 03 8c 19 c8 |4,F%,"wind".....| 00006400 99 20 26 34 36 31 38 34 2c 46 25 2c 22 77 72 6f |. &46184,F%,"wro| 00006410 6e 67 32 22 0d 03 8d 17 c8 99 20 26 34 36 31 38 |ng2"...... &4618| 00006420 34 2c 46 25 2c 22 61 72 72 72 22 0d 03 8e 17 c8 |4,F%,"arrr".....| 00006430 99 20 26 34 36 31 38 34 2c 46 25 2c 22 70 6c 6f |. &46184,F%,"plo| 00006440 70 22 0d 03 8f 1d c8 99 20 26 34 36 31 38 34 2c |p"...... &46184,| 00006450 46 25 2c 22 63 6c 61 6e 67 5f 6c 6f 63 6b 22 0d |F%,"clang_lock".| 00006460 03 90 18 c8 99 20 26 34 36 31 38 34 2c 46 25 2c |..... &46184,F%,| 00006470 22 66 69 72 65 33 22 0d 03 91 19 c8 99 20 26 34 |"fire3"...... &4| 00006480 36 31 38 34 2c 46 25 2c 22 63 72 61 63 6b 32 22 |6184,F%,"crack2"| 00006490 0d 03 92 19 c8 99 20 26 34 36 31 38 34 2c 46 25 |...... &46184,F%| 000064a0 2c 22 61 61 61 72 68 32 22 0d 03 93 05 e1 0d 03 |,"aaarh2".......| 000064b0 94 04 0d 03 95 0f dd f2 67 65 74 5f 66 6f 6e 74 |........get_font| 000064c0 73 0d 03 96 0c 2a 46 58 31 31 32 2c 32 0d 03 97 |s....*FX112,2...| 000064d0 53 f2 70 72 69 28 30 2c 35 30 30 2c 31 2c 22 61 |S.pri(0,500,1,"a| 000064e0 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 |bcdefghijklmnopq| 000064f0 72 73 74 75 76 77 78 79 7a 41 42 43 44 45 46 47 |rstuvwxyzABCDEFG| 00006500 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 |HIJKLMNOPQRSTUVW| 00006510 58 59 5a 2e 2c 27 21 3f 2d 3a 28 29 2b 3d 22 29 |XYZ.,'!?-:()+=")| 00006520 0d 03 98 0c 2a 46 58 31 31 32 2c 31 0d 03 99 05 |....*FX112,1....| 00006530 e1 0d 03 9a 04 0d 03 9b 17 dd f2 70 72 69 28 78 |...........pri(x| 00006540 25 2c 79 25 2c 73 69 25 2c 61 24 29 0d 03 9c 3a |%,y%,si%,a$)...:| 00006550 c8 99 22 46 6f 6e 74 5f 46 69 6e 64 46 6f 6e 74 |.."Font_FindFont| 00006560 22 2c 2c 22 54 41 42 4c 4f 49 44 2e 4d 45 44 49 |",,"TABLOID.MEDI| 00006570 55 4d 22 2c 33 32 30 2c 33 36 30 2c 30 2c 30 20 |UM",320,360,0,0 | 00006580 b8 20 68 61 6e 25 0d 03 9d 23 c8 99 22 46 6f 6e |. han%...#.."Fon| 00006590 74 5f 53 65 74 46 6f 6e 74 43 6f 6c 6f 75 72 73 |t_SetFontColours| 000065a0 22 2c 30 2c 30 2c 31 2c 32 0d 03 9e 14 ef 30 2c |",0,0,1,2.....0,| 000065b0 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 0d 03 9f |0,0,0,0,0,0,0...| 000065c0 1f c8 99 22 46 6f 6e 74 5f 50 61 69 6e 74 22 2c |..."Font_Paint",| 000065d0 2c 61 24 2c 31 36 2c 78 25 2c 79 25 0d 03 a0 1a |,a$,16,x%,y%....| 000065e0 c8 99 22 46 6f 6e 74 5f 4c 6f 73 65 46 6f 6e 74 |.."Font_LoseFont| 000065f0 22 2c 68 61 6e 25 0d 03 a1 05 e1 0d 03 a2 04 0d |",han%..........| 00006600 03 a3 0d dd f2 70 61 6c 65 74 74 65 0d 03 a4 18 |.....palette....| 00006610 ef 31 39 2c 31 2c 32 34 2c 31 33 36 2c 31 33 36 |.19,1,24,136,136| 00006620 2c 31 33 36 0d 03 a5 10 ea 70 25 2c 72 25 2c 67 |,136.....p%,r%,g| 00006630 25 2c 62 25 0d 03 a6 07 f7 2b 37 0d 03 a7 0c e3 |%,b%.....+7.....| 00006640 70 25 3d 30 b8 31 35 0d 03 a8 1a f3 72 25 2c 67 |p%=0.15.....r%,g| 00006650 25 2c 62 25 3a fb 70 25 2c 72 25 2c 67 25 2c 62 |%,b%:.p%,r%,g%,b| 00006660 25 0d 03 a9 05 ed 0d 03 aa 15 ef 31 39 2c 31 2c |%..........19,1,| 00006670 32 34 2c 30 2c 30 2c 30 3b 30 3b 0d 03 ab 05 e1 |24,0,0,0;0;.....| 00006680 0d 03 ac 04 0d 03 ad 2f dc 20 32 35 35 2c 32 35 |......./. 255,25| 00006690 35 2c 32 35 35 2c 31 38 37 2c 31 38 37 2c 31 38 |5,255,187,187,18| 000066a0 37 2c 31 31 39 2c 31 31 39 2c 31 31 39 2c 30 2c |7,119,119,119,0,| 000066b0 30 2c 30 0d 03 ae 2c dc 20 32 35 35 2c 32 35 35 |0,0...,. 255,255| 000066c0 2c 30 2c 30 2c 35 30 2c 32 35 35 2c 31 38 37 2c |,0,0,50,255,187,| 000066d0 31 38 37 2c 31 38 37 2c 30 2c 31 35 33 2c 30 0d |187,187,0,153,0.| 000066e0 03 af 2b dc 20 32 32 34 2c 32 32 34 2c 32 32 34 |..+. 224,224,224| 000066f0 2c 31 36 34 2c 31 36 34 2c 31 36 34 2c 30 2c 30 |,164,164,164,0,0| 00006700 2c 30 2c 32 35 35 2c 30 2c 30 0d 03 b0 27 dc 20 |,0,255,0,0...'. | 00006710 31 33 36 2c 31 30 32 2c 30 2c 30 2c 32 30 34 2c |136,102,0,0,204,| 00006720 30 2c 30 2c 31 35 33 2c 30 2c 30 2c 31 31 39 2c |0,0,153,0,0,119,| 00006730 30 0d ff |0..| 00006733