Home » Archimedes archive » Archimedes World » AW-1994-01.adf » AWJan94 » !AWJan94/Goodies/Dark/!Darklands/!RunImage
!AWJan94/Goodies/Dark/!Darklands/!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-1994-01.adf » AWJan94 |
Filename: | !AWJan94/Goodies/Dark/!Darklands/!RunImage |
Read OK: | ✔ |
File size: | 34A4 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >!RunImage 20REM (C) 1989 P. Hawthorne/Alpine Software 30REM Modified 06.11.91 - Load user code and allow relative entry points 40REM Modified 03.06.92 - DEF PROCrun pix start at pix+4 50 60ON ERROR errflag=FNerror:IF errflag=1 THEN END:SYS "Wimp_SetMode",WimpMode ELSE RUN 70WimpMode = MODE 80 90DIM OSbuffer 10 100SYS "XOS_ReadVarVal","Alps$ShowAddress",OSbuffer,8 110IF ?OSbuffer = ASC"1" THEN 120 showit=TRUE 130ELSE 140 showit=FALSE 150ENDIF 160SYS "XOS_ReadVarVal","Alps$NoMouseInput",OSbuffer,8 170IF ?OSbuffer = ASC"1" THEN 180 load_buttons=FALSE 190ELSE 200 load_buttons=TRUE 210ENDIF 220 230 240PROCset_Prefs:REM set preferences (mode etc.) 250PROCgetmodeinfo(mode%) 260PROCinit2 270 280*FX200,1 290 300IF showit THEN 310VDU 7 320PRINT"User code address= ";usercode%:STOP 330ENDIF 340 350optionname$="<AlpsGame$Data>.Options" 360barfgcol=0:barbgcol=1 370 380DIM key$(13):REM Function key strings 390DIM bary(3,2):REM rgb bar graph y coords 400 410area_size%=scrnsize+100 420 430DIM area% area_size%:REM Sprite area (for screens) 440 450FOR bar=1 TO 3 460 READ bary(bar,1),bary(bar,2):REM read bottom and top coords 470NEXT bar 480 490DATA 445,477,386,418,327,359 500 510 520 530MODE mode%:OFF 540 550REM ----- 30.05.90/6.06.91 ----- 560IF mode%<>WimpMode THEN 570SYS "Wimp_SetMode",mode% 580SYS "Wimp_Initialise" 590ENDIF 600REM -------------------- 610 620REM PICCYload - moved from line 500... 05.12.91 630 640test1 = OPENIN("<Alps$Pictures>LoaderPic"):CLOSE#test1 650IF test1<>0 THEN 660OSCLI("SCREENLOAD <Alps$Pictures>LoaderPic"):OFF 670TIME=0:REPEAT UNTIL TIME>500 680 690FOR I=1 TO 33 700FOR K=1 TO 700:NEXT K 710VDU 23,7,1,3,1,0,0,0,0,0 720NEXT I 730 740ENDIF 750IF cols<63 THEN PROCload_pal("<AlpsGame$Data>.!Palette") 760*PRINT <AlpsGame$Data>.charset 770 780REM Load buttons? 790IF load_buttons THEN 800CLS 810OSCLI "LOAD <AlpsGame$Resources>buttons "+STR$~(area%+4) 820!area%=area_size% 830SYS "Wimp_ReadPixTrans",&200,area%,area%+16,0,0,0,scale,pixtr 840SYS "OS_SpriteOp",&234,area%,area%+16,0,0,8,scale,pixtr 850VDU28,0,textrows%-5,textcols%,0 860ELSE 870CLS 880VDU28,0,textrows%,textcols%,0 890ENDIF 900 910 920*FX15,0 930IF load_buttons THEN 940 *POINTER 950 MOUSE ON 960 MOUSE TO 550,48 970ENDIF 980 990IF NOT use_fkeys THEN VDU 4:GOTO1590 1000 1010in%=OPENIN(optionname$) 1020choice=FALSE 1030IF in%<>0 THEN choice=FNload(in%) 1040IF choice GOTO 1590 1050 1060VDU4 1070REPEAT 1080SYS "Wimp_SetColour",131:PROCcol(135):CLS:ON 1090PROCcol(11):PRINTTAB(28,1)"FUNCTION KEY DEFINITIONS"' 1100PROCcol(15) 1110m$="You may enter up to twelve extra command strings to be operated by the Archimedes function keys F1 to F12." 1120IF load_buttons THEN 1130 m$+=" These command strings are in addition to the commands along the 'button console' below." 1140ENDIF 1150 1160SYS "OS_PrettyPrint",m$ 1170PRINT' 1180SYS "OS_PrettyPrint","Note that you can use '|M' to simulate a <RETURN> key being pressed in your command." 1190 1200 PRINT 1210 *FX21,0 1220 1230 FOR key=1 TO 12 1240 PROCcol(14) 1250 PRINTTAB(2,key+10);"String for F";key;":"; 1260 PROCcol(12) 1270 key$(key)=FNenter_word(60," ",STRING$(60," "),17,key+10) 1280 REM >>>>>>>> scrap all the spaces on the rhs bar one <<<<<<<< 1290 WHILE RIGHT$(key$(key),1)=" " 1300 key$(key)=LEFT$(key$(key), LEN(key$(key))-1) 1310 ENDWHILE 1320 key$(key) = key$(key) + " " 1330 OSCLI("KEY"+STR$key+" "+key$(key)) 1340 NEXT key 1350 1360 OFF 1370 IF load_buttons THEN 1380 REM SYS "OS_SpriteOp",546,area%,area%+16,0,0,8 1390 SYS "OS_SpriteOp",&234,area%,area%+16,0,0,8,scale,pixtr 1400 msg$="Is this OK? Click 'YES' or 'NO' or press 'Y' or 'N'" 1410 ELSE 1420 msg$="Is this OK? Press Y or N" 1430 ENDIF 1440 PROCcol(11):PRINT''msg$ 1450 key=0 1460 1470 REPEAT:MOUSE X%,Y%,B%:A$=INKEY$(0) 1480 IF A$="Y" OR A$="y" THEN key=7 1490 IF A$="N" OR A$="n" THEN key=8 1500 IF B%=4 AND load_buttons:PROCin(X%,Y%,key):REPEAT:MOUSEX%,Y%,B%:UNTIL B%=0 1510 UNTIL key=7 OR key=8 1520 1530UNTIL key=7 1540 1550CLS 1560PROCWriteOutFile:PROCcol(0):PRINT''"These function keys have been saved for future use" 1570 1580A=INKEY(200) 1590VDU 24,0;144;scrw;scrh; 1600PROCcol(131):SYS "Wimp_SetColour",131:CLG:CLS:PROCcol(3) 1610 1620 1630PROCload_files 1640*FX225,1 1650PROCrun 1660*FX200,0 1670VDU 26:CLS 1680VDU 4 1690IF mode%<>WimpMode THEN SYS "Wimp_SetMode",WimpMode:REM 30.05.90/6.6.91 1700PRINT"Adventure finished." 1710END 1720 1730DEF PROCin(X%,Y%,RETURN com) 1740com=0:row=99 1750IF Y%>79 AND Y%<125 row=1 1760IF Y%>0 AND Y%<51 row=0 1770col=(X%-minx) DIV (width) + 1 1780IF col<=rowlen THEN com=col+rowlen*row 1790ENDPROC 1800 1810DEF FNload(in%) 1820VDU4 1830PROCcol(7):PROCcol(131):CLS:PRINTTAB(0,5);" Load your saved function key settings? " 1840IF load_buttons THEN 1850 msg$="Click 'YES' or 'NO', or press 'Y' or 'N'." 1860ELSE 1870 msg$="Press 'Y' or 'N'." 1880ENDIF 1890PRINT'''msg$ 1900key=0 1910REPEAT 1920 MOUSE X%,Y%,B%:A$=INKEY$(0) 1930 IF A$="Y" OR A$="y" THEN key=7 1940 IF A$="N" OR A$="n" THEN key=8 1950 IF B%=4 AND load_buttons:PROCin(X%,Y%,key) 1960UNTIL key=7 OR key=8 1970IF key=7 PROCReadInFile(in%):=TRUE ELSE CLOSE#in%:=FALSE 1980 1990DEF PROCReadInFile(chan%) 2000 2010FOR K%=1 TO 12 2020 INPUT#chan%,key$(K%) 2030 OSCLI("KEY "+STR$(K%)+" "+key$(K%)) 2040NEXT 2050 2060CLOSE #chan% 2070ENDPROC 2080 2090DEF PROCWriteOutFile 2100 2110chan%=OPENOUT optionname$ 2120 2130FOR K%=1 TO 12 2140 PRINT#chan%,key$(K%) 2150NEXT 2160 2170CLOSE#chan% 2180ENDPROC 2190 2200 2210DEF FNerror 2220*POINTER 1 2230MOUSE ON 1 2240 2250SYS "Wimp_SetColour",1:width=700 2260reportwidth=(LEN(REPORT$)+LEN(STR$(ERL))+12)*16 2270IF width<reportwidth THEN width=reportwidth 2280RECTANGLE FILL 200,300,width,204 2290MOUSE RECTANGLE 200,300,width,204 2300SYS "Wimp_SetColour",7:VDU 5:MOVE 216,450:PRINT"System reports an error:" 2310MOVE 216,400:PRINT REPORT$;:IF ERL>0 THEN PRINT" at line ";ERL 2320SYS "Wimp_SetColour",3:RECTANGLE FILL 560,320,140,32:MOVE 568,348:SYS "Wimp_SetColour",7:PRINT"CONTINUE" 2330SYS "Wimp_SetColour",3:RECTANGLE FILL 360,320,76,32:MOVE 368,348:SYS "Wimp_SetColour",7:PRINT"QUIT" 2340 2350flag=0 2360REPEAT 2370 REPEAT 2380 REPEAT 2390 MOUSE X,Y,B 2400 UNTIL B=4 2410 UNTIL Y>320 AND Y<356 2420 2430IF X>560 AND X<700 THEN flag=2 2440IF X>360 AND X<436 THEN flag=1 2450 2460UNTIL flag=1 OR flag=2 2470 2480SYS "Wimp_SetColour",0 2490RECTANGLE FILL 200,300,width,204 2500VDU 4:OFF 2510MOUSE RECTANGLE 0,0,1279,1023 2520 2530IF load_buttons AND flag=2 2540 MOUSE OFF 2550ENDIF 2560 2570=flag 2580 2590 2600DEF PROCinit2 2610SYS "Wimp_CloseDown" 2620minx=32 2630width=80 2640y%=72 2650X%=minx:Y%=y% 2660sprites=26:REM Number of 'buttons' 2670rowlen=sprites DIV 2 2680XL=448:XR=XL+255 2690 2700REM Manifest constants for the system 2710maxrms=1000:maxobs=255:maxsw%=10:maxtokens=128 2720maxlen=10:REM Maximum word length in vocabulary 2730 2740REM Room and object data block lengths (in bytes) 2750r_len=74:o_len=16 2760 2770maxmsg=65535:maxobn=255:maxvbn=255:maxconst=65535 2780maxadj=255:maxprep=50:maxconj=50:maxspec=10:maxnoise=10:maxpix=50 2790 2800noun_size=3000 2810verb_size=3000 2820adjc_size=1000 2830prep_size=200 :REM Size of prepositions list 2840conj_size=100 :REM size of conjunctions list 2850spec_size=100 :REM size of 'specials' list (IT, THEM, ALL) 2860noise_size=100:REM size of 'noise' list (THE,A,AN) 2870aref_size=2000:REM size of adjective object reference table 2880nref_size=2000:REM size of nouns object reference table 2890pix_size=1000:REM size of pix filename list 2900 2910SYS "OS_File",5,"<AlpsGame$Data>.Program" TO ftype,,,,codesize 2920SYS "OS_File",5,"<AlpsGame$Data>.Text" TO ftype,,,,maxtext% 2930 2940dict_size=1000 2950 2960DIM nouns noun_size,verbs verb_size,adjects adjc_size,preps prep_size,conjs conj_size,specs spec_size,noise noise_size,pixs pix_size 2970 2980DIM aref aref_size,nref nref_size,verb_type 2*(maxvbn+1) 2990REM Set up data areas for rooms and objects and clear them 3000 3010DIM rdata% (maxrms+1)*r_len,odata% (maxobs+1)*o_len,controom% 12 3020 3030num_vars=60:REM Number of ALPS variables 3040var_size=num_vars*2:REM 2 bytes per variable 3050 3060REM Set up the save buffers 3070initareasize=7*(maxobs+1)+22*(maxrms+1) 3080DIM initsave initareasize,ramsave initareasize+var_size+128 3090 3100REM Area for storing messages 3110DIM text% maxtext% 3120 3130datavalid=TRUE 3140 3150REM Set up the dictionary 3160DIM dict% dict_size 3170 3180REM Set up the program area 3190 3200DIM program% codesize 3210 3220REM Dimension the other arrays needed 3230 3240ucsize=500 3250SYS "OS_File",5,"<AlpsGame$Resources>ASIobjcode" TO ftype,,,,codesize 3260SYS "OS_File",5,"<AlpsGame$Resources>pbytes" TO ftype,,,,pbyte_size 3270 3280DIM pbytes pbyte_size,work% &1100,asicode% codesize+10 3290 3300DIM usercode% ucsize,scale 15,pixtr 15 3310run=asicode% 3320 3330OSCLI("LOAD <AlpsGame$Resources>ASIobjcode "+STR$~asicode%) 3340ENDPROC 3350 3360 3370DEF PROCrun 3380LOCAL ERROR 3390err_col=11:PROCcol(130):PROCcol(7):SYS "Wimp_SetColour",128+2 3400ON ERROR LOCAL:PROCcol(err_col):IF ERR<>17 PRINT'"Interpreter reports a run-time error: "REPORT$:GOTO 3680 ELSE PRINT'REPORT$:GOTO 3680 3410!work%=rdata% 3420work%!4=verbs+3 3430work%!8=nouns+3 3440work%!12=program%+4 3450work%!16=text%+7 3460work%!20=dict%+3 3470work%!24=odata% 3480work%!28=adjects+3 3490work%!32=preps+3 3500work%!36=conjs+3 3510work%!40=specs+3 3520work%!44=noise+3 3530work%!48=pixs+4:REM Was 3 prior to version 5.12 3540REM work%!52 is reserved 3550work%!56=initsave 3560work%!60=last_room 3570work%!64=last_object+1 3580work%!&14c=compress 3590work%!&150=usercode%:REM New from Version 5.11 3600work%!&158=0 :REM New from Version 6.00 - ensure script disabled 3610CLS 3620VDU 24,0;144;scrw;scrh; 3630CLG 3640ON 3650A%=verb_type:B%=nref:C%=aref:D%=ramsave 3660E%=pbytes:F%=work%:G%=area%:H%=area_size% 3670CALL run 3680RESTORE ERROR 3690ENDPROC 4020 4030 4040DEF PROCload_vocab 4050PROCload_nouns("<AlpsGame$Data>.Nouns") 4060PROCload_verbs("<AlpsGame$Data>.Verbs") 4070PROCload_adjects("<AlpsGame$Data>.Adjectives") 4080PROCload_preps("<AlpsGame$Data>.Prepos") 4090PROCload_conj("<AlpsGame$Data>.Conjunc") 4100PROCload_spec("<AlpsGame$Data>.Specials") 4110PROCload_noise("<AlpsGame$Data>.Noise") 4120PROCload_vtypes("<AlpsGame$Data>.VerbType") 4130PROCload_nrefs("<AlpsGame$Data>.Nref") 4140PROCload_arefs("<AlpsGame$Data>.Aref") 4150ENDPROC 4160 4170DEF PROCload_nouns(file$) 4180IF file$="" THEN 4190PROCerror(16,"") 4200ELSE 4210OSCLI "LOAD "+file$+" "+STR$~nouns 4220obn=?nouns 4230nxtobj=nouns+(nouns?1+256*(nouns?2)) 4240ENDIF 4250ENDPROC 4260 4270DEF PROCload_verbs(file$) 4280IF file$="" THEN 4290PROCerror(16,"") 4300ELSE 4310OSCLI "LOAD "+file$+" "+STR$~verbs 4320vbn=?verbs 4330nxtvrb=verbs+(verbs?1+256*(verbs?2)) 4340ENDIF 4350ENDPROC 4360 4370DEF PROCload_adjects(file$) 4380IF file$="" THEN 4390PROCerror(16,"") 4400ELSE 4410OSCLI "LOAD "+file$+" "+STR$~adjects 4420adn=?adjects 4430nxtadj=adjects+(adjects?1+256*(adjects?2)) 4440ENDIF 4450ENDPROC 4460 4470DEF PROCload_preps(file$) 4480IF file$="" THEN 4490PROCerror(16,"") 4500ELSE 4510OSCLI "LOAD "+file$+" "+STR$~preps 4520prn=?preps 4530nxtprp=preps+(preps?1+256*(preps?2)) 4540ENDIF 4550ENDPROC 4560 4570DEF PROCload_conj(file$) 4580IF file$="" THEN 4590PROCerror(16,"") 4600ELSE 4610OSCLI "LOAD "+file$+" "+STR$~conjs 4620cjn=?conjs 4630nxtcjn=conjs+(conjs?1+256*(conjs?2)) 4640ENDIF 4650ENDPROC 4660 4670DEF PROCload_spec(file$) 4680IF file$="" THEN 4690PROCerror(16,"") 4700ELSE 4710OSCLI "LOAD "+file$+" "+STR$~specs 4720spn=?specs 4730nxtspn=specs+(specs?1+256*(specs?2)) 4740ENDIF 4750ENDPROC 4760 4770DEF PROCload_noise(file$) 4780IF file$="" THEN 4790PROCerror(16,"") 4800ELSE 4810OSCLI "LOAD "+file$+" "+STR$~noise 4820nsn=?noise 4830nxtnsn=noise+(noise?1+256*(noise?2)) 4840ENDIF 4850ENDPROC 4860 4870DEF PROCload_vtypes(file$) 4880IF file$="" THEN 4890PROCerror(16,"") 4900ELSE 4910OSCLI "LOAD "+file$+" "+STR$~verb_type 4920ENDIF 4930ENDPROC 4940 4950DEF PROCload_arefs(file$) 4960IF file$="" THEN 4970PROCerror(16,"") 4980ELSE 4990OSCLI "LOAD "+file$+" "+STR$~aref 5000ENDIF 5010ENDPROC 5020 5030DEF PROCload_nrefs(file$) 5040IF file$="" THEN 5050PROCerror(16,"") 5060ELSE 5070OSCLI "LOAD "+file$+" "+STR$~nref 5080ENDIF 5090ENDPROC 5100 5110DEF PROCload_objs(file$) 5120IF file$="" THEN 5130PROCerror(16,"") 5140ELSE 5150OSCLI "LOAD "+file$+" "+STR$~odata% 5160optr=odata%?14 5170last_object=odata%?15 5180ENDIF 5190ENDPROC 5200 5210DEF PROCload_rooms(file$) 5220IF file$="" THEN 5230PROCerror(16,"") 5240ELSE 5250OSCLI "LOAD "+file$+" "+STR$~rdata% 5260rptr=!rdata% AND &FFFF 5270last_room=(!rdata% AND &FFFF0000)>>16 5280ENDIF 5290ENDPROC 5300 5310DEF PROCload_pix(file$) 5320IF file$="" THEN 5330PROCerror(16,"") 5340ELSE 5350OSCLI "LOAD "+file$+" "+STR$~pixs 5360pxn=?pixs 5370nxtpxn=pixs+(pixs?1+256*(pixs?2)) 5380ENDIF 5390ENDPROC 5400 5410DEF PROCload_program(file$) 5420IF file$="" THEN 5430PROCerror(16,"") 5440ELSE 5450OSCLI "LOAD "+file$+" "+STR$~program% 5460ENDIF 5470ENDPROC 5480 5490DEF PROCload_text(file$) 5500IF file$="" THEN 5510PROCerror(16,"") 5520ELSE 5530OSCLI "LOAD "+file$+" "+STR$~text% 5540mptr=1 5550ENDIF 5560ENDPROC 5570 5580DEF PROCload_dict(file$) 5590LOCAL I%,L% 5600IF file$="" THEN 5610PROCerror(16,"") 5620ELSE 5630OSCLI "LOAD "+file$+" "+STR$~dict% 5640tok%=dict%?2:L%=0 5650IF tok%=0 tok%=128 ELSE tok%-=128 5660ENDIF 5670ENDPROC 5680 5690DEF PROCload_files 5700PROCload_objs("<AlpsGame$Data>.Objects") 5710PROCload_rooms("<AlpsGame$Data>.Rooms") 5720PROCload_pix("<AlpsGame$Data>.Pictures") 5730PROCload_vocab 5740PROCload_program("<AlpsGame$Data>.Program") 5750PROCload_text("<AlpsGame$Data>.Text") 5760PROCload_dict("<AlpsGame$Data>.Dict") 5770PROCload_code("<AlpsGame$Data>.Code") 5780OSCLI "LOAD <AlpsGame$Resources>pbytes "+STR$~pbytes 5790ENDPROC 5800 5810DEF PROCset_Prefs 5820in%=OPENIN("<AlpsGame$Data>.GameData") 5830mode%=BGET#in% 5840compress=BGET#in% 5850load_buttons=BGET#in%:IF load_buttons<>0 THEN load_buttons=TRUE ELSE load_buttons=FALSE 5860use_fkeys=BGET#in%:IF use_fkeys<>0 THEN use_fkeys=TRUE ELSE use_fkeys=FALSE 5870CLOSE#in% 5880ENDPROC 5890 5900 5910DEF FNenter_word(len%,ch$,wd$,wx%,wy%) 5920LOCAL key,Po% 5930*FX 4,1 5940Po%=0 5950REPEAT 5960PRINT TAB(wx%+Po%,wy%); 5970*FX15,0 5980REPEAT 5990key=GET 6000UNTIL key>31 OR key=13 6010IF (key=127) THEN 6020IF INKEY-1 THEN wd$=LEFT$(wd$,Po%)+RIGHT$(wd$,len%-Po%-1)+ch$ 6030IF (Po%>0 AND NOT INKEY-1) THEN 6040Po%-=1:wd$=LEFT$(wd$,Po%)+RIGHT$(wd$,len%-Po%-1)+ch$ 6050ENDIF 6060ENDIF 6070IF key=137 AND Po%+1<len% THEN Po%+=(1) 6080IF key=136 AND Po%>0 THEN Po%-=1 6090IF (key>31 AND key<127) THEN 6100K%=FALSE 6110FOR lp%=Po% TO len% 6120IF MID$(wd$,lp%,1)=ch$ AND Po%<len% THEN K%=TRUE 6130NEXT 6140IF K% THEN 6150wd$=LEFT$(wd$,Po%)+CHR$(key)+RIGHT$(wd$,len%-Po%-1) 6160Po%+=(1) 6170ENDIF 6180ENDIF 6190PRINT TAB(wx%,wy%);wd$; 6200UNTIL key=13 6210*FX 4,0 6220=wd$ 6230 6240 6250DEF PROCgetmodeinfo(mode) 6260LOCAL x,y,xeig,yeig 6270 6280SYS "OS_ReadModeVariable",mode,1 TO ,,textcols% 6290SYS "OS_ReadModeVariable",mode,2 TO ,,textrows% 6300text_maxllen%=textcols%-2 6310SYS "OS_ReadModeVariable",mode,3 TO ,,cols 6320SYS "OS_ReadModeVariable",mode,4 TO ,,xeig 6330SYS "OS_ReadModeVariable",mode,5 TO ,,yeig 6340SYS "OS_ReadModeVariable",mode,7 TO ,,scrnsize 6350SYS "OS_ReadModeVariable",mode,11 TO ,,x 6360SYS "OS_ReadModeVariable",mode,12 TO ,,y 6370scrw=((x+1)<<xeig)-1:scrh=((y+1)<<yeig)-1 6380ENDPROC 6390 6400DEF PROCcol(color) 6410SYS "Wimp_TextColour",color 6420ENDPROC 6430 6440DEF PROCload_pal(f$) 6450LOCAL in%,col 6460in%=OPENIN(f$) 6470FOR col=0 TO 19 6480 IF col<16 col1=col:col2=16 ELSE IF col=16 col1=col:col2=24 ELSE col1=col-16:col2=25 6490 r=BGET#in%:g=BGET#in%:b=BGET#in% 6500 VDU 19,col1,col2,r,g,b 6510NEXT col 6520CLOSE#in% 6530ENDPROC 6540 6550DEF PROCload_code(f$) 6560LOCAL in% 6570in%=OPENIN f$:CLOSE#in% 6580IF in%<>0 THEN OSCLI("LOAD "+f$+" "+STR$~usercode%) 6590ENDPROC
� >!RunImage +� (C) 1989 P. Hawthorne/Alpine Software H� Modified 06.11.91 - Load user code and allow relative entry points (8� Modified 03.06.92 - DEF PROCrun pix start at pix+4 2 <E� � errflag=�error:� errflag=1 � �:ș "Wimp_SetMode",WimpMode � � FWimpMode = � P Z� OSbuffer 10 d5ș "XOS_ReadVarVal","Alps$ShowAddress",OSbuffer,8 n� ?OSbuffer = �"1" � x showit=� �� � showit=� �� �6ș "XOS_ReadVarVal","Alps$NoMouseInput",OSbuffer,8 �� ?OSbuffer = �"1" � � load_buttons=� �� � load_buttons=� �� � � �,�set_Prefs:� set preferences (mode etc.) ��getmodeinfo(mode%) �init2 *FX200,1 " ,� showit � 6� 7 @&�"User code address= ";usercode%:� J� T ^)optionname$="<AlpsGame$Data>.Options" hbarfgcol=0:barbgcol=1 r |%� key$(13):� Function key strings �(� bary(3,2):� rgb bar graph y coords � �area_size%=scrnsize+100 � �2� area% area_size%:� Sprite area (for screens) � �� bar=1 � 3 �< � bary(bar,1),bary(bar,2):� read bottom and top coords � � bar � �� 445,477,386,418,327,359 � � � mode%:� &"� ----- 30.05.90/6.06.91 ----- 0� mode%<>WimpMode � :ș "Wimp_SetMode",mode% Dș "Wimp_Initialise" N� X� -------------------- b l1� PICCYload - moved from line 500... 05.12.91 v �1test1 = �("<Alps$Pictures>LoaderPic"):�#test1 �� test1<>0 � �.�("SCREENLOAD <Alps$Pictures>LoaderPic"):� ��=0:� � �>500 � �� I=1 � 33 �� K=1 � 700:� K �� 23,7,1,3,1,0,0,0,0,0 �� I � �� �5� cols<63 � �load_pal("<AlpsGame$Data>.!Palette") �"*PRINT <AlpsGame$Data>.charset � Load buttons? � load_buttons � � *5� "LOAD <AlpsGame$Resources>buttons "+�~(area%+4) 4!area%=area_size% >@ș "Wimp_ReadPixTrans",&200,area%,area%+16,0,0,0,scale,pixtr H:ș "OS_SpriteOp",&234,area%,area%+16,0,0,8,scale,pixtr R!�28,0,textrows%-5,textcols%,0 \� f� p�28,0,textrows%,textcols%,0 z� � � �*FX15,0 �� load_buttons � � *POINTER � ȗ � � ȗ � 550,48 �� � �� � use_fkeys � � 4:�TvF � �in%=�(optionname$) �choice=� � in%<>0 � choice=�load(in%) � choice � �TvF $�4 .� 8)ș "Wimp_SetColour",131:�col(135):�:� B/�col(11):�28,1)"FUNCTION KEY DEFINITIONS"' L�col(15) Vsm$="You may enter up to twelve extra command strings to be operated by the Archimedes function keys F1 to F12." `� load_buttons � je m$+=" These command strings are in addition to the commands along the 'button console' below." t� ~ �ș "OS_PrettyPrint",m$ ��' �nș "OS_PrettyPrint","Note that you can use '|M' to simulate a <RETURN> key being pressed in your command." � � � � *FX21,0 � � � key=1 � 12 � �col(14) �+ �2,key+10);"String for F";key;":"; � �col(12) �8 key$(key)=�enter_word(60," ",�60," "),17,key+10) C � >>>>>>>> scrap all the spaces on the rhs bar one <<<<<<<< ȕ �key$(key),1)=" " 0 key$(key)=�key$(key), �(key$(key))-1) � (# key$(key) = key$(key) + " " 2# �("KEY"+�key+" "+key$(key)) < � key F P � Z � load_buttons � d5 � SYS "OS_SpriteOp",546,area%,area%+16,0,0,8 n? ș "OS_SpriteOp",&234,area%,area%+16,0,0,8,scale,pixtr xC msg$="Is this OK? Click 'YES' or 'NO' or press 'Y' or 'N'" � � �( msg$="Is this OK? Press Y or N" � � � �col(11):�''msg$ � key=0 � � �:ȗ X%,Y%,B%:A$=�(0) � � A$="Y" � A$="y" � key=7 � � A$="N" � A$="n" � key=8 �@ � B%=4 � load_buttons:�in(X%,Y%,key):�:ȗX%,Y%,B%:� B%=0 � � key=7 � key=8 � �� key=7 � Q�WriteOutFile:�col(0):�''"These function keys have been saved for future use" " ,A=�(200) 6� 24,0;144;scrw;scrh; @1�col(131):ș "Wimp_SetColour",131:�:�:�col(3) J T ^�load_files h*FX225,1 r�run |*FX200,0 � � 26:� �� 4 �D� mode%<>WimpMode � ș "Wimp_SetMode",WimpMode:� 30.05.90/6.6.91 ��"Adventure finished." �� � �� �in(X%,Y%,� com) �com=0:row=99 �� Y%>79 � Y%<125 row=1 �� Y%>0 � Y%<51 row=0 �col=(X%-minx) � (width) + 1 �&� col<=rowlen � com=col+rowlen*row �� � �load(in%) �4 &I�col(7):�col(131):�:�0,5);" Load your saved function key settings? " 0� load_buttons � :7 msg$="Click 'YES' or 'NO', or press 'Y' or 'N'." D� N msg$="Press 'Y' or 'N'." X� b�'''msg$ l key=0 v� � ȗ X%,Y%,B%:A$=�(0) � � A$="Y" � A$="y" � key=7 � � A$="N" � A$="n" � key=8 �* � B%=4 � load_buttons:�in(X%,Y%,key) �� key=7 � key=8 �*� key=7 �ReadInFile(in%):=� � �#in%:=� � �� �ReadInFile(chan%) � �� K%=1 � 12 � �#chan%,key$(K%) �" �("KEY "+�(K%)+" "+key$(K%)) �� � #chan% � *� �WriteOutFile 4 >chan%=� optionname$ H R� K%=1 � 12 \ �#chan%,key$(K%) f� p z�#chan% �� � � �� �error �*POINTER 1 � ȗ � 1 � �#ș "Wimp_SetColour",1:width=700 �%reportwidth=(�(�$)+�(�(�))+12)*16 �+� width<reportwidth � width=reportwidth �ȓ Ȑ 200,300,width,204 �ȗ ȓ 200,300,width,204 �Cș "Wimp_SetColour",7:� 5:� 216,450:�"System reports an error:" *� 216,400:� �$;:� �>0 � �" at line ";� Zș "Wimp_SetColour",3:ȓ Ȑ 560,320,140,32:� 568,348:ș "Wimp_SetColour",7:�"CONTINUE" Uș "Wimp_SetColour",3:ȓ Ȑ 360,320,76,32:� 368,348:ș "Wimp_SetColour",7:�"QUIT" $ . flag=0 8� B � L � V ȗ X,Y,B ` � B=4 j � Y>320 � Y<356 t ~� X>560 � X<700 � flag=2 �� X>360 � X<436 � flag=1 � �� flag=1 � flag=2 � �ș "Wimp_SetColour",0 �ȓ Ȑ 200,300,width,204 � � 4:� �ȗ ȓ 0,0,1279,1023 � �� load_buttons � flag=2 � ȗ � �� =flag (� �init2 2ș "Wimp_CloseDown" <minx=32 Fwidth=80 P y%=72 ZX%=minx:Y%=y% d$sprites=26:� Number of 'buttons' nrowlen=sprites � 2 xXL=448:XR=XL+255 � �'� Manifest constants for the system �2maxrms=1000:maxobs=255:maxsw%=10:maxtokens=128 �1maxlen=10:� Maximum word length in vocabulary � �3� Room and object data block lengths (in bytes) �r_len=74:o_len=16 � �5maxmsg=65535:maxobn=255:maxvbn=255:maxconst=65535 �Emaxadj=255:maxprep=50:maxconj=50:maxspec=10:maxnoise=10:maxpix=50 � �noun_size=3000 �verb_size=3000 adjc_size=1000 .prep_size=200 :� Size of prepositions list .conj_size=100 :� size of conjunctions list "<spec_size=100 :� size of 'specials' list (IT, THEM, ALL) ,4noise_size=100:� size of 'noise' list (THE,A,AN) 6=aref_size=2000:� size of adjective object reference table @9nref_size=2000:� size of nouns object reference table J-pix_size=1000:� size of pix filename list T ^@ș "OS_File",5,"<AlpsGame$Data>.Program" � ftype,,,,codesize h@ș "OS_File",5,"<AlpsGame$Data>.Text" � ftype,,,,maxtext% r |dict_size=1000 � ��� nouns noun_size,verbs verb_size,adjects adjc_size,preps prep_size,conjs conj_size,specs spec_size,noise noise_size,pixs pix_size � �:� aref aref_size,nref nref_size,verb_type 2*(maxvbn+1) �<� Set up data areas for rooms and objects and clear them � �B� rdata% (maxrms+1)*r_len,odata% (maxobs+1)*o_len,controom% 12 � �*num_vars=60:� Number of ALPS variables �.var_size=num_vars*2:� 2 bytes per variable � �� Set up the save buffers �+initareasize=7*(maxobs+1)+22*(maxrms+1) =� initsave initareasize,ramsave initareasize+var_size+128 � Area for storing messages &� text% maxtext% 0 :datavalid=� D N� Set up the dictionary X� dict% dict_size b l� Set up the program area v �� program% codesize � �'� Dimension the other arrays needed � �ucsize=500 �Gș "OS_File",5,"<AlpsGame$Resources>ASIobjcode" � ftype,,,,codesize �Iș "OS_File",5,"<AlpsGame$Resources>pbytes" � ftype,,,,pbyte_size � �8� pbytes pbyte_size,work% &1100,asicode% codesize+10 � �(� usercode% ucsize,scale 15,pixtr 15 �run=asicode% � 8�("LOAD <AlpsGame$Resources>ASIobjcode "+�~asicode%) � * � �run 4� � >:err_col=11:�col(130):�col(7):ș "Wimp_SetColour",128+2 Ha� � �:�col(err_col):� �<>17 �'"Interpreter reports a run-time error: "�$:� �D`N � �'�$:� �D`N R!work%=rdata% \work%!4=verbs+3 fwork%!8=nouns+3 pwork%!12=program%+4 zwork%!16=text%+7 �work%!20=dict%+3 �work%!24=odata% �work%!28=adjects+3 �work%!32=preps+3 �work%!36=conjs+3 �work%!40=specs+3 �work%!44=noise+3 �1work%!48=pixs+4:� Was 3 prior to version 5.12 �� work%!52 is reserved �work%!56=initsave �work%!60=last_room �work%!64=last_object+1 �work%!&14c=compress 0work%!&150=usercode%:� New from Version 5.11 Iwork%!&158=0 :� New from Version 6.00 - ensure script disabled � $� 24,0;144;scrw;scrh; .� 8� B+A%=verb_type:B%=nref:C%=aref:D%=ramsave L-E%=pbytes:F%=work%:G%=area%:H%=area_size% V � run `� � j� � � �� �load_vocab �(�load_nouns("<AlpsGame$Data>.Nouns") �(�load_verbs("<AlpsGame$Data>.Verbs") �/�load_adjects("<AlpsGame$Data>.Adjectives") �)�load_preps("<AlpsGame$Data>.Prepos") �)�load_conj("<AlpsGame$Data>.Conjunc") *�load_spec("<AlpsGame$Data>.Specials") (�load_noise("<AlpsGame$Data>.Noise") ,�load_vtypes("<AlpsGame$Data>.VerbType") "'�load_nrefs("<AlpsGame$Data>.Nref") ,'�load_arefs("<AlpsGame$Data>.Aref") 6� @ J� �load_nouns(file$) T� file$="" � ^�error(16,"") h� r� "LOAD "+file$+" "+�~nouns |obn=?nouns �(nxtobj=nouns+(nouns?1+256*(nouns?2)) �� �� � �� �load_verbs(file$) �� file$="" � ��error(16,"") �� �� "LOAD "+file$+" "+�~verbs �vbn=?verbs �(nxtvrb=verbs+(verbs?1+256*(verbs?2)) �� �� � �load_adjects(file$) � file$="" � &�error(16,"") 0� :!� "LOAD "+file$+" "+�~adjects Dadn=?adjects N.nxtadj=adjects+(adjects?1+256*(adjects?2)) X� b� l v� �load_preps(file$) �� file$="" � ��error(16,"") �� �� "LOAD "+file$+" "+�~preps �prn=?preps �(nxtprp=preps+(preps?1+256*(preps?2)) �� �� � �� �load_conj(file$) �� file$="" � ��error(16,"") �� � "LOAD "+file$+" "+�~conjs cjn=?conjs (nxtcjn=conjs+(conjs?1+256*(conjs?2)) � *� 4 >� �load_spec(file$) H� file$="" � R�error(16,"") \� f� "LOAD "+file$+" "+�~specs pspn=?specs z(nxtspn=specs+(specs?1+256*(specs?2)) �� �� � �� �load_noise(file$) �� file$="" � ��error(16,"") �� �� "LOAD "+file$+" "+�~noise �nsn=?noise �(nxtnsn=noise+(noise?1+256*(noise?2)) �� �� � � �load_vtypes(file$) � file$="" � �error(16,"") $� .#� "LOAD "+file$+" "+�~verb_type 8� B� L V� �load_arefs(file$) `� file$="" � j�error(16,"") t� ~� "LOAD "+file$+" "+�~aref �� �� � �� �load_nrefs(file$) �� file$="" � ��error(16,"") �� �� "LOAD "+file$+" "+�~nref �� �� � �� �load_objs(file$) � file$="" � �error(16,"") � � "LOAD "+file$+" "+�~odata% (optr=odata%?14 2last_object=odata%?15 <� F� P Z� �load_rooms(file$) d� file$="" � n�error(16,"") x� � � "LOAD "+file$+" "+�~rdata% �rptr=!rdata% � &FFFF �'last_room=(!rdata% � &FFFF0000)>>16 �� �� � �� �load_pix(file$) �� file$="" � ��error(16,"") �� �� "LOAD "+file$+" "+�~pixs � pxn=?pixs �%nxtpxn=pixs+(pixs?1+256*(pixs?2)) � � "� �load_program(file$) ,� file$="" � 6�error(16,"") @� J"� "LOAD "+file$+" "+�~program% T� ^� h r� �load_text(file$) |� file$="" � ��error(16,"") �� �� "LOAD "+file$+" "+�~text% � mptr=1 �� �� � �� �load_dict(file$) �� I%,L% �� file$="" � ��error(16,"") �� �� "LOAD "+file$+" "+�~dict% tok%=dict%?2:L%=0 !� tok%=0 tok%=128 � tok%-=128 � &� 0 :� �load_files D)�load_objs("<AlpsGame$Data>.Objects") N(�load_rooms("<AlpsGame$Data>.Rooms") X)�load_pix("<AlpsGame$Data>.Pictures") b�load_vocab l,�load_program("<AlpsGame$Data>.Program") v&�load_text("<AlpsGame$Data>.Text") �&�load_dict("<AlpsGame$Data>.Dict") �&�load_code("<AlpsGame$Data>.Code") �1� "LOAD <AlpsGame$Resources>pbytes "+�~pbytes �� � �� �set_Prefs �%in%=�("<AlpsGame$Data>.GameData") �mode%=�#in% �compress=�#in% �Jload_buttons=�#in%:� load_buttons<>0 � load_buttons=� � load_buttons=� �>use_fkeys=�#in%:� use_fkeys<>0 � use_fkeys=� � use_fkeys=� � �#in% �� '� �enter_word(len%,ch$,wd$,wx%,wy%) � key,Po% **FX 4,1 4 Po%=0 >� H� �wx%+Po%,wy%); R*FX15,0 \� f key=� p� key>31 � key=13 z� (key=127) � �.� �-1 � wd$=�wd$,Po%)+�wd$,len%-Po%-1)+ch$ �� (Po%>0 � � �-1) � �-Po%-=1:wd$=�wd$,Po%)+�wd$,len%-Po%-1)+ch$ �� �� �%� key=137 � Po%+1<len% � Po%+=(1) �� key=136 � Po%>0 � Po%-=1 �� (key>31 � key<127) � �K%=� �� lp%=Po% � len% �'� �wd$,lp%,1)=ch$ � Po%<len% � K%=� �� � � K% � )wd$=�wd$,Po%)+�(key)+�wd$,len%-Po%-1) Po%+=(1) � $� .� �wx%,wy%);wd$; 8� key=13 B*FX 4,0 L=wd$ V ` j� �getmodeinfo(mode) t� x,y,xeig,yeig ~ �1ș "OS_ReadModeVariable",mode,1 � ,,textcols% �1ș "OS_ReadModeVariable",mode,2 � ,,textrows% �text_maxllen%=textcols%-2 �,ș "OS_ReadModeVariable",mode,3 � ,,cols �,ș "OS_ReadModeVariable",mode,4 � ,,xeig �,ș "OS_ReadModeVariable",mode,5 � ,,yeig �0ș "OS_ReadModeVariable",mode,7 � ,,scrnsize �*ș "OS_ReadModeVariable",mode,11 � ,,x �*ș "OS_ReadModeVariable",mode,12 � ,,y �-scrw=((x+1)<<xeig)-1:scrh=((y+1)<<yeig)-1 �� � � �col(color) ș "Wimp_TextColour",color � (� �load_pal(f$) 2 � in%,col < in%=�(f$) F� col=0 � 19 PQ � col<16 col1=col:col2=16 � � col=16 col1=col:col2=24 � col1=col-16:col2=25 Z r=�#in%:g=�#in%:b=�#in% d � 19,col1,col2,r,g,b n � col x �#in% �� � �� �load_code(f$) � � in% �in%=� f$:�#in% �,� in%<>0 � �("LOAD "+f$+" "+�~usercode%) �� �
00000000 0d 00 0a 10 f4 20 3e 21 52 75 6e 49 6d 61 67 65 |..... >!RunImage| 00000010 0d 00 14 2b f4 20 28 43 29 20 31 39 38 39 20 50 |...+. (C) 1989 P| 00000020 2e 20 48 61 77 74 68 6f 72 6e 65 2f 41 6c 70 69 |. Hawthorne/Alpi| 00000030 6e 65 20 53 6f 66 74 77 61 72 65 0d 00 1e 48 f4 |ne Software...H.| 00000040 20 4d 6f 64 69 66 69 65 64 20 30 36 2e 31 31 2e | Modified 06.11.| 00000050 39 31 20 2d 20 4c 6f 61 64 20 75 73 65 72 20 63 |91 - Load user c| 00000060 6f 64 65 20 61 6e 64 20 61 6c 6c 6f 77 20 72 65 |ode and allow re| 00000070 6c 61 74 69 76 65 20 65 6e 74 72 79 20 70 6f 69 |lative entry poi| 00000080 6e 74 73 0d 00 28 38 f4 20 4d 6f 64 69 66 69 65 |nts..(8. Modifie| 00000090 64 20 30 33 2e 30 36 2e 39 32 20 2d 20 44 45 46 |d 03.06.92 - DEF| 000000a0 20 50 52 4f 43 72 75 6e 20 70 69 78 20 73 74 61 | PROCrun pix sta| 000000b0 72 74 20 61 74 20 70 69 78 2b 34 0d 00 32 04 0d |rt at pix+4..2..| 000000c0 00 3c 45 ee 20 85 20 65 72 72 66 6c 61 67 3d a4 |.<E. . errflag=.| 000000d0 65 72 72 6f 72 3a e7 20 65 72 72 66 6c 61 67 3d |error:. errflag=| 000000e0 31 20 8c 20 e0 3a c8 99 20 22 57 69 6d 70 5f 53 |1 . .:.. "Wimp_S| 000000f0 65 74 4d 6f 64 65 22 2c 57 69 6d 70 4d 6f 64 65 |etMode",WimpMode| 00000100 20 8b 20 f9 0d 00 46 10 57 69 6d 70 4d 6f 64 65 | . ...F.WimpMode| 00000110 20 3d 20 eb 0d 00 50 04 0d 00 5a 11 de 20 4f 53 | = ...P...Z.. OS| 00000120 62 75 66 66 65 72 20 31 30 0d 00 64 35 c8 99 20 |buffer 10..d5.. | 00000130 22 58 4f 53 5f 52 65 61 64 56 61 72 56 61 6c 22 |"XOS_ReadVarVal"| 00000140 2c 22 41 6c 70 73 24 53 68 6f 77 41 64 64 72 65 |,"Alps$ShowAddre| 00000150 73 73 22 2c 4f 53 62 75 66 66 65 72 2c 38 0d 00 |ss",OSbuffer,8..| 00000160 6e 18 e7 20 3f 4f 53 62 75 66 66 65 72 20 3d 20 |n.. ?OSbuffer = | 00000170 97 22 31 22 20 8c 0d 00 78 0f 20 20 20 73 68 6f |."1" ...x. sho| 00000180 77 69 74 3d b9 0d 00 82 05 cc 0d 00 8c 0f 20 20 |wit=.......... | 00000190 20 73 68 6f 77 69 74 3d a3 0d 00 96 05 cd 0d 00 | showit=........| 000001a0 a0 36 c8 99 20 22 58 4f 53 5f 52 65 61 64 56 61 |.6.. "XOS_ReadVa| 000001b0 72 56 61 6c 22 2c 22 41 6c 70 73 24 4e 6f 4d 6f |rVal","Alps$NoMo| 000001c0 75 73 65 49 6e 70 75 74 22 2c 4f 53 62 75 66 66 |useInput",OSbuff| 000001d0 65 72 2c 38 0d 00 aa 18 e7 20 3f 4f 53 62 75 66 |er,8..... ?OSbuf| 000001e0 66 65 72 20 3d 20 97 22 31 22 20 8c 0d 00 b4 15 |fer = ."1" .....| 000001f0 20 20 20 6c 6f 61 64 5f 62 75 74 74 6f 6e 73 3d | load_buttons=| 00000200 a3 0d 00 be 05 cc 0d 00 c8 15 20 20 20 6c 6f 61 |.......... loa| 00000210 64 5f 62 75 74 74 6f 6e 73 3d b9 0d 00 d2 05 cd |d_buttons=......| 00000220 0d 00 dc 04 0d 00 e6 04 0d 00 f0 2c f2 73 65 74 |...........,.set| 00000230 5f 50 72 65 66 73 3a f4 20 73 65 74 20 70 72 65 |_Prefs:. set pre| 00000240 66 65 72 65 6e 63 65 73 20 28 6d 6f 64 65 20 65 |ferences (mode e| 00000250 74 63 2e 29 0d 00 fa 17 f2 67 65 74 6d 6f 64 65 |tc.).....getmode| 00000260 69 6e 66 6f 28 6d 6f 64 65 25 29 0d 01 04 0a f2 |info(mode%).....| 00000270 69 6e 69 74 32 0d 01 0e 04 0d 01 18 0c 2a 46 58 |init2........*FX| 00000280 32 30 30 2c 31 0d 01 22 04 0d 01 2c 0e e7 20 73 |200,1.."...,.. s| 00000290 68 6f 77 69 74 20 8c 0d 01 36 07 ef 20 37 0d 01 |howit ...6.. 7..| 000002a0 40 26 f1 22 55 73 65 72 20 63 6f 64 65 20 61 64 |@&."User code ad| 000002b0 64 72 65 73 73 3d 20 22 3b 75 73 65 72 63 6f 64 |dress= ";usercod| 000002c0 65 25 3a fa 0d 01 4a 05 cd 0d 01 54 04 0d 01 5e |e%:...J....T...^| 000002d0 29 6f 70 74 69 6f 6e 6e 61 6d 65 24 3d 22 3c 41 |)optionname$="<A| 000002e0 6c 70 73 47 61 6d 65 24 44 61 74 61 3e 2e 4f 70 |lpsGame$Data>.Op| 000002f0 74 69 6f 6e 73 22 0d 01 68 19 62 61 72 66 67 63 |tions"..h.barfgc| 00000300 6f 6c 3d 30 3a 62 61 72 62 67 63 6f 6c 3d 31 0d |ol=0:barbgcol=1.| 00000310 01 72 04 0d 01 7c 25 de 20 6b 65 79 24 28 31 33 |.r...|%. key$(13| 00000320 29 3a f4 20 46 75 6e 63 74 69 6f 6e 20 6b 65 79 |):. Function key| 00000330 20 73 74 72 69 6e 67 73 0d 01 86 28 de 20 62 61 | strings...(. ba| 00000340 72 79 28 33 2c 32 29 3a f4 20 72 67 62 20 62 61 |ry(3,2):. rgb ba| 00000350 72 20 67 72 61 70 68 20 79 20 63 6f 6f 72 64 73 |r graph y coords| 00000360 0d 01 90 04 0d 01 9a 1b 61 72 65 61 5f 73 69 7a |........area_siz| 00000370 65 25 3d 73 63 72 6e 73 69 7a 65 2b 31 30 30 0d |e%=scrnsize+100.| 00000380 01 a4 04 0d 01 ae 32 de 20 61 72 65 61 25 20 61 |......2. area% a| 00000390 72 65 61 5f 73 69 7a 65 25 3a f4 20 53 70 72 69 |rea_size%:. Spri| 000003a0 74 65 20 61 72 65 61 20 28 66 6f 72 20 73 63 72 |te area (for scr| 000003b0 65 65 6e 73 29 0d 01 b8 04 0d 01 c2 0f e3 20 62 |eens)......... b| 000003c0 61 72 3d 31 20 b8 20 33 0d 01 cc 3c 20 20 f3 20 |ar=1 . 3...< . | 000003d0 62 61 72 79 28 62 61 72 2c 31 29 2c 62 61 72 79 |bary(bar,1),bary| 000003e0 28 62 61 72 2c 32 29 3a f4 20 72 65 61 64 20 62 |(bar,2):. read b| 000003f0 6f 74 74 6f 6d 20 61 6e 64 20 74 6f 70 20 63 6f |ottom and top co| 00000400 6f 72 64 73 0d 01 d6 09 ed 20 62 61 72 0d 01 e0 |ords..... bar...| 00000410 04 0d 01 ea 1d dc 20 34 34 35 2c 34 37 37 2c 33 |...... 445,477,3| 00000420 38 36 2c 34 31 38 2c 33 32 37 2c 33 35 39 0d 01 |86,418,327,359..| 00000430 f4 04 0d 01 fe 04 0d 02 08 04 0d 02 12 0d eb 20 |............... | 00000440 6d 6f 64 65 25 3a 87 0d 02 1c 04 0d 02 26 22 f4 |mode%:.......&".| 00000450 20 2d 2d 2d 2d 2d 20 33 30 2e 30 35 2e 39 30 2f | ----- 30.05.90/| 00000460 36 2e 30 36 2e 39 31 20 2d 2d 2d 2d 2d 0d 02 30 |6.06.91 -----..0| 00000470 17 e7 20 6d 6f 64 65 25 3c 3e 57 69 6d 70 4d 6f |.. mode%<>WimpMo| 00000480 64 65 20 8c 0d 02 3a 1b c8 99 20 22 57 69 6d 70 |de ...:... "Wimp| 00000490 5f 53 65 74 4d 6f 64 65 22 2c 6d 6f 64 65 25 0d |_SetMode",mode%.| 000004a0 02 44 18 c8 99 20 22 57 69 6d 70 5f 49 6e 69 74 |.D... "Wimp_Init| 000004b0 69 61 6c 69 73 65 22 0d 02 4e 05 cd 0d 02 58 1a |ialise"..N....X.| 000004c0 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |. --------------| 000004d0 2d 2d 2d 2d 2d 2d 0d 02 62 04 0d 02 6c 31 f4 20 |------..b...l1. | 000004e0 50 49 43 43 59 6c 6f 61 64 20 2d 20 6d 6f 76 65 |PICCYload - move| 000004f0 64 20 66 72 6f 6d 20 6c 69 6e 65 20 35 30 30 2e |d from line 500.| 00000500 2e 2e 20 30 35 2e 31 32 2e 39 31 0d 02 76 04 0d |.. 05.12.91..v..| 00000510 02 80 31 74 65 73 74 31 20 3d 20 8e 28 22 3c 41 |..1test1 = .("<A| 00000520 6c 70 73 24 50 69 63 74 75 72 65 73 3e 4c 6f 61 |lps$Pictures>Loa| 00000530 64 65 72 50 69 63 22 29 3a d9 23 74 65 73 74 31 |derPic"):.#test1| 00000540 0d 02 8a 10 e7 20 74 65 73 74 31 3c 3e 30 20 8c |..... test1<>0 .| 00000550 0d 02 94 2e ff 28 22 53 43 52 45 45 4e 4c 4f 41 |.....("SCREENLOA| 00000560 44 20 3c 41 6c 70 73 24 50 69 63 74 75 72 65 73 |D <Alps$Pictures| 00000570 3e 4c 6f 61 64 65 72 50 69 63 22 29 3a 87 0d 02 |>LoaderPic"):...| 00000580 9e 11 d1 3d 30 3a f5 20 fd 20 91 3e 35 30 30 0d |...=0:. . .>500.| 00000590 02 a8 04 0d 02 b2 0e e3 20 49 3d 31 20 b8 20 33 |........ I=1 . 3| 000005a0 33 0d 02 bc 13 e3 20 4b 3d 31 20 b8 20 37 30 30 |3..... K=1 . 700| 000005b0 3a ed 20 4b 0d 02 c6 1a ef 20 32 33 2c 37 2c 31 |:. K..... 23,7,1| 000005c0 2c 33 2c 31 2c 30 2c 30 2c 30 2c 30 2c 30 0d 02 |,3,1,0,0,0,0,0..| 000005d0 d0 07 ed 20 49 0d 02 da 04 0d 02 e4 05 cd 0d 02 |... I...........| 000005e0 ee 35 e7 20 63 6f 6c 73 3c 36 33 20 8c 20 f2 6c |.5. cols<63 . .l| 000005f0 6f 61 64 5f 70 61 6c 28 22 3c 41 6c 70 73 47 61 |oad_pal("<AlpsGa| 00000600 6d 65 24 44 61 74 61 3e 2e 21 50 61 6c 65 74 74 |me$Data>.!Palett| 00000610 65 22 29 0d 02 f8 22 2a 50 52 49 4e 54 20 3c 41 |e")..."*PRINT <A| 00000620 6c 70 73 47 61 6d 65 24 44 61 74 61 3e 2e 63 68 |lpsGame$Data>.ch| 00000630 61 72 73 65 74 0d 03 02 04 0d 03 0c 13 f4 20 4c |arset......... L| 00000640 6f 61 64 20 62 75 74 74 6f 6e 73 3f 0d 03 16 14 |oad buttons?....| 00000650 e7 20 6c 6f 61 64 5f 62 75 74 74 6f 6e 73 20 8c |. load_buttons .| 00000660 0d 03 20 05 db 0d 03 2a 35 ff 20 22 4c 4f 41 44 |.. ....*5. "LOAD| 00000670 20 3c 41 6c 70 73 47 61 6d 65 24 52 65 73 6f 75 | <AlpsGame$Resou| 00000680 72 63 65 73 3e 62 75 74 74 6f 6e 73 20 22 2b c3 |rces>buttons "+.| 00000690 7e 28 61 72 65 61 25 2b 34 29 0d 03 34 15 21 61 |~(area%+4)..4.!a| 000006a0 72 65 61 25 3d 61 72 65 61 5f 73 69 7a 65 25 0d |rea%=area_size%.| 000006b0 03 3e 40 c8 99 20 22 57 69 6d 70 5f 52 65 61 64 |.>@.. "Wimp_Read| 000006c0 50 69 78 54 72 61 6e 73 22 2c 26 32 30 30 2c 61 |PixTrans",&200,a| 000006d0 72 65 61 25 2c 61 72 65 61 25 2b 31 36 2c 30 2c |rea%,area%+16,0,| 000006e0 30 2c 30 2c 73 63 61 6c 65 2c 70 69 78 74 72 0d |0,0,scale,pixtr.| 000006f0 03 48 3a c8 99 20 22 4f 53 5f 53 70 72 69 74 65 |.H:.. "OS_Sprite| 00000700 4f 70 22 2c 26 32 33 34 2c 61 72 65 61 25 2c 61 |Op",&234,area%,a| 00000710 72 65 61 25 2b 31 36 2c 30 2c 30 2c 38 2c 73 63 |rea%+16,0,0,8,sc| 00000720 61 6c 65 2c 70 69 78 74 72 0d 03 52 21 ef 32 38 |ale,pixtr..R!.28| 00000730 2c 30 2c 74 65 78 74 72 6f 77 73 25 2d 35 2c 74 |,0,textrows%-5,t| 00000740 65 78 74 63 6f 6c 73 25 2c 30 0d 03 5c 05 cc 0d |extcols%,0..\...| 00000750 03 66 05 db 0d 03 70 1f ef 32 38 2c 30 2c 74 65 |.f....p..28,0,te| 00000760 78 74 72 6f 77 73 25 2c 74 65 78 74 63 6f 6c 73 |xtrows%,textcols| 00000770 25 2c 30 0d 03 7a 05 cd 0d 03 84 04 0d 03 8e 04 |%,0..z..........| 00000780 0d 03 98 0b 2a 46 58 31 35 2c 30 0d 03 a2 14 e7 |....*FX15,0.....| 00000790 20 6c 6f 61 64 5f 62 75 74 74 6f 6e 73 20 8c 0d | load_buttons ..| 000007a0 03 ac 0f 20 20 20 2a 50 4f 49 4e 54 45 52 0d 03 |... *POINTER..| 000007b0 b6 0b 20 20 20 c8 97 20 ee 0d 03 c0 12 20 20 20 |.. .. ..... | 000007c0 c8 97 20 b8 20 35 35 30 2c 34 38 0d 03 ca 05 cd |.. . 550,48.....| 000007d0 0d 03 d4 04 0d 03 de 1d e7 20 ac 20 75 73 65 5f |......... . use_| 000007e0 66 6b 65 79 73 20 8c 20 ef 20 34 3a e5 8d 54 76 |fkeys . . 4:..Tv| 000007f0 46 0d 03 e8 04 0d 03 f2 16 69 6e 25 3d 8e 28 6f |F........in%=.(o| 00000800 70 74 69 6f 6e 6e 61 6d 65 24 29 0d 03 fc 0c 63 |ptionname$)....c| 00000810 68 6f 69 63 65 3d a3 0d 04 06 20 e7 20 69 6e 25 |hoice=.... . in%| 00000820 3c 3e 30 20 8c 20 63 68 6f 69 63 65 3d a4 6c 6f |<>0 . choice=.lo| 00000830 61 64 28 69 6e 25 29 0d 04 10 13 e7 20 63 68 6f |ad(in%)..... cho| 00000840 69 63 65 20 e5 20 8d 54 76 46 0d 04 1a 04 0d 04 |ice . .TvF......| 00000850 24 06 ef 34 0d 04 2e 05 f5 0d 04 38 29 c8 99 20 |$..4.......8).. | 00000860 22 57 69 6d 70 5f 53 65 74 43 6f 6c 6f 75 72 22 |"Wimp_SetColour"| 00000870 2c 31 33 31 3a f2 63 6f 6c 28 31 33 35 29 3a db |,131:.col(135):.| 00000880 3a ee 0d 04 42 2f f2 63 6f 6c 28 31 31 29 3a f1 |:...B/.col(11):.| 00000890 8a 32 38 2c 31 29 22 46 55 4e 43 54 49 4f 4e 20 |.28,1)"FUNCTION | 000008a0 4b 45 59 20 44 45 46 49 4e 49 54 49 4f 4e 53 22 |KEY DEFINITIONS"| 000008b0 27 0d 04 4c 0c f2 63 6f 6c 28 31 35 29 0d 04 56 |'..L..col(15)..V| 000008c0 73 6d 24 3d 22 59 6f 75 20 6d 61 79 20 65 6e 74 |sm$="You may ent| 000008d0 65 72 20 75 70 20 74 6f 20 74 77 65 6c 76 65 20 |er up to twelve | 000008e0 65 78 74 72 61 20 63 6f 6d 6d 61 6e 64 20 73 74 |extra command st| 000008f0 72 69 6e 67 73 20 74 6f 20 62 65 20 6f 70 65 72 |rings to be oper| 00000900 61 74 65 64 20 62 79 20 74 68 65 20 41 72 63 68 |ated by the Arch| 00000910 69 6d 65 64 65 73 20 66 75 6e 63 74 69 6f 6e 20 |imedes function | 00000920 6b 65 79 73 20 46 31 20 74 6f 20 46 31 32 2e 22 |keys F1 to F12."| 00000930 0d 04 60 14 e7 20 6c 6f 61 64 5f 62 75 74 74 6f |..`.. load_butto| 00000940 6e 73 20 8c 0d 04 6a 65 20 20 20 6d 24 2b 3d 22 |ns ...je m$+="| 00000950 20 54 68 65 73 65 20 63 6f 6d 6d 61 6e 64 20 73 | These command s| 00000960 74 72 69 6e 67 73 20 61 72 65 20 69 6e 20 61 64 |trings are in ad| 00000970 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 63 6f |dition to the co| 00000980 6d 6d 61 6e 64 73 20 61 6c 6f 6e 67 20 74 68 65 |mmands along the| 00000990 20 27 62 75 74 74 6f 6e 20 63 6f 6e 73 6f 6c 65 | 'button console| 000009a0 27 20 62 65 6c 6f 77 2e 22 0d 04 74 05 cd 0d 04 |' below."..t....| 000009b0 7e 04 0d 04 88 1a c8 99 20 22 4f 53 5f 50 72 65 |~....... "OS_Pre| 000009c0 74 74 79 50 72 69 6e 74 22 2c 6d 24 0d 04 92 06 |ttyPrint",m$....| 000009d0 f1 27 0d 04 9c 6e c8 99 20 22 4f 53 5f 50 72 65 |.'...n.. "OS_Pre| 000009e0 74 74 79 50 72 69 6e 74 22 2c 22 4e 6f 74 65 20 |ttyPrint","Note | 000009f0 74 68 61 74 20 79 6f 75 20 63 61 6e 20 75 73 65 |that you can use| 00000a00 20 27 7c 4d 27 20 74 6f 20 73 69 6d 75 6c 61 74 | '|M' to simulat| 00000a10 65 20 61 20 3c 52 45 54 55 52 4e 3e 20 6b 65 79 |e a <RETURN> key| 00000a20 20 62 65 69 6e 67 20 70 72 65 73 73 65 64 20 69 | being pressed i| 00000a30 6e 20 79 6f 75 72 20 63 6f 6d 6d 61 6e 64 2e 22 |n your command."| 00000a40 0d 04 a6 04 0d 04 b0 07 20 20 f1 0d 04 ba 0d 20 |........ ..... | 00000a50 20 2a 46 58 32 31 2c 30 0d 04 c4 04 0d 04 ce 12 | *FX21,0........| 00000a60 20 20 e3 20 6b 65 79 3d 31 20 b8 20 31 32 0d 04 | . key=1 . 12..| 00000a70 d8 10 20 20 20 20 f2 63 6f 6c 28 31 34 29 0d 04 |.. .col(14)..| 00000a80 e2 2b 20 20 20 20 f1 8a 32 2c 6b 65 79 2b 31 30 |.+ ..2,key+10| 00000a90 29 3b 22 53 74 72 69 6e 67 20 66 6f 72 20 46 22 |);"String for F"| 00000aa0 3b 6b 65 79 3b 22 3a 22 3b 0d 04 ec 10 20 20 20 |;key;":";.... | 00000ab0 20 f2 63 6f 6c 28 31 32 29 0d 04 f6 38 20 20 20 | .col(12)...8 | 00000ac0 20 6b 65 79 24 28 6b 65 79 29 3d a4 65 6e 74 65 | key$(key)=.ente| 00000ad0 72 5f 77 6f 72 64 28 36 30 2c 22 20 22 2c c4 36 |r_word(60," ",.6| 00000ae0 30 2c 22 20 22 29 2c 31 37 2c 6b 65 79 2b 31 30 |0," "),17,key+10| 00000af0 29 0d 05 00 43 20 20 20 20 f4 20 3e 3e 3e 3e 3e |)...C . >>>>>| 00000b00 3e 3e 3e 20 73 63 72 61 70 20 61 6c 6c 20 74 68 |>>> scrap all th| 00000b10 65 20 73 70 61 63 65 73 20 6f 6e 20 74 68 65 20 |e spaces on the | 00000b20 72 68 73 20 62 61 72 20 6f 6e 65 20 3c 3c 3c 3c |rhs bar one <<<<| 00000b30 3c 3c 3c 3c 0d 05 0a 1c 20 20 20 20 c8 95 20 c2 |<<<<.... .. .| 00000b40 6b 65 79 24 28 6b 65 79 29 2c 31 29 3d 22 20 22 |key$(key),1)=" "| 00000b50 0d 05 14 30 20 20 20 20 20 20 20 6b 65 79 24 28 |...0 key$(| 00000b60 6b 65 79 29 3d c0 6b 65 79 24 28 6b 65 79 29 2c |key)=.key$(key),| 00000b70 20 a9 28 6b 65 79 24 28 6b 65 79 29 29 2d 31 29 | .(key$(key))-1)| 00000b80 0d 05 1e 09 20 20 20 20 ce 0d 05 28 23 20 20 20 |.... ...(# | 00000b90 20 6b 65 79 24 28 6b 65 79 29 20 3d 20 6b 65 79 | key$(key) = key| 00000ba0 24 28 6b 65 79 29 20 2b 20 22 20 22 0d 05 32 23 |$(key) + " "..2#| 00000bb0 20 20 20 20 ff 28 22 4b 45 59 22 2b c3 6b 65 79 | .("KEY"+.key| 00000bc0 2b 22 20 22 2b 6b 65 79 24 28 6b 65 79 29 29 0d |+" "+key$(key)).| 00000bd0 05 3c 0b 20 20 ed 20 6b 65 79 0d 05 46 04 0d 05 |.<. . key..F...| 00000be0 50 07 20 20 87 0d 05 5a 16 20 20 e7 20 6c 6f 61 |P. ...Z. . loa| 00000bf0 64 5f 62 75 74 74 6f 6e 73 20 8c 0d 05 64 35 20 |d_buttons ...d5 | 00000c00 20 20 20 20 f4 20 53 59 53 20 22 4f 53 5f 53 70 | . SYS "OS_Sp| 00000c10 72 69 74 65 4f 70 22 2c 35 34 36 2c 61 72 65 61 |riteOp",546,area| 00000c20 25 2c 61 72 65 61 25 2b 31 36 2c 30 2c 30 2c 38 |%,area%+16,0,0,8| 00000c30 0d 05 6e 3f 20 20 20 20 20 c8 99 20 22 4f 53 5f |..n? .. "OS_| 00000c40 53 70 72 69 74 65 4f 70 22 2c 26 32 33 34 2c 61 |SpriteOp",&234,a| 00000c50 72 65 61 25 2c 61 72 65 61 25 2b 31 36 2c 30 2c |rea%,area%+16,0,| 00000c60 30 2c 38 2c 73 63 61 6c 65 2c 70 69 78 74 72 0d |0,8,scale,pixtr.| 00000c70 05 78 43 20 20 20 20 20 6d 73 67 24 3d 22 49 73 |.xC msg$="Is| 00000c80 20 74 68 69 73 20 4f 4b 3f 20 43 6c 69 63 6b 20 | this OK? Click | 00000c90 27 59 45 53 27 20 6f 72 20 27 4e 4f 27 20 6f 72 |'YES' or 'NO' or| 00000ca0 20 70 72 65 73 73 20 27 59 27 20 6f 72 20 27 4e | press 'Y' or 'N| 00000cb0 27 22 0d 05 82 07 20 20 cc 0d 05 8c 28 20 20 20 |'".... ....( | 00000cc0 20 20 6d 73 67 24 3d 22 49 73 20 74 68 69 73 20 | msg$="Is this | 00000cd0 4f 4b 3f 20 50 72 65 73 73 20 59 20 6f 72 20 4e |OK? Press Y or N| 00000ce0 22 0d 05 96 07 20 20 cd 0d 05 a0 16 20 20 f2 63 |".... ..... .c| 00000cf0 6f 6c 28 31 31 29 3a f1 27 27 6d 73 67 24 0d 05 |ol(11):.''msg$..| 00000d00 aa 0b 20 20 6b 65 79 3d 30 0d 05 b4 04 0d 05 be |.. key=0.......| 00000d10 1b 20 20 f5 3a c8 97 20 58 25 2c 59 25 2c 42 25 |. .:.. X%,Y%,B%| 00000d20 3a 41 24 3d bf 28 30 29 0d 05 c8 1f 20 20 e7 20 |:A$=.(0).... . | 00000d30 41 24 3d 22 59 22 20 84 20 41 24 3d 22 79 22 20 |A$="Y" . A$="y" | 00000d40 8c 20 6b 65 79 3d 37 0d 05 d2 1f 20 20 e7 20 41 |. key=7.... . A| 00000d50 24 3d 22 4e 22 20 84 20 41 24 3d 22 6e 22 20 8c |$="N" . A$="n" .| 00000d60 20 6b 65 79 3d 38 0d 05 dc 40 20 20 20 20 e7 20 | key=8...@ . | 00000d70 42 25 3d 34 20 80 20 6c 6f 61 64 5f 62 75 74 74 |B%=4 . load_butt| 00000d80 6f 6e 73 3a f2 69 6e 28 58 25 2c 59 25 2c 6b 65 |ons:.in(X%,Y%,ke| 00000d90 79 29 3a f5 3a c8 97 58 25 2c 59 25 2c 42 25 3a |y):.:..X%,Y%,B%:| 00000da0 fd 20 42 25 3d 30 0d 05 e6 15 20 20 fd 20 6b 65 |. B%=0.... . ke| 00000db0 79 3d 37 20 84 20 6b 65 79 3d 38 0d 05 f0 04 0d |y=7 . key=8.....| 00000dc0 05 fa 0b fd 20 6b 65 79 3d 37 0d 06 04 04 0d 06 |.... key=7......| 00000dd0 0e 05 db 0d 06 18 51 f2 57 72 69 74 65 4f 75 74 |......Q.WriteOut| 00000de0 46 69 6c 65 3a f2 63 6f 6c 28 30 29 3a f1 27 27 |File:.col(0):.''| 00000df0 22 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 20 |"These function | 00000e00 6b 65 79 73 20 68 61 76 65 20 62 65 65 6e 20 73 |keys have been s| 00000e10 61 76 65 64 20 66 6f 72 20 66 75 74 75 72 65 20 |aved for future | 00000e20 75 73 65 22 0d 06 22 04 0d 06 2c 0c 41 3d a6 28 |use".."...,.A=.(| 00000e30 32 30 30 29 0d 06 36 19 ef 20 32 34 2c 30 3b 31 |200)..6.. 24,0;1| 00000e40 34 34 3b 73 63 72 77 3b 73 63 72 68 3b 0d 06 40 |44;scrw;scrh;..@| 00000e50 31 f2 63 6f 6c 28 31 33 31 29 3a c8 99 20 22 57 |1.col(131):.. "W| 00000e60 69 6d 70 5f 53 65 74 43 6f 6c 6f 75 72 22 2c 31 |imp_SetColour",1| 00000e70 33 31 3a da 3a db 3a f2 63 6f 6c 28 33 29 0d 06 |31:.:.:.col(3)..| 00000e80 4a 04 0d 06 54 04 0d 06 5e 0f f2 6c 6f 61 64 5f |J...T...^..load_| 00000e90 66 69 6c 65 73 0d 06 68 0c 2a 46 58 32 32 35 2c |files..h.*FX225,| 00000ea0 31 0d 06 72 08 f2 72 75 6e 0d 06 7c 0c 2a 46 58 |1..r..run..|.*FX| 00000eb0 32 30 30 2c 30 0d 06 86 0a ef 20 32 36 3a db 0d |200,0..... 26:..| 00000ec0 06 90 07 ef 20 34 0d 06 9a 44 e7 20 6d 6f 64 65 |.... 4...D. mode| 00000ed0 25 3c 3e 57 69 6d 70 4d 6f 64 65 20 8c 20 c8 99 |%<>WimpMode . ..| 00000ee0 20 22 57 69 6d 70 5f 53 65 74 4d 6f 64 65 22 2c | "Wimp_SetMode",| 00000ef0 57 69 6d 70 4d 6f 64 65 3a f4 20 33 30 2e 30 35 |WimpMode:. 30.05| 00000f00 2e 39 30 2f 36 2e 36 2e 39 31 0d 06 a4 1a f1 22 |.90/6.6.91....."| 00000f10 41 64 76 65 6e 74 75 72 65 20 66 69 6e 69 73 68 |Adventure finish| 00000f20 65 64 2e 22 0d 06 ae 05 e0 0d 06 b8 04 0d 06 c2 |ed."............| 00000f30 16 dd 20 f2 69 6e 28 58 25 2c 59 25 2c f8 20 63 |.. .in(X%,Y%,. c| 00000f40 6f 6d 29 0d 06 cc 10 63 6f 6d 3d 30 3a 72 6f 77 |om)....com=0:row| 00000f50 3d 39 39 0d 06 d6 1a e7 20 59 25 3e 37 39 20 80 |=99..... Y%>79 .| 00000f60 20 59 25 3c 31 32 35 20 72 6f 77 3d 31 0d 06 e0 | Y%<125 row=1...| 00000f70 18 e7 20 59 25 3e 30 20 80 20 59 25 3c 35 31 20 |.. Y%>0 . Y%<51 | 00000f80 72 6f 77 3d 30 0d 06 ea 1f 63 6f 6c 3d 28 58 25 |row=0....col=(X%| 00000f90 2d 6d 69 6e 78 29 20 81 20 28 77 69 64 74 68 29 |-minx) . (width)| 00000fa0 20 2b 20 31 0d 06 f4 26 e7 20 63 6f 6c 3c 3d 72 | + 1...&. col<=r| 00000fb0 6f 77 6c 65 6e 20 8c 20 63 6f 6d 3d 63 6f 6c 2b |owlen . com=col+| 00000fc0 72 6f 77 6c 65 6e 2a 72 6f 77 0d 06 fe 05 e1 0d |rowlen*row......| 00000fd0 07 08 04 0d 07 12 10 dd 20 a4 6c 6f 61 64 28 69 |........ .load(i| 00000fe0 6e 25 29 0d 07 1c 06 ef 34 0d 07 26 49 f2 63 6f |n%).....4..&I.co| 00000ff0 6c 28 37 29 3a f2 63 6f 6c 28 31 33 31 29 3a db |l(7):.col(131):.| 00001000 3a f1 8a 30 2c 35 29 3b 22 20 4c 6f 61 64 20 79 |:..0,5);" Load y| 00001010 6f 75 72 20 73 61 76 65 64 20 66 75 6e 63 74 69 |our saved functi| 00001020 6f 6e 20 6b 65 79 20 73 65 74 74 69 6e 67 73 3f |on key settings?| 00001030 20 22 0d 07 30 14 e7 20 6c 6f 61 64 5f 62 75 74 | "..0.. load_but| 00001040 74 6f 6e 73 20 8c 0d 07 3a 37 20 20 20 6d 73 67 |tons ...:7 msg| 00001050 24 3d 22 43 6c 69 63 6b 20 27 59 45 53 27 20 6f |$="Click 'YES' o| 00001060 72 20 27 4e 4f 27 2c 20 6f 72 20 70 72 65 73 73 |r 'NO', or press| 00001070 20 27 59 27 20 6f 72 20 27 4e 27 2e 22 0d 07 44 | 'Y' or 'N'."..D| 00001080 05 cc 0d 07 4e 1f 20 20 20 6d 73 67 24 3d 22 50 |....N. msg$="P| 00001090 72 65 73 73 20 27 59 27 20 6f 72 20 27 4e 27 2e |ress 'Y' or 'N'.| 000010a0 22 0d 07 58 05 cd 0d 07 62 0c f1 27 27 27 6d 73 |"..X....b..'''ms| 000010b0 67 24 0d 07 6c 09 6b 65 79 3d 30 0d 07 76 05 f5 |g$..l.key=0..v..| 000010c0 0d 07 80 19 20 20 c8 97 20 58 25 2c 59 25 2c 42 |.... .. X%,Y%,B| 000010d0 25 3a 41 24 3d bf 28 30 29 0d 07 8a 1f 20 20 e7 |%:A$=.(0).... .| 000010e0 20 41 24 3d 22 59 22 20 84 20 41 24 3d 22 79 22 | A$="Y" . A$="y"| 000010f0 20 8c 20 6b 65 79 3d 37 0d 07 94 1f 20 20 e7 20 | . key=7.... . | 00001100 41 24 3d 22 4e 22 20 84 20 41 24 3d 22 6e 22 20 |A$="N" . A$="n" | 00001110 8c 20 6b 65 79 3d 38 0d 07 9e 2a 20 20 e7 20 42 |. key=8...* . B| 00001120 25 3d 34 20 80 20 6c 6f 61 64 5f 62 75 74 74 6f |%=4 . load_butto| 00001130 6e 73 3a f2 69 6e 28 58 25 2c 59 25 2c 6b 65 79 |ns:.in(X%,Y%,key| 00001140 29 0d 07 a8 13 fd 20 6b 65 79 3d 37 20 84 20 6b |)..... key=7 . k| 00001150 65 79 3d 38 0d 07 b2 2a e7 20 6b 65 79 3d 37 20 |ey=8...*. key=7 | 00001160 f2 52 65 61 64 49 6e 46 69 6c 65 28 69 6e 25 29 |.ReadInFile(in%)| 00001170 3a 3d b9 20 8b 20 d9 23 69 6e 25 3a 3d a3 0d 07 |:=. . .#in%:=...| 00001180 bc 04 0d 07 c6 18 dd 20 f2 52 65 61 64 49 6e 46 |....... .ReadInF| 00001190 69 6c 65 28 63 68 61 6e 25 29 0d 07 d0 04 0d 07 |ile(chan%)......| 000011a0 da 0f e3 20 4b 25 3d 31 20 b8 20 31 32 0d 07 e4 |... K%=1 . 12...| 000011b0 16 20 20 e8 23 63 68 61 6e 25 2c 6b 65 79 24 28 |. .#chan%,key$(| 000011c0 4b 25 29 0d 07 ee 22 20 20 ff 28 22 4b 45 59 20 |K%)..." .("KEY | 000011d0 22 2b c3 28 4b 25 29 2b 22 20 22 2b 6b 65 79 24 |"+.(K%)+" "+key$| 000011e0 28 4b 25 29 29 0d 07 f8 05 ed 0d 08 02 04 0d 08 |(K%))...........| 000011f0 0c 0c d9 20 23 63 68 61 6e 25 0d 08 16 05 e1 0d |... #chan%......| 00001200 08 20 04 0d 08 2a 13 dd 20 f2 57 72 69 74 65 4f |. ...*.. .WriteO| 00001210 75 74 46 69 6c 65 0d 08 34 04 0d 08 3e 17 63 68 |utFile..4...>.ch| 00001220 61 6e 25 3d ae 20 6f 70 74 69 6f 6e 6e 61 6d 65 |an%=. optionname| 00001230 24 0d 08 48 04 0d 08 52 0f e3 20 4b 25 3d 31 20 |$..H...R.. K%=1 | 00001240 b8 20 31 32 0d 08 5c 16 20 20 f1 23 63 68 61 6e |. 12..\. .#chan| 00001250 25 2c 6b 65 79 24 28 4b 25 29 0d 08 66 05 ed 0d |%,key$(K%)..f...| 00001260 08 70 04 0d 08 7a 0b d9 23 63 68 61 6e 25 0d 08 |.p...z..#chan%..| 00001270 84 05 e1 0d 08 8e 04 0d 08 98 04 0d 08 a2 0c dd |................| 00001280 20 a4 65 72 72 6f 72 0d 08 ac 0e 2a 50 4f 49 4e | .error....*POIN| 00001290 54 45 52 20 31 0d 08 b6 0a c8 97 20 ee 20 31 0d |TER 1...... . 1.| 000012a0 08 c0 04 0d 08 ca 23 c8 99 20 22 57 69 6d 70 5f |......#.. "Wimp_| 000012b0 53 65 74 43 6f 6c 6f 75 72 22 2c 31 3a 77 69 64 |SetColour",1:wid| 000012c0 74 68 3d 37 30 30 0d 08 d4 25 72 65 70 6f 72 74 |th=700...%report| 000012d0 77 69 64 74 68 3d 28 a9 28 f6 24 29 2b a9 28 c3 |width=(.(.$)+.(.| 000012e0 28 9e 29 29 2b 31 32 29 2a 31 36 0d 08 de 2b e7 |(.))+12)*16...+.| 000012f0 20 77 69 64 74 68 3c 72 65 70 6f 72 74 77 69 64 | width<reportwid| 00001300 74 68 20 8c 20 77 69 64 74 68 3d 72 65 70 6f 72 |th . width=repor| 00001310 74 77 69 64 74 68 0d 08 e8 1b c8 93 20 c8 90 20 |twidth...... .. | 00001320 32 30 30 2c 33 30 30 2c 77 69 64 74 68 2c 32 30 |200,300,width,20| 00001330 34 0d 08 f2 1b c8 97 20 c8 93 20 32 30 30 2c 33 |4...... .. 200,3| 00001340 30 30 2c 77 69 64 74 68 2c 32 30 34 0d 08 fc 43 |00,width,204...C| 00001350 c8 99 20 22 57 69 6d 70 5f 53 65 74 43 6f 6c 6f |.. "Wimp_SetColo| 00001360 75 72 22 2c 37 3a ef 20 35 3a ec 20 32 31 36 2c |ur",7:. 5:. 216,| 00001370 34 35 30 3a f1 22 53 79 73 74 65 6d 20 72 65 70 |450:."System rep| 00001380 6f 72 74 73 20 61 6e 20 65 72 72 6f 72 3a 22 0d |orts an error:".| 00001390 09 06 2a ec 20 32 31 36 2c 34 30 30 3a f1 20 f6 |..*. 216,400:. .| 000013a0 24 3b 3a e7 20 9e 3e 30 20 8c 20 f1 22 20 61 74 |$;:. .>0 . ." at| 000013b0 20 6c 69 6e 65 20 22 3b 9e 0d 09 10 5a c8 99 20 | line ";....Z.. | 000013c0 22 57 69 6d 70 5f 53 65 74 43 6f 6c 6f 75 72 22 |"Wimp_SetColour"| 000013d0 2c 33 3a c8 93 20 c8 90 20 35 36 30 2c 33 32 30 |,3:.. .. 560,320| 000013e0 2c 31 34 30 2c 33 32 3a ec 20 35 36 38 2c 33 34 |,140,32:. 568,34| 000013f0 38 3a c8 99 20 22 57 69 6d 70 5f 53 65 74 43 6f |8:.. "Wimp_SetCo| 00001400 6c 6f 75 72 22 2c 37 3a f1 22 43 4f 4e 54 49 4e |lour",7:."CONTIN| 00001410 55 45 22 0d 09 1a 55 c8 99 20 22 57 69 6d 70 5f |UE"...U.. "Wimp_| 00001420 53 65 74 43 6f 6c 6f 75 72 22 2c 33 3a c8 93 20 |SetColour",3:.. | 00001430 c8 90 20 33 36 30 2c 33 32 30 2c 37 36 2c 33 32 |.. 360,320,76,32| 00001440 3a ec 20 33 36 38 2c 33 34 38 3a c8 99 20 22 57 |:. 368,348:.. "W| 00001450 69 6d 70 5f 53 65 74 43 6f 6c 6f 75 72 22 2c 37 |imp_SetColour",7| 00001460 3a f1 22 51 55 49 54 22 0d 09 24 04 0d 09 2e 0a |:."QUIT"..$.....| 00001470 66 6c 61 67 3d 30 0d 09 38 05 f5 0d 09 42 07 20 |flag=0..8....B. | 00001480 20 f5 0d 09 4c 09 20 20 20 20 f5 0d 09 56 12 20 | ...L. ...V. | 00001490 20 20 20 20 20 c8 97 20 58 2c 59 2c 42 0d 09 60 | .. X,Y,B..`| 000014a0 0d 20 20 20 20 fd 20 42 3d 34 0d 09 6a 15 20 20 |. . B=4..j. | 000014b0 fd 20 59 3e 33 32 30 20 80 20 59 3c 33 35 36 0d |. Y>320 . Y<356.| 000014c0 09 74 04 0d 09 7e 1c e7 20 58 3e 35 36 30 20 80 |.t...~.. X>560 .| 000014d0 20 58 3c 37 30 30 20 8c 20 66 6c 61 67 3d 32 0d | X<700 . flag=2.| 000014e0 09 88 1c e7 20 58 3e 33 36 30 20 80 20 58 3c 34 |.... X>360 . X<4| 000014f0 33 36 20 8c 20 66 6c 61 67 3d 31 0d 09 92 04 0d |36 . flag=1.....| 00001500 09 9c 15 fd 20 66 6c 61 67 3d 31 20 84 20 66 6c |.... flag=1 . fl| 00001510 61 67 3d 32 0d 09 a6 04 0d 09 b0 19 c8 99 20 22 |ag=2.......... "| 00001520 57 69 6d 70 5f 53 65 74 43 6f 6c 6f 75 72 22 2c |Wimp_SetColour",| 00001530 30 0d 09 ba 1b c8 93 20 c8 90 20 32 30 30 2c 33 |0...... .. 200,3| 00001540 30 30 2c 77 69 64 74 68 2c 32 30 34 0d 09 c4 09 |00,width,204....| 00001550 ef 20 34 3a 87 0d 09 ce 17 c8 97 20 c8 93 20 30 |. 4:....... .. 0| 00001560 2c 30 2c 31 32 37 39 2c 31 30 32 33 0d 09 d8 04 |,0,1279,1023....| 00001570 0d 09 e2 1b e7 20 6c 6f 61 64 5f 62 75 74 74 6f |..... load_butto| 00001580 6e 73 20 80 20 66 6c 61 67 3d 32 0d 09 ec 0b 20 |ns . flag=2.... | 00001590 20 20 c8 97 20 87 0d 09 f6 05 cd 0d 0a 00 04 0d | .. ...........| 000015a0 0a 0a 09 3d 66 6c 61 67 0d 0a 14 04 0d 0a 1e 04 |...=flag........| 000015b0 0d 0a 28 0c dd 20 f2 69 6e 69 74 32 0d 0a 32 17 |..(.. .init2..2.| 000015c0 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 44 6f |.. "Wimp_CloseDo| 000015d0 77 6e 22 0d 0a 3c 0b 6d 69 6e 78 3d 33 32 0d 0a |wn"..<.minx=32..| 000015e0 46 0c 77 69 64 74 68 3d 38 30 0d 0a 50 09 79 25 |F.width=80..P.y%| 000015f0 3d 37 32 0d 0a 5a 11 58 25 3d 6d 69 6e 78 3a 59 |=72..Z.X%=minx:Y| 00001600 25 3d 79 25 0d 0a 64 24 73 70 72 69 74 65 73 3d |%=y%..d$sprites=| 00001610 32 36 3a f4 20 4e 75 6d 62 65 72 20 6f 66 20 27 |26:. Number of '| 00001620 62 75 74 74 6f 6e 73 27 0d 0a 6e 16 72 6f 77 6c |buttons'..n.rowl| 00001630 65 6e 3d 73 70 72 69 74 65 73 20 81 20 32 0d 0a |en=sprites . 2..| 00001640 78 14 58 4c 3d 34 34 38 3a 58 52 3d 58 4c 2b 32 |x.XL=448:XR=XL+2| 00001650 35 35 0d 0a 82 04 0d 0a 8c 27 f4 20 4d 61 6e 69 |55.......'. Mani| 00001660 66 65 73 74 20 63 6f 6e 73 74 61 6e 74 73 20 66 |fest constants f| 00001670 6f 72 20 74 68 65 20 73 79 73 74 65 6d 0d 0a 96 |or the system...| 00001680 32 6d 61 78 72 6d 73 3d 31 30 30 30 3a 6d 61 78 |2maxrms=1000:max| 00001690 6f 62 73 3d 32 35 35 3a 6d 61 78 73 77 25 3d 31 |obs=255:maxsw%=1| 000016a0 30 3a 6d 61 78 74 6f 6b 65 6e 73 3d 31 32 38 0d |0:maxtokens=128.| 000016b0 0a a0 31 6d 61 78 6c 65 6e 3d 31 30 3a f4 20 4d |..1maxlen=10:. M| 000016c0 61 78 69 6d 75 6d 20 77 6f 72 64 20 6c 65 6e 67 |aximum word leng| 000016d0 74 68 20 69 6e 20 76 6f 63 61 62 75 6c 61 72 79 |th in vocabulary| 000016e0 0d 0a aa 04 0d 0a b4 33 f4 20 52 6f 6f 6d 20 61 |.......3. Room a| 000016f0 6e 64 20 6f 62 6a 65 63 74 20 64 61 74 61 20 62 |nd object data b| 00001700 6c 6f 63 6b 20 6c 65 6e 67 74 68 73 20 28 69 6e |lock lengths (in| 00001710 20 62 79 74 65 73 29 0d 0a be 15 72 5f 6c 65 6e | bytes)....r_len| 00001720 3d 37 34 3a 6f 5f 6c 65 6e 3d 31 36 0d 0a c8 04 |=74:o_len=16....| 00001730 0d 0a d2 35 6d 61 78 6d 73 67 3d 36 35 35 33 35 |...5maxmsg=65535| 00001740 3a 6d 61 78 6f 62 6e 3d 32 35 35 3a 6d 61 78 76 |:maxobn=255:maxv| 00001750 62 6e 3d 32 35 35 3a 6d 61 78 63 6f 6e 73 74 3d |bn=255:maxconst=| 00001760 36 35 35 33 35 0d 0a dc 45 6d 61 78 61 64 6a 3d |65535...Emaxadj=| 00001770 32 35 35 3a 6d 61 78 70 72 65 70 3d 35 30 3a 6d |255:maxprep=50:m| 00001780 61 78 63 6f 6e 6a 3d 35 30 3a 6d 61 78 73 70 65 |axconj=50:maxspe| 00001790 63 3d 31 30 3a 6d 61 78 6e 6f 69 73 65 3d 31 30 |c=10:maxnoise=10| 000017a0 3a 6d 61 78 70 69 78 3d 35 30 0d 0a e6 04 0d 0a |:maxpix=50......| 000017b0 f0 12 6e 6f 75 6e 5f 73 69 7a 65 3d 33 30 30 30 |..noun_size=3000| 000017c0 0d 0a fa 12 76 65 72 62 5f 73 69 7a 65 3d 33 30 |....verb_size=30| 000017d0 30 30 0d 0b 04 12 61 64 6a 63 5f 73 69 7a 65 3d |00....adjc_size=| 000017e0 31 30 30 30 0d 0b 0e 2e 70 72 65 70 5f 73 69 7a |1000....prep_siz| 000017f0 65 3d 32 30 30 20 3a f4 20 53 69 7a 65 20 6f 66 |e=200 :. Size of| 00001800 20 70 72 65 70 6f 73 69 74 69 6f 6e 73 20 6c 69 | prepositions li| 00001810 73 74 0d 0b 18 2e 63 6f 6e 6a 5f 73 69 7a 65 3d |st....conj_size=| 00001820 31 30 30 20 3a f4 20 73 69 7a 65 20 6f 66 20 63 |100 :. size of c| 00001830 6f 6e 6a 75 6e 63 74 69 6f 6e 73 20 6c 69 73 74 |onjunctions list| 00001840 0d 0b 22 3c 73 70 65 63 5f 73 69 7a 65 3d 31 30 |.."<spec_size=10| 00001850 30 20 3a f4 20 73 69 7a 65 20 6f 66 20 27 73 70 |0 :. size of 'sp| 00001860 65 63 69 61 6c 73 27 20 6c 69 73 74 20 28 49 54 |ecials' list (IT| 00001870 2c 20 54 48 45 4d 2c 20 41 4c 4c 29 0d 0b 2c 34 |, THEM, ALL)..,4| 00001880 6e 6f 69 73 65 5f 73 69 7a 65 3d 31 30 30 3a f4 |noise_size=100:.| 00001890 20 73 69 7a 65 20 6f 66 20 27 6e 6f 69 73 65 27 | size of 'noise'| 000018a0 20 6c 69 73 74 20 28 54 48 45 2c 41 2c 41 4e 29 | list (THE,A,AN)| 000018b0 0d 0b 36 3d 61 72 65 66 5f 73 69 7a 65 3d 32 30 |..6=aref_size=20| 000018c0 30 30 3a f4 20 73 69 7a 65 20 6f 66 20 61 64 6a |00:. size of adj| 000018d0 65 63 74 69 76 65 20 6f 62 6a 65 63 74 20 72 65 |ective object re| 000018e0 66 65 72 65 6e 63 65 20 74 61 62 6c 65 0d 0b 40 |ference table..@| 000018f0 39 6e 72 65 66 5f 73 69 7a 65 3d 32 30 30 30 3a |9nref_size=2000:| 00001900 f4 20 73 69 7a 65 20 6f 66 20 6e 6f 75 6e 73 20 |. size of nouns | 00001910 6f 62 6a 65 63 74 20 72 65 66 65 72 65 6e 63 65 |object reference| 00001920 20 74 61 62 6c 65 0d 0b 4a 2d 70 69 78 5f 73 69 | table..J-pix_si| 00001930 7a 65 3d 31 30 30 30 3a f4 20 73 69 7a 65 20 6f |ze=1000:. size o| 00001940 66 20 70 69 78 20 66 69 6c 65 6e 61 6d 65 20 6c |f pix filename l| 00001950 69 73 74 0d 0b 54 04 0d 0b 5e 40 c8 99 20 22 4f |ist..T...^@.. "O| 00001960 53 5f 46 69 6c 65 22 2c 35 2c 22 3c 41 6c 70 73 |S_File",5,"<Alps| 00001970 47 61 6d 65 24 44 61 74 61 3e 2e 50 72 6f 67 72 |Game$Data>.Progr| 00001980 61 6d 22 20 b8 20 66 74 79 70 65 2c 2c 2c 2c 63 |am" . ftype,,,,c| 00001990 6f 64 65 73 69 7a 65 0d 0b 68 40 c8 99 20 22 4f |odesize..h@.. "O| 000019a0 53 5f 46 69 6c 65 22 2c 35 2c 22 3c 41 6c 70 73 |S_File",5,"<Alps| 000019b0 47 61 6d 65 24 44 61 74 61 3e 2e 54 65 78 74 22 |Game$Data>.Text"| 000019c0 20 20 20 20 b8 20 66 74 79 70 65 2c 2c 2c 2c 6d | . ftype,,,,m| 000019d0 61 78 74 65 78 74 25 0d 0b 72 04 0d 0b 7c 12 64 |axtext%..r...|.d| 000019e0 69 63 74 5f 73 69 7a 65 3d 31 30 30 30 0d 0b 86 |ict_size=1000...| 000019f0 04 0d 0b 90 86 de 20 6e 6f 75 6e 73 20 6e 6f 75 |...... nouns nou| 00001a00 6e 5f 73 69 7a 65 2c 76 65 72 62 73 20 76 65 72 |n_size,verbs ver| 00001a10 62 5f 73 69 7a 65 2c 61 64 6a 65 63 74 73 20 61 |b_size,adjects a| 00001a20 64 6a 63 5f 73 69 7a 65 2c 70 72 65 70 73 20 70 |djc_size,preps p| 00001a30 72 65 70 5f 73 69 7a 65 2c 63 6f 6e 6a 73 20 63 |rep_size,conjs c| 00001a40 6f 6e 6a 5f 73 69 7a 65 2c 73 70 65 63 73 20 73 |onj_size,specs s| 00001a50 70 65 63 5f 73 69 7a 65 2c 6e 6f 69 73 65 20 6e |pec_size,noise n| 00001a60 6f 69 73 65 5f 73 69 7a 65 2c 70 69 78 73 20 70 |oise_size,pixs p| 00001a70 69 78 5f 73 69 7a 65 0d 0b 9a 04 0d 0b a4 3a de |ix_size.......:.| 00001a80 20 61 72 65 66 20 61 72 65 66 5f 73 69 7a 65 2c | aref aref_size,| 00001a90 6e 72 65 66 20 6e 72 65 66 5f 73 69 7a 65 2c 76 |nref nref_size,v| 00001aa0 65 72 62 5f 74 79 70 65 20 32 2a 28 6d 61 78 76 |erb_type 2*(maxv| 00001ab0 62 6e 2b 31 29 0d 0b ae 3c f4 20 53 65 74 20 75 |bn+1)...<. Set u| 00001ac0 70 20 64 61 74 61 20 61 72 65 61 73 20 66 6f 72 |p data areas for| 00001ad0 20 72 6f 6f 6d 73 20 61 6e 64 20 6f 62 6a 65 63 | rooms and objec| 00001ae0 74 73 20 61 6e 64 20 63 6c 65 61 72 20 74 68 65 |ts and clear the| 00001af0 6d 0d 0b b8 04 0d 0b c2 42 de 20 72 64 61 74 61 |m.......B. rdata| 00001b00 25 20 28 6d 61 78 72 6d 73 2b 31 29 2a 72 5f 6c |% (maxrms+1)*r_l| 00001b10 65 6e 2c 6f 64 61 74 61 25 20 28 6d 61 78 6f 62 |en,odata% (maxob| 00001b20 73 2b 31 29 2a 6f 5f 6c 65 6e 2c 63 6f 6e 74 72 |s+1)*o_len,contr| 00001b30 6f 6f 6d 25 20 31 32 0d 0b cc 04 0d 0b d6 2a 6e |oom% 12.......*n| 00001b40 75 6d 5f 76 61 72 73 3d 36 30 3a f4 20 4e 75 6d |um_vars=60:. Num| 00001b50 62 65 72 20 6f 66 20 41 4c 50 53 20 76 61 72 69 |ber of ALPS vari| 00001b60 61 62 6c 65 73 0d 0b e0 2e 76 61 72 5f 73 69 7a |ables....var_siz| 00001b70 65 3d 6e 75 6d 5f 76 61 72 73 2a 32 3a f4 20 32 |e=num_vars*2:. 2| 00001b80 20 62 79 74 65 73 20 70 65 72 20 76 61 72 69 61 | bytes per varia| 00001b90 62 6c 65 0d 0b ea 04 0d 0b f4 1d f4 20 53 65 74 |ble......... Set| 00001ba0 20 75 70 20 74 68 65 20 73 61 76 65 20 62 75 66 | up the save buf| 00001bb0 66 65 72 73 0d 0b fe 2b 69 6e 69 74 61 72 65 61 |fers...+initarea| 00001bc0 73 69 7a 65 3d 37 2a 28 6d 61 78 6f 62 73 2b 31 |size=7*(maxobs+1| 00001bd0 29 2b 32 32 2a 28 6d 61 78 72 6d 73 2b 31 29 0d |)+22*(maxrms+1).| 00001be0 0c 08 3d de 20 69 6e 69 74 73 61 76 65 20 69 6e |..=. initsave in| 00001bf0 69 74 61 72 65 61 73 69 7a 65 2c 72 61 6d 73 61 |itareasize,ramsa| 00001c00 76 65 20 69 6e 69 74 61 72 65 61 73 69 7a 65 2b |ve initareasize+| 00001c10 76 61 72 5f 73 69 7a 65 2b 31 32 38 0d 0c 12 04 |var_size+128....| 00001c20 0d 0c 1c 1f f4 20 41 72 65 61 20 66 6f 72 20 73 |..... Area for s| 00001c30 74 6f 72 69 6e 67 20 6d 65 73 73 61 67 65 73 0d |toring messages.| 00001c40 0c 26 14 de 20 74 65 78 74 25 20 6d 61 78 74 65 |.&.. text% maxte| 00001c50 78 74 25 0d 0c 30 04 0d 0c 3a 0f 64 61 74 61 76 |xt%..0...:.datav| 00001c60 61 6c 69 64 3d b9 0d 0c 44 04 0d 0c 4e 1b f4 20 |alid=...D...N.. | 00001c70 53 65 74 20 75 70 20 74 68 65 20 64 69 63 74 69 |Set up the dicti| 00001c80 6f 6e 61 72 79 0d 0c 58 15 de 20 64 69 63 74 25 |onary..X.. dict%| 00001c90 20 64 69 63 74 5f 73 69 7a 65 0d 0c 62 04 0d 0c | dict_size..b...| 00001ca0 6c 1d f4 20 53 65 74 20 75 70 20 74 68 65 20 70 |l.. Set up the p| 00001cb0 72 6f 67 72 61 6d 20 61 72 65 61 0d 0c 76 04 0d |rogram area..v..| 00001cc0 0c 80 17 de 20 70 72 6f 67 72 61 6d 25 20 63 6f |.... program% co| 00001cd0 64 65 73 69 7a 65 0d 0c 8a 04 0d 0c 94 27 f4 20 |desize.......'. | 00001ce0 44 69 6d 65 6e 73 69 6f 6e 20 74 68 65 20 6f 74 |Dimension the ot| 00001cf0 68 65 72 20 61 72 72 61 79 73 20 6e 65 65 64 65 |her arrays neede| 00001d00 64 0d 0c 9e 04 0d 0c a8 0e 75 63 73 69 7a 65 3d |d........ucsize=| 00001d10 35 30 30 0d 0c b2 47 c8 99 20 22 4f 53 5f 46 69 |500...G.. "OS_Fi| 00001d20 6c 65 22 2c 35 2c 22 3c 41 6c 70 73 47 61 6d 65 |le",5,"<AlpsGame| 00001d30 24 52 65 73 6f 75 72 63 65 73 3e 41 53 49 6f 62 |$Resources>ASIob| 00001d40 6a 63 6f 64 65 22 20 b8 20 66 74 79 70 65 2c 2c |jcode" . ftype,,| 00001d50 2c 2c 63 6f 64 65 73 69 7a 65 0d 0c bc 49 c8 99 |,,codesize...I..| 00001d60 20 22 4f 53 5f 46 69 6c 65 22 2c 35 2c 22 3c 41 | "OS_File",5,"<A| 00001d70 6c 70 73 47 61 6d 65 24 52 65 73 6f 75 72 63 65 |lpsGame$Resource| 00001d80 73 3e 70 62 79 74 65 73 22 20 20 20 20 20 b8 20 |s>pbytes" . | 00001d90 66 74 79 70 65 2c 2c 2c 2c 70 62 79 74 65 5f 73 |ftype,,,,pbyte_s| 00001da0 69 7a 65 0d 0c c6 04 0d 0c d0 38 de 20 70 62 79 |ize.......8. pby| 00001db0 74 65 73 20 70 62 79 74 65 5f 73 69 7a 65 2c 77 |tes pbyte_size,w| 00001dc0 6f 72 6b 25 20 26 31 31 30 30 2c 61 73 69 63 6f |ork% &1100,asico| 00001dd0 64 65 25 20 63 6f 64 65 73 69 7a 65 2b 31 30 0d |de% codesize+10.| 00001de0 0c da 04 0d 0c e4 28 de 20 75 73 65 72 63 6f 64 |......(. usercod| 00001df0 65 25 20 75 63 73 69 7a 65 2c 73 63 61 6c 65 20 |e% ucsize,scale | 00001e00 31 35 2c 70 69 78 74 72 20 31 35 0d 0c ee 10 72 |15,pixtr 15....r| 00001e10 75 6e 3d 61 73 69 63 6f 64 65 25 0d 0c f8 04 0d |un=asicode%.....| 00001e20 0d 02 38 ff 28 22 4c 4f 41 44 20 3c 41 6c 70 73 |..8.("LOAD <Alps| 00001e30 47 61 6d 65 24 52 65 73 6f 75 72 63 65 73 3e 41 |Game$Resources>A| 00001e40 53 49 6f 62 6a 63 6f 64 65 20 22 2b c3 7e 61 73 |SIobjcode "+.~as| 00001e50 69 63 6f 64 65 25 29 0d 0d 0c 05 e1 0d 0d 16 04 |icode%).........| 00001e60 0d 0d 20 04 0d 0d 2a 0a dd 20 f2 72 75 6e 0d 0d |.. ...*.. .run..| 00001e70 34 07 ea 20 85 0d 0d 3e 3a 65 72 72 5f 63 6f 6c |4.. ...>:err_col| 00001e80 3d 31 31 3a f2 63 6f 6c 28 31 33 30 29 3a f2 63 |=11:.col(130):.c| 00001e90 6f 6c 28 37 29 3a c8 99 20 22 57 69 6d 70 5f 53 |ol(7):.. "Wimp_S| 00001ea0 65 74 43 6f 6c 6f 75 72 22 2c 31 32 38 2b 32 0d |etColour",128+2.| 00001eb0 0d 48 61 ee 20 85 20 ea 3a f2 63 6f 6c 28 65 72 |.Ha. . .:.col(er| 00001ec0 72 5f 63 6f 6c 29 3a e7 20 9f 3c 3e 31 37 20 f1 |r_col):. .<>17 .| 00001ed0 27 22 49 6e 74 65 72 70 72 65 74 65 72 20 72 65 |'"Interpreter re| 00001ee0 70 6f 72 74 73 20 61 20 72 75 6e 2d 74 69 6d 65 |ports a run-time| 00001ef0 20 65 72 72 6f 72 3a 20 22 f6 24 3a e5 20 8d 44 | error: ".$:. .D| 00001f00 60 4e 20 8b 20 f1 27 f6 24 3a e5 20 8d 44 60 4e |`N . .'.$:. .D`N| 00001f10 0d 0d 52 11 21 77 6f 72 6b 25 3d 72 64 61 74 61 |..R.!work%=rdata| 00001f20 25 0d 0d 5c 13 77 6f 72 6b 25 21 34 3d 76 65 72 |%..\.work%!4=ver| 00001f30 62 73 2b 33 0d 0d 66 13 77 6f 72 6b 25 21 38 3d |bs+3..f.work%!8=| 00001f40 6e 6f 75 6e 73 2b 33 0d 0d 70 17 77 6f 72 6b 25 |nouns+3..p.work%| 00001f50 21 31 32 3d 70 72 6f 67 72 61 6d 25 2b 34 0d 0d |!12=program%+4..| 00001f60 7a 14 77 6f 72 6b 25 21 31 36 3d 74 65 78 74 25 |z.work%!16=text%| 00001f70 2b 37 0d 0d 84 14 77 6f 72 6b 25 21 32 30 3d 64 |+7....work%!20=d| 00001f80 69 63 74 25 2b 33 0d 0d 8e 13 77 6f 72 6b 25 21 |ict%+3....work%!| 00001f90 32 34 3d 6f 64 61 74 61 25 0d 0d 98 16 77 6f 72 |24=odata%....wor| 00001fa0 6b 25 21 32 38 3d 61 64 6a 65 63 74 73 2b 33 0d |k%!28=adjects+3.| 00001fb0 0d a2 14 77 6f 72 6b 25 21 33 32 3d 70 72 65 70 |...work%!32=prep| 00001fc0 73 2b 33 0d 0d ac 14 77 6f 72 6b 25 21 33 36 3d |s+3....work%!36=| 00001fd0 63 6f 6e 6a 73 2b 33 0d 0d b6 14 77 6f 72 6b 25 |conjs+3....work%| 00001fe0 21 34 30 3d 73 70 65 63 73 2b 33 0d 0d c0 14 77 |!40=specs+3....w| 00001ff0 6f 72 6b 25 21 34 34 3d 6e 6f 69 73 65 2b 33 0d |ork%!44=noise+3.| 00002000 0d ca 31 77 6f 72 6b 25 21 34 38 3d 70 69 78 73 |..1work%!48=pixs| 00002010 2b 34 3a f4 20 57 61 73 20 33 20 70 72 69 6f 72 |+4:. Was 3 prior| 00002020 20 74 6f 20 76 65 72 73 69 6f 6e 20 35 2e 31 32 | to version 5.12| 00002030 0d 0d d4 1b f4 20 20 77 6f 72 6b 25 21 35 32 20 |..... work%!52 | 00002040 69 73 20 72 65 73 65 72 76 65 64 0d 0d de 15 77 |is reserved....w| 00002050 6f 72 6b 25 21 35 36 3d 69 6e 69 74 73 61 76 65 |ork%!56=initsave| 00002060 0d 0d e8 16 77 6f 72 6b 25 21 36 30 3d 6c 61 73 |....work%!60=las| 00002070 74 5f 72 6f 6f 6d 0d 0d f2 1a 77 6f 72 6b 25 21 |t_room....work%!| 00002080 36 34 3d 6c 61 73 74 5f 6f 62 6a 65 63 74 2b 31 |64=last_object+1| 00002090 0d 0d fc 17 77 6f 72 6b 25 21 26 31 34 63 3d 63 |....work%!&14c=c| 000020a0 6f 6d 70 72 65 73 73 0d 0e 06 30 77 6f 72 6b 25 |ompress...0work%| 000020b0 21 26 31 35 30 3d 75 73 65 72 63 6f 64 65 25 3a |!&150=usercode%:| 000020c0 f4 20 4e 65 77 20 66 72 6f 6d 20 56 65 72 73 69 |. New from Versi| 000020d0 6f 6e 20 35 2e 31 31 0d 0e 10 49 77 6f 72 6b 25 |on 5.11...Iwork%| 000020e0 21 26 31 35 38 3d 30 20 20 20 20 20 20 20 20 3a |!&158=0 :| 000020f0 f4 20 4e 65 77 20 66 72 6f 6d 20 56 65 72 73 69 |. New from Versi| 00002100 6f 6e 20 36 2e 30 30 20 2d 20 65 6e 73 75 72 65 |on 6.00 - ensure| 00002110 20 73 63 72 69 70 74 20 64 69 73 61 62 6c 65 64 | script disabled| 00002120 0d 0e 1a 05 db 0d 0e 24 19 ef 20 32 34 2c 30 3b |.......$.. 24,0;| 00002130 31 34 34 3b 73 63 72 77 3b 73 63 72 68 3b 0d 0e |144;scrw;scrh;..| 00002140 2e 05 da 0d 0e 38 05 ee 0d 0e 42 2b 41 25 3d 76 |.....8....B+A%=v| 00002150 65 72 62 5f 74 79 70 65 3a 42 25 3d 6e 72 65 66 |erb_type:B%=nref| 00002160 3a 43 25 3d 61 72 65 66 3a 44 25 3d 72 61 6d 73 |:C%=aref:D%=rams| 00002170 61 76 65 0d 0e 4c 2d 45 25 3d 70 62 79 74 65 73 |ave..L-E%=pbytes| 00002180 3a 46 25 3d 77 6f 72 6b 25 3a 47 25 3d 61 72 65 |:F%=work%:G%=are| 00002190 61 25 3a 48 25 3d 61 72 65 61 5f 73 69 7a 65 25 |a%:H%=area_size%| 000021a0 0d 0e 56 09 d6 20 72 75 6e 0d 0e 60 07 f7 20 85 |..V.. run..`.. .| 000021b0 0d 0e 6a 05 e1 0d 0f b4 04 0d 0f be 04 0d 0f c8 |..j.............| 000021c0 11 dd 20 f2 6c 6f 61 64 5f 76 6f 63 61 62 0d 0f |.. .load_vocab..| 000021d0 d2 28 f2 6c 6f 61 64 5f 6e 6f 75 6e 73 28 22 3c |.(.load_nouns("<| 000021e0 41 6c 70 73 47 61 6d 65 24 44 61 74 61 3e 2e 4e |AlpsGame$Data>.N| 000021f0 6f 75 6e 73 22 29 0d 0f dc 28 f2 6c 6f 61 64 5f |ouns")...(.load_| 00002200 76 65 72 62 73 28 22 3c 41 6c 70 73 47 61 6d 65 |verbs("<AlpsGame| 00002210 24 44 61 74 61 3e 2e 56 65 72 62 73 22 29 0d 0f |$Data>.Verbs")..| 00002220 e6 2f f2 6c 6f 61 64 5f 61 64 6a 65 63 74 73 28 |./.load_adjects(| 00002230 22 3c 41 6c 70 73 47 61 6d 65 24 44 61 74 61 3e |"<AlpsGame$Data>| 00002240 2e 41 64 6a 65 63 74 69 76 65 73 22 29 0d 0f f0 |.Adjectives")...| 00002250 29 f2 6c 6f 61 64 5f 70 72 65 70 73 28 22 3c 41 |).load_preps("<A| 00002260 6c 70 73 47 61 6d 65 24 44 61 74 61 3e 2e 50 72 |lpsGame$Data>.Pr| 00002270 65 70 6f 73 22 29 0d 0f fa 29 f2 6c 6f 61 64 5f |epos")...).load_| 00002280 63 6f 6e 6a 28 22 3c 41 6c 70 73 47 61 6d 65 24 |conj("<AlpsGame$| 00002290 44 61 74 61 3e 2e 43 6f 6e 6a 75 6e 63 22 29 0d |Data>.Conjunc").| 000022a0 10 04 2a f2 6c 6f 61 64 5f 73 70 65 63 28 22 3c |..*.load_spec("<| 000022b0 41 6c 70 73 47 61 6d 65 24 44 61 74 61 3e 2e 53 |AlpsGame$Data>.S| 000022c0 70 65 63 69 61 6c 73 22 29 0d 10 0e 28 f2 6c 6f |pecials")...(.lo| 000022d0 61 64 5f 6e 6f 69 73 65 28 22 3c 41 6c 70 73 47 |ad_noise("<AlpsG| 000022e0 61 6d 65 24 44 61 74 61 3e 2e 4e 6f 69 73 65 22 |ame$Data>.Noise"| 000022f0 29 0d 10 18 2c f2 6c 6f 61 64 5f 76 74 79 70 65 |)...,.load_vtype| 00002300 73 28 22 3c 41 6c 70 73 47 61 6d 65 24 44 61 74 |s("<AlpsGame$Dat| 00002310 61 3e 2e 56 65 72 62 54 79 70 65 22 29 0d 10 22 |a>.VerbType").."| 00002320 27 f2 6c 6f 61 64 5f 6e 72 65 66 73 28 22 3c 41 |'.load_nrefs("<A| 00002330 6c 70 73 47 61 6d 65 24 44 61 74 61 3e 2e 4e 72 |lpsGame$Data>.Nr| 00002340 65 66 22 29 0d 10 2c 27 f2 6c 6f 61 64 5f 61 72 |ef")..,'.load_ar| 00002350 65 66 73 28 22 3c 41 6c 70 73 47 61 6d 65 24 44 |efs("<AlpsGame$D| 00002360 61 74 61 3e 2e 41 72 65 66 22 29 0d 10 36 05 e1 |ata>.Aref")..6..| 00002370 0d 10 40 04 0d 10 4a 18 dd 20 f2 6c 6f 61 64 5f |..@...J.. .load_| 00002380 6e 6f 75 6e 73 28 66 69 6c 65 24 29 0d 10 54 10 |nouns(file$)..T.| 00002390 e7 20 66 69 6c 65 24 3d 22 22 20 8c 0d 10 5e 11 |. file$="" ...^.| 000023a0 f2 65 72 72 6f 72 28 31 36 2c 22 22 29 0d 10 68 |.error(16,"")..h| 000023b0 05 cc 0d 10 72 1f ff 20 22 4c 4f 41 44 20 22 2b |....r.. "LOAD "+| 000023c0 66 69 6c 65 24 2b 22 20 22 2b c3 7e 6e 6f 75 6e |file$+" "+.~noun| 000023d0 73 0d 10 7c 0e 6f 62 6e 3d 3f 6e 6f 75 6e 73 0d |s..|.obn=?nouns.| 000023e0 10 86 28 6e 78 74 6f 62 6a 3d 6e 6f 75 6e 73 2b |..(nxtobj=nouns+| 000023f0 28 6e 6f 75 6e 73 3f 31 2b 32 35 36 2a 28 6e 6f |(nouns?1+256*(no| 00002400 75 6e 73 3f 32 29 29 0d 10 90 05 cd 0d 10 9a 05 |uns?2)).........| 00002410 e1 0d 10 a4 04 0d 10 ae 18 dd 20 f2 6c 6f 61 64 |.......... .load| 00002420 5f 76 65 72 62 73 28 66 69 6c 65 24 29 0d 10 b8 |_verbs(file$)...| 00002430 10 e7 20 66 69 6c 65 24 3d 22 22 20 8c 0d 10 c2 |.. file$="" ....| 00002440 11 f2 65 72 72 6f 72 28 31 36 2c 22 22 29 0d 10 |..error(16,"")..| 00002450 cc 05 cc 0d 10 d6 1f ff 20 22 4c 4f 41 44 20 22 |........ "LOAD "| 00002460 2b 66 69 6c 65 24 2b 22 20 22 2b c3 7e 76 65 72 |+file$+" "+.~ver| 00002470 62 73 0d 10 e0 0e 76 62 6e 3d 3f 76 65 72 62 73 |bs....vbn=?verbs| 00002480 0d 10 ea 28 6e 78 74 76 72 62 3d 76 65 72 62 73 |...(nxtvrb=verbs| 00002490 2b 28 76 65 72 62 73 3f 31 2b 32 35 36 2a 28 76 |+(verbs?1+256*(v| 000024a0 65 72 62 73 3f 32 29 29 0d 10 f4 05 cd 0d 10 fe |erbs?2))........| 000024b0 05 e1 0d 11 08 04 0d 11 12 1a dd 20 f2 6c 6f 61 |........... .loa| 000024c0 64 5f 61 64 6a 65 63 74 73 28 66 69 6c 65 24 29 |d_adjects(file$)| 000024d0 0d 11 1c 10 e7 20 66 69 6c 65 24 3d 22 22 20 8c |..... file$="" .| 000024e0 0d 11 26 11 f2 65 72 72 6f 72 28 31 36 2c 22 22 |..&..error(16,""| 000024f0 29 0d 11 30 05 cc 0d 11 3a 21 ff 20 22 4c 4f 41 |)..0....:!. "LOA| 00002500 44 20 22 2b 66 69 6c 65 24 2b 22 20 22 2b c3 7e |D "+file$+" "+.~| 00002510 61 64 6a 65 63 74 73 0d 11 44 10 61 64 6e 3d 3f |adjects..D.adn=?| 00002520 61 64 6a 65 63 74 73 0d 11 4e 2e 6e 78 74 61 64 |adjects..N.nxtad| 00002530 6a 3d 61 64 6a 65 63 74 73 2b 28 61 64 6a 65 63 |j=adjects+(adjec| 00002540 74 73 3f 31 2b 32 35 36 2a 28 61 64 6a 65 63 74 |ts?1+256*(adject| 00002550 73 3f 32 29 29 0d 11 58 05 cd 0d 11 62 05 e1 0d |s?2))..X....b...| 00002560 11 6c 04 0d 11 76 18 dd 20 f2 6c 6f 61 64 5f 70 |.l...v.. .load_p| 00002570 72 65 70 73 28 66 69 6c 65 24 29 0d 11 80 10 e7 |reps(file$).....| 00002580 20 66 69 6c 65 24 3d 22 22 20 8c 0d 11 8a 11 f2 | file$="" ......| 00002590 65 72 72 6f 72 28 31 36 2c 22 22 29 0d 11 94 05 |error(16,"")....| 000025a0 cc 0d 11 9e 1f ff 20 22 4c 4f 41 44 20 22 2b 66 |...... "LOAD "+f| 000025b0 69 6c 65 24 2b 22 20 22 2b c3 7e 70 72 65 70 73 |ile$+" "+.~preps| 000025c0 0d 11 a8 0e 70 72 6e 3d 3f 70 72 65 70 73 0d 11 |....prn=?preps..| 000025d0 b2 28 6e 78 74 70 72 70 3d 70 72 65 70 73 2b 28 |.(nxtprp=preps+(| 000025e0 70 72 65 70 73 3f 31 2b 32 35 36 2a 28 70 72 65 |preps?1+256*(pre| 000025f0 70 73 3f 32 29 29 0d 11 bc 05 cd 0d 11 c6 05 e1 |ps?2))..........| 00002600 0d 11 d0 04 0d 11 da 17 dd 20 f2 6c 6f 61 64 5f |......... .load_| 00002610 63 6f 6e 6a 28 66 69 6c 65 24 29 0d 11 e4 10 e7 |conj(file$).....| 00002620 20 66 69 6c 65 24 3d 22 22 20 8c 0d 11 ee 11 f2 | file$="" ......| 00002630 65 72 72 6f 72 28 31 36 2c 22 22 29 0d 11 f8 05 |error(16,"")....| 00002640 cc 0d 12 02 1f ff 20 22 4c 4f 41 44 20 22 2b 66 |...... "LOAD "+f| 00002650 69 6c 65 24 2b 22 20 22 2b c3 7e 63 6f 6e 6a 73 |ile$+" "+.~conjs| 00002660 0d 12 0c 0e 63 6a 6e 3d 3f 63 6f 6e 6a 73 0d 12 |....cjn=?conjs..| 00002670 16 28 6e 78 74 63 6a 6e 3d 63 6f 6e 6a 73 2b 28 |.(nxtcjn=conjs+(| 00002680 63 6f 6e 6a 73 3f 31 2b 32 35 36 2a 28 63 6f 6e |conjs?1+256*(con| 00002690 6a 73 3f 32 29 29 0d 12 20 05 cd 0d 12 2a 05 e1 |js?2)).. ....*..| 000026a0 0d 12 34 04 0d 12 3e 17 dd 20 f2 6c 6f 61 64 5f |..4...>.. .load_| 000026b0 73 70 65 63 28 66 69 6c 65 24 29 0d 12 48 10 e7 |spec(file$)..H..| 000026c0 20 66 69 6c 65 24 3d 22 22 20 8c 0d 12 52 11 f2 | file$="" ...R..| 000026d0 65 72 72 6f 72 28 31 36 2c 22 22 29 0d 12 5c 05 |error(16,"")..\.| 000026e0 cc 0d 12 66 1f ff 20 22 4c 4f 41 44 20 22 2b 66 |...f.. "LOAD "+f| 000026f0 69 6c 65 24 2b 22 20 22 2b c3 7e 73 70 65 63 73 |ile$+" "+.~specs| 00002700 0d 12 70 0e 73 70 6e 3d 3f 73 70 65 63 73 0d 12 |..p.spn=?specs..| 00002710 7a 28 6e 78 74 73 70 6e 3d 73 70 65 63 73 2b 28 |z(nxtspn=specs+(| 00002720 73 70 65 63 73 3f 31 2b 32 35 36 2a 28 73 70 65 |specs?1+256*(spe| 00002730 63 73 3f 32 29 29 0d 12 84 05 cd 0d 12 8e 05 e1 |cs?2))..........| 00002740 0d 12 98 04 0d 12 a2 18 dd 20 f2 6c 6f 61 64 5f |......... .load_| 00002750 6e 6f 69 73 65 28 66 69 6c 65 24 29 0d 12 ac 10 |noise(file$)....| 00002760 e7 20 66 69 6c 65 24 3d 22 22 20 8c 0d 12 b6 11 |. file$="" .....| 00002770 f2 65 72 72 6f 72 28 31 36 2c 22 22 29 0d 12 c0 |.error(16,"")...| 00002780 05 cc 0d 12 ca 1f ff 20 22 4c 4f 41 44 20 22 2b |....... "LOAD "+| 00002790 66 69 6c 65 24 2b 22 20 22 2b c3 7e 6e 6f 69 73 |file$+" "+.~nois| 000027a0 65 0d 12 d4 0e 6e 73 6e 3d 3f 6e 6f 69 73 65 0d |e....nsn=?noise.| 000027b0 12 de 28 6e 78 74 6e 73 6e 3d 6e 6f 69 73 65 2b |..(nxtnsn=noise+| 000027c0 28 6e 6f 69 73 65 3f 31 2b 32 35 36 2a 28 6e 6f |(noise?1+256*(no| 000027d0 69 73 65 3f 32 29 29 0d 12 e8 05 cd 0d 12 f2 05 |ise?2)).........| 000027e0 e1 0d 12 fc 04 0d 13 06 19 dd 20 f2 6c 6f 61 64 |.......... .load| 000027f0 5f 76 74 79 70 65 73 28 66 69 6c 65 24 29 0d 13 |_vtypes(file$)..| 00002800 10 10 e7 20 66 69 6c 65 24 3d 22 22 20 8c 0d 13 |... file$="" ...| 00002810 1a 11 f2 65 72 72 6f 72 28 31 36 2c 22 22 29 0d |...error(16,"").| 00002820 13 24 05 cc 0d 13 2e 23 ff 20 22 4c 4f 41 44 20 |.$.....#. "LOAD | 00002830 22 2b 66 69 6c 65 24 2b 22 20 22 2b c3 7e 76 65 |"+file$+" "+.~ve| 00002840 72 62 5f 74 79 70 65 0d 13 38 05 cd 0d 13 42 05 |rb_type..8....B.| 00002850 e1 0d 13 4c 04 0d 13 56 18 dd 20 f2 6c 6f 61 64 |...L...V.. .load| 00002860 5f 61 72 65 66 73 28 66 69 6c 65 24 29 0d 13 60 |_arefs(file$)..`| 00002870 10 e7 20 66 69 6c 65 24 3d 22 22 20 8c 0d 13 6a |.. file$="" ...j| 00002880 11 f2 65 72 72 6f 72 28 31 36 2c 22 22 29 0d 13 |..error(16,"")..| 00002890 74 05 cc 0d 13 7e 1e ff 20 22 4c 4f 41 44 20 22 |t....~.. "LOAD "| 000028a0 2b 66 69 6c 65 24 2b 22 20 22 2b c3 7e 61 72 65 |+file$+" "+.~are| 000028b0 66 0d 13 88 05 cd 0d 13 92 05 e1 0d 13 9c 04 0d |f...............| 000028c0 13 a6 18 dd 20 f2 6c 6f 61 64 5f 6e 72 65 66 73 |.... .load_nrefs| 000028d0 28 66 69 6c 65 24 29 0d 13 b0 10 e7 20 66 69 6c |(file$)..... fil| 000028e0 65 24 3d 22 22 20 8c 0d 13 ba 11 f2 65 72 72 6f |e$="" ......erro| 000028f0 72 28 31 36 2c 22 22 29 0d 13 c4 05 cc 0d 13 ce |r(16,"")........| 00002900 1e ff 20 22 4c 4f 41 44 20 22 2b 66 69 6c 65 24 |.. "LOAD "+file$| 00002910 2b 22 20 22 2b c3 7e 6e 72 65 66 0d 13 d8 05 cd |+" "+.~nref.....| 00002920 0d 13 e2 05 e1 0d 13 ec 04 0d 13 f6 17 dd 20 f2 |.............. .| 00002930 6c 6f 61 64 5f 6f 62 6a 73 28 66 69 6c 65 24 29 |load_objs(file$)| 00002940 0d 14 00 10 e7 20 66 69 6c 65 24 3d 22 22 20 8c |..... file$="" .| 00002950 0d 14 0a 11 f2 65 72 72 6f 72 28 31 36 2c 22 22 |.....error(16,""| 00002960 29 0d 14 14 05 cc 0d 14 1e 20 ff 20 22 4c 4f 41 |)........ . "LOA| 00002970 44 20 22 2b 66 69 6c 65 24 2b 22 20 22 2b c3 7e |D "+file$+" "+.~| 00002980 6f 64 61 74 61 25 0d 14 28 12 6f 70 74 72 3d 6f |odata%..(.optr=o| 00002990 64 61 74 61 25 3f 31 34 0d 14 32 19 6c 61 73 74 |data%?14..2.last| 000029a0 5f 6f 62 6a 65 63 74 3d 6f 64 61 74 61 25 3f 31 |_object=odata%?1| 000029b0 35 0d 14 3c 05 cd 0d 14 46 05 e1 0d 14 50 04 0d |5..<....F....P..| 000029c0 14 5a 18 dd 20 f2 6c 6f 61 64 5f 72 6f 6f 6d 73 |.Z.. .load_rooms| 000029d0 28 66 69 6c 65 24 29 0d 14 64 10 e7 20 66 69 6c |(file$)..d.. fil| 000029e0 65 24 3d 22 22 20 8c 0d 14 6e 11 f2 65 72 72 6f |e$="" ...n..erro| 000029f0 72 28 31 36 2c 22 22 29 0d 14 78 05 cc 0d 14 82 |r(16,"")..x.....| 00002a00 20 ff 20 22 4c 4f 41 44 20 22 2b 66 69 6c 65 24 | . "LOAD "+file$| 00002a10 2b 22 20 22 2b c3 7e 72 64 61 74 61 25 0d 14 8c |+" "+.~rdata%...| 00002a20 18 72 70 74 72 3d 21 72 64 61 74 61 25 20 80 20 |.rptr=!rdata% . | 00002a30 26 46 46 46 46 0d 14 96 27 6c 61 73 74 5f 72 6f |&FFFF...'last_ro| 00002a40 6f 6d 3d 28 21 72 64 61 74 61 25 20 80 20 26 46 |om=(!rdata% . &F| 00002a50 46 46 46 30 30 30 30 29 3e 3e 31 36 0d 14 a0 05 |FFF0000)>>16....| 00002a60 cd 0d 14 aa 05 e1 0d 14 b4 04 0d 14 be 16 dd 20 |............... | 00002a70 f2 6c 6f 61 64 5f 70 69 78 28 66 69 6c 65 24 29 |.load_pix(file$)| 00002a80 0d 14 c8 10 e7 20 66 69 6c 65 24 3d 22 22 20 8c |..... file$="" .| 00002a90 0d 14 d2 11 f2 65 72 72 6f 72 28 31 36 2c 22 22 |.....error(16,""| 00002aa0 29 0d 14 dc 05 cc 0d 14 e6 1e ff 20 22 4c 4f 41 |).......... "LOA| 00002ab0 44 20 22 2b 66 69 6c 65 24 2b 22 20 22 2b c3 7e |D "+file$+" "+.~| 00002ac0 70 69 78 73 0d 14 f0 0d 70 78 6e 3d 3f 70 69 78 |pixs....pxn=?pix| 00002ad0 73 0d 14 fa 25 6e 78 74 70 78 6e 3d 70 69 78 73 |s...%nxtpxn=pixs| 00002ae0 2b 28 70 69 78 73 3f 31 2b 32 35 36 2a 28 70 69 |+(pixs?1+256*(pi| 00002af0 78 73 3f 32 29 29 0d 15 04 05 cd 0d 15 0e 05 e1 |xs?2))..........| 00002b00 0d 15 18 04 0d 15 22 1a dd 20 f2 6c 6f 61 64 5f |......".. .load_| 00002b10 70 72 6f 67 72 61 6d 28 66 69 6c 65 24 29 0d 15 |program(file$)..| 00002b20 2c 10 e7 20 66 69 6c 65 24 3d 22 22 20 8c 0d 15 |,.. file$="" ...| 00002b30 36 11 f2 65 72 72 6f 72 28 31 36 2c 22 22 29 0d |6..error(16,"").| 00002b40 15 40 05 cc 0d 15 4a 22 ff 20 22 4c 4f 41 44 20 |.@....J". "LOAD | 00002b50 22 2b 66 69 6c 65 24 2b 22 20 22 2b c3 7e 70 72 |"+file$+" "+.~pr| 00002b60 6f 67 72 61 6d 25 0d 15 54 05 cd 0d 15 5e 05 e1 |ogram%..T....^..| 00002b70 0d 15 68 04 0d 15 72 17 dd 20 f2 6c 6f 61 64 5f |..h...r.. .load_| 00002b80 74 65 78 74 28 66 69 6c 65 24 29 0d 15 7c 10 e7 |text(file$)..|..| 00002b90 20 66 69 6c 65 24 3d 22 22 20 8c 0d 15 86 11 f2 | file$="" ......| 00002ba0 65 72 72 6f 72 28 31 36 2c 22 22 29 0d 15 90 05 |error(16,"")....| 00002bb0 cc 0d 15 9a 1f ff 20 22 4c 4f 41 44 20 22 2b 66 |...... "LOAD "+f| 00002bc0 69 6c 65 24 2b 22 20 22 2b c3 7e 74 65 78 74 25 |ile$+" "+.~text%| 00002bd0 0d 15 a4 0a 6d 70 74 72 3d 31 0d 15 ae 05 cd 0d |....mptr=1......| 00002be0 15 b8 05 e1 0d 15 c2 04 0d 15 cc 17 dd 20 f2 6c |............. .l| 00002bf0 6f 61 64 5f 64 69 63 74 28 66 69 6c 65 24 29 0d |oad_dict(file$).| 00002c00 15 d6 0b ea 20 49 25 2c 4c 25 0d 15 e0 10 e7 20 |.... I%,L%..... | 00002c10 66 69 6c 65 24 3d 22 22 20 8c 0d 15 ea 11 f2 65 |file$="" ......e| 00002c20 72 72 6f 72 28 31 36 2c 22 22 29 0d 15 f4 05 cc |rror(16,"").....| 00002c30 0d 15 fe 1f ff 20 22 4c 4f 41 44 20 22 2b 66 69 |..... "LOAD "+fi| 00002c40 6c 65 24 2b 22 20 22 2b c3 7e 64 69 63 74 25 0d |le$+" "+.~dict%.| 00002c50 16 08 15 74 6f 6b 25 3d 64 69 63 74 25 3f 32 3a |...tok%=dict%?2:| 00002c60 4c 25 3d 30 0d 16 12 21 e7 20 74 6f 6b 25 3d 30 |L%=0...!. tok%=0| 00002c70 20 74 6f 6b 25 3d 31 32 38 20 8b 20 74 6f 6b 25 | tok%=128 . tok%| 00002c80 2d 3d 31 32 38 0d 16 1c 05 cd 0d 16 26 05 e1 0d |-=128.......&...| 00002c90 16 30 04 0d 16 3a 11 dd 20 f2 6c 6f 61 64 5f 66 |.0...:.. .load_f| 00002ca0 69 6c 65 73 0d 16 44 29 f2 6c 6f 61 64 5f 6f 62 |iles..D).load_ob| 00002cb0 6a 73 28 22 3c 41 6c 70 73 47 61 6d 65 24 44 61 |js("<AlpsGame$Da| 00002cc0 74 61 3e 2e 4f 62 6a 65 63 74 73 22 29 0d 16 4e |ta>.Objects")..N| 00002cd0 28 f2 6c 6f 61 64 5f 72 6f 6f 6d 73 28 22 3c 41 |(.load_rooms("<A| 00002ce0 6c 70 73 47 61 6d 65 24 44 61 74 61 3e 2e 52 6f |lpsGame$Data>.Ro| 00002cf0 6f 6d 73 22 29 0d 16 58 29 f2 6c 6f 61 64 5f 70 |oms")..X).load_p| 00002d00 69 78 28 22 3c 41 6c 70 73 47 61 6d 65 24 44 61 |ix("<AlpsGame$Da| 00002d10 74 61 3e 2e 50 69 63 74 75 72 65 73 22 29 0d 16 |ta>.Pictures")..| 00002d20 62 0f f2 6c 6f 61 64 5f 76 6f 63 61 62 0d 16 6c |b..load_vocab..l| 00002d30 2c f2 6c 6f 61 64 5f 70 72 6f 67 72 61 6d 28 22 |,.load_program("| 00002d40 3c 41 6c 70 73 47 61 6d 65 24 44 61 74 61 3e 2e |<AlpsGame$Data>.| 00002d50 50 72 6f 67 72 61 6d 22 29 0d 16 76 26 f2 6c 6f |Program")..v&.lo| 00002d60 61 64 5f 74 65 78 74 28 22 3c 41 6c 70 73 47 61 |ad_text("<AlpsGa| 00002d70 6d 65 24 44 61 74 61 3e 2e 54 65 78 74 22 29 0d |me$Data>.Text").| 00002d80 16 80 26 f2 6c 6f 61 64 5f 64 69 63 74 28 22 3c |..&.load_dict("<| 00002d90 41 6c 70 73 47 61 6d 65 24 44 61 74 61 3e 2e 44 |AlpsGame$Data>.D| 00002da0 69 63 74 22 29 0d 16 8a 26 f2 6c 6f 61 64 5f 63 |ict")...&.load_c| 00002db0 6f 64 65 28 22 3c 41 6c 70 73 47 61 6d 65 24 44 |ode("<AlpsGame$D| 00002dc0 61 74 61 3e 2e 43 6f 64 65 22 29 0d 16 94 31 ff |ata>.Code")...1.| 00002dd0 20 22 4c 4f 41 44 20 3c 41 6c 70 73 47 61 6d 65 | "LOAD <AlpsGame| 00002de0 24 52 65 73 6f 75 72 63 65 73 3e 70 62 79 74 65 |$Resources>pbyte| 00002df0 73 20 22 2b c3 7e 70 62 79 74 65 73 0d 16 9e 05 |s "+.~pbytes....| 00002e00 e1 0d 16 a8 04 0d 16 b2 10 dd 20 f2 73 65 74 5f |.......... .set_| 00002e10 50 72 65 66 73 0d 16 bc 25 69 6e 25 3d 8e 28 22 |Prefs...%in%=.("| 00002e20 3c 41 6c 70 73 47 61 6d 65 24 44 61 74 61 3e 2e |<AlpsGame$Data>.| 00002e30 47 61 6d 65 44 61 74 61 22 29 0d 16 c6 0f 6d 6f |GameData")....mo| 00002e40 64 65 25 3d 9a 23 69 6e 25 0d 16 d0 12 63 6f 6d |de%=.#in%....com| 00002e50 70 72 65 73 73 3d 9a 23 69 6e 25 0d 16 da 4a 6c |press=.#in%...Jl| 00002e60 6f 61 64 5f 62 75 74 74 6f 6e 73 3d 9a 23 69 6e |oad_buttons=.#in| 00002e70 25 3a e7 20 6c 6f 61 64 5f 62 75 74 74 6f 6e 73 |%:. load_buttons| 00002e80 3c 3e 30 20 8c 20 6c 6f 61 64 5f 62 75 74 74 6f |<>0 . load_butto| 00002e90 6e 73 3d b9 20 8b 20 6c 6f 61 64 5f 62 75 74 74 |ns=. . load_butt| 00002ea0 6f 6e 73 3d a3 0d 16 e4 3e 75 73 65 5f 66 6b 65 |ons=....>use_fke| 00002eb0 79 73 3d 9a 23 69 6e 25 3a e7 20 75 73 65 5f 66 |ys=.#in%:. use_f| 00002ec0 6b 65 79 73 3c 3e 30 20 8c 20 75 73 65 5f 66 6b |keys<>0 . use_fk| 00002ed0 65 79 73 3d b9 20 8b 20 75 73 65 5f 66 6b 65 79 |eys=. . use_fkey| 00002ee0 73 3d a3 0d 16 ee 09 d9 23 69 6e 25 0d 16 f8 05 |s=......#in%....| 00002ef0 e1 0d 17 02 04 0d 17 0c 04 0d 17 16 27 dd 20 a4 |............'. .| 00002f00 65 6e 74 65 72 5f 77 6f 72 64 28 6c 65 6e 25 2c |enter_word(len%,| 00002f10 63 68 24 2c 77 64 24 2c 77 78 25 2c 77 79 25 29 |ch$,wd$,wx%,wy%)| 00002f20 0d 17 20 0d ea 20 6b 65 79 2c 50 6f 25 0d 17 2a |.. .. key,Po%..*| 00002f30 0b 2a 46 58 20 34 2c 31 0d 17 34 09 50 6f 25 3d |.*FX 4,1..4.Po%=| 00002f40 30 0d 17 3e 05 f5 0d 17 48 14 f1 20 8a 77 78 25 |0..>....H.. .wx%| 00002f50 2b 50 6f 25 2c 77 79 25 29 3b 0d 17 52 0b 2a 46 |+Po%,wy%);..R.*F| 00002f60 58 31 35 2c 30 0d 17 5c 05 f5 0d 17 66 09 6b 65 |X15,0..\....f.ke| 00002f70 79 3d a5 0d 17 70 15 fd 20 6b 65 79 3e 33 31 20 |y=...p.. key>31 | 00002f80 84 20 6b 65 79 3d 31 33 0d 17 7a 11 e7 20 28 6b |. key=13..z.. (k| 00002f90 65 79 3d 31 32 37 29 20 8c 0d 17 84 2e e7 20 a6 |ey=127) ...... .| 00002fa0 2d 31 20 8c 20 77 64 24 3d c0 77 64 24 2c 50 6f |-1 . wd$=.wd$,Po| 00002fb0 25 29 2b c2 77 64 24 2c 6c 65 6e 25 2d 50 6f 25 |%)+.wd$,len%-Po%| 00002fc0 2d 31 29 2b 63 68 24 0d 17 8e 17 e7 20 28 50 6f |-1)+ch$..... (Po| 00002fd0 25 3e 30 20 80 20 ac 20 a6 2d 31 29 20 8c 0d 17 |%>0 . . .-1) ...| 00002fe0 98 2d 50 6f 25 2d 3d 31 3a 77 64 24 3d c0 77 64 |.-Po%-=1:wd$=.wd| 00002ff0 24 2c 50 6f 25 29 2b c2 77 64 24 2c 6c 65 6e 25 |$,Po%)+.wd$,len%| 00003000 2d 50 6f 25 2d 31 29 2b 63 68 24 0d 17 a2 05 cd |-Po%-1)+ch$.....| 00003010 0d 17 ac 05 cd 0d 17 b6 25 e7 20 6b 65 79 3d 31 |........%. key=1| 00003020 33 37 20 80 20 50 6f 25 2b 31 3c 6c 65 6e 25 20 |37 . Po%+1<len% | 00003030 8c 20 50 6f 25 2b 3d 28 31 29 0d 17 c0 1e e7 20 |. Po%+=(1)..... | 00003040 6b 65 79 3d 31 33 36 20 80 20 50 6f 25 3e 30 20 |key=136 . Po%>0 | 00003050 8c 20 50 6f 25 2d 3d 31 0d 17 ca 1a e7 20 28 6b |. Po%-=1..... (k| 00003060 65 79 3e 33 31 20 80 20 6b 65 79 3c 31 32 37 29 |ey>31 . key<127)| 00003070 20 8c 0d 17 d4 08 4b 25 3d a3 0d 17 de 14 e3 20 | .....K%=...... | 00003080 6c 70 25 3d 50 6f 25 20 b8 20 6c 65 6e 25 0d 17 |lp%=Po% . len%..| 00003090 e8 27 e7 20 c1 77 64 24 2c 6c 70 25 2c 31 29 3d |.'. .wd$,lp%,1)=| 000030a0 63 68 24 20 80 20 50 6f 25 3c 6c 65 6e 25 20 8c |ch$ . Po%<len% .| 000030b0 20 4b 25 3d b9 0d 17 f2 05 ed 0d 17 fc 0a e7 20 | K%=........... | 000030c0 4b 25 20 8c 0d 18 06 29 77 64 24 3d c0 77 64 24 |K% ....)wd$=.wd$| 000030d0 2c 50 6f 25 29 2b bd 28 6b 65 79 29 2b c2 77 64 |,Po%)+.(key)+.wd| 000030e0 24 2c 6c 65 6e 25 2d 50 6f 25 2d 31 29 0d 18 10 |$,len%-Po%-1)...| 000030f0 0c 50 6f 25 2b 3d 28 31 29 0d 18 1a 05 cd 0d 18 |.Po%+=(1).......| 00003100 24 05 cd 0d 18 2e 14 f1 20 8a 77 78 25 2c 77 79 |$....... .wx%,wy| 00003110 25 29 3b 77 64 24 3b 0d 18 38 0c fd 20 6b 65 79 |%);wd$;..8.. key| 00003120 3d 31 33 0d 18 42 0b 2a 46 58 20 34 2c 30 0d 18 |=13..B.*FX 4,0..| 00003130 4c 08 3d 77 64 24 0d 18 56 04 0d 18 60 04 0d 18 |L.=wd$..V...`...| 00003140 6a 18 dd 20 f2 67 65 74 6d 6f 64 65 69 6e 66 6f |j.. .getmodeinfo| 00003150 28 6d 6f 64 65 29 0d 18 74 13 ea 20 78 2c 79 2c |(mode)..t.. x,y,| 00003160 78 65 69 67 2c 79 65 69 67 0d 18 7e 04 0d 18 88 |xeig,yeig..~....| 00003170 31 c8 99 20 22 4f 53 5f 52 65 61 64 4d 6f 64 65 |1.. "OS_ReadMode| 00003180 56 61 72 69 61 62 6c 65 22 2c 6d 6f 64 65 2c 31 |Variable",mode,1| 00003190 20 b8 20 2c 2c 74 65 78 74 63 6f 6c 73 25 0d 18 | . ,,textcols%..| 000031a0 92 31 c8 99 20 22 4f 53 5f 52 65 61 64 4d 6f 64 |.1.. "OS_ReadMod| 000031b0 65 56 61 72 69 61 62 6c 65 22 2c 6d 6f 64 65 2c |eVariable",mode,| 000031c0 32 20 b8 20 2c 2c 74 65 78 74 72 6f 77 73 25 0d |2 . ,,textrows%.| 000031d0 18 9c 1d 74 65 78 74 5f 6d 61 78 6c 6c 65 6e 25 |...text_maxllen%| 000031e0 3d 74 65 78 74 63 6f 6c 73 25 2d 32 0d 18 a6 2c |=textcols%-2...,| 000031f0 c8 99 20 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 |.. "OS_ReadModeV| 00003200 61 72 69 61 62 6c 65 22 2c 6d 6f 64 65 2c 33 20 |ariable",mode,3 | 00003210 b8 20 2c 2c 63 6f 6c 73 0d 18 b0 2c c8 99 20 22 |. ,,cols...,.. "| 00003220 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 61 |OS_ReadModeVaria| 00003230 62 6c 65 22 2c 6d 6f 64 65 2c 34 20 b8 20 2c 2c |ble",mode,4 . ,,| 00003240 78 65 69 67 0d 18 ba 2c c8 99 20 22 4f 53 5f 52 |xeig...,.. "OS_R| 00003250 65 61 64 4d 6f 64 65 56 61 72 69 61 62 6c 65 22 |eadModeVariable"| 00003260 2c 6d 6f 64 65 2c 35 20 b8 20 2c 2c 79 65 69 67 |,mode,5 . ,,yeig| 00003270 0d 18 c4 30 c8 99 20 22 4f 53 5f 52 65 61 64 4d |...0.. "OS_ReadM| 00003280 6f 64 65 56 61 72 69 61 62 6c 65 22 2c 6d 6f 64 |odeVariable",mod| 00003290 65 2c 37 20 b8 20 2c 2c 73 63 72 6e 73 69 7a 65 |e,7 . ,,scrnsize| 000032a0 0d 18 ce 2a c8 99 20 22 4f 53 5f 52 65 61 64 4d |...*.. "OS_ReadM| 000032b0 6f 64 65 56 61 72 69 61 62 6c 65 22 2c 6d 6f 64 |odeVariable",mod| 000032c0 65 2c 31 31 20 b8 20 2c 2c 78 0d 18 d8 2a c8 99 |e,11 . ,,x...*..| 000032d0 20 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 | "OS_ReadModeVar| 000032e0 69 61 62 6c 65 22 2c 6d 6f 64 65 2c 31 32 20 b8 |iable",mode,12 .| 000032f0 20 2c 2c 79 0d 18 e2 2d 73 63 72 77 3d 28 28 78 | ,,y...-scrw=((x| 00003300 2b 31 29 3c 3c 78 65 69 67 29 2d 31 3a 73 63 72 |+1)<<xeig)-1:scr| 00003310 68 3d 28 28 79 2b 31 29 3c 3c 79 65 69 67 29 2d |h=((y+1)<<yeig)-| 00003320 31 0d 18 ec 05 e1 0d 18 f6 04 0d 19 00 11 dd 20 |1.............. | 00003330 f2 63 6f 6c 28 63 6f 6c 6f 72 29 0d 19 0a 1e c8 |.col(color).....| 00003340 99 20 22 57 69 6d 70 5f 54 65 78 74 43 6f 6c 6f |. "Wimp_TextColo| 00003350 75 72 22 2c 63 6f 6c 6f 72 0d 19 14 05 e1 0d 19 |ur",color.......| 00003360 1e 04 0d 19 28 13 dd 20 f2 6c 6f 61 64 5f 70 61 |....(.. .load_pa| 00003370 6c 28 66 24 29 0d 19 32 0d ea 20 69 6e 25 2c 63 |l(f$)..2.. in%,c| 00003380 6f 6c 0d 19 3c 0d 69 6e 25 3d 8e 28 66 24 29 0d |ol..<.in%=.(f$).| 00003390 19 46 10 e3 20 63 6f 6c 3d 30 20 b8 20 31 39 0d |.F.. col=0 . 19.| 000033a0 19 50 51 20 20 e7 20 63 6f 6c 3c 31 36 20 63 6f |.PQ . col<16 co| 000033b0 6c 31 3d 63 6f 6c 3a 63 6f 6c 32 3d 31 36 20 8b |l1=col:col2=16 .| 000033c0 20 e7 20 63 6f 6c 3d 31 36 20 63 6f 6c 31 3d 63 | . col=16 col1=c| 000033d0 6f 6c 3a 63 6f 6c 32 3d 32 34 20 8b 20 63 6f 6c |ol:col2=24 . col| 000033e0 31 3d 63 6f 6c 2d 31 36 3a 63 6f 6c 32 3d 32 35 |1=col-16:col2=25| 000033f0 0d 19 5a 1d 20 20 72 3d 9a 23 69 6e 25 3a 67 3d |..Z. r=.#in%:g=| 00003400 9a 23 69 6e 25 3a 62 3d 9a 23 69 6e 25 0d 19 64 |.#in%:b=.#in%..d| 00003410 1a 20 20 ef 20 31 39 2c 63 6f 6c 31 2c 63 6f 6c |. . 19,col1,col| 00003420 32 2c 72 2c 67 2c 62 0d 19 6e 09 ed 20 63 6f 6c |2,r,g,b..n.. col| 00003430 0d 19 78 09 d9 23 69 6e 25 0d 19 82 05 e1 0d 19 |..x..#in%.......| 00003440 8c 04 0d 19 96 14 dd 20 f2 6c 6f 61 64 5f 63 6f |....... .load_co| 00003450 64 65 28 66 24 29 0d 19 a0 09 ea 20 69 6e 25 0d |de(f$)..... in%.| 00003460 19 aa 12 69 6e 25 3d 8e 20 66 24 3a d9 23 69 6e |...in%=. f$:.#in| 00003470 25 0d 19 b4 2c e7 20 69 6e 25 3c 3e 30 20 8c 20 |%...,. in%<>0 . | 00003480 ff 28 22 4c 4f 41 44 20 22 2b 66 24 2b 22 20 22 |.("LOAD "+f$+" "| 00003490 2b c3 7e 75 73 65 72 63 6f 64 65 25 29 0d 19 be |+.~usercode%)...| 000034a0 05 e1 0d ff |....| 000034a4