Home » Archimedes archive » Acorn Computing » 1993 09 Mega Disk.adf » 93_09 » Imagery/!Install/!Inst_Imag

Imagery/!Install/!Inst_Imag

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn Computing » 1993 09 Mega Disk.adf » 93_09
Filename: Imagery/!Install/!Inst_Imag
Read OK:
File size: 0DC6 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM ><Imagery$Dir>.!Inst_Imag
   20ON ERROR PROCmakerr
   30PROCsetup
   40PROCaction
   50PROCdie
   60END
   70DEFPROCsetup
   80DIM POI% 256,TAS% 2000,BLK% 1000,MENU% 1000,SEL% 256,ICBLK% 256,VARS 32,PIXTAB% 256,IO% 64
   90ESM%=-1:SYS "Wimp_SlotSize",-1,-1 TO ISS%
  100$TAS%="TASK":SYS"Wimp_Initialise",200,!TAS%,"Imagery Install" TO HAND%
  110!BLK%=-1:BLK%!4=0:BLK%!8=0:BLK%!12=64:BLK%!16=64:BLK%!20=&2102
  120DIM BLK%!24 10:$(BLK%!24)="!Imagery":BLK%!32=10
  130DIM MENU 5*1024,MENUIND% 5*1024
  140NOWIND%=0:NOMENS%=0
  150DIM STORE% 4*1024,BUF% 2048,HAND%(NOWIND%):SOF%=STORE%
  160REM SYS "Wimp_CreateIcon",,BLK% TO ICHAND%
  170SYS "Wimp_OpenTemplate",,"<Imagery$Dir>.Inst_Temps"
  180DATA Install
  190RESTORE 180
  200FORK%=0 TO NOWIND%:READ A$:$IO%=A$
  210SYS "Wimp_LoadTemplate",,BUF%,SOF%,STORE%+(4*1024),-1,IO%,0 TO ,,SOF%
  220SYS "Wimp_CreateWindow",,BUF% TO HAND%(K%)
  230NEXT
  240SYS "Wimp_CloseTemplate"
  250
  260PROCopenmain
  270
  280DIM INST% 5*1024
  290
  300ENDPROC
  310
  320DEFPROCloadsprites
  330DIM SPRITES% 2000
  340!SPRITES%=2000:SPRITES%!4=0:SPRITES%!8=16:SPRITES%!12=16:SYS &2E,266,SPRITES%,"<Imagery$Dir>.!Sprites"
  350ENDPROC
  360
  370DEFPROCaction
  380REPEAT
  390PROCpoll
  400UNTIL (REAS%=17 OR REAS%=18) AND BLK%!16=0
  410ENDPROC
  420
  430DEFPROCdie:OP%=0
  440SYS "Wimp_CloseDown",HAND%,!TAS%
  450END
  460ENDPROC
  470
  480DEFPROCpoll
  490!BLK%=%10011111110100110011
  500SYS "Wimp_Poll",0,BLK% TO REAS%
  510IF REAS%>-1 THEN PROCact
  520ENDPROC
  530DEFPROCact
  540CASE REAS% OF
  550WHEN 2:PROCopmain
  560WHEN 3:PROCclmain
  570WHEN 6:PROCmouse
  580WHEN 9:PROCmenu
  590WHEN 7:PROCdragfin
  600WHEN 17,18:PROCinmessage(BLK%!16)
  610ENDCASE
  620ENDPROC
  630
  640DEFPROCopenmain
  650!BLK%=HAND%(0):BLK%!4=356:BLK%!8=356:BLK%!12=922:BLK%!16=664:BLK%!20=0:BLK%!24=0:BLK%!28=-1:SYS "Wimp_OpenWindow",,BLK%
  660ENDPROC
  670
  680DEFPROCopmain
  690SYS "Wimp_OpenWindow",,BLK%
  700ENDPROC
  710
  720DEFPROCclmain
  730PROCdie
  740SYS "Wimp_CloseWindow",,BLK%
  750ENDPROC
  760
  770DEFPROCmakerr
  780SYS "Wimp_DragBox",,0
  790!BLK%=ERR
  800ER=TRUE
  810CASE ERR OF
  820WHEN 222:$(BLK%+4)="File cannot be found"+CHR$(0):ER=FALSE
  830OTHERWISE
  840$(BLK%+4)=REPORT$+" at line "+STR$ERL+CHR$(0)
  850ENDCASE
  860SYS "Wimp_ReportError",BLK%,1,"Imagery Installation"
  870IF ER THEN PROCdie ELSE PROCaction:END
  880ENDPROC
  890
  900DEFPROCmessage(M%,M$)
  910SYS "Wimp_DragBox",,0:!BLK%=M%:$(BLK%+4)=M$+CHR$(0):SYS "Wimp_ReportError",BLK%,1,"Imagery Installation":PROCaction:END
  920ENDPROC
  930
  940DEFPROCmouse
  950MOUX%=!BLK%:MOUY%=BLK%!4:MOUB%=BLK%!8:MOUH%=BLK%!12
  960IF MOUB%=1 OR MOUB%=4 THEN MOUC%=4 ELSE MOUC%=2
  970CASE MOUC% OF
  980WHEN 4:IF MOUH%=HAND%(0) AND BLK%!16=20 THEN PROCinstall
  990ENDCASE
 1000ENDPROC
 1010
 1020DEFFNgstr(AD%):W$="":IF ?AD%<32 THEN =W$ ELSE REPEAT:W$=W$+CHR$(?AD%):AD%+=1:UNTIL ?AD%<32:=W$
 1030
 1040DEFFNgeticon(WH%,IC%):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:SYS "Wimp_GetIconState",,ICBLK%:=FNgstr(!(ICBLK%+28))
 1050
 1060DEFPROCseticon(WH%,IC%,SET$):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:SYS "Wimp_GetIconState",,ICBLK%:ICBLK%!8=0:ICBLK%!12=0:$(ICBLK%!28)=SET$:SYS "Wimp_SetIconState",,ICBLK%:ENDPROC
 1070
 1080DEFFNhigh(WH%,IC%):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:SYS "Wimp_GetIconState",,ICBLK%:=((?(ICBLK%+26)) AND %100000)=32
 1090
 1100DEFPROCpoint:SYS "Wimp_GetPointerInfo",,POI%:MOX%=!POI%:MOY%=POI%!4:MOB%=POI%!8:MOH%=POI%!12:ENDPROC
 1110
 1120DEFPROCinmessage(M%)
 1130CASE M% OF
 1140WHEN 0:PROCdie
 1150ENDCASE:ENDPROC
 1160
 1170DEFFNgetname:W$="":P%=BLK%+44:WHILE ?P%<>0 AND ?P%<>13:W$=W$+CHR$(?P%):P%+=1:ENDWHILE:=W$
 1180
 1190-------------------------------------------------------------------------
 1200
 1210DEFPROCinstall
 1220N$=FNgeticon(0,14)
 1230P$=FNgeticon(0,17)
 1240IF LEN(N$)<4 THEN PROCmessage(0,"Your name must be at least four characters long.")
 1250IF LEN(P$)<2 THEN PROCmessage(0,"Your postcode must be at least two characters long.")
 1260
 1270F%=OPENUP("<Imagery$Dir>.!Install"):IF F%=0 THEN PROCmessage(0,"Can't find !Install file.") ELSE CLOSE#F%
 1280
 1290OSCLI("LOAD <Imagery$Dir>.!Install "+STR$~(INST%))
 1300$(INST%+40)=N$:$(INST%+40+28)=P$
 1310W%=INST%!40
 1320CALL INST%
 1330IF INST%!40<>W% THEN EAD%=INST%!40:PROCmessage(!EAD%,FNgstr(EAD%+4)) ELSE PROCdie
 1340ENDPROC

� ><Imagery$Dir>.!Inst_Imag
� � �makerr

�setup
(�action
2�die
<�
F��setup
P\� POI% 256,TAS% 2000,BLK% 1000,MENU% 1000,SEL% 256,ICBLK% 256,VARS 32,PIXTAB% 256,IO% 64
Z+ESM%=-1:ș "Wimp_SlotSize",-1,-1 � ISS%
dH$TAS%="TASK":ș"Wimp_Initialise",200,!TAS%,"Imagery Install" � HAND%
nB!BLK%=-1:BLK%!4=0:BLK%!8=0:BLK%!12=64:BLK%!16=64:BLK%!20=&2102
x1� BLK%!24 10:$(BLK%!24)="!Imagery":BLK%!32=10
�!� MENU 5*1024,MENUIND% 5*1024
�NOWIND%=0:NOMENS%=0
�8� STORE% 4*1024,BUF% 2048,HAND%(NOWIND%):SOF%=STORE%
�,� SYS "Wimp_CreateIcon",,BLK% TO ICHAND%
�6ș "Wimp_OpenTemplate",,"<Imagery$Dir>.Inst_Temps"
�
� Install
�
� �tt@
� �K%=0 � NOWIND%:� A$:$IO%=A$
�Gș "Wimp_LoadTemplate",,BUF%,SOF%,STORE%+(4*1024),-1,IO%,0 � ,,SOF%
�,ș "Wimp_CreateWindow",,BUF% � HAND%(K%)
��
�ș "Wimp_CloseTemplate"
�

�openmain

� INST% 5*1024
"
,�
6
@��loadsprites
J� SPRITES% 2000
Ti!SPRITES%=2000:SPRITES%!4=0:SPRITES%!8=16:SPRITES%!12=16:ș &2E,266,SPRITES%,"<Imagery$Dir>.!Sprites"
^�
h
r��action
|�
�	�poll
�'� (REAS%=17 � REAS%=18) � BLK%!16=0
��
�
���die:OP%=0
�#ș "Wimp_CloseDown",HAND%,!TAS%
��
��
�
�
��poll
�!BLK%=%10011111110100110011
�!ș "Wimp_Poll",0,BLK% � REAS%
�� REAS%>-1 � �act
�
	��act
Ȏ REAS% �
&� 2:�opmain
0� 3:�clmain
:� 6:�mouse
D
� 9:�menu
N� 7:�dragfin
X� 17,18:�inmessage(BLK%!16)
b�
l�
v
���openmain
�z!BLK%=HAND%(0):BLK%!4=356:BLK%!8=356:BLK%!12=922:BLK%!16=664:BLK%!20=0:BLK%!24=0:BLK%!28=-1:ș "Wimp_OpenWindow",,BLK%
��
�
���opmain
�ș "Wimp_OpenWindow",,BLK%
��
�
���clmain
��die
�ș "Wimp_CloseWindow",,BLK%
��
�
��makerr
ș "Wimp_DragBox",,0
!BLK%=�
 ER=�
*
Ȏ � �
44� 222:$(BLK%+4)="File cannot be found"+�(0):ER=�
>
H$$(BLK%+4)=�$+" at line "+Þ+�(0)
R�
\7ș "Wimp_ReportError",BLK%,1,"Imagery Installation"
f� ER � �die � �action:�
p�
z
���message(M%,M$)
�qș "Wimp_DragBox",,0:!BLK%=M%:$(BLK%+4)=M$+�(0):ș "Wimp_ReportError",BLK%,1,"Imagery Installation":�action:�
��
�
���mouse
�7MOUX%=!BLK%:MOUY%=BLK%!4:MOUB%=BLK%!8:MOUH%=BLK%!12
�+� MOUB%=1 � MOUB%=4 � MOUC%=4 � MOUC%=2
�Ȏ MOUC% �
�0� 4:� MOUH%=HAND%(0) � BLK%!16=20 � �install
��
��
�
�Lݤgstr(AD%):W$="":� ?AD%<32 � =W$ � �:W$=W$+�(?AD%):AD%+=1:� ?AD%<32:=W$

jݤgeticon(WH%,IC%):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:ș "Wimp_GetIconState",,ICBLK%:=�gstr(!(ICBLK%+28))

$���seticon(WH%,IC%,SET$):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:ș "Wimp_GetIconState",,ICBLK%:ICBLK%!8=0:ICBLK%!12=0:$(ICBLK%!28)=SET$:ș "Wimp_SetIconState",,ICBLK%:�
.
8qݤhigh(WH%,IC%):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:ș "Wimp_GetIconState",,ICBLK%:=((?(ICBLK%+26)) � %100000)=32
B
L\��point:ș "Wimp_GetPointerInfo",,POI%:MOX%=!POI%:MOY%=POI%!4:MOB%=POI%!8:MOH%=POI%!12:�
V
`��inmessage(M%)
jȎ M% �
t� 0:�die
~�:�
�
�Kݤgetname:W$="":P%=BLK%+44:ȕ ?P%<>0 � ?P%<>13:W$=W$+�(?P%):P%+=1:�:=W$
�
�M-------------------------------------------------------------------------
�
�
��install
�N$=�geticon(0,14)
�P$=�geticon(0,17)
�N� �(N$)<4 � �message(0,"Your name must be at least four characters long.")
�Q� �(P$)<2 � �message(0,"Your postcode must be at least two characters long.")
�
�ZF%=�("<Imagery$Dir>.!Install"):� F%=0 � �message(0,"Can't find !Install file.") � �#F%


/�("LOAD <Imagery$Dir>.!Install "+�~(INST%))
$$(INST%+40)=N$:$(INST%+40+28)=P$
W%=INST%!40
(� INST%
2G� INST%!40<>W% � EAD%=INST%!40:�message(!EAD%,�gstr(EAD%+4)) � �die
<�
�
00000000  0d 00 0a 1f f4 20 3e 3c  49 6d 61 67 65 72 79 24  |..... ><Imagery$|
00000010  44 69 72 3e 2e 21 49 6e  73 74 5f 49 6d 61 67 0d  |Dir>.!Inst_Imag.|
00000020  00 14 0f ee 20 85 20 f2  6d 61 6b 65 72 72 0d 00  |.... . .makerr..|
00000030  1e 0a f2 73 65 74 75 70  0d 00 28 0b f2 61 63 74  |...setup..(..act|
00000040  69 6f 6e 0d 00 32 08 f2  64 69 65 0d 00 3c 05 e0  |ion..2..die..<..|
00000050  0d 00 46 0b dd f2 73 65  74 75 70 0d 00 50 5c de  |..F...setup..P\.|
00000060  20 50 4f 49 25 20 32 35  36 2c 54 41 53 25 20 32  | POI% 256,TAS% 2|
00000070  30 30 30 2c 42 4c 4b 25  20 31 30 30 30 2c 4d 45  |000,BLK% 1000,ME|
00000080  4e 55 25 20 31 30 30 30  2c 53 45 4c 25 20 32 35  |NU% 1000,SEL% 25|
00000090  36 2c 49 43 42 4c 4b 25  20 32 35 36 2c 56 41 52  |6,ICBLK% 256,VAR|
000000a0  53 20 33 32 2c 50 49 58  54 41 42 25 20 32 35 36  |S 32,PIXTAB% 256|
000000b0  2c 49 4f 25 20 36 34 0d  00 5a 2b 45 53 4d 25 3d  |,IO% 64..Z+ESM%=|
000000c0  2d 31 3a c8 99 20 22 57  69 6d 70 5f 53 6c 6f 74  |-1:.. "Wimp_Slot|
000000d0  53 69 7a 65 22 2c 2d 31  2c 2d 31 20 b8 20 49 53  |Size",-1,-1 . IS|
000000e0  53 25 0d 00 64 48 24 54  41 53 25 3d 22 54 41 53  |S%..dH$TAS%="TAS|
000000f0  4b 22 3a c8 99 22 57 69  6d 70 5f 49 6e 69 74 69  |K":.."Wimp_Initi|
00000100  61 6c 69 73 65 22 2c 32  30 30 2c 21 54 41 53 25  |alise",200,!TAS%|
00000110  2c 22 49 6d 61 67 65 72  79 20 49 6e 73 74 61 6c  |,"Imagery Instal|
00000120  6c 22 20 b8 20 48 41 4e  44 25 0d 00 6e 42 21 42  |l" . HAND%..nB!B|
00000130  4c 4b 25 3d 2d 31 3a 42  4c 4b 25 21 34 3d 30 3a  |LK%=-1:BLK%!4=0:|
00000140  42 4c 4b 25 21 38 3d 30  3a 42 4c 4b 25 21 31 32  |BLK%!8=0:BLK%!12|
00000150  3d 36 34 3a 42 4c 4b 25  21 31 36 3d 36 34 3a 42  |=64:BLK%!16=64:B|
00000160  4c 4b 25 21 32 30 3d 26  32 31 30 32 0d 00 78 31  |LK%!20=&2102..x1|
00000170  de 20 42 4c 4b 25 21 32  34 20 31 30 3a 24 28 42  |. BLK%!24 10:$(B|
00000180  4c 4b 25 21 32 34 29 3d  22 21 49 6d 61 67 65 72  |LK%!24)="!Imager|
00000190  79 22 3a 42 4c 4b 25 21  33 32 3d 31 30 0d 00 82  |y":BLK%!32=10...|
000001a0  21 de 20 4d 45 4e 55 20  35 2a 31 30 32 34 2c 4d  |!. MENU 5*1024,M|
000001b0  45 4e 55 49 4e 44 25 20  35 2a 31 30 32 34 0d 00  |ENUIND% 5*1024..|
000001c0  8c 17 4e 4f 57 49 4e 44  25 3d 30 3a 4e 4f 4d 45  |..NOWIND%=0:NOME|
000001d0  4e 53 25 3d 30 0d 00 96  38 de 20 53 54 4f 52 45  |NS%=0...8. STORE|
000001e0  25 20 34 2a 31 30 32 34  2c 42 55 46 25 20 32 30  |% 4*1024,BUF% 20|
000001f0  34 38 2c 48 41 4e 44 25  28 4e 4f 57 49 4e 44 25  |48,HAND%(NOWIND%|
00000200  29 3a 53 4f 46 25 3d 53  54 4f 52 45 25 0d 00 a0  |):SOF%=STORE%...|
00000210  2c f4 20 53 59 53 20 22  57 69 6d 70 5f 43 72 65  |,. SYS "Wimp_Cre|
00000220  61 74 65 49 63 6f 6e 22  2c 2c 42 4c 4b 25 20 54  |ateIcon",,BLK% T|
00000230  4f 20 49 43 48 41 4e 44  25 0d 00 aa 36 c8 99 20  |O ICHAND%...6.. |
00000240  22 57 69 6d 70 5f 4f 70  65 6e 54 65 6d 70 6c 61  |"Wimp_OpenTempla|
00000250  74 65 22 2c 2c 22 3c 49  6d 61 67 65 72 79 24 44  |te",,"<Imagery$D|
00000260  69 72 3e 2e 49 6e 73 74  5f 54 65 6d 70 73 22 0d  |ir>.Inst_Temps".|
00000270  00 b4 0d dc 20 49 6e 73  74 61 6c 6c 0d 00 be 0a  |.... Install....|
00000280  f7 20 8d 74 74 40 0d 00  c8 20 e3 4b 25 3d 30 20  |. .tt@... .K%=0 |
00000290  b8 20 4e 4f 57 49 4e 44  25 3a f3 20 41 24 3a 24  |. NOWIND%:. A$:$|
000002a0  49 4f 25 3d 41 24 0d 00  d2 47 c8 99 20 22 57 69  |IO%=A$...G.. "Wi|
000002b0  6d 70 5f 4c 6f 61 64 54  65 6d 70 6c 61 74 65 22  |mp_LoadTemplate"|
000002c0  2c 2c 42 55 46 25 2c 53  4f 46 25 2c 53 54 4f 52  |,,BUF%,SOF%,STOR|
000002d0  45 25 2b 28 34 2a 31 30  32 34 29 2c 2d 31 2c 49  |E%+(4*1024),-1,I|
000002e0  4f 25 2c 30 20 b8 20 2c  2c 53 4f 46 25 0d 00 dc  |O%,0 . ,,SOF%...|
000002f0  2c c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  |,.. "Wimp_Create|
00000300  57 69 6e 64 6f 77 22 2c  2c 42 55 46 25 20 b8 20  |Window",,BUF% . |
00000310  48 41 4e 44 25 28 4b 25  29 0d 00 e6 05 ed 0d 00  |HAND%(K%).......|
00000320  f0 1b c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |.... "Wimp_Close|
00000330  54 65 6d 70 6c 61 74 65  22 0d 00 fa 04 0d 01 04  |Template".......|
00000340  0d f2 6f 70 65 6e 6d 61  69 6e 0d 01 0e 04 0d 01  |..openmain......|
00000350  18 12 de 20 49 4e 53 54  25 20 35 2a 31 30 32 34  |... INST% 5*1024|
00000360  0d 01 22 04 0d 01 2c 05  e1 0d 01 36 04 0d 01 40  |.."...,....6...@|
00000370  11 dd f2 6c 6f 61 64 73  70 72 69 74 65 73 0d 01  |...loadsprites..|
00000380  4a 13 de 20 53 50 52 49  54 45 53 25 20 32 30 30  |J.. SPRITES% 200|
00000390  30 0d 01 54 69 21 53 50  52 49 54 45 53 25 3d 32  |0..Ti!SPRITES%=2|
000003a0  30 30 30 3a 53 50 52 49  54 45 53 25 21 34 3d 30  |000:SPRITES%!4=0|
000003b0  3a 53 50 52 49 54 45 53  25 21 38 3d 31 36 3a 53  |:SPRITES%!8=16:S|
000003c0  50 52 49 54 45 53 25 21  31 32 3d 31 36 3a c8 99  |PRITES%!12=16:..|
000003d0  20 26 32 45 2c 32 36 36  2c 53 50 52 49 54 45 53  | &2E,266,SPRITES|
000003e0  25 2c 22 3c 49 6d 61 67  65 72 79 24 44 69 72 3e  |%,"<Imagery$Dir>|
000003f0  2e 21 53 70 72 69 74 65  73 22 0d 01 5e 05 e1 0d  |.!Sprites"..^...|
00000400  01 68 04 0d 01 72 0c dd  f2 61 63 74 69 6f 6e 0d  |.h...r...action.|
00000410  01 7c 05 f5 0d 01 86 09  f2 70 6f 6c 6c 0d 01 90  |.|.......poll...|
00000420  27 fd 20 28 52 45 41 53  25 3d 31 37 20 84 20 52  |'. (REAS%=17 . R|
00000430  45 41 53 25 3d 31 38 29  20 80 20 42 4c 4b 25 21  |EAS%=18) . BLK%!|
00000440  31 36 3d 30 0d 01 9a 05  e1 0d 01 a4 04 0d 01 ae  |16=0............|
00000450  0f dd f2 64 69 65 3a 4f  50 25 3d 30 0d 01 b8 23  |...die:OP%=0...#|
00000460  c8 99 20 22 57 69 6d 70  5f 43 6c 6f 73 65 44 6f  |.. "Wimp_CloseDo|
00000470  77 6e 22 2c 48 41 4e 44  25 2c 21 54 41 53 25 0d  |wn",HAND%,!TAS%.|
00000480  01 c2 05 e0 0d 01 cc 05  e1 0d 01 d6 04 0d 01 e0  |................|
00000490  0a dd f2 70 6f 6c 6c 0d  01 ea 1f 21 42 4c 4b 25  |...poll....!BLK%|
000004a0  3d 25 31 30 30 31 31 31  31 31 31 31 30 31 30 30  |=%10011111110100|
000004b0  31 31 30 30 31 31 0d 01  f4 21 c8 99 20 22 57 69  |110011...!.. "Wi|
000004c0  6d 70 5f 50 6f 6c 6c 22  2c 30 2c 42 4c 4b 25 20  |mp_Poll",0,BLK% |
000004d0  b8 20 52 45 41 53 25 0d  01 fe 15 e7 20 52 45 41  |. REAS%..... REA|
000004e0  53 25 3e 2d 31 20 8c 20  f2 61 63 74 0d 02 08 05  |S%>-1 . .act....|
000004f0  e1 0d 02 12 09 dd f2 61  63 74 0d 02 1c 0e c8 8e  |.......act......|
00000500  20 52 45 41 53 25 20 ca  0d 02 26 0f c9 20 32 3a  | REAS% ...&.. 2:|
00000510  f2 6f 70 6d 61 69 6e 0d  02 30 0f c9 20 33 3a f2  |.opmain..0.. 3:.|
00000520  63 6c 6d 61 69 6e 0d 02  3a 0e c9 20 36 3a f2 6d  |clmain..:.. 6:.m|
00000530  6f 75 73 65 0d 02 44 0d  c9 20 39 3a f2 6d 65 6e  |ouse..D.. 9:.men|
00000540  75 0d 02 4e 10 c9 20 37  3a f2 64 72 61 67 66 69  |u..N.. 7:.dragfi|
00000550  6e 0d 02 58 1f c9 20 31  37 2c 31 38 3a f2 69 6e  |n..X.. 17,18:.in|
00000560  6d 65 73 73 61 67 65 28  42 4c 4b 25 21 31 36 29  |message(BLK%!16)|
00000570  0d 02 62 05 cb 0d 02 6c  05 e1 0d 02 76 04 0d 02  |..b....l....v...|
00000580  80 0e dd f2 6f 70 65 6e  6d 61 69 6e 0d 02 8a 7a  |....openmain...z|
00000590  21 42 4c 4b 25 3d 48 41  4e 44 25 28 30 29 3a 42  |!BLK%=HAND%(0):B|
000005a0  4c 4b 25 21 34 3d 33 35  36 3a 42 4c 4b 25 21 38  |LK%!4=356:BLK%!8|
000005b0  3d 33 35 36 3a 42 4c 4b  25 21 31 32 3d 39 32 32  |=356:BLK%!12=922|
000005c0  3a 42 4c 4b 25 21 31 36  3d 36 36 34 3a 42 4c 4b  |:BLK%!16=664:BLK|
000005d0  25 21 32 30 3d 30 3a 42  4c 4b 25 21 32 34 3d 30  |%!20=0:BLK%!24=0|
000005e0  3a 42 4c 4b 25 21 32 38  3d 2d 31 3a c8 99 20 22  |:BLK%!28=-1:.. "|
000005f0  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
00000600  2c 2c 42 4c 4b 25 0d 02  94 05 e1 0d 02 9e 04 0d  |,,BLK%..........|
00000610  02 a8 0c dd f2 6f 70 6d  61 69 6e 0d 02 b2 1e c8  |.....opmain.....|
00000620  99 20 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |. "Wimp_OpenWind|
00000630  6f 77 22 2c 2c 42 4c 4b  25 0d 02 bc 05 e1 0d 02  |ow",,BLK%.......|
00000640  c6 04 0d 02 d0 0c dd f2  63 6c 6d 61 69 6e 0d 02  |........clmain..|
00000650  da 08 f2 64 69 65 0d 02  e4 1f c8 99 20 22 57 69  |...die...... "Wi|
00000660  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
00000670  2c 42 4c 4b 25 0d 02 ee  05 e1 0d 02 f8 04 0d 03  |,BLK%...........|
00000680  02 0c dd f2 6d 61 6b 65  72 72 0d 03 0c 18 c8 99  |....makerr......|
00000690  20 22 57 69 6d 70 5f 44  72 61 67 42 6f 78 22 2c  | "Wimp_DragBox",|
000006a0  2c 30 0d 03 16 0b 21 42  4c 4b 25 3d 9f 0d 03 20  |,0....!BLK%=... |
000006b0  08 45 52 3d b9 0d 03 2a  0a c8 8e 20 9f 20 ca 0d  |.ER=...*... . ..|
000006c0  03 34 34 c9 20 32 32 32  3a 24 28 42 4c 4b 25 2b  |.44. 222:$(BLK%+|
000006d0  34 29 3d 22 46 69 6c 65  20 63 61 6e 6e 6f 74 20  |4)="File cannot |
000006e0  62 65 20 66 6f 75 6e 64  22 2b bd 28 30 29 3a 45  |be found"+.(0):E|
000006f0  52 3d a3 0d 03 3e 05 7f  0d 03 48 24 24 28 42 4c  |R=...>....H$$(BL|
00000700  4b 25 2b 34 29 3d f6 24  2b 22 20 61 74 20 6c 69  |K%+4)=.$+" at li|
00000710  6e 65 20 22 2b c3 9e 2b  bd 28 30 29 0d 03 52 05  |ne "+..+.(0)..R.|
00000720  cb 0d 03 5c 37 c8 99 20  22 57 69 6d 70 5f 52 65  |...\7.. "Wimp_Re|
00000730  70 6f 72 74 45 72 72 6f  72 22 2c 42 4c 4b 25 2c  |portError",BLK%,|
00000740  31 2c 22 49 6d 61 67 65  72 79 20 49 6e 73 74 61  |1,"Imagery Insta|
00000750  6c 6c 61 74 69 6f 6e 22  0d 03 66 1b e7 20 45 52  |llation"..f.. ER|
00000760  20 8c 20 f2 64 69 65 20  8b 20 f2 61 63 74 69 6f  | . .die . .actio|
00000770  6e 3a e0 0d 03 70 05 e1  0d 03 7a 04 0d 03 84 14  |n:...p....z.....|
00000780  dd f2 6d 65 73 73 61 67  65 28 4d 25 2c 4d 24 29  |..message(M%,M$)|
00000790  0d 03 8e 71 c8 99 20 22  57 69 6d 70 5f 44 72 61  |...q.. "Wimp_Dra|
000007a0  67 42 6f 78 22 2c 2c 30  3a 21 42 4c 4b 25 3d 4d  |gBox",,0:!BLK%=M|
000007b0  25 3a 24 28 42 4c 4b 25  2b 34 29 3d 4d 24 2b bd  |%:$(BLK%+4)=M$+.|
000007c0  28 30 29 3a c8 99 20 22  57 69 6d 70 5f 52 65 70  |(0):.. "Wimp_Rep|
000007d0  6f 72 74 45 72 72 6f 72  22 2c 42 4c 4b 25 2c 31  |ortError",BLK%,1|
000007e0  2c 22 49 6d 61 67 65 72  79 20 49 6e 73 74 61 6c  |,"Imagery Instal|
000007f0  6c 61 74 69 6f 6e 22 3a  f2 61 63 74 69 6f 6e 3a  |lation":.action:|
00000800  e0 0d 03 98 05 e1 0d 03  a2 04 0d 03 ac 0b dd f2  |................|
00000810  6d 6f 75 73 65 0d 03 b6  37 4d 4f 55 58 25 3d 21  |mouse...7MOUX%=!|
00000820  42 4c 4b 25 3a 4d 4f 55  59 25 3d 42 4c 4b 25 21  |BLK%:MOUY%=BLK%!|
00000830  34 3a 4d 4f 55 42 25 3d  42 4c 4b 25 21 38 3a 4d  |4:MOUB%=BLK%!8:M|
00000840  4f 55 48 25 3d 42 4c 4b  25 21 31 32 0d 03 c0 2b  |OUH%=BLK%!12...+|
00000850  e7 20 4d 4f 55 42 25 3d  31 20 84 20 4d 4f 55 42  |. MOUB%=1 . MOUB|
00000860  25 3d 34 20 8c 20 4d 4f  55 43 25 3d 34 20 8b 20  |%=4 . MOUC%=4 . |
00000870  4d 4f 55 43 25 3d 32 0d  03 ca 0e c8 8e 20 4d 4f  |MOUC%=2...... MO|
00000880  55 43 25 20 ca 0d 03 d4  30 c9 20 34 3a e7 20 4d  |UC% ....0. 4:. M|
00000890  4f 55 48 25 3d 48 41 4e  44 25 28 30 29 20 80 20  |OUH%=HAND%(0) . |
000008a0  42 4c 4b 25 21 31 36 3d  32 30 20 8c 20 f2 69 6e  |BLK%!16=20 . .in|
000008b0  73 74 61 6c 6c 0d 03 de  05 cb 0d 03 e8 05 e1 0d  |stall...........|
000008c0  03 f2 04 0d 03 fc 4c dd  a4 67 73 74 72 28 41 44  |......L..gstr(AD|
000008d0  25 29 3a 57 24 3d 22 22  3a e7 20 3f 41 44 25 3c  |%):W$="":. ?AD%<|
000008e0  33 32 20 8c 20 3d 57 24  20 8b 20 f5 3a 57 24 3d  |32 . =W$ . .:W$=|
000008f0  57 24 2b bd 28 3f 41 44  25 29 3a 41 44 25 2b 3d  |W$+.(?AD%):AD%+=|
00000900  31 3a fd 20 3f 41 44 25  3c 33 32 3a 3d 57 24 0d  |1:. ?AD%<32:=W$.|
00000910  04 06 04 0d 04 10 6a dd  a4 67 65 74 69 63 6f 6e  |......j..geticon|
00000920  28 57 48 25 2c 49 43 25  29 3a 21 49 43 42 4c 4b  |(WH%,IC%):!ICBLK|
00000930  25 3d 48 41 4e 44 25 28  57 48 25 29 3a 49 43 42  |%=HAND%(WH%):ICB|
00000940  4c 4b 25 21 34 3d 49 43  25 3a c8 99 20 22 57 69  |LK%!4=IC%:.. "Wi|
00000950  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00000960  2c 2c 49 43 42 4c 4b 25  3a 3d a4 67 73 74 72 28  |,,ICBLK%:=.gstr(|
00000970  21 28 49 43 42 4c 4b 25  2b 32 38 29 29 0d 04 1a  |!(ICBLK%+28))...|
00000980  04 0d 04 24 a4 dd f2 73  65 74 69 63 6f 6e 28 57  |...$...seticon(W|
00000990  48 25 2c 49 43 25 2c 53  45 54 24 29 3a 21 49 43  |H%,IC%,SET$):!IC|
000009a0  42 4c 4b 25 3d 48 41 4e  44 25 28 57 48 25 29 3a  |BLK%=HAND%(WH%):|
000009b0  49 43 42 4c 4b 25 21 34  3d 49 43 25 3a c8 99 20  |ICBLK%!4=IC%:.. |
000009c0  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
000009d0  74 65 22 2c 2c 49 43 42  4c 4b 25 3a 49 43 42 4c  |te",,ICBLK%:ICBL|
000009e0  4b 25 21 38 3d 30 3a 49  43 42 4c 4b 25 21 31 32  |K%!8=0:ICBLK%!12|
000009f0  3d 30 3a 24 28 49 43 42  4c 4b 25 21 32 38 29 3d  |=0:$(ICBLK%!28)=|
00000a00  53 45 54 24 3a c8 99 20  22 57 69 6d 70 5f 53 65  |SET$:.. "Wimp_Se|
00000a10  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 49 43 42  |tIconState",,ICB|
00000a20  4c 4b 25 3a e1 0d 04 2e  04 0d 04 38 71 dd a4 68  |LK%:.......8q..h|
00000a30  69 67 68 28 57 48 25 2c  49 43 25 29 3a 21 49 43  |igh(WH%,IC%):!IC|
00000a40  42 4c 4b 25 3d 48 41 4e  44 25 28 57 48 25 29 3a  |BLK%=HAND%(WH%):|
00000a50  49 43 42 4c 4b 25 21 34  3d 49 43 25 3a c8 99 20  |ICBLK%!4=IC%:.. |
00000a60  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00000a70  74 65 22 2c 2c 49 43 42  4c 4b 25 3a 3d 28 28 3f  |te",,ICBLK%:=((?|
00000a80  28 49 43 42 4c 4b 25 2b  32 36 29 29 20 80 20 25  |(ICBLK%+26)) . %|
00000a90  31 30 30 30 30 30 29 3d  33 32 0d 04 42 04 0d 04  |100000)=32..B...|
00000aa0  4c 5c dd f2 70 6f 69 6e  74 3a c8 99 20 22 57 69  |L\..point:.. "Wi|
00000ab0  6d 70 5f 47 65 74 50 6f  69 6e 74 65 72 49 6e 66  |mp_GetPointerInf|
00000ac0  6f 22 2c 2c 50 4f 49 25  3a 4d 4f 58 25 3d 21 50  |o",,POI%:MOX%=!P|
00000ad0  4f 49 25 3a 4d 4f 59 25  3d 50 4f 49 25 21 34 3a  |OI%:MOY%=POI%!4:|
00000ae0  4d 4f 42 25 3d 50 4f 49  25 21 38 3a 4d 4f 48 25  |MOB%=POI%!8:MOH%|
00000af0  3d 50 4f 49 25 21 31 32  3a e1 0d 04 56 04 0d 04  |=POI%!12:...V...|
00000b00  60 13 dd f2 69 6e 6d 65  73 73 61 67 65 28 4d 25  |`...inmessage(M%|
00000b10  29 0d 04 6a 0b c8 8e 20  4d 25 20 ca 0d 04 74 0c  |)..j... M% ...t.|
00000b20  c9 20 30 3a f2 64 69 65  0d 04 7e 07 cb 3a e1 0d  |. 0:.die..~..:..|
00000b30  04 88 04 0d 04 92 4b dd  a4 67 65 74 6e 61 6d 65  |......K..getname|
00000b40  3a 57 24 3d 22 22 3a 50  25 3d 42 4c 4b 25 2b 34  |:W$="":P%=BLK%+4|
00000b50  34 3a c8 95 20 3f 50 25  3c 3e 30 20 80 20 3f 50  |4:.. ?P%<>0 . ?P|
00000b60  25 3c 3e 31 33 3a 57 24  3d 57 24 2b bd 28 3f 50  |%<>13:W$=W$+.(?P|
00000b70  25 29 3a 50 25 2b 3d 31  3a ce 3a 3d 57 24 0d 04  |%):P%+=1:.:=W$..|
00000b80  9c 04 0d 04 a6 4d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.....M----------|
00000b90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000bc0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0d  |---------------.|
00000bd0  04 b0 04 0d 04 ba 0d dd  f2 69 6e 73 74 61 6c 6c  |.........install|
00000be0  0d 04 c4 15 4e 24 3d a4  67 65 74 69 63 6f 6e 28  |....N$=.geticon(|
00000bf0  30 2c 31 34 29 0d 04 ce  15 50 24 3d a4 67 65 74  |0,14)....P$=.get|
00000c00  69 63 6f 6e 28 30 2c 31  37 29 0d 04 d8 4e e7 20  |icon(0,17)...N. |
00000c10  a9 28 4e 24 29 3c 34 20  8c 20 f2 6d 65 73 73 61  |.(N$)<4 . .messa|
00000c20  67 65 28 30 2c 22 59 6f  75 72 20 6e 61 6d 65 20  |ge(0,"Your name |
00000c30  6d 75 73 74 20 62 65 20  61 74 20 6c 65 61 73 74  |must be at least|
00000c40  20 66 6f 75 72 20 63 68  61 72 61 63 74 65 72 73  | four characters|
00000c50  20 6c 6f 6e 67 2e 22 29  0d 04 e2 51 e7 20 a9 28  | long.")...Q. .(|
00000c60  50 24 29 3c 32 20 8c 20  f2 6d 65 73 73 61 67 65  |P$)<2 . .message|
00000c70  28 30 2c 22 59 6f 75 72  20 70 6f 73 74 63 6f 64  |(0,"Your postcod|
00000c80  65 20 6d 75 73 74 20 62  65 20 61 74 20 6c 65 61  |e must be at lea|
00000c90  73 74 20 74 77 6f 20 63  68 61 72 61 63 74 65 72  |st two character|
00000ca0  73 20 6c 6f 6e 67 2e 22  29 0d 04 ec 04 0d 04 f6  |s long.").......|
00000cb0  5a 46 25 3d ad 28 22 3c  49 6d 61 67 65 72 79 24  |ZF%=.("<Imagery$|
00000cc0  44 69 72 3e 2e 21 49 6e  73 74 61 6c 6c 22 29 3a  |Dir>.!Install"):|
00000cd0  e7 20 46 25 3d 30 20 8c  20 f2 6d 65 73 73 61 67  |. F%=0 . .messag|
00000ce0  65 28 30 2c 22 43 61 6e  27 74 20 66 69 6e 64 20  |e(0,"Can't find |
00000cf0  21 49 6e 73 74 61 6c 6c  20 66 69 6c 65 2e 22 29  |!Install file.")|
00000d00  20 8b 20 d9 23 46 25 0d  05 00 04 0d 05 0a 2f ff  | . .#F%......./.|
00000d10  28 22 4c 4f 41 44 20 3c  49 6d 61 67 65 72 79 24  |("LOAD <Imagery$|
00000d20  44 69 72 3e 2e 21 49 6e  73 74 61 6c 6c 20 22 2b  |Dir>.!Install "+|
00000d30  c3 7e 28 49 4e 53 54 25  29 29 0d 05 14 24 24 28  |.~(INST%))...$$(|
00000d40  49 4e 53 54 25 2b 34 30  29 3d 4e 24 3a 24 28 49  |INST%+40)=N$:$(I|
00000d50  4e 53 54 25 2b 34 30 2b  32 38 29 3d 50 24 0d 05  |NST%+40+28)=P$..|
00000d60  1e 0f 57 25 3d 49 4e 53  54 25 21 34 30 0d 05 28  |..W%=INST%!40..(|
00000d70  0b d6 20 49 4e 53 54 25  0d 05 32 47 e7 20 49 4e  |.. INST%..2G. IN|
00000d80  53 54 25 21 34 30 3c 3e  57 25 20 8c 20 45 41 44  |ST%!40<>W% . EAD|
00000d90  25 3d 49 4e 53 54 25 21  34 30 3a f2 6d 65 73 73  |%=INST%!40:.mess|
00000da0  61 67 65 28 21 45 41 44  25 2c a4 67 73 74 72 28  |age(!EAD%,.gstr(|
00000db0  45 41 44 25 2b 34 29 29  20 8b 20 f2 64 69 65 0d  |EAD%+4)) . .die.|
00000dc0  05 3c 05 e1 0d ff                                 |.<....|
00000dc6