Home » Archimedes archive » Archimedes World » AW-1991-06.adf » June91 » !AWJun91/Goodies/PD/!Projector/!RunImage

!AWJun91/Goodies/PD/!Projector/!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-1991-06.adf » June91
Filename: !AWJun91/Goodies/PD/!Projector/!RunImage
Read OK:
File size: 2A0A bytes
Load address: 0000
Exec address: 0000
File contents
   10REM>$.!Projector.!RunImage
   20REM (C) Tony Cheal/Ace Computing Jan 1990 Version 1.05
   30REM This program may be freely distributed, BUT its contents are Copyright
   40REM Should be with version 1.00 Euclid or EuclidX or above
   50REM Plays back a film in Ace Film format using either the full
   60REM blown Euclid Module or the Public Domain EuclidX
   70
   80REMONERRORERROREXT ERR,REPORT$+" "+STR$ERL
   90SYS"OS_SWINumberFromString",,"OS_SpriteOp" TO SO%
  100SYS"OS_SWINumberFromString",,"Euclid_Expand" TO EX%
  110DIMMV%20,TK%4:P%=MV%:SCRAP%=FALSE
  120[OPT2:LDR 3,[0],#4:STR 3,[1],#4:SUBS 2,2,#4:BNE MV%:MOVS PC,14:]
  130DIMTIT%1000:TT%=TIT%:DIMB%1000:KS%=48:WT%=950
  140SYS"Wimp_Initialise",200,&4B534154,"Ace Film Player" TO V%
  150B%!0=-1:B%!4=0:B%!8=0:B%!12=68:B%!16=90:B%!20=%10OR3<<12
  160$(B%+24)="!projector":SYS"Wimp_CreateIcon",,B%TOZ%
  170SYS"Wimp_OpenTemplate",,"<Obey$Dir>.Templates"
  180DIMQ%1000,R%4:!R%=0:C%=Q%
  190G%=FNTemp("ProgInfo"):H%=FNTemp("FilmInfo"):FS%=FNTemp("FullMode")
  200SYS"Wimp_CloseTemplate"
  210DIMSPR%128:!SPR%=128:SPR%!4=0:SPR%!8=16:SPR%!12=16
  220SYSSO%,&10F,SPR%,"C",,32,8,8:MO%=FALSE
  230
  240DIMMENU%1000:V%=MENU%
  250VDU23,&90,&10,&38,&7C,&FE,&7C,&10,&38,&00:ACE$=CHR$&90
  260PROCMenuT("Projector")
  270INF%=V%:PROCMenuE("Info",0):INF%!4=G%
  280RO%=V%:PROCMenuE("Roll",0)
  290PROCMenuE("Quit",&80)
  300
  310DIMFMENU%1000:V%=FMENU%
  320PROCMenuT(" Projector ")
  330MISC%=V%:PROCMenuE("Misc",0)
  340FR%=V%:PROCMenuE("Freeze",0)
  350REV%=V%:PROCMenuE("Reverse",0)
  360YOYO%=V%:PROCMenuE("Yo-yo",0)
  370PROCMenuE("First frame",0)
  380PROCMenuE("Last frame",0)
  390INF%=V%:PROCMenuE("Full screen",0):INF%!4=FS%
  400MD%=V%:PROCMenuE("Set Mode",&80)
  410
  420MISC%!4=V%:PROCMenuT("  Misc  ")
  430INF%=V%:PROCMenuE("Info",0):INF%!4=G%
  440INF%=V%:PROCMenuE("File",0):INF%!4=H%
  450PROCMenuE("New View",&80)
  460
  470EN%=HIMEM:FC%=2:WM%=MODE:LO%=TRUE:END=END+&1000:MT%=HIMEM:REPEATRC%=1
  480SYS"OS_GetEnv" TO E$:I%=INSTR(E$,"-quit")
  490I%=INSTR(E$,"""",I%+1):I%=INSTR(E$,"""",I%+1):E$=MID$(E$,I%+1)
  500WHILELEFT$(E$,1)=" ":E$=MID$(E$,2):ENDWHILE
  510WHILEE$<>STRING$(LENE$," ")
  520I%=INSTR(E$+" "," "):F$=LEFT$(E$,I%-1)
  530E$=MID$(E$,I%+1):WHILELEFT$(E$,1)=" ":E$=MID$(E$,2):ENDWHILE
  540IFLO%ELSEK%=!R%:WHILEK%:!B%=K%!20:PROCWhich(!B%):PROCClose:K%=!R%:ENDWHILE
  550IFLEFT$(F$,1)="-"THEN
  560   CASEMID$(F$,2,1)OF
  570   WHEN"r","R":PROCRoll(RC%,FC%):END
  580   WHEN"f","F":FC%=VALMID$(F$,3)
  590   WHEN"l","L":K%=!R%
  600 IFK%:PROCWhich(K%!20):PROCFull(RC%,FC%):IFI%=27:SYS"Wimp_SetMode",WM%:END
  610   IFLO%LO%=FALSE:SYS"Wimp_SlotSize",EN%-&8000,-1
  620   WHEN"c","C":RC%=VALMID$(F$,3)
  630   ENDCASE
  640ELSE
  650   PROCLoadAFilm(F$)
  660   IFLO%ELSEK%=!R%:IFK%:PROCWhich(K%!20):PROCFull(RC%,FC%):IFI%=27:SYS"Wimp_SetMode",WM%:END
  670ENDIF
  680ENDWHILE
  690IFLO%ELSEK%=!R%:WHILEK%:!B%=K%!20:PROCWhich(!B%):PROCClose:K%=!R%:ENDWHILE
  700UNTILLO%
  710ONERROR:PROCError
  720REPEAT
  730SYS"Wimp_Poll",,B% TO A%
  740CASEA%OF
  750WHEN0:K%=!R%
  760WHILEK%:M%=K%!4:S%=K%!8:DPTR%=K%!12:SCR%=K%!16:W%=K%!20:CT%=K%!44
  770IFK%!24THEN
  780IFK%!32ELSEF%=M%+M%!16:IFDPTR%=F%+!F%:K%!28=TRUE
  790IFK%!28PROCNextFrame ELSEPROCLastFrame
  800IFK%!32ELSEIF!DPTR%=0:K%!28=FALSE
  810ENDIF:K%=!K%:ENDWHILE
  820WHEN1:PROCWhich(!B%):PROCRedraw
  830WHEN2:PROCWhich(!B%):PROCOpen
  840WHEN3:PROCWhich(!B%):PROCClose
  850WHEN6
  860   CASEB%!12OF
  870   WHENFS%:IFB%!8AND7THEN
  880   SYS"Wimp_CloseWindow",,B%+12
  890   WM%=MODE:J%=2:PROCFull(0,J%):SYS"Wimp_SetMode",WM%
  900   IFB%!8AND1PROCPopup(MEN%)ELSEPROCPopup(-1)
  910   ENDIF
  920   WHEN-2:IFB%!16=Z%MX%=B%!0-80:MY%=230
  930      PROCSelect(RO%,!R%=0):PROCPopup(MENU%)
  940   OTHERWISE:PROCWhich(B%!12):PROCButton
  950   ENDCASE
  960WHEN9:PROCMenus
  970WHEN17,18
  980   CASEB%!16OF
  990   WHEN0:SYS"Wimp_CloseDown":END
 1000   WHEN1:IFB%!40=&D6ATHEN
 1010      !B%=60:B%!12=B%!8:B%!16=2:B%!36=-1:$(B%+44)="<Wimp$Scrap>"+CHR$0
 1020      SYS"Wimp_SendMessage",17,B%,B%!4:SCRAP%=B%!8
 1030      ENDIF
 1040   WHEN3,5:IFB%!40=&D6ATHEN
 1050         F$=FNZS(B%+44):IFSCRAP%:SCRAP%=SCRAP%=B%!12
 1060         B%!12=B%!8:B%!16=4:SYS"Wimp_SendMessage",17,B%,B%!4
 1070         PROCLoadAFilm(F$):IFSCRAP%:SCRAP%=FALSE:SYS"OS_File",6,F$
 1080      ENDIF
 1090   WHEN9,&400C1:K%=!R%:WHILEK%:!(K%!44)=!(K%!4+28):K%=!K%:ENDWHILE
 1100   ENDCASE
 1110ENDCASE
 1120UNTIL0
 1130
 1140DEFPROCClose
 1150L%=K%!36:N%=L%:WHILEN%!40:L%=N%:N%=N%!40:ENDWHILE
 1160IFK%!40THEN
 1170FORI%=12TO32STEP4:SWAPK%!I%,N%!I%:NEXT
 1180IFK%!16>0K%!16-=N%!8-K%!8
 1190IFN%!16>0N%!16-=K%!8-N%!8
 1200SYSSO%,&13C,S%,"X"TO R0,R1,R2,R3:SYSSO%,&122,N%!8,"X",,,3
 1210SYSSO%,&13C,N%!8,"X":SYSSO%,&122,S%,"X",,,3
 1220SYSSO%,&13C,S%,"X":SYSSO%,&122,N%!8,"X",,,3:SYSSO%,R0,R1,R2,R3
 1230PROCWhich(!B%)
 1240ENDIF
 1250L%!40=0:SYS"Wimp_CloseWindow",,B%:SYS"Wimp_DeleteWindow",,B%
 1260IFK%!36<>K%:M%=S%
 1270!I%=!K%:E%=K%+KS%:L%=E%-M%
 1280IFE%<MT%THEN
 1290J%=R%:I%=!J%:WHILEI%
 1300PROCAdjust(!J%)
 1310PROCAdjust(I%!4):PROCAdjust(I%!8):PROCAdjust(I%!12):PROCAdjust(I%!16)
 1320PROCAdjust(I%!36):PROCAdjust(I%!40):PROCAdjust(I%!44)
 1330J%=I%:I%=!J%
 1340ENDWHILE
 1350PROCMove(M%+L%,M%,MT%-(M%+L%))
 1360ENDIF
 1370MT%-=L%:IFLO%SYS"Wimp_SlotSize",MT%-&8000,-1
 1380ENDPROC
 1390
 1400DEFPROCAdjust(RETURN P%):IFP%>M%:P%-=L%
 1410ENDPROC
 1420
 1430DEFPROCOpen:SYS"Wimp_OpenWindow",,B%:ENDPROC
 1440
 1450DEFPROCRedraw
 1460SYS"Wimp_RedrawWindow",,B% TO F%
 1470WHILEF%:X%=B%!4-B%!20:Y%=B%!16-B%!24:PROCRedrawSprite
 1480SYS"Wimp_GetRectangle",,B% TO F%:ENDWHILE
 1490ENDPROC
 1500
 1510DEFPROCButton
 1520CASEB%!8OF
 1530WHEN1:PROCLastFrame
 1540WHEN2:PROCTick(FR%,K%!24):PROCTick(REV%,K%!28):PROCTick(YOYO%,K%!32)
 1550PROCSelect(MD%,MODE=M%!28):MX%=B%!0-80:MY%=B%!4
 1560PROCSetI(H%,0,STR$M%!28):PROCSetI(H%,1,STR$!M%):PROCSetI(H%,2,"No")
 1570IF(M%!36AND3)=0PROCSetI(H%,3,"No")ELSEPROCSetI(H%,3,"Yes")
 1580PROCSetI(H%,4,STR$M%!20):PROCSetI(H%,5,STR$M%!24)
 1590PROCPopup(FMENU%):MW%=W%
 1600WHEN4:PROCNextFrame
 1610ENDCASE
 1620ENDPROC
 1630
 1640DEFPROCMenus
 1650CASEMEN%OF
 1660WHENMENU%:CASE!B%OF
 1670   WHEN1:PROCRoll(1,2)
 1680   WHEN2:SYS"Wimp_CloseDown":END
 1690   ENDCASE
 1700WHENFMENU%:PROCWhich(MW%):CASE!B%OF
 1710   WHEN0:CASEB%!4OF
 1720      WHEN2:Q%=K%:WHILEQ%!40:Q%=Q%!40:ENDWHILE:PROCSetFilm
 1730      K%!36=Q%!36:Q%!40=K%
 1740      ENDCASE
 1750   WHEN1:K%!24=NOTK%!24
 1760   WHEN2:K%!28=NOTK%!28
 1770   WHEN3:K%!32=NOTK%!32
 1780   WHEN4:DPTR%=M%+M%!16:SCR%=0:PROCNextFrame:K%!28=TRUE
 1790   WHEN5:DPTR%=M%+M%!16:SCR%=0:PROCNewFrame:PROCLastFrame:K%!28=FALSE
 1800   WHEN6:WM%=MODE:J%=2:PROCFull(0,J%):SYS"Wimp_SetMode",WM%
 1810   WHEN7:SYS"Wimp_SetMode",M%!28
 1820   ENDCASE
 1830   PROCTick(FR%,K%!24):PROCTick(REV%,K%!28):PROCTick(YOYO%,K%!32)
 1840   PROCSelect(MD%,MODE=M%!28)
 1850ENDCASE
 1860SYS"Wimp_GetPointerInfo",,B%:IFB%!8AND1:PROCPopup(MEN%)ELSEPROCPopup(-1)
 1870ENDPROC
 1880
 1890DEFPROCWindow(T$,B%!28,!B%,B%!4,B%!8,B%!12,B%!40,B%!44,B%!48,B%!52)
 1900T$=ACE$+" "+T$+" "+ACE$:T%=TT%:TT%+=LENT$+1
 1910IFTT%>TIT%+1000:TT%=TIT%:T%=TT%
 1920B%!72=T%:B%!76=-1:B%!80=LENT$:$T%=T$
 1930B%!16=(!B%-B%!8)DIV2:B%!20=(B%!12-B%!4)DIV2:B%!24=-1
 1940B%!32=&01070207:B%!36=&000C0103
 1950B%!56=%100001001:B%!60=2<<12:B%!64=0:B%!68=&10001:B%!84=0
 1960SYS"Wimp_CreateWindow",,B% TO W%
 1970!B%=W%:SYS"Wimp_GetWindowState",,B%:SYS"Wimp_OpenWindow",,B%
 1980ENDPROC
 1990
 2000DEFPROCNextFrame:PROCNewFrame
 2010B%!4=-3E4:B%!8=-3E4:B%!12=3E4:B%!16=3E4:!B%=W%
 2020SYS"Wimp_UpdateWindow",,B% TO F%
 2030WHILEF%:X%=B%!4-B%!20:Y%=B%!16-B%!24:PROCRedrawSprite
 2040SYS"Wimp_GetRectangle",,B% TO F%:ENDWHILE
 2050ENDPROC
 2060
 2070DEFPROCLastFrame
 2080IFDPTR%<>M%+M%!16THEN
 2090DPTR%-=DPTR%!-4
 2100IF(M%!36AND3)=0THEN
 2110  IFDPTR%=M%+M%!16:WHILE!DPTR%:DPTR%+=!DPTR%:ENDWHILE
 2120  DPTR%-=DPTR%!-4:PROCNextFrame
 2130ELSE
 2140  IFDPTR%=M%+M%!16THEN
 2150  DPTR%+=!DPTR%:SYS"Hourglass_On":WHILE!(DPTR%+!DPTR%)
 2160  PROCNewFrame:ENDWHILE:SYS"Hourglass_Off":PROCNextFrame
 2170  ELSE
 2180  PROCNextFrame:K%!12=DPTR%-DPTR%!-4:IFK%!12=M%+M%!16:K%!16=0
 2190  ENDIF
 2200ENDIF
 2210ENDIF
 2220ENDPROC
 2230
 2240DEFPROCNewFrame
 2250IF!DPTR%=0:DPTR%=M%+M%!16:SCR%=0
 2260SYSSO%,&13C,S%,"X"TO R0,R1,R2,R3
 2270SYSEX%,M%!32,DPTR%,SCR%,M%!40 TO ,DPTR%,SCR%
 2280IF(M%!36AND3)=0SCR%=0
 2290SYSSO%,R0,R1,R2,R3
 2300K%!12=DPTR%:K%!16=SCR%
 2310ENDPROC
 2320
 2330DEFPROCMakeSprite
 2340SYS"OS_ReadModeVariable",M%!28,4 TO ,,XR%
 2350SYS"OS_ReadModeVariable",M%!28,5 TO ,,YR%
 2360SYS"OS_ReadModeVariable",M%!28,10 TO ,,LB%
 2370SS%=(((M%!20>>XR%)*(M%!24>>YR%)>>3-LB%)+1000)ANDNOT3
 2380S%=FNAlloc(SS%):!S%=SS%:S%!4=0:S%!8=16:S%!12=16:SYSSO%,&109,S%
 2390SYSSO%,&10F,S%,"X",0,M%!20>>XR%,M%!24>>YR%,M%!28
 2400ENDPROC
 2410
 2420DEFPROCRedrawSprite
 2430IF!CT%<>MODE:PROCTable
 2440IF!CT%=M%!28THEN
 2450   SYSSO%,&122,S%,"X",X%,Y%
 2460ELSE
 2470   SYSSO%,&134,S%,"X",X%,Y%,0,0,CT%+4
 2480ENDIF
 2490ENDPROC
 2500
 2510DEFPROCLoadFilm(F$)
 2520SYS"OS_File",5,F$ TO O%,,T%,,L%:IFO%<>1ERROR1,"Can't find film '"+F$+"'"
 2530M%=FNAlloc(L%):SYS"OS_File",&FF,F$,M%:CT%=FNAlloc(260)
 2540ENDPROC
 2550
 2560DEFPROCLoadAFilm(E$)
 2570PROCLoadFilm(E$):PROCSetFilm
 2580ENDPROC
 2590
 2600DEFPROCSetFilm:PROCMakeSprite
 2610IFWT%-M%!24<180:WT%=950
 2620PROCWindow($(M%+4),%1111,300,WT%-M%!24,M%!20+300,WT%,0,0,M%!20,M%!24)
 2630WT%-=48:DPTR%=M%+M%!16:SCR%=0:CM%=M%!28:K%=FNAlloc(KS%)
 2640PROCNextFrame:!K%=!R%:!R%=K%:K%!4=M%:K%!8=S%:K%!20=W%
 2650K%!24=TRUE:K%!28=TRUE:K%!32=TRUE:K%!36=K%:K%!40=0:K%!44=CT%:!CT%=M%!28
 2660ENDPROC
 2670
 2680DEFFNTemp(T$):SYS"Wimp_LoadTemplate",,B%,C%,Q%+1000,-1,T$TO,,C%
 2690SYS"Wimp_CreateWindow",,B%TOT%:=T%
 2700
 2710DEFPROCMenuT(T$)
 2720$V%=LEFT$(T$,11):V%!16=16*(LEN$V%+1)
 2730V%!20=44:V%!12=&00070207:V%!24=0:V%+=28
 2740ENDPROC
 2750
 2760DEFPROCMenuE(T$,F%)
 2770$(V%+12)=LEFT$(T$,11):!V%=F%:V%!4=-1:V%!8=1OR%111<<24:V%+=24
 2780ENDPROC
 2790
 2800DEFPROCTick(T%,F%):IFF%:!T%=!T%ANDNOT1ELSE!T%=!T%OR1
 2810ENDPROC
 2820DEFPROCSelect(T%,F%):IFF%:T%!8=T%!8OR1<<22ELSET%!8=T%!8ANDNOT(1<<22)
 2830ENDPROC
 2840DEFFNZS(I%)LOCALA$:REPEATA$+=CHR$?I%:I%+=1:UNTIL?I%=0:=A$
 2850
 2860DEFFNAlloc(L%):LOCALE%:IFLO%E%=MT%+L%-&8000 ELSEE%=-1
 2870SYS"Wimp_SlotSize",E%,-1TOT%:T%+=&8000
 2880IFT%<MT%+L%ERROR1,"Insufficient memory"
 2890MT%+=L%:=MT%-L%
 2900
 2910DEFPROCWhich(T%):W%=T%:J%=R%:K%=!J%
 2920WHILEK%:IFW%=K%!20:M%=K%!4:S%=K%!8:DPTR%=K%!12:SCR%=K%!16:CT%=K%!44:I%=J%
 2930J%=K%:K%=!J%:ENDWHILE:K%=!I%
 2940ENDPROC
 2950
 2960DEFPROCMove(A%,B%,C%):CALLMV%:ENDPROC
 2970
 2980DEFPROCPopup(N%):SYS"Wimp_CreateMenu",,N%,MX%,MY%:MEN%=N%:ENDPROC
 2990
 3000DEFPROCSetI(W%,I%,S$):LOCALF%:!B%=W%:SYS"Wimp_GetWindowInfo",,B%
 3010IFI%>=0:I%=B%+112+I%*32:F%=I%-4ELSEI%=B%+76:F%=B%+60
 3020IF!F%AND1<<8:$!I%=LEFT$(S$,I%!8-1)ELSE$I%=LEFT$(S$,11)
 3030ENDPROC
 3040
 3050DEFPROCRoll(RC%,U%):IFRC%<=0:RC%=1
 3060WM%=MODE:REPEAT:I%=0:FK%=0:WHILEFK%<>!R%ANDI%<>27
 3070K%=!R%:WHILE!K%<>FK%:K%=!K%:ENDWHILE:FK%=K%
 3080M%=K%!4:S%=K%!8:DPTR%=K%!12:SCR%=K%!16:W%=K%!20:CT%=K%!44
 3090PROCFull(RC%,U%):K%=!K%:ENDWHILE
 3100UNTILI%=27:SYS"Wimp_SetMode",WM%
 3110ENDPROC
 3120
 3130DEFPROCFull(RL%,RETURN W%):LOCALJ%:LOCALERROR
 3140FW%=M%!20:FH%=M%!24:FM%=M%!28:FW2%=FW%DIV2ANDNOT3:FH2%=FH%DIV2ANDNOT3
 3150T%=TRUE:LOCALERROR:ONERRORLOCAL:RESTOREERROR:T%=FALSE
 3160IFT%MODEFM%+128:RESTOREERROR ELSEMODEFM%
 3170ONERRORLOCAL:RESTOREERROR:SYS"Wimp_SetMode",WM%:ERROR ERR,REPORT$
 3180IFMODE<>FM%ERROR1,"Mode for film not available"
 3190SYS"OS_ReadModeVariable",MODE,3TO,,E%:IFE%=15THEN
 3200E%=B%+100:SYS"Wimp_ReadPalette",,E%
 3210FORI%=0TO15:VDU19,I%,16,E%?1,E%?2,E%?3:E%+=4:NEXT
 3220ENDIF
 3230OFF:E%=1:PROCF:CLS:PROCF:CLS:F%=RL%>0:IFMO%MOUSEON2
 3240VDU24,640-FW2%;512-FH2%;640-FW2%+FW%-1;512-FH2%+FH%-1;
 3250D%=M%+M%!16:C%=0:c%=-1:CM%=FM%:PROCE:PROCF
 3260REPEATREPEAT
 3270I%=INKEY0:SYS6,&B0:PROCR:REPEATSYS6,&B0,,255TO,T%:UNTILT%<257-W%
 3280UNTILI%=27OR(RL%AND!D%=0):RL%-=1:UNTILRL%<=0ORI%=27
 3290RESTOREERROR
 3300ENDPROC
 3310
 3320DEFPROCR:IFMO%PROCC
 3330IFF%ELSEIFI%<0I%=GET
 3340IFI%<32PROCE:PROCF
 3350IFI%<0ANDF%:ENDPROC
 3360SYS6,15
 3370IFI%=32:F%=NOTF%:ENDPROC
 3380IFI%=13:F%=FALSE:ENDPROC
 3390CASECHR$I%OF
 3400WHEN"F","f":D%=M%+M%!16:C%=0:c%=-1:PROCE:PROCF:ENDPROC
 3410WHEN"L","l","s","S"
 3420IF(M%!36AND3)=0THEN
 3430   IF!D%WHILE!(D%+!D%):D%+=!D%:c%+=1:ENDWHILE:PROCE:PROCF
 3440ELSE
 3450   IF!D%:WHILE!D%:PROCE:ENDWHILE:PROCF
 3460ENDIF
 3470IFCHR$I%="s"ORCHR$I%="S":RL%=-1
 3480ENDPROC
 3490WHEN"C","c":IFMO%:MOUSEOFF ELSEMOUSEON2
 3500MO%=NOTMO%:ENDPROC
 3510WHEN"0","1","2","3","4","5","6","7","8","9":W%=VALCHR$I%:ENDPROC
 3520WHEN"+":IF!D%PROCE:PROCF
 3530F%=FALSE:ENDPROC
 3540WHEN"-":IFD%=M%+M%!16:ENDPROC
 3550IFD%>M%+M%!16D%-=D%!-4:c%-=1
 3560IF(M%!36AND3)<>0ELSEIFD%>M%+M%!16D%-=D%!-4:c%-=1:ELSE:ENDPROC
 3570IFD%=M%+M%!16:C%=0:c%=-1
 3580PROCE:PROCF:F%=FALSE
 3590IF(M%!36AND3)=0ELSED%-=D%!-4:c%-=1:IFD%=M%+M%!16:C%=0:c%=-1
 3600ENDPROC
 3610WHENCHR$27:ENDPROC
 3620ENDCASE
 3630VDU7:ENDPROC
 3640
 3650DEFPROCF:SYS6,&71,E%:E%=3-E%:SYS6,&70,E%:ENDPROC
 3660DEFPROCE:IF!D%=0:D%=M%+M%!16:C%=0:c%=-1
 3670c%+=1:SYSEX%,M%!32,D%,C%,M%!40 TO ,D%,C%
 3680IF(M%!36AND3)=0C%=0
 3690ENDPROC
 3700
 3710DEFPROCC:SYSSO%,&13C,SPR%,"C"TO R0,R1,R2,R3:CLS
 3720COLOUR2:COLOUR129:PRINT;c%;:SYSSO%,R0,R1,R2,R3:SYSSO%,&124,SPR%,"C",2
 3730ENDPROC
 3740
 3750DEFPROCTable
 3760SYS"OS_ReadModeVariable",M%!28,3TO,,E%
 3770IFE%=15:SYS"Wimp_ReadPalette",,B%+100:E%=B%+100ELSEE%=0
 3780SYS"ColourTrans_SelectTable",M%!28,E%,-1,-1,CT%+4:!CT%=MODE
 3790ENDPROC
 3800
 3810DEFPROCError
 3820!B%=ERR:$(B%+4)=REPORT$:V%=2:SYS"XWimp_ReportError",B%,%11,"Projector"TOV%
 3830IFV%=2:END
 3840ENDPROC

�>$.!Projector.!RunImage
8� (C) Tony Cheal/Ace Computing Jan 1990 Version 1.05
L� This program may be freely distributed, BUT its contents are Copyright
(<� Should be with version 1.00 Euclid or EuclidX or above
2@� Plays back a film in Ace Film format using either the full
<6� blown Euclid Module or the Public Domain EuclidX
F
P,�ONERRORERROREXT ERR,REPORT$+" "+STR$ERL
Z3ș"OS_SWINumberFromString",,"OS_SpriteOp" � SO%
d5ș"OS_SWINumberFromString",,"Euclid_Expand" � EX%
n�MV%20,TK%4:P%=MV%:SCRAP%=�
xD[OPT2:LDR 3,[0],#4:STR 3,[1],#4:SUBS 2,2,#4:BNE MV%:MOVS PC,14:]
�-�TIT%1000:TT%=TIT%:�B%1000:KS%=48:WT%=950
�<ș"Wimp_Initialise",200,&4B534154,"Ace Film Player" � V%
�;B%!0=-1:B%!4=0:B%!8=0:B%!12=68:B%!16=90:B%!20=%10�3<<12
�4$(B%+24)="!projector":ș"Wimp_CreateIcon",,B%�Z%
�1ș"Wimp_OpenTemplate",,"<Obey$Dir>.Templates"
��Q%1000,R%4:!R%=0:C%=Q%
�CG%=�Temp("ProgInfo"):H%=�Temp("FilmInfo"):FS%=�Temp("FullMode")
�ș"Wimp_CloseTemplate"
�4�SPR%128:!SPR%=128:SPR%!4=0:SPR%!8=16:SPR%!12=16
�%șSO%,&10F,SPR%,"C",,32,8,8:MO%=�
�
��MENU%1000:V%=MENU%
�5�23,&90,&10,&38,&7C,&FE,&7C,&10,&38,&00:ACE$=�&90
�MenuT("Projector")
&INF%=V%:�MenuE("Info",0):INF%!4=G%
RO%=V%:�MenuE("Roll",0)
"�MenuE("Quit",&80)
,
6�FMENU%1000:V%=FMENU%
@�MenuT(" Projector ")
JMISC%=V%:�MenuE("Misc",0)
TFR%=V%:�MenuE("Freeze",0)
^REV%=V%:�MenuE("Reverse",0)
hYOYO%=V%:�MenuE("Yo-yo",0)
r�MenuE("First frame",0)
|�MenuE("Last frame",0)
�.INF%=V%:�MenuE("Full screen",0):INF%!4=FS%
�!MD%=V%:�MenuE("Set Mode",&80)
�
�!MISC%!4=V%:�MenuT("  Misc  ")
�&INF%=V%:�MenuE("Info",0):INF%!4=G%
�&INF%=V%:�MenuE("File",0):INF%!4=H%
��MenuE("New View",&80)
�
�2EN%=�:FC%=2:WM%=�:LO%=�:�=�+&1000:MT%=�:�RC%=1
�&ș"OS_GetEnv" � E$:I%=�E$,"-quit")
�4I%=�E$,"""",I%+1):I%=�E$,"""",I%+1):E$=�E$,I%+1)
�ȕ�E$,1)=" ":E$=�E$,2):�
�ȕE$<>ĩE$," ")
 I%=�E$+" "," "):F$=�E$,I%-1)
)E$=�E$,I%+1):ȕ�E$,1)=" ":E$=�E$,2):�
:�LO%�K%=!R%:ȕK%:!B%=K%!20:�Which(!B%):�Close:K%=!R%:�
&�F$,1)="-"�
0   Ȏ�F$,2,1)�
:    �"r","R":�Roll(RC%,FC%):�
D   �"f","F":FC%=��F$,3)
N   �"l","L":K%=!R%
XC �K%:�Which(K%!20):�Full(RC%,FC%):�I%=27:ș"Wimp_SetMode",WM%:�
b/   �LO%LO%=�:ș"Wimp_SlotSize",EN%-&8000,-1
l   �"c","C":RC%=��F$,3)
v   �
��
�   �LoadAFilm(F$)
�Q   �LO%�K%=!R%:�K%:�Which(K%!20):�Full(RC%,FC%):�I%=27:ș"Wimp_SetMode",WM%:�
��
��
�:�LO%�K%=!R%:ȕK%:!B%=K%!20:�Which(!B%):�Close:K%=!R%:�
��LO%
�
�:�Error
��
�ș"Wimp_Poll",,B% � A%
�	ȎA%�
�
�0:K%=!R%
�BȕK%:M%=K%!4:S%=K%!8:DPTR%=K%!12:SCR%=K%!16:W%=K%!20:CT%=K%!44
�K%!24�
,�K%!32�F%=M%+M%!16:�DPTR%=F%+!F%:K%!28=�
 �K%!28�NextFrame ��LastFrame
 �K%!32��!DPTR%=0:K%!28=�
