Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199508.adf » !Regulars » Regulars/StarInfo/Marriott/!Dismount/DismountS

Regulars/StarInfo/Marriott/!Dismount/DismountS

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 » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199508.adf » !Regulars
Filename: Regulars/StarInfo/Marriott/!Dismount/DismountS
Read OK:
File size: 0FA9 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > Source <
   20MODE 12
   30SYS "XOS_RemoveCursors"
   40:
   50ON ERROR REPORT: PRINT ERL: END
   60title$="Dismount"
   70filename$="Dismount"
   80version%=201
   90DIM code% &8000
  100FOR pass=4 TO 7 STEP 3
  110P%=0
  120O%=code%
  130[OPT pass
  140:
  150EQUD Start_Code
  160EQUD Initialisation_Code
  170EQUD Finalisation_Code
  180EQUD Service_Call_Handler
  190EQUD Title_String
  200EQUD Help_String
  210EQUD Command_Table
  220EQUD 0
  230EQUD 0
  240EQUD 0
  250EQUD 0
  260:
  270.Initialisation_Code
  280STMFD R13!,{R7-R11,R14}
  290MOV R0,#6
  300MOV R3,#4096
  310SWI "XOS_Module"
  320BVS Initialisation_Exit
  330STR R2,[R12]
  340MOV R0,#0
  350STR R0,[R2,#768]
  360.Initialisation_Exit
  370LDMFD R13!,{R7-R11,PC}
  380:
  390.Finalisation_Code
  400STMFD R13!,{R7-R11,R14}
  410LDR R12,[R12]
  420LDR R0,[R12,#768]
  430TEQ R0,#0
  440LDRGT R0,[R12,#768]
  450LDRGT R1,TASK
  460SWIGT "XWimp_CloseDown"
  470MOVGT R0,#0
  480STRGT R0,[R12,#768]
  490LDMFD R13!,{R7-R11,PC}
  500:
  510.Service_Call_Handler
  520STMFD R13!,{R2-R11,R14}
  530LDR R12,[R12]
  540CMP R1,#&49   ; Service_StartWimp
  550BEQ Service_StartWimp
  560CMP R1,#&4A   ; Service_StartedWimp
  570BEQ Service_StartedWimp
  580CMP R1,#&27   ; Service_Reset
  590BEQ Service_StartedWimp
  600LDMFD R13!,{R2-R11,PC}
  610:
  620.TASK       EQUS "TASK"
  630:
  640.Service_StartWimp
  650LDR R14,[R12,#768]
  660TEQ R14,#0
  670MVNEQ R14,#0
  680STREQ R14,[R12,#768]
  690ADREQ R0,Command_Table
  700MOVEQ R1,#0
  710LDMFD R13!,{R2-R11,PC}
  720:
  730.Service_StartedWimp
  740LDR R14,[R12,#768]
  750CMN R14,#1
  760MOVEQ R14,#0
  770STREQ R14,[R12,#768]
  780LDMFD R13!,{R2-R11,PC}
  790:
  800.Title_String
  810EQUS title$
  820EQUB 0
  830:
  840.Help_String
  850EQUS title$+CHR$(9)+STR$(version%/100)+" ("+MID$(TIME$,5,11)+") by Nicholas Marriott"
  860EQUB 0
  870:
  880.Command_Table
  890EQUS "Desktop_"+title$
  900EQUB 0
  910ALIGN
  920EQUD Desktop_Command_Code
  930EQUD &00000000
  940EQUD Desktop_Command_Syntax
  950EQUD Desktop_Command_Help
  960ALIGN
  970:
  980.Desktop_Command_Code
  990STMFD R13!,{R14}
 1000MOV R2,R0
 1010ADR R1,Title_String
 1020MOV R0,#2
 1030SWI "XOS_Module"
 1040LDMFD R13!,{PC}
 1050:
 1060.Desktop_Command_Syntax
 1070EQUS "Syntax: *Desktop_"+title$
 1080EQUB 0
 1090ALIGN
 1100:
 1110.Desktop_Command_Help
 1120EQUS "Do not use *Desktop_"+title$+" use *Desktop instead."
 1130EQUB 0
 1140ALIGN
 1150:
 1160.Start_Code
 1170LDR R12,[R12]
 1180ADD R13,R12,#512
 1190ADD R12,R12,#512
 1200:
 1210LDR R0,[R12,#256]
 1220TEQ R0,#0
 1230LDRGT R0,[R12,#256]
 1240LDRGT R1,TASK
 1250SWIGT "XWimp_CloseDown"
 1260MOVGT R0,#0
 1270STRGT R0,[R12,#256]
 1280:
 1290BL initialise_wimp
 1300BL poll_wimp
 1310BL finalise_wimp
 1320SWI "XOS_Exit"
 1330:
 1340.initialise_wimp
 1350STMFD R13!,{R0-R11,R14}
 1360:
 1370MOV R0,#200
 1380LDR R1,TASK
 1390ADR R2,Title_String
 1400SWI "XWimp_Initialise"
 1410STR R1,[R12,#256]
 1420:
 1430ADR R1,icon
 1440SWI "XWimp_CreateIcon"
 1450:
 1460LDMFD R13!,{R0-R11,PC}
 1470:
 1480.icon EQUD -2
 1490      EQUD 0
 1500      EQUD 0
 1510      EQUD 90
 1520      EQUD 68
 1530      EQUD &301A
 1540      EQUS "!dismount"
 1550      EQUB 0
 1560      ALIGN
 1570:
 1580.finalise_wimp
 1590STMFD R13!,{R0-R11,R14}
 1600:
 1610LDR R0,[R12,#256]
 1620LDR R1,TASK
 1630SWI "XWimp_CloseDown"
 1640:
 1650LDMFD R13!,{R0-R11,PC}
 1660:
 1670.poll_wimp
 1680STMFD R13!,{R0-R11,R14}
 1690:
 1700.poll_loop
 1710SWI "XOS_ReadMonotonicTime"
 1720ADD R11,R0,#15
 1730MOV R0,#0
 1740MOV R1,R12
 1750MOV R2,R11
 1760SWI "XWimp_PollIdle"
 1770:
 1780CMP R0,#6
 1790BLEQ mouseclick_wimp
 1800:
 1810CMP R0,#17
 1820BLEQ message_wimp
 1830CMP R1,#18
 1840BLEQ message_wimp
 1850:
 1860B poll_loop
 1870:
 1880.poll_loop_exit
 1890LDMFD R13!,{R0-R11,PC}
 1900:
 1910.message_wimp
 1920STMFD R13!,{R0-R11,R14}
 1930:
 1940LDR R0,[R12,#16]
 1950:
 1960CMP R0,#0
 1970LDMEQFD R13!,{R0-R11,R14}
 1980BEQ poll_loop_exit
 1990:
 2000LDMFD R13!,{R0-R11,PC}
 2010:
 2020.mouseclick_wimp
 2030STMFD R13!,{R0-R11,R14}
 2040:
 2050LDR R0,[R12,#8]
 2060:
 2070CMP R0,#%100
 2080ADREQ R0,Dismount
 2090SWIEQ "XOS_CLI"
 2100:
 2110CMP R0,#%001
 2120ADREQ R0,Mount
 2130SWIEQ "XOS_CLI"
 2140:
 2150.exit_mouseclick
 2160LDMFD R13!,{R0-R11,PC}
 2170:
 2180.Dismount EQUS "ADFS:Dismount 0"
 2190          EQUB 0
 2200.Mount    EQUS "ADFS:Mount 0"
 2210          EQUB 0
 2220          ALIGN
 2230:
 2240]
 2250NEXT
 2260CLOSE#0
 2270SYS "OS_File",10,filename$,&FFA,,code%,O%
 2280END

� > Source <
� 12
ș "XOS_RemoveCursors"
(:
2� � �: � �: �
<title$="Dismount"
Ffilename$="Dismount"
Pversion%=201
Z� code% &8000
d� pass=4 � 7 � 3
nP%=0
xO%=code%
�
[OPT pass
�:
�EQUD Start_Code
�EQUD Initialisation_Code
�EQUD Finalisation_Code
�EQUD Service_Call_Handler
�EQUD Title_String
�EQUD Help_String
�EQUD Command_Table
�
EQUD 0
�
EQUD 0
�
EQUD 0
�
EQUD 0
:
.Initialisation_Code
STMFD R13!,{R7-R11,R14}
"
MOV R0,#6
,MOV R3,#4096
6SWI "XOS_Module"
@BVS Initialisation_Exit
JSTR R2,[R12]
T
MOV R0,#0
^STR R0,[R2,#768]
h.Initialisation_Exit
rLDMFD R13!,{R7-R11,PC}
|:
�.Finalisation_Code
�STMFD R13!,{R7-R11,R14}
�LDR R12,[R12]
�LDR R0,[R12,#768]
�
TEQ R0,#0
�LDRGT R0,[R12,#768]
�LDRGT R1,TASK
�SWIGT "XWimp_CloseDown"
�MOVGT R0,#0
�STRGT R0,[R12,#768]
�LDMFD R13!,{R7-R11,PC}
�:
�.Service_Call_Handler
STMFD R13!,{R2-R11,R14}
LDR R12,[R12]
%CMP R1,#&49   ; Service_StartWimp
&BEQ Service_StartWimp
0'CMP R1,#&4A   ; Service_StartedWimp
:BEQ Service_StartedWimp
D!CMP R1,#&27   ; Service_Reset
NBEQ Service_StartedWimp
XLDMFD R13!,{R2-R11,PC}
b:
l.TASK       EQUS "TASK"
v:
�.Service_StartWimp
�LDR R14,[R12,#768]
�TEQ R14,#0
�MVNEQ R14,#0
�STREQ R14,[R12,#768]
�ADREQ R0,Command_Table
��Q R1,#0
�LDMFD R13!,{R2-R11,PC}
�:
�.Service_StartedWimp
�LDR R14,[R12,#768]
�CMN R14,#1
�
�Q R14,#0
STREQ R14,[R12,#768]
LDMFD R13!,{R2-R11,PC}
:
 .Title_String
*EQUS title$
4
EQUB 0
>:
H.Help_String
RLEQUS title$+�(9)+�(version%/100)+" ("+��$,5,11)+") by Nicholas Marriott"
\
EQUB 0
f:
p.Command_Table
zEQUS "Desktop_"+title$
�
EQUB 0
�	ALIGN
�EQUD Desktop_Command_Code
�EQUD &00000000
�EQUD Desktop_Command_Syntax
�EQUD Desktop_Command_Help
�	ALIGN
�:
�.Desktop_Command_Code
�STMFD R13!,{R14}
�
MOV R2,R0
�ADR R1,Title_String
�
MOV R0,#2
SWI "XOS_Module"
LDMFD R13!,{PC}
:
$.Desktop_Command_Syntax
.#EQUS "Syntax: *Desktop_"+title$
8
EQUB 0
B	ALIGN
L:
V.Desktop_Command_Help
`?EQUS "Do not use *Desktop_"+title$+" use *Desktop instead."
j
EQUB 0
t	ALIGN
~:
�.Start_Code
�LDR R12,[R12]
�ADD R13,R12,#512
�ADD R12,R12,#512
�:
�LDR R0,[R12,#256]
�
TEQ R0,#0
�LDRGT R0,[R12,#256]
�LDRGT R1,TASK
�SWIGT "XWimp_CloseDown"
�MOVGT R0,#0
�STRGT R0,[R12,#256]
:

BL initialise_wimp
BL poll_wimp
BL finalise_wimp
(SWI "XOS_Exit"
2:
<.initialise_wimp
FSTMFD R13!,{R0-R11,R14}
P:
ZMOV R0,#200
dLDR R1,TASK
nADR R2,Title_String
xSWI "XWimp_Initialise"
�STR R1,[R12,#256]
�:
�ADR R1,icon
�SWI "XWimp_CreateIcon"
�:
�LDMFD R13!,{R0-R11,PC}
�:
�.icon EQUD -2
�      EQUD 0
�      EQUD 0
�      EQUD 90
�      EQUD 68
�      EQUD &301A
      EQUS "!dismount"
      EQUB 0
      ALIGN
":
,.finalise_wimp
6STMFD R13!,{R0-R11,R14}
@:
JLDR R0,[R12,#256]
TLDR R1,TASK
^SWI "XWimp_CloseDown"
h:
rLDMFD R13!,{R0-R11,PC}
|:
�.poll_wimp
�STMFD R13!,{R0-R11,R14}
�:
�.poll_loop
�SWI "XOS_ReadMonotonicTime"
�ADD R11,R0,#15
�
MOV R0,#0
�MOV R1,R12
�MOV R2,R11
�SWI "XWimp_PollIdle"
�:
�
CMP R0,#6
�BLEQ mouseclick_wimp
:
CMP R0,#17
BLEQ message_wimp
&CMP R1,#18
0BLEQ message_wimp
::
DB poll_loop
N:
X.poll_loop_exit
bLDMFD R13!,{R0-R11,PC}
l:
v.message_wimp
�STMFD R13!,{R0-R11,R14}
�:
�LDR R0,[R12,#16]
�:
�
CMP R0,#0
�LDMEQFD R13!,{R0-R11,R14}
�BEQ poll_loop_exit
�:
�LDMFD R13!,{R0-R11,PC}
�:
�.mouseclick_wimp
�STMFD R13!,{R0-R11,R14}
�:
LDR R0,[R12,#8]
:
CMP R0,#%100
 ADREQ R0,Dismount
*SWIEQ "XOS_CLI"
4:
>CMP R0,#%001
HADREQ R0,Mount
RSWIEQ "XOS_CLI"
\:
f.exit_mouseclick
pLDMFD R13!,{R0-R11,PC}
z:
�$.Dismount EQUS "ADFS:Dismount 0"
�          EQUB 0
�!.Mount    EQUS "ADFS:Mount 0"
�          EQUB 0
�          ALIGN
�:
�]
��
��#0
�,ș "OS_File",10,filename$,&FFA,,code%,O%
��
�
00000000  0d 00 0a 10 f4 20 3e 20  53 6f 75 72 63 65 20 3c  |..... > Source <|
00000010  0d 00 14 08 eb 20 31 32  0d 00 1e 1a c8 99 20 22  |..... 12...... "|
00000020  58 4f 53 5f 52 65 6d 6f  76 65 43 75 72 73 6f 72  |XOS_RemoveCursor|
00000030  73 22 0d 00 28 05 3a 0d  00 32 11 ee 20 85 20 f6  |s"..(.:..2.. . .|
00000040  3a 20 f1 20 9e 3a 20 e0  0d 00 3c 15 74 69 74 6c  |: . .: ...<.titl|
00000050  65 24 3d 22 44 69 73 6d  6f 75 6e 74 22 0d 00 46  |e$="Dismount"..F|
00000060  18 66 69 6c 65 6e 61 6d  65 24 3d 22 44 69 73 6d  |.filename$="Dism|
00000070  6f 75 6e 74 22 0d 00 50  10 76 65 72 73 69 6f 6e  |ount"..P.version|
00000080  25 3d 32 30 31 0d 00 5a  11 de 20 63 6f 64 65 25  |%=201..Z.. code%|
00000090  20 26 38 30 30 30 0d 00  64 14 e3 20 70 61 73 73  | &8000..d.. pass|
000000a0  3d 34 20 b8 20 37 20 88  20 33 0d 00 6e 08 50 25  |=4 . 7 . 3..n.P%|
000000b0  3d 30 0d 00 78 0c 4f 25  3d 63 6f 64 65 25 0d 00  |=0..x.O%=code%..|
000000c0  82 0d 5b 4f 50 54 20 70  61 73 73 0d 00 8c 05 3a  |..[OPT pass....:|
000000d0  0d 00 96 13 45 51 55 44  20 53 74 61 72 74 5f 43  |....EQUD Start_C|
000000e0  6f 64 65 0d 00 a0 1c 45  51 55 44 20 49 6e 69 74  |ode....EQUD Init|
000000f0  69 61 6c 69 73 61 74 69  6f 6e 5f 43 6f 64 65 0d  |ialisation_Code.|
00000100  00 aa 1a 45 51 55 44 20  46 69 6e 61 6c 69 73 61  |...EQUD Finalisa|
00000110  74 69 6f 6e 5f 43 6f 64  65 0d 00 b4 1d 45 51 55  |tion_Code....EQU|
00000120  44 20 53 65 72 76 69 63  65 5f 43 61 6c 6c 5f 48  |D Service_Call_H|
00000130  61 6e 64 6c 65 72 0d 00  be 15 45 51 55 44 20 54  |andler....EQUD T|
00000140  69 74 6c 65 5f 53 74 72  69 6e 67 0d 00 c8 14 45  |itle_String....E|
00000150  51 55 44 20 48 65 6c 70  5f 53 74 72 69 6e 67 0d  |QUD Help_String.|
00000160  00 d2 16 45 51 55 44 20  43 6f 6d 6d 61 6e 64 5f  |...EQUD Command_|
00000170  54 61 62 6c 65 0d 00 dc  0a 45 51 55 44 20 30 0d  |Table....EQUD 0.|
00000180  00 e6 0a 45 51 55 44 20  30 0d 00 f0 0a 45 51 55  |...EQUD 0....EQU|
00000190  44 20 30 0d 00 fa 0a 45  51 55 44 20 30 0d 01 04  |D 0....EQUD 0...|
000001a0  05 3a 0d 01 0e 18 2e 49  6e 69 74 69 61 6c 69 73  |.:.....Initialis|
000001b0  61 74 69 6f 6e 5f 43 6f  64 65 0d 01 18 1b 53 54  |ation_Code....ST|
000001c0  4d 46 44 20 52 31 33 21  2c 7b 52 37 2d 52 31 31  |MFD R13!,{R7-R11|
000001d0  2c 52 31 34 7d 0d 01 22  0d 4d 4f 56 20 52 30 2c  |,R14}..".MOV R0,|
000001e0  23 36 0d 01 2c 10 4d 4f  56 20 52 33 2c 23 34 30  |#6..,.MOV R3,#40|
000001f0  39 36 0d 01 36 14 53 57  49 20 22 58 4f 53 5f 4d  |96..6.SWI "XOS_M|
00000200  6f 64 75 6c 65 22 0d 01  40 1b 42 56 53 20 49 6e  |odule"..@.BVS In|
00000210  69 74 69 61 6c 69 73 61  74 69 6f 6e 5f 45 78 69  |itialisation_Exi|
00000220  74 0d 01 4a 10 53 54 52  20 52 32 2c 5b 52 31 32  |t..J.STR R2,[R12|
00000230  5d 0d 01 54 0d 4d 4f 56  20 52 30 2c 23 30 0d 01  |]..T.MOV R0,#0..|
00000240  5e 14 53 54 52 20 52 30  2c 5b 52 32 2c 23 37 36  |^.STR R0,[R2,#76|
00000250  38 5d 0d 01 68 18 2e 49  6e 69 74 69 61 6c 69 73  |8]..h..Initialis|
00000260  61 74 69 6f 6e 5f 45 78  69 74 0d 01 72 1a 4c 44  |ation_Exit..r.LD|
00000270  4d 46 44 20 52 31 33 21  2c 7b 52 37 2d 52 31 31  |MFD R13!,{R7-R11|
00000280  2c 50 43 7d 0d 01 7c 05  3a 0d 01 86 16 2e 46 69  |,PC}..|.:.....Fi|
00000290  6e 61 6c 69 73 61 74 69  6f 6e 5f 43 6f 64 65 0d  |nalisation_Code.|
000002a0  01 90 1b 53 54 4d 46 44  20 52 31 33 21 2c 7b 52  |...STMFD R13!,{R|
000002b0  37 2d 52 31 31 2c 52 31  34 7d 0d 01 9a 11 4c 44  |7-R11,R14}....LD|
000002c0  52 20 52 31 32 2c 5b 52  31 32 5d 0d 01 a4 15 4c  |R R12,[R12]....L|
000002d0  44 52 20 52 30 2c 5b 52  31 32 2c 23 37 36 38 5d  |DR R0,[R12,#768]|
000002e0  0d 01 ae 0d 54 45 51 20  52 30 2c 23 30 0d 01 b8  |....TEQ R0,#0...|
000002f0  17 4c 44 52 47 54 20 52  30 2c 5b 52 31 32 2c 23  |.LDRGT R0,[R12,#|
00000300  37 36 38 5d 0d 01 c2 11  4c 44 52 47 54 20 52 31  |768]....LDRGT R1|
00000310  2c 54 41 53 4b 0d 01 cc  1b 53 57 49 47 54 20 22  |,TASK....SWIGT "|
00000320  58 57 69 6d 70 5f 43 6c  6f 73 65 44 6f 77 6e 22  |XWimp_CloseDown"|
00000330  0d 01 d6 0f 4d 4f 56 47  54 20 52 30 2c 23 30 0d  |....MOVGT R0,#0.|
00000340  01 e0 17 53 54 52 47 54  20 52 30 2c 5b 52 31 32  |...STRGT R0,[R12|
00000350  2c 23 37 36 38 5d 0d 01  ea 1a 4c 44 4d 46 44 20  |,#768]....LDMFD |
00000360  52 31 33 21 2c 7b 52 37  2d 52 31 31 2c 50 43 7d  |R13!,{R7-R11,PC}|
00000370  0d 01 f4 05 3a 0d 01 fe  19 2e 53 65 72 76 69 63  |....:.....Servic|
00000380  65 5f 43 61 6c 6c 5f 48  61 6e 64 6c 65 72 0d 02  |e_Call_Handler..|
00000390  08 1b 53 54 4d 46 44 20  52 31 33 21 2c 7b 52 32  |..STMFD R13!,{R2|
000003a0  2d 52 31 31 2c 52 31 34  7d 0d 02 12 11 4c 44 52  |-R11,R14}....LDR|
000003b0  20 52 31 32 2c 5b 52 31  32 5d 0d 02 1c 25 43 4d  | R12,[R12]...%CM|
000003c0  50 20 52 31 2c 23 26 34  39 20 20 20 3b 20 53 65  |P R1,#&49   ; Se|
000003d0  72 76 69 63 65 5f 53 74  61 72 74 57 69 6d 70 0d  |rvice_StartWimp.|
000003e0  02 26 19 42 45 51 20 53  65 72 76 69 63 65 5f 53  |.&.BEQ Service_S|
000003f0  74 61 72 74 57 69 6d 70  0d 02 30 27 43 4d 50 20  |tartWimp..0'CMP |
00000400  52 31 2c 23 26 34 41 20  20 20 3b 20 53 65 72 76  |R1,#&4A   ; Serv|
00000410  69 63 65 5f 53 74 61 72  74 65 64 57 69 6d 70 0d  |ice_StartedWimp.|
00000420  02 3a 1b 42 45 51 20 53  65 72 76 69 63 65 5f 53  |.:.BEQ Service_S|
00000430  74 61 72 74 65 64 57 69  6d 70 0d 02 44 21 43 4d  |tartedWimp..D!CM|
00000440  50 20 52 31 2c 23 26 32  37 20 20 20 3b 20 53 65  |P R1,#&27   ; Se|
00000450  72 76 69 63 65 5f 52 65  73 65 74 0d 02 4e 1b 42  |rvice_Reset..N.B|
00000460  45 51 20 53 65 72 76 69  63 65 5f 53 74 61 72 74  |EQ Service_Start|
00000470  65 64 57 69 6d 70 0d 02  58 1a 4c 44 4d 46 44 20  |edWimp..X.LDMFD |
00000480  52 31 33 21 2c 7b 52 32  2d 52 31 31 2c 50 43 7d  |R13!,{R2-R11,PC}|
00000490  0d 02 62 05 3a 0d 02 6c  1b 2e 54 41 53 4b 20 20  |..b.:..l..TASK  |
000004a0  20 20 20 20 20 45 51 55  53 20 22 54 41 53 4b 22  |     EQUS "TASK"|
000004b0  0d 02 76 05 3a 0d 02 80  16 2e 53 65 72 76 69 63  |..v.:.....Servic|
000004c0  65 5f 53 74 61 72 74 57  69 6d 70 0d 02 8a 16 4c  |e_StartWimp....L|
000004d0  44 52 20 52 31 34 2c 5b  52 31 32 2c 23 37 36 38  |DR R14,[R12,#768|
000004e0  5d 0d 02 94 0e 54 45 51  20 52 31 34 2c 23 30 0d  |]....TEQ R14,#0.|
000004f0  02 9e 10 4d 56 4e 45 51  20 52 31 34 2c 23 30 0d  |...MVNEQ R14,#0.|
00000500  02 a8 18 53 54 52 45 51  20 52 31 34 2c 5b 52 31  |...STREQ R14,[R1|
00000510  32 2c 23 37 36 38 5d 0d  02 b2 1a 41 44 52 45 51  |2,#768]....ADREQ|
00000520  20 52 30 2c 43 6f 6d 6d  61 6e 64 5f 54 61 62 6c  | R0,Command_Tabl|
00000530  65 0d 02 bc 0c ec 51 20  52 31 2c 23 30 0d 02 c6  |e.....Q R1,#0...|
00000540  1a 4c 44 4d 46 44 20 52  31 33 21 2c 7b 52 32 2d  |.LDMFD R13!,{R2-|
00000550  52 31 31 2c 50 43 7d 0d  02 d0 05 3a 0d 02 da 18  |R11,PC}....:....|
00000560  2e 53 65 72 76 69 63 65  5f 53 74 61 72 74 65 64  |.Service_Started|
00000570  57 69 6d 70 0d 02 e4 16  4c 44 52 20 52 31 34 2c  |Wimp....LDR R14,|
00000580  5b 52 31 32 2c 23 37 36  38 5d 0d 02 ee 0e 43 4d  |[R12,#768]....CM|
00000590  4e 20 52 31 34 2c 23 31  0d 02 f8 0d ec 51 20 52  |N R14,#1.....Q R|
000005a0  31 34 2c 23 30 0d 03 02  18 53 54 52 45 51 20 52  |14,#0....STREQ R|
000005b0  31 34 2c 5b 52 31 32 2c  23 37 36 38 5d 0d 03 0c  |14,[R12,#768]...|
000005c0  1a 4c 44 4d 46 44 20 52  31 33 21 2c 7b 52 32 2d  |.LDMFD R13!,{R2-|
000005d0  52 31 31 2c 50 43 7d 0d  03 16 05 3a 0d 03 20 11  |R11,PC}....:.. .|
000005e0  2e 54 69 74 6c 65 5f 53  74 72 69 6e 67 0d 03 2a  |.Title_String..*|
000005f0  0f 45 51 55 53 20 74 69  74 6c 65 24 0d 03 34 0a  |.EQUS title$..4.|
00000600  45 51 55 42 20 30 0d 03  3e 05 3a 0d 03 48 10 2e  |EQUB 0..>.:..H..|
00000610  48 65 6c 70 5f 53 74 72  69 6e 67 0d 03 52 4c 45  |Help_String..RLE|
00000620  51 55 53 20 74 69 74 6c  65 24 2b bd 28 39 29 2b  |QUS title$+.(9)+|
00000630  c3 28 76 65 72 73 69 6f  6e 25 2f 31 30 30 29 2b  |.(version%/100)+|
00000640  22 20 28 22 2b c1 91 24  2c 35 2c 31 31 29 2b 22  |" ("+..$,5,11)+"|
00000650  29 20 62 79 20 4e 69 63  68 6f 6c 61 73 20 4d 61  |) by Nicholas Ma|
00000660  72 72 69 6f 74 74 22 0d  03 5c 0a 45 51 55 42 20  |rriott"..\.EQUB |
00000670  30 0d 03 66 05 3a 0d 03  70 12 2e 43 6f 6d 6d 61  |0..f.:..p..Comma|
00000680  6e 64 5f 54 61 62 6c 65  0d 03 7a 1a 45 51 55 53  |nd_Table..z.EQUS|
00000690  20 22 44 65 73 6b 74 6f  70 5f 22 2b 74 69 74 6c  | "Desktop_"+titl|
000006a0  65 24 0d 03 84 0a 45 51  55 42 20 30 0d 03 8e 09  |e$....EQUB 0....|
000006b0  41 4c 49 47 4e 0d 03 98  1d 45 51 55 44 20 44 65  |ALIGN....EQUD De|
000006c0  73 6b 74 6f 70 5f 43 6f  6d 6d 61 6e 64 5f 43 6f  |sktop_Command_Co|
000006d0  64 65 0d 03 a2 12 45 51  55 44 20 26 30 30 30 30  |de....EQUD &0000|
000006e0  30 30 30 30 0d 03 ac 1f  45 51 55 44 20 44 65 73  |0000....EQUD Des|
000006f0  6b 74 6f 70 5f 43 6f 6d  6d 61 6e 64 5f 53 79 6e  |ktop_Command_Syn|
00000700  74 61 78 0d 03 b6 1d 45  51 55 44 20 44 65 73 6b  |tax....EQUD Desk|
00000710  74 6f 70 5f 43 6f 6d 6d  61 6e 64 5f 48 65 6c 70  |top_Command_Help|
00000720  0d 03 c0 09 41 4c 49 47  4e 0d 03 ca 05 3a 0d 03  |....ALIGN....:..|
00000730  d4 19 2e 44 65 73 6b 74  6f 70 5f 43 6f 6d 6d 61  |...Desktop_Comma|
00000740  6e 64 5f 43 6f 64 65 0d  03 de 14 53 54 4d 46 44  |nd_Code....STMFD|
00000750  20 52 31 33 21 2c 7b 52  31 34 7d 0d 03 e8 0d 4d  | R13!,{R14}....M|
00000760  4f 56 20 52 32 2c 52 30  0d 03 f2 17 41 44 52 20  |OV R2,R0....ADR |
00000770  52 31 2c 54 69 74 6c 65  5f 53 74 72 69 6e 67 0d  |R1,Title_String.|
00000780  03 fc 0d 4d 4f 56 20 52  30 2c 23 32 0d 04 06 14  |...MOV R0,#2....|
00000790  53 57 49 20 22 58 4f 53  5f 4d 6f 64 75 6c 65 22  |SWI "XOS_Module"|
000007a0  0d 04 10 13 4c 44 4d 46  44 20 52 31 33 21 2c 7b  |....LDMFD R13!,{|
000007b0  50 43 7d 0d 04 1a 05 3a  0d 04 24 1b 2e 44 65 73  |PC}....:..$..Des|
000007c0  6b 74 6f 70 5f 43 6f 6d  6d 61 6e 64 5f 53 79 6e  |ktop_Command_Syn|
000007d0  74 61 78 0d 04 2e 23 45  51 55 53 20 22 53 79 6e  |tax...#EQUS "Syn|
000007e0  74 61 78 3a 20 2a 44 65  73 6b 74 6f 70 5f 22 2b  |tax: *Desktop_"+|
000007f0  74 69 74 6c 65 24 0d 04  38 0a 45 51 55 42 20 30  |title$..8.EQUB 0|
00000800  0d 04 42 09 41 4c 49 47  4e 0d 04 4c 05 3a 0d 04  |..B.ALIGN..L.:..|
00000810  56 19 2e 44 65 73 6b 74  6f 70 5f 43 6f 6d 6d 61  |V..Desktop_Comma|
00000820  6e 64 5f 48 65 6c 70 0d  04 60 3f 45 51 55 53 20  |nd_Help..`?EQUS |
00000830  22 44 6f 20 6e 6f 74 20  75 73 65 20 2a 44 65 73  |"Do not use *Des|
00000840  6b 74 6f 70 5f 22 2b 74  69 74 6c 65 24 2b 22 20  |ktop_"+title$+" |
00000850  75 73 65 20 2a 44 65 73  6b 74 6f 70 20 69 6e 73  |use *Desktop ins|
00000860  74 65 61 64 2e 22 0d 04  6a 0a 45 51 55 42 20 30  |tead."..j.EQUB 0|
00000870  0d 04 74 09 41 4c 49 47  4e 0d 04 7e 05 3a 0d 04  |..t.ALIGN..~.:..|
00000880  88 0f 2e 53 74 61 72 74  5f 43 6f 64 65 0d 04 92  |...Start_Code...|
00000890  11 4c 44 52 20 52 31 32  2c 5b 52 31 32 5d 0d 04  |.LDR R12,[R12]..|
000008a0  9c 14 41 44 44 20 52 31  33 2c 52 31 32 2c 23 35  |..ADD R13,R12,#5|
000008b0  31 32 0d 04 a6 14 41 44  44 20 52 31 32 2c 52 31  |12....ADD R12,R1|
000008c0  32 2c 23 35 31 32 0d 04  b0 05 3a 0d 04 ba 15 4c  |2,#512....:....L|
000008d0  44 52 20 52 30 2c 5b 52  31 32 2c 23 32 35 36 5d  |DR R0,[R12,#256]|
000008e0  0d 04 c4 0d 54 45 51 20  52 30 2c 23 30 0d 04 ce  |....TEQ R0,#0...|
000008f0  17 4c 44 52 47 54 20 52  30 2c 5b 52 31 32 2c 23  |.LDRGT R0,[R12,#|
00000900  32 35 36 5d 0d 04 d8 11  4c 44 52 47 54 20 52 31  |256]....LDRGT R1|
00000910  2c 54 41 53 4b 0d 04 e2  1b 53 57 49 47 54 20 22  |,TASK....SWIGT "|
00000920  58 57 69 6d 70 5f 43 6c  6f 73 65 44 6f 77 6e 22  |XWimp_CloseDown"|
00000930  0d 04 ec 0f 4d 4f 56 47  54 20 52 30 2c 23 30 0d  |....MOVGT R0,#0.|
00000940  04 f6 17 53 54 52 47 54  20 52 30 2c 5b 52 31 32  |...STRGT R0,[R12|
00000950  2c 23 32 35 36 5d 0d 05  00 05 3a 0d 05 0a 16 42  |,#256]....:....B|
00000960  4c 20 69 6e 69 74 69 61  6c 69 73 65 5f 77 69 6d  |L initialise_wim|
00000970  70 0d 05 14 10 42 4c 20  70 6f 6c 6c 5f 77 69 6d  |p....BL poll_wim|
00000980  70 0d 05 1e 14 42 4c 20  66 69 6e 61 6c 69 73 65  |p....BL finalise|
00000990  5f 77 69 6d 70 0d 05 28  12 53 57 49 20 22 58 4f  |_wimp..(.SWI "XO|
000009a0  53 5f 45 78 69 74 22 0d  05 32 05 3a 0d 05 3c 14  |S_Exit"..2.:..<.|
000009b0  2e 69 6e 69 74 69 61 6c  69 73 65 5f 77 69 6d 70  |.initialise_wimp|
000009c0  0d 05 46 1b 53 54 4d 46  44 20 52 31 33 21 2c 7b  |..F.STMFD R13!,{|
000009d0  52 30 2d 52 31 31 2c 52  31 34 7d 0d 05 50 05 3a  |R0-R11,R14}..P.:|
000009e0  0d 05 5a 0f 4d 4f 56 20  52 30 2c 23 32 30 30 0d  |..Z.MOV R0,#200.|
000009f0  05 64 0f 4c 44 52 20 52  31 2c 54 41 53 4b 0d 05  |.d.LDR R1,TASK..|
00000a00  6e 17 41 44 52 20 52 32  2c 54 69 74 6c 65 5f 53  |n.ADR R2,Title_S|
00000a10  74 72 69 6e 67 0d 05 78  1a 53 57 49 20 22 58 57  |tring..x.SWI "XW|
00000a20  69 6d 70 5f 49 6e 69 74  69 61 6c 69 73 65 22 0d  |imp_Initialise".|
00000a30  05 82 15 53 54 52 20 52  31 2c 5b 52 31 32 2c 23  |...STR R1,[R12,#|
00000a40  32 35 36 5d 0d 05 8c 05  3a 0d 05 96 0f 41 44 52  |256]....:....ADR|
00000a50  20 52 31 2c 69 63 6f 6e  0d 05 a0 1a 53 57 49 20  | R1,icon....SWI |
00000a60  22 58 57 69 6d 70 5f 43  72 65 61 74 65 49 63 6f  |"XWimp_CreateIco|
00000a70  6e 22 0d 05 aa 05 3a 0d  05 b4 1a 4c 44 4d 46 44  |n"....:....LDMFD|
00000a80  20 52 31 33 21 2c 7b 52  30 2d 52 31 31 2c 50 43  | R13!,{R0-R11,PC|
00000a90  7d 0d 05 be 05 3a 0d 05  c8 11 2e 69 63 6f 6e 20  |}....:.....icon |
00000aa0  45 51 55 44 20 2d 32 0d  05 d2 10 20 20 20 20 20  |EQUD -2....     |
00000ab0  20 45 51 55 44 20 30 0d  05 dc 10 20 20 20 20 20  | EQUD 0....     |
00000ac0  20 45 51 55 44 20 30 0d  05 e6 11 20 20 20 20 20  | EQUD 0....     |
00000ad0  20 45 51 55 44 20 39 30  0d 05 f0 11 20 20 20 20  | EQUD 90....    |
00000ae0  20 20 45 51 55 44 20 36  38 0d 05 fa 14 20 20 20  |  EQUD 68....   |
00000af0  20 20 20 45 51 55 44 20  26 33 30 31 41 0d 06 04  |   EQUD &301A...|
00000b00  1a 20 20 20 20 20 20 45  51 55 53 20 22 21 64 69  |.      EQUS "!di|
00000b10  73 6d 6f 75 6e 74 22 0d  06 0e 10 20 20 20 20 20  |smount"....     |
00000b20  20 45 51 55 42 20 30 0d  06 18 0f 20 20 20 20 20  | EQUB 0....     |
00000b30  20 41 4c 49 47 4e 0d 06  22 05 3a 0d 06 2c 12 2e  | ALIGN..".:..,..|
00000b40  66 69 6e 61 6c 69 73 65  5f 77 69 6d 70 0d 06 36  |finalise_wimp..6|
00000b50  1b 53 54 4d 46 44 20 52  31 33 21 2c 7b 52 30 2d  |.STMFD R13!,{R0-|
00000b60  52 31 31 2c 52 31 34 7d  0d 06 40 05 3a 0d 06 4a  |R11,R14}..@.:..J|
00000b70  15 4c 44 52 20 52 30 2c  5b 52 31 32 2c 23 32 35  |.LDR R0,[R12,#25|
00000b80  36 5d 0d 06 54 0f 4c 44  52 20 52 31 2c 54 41 53  |6]..T.LDR R1,TAS|
00000b90  4b 0d 06 5e 19 53 57 49  20 22 58 57 69 6d 70 5f  |K..^.SWI "XWimp_|
00000ba0  43 6c 6f 73 65 44 6f 77  6e 22 0d 06 68 05 3a 0d  |CloseDown"..h.:.|
00000bb0  06 72 1a 4c 44 4d 46 44  20 52 31 33 21 2c 7b 52  |.r.LDMFD R13!,{R|
00000bc0  30 2d 52 31 31 2c 50 43  7d 0d 06 7c 05 3a 0d 06  |0-R11,PC}..|.:..|
00000bd0  86 0e 2e 70 6f 6c 6c 5f  77 69 6d 70 0d 06 90 1b  |...poll_wimp....|
00000be0  53 54 4d 46 44 20 52 31  33 21 2c 7b 52 30 2d 52  |STMFD R13!,{R0-R|
00000bf0  31 31 2c 52 31 34 7d 0d  06 9a 05 3a 0d 06 a4 0e  |11,R14}....:....|
00000c00  2e 70 6f 6c 6c 5f 6c 6f  6f 70 0d 06 ae 1f 53 57  |.poll_loop....SW|
00000c10  49 20 22 58 4f 53 5f 52  65 61 64 4d 6f 6e 6f 74  |I "XOS_ReadMonot|
00000c20  6f 6e 69 63 54 69 6d 65  22 0d 06 b8 12 41 44 44  |onicTime"....ADD|
00000c30  20 52 31 31 2c 52 30 2c  23 31 35 0d 06 c2 0d 4d  | R11,R0,#15....M|
00000c40  4f 56 20 52 30 2c 23 30  0d 06 cc 0e 4d 4f 56 20  |OV R0,#0....MOV |
00000c50  52 31 2c 52 31 32 0d 06  d6 0e 4d 4f 56 20 52 32  |R1,R12....MOV R2|
00000c60  2c 52 31 31 0d 06 e0 18  53 57 49 20 22 58 57 69  |,R11....SWI "XWi|
00000c70  6d 70 5f 50 6f 6c 6c 49  64 6c 65 22 0d 06 ea 05  |mp_PollIdle"....|
00000c80  3a 0d 06 f4 0d 43 4d 50  20 52 30 2c 23 36 0d 06  |:....CMP R0,#6..|
00000c90  fe 18 42 4c 45 51 20 6d  6f 75 73 65 63 6c 69 63  |..BLEQ mouseclic|
00000ca0  6b 5f 77 69 6d 70 0d 07  08 05 3a 0d 07 12 0e 43  |k_wimp....:....C|
00000cb0  4d 50 20 52 30 2c 23 31  37 0d 07 1c 15 42 4c 45  |MP R0,#17....BLE|
00000cc0  51 20 6d 65 73 73 61 67  65 5f 77 69 6d 70 0d 07  |Q message_wimp..|
00000cd0  26 0e 43 4d 50 20 52 31  2c 23 31 38 0d 07 30 15  |&.CMP R1,#18..0.|
00000ce0  42 4c 45 51 20 6d 65 73  73 61 67 65 5f 77 69 6d  |BLEQ message_wim|
00000cf0  70 0d 07 3a 05 3a 0d 07  44 0f 42 20 70 6f 6c 6c  |p..:.:..D.B poll|
00000d00  5f 6c 6f 6f 70 0d 07 4e  05 3a 0d 07 58 13 2e 70  |_loop..N.:..X..p|
00000d10  6f 6c 6c 5f 6c 6f 6f 70  5f 65 78 69 74 0d 07 62  |oll_loop_exit..b|
00000d20  1a 4c 44 4d 46 44 20 52  31 33 21 2c 7b 52 30 2d  |.LDMFD R13!,{R0-|
00000d30  52 31 31 2c 50 43 7d 0d  07 6c 05 3a 0d 07 76 11  |R11,PC}..l.:..v.|
00000d40  2e 6d 65 73 73 61 67 65  5f 77 69 6d 70 0d 07 80  |.message_wimp...|
00000d50  1b 53 54 4d 46 44 20 52  31 33 21 2c 7b 52 30 2d  |.STMFD R13!,{R0-|
00000d60  52 31 31 2c 52 31 34 7d  0d 07 8a 05 3a 0d 07 94  |R11,R14}....:...|
00000d70  14 4c 44 52 20 52 30 2c  5b 52 31 32 2c 23 31 36  |.LDR R0,[R12,#16|
00000d80  5d 0d 07 9e 05 3a 0d 07  a8 0d 43 4d 50 20 52 30  |]....:....CMP R0|
00000d90  2c 23 30 0d 07 b2 1d 4c  44 4d 45 51 46 44 20 52  |,#0....LDMEQFD R|
00000da0  31 33 21 2c 7b 52 30 2d  52 31 31 2c 52 31 34 7d  |13!,{R0-R11,R14}|
00000db0  0d 07 bc 16 42 45 51 20  70 6f 6c 6c 5f 6c 6f 6f  |....BEQ poll_loo|
00000dc0  70 5f 65 78 69 74 0d 07  c6 05 3a 0d 07 d0 1a 4c  |p_exit....:....L|
00000dd0  44 4d 46 44 20 52 31 33  21 2c 7b 52 30 2d 52 31  |DMFD R13!,{R0-R1|
00000de0  31 2c 50 43 7d 0d 07 da  05 3a 0d 07 e4 14 2e 6d  |1,PC}....:.....m|
00000df0  6f 75 73 65 63 6c 69 63  6b 5f 77 69 6d 70 0d 07  |ouseclick_wimp..|
00000e00  ee 1b 53 54 4d 46 44 20  52 31 33 21 2c 7b 52 30  |..STMFD R13!,{R0|
00000e10  2d 52 31 31 2c 52 31 34  7d 0d 07 f8 05 3a 0d 08  |-R11,R14}....:..|
00000e20  02 13 4c 44 52 20 52 30  2c 5b 52 31 32 2c 23 38  |..LDR R0,[R12,#8|
00000e30  5d 0d 08 0c 05 3a 0d 08  16 10 43 4d 50 20 52 30  |]....:....CMP R0|
00000e40  2c 23 25 31 30 30 0d 08  20 15 41 44 52 45 51 20  |,#%100.. .ADREQ |
00000e50  52 30 2c 44 69 73 6d 6f  75 6e 74 0d 08 2a 13 53  |R0,Dismount..*.S|
00000e60  57 49 45 51 20 22 58 4f  53 5f 43 4c 49 22 0d 08  |WIEQ "XOS_CLI"..|
00000e70  34 05 3a 0d 08 3e 10 43  4d 50 20 52 30 2c 23 25  |4.:..>.CMP R0,#%|
00000e80  30 30 31 0d 08 48 12 41  44 52 45 51 20 52 30 2c  |001..H.ADREQ R0,|
00000e90  4d 6f 75 6e 74 0d 08 52  13 53 57 49 45 51 20 22  |Mount..R.SWIEQ "|
00000ea0  58 4f 53 5f 43 4c 49 22  0d 08 5c 05 3a 0d 08 66  |XOS_CLI"..\.:..f|
00000eb0  14 2e 65 78 69 74 5f 6d  6f 75 73 65 63 6c 69 63  |..exit_mouseclic|
00000ec0  6b 0d 08 70 1a 4c 44 4d  46 44 20 52 31 33 21 2c  |k..p.LDMFD R13!,|
00000ed0  7b 52 30 2d 52 31 31 2c  50 43 7d 0d 08 7a 05 3a  |{R0-R11,PC}..z.:|
00000ee0  0d 08 84 24 2e 44 69 73  6d 6f 75 6e 74 20 45 51  |...$.Dismount EQ|
00000ef0  55 53 20 22 41 44 46 53  3a 44 69 73 6d 6f 75 6e  |US "ADFS:Dismoun|
00000f00  74 20 30 22 0d 08 8e 14  20 20 20 20 20 20 20 20  |t 0"....        |
00000f10  20 20 45 51 55 42 20 30  0d 08 98 21 2e 4d 6f 75  |  EQUB 0...!.Mou|
00000f20  6e 74 20 20 20 20 45 51  55 53 20 22 41 44 46 53  |nt    EQUS "ADFS|
00000f30  3a 4d 6f 75 6e 74 20 30  22 0d 08 a2 14 20 20 20  |:Mount 0"....   |
00000f40  20 20 20 20 20 20 20 45  51 55 42 20 30 0d 08 ac  |       EQUB 0...|
00000f50  13 20 20 20 20 20 20 20  20 20 20 41 4c 49 47 4e  |.          ALIGN|
00000f60  0d 08 b6 05 3a 0d 08 c0  05 5d 0d 08 ca 05 ed 0d  |....:....]......|
00000f70  08 d4 07 d9 23 30 0d 08  de 2c c8 99 20 22 4f 53  |....#0...,.. "OS|
00000f80  5f 46 69 6c 65 22 2c 31  30 2c 66 69 6c 65 6e 61  |_File",10,filena|
00000f90  6d 65 24 2c 26 46 46 41  2c 2c 63 6f 64 65 25 2c  |me$,&FFA,,code%,|
00000fa0  4f 25 0d 08 e8 05 e0 0d  ff                       |O%.......|
00000fa9