Home » Archimedes archive » Micro User » MU 1990-11.adf » ArcLight » !Projector/!RunImage

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

�>$.!Projector.!RunImage
8� (C) Tony Cheal/Ace Computing Jan 1990 Version 1.08
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%=�:BBC%=�
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%=52: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%=�
�/MI%=�MVar(�,9)��MVar(�,4)<<8��MVar(�,5)<<16
�
��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%
J�MenuT(" Projector ")
TMISC%=V%:�MenuE("Misc",0)
^FR%=V%:�MenuE("Freeze",0)
hREV%=V%:�MenuE("Reverse",0)
rYOYO%=V%:�MenuE("Yo-yo",0)
|�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%:�
0�F$,1)="-"�
:   Ȏ�F$,2,1)�
D    �"r","R":�Roll(RC%,FC%):�
N   �"f","F":FC%=��F$,3)
X   �"l","L":K%=!R%
bC �K%:�Which(K%!20):�Full(RC%,FC%):�I%=27:ș"Wimp_SetMode",WM%:�
l/   �LO%LO%=�:ș"Wimp_SlotSize",EN%-&8000,-1
v   �"c","C":RC%=��F$,3)
�   �
��
�   �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=�
4�:K%=!K%:�
>�1:�Which(!B%):�Redraw
H�2:�Which(!B%):�Open
R�3:�Which(!B%):�Close
\�6
f   ȎB%!12�
p   �FS%:�B%!8�7�
z"   ș"Wimp_CloseWindow",,B%+12
�2   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
8=         �LoadAFilm(F$):�SCRAP%:SCRAP%=�:ș"OS_File",6,F$
B      �
L9   �9,&400C1:K%=!R%:ȕK%:!(K%!44)=!(K%!4+28):K%=!K%:�
V5      MI%=�MVar(�,9)��MVar(�,4)<<8��MVar(�,5)<<16
`   �
j�
t�0
~
���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%)
2=�Adjust(I%!4):�Adjust(I%!8):�Adjust(I%!12):�Adjust(I%!16)
<0�Adjust(I%!36):�Adjust(I%!40):�Adjust(I%!44)
FJ%=I%:I%=!J%
P�
Z�Move(M%+L%,M%,MT%-(M%+L%))
d�
n.MT%-=L%:�LO%ș"Wimp_SlotSize",MT%-&8000,-1
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")
62�(M%!36�3)=0�SetI(H%,3,"No")��SetI(H%,3,"Yes")
@)�SetI(H%,4,�M%!20):�SetI(H%,5,�M%!24)
J�Popup(FMENU%):MW%=W%
T�4:�NextFrame
^�
h�
r
|��Menus
�Ȏ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
0   �
:<   �Tick(FR%,K%!24):�Tick(REV%,K%!28):�Tick(YOYO%,K%!32)
D   �Select(MD%,�=M%!28)
N�
X?ș"Wimp_GetPointerInfo",,B%:�B%!8�1:�Popup(MEN%)��Popup(-1)
b�
l
vB��Window(T$,B%!28,!B%,B%!4,B%!8,B%!12,B%!40,B%!44,B%!48,B%!52)
�-T$=ACE$+" "+T$+" "+ACE$:T%=TT%:TT%+=�T$+1
�"�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
4�DPTR%<>M%+M%!16�
>DPTR%-=DPTR%!-4
H�(M%!36�3)=0�
R.  �DPTR%=M%+M%!16:ȕ!DPTR%:DPTR%+=!DPTR%:�
\   DPTR%-=DPTR%!-4:�NextFrame
f�
p  �DPTR%=M%+M%!16�
z6  DPTR%+=!DPTR%:ș"Hourglass_On":ȕ!(DPTR%+!DPTR%)
�.  �NewFrame:�:ș"Hourglass_Off":�NextFrame
�  �
�=  �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
	8=XR%=�MVar(M%!28,4):YR%=�MVar(M%!28,5):LB%=�MVar(M%!28,10)
	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
	��MI%=K%!48�
	�   ș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=K%!48=�MVar(M%!28,9)��MVar(M%!28,4)<<8��MVar(M%!28,5)<<16
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$
,
6.ݤAlloc(L%):�E%:�LO%E%=MT%+L%-&8000 �E%=-1
@(ș"Wimp_SlotSize",E%,-1�T%:T%+=&8000
J&�T%<MT%+L%�1,"Insufficient memory"
TMT%+=L%:=MT%-L%
^
h"��Which(T%):W%=T%:J%=R%:K%=!J%
rIȕK%:�W%=K%!20:M%=K%!4:S%=K%!8:DPTR%=K%!12:SCR%=K%!16:CT%=K%!44:I%=J%
|J%=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�
:
D��Full(RL%,� W%):�J%:�
N=FW%=M%!20:FH%=M%!24:FM%=M%!28:FW2%=FW%�2��3:FH2%=FH%�2��3
XT%=�:�:��:��:T%=�
b�T%�FM%+128:�� ��FM%
l&��:��:ș"Wimp_SetMode",WM%:� �,�$
v+��<>FM%�1,"Mode for film not available"
��MVar(�,9)=2�
�&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��BBC%�E:�F

 �I%<0�F%:�

*ș6,15:�BBC%�I%<>2I%=�"+"

4)�I%=2:BBC%=�BBC%:F%=�:I%=�"F":�BBC%�7

>�I%=32:F%=�F%:�

H�I%=13:F%=�:�

R
Ȏ�I%�

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

f�"L","l","s","S"

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

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

��

�   �!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:�
8�
B�7:�
L
V'��F:ș6,&71,E%:E%=3-E%:ș6,&70,E%:�
`%��E:�!D%=0:D%=M%+M%!16:C%=0:c%=-1
j*c%+=1:șEX%,M%!32,D%,C%,M%!40 � ,D%,C%
t�(M%!36�3)=0C%=0
~�
�
�*��C:șSO%,&13C,SPR%,"C"� R0,R1,R2,R3:�
�9�2:�129:�;c%;:șSO%,R0,R1,R2,R3:șSO%,&124,SPR%,"C",2
��
�
���Table
�A�MVar(M%!28,9)=2:ș"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:�

�

8ݤMVar(N%,V%):ș"OS_ReadModeVariable",N%,V%�,,V%:=V%
�
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 38 0d 00 1e 4c  f4 20 54 68 69 73 20 70  |1.08...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 26 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 3a 42 42 43 25 3d a3  |:SCRAP%=.:BBC%=.|
00000210  0d 00 78 44 5b 4f 50 54  32 3a 4c 44 52 20 33 2c  |..xD[OPT2:LDR 3,|
00000220  5b 30 5d 2c 23 34 3a 53  54 52 20 33 2c 5b 31 5d  |[0],#4:STR 3,[1]|
00000230  2c 23 34 3a 53 55 42 53  20 32 2c 32 2c 23 34 3a  |,#4:SUBS 2,2,#4:|
00000240  42 4e 45 20 4d 56 25 3a  4d 4f 56 53 20 50 43 2c  |BNE MV%:MOVS PC,|
00000250  31 34 3a 5d 0d 00 82 2d  de 54 49 54 25 31 30 30  |14:]...-.TIT%100|
00000260  30 3a 54 54 25 3d 54 49  54 25 3a de 42 25 31 30  |0:TT%=TIT%:.B%10|
00000270  30 30 3a 4b 53 25 3d 35  32 3a 57 54 25 3d 39 35  |00:KS%=52:WT%=95|
00000280  30 0d 00 8c 3c c8 99 22  57 69 6d 70 5f 49 6e 69  |0...<.."Wimp_Ini|
00000290  74 69 61 6c 69 73 65 22  2c 32 30 30 2c 26 34 42  |tialise",200,&4B|
000002a0  35 33 34 31 35 34 2c 22  41 63 65 20 46 69 6c 6d  |534154,"Ace Film|
000002b0  20 50 6c 61 79 65 72 22  20 b8 20 56 25 0d 00 96  | Player" . V%...|
000002c0  3b 42 25 21 30 3d 2d 31  3a 42 25 21 34 3d 30 3a  |;B%!0=-1:B%!4=0:|
000002d0  42 25 21 38 3d 30 3a 42  25 21 31 32 3d 36 38 3a  |B%!8=0:B%!12=68:|
000002e0  42 25 21 31 36 3d 39 30  3a 42 25 21 32 30 3d 25  |B%!16=90:B%!20=%|
000002f0  31 30 84 33 3c 3c 31 32  0d 00 a0 34 24 28 42 25  |10.3<<12...4$(B%|
00000300  2b 32 34 29 3d 22 21 70  72 6f 6a 65 63 74 6f 72  |+24)="!projector|
00000310  22 3a c8 99 22 57 69 6d  70 5f 43 72 65 61 74 65  |":.."Wimp_Create|
00000320  49 63 6f 6e 22 2c 2c 42  25 b8 5a 25 0d 00 aa 31  |Icon",,B%.Z%...1|
00000330  c8 99 22 57 69 6d 70 5f  4f 70 65 6e 54 65 6d 70  |.."Wimp_OpenTemp|
00000340  6c 61 74 65 22 2c 2c 22  3c 4f 62 65 79 24 44 69  |late",,"<Obey$Di|
00000350  72 3e 2e 54 65 6d 70 6c  61 74 65 73 22 0d 00 b4  |r>.Templates"...|
00000360  1b de 51 25 31 30 30 30  2c 52 25 34 3a 21 52 25  |..Q%1000,R%4:!R%|
00000370  3d 30 3a 43 25 3d 51 25  0d 00 be 43 47 25 3d a4  |=0:C%=Q%...CG%=.|
00000380  54 65 6d 70 28 22 50 72  6f 67 49 6e 66 6f 22 29  |Temp("ProgInfo")|
00000390  3a 48 25 3d a4 54 65 6d  70 28 22 46 69 6c 6d 49  |:H%=.Temp("FilmI|
000003a0  6e 66 6f 22 29 3a 46 53  25 3d a4 54 65 6d 70 28  |nfo"):FS%=.Temp(|
000003b0  22 46 75 6c 6c 4d 6f 64  65 22 29 0d 00 c8 1a c8  |"FullMode").....|
000003c0  99 22 57 69 6d 70 5f 43  6c 6f 73 65 54 65 6d 70  |."Wimp_CloseTemp|
000003d0  6c 61 74 65 22 0d 00 d2  34 de 53 50 52 25 31 32  |late"...4.SPR%12|
000003e0  38 3a 21 53 50 52 25 3d  31 32 38 3a 53 50 52 25  |8:!SPR%=128:SPR%|
000003f0  21 34 3d 30 3a 53 50 52  25 21 38 3d 31 36 3a 53  |!4=0:SPR%!8=16:S|
00000400  50 52 25 21 31 32 3d 31  36 0d 00 dc 25 c8 99 53  |PR%!12=16...%..S|
00000410  4f 25 2c 26 31 30 46 2c  53 50 52 25 2c 22 43 22  |O%,&10F,SPR%,"C"|
00000420  2c 2c 33 32 2c 38 2c 38  3a 4d 4f 25 3d a3 0d 00  |,,32,8,8:MO%=...|
00000430  e6 2f 4d 49 25 3d a4 4d  56 61 72 28 eb 2c 39 29  |./MI%=.MVar(.,9)|
00000440  84 a4 4d 56 61 72 28 eb  2c 34 29 3c 3c 38 84 a4  |..MVar(.,4)<<8..|
00000450  4d 56 61 72 28 eb 2c 35  29 3c 3c 31 36 0d 00 f0  |MVar(.,5)<<16...|
00000460  04 0d 00 fa 17 de 4d 45  4e 55 25 31 30 30 30 3a  |......MENU%1000:|
00000470  56 25 3d 4d 45 4e 55 25  0d 01 04 35 ef 32 33 2c  |V%=MENU%...5.23,|
00000480  26 39 30 2c 26 31 30 2c  26 33 38 2c 26 37 43 2c  |&90,&10,&38,&7C,|
00000490  26 46 45 2c 26 37 43 2c  26 31 30 2c 26 33 38 2c  |&FE,&7C,&10,&38,|
000004a0  26 30 30 3a 41 43 45 24  3d bd 26 39 30 0d 01 0e  |&00:ACE$=.&90...|
000004b0  17 f2 4d 65 6e 75 54 28  22 50 72 6f 6a 65 63 74  |..MenuT("Project|
000004c0  6f 72 22 29 0d 01 18 26  49 4e 46 25 3d 56 25 3a  |or")...&INF%=V%:|
000004d0  f2 4d 65 6e 75 45 28 22  49 6e 66 6f 22 2c 30 29  |.MenuE("Info",0)|
000004e0  3a 49 4e 46 25 21 34 3d  47 25 0d 01 22 1b 52 4f  |:INF%!4=G%..".RO|
000004f0  25 3d 56 25 3a f2 4d 65  6e 75 45 28 22 52 6f 6c  |%=V%:.MenuE("Rol|
00000500  6c 22 2c 30 29 0d 01 2c  16 f2 4d 65 6e 75 45 28  |l",0)..,..MenuE(|
00000510  22 51 75 69 74 22 2c 26  38 30 29 0d 01 36 04 0d  |"Quit",&80)..6..|
00000520  01 40 19 de 46 4d 45 4e  55 25 31 30 30 30 3a 56  |.@..FMENU%1000:V|
00000530  25 3d 46 4d 45 4e 55 25  0d 01 4a 19 f2 4d 65 6e  |%=FMENU%..J..Men|
00000540  75 54 28 22 20 50 72 6f  6a 65 63 74 6f 72 20 22  |uT(" Projector "|
00000550  29 0d 01 54 1d 4d 49 53  43 25 3d 56 25 3a f2 4d  |)..T.MISC%=V%:.M|
00000560  65 6e 75 45 28 22 4d 69  73 63 22 2c 30 29 0d 01  |enuE("Misc",0)..|
00000570  5e 1d 46 52 25 3d 56 25  3a f2 4d 65 6e 75 45 28  |^.FR%=V%:.MenuE(|
00000580  22 46 72 65 65 7a 65 22  2c 30 29 0d 01 68 1f 52  |"Freeze",0)..h.R|
00000590  45 56 25 3d 56 25 3a f2  4d 65 6e 75 45 28 22 52  |EV%=V%:.MenuE("R|
000005a0  65 76 65 72 73 65 22 2c  30 29 0d 01 72 1e 59 4f  |everse",0)..r.YO|
000005b0  59 4f 25 3d 56 25 3a f2  4d 65 6e 75 45 28 22 59  |YO%=V%:.MenuE("Y|
000005c0  6f 2d 79 6f 22 2c 30 29  0d 01 7c 1b f2 4d 65 6e  |o-yo",0)..|..Men|
000005d0  75 45 28 22 46 69 72 73  74 20 66 72 61 6d 65 22  |uE("First frame"|
000005e0  2c 30 29 0d 01 86 1a f2  4d 65 6e 75 45 28 22 4c  |,0).....MenuE("L|
000005f0  61 73 74 20 66 72 61 6d  65 22 2c 30 29 0d 01 90  |ast frame",0)...|
00000600  2e 49 4e 46 25 3d 56 25  3a f2 4d 65 6e 75 45 28  |.INF%=V%:.MenuE(|
00000610  22 46 75 6c 6c 20 73 63  72 65 65 6e 22 2c 30 29  |"Full screen",0)|
00000620  3a 49 4e 46 25 21 34 3d  46 53 25 0d 01 9a 21 4d  |:INF%!4=FS%...!M|
00000630  44 25 3d 56 25 3a f2 4d  65 6e 75 45 28 22 53 65  |D%=V%:.MenuE("Se|
00000640  74 20 4d 6f 64 65 22 2c  26 38 30 29 0d 01 a4 04  |t Mode",&80)....|
00000650  0d 01 ae 21 4d 49 53 43  25 21 34 3d 56 25 3a f2  |...!MISC%!4=V%:.|
00000660  4d 65 6e 75 54 28 22 20  20 4d 69 73 63 20 20 22  |MenuT("  Misc  "|
00000670  29 0d 01 b8 26 49 4e 46  25 3d 56 25 3a f2 4d 65  |)...&INF%=V%:.Me|
00000680  6e 75 45 28 22 49 6e 66  6f 22 2c 30 29 3a 49 4e  |nuE("Info",0):IN|
00000690  46 25 21 34 3d 47 25 0d  01 c2 26 49 4e 46 25 3d  |F%!4=G%...&INF%=|
000006a0  56 25 3a f2 4d 65 6e 75  45 28 22 46 69 6c 65 22  |V%:.MenuE("File"|
000006b0  2c 30 29 3a 49 4e 46 25  21 34 3d 48 25 0d 01 cc  |,0):INF%!4=H%...|
000006c0  1a f2 4d 65 6e 75 45 28  22 4e 65 77 20 56 69 65  |..MenuE("New Vie|
000006d0  77 22 2c 26 38 30 29 0d  01 d6 04 0d 01 e0 32 45  |w",&80).......2E|
000006e0  4e 25 3d 93 3a 46 43 25  3d 32 3a 57 4d 25 3d eb  |N%=.:FC%=2:WM%=.|
000006f0  3a 4c 4f 25 3d b9 3a e0  3d e0 2b 26 31 30 30 30  |:LO%=.:.=.+&1000|
00000700  3a 4d 54 25 3d 93 3a f5  52 43 25 3d 31 0d 01 ea  |:MT%=.:.RC%=1...|
00000710  26 c8 99 22 4f 53 5f 47  65 74 45 6e 76 22 20 b8  |&.."OS_GetEnv" .|
00000720  20 45 24 3a 49 25 3d a7  45 24 2c 22 2d 71 75 69  | E$:I%=.E$,"-qui|
00000730  74 22 29 0d 01 f4 34 49  25 3d a7 45 24 2c 22 22  |t")...4I%=.E$,""|
00000740  22 22 2c 49 25 2b 31 29  3a 49 25 3d a7 45 24 2c  |"",I%+1):I%=.E$,|
00000750  22 22 22 22 2c 49 25 2b  31 29 3a 45 24 3d c1 45  |"""",I%+1):E$=.E|
00000760  24 2c 49 25 2b 31 29 0d  01 fe 1c c8 95 c0 45 24  |$,I%+1).......E$|
00000770  2c 31 29 3d 22 20 22 3a  45 24 3d c1 45 24 2c 32  |,1)=" ":E$=.E$,2|
00000780  29 3a ce 0d 02 08 13 c8  95 45 24 3c 3e c4 a9 45  |):.......E$<>..E|
00000790  24 2c 22 20 22 29 0d 02  12 20 49 25 3d a7 45 24  |$," ")... I%=.E$|
000007a0  2b 22 20 22 2c 22 20 22  29 3a 46 24 3d c0 45 24  |+" "," "):F$=.E$|
000007b0  2c 49 25 2d 31 29 0d 02  1c 29 45 24 3d c1 45 24  |,I%-1)...)E$=.E$|
000007c0  2c 49 25 2b 31 29 3a c8  95 c0 45 24 2c 31 29 3d  |,I%+1):...E$,1)=|
000007d0  22 20 22 3a 45 24 3d c1  45 24 2c 32 29 3a ce 0d  |" ":E$=.E$,2):..|
000007e0  02 26 3a e7 4c 4f 25 8b  4b 25 3d 21 52 25 3a c8  |.&:.LO%.K%=!R%:.|
000007f0  95 4b 25 3a 21 42 25 3d  4b 25 21 32 30 3a f2 57  |.K%:!B%=K%!20:.W|
00000800  68 69 63 68 28 21 42 25  29 3a f2 43 6c 6f 73 65  |hich(!B%):.Close|
00000810  3a 4b 25 3d 21 52 25 3a  ce 0d 02 30 10 e7 c0 46  |:K%=!R%:...0...F|
00000820  24 2c 31 29 3d 22 2d 22  8c 0d 02 3a 12 20 20 20  |$,1)="-"...:.   |
00000830  c8 8e c1 46 24 2c 32 2c  31 29 ca 0d 02 44 20 20  |...F$,2,1)...D  |
00000840  20 20 c9 22 72 22 2c 22  52 22 3a f2 52 6f 6c 6c  |  ."r","R":.Roll|
00000850  28 52 43 25 2c 46 43 25  29 3a e0 0d 02 4e 1b 20  |(RC%,FC%):...N. |
00000860  20 20 c9 22 66 22 2c 22  46 22 3a 46 43 25 3d bb  |  ."f","F":FC%=.|
00000870  c1 46 24 2c 33 29 0d 02  58 16 20 20 20 c9 22 6c  |.F$,3)..X.   ."l|
00000880  22 2c 22 4c 22 3a 4b 25  3d 21 52 25 0d 02 62 43  |","L":K%=!R%..bC|
00000890  20 e7 4b 25 3a f2 57 68  69 63 68 28 4b 25 21 32  | .K%:.Which(K%!2|
000008a0  30 29 3a f2 46 75 6c 6c  28 52 43 25 2c 46 43 25  |0):.Full(RC%,FC%|
000008b0  29 3a e7 49 25 3d 32 37  3a c8 99 22 57 69 6d 70  |):.I%=27:.."Wimp|
000008c0  5f 53 65 74 4d 6f 64 65  22 2c 57 4d 25 3a e0 0d  |_SetMode",WM%:..|
000008d0  02 6c 2f 20 20 20 e7 4c  4f 25 4c 4f 25 3d a3 3a  |.l/   .LO%LO%=.:|
000008e0  c8 99 22 57 69 6d 70 5f  53 6c 6f 74 53 69 7a 65  |.."Wimp_SlotSize|
000008f0  22 2c 45 4e 25 2d 26 38  30 30 30 2c 2d 31 0d 02  |",EN%-&8000,-1..|
00000900  76 1b 20 20 20 c9 22 63  22 2c 22 43 22 3a 52 43  |v.   ."c","C":RC|
00000910  25 3d bb c1 46 24 2c 33  29 0d 02 80 08 20 20 20  |%=..F$,3)....   |
00000920  cb 0d 02 8a 05 cc 0d 02  94 15 20 20 20 f2 4c 6f  |..........   .Lo|
00000930  61 64 41 46 69 6c 6d 28  46 24 29 0d 02 9e 51 20  |adAFilm(F$)...Q |
00000940  20 20 e7 4c 4f 25 8b 4b  25 3d 21 52 25 3a e7 4b  |  .LO%.K%=!R%:.K|
00000950  25 3a f2 57 68 69 63 68  28 4b 25 21 32 30 29 3a  |%:.Which(K%!20):|
00000960  f2 46 75 6c 6c 28 52 43  25 2c 46 43 25 29 3a e7  |.Full(RC%,FC%):.|
00000970  49 25 3d 32 37 3a c8 99  22 57 69 6d 70 5f 53 65  |I%=27:.."Wimp_Se|
00000980  74 4d 6f 64 65 22 2c 57  4d 25 3a e0 0d 02 a8 05  |tMode",WM%:.....|
00000990  cd 0d 02 b2 05 ce 0d 02  bc 3a e7 4c 4f 25 8b 4b  |.........:.LO%.K|
000009a0  25 3d 21 52 25 3a c8 95  4b 25 3a 21 42 25 3d 4b  |%=!R%:..K%:!B%=K|
000009b0  25 21 32 30 3a f2 57 68  69 63 68 28 21 42 25 29  |%!20:.Which(!B%)|
000009c0  3a f2 43 6c 6f 73 65 3a  4b 25 3d 21 52 25 3a ce  |:.Close:K%=!R%:.|
000009d0  0d 02 c6 08 fd 4c 4f 25  0d 02 d0 0d ee 85 3a f2  |.....LO%......:.|
000009e0  45 72 72 6f 72 0d 02 da  05 f5 0d 02 e4 1a c8 99  |Error...........|
000009f0  22 57 69 6d 70 5f 50 6f  6c 6c 22 2c 2c 42 25 20  |"Wimp_Poll",,B% |
00000a00  b8 20 41 25 0d 02 ee 09  c8 8e 41 25 ca 0d 02 f8  |. A%......A%....|
00000a10  0d c9 30 3a 4b 25 3d 21  52 25 0d 03 02 42 c8 95  |..0:K%=!R%...B..|
00000a20  4b 25 3a 4d 25 3d 4b 25  21 34 3a 53 25 3d 4b 25  |K%:M%=K%!4:S%=K%|
00000a30  21 38 3a 44 50 54 52 25  3d 4b 25 21 31 32 3a 53  |!8:DPTR%=K%!12:S|
00000a40  43 52 25 3d 4b 25 21 31  36 3a 57 25 3d 4b 25 21  |CR%=K%!16:W%=K%!|
00000a50  32 30 3a 43 54 25 3d 4b  25 21 34 34 0d 03 0c 0b  |20:CT%=K%!44....|
00000a60  e7 4b 25 21 32 34 8c 0d  03 16 2c e7 4b 25 21 33  |.K%!24....,.K%!3|
00000a70  32 8b 46 25 3d 4d 25 2b  4d 25 21 31 36 3a e7 44  |2.F%=M%+M%!16:.D|
00000a80  50 54 52 25 3d 46 25 2b  21 46 25 3a 4b 25 21 32  |PTR%=F%+!F%:K%!2|
00000a90  38 3d b9 0d 03 20 20 e7  4b 25 21 32 38 f2 4e 65  |8=...  .K%!28.Ne|
00000aa0  78 74 46 72 61 6d 65 20  8b f2 4c 61 73 74 46 72  |xtFrame ..LastFr|
00000ab0  61 6d 65 0d 03 2a 1c e7  4b 25 21 33 32 8b e7 21  |ame..*..K%!32..!|
00000ac0  44 50 54 52 25 3d 30 3a  4b 25 21 32 38 3d a3 0d  |DPTR%=0:K%!28=..|
00000ad0  03 34 0e cd 3a 4b 25 3d  21 4b 25 3a ce 0d 03 3e  |.4..:K%=!K%:...>|
00000ae0  1a c9 31 3a f2 57 68 69  63 68 28 21 42 25 29 3a  |..1:.Which(!B%):|
00000af0  f2 52 65 64 72 61 77 0d  03 48 18 c9 32 3a f2 57  |.Redraw..H..2:.W|
00000b00  68 69 63 68 28 21 42 25  29 3a f2 4f 70 65 6e 0d  |hich(!B%):.Open.|
00000b10  03 52 19 c9 33 3a f2 57  68 69 63 68 28 21 42 25  |.R..3:.Which(!B%|
00000b20  29 3a f2 43 6c 6f 73 65  0d 03 5c 06 c9 36 0d 03  |):.Close..\..6..|
00000b30  66 0f 20 20 20 c8 8e 42  25 21 31 32 ca 0d 03 70  |f.   ..B%!12...p|
00000b40  14 20 20 20 c9 46 53 25  3a e7 42 25 21 38 80 37  |.   .FS%:.B%!8.7|
00000b50  8c 0d 03 7a 22 20 20 20  c8 99 22 57 69 6d 70 5f  |...z"   .."Wimp_|
00000b60  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 42 25  |CloseWindow",,B%|
00000b70  2b 31 32 0d 03 84 32 20  20 20 57 4d 25 3d eb 3a  |+12...2   WM%=.:|
00000b80  4a 25 3d 32 3a f2 46 75  6c 6c 28 30 2c 4a 25 29  |J%=2:.Full(0,J%)|
00000b90  3a c8 99 22 57 69 6d 70  5f 53 65 74 4d 6f 64 65  |:.."Wimp_SetMode|
00000ba0  22 2c 57 4d 25 0d 03 8e  25 20 20 20 e7 42 25 21  |",WM%...%   .B%!|
00000bb0  38 80 31 f2 50 6f 70 75  70 28 4d 45 4e 25 29 8b  |8.1.Popup(MEN%).|
00000bc0  f2 50 6f 70 75 70 28 2d  31 29 0d 03 98 08 20 20  |.Popup(-1)....  |
00000bd0  20 cd 0d 03 a2 27 20 20  20 c9 2d 32 3a e7 42 25  | ....'   .-2:.B%|
00000be0  21 31 36 3d 5a 25 4d 58  25 3d 42 25 21 30 2d 38  |!16=Z%MX%=B%!0-8|
00000bf0  30 3a 4d 59 25 3d 32 33  30 0d 03 ac 2a 20 20 20  |0:MY%=230...*   |
00000c00  20 20 20 f2 53 65 6c 65  63 74 28 52 4f 25 2c 21  |   .Select(RO%,!|
00000c10  52 25 3d 30 29 3a f2 50  6f 70 75 70 28 4d 45 4e  |R%=0):.Popup(MEN|
00000c20  55 25 29 0d 03 b6 1e 20  20 20 7f 3a f2 57 68 69  |U%)....   .:.Whi|
00000c30  63 68 28 42 25 21 31 32  29 3a f2 42 75 74 74 6f  |ch(B%!12):.Butto|
00000c40  6e 0d 03 c0 08 20 20 20  cb 0d 03 ca 0d c9 39 3a  |n....   ......9:|
00000c50  f2 4d 65 6e 75 73 0d 03  d4 0a c9 31 37 2c 31 38  |.Menus.....17,18|
00000c60  0d 03 de 0f 20 20 20 c8  8e 42 25 21 31 36 ca 0d  |....   ..B%!16..|
00000c70  03 e8 1e 20 20 20 c9 30  3a c8 99 22 57 69 6d 70  |...   .0:.."Wimp|
00000c80  5f 43 6c 6f 73 65 44 6f  77 6e 22 3a e0 0d 03 f2  |_CloseDown":....|
00000c90  16 20 20 20 c9 31 3a e7  42 25 21 34 30 3d 26 44  |.   .1:.B%!40=&D|
00000ca0  36 41 8c 0d 03 fc 47 20  20 20 20 20 20 21 42 25  |6A....G      !B%|
00000cb0  3d 36 30 3a 42 25 21 31  32 3d 42 25 21 38 3a 42  |=60:B%!12=B%!8:B|
00000cc0  25 21 31 36 3d 32 3a 42  25 21 33 36 3d 2d 31 3a  |%!16=2:B%!36=-1:|
00000cd0  24 28 42 25 2b 34 34 29  3d 22 3c 57 69 6d 70 24  |$(B%+44)="<Wimp$|
00000ce0  53 63 72 61 70 3e 22 2b  bd 30 0d 04 06 35 20 20  |Scrap>"+.0...5  |
00000cf0  20 20 20 20 c8 99 22 57  69 6d 70 5f 53 65 6e 64  |    .."Wimp_Send|
00000d00  4d 65 73 73 61 67 65 22  2c 31 37 2c 42 25 2c 42  |Message",17,B%,B|
00000d10  25 21 34 3a 53 43 52 41  50 25 3d 42 25 21 38 0d  |%!4:SCRAP%=B%!8.|
00000d20  04 10 0b 20 20 20 20 20  20 cd 0d 04 1a 18 20 20  |...      .....  |
00000d30  20 c9 33 2c 35 3a e7 42  25 21 34 30 3d 26 44 36  | .3,5:.B%!40=&D6|
00000d40  41 8c 0d 04 24 36 20 20  20 20 20 20 20 20 20 46  |A...$6         F|
00000d50  24 3d a4 5a 53 28 42 25  2b 34 34 29 3a e7 53 43  |$=.ZS(B%+44):.SC|
00000d60  52 41 50 25 3a 53 43 52  41 50 25 3d 53 43 52 41  |RAP%:SCRAP%=SCRA|
00000d70  50 25 3d 42 25 21 31 32  0d 04 2e 3f 20 20 20 20  |P%=B%!12...?    |
00000d80  20 20 20 20 20 42 25 21  31 32 3d 42 25 21 38 3a  |     B%!12=B%!8:|
00000d90  42 25 21 31 36 3d 34 3a  c8 99 22 57 69 6d 70 5f  |B%!16=4:.."Wimp_|
00000da0  53 65 6e 64 4d 65 73 73  61 67 65 22 2c 31 37 2c  |SendMessage",17,|
00000db0  42 25 2c 42 25 21 34 0d  04 38 3d 20 20 20 20 20  |B%,B%!4..8=     |
00000dc0  20 20 20 20 f2 4c 6f 61  64 41 46 69 6c 6d 28 46  |    .LoadAFilm(F|
00000dd0  24 29 3a e7 53 43 52 41  50 25 3a 53 43 52 41 50  |$):.SCRAP%:SCRAP|
00000de0  25 3d a3 3a c8 99 22 4f  53 5f 46 69 6c 65 22 2c  |%=.:.."OS_File",|
00000df0  36 2c 46 24 0d 04 42 0b  20 20 20 20 20 20 cd 0d  |6,F$..B.      ..|
00000e00  04 4c 39 20 20 20 c9 39  2c 26 34 30 30 43 31 3a  |.L9   .9,&400C1:|
00000e10  4b 25 3d 21 52 25 3a c8  95 4b 25 3a 21 28 4b 25  |K%=!R%:..K%:!(K%|
00000e20  21 34 34 29 3d 21 28 4b  25 21 34 2b 32 38 29 3a  |!44)=!(K%!4+28):|
00000e30  4b 25 3d 21 4b 25 3a ce  0d 04 56 35 20 20 20 20  |K%=!K%:...V5    |
00000e40  20 20 4d 49 25 3d a4 4d  56 61 72 28 eb 2c 39 29  |  MI%=.MVar(.,9)|
00000e50  84 a4 4d 56 61 72 28 eb  2c 34 29 3c 3c 38 84 a4  |..MVar(.,4)<<8..|
00000e60  4d 56 61 72 28 eb 2c 35  29 3c 3c 31 36 0d 04 60  |MVar(.,5)<<16..`|
00000e70  08 20 20 20 cb 0d 04 6a  05 cb 0d 04 74 06 fd 30  |.   ...j....t..0|
00000e80  0d 04 7e 04 0d 04 88 0b  dd f2 43 6c 6f 73 65 0d  |..~.......Close.|
00000e90  04 92 2b 4c 25 3d 4b 25  21 33 36 3a 4e 25 3d 4c  |..+L%=K%!36:N%=L|
00000ea0  25 3a c8 95 4e 25 21 34  30 3a 4c 25 3d 4e 25 3a  |%:..N%!40:L%=N%:|
00000eb0  4e 25 3d 4e 25 21 34 30  3a ce 0d 04 9c 0b e7 4b  |N%=N%!40:......K|
00000ec0  25 21 34 30 8c 0d 04 a6  1f e3 49 25 3d 31 32 b8  |%!40......I%=12.|
00000ed0  33 32 88 34 3a c8 94 4b  25 21 49 25 2c 4e 25 21  |32.4:..K%!I%,N%!|
00000ee0  49 25 3a ed 0d 04 b0 1c  e7 4b 25 21 31 36 3e 30  |I%:......K%!16>0|
00000ef0  4b 25 21 31 36 2d 3d 4e  25 21 38 2d 4b 25 21 38  |K%!16-=N%!8-K%!8|
00000f00  0d 04 ba 1c e7 4e 25 21  31 36 3e 30 4e 25 21 31  |.....N%!16>0N%!1|
00000f10  36 2d 3d 4b 25 21 38 2d  4e 25 21 38 0d 04 c4 3a  |6-=K%!8-N%!8...:|
00000f20  c8 99 53 4f 25 2c 26 31  33 43 2c 53 25 2c 22 58  |..SO%,&13C,S%,"X|
00000f30  22 b8 20 52 30 2c 52 31  2c 52 32 2c 52 33 3a c8  |". R0,R1,R2,R3:.|
00000f40  99 53 4f 25 2c 26 31 32  32 2c 4e 25 21 38 2c 22  |.SO%,&122,N%!8,"|
00000f50  58 22 2c 2c 2c 33 0d 04  ce 2d c8 99 53 4f 25 2c  |X",,,3...-..SO%,|
00000f60  26 31 33 43 2c 4e 25 21  38 2c 22 58 22 3a c8 99  |&13C,N%!8,"X":..|
00000f70  53 4f 25 2c 26 31 32 32  2c 53 25 2c 22 58 22 2c  |SO%,&122,S%,"X",|
00000f80  2c 2c 33 0d 04 d8 3f c8  99 53 4f 25 2c 26 31 33  |,,3...?..SO%,&13|
00000f90  43 2c 53 25 2c 22 58 22  3a c8 99 53 4f 25 2c 26  |C,S%,"X":..SO%,&|
00000fa0  31 32 32 2c 4e 25 21 38  2c 22 58 22 2c 2c 2c 33  |122,N%!8,"X",,,3|
00000fb0  3a c8 99 53 4f 25 2c 52  30 2c 52 31 2c 52 32 2c  |:..SO%,R0,R1,R2,|
00000fc0  52 33 0d 04 e2 0f f2 57  68 69 63 68 28 21 42 25  |R3.....Which(!B%|
00000fd0  29 0d 04 ec 05 cd 0d 04  f6 3e 4c 25 21 34 30 3d  |)........>L%!40=|
00000fe0  30 3a c8 99 22 57 69 6d  70 5f 43 6c 6f 73 65 57  |0:.."Wimp_CloseW|
00000ff0  69 6e 64 6f 77 22 2c 2c  42 25 3a c8 99 22 57 69  |indow",,B%:.."Wi|
00001000  6d 70 5f 44 65 6c 65 74  65 57 69 6e 64 6f 77 22  |mp_DeleteWindow"|
00001010  2c 2c 42 25 0d 05 00 14  e7 4b 25 21 33 36 3c 3e  |,,B%.....K%!36<>|
00001020  4b 25 3a 4d 25 3d 53 25  0d 05 0a 1e 21 49 25 3d  |K%:M%=S%....!I%=|
00001030  21 4b 25 3a 45 25 3d 4b  25 2b 4b 53 25 3a 4c 25  |!K%:E%=K%+KS%:L%|
00001040  3d 45 25 2d 4d 25 0d 05  14 0c e7 45 25 3c 4d 54  |=E%-M%.....E%<MT|
00001050  25 8c 0d 05 1e 15 4a 25  3d 52 25 3a 49 25 3d 21  |%.....J%=R%:I%=!|
00001060  4a 25 3a c8 95 49 25 0d  05 28 10 f2 41 64 6a 75  |J%:..I%..(..Adju|
00001070  73 74 28 21 4a 25 29 0d  05 32 3d f2 41 64 6a 75  |st(!J%)..2=.Adju|
00001080  73 74 28 49 25 21 34 29  3a f2 41 64 6a 75 73 74  |st(I%!4):.Adjust|
00001090  28 49 25 21 38 29 3a f2  41 64 6a 75 73 74 28 49  |(I%!8):.Adjust(I|
000010a0  25 21 31 32 29 3a f2 41  64 6a 75 73 74 28 49 25  |%!12):.Adjust(I%|
000010b0  21 31 36 29 0d 05 3c 30  f2 41 64 6a 75 73 74 28  |!16)..<0.Adjust(|
000010c0  49 25 21 33 36 29 3a f2  41 64 6a 75 73 74 28 49  |I%!36):.Adjust(I|
000010d0  25 21 34 30 29 3a f2 41  64 6a 75 73 74 28 49 25  |%!40):.Adjust(I%|
000010e0  21 34 34 29 0d 05 46 10  4a 25 3d 49 25 3a 49 25  |!44)..F.J%=I%:I%|
000010f0  3d 21 4a 25 0d 05 50 05  ce 0d 05 5a 1f f2 4d 6f  |=!J%..P....Z..Mo|
00001100  76 65 28 4d 25 2b 4c 25  2c 4d 25 2c 4d 54 25 2d  |ve(M%+L%,M%,MT%-|
00001110  28 4d 25 2b 4c 25 29 29  0d 05 64 05 cd 0d 05 6e  |(M%+L%))..d....n|
00001120  2e 4d 54 25 2d 3d 4c 25  3a e7 4c 4f 25 c8 99 22  |.MT%-=L%:.LO%.."|
00001130  57 69 6d 70 5f 53 6c 6f  74 53 69 7a 65 22 2c 4d  |Wimp_SlotSize",M|
00001140  54 25 2d 26 38 30 30 30  2c 2d 31 0d 05 78 05 e1  |T%-&8000,-1..x..|
00001150  0d 05 82 04 0d 05 8c 20  dd f2 41 64 6a 75 73 74  |....... ..Adjust|
00001160  28 f8 20 50 25 29 3a e7  50 25 3e 4d 25 3a 50 25  |(. P%):.P%>M%:P%|
00001170  2d 3d 4c 25 0d 05 96 05  e1 0d 05 a0 04 0d 05 aa  |-=L%............|
00001180  24 dd f2 4f 70 65 6e 3a  c8 99 22 57 69 6d 70 5f  |$..Open:.."Wimp_|
00001190  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 42 25 3a  |OpenWindow",,B%:|
000011a0  e1 0d 05 b4 04 0d 05 be  0c dd f2 52 65 64 72 61  |...........Redra|
000011b0  77 0d 05 c8 22 c8 99 22  57 69 6d 70 5f 52 65 64  |w...".."Wimp_Red|
000011c0  72 61 77 57 69 6e 64 6f  77 22 2c 2c 42 25 20 b8  |rawWindow",,B% .|
000011d0  20 46 25 0d 05 d2 33 c8  95 46 25 3a 58 25 3d 42  | F%...3..F%:X%=B|
000011e0  25 21 34 2d 42 25 21 32  30 3a 59 25 3d 42 25 21  |%!4-B%!20:Y%=B%!|
000011f0  31 36 2d 42 25 21 32 34  3a f2 52 65 64 72 61 77  |16-B%!24:.Redraw|
00001200  53 70 72 69 74 65 0d 05  dc 24 c8 99 22 57 69 6d  |Sprite...$.."Wim|
00001210  70 5f 47 65 74 52 65 63  74 61 6e 67 6c 65 22 2c  |p_GetRectangle",|
00001220  2c 42 25 20 b8 20 46 25  3a ce 0d 05 e6 05 e1 0d  |,B% . F%:.......|
00001230  05 f0 04 0d 05 fa 0c dd  f2 42 75 74 74 6f 6e 0d  |.........Button.|
00001240  06 04 0b c8 8e 42 25 21  38 ca 0d 06 0e 11 c9 31  |.....B%!8......1|
00001250  3a f2 4c 61 73 74 46 72  61 6d 65 0d 06 18 3c c9  |:.LastFrame...<.|
00001260  32 3a f2 54 69 63 6b 28  46 52 25 2c 4b 25 21 32  |2:.Tick(FR%,K%!2|
00001270  34 29 3a f2 54 69 63 6b  28 52 45 56 25 2c 4b 25  |4):.Tick(REV%,K%|
00001280  21 32 38 29 3a f2 54 69  63 6b 28 59 4f 59 4f 25  |!28):.Tick(YOYO%|
00001290  2c 4b 25 21 33 32 29 0d  06 22 2d f2 53 65 6c 65  |,K%!32).."-.Sele|
000012a0  63 74 28 4d 44 25 2c eb  3d 4d 25 21 32 38 29 3a  |ct(MD%,.=M%!28):|
000012b0  4d 58 25 3d 42 25 21 30  2d 38 30 3a 4d 59 25 3d  |MX%=B%!0-80:MY%=|
000012c0  42 25 21 34 0d 06 2c 38  f2 53 65 74 49 28 48 25  |B%!4..,8.SetI(H%|
000012d0  2c 30 2c c3 4d 25 21 32  38 29 3a f2 53 65 74 49  |,0,.M%!28):.SetI|
000012e0  28 48 25 2c 31 2c c3 21  4d 25 29 3a f2 53 65 74  |(H%,1,.!M%):.Set|
000012f0  49 28 48 25 2c 32 2c 22  4e 6f 22 29 0d 06 36 32  |I(H%,2,"No")..62|
00001300  e7 28 4d 25 21 33 36 80  33 29 3d 30 f2 53 65 74  |.(M%!36.3)=0.Set|
00001310  49 28 48 25 2c 33 2c 22  4e 6f 22 29 8b f2 53 65  |I(H%,3,"No")..Se|
00001320  74 49 28 48 25 2c 33 2c  22 59 65 73 22 29 0d 06  |tI(H%,3,"Yes")..|
00001330  40 29 f2 53 65 74 49 28  48 25 2c 34 2c c3 4d 25  |@).SetI(H%,4,.M%|
00001340  21 32 30 29 3a f2 53 65  74 49 28 48 25 2c 35 2c  |!20):.SetI(H%,5,|
00001350  c3 4d 25 21 32 34 29 0d  06 4a 19 f2 50 6f 70 75  |.M%!24)..J..Popu|
00001360  70 28 46 4d 45 4e 55 25  29 3a 4d 57 25 3d 57 25  |p(FMENU%):MW%=W%|
00001370  0d 06 54 11 c9 34 3a f2  4e 65 78 74 46 72 61 6d  |..T..4:.NextFram|
00001380  65 0d 06 5e 05 cb 0d 06  68 05 e1 0d 06 72 04 0d  |e..^....h....r..|
00001390  06 7c 0b dd f2 4d 65 6e  75 73 0d 06 86 0b c8 8e  |.|...Menus......|
000013a0  4d 45 4e 25 ca 0d 06 90  11 c9 4d 45 4e 55 25 3a  |MEN%......MENU%:|
000013b0  c8 8e 21 42 25 ca 0d 06  9a 14 20 20 20 c9 31 3a  |..!B%.....   .1:|
000013c0  f2 52 6f 6c 6c 28 31 2c  32 29 0d 06 a4 1e 20 20  |.Roll(1,2)....  |
000013d0  20 c9 32 3a c8 99 22 57  69 6d 70 5f 43 6c 6f 73  | .2:.."Wimp_Clos|
000013e0  65 44 6f 77 6e 22 3a e0  0d 06 ae 08 20 20 20 cb  |eDown":.....   .|
000013f0  0d 06 b8 1e c9 46 4d 45  4e 55 25 3a f2 57 68 69  |.....FMENU%:.Whi|
00001400  63 68 28 4d 57 25 29 3a  c8 8e 21 42 25 ca 0d 06  |ch(MW%):..!B%...|
00001410  c2 11 20 20 20 c9 30 3a  c8 8e 42 25 21 34 ca 0d  |..   .0:..B%!4..|
00001420  06 cc 2e 20 20 20 20 20  20 c9 32 3a 51 25 3d 4b  |...      .2:Q%=K|
00001430  25 3a c8 95 51 25 21 34  30 3a 51 25 3d 51 25 21  |%:..Q%!40:Q%=Q%!|
00001440  34 30 3a ce 3a f2 53 65  74 46 69 6c 6d 0d 06 d6  |40:.:.SetFilm...|
00001450  1e 20 20 20 20 20 20 4b  25 21 33 36 3d 51 25 21  |.      K%!36=Q%!|
00001460  33 36 3a 51 25 21 34 30  3d 4b 25 0d 06 e0 0b 20  |36:Q%!40=K%.... |
00001470  20 20 20 20 20 cb 0d 06  ea 16 20 20 20 c9 31 3a  |     .....   .1:|
00001480  4b 25 21 32 34 3d ac 4b  25 21 32 34 0d 06 f4 16  |K%!24=.K%!24....|
00001490  20 20 20 c9 32 3a 4b 25  21 32 38 3d ac 4b 25 21  |   .2:K%!28=.K%!|
000014a0  32 38 0d 06 fe 16 20 20  20 c9 33 3a 4b 25 21 33  |28....   .3:K%!3|
000014b0  32 3d ac 4b 25 21 33 32  0d 07 08 32 20 20 20 c9  |2=.K%!32...2   .|
000014c0  34 3a 44 50 54 52 25 3d  4d 25 2b 4d 25 21 31 36  |4:DPTR%=M%+M%!16|
000014d0  3a 53 43 52 25 3d 30 3a  f2 4e 65 78 74 46 72 61  |:SCR%=0:.NextFra|
000014e0  6d 65 3a 4b 25 21 32 38  3d b9 0d 07 12 3c 20 20  |me:K%!28=....<  |
000014f0  20 c9 35 3a 44 50 54 52  25 3d 4d 25 2b 4d 25 21  | .5:DPTR%=M%+M%!|
00001500  31 36 3a 53 43 52 25 3d  30 3a f2 4e 65 77 46 72  |16:SCR%=0:.NewFr|
00001510  61 6d 65 3a f2 4c 61 73  74 46 72 61 6d 65 3a 4b  |ame:.LastFrame:K|
00001520  25 21 32 38 3d a3 0d 07  1c 35 20 20 20 c9 36 3a  |%!28=....5   .6:|
00001530  57 4d 25 3d eb 3a 4a 25  3d 32 3a f2 46 75 6c 6c  |WM%=.:J%=2:.Full|
00001540  28 30 2c 4a 25 29 3a c8  99 22 57 69 6d 70 5f 53  |(0,J%):.."Wimp_S|
00001550  65 74 4d 6f 64 65 22 2c  57 4d 25 0d 07 26 20 20  |etMode",WM%..&  |
00001560  20 20 c9 37 3a c8 99 22  57 69 6d 70 5f 53 65 74  |  .7:.."Wimp_Set|
00001570  4d 6f 64 65 22 2c 4d 25  21 32 38 0d 07 30 08 20  |Mode",M%!28..0. |
00001580  20 20 cb 0d 07 3a 3c 20  20 20 f2 54 69 63 6b 28  |  ...:<   .Tick(|
00001590  46 52 25 2c 4b 25 21 32  34 29 3a f2 54 69 63 6b  |FR%,K%!24):.Tick|
000015a0  28 52 45 56 25 2c 4b 25  21 32 38 29 3a f2 54 69  |(REV%,K%!28):.Ti|
000015b0  63 6b 28 59 4f 59 4f 25  2c 4b 25 21 33 32 29 0d  |ck(YOYO%,K%!32).|
000015c0  07 44 1b 20 20 20 f2 53  65 6c 65 63 74 28 4d 44  |.D.   .Select(MD|
000015d0  25 2c eb 3d 4d 25 21 32  38 29 0d 07 4e 05 cb 0d  |%,.=M%!28)..N...|
000015e0  07 58 3f c8 99 22 57 69  6d 70 5f 47 65 74 50 6f  |.X?.."Wimp_GetPo|
000015f0  69 6e 74 65 72 49 6e 66  6f 22 2c 2c 42 25 3a e7  |interInfo",,B%:.|
00001600  42 25 21 38 80 31 3a f2  50 6f 70 75 70 28 4d 45  |B%!8.1:.Popup(ME|
00001610  4e 25 29 8b f2 50 6f 70  75 70 28 2d 31 29 0d 07  |N%)..Popup(-1)..|
00001620  62 05 e1 0d 07 6c 04 0d  07 76 42 dd f2 57 69 6e  |b....l...vB..Win|
00001630  64 6f 77 28 54 24 2c 42  25 21 32 38 2c 21 42 25  |dow(T$,B%!28,!B%|
00001640  2c 42 25 21 34 2c 42 25  21 38 2c 42 25 21 31 32  |,B%!4,B%!8,B%!12|
00001650  2c 42 25 21 34 30 2c 42  25 21 34 34 2c 42 25 21  |,B%!40,B%!44,B%!|
00001660  34 38 2c 42 25 21 35 32  29 0d 07 80 2d 54 24 3d  |48,B%!52)...-T$=|
00001670  41 43 45 24 2b 22 20 22  2b 54 24 2b 22 20 22 2b  |ACE$+" "+T$+" "+|
00001680  41 43 45 24 3a 54 25 3d  54 54 25 3a 54 54 25 2b  |ACE$:T%=TT%:TT%+|
00001690  3d a9 54 24 2b 31 0d 07  8a 22 e7 54 54 25 3e 54  |=.T$+1...".TT%>T|
000016a0  49 54 25 2b 31 30 30 30  3a 54 54 25 3d 54 49 54  |IT%+1000:TT%=TIT|
000016b0  25 3a 54 25 3d 54 54 25  0d 07 94 26 42 25 21 37  |%:T%=TT%...&B%!7|
000016c0  32 3d 54 25 3a 42 25 21  37 36 3d 2d 31 3a 42 25  |2=T%:B%!76=-1:B%|
000016d0  21 38 30 3d a9 54 24 3a  24 54 25 3d 54 24 0d 07  |!80=.T$:$T%=T$..|
000016e0  9e 34 42 25 21 31 36 3d  28 21 42 25 2d 42 25 21  |.4B%!16=(!B%-B%!|
000016f0  38 29 81 32 3a 42 25 21  32 30 3d 28 42 25 21 31  |8).2:B%!20=(B%!1|
00001700  32 2d 42 25 21 34 29 81  32 3a 42 25 21 32 34 3d  |2-B%!4).2:B%!24=|
00001710  2d 31 0d 07 a8 23 42 25  21 33 32 3d 26 30 31 30  |-1...#B%!32=&010|
00001720  37 30 32 30 37 3a 42 25  21 33 36 3d 26 30 30 30  |70207:B%!36=&000|
00001730  43 30 31 30 33 0d 07 b2  3d 42 25 21 35 36 3d 25  |C0103...=B%!56=%|
00001740  31 30 30 30 30 31 30 30  31 3a 42 25 21 36 30 3d  |100001001:B%!60=|
00001750  32 3c 3c 31 32 3a 42 25  21 36 34 3d 30 3a 42 25  |2<<12:B%!64=0:B%|
00001760  21 36 38 3d 26 31 30 30  30 31 3a 42 25 21 38 34  |!68=&10001:B%!84|
00001770  3d 30 0d 07 bc 22 c8 99  22 57 69 6d 70 5f 43 72  |=0...".."Wimp_Cr|
00001780  65 61 74 65 57 69 6e 64  6f 77 22 2c 2c 42 25 20  |eateWindow",,B% |
00001790  b8 20 57 25 0d 07 c6 3e  21 42 25 3d 57 25 3a c8  |. W%...>!B%=W%:.|
000017a0  99 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  |."Wimp_GetWindow|
000017b0  53 74 61 74 65 22 2c 2c  42 25 3a c8 99 22 57 69  |State",,B%:.."Wi|
000017c0  6d 70 5f 4f 70 65 6e 57  69 6e 64 6f 77 22 2c 2c  |mp_OpenWindow",,|
000017d0  42 25 0d 07 d0 05 e1 0d  07 da 04 0d 07 e4 19 dd  |B%..............|
000017e0  f2 4e 65 78 74 46 72 61  6d 65 3a f2 4e 65 77 46  |.NextFrame:.NewF|
000017f0  72 61 6d 65 0d 07 ee 32  42 25 21 34 3d 2d 33 45  |rame...2B%!4=-3E|
00001800  34 3a 42 25 21 38 3d 2d  33 45 34 3a 42 25 21 31  |4:B%!8=-3E4:B%!1|
00001810  32 3d 33 45 34 3a 42 25  21 31 36 3d 33 45 34 3a  |2=3E4:B%!16=3E4:|
00001820  21 42 25 3d 57 25 0d 07  f8 22 c8 99 22 57 69 6d  |!B%=W%...".."Wim|
00001830  70 5f 55 70 64 61 74 65  57 69 6e 64 6f 77 22 2c  |p_UpdateWindow",|
00001840  2c 42 25 20 b8 20 46 25  0d 08 02 33 c8 95 46 25  |,B% . F%...3..F%|
00001850  3a 58 25 3d 42 25 21 34  2d 42 25 21 32 30 3a 59  |:X%=B%!4-B%!20:Y|
00001860  25 3d 42 25 21 31 36 2d  42 25 21 32 34 3a f2 52  |%=B%!16-B%!24:.R|
00001870  65 64 72 61 77 53 70 72  69 74 65 0d 08 0c 24 c8  |edrawSprite...$.|
00001880  99 22 57 69 6d 70 5f 47  65 74 52 65 63 74 61 6e  |."Wimp_GetRectan|
00001890  67 6c 65 22 2c 2c 42 25  20 b8 20 46 25 3a ce 0d  |gle",,B% . F%:..|
000018a0  08 16 05 e1 0d 08 20 04  0d 08 2a 0f dd f2 4c 61  |...... ...*...La|
000018b0  73 74 46 72 61 6d 65 0d  08 34 15 e7 44 50 54 52  |stFrame..4..DPTR|
000018c0  25 3c 3e 4d 25 2b 4d 25  21 31 36 8c 0d 08 3e 13  |%<>M%+M%!16...>.|
000018d0  44 50 54 52 25 2d 3d 44  50 54 52 25 21 2d 34 0d  |DPTR%-=DPTR%!-4.|
000018e0  08 48 11 e7 28 4d 25 21  33 36 80 33 29 3d 30 8c  |.H..(M%!36.3)=0.|
000018f0  0d 08 52 2e 20 20 e7 44  50 54 52 25 3d 4d 25 2b  |..R.  .DPTR%=M%+|
00001900  4d 25 21 31 36 3a c8 95  21 44 50 54 52 25 3a 44  |M%!16:..!DPTR%:D|
00001910  50 54 52 25 2b 3d 21 44  50 54 52 25 3a ce 0d 08  |PTR%+=!DPTR%:...|
00001920  5c 20 20 20 44 50 54 52  25 2d 3d 44 50 54 52 25  |\   DPTR%-=DPTR%|
00001930  21 2d 34 3a f2 4e 65 78  74 46 72 61 6d 65 0d 08  |!-4:.NextFrame..|
00001940  66 05 cc 0d 08 70 16 20  20 e7 44 50 54 52 25 3d  |f....p.  .DPTR%=|
00001950  4d 25 2b 4d 25 21 31 36  8c 0d 08 7a 36 20 20 44  |M%+M%!16...z6  D|
00001960  50 54 52 25 2b 3d 21 44  50 54 52 25 3a c8 99 22  |PTR%+=!DPTR%:.."|
00001970  48 6f 75 72 67 6c 61 73  73 5f 4f 6e 22 3a c8 95  |Hourglass_On":..|
00001980  21 28 44 50 54 52 25 2b  21 44 50 54 52 25 29 0d  |!(DPTR%+!DPTR%).|
00001990  08 84 2e 20 20 f2 4e 65  77 46 72 61 6d 65 3a ce  |...  .NewFrame:.|
000019a0  3a c8 99 22 48 6f 75 72  67 6c 61 73 73 5f 4f 66  |:.."Hourglass_Of|
000019b0  66 22 3a f2 4e 65 78 74  46 72 61 6d 65 0d 08 8e  |f":.NextFrame...|
000019c0  07 20 20 cc 0d 08 98 3d  20 20 f2 4e 65 78 74 46  |.  ....=  .NextF|
000019d0  72 61 6d 65 3a 4b 25 21  31 32 3d 44 50 54 52 25  |rame:K%!12=DPTR%|
000019e0  2d 44 50 54 52 25 21 2d  34 3a e7 4b 25 21 31 32  |-DPTR%!-4:.K%!12|
000019f0  3d 4d 25 2b 4d 25 21 31  36 3a 4b 25 21 31 36 3d  |=M%+M%!16:K%!16=|
00001a00  30 0d 08 a2 07 20 20 cd  0d 08 ac 05 cd 0d 08 b6  |0....  .........|
00001a10  05 cd 0d 08 c0 05 e1 0d  08 ca 04 0d 08 d4 0e dd  |................|
00001a20  f2 4e 65 77 46 72 61 6d  65 0d 08 de 23 e7 21 44  |.NewFrame...#.!D|
00001a30  50 54 52 25 3d 30 3a 44  50 54 52 25 3d 4d 25 2b  |PTR%=0:DPTR%=M%+|
00001a40  4d 25 21 31 36 3a 53 43  52 25 3d 30 0d 08 e8 22  |M%!16:SCR%=0..."|
00001a50  c8 99 53 4f 25 2c 26 31  33 43 2c 53 25 2c 22 58  |..SO%,&13C,S%,"X|
00001a60  22 b8 20 52 30 2c 52 31  2c 52 32 2c 52 33 0d 08  |". R0,R1,R2,R3..|
00001a70  f2 2e c8 99 45 58 25 2c  4d 25 21 33 32 2c 44 50  |....EX%,M%!32,DP|
00001a80  54 52 25 2c 53 43 52 25  2c 4d 25 21 34 30 20 b8  |TR%,SCR%,M%!40 .|
00001a90  20 2c 44 50 54 52 25 2c  53 43 52 25 0d 08 fc 16  | ,DPTR%,SCR%....|
00001aa0  e7 28 4d 25 21 33 36 80  33 29 3d 30 53 43 52 25  |.(M%!36.3)=0SCR%|
00001ab0  3d 30 0d 09 06 15 c8 99  53 4f 25 2c 52 30 2c 52  |=0......SO%,R0,R|
00001ac0  31 2c 52 32 2c 52 33 0d  09 10 1a 4b 25 21 31 32  |1,R2,R3....K%!12|
00001ad0  3d 44 50 54 52 25 3a 4b  25 21 31 36 3d 53 43 52  |=DPTR%:K%!16=SCR|
00001ae0  25 0d 09 1a 05 e1 0d 09  24 04 0d 09 2e 10 dd f2  |%.......$.......|
00001af0  4d 61 6b 65 53 70 72 69  74 65 0d 09 38 3d 58 52  |MakeSprite..8=XR|
00001b00  25 3d a4 4d 56 61 72 28  4d 25 21 32 38 2c 34 29  |%=.MVar(M%!28,4)|
00001b10  3a 59 52 25 3d a4 4d 56  61 72 28 4d 25 21 32 38  |:YR%=.MVar(M%!28|
00001b20  2c 35 29 3a 4c 42 25 3d  a4 4d 56 61 72 28 4d 25  |,5):LB%=.MVar(M%|
00001b30  21 32 38 2c 31 30 29 0d  09 42 34 53 53 25 3d 28  |!28,10)..B4SS%=(|
00001b40  28 28 4d 25 21 32 30 3e  3e 58 52 25 29 2a 28 4d  |((M%!20>>XR%)*(M|
00001b50  25 21 32 34 3e 3e 59 52  25 29 3e 3e 33 2d 4c 42  |%!24>>YR%)>>3-LB|
00001b60  25 29 2b 31 30 30 30 29  80 ac 33 0d 09 4c 40 53  |%)+1000)..3..L@S|
00001b70  25 3d a4 41 6c 6c 6f 63  28 53 53 25 29 3a 21 53  |%=.Alloc(SS%):!S|
00001b80  25 3d 53 53 25 3a 53 25  21 34 3d 30 3a 53 25 21  |%=SS%:S%!4=0:S%!|
00001b90  38 3d 31 36 3a 53 25 21  31 32 3d 31 36 3a c8 99  |8=16:S%!12=16:..|
00001ba0  53 4f 25 2c 26 31 30 39  2c 53 25 0d 09 56 33 c8  |SO%,&109,S%..V3.|
00001bb0  99 53 4f 25 2c 26 31 30  46 2c 53 25 2c 22 58 22  |.SO%,&10F,S%,"X"|
00001bc0  2c 30 2c 4d 25 21 32 30  3e 3e 58 52 25 2c 4d 25  |,0,M%!20>>XR%,M%|
00001bd0  21 32 34 3e 3e 59 52 25  2c 4d 25 21 32 38 0d 09  |!24>>YR%,M%!28..|
00001be0  60 05 e1 0d 09 6a 04 0d  09 74 12 dd f2 52 65 64  |`....j...t...Red|
00001bf0  72 61 77 53 70 72 69 74  65 0d 09 7e 13 e7 21 43  |rawSprite..~..!C|
00001c00  54 25 3c 3e eb 3a f2 54  61 62 6c 65 0d 09 88 0f  |T%<>.:.Table....|
00001c10  e7 4d 49 25 3d 4b 25 21  34 38 8c 0d 09 92 1e 20  |.MI%=K%!48..... |
00001c20  20 20 c8 99 53 4f 25 2c  26 31 32 32 2c 53 25 2c  |  ..SO%,&122,S%,|
00001c30  22 58 22 2c 58 25 2c 59  25 0d 09 9c 05 cc 0d 09  |"X",X%,Y%.......|
00001c40  a6 28 20 20 20 c8 99 53  4f 25 2c 26 31 33 34 2c  |.(   ..SO%,&134,|
00001c50  53 25 2c 22 58 22 2c 58  25 2c 59 25 2c 30 2c 30  |S%,"X",X%,Y%,0,0|
00001c60  2c 43 54 25 2b 34 0d 09  b0 05 cd 0d 09 ba 05 e1  |,CT%+4..........|
00001c70  0d 09 c4 04 0d 09 ce 12  dd f2 4c 6f 61 64 46 69  |..........LoadFi|
00001c80  6c 6d 28 46 24 29 0d 09  d8 45 c8 99 22 4f 53 5f  |lm(F$)...E.."OS_|
00001c90  46 69 6c 65 22 2c 35 2c  46 24 20 b8 20 4f 25 2c  |File",5,F$ . O%,|
00001ca0  2c 54 25 2c 2c 4c 25 3a  e7 4f 25 3c 3e 31 85 31  |,T%,,L%:.O%<>1.1|
00001cb0  2c 22 43 61 6e 27 74 20  66 69 6e 64 20 66 69 6c  |,"Can't find fil|
00001cc0  6d 20 27 22 2b 46 24 2b  22 27 22 0d 09 e2 37 4d  |m '"+F$+"'"...7M|
00001cd0  25 3d a4 41 6c 6c 6f 63  28 4c 25 29 3a c8 99 22  |%=.Alloc(L%):.."|
00001ce0  4f 53 5f 46 69 6c 65 22  2c 26 46 46 2c 46 24 2c  |OS_File",&FF,F$,|
00001cf0  4d 25 3a 43 54 25 3d a4  41 6c 6c 6f 63 28 32 36  |M%:CT%=.Alloc(26|
00001d00  30 29 0d 09 ec 05 e1 0d  09 f6 04 0d 0a 00 13 dd  |0)..............|
00001d10  f2 4c 6f 61 64 41 46 69  6c 6d 28 45 24 29 0d 0a  |.LoadAFilm(E$)..|
00001d20  0a 1a f2 4c 6f 61 64 46  69 6c 6d 28 45 24 29 3a  |...LoadFilm(E$):|
00001d30  f2 53 65 74 46 69 6c 6d  0d 0a 14 05 e1 0d 0a 1e  |.SetFilm........|
00001d40  04 0d 0a 28 19 dd f2 53  65 74 46 69 6c 6d 3a f2  |...(...SetFilm:.|
00001d50  4d 61 6b 65 53 70 72 69  74 65 0d 0a 32 1a e7 57  |MakeSprite..2..W|
00001d60  54 25 2d 4d 25 21 32 34  3c 31 38 30 3a 57 54 25  |T%-M%!24<180:WT%|
00001d70  3d 39 35 30 0d 0a 3c 46  f2 57 69 6e 64 6f 77 28  |=950..<F.Window(|
00001d80  24 28 4d 25 2b 34 29 2c  25 31 31 31 31 2c 33 30  |$(M%+4),%1111,30|
00001d90  30 2c 57 54 25 2d 4d 25  21 32 34 2c 4d 25 21 32  |0,WT%-M%!24,M%!2|
00001da0  30 2b 33 30 30 2c 57 54  25 2c 30 2c 30 2c 4d 25  |0+300,WT%,0,0,M%|
00001db0  21 32 30 2c 4d 25 21 32  34 29 0d 0a 46 3a 57 54  |!20,M%!24)..F:WT|
00001dc0  25 2d 3d 34 38 3a 44 50  54 52 25 3d 4d 25 2b 4d  |%-=48:DPTR%=M%+M|
00001dd0  25 21 31 36 3a 53 43 52  25 3d 30 3a 43 4d 25 3d  |%!16:SCR%=0:CM%=|
00001de0  4d 25 21 32 38 3a 4b 25  3d a4 41 6c 6c 6f 63 28  |M%!28:K%=.Alloc(|
00001df0  4b 53 25 29 0d 0a 50 36  f2 4e 65 78 74 46 72 61  |KS%)..P6.NextFra|
00001e00  6d 65 3a 21 4b 25 3d 21  52 25 3a 21 52 25 3d 4b  |me:!K%=!R%:!R%=K|
00001e10  25 3a 4b 25 21 34 3d 4d  25 3a 4b 25 21 38 3d 53  |%:K%!4=M%:K%!8=S|
00001e20  25 3a 4b 25 21 32 30 3d  57 25 0d 0a 5a 41 4b 25  |%:K%!20=W%..ZAK%|
00001e30  21 32 34 3d b9 3a 4b 25  21 32 38 3d b9 3a 4b 25  |!24=.:K%!28=.:K%|
00001e40  21 33 32 3d b9 3a 4b 25  21 33 36 3d 4b 25 3a 4b  |!32=.:K%!36=K%:K|
00001e50  25 21 34 30 3d 30 3a 4b  25 21 34 34 3d 43 54 25  |%!40=0:K%!44=CT%|
00001e60  3a 21 43 54 25 3d 4d 25  21 32 38 0d 0a 64 3d 4b  |:!CT%=M%!28..d=K|
00001e70  25 21 34 38 3d a4 4d 56  61 72 28 4d 25 21 32 38  |%!48=.MVar(M%!28|
00001e80  2c 39 29 84 a4 4d 56 61  72 28 4d 25 21 32 38 2c  |,9)..MVar(M%!28,|
00001e90  34 29 3c 3c 38 84 a4 4d  56 61 72 28 4d 25 21 32  |4)<<8..MVar(M%!2|
00001ea0  38 2c 35 29 3c 3c 31 36  0d 0a 6e 05 e1 0d 0a 78  |8,5)<<16..n....x|
00001eb0  04 0d 0a 82 3e dd a4 54  65 6d 70 28 54 24 29 3a  |....>..Temp(T$):|
00001ec0  c8 99 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |.."Wimp_LoadTemp|
00001ed0  6c 61 74 65 22 2c 2c 42  25 2c 43 25 2c 51 25 2b  |late",,B%,C%,Q%+|
00001ee0  31 30 30 30 2c 2d 31 2c  54 24 b8 2c 2c 43 25 0d  |1000,-1,T$.,,C%.|
00001ef0  0a 8c 24 c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |..$.."Wimp_Creat|
00001f00  65 57 69 6e 64 6f 77 22  2c 2c 42 25 b8 54 25 3a  |eWindow",,B%.T%:|
00001f10  3d 54 25 0d 0a 96 04 0d  0a a0 0f dd f2 4d 65 6e  |=T%..........Men|
00001f20  75 54 28 54 24 29 0d 0a  aa 21 24 56 25 3d c0 54  |uT(T$)...!$V%=.T|
00001f30  24 2c 31 31 29 3a 56 25  21 31 36 3d 31 36 2a 28  |$,11):V%!16=16*(|
00001f40  a9 24 56 25 2b 31 29 0d  0a b4 2b 56 25 21 32 30  |.$V%+1)...+V%!20|
00001f50  3d 34 34 3a 56 25 21 31  32 3d 26 30 30 30 37 30  |=44:V%!12=&00070|
00001f60  32 30 37 3a 56 25 21 32  34 3d 30 3a 56 25 2b 3d  |207:V%!24=0:V%+=|
00001f70  32 38 0d 0a be 05 e1 0d  0a c8 04 0d 0a d2 12 dd  |28..............|
00001f80  f2 4d 65 6e 75 45 28 54  24 2c 46 25 29 0d 0a dc  |.MenuE(T$,F%)...|
00001f90  3a 24 28 56 25 2b 31 32  29 3d c0 54 24 2c 31 31  |:$(V%+12)=.T$,11|
00001fa0  29 3a 21 56 25 3d 46 25  3a 56 25 21 34 3d 2d 31  |):!V%=F%:V%!4=-1|
00001fb0  3a 56 25 21 38 3d 31 84  25 31 31 31 3c 3c 32 34  |:V%!8=1.%111<<24|
00001fc0  3a 56 25 2b 3d 32 34 0d  0a e6 05 e1 0d 0a f0 04  |:V%+=24.........|
00001fd0  0d 0a fa 2a dd f2 54 69  63 6b 28 54 25 2c 46 25  |...*..Tick(T%,F%|
00001fe0  29 3a e7 46 25 3a 21 54  25 3d 21 54 25 80 ac 31  |):.F%:!T%=!T%..1|
00001ff0  8b 21 54 25 3d 21 54 25  84 31 0d 0b 04 05 e1 0d  |.!T%=!T%.1......|
00002000  0b 0e 3a dd f2 53 65 6c  65 63 74 28 54 25 2c 46  |..:..Select(T%,F|
00002010  25 29 3a e7 46 25 3a 54  25 21 38 3d 54 25 21 38  |%):.F%:T%!8=T%!8|
00002020  84 31 3c 3c 32 32 8b 54  25 21 38 3d 54 25 21 38  |.1<<22.T%!8=T%!8|
00002030  80 ac 28 31 3c 3c 32 32  29 0d 0b 18 05 e1 0d 0b  |..(1<<22).......|
00002040  22 2a dd a4 5a 53 28 49  25 29 ea 41 24 3a f5 41  |"*..ZS(I%).A$:.A|
00002050  24 2b 3d bd 3f 49 25 3a  49 25 2b 3d 31 3a fd 3f  |$+=.?I%:I%+=1:.?|
00002060  49 25 3d 30 3a 3d 41 24  0d 0b 2c 04 0d 0b 36 2e  |I%=0:=A$..,...6.|
00002070  dd a4 41 6c 6c 6f 63 28  4c 25 29 3a ea 45 25 3a  |..Alloc(L%):.E%:|
00002080  e7 4c 4f 25 45 25 3d 4d  54 25 2b 4c 25 2d 26 38  |.LO%E%=MT%+L%-&8|
00002090  30 30 30 20 8b 45 25 3d  2d 31 0d 0b 40 28 c8 99  |000 .E%=-1..@(..|
000020a0  22 57 69 6d 70 5f 53 6c  6f 74 53 69 7a 65 22 2c  |"Wimp_SlotSize",|
000020b0  45 25 2c 2d 31 b8 54 25  3a 54 25 2b 3d 26 38 30  |E%,-1.T%:T%+=&80|
000020c0  30 30 0d 0b 4a 26 e7 54  25 3c 4d 54 25 2b 4c 25  |00..J&.T%<MT%+L%|
000020d0  85 31 2c 22 49 6e 73 75  66 66 69 63 69 65 6e 74  |.1,"Insufficient|
000020e0  20 6d 65 6d 6f 72 79 22  0d 0b 54 13 4d 54 25 2b  | memory"..T.MT%+|
000020f0  3d 4c 25 3a 3d 4d 54 25  2d 4c 25 0d 0b 5e 04 0d  |=L%:=MT%-L%..^..|
00002100  0b 68 22 dd f2 57 68 69  63 68 28 54 25 29 3a 57  |.h"..Which(T%):W|
00002110  25 3d 54 25 3a 4a 25 3d  52 25 3a 4b 25 3d 21 4a  |%=T%:J%=R%:K%=!J|
00002120  25 0d 0b 72 49 c8 95 4b  25 3a e7 57 25 3d 4b 25  |%..rI..K%:.W%=K%|
00002130  21 32 30 3a 4d 25 3d 4b  25 21 34 3a 53 25 3d 4b  |!20:M%=K%!4:S%=K|
00002140  25 21 38 3a 44 50 54 52  25 3d 4b 25 21 31 32 3a  |%!8:DPTR%=K%!12:|
00002150  53 43 52 25 3d 4b 25 21  31 36 3a 43 54 25 3d 4b  |SCR%=K%!16:CT%=K|
00002160  25 21 34 34 3a 49 25 3d  4a 25 0d 0b 7c 19 4a 25  |%!44:I%=J%..|.J%|
00002170  3d 4b 25 3a 4b 25 3d 21  4a 25 3a ce 3a 4b 25 3d  |=K%:K%=!J%:.:K%=|
00002180  21 49 25 0d 0b 86 05 e1  0d 0b 90 04 0d 0b 9a 1b  |!I%.............|
00002190  dd f2 4d 6f 76 65 28 41  25 2c 42 25 2c 43 25 29  |..Move(A%,B%,C%)|
000021a0  3a d6 4d 56 25 3a e1 0d  0b a4 04 0d 0b ae 39 dd  |:.MV%:........9.|
000021b0  f2 50 6f 70 75 70 28 4e  25 29 3a c8 99 22 57 69  |.Popup(N%):.."Wi|
000021c0  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2c  |mp_CreateMenu",,|
000021d0  4e 25 2c 4d 58 25 2c 4d  59 25 3a 4d 45 4e 25 3d  |N%,MX%,MY%:MEN%=|
000021e0  4e 25 3a e1 0d 0b b8 04  0d 0b c2 3a dd f2 53 65  |N%:........:..Se|
000021f0  74 49 28 57 25 2c 49 25  2c 53 24 29 3a ea 46 25  |tI(W%,I%,S$):.F%|
00002200  3a 21 42 25 3d 57 25 3a  c8 99 22 57 69 6d 70 5f  |:!B%=W%:.."Wimp_|
00002210  47 65 74 57 69 6e 64 6f  77 49 6e 66 6f 22 2c 2c  |GetWindowInfo",,|
00002220  42 25 0d 0b cc 34 e7 49  25 3e 3d 30 3a 49 25 3d  |B%...4.I%>=0:I%=|
00002230  42 25 2b 31 31 32 2b 49  25 2a 33 32 3a 46 25 3d  |B%+112+I%*32:F%=|
00002240  49 25 2d 34 8b 49 25 3d  42 25 2b 37 36 3a 46 25  |I%-4.I%=B%+76:F%|
00002250  3d 42 25 2b 36 30 0d 0b  d6 2a e7 21 46 25 80 31  |=B%+60...*.!F%.1|
00002260  3c 3c 38 3a 24 21 49 25  3d c0 53 24 2c 49 25 21  |<<8:$!I%=.S$,I%!|
00002270  38 2d 31 29 8b 24 49 25  3d c0 53 24 2c 31 31 29  |8-1).$I%=.S$,11)|
00002280  0d 0b e0 05 e1 0d 0b ea  04 0d 0b f4 20 dd f2 52  |............ ..R|
00002290  6f 6c 6c 28 52 43 25 2c  55 25 29 3a e7 52 43 25  |oll(RC%,U%):.RC%|
000022a0  3c 3d 30 3a 52 43 25 3d  31 0d 0b fe 28 57 4d 25  |<=0:RC%=1...(WM%|
000022b0  3d eb 3a f5 3a 49 25 3d  30 3a 46 4b 25 3d 30 3a  |=.:.:I%=0:FK%=0:|
000022c0  c8 95 46 4b 25 3c 3e 21  52 25 80 49 25 3c 3e 32  |..FK%<>!R%.I%<>2|
000022d0  37 0d 0c 08 25 4b 25 3d  21 52 25 3a c8 95 21 4b  |7...%K%=!R%:..!K|
000022e0  25 3c 3e 46 4b 25 3a 4b  25 3d 21 4b 25 3a ce 3a  |%<>FK%:K%=!K%:.:|
000022f0  46 4b 25 3d 4b 25 0d 0c  12 3d 4d 25 3d 4b 25 21  |FK%=K%...=M%=K%!|
00002300  34 3a 53 25 3d 4b 25 21  38 3a 44 50 54 52 25 3d  |4:S%=K%!8:DPTR%=|
00002310  4b 25 21 31 32 3a 53 43  52 25 3d 4b 25 21 31 36  |K%!12:SCR%=K%!16|
00002320  3a 57 25 3d 4b 25 21 32  30 3a 43 54 25 3d 4b 25  |:W%=K%!20:CT%=K%|
00002330  21 34 34 0d 0c 1c 1a f2  46 75 6c 6c 28 52 43 25  |!44.....Full(RC%|
00002340  2c 55 25 29 3a 4b 25 3d  21 4b 25 3a ce 0d 0c 26  |,U%):K%=!K%:...&|
00002350  1f fd 49 25 3d 32 37 3a  c8 99 22 57 69 6d 70 5f  |..I%=27:.."Wimp_|
00002360  53 65 74 4d 6f 64 65 22  2c 57 4d 25 0d 0c 30 05  |SetMode",WM%..0.|
00002370  e1 0d 0c 3a 04 0d 0c 44  1b dd f2 46 75 6c 6c 28  |...:...D...Full(|
00002380  52 4c 25 2c f8 20 57 25  29 3a ea 4a 25 3a ea 85  |RL%,. W%):.J%:..|
00002390  0d 0c 4e 3d 46 57 25 3d  4d 25 21 32 30 3a 46 48  |..N=FW%=M%!20:FH|
000023a0  25 3d 4d 25 21 32 34 3a  46 4d 25 3d 4d 25 21 32  |%=M%!24:FM%=M%!2|
000023b0  38 3a 46 57 32 25 3d 46  57 25 81 32 80 ac 33 3a  |8:FW2%=FW%.2..3:|
000023c0  46 48 32 25 3d 46 48 25  81 32 80 ac 33 0d 0c 58  |FH2%=FH%.2..3..X|
000023d0  17 54 25 3d b9 3a ea 85  3a ee 85 ea 3a f7 85 3a  |.T%=.:..:...:..:|
000023e0  54 25 3d a3 0d 0c 62 18  e7 54 25 eb 46 4d 25 2b  |T%=...b..T%.FM%+|
000023f0  31 32 38 3a f7 85 20 8b  eb 46 4d 25 0d 0c 6c 26  |128:.. ..FM%..l&|
00002400  ee 85 ea 3a f7 85 3a c8  99 22 57 69 6d 70 5f 53  |...:..:.."Wimp_S|
00002410  65 74 4d 6f 64 65 22 2c  57 4d 25 3a 85 20 9f 2c  |etMode",WM%:. .,|
00002420  f6 24 0d 0c 76 2b e7 eb  3c 3e 46 4d 25 85 31 2c  |.$..v+..<>FM%.1,|
00002430  22 4d 6f 64 65 20 66 6f  72 20 66 69 6c 6d 20 6e  |"Mode for film n|
00002440  6f 74 20 61 76 61 69 6c  61 62 6c 65 22 0d 0c 80  |ot available"...|
00002450  12 e7 a4 4d 56 61 72 28  eb 2c 39 29 3d 32 8c 0d  |...MVar(.,9)=2..|
00002460  0c 8a 26 45 25 3d 42 25  2b 31 30 30 3a c8 99 22  |..&E%=B%+100:.."|
00002470  57 69 6d 70 5f 52 65 61  64 50 61 6c 65 74 74 65  |Wimp_ReadPalette|
00002480  22 2c 2c 45 25 0d 0c 94  2d e3 49 25 3d 30 b8 31  |",,E%...-.I%=0.1|
00002490  35 3a ef 31 39 2c 49 25  2c 31 36 2c 45 25 3f 31  |5:.19,I%,16,E%?1|
000024a0  2c 45 25 3f 32 2c 45 25  3f 33 3a 45 25 2b 3d 34  |,E%?2,E%?3:E%+=4|
000024b0  3a ed 0d 0c 9e 05 cd 0d  0c a8 26 87 3a 45 25 3d  |:.........&.:E%=|
000024c0  31 3a f2 46 3a db 3a f2  46 3a db 3a 46 25 3d 52  |1:.F:.:.F:.:F%=R|
000024d0  4c 25 3e 30 3a e7 4d 4f  25 c8 97 ee 32 0d 0c b2  |L%>0:.MO%...2...|
000024e0  38 ef 32 34 2c 36 34 30  2d 46 57 32 25 3b 35 31  |8.24,640-FW2%;51|
000024f0  32 2d 46 48 32 25 3b 36  34 30 2d 46 57 32 25 2b  |2-FH2%;640-FW2%+|
00002500  46 57 25 2d 31 3b 35 31  32 2d 46 48 32 25 2b 46  |FW%-1;512-FH2%+F|
00002510  48 25 2d 31 3b 0d 0c bc  28 44 25 3d 4d 25 2b 4d  |H%-1;...(D%=M%+M|
00002520  25 21 31 36 3a 43 25 3d  30 3a 63 25 3d 2d 31 3a  |%!16:C%=0:c%=-1:|
00002530  43 4d 25 3d 46 4d 25 3a  f2 45 3a f2 46 0d 0c c6  |CM%=FM%:.E:.F...|
00002540  06 f5 f5 0d 0c d0 31 49  25 3d a6 30 3a c8 99 36  |......1I%=.0:..6|
00002550  2c 26 42 30 3a f2 52 3a  f5 c8 99 36 2c 26 42 30  |,&B0:.R:...6,&B0|
00002560  2c 2c 32 35 35 b8 2c 54  25 3a fd 54 25 3c 32 35  |,,255.,T%:.T%<25|
00002570  37 2d 57 25 0d 0c da 2b  fd 49 25 3d 32 37 84 28  |7-W%...+.I%=27.(|
00002580  52 4c 25 80 21 44 25 3d  30 29 3a 52 4c 25 2d 3d  |RL%.!D%=0):RL%-=|
00002590  31 3a fd 52 4c 25 3c 3d  30 84 49 25 3d 32 37 0d  |1:.RL%<=0.I%=27.|
000025a0  0c e4 06 f7 85 0d 0c ee  05 e1 0d 0c f8 04 0d 0d  |................|
000025b0  02 0e dd f2 52 3a e7 4d  4f 25 f2 43 0d 0d 0c 11  |....R:.MO%.C....|
000025c0  e7 46 25 8b e7 49 25 3c  30 49 25 3d a5 0d 0d 16  |.F%..I%<0I%=....|
000025d0  15 e7 49 25 3c 33 32 80  ac 42 42 43 25 f2 45 3a  |..I%<32..BBC%.E:|
000025e0  f2 46 0d 0d 20 0e e7 49  25 3c 30 80 46 25 3a e1  |.F.. ..I%<0.F%:.|
000025f0  0d 0d 2a 1d c8 99 36 2c  31 35 3a e7 42 42 43 25  |..*...6,15:.BBC%|
00002600  80 49 25 3c 3e 32 49 25  3d 97 22 2b 22 0d 0d 34  |.I%<>2I%=."+"..4|
00002610  29 e7 49 25 3d 32 3a 42  42 43 25 3d ac 42 42 43  |).I%=2:BBC%=.BBC|
00002620  25 3a 46 25 3d a3 3a 49  25 3d 97 22 46 22 3a e7  |%:F%=.:I%=."F":.|
00002630  42 42 43 25 ef 37 0d 0d  3e 13 e7 49 25 3d 33 32  |BBC%.7..>..I%=32|
00002640  3a 46 25 3d ac 46 25 3a  e1 0d 0d 48 11 e7 49 25  |:F%=.F%:...H..I%|
00002650  3d 31 33 3a 46 25 3d a3  3a e1 0d 0d 52 0a c8 8e  |=13:F%=.:...R...|
00002660  bd 49 25 ca 0d 0d 5c 2b  c9 22 46 22 2c 22 66 22  |.I%...\+."F","f"|
00002670  3a 44 25 3d 4d 25 2b 4d  25 21 31 36 3a 43 25 3d  |:D%=M%+M%!16:C%=|
00002680  30 3a 63 25 3d 2d 31 3a  f2 45 3a f2 46 3a e1 0d  |0:c%=-1:.E:.F:..|
00002690  0d 66 14 c9 22 4c 22 2c  22 6c 22 2c 22 73 22 2c  |.f.."L","l","s",|
000026a0  22 53 22 0d 0d 70 11 e7  28 4d 25 21 33 36 80 33  |"S"..p..(M%!36.3|
000026b0  29 3d 30 8c 0d 0d 7a 2c  20 20 20 e7 21 44 25 c8  |)=0...z,   .!D%.|
000026c0  95 21 28 44 25 2b 21 44  25 29 3a 44 25 2b 3d 21  |.!(D%+!D%):D%+=!|
000026d0  44 25 3a 63 25 2b 3d 31  3a ce 3a f2 45 3a f2 46  |D%:c%+=1:.:.E:.F|
000026e0  0d 0d 84 05 cc 0d 0d 8e  19 20 20 20 e7 21 44 25  |.........   .!D%|
000026f0  3a c8 95 21 44 25 3a f2  45 3a ce 3a f2 46 0d 0d  |:..!D%:.E:.:.F..|
00002700  98 05 cd 0d 0d a2 1b e7  bd 49 25 3d 22 73 22 84  |.........I%="s".|
00002710  bd 49 25 3d 22 53 22 3a  52 4c 25 3d 2d 31 0d 0d  |.I%="S":RL%=-1..|
00002720  ac 05 e1 0d 0d b6 1b c9  22 43 22 2c 22 63 22 3a  |........"C","c":|
00002730  e7 4d 4f 25 3a c8 97 87  20 8b c8 97 ee 32 0d 0d  |.MO%:... ....2..|
00002740  c0 0e 4d 4f 25 3d ac 4d  4f 25 3a e1 0d 0d ca 36  |..MO%=.MO%:....6|
00002750  c9 22 30 22 2c 22 31 22  2c 22 32 22 2c 22 33 22  |."0","1","2","3"|
00002760  2c 22 34 22 2c 22 35 22  2c 22 36 22 2c 22 37 22  |,"4","5","6","7"|
00002770  2c 22 38 22 2c 22 39 22  3a 57 25 3d bb bd 49 25  |,"8","9":W%=..I%|
00002780  3a e1 0d 0d d4 12 c9 22  2b 22 3a e7 21 44 25 f2  |:......"+":.!D%.|
00002790  45 3a f2 46 0d 0d de 0a  46 25 3d a3 3a e1 0d 0d  |E:.F....F%=.:...|
000027a0  e8 17 c9 22 2d 22 3a e7  44 25 3d 4d 25 2b 4d 25  |..."-":.D%=M%+M%|
000027b0  21 31 36 3a e1 0d 0d f2  1f e7 44 25 3e 4d 25 2b  |!16:......D%>M%+|
000027c0  4d 25 21 31 36 44 25 2d  3d 44 25 21 2d 34 3a 63  |M%!16D%-=D%!-4:c|
000027d0  25 2d 3d 31 0d 0d fc 31  e7 28 4d 25 21 33 36 80  |%-=1...1.(M%!36.|
000027e0  33 29 3c 3e 30 8b e7 44  25 3e 4d 25 2b 4d 25 21  |3)<>0..D%>M%+M%!|
000027f0  31 36 44 25 2d 3d 44 25  21 2d 34 3a 63 25 2d 3d  |16D%-=D%!-4:c%-=|
00002800  31 3a 8b 3a e1 0d 0e 06  1b e7 44 25 3d 4d 25 2b  |1:.:......D%=M%+|
00002810  4d 25 21 31 36 3a 43 25  3d 30 3a 63 25 3d 2d 31  |M%!16:C%=0:c%=-1|
00002820  0d 0e 10 0e f2 45 3a f2  46 3a 46 25 3d a3 0d 0e  |.....E:.F:F%=...|
00002830  1a 38 e7 28 4d 25 21 33  36 80 33 29 3d 30 8b 44  |.8.(M%!36.3)=0.D|
00002840  25 2d 3d 44 25 21 2d 34  3a 63 25 2d 3d 31 3a e7  |%-=D%!-4:c%-=1:.|
00002850  44 25 3d 4d 25 2b 4d 25  21 31 36 3a 43 25 3d 30  |D%=M%+M%!16:C%=0|
00002860  3a 63 25 3d 2d 31 0d 0e  24 05 e1 0d 0e 2e 0a c9  |:c%=-1..$.......|
00002870  bd 32 37 3a e1 0d 0e 38  05 cb 0d 0e 42 08 ef 37  |.27:...8....B..7|
00002880  3a e1 0d 0e 4c 04 0d 0e  56 27 dd f2 46 3a c8 99  |:...L...V'..F:..|
00002890  36 2c 26 37 31 2c 45 25  3a 45 25 3d 33 2d 45 25  |6,&71,E%:E%=3-E%|
000028a0  3a c8 99 36 2c 26 37 30  2c 45 25 3a e1 0d 0e 60  |:..6,&70,E%:...`|
000028b0  25 dd f2 45 3a e7 21 44  25 3d 30 3a 44 25 3d 4d  |%..E:.!D%=0:D%=M|
000028c0  25 2b 4d 25 21 31 36 3a  43 25 3d 30 3a 63 25 3d  |%+M%!16:C%=0:c%=|
000028d0  2d 31 0d 0e 6a 2a 63 25  2b 3d 31 3a c8 99 45 58  |-1..j*c%+=1:..EX|
000028e0  25 2c 4d 25 21 33 32 2c  44 25 2c 43 25 2c 4d 25  |%,M%!32,D%,C%,M%|
000028f0  21 34 30 20 b8 20 2c 44  25 2c 43 25 0d 0e 74 14  |!40 . ,D%,C%..t.|
00002900  e7 28 4d 25 21 33 36 80  33 29 3d 30 43 25 3d 30  |.(M%!36.3)=0C%=0|
00002910  0d 0e 7e 05 e1 0d 0e 88  04 0d 0e 92 2a dd f2 43  |..~.........*..C|
00002920  3a c8 99 53 4f 25 2c 26  31 33 43 2c 53 50 52 25  |:..SO%,&13C,SPR%|
00002930  2c 22 43 22 b8 20 52 30  2c 52 31 2c 52 32 2c 52  |,"C". R0,R1,R2,R|
00002940  33 3a db 0d 0e 9c 39 fb  32 3a fb 31 32 39 3a f1  |3:....9.2:.129:.|
00002950  3b 63 25 3b 3a c8 99 53  4f 25 2c 52 30 2c 52 31  |;c%;:..SO%,R0,R1|
00002960  2c 52 32 2c 52 33 3a c8  99 53 4f 25 2c 26 31 32  |,R2,R3:..SO%,&12|
00002970  34 2c 53 50 52 25 2c 22  43 22 2c 32 0d 0e a6 05  |4,SPR%,"C",2....|
00002980  e1 0d 0e b0 04 0d 0e ba  0b dd f2 54 61 62 6c 65  |...........Table|
00002990  0d 0e c4 41 e7 a4 4d 56  61 72 28 4d 25 21 32 38  |...A..MVar(M%!28|
000029a0  2c 39 29 3d 32 3a c8 99  22 57 69 6d 70 5f 52 65  |,9)=2:.."Wimp_Re|
000029b0  61 64 50 61 6c 65 74 74  65 22 2c 2c 42 25 2b 31  |adPalette",,B%+1|
000029c0  30 30 3a 45 25 3d 42 25  2b 31 30 30 8b 45 25 3d  |00:E%=B%+100.E%=|
000029d0  30 0d 0e ce 3b c8 99 22  43 6f 6c 6f 75 72 54 72  |0...;.."ColourTr|
000029e0  61 6e 73 5f 53 65 6c 65  63 74 54 61 62 6c 65 22  |ans_SelectTable"|
000029f0  2c 4d 25 21 32 38 2c 45  25 2c 2d 31 2c 2d 31 2c  |,M%!28,E%,-1,-1,|
00002a00  43 54 25 2b 34 3a 21 43  54 25 3d eb 0d 0e d8 05  |CT%+4:!CT%=.....|
00002a10  e1 0d 0e e2 04 0d 0e ec  0b dd f2 45 72 72 6f 72  |...........Error|
00002a20  0d 0e f6 45 21 42 25 3d  9f 3a 24 28 42 25 2b 34  |...E!B%=.:$(B%+4|
00002a30  29 3d f6 24 3a 56 25 3d  32 3a c8 99 22 58 57 69  |)=.$:V%=2:.."XWi|
00002a40  6d 70 5f 52 65 70 6f 72  74 45 72 72 6f 72 22 2c  |mp_ReportError",|
00002a50  42 25 2c 25 31 31 2c 22  50 72 6f 6a 65 63 74 6f  |B%,%11,"Projecto|
00002a60  72 22 b8 56 25 0d 0f 00  0b e7 56 25 3d 32 3a e0  |r".V%.....V%=2:.|
00002a70  0d 0f 0a 05 e1 0d 0f 14  04 0d 0f 1e 38 dd a4 4d  |............8..M|
00002a80  56 61 72 28 4e 25 2c 56  25 29 3a c8 99 22 4f 53  |Var(N%,V%):.."OS|
00002a90  5f 52 65 61 64 4d 6f 64  65 56 61 72 69 61 62 6c  |_ReadModeVariabl|
00002aa0  65 22 2c 4e 25 2c 56 25  b8 2c 2c 56 25 3a 3d 56  |e",N%,V%.,,V%:=V|
00002ab0  25 0d ff                                          |%..|
00002ab3