*�:K%=!K%:�
4�1:�Which(!B%):�Redraw
>�2:�Which(!B%):�Open
H�3:�Which(!B%):�Close
R�6
\   ȎB%!12�
f   �FS%:�B%!8�7�
p"   ș"Wimp_CloseWindow",,B%+12
z2   WM%=�:J%=2:�Full(0,J%):ș"Wimp_SetMode",WM%
�%   �B%!8�1�Popup(MEN%)��Popup(-1)
�   �
�'   �-2:�B%!16=Z%MX%=B%!0-80:MY%=230
�*      �Select(RO%,!R%=0):�Popup(MENU%)
�   :�Which(B%!12):�Button
�   �
�
�9:�Menus
�
�17,18
�   ȎB%!16�
�   �0:ș"Wimp_CloseDown":�
�   �1:�B%!40=&D6A�
�G      !B%=60:B%!12=B%!8:B%!16=2:B%!36=-1:$(B%+44)="<Wimp$Scrap>"+�0
�5      ș"Wimp_SendMessage",17,B%,B%!4:SCRAP%=B%!8
      �
   �3,5:�B%!40=&D6A�
6         F$=�ZS(B%+44):�SCRAP%:SCRAP%=SCRAP%=B%!12
$?         B%!12=B%!8:B%!16=4:ș"Wimp_SendMessage",17,B%,B%!4
.=         �LoadAFilm(F$):�SCRAP%:SCRAP%=�:ș"OS_File",6,F$
8      �
B9   �9,&400C1:K%=!R%:ȕK%:!(K%!44)=!(K%!4+28):K%=!K%:�
L   �
V�
`�0
j
t��Close
~+L%=K%!36:N%=L%:ȕN%!40:L%=N%:N%=N%!40:�
��K%!40�
��I%=12�32�4:ȔK%!I%,N%!I%:�
��K%!16>0K%!16-=N%!8-K%!8
��N%!16>0N%!16-=K%!8-N%!8
�:șSO%,&13C,S%,"X"� R0,R1,R2,R3:șSO%,&122,N%!8,"X",,,3
�-șSO%,&13C,N%!8,"X":șSO%,&122,S%,"X",,,3
�?șSO%,&13C,S%,"X":șSO%,&122,N%!8,"X",,,3:șSO%,R0,R1,R2,R3
��Which(!B%)
��
�>L%!40=0:ș"Wimp_CloseWindow",,B%:ș"Wimp_DeleteWindow",,B%
��K%!36<>K%:M%=S%
�!I%=!K%:E%=K%+KS%:L%=E%-M%
�E%<MT%�

J%=R%:I%=!J%:ȕI%
�Adjust(!J%)
=�Adjust(I%!4):�Adjust(I%!8):�Adjust(I%!12):�Adjust(I%!16)
(0�Adjust(I%!36):�Adjust(I%!40):�Adjust(I%!44)
2J%=I%:I%=!J%
<�
F�Move(M%+L%,M%,MT%-(M%+L%))
P�
Z.MT%-=L%:�LO%ș"Wimp_SlotSize",MT%-&8000,-1
d�
n
x ��Adjust(� P%):�P%>M%:P%-=L%
��
�
�$��Open:ș"Wimp_OpenWindow",,B%:�
�
���Redraw
�"ș"Wimp_RedrawWindow",,B% � F%
�3ȕF%:X%=B%!4-B%!20:Y%=B%!16-B%!24:�RedrawSprite
�$ș"Wimp_GetRectangle",,B% � F%:�
��
�
���Button
�ȎB%!8�
��1:�LastFrame
<�2:�Tick(FR%,K%!24):�Tick(REV%,K%!28):�Tick(YOYO%,K%!32)
-�Select(MD%,�=M%!28):MX%=B%!0-80:MY%=B%!4
8�SetI(H%,0,�M%!28):�SetI(H%,1,�!M%):�SetI(H%,2,"No")
"2�(M%!36�3)=0�SetI(H%,3,"No")��SetI(H%,3,"Yes")
,)�SetI(H%,4,�M%!20):�SetI(H%,5,�M%!24)
6�Popup(FMENU%):MW%=W%
@�4:�NextFrame
J�
T�
^
h��Menus
rȎMEN%�
|�MENU%:Ȏ!B%�
�   �1:�Roll(1,2)
�   �2:ș"Wimp_CloseDown":�
�   �
��FMENU%:�Which(MW%):Ȏ!B%�
�   �0:ȎB%!4�
�.      �2:Q%=K%:ȕQ%!40:Q%=Q%!40:�:�SetFilm
�      K%!36=Q%!36:Q%!40=K%
�      �
�   �1:K%!24=�K%!24
�   �2:K%!28=�K%!28
�   �3:K%!32=�K%!32
�2   �4:DPTR%=M%+M%!16:SCR%=0:�NextFrame:K%!28=�
�<   �5:DPTR%=M%+M%!16:SCR%=0:�NewFrame:�LastFrame:K%!28=�
5   �6:WM%=�:J%=2:�Full(0,J%):ș"Wimp_SetMode",WM%
    �7:ș"Wimp_SetMode",M%!28
   �
&<   �Tick(FR%,K%!24):�Tick(REV%,K%!28):�Tick(YOYO%,K%!32)
0   �Select(MD%,�=M%!28)
:�
D?ș"Wimp_GetPointerInfo",,B%:�B%!8�1:�Popup(MEN%)��Popup(-1)
N�
X
bB��Window(T$,B%!28,!B%,B%!4,B%!8,B%!12,B%!40,B%!44,B%!48,B%!52)
l-T$=ACE$+" "+T$+" "+ACE$:T%=TT%:TT%+=�T$+1
v"�TT%>TIT%+1000:TT%=TIT%:T%=TT%
�&B%!72=T%:B%!76=-1:B%!80=�T$:$T%=T$
�4B%!16=(!B%-B%!8)�2:B%!20=(B%!12-B%!4)�2:B%!24=-1
�#B%!32=&01070207:B%!36=&000C0103
�=B%!56=%100001001:B%!60=2<<12:B%!64=0:B%!68=&10001:B%!84=0
�"ș"Wimp_CreateWindow",,B% � W%
�>!B%=W%:ș"Wimp_GetWindowState",,B%:ș"Wimp_OpenWindow",,B%
��
�
���NextFrame:�NewFrame
�2B%!4=-3E4:B%!8=-3E4:B%!12=3E4:B%!16=3E4:!B%=W%
�"ș"Wimp_UpdateWindow",,B% � F%
�3ȕF%:X%=B%!4-B%!20:Y%=B%!16-B%!24:�RedrawSprite
�$ș"Wimp_GetRectangle",,B% � F%:�
�

��LastFrame
 �DPTR%<>M%+M%!16�
*DPTR%-=DPTR%!-4
4�(M%!36�3)=0�
>.  �DPTR%=M%+M%!16:ȕ!DPTR%:DPTR%+=!DPTR%:�
H   DPTR%-=DPTR%!-4:�NextFrame
R�
\  �DPTR%=M%+M%!16�
f6  DPTR%+=!DPTR%:ș"Hourglass_On":ȕ!(DPTR%+!DPTR%)
p.  �NewFrame:�:ș"Hourglass_Off":�NextFrame
z  �
�=  �NextFrame:K%!12=DPTR%-DPTR%!-4:�K%!12=M%+M%!16:K%!16=0
�  �
��
��
��
�
���NewFrame
�#�!DPTR%=0:DPTR%=M%+M%!16:SCR%=0
�"șSO%,&13C,S%,"X"� R0,R1,R2,R3
�.șEX%,M%!32,DPTR%,SCR%,M%!40 � ,DPTR%,SCR%
��(M%!36�3)=0SCR%=0
�șSO%,R0,R1,R2,R3
�K%!12=DPTR%:K%!16=SCR%
	�
	
	��MakeSprite
	$+ș"OS_ReadModeVariable",M%!28,4 � ,,XR%
	.+ș"OS_ReadModeVariable",M%!28,5 � ,,YR%
	8,ș"OS_ReadModeVariable",M%!28,10 � ,,LB%
	B4SS%=(((M%!20>>XR%)*(M%!24>>YR%)>>3-LB%)+1000)��3
	L@S%=�Alloc(SS%):!S%=SS%:S%!4=0:S%!8=16:S%!12=16:șSO%,&109,S%
	V3șSO%,&10F,S%,"X",0,M%!20>>XR%,M%!24>>YR%,M%!28
	`�
	j
	t��RedrawSprite
	~�!CT%<>�:�Table
	��!CT%=M%!28�
	�   șSO%,&122,S%,"X",X%,Y%
	��
	�(   șSO%,&134,S%,"X",X%,Y%,0,0,CT%+4
	��
	��
	�
	���LoadFilm(F$)
	�Eș"OS_File",5,F$ � O%,,T%,,L%:�O%<>1�1,"Can't find film '"+F$+"'"
	�7M%=�Alloc(L%):ș"OS_File",&FF,F$,M%:CT%=�Alloc(260)
	��
	�
��LoadAFilm(E$)

�LoadFilm(E$):�SetFilm
�

(��SetFilm:�MakeSprite
2�WT%-M%!24<180:WT%=950
<F�Window($(M%+4),%1111,300,WT%-M%!24,M%!20+300,WT%,0,0,M%!20,M%!24)
F:WT%-=48:DPTR%=M%+M%!16:SCR%=0:CM%=M%!28:K%=�Alloc(KS%)
P6�NextFrame:!K%=!R%:!R%=K%:K%!4=M%:K%!8=S%:K%!20=W%
ZAK%!24=�:K%!28=�:K%!32=�:K%!36=K%:K%!40=0:K%!44=CT%:!CT%=M%!28
d�
n
x>ݤTemp(T$):ș"Wimp_LoadTemplate",,B%,C%,Q%+1000,-1,T$�,,C%
�$ș"Wimp_CreateWindow",,B%�T%:=T%
�
���MenuT(T$)
�!$V%=�T$,11):V%!16=16*(�$V%+1)
�+V%!20=44:V%!12=&00070207:V%!24=0:V%+=28
��
�
���MenuE(T$,F%)
�:$(V%+12)=�T$,11):!V%=F%:V%!4=-1:V%!8=1�%111<<24:V%+=24
��
�
�*��Tick(T%,F%):�F%:!T%=!T%��1�!T%=!T%�1
��
:��Select(T%,F%):�F%:T%!8=T%!8�1<<22�T%!8=T%!8��(1<<22)
�
*ݤZS(I%)�A$:�A$+=�?I%:I%+=1:�?I%=0:=A$
"
,.ݤAlloc(L%):�E%:�LO%E%=MT%+L%-&8000 �E%=-1
6(ș"Wimp_SlotSize",E%,-1�T%:T%+=&8000
@&�T%<MT%+L%�1,"Insufficient memory"
JMT%+=L%:=MT%-L%
T
^"��Which(T%):W%=T%:J%=R%:K%=!J%
hIȕK%:�W%=K%!20:M%=K%!4:S%=K%!8:DPTR%=K%!12:SCR%=K%!16:CT%=K%!44:I%=J%
rJ%=K%:K%=!J%:�:K%=!I%
|�
�
���Move(A%,B%,C%):�MV%:�
�
�9��Popup(N%):ș"Wimp_CreateMenu",,N%,MX%,MY%:MEN%=N%:�
�
�:��SetI(W%,I%,S$):�F%:!B%=W%:ș"Wimp_GetWindowInfo",,B%
�4�I%>=0:I%=B%+112+I%*32:F%=I%-4�I%=B%+76:F%=B%+60
�*�!F%�1<<8:$!I%=�S$,I%!8-1)�$I%=�S$,11)
��
�
� ��Roll(RC%,U%):�RC%<=0:RC%=1
�(WM%=�:�:I%=0:FK%=0:ȕFK%<>!R%�I%<>27
�%K%=!R%:ȕ!K%<>FK%:K%=!K%:�:FK%=K%
=M%=K%!4:S%=K%!8:DPTR%=K%!12:SCR%=K%!16:W%=K%!20:CT%=K%!44
�Full(RC%,U%):K%=!K%:�
�I%=27:ș"Wimp_SetMode",WM%
&�
0
:��Full(RL%,� W%):�J%:�
D=FW%=M%!20:FH%=M%!24:FM%=M%!28:FW2%=FW%�2��3:FH2%=FH%�2��3
NT%=�:�:��:��:T%=�
X�T%�FM%+128:�� ��FM%
b&��:��:ș"Wimp_SetMode",WM%:� �,�$
l+��<>FM%�1,"Mode for film not available"
v,ș"OS_ReadModeVariable",�,3�,,E%:�E%=15�
�&E%=B%+100:ș"Wimp_ReadPalette",,E%
�-�I%=0�15:�19,I%,16,E%?1,E%?2,E%?3:E%+=4:�
��
�&�:E%=1:�F:�:�F:�:F%=RL%>0:�MO%ȗ�2
�8�24,640-FW2%;512-FH2%;640-FW2%+FW%-1;512-FH2%+FH%-1;
�(D%=M%+M%!16:C%=0:c%=-1:CM%=FM%:�E:�F
���
�1I%=�0:ș6,&B0:�R:�ș6,&B0,,255�,T%:�T%<257-W%
�+�I%=27�(RL%�!D%=0):RL%-=1:�RL%<=0�I%=27
���
��
�
���R:�MO%�C

�F%��I%<0I%=�

�I%<32�E:�F

�I%<0�F%:�

 
ș6,15

*�I%=32:F%=�F%:�

4�I%=13:F%=�:�

>
Ȏ�I%�

H+�"F","f":D%=M%+M%!16:C%=0:c%=-1:�E:�F:�

R�"L","l","s","S"

\�(M%!36�3)=0�

f,   �!D%ȕ!(D%+!D%):D%+=!D%:c%+=1:�:�E:�F

p�

z   �!D%:ȕ!D%:�E:�:�F

��

��I%="s"��I%="S":RL%=-1

��

��"C","c":�MO%:ȗ� �ȗ�2

�MO%=�MO%:�

�6�"0","1","2","3","4","5","6","7","8","9":W%=��I%:�

��"+":�!D%�E:�F

�
F%=�:�

��"-":�D%=M%+M%!16:�

��D%>M%+M%!16D%-=D%!-4:c%-=1

�1�(M%!36�3)<>0��D%>M%+M%!16D%-=D%!-4:c%-=1:�:�

��D%=M%+M%!16:C%=0:c%=-1

��E:�F:F%=�
8�(M%!36�3)=0�D%-=D%!-4:c%-=1:�D%=M%+M%!16:C%=0:c%=-1
�

ɽ27:�
$�
.�7:�
8
B'��F:ș6,&71,E%:E%=3-E%:ș6,&70,E%:�
L%��E:�!D%=0:D%=M%+M%!16:C%=0:c%=-1
V*c%+=1:șEX%,M%!32,D%,C%,M%!40 � ,D%,C%
`�(M%!36�3)=0C%=0
j�
t
~*��C:șSO%,&13C,SPR%,"C"� R0,R1,R2,R3:�
�9�2:�129:�;c%;:șSO%,R0,R1,R2,R3:șSO%,&124,SPR%,"C",2
��
�
���Table
�(ș"OS_ReadModeVariable",M%!28,3�,,E%
�6�E%=15:ș"Wimp_ReadPalette",,B%+100:E%=B%+100�E%=0
�;ș"ColourTrans_SelectTable",M%!28,E%,-1,-1,CT%+4:!CT%=�
��
�
���Error
�E!B%=�:$(B%+4)=�$:V%=2:ș"XWimp_ReportError",B%,%11,"Projector"�V%
��V%=2:�
�
�
00000000  0d 00 0a 1c f4 3e 24 2e  21 50 72 6f 6a 65 63 74  |.....>$.!Project|
00000010  6f 72 2e 21 52 75 6e 49  6d 61 67 65 0d 00 14 38  |or.!RunImage...8|
00000020  f4 20 28 43 29 20 54 6f  6e 79 20 43 68 65 61 6c  |. (C) Tony Cheal|
00000030  2f 41 63 65 20 43 6f 6d  70 75 74 69 6e 67 20 4a  |/Ace Computing J|
00000040  61 6e 20 31 39 39 30 20  56 65 72 73 69 6f 6e 20  |an 1990 Version |
00000050  31 2e 30 35 0d 00 1e 4c  f4 20 54 68 69 73 20 70  |1.05...L. This p|
00000060  72 6f 67 72 61 6d 20 6d  61 79 20 62 65 20 66 72  |rogram may be fr|
00000070  65 65 6c 79 20 64 69 73  74 72 69 62 75 74 65 64  |eely distributed|
00000080  2c 20 42 55 54 20 69 74  73 20 63 6f 6e 74 65 6e  |, BUT its conten|
00000090  74 73 20 61 72 65 20 43  6f 70 79 72 69 67 68 74  |ts are Copyright|
000000a0  0d 00 28 3c f4 20 53 68  6f 75 6c 64 20 62 65 20  |..(<. Should be |
000000b0  77 69 74 68 20 76 65 72  73 69 6f 6e 20 31 2e 30  |with version 1.0|
000000c0  30 20 45 75 63 6c 69 64  20 6f 72 20 45 75 63 6c  |0 Euclid or Eucl|
000000d0  69 64 58 20 6f 72 20 61  62 6f 76 65 0d 00 32 40  |idX or above..2@|
000000e0  f4 20 50 6c 61 79 73 20  62 61 63 6b 20 61 20 66  |. Plays back a f|
000000f0  69 6c 6d 20 69 6e 20 41  63 65 20 46 69 6c 6d 20  |ilm in Ace Film |
00000100  66 6f 72 6d 61 74 20 75  73 69 6e 67 20 65 69 74  |format using eit|
00000110  68 65 72 20 74 68 65 20  66 75 6c 6c 0d 00 3c 36  |her the full..<6|
00000120  f4 20 62 6c 6f 77 6e 20  45 75 63 6c 69 64 20 4d  |. blown Euclid M|
00000130  6f 64 75 6c 65 20 6f 72  20 74 68 65 20 50 75 62  |odule or the Pub|
00000140  6c 69 63 20 44 6f 6d 61  69 6e 20 45 75 63 6c 69  |lic Domain Eucli|
00000150  64 58 0d 00 46 04 0d 00  50 2c f4 4f 4e 45 52 52  |dX..F...P,.ONERR|
00000160  4f 52 45 52 52 4f 52 45  58 54 20 45 52 52 2c 52  |ORERROREXT ERR,R|
00000170  45 50 4f 52 54 24 2b 22  20 22 2b 53 54 52 24 45  |EPORT$+" "+STR$E|
00000180  52 4c 0d 00 5a 33 c8 99  22 4f 53 5f 53 57 49 4e  |RL..Z3.."OS_SWIN|
00000190  75 6d 62 65 72 46 72 6f  6d 53 74 72 69 6e 67 22  |umberFromString"|
000001a0  2c 2c 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 20  |,,"OS_SpriteOp" |
000001b0  b8 20 53 4f 25 0d 00 64  35 c8 99 22 4f 53 5f 53  |. SO%..d5.."OS_S|
000001c0  57 49 4e 75 6d 62 65 72  46 72 6f 6d 53 74 72 69  |WINumberFromStri|
000001d0  6e 67 22 2c 2c 22 45 75  63 6c 69 64 5f 45 78 70  |ng",,"Euclid_Exp|
000001e0  61 6e 64 22 20 b8 20 45  58 25 0d 00 6e 1f de 4d  |and" . EX%..n..M|
000001f0  56 25 32 30 2c 54 4b 25  34 3a 50 25 3d 4d 56 25  |V%20,TK%4:P%=MV%|
00000200  3a 53 43 52 41 50 25 3d  a3 0d 00 78 44 5b 4f 50  |:SCRAP%=...xD[OP|
00000210  54 32 3a 4c 44 52 20 33  2c 5b 30 5d 2c 23 34 3a  |T2:LDR 3,[0],#4:|
00000220  53 54 52 20 33 2c 5b 31  5d 2c 23 34 3a 53 55 42  |STR 3,[1],#4:SUB|
00000230  53 20 32 2c 32 2c 23 34  3a 42 4e 45 20 4d 56 25  |S 2,2,#4:BNE MV%|
00000240  3a 4d 4f 56 53 20 50 43  2c 31 34 3a 5d 0d 00 82  |:MOVS PC,14:]...|
00000250  2d de 54 49 54 25 31 30  30 30 3a 54 54 25 3d 54  |-.TIT%1000:TT%=T|
00000260  49 54 25 3a de 42 25 31  30 30 30 3a 4b 53 25 3d  |IT%:.B%1000:KS%=|
00000270  34 38 3a 57 54 25 3d 39  35 30 0d 00 8c 3c c8 99  |48:WT%=950...<..|
00000280  22 57 69 6d 70 5f 49 6e  69 74 69 61 6c 69 73 65  |"Wimp_Initialise|
00000290  22 2c 32 30 30 2c 26 34  42 35 33 34 31 35 34 2c  |",200,&4B534154,|
000002a0  22 41 63 65 20 46 69 6c  6d 20 50 6c 61 79 65 72  |"Ace Film Player|
000002b0  22 20 b8 20 56 25 0d 00  96 3b 42 25 21 30 3d 2d  |" . V%...;B%!0=-|
000002c0  31 3a 42 25 21 34 3d 30  3a 42 25 21 38 3d 30 3a  |1:B%!4=0:B%!8=0:|
000002d0  42 25 21 31 32 3d 36 38  3a 42 25 21 31 36 3d 39  |B%!12=68:B%!16=9|
000002e0  30 3a 42 25 21 32 30 3d  25 31 30 84 33 3c 3c 31  |0:B%!20=%10.3<<1|
000002f0  32 0d 00 a0 34 24 28 42  25 2b 32 34 29 3d 22 21  |2...4$(B%+24)="!|
00000300  70 72 6f 6a 65 63 74 6f  72 22 3a c8 99 22 57 69  |projector":.."Wi|
00000310  6d 70 5f 43 72 65 61 74  65 49 63 6f 6e 22 2c 2c  |mp_CreateIcon",,|
00000320  42 25 b8 5a 25 0d 00 aa  31 c8 99 22 57 69 6d 70  |B%.Z%...1.."Wimp|
00000330  5f 4f 70 65 6e 54 65 6d  70 6c 61 74 65 22 2c 2c  |_OpenTemplate",,|
00000340  22 3c 4f 62 65 79 24 44  69 72 3e 2e 54 65 6d 70  |"<Obey$Dir>.Temp|
00000350  6c 61 74 65 73 22 0d 00  b4 1b de 51 25 31 30 30  |lates".....Q%100|
00000360  30 2c 52 25 34 3a 21 52  25 3d 30 3a 43 25 3d 51  |0,R%4:!R%=0:C%=Q|
00000370  25 0d 00 be 43 47 25 3d  a4 54 65 6d 70 28 22 50  |%...CG%=.Temp("P|
00000380  72 6f 67 49 6e 66 6f 22  29 3a 48 25 3d a4 54 65  |rogInfo"):H%=.Te|
00000390  6d 70 28 22 46 69 6c 6d  49 6e 66 6f 22 29 3a 46  |mp("FilmInfo"):F|
000003a0  53 25 3d a4 54 65 6d 70  28 22 46 75 6c 6c 4d 6f  |S%=.Temp("FullMo|
000003b0  64 65 22 29 0d 00 c8 1a  c8 99 22 57 69 6d 70 5f  |de")......"Wimp_|
000003c0  43 6c 6f 73 65 54 65 6d  70 6c 61 74 65 22 0d 00  |CloseTemplate"..|
000003d0  d2 34 de 53 50 52 25 31  32 38 3a 21 53 50 52 25  |.4.SPR%128:!SPR%|
000003e0  3d 31 32 38 3a 53 50 52  25 21 34 3d 30 3a 53 50  |=128:SPR%!4=0:SP|
000003f0  52 25 21 38 3d 31 36 3a  53 50 52 25 21 31 32 3d  |R%!8=16:SPR%!12=|
00000400  31 36 0d 00 dc 25 c8 99  53 4f 25 2c 26 31 30 46  |16...%..SO%,&10F|
00000410  2c 53 50 52 25 2c 22 43  22 2c 2c 33 32 2c 38 2c  |,SPR%,"C",,32,8,|
00000420  38 3a 4d 4f 25 3d a3 0d  00 e6 04 0d 00 f0 17 de  |8:MO%=..........|
00000430  4d 45 4e 55 25 31 30 30  30 3a 56 25 3d 4d 45 4e  |MENU%1000:V%=MEN|
00000440  55 25 0d 00 fa 35 ef 32  33 2c 26 39 30 2c 26 31  |U%...5.23,&90,&1|
00000450  30 2c 26 33 38 2c 26 37  43 2c 26 46 45 2c 26 37  |0,&38,&7C,&FE,&7|
00000460  43 2c 26 31 30 2c 26 33  38 2c 26 30 30 3a 41 43  |C,&10,&38,&00:AC|
00000470  45 24 3d bd 26 39 30 0d  01 04 17 f2 4d 65 6e 75  |E$=.&90.....Menu|
00000480  54 28 22 50 72 6f 6a 65  63 74 6f 72 22 29 0d 01  |T("Projector")..|
00000490  0e 26 49 4e 46 25 3d 56  25 3a f2 4d 65 6e 75 45  |.&INF%=V%:.MenuE|
000004a0  28 22 49 6e 66 6f 22 2c  30 29 3a 49 4e 46 25 21  |("Info",0):INF%!|
000004b0  34 3d 47 25 0d 01 18 1b  52 4f 25 3d 56 25 3a f2  |4=G%....RO%=V%:.|
000004c0  4d 65 6e 75 45 28 22 52  6f 6c 6c 22 2c 30 29 0d  |MenuE("Roll",0).|
000004d0  01 22 16 f2 4d 65 6e 75  45 28 22 51 75 69 74 22  |."..MenuE("Quit"|
000004e0  2c 26 38 30 29 0d 01 2c  04 0d 01 36 19 de 46 4d  |,&80)..,...6..FM|
000004f0  45 4e 55 25 31 30 30 30  3a 56 25 3d 46 4d 45 4e  |ENU%1000:V%=FMEN|
00000500  55 25 0d 01 40 19 f2 4d  65 6e 75 54 28 22 20 50  |U%..@..MenuT(" P|
00000510  72 6f 6a 65 63 74 6f 72  20 22 29 0d 01 4a 1d 4d  |rojector ")..J.M|
00000520  49 53 43 25 3d 56 25 3a  f2 4d 65 6e 75 45 28 22  |ISC%=V%:.MenuE("|
00000530  4d 69 73 63 22 2c 30 29  0d 01 54 1d 46 52 25 3d  |Misc",0)..T.FR%=|
00000540  56 25 3a f2 4d 65 6e 75  45 28 22 46 72 65 65 7a  |V%:.MenuE("Freez|
00000550  65 22 2c 30 29 0d 01 5e  1f 52 45 56 25 3d 56 25  |e",0)..^.REV%=V%|
00000560  3a f2 4d 65 6e 75 45 28  22 52 65 76 65 72 73 65  |:.MenuE("Reverse|
00000570  22 2c 30 29 0d 01 68 1e  59 4f 59 4f 25 3d 56 25  |",0)..h.YOYO%=V%|
00000580  3a f2 4d 65 6e 75 45 28  22 59 6f 2d 79 6f 22 2c  |:.MenuE("Yo-yo",|
00000590  30 29 0d 01 72 1b f2 4d  65 6e 75 45 28 22 46 69  |0)..r..MenuE("Fi|
000005a0  72 73 74 20 66 72 61 6d  65 22 2c 30 29 0d 01 7c  |rst frame",0)..||
000005b0  1a f2 4d 65 6e 75 45 28  22 4c 61 73 74 20 66 72  |..MenuE("Last fr|
000005c0  61 6d 65 22 2c 30 29 0d  01 86 2e 49 4e 46 25 3d  |ame",0)....INF%=|
000005d0  56 25 3a f2 4d 65 6e 75  45 28 22 46 75 6c 6c 20  |V%:.MenuE("Full |
000005e0  73 63 72 65 65 6e 22 2c  30 29 3a 49 4e 46 25 21  |screen",0):INF%!|
000005f0  34 3d 46 53 25 0d 01 90  21 4d 44 25 3d 56 25 3a  |4=FS%...!MD%=V%:|
00000600  f2 4d 65 6e 75 45 28 22  53 65 74 20 4d 6f 64 65  |.MenuE("Set Mode|
00000610  22 2c 26 38 30 29 0d 01  9a 04 0d 01 a4 21 4d 49  |",&80).......!MI|
00000620  53 43 25 21 34 3d 56 25  3a f2 4d 65 6e 75 54 28  |SC%!4=V%:.MenuT(|
00000630  22 20 20 4d 69 73 63 20  20 22 29 0d 01 ae 26 49  |"  Misc  ")...&I|
00000640  4e 46 25 3d 56 25 3a f2  4d 65 6e 75 45 28 22 49  |NF%=V%:.MenuE("I|
00000650  6e 66 6f 22 2c 30 29 3a  49 4e 46 25 21 34 3d 47  |nfo",0):INF%!4=G|
00000660  25 0d 01 b8 26 49 4e 46  25 3d 56 25 3a f2 4d 65  |%...&INF%=V%:.Me|
00000670  6e 75 45 28 22 46 69 6c  65 22 2c 30 29 3a 49 4e  |nuE("File",0):IN|
00000680  46 25 21 34 3d 48 25 0d  01 c2 1a f2 4d 65 6e 75  |F%!4=H%.....Menu|
00000690  45 28 22 4e 65 77 20 56  69 65 77 22 2c 26 38 30  |E("New View",&80|
000006a0  29 0d 01 cc 04 0d 01 d6  32 45 4e 25 3d 93 3a 46  |).......2EN%=.:F|
000006b0  43 25 3d 32 3a 57 4d 25  3d eb 3a 4c 4f 25 3d b9  |C%=2:WM%=.:LO%=.|
000006c0  3a e0 3d e0 2b 26 31 30  30 30 3a 4d 54 25 3d 93  |:.=.+&1000:MT%=.|
000006d0  3a f5 52 43 25 3d 31 0d  01 e0 26 c8 99 22 4f 53  |:.RC%=1...&.."OS|
000006e0  5f 47 65 74 45 6e 76 22  20 b8 20 45 24 3a 49 25  |_GetEnv" . E$:I%|
000006f0  3d a7 45 24 2c 22 2d 71  75 69 74 22 29 0d 01 ea  |=.E$,"-quit")...|
00000700  34 49 25 3d a7 45 24 2c  22 22 22 22 2c 49 25 2b  |4I%=.E$,"""",I%+|
00000710  31 29 3a 49 25 3d a7 45  24 2c 22 22 22 22 2c 49  |1):I%=.E$,"""",I|
00000720  25 2b 31 29 3a 45 24 3d  c1 45 24 2c 49 25 2b 31  |%+1):E$=.E$,I%+1|
00000730  29 0d 01 f4 1c c8 95 c0  45 24 2c 31 29 3d 22 20  |).......E$,1)=" |
00000740  22 3a 45 24 3d c1 45 24  2c 32 29 3a ce 0d 01 fe  |":E$=.E$,2):....|
00000750  13 c8 95 45 24 3c 3e c4  a9 45 24 2c 22 20 22 29  |...E$<>..E$," ")|
00000760  0d 02 08 20 49 25 3d a7  45 24 2b 22 20 22 2c 22  |... I%=.E$+" ","|
00000770  20 22 29 3a 46 24 3d c0  45 24 2c 49 25 2d 31 29  | "):F$=.E$,I%-1)|
00000780  0d 02 12 29 45 24 3d c1  45 24 2c 49 25 2b 31 29  |...)E$=.E$,I%+1)|
00000790  3a c8 95 c0 45 24 2c 31  29 3d 22 20 22 3a 45 24  |:...E$,1)=" ":E$|
000007a0  3d c1 45 24 2c 32 29 3a  ce 0d 02 1c 3a e7 4c 4f  |=.E$,2):....:.LO|
000007b0  25 8b 4b 25 3d 21 52 25  3a c8 95 4b 25 3a 21 42  |%.K%=!R%:..K%:!B|
000007c0  25 3d 4b 25 21 32 30 3a  f2 57 68 69 63 68 28 21  |%=K%!20:.Which(!|
000007d0  42 25 29 3a f2 43 6c 6f  73 65 3a 4b 25 3d 21 52  |B%):.Close:K%=!R|
000007e0  25 3a ce 0d 02 26 10 e7  c0 46 24 2c 31 29 3d 22  |%:...&...F$,1)="|
000007f0  2d 22 8c 0d 02 30 12 20  20 20 c8 8e c1 46 24 2c  |-"...0.   ...F$,|
00000800  32 2c 31 29 ca 0d 02 3a  20 20 20 20 c9 22 72 22  |2,1)...:    ."r"|
00000810  2c 22 52 22 3a f2 52 6f  6c 6c 28 52 43 25 2c 46  |,"R":.Roll(RC%,F|
00000820  43 25 29 3a e0 0d 02 44  1b 20 20 20 c9 22 66 22  |C%):...D.   ."f"|
00000830  2c 22 46 22 3a 46 43 25  3d bb c1 46 24 2c 33 29  |,"F":FC%=..F$,3)|
00000840  0d 02 4e 16 20 20 20 c9  22 6c 22 2c 22 4c 22 3a  |..N.   ."l","L":|
00000850  4b 25 3d 21 52 25 0d 02  58 43 20 e7 4b 25 3a f2  |K%=!R%..XC .K%:.|
00000860  57 68 69 63 68 28 4b 25  21 32 30 29 3a f2 46 75  |Which(K%!20):.Fu|
00000870  6c 6c 28 52 43 25 2c 46  43 25 29 3a e7 49 25 3d  |ll(RC%,FC%):.I%=|
00000880  32 37 3a c8 99 22 57 69  6d 70 5f 53 65 74 4d 6f  |27:.."Wimp_SetMo|
00000890  64 65 22 2c 57 4d 25 3a  e0 0d 02 62 2f 20 20 20  |de",WM%:...b/   |
000008a0  e7 4c 4f 25 4c 4f 25 3d  a3 3a c8 99 22 57 69 6d  |.LO%LO%=.:.."Wim|
000008b0  70 5f 53 6c 6f 74 53 69  7a 65 22 2c 45 4e 25 2d  |p_SlotSize",EN%-|
000008c0  26 38 30 30 30 2c 2d 31  0d 02 6c 1b 20 20 20 c9  |&8000,-1..l.   .|
000008d0  22 63 22 2c 22 43 22 3a  52 43 25 3d bb c1 46 24  |"c","C":RC%=..F$|
000008e0  2c 33 29 0d 02 76 08 20  20 20 cb 0d 02 80 05 cc  |,3)..v.   ......|
000008f0  0d 02 8a 15 20 20 20 f2  4c 6f 61 64 41 46 69 6c  |....   .LoadAFil|
00000900  6d 28 46 24 29 0d 02 94  51 20 20 20 e7 4c 4f 25  |m(F$)...Q   .LO%|
00000910  8b 4b 25 3d 21 52 25 3a  e7 4b 25 3a f2 57 68 69  |.K%=!R%:.K%:.Whi|
00000920  63 68 28 4b 25 21 32 30  29 3a f2 46 75 6c 6c 28  |ch(K%!20):.Full(|
00000930  52 43 25 2c 46 43 25 29  3a e7 49 25 3d 32 37 3a  |RC%,FC%):.I%=27:|
00000940  c8 99 22 57 69 6d 70 5f  53 65 74 4d 6f 64 65 22  |.."Wimp_SetMode"|
00000950  2c 57 4d 25 3a e0 0d 02  9e 05 cd 0d 02 a8 05 ce  |,WM%:...........|
00000960  0d 02 b2 3a e7 4c 4f 25  8b 4b 25 3d 21 52 25 3a  |...:.LO%.K%=!R%:|
00000970  c8 95 4b 25 3a 21 42 25  3d 4b 25 21 32 30 3a f2  |..K%:!B%=K%!20:.|
00000980  57 68 69 63 68 28 21 42  25 29 3a f2 43 6c 6f 73  |Which(!B%):.Clos|
00000990  65 3a 4b 25 3d 21 52 25  3a ce 0d 02 bc 08 fd 4c  |e:K%=!R%:......L|
000009a0  4f 25 0d 02 c6 0d ee 85  3a f2 45 72 72 6f 72 0d  |O%......:.Error.|
000009b0  02 d0 05 f5 0d 02 da 1a  c8 99 22 57 69 6d 70 5f  |.........."Wimp_|
000009c0  50 6f 6c 6c 22 2c 2c 42  25 20 b8 20 41 25 0d 02  |Poll",,B% . A%..|
000009d0  e4 09 c8 8e 41 25 ca 0d  02 ee 0d c9 30 3a 4b 25  |....A%......0:K%|
000009e0  3d 21 52 25 0d 02 f8 42  c8 95 4b 25 3a 4d 25 3d  |=!R%...B..K%:M%=|
000009f0  4b 25 21 34 3a 53 25 3d  4b 25 21 38 3a 44 50 54  |K%!4:S%=K%!8:DPT|
00000a00  52 25 3d 4b 25 21 31 32  3a 53 43 52 25 3d 4b 25  |R%=K%!12:SCR%=K%|
00000a10  21 31 36 3a 57 25 3d 4b  25 21 32 30 3a 43 54 25  |!16:W%=K%!20:CT%|
00000a20  3d 4b 25 21 34 34 0d 03  02 0b e7 4b 25 21 32 34  |=K%!44.....K%!24|
00000a30  8c 0d 03 0c 2c e7 4b 25  21 33 32 8b 46 25 3d 4d  |....,.K%!32.F%=M|
00000a40  25 2b 4d 25 21 31 36 3a  e7 44 50 54 52 25 3d 46  |%+M%!16:.DPTR%=F|
00000a50  25 2b 21 46 25 3a 4b 25  21 32 38 3d b9 0d 03 16  |%+!F%:K%!28=....|
00000a60  20 e7 4b 25 21 32 38 f2  4e 65 78 74 46 72 61 6d  | .K%!28.NextFram|
00000a70  65 20 8b f2 4c 61 73 74  46 72 61 6d 65 0d 03 20  |e ..LastFrame.. |
00000a80  1c e7 4b 25 21 33 32 8b  e7 21 44 50 54 52 25 3d  |..K%!32..!DPTR%=|
00000a90  30 3a 4b 25 21 32 38 3d  a3 0d 03 2a 0e cd 3a 4b  |0:K%!28=...*..:K|
00000aa0  25 3d 21 4b 25 3a ce 0d  03 34 1a c9 31 3a f2 57  |%=!K%:...4..1:.W|
00000ab0  68 69 63 68 28 21 42 25  29 3a f2 52 65 64 72 61  |hich(!B%):.Redra|
00000ac0  77 0d 03 3e 18 c9 32 3a  f2 57 68 69 63 68 28 21  |w..>..2:.Which(!|
00000ad0  42 25 29 3a f2 4f 70 65  6e 0d 03 48 19 c9 33 3a  |B%):.Open..H..3:|
00000ae0  f2 57 68 69 63 68 28 21  42 25 29 3a f2 43 6c 6f  |.Which(!B%):.Clo|
00000af0  73 65 0d 03 52 06 c9 36  0d 03 5c 0f 20 20 20 c8  |se..R..6..\.   .|
00000b00  8e 42 25 21 31 32 ca 0d  03 66 14 20 20 20 c9 46  |.B%!12...f.   .F|
00000b10  53 25 3a e7 42 25 21 38  80 37 8c 0d 03 70 22 20  |S%:.B%!8.7...p" |
00000b20  20 20 c8 99 22 57 69 6d  70 5f 43 6c 6f 73 65 57  |  .."Wimp_CloseW|
00000b30  69 6e 64 6f 77 22 2c 2c  42 25 2b 31 32 0d 03 7a  |indow",,B%+12..z|
00000b40  32 20 20 20 57 4d 25 3d  eb 3a 4a 25 3d 32 3a f2  |2   WM%=.:J%=2:.|
00000b50  46 75 6c 6c 28 30 2c 4a  25 29 3a c8 99 22 57 69  |Full(0,J%):.."Wi|
00000b60  6d 70 5f 53 65 74 4d 6f  64 65 22 2c 57 4d 25 0d  |mp_SetMode",WM%.|
00000b70  03 84 25 20 20 20 e7 42  25 21 38 80 31 f2 50 6f  |..%   .B%!8.1.Po|
00000b80  70 75 70 28 4d 45 4e 25  29 8b f2 50 6f 70 75 70  |pup(MEN%)..Popup|
00000b90  28 2d 31 29 0d 03 8e 08  20 20 20 cd 0d 03 98 27  |(-1)....   ....'|
00000ba0  20 20 20 c9 2d 32 3a e7  42 25 21 31 36 3d 5a 25  |   .-2:.B%!16=Z%|
00000bb0  4d 58 25 3d 42 25 21 30  2d 38 30 3a 4d 59 25 3d  |MX%=B%!0-80:MY%=|
00000bc0  32 33 30 0d 03 a2 2a 20  20 20 20 20 20 f2 53 65  |230...*      .Se|
00000bd0  6c 65 63 74 28 52 4f 25  2c 21 52 25 3d 30 29 3a  |lect(RO%,!R%=0):|
00000be0  f2 50 6f 70 75 70 28 4d  45 4e 55 25 29 0d 03 ac  |.Popup(MENU%)...|
00000bf0  1e 20 20 20 7f 3a f2 57  68 69 63 68 28 42 25 21  |.   .:.Which(B%!|
00000c00  31 32 29 3a f2 42 75 74  74 6f 6e 0d 03 b6 08 20  |12):.Button.... |
00000c10  20 20 cb 0d 03 c0 0d c9  39 3a f2 4d 65 6e 75 73  |  ......9:.Menus|
00000c20  0d 03 ca 0a c9 31 37 2c  31 38 0d 03 d4 0f 20 20  |.....17,18....  |
00000c30  20 c8 8e 42 25 21 31 36  ca 0d 03 de 1e 20 20 20  | ..B%!16.....   |
00000c40  c9 30 3a c8 99 22 57 69  6d 70 5f 43 6c 6f 73 65  |.0:.."Wimp_Close|
00000c50  44 6f 77 6e 22 3a e0 0d  03 e8 16 20 20 20 c9 31  |Down":.....   .1|
00000c60  3a e7 42 25 21 34 30 3d  26 44 36 41 8c 0d 03 f2  |:.B%!40=&D6A....|
00000c70  47 20 20 20 20 20 20 21  42 25 3d 36 30 3a 42 25  |G      !B%=60:B%|
00000c80  21 31 32 3d 42 25 21 38  3a 42 25 21 31 36 3d 32  |!12=B%!8:B%!16=2|
00000c90  3a 42 25 21 33 36 3d 2d  31 3a 24 28 42 25 2b 34  |:B%!36=-1:$(B%+4|
00000ca0  34 29 3d 22 3c 57 69 6d  70 24 53 63 72 61 70 3e  |4)="<Wimp$Scrap>|
00000cb0  22 2b bd 30 0d 03 fc 35  20 20 20 20 20 20 c8 99  |"+.0...5      ..|
00000cc0  22 57 69 6d 70 5f 53 65  6e 64 4d 65 73 73 61 67  |"Wimp_SendMessag|
00000cd0  65 22 2c 31 37 2c 42 25  2c 42 25 21 34 3a 53 43  |e",17,B%,B%!4:SC|
00000ce0  52 41 50 25 3d 42 25 21  38 0d 04 06 0b 20 20 20  |RAP%=B%!8....   |
00000cf0  20 20 20 cd 0d 04 10 18  20 20 20 c9 33 2c 35 3a  |   .....   .3,5:|
00000d00  e7 42 25 21 34 30 3d 26  44 36 41 8c 0d 04 1a 36  |.B%!40=&D6A....6|
00000d10  20 20 20 20 20 20 20 20  20 46 24 3d a4 5a 53 28  |         F$=.ZS(|
00000d20  42 25 2b 34 34 29 3a e7  53 43 52 41 50 25 3a 53  |B%+44):.SCRAP%:S|
00000d30  43 52 41 50 25 3d 53 43  52 41 50 25 3d 42 25 21  |CRAP%=SCRAP%=B%!|
00000d40  31 32 0d 04 24 3f 20 20  20 20 20 20 20 20 20 42  |12..$?         B|
00000d50  25 21 31 32 3d 42 25 21  38 3a 42 25 21 31 36 3d  |%!12=B%!8:B%!16=|
00000d60  34 3a c8 99 22 57 69 6d  70 5f 53 65 6e 64 4d 65  |4:.."Wimp_SendMe|
00000d70  73 73 61 67 65 22 2c 31  37 2c 42 25 2c 42 25 21  |ssage",17,B%,B%!|
00000d80  34 0d 04 2e 3d 20 20 20  20 20 20 20 20 20 f2 4c  |4...=         .L|
00000d90  6f 61 64 41 46 69 6c 6d  28 46 24 29 3a e7 53 43  |oadAFilm(F$):.SC|
00000da0  52 41 50 25 3a 53 43 52  41 50 25 3d a3 3a c8 99  |RAP%:SCRAP%=.:..|
00000db0  22 4f 53 5f 46 69 6c 65  22 2c 36 2c 46 24 0d 04  |"OS_File",6,F$..|
00000dc0  38 0b 20 20 20 20 20 20  cd 0d 04 42 39 20 20 20  |8.      ...B9   |
00000dd0  c9 39 2c 26 34 30 30 43  31 3a 4b 25 3d 21 52 25  |.9,&400C1:K%=!R%|
00000de0  3a c8 95 4b 25 3a 21 28  4b 25 21 34 34 29 3d 21  |:..K%:!(K%!44)=!|
00000df0  28 4b 25 21 34 2b 32 38  29 3a 4b 25 3d 21 4b 25  |(K%!4+28):K%=!K%|
00000e00  3a ce 0d 04 4c 08 20 20  20 cb 0d 04 56 05 cb 0d  |:...L.   ...V...|
00000e10  04 60 06 fd 30 0d 04 6a  04 0d 04 74 0b dd f2 43  |.`..0..j...t...C|
00000e20  6c 6f 73 65 0d 04 7e 2b  4c 25 3d 4b 25 21 33 36  |lose..~+L%=K%!36|
00000e30  3a 4e 25 3d 4c 25 3a c8  95 4e 25 21 34 30 3a 4c  |:N%=L%:..N%!40:L|
00000e40  25 3d 4e 25 3a 4e 25 3d  4e 25 21 34 30 3a ce 0d  |%=N%:N%=N%!40:..|
00000e50  04 88 0b e7 4b 25 21 34  30 8c 0d 04 92 1f e3 49  |....K%!40......I|
00000e60  25 3d 31 32 b8 33 32 88  34 3a c8 94 4b 25 21 49  |%=12.32.4:..K%!I|
00000e70  25 2c 4e 25 21 49 25 3a  ed 0d 04 9c 1c e7 4b 25  |%,N%!I%:......K%|
00000e80  21 31 36 3e 30 4b 25 21  31 36 2d 3d 4e 25 21 38  |!16>0K%!16-=N%!8|
00000e90  2d 4b 25 21 38 0d 04 a6  1c e7 4e 25 21 31 36 3e  |-K%!8.....N%!16>|
00000ea0  30 4e 25 21 31 36 2d 3d  4b 25 21 38 2d 4e 25 21  |0N%!16-=K%!8-N%!|
00000eb0  38 0d 04 b0 3a c8 99 53  4f 25 2c 26 31 33 43 2c  |8...:..SO%,&13C,|
00000ec0  53 25 2c 22 58 22 b8 20  52 30 2c 52 31 2c 52 32  |S%,"X". R0,R1,R2|
00000ed0  2c 52 33 3a c8 99 53 4f  25 2c 26 31 32 32 2c 4e  |,R3:..SO%,&122,N|
00000ee0  25 21 38 2c 22 58 22 2c  2c 2c 33 0d 04 ba 2d c8  |%!8,"X",,,3...-.|
00000ef0  99 53 4f 25 2c 26 31 33  43 2c 4e 25 21 38 2c 22  |.SO%,&13C,N%!8,"|
00000f00  58 22 3a c8 99 53 4f 25  2c 26 31 32 32 2c 53 25  |X":..SO%,&122,S%|
00000f10  2c 22 58 22 2c 2c 2c 33  0d 04 c4 3f c8 99 53 4f  |,"X",,,3...?..SO|
00000f20  25 2c 26 31 33 43 2c 53  25 2c 22 58 22 3a c8 99  |%,&13C,S%,"X":..|
00000f30  53 4f 25 2c 26 31 32 32  2c 4e 25 21 38 2c 22 58  |SO%,&122,N%!8,"X|
00000f40  22 2c 2c 2c 33 3a c8 99  53 4f 25 2c 52 30 2c 52  |",,,3:..SO%,R0,R|
00000f50  31 2c 52 32 2c 52 33 0d  04 ce 0f f2 57 68 69 63  |1,R2,R3.....Whic|
00000f60  68 28 21 42 25 29 0d 04  d8 05 cd 0d 04 e2 3e 4c  |h(!B%)........>L|
00000f70  25 21 34 30 3d 30 3a c8  99 22 57 69 6d 70 5f 43  |%!40=0:.."Wimp_C|
00000f80  6c 6f 73 65 57 69 6e 64  6f 77 22 2c 2c 42 25 3a  |loseWindow",,B%:|
00000f90  c8 99 22 57 69 6d 70 5f  44 65 6c 65 74 65 57 69  |.."Wimp_DeleteWi|
00000fa0  6e 64 6f 77 22 2c 2c 42  25 0d 04 ec 14 e7 4b 25  |ndow",,B%.....K%|
00000fb0  21 33 36 3c 3e 4b 25 3a  4d 25 3d 53 25 0d 04 f6  |!36<>K%:M%=S%...|
00000fc0  1e 21 49 25 3d 21 4b 25  3a 45 25 3d 4b 25 2b 4b  |.!I%=!K%:E%=K%+K|
00000fd0  53 25 3a 4c 25 3d 45 25  2d 4d 25 0d 05 00 0c e7  |S%:L%=E%-M%.....|
00000fe0  45 25 3c 4d 54 25 8c 0d  05 0a 15 4a 25 3d 52 25  |E%<MT%.....J%=R%|
00000ff0  3a 49 25 3d 21 4a 25 3a  c8 95 49 25 0d 05 14 10  |:I%=!J%:..I%....|
00001000  f2 41 64 6a 75 73 74 28  21 4a 25 29 0d 05 1e 3d  |.Adjust(!J%)...=|
00001010  f2 41 64 6a 75 73 74 28  49 25 21 34 29 3a f2 41  |.Adjust(I%!4):.A|
00001020  64 6a 75 73 74 28 49 25  21 38 29 3a f2 41 64 6a  |djust(I%!8):.Adj|
00001030  75 73 74 28 49 25 21 31  32 29 3a f2 41 64 6a 75  |ust(I%!12):.Adju|
00001040  73 74 28 49 25 21 31 36  29 0d 05 28 30 f2 41 64  |st(I%!16)..(0.Ad|
00001050  6a 75 73 74 28 49 25 21  33 36 29 3a f2 41 64 6a  |just(I%!36):.Adj|
00001060  75 73 74 28 49 25 21 34  30 29 3a f2 41 64 6a 75  |ust(I%!40):.Adju|
00001070  73 74 28 49 25 21 34 34  29 0d 05 32 10 4a 25 3d  |st(I%!44)..2.J%=|
00001080  49 25 3a 49 25 3d 21 4a  25 0d 05 3c 05 ce 0d 05  |I%:I%=!J%..<....|
00001090  46 1f f2 4d 6f 76 65 28  4d 25 2b 4c 25 2c 4d 25  |F..Move(M%+L%,M%|
000010a0  2c 4d 54 25 2d 28 4d 25  2b 4c 25 29 29 0d 05 50  |,MT%-(M%+L%))..P|
000010b0  05 cd 0d 05 5a 2e 4d 54  25 2d 3d 4c 25 3a e7 4c  |....Z.MT%-=L%:.L|
000010c0  4f 25 c8 99 22 57 69 6d  70 5f 53 6c 6f 74 53 69  |O%.."Wimp_SlotSi|
000010d0  7a 65 22 2c 4d 54 25 2d  26 38 30 30 30 2c 2d 31  |ze",MT%-&8000,-1|
000010e0  0d 05 64 05 e1 0d 05 6e  04 0d 05 78 20 dd f2 41  |..d....n...x ..A|
000010f0  64 6a 75 73 74 28 f8 20  50 25 29 3a e7 50 25 3e  |djust(. P%):.P%>|
00001100  4d 25 3a 50 25 2d 3d 4c  25 0d 05 82 05 e1 0d 05  |M%:P%-=L%.......|
00001110  8c 04 0d 05 96 24 dd f2  4f 70 65 6e 3a c8 99 22  |.....$..Open:.."|
00001120  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
00001130  2c 2c 42 25 3a e1 0d 05  a0 04 0d 05 aa 0c dd f2  |,,B%:...........|
00001140  52 65 64 72 61 77 0d 05  b4 22 c8 99 22 57 69 6d  |Redraw...".."Wim|
00001150  70 5f 52 65 64 72 61 77  57 69 6e 64 6f 77 22 2c  |p_RedrawWindow",|
00001160  2c 42 25 20 b8 20 46 25  0d 05 be 33 c8 95 46 25  |,B% . F%...3..F%|
00001170  3a 58 25 3d 42 25 21 34  2d 42 25 21 32 30 3a 59  |:X%=B%!4-B%!20:Y|
00001180  25 3d 42 25 21 31 36 2d  42 25 21 32 34 3a f2 52  |%=B%!16-B%!24:.R|
00001190  65 64 72 61 77 53 70 72  69 74 65 0d 05 c8 24 c8  |edrawSprite...$.|
000011a0  99 22 57 69 6d 70 5f 47  65 74 52 65 63 74 61 6e  |."Wimp_GetRectan|
000011b0  67 6c 65 22 2c 2c 42 25  20 b8 20 46 25 3a ce 0d  |gle",,B% . F%:..|
000011c0  05 d2 05 e1 0d 05 dc 04  0d 05 e6 0c dd f2 42 75  |..............Bu|
000011d0  74 74 6f 6e 0d 05 f0 0b  c8 8e 42 25 21 38 ca 0d  |tton......B%!8..|
000011e0  05 fa 11 c9 31 3a f2 4c  61 73 74 46 72 61 6d 65  |....1:.LastFrame|
000011f0  0d 06 04 3c c9 32 3a f2  54 69 63 6b 28 46 52 25  |...<.2:.Tick(FR%|
00001200  2c 4b 25 21 32 34 29 3a  f2 54 69 63 6b 28 52 45  |,K%!24):.Tick(RE|
00001210  56 25 2c 4b 25 21 32 38  29 3a f2 54 69 63 6b 28  |V%,K%!28):.Tick(|
00001220  59 4f 59 4f 25 2c 4b 25  21 33 32 29 0d 06 0e 2d  |YOYO%,K%!32)...-|
00001230  f2 53 65 6c 65 63 74 28  4d 44 25 2c eb 3d 4d 25  |.Select(MD%,.=M%|
00001240  21 32 38 29 3a 4d 58 25  3d 42 25 21 30 2d 38 30  |!28):MX%=B%!0-80|
00001250  3a 4d 59 25 3d 42 25 21  34 0d 06 18 38 f2 53 65  |:MY%=B%!4...8.Se|
00001260  74 49 28 48 25 2c 30 2c  c3 4d 25 21 32 38 29 3a  |tI(H%,0,.M%!28):|
00001270  f2 53 65 74 49 28 48 25  2c 31 2c c3 21 4d 25 29  |.SetI(H%,1,.!M%)|
00001280  3a f2 53 65 74 49 28 48  25 2c 32 2c 22 4e 6f 22  |:.SetI(H%,2,"No"|
00001290  29 0d 06 22 32 e7 28 4d  25 21 33 36 80 33 29 3d  |).."2.(M%!36.3)=|
000012a0  30 f2 53 65 74 49 28 48  25 2c 33 2c 22 4e 6f 22  |0.SetI(H%,3,"No"|
000012b0  29 8b f2 53 65 74 49 28  48 25 2c 33 2c 22 59 65  |)..SetI(H%,3,"Ye|
000012c0  73 22 29 0d 06 2c 29 f2  53 65 74 49 28 48 25 2c  |s")..,).SetI(H%,|
000012d0  34 2c c3 4d 25 21 32 30  29 3a f2 53 65 74 49 28  |4,.M%!20):.SetI(|
000012e0  48 25 2c 35 2c c3 4d 25  21 32 34 29 0d 06 36 19  |H%,5,.M%!24)..6.|
000012f0  f2 50 6f 70 75 70 28 46  4d 45 4e 55 25 29 3a 4d  |.Popup(FMENU%):M|
00001300  57 25 3d 57 25 0d 06 40  11 c9 34 3a f2 4e 65 78  |W%=W%..@..4:.Nex|
00001310  74 46 72 61 6d 65 0d 06  4a 05 cb 0d 06 54 05 e1  |tFrame..J....T..|
00001320  0d 06 5e 04 0d 06 68 0b  dd f2 4d 65 6e 75 73 0d  |..^...h...Menus.|
00001330  06 72 0b c8 8e 4d 45 4e  25 ca 0d 06 7c 11 c9 4d  |.r...MEN%...|..M|
00001340  45 4e 55 25 3a c8 8e 21  42 25 ca 0d 06 86 14 20  |ENU%:..!B%..... |
00001350  20 20 c9 31 3a f2 52 6f  6c 6c 28 31 2c 32 29 0d  |  .1:.Roll(1,2).|
00001360  06 90 1e 20 20 20 c9 32  3a c8 99 22 57 69 6d 70  |...   .2:.."Wimp|
00001370  5f 43 6c 6f 73 65 44 6f  77 6e 22 3a e0 0d 06 9a  |_CloseDown":....|
00001380  08 20 20 20 cb 0d 06 a4  1e c9 46 4d 45 4e 55 25  |.   ......FMENU%|
00001390  3a f2 57 68 69 63 68 28  4d 57 25 29 3a c8 8e 21  |:.Which(MW%):..!|
000013a0  42 25 ca 0d 06 ae 11 20  20 20 c9 30 3a c8 8e 42  |B%.....   .0:..B|
000013b0  25 21 34 ca 0d 06 b8 2e  20 20 20 20 20 20 c9 32  |%!4.....      .2|
000013c0  3a 51 25 3d 4b 25 3a c8  95 51 25 21 34 30 3a 51  |:Q%=K%:..Q%!40:Q|
000013d0  25 3d 51 25 21 34 30 3a  ce 3a f2 53 65 74 46 69  |%=Q%!40:.:.SetFi|
000013e0  6c 6d 0d 06 c2 1e 20 20  20 20 20 20 4b 25 21 33  |lm....      K%!3|
000013f0  36 3d 51 25 21 33 36 3a  51 25 21 34 30 3d 4b 25  |6=Q%!36:Q%!40=K%|
00001400  0d 06 cc 0b 20 20 20 20  20 20 cb 0d 06 d6 16 20  |....      ..... |
00001410  20 20 c9 31 3a 4b 25 21  32 34 3d ac 4b 25 21 32  |  .1:K%!24=.K%!2|
00001420  34 0d 06 e0 16 20 20 20  c9 32 3a 4b 25 21 32 38  |4....   .2:K%!28|
00001430  3d ac 4b 25 21 32 38 0d  06 ea 16 20 20 20 c9 33  |=.K%!28....   .3|
00001440  3a 4b 25 21 33 32 3d ac  4b 25 21 33 32 0d 06 f4  |:K%!32=.K%!32...|
00001450  32 20 20 20 c9 34 3a 44  50 54 52 25 3d 4d 25 2b  |2   .4:DPTR%=M%+|
00001460  4d 25 21 31 36 3a 53 43  52 25 3d 30 3a f2 4e 65  |M%!16:SCR%=0:.Ne|
00001470  78 74 46 72 61 6d 65 3a  4b 25 21 32 38 3d b9 0d  |xtFrame:K%!28=..|
00001480  06 fe 3c 20 20 20 c9 35  3a 44 50 54 52 25 3d 4d  |..<   .5:DPTR%=M|
00001490  25 2b 4d 25 21 31 36 3a  53 43 52 25 3d 30 3a f2  |%+M%!16:SCR%=0:.|
000014a0  4e 65 77 46 72 61 6d 65  3a f2 4c 61 73 74 46 72  |NewFrame:.LastFr|
000014b0  61 6d 65 3a 4b 25 21 32  38 3d a3 0d 07 08 35 20  |ame:K%!28=....5 |
000014c0  20 20 c9 36 3a 57 4d 25  3d eb 3a 4a 25 3d 32 3a  |  .6:WM%=.:J%=2:|
000014d0  f2 46 75 6c 6c 28 30 2c  4a 25 29 3a c8 99 22 57  |.Full(0,J%):.."W|
000014e0  69 6d 70 5f 53 65 74 4d  6f 64 65 22 2c 57 4d 25  |imp_SetMode",WM%|
000014f0  0d 07 12 20 20 20 20 c9  37 3a c8 99 22 57 69 6d  |...    .7:.."Wim|
00001500  70 5f 53 65 74 4d 6f 64  65 22 2c 4d 25 21 32 38  |p_SetMode",M%!28|
00001510  0d 07 1c 08 20 20 20 cb  0d 07 26 3c 20 20 20 f2  |....   ...&<   .|
00001520  54 69 63 6b 28 46 52 25  2c 4b 25 21 32 34 29 3a  |Tick(FR%,K%!24):|
00001530  f2 54 69 63 6b 28 52 45  56 25 2c 4b 25 21 32 38  |.Tick(REV%,K%!28|
00001540  29 3a f2 54 69 63 6b 28  59 4f 59 4f 25 2c 4b 25  |):.Tick(YOYO%,K%|
00001550  21 33 32 29 0d 07 30 1b  20 20 20 f2 53 65 6c 65  |!32)..0.   .Sele|
00001560  63 74 28 4d 44 25 2c eb  3d 4d 25 21 32 38 29 0d  |ct(MD%,.=M%!28).|
00001570  07 3a 05 cb 0d 07 44 3f  c8 99 22 57 69 6d 70 5f  |.:....D?.."Wimp_|
00001580  47 65 74 50 6f 69 6e 74  65 72 49 6e 66 6f 22 2c  |GetPointerInfo",|
00001590  2c 42 25 3a e7 42 25 21  38 80 31 3a f2 50 6f 70  |,B%:.B%!8.1:.Pop|
000015a0  75 70 28 4d 45 4e 25 29  8b f2 50 6f 70 75 70 28  |up(MEN%)..Popup(|
000015b0  2d 31 29 0d 07 4e 05 e1  0d 07 58 04 0d 07 62 42  |-1)..N....X...bB|
000015c0  dd f2 57 69 6e 64 6f 77  28 54 24 2c 42 25 21 32  |..Window(T$,B%!2|
000015d0  38 2c 21 42 25 2c 42 25  21 34 2c 42 25 21 38 2c  |8,!B%,B%!4,B%!8,|
000015e0  42 25 21 31 32 2c 42 25  21 34 30 2c 42 25 21 34  |B%!12,B%!40,B%!4|
000015f0  34 2c 42 25 21 34 38 2c  42 25 21 35 32 29 0d 07  |4,B%!48,B%!52)..|
00001600  6c 2d 54 24 3d 41 43 45  24 2b 22 20 22 2b 54 24  |l-T$=ACE$+" "+T$|
00001610  2b 22 20 22 2b 41 43 45  24 3a 54 25 3d 54 54 25  |+" "+ACE$:T%=TT%|
00001620  3a 54 54 25 2b 3d a9 54  24 2b 31 0d 07 76 22 e7  |:TT%+=.T$+1..v".|
00001630  54 54 25 3e 54 49 54 25  2b 31 30 30 30 3a 54 54  |TT%>TIT%+1000:TT|
00001640  25 3d 54 49 54 25 3a 54  25 3d 54 54 25 0d 07 80  |%=TIT%:T%=TT%...|
00001650  26 42 25 21 37 32 3d 54  25 3a 42 25 21 37 36 3d  |&B%!72=T%:B%!76=|
00001660  2d 31 3a 42 25 21 38 30  3d a9 54 24 3a 24 54 25  |-1:B%!80=.T$:$T%|
00001670  3d 54 24 0d 07 8a 34 42  25 21 31 36 3d 28 21 42  |=T$...4B%!16=(!B|
00001680  25 2d 42 25 21 38 29 81  32 3a 42 25 21 32 30 3d  |%-B%!8).2:B%!20=|
00001690  28 42 25 21 31 32 2d 42  25 21 34 29 81 32 3a 42  |(B%!12-B%!4).2:B|
000016a0  25 21 32 34 3d 2d 31 0d  07 94 23 42 25 21 33 32  |%!24=-1...#B%!32|
000016b0  3d 26 30 31 30 37 30 32  30 37 3a 42 25 21 33 36  |=&01070207:B%!36|
000016c0  3d 26 30 30 30 43 30 31  30 33 0d 07 9e 3d 42 25  |=&000C0103...=B%|
000016d0  21 35 36 3d 25 31 30 30  30 30 31 30 30 31 3a 42  |!56=%100001001:B|
000016e0  25 21 36 30 3d 32 3c 3c  31 32 3a 42 25 21 36 34  |%!60=2<<12:B%!64|
000016f0  3d 30 3a 42 25 21 36 38  3d 26 31 30 30 30 31 3a  |=0:B%!68=&10001:|
00001700  42 25 21 38 34 3d 30 0d  07 a8 22 c8 99 22 57 69  |B%!84=0...".."Wi|
00001710  6d 70 5f 43 72 65 61 74  65 57 69 6e 64 6f 77 22  |mp_CreateWindow"|
00001720  2c 2c 42 25 20 b8 20 57  25 0d 07 b2 3e 21 42 25  |,,B% . W%...>!B%|
00001730  3d 57 25 3a c8 99 22 57  69 6d 70 5f 47 65 74 57  |=W%:.."Wimp_GetW|
00001740  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 42 25 3a  |indowState",,B%:|
00001750  c8 99 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |.."Wimp_OpenWind|
00001760  6f 77 22 2c 2c 42 25 0d  07 bc 05 e1 0d 07 c6 04  |ow",,B%.........|
00001770  0d 07 d0 19 dd f2 4e 65  78 74 46 72 61 6d 65 3a  |......NextFrame:|
00001780  f2 4e 65 77 46 72 61 6d  65 0d 07 da 32 42 25 21  |.NewFrame...2B%!|
00001790  34 3d 2d 33 45 34 3a 42  25 21 38 3d 2d 33 45 34  |4=-3E4:B%!8=-3E4|
000017a0  3a 42 25 21 31 32 3d 33  45 34 3a 42 25 21 31 36  |:B%!12=3E4:B%!16|
000017b0  3d 33 45 34 3a 21 42 25  3d 57 25 0d 07 e4 22 c8  |=3E4:!B%=W%...".|
000017c0  99 22 57 69 6d 70 5f 55  70 64 61 74 65 57 69 6e  |."Wimp_UpdateWin|
000017d0  64 6f 77 22 2c 2c 42 25  20 b8 20 46 25 0d 07 ee  |dow",,B% . F%...|
000017e0  33 c8 95 46 25 3a 58 25  3d 42 25 21 34 2d 42 25  |3..F%:X%=B%!4-B%|
000017f0  21 32 30 3a 59 25 3d 42  25 21 31 36 2d 42 25 21  |!20:Y%=B%!16-B%!|
00001800  32 34 3a f2 52 65 64 72  61 77 53 70 72 69 74 65  |24:.RedrawSprite|
00001810  0d 07 f8 24 c8 99 22 57  69 6d 70 5f 47 65 74 52  |...$.."Wimp_GetR|
00001820  65 63 74 61 6e 67 6c 65  22 2c 2c 42 25 20 b8 20  |ectangle",,B% . |
00001830  46 25 3a ce 0d 08 02 05  e1 0d 08 0c 04 0d 08 16  |F%:.............|
00001840  0f dd f2 4c 61 73 74 46  72 61 6d 65 0d 08 20 15  |...LastFrame.. .|
00001850  e7 44 50 54 52 25 3c 3e  4d 25 2b 4d 25 21 31 36  |.DPTR%<>M%+M%!16|
00001860  8c 0d 08 2a 13 44 50 54  52 25 2d 3d 44 50 54 52  |...*.DPTR%-=DPTR|
00001870  25 21 2d 34 0d 08 34 11  e7 28 4d 25 21 33 36 80  |%!-4..4..(M%!36.|
00001880  33 29 3d 30 8c 0d 08 3e  2e 20 20 e7 44 50 54 52  |3)=0...>.  .DPTR|
00001890  25 3d 4d 25 2b 4d 25 21  31 36 3a c8 95 21 44 50  |%=M%+M%!16:..!DP|
000018a0  54 52 25 3a 44 50 54 52  25 2b 3d 21 44 50 54 52  |TR%:DPTR%+=!DPTR|
000018b0  25 3a ce 0d 08 48 20 20  20 44 50 54 52 25 2d 3d  |%:...H   DPTR%-=|
000018c0  44 50 54 52 25 21 2d 34  3a f2 4e 65 78 74 46 72  |DPTR%!-4:.NextFr|
000018d0  61 6d 65 0d 08 52 05 cc  0d 08 5c 16 20 20 e7 44  |ame..R....\.  .D|
000018e0  50 54 52 25 3d 4d 25 2b  4d 25 21 31 36 8c 0d 08  |PTR%=M%+M%!16...|
000018f0  66 36 20 20 44 50 54 52  25 2b 3d 21 44 50 54 52  |f6  DPTR%+=!DPTR|
00001900  25 3a c8 99 22 48 6f 75  72 67 6c 61 73 73 5f 4f  |%:.."Hourglass_O|
00001910  6e 22 3a c8 95 21 28 44  50 54 52 25 2b 21 44 50  |n":..!(DPTR%+!DP|
00001920  54 52 25 29 0d 08 70 2e  20 20 f2 4e 65 77 46 72  |TR%)..p.  .NewFr|
00001930  61 6d 65 3a ce 3a c8 99  22 48 6f 75 72 67 6c 61  |ame:.:.."Hourgla|
00001940  73 73 5f 4f 66 66 22 3a  f2 4e 65 78 74 46 72 61  |ss_Off":.NextFra|
00001950  6d 65 0d 08 7a 07 20 20  cc 0d 08 84 3d 20 20 f2  |me..z.  ....=  .|
00001960  4e 65 78 74 46 72 61 6d  65 3a 4b 25 21 31 32 3d  |NextFrame:K%!12=|
00001970  44 50 54 52 25 2d 44 50  54 52 25 21 2d 34 3a e7  |DPTR%-DPTR%!-4:.|
00001980  4b 25 21 31 32 3d 4d 25  2b 4d 25 21 31 36 3a 4b  |K%!12=M%+M%!16:K|
00001990  25 21 31 36 3d 30 0d 08  8e 07 20 20 cd 0d 08 98  |%!16=0....  ....|
000019a0  05 cd 0d 08 a2 05 cd 0d  08 ac 05 e1 0d 08 b6 04  |................|
000019b0  0d 08 c0 0e dd f2 4e 65  77 46 72 61 6d 65 0d 08  |......NewFrame..|
000019c0  ca 23 e7 21 44 50 54 52  25 3d 30 3a 44 50 54 52  |.#.!DPTR%=0:DPTR|
000019d0  25 3d 4d 25 2b 4d 25 21  31 36 3a 53 43 52 25 3d  |%=M%+M%!16:SCR%=|
000019e0  30 0d 08 d4 22 c8 99 53  4f 25 2c 26 31 33 43 2c  |0..."..SO%,&13C,|
000019f0  53 25 2c 22 58 22 b8 20  52 30 2c 52 31 2c 52 32  |S%,"X". R0,R1,R2|
00001a00  2c 52 33 0d 08 de 2e c8  99 45 58 25 2c 4d 25 21  |,R3......EX%,M%!|
00001a10  33 32 2c 44 50 54 52 25  2c 53 43 52 25 2c 4d 25  |32,DPTR%,SCR%,M%|
00001a20  21 34 30 20 b8 20 2c 44  50 54 52 25 2c 53 43 52  |!40 . ,DPTR%,SCR|
00001a30  25 0d 08 e8 16 e7 28 4d  25 21 33 36 80 33 29 3d  |%.....(M%!36.3)=|
00001a40  30 53 43 52 25 3d 30 0d  08 f2 15 c8 99 53 4f 25  |0SCR%=0......SO%|
00001a50  2c 52 30 2c 52 31 2c 52  32 2c 52 33 0d 08 fc 1a  |,R0,R1,R2,R3....|
00001a60  4b 25 21 31 32 3d 44 50  54 52 25 3a 4b 25 21 31  |K%!12=DPTR%:K%!1|
00001a70  36 3d 53 43 52 25 0d 09  06 05 e1 0d 09 10 04 0d  |6=SCR%..........|
00001a80  09 1a 10 dd f2 4d 61 6b  65 53 70 72 69 74 65 0d  |.....MakeSprite.|
00001a90  09 24 2b c8 99 22 4f 53  5f 52 65 61 64 4d 6f 64  |.$+.."OS_ReadMod|
00001aa0  65 56 61 72 69 61 62 6c  65 22 2c 4d 25 21 32 38  |eVariable",M%!28|
00001ab0  2c 34 20 b8 20 2c 2c 58  52 25 0d 09 2e 2b c8 99  |,4 . ,,XR%...+..|
00001ac0  22 4f 53 5f 52 65 61 64  4d 6f 64 65 56 61 72 69  |"OS_ReadModeVari|
00001ad0  61 62 6c 65 22 2c 4d 25  21 32 38 2c 35 20 b8 20  |able",M%!28,5 . |
00001ae0  2c 2c 59 52 25 0d 09 38  2c c8 99 22 4f 53 5f 52  |,,YR%..8,.."OS_R|
00001af0  65 61 64 4d 6f 64 65 56  61 72 69 61 62 6c 65 22  |eadModeVariable"|
00001b00  2c 4d 25 21 32 38 2c 31  30 20 b8 20 2c 2c 4c 42  |,M%!28,10 . ,,LB|
00001b10  25 0d 09 42 34 53 53 25  3d 28 28 28 4d 25 21 32  |%..B4SS%=(((M%!2|
00001b20  30 3e 3e 58 52 25 29 2a  28 4d 25 21 32 34 3e 3e  |0>>XR%)*(M%!24>>|
00001b30  59 52 25 29 3e 3e 33 2d  4c 42 25 29 2b 31 30 30  |YR%)>>3-LB%)+100|
00001b40  30 29 80 ac 33 0d 09 4c  40 53 25 3d a4 41 6c 6c  |0)..3..L@S%=.All|
00001b50  6f 63 28 53 53 25 29 3a  21 53 25 3d 53 53 25 3a  |oc(SS%):!S%=SS%:|
00001b60  53 25 21 34 3d 30 3a 53  25 21 38 3d 31 36 3a 53  |S%!4=0:S%!8=16:S|
00001b70  25 21 31 32 3d 31 36 3a  c8 99 53 4f 25 2c 26 31  |%!12=16:..SO%,&1|
00001b80  30 39 2c 53 25 0d 09 56  33 c8 99 53 4f 25 2c 26  |09,S%..V3..SO%,&|
00001b90  31 30 46 2c 53 25 2c 22  58 22 2c 30 2c 4d 25 21  |10F,S%,"X",0,M%!|
00001ba0  32 30 3e 3e 58 52 25 2c  4d 25 21 32 34 3e 3e 59  |20>>XR%,M%!24>>Y|
00001bb0  52 25 2c 4d 25 21 32 38  0d 09 60 05 e1 0d 09 6a  |R%,M%!28..`....j|
00001bc0  04 0d 09 74 12 dd f2 52  65 64 72 61 77 53 70 72  |...t...RedrawSpr|
00001bd0  69 74 65 0d 09 7e 13 e7  21 43 54 25 3c 3e eb 3a  |ite..~..!CT%<>.:|
00001be0  f2 54 61 62 6c 65 0d 09  88 10 e7 21 43 54 25 3d  |.Table.....!CT%=|
00001bf0  4d 25 21 32 38 8c 0d 09  92 1e 20 20 20 c8 99 53  |M%!28.....   ..S|
00001c00  4f 25 2c 26 31 32 32 2c  53 25 2c 22 58 22 2c 58  |O%,&122,S%,"X",X|
00001c10  25 2c 59 25 0d 09 9c 05  cc 0d 09 a6 28 20 20 20  |%,Y%........(   |
00001c20  c8 99 53 4f 25 2c 26 31  33 34 2c 53 25 2c 22 58  |..SO%,&134,S%,"X|
00001c30  22 2c 58 25 2c 59 25 2c  30 2c 30 2c 43 54 25 2b  |",X%,Y%,0,0,CT%+|
00001c40  34 0d 09 b0 05 cd 0d 09  ba 05 e1 0d 09 c4 04 0d  |4...............|
00001c50  09 ce 12 dd f2 4c 6f 61  64 46 69 6c 6d 28 46 24  |.....LoadFilm(F$|
00001c60  29 0d 09 d8 45 c8 99 22  4f 53 5f 46 69 6c 65 22  |)...E.."OS_File"|
00001c70  2c 35 2c 46 24 20 b8 20  4f 25 2c 2c 54 25 2c 2c  |,5,F$ . O%,,T%,,|
00001c80  4c 25 3a e7 4f 25 3c 3e  31 85 31 2c 22 43 61 6e  |L%:.O%<>1.1,"Can|
00001c90  27 74 20 66 69 6e 64 20  66 69 6c 6d 20 27 22 2b  |'t find film '"+|
00001ca0  46 24 2b 22 27 22 0d 09  e2 37 4d 25 3d a4 41 6c  |F$+"'"...7M%=.Al|
00001cb0  6c 6f 63 28 4c 25 29 3a  c8 99 22 4f 53 5f 46 69  |loc(L%):.."OS_Fi|
00001cc0  6c 65 22 2c 26 46 46 2c  46 24 2c 4d 25 3a 43 54  |le",&FF,F$,M%:CT|
00001cd0  25 3d a4 41 6c 6c 6f 63  28 32 36 30 29 0d 09 ec  |%=.Alloc(260)...|
00001ce0  05 e1 0d 09 f6 04 0d 0a  00 13 dd f2 4c 6f 61 64  |............Load|
00001cf0  41 46 69 6c 6d 28 45 24  29 0d 0a 0a 1a f2 4c 6f  |AFilm(E$).....Lo|
00001d00  61 64 46 69 6c 6d 28 45  24 29 3a f2 53 65 74 46  |adFilm(E$):.SetF|
00001d10  69 6c 6d 0d 0a 14 05 e1  0d 0a 1e 04 0d 0a 28 19  |ilm...........(.|
00001d20  dd f2 53 65 74 46 69 6c  6d 3a f2 4d 61 6b 65 53  |..SetFilm:.MakeS|
00001d30  70 72 69 74 65 0d 0a 32  1a e7 57 54 25 2d 4d 25  |prite..2..WT%-M%|
00001d40  21 32 34 3c 31 38 30 3a  57 54 25 3d 39 35 30 0d  |!24<180:WT%=950.|
00001d50  0a 3c 46 f2 57 69 6e 64  6f 77 28 24 28 4d 25 2b  |.<F.Window($(M%+|
00001d60  34 29 2c 25 31 31 31 31  2c 33 30 30 2c 57 54 25  |4),%1111,300,WT%|
00001d70  2d 4d 25 21 32 34 2c 4d  25 21 32 30 2b 33 30 30  |-M%!24,M%!20+300|
00001d80  2c 57 54 25 2c 30 2c 30  2c 4d 25 21 32 30 2c 4d  |,WT%,0,0,M%!20,M|
00001d90  25 21 32 34 29 0d 0a 46  3a 57 54 25 2d 3d 34 38  |%!24)..F:WT%-=48|
00001da0  3a 44 50 54 52 25 3d 4d  25 2b 4d 25 21 31 36 3a  |:DPTR%=M%+M%!16:|
00001db0  53 43 52 25 3d 30 3a 43  4d 25 3d 4d 25 21 32 38  |SCR%=0:CM%=M%!28|
00001dc0  3a 4b 25 3d a4 41 6c 6c  6f 63 28 4b 53 25 29 0d  |:K%=.Alloc(KS%).|
00001dd0  0a 50 36 f2 4e 65 78 74  46 72 61 6d 65 3a 21 4b  |.P6.NextFrame:!K|
00001de0  25 3d 21 52 25 3a 21 52  25 3d 4b 25 3a 4b 25 21  |%=!R%:!R%=K%:K%!|
00001df0  34 3d 4d 25 3a 4b 25 21  38 3d 53 25 3a 4b 25 21  |4=M%:K%!8=S%:K%!|
00001e00  32 30 3d 57 25 0d 0a 5a  41 4b 25 21 32 34 3d b9  |20=W%..ZAK%!24=.|
00001e10  3a 4b 25 21 32 38 3d b9  3a 4b 25 21 33 32 3d b9  |:K%!28=.:K%!32=.|
00001e20  3a 4b 25 21 33 36 3d 4b  25 3a 4b 25 21 34 30 3d  |:K%!36=K%:K%!40=|
00001e30  30 3a 4b 25 21 34 34 3d  43 54 25 3a 21 43 54 25  |0:K%!44=CT%:!CT%|
00001e40  3d 4d 25 21 32 38 0d 0a  64 05 e1 0d 0a 6e 04 0d  |=M%!28..d....n..|
00001e50  0a 78 3e dd a4 54 65 6d  70 28 54 24 29 3a c8 99  |.x>..Temp(T$):..|
00001e60  22 57 69 6d 70 5f 4c 6f  61 64 54 65 6d 70 6c 61  |"Wimp_LoadTempla|
00001e70  74 65 22 2c 2c 42 25 2c  43 25 2c 51 25 2b 31 30  |te",,B%,C%,Q%+10|
00001e80  30 30 2c 2d 31 2c 54 24  b8 2c 2c 43 25 0d 0a 82  |00,-1,T$.,,C%...|
00001e90  24 c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 57  |$.."Wimp_CreateW|
00001ea0  69 6e 64 6f 77 22 2c 2c  42 25 b8 54 25 3a 3d 54  |indow",,B%.T%:=T|
00001eb0  25 0d 0a 8c 04 0d 0a 96  0f dd f2 4d 65 6e 75 54  |%..........MenuT|
00001ec0  28 54 24 29 0d 0a a0 21  24 56 25 3d c0 54 24 2c  |(T$)...!$V%=.T$,|
00001ed0  31 31 29 3a 56 25 21 31  36 3d 31 36 2a 28 a9 24  |11):V%!16=16*(.$|
00001ee0  56 25 2b 31 29 0d 0a aa  2b 56 25 21 32 30 3d 34  |V%+1)...+V%!20=4|
00001ef0  34 3a 56 25 21 31 32 3d  26 30 30 30 37 30 32 30  |4:V%!12=&0007020|
00001f00  37 3a 56 25 21 32 34 3d  30 3a 56 25 2b 3d 32 38  |7:V%!24=0:V%+=28|
00001f10  0d 0a b4 05 e1 0d 0a be  04 0d 0a c8 12 dd f2 4d  |...............M|
00001f20  65 6e 75 45 28 54 24 2c  46 25 29 0d 0a d2 3a 24  |enuE(T$,F%)...:$|
00001f30  28 56 25 2b 31 32 29 3d  c0 54 24 2c 31 31 29 3a  |(V%+12)=.T$,11):|
00001f40  21 56 25 3d 46 25 3a 56  25 21 34 3d 2d 31 3a 56  |!V%=F%:V%!4=-1:V|
00001f50  25 21 38 3d 31 84 25 31  31 31 3c 3c 32 34 3a 56  |%!8=1.%111<<24:V|
00001f60  25 2b 3d 32 34 0d 0a dc  05 e1 0d 0a e6 04 0d 0a  |%+=24...........|
00001f70  f0 2a dd f2 54 69 63 6b  28 54 25 2c 46 25 29 3a  |.*..Tick(T%,F%):|
00001f80  e7 46 25 3a 21 54 25 3d  21 54 25 80 ac 31 8b 21  |.F%:!T%=!T%..1.!|
00001f90  54 25 3d 21 54 25 84 31  0d 0a fa 05 e1 0d 0b 04  |T%=!T%.1........|
00001fa0  3a dd f2 53 65 6c 65 63  74 28 54 25 2c 46 25 29  |:..Select(T%,F%)|
00001fb0  3a e7 46 25 3a 54 25 21  38 3d 54 25 21 38 84 31  |:.F%:T%!8=T%!8.1|
00001fc0  3c 3c 32 32 8b 54 25 21  38 3d 54 25 21 38 80 ac  |<<22.T%!8=T%!8..|
00001fd0  28 31 3c 3c 32 32 29 0d  0b 0e 05 e1 0d 0b 18 2a  |(1<<22)........*|
00001fe0  dd a4 5a 53 28 49 25 29  ea 41 24 3a f5 41 24 2b  |..ZS(I%).A$:.A$+|
00001ff0  3d bd 3f 49 25 3a 49 25  2b 3d 31 3a fd 3f 49 25  |=.?I%:I%+=1:.?I%|
00002000  3d 30 3a 3d 41 24 0d 0b  22 04 0d 0b 2c 2e dd a4  |=0:=A$.."...,...|
00002010  41 6c 6c 6f 63 28 4c 25  29 3a ea 45 25 3a e7 4c  |Alloc(L%):.E%:.L|
00002020  4f 25 45 25 3d 4d 54 25  2b 4c 25 2d 26 38 30 30  |O%E%=MT%+L%-&800|
00002030  30 20 8b 45 25 3d 2d 31  0d 0b 36 28 c8 99 22 57  |0 .E%=-1..6(.."W|
00002040  69 6d 70 5f 53 6c 6f 74  53 69 7a 65 22 2c 45 25  |imp_SlotSize",E%|
00002050  2c 2d 31 b8 54 25 3a 54  25 2b 3d 26 38 30 30 30  |,-1.T%:T%+=&8000|
00002060  0d 0b 40 26 e7 54 25 3c  4d 54 25 2b 4c 25 85 31  |..@&.T%<MT%+L%.1|
00002070  2c 22 49 6e 73 75 66 66  69 63 69 65 6e 74 20 6d  |,"Insufficient m|
00002080  65 6d 6f 72 79 22 0d 0b  4a 13 4d 54 25 2b 3d 4c  |emory"..J.MT%+=L|
00002090  25 3a 3d 4d 54 25 2d 4c  25 0d 0b 54 04 0d 0b 5e  |%:=MT%-L%..T...^|
000020a0  22 dd f2 57 68 69 63 68  28 54 25 29 3a 57 25 3d  |"..Which(T%):W%=|
000020b0  54 25 3a 4a 25 3d 52 25  3a 4b 25 3d 21 4a 25 0d  |T%:J%=R%:K%=!J%.|
000020c0  0b 68 49 c8 95 4b 25 3a  e7 57 25 3d 4b 25 21 32  |.hI..K%:.W%=K%!2|
000020d0  30 3a 4d 25 3d 4b 25 21  34 3a 53 25 3d 4b 25 21  |0:M%=K%!4:S%=K%!|
000020e0  38 3a 44 50 54 52 25 3d  4b 25 21 31 32 3a 53 43  |8:DPTR%=K%!12:SC|
000020f0  52 25 3d 4b 25 21 31 36  3a 43 54 25 3d 4b 25 21  |R%=K%!16:CT%=K%!|
00002100  34 34 3a 49 25 3d 4a 25  0d 0b 72 19 4a 25 3d 4b  |44:I%=J%..r.J%=K|
00002110  25 3a 4b 25 3d 21 4a 25  3a ce 3a 4b 25 3d 21 49  |%:K%=!J%:.:K%=!I|
00002120  25 0d 0b 7c 05 e1 0d 0b  86 04 0d 0b 90 1b dd f2  |%..|............|
00002130  4d 6f 76 65 28 41 25 2c  42 25 2c 43 25 29 3a d6  |Move(A%,B%,C%):.|
00002140  4d 56 25 3a e1 0d 0b 9a  04 0d 0b a4 39 dd f2 50  |MV%:........9..P|
00002150  6f 70 75 70 28 4e 25 29  3a c8 99 22 57 69 6d 70  |opup(N%):.."Wimp|
00002160  5f 43 72 65 61 74 65 4d  65 6e 75 22 2c 2c 4e 25  |_CreateMenu",,N%|
00002170  2c 4d 58 25 2c 4d 59 25  3a 4d 45 4e 25 3d 4e 25  |,MX%,MY%:MEN%=N%|
00002180  3a e1 0d 0b ae 04 0d 0b  b8 3a dd f2 53 65 74 49  |:........:..SetI|
00002190  28 57 25 2c 49 25 2c 53  24 29 3a ea 46 25 3a 21  |(W%,I%,S$):.F%:!|
000021a0  42 25 3d 57 25 3a c8 99  22 57 69 6d 70 5f 47 65  |B%=W%:.."Wimp_Ge|
000021b0  74 57 69 6e 64 6f 77 49  6e 66 6f 22 2c 2c 42 25  |tWindowInfo",,B%|
000021c0  0d 0b c2 34 e7 49 25 3e  3d 30 3a 49 25 3d 42 25  |...4.I%>=0:I%=B%|
000021d0  2b 31 31 32 2b 49 25 2a  33 32 3a 46 25 3d 49 25  |+112+I%*32:F%=I%|
000021e0  2d 34 8b 49 25 3d 42 25  2b 37 36 3a 46 25 3d 42  |-4.I%=B%+76:F%=B|
000021f0  25 2b 36 30 0d 0b cc 2a  e7 21 46 25 80 31 3c 3c  |%+60...*.!F%.1<<|
00002200  38 3a 24 21 49 25 3d c0  53 24 2c 49 25 21 38 2d  |8:$!I%=.S$,I%!8-|
00002210  31 29 8b 24 49 25 3d c0  53 24 2c 31 31 29 0d 0b  |1).$I%=.S$,11)..|
00002220  d6 05 e1 0d 0b e0 04 0d  0b ea 20 dd f2 52 6f 6c  |.......... ..Rol|
00002230  6c 28 52 43 25 2c 55 25  29 3a e7 52 43 25 3c 3d  |l(RC%,U%):.RC%<=|
00002240  30 3a 52 43 25 3d 31 0d  0b f4 28 57 4d 25 3d eb  |0:RC%=1...(WM%=.|
00002250  3a f5 3a 49 25 3d 30 3a  46 4b 25 3d 30 3a c8 95  |:.:I%=0:FK%=0:..|
00002260  46 4b 25 3c 3e 21 52 25  80 49 25 3c 3e 32 37 0d  |FK%<>!R%.I%<>27.|
00002270  0b fe 25 4b 25 3d 21 52  25 3a c8 95 21 4b 25 3c  |..%K%=!R%:..!K%<|
00002280  3e 46 4b 25 3a 4b 25 3d  21 4b 25 3a ce 3a 46 4b  |>FK%:K%=!K%:.:FK|
00002290  25 3d 4b 25 0d 0c 08 3d  4d 25 3d 4b 25 21 34 3a  |%=K%...=M%=K%!4:|
000022a0  53 25 3d 4b 25 21 38 3a  44 50 54 52 25 3d 4b 25  |S%=K%!8:DPTR%=K%|
000022b0  21 31 32 3a 53 43 52 25  3d 4b 25 21 31 36 3a 57  |!12:SCR%=K%!16:W|
000022c0  25 3d 4b 25 21 32 30 3a  43 54 25 3d 4b 25 21 34  |%=K%!20:CT%=K%!4|
000022d0  34 0d 0c 12 1a f2 46 75  6c 6c 28 52 43 25 2c 55  |4.....Full(RC%,U|
000022e0  25 29 3a 4b 25 3d 21 4b  25 3a ce 0d 0c 1c 1f fd  |%):K%=!K%:......|
000022f0  49 25 3d 32 37 3a c8 99  22 57 69 6d 70 5f 53 65  |I%=27:.."Wimp_Se|
00002300  74 4d 6f 64 65 22 2c 57  4d 25 0d 0c 26 05 e1 0d  |tMode",WM%..&...|
00002310  0c 30 04 0d 0c 3a 1b dd  f2 46 75 6c 6c 28 52 4c  |.0...:...Full(RL|
00002320  25 2c f8 20 57 25 29 3a  ea 4a 25 3a ea 85 0d 0c  |%,. W%):.J%:....|
00002330  44 3d 46 57 25 3d 4d 25  21 32 30 3a 46 48 25 3d  |D=FW%=M%!20:FH%=|
00002340  4d 25 21 32 34 3a 46 4d  25 3d 4d 25 21 32 38 3a  |M%!24:FM%=M%!28:|
00002350  46 57 32 25 3d 46 57 25  81 32 80 ac 33 3a 46 48  |FW2%=FW%.2..3:FH|
00002360  32 25 3d 46 48 25 81 32  80 ac 33 0d 0c 4e 17 54  |2%=FH%.2..3..N.T|
00002370  25 3d b9 3a ea 85 3a ee  85 ea 3a f7 85 3a 54 25  |%=.:..:...:..:T%|
00002380  3d a3 0d 0c 58 18 e7 54  25 eb 46 4d 25 2b 31 32  |=...X..T%.FM%+12|
00002390  38 3a f7 85 20 8b eb 46  4d 25 0d 0c 62 26 ee 85  |8:.. ..FM%..b&..|
000023a0  ea 3a f7 85 3a c8 99 22  57 69 6d 70 5f 53 65 74  |.:..:.."Wimp_Set|
000023b0  4d 6f 64 65 22 2c 57 4d  25 3a 85 20 9f 2c f6 24  |Mode",WM%:. .,.$|
000023c0  0d 0c 6c 2b e7 eb 3c 3e  46 4d 25 85 31 2c 22 4d  |..l+..<>FM%.1,"M|
000023d0  6f 64 65 20 66 6f 72 20  66 69 6c 6d 20 6e 6f 74  |ode for film not|
000023e0  20 61 76 61 69 6c 61 62  6c 65 22 0d 0c 76 2c c8  | available"..v,.|
000023f0  99 22 4f 53 5f 52 65 61  64 4d 6f 64 65 56 61 72  |."OS_ReadModeVar|
00002400  69 61 62 6c 65 22 2c eb  2c 33 b8 2c 2c 45 25 3a  |iable",.,3.,,E%:|
00002410  e7 45 25 3d 31 35 8c 0d  0c 80 26 45 25 3d 42 25  |.E%=15....&E%=B%|
00002420  2b 31 30 30 3a c8 99 22  57 69 6d 70 5f 52 65 61  |+100:.."Wimp_Rea|
00002430  64 50 61 6c 65 74 74 65  22 2c 2c 45 25 0d 0c 8a  |dPalette",,E%...|
00002440  2d e3 49 25 3d 30 b8 31  35 3a ef 31 39 2c 49 25  |-.I%=0.15:.19,I%|
00002450  2c 31 36 2c 45 25 3f 31  2c 45 25 3f 32 2c 45 25  |,16,E%?1,E%?2,E%|
00002460  3f 33 3a 45 25 2b 3d 34  3a ed 0d 0c 94 05 cd 0d  |?3:E%+=4:.......|
00002470  0c 9e 26 87 3a 45 25 3d  31 3a f2 46 3a db 3a f2  |..&.:E%=1:.F:.:.|
00002480  46 3a db 3a 46 25 3d 52  4c 25 3e 30 3a e7 4d 4f  |F:.:F%=RL%>0:.MO|
00002490  25 c8 97 ee 32 0d 0c a8  38 ef 32 34 2c 36 34 30  |%...2...8.24,640|
000024a0  2d 46 57 32 25 3b 35 31  32 2d 46 48 32 25 3b 36  |-FW2%;512-FH2%;6|
000024b0  34 30 2d 46 57 32 25 2b  46 57 25 2d 31 3b 35 31  |40-FW2%+FW%-1;51|
000024c0  32 2d 46 48 32 25 2b 46  48 25 2d 31 3b 0d 0c b2  |2-FH2%+FH%-1;...|
000024d0  28 44 25 3d 4d 25 2b 4d  25 21 31 36 3a 43 25 3d  |(D%=M%+M%!16:C%=|
000024e0  30 3a 63 25 3d 2d 31 3a  43 4d 25 3d 46 4d 25 3a  |0:c%=-1:CM%=FM%:|
000024f0  f2 45 3a f2 46 0d 0c bc  06 f5 f5 0d 0c c6 31 49  |.E:.F.........1I|
00002500  25 3d a6 30 3a c8 99 36  2c 26 42 30 3a f2 52 3a  |%=.0:..6,&B0:.R:|
00002510  f5 c8 99 36 2c 26 42 30  2c 2c 32 35 35 b8 2c 54  |...6,&B0,,255.,T|
00002520  25 3a fd 54 25 3c 32 35  37 2d 57 25 0d 0c d0 2b  |%:.T%<257-W%...+|
00002530  fd 49 25 3d 32 37 84 28  52 4c 25 80 21 44 25 3d  |.I%=27.(RL%.!D%=|
00002540  30 29 3a 52 4c 25 2d 3d  31 3a fd 52 4c 25 3c 3d  |0):RL%-=1:.RL%<=|
00002550  30 84 49 25 3d 32 37 0d  0c da 06 f7 85 0d 0c e4  |0.I%=27.........|
00002560  05 e1 0d 0c ee 04 0d 0c  f8 0e dd f2 52 3a e7 4d  |............R:.M|
00002570  4f 25 f2 43 0d 0d 02 11  e7 46 25 8b e7 49 25 3c  |O%.C.....F%..I%<|
00002580  30 49 25 3d a5 0d 0d 0c  0f e7 49 25 3c 33 32 f2  |0I%=......I%<32.|
00002590  45 3a f2 46 0d 0d 16 0e  e7 49 25 3c 30 80 46 25  |E:.F.....I%<0.F%|
000025a0  3a e1 0d 0d 20 0a c8 99  36 2c 31 35 0d 0d 2a 13  |:... ...6,15..*.|
000025b0  e7 49 25 3d 33 32 3a 46  25 3d ac 46 25 3a e1 0d  |.I%=32:F%=.F%:..|
000025c0  0d 34 11 e7 49 25 3d 31  33 3a 46 25 3d a3 3a e1  |.4..I%=13:F%=.:.|
000025d0  0d 0d 3e 0a c8 8e bd 49  25 ca 0d 0d 48 2b c9 22  |..>....I%...H+."|
000025e0  46 22 2c 22 66 22 3a 44  25 3d 4d 25 2b 4d 25 21  |F","f":D%=M%+M%!|
000025f0  31 36 3a 43 25 3d 30 3a  63 25 3d 2d 31 3a f2 45  |16:C%=0:c%=-1:.E|
00002600  3a f2 46 3a e1 0d 0d 52  14 c9 22 4c 22 2c 22 6c  |:.F:...R.."L","l|
00002610  22 2c 22 73 22 2c 22 53  22 0d 0d 5c 11 e7 28 4d  |","s","S"..\..(M|
00002620  25 21 33 36 80 33 29 3d  30 8c 0d 0d 66 2c 20 20  |%!36.3)=0...f,  |
00002630  20 e7 21 44 25 c8 95 21  28 44 25 2b 21 44 25 29  | .!D%..!(D%+!D%)|
00002640  3a 44 25 2b 3d 21 44 25  3a 63 25 2b 3d 31 3a ce  |:D%+=!D%:c%+=1:.|
00002650  3a f2 45 3a f2 46 0d 0d  70 05 cc 0d 0d 7a 19 20  |:.E:.F..p....z. |
00002660  20 20 e7 21 44 25 3a c8  95 21 44 25 3a f2 45 3a  |  .!D%:..!D%:.E:|
00002670  ce 3a f2 46 0d 0d 84 05  cd 0d 0d 8e 1b e7 bd 49  |.:.F...........I|
00002680  25 3d 22 73 22 84 bd 49  25 3d 22 53 22 3a 52 4c  |%="s"..I%="S":RL|
00002690  25 3d 2d 31 0d 0d 98 05  e1 0d 0d a2 1b c9 22 43  |%=-1.........."C|
000026a0  22 2c 22 63 22 3a e7 4d  4f 25 3a c8 97 87 20 8b  |","c":.MO%:... .|
000026b0  c8 97 ee 32 0d 0d ac 0e  4d 4f 25 3d ac 4d 4f 25  |...2....MO%=.MO%|
000026c0  3a e1 0d 0d b6 36 c9 22  30 22 2c 22 31 22 2c 22  |:....6."0","1","|
000026d0  32 22 2c 22 33 22 2c 22  34 22 2c 22 35 22 2c 22  |2","3","4","5","|
000026e0  36 22 2c 22 37 22 2c 22  38 22 2c 22 39 22 3a 57  |6","7","8","9":W|
000026f0  25 3d bb bd 49 25 3a e1  0d 0d c0 12 c9 22 2b 22  |%=..I%:......"+"|
00002700  3a e7 21 44 25 f2 45 3a  f2 46 0d 0d ca 0a 46 25  |:.!D%.E:.F....F%|
00002710  3d a3 3a e1 0d 0d d4 17  c9 22 2d 22 3a e7 44 25  |=.:......"-":.D%|
00002720  3d 4d 25 2b 4d 25 21 31  36 3a e1 0d 0d de 1f e7  |=M%+M%!16:......|
00002730  44 25 3e 4d 25 2b 4d 25  21 31 36 44 25 2d 3d 44  |D%>M%+M%!16D%-=D|
00002740  25 21 2d 34 3a 63 25 2d  3d 31 0d 0d e8 31 e7 28  |%!-4:c%-=1...1.(|
00002750  4d 25 21 33 36 80 33 29  3c 3e 30 8b e7 44 25 3e  |M%!36.3)<>0..D%>|
00002760  4d 25 2b 4d 25 21 31 36  44 25 2d 3d 44 25 21 2d  |M%+M%!16D%-=D%!-|
00002770  34 3a 63 25 2d 3d 31 3a  8b 3a e1 0d 0d f2 1b e7  |4:c%-=1:.:......|
00002780  44 25 3d 4d 25 2b 4d 25  21 31 36 3a 43 25 3d 30  |D%=M%+M%!16:C%=0|
00002790  3a 63 25 3d 2d 31 0d 0d  fc 0e f2 45 3a f2 46 3a  |:c%=-1.....E:.F:|
000027a0  46 25 3d a3 0d 0e 06 38  e7 28 4d 25 21 33 36 80  |F%=....8.(M%!36.|
000027b0  33 29 3d 30 8b 44 25 2d  3d 44 25 21 2d 34 3a 63  |3)=0.D%-=D%!-4:c|
000027c0  25 2d 3d 31 3a e7 44 25  3d 4d 25 2b 4d 25 21 31  |%-=1:.D%=M%+M%!1|
000027d0  36 3a 43 25 3d 30 3a 63  25 3d 2d 31 0d 0e 10 05  |6:C%=0:c%=-1....|
000027e0  e1 0d 0e 1a 0a c9 bd 32  37 3a e1 0d 0e 24 05 cb  |.......27:...$..|
000027f0  0d 0e 2e 08 ef 37 3a e1  0d 0e 38 04 0d 0e 42 27  |.....7:...8...B'|
00002800  dd f2 46 3a c8 99 36 2c  26 37 31 2c 45 25 3a 45  |..F:..6,&71,E%:E|
00002810  25 3d 33 2d 45 25 3a c8  99 36 2c 26 37 30 2c 45  |%=3-E%:..6,&70,E|
00002820  25 3a e1 0d 0e 4c 25 dd  f2 45 3a e7 21 44 25 3d  |%:...L%..E:.!D%=|
00002830  30 3a 44 25 3d 4d 25 2b  4d 25 21 31 36 3a 43 25  |0:D%=M%+M%!16:C%|
00002840  3d 30 3a 63 25 3d 2d 31  0d 0e 56 2a 63 25 2b 3d  |=0:c%=-1..V*c%+=|
00002850  31 3a c8 99 45 58 25 2c  4d 25 21 33 32 2c 44 25  |1:..EX%,M%!32,D%|
00002860  2c 43 25 2c 4d 25 21 34  30 20 b8 20 2c 44 25 2c  |,C%,M%!40 . ,D%,|
00002870  43 25 0d 0e 60 14 e7 28  4d 25 21 33 36 80 33 29  |C%..`..(M%!36.3)|
00002880  3d 30 43 25 3d 30 0d 0e  6a 05 e1 0d 0e 74 04 0d  |=0C%=0..j....t..|
00002890  0e 7e 2a dd f2 43 3a c8  99 53 4f 25 2c 26 31 33  |.~*..C:..SO%,&13|
000028a0  43 2c 53 50 52 25 2c 22  43 22 b8 20 52 30 2c 52  |C,SPR%,"C". R0,R|
000028b0  31 2c 52 32 2c 52 33 3a  db 0d 0e 88 39 fb 32 3a  |1,R2,R3:....9.2:|
000028c0  fb 31 32 39 3a f1 3b 63  25 3b 3a c8 99 53 4f 25  |.129:.;c%;:..SO%|
000028d0  2c 52 30 2c 52 31 2c 52  32 2c 52 33 3a c8 99 53  |,R0,R1,R2,R3:..S|
000028e0  4f 25 2c 26 31 32 34 2c  53 50 52 25 2c 22 43 22  |O%,&124,SPR%,"C"|
000028f0  2c 32 0d 0e 92 05 e1 0d  0e 9c 04 0d 0e a6 0b dd  |,2..............|
00002900  f2 54 61 62 6c 65 0d 0e  b0 28 c8 99 22 4f 53 5f  |.Table...(.."OS_|
00002910  52 65 61 64 4d 6f 64 65  56 61 72 69 61 62 6c 65  |ReadModeVariable|
00002920  22 2c 4d 25 21 32 38 2c  33 b8 2c 2c 45 25 0d 0e  |",M%!28,3.,,E%..|
00002930  ba 36 e7 45 25 3d 31 35  3a c8 99 22 57 69 6d 70  |.6.E%=15:.."Wimp|
00002940  5f 52 65 61 64 50 61 6c  65 74 74 65 22 2c 2c 42  |_ReadPalette",,B|
00002950  25 2b 31 30 30 3a 45 25  3d 42 25 2b 31 30 30 8b  |%+100:E%=B%+100.|
00002960  45 25 3d 30 0d 0e c4 3b  c8 99 22 43 6f 6c 6f 75  |E%=0...;.."Colou|
00002970  72 54 72 61 6e 73 5f 53  65 6c 65 63 74 54 61 62  |rTrans_SelectTab|
00002980  6c 65 22 2c 4d 25 21 32  38 2c 45 25 2c 2d 31 2c  |le",M%!28,E%,-1,|
00002990  2d 31 2c 43 54 25 2b 34  3a 21 43 54 25 3d eb 0d  |-1,CT%+4:!CT%=..|
000029a0  0e ce 05 e1 0d 0e d8 04  0d 0e e2 0b dd f2 45 72  |..............Er|
000029b0  72 6f 72 0d 0e ec 45 21  42 25 3d 9f 3a 24 28 42  |ror...E!B%=.:$(B|
000029c0  25 2b 34 29 3d f6 24 3a  56 25 3d 32 3a c8 99 22  |%+4)=.$:V%=2:.."|
000029d0  58 57 69 6d 70 5f 52 65  70 6f 72 74 45 72 72 6f  |XWimp_ReportErro|
000029e0  72 22 2c 42 25 2c 25 31  31 2c 22 50 72 6f 6a 65  |r",B%,%11,"Proje|
000029f0  63 74 6f 72 22 b8 56 25  0d 0e f6 0b e7 56 25 3d  |ctor".V%.....V%=|
00002a00  32 3a e0 0d 0f 00 05 e1  0d ff                    |2:........|
00002a0